92 lines
5.2 KiB
JSON
92 lines
5.2 KiB
JSON
{
|
|
"_meta": {
|
|
"description": "D6 fixtures for strands / shared-state-streaming",
|
|
"sourceFile": "d5-all.json",
|
|
"copiedFrom": "langgraph-python",
|
|
"created": "2026-05-21"
|
|
},
|
|
"fixtures": [
|
|
{
|
|
"_comment": "shared-state-streaming 'poem about autumn leaves' pill — 1st leg: emit write_document with the full document. sequenceIndex:0 gates it to the first match of this pill's userMessage (Strands mints UUID tool ids and the demo shares one thread across pills, so toolCallId/hasToolResult gating both break — same pattern built-in-agent/frontend-tools use). write_document uses stateFromArgs, so state.document is set from the full args and the DocumentView grows past the probe's min-char threshold.",
|
|
"match": {
|
|
"userMessage": "poem about autumn leaves",
|
|
"sequenceIndex": 0,
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"toolCalls": [
|
|
{
|
|
"id": "call_d6_write_document_poem",
|
|
"name": "write_document",
|
|
"arguments": "{\"document\":\"Crimson and amber in slow descent, / each leaf a quiet ledger of summer spent. / The wind, a courier with nothing to say, / files them gently into the morning's gray. / Somewhere a kettle hums, and afternoons grow brief — / autumn keeps its books in vermilion and gold leaf.\"}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"_comment": "shared-state-streaming 'poem about autumn leaves' pill — 2nd leg: text confirmation after write_document ran (sequenceIndex:0 exhausted).",
|
|
"match": {
|
|
"userMessage": "poem about autumn leaves",
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"content": "Done — the poem is in the document above."
|
|
}
|
|
},
|
|
{
|
|
"_comment": "shared-state-streaming 'polite email declining' pill — 1st leg: emit write_document with the full document. sequenceIndex:0 gates it to the first match of this pill's userMessage (Strands mints UUID tool ids and the demo shares one thread across pills, so toolCallId/hasToolResult gating both break — same pattern built-in-agent/frontend-tools use). write_document uses stateFromArgs, so state.document is set from the full args and the DocumentView grows past the probe's min-char threshold.",
|
|
"match": {
|
|
"userMessage": "polite email declining",
|
|
"sequenceIndex": 0,
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"toolCalls": [
|
|
{
|
|
"id": "call_d6_write_document_email",
|
|
"name": "write_document",
|
|
"arguments": "{\"document\":\"Hi — thanks for sending the invite for Tuesday afternoon. Unfortunately I won't be able to make it this week. I'd love to find time later in the month if your schedule allows. In the meantime, feel free to send any pre-reads my way and I'll review them async so we don't lose momentum. Best, [name]\"}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"_comment": "shared-state-streaming 'polite email declining' pill — 2nd leg: text confirmation after write_document ran (sequenceIndex:0 exhausted).",
|
|
"match": {
|
|
"userMessage": "polite email declining",
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"content": "Done — the decline-email draft is in the document above."
|
|
}
|
|
},
|
|
{
|
|
"_comment": "shared-state-streaming 'quantum computing for a curious teenager' pill — 1st leg: emit write_document with the full document. sequenceIndex:0 gates it to the first match of this pill's userMessage (Strands mints UUID tool ids and the demo shares one thread across pills, so toolCallId/hasToolResult gating both break — same pattern built-in-agent/frontend-tools use). write_document uses stateFromArgs, so state.document is set from the full args and the DocumentView grows past the probe's min-char threshold.",
|
|
"match": {
|
|
"userMessage": "quantum computing for a curious teenager",
|
|
"sequenceIndex": 0,
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"toolCalls": [
|
|
{
|
|
"id": "call_d6_write_document_quantum",
|
|
"name": "write_document",
|
|
"arguments": "{\"document\":\"A regular computer stores information in bits — tiny switches that are either on (1) or off (0). A quantum computer uses qubits, which can sit in a fuzzy superposition of both states at once until you check them. Stack many qubits together and they can explore lots of possibilities in parallel, which is why people are excited.\\n\\nThis doesn't make quantum computers faster at everything. They're great at problems with hidden structure — like factoring big numbers, simulating molecules, or searching certain databases — but useless for, say, opening Excel. Today's machines are noisy and small, so we mostly use them to test ideas rather than replace your laptop.\"}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"_comment": "shared-state-streaming 'quantum computing for a curious teenager' pill — 2nd leg: text confirmation after write_document ran (sequenceIndex:0 exhausted).",
|
|
"match": {
|
|
"userMessage": "quantum computing for a curious teenager",
|
|
"context": "strands"
|
|
},
|
|
"response": {
|
|
"content": "Done — the quantum-computing explainer is in the document above."
|
|
}
|
|
}
|
|
]
|
|
}
|