Skip to content

Commit ccef4be

Browse files
authored
feat(showcase/ms-agent-python): register reasoning-default + reasoning-custom (CopilotKit#4968)
## Summary - The MS Agent Python integration's `reasoning-default` and `reasoning-custom` demos were already fully ported from the langgraph-python north-star — code, agent (`src/agents/reasoning_agent.py` using the OpenAI Responses API for `REASONING_MESSAGE_*` event streaming), pages, suggestion pills, e2e specs (`tests/e2e/reasoning-default.spec.ts`, `tests/e2e/reasoning-custom.spec.ts`), aimock fixtures (`showcase/aimock/d5-all.json`, `showcase/harness/fixtures/d5/reasoning-display.json`) and D5 probe mapping all exist and are byte-identical to LGP. - The only missing piece was the `manifest.yaml` registration. Without it the cells never appeared in the showcase shell, weren't counted as features, and were skipped by D5 routing. - This PR adds: - `reasoning-custom` + `reasoning-default` to the `features:` list (between `headless-complete` and `frontend-tools`, matching LGP order). - `demos:` entries for both, mirroring the LGP manifest verbatim. ## Verification - `tsx showcase/scripts/generate-registry.ts` → catalog now lists both cells with `status: wired`, `max_depth: 4`, identical to LGP. - `tsx showcase/scripts/validate-parity.ts` → `ms-agent-python [PASS] 38 37 10 35 warn` (was 36/35; the 2 new e2e specs were already present). New warnings are the standard `no qa/...md` pattern that LGP also has for these two demos. - `tsx showcase/scripts/validate-pins.ts` → ratchet count stays at 93 (unchanged). ## Test plan - [x] generate-registry succeeds; catalog wired for both cells with max_depth 4 - [x] validate-parity passes - [x] validate-pins ratchet unchanged - [ ] Showcase shell renders `/integrations/ms-agent-python/demos/reasoning-default` and `reasoning-custom` after deploy - [ ] D5 `reasoning-display` probe passes for ms-agent-python in CI - [ ] e2e: `npm --prefix showcase/integrations/ms-agent-python run test:e2e -- tests/e2e/reasoning-default.spec.ts tests/e2e/reasoning-custom.spec.ts --project=chromium` (will run on next CI pipeline)
2 parents d69a7d7 + 949659e commit ccef4be

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

showcase/integrations/ms-agent-python/manifest.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ features:
3131
- chat-customization-css
3232
- headless-simple
3333
- headless-complete
34+
- reasoning-custom
35+
- reasoning-default
3436
- frontend-tools
3537
- frontend-tools-async
3638
- hitl
@@ -296,6 +298,28 @@ demos:
296298
- src/app/demos/headless-complete/hooks/use-headless-suggestions.ts
297299
- src/app/demos/headless-complete/attachments/use-attachments-config.ts
298300
- src/app/api/copilotkit/route.ts
301+
- id: reasoning-default
302+
name: "Reasoning: Default"
303+
description: Built-in CopilotChatReasoningMessage rendering with no slot override.
304+
tags:
305+
- chat-ui
306+
route: /demos/reasoning-default
307+
highlight:
308+
- src/app/demos/reasoning-default/page.tsx
309+
- src/app/demos/reasoning-default/suggestions.ts
310+
- src/agents/reasoning_agent.py
311+
- id: reasoning-custom
312+
name: "Reasoning: Custom"
313+
description: Visible reasoning/thinking chain alongside the final answer
314+
tags:
315+
- chat-ui
316+
route: /demos/reasoning-custom
317+
animated_preview_url:
318+
highlight:
319+
- src/app/demos/reasoning-custom/page.tsx
320+
- src/app/demos/reasoning-custom/reasoning-block.tsx
321+
- src/agents/reasoning_agent.py
322+
- src/app/api/copilotkit/route.ts
299323
- id: gen-ui-interrupt
300324
name: In-Chat HITL (useInterrupt — low-level primitive)
301325
description: Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

0 commit comments

Comments
 (0)