Jordan Ritter
b9bcf2e6b6
fix(showcase/packages-python): drop to USER app across 11 Python packages, add missing /app/public COPY to langgraph-python
...
All 11 Python runners previously executed as root. Bring them into parity
with langroid (the one Python package that already had the pattern):
- Create uid/gid 1001 'app' user/group before any COPY
- Add --chown=app:app to runner-stage COPY directives
- USER app before EXPOSE/CMD
- langgraph-python: add the missing COPY --from=frontend /app/public line
(every other Python package has it) plus an empty public/.gitkeep so
the copy resolves
Packages touched: ag2, agno, claude-sdk-python, crewai-crews, google-adk,
langgraph-fastapi, langgraph-python, llamaindex, ms-agent-python,
pydantic-ai, strands.
2026-04-21 19:05:23 -07:00
Jordan Ritter
e97096c397
fix(showcase/package-claude-sdk-python): multi-stage Dockerfile with venv builder
...
Split Python install into a dedicated agent-builder stage (python:3.12.13)
that produces /opt/venv, which the slim runner COPYs in. The runner no
longer runs pip install, so no compiler toolchain or build-essential bloats
the final image.
Preserves behavior: entrypoint.sh, port 10000, ENV NODE_ENV=production,
shared_python/ -> /app/shared/python/ + PYTHONPATH.
2026-04-21 18:24:15 -07:00
Jordan Ritter
c25c1ca291
fix: remove shared_frontend COPY from demo package Dockerfiles (deleted in #3896 )
2026-04-14 13:27:05 -07:00
Jordan Ritter
b6fcafe4cd
feat: all 17 showcase packages to 9-demo parity with Sales Dashboard hero
...
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
2026-04-13 19:57:58 -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
1bdc85845a
fix: pin all showcase Docker base images to specific minor versions
2026-04-12 23:40:16 -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