| 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 20 4c 61 6e 67 75 61 67 65 4d 6f 64 65 6c 55 | s";.import.type.{.LanguageModelU |
| 0080 | 73 61 67 65 2c 20 4d 6f 64 65 6c 4d 65 73 73 61 67 65 2c 20 53 79 73 74 65 6d 4d 6f 64 65 6c 4d | sage,.ModelMessage,.SystemModelM |
| 00a0 | 65 73 73 61 67 65 20 7d 20 66 72 6f 6d 20 22 61 69 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 73 74 72 | essage.}.from."ai";.import.{.str |
| 00c0 | 65 61 6d 54 65 78 74 20 7d 20 66 72 6f 6d 20 22 61 69 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 67 65 | eamText.}.from."ai";.import.{.ge |
| 00e0 | 74 41 67 65 6e 74 44 69 72 50 61 74 68 73 20 7d 20 66 72 6f 6d 20 22 2e 2e 2f 61 67 65 6e 74 73 | tAgentDirPaths.}.from."../agents |
| 0100 | 2f 6c 6f 61 64 65 72 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 61 70 70 65 6e 64 45 76 65 6e | /loader.js";.import.{.appendEven |
| 0120 | 74 54 6f 43 68 75 6e 6b 73 20 7d 20 66 72 6f 6d 20 22 2e 2e 2f 63 68 75 6e 6b 73 2f 61 70 70 65 | tToChunks.}.from."../chunks/appe |
| 0140 | 6e 64 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 62 75 69 6c 64 42 69 6c 6c 69 6e 67 48 65 61 | nd.js";.import.{.buildBillingHea |
| 0160 | 64 65 72 56 61 6c 75 65 2c 20 53 59 53 54 45 4d 5f 49 44 45 4e 54 49 54 59 20 7d 20 66 72 6f 6d | derValue,.SYSTEM_IDENTITY.}.from |
| 0180 | 20 22 2e 2e 2f 63 72 65 64 65 6e 74 69 61 6c 73 2f 63 6c 61 75 64 65 2e 6a 73 22 3b 0a 69 6d 70 | ."../credentials/claude.js";.imp |
| 01a0 | 6f 72 74 20 7b 0a 09 6c 6f 67 41 67 65 6e 74 4c 6f 6f 70 2c 0a 09 6c 6f 67 53 74 65 70 4c 69 66 | ort.{..logAgentLoop,..logStepLif |
| 01c0 | 65 63 79 63 6c 65 2c 0a 09 6c 6f 67 53 74 72 65 61 6d 45 76 65 6e 74 2c 0a 09 6e 65 78 74 44 65 | ecycle,..logStreamEvent,..nextDe |
| 01e0 | 62 75 67 53 65 71 2c 0a 7d 20 66 72 6f 6d 20 22 2e 2e 2f 6c 6c 6d 2f 64 65 62 75 67 2d 6c 6f 67 | bugSeq,.}.from."../llm/debug-log |
| 0200 | 67 65 72 2e 6a 73 22 3b 0a 69 6d 70 6f 72 74 20 7b 20 63 72 65 61 74 65 50 72 6f 76 69 64 65 72 | ger.js";.import.{.createProvider |
| 0220 | 2c 20 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 2c 20 75 6e 70 72 65 66 69 78 54 6f 6f 6c 4e 61 | ,.prefixToolName,.unprefixToolNa |
| 0240 | 6d 65 20 7d 20 66 72 6f 6d 20 22 2e 2e 2f 6c 6c 6d 2f 70 72 6f 76 69 64 65 72 2e 6a 73 22 3b 0a | me.}.from."../llm/provider.js";. |
| 0260 | 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 6d 20 22 2e 2e | import.{.canonicalize.}.from.".. |
| 0280 | 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 72 74 20 7b 20 | /tools/path-utils.js";.import.{. |
| 02a0 | 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 2e 2e 2f 74 6f | createToolRegistry.}.from."../to |
| 02c0 | 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 61 6e 61 6c 79 | ols/registry.js";.import.{.analy |
| 02e0 | 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 73 68 65 6c 6c | zeCommand.}.from."../tools/shell |
| 0300 | 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 79 54 72 75 6e | -analyze.js";.import.{.applyTrun |
| 0320 | 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 2e 2e 2f 74 6f | cation,.SPILL_ROOT.}.from."../to |
| 0340 | 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 70 65 20 7b 0a | ols/truncate.js";.import.type.{. |
| 0360 | 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 09 41 67 65 6e | .AgentConfig,..AgentEvent,..Agen |
| 0380 | 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 6e 6b 2c 0a 09 | tStatus,..ChatMessage,..Chunk,.. |
| 03a0 | 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 66 66 6f 72 74 | QueueCallbacks,..ReasoningEffort |
| 03c0 | 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 7d 20 66 72 6f 6d | ,..ToolCall,..ToolResult,.}.from |
| 03e0 | 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 7b 20 44 | ."../types/index.js";.import.{.D |
| 0400 | 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 6d 20 22 | EFAULT_REASONING_EFFORT.}.from." |
| 0420 | 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 65 62 75 | ../types/index.js";../**..*.Rebu |
| 0440 | 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 72 6f 6d | ild.AI.SDK.`ModelMessage[]`.from |
| 0460 | 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 2e 0a 20 | .our.internal.`ChatMessage[]`... |
| 0480 | 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 75 6e 6b | *..*.Strip.rules.(see.plan-chunk |
| 04a0 | 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 73 79 73 | -refactor.md):..*..-.`role:."sys |
| 04c0 | 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 6f 6c 65 | tem"`.messages.are.skipped.whole |
| 04e0 | 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 20 20 20 | sale.(they're.display-only..*... |
| 0500 | 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 61 74 20 | .standalone-system.bubbles.that. |
| 0520 | 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 2e 0a 20 | exist.outside.any.model.turn)... |
| 0540 | 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 65 64 20 | *..-.`error`.chunks.are.skipped. |
| 0560 | 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 6f 65 73 | ....the.turn.ended;.the.LLM.does |
| 0580 | 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 20 63 68 | n't.need.them...*..-.`system`.ch |
| 05a0 | 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 6f 6e 6c | unks.are.skipped.....display-onl |
| 05c0 | 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 73 20 e2 | y.notices...*..-.`text`.chunks.. |
| 05e0 | 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 61 72 74 | ...`{.type:."text",.text.}`.part |
| 0600 | 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 92 20 60 | s...*..-.`thinking`.chunks.....` |
| 0620 | 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 6f 76 69 | {.type:."reasoning",.text,.provi |
| 0640 | 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 68 65 20 | derOptions?.}`.parts...*....The. |
| 0660 | 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 20 41 6e | `providerOptions`.carries.the.An |
| 0680 | 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 65 73 65 | thropic.signature.blob.(if.prese |
| 06a0 | 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 6c 69 64 | nt).so..*....Anthropic.can.valid |
| 06c0 | 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 72 69 70 | ate.extended-thinking.round-trip |
| 06e0 | 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 69 6e 67 | s..Non-Anthropic..*....reasoning |
| 0700 | 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 77 69 74 | .has.no.metadata.and.is.sent.wit |
| 0720 | 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 64 0a 20 | hout.providerOptions.(accepted.. |
| 0740 | 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 20 77 6f | *....by.Anthropic.....it.just.wo |
| 0760 | 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 65 29 2e | n't.verify.a.missing.signature). |
| 0780 | 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 92 20 6f | ..*..-.`tool-batch`.chunks.....o |
| 07a0 | 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 72 74 20 | ne.`{.type:."tool-call".}`.part. |
| 07c0 | 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 72 72 65 | per.entry..*....inside.the.curre |
| 07e0 | 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 64 20 62 | nt.assistant.message,.followed.b |
| 0800 | 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 6f 6c 22 | y.a.SINGLE..*....`{.role:."tool" |
| 0820 | 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 74 20 70 | ,.content:.[...all.tool-result.p |
| 0840 | 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 20 20 65 | arts].}`.message.holding..*....e |
| 0860 | 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 20 47 72 | very.entry.that.has.a.result..Gr |
| 0880 | 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 67 65 20 | ouping.(rather.than.one.message. |
| 08a0 | 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 6f 70 69 | per..*....result).keeps.Anthropi |
| 08c0 | 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 6c 61 6e | c.prompt-caching.breakpoints.lan |
| 08e0 | 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 6f 6f 6c | ding.on.the..*....assistant/tool |
| 0900 | 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 61 74 20 | .turn.boundary;.the.wire.format. |
| 0920 | 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 20 20 20 | is.identical.for.both.the..*.... |
| 0940 | 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 6c 65 20 | Anthropic.and.OpenAI-compatible. |
| 0960 | 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 69 6f 6e | backends...*..*.Mixed-resolution |
| 0980 | 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 69 74 68 | .tool.batches.(some.entries.with |
| 09a0 | 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 77 65 20 | .`result`,.some.without):..*.we. |
| 09c0 | 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 65 20 65 | emit.tool-results.only.for.the.e |
| 09e0 | 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 63 74 69 | ntries.that.have.them..In.practi |
| 0a00 | 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 79 20 74 | ce..*.the.agent.resolves.every.t |
| 0a20 | 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 70 69 6e | ool.call.in.a.step.before.loopin |
| 0a40 | 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 20 63 61 | g.back.to.the..*.LLM,.so.this.ca |
| 0a60 | 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 65 20 74 | se.only.arises.mid-step.(where.t |
| 0a80 | 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 6e 64 2d | he.message.hasn't.been..*.round- |
| 0aa0 | 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 73 20 62 | tripped.to.the.LLM.yet).and.is.b |
| 0ac0 | 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 20 74 6f | enign...*/./**..*.Marker.used.to |
| 0ae0 | 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 45 52 20 | .identify.the.start.of.a.`[USER. |
| 0b00 | 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 20 69 6e | INTERRUPT]`.block.embedded..*.in |
| 0b20 | 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 74 2d 6c | .a.tool.result..Both.the.agent-l |
| 0b40 | 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 63 6f 72 | evel.injection..*.(`packages/cor |
| 0b60 | 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 65 20 74 | e/src/agent/agent.ts`).and.the.t |
| 0b80 | 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 75 6e 2d | ool-level.injections.in..*.`run- |
| 0ba0 | 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 20 61 6e | shell`,.`youtube-transcribe`,.an |
| 0bc0 | 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 61 72 61 | d.`retrieve`.use.the.same.separa |
| 0be0 | 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 60 29 20 | tor..*.(`\n\n[USER.INTERRUPT]`). |
| 0c00 | 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 73 69 6e | before.the.boilerplate,.so.a.sin |
| 0c20 | 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 63 65 73 | gle.substring..*.search.suffices |
| 0c40 | 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 52 5f 49 | .for.stripping...*/.const.USER_I |
| 0c60 | 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 49 4e 54 | NTERRUPT_MARKER.=."\n\n[USER.INT |
| 0c80 | 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 60 5b 55 | ERRUPT]";../**..*.Remove.the.`[U |
| 0ca0 | 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 65 72 79 | SER.INTERRUPT]`.block.(and.every |
| 0cc0 | 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 2a 20 72 | thing.after.it).from.a.tool..*.r |
| 0ce0 | 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 74 6f 72 | esult.string..Used.when.a.histor |
| 0d00 | 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 73 65 72 | ical.tool-result.is.being.re-ser |
| 0d20 | 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 65 20 6d | ialized..*.for.the.LLM.and.the.m |
| 0d40 | 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 20 74 6f | odel.has.already.had.a.chance.to |
| 0d60 | 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 94 20 6c | .address.that..*.interrupt.....l |
| 0d80 | 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 53 54 20 | eaving.the.imperative."You.MUST. |
| 0da0 | 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 63 65 20 | address.these".text.in..*.place. |
| 0dc0 | 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 6c 65 64 | causes.the.model.to.re-acknowled |
| 0de0 | 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 79 0a 20 | ge.the.same.interrupt.on.every.. |
| 0e00 | 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 69 6e 74 | *.subsequent.step...*..*.The.int |
| 0e20 | 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 65 64 20 | errupt.block.is.always.appended. |
| 0e40 | 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 2c 20 73 | to.the.end.of.the.tool.result,.s |
| 0e60 | 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 20 74 6f | o..*.we.strip.from.the.marker.to |
| 0e80 | 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 73 74 72 | .end-of-string...*/.function.str |
| 0ea0 | 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 73 74 72 | ipUserInterruptBlock(result:.str |
| 0ec0 | 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 65 73 75 | ing):.string.{..const.idx.=.resu |
| 0ee0 | 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 4b 45 52 | lt.indexOf(USER_INTERRUPT_MARKER |
| 0f00 | 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 73 75 6c | );..if.(idx.===.-1).return.resul |
| 0f20 | 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 78 29 3b | t;..return.result.slice(0,.idx); |
| 0f40 | 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 6c 61 70 | .}../**..*.Stable.key.for.collap |
| 0f60 | 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 73 20 69 | sing.byte-identical.tool.calls.i |
| 0f80 | 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 6c 61 75 | nside.a.single.batch...*..*.Clau |
| 0fa0 | 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 6e 74 6f | de.occasionally.degenerates.into |
| 0fc0 | 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 74 68 65 | .a.generation.loop.and.emits.the |
| 0fe0 | 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 20 2b 20 | .same..*.tool.call.(same.name.+. |
| 1000 | 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 65 6e 20 | same.arguments).dozens.....even. |
| 1020 | 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 6c 6c 65 | 150+.....times.in.one..*.paralle |
| 1040 | 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 69 63 61 | l.batch.(see.tool-runner-duplica |
| 1060 | 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 63 61 72 | tion-incident.md)..Each.copy.car |
| 1080 | 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 61 6c 6c | ries..*.its.own.unique.`toolCall |
| 10a0 | 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 72 65 73 | Id`,.so.Anthropic.still.requires |
| 10c0 | 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 20 6f 6e | .a.`tool_result`.for..*.every.on |
| 10e0 | 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 20 69 64 | e,.but.re-executing.identical.id |
| 1100 | 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 6c 6c 2d | empotent.reads.wastes.real.wall- |
| 1120 | 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 6c 6f 6f | clock..*.time.and.money.and.floo |
| 1140 | 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 20 6f 75 | ds.the.context.with.redundant.ou |
| 1160 | 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 75 6c 6c | tput...*..*.Returning.a.non-null |
| 1180 | 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 75 6e 20 | .key.here.lets.the.executor.run. |
| 11a0 | 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 65 75 73 | the.FIRST.occurrence.and..*.reus |
| 11c0 | 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 75 65 6e | e.its.result.for.every.subsequen |
| 11e0 | 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 62 61 74 | t.identical.call.in.the.same.bat |
| 1200 | 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 4e 2e 73 | ch..The..*.key.relies.on.`JSON.s |
| 1220 | 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 20 6f 72 | tringify`.preserving.argument.or |
| 1240 | 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 72 61 74 | der.....two.identical..*.generat |
| 1260 | 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 94 20 77 | ions.serialize.identically.....w |
| 1280 | 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 75 72 65 | hich.covers.the.observed.failure |
| 12a0 | 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 6e 27 74 | .mode...*.If.the.arguments.can't |
| 12c0 | 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 6c 60 2c | .be.serialized.we.return.`null`, |
| 12e0 | 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 74 68 61 | .which.disables.dedup..*.for.tha |
| 1300 | 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 20 2a 2f | t.call.(it.always.executes)...*/ |
| 1320 | 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 73 74 72 | .function.toolDedupKey(name:.str |
| 1340 | 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 6e 6f 77 | ing,.args:.Record<string,.unknow |
| 1360 | 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 09 72 65 | n>):.string.|.null.{..try.{...re |
| 1380 | 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 79 28 61 | turn.`${name}.${JSON.stringify(a |
| 13a0 | 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 74 75 72 | rgs.??.{})}`;..}.catch.{...retur |
| 13c0 | 6e 20 6e 75 6c 6c 3b 0a 09 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 74 6f 4d 6f 64 65 6c 4d 65 | n.null;..}.}..function.toModelMe |
| 13e0 | 73 73 61 67 65 73 28 6d 65 73 73 61 67 65 73 3a 20 43 68 61 74 4d 65 73 73 61 67 65 5b 5d 2c 20 | ssages(messages:.ChatMessage[],. |
| 1400 | 75 73 65 54 6f 6f 6c 50 72 65 66 69 78 3f 3a 20 62 6f 6f 6c 65 61 6e 29 3a 20 4d 6f 64 65 6c 4d | useToolPrefix?:.boolean):.ModelM |
| 1420 | 65 73 73 61 67 65 5b 5d 20 7b 0a 09 63 6f 6e 73 74 20 72 65 73 75 6c 74 3a 20 4d 6f 64 65 6c 4d | essage[].{..const.result:.ModelM |
| 1440 | 65 73 73 61 67 65 5b 5d 20 3d 20 5b 5d 3b 0a 0a 09 2f 2f 20 41 20 60 5b 55 53 45 52 20 49 4e 54 | essage[].=.[];...//.A.`[USER.INT |
| 1460 | 45 52 52 55 50 54 5d 60 20 62 6c 6f 63 6b 20 69 6e 20 61 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 | ERRUPT]`.block.in.a.tool-result. |
| 1480 | 69 73 20 22 66 72 65 73 68 22 20 e2 80 94 20 69 2e 65 2e 2c 20 74 68 65 0a 09 2f 2f 20 6d 6f 64 | is."fresh".....i.e.,.the..//.mod |
| 14a0 | 65 6c 20 68 61 73 20 6e 6f 74 20 79 65 74 20 73 65 65 6e 20 61 6e 64 20 72 65 73 70 6f 6e 64 65 | el.has.not.yet.seen.and.responde |
| 14c0 | 64 20 74 6f 20 69 74 20 e2 80 94 20 6f 6e 6c 79 20 77 68 65 6e 20 41 4c 4c 20 6f 66 20 74 68 65 | d.to.it.....only.when.ALL.of.the |
| 14e0 | 73 65 0a 09 2f 2f 20 68 6f 6c 64 3a 0a 09 2f 2f 20 20 20 31 2e 20 54 68 65 20 74 6f 6f 6c 2d 62 | se..//.hold:..//...1..The.tool-b |
| 1500 | 61 74 63 68 20 69 73 20 69 6e 20 74 68 65 20 76 65 72 79 20 6c 61 73 74 20 6d 65 73 73 61 67 65 | atch.is.in.the.very.last.message |
| 1520 | 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0a 09 2f 2f 20 20 20 32 2e 20 54 68 61 74 20 6d | .of.the.history...//...2..That.m |
| 1540 | 65 73 73 61 67 65 20 69 73 20 61 6e 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 28 | essage.is.an.assistant.message.( |
| 1560 | 61 20 66 6f 6c 6c 6f 77 2d 75 70 20 75 73 65 72 20 6d 65 73 73 61 67 65 0a 09 2f 2f 20 20 20 20 | a.follow-up.user.message..//.... |
| 1580 | 20 20 6d 65 61 6e 73 20 74 68 65 20 75 73 65 72 20 6d 6f 76 65 64 20 6f 6e 3b 20 74 68 65 20 69 | ..means.the.user.moved.on;.the.i |
| 15a0 | 6e 74 65 72 72 75 70 74 20 77 61 73 20 61 64 64 72 65 73 73 65 64 29 2e 0a 09 2f 2f 20 20 20 33 | nterrupt.was.addressed)...//...3 |
| 15c0 | 2e 20 54 68 65 20 74 6f 6f 6c 2d 62 61 74 63 68 20 69 73 20 74 68 65 20 4c 41 53 54 20 63 68 75 | ..The.tool-batch.is.the.LAST.chu |
| 15e0 | 6e 6b 20 69 6e 20 74 68 61 74 20 6d 65 73 73 61 67 65 20 28 61 6e 79 20 6c 61 74 65 72 0a 09 2f | nk.in.that.message.(any.later../ |
| 1600 | 2f 20 20 20 20 20 20 74 65 78 74 2f 74 68 69 6e 6b 69 6e 67 2f 74 6f 6f 6c 2d 62 61 74 63 68 20 | /......text/thinking/tool-batch. |
| 1620 | 69 6e 20 74 68 65 20 73 61 6d 65 20 6d 65 73 73 61 67 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 | in.the.same.message.represents.t |
| 1640 | 68 65 0a 09 2f 2f 20 20 20 20 20 20 6d 6f 64 65 6c 27 73 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 | he..//......model's.response.to. |
| 1660 | 74 68 65 20 74 6f 6f 6c 20 72 65 73 75 6c 74 73 29 2e 0a 09 2f 2f 0a 09 2f 2f 20 41 6c 6c 20 6f | the.tool.results)...//..//.All.o |
| 1680 | 74 68 65 72 20 69 6e 74 65 72 72 75 70 74 73 20 67 65 74 20 73 74 72 69 70 70 65 64 20 66 72 6f | ther.interrupts.get.stripped.fro |
| 16a0 | 6d 20 68 69 73 74 6f 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20 69 6d 70 65 72 61 74 69 76 65 | m.history.because.the.imperative |
| 16c0 | 0a 09 2f 2f 20 22 59 6f 75 20 4d 55 53 54 20 61 64 64 72 65 73 73 20 74 68 65 73 65 22 20 6f 74 | ..//."You.MUST.address.these".ot |
| 16e0 | 68 65 72 77 69 73 65 20 67 65 74 73 20 72 65 2d 65 76 61 6c 75 61 74 65 64 20 61 73 20 61 20 66 | herwise.gets.re-evaluated.as.a.f |
| 1700 | 72 65 73 68 0a 09 2f 2f 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 6e 20 65 76 65 72 79 20 73 75 | resh..//.instruction.on.every.su |
| 1720 | 62 73 65 71 75 65 6e 74 20 4c 4c 4d 20 73 74 65 70 2e 0a 09 6c 65 74 20 66 72 65 73 68 65 73 74 | bsequent.LLM.step...let.freshest |
| 1740 | 54 6f 6f 6c 42 61 74 63 68 4d 73 67 49 64 78 20 3d 20 2d 31 3b 0a 09 6c 65 74 20 66 72 65 73 68 | ToolBatchMsgIdx.=.-1;..let.fresh |
| 1760 | 65 73 74 54 6f 6f 6c 42 61 74 63 68 43 68 75 6e 6b 49 64 78 20 3d 20 2d 31 3b 0a 09 63 6f 6e 73 | estToolBatchChunkIdx.=.-1;..cons |
| 1780 | 74 20 6c 61 73 74 4d 73 67 49 64 78 20 3d 20 6d 65 73 73 61 67 65 73 2e 6c 65 6e 67 74 68 20 2d | t.lastMsgIdx.=.messages.length.- |
| 17a0 | 20 31 3b 0a 09 63 6f 6e 73 74 20 6c 61 73 74 4d 73 67 20 3d 20 6d 65 73 73 61 67 65 73 5b 6c 61 | .1;..const.lastMsg.=.messages[la |
| 17c0 | 73 74 4d 73 67 49 64 78 5d 3b 0a 09 69 66 20 28 6c 61 73 74 4d 73 67 20 26 26 20 6c 61 73 74 4d | stMsgIdx];..if.(lastMsg.&&.lastM |
| 17e0 | 73 67 2e 72 6f 6c 65 20 3d 3d 3d 20 22 61 73 73 69 73 74 61 6e 74 22 20 26 26 20 6c 61 73 74 4d | sg.role.===."assistant".&&.lastM |
| 1800 | 73 67 2e 63 68 75 6e 6b 73 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 63 6f 6e 73 74 20 | sg.chunks.length.>.0).{...const. |
| 1820 | 6c 61 73 74 43 68 75 6e 6b 49 64 78 20 3d 20 6c 61 73 74 4d 73 67 2e 63 68 75 6e 6b 73 2e 6c 65 | lastChunkIdx.=.lastMsg.chunks.le |
| 1840 | 6e 67 74 68 20 2d 20 31 3b 0a 09 09 63 6f 6e 73 74 20 6c 61 73 74 43 68 75 6e 6b 20 3d 20 6c 61 | ngth.-.1;...const.lastChunk.=.la |
| 1860 | 73 74 4d 73 67 2e 63 68 75 6e 6b 73 5b 6c 61 73 74 43 68 75 6e 6b 49 64 78 5d 3b 0a 09 09 69 66 | stMsg.chunks[lastChunkIdx];...if |
| 1880 | 20 28 6c 61 73 74 43 68 75 6e 6b 20 26 26 20 6c 61 73 74 43 68 75 6e 6b 2e 74 79 70 65 20 3d 3d | .(lastChunk.&&.lastChunk.type.== |
| 18a0 | 3d 20 22 74 6f 6f 6c 2d 62 61 74 63 68 22 29 20 7b 0a 09 09 09 66 72 65 73 68 65 73 74 54 6f 6f | =."tool-batch").{....freshestToo |
| 18c0 | 6c 42 61 74 63 68 4d 73 67 49 64 78 20 3d 20 6c 61 73 74 4d 73 67 49 64 78 3b 0a 09 09 09 66 72 | lBatchMsgIdx.=.lastMsgIdx;....fr |
| 18e0 | 65 73 68 65 73 74 54 6f 6f 6c 42 61 74 63 68 43 68 75 6e 6b 49 64 78 20 3d 20 6c 61 73 74 43 68 | eshestToolBatchChunkIdx.=.lastCh |
| 1900 | 75 6e 6b 49 64 78 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 66 6f 72 20 28 6c 65 74 20 6d 73 67 49 64 78 | unkIdx;...}..}...for.(let.msgIdx |
| 1920 | 20 3d 20 30 3b 20 6d 73 67 49 64 78 20 3c 20 6d 65 73 73 61 67 65 73 2e 6c 65 6e 67 74 68 3b 20 | .=.0;.msgIdx.<.messages.length;. |
| 1940 | 6d 73 67 49 64 78 2b 2b 29 20 7b 0a 09 09 63 6f 6e 73 74 20 6d 73 67 20 3d 20 6d 65 73 73 61 67 | msgIdx++).{...const.msg.=.messag |
| 1960 | 65 73 5b 6d 73 67 49 64 78 5d 3b 0a 09 09 69 66 20 28 21 6d 73 67 20 7c 7c 20 6d 73 67 2e 72 6f | es[msgIdx];...if.(!msg.||.msg.ro |
| 1980 | 6c 65 20 3d 3d 3d 20 22 73 79 73 74 65 6d 22 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 09 69 66 | le.===."system").continue;....if |
| 19a0 | 20 28 6d 73 67 2e 72 6f 6c 65 20 3d 3d 3d 20 22 75 73 65 72 22 29 20 7b 0a 09 09 09 2f 2f 20 55 | .(msg.role.===."user").{....//.U |
| 19c0 | 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 20 63 61 6e 20 69 6e | ser.messages.in.our.model.can.in |
| 19e0 | 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 63 68 75 6e 6b 73 2c | .theory.contain.non-text.chunks, |
| 1a00 | 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 65 20 55 49 20 6f 6e | ....//.but.in.practice.the.UI.on |
| 1a20 | 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 6e 61 74 65 20 61 6e | ly.produces.text..Concatenate.an |
| 1a40 | 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 72 65 20 61 6e 79 74 | y.text....//.chunks;.ignore.anyt |
| 1a60 | 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 3d 20 6d 73 67 2e 63 | hing.else.....const.text.=.msg.c |
| 1a80 | 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 69 73 20 45 78 74 72 | hunks......filter((c):.c.is.Extr |
| 1aa0 | 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 20 7d 3e 20 3d 3e 20 | act<Chunk,.{.type:."text".}>.=>. |
| 1ac0 | 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 61 70 28 28 63 29 20 | c.type.===."text")......map((c). |
| 1ae0 | 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 0a 09 09 09 72 65 73 | =>.c.text)......join("");....res |
| 1b00 | 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 63 6f 6e 74 65 6e 74 | ult.push({.role:."user",.content |
| 1b20 | 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 09 7d 0a 0a 09 09 2f | :.text.});....continue;...}..../ |
| 1b40 | 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 2f 2f 0a 09 09 2f 2f | /.role.===."assistant"...//...// |
| 1b60 | 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 73 20 69 6e 74 6f 20 | .Segment.the.turn's.chunks.into. |
| 1b80 | 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 20 74 6f 6f 6c 5d 60 | per-LLM-step.`[assistant,.tool]` |
| 1ba0 | 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 74 74 69 6e 67 20 61 | ...//.message.pairs,.splitting.a |
| 1bc0 | 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 61 72 79 2e 20 45 76 | t.each.`tool-batch`.boundary..Ev |
| 1be0 | 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 20 74 65 78 74 2f 74 | ery...//.round-trip.emits.text/t |
| 1c00 | 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 20 6f 6e 65 20 74 6f | hinking.then.(optionally).one.to |
| 1c20 | 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 62 61 74 63 68 20 69 | ol-batch,.so...//.a.tool-batch.i |
| 1c40 | 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 2e 0a 09 09 2f 2f 0a | s.exactly.a.step.boundary....//. |
| 1c60 | 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 78 3a 20 65 61 63 68 | ..//.This.is.the.cache.fix:.each |
| 1c80 | 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 65 20 62 75 69 6c 74 | .prior.step's.messages.are.built |
| 1ca0 | 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 6b 73 20 61 74 20 66 | .from...//.immutable.chunks.at.f |
| 1cc0 | 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 65 72 69 61 6c 69 7a | ixed.positions,.so.they.serializ |
| 1ce0 | 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 6e 20 65 76 65 72 79 | e...//.byte-identically.on.every |
| 1d00 | 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 20 41 6e 74 68 72 6f | .later.request.....stable.Anthro |
| 1d20 | 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 6f 6c 6c 61 70 73 69 | pic.prompt...//.prefix..Collapsi |
| 1d40 | 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 69 73 74 61 6e 74 20 | ng.all.steps.into.ONE.assistant. |
| 1d60 | 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 61 6e 64 20 74 68 65 | +.ONE.tool.message...//.(and.the |
| 1d80 | 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 6e 6f 72 6d 61 6c 69 | n.letting.the.structural-normali |
| 1da0 | 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 0a 09 09 2f 2f 20 74 | sation.pass.re-bucket.the...//.t |
| 1dc0 | 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 73 29 20 72 65 73 68 | ool_use/tool_result.blocks).resh |
| 1de0 | 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 69 74 69 6f 6e 73 20 | uffled.earlier.steps'.positions. |
| 1e00 | 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 61 74 74 65 72 65 64 | on...//.every.step.and.shattered |
| 1e20 | 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 73 2d 72 65 70 6f 72 | .the.cache.(see.cache-miss-repor |
| 1e40 | 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 72 74 20 3d 0a 09 09 | t.md)....type.AssistantPart.=... |
| 1e60 | 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 73 74 72 69 6e 67 20 | .|.{.type:."text";.text:.string. |
| 1e80 | 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 22 3b 20 74 65 78 74 | }....|.{.type:."reasoning";.text |
| 1ea0 | 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 3f 3a 20 50 72 6f 76 | :.string;.providerOptions?:.Prov |
| 1ec0 | 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 3a 20 22 74 6f 6f 6c | iderOptions.}....|.{.type:."tool |
| 1ee0 | 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 67 3b 20 74 6f 6f 6c | -call";.toolCallId:.string;.tool |
| 1f00 | 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 6f 77 6e 20 7d 3b 0a | Name:.string;.input:.unknown.};. |
| 1f20 | 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 74 6f 6f 6c 43 61 6c | ..type.StepResult.=.{....toolCal |
| 1f40 | 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 20 73 74 72 69 6e 67 | lId:.string;....toolName:.string |
| 1f60 | 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 73 45 72 72 6f 72 3f | ;....result:.string;....isError? |
| 1f80 | 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 72 74 73 3a 20 41 73 | :.boolean;...};....let.parts:.As |
| 1fa0 | 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 20 73 74 65 70 52 65 | sistantPart[].=.[];...let.stepRe |
| 1fc0 | 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 0a 0a 09 09 63 6f 6e | sults:.StepResult[].=.[];....con |
| 1fe0 | 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 3e 20 7b 0a 09 09 09 | st.flushStep.=.():.void.=>.{.... |
| 2000 | 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 09 09 09 72 65 73 75 | if.(parts.length.>.0).{.....resu |
| 2020 | 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 74 22 2c 20 63 6f 6e | lt.push({.role:."assistant",.con |
| 2040 | 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 2f 20 4f 6e 65 20 67 | tent:.parts.});....}....//.One.g |
| 2060 | 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 73 61 67 65 20 70 65 | rouped.`role:."tool"`.message.pe |
| 2080 | 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 09 09 09 2f 2f 20 72 | r.step.holds.that.step's....//.r |
| 20a0 | 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 63 43 61 63 68 69 6e | esults.....`applyAnthropicCachin |
| 20c0 | 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 6f 0a 09 09 09 2f 2f | g`.then.marks.the.last.two....// |
| 20e0 | 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 5b 61 73 73 69 73 74 | .non-system.messages.as.`[assist |
| 2100 | 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 74 68 65 0a 09 09 09 | ant(step),.tool(step)]`,.the.... |
| 2120 | 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 6f 69 6e 74 20 70 6c | //.correct.rolling-breakpoint.pl |
| 2140 | 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 74 73 2e 6c 65 6e 67 | acement.....if.(stepResults.leng |
| 2160 | 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 28 7b 0a 09 09 09 09 | th.>.0).{.....result.push({..... |
| 2180 | 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 6e 74 3a 20 73 74 65 | .role:."tool",......content:.ste |
| 21a0 | 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 09 09 09 09 09 74 79 | pResults.map((tr).=>.({.......ty |
| 21c0 | 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 74 2c 0a 09 09 09 09 | pe:."tool-result".as.const,..... |
| 21e0 | 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 49 64 2c 0a 09 09 09 | ..toolCallId:.tr.toolCallId,.... |
| 2200 | 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 0a 09 09 09 09 09 09 | ...toolName:.tr.toolName,....... |
| 2220 | 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 6c 74 4f 75 74 70 75 | //.v6:.`output`.(ToolResultOutpu |
| 2240 | 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 75 6c 74 60 0a 09 09 | t).replaces.v4's.raw.`result`... |
| 2260 | 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 22 20 61 73 20 63 6f | ....output:.{.type:."text".as.co |
| 2280 | 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 09 09 09 09 09 09 2e | nst,.value:.tr.result.},........ |
| 22a0 | 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 3a 20 74 72 75 65 20 | ..(tr.isError.?.{.isError:.true. |
| 22c0 | 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 3b 0a 09 09 09 7d 0a | }.:.{}),......})),.....});....}. |
| 22e0 | 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 75 6c 74 73 20 3d 20 | ...parts.=.[];....stepResults.=. |
| 2300 | 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 6b 49 64 78 20 3d 20 | [];...};....for.(let.chunkIdx.=. |
| 2320 | 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 6c 65 6e 67 74 68 3b | 0;.chunkIdx.<.msg.chunks.length; |
| 2340 | 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 68 75 6e 6b 20 3d 20 | .chunkIdx++).{....const.chunk.=. |
| 2360 | 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 69 66 20 28 21 63 68 | msg.chunks[chunkIdx];....if.(!ch |
| 2380 | 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 28 63 68 75 6e 6b 2e | unk).continue;....switch.(chunk. |
| 23a0 | 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 09 09 09 09 09 70 61 | type).{.....case."text":......pa |
| 23c0 | 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 74 65 78 74 3a 20 63 | rts.push({.type:."text",.text:.c |
| 23e0 | 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 0a 09 09 09 09 63 61 | hunk.text.});......break;.....ca |
| 2400 | 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 3a 20 63 61 72 72 79 | se."thinking":......//.v6:.carry |
| 2420 | 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 69 63 20 73 69 67 6e | .providerOptions.(Anthropic.sign |
| 2440 | 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 09 09 09 09 2f 2f 20 | ature.blob).if.present.......//. |
| 2460 | 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 61 73 20 6e 6f 20 6d | Non-Anthropic.reasoning.has.no.m |
| 2480 | 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 70 72 6f 76 69 64 65 | etadata.....send.without.provide |
| 24a0 | 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 69 63 20 61 63 63 65 | rOptions......//.(Anthropic.acce |
| 24c0 | 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 73 74 20 77 6f 6e 27 | pts.it;.the.round-trip.just.won' |
| 24e0 | 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 09 09 70 61 72 74 73 | t.carry.a.signature).......parts |
| 2500 | 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 6f 6e 69 6e 67 22 2c | .push({.......type:."reasoning", |
| 2520 | 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 09 09 09 09 09 09 2e | .......text:.chunk.text,........ |
| 2540 | 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 65 66 69 6e 65 64 0a | ..(chunk.metadata.!==.undefined. |
| 2560 | 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 73 3a 20 63 68 75 6e | .......?.{.providerOptions:.chun |
| 2580 | 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 69 6f 6e 73 20 7d 0a | k.metadata.as.ProviderOptions.}. |
| 25a0 | 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 09 09 09 62 72 65 61 | .......:.{}),......});......brea |
| 25c0 | 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 20 7b 0a 09 09 09 09 | k;.....case."tool-batch":.{..... |
| 25e0 | 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 54 45 52 52 55 50 54 | .//.Strip.stale.`[USER.INTERRUPT |
| 2600 | 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 09 2f 2f 20 74 6f 6f | ]`.blocks.from.every......//.too |
| 2620 | 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 73 74 20 6f 6e 65 20 | l-batch.except.the.freshest.one. |
| 2640 | 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 2d 62 61 74 63 68 20 | (most.recent......//.tool-batch. |
| 2660 | 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 61 6e 74 20 6d 65 73 | in.the.most.recent.assistant.mes |
| 2680 | 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 69 73 2c 20 74 68 65 | sage).......//.Without.this,.the |
| 26a0 | 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 72 65 73 73 20 74 68 | .imperative."You.MUST.address.th |
| 26c0 | 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 73 20 69 6e 20 68 69 | ese"......//.text.persists.in.hi |
| 26e0 | 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 6b 6e 6f 77 6c 65 64 | story.and.the.model.re-acknowled |
| 2700 | 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 72 72 75 70 74 20 76 | ges......//.the.same.interrupt.v |
| 2720 | 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 6e 74 20 73 74 65 70 | erbatim.on.every.subsequent.step |
| 2740 | 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 6f 6c 42 61 74 63 68 | .......const.isFreshestToolBatch |
| 2760 | 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 65 73 74 54 6f 6f 6c | .=.......msgIdx.===.freshestTool |
| 2780 | 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 3d 3d 20 66 72 65 73 | BatchMsgIdx.&&.chunkIdx.===.fres |
| 27a0 | 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 09 09 09 66 6f 72 20 | hestToolBatchChunkIdx;......for. |
| 27c0 | 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 6c 73 29 20 7b 0a 09 | (const.entry.of.chunk.calls).{.. |
| 27e0 | 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 54 6f 6f 6c 50 72 65 | .....const.toolName.=.useToolPre |
| 2800 | 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 79 2e 6e 61 6d 65 29 | fix.?.prefixToolName(entry.name) |
| 2820 | 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 36 3a 20 60 69 6e 70 | .:.entry.name;.......//.v6:.`inp |
| 2840 | 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 09 09 09 09 09 09 70 | ut`.replaces.v4's.`args`.......p |
| 2860 | 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 22 74 6f 6f 6c 2d 63 | arts.push({........type:."tool-c |
| 2880 | 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 65 6e 74 72 79 2e 69 | all",........toolCallId:.entry.i |
| 28a0 | 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 09 09 69 6e 70 75 74 | d,........toolName,........input |
| 28c0 | 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 7d 29 3b 0a 09 09 09 | :.entry.arguments,.......});.... |
| 28e0 | 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 65 | ...if.(entry.result.!==.undefine |
| 2900 | 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 65 78 74 20 3d 20 69 | d).{........const.resultText.=.i |
| 2920 | 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 09 09 3f 20 65 6e 74 | sFreshestToolBatch.........?.ent |
| 2940 | 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 55 73 65 72 49 6e 74 | ry.result.........:.stripUserInt |
| 2960 | 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 3b 0a 09 09 09 09 09 | erruptBlock(entry.result);...... |
| 2980 | 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 09 09 09 09 74 6f 6f | ..stepResults.push({.........too |
| 29a0 | 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 09 09 74 6f 6f 6c 4e | lCallId:.entry.id,.........toolN |
| 29c0 | 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 6c 74 54 65 78 74 2c | ame,.........result:.resultText, |
| 29e0 | 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 73 45 72 72 6f 72 2c | .........isError:.entry.isError, |
| 2a00 | 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 7d 0a 09 09 09 09 09 | ........});.......}......}...... |
| 2a20 | 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 86 92 20 65 6d 69 74 | //.End.of.this.LLM.step.....emit |
| 2a40 | 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 70 61 69 72 20 61 6e | .its.`[assistant,.tool]`.pair.an |
| 2a60 | 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 61 69 72 20 66 6f 72 | d......//.start.a.fresh.pair.for |
| 2a80 | 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 68 53 74 65 70 28 29 | .the.next.step.......flushStep() |
| 2aa0 | 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 61 73 65 20 22 65 72 | ;......break;.....}.....case."er |
| 2ac0 | 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 09 09 09 09 09 2f 2f | ror":.....case."system":......// |
| 2ae0 | 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 74 6f 20 74 68 65 20 | .Strip.....not.sent.back.to.the. |
| 2b00 | 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 0a 0a 09 09 2f 2f 20 | LLM.......break;....}...}....//. |
| 2b20 | 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 2f 74 68 69 6e 6b 69 | Final.step:.trailing.text/thinki |
| 2b40 | 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 6c 75 73 68 53 74 65 | ng.with.no.tool-batch..`flushSte |
| 2b60 | 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 20 61 20 74 75 72 6e | p`...//.skips.empties,.so.a.turn |
| 2b80 | 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 6e 6b 73 20 65 6d 69 | .of.only.system/error.chunks.emi |
| 2ba0 | 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 3b 0a 09 7d 0a 09 72 | ts.nothing....flushStep();..}..r |
| 2bc0 | 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 70 70 6c 79 20 4f 70 | eturn.result;.}../**..*.Apply.Op |
| 2be0 | 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 20 6e 6f 72 6d 61 6c | enAI-compatible.reasoning.normal |
| 2c00 | 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 6f 6d 20 6f 70 65 6e | isation...*..*.Cribbed.from.open |
| 2c20 | 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 32 31 37 2d | code.`provider/transform.ts:217- |
| 2c40 | 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 2a 20 22 54 68 65 20 | 249`..Solves.DeepSeek's..*."The. |
| 2c60 | 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 74 68 69 6e 6b 69 6e | reasoning_content.in.the.thinkin |
| 2c80 | 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 6b 20 74 6f 20 74 68 | g.mode.must.be.passed.back.to.th |
| 2ca0 | 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 65 20 76 36 20 60 40 | e..*.API".error...*..*.The.v6.`@ |
| 2cc0 | 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 32 2e 78 60 20 70 72 | ai-sdk/[email protected]`.pr |
| 2ce0 | 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 67 5f 63 6f 6e 74 65 | ovider.extracts.`reasoning_conte |
| 2d00 | 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 74 79 70 65 3a 20 22 | nt`..*.from.assistant.`{.type:." |
| 2d20 | 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 20 6e 61 74 69 76 65 | reasoning",.text.}`.parts.native |
| 2d40 | 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 40 61 69 2d 73 64 6b | ly..*.(see.`node_modules/@ai-sdk |
| 2d60 | 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 6e 64 65 78 2e 6d 6a | /openai-compatible/dist/index.mj |
| 2d80 | 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 42 75 74 20 74 68 61 | s:215-216`.and.:245)...*.But.tha |
| 2da0 | 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 69 6f 6e 20 77 68 65 | t.native.path.SKIPS.emission.whe |
| 2dc0 | 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 60 20 e2 80 94 0a 20 | n.`reasoning.length.===.0`...... |
| 2de0 | 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 6f 6d 69 74 74 65 64 | *."reasoning_content".is.omitted |
| 2e00 | 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 28 61 6e 64 20 73 69 | .from.the.wire..DeepSeek.(and.si |
| 2e20 | 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 70 72 6f 76 69 64 65 | milar..*."thinking.mode".provide |
| 2e40 | 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 62 65 20 70 72 65 73 | rs).require.the.field.to.be.pres |
| 2e60 | 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 20 74 75 72 6e 20 6f | ent.in.every..*.follow-up.turn.o |
| 2e80 | 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 73 74 20 6f 6e 63 65 | nce.it.was.emitted.at.least.once |
| 2ea0 | 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 20 74 68 65 20 65 6d | ,.even.if.the.value.is..*.the.em |
| 2ec0 | 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 79 3a 20 66 6f 72 20 | pty.string...*..*.Strategy:.for. |
| 2ee0 | 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 68 61 74 20 68 61 73 | every.assistant.message.that.has |
| 2f00 | 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 2a 20 63 6f 6e 63 61 | .any.`reasoning`.parts,..*.conca |
| 2f20 | 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 72 6f 76 69 64 65 72 | tenate.their.text.into.`provider |
| 2f40 | 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 72 65 61 73 6f 6e 69 | Options.openaiCompatible.reasoni |
| 2f60 | 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 67 20 65 6d 70 74 79 | ng_content`..*.(preserving.empty |
| 2f80 | 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 20 70 61 72 74 73 20 | .strings).AND.strip.those.parts. |
| 2fa0 | 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 6c 74 69 6e 67 20 70 | from.content..The..*.resulting.p |
| 2fc0 | 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 65 20 6f 66 20 74 72 | ayload.has.a.single.source.of.tr |
| 2fe0 | 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 74 60 0a 20 2a 20 63 | uth.for.`reasoning_content`..*.c |
| 3000 | 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 65 6c 20 60 70 72 6f | oming.via.the.message-level.`pro |
| 3020 | 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 69 6e 65 20 32 34 37 | viderOptions`.spread.at.line.247 |
| 3040 | 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 77 68 69 63 68 20 66 | .of.the..*.SDK.provider,.which.f |
| 3060 | 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 76 73 2d 6e 6f 6e 2d | ires.regardless.of.empty-vs-non- |
| 3080 | 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 70 6c 69 65 64 20 66 | empty.text...*..*.Only.applied.f |
| 30a0 | 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 6f 70 69 63 29 20 6f | or.the.default.(non-Anthropic).o |
| 30c0 | 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 2f 0a 66 75 6e 63 74 | penai-compatible.path...*/.funct |
| 30e0 | 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 52 65 61 73 6f 6e 69 | ion.applyOpenAICompatibleReasoni |
| 3100 | 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 65 6c 4d 65 73 73 61 | ngNormalisation(msgs:.ModelMessa |
| 3120 | 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 72 65 74 75 72 6e 20 | ge[]):.ModelMessage[].{..return. |
| 3140 | 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 72 6f | msgs.map((msg).=>.{...if.(msg.ro |
| 3160 | 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 72 61 79 2e 69 73 41 | le.!==."assistant".||.!Array.isA |
| 3180 | 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 20 6d 73 67 3b 0a 0a | rray(msg.content)).return.msg;.. |
| 31a0 | 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 2e 20 49 66 20 74 68 | ..//.Find.reasoning.parts..If.th |
| 31c0 | 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 65 20 6e 65 76 65 72 | ere.are.none,.this.message.never |
| 31e0 | 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 20 e2 80 94 20 44 65 | .had...//.a.thinking.turn.....De |
| 3200 | 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 65 61 73 6f 6e 69 6e | epSeek.doesn't.require.`reasonin |
| 3220 | 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 61 73 65 2c 20 73 6f | g_content`...//.in.that.case,.so |
| 3240 | 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 64 2e 0a 09 09 63 6f | .we.pass.through.unchanged....co |
| 3260 | 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 63 6f 6e 74 65 6e 74 | nst.reasoningParts.=.msg.content |
| 3280 | 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 72 61 63 74 3c 74 79 | .filter(....(p):.p.is.Extract<ty |
| 32a0 | 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 67 22 20 7d 3e 20 3d | peof.p,.{.type:."reasoning".}>.= |
| 32c0 | 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 0a 09 09 29 3b 0a 09 | >.p.type.===."reasoning",...);.. |
| 32e0 | 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 68 20 3d 3d 3d 20 30 | .if.(reasoningParts.length.===.0 |
| 3300 | 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 61 73 6f 6e 69 6e 67 | ).return.msg;....const.reasoning |
| 3320 | 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 28 28 70 29 20 3d 3e | Text.=.reasoningParts.map((p).=> |
| 3340 | 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 74 20 66 69 6c 74 65 | .p.text).join("");...const.filte |
| 3360 | 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 66 69 6c 74 65 72 28 | redContent.=.msg.content.filter( |
| 3380 | 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 69 6e 67 22 29 3b 0a | (p).=>.p.type.!==."reasoning");. |
| 33a0 | 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 73 67 2e 70 72 6f 76 | ...const.existingOpts.=.msg.prov |
| 33c0 | 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 74 20 65 78 69 73 74 | iderOptions.??.{};...const.exist |
| 33e0 | 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 2e 6f 70 65 6e 61 69 | ingCompat.=.(existingOpts.openai |
| 3400 | 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 72 64 3c 73 74 72 69 | Compatible.??.{}).as.Record<stri |
| 3420 | 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 0a 09 09 09 2e 2e 2e | ng,.unknown>;....return.{....... |
| 3440 | 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 43 6f 6e 74 65 6e 74 | msg,....content:.filteredContent |
| 3460 | 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 09 09 09 2e 2e 2e 65 | ,....providerOptions:.{........e |
| 3480 | 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 6d 70 61 74 69 62 6c | xistingOpts,.....openaiCompatibl |
| 34a0 | 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 61 74 2c 0a 09 09 09 | e:.{.........existingCompat,.... |
| 34c0 | 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 6e 20 65 6d 70 74 79 | ..//.Always.set,.even.when.empty |
| 34e0 | 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 0a 09 09 09 09 09 2f | ..This.is.the.key.fix........../ |
| 3500 | 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 65 78 74 72 61 63 74 | /.the.SDK's.content-side.extract |
| 3520 | 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 65 61 73 6f 6e 69 6e | ion.skips.empty......//.reasonin |
| 3540 | 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 74 68 65 20 66 69 65 | g,.but.DeepSeek.requires.the.fie |
| 3560 | 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 67 5f 63 6f 6e 74 65 | ld.present.......reasoning_conte |
| 3580 | 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 0a 09 09 09 7d 2c 0a | nt:.reasoningText,.....},....},. |
| 35a0 | 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 0a 7d 0a 0a 2f 2a 2a | ..}.as.ModelMessage;..});.}../** |
| 35c0 | 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 74 75 72 61 6c 20 6e | ..*.Apply.Anthropic.structural.n |
| 35e0 | 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 4d 65 73 73 61 67 65 | ormalisations.to.a.`ModelMessage |
| 3600 | 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 70 65 6e 63 6f 64 65 | []`...*..*.Cribbed.from.opencode |
| 3620 | 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 33 2d 31 34 38 60 2e | .`provider/transform.ts:53-148`. |
| 3640 | 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 6d 70 74 79 2d 74 65 | .Two.passes:..*..*.1..**Empty-te |
| 3660 | 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 6f 70 20 60 74 65 78 | xt/reasoning.filter**:.Drop.`tex |
| 3680 | 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 20 20 20 20 77 68 6f | t`./.`reasoning`.parts..*....who |
| 36a0 | 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 73 73 61 67 65 73 20 | se.`text.===.""`..Drop.messages. |
| 36c0 | 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 65 73 0a 20 2a 20 20 | whose.content.array.becomes..*.. |
| 36e0 | 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 73 20 61 73 73 69 73 | ..empty..Anthropic.rejects.assis |
| 3700 | 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 74 65 6e 74 2e 0a 20 | tant.turns.with.empty.content... |
| 3720 | 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 72 75 62 62 69 6e 67 | *..*.2..**`toolCallId`.scrubbing |
| 3740 | 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 73 20 74 6f 6f 6c 20 | **:.Anthropic.only.accepts.tool. |
| 3760 | 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 20 60 5b 61 2d 7a 41 | call.IDs..*....that.match.`[a-zA |
| 3780 | 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 79 70 74 6f 2e 72 61 | -Z0-9_-]`..Our.IDs.are.crypto.ra |
| 37a0 | 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 68 69 63 68 20 61 72 | ndomUUID().values..*....which.ar |
| 37c0 | 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 63 61 6c 6c 20 49 44 | e.already.safe,.but.tool-call.ID |
| 37e0 | 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 20 20 20 20 73 6f 75 | s.assigned.by.upstream..*....sou |
| 3800 | 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 6f 6f 6c 73 2c 20 73 | rces.(provider-executed.tools,.s |
| 3820 | 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 6d 61 79 0a 20 2a 20 | ubagent.retrieval,.etc.).may..*. |
| 3840 | 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 72 75 62 2e 20 4d 69 | ...not.be..Defensively.scrub..Mi |
| 3860 | 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 74 72 61 6e 73 66 6f | rrors.opencode.`provider/transfo |
| 3880 | 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 2a 60 5b 74 6f 6f 6c | rm.ts:96-122`...*..*.3..**`[tool |
| 38a0 | 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 74 68 72 6f 70 69 63 | -call,.text]`.split**:.Anthropic |
| 38c0 | 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 20 2a 20 20 20 20 77 | .rejects.assistant.turns..*....w |
| 38e0 | 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 65 20 66 6f 6c 6c 6f | here.`tool_use`.blocks.are.follo |
| 3900 | 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 65 6e 74 0a 20 2a 20 | wed.by.non-tool-call.content..*. |
| 3920 | 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 66 6f 75 6e 64 20 77 | ...("`tool_use`.ids.were.found.w |
| 3940 | 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 6b 73 20 69 6d 6d 65 | ithout.`tool_result`.blocks.imme |
| 3960 | 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 20 61 6e 20 61 73 73 | diately..*....after")..If.an.ass |
| 3980 | 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 6f 72 64 65 72 69 6e | istant.message.has.mixed.orderin |
| 39a0 | 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 6e 6f 6e 2d 74 6f 6f | g,.split.it.into..*....`[non-too |
| 39c0 | 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 74 73 5d 60 2e 0a 20 | l.parts].+.[tool-call.parts]`... |
| 39e0 | 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 68 72 6f 70 69 63 2d | *..*.Only.applied.for.Anthropic- |
| 3a00 | 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 4f 41 75 74 68 20 6f | backed.providers.(Claude.OAuth.o |
| 3a20 | 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 20 53 6b 69 70 20 66 | r..*.opencode-anthropic)..Skip.f |
| 3a40 | 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 65 6e 43 6f 64 65 20 | or.openai-compatible./.OpenCode. |
| 3a60 | 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 5f 43 41 4c 4c 5f 49 | Zen...*/.const.SCRUB_TOOL_CALL_I |
| 3a80 | 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 3d 3e 20 69 64 2e 72 | D.=.(id:.string):.string.=>.id.r |
| 3aa0 | 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 20 22 5f 22 29 3b 0a | eplace(/[^a-zA-Z0-9_-]/g,."_");. |
| 3ac0 | 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 74 72 75 63 74 75 72 | .function.applyAnthropicStructur |
| 3ae0 | 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 64 65 6c 4d 65 73 73 | alNormalisations(msgs:.ModelMess |
| 3b00 | 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 2f 2f 20 50 61 73 | age[]):.ModelMessage[].{..//.Pas |
| 3b20 | 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 61 73 6f 6e 69 6e 67 | s.1:.Filter.empty.text/reasoning |
| 3b40 | 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 74 20 62 65 63 6f 6d | .parts;.drop.messages.that.becom |
| 3b60 | 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 6d 61 70 28 28 6d 73 | e.empty...msgs.=.msgs....map((ms |
| 3b80 | 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 2e 63 6f 6e 74 65 6e | g).=>.{....if.(typeof.msg.conten |
| 3ba0 | 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 28 6d 73 67 2e 63 6f | t.===."string").{.....if.(msg.co |
| 3bc0 | 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 66 69 6e 65 64 3b 0a | ntent.===."").return.undefined;. |
| 3be0 | 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 66 20 28 21 41 72 72 | ....return.msg;....}....if.(!Arr |
| 3c00 | 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 20 | ay.isArray(msg.content)).return. |
| 3c20 | 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 6d 73 67 2e 63 6f 6e | msg;....const.filtered.=.msg.con |
| 3c40 | 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 09 09 09 69 66 20 28 | tent.filter((part).=>.{.....if.( |
| 3c60 | 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 61 72 74 2e 74 79 70 | part.type.===."text".||.part.typ |
| 3c80 | 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 09 2f 2f 20 44 72 6f | e.===."reasoning").{......//.Dro |
| 3ca0 | 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 72 74 73 2e 20 41 6e | p.empty.text/reasoning.parts..An |
| 3cc0 | 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 09 09 09 09 09 2f 2f | thropic.rejects.an.empty......// |
| 3ce0 | 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 69 6e 67 20 62 6c 6f | .`reasoning`.part.("thinking.blo |
| 3d00 | 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 65 6e 0a 09 09 09 09 | ck.must.have.content").even..... |
| 3d20 | 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 6e 61 74 75 72 65 2c | .//.when.it.carries.a.signature, |
| 3d40 | 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 79 20 6f 75 74 0a 09 | .so.we.strip.it.on.the.way.out.. |
| 3d60 | 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 74 69 6e 67 20 74 68 | ....//.while.still.persisting.th |
| 3d80 | 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 74 72 69 70 0a 09 09 | e.signed.block.for.round-trip... |
| 3da0 | 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 6d 70 74 79 2d 72 65 | ...//.fidelity.(see.the.empty-re |
| 3dc0 | 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 72 65 74 75 72 6e 20 | asoning-part.test).......return. |
| 3de0 | 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 29 2e 74 65 78 74 20 | (part.as.{.text:.string.}).text. |
| 3e00 | 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 74 72 75 65 3b 0a 09 | !==."";.....}.....return.true;.. |
| 3e20 | 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 67 74 68 20 3d 3d 3d | ..});....if.(filtered.length.=== |
| 3e40 | 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 72 65 74 75 72 6e 20 | .0).return.undefined;....return. |
| 3e60 | 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 65 64 20 7d 3b 0a 09 | {....msg,.content:.filtered.};.. |
| 3e80 | 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 69 73 20 4d 6f 64 65 | .})....filter((msg):.msg.is.Mode |
| 3ea0 | 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 69 6e 65 64 20 26 26 | lMessage.=>.msg.!==.undefined.&& |
| 3ec0 | 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 2f 20 50 61 73 73 20 | .msg.content.!==."");...//.Pass. |
| 3ee0 | 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 20 6f 6e 20 62 6f 74 | 2:.Scrub.toolCallId.chars.on.bot |
| 3f00 | 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 74 73 20 61 6e 64 0a | h.assistant.tool-call.parts.and. |
| 3f20 | 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 20 70 61 72 74 73 2e | .//.tool-role.tool-result.parts. |
| 3f40 | 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 6e 67 20 6f 75 74 73 | .Anthropic.rejects.anything.outs |
| 3f60 | 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 72 20 69 6e 74 65 72 | ide..//.[a-zA-Z0-9_-]..Our.inter |
| 3f80 | 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 55 55 49 44 28 29 20 | nal.IDs.are.crypto.randomUUID(). |
| 3fa0 | 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 6d 20 70 72 6f 76 69 | and.safe,.but..//.upstream.provi |
| 3fc0 | 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 65 72 6e 61 6c 20 73 | der-executed.tools.or.external.s |
| 3fe0 | 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 3d 20 6d 73 67 73 2e | ources.may.not.be...msgs.=.msgs. |
| 4000 | 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 72 6f 6c 65 20 3d 3d | map((msg).=>.{...if.(msg.role.== |
| 4020 | 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 41 72 72 61 79 28 6d | =."assistant".&&.Array.isArray(m |
| 4040 | 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 7b 0a 09 09 09 09 2e | sg.content)).{....return.{...... |
| 4060 | 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 6f 6e 74 65 6e 74 2e | ..msg,.....content:.msg.content. |
| 4080 | 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 70 61 72 74 2e 74 79 | map((part).=>.{......if.(part.ty |
| 40a0 | 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 74 2e 74 79 70 65 20 | pe.===."tool-call".||.part.type. |
| 40c0 | 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 72 | ===."tool-result").{.......retur |
| 40e0 | 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 54 | n.{....part,.toolCallId:.SCRUB_T |
| 4100 | 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 0a | OOL_CALL_ID(part.toolCallId).};. |
| 4120 | 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 2c | .....}......return.part;.....}), |
| 4140 | 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 20 3d 3d 3d 20 22 74 | ....};...}...if.(msg.role.===."t |
| 4160 | 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 2e 63 6f 6e 74 65 6e | ool".&&.Array.isArray(msg.conten |
| 4180 | 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 6d 73 67 2c 0a 09 09 | t)).{....return.{........msg,... |
| 41a0 | 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 70 28 28 70 61 72 74 | ..content:.msg.content.map((part |
| 41c0 | 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 20 3d 3d 3d 20 22 74 | ).=>.{......if.(part.type.===."t |
| 41e0 | 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 72 6e 20 7b 20 2e 2e | ool-result").{.......return.{... |
| 4200 | 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 54 4f 4f 4c 5f 43 41 | .part,.toolCallId:.SCRUB_TOOL_CA |
| 4220 | 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 0a 09 09 09 09 09 7d | LL_ID(part.toolCallId).};......} |
| 4240 | 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 2c 0a 09 09 09 7d 3b | ......return.part;.....}),....}; |
| 4260 | 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 09 2f 2f 20 50 61 73 | ...}...return.msg;..});...//.Pas |
| 4280 | 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 61 67 65 73 20 77 68 | s.3:.Split.assistant.messages.wh |
| 42a0 | 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 65 64 20 62 79 20 6e | ere.tool-calls.are.followed.by.n |
| 42c0 | 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 74 65 78 74 2c 20 74 | on-tool-call.parts...//.[text,.t |
| 42e0 | 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 2c 20 74 65 78 74 5d | ool-call,.text].....[text,.text] |
| 4300 | 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 20 66 69 72 73 74 2c | .+.[tool-call].(text-only.first, |
| 4320 | 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 20 3d 20 6d 73 67 73 | .tools-only.second)..msgs.=.msgs |
| 4340 | 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 28 6d 73 67 2e 72 6f | .flatMap((msg).=>.{...if.(msg.ro |
| 4360 | 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 72 61 79 2e 69 73 41 | le.!==."assistant".||.!Array.isA |
| 4380 | 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 20 5b 6d 73 67 5d 3b | rray(msg.content)).return.[msg]; |
| 43a0 | 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 65 6e 74 3b 0a 09 09 | ...const.parts.=.msg.content;... |
| 43c0 | 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 70 61 72 74 73 2e 66 | const.firstToolCallIdx.=.parts.f |
| 43e0 | 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 79 70 65 20 3d 3d 3d | indIndex((part).=>.part.type.=== |
| 4400 | 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 74 54 6f 6f 6c 43 61 | ."tool-call");...if.(firstToolCa |
| 4420 | 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 5d 3b 20 2f 2f 20 6e | llIdx.===.-1).return.[msg];.//.n |
| 4440 | 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 6f 75 67 68 0a 09 09 | o.tool.calls.....pass.through... |
| 4460 | 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 20 66 69 72 73 74 20 | //.If.everything.from.the.first. |
| 4480 | 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 61 20 74 6f 6f 6c 2d | tool-call.onward.is.also.a.tool- |
| 44a0 | 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 09 09 69 66 20 28 21 | call,.it's.already.valid...if.(! |
| 44c0 | 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 49 64 78 29 2e 73 6f | parts.slice(firstToolCallIdx).so |
| 44e0 | 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 3d 20 22 74 6f 6f 6c | me((part).=>.part.type.!==."tool |
| 4500 | 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 2f 2f 20 48 61 73 20 | -call")).return.[msg];...//.Has. |
| 4520 | 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 45 52 20 61 20 74 6f | non-tool-call.content.AFTER.a.to |
| 4540 | 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 20 6e 6f 6e 54 6f 6f | ol-call.....split...const.nonToo |
| 4560 | 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 72 74 29 20 3d 3e 20 | lParts.=.parts.filter((part).=>. |
| 4580 | 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 29 3b 0a 09 09 63 6f | part.type.!==."tool-call");...co |
| 45a0 | 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 74 65 72 28 28 70 61 | nst.toolParts.=.parts.filter((pa |
| 45c0 | 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 6c 2d 63 61 6c 6c 22 | rt).=>.part.type.===."tool-call" |
| 45e0 | 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 2c 20 63 6f 6e 74 65 | );...return.[....{....msg,.conte |
| 4600 | 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 2e 2e 2e 6d 73 67 2c | nt:.nonToolParts.},....{....msg, |
| 4620 | 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 5d 3b 0a 09 7d 29 3b | .content:.toolParts.},...];..}); |
| 4640 | 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 20 41 70 70 6c 79 20 | ...return.msgs;.}../**..*.Apply. |
| 4660 | 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 62 72 65 61 6b 70 6f | Anthropic.prompt-caching.breakpo |
| 4680 | 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 2a 0a 20 2a 20 41 6e | ints.to.a.message.list...*..*.An |
| 46a0 | 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 20 72 65 71 75 65 73 | thropic.caches.the.entire.reques |
| 46c0 | 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 64 69 6e 67 29 20 61 | t.prefix.up.to.(and.including).a |
| 46e0 | 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 63 61 63 68 65 5f 63 | ny.block..*.marked.with.`cache_c |
| 4700 | 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 6e 74 73 20 70 65 72 | ontrol`..Up.to.4.breakpoints.per |
| 4720 | 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 20 28 66 69 72 73 74 | .request;.we.use.three..*.(first |
| 4740 | 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 65 6d 29 2e 0a 20 2a | .system.+.last.2.non-system)...* |
| 4760 | 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 6e 43 6f 64 65 27 73 | ..*.Strategy.(mirrors.OpenCode's |
| 4780 | 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 6f 72 6d 2e 74 73 29 | .`applyCaching`.in.transform.ts) |
| 47a0 | 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 73 74 65 6d 20 6d 65 | :..*..-.Mark.the.first.system.me |
| 47c0 | 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 72 6f 6d 70 74 20 28 | ssage.....caches.system.prompt.( |
| 47e0 | 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 74 20 62 65 66 6f 72 | and.tools,.which..*....sit.befor |
| 4800 | 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 20 62 6f 64 79 29 2e | e.messages.in.the.request.body). |
| 4820 | 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 6e 2d 73 79 73 74 65 | ..*..-.Mark.the.last.2.non-syste |
| 4840 | 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 63 68 65 20 74 68 61 | m.messages.....rolling.cache.tha |
| 4860 | 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 68 65 20 63 6f 6e 76 | t.extends.through..*....the.conv |
| 4880 | 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 20 54 68 69 73 20 72 | ersation.each.turn...*..*.This.r |
| 48a0 | 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 60 20 67 72 6f 75 70 | elies.on.`toModelMessages`.group |
| 48c0 | 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 20 69 6e 74 6f 20 6f | ing.a.turn's.tool.results.into.o |
| 48e0 | 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 61 67 65 3a 20 74 68 | ne..*.`role:."tool"`.message:.th |
| 4900 | 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 2d 73 79 73 74 65 6d | at.makes.the.last.two.non-system |
| 4920 | 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 74 6f 6f 6c 2d 63 61 | .messages..*.`[assistant(tool-ca |
| 4940 | 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 2d 74 75 72 6e 2c 20 | lls),.tool(results)]`.mid-turn,. |
| 4960 | 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 61 6b 70 6f 69 6e 74 | so.the.two.rolling..*.breakpoint |
| 4980 | 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 74 6f 6f 6c 20 62 6f | s.straddle.the.assistant/tool.bo |
| 49a0 | 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 69 6e 67 20 6f 6e 74 | undary.instead.of.collapsing.ont |
| 49c0 | 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 73 75 6c 74 20 6d 65 | o..*.two.adjacent.tool-result.me |
| 49e0 | 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 65 61 6b 70 6f 69 6e | ssages.(which.wastes.a.breakpoin |
| 4a00 | 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 74 2e 6d 64 2c 20 52 | t.....see..*.claude-report.md,.R |
| 4a20 | 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 61 63 68 65 73 20 74 | oot.Cause.2)..Anthropic.caches.t |
| 4a40 | 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 0a 20 2a 20 69 6e 63 | he.whole.prefix.up.to.and..*.inc |
| 4a60 | 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 20 6d 61 72 6b 69 6e | luding.a.marked.block,.so.markin |
| 4a80 | 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 65 20 65 78 74 65 6e | g.the.grouped.tool.message.exten |
| 4aa0 | 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 63 72 6f 73 73 20 65 | ds.the..*.cached.prefix.across.e |
| 4ac0 | 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 75 63 65 64 2e 0a 20 | very.result.the.turn.produced... |
| 4ae0 | 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 20 41 6e 74 68 72 6f | *..*.Only.applied.for.the.Anthro |
| 4b00 | 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 6e 27 73 20 4f 70 65 | pic.provider..OpenCode.Zen's.Ope |
| 4b20 | 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 74 20 28 60 2f 7a 65 | nAI-compatible..*.endpoint.(`/ze |
| 4b40 | 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 61 63 6b 73 20 6d 6f | n/v1/chat/completions`).backs.mo |
| 4b60 | 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 69 6d 69 2c 0a 20 2a | dels.like.MiniMax,.GLM,.Kimi,..* |
| 4b80 | 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 74 72 65 61 6d 73 20 | .Grok,.etc......those.upstreams. |
| 4ba0 | 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 6e 67 20 73 65 72 76 | do.automatic.prefix.caching.serv |
| 4bc0 | 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 70 74 20 60 63 61 63 | er-side.and..*.don't.accept.`cac |
| 4be0 | 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 43 6f 64 65 27 73 20 | he_control`.markers..OpenCode's. |
| 4c00 | 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 20 60 61 70 70 6c 79 | own.transform.ts.gates..*.`apply |
| 4c20 | 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 69 6c 79 20 64 65 74 | Caching`.on.Anthropic-family.det |
| 4c40 | 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 6e 2e 20 4d 6f 64 65 | ection.for.the.same.reason..Mode |
| 4c60 | 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 2f 6f 70 65 6e 61 69 | ls..*.served.via.`@ai-sdk/openai |
| 4c80 | 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 6c 65 60 20 28 47 65 | `.(GPT).and.`@ai-sdk/google`.(Ge |
| 4ca0 | 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 76 65 72 2d 73 69 64 | mini).likewise..*.use.server-sid |
| 4cc0 | 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 66 75 6e 63 74 69 6f | e.automatic.caching...*/.functio |
| 4ce0 | 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 73 67 73 3a 20 4d 6f | n.applyAnthropicCaching(msgs:.Mo |
| 4d00 | 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 6e 73 74 20 74 61 72 | delMessage[]):.void.{..const.tar |
| 4d20 | 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 67 65 3e 28 29 3b 0a | gets.=.new.Set<ModelMessage>();. |
| 4d40 | 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 2e 66 69 6c 74 65 72 | ..const.systemMsgs.=.msgs.filter |
| 4d60 | 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 6d 22 29 2e 73 6c 69 | ((m).=>.m.role.===."system").sli |
| 4d80 | 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 66 20 73 79 73 74 65 | ce(0,.2);..for.(const.m.of.syste |
| 4da0 | 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 63 6f 6e 73 74 20 6e | mMsgs).targets.add(m);...const.n |
| 4dc0 | 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 29 20 3d 3e 20 6d 2e | onSystem.=.msgs.filter((m).=>.m. |
| 4de0 | 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 2d 32 29 3b 0a 09 66 | role.!==."system").slice(-2);..f |
| 4e00 | 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 20 74 61 72 67 65 74 | or.(const.m.of.nonSystem).target |
| 4e20 | 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 67 20 6f 66 20 74 61 | s.add(m);...for.(const.msg.of.ta |
| 4e40 | 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 74 69 6f 6e 73 20 3d | rgets).{...msg.providerOptions.= |
| 4e60 | 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 6f 6e 73 2c 0a 09 09 | .{.......msg.providerOptions,... |
| 4e80 | 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 2e 70 72 6f 76 69 64 | .anthropic:.{........(msg.provid |
| 4ea0 | 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 7d 29 2c 0a 09 09 09 | erOptions?.anthropic.??.{}),.... |
| 4ec0 | 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 70 68 65 6d 65 72 61 | .cacheControl:.{.type:."ephemera |
| 4ee0 | 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 6e 63 74 69 6f 6e 20 | l".},....},...};..}.}..function. |
| 4f00 | 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 20 63 6f 6e 66 69 67 | formatError(err:.unknown,.config |
| 4f20 | 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 09 63 6f 6e 73 74 20 | :.AgentConfig):.string.{..const. |
| 4f40 | 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 67 2e 6d 6f 64 65 6c | context.=.`[model=${config.model |
| 4f60 | 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 52 4c 7d 5d 60 3b 0a | },.baseURL=${config.baseURL}]`;. |
| 4f80 | 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 72 29 20 7b 0a 09 09 | ..if.(err.instanceof.Error).{... |
| 4fa0 | 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 20 60 20 7c 20 63 61 | const.cause.=.err.cause.?.`.|.ca |
| 4fc0 | 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 2e 63 61 75 73 65 29 | use:.${JSON.stringify(err.cause) |
| 4fe0 | 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 72 73 20 6f 66 74 65 | }`.:."";...//.AI.SDK.errors.ofte |
| 5000 | 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 73 65 42 6f 64 79 2c | n.have.statusCode,.responseBody, |
| 5020 | 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 74 20 65 78 74 72 61 | .or.url.properties...const.extra |
| 5040 | 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 20 65 72 72 52 65 63 | s:.string[].=.[];...const.errRec |
| 5060 | 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 65 63 6f 72 64 3c 73 | ord.=.err.as.unknown.as.Record<s |
| 5080 | 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 74 61 74 75 73 43 6f | tring,.unknown>;...if.("statusCo |
| 50a0 | 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 70 75 73 68 28 60 73 | de".in.errRecord).extras.push(`s |
| 50c0 | 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 6f 64 65 7d 60 29 3b | tatus=${errRecord.statusCode}`); |
| 50e0 | 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 29 20 65 78 74 72 61 | ...if.("url".in.errRecord).extra |
| 5100 | 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 72 6c 7d 60 29 3b 0a | s.push(`url=${errRecord.url}`);. |
| 5120 | 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 72 72 52 65 63 6f 72 | ..if.("responseBody".in.errRecor |
| 5140 | 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 4f 4e 2e 73 74 72 69 | d).extras.push(`body=${JSON.stri |
| 5160 | 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 6f 64 79 29 7d 60 29 | ngify(errRecord.responseBody)}`) |
| 5180 | 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 20 69 6e 20 65 72 72 | ;...if.("responseHeaders".in.err |
| 51a0 | 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 65 61 64 65 72 73 3d | Record)....extras.push(`headers= |
| 51c0 | 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 64 2e 72 65 73 70 6f | ${JSON.stringify(errRecord.respo |
| 51e0 | 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 64 65 74 61 69 6c 20 | nseHeaders)}`);....const.detail. |
| 5200 | 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 24 7b 65 78 74 72 61 | =.extras.length.>.0.?.`.(${extra |
| 5220 | 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 65 74 75 72 6e 20 60 | s.join(",.")})`.:."";...return.` |
| 5240 | 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 63 61 75 73 65 7d 20 | ${err.message}${detail}${cause}. |
| 5260 | 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 60 24 7b 53 74 72 69 | ${context}`;..}...return.`${Stri |
| 5280 | 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 2f 2a 2a 0a 20 2a 20 | ng(err)}.${context}`;.}../**..*. |
| 52a0 | 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 69 64 65 72 4f 70 74 | Build.the.Anthropic.`providerOpt |
| 52c0 | 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 63 6f 6e 66 69 67 20 | ions.anthropic`.thinking.config. |
| 52e0 | 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 61 73 6f 6e 69 6e 67 | for.a.given..*.model.+.reasoning |
| 5300 | 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 73 20 6f 70 65 6e 63 | .effort..Detection.mirrors.openc |
| 5320 | 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 2e 74 73 60 0a 20 2a | ode's.`provider/transform.ts`..* |
| 5340 | 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 60 20 2b 20 60 61 6e | .(`anthropicOpus47OrLater`.+.`an |
| 5360 | 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 0a 20 2a 0a 20 2a 20 | thropicAdaptiveEfforts`):..*..*. |
| 5380 | 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 7b 20 74 68 69 6e 6b | .-.ADAPTIVE.models.emit.`{.think |
| 53a0 | 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 2c 20 65 66 66 6f 72 | ing:.{.type:."adaptive".},.effor |
| 53c0 | 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 20 6f 77 6e 20 74 68 | t.}`.and.pick..*....their.own.th |
| 53e0 | 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 4f 75 74 70 75 74 54 | inking.budget.within.`maxOutputT |
| 5400 | 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 76 65 20 77 68 65 6e | okens`..A.model.is.adaptive.when |
| 5420 | 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 61 72 73 65 64 20 66 | ..*....it.is.Opus.4.7+.(parsed.f |
| 5440 | 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 74 20 34 2e 36 20 28 | rom.the.id).OR.Opus/Sonnet.4.6.( |
| 5460 | 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 72 69 6e 67 20 e2 80 | matched.by.id..*....substring... |
| 5480 | 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 74 20 74 6f 20 67 65 | ..there.is.no.newer.Sonnet.to.ge |
| 54a0 | 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 60 64 69 73 70 6c 61 | neralise.yet)...*......-.`displa |
| 54c0 | 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 20 4f 4e 4c 59 20 66 | y:."summarized"`.is.added.ONLY.f |
| 54e0 | 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 73 0a 20 2a 20 20 20 | or.Opus.4.7+..Those.models..*... |
| 5500 | 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 20 22 6f 6d 69 74 74 | .....default.to.`display:."omitt |
| 5520 | 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 64 20 74 6f 20 75 73 | ed"`.(NO.thinking.streamed.to.us |
| 5540 | 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 6d 75 73 74 20 62 65 | ),.so.the..*........flag.must.be |
| 5560 | 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 6e 67 20 69 6e 20 74 | .forced.to.surface.thinking.in.t |
| 5580 | 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 20 20 20 20 20 20 20 | he.UI..Opus/Sonnet.4.6..*....... |
| 55a0 | 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 69 74 20 28 6f 70 65 | .stream.thinking.without.it.(ope |
| 55c0 | 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 72 65 20 74 6f 6f 29 | ncode.omits.`display`.there.too) |
| 55e0 | 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 6c 69 6e 67 20 6f 66 | ...*......-.`effort`.(sibling.of |
| 5600 | 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 76 65 20 68 6f 77 20 | .`thinking`).tells.adaptive.how. |
| 5620 | 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 4f 54 48 45 52 20 43 | hard.to.think...*..-.All.OTHER.C |
| 5640 | 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 60 7b 20 74 68 69 6e | laude.models.use.classic.`{.thin |
| 5660 | 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 20 2a 20 20 20 20 62 | king:.{.type:."enabled",..*....b |
| 5680 | 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 67 65 74 20 69 73 20 | udgetTokens.}.}`..The.budget.is. |
| 56a0 | 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 65 6e 74 20 e2 80 94 | a.ceiling,.not.a.requirement.... |
| 56c0 | 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 75 6c 61 74 65 73 20 | .the.model..*....self-regulates. |
| 56e0 | 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 69 6e 20 60 6d 61 78 | thinking.vs.response.within.`max |
| 5700 | 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 72 6e 65 64 20 61 73 | OutputTokens`...*..*.Returned.as |
| 5720 | 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 6e 6f 20 6f 70 74 69 | .concrete.object.shapes.(no.opti |
| 5740 | 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 65 73 29 20 73 6f 20 | onal/`undefined`.properties).so. |
| 5760 | 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 60 52 65 63 6f 72 64 | the..*.result.is.a.clean.`Record |
| 5780 | 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 60 70 72 6f 76 69 64 | <string,.JSONValue>`.for.`provid |
| 57a0 | 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 43 61 6c 6c 65 72 73 | erOptions.anthropic`...*.Callers |
| 57c0 | 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 66 66 6f 72 74 20 21 | .only.invoke.this.when.`effort.! |
| 57e0 | 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 6e 63 74 69 6f 6e 20 | ==."none"`...*/.export.function. |
| 5800 | 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 4f 70 74 69 6f 6e 73 | anthropicThinkingProviderOptions |
| 5820 | 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 65 61 73 6f 6e 69 6e | (model:.string,.effort:.Reasonin |
| 5840 | 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 73 69 6f 6e 20 3d 20 | gEffort).{..const.opusVersion.=. |
| 5860 | 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 40 2d 5d 7c 24 29 2f | /opus-(\d+)[.-](\d+)(?:[.@-]|$)/ |
| 5880 | 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 70 75 73 34 37 4f 72 | i.exec(model);..const.isOpus47Or |
| 58a0 | 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 75 6d 62 65 72 28 6f | Later.=.opusVersion...?.Number(o |
| 58c0 | 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 6d 62 65 72 28 6f 70 | pusVersion[1]).>.4.||.(Number(op |
| 58e0 | 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 6d 62 65 72 28 6f 70 | usVersion[1]).===.4.&&.Number(op |
| 5900 | 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 61 6c 73 65 3b 0a 09 | usVersion[2]).>=.7)...:.false;.. |
| 5920 | 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 75 73 34 37 4f 72 4c | const.isAdaptive.=...isOpus47OrL |
| 5940 | 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 70 75 73 2d 34 2e 36 | ater.||...["opus-4-6",."opus-4.6 |
| 5960 | 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 34 2e 36 22 5d 2e 73 | ",."sonnet-4-6",."sonnet-4.6"].s |
| 5980 | 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 28 73 29 29 3b 0a 0a | ome((s).=>.model.includes(s));.. |
| 59a0 | 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 72 6e 20 69 73 4f 70 | .if.(isAdaptive).{...return.isOp |
| 59c0 | 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 6e 67 3a 20 7b 20 74 | us47OrLater....?.{.thinking:.{.t |
| 59e0 | 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 20 64 69 73 70 6c 61 | ype:."adaptive".as.const,.displa |
| 5a00 | 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 7d 2c 20 65 66 66 6f | y:."summarized".as.const.},.effo |
| 5a20 | 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 79 70 65 3a 20 22 61 | rt.}....:.{.thinking:.{.type:."a |
| 5a40 | 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 72 74 20 7d 3b 0a 09 | daptive".as.const.},.effort.};.. |
| 5a60 | 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 09 09 65 66 66 6f 72 | }...const.budgetTokens.=...effor |
| 5a80 | 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 09 3a 20 65 66 66 6f | t.===."max"....?.31999....:.effo |
| 5aa0 | 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 30 0a 09 09 09 09 3a | rt.===."xhigh".....?.24000.....: |
| 5ac0 | 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 20 31 36 30 30 30 0a | .effort.===."high"......?.16000. |
| 5ae0 | 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 22 0a 09 09 09 09 09 | .....:.effort.===."medium"...... |
| 5b00 | 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 3d 20 22 6c 6f 77 22 | .?.5000.......:.effort.===."low" |
| 5b20 | 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 3b 0a 09 72 65 74 75 | ........?.2000........:.0;..retu |
| 5b40 | 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 6e 61 62 6c 65 64 22 | rn.{.thinking:.{.type:."enabled" |
| 5b60 | 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 20 7d 3b 0a 7d 0a 0a | .as.const,.budgetTokens.}.};.}.. |
| 5b80 | 63 6f 6e 73 74 20 4d 41 58 5f 53 54 45 50 53 20 3d 20 35 30 3b 0a 0a 65 78 70 6f 72 74 20 63 6c | const.MAX_STEPS.=.50;..export.cl |
| 5ba0 | 61 73 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 | ass.Agent.{..status:.AgentStatus |
| 5bc0 | 20 3d 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 | .=."idle";..messages:.ChatMessag |
| 5be0 | 65 5b 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 | e[].=.[];...private.config:.Agen |
| 5c00 | 74 43 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 | tConfig;..private.queueCallbacks |
| 5c20 | 3f 3a 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 | ?:.QueueCallbacks;...constructor |
| 5c40 | 28 63 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 | (config:.AgentConfig,.queueCallb |
| 5c60 | 61 63 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 | acks?:.QueueCallbacks).{...this. |
| 5c80 | 63 6f 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 | config.=.config;...this.queueCal |
| 5ca0 | 6c 62 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 | lbacks.=.queueCallbacks;..}...pr |
| 5cc0 | 69 76 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 | ivate.async.executeToolWithStrea |
| 5ce0 | 6d 69 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 | ming(...tc:.ToolCall,...shellOut |
| 5d00 | 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 67 3b 20 | putQueue:.Array<{.data:.string;. |
| 5d20 | 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 3e 2c 0a | stream:."stdout".|."stderr".}>,. |
| 5d40 | 09 29 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 | .):.Promise<ToolResult>.{...cons |
| 5d60 | 74 20 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 | t.registry.=.createToolRegistry( |
| 5d80 | 74 68 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 | this.config.tools);...const.tool |
| 5da0 | 20 3d 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 | .=.registry.getTool(tc.name);... |
| 5dc0 | 69 66 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 | if.(!tool).{....return.{.....too |
| 5de0 | 6c 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 | lCallId:.tc.id,.....toolName:.tc |
| 5e00 | 2e 6e 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 | .name,.....result:.`Unknown.tool |
| 5e20 | 3a 20 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 | :.${tc.name}`,.....isError:.true |
| 5e40 | 2c 0a 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 | ,....};...}....//.Permission.che |
| 5e60 | 63 6b 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 | ck.for.shell.commands.....only.p |
| 5e80 | 72 6f 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 | rompt.for.external.directory.acc |
| 5ea0 | 65 73 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 | ess....//.Commands.that.stay.wit |
| 5ec0 | 68 69 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 | hin.the.working.directory.are.au |
| 5ee0 | 74 6f 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 | to-allowed....if.(tc.name.===."r |
| 5f00 | 75 6e 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 | un_shell".&&.this.config.permiss |
| 5f20 | 69 6f 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 | ionChecker).{....const.command.= |
| 5f40 | 20 74 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 | .typeof.tc.arguments.command.=== |
| 5f60 | 20 22 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 | ."string".?.tc.arguments.command |
| 5f80 | 20 3a 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 | .:."";....const.workingDirectory |
| 5fa0 | 20 3d 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 | .=.this.config.workingDirectory; |
| 5fc0 | 0a 09 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 | ....const.analysis.=.await.analy |
| 5fe0 | 7a 65 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 | zeCommand(command,.workingDirect |
| 6000 | 6f 72 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 | ory);....const.ruleset.=.this.co |
| 6020 | 6e 66 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 | nfig.ruleset.??.[];.....//.Check |
| 6040 | 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 73 20 66 | .for.external.directory.access.f |
| 6060 | 72 6f 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 | rom.shell.command....if.(analysi |
| 6080 | 73 2e 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 | s.dirs.length.>.0).{.....const.d |
| 60a0 | 69 72 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 | irRequest.=.{......permission:." |
| 60c0 | 65 78 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 | external_directory",......patter |
| 60e0 | 6e 73 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 | ns:.analysis.dirs.map((d).=>.`${ |
| 6100 | 64 7d 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 | d}/*`),......always:.analysis.di |
| 6120 | 72 73 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 | rs.map((d).=>.`${d}/*`),......de |
| 6140 | 73 63 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 | scription:.`Shell.command.access |
| 6160 | 65 73 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 | es.external.directory:.${analysi |
| 6180 | 73 2e 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 | s.dirs.join(",.")}`,......metada |
| 61a0 | 74 61 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 | ta:.{.command,.dirs:.analysis.di |
| 61c0 | 72 73 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 | rs.},.....};.....try.{......cons |
| 61e0 | 74 20 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 | t.dirReply.=.await.this.config.p |
| 6200 | 65 72 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 | ermissionChecker.ask(dirRequest, |
| 6220 | 20 5b 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 | .[ruleset]);......if.(dirReply.= |
| 6240 | 3d 3d 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 | ==."reject").{.......return.{... |
| 6260 | 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 09 74 | .....toolCallId:.tc.id,........t |
| 6280 | 6f 6f 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 | oolName:.tc.name,........result: |
| 62a0 | 20 60 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 | .`Permission.denied:.access.to.e |
| 62c0 | 78 74 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 | xternal.directories.rejected`,.. |
| 62e0 | 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 0a 09 09 | ......isError:.true,.......};... |
| 6300 | 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 6e 20 7b | ...}.....}.catch.{......return.{ |
| 6320 | 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 09 09 09 | .......toolCallId:.tc.id,....... |
| 6340 | 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 6c 74 3a | toolName:.tc.name,.......result: |
| 6360 | 20 60 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 | .`Permission.denied:.external.di |
| 6380 | 72 65 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 | rectory.access.not.allowed`,.... |
| 63a0 | 09 09 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 | ...isError:.true,......};.....}. |
| 63c0 | 09 09 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 | ...}...}....//.Permission.check. |
| 63e0 | 66 6f 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 | for.file.tools.accessing.paths.o |
| 6400 | 75 74 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 | utside.workspace...if.(....this. |
| 6420 | 63 6f 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 | config.permissionChecker.&&....( |
| 6440 | 74 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 0a 09 09 09 09 74 | tc.name.===."read_file".||.....t |
| 6460 | 63 2e 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 | c.name.===."read_file_slice".||. |
| 6480 | 09 09 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 | ....tc.name.===."write_file".||. |
| 64a0 | 09 09 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 | ....tc.name.===."list_files")... |
| 64c0 | 29 20 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 | ).{....const.pathArg.=.typeof.tc |
| 64e0 | 2e 61 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 | .arguments.path.===."string".?.t |
| 6500 | 63 2e 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 | c.arguments.path.:.".";.....//.C |
| 6520 | 61 6e 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 | anonicalize.all.three.so.symlink |
| 6540 | 2d 69 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 | -in-workdir.escapes.are.detected |
| 6560 | 0a 09 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 | ....//.at.the.permission.gate.(n |
| 6580 | 6f 74 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 | ot.just.relative.`../`.traversal |
| 65a0 | 29 2e 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 | )..The....//.helper.walks.up.to. |
| 65c0 | 74 68 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 | the.nearest.existing.ancestor.wh |
| 65e0 | 65 6e 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 | en.the.leaf....//.doesn't.exist. |
| 6600 | 28 77 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 | (write_file.creating.new.files), |
| 6620 | 20 73 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 | .so.a.parent....//.symlink.point |
| 6640 | 69 6e 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 | ing.outside.the.workdir.is.still |
| 6660 | 20 63 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 | .caught..The.same....//.helper.i |
| 6680 | 73 20 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 | s.used.inside.the.tool.implement |
| 66a0 | 61 74 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 | ations.....keeping.the....//.two |
| 66c0 | 20 6c 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 | .layers.consistent.so.a.path.tha |
| 66e0 | 74 20 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 | t.looks.external.here.also....// |
| 6700 | 20 6c 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 | .looks.external.in.the.tool,.and |
| 6720 | 20 76 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 | .vice.versa.....const.resolvedPa |
| 6740 | 74 68 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 | th.=.await.canonicalize(this.con |
| 6760 | 66 69 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 | fig.workingDirectory,.pathArg);. |
| 6780 | 09 09 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 | ...const.resolvedWorkDir.=.await |
| 67a0 | 20 63 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 | .canonicalize(this.config.workin |
| 67c0 | 67 44 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 | gDirectory);....const.resolvedSp |
| 67e0 | 69 6c 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 | illRoot.=.await.canonicalize(SPI |
| 6800 | 4c 4c 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 | LL_ROOT);.....const.isUnderWorkd |
| 6820 | 69 72 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 | ir.=.....resolvedPath.===.resolv |
| 6840 | 65 64 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 | edWorkDir.||.resolvedPath.starts |
| 6860 | 57 69 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 | With(`${resolvedWorkDir}/`);.... |
| 6880 | 2f 2f 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 | //.Dispatch's.own.tool-output.sp |
| 68a0 | 69 6c 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 | ill.directory.is.implicitly.allo |
| 68c0 | 77 65 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 | wed........//.the.AI.receives.a. |
| 68e0 | 74 72 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 | truncation.notice.pointing.here. |
| 6900 | 61 6e 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 | and.is.expected....//.to.read.it |
| 6920 | 20 77 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 | .without.prompting.the.user..Byp |
| 6940 | 61 73 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 | assing.the.external-....//.direc |
| 6960 | 74 6f 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 | tory.check.here.keeps.the.inspec |
| 6980 | 74 69 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 | tion.flow.frictionless.....const |
| 69a0 | 20 69 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 | .isSpillPath.=.....resolvedPath. |
| 69c0 | 3d 3d 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 | ===.resolvedSpillRoot.||.resolve |
| 69e0 | 64 50 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 | dPath.startsWith(`${resolvedSpil |
| 6a00 | 6c 52 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 | lRoot}/`);.....//.Agent.definiti |
| 6a20 | 6f 6e 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 | ons.live.in.well-known.directori |
| 6a40 | 65 73 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 | es....//.(`~/.config/dispatch/ag |
| 6a60 | 65 6e 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 | ents/`.and....//.`<workdir>/.dis |
| 6a80 | 70 61 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 | patch/agents/`)..Reading.those.i |
| 6aa0 | 73 20 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 | s.a....//.prerequisite.for.the.s |
| 6ac0 | 75 6d 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 | ummon.tool's."specify.which.suba |
| 6ae0 | 67 65 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 | gent"....//.flow.....the.LLM.nee |
| 6b00 | 64 73 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 | ds.to.inspect.the.TOML.to.know.w |
| 6b20 | 68 61 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 | hat.each....//.agent.does..We.au |
| 6b40 | 74 6f 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 | to-allow.READ-ONLY.tools.under.t |
| 6b60 | 68 6f 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 | hose.paths....//.without.prompti |
| 6b80 | 6e 67 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 | ng.the.user..Writes.(`write_file |
| 6ba0 | 60 29 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 | `).still.go....//.through.the.no |
| 6bc0 | 72 6d 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 | rmal.external_directory.gate.so. |
| 6be0 | 61 6e 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 | an.agent.can't....//.quietly.ove |
| 6c00 | 72 77 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 | rwrite.another.agent's.definitio |
| 6c20 | 6e 2e 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 | n.....const.isReadOnlyTool.=.... |
| 6c40 | 09 74 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 | .tc.name.===."read_file".||.tc.n |
| 6c60 | 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 20 74 63 2e | ame.===."read_file_slice".||.tc. |
| 6c80 | 6e 61 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 | name.===."list_files";....let.is |
| 6ca0 | 41 67 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 | AgentsDirReadOnly.=.false;....if |
| 6cc0 | 20 28 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 | .(isReadOnlyTool).{.....const.ag |
| 6ce0 | 65 6e 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 | entDirs.=.getAgentDirPaths(this. |
| 6d00 | 63 6f 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 | config.workingDirectory);.....co |
| 6d20 | 6e 73 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 | nst.canonicalAgentDirs.=.await.P |
| 6d40 | 72 6f 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 | romise.all(agentDirs.map((d).=>. |
| 6d60 | 63 61 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 | canonicalize(d)));.....isAgentsD |
| 6d80 | 69 72 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 | irReadOnly.=.canonicalAgentDirs. |
| 6da0 | 73 6f 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 | some(......(d).=>.resolvedPath.= |
| 6dc0 | 3d 3d 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 | ==.d.||.resolvedPath.startsWith( |
| 6de0 | 60 24 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 | `${d}/`),.....);....}.....if.(!i |
| 6e00 | 73 55 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 | sUnderWorkdir.&&.!isSpillPath.&& |
| 6e20 | 20 21 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 | .!isAgentsDirReadOnly).{.....con |
| 6e40 | 73 74 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 | st.permissionType.=......tc.name |
| 6e60 | 20 3d 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 | .===."read_file".?."read".:.tc.n |
| 6e80 | 61 6d 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 | ame.===."write_file".?."edit".:. |
| 6ea0 | 22 6c 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 | "list";......const.parentDir.=.d |
| 6ec0 | 69 72 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 | irname(resolvedPath);.....const. |
| 6ee0 | 72 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 |
| 6f00 | 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 |
| 6f20 | 3a 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 61 6c 77 61 79 | :.[`${parentDir}/*`],......alway |
| 6f40 | 73 3a 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 | s:.[`${parentDir}/*`],......desc |
| 6f60 | 72 69 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 | ription:.`${permissionType}.file |
| 6f80 | 20 6f 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 | .outside.workspace:.${resolvedPa |
| 6fa0 | 74 68 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 | th}`,......metadata:.{.filepath: |
| 6fc0 | 20 72 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 | .resolvedPath,.parentDir,.operat |
| 6fe0 | 69 6f 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 | ion:.permissionType.},.....};... |
| 7000 | 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 69 67 2e 72 | ...const.ruleset.=.this.config.r |
| 7020 | 75 6c 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 | uleset.??.[];.....try.{......con |
| 7040 | 73 74 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 | st.reply.=.await.this.config.per |
| 7060 | 6d 69 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 | missionChecker.ask(request,.[rul |
| 7080 | 65 73 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 | eset]);......if.(reply.===."reje |
| 70a0 | 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 09 09 09 74 6f 6f | ct").{.......return.{........too |
| 70c0 | 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 6c 4e 61 6d 65 3a | lCallId:.tc.id,........toolName: |
| 70e0 | 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 50 65 72 6d 69 73 | .tc.name,........result:.`Permis |
| 7100 | 73 69 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 | sion.denied:.${permissionType}.a |
| 7120 | 63 63 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 | ccess.to.${resolvedPath}.rejecte |
| 7140 | 64 60 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 | d`,........isError:.true,....... |
| 7160 | 7d 3b 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 | };......}.....}.catch.{......ret |
| 7180 | 75 72 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 | urn.{.......toolCallId:.tc.id,.. |
| 71a0 | 09 09 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 | .....toolName:.tc.name,.......re |
| 71c0 | 73 75 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 | sult:.`Permission.denied:.${perm |
| 71e0 | 69 73 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 | issionType}.access.to.${resolved |
| 7200 | 50 61 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 | Path}.not.allowed`,.......isErro |
| 7220 | 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 09 7d 0a 09 09 7d 0a | r:.true,......};.....}....}...}. |
| 7240 | 0a 09 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 | ...try.{....const.execPromise.=. |
| 7260 | 74 6f 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 | tool.execute(tc.arguments,.{.... |
| 7280 | 09 6f 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 | .onOutput:.(data:.string,.stream |
| 72a0 | 3a 20 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 | :."stdout".|."stderr").=>.{..... |
| 72c0 | 09 73 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 | .shellOutputQueue.push({.data,.s |
| 72e0 | 74 72 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 | tream.});.....},.....queueCallba |
| 7300 | 63 6b 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 | cks:.this.queueCallbacks,....}); |
| 7320 | 0a 0a 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 | .....const.rawResult.=.await.exe |
| 7340 | 63 50 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 | cPromise;....const.resultStr.=.t |
| 7360 | 79 70 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 | ypeof.rawResult.===."string".?.r |
| 7380 | 61 77 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 | awResult.:.JSON.stringify(rawRes |
| 73a0 | 75 6c 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 | ult);.....//.Compute.isError.on. |
| 73c0 | 74 68 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 | the.raw.(untruncated).string.so. |
| 73e0 | 61 6e 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 | an.`Error:`.prefix....//.that.li |
| 7400 | 76 65 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 | ves.anywhere.....including.beyon |
| 7420 | 64 20 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 | d.the.head.excerpt.....is.still. |
| 7440 | 09 09 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 | ...//.detected..The.display.resu |
| 7460 | 6c 74 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 | lt.goes.through.universal.trunca |
| 7480 | 74 69 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 | tion.so....//.oversized.outputs. |
| 74a0 | 64 6f 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 | don't.blow.context..The.full.con |
| 74c0 | 74 65 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 | tent.lives.in.the....//.spill.fi |
| 74e0 | 6c 65 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 | le.the.truncation.notice.points. |
| 7500 | 74 6f 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 | to.....const.isError.=.resultStr |
| 7520 | 2e 73 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 | .startsWith("Error:");....const. |
| 7540 | 7b 20 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 | {.displayResult.}.=.applyTruncat |
| 7560 | 69 6f 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 | ion(resultStr,.{.....tabId:.this |
| 7580 | 2e 63 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 | .config.tabId.??."default",..... |
| 75a0 | 63 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. |
| 75c0 | 6e 61 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 | name,....});.....return.{.....to |
| 75e0 | 6f 6c 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 | olCallId:.tc.id,.....toolName:.t |
| 7600 | 63 2e 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 | c.name,.....result:.displayResul |
| 7620 | 74 2c 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 | t,.....isError,....};...}.catch. |
| 7640 | 28 65 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 | (err).{....return.{.....toolCall |
| 7660 | 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 6d 65 | Id:.tc.id,.....toolName:.tc.name |
| 7680 | 2c 0a 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 | ,.....result:.err.instanceof.Err |
| 76a0 | 6f 72 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 | or.?.err.message.:.String(err),. |
| 76c0 | 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 7d 0a 09 7d 0a | ....isError:.true,....};...}..}. |
| 76e0 | 0a 09 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 | ../**...*.Build.synthetic.`tool- |
| 7700 | 72 65 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 | result`.error.events.for.every.t |
| 7720 | 6f 6f 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 | ool.call.in...*.`stepToolCalls`. |
| 7740 | 74 68 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 | that.does.not.yet.have.a.recorde |
| 7760 | 64 20 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 | d.result.in.`chunks`....*...*.Wh |
| 7780 | 65 6e 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 | en.a.tool.batch.is.partially.res |
| 77a0 | 6f 6c 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 | olved.....e.g..one.tool.emitted. |
| 77c0 | 61 0a 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 | a...*.`tool-error`.while.its.sib |
| 77e0 | 6c 69 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 | lings.were.never.executed,.or.th |
| 7800 | 65 20 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 | e.stream...*.aborted.mid-batch.. |
| 7820 | 80 94 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 | ...the.unresolved.tool-call.IDs. |
| 7840 | 61 72 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 | are.registered.in.the...*.histor |
| 7860 | 79 20 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 | y.(inside.`tool-batch`.chunks).b |
| 7880 | 75 74 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 | ut.have.no.matching.result..On.t |
| 78a0 | 68 65 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 | he...*.next.LLM.round-trip.the.A |
| 78c0 | 49 20 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 | I.SDK.throws.`MissingToolResults |
| 78e0 | 45 72 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 | Error`..Filling...*.in.`isError: |
| 7900 | 20 74 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 | .true`.results.for.those.orphane |
| 7920 | 64 20 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 | d.IDs.keeps.the.on-the-wire...*. |
| 7940 | 74 6f 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 | tool-call/tool-result.pairing.co |
| 7960 | 6d 70 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 | mplete....*...*.Caller.is.respon |
| 7980 | 73 69 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 | sible.for.`appendEventToChunks(c |
| 79a0 | 68 75 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 | hunks,.evt)`.+.`yield`ing...*.ea |
| 79c0 | 63 68 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 | ch.returned.event....*/..private |
| 79e0 | 20 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 28 0a | .synthesizeResidualToolResults(. |
| 7a00 | 09 09 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 | ..stepToolCalls:.ToolCall[],...c |
| 7a20 | 68 75 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 | hunks:.Chunk[],...defaultMessage |
| 7a40 | 3a 20 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 | :.string,..):.AgentEvent[].{...c |
| 7a60 | 6f 6e 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 | onst.results:.AgentEvent[].=.[]; |
| 7a80 | 0a 09 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 | ...const.resolved.=.new.Set<stri |
| 7aa0 | 6e 67 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 | ng>();...for.(const.c.of.chunks) |
| 7ac0 | 20 7b 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 | .{....if.(c.type.!==."tool-batch |
| 7ae0 | 22 29 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 | ").continue;....for.(const.entry |
| 7b00 | 20 6f 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 | .of.c.calls).{.....if.(entry.res |
| 7b20 | 75 6c 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 | ult.!==.undefined).resolved.add( |
| 7b40 | 65 6e 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 | entry.id);....}...}...for.(const |
| 7b60 | 20 74 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 | .tc.of.stepToolCalls).{....if.(r |
| 7b80 | 65 73 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 | esolved.has(tc.id)).continue;... |
| 7ba0 | 09 63 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 | .const.tr:.ToolResult.=.{.....to |
| 7bc0 | 6f 6c 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 | olCallId:.tc.id,.....toolName:.t |
| 7be0 | 63 2e 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 | c.name,.....result:.defaultMessa |
| 7c00 | 67 65 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 | ge,.....isError:.true,....};.... |
| 7c20 | 63 6f 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 | const.evt:.AgentEvent.=.{.type:. |
| 7c40 | 22 74 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 | "tool-result",.toolResult:.tr.}; |
| 7c60 | 0a 09 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 | ....results.push(evt);...}...ret |
| 7c80 | 75 72 6e 20 72 65 73 75 6c 74 73 3b 0a 09 7d 0a 0a 09 61 73 79 6e 63 20 2a 72 75 6e 28 0a 09 09 | urn.results;..}...async.*run(... |
| 7ca0 | 75 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 | userMessage:.string,...options?: |
| 7cc0 | 20 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 | .{....reasoningEffort?:.Reasonin |
| 7ce0 | 67 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 | gEffort;....abortSignal?:.AbortS |
| 7d00 | 69 67 6e 61 6c 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 | ignal;...},..):.AsyncGenerator<A |
| 7d20 | 67 65 6e 74 45 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 | gentEvent>.{...this.status.=."ru |
| 7d40 | 6e 6e 69 6e 67 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 | nning";...yield.{.type:."status" |
| 7d60 | 2c 20 73 74 61 74 75 73 3a 20 22 72 75 6e 6e 69 6e 67 22 20 7d 3b 0a 0a 09 09 74 68 69 73 2e 6d | ,.status:."running".};....this.m |
| 7d80 | 65 73 73 61 67 65 73 2e 70 75 73 68 28 7b 20 72 6f 6c 65 3a 20 22 75 73 65 72 22 2c 20 63 68 75 | essages.push({.role:."user",.chu |
| 7da0 | 6e 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 75 73 65 72 | nks:.[{.type:."text",.text:.user |
| 7dc0 | 4d 65 73 73 61 67 65 20 7d 5d 20 7d 29 3b 0a 0a 09 09 63 6f 6e 73 74 20 72 65 67 69 73 74 72 79 | Message.}].});....const.registry |
| 7de0 | 20 3d 20 63 72 65 61 74 65 54 6f 6f 6c 52 65 67 69 73 74 72 79 28 74 68 69 73 2e 63 6f 6e 66 69 | .=.createToolRegistry(this.confi |
| 7e00 | 67 2e 74 6f 6f 6c 73 29 3b 0a 09 09 2f 2f 20 60 69 73 43 6c 61 75 64 65 4f 41 75 74 68 60 20 67 | g.tools);...//.`isClaudeOAuth`.g |
| 7e20 | 61 74 65 73 20 43 6c 61 75 64 65 2d 43 6f 64 65 2d 43 4c 49 2d 73 70 65 63 69 66 69 63 20 62 65 | ates.Claude-Code-CLI-specific.be |
| 7e40 | 68 61 76 69 6f 72 3a 20 62 69 6c 6c 69 6e 67 2d 68 65 61 64 65 72 0a 09 09 2f 2f 20 69 6e 6a 65 | havior:.billing-header...//.inje |
| 7e60 | 63 74 69 6f 6e 2c 20 69 64 65 6e 74 69 74 79 20 70 72 65 61 6d 62 6c 65 2c 20 60 6d 63 70 5f 2a | ction,.identity.preamble,.`mcp_* |
| 7e80 | 60 20 74 6f 6f 6c 20 6e 61 6d 65 20 70 72 65 66 69 78 2c 20 61 6e 64 20 65 78 74 65 6e 64 65 64 | `.tool.name.prefix,.and.extended |
| 7ea0 | 0a 09 09 2f 2f 20 74 68 69 6e 6b 69 6e 67 20 63 6f 6e 66 69 67 2e 20 4f 6e 6c 79 20 74 68 65 20 | ...//.thinking.config..Only.the. |
| 7ec0 | 4f 41 75 74 68 20 66 6c 6f 77 20 28 70 72 6f 76 69 64 65 72 3d 22 61 6e 74 68 72 6f 70 69 63 22 | OAuth.flow.(provider="anthropic" |
| 7ee0 | 29 20 6e 65 65 64 73 20 74 68 65 73 65 2e 0a 09 09 2f 2f 20 60 75 73 65 73 41 6e 74 68 72 6f 70 | ).needs.these....//.`usesAnthrop |
| 7f00 | 69 63 53 44 4b 60 20 69 73 20 74 68 65 20 62 72 6f 61 64 65 72 20 63 61 74 65 67 6f 72 79 20 e2 | icSDK`.is.the.broader.category.. |
| 7f20 | 80 94 20 61 6e 79 20 70 72 6f 76 69 64 65 72 20 77 68 6f 73 65 0a 09 09 2f 2f 20 72 65 71 75 65 | ...any.provider.whose...//.reque |
| 7f40 | 73 74 73 20 61 72 65 20 73 65 72 69 61 6c 69 7a 65 64 20 62 79 20 60 40 61 69 2d 73 64 6b 2f 61 | sts.are.serialized.by.`@ai-sdk/a |
| 7f60 | 6e 74 68 72 6f 70 69 63 60 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 65 78 70 65 63 74 0a 09 | nthropic`.and.therefore.expect.. |
| 7f80 | 09 2f 2f 20 41 6e 74 68 72 6f 70 69 63 2d 73 74 79 6c 65 20 60 63 61 63 68 65 5f 63 6f 6e 74 72 | .//.Anthropic-style.`cache_contr |
| 7fa0 | 6f 6c 60 20 6d 61 72 6b 65 72 73 2e 20 54 6f 64 61 79 20 74 68 61 74 27 73 20 43 6c 61 75 64 65 | ol`.markers..Today.that's.Claude |
| 7fc0 | 20 4f 41 75 74 68 0a 09 09 2f 2f 20 70 6c 75 73 20 4f 70 65 6e 43 6f 64 65 20 47 6f 27 73 20 4d | .OAuth...//.plus.OpenCode.Go's.M |
| 7fe0 | 69 6e 69 4d 61 78 2f 51 77 65 6e 20 72 6f 75 74 65 73 2e 0a 09 09 63 6f 6e 73 74 20 69 73 43 6c | iniMax/Qwen.routes....const.isCl |
| 8000 | 61 75 64 65 4f 41 75 74 68 20 3d 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 72 6f 76 69 64 65 72 | audeOAuth.=.this.config.provider |
| 8020 | 20 3d 3d 3d 20 22 61 6e 74 68 72 6f 70 69 63 22 3b 0a 09 09 63 6f 6e 73 74 20 75 73 65 73 41 6e | .===."anthropic";...const.usesAn |
| 8040 | 74 68 72 6f 70 69 63 53 44 4b 20 3d 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 7c 7c 20 74 68 | thropicSDK.=.isClaudeOAuth.||.th |
| 8060 | 69 73 2e 63 6f 6e 66 69 67 2e 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 22 6f 70 65 6e 63 6f 64 65 | is.config.provider.===."opencode |
| 8080 | 2d 61 6e 74 68 72 6f 70 69 63 22 3b 0a 09 09 63 6f 6e 73 74 20 70 72 6f 76 69 64 65 72 46 61 63 | -anthropic";...const.providerFac |
| 80a0 | 74 6f 72 79 20 3d 20 63 72 65 61 74 65 50 72 6f 76 69 64 65 72 28 7b 0a 09 09 09 61 70 69 4b 65 | tory.=.createProvider({....apiKe |
| 80c0 | 79 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 61 70 69 4b 65 79 2c 0a 09 09 09 62 61 73 65 55 52 | y:.this.config.apiKey,....baseUR |
| 80e0 | 4c 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 62 61 73 65 55 52 4c 2c 0a 09 09 09 70 72 6f 76 69 | L:.this.config.baseURL,....provi |
| 8100 | 64 65 72 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 70 72 6f 76 69 64 65 72 2c 0a 09 09 09 63 6c | der:.this.config.provider,....cl |
| 8120 | 61 75 64 65 43 72 65 64 65 6e 74 69 61 6c 73 3a 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 63 6c 61 | audeCredentials:.this.config.cla |
| 8140 | 75 64 65 43 72 65 64 65 6e 74 69 61 6c 73 2c 0a 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 | udeCredentials,....tabId:.this.c |
| 8160 | 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 09 7d 29 3b 0a 0a 09 09 2f 2f 20 4f 6e 6c 79 20 74 68 | onfig.tabId,...});....//.Only.th |
| 8180 | 65 20 43 6c 61 75 64 65 20 4f 41 75 74 68 20 66 6c 6f 77 20 65 78 70 65 63 74 73 20 60 6d 63 70 | e.Claude.OAuth.flow.expects.`mcp |
| 81a0 | 5f 2a 60 20 70 72 65 66 69 78 65 64 20 74 6f 6f 6c 20 6e 61 6d 65 73 2e 20 54 68 65 0a 09 09 2f | _*`.prefixed.tool.names..The.../ |
| 81c0 | 2f 20 4f 70 65 6e 43 6f 64 65 20 47 6f 20 61 6e 74 68 72 6f 70 69 63 2d 66 6f 72 6d 61 74 20 65 | /.OpenCode.Go.anthropic-format.e |
| 81e0 | 6e 64 70 6f 69 6e 74 20 70 61 73 73 65 73 20 74 6f 6f 6c 73 20 74 68 72 6f 75 67 68 20 74 6f 20 | ndpoint.passes.tools.through.to. |
| 8200 | 4d 69 6e 69 4d 61 78 0a 09 09 2f 2f 20 6f 72 20 51 77 65 6e 2c 20 77 68 69 63 68 20 65 78 70 65 | MiniMax...//.or.Qwen,.which.expe |
| 8220 | 63 74 20 72 61 77 20 6e 61 6d 65 73 2e 0a 09 09 63 6f 6e 73 74 20 61 69 54 6f 6f 6c 73 20 3d 20 | ct.raw.names....const.aiTools.=. |
| 8240 | 72 65 67 69 73 74 72 79 2e 67 65 74 41 49 53 44 4b 54 6f 6f 6c 73 28 29 3b 0a 09 09 63 6f 6e 73 | registry.getAISDKTools();...cons |
| 8260 | 74 20 74 6f 6f 6c 73 20 3d 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 0a 09 09 09 3f 20 4f 62 6a | t.tools.=.isClaudeOAuth....?.Obj |
| 8280 | 65 63 74 2e 66 72 6f 6d 45 6e 74 72 69 65 73 28 0a 09 09 09 09 09 4f 62 6a 65 63 74 2e 65 6e 74 | ect.fromEntries(......Object.ent |
| 82a0 | 72 69 65 73 28 61 69 54 6f 6f 6c 73 29 2e 6d 61 70 28 28 5b 6e 61 6d 65 2c 20 74 6f 6f 6c 5d 29 | ries(aiTools).map(([name,.tool]) |
| 82c0 | 20 3d 3e 20 5b 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 28 6e 61 6d 65 29 2c 20 74 6f 6f 6c 5d | .=>.[prefixToolName(name),.tool] |
| 82e0 | 29 2c 0a 09 09 09 09 29 0a 09 09 09 3a 20 61 69 54 6f 6f 6c 73 3b 0a 0a 09 09 2f 2f 20 42 75 69 | ),.....)....:.aiTools;....//.Bui |
| 8300 | 6c 64 20 73 79 73 74 65 6d 20 70 72 6f 6d 70 74 20 e2 80 94 20 43 6c 61 75 64 65 20 4f 41 75 74 | ld.system.prompt.....Claude.OAut |
| 8320 | 68 20 72 65 71 75 65 73 74 73 20 65 6d 62 65 64 20 61 20 62 69 6c 6c 69 6e 67 20 68 65 61 64 65 | h.requests.embed.a.billing.heade |
| 8340 | 72 0a 09 09 2f 2f 20 61 6e 64 20 74 68 65 20 43 6c 61 75 64 65 20 43 6f 64 65 20 69 64 65 6e 74 | r...//.and.the.Claude.Code.ident |
| 8360 | 69 74 79 20 70 72 65 61 6d 62 6c 65 20 73 6f 20 41 6e 74 68 72 6f 70 69 63 20 72 65 63 6f 67 6e | ity.preamble.so.Anthropic.recogn |
| 8380 | 69 7a 65 73 20 74 68 65 0a 09 09 2f 2f 20 72 65 71 75 65 73 74 20 61 73 20 63 6f 6d 69 6e 67 20 | izes.the...//.request.as.coming. |
| 83a0 | 66 72 6f 6d 20 74 68 65 20 6f 66 66 69 63 69 61 6c 20 43 4c 49 2e 0a 09 09 6c 65 74 20 73 79 73 | from.the.official.CLI....let.sys |
| 83c0 | 74 65 6d 50 72 6f 6d 70 74 20 3d 20 74 68 69 73 2e 63 6f 6e 66 69 67 2e 73 79 73 74 65 6d 50 72 | temPrompt.=.this.config.systemPr |
| 83e0 | 6f 6d 70 74 3b 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 09 09 | ompt;...if.(isClaudeOAuth).{.... |
| 8400 | 2f 2f 20 60 62 75 69 6c 64 42 69 6c 6c 69 6e 67 48 65 61 64 65 72 56 61 6c 75 65 60 20 68 69 73 | //.`buildBillingHeaderValue`.his |
| 8420 | 74 6f 72 69 63 61 6c 6c 79 20 74 6f 6f 6b 20 60 7b 20 72 6f 6c 65 2c 20 63 6f 6e 74 65 6e 74 3a | torically.took.`{.role,.content: |
| 8440 | 20 73 74 72 69 6e 67 20 7d 5b 5d 60 2e 0a 09 09 09 2f 2f 20 50 72 6f 6a 65 63 74 20 74 68 65 20 | .string.}[]`.....//.Project.the. |
| 8460 | 6e 65 77 20 63 68 75 6e 6b 2d 62 61 73 65 64 20 43 68 61 74 4d 65 73 73 61 67 65 20 73 68 61 70 | new.chunk-based.ChatMessage.shap |
| 8480 | 65 20 6f 6e 74 6f 20 74 68 61 74 20 6c 65 67 61 63 79 20 73 68 61 70 65 0a 09 09 09 2f 2f 20 62 | e.onto.that.legacy.shape....//.b |
| 84a0 | 79 20 73 74 72 69 6e 67 69 66 79 69 6e 67 20 74 65 78 74 20 63 68 75 6e 6b 73 2e 20 4f 6e 6c 79 | y.stringifying.text.chunks..Only |
| 84c0 | 20 74 68 65 20 66 69 72 73 74 20 75 73 65 72 20 6d 65 73 73 61 67 65 27 73 20 74 65 78 74 20 69 | .the.first.user.message's.text.i |
| 84e0 | 73 0a 09 09 09 2f 2f 20 61 63 74 75 61 6c 6c 79 20 75 73 65 64 20 28 73 65 65 20 65 78 74 72 61 | s....//.actually.used.(see.extra |
| 8500 | 63 74 46 69 72 73 74 55 73 65 72 4d 65 73 73 61 67 65 54 65 78 74 29 20 e2 80 94 20 6e 6f 6e 2d | ctFirstUserMessageText).....non- |
| 8520 | 74 65 78 74 20 63 68 75 6e 6b 73 0a 09 09 09 2f 2f 20 73 61 66 65 6c 79 20 63 6f 6e 74 72 69 62 | text.chunks....//.safely.contrib |
| 8540 | 75 74 65 20 6e 6f 74 68 69 6e 67 2e 0a 09 09 09 63 6f 6e 73 74 20 6c 65 67 61 63 79 53 68 61 70 | ute.nothing.....const.legacyShap |
| 8560 | 65 20 3d 20 74 68 69 73 2e 6d 65 73 73 61 67 65 73 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 28 7b 0a | e.=.this.messages.map((m).=>.({. |
| 8580 | 09 09 09 09 72 6f 6c 65 3a 20 6d 2e 72 6f 6c 65 2c 0a 09 09 09 09 63 6f 6e 74 65 6e 74 3a 20 6d | ....role:.m.role,.....content:.m |
| 85a0 | 2e 63 68 75 6e 6b 73 0a 09 09 09 09 09 2e 66 69 6c 74 65 72 28 28 63 29 3a 20 63 20 69 73 20 45 | .chunks.......filter((c):.c.is.E |
| 85c0 | 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 20 7d 3e 20 | xtract<Chunk,.{.type:."text".}>. |
| 85e0 | 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 09 2e 6d 61 70 28 | =>.c.type.===."text").......map( |
| 8600 | 28 63 29 20 3d 3e 20 63 2e 74 65 78 74 29 0a 09 09 09 09 09 2e 6a 6f 69 6e 28 22 22 29 2c 0a 09 | (c).=>.c.text).......join(""),.. |
| 8620 | 09 09 7d 29 29 3b 0a 09 09 09 63 6f 6e 73 74 20 62 69 6c 6c 69 6e 67 48 65 61 64 65 72 20 3d 20 | ..}));....const.billingHeader.=. |
| 8640 | 62 75 69 6c 64 42 69 6c 6c 69 6e 67 48 65 61 64 65 72 56 61 6c 75 65 28 6c 65 67 61 63 79 53 68 | buildBillingHeaderValue(legacySh |
| 8660 | 61 70 65 29 3b 0a 09 09 09 73 79 73 74 65 6d 50 72 6f 6d 70 74 20 3d 20 60 24 7b 62 69 6c 6c 69 | ape);....systemPrompt.=.`${billi |
| 8680 | 6e 67 48 65 61 64 65 72 7d 5c 6e 24 7b 53 59 53 54 45 4d 5f 49 44 45 4e 54 49 54 59 7d 5c 6e 5c | ngHeader}\n${SYSTEM_IDENTITY}\n\ |
| 86a0 | 6e 24 7b 73 79 73 74 65 6d 50 72 6f 6d 70 74 7d 60 3b 0a 09 09 7d 0a 0a 09 09 74 72 79 20 7b 0a | n${systemPrompt}`;...}....try.{. |
| 86c0 | 09 09 09 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 | ...logAgentLoop({.....tabId:.thi |
| 86e0 | 73 2e 63 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 | s.config.tabId,.....event:."run- |
| 8700 | 73 74 61 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 | start",.....detail:.{.model:.thi |
| 8720 | 73 2e 63 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 | s.config.model,.provider:.this.c |
| 8740 | 6f 6e 66 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 | onfig.provider.},....});....//.S |
| 8760 | 69 6e 67 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 | ingle.chunk.accumulator.for.the. |
| 8780 | 65 6e 74 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 | entire.assistant.turn.(all.steps |
| 87a0 | 29 2e 0a 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 | ).....//.All.event-driven.mutati |
| 87c0 | 6f 6e 73 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 | ons.go.through.`appendEventToChu |
| 87e0 | 6e 6b 73 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 | nks`.....const.chunks:.Chunk[].= |
| 8800 | 20 5b 5d 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 | .[];.....//.We.build.up.a.local. |
| 8820 | 6d 65 73 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 | message.list.for.multi-turn.with |
| 8840 | 69 6e 20 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 | in.one.run().call....//.that.inc |
| 8860 | 6c 75 64 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 | ludes.tool.results.fed.back.to.t |
| 8880 | 68 65 20 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 | he.LLM..Each.step.appends....//. |
| 88a0 | 74 68 65 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 | the.assistant's.evolving.chunk.l |
| 88c0 | 69 73 74 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 | ist.as.one.ChatMessage;.subseque |
| 88e0 | 6e 74 0a 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 | nt....//.steps.see.prior.tool.ca |
| 8900 | 6c 6c 73 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 | lls.and.their.results.via.the.ch |
| 8920 | 75 6e 6b 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 | unks.....const.stepMessages:.Cha |
| 8940 | 74 4d 65 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 | tMessage[].=.[...this.messages]; |
| 8960 | 0a 09 09 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 | ....//.The.assistant.ChatMessage |
| 8980 | 20 66 6f 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 | .for.the.current.turn,.shared.ac |
| 89a0 | 72 6f 73 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 | ross.steps....//.so.its.`chunks` |
| 89c0 | 20 72 65 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 | .reference.matches.the.accumulat |
| 89e0 | 6f 72 20 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 | or.above..We.push....//.it.once. |
| 8a00 | 77 68 65 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 | when.the.first.step.has.actual.o |
| 8a20 | 75 74 70 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 | utput.to.record.....let.assistan |
| 8a40 | 74 54 75 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 | tTurnMessage:.ChatMessage.|.null |
| 8a60 | 20 3d 20 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 | .=.null;.....for.(let.step.=.0;. |
| 8a80 | 73 74 65 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 | step.<.MAX_STEPS;.step++).{..... |
| 8aa0 | 63 6f 6e 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 | const.effort.=......options?.rea |
| 8ac0 | 73 6f 6e 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 | soningEffort.??.this.config.reas |
| 8ae0 | 6f 6e 69 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 | oningEffort.??.DEFAULT_REASONING |
| 8b00 | 5f 45 46 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 | _EFFORT;.....const.debugReqId.=. |
| 8b20 | 6e 65 78 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 | nextDebugSeq();.....logStepLifec |
| 8b40 | 79 63 6c 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 | ycle({......tabId:.this.config.t |
| 8b60 | 61 62 49 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 | abId,......step,......event:."st |
| 8b80 | 65 70 2d 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 | ep-start",......detail:.{.effort |
| 8ba0 | 2c 20 68 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 | ,.historyMessages:.stepMessages. |
| 8bc0 | 6c 65 6e 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 | length.},.....});......//.Build. |
| 8be0 | 73 74 72 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 | stream.text.options.....const.mo |
| 8c00 | 64 65 6c 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 | del.=.providerFactory(this.confi |
| 8c20 | 67 2e 6d 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 | g.model);......//.Build.the.mess |
| 8c40 | 61 67 65 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 | age.list.with.the.system.prompt. |
| 8c60 | 70 72 65 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 | prepended.as.a.system.....//.rol |
| 8c80 | 65 20 6d 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 | e.message..This.is.required.for. |
| 8ca0 | 41 6e 74 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 | Anthropic.prompt.caching:.the... |
| 8cc0 | 09 09 2f 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 | ..//.`system`.shortcut.parameter |
| 8ce0 | 20 74 61 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 | .takes.a.plain.string.with.nowhe |
| 8d00 | 72 65 20 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 | re.to.....//.attach.`providerOpt |
| 8d20 | 69 6f 6e 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 | ions.anthropic.cacheControl`..Mo |
| 8d40 | 76 69 6e 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 | ving.it.inline.....//.also.lets. |
| 8d60 | 75 73 20 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 | us.apply.rolling.cache.breakpoin |
| 8d80 | 74 73 20 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 | ts.to.the.last.messages......con |
| 8da0 | 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 73 | st.systemMessage:.SystemModelMes |
| 8dc0 | 73 61 67 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 | sage.=.{......role:."system",... |
| 8de0 | 09 09 09 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 | ...content:.systemPrompt,.....}; |
| 8e00 | 0a 0a 09 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 | ......let.coreMessages:.ModelMes |
| 8e20 | 73 61 67 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 | sage[].=.[......systemMessage,.. |
| 8e40 | 09 09 09 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 | .......toModelMessages(stepMessa |
| 8e60 | 67 65 73 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 | ges,.isClaudeOAuth),.....];..... |
| 8e80 | 09 2f 2f 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 | .//.Apply.provider-specific.stru |
| 8ea0 | 63 74 75 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 | ctural.normalisations.before.... |
| 8ec0 | 09 2f 2f 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 | .//.sending..Anthropic.and.opena |
| 8ee0 | 69 2d 63 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 | i-compatible.paths.each.have.... |
| 8f00 | 09 2f 2f 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 | .//.their.own.message-shape.requ |
| 8f20 | 69 72 65 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 | irements;.the.two.passes.are.... |
| 8f40 | 09 2f 2f 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 | .//.mutually.exclusive......if.( |
| 8f60 | 75 73 65 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 | usesAnthropicSDK).{......coreMes |
| 8f80 | 73 61 67 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 | sages.=.applyAnthropicStructural |
| 8fa0 | 4e 6f 72 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 | Normalisations(coreMessages);... |
| 8fc0 | 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 63 6f 72 65 4d 65 73 | ...applyAnthropicCaching(coreMes |
| 8fe0 | 73 61 67 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 | sages);.....}.else.{......coreMe |
| 9000 | 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 65 52 65 | ssages.=.applyOpenAICompatibleRe |
| 9020 | 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 61 67 65 | asoningNormalisation(coreMessage |
| 9040 | 73 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 63 6f 6e 73 74 20 73 74 72 65 61 6d 4f 70 74 69 6f | s);.....}......const.streamOptio |
| 9060 | 6e 73 3a 20 50 61 72 61 6d 65 74 65 72 73 3c 74 79 70 65 6f 66 20 73 74 72 65 61 6d 54 65 78 74 | ns:.Parameters<typeof.streamText |
| 9080 | 3e 5b 30 5d 20 3d 20 7b 0a 09 09 09 09 09 6d 6f 64 65 6c 2c 0a 09 09 09 09 09 6d 65 73 73 61 67 | >[0].=.{......model,......messag |
| 90a0 | 65 73 3a 20 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 | es:.coreMessages,......tools,... |
| 90c0 | 09 09 09 61 62 6f 72 74 53 69 67 6e 61 6c 3a 20 6f 70 74 69 6f 6e 73 3f 2e 61 62 6f 72 74 53 69 | ...abortSignal:.options?.abortSi |
| 90e0 | 67 6e 61 6c 2c 0a 09 09 09 09 7d 3b 0a 0a 09 09 09 09 2f 2f 20 45 6e 63 6f 75 72 61 67 65 20 74 | gnal,.....};......//.Encourage.t |
| 9100 | 6f 6f 6c 20 75 73 65 20 6f 6e 20 41 6e 74 68 72 6f 70 69 63 2e 20 57 69 74 68 6f 75 74 20 61 6e | ool.use.on.Anthropic..Without.an |
| 9120 | 20 65 78 70 6c 69 63 69 74 0a 09 09 09 09 2f 2f 20 60 74 6f 6f 6c 43 68 6f 69 63 65 60 2c 20 43 | .explicit.....//.`toolChoice`,.C |
| 9140 | 6c 61 75 64 65 20 28 65 73 70 65 63 69 61 6c 6c 79 20 4f 70 75 73 20 34 2e 37 20 77 69 74 68 20 | laude.(especially.Opus.4.7.with. |
| 9160 | 61 64 61 70 74 69 76 65 0a 09 09 09 09 2f 2f 20 74 68 69 6e 6b 69 6e 67 29 20 63 61 6e 20 64 65 | adaptive.....//.thinking).can.de |
| 9180 | 63 69 64 65 20 74 6f 20 22 74 68 69 6e 6b 20 66 6f 72 65 76 65 72 22 20 69 6e 73 74 65 61 64 20 | cide.to."think.forever".instead. |
| 91a0 | 6f 66 20 63 61 6c 6c 69 6e 67 0a 09 09 09 09 2f 2f 20 74 68 65 20 74 6f 6f 6c 73 20 69 74 20 68 | of.calling.....//.the.tools.it.h |
| 91c0 | 61 73 20 62 65 65 6e 20 67 69 76 65 6e 2e 20 60 22 61 75 74 6f 22 60 20 6b 65 65 70 73 20 43 6c | as.been.given..`"auto"`.keeps.Cl |
| 91e0 | 61 75 64 65 20 66 72 65 65 20 74 6f 0a 09 09 09 09 2f 2f 20 61 6e 73 77 65 72 20 77 69 74 68 20 | aude.free.to.....//.answer.with. |
| 9200 | 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 20 77 68 69 | text.when.no.tool.is.needed,.whi |
| 9220 | 6c 65 20 6d 61 6b 69 6e 67 20 74 68 65 0a 09 09 09 09 2f 2f 20 61 76 61 69 6c 61 62 69 6c 69 74 | le.making.the.....//.availabilit |
| 9240 | 79 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 69 6e | y.of.tools.an.explicit.signal.in |
| 9260 | 20 74 68 65 20 72 65 71 75 65 73 74 2e 0a 09 09 09 09 69 66 20 28 69 73 43 6c 61 75 64 65 4f 41 | .the.request......if.(isClaudeOA |
| 9280 | 75 74 68 29 20 7b 0a 09 09 09 09 09 73 74 72 65 61 6d 4f 70 74 69 6f 6e 73 2e 74 6f 6f 6c 43 68 | uth).{......streamOptions.toolCh |
| 92a0 | 6f 69 63 65 20 3d 20 22 61 75 74 6f 22 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 69 66 20 28 69 73 | oice.=."auto";.....}......if.(is |
| 92c0 | 43 6c 61 75 64 65 4f 41 75 74 68 20 26 26 20 65 66 66 6f 72 74 20 21 3d 3d 20 22 6e 6f 6e 65 22 | ClaudeOAuth.&&.effort.!==."none" |
| 92e0 | 29 20 7b 0a 09 09 09 09 09 2f 2f 20 76 36 20 6e 61 74 69 76 65 20 73 75 70 70 6f 72 74 20 66 6f | ).{......//.v6.native.support.fo |
| 9300 | 72 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 67 20 76 69 | r.Anthropic.adaptive.thinking.vi |
| 9320 | 61 0a 09 09 09 09 09 2f 2f 20 70 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 2e 20 4e 6f 20 6d 6f | a......//.providerOptions..No.mo |
| 9340 | 72 65 20 72 65 77 72 69 74 65 42 6f 64 79 46 6f 72 4f 70 75 73 34 37 20 62 6f 64 79 2d 0a 09 09 | re.rewriteBodyForOpus47.body-... |
| 9360 | 09 09 09 2f 2f 20 69 6e 6a 65 63 74 69 6f 6e 20 68 61 63 6b 20 6e 65 65 64 65 64 2e 0a 09 09 09 | ...//.injection.hack.needed..... |
| 9380 | 09 09 2f 2f 0a 09 09 09 09 09 2f 2f 20 42 75 64 67 65 74 73 20 6d 69 72 72 6f 72 20 6f 70 65 6e | ..//......//.Budgets.mirror.open |
| 93a0 | 63 6f 64 65 20 74 72 61 6e 73 66 6f 72 6d 2e 74 73 3a 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 6d | code.transform.ts:......//...-.m |
| 93c0 | 61 78 20 20 62 75 64 67 65 74 20 3d 20 33 31 39 39 39 20 28 41 6e 74 68 72 6f 70 69 63 27 73 20 | ax..budget.=.31999.(Anthropic's. |
| 93e0 | 64 6f 63 75 6d 65 6e 74 65 64 20 63 65 69 6c 69 6e 67 3b 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 | documented.ceiling;......//..... |
| 9400 | 60 4d 61 74 68 2e 6d 69 6e 28 33 31 5f 39 39 39 2c 20 6d 6f 64 65 6c 2e 6c 69 6d 69 74 2e 6f 75 | `Math.min(31_999,.model.limit.ou |
| 9420 | 74 70 75 74 20 2d 20 31 29 60 20 69 6e 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 6f 70 65 6e 63 6f | tput.-.1)`.in......//.....openco |
| 9440 | 64 65 20 6c 69 6e 65 20 36 36 38 29 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 68 69 67 68 20 62 75 | de.line.668)......//...-.high.bu |
| 9460 | 64 67 65 74 20 3d 20 31 36 30 30 30 20 28 6f 70 65 6e 63 6f 64 65 20 6c 69 6e 65 20 36 36 32 3a | dget.=.16000.(opencode.line.662: |
| 9480 | 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 60 4d 61 74 68 2e 6d 69 6e 28 31 36 5f 30 30 30 2c 20 4d | ......//.....`Math.min(16_000,.M |
| 94a0 | 61 74 68 2e 66 6c 6f 6f 72 28 6d 6f 64 65 6c 2e 6c 69 6d 69 74 2e 6f 75 74 70 75 74 2f 32 2d 31 | ath.floor(model.limit.output/2-1 |
| 94c0 | 29 29 60 29 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 6d 65 64 69 75 6d 2f 6c 6f 77 3a 20 6e 6f 20 | ))`)......//...-.medium/low:.no. |
| 94e0 | 6f 70 65 6e 63 6f 64 65 20 65 71 75 69 76 61 6c 65 6e 74 20 e2 80 94 20 73 65 6e 73 69 62 6c 65 | opencode.equivalent.....sensible |
| 9500 | 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 64 65 66 61 75 6c | ......//.....intermediate.defaul |
| 9520 | 74 73 2e 0a 09 09 09 09 09 2f 2f 0a 09 09 09 09 09 2f 2f 20 60 6d 61 78 4f 75 74 70 75 74 54 6f | ts.......//......//.`maxOutputTo |
| 9540 | 6b 65 6e 73 60 20 69 73 20 74 68 65 20 54 4f 54 41 4c 20 6f 75 74 70 75 74 20 63 61 70 20 28 74 | kens`.is.the.TOTAL.output.cap.(t |
| 9560 | 68 69 6e 6b 69 6e 67 20 2b 0a 09 09 09 09 09 2f 2f 20 72 65 73 70 6f 6e 73 65 20 63 6f 6d 62 69 | hinking.+......//.response.combi |
| 9580 | 6e 65 64 29 2e 20 41 6e 74 68 72 6f 70 69 63 27 73 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 | ned)..Anthropic's.standard.outpu |
| 95a0 | 74 20 6d 61 78 20 69 73 0a 09 09 09 09 09 2f 2f 20 33 32 4b 20 66 6f 72 20 43 6c 61 75 64 65 20 | t.max.is......//.32K.for.Claude. |
| 95c0 | 34 2e 78 3b 20 6d 61 74 63 68 69 6e 67 20 6f 70 65 6e 63 6f 64 65 27 73 20 4f 55 54 50 55 54 5f | 4.x;.matching.opencode's.OUTPUT_ |
| 95e0 | 54 4f 4b 45 4e 5f 4d 41 58 0a 09 09 09 09 09 2f 2f 20 63 6f 6e 73 74 61 6e 74 2e 20 54 68 65 20 | TOKEN_MAX......//.constant..The. |
| 9600 | 60 62 75 64 67 65 74 5f 74 6f 6b 65 6e 73 60 20 66 69 65 6c 64 20 69 73 20 61 20 74 68 69 6e 6b | `budget_tokens`.field.is.a.think |
| 9620 | 69 6e 67 0a 09 09 09 09 09 2f 2f 20 63 65 69 6c 69 6e 67 2c 20 6e 6f 74 20 61 20 72 65 71 75 69 | ing......//.ceiling,.not.a.requi |
| 9640 | 72 65 6d 65 6e 74 2c 20 73 6f 20 74 68 65 20 6d 6f 64 65 6c 20 73 65 6c 66 2d 72 65 67 75 6c 61 | rement,.so.the.model.self-regula |
| 9660 | 74 65 73 0a 09 09 09 09 09 2f 2f 20 74 68 69 6e 6b 69 6e 67 20 76 73 20 72 65 73 70 6f 6e 73 65 | tes......//.thinking.vs.response |
| 9680 | 20 77 69 74 68 69 6e 20 74 68 69 73 20 74 6f 74 61 6c 20 62 75 64 67 65 74 2e 0a 09 09 09 09 09 | .within.this.total.budget....... |
| 96a0 | 2f 2f 0a 09 09 09 09 09 2f 2f 20 41 64 61 70 74 69 76 65 20 74 68 69 6e 6b 69 6e 67 20 73 70 65 | //......//.Adaptive.thinking.spe |
| 96c0 | 63 69 66 69 63 73 20 28 4f 70 75 73 20 34 2e 37 2b 2c 20 4f 70 75 73 2f 53 6f 6e 6e 65 74 20 34 | cifics.(Opus.4.7+,.Opus/Sonnet.4 |
| 96e0 | 2e 36 3b 20 6d 69 72 72 6f 72 73 20 6f 70 65 6e 63 6f 64 65 0a 09 09 09 09 09 2f 2f 20 74 72 61 | .6;.mirrors.opencode......//.tra |
| 9700 | 6e 73 66 6f 72 6d 2e 74 73 3a 36 34 32 2d 36 35 35 29 3a 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 | nsform.ts:642-655):......//...-. |
| 9720 | 60 74 68 69 6e 6b 69 6e 67 2e 74 79 70 65 20 3d 20 22 61 64 61 70 74 69 76 65 22 60 20 e2 80 94 | `thinking.type.=."adaptive"`.... |
| 9740 | 20 74 68 65 20 6d 6f 64 65 6c 20 64 65 63 69 64 65 73 20 68 6f 77 0a 09 09 09 09 09 2f 2f 20 20 | .the.model.decides.how......//.. |
| 9760 | 20 20 20 6d 75 63 68 20 74 6f 20 74 68 69 6e 6b 20 77 69 74 68 69 6e 20 60 6d 61 78 4f 75 74 70 | ...much.to.think.within.`maxOutp |
| 9780 | 75 74 54 6f 6b 65 6e 73 60 2e 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 60 74 68 69 6e 6b 69 6e 67 | utTokens`.......//...-.`thinking |
| 97a0 | 2e 64 69 73 70 6c 61 79 20 3d 20 22 73 75 6d 6d 61 72 69 7a 65 64 22 60 20 e2 80 94 20 61 64 61 | .display.=."summarized"`.....ada |
| 97c0 | 70 74 69 76 65 20 74 68 69 6e 6b 69 6e 67 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 66 6f 72 20 4f | ptive.thinking......//.....for.O |
| 97e0 | 70 75 73 20 34 2e 37 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 69 73 70 6c 61 79 3a 20 22 6f | pus.4.7.defaults.to.`display:."o |
| 9800 | 6d 69 74 74 65 64 22 60 2c 20 77 68 69 63 68 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 6d 65 61 6e | mitted"`,.which......//.....mean |
| 9820 | 73 20 4e 4f 20 74 68 69 6e 6b 69 6e 67 20 63 6f 6e 74 65 6e 74 20 69 73 20 73 74 72 65 61 6d 65 | s.NO.thinking.content.is.streame |
| 9840 | 64 20 74 6f 20 75 73 2e 20 53 65 74 74 69 6e 67 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 60 73 75 | d.to.us..Setting......//.....`su |
| 9860 | 6d 6d 61 72 69 7a 65 64 60 20 69 73 20 77 68 61 74 20 6d 61 6b 65 73 20 74 68 65 20 74 68 69 6e | mmarized`.is.what.makes.the.thin |
| 9880 | 6b 69 6e 67 20 76 69 73 69 62 6c 65 20 69 6e 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 74 68 65 20 | king.visible.in......//.....the. |
| 98a0 | 55 49 2e 0a 09 09 09 09 09 2f 2f 20 20 20 2d 20 60 65 66 66 6f 72 74 60 20 28 73 69 62 6c 69 6e | UI.......//...-.`effort`.(siblin |
| 98c0 | 67 20 6f 66 20 60 74 68 69 6e 6b 69 6e 67 60 29 20 e2 80 94 20 61 64 61 70 74 69 76 65 20 6e 65 | g.of.`thinking`).....adaptive.ne |
| 98e0 | 65 64 73 20 61 6e 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 65 78 70 6c 69 63 69 74 20 65 66 66 6f | eds.an......//.....explicit.effo |
| 9900 | 72 74 20 6c 65 76 65 6c 2e 20 57 69 74 68 6f 75 74 20 69 74 2c 20 41 6e 74 68 72 6f 70 69 63 20 | rt.level..Without.it,.Anthropic. |
| 9920 | 75 73 65 73 20 61 0a 09 09 09 09 09 2f 2f 20 20 20 20 20 63 6f 6e 73 65 72 76 61 74 69 76 65 20 | uses.a......//.....conservative. |
| 9940 | 64 65 66 61 75 6c 74 20 61 6e 64 20 74 68 65 20 6d 6f 64 65 6c 20 62 61 72 65 6c 79 20 74 68 69 | default.and.the.model.barely.thi |
| 9960 | 6e 6b 73 2e 0a 09 09 09 09 09 2f 2f 20 43 61 70 20 61 74 20 41 6e 74 68 72 6f 70 69 63 27 73 20 | nks.......//.Cap.at.Anthropic's. |
| 9980 | 73 74 61 6e 64 61 72 64 20 33 32 4b 20 6f 75 74 70 75 74 20 28 6d 61 74 63 68 65 73 20 6f 70 65 | standard.32K.output.(matches.ope |
| 99a0 | 6e 63 6f 64 65 27 73 0a 09 09 09 09 09 2f 2f 20 4f 55 54 50 55 54 5f 54 4f 4b 45 4e 5f 4d 41 58 | ncode's......//.OUTPUT_TOKEN_MAX |
| 99c0 | 29 3b 20 74 68 65 20 6d 6f 64 65 6c 20 73 65 6c 66 2d 72 65 67 75 6c 61 74 65 73 20 74 68 69 6e | );.the.model.self-regulates.thin |
| 99e0 | 6b 69 6e 67 20 76 73 0a 09 09 09 09 09 2f 2f 20 72 65 73 70 6f 6e 73 65 20 77 69 74 68 69 6e 20 | king.vs......//.response.within. |
| 9a00 | 74 68 69 73 20 74 6f 74 61 6c 20 62 75 64 67 65 74 2e 20 54 68 69 6e 6b 69 6e 67 20 63 6f 6e 66 | this.total.budget..Thinking.conf |
| 9a20 | 69 67 20 28 61 64 61 70 74 69 76 65 0a 09 09 09 09 09 2f 2f 20 76 73 20 65 6e 61 62 6c 65 64 2c | ig.(adaptive......//.vs.enabled, |
| 9a40 | 20 70 6c 75 73 20 64 69 73 70 6c 61 79 3a 22 73 75 6d 6d 61 72 69 7a 65 64 22 20 66 6f 72 20 4f | .plus.display:"summarized".for.O |
| 9a60 | 70 75 73 20 34 2e 37 2b 29 20 69 73 0a 09 09 09 09 09 2f 2f 20 64 65 72 69 76 65 64 20 66 72 6f | pus.4.7+).is......//.derived.fro |
| 9a80 | 6d 20 74 68 65 20 6d 6f 64 65 6c 20 69 64 20 28 73 65 65 20 61 6e 74 68 72 6f 70 69 63 54 68 69 | m.the.model.id.(see.anthropicThi |
| 9aa0 | 6e 6b 69 6e 67 50 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 29 2e 0a 09 09 09 09 09 73 74 72 65 | nkingProviderOptions).......stre |
| 9ac0 | 61 6d 4f 70 74 69 6f 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 | amOptions.maxOutputTokens.=.3200 |
| 9ae0 | 30 3b 0a 09 09 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 | 0;......streamOptions.providerOp |
| 9b00 | 74 69 6f 6e 73 20 3d 20 7b 0a 09 09 09 09 09 09 61 6e 74 68 72 6f 70 69 63 3a 20 61 6e 74 68 72 | tions.=.{.......anthropic:.anthr |
| 9b20 | 6f 70 69 63 54 68 69 6e 6b 69 6e 67 50 72 6f 76 69 64 65 72 4f 70 74 69 6f 6e 73 28 74 68 69 73 | opicThinkingProviderOptions(this |
| 9b40 | 2e 63 6f 6e 66 69 67 2e 6d 6f 64 65 6c 2c 20 65 66 66 6f 72 74 29 2c 0a 09 09 09 09 09 7d 3b 0a | .config.model,.effort),......};. |
| 9b60 | 09 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 21 75 73 65 73 41 6e 74 68 72 6f 70 69 63 53 44 4b | ....}.else.if.(!usesAnthropicSDK |
| 9b80 | 20 26 26 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 09 09 2f 2f | .&&.effort.!==."none").{......// |
| 9ba0 | 20 4f 70 65 6e 41 49 2d 63 6f 6d 70 61 74 69 62 6c 65 20 6d 6f 64 65 6c 73 20 28 4f 70 65 6e 43 | .OpenAI-compatible.models.(OpenC |
| 9bc0 | 6f 64 65 20 5a 65 6e 3a 20 44 65 65 70 53 65 65 6b 2c 20 47 4c 4d 2c 0a 09 09 09 09 09 2f 2f 20 | ode.Zen:.DeepSeek,.GLM,......//. |
| 9be0 | 4b 69 6d 69 2c 20 65 74 63 2e 29 2e 20 54 68 65 20 60 72 65 61 73 6f 6e 69 6e 67 45 66 66 6f 72 | Kimi,.etc.)..The.`reasoningEffor |
| 9c00 | 74 60 20 66 69 65 6c 64 20 69 73 20 66 6f 72 77 61 72 64 65 64 0a 09 09 09 09 09 2f 2f 20 76 65 | t`.field.is.forwarded......//.ve |
| 9c20 | 72 62 61 74 69 6d 20 74 6f 20 70 72 6f 76 69 64 65 72 73 20 74 68 61 74 20 73 75 70 70 6f 72 74 | rbatim.to.providers.that.support |
| 9c40 | 20 69 74 2e 20 60 22 6d 61 78 22 60 20 69 73 20 74 68 65 0a 09 09 09 09 09 2f 2f 20 73 74 72 6f | .it..`"max"`.is.the......//.stro |
| 9c60 | 6e 67 65 73 74 20 6c 65 76 65 6c 20 77 65 20 65 78 70 6f 73 65 3b 20 74 68 65 20 70 72 6f 76 69 | ngest.level.we.expose;.the.provi |
| 9c80 | 64 65 72 20 6d 61 79 20 6d 61 70 20 69 74 0a 09 09 09 09 09 2f 2f 20 69 6e 74 65 72 6e 61 6c 6c | der.may.map.it......//.internall |
| 9ca0 | 79 20 28 65 2e 67 2e 20 44 65 65 70 53 65 65 6b 20 69 6e 74 65 72 70 72 65 74 73 20 69 74 20 61 | y.(e.g..DeepSeek.interprets.it.a |
| 9cc0 | 73 20 64 65 65 70 0a 09 09 09 09 09 2f 2f 20 72 65 61 73 6f 6e 69 6e 67 29 2e 0a 09 09 09 09 09 | s.deep......//.reasoning)....... |
| 9ce0 | 73 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 | streamOptions.providerOptions.=. |
| 9d00 | 7b 20 6f 70 65 6e 61 69 43 6f 6d 70 61 74 69 62 6c 65 3a 20 7b 20 72 65 61 73 6f 6e 69 6e 67 45 | {.openaiCompatible:.{.reasoningE |
| 9d20 | 66 66 6f 72 74 3a 20 65 66 66 6f 72 74 20 7d 20 7d 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 63 6f | ffort:.effort.}.};.....}......co |
| 9d40 | 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 73 74 72 65 61 6d 54 65 78 74 28 73 74 72 65 61 6d 4f 70 | nst.result.=.streamText(streamOp |
| 9d60 | 74 69 6f 6e 73 29 3b 0a 0a 09 09 09 09 2f 2f 20 50 65 72 2d 73 74 65 70 20 74 6f 6f 6c 2d 63 61 | tions);......//.Per-step.tool-ca |
| 9d80 | 6c 6c 20 74 72 61 63 6b 69 6e 67 20 e2 80 94 20 6e 65 65 64 65 64 20 62 65 63 61 75 73 65 20 77 | ll.tracking.....needed.because.w |
| 9da0 | 65 20 6f 6e 6c 79 20 6c 6f 6f 70 20 62 61 63 6b 0a 09 09 09 09 2f 2f 20 74 6f 20 74 68 65 20 4c | e.only.loop.back.....//.to.the.L |
| 9dc0 | 4c 4d 20 69 66 20 74 68 69 73 20 73 74 65 70 20 70 72 6f 64 75 63 65 64 20 74 6f 6f 6c 20 63 61 | LM.if.this.step.produced.tool.ca |
| 9de0 | 6c 6c 73 2e 20 54 68 65 20 61 63 74 75 61 6c 20 63 68 75 6e 6b 0a 09 09 09 09 2f 2f 20 73 74 61 | lls..The.actual.chunk.....//.sta |
| 9e00 | 74 65 20 66 6f 72 20 74 68 65 20 74 75 72 6e 20 6c 69 76 65 73 20 69 6e 20 60 63 68 75 6e 6b 73 | te.for.the.turn.lives.in.`chunks |
| 9e20 | 60 2e 0a 09 09 09 09 63 6f 6e 73 74 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 3a 20 54 6f 6f 6c | `......const.stepToolCalls:.Tool |
| 9e40 | 43 61 6c 6c 5b 5d 20 3d 20 5b 5d 3b 0a 0a 09 09 09 09 2f 2f 20 45 6e 73 75 72 65 20 77 65 20 68 | Call[].=.[];......//.Ensure.we.h |
| 9e60 | 61 76 65 20 61 6e 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 20 69 6e 20 73 74 65 70 | ave.an.assistant.message.in.step |
| 9e80 | 4d 65 73 73 61 67 65 73 20 77 68 6f 73 65 0a 09 09 09 09 2f 2f 20 60 63 68 75 6e 6b 73 60 20 72 | Messages.whose.....//.`chunks`.r |
| 9ea0 | 65 66 65 72 65 6e 63 65 20 69 73 20 73 68 61 72 65 64 20 77 69 74 68 20 6f 75 72 20 61 63 63 75 | eference.is.shared.with.our.accu |
| 9ec0 | 6d 75 6c 61 74 6f 72 2e 20 4f 6e 6c 79 20 70 75 73 68 0a 09 09 09 09 2f 2f 20 6f 6e 63 65 3b 20 | mulator..Only.push.....//.once;. |
| 9ee0 | 73 75 62 73 65 71 75 65 6e 74 20 73 74 65 70 73 20 6d 75 74 61 74 65 20 74 68 65 20 73 61 6d 65 | subsequent.steps.mutate.the.same |
| 9f00 | 20 63 68 75 6e 6b 73 20 61 72 72 61 79 2e 0a 09 09 09 09 69 66 20 28 61 73 73 69 73 74 61 6e 74 | .chunks.array......if.(assistant |
| 9f20 | 54 75 72 6e 4d 65 73 73 61 67 65 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 09 09 61 73 73 | TurnMessage.===.null).{......ass |
| 9f40 | 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 20 3d 20 7b 20 72 6f 6c 65 3a 20 22 61 73 73 | istantTurnMessage.=.{.role:."ass |
| 9f60 | 69 73 74 61 6e 74 22 2c 20 63 68 75 6e 6b 73 20 7d 3b 0a 09 09 09 09 09 73 74 65 70 4d 65 73 73 | istant",.chunks.};......stepMess |
| 9f80 | 61 67 65 73 2e 70 75 73 68 28 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 29 3b | ages.push(assistantTurnMessage); |
| 9fa0 | 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 55 6e 65 78 70 65 63 74 65 64 20 73 74 72 65 61 6d | .....}......//.Unexpected.stream |
| 9fc0 | 20 65 72 72 6f 72 73 20 70 72 6f 70 61 67 61 74 65 20 75 70 20 74 6f 20 74 68 65 20 6f 75 74 65 | .errors.propagate.up.to.the.oute |
| 9fe0 | 72 20 74 72 79 2f 63 61 74 63 68 0a 09 09 09 09 2f 2f 20 69 6e 20 60 72 75 6e 28 29 60 2c 20 77 | r.try/catch.....//.in.`run()`,.w |
| a000 | 68 69 63 68 20 66 6f 72 6d 61 74 73 20 74 68 65 6d 20 61 6e 64 20 74 72 61 6e 73 69 74 69 6f 6e | hich.formats.them.and.transition |
| a020 | 73 20 74 68 65 20 61 67 65 6e 74 20 74 6f 0a 09 09 09 09 2f 2f 20 74 68 65 20 22 65 72 72 6f 72 | s.the.agent.to.....//.the."error |
| a040 | 22 20 73 74 61 74 75 73 2e 20 54 68 65 20 41 49 20 53 44 4b 20 76 36 20 73 75 72 66 61 63 65 73 | ".status..The.AI.SDK.v6.surfaces |
| a060 | 20 75 6e 61 76 61 69 6c 61 62 6c 65 2d 74 6f 6f 6c 0a 09 09 09 09 2f 2f 20 63 61 6c 6c 73 20 61 | .unavailable-tool.....//.calls.a |
| a080 | 73 20 6e 61 74 69 76 65 20 60 74 6f 6f 6c 2d 65 72 72 6f 72 60 20 73 74 72 65 61 6d 20 65 76 65 | s.native.`tool-error`.stream.eve |
| a0a0 | 6e 74 73 20 28 68 61 6e 64 6c 65 64 20 62 65 6c 6f 77 29 2c 0a 09 09 09 09 2f 2f 20 73 6f 20 74 | nts.(handled.below),.....//.so.t |
| a0c0 | 68 65 72 65 27 73 20 6e 6f 20 4e 6f 53 75 63 68 54 6f 6f 6c 45 72 72 6f 72 20 74 6f 20 63 61 74 | here's.no.NoSuchToolError.to.cat |
| a0e0 | 63 68 20 68 65 72 65 2e 0a 09 09 09 09 66 6f 72 20 61 77 61 69 74 20 28 63 6f 6e 73 74 20 65 76 | ch.here......for.await.(const.ev |
| a100 | 65 6e 74 20 6f 66 20 72 65 73 75 6c 74 2e 66 75 6c 6c 53 74 72 65 61 6d 29 20 7b 0a 09 09 09 09 | ent.of.result.fullStream).{..... |
| a120 | 09 6c 6f 67 53 74 72 65 61 6d 45 76 65 6e 74 28 7b 0a 09 09 09 09 09 09 72 65 71 75 65 73 74 49 | .logStreamEvent({.......requestI |
| a140 | 64 3a 20 64 65 62 75 67 52 65 71 49 64 2c 0a 09 09 09 09 09 09 73 74 65 70 2c 0a 09 09 09 09 09 | d:.debugReqId,.......step,...... |
| a160 | 09 65 76 65 6e 74 54 79 70 65 3a 20 65 76 65 6e 74 2e 74 79 70 65 2c 0a 09 09 09 09 09 09 74 61 | .eventType:.event.type,.......ta |
| a180 | 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 7d 29 3b | bId:.this.config.tabId,......}); |
| a1a0 | 0a 09 09 09 09 09 69 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 74 65 78 74 2d 64 | ......if.(event.type.===."text-d |
| a1c0 | 65 6c 74 61 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 36 3a 20 74 65 78 74 2d 64 65 6c 74 61 | elta").{.......//.v6:.text-delta |
| a1e0 | 20 63 61 72 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 | .carries.`text`.(not.`textDelta` |
| a200 | 29 0a 09 09 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 | ).......const.internalEvent:.Age |
| a220 | 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 65 78 74 2d 64 | ntEvent.=.{........type:."text-d |
| a240 | 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 2c | elta",........delta:.event.text, |
| a260 | 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 75 | .......};.......appendEventToChu |
| a280 | 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 09 | nks(chunks,.internalEvent);..... |
| a2a0 | 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 6c | ..yield.internalEvent;......}.el |
| a2c0 | 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 67 | se.if.(event.type.===."reasoning |
| a2e0 | 2d 64 65 6c 74 61 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 36 20 6e 65 77 20 65 76 65 6e 74 | -delta").{.......//.v6.new.event |
| a300 | 3a 20 72 65 61 73 6f 6e 69 6e 67 2d 64 65 6c 74 61 20 63 61 72 72 69 65 73 20 60 74 65 78 74 60 | :.reasoning-delta.carries.`text` |
| a320 | 20 28 6e 6f 74 20 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 | .(not.`textDelta`).......const.i |
| a340 | 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 7b 0a 09 09 09 | nternalEvent:.AgentEvent.=.{.... |
| a360 | 09 09 09 09 74 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 2d 64 65 6c 74 61 22 2c 0a 09 09 09 | ....type:."reasoning-delta",.... |
| a380 | 09 09 09 09 64 65 6c 74 61 3a 20 65 76 65 6e 74 2e 74 65 78 74 2c 0a 09 09 09 09 09 09 7d 3b 0a | ....delta:.event.text,.......};. |
| a3a0 | 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 63 68 75 6e 6b 73 | ......appendEventToChunks(chunks |
| a3c0 | 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 65 6c 64 20 69 6e | ,.internalEvent);.......yield.in |
| a3e0 | 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 66 20 28 65 76 65 | ternalEvent;......}.else.if.(eve |
| a400 | 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 72 65 61 73 6f 6e 69 6e 67 2d 65 6e 64 22 29 20 7b 0a 09 | nt.type.===."reasoning-end").{.. |
| a420 | 09 09 09 09 09 2f 2f 20 4f 6e 6c 79 20 65 6d 69 74 20 77 68 65 6e 20 70 72 6f 76 69 64 65 72 4d | .....//.Only.emit.when.providerM |
| a440 | 65 74 61 64 61 74 61 20 69 73 20 70 72 65 73 65 6e 74 20 e2 80 94 20 6e 6f 6e 2d 41 6e 74 68 72 | etadata.is.present.....non-Anthr |
| a460 | 6f 70 69 63 0a 09 09 09 09 09 09 2f 2f 20 6d 6f 64 65 6c 73 20 73 65 6e 64 20 72 65 61 73 6f 6e | opic.......//.models.send.reason |
| a480 | 69 6e 67 2d 65 6e 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 6d 65 74 61 64 61 74 61 20 74 6f 20 | ing-end.without.any.metadata.to. |
| a4a0 | 72 6f 75 6e 64 2d 74 72 69 70 2e 0a 09 09 09 09 09 09 2f 2f 20 41 6e 74 68 72 6f 70 69 63 27 73 | round-trip........//.Anthropic's |
| a4c0 | 20 73 69 67 6e 61 74 75 72 65 20 6c 69 76 65 73 20 69 6e 73 69 64 65 20 70 72 6f 76 69 64 65 72 | .signature.lives.inside.provider |
| a4e0 | 4d 65 74 61 64 61 74 61 20 61 73 0a 09 09 09 09 09 09 2f 2f 20 7b 20 61 6e 74 68 72 6f 70 69 63 | Metadata.as.......//.{.anthropic |
| a500 | 3a 20 7b 20 73 69 67 6e 61 74 75 72 65 3a 20 22 2e 2e 2e 22 20 7d 20 7d 2e 0a 09 09 09 09 09 09 | :.{.signature:."...".}.}........ |
| a520 | 69 66 20 28 65 76 65 6e 74 2e 70 72 6f 76 69 64 65 72 4d 65 74 61 64 61 74 61 20 21 3d 3d 20 75 | if.(event.providerMetadata.!==.u |
| a540 | 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 69 6e 74 65 72 6e 61 | ndefined).{........const.interna |
| a560 | 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 09 74 | lEvent:.AgentEvent.=.{.........t |
| a580 | 79 70 65 3a 20 22 72 65 61 73 6f 6e 69 6e 67 2d 65 6e 64 22 2c 0a 09 09 09 09 09 09 09 09 6d 65 | ype:."reasoning-end",.........me |
| a5a0 | 74 61 64 61 74 61 3a 20 65 76 65 6e 74 2e 70 72 6f 76 69 64 65 72 4d 65 74 61 64 61 74 61 20 61 | tadata:.event.providerMetadata.a |
| a5c0 | 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 2c 0a 09 09 09 09 09 | s.Record<string,.unknown>,...... |
| a5e0 | 09 09 7d 3b 0a 09 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( |
| a600 | 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 09 79 | chunks,.internalEvent);........y |
| a620 | 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 09 7d 0a 09 09 09 09 | ield.internalEvent;.......}..... |
| a640 | 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 74 6f 6f 6c | .}.else.if.(event.type.===."tool |
| a660 | 2d 63 61 6c 6c 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 76 36 3a 20 74 6f 6f 6c 20 63 61 6c 6c | -call").{.......//.v6:.tool.call |
| a680 | 20 69 6e 70 75 74 20 69 73 20 69 6e 20 60 69 6e 70 75 74 60 20 28 6e 6f 74 20 60 61 72 67 73 60 | .input.is.in.`input`.(not.`args` |
| a6a0 | 29 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 72 61 77 4e 61 6d 65 20 3d 20 65 76 65 6e 74 2e 74 6f | ).......const.rawName.=.event.to |
| a6c0 | 6f 6c 4e 61 6d 65 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 4e 61 6d 65 20 3d 20 69 | olName;.......const.toolName.=.i |
| a6e0 | 73 43 6c 61 75 64 65 4f 41 75 74 68 20 3f 20 75 6e 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d 65 28 | sClaudeOAuth.?.unprefixToolName( |
| a700 | 72 61 77 4e 61 6d 65 29 20 3a 20 72 61 77 4e 61 6d 65 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 | rawName).:.rawName;.......const. |
| a720 | 74 6f 6f 6c 43 61 6c 6c 3a 20 54 6f 6f 6c 43 61 6c 6c 20 3d 20 7b 0a 09 09 09 09 09 09 09 69 64 | toolCall:.ToolCall.=.{........id |
| a740 | 3a 20 65 76 65 6e 74 2e 74 6f 6f 6c 43 61 6c 6c 49 64 2c 0a 09 09 09 09 09 09 09 6e 61 6d 65 3a | :.event.toolCallId,........name: |
| a760 | 20 74 6f 6f 6c 4e 61 6d 65 2c 0a 09 09 09 09 09 09 09 61 72 67 75 6d 65 6e 74 73 3a 20 65 76 65 | .toolName,........arguments:.eve |
| a780 | 6e 74 2e 69 6e 70 75 74 20 61 73 20 52 65 63 6f 72 64 3c 73 74 72 69 6e 67 2c 20 75 6e 6b 6e 6f | nt.input.as.Record<string,.unkno |
| a7a0 | 77 6e 3e 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 73 74 65 70 54 6f 6f 6c 43 61 6c 6c | wn>,.......};.......stepToolCall |
| a7c0 | 73 2e 70 75 73 68 28 74 6f 6f 6c 43 61 6c 6c 29 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 69 6e | s.push(toolCall);.......const.in |
| a7e0 | 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 |
| a800 | 3a 20 22 74 6f 6f 6c 2d 63 61 6c 6c 22 2c 20 74 6f 6f 6c 43 61 6c 6c 20 7d 3b 0a 09 09 09 09 09 | :."tool-call",.toolCall.};...... |
| a820 | 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 69 6e 74 | .appendEventToChunks(chunks,.int |
| a840 | 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 72 6e 61 | ernalEvent);.......yield.interna |
| a860 | 6c 45 76 65 6e 74 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 | lEvent;......}.else.if.(event.ty |
| a880 | 70 65 20 3d 3d 3d 20 22 74 6f 6f 6c 2d 65 72 72 6f 72 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 | pe.===."tool-error").{.......//. |
| a8a0 | 54 68 65 20 6d 6f 64 65 6c 20 63 61 6c 6c 65 64 20 61 20 74 6f 6f 6c 20 74 68 61 74 20 64 6f 65 | The.model.called.a.tool.that.doe |
| a8c0 | 73 6e 27 74 20 65 78 69 73 74 20 28 6f 72 20 61 0a 09 09 09 09 09 09 2f 2f 20 70 72 6f 76 69 64 | sn't.exist.(or.a.......//.provid |
| a8e0 | 65 72 2d 65 78 65 63 75 74 65 64 20 2f 20 73 65 72 76 65 72 20 74 6f 6f 6c 20 66 61 69 6c 65 64 | er-executed./.server.tool.failed |
| a900 | 29 2e 20 54 68 65 20 41 49 20 53 44 4b 20 76 36 0a 09 09 09 09 09 09 2f 2f 20 65 6d 69 74 73 20 | )..The.AI.SDK.v6.......//.emits. |
| a920 | 74 68 69 73 20 61 73 20 61 20 6e 61 74 69 76 65 20 73 74 72 65 61 6d 20 65 76 65 6e 74 20 63 61 | this.as.a.native.stream.event.ca |
| a940 | 72 72 79 69 6e 67 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 6f 72 69 67 69 6e 61 6c 20 74 6f 6f | rrying.the.......//.original.too |
| a960 | 6c 20 6e 61 6d 65 2e 20 46 6f 72 77 61 72 64 20 62 6f 74 68 20 61 20 73 79 6e 74 68 65 74 69 63 | l.name..Forward.both.a.synthetic |
| a980 | 0a 09 09 09 09 09 09 2f 2f 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 28 73 6f 20 74 68 65 20 74 6f | .......//.tool-result.(so.the.to |
| a9a0 | 6f 6c 2d 62 61 74 63 68 20 65 6e 74 72 79 20 74 68 65 20 6d 6f 64 65 6c 20 65 78 70 65 63 74 73 | ol-batch.entry.the.model.expects |
| a9c0 | 0a 09 09 09 09 09 09 2f 2f 20 68 61 73 20 61 6e 20 60 69 73 45 72 72 6f 72 3a 20 74 72 75 65 60 | .......//.has.an.`isError:.true` |
| a9e0 | 20 72 65 73 75 6c 74 29 20 61 6e 64 20 61 6e 20 65 72 72 6f 72 20 63 68 75 6e 6b 20 66 6f 72 0a | .result).and.an.error.chunk.for. |
| aa00 | 09 09 09 09 09 09 2f 2f 20 76 69 73 69 62 69 6c 69 74 79 20 e2 80 94 20 77 69 74 68 6f 75 74 20 | ......//.visibility.....without. |
| aa20 | 74 68 65 20 72 65 73 75 6c 74 20 74 68 65 20 6d 6f 64 65 6c 20 77 6f 75 6c 64 0a 09 09 09 09 09 | the.result.the.model.would...... |
| aa40 | 09 2f 2f 20 73 69 6c 65 6e 74 6c 79 20 77 61 69 74 20 66 6f 72 20 6f 6e 65 20 74 68 61 74 20 6e | .//.silently.wait.for.one.that.n |
| aa60 | 65 76 65 72 20 61 72 72 69 76 65 73 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 76 74 20 3d 20 | ever.arrives........const.evt.=. |
| aa80 | 65 76 65 6e 74 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 61 73 20 7b 0a 09 09 09 09 09 09 09 74 6f 6f | event.as.unknown.as.{........too |
| aaa0 | 6c 43 61 6c 6c 49 64 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 | lCallId:.string;........toolName |
| aac0 | 3a 20 73 74 72 69 6e 67 3b 0a 09 09 09 09 09 09 09 65 72 72 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 3b | :.string;........error:.unknown; |
| aae0 | 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 74 6f 6f 6c 4e 61 6d 65 20 3d | .......};.......const.toolName.= |
| ab00 | 20 69 73 43 6c 61 75 64 65 4f 41 75 74 68 20 3f 20 75 6e 70 72 65 66 69 78 54 6f 6f 6c 4e 61 6d | .isClaudeOAuth.?.unprefixToolNam |
| ab20 | 65 28 65 76 74 2e 74 6f 6f 6c 4e 61 6d 65 29 20 3a 20 65 76 74 2e 74 6f 6f 6c 4e 61 6d 65 3b 0a | e(evt.toolName).:.evt.toolName;. |
| ab40 | 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 4d 65 73 73 61 67 65 20 3d 20 65 76 74 2e 65 72 72 | ......const.errMessage.=.evt.err |
| ab60 | 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 20 3f 20 65 76 74 2e 65 72 72 6f 72 2e | or.instanceof.Error.?.evt.error. |
| ab80 | 6d 65 73 73 61 67 65 20 3a 20 53 74 72 69 6e 67 28 65 76 74 2e 65 72 72 6f 72 29 3b 0a 0a 09 09 | message.:.String(evt.error);.... |
| aba0 | 09 09 09 09 63 6f 6e 73 74 20 74 72 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e 74 20 3d 20 | ....const.trEvent:.AgentEvent.=. |
| abc0 | 7b 0a 09 09 09 09 09 09 09 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 72 65 73 75 6c 74 22 2c 0a 09 09 | {........type:."tool-result",... |
| abe0 | 09 09 09 09 09 74 6f 6f 6c 52 65 73 75 6c 74 3a 20 7b 0a 09 09 09 09 09 09 09 09 74 6f 6f 6c 43 | .....toolResult:.{.........toolC |
| ac00 | 61 6c 6c 49 64 3a 20 65 76 74 2e 74 6f 6f 6c 43 61 6c 6c 49 64 2c 0a 09 09 09 09 09 09 09 09 74 | allId:.evt.toolCallId,.........t |
| ac20 | 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 60 45 72 72 6f 72 3a | oolName,.........result:.`Error: |
| ac40 | 20 24 7b 65 72 72 4d 65 73 73 61 67 65 7d 60 2c 0a 09 09 09 09 09 09 09 09 69 73 45 72 72 6f 72 | .${errMessage}`,.........isError |
| ac60 | 3a 20 74 72 75 65 2c 0a 09 09 09 09 09 09 09 7d 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 | :.true,........},.......};...... |
| ac80 | 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 74 72 45 | .appendEventToChunks(chunks,.trE |
| aca0 | 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 74 72 45 76 65 6e 74 3b 0a 0a 09 09 09 | vent);.......yield.trEvent;..... |
| acc0 | 09 09 09 2f 2f 20 45 6d 69 74 20 61 6e 20 65 72 72 6f 72 20 63 68 75 6e 6b 20 66 6f 72 20 76 69 | ...//.Emit.an.error.chunk.for.vi |
| ace0 | 73 69 62 69 6c 69 74 79 2c 20 62 75 74 20 64 6f 20 4e 4f 54 20 73 65 74 20 74 68 65 0a 09 09 09 | sibility,.but.do.NOT.set.the.... |
| ad00 | 09 09 09 2f 2f 20 61 67 65 6e 74 20 73 74 61 74 75 73 20 74 6f 20 22 65 72 72 6f 72 22 20 e2 80 | ...//.agent.status.to."error"... |
| ad20 | 94 20 74 68 65 20 73 74 65 70 20 63 6f 6e 74 69 6e 75 65 73 20 61 6e 64 20 6c 6f 6f 70 73 0a 09 | ..the.step.continues.and.loops.. |
| ad40 | 09 09 09 09 09 2f 2f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 4c 4c 4d 20 6e 6f 72 6d 61 6c 6c 79 | .....//.back.to.the.LLM.normally |
| ad60 | 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 67 20 3d 20 66 6f 72 6d 61 74 45 | ........const.errorMsg.=.formatE |
| ad80 | 72 72 6f 72 28 65 76 74 2e 65 72 72 6f 72 2c 20 74 68 69 73 2e 63 6f 6e 66 69 67 29 3b 0a 09 09 | rror(evt.error,.this.config);... |
| ada0 | 09 09 09 09 63 6f 6e 73 74 20 65 72 72 43 68 75 6e 6b 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 | ....const.errChunkEvent:.AgentEv |
| adc0 | 65 6e 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 65 72 72 6f 72 22 2c 20 65 72 72 6f 72 3a 20 65 72 | ent.=.{.type:."error",.error:.er |
| ade0 | 72 6f 72 4d 73 67 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 | rorMsg.};.......appendEventToChu |
| ae00 | 6e 6b 73 28 63 68 75 6e 6b 73 2c 20 65 72 72 43 68 75 6e 6b 45 76 65 6e 74 29 3b 0a 09 09 09 09 | nks(chunks,.errChunkEvent);..... |
| ae20 | 09 09 79 69 65 6c 64 20 65 72 72 43 68 75 6e 6b 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 62 72 65 | ..yield.errChunkEvent;.......bre |
| ae40 | 61 6b 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 | ak;......}.else.if.(event.type.= |
| ae60 | 3d 3d 20 22 61 62 6f 72 74 22 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 53 74 72 65 61 6d 20 61 62 | ==."abort").{.......//.Stream.ab |
| ae80 | 6f 72 74 65 64 20 75 70 73 74 72 65 61 6d 2e 20 53 75 72 66 61 63 65 20 61 73 20 61 6e 20 65 72 | orted.upstream..Surface.as.an.er |
| aea0 | 72 6f 72 20 73 6f 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 66 72 6f 6e 74 65 6e 64 20 74 61 62 | ror.so.the.......//.frontend.tab |
| aec0 | 20 74 72 61 6e 73 69 74 69 6f 6e 73 20 6f 75 74 20 6f 66 20 60 72 75 6e 6e 69 6e 67 60 2e 20 57 | .transitions.out.of.`running`..W |
| aee0 | 65 20 64 6f 6e 27 74 0a 09 09 09 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 6c 79 20 63 61 6c 6c 20 | e.don't.......//.currently.call. |
| af00 | 61 62 6f 72 74 43 6f 6e 74 72 6f 6c 6c 65 72 2e 61 62 6f 72 74 28 29 20 6f 75 72 73 65 6c 76 65 | abortController.abort().ourselve |
| af20 | 73 2c 20 73 6f 0a 09 09 09 09 09 09 2f 2f 20 74 68 69 73 20 77 6f 75 6c 64 20 6f 6e 6c 79 20 66 | s,.so.......//.this.would.only.f |
| af40 | 69 72 65 20 66 72 6f 6d 20 65 78 74 65 72 6e 61 6c 20 73 69 67 6e 61 6c 20 70 72 6f 70 61 67 61 | ire.from.external.signal.propaga |
| af60 | 74 69 6f 6e 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 72 65 61 73 6f 6e 20 3d 0a 09 09 09 09 09 | tion........const.reason.=...... |
| af80 | 09 09 74 79 70 65 6f 66 20 28 65 76 65 6e 74 20 61 73 20 7b 20 72 65 61 73 6f 6e 3f 3a 20 75 6e | ..typeof.(event.as.{.reason?:.un |
| afa0 | 6b 6e 6f 77 6e 20 7d 29 2e 72 65 61 73 6f 6e 20 3d 3d 3d 20 22 73 74 72 69 6e 67 22 0a 09 09 09 | known.}).reason.===."string".... |
| afc0 | 09 09 09 09 09 3f 20 28 65 76 65 6e 74 20 61 73 20 7b 20 72 65 61 73 6f 6e 3a 20 73 74 72 69 6e | .....?.(event.as.{.reason:.strin |
| afe0 | 67 20 7d 29 2e 72 65 61 73 6f 6e 0a 09 09 09 09 09 09 09 09 3a 20 22 73 74 72 65 61 6d 20 61 62 | g.}).reason.........:."stream.ab |
| b000 | 6f 72 74 65 64 22 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 | orted";.......//.Fill.in.error.r |
| b020 | 65 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 | esults.for.any.unresolved.tool.c |
| b040 | 61 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 | alls.so.......//.the.orphaned.to |
| b060 | 6f 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 | ol-call.IDs.don't.trigger.a..... |
| b080 | 09 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 | ..//.MissingToolResultsError.if. |
| b0a0 | 74 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 | this.history.is.ever.replayed... |
| b0c0 | 09 09 09 09 09 63 6f 6e 73 74 20 61 62 6f 72 74 52 65 73 69 64 75 61 6c 20 3d 20 74 68 69 73 2e | .....const.abortResidual.=.this. |
| b0e0 | 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 28 0a 09 | synthesizeResidualToolResults(.. |
| b100 | 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 68 75 6e | ......stepToolCalls,........chun |
| b120 | 6b 73 2c 0a 09 09 09 09 09 09 09 60 45 72 72 6f 72 3a 20 53 74 72 65 61 6d 20 77 61 73 20 61 62 | ks,........`Error:.Stream.was.ab |
| b140 | 6f 72 74 65 64 3a 20 24 7b 72 65 61 73 6f 6e 7d 60 2c 0a 09 09 09 09 09 09 29 3b 0a 09 09 09 09 | orted:.${reason}`,.......);..... |
| b160 | 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 72 20 6f 66 20 61 62 6f 72 74 52 65 73 69 64 75 61 6c 29 | ..for.(const.r.of.abortResidual) |
| b180 | 20 7b 0a 09 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 63 68 | .{........appendEventToChunks(ch |
| b1a0 | 75 6e 6b 73 2c 20 72 29 3b 0a 09 09 09 09 09 09 09 79 69 65 6c 64 20 72 3b 0a 09 09 09 09 09 09 | unks,.r);........yield.r;....... |
| b1c0 | 7d 0a 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 67 20 3d 20 66 6f 72 6d 61 74 | }........const.errorMsg.=.format |
| b1e0 | 45 72 72 6f 72 28 6e 65 77 20 45 72 72 6f 72 28 72 65 61 73 6f 6e 29 2c 20 74 68 69 73 2e 63 6f | Error(new.Error(reason),.this.co |
| b200 | 6e 66 69 67 29 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 69 6e 74 65 72 6e 61 6c 45 76 65 6e 74 | nfig);.......const.internalEvent |
| b220 | 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 2c 20 | :.AgentEvent.=.{.type:."error",. |
| b240 | 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 64 45 | error:.errorMsg.};.......appendE |
| b260 | 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 76 65 | ventToChunks(chunks,.internalEve |
| b280 | 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 3b 0a | nt);.......yield.internalEvent;. |
| b2a0 | 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 09 09 | ......this.status.=."error";.... |
| b2c0 | 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 74 75 | ...yield.{.type:."status",.statu |
| b2e0 | 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 09 09 | s:."error".};.......return;..... |
| b300 | 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 65 72 72 6f | .}.else.if.(event.type.===."erro |
| b320 | 72 22 29 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 65 72 72 52 65 63 6f 72 64 20 3d 20 65 76 | r").{.......const.errRecord.=.ev |
| b340 | 65 6e 74 2e 65 72 72 6f 72 20 61 73 20 75 6e 6b 6e 6f 77 6e 20 61 73 20 52 65 63 6f 72 64 3c 73 | ent.error.as.unknown.as.Record<s |
| b360 | 74 72 69 6e 67 2c 20 75 6e 6b 6e 6f 77 6e 3e 3b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 73 74 61 | tring,.unknown>;.......const.sta |
| b380 | 74 75 73 43 6f 64 65 20 3d 0a 09 09 09 09 09 09 09 74 79 70 65 6f 66 20 65 72 72 52 65 63 6f 72 | tusCode.=........typeof.errRecor |
| b3a0 | 64 2e 73 74 61 74 75 73 43 6f 64 65 20 3d 3d 3d 20 22 6e 75 6d 62 65 72 22 20 3f 20 65 72 72 52 | d.statusCode.===."number".?.errR |
| b3c0 | 65 63 6f 72 64 2e 73 74 61 74 75 73 43 6f 64 65 20 3a 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 | ecord.statusCode.:.undefined;... |
| b3e0 | 09 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 67 20 3d 20 66 6f 72 6d 61 74 45 72 72 6f 72 | ....const.errorMsg.=.formatError |
| b400 | 28 65 76 65 6e 74 2e 65 72 72 6f 72 2c 20 74 68 69 73 2e 63 6f 6e 66 69 67 29 3b 0a 09 09 09 09 | (event.error,.this.config);..... |
| b420 | 09 09 2f 2f 20 46 69 6c 6c 20 69 6e 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 66 6f 72 20 61 | ..//.Fill.in.error.results.for.a |
| b440 | 6e 79 20 75 6e 72 65 73 6f 6c 76 65 64 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 73 6f 0a 09 09 09 09 | ny.unresolved.tool.calls.so..... |
| b460 | 09 09 2f 2f 20 74 68 65 20 6f 72 70 68 61 6e 65 64 20 74 6f 6f 6c 2d 63 61 6c 6c 20 49 44 73 20 | ..//.the.orphaned.tool-call.IDs. |
| b480 | 64 6f 6e 27 74 20 74 72 69 67 67 65 72 20 61 0a 09 09 09 09 09 09 2f 2f 20 4d 69 73 73 69 6e 67 | don't.trigger.a.......//.Missing |
| b4a0 | 54 6f 6f 6c 52 65 73 75 6c 74 73 45 72 72 6f 72 20 69 66 20 74 68 69 73 20 68 69 73 74 6f 72 79 | ToolResultsError.if.this.history |
| b4c0 | 20 69 73 20 65 76 65 72 20 72 65 70 6c 61 79 65 64 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 73 | .is.ever.replayed........const.s |
| b4e0 | 74 72 65 61 6d 45 72 72 52 65 73 69 64 75 61 6c 20 3d 20 74 68 69 73 2e 73 79 6e 74 68 65 73 69 | treamErrResidual.=.this.synthesi |
| b500 | 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 09 09 73 74 | zeResidualToolResults(........st |
| b520 | 65 70 54 6f 6f 6c 43 61 6c 6c 73 2c 0a 09 09 09 09 09 09 09 63 68 75 6e 6b 73 2c 0a 09 09 09 09 | epToolCalls,........chunks,..... |
| b540 | 09 09 09 60 45 72 72 6f 72 3a 20 24 7b 65 72 72 6f 72 4d 73 67 7d 60 2c 0a 09 09 09 09 09 09 29 | ...`Error:.${errorMsg}`,.......) |
| b560 | 3b 0a 09 09 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 72 20 6f 66 20 73 74 72 65 61 6d 45 72 | ;.......for.(const.r.of.streamEr |
| b580 | 72 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 54 | rResidual).{........appendEventT |
| b5a0 | 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 64 | oChunks(chunks,.r);........yield |
| b5c0 | 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 69 6e 74 65 72 6e 61 | .r;.......}........const.interna |
| b5e0 | 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 |
| b600 | 70 65 3a 20 22 65 72 72 6f 72 22 2c 0a 09 09 09 09 09 09 09 65 72 72 6f 72 3a 20 65 72 72 6f 72 | pe:."error",........error:.error |
| b620 | 4d 73 67 2c 0a 09 09 09 09 09 09 09 2e 2e 2e 28 73 74 61 74 75 73 43 6f 64 65 20 21 3d 3d 20 75 | Msg,...........(statusCode.!==.u |
| b640 | 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 20 7b 7d 29 2c | ndefined.?.{.statusCode.}.:.{}), |
| b660 | 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 75 | .......};.......appendEventToChu |
| b680 | 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 09 | nks(chunks,.internalEvent);..... |
| b6a0 | 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 09 74 68 69 | ..yield.internalEvent;.......thi |
| b6c0 | 73 2e 73 74 61 74 75 73 20 3d 20 22 65 72 72 6f 72 22 3b 0a 09 09 09 09 09 09 79 69 65 6c 64 20 | s.status.=."error";.......yield. |
| b6e0 | 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 65 72 72 6f 72 | {.type:."status",.status:."error |
| b700 | 22 20 7d 3b 0a 09 09 09 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 69 | ".};.......return;......}.else.i |
| b720 | 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 22 66 69 6e 69 73 68 2d 73 74 65 70 22 29 | f.(event.type.===."finish-step") |
| b740 | 20 7b 0a 09 09 09 09 09 09 2f 2f 20 4f 6e 65 20 60 66 69 6e 69 73 68 2d 73 74 65 70 60 20 70 65 | .{.......//.One.`finish-step`.pe |
| b760 | 72 20 60 73 74 72 65 61 6d 54 65 78 74 60 20 73 74 65 70 2e 20 54 68 69 73 20 e2 80 94 20 4e 4f | r.`streamText`.step..This.....NO |
| b780 | 54 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 74 65 72 6d 69 6e 61 6c 20 60 66 69 6e 69 73 68 60 | T.the.......//.terminal.`finish` |
| b7a0 | 20 70 61 72 74 20 e2 80 94 20 69 73 20 77 68 65 72 65 20 74 68 65 20 41 49 20 53 44 4b 20 70 75 | .part.....is.where.the.AI.SDK.pu |
| b7c0 | 74 73 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 70 65 72 2d 73 74 65 70 20 60 75 73 61 67 65 60 | ts.the.......//.per-step.`usage` |
| b7e0 | 20 28 74 68 65 20 60 66 69 6e 69 73 68 60 20 70 61 72 74 20 6f 6e 6c 79 20 63 61 72 72 69 65 73 | .(the.`finish`.part.only.carries |
| b800 | 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 61 67 67 72 65 67 61 74 65 20 60 74 6f 74 61 6c 55 73 | .the.......//.aggregate.`totalUs |
| b820 | 61 67 65 60 29 2e 20 60 75 73 61 67 65 2e 69 6e 70 75 74 54 6f 6b 65 6e 44 65 74 61 69 6c 73 60 | age`)..`usage.inputTokenDetails` |
| b840 | 20 68 6f 6c 64 73 0a 09 09 09 09 09 09 2f 2f 20 41 6e 74 68 72 6f 70 69 63 27 73 20 70 72 6f 6d | .holds.......//.Anthropic's.prom |
| b860 | 70 74 2d 63 61 63 68 65 20 72 65 61 64 2f 77 72 69 74 65 20 73 70 6c 69 74 2c 20 77 68 69 63 68 | pt-cache.read/write.split,.which |
| b880 | 20 70 6f 77 65 72 73 20 74 68 65 0a 09 09 09 09 09 09 2f 2f 20 43 61 63 68 65 20 52 61 74 65 20 | .powers.the.......//.Cache.Rate. |
| b8a0 | 76 69 65 77 2e 20 60 69 6e 70 75 74 54 6f 6b 65 6e 73 60 20 69 73 20 74 68 65 20 54 4f 54 41 4c | view..`inputTokens`.is.the.TOTAL |
| b8c0 | 20 70 72 6f 6d 70 74 20 28 63 61 63 68 65 64 20 2b 0a 09 09 09 09 09 09 2f 2f 20 66 72 65 73 68 | .prompt.(cached.+.......//.fresh |
| b8e0 | 29 2e 20 53 6b 69 70 20 65 6d 69 73 73 69 6f 6e 20 77 68 65 6e 20 6e 6f 20 75 73 61 67 65 20 69 | )..Skip.emission.when.no.usage.i |
| b900 | 73 20 61 74 74 61 63 68 65 64 20 28 65 2e 67 2e 20 74 65 73 74 0a 09 09 09 09 09 09 2f 2f 20 6d | s.attached.(e.g..test.......//.m |
| b920 | 6f 63 6b 73 29 20 73 6f 20 77 65 20 6e 65 76 65 72 20 62 72 6f 61 64 63 61 73 74 20 61 6e 20 61 | ocks).so.we.never.broadcast.an.a |
| b940 | 6c 6c 2d 7a 65 72 6f 20 75 73 61 67 65 20 65 76 65 6e 74 2e 0a 09 09 09 09 09 09 63 6f 6e 73 74 | ll-zero.usage.event........const |
| b960 | 20 75 20 3d 20 28 65 76 65 6e 74 20 61 73 20 7b 20 75 73 61 67 65 3f 3a 20 4c 61 6e 67 75 61 67 | .u.=.(event.as.{.usage?:.Languag |
| b980 | 65 4d 6f 64 65 6c 55 73 61 67 65 20 7d 29 2e 75 73 61 67 65 3b 0a 09 09 09 09 09 09 69 66 20 28 | eModelUsage.}).usage;.......if.( |
| b9a0 | 75 29 20 7b 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 64 65 74 61 69 6c 73 20 3d 20 75 2e 69 6e | u).{........const.details.=.u.in |
| b9c0 | 70 75 74 54 6f 6b 65 6e 44 65 74 61 69 6c 73 3b 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 75 73 | putTokenDetails;........const.us |
| b9e0 | 61 67 65 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 | ageEvent:.AgentEvent.=.{........ |
| ba00 | 09 74 79 70 65 3a 20 22 75 73 61 67 65 22 2c 0a 09 09 09 09 09 09 09 09 75 73 61 67 65 3a 20 7b | .type:."usage",.........usage:.{ |
| ba20 | 0a 09 09 09 09 09 09 09 09 09 69 6e 70 75 74 54 6f 6b 65 6e 73 3a 20 75 2e 69 6e 70 75 74 54 6f | ..........inputTokens:.u.inputTo |
| ba40 | 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 09 09 09 09 6f 75 74 70 75 74 54 6f 6b 65 6e 73 | kens.??.0,..........outputTokens |
| ba60 | 3a 20 75 2e 6f 75 74 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 | :.u.outputTokens.??.0,.......... |
| ba80 | 63 61 63 68 65 52 65 61 64 54 6f 6b 65 6e 73 3a 20 64 65 74 61 69 6c 73 3f 2e 63 61 63 68 65 52 | cacheReadTokens:.details?.cacheR |
| baa0 | 65 61 64 54 6f 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 09 09 09 09 63 61 63 68 65 57 72 | eadTokens.??.0,..........cacheWr |
| bac0 | 69 74 65 54 6f 6b 65 6e 73 3a 20 64 65 74 61 69 6c 73 3f 2e 63 61 63 68 65 57 72 69 74 65 54 6f | iteTokens:.details?.cacheWriteTo |
| bae0 | 6b 65 6e 73 20 3f 3f 20 30 2c 0a 09 09 09 09 09 09 09 09 7d 2c 0a 09 09 09 09 09 09 09 7d 3b 0a | kens.??.0,.........},........};. |
| bb00 | 09 09 09 09 09 09 09 2f 2f 20 53 65 74 20 44 49 53 50 41 54 43 48 5f 44 45 42 55 47 5f 55 53 41 | .......//.Set.DISPATCH_DEBUG_USA |
| bb20 | 47 45 3d 31 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 72 61 77 20 70 65 72 2d 73 74 65 70 0a 09 | GE=1.to.print.the.raw.per-step.. |
| bb40 | 09 09 09 09 09 09 2f 2f 20 75 73 61 67 65 20 74 6f 20 74 68 65 20 73 65 72 76 65 72 20 6c 6f 67 | ......//.usage.to.the.server.log |
| bb60 | 20 e2 80 94 20 6c 65 74 73 20 79 6f 75 20 63 6f 6e 66 69 72 6d 20 63 61 63 68 65 20 72 65 61 64 | .....lets.you.confirm.cache.read |
| bb80 | 73 0a 09 09 09 09 09 09 09 2f 2f 20 61 72 65 20 6e 6f 6e 2d 7a 65 72 6f 20 77 69 74 68 6f 75 74 | s........//.are.non-zero.without |
| bba0 | 20 74 68 65 20 55 49 2e 0a 09 09 09 09 09 09 09 69 66 20 28 70 72 6f 63 65 73 73 2e 65 6e 76 2e | .the.UI.........if.(process.env. |
| bbc0 | 44 49 53 50 41 54 43 48 5f 44 45 42 55 47 5f 55 53 41 47 45 29 20 7b 0a 09 09 09 09 09 09 09 09 | DISPATCH_DEBUG_USAGE).{......... |
| bbe0 | 63 6f 6e 73 6f 6c 65 2e 65 72 72 6f 72 28 22 5b 64 69 73 70 61 74 63 68 20 75 73 61 67 65 5d 22 | console.error("[dispatch.usage]" |
| bc00 | 2c 20 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 75 73 61 67 65 45 76 65 6e 74 2e 75 73 61 67 | ,.JSON.stringify(usageEvent.usag |
| bc20 | 65 29 29 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 2f 2f 20 4e 6f 74 20 61 70 70 65 | e));........}........//.Not.appe |
| bc40 | 6e 64 65 64 20 74 6f 20 63 68 75 6e 6b 73 20 e2 80 94 20 75 73 61 67 65 20 69 73 20 74 65 6c 65 | nded.to.chunks.....usage.is.tele |
| bc60 | 6d 65 74 72 79 2c 20 6e 6f 74 0a 09 09 09 09 09 09 09 2f 2f 20 6d 65 73 73 61 67 65 20 63 6f 6e | metry,.not........//.message.con |
| bc80 | 74 65 6e 74 20 28 73 65 65 20 61 70 70 65 6e 64 45 76 65 6e 74 54 6f 43 68 75 6e 6b 73 29 2e 0a | tent.(see.appendEventToChunks).. |
| bca0 | 09 09 09 09 09 09 09 79 69 65 6c 64 20 75 73 61 67 65 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 7d | .......yield.usageEvent;.......} |
| bcc0 | 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 2f 2f 20 49 67 6e 6f 72 65 64 20 65 76 65 6e 74 73 20 28 | ......}......//.Ignored.events.( |
| bce0 | 69 6e 74 65 6e 74 69 6f 6e 61 6c 29 3a 0a 09 09 09 09 09 2f 2f 20 20 20 73 74 61 72 74 2c 20 74 | intentional):......//...start,.t |
| bd00 | 65 78 74 2d 73 74 61 72 74 2c 20 74 65 78 74 2d 65 6e 64 2c 20 72 65 61 73 6f 6e 69 6e 67 2d 73 | ext-start,.text-end,.reasoning-s |
| bd20 | 74 61 72 74 2c 0a 09 09 09 09 09 2f 2f 20 20 20 74 6f 6f 6c 2d 69 6e 70 75 74 2d 73 74 61 72 74 | tart,......//...tool-input-start |
| bd40 | 2c 20 74 6f 6f 6c 2d 69 6e 70 75 74 2d 64 65 6c 74 61 2c 20 74 6f 6f 6c 2d 69 6e 70 75 74 2d 65 | ,.tool-input-delta,.tool-input-e |
| bd60 | 6e 64 2c 0a 09 09 09 09 09 2f 2f 20 20 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 28 6f 6e 6c 79 20 | nd,......//...tool-result.(only. |
| bd80 | 66 69 72 65 73 20 69 66 20 74 6f 6f 6c 20 68 61 73 20 65 78 65 63 75 74 65 3b 20 6f 75 72 73 20 | fires.if.tool.has.execute;.ours. |
| bda0 | 64 6f 6e 27 74 29 2c 0a 09 09 09 09 09 2f 2f 20 20 20 73 74 61 72 74 2d 73 74 65 70 2c 20 66 69 | don't),......//...start-step,.fi |
| bdc0 | 6e 69 73 68 20 28 61 67 67 72 65 67 61 74 65 20 74 6f 74 61 6c 55 73 61 67 65 20 6f 6e 6c 79 29 | nish.(aggregate.totalUsage.only) |
| bde0 | 2c 20 72 61 77 2c 0a 09 09 09 09 09 2f 2f 20 20 20 73 6f 75 72 63 65 2c 20 66 69 6c 65 2c 20 74 | ,.raw,......//...source,.file,.t |
| be00 | 6f 6f 6c 2d 6f 75 74 70 75 74 2d 64 65 6e 69 65 64 2c 20 74 6f 6f 6c 2d 61 70 70 72 6f 76 61 6c | ool-output-denied,.tool-approval |
| be20 | 2d 2a 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 4e 6f 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 6d | -*.....}......//.No.tool.calls.m |
| be40 | 65 61 6e 73 20 74 68 65 20 61 67 65 6e 74 20 69 73 20 64 6f 6e 65 20 e2 80 94 20 74 68 65 20 61 | eans.the.agent.is.done.....the.a |
| be60 | 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 67 65 0a 09 09 09 09 2f 2f 20 61 6c 72 65 61 64 79 20 | ssistant.message.....//.already. |
| be80 | 65 78 69 73 74 73 20 69 6e 20 73 74 65 70 4d 65 73 73 61 67 65 73 20 77 69 74 68 20 75 70 2d 74 | exists.in.stepMessages.with.up-t |
| bea0 | 6f 2d 64 61 74 65 20 63 68 75 6e 6b 73 2e 0a 09 09 09 09 69 66 20 28 73 74 65 70 54 6f 6f 6c 43 | o-date.chunks......if.(stepToolC |
| bec0 | 61 6c 6c 73 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 29 20 7b 0a 09 09 09 09 09 6c 6f 67 53 74 65 | alls.length.===.0).{......logSte |
| bee0 | 70 4c 69 66 65 63 79 63 6c 65 28 7b 0a 09 09 09 09 09 09 74 61 62 49 64 3a 20 74 68 69 73 2e 63 | pLifecycle({.......tabId:.this.c |
| bf00 | 6f 6e 66 69 67 2e 74 61 62 49 64 2c 0a 09 09 09 09 09 09 73 74 65 70 2c 0a 09 09 09 09 09 09 65 | onfig.tabId,.......step,.......e |
| bf20 | 76 65 6e 74 3a 20 22 73 74 65 70 2d 65 6e 64 2d 6e 6f 2d 74 6f 6f 6c 73 22 2c 0a 09 09 09 09 09 | vent:."step-end-no-tools",...... |
| bf40 | 7d 29 3b 0a 09 09 09 09 09 6c 6f 67 41 67 65 6e 74 4c 6f 6f 70 28 7b 0a 09 09 09 09 09 09 74 61 | });......logAgentLoop({.......ta |
| bf60 | 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 65 76 | bId:.this.config.tabId,.......ev |
| bf80 | 65 6e 74 3a 20 22 72 75 6e 2d 65 6e 64 2d 63 6c 65 61 6e 22 2c 0a 09 09 09 09 09 09 64 65 74 61 | ent:."run-end-clean",.......deta |
| bfa0 | 69 6c 3a 20 7b 20 73 74 65 70 73 3a 20 73 74 65 70 20 2b 20 31 20 7d 2c 0a 09 09 09 09 09 7d 29 | il:.{.steps:.step.+.1.},......}) |
| bfc0 | 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 6c 6f 67 53 74 65 70 4c | ;......break;.....}.....logStepL |
| bfe0 | 69 66 65 63 79 63 6c 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 | ifecycle({......tabId:.this.conf |
| c000 | 69 67 2e 74 61 62 49 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 | ig.tabId,......step,......event: |
| c020 | 20 22 73 74 65 70 2d 68 61 73 2d 74 6f 6f 6c 73 22 2c 0a 09 09 09 09 09 64 65 74 61 69 6c 3a 20 | ."step-has-tools",......detail:. |
| c040 | 7b 0a 09 09 09 09 09 09 74 6f 6f 6c 43 6f 75 6e 74 3a 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 | {.......toolCount:.stepToolCalls |
| c060 | 2e 6c 65 6e 67 74 68 2c 0a 09 09 09 09 09 09 74 6f 6f 6c 4e 61 6d 65 73 3a 20 73 74 65 70 54 6f | .length,.......toolNames:.stepTo |
| c080 | 6f 6c 43 61 6c 6c 73 2e 6d 61 70 28 28 74 29 20 3d 3e 20 74 2e 6e 61 6d 65 29 2c 0a 09 09 09 09 | olCalls.map((t).=>.t.name),..... |
| c0a0 | 09 7d 2c 0a 09 09 09 09 7d 29 3b 0a 0a 09 09 09 09 2f 2f 20 45 78 65 63 75 74 65 20 74 6f 6f 6c | .},.....});......//.Execute.tool |
| c0c0 | 20 63 61 6c 6c 73 20 6d 61 6e 75 61 6c 6c 79 2e 20 54 68 65 69 72 20 72 65 73 75 6c 74 73 20 6d | .calls.manually..Their.results.m |
| c0e0 | 65 72 67 65 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 0a 09 09 09 09 2f 2f 20 60 63 68 75 6e 6b | erge.back.into.the.....//.`chunk |
| c100 | 73 60 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 76 69 61 20 60 61 70 70 65 6e 64 45 76 65 6e 74 54 | s`.accumulator.via.`appendEventT |
| c120 | 6f 43 68 75 6e 6b 73 60 2c 20 77 68 69 63 68 20 72 6f 75 74 65 73 0a 09 09 09 09 2f 2f 20 65 61 | oChunks`,.which.routes.....//.ea |
| c140 | 63 68 20 72 65 73 75 6c 74 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 65 6e 74 72 79 20 69 | ch.result.to.the.correct.entry.i |
| c160 | 6e 73 69 64 65 20 69 74 73 20 74 6f 6f 6c 2d 62 61 74 63 68 20 63 68 75 6e 6b 2e 0a 09 09 09 09 | nside.its.tool-batch.chunk...... |
| c180 | 2f 2f 20 54 72 61 63 6b 20 77 68 69 63 68 20 63 61 6c 6c 73 20 61 6c 72 65 61 64 79 20 68 61 76 | //.Track.which.calls.already.hav |
| c1a0 | 65 20 61 20 72 65 63 6f 72 64 65 64 20 72 65 73 75 6c 74 20 28 66 72 6f 6d 20 74 68 65 0a 09 09 | e.a.recorded.result.(from.the... |
| c1c0 | 09 09 2f 2f 20 73 79 6e 74 68 65 74 69 63 20 75 6e 61 76 61 69 6c 61 62 6c 65 2d 74 6f 6f 6c 20 | ..//.synthetic.unavailable-tool. |
| c1e0 | 65 72 72 6f 72 20 70 61 74 68 20 61 62 6f 76 65 29 20 73 6f 20 77 65 20 64 6f 6e 27 74 0a 09 09 | error.path.above).so.we.don't... |
| c200 | 09 09 2f 2f 20 72 65 2d 65 78 65 63 75 74 65 20 74 68 65 6d 2e 0a 09 09 09 09 63 6f 6e 73 74 20 | ..//.re-execute.them......const. |
| c220 | 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 20 3d 20 6e 65 77 20 53 65 74 3c 73 74 72 69 6e 67 | alreadyResolved.=.new.Set<string |
| c240 | 3e 28 29 3b 0a 09 09 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 | >();.....for.(const.c.of.chunks) |
| c260 | 20 7b 0a 09 09 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 | .{......if.(c.type.!==."tool-bat |
| c280 | 63 68 22 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 65 | ch").continue;......for.(const.e |
| c2a0 | 6e 74 72 79 20 6f 66 20 63 2e 63 61 6c 6c 73 29 20 7b 0a 09 09 09 09 09 09 69 66 20 28 65 6e 74 | ntry.of.c.calls).{.......if.(ent |
| c2c0 | 72 79 2e 72 65 73 75 6c 74 20 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 61 6c 72 65 61 64 79 | ry.result.!==.undefined).already |
| c2e0 | 52 65 73 6f 6c 76 65 64 2e 61 64 64 28 65 6e 74 72 79 2e 69 64 29 3b 0a 09 09 09 09 09 7d 0a 09 | Resolved.add(entry.id);......}.. |
| c300 | 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 49 64 65 6e 74 69 66 79 20 74 68 65 20 69 6e 64 65 78 20 | ...}......//.Identify.the.index. |
| c320 | 6f 66 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 69 6e 20 74 68 69 73 20 62 61 74 63 68 20 74 | of.the.last.tool.in.this.batch.t |
| c340 | 68 61 74 20 77 69 6c 6c 0a 09 09 09 09 2f 2f 20 61 63 74 75 61 6c 6c 79 20 65 78 65 63 75 74 65 | hat.will.....//.actually.execute |
| c360 | 2e 20 51 75 65 75 65 64 20 75 73 65 72 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 62 75 66 66 65 | ..Queued.user.messages.are.buffe |
| c380 | 72 65 64 20 61 63 72 6f 73 73 0a 09 09 09 09 2f 2f 20 74 68 69 73 20 62 61 74 63 68 20 61 6e 64 | red.across.....//.this.batch.and |
| c3a0 | 20 69 6e 6a 65 63 74 65 64 20 69 6e 74 6f 20 4f 4e 4c 59 20 74 68 61 74 20 74 6f 6f 6c 27 73 20 | .injected.into.ONLY.that.tool's. |
| c3c0 | 72 65 73 75 6c 74 2c 20 73 6f 20 74 68 65 0a 09 09 09 09 2f 2f 20 69 6e 74 65 72 72 75 70 74 20 | result,.so.the.....//.interrupt. |
| c3e0 | 61 70 70 65 61 72 73 20 65 78 61 63 74 6c 79 20 6f 6e 63 65 20 70 65 72 20 73 74 65 70 20 72 61 | appears.exactly.once.per.step.ra |
| c400 | 74 68 65 72 20 74 68 61 6e 20 66 72 61 67 6d 65 6e 74 65 64 0a 09 09 09 09 2f 2f 20 61 63 72 6f | ther.than.fragmented.....//.acro |
| c420 | 73 73 20 77 68 69 63 68 65 76 65 72 20 74 6f 6f 6c 20 68 61 70 70 65 6e 65 64 20 74 6f 20 64 65 | ss.whichever.tool.happened.to.de |
| c440 | 71 75 65 75 65 20 66 69 72 73 74 2e 20 54 6f 6f 6c 2d 6c 65 76 65 6c 0a 09 09 09 09 2f 2f 20 69 | queue.first..Tool-level.....//.i |
| c460 | 6e 74 65 72 72 75 70 74 20 68 61 6e 64 6c 65 72 73 20 69 6e 20 72 75 6e 2d 73 68 65 6c 6c 2f 79 | nterrupt.handlers.in.run-shell/y |
| c480 | 6f 75 74 75 62 65 2d 74 72 61 6e 73 63 72 69 62 65 2f 72 65 74 72 69 65 76 65 0a 09 09 09 09 2f | outube-transcribe/retrieve...../ |
| c4a0 | 2f 20 73 74 69 6c 6c 20 65 6d 62 65 64 20 74 68 65 69 72 20 6f 77 6e 20 69 6e 74 65 72 72 75 70 | /.still.embed.their.own.interrup |
| c4c0 | 74 20 74 65 78 74 20 69 6e 20 74 68 65 69 72 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 e2 80 | t.text.in.their.return.values... |
| c4e0 | 94 0a 09 09 09 09 2f 2f 20 74 68 61 74 20 70 61 74 68 20 69 73 20 69 6e 64 65 70 65 6e 64 65 6e | ......//.that.path.is.independen |
| c500 | 74 20 61 6e 64 20 72 65 6d 61 69 6e 73 20 63 6f 72 72 65 63 74 2e 0a 09 09 09 09 6c 65 74 20 6c | t.and.remains.correct......let.l |
| c520 | 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 3d 20 2d 31 3b 0a 09 09 09 09 66 6f 72 20 28 | astExecutableIdx.=.-1;.....for.( |
| c540 | 6c 65 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 6c 65 6e | let.i.=.0;.i.<.stepToolCalls.len |
| c560 | 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 74 63 41 74 20 3d 20 73 74 | gth;.i++).{......const.tcAt.=.st |
| c580 | 65 70 54 6f 6f 6c 43 61 6c 6c 73 5b 69 5d 3b 0a 09 09 09 09 09 69 66 20 28 74 63 41 74 20 26 26 | epToolCalls[i];......if.(tcAt.&& |
| c5a0 | 20 21 61 6c 72 65 61 64 79 52 65 73 6f 6c 76 65 64 2e 68 61 73 28 74 63 41 74 2e 69 64 29 29 20 | .!alreadyResolved.has(tcAt.id)). |
| c5c0 | 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 3d 20 69 3b 0a 09 09 09 09 7d 0a 0a 09 09 | lastExecutableIdx.=.i;.....}.... |
| c5e0 | 09 09 2f 2f 20 41 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 65 73 73 61 67 65 73 20 64 65 | ..//.Accumulator.for.messages.de |
| c600 | 71 75 65 75 65 64 20 64 75 72 69 6e 67 20 74 68 69 73 20 62 61 74 63 68 2e 20 44 72 61 69 6e 65 | queued.during.this.batch..Draine |
| c620 | 64 0a 09 09 09 09 2f 2f 20 6f 6e 6c 79 20 61 74 20 60 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 | d.....//.only.at.`lastExecutable |
| c640 | 49 64 78 60 2e 20 44 65 73 74 72 75 63 74 69 76 65 20 64 65 71 75 65 75 65 20 61 74 20 74 68 65 | Idx`..Destructive.dequeue.at.the |
| c660 | 20 71 75 65 75 65 0a 09 09 09 09 2f 2f 20 6c 65 76 65 6c 20 70 72 65 76 65 6e 74 73 20 74 68 65 | .queue.....//.level.prevents.the |
| c680 | 20 73 61 6d 65 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 | .same.message.from.appearing.in. |
| c6a0 | 73 75 62 73 65 71 75 65 6e 74 0a 09 09 09 09 2f 2f 20 62 61 74 63 68 65 73 2e 0a 09 09 09 09 63 | subsequent.....//.batches......c |
| c6c0 | 6f 6e 73 74 20 62 61 74 63 68 50 65 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 3a 20 7b 20 69 64 | onst.batchPendingInjection:.{.id |
| c6e0 | 3a 20 73 74 72 69 6e 67 3b 20 6d 65 73 73 61 67 65 3a 20 73 74 72 69 6e 67 3b 20 74 69 6d 65 73 | :.string;.message:.string;.times |
| c700 | 74 61 6d 70 3a 20 6e 75 6d 62 65 72 20 7d 5b 5d 20 3d 20 5b 5d 3b 0a 0a 09 09 09 09 2f 2f 20 52 | tamp:.number.}[].=.[];......//.R |
| c720 | 65 73 75 6c 74 73 20 6f 66 20 61 6c 72 65 61 64 79 2d 65 78 65 63 75 74 65 64 20 63 61 6c 6c 73 | esults.of.already-executed.calls |
| c740 | 20 69 6e 20 74 68 69 73 20 62 61 74 63 68 2c 20 6b 65 79 65 64 20 62 79 0a 09 09 09 09 2f 2f 20 | .in.this.batch,.keyed.by.....//. |
| c760 | 60 74 6f 6f 6c 44 65 64 75 70 4b 65 79 60 2e 20 42 79 74 65 2d 69 64 65 6e 74 69 63 61 6c 20 72 | `toolDedupKey`..Byte-identical.r |
| c780 | 65 70 65 61 74 73 20 72 65 75 73 65 20 74 68 65 20 66 69 72 73 74 20 72 65 73 75 6c 74 0a 09 09 | epeats.reuse.the.first.result... |
| c7a0 | 09 09 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 2d 72 75 6e 6e 69 6e 67 20 74 68 65 20 74 | ..//.instead.of.re-running.the.t |
| c7c0 | 6f 6f 6c 20 28 73 65 65 20 74 6f 6f 6c 2d 72 75 6e 6e 65 72 2d 64 75 70 6c 69 63 61 74 69 6f 6e | ool.(see.tool-runner-duplication |
| c7e0 | 2d 0a 09 09 09 09 2f 2f 20 69 6e 63 69 64 65 6e 74 2e 6d 64 29 2e 20 4f 6e 6c 79 20 74 68 65 20 | -.....//.incident.md)..Only.the. |
| c800 | 72 61 77 2c 20 70 72 65 2d 69 6e 74 65 72 72 75 70 74 2d 69 6e 6a 65 63 74 69 6f 6e 20 72 65 73 | raw,.pre-interrupt-injection.res |
| c820 | 75 6c 74 20 69 73 0a 09 09 09 09 2f 2f 20 63 61 63 68 65 64 20 73 6f 20 61 20 72 65 75 73 65 64 | ult.is.....//.cached.so.a.reused |
| c840 | 20 63 6f 70 79 20 6e 65 76 65 72 20 63 61 72 72 69 65 73 20 61 6e 6f 74 68 65 72 20 63 61 6c 6c | .copy.never.carries.another.call |
| c860 | 27 73 20 69 6e 74 65 72 72 75 70 74 2e 0a 09 09 09 09 63 6f 6e 73 74 20 64 65 64 75 70 52 65 73 | 's.interrupt......const.dedupRes |
| c880 | 75 6c 74 73 20 3d 20 6e 65 77 20 4d 61 70 3c 73 74 72 69 6e 67 2c 20 54 6f 6f 6c 52 65 73 75 6c | ults.=.new.Map<string,.ToolResul |
| c8a0 | 74 3e 28 29 3b 0a 0a 09 09 09 09 66 6f 72 20 28 6c 65 74 20 74 63 49 64 78 20 3d 20 30 3b 20 74 | t>();......for.(let.tcIdx.=.0;.t |
| c8c0 | 63 49 64 78 20 3c 20 73 74 65 70 54 6f 6f 6c 43 61 6c 6c 73 2e 6c 65 6e 67 74 68 3b 20 74 63 49 | cIdx.<.stepToolCalls.length;.tcI |
| c8e0 | 64 78 2b 2b 29 20 7b 0a 09 09 09 09 09 63 6f 6e 73 74 20 74 63 20 3d 20 73 74 65 70 54 6f 6f 6c | dx++).{......const.tc.=.stepTool |
| c900 | 43 61 6c 6c 73 5b 74 63 49 64 78 5d 3b 0a 09 09 09 09 09 69 66 20 28 21 74 63 20 7c 7c 20 61 6c | Calls[tcIdx];......if.(!tc.||.al |
| c920 | 72 65 61 64 79 52 65 73 6f 6c 76 65 64 2e 68 61 73 28 74 63 2e 69 64 29 29 20 63 6f 6e 74 69 6e | readyResolved.has(tc.id)).contin |
| c940 | 75 65 3b 0a 0a 09 09 09 09 09 63 6f 6e 73 74 20 64 65 64 75 70 4b 65 79 20 3d 20 74 6f 6f 6c 44 | ue;.......const.dedupKey.=.toolD |
| c960 | 65 64 75 70 4b 65 79 28 74 63 2e 6e 61 6d 65 2c 20 74 63 2e 61 72 67 75 6d 65 6e 74 73 29 3b 0a | edupKey(tc.name,.tc.arguments);. |
| c980 | 0a 09 09 09 09 09 6c 65 74 20 74 6f 6f 6c 52 65 73 75 6c 74 3a 20 54 6f 6f 6c 52 65 73 75 6c 74 | ......let.toolResult:.ToolResult |
| c9a0 | 20 7c 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 09 09 09 63 6f 6e 73 74 20 63 61 63 68 65 64 20 | .|.undefined;......const.cached. |
| c9c0 | 3d 20 64 65 64 75 70 4b 65 79 20 21 3d 3d 20 6e 75 6c 6c 20 3f 20 64 65 64 75 70 52 65 73 75 6c | =.dedupKey.!==.null.?.dedupResul |
| c9e0 | 74 73 2e 67 65 74 28 64 65 64 75 70 4b 65 79 29 20 3a 20 75 6e 64 65 66 69 6e 65 64 3b 0a 09 09 | ts.get(dedupKey).:.undefined;... |
| ca00 | 09 09 09 69 66 20 28 63 61 63 68 65 64 29 20 7b 0a 09 09 09 09 09 09 2f 2f 20 49 64 65 6e 74 69 | ...if.(cached).{.......//.Identi |
| ca20 | 63 61 6c 20 63 61 6c 6c 20 61 6c 72 65 61 64 79 20 72 61 6e 20 69 6e 20 74 68 69 73 20 62 61 74 | cal.call.already.ran.in.this.bat |
| ca40 | 63 68 20 e2 80 94 20 72 65 75 73 65 20 69 74 73 0a 09 09 09 09 09 09 2f 2f 20 6f 75 74 70 75 74 | ch.....reuse.its.......//.output |
| ca60 | 20 75 6e 64 65 72 20 74 68 69 73 20 63 61 6c 6c 27 73 20 6f 77 6e 20 69 64 20 28 6e 6f 20 65 78 | .under.this.call's.own.id.(no.ex |
| ca80 | 65 63 75 74 69 6f 6e 2c 20 6e 6f 20 73 68 65 6c 6c 0a 09 09 09 09 09 09 2f 2f 20 6f 75 74 70 75 | ecution,.no.shell.......//.outpu |
| caa0 | 74 20 74 6f 20 73 74 72 65 61 6d 29 2e 0a 09 09 09 09 09 09 74 6f 6f 6c 52 65 73 75 6c 74 20 3d | t.to.stream)........toolResult.= |
| cac0 | 20 7b 20 2e 2e 2e 63 61 63 68 65 64 2c 20 74 6f 6f 6c 43 61 6c 6c 49 64 3a 20 74 63 2e 69 64 2c | .{....cached,.toolCallId:.tc.id, |
| cae0 | 20 74 6f 6f 6c 4e 61 6d 65 3a 20 74 63 2e 6e 61 6d 65 20 7d 3b 0a 09 09 09 09 09 7d 20 65 6c 73 | .toolName:.tc.name.};......}.els |
| cb00 | 65 20 7b 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 | e.{.......const.shellOutputQueue |
| cb20 | 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 72 65 61 6d 3a 20 | :.Array<{.data:.string;.stream:. |
| cb40 | 22 73 74 64 6f 75 74 22 20 7c 20 22 73 74 64 65 72 72 22 20 7d 3e 20 3d 20 5b 5d 3b 0a 0a 09 09 | "stdout".|."stderr".}>.=.[];.... |
| cb60 | 09 09 09 09 63 6f 6e 73 74 20 65 78 65 63 50 72 6f 6d 69 73 65 20 3d 20 74 68 69 73 2e 65 78 65 | ....const.execPromise.=.this.exe |
| cb80 | 63 75 74 65 54 6f 6f 6c 57 69 74 68 53 74 72 65 61 6d 69 6e 67 28 74 63 2c 20 73 68 65 6c 6c 4f | cuteToolWithStreaming(tc,.shellO |
| cba0 | 75 74 70 75 74 51 75 65 75 65 29 3b 0a 0a 09 09 09 09 09 09 2f 2f 20 50 6f 6c 6c 20 66 6f 72 20 | utputQueue);........//.Poll.for. |
| cbc0 | 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 74 6f 6f 6c 20 69 73 20 72 | shell.output.while.the.tool.is.r |
| cbe0 | 75 6e 6e 69 6e 67 2c 20 75 73 69 6e 67 20 50 72 6f 6d 69 73 65 2e 72 61 63 65 0a 09 09 09 09 09 | unning,.using.Promise.race...... |
| cc00 | 09 2f 2f 20 73 6f 20 77 65 20 63 61 6e 20 79 69 65 6c 64 20 73 68 65 6c 6c 2d 6f 75 74 70 75 74 | .//.so.we.can.yield.shell-output |
| cc20 | 20 65 76 65 6e 74 73 20 61 73 20 74 68 65 79 20 61 72 72 69 76 65 20 72 61 74 68 65 72 20 74 68 | .events.as.they.arrive.rather.th |
| cc40 | 61 6e 20 62 75 66 66 65 72 69 6e 67 0a 09 09 09 09 09 09 2f 2f 20 74 68 65 6d 20 61 6c 6c 20 75 | an.buffering.......//.them.all.u |
| cc60 | 6e 74 69 6c 20 74 6f 6f 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 09 09 09 09 09 09 77 68 69 6c | ntil.tool.completion........whil |
| cc80 | 65 20 28 74 6f 6f 6c 52 65 73 75 6c 74 20 3d 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 7b 0a 09 | e.(toolResult.===.undefined).{.. |
| cca0 | 09 09 09 09 09 09 69 66 20 28 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 2e 6c 65 6e 67 74 | ......if.(shellOutputQueue.lengt |
| ccc0 | 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 09 09 09 63 6f 6e 73 74 20 69 74 65 6d 20 3d 20 73 68 | h.>.0).{.........const.item.=.sh |
| cce0 | 65 6c 6c 4f 75 74 70 75 74 51 75 65 75 65 2e 73 68 69 66 74 28 29 3b 0a 09 09 09 09 09 09 09 09 | ellOutputQueue.shift();......... |
| cd00 | 69 66 20 28 69 74 65 6d 29 20 7b 0a 09 09 09 09 09 09 09 09 09 63 6f 6e 73 74 20 73 68 65 6c 6c | if.(item).{..........const.shell |
| cd20 | 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 09 09 09 | Event:.AgentEvent.=.{........... |
| cd40 | 74 79 70 65 3a 20 22 73 68 65 6c 6c 2d 6f 75 74 70 75 74 22 2c 0a 09 09 09 09 09 09 09 09 09 09 | type:."shell-output",........... |
| cd60 | 64 61 74 61 3a 20 69 74 65 6d 2e 64 61 74 61 2c 0a 09 09 09 09 09 09 09 09 09 09 73 74 72 65 61 | data:.item.data,...........strea |
| cd80 | 6d 3a 20 69 74 65 6d 2e 73 74 72 65 61 6d 2c 0a 09 09 09 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 | m:.item.stream,..........};..... |
| cda0 | 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 75 6e 6b 73 2c | .....appendEventToChunks(chunks, |
| cdc0 | 20 73 68 65 6c 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 09 09 09 79 69 65 6c 64 20 73 68 65 | .shellEvent);..........yield.she |
| cde0 | 6c 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 63 6f 6e 74 69 | llEvent;.........}.........conti |
| ce00 | 6e 75 65 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 72 61 63 65 52 | nue;........}........const.raceR |
| ce20 | 65 73 75 6c 74 20 3d 20 61 77 61 69 74 20 50 72 6f 6d 69 73 65 2e 72 61 63 65 28 5b 0a 09 09 09 | esult.=.await.Promise.race([.... |
| ce40 | 09 09 09 09 09 65 78 65 63 50 72 6f 6d 69 73 65 2e 74 68 65 6e 28 28 72 29 20 3d 3e 20 28 7b 20 | .....execPromise.then((r).=>.({. |
| ce60 | 64 6f 6e 65 3a 20 74 72 75 65 20 61 73 20 63 6f 6e 73 74 2c 20 76 61 6c 75 65 3a 20 72 20 7d 29 | done:.true.as.const,.value:.r.}) |
| ce80 | 29 2c 0a 09 09 09 09 09 09 09 09 6e 65 77 20 50 72 6f 6d 69 73 65 3c 7b 20 64 6f 6e 65 3a 20 66 | ),.........new.Promise<{.done:.f |
| cea0 | 61 6c 73 65 20 7d 3e 28 28 72 65 73 6f 6c 76 65 29 20 3d 3e 0a 09 09 09 09 09 09 09 09 09 73 65 | alse.}>((resolve).=>..........se |
| cec0 | 74 49 6d 6d 65 64 69 61 74 65 28 28 29 20 3d 3e 20 72 65 73 6f 6c 76 65 28 7b 20 64 6f 6e 65 3a | tImmediate(().=>.resolve({.done: |
| cee0 | 20 66 61 6c 73 65 20 7d 29 29 2c 0a 09 09 09 09 09 09 09 09 29 2c 0a 09 09 09 09 09 09 09 5d 29 | .false.})),.........),........]) |
| cf00 | 3b 0a 09 09 09 09 09 09 09 69 66 20 28 72 61 63 65 52 65 73 75 6c 74 2e 64 6f 6e 65 29 20 7b 0a | ;........if.(raceResult.done).{. |
| cf20 | 09 09 09 09 09 09 09 09 74 6f 6f 6c 52 65 73 75 6c 74 20 3d 20 72 61 63 65 52 65 73 75 6c 74 2e | ........toolResult.=.raceResult. |
| cf40 | 76 61 6c 75 65 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 2f | value;........}.......}......../ |
| cf60 | 2f 20 44 72 61 69 6e 20 61 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 73 68 65 6c 6c 20 6f 75 74 70 | /.Drain.any.remaining.shell.outp |
| cf80 | 75 74 20 65 6d 69 74 74 65 64 20 62 65 66 6f 72 65 20 77 65 20 72 65 61 64 20 74 68 65 20 72 65 | ut.emitted.before.we.read.the.re |
| cfa0 | 73 75 6c 74 0a 09 09 09 09 09 09 77 68 69 6c 65 20 28 73 68 65 6c 6c 4f 75 74 70 75 74 51 75 65 | sult.......while.(shellOutputQue |
| cfc0 | 75 65 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 09 09 63 6f 6e 73 74 20 69 74 | ue.length.>.0).{........const.it |
| cfe0 | 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 29 3b 0a 09 | em.=.shellOutputQueue.shift();.. |
| d000 | 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 63 6f 6e 73 74 20 | ......if.(item).{.........const. |
| d020 | 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 0a 09 09 09 09 09 | shellEvent:.AgentEvent.=.{...... |
| d040 | 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 0a 09 09 09 09 09 09 | ....type:."shell-output",....... |
| d060 | 09 09 09 64 61 74 61 3a 20 69 74 65 6d 2e 64 61 74 61 2c 0a 09 09 09 09 09 09 09 09 09 73 74 72 | ...data:.item.data,..........str |
| d080 | 65 61 6d 3a 20 69 74 65 6d 2e 73 74 72 65 61 6d 2c 0a 09 09 09 09 09 09 09 09 7d 3b 0a 09 09 09 | eam:.item.stream,.........};.... |
| d0a0 | 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 75 6e 6b 73 2c | .....appendEventToChunks(chunks, |
| d0c0 | 20 73 68 65 6c 6c 45 76 65 6e 74 29 3b 0a 09 09 09 09 09 09 09 09 79 69 65 6c 64 20 73 68 65 6c | .shellEvent);.........yield.shel |
| d0e0 | 6c 45 76 65 6e 74 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 09 | lEvent;........}.......}........ |
| d100 | 2f 2f 20 43 61 63 68 65 20 74 68 65 20 72 61 77 20 72 65 73 75 6c 74 20 73 6f 20 6c 61 74 65 72 | //.Cache.the.raw.result.so.later |
| d120 | 20 69 64 65 6e 74 69 63 61 6c 20 63 61 6c 6c 73 20 69 6e 20 74 68 69 73 0a 09 09 09 09 09 09 2f | .identical.calls.in.this......./ |
| d140 | 2f 20 62 61 74 63 68 20 63 61 6e 20 72 65 75 73 65 20 69 74 2e 0a 09 09 09 09 09 09 69 66 20 28 | /.batch.can.reuse.it........if.( |
| d160 | 64 65 64 75 70 4b 65 79 20 21 3d 3d 20 6e 75 6c 6c 29 20 64 65 64 75 70 52 65 73 75 6c 74 73 2e | dedupKey.!==.null).dedupResults. |
| d180 | 73 65 74 28 64 65 64 75 70 4b 65 79 2c 20 74 6f 6f 6c 52 65 73 75 6c 74 29 3b 0a 09 09 09 09 09 | set(dedupKey,.toolResult);...... |
| d1a0 | 7d 0a 0a 09 09 09 09 09 2f 2f 20 48 61 72 76 65 73 74 20 61 6e 79 20 71 75 65 75 65 64 20 75 73 | }.......//.Harvest.any.queued.us |
| d1c0 | 65 72 20 6d 65 73 73 61 67 65 73 20 62 75 74 20 44 45 46 45 52 20 69 6e 6a 65 63 74 69 6f 6e 20 | er.messages.but.DEFER.injection. |
| d1e0 | 75 6e 74 69 6c 0a 09 09 09 09 09 2f 2f 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 6f 66 20 74 | until......//.the.last.tool.of.t |
| d200 | 68 65 20 62 61 74 63 68 2e 20 54 68 69 73 20 63 6f 6c 6c 61 70 73 65 73 20 6d 75 6c 74 69 70 6c | he.batch..This.collapses.multipl |
| d220 | 65 0a 09 09 09 09 09 2f 2f 20 71 75 65 75 65 64 20 6d 65 73 73 61 67 65 73 20 69 6e 74 6f 20 61 | e......//.queued.messages.into.a |
| d240 | 20 73 69 6e 67 6c 65 20 69 6e 74 65 72 72 75 70 74 20 62 6c 6f 63 6b 20 6f 6e 20 61 20 73 69 6e | .single.interrupt.block.on.a.sin |
| d260 | 67 6c 65 0a 09 09 09 09 09 2f 2f 20 74 6f 6f 6c 2d 72 65 73 75 6c 74 20 69 6e 73 74 65 61 64 20 | gle......//.tool-result.instead. |
| d280 | 6f 66 20 66 72 61 67 6d 65 6e 74 69 6e 67 20 61 63 72 6f 73 73 20 74 68 65 20 62 61 74 63 68 2e | of.fragmenting.across.the.batch. |
| d2a0 | 0a 09 09 09 09 09 69 66 20 28 74 68 69 73 2e 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 29 20 7b | ......if.(this.queueCallbacks).{ |
| d2c0 | 0a 09 09 09 09 09 09 63 6f 6e 73 74 20 71 75 65 75 65 64 4d 73 67 73 20 3d 20 74 68 69 73 2e 71 | .......const.queuedMsgs.=.this.q |
| d2e0 | 75 65 75 65 43 61 6c 6c 62 61 63 6b 73 2e 64 65 71 75 65 75 65 4d 65 73 73 61 67 65 73 28 29 3b | ueueCallbacks.dequeueMessages(); |
| d300 | 0a 09 09 09 09 09 09 69 66 20 28 71 75 65 75 65 64 4d 73 67 73 2e 6c 65 6e 67 74 68 20 3e 20 30 | .......if.(queuedMsgs.length.>.0 |
| d320 | 29 20 7b 0a 09 09 09 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 | ).{........batchPendingInjection |
| d340 | 2e 70 75 73 68 28 2e 2e 2e 71 75 65 75 65 64 4d 73 67 73 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 | .push(...queuedMsgs);.......}... |
| d360 | 09 09 09 7d 0a 0a 09 09 09 09 09 6c 65 74 20 66 69 6e 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 20 3d | ...}.......let.finalToolResult.= |
| d380 | 20 74 6f 6f 6c 52 65 73 75 6c 74 3b 0a 09 09 09 09 09 69 66 20 28 74 63 49 64 78 20 3d 3d 3d 20 | .toolResult;......if.(tcIdx.===. |
| d3a0 | 6c 61 73 74 45 78 65 63 75 74 61 62 6c 65 49 64 78 20 26 26 20 62 61 74 63 68 50 65 6e 64 69 6e | lastExecutableIdx.&&.batchPendin |
| d3c0 | 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 09 63 | gInjection.length.>.0).{.......c |
| d3e0 | 6f 6e 73 74 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 3d 20 62 61 74 63 68 50 65 6e 64 69 6e 67 | onst.userMessages.=.batchPending |
| d400 | 49 6e 6a 65 63 74 69 6f 6e 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 6d 2e 6d 65 73 73 61 67 65 29 2e | Injection.map((m).=>.m.message). |
| d420 | 6a 6f 69 6e 28 22 5c 6e 2d 2d 2d 5c 6e 22 29 3b 0a 09 09 09 09 09 09 66 69 6e 61 6c 54 6f 6f 6c | join("\n---\n");.......finalTool |
| d440 | 52 65 73 75 6c 74 20 3d 20 7b 0a 09 09 09 09 09 09 09 2e 2e 2e 74 6f 6f 6c 52 65 73 75 6c 74 2c | Result.=.{...........toolResult, |
| d460 | 0a 09 09 09 09 09 09 09 72 65 73 75 6c 74 3a 20 60 24 7b 74 6f 6f 6c 52 65 73 75 6c 74 2e 72 65 | ........result:.`${toolResult.re |
| d480 | 73 75 6c 74 7d 5c 6e 5c 6e 5b 55 53 45 52 20 49 4e 54 45 52 52 55 50 54 5d 5c 6e 54 68 65 20 75 | sult}\n\n[USER.INTERRUPT]\nThe.u |
| d4a0 | 73 65 72 20 68 61 73 20 73 65 6e 74 20 79 6f 75 20 6d 65 73 73 61 67 65 28 73 29 20 77 68 69 6c | ser.has.sent.you.message(s).whil |
| d4c0 | 65 20 79 6f 75 20 77 65 72 65 20 77 6f 72 6b 69 6e 67 2e 20 59 6f 75 20 4d 55 53 54 20 61 64 64 | e.you.were.working..You.MUST.add |
| d4e0 | 72 65 73 73 20 74 68 65 73 65 20 62 65 66 6f 72 65 20 63 6f 6e 74 69 6e 75 69 6e 67 20 77 69 74 | ress.these.before.continuing.wit |
| d500 | 68 20 79 6f 75 72 20 63 75 72 72 65 6e 74 20 74 61 73 6b 3a 5c 6e 5c 6e 24 7b 75 73 65 72 4d 65 | h.your.current.task:\n\n${userMe |
| d520 | 73 73 61 67 65 73 7d 60 2c 0a 09 09 09 09 09 09 7d 3b 0a 09 09 09 09 09 09 62 61 74 63 68 50 65 | ssages}`,.......};.......batchPe |
| d540 | 6e 64 69 6e 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 20 3d 20 30 3b 0a 09 09 09 09 09 | ndingInjection.length.=.0;...... |
| d560 | 7d 0a 0a 09 09 09 09 09 63 6f 6e 73 74 20 74 72 45 76 65 6e 74 3a 20 41 67 65 6e 74 45 76 65 6e | }.......const.trEvent:.AgentEven |
| d580 | 74 20 3d 20 7b 20 74 79 70 65 3a 20 22 74 6f 6f 6c 2d 72 65 73 75 6c 74 22 2c 20 74 6f 6f 6c 52 | t.=.{.type:."tool-result",.toolR |
| d5a0 | 65 73 75 6c 74 3a 20 66 69 6e 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 20 7d 3b 0a 09 09 09 09 09 61 | esult:.finalToolResult.};......a |
| d5c0 | 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 74 72 45 76 65 | ppendEventToChunks(chunks,.trEve |
| d5e0 | 6e 74 29 3b 0a 09 09 09 09 09 79 69 65 6c 64 20 74 72 45 76 65 6e 74 3b 0a 09 09 09 09 7d 0a 0a | nt);......yield.trEvent;.....}.. |
| d600 | 09 09 09 09 2f 2f 20 53 61 66 65 74 79 20 6e 65 74 3a 20 69 66 20 60 6c 61 73 74 45 78 65 63 75 | ....//.Safety.net:.if.`lastExecu |
| d620 | 74 61 62 6c 65 49 64 78 60 20 77 61 73 20 6e 65 76 65 72 20 72 65 61 63 68 65 64 20 28 65 2e 67 | tableIdx`.was.never.reached.(e.g |
| d640 | 2e 2c 0a 09 09 09 09 2f 2f 20 6e 6f 20 74 6f 6f 6c 73 20 65 78 65 63 75 74 65 64 20 62 65 63 61 | .,.....//.no.tools.executed.beca |
| d660 | 75 73 65 20 61 6c 6c 20 77 65 72 65 20 61 6c 72 65 61 64 79 20 72 65 73 6f 6c 76 65 64 29 20 62 | use.all.were.already.resolved).b |
| d680 | 75 74 0a 09 09 09 09 2f 2f 20 6d 65 73 73 61 67 65 73 20 77 65 72 65 20 73 74 69 6c 6c 20 64 65 | ut.....//.messages.were.still.de |
| d6a0 | 71 75 65 75 65 64 2c 20 73 75 72 66 61 63 65 20 74 68 65 6d 20 61 73 20 61 20 75 73 65 72 20 6d | queued,.surface.them.as.a.user.m |
| d6c0 | 65 73 73 61 67 65 0a 09 09 09 09 2f 2f 20 73 6f 20 74 68 65 79 20 61 72 65 6e 27 74 20 64 72 6f | essage.....//.so.they.aren't.dro |
| d6e0 | 70 70 65 64 2e 20 49 6e 20 70 72 61 63 74 69 63 65 20 74 68 69 73 20 69 73 20 72 61 72 65 20 e2 | pped..In.practice.this.is.rare.. |
| d700 | 80 94 20 69 74 20 6f 6e 6c 79 0a 09 09 09 09 2f 2f 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 74 | ...it.only.....//.happens.when.t |
| d720 | 68 65 20 65 6e 74 69 72 65 20 62 61 74 63 68 20 69 73 20 75 6e 61 76 61 69 6c 61 62 6c 65 2d 74 | he.entire.batch.is.unavailable-t |
| d740 | 6f 6f 6c 20 73 79 6e 74 68 65 73 69 7a 65 64 0a 09 09 09 09 2f 2f 20 65 72 72 6f 72 73 20 77 69 | ool.synthesized.....//.errors.wi |
| d760 | 74 68 20 61 20 6d 65 73 73 61 67 65 20 61 72 72 69 76 69 6e 67 20 69 6e 20 74 68 61 74 20 6e 61 | th.a.message.arriving.in.that.na |
| d780 | 72 72 6f 77 20 77 69 6e 64 6f 77 2e 0a 09 09 09 09 69 66 20 28 62 61 74 63 68 50 65 6e 64 69 6e | rrow.window......if.(batchPendin |
| d7a0 | 67 49 6e 6a 65 63 74 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 09 09 09 09 09 63 6f | gInjection.length.>.0).{......co |
| d7c0 | 6e 73 74 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 3d 20 62 61 74 63 68 50 65 6e 64 69 6e 67 49 | nst.userMessages.=.batchPendingI |
| d7e0 | 6e 6a 65 63 74 69 6f 6e 2e 6d 61 70 28 28 6d 29 20 3d 3e 20 6d 2e 6d 65 73 73 61 67 65 29 2e 6a | njection.map((m).=>.m.message).j |
| d800 | 6f 69 6e 28 22 5c 6e 2d 2d 2d 5c 6e 22 29 3b 0a 09 09 09 09 09 74 68 69 73 2e 6d 65 73 73 61 67 | oin("\n---\n");......this.messag |
| d820 | 65 73 2e 70 75 73 68 28 7b 0a 09 09 09 09 09 09 72 6f 6c 65 3a 20 22 75 73 65 72 22 2c 0a 09 09 | es.push({.......role:."user",... |
| d840 | 09 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 65 78 | ....chunks:.[{.type:."text",.tex |
| d860 | 74 3a 20 75 73 65 72 4d 65 73 73 61 67 65 73 20 7d 5d 2c 0a 09 09 09 09 09 7d 29 3b 0a 09 09 09 | t:.userMessages.}],......});.... |
| d880 | 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 20 3d | ..batchPendingInjection.length.= |
| d8a0 | 20 30 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 2f 2f 20 46 69 6e 61 6c 20 73 61 66 65 74 79 20 6e | .0;.....}......//.Final.safety.n |
| d8c0 | 65 74 3a 20 61 66 74 65 72 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 62 61 74 63 68 2c 20 67 | et:.after.executing.the.batch,.g |
| d8e0 | 75 61 72 61 6e 74 65 65 20 65 76 65 72 79 0a 09 09 09 09 2f 2f 20 74 6f 6f 6c 2d 63 61 6c 6c 20 | uarantee.every.....//.tool-call. |
| d900 | 72 65 63 6f 72 64 65 64 20 69 6e 20 74 68 69 73 20 73 74 65 70 20 68 61 73 20 61 20 6d 61 74 63 | recorded.in.this.step.has.a.matc |
| d920 | 68 69 6e 67 20 72 65 73 75 6c 74 20 62 65 66 6f 72 65 20 77 65 0a 09 09 09 09 2f 2f 20 6c 6f 6f | hing.result.before.we.....//.loo |
| d940 | 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 4c 4c 4d 2e 20 41 6e 79 20 74 6f 6f 6c 2d 63 61 6c 6c | p.back.to.the.LLM..Any.tool-call |
| d960 | 20 49 44 20 74 68 61 74 20 73 6c 69 70 70 65 64 20 74 68 72 6f 75 67 68 0a 09 09 09 09 2f 2f 20 | .ID.that.slipped.through.....//. |
| d980 | 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 20 28 61 20 70 61 74 68 20 77 65 20 64 69 64 6e | without.a.result.(a.path.we.didn |
| d9a0 | 27 74 20 61 6e 74 69 63 69 70 61 74 65 29 20 77 6f 75 6c 64 20 6f 74 68 65 72 77 69 73 65 0a 09 | 't.anticipate).would.otherwise.. |
| d9c0 | 09 09 09 2f 2f 20 6f 72 70 68 61 6e 20 61 6e 64 20 74 72 69 67 67 65 72 20 4d 69 73 73 69 6e 67 | ...//.orphan.and.trigger.Missing |
| d9e0 | 54 6f 6f 6c 52 65 73 75 6c 74 73 45 72 72 6f 72 20 6f 6e 20 74 68 65 20 6e 65 78 74 0a 09 09 09 | ToolResultsError.on.the.next.... |
| da00 | 09 2f 2f 20 72 6f 75 6e 64 2d 74 72 69 70 2e 0a 09 09 09 09 63 6f 6e 73 74 20 73 61 66 65 74 79 | .//.round-trip......const.safety |
| da20 | 52 65 73 69 64 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 | Residual.=.this.synthesizeResidu |
| da40 | 61 6c 54 6f 6f 6c 52 65 73 75 6c 74 73 28 0a 09 09 09 09 09 73 74 65 70 54 6f 6f 6c 43 61 6c 6c | alToolResults(......stepToolCall |
| da60 | 73 2c 0a 09 09 09 09 09 63 68 75 6e 6b 73 2c 0a 09 09 09 09 09 22 45 72 72 6f 72 3a 20 49 6e 74 | s,......chunks,......"Error:.Int |
| da80 | 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 74 6f 6f 6c 20 72 65 73 75 6c 74 20 77 61 73 20 6e 65 76 | ernal.error:.tool.result.was.nev |
| daa0 | 65 72 20 70 72 6f 64 75 63 65 64 2e 22 2c 0a 09 09 09 09 29 3b 0a 09 09 09 09 66 6f 72 20 28 63 | er.produced.",.....);.....for.(c |
| dac0 | 6f 6e 73 74 20 72 20 6f 66 20 73 61 66 65 74 79 52 65 73 69 64 75 61 6c 29 20 7b 0a 09 09 09 09 | onst.r.of.safetyResidual).{..... |
| dae0 | 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 72 29 3b | .appendEventToChunks(chunks,.r); |
| db00 | 0a 09 09 09 09 09 79 69 65 6c 64 20 72 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 0a 09 09 09 2f 2f | ......yield.r;.....}....}.....// |
| db20 | 20 42 75 69 6c 64 20 74 68 65 20 66 69 6e 61 6c 20 61 73 73 69 73 74 61 6e 74 20 6d 65 73 73 61 | .Build.the.final.assistant.messa |
| db40 | 67 65 20 66 72 6f 6d 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 63 68 75 6e 6b 73 2e 0a | ge.from.the.accumulated.chunks.. |
| db60 | 09 09 09 2f 2f 20 49 66 20 6e 6f 20 61 73 73 69 73 74 61 6e 74 20 74 75 72 6e 20 6d 65 73 73 61 | ...//.If.no.assistant.turn.messa |
| db80 | 67 65 20 77 61 73 20 65 76 65 72 20 63 72 65 61 74 65 64 20 28 65 2e 67 2e 2c 20 74 68 65 20 6d | ge.was.ever.created.(e.g.,.the.m |
| dba0 | 6f 64 65 6c 0a 09 09 09 2f 2f 20 70 72 6f 64 75 63 65 64 20 6e 6f 74 68 69 6e 67 20 e2 80 94 20 | odel....//.produced.nothing..... |
| dbc0 | 75 6e 75 73 75 61 6c 20 62 75 74 20 70 6f 73 73 69 62 6c 65 29 2c 20 73 79 6e 74 68 65 73 69 7a | unusual.but.possible),.synthesiz |
| dbe0 | 65 20 61 6e 20 65 6d 70 74 79 20 6f 6e 65 2e 0a 09 09 09 63 6f 6e 73 74 20 61 73 73 69 73 74 61 | e.an.empty.one.....const.assista |
| dc00 | 6e 74 4d 65 73 73 61 67 65 3a 20 43 68 61 74 4d 65 73 73 61 67 65 20 3d 20 61 73 73 69 73 74 61 | ntMessage:.ChatMessage.=.assista |
| dc20 | 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 20 3f 3f 20 7b 0a 09 09 09 09 72 6f 6c 65 3a 20 22 61 73 | ntTurnMessage.??.{.....role:."as |
| dc40 | 73 69 73 74 61 6e 74 22 2c 0a 09 09 09 09 63 68 75 6e 6b 73 2c 0a 09 09 09 7d 3b 0a 09 09 09 2f | sistant",.....chunks,....};..../ |
| dc60 | 2f 20 60 61 73 73 69 73 74 61 6e 74 54 75 72 6e 4d 65 73 73 61 67 65 60 20 77 61 73 20 70 75 73 | /.`assistantTurnMessage`.was.pus |
| dc80 | 68 65 64 20 69 6e 74 6f 20 60 73 74 65 70 4d 65 73 73 61 67 65 73 60 20 62 75 74 20 6e 6f 74 20 | hed.into.`stepMessages`.but.not. |
| dca0 | 69 6e 74 6f 0a 09 09 09 2f 2f 20 60 74 68 69 73 2e 6d 65 73 73 61 67 65 73 60 20 e2 80 94 20 70 | into....//.`this.messages`.....p |
| dcc0 | 75 73 68 20 69 74 20 6e 6f 77 20 73 6f 20 74 68 65 20 61 67 65 6e 74 27 73 20 6f 75 74 77 61 72 | ush.it.now.so.the.agent's.outwar |
| dce0 | 64 2d 66 61 63 69 6e 67 0a 09 09 09 2f 2f 20 68 69 73 74 6f 72 79 20 72 65 66 6c 65 63 74 73 20 | d-facing....//.history.reflects. |
| dd00 | 74 68 65 20 74 75 72 6e 2e 0a 09 09 09 74 68 69 73 2e 6d 65 73 73 61 67 65 73 2e 70 75 73 68 28 | the.turn.....this.messages.push( |
| dd20 | 61 73 73 69 73 74 61 6e 74 4d 65 73 73 61 67 65 29 3b 0a 0a 09 09 09 2f 2f 20 4e 4f 54 45 3a 20 | assistantMessage);.....//.NOTE:. |
| dd40 | 71 75 65 75 65 64 20 6d 65 73 73 61 67 65 73 20 74 68 61 74 20 61 72 72 69 76 65 20 41 46 54 45 | queued.messages.that.arrive.AFTE |
| dd60 | 52 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 63 61 6c 6c 20 28 6f 72 20 77 69 74 68 0a 09 09 | R.the.last.tool.call.(or.with... |
| dd80 | 09 2f 2f 20 6e 6f 20 74 6f 6f 6c 20 63 61 6c 6c 73 20 61 74 20 61 6c 6c 29 20 61 72 65 20 69 6e | .//.no.tool.calls.at.all).are.in |
| dda0 | 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 4e 4f 54 20 64 72 61 69 6e 65 64 20 68 65 72 65 2e 20 44 72 | tentionally.NOT.drained.here..Dr |
| ddc0 | 61 69 6e 69 6e 67 0a 09 09 09 2f 2f 20 74 68 65 6d 20 69 6e 74 6f 20 60 74 68 69 73 2e 6d 65 73 | aining....//.them.into.`this.mes |
| dde0 | 73 61 67 65 73 60 20 61 73 20 61 20 74 72 61 69 6c 69 6e 67 20 75 73 65 72 20 74 75 72 6e 20 e2 | sages`.as.a.trailing.user.turn.. |
| de00 | 80 94 20 74 68 65 20 6f 6c 64 0a 09 09 09 2f 2f 20 62 65 68 61 76 69 6f 75 72 20 e2 80 94 20 6c | ...the.old....//.behaviour.....l |
| de20 | 65 66 74 20 74 68 65 6d 20 73 69 74 74 69 6e 67 20 69 6e 20 68 69 73 74 6f 72 79 20 77 69 74 68 | eft.them.sitting.in.history.with |
| de40 | 20 6e 6f 20 6d 6f 64 65 6c 20 72 65 73 70 6f 6e 73 65 3a 0a 09 09 09 2f 2f 20 74 68 65 20 74 75 | .no.model.response:....//.the.tu |
| de60 | 72 6e 20 65 6e 64 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 73 77 65 72 69 6e 67 20 74 68 | rn.ended.instead.of.answering.th |
| de80 | 65 6d 20 28 74 68 65 20 22 71 75 65 75 65 20 6e 6f 74 20 63 6f 6e 73 75 6d 65 64 0a 09 09 09 2f | em.(the."queue.not.consumed..../ |
| dea0 | 2f 20 61 66 74 65 72 20 74 68 65 20 74 75 72 6e 20 65 6e 64 73 22 20 62 75 67 29 2e 20 54 68 65 | /.after.the.turn.ends".bug)..The |
| dec0 | 79 20 6e 6f 77 20 73 74 61 79 20 6f 6e 20 74 68 65 20 71 75 65 75 65 20 73 6f 20 74 68 65 0a 09 | y.now.stay.on.the.queue.so.the.. |
| dee0 | 09 09 2f 2f 20 6f 72 63 68 65 73 74 72 61 74 6f 72 20 28 60 41 67 65 6e 74 4d 61 6e 61 67 65 72 | ..//.orchestrator.(`AgentManager |
| df00 | 2e 70 72 6f 63 65 73 73 4d 65 73 73 61 67 65 60 29 20 63 61 6e 20 73 74 61 72 74 20 61 20 66 72 | .processMessage`).can.start.a.fr |
| df20 | 65 73 68 20 74 75 72 6e 0a 09 09 09 2f 2f 20 66 6f 72 20 74 68 65 6d 20 6f 6e 63 65 20 74 68 69 | esh.turn....//.for.them.once.thi |
| df40 | 73 20 6f 6e 65 20 73 65 74 74 6c 65 73 2e 20 4d 69 64 2d 74 75 72 6e 20 69 6e 74 65 72 72 75 70 | s.one.settles..Mid-turn.interrup |
| df60 | 74 73 20 61 72 65 20 73 74 69 6c 6c 0a 09 09 09 2f 2f 20 69 6e 6a 65 63 74 65 64 20 69 6e 74 6f | ts.are.still....//.injected.into |
| df80 | 20 74 68 65 20 6c 61 73 74 20 74 6f 6f 6c 20 72 65 73 75 6c 74 20 61 62 6f 76 65 20 e2 80 94 20 | .the.last.tool.result.above..... |
| dfa0 | 74 68 61 74 20 70 61 74 68 20 69 73 20 75 6e 63 68 61 6e 67 65 64 2e 0a 0a 09 09 09 79 69 65 6c | that.path.is.unchanged......yiel |
| dfc0 | 64 20 7b 20 74 79 70 65 3a 20 22 64 6f 6e 65 22 2c 20 6d 65 73 73 61 67 65 3a 20 61 73 73 69 73 | d.{.type:."done",.message:.assis |
| dfe0 | 74 61 6e 74 4d 65 73 73 61 67 65 20 7d 3b 0a 09 09 7d 20 63 61 74 63 68 20 28 65 72 72 29 20 7b | tantMessage.};...}.catch.(err).{ |
| e000 | 0a 09 09 09 63 6f 6e 73 74 20 65 72 72 52 65 63 6f 72 64 20 3d 20 65 72 72 20 61 73 20 75 6e 6b | ....const.errRecord.=.err.as.unk |
| e020 | 6e 6f 77 6e 20 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 | nown.as.Record<string,.unknown>; |
| e040 | 0a 09 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 74 79 70 65 6f | ....const.statusCode.=.....typeo |
| e060 | 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 62 | f.errRecord.statusCode.===."numb |
| e080 | 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 64 | er".?.errRecord.statusCode.:.und |
| e0a0 | 65 66 69 6e 65 64 3b 0a 09 09 09 63 6f 6e 73 74 20 65 72 72 6f 72 4d 73 67 20 3d 20 66 6f 72 6d | efined;....const.errorMsg.=.form |
| e0c0 | 61 74 45 72 72 6f 72 28 65 72 72 2c 20 74 68 69 73 2e 63 6f 6e 66 69 67 29 3b 0a 09 09 09 79 69 | atError(err,.this.config);....yi |
| e0e0 | 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 65 72 72 6f 72 22 2c 20 65 72 72 6f 72 3a 20 65 72 72 6f | eld.{.type:."error",.error:.erro |
| e100 | 72 4d 73 67 2c 20 2e 2e 2e 28 73 74 61 74 75 73 43 6f 64 65 20 21 3d 3d 20 75 6e 64 65 66 69 6e | rMsg,....(statusCode.!==.undefin |
| e120 | 65 64 20 3f 20 7b 20 73 74 61 74 75 73 43 6f 64 65 20 7d 20 3a 20 7b 7d 29 20 7d 3b 0a 09 09 09 | ed.?.{.statusCode.}.:.{}).};.... |
| e140 | 74 68 69 73 2e 73 74 61 74 75 73 20 3d 20 22 65 72 72 6f 72 22 3b 0a 09 09 09 79 69 65 6c 64 20 | this.status.=."error";....yield. |
| e160 | 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 65 72 72 6f 72 | {.type:."status",.status:."error |
| e180 | 22 20 7d 3b 0a 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 7d 0a 0a 09 09 74 68 69 73 2e 73 74 61 74 | ".};....return;...}....this.stat |
| e1a0 | 75 73 20 3d 20 22 69 64 6c 65 22 3b 0a 09 09 79 69 65 6c 64 20 7b 20 74 79 70 65 3a 20 22 73 74 | us.=."idle";...yield.{.type:."st |
| e1c0 | 61 74 75 73 22 2c 20 73 74 61 74 75 73 3a 20 22 69 64 6c 65 22 20 7d 3b 0a 09 7d 0a 7d 0a | atus",.status:."idle".};..}.}. |