11 Commits

Author SHA1 Message Date
Ken c21e4e7f7b fix: browser integration for AI research agent
Deploy Research Workbench / deploy (push) Failing after 10m12s
- Dockerfile: Install Google Chrome stable instead of Playwright npm package
  (playwright-cli defaults to /opt/google/chrome/chrome path). Removed unused
  Playwright npm package, kept Playwright Python for page automation.

- bundle/bundle.md: Fix orchestrator config override with correct key path
  (session.orchestrator.config.extended_thinking: false) to properly override
  foundation's extended_thinking: true default, which was causing empty
  AI text responses.

- bundle/agents/researcher.md: Add strong pre-installed environment guardrail
  telling agent NOT to install packages. Add explicit bash() tool call examples
  showing correct playwright-cli syntax. Fix snapshot command (removed non-existent
  -ic flag), change 'type' to 'fill' for form field syntax.

- bundle/context/researcher-instructions.md: Enrich from thin pointer to
  concrete examples with correct bash() wrapping and actual playwright-cli
  commands. Add 'do NOT install' guardrail.

Validated: Agent now opens Chrome browser during research queries, noVNC panel
shows live browser activity, AI generates text responses properly.

Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
2026-05-27 05:11:42 +00:00
Ken 11b3bc2bbf fix: chat functionality and extended thinking handling
Deploy Research Workbench / deploy (push) Failing after 14m1s
- bundle/bundle.md: Add provider-anthropic with source URL and orchestrator config override
  to disable extended_thinking (foundation enables it by default, causes empty text
  responses for simple queries)
- Dockerfile: Add amplifier-module-provider-anthropic pip install for container
- backend/agui_adapter.py: Fix thinking block handling and empty text block rendering
  - Thinking blocks no longer fall through to text handler
  - Text blocks only emit START when actual content arrives
  - Handle amplifierd wire format (block_index/block_type, complete text in content_block:end)
- frontend/src/hooks/useChat.ts: Reset assistantId on TEXT_MESSAGE_END to prevent stale
  message IDs across turns
- tests/test_agui_adapter.py: Add extended thinking test coverage

Chat functionality now works end-to-end. Verified: login -> create session -> send message -> receive AI response visible in chat UI.

Generated with Amplifier
2026-05-27 01:42:52 +00:00
Ken 2c3cfdbedc fix: resolve code review issues — schema mismatch, test fixes, pop-out render
- Fix a2ui-format.md schema to match renderer: rename 'options' → 'filters' in
  filters block, replace 'active: boolean' with 'value: string' in filter options,
  update form select options from string[] to {label, value}[] objects (Critical #1)
- Fix 3 failing tests in test_researcher_agent.sh to use @mention paths without .md
  extension (Important #2)
- Complete pop-out feature in VisualBlock.handlePopOut() by posting render message
  to popup window after 500ms initialization delay (Important #3)
- Update test_context_files.sh to match new a2ui-format.md schema (filters array
  key check, value field check)
2026-05-26 20:54:58 +00:00
Ken 74b2861db5 feat: complete bundle with visual artifact runtime and context 2026-05-26 20:16:02 +00:00
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 922e28a196 feat: research-workbench behavior wiring researcher agent 2026-05-26 19:55:15 +00:00
Ken 3a76e52a5d feat: thin root bundle including foundation 2026-05-26 19:54:18 +00:00
Ken 04ae443207 chore: remove old car-help files, prepare new structure 2026-05-26 18:16:07 +00:00