updates 33.1 139

This commit is contained in:
2026-08-10 09:19:19 -03:00
parent 9a6337e493
commit 910927993e
49 changed files with 1876 additions and 341 deletions

View File

@@ -6,6 +6,21 @@
<title>datagen — Test Data Generator</title>
<!-- Palette, fonts and the theme switcher. The :root block that used to sit
here was one of eight copies that had already drifted apart. -->
<!-- theme:baked-defaults — generated by common/theme/bake.py; do not edit -->
<style>
:root {
--amber: #d4a574;
--amber-dim: #b8956a;
--bg: #0d0d0f;
--border: #2e2e38;
--dim: #555568;
--font-ui: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
--muted: #8888a0;
--surface: #16161a;
--text: #e8e8f0;
}
</style>
<!-- /theme:baked-defaults -->
<link rel="stylesheet" href="/theme.css">
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }

View File

@@ -5,6 +5,21 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>graphgen — Schema Explorer</title>
<!-- Palette, fonts and the theme switcher — see common/theme/. -->
<!-- theme:baked-defaults — generated by common/theme/bake.py; do not edit -->
<style>
:root {
--amber: #d4a574;
--amber-dim: #b8956a;
--bg: #0d0d0f;
--border: #2e2e38;
--dim: #555568;
--font-ui: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
--muted: #8888a0;
--surface: #16161a;
--text: #e8e8f0;
}
</style>
<!-- /theme:baked-defaults -->
<link rel="stylesheet" href="/theme.css">
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pawprint Wrapper - Demo</title>
<title>Sidebar Wrapper - Demo</title>
<link rel="stylesheet" href="sidebar.css">
<style>
/* Demo page styles */
@@ -19,7 +19,7 @@
transition: margin-right 0.3s ease;
}
#pawprint-sidebar.expanded ~ #demo-content {
#spr-sidebar.expanded ~ #demo-content {
margin-right: var(--sidebar-width);
}
@@ -105,14 +105,14 @@
<div id="demo-content">
<div class="demo-header">
<h1>🐾 Pawprint Wrapper</h1>
<p>Development tools sidebar for any pawprint-managed nest</p>
<h1>Sidebar Wrapper</h1>
<p>Development tools sidebar for any soleprint-managed room</p>
</div>
<div class="demo-section">
<h2>👋 Quick Start</h2>
<p>
This is a standalone demo of the Pawprint Wrapper sidebar.
This is a standalone demo of the sidebar wrapper.
Click the toggle button on the right edge of the screen, or press
<span class="kbd">Ctrl</span> + <span class="kbd">Shift</span> + <span class="kbd">P</span>
to open the sidebar.

View File

@@ -4,6 +4,37 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>shuntgen</title>
<!-- theme:baked-defaults — generated by common/theme/bake.py; do not edit -->
<style>
:root {
--accent: #d4a574;
--accent-dim: #b8956a;
--accent-text: #e0b98d;
--bg: #0d0d0f;
--bg-2: #16161a;
--border: #2e2e38;
--dim: #555568;
--font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
--font-ui: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
--hairline: 1px;
--label-spacing: 0.04em;
--muted: #8888a0;
--radius: 6px;
--radius-lg: 8px;
--radius-sm: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-6: 24px;
--status-error: #f06565;
--status-info: #4f9cf9;
--status-ok: #3ecf8e;
--status-warn: #f5a623;
--surface: #16161a;
--text: #e8e8f0;
}
</style>
<!-- /theme:baked-defaults -->
<link rel="stylesheet" href="/theme.css">
<style>
* { box-sizing: border-box; }

View File

@@ -1,6 +0,0 @@
# Contract HTTP Tests - Environment Configuration
#
# Get API key: ./get-api-key.sh --docker core_nest_db
CONTRACT_TEST_URL=http://backend:8000
CONTRACT_TEST_API_KEY=118b1fcca089496919f0d82df2c4c89d35126793dfc3ea645366ae09d931f49f

View File

@@ -0,0 +1,19 @@
# Contract test target. Copy to .env and fill in — .env is gitignored.
#
# cp .env.example .env
#
# Environment variables override this file (see config.py), so CI can set these
# without a file at all:
#
# CONTRACT_TEST_URL=https://staging.example.com python -m tester run
#
# A real key was committed here once. Keep credentials in .env or the
# environment; environments.json is tracked and must stay empty of them.
CONTRACT_TEST_URL=http://localhost:8000
# One of: bearer (default) | api-key | none
CONTRACT_TEST_AUTH_TYPE=none
# CONTRACT_TEST_API_KEY=
# CONTRACT_TEST_TOKEN=

View File

@@ -154,11 +154,11 @@ ward/tools/tester/
If running standalone:
```bash
cd /home/mariano/wdir/ama/pawprint/ward/tools/tester
cd soleprint/station/tools/tester
python -m uvicorn main:app --reload --port 12003
```
Or if integrated with ward:
Or if integrated with station:
```bash
# Ward service should pick it up automatically
```

View File

@@ -16,7 +16,9 @@ set -e
# Defaults
DB_HOST="${DB_HOST:-localhost}"
DB_PORT="${DB_PORT:-5432}"
DB_NAME="${DB_NAME:-amarback}"
# No default database name: this ships in an open framework, and a client's
# schema name is not a sensible fallback. Set DB_NAME or pass --name.
DB_NAME="${DB_NAME:-}"
DB_USER="${DB_USER:-postgres}"
DB_PASSWORD="${DB_PASSWORD:-}"
DOCKER_CONTAINER=""
@@ -25,7 +27,7 @@ DOCKER_CONTAINER=""
while [[ $# -gt 0 ]]; do
case $1 in
--docker)
DOCKER_CONTAINER="${2:-core_nest_db}"
DOCKER_CONTAINER="${2:-}"
shift 2 || shift 1
;;
--host)
@@ -52,10 +54,10 @@ while [[ $# -gt 0 ]]; do
echo "Usage: $0 [options]"
echo ""
echo "Options:"
echo " --docker [container] Query via docker exec (default: core_nest_db)"
echo " --docker <container> Query via docker exec (container name required)"
echo " --host HOST Database host"
echo " --port PORT Database port (default: 5432)"
echo " --name NAME Database name (default: amarback)"
echo " --name NAME Database name (required, or set DB_NAME)"
echo " --user USER Database user (default: postgres)"
echo " --password PASS Database password"
echo ""
@@ -69,6 +71,13 @@ while [[ $# -gt 0 ]]; do
esac
done
if [[ -z "$DB_NAME" ]]; then
echo "no database name — pass --name NAME or set DB_NAME" >&2
echo "(there is no default: this ships in an open framework, and a client's" >&2
echo " schema name is not a sensible fallback)" >&2
exit 1
fi
QUERY="SELECT key FROM common_apikey WHERE is_active=true LIMIT 1;"
if [[ -n "$DOCKER_CONTAINER" ]]; then

View File

@@ -6,7 +6,6 @@ Tests basic HTTP connectivity and authentication flow.
"""
from ..base import ContractTestCase
from ..endpoints import Endpoints
class TestHealth(ContractTestCase):