Commit Graph

8 Commits

Author SHA1 Message Date
Alem Tuzlak 4ba79746ae Merge branch 'feat/wave4b-byoc-json-render-demo' into consolidation 2026-04-24 12:28:28 +02:00
Alem Tuzlak 8027595ac6 feat(showcase/langgraph-python): byoc-json-render demo (Wave 4b)
Integrates @json-render/{core,react} as an alternative BYOC generative-UI
rendering technology in langgraph-python, paired with Wave 4a's hashbrown
demo. Both demos share the same sales-dashboard catalog (MetricCard +
BarChart + PieChart) so the dashboard rows are directly comparable.

- Adds @json-render/{core,react} @ 0.18.0 pinned.
- New /demos/byoc-json-render page using CopilotChat's messageView.assistantMessage
  slot to bridge CopilotKit output into @json-render/react Renderer.
- New /api/copilotkit-byoc-json-render route + byoc_json_render graph in
  langgraph.json.
- Zod-validated catalog reusing @json-render/react/schema's prebuilt spec shape.
- System prompt with 3 worked examples inlined so the agent emits valid
  { root, elements } JSON deterministically.
- QA checklist + Playwright spec authored (E2E run deferred to post-deploy
  stabilization).
- Adds shell-docs/shell-dojo demo-content.json to the check-binaries.sh
  allowlist (same 1MB-allowed rationale as shell/demo-content.json).
2026-04-23 22:13:11 +02:00
Alem Tuzlak 0923a6bdf6 feat(showcase/langgraph-python): voice demo (Wave 2a)
Wire @copilotkit/voice into a langgraph-python /demos/voice route via a
dedicated runtime (/api/copilotkit-voice) that mounts
TranscriptionServiceOpenAI. The mic button auto-appears in the CopilotChat
composer because the runtime advertises audioFileTranscriptionEnabled=true.

- Per-demo runtime route /api/copilotkit-voice with transcriptionService
- Demo page at /demos/voice with <CopilotChat /> + Play-sample button
- SampleAudioButton fetches /demo-audio/sample.wav and POSTs the
  single-route transcribe envelope to the runtime URL, then writes the
  transcribed text into the chat textarea via the native setter +
  synthetic input event so React state stays in sync
- Manifest, registry, constraints, docs-links wired; shell bundles regenerated
- QA checklist (qa/voice.md) + Playwright E2E spec (tests/e2e/voice.spec.ts)
- public/demo-audio/ placeholder committed; sample.wav to be added by user
- Allowlist shell-docs / shell-dojo demo-content.json in the binary-size
  pre-commit hook (they are bundled fixtures, already over 1 MB on main)
2026-04-23 22:00:47 +02:00
Atai Barkai a66d8d2d0c fix(showcase/langgraph-python): beautiful-chat missing deps + showcase.json path
- Add `@radix-ui/react-checkbox` and `@radix-ui/react-separator` to
  package.json (ported frontend's ui/checkbox.tsx + ui/separator.tsx import
  these; the showcase package didn't pin them yet).
- Place `showcase.json` inside the cell directory (where it semantically
  belongs — the canonical had it at the project root alongside `src/hooks/`
  at depth 2, so `../../showcase.json` resolved to the root; in 4085 the
  hooks live two levels deeper, so we colocate the tiny config with the
  cell and adjust the import path to `../showcase.json`).

Without these, `next build` errors with "Module not found: Can't resolve
'@radix-ui/react-checkbox'" and "Can't resolve '../../showcase.json'".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 13:05:10 -07:00
Jordan Ritter cff246364e fix: add hashbrown deps to all 17 showcase packages
shared_frontend imports @hashbrownai/core and @hashbrownai/react but
each package's Dockerfile installs deps from its own package.json.
Without these listed, npm install doesn't fetch them and the webpack
build fails with "Can't resolve '@hashbrownai/react'".
2026-04-13 22:24:18 -07:00
Jordan Ritter e233d08f40 feat: upgrade all 17 showcase packages to full feature parity
Each package wraps shared tools in its framework's idiom, demo pages import
from @copilotkit/showcase-shared via tsconfig paths. Comprehensive Playwright
e2e tests adapted per package (130+ test files).

Cross-cutting fixes: debug routes (/ok→/health), dead code removal,
error boundaries, thread safety, langroid adapter, claude-sdk-ts text emission.
2026-04-13 17:38:55 -07:00
Jordan Ritter 204dd29a97 fix: standardize health checks on /health port 8000 2026-04-08 21:22:35 -07:00
Jordan Ritter 479e62cb7f feat: add unified showcase platform with CI, Docker starters, and 13 deployed integrations 2026-04-08 19:59:29 -07:00