mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
c089d5969e
# Conflicts: # .github/workflows/showcase_deploy.yml # showcase/integrations/built-in-agent/.env.example # showcase/integrations/built-in-agent/Dockerfile # showcase/integrations/built-in-agent/README.md # showcase/integrations/built-in-agent/docs-links.json # showcase/integrations/built-in-agent/entrypoint.sh # showcase/integrations/built-in-agent/next.config.ts # showcase/integrations/built-in-agent/package-lock.json # showcase/integrations/built-in-agent/package.json # showcase/integrations/built-in-agent/playwright.config.ts # showcase/integrations/built-in-agent/postcss.config.mjs # showcase/integrations/built-in-agent/public/.gitkeep # showcase/integrations/built-in-agent/qa/agentic-chat.md # showcase/integrations/built-in-agent/qa/gen-ui-agent.md # showcase/integrations/built-in-agent/qa/gen-ui-tool-based.md # showcase/integrations/built-in-agent/qa/hitl-in-chat.md # showcase/integrations/built-in-agent/qa/sales-dashboard.md # showcase/integrations/built-in-agent/qa/shared-state-read-write.md # showcase/integrations/built-in-agent/qa/shared-state-streaming.md # showcase/integrations/built-in-agent/qa/subagents.md # showcase/integrations/built-in-agent/qa/tool-rendering.md # showcase/integrations/built-in-agent/src/app/api/copilotkit/[[...slug]]/route.ts # showcase/integrations/built-in-agent/src/app/api/health/route.ts # showcase/integrations/built-in-agent/src/app/copilotkit-overrides.css # showcase/integrations/built-in-agent/src/app/demos/agentic-chat/page.tsx # showcase/integrations/built-in-agent/src/app/demos/gen-ui-agent/page.tsx # showcase/integrations/built-in-agent/src/app/demos/gen-ui-tool-based/page.tsx # showcase/integrations/built-in-agent/src/app/demos/hitl/page.tsx # showcase/integrations/built-in-agent/src/app/demos/shared-state-read-write/page.tsx # showcase/integrations/built-in-agent/src/app/demos/shared-state-streaming/page.tsx # showcase/integrations/built-in-agent/src/app/demos/subagents/page.tsx # showcase/integrations/built-in-agent/src/app/demos/tool-rendering/page.tsx # showcase/integrations/built-in-agent/src/app/globals.css # showcase/integrations/built-in-agent/src/app/layout.tsx # showcase/integrations/built-in-agent/src/app/page.tsx # showcase/integrations/built-in-agent/src/lib/factory/server-tools.ts # showcase/integrations/built-in-agent/src/lib/factory/state-tools.ts # showcase/integrations/built-in-agent/src/lib/factory/subagent-tools.ts # showcase/integrations/built-in-agent/src/lib/factory/tanstack-factory.ts # showcase/integrations/built-in-agent/tests/e2e/agentic-chat.spec.ts # showcase/integrations/built-in-agent/tests/e2e/gen-ui-agent.spec.ts # showcase/integrations/built-in-agent/tests/e2e/gen-ui-tool-based.spec.ts # showcase/integrations/built-in-agent/tests/e2e/hitl-in-chat.spec.ts # showcase/integrations/built-in-agent/tests/e2e/shared-state-read.spec.ts # showcase/integrations/built-in-agent/tests/e2e/shared-state-streaming.spec.ts # showcase/integrations/built-in-agent/tests/e2e/shared-state-write.spec.ts # showcase/integrations/built-in-agent/tests/e2e/subagents.spec.ts # showcase/integrations/built-in-agent/tests/e2e/tool-rendering.spec.ts # showcase/integrations/built-in-agent/tsconfig.json
1.3 KiB
1.3 KiB
QA: In-Chat Human in the Loop — Built-in Agent (TanStack AI)
Prerequisites
- Set
OPENAI_API_KEYin.env.local(or environment). - Run
npm install --legacy-peer-deps && npm run devfrom thebuilt-in-agent/package directory. - Demo URL:
http://localhost:3000/demos/hitl
Page load
- Page heading "In-Chat Human in the Loop" is visible.
- Hint text 'Try: "Delete the README; it's outdated."' is visible.
- Chat input is visible.
Happy path interaction
- Send: "Delete the README; it's outdated." Verify an inline approval card appears in the chat showing the action name and reason, with green "Approve" and red "Reject" buttons.
- Click "Approve". Verify the card transitions to a "Decision recorded" state showing the action name, and the agent continues its response.
- In a fresh conversation, send the same prompt and click "Reject". Verify the card records the rejection and the agent acknowledges the refusal.
Edge cases worth checking
- Once a decision has been recorded (Approve or Reject), verify the Approve/Reject buttons are no longer rendered (card shows completed state instead).
- Send a message that does not trigger the
approveActiontool (e.g. "What is 2+2?"). Verify the agent replies normally without showing an approval card.