mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
1ec575ea02
Adds 6 missing demos to the AG2 integration: - auth: V2 runtime onRequest hook gates requests via Bearer token; AG2 default agent backs the authenticated path. - agent-config: Typed tone/expertise/responseLength config forwarded via agent.setState into AG2 ContextVariables; agent reads via a get_current_config tool before each reply. - voice: V2 runtime + TranscriptionServiceOpenAI + sample audio button; guarded for missing OPENAI_API_KEY. - multimodal: Dedicated gpt-4o AG2 ConversableAgent with image + PDF attachment support; sample-attachment buttons inject bundled samples. - byoc-hashbrown: AG2 agent emits hashbrown-shaped JSON for @hashbrownai/react useUiKit + useJsonParser; sales dashboard catalog. - byoc-json-render: AG2 agent emits flat root/elements JSON spec for @json-render/react Renderer; identical sales catalog for parity. Adds @copilotkit/voice, @json-render/core, @json-render/react, openai JS deps; pypdf and openai Python deps. Bundles demo-audio + demo-files public assets and updates manifest features + demos.
Demo Files — Multimodal Demo
This directory bundles sample files referenced by the /demos/multimodal page.
Required files (must be committed as binaries; see .gitattributes at repo root):
sample.png— a small (< 50 KB) PNG that the "Try with sample image" button injects into the chat. A CopilotKit logo or other recognizable brand mark works well so the vision-capable agent has something to describe.sample.pdf— a small (< 50 KB) one-page PDF that the "Try with sample PDF" button injects. The content must mention "CopilotKit" so E2E soft assertions hold (e.g. a one-page export of the CopilotKit quickstart).
The page at src/app/demos/multimodal/page.tsx fetches these via the public
path (/demo-files/sample.png, /demo-files/sample.pdf), wraps the fetched
blob in a File, and routes it through the same AttachmentsConfig.onUpload
callback the paperclip button uses — so the sample path exercises the exact
same queueing code as a real user upload.
If these files are missing, the demo page still renders but the sample buttons will surface a fetch error. The paperclip / drag-and-drop paths continue to work without them.