mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
b6fcafe4cd
Every package: 9 demos (agentic-chat hero, hitl MeetingTimePicker, tool-rendering, gen-ui-tool-based Chart Generator, gen-ui-agent A2UI dynamic, shared-state-read/ write/streaming, subagents), 7 backend tools, Playwright e2e tests per demo. Cross-cutting: debug routes, error boundaries, camelCase SSE, generate_a2ui conversation context, spring-ai JSON weather, langroid adapter fixes. # Conflicts: # showcase/packages/ag2/manifest.yaml # showcase/packages/ag2/src/agents/agent.py # showcase/packages/ag2/src/app/api/debug/route.ts # showcase/packages/ag2/src/app/demos/agentic-chat/page.tsx # showcase/packages/ag2/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/ag2/src/app/demos/hitl/page.tsx # showcase/packages/ag2/src/app/demos/tool-rendering/page.tsx # showcase/packages/ag2/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/ag2/tests/e2e/hitl.spec.ts # showcase/packages/ag2/tsconfig.json # showcase/packages/agno/manifest.yaml # showcase/packages/agno/src/agents/main.py # showcase/packages/agno/src/app/api/debug/route.ts # showcase/packages/agno/src/app/demos/agentic-chat/page.tsx # showcase/packages/agno/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/agno/src/app/demos/hitl/page.tsx # showcase/packages/agno/src/app/demos/tool-rendering/page.tsx # showcase/packages/agno/tsconfig.json # showcase/packages/claude-sdk-python/manifest.yaml # showcase/packages/claude-sdk-python/src/agents/agent.py # showcase/packages/claude-sdk-python/src/app/api/debug/route.ts # showcase/packages/claude-sdk-python/src/app/demos/agentic-chat/page.tsx # showcase/packages/claude-sdk-python/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/claude-sdk-python/src/app/demos/hitl/page.tsx # showcase/packages/claude-sdk-python/src/app/demos/tool-rendering/page.tsx # showcase/packages/claude-sdk-python/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/claude-sdk-python/tests/e2e/hitl.spec.ts # showcase/packages/claude-sdk-python/tsconfig.json # showcase/packages/claude-sdk-typescript/.gitignore # showcase/packages/claude-sdk-typescript/src/app/api/debug/route.ts # showcase/packages/claude-sdk-typescript/src/app/demos/agentic-chat/page.tsx # showcase/packages/claude-sdk-typescript/src/app/demos/tool-rendering/page.tsx # showcase/packages/claude-sdk-typescript/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/claude-sdk-typescript/tests/e2e/hitl.spec.ts # showcase/packages/crewai-crews/manifest.yaml # showcase/packages/crewai-crews/src/agents/crew.py # showcase/packages/crewai-crews/src/agents/tools/custom_tool.py # showcase/packages/crewai-crews/src/app/demos/agentic-chat/page.tsx # showcase/packages/crewai-crews/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/google-adk/manifest.yaml # showcase/packages/google-adk/src/agents/main.py # showcase/packages/google-adk/src/app/demos/agentic-chat/page.tsx # showcase/packages/google-adk/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/google-adk/src/app/demos/hitl/page.tsx # showcase/packages/langgraph-fastapi/src/app/api/debug/route.ts # showcase/packages/langgraph-fastapi/src/app/demos/agentic-chat/page.tsx # showcase/packages/langgraph-fastapi/src/app/demos/hitl/page.tsx # showcase/packages/langgraph-fastapi/tests/e2e/hitl.spec.ts # showcase/packages/langgraph-fastapi/tsconfig.json # showcase/packages/langgraph-python/src/app/demos/agentic-chat/page.tsx # showcase/packages/langgraph-python/src/app/demos/hitl/page.tsx # showcase/packages/langgraph-python/tests/e2e/agentic-chat.spec.ts # showcase/packages/langgraph-python/tests/e2e/hitl.spec.ts # showcase/packages/langgraph-python/tests/e2e/shared-state-streaming.spec.ts # showcase/packages/langgraph-python/tests/e2e/shared-state-write.spec.ts # showcase/packages/langgraph-python/tests/e2e/subagents.spec.ts # showcase/packages/langgraph-python/tsconfig.json # showcase/packages/langgraph-typescript/.gitignore # showcase/packages/langgraph-typescript/src/agent/graph.ts # showcase/packages/langgraph-typescript/src/app/api/debug/route.ts # showcase/packages/langgraph-typescript/src/app/demos/agentic-chat/page.tsx # showcase/packages/langgraph-typescript/src/app/demos/tool-rendering/page.tsx # showcase/packages/langgraph-typescript/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/langgraph-typescript/tests/e2e/hitl.spec.ts # showcase/packages/langroid/src/agents/agent.py # showcase/packages/langroid/src/app/demos/agentic-chat/page.tsx # showcase/packages/langroid/src/app/demos/hitl/page.tsx # showcase/packages/langroid/src/app/demos/tool-rendering/page.tsx # showcase/packages/llamaindex/manifest.yaml # showcase/packages/llamaindex/src/agents/agent.py # showcase/packages/llamaindex/src/app/demos/agentic-chat/page.tsx # showcase/packages/llamaindex/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/llamaindex/src/app/demos/hitl/page.tsx # showcase/packages/llamaindex/src/app/demos/tool-rendering/page.tsx # showcase/packages/mastra/.gitignore # showcase/packages/mastra/package.json # showcase/packages/mastra/src/app/demos/agentic-chat/page.tsx # showcase/packages/mastra/src/app/demos/tool-rendering/page.tsx # showcase/packages/mastra/src/mastra/agents/index.ts # showcase/packages/mastra/src/mastra/tools/index.ts # showcase/packages/mastra/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/mastra/tests/e2e/hitl.spec.ts # showcase/packages/ms-agent-dotnet/agent/Program.cs # showcase/packages/ms-agent-dotnet/manifest.yaml # showcase/packages/ms-agent-dotnet/src/app/api/debug/route.ts # showcase/packages/ms-agent-dotnet/src/app/demos/agentic-chat/page.tsx # showcase/packages/ms-agent-dotnet/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/ms-agent-dotnet/src/app/demos/hitl/page.tsx # showcase/packages/ms-agent-dotnet/src/app/demos/tool-rendering/page.tsx # showcase/packages/ms-agent-dotnet/tests/e2e/hitl.spec.ts # showcase/packages/ms-agent-dotnet/tsconfig.json # showcase/packages/ms-agent-python/src/agents/agent.py # showcase/packages/ms-agent-python/src/app/demos/agentic-chat/page.tsx # showcase/packages/ms-agent-python/src/app/demos/hitl/page.tsx # showcase/packages/ms-agent-python/src/app/demos/tool-rendering/page.tsx # showcase/packages/pydantic-ai/manifest.yaml # showcase/packages/pydantic-ai/src/agents/agent.py # showcase/packages/pydantic-ai/src/app/demos/agentic-chat/page.tsx # showcase/packages/pydantic-ai/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/pydantic-ai/src/app/demos/hitl/page.tsx # showcase/packages/spring-ai/manifest.yaml # showcase/packages/spring-ai/src/app/api/debug/route.ts # showcase/packages/spring-ai/src/app/demos/agentic-chat/page.tsx # showcase/packages/spring-ai/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/spring-ai/src/app/demos/hitl/page.tsx # showcase/packages/spring-ai/src/app/demos/tool-rendering/page.tsx # showcase/packages/spring-ai/src/main/java/com/copilotkit/showcase/springai/AgentConfig.java # showcase/packages/spring-ai/src/main/java/com/copilotkit/showcase/springai/tools/WeatherTool.java # showcase/packages/spring-ai/tests/e2e/gen-ui-tool-based.spec.ts # showcase/packages/spring-ai/tests/e2e/hitl.spec.ts # showcase/packages/spring-ai/tsconfig.json # showcase/packages/strands/manifest.yaml # showcase/packages/strands/src/agents/agent.py # showcase/packages/strands/src/app/demos/agentic-chat/page.tsx # showcase/packages/strands/src/app/demos/gen-ui-tool-based/page.tsx # showcase/packages/strands/src/app/demos/hitl/page.tsx # showcase/packages/strands/src/app/demos/tool-rendering/page.tsx # showcase/shell/src/data/registry.json
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { test, expect } from "@playwright/test";
|
|
|
|
test.describe("Shared State (Reading)", () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto("/demos/shared-state-read");
|
|
});
|
|
|
|
test("page loads with Sales Pipeline dashboard", async ({ page }) => {
|
|
await expect(page.getByText("Sales Pipeline")).toBeVisible({
|
|
timeout: 10000,
|
|
});
|
|
});
|
|
|
|
test("dashboard shows pipeline summary with Total Pipeline metric", async ({
|
|
page,
|
|
}) => {
|
|
await expect(page.getByText("Total Pipeline")).toBeVisible({
|
|
timeout: 10000,
|
|
});
|
|
});
|
|
|
|
test("sidebar is open with Sales Pipeline Assistant title", async ({
|
|
page,
|
|
}) => {
|
|
await expect(page.getByText("Sales Pipeline Assistant")).toBeVisible({
|
|
timeout: 10000,
|
|
});
|
|
|
|
// Sidebar should have a chat input
|
|
await expect(
|
|
page.locator('textarea, [placeholder*="message"]').first(),
|
|
).toBeVisible({ timeout: 10000 });
|
|
});
|
|
|
|
test("can send message through sidebar and get response", async ({
|
|
page,
|
|
}) => {
|
|
const input = page.locator('textarea, [placeholder*="message"]').first();
|
|
await input.fill("Summarize the current sales pipeline");
|
|
await input.press("Enter");
|
|
|
|
await expect(page.locator('[data-role="assistant"]').first()).toBeVisible({
|
|
timeout: 30000,
|
|
});
|
|
});
|
|
|
|
test("dashboard shows deal list or empty state", async ({ page }) => {
|
|
// Either shows deals with "Active Deals" / "Closed" columns, or empty state
|
|
const hasDealList = page.getByText("Active Deals");
|
|
const hasEmptyState = page.getByText("No deals yet");
|
|
|
|
await expect(hasDealList.or(hasEmptyState).first()).toBeVisible({
|
|
timeout: 10000,
|
|
});
|
|
});
|
|
});
|