| ofs | hex dump | ascii |
|---|
| 0000 | 69 6d 70 6f 72 74 20 7b 20 64 69 72 6e 61 6d 65 20 7d 20 66 72 6f 6d 20 22 6e 6f 64 65 3a 70 61 | import.{.dirname.}.from."node:pa |
| 0020 | 74 68 22 3b 0a 69 6d 70 6f 72 74 20 74 79 70 65 20 7b 20 50 72 6f 76 69 64 65 72 4f 70 74 69 6f | th";.import.type.{.ProviderOptio |
| 0040 | 6e 73 20 7d 20 66 72 6f 6d 20 22 40 61 69 2d 73 64 6b 2f 70 72 6f 76 69 64 65 72 2d 75 74 69 6c | ns.}.from."@ai-sdk/provider-util |
| 0060 | 73 22 3b 0a 69 6d 70 6f 72 74 20 74 79 70 65 20 7b 0a 09 46 69 6c 65 50 61 72 74 2c 0a 09 49 6d | s";.import.type.{..FilePart,..Im |
| 0080 | 61 67 65 50 61 72 74 2c 0a 09 4c 61 6e 67 75 61 67 65 4d 6f 64 65 6c 55 73 61 67 65 2c 0a 09 4d | agePart,..LanguageModelUsage,..M |
| 00a0 | 6f 64 65 6c 4d 65 73 73 61 67 65 2c 0a 09 53 79 73 74 65 6d 4d 6f 64 65 6c 4d 65 73 73 61 67 65 | odelMessage,..SystemModelMessage |
| 00c0 | 2c 0a 09 54 65 78 74 50 61 72 74 2c 0a 09 54 6f 6f 6c 2c 0a 7d 20 66 72 6f 6d 20 22 61 69 22 3b | ,..TextPart,..Tool,.}.from."ai"; |
| 00e0 | 0a 69 6d 70 6f 72 74 20 7b 20 73 74 72 65 61 6d 54 65 78 74 20 7d 20 66 72 6f 6d 20 22 61 69 22 | .import.{.streamText.}.from."ai" |
| 0100 | 3b 0a 69 6d 70 6f 72 74 20 7b 20 67 65 74 41 67 65 6e 74 44 69 72 50 61 74 68 73 20 7d 20 66 72 | ;.import.{.getAgentDirPaths.}.fr |
| 0120 | 6f 6d 20 22 2e 2e 2f 61 67 65 6e 74 73 2f 6c 6f 61 64 65 72 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 | om."../agents/loader.js";.import |
| 0140 | 20 7b 20 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 20 7d 20 66 72 6f 6d 20 22 2e | .{.appendEventToChunks.}.from.". |
| 0160 | 2e 2f 63 68 75 6e 6b 73 2f 61 70 70 65 6e 64 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 62 75 | ./chunks/append.js";.import.{.bu |
| 0180 | 69 6c 64 42 69 6c 6c 69 6e 67 48 65 61 64 65 72 56 61 6c 75 65 2c 20 53 59 53 54 45 4d 5f 49 44 | ildBillingHeaderValue,.SYSTEM_ID |
| 01a0 | 45 4e 54 49 54 59 20 7d 20 66 72 6f 6d 20 22 2e 2e 2f 63 72 65 64 65 6e 74 69 61 6c 73 2f 63 6c | ENTITY.}.from."../credentials/cl |
| 01c0 | 61 75 64 65 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 0a 09 6c 6f 67 41 67 65 6e 74 4c 6f 6f 70 | aude.js";.import.{..logAgentLoop |
| 01e0 | 2c 0a 09 6c 6f 67 53 74 65 70 4c 69 66 65 63 79 63 6c 65 2c 0a 09 6c 6f 67 53 74 72 65 61 6d 45 | ,..logStepLifecycle,..logStreamE |
| 0200 | 76 65 6e 74 2c 0a 09 6e 65 78 74 44 65 62 75 67 53 65 71 2c 0a 7d 20 66 72 6f 6d 20 22 2e 2e 2f | vent,..nextDebugSeq,.}.from."../ |
| 0220 | 6c 6c 6d 2f 64 65 62 75 67 2d 6c 6f 67 67 65 72 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 0a 09 | llm/debug-logger.js";.import.{.. |
| 0240 | 63 72 65 61 74 65 50 72 6f 76 69 64 65 72 2c 0a 09 74 79 70 65 20 4d 6f 64 65 6c 46 61 63 74 6f | createProvider,..type.ModelFacto |
| 0260 | 72 79 2c 0a 09 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 2c 0a 09 75 6e 70 72 65 66 69 78 54 6f | ry,..prefixToolName,..unprefixTo |
| 0280 | 6f 6c 4e 61 6d 65 2c 0a 7d 20 66 72 6f 6d 20 22 2e 2e 2f 6c 6c 6d 2f 70 72 6f 76 69 64 65 72 2e | olName,.}.from."../llm/provider. |
| 02a0 | 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 20 7d 20 66 72 6f | js";.import.{.canonicalize.}.fro |
| 02c0 | 6d 20 22 2e 2e 2f 74 6f 6f 6c 73 2f 70 61 74 68 2d 75 74 69 6c 73 2e 6a 73 22 3b 0a 69 6d 70 6f | m."../tools/path-utils.js";.impo |
| 02e0 | 72 74 20 7b 20 63 72 65 61 74 65 54 6f 6f 6c 52 65 67 69 73 74 72 79 20 7d 20 66 72 6f 6d 20 22 | rt.{.createToolRegistry.}.from." |
| 0300 | 2e 2e 2f 74 6f 6f 6c 73 2f 72 65 67 69 73 74 72 79 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 | ../tools/registry.js";.import.{. |
| 0320 | 61 6e 61 6c 79 7a 65 43 6f 6d 6d 61 6e 64 20 7d 20 66 72 6f 6d 20 22 2e 2e 2f 74 6f 6f 6c 73 2f | analyzeCommand.}.from."../tools/ |
| 0340 | 73 68 65 6c 6c 2d 61 6e 61 6c 79 7a 65 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 61 70 70 6c | shell-analyze.js";.import.{.appl |
| 0360 | 79 54 72 75 6e 63 61 74 69 6f 6e 2c 20 53 50 49 4c 4c 5f 52 4f 4f 54 20 7d 20 66 72 6f 6d 20 22 | yTruncation,.SPILL_ROOT.}.from." |
| 0380 | 2e 2e 2f 74 6f 6f 6c 73 2f 74 72 75 6e 63 61 74 65 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 74 79 | ../tools/truncate.js";.import.ty |
| 03a0 | 70 65 20 7b 0a 09 41 67 65 6e 74 43 6f 6e 66 69 67 2c 0a 09 41 67 65 6e 74 45 76 65 6e 74 2c 0a | pe.{..AgentConfig,..AgentEvent,. |
| 03c0 | 09 41 67 65 6e 74 53 74 61 74 75 73 2c 0a 09 43 68 61 74 4d 65 73 73 61 67 65 2c 0a 09 43 68 75 | .AgentStatus,..ChatMessage,..Chu |
| 03e0 | 6e 6b 2c 0a 09 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 2c 0a 09 52 65 61 73 6f 6e 69 6e 67 45 | nk,..QueueCallbacks,..ReasoningE |
| 0400 | 66 66 6f 72 74 2c 0a 09 54 6f 6f 6c 43 61 6c 6c 2c 0a 09 54 6f 6f 6c 52 65 73 75 6c 74 2c 0a 09 | ffort,..ToolCall,..ToolResult,.. |
| 0420 | 55 73 61 67 65 44 61 74 61 2c 0a 09 55 73 65 72 43 6f 6e 74 65 6e 74 50 61 72 74 2c 0a 7d 20 66 | UsageData,..UserContentPart,.}.f |
| 0440 | 72 6f 6d 20 22 2e 2e 2f 74 79 70 65 73 2f 69 6e 64 65 78 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 | rom."../types/index.js";.import. |
| 0460 | 7b 20 44 45 46 41 55 4c 54 5f 52 45 41 53 4f 4e 49 4e 47 5f 45 46 46 4f 52 54 20 7d 20 66 72 6f | {.DEFAULT_REASONING_EFFORT.}.fro |
| 0480 | 6d 20 22 2e 2e 2f 74 79 70 65 73 2f 69 6e 64 65 78 2e 6a 73 22 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 | m."../types/index.js";../**..*.R |
| 04a0 | 65 62 75 69 6c 64 20 41 49 20 53 44 4b 20 60 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 60 20 66 | ebuild.AI.SDK.`ModelMessage[]`.f |
| 04c0 | 72 6f 6d 20 6f 75 72 20 69 6e 74 65 72 6e 61 6c 20 60 43 68 61 74 4d 65 73 73 61 67 65 5b 5d 60 | rom.our.internal.`ChatMessage[]` |
| 04e0 | 2e 0a 20 2a 0a 20 2a 20 53 74 72 69 70 20 72 75 6c 65 73 20 28 73 65 65 20 70 6c 61 6e 2d 63 68 | ...*..*.Strip.rules.(see.plan-ch |
| 0500 | 75 6e 6b 2d 72 65 66 61 63 74 6f 72 2e 6d 64 29 3a 0a 20 2a 20 20 2d 20 60 72 6f 6c 65 3a 20 22 | unk-refactor.md):..*..-.`role:." |
| 0520 | 73 79 73 74 65 6d 22 60 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 73 6b 69 70 70 65 64 20 77 68 | system"`.messages.are.skipped.wh |
| 0540 | 6f 6c 65 73 61 6c 65 20 28 74 68 65 79 27 72 65 20 64 69 73 70 6c 61 79 2d 6f 6e 6c 79 0a 20 2a | olesale.(they're.display-only..* |
| 0560 | 20 20 20 20 73 74 61 6e 64 61 6c 6f 6e 65 2d 73 79 73 74 65 6d 20 62 75 62 62 6c 65 73 20 74 68 | ....standalone-system.bubbles.th |
| 0580 | 61 74 20 65 78 69 73 74 20 6f 75 74 73 69 64 65 20 61 6e 79 20 6d 6f 64 65 6c 20 74 75 72 6e 29 | at.exist.outside.any.model.turn) |
| 05a0 | 2e 0a 20 2a 20 20 2d 20 60 65 72 72 6f 72 60 20 63 68 75 6e 6b 73 20 61 72 65 20 73 6b 69 70 70 | ...*..-.`error`.chunks.are.skipp |
| 05c0 | 65 64 20 e2 80 94 20 74 68 65 20 74 75 72 6e 20 65 6e 64 65 64 3b 20 74 68 65 20 4c 4c 4d 20 64 | ed.....the.turn.ended;.the.LLM.d |
| 05e0 | 6f 65 73 6e 27 74 20 6e 65 65 64 20 74 68 65 6d 2e 0a 20 2a 20 20 2d 20 60 73 79 73 74 65 6d 60 | oesn't.need.them...*..-.`system` |
| 0600 | 20 63 68 75 6e 6b 73 20 61 72 65 20 73 6b 69 70 70 65 64 20 e2 80 94 20 64 69 73 70 6c 61 79 2d | .chunks.are.skipped.....display- |
| 0620 | 6f 6e 6c 79 20 6e 6f 74 69 63 65 73 2e 0a 20 2a 20 20 2d 20 60 74 65 78 74 60 20 63 68 75 6e 6b | only.notices...*..-.`text`.chunk |
| 0640 | 73 20 e2 86 92 20 60 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 2c 20 74 65 78 74 20 7d 60 20 70 | s.....`{.type:."text",.text.}`.p |
| 0660 | 61 72 74 73 2e 0a 20 2a 20 20 2d 20 60 74 68 69 6e 6b 69 6e 67 60 20 63 68 75 6e 6b 73 20 e2 86 | arts...*..-.`thinking`.chunks... |
| 0680 | 92 20 60 7b 20 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 22 2c 20 74 65 78 74 2c 20 70 72 | ..`{.type:."reasoning",.text,.pr |
| 06a0 | 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 3f 20 7d 60 20 70 61 72 74 73 2e 0a 20 2a 20 20 20 20 54 | oviderOptions?.}`.parts...*....T |
| 06c0 | 68 65 20 60 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 60 20 63 61 72 72 69 65 73 20 74 68 65 | he.`providerOptions`.carries.the |
| 06e0 | 20 41 6e 74 68 72 6f 70 69 63 20 73 69 67 6e 61 74 75 72 65 20 62 6c 6f 62 20 28 69 66 20 70 72 | .Anthropic.signature.blob.(if.pr |
| 0700 | 65 73 65 6e 74 29 20 73 6f 0a 20 2a 20 20 20 20 41 6e 74 68 72 6f 70 69 63 20 63 61 6e 20 76 61 | esent).so..*....Anthropic.can.va |
| 0720 | 6c 69 64 61 74 65 20 65 78 74 65 6e 64 65 64 2d 74 68 69 6e 6b 69 6e 67 20 72 6f 75 6e 64 2d 74 | lidate.extended-thinking.round-t |
| 0740 | 72 69 70 73 2e 20 4e 6f 6e 2d 41 6e 74 68 72 6f 70 69 63 0a 20 2a 20 20 20 20 72 65 61 73 6f 6e | rips..Non-Anthropic..*....reason |
| 0760 | 69 6e 67 20 68 61 73 20 6e 6f 20 6d 65 74 61 64 61 74 61 20 61 6e 64 20 69 73 20 73 65 6e 74 20 | ing.has.no.metadata.and.is.sent. |
| 0780 | 77 69 74 68 6f 75 74 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 28 61 63 63 65 70 74 65 | without.providerOptions.(accepte |
| 07a0 | 64 0a 20 2a 20 20 20 20 62 79 20 41 6e 74 68 72 6f 70 69 63 20 e2 80 94 20 69 74 20 6a 75 73 74 | d..*....by.Anthropic.....it.just |
| 07c0 | 20 77 6f 6e 27 74 20 76 65 72 69 66 79 20 61 20 6d 69 73 73 69 6e 67 20 73 69 67 6e 61 74 75 72 | .won't.verify.a.missing.signatur |
| 07e0 | 65 29 2e 0a 20 2a 20 20 2d 20 60 74 6f 6f 6c 2d 62 61 74 63 68 60 20 63 68 75 6e 6b 73 20 e2 86 | e)...*..-.`tool-batch`.chunks... |
| 0800 | 92 20 6f 6e 65 20 60 7b 20 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 20 7d 60 20 70 61 | ..one.`{.type:."tool-call".}`.pa |
| 0820 | 72 74 20 70 65 72 20 65 6e 74 72 79 0a 20 2a 20 20 20 20 69 6e 73 69 64 65 20 74 68 65 20 63 75 | rt.per.entry..*....inside.the.cu |
| 0840 | 72 72 65 6e 74 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 2c 20 66 6f 6c 6c 6f 77 65 | rrent.assistant.message,.followe |
| 0860 | 64 20 62 79 20 61 20 53 49 4e 47 4c 45 0a 20 2a 20 20 20 20 60 7b 20 72 6f 6c 65 3a 20 22 74 6f | d.by.a.SINGLE..*....`{.role:."to |
| 0880 | 6f 6c 22 2c 20 63 6f 6e 74 65 6e 74 3a 20 5b 2e 2e 2e 61 6c 6c 20 74 6f 6f 6c 2d 72 65 73 75 6c | ol",.content:.[...all.tool-resul |
| 08a0 | 74 20 70 61 72 74 73 5d 20 7d 60 20 6d 65 73 73 61 67 65 20 68 6f 6c 64 69 6e 67 0a 20 2a 20 20 | t.parts].}`.message.holding..*.. |
| 08c0 | 20 20 65 76 65 72 79 20 65 6e 74 72 79 20 74 68 61 74 20 68 61 73 20 61 20 72 65 73 75 6c 74 2e | ..every.entry.that.has.a.result. |
| 08e0 | 20 47 72 6f 75 70 69 6e 67 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 6f 6e 65 20 6d 65 73 73 61 | .Grouping.(rather.than.one.messa |
| 0900 | 67 65 20 70 65 72 0a 20 2a 20 20 20 20 72 65 73 75 6c 74 29 20 6b 65 65 70 73 20 41 6e 74 68 72 | ge.per..*....result).keeps.Anthr |
| 0920 | 6f 70 69 63 20 70 72 6f 6d 70 74 2d 63 61 63 68 69 6e 67 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 | opic.prompt-caching.breakpoints. |
| 0940 | 6c 61 6e 64 69 6e 67 20 6f 6e 20 74 68 65 0a 20 2a 20 20 20 20 61 73 73 69 73 74 61 6e 74 2f 74 | landing.on.the..*....assistant/t |
| 0960 | 6f 6f 6c 20 74 75 72 6e 20 62 6f 75 6e 64 61 72 79 3b 20 74 68 65 20 77 69 72 65 20 66 6f 72 6d | ool.turn.boundary;.the.wire.form |
| 0980 | 61 74 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 20 62 6f 74 68 20 74 68 65 0a 20 2a 20 | at.is.identical.for.both.the..*. |
| 09a0 | 20 20 20 41 6e 74 68 72 6f 70 69 63 20 61 6e 64 20 4f 70 65 6e 41 49 2d 63 6f 6d 70 61 74 69 62 | ...Anthropic.and.OpenAI-compatib |
| 09c0 | 6c 65 20 62 61 63 6b 65 6e 64 73 2e 0a 20 2a 0a 20 2a 20 4d 69 78 65 64 2d 72 65 73 6f 6c 75 74 | le.backends...*..*.Mixed-resolut |
| 09e0 | 69 6f 6e 20 74 6f 6f 6c 20 62 61 74 63 68 65 73 20 28 73 6f 6d 65 20 65 6e 74 72 69 65 73 20 77 | ion.tool.batches.(some.entries.w |
| 0a00 | 69 74 68 20 60 72 65 73 75 6c 74 60 2c 20 73 6f 6d 65 20 77 69 74 68 6f 75 74 29 3a 0a 20 2a 20 | ith.`result`,.some.without):..*. |
| 0a20 | 77 65 20 65 6d 69 74 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 73 20 6f 6e 6c 79 20 66 6f 72 20 74 68 | we.emit.tool-results.only.for.th |
| 0a40 | 65 20 65 6e 74 72 69 65 73 20 74 68 61 74 20 68 61 76 65 20 74 68 65 6d 2e 20 49 6e 20 70 72 61 | e.entries.that.have.them..In.pra |
| 0a60 | 63 74 69 63 65 0a 20 2a 20 74 68 65 20 61 67 65 6e 74 20 72 65 73 6f 6c 76 65 73 20 65 76 65 72 | ctice..*.the.agent.resolves.ever |
| 0a80 | 79 20 74 6f 6f 6c 20 63 61 6c 6c 20 69 6e 20 61 20 73 74 65 70 20 62 65 66 6f 72 65 20 6c 6f 6f | y.tool.call.in.a.step.before.loo |
| 0aa0 | 70 69 6e 67 20 62 61 63 6b 20 74 6f 20 74 68 65 0a 20 2a 20 4c 4c 4d 2c 20 73 6f 20 74 68 69 73 | ping.back.to.the..*.LLM,.so.this |
| 0ac0 | 20 63 61 73 65 20 6f 6e 6c 79 20 61 72 69 73 65 73 20 6d 69 64 2d 73 74 65 70 20 28 77 68 65 72 | .case.only.arises.mid-step.(wher |
| 0ae0 | 65 20 74 68 65 20 6d 65 73 73 61 67 65 20 68 61 73 6e 27 74 20 62 65 65 6e 0a 20 2a 20 72 6f 75 | e.the.message.hasn't.been..*.rou |
| 0b00 | 6e 64 2d 74 72 69 70 70 65 64 20 74 6f 20 74 68 65 20 4c 4c 4d 20 79 65 74 29 20 61 6e 64 20 69 | nd-tripped.to.the.LLM.yet).and.i |
| 0b20 | 73 20 62 65 6e 69 67 6e 2e 0a 20 2a 2f 0a 2f 2a 2a 0a 20 2a 20 4d 61 72 6b 65 72 20 75 73 65 64 | s.benign...*/./**..*.Marker.used |
| 0b40 | 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 60 5b 55 53 | .to.identify.the.start.of.a.`[US |
| 0b60 | 45 52 20 49 4e 54 45 52 52 55 50 54 5d 60 20 62 6c 6f 63 6b 20 65 6d 62 65 64 64 65 64 0a 20 2a | ER.INTERRUPT]`.block.embedded..* |
| 0b80 | 20 69 6e 20 61 20 74 6f 6f 6c 20 72 65 73 75 6c 74 2e 20 42 6f 74 68 20 74 68 65 20 61 67 65 6e | .in.a.tool.result..Both.the.agen |
| 0ba0 | 74 2d 6c 65 76 65 6c 20 69 6e 6a 65 63 74 69 6f 6e 0a 20 2a 20 28 60 70 61 63 6b 61 67 65 73 2f | t-level.injection..*.(`packages/ |
| 0bc0 | 63 6f 72 65 2f 73 72 63 2f 61 67 65 6e 74 2f 61 67 65 6e 74 2e 74 73 60 29 20 61 6e 64 20 74 68 | core/src/agent/agent.ts`).and.th |
| 0be0 | 65 20 74 6f 6f 6c 2d 6c 65 76 65 6c 20 69 6e 6a 65 63 74 69 6f 6e 73 20 69 6e 0a 20 2a 20 60 72 | e.tool-level.injections.in..*.`r |
| 0c00 | 75 6e 2d 73 68 65 6c 6c 60 2c 20 60 79 6f 75 74 75 62 65 2d 74 72 61 6e 73 63 72 69 62 65 60 2c | un-shell`,.`youtube-transcribe`, |
| 0c20 | 20 61 6e 64 20 60 72 65 74 72 69 65 76 65 60 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 73 65 70 | .and.`retrieve`.use.the.same.sep |
| 0c40 | 61 72 61 74 6f 72 0a 20 2a 20 28 60 5c 6e 5c 6e 5b 55 53 45 52 20 49 4e 54 45 52 52 55 50 54 5d | arator..*.(`\n\n[USER.INTERRUPT] |
| 0c60 | 60 29 20 62 65 66 6f 72 65 20 74 68 65 20 62 6f 69 6c 65 72 70 6c 61 74 65 2c 20 73 6f 20 61 20 | `).before.the.boilerplate,.so.a. |
| 0c80 | 73 69 6e 67 6c 65 20 73 75 62 73 74 72 69 6e 67 0a 20 2a 20 73 65 61 72 63 68 20 73 75 66 66 69 | single.substring..*.search.suffi |
| 0ca0 | 63 65 73 20 66 6f 72 20 73 74 72 69 70 70 69 6e 67 2e 0a 20 2a 2f 0a 63 6f 6e 73 74 20 55 53 45 | ces.for.stripping...*/.const.USE |
| 0cc0 | 52 5f 49 4e 54 45 52 52 55 50 54 5f 4d 41 52 4b 45 52 20 3d 20 22 5c 6e 5c 6e 5b 55 53 45 52 20 | R_INTERRUPT_MARKER.=."\n\n[USER. |
| 0ce0 | 49 4e 54 45 52 52 55 50 54 5d 22 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 65 6d 6f 76 65 20 74 68 65 20 | INTERRUPT]";../**..*.Remove.the. |
| 0d00 | 60 5b 55 53 45 52 20 49 4e 54 45 52 52 55 50 54 5d 60 20 62 6c 6f 63 6b 20 28 61 6e 64 20 65 76 | `[USER.INTERRUPT]`.block.(and.ev |
| 0d20 | 65 72 79 74 68 69 6e 67 20 61 66 74 65 72 20 69 74 29 20 66 72 6f 6d 20 61 20 74 6f 6f 6c 0a 20 | erything.after.it).from.a.tool.. |
| 0d40 | 2a 20 72 65 73 75 6c 74 20 73 74 72 69 6e 67 2e 20 55 73 65 64 20 77 68 65 6e 20 61 20 68 69 73 | *.result.string..Used.when.a.his |
| 0d60 | 74 6f 72 69 63 61 6c 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 69 73 20 62 65 69 6e 67 20 72 65 2d | torical.tool-result.is.being.re- |
| 0d80 | 73 65 72 69 61 6c 69 7a 65 64 0a 20 2a 20 66 6f 72 20 74 68 65 20 4c 4c 4d 20 61 6e 64 20 74 68 | serialized..*.for.the.LLM.and.th |
| 0da0 | 65 20 6d 6f 64 65 6c 20 68 61 73 20 61 6c 72 65 61 64 79 20 68 61 64 20 61 20 63 68 61 6e 63 65 | e.model.has.already.had.a.chance |
| 0dc0 | 20 74 6f 20 61 64 64 72 65 73 73 20 74 68 61 74 0a 20 2a 20 69 6e 74 65 72 72 75 70 74 20 e2 80 | .to.address.that..*.interrupt... |
| 0de0 | 94 20 6c 65 61 76 69 6e 67 20 74 68 65 20 69 6d 70 65 72 61 74 69 76 65 20 22 59 6f 75 20 4d 55 | ..leaving.the.imperative."You.MU |
| 0e00 | 53 54 20 61 64 64 72 65 73 73 20 74 68 65 73 65 22 20 74 65 78 74 20 69 6e 0a 20 2a 20 70 6c 61 | ST.address.these".text.in..*.pla |
| 0e20 | 63 65 20 63 61 75 73 65 73 20 74 68 65 20 6d 6f 64 65 6c 20 74 6f 20 72 65 2d 61 63 6b 6e 6f 77 | ce.causes.the.model.to.re-acknow |
| 0e40 | 6c 65 64 67 65 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 72 72 75 70 74 20 6f 6e 20 65 76 65 72 | ledge.the.same.interrupt.on.ever |
| 0e60 | 79 0a 20 2a 20 73 75 62 73 65 71 75 65 6e 74 20 73 74 65 70 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 | y..*.subsequent.step...*..*.The. |
| 0e80 | 69 6e 74 65 72 72 75 70 74 20 62 6c 6f 63 6b 20 69 73 20 61 6c 77 61 79 73 20 61 70 70 65 6e 64 | interrupt.block.is.always.append |
| 0ea0 | 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 74 6f 6f 6c 20 72 65 73 75 6c 74 | ed.to.the.end.of.the.tool.result |
| 0ec0 | 2c 20 73 6f 0a 20 2a 20 77 65 20 73 74 72 69 70 20 66 72 6f 6d 20 74 68 65 20 6d 61 72 6b 65 72 | ,.so..*.we.strip.from.the.marker |
| 0ee0 | 20 74 6f 20 65 6e 64 2d 6f 66 2d 73 74 72 69 6e 67 2e 0a 20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 | .to.end-of-string...*/.function. |
| 0f00 | 73 74 72 69 70 55 73 65 72 49 6e 74 65 72 72 75 70 74 42 6c 6f 63 6b 28 72 65 73 75 6c 74 3a 20 | stripUserInterruptBlock(result:. |
| 0f20 | 73 74 72 69 6e 67 29 3a 20 73 74 72 69 6e 67 20 7b 0a 09 63 6f 6e 73 74 20 69 64 78 20 3d 20 72 | string):.string.{..const.idx.=.r |
| 0f40 | 65 73 75 6c 74 2e 69 6e 64 65 78 4f 66 28 55 53 45 52 5f 49 4e 54 45 52 52 55 50 54 5f 4d 41 52 | esult.indexOf(USER_INTERRUPT_MAR |
| 0f60 | 4b 45 52 29 3b 0a 09 69 66 20 28 69 64 78 20 3d 3d 3d 20 2d 31 29 20 72 65 74 75 72 6e 20 72 65 | KER);..if.(idx.===.-1).return.re |
| 0f80 | 73 75 6c 74 3b 0a 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 2e 73 6c 69 63 65 28 30 2c 20 69 64 | sult;..return.result.slice(0,.id |
| 0fa0 | 78 29 3b 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 53 74 61 62 6c 65 20 6b 65 79 20 66 6f 72 20 63 6f 6c | x);.}../**..*.Stable.key.for.col |
| 0fc0 | 6c 61 70 73 69 6e 67 20 62 79 74 65 2d 69 64 65 6e 74 69 63 61 6c 20 74 6f 6f 6c 20 63 61 6c 6c | lapsing.byte-identical.tool.call |
| 0fe0 | 73 20 69 6e 73 69 64 65 20 61 20 73 69 6e 67 6c 65 20 62 61 74 63 68 2e 0a 20 2a 0a 20 2a 20 43 | s.inside.a.single.batch...*..*.C |
| 1000 | 6c 61 75 64 65 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 64 65 67 65 6e 65 72 61 74 65 73 20 69 | laude.occasionally.degenerates.i |
| 1020 | 6e 74 6f 20 61 20 67 65 6e 65 72 61 74 69 6f 6e 20 6c 6f 6f 70 20 61 6e 64 20 65 6d 69 74 73 20 | nto.a.generation.loop.and.emits. |
| 1040 | 74 68 65 20 73 61 6d 65 0a 20 2a 20 74 6f 6f 6c 20 63 61 6c 6c 20 28 73 61 6d 65 20 6e 61 6d 65 | the.same..*.tool.call.(same.name |
| 1060 | 20 2b 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 29 20 64 6f 7a 65 6e 73 20 e2 80 94 20 65 76 | .+.same.arguments).dozens.....ev |
| 1080 | 65 6e 20 31 35 30 2b 20 e2 80 94 20 74 69 6d 65 73 20 69 6e 20 6f 6e 65 0a 20 2a 20 70 61 72 61 | en.150+.....times.in.one..*.para |
| 10a0 | 6c 6c 65 6c 20 62 61 74 63 68 20 28 73 65 65 20 74 6f 6f 6c 2d 72 75 6e 6e 65 72 2d 64 75 70 6c | llel.batch.(see.tool-runner-dupl |
| 10c0 | 69 63 61 74 69 6f 6e 2d 69 6e 63 69 64 65 6e 74 2e 6d 64 29 2e 20 45 61 63 68 20 63 6f 70 79 20 | ication-incident.md)..Each.copy. |
| 10e0 | 63 61 72 72 69 65 73 0a 20 2a 20 69 74 73 20 6f 77 6e 20 75 6e 69 71 75 65 20 60 74 6f 6f 6c 43 | carries..*.its.own.unique.`toolC |
| 1100 | 61 6c 6c 49 64 60 2c 20 73 6f 20 41 6e 74 68 72 6f 70 69 63 20 73 74 69 6c 6c 20 72 65 71 75 69 | allId`,.so.Anthropic.still.requi |
| 1120 | 72 65 73 20 61 20 60 74 6f 6f 6c 5f 72 65 73 75 6c 74 60 20 66 6f 72 0a 20 2a 20 65 76 65 72 79 | res.a.`tool_result`.for..*.every |
| 1140 | 20 6f 6e 65 2c 20 62 75 74 20 72 65 2d 65 78 65 63 75 74 69 6e 67 20 69 64 65 6e 74 69 63 61 6c | .one,.but.re-executing.identical |
| 1160 | 20 69 64 65 6d 70 6f 74 65 6e 74 20 72 65 61 64 73 20 77 61 73 74 65 73 20 72 65 61 6c 20 77 61 | .idempotent.reads.wastes.real.wa |
| 1180 | 6c 6c 2d 63 6c 6f 63 6b 0a 20 2a 20 74 69 6d 65 20 61 6e 64 20 6d 6f 6e 65 79 20 61 6e 64 20 66 | ll-clock..*.time.and.money.and.f |
| 11a0 | 6c 6f 6f 64 73 20 74 68 65 20 63 6f 6e 74 65 78 74 20 77 69 74 68 20 72 65 64 75 6e 64 61 6e 74 | loods.the.context.with.redundant |
| 11c0 | 20 6f 75 74 70 75 74 2e 0a 20 2a 0a 20 2a 20 52 65 74 75 72 6e 69 6e 67 20 61 20 6e 6f 6e 2d 6e | .output...*..*.Returning.a.non-n |
| 11e0 | 75 6c 6c 20 6b 65 79 20 68 65 72 65 20 6c 65 74 73 20 74 68 65 20 65 78 65 63 75 74 6f 72 20 72 | ull.key.here.lets.the.executor.r |
| 1200 | 75 6e 20 74 68 65 20 46 49 52 53 54 20 6f 63 63 75 72 72 65 6e 63 65 20 61 6e 64 0a 20 2a 20 72 | un.the.FIRST.occurrence.and..*.r |
| 1220 | 65 75 73 65 20 69 74 73 20 72 65 73 75 6c 74 20 66 6f 72 20 65 76 65 72 79 20 73 75 62 73 65 71 | euse.its.result.for.every.subseq |
| 1240 | 75 65 6e 74 20 69 64 65 6e 74 69 63 61 6c 20 63 61 6c 6c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 | uent.identical.call.in.the.same. |
| 1260 | 62 61 74 63 68 2e 20 54 68 65 0a 20 2a 20 6b 65 79 20 72 65 6c 69 65 73 20 6f 6e 20 60 4a 53 4f | batch..The..*.key.relies.on.`JSO |
| 1280 | 4e 2e 73 74 72 69 6e 67 69 66 79 60 20 70 72 65 73 65 72 76 69 6e 67 20 61 72 67 75 6d 65 6e 74 | N.stringify`.preserving.argument |
| 12a0 | 20 6f 72 64 65 72 20 e2 80 94 20 74 77 6f 20 69 64 65 6e 74 69 63 61 6c 0a 20 2a 20 67 65 6e 65 | .order.....two.identical..*.gene |
| 12c0 | 72 61 74 69 6f 6e 73 20 73 65 72 69 61 6c 69 7a 65 20 69 64 65 6e 74 69 63 61 6c 6c 79 20 e2 80 | rations.serialize.identically... |
| 12e0 | 94 20 77 68 69 63 68 20 63 6f 76 65 72 73 20 74 68 65 20 6f 62 73 65 72 76 65 64 20 66 61 69 6c | ..which.covers.the.observed.fail |
| 1300 | 75 72 65 20 6d 6f 64 65 2e 0a 20 2a 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 63 61 | ure.mode...*.If.the.arguments.ca |
| 1320 | 6e 27 74 20 62 65 20 73 65 72 69 61 6c 69 7a 65 64 20 77 65 20 72 65 74 75 72 6e 20 60 6e 75 6c | n't.be.serialized.we.return.`nul |
| 1340 | 6c 60 2c 20 77 68 69 63 68 20 64 69 73 61 62 6c 65 73 20 64 65 64 75 70 0a 20 2a 20 66 6f 72 20 | l`,.which.disables.dedup..*.for. |
| 1360 | 74 68 61 74 20 63 61 6c 6c 20 28 69 74 20 61 6c 77 61 79 73 20 65 78 65 63 75 74 65 73 29 2e 0a | that.call.(it.always.executes).. |
| 1380 | 20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 74 6f 6f 6c 44 65 64 75 70 4b 65 79 28 6e 61 6d 65 3a 20 | .*/.function.toolDedupKey(name:. |
| 13a0 | 73 74 72 69 6e 67 2c 20 61 72 67 73 3a 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b | string,.args:.Record<string,.unk |
| 13c0 | 6e 6f 77 6e 3e 29 3a 20 73 74 72 69 6e 67 20 7c 20 6e 75 6c 6c 20 7b 0a 09 74 72 79 20 7b 0a 09 | nown>):.string.|.null.{..try.{.. |
| 13e0 | 09 72 65 74 75 72 6e 20 60 24 7b 6e 61 6d 65 7d 00 24 7b 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 | .return.`${name}.${JSON.stringif |
| 1400 | 79 28 61 72 67 73 20 3f 3f 20 7b 7d 29 7d 60 3b 0a 09 7d 20 63 61 74 63 68 20 7b 0a 09 09 72 65 | y(args.??.{})}`;..}.catch.{...re |
| 1420 | 74 75 72 6e 20 6e 75 6c 6c 3b 0a 09 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6e 76 65 72 74 20 | turn.null;..}.}../**..*.Convert. |
| 1440 | 61 20 75 73 65 72 20 74 75 72 6e 27 73 20 65 70 68 65 6d 65 72 61 6c 20 6d 75 6c 74 69 6d 6f 64 | a.user.turn's.ephemeral.multimod |
| 1460 | 61 6c 20 60 63 6f 6e 74 65 6e 74 60 20 69 6e 74 6f 20 41 49 20 53 44 4b 20 75 73 65 72 2d 63 6f | al.`content`.into.AI.SDK.user-co |
| 1480 | 6e 74 65 6e 74 0a 20 2a 20 70 61 72 74 73 20 28 60 54 65 78 74 50 61 72 74 20 7c 20 49 6d 61 67 | ntent..*.parts.(`TextPart.|.Imag |
| 14a0 | 65 50 61 72 74 20 7c 20 46 69 6c 65 50 61 72 74 60 29 2c 20 70 72 65 73 65 72 76 69 6e 67 20 6f | ePart.|.FilePart`),.preserving.o |
| 14c0 | 72 64 65 72 2e 20 49 6d 61 67 65 73 20 62 65 63 6f 6d 65 0a 20 2a 20 60 49 6d 61 67 65 50 61 72 | rder..Images.become..*.`ImagePar |
| 14e0 | 74 60 73 3b 20 50 44 46 73 20 28 61 6e 64 20 61 6e 79 20 6e 6f 6e 2d 69 6d 61 67 65 20 61 74 74 | t`s;.PDFs.(and.any.non-image.att |
| 1500 | 61 63 68 6d 65 6e 74 29 20 62 65 63 6f 6d 65 20 60 46 69 6c 65 50 61 72 74 60 73 2e 20 54 68 65 | achment).become.`FilePart`s..The |
| 1520 | 0a 20 2a 20 62 61 73 65 36 34 20 70 61 79 6c 6f 61 64 20 69 73 20 77 72 61 70 70 65 64 20 69 6e | ..*.base64.payload.is.wrapped.in |
| 1540 | 20 61 20 60 64 61 74 61 3a 60 20 55 52 49 20 73 6f 20 74 68 65 20 53 44 4b 20 61 63 63 65 70 74 | .a.`data:`.URI.so.the.SDK.accept |
| 1560 | 73 20 69 74 20 64 69 72 65 63 74 6c 79 2e 0a 20 2a 0a 20 2a 20 52 65 74 75 72 6e 73 20 60 6e 75 | s.it.directly...*..*.Returns.`nu |
| 1580 | 6c 6c 60 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 61 63 74 75 61 6c 20 61 74 74 61 | ll`.when.there.is.no.actual.atta |
| 15a0 | 63 68 6d 65 6e 74 20 28 6e 6f 20 60 63 6f 6e 74 65 6e 74 60 2c 20 6f 72 20 6f 6e 6c 79 20 74 65 | chment.(no.`content`,.or.only.te |
| 15c0 | 78 74 0a 20 2a 20 70 61 72 74 73 29 2c 20 73 6f 20 74 68 65 20 63 61 6c 6c 65 72 20 66 61 6c 6c | xt..*.parts),.so.the.caller.fall |
| 15e0 | 73 20 62 61 63 6b 20 74 6f 20 74 68 65 20 70 6c 61 69 6e 2d 73 74 72 69 6e 67 20 70 61 74 68 20 | s.back.to.the.plain-string.path. |
| 1600 | 61 6e 64 20 74 65 78 74 2d 6f 6e 6c 79 20 74 75 72 6e 73 0a 20 2a 20 73 65 72 69 61 6c 69 7a 65 | and.text-only.turns..*.serialize |
| 1620 | 20 62 79 74 65 2d 69 64 65 6e 74 69 63 61 6c 6c 79 20 74 6f 20 62 65 66 6f 72 65 2e 0a 20 2a 2f | .byte-identically.to.before...*/ |
| 1640 | 0a 66 75 6e 63 74 69 6f 6e 20 75 73 65 72 43 6f 6e 74 65 6e 74 54 6f 50 61 72 74 73 28 0a 09 63 | .function.userContentToParts(..c |
| 1660 | 6f 6e 74 65 6e 74 3a 20 55 73 65 72 43 6f 6e 74 65 6e 74 50 61 72 74 5b 5d 20 7c 20 75 6e 64 65 | ontent:.UserContentPart[].|.unde |
| 1680 | 66 69 6e 65 64 2c 0a 29 3a 20 41 72 72 61 79 3c 54 65 78 74 50 61 72 74 20 7c 20 49 6d 61 67 65 | fined,.):.Array<TextPart.|.Image |
| 16a0 | 50 61 72 74 20 7c 20 46 69 6c 65 50 61 72 74 3e 20 7c 20 6e 75 6c 6c 20 7b 0a 09 69 66 20 28 21 | Part.|.FilePart>.|.null.{..if.(! |
| 16c0 | 63 6f 6e 74 65 6e 74 3f 2e 73 6f 6d 65 28 28 70 29 20 3d 3e 20 70 2e 74 79 70 65 20 3d 3d 3d 20 | content?.some((p).=>.p.type.===. |
| 16e0 | 22 61 74 74 61 63 68 6d 65 6e 74 22 29 29 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 09 63 6f 6e | "attachment")).return.null;..con |
| 1700 | 73 74 20 70 61 72 74 73 3a 20 41 72 72 61 79 3c 54 65 78 74 50 61 72 74 20 7c 20 49 6d 61 67 65 | st.parts:.Array<TextPart.|.Image |
| 1720 | 50 61 72 74 20 7c 20 46 69 6c 65 50 61 72 74 3e 20 3d 20 5b 5d 3b 0a 09 66 6f 72 20 28 63 6f 6e | Part.|.FilePart>.=.[];..for.(con |
| 1740 | 73 74 20 70 61 72 74 20 6f 66 20 63 6f 6e 74 65 6e 74 29 20 7b 0a 09 09 69 66 20 28 70 61 72 74 | st.part.of.content).{...if.(part |
| 1760 | 2e 74 79 70 65 20 3d 3d 3d 20 22 74 65 78 74 22 29 20 7b 0a 09 09 09 69 66 20 28 70 61 72 74 2e | .type.===."text").{....if.(part. |
| 1780 | 74 65 78 74 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 70 61 72 74 73 2e 70 75 73 68 28 7b 20 74 79 | text.length.>.0).parts.push({.ty |
| 17a0 | 70 65 3a 20 22 74 65 78 74 22 2c 20 74 65 78 74 3a 20 70 61 72 74 2e 74 65 78 74 20 7d 29 3b 0a | pe:."text",.text:.part.text.});. |
| 17c0 | 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 7d 0a 09 09 63 6f 6e 73 74 20 64 61 74 61 55 72 69 | ...continue;...}...const.dataUri |
| 17e0 | 20 3d 20 60 64 61 74 61 3a 24 7b 70 61 72 74 2e 6d 65 64 69 61 54 79 70 65 7d 3b 62 61 73 65 36 | .=.`data:${part.mediaType};base6 |
| 1800 | 34 2c 24 7b 70 61 72 74 2e 64 61 74 61 7d 60 3b 0a 09 09 69 66 20 28 70 61 72 74 2e 6d 65 64 69 | 4,${part.data}`;...if.(part.medi |
| 1820 | 61 54 79 70 65 2e 73 74 61 72 74 73 57 69 74 68 28 22 69 6d 61 67 65 2f 22 29 29 20 7b 0a 09 09 | aType.startsWith("image/")).{... |
| 1840 | 09 70 61 72 74 73 2e 70 75 73 68 28 7b 20 74 79 70 65 3a 20 22 69 6d 61 67 65 22 2c 20 69 6d 61 | .parts.push({.type:."image",.ima |
| 1860 | 67 65 3a 20 64 61 74 61 55 72 69 2c 20 6d 65 64 69 61 54 79 70 65 3a 20 70 61 72 74 2e 6d 65 64 | ge:.dataUri,.mediaType:.part.med |
| 1880 | 69 61 54 79 70 65 20 7d 29 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 70 61 72 74 73 2e 70 | iaType.});...}.else.{....parts.p |
| 18a0 | 75 73 68 28 7b 0a 09 09 09 09 74 79 70 65 3a 20 22 66 69 6c 65 22 2c 0a 09 09 09 09 64 61 74 61 | ush({.....type:."file",.....data |
| 18c0 | 3a 20 64 61 74 61 55 72 69 2c 0a 09 09 09 09 6d 65 64 69 61 54 79 70 65 3a 20 70 61 72 74 2e 6d | :.dataUri,.....mediaType:.part.m |
| 18e0 | 65 64 69 61 54 79 70 65 2c 0a 09 09 09 09 2e 2e 2e 28 70 61 72 74 2e 6e 61 6d 65 20 3f 20 7b 20 | ediaType,........(part.name.?.{. |
| 1900 | 66 69 6c 65 6e 61 6d 65 3a 20 70 61 72 74 2e 6e 61 6d 65 20 7d 20 3a 20 7b 7d 29 2c 0a 09 09 09 | filename:.part.name.}.:.{}),.... |
| 1920 | 7d 29 3b 0a 09 09 7d 0a 09 7d 0a 09 72 65 74 75 72 6e 20 70 61 72 74 73 3b 0a 7d 0a 0a 66 75 6e | });...}..}..return.parts;.}..fun |
| 1940 | 63 74 69 6f 6e 20 74 6f 4d 6f 64 65 6c 4d 65 73 73 61 67 65 73 28 6d 65 73 73 61 67 65 73 3a 20 | ction.toModelMessages(messages:. |
| 1960 | 43 68 61 74 4d 65 73 73 61 67 65 5b 5d 2c 20 75 73 65 54 6f 6f 6c 50 72 65 66 69 78 3f 3a 20 62 | ChatMessage[],.useToolPrefix?:.b |
| 1980 | 6f 6f 6c 65 61 6e 29 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 20 7b 0a 09 63 6f 6e 73 74 | oolean):.ModelMessage[].{..const |
| 19a0 | 20 72 65 73 75 6c 74 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 20 3d 20 5b 5d 3b 0a 0a 09 | .result:.ModelMessage[].=.[];... |
| 19c0 | 2f 2f 20 41 20 60 5b 55 53 45 52 20 49 4e 54 45 52 52 55 50 54 5d 60 20 62 6c 6f 63 6b 20 69 6e | //.A.`[USER.INTERRUPT]`.block.in |
| 19e0 | 20 61 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 69 73 20 22 66 72 65 73 68 22 20 e2 80 94 20 69 2e | .a.tool-result.is."fresh".....i. |
| 1a00 | 65 2e 2c 20 74 68 65 0a 09 2f 2f 20 6d 6f 64 65 6c 20 68 61 73 20 6e 6f 74 20 79 65 74 20 73 65 | e.,.the..//.model.has.not.yet.se |
| 1a20 | 65 6e 20 61 6e 64 20 72 65 73 70 6f 6e 64 65 64 20 74 6f 20 69 74 20 e2 80 94 20 6f 6e 6c 79 20 | en.and.responded.to.it.....only. |
| 1a40 | 77 68 65 6e 20 41 4c 4c 20 6f 66 20 74 68 65 73 65 0a 09 2f 2f 20 68 6f 6c 64 3a 0a 09 2f 2f 20 | when.ALL.of.these..//.hold:..//. |
| 1a60 | 20 20 31 2e 20 54 68 65 20 74 6f 6f 6c 2d 62 61 74 63 68 20 69 73 20 69 6e 20 74 68 65 20 76 65 | ..1..The.tool-batch.is.in.the.ve |
| 1a80 | 72 79 20 6c 61 73 74 20 6d 65 73 73 61 67 65 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0a | ry.last.message.of.the.history.. |
| 1aa0 | 09 2f 2f 20 20 20 32 2e 20 54 68 61 74 20 6d 65 73 73 61 67 65 20 69 73 20 61 6e 20 61 73 73 69 | .//...2..That.message.is.an.assi |
| 1ac0 | 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 28 61 20 66 6f 6c 6c 6f 77 2d 75 70 20 75 73 65 72 20 | stant.message.(a.follow-up.user. |
| 1ae0 | 6d 65 73 73 61 67 65 0a 09 2f 2f 20 20 20 20 20 20 6d 65 61 6e 73 20 74 68 65 20 75 73 65 72 20 | message..//......means.the.user. |
| 1b00 | 6d 6f 76 65 64 20 6f 6e 3b 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 20 77 61 73 20 61 64 64 72 | moved.on;.the.interrupt.was.addr |
| 1b20 | 65 73 73 65 64 29 2e 0a 09 2f 2f 20 20 20 33 2e 20 54 68 65 20 74 6f 6f 6c 2d 62 61 74 63 68 20 | essed)...//...3..The.tool-batch. |
| 1b40 | 69 73 20 74 68 65 20 4c 41 53 54 20 63 68 75 6e 6b 20 69 6e 20 74 68 61 74 20 6d 65 73 73 61 67 | is.the.LAST.chunk.in.that.messag |
| 1b60 | 65 20 28 61 6e 79 20 6c 61 74 65 72 0a 09 2f 2f 20 20 20 20 20 20 74 65 78 74 2f 74 68 69 6e 6b | e.(any.later..//......text/think |
| 1b80 | 69 6e 67 2f 74 6f 6f 6c 2d 62 61 74 63 68 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6d 65 73 73 61 | ing/tool-batch.in.the.same.messa |
| 1ba0 | 67 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 0a 09 2f 2f 20 20 20 20 20 20 6d 6f 64 65 6c | ge.represents.the..//......model |
| 1bc0 | 27 73 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 74 68 65 20 74 6f 6f 6c 20 72 65 73 75 6c 74 73 29 | 's.response.to.the.tool.results) |
| 1be0 | 2e 0a 09 2f 2f 0a 09 2f 2f 20 41 6c 6c 20 6f 74 68 65 72 20 69 6e 74 65 72 72 75 70 74 73 20 67 | ...//..//.All.other.interrupts.g |
| 1c00 | 65 74 20 73 74 72 69 70 70 65 64 20 66 72 6f 6d 20 68 69 73 74 6f 72 79 20 62 65 63 61 75 73 65 | et.stripped.from.history.because |
| 1c20 | 20 74 68 65 20 69 6d 70 65 72 61 74 69 76 65 0a 09 2f 2f 20 22 59 6f 75 20 4d 55 53 54 20 61 64 | .the.imperative..//."You.MUST.ad |
| 1c40 | 64 72 65 73 73 20 74 68 65 73 65 22 20 6f 74 68 65 72 77 69 73 65 20 67 65 74 73 20 72 65 2d 65 | dress.these".otherwise.gets.re-e |
| 1c60 | 76 61 6c 75 61 74 65 64 20 61 73 20 61 20 66 72 65 73 68 0a 09 2f 2f 20 69 6e 73 74 72 75 63 74 | valuated.as.a.fresh..//.instruct |
| 1c80 | 69 6f 6e 20 6f 6e 20 65 76 65 72 79 20 73 75 62 73 65 71 75 65 6e 74 20 4c 4c 4d 20 73 74 65 70 | ion.on.every.subsequent.LLM.step |
| 1ca0 | 2e 0a 09 6c 65 74 20 66 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 4d 73 67 49 64 78 20 3d | ...let.freshestToolBatchMsgIdx.= |
| 1cc0 | 20 2d 31 3b 0a 09 6c 65 74 20 66 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 43 68 75 6e 6b | .-1;..let.freshestToolBatchChunk |
| 1ce0 | 49 64 78 20 3d 20 2d 31 3b 0a 09 63 6f 6e 73 74 20 6c 61 73 74 4d 73 67 49 64 78 20 3d 20 6d 65 | Idx.=.-1;..const.lastMsgIdx.=.me |
| 1d00 | 73 73 61 67 65 73 2e 6c 65 6e 67 74 68 20 2d 20 31 3b 0a 09 63 6f 6e 73 74 20 6c 61 73 74 4d 73 | ssages.length.-.1;..const.lastMs |
| 1d20 | 67 20 3d 20 6d 65 73 73 61 67 65 73 5b 6c 61 73 74 4d 73 67 49 64 78 5d 3b 0a 09 69 66 20 28 6c | g.=.messages[lastMsgIdx];..if.(l |
| 1d40 | 61 73 74 4d 73 67 20 26 26 20 6c 61 73 74 4d 73 67 2e 72 6f 6c 65 20 3d 3d 3d 20 22 61 73 73 69 | astMsg.&&.lastMsg.role.===."assi |
| 1d60 | 73 74 61 6e 74 22 20 26 26 20 6c 61 73 74 4d 73 67 2e 63 68 75 6e 6b 73 2e 6c 65 6e 67 74 68 20 | stant".&&.lastMsg.chunks.length. |
| 1d80 | 3e 20 30 29 20 7b 0a 09 09 63 6f 6e 73 74 20 6c 61 73 74 43 68 75 6e 6b 49 64 78 20 3d 20 6c 61 | >.0).{...const.lastChunkIdx.=.la |
| 1da0 | 73 74 4d 73 67 2e 63 68 75 6e 6b 73 2e 6c 65 6e 67 74 68 20 2d 20 31 3b 0a 09 09 63 6f 6e 73 74 | stMsg.chunks.length.-.1;...const |
| 1dc0 | 20 6c 61 73 74 43 68 75 6e 6b 20 3d 20 6c 61 73 74 4d 73 67 2e 63 68 75 6e 6b 73 5b 6c 61 73 74 | .lastChunk.=.lastMsg.chunks[last |
| 1de0 | 43 68 75 6e 6b 49 64 78 5d 3b 0a 09 09 69 66 20 28 6c 61 73 74 43 68 75 6e 6b 20 26 26 20 6c 61 | ChunkIdx];...if.(lastChunk.&&.la |
| 1e00 | 73 74 43 68 75 6e 6b 2e 74 79 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 62 61 74 63 68 22 29 20 7b | stChunk.type.===."tool-batch").{ |
| 1e20 | 0a 09 09 09 66 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 4d 73 67 49 64 78 20 3d 20 6c 61 | ....freshestToolBatchMsgIdx.=.la |
| 1e40 | 73 74 4d 73 67 49 64 78 3b 0a 09 09 09 66 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 43 68 | stMsgIdx;....freshestToolBatchCh |
| 1e60 | 75 6e 6b 49 64 78 20 3d 20 6c 61 73 74 43 68 75 6e 6b 49 64 78 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 | unkIdx.=.lastChunkIdx;...}..}... |
| 1e80 | 66 6f 72 20 28 6c 65 74 20 6d 73 67 49 64 78 20 3d 20 30 3b 20 6d 73 67 49 64 78 20 3c 20 6d 65 | for.(let.msgIdx.=.0;.msgIdx.<.me |
| 1ea0 | 73 73 61 67 65 73 2e 6c 65 6e 67 74 68 3b 20 6d 73 67 49 64 78 2b 2b 29 20 7b 0a 09 09 63 6f 6e | ssages.length;.msgIdx++).{...con |
| 1ec0 | 73 74 20 6d 73 67 20 3d 20 6d 65 73 73 61 67 65 73 5b 6d 73 67 49 64 78 5d 3b 0a 09 09 69 66 20 | st.msg.=.messages[msgIdx];...if. |
| 1ee0 | 28 21 6d 73 67 20 7c 7c 20 6d 73 67 2e 72 6f 6c 65 20 3d 3d 3d 20 22 73 79 73 74 65 6d 22 29 20 | (!msg.||.msg.role.===."system"). |
| 1f00 | 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 09 69 66 20 28 6d 73 67 2e 72 6f 6c 65 20 3d 3d 3d 20 22 75 | continue;....if.(msg.role.===."u |
| 1f20 | 73 65 72 22 29 20 7b 0a 09 09 09 2f 2f 20 41 20 75 73 65 72 20 74 75 72 6e 20 77 69 74 68 20 65 | ser").{....//.A.user.turn.with.e |
| 1f40 | 70 68 65 6d 65 72 61 6c 20 6d 75 6c 74 69 6d 6f 64 61 6c 20 60 63 6f 6e 74 65 6e 74 60 20 28 69 | phemeral.multimodal.`content`.(i |
| 1f60 | 6d 61 67 65 2f 70 64 66 0a 09 09 09 2f 2f 20 61 74 74 61 63 68 6d 65 6e 74 73 20 69 6e 74 65 72 | mage/pdf....//.attachments.inter |
| 1f80 | 6c 65 61 76 65 64 20 77 69 74 68 20 74 65 78 74 29 20 69 73 20 65 6d 69 74 74 65 64 20 61 73 20 | leaved.with.text).is.emitted.as. |
| 1fa0 | 61 6e 20 4f 52 44 45 52 45 44 20 70 61 72 74 73 0a 09 09 09 2f 2f 20 61 72 72 61 79 20 73 6f 20 | an.ORDERED.parts....//.array.so. |
| 1fc0 | 74 68 65 20 6d 6f 64 65 6c 20 73 65 65 73 20 74 65 78 74 20 61 6e 64 20 61 74 74 61 63 68 6d 65 | the.model.sees.text.and.attachme |
| 1fe0 | 6e 74 73 20 69 6e 20 74 68 65 20 65 78 61 63 74 20 73 65 71 75 65 6e 63 65 0a 09 09 09 2f 2f 20 | nts.in.the.exact.sequence....//. |
| 2000 | 74 68 65 20 75 73 65 72 20 63 6f 6d 70 6f 73 65 64 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 | the.user.composed..This.is.only. |
| 2020 | 65 76 65 72 20 73 65 74 20 6f 6e 20 74 68 65 20 69 6e 2d 66 6c 69 67 68 74 20 74 75 72 6e 20 e2 | ever.set.on.the.in-flight.turn.. |
| 2040 | 80 94 0a 09 09 09 2f 2f 20 68 69 73 74 6f 72 79 2d 72 65 62 75 69 6c 74 20 6d 65 73 73 61 67 65 | ......//.history-rebuilt.message |
| 2060 | 73 20 68 61 76 65 20 6e 6f 20 60 63 6f 6e 74 65 6e 74 60 20 61 6e 64 20 66 61 6c 6c 20 74 68 72 | s.have.no.`content`.and.fall.thr |
| 2080 | 6f 75 67 68 20 74 6f 20 74 68 65 0a 09 09 09 2f 2f 20 70 6c 61 69 6e 2d 74 65 78 74 20 70 61 74 | ough.to.the....//.plain-text.pat |
| 20a0 | 68 20 62 65 6c 6f 77 2e 0a 09 09 09 63 6f 6e 73 74 20 6d 75 6c 74 69 6d 6f 64 61 6c 20 3d 20 75 | h.below.....const.multimodal.=.u |
| 20c0 | 73 65 72 43 6f 6e 74 65 6e 74 54 6f 50 61 72 74 73 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 29 3b 0a | serContentToParts(msg.content);. |
| 20e0 | 09 09 09 69 66 20 28 6d 75 6c 74 69 6d 6f 64 61 6c 29 20 7b 0a 09 09 09 09 72 65 73 75 6c 74 2e | ...if.(multimodal).{.....result. |
| 2100 | 70 75 73 68 28 7b 20 72 6f 6c 65 3a 20 22 75 73 65 72 22 2c 20 63 6f 6e 74 65 6e 74 3a 20 6d 75 | push({.role:."user",.content:.mu |
| 2120 | 6c 74 69 6d 6f 64 61 6c 20 7d 29 3b 0a 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 7d 0a | ltimodal.});.....continue;....}. |
| 2140 | 09 09 09 2f 2f 20 55 73 65 72 20 6d 65 73 73 61 67 65 73 20 69 6e 20 6f 75 72 20 6d 6f 64 65 6c | ...//.User.messages.in.our.model |
| 2160 | 20 63 61 6e 20 69 6e 20 74 68 65 6f 72 79 20 63 6f 6e 74 61 69 6e 20 6e 6f 6e 2d 74 65 78 74 20 | .can.in.theory.contain.non-text. |
| 2180 | 63 68 75 6e 6b 73 2c 0a 09 09 09 2f 2f 20 62 75 74 20 69 6e 20 70 72 61 63 74 69 63 65 20 74 68 | chunks,....//.but.in.practice.th |
| 21a0 | 65 20 55 49 20 6f 6e 6c 79 20 70 72 6f 64 75 63 65 73 20 74 65 78 74 2e 20 43 6f 6e 63 61 74 65 | e.UI.only.produces.text..Concate |
| 21c0 | 6e 61 74 65 20 61 6e 79 20 74 65 78 74 0a 09 09 09 2f 2f 20 63 68 75 6e 6b 73 3b 20 69 67 6e 6f | nate.any.text....//.chunks;.igno |
| 21e0 | 72 65 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 0a 09 09 09 63 6f 6e 73 74 20 74 65 78 74 20 | re.anything.else.....const.text. |
| 2200 | 3d 20 6d 73 67 2e 63 68 75 6e 6b 73 0a 09 09 09 09 2e 66 69 6c 74 65 72 28 28 63 29 3a 20 63 20 | =.msg.chunks......filter((c):.c. |
| 2220 | 69 73 20 45 78 74 72 61 63 74 3c 43 68 75 6e 6b 2c 20 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 | is.Extract<Chunk,.{.type:."text" |
| 2240 | 20 7d 3e 20 3d 3e 20 63 2e 74 79 70 65 20 3d 3d 3d 20 22 74 65 78 74 22 29 0a 09 09 09 09 2e 6d | .}>.=>.c.type.===."text")......m |
| 2260 | 61 70 28 28 63 29 20 3d 3e 20 63 2e 74 65 78 74 29 0a 09 09 09 09 2e 6a 6f 69 6e 28 22 22 29 3b | ap((c).=>.c.text)......join(""); |
| 2280 | 0a 09 09 09 72 65 73 75 6c 74 2e 70 75 73 68 28 7b 20 72 6f 6c 65 3a 20 22 75 73 65 72 22 2c 20 | ....result.push({.role:."user",. |
| 22a0 | 63 6f 6e 74 65 6e 74 3a 20 74 65 78 74 20 7d 29 3b 0a 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 | content:.text.});....continue;.. |
| 22c0 | 09 7d 0a 0a 09 09 2f 2f 20 72 6f 6c 65 20 3d 3d 3d 20 22 61 73 73 69 73 74 61 6e 74 22 0a 09 09 | .}....//.role.===."assistant"... |
| 22e0 | 2f 2f 0a 09 09 2f 2f 20 53 65 67 6d 65 6e 74 20 74 68 65 20 74 75 72 6e 27 73 20 63 68 75 6e 6b | //...//.Segment.the.turn's.chunk |
| 2300 | 73 20 69 6e 74 6f 20 70 65 72 2d 4c 4c 4d 2d 73 74 65 70 20 60 5b 61 73 73 69 73 74 61 6e 74 2c | s.into.per-LLM-step.`[assistant, |
| 2320 | 20 74 6f 6f 6c 5d 60 0a 09 09 2f 2f 20 6d 65 73 73 61 67 65 20 70 61 69 72 73 2c 20 73 70 6c 69 | .tool]`...//.message.pairs,.spli |
| 2340 | 74 74 69 6e 67 20 61 74 20 65 61 63 68 20 60 74 6f 6f 6c 2d 62 61 74 63 68 60 20 62 6f 75 6e 64 | tting.at.each.`tool-batch`.bound |
| 2360 | 61 72 79 2e 20 45 76 65 72 79 0a 09 09 2f 2f 20 72 6f 75 6e 64 2d 74 72 69 70 20 65 6d 69 74 73 | ary..Every...//.round-trip.emits |
| 2380 | 20 74 65 78 74 2f 74 68 69 6e 6b 69 6e 67 20 74 68 65 6e 20 28 6f 70 74 69 6f 6e 61 6c 6c 79 29 | .text/thinking.then.(optionally) |
| 23a0 | 20 6f 6e 65 20 74 6f 6f 6c 2d 62 61 74 63 68 2c 20 73 6f 0a 09 09 2f 2f 20 61 20 74 6f 6f 6c 2d | .one.tool-batch,.so...//.a.tool- |
| 23c0 | 62 61 74 63 68 20 69 73 20 65 78 61 63 74 6c 79 20 61 20 73 74 65 70 20 62 6f 75 6e 64 61 72 79 | batch.is.exactly.a.step.boundary |
| 23e0 | 2e 0a 09 09 2f 2f 0a 09 09 2f 2f 20 54 68 69 73 20 69 73 20 74 68 65 20 63 61 63 68 65 20 66 69 | ....//...//.This.is.the.cache.fi |
| 2400 | 78 3a 20 65 61 63 68 20 70 72 69 6f 72 20 73 74 65 70 27 73 20 6d 65 73 73 61 67 65 73 20 61 72 | x:.each.prior.step's.messages.ar |
| 2420 | 65 20 62 75 69 6c 74 20 66 72 6f 6d 0a 09 09 2f 2f 20 69 6d 6d 75 74 61 62 6c 65 20 63 68 75 6e | e.built.from...//.immutable.chun |
| 2440 | 6b 73 20 61 74 20 66 69 78 65 64 20 70 6f 73 69 74 69 6f 6e 73 2c 20 73 6f 20 74 68 65 79 20 73 | ks.at.fixed.positions,.so.they.s |
| 2460 | 65 72 69 61 6c 69 7a 65 0a 09 09 2f 2f 20 62 79 74 65 2d 69 64 65 6e 74 69 63 61 6c 6c 79 20 6f | erialize...//.byte-identically.o |
| 2480 | 6e 20 65 76 65 72 79 20 6c 61 74 65 72 20 72 65 71 75 65 73 74 20 e2 86 92 20 73 74 61 62 6c 65 | n.every.later.request.....stable |
| 24a0 | 20 41 6e 74 68 72 6f 70 69 63 20 70 72 6f 6d 70 74 0a 09 09 2f 2f 20 70 72 65 66 69 78 2e 20 43 | .Anthropic.prompt...//.prefix..C |
| 24c0 | 6f 6c 6c 61 70 73 69 6e 67 20 61 6c 6c 20 73 74 65 70 73 20 69 6e 74 6f 20 4f 4e 45 20 61 73 73 | ollapsing.all.steps.into.ONE.ass |
| 24e0 | 69 73 74 61 6e 74 20 2b 20 4f 4e 45 20 74 6f 6f 6c 20 6d 65 73 73 61 67 65 0a 09 09 2f 2f 20 28 | istant.+.ONE.tool.message...//.( |
| 2500 | 61 6e 64 20 74 68 65 6e 20 6c 65 74 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 75 72 61 6c 2d | and.then.letting.the.structural- |
| 2520 | 6e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 20 70 61 73 73 20 72 65 2d 62 75 63 6b 65 74 20 74 68 65 | normalisation.pass.re-bucket.the |
| 2540 | 0a 09 09 2f 2f 20 74 6f 6f 6c 5f 75 73 65 2f 74 6f 6f 6c 5f 72 65 73 75 6c 74 20 62 6c 6f 63 6b | ...//.tool_use/tool_result.block |
| 2560 | 73 29 20 72 65 73 68 75 66 66 6c 65 64 20 65 61 72 6c 69 65 72 20 73 74 65 70 73 27 20 70 6f 73 | s).reshuffled.earlier.steps'.pos |
| 2580 | 69 74 69 6f 6e 73 20 6f 6e 0a 09 09 2f 2f 20 65 76 65 72 79 20 73 74 65 70 20 61 6e 64 20 73 68 | itions.on...//.every.step.and.sh |
| 25a0 | 61 74 74 65 72 65 64 20 74 68 65 20 63 61 63 68 65 20 28 73 65 65 20 63 61 63 68 65 2d 6d 69 73 | attered.the.cache.(see.cache-mis |
| 25c0 | 73 2d 72 65 70 6f 72 74 2e 6d 64 29 2e 0a 09 09 74 79 70 65 20 41 73 73 69 73 74 61 6e 74 50 61 | s-report.md)....type.AssistantPa |
| 25e0 | 72 74 20 3d 0a 09 09 09 7c 20 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 3b 20 74 65 78 74 3a 20 | rt.=....|.{.type:."text";.text:. |
| 2600 | 73 74 72 69 6e 67 20 7d 0a 09 09 09 7c 20 7b 20 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 | string.}....|.{.type:."reasoning |
| 2620 | 22 3b 20 74 65 78 74 3a 20 73 74 72 69 6e 67 3b 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 | ";.text:.string;.providerOptions |
| 2640 | 3f 3a 20 50 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 7d 0a 09 09 09 7c 20 7b 20 74 79 70 65 | ?:.ProviderOptions.}....|.{.type |
| 2660 | 3a 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 3b 20 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 73 74 72 69 6e | :."tool-call";.toolCallId:.strin |
| 2680 | 67 3b 20 74 6f 6f 6c 4e 61 6d 65 3a 20 73 74 72 69 6e 67 3b 20 69 6e 70 75 74 3a 20 75 6e 6b 6e | g;.toolName:.string;.input:.unkn |
| 26a0 | 6f 77 6e 20 7d 3b 0a 09 09 74 79 70 65 20 53 74 65 70 52 65 73 75 6c 74 20 3d 20 7b 0a 09 09 09 | own.};...type.StepResult.=.{.... |
| 26c0 | 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a | toolCallId:.string;....toolName: |
| 26e0 | 20 73 74 72 69 6e 67 3b 0a 09 09 09 72 65 73 75 6c 74 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 69 | .string;....result:.string;....i |
| 2700 | 73 45 72 72 6f 72 3f 3a 20 62 6f 6f 6c 65 61 6e 3b 0a 09 09 7d 3b 0a 0a 09 09 6c 65 74 20 70 61 | sError?:.boolean;...};....let.pa |
| 2720 | 72 74 73 3a 20 41 73 73 69 73 74 61 6e 74 50 61 72 74 5b 5d 20 3d 20 5b 5d 3b 0a 09 09 6c 65 74 | rts:.AssistantPart[].=.[];...let |
| 2740 | 20 73 74 65 70 52 65 73 75 6c 74 73 3a 20 53 74 65 70 52 65 73 75 6c 74 5b 5d 20 3d 20 5b 5d 3b | .stepResults:.StepResult[].=.[]; |
| 2760 | 0a 0a 09 09 63 6f 6e 73 74 20 66 6c 75 73 68 53 74 65 70 20 3d 20 28 29 3a 20 76 6f 69 64 20 3d | ....const.flushStep.=.():.void.= |
| 2780 | 3e 20 7b 0a 09 09 09 69 66 20 28 70 61 72 74 73 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 | >.{....if.(parts.length.>.0).{.. |
| 27a0 | 09 09 09 72 65 73 75 6c 74 2e 70 75 73 68 28 7b 20 72 6f 6c 65 3a 20 22 61 73 73 69 73 74 61 6e | ...result.push({.role:."assistan |
| 27c0 | 74 22 2c 20 63 6f 6e 74 65 6e 74 3a 20 70 61 72 74 73 20 7d 29 3b 0a 09 09 09 7d 0a 09 09 09 2f | t",.content:.parts.});....}..../ |
| 27e0 | 2f 20 4f 6e 65 20 67 72 6f 75 70 65 64 20 60 72 6f 6c 65 3a 20 22 74 6f 6f 6c 22 60 20 6d 65 73 | /.One.grouped.`role:."tool"`.mes |
| 2800 | 73 61 67 65 20 70 65 72 20 73 74 65 70 20 68 6f 6c 64 73 20 74 68 61 74 20 73 74 65 70 27 73 0a | sage.per.step.holds.that.step's. |
| 2820 | 09 09 09 2f 2f 20 72 65 73 75 6c 74 73 20 e2 80 94 20 60 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 | ...//.results.....`applyAnthropi |
| 2840 | 63 43 61 63 68 69 6e 67 60 20 74 68 65 6e 20 6d 61 72 6b 73 20 74 68 65 20 6c 61 73 74 20 74 77 | cCaching`.then.marks.the.last.tw |
| 2860 | 6f 0a 09 09 09 2f 2f 20 6e 6f 6e 2d 73 79 73 74 65 6d 20 6d 65 73 73 61 67 65 73 20 61 73 20 60 | o....//.non-system.messages.as.` |
| 2880 | 5b 61 73 73 69 73 74 61 6e 74 28 73 74 65 70 29 2c 20 74 6f 6f 6c 28 73 74 65 70 29 5d 60 2c 20 | [assistant(step),.tool(step)]`,. |
| 28a0 | 74 68 65 0a 09 09 09 2f 2f 20 63 6f 72 72 65 63 74 20 72 6f 6c 6c 69 6e 67 2d 62 72 65 61 6b 70 | the....//.correct.rolling-breakp |
| 28c0 | 6f 69 6e 74 20 70 6c 61 63 65 6d 65 6e 74 2e 0a 09 09 09 69 66 20 28 73 74 65 70 52 65 73 75 6c | oint.placement.....if.(stepResul |
| 28e0 | 74 73 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 72 65 73 75 6c 74 2e 70 75 73 68 | ts.length.>.0).{.....result.push |
| 2900 | 28 7b 0a 09 09 09 09 09 72 6f 6c 65 3a 20 22 74 6f 6f 6c 22 2c 0a 09 09 09 09 09 63 6f 6e 74 65 | ({......role:."tool",......conte |
| 2920 | 6e 74 3a 20 73 74 65 70 52 65 73 75 6c 74 73 2e 6d 61 70 28 28 74 72 29 20 3d 3e 20 28 7b 0a 09 | nt:.stepResults.map((tr).=>.({.. |
| 2940 | 09 09 09 09 09 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 72 65 73 75 6c 74 22 20 61 73 20 63 6f 6e 73 | .....type:."tool-result".as.cons |
| 2960 | 74 2c 0a 09 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 74 72 2e 74 6f 6f 6c 43 61 6c 6c | t,.......toolCallId:.tr.toolCall |
| 2980 | 49 64 2c 0a 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 72 2e 74 6f 6f 6c 4e 61 6d 65 2c | Id,.......toolName:.tr.toolName, |
| 29a0 | 0a 09 09 09 09 09 09 2f 2f 20 76 36 3a 20 60 6f 75 74 70 75 74 60 20 28 54 6f 6f 6c 52 65 73 75 | .......//.v6:.`output`.(ToolResu |
| 29c0 | 6c 74 4f 75 74 70 75 74 29 20 72 65 70 6c 61 63 65 73 20 76 34 27 73 20 72 61 77 20 60 72 65 73 | ltOutput).replaces.v4's.raw.`res |
| 29e0 | 75 6c 74 60 0a 09 09 09 09 09 09 6f 75 74 70 75 74 3a 20 7b 20 74 79 70 65 3a 20 22 74 65 78 74 | ult`.......output:.{.type:."text |
| 2a00 | 22 20 61 73 20 63 6f 6e 73 74 2c 20 76 61 6c 75 65 3a 20 74 72 2e 72 65 73 75 6c 74 20 7d 2c 0a | ".as.const,.value:.tr.result.},. |
| 2a20 | 09 09 09 09 09 09 2e 2e 2e 28 74 72 2e 69 73 45 72 72 6f 72 20 3f 20 7b 20 69 73 45 72 72 6f 72 | .........(tr.isError.?.{.isError |
| 2a40 | 3a 20 74 72 75 65 20 7d 20 3a 20 7b 7d 29 2c 0a 09 09 09 09 09 7d 29 29 2c 0a 09 09 09 09 7d 29 | :.true.}.:.{}),......})),.....}) |
| 2a60 | 3b 0a 09 09 09 7d 0a 09 09 09 70 61 72 74 73 20 3d 20 5b 5d 3b 0a 09 09 09 73 74 65 70 52 65 73 | ;....}....parts.=.[];....stepRes |
| 2a80 | 75 6c 74 73 20 3d 20 5b 5d 3b 0a 09 09 7d 3b 0a 0a 09 09 66 6f 72 20 28 6c 65 74 20 63 68 75 6e | ults.=.[];...};....for.(let.chun |
| 2aa0 | 6b 49 64 78 20 3d 20 30 3b 20 63 68 75 6e 6b 49 64 78 20 3c 20 6d 73 67 2e 63 68 75 6e 6b 73 2e | kIdx.=.0;.chunkIdx.<.msg.chunks. |
| 2ac0 | 6c 65 6e 67 74 68 3b 20 63 68 75 6e 6b 49 64 78 2b 2b 29 20 7b 0a 09 09 09 63 6f 6e 73 74 20 63 | length;.chunkIdx++).{....const.c |
| 2ae0 | 68 75 6e 6b 20 3d 20 6d 73 67 2e 63 68 75 6e 6b 73 5b 63 68 75 6e 6b 49 64 78 5d 3b 0a 09 09 09 | hunk.=.msg.chunks[chunkIdx];.... |
| 2b00 | 69 66 20 28 21 63 68 75 6e 6b 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 73 77 69 74 63 68 20 | if.(!chunk).continue;....switch. |
| 2b20 | 28 63 68 75 6e 6b 2e 74 79 70 65 29 20 7b 0a 09 09 09 09 63 61 73 65 20 22 74 65 78 74 22 3a 0a | (chunk.type).{.....case."text":. |
| 2b40 | 09 09 09 09 09 70 61 72 74 73 2e 70 75 73 68 28 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 2c 20 | .....parts.push({.type:."text",. |
| 2b60 | 74 65 78 74 3a 20 63 68 75 6e 6b 2e 74 65 78 74 20 7d 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b | text:.chunk.text.});......break; |
| 2b80 | 0a 09 09 09 09 63 61 73 65 20 22 74 68 69 6e 6b 69 6e 67 22 3a 0a 09 09 09 09 09 2f 2f 20 76 36 | .....case."thinking":......//.v6 |
| 2ba0 | 3a 20 63 61 72 72 79 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 28 41 6e 74 68 72 6f 70 | :.carry.providerOptions.(Anthrop |
| 2bc0 | 69 63 20 73 69 67 6e 61 74 75 72 65 20 62 6c 6f 62 29 20 69 66 20 70 72 65 73 65 6e 74 2e 0a 09 | ic.signature.blob).if.present... |
| 2be0 | 09 09 09 09 2f 2f 20 4e 6f 6e 2d 41 6e 74 68 72 6f 70 69 63 20 72 65 61 73 6f 6e 69 6e 67 20 68 | ....//.Non-Anthropic.reasoning.h |
| 2c00 | 61 73 20 6e 6f 20 6d 65 74 61 64 61 74 61 20 e2 86 92 20 73 65 6e 64 20 77 69 74 68 6f 75 74 20 | as.no.metadata.....send.without. |
| 2c20 | 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 0a 09 09 09 09 09 2f 2f 20 28 41 6e 74 68 72 6f 70 | providerOptions......//.(Anthrop |
| 2c40 | 69 63 20 61 63 63 65 70 74 73 20 69 74 3b 20 74 68 65 20 72 6f 75 6e 64 2d 74 72 69 70 20 6a 75 | ic.accepts.it;.the.round-trip.ju |
| 2c60 | 73 74 20 77 6f 6e 27 74 20 63 61 72 72 79 20 61 20 73 69 67 6e 61 74 75 72 65 29 2e 0a 09 09 09 | st.won't.carry.a.signature)..... |
| 2c80 | 09 09 70 61 72 74 73 2e 70 75 73 68 28 7b 0a 09 09 09 09 09 09 74 79 70 65 3a 20 22 72 65 61 73 | ..parts.push({.......type:."reas |
| 2ca0 | 6f 6e 69 6e 67 22 2c 0a 09 09 09 09 09 09 74 65 78 74 3a 20 63 68 75 6e 6b 2e 74 65 78 74 2c 0a | oning",.......text:.chunk.text,. |
| 2cc0 | 09 09 09 09 09 09 2e 2e 2e 28 63 68 75 6e 6b 2e 6d 65 74 61 64 61 74 61 20 21 3d 3d 20 75 6e 64 | .........(chunk.metadata.!==.und |
| 2ce0 | 65 66 69 6e 65 64 0a 09 09 09 09 09 09 09 3f 20 7b 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e | efined........?.{.providerOption |
| 2d00 | 73 3a 20 63 68 75 6e 6b 2e 6d 65 74 61 64 61 74 61 20 61 73 20 50 72 6f 76 69 64 65 72 4f 70 74 | s:.chunk.metadata.as.ProviderOpt |
| 2d20 | 69 6f 6e 73 20 7d 0a 09 09 09 09 09 09 09 3a 20 7b 7d 29 2c 0a 09 09 09 09 09 7d 29 3b 0a 09 09 | ions.}........:.{}),......});... |
| 2d40 | 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 22 74 6f 6f 6c 2d 62 61 74 63 68 22 3a | ...break;.....case."tool-batch": |
| 2d60 | 20 7b 0a 09 09 09 09 09 2f 2f 20 53 74 72 69 70 20 73 74 61 6c 65 20 60 5b 55 53 45 52 20 49 4e | .{......//.Strip.stale.`[USER.IN |
| 2d80 | 54 45 52 52 55 50 54 5d 60 20 62 6c 6f 63 6b 73 20 66 72 6f 6d 20 65 76 65 72 79 0a 09 09 09 09 | TERRUPT]`.blocks.from.every..... |
| 2da0 | 09 2f 2f 20 74 6f 6f 6c 2d 62 61 74 63 68 20 65 78 63 65 70 74 20 74 68 65 20 66 72 65 73 68 65 | .//.tool-batch.except.the.freshe |
| 2dc0 | 73 74 20 6f 6e 65 20 28 6d 6f 73 74 20 72 65 63 65 6e 74 0a 09 09 09 09 09 2f 2f 20 74 6f 6f 6c | st.one.(most.recent......//.tool |
| 2de0 | 2d 62 61 74 63 68 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 61 73 73 69 73 74 | -batch.in.the.most.recent.assist |
| 2e00 | 61 6e 74 20 6d 65 73 73 61 67 65 29 2e 0a 09 09 09 09 09 2f 2f 20 57 69 74 68 6f 75 74 20 74 68 | ant.message).......//.Without.th |
| 2e20 | 69 73 2c 20 74 68 65 20 69 6d 70 65 72 61 74 69 76 65 20 22 59 6f 75 20 4d 55 53 54 20 61 64 64 | is,.the.imperative."You.MUST.add |
| 2e40 | 72 65 73 73 20 74 68 65 73 65 22 0a 09 09 09 09 09 2f 2f 20 74 65 78 74 20 70 65 72 73 69 73 74 | ress.these"......//.text.persist |
| 2e60 | 73 20 69 6e 20 68 69 73 74 6f 72 79 20 61 6e 64 20 74 68 65 20 6d 6f 64 65 6c 20 72 65 2d 61 63 | s.in.history.and.the.model.re-ac |
| 2e80 | 6b 6e 6f 77 6c 65 64 67 65 73 0a 09 09 09 09 09 2f 2f 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 | knowledges......//.the.same.inte |
| 2ea0 | 72 72 75 70 74 20 76 65 72 62 61 74 69 6d 20 6f 6e 20 65 76 65 72 79 20 73 75 62 73 65 71 75 65 | rrupt.verbatim.on.every.subseque |
| 2ec0 | 6e 74 20 73 74 65 70 2e 0a 09 09 09 09 09 63 6f 6e 73 74 20 69 73 46 72 65 73 68 65 73 74 54 6f | nt.step.......const.isFreshestTo |
| 2ee0 | 6f 6c 42 61 74 63 68 20 3d 0a 09 09 09 09 09 09 6d 73 67 49 64 78 20 3d 3d 3d 20 66 72 65 73 68 | olBatch.=.......msgIdx.===.fresh |
| 2f00 | 65 73 74 54 6f 6f 6c 42 61 74 63 68 4d 73 67 49 64 78 20 26 26 20 63 68 75 6e 6b 49 64 78 20 3d | estToolBatchMsgIdx.&&.chunkIdx.= |
| 2f20 | 3d 3d 20 66 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 43 68 75 6e 6b 49 64 78 3b 0a 09 09 | ==.freshestToolBatchChunkIdx;... |
| 2f40 | 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 65 6e 74 72 79 20 6f 66 20 63 68 75 6e 6b 2e 63 61 6c | ...for.(const.entry.of.chunk.cal |
| 2f60 | 6c 73 29 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 4e 61 6d 65 20 3d 20 75 73 65 | ls).{.......const.toolName.=.use |
| 2f80 | 54 6f 6f 6c 50 72 65 66 69 78 20 3f 20 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 28 65 6e 74 72 | ToolPrefix.?.prefixToolName(entr |
| 2fa0 | 79 2e 6e 61 6d 65 29 20 3a 20 65 6e 74 72 79 2e 6e 61 6d 65 3b 0a 09 09 09 09 09 09 2f 2f 20 76 | y.name).:.entry.name;.......//.v |
| 2fc0 | 36 3a 20 60 69 6e 70 75 74 60 20 72 65 70 6c 61 63 65 73 20 76 34 27 73 20 60 61 72 67 73 60 0a | 6:.`input`.replaces.v4's.`args`. |
| 2fe0 | 09 09 09 09 09 09 70 61 72 74 73 2e 70 75 73 68 28 7b 0a 09 09 09 09 09 09 09 74 79 70 65 3a 20 | ......parts.push({........type:. |
| 3000 | 22 74 6f 6f 6c 2d 63 61 6c 6c 22 2c 0a 09 09 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 | "tool-call",........toolCallId:. |
| 3020 | 65 6e 74 72 79 2e 69 64 2c 0a 09 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 2c 0a 09 09 09 09 09 | entry.id,........toolName,...... |
| 3040 | 09 09 69 6e 70 75 74 3a 20 65 6e 74 72 79 2e 61 72 67 75 6d 65 6e 74 73 2c 0a 09 09 09 09 09 09 | ..input:.entry.arguments,....... |
| 3060 | 7d 29 3b 0a 09 09 09 09 09 09 69 66 20 28 65 6e 74 72 79 2e 72 65 73 75 6c 74 20 21 3d 3d 20 75 | });.......if.(entry.result.!==.u |
| 3080 | 6e 64 65 66 69 6e 65 64 29 20 7b 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 72 65 73 75 6c 74 54 | ndefined).{........const.resultT |
| 30a0 | 65 78 74 20 3d 20 69 73 46 72 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 0a 09 09 09 09 09 09 | ext.=.isFreshestToolBatch....... |
| 30c0 | 09 09 3f 20 65 6e 74 72 79 2e 72 65 73 75 6c 74 0a 09 09 09 09 09 09 09 09 3a 20 73 74 72 69 70 | ..?.entry.result.........:.strip |
| 30e0 | 55 73 65 72 49 6e 74 65 72 72 75 70 74 42 6c 6f 63 6b 28 65 6e 74 72 79 2e 72 65 73 75 6c 74 29 | UserInterruptBlock(entry.result) |
| 3100 | 3b 0a 09 09 09 09 09 09 09 73 74 65 70 52 65 73 75 6c 74 73 2e 70 75 73 68 28 7b 0a 09 09 09 09 | ;........stepResults.push({..... |
| 3120 | 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 65 6e 74 72 79 2e 69 64 2c 0a 09 09 09 09 09 09 | ....toolCallId:.entry.id,....... |
| 3140 | 09 09 74 6f 6f 6c 4e 61 6d 65 2c 0a 09 09 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 72 65 73 75 | ..toolName,.........result:.resu |
| 3160 | 6c 74 54 65 78 74 2c 0a 09 09 09 09 09 09 09 09 69 73 45 72 72 6f 72 3a 20 65 6e 74 72 79 2e 69 | ltText,.........isError:.entry.i |
| 3180 | 73 45 72 72 6f 72 2c 0a 09 09 09 09 09 09 09 7d 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 | sError,........});.......}...... |
| 31a0 | 7d 0a 09 09 09 09 09 2f 2f 20 45 6e 64 20 6f 66 20 74 68 69 73 20 4c 4c 4d 20 73 74 65 70 20 e2 | }......//.End.of.this.LLM.step.. |
| 31c0 | 86 92 20 65 6d 69 74 20 69 74 73 20 60 5b 61 73 73 69 73 74 61 6e 74 2c 20 74 6f 6f 6c 5d 60 20 | ...emit.its.`[assistant,.tool]`. |
| 31e0 | 70 61 69 72 20 61 6e 64 0a 09 09 09 09 09 2f 2f 20 73 74 61 72 74 20 61 20 66 72 65 73 68 20 70 | pair.and......//.start.a.fresh.p |
| 3200 | 61 69 72 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 73 74 65 70 2e 0a 09 09 09 09 09 66 6c 75 73 | air.for.the.next.step.......flus |
| 3220 | 68 53 74 65 70 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 63 | hStep();......break;.....}.....c |
| 3240 | 61 73 65 20 22 65 72 72 6f 72 22 3a 0a 09 09 09 09 63 61 73 65 20 22 73 79 73 74 65 6d 22 3a 0a | ase."error":.....case."system":. |
| 3260 | 09 09 09 09 09 2f 2f 20 53 74 72 69 70 20 e2 80 94 20 6e 6f 74 20 73 65 6e 74 20 62 61 63 6b 20 | .....//.Strip.....not.sent.back. |
| 3280 | 74 6f 20 74 68 65 20 4c 4c 4d 2e 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 7d | to.the.LLM.......break;....}...} |
| 32a0 | 0a 0a 09 09 2f 2f 20 46 69 6e 61 6c 20 73 74 65 70 3a 20 74 72 61 69 6c 69 6e 67 20 74 65 78 74 | ....//.Final.step:.trailing.text |
| 32c0 | 2f 74 68 69 6e 6b 69 6e 67 20 77 69 74 68 20 6e 6f 20 74 6f 6f 6c 2d 62 61 74 63 68 2e 20 60 66 | /thinking.with.no.tool-batch..`f |
| 32e0 | 6c 75 73 68 53 74 65 70 60 0a 09 09 2f 2f 20 73 6b 69 70 73 20 65 6d 70 74 69 65 73 2c 20 73 6f | lushStep`...//.skips.empties,.so |
| 3300 | 20 61 20 74 75 72 6e 20 6f 66 20 6f 6e 6c 79 20 73 79 73 74 65 6d 2f 65 72 72 6f 72 20 63 68 75 | .a.turn.of.only.system/error.chu |
| 3320 | 6e 6b 73 20 65 6d 69 74 73 20 6e 6f 74 68 69 6e 67 2e 0a 09 09 66 6c 75 73 68 53 74 65 70 28 29 | nks.emits.nothing....flushStep() |
| 3340 | 3b 0a 09 7d 0a 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 41 | ;..}..return.result;.}../**..*.A |
| 3360 | 70 70 6c 79 20 4f 70 65 6e 41 49 2d 63 6f 6d 70 61 74 69 62 6c 65 20 72 65 61 73 6f 6e 69 6e 67 | pply.OpenAI-compatible.reasoning |
| 3380 | 20 6e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 43 72 69 62 62 65 64 20 66 72 | .normalisation...*..*.Cribbed.fr |
| 33a0 | 6f 6d 20 6f 70 65 6e 63 6f 64 65 20 60 70 72 6f 76 69 64 65 72 2f 74 72 61 6e 73 66 6f 72 6d 2e | om.opencode.`provider/transform. |
| 33c0 | 74 73 3a 32 31 37 2d 32 34 39 60 2e 20 53 6f 6c 76 65 73 20 44 65 65 70 53 65 65 6b 27 73 0a 20 | ts:217-249`..Solves.DeepSeek's.. |
| 33e0 | 2a 20 22 54 68 65 20 72 65 61 73 6f 6e 69 6e 67 5f 63 6f 6e 74 65 6e 74 20 69 6e 20 74 68 65 20 | *."The.reasoning_content.in.the. |
| 3400 | 74 68 69 6e 6b 69 6e 67 20 6d 6f 64 65 20 6d 75 73 74 20 62 65 20 70 61 73 73 65 64 20 62 61 63 | thinking.mode.must.be.passed.bac |
| 3420 | 6b 20 74 6f 20 74 68 65 0a 20 2a 20 41 50 49 22 20 65 72 72 6f 72 2e 0a 20 2a 0a 20 2a 20 54 68 | k.to.the..*.API".error...*..*.Th |
| 3440 | 65 20 76 36 20 60 40 61 69 2d 73 64 6b 2f 6f 70 65 6e 61 69 2d 63 6f 6d 70 61 74 69 62 6c 65 40 | e.v6.`@ai-sdk/openai-compatible@ |
| 3460 | 32 2e 78 60 20 70 72 6f 76 69 64 65 72 20 65 78 74 72 61 63 74 73 20 60 72 65 61 73 6f 6e 69 6e | 2.x`.provider.extracts.`reasonin |
| 3480 | 67 5f 63 6f 6e 74 65 6e 74 60 0a 20 2a 20 66 72 6f 6d 20 61 73 73 69 73 74 61 6e 74 20 60 7b 20 | g_content`..*.from.assistant.`{. |
| 34a0 | 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 22 2c 20 74 65 78 74 20 7d 60 20 70 61 72 74 73 | type:."reasoning",.text.}`.parts |
| 34c0 | 20 6e 61 74 69 76 65 6c 79 0a 20 2a 20 28 73 65 65 20 60 6e 6f 64 65 5f 6d 6f 64 75 6c 65 73 2f | .natively..*.(see.`node_modules/ |
| 34e0 | 40 61 69 2d 73 64 6b 2f 6f 70 65 6e 61 69 2d 63 6f 6d 70 61 74 69 62 6c 65 2f 64 69 73 74 2f 69 | @ai-sdk/openai-compatible/dist/i |
| 3500 | 6e 64 65 78 2e 6d 6a 73 3a 32 31 35 2d 32 31 36 60 20 61 6e 64 20 3a 32 34 35 29 2e 0a 20 2a 20 | ndex.mjs:215-216`.and.:245)...*. |
| 3520 | 42 75 74 20 74 68 61 74 20 6e 61 74 69 76 65 20 70 61 74 68 20 53 4b 49 50 53 20 65 6d 69 73 73 | But.that.native.path.SKIPS.emiss |
| 3540 | 69 6f 6e 20 77 68 65 6e 20 60 72 65 61 73 6f 6e 69 6e 67 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 | ion.when.`reasoning.length.===.0 |
| 3560 | 60 20 e2 80 94 0a 20 2a 20 22 72 65 61 73 6f 6e 69 6e 67 5f 63 6f 6e 74 65 6e 74 22 20 69 73 20 | `......*."reasoning_content".is. |
| 3580 | 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 77 69 72 65 2e 20 44 65 65 70 53 65 65 6b 20 | omitted.from.the.wire..DeepSeek. |
| 35a0 | 28 61 6e 64 20 73 69 6d 69 6c 61 72 0a 20 2a 20 22 74 68 69 6e 6b 69 6e 67 20 6d 6f 64 65 22 20 | (and.similar..*."thinking.mode". |
| 35c0 | 70 72 6f 76 69 64 65 72 73 29 20 72 65 71 75 69 72 65 20 74 68 65 20 66 69 65 6c 64 20 74 6f 20 | providers).require.the.field.to. |
| 35e0 | 62 65 20 70 72 65 73 65 6e 74 20 69 6e 20 65 76 65 72 79 0a 20 2a 20 66 6f 6c 6c 6f 77 2d 75 70 | be.present.in.every..*.follow-up |
| 3600 | 20 74 75 72 6e 20 6f 6e 63 65 20 69 74 20 77 61 73 20 65 6d 69 74 74 65 64 20 61 74 20 6c 65 61 | .turn.once.it.was.emitted.at.lea |
| 3620 | 73 74 20 6f 6e 63 65 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 0a 20 2a | st.once,.even.if.the.value.is..* |
| 3640 | 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 20 2a 0a 20 2a 20 53 74 72 61 74 65 67 | .the.empty.string...*..*.Strateg |
| 3660 | 79 3a 20 66 6f 72 20 65 76 65 72 79 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 74 | y:.for.every.assistant.message.t |
| 3680 | 68 61 74 20 68 61 73 20 61 6e 79 20 60 72 65 61 73 6f 6e 69 6e 67 60 20 70 61 72 74 73 2c 0a 20 | hat.has.any.`reasoning`.parts,.. |
| 36a0 | 2a 20 63 6f 6e 63 61 74 65 6e 61 74 65 20 74 68 65 69 72 20 74 65 78 74 20 69 6e 74 6f 20 60 70 | *.concatenate.their.text.into.`p |
| 36c0 | 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 2e 6f 70 65 6e 61 69 43 6f 6d 70 61 74 69 62 6c 65 2e | roviderOptions.openaiCompatible. |
| 36e0 | 72 65 61 73 6f 6e 69 6e 67 5f 63 6f 6e 74 65 6e 74 60 0a 20 2a 20 28 70 72 65 73 65 72 76 69 6e | reasoning_content`..*.(preservin |
| 3700 | 67 20 65 6d 70 74 79 20 73 74 72 69 6e 67 73 29 20 41 4e 44 20 73 74 72 69 70 20 74 68 6f 73 65 | g.empty.strings).AND.strip.those |
| 3720 | 20 70 61 72 74 73 20 66 72 6f 6d 20 63 6f 6e 74 65 6e 74 2e 20 54 68 65 0a 20 2a 20 72 65 73 75 | .parts.from.content..The..*.resu |
| 3740 | 6c 74 69 6e 67 20 70 61 79 6c 6f 61 64 20 68 61 73 20 61 20 73 69 6e 67 6c 65 20 73 6f 75 72 63 | lting.payload.has.a.single.sourc |
| 3760 | 65 20 6f 66 20 74 72 75 74 68 20 66 6f 72 20 60 72 65 61 73 6f 6e 69 6e 67 5f 63 6f 6e 74 65 6e | e.of.truth.for.`reasoning_conten |
| 3780 | 74 60 0a 20 2a 20 63 6f 6d 69 6e 67 20 76 69 61 20 74 68 65 20 6d 65 73 73 61 67 65 2d 6c 65 76 | t`..*.coming.via.the.message-lev |
| 37a0 | 65 6c 20 60 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 60 20 73 70 72 65 61 64 20 61 74 20 6c | el.`providerOptions`.spread.at.l |
| 37c0 | 69 6e 65 20 32 34 37 20 6f 66 20 74 68 65 0a 20 2a 20 53 44 4b 20 70 72 6f 76 69 64 65 72 2c 20 | ine.247.of.the..*.SDK.provider,. |
| 37e0 | 77 68 69 63 68 20 66 69 72 65 73 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 65 6d 70 74 79 2d | which.fires.regardless.of.empty- |
| 3800 | 76 73 2d 6e 6f 6e 2d 65 6d 70 74 79 20 74 65 78 74 2e 0a 20 2a 0a 20 2a 20 4f 6e 6c 79 20 61 70 | vs-non-empty.text...*..*.Only.ap |
| 3820 | 70 6c 69 65 64 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 28 6e 6f 6e 2d 41 6e 74 68 72 | plied.for.the.default.(non-Anthr |
| 3840 | 6f 70 69 63 29 20 6f 70 65 6e 61 69 2d 63 6f 6d 70 61 74 69 62 6c 65 20 70 61 74 68 2e 0a 20 2a | opic).openai-compatible.path...* |
| 3860 | 2f 0a 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 4f 70 65 6e 41 49 43 6f 6d 70 61 74 69 62 6c 65 | /.function.applyOpenAICompatible |
| 3880 | 52 65 61 73 6f 6e 69 6e 67 4e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 28 6d 73 67 73 3a 20 4d 6f 64 | ReasoningNormalisation(msgs:.Mod |
| 38a0 | 65 6c 4d 65 73 73 61 67 65 5b 5d 29 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 20 7b 0a 09 | elMessage[]):.ModelMessage[].{.. |
| 38c0 | 72 65 74 75 72 6e 20 6d 73 67 73 2e 6d 61 70 28 28 6d 73 67 29 20 3d 3e 20 7b 0a 09 09 69 66 20 | return.msgs.map((msg).=>.{...if. |
| 38e0 | 28 6d 73 67 2e 72 6f 6c 65 20 21 3d 3d 20 22 61 73 73 69 73 74 61 6e 74 22 20 7c 7c 20 21 41 72 | (msg.role.!==."assistant".||.!Ar |
| 3900 | 72 61 79 2e 69 73 41 72 72 61 79 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 29 29 20 72 65 74 75 72 6e | ray.isArray(msg.content)).return |
| 3920 | 20 6d 73 67 3b 0a 0a 09 09 2f 2f 20 46 69 6e 64 20 72 65 61 73 6f 6e 69 6e 67 20 70 61 72 74 73 | .msg;....//.Find.reasoning.parts |
| 3940 | 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2c 20 74 68 69 73 20 6d 65 73 73 61 67 | ..If.there.are.none,.this.messag |
| 3960 | 65 20 6e 65 76 65 72 20 68 61 64 0a 09 09 2f 2f 20 61 20 74 68 69 6e 6b 69 6e 67 20 74 75 72 6e | e.never.had...//.a.thinking.turn |
| 3980 | 20 e2 80 94 20 44 65 65 70 53 65 65 6b 20 64 6f 65 73 6e 27 74 20 72 65 71 75 69 72 65 20 60 72 | .....DeepSeek.doesn't.require.`r |
| 39a0 | 65 61 73 6f 6e 69 6e 67 5f 63 6f 6e 74 65 6e 74 60 0a 09 09 2f 2f 20 69 6e 20 74 68 61 74 20 63 | easoning_content`...//.in.that.c |
| 39c0 | 61 73 65 2c 20 73 6f 20 77 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 75 6e 63 68 61 6e 67 65 | ase,.so.we.pass.through.unchange |
| 39e0 | 64 2e 0a 09 09 63 6f 6e 73 74 20 72 65 61 73 6f 6e 69 6e 67 50 61 72 74 73 20 3d 20 6d 73 67 2e | d....const.reasoningParts.=.msg. |
| 3a00 | 63 6f 6e 74 65 6e 74 2e 66 69 6c 74 65 72 28 0a 09 09 09 28 70 29 3a 20 70 20 69 73 20 45 78 74 | content.filter(....(p):.p.is.Ext |
| 3a20 | 72 61 63 74 3c 74 79 70 65 6f 66 20 70 2c 20 7b 20 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e | ract<typeof.p,.{.type:."reasonin |
| 3a40 | 67 22 20 7d 3e 20 3d 3e 20 70 2e 74 79 70 65 20 3d 3d 3d 20 22 72 65 61 73 6f 6e 69 6e 67 22 2c | g".}>.=>.p.type.===."reasoning", |
| 3a60 | 0a 09 09 29 3b 0a 09 09 69 66 20 28 72 65 61 73 6f 6e 69 6e 67 50 61 72 74 73 2e 6c 65 6e 67 74 | ...);...if.(reasoningParts.lengt |
| 3a80 | 68 20 3d 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 6d 73 67 3b 0a 0a 09 09 63 6f 6e 73 74 20 72 65 | h.===.0).return.msg;....const.re |
| 3aa0 | 61 73 6f 6e 69 6e 67 54 65 78 74 20 3d 20 72 65 61 73 6f 6e 69 6e 67 50 61 72 74 73 2e 6d 61 70 | asoningText.=.reasoningParts.map |
| 3ac0 | 28 28 70 29 20 3d 3e 20 70 2e 74 65 78 74 29 2e 6a 6f 69 6e 28 22 22 29 3b 0a 09 09 63 6f 6e 73 | ((p).=>.p.text).join("");...cons |
| 3ae0 | 74 20 66 69 6c 74 65 72 65 64 43 6f 6e 74 65 6e 74 20 3d 20 6d 73 67 2e 63 6f 6e 74 65 6e 74 2e | t.filteredContent.=.msg.content. |
| 3b00 | 66 69 6c 74 65 72 28 28 70 29 20 3d 3e 20 70 2e 74 79 70 65 20 21 3d 3d 20 22 72 65 61 73 6f 6e | filter((p).=>.p.type.!==."reason |
| 3b20 | 69 6e 67 22 29 3b 0a 0a 09 09 63 6f 6e 73 74 20 65 78 69 73 74 69 6e 67 4f 70 74 73 20 3d 20 6d | ing");....const.existingOpts.=.m |
| 3b40 | 73 67 2e 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 3f 3f 20 7b 7d 3b 0a 09 09 63 6f 6e 73 | sg.providerOptions.??.{};...cons |
| 3b60 | 74 20 65 78 69 73 74 69 6e 67 43 6f 6d 70 61 74 20 3d 20 28 65 78 69 73 74 69 6e 67 4f 70 74 73 | t.existingCompat.=.(existingOpts |
| 3b80 | 2e 6f 70 65 6e 61 69 43 6f 6d 70 61 74 69 62 6c 65 20 3f 3f 20 7b 7d 29 20 61 73 20 52 65 63 6f | .openaiCompatible.??.{}).as.Reco |
| 3ba0 | 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b 6e 6f 77 6e 3e 3b 0a 0a 09 09 72 65 74 75 72 6e 20 7b | rd<string,.unknown>;....return.{ |
| 3bc0 | 0a 09 09 09 2e 2e 2e 6d 73 67 2c 0a 09 09 09 63 6f 6e 74 65 6e 74 3a 20 66 69 6c 74 65 72 65 64 | .......msg,....content:.filtered |
| 3be0 | 43 6f 6e 74 65 6e 74 2c 0a 09 09 09 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 3a 20 7b 0a 09 | Content,....providerOptions:.{.. |
| 3c00 | 09 09 09 2e 2e 2e 65 78 69 73 74 69 6e 67 4f 70 74 73 2c 0a 09 09 09 09 6f 70 65 6e 61 69 43 6f | ......existingOpts,.....openaiCo |
| 3c20 | 6d 70 61 74 69 62 6c 65 3a 20 7b 0a 09 09 09 09 09 2e 2e 2e 65 78 69 73 74 69 6e 67 43 6f 6d 70 | mpatible:.{.........existingComp |
| 3c40 | 61 74 2c 0a 09 09 09 09 09 2f 2f 20 41 6c 77 61 79 73 20 73 65 74 2c 20 65 76 65 6e 20 77 68 65 | at,......//.Always.set,.even.whe |
| 3c60 | 6e 20 65 6d 70 74 79 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 6b 65 79 20 66 69 78 20 e2 80 94 | n.empty..This.is.the.key.fix.... |
| 3c80 | 0a 09 09 09 09 09 2f 2f 20 74 68 65 20 53 44 4b 27 73 20 63 6f 6e 74 65 6e 74 2d 73 69 64 65 20 | ......//.the.SDK's.content-side. |
| 3ca0 | 65 78 74 72 61 63 74 69 6f 6e 20 73 6b 69 70 73 20 65 6d 70 74 79 0a 09 09 09 09 09 2f 2f 20 72 | extraction.skips.empty......//.r |
| 3cc0 | 65 61 73 6f 6e 69 6e 67 2c 20 62 75 74 20 44 65 65 70 53 65 65 6b 20 72 65 71 75 69 72 65 73 20 | easoning,.but.DeepSeek.requires. |
| 3ce0 | 74 68 65 20 66 69 65 6c 64 20 70 72 65 73 65 6e 74 2e 0a 09 09 09 09 09 72 65 61 73 6f 6e 69 6e | the.field.present.......reasonin |
| 3d00 | 67 5f 63 6f 6e 74 65 6e 74 3a 20 72 65 61 73 6f 6e 69 6e 67 54 65 78 74 2c 0a 09 09 09 09 7d 2c | g_content:.reasoningText,.....}, |
| 3d20 | 0a 09 09 09 7d 2c 0a 09 09 7d 20 61 73 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 3b 0a 09 7d 29 3b | ....},...}.as.ModelMessage;..}); |
| 3d40 | 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 41 70 70 6c 79 20 41 6e 74 68 72 6f 70 69 63 20 73 74 72 75 63 | .}../**..*.Apply.Anthropic.struc |
| 3d60 | 74 75 72 61 6c 20 6e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 73 20 74 6f 20 61 20 60 4d 6f 64 65 6c | tural.normalisations.to.a.`Model |
| 3d80 | 4d 65 73 73 61 67 65 5b 5d 60 2e 0a 20 2a 0a 20 2a 20 43 72 69 62 62 65 64 20 66 72 6f 6d 20 6f | Message[]`...*..*.Cribbed.from.o |
| 3da0 | 70 65 6e 63 6f 64 65 20 60 70 72 6f 76 69 64 65 72 2f 74 72 61 6e 73 66 6f 72 6d 2e 74 73 3a 35 | pencode.`provider/transform.ts:5 |
| 3dc0 | 33 2d 31 34 38 60 2e 20 54 77 6f 20 70 61 73 73 65 73 3a 0a 20 2a 0a 20 2a 20 31 2e 20 2a 2a 45 | 3-148`..Two.passes:..*..*.1..**E |
| 3de0 | 6d 70 74 79 2d 74 65 78 74 2f 72 65 61 73 6f 6e 69 6e 67 20 66 69 6c 74 65 72 2a 2a 3a 20 44 72 | mpty-text/reasoning.filter**:.Dr |
| 3e00 | 6f 70 20 60 74 65 78 74 60 20 2f 20 60 72 65 61 73 6f 6e 69 6e 67 60 20 70 61 72 74 73 0a 20 2a | op.`text`./.`reasoning`.parts..* |
| 3e20 | 20 20 20 20 77 68 6f 73 65 20 60 74 65 78 74 20 3d 3d 3d 20 22 22 60 2e 20 44 72 6f 70 20 6d 65 | ....whose.`text.===.""`..Drop.me |
| 3e40 | 73 73 61 67 65 73 20 77 68 6f 73 65 20 63 6f 6e 74 65 6e 74 20 61 72 72 61 79 20 62 65 63 6f 6d | ssages.whose.content.array.becom |
| 3e60 | 65 73 0a 20 2a 20 20 20 20 65 6d 70 74 79 2e 20 41 6e 74 68 72 6f 70 69 63 20 72 65 6a 65 63 74 | es..*....empty..Anthropic.reject |
| 3e80 | 73 20 61 73 73 69 73 74 61 6e 74 20 74 75 72 6e 73 20 77 69 74 68 20 65 6d 70 74 79 20 63 6f 6e | s.assistant.turns.with.empty.con |
| 3ea0 | 74 65 6e 74 2e 0a 20 2a 0a 20 2a 20 32 2e 20 2a 2a 60 74 6f 6f 6c 43 61 6c 6c 49 64 60 20 73 63 | tent...*..*.2..**`toolCallId`.sc |
| 3ec0 | 72 75 62 62 69 6e 67 2a 2a 3a 20 41 6e 74 68 72 6f 70 69 63 20 6f 6e 6c 79 20 61 63 63 65 70 74 | rubbing**:.Anthropic.only.accept |
| 3ee0 | 73 20 74 6f 6f 6c 20 63 61 6c 6c 20 49 44 73 0a 20 2a 20 20 20 20 74 68 61 74 20 6d 61 74 63 68 | s.tool.call.IDs..*....that.match |
| 3f00 | 20 60 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 60 2e 20 4f 75 72 20 49 44 73 20 61 72 65 20 63 72 | .`[a-zA-Z0-9_-]`..Our.IDs.are.cr |
| 3f20 | 79 70 74 6f 2e 72 61 6e 64 6f 6d 55 55 49 44 28 29 20 76 61 6c 75 65 73 0a 20 2a 20 20 20 20 77 | ypto.randomUUID().values..*....w |
| 3f40 | 68 69 63 68 20 61 72 65 20 61 6c 72 65 61 64 79 20 73 61 66 65 2c 20 62 75 74 20 74 6f 6f 6c 2d | hich.are.already.safe,.but.tool- |
| 3f60 | 63 61 6c 6c 20 49 44 73 20 61 73 73 69 67 6e 65 64 20 62 79 20 75 70 73 74 72 65 61 6d 0a 20 2a | call.IDs.assigned.by.upstream..* |
| 3f80 | 20 20 20 20 73 6f 75 72 63 65 73 20 28 70 72 6f 76 69 64 65 72 2d 65 78 65 63 75 74 65 64 20 74 | ....sources.(provider-executed.t |
| 3fa0 | 6f 6f 6c 73 2c 20 73 75 62 61 67 65 6e 74 20 72 65 74 72 69 65 76 61 6c 2c 20 65 74 63 2e 29 20 | ools,.subagent.retrieval,.etc.). |
| 3fc0 | 6d 61 79 0a 20 2a 20 20 20 20 6e 6f 74 20 62 65 2e 20 44 65 66 65 6e 73 69 76 65 6c 79 20 73 63 | may..*....not.be..Defensively.sc |
| 3fe0 | 72 75 62 2e 20 4d 69 72 72 6f 72 73 20 6f 70 65 6e 63 6f 64 65 20 60 70 72 6f 76 69 64 65 72 2f | rub..Mirrors.opencode.`provider/ |
| 4000 | 74 72 61 6e 73 66 6f 72 6d 2e 74 73 3a 39 36 2d 31 32 32 60 2e 0a 20 2a 0a 20 2a 20 33 2e 20 2a | transform.ts:96-122`...*..*.3..* |
| 4020 | 2a 60 5b 74 6f 6f 6c 2d 63 61 6c 6c 2c 20 74 65 78 74 5d 60 20 73 70 6c 69 74 2a 2a 3a 20 41 6e | *`[tool-call,.text]`.split**:.An |
| 4040 | 74 68 72 6f 70 69 63 20 72 65 6a 65 63 74 73 20 61 73 73 69 73 74 61 6e 74 20 74 75 72 6e 73 0a | thropic.rejects.assistant.turns. |
| 4060 | 20 2a 20 20 20 20 77 68 65 72 65 20 60 74 6f 6f 6c 5f 75 73 65 60 20 62 6c 6f 63 6b 73 20 61 72 | .*....where.`tool_use`.blocks.ar |
| 4080 | 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 6e 6f 6e 2d 74 6f 6f 6c 2d 63 61 6c 6c 20 63 6f 6e 74 | e.followed.by.non-tool-call.cont |
| 40a0 | 65 6e 74 0a 20 2a 20 20 20 20 28 22 60 74 6f 6f 6c 5f 75 73 65 60 20 69 64 73 20 77 65 72 65 20 | ent..*....("`tool_use`.ids.were. |
| 40c0 | 66 6f 75 6e 64 20 77 69 74 68 6f 75 74 20 60 74 6f 6f 6c 5f 72 65 73 75 6c 74 60 20 62 6c 6f 63 | found.without.`tool_result`.bloc |
| 40e0 | 6b 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 0a 20 2a 20 20 20 20 61 66 74 65 72 22 29 2e 20 49 66 | ks.immediately..*....after")..If |
| 4100 | 20 61 6e 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 68 61 73 20 6d 69 78 65 64 20 | .an.assistant.message.has.mixed. |
| 4120 | 6f 72 64 65 72 69 6e 67 2c 20 73 70 6c 69 74 20 69 74 20 69 6e 74 6f 0a 20 2a 20 20 20 20 60 5b | ordering,.split.it.into..*....`[ |
| 4140 | 6e 6f 6e 2d 74 6f 6f 6c 20 70 61 72 74 73 5d 20 2b 20 5b 74 6f 6f 6c 2d 63 61 6c 6c 20 70 61 72 | non-tool.parts].+.[tool-call.par |
| 4160 | 74 73 5d 60 2e 0a 20 2a 0a 20 2a 20 4f 6e 6c 79 20 61 70 70 6c 69 65 64 20 66 6f 72 20 41 6e 74 | ts]`...*..*.Only.applied.for.Ant |
| 4180 | 68 72 6f 70 69 63 2d 62 61 63 6b 65 64 20 70 72 6f 76 69 64 65 72 73 20 28 43 6c 61 75 64 65 20 | hropic-backed.providers.(Claude. |
| 41a0 | 4f 41 75 74 68 20 6f 72 0a 20 2a 20 6f 70 65 6e 63 6f 64 65 2d 61 6e 74 68 72 6f 70 69 63 29 2e | OAuth.or..*.opencode-anthropic). |
| 41c0 | 20 53 6b 69 70 20 66 6f 72 20 6f 70 65 6e 61 69 2d 63 6f 6d 70 61 74 69 62 6c 65 20 2f 20 4f 70 | .Skip.for.openai-compatible./.Op |
| 41e0 | 65 6e 43 6f 64 65 20 5a 65 6e 2e 0a 20 2a 2f 0a 63 6f 6e 73 74 20 53 43 52 55 42 5f 54 4f 4f 4c | enCode.Zen...*/.const.SCRUB_TOOL |
| 4200 | 5f 43 41 4c 4c 5f 49 44 20 3d 20 28 69 64 3a 20 73 74 72 69 6e 67 29 3a 20 73 74 72 69 6e 67 20 | _CALL_ID.=.(id:.string):.string. |
| 4220 | 3d 3e 20 69 64 2e 72 65 70 6c 61 63 65 28 2f 5b 5e 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2f 67 2c | =>.id.replace(/[^a-zA-Z0-9_-]/g, |
| 4240 | 20 22 5f 22 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 53 | ."_");..function.applyAnthropicS |
| 4260 | 74 72 75 63 74 75 72 61 6c 4e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 73 28 6d 73 67 73 3a 20 4d 6f | tructuralNormalisations(msgs:.Mo |
| 4280 | 64 65 6c 4d 65 73 73 61 67 65 5b 5d 29 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 20 7b 0a | delMessage[]):.ModelMessage[].{. |
| 42a0 | 09 2f 2f 20 50 61 73 73 20 31 3a 20 46 69 6c 74 65 72 20 65 6d 70 74 79 20 74 65 78 74 2f 72 65 | .//.Pass.1:.Filter.empty.text/re |
| 42c0 | 61 73 6f 6e 69 6e 67 20 70 61 72 74 73 3b 20 64 72 6f 70 20 6d 65 73 73 61 67 65 73 20 74 68 61 | asoning.parts;.drop.messages.tha |
| 42e0 | 74 20 62 65 63 6f 6d 65 20 65 6d 70 74 79 2e 0a 09 6d 73 67 73 20 3d 20 6d 73 67 73 0a 09 09 2e | t.become.empty...msgs.=.msgs.... |
| 4300 | 6d 61 70 28 28 6d 73 67 29 20 3d 3e 20 7b 0a 09 09 09 69 66 20 28 74 79 70 65 6f 66 20 6d 73 67 | map((msg).=>.{....if.(typeof.msg |
| 4320 | 2e 63 6f 6e 74 65 6e 74 20 3d 3d 3d 20 22 73 74 72 69 6e 67 22 29 20 7b 0a 09 09 09 09 69 66 20 | .content.===."string").{.....if. |
| 4340 | 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 20 3d 3d 3d 20 22 22 29 20 72 65 74 75 72 6e 20 75 6e 64 65 | (msg.content.===."").return.unde |
| 4360 | 66 69 6e 65 64 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 6d 73 67 3b 0a 09 09 09 7d 0a 09 09 09 69 | fined;.....return.msg;....}....i |
| 4380 | 66 20 28 21 41 72 72 61 79 2e 69 73 41 72 72 61 79 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 29 29 20 | f.(!Array.isArray(msg.content)). |
| 43a0 | 72 65 74 75 72 6e 20 6d 73 67 3b 0a 09 09 09 63 6f 6e 73 74 20 66 69 6c 74 65 72 65 64 20 3d 20 | return.msg;....const.filtered.=. |
| 43c0 | 6d 73 67 2e 63 6f 6e 74 65 6e 74 2e 66 69 6c 74 65 72 28 28 70 61 72 74 29 20 3d 3e 20 7b 0a 09 | msg.content.filter((part).=>.{.. |
| 43e0 | 09 09 09 69 66 20 28 70 61 72 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 65 78 74 22 20 7c 7c 20 70 | ...if.(part.type.===."text".||.p |
| 4400 | 61 72 74 2e 74 79 70 65 20 3d 3d 3d 20 22 72 65 61 73 6f 6e 69 6e 67 22 29 20 7b 0a 09 09 09 09 | art.type.===."reasoning").{..... |
| 4420 | 09 2f 2f 20 44 72 6f 70 20 65 6d 70 74 79 20 74 65 78 74 2f 72 65 61 73 6f 6e 69 6e 67 20 70 61 | .//.Drop.empty.text/reasoning.pa |
| 4440 | 72 74 73 2e 20 41 6e 74 68 72 6f 70 69 63 20 72 65 6a 65 63 74 73 20 61 6e 20 65 6d 70 74 79 0a | rts..Anthropic.rejects.an.empty. |
| 4460 | 09 09 09 09 09 2f 2f 20 60 72 65 61 73 6f 6e 69 6e 67 60 20 70 61 72 74 20 28 22 74 68 69 6e 6b | .....//.`reasoning`.part.("think |
| 4480 | 69 6e 67 20 62 6c 6f 63 6b 20 6d 75 73 74 20 68 61 76 65 20 63 6f 6e 74 65 6e 74 22 29 20 65 76 | ing.block.must.have.content").ev |
| 44a0 | 65 6e 0a 09 09 09 09 09 2f 2f 20 77 68 65 6e 20 69 74 20 63 61 72 72 69 65 73 20 61 20 73 69 67 | en......//.when.it.carries.a.sig |
| 44c0 | 6e 61 74 75 72 65 2c 20 73 6f 20 77 65 20 73 74 72 69 70 20 69 74 20 6f 6e 20 74 68 65 20 77 61 | nature,.so.we.strip.it.on.the.wa |
| 44e0 | 79 20 6f 75 74 0a 09 09 09 09 09 2f 2f 20 77 68 69 6c 65 20 73 74 69 6c 6c 20 70 65 72 73 69 73 | y.out......//.while.still.persis |
| 4500 | 74 69 6e 67 20 74 68 65 20 73 69 67 6e 65 64 20 62 6c 6f 63 6b 20 66 6f 72 20 72 6f 75 6e 64 2d | ting.the.signed.block.for.round- |
| 4520 | 74 72 69 70 0a 09 09 09 09 09 2f 2f 20 66 69 64 65 6c 69 74 79 20 28 73 65 65 20 74 68 65 20 65 | trip......//.fidelity.(see.the.e |
| 4540 | 6d 70 74 79 2d 72 65 61 73 6f 6e 69 6e 67 2d 70 61 72 74 20 74 65 73 74 29 2e 0a 09 09 09 09 09 | mpty-reasoning-part.test)....... |
| 4560 | 72 65 74 75 72 6e 20 28 70 61 72 74 20 61 73 20 7b 20 74 65 78 74 3a 20 73 74 72 69 6e 67 20 7d | return.(part.as.{.text:.string.} |
| 4580 | 29 2e 74 65 78 74 20 21 3d 3d 20 22 22 3b 0a 09 09 09 09 7d 0a 09 09 09 09 72 65 74 75 72 6e 20 | ).text.!==."";.....}.....return. |
| 45a0 | 74 72 75 65 3b 0a 09 09 09 7d 29 3b 0a 09 09 09 69 66 20 28 66 69 6c 74 65 72 65 64 2e 6c 65 6e | true;....});....if.(filtered.len |
| 45c0 | 67 74 68 20 3d 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 09 | gth.===.0).return.undefined;.... |
| 45e0 | 72 65 74 75 72 6e 20 7b 20 2e 2e 2e 6d 73 67 2c 20 63 6f 6e 74 65 6e 74 3a 20 66 69 6c 74 65 72 | return.{....msg,.content:.filter |
| 4600 | 65 64 20 7d 3b 0a 09 09 7d 29 0a 09 09 2e 66 69 6c 74 65 72 28 28 6d 73 67 29 3a 20 6d 73 67 20 | ed.};...})....filter((msg):.msg. |
| 4620 | 69 73 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 20 3d 3e 20 6d 73 67 20 21 3d 3d 20 75 6e 64 65 66 | is.ModelMessage.=>.msg.!==.undef |
| 4640 | 69 6e 65 64 20 26 26 20 6d 73 67 2e 63 6f 6e 74 65 6e 74 20 21 3d 3d 20 22 22 29 3b 0a 0a 09 2f | ined.&&.msg.content.!==."");.../ |
| 4660 | 2f 20 50 61 73 73 20 32 3a 20 53 63 72 75 62 20 74 6f 6f 6c 43 61 6c 6c 49 64 20 63 68 61 72 73 | /.Pass.2:.Scrub.toolCallId.chars |
| 4680 | 20 6f 6e 20 62 6f 74 68 20 61 73 73 69 73 74 61 6e 74 20 74 6f 6f 6c 2d 63 61 6c 6c 20 70 61 72 | .on.both.assistant.tool-call.par |
| 46a0 | 74 73 20 61 6e 64 0a 09 2f 2f 20 74 6f 6f 6c 2d 72 6f 6c 65 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 | ts.and..//.tool-role.tool-result |
| 46c0 | 20 70 61 72 74 73 2e 20 41 6e 74 68 72 6f 70 69 63 20 72 65 6a 65 63 74 73 20 61 6e 79 74 68 69 | .parts..Anthropic.rejects.anythi |
| 46e0 | 6e 67 20 6f 75 74 73 69 64 65 0a 09 2f 2f 20 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2e 20 4f 75 | ng.outside..//.[a-zA-Z0-9_-]..Ou |
| 4700 | 72 20 69 6e 74 65 72 6e 61 6c 20 49 44 73 20 61 72 65 20 63 72 79 70 74 6f 2e 72 61 6e 64 6f 6d | r.internal.IDs.are.crypto.random |
| 4720 | 55 55 49 44 28 29 20 61 6e 64 20 73 61 66 65 2c 20 62 75 74 0a 09 2f 2f 20 75 70 73 74 72 65 61 | UUID().and.safe,.but..//.upstrea |
| 4740 | 6d 20 70 72 6f 76 69 64 65 72 2d 65 78 65 63 75 74 65 64 20 74 6f 6f 6c 73 20 6f 72 20 65 78 74 | m.provider-executed.tools.or.ext |
| 4760 | 65 72 6e 61 6c 20 73 6f 75 72 63 65 73 20 6d 61 79 20 6e 6f 74 20 62 65 2e 0a 09 6d 73 67 73 20 | ernal.sources.may.not.be...msgs. |
| 4780 | 3d 20 6d 73 67 73 2e 6d 61 70 28 28 6d 73 67 29 20 3d 3e 20 7b 0a 09 09 69 66 20 28 6d 73 67 2e | =.msgs.map((msg).=>.{...if.(msg. |
| 47a0 | 72 6f 6c 65 20 3d 3d 3d 20 22 61 73 73 69 73 74 61 6e 74 22 20 26 26 20 41 72 72 61 79 2e 69 73 | role.===."assistant".&&.Array.is |
| 47c0 | 41 72 72 61 79 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 | Array(msg.content)).{....return. |
| 47e0 | 7b 0a 09 09 09 09 2e 2e 2e 6d 73 67 2c 0a 09 09 09 09 63 6f 6e 74 65 6e 74 3a 20 6d 73 67 2e 63 | {........msg,.....content:.msg.c |
| 4800 | 6f 6e 74 65 6e 74 2e 6d 61 70 28 28 70 61 72 74 29 20 3d 3e 20 7b 0a 09 09 09 09 09 69 66 20 28 | ontent.map((part).=>.{......if.( |
| 4820 | 70 61 72 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 20 7c 7c 20 70 61 72 | part.type.===."tool-call".||.par |
| 4840 | 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 72 65 73 75 6c 74 22 29 20 7b 0a 09 09 09 09 | t.type.===."tool-result").{..... |
| 4860 | 09 09 72 65 74 75 72 6e 20 7b 20 2e 2e 2e 70 61 72 74 2c 20 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 | ..return.{....part,.toolCallId:. |
| 4880 | 53 43 52 55 42 5f 54 4f 4f 4c 5f 43 41 4c 4c 5f 49 44 28 70 61 72 74 2e 74 6f 6f 6c 43 61 6c 6c | SCRUB_TOOL_CALL_ID(part.toolCall |
| 48a0 | 49 64 29 20 7d 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 72 65 74 75 72 6e 20 70 61 72 74 3b 0a | Id).};......}......return.part;. |
| 48c0 | 09 09 09 09 7d 29 2c 0a 09 09 09 7d 3b 0a 09 09 7d 0a 09 09 69 66 20 28 6d 73 67 2e 72 6f 6c 65 | ....}),....};...}...if.(msg.role |
| 48e0 | 20 3d 3d 3d 20 22 74 6f 6f 6c 22 20 26 26 20 41 72 72 61 79 2e 69 73 41 72 72 61 79 28 6d 73 67 | .===."tool".&&.Array.isArray(msg |
| 4900 | 2e 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 2e 2e 2e | .content)).{....return.{........ |
| 4920 | 6d 73 67 2c 0a 09 09 09 09 63 6f 6e 74 65 6e 74 3a 20 6d 73 67 2e 63 6f 6e 74 65 6e 74 2e 6d 61 | msg,.....content:.msg.content.ma |
| 4940 | 70 28 28 70 61 72 74 29 20 3d 3e 20 7b 0a 09 09 09 09 09 69 66 20 28 70 61 72 74 2e 74 79 70 65 | p((part).=>.{......if.(part.type |
| 4960 | 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 72 65 73 75 6c 74 22 29 20 7b 0a 09 09 09 09 09 09 72 65 74 75 | .===."tool-result").{.......retu |
| 4980 | 72 6e 20 7b 20 2e 2e 2e 70 61 72 74 2c 20 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 53 43 52 55 42 5f | rn.{....part,.toolCallId:.SCRUB_ |
| 49a0 | 54 4f 4f 4c 5f 43 41 4c 4c 5f 49 44 28 70 61 72 74 2e 74 6f 6f 6c 43 61 6c 6c 49 64 29 20 7d 3b | TOOL_CALL_ID(part.toolCallId).}; |
| 49c0 | 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 72 65 74 75 72 6e 20 70 61 72 74 3b 0a 09 09 09 09 7d 29 | ......}......return.part;.....}) |
| 49e0 | 2c 0a 09 09 09 7d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 6d 73 67 3b 0a 09 7d 29 3b 0a 0a | ,....};...}...return.msg;..});.. |
| 4a00 | 09 2f 2f 20 50 61 73 73 20 33 3a 20 53 70 6c 69 74 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 | .//.Pass.3:.Split.assistant.mess |
| 4a20 | 61 67 65 73 20 77 68 65 72 65 20 74 6f 6f 6c 2d 63 61 6c 6c 73 20 61 72 65 20 66 6f 6c 6c 6f 77 | ages.where.tool-calls.are.follow |
| 4a40 | 65 64 20 62 79 20 6e 6f 6e 2d 74 6f 6f 6c 2d 63 61 6c 6c 20 70 61 72 74 73 2e 0a 09 2f 2f 20 5b | ed.by.non-tool-call.parts...//.[ |
| 4a60 | 74 65 78 74 2c 20 74 6f 6f 6c 2d 63 61 6c 6c 2c 20 74 65 78 74 5d 20 e2 86 92 20 5b 74 65 78 74 | text,.tool-call,.text].....[text |
| 4a80 | 2c 20 74 65 78 74 5d 20 2b 20 5b 74 6f 6f 6c 2d 63 61 6c 6c 5d 20 28 74 65 78 74 2d 6f 6e 6c 79 | ,.text].+.[tool-call].(text-only |
| 4aa0 | 20 66 69 72 73 74 2c 20 74 6f 6f 6c 73 2d 6f 6e 6c 79 20 73 65 63 6f 6e 64 29 0a 09 6d 73 67 73 | .first,.tools-only.second)..msgs |
| 4ac0 | 20 3d 20 6d 73 67 73 2e 66 6c 61 74 4d 61 70 28 28 6d 73 67 29 20 3d 3e 20 7b 0a 09 09 69 66 20 | .=.msgs.flatMap((msg).=>.{...if. |
| 4ae0 | 28 6d 73 67 2e 72 6f 6c 65 20 21 3d 3d 20 22 61 73 73 69 73 74 61 6e 74 22 20 7c 7c 20 21 41 72 | (msg.role.!==."assistant".||.!Ar |
| 4b00 | 72 61 79 2e 69 73 41 72 72 61 79 28 6d 73 67 2e 63 6f 6e 74 65 6e 74 29 29 20 72 65 74 75 72 6e | ray.isArray(msg.content)).return |
| 4b20 | 20 5b 6d 73 67 5d 3b 0a 09 09 63 6f 6e 73 74 20 70 61 72 74 73 20 3d 20 6d 73 67 2e 63 6f 6e 74 | .[msg];...const.parts.=.msg.cont |
| 4b40 | 65 6e 74 3b 0a 09 09 63 6f 6e 73 74 20 66 69 72 73 74 54 6f 6f 6c 43 61 6c 6c 49 64 78 20 3d 20 | ent;...const.firstToolCallIdx.=. |
| 4b60 | 70 61 72 74 73 2e 66 69 6e 64 49 6e 64 65 78 28 28 70 61 72 74 29 20 3d 3e 20 70 61 72 74 2e 74 | parts.findIndex((part).=>.part.t |
| 4b80 | 79 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 29 3b 0a 09 09 69 66 20 28 66 69 72 73 | ype.===."tool-call");...if.(firs |
| 4ba0 | 74 54 6f 6f 6c 43 61 6c 6c 49 64 78 20 3d 3d 3d 20 2d 31 29 20 72 65 74 75 72 6e 20 5b 6d 73 67 | tToolCallIdx.===.-1).return.[msg |
| 4bc0 | 5d 3b 20 2f 2f 20 6e 6f 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 e2 86 92 20 70 61 73 73 20 74 68 72 | ];.//.no.tool.calls.....pass.thr |
| 4be0 | 6f 75 67 68 0a 09 09 2f 2f 20 49 66 20 65 76 65 72 79 74 68 69 6e 67 20 66 72 6f 6d 20 74 68 65 | ough...//.If.everything.from.the |
| 4c00 | 20 66 69 72 73 74 20 74 6f 6f 6c 2d 63 61 6c 6c 20 6f 6e 77 61 72 64 20 69 73 20 61 6c 73 6f 20 | .first.tool-call.onward.is.also. |
| 4c20 | 61 20 74 6f 6f 6c 2d 63 61 6c 6c 2c 20 69 74 27 73 20 61 6c 72 65 61 64 79 20 76 61 6c 69 64 0a | a.tool-call,.it's.already.valid. |
| 4c40 | 09 09 69 66 20 28 21 70 61 72 74 73 2e 73 6c 69 63 65 28 66 69 72 73 74 54 6f 6f 6c 43 61 6c 6c | ..if.(!parts.slice(firstToolCall |
| 4c60 | 49 64 78 29 2e 73 6f 6d 65 28 28 70 61 72 74 29 20 3d 3e 20 70 61 72 74 2e 74 79 70 65 20 21 3d | Idx).some((part).=>.part.type.!= |
| 4c80 | 3d 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 29 29 20 72 65 74 75 72 6e 20 5b 6d 73 67 5d 3b 0a 09 09 | =."tool-call")).return.[msg];... |
| 4ca0 | 2f 2f 20 48 61 73 20 6e 6f 6e 2d 74 6f 6f 6c 2d 63 61 6c 6c 20 63 6f 6e 74 65 6e 74 20 41 46 54 | //.Has.non-tool-call.content.AFT |
| 4cc0 | 45 52 20 61 20 74 6f 6f 6c 2d 63 61 6c 6c 20 e2 86 92 20 73 70 6c 69 74 0a 09 09 63 6f 6e 73 74 | ER.a.tool-call.....split...const |
| 4ce0 | 20 6e 6f 6e 54 6f 6f 6c 50 61 72 74 73 20 3d 20 70 61 72 74 73 2e 66 69 6c 74 65 72 28 28 70 61 | .nonToolParts.=.parts.filter((pa |
| 4d00 | 72 74 29 20 3d 3e 20 70 61 72 74 2e 74 79 70 65 20 21 3d 3d 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 | rt).=>.part.type.!==."tool-call" |
| 4d20 | 29 3b 0a 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 50 61 72 74 73 20 3d 20 70 61 72 74 73 2e 66 69 6c | );...const.toolParts.=.parts.fil |
| 4d40 | 74 65 72 28 28 70 61 72 74 29 20 3d 3e 20 70 61 72 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 6f 6f | ter((part).=>.part.type.===."too |
| 4d60 | 6c 2d 63 61 6c 6c 22 29 3b 0a 09 09 72 65 74 75 72 6e 20 5b 0a 09 09 09 7b 20 2e 2e 2e 6d 73 67 | l-call");...return.[....{....msg |
| 4d80 | 2c 20 63 6f 6e 74 65 6e 74 3a 20 6e 6f 6e 54 6f 6f 6c 50 61 72 74 73 20 7d 2c 0a 09 09 09 7b 20 | ,.content:.nonToolParts.},....{. |
| 4da0 | 2e 2e 2e 6d 73 67 2c 20 63 6f 6e 74 65 6e 74 3a 20 74 6f 6f 6c 50 61 72 74 73 20 7d 2c 0a 09 09 | ...msg,.content:.toolParts.},... |
| 4dc0 | 5d 3b 0a 09 7d 29 3b 0a 0a 09 72 65 74 75 72 6e 20 6d 73 67 73 3b 0a 7d 0a 0a 2f 2a 2a 0a 20 2a | ];..});...return.msgs;.}../**..* |
| 4de0 | 20 41 70 70 6c 79 20 41 6e 74 68 72 6f 70 69 63 20 70 72 6f 6d 70 74 2d 63 61 63 68 69 6e 67 20 | .Apply.Anthropic.prompt-caching. |
| 4e00 | 62 72 65 61 6b 70 6f 69 6e 74 73 20 74 6f 20 61 20 6d 65 73 73 61 67 65 20 6c 69 73 74 2e 0a 20 | breakpoints.to.a.message.list... |
| 4e20 | 2a 0a 20 2a 20 41 6e 74 68 72 6f 70 69 63 20 63 61 63 68 65 73 20 74 68 65 20 65 6e 74 69 72 65 | *..*.Anthropic.caches.the.entire |
| 4e40 | 20 72 65 71 75 65 73 74 20 70 72 65 66 69 78 20 75 70 20 74 6f 20 28 61 6e 64 20 69 6e 63 6c 75 | .request.prefix.up.to.(and.inclu |
| 4e60 | 64 69 6e 67 29 20 61 6e 79 20 62 6c 6f 63 6b 0a 20 2a 20 6d 61 72 6b 65 64 20 77 69 74 68 20 60 | ding).any.block..*.marked.with.` |
| 4e80 | 63 61 63 68 65 5f 63 6f 6e 74 72 6f 6c 60 2e 20 55 70 20 74 6f 20 34 20 62 72 65 61 6b 70 6f 69 | cache_control`..Up.to.4.breakpoi |
| 4ea0 | 6e 74 73 20 70 65 72 20 72 65 71 75 65 73 74 3b 20 77 65 20 75 73 65 20 74 68 72 65 65 0a 20 2a | nts.per.request;.we.use.three..* |
| 4ec0 | 20 28 66 69 72 73 74 20 73 79 73 74 65 6d 20 2b 20 6c 61 73 74 20 32 20 6e 6f 6e 2d 73 79 73 74 | .(first.system.+.last.2.non-syst |
| 4ee0 | 65 6d 29 2e 0a 20 2a 0a 20 2a 20 53 74 72 61 74 65 67 79 20 28 6d 69 72 72 6f 72 73 20 4f 70 65 | em)...*..*.Strategy.(mirrors.Ope |
| 4f00 | 6e 43 6f 64 65 27 73 20 60 61 70 70 6c 79 43 61 63 68 69 6e 67 60 20 69 6e 20 74 72 61 6e 73 66 | nCode's.`applyCaching`.in.transf |
| 4f20 | 6f 72 6d 2e 74 73 29 3a 0a 20 2a 20 20 2d 20 4d 61 72 6b 20 74 68 65 20 66 69 72 73 74 20 73 79 | orm.ts):..*..-.Mark.the.first.sy |
| 4f40 | 73 74 65 6d 20 6d 65 73 73 61 67 65 20 e2 86 92 20 63 61 63 68 65 73 20 73 79 73 74 65 6d 20 70 | stem.message.....caches.system.p |
| 4f60 | 72 6f 6d 70 74 20 28 61 6e 64 20 74 6f 6f 6c 73 2c 20 77 68 69 63 68 0a 20 2a 20 20 20 20 73 69 | rompt.(and.tools,.which..*....si |
| 4f80 | 74 20 62 65 66 6f 72 65 20 6d 65 73 73 61 67 65 73 20 69 6e 20 74 68 65 20 72 65 71 75 65 73 74 | t.before.messages.in.the.request |
| 4fa0 | 20 62 6f 64 79 29 2e 0a 20 2a 20 20 2d 20 4d 61 72 6b 20 74 68 65 20 6c 61 73 74 20 32 20 6e 6f | .body)...*..-.Mark.the.last.2.no |
| 4fc0 | 6e 2d 73 79 73 74 65 6d 20 6d 65 73 73 61 67 65 73 20 e2 86 92 20 72 6f 6c 6c 69 6e 67 20 63 61 | n-system.messages.....rolling.ca |
| 4fe0 | 63 68 65 20 74 68 61 74 20 65 78 74 65 6e 64 73 20 74 68 72 6f 75 67 68 0a 20 2a 20 20 20 20 74 | che.that.extends.through..*....t |
| 5000 | 68 65 20 63 6f 6e 76 65 72 73 61 74 69 6f 6e 20 65 61 63 68 20 74 75 72 6e 2e 0a 20 2a 0a 20 2a | he.conversation.each.turn...*..* |
| 5020 | 20 54 68 69 73 20 72 65 6c 69 65 73 20 6f 6e 20 60 74 6f 4d 6f 64 65 6c 4d 65 73 73 61 67 65 73 | .This.relies.on.`toModelMessages |
| 5040 | 60 20 67 72 6f 75 70 69 6e 67 20 61 20 74 75 72 6e 27 73 20 74 6f 6f 6c 20 72 65 73 75 6c 74 73 | `.grouping.a.turn's.tool.results |
| 5060 | 20 69 6e 74 6f 20 6f 6e 65 0a 20 2a 20 60 72 6f 6c 65 3a 20 22 74 6f 6f 6c 22 60 20 6d 65 73 73 | .into.one..*.`role:."tool"`.mess |
| 5080 | 61 67 65 3a 20 74 68 61 74 20 6d 61 6b 65 73 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 6e 6f 6e | age:.that.makes.the.last.two.non |
| 50a0 | 2d 73 79 73 74 65 6d 20 6d 65 73 73 61 67 65 73 0a 20 2a 20 60 5b 61 73 73 69 73 74 61 6e 74 28 | -system.messages..*.`[assistant( |
| 50c0 | 74 6f 6f 6c 2d 63 61 6c 6c 73 29 2c 20 74 6f 6f 6c 28 72 65 73 75 6c 74 73 29 5d 60 20 6d 69 64 | tool-calls),.tool(results)]`.mid |
| 50e0 | 2d 74 75 72 6e 2c 20 73 6f 20 74 68 65 20 74 77 6f 20 72 6f 6c 6c 69 6e 67 0a 20 2a 20 62 72 65 | -turn,.so.the.two.rolling..*.bre |
| 5100 | 61 6b 70 6f 69 6e 74 73 20 73 74 72 61 64 64 6c 65 20 74 68 65 20 61 73 73 69 73 74 61 6e 74 2f | akpoints.straddle.the.assistant/ |
| 5120 | 74 6f 6f 6c 20 62 6f 75 6e 64 61 72 79 20 69 6e 73 74 65 61 64 20 6f 66 20 63 6f 6c 6c 61 70 73 | tool.boundary.instead.of.collaps |
| 5140 | 69 6e 67 20 6f 6e 74 6f 0a 20 2a 20 74 77 6f 20 61 64 6a 61 63 65 6e 74 20 74 6f 6f 6c 2d 72 65 | ing.onto..*.two.adjacent.tool-re |
| 5160 | 73 75 6c 74 20 6d 65 73 73 61 67 65 73 20 28 77 68 69 63 68 20 77 61 73 74 65 73 20 61 20 62 72 | sult.messages.(which.wastes.a.br |
| 5180 | 65 61 6b 70 6f 69 6e 74 20 e2 80 94 20 73 65 65 0a 20 2a 20 63 6c 61 75 64 65 2d 72 65 70 6f 72 | eakpoint.....see..*.claude-repor |
| 51a0 | 74 2e 6d 64 2c 20 52 6f 6f 74 20 43 61 75 73 65 20 32 29 2e 20 41 6e 74 68 72 6f 70 69 63 20 63 | t.md,.Root.Cause.2)..Anthropic.c |
| 51c0 | 61 63 68 65 73 20 74 68 65 20 77 68 6f 6c 65 20 70 72 65 66 69 78 20 75 70 20 74 6f 20 61 6e 64 | aches.the.whole.prefix.up.to.and |
| 51e0 | 0a 20 2a 20 69 6e 63 6c 75 64 69 6e 67 20 61 20 6d 61 72 6b 65 64 20 62 6c 6f 63 6b 2c 20 73 6f | ..*.including.a.marked.block,.so |
| 5200 | 20 6d 61 72 6b 69 6e 67 20 74 68 65 20 67 72 6f 75 70 65 64 20 74 6f 6f 6c 20 6d 65 73 73 61 67 | .marking.the.grouped.tool.messag |
| 5220 | 65 20 65 78 74 65 6e 64 73 20 74 68 65 0a 20 2a 20 63 61 63 68 65 64 20 70 72 65 66 69 78 20 61 | e.extends.the..*.cached.prefix.a |
| 5240 | 63 72 6f 73 73 20 65 76 65 72 79 20 72 65 73 75 6c 74 20 74 68 65 20 74 75 72 6e 20 70 72 6f 64 | cross.every.result.the.turn.prod |
| 5260 | 75 63 65 64 2e 0a 20 2a 0a 20 2a 20 4f 6e 6c 79 20 61 70 70 6c 69 65 64 20 66 6f 72 20 74 68 65 | uced...*..*.Only.applied.for.the |
| 5280 | 20 41 6e 74 68 72 6f 70 69 63 20 70 72 6f 76 69 64 65 72 2e 20 4f 70 65 6e 43 6f 64 65 20 5a 65 | .Anthropic.provider..OpenCode.Ze |
| 52a0 | 6e 27 73 20 4f 70 65 6e 41 49 2d 63 6f 6d 70 61 74 69 62 6c 65 0a 20 2a 20 65 6e 64 70 6f 69 6e | n's.OpenAI-compatible..*.endpoin |
| 52c0 | 74 20 28 60 2f 7a 65 6e 2f 76 31 2f 63 68 61 74 2f 63 6f 6d 70 6c 65 74 69 6f 6e 73 60 29 20 62 | t.(`/zen/v1/chat/completions`).b |
| 52e0 | 61 63 6b 73 20 6d 6f 64 65 6c 73 20 6c 69 6b 65 20 4d 69 6e 69 4d 61 78 2c 20 47 4c 4d 2c 20 4b | acks.models.like.MiniMax,.GLM,.K |
| 5300 | 69 6d 69 2c 0a 20 2a 20 47 72 6f 6b 2c 20 65 74 63 2e 20 e2 80 94 20 74 68 6f 73 65 20 75 70 73 | imi,..*.Grok,.etc......those.ups |
| 5320 | 74 72 65 61 6d 73 20 64 6f 20 61 75 74 6f 6d 61 74 69 63 20 70 72 65 66 69 78 20 63 61 63 68 69 | treams.do.automatic.prefix.cachi |
| 5340 | 6e 67 20 73 65 72 76 65 72 2d 73 69 64 65 20 61 6e 64 0a 20 2a 20 64 6f 6e 27 74 20 61 63 63 65 | ng.server-side.and..*.don't.acce |
| 5360 | 70 74 20 60 63 61 63 68 65 5f 63 6f 6e 74 72 6f 6c 60 20 6d 61 72 6b 65 72 73 2e 20 4f 70 65 6e | pt.`cache_control`.markers..Open |
| 5380 | 43 6f 64 65 27 73 20 6f 77 6e 20 74 72 61 6e 73 66 6f 72 6d 2e 74 73 20 67 61 74 65 73 0a 20 2a | Code's.own.transform.ts.gates..* |
| 53a0 | 20 60 61 70 70 6c 79 43 61 63 68 69 6e 67 60 20 6f 6e 20 41 6e 74 68 72 6f 70 69 63 2d 66 61 6d | .`applyCaching`.on.Anthropic-fam |
| 53c0 | 69 6c 79 20 64 65 74 65 63 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 72 65 61 73 6f | ily.detection.for.the.same.reaso |
| 53e0 | 6e 2e 20 4d 6f 64 65 6c 73 0a 20 2a 20 73 65 72 76 65 64 20 76 69 61 20 60 40 61 69 2d 73 64 6b | n..Models..*.served.via.`@ai-sdk |
| 5400 | 2f 6f 70 65 6e 61 69 60 20 28 47 50 54 29 20 61 6e 64 20 60 40 61 69 2d 73 64 6b 2f 67 6f 6f 67 | /openai`.(GPT).and.`@ai-sdk/goog |
| 5420 | 6c 65 60 20 28 47 65 6d 69 6e 69 29 20 6c 69 6b 65 77 69 73 65 0a 20 2a 20 75 73 65 20 73 65 72 | le`.(Gemini).likewise..*.use.ser |
| 5440 | 76 65 72 2d 73 69 64 65 20 61 75 74 6f 6d 61 74 69 63 20 63 61 63 68 69 6e 67 2e 0a 20 2a 2f 0a | ver-side.automatic.caching...*/. |
| 5460 | 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 43 61 63 68 69 6e 67 28 6d | function.applyAnthropicCaching(m |
| 5480 | 73 67 73 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 29 3a 20 76 6f 69 64 20 7b 0a 09 63 6f | sgs:.ModelMessage[]):.void.{..co |
| 54a0 | 6e 73 74 20 74 61 72 67 65 74 73 20 3d 20 6e 65 77 20 53 65 74 3c 4d 6f 64 65 6c 4d 65 73 73 61 | nst.targets.=.new.Set<ModelMessa |
| 54c0 | 67 65 3e 28 29 3b 0a 0a 09 63 6f 6e 73 74 20 73 79 73 74 65 6d 4d 73 67 73 20 3d 20 6d 73 67 73 | ge>();...const.systemMsgs.=.msgs |
| 54e0 | 2e 66 69 6c 74 65 72 28 28 6d 29 20 3d 3e 20 6d 2e 72 6f 6c 65 20 3d 3d 3d 20 22 73 79 73 74 65 | .filter((m).=>.m.role.===."syste |
| 5500 | 6d 22 29 2e 73 6c 69 63 65 28 30 2c 20 32 29 3b 0a 09 66 6f 72 20 28 63 6f 6e 73 74 20 6d 20 6f | m").slice(0,.2);..for.(const.m.o |
| 5520 | 66 20 73 79 73 74 65 6d 4d 73 67 73 29 20 74 61 72 67 65 74 73 2e 61 64 64 28 6d 29 3b 0a 0a 09 | f.systemMsgs).targets.add(m);... |
| 5540 | 63 6f 6e 73 74 20 6e 6f 6e 53 79 73 74 65 6d 20 3d 20 6d 73 67 73 2e 66 69 6c 74 65 72 28 28 6d | const.nonSystem.=.msgs.filter((m |
| 5560 | 29 20 3d 3e 20 6d 2e 72 6f 6c 65 20 21 3d 3d 20 22 73 79 73 74 65 6d 22 29 2e 73 6c 69 63 65 28 | ).=>.m.role.!==."system").slice( |
| 5580 | 2d 32 29 3b 0a 09 66 6f 72 20 28 63 6f 6e 73 74 20 6d 20 6f 66 20 6e 6f 6e 53 79 73 74 65 6d 29 | -2);..for.(const.m.of.nonSystem) |
| 55a0 | 20 74 61 72 67 65 74 73 2e 61 64 64 28 6d 29 3b 0a 0a 09 66 6f 72 20 28 63 6f 6e 73 74 20 6d 73 | .targets.add(m);...for.(const.ms |
| 55c0 | 67 20 6f 66 20 74 61 72 67 65 74 73 29 20 7b 0a 09 09 6d 73 67 2e 70 72 6f 76 69 64 65 72 4f 70 | g.of.targets).{...msg.providerOp |
| 55e0 | 74 69 6f 6e 73 20 3d 20 7b 0a 09 09 09 2e 2e 2e 6d 73 67 2e 70 72 6f 76 69 64 65 72 4f 70 74 69 | tions.=.{.......msg.providerOpti |
| 5600 | 6f 6e 73 2c 0a 09 09 09 61 6e 74 68 72 6f 70 69 63 3a 20 7b 0a 09 09 09 09 2e 2e 2e 28 6d 73 67 | ons,....anthropic:.{........(msg |
| 5620 | 2e 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 3f 2e 61 6e 74 68 72 6f 70 69 63 20 3f 3f 20 7b | .providerOptions?.anthropic.??.{ |
| 5640 | 7d 29 2c 0a 09 09 09 09 63 61 63 68 65 43 6f 6e 74 72 6f 6c 3a 20 7b 20 74 79 70 65 3a 20 22 65 | }),.....cacheControl:.{.type:."e |
| 5660 | 70 68 65 6d 65 72 61 6c 22 20 7d 2c 0a 09 09 09 7d 2c 0a 09 09 7d 3b 0a 09 7d 0a 7d 0a 0a 66 75 | phemeral".},....},...};..}.}..fu |
| 5680 | 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 45 72 72 6f 72 28 65 72 72 3a 20 75 6e 6b 6e 6f 77 6e 2c | nction.formatError(err:.unknown, |
| 56a0 | 20 63 6f 6e 66 69 67 3a 20 41 67 65 6e 74 43 6f 6e 66 69 67 29 3a 20 73 74 72 69 6e 67 20 7b 0a | .config:.AgentConfig):.string.{. |
| 56c0 | 09 63 6f 6e 73 74 20 63 6f 6e 74 65 78 74 20 3d 20 60 5b 6d 6f 64 65 6c 3d 24 7b 63 6f 6e 66 69 | .const.context.=.`[model=${confi |
| 56e0 | 67 2e 6d 6f 64 65 6c 7d 2c 20 62 61 73 65 55 52 4c 3d 24 7b 63 6f 6e 66 69 67 2e 62 61 73 65 55 | g.model},.baseURL=${config.baseU |
| 5700 | 52 4c 7d 5d 60 3b 0a 0a 09 69 66 20 28 65 72 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f | RL}]`;...if.(err.instanceof.Erro |
| 5720 | 72 29 20 7b 0a 09 09 63 6f 6e 73 74 20 63 61 75 73 65 20 3d 20 65 72 72 2e 63 61 75 73 65 20 3f | r).{...const.cause.=.err.cause.? |
| 5740 | 20 60 20 7c 20 63 61 75 73 65 3a 20 24 7b 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 65 72 72 | .`.|.cause:.${JSON.stringify(err |
| 5760 | 2e 63 61 75 73 65 29 7d 60 20 3a 20 22 22 3b 0a 09 09 2f 2f 20 41 49 20 53 44 4b 20 65 72 72 6f | .cause)}`.:."";...//.AI.SDK.erro |
| 5780 | 72 73 20 6f 66 74 65 6e 20 68 61 76 65 20 73 74 61 74 75 73 43 6f 64 65 2c 20 72 65 73 70 6f 6e | rs.often.have.statusCode,.respon |
| 57a0 | 73 65 42 6f 64 79 2c 20 6f 72 20 75 72 6c 20 70 72 6f 70 65 72 74 69 65 73 0a 09 09 63 6f 6e 73 | seBody,.or.url.properties...cons |
| 57c0 | 74 20 65 78 74 72 61 73 3a 20 73 74 72 69 6e 67 5b 5d 20 3d 20 5b 5d 3b 0a 09 09 63 6f 6e 73 74 | t.extras:.string[].=.[];...const |
| 57e0 | 20 65 72 72 52 65 63 6f 72 64 20 3d 20 65 72 72 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 61 73 20 52 | .errRecord.=.err.as.unknown.as.R |
| 5800 | 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b 6e 6f 77 6e 3e 3b 0a 09 09 69 66 20 28 22 73 | ecord<string,.unknown>;...if.("s |
| 5820 | 74 61 74 75 73 43 6f 64 65 22 20 69 6e 20 65 72 72 52 65 63 6f 72 64 29 20 65 78 74 72 61 73 2e | tatusCode".in.errRecord).extras. |
| 5840 | 70 75 73 68 28 60 73 74 61 74 75 73 3d 24 7b 65 72 72 52 65 63 6f 72 64 2e 73 74 61 74 75 73 43 | push(`status=${errRecord.statusC |
| 5860 | 6f 64 65 7d 60 29 3b 0a 09 09 69 66 20 28 22 75 72 6c 22 20 69 6e 20 65 72 72 52 65 63 6f 72 64 | ode}`);...if.("url".in.errRecord |
| 5880 | 29 20 65 78 74 72 61 73 2e 70 75 73 68 28 60 75 72 6c 3d 24 7b 65 72 72 52 65 63 6f 72 64 2e 75 | ).extras.push(`url=${errRecord.u |
| 58a0 | 72 6c 7d 60 29 3b 0a 09 09 69 66 20 28 22 72 65 73 70 6f 6e 73 65 42 6f 64 79 22 20 69 6e 20 65 | rl}`);...if.("responseBody".in.e |
| 58c0 | 72 72 52 65 63 6f 72 64 29 20 65 78 74 72 61 73 2e 70 75 73 68 28 60 62 6f 64 79 3d 24 7b 4a 53 | rrRecord).extras.push(`body=${JS |
| 58e0 | 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 65 72 72 52 65 63 6f 72 64 2e 72 65 73 70 6f 6e 73 65 42 | ON.stringify(errRecord.responseB |
| 5900 | 6f 64 79 29 7d 60 29 3b 0a 09 09 69 66 20 28 22 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 22 | ody)}`);...if.("responseHeaders" |
| 5920 | 20 69 6e 20 65 72 72 52 65 63 6f 72 64 29 0a 09 09 09 65 78 74 72 61 73 2e 70 75 73 68 28 60 68 | .in.errRecord)....extras.push(`h |
| 5940 | 65 61 64 65 72 73 3d 24 7b 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 65 72 72 52 65 63 6f 72 | eaders=${JSON.stringify(errRecor |
| 5960 | 64 2e 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 29 7d 60 29 3b 0a 0a 09 09 63 6f 6e 73 74 20 | d.responseHeaders)}`);....const. |
| 5980 | 64 65 74 61 69 6c 20 3d 20 65 78 74 72 61 73 2e 6c 65 6e 67 74 68 20 3e 20 30 20 3f 20 60 20 28 | detail.=.extras.length.>.0.?.`.( |
| 59a0 | 24 7b 65 78 74 72 61 73 2e 6a 6f 69 6e 28 22 2c 20 22 29 7d 29 60 20 3a 20 22 22 3b 0a 09 09 72 | ${extras.join(",.")})`.:."";...r |
| 59c0 | 65 74 75 72 6e 20 60 24 7b 65 72 72 2e 6d 65 73 73 61 67 65 7d 24 7b 64 65 74 61 69 6c 7d 24 7b | eturn.`${err.message}${detail}${ |
| 59e0 | 63 61 75 73 65 7d 20 24 7b 63 6f 6e 74 65 78 74 7d 60 3b 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 20 | cause}.${context}`;..}...return. |
| 5a00 | 60 24 7b 53 74 72 69 6e 67 28 65 72 72 29 7d 20 24 7b 63 6f 6e 74 65 78 74 7d 60 3b 0a 7d 0a 0a | `${String(err)}.${context}`;.}.. |
| 5a20 | 2f 2a 2a 0a 20 2a 20 42 75 69 6c 64 20 74 68 65 20 41 6e 74 68 72 6f 70 69 63 20 60 70 72 6f 76 | /**..*.Build.the.Anthropic.`prov |
| 5a40 | 69 64 65 72 4f 70 74 69 6f 6e 73 2e 61 6e 74 68 72 6f 70 69 63 60 20 74 68 69 6e 6b 69 6e 67 20 | iderOptions.anthropic`.thinking. |
| 5a60 | 63 6f 6e 66 69 67 20 66 6f 72 20 61 20 67 69 76 65 6e 0a 20 2a 20 6d 6f 64 65 6c 20 2b 20 72 65 | config.for.a.given..*.model.+.re |
| 5a80 | 61 73 6f 6e 69 6e 67 20 65 66 66 6f 72 74 2e 20 44 65 74 65 63 74 69 6f 6e 20 6d 69 72 72 6f 72 | asoning.effort..Detection.mirror |
| 5aa0 | 73 20 6f 70 65 6e 63 6f 64 65 27 73 20 60 70 72 6f 76 69 64 65 72 2f 74 72 61 6e 73 66 6f 72 6d | s.opencode's.`provider/transform |
| 5ac0 | 2e 74 73 60 0a 20 2a 20 28 60 61 6e 74 68 72 6f 70 69 63 4f 70 75 73 34 37 4f 72 4c 61 74 65 72 | .ts`..*.(`anthropicOpus47OrLater |
| 5ae0 | 60 20 2b 20 60 61 6e 74 68 72 6f 70 69 63 41 64 61 70 74 69 76 65 45 66 66 6f 72 74 73 60 29 3a | `.+.`anthropicAdaptiveEfforts`): |
| 5b00 | 0a 20 2a 0a 20 2a 20 20 2d 20 41 44 41 50 54 49 56 45 20 6d 6f 64 65 6c 73 20 65 6d 69 74 20 60 | ..*..*..-.ADAPTIVE.models.emit.` |
| 5b20 | 7b 20 74 68 69 6e 6b 69 6e 67 3a 20 7b 20 74 79 70 65 3a 20 22 61 64 61 70 74 69 76 65 22 20 7d | {.thinking:.{.type:."adaptive".} |
| 5b40 | 2c 20 65 66 66 6f 72 74 20 7d 60 20 61 6e 64 20 70 69 63 6b 0a 20 2a 20 20 20 20 74 68 65 69 72 | ,.effort.}`.and.pick..*....their |
| 5b60 | 20 6f 77 6e 20 74 68 69 6e 6b 69 6e 67 20 62 75 64 67 65 74 20 77 69 74 68 69 6e 20 60 6d 61 78 | .own.thinking.budget.within.`max |
| 5b80 | 4f 75 74 70 75 74 54 6f 6b 65 6e 73 60 2e 20 41 20 6d 6f 64 65 6c 20 69 73 20 61 64 61 70 74 69 | OutputTokens`..A.model.is.adapti |
| 5ba0 | 76 65 20 77 68 65 6e 0a 20 2a 20 20 20 20 69 74 20 69 73 20 4f 70 75 73 20 34 2e 37 2b 20 28 70 | ve.when..*....it.is.Opus.4.7+.(p |
| 5bc0 | 61 72 73 65 64 20 66 72 6f 6d 20 74 68 65 20 69 64 29 20 4f 52 20 4f 70 75 73 2f 53 6f 6e 6e 65 | arsed.from.the.id).OR.Opus/Sonne |
| 5be0 | 74 20 34 2e 36 20 28 6d 61 74 63 68 65 64 20 62 79 20 69 64 0a 20 2a 20 20 20 20 73 75 62 73 74 | t.4.6.(matched.by.id..*....subst |
| 5c00 | 72 69 6e 67 20 e2 80 94 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 77 65 72 20 53 6f 6e 6e 65 | ring.....there.is.no.newer.Sonne |
| 5c20 | 74 20 74 6f 20 67 65 6e 65 72 61 6c 69 73 65 20 79 65 74 29 2e 0a 20 2a 20 20 20 20 20 20 2d 20 | t.to.generalise.yet)...*......-. |
| 5c40 | 60 64 69 73 70 6c 61 79 3a 20 22 73 75 6d 6d 61 72 69 7a 65 64 22 60 20 69 73 20 61 64 64 65 64 | `display:."summarized"`.is.added |
| 5c60 | 20 4f 4e 4c 59 20 66 6f 72 20 4f 70 75 73 20 34 2e 37 2b 2e 20 54 68 6f 73 65 20 6d 6f 64 65 6c | .ONLY.for.Opus.4.7+..Those.model |
| 5c80 | 73 0a 20 2a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 74 6f 20 60 64 69 73 70 6c 61 79 3a | s..*........default.to.`display: |
| 5ca0 | 20 22 6f 6d 69 74 74 65 64 22 60 20 28 4e 4f 20 74 68 69 6e 6b 69 6e 67 20 73 74 72 65 61 6d 65 | ."omitted"`.(NO.thinking.streame |
| 5cc0 | 64 20 74 6f 20 75 73 29 2c 20 73 6f 20 74 68 65 0a 20 2a 20 20 20 20 20 20 20 20 66 6c 61 67 20 | d.to.us),.so.the..*........flag. |
| 5ce0 | 6d 75 73 74 20 62 65 20 66 6f 72 63 65 64 20 74 6f 20 73 75 72 66 61 63 65 20 74 68 69 6e 6b 69 | must.be.forced.to.surface.thinki |
| 5d00 | 6e 67 20 69 6e 20 74 68 65 20 55 49 2e 20 4f 70 75 73 2f 53 6f 6e 6e 65 74 20 34 2e 36 0a 20 2a | ng.in.the.UI..Opus/Sonnet.4.6..* |
| 5d20 | 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 74 68 69 6e 6b 69 6e 67 20 77 69 74 68 6f 75 74 20 | ........stream.thinking.without. |
| 5d40 | 69 74 20 28 6f 70 65 6e 63 6f 64 65 20 6f 6d 69 74 73 20 60 64 69 73 70 6c 61 79 60 20 74 68 65 | it.(opencode.omits.`display`.the |
| 5d60 | 72 65 20 74 6f 6f 29 2e 0a 20 2a 20 20 20 20 20 20 2d 20 60 65 66 66 6f 72 74 60 20 28 73 69 62 | re.too)...*......-.`effort`.(sib |
| 5d80 | 6c 69 6e 67 20 6f 66 20 60 74 68 69 6e 6b 69 6e 67 60 29 20 74 65 6c 6c 73 20 61 64 61 70 74 69 | ling.of.`thinking`).tells.adapti |
| 5da0 | 76 65 20 68 6f 77 20 68 61 72 64 20 74 6f 20 74 68 69 6e 6b 2e 0a 20 2a 20 20 2d 20 41 6c 6c 20 | ve.how.hard.to.think...*..-.All. |
| 5dc0 | 4f 54 48 45 52 20 43 6c 61 75 64 65 20 6d 6f 64 65 6c 73 20 75 73 65 20 63 6c 61 73 73 69 63 20 | OTHER.Claude.models.use.classic. |
| 5de0 | 60 7b 20 74 68 69 6e 6b 69 6e 67 3a 20 7b 20 74 79 70 65 3a 20 22 65 6e 61 62 6c 65 64 22 2c 0a | `{.thinking:.{.type:."enabled",. |
| 5e00 | 20 2a 20 20 20 20 62 75 64 67 65 74 54 6f 6b 65 6e 73 20 7d 20 7d 60 2e 20 54 68 65 20 62 75 64 | .*....budgetTokens.}.}`..The.bud |
| 5e20 | 67 65 74 20 69 73 20 61 20 63 65 69 6c 69 6e 67 2c 20 6e 6f 74 20 61 20 72 65 71 75 69 72 65 6d | get.is.a.ceiling,.not.a.requirem |
| 5e40 | 65 6e 74 20 e2 80 94 20 74 68 65 20 6d 6f 64 65 6c 0a 20 2a 20 20 20 20 73 65 6c 66 2d 72 65 67 | ent.....the.model..*....self-reg |
| 5e60 | 75 6c 61 74 65 73 20 74 68 69 6e 6b 69 6e 67 20 76 73 20 72 65 73 70 6f 6e 73 65 20 77 69 74 68 | ulates.thinking.vs.response.with |
| 5e80 | 69 6e 20 60 6d 61 78 4f 75 74 70 75 74 54 6f 6b 65 6e 73 60 2e 0a 20 2a 0a 20 2a 20 52 65 74 75 | in.`maxOutputTokens`...*..*.Retu |
| 5ea0 | 72 6e 65 64 20 61 73 20 63 6f 6e 63 72 65 74 65 20 6f 62 6a 65 63 74 20 73 68 61 70 65 73 20 28 | rned.as.concrete.object.shapes.( |
| 5ec0 | 6e 6f 20 6f 70 74 69 6f 6e 61 6c 2f 60 75 6e 64 65 66 69 6e 65 64 60 20 70 72 6f 70 65 72 74 69 | no.optional/`undefined`.properti |
| 5ee0 | 65 73 29 20 73 6f 20 74 68 65 0a 20 2a 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6c 65 61 6e 20 | es).so.the..*.result.is.a.clean. |
| 5f00 | 60 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 4a 53 4f 4e 56 61 6c 75 65 3e 60 20 66 6f 72 20 | `Record<string,.JSONValue>`.for. |
| 5f20 | 60 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 2e 61 6e 74 68 72 6f 70 69 63 60 2e 0a 20 2a 20 | `providerOptions.anthropic`...*. |
| 5f40 | 43 61 6c 6c 65 72 73 20 6f 6e 6c 79 20 69 6e 76 6f 6b 65 20 74 68 69 73 20 77 68 65 6e 20 60 65 | Callers.only.invoke.this.when.`e |
| 5f60 | 66 66 6f 72 74 20 21 3d 3d 20 22 6e 6f 6e 65 22 60 2e 0a 20 2a 2f 0a 65 78 70 6f 72 74 20 66 75 | ffort.!==."none"`...*/.export.fu |
| 5f80 | 6e 63 74 69 6f 6e 20 61 6e 74 68 72 6f 70 69 63 54 68 69 6e 6b 69 6e 67 50 72 6f 76 69 64 65 72 | nction.anthropicThinkingProvider |
| 5fa0 | 4f 70 74 69 6f 6e 73 28 6d 6f 64 65 6c 3a 20 73 74 72 69 6e 67 2c 20 65 66 66 6f 72 74 3a 20 52 | Options(model:.string,.effort:.R |
| 5fc0 | 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 29 20 7b 0a 09 63 6f 6e 73 74 20 6f 70 75 73 56 65 72 | easoningEffort).{..const.opusVer |
| 5fe0 | 73 69 6f 6e 20 3d 20 2f 6f 70 75 73 2d 28 5c 64 2b 29 5b 2e 2d 5d 28 5c 64 2b 29 28 3f 3a 5b 2e | sion.=./opus-(\d+)[.-](\d+)(?:[. |
| 6000 | 40 2d 5d 7c 24 29 2f 69 2e 65 78 65 63 28 6d 6f 64 65 6c 29 3b 0a 09 63 6f 6e 73 74 20 69 73 4f | @-]|$)/i.exec(model);..const.isO |
| 6020 | 70 75 73 34 37 4f 72 4c 61 74 65 72 20 3d 20 6f 70 75 73 56 65 72 73 69 6f 6e 0a 09 09 3f 20 4e | pus47OrLater.=.opusVersion...?.N |
| 6040 | 75 6d 62 65 72 28 6f 70 75 73 56 65 72 73 69 6f 6e 5b 31 5d 29 20 3e 20 34 20 7c 7c 20 28 4e 75 | umber(opusVersion[1]).>.4.||.(Nu |
| 6060 | 6d 62 65 72 28 6f 70 75 73 56 65 72 73 69 6f 6e 5b 31 5d 29 20 3d 3d 3d 20 34 20 26 26 20 4e 75 | mber(opusVersion[1]).===.4.&&.Nu |
| 6080 | 6d 62 65 72 28 6f 70 75 73 56 65 72 73 69 6f 6e 5b 32 5d 29 20 3e 3d 20 37 29 0a 09 09 3a 20 66 | mber(opusVersion[2]).>=.7)...:.f |
| 60a0 | 61 6c 73 65 3b 0a 09 63 6f 6e 73 74 20 69 73 41 64 61 70 74 69 76 65 20 3d 0a 09 09 69 73 4f 70 | alse;..const.isAdaptive.=...isOp |
| 60c0 | 75 73 34 37 4f 72 4c 61 74 65 72 20 7c 7c 0a 09 09 5b 22 6f 70 75 73 2d 34 2d 36 22 2c 20 22 6f | us47OrLater.||...["opus-4-6",."o |
| 60e0 | 70 75 73 2d 34 2e 36 22 2c 20 22 73 6f 6e 6e 65 74 2d 34 2d 36 22 2c 20 22 73 6f 6e 6e 65 74 2d | pus-4.6",."sonnet-4-6",."sonnet- |
| 6100 | 34 2e 36 22 5d 2e 73 6f 6d 65 28 28 73 29 20 3d 3e 20 6d 6f 64 65 6c 2e 69 6e 63 6c 75 64 65 73 | 4.6"].some((s).=>.model.includes |
| 6120 | 28 73 29 29 3b 0a 0a 09 69 66 20 28 69 73 41 64 61 70 74 69 76 65 29 20 7b 0a 09 09 72 65 74 75 | (s));...if.(isAdaptive).{...retu |
| 6140 | 72 6e 20 69 73 4f 70 75 73 34 37 4f 72 4c 61 74 65 72 0a 09 09 09 3f 20 7b 20 74 68 69 6e 6b 69 | rn.isOpus47OrLater....?.{.thinki |
| 6160 | 6e 67 3a 20 7b 20 74 79 70 65 3a 20 22 61 64 61 70 74 69 76 65 22 20 61 73 20 63 6f 6e 73 74 2c | ng:.{.type:."adaptive".as.const, |
| 6180 | 20 64 69 73 70 6c 61 79 3a 20 22 73 75 6d 6d 61 72 69 7a 65 64 22 20 61 73 20 63 6f 6e 73 74 20 | .display:."summarized".as.const. |
| 61a0 | 7d 2c 20 65 66 66 6f 72 74 20 7d 0a 09 09 09 3a 20 7b 20 74 68 69 6e 6b 69 6e 67 3a 20 7b 20 74 | },.effort.}....:.{.thinking:.{.t |
| 61c0 | 79 70 65 3a 20 22 61 64 61 70 74 69 76 65 22 20 61 73 20 63 6f 6e 73 74 20 7d 2c 20 65 66 66 6f | ype:."adaptive".as.const.},.effo |
| 61e0 | 72 74 20 7d 3b 0a 09 7d 0a 0a 09 63 6f 6e 73 74 20 62 75 64 67 65 74 54 6f 6b 65 6e 73 20 3d 0a | rt.};..}...const.budgetTokens.=. |
| 6200 | 09 09 65 66 66 6f 72 74 20 3d 3d 3d 20 22 6d 61 78 22 0a 09 09 09 3f 20 33 31 39 39 39 0a 09 09 | ..effort.===."max"....?.31999... |
| 6220 | 09 3a 20 65 66 66 6f 72 74 20 3d 3d 3d 20 22 78 68 69 67 68 22 0a 09 09 09 09 3f 20 32 34 30 30 | .:.effort.===."xhigh".....?.2400 |
| 6240 | 30 0a 09 09 09 09 3a 20 65 66 66 6f 72 74 20 3d 3d 3d 20 22 68 69 67 68 22 0a 09 09 09 09 09 3f | 0.....:.effort.===."high"......? |
| 6260 | 20 31 36 30 30 30 0a 09 09 09 09 09 3a 20 65 66 66 6f 72 74 20 3d 3d 3d 20 22 6d 65 64 69 75 6d | .16000......:.effort.===."medium |
| 6280 | 22 0a 09 09 09 09 09 09 3f 20 35 30 30 30 0a 09 09 09 09 09 09 3a 20 65 66 66 6f 72 74 20 3d 3d | ".......?.5000.......:.effort.== |
| 62a0 | 3d 20 22 6c 6f 77 22 0a 09 09 09 09 09 09 09 3f 20 32 30 30 30 0a 09 09 09 09 09 09 09 3a 20 30 | =."low"........?.2000........:.0 |
| 62c0 | 3b 0a 09 72 65 74 75 72 6e 20 7b 20 74 68 69 6e 6b 69 6e 67 3a 20 7b 20 74 79 70 65 3a 20 22 65 | ;..return.{.thinking:.{.type:."e |
| 62e0 | 6e 61 62 6c 65 64 22 20 61 73 20 63 6f 6e 73 74 2c 20 62 75 64 67 65 74 54 6f 6b 65 6e 73 20 7d | nabled".as.const,.budgetTokens.} |
| 6300 | 20 7d 3b 0a 7d 0a 0a 63 6f 6e 73 74 20 4d 41 58 5f 53 54 45 50 53 20 3d 20 35 30 3b 0a 0a 2f 2a | .};.}..const.MAX_STEPS.=.50;../* |
| 6320 | 2a 0a 20 2a 20 54 68 65 20 73 69 6e 67 6c 65 20 74 72 69 76 69 61 6c 20 74 68 72 6f 77 61 77 61 | *..*.The.single.trivial.throwawa |
| 6340 | 79 20 75 73 65 72 20 74 75 72 6e 20 61 70 70 65 6e 64 65 64 20 74 6f 20 61 20 63 61 63 68 65 2d | y.user.turn.appended.to.a.cache- |
| 6360 | 77 61 72 6d 69 6e 67 20 72 65 70 6c 61 79 2e 0a 20 2a 20 49 74 73 20 6f 6e 6c 79 20 70 75 72 70 | warming.replay...*.Its.only.purp |
| 6380 | 6f 73 65 20 69 73 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 76 69 64 65 72 20 61 20 63 68 | ose.is.to.give.the.provider.a.ch |
| 63a0 | 65 61 70 20 66 69 6e 61 6c 20 74 75 72 6e 20 74 6f 20 72 65 73 70 6f 6e 64 20 74 6f 0a 20 2a 20 | eap.final.turn.to.respond.to..*. |
| 63c0 | 77 68 69 6c 65 20 74 68 65 20 49 44 45 4e 54 49 43 41 4c 20 63 61 63 68 65 64 20 70 72 65 66 69 | while.the.IDENTICAL.cached.prefi |
| 63e0 | 78 20 28 73 79 73 74 65 6d 20 2b 20 74 6f 6f 6c 73 20 2b 20 74 68 65 20 74 61 62 27 73 20 72 65 | x.(system.+.tools.+.the.tab's.re |
| 6400 | 61 6c 20 68 69 73 74 6f 72 79 29 0a 20 2a 20 69 73 20 72 65 2d 73 65 6e 74 20 e2 80 94 20 72 65 | al.history)..*.is.re-sent.....re |
| 6420 | 67 69 73 74 65 72 69 6e 67 20 61 20 63 61 63 68 65 20 52 45 41 44 20 74 68 61 74 20 72 65 66 72 | gistering.a.cache.READ.that.refr |
| 6440 | 65 73 68 65 73 20 74 68 65 20 70 72 6f 76 69 64 65 72 27 73 20 7e 35 2d 6d 69 6e 0a 20 2a 20 70 | eshes.the.provider's.~5-min..*.p |
| 6460 | 72 6f 6d 70 74 2d 63 61 63 68 65 20 54 54 4c 2e 20 4e 65 76 65 72 20 70 65 72 73 69 73 74 65 64 | rompt-cache.TTL..Never.persisted |
| 6480 | 3b 20 6e 65 76 65 72 20 73 68 6f 77 6e 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0a 20 2a 2f 0a 63 | ;.never.shown.to.the.user...*/.c |
| 64a0 | 6f 6e 73 74 20 57 41 52 4d 5f 43 41 43 48 45 5f 50 52 4f 42 45 5f 54 45 58 54 20 3d 20 22 72 65 | onst.WARM_CACHE_PROBE_TEXT.=."re |
| 64c0 | 70 6c 79 20 77 69 74 68 20 6a 75 73 74 20 61 20 2e 22 3b 0a 0a 65 78 70 6f 72 74 20 63 6c 61 73 | ply.with.just.a..";..export.clas |
| 64e0 | 73 20 41 67 65 6e 74 20 7b 0a 09 73 74 61 74 75 73 3a 20 41 67 65 6e 74 53 74 61 74 75 73 20 3d | s.Agent.{..status:.AgentStatus.= |
| 6500 | 20 22 69 64 6c 65 22 3b 0a 09 6d 65 73 73 61 67 65 73 3a 20 43 68 61 74 4d 65 73 73 61 67 65 5b | ."idle";..messages:.ChatMessage[ |
| 6520 | 5d 20 3d 20 5b 5d 3b 0a 0a 09 70 72 69 76 61 74 65 20 63 6f 6e 66 69 67 3a 20 41 67 65 6e 74 43 | ].=.[];...private.config:.AgentC |
| 6540 | 6f 6e 66 69 67 3b 0a 09 70 72 69 76 61 74 65 20 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 3f 3a | onfig;..private.queueCallbacks?: |
| 6560 | 20 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 3b 0a 0a 09 63 6f 6e 73 74 72 75 63 74 6f 72 28 63 | .QueueCallbacks;...constructor(c |
| 6580 | 6f 6e 66 69 67 3a 20 41 67 65 6e 74 43 6f 6e 66 69 67 2c 20 71 75 65 75 65 43 61 6c 6c 62 61 63 | onfig:.AgentConfig,.queueCallbac |
| 65a0 | 6b 73 3f 3a 20 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 29 20 7b 0a 09 09 74 68 69 73 2e 63 6f | ks?:.QueueCallbacks).{...this.co |
| 65c0 | 6e 66 69 67 20 3d 20 63 6f 6e 66 69 67 3b 0a 09 09 74 68 69 73 2e 71 75 65 75 65 43 61 6c 6c 62 | nfig.=.config;...this.queueCallb |
| 65e0 | 61 63 6b 73 20 3d 20 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 3b 0a 09 7d 0a 0a 09 70 72 69 76 | acks.=.queueCallbacks;..}...priv |
| 6600 | 61 74 65 20 61 73 79 6e 63 20 65 78 65 63 75 74 65 54 6f 6f 6c 57 69 74 68 53 74 72 65 61 6d 69 | ate.async.executeToolWithStreami |
| 6620 | 6e 67 28 0a 09 09 74 63 3a 20 54 6f 6f 6c 43 61 6c 6c 2c 0a 09 09 73 68 65 6c 6c 4f 75 74 70 75 | ng(...tc:.ToolCall,...shellOutpu |
| 6640 | 74 51 75 65 75 65 3a 20 41 72 72 61 79 3c 7b 20 64 61 74 61 3a 20 73 74 72 69 6e 67 3b 20 73 74 | tQueue:.Array<{.data:.string;.st |
| 6660 | 72 65 61 6d 3a 20 22 73 74 64 6f 75 74 22 20 7c 20 22 73 74 64 65 72 72 22 20 7d 3e 2c 0a 09 29 | ream:."stdout".|."stderr".}>,..) |
| 6680 | 3a 20 50 72 6f 6d 69 73 65 3c 54 6f 6f 6c 52 65 73 75 6c 74 3e 20 7b 0a 09 09 63 6f 6e 73 74 20 | :.Promise<ToolResult>.{...const. |
| 66a0 | 72 65 67 69 73 74 72 79 20 3d 20 63 72 65 61 74 65 54 6f 6f 6c 52 65 67 69 73 74 72 79 28 74 68 | registry.=.createToolRegistry(th |
| 66c0 | 69 73 2e 63 6f 6e 66 69 67 2e 74 6f 6f 6c 73 29 3b 0a 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 20 3d | is.config.tools);...const.tool.= |
| 66e0 | 20 72 65 67 69 73 74 72 79 2e 67 65 74 54 6f 6f 6c 28 74 63 2e 6e 61 6d 65 29 3b 0a 09 09 69 66 | .registry.getTool(tc.name);...if |
| 6700 | 20 28 21 74 6f 6f 6c 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 74 6f 6f 6c 43 | .(!tool).{....return.{.....toolC |
| 6720 | 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e | allId:.tc.id,.....toolName:.tc.n |
| 6740 | 61 6d 65 2c 0a 09 09 09 09 72 65 73 75 6c 74 3a 20 60 55 6e 6b 6e 6f 77 6e 20 74 6f 6f 6c 3a 20 | ame,.....result:.`Unknown.tool:. |
| 6760 | 24 7b 74 63 2e 6e 61 6d 65 7d 60 2c 0a 09 09 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a | ${tc.name}`,.....isError:.true,. |
| 6780 | 09 09 09 7d 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 50 65 72 6d 69 73 73 69 6f 6e 20 63 68 65 63 6b | ...};...}....//.Permission.check |
| 67a0 | 20 66 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 e2 80 94 20 6f 6e 6c 79 20 70 72 6f | .for.shell.commands.....only.pro |
| 67c0 | 6d 70 74 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 64 69 72 65 63 74 6f 72 79 20 61 63 63 65 73 | mpt.for.external.directory.acces |
| 67e0 | 73 2e 0a 09 09 2f 2f 20 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 73 74 61 79 20 77 69 74 68 69 | s....//.Commands.that.stay.withi |
| 6800 | 6e 20 74 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 61 72 65 20 61 75 74 6f | n.the.working.directory.are.auto |
| 6820 | 2d 61 6c 6c 6f 77 65 64 2e 0a 09 09 69 66 20 28 74 63 2e 6e 61 6d 65 20 3d 3d 3d 20 22 72 75 6e | -allowed....if.(tc.name.===."run |
| 6840 | 5f 73 68 65 6c 6c 22 20 26 26 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 65 72 6d 69 73 73 69 6f | _shell".&&.this.config.permissio |
| 6860 | 6e 43 68 65 63 6b 65 72 29 20 7b 0a 09 09 09 63 6f 6e 73 74 20 63 6f 6d 6d 61 6e 64 20 3d 20 74 | nChecker).{....const.command.=.t |
| 6880 | 79 70 65 6f 66 20 74 63 2e 61 72 67 75 6d 65 6e 74 73 2e 63 6f 6d 6d 61 6e 64 20 3d 3d 3d 20 22 | ypeof.tc.arguments.command.===." |
| 68a0 | 73 74 72 69 6e 67 22 20 3f 20 74 63 2e 61 72 67 75 6d 65 6e 74 73 2e 63 6f 6d 6d 61 6e 64 20 3a | string".?.tc.arguments.command.: |
| 68c0 | 20 22 22 3b 0a 09 09 09 63 6f 6e 73 74 20 77 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 20 3d | ."";....const.workingDirectory.= |
| 68e0 | 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 77 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 3b 0a 09 | .this.config.workingDirectory;.. |
| 6900 | 09 09 63 6f 6e 73 74 20 61 6e 61 6c 79 73 69 73 20 3d 20 61 77 61 69 74 20 61 6e 61 6c 79 7a 65 | ..const.analysis.=.await.analyze |
| 6920 | 43 6f 6d 6d 61 6e 64 28 63 6f 6d 6d 61 6e 64 2c 20 77 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 | Command(command,.workingDirector |
| 6940 | 79 29 3b 0a 09 09 09 63 6f 6e 73 74 20 72 75 6c 65 73 65 74 20 3d 20 74 68 69 73 2e 63 6f 6e 66 | y);....const.ruleset.=.this.conf |
| 6960 | 69 67 2e 72 75 6c 65 73 65 74 20 3f 3f 20 5b 5d 3b 0a 0a 09 09 09 2f 2f 20 43 68 65 63 6b 20 66 | ig.ruleset.??.[];.....//.Check.f |
| 6980 | 6f 72 20 65 78 74 65 72 6e 61 6c 20 64 69 72 65 63 74 6f 72 79 20 61 63 63 65 73 73 20 66 72 6f | or.external.directory.access.fro |
| 69a0 | 6d 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 0a 09 09 09 69 66 20 28 61 6e 61 6c 79 73 69 73 2e | m.shell.command....if.(analysis. |
| 69c0 | 64 69 72 73 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 63 6f 6e 73 74 20 64 69 72 | dirs.length.>.0).{.....const.dir |
| 69e0 | 52 65 71 75 65 73 74 20 3d 20 7b 0a 09 09 09 09 09 70 65 72 6d 69 73 73 69 6f 6e 3a 20 22 65 78 | Request.=.{......permission:."ex |
| 6a00 | 74 65 72 6e 61 6c 5f 64 69 72 65 63 74 6f 72 79 22 2c 0a 09 09 09 09 09 70 61 74 74 65 72 6e 73 | ternal_directory",......patterns |
| 6a20 | 3a 20 61 6e 61 6c 79 73 69 73 2e 64 69 72 73 2e 6d 61 70 28 28 64 29 20 3d 3e 20 60 24 7b 64 7d | :.analysis.dirs.map((d).=>.`${d} |
| 6a40 | 2f 2a 60 29 2c 0a 09 09 09 09 09 61 6c 77 61 79 73 3a 20 61 6e 61 6c 79 73 69 73 2e 64 69 72 73 | /*`),......always:.analysis.dirs |
| 6a60 | 2e 6d 61 70 28 28 64 29 20 3d 3e 20 60 24 7b 64 7d 2f 2a 60 29 2c 0a 09 09 09 09 09 64 65 73 63 | .map((d).=>.`${d}/*`),......desc |
| 6a80 | 72 69 70 74 69 6f 6e 3a 20 60 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 61 63 63 65 73 73 65 73 | ription:.`Shell.command.accesses |
| 6aa0 | 20 65 78 74 65 72 6e 61 6c 20 64 69 72 65 63 74 6f 72 79 3a 20 24 7b 61 6e 61 6c 79 73 69 73 2e | .external.directory:.${analysis. |
| 6ac0 | 64 69 72 73 2e 6a 6f 69 6e 28 22 2c 20 22 29 7d 60 2c 0a 09 09 09 09 09 6d 65 74 61 64 61 74 61 | dirs.join(",.")}`,......metadata |
| 6ae0 | 3a 20 7b 20 63 6f 6d 6d 61 6e 64 2c 20 64 69 72 73 3a 20 61 6e 61 6c 79 73 69 73 2e 64 69 72 73 | :.{.command,.dirs:.analysis.dirs |
| 6b00 | 20 7d 2c 0a 09 09 09 09 7d 3b 0a 09 09 09 09 74 72 79 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 | .},.....};.....try.{......const. |
| 6b20 | 64 69 72 52 65 70 6c 79 20 3d 20 61 77 61 69 74 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 65 72 | dirReply.=.await.this.config.per |
| 6b40 | 6d 69 73 73 69 6f 6e 43 68 65 63 6b 65 72 2e 61 73 6b 28 64 69 72 52 65 71 75 65 73 74 2c 20 5b | missionChecker.ask(dirRequest,.[ |
| 6b60 | 72 75 6c 65 73 65 74 5d 29 3b 0a 09 09 09 09 09 69 66 20 28 64 69 72 52 65 70 6c 79 20 3d 3d 3d | ruleset]);......if.(dirReply.=== |
| 6b80 | 20 22 72 65 6a 65 63 74 22 29 20 7b 0a 09 09 09 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 | ."reject").{.......return.{..... |
| 6ba0 | 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 09 09 09 74 6f 6f | ...toolCallId:.tc.id,........too |
| 6bc0 | 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 2c 0a 09 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 60 | lName:.tc.name,........result:.` |
| 6be0 | 50 65 72 6d 69 73 73 69 6f 6e 20 64 65 6e 69 65 64 3a 20 61 63 63 65 73 73 20 74 6f 20 65 78 74 | Permission.denied:.access.to.ext |
| 6c00 | 65 72 6e 61 6c 20 64 69 72 65 63 74 6f 72 69 65 73 20 72 65 6a 65 63 74 65 64 60 2c 0a 09 09 09 | ernal.directories.rejected`,.... |
| 6c20 | 09 09 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 | ....isError:.true,.......};..... |
| 6c40 | 09 7d 0a 09 09 09 09 7d 20 63 61 74 63 68 20 7b 0a 09 09 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 | .}.....}.catch.{......return.{.. |
| 6c60 | 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 09 09 74 6f | .....toolCallId:.tc.id,.......to |
| 6c80 | 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 2c 0a 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 60 | olName:.tc.name,.......result:.` |
| 6ca0 | 50 65 72 6d 69 73 73 69 6f 6e 20 64 65 6e 69 65 64 3a 20 65 78 74 65 72 6e 61 6c 20 64 69 72 65 | Permission.denied:.external.dire |
| 6cc0 | 63 74 6f 72 79 20 61 63 63 65 73 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 60 2c 0a 09 09 09 09 09 | ctory.access.not.allowed`,...... |
| 6ce0 | 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 09 09 7d 3b 0a 09 09 09 09 7d 0a 09 09 | .isError:.true,......};.....}... |
| 6d00 | 09 7d 0a 09 09 7d 0a 0a 09 09 2f 2f 20 50 65 72 6d 69 73 73 69 6f 6e 20 63 68 65 63 6b 20 66 6f | .}...}....//.Permission.check.fo |
| 6d20 | 72 20 66 69 6c 65 20 74 6f 6f 6c 73 20 61 63 63 65 73 73 69 6e 67 20 70 61 74 68 73 20 6f 75 74 | r.file.tools.accessing.paths.out |
| 6d40 | 73 69 64 65 20 77 6f 72 6b 73 70 61 63 65 0a 09 09 69 66 20 28 0a 09 09 09 74 68 69 73 2e 63 6f | side.workspace...if.(....this.co |
| 6d60 | 6e 66 69 67 2e 70 65 72 6d 69 73 73 69 6f 6e 43 68 65 63 6b 65 72 20 26 26 0a 09 09 09 28 74 63 | nfig.permissionChecker.&&....(tc |
| 6d80 | 2e 6e 61 6d 65 20 3d 3d 3d 20 22 72 65 61 64 5f 66 69 6c 65 22 20 7c 7c 0a 09 09 09 09 74 63 2e | .name.===."read_file".||.....tc. |
| 6da0 | 6e 61 6d 65 20 3d 3d 3d 20 22 72 65 61 64 5f 66 69 6c 65 5f 73 6c 69 63 65 22 20 7c 7c 0a 09 09 | name.===."read_file_slice".||... |
| 6dc0 | 09 09 74 63 2e 6e 61 6d 65 20 3d 3d 3d 20 22 77 72 69 74 65 5f 66 69 6c 65 22 20 7c 7c 0a 09 09 | ..tc.name.===."write_file".||... |
| 6de0 | 09 09 74 63 2e 6e 61 6d 65 20 3d 3d 3d 20 22 6c 69 73 74 5f 66 69 6c 65 73 22 29 0a 09 09 29 20 | ..tc.name.===."list_files")...). |
| 6e00 | 7b 0a 09 09 09 63 6f 6e 73 74 20 70 61 74 68 41 72 67 20 3d 20 74 79 70 65 6f 66 20 74 63 2e 61 | {....const.pathArg.=.typeof.tc.a |
| 6e20 | 72 67 75 6d 65 6e 74 73 2e 70 61 74 68 20 3d 3d 3d 20 22 73 74 72 69 6e 67 22 20 3f 20 74 63 2e | rguments.path.===."string".?.tc. |
| 6e40 | 61 72 67 75 6d 65 6e 74 73 2e 70 61 74 68 20 3a 20 22 2e 22 3b 0a 0a 09 09 09 2f 2f 20 43 61 6e | arguments.path.:.".";.....//.Can |
| 6e60 | 6f 6e 69 63 61 6c 69 7a 65 20 61 6c 6c 20 74 68 72 65 65 20 73 6f 20 73 79 6d 6c 69 6e 6b 2d 69 | onicalize.all.three.so.symlink-i |
| 6e80 | 6e 2d 77 6f 72 6b 64 69 72 20 65 73 63 61 70 65 73 20 61 72 65 20 64 65 74 65 63 74 65 64 0a 09 | n-workdir.escapes.are.detected.. |
| 6ea0 | 09 09 2f 2f 20 61 74 20 74 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 67 61 74 65 20 28 6e 6f 74 | ..//.at.the.permission.gate.(not |
| 6ec0 | 20 6a 75 73 74 20 72 65 6c 61 74 69 76 65 20 60 2e 2e 2f 60 20 74 72 61 76 65 72 73 61 6c 29 2e | .just.relative.`../`.traversal). |
| 6ee0 | 20 54 68 65 0a 09 09 09 2f 2f 20 68 65 6c 70 65 72 20 77 61 6c 6b 73 20 75 70 20 74 6f 20 74 68 | .The....//.helper.walks.up.to.th |
| 6f00 | 65 20 6e 65 61 72 65 73 74 20 65 78 69 73 74 69 6e 67 20 61 6e 63 65 73 74 6f 72 20 77 68 65 6e | e.nearest.existing.ancestor.when |
| 6f20 | 20 74 68 65 20 6c 65 61 66 0a 09 09 09 2f 2f 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 28 77 | .the.leaf....//.doesn't.exist.(w |
| 6f40 | 72 69 74 65 5f 66 69 6c 65 20 63 72 65 61 74 69 6e 67 20 6e 65 77 20 66 69 6c 65 73 29 2c 20 73 | rite_file.creating.new.files),.s |
| 6f60 | 6f 20 61 20 70 61 72 65 6e 74 0a 09 09 09 2f 2f 20 73 79 6d 6c 69 6e 6b 20 70 6f 69 6e 74 69 6e | o.a.parent....//.symlink.pointin |
| 6f80 | 67 20 6f 75 74 73 69 64 65 20 74 68 65 20 77 6f 72 6b 64 69 72 20 69 73 20 73 74 69 6c 6c 20 63 | g.outside.the.workdir.is.still.c |
| 6fa0 | 61 75 67 68 74 2e 20 54 68 65 20 73 61 6d 65 0a 09 09 09 2f 2f 20 68 65 6c 70 65 72 20 69 73 20 | aught..The.same....//.helper.is. |
| 6fc0 | 75 73 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 74 6f 6f 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 | used.inside.the.tool.implementat |
| 6fe0 | 69 6f 6e 73 20 e2 80 94 20 6b 65 65 70 69 6e 67 20 74 68 65 0a 09 09 09 2f 2f 20 74 77 6f 20 6c | ions.....keeping.the....//.two.l |
| 7000 | 61 79 65 72 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 73 6f 20 61 20 70 61 74 68 20 74 68 61 74 20 | ayers.consistent.so.a.path.that. |
| 7020 | 6c 6f 6f 6b 73 20 65 78 74 65 72 6e 61 6c 20 68 65 72 65 20 61 6c 73 6f 0a 09 09 09 2f 2f 20 6c | looks.external.here.also....//.l |
| 7040 | 6f 6f 6b 73 20 65 78 74 65 72 6e 61 6c 20 69 6e 20 74 68 65 20 74 6f 6f 6c 2c 20 61 6e 64 20 76 | ooks.external.in.the.tool,.and.v |
| 7060 | 69 63 65 20 76 65 72 73 61 2e 0a 09 09 09 63 6f 6e 73 74 20 72 65 73 6f 6c 76 65 64 50 61 74 68 | ice.versa.....const.resolvedPath |
| 7080 | 20 3d 20 61 77 61 69 74 20 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 28 74 68 69 73 2e 63 6f 6e 66 69 | .=.await.canonicalize(this.confi |
| 70a0 | 67 2e 77 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 2c 20 70 61 74 68 41 72 67 29 3b 0a 09 09 | g.workingDirectory,.pathArg);... |
| 70c0 | 09 63 6f 6e 73 74 20 72 65 73 6f 6c 76 65 64 57 6f 72 6b 44 69 72 20 3d 20 61 77 61 69 74 20 63 | .const.resolvedWorkDir.=.await.c |
| 70e0 | 61 6e 6f 6e 69 63 61 6c 69 7a 65 28 74 68 69 73 2e 63 6f 6e 66 69 67 2e 77 6f 72 6b 69 6e 67 44 | anonicalize(this.config.workingD |
| 7100 | 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 09 63 6f 6e 73 74 20 72 65 73 6f 6c 76 65 64 53 70 69 6c | irectory);....const.resolvedSpil |
| 7120 | 6c 52 6f 6f 74 20 3d 20 61 77 61 69 74 20 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 28 53 50 49 4c 4c | lRoot.=.await.canonicalize(SPILL |
| 7140 | 5f 52 4f 4f 54 29 3b 0a 0a 09 09 09 63 6f 6e 73 74 20 69 73 55 6e 64 65 72 57 6f 72 6b 64 69 72 | _ROOT);.....const.isUnderWorkdir |
| 7160 | 20 3d 0a 09 09 09 09 72 65 73 6f 6c 76 65 64 50 61 74 68 20 3d 3d 3d 20 72 65 73 6f 6c 76 65 64 | .=.....resolvedPath.===.resolved |
| 7180 | 57 6f 72 6b 44 69 72 20 7c 7c 20 72 65 73 6f 6c 76 65 64 50 61 74 68 2e 73 74 61 72 74 73 57 69 | WorkDir.||.resolvedPath.startsWi |
| 71a0 | 74 68 28 60 24 7b 72 65 73 6f 6c 76 65 64 57 6f 72 6b 44 69 72 7d 2f 60 29 3b 0a 09 09 09 2f 2f | th(`${resolvedWorkDir}/`);....// |
| 71c0 | 20 44 69 73 70 61 74 63 68 27 73 20 6f 77 6e 20 74 6f 6f 6c 2d 6f 75 74 70 75 74 20 73 70 69 6c | .Dispatch's.own.tool-output.spil |
| 71e0 | 6c 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 6c 6c 6f 77 65 | l.directory.is.implicitly.allowe |
| 7200 | 64 20 e2 80 94 0a 09 09 09 2f 2f 20 74 68 65 20 41 49 20 72 65 63 65 69 76 65 73 20 61 20 74 72 | d........//.the.AI.receives.a.tr |
| 7220 | 75 6e 63 61 74 69 6f 6e 20 6e 6f 74 69 63 65 20 70 6f 69 6e 74 69 6e 67 20 68 65 72 65 20 61 6e | uncation.notice.pointing.here.an |
| 7240 | 64 20 69 73 20 65 78 70 65 63 74 65 64 0a 09 09 09 2f 2f 20 74 6f 20 72 65 61 64 20 69 74 20 77 | d.is.expected....//.to.read.it.w |
| 7260 | 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 69 6e 67 20 74 68 65 20 75 73 65 72 2e 20 42 79 70 61 73 | ithout.prompting.the.user..Bypas |
| 7280 | 73 69 6e 67 20 74 68 65 20 65 78 74 65 72 6e 61 6c 2d 0a 09 09 09 2f 2f 20 64 69 72 65 63 74 6f | sing.the.external-....//.directo |
| 72a0 | 72 79 20 63 68 65 63 6b 20 68 65 72 65 20 6b 65 65 70 73 20 74 68 65 20 69 6e 73 70 65 63 74 69 | ry.check.here.keeps.the.inspecti |
| 72c0 | 6f 6e 20 66 6c 6f 77 20 66 72 69 63 74 69 6f 6e 6c 65 73 73 2e 0a 09 09 09 63 6f 6e 73 74 20 69 | on.flow.frictionless.....const.i |
| 72e0 | 73 53 70 69 6c 6c 50 61 74 68 20 3d 0a 09 09 09 09 72 65 73 6f 6c 76 65 64 50 61 74 68 20 3d 3d | sSpillPath.=.....resolvedPath.== |
| 7300 | 3d 20 72 65 73 6f 6c 76 65 64 53 70 69 6c 6c 52 6f 6f 74 20 7c 7c 20 72 65 73 6f 6c 76 65 64 50 | =.resolvedSpillRoot.||.resolvedP |
| 7320 | 61 74 68 2e 73 74 61 72 74 73 57 69 74 68 28 60 24 7b 72 65 73 6f 6c 76 65 64 53 70 69 6c 6c 52 | ath.startsWith(`${resolvedSpillR |
| 7340 | 6f 6f 74 7d 2f 60 29 3b 0a 0a 09 09 09 2f 2f 20 41 67 65 6e 74 20 64 65 66 69 6e 69 74 69 6f 6e | oot}/`);.....//.Agent.definition |
| 7360 | 73 20 6c 69 76 65 20 69 6e 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 64 69 72 65 63 74 6f 72 69 65 73 | s.live.in.well-known.directories |
| 7380 | 0a 09 09 09 2f 2f 20 28 60 7e 2f 2e 63 6f 6e 66 69 67 2f 64 69 73 70 61 74 63 68 2f 61 67 65 6e | ....//.(`~/.config/dispatch/agen |
| 73a0 | 74 73 2f 60 20 61 6e 64 0a 09 09 09 2f 2f 20 60 3c 77 6f 72 6b 64 69 72 3e 2f 2e 64 69 73 70 61 | ts/`.and....//.`<workdir>/.dispa |
| 73c0 | 74 63 68 2f 61 67 65 6e 74 73 2f 60 29 2e 20 52 65 61 64 69 6e 67 20 74 68 6f 73 65 20 69 73 20 | tch/agents/`)..Reading.those.is. |
| 73e0 | 61 0a 09 09 09 2f 2f 20 70 72 65 72 65 71 75 69 73 69 74 65 20 66 6f 72 20 74 68 65 20 73 75 6d | a....//.prerequisite.for.the.sum |
| 7400 | 6d 6f 6e 20 74 6f 6f 6c 27 73 20 22 73 70 65 63 69 66 79 20 77 68 69 63 68 20 73 75 62 61 67 65 | mon.tool's."specify.which.subage |
| 7420 | 6e 74 22 0a 09 09 09 2f 2f 20 66 6c 6f 77 20 e2 80 94 20 74 68 65 20 4c 4c 4d 20 6e 65 65 64 73 | nt"....//.flow.....the.LLM.needs |
| 7440 | 20 74 6f 20 69 6e 73 70 65 63 74 20 74 68 65 20 54 4f 4d 4c 20 74 6f 20 6b 6e 6f 77 20 77 68 61 | .to.inspect.the.TOML.to.know.wha |
| 7460 | 74 20 65 61 63 68 0a 09 09 09 2f 2f 20 61 67 65 6e 74 20 64 6f 65 73 2e 20 57 65 20 61 75 74 6f | t.each....//.agent.does..We.auto |
| 7480 | 2d 61 6c 6c 6f 77 20 52 45 41 44 2d 4f 4e 4c 59 20 74 6f 6f 6c 73 20 75 6e 64 65 72 20 74 68 6f | -allow.READ-ONLY.tools.under.tho |
| 74a0 | 73 65 20 70 61 74 68 73 0a 09 09 09 2f 2f 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 69 6e 67 | se.paths....//.without.prompting |
| 74c0 | 20 74 68 65 20 75 73 65 72 2e 20 57 72 69 74 65 73 20 28 60 77 72 69 74 65 5f 66 69 6c 65 60 29 | .the.user..Writes.(`write_file`) |
| 74e0 | 20 73 74 69 6c 6c 20 67 6f 0a 09 09 09 2f 2f 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 6f 72 6d | .still.go....//.through.the.norm |
| 7500 | 61 6c 20 65 78 74 65 72 6e 61 6c 5f 64 69 72 65 63 74 6f 72 79 20 67 61 74 65 20 73 6f 20 61 6e | al.external_directory.gate.so.an |
| 7520 | 20 61 67 65 6e 74 20 63 61 6e 27 74 0a 09 09 09 2f 2f 20 71 75 69 65 74 6c 79 20 6f 76 65 72 77 | .agent.can't....//.quietly.overw |
| 7540 | 72 69 74 65 20 61 6e 6f 74 68 65 72 20 61 67 65 6e 74 27 73 20 64 65 66 69 6e 69 74 69 6f 6e 2e | rite.another.agent's.definition. |
| 7560 | 0a 09 09 09 63 6f 6e 73 74 20 69 73 52 65 61 64 4f 6e 6c 79 54 6f 6f 6c 20 3d 0a 09 09 09 09 74 | ....const.isReadOnlyTool.=.....t |
| 7580 | 63 2e 6e 61 6d 65 20 3d 3d 3d 20 22 72 65 61 64 5f 66 69 6c 65 22 20 7c 7c 20 74 63 2e 6e 61 6d | c.name.===."read_file".||.tc.nam |
| 75a0 | 65 20 3d 3d 3d 20 22 72 65 61 64 5f 66 69 6c 65 5f 73 6c 69 63 65 22 20 7c 7c 20 74 63 2e 6e 61 | e.===."read_file_slice".||.tc.na |
| 75c0 | 6d 65 20 3d 3d 3d 20 22 6c 69 73 74 5f 66 69 6c 65 73 22 3b 0a 09 09 09 6c 65 74 20 69 73 41 67 | me.===."list_files";....let.isAg |
| 75e0 | 65 6e 74 73 44 69 72 52 65 61 64 4f 6e 6c 79 20 3d 20 66 61 6c 73 65 3b 0a 09 09 09 69 66 20 28 | entsDirReadOnly.=.false;....if.( |
| 7600 | 69 73 52 65 61 64 4f 6e 6c 79 54 6f 6f 6c 29 20 7b 0a 09 09 09 09 63 6f 6e 73 74 20 61 67 65 6e | isReadOnlyTool).{.....const.agen |
| 7620 | 74 44 69 72 73 20 3d 20 67 65 74 41 67 65 6e 74 44 69 72 50 61 74 68 73 28 74 68 69 73 2e 63 6f | tDirs.=.getAgentDirPaths(this.co |
| 7640 | 6e 66 69 67 2e 77 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 09 09 63 6f 6e 73 | nfig.workingDirectory);.....cons |
| 7660 | 74 20 63 61 6e 6f 6e 69 63 61 6c 41 67 65 6e 74 44 69 72 73 20 3d 20 61 77 61 69 74 20 50 72 6f | t.canonicalAgentDirs.=.await.Pro |
| 7680 | 6d 69 73 65 2e 61 6c 6c 28 61 67 65 6e 74 44 69 72 73 2e 6d 61 70 28 28 64 29 20 3d 3e 20 63 61 | mise.all(agentDirs.map((d).=>.ca |
| 76a0 | 6e 6f 6e 69 63 61 6c 69 7a 65 28 64 29 29 29 3b 0a 09 09 09 09 69 73 41 67 65 6e 74 73 44 69 72 | nonicalize(d)));.....isAgentsDir |
| 76c0 | 52 65 61 64 4f 6e 6c 79 20 3d 20 63 61 6e 6f 6e 69 63 61 6c 41 67 65 6e 74 44 69 72 73 2e 73 6f | ReadOnly.=.canonicalAgentDirs.so |
| 76e0 | 6d 65 28 0a 09 09 09 09 09 28 64 29 20 3d 3e 20 72 65 73 6f 6c 76 65 64 50 61 74 68 20 3d 3d 3d | me(......(d).=>.resolvedPath.=== |
| 7700 | 20 64 20 7c 7c 20 72 65 73 6f 6c 76 65 64 50 61 74 68 2e 73 74 61 72 74 73 57 69 74 68 28 60 24 | .d.||.resolvedPath.startsWith(`$ |
| 7720 | 7b 64 7d 2f 60 29 2c 0a 09 09 09 09 29 3b 0a 09 09 09 7d 0a 0a 09 09 09 69 66 20 28 21 69 73 55 | {d}/`),.....);....}.....if.(!isU |
| 7740 | 6e 64 65 72 57 6f 72 6b 64 69 72 20 26 26 20 21 69 73 53 70 69 6c 6c 50 61 74 68 20 26 26 20 21 | nderWorkdir.&&.!isSpillPath.&&.! |
| 7760 | 69 73 41 67 65 6e 74 73 44 69 72 52 65 61 64 4f 6e 6c 79 29 20 7b 0a 09 09 09 09 63 6f 6e 73 74 | isAgentsDirReadOnly).{.....const |
| 7780 | 20 70 65 72 6d 69 73 73 69 6f 6e 54 79 70 65 20 3d 0a 09 09 09 09 09 74 63 2e 6e 61 6d 65 20 3d | .permissionType.=......tc.name.= |
| 77a0 | 3d 3d 20 22 72 65 61 64 5f 66 69 6c 65 22 20 3f 20 22 72 65 61 64 22 20 3a 20 74 63 2e 6e 61 6d | ==."read_file".?."read".:.tc.nam |
| 77c0 | 65 20 3d 3d 3d 20 22 77 72 69 74 65 5f 66 69 6c 65 22 20 3f 20 22 65 64 69 74 22 20 3a 20 22 6c | e.===."write_file".?."edit".:."l |
| 77e0 | 69 73 74 22 3b 0a 0a 09 09 09 09 63 6f 6e 73 74 20 70 61 72 65 6e 74 44 69 72 20 3d 20 64 69 72 | ist";......const.parentDir.=.dir |
| 7800 | 6e 61 6d 65 28 72 65 73 6f 6c 76 65 64 50 61 74 68 29 3b 0a 09 09 09 09 63 6f 6e 73 74 20 72 65 | name(resolvedPath);.....const.re |
| 7820 | 71 75 65 73 74 20 3d 20 7b 0a 09 09 09 09 09 70 65 72 6d 69 73 73 69 6f 6e 3a 20 22 65 78 74 65 | quest.=.{......permission:."exte |
| 7840 | 72 6e 61 6c 5f 64 69 72 65 63 74 6f 72 79 22 2c 0a 09 09 09 09 09 70 61 74 74 65 72 6e 73 3a 20 | rnal_directory",......patterns:. |
| 7860 | 5b 60 24 7b 70 61 72 65 6e 74 44 69 72 7d 2f 2a 60 5d 2c 0a 09 09 09 09 09 61 6c 77 61 79 73 3a | [`${parentDir}/*`],......always: |
| 7880 | 20 5b 60 24 7b 70 61 72 65 6e 74 44 69 72 7d 2f 2a 60 5d 2c 0a 09 09 09 09 09 64 65 73 63 72 69 | .[`${parentDir}/*`],......descri |
| 78a0 | 70 74 69 6f 6e 3a 20 60 24 7b 70 65 72 6d 69 73 73 69 6f 6e 54 79 70 65 7d 20 66 69 6c 65 20 6f | ption:.`${permissionType}.file.o |
| 78c0 | 75 74 73 69 64 65 20 77 6f 72 6b 73 70 61 63 65 3a 20 24 7b 72 65 73 6f 6c 76 65 64 50 61 74 68 | utside.workspace:.${resolvedPath |
| 78e0 | 7d 60 2c 0a 09 09 09 09 09 6d 65 74 61 64 61 74 61 3a 20 7b 20 66 69 6c 65 70 61 74 68 3a 20 72 | }`,......metadata:.{.filepath:.r |
| 7900 | 65 73 6f 6c 76 65 64 50 61 74 68 2c 20 70 61 72 65 6e 74 44 69 72 2c 20 6f 70 65 72 61 74 69 6f | esolvedPath,.parentDir,.operatio |
| 7920 | 6e 3a 20 70 65 72 6d 69 73 73 69 6f 6e 54 79 70 65 20 7d 2c 0a 09 09 09 09 7d 3b 0a 0a 09 09 09 | n:.permissionType.},.....};..... |
| 7940 | 09 63 6f 6e 73 74 20 72 75 6c 65 73 65 74 20 3d 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 72 75 6c | .const.ruleset.=.this.config.rul |
| 7960 | 65 73 65 74 20 3f 3f 20 5b 5d 3b 0a 09 09 09 09 74 72 79 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 | eset.??.[];.....try.{......const |
| 7980 | 20 72 65 70 6c 79 20 3d 20 61 77 61 69 74 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 65 72 6d 69 | .reply.=.await.this.config.permi |
| 79a0 | 73 73 69 6f 6e 43 68 65 63 6b 65 72 2e 61 73 6b 28 72 65 71 75 65 73 74 2c 20 5b 72 75 6c 65 73 | ssionChecker.ask(request,.[rules |
| 79c0 | 65 74 5d 29 3b 0a 09 09 09 09 09 69 66 20 28 72 65 70 6c 79 20 3d 3d 3d 20 22 72 65 6a 65 63 74 | et]);......if.(reply.===."reject |
| 79e0 | 22 29 20 7b 0a 09 09 09 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 09 09 09 74 6f 6f 6c 43 | ").{.......return.{........toolC |
| 7a00 | 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 | allId:.tc.id,........toolName:.t |
| 7a20 | 63 2e 6e 61 6d 65 2c 0a 09 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 60 50 65 72 6d 69 73 73 69 | c.name,........result:.`Permissi |
| 7a40 | 6f 6e 20 64 65 6e 69 65 64 3a 20 24 7b 70 65 72 6d 69 73 73 69 6f 6e 54 79 70 65 7d 20 61 63 63 | on.denied:.${permissionType}.acc |
| 7a60 | 65 73 73 20 74 6f 20 24 7b 72 65 73 6f 6c 76 65 64 50 61 74 68 7d 20 72 65 6a 65 63 74 65 64 60 | ess.to.${resolvedPath}.rejected` |
| 7a80 | 2c 0a 09 09 09 09 09 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 09 09 09 7d 3b | ,........isError:.true,.......}; |
| 7aa0 | 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 20 63 61 74 63 68 20 7b 0a 09 09 09 09 09 72 65 74 75 72 | ......}.....}.catch.{......retur |
| 7ac0 | 6e 20 7b 0a 09 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 | n.{.......toolCallId:.tc.id,.... |
| 7ae0 | 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 2c 0a 09 09 09 09 09 09 72 65 73 75 | ...toolName:.tc.name,.......resu |
| 7b00 | 6c 74 3a 20 60 50 65 72 6d 69 73 73 69 6f 6e 20 64 65 6e 69 65 64 3a 20 24 7b 70 65 72 6d 69 73 | lt:.`Permission.denied:.${permis |
| 7b20 | 73 69 6f 6e 54 79 70 65 7d 20 61 63 63 65 73 73 20 74 6f 20 24 7b 72 65 73 6f 6c 76 65 64 50 61 | sionType}.access.to.${resolvedPa |
| 7b40 | 74 68 7d 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 60 2c 0a 09 09 09 09 09 09 69 73 45 72 72 6f 72 3a | th}.not.allowed`,.......isError: |
| 7b60 | 20 74 72 75 65 2c 0a 09 09 09 09 09 7d 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 | .true,......};.....}....}...}... |
| 7b80 | 09 74 72 79 20 7b 0a 09 09 09 63 6f 6e 73 74 20 65 78 65 63 50 72 6f 6d 69 73 65 20 3d 20 74 6f | .try.{....const.execPromise.=.to |
| 7ba0 | 6f 6c 2e 65 78 65 63 75 74 65 28 74 63 2e 61 72 67 75 6d 65 6e 74 73 2c 20 7b 0a 09 09 09 09 6f | ol.execute(tc.arguments,.{.....o |
| 7bc0 | 6e 4f 75 74 70 75 74 3a 20 28 64 61 74 61 3a 20 73 74 72 69 6e 67 2c 20 73 74 72 65 61 6d 3a 20 | nOutput:.(data:.string,.stream:. |
| 7be0 | 22 73 74 64 6f 75 74 22 20 7c 20 22 73 74 64 65 72 72 22 29 20 3d 3e 20 7b 0a 09 09 09 09 09 73 | "stdout".|."stderr").=>.{......s |
| 7c00 | 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 2e 70 75 73 68 28 7b 20 64 61 74 61 2c 20 73 74 72 | hellOutputQueue.push({.data,.str |
| 7c20 | 65 61 6d 20 7d 29 3b 0a 09 09 09 09 7d 2c 0a 09 09 09 09 71 75 65 75 65 43 61 6c 6c 62 61 63 6b | eam.});.....},.....queueCallback |
| 7c40 | 73 3a 20 74 68 69 73 2e 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 2c 0a 09 09 09 7d 29 3b 0a 0a | s:.this.queueCallbacks,....});.. |
| 7c60 | 09 09 09 63 6f 6e 73 74 20 72 61 77 52 65 73 75 6c 74 20 3d 20 61 77 61 69 74 20 65 78 65 63 50 | ...const.rawResult.=.await.execP |
| 7c80 | 72 6f 6d 69 73 65 3b 0a 09 09 09 63 6f 6e 73 74 20 72 65 73 75 6c 74 53 74 72 20 3d 20 74 79 70 | romise;....const.resultStr.=.typ |
| 7ca0 | 65 6f 66 20 72 61 77 52 65 73 75 6c 74 20 3d 3d 3d 20 22 73 74 72 69 6e 67 22 20 3f 20 72 61 77 | eof.rawResult.===."string".?.raw |
| 7cc0 | 52 65 73 75 6c 74 20 3a 20 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 72 61 77 52 65 73 75 6c | Result.:.JSON.stringify(rawResul |
| 7ce0 | 74 29 3b 0a 0a 09 09 09 2f 2f 20 43 6f 6d 70 75 74 65 20 69 73 45 72 72 6f 72 20 6f 6e 20 74 68 | t);.....//.Compute.isError.on.th |
| 7d00 | 65 20 72 61 77 20 28 75 6e 74 72 75 6e 63 61 74 65 64 29 20 73 74 72 69 6e 67 20 73 6f 20 61 6e | e.raw.(untruncated).string.so.an |
| 7d20 | 20 60 45 72 72 6f 72 3a 60 20 70 72 65 66 69 78 0a 09 09 09 2f 2f 20 74 68 61 74 20 6c 69 76 65 | .`Error:`.prefix....//.that.live |
| 7d40 | 73 20 61 6e 79 77 68 65 72 65 20 e2 80 94 20 69 6e 63 6c 75 64 69 6e 67 20 62 65 79 6f 6e 64 20 | s.anywhere.....including.beyond. |
| 7d60 | 74 68 65 20 68 65 61 64 20 65 78 63 65 72 70 74 20 e2 80 94 20 69 73 20 73 74 69 6c 6c 0a 09 09 | the.head.excerpt.....is.still... |
| 7d80 | 09 2f 2f 20 64 65 74 65 63 74 65 64 2e 20 54 68 65 20 64 69 73 70 6c 61 79 20 72 65 73 75 6c 74 | .//.detected..The.display.result |
| 7da0 | 20 67 6f 65 73 20 74 68 72 6f 75 67 68 20 75 6e 69 76 65 72 73 61 6c 20 74 72 75 6e 63 61 74 69 | .goes.through.universal.truncati |
| 7dc0 | 6f 6e 20 73 6f 0a 09 09 09 2f 2f 20 6f 76 65 72 73 69 7a 65 64 20 6f 75 74 70 75 74 73 20 64 6f | on.so....//.oversized.outputs.do |
| 7de0 | 6e 27 74 20 62 6c 6f 77 20 63 6f 6e 74 65 78 74 2e 20 54 68 65 20 66 75 6c 6c 20 63 6f 6e 74 65 | n't.blow.context..The.full.conte |
| 7e00 | 6e 74 20 6c 69 76 65 73 20 69 6e 20 74 68 65 0a 09 09 09 2f 2f 20 73 70 69 6c 6c 20 66 69 6c 65 | nt.lives.in.the....//.spill.file |
| 7e20 | 20 74 68 65 20 74 72 75 6e 63 61 74 69 6f 6e 20 6e 6f 74 69 63 65 20 70 6f 69 6e 74 73 20 74 6f | .the.truncation.notice.points.to |
| 7e40 | 2e 0a 09 09 09 63 6f 6e 73 74 20 69 73 45 72 72 6f 72 20 3d 20 72 65 73 75 6c 74 53 74 72 2e 73 | .....const.isError.=.resultStr.s |
| 7e60 | 74 61 72 74 73 57 69 74 68 28 22 45 72 72 6f 72 3a 22 29 3b 0a 09 09 09 63 6f 6e 73 74 20 7b 20 | tartsWith("Error:");....const.{. |
| 7e80 | 64 69 73 70 6c 61 79 52 65 73 75 6c 74 20 7d 20 3d 20 61 70 70 6c 79 54 72 75 6e 63 61 74 69 6f | displayResult.}.=.applyTruncatio |
| 7ea0 | 6e 28 72 65 73 75 6c 74 53 74 72 2c 20 7b 0a 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 | n(resultStr,.{.....tabId:.this.c |
| 7ec0 | 6f 6e 66 69 67 2e 74 61 62 49 64 20 3f 3f 20 22 64 65 66 61 75 6c 74 22 2c 0a 09 09 09 09 63 61 | onfig.tabId.??."default",.....ca |
| 7ee0 | 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 | llId:.tc.id,.....toolName:.tc.na |
| 7f00 | 6d 65 2c 0a 09 09 09 7d 29 3b 0a 0a 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 74 6f 6f 6c | me,....});.....return.{.....tool |
| 7f20 | 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e | CallId:.tc.id,.....toolName:.tc. |
| 7f40 | 6e 61 6d 65 2c 0a 09 09 09 09 72 65 73 75 6c 74 3a 20 64 69 73 70 6c 61 79 52 65 73 75 6c 74 2c | name,.....result:.displayResult, |
| 7f60 | 0a 09 09 09 09 69 73 45 72 72 6f 72 2c 0a 09 09 09 7d 3b 0a 09 09 7d 20 63 61 74 63 68 20 28 65 | .....isError,....};...}.catch.(e |
| 7f80 | 72 72 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 7b 0a 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 | rr).{....return.{.....toolCallId |
| 7fa0 | 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 2c 0a | :.tc.id,.....toolName:.tc.name,. |
| 7fc0 | 09 09 09 09 72 65 73 75 6c 74 3a 20 65 72 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 | ....result:.err.instanceof.Error |
| 7fe0 | 20 3f 20 65 72 72 2e 6d 65 73 73 61 67 65 20 3a 20 53 74 72 69 6e 67 28 65 72 72 29 2c 0a 09 09 | .?.err.message.:.String(err),... |
| 8000 | 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 7d 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 | ..isError:.true,....};...}..}... |
| 8020 | 2f 2a 2a 0a 09 20 2a 20 42 75 69 6c 64 20 73 79 6e 74 68 65 74 69 63 20 60 74 6f 6f 6c 2d 72 65 | /**...*.Build.synthetic.`tool-re |
| 8040 | 73 75 6c 74 60 20 65 72 72 6f 72 20 65 76 65 6e 74 73 20 66 6f 72 20 65 76 65 72 79 20 74 6f 6f | sult`.error.events.for.every.too |
| 8060 | 6c 20 63 61 6c 6c 20 69 6e 0a 09 20 2a 20 60 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 60 20 74 68 | l.call.in...*.`stepToolCalls`.th |
| 8080 | 61 74 20 64 6f 65 73 20 6e 6f 74 20 79 65 74 20 68 61 76 65 20 61 20 72 65 63 6f 72 64 65 64 20 | at.does.not.yet.have.a.recorded. |
| 80a0 | 72 65 73 75 6c 74 20 69 6e 20 60 63 68 75 6e 6b 73 60 2e 0a 09 20 2a 0a 09 20 2a 20 57 68 65 6e | result.in.`chunks`....*...*.When |
| 80c0 | 20 61 20 74 6f 6f 6c 20 62 61 74 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 72 65 73 6f 6c | .a.tool.batch.is.partially.resol |
| 80e0 | 76 65 64 20 e2 80 94 20 65 2e 67 2e 20 6f 6e 65 20 74 6f 6f 6c 20 65 6d 69 74 74 65 64 20 61 0a | ved.....e.g..one.tool.emitted.a. |
| 8100 | 09 20 2a 20 60 74 6f 6f 6c 2d 65 72 72 6f 72 60 20 77 68 69 6c 65 20 69 74 73 20 73 69 62 6c 69 | ..*.`tool-error`.while.its.sibli |
| 8120 | 6e 67 73 20 77 65 72 65 20 6e 65 76 65 72 20 65 78 65 63 75 74 65 64 2c 20 6f 72 20 74 68 65 20 | ngs.were.never.executed,.or.the. |
| 8140 | 73 74 72 65 61 6d 0a 09 20 2a 20 61 62 6f 72 74 65 64 20 6d 69 64 2d 62 61 74 63 68 20 e2 80 94 | stream...*.aborted.mid-batch.... |
| 8160 | 20 74 68 65 20 75 6e 72 65 73 6f 6c 76 65 64 20 74 6f 6f 6c 2d 63 61 6c 6c 20 49 44 73 20 61 72 | .the.unresolved.tool-call.IDs.ar |
| 8180 | 65 20 72 65 67 69 73 74 65 72 65 64 20 69 6e 20 74 68 65 0a 09 20 2a 20 68 69 73 74 6f 72 79 20 | e.registered.in.the...*.history. |
| 81a0 | 28 69 6e 73 69 64 65 20 60 74 6f 6f 6c 2d 62 61 74 63 68 60 20 63 68 75 6e 6b 73 29 20 62 75 74 | (inside.`tool-batch`.chunks).but |
| 81c0 | 20 68 61 76 65 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 72 65 73 75 6c 74 2e 20 4f 6e 20 74 68 65 | .have.no.matching.result..On.the |
| 81e0 | 0a 09 20 2a 20 6e 65 78 74 20 4c 4c 4d 20 72 6f 75 6e 64 2d 74 72 69 70 20 74 68 65 20 41 49 20 | ...*.next.LLM.round-trip.the.AI. |
| 8200 | 53 44 4b 20 74 68 72 6f 77 73 20 60 4d 69 73 73 69 6e 67 54 6f 6f 6c 52 65 73 75 6c 74 73 45 72 | SDK.throws.`MissingToolResultsEr |
| 8220 | 72 6f 72 60 2e 20 46 69 6c 6c 69 6e 67 0a 09 20 2a 20 69 6e 20 60 69 73 45 72 72 6f 72 3a 20 74 | ror`..Filling...*.in.`isError:.t |
| 8240 | 72 75 65 60 20 72 65 73 75 6c 74 73 20 66 6f 72 20 74 68 6f 73 65 20 6f 72 70 68 61 6e 65 64 20 | rue`.results.for.those.orphaned. |
| 8260 | 49 44 73 20 6b 65 65 70 73 20 74 68 65 20 6f 6e 2d 74 68 65 2d 77 69 72 65 0a 09 20 2a 20 74 6f | IDs.keeps.the.on-the-wire...*.to |
| 8280 | 6f 6c 2d 63 61 6c 6c 2f 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 70 61 69 72 69 6e 67 20 63 6f 6d 70 | ol-call/tool-result.pairing.comp |
| 82a0 | 6c 65 74 65 2e 0a 09 20 2a 0a 09 20 2a 20 43 61 6c 6c 65 72 20 69 73 20 72 65 73 70 6f 6e 73 69 | lete....*...*.Caller.is.responsi |
| 82c0 | 62 6c 65 20 66 6f 72 20 60 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 | ble.for.`appendEventToChunks(chu |
| 82e0 | 6e 6b 73 2c 20 65 76 74 29 60 20 2b 20 60 79 69 65 6c 64 60 69 6e 67 0a 09 20 2a 20 65 61 63 68 | nks,.evt)`.+.`yield`ing...*.each |
| 8300 | 20 72 65 74 75 72 6e 65 64 20 65 76 65 6e 74 2e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 73 | .returned.event....*/..private.s |
| 8320 | 79 6e 74 68 65 73 69 7a 65 52 65 73 69 64 75 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 73 28 0a 09 09 | ynthesizeResidualToolResults(... |
| 8340 | 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 3a 20 54 6f 6f 6c 43 61 6c 6c 5b 5d 2c 0a 09 09 63 68 75 | stepToolCalls:.ToolCall[],...chu |
| 8360 | 6e 6b 73 3a 20 43 68 75 6e 6b 5b 5d 2c 0a 09 09 64 65 66 61 75 6c 74 4d 65 73 73 61 67 65 3a 20 | nks:.Chunk[],...defaultMessage:. |
| 8380 | 73 74 72 69 6e 67 2c 0a 09 29 3a 20 41 67 65 6e 74 45 76 65 6e 74 5b 5d 20 7b 0a 09 09 63 6f 6e | string,..):.AgentEvent[].{...con |
| 83a0 | 73 74 20 72 65 73 75 6c 74 73 3a 20 41 67 65 6e 74 45 76 65 6e 74 5b 5d 20 3d 20 5b 5d 3b 0a 09 | st.results:.AgentEvent[].=.[];.. |
| 83c0 | 09 63 6f 6e 73 74 20 72 65 73 6f 6c 76 65 64 20 3d 20 6e 65 77 20 53 65 74 3c 73 74 72 69 6e 67 | .const.resolved.=.new.Set<string |
| 83e0 | 3e 28 29 3b 0a 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 63 20 6f 66 20 63 68 75 6e 6b 73 29 20 7b | >();...for.(const.c.of.chunks).{ |
| 8400 | 0a 09 09 09 69 66 20 28 63 2e 74 79 70 65 20 21 3d 3d 20 22 74 6f 6f 6c 2d 62 61 74 63 68 22 29 | ....if.(c.type.!==."tool-batch") |
| 8420 | 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 65 6e 74 72 79 20 6f | .continue;....for.(const.entry.o |
| 8440 | 66 20 63 2e 63 61 6c 6c 73 29 20 7b 0a 09 09 09 09 69 66 20 28 65 6e 74 72 79 2e 72 65 73 75 6c | f.c.calls).{.....if.(entry.resul |
| 8460 | 74 20 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 72 65 73 6f 6c 76 65 64 2e 61 64 64 28 65 6e | t.!==.undefined).resolved.add(en |
| 8480 | 74 72 79 2e 69 64 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 74 | try.id);....}...}...for.(const.t |
| 84a0 | 63 20 6f 66 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 29 20 7b 0a 09 09 09 69 66 20 28 72 65 73 | c.of.stepToolCalls).{....if.(res |
| 84c0 | 6f 6c 76 65 64 2e 68 61 73 28 74 63 2e 69 64 29 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 63 | olved.has(tc.id)).continue;....c |
| 84e0 | 6f 6e 73 74 20 74 72 3a 20 54 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 7b 0a 09 09 09 09 74 6f 6f 6c | onst.tr:.ToolResult.=.{.....tool |
| 8500 | 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c 0a 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e | CallId:.tc.id,.....toolName:.tc. |
| 8520 | 6e 61 6d 65 2c 0a 09 09 09 09 72 65 73 75 6c 74 3a 20 64 65 66 61 75 6c 74 4d 65 73 73 61 67 65 | name,.....result:.defaultMessage |
| 8540 | 2c 0a 09 09 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 7d 3b 0a 09 09 09 63 6f | ,.....isError:.true,....};....co |
| 8560 | 6e 73 74 20 65 76 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 74 | nst.evt:.AgentEvent.=.{.type:."t |
| 8580 | 6f 6f 6c 2d 72 65 73 75 6c 74 22 2c 20 74 6f 6f 6c 52 65 73 75 6c 74 3a 20 74 72 20 7d 3b 0a 09 | ool-result",.toolResult:.tr.};.. |
| 85a0 | 09 09 72 65 73 75 6c 74 73 2e 70 75 73 68 28 65 76 74 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 | ..results.push(evt);...}...retur |
| 85c0 | 6e 20 72 65 73 75 6c 74 73 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 42 75 69 6c 64 20 74 68 | n.results;..}.../**...*.Build.th |
| 85e0 | 65 20 70 72 6f 76 69 64 65 72 2d 66 61 63 69 6e 67 20 72 65 71 75 65 73 74 20 63 6f 6e 74 65 78 | e.provider-facing.request.contex |
| 8600 | 74 20 73 68 61 72 65 64 20 62 79 20 60 72 75 6e 28 29 60 20 61 6e 64 0a 09 20 2a 20 60 77 61 72 | t.shared.by.`run()`.and...*.`war |
| 8620 | 6d 43 61 63 68 65 28 29 60 3a 20 74 68 65 20 6d 6f 64 65 6c 20 66 61 63 74 6f 72 79 2c 20 74 68 | mCache()`:.the.model.factory,.th |
| 8640 | 65 20 28 70 6f 73 73 69 62 6c 79 20 60 6d 63 70 5f 2a 60 2d 70 72 65 66 69 78 65 64 29 20 74 6f | e.(possibly.`mcp_*`-prefixed).to |
| 8660 | 6f 6c 0a 09 20 2a 20 73 65 74 2c 20 74 68 65 20 61 73 73 65 6d 62 6c 65 64 20 73 79 73 74 65 6d | ol...*.set,.the.assembled.system |
| 8680 | 20 70 72 6f 6d 70 74 20 28 77 69 74 68 20 74 68 65 20 43 6c 61 75 64 65 2d 43 6f 64 65 20 62 69 | .prompt.(with.the.Claude-Code.bi |
| 86a0 | 6c 6c 69 6e 67 20 68 65 61 64 65 72 20 2b 0a 09 20 2a 20 69 64 65 6e 74 69 74 79 20 70 72 65 61 | lling.header.+...*.identity.prea |
| 86c0 | 6d 62 6c 65 20 66 6f 72 20 74 68 65 20 4f 41 75 74 68 20 66 6c 6f 77 29 2c 20 61 6e 64 20 74 68 | mble.for.the.OAuth.flow),.and.th |
| 86e0 | 65 20 74 77 6f 20 70 72 6f 76 69 64 65 72 2d 66 61 6d 69 6c 79 20 66 6c 61 67 73 2e 0a 09 20 2a | e.two.provider-family.flags....* |
| 8700 | 0a 09 20 2a 20 60 6d 65 73 73 61 67 65 73 46 6f 72 42 69 6c 6c 69 6e 67 60 20 69 73 20 74 68 65 | ...*.`messagesForBilling`.is.the |
| 8720 | 20 6d 65 73 73 61 67 65 20 6c 69 73 74 20 74 68 65 20 62 69 6c 6c 69 6e 67 20 68 65 61 64 65 72 | .message.list.the.billing.header |
| 8740 | 20 73 61 6d 70 6c 65 73 20 69 74 73 0a 09 20 2a 20 66 69 72 73 74 2d 75 73 65 72 2d 6d 65 73 73 | .samples.its...*.first-user-mess |
| 8760 | 61 67 65 20 74 65 78 74 20 66 72 6f 6d 2e 20 60 72 75 6e 28 29 60 20 70 61 73 73 65 73 20 60 74 | age.text.from..`run()`.passes.`t |
| 8780 | 68 69 73 2e 6d 65 73 73 61 67 65 73 60 20 28 77 68 69 63 68 0a 09 20 2a 20 61 6c 72 65 61 64 79 | his.messages`.(which...*.already |
| 87a0 | 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 6a 75 73 74 2d 70 75 73 68 65 64 20 6c 69 76 65 20 75 | .includes.the.just-pushed.live.u |
| 87c0 | 73 65 72 20 74 75 72 6e 29 3b 20 60 77 61 72 6d 43 61 63 68 65 28 29 60 20 70 61 73 73 65 73 20 | ser.turn);.`warmCache()`.passes. |
| 87e0 | 74 68 65 0a 09 20 2a 20 67 65 6e 75 69 6e 65 20 68 69 73 74 6f 72 79 20 73 6f 20 74 68 65 20 68 | the...*.genuine.history.so.the.h |
| 8800 | 65 61 64 65 72 20 e2 80 94 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 74 68 65 20 63 61 63 68 | eader.....and.therefore.the.cach |
| 8820 | 65 64 20 70 72 65 66 69 78 20 e2 80 94 20 69 73 0a 09 20 2a 20 62 79 74 65 2d 69 64 65 6e 74 69 | ed.prefix.....is...*.byte-identi |
| 8840 | 63 61 6c 20 74 6f 20 77 68 61 74 20 74 68 65 20 6e 65 78 74 20 72 65 61 6c 20 74 75 72 6e 20 77 | cal.to.what.the.next.real.turn.w |
| 8860 | 69 6c 6c 20 73 65 6e 64 2e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 62 75 69 6c 64 4c 6c 6d | ill.send....*/..private.buildLlm |
| 8880 | 43 6f 6e 74 65 78 74 28 6d 65 73 73 61 67 65 73 46 6f 72 42 69 6c 6c 69 6e 67 3a 20 43 68 61 74 | Context(messagesForBilling:.Chat |
| 88a0 | 4d 65 73 73 61 67 65 5b 5d 29 3a 20 7b 0a 09 09 69 73 43 6c 61 75 64 65 4f 41 75 74 68 3a 20 62 | Message[]):.{...isClaudeOAuth:.b |
| 88c0 | 6f 6f 6c 65 61 6e 3b 0a 09 09 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 3a 20 62 6f 6f 6c | oolean;...usesAnthropicSDK:.bool |
| 88e0 | 65 61 6e 3b 0a 09 09 70 72 6f 76 69 64 65 72 46 61 63 74 6f 72 79 3a 20 4d 6f 64 65 6c 46 61 63 | ean;...providerFactory:.ModelFac |
| 8900 | 74 6f 72 79 3b 0a 09 09 74 6f 6f 6c 73 3a 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 54 6f | tory;...tools:.Record<string,.To |
| 8920 | 6f 6c 3e 3b 0a 09 09 73 79 73 74 65 6d 50 72 6f 6d 70 74 3a 20 73 74 72 69 6e 67 3b 0a 09 7d 20 | ol>;...systemPrompt:.string;..}. |
| 8940 | 7b 0a 09 09 63 6f 6e 73 74 20 72 65 67 69 73 74 72 79 20 3d 20 63 72 65 61 74 65 54 6f 6f 6c 52 | {...const.registry.=.createToolR |
| 8960 | 65 67 69 73 74 72 79 28 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 6f 6f 6c 73 29 3b 0a 09 09 2f 2f | egistry(this.config.tools);...// |
| 8980 | 20 60 69 73 43 6c 61 75 64 65 4f 41 75 74 68 60 20 67 61 74 65 73 20 43 6c 61 75 64 65 2d 43 6f | .`isClaudeOAuth`.gates.Claude-Co |
| 89a0 | 64 65 2d 43 4c 49 2d 73 70 65 63 69 66 69 63 20 62 65 68 61 76 69 6f 72 3a 20 62 69 6c 6c 69 6e | de-CLI-specific.behavior:.billin |
| 89c0 | 67 2d 68 65 61 64 65 72 0a 09 09 2f 2f 20 69 6e 6a 65 63 74 69 6f 6e 2c 20 69 64 65 6e 74 69 74 | g-header...//.injection,.identit |
| 89e0 | 79 20 70 72 65 61 6d 62 6c 65 2c 20 60 6d 63 70 5f 2a 60 20 74 6f 6f 6c 20 6e 61 6d 65 20 70 72 | y.preamble,.`mcp_*`.tool.name.pr |
| 8a00 | 65 66 69 78 2c 20 61 6e 64 20 65 78 74 65 6e 64 65 64 0a 09 09 2f 2f 20 74 68 69 6e 6b 69 6e 67 | efix,.and.extended...//.thinking |
| 8a20 | 20 63 6f 6e 66 69 67 2e 20 4f 6e 6c 79 20 74 68 65 20 4f 41 75 74 68 20 66 6c 6f 77 20 28 70 72 | .config..Only.the.OAuth.flow.(pr |
| 8a40 | 6f 76 69 64 65 72 3d 22 61 6e 74 68 72 6f 70 69 63 22 29 20 6e 65 65 64 73 20 74 68 65 73 65 2e | ovider="anthropic").needs.these. |
| 8a60 | 0a 09 09 2f 2f 20 60 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 60 20 69 73 20 74 68 65 20 | ...//.`usesAnthropicSDK`.is.the. |
| 8a80 | 62 72 6f 61 64 65 72 20 63 61 74 65 67 6f 72 79 20 e2 80 94 20 61 6e 79 20 70 72 6f 76 69 64 65 | broader.category.....any.provide |
| 8aa0 | 72 20 77 68 6f 73 65 0a 09 09 2f 2f 20 72 65 71 75 65 73 74 73 20 61 72 65 20 73 65 72 69 61 6c | r.whose...//.requests.are.serial |
| 8ac0 | 69 7a 65 64 20 62 79 20 60 40 61 69 2d 73 64 6b 2f 61 6e 74 68 72 6f 70 69 63 60 20 61 6e 64 20 | ized.by.`@ai-sdk/anthropic`.and. |
| 8ae0 | 74 68 65 72 65 66 6f 72 65 20 65 78 70 65 63 74 0a 09 09 2f 2f 20 41 6e 74 68 72 6f 70 69 63 2d | therefore.expect...//.Anthropic- |
| 8b00 | 73 74 79 6c 65 20 60 63 61 63 68 65 5f 63 6f 6e 74 72 6f 6c 60 20 6d 61 72 6b 65 72 73 2e 20 54 | style.`cache_control`.markers..T |
| 8b20 | 6f 64 61 79 20 74 68 61 74 27 73 20 43 6c 61 75 64 65 20 4f 41 75 74 68 0a 09 09 2f 2f 20 70 6c | oday.that's.Claude.OAuth...//.pl |
| 8b40 | 75 73 20 4f 70 65 6e 43 6f 64 65 20 47 6f 27 73 20 4d 69 6e 69 4d 61 78 2f 51 77 65 6e 20 72 6f | us.OpenCode.Go's.MiniMax/Qwen.ro |
| 8b60 | 75 74 65 73 2e 0a 09 09 63 6f 6e 73 74 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 3d 20 74 68 | utes....const.isClaudeOAuth.=.th |
| 8b80 | 69 73 2e 63 6f 6e 66 69 67 2e 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 22 61 6e 74 68 72 6f 70 69 | is.config.provider.===."anthropi |
| 8ba0 | 63 22 3b 0a 09 09 63 6f 6e 73 74 20 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 20 3d 20 69 | c";...const.usesAnthropicSDK.=.i |
| 8bc0 | 73 43 6c 61 75 64 65 4f 41 75 74 68 20 7c 7c 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 72 6f 76 | sClaudeOAuth.||.this.config.prov |
| 8be0 | 69 64 65 72 20 3d 3d 3d 20 22 6f 70 65 6e 63 6f 64 65 2d 61 6e 74 68 72 6f 70 69 63 22 3b 0a 09 | ider.===."opencode-anthropic";.. |
| 8c00 | 09 63 6f 6e 73 74 20 70 72 6f 76 69 64 65 72 46 61 63 74 6f 72 79 20 3d 20 63 72 65 61 74 65 50 | .const.providerFactory.=.createP |
| 8c20 | 72 6f 76 69 64 65 72 28 7b 0a 09 09 09 61 70 69 4b 65 79 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 | rovider({....apiKey:.this.config |
| 8c40 | 2e 61 70 69 4b 65 79 2c 0a 09 09 09 62 61 73 65 55 52 4c 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 | .apiKey,....baseURL:.this.config |
| 8c60 | 2e 62 61 73 65 55 52 4c 2c 0a 09 09 09 70 72 6f 76 69 64 65 72 3a 20 74 68 69 73 2e 63 6f 6e 66 | .baseURL,....provider:.this.conf |
| 8c80 | 69 67 2e 70 72 6f 76 69 64 65 72 2c 0a 09 09 09 63 6c 61 75 64 65 43 72 65 64 65 6e 74 69 61 6c | ig.provider,....claudeCredential |
| 8ca0 | 73 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 63 6c 61 75 64 65 43 72 65 64 65 6e 74 69 61 6c 73 | s:.this.config.claudeCredentials |
| 8cc0 | 2c 0a 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 | ,....tabId:.this.config.tabId,.. |
| 8ce0 | 09 7d 29 3b 0a 0a 09 09 2f 2f 20 4f 6e 6c 79 20 74 68 65 20 43 6c 61 75 64 65 20 4f 41 75 74 68 | .});....//.Only.the.Claude.OAuth |
| 8d00 | 20 66 6c 6f 77 20 65 78 70 65 63 74 73 20 60 6d 63 70 5f 2a 60 20 70 72 65 66 69 78 65 64 20 74 | .flow.expects.`mcp_*`.prefixed.t |
| 8d20 | 6f 6f 6c 20 6e 61 6d 65 73 2e 20 54 68 65 0a 09 09 2f 2f 20 4f 70 65 6e 43 6f 64 65 20 47 6f 20 | ool.names..The...//.OpenCode.Go. |
| 8d40 | 61 6e 74 68 72 6f 70 69 63 2d 66 6f 72 6d 61 74 20 65 6e 64 70 6f 69 6e 74 20 70 61 73 73 65 73 | anthropic-format.endpoint.passes |
| 8d60 | 20 74 6f 6f 6c 73 20 74 68 72 6f 75 67 68 20 74 6f 20 4d 69 6e 69 4d 61 78 0a 09 09 2f 2f 20 6f | .tools.through.to.MiniMax...//.o |
| 8d80 | 72 20 51 77 65 6e 2c 20 77 68 69 63 68 20 65 78 70 65 63 74 20 72 61 77 20 6e 61 6d 65 73 2e 0a | r.Qwen,.which.expect.raw.names.. |
| 8da0 | 09 09 63 6f 6e 73 74 20 61 69 54 6f 6f 6c 73 20 3d 20 72 65 67 69 73 74 72 79 2e 67 65 74 41 49 | ..const.aiTools.=.registry.getAI |
| 8dc0 | 53 44 4b 54 6f 6f 6c 73 28 29 3b 0a 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 73 20 3d 20 69 73 43 6c | SDKTools();...const.tools.=.isCl |
| 8de0 | 61 75 64 65 4f 41 75 74 68 0a 09 09 09 3f 20 4f 62 6a 65 63 74 2e 66 72 6f 6d 45 6e 74 72 69 65 | audeOAuth....?.Object.fromEntrie |
| 8e00 | 73 28 0a 09 09 09 09 09 4f 62 6a 65 63 74 2e 65 6e 74 72 69 65 73 28 61 69 54 6f 6f 6c 73 29 2e | s(......Object.entries(aiTools). |
| 8e20 | 6d 61 70 28 28 5b 6e 61 6d 65 2c 20 74 6f 6f 6c 5d 29 20 3d 3e 20 5b 70 72 65 66 69 78 54 6f 6f | map(([name,.tool]).=>.[prefixToo |
| 8e40 | 6c 4e 61 6d 65 28 6e 61 6d 65 29 2c 20 74 6f 6f 6c 5d 29 2c 0a 09 09 09 09 29 0a 09 09 09 3a 20 | lName(name),.tool]),.....)....:. |
| 8e60 | 61 69 54 6f 6f 6c 73 3b 0a 0a 09 09 2f 2f 20 42 75 69 6c 64 20 73 79 73 74 65 6d 20 70 72 6f 6d | aiTools;....//.Build.system.prom |
| 8e80 | 70 74 20 e2 80 94 20 43 6c 61 75 64 65 20 4f 41 75 74 68 20 72 65 71 75 65 73 74 73 20 65 6d 62 | pt.....Claude.OAuth.requests.emb |
| 8ea0 | 65 64 20 61 20 62 69 6c 6c 69 6e 67 20 68 65 61 64 65 72 0a 09 09 2f 2f 20 61 6e 64 20 74 68 65 | ed.a.billing.header...//.and.the |
| 8ec0 | 20 43 6c 61 75 64 65 20 43 6f 64 65 20 69 64 65 6e 74 69 74 79 20 70 72 65 61 6d 62 6c 65 20 73 | .Claude.Code.identity.preamble.s |
| 8ee0 | 6f 20 41 6e 74 68 72 6f 70 69 63 20 72 65 63 6f 67 6e 69 7a 65 73 20 74 68 65 0a 09 09 2f 2f 20 | o.Anthropic.recognizes.the...//. |
| 8f00 | 72 65 71 75 65 73 74 20 61 73 20 63 6f 6d 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 6f 66 66 69 63 | request.as.coming.from.the.offic |
| 8f20 | 69 61 6c 20 43 4c 49 2e 0a 09 09 6c 65 74 20 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 3d 20 74 68 | ial.CLI....let.systemPrompt.=.th |
| 8f40 | 69 73 2e 63 6f 6e 66 69 67 2e 73 79 73 74 65 6d 50 72 6f 6d 70 74 3b 0a 09 09 69 66 20 28 69 73 | is.config.systemPrompt;...if.(is |
| 8f60 | 43 6c 61 75 64 65 4f 41 75 74 68 29 20 7b 0a 09 09 09 2f 2f 20 60 62 75 69 6c 64 42 69 6c 6c 69 | ClaudeOAuth).{....//.`buildBilli |
| 8f80 | 6e 67 48 65 61 64 65 72 56 61 6c 75 65 60 20 68 69 73 74 6f 72 69 63 61 6c 6c 79 20 74 6f 6f 6b | ngHeaderValue`.historically.took |
| 8fa0 | 20 60 7b 20 72 6f 6c 65 2c 20 63 6f 6e 74 65 6e 74 3a 20 73 74 72 69 6e 67 20 7d 5b 5d 60 2e 0a | .`{.role,.content:.string.}[]`.. |
| 8fc0 | 09 09 09 2f 2f 20 50 72 6f 6a 65 63 74 20 74 68 65 20 6e 65 77 20 63 68 75 6e 6b 2d 62 61 73 65 | ...//.Project.the.new.chunk-base |
| 8fe0 | 64 20 43 68 61 74 4d 65 73 73 61 67 65 20 73 68 61 70 65 20 6f 6e 74 6f 20 74 68 61 74 20 6c 65 | d.ChatMessage.shape.onto.that.le |
| 9000 | 67 61 63 79 20 73 68 61 70 65 0a 09 09 09 2f 2f 20 62 79 20 73 74 72 69 6e 67 69 66 79 69 6e 67 | gacy.shape....//.by.stringifying |
| 9020 | 20 74 65 78 74 20 63 68 75 6e 6b 73 2e 20 4f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 75 73 65 | .text.chunks..Only.the.first.use |
| 9040 | 72 20 6d 65 73 73 61 67 65 27 73 20 74 65 78 74 20 69 73 0a 09 09 09 2f 2f 20 61 63 74 75 61 6c | r.message's.text.is....//.actual |
| 9060 | 6c 79 20 75 73 65 64 20 28 73 65 65 20 65 78 74 72 61 63 74 46 69 72 73 74 55 73 65 72 4d 65 73 | ly.used.(see.extractFirstUserMes |
| 9080 | 73 61 67 65 54 65 78 74 29 20 e2 80 94 20 6e 6f 6e 2d 74 65 78 74 20 63 68 75 6e 6b 73 0a 09 09 | sageText).....non-text.chunks... |
| 90a0 | 09 2f 2f 20 73 61 66 65 6c 79 20 63 6f 6e 74 72 69 62 75 74 65 20 6e 6f 74 68 69 6e 67 2e 0a 09 | .//.safely.contribute.nothing... |
| 90c0 | 09 09 63 6f 6e 73 74 20 6c 65 67 61 63 79 53 68 61 70 65 20 3d 20 6d 65 73 73 61 67 65 73 46 6f | ..const.legacyShape.=.messagesFo |
| 90e0 | 72 42 69 6c 6c 69 6e 67 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 28 7b 0a 09 09 09 09 72 6f 6c 65 3a | rBilling.map((m).=>.({.....role: |
| 9100 | 20 6d 2e 72 6f 6c 65 2c 0a 09 09 09 09 63 6f 6e 74 65 6e 74 3a 20 6d 2e 63 68 75 6e 6b 73 0a 09 | .m.role,.....content:.m.chunks.. |
| 9120 | 09 09 09 09 2e 66 69 6c 74 65 72 28 28 63 29 3a 20 63 20 69 73 20 45 78 74 72 61 63 74 3c 43 68 | .....filter((c):.c.is.Extract<Ch |
| 9140 | 75 6e 6b 2c 20 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 20 7d 3e 20 3d 3e 20 63 2e 74 79 70 65 | unk,.{.type:."text".}>.=>.c.type |
| 9160 | 20 3d 3d 3d 20 22 74 65 78 74 22 29 0a 09 09 09 09 09 2e 6d 61 70 28 28 63 29 20 3d 3e 20 63 2e | .===."text").......map((c).=>.c. |
| 9180 | 74 65 78 74 29 0a 09 09 09 09 09 2e 6a 6f 69 6e 28 22 22 29 2c 0a 09 09 09 7d 29 29 3b 0a 09 09 | text).......join(""),....}));... |
| 91a0 | 09 63 6f 6e 73 74 20 62 69 6c 6c 69 6e 67 48 65 61 64 65 72 20 3d 20 62 75 69 6c 64 42 69 6c 6c | .const.billingHeader.=.buildBill |
| 91c0 | 69 6e 67 48 65 61 64 65 72 56 61 6c 75 65 28 6c 65 67 61 63 79 53 68 61 70 65 29 3b 0a 09 09 09 | ingHeaderValue(legacyShape);.... |
| 91e0 | 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 3d 20 60 24 7b 62 69 6c 6c 69 6e 67 48 65 61 64 65 72 7d | systemPrompt.=.`${billingHeader} |
| 9200 | 5c 6e 24 7b 53 59 53 54 45 4d 5f 49 44 45 4e 54 49 54 59 7d 5c 6e 5c 6e 24 7b 73 79 73 74 65 6d | \n${SYSTEM_IDENTITY}\n\n${system |
| 9220 | 50 72 6f 6d 70 74 7d 60 3b 0a 09 09 7d 0a 0a 09 09 72 65 74 75 72 6e 20 7b 20 69 73 43 6c 61 75 | Prompt}`;...}....return.{.isClau |
| 9240 | 64 65 4f 41 75 74 68 2c 20 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 2c 20 70 72 6f 76 69 | deOAuth,.usesAnthropicSDK,.provi |
| 9260 | 64 65 72 46 61 63 74 6f 72 79 2c 20 74 6f 6f 6c 73 2c 20 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 | derFactory,.tools,.systemPrompt. |
| 9280 | 7d 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 50 72 6f 6d 70 74 2d 63 61 63 68 65 20 57 41 52 | };..}.../**...*.Prompt-cache.WAR |
| 92a0 | 4d 49 4e 47 20 72 65 70 6c 61 79 20 28 4e 4f 54 20 61 20 72 65 61 6c 20 74 75 72 6e 29 2e 0a 09 | MING.replay.(NOT.a.real.turn)... |
| 92c0 | 20 2a 0a 09 20 2a 20 52 65 2d 73 65 6e 64 73 20 74 68 65 20 45 58 41 43 54 20 63 61 63 68 65 64 | .*...*.Re-sends.the.EXACT.cached |
| 92e0 | 20 70 72 65 66 69 78 20 e2 80 94 20 73 79 73 74 65 6d 20 70 72 6f 6d 70 74 20 2b 20 74 6f 6f 6c | .prefix.....system.prompt.+.tool |
| 9300 | 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 2b 20 74 68 65 0a 09 20 2a 20 74 61 62 27 73 20 67 65 6e | .definitions.+.the...*.tab's.gen |
| 9320 | 75 69 6e 65 20 60 68 69 73 74 6f 72 79 60 20 77 69 74 68 20 69 64 65 6e 74 69 63 61 6c 20 41 6e | uine.`history`.with.identical.An |
| 9340 | 74 68 72 6f 70 69 63 20 60 63 61 63 68 65 5f 63 6f 6e 74 72 6f 6c 60 0a 09 20 2a 20 62 72 65 61 | thropic.`cache_control`...*.brea |
| 9360 | 6b 70 6f 69 6e 74 73 20 e2 80 94 20 70 6c 75 73 20 61 20 73 69 6e 67 6c 65 20 74 72 69 76 69 61 | kpoints.....plus.a.single.trivia |
| 9380 | 6c 20 74 68 72 6f 77 61 77 61 79 20 75 73 65 72 20 74 75 72 6e 2c 20 69 6e 20 4f 4e 45 0a 09 20 | l.throwaway.user.turn,.in.ONE... |
| 93a0 | 2a 20 6e 6f 6e 2d 73 74 72 65 61 6d 69 6e 67 2d 72 65 6c 65 76 61 6e 74 20 72 65 71 75 65 73 74 | *.non-streaming-relevant.request |
| 93c0 | 2e 20 52 65 75 73 69 6e 67 20 74 68 61 74 20 69 64 65 6e 74 69 63 61 6c 20 70 72 65 66 69 78 20 | ..Reusing.that.identical.prefix. |
| 93e0 | 72 65 67 69 73 74 65 72 73 20 61 0a 09 20 2a 20 63 61 63 68 65 20 52 45 41 44 20 6f 6e 20 74 68 | registers.a...*.cache.READ.on.th |
| 9400 | 65 20 70 72 6f 76 69 64 65 72 2c 20 77 68 69 63 68 20 72 65 66 72 65 73 68 65 73 20 74 68 65 20 | e.provider,.which.refreshes.the. |
| 9420 | 7e 35 2d 6d 69 6e 75 74 65 20 70 72 6f 6d 70 74 2d 63 61 63 68 65 20 54 54 4c 0a 09 20 2a 20 73 | ~5-minute.prompt-cache.TTL...*.s |
| 9440 | 6f 20 74 68 65 20 75 73 65 72 27 73 20 4e 45 58 54 20 72 65 61 6c 20 6d 65 73 73 61 67 65 20 6c | o.the.user's.NEXT.real.message.l |
| 9460 | 61 6e 64 73 20 6f 6e 20 61 20 73 74 69 6c 6c 2d 77 61 72 6d 20 63 61 63 68 65 2e 20 54 68 65 20 | ands.on.a.still-warm.cache..The. |
| 9480 | 6d 6f 64 65 6c 27 73 0a 09 20 2a 20 72 65 70 6c 79 20 28 61 20 62 61 72 65 20 22 2e 22 29 20 69 | model's...*.reply.(a.bare.".").i |
| 94a0 | 73 20 64 69 73 63 61 72 64 65 64 2e 0a 09 20 2a 0a 09 20 2a 20 53 74 72 69 63 74 6c 79 20 73 69 | s.discarded....*...*.Strictly.si |
| 94c0 | 64 65 2d 65 66 66 65 63 74 20 66 72 65 65 2c 20 62 79 20 64 65 73 69 67 6e 3a 0a 09 20 2a 20 20 | de-effect.free,.by.design:...*.. |
| 94e0 | 2d 20 64 6f 65 73 20 4e 4f 54 20 6d 75 74 61 74 65 20 60 74 68 69 73 2e 6d 65 73 73 61 67 65 73 | -.does.NOT.mutate.`this.messages |
| 9500 | 60 20 28 68 69 73 74 6f 72 79 20 69 73 20 70 61 73 73 65 64 20 69 6e 2c 20 6e 65 76 65 72 20 73 | `.(history.is.passed.in,.never.s |
| 9520 | 74 6f 72 65 64 29 3b 0a 09 20 2a 20 20 2d 20 64 6f 65 73 20 4e 4f 54 20 63 68 61 6e 67 65 20 60 | tored);...*..-.does.NOT.change.` |
| 9540 | 74 68 69 73 2e 73 74 61 74 75 73 60 3b 0a 09 20 2a 20 20 2d 20 65 6d 69 74 73 20 4e 4f 20 65 76 | this.status`;...*..-.emits.NO.ev |
| 9560 | 65 6e 74 73 20 61 6e 64 20 70 65 72 73 69 73 74 73 20 4e 4f 54 48 49 4e 47 2e 0a 09 20 2a 0a 09 | ents.and.persists.NOTHING....*.. |
| 9580 | 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 72 65 71 75 65 73 74 27 73 20 60 75 73 61 67 65 60 | .*.Returns.the.request's.`usage` |
| 95a0 | 20 73 6f 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e 20 73 75 72 66 61 63 65 20 61 20 77 61 72 | .so.the.caller.can.surface.a.war |
| 95c0 | 6d 69 6e 67 2d 73 70 65 63 69 66 69 63 0a 09 20 2a 20 22 6c 61 73 74 20 72 65 71 75 65 73 74 22 | ming-specific...*."last.request" |
| 95e0 | 20 63 61 63 68 65 20 72 61 74 65 20 57 49 54 48 4f 55 54 20 70 6f 6c 6c 75 74 69 6e 67 20 74 68 | .cache.rate.WITHOUT.polluting.th |
| 9600 | 65 20 72 65 61 6c 20 43 61 63 68 65 20 52 61 74 65 20 6d 65 74 72 69 63 2e 0a 09 20 2a 20 54 68 | e.real.Cache.Rate.metric....*.Th |
| 9620 | 72 6f 77 73 20 6f 6e 20 70 72 6f 76 69 64 65 72 20 65 72 72 6f 72 20 73 6f 20 74 68 65 20 63 61 | rows.on.provider.error.so.the.ca |
| 9640 | 6c 6c 65 72 20 63 61 6e 20 73 75 72 66 61 63 65 20 69 74 20 69 6e 20 74 68 65 20 64 65 62 75 67 | ller.can.surface.it.in.the.debug |
| 9660 | 20 73 74 72 69 70 2e 0a 09 20 2a 2f 0a 09 2f 2a 2a 0a 09 20 2a 20 41 73 73 65 6d 62 6c 65 20 74 | .strip....*/../**...*.Assemble.t |
| 9680 | 68 65 20 60 73 74 72 65 61 6d 54 65 78 74 60 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 44 45 46 | he.`streamText`.options.that.DEF |
| 96a0 | 49 4e 45 20 74 68 65 20 41 6e 74 68 72 6f 70 69 63 20 6d 65 73 73 61 67 65 2d 63 61 63 68 65 0a | INE.the.Anthropic.message-cache. |
| 96c0 | 09 20 2a 20 62 75 63 6b 65 74 2e 20 41 6e 74 68 72 6f 70 69 63 20 6b 65 79 73 20 74 68 65 20 6d | ..*.bucket..Anthropic.keys.the.m |
| 96e0 | 65 73 73 61 67 65 20 63 61 63 68 65 20 6f 6e 20 60 74 6f 6f 6c 5f 63 68 6f 69 63 65 60 20 61 6e | essage.cache.on.`tool_choice`.an |
| 9700 | 64 20 74 68 65 20 65 78 74 65 6e 64 65 64 2d 0a 09 20 2a 20 74 68 69 6e 6b 69 6e 67 20 70 61 72 | d.the.extended-...*.thinking.par |
| 9720 | 61 6d 65 74 65 72 73 20 28 65 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 2b 20 62 75 64 67 65 74 | ameters.(enable/disable.+.budget |
| 9740 | 2f 65 66 66 6f 72 74 29 20 e2 80 94 20 73 65 65 20 74 68 65 20 63 61 63 68 65 0a 09 20 2a 20 69 | /effort).....see.the.cache...*.i |
| 9760 | 6e 76 61 6c 69 64 61 74 69 6f 6e 20 74 61 62 6c 65 20 69 6e 20 74 68 65 69 72 20 70 72 6f 6d 70 | nvalidation.table.in.their.promp |
| 9780 | 74 2d 63 61 63 68 69 6e 67 20 64 6f 63 73 2e 20 60 72 75 6e 28 29 60 20 28 72 65 61 6c 20 74 75 | t-caching.docs..`run()`.(real.tu |
| 97a0 | 72 6e 73 29 20 61 6e 64 0a 09 20 2a 20 60 77 61 72 6d 43 61 63 68 65 28 29 60 20 28 69 64 6c 65 | rns).and...*.`warmCache()`.(idle |
| 97c0 | 20 77 61 72 6d 69 6e 67 29 20 4d 55 53 54 20 70 72 6f 64 75 63 65 20 69 64 65 6e 74 69 63 61 6c | .warming).MUST.produce.identical |
| 97e0 | 20 76 61 6c 75 65 73 20 68 65 72 65 2c 20 6f 72 20 74 68 65 79 0a 09 20 2a 20 77 72 69 74 65 2f | .values.here,.or.they...*.write/ |
| 9800 | 72 65 61 64 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20 63 61 63 68 65 73 3a 20 74 68 65 20 77 | read.two.different.caches:.the.w |
| 9820 | 61 72 6d 69 6e 67 20 72 65 70 6c 61 79 20 77 6f 75 6c 64 20 6b 65 65 70 20 74 68 65 20 77 72 6f | arming.replay.would.keep.the.wro |
| 9840 | 6e 67 0a 09 20 2a 20 62 75 63 6b 65 74 20 77 61 72 6d 20 61 6e 64 20 74 68 65 20 75 73 65 72 27 | ng...*.bucket.warm.and.the.user' |
| 9860 | 73 20 6e 65 78 74 20 72 65 61 6c 20 6d 65 73 73 61 67 65 20 77 6f 75 6c 64 20 73 74 69 6c 6c 20 | s.next.real.message.would.still. |
| 9880 | 6d 69 73 73 2e 0a 09 20 2a 0a 09 20 2a 20 60 6d 61 78 4f 75 74 70 75 74 54 6f 6b 65 6e 73 60 20 | miss....*...*.`maxOutputTokens`. |
| 98a0 | 69 73 20 4e 4f 54 20 63 61 63 68 65 2d 61 66 66 65 63 74 69 6e 67 2c 20 62 75 74 20 69 74 20 6d | is.NOT.cache-affecting,.but.it.m |
| 98c0 | 75 73 74 20 65 78 63 65 65 64 20 74 68 65 20 74 68 69 6e 6b 69 6e 67 0a 09 20 2a 20 62 75 64 67 | ust.exceed.the.thinking...*.budg |
| 98e0 | 65 74 20 6f 72 20 41 6e 74 68 72 6f 70 69 63 20 72 65 6a 65 63 74 73 20 74 68 65 20 72 65 71 75 | et.or.Anthropic.rejects.the.requ |
| 9900 | 65 73 74 2c 20 73 6f 20 77 65 20 6b 65 65 70 20 69 74 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 6f | est,.so.we.keep.it.identical.too |
| 9920 | 2e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 62 75 69 6c 64 53 74 72 65 61 6d 4f 70 74 69 6f | ....*/..private.buildStreamOptio |
| 9940 | 6e 73 28 61 72 67 73 3a 20 7b 0a 09 09 6d 6f 64 65 6c 3a 20 50 61 72 61 6d 65 74 65 72 73 3c 74 | ns(args:.{...model:.Parameters<t |
| 9960 | 79 70 65 6f 66 20 73 74 72 65 61 6d 54 65 78 74 3e 5b 30 5d 5b 22 6d 6f 64 65 6c 22 5d 3b 0a 09 | ypeof.streamText>[0]["model"];.. |
| 9980 | 09 63 6f 72 65 4d 65 73 73 61 67 65 73 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 3b 0a 09 | .coreMessages:.ModelMessage[];.. |
| 99a0 | 09 74 6f 6f 6c 73 3a 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 54 6f 6f 6c 3e 3b 0a 09 09 | .tools:.Record<string,.Tool>;... |
| 99c0 | 69 73 43 6c 61 75 64 65 4f 41 75 74 68 3a 20 62 6f 6f 6c 65 61 6e 3b 0a 09 09 75 73 65 73 41 6e | isClaudeOAuth:.boolean;...usesAn |
| 99e0 | 74 68 72 6f 70 69 63 53 44 4b 3a 20 62 6f 6f 6c 65 61 6e 3b 0a 09 09 65 66 66 6f 72 74 3a 20 52 | thropicSDK:.boolean;...effort:.R |
| 9a00 | 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 3b 0a 09 09 61 62 6f 72 74 53 69 67 6e 61 6c 3f 3a 20 | easoningEffort;...abortSignal?:. |
| 9a20 | 41 62 6f 72 74 53 69 67 6e 61 6c 3b 0a 09 7d 29 3a 20 50 61 72 61 6d 65 74 65 72 73 3c 74 79 70 | AbortSignal;..}):.Parameters<typ |
| 9a40 | 65 6f 66 20 73 74 72 65 61 6d 54 65 78 74 3e 5b 30 5d 20 7b 0a 09 09 63 6f 6e 73 74 20 7b 20 6d | eof.streamText>[0].{...const.{.m |
| 9a60 | 6f 64 65 6c 2c 20 63 6f 72 65 4d 65 73 73 61 67 65 73 2c 20 74 6f 6f 6c 73 2c 20 69 73 43 6c 61 | odel,.coreMessages,.tools,.isCla |
| 9a80 | 75 64 65 4f 41 75 74 68 2c 20 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 2c 20 65 66 66 6f | udeOAuth,.usesAnthropicSDK,.effo |
| 9aa0 | 72 74 2c 20 61 62 6f 72 74 53 69 67 6e 61 6c 20 7d 20 3d 0a 09 09 09 61 72 67 73 3b 0a 09 09 63 | rt,.abortSignal.}.=....args;...c |
| 9ac0 | 6f 6e 73 74 20 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 3a 20 50 61 72 61 6d 65 74 65 72 73 3c 74 | onst.streamOptions:.Parameters<t |
| 9ae0 | 79 70 65 6f 66 20 73 74 72 65 61 6d 54 65 78 74 3e 5b 30 5d 20 3d 20 7b 0a 09 09 09 6d 6f 64 65 | ypeof.streamText>[0].=.{....mode |
| 9b00 | 6c 2c 0a 09 09 09 6d 65 73 73 61 67 65 73 3a 20 63 6f 72 65 4d 65 73 73 61 67 65 73 2c 0a 09 09 | l,....messages:.coreMessages,... |
| 9b20 | 09 74 6f 6f 6c 73 2c 0a 09 09 09 61 62 6f 72 74 53 69 67 6e 61 6c 2c 0a 09 09 7d 3b 0a 0a 09 09 | .tools,....abortSignal,...};.... |
| 9b40 | 2f 2f 20 45 6e 63 6f 75 72 61 67 65 20 74 6f 6f 6c 20 75 73 65 20 6f 6e 20 41 6e 74 68 72 6f 70 | //.Encourage.tool.use.on.Anthrop |
| 9b60 | 69 63 2e 20 57 69 74 68 6f 75 74 20 61 6e 20 65 78 70 6c 69 63 69 74 20 60 74 6f 6f 6c 43 68 6f | ic..Without.an.explicit.`toolCho |
| 9b80 | 69 63 65 60 2c 0a 09 09 2f 2f 20 43 6c 61 75 64 65 20 28 65 73 70 65 63 69 61 6c 6c 79 20 4f 70 | ice`,...//.Claude.(especially.Op |
| 9ba0 | 75 73 20 34 2e 37 20 77 69 74 68 20 61 64 61 70 74 69 76 65 20 74 68 69 6e 6b 69 6e 67 29 20 63 | us.4.7.with.adaptive.thinking).c |
| 9bc0 | 61 6e 20 64 65 63 69 64 65 20 74 6f 0a 09 09 2f 2f 20 22 74 68 69 6e 6b 20 66 6f 72 65 76 65 72 | an.decide.to...//."think.forever |
| 9be0 | 22 20 69 6e 73 74 65 61 64 20 6f 66 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 74 6f 6f 6c 73 20 69 | ".instead.of.calling.the.tools.i |
| 9c00 | 74 20 68 61 73 20 62 65 65 6e 20 67 69 76 65 6e 2e 0a 09 09 2f 2f 20 60 22 61 75 74 6f 22 60 20 | t.has.been.given....//.`"auto"`. |
| 9c20 | 6b 65 65 70 73 20 43 6c 61 75 64 65 20 66 72 65 65 20 74 6f 20 61 6e 73 77 65 72 20 77 69 74 68 | keeps.Claude.free.to.answer.with |
| 9c40 | 20 74 65 78 74 20 77 68 65 6e 20 6e 6f 20 74 6f 6f 6c 20 69 73 20 6e 65 65 64 65 64 2c 0a 09 09 | .text.when.no.tool.is.needed,... |
| 9c60 | 2f 2f 20 77 68 69 6c 65 20 6d 61 6b 69 6e 67 20 74 68 65 20 61 76 61 69 6c 61 62 69 6c 69 74 79 | //.while.making.the.availability |
| 9c80 | 20 6f 66 20 74 6f 6f 6c 73 20 61 6e 20 65 78 70 6c 69 63 69 74 20 73 69 67 6e 61 6c 20 e2 80 94 | .of.tools.an.explicit.signal.... |
| 9ca0 | 20 41 4e 44 20 69 74 20 69 73 0a 09 09 2f 2f 20 61 20 63 61 63 68 65 2d 6b 65 79 20 69 6e 70 75 | .AND.it.is...//.a.cache-key.inpu |
| 9cc0 | 74 2c 20 73 6f 20 77 61 72 6d 69 6e 67 20 6d 75 73 74 20 73 65 6e 64 20 74 68 65 20 53 41 4d 45 | t,.so.warming.must.send.the.SAME |
| 9ce0 | 20 76 61 6c 75 65 2e 0a 09 09 69 66 20 28 69 73 43 6c 61 75 64 65 4f 41 75 74 68 29 20 7b 0a 09 | .value....if.(isClaudeOAuth).{.. |
| 9d00 | 09 09 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 2e 74 6f 6f 6c 43 68 6f 69 63 65 20 3d 20 22 61 75 | ..streamOptions.toolChoice.=."au |
| 9d20 | 74 6f 22 3b 0a 09 09 7d 0a 0a 09 09 69 66 20 28 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 26 26 | to";...}....if.(isClaudeOAuth.&& |
| 9d40 | 20 65 66 66 6f 72 74 20 21 3d 3d 20 22 6e 6f 6e 65 22 29 20 7b 0a 09 09 09 2f 2f 20 76 36 20 6e | .effort.!==."none").{....//.v6.n |
| 9d60 | 61 74 69 76 65 20 41 6e 74 68 72 6f 70 69 63 20 61 64 61 70 74 69 76 65 20 74 68 69 6e 6b 69 6e | ative.Anthropic.adaptive.thinkin |
| 9d80 | 67 20 76 69 61 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 2e 20 54 68 69 6e 6b 69 6e 67 0a | g.via.providerOptions..Thinking. |
| 9da0 | 09 09 09 2f 2f 20 63 6f 6e 66 69 67 20 28 61 64 61 70 74 69 76 65 20 76 73 20 65 6e 61 62 6c 65 | ...//.config.(adaptive.vs.enable |
| 9dc0 | 64 2c 20 62 75 64 67 65 74 2c 20 70 6c 75 73 20 64 69 73 70 6c 61 79 3a 22 73 75 6d 6d 61 72 69 | d,.budget,.plus.display:"summari |
| 9de0 | 7a 65 64 22 20 66 6f 72 0a 09 09 09 2f 2f 20 4f 70 75 73 20 34 2e 37 2b 29 20 69 73 20 64 65 72 | zed".for....//.Opus.4.7+).is.der |
| 9e00 | 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6d 6f 64 65 6c 20 69 64 20 2b 20 65 66 66 6f 72 74 2e | ived.from.the.model.id.+.effort. |
| 9e20 | 20 54 68 65 73 65 20 61 72 65 20 63 61 63 68 65 2d 6b 65 79 0a 09 09 09 2f 2f 20 69 6e 70 75 74 | .These.are.cache-key....//.input |
| 9e40 | 73 20 28 41 6e 74 68 72 6f 70 69 63 27 73 20 22 54 68 69 6e 6b 69 6e 67 20 70 61 72 61 6d 65 74 | s.(Anthropic's."Thinking.paramet |
| 9e60 | 65 72 73 22 20 72 6f 77 29 2c 20 73 6f 20 77 61 72 6d 69 6e 67 20 6d 75 73 74 20 70 61 73 73 0a | ers".row),.so.warming.must.pass. |
| 9e80 | 09 09 09 2f 2f 20 74 68 65 20 53 41 4d 45 20 65 66 66 6f 72 74 20 74 68 65 20 6e 65 78 74 20 72 | ...//.the.SAME.effort.the.next.r |
| 9ea0 | 65 61 6c 20 74 75 72 6e 20 77 69 6c 6c 20 75 73 65 2e 20 60 6d 61 78 4f 75 74 70 75 74 54 6f 6b | eal.turn.will.use..`maxOutputTok |
| 9ec0 | 65 6e 73 60 20 63 61 70 73 0a 09 09 09 2f 2f 20 74 68 69 6e 6b 69 6e 67 20 2b 20 72 65 73 70 6f | ens`.caps....//.thinking.+.respo |
| 9ee0 | 6e 73 65 20 63 6f 6d 62 69 6e 65 64 3b 20 74 68 65 20 6d 6f 64 65 6c 20 73 65 6c 66 2d 72 65 67 | nse.combined;.the.model.self-reg |
| 9f00 | 75 6c 61 74 65 73 20 77 69 74 68 69 6e 20 69 74 2e 0a 09 09 09 73 74 72 65 61 6d 4f 70 74 69 6f | ulates.within.it.....streamOptio |
| 9f20 | 6e 73 2e 6d 61 78 4f 75 74 70 75 74 54 6f 6b 65 6e 73 20 3d 20 33 32 30 30 30 3b 0a 09 09 09 73 | ns.maxOutputTokens.=.32000;....s |
| 9f40 | 74 72 65 61 6d 4f 70 74 69 6f 6e 73 2e 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 3d 20 7b | treamOptions.providerOptions.=.{ |
| 9f60 | 0a 09 09 09 09 61 6e 74 68 72 6f 70 69 63 3a 20 61 6e 74 68 72 6f 70 69 63 54 68 69 6e 6b 69 6e | .....anthropic:.anthropicThinkin |
| 9f80 | 67 50 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 28 74 68 69 73 2e 63 6f 6e 66 69 67 2e 6d 6f 64 | gProviderOptions(this.config.mod |
| 9fa0 | 65 6c 2c 20 65 66 66 6f 72 74 29 2c 0a 09 09 09 7d 3b 0a 09 09 7d 20 65 6c 73 65 20 69 66 20 28 | el,.effort),....};...}.else.if.( |
| 9fc0 | 21 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 20 26 26 20 65 66 66 6f 72 74 20 21 3d 3d 20 | !usesAnthropicSDK.&&.effort.!==. |
| 9fe0 | 22 6e 6f 6e 65 22 29 20 7b 0a 09 09 09 2f 2f 20 4f 70 65 6e 41 49 2d 63 6f 6d 70 61 74 69 62 6c | "none").{....//.OpenAI-compatibl |
| a000 | 65 20 6d 6f 64 65 6c 73 20 28 4f 70 65 6e 43 6f 64 65 20 5a 65 6e 3a 20 44 65 65 70 53 65 65 6b | e.models.(OpenCode.Zen:.DeepSeek |
| a020 | 2c 20 47 4c 4d 2c 20 4b 69 6d 69 2c 20 65 74 63 2e 29 2e 0a 09 09 09 2f 2f 20 54 68 6f 73 65 20 | ,.GLM,.Kimi,.etc.).....//.Those. |
| a040 | 65 6e 64 70 6f 69 6e 74 73 20 64 6f 20 61 75 74 6f 6d 61 74 69 63 20 73 65 72 76 65 72 2d 73 69 | endpoints.do.automatic.server-si |
| a060 | 64 65 20 70 72 65 66 69 78 20 63 61 63 68 69 6e 67 20 61 6e 64 20 69 67 6e 6f 72 65 0a 09 09 09 | de.prefix.caching.and.ignore.... |
| a080 | 2f 2f 20 6f 75 72 20 6d 61 72 6b 65 72 73 2c 20 62 75 74 20 77 65 20 6b 65 65 70 20 74 68 65 20 | //.our.markers,.but.we.keep.the. |
| a0a0 | 72 65 71 75 65 73 74 20 73 68 61 70 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 72 65 67 61 72 64 6c | request.shape.consistent.regardl |
| a0c0 | 65 73 73 2e 0a 09 09 09 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 2e 70 72 6f 76 69 64 65 72 4f 70 | ess.....streamOptions.providerOp |
| a0e0 | 74 69 6f 6e 73 20 3d 20 7b 20 6f 70 65 6e 61 69 43 6f 6d 70 61 74 69 62 6c 65 3a 20 7b 20 72 65 | tions.=.{.openaiCompatible:.{.re |
| a100 | 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 3a 20 65 66 66 6f 72 74 20 7d 20 7d 3b 0a 09 09 7d 0a 0a | asoningEffort:.effort.}.};...}.. |
| a120 | 09 09 72 65 74 75 72 6e 20 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 3b 0a 09 7d 0a 0a 09 61 73 79 | ..return.streamOptions;..}...asy |
| a140 | 6e 63 20 77 61 72 6d 43 61 63 68 65 28 0a 09 09 68 69 73 74 6f 72 79 3a 20 43 68 61 74 4d 65 73 | nc.warmCache(...history:.ChatMes |
| a160 | 73 61 67 65 5b 5d 2c 0a 09 09 6f 70 74 69 6f 6e 73 3f 3a 20 7b 20 61 62 6f 72 74 53 69 67 6e 61 | sage[],...options?:.{.abortSigna |
| a180 | 6c 3f 3a 20 41 62 6f 72 74 53 69 67 6e 61 6c 3b 20 72 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 | l?:.AbortSignal;.reasoningEffort |
| a1a0 | 3f 3a 20 52 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 20 7d 2c 0a 09 29 3a 20 50 72 6f 6d 69 73 | ?:.ReasoningEffort.},..):.Promis |
| a1c0 | 65 3c 55 73 61 67 65 44 61 74 61 3e 20 7b 0a 09 09 63 6f 6e 73 74 20 7b 20 69 73 43 6c 61 75 64 | e<UsageData>.{...const.{.isClaud |
| a1e0 | 65 4f 41 75 74 68 2c 20 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 2c 20 70 72 6f 76 69 64 | eOAuth,.usesAnthropicSDK,.provid |
| a200 | 65 72 46 61 63 74 6f 72 79 2c 20 74 6f 6f 6c 73 2c 20 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 7d | erFactory,.tools,.systemPrompt.} |
| a220 | 20 3d 0a 09 09 09 74 68 69 73 2e 62 75 69 6c 64 4c 6c 6d 43 6f 6e 74 65 78 74 28 68 69 73 74 6f | .=....this.buildLlmContext(histo |
| a240 | 72 79 29 3b 0a 09 09 2f 2f 20 52 65 73 6f 6c 76 65 20 74 68 65 20 53 41 4d 45 20 65 66 66 6f 72 | ry);...//.Resolve.the.SAME.effor |
| a260 | 74 20 74 68 65 20 6e 65 78 74 20 72 65 61 6c 20 74 75 72 6e 20 77 6f 75 6c 64 20 75 73 65 20 28 | t.the.next.real.turn.would.use.( |
| a280 | 70 65 72 2d 74 61 62 20 6f 76 65 72 72 69 64 65 20 e2 86 92 0a 09 09 2f 2f 20 61 67 65 6e 74 20 | per-tab.override.......//.agent. |
| a2a0 | 64 65 66 61 75 6c 74 20 e2 86 92 20 44 45 46 41 55 4c 54 5f 52 45 41 53 4f 4e 49 4e 47 5f 45 46 | default.....DEFAULT_REASONING_EF |
| a2c0 | 46 4f 52 54 29 2e 20 54 68 69 73 20 64 72 69 76 65 73 20 74 68 65 20 74 68 69 6e 6b 69 6e 67 0a | FORT)..This.drives.the.thinking. |
| a2e0 | 09 09 2f 2f 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 69 73 20 61 | ..//.providerOptions,.which.is.a |
| a300 | 20 6d 65 73 73 61 67 65 2d 63 61 63 68 65 20 6b 65 79 20 e2 80 94 20 77 61 72 6d 69 6e 67 20 4d | .message-cache.key.....warming.M |
| a320 | 55 53 54 20 6d 61 74 63 68 20 69 74 2e 0a 09 09 63 6f 6e 73 74 20 65 66 66 6f 72 74 20 3d 0a 09 | UST.match.it....const.effort.=.. |
| a340 | 09 09 6f 70 74 69 6f 6e 73 3f 2e 72 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 20 3f 3f 20 74 68 | ..options?.reasoningEffort.??.th |
| a360 | 69 73 2e 63 6f 6e 66 69 67 2e 72 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 20 3f 3f 20 44 45 46 | is.config.reasoningEffort.??.DEF |
| a380 | 41 55 4c 54 5f 52 45 41 53 4f 4e 49 4e 47 5f 45 46 46 4f 52 54 3b 0a 0a 09 09 2f 2f 20 4d 69 72 | AULT_REASONING_EFFORT;....//.Mir |
| a3a0 | 72 6f 72 20 60 72 75 6e 28 29 60 27 73 20 73 65 72 69 61 6c 69 73 61 74 69 6f 6e 20 65 78 61 63 | ror.`run()`'s.serialisation.exac |
| a3c0 | 74 6c 79 20 73 6f 20 74 68 65 20 70 72 65 66 69 78 20 62 79 74 65 73 20 6d 61 74 63 68 20 74 68 | tly.so.the.prefix.bytes.match.th |
| a3e0 | 65 0a 09 09 2f 2f 20 72 65 61 6c 20 74 75 72 6e 27 73 3a 20 73 79 73 74 65 6d 20 6d 65 73 73 61 | e...//.real.turn's:.system.messa |
| a400 | 67 65 20 66 69 72 73 74 20 28 63 61 63 68 69 6e 67 20 6e 65 65 64 73 20 69 74 20 69 6e 6c 69 6e | ge.first.(caching.needs.it.inlin |
| a420 | 65 29 2c 20 74 68 65 6e 20 74 68 65 0a 09 09 2f 2f 20 67 65 6e 75 69 6e 65 20 68 69 73 74 6f 72 | e),.then.the...//.genuine.histor |
| a440 | 79 2c 20 74 68 65 6e 20 74 68 65 20 74 68 72 6f 77 61 77 61 79 20 70 72 6f 62 65 20 74 75 72 6e | y,.then.the.throwaway.probe.turn |
| a460 | 20 61 70 70 65 6e 64 65 64 20 61 74 20 74 68 65 20 45 4e 44 2e 0a 09 09 2f 2f 20 41 70 70 65 6e | .appended.at.the.END....//.Appen |
| a480 | 64 69 6e 67 20 61 74 20 74 68 65 20 65 6e 64 20 6c 65 61 76 65 73 20 74 68 65 20 66 69 72 73 74 | ding.at.the.end.leaves.the.first |
| a4a0 | 2d 75 73 65 72 2d 6d 65 73 73 61 67 65 2d 64 65 72 69 76 65 64 20 62 69 6c 6c 69 6e 67 0a 09 09 | -user-message-derived.billing... |
| a4c0 | 2f 2f 20 68 65 61 64 65 72 20 28 61 6e 64 20 74 68 75 73 20 74 68 65 20 63 61 63 68 65 64 20 70 | //.header.(and.thus.the.cached.p |
| a4e0 | 72 65 66 69 78 29 20 75 6e 74 6f 75 63 68 65 64 2e 0a 09 09 63 6f 6e 73 74 20 77 61 72 6d 4d 65 | refix).untouched....const.warmMe |
| a500 | 73 73 61 67 65 73 3a 20 43 68 61 74 4d 65 73 73 61 67 65 5b 5d 20 3d 20 5b 0a 09 09 09 2e 2e 2e | ssages:.ChatMessage[].=.[....... |
| a520 | 68 69 73 74 6f 72 79 2c 0a 09 09 09 7b 20 72 6f 6c 65 3a 20 22 75 73 65 72 22 2c 20 63 68 75 6e | history,....{.role:."user",.chun |
| a540 | 6b 73 3a 20 5b 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 2c 20 74 65 78 74 3a 20 57 41 52 4d 5f | ks:.[{.type:."text",.text:.WARM_ |
| a560 | 43 41 43 48 45 5f 50 52 4f 42 45 5f 54 45 58 54 20 7d 5d 20 7d 2c 0a 09 09 5d 3b 0a 09 09 63 6f | CACHE_PROBE_TEXT.}].},...];...co |
| a580 | 6e 73 74 20 73 79 73 74 65 6d 4d 65 73 73 61 67 65 3a 20 53 79 73 74 65 6d 4d 6f 64 65 6c 4d 65 | nst.systemMessage:.SystemModelMe |
| a5a0 | 73 73 61 67 65 20 3d 20 7b 20 72 6f 6c 65 3a 20 22 73 79 73 74 65 6d 22 2c 20 63 6f 6e 74 65 6e | ssage.=.{.role:."system",.conten |
| a5c0 | 74 3a 20 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 7d 3b 0a 09 09 6c 65 74 20 63 6f 72 65 4d 65 73 | t:.systemPrompt.};...let.coreMes |
| a5e0 | 73 61 67 65 73 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 5b 5d 20 3d 20 5b 0a 09 09 09 73 79 73 | sages:.ModelMessage[].=.[....sys |
| a600 | 74 65 6d 4d 65 73 73 61 67 65 2c 0a 09 09 09 2e 2e 2e 74 6f 4d 6f 64 65 6c 4d 65 73 73 61 67 65 | temMessage,.......toModelMessage |
| a620 | 73 28 77 61 72 6d 4d 65 73 73 61 67 65 73 2c 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 29 2c 0a | s(warmMessages,.isClaudeOAuth),. |
| a640 | 09 09 5d 3b 0a 09 09 69 66 20 28 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 29 20 7b 0a 09 | ..];...if.(usesAnthropicSDK).{.. |
| a660 | 09 09 63 6f 72 65 4d 65 73 73 61 67 65 73 20 3d 20 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 53 | ..coreMessages.=.applyAnthropicS |
| a680 | 74 72 75 63 74 75 72 61 6c 4e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 73 28 63 6f 72 65 4d 65 73 73 | tructuralNormalisations(coreMess |
| a6a0 | 61 67 65 73 29 3b 0a 09 09 09 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 43 61 63 68 69 6e 67 28 | ages);....applyAnthropicCaching( |
| a6c0 | 63 6f 72 65 4d 65 73 73 61 67 65 73 29 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 63 6f 72 | coreMessages);...}.else.{....cor |
| a6e0 | 65 4d 65 73 73 61 67 65 73 20 3d 20 61 70 70 6c 79 4f 70 65 6e 41 49 43 6f 6d 70 61 74 69 62 6c | eMessages.=.applyOpenAICompatibl |
| a700 | 65 52 65 61 73 6f 6e 69 6e 67 4e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 28 63 6f 72 65 4d 65 73 73 | eReasoningNormalisation(coreMess |
| a720 | 61 67 65 73 29 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 42 75 69 6c 64 20 74 68 65 20 72 65 71 75 65 | ages);...}....//.Build.the.reque |
| a740 | 73 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 53 41 4d 45 20 73 68 61 72 65 64 20 68 65 6c 70 65 | st.through.the.SAME.shared.helpe |
| a760 | 72 20 72 75 6e 28 29 20 75 73 65 73 2c 20 77 69 74 68 20 74 68 65 0a 09 09 2f 2f 20 53 41 4d 45 | r.run().uses,.with.the...//.SAME |
| a780 | 20 72 65 73 6f 6c 76 65 64 20 65 66 66 6f 72 74 20 e2 80 94 20 73 6f 20 74 6f 6f 6c 43 68 6f 69 | .resolved.effort.....so.toolChoi |
| a7a0 | 63 65 20 2b 20 74 68 69 6e 6b 69 6e 67 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 20 2b 0a | ce.+.thinking.providerOptions.+. |
| a7c0 | 09 09 2f 2f 20 6d 61 78 4f 75 74 70 75 74 54 6f 6b 65 6e 73 20 6d 61 74 63 68 20 74 68 65 20 72 | ..//.maxOutputTokens.match.the.r |
| a7e0 | 65 61 6c 20 74 75 72 6e 20 65 78 61 63 74 6c 79 2e 20 54 68 69 73 20 69 73 20 77 68 61 74 20 6d | eal.turn.exactly..This.is.what.m |
| a800 | 61 6b 65 73 20 74 68 65 0a 09 09 2f 2f 20 77 61 72 6d 69 6e 67 20 72 65 70 6c 61 79 20 68 69 74 | akes.the...//.warming.replay.hit |
| a820 | 20 28 61 6e 64 20 72 65 66 72 65 73 68 29 20 74 68 65 20 52 45 41 4c 20 74 75 72 6e 27 73 20 6d | .(and.refresh).the.REAL.turn's.m |
| a840 | 65 73 73 61 67 65 20 63 61 63 68 65 20 69 6e 73 74 65 61 64 0a 09 09 2f 2f 20 6f 66 20 77 72 69 | essage.cache.instead...//.of.wri |
| a860 | 74 69 6e 67 20 61 20 73 65 70 61 72 61 74 65 20 22 77 61 72 6d 69 6e 67 2d 6f 6e 6c 79 22 20 62 | ting.a.separate."warming-only".b |
| a880 | 75 63 6b 65 74 2e 20 54 68 65 20 74 68 72 6f 77 61 77 61 79 20 70 72 6f 62 65 20 74 75 72 6e 0a | ucket..The.throwaway.probe.turn. |
| a8a0 | 09 09 2f 2f 20 69 73 20 61 70 70 65 6e 64 65 64 20 41 46 54 45 52 20 74 68 65 20 6c 61 73 74 20 | ..//.is.appended.AFTER.the.last. |
| a8c0 | 63 61 63 68 65 20 62 72 65 61 6b 70 6f 69 6e 74 2c 20 73 6f 20 69 74 20 63 61 6e 6e 6f 74 20 64 | cache.breakpoint,.so.it.cannot.d |
| a8e0 | 69 73 74 75 72 62 20 74 68 65 0a 09 09 2f 2f 20 63 61 63 68 65 64 20 70 72 65 66 69 78 3b 20 69 | isturb.the...//.cached.prefix;.i |
| a900 | 74 20 6f 6e 6c 79 20 67 69 76 65 73 20 74 68 65 20 6d 6f 64 65 6c 20 61 20 63 68 65 61 70 20 66 | t.only.gives.the.model.a.cheap.f |
| a920 | 69 6e 61 6c 20 74 75 72 6e 20 74 6f 20 61 6e 73 77 65 72 2e 0a 09 09 63 6f 6e 73 74 20 73 74 72 | inal.turn.to.answer....const.str |
| a940 | 65 61 6d 4f 70 74 69 6f 6e 73 20 3d 20 74 68 69 73 2e 62 75 69 6c 64 53 74 72 65 61 6d 4f 70 74 | eamOptions.=.this.buildStreamOpt |
| a960 | 69 6f 6e 73 28 7b 0a 09 09 09 6d 6f 64 65 6c 3a 20 70 72 6f 76 69 64 65 72 46 61 63 74 6f 72 79 | ions({....model:.providerFactory |
| a980 | 28 74 68 69 73 2e 63 6f 6e 66 69 67 2e 6d 6f 64 65 6c 29 2c 0a 09 09 09 63 6f 72 65 4d 65 73 73 | (this.config.model),....coreMess |
| a9a0 | 61 67 65 73 2c 0a 09 09 09 74 6f 6f 6c 73 2c 0a 09 09 09 69 73 43 6c 61 75 64 65 4f 41 75 74 68 | ages,....tools,....isClaudeOAuth |
| a9c0 | 2c 0a 09 09 09 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 2c 0a 09 09 09 65 66 66 6f 72 74 | ,....usesAnthropicSDK,....effort |
| a9e0 | 2c 0a 09 09 09 2e 2e 2e 28 6f 70 74 69 6f 6e 73 3f 2e 61 62 6f 72 74 53 69 67 6e 61 6c 20 3f 20 | ,.......(options?.abortSignal.?. |
| aa00 | 7b 20 61 62 6f 72 74 53 69 67 6e 61 6c 3a 20 6f 70 74 69 6f 6e 73 2e 61 62 6f 72 74 53 69 67 6e | {.abortSignal:.options.abortSign |
| aa20 | 61 6c 20 7d 20 3a 20 7b 7d 29 2c 0a 09 09 7d 29 3b 0a 0a 09 09 63 6f 6e 73 74 20 75 73 61 67 65 | al.}.:.{}),...});....const.usage |
| aa40 | 3a 20 55 73 61 67 65 44 61 74 61 20 3d 20 7b 0a 09 09 09 69 6e 70 75 74 54 6f 6b 65 6e 73 3a 20 | :.UsageData.=.{....inputTokens:. |
| aa60 | 30 2c 0a 09 09 09 6f 75 74 70 75 74 54 6f 6b 65 6e 73 3a 20 30 2c 0a 09 09 09 63 61 63 68 65 52 | 0,....outputTokens:.0,....cacheR |
| aa80 | 65 61 64 54 6f 6b 65 6e 73 3a 20 30 2c 0a 09 09 09 63 61 63 68 65 57 72 69 74 65 54 6f 6b 65 6e | eadTokens:.0,....cacheWriteToken |
| aaa0 | 73 3a 20 30 2c 0a 09 09 7d 3b 0a 09 09 74 72 79 20 7b 0a 09 09 09 63 6f 6e 73 74 20 72 65 73 75 | s:.0,...};...try.{....const.resu |
| aac0 | 6c 74 20 3d 20 73 74 72 65 61 6d 54 65 78 74 28 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 29 3b 0a | lt.=.streamText(streamOptions);. |
| aae0 | 09 09 09 66 6f 72 20 61 77 61 69 74 20 28 63 6f 6e 73 74 20 65 76 65 6e 74 20 6f 66 20 72 65 73 | ...for.await.(const.event.of.res |
| ab00 | 75 6c 74 2e 66 75 6c 6c 53 74 72 65 61 6d 29 20 7b 0a 09 09 09 09 69 66 20 28 65 76 65 6e 74 2e | ult.fullStream).{.....if.(event. |
| ab20 | 74 79 70 65 20 3d 3d 3d 20 22 65 72 72 6f 72 22 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 65 | type.===."error").{......const.e |
| ab40 | 20 3d 20 28 65 76 65 6e 74 20 61 73 20 7b 20 65 72 72 6f 72 3f 3a 20 75 6e 6b 6e 6f 77 6e 20 7d | .=.(event.as.{.error?:.unknown.} |
| ab60 | 29 2e 65 72 72 6f 72 3b 0a 09 09 09 09 09 74 68 72 6f 77 20 65 20 69 6e 73 74 61 6e 63 65 6f 66 | ).error;......throw.e.instanceof |
| ab80 | 20 45 72 72 6f 72 20 3f 20 65 20 3a 20 6e 65 77 20 45 72 72 6f 72 28 53 74 72 69 6e 67 28 65 20 | .Error.?.e.:.new.Error(String(e. |
| aba0 | 3f 3f 20 22 63 61 63 68 65 2d 77 61 72 6d 20 73 74 72 65 61 6d 20 65 72 72 6f 72 22 29 29 3b 0a | ??."cache-warm.stream.error"));. |
| abc0 | 09 09 09 09 7d 0a 09 09 09 09 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 66 69 | ....}.....if.(event.type.===."fi |
| abe0 | 6e 69 73 68 2d 73 74 65 70 22 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 75 20 3d 20 28 65 76 | nish-step").{......const.u.=.(ev |
| ac00 | 65 6e 74 20 61 73 20 7b 20 75 73 61 67 65 3f 3a 20 4c 61 6e 67 75 61 67 65 4d 6f 64 65 6c 55 73 | ent.as.{.usage?:.LanguageModelUs |
| ac20 | 61 67 65 20 7d 29 2e 75 73 61 67 65 3b 0a 09 09 09 09 09 69 66 20 28 75 29 20 7b 0a 09 09 09 09 | age.}).usage;......if.(u).{..... |
| ac40 | 09 09 63 6f 6e 73 74 20 64 65 74 61 69 6c 73 20 3d 20 75 2e 69 6e 70 75 74 54 6f 6b 65 6e 44 65 | ..const.details.=.u.inputTokenDe |
| ac60 | 74 61 69 6c 73 3b 0a 09 09 09 09 09 09 75 73 61 67 65 2e 69 6e 70 75 74 54 6f 6b 65 6e 73 20 3d | tails;.......usage.inputTokens.= |
| ac80 | 20 75 2e 69 6e 70 75 74 54 6f 6b 65 6e 73 20 3f 3f 20 30 3b 0a 09 09 09 09 09 09 75 73 61 67 65 | .u.inputTokens.??.0;.......usage |
| aca0 | 2e 6f 75 74 70 75 74 54 6f 6b 65 6e 73 20 3d 20 75 2e 6f 75 74 70 75 74 54 6f 6b 65 6e 73 20 3f | .outputTokens.=.u.outputTokens.? |
| acc0 | 3f 20 30 3b 0a 09 09 09 09 09 09 75 73 61 67 65 2e 63 61 63 68 65 52 65 61 64 54 6f 6b 65 6e 73 | ?.0;.......usage.cacheReadTokens |
| ace0 | 20 3d 20 64 65 74 61 69 6c 73 3f 2e 63 61 63 68 65 52 65 61 64 54 6f 6b 65 6e 73 20 3f 3f 20 30 | .=.details?.cacheReadTokens.??.0 |
| ad00 | 3b 0a 09 09 09 09 09 09 75 73 61 67 65 2e 63 61 63 68 65 57 72 69 74 65 54 6f 6b 65 6e 73 20 3d | ;.......usage.cacheWriteTokens.= |
| ad20 | 20 64 65 74 61 69 6c 73 3f 2e 63 61 63 68 65 57 72 69 74 65 54 6f 6b 65 6e 73 20 3f 3f 20 30 3b | .details?.cacheWriteTokens.??.0; |
| ad40 | 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 20 63 61 74 63 68 20 28 65 72 | ......}.....}....}...}.catch.(er |
| ad60 | 72 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 45 72 72 6f 72 28 66 6f 72 6d 61 74 45 72 | r).{....throw.new.Error(formatEr |
| ad80 | 72 6f 72 28 65 72 72 2c 20 74 68 69 73 2e 63 6f 6e 66 69 67 29 29 3b 0a 09 09 7d 0a 09 09 72 65 | ror(err,.this.config));...}...re |
| ada0 | 74 75 72 6e 20 75 73 61 67 65 3b 0a 09 7d 0a 0a 09 61 73 79 6e 63 20 2a 72 75 6e 28 0a 09 09 75 | turn.usage;..}...async.*run(...u |
| adc0 | 73 65 72 4d 65 73 73 61 67 65 3a 20 73 74 72 69 6e 67 2c 0a 09 09 6f 70 74 69 6f 6e 73 3f 3a 20 | serMessage:.string,...options?:. |
| ade0 | 7b 0a 09 09 09 72 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 74 3f 3a 20 52 65 61 73 6f 6e 69 6e 67 | {....reasoningEffort?:.Reasoning |
| ae00 | 45 66 66 6f 72 74 3b 0a 09 09 09 61 62 6f 72 74 53 69 67 6e 61 6c 3f 3a 20 41 62 6f 72 74 53 69 | Effort;....abortSignal?:.AbortSi |
| ae20 | 67 6e 61 6c 3b 0a 09 09 09 2f 2a 2a 0a 09 09 09 20 2a 20 45 70 68 65 6d 65 72 61 6c 20 6f 72 64 | gnal;..../**.....*.Ephemeral.ord |
| ae40 | 65 72 65 64 20 6d 75 6c 74 69 6d 6f 64 61 6c 20 63 6f 6e 74 65 6e 74 20 28 74 65 78 74 20 2b 20 | ered.multimodal.content.(text.+. |
| ae60 | 69 6d 61 67 65 2f 70 64 66 20 61 74 74 61 63 68 6d 65 6e 74 73 29 0a 09 09 09 20 2a 20 66 6f 72 | image/pdf.attachments).....*.for |
| ae80 | 20 54 48 49 53 20 75 73 65 72 20 74 75 72 6e 2e 20 57 68 65 6e 20 70 72 65 73 65 6e 74 2c 20 60 | .THIS.user.turn..When.present,.` |
| aea0 | 75 73 65 72 4d 65 73 73 61 67 65 60 20 69 73 20 74 68 65 20 74 65 78 74 2d 6f 6e 6c 79 0a 09 09 | userMessage`.is.the.text-only... |
| aec0 | 09 20 2a 20 70 72 6f 6a 65 63 74 69 6f 6e 20 28 77 69 74 68 20 60 5b 69 6d 61 67 65 5d 60 2f 60 | ..*.projection.(with.`[image]`/` |
| aee0 | 5b 70 64 66 5d 60 20 6d 61 72 6b 65 72 73 29 20 75 73 65 64 20 66 6f 72 20 70 65 72 73 69 73 74 | [pdf]`.markers).used.for.persist |
| af00 | 65 6e 63 65 20 61 6e 64 0a 09 09 09 20 2a 20 74 68 65 20 63 68 75 6e 6b 20 72 65 6e 64 65 72 2c | ence.and.....*.the.chunk.render, |
| af20 | 20 77 68 69 6c 65 20 60 63 6f 6e 74 65 6e 74 60 20 63 61 72 72 69 65 73 20 74 68 65 20 61 63 74 | .while.`content`.carries.the.act |
| af40 | 75 61 6c 20 70 61 72 74 73 20 66 6f 72 77 61 72 64 65 64 0a 09 09 09 20 2a 20 74 6f 20 74 68 65 | ual.parts.forwarded.....*.to.the |
| af60 | 20 70 72 6f 76 69 64 65 72 2e 20 4f 6d 69 74 74 65 64 20 66 6f 72 20 70 6c 61 69 6e 2d 74 65 78 | .provider..Omitted.for.plain-tex |
| af80 | 74 20 74 75 72 6e 73 20 28 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 29 2e 0a 09 09 09 20 2a | t.turns.(the.common.case)......* |
| afa0 | 2f 0a 09 09 09 63 6f 6e 74 65 6e 74 3f 3a 20 55 73 65 72 43 6f 6e 74 65 6e 74 50 61 72 74 5b 5d | /....content?:.UserContentPart[] |
| afc0 | 3b 0a 09 09 7d 2c 0a 09 29 3a 20 41 73 79 6e 63 47 65 6e 65 72 61 74 6f 72 3c 41 67 65 6e 74 45 | ;...},..):.AsyncGenerator<AgentE |
| afe0 | 76 65 6e 74 3e 20 7b 0a 09 09 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 72 75 6e 6e 69 6e 67 | vent>.{...this.status.=."running |
| b000 | 22 3b 0a 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 73 74 61 74 75 73 22 2c 20 73 74 61 | ";...yield.{.type:."status",.sta |
| b020 | 74 75 73 3a 20 22 72 75 6e 6e 69 6e 67 22 20 7d 3b 0a 0a 09 09 2f 2f 20 41 74 74 61 63 68 20 74 | tus:."running".};....//.Attach.t |
| b040 | 68 65 20 65 70 68 65 6d 65 72 61 6c 20 6d 75 6c 74 69 6d 6f 64 61 6c 20 63 6f 6e 74 65 6e 74 20 | he.ephemeral.multimodal.content. |
| b060 | 28 69 66 20 61 6e 79 29 20 74 6f 20 74 68 65 20 69 6e 2d 66 6c 69 67 68 74 20 75 73 65 72 0a 09 | (if.any).to.the.in-flight.user.. |
| b080 | 09 2f 2f 20 6d 65 73 73 61 67 65 20 73 6f 20 60 74 6f 4d 6f 64 65 6c 4d 65 73 73 61 67 65 73 60 | .//.message.so.`toModelMessages` |
| b0a0 | 20 63 61 6e 20 65 6d 69 74 20 69 6e 74 65 72 6c 65 61 76 65 64 20 69 6d 61 67 65 2f 70 64 66 20 | .can.emit.interleaved.image/pdf. |
| b0c0 | 70 61 72 74 73 20 74 6f 20 74 68 65 0a 09 09 2f 2f 20 70 72 6f 76 69 64 65 72 2e 20 54 68 65 20 | parts.to.the...//.provider..The. |
| b0e0 | 70 65 72 73 69 73 74 65 64 20 63 68 75 6e 6b 20 69 73 20 73 74 69 6c 6c 20 74 65 78 74 2d 6f 6e | persisted.chunk.is.still.text-on |
| b100 | 6c 79 20 28 60 75 73 65 72 4d 65 73 73 61 67 65 60 29 2e 0a 09 09 63 6f 6e 73 74 20 68 61 73 4d | ly.(`userMessage`)....const.hasM |
| b120 | 75 6c 74 69 6d 6f 64 61 6c 20 3d 0a 09 09 09 21 21 6f 70 74 69 6f 6e 73 3f 2e 63 6f 6e 74 65 6e | ultimodal.=....!!options?.conten |
| b140 | 74 20 26 26 20 6f 70 74 69 6f 6e 73 2e 63 6f 6e 74 65 6e 74 2e 73 6f 6d 65 28 28 70 29 20 3d 3e | t.&&.options.content.some((p).=> |
| b160 | 20 70 2e 74 79 70 65 20 3d 3d 3d 20 22 61 74 74 61 63 68 6d 65 6e 74 22 29 3b 0a 09 09 74 68 69 | .p.type.===."attachment");...thi |
| b180 | 73 2e 6d 65 73 73 61 67 65 73 2e 70 75 73 68 28 7b 0a 09 09 09 72 6f 6c 65 3a 20 22 75 73 65 72 | s.messages.push({....role:."user |
| b1a0 | 22 2c 0a 09 09 09 63 68 75 6e 6b 73 3a 20 5b 7b 20 74 79 70 65 3a 20 22 74 65 78 74 22 2c 20 74 | ",....chunks:.[{.type:."text",.t |
| b1c0 | 65 78 74 3a 20 75 73 65 72 4d 65 73 73 61 67 65 20 7d 5d 2c 0a 09 09 09 2e 2e 2e 28 68 61 73 4d | ext:.userMessage.}],.......(hasM |
| b1e0 | 75 6c 74 69 6d 6f 64 61 6c 20 3f 20 7b 20 63 6f 6e 74 65 6e 74 3a 20 6f 70 74 69 6f 6e 73 3f 2e | ultimodal.?.{.content:.options?. |
| b200 | 63 6f 6e 74 65 6e 74 20 7d 20 3a 20 7b 7d 29 2c 0a 09 09 7d 29 3b 0a 0a 09 09 63 6f 6e 73 74 20 | content.}.:.{}),...});....const. |
| b220 | 7b 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 2c 20 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 | {.isClaudeOAuth,.usesAnthropicSD |
| b240 | 4b 2c 20 70 72 6f 76 69 64 65 72 46 61 63 74 6f 72 79 2c 20 74 6f 6f 6c 73 2c 20 73 79 73 74 65 | K,.providerFactory,.tools,.syste |
| b260 | 6d 50 72 6f 6d 70 74 20 7d 20 3d 0a 09 09 09 74 68 69 73 2e 62 75 69 6c 64 4c 6c 6d 43 6f 6e 74 | mPrompt.}.=....this.buildLlmCont |
| b280 | 65 78 74 28 74 68 69 73 2e 6d 65 73 73 61 67 65 73 29 3b 0a 0a 09 09 74 72 79 20 7b 0a 09 09 09 | ext(this.messages);....try.{.... |
| b2a0 | 6c 6f 67 41 67 65 6e 74 4c 6f 6f 70 28 7b 0a 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 | logAgentLoop({.....tabId:.this.c |
| b2c0 | 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 09 09 09 65 76 65 6e 74 3a 20 22 72 75 6e 2d 73 74 61 | onfig.tabId,.....event:."run-sta |
| b2e0 | 72 74 22 2c 0a 09 09 09 09 64 65 74 61 69 6c 3a 20 7b 20 6d 6f 64 65 6c 3a 20 74 68 69 73 2e 63 | rt",.....detail:.{.model:.this.c |
| b300 | 6f 6e 66 69 67 2e 6d 6f 64 65 6c 2c 20 70 72 6f 76 69 64 65 72 3a 20 74 68 69 73 2e 63 6f 6e 66 | onfig.model,.provider:.this.conf |
| b320 | 69 67 2e 70 72 6f 76 69 64 65 72 20 7d 2c 0a 09 09 09 7d 29 3b 0a 09 09 09 2f 2f 20 53 69 6e 67 | ig.provider.},....});....//.Sing |
| b340 | 6c 65 20 63 68 75 6e 6b 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 74 68 65 20 65 6e 74 | le.chunk.accumulator.for.the.ent |
| b360 | 69 72 65 20 61 73 73 69 73 74 61 6e 74 20 74 75 72 6e 20 28 61 6c 6c 20 73 74 65 70 73 29 2e 0a | ire.assistant.turn.(all.steps).. |
| b380 | 09 09 09 2f 2f 20 41 6c 6c 20 65 76 65 6e 74 2d 64 72 69 76 65 6e 20 6d 75 74 61 74 69 6f 6e 73 | ...//.All.event-driven.mutations |
| b3a0 | 20 67 6f 20 74 68 72 6f 75 67 68 20 60 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 | .go.through.`appendEventToChunks |
| b3c0 | 60 2e 0a 09 09 09 63 6f 6e 73 74 20 63 68 75 6e 6b 73 3a 20 43 68 75 6e 6b 5b 5d 20 3d 20 5b 5d | `.....const.chunks:.Chunk[].=.[] |
| b3e0 | 3b 0a 0a 09 09 09 2f 2f 20 57 65 20 62 75 69 6c 64 20 75 70 20 61 20 6c 6f 63 61 6c 20 6d 65 73 | ;.....//.We.build.up.a.local.mes |
| b400 | 73 61 67 65 20 6c 69 73 74 20 66 6f 72 20 6d 75 6c 74 69 2d 74 75 72 6e 20 77 69 74 68 69 6e 20 | sage.list.for.multi-turn.within. |
| b420 | 6f 6e 65 20 72 75 6e 28 29 20 63 61 6c 6c 0a 09 09 09 2f 2f 20 74 68 61 74 20 69 6e 63 6c 75 64 | one.run().call....//.that.includ |
| b440 | 65 73 20 74 6f 6f 6c 20 72 65 73 75 6c 74 73 20 66 65 64 20 62 61 63 6b 20 74 6f 20 74 68 65 20 | es.tool.results.fed.back.to.the. |
| b460 | 4c 4c 4d 2e 20 45 61 63 68 20 73 74 65 70 20 61 70 70 65 6e 64 73 0a 09 09 09 2f 2f 20 74 68 65 | LLM..Each.step.appends....//.the |
| b480 | 20 61 73 73 69 73 74 61 6e 74 27 73 20 65 76 6f 6c 76 69 6e 67 20 63 68 75 6e 6b 20 6c 69 73 74 | .assistant's.evolving.chunk.list |
| b4a0 | 20 61 73 20 6f 6e 65 20 43 68 61 74 4d 65 73 73 61 67 65 3b 20 73 75 62 73 65 71 75 65 6e 74 0a | .as.one.ChatMessage;.subsequent. |
| b4c0 | 09 09 09 2f 2f 20 73 74 65 70 73 20 73 65 65 20 70 72 69 6f 72 20 74 6f 6f 6c 20 63 61 6c 6c 73 | ...//.steps.see.prior.tool.calls |
| b4e0 | 20 61 6e 64 20 74 68 65 69 72 20 72 65 73 75 6c 74 73 20 76 69 61 20 74 68 65 20 63 68 75 6e 6b | .and.their.results.via.the.chunk |
| b500 | 73 2e 0a 09 09 09 63 6f 6e 73 74 20 73 74 65 70 4d 65 73 73 61 67 65 73 3a 20 43 68 61 74 4d 65 | s.....const.stepMessages:.ChatMe |
| b520 | 73 73 61 67 65 5b 5d 20 3d 20 5b 2e 2e 2e 74 68 69 73 2e 6d 65 73 73 61 67 65 73 5d 3b 0a 09 09 | ssage[].=.[...this.messages];... |
| b540 | 09 2f 2f 20 54 68 65 20 61 73 73 69 73 74 61 6e 74 20 43 68 61 74 4d 65 73 73 61 67 65 20 66 6f | .//.The.assistant.ChatMessage.fo |
| b560 | 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 75 72 6e 2c 20 73 68 61 72 65 64 20 61 63 72 6f 73 | r.the.current.turn,.shared.acros |
| b580 | 73 20 73 74 65 70 73 0a 09 09 09 2f 2f 20 73 6f 20 69 74 73 20 60 63 68 75 6e 6b 73 60 20 72 65 | s.steps....//.so.its.`chunks`.re |
| b5a0 | 66 65 72 65 6e 63 65 20 6d 61 74 63 68 65 73 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 | ference.matches.the.accumulator. |
| b5c0 | 61 62 6f 76 65 2e 20 57 65 20 70 75 73 68 0a 09 09 09 2f 2f 20 69 74 20 6f 6e 63 65 20 77 68 65 | above..We.push....//.it.once.whe |
| b5e0 | 6e 20 74 68 65 20 66 69 72 73 74 20 73 74 65 70 20 68 61 73 20 61 63 74 75 61 6c 20 6f 75 74 70 | n.the.first.step.has.actual.outp |
| b600 | 75 74 20 74 6f 20 72 65 63 6f 72 64 2e 0a 09 09 09 6c 65 74 20 61 73 73 69 73 74 61 6e 74 54 75 | ut.to.record.....let.assistantTu |
| b620 | 72 6e 4d 65 73 73 61 67 65 3a 20 43 68 61 74 4d 65 73 73 61 67 65 20 7c 20 6e 75 6c 6c 20 3d 20 | rnMessage:.ChatMessage.|.null.=. |
| b640 | 6e 75 6c 6c 3b 0a 0a 09 09 09 66 6f 72 20 28 6c 65 74 20 73 74 65 70 20 3d 20 30 3b 20 73 74 65 | null;.....for.(let.step.=.0;.ste |
| b660 | 70 20 3c 20 4d 41 58 5f 53 54 45 50 53 3b 20 73 74 65 70 2b 2b 29 20 7b 0a 09 09 09 09 63 6f 6e | p.<.MAX_STEPS;.step++).{.....con |
| b680 | 73 74 20 65 66 66 6f 72 74 20 3d 0a 09 09 09 09 09 6f 70 74 69 6f 6e 73 3f 2e 72 65 61 73 6f 6e | st.effort.=......options?.reason |
| b6a0 | 69 6e 67 45 66 66 6f 72 74 20 3f 3f 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 72 65 61 73 6f 6e 69 | ingEffort.??.this.config.reasoni |
| b6c0 | 6e 67 45 66 66 6f 72 74 20 3f 3f 20 44 45 46 41 55 4c 54 5f 52 45 41 53 4f 4e 49 4e 47 5f 45 46 | ngEffort.??.DEFAULT_REASONING_EF |
| b6e0 | 46 4f 52 54 3b 0a 09 09 09 09 63 6f 6e 73 74 20 64 65 62 75 67 52 65 71 49 64 20 3d 20 6e 65 78 | FORT;.....const.debugReqId.=.nex |
| b700 | 74 44 65 62 75 67 53 65 71 28 29 3b 0a 09 09 09 09 6c 6f 67 53 74 65 70 4c 69 66 65 63 79 63 6c | tDebugSeq();.....logStepLifecycl |
| b720 | 65 28 7b 0a 09 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 | e({......tabId:.this.config.tabI |
| b740 | 64 2c 0a 09 09 09 09 09 73 74 65 70 2c 0a 09 09 09 09 09 65 76 65 6e 74 3a 20 22 73 74 65 70 2d | d,......step,......event:."step- |
| b760 | 73 74 61 72 74 22 2c 0a 09 09 09 09 09 64 65 74 61 69 6c 3a 20 7b 20 65 66 66 6f 72 74 2c 20 68 | start",......detail:.{.effort,.h |
| b780 | 69 73 74 6f 72 79 4d 65 73 73 61 67 65 73 3a 20 73 74 65 70 4d 65 73 73 61 67 65 73 2e 6c 65 6e | istoryMessages:.stepMessages.len |
| b7a0 | 67 74 68 20 7d 2c 0a 09 09 09 09 7d 29 3b 0a 0a 09 09 09 09 2f 2f 20 42 75 69 6c 64 20 73 74 72 | gth.},.....});......//.Build.str |
| b7c0 | 65 61 6d 20 74 65 78 74 20 6f 70 74 69 6f 6e 73 0a 09 09 09 09 63 6f 6e 73 74 20 6d 6f 64 65 6c | eam.text.options.....const.model |
| b7e0 | 20 3d 20 70 72 6f 76 69 64 65 72 46 61 63 74 6f 72 79 28 74 68 69 73 2e 63 6f 6e 66 69 67 2e 6d | .=.providerFactory(this.config.m |
| b800 | 6f 64 65 6c 29 3b 0a 0a 09 09 09 09 2f 2f 20 42 75 69 6c 64 20 74 68 65 20 6d 65 73 73 61 67 65 | odel);......//.Build.the.message |
| b820 | 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 73 79 73 74 65 6d 20 70 72 6f 6d 70 74 20 70 72 65 | .list.with.the.system.prompt.pre |
| b840 | 70 65 6e 64 65 64 20 61 73 20 61 20 73 79 73 74 65 6d 0a 09 09 09 09 2f 2f 20 72 6f 6c 65 20 6d | pended.as.a.system.....//.role.m |
| b860 | 65 73 73 61 67 65 2e 20 54 68 69 73 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 41 6e 74 | essage..This.is.required.for.Ant |
| b880 | 68 72 6f 70 69 63 20 70 72 6f 6d 70 74 20 63 61 63 68 69 6e 67 3a 20 74 68 65 0a 09 09 09 09 2f | hropic.prompt.caching:.the...../ |
| b8a0 | 2f 20 60 73 79 73 74 65 6d 60 20 73 68 6f 72 74 63 75 74 20 70 61 72 61 6d 65 74 65 72 20 74 61 | /.`system`.shortcut.parameter.ta |
| b8c0 | 6b 65 73 20 61 20 70 6c 61 69 6e 20 73 74 72 69 6e 67 20 77 69 74 68 20 6e 6f 77 68 65 72 65 20 | kes.a.plain.string.with.nowhere. |
| b8e0 | 74 6f 0a 09 09 09 09 2f 2f 20 61 74 74 61 63 68 20 60 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e | to.....//.attach.`providerOption |
| b900 | 73 2e 61 6e 74 68 72 6f 70 69 63 2e 63 61 63 68 65 43 6f 6e 74 72 6f 6c 60 2e 20 4d 6f 76 69 6e | s.anthropic.cacheControl`..Movin |
| b920 | 67 20 69 74 20 69 6e 6c 69 6e 65 0a 09 09 09 09 2f 2f 20 61 6c 73 6f 20 6c 65 74 73 20 75 73 20 | g.it.inline.....//.also.lets.us. |
| b940 | 61 70 70 6c 79 20 72 6f 6c 6c 69 6e 67 20 63 61 63 68 65 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 | apply.rolling.cache.breakpoints. |
| b960 | 74 6f 20 74 68 65 20 6c 61 73 74 20 6d 65 73 73 61 67 65 73 2e 0a 09 09 09 09 63 6f 6e 73 74 20 | to.the.last.messages......const. |
| b980 | 73 79 73 74 65 6d 4d 65 73 73 61 67 65 3a 20 53 79 73 74 65 6d 4d 6f 64 65 6c 4d 65 73 73 61 67 | systemMessage:.SystemModelMessag |
| b9a0 | 65 20 3d 20 7b 0a 09 09 09 09 09 72 6f 6c 65 3a 20 22 73 79 73 74 65 6d 22 2c 0a 09 09 09 09 09 | e.=.{......role:."system",...... |
| b9c0 | 63 6f 6e 74 65 6e 74 3a 20 73 79 73 74 65 6d 50 72 6f 6d 70 74 2c 0a 09 09 09 09 7d 3b 0a 0a 09 | content:.systemPrompt,.....};... |
| b9e0 | 09 09 09 6c 65 74 20 63 6f 72 65 4d 65 73 73 61 67 65 73 3a 20 4d 6f 64 65 6c 4d 65 73 73 61 67 | ...let.coreMessages:.ModelMessag |
| ba00 | 65 5b 5d 20 3d 20 5b 0a 09 09 09 09 09 73 79 73 74 65 6d 4d 65 73 73 61 67 65 2c 0a 09 09 09 09 | e[].=.[......systemMessage,..... |
| ba20 | 09 2e 2e 2e 74 6f 4d 6f 64 65 6c 4d 65 73 73 61 67 65 73 28 73 74 65 70 4d 65 73 73 61 67 65 73 | ....toModelMessages(stepMessages |
| ba40 | 2c 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 29 2c 0a 09 09 09 09 5d 3b 0a 0a 09 09 09 09 2f 2f | ,.isClaudeOAuth),.....];......// |
| ba60 | 20 41 70 70 6c 79 20 70 72 6f 76 69 64 65 72 2d 73 70 65 63 69 66 69 63 20 73 74 72 75 63 74 75 | .Apply.provider-specific.structu |
| ba80 | 72 61 6c 20 6e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 73 20 62 65 66 6f 72 65 0a 09 09 09 09 2f 2f | ral.normalisations.before.....// |
| baa0 | 20 73 65 6e 64 69 6e 67 2e 20 41 6e 74 68 72 6f 70 69 63 20 61 6e 64 20 6f 70 65 6e 61 69 2d 63 | .sending..Anthropic.and.openai-c |
| bac0 | 6f 6d 70 61 74 69 62 6c 65 20 70 61 74 68 73 20 65 61 63 68 20 68 61 76 65 0a 09 09 09 09 2f 2f | ompatible.paths.each.have.....// |
| bae0 | 20 74 68 65 69 72 20 6f 77 6e 20 6d 65 73 73 61 67 65 2d 73 68 61 70 65 20 72 65 71 75 69 72 65 | .their.own.message-shape.require |
| bb00 | 6d 65 6e 74 73 3b 20 74 68 65 20 74 77 6f 20 70 61 73 73 65 73 20 61 72 65 0a 09 09 09 09 2f 2f | ments;.the.two.passes.are.....// |
| bb20 | 20 6d 75 74 75 61 6c 6c 79 20 65 78 63 6c 75 73 69 76 65 2e 0a 09 09 09 09 69 66 20 28 75 73 65 | .mutually.exclusive......if.(use |
| bb40 | 73 41 6e 74 68 72 6f 70 69 63 53 44 4b 29 20 7b 0a 09 09 09 09 09 63 6f 72 65 4d 65 73 73 61 67 | sAnthropicSDK).{......coreMessag |
| bb60 | 65 73 20 3d 20 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 53 74 72 75 63 74 75 72 61 6c 4e 6f 72 | es.=.applyAnthropicStructuralNor |
| bb80 | 6d 61 6c 69 73 61 74 69 6f 6e 73 28 63 6f 72 65 4d 65 73 73 61 67 65 73 29 3b 0a 09 09 09 09 09 | malisations(coreMessages);...... |
| bba0 | 61 70 70 6c 79 41 6e 74 68 72 6f 70 69 63 43 61 63 68 69 6e 67 28 63 6f 72 65 4d 65 73 73 61 67 | applyAnthropicCaching(coreMessag |
| bbc0 | 65 73 29 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 63 6f 72 65 4d 65 73 73 61 | es);.....}.else.{......coreMessa |
| bbe0 | 67 65 73 20 3d 20 61 70 70 6c 79 4f 70 65 6e 41 49 43 6f 6d 70 61 74 69 62 6c 65 52 65 61 73 6f | ges.=.applyOpenAICompatibleReaso |
| bc00 | 6e 69 6e 67 4e 6f 72 6d 61 6c 69 73 61 74 69 6f 6e 28 63 6f 72 65 4d 65 73 73 61 67 65 73 29 3b | ningNormalisation(coreMessages); |
| bc20 | 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 42 75 69 6c 64 20 74 68 65 20 72 65 71 75 65 73 74 | .....}......//.Build.the.request |
| bc40 | 27 73 20 73 74 72 65 61 6d 20 6f 70 74 69 6f 6e 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 53 48 | 's.stream.options.through.the.SH |
| bc60 | 41 52 45 44 20 68 65 6c 70 65 72 20 73 6f 0a 09 09 09 09 2f 2f 20 74 68 65 20 63 61 63 68 65 2d | ARED.helper.so.....//.the.cache- |
| bc80 | 61 66 66 65 63 74 69 6e 67 20 70 61 72 61 6d 65 74 65 72 73 20 28 74 6f 6f 6c 43 68 6f 69 63 65 | affecting.parameters.(toolChoice |
| bca0 | 2c 20 74 68 69 6e 6b 69 6e 67 0a 09 09 09 09 2f 2f 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e | ,.thinking.....//.providerOption |
| bcc0 | 73 2c 20 6d 61 78 4f 75 74 70 75 74 54 6f 6b 65 6e 73 29 20 61 72 65 20 62 79 74 65 2d 69 64 65 | s,.maxOutputTokens).are.byte-ide |
| bce0 | 6e 74 69 63 61 6c 20 74 6f 20 77 68 61 74 20 74 68 65 0a 09 09 09 09 2f 2f 20 69 64 6c 65 20 63 | ntical.to.what.the.....//.idle.c |
| bd00 | 61 63 68 65 2d 77 61 72 6d 69 6e 67 20 72 65 70 6c 61 79 20 73 65 6e 64 73 2e 20 41 6e 79 20 64 | ache-warming.replay.sends..Any.d |
| bd20 | 72 69 66 74 20 68 65 72 65 20 77 6f 75 6c 64 20 73 70 6c 69 74 20 74 68 65 0a 09 09 09 09 2f 2f | rift.here.would.split.the.....// |
| bd40 | 20 41 6e 74 68 72 6f 70 69 63 20 6d 65 73 73 61 67 65 20 63 61 63 68 65 20 69 6e 74 6f 20 74 77 | .Anthropic.message.cache.into.tw |
| bd60 | 6f 20 62 75 63 6b 65 74 73 20 28 73 65 65 20 62 75 69 6c 64 53 74 72 65 61 6d 4f 70 74 69 6f 6e | o.buckets.(see.buildStreamOption |
| bd80 | 73 0a 09 09 09 09 2f 2f 20 2b 20 41 67 65 6e 74 2e 77 61 72 6d 43 61 63 68 65 29 2e 0a 09 09 09 | s.....//.+.Agent.warmCache)..... |
| bda0 | 09 63 6f 6e 73 74 20 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 20 3d 20 74 68 69 73 2e 62 75 69 6c | .const.streamOptions.=.this.buil |
| bdc0 | 64 53 74 72 65 61 6d 4f 70 74 69 6f 6e 73 28 7b 0a 09 09 09 09 09 6d 6f 64 65 6c 2c 0a 09 09 09 | dStreamOptions({......model,.... |
| bde0 | 09 09 63 6f 72 65 4d 65 73 73 61 67 65 73 2c 0a 09 09 09 09 09 74 6f 6f 6c 73 2c 0a 09 09 09 09 | ..coreMessages,......tools,..... |
| be00 | 09 69 73 43 6c 61 75 64 65 4f 41 75 74 68 2c 0a 09 09 09 09 09 75 73 65 73 41 6e 74 68 72 6f 70 | .isClaudeOAuth,......usesAnthrop |
| be20 | 69 63 53 44 4b 2c 0a 09 09 09 09 09 65 66 66 6f 72 74 2c 0a 09 09 09 09 09 61 62 6f 72 74 53 69 | icSDK,......effort,......abortSi |
| be40 | 67 6e 61 6c 3a 20 6f 70 74 69 6f 6e 73 3f 2e 61 62 6f 72 74 53 69 67 6e 61 6c 2c 0a 09 09 09 09 | gnal:.options?.abortSignal,..... |
| be60 | 7d 29 3b 0a 0a 09 09 09 09 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 73 74 72 65 61 6d 54 65 | });......const.result.=.streamTe |
| be80 | 78 74 28 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 29 3b 0a 0a 09 09 09 09 2f 2f 20 50 65 72 2d 73 | xt(streamOptions);......//.Per-s |
| bea0 | 74 65 70 20 74 6f 6f 6c 2d 63 61 6c 6c 20 74 72 61 63 6b 69 6e 67 20 e2 80 94 20 6e 65 65 64 65 | tep.tool-call.tracking.....neede |
| bec0 | 64 20 62 65 63 61 75 73 65 20 77 65 20 6f 6e 6c 79 20 6c 6f 6f 70 20 62 61 63 6b 0a 09 09 09 09 | d.because.we.only.loop.back..... |
| bee0 | 2f 2f 20 74 6f 20 74 68 65 20 4c 4c 4d 20 69 66 20 74 68 69 73 20 73 74 65 70 20 70 72 6f 64 75 | //.to.the.LLM.if.this.step.produ |
| bf00 | 63 65 64 20 74 6f 6f 6c 20 63 61 6c 6c 73 2e 20 54 68 65 20 61 63 74 75 61 6c 20 63 68 75 6e 6b | ced.tool.calls..The.actual.chunk |
| bf20 | 0a 09 09 09 09 2f 2f 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 20 74 75 72 6e 20 6c 69 76 65 73 | .....//.state.for.the.turn.lives |
| bf40 | 20 69 6e 20 60 63 68 75 6e 6b 73 60 2e 0a 09 09 09 09 63 6f 6e 73 74 20 73 74 65 70 54 6f 6f 6c | .in.`chunks`......const.stepTool |
| bf60 | 43 61 6c 6c 73 3a 20 54 6f 6f 6c 43 61 6c 6c 5b 5d 20 3d 20 5b 5d 3b 0a 0a 09 09 09 09 2f 2f 20 | Calls:.ToolCall[].=.[];......//. |
| bf80 | 45 6e 73 75 72 65 20 77 65 20 68 61 76 65 20 61 6e 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 | Ensure.we.have.an.assistant.mess |
| bfa0 | 61 67 65 20 69 6e 20 73 74 65 70 4d 65 73 73 61 67 65 73 20 77 68 6f 73 65 0a 09 09 09 09 2f 2f | age.in.stepMessages.whose.....// |
| bfc0 | 20 60 63 68 75 6e 6b 73 60 20 72 65 66 65 72 65 6e 63 65 20 69 73 20 73 68 61 72 65 64 20 77 69 | .`chunks`.reference.is.shared.wi |
| bfe0 | 74 68 20 6f 75 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 2e 20 4f 6e 6c 79 20 70 75 73 68 0a 09 09 | th.our.accumulator..Only.push... |
| c000 | 09 09 2f 2f 20 6f 6e 63 65 3b 20 73 75 62 73 65 71 75 65 6e 74 20 73 74 65 70 73 20 6d 75 74 61 | ..//.once;.subsequent.steps.muta |
| c020 | 74 65 20 74 68 65 20 73 61 6d 65 20 63 68 75 6e 6b 73 20 61 72 72 61 79 2e 0a 09 09 09 09 69 66 | te.the.same.chunks.array......if |
| c040 | 20 28 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 20 3d 3d 3d 20 6e 75 6c 6c 29 | .(assistantTurnMessage.===.null) |
| c060 | 20 7b 0a 09 09 09 09 09 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 20 3d 20 7b | .{......assistantTurnMessage.=.{ |
| c080 | 20 72 6f 6c 65 3a 20 22 61 73 73 69 73 74 61 6e 74 22 2c 20 63 68 75 6e 6b 73 20 7d 3b 0a 09 09 | .role:."assistant",.chunks.};... |
| c0a0 | 09 09 09 73 74 65 70 4d 65 73 73 61 67 65 73 2e 70 75 73 68 28 61 73 73 69 73 74 61 6e 74 54 75 | ...stepMessages.push(assistantTu |
| c0c0 | 72 6e 4d 65 73 73 61 67 65 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 55 6e 65 78 70 65 | rnMessage);.....}......//.Unexpe |
| c0e0 | 63 74 65 64 20 73 74 72 65 61 6d 20 65 72 72 6f 72 73 20 70 72 6f 70 61 67 61 74 65 20 75 70 20 | cted.stream.errors.propagate.up. |
| c100 | 74 6f 20 74 68 65 20 6f 75 74 65 72 20 74 72 79 2f 63 61 74 63 68 0a 09 09 09 09 2f 2f 20 69 6e | to.the.outer.try/catch.....//.in |
| c120 | 20 60 72 75 6e 28 29 60 2c 20 77 68 69 63 68 20 66 6f 72 6d 61 74 73 20 74 68 65 6d 20 61 6e 64 | .`run()`,.which.formats.them.and |
| c140 | 20 74 72 61 6e 73 69 74 69 6f 6e 73 20 74 68 65 20 61 67 65 6e 74 20 74 6f 0a 09 09 09 09 2f 2f | .transitions.the.agent.to.....// |
| c160 | 20 74 68 65 20 22 65 72 72 6f 72 22 20 73 74 61 74 75 73 2e 20 54 68 65 20 41 49 20 53 44 4b 20 | .the."error".status..The.AI.SDK. |
| c180 | 76 36 20 73 75 72 66 61 63 65 73 20 75 6e 61 76 61 69 6c 61 62 6c 65 2d 74 6f 6f 6c 0a 09 09 09 | v6.surfaces.unavailable-tool.... |
| c1a0 | 09 2f 2f 20 63 61 6c 6c 73 20 61 73 20 6e 61 74 69 76 65 20 60 74 6f 6f 6c 2d 65 72 72 6f 72 60 | .//.calls.as.native.`tool-error` |
| c1c0 | 20 73 74 72 65 61 6d 20 65 76 65 6e 74 73 20 28 68 61 6e 64 6c 65 64 20 62 65 6c 6f 77 29 2c 0a | .stream.events.(handled.below),. |
| c1e0 | 09 09 09 09 2f 2f 20 73 6f 20 74 68 65 72 65 27 73 20 6e 6f 20 4e 6f 53 75 63 68 54 6f 6f 6c 45 | ....//.so.there's.no.NoSuchToolE |
| c200 | 72 72 6f 72 20 74 6f 20 63 61 74 63 68 20 68 65 72 65 2e 0a 09 09 09 09 66 6f 72 20 61 77 61 69 | rror.to.catch.here......for.awai |
| c220 | 74 20 28 63 6f 6e 73 74 20 65 76 65 6e 74 20 6f 66 20 72 65 73 75 6c 74 2e 66 75 6c 6c 53 74 72 | t.(const.event.of.result.fullStr |
| c240 | 65 61 6d 29 20 7b 0a 09 09 09 09 09 6c 6f 67 53 74 72 65 61 6d 45 76 65 6e 74 28 7b 0a 09 09 09 | eam).{......logStreamEvent({.... |
| c260 | 09 09 09 72 65 71 75 65 73 74 49 64 3a 20 64 65 62 75 67 52 65 71 49 64 2c 0a 09 09 09 09 09 09 | ...requestId:.debugReqId,....... |
| c280 | 73 74 65 70 2c 0a 09 09 09 09 09 09 65 76 65 6e 74 54 79 70 65 3a 20 65 76 65 6e 74 2e 74 79 70 | step,.......eventType:.event.typ |
| c2a0 | 65 2c 0a 09 09 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 | e,.......tabId:.this.config.tabI |
| c2c0 | 64 2c 0a 09 09 09 09 09 7d 29 3b 0a 09 09 09 09 09 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 | d,......});......if.(event.type. |
| c2e0 | 3d 3d 3d 20 22 74 65 78 74 2d 64 65 6c 74 61 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 36 3a | ===."text-delta").{.......//.v6: |
| c300 | 20 74 65 78 74 2d 64 65 6c 74 61 20 63 61 72 72 69 65 73 20 60 74 65 78 74 60 20 28 6e 6f 74 20 | .text-delta.carries.`text`.(not. |
| c320 | 60 74 65 78 74 44 65 6c 74 61 60 29 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 69 6e 74 65 72 6e 61 | `textDelta`).......const.interna |
| c340 | 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 74 79 | lEvent:.AgentEvent.=.{........ty |
| c360 | 70 65 3a 20 22 74 65 78 74 2d 64 65 6c 74 61 22 2c 0a 09 09 09 09 09 09 09 64 65 6c 74 61 3a 20 | pe:."text-delta",........delta:. |
| c380 | 65 76 65 6e 74 2e 74 65 78 74 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e | event.text,.......};.......appen |
| c3a0 | 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 69 6e 74 65 72 6e 61 6c 45 | dEventToChunks(chunks,.internalE |
| c3c0 | 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 | vent);.......yield.internalEvent |
| c3e0 | 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d | ;......}.else.if.(event.type.=== |
| c400 | 20 22 72 65 61 73 6f 6e 69 6e 67 2d 64 65 6c 74 61 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 | ."reasoning-delta").{.......//.v |
| c420 | 36 20 6e 65 77 20 65 76 65 6e 74 3a 20 72 65 61 73 6f 6e 69 6e 67 2d 64 65 6c 74 61 20 63 61 72 | 6.new.event:.reasoning-delta.car |
| c440 | 72 69 65 73 20 60 74 65 78 74 60 20 28 6e 6f 74 20 60 74 65 78 74 44 65 6c 74 61 60 29 0a 09 09 | ries.`text`.(not.`textDelta`)... |
| c460 | 09 09 09 09 63 6f 6e 73 74 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 | ....const.internalEvent:.AgentEv |
| c480 | 65 6e 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 2d | ent.=.{........type:."reasoning- |
| c4a0 | 64 65 6c 74 61 22 2c 0a 09 09 09 09 09 09 09 64 65 6c 74 61 3a 20 65 76 65 6e 74 2e 74 65 78 74 | delta",........delta:.event.text |
| c4c0 | 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 | ,.......};.......appendEventToCh |
| c4e0 | 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 29 3b 0a 09 09 09 | unks(chunks,.internalEvent);.... |
| c500 | 09 09 09 79 69 65 6c 64 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 7d 20 65 | ...yield.internalEvent;......}.e |
| c520 | 6c 73 65 20 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 72 65 61 73 6f 6e 69 6e | lse.if.(event.type.===."reasonin |
| c540 | 67 2d 65 6e 64 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 4f 6e 6c 79 20 65 6d 69 74 20 77 68 65 | g-end").{.......//.Only.emit.whe |
| c560 | 6e 20 70 72 6f 76 69 64 65 72 4d 65 74 61 64 61 74 61 20 69 73 20 70 72 65 73 65 6e 74 20 e2 80 | n.providerMetadata.is.present... |
| c580 | 94 20 6e 6f 6e 2d 41 6e 74 68 72 6f 70 69 63 0a 09 09 09 09 09 09 2f 2f 20 6d 6f 64 65 6c 73 20 | ..non-Anthropic.......//.models. |
| c5a0 | 73 65 6e 64 20 72 65 61 73 6f 6e 69 6e 67 2d 65 6e 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 6d | send.reasoning-end.without.any.m |
| c5c0 | 65 74 61 64 61 74 61 20 74 6f 20 72 6f 75 6e 64 2d 74 72 69 70 2e 0a 09 09 09 09 09 09 2f 2f 20 | etadata.to.round-trip........//. |
| c5e0 | 41 6e 74 68 72 6f 70 69 63 27 73 20 73 69 67 6e 61 74 75 72 65 20 6c 69 76 65 73 20 69 6e 73 69 | Anthropic's.signature.lives.insi |
| c600 | 64 65 20 70 72 6f 76 69 64 65 72 4d 65 74 61 64 61 74 61 20 61 73 0a 09 09 09 09 09 09 2f 2f 20 | de.providerMetadata.as.......//. |
| c620 | 7b 20 61 6e 74 68 72 6f 70 69 63 3a 20 7b 20 73 69 67 6e 61 74 75 72 65 3a 20 22 2e 2e 2e 22 20 | {.anthropic:.{.signature:."...". |
| c640 | 7d 20 7d 2e 0a 09 09 09 09 09 09 69 66 20 28 65 76 65 6e 74 2e 70 72 6f 76 69 64 65 72 4d 65 74 | }.}........if.(event.providerMet |
| c660 | 61 64 61 74 61 20 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 7b 0a 09 09 09 09 09 09 09 63 6f | adata.!==.undefined).{........co |
| c680 | 6e 73 74 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 | nst.internalEvent:.AgentEvent.=. |
| c6a0 | 7b 0a 09 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 2d 65 6e 64 22 2c | {.........type:."reasoning-end", |
| c6c0 | 0a 09 09 09 09 09 09 09 09 6d 65 74 61 64 61 74 61 3a 20 65 76 65 6e 74 2e 70 72 6f 76 69 64 65 | .........metadata:.event.provide |
| c6e0 | 72 4d 65 74 61 64 61 74 61 20 61 73 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b 6e | rMetadata.as.Record<string,.unkn |
| c700 | 6f 77 6e 3e 2c 0a 09 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 | own>,........};........appendEve |
| c720 | 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 | ntToChunks(chunks,.internalEvent |
| c740 | 29 3b 0a 09 09 09 09 09 09 09 79 69 65 6c 64 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3b 0a 09 | );........yield.internalEvent;.. |
| c760 | 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 65 76 65 6e 74 2e 74 79 70 | .....}......}.else.if.(event.typ |
| c780 | 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 36 | e.===."tool-call").{.......//.v6 |
| c7a0 | 3a 20 74 6f 6f 6c 20 63 61 6c 6c 20 69 6e 70 75 74 20 69 73 20 69 6e 20 60 69 6e 70 75 74 60 20 | :.tool.call.input.is.in.`input`. |
| c7c0 | 28 6e 6f 74 20 60 61 72 67 73 60 29 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 72 61 77 4e 61 6d 65 | (not.`args`).......const.rawName |
| c7e0 | 20 3d 20 65 76 65 6e 74 2e 74 6f 6f 6c 4e 61 6d 65 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 74 | .=.event.toolName;.......const.t |
| c800 | 6f 6f 6c 4e 61 6d 65 20 3d 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 3f 20 75 6e 70 72 65 66 | oolName.=.isClaudeOAuth.?.unpref |
| c820 | 69 78 54 6f 6f 6c 4e 61 6d 65 28 72 61 77 4e 61 6d 65 29 20 3a 20 72 61 77 4e 61 6d 65 3b 0a 09 | ixToolName(rawName).:.rawName;.. |
| c840 | 09 09 09 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 43 61 6c 6c 3a 20 54 6f 6f 6c 43 61 6c 6c 20 3d 20 | .....const.toolCall:.ToolCall.=. |
| c860 | 7b 0a 09 09 09 09 09 09 09 69 64 3a 20 65 76 65 6e 74 2e 74 6f 6f 6c 43 61 6c 6c 49 64 2c 0a 09 | {........id:.event.toolCallId,.. |
| c880 | 09 09 09 09 09 09 6e 61 6d 65 3a 20 74 6f 6f 6c 4e 61 6d 65 2c 0a 09 09 09 09 09 09 09 61 72 67 | ......name:.toolName,........arg |
| c8a0 | 75 6d 65 6e 74 73 3a 20 65 76 65 6e 74 2e 69 6e 70 75 74 20 61 73 20 52 65 63 6f 72 64 3c 73 74 | uments:.event.input.as.Record<st |
| c8c0 | 72 69 6e 67 2c 20 75 6e 6b 6e 6f 77 6e 3e 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 73 | ring,.unknown>,.......};.......s |
| c8e0 | 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 70 75 73 68 28 74 6f 6f 6c 43 61 6c 6c 29 3b 0a 09 09 09 | tepToolCalls.push(toolCall);.... |
| c900 | 09 09 09 63 6f 6e 73 74 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 | ...const.internalEvent:.AgentEve |
| c920 | 6e 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 2c 20 74 6f 6f 6c 43 61 | nt.=.{.type:."tool-call",.toolCa |
| c940 | 6c 6c 20 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 | ll.};.......appendEventToChunks( |
| c960 | 63 68 75 6e 6b 73 2c 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 | chunks,.internalEvent);.......yi |
| c980 | 65 6c 64 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 | eld.internalEvent;......}.else.i |
| c9a0 | 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 65 72 72 6f 72 22 29 20 | f.(event.type.===."tool-error"). |
| c9c0 | 7b 0a 09 09 09 09 09 09 2f 2f 20 54 68 65 20 6d 6f 64 65 6c 20 63 61 6c 6c 65 64 20 61 20 74 6f | {.......//.The.model.called.a.to |
| c9e0 | 6f 6c 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 28 6f 72 20 61 0a 09 09 09 09 | ol.that.doesn't.exist.(or.a..... |
| ca00 | 09 09 2f 2f 20 70 72 6f 76 69 64 65 72 2d 65 78 65 63 75 74 65 64 20 2f 20 73 65 72 76 65 72 20 | ..//.provider-executed./.server. |
| ca20 | 74 6f 6f 6c 20 66 61 69 6c 65 64 29 2e 20 54 68 65 20 41 49 20 53 44 4b 20 76 36 0a 09 09 09 09 | tool.failed)..The.AI.SDK.v6..... |
| ca40 | 09 09 2f 2f 20 65 6d 69 74 73 20 74 68 69 73 20 61 73 20 61 20 6e 61 74 69 76 65 20 73 74 72 65 | ..//.emits.this.as.a.native.stre |
| ca60 | 61 6d 20 65 76 65 6e 74 20 63 61 72 72 79 69 6e 67 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 6f | am.event.carrying.the.......//.o |
| ca80 | 72 69 67 69 6e 61 6c 20 74 6f 6f 6c 20 6e 61 6d 65 2e 20 46 6f 72 77 61 72 64 20 62 6f 74 68 20 | riginal.tool.name..Forward.both. |
| caa0 | 61 20 73 79 6e 74 68 65 74 69 63 0a 09 09 09 09 09 09 2f 2f 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 | a.synthetic.......//.tool-result |
| cac0 | 20 28 73 6f 20 74 68 65 20 74 6f 6f 6c 2d 62 61 74 63 68 20 65 6e 74 72 79 20 74 68 65 20 6d 6f | .(so.the.tool-batch.entry.the.mo |
| cae0 | 64 65 6c 20 65 78 70 65 63 74 73 0a 09 09 09 09 09 09 2f 2f 20 68 61 73 20 61 6e 20 60 69 73 45 | del.expects.......//.has.an.`isE |
| cb00 | 72 72 6f 72 3a 20 74 72 75 65 60 20 72 65 73 75 6c 74 29 20 61 6e 64 20 61 6e 20 65 72 72 6f 72 | rror:.true`.result).and.an.error |
| cb20 | 20 63 68 75 6e 6b 20 66 6f 72 0a 09 09 09 09 09 09 2f 2f 20 76 69 73 69 62 69 6c 69 74 79 20 e2 | .chunk.for.......//.visibility.. |
| cb40 | 80 94 20 77 69 74 68 6f 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 65 20 6d 6f 64 65 6c 20 | ...without.the.result.the.model. |
| cb60 | 77 6f 75 6c 64 0a 09 09 09 09 09 09 2f 2f 20 73 69 6c 65 6e 74 6c 79 20 77 61 69 74 20 66 6f 72 | would.......//.silently.wait.for |
| cb80 | 20 6f 6e 65 20 74 68 61 74 20 6e 65 76 65 72 20 61 72 72 69 76 65 73 2e 0a 09 09 09 09 09 09 63 | .one.that.never.arrives........c |
| cba0 | 6f 6e 73 74 20 65 76 74 20 3d 20 65 76 65 6e 74 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 61 73 20 7b | onst.evt.=.event.as.unknown.as.{ |
| cbc0 | 0a 09 09 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 09 | ........toolCallId:.string;..... |
| cbe0 | 09 09 09 74 6f 6f 6c 4e 61 6d 65 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 09 09 09 09 65 72 72 6f | ...toolName:.string;........erro |
| cc00 | 72 3a 20 75 6e 6b 6e 6f 77 6e 3b 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 | r:.unknown;.......};.......const |
| cc20 | 20 74 6f 6f 6c 4e 61 6d 65 20 3d 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 3f 20 75 6e 70 72 | .toolName.=.isClaudeOAuth.?.unpr |
| cc40 | 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 28 65 76 74 2e 74 6f 6f 6c 4e 61 6d 65 29 20 3a 20 65 76 74 | efixToolName(evt.toolName).:.evt |
| cc60 | 2e 74 6f 6f 6c 4e 61 6d 65 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 4d 65 73 73 61 67 | .toolName;.......const.errMessag |
| cc80 | 65 20 3d 20 65 76 74 2e 65 72 72 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 20 3f | e.=.evt.error.instanceof.Error.? |
| cca0 | 20 65 76 74 2e 65 72 72 6f 72 2e 6d 65 73 73 61 67 65 20 3a 20 53 74 72 69 6e 67 28 65 76 74 2e | .evt.error.message.:.String(evt. |
| ccc0 | 65 72 72 6f 72 29 3b 0a 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 74 72 45 76 65 6e 74 3a 20 41 67 | error);........const.trEvent:.Ag |
| cce0 | 65 6e 74 45 76 65 6e 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 74 6f 6f 6c 2d | entEvent.=.{........type:."tool- |
| cd00 | 72 65 73 75 6c 74 22 2c 0a 09 09 09 09 09 09 09 74 6f 6f 6c 52 65 73 75 6c 74 3a 20 7b 0a 09 09 | result",........toolResult:.{... |
| cd20 | 09 09 09 09 09 09 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 65 76 74 2e 74 6f 6f 6c 43 61 6c 6c 49 64 | ......toolCallId:.evt.toolCallId |
| cd40 | 2c 0a 09 09 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 2c 0a 09 09 09 09 09 09 09 09 72 65 73 75 | ,.........toolName,.........resu |
| cd60 | 6c 74 3a 20 60 45 72 72 6f 72 3a 20 24 7b 65 72 72 4d 65 73 73 61 67 65 7d 60 2c 0a 09 09 09 09 | lt:.`Error:.${errMessage}`,..... |
| cd80 | 09 09 09 09 69 73 45 72 72 6f 72 3a 20 74 72 75 65 2c 0a 09 09 09 09 09 09 09 7d 2c 0a 09 09 09 | ....isError:.true,........},.... |
| cda0 | 09 09 09 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 | ...};.......appendEventToChunks( |
| cdc0 | 63 68 75 6e 6b 73 2c 20 74 72 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 74 72 | chunks,.trEvent);.......yield.tr |
| cde0 | 45 76 65 6e 74 3b 0a 0a 09 09 09 09 09 09 2f 2f 20 45 6d 69 74 20 61 6e 20 65 72 72 6f 72 20 63 | Event;........//.Emit.an.error.c |
| ce00 | 68 75 6e 6b 20 66 6f 72 20 76 69 73 69 62 69 6c 69 74 79 2c 20 62 75 74 20 64 6f 20 4e 4f 54 20 | hunk.for.visibility,.but.do.NOT. |
| ce20 | 73 65 74 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 61 67 65 6e 74 20 73 74 61 74 75 73 20 74 6f | set.the.......//.agent.status.to |
| ce40 | 20 22 65 72 72 6f 72 22 20 e2 80 94 20 74 68 65 20 73 74 65 70 20 63 6f 6e 74 69 6e 75 65 73 20 | ."error".....the.step.continues. |
| ce60 | 61 6e 64 20 6c 6f 6f 70 73 0a 09 09 09 09 09 09 2f 2f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 4c | and.loops.......//.back.to.the.L |
| ce80 | 4c 4d 20 6e 6f 72 6d 61 6c 6c 79 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 | LM.normally........const.errorMs |
| cea0 | 67 20 3d 20 66 6f 72 6d 61 74 45 72 72 6f 72 28 65 76 74 2e 65 72 72 6f 72 2c 20 74 68 69 73 2e | g.=.formatError(evt.error,.this. |
| cec0 | 63 6f 6e 66 69 67 29 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 43 68 75 6e 6b 45 76 65 | config);.......const.errChunkEve |
| cee0 | 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 65 72 72 6f 72 22 | nt:.AgentEvent.=.{.type:."error" |
| cf00 | 2c 20 65 72 72 6f 72 3a 20 65 72 72 6f 72 4d 73 67 20 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e | ,.error:.errorMsg.};.......appen |
| cf20 | 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 65 72 72 43 68 75 6e 6b 45 | dEventToChunks(chunks,.errChunkE |
| cf40 | 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 65 72 72 43 68 75 6e 6b 45 76 65 6e 74 | vent);.......yield.errChunkEvent |
| cf60 | 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 65 | ;.......break;......}.else.if.(e |
| cf80 | 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 61 62 6f 72 74 22 29 20 7b 0a 09 09 09 09 09 09 2f | vent.type.===."abort").{......./ |
| cfa0 | 2f 20 53 74 72 65 61 6d 20 61 62 6f 72 74 65 64 20 75 70 73 74 72 65 61 6d 2e 20 53 75 72 66 61 | /.Stream.aborted.upstream..Surfa |
| cfc0 | 63 65 20 61 73 20 61 6e 20 65 72 72 6f 72 20 73 6f 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 66 | ce.as.an.error.so.the.......//.f |
| cfe0 | 72 6f 6e 74 65 6e 64 20 74 61 62 20 74 72 61 6e 73 69 74 69 6f 6e 73 20 6f 75 74 20 6f 66 20 60 | rontend.tab.transitions.out.of.` |
| d000 | 72 75 6e 6e 69 6e 67 60 2e 20 57 65 20 64 6f 6e 27 74 0a 09 09 09 09 09 09 2f 2f 20 63 75 72 72 | running`..We.don't.......//.curr |
| d020 | 65 6e 74 6c 79 20 63 61 6c 6c 20 61 62 6f 72 74 43 6f 6e 74 72 6f 6c 6c 65 72 2e 61 62 6f 72 74 | ently.call.abortController.abort |
| d040 | 28 29 20 6f 75 72 73 65 6c 76 65 73 2c 20 73 6f 0a 09 09 09 09 09 09 2f 2f 20 74 68 69 73 20 77 | ().ourselves,.so.......//.this.w |
| d060 | 6f 75 6c 64 20 6f 6e 6c 79 20 66 69 72 65 20 66 72 6f 6d 20 65 78 74 65 72 6e 61 6c 20 73 69 67 | ould.only.fire.from.external.sig |
| d080 | 6e 61 6c 20 70 72 6f 70 61 67 61 74 69 6f 6e 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 72 65 61 | nal.propagation........const.rea |
| d0a0 | 73 6f 6e 20 3d 0a 09 09 09 09 09 09 09 74 79 70 65 6f 66 20 28 65 76 65 6e 74 20 61 73 20 7b 20 | son.=........typeof.(event.as.{. |
| d0c0 | 72 65 61 73 6f 6e 3f 3a 20 75 6e 6b 6e 6f 77 6e 20 7d 29 2e 72 65 61 73 6f 6e 20 3d 3d 3d 20 22 | reason?:.unknown.}).reason.===." |
| d0e0 | 73 74 72 69 6e 67 22 0a 09 09 09 09 09 09 09 09 3f 20 28 65 76 65 6e 74 20 61 73 20 7b 20 72 65 | string".........?.(event.as.{.re |
| d100 | 61 73 6f 6e 3a 20 73 74 72 69 6e 67 20 7d 29 2e 72 65 61 73 6f 6e 0a 09 09 09 09 09 09 09 09 3a | ason:.string.}).reason.........: |
| d120 | 20 22 73 74 72 65 61 6d 20 61 62 6f 72 74 65 64 22 3b 0a 09 09 09 09 09 09 2f 2f 20 46 69 6c 6c | ."stream.aborted";.......//.Fill |
| d140 | 20 69 6e 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 66 6f 72 20 61 6e 79 20 75 6e 72 65 73 6f | .in.error.results.for.any.unreso |
| d160 | 6c 76 65 64 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 73 6f 0a 09 09 09 09 09 09 2f 2f 20 74 68 65 20 | lved.tool.calls.so.......//.the. |
| d180 | 6f 72 70 68 61 6e 65 64 20 74 6f 6f 6c 2d 63 61 6c 6c 20 49 44 73 20 64 6f 6e 27 74 20 74 72 69 | orphaned.tool-call.IDs.don't.tri |
| d1a0 | 67 67 65 72 20 61 0a 09 09 09 09 09 09 2f 2f 20 4d 69 73 73 69 6e 67 54 6f 6f 6c 52 65 73 75 6c | gger.a.......//.MissingToolResul |
| d1c0 | 74 73 45 72 72 6f 72 20 69 66 20 74 68 69 73 20 68 69 73 74 6f 72 79 20 69 73 20 65 76 65 72 20 | tsError.if.this.history.is.ever. |
| d1e0 | 72 65 70 6c 61 79 65 64 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 61 62 6f 72 74 52 65 73 69 64 | replayed........const.abortResid |
| d200 | 75 61 6c 20 3d 20 74 68 69 73 2e 73 79 6e 74 68 65 73 69 7a 65 52 65 73 69 64 75 61 6c 54 6f 6f | ual.=.this.synthesizeResidualToo |
| d220 | 6c 52 65 73 75 6c 74 73 28 0a 09 09 09 09 09 09 09 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2c 0a | lResults(........stepToolCalls,. |
| d240 | 09 09 09 09 09 09 09 63 68 75 6e 6b 73 2c 0a 09 09 09 09 09 09 09 60 45 72 72 6f 72 3a 20 53 74 | .......chunks,........`Error:.St |
| d260 | 72 65 61 6d 20 77 61 73 20 61 62 6f 72 74 65 64 3a 20 24 7b 72 65 61 73 6f 6e 7d 60 2c 0a 09 09 | ream.was.aborted:.${reason}`,... |
| d280 | 09 09 09 09 29 3b 0a 09 09 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 72 20 6f 66 20 61 62 6f | ....);.......for.(const.r.of.abo |
| d2a0 | 72 74 52 65 73 69 64 75 61 6c 29 20 7b 0a 09 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 | rtResidual).{........appendEvent |
| d2c0 | 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 72 29 3b 0a 09 09 09 09 09 09 09 79 69 65 6c | ToChunks(chunks,.r);........yiel |
| d2e0 | 64 20 72 3b 0a 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d | d.r;.......}........const.errorM |
| d300 | 73 67 20 3d 20 66 6f 72 6d 61 74 45 72 72 6f 72 28 6e 65 77 20 45 72 72 6f 72 28 72 65 61 73 6f | sg.=.formatError(new.Error(reaso |
| d320 | 6e 29 2c 20 74 68 69 73 2e 63 6f 6e 66 69 67 29 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 69 6e | n),.this.config);.......const.in |
| d340 | 74 65 72 6e 61 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b 20 74 79 70 65 | ternalEvent:.AgentEvent.=.{.type |
| d360 | 3a 20 22 65 72 72 6f 72 22 2c 20 65 72 72 6f 72 3a 20 65 72 72 6f 72 4d 73 67 20 7d 3b 0a 09 09 | :."error",.error:.errorMsg.};... |
| d380 | 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 | ....appendEventToChunks(chunks,. |
| d3a0 | 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 69 6e 74 65 | internalEvent);.......yield.inte |
| d3c0 | 72 6e 61 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 | rnalEvent;.......this.status.=." |
| d3e0 | 65 72 72 6f 72 22 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 73 74 61 | error";.......yield.{.type:."sta |
| d400 | 74 75 73 22 2c 20 73 74 61 74 75 73 3a 20 22 65 72 72 6f 72 22 20 7d 3b 0a 09 09 09 09 09 09 72 | tus",.status:."error".};.......r |
| d420 | 65 74 75 72 6e 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 65 76 65 6e 74 2e 74 79 70 | eturn;......}.else.if.(event.typ |
| d440 | 65 20 3d 3d 3d 20 22 65 72 72 6f 72 22 29 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 | e.===."error").{.......const.err |
| d460 | 52 65 63 6f 72 64 20 3d 20 65 76 65 6e 74 2e 65 72 72 6f 72 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 | Record.=.event.error.as.unknown. |
| d480 | 61 73 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b 6e 6f 77 6e 3e 3b 0a 09 09 09 09 | as.Record<string,.unknown>;..... |
| d4a0 | 09 09 63 6f 6e 73 74 20 73 74 61 74 75 73 43 6f 64 65 20 3d 0a 09 09 09 09 09 09 09 74 79 70 65 | ..const.statusCode.=........type |
| d4c0 | 6f 66 20 65 72 72 52 65 63 6f 72 64 2e 73 74 61 74 75 73 43 6f 64 65 20 3d 3d 3d 20 22 6e 75 6d | of.errRecord.statusCode.===."num |
| d4e0 | 62 65 72 22 20 3f 20 65 72 72 52 65 63 6f 72 64 2e 73 74 61 74 75 73 43 6f 64 65 20 3a 20 75 6e | ber".?.errRecord.statusCode.:.un |
| d500 | 64 65 66 69 6e 65 64 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 67 20 3d 20 | defined;.......const.errorMsg.=. |
| d520 | 66 6f 72 6d 61 74 45 72 72 6f 72 28 65 76 65 6e 74 2e 65 72 72 6f 72 2c 20 74 68 69 73 2e 63 6f | formatError(event.error,.this.co |
| d540 | 6e 66 69 67 29 3b 0a 09 09 09 09 09 09 2f 2f 20 46 69 6c 6c 20 69 6e 20 65 72 72 6f 72 20 72 65 | nfig);.......//.Fill.in.error.re |
| d560 | 73 75 6c 74 73 20 66 6f 72 20 61 6e 79 20 75 6e 72 65 73 6f 6c 76 65 64 20 74 6f 6f 6c 20 63 61 | sults.for.any.unresolved.tool.ca |
| d580 | 6c 6c 73 20 73 6f 0a 09 09 09 09 09 09 2f 2f 20 74 68 65 20 6f 72 70 68 61 6e 65 64 20 74 6f 6f | lls.so.......//.the.orphaned.too |
| d5a0 | 6c 2d 63 61 6c 6c 20 49 44 73 20 64 6f 6e 27 74 20 74 72 69 67 67 65 72 20 61 0a 09 09 09 09 09 | l-call.IDs.don't.trigger.a...... |
| d5c0 | 09 2f 2f 20 4d 69 73 73 69 6e 67 54 6f 6f 6c 52 65 73 75 6c 74 73 45 72 72 6f 72 20 69 66 20 74 | .//.MissingToolResultsError.if.t |
| d5e0 | 68 69 73 20 68 69 73 74 6f 72 79 20 69 73 20 65 76 65 72 20 72 65 70 6c 61 79 65 64 2e 0a 09 09 | his.history.is.ever.replayed.... |
| d600 | 09 09 09 09 63 6f 6e 73 74 20 73 74 72 65 61 6d 45 72 72 52 65 73 69 64 75 61 6c 20 3d 20 74 68 | ....const.streamErrResidual.=.th |
| d620 | 69 73 2e 73 79 6e 74 68 65 73 69 7a 65 52 65 73 69 64 75 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 73 | is.synthesizeResidualToolResults |
| d640 | 28 0a 09 09 09 09 09 09 09 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2c 0a 09 09 09 09 09 09 09 63 | (........stepToolCalls,........c |
| d660 | 68 75 6e 6b 73 2c 0a 09 09 09 09 09 09 09 60 45 72 72 6f 72 3a 20 24 7b 65 72 72 6f 72 4d 73 67 | hunks,........`Error:.${errorMsg |
| d680 | 7d 60 2c 0a 09 09 09 09 09 09 29 3b 0a 09 09 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 72 20 | }`,.......);.......for.(const.r. |
| d6a0 | 6f 66 20 73 74 72 65 61 6d 45 72 72 52 65 73 69 64 75 61 6c 29 20 7b 0a 09 09 09 09 09 09 09 61 | of.streamErrResidual).{........a |
| d6c0 | 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 72 29 3b 0a 09 | ppendEventToChunks(chunks,.r);.. |
| d6e0 | 09 09 09 09 09 09 79 69 65 6c 64 20 72 3b 0a 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 63 6f | ......yield.r;.......}........co |
| d700 | 6e 73 74 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 | nst.internalEvent:.AgentEvent.=. |
| d720 | 7b 0a 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 65 72 72 6f 72 22 2c 0a 09 09 09 09 09 09 09 65 | {........type:."error",........e |
| d740 | 72 72 6f 72 3a 20 65 72 72 6f 72 4d 73 67 2c 0a 09 09 09 09 09 09 09 2e 2e 2e 28 73 74 61 74 75 | rror:.errorMsg,...........(statu |
| d760 | 73 43 6f 64 65 20 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64 20 3f 20 7b 20 73 74 61 74 75 73 43 6f | sCode.!==.undefined.?.{.statusCo |
| d780 | 64 65 20 7d 20 3a 20 7b 7d 29 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 61 70 70 65 6e | de.}.:.{}),.......};.......appen |
| d7a0 | 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 69 6e 74 65 72 6e 61 6c 45 | dEventToChunks(chunks,.internalE |
| d7c0 | 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 | vent);.......yield.internalEvent |
| d7e0 | 3b 0a 09 09 09 09 09 09 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 65 72 72 6f 72 22 3b 0a 09 | ;.......this.status.=."error";.. |
| d800 | 09 09 09 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 73 74 61 74 75 73 22 2c 20 73 74 61 | .....yield.{.type:."status",.sta |
| d820 | 74 75 73 3a 20 22 65 72 72 6f 72 22 20 7d 3b 0a 09 09 09 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 | tus:."error".};.......return;... |
| d840 | 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 66 69 | ...}.else.if.(event.type.===."fi |
| d860 | 6e 69 73 68 2d 73 74 65 70 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 4f 6e 65 20 60 66 69 6e 69 | nish-step").{.......//.One.`fini |
| d880 | 73 68 2d 73 74 65 70 60 20 70 65 72 20 60 73 74 72 65 61 6d 54 65 78 74 60 20 73 74 65 70 2e 20 | sh-step`.per.`streamText`.step.. |
| d8a0 | 54 68 69 73 20 e2 80 94 20 4e 4f 54 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 74 65 72 6d 69 6e | This.....NOT.the.......//.termin |
| d8c0 | 61 6c 20 60 66 69 6e 69 73 68 60 20 70 61 72 74 20 e2 80 94 20 69 73 20 77 68 65 72 65 20 74 68 | al.`finish`.part.....is.where.th |
| d8e0 | 65 20 41 49 20 53 44 4b 20 70 75 74 73 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 70 65 72 2d 73 | e.AI.SDK.puts.the.......//.per-s |
| d900 | 74 65 70 20 60 75 73 61 67 65 60 20 28 74 68 65 20 60 66 69 6e 69 73 68 60 20 70 61 72 74 20 6f | tep.`usage`.(the.`finish`.part.o |
| d920 | 6e 6c 79 20 63 61 72 72 69 65 73 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 61 67 67 72 65 67 61 | nly.carries.the.......//.aggrega |
| d940 | 74 65 20 60 74 6f 74 61 6c 55 73 61 67 65 60 29 2e 20 60 75 73 61 67 65 2e 69 6e 70 75 74 54 6f | te.`totalUsage`)..`usage.inputTo |
| d960 | 6b 65 6e 44 65 74 61 69 6c 73 60 20 68 6f 6c 64 73 0a 09 09 09 09 09 09 2f 2f 20 41 6e 74 68 72 | kenDetails`.holds.......//.Anthr |
| d980 | 6f 70 69 63 27 73 20 70 72 6f 6d 70 74 2d 63 61 63 68 65 20 72 65 61 64 2f 77 72 69 74 65 20 73 | opic's.prompt-cache.read/write.s |
| d9a0 | 70 6c 69 74 2c 20 77 68 69 63 68 20 70 6f 77 65 72 73 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 | plit,.which.powers.the.......//. |
| d9c0 | 43 61 63 68 65 20 52 61 74 65 20 76 69 65 77 2e 20 60 69 6e 70 75 74 54 6f 6b 65 6e 73 60 20 69 | Cache.Rate.view..`inputTokens`.i |
| d9e0 | 73 20 74 68 65 20 54 4f 54 41 4c 20 70 72 6f 6d 70 74 20 28 63 61 63 68 65 64 20 2b 0a 09 09 09 | s.the.TOTAL.prompt.(cached.+.... |
| da00 | 09 09 09 2f 2f 20 66 72 65 73 68 29 2e 20 53 6b 69 70 20 65 6d 69 73 73 69 6f 6e 20 77 68 65 6e | ...//.fresh)..Skip.emission.when |
| da20 | 20 6e 6f 20 75 73 61 67 65 20 69 73 20 61 74 74 61 63 68 65 64 20 28 65 2e 67 2e 20 74 65 73 74 | .no.usage.is.attached.(e.g..test |
| da40 | 0a 09 09 09 09 09 09 2f 2f 20 6d 6f 63 6b 73 29 20 73 6f 20 77 65 20 6e 65 76 65 72 20 62 72 6f | .......//.mocks).so.we.never.bro |
| da60 | 61 64 63 61 73 74 20 61 6e 20 61 6c 6c 2d 7a 65 72 6f 20 75 73 61 67 65 20 65 76 65 6e 74 2e 0a | adcast.an.all-zero.usage.event.. |
| da80 | 09 09 09 09 09 09 63 6f 6e 73 74 20 75 20 3d 20 28 65 76 65 6e 74 20 61 73 20 7b 20 75 73 61 67 | ......const.u.=.(event.as.{.usag |
| daa0 | 65 3f 3a 20 4c 61 6e 67 75 61 67 65 4d 6f 64 65 6c 55 73 61 67 65 20 7d 29 2e 75 73 61 67 65 3b | e?:.LanguageModelUsage.}).usage; |
| dac0 | 0a 09 09 09 09 09 09 69 66 20 28 75 29 20 7b 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 64 65 74 | .......if.(u).{........const.det |
| dae0 | 61 69 6c 73 20 3d 20 75 2e 69 6e 70 75 74 54 6f 6b 65 6e 44 65 74 61 69 6c 73 3b 0a 09 09 09 09 | ails.=.u.inputTokenDetails;..... |
| db00 | 09 09 09 63 6f 6e 73 74 20 75 73 61 67 65 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 | ...const.usageEvent:.AgentEvent. |
| db20 | 3d 20 7b 0a 09 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 75 73 61 67 65 22 2c 0a 09 09 09 09 09 | =.{.........type:."usage",...... |
| db40 | 09 09 09 75 73 61 67 65 3a 20 7b 0a 09 09 09 09 09 09 09 09 09 69 6e 70 75 74 54 6f 6b 65 6e 73 | ...usage:.{..........inputTokens |
| db60 | 3a 20 75 2e 69 6e 70 75 74 54 6f 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 09 09 09 09 6f | :.u.inputTokens.??.0,..........o |
| db80 | 75 74 70 75 74 54 6f 6b 65 6e 73 3a 20 75 2e 6f 75 74 70 75 74 54 6f 6b 65 6e 73 20 3f 3f 20 30 | utputTokens:.u.outputTokens.??.0 |
| dba0 | 2c 0a 09 09 09 09 09 09 09 09 09 63 61 63 68 65 52 65 61 64 54 6f 6b 65 6e 73 3a 20 64 65 74 61 | ,..........cacheReadTokens:.deta |
| dbc0 | 69 6c 73 3f 2e 63 61 63 68 65 52 65 61 64 54 6f 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 | ils?.cacheReadTokens.??.0,...... |
| dbe0 | 09 09 09 09 63 61 63 68 65 57 72 69 74 65 54 6f 6b 65 6e 73 3a 20 64 65 74 61 69 6c 73 3f 2e 63 | ....cacheWriteTokens:.details?.c |
| dc00 | 61 63 68 65 57 72 69 74 65 54 6f 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 09 09 09 7d 2c | acheWriteTokens.??.0,.........}, |
| dc20 | 0a 09 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 09 2f 2f 20 53 65 74 20 44 49 53 50 41 54 43 | ........};........//.Set.DISPATC |
| dc40 | 48 5f 44 45 42 55 47 5f 55 53 41 47 45 3d 31 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 72 61 77 | H_DEBUG_USAGE=1.to.print.the.raw |
| dc60 | 20 70 65 72 2d 73 74 65 70 0a 09 09 09 09 09 09 09 2f 2f 20 75 73 61 67 65 20 74 6f 20 74 68 65 | .per-step........//.usage.to.the |
| dc80 | 20 73 65 72 76 65 72 20 6c 6f 67 20 e2 80 94 20 6c 65 74 73 20 79 6f 75 20 63 6f 6e 66 69 72 6d | .server.log.....lets.you.confirm |
| dca0 | 20 63 61 63 68 65 20 72 65 61 64 73 0a 09 09 09 09 09 09 09 2f 2f 20 61 72 65 20 6e 6f 6e 2d 7a | .cache.reads........//.are.non-z |
| dcc0 | 65 72 6f 20 77 69 74 68 6f 75 74 20 74 68 65 20 55 49 2e 0a 09 09 09 09 09 09 09 69 66 20 28 70 | ero.without.the.UI.........if.(p |
| dce0 | 72 6f 63 65 73 73 2e 65 6e 76 2e 44 49 53 50 41 54 43 48 5f 44 45 42 55 47 5f 55 53 41 47 45 29 | rocess.env.DISPATCH_DEBUG_USAGE) |
| dd00 | 20 7b 0a 09 09 09 09 09 09 09 09 63 6f 6e 73 6f 6c 65 2e 65 72 72 6f 72 28 22 5b 64 69 73 70 61 | .{.........console.error("[dispa |
| dd20 | 74 63 68 20 75 73 61 67 65 5d 22 2c 20 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 75 73 61 67 | tch.usage]",.JSON.stringify(usag |
| dd40 | 65 45 76 65 6e 74 2e 75 73 61 67 65 29 29 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 | eEvent.usage));........}........ |
| dd60 | 2f 2f 20 4e 6f 74 20 61 70 70 65 6e 64 65 64 20 74 6f 20 63 68 75 6e 6b 73 20 e2 80 94 20 75 73 | //.Not.appended.to.chunks.....us |
| dd80 | 61 67 65 20 69 73 20 74 65 6c 65 6d 65 74 72 79 2c 20 6e 6f 74 0a 09 09 09 09 09 09 09 2f 2f 20 | age.is.telemetry,.not........//. |
| dda0 | 6d 65 73 73 61 67 65 20 63 6f 6e 74 65 6e 74 20 28 73 65 65 20 61 70 70 65 6e 64 45 76 65 6e 74 | message.content.(see.appendEvent |
| ddc0 | 54 6f 43 68 75 6e 6b 73 29 2e 0a 09 09 09 09 09 09 09 79 69 65 6c 64 20 75 73 61 67 65 45 76 65 | ToChunks).........yield.usageEve |
| dde0 | 6e 74 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 2f 2f 20 49 67 6e 6f 72 | nt;.......}......}......//.Ignor |
| de00 | 65 64 20 65 76 65 6e 74 73 20 28 69 6e 74 65 6e 74 69 6f 6e 61 6c 29 3a 0a 09 09 09 09 09 2f 2f | ed.events.(intentional):......// |
| de20 | 20 20 20 73 74 61 72 74 2c 20 74 65 78 74 2d 73 74 61 72 74 2c 20 74 65 78 74 2d 65 6e 64 2c 20 | ...start,.text-start,.text-end,. |
| de40 | 72 65 61 73 6f 6e 69 6e 67 2d 73 74 61 72 74 2c 0a 09 09 09 09 09 2f 2f 20 20 20 74 6f 6f 6c 2d | reasoning-start,......//...tool- |
| de60 | 69 6e 70 75 74 2d 73 74 61 72 74 2c 20 74 6f 6f 6c 2d 69 6e 70 75 74 2d 64 65 6c 74 61 2c 20 74 | input-start,.tool-input-delta,.t |
| de80 | 6f 6f 6c 2d 69 6e 70 75 74 2d 65 6e 64 2c 0a 09 09 09 09 09 2f 2f 20 20 20 74 6f 6f 6c 2d 72 65 | ool-input-end,......//...tool-re |
| dea0 | 73 75 6c 74 20 28 6f 6e 6c 79 20 66 69 72 65 73 20 69 66 20 74 6f 6f 6c 20 68 61 73 20 65 78 65 | sult.(only.fires.if.tool.has.exe |
| dec0 | 63 75 74 65 3b 20 6f 75 72 73 20 64 6f 6e 27 74 29 2c 0a 09 09 09 09 09 2f 2f 20 20 20 73 74 61 | cute;.ours.don't),......//...sta |
| dee0 | 72 74 2d 73 74 65 70 2c 20 66 69 6e 69 73 68 20 28 61 67 67 72 65 67 61 74 65 20 74 6f 74 61 6c | rt-step,.finish.(aggregate.total |
| df00 | 55 73 61 67 65 20 6f 6e 6c 79 29 2c 20 72 61 77 2c 0a 09 09 09 09 09 2f 2f 20 20 20 73 6f 75 72 | Usage.only),.raw,......//...sour |
| df20 | 63 65 2c 20 66 69 6c 65 2c 20 74 6f 6f 6c 2d 6f 75 74 70 75 74 2d 64 65 6e 69 65 64 2c 20 74 6f | ce,.file,.tool-output-denied,.to |
| df40 | 6f 6c 2d 61 70 70 72 6f 76 61 6c 2d 2a 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 4e 6f 20 74 | ol-approval-*.....}......//.No.t |
| df60 | 6f 6f 6c 20 63 61 6c 6c 73 20 6d 65 61 6e 73 20 74 68 65 20 61 67 65 6e 74 20 69 73 20 64 6f 6e | ool.calls.means.the.agent.is.don |
| df80 | 65 20 e2 80 94 20 74 68 65 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 0a 09 09 09 09 | e.....the.assistant.message..... |
| dfa0 | 2f 2f 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 69 6e 20 73 74 65 70 4d 65 73 73 61 67 65 | //.already.exists.in.stepMessage |
| dfc0 | 73 20 77 69 74 68 20 75 70 2d 74 6f 2d 64 61 74 65 20 63 68 75 6e 6b 73 2e 0a 09 09 09 09 69 66 | s.with.up-to-date.chunks......if |
| dfe0 | 20 28 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 29 20 7b 0a | .(stepToolCalls.length.===.0).{. |
| e000 | 09 09 09 09 09 6c 6f 67 53 74 65 70 4c 69 66 65 63 79 63 6c 65 28 7b 0a 09 09 09 09 09 09 74 61 | .....logStepLifecycle({.......ta |
| e020 | 62 49 64 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 09 09 09 09 09 73 74 | bId:.this.config.tabId,.......st |
| e040 | 65 70 2c 0a 09 09 09 09 09 09 65 76 65 6e 74 3a 20 22 73 74 65 70 2d 65 6e 64 2d 6e 6f 2d 74 6f | ep,.......event:."step-end-no-to |
| e060 | 6f 6c 73 22 2c 0a 09 09 09 09 09 7d 29 3b 0a 09 09 09 09 09 6c 6f 67 41 67 65 6e 74 4c 6f 6f 70 | ols",......});......logAgentLoop |
| e080 | 28 7b 0a 09 09 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 | ({.......tabId:.this.config.tabI |
| e0a0 | 64 2c 0a 09 09 09 09 09 09 65 76 65 6e 74 3a 20 22 72 75 6e 2d 65 6e 64 2d 63 6c 65 61 6e 22 2c | d,.......event:."run-end-clean", |
| e0c0 | 0a 09 09 09 09 09 09 64 65 74 61 69 6c 3a 20 7b 20 73 74 65 70 73 3a 20 73 74 65 70 20 2b 20 31 | .......detail:.{.steps:.step.+.1 |
| e0e0 | 20 7d 2c 0a 09 09 09 09 09 7d 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 | .},......});......break;.....}.. |
| e100 | 09 09 09 6c 6f 67 53 74 65 70 4c 69 66 65 63 79 63 6c 65 28 7b 0a 09 09 09 09 09 74 61 62 49 64 | ...logStepLifecycle({......tabId |
| e120 | 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 09 09 09 09 73 74 65 70 2c 0a | :.this.config.tabId,......step,. |
| e140 | 09 09 09 09 09 65 76 65 6e 74 3a 20 22 73 74 65 70 2d 68 61 73 2d 74 6f 6f 6c 73 22 2c 0a 09 09 | .....event:."step-has-tools",... |
| e160 | 09 09 09 64 65 74 61 69 6c 3a 20 7b 0a 09 09 09 09 09 09 74 6f 6f 6c 43 6f 75 6e 74 3a 20 73 74 | ...detail:.{.......toolCount:.st |
| e180 | 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 6c 65 6e 67 74 68 2c 0a 09 09 09 09 09 09 74 6f 6f 6c 4e 61 | epToolCalls.length,.......toolNa |
| e1a0 | 6d 65 73 3a 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 6d 61 70 28 28 74 29 20 3d 3e 20 74 2e | mes:.stepToolCalls.map((t).=>.t. |
| e1c0 | 6e 61 6d 65 29 2c 0a 09 09 09 09 09 7d 2c 0a 09 09 09 09 7d 29 3b 0a 0a 09 09 09 09 2f 2f 20 45 | name),......},.....});......//.E |
| e1e0 | 78 65 63 75 74 65 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 6d 61 6e 75 61 6c 6c 79 2e 20 54 68 65 69 | xecute.tool.calls.manually..Thei |
| e200 | 72 20 72 65 73 75 6c 74 73 20 6d 65 72 67 65 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 0a 09 09 | r.results.merge.back.into.the... |
| e220 | 09 09 2f 2f 20 60 63 68 75 6e 6b 73 60 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 76 69 61 20 60 61 | ..//.`chunks`.accumulator.via.`a |
| e240 | 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 60 2c 20 77 68 69 63 68 20 72 6f 75 74 65 | ppendEventToChunks`,.which.route |
| e260 | 73 0a 09 09 09 09 2f 2f 20 65 61 63 68 20 72 65 73 75 6c 74 20 74 6f 20 74 68 65 20 63 6f 72 72 | s.....//.each.result.to.the.corr |
| e280 | 65 63 74 20 65 6e 74 72 79 20 69 6e 73 69 64 65 20 69 74 73 20 74 6f 6f 6c 2d 62 61 74 63 68 20 | ect.entry.inside.its.tool-batch. |
| e2a0 | 63 68 75 6e 6b 2e 0a 09 09 09 09 2f 2f 20 54 72 61 63 6b 20 77 68 69 63 68 20 63 61 6c 6c 73 20 | chunk......//.Track.which.calls. |
| e2c0 | 61 6c 72 65 61 64 79 20 68 61 76 65 20 61 20 72 65 63 6f 72 64 65 64 20 72 65 73 75 6c 74 20 28 | already.have.a.recorded.result.( |
| e2e0 | 66 72 6f 6d 20 74 68 65 0a 09 09 09 09 2f 2f 20 73 79 6e 74 68 65 74 69 63 20 75 6e 61 76 61 69 | from.the.....//.synthetic.unavai |
| e300 | 6c 61 62 6c 65 2d 74 6f 6f 6c 20 65 72 72 6f 72 20 70 61 74 68 20 61 62 6f 76 65 29 20 73 6f 20 | lable-tool.error.path.above).so. |
| e320 | 77 65 20 64 6f 6e 27 74 0a 09 09 09 09 2f 2f 20 72 65 2d 65 78 65 63 75 74 65 20 74 68 65 6d 2e | we.don't.....//.re-execute.them. |
| e340 | 0a 09 09 09 09 63 6f 6e 73 74 20 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 20 3d 20 6e 65 77 | .....const.alreadyResolved.=.new |
| e360 | 20 53 65 74 3c 73 74 72 69 6e 67 3e 28 29 3b 0a 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 63 | .Set<string>();.....for.(const.c |
| e380 | 20 6f 66 20 63 68 75 6e 6b 73 29 20 7b 0a 09 09 09 09 09 69 66 20 28 63 2e 74 79 70 65 20 21 3d | .of.chunks).{......if.(c.type.!= |
| e3a0 | 3d 20 22 74 6f 6f 6c 2d 62 61 74 63 68 22 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 09 66 | =."tool-batch").continue;......f |
| e3c0 | 6f 72 20 28 63 6f 6e 73 74 20 65 6e 74 72 79 20 6f 66 20 63 2e 63 61 6c 6c 73 29 20 7b 0a 09 09 | or.(const.entry.of.c.calls).{... |
| e3e0 | 09 09 09 09 69 66 20 28 65 6e 74 72 79 2e 72 65 73 75 6c 74 20 21 3d 3d 20 75 6e 64 65 66 69 6e | ....if.(entry.result.!==.undefin |
| e400 | 65 64 29 20 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 2e 61 64 64 28 65 6e 74 72 79 2e 69 64 | ed).alreadyResolved.add(entry.id |
| e420 | 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 49 64 65 6e 74 69 66 79 | );......}.....}......//.Identify |
| e440 | 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 69 6e 20 74 | .the.index.of.the.last.tool.in.t |
| e460 | 68 69 73 20 62 61 74 63 68 20 74 68 61 74 20 77 69 6c 6c 0a 09 09 09 09 2f 2f 20 61 63 74 75 61 | his.batch.that.will.....//.actua |
| e480 | 6c 6c 79 20 65 78 65 63 75 74 65 2e 20 51 75 65 75 65 64 20 75 73 65 72 20 6d 65 73 73 61 67 65 | lly.execute..Queued.user.message |
| e4a0 | 73 20 61 72 65 20 62 75 66 66 65 72 65 64 20 61 63 72 6f 73 73 0a 09 09 09 09 2f 2f 20 74 68 69 | s.are.buffered.across.....//.thi |
| e4c0 | 73 20 62 61 74 63 68 20 61 6e 64 20 69 6e 6a 65 63 74 65 64 20 69 6e 74 6f 20 4f 4e 4c 59 20 74 | s.batch.and.injected.into.ONLY.t |
| e4e0 | 68 61 74 20 74 6f 6f 6c 27 73 20 72 65 73 75 6c 74 2c 20 73 6f 20 74 68 65 0a 09 09 09 09 2f 2f | hat.tool's.result,.so.the.....// |
| e500 | 20 69 6e 74 65 72 72 75 70 74 20 61 70 70 65 61 72 73 20 65 78 61 63 74 6c 79 20 6f 6e 63 65 20 | .interrupt.appears.exactly.once. |
| e520 | 70 65 72 20 73 74 65 70 20 72 61 74 68 65 72 20 74 68 61 6e 20 66 72 61 67 6d 65 6e 74 65 64 0a | per.step.rather.than.fragmented. |
| e540 | 09 09 09 09 2f 2f 20 61 63 72 6f 73 73 20 77 68 69 63 68 65 76 65 72 20 74 6f 6f 6c 20 68 61 70 | ....//.across.whichever.tool.hap |
| e560 | 70 65 6e 65 64 20 74 6f 20 64 65 71 75 65 75 65 20 66 69 72 73 74 2e 20 54 6f 6f 6c 2d 6c 65 76 | pened.to.dequeue.first..Tool-lev |
| e580 | 65 6c 0a 09 09 09 09 2f 2f 20 69 6e 74 65 72 72 75 70 74 20 68 61 6e 64 6c 65 72 73 20 69 6e 20 | el.....//.interrupt.handlers.in. |
| e5a0 | 72 75 6e 2d 73 68 65 6c 6c 2f 79 6f 75 74 75 62 65 2d 74 72 61 6e 73 63 72 69 62 65 2f 72 65 74 | run-shell/youtube-transcribe/ret |
| e5c0 | 72 69 65 76 65 0a 09 09 09 09 2f 2f 20 73 74 69 6c 6c 20 65 6d 62 65 64 20 74 68 65 69 72 20 6f | rieve.....//.still.embed.their.o |
| e5e0 | 77 6e 20 69 6e 74 65 72 72 75 70 74 20 74 65 78 74 20 69 6e 20 74 68 65 69 72 20 72 65 74 75 72 | wn.interrupt.text.in.their.retur |
| e600 | 6e 20 76 61 6c 75 65 73 20 e2 80 94 0a 09 09 09 09 2f 2f 20 74 68 61 74 20 70 61 74 68 20 69 73 | n.values.........//.that.path.is |
| e620 | 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 72 65 6d 61 69 6e 73 20 63 6f 72 72 65 63 74 | .independent.and.remains.correct |
| e640 | 2e 0a 09 09 09 09 6c 65 74 20 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 3d 20 2d 31 | ......let.lastExecutableIdx.=.-1 |
| e660 | 3b 0a 09 09 09 09 66 6f 72 20 28 6c 65 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 65 70 54 6f | ;.....for.(let.i.=.0;.i.<.stepTo |
| e680 | 6f 6c 43 61 6c 6c 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 | olCalls.length;.i++).{......cons |
| e6a0 | 74 20 74 63 41 74 20 3d 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 5b 69 5d 3b 0a 09 09 09 09 09 | t.tcAt.=.stepToolCalls[i];...... |
| e6c0 | 69 66 20 28 74 63 41 74 20 26 26 20 21 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 2e 68 61 73 | if.(tcAt.&&.!alreadyResolved.has |
| e6e0 | 28 74 63 41 74 2e 69 64 29 29 20 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 3d 20 69 | (tcAt.id)).lastExecutableIdx.=.i |
| e700 | 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 41 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 | ;.....}......//.Accumulator.for. |
| e720 | 6d 65 73 73 61 67 65 73 20 64 65 71 75 65 75 65 64 20 64 75 72 69 6e 67 20 74 68 69 73 20 62 61 | messages.dequeued.during.this.ba |
| e740 | 74 63 68 2e 20 44 72 61 69 6e 65 64 0a 09 09 09 09 2f 2f 20 6f 6e 6c 79 20 61 74 20 60 6c 61 73 | tch..Drained.....//.only.at.`las |
| e760 | 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 60 2e 20 44 65 73 74 72 75 63 74 69 76 65 20 64 65 71 | tExecutableIdx`..Destructive.deq |
| e780 | 75 65 75 65 20 61 74 20 74 68 65 20 71 75 65 75 65 0a 09 09 09 09 2f 2f 20 6c 65 76 65 6c 20 70 | ueue.at.the.queue.....//.level.p |
| e7a0 | 72 65 76 65 6e 74 73 20 74 68 65 20 73 61 6d 65 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 61 70 | revents.the.same.message.from.ap |
| e7c0 | 70 65 61 72 69 6e 67 20 69 6e 20 73 75 62 73 65 71 75 65 6e 74 0a 09 09 09 09 2f 2f 20 62 61 74 | pearing.in.subsequent.....//.bat |
| e7e0 | 63 68 65 73 2e 0a 09 09 09 09 63 6f 6e 73 74 20 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 | ches......const.batchPendingInje |
| e800 | 63 74 69 6f 6e 3a 20 7b 20 69 64 3a 20 73 74 72 69 6e 67 3b 20 6d 65 73 73 61 67 65 3a 20 73 74 | ction:.{.id:.string;.message:.st |
| e820 | 72 69 6e 67 3b 20 74 69 6d 65 73 74 61 6d 70 3a 20 6e 75 6d 62 65 72 20 7d 5b 5d 20 3d 20 5b 5d | ring;.timestamp:.number.}[].=.[] |
| e840 | 3b 0a 0a 09 09 09 09 2f 2f 20 52 65 73 75 6c 74 73 20 6f 66 20 61 6c 72 65 61 64 79 2d 65 78 65 | ;......//.Results.of.already-exe |
| e860 | 63 75 74 65 64 20 63 61 6c 6c 73 20 69 6e 20 74 68 69 73 20 62 61 74 63 68 2c 20 6b 65 79 65 64 | cuted.calls.in.this.batch,.keyed |
| e880 | 20 62 79 0a 09 09 09 09 2f 2f 20 60 74 6f 6f 6c 44 65 64 75 70 4b 65 79 60 2e 20 42 79 74 65 2d | .by.....//.`toolDedupKey`..Byte- |
| e8a0 | 69 64 65 6e 74 69 63 61 6c 20 72 65 70 65 61 74 73 20 72 65 75 73 65 20 74 68 65 20 66 69 72 73 | identical.repeats.reuse.the.firs |
| e8c0 | 74 20 72 65 73 75 6c 74 0a 09 09 09 09 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 2d 72 75 | t.result.....//.instead.of.re-ru |
| e8e0 | 6e 6e 69 6e 67 20 74 68 65 20 74 6f 6f 6c 20 28 73 65 65 20 74 6f 6f 6c 2d 72 75 6e 6e 65 72 2d | nning.the.tool.(see.tool-runner- |
| e900 | 64 75 70 6c 69 63 61 74 69 6f 6e 2d 0a 09 09 09 09 2f 2f 20 69 6e 63 69 64 65 6e 74 2e 6d 64 29 | duplication-.....//.incident.md) |
| e920 | 2e 20 4f 6e 6c 79 20 74 68 65 20 72 61 77 2c 20 70 72 65 2d 69 6e 74 65 72 72 75 70 74 2d 69 6e | ..Only.the.raw,.pre-interrupt-in |
| e940 | 6a 65 63 74 69 6f 6e 20 72 65 73 75 6c 74 20 69 73 0a 09 09 09 09 2f 2f 20 63 61 63 68 65 64 20 | jection.result.is.....//.cached. |
| e960 | 73 6f 20 61 20 72 65 75 73 65 64 20 63 6f 70 79 20 6e 65 76 65 72 20 63 61 72 72 69 65 73 20 61 | so.a.reused.copy.never.carries.a |
| e980 | 6e 6f 74 68 65 72 20 63 61 6c 6c 27 73 20 69 6e 74 65 72 72 75 70 74 2e 0a 09 09 09 09 63 6f 6e | nother.call's.interrupt......con |
| e9a0 | 73 74 20 64 65 64 75 70 52 65 73 75 6c 74 73 20 3d 20 6e 65 77 20 4d 61 70 3c 73 74 72 69 6e 67 | st.dedupResults.=.new.Map<string |
| e9c0 | 2c 20 54 6f 6f 6c 52 65 73 75 6c 74 3e 28 29 3b 0a 0a 09 09 09 09 66 6f 72 20 28 6c 65 74 20 74 | ,.ToolResult>();......for.(let.t |
| e9e0 | 63 49 64 78 20 3d 20 30 3b 20 74 63 49 64 78 20 3c 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e | cIdx.=.0;.tcIdx.<.stepToolCalls. |
| ea00 | 6c 65 6e 67 74 68 3b 20 74 63 49 64 78 2b 2b 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 74 63 | length;.tcIdx++).{......const.tc |
| ea20 | 20 3d 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 5b 74 63 49 64 78 5d 3b 0a 09 09 09 09 09 69 66 | .=.stepToolCalls[tcIdx];......if |
| ea40 | 20 28 21 74 63 20 7c 7c 20 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 2e 68 61 73 28 74 63 2e | .(!tc.||.alreadyResolved.has(tc. |
| ea60 | 69 64 29 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 09 09 09 09 63 6f 6e 73 74 20 64 65 64 75 70 | id)).continue;.......const.dedup |
| ea80 | 4b 65 79 20 3d 20 74 6f 6f 6c 44 65 64 75 70 4b 65 79 28 74 63 2e 6e 61 6d 65 2c 20 74 63 2e 61 | Key.=.toolDedupKey(tc.name,.tc.a |
| eaa0 | 72 67 75 6d 65 6e 74 73 29 3b 0a 0a 09 09 09 09 09 6c 65 74 20 74 6f 6f 6c 52 65 73 75 6c 74 3a | rguments);.......let.toolResult: |
| eac0 | 20 54 6f 6f 6c 52 65 73 75 6c 74 20 7c 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 09 09 09 63 6f | .ToolResult.|.undefined;......co |
| eae0 | 6e 73 74 20 63 61 63 68 65 64 20 3d 20 64 65 64 75 70 4b 65 79 20 21 3d 3d 20 6e 75 6c 6c 20 3f | nst.cached.=.dedupKey.!==.null.? |
| eb00 | 20 64 65 64 75 70 52 65 73 75 6c 74 73 2e 67 65 74 28 64 65 64 75 70 4b 65 79 29 20 3a 20 75 6e | .dedupResults.get(dedupKey).:.un |
| eb20 | 64 65 66 69 6e 65 64 3b 0a 09 09 09 09 09 69 66 20 28 63 61 63 68 65 64 29 20 7b 0a 09 09 09 09 | defined;......if.(cached).{..... |
| eb40 | 09 09 2f 2f 20 49 64 65 6e 74 69 63 61 6c 20 63 61 6c 6c 20 61 6c 72 65 61 64 79 20 72 61 6e 20 | ..//.Identical.call.already.ran. |
| eb60 | 69 6e 20 74 68 69 73 20 62 61 74 63 68 20 e2 80 94 20 72 65 75 73 65 20 69 74 73 0a 09 09 09 09 | in.this.batch.....reuse.its..... |
| eb80 | 09 09 2f 2f 20 6f 75 74 70 75 74 20 75 6e 64 65 72 20 74 68 69 73 20 63 61 6c 6c 27 73 20 6f 77 | ..//.output.under.this.call's.ow |
| eba0 | 6e 20 69 64 20 28 6e 6f 20 65 78 65 63 75 74 69 6f 6e 2c 20 6e 6f 20 73 68 65 6c 6c 0a 09 09 09 | n.id.(no.execution,.no.shell.... |
| ebc0 | 09 09 09 2f 2f 20 6f 75 74 70 75 74 20 74 6f 20 73 74 72 65 61 6d 29 2e 0a 09 09 09 09 09 09 74 | ...//.output.to.stream)........t |
| ebe0 | 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 7b 20 2e 2e 2e 63 61 63 68 65 64 2c 20 74 6f 6f 6c 43 61 6c | oolResult.=.{....cached,.toolCal |
| ec00 | 6c 49 64 3a 20 74 63 2e 69 64 2c 20 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 20 7d 3b | lId:.tc.id,.toolName:.tc.name.}; |
| ec20 | 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 73 68 65 6c 6c | ......}.else.{.......const.shell |
| ec40 | 4f 75 74 70 75 74 51 75 65 75 65 3a 20 41 72 72 61 79 3c 7b 20 64 61 74 61 3a 20 73 74 72 69 6e | OutputQueue:.Array<{.data:.strin |
| ec60 | 67 3b 20 73 74 72 65 61 6d 3a 20 22 73 74 64 6f 75 74 22 20 7c 20 22 73 74 64 65 72 72 22 20 7d | g;.stream:."stdout".|."stderr".} |
| ec80 | 3e 20 3d 20 5b 5d 3b 0a 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 78 65 63 50 72 6f 6d 69 73 65 | >.=.[];........const.execPromise |
| eca0 | 20 3d 20 74 68 69 73 2e 65 78 65 63 75 74 65 54 6f 6f 6c 57 69 74 68 53 74 72 65 61 6d 69 6e 67 | .=.this.executeToolWithStreaming |
| ecc0 | 28 74 63 2c 20 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 29 3b 0a 0a 09 09 09 09 09 09 2f | (tc,.shellOutputQueue);......../ |
| ece0 | 2f 20 50 6f 6c 6c 20 66 6f 72 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 | /.Poll.for.shell.output.while.th |
| ed00 | 65 20 74 6f 6f 6c 20 69 73 20 72 75 6e 6e 69 6e 67 2c 20 75 73 69 6e 67 20 50 72 6f 6d 69 73 65 | e.tool.is.running,.using.Promise |
| ed20 | 2e 72 61 63 65 0a 09 09 09 09 09 09 2f 2f 20 73 6f 20 77 65 20 63 61 6e 20 79 69 65 6c 64 20 73 | .race.......//.so.we.can.yield.s |
| ed40 | 68 65 6c 6c 2d 6f 75 74 70 75 74 20 65 76 65 6e 74 73 20 61 73 20 74 68 65 79 20 61 72 72 69 76 | hell-output.events.as.they.arriv |
| ed60 | 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 62 75 66 66 65 72 69 6e 67 0a 09 09 09 09 09 09 2f 2f | e.rather.than.buffering.......// |
| ed80 | 20 74 68 65 6d 20 61 6c 6c 20 75 6e 74 69 6c 20 74 6f 6f 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e | .them.all.until.tool.completion. |
| eda0 | 0a 09 09 09 09 09 09 77 68 69 6c 65 20 28 74 6f 6f 6c 52 65 73 75 6c 74 20 3d 3d 3d 20 75 6e 64 | .......while.(toolResult.===.und |
| edc0 | 65 66 69 6e 65 64 29 20 7b 0a 09 09 09 09 09 09 09 69 66 20 28 73 68 65 6c 6c 4f 75 74 70 75 74 | efined).{........if.(shellOutput |
| ede0 | 51 75 65 75 65 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 09 09 09 63 6f 6e 73 | Queue.length.>.0).{.........cons |
| ee00 | 74 20 69 74 65 6d 20 3d 20 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 2e 73 68 69 66 74 28 | t.item.=.shellOutputQueue.shift( |
| ee20 | 29 3b 0a 09 09 09 09 09 09 09 09 69 66 20 28 69 74 65 6d 29 20 7b 0a 09 09 09 09 09 09 09 09 09 | );.........if.(item).{.......... |
| ee40 | 63 6f 6e 73 74 20 73 68 65 6c 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b | const.shellEvent:.AgentEvent.=.{ |
| ee60 | 0a 09 09 09 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 73 68 65 6c 6c 2d 6f 75 74 70 75 74 22 2c | ...........type:."shell-output", |
| ee80 | 0a 09 09 09 09 09 09 09 09 09 09 64 61 74 61 3a 20 69 74 65 6d 2e 64 61 74 61 2c 0a 09 09 09 09 | ...........data:.item.data,..... |
| eea0 | 09 09 09 09 09 09 73 74 72 65 61 6d 3a 20 69 74 65 6d 2e 73 74 72 65 61 6d 2c 0a 09 09 09 09 09 | ......stream:.item.stream,...... |
| eec0 | 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 | ....};..........appendEventToChu |
| eee0 | 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 73 68 65 6c 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 09 | nks(chunks,.shellEvent);........ |
| ef00 | 09 09 79 69 65 6c 64 20 73 68 65 6c 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 | ..yield.shellEvent;.........}... |
| ef20 | 09 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 | ......continue;........}........ |
| ef40 | 63 6f 6e 73 74 20 72 61 63 65 52 65 73 75 6c 74 20 3d 20 61 77 61 69 74 20 50 72 6f 6d 69 73 65 | const.raceResult.=.await.Promise |
| ef60 | 2e 72 61 63 65 28 5b 0a 09 09 09 09 09 09 09 09 65 78 65 63 50 72 6f 6d 69 73 65 2e 74 68 65 6e | .race([.........execPromise.then |
| ef80 | 28 28 72 29 20 3d 3e 20 28 7b 20 64 6f 6e 65 3a 20 74 72 75 65 20 61 73 20 63 6f 6e 73 74 2c 20 | ((r).=>.({.done:.true.as.const,. |
| efa0 | 76 61 6c 75 65 3a 20 72 20 7d 29 29 2c 0a 09 09 09 09 09 09 09 09 6e 65 77 20 50 72 6f 6d 69 73 | value:.r.})),.........new.Promis |
| efc0 | 65 3c 7b 20 64 6f 6e 65 3a 20 66 61 6c 73 65 20 7d 3e 28 28 72 65 73 6f 6c 76 65 29 20 3d 3e 0a | e<{.done:.false.}>((resolve).=>. |
| efe0 | 09 09 09 09 09 09 09 09 09 73 65 74 49 6d 6d 65 64 69 61 74 65 28 28 29 20 3d 3e 20 72 65 73 6f | .........setImmediate(().=>.reso |
| f000 | 6c 76 65 28 7b 20 64 6f 6e 65 3a 20 66 61 6c 73 65 20 7d 29 29 2c 0a 09 09 09 09 09 09 09 09 29 | lve({.done:.false.})),.........) |
| f020 | 2c 0a 09 09 09 09 09 09 09 5d 29 3b 0a 09 09 09 09 09 09 09 69 66 20 28 72 61 63 65 52 65 73 75 | ,........]);........if.(raceResu |
| f040 | 6c 74 2e 64 6f 6e 65 29 20 7b 0a 09 09 09 09 09 09 09 09 74 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 | lt.done).{.........toolResult.=. |
| f060 | 72 61 63 65 52 65 73 75 6c 74 2e 76 61 6c 75 65 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 | raceResult.value;........}...... |
| f080 | 09 7d 0a 0a 09 09 09 09 09 09 2f 2f 20 44 72 61 69 6e 20 61 6e 79 20 72 65 6d 61 69 6e 69 6e 67 | .}........//.Drain.any.remaining |
| f0a0 | 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 65 6d 69 74 74 65 64 20 62 65 66 6f 72 65 20 77 65 20 | .shell.output.emitted.before.we. |
| f0c0 | 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 0a 09 09 09 09 09 09 77 68 69 6c 65 20 28 73 68 65 | read.the.result.......while.(she |
| f0e0 | 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 | llOutputQueue.length.>.0).{..... |
| f100 | 09 09 09 63 6f 6e 73 74 20 69 74 65 6d 20 3d 20 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 | ...const.item.=.shellOutputQueue |
| f120 | 2e 73 68 69 66 74 28 29 3b 0a 09 09 09 09 09 09 09 69 66 20 28 69 74 65 6d 29 20 7b 0a 09 09 09 | .shift();........if.(item).{.... |
| f140 | 09 09 09 09 09 63 6f 6e 73 74 20 73 68 65 6c 6c 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e | .....const.shellEvent:.AgentEven |
| f160 | 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 73 68 65 6c 6c 2d 6f 75 74 70 | t.=.{..........type:."shell-outp |
| f180 | 75 74 22 2c 0a 09 09 09 09 09 09 09 09 09 64 61 74 61 3a 20 69 74 65 6d 2e 64 61 74 61 2c 0a 09 | ut",..........data:.item.data,.. |
| f1a0 | 09 09 09 09 09 09 09 09 73 74 72 65 61 6d 3a 20 69 74 65 6d 2e 73 74 72 65 61 6d 2c 0a 09 09 09 | ........stream:.item.stream,.... |
| f1c0 | 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 | .....};.........appendEventToChu |
| f1e0 | 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 73 68 65 6c 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 09 | nks(chunks,.shellEvent);........ |
| f200 | 09 79 69 65 6c 64 20 73 68 65 6c 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 | .yield.shellEvent;........}..... |
| f220 | 09 09 7d 0a 0a 09 09 09 09 09 09 2f 2f 20 43 61 63 68 65 20 74 68 65 20 72 61 77 20 72 65 73 75 | ..}........//.Cache.the.raw.resu |
| f240 | 6c 74 20 73 6f 20 6c 61 74 65 72 20 69 64 65 6e 74 69 63 61 6c 20 63 61 6c 6c 73 20 69 6e 20 74 | lt.so.later.identical.calls.in.t |
| f260 | 68 69 73 0a 09 09 09 09 09 09 2f 2f 20 62 61 74 63 68 20 63 61 6e 20 72 65 75 73 65 20 69 74 2e | his.......//.batch.can.reuse.it. |
| f280 | 0a 09 09 09 09 09 09 69 66 20 28 64 65 64 75 70 4b 65 79 20 21 3d 3d 20 6e 75 6c 6c 29 20 64 65 | .......if.(dedupKey.!==.null).de |
| f2a0 | 64 75 70 52 65 73 75 6c 74 73 2e 73 65 74 28 64 65 64 75 70 4b 65 79 2c 20 74 6f 6f 6c 52 65 73 | dupResults.set(dedupKey,.toolRes |
| f2c0 | 75 6c 74 29 3b 0a 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 2f 2f 20 48 61 72 76 65 73 74 20 61 6e | ult);......}.......//.Harvest.an |
| f2e0 | 79 20 71 75 65 75 65 64 20 75 73 65 72 20 6d 65 73 73 61 67 65 73 20 62 75 74 20 44 45 46 45 52 | y.queued.user.messages.but.DEFER |
| f300 | 20 69 6e 6a 65 63 74 69 6f 6e 20 75 6e 74 69 6c 0a 09 09 09 09 09 2f 2f 20 74 68 65 20 6c 61 73 | .injection.until......//.the.las |
| f320 | 74 20 74 6f 6f 6c 20 6f 66 20 74 68 65 20 62 61 74 63 68 2e 20 54 68 69 73 20 63 6f 6c 6c 61 70 | t.tool.of.the.batch..This.collap |
| f340 | 73 65 73 20 6d 75 6c 74 69 70 6c 65 0a 09 09 09 09 09 2f 2f 20 71 75 65 75 65 64 20 6d 65 73 73 | ses.multiple......//.queued.mess |
| f360 | 61 67 65 73 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 69 6e 74 65 72 72 75 70 74 20 62 6c 6f | ages.into.a.single.interrupt.blo |
| f380 | 63 6b 20 6f 6e 20 61 20 73 69 6e 67 6c 65 0a 09 09 09 09 09 2f 2f 20 74 6f 6f 6c 2d 72 65 73 75 | ck.on.a.single......//.tool-resu |
| f3a0 | 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20 66 72 61 67 6d 65 6e 74 69 6e 67 20 61 63 72 6f 73 73 | lt.instead.of.fragmenting.across |
| f3c0 | 20 74 68 65 20 62 61 74 63 68 2e 0a 09 09 09 09 09 69 66 20 28 74 68 69 73 2e 71 75 65 75 65 43 | .the.batch.......if.(this.queueC |
| f3e0 | 61 6c 6c 62 61 63 6b 73 29 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 71 75 65 75 65 64 4d 73 | allbacks).{.......const.queuedMs |
| f400 | 67 73 20 3d 20 74 68 69 73 2e 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 2e 64 65 71 75 65 75 65 | gs.=.this.queueCallbacks.dequeue |
| f420 | 4d 65 73 73 61 67 65 73 28 29 3b 0a 09 09 09 09 09 09 69 66 20 28 71 75 65 75 65 64 4d 73 67 73 | Messages();.......if.(queuedMsgs |
| f440 | 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 09 09 62 61 74 63 68 50 65 6e 64 69 | .length.>.0).{........batchPendi |
| f460 | 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 70 75 73 68 28 2e 2e 2e 71 75 65 75 65 64 4d 73 67 73 29 3b | ngInjection.push(...queuedMsgs); |
| f480 | 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 6c 65 74 20 66 69 6e 61 6c 54 | .......}......}.......let.finalT |
| f4a0 | 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 74 6f 6f 6c 52 65 73 75 6c 74 3b 0a 09 09 09 09 09 69 66 20 | oolResult.=.toolResult;......if. |
| f4c0 | 28 74 63 49 64 78 20 3d 3d 3d 20 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 26 26 20 | (tcIdx.===.lastExecutableIdx.&&. |
| f4e0 | 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 | batchPendingInjection.length.>.0 |
| f500 | 29 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 3d 20 62 | ).{.......const.userMessages.=.b |
| f520 | 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 | atchPendingInjection.map((m).=>. |
| f540 | 6d 2e 6d 65 73 73 61 67 65 29 2e 6a 6f 69 6e 28 22 5c 6e 2d 2d 2d 5c 6e 22 29 3b 0a 09 09 09 09 | m.message).join("\n---\n");..... |
| f560 | 09 09 66 69 6e 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 2e 2e 2e | ..finalToolResult.=.{........... |
| f580 | 74 6f 6f 6c 52 65 73 75 6c 74 2c 0a 09 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 60 24 7b 74 6f | toolResult,........result:.`${to |
| f5a0 | 6f 6c 52 65 73 75 6c 74 2e 72 65 73 75 6c 74 7d 5c 6e 5c 6e 5b 55 53 45 52 20 49 4e 54 45 52 52 | olResult.result}\n\n[USER.INTERR |
| f5c0 | 55 50 54 5d 5c 6e 54 68 65 20 75 73 65 72 20 68 61 73 20 73 65 6e 74 20 79 6f 75 20 6d 65 73 73 | UPT]\nThe.user.has.sent.you.mess |
| f5e0 | 61 67 65 28 73 29 20 77 68 69 6c 65 20 79 6f 75 20 77 65 72 65 20 77 6f 72 6b 69 6e 67 2e 20 59 | age(s).while.you.were.working..Y |
| f600 | 6f 75 20 4d 55 53 54 20 61 64 64 72 65 73 73 20 74 68 65 73 65 20 62 65 66 6f 72 65 20 63 6f 6e | ou.MUST.address.these.before.con |
| f620 | 74 69 6e 75 69 6e 67 20 77 69 74 68 20 79 6f 75 72 20 63 75 72 72 65 6e 74 20 74 61 73 6b 3a 5c | tinuing.with.your.current.task:\ |
| f640 | 6e 5c 6e 24 7b 75 73 65 72 4d 65 73 73 61 67 65 73 7d 60 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 | n\n${userMessages}`,.......};... |
| f660 | 09 09 09 09 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 | ....batchPendingInjection.length |
| f680 | 20 3d 20 30 3b 0a 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 63 6f 6e 73 74 20 74 72 45 76 65 6e 74 | .=.0;......}.......const.trEvent |
| f6a0 | 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 72 65 73 | :.AgentEvent.=.{.type:."tool-res |
| f6c0 | 75 6c 74 22 2c 20 74 6f 6f 6c 52 65 73 75 6c 74 3a 20 66 69 6e 61 6c 54 6f 6f 6c 52 65 73 75 6c | ult",.toolResult:.finalToolResul |
| f6e0 | 74 20 7d 3b 0a 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 63 68 | t.};......appendEventToChunks(ch |
| f700 | 75 6e 6b 73 2c 20 74 72 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 79 69 65 6c 64 20 74 72 45 76 65 | unks,.trEvent);......yield.trEve |
| f720 | 6e 74 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 53 61 66 65 74 79 20 6e 65 74 3a 20 69 66 | nt;.....}......//.Safety.net:.if |
| f740 | 20 60 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 60 20 77 61 73 20 6e 65 76 65 72 20 72 | .`lastExecutableIdx`.was.never.r |
| f760 | 65 61 63 68 65 64 20 28 65 2e 67 2e 2c 0a 09 09 09 09 2f 2f 20 6e 6f 20 74 6f 6f 6c 73 20 65 78 | eached.(e.g.,.....//.no.tools.ex |
| f780 | 65 63 75 74 65 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 77 65 72 65 20 61 6c 72 65 61 64 79 20 | ecuted.because.all.were.already. |
| f7a0 | 72 65 73 6f 6c 76 65 64 29 20 62 75 74 0a 09 09 09 09 2f 2f 20 6d 65 73 73 61 67 65 73 20 77 65 | resolved).but.....//.messages.we |
| f7c0 | 72 65 20 73 74 69 6c 6c 20 64 65 71 75 65 75 65 64 2c 20 73 75 72 66 61 63 65 20 74 68 65 6d 20 | re.still.dequeued,.surface.them. |
| f7e0 | 61 73 20 61 20 75 73 65 72 20 6d 65 73 73 61 67 65 0a 09 09 09 09 2f 2f 20 73 6f 20 74 68 65 79 | as.a.user.message.....//.so.they |
| f800 | 20 61 72 65 6e 27 74 20 64 72 6f 70 70 65 64 2e 20 49 6e 20 70 72 61 63 74 69 63 65 20 74 68 69 | .aren't.dropped..In.practice.thi |
| f820 | 73 20 69 73 20 72 61 72 65 20 e2 80 94 20 69 74 20 6f 6e 6c 79 0a 09 09 09 09 2f 2f 20 68 61 70 | s.is.rare.....it.only.....//.hap |
| f840 | 70 65 6e 73 20 77 68 65 6e 20 74 68 65 20 65 6e 74 69 72 65 20 62 61 74 63 68 20 69 73 20 75 6e | pens.when.the.entire.batch.is.un |
| f860 | 61 76 61 69 6c 61 62 6c 65 2d 74 6f 6f 6c 20 73 79 6e 74 68 65 73 69 7a 65 64 0a 09 09 09 09 2f | available-tool.synthesized...../ |
| f880 | 2f 20 65 72 72 6f 72 73 20 77 69 74 68 20 61 20 6d 65 73 73 61 67 65 20 61 72 72 69 76 69 6e 67 | /.errors.with.a.message.arriving |
| f8a0 | 20 69 6e 20 74 68 61 74 20 6e 61 72 72 6f 77 20 77 69 6e 64 6f 77 2e 0a 09 09 09 09 69 66 20 28 | .in.that.narrow.window......if.( |
| f8c0 | 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 | batchPendingInjection.length.>.0 |
| f8e0 | 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 3d 20 62 61 | ).{......const.userMessages.=.ba |
| f900 | 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 6d | tchPendingInjection.map((m).=>.m |
| f920 | 2e 6d 65 73 73 61 67 65 29 2e 6a 6f 69 6e 28 22 5c 6e 2d 2d 2d 5c 6e 22 29 3b 0a 09 09 09 09 09 | .message).join("\n---\n");...... |
| f940 | 74 68 69 73 2e 6d 65 73 73 61 67 65 73 2e 70 75 73 68 28 7b 0a 09 09 09 09 09 09 72 6f 6c 65 3a | this.messages.push({.......role: |
| f960 | 20 22 75 73 65 72 22 2c 0a 09 09 09 09 09 09 63 68 75 6e 6b 73 3a 20 5b 7b 20 74 79 70 65 3a 20 | ."user",.......chunks:.[{.type:. |
| f980 | 22 74 65 78 74 22 2c 20 74 65 78 74 3a 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 7d 5d 2c 0a 09 | "text",.text:.userMessages.}],.. |
| f9a0 | 09 09 09 09 7d 29 3b 0a 09 09 09 09 09 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 | ....});......batchPendingInjecti |
| f9c0 | 6f 6e 2e 6c 65 6e 67 74 68 20 3d 20 30 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 46 69 6e | on.length.=.0;.....}......//.Fin |
| f9e0 | 61 6c 20 73 61 66 65 74 79 20 6e 65 74 3a 20 61 66 74 65 72 20 65 78 65 63 75 74 69 6e 67 20 74 | al.safety.net:.after.executing.t |
| fa00 | 68 65 20 62 61 74 63 68 2c 20 67 75 61 72 61 6e 74 65 65 20 65 76 65 72 79 0a 09 09 09 09 2f 2f | he.batch,.guarantee.every.....// |
| fa20 | 20 74 6f 6f 6c 2d 63 61 6c 6c 20 72 65 63 6f 72 64 65 64 20 69 6e 20 74 68 69 73 20 73 74 65 70 | .tool-call.recorded.in.this.step |
| fa40 | 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 20 72 65 73 75 6c 74 20 62 65 66 6f 72 65 20 77 65 | .has.a.matching.result.before.we |
| fa60 | 0a 09 09 09 09 2f 2f 20 6c 6f 6f 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 4c 4c 4d 2e 20 41 6e | .....//.loop.back.to.the.LLM..An |
| fa80 | 79 20 74 6f 6f 6c 2d 63 61 6c 6c 20 49 44 20 74 68 61 74 20 73 6c 69 70 70 65 64 20 74 68 72 6f | y.tool-call.ID.that.slipped.thro |
| faa0 | 75 67 68 0a 09 09 09 09 2f 2f 20 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 20 28 61 20 70 | ugh.....//.without.a.result.(a.p |
| fac0 | 61 74 68 20 77 65 20 64 69 64 6e 27 74 20 61 6e 74 69 63 69 70 61 74 65 29 20 77 6f 75 6c 64 20 | ath.we.didn't.anticipate).would. |
| fae0 | 6f 74 68 65 72 77 69 73 65 0a 09 09 09 09 2f 2f 20 6f 72 70 68 61 6e 20 61 6e 64 20 74 72 69 67 | otherwise.....//.orphan.and.trig |
| fb00 | 67 65 72 20 4d 69 73 73 69 6e 67 54 6f 6f 6c 52 65 73 75 6c 74 73 45 72 72 6f 72 20 6f 6e 20 74 | ger.MissingToolResultsError.on.t |
| fb20 | 68 65 20 6e 65 78 74 0a 09 09 09 09 2f 2f 20 72 6f 75 6e 64 2d 74 72 69 70 2e 0a 09 09 09 09 63 | he.next.....//.round-trip......c |
| fb40 | 6f 6e 73 74 20 73 61 66 65 74 79 52 65 73 69 64 75 61 6c 20 3d 20 74 68 69 73 2e 73 79 6e 74 68 | onst.safetyResidual.=.this.synth |
| fb60 | 65 73 69 7a 65 52 65 73 69 64 75 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 73 28 0a 09 09 09 09 09 73 | esizeResidualToolResults(......s |
| fb80 | 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2c 0a 09 09 09 09 09 63 68 75 6e 6b 73 2c 0a 09 09 09 09 09 | tepToolCalls,......chunks,...... |
| fba0 | 22 45 72 72 6f 72 3a 20 49 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 74 6f 6f 6c 20 72 65 73 | "Error:.Internal.error:.tool.res |
| fbc0 | 75 6c 74 20 77 61 73 20 6e 65 76 65 72 20 70 72 6f 64 75 63 65 64 2e 22 2c 0a 09 09 09 09 29 3b | ult.was.never.produced.",.....); |
| fbe0 | 0a 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 72 20 6f 66 20 73 61 66 65 74 79 52 65 73 69 64 | .....for.(const.r.of.safetyResid |
| fc00 | 75 61 6c 29 20 7b 0a 09 09 09 09 09 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 28 | ual).{......appendEventToChunks( |
| fc20 | 63 68 75 6e 6b 73 2c 20 72 29 3b 0a 09 09 09 09 09 79 69 65 6c 64 20 72 3b 0a 09 09 09 09 7d 0a | chunks,.r);......yield.r;.....}. |
| fc40 | 09 09 09 7d 0a 0a 09 09 09 2f 2f 20 42 75 69 6c 64 20 74 68 65 20 66 69 6e 61 6c 20 61 73 73 69 | ...}.....//.Build.the.final.assi |
| fc60 | 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 | stant.message.from.the.accumulat |
| fc80 | 65 64 20 63 68 75 6e 6b 73 2e 0a 09 09 09 2f 2f 20 49 66 20 6e 6f 20 61 73 73 69 73 74 61 6e 74 | ed.chunks.....//.If.no.assistant |
| fca0 | 20 74 75 72 6e 20 6d 65 73 73 61 67 65 20 77 61 73 20 65 76 65 72 20 63 72 65 61 74 65 64 20 28 | .turn.message.was.ever.created.( |
| fcc0 | 65 2e 67 2e 2c 20 74 68 65 20 6d 6f 64 65 6c 0a 09 09 09 2f 2f 20 70 72 6f 64 75 63 65 64 20 6e | e.g.,.the.model....//.produced.n |
| fce0 | 6f 74 68 69 6e 67 20 e2 80 94 20 75 6e 75 73 75 61 6c 20 62 75 74 20 70 6f 73 73 69 62 6c 65 29 | othing.....unusual.but.possible) |
| fd00 | 2c 20 73 79 6e 74 68 65 73 69 7a 65 20 61 6e 20 65 6d 70 74 79 20 6f 6e 65 2e 0a 09 09 09 63 6f | ,.synthesize.an.empty.one.....co |
| fd20 | 6e 73 74 20 61 73 73 69 73 74 61 6e 74 4d 65 73 73 61 67 65 3a 20 43 68 61 74 4d 65 73 73 61 67 | nst.assistantMessage:.ChatMessag |
| fd40 | 65 20 3d 20 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 20 3f 3f 20 7b 0a 09 09 | e.=.assistantTurnMessage.??.{... |
| fd60 | 09 09 72 6f 6c 65 3a 20 22 61 73 73 69 73 74 61 6e 74 22 2c 0a 09 09 09 09 63 68 75 6e 6b 73 2c | ..role:."assistant",.....chunks, |
| fd80 | 0a 09 09 09 7d 3b 0a 09 09 09 2f 2f 20 60 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 | ....};....//.`assistantTurnMessa |
| fda0 | 67 65 60 20 77 61 73 20 70 75 73 68 65 64 20 69 6e 74 6f 20 60 73 74 65 70 4d 65 73 73 61 67 65 | ge`.was.pushed.into.`stepMessage |
| fdc0 | 73 60 20 62 75 74 20 6e 6f 74 20 69 6e 74 6f 0a 09 09 09 2f 2f 20 60 74 68 69 73 2e 6d 65 73 73 | s`.but.not.into....//.`this.mess |
| fde0 | 61 67 65 73 60 20 e2 80 94 20 70 75 73 68 20 69 74 20 6e 6f 77 20 73 6f 20 74 68 65 20 61 67 65 | ages`.....push.it.now.so.the.age |
| fe00 | 6e 74 27 73 20 6f 75 74 77 61 72 64 2d 66 61 63 69 6e 67 0a 09 09 09 2f 2f 20 68 69 73 74 6f 72 | nt's.outward-facing....//.histor |
| fe20 | 79 20 72 65 66 6c 65 63 74 73 20 74 68 65 20 74 75 72 6e 2e 0a 09 09 09 74 68 69 73 2e 6d 65 73 | y.reflects.the.turn.....this.mes |
| fe40 | 73 61 67 65 73 2e 70 75 73 68 28 61 73 73 69 73 74 61 6e 74 4d 65 73 73 61 67 65 29 3b 0a 0a 09 | sages.push(assistantMessage);... |
| fe60 | 09 09 2f 2f 20 4e 4f 54 45 3a 20 71 75 65 75 65 64 20 6d 65 73 73 61 67 65 73 20 74 68 61 74 20 | ..//.NOTE:.queued.messages.that. |
| fe80 | 61 72 72 69 76 65 20 41 46 54 45 52 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 63 61 6c 6c 20 | arrive.AFTER.the.last.tool.call. |
| fea0 | 28 6f 72 20 77 69 74 68 0a 09 09 09 2f 2f 20 6e 6f 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 61 74 20 | (or.with....//.no.tool.calls.at. |
| fec0 | 61 6c 6c 29 20 61 72 65 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 4e 4f 54 20 64 72 61 69 6e | all).are.intentionally.NOT.drain |
| fee0 | 65 64 20 68 65 72 65 2e 20 44 72 61 69 6e 69 6e 67 0a 09 09 09 2f 2f 20 74 68 65 6d 20 69 6e 74 | ed.here..Draining....//.them.int |
| ff00 | 6f 20 60 74 68 69 73 2e 6d 65 73 73 61 67 65 73 60 20 61 73 20 61 20 74 72 61 69 6c 69 6e 67 20 | o.`this.messages`.as.a.trailing. |
| ff20 | 75 73 65 72 20 74 75 72 6e 20 e2 80 94 20 74 68 65 20 6f 6c 64 0a 09 09 09 2f 2f 20 62 65 68 61 | user.turn.....the.old....//.beha |
| ff40 | 76 69 6f 75 72 20 e2 80 94 20 6c 65 66 74 20 74 68 65 6d 20 73 69 74 74 69 6e 67 20 69 6e 20 68 | viour.....left.them.sitting.in.h |
| ff60 | 69 73 74 6f 72 79 20 77 69 74 68 20 6e 6f 20 6d 6f 64 65 6c 20 72 65 73 70 6f 6e 73 65 3a 0a 09 | istory.with.no.model.response:.. |
| ff80 | 09 09 2f 2f 20 74 68 65 20 74 75 72 6e 20 65 6e 64 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 | ..//.the.turn.ended.instead.of.a |
| ffa0 | 6e 73 77 65 72 69 6e 67 20 74 68 65 6d 20 28 74 68 65 20 22 71 75 65 75 65 20 6e 6f 74 20 63 6f | nswering.them.(the."queue.not.co |
| ffc0 | 6e 73 75 6d 65 64 0a 09 09 09 2f 2f 20 61 66 74 65 72 20 74 68 65 20 74 75 72 6e 20 65 6e 64 73 | nsumed....//.after.the.turn.ends |
| ffe0 | 22 20 62 75 67 29 2e 20 54 68 65 79 20 6e 6f 77 20 73 74 61 79 20 6f 6e 20 74 68 65 20 71 75 65 | ".bug)..They.now.stay.on.the.que |
| 10000 | 75 65 20 73 6f 20 74 68 65 0a 09 09 09 2f 2f 20 6f 72 63 68 65 73 74 72 61 74 6f 72 20 28 60 41 | ue.so.the....//.orchestrator.(`A |
| 10020 | 67 65 6e 74 4d 61 6e 61 67 65 72 2e 70 72 6f 63 65 73 73 4d 65 73 73 61 67 65 60 29 20 63 61 6e | gentManager.processMessage`).can |
| 10040 | 20 73 74 61 72 74 20 61 20 66 72 65 73 68 20 74 75 72 6e 0a 09 09 09 2f 2f 20 66 6f 72 20 74 68 | .start.a.fresh.turn....//.for.th |
| 10060 | 65 6d 20 6f 6e 63 65 20 74 68 69 73 20 6f 6e 65 20 73 65 74 74 6c 65 73 2e 20 4d 69 64 2d 74 75 | em.once.this.one.settles..Mid-tu |
| 10080 | 72 6e 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 73 74 69 6c 6c 0a 09 09 09 2f 2f 20 69 6e | rn.interrupts.are.still....//.in |
| 100a0 | 6a 65 63 74 65 64 20 69 6e 74 6f 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 72 65 73 75 6c 74 | jected.into.the.last.tool.result |
| 100c0 | 20 61 62 6f 76 65 20 e2 80 94 20 74 68 61 74 20 70 61 74 68 20 69 73 20 75 6e 63 68 61 6e 67 65 | .above.....that.path.is.unchange |
| 100e0 | 64 2e 0a 0a 09 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 64 6f 6e 65 22 2c 20 6d 65 73 | d......yield.{.type:."done",.mes |
| 10100 | 73 61 67 65 3a 20 61 73 73 69 73 74 61 6e 74 4d 65 73 73 61 67 65 20 7d 3b 0a 09 09 7d 20 63 61 | sage:.assistantMessage.};...}.ca |
| 10120 | 74 63 68 20 28 65 72 72 29 20 7b 0a 09 09 09 63 6f 6e 73 74 20 65 72 72 52 65 63 6f 72 64 20 3d | tch.(err).{....const.errRecord.= |
| 10140 | 20 65 72 72 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 61 73 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 | .err.as.unknown.as.Record<string |
| 10160 | 2c 20 75 6e 6b 6e 6f 77 6e 3e 3b 0a 09 09 09 63 6f 6e 73 74 20 73 74 61 74 75 73 43 6f 64 65 20 | ,.unknown>;....const.statusCode. |
| 10180 | 3d 0a 09 09 09 09 74 79 70 65 6f 66 20 65 72 72 52 65 63 6f 72 64 2e 73 74 61 74 75 73 43 6f 64 | =.....typeof.errRecord.statusCod |
| 101a0 | 65 20 3d 3d 3d 20 22 6e 75 6d 62 65 72 22 20 3f 20 65 72 72 52 65 63 6f 72 64 2e 73 74 61 74 75 | e.===."number".?.errRecord.statu |
| 101c0 | 73 43 6f 64 65 20 3a 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 09 63 6f 6e 73 74 20 65 72 72 6f | sCode.:.undefined;....const.erro |
| 101e0 | 72 4d 73 67 20 3d 20 66 6f 72 6d 61 74 45 72 72 6f 72 28 65 72 72 2c 20 74 68 69 73 2e 63 6f 6e | rMsg.=.formatError(err,.this.con |
| 10200 | 66 69 67 29 3b 0a 09 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 65 72 72 6f 72 22 2c 20 | fig);....yield.{.type:."error",. |
| 10220 | 65 72 72 6f 72 3a 20 65 72 72 6f 72 4d 73 67 2c 20 2e 2e 2e 28 73 74 61 74 75 73 43 6f 64 65 20 | error:.errorMsg,....(statusCode. |
| 10240 | 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64 20 3f 20 7b 20 73 74 61 74 75 73 43 6f 64 65 20 7d 20 3a | !==.undefined.?.{.statusCode.}.: |
| 10260 | 20 7b 7d 29 20 7d 3b 0a 09 09 09 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 65 72 72 6f 72 22 | .{}).};....this.status.=."error" |
| 10280 | 3b 0a 09 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 73 74 61 74 75 73 22 2c 20 73 74 61 | ;....yield.{.type:."status",.sta |
| 102a0 | 74 75 73 3a 20 22 65 72 72 6f 72 22 20 7d 3b 0a 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 7d 0a 0a | tus:."error".};....return;...}.. |
| 102c0 | 09 09 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 69 64 6c 65 22 3b 0a 09 09 79 69 65 6c 64 20 | ..this.status.=."idle";...yield. |
| 102e0 | 7b 20 74 79 70 65 3a 20 22 73 74 61 74 75 73 22 2c 20 73 74 61 74 75 73 3a 20 22 69 64 6c 65 22 | {.type:."status",.status:."idle" |
| 10300 | 20 7d 3b 0a 09 7d 0a 7d 0a | .};..}.}. |