Commit Graph

15 Commits

Author SHA1 Message Date
Ken 6538d0aa25 feat: visual artifacts context file with 5 example patterns for AI-generated visuals 2026-05-26 20:13:31 +00:00
Ken 0751fbfa0a feat: visual artifact runtime for AI-generated inline visualizations
- Add bundle/apps/runtime.html: universal runtime that executes
  AI-generated visualization code in a sandboxed context
- Pre-loads CDN libraries: Tabler CSS, Leaflet CSS+JS, Chart.js v4,
  React 19 UMD, ReactDOM 19 UMD, Babel standalone 7
- Implements mcpBridge with JSON-RPC 2.0 protocol:
  sendToHost, callTool (with UUID ids + Promise), sendMessage, resize
- executeVisual detects JSX/HTML/plain-JS paths via regex
- Auto-resize via requestAnimationFrame + scrollHeight + 32, capped at 800
- Initial ui/initialize handshake with runtime='visual-artifact' v1.0.0
- Listens for 'render' and legacy 'tool/input' methods
- Add tests/test_runtime_html.py: 61 tests covering all spec requirements
2026-05-26 20:08:22 +00:00
Ken 9367d2b957 feat: context files for A2UI format, artifact conventions, researcher instructions 2026-05-26 20:03:53 +00:00
Ken 9f5a407773 feat: researcher agent with playwright-cli, A2UI, inline visuals, artifact conventions
- Add bundle/agents/researcher.md with full YAML frontmatter:
  - meta.name: researcher
  - meta.description with WHY/WHEN/WHAT/HOW pattern and 4 delegation examples
    (hybrid cars near Woodinville, project management tools, Seattle-Tokyo flights,
    mechanical keyboards for programming)
  - model_role: [research, general]
- Body sections: Browser Control with 11-command playwright-cli table, Snapshot
  Refs subsection, Best Practices, A2UI @mention, Artifacts @mention, Inline Visuals
  @mention to visual-artifacts.md with proactive visual generation guidance, and
  6-step Research Workflow (Understand → Plan → Browse/Extract → Present →
  Generate Artifacts → Iterate)
- Add tests/test_researcher_agent.sh with 53 checks covering all spec requirements

Co-authored-by: Amplifier <amplifier@microsoft.com>
2026-05-26 20:00:03 +00:00
Ken 3a76e52a5d feat: thin root bundle including foundation 2026-05-26 19:54:18 +00:00
Ken 5069676914 feat: global styles with Tabler dark theme, 3-column layout 2026-05-26 19:08:49 +00:00
Ken 5ba367af2f fix: code review fixes — auth gap, path traversal, dead code, health-check timeout
- backend/app.py: add Depends(_require_auth) to /api/copilotkit endpoint (critical
  security fix — endpoint was fully unprotected; now requires valid session cookie)
- backend/app.py: move 'from ag_ui.core import RunStartedEvent' from inline function
  body to top-level imports (style consistency)
- backend/auth.py: remove dead AUTH_PASS_HASH module-level constant (verify_password
  already reads from os.environ at call time; the cached binding was unused dead code)
- backend/artifacts.py: add path traversal guards to list_artifacts, get_artifact,
  and save_artifact — resolve paths and verify they stay within ARTIFACTS_DIR
- entrypoint.sh: health-check loop now sets READY flag and exits 1 if amplifierd
  fails to start within 30s (previously fell through silently, causing 502s)
- tests/test_app.py: add TestCopilotKitAuth — verifies unauthenticated requests to
  /api/copilotkit return 401; includes note explaining why streaming is not tested here
- tests/test_structure.sh: update to reflect that Dockerfile and entrypoint.sh now
  exist (created in Tasks 7+8); convert absent-checks to presence-checks

Co-authored-by: Amplifier <amplifier@anthropic.com>
2026-05-26 18:52:12 +00:00
Ken 6be77d1a56 feat: entrypoint.sh starting all services 2026-05-26 18:43:40 +00:00
Ken 2838cff67c feat: Dockerfile with all-in-one container 2026-05-26 18:41:33 +00:00
Ken 9103b3ecf5 feat: FastAPI app with auth, AG-UI endpoint, session proxy, artifact API 2026-05-26 18:38:20 +00:00
Ken 026825ce02 feat: AG-UI adapter translating amplifierd SSE events to AG-UI protocol (with MCP App metadata passthrough) 2026-05-26 18:29:26 +00:00
Ken 8e065266ea feat: artifact storage module with per-session CRUD 2026-05-26 18:23:44 +00:00
Ken 7acad01047 feat: auth module with bcrypt password verification and session tokens 2026-05-26 18:21:18 +00:00
Ken 9b941d173d feat: add backend pyproject.toml with dependencies 2026-05-26 18:18:38 +00:00
Ken 04ae443207 chore: remove old car-help files, prepare new structure 2026-05-26 18:16:07 +00:00