mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
fe96b3f254
PR #5426 (ag2 multimodal unquarantine) added showcase/aimock/d6/ag2/multimodal.json with two fixtures keyed on: - userMessage: "can you tell me what is in this demo image I just attached", turnIndex: 0, context: ag2 - userMessage: "can you tell me what is in this demo pdf I just attached", turnIndex: 0, context: ag2 Those same keys already existed in showcase/aimock/d6/ag2/agentic-chat.json, creating 2 exact duplicates within the ag2 context scope and pushing the collision count from 297 → 299 (ceiling = 297), breaking the validate CI job. Fix: remove the two multimodal-probe entries from agentic-chat.json since the dedicated multimodal.json is now the authoritative home. The agentic-chat probe does not send image/PDF turns; the multimodal probe matches via context "ag2" against multimodal.json directly. RED: AssertionError: Exact duplicate count (299) exceeds ceiling (297) → confirmed in CI run #28840506865 (Showcase: Validate main) GREEN: all 824 tests pass after removing the duplicate entries
96 lines
3.5 KiB
JSON
96 lines
3.5 KiB
JSON
{
|
|
"_meta": {
|
|
"description": "D6 fixtures for ag2 / agentic-chat",
|
|
"sourceFile": "d5-all.json",
|
|
"created": "2026-05-21"
|
|
},
|
|
"fixtures": [
|
|
{
|
|
"_comment": "agentic-chat turn 1 \u2014 goldfish name. No turnIndex gate: the probe sends 3 sequential turns in one thread; turnIndex would restrict this to the first turn only, causing turns 2-3 to fall through to proxy.",
|
|
"match": {
|
|
"userMessage": "good name for a goldfish",
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "How about Bubbles? It is friendly, classic, and easy to call out at the tank. If you want alternatives: Goldie, Finley, or Mango."
|
|
}
|
|
},
|
|
{
|
|
"_comment": "agentic-chat turn 2 \u2014 tank name. No turnIndex gate (multi-turn conversation).",
|
|
"match": {
|
|
"userMessage": "name for its tank",
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "Following the Bubbles theme, you could call the tank The Bubble Bowl. It pairs naturally with the goldfish's name and keeps the playful tone."
|
|
}
|
|
},
|
|
{
|
|
"_comment": "agentic-chat turn 3 \u2014 recall. No turnIndex gate (multi-turn conversation).",
|
|
"match": {
|
|
"userMessage": "what we named the goldfish",
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "We named the goldfish Bubbles, and the tank The Bubble Bowl."
|
|
}
|
|
},
|
|
{
|
|
"match": {
|
|
"userMessage": "Write me a haiku about nature",
|
|
"hasToolResult": false,
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"toolCalls": [
|
|
{
|
|
"id": "call_d5_generate_haiku_001",
|
|
"name": "generate_haiku",
|
|
"arguments": "{\"japanese\":[\"\u53e4\u6c60\u3084\",\"\u86d9\u98db\u3073\u8fbc\u3080\",\"\u6c34\u306e\u97f3\"],\"english\":[\"An old silent pond\",\"A frog jumps into the pond\",\"Splash! Silence again.\"],\"image_name\":\"Mount_Fuji_Lake_Reflection_Cherry_Blossoms_Sakura_Spring.jpg\",\"gradient\":\"linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)\"}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"match": {
|
|
"userMessage": "Write me a haiku about nature",
|
|
"hasToolResult": true,
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "Haiku generated above \u2014 a beautiful verse about nature with an accompanying image."
|
|
}
|
|
},
|
|
{
|
|
"match": {
|
|
"userMessage": "hi from the popup test",
|
|
"turnIndex": 0,
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "Hello from the popup \u2014 the CopilotPopup prebuilt component is wired up and reachable. The launcher floats in the corner and the chat sits in an overlay panel."
|
|
}
|
|
},
|
|
{
|
|
"match": {
|
|
"userMessage": "hi from the sidebar test",
|
|
"turnIndex": 0,
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "Hello from the sidebar \u2014 the CopilotSidebar prebuilt component is wired up and reachable. Anything else you would like me to confirm from inside the sidebar?"
|
|
}
|
|
},
|
|
{
|
|
"match": {
|
|
"userMessage": "analyze data and call the tool",
|
|
"turnIndex": 0,
|
|
"context": "ag2"
|
|
},
|
|
"response": {
|
|
"content": "Reasoning step 1: I considered the query. Reasoning step 2: I decided to invoke the analysis tool. The tool returned its structured payload, and the reasoning chain wraps the rendered tool card. Both the reasoning block and the tool card should be visible in the transcript."
|
|
}
|
|
}
|
|
]
|
|
}
|