Commit Graph

489 Commits

Author SHA1 Message Date
Alem Tuzlak 30a112a940 feat(showcase-agno): add agent-config demo with per-request Agno agent factory 2026-04-29 11:05:55 +02:00
Alem Tuzlak e4afffd4fd feat(showcase): port hitl-in-chat-booking, mcp-apps, open-gen-ui to built-in-agent
- hitl-in-chat-booking: frontend useHumanInTheLoop with inline time-picker
- mcp-apps: separate route with mcpApps middleware → Excalidraw MCP server
- open-gen-ui: separate route with openGenerativeUI middleware + design skill
2026-04-29 11:05:34 +02:00
Alem Tuzlak 1eb20c94b6 feat(langroid): register new demos and features in manifest 2026-04-29 11:04:07 +02:00
Alem Tuzlak a6bb9afbfa feat(showcase-agno): add open-gen-ui and open-gen-ui-advanced demos 2026-04-29 11:03:47 +02:00
Alem Tuzlak eb3374717d feat(langroid): add open-gen-ui, open-gen-ui-advanced, tool-rendering-reasoning-chain demos 2026-04-29 11:03:24 +02:00
Alem Tuzlak 960dbb9428 feat(claude-sdk-python): add reasoning + tool-rendering-reasoning-chain demos 2026-04-29 11:02:13 +02:00
Alem Tuzlak e96471bd3d feat: port 7 showcase demos to mastra integration
Ports beautiful-chat, byoc-hashbrown, byoc-json-render, multimodal, open-gen-ui, open-gen-ui-advanced, and voice from the langgraph-python reference into the mastra integration.

Each frontend page is reused as-is. Backends use existing weatherAgent for cells where the UI shape is enforced on the frontend (byoc-*, open-gen-ui-*, beautiful-chat). Multimodal gets a dedicated vision-capable Mastra agent (gpt-4o) registered in the Mastra config. Voice wires the V2 runtime directly with TranscriptionServiceOpenAI so OPENAI_API_KEY-missing returns a clean 401.

Manifest features and demos lists updated. Frontend/backend agent name aliases aligned with each page's <CopilotKit agent=...> prop.
2026-04-29 11:01:35 +02:00
Alem Tuzlak e839f007eb feat(showcase-agno): add mcp-apps demo via runtime mcpApps.servers 2026-04-29 11:01:06 +02:00
Alem Tuzlak e18ee1d253 feat(showcase): port 8 chat-UI features to built-in-agent
Adds beautiful-chat, cli-start (manifest), prebuilt-sidebar, prebuilt-popup,
chat-slots, chat-customization-css, headless-simple, and headless-complete
demos to the built-in-agent integration. All cells route through the single
in-process /api/copilotkit endpoint and target the 'default' agent.

The headless-complete tool renderers are adapted to the built-in-agent's
existing 'weather' and 'haiku' server tools, with HighlightNote retained as
a frontend-only useComponent example. Beautiful-chat is a simplified
two-pane polished starter rather than the full 4084 reference clone, since
the built-in-agent runner is intentionally minimal.
2026-04-29 10:56:12 +02:00
Alem Tuzlak 00400f8380 feat(showcase/spring-ai): add cli-start, gen-ui-tool-based, tool-rendering catchalls, mcp-apps, hitl-in-chat-booking, byoc-hashbrown to manifest 2026-04-29 10:55:55 +02:00
Alem Tuzlak ba7a806a42 feat(llamaindex): wire mcp-apps README and refresh parity notes 2026-04-29 10:54:35 +02:00
Alem Tuzlak 7149fd7621 feat(showcase/spring-ai): port byoc-hashbrown demo with hashbrown UI kit renderer 2026-04-29 10:54:27 +02:00
Alem Tuzlak ce72cee7d8 feat(showcase-crewai): wire cli-start, gen-ui-tool-based, tool-rendering catchall, hitl-in-chat-booking
Adds 5 missing showcase features to crewai-crews manifest:

- cli-start: informational entry with starter clone command
- gen-ui-tool-based: uses pre-existing demo page (haiku via useFrontendTool)
- tool-rendering-default-catchall: built-in DefaultToolCallRenderer wildcard
- tool-rendering-custom-catchall: branded wildcard via useDefaultRenderTool
- hitl-in-chat-booking: alias to hitl-in-chat for booking flow

All demo page stubs already exist on disk and the relevant agent names are
already registered in src/app/api/copilotkit/route.ts; this commit only
surfaces them through manifest features + demo entries.

BLOCKED (omitted, no LangGraph interrupt or MCP runtime in CrewAI):
- gen-ui-interrupt
- interrupt-headless
- mcp-apps
2026-04-29 10:53:49 +02:00
Alem Tuzlak 96a66a5aa5 feat(showcase/agno): declare cli-start, gen-ui-tool-based, hitl-in-chat-booking demos
Adds three feature-matrix entries to the Agno integration manifest:

- `cli-start` — informational copy-paste starter command card (no route).
- `gen-ui-tool-based` — frontend-only haiku-renderer demo that already ships
  in `src/app/demos/gen-ui-tool-based/`; the manifest entry plus the
  existing alias in `src/app/api/copilotkit/route.ts` (mainAgentNames)
  surface it in the showcase.
- `hitl-in-chat-booking` — second cell for the booking flavor of the
  time-picker HITL surface; reuses `src/app/demos/hitl-in-chat/` files and
  the main agent's `book_call` external-execution tool.

PARITY_NOTES.md updated with a fourth-pass entry summarising the additions.

Five sibling features (`beautiful-chat`, `gen-ui-interrupt`,
`interrupt-headless`, `declarative-gen-ui`, `a2ui-fixed-schema`) remain
deferred for the reasons already documented in PARITY_NOTES.md — Agno's
AGUI adapter has no interrupt primitive, and the dedicated combined
runtimes (openGenerativeUI + a2ui injection + mcpApps) and the
CopilotKit-middleware-driven catalog injection that the langgraph-python
reference relies on have not been wired into Agno yet.
2026-04-29 10:53:44 +02:00
Alem Tuzlak 3ffc66b587 feat(llamaindex): add beautiful-chat polished starter demo 2026-04-29 10:53:41 +02:00
Alem Tuzlak 34afaea29a feat(showcase/ag2): add headless-complete demo with dedicated AG2 sub-app 2026-04-29 10:53:10 +02:00
Alem Tuzlak 85e270615c feat(showcase/langroid): port hitl-in-chat + manifest entries for cli-start, gen-ui-tool-based
Adds the in-chat HITL demo (frontend-only useHumanInTheLoop with a
book_call tool and time-picker card) and the manifest entries that were
missing for cli-start, gen-ui-tool-based, hitl-in-chat, and
hitl-in-chat-booking.

Documents in PARITY_NOTES.md why mcp-apps is blocked on Langroid: the
runtime-level mcpApps middleware injects tools that the langroid custom
AG-UI adapter does not consume, since it builds a static tool list
against ALL_TOOLS.
2026-04-29 10:53:01 +02:00
Alem Tuzlak 164233cc16 feat(showcase/ag2): add cli-start manifest entry and gen-ui-tool-based listing 2026-04-29 10:53:00 +02:00
Alem Tuzlak 6404f57a28 feat: declare hitl-in-chat, hitl-in-chat-booking, mcp-apps in google-adk manifest 2026-04-29 10:52:53 +02:00
Alem Tuzlak bc5c0980ab feat: port mcp-apps to google-adk
Adds a dedicated CopilotRuntime route configured with mcpApps.servers pointing at the public Excalidraw MCP server, plus a no-tools ADK agent. The MCP middleware injects the remote tools and emits activity events that CopilotKit's built-in MCPAppsActivityRenderer renders inline as a sandboxed iframe.
2026-04-29 10:52:45 +02:00
Alem Tuzlak b0acff0eec feat: port hitl-in-chat (book_call) to google-adk
Frontend-tool HITL via useHumanInTheLoop with an in-chat time-picker. Adds a dedicated ADK agent that prompts the model to call the frontend-defined book_call tool; the picker card is rendered inline by useHumanInTheLoop and resolves with the chosen slot or a cancellation.
2026-04-29 10:52:34 +02:00
Alem Tuzlak 1d699bb62c feat(llamaindex): add gen-ui-tool-based demo with chart components 2026-04-29 10:52:16 +02:00
Alem Tuzlak 7c5f32ad8b feat(showcase/pydantic-ai): port gen-ui-tool-based chart demo
Wires a dedicated chart-viz agent at /gen_ui_tool_based and updates the
demo page to mirror langgraph-python's tool-based generative UI pattern
(useComponent + render_bar_chart / render_pie_chart). Other reasoning
and interrupt-dependent demos remain framework-blocked; PARITY_NOTES
extended to cover hitl-in-chat-booking under the existing interrupt
skip.
2026-04-29 10:51:50 +02:00
Alem Tuzlak 3f3f2cac7b feat(showcase/spring-ai): port gen-ui-tool-based demo with bar/pie chart components 2026-04-29 10:51:46 +02:00
Alem Tuzlak d9b25df39e feat(showcase-ms-agent-dotnet): add hitl-in-chat-booking demo 2026-04-29 10:51:36 +02:00
Alem Tuzlak cfc3678e15 feat(showcase): surface gen-ui-tool-based + tool-rendering catch-alls in strands manifest
The strands showcase already shipped frontend pages and route registrations
for gen-ui-tool-based, tool-rendering-default-catchall, and
tool-rendering-custom-catchall, but the manifest never advertised them so
the harness/dojo did not surface them. Add the four missing manifest rows
(plus the hitl-in-chat-booking alias that points at the existing hitl-in-chat
route) so feature-fill catches up to the langgraph-python topology.

Three other features in the fill set (gen-ui-interrupt, interrupt-headless,
mcp-apps) require backend interrupt() / MCP middleware that strands does
not expose; they remain skipped per PARITY_NOTES.md. beautiful-chat is a
much larger surface (dozens of sub-components plus a dedicated runtime
combining openGenerativeUI + a2ui + mcpApps) and stays deferred per the
existing parity note.
2026-04-29 10:51:31 +02:00
Alem Tuzlak 4ae9324004 feat: wire gen-ui-tool-based and hitl-in-chat into ms-agent-python runtime
Mount /gen-ui-tool-based and /hitl-in-chat endpoints in agent_server.py,
register the corresponding agents in the Next.js runtime route, and add
the three new feature ids (gen-ui-tool-based, hitl-in-chat,
hitl-in-chat-booking) plus their demo entries to manifest.yaml.
2026-04-29 10:51:30 +02:00
Alem Tuzlak bfb207dd79 feat: add hitl-in-chat and hitl-in-chat-booking demos to ms-agent-python
Port the in-chat HITL pattern (useHumanInTheLoop) from langgraph-python.
The book_call tool is defined entirely on the frontend; the MS Agent
Framework agent has tools=[] and just calls it by name. The booking-flow
alias reuses the same backend agent and shares the time-picker component.
2026-04-29 10:51:19 +02:00
Alem Tuzlak 441af62350 feat(showcase-ms-agent-dotnet): add hitl-in-chat demo 2026-04-29 10:51:16 +02:00
Alem Tuzlak c74981245a feat: port gen-ui-tool-based to ms-agent-python
Replace haiku stub with bar/pie chart variant ported from langgraph-python.
Frontend registers render_bar_chart and render_pie_chart via useComponent;
the MS Agent Framework agent has tools=[] and routes the user's chart
intent to whichever frontend tool fits.
2026-04-29 10:51:10 +02:00
Alem Tuzlak cbee978b9e feat(showcase-ms-agent-dotnet): add gen-ui-tool-based demo 2026-04-29 10:50:47 +02:00
Alem Tuzlak aacc37b184 feat(llamaindex): add cli-start and mcp-apps to manifest 2026-04-29 10:49:34 +02:00
Alem Tuzlak 5e4024f4a0 feat(showcase-langgraph-ts): add cli-start, hitl-in-chat, hitl-in-chat-booking demos 2026-04-29 10:48:41 +02:00
Alem Tuzlak 8b9b9eb391 feat(showcase-langgraph-fastapi): add cli-start, hitl-in-chat, hitl-in-chat-booking demos
- cli-start: informational manifest entry with the framework init command
- hitl-in-chat: in-chat HITL via the high-level useHumanInTheLoop hook
  with a time-picker card; backend graph is tools=[] +
  CopilotKitMiddleware
- hitl-in-chat-booking: alias mapped to the same demo route + backend
  graph as hitl-in-chat, registered as a separate agent slot so the
  feature card resolves to the same booking surface

Wires the new hitl_in_chat graph into langgraph.json and registers both
agent slots in src/app/api/copilotkit/route.ts.
2026-04-29 10:48:33 +02:00
Jordan Ritter 17e7e0a406 fix(showcase): add missing D5 demo entries and feature IDs to manifests
Add demo entries for hitl, hitl-in-app, hitl-in-chat, tool-rendering,
shared-state-read-write, and gen-ui-tool-based across 14 integrations.
Ensure every demo ID also appears in the features list so the showcase
matrix and D5 probes discover them correctly.
2026-04-28 22:20:58 -07:00
Jordan Ritter 2fc196aa8b fix(showcase): guard preferences-card.tsx against undefined interests
STATE_SNAPSHOT can deliver a Preferences object with interests undefined,
crashing .includes(), .filter(), and spread at 4 sites per file. Add
(value.interests ?? []) guards across all 17 integrations.
2026-04-28 22:20:53 -07:00
github-actions[bot] aa2c727996 style: auto-fix formatting 2026-04-29 04:27:05 +00:00
Jordan Ritter 7a25435c8b fix(showcase): correct Mastra createTool execute signatures in packages/mastra 2026-04-28 21:17:55 -07:00
Jordan Ritter 2bbfa86747 fix: correct Mastra createTool execute callback signature
The first parameter of Mastra ToolAction.execute is the raw
Zod-validated input, not a destructured wrapper. Changed all 4
tools from ({ context }, executionContext) to (inputData,
executionContext) and updated field accesses accordingly.
2026-04-28 20:43:21 -07:00
Jordan Ritter c62dd66dc4 Merge remote-tracking branch 'origin/main' into blitz/showcase-harness-rename/integration
# Conflicts:
#	pnpm-lock.yaml
#	showcase/harness/config/alerts/smoke-red-tick.yml
#	showcase/harness/scripts/test-notify-harness-jq.sh
#	showcase/harness/src/probes/drivers/e2e-chat-tools.test.ts
#	showcase/harness/src/probes/drivers/e2e-chat-tools.ts
#	showcase/harness/src/probes/drivers/e2e-demos.test.ts
#	showcase/harness/src/probes/drivers/e2e-demos.ts
#	showcase/harness/src/probes/drivers/e2e-readiness.test.ts
#	showcase/harness/src/probes/drivers/e2e-readiness.ts
#	showcase/harness/src/probes/drivers/e2e-smoke.test.ts
#	showcase/harness/src/probes/drivers/e2e-smoke.ts
#	showcase/harness/src/probes/drivers/liveness.test.ts
#	showcase/harness/src/probes/drivers/liveness.ts
#	showcase/harness/src/probes/drivers/smoke.test.ts
#	showcase/harness/src/probes/drivers/smoke.ts
#	showcase/harness/src/probes/liveness.test.ts
#	showcase/harness/src/probes/liveness.ts
#	showcase/harness/src/probes/smoke.test.ts
#	showcase/harness/src/probes/smoke.ts
#	showcase/harness/test/fixtures/rules/valid/smoke-red-tick.yml
#	showcase/ops/src/probes/drivers/e2e-demos.test.ts
#	showcase/ops/src/probes/drivers/e2e-demos.ts
#	showcase/ops/src/probes/drivers/e2e-smoke.test.ts
#	showcase/ops/src/probes/drivers/e2e-smoke.ts
#	showcase/ops/src/probes/drivers/smoke.test.ts
#	showcase/ops/src/probes/drivers/smoke.ts
#	showcase/ops/src/probes/smoke.test.ts
#	showcase/ops/src/probes/smoke.ts
#	showcase/scripts/verify-railway-image-refs.ts
2026-04-28 16:04:44 -07:00
Jordan Ritter af2737cabe fix(showcase): add useSingleEndpoint to built-in-agent demo pages
The built-in-agent runtime uses mode: "single-route" which means all
requests go to a single POST endpoint (/api/copilotkit). Without
useSingleEndpoint, the CopilotKitProvider defaults to transport: "auto"
which auto-detects by trying GET /info first (404 from Next.js), then
falls back to single-endpoint POST. During this auto-detect window,
the provisional agent created by useAgent() has transport: "auto",
which constructs REST-style URLs (/api/copilotkit/agent/default/run)
that don't exist in single-route mode. If the user sends a message
before auto-detect completes, the request hits a Next.js 404 and the
run silently fails, causing the e2e-smoke probe to time out waiting
for an assistant response.

Adding useSingleEndpoint to all 8 demo pages forces transport:
"single" from initialization, so both the provisional agent and the
final agent use the correct single-endpoint POST format from the
start.
2026-04-28 14:31:37 -07:00
Jordan Ritter 83b077db87 refactor(showcase): update scripts, docs, and aimock references for harness rename
Update comment references in showcase scripts (create-integration,
redirect-decommission, validate-pins, verify-railway-image-refs),
RAILWAY.md docs, aimock/d5-all.json fixture comment, and
built-in-agent route comment.
2026-04-28 13:48:30 -07:00
Jordan Ritter 52e2313553 fix: switch built-in-agent to single-route mode for smoke compatibility (#4387)
## Summary
- Switch the built-in-agent copilotkit route from multi-route (default)
to single-route mode
- Remove the `withProbeCompat` 404-to-400 wrapper (no longer needed)

## Why
The smoke probe POSTs a v1-style JSON envelope `{method, params, body}`
to `/api/copilotkit`. In multi-route mode, the v2 runtime tries to match
URL patterns (e.g. `/agent/:agentId/run`) and returns 404 for bare
`/api/copilotkit` POSTs. The `withProbeCompat` wrapper converted 404 to
400, but the smoke probe needs the runtime to actually parse the request
and return a real response, not just a non-404 status.

Single-route mode accepts the JSON envelope format directly, so the
smoke probe's `{method: "agent/run", params: {agentId: "default"}, body:
{...}}` payload is properly parsed and dispatched to the agent handler.

## Test plan
- [ ] Verify smoke:built-in-agent turns green after deploy
- [ ] Verify the copilotkit endpoint still handles normal agent/run
requests
2026-04-28 13:43:25 -07:00
Jordan Ritter f1f3f07514 fix: resolve security vulnerabilities via dependency overrides (#3857)
## Summary

Comprehensive security vulnerability sweep via pnpm overrides and devDep
bumps. Reduces audit from **155+ to 3** unfixable vulnerabilities.

### Changes

**49 pnpm overrides** covering all resolvable transitive dependency
vulnerabilities:
- 12 initial overrides (phase 1)
- 7 upgraded to higher patched versions (phase 2)
- 30 new overrides added (phase 3)

**Direct dependency bumps:**
- storybook devDeps: ^10.1.10 → ^10.2.10 (root + react storybook
example)
- vitest in demo-agents: ^2.1.8 → ^4.1.3 (resolves vite 5.x vuln)
- next in chat-with-your-data: 15.6.0-canary.58 → 15.6.0-canary.61
- vite in react-router: ^6.0.0 → ~7.3.2

### Remaining 3 (truly unfixable)

| Package | Severity | Why |
|---------|----------|-----|
| parse-git-config | HIGH | No patch exists (patched: <0.0.0), dep of
danger |
| elliptic | LOW | No patch exists, deep in storybook crypto chain |
| next | MODERATE | Example on 15.x canary, advisory needs 16.x |

### Companion PR
ag-ui-protocol/ag-ui#1504

Part of CPK-7320
2026-04-28 13:42:41 -07:00
Jordan Ritter ffc8023224 fix: switch built-in-agent to single-route mode for smoke probe compatibility 2026-04-28 13:38:44 -07:00
Sam Julien dc32a40a2d docs(showcase/spring-ai): region markers across 13 cells
Per-framework region pass on spring-ai. 13 cells advanced from B (regions
missing) to A (ready). Same patterns as mastra (#4326), smalls batch 1
(#4361), ms-agent (#4363), and google-adk (#4369).

Cells covered (28 regions):
- agentic-chat: provider-setup + configure-suggestions in-place; chat-component sibling
- chat-customization-css: css-variables (theme.css) + theme-css-import
- chat-slots: register-welcome-slot + register-disclaimer-slot + register-assistant-message-slot
- frontend-tools: frontend-tool-handler + frontend-tool-registration
- headless-simple: use-agent-simple + message-list-simple sibling (production carries deduplicateMessages QA logic against the AG-UI Spring AI adapter's multi-run tool-call loop)
- open-gen-ui: minimal-provider-setup + minimal-runtime-flag (route.ts)
- open-gen-ui-advanced: advanced-runtime-config (route.ts, shared file with open-gen-ui)
- prebuilt-popup: popup-basic-setup
- prebuilt-sidebar: sidebar-basic-setup + sidebar-configuration
- readonly-state-agent-context: context-provider-sketch + use-agent-context-call
- shared-state-read-write: use-agent-read + use-agent-write (page.tsx) + notes-card-render + preferences-card-render
- subagents: delegation-log-frontend (frontend) + subagent-setup + supervisor-delegation-tools (Java backend, SubagentsController.java already in highlight)
- a2ui-fixed-schema: backend-render-operations on tools/DisplayFlightTool.java

Sibling teaching files (Java backend, distinct from Python/TS frameworks):
- agentic-chat/chat-component.snippet.tsx — production Chat carries QA hooks (useFrontendTool / useRenderTool / useAgentContext + data-testid) irrelevant to the prebuilt-chat docs page
- headless-simple/headless-chat.snippet.tsx — production carries deduplicateMessages defensive logic; sibling exposes a clean useAgent + agent.messages.map teaching surface

Deferred:
- a2ui-fixed-schema::backend-schema-json-load — spring-ai keeps the schema inline as Java List.of(Map.of(...)) in DisplayFlightTool.java rather than loading from a JSON file. Same divergence as ms-agent-dotnet (#4363); the docs region's "load JSON at startup" framing doesn't match.
- declarative-gen-ui::runtime-inject-tool — cross-cutting; tracked in PDX-70.

Backend region markers use Java syntax `// @region[name]` / `// @endregion[name]`.

Test plan:
- [ ] `npx tsx showcase/scripts/bundle-demo-content.ts` succeeds; all 28 regions resolve in `demo-content.json` (verified locally — re-audit shows only deferred items remaining)
- [ ] localhost shell-docs spot-check `/spring-ai/prebuilt-components/chat` — chat-component snippet renders the minimal Chat from the sibling file
- [ ] localhost shell-docs spot-check `/spring-ai/headless/simple` — use-agent-simple + message-list-simple resolve from the sibling file (no dedup noise in the docs surface)
- [ ] localhost shell-docs spot-check `/spring-ai/multi-agent/subagents` — delegation-log-frontend + subagent-setup + supervisor-delegation-tools resolve; backend snippet shows spring-ai's idiom (ToolCallback factory + ChatClient.builder) rather than langgraph's @tool/create_agent pattern
- [ ] localhost shell-docs spot-check `/spring-ai/state/shared-state-read-write` — all four regions resolve including the multi-file pair from notes-card.tsx + preferences-card.tsx
- [ ] localhost shell-docs spot-check `/spring-ai/generative-ui/a2ui/fixed-schema` — backend-render-operations resolves; backend-schema-json-load remains yellow (deferred per above)
2026-04-28 13:21:02 -07:00
Sam Julien cbf27660b9 docs(showcase/crewai-crews): region markers across 16 cells
Bring crewai-crews to feature parity with langgraph-python's docs region
coverage. The shell-docs MDX uses <Snippet region=... cell=...> tags that
resolve at build time against demo-content.json; without these markers,
crewai-crews docs pages render "Missing snippet" warnings instead of code.

Cells advanced (16):
- a2ui-fixed-schema: backend-render-operations, backend-schema-json-load
  (added manifest highlight for src/agents/a2ui_fixed.py)
- agentic-chat: chat-component (sibling snippet), configure-suggestions,
  provider-setup
- agentic-chat-reasoning: reasoning-block-render
- chat-customization-css: css-variables, theme-css-import
- chat-slots: register-assistant-message-slot, register-disclaimer-slot,
  register-welcome-slot
- declarative-gen-ui: provider-a2ui-prop
- frontend-tools: frontend-tool, frontend-tool-handler,
  frontend-tool-registration
- headless-complete: custom-bubbles, manual-activity-message-rendering,
  manual-tool-call-rendering, page-send-message, use-rendered-messages-hook
- headless-simple: headless-hooks, message-list-simple, use-agent-simple
- hitl-in-chat: hitl-hook, time-slots
- open-gen-ui: minimal-provider-setup, advanced-runtime-config,
  minimal-runtime-flag (added manifest highlight for the ogui route)
- open-gen-ui-advanced: sandbox-function-registration,
  advanced-runtime-config, minimal-runtime-flag (manifest highlight)
- prebuilt-popup: popup-basic-setup
- prebuilt-sidebar: sidebar-basic-setup, sidebar-configuration
- readonly-state-agent-context: context-provider-sketch,
  use-agent-context-call
- reasoning-default-render: default-reasoning-zero-config

For agentic-chat, the production page.tsx also wires QA hooks
(useFrontendTool/useRenderTool/useAgentContext) that aren't relevant to
the prebuilt-chat docs guide, so chat-component lives in a sibling
chat-component.snippet.tsx (pattern established in mastra/strands).

Deferred:
- declarative-gen-ui::runtime-inject-tool — cross-cutting (PDX-70)
- shared-state-streaming — frontend page.tsx is a TODO stub; needs the
  full shared-state implementation before docs regions can be wired
2026-04-28 13:21:02 -07:00
Sam Julien 09d205409a docs(showcase/llamaindex): region markers across 16 cells
Per-framework region pass on llamaindex. 16 (framework x cell) targets
advanced from B (regions missing) to A (ready). Same patterns as mastra
(#4326), smalls batch 1 (#4361), ms-agent batch 2 (#4363), and google-adk
(#4369).

Frontend regions (in-place markers):
- agentic-chat: provider-setup, configure-suggestions
- prebuilt-popup: popup-basic-setup
- prebuilt-sidebar: sidebar-basic-setup, sidebar-configuration
- frontend-tools: frontend-tool-registration + handler
- chat-customization-css: theme-css-import (page.tsx) + css-variables (theme.css)
- chat-slots: register-welcome-slot (lifted prop into named variable)
- tool-rendering: render-weather-tool
- tool-rendering-default-catchall: default-catchall-zero-config
- tool-rendering-custom-catchall: use-default-render-tool-wildcard
- headless-simple: use-agent-simple, message-list-simple
- readonly-state-agent-context: context-provider-sketch, use-agent-context-call
- open-gen-ui: minimal-runtime-flag (route.ts)
- open-gen-ui-advanced: advanced-runtime-config (same span as minimal)
- shared-state-read-write: notes-card-render, preferences-card-render
  (multi-file), use-agent-read, use-agent-write
- subagents: delegation-log-frontend

Sibling teaching files (mirror mastra/google-adk pattern):
- agentic-chat/chat-component.snippet.tsx (production Chat carries QA
  hooks - useFrontendTool, useRenderTool, useAgentContext - that aren't
  relevant to the prebuilt-chat docs page)
- tool-rendering/render-flight-tool.snippet.tsx (covers both
  render-flight-tool and catchall-renderer; production demo only
  registers a weather renderer)

Backend regions (Python files):
- tool-rendering: weather-tool-backend on src/agents/agent.py
  (manifest highlight extended to include this shared-agent file)
- a2ui-fixed-schema: backend-schema-json-load + backend-render-operations
  on src/agents/a2ui_fixed.py - wraps llamaindex's idiom (raw a2ui_operations
  dict ops returned from a backend tool) rather than langgraph-python's
  a2ui.render(...) helper

Manifest highlight added: tool-rendering picked up src/agents/agent.py so
the backend region is bundled with the cell. All other backend files were
already in highlight.

Deferred (documented divergence; will pick up via PDX-68 auto-config or
when showcase team aligns):

- chat-slots disclaimer + assistant-message slots - production demo only
  registers welcome; the other slots aren't implemented.
- declarative-gen-ui::runtime-inject-tool - cross-cutting (PDX-70).
- headless-complete (5 regions: custom-bubbles, manual-activity-message-
  rendering, manual-tool-call-rendering, page-send-message, use-rendered-
  messages-hook) - llamaindex's headless-complete is structurally simpler
  than the canonical pattern (single MessageList component, no separate
  bubble components, no useRenderedMessages hook). The regions don't fit
  cleanly. Defer until showcase team expands the demo or PDX-68 ships.
- shared-state-streaming - llamaindex demo is a TODO stub (page.tsx
  contains 'TODO: Implement State Streaming demo'); skip until the demo
  is implemented.
2026-04-28 13:21:02 -07:00
Sam Julien 90e2e17286 docs(showcase/langroid): region markers across 12 cells
Per-framework region pass on the Langroid integration to bring it to
parity with the regions authored on langgraph-python. 27 regions added
across 12 cells. 0 yellow boxes introduced.

Cells covered:
- agentic-chat: provider-setup + configure-suggestions inline,
  chat-component as a sibling teaching file (production carries
  background-swap + weather-render QA hooks).
- agentic-chat-reasoning: reasoning-block-render inline.
- chat-customization-css: css-variables (theme.css) + theme-css-import
  (page.tsx) inline.
- chat-slots: register-welcome-slot + register-disclaimer-slot +
  register-assistant-message-slot inline.
- frontend-tools: frontend-tool-registration + nested
  frontend-tool-handler inline.
- headless-simple: use-agent-simple + message-list-simple inline.
- prebuilt-popup: popup-basic-setup inline.
- prebuilt-sidebar: sidebar-basic-setup + nested sidebar-configuration
  inline.
- readonly-state-agent-context: context-provider-sketch +
  use-agent-context-call inline.
- reasoning-default-render: default-reasoning-zero-config inline.
- shared-state-read-write: use-agent-read + use-agent-write on
  page.tsx, notes-card-render on notes-card.tsx, preferences-card-render
  on preferences-card.tsx — all inline.
- subagents: delegation-log-frontend inline on delegation-log.tsx.

Deferred:
- declarative-gen-ui::runtime-inject-tool — cross-cutting (PDX-70).
- shared-state-streaming — page.tsx is a TODO stub; no production
  implementation to mark.
- subagents::subagent-setup, supervisor-delegation-tools — Langroid's
  supervisor uses ToolMessage subclasses with adapter-side intercept,
  not LangGraph's @tool + Command pattern; the canonical regions
  describe a fundamentally different architecture.
2026-04-28 13:21:02 -07:00
Sam Julien 77a07aaa37 docs(showcase/agno): region markers across 12 cells
Bring agno to feature parity with the langgraph-python reference for
shell-docs region markers. Round 5 of the per-framework sweep
(mastra #4326, smalls batch #4361, ms-agent #4363, google-adk #4369).

Cells advanced (12):
- agentic-chat: sibling chat-component.snippet.tsx (chat-component,
  configure-suggestions, provider-setup) — production page.tsx mixes
  unrelated frontend tools / agent context for QA.
- chat-customization-css: in-place css-variables in theme.css,
  theme-css-import in page.tsx.
- chat-slots: in-place register-welcome-slot, register-disclaimer-slot,
  register-assistant-message-slot in page.tsx.
- headless-simple: in-place use-agent-simple, message-list-simple in
  page.tsx.
- prebuilt-popup: in-place popup-basic-setup in page.tsx.
- prebuilt-sidebar: in-place sidebar-basic-setup, sidebar-configuration
  in page.tsx.
- readonly-state-agent-context: in-place context-provider-sketch,
  use-agent-context-call in page.tsx.
- shared-state-read-write: in-place use-agent-read, use-agent-write
  in page.tsx; preferences-card-render in preferences-card.tsx;
  notes-card-render in notes-card.tsx.
- subagents: in-place delegation-log-frontend in delegation-log.tsx;
  subagent-setup, supervisor-delegation-tools in agents/subagents.py.
- tool-rendering: sibling render-flight-tool.snippet.tsx with
  render-weather-tool, render-flight-tool, catchall-renderer; in-place
  weather-tool-backend on get_weather in agents/main.py — the docs page
  teaches per-tool + catchall patterns the production page.tsx doesn't
  exercise (weather-only render, shared god-file backend).
- tool-rendering-custom-catchall: in-place
  use-default-render-tool-wildcard in page.tsx.
- tool-rendering-default-catchall: in-place default-catchall-zero-config
  in page.tsx.

Manifest: no changes — sibling .snippet.tsx files are picked up by the
demo-content bundler walking the demo folder, no explicit highlight
needed.

Verification: re-ran the audit script; missing-region count for agno
dropped from 12 cells → 0.
2026-04-28 13:21:02 -07:00