zidane 7.2.5 → 8.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +34 -6
- package/dist/{acp-D-tVyUjw.js → acp-DQDhi2dj.js} +230 -77
- package/dist/acp-DQDhi2dj.js.map +1 -0
- package/dist/acp-cli.d.ts +1 -1
- package/dist/acp-cli.js +9 -66
- package/dist/acp-cli.js.map +1 -1
- package/dist/acp.d.ts +10 -590
- package/dist/acp.d.ts.map +1 -1
- package/dist/acp.js +3 -3
- package/dist/{agent-D0zZnGbt.js → agent-DSLNmBp0.js} +14401 -13214
- package/dist/agent-DSLNmBp0.js.map +1 -0
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +3 -2
- package/dist/aliasing-lVFbm81n.js +217 -0
- package/dist/aliasing-lVFbm81n.js.map +1 -0
- package/dist/{anthropic-C2aole0G.js → anthropic-CD00LhUP.js} +1442 -1264
- package/dist/anthropic-CD00LhUP.js.map +1 -0
- package/dist/artifacts-CV2hUKnL.js.map +1 -1
- package/dist/{atomic-write-B7zr1ddF.js → atomic-write-Ijgf2Mhc.js} +13 -3
- package/dist/atomic-write-Ijgf2Mhc.js.map +1 -0
- package/dist/call-tool-dHlbGOIY.js +70 -0
- package/dist/call-tool-dHlbGOIY.js.map +1 -0
- package/dist/chat/pure.d.ts +372 -6
- package/dist/chat/pure.d.ts.map +1 -1
- package/dist/chat/pure.js +35 -244
- package/dist/chat/pure.js.map +1 -1
- package/dist/{approvals-DKaJZYlm.js → chat-JPJJ8uu5.js} +15879 -14631
- package/dist/chat-JPJJ8uu5.js.map +1 -0
- package/dist/chat.d.ts +4 -6
- package/dist/chat.js +23 -12
- package/dist/cli-shared-C-YCaglL.js +159 -0
- package/dist/cli-shared-C-YCaglL.js.map +1 -0
- package/dist/client-core-BQSyDALT.d.ts +2115 -0
- package/dist/client-core-BQSyDALT.d.ts.map +1 -0
- package/dist/codemode-worker.d.ts +1 -0
- package/dist/codemode-worker.js +155 -0
- package/dist/codemode-worker.js.map +1 -0
- package/dist/codemode.d.ts +352 -0
- package/dist/codemode.d.ts.map +1 -0
- package/dist/codemode.js +5 -0
- package/dist/connection-Dr-Js4yZ.d.ts +28 -0
- package/dist/connection-Dr-Js4yZ.d.ts.map +1 -0
- package/dist/connection-loop-gdh22LTI.js +112 -0
- package/dist/connection-loop-gdh22LTI.js.map +1 -0
- package/dist/context-segments-BHKlagL6.js +1016 -0
- package/dist/context-segments-BHKlagL6.js.map +1 -0
- package/dist/{context-transport-T_6AYIvy.js → context-transport-DSMTUsK1.js} +3 -3
- package/dist/{context-transport-T_6AYIvy.js.map → context-transport-DSMTUsK1.js.map} +1 -1
- package/dist/contexts/daytona.d.ts +19 -8
- package/dist/contexts/daytona.d.ts.map +1 -1
- package/dist/contexts/daytona.js +1 -440
- package/dist/contexts/docker.d.ts +36 -7
- package/dist/contexts/docker.d.ts.map +1 -1
- package/dist/contexts/docker.js +1 -456
- package/dist/contexts/e2b.d.ts +68 -13
- package/dist/contexts/e2b.d.ts.map +1 -1
- package/dist/contexts/e2b.js +1 -382
- package/dist/contexts/sandbox.d.ts +1 -1
- package/dist/contexts/sandbox.js +5 -0
- package/dist/contexts/sandbox.js.map +1 -1
- package/dist/{contexts-CRE9pw07.js → contexts-d7UolYot.js} +1059 -524
- package/dist/contexts-d7UolYot.js.map +1 -0
- package/dist/contexts.d.ts +3 -3
- package/dist/contexts.js +1 -1
- package/dist/cred-keys-GpBg71cP.js +105 -0
- package/dist/cred-keys-GpBg71cP.js.map +1 -0
- package/dist/{auth-BG2rVKSt.js → credentials-JttEuRON.js} +55 -206
- package/dist/credentials-JttEuRON.js.map +1 -0
- package/dist/{cursor-iojRXHF9.js → cursor-CdjaQTBW.js} +3 -3
- package/dist/{cursor-iojRXHF9.js.map → cursor-CdjaQTBW.js.map} +1 -1
- package/dist/daemon-cli.d.ts +1 -1
- package/dist/daemon-cli.js +3 -2
- package/dist/daemon-cli.js.map +1 -1
- package/dist/daytona-DG3omipZ.js +513 -0
- package/dist/daytona-DG3omipZ.js.map +1 -0
- package/dist/defaults-Cx3zvDOV.js +23 -0
- package/dist/defaults-Cx3zvDOV.js.map +1 -0
- package/dist/dispatcher-BMlu2BmZ.js +4941 -0
- package/dist/dispatcher-BMlu2BmZ.js.map +1 -0
- package/dist/docker-BZhMMJUp.js +727 -0
- package/dist/docker-BZhMMJUp.js.map +1 -0
- package/dist/e2b-CEVOdRib.js +480 -0
- package/dist/e2b-CEVOdRib.js.map +1 -0
- package/dist/edit-utils-EGosADZq.js +234 -0
- package/dist/edit-utils-EGosADZq.js.map +1 -0
- package/dist/environment-8wsKE2Ln.js +214 -0
- package/dist/environment-8wsKE2Ln.js.map +1 -0
- package/dist/eval-BNcvle_J.js +1595 -0
- package/dist/eval-BNcvle_J.js.map +1 -0
- package/dist/eval.d.ts +2 -2
- package/dist/eval.js +1 -1489
- package/dist/executor-Cx5-8yqi.js +621 -0
- package/dist/executor-Cx5-8yqi.js.map +1 -0
- package/dist/extension-authoring-DyGGmq9V.js +385 -0
- package/dist/extension-authoring-DyGGmq9V.js.map +1 -0
- package/dist/extensions.d.ts +2 -2
- package/dist/extensions.js +3 -3
- package/dist/{fetch-url-DX75gpL0.js → fetch-url-Ct2TjDWt.js} +4 -4
- package/dist/{fetch-url-DX75gpL0.js.map → fetch-url-Ct2TjDWt.js.map} +1 -1
- package/dist/{format-BF745pLL.js → format-C2NQEVUH.js} +39 -2
- package/dist/format-C2NQEVUH.js.map +1 -0
- package/dist/format-bytes-C7tfc3Zm.js +55 -0
- package/dist/format-bytes-C7tfc3Zm.js.map +1 -0
- package/dist/headless-C_rNUuYC.js +960 -0
- package/dist/headless-C_rNUuYC.js.map +1 -0
- package/dist/headless.d.ts +1 -1
- package/dist/headless.js +1 -413
- package/dist/{history-search-C4bk1Wz_.js → history-search-CcYzF8-0.js} +7 -3
- package/dist/history-search-CcYzF8-0.js.map +1 -0
- package/dist/history-search-worker.d.ts +1 -1
- package/dist/history-search-worker.js +1 -1
- package/dist/host-D7NrI03V.js +378 -0
- package/dist/host-D7NrI03V.js.map +1 -0
- package/dist/host-signals-BcP5QKUD.js +118 -0
- package/dist/host-signals-BcP5QKUD.js.map +1 -0
- package/dist/identity-CwfO8K-t.js +26 -0
- package/dist/identity-CwfO8K-t.js.map +1 -0
- package/dist/{index-BgN1T3lk.d.ts → index-BGe1fQT7.d.ts} +10987 -9320
- package/dist/index-BGe1fQT7.d.ts.map +1 -0
- package/dist/index-BVQsIKGn.d.ts +448 -0
- package/dist/index-BVQsIKGn.d.ts.map +1 -0
- package/dist/{index-C6NEd5y_.d.ts → index-CHABJd-L.d.ts} +3386 -502
- package/dist/index-CHABJd-L.d.ts.map +1 -0
- package/dist/{index-C37_ppWv.d.ts → index-D6a7qXpg.d.ts} +2 -3
- package/dist/index-D6a7qXpg.d.ts.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +27 -23
- package/dist/{completion-core-BRo86R_L.js → inline-ghost-BVRQeGoL.js} +50 -2
- package/dist/inline-ghost-BVRQeGoL.js.map +1 -0
- package/dist/ipc/remote.d.ts +313 -0
- package/dist/ipc/remote.d.ts.map +1 -0
- package/dist/ipc/remote.js +4 -0
- package/dist/ipc.d.ts +6 -964
- package/dist/ipc.js +403 -4
- package/dist/ipc.js.map +1 -0
- package/dist/{isolation-Kfoof0MM.d.ts → isolation-D9L650W5.d.ts} +100 -15
- package/dist/isolation-D9L650W5.d.ts.map +1 -0
- package/dist/json-rpc--HXQti1E.js +350 -0
- package/dist/json-rpc--HXQti1E.js.map +1 -0
- package/dist/links-j8rED1sR.js +603 -0
- package/dist/links-j8rED1sR.js.map +1 -0
- package/dist/local-terminal-D8QThwo_.js +252 -0
- package/dist/local-terminal-D8QThwo_.js.map +1 -0
- package/dist/{logger--C1VQjwJ.js → logger-Gtqlayx8.js} +199 -173
- package/dist/logger-Gtqlayx8.js.map +1 -0
- package/dist/logs-view-CWG8aUAG.js.map +1 -1
- package/dist/{mcp-CgNd-f3F.js → mcp-_wecH9Qe.js} +608 -562
- package/dist/mcp-_wecH9Qe.js.map +1 -0
- package/dist/mcp.d.ts +2 -2
- package/dist/mcp.js +2 -2
- package/dist/media-sniff-UKijEaiQ.js.map +1 -1
- package/dist/{messages-2jcOA_5R.js → messages-BqiwcD2Q.js} +1017 -1014
- package/dist/messages-BqiwcD2Q.js.map +1 -0
- package/dist/{oauth-DxHO17JE.js → oauth-Px_pBB9W.js} +5 -5
- package/dist/{oauth-DxHO17JE.js.map → oauth-Px_pBB9W.js.map} +1 -1
- package/dist/{openai-compat-Dy56weK8.js → openai-compat-CFrpH7uq.js} +432 -589
- package/dist/openai-compat-CFrpH7uq.js.map +1 -0
- package/dist/orchestration-BCGmB8Ps.js +511 -0
- package/dist/orchestration-BCGmB8Ps.js.map +1 -0
- package/dist/output/stream-json.d.ts +1 -2
- package/dist/output/stream-json.d.ts.map +1 -1
- package/dist/output/stream-json.js +1 -1
- package/dist/output/terminal.d.ts +1 -2
- package/dist/output/terminal.d.ts.map +1 -1
- package/dist/output/terminal.js +13 -7
- package/dist/output/terminal.js.map +1 -1
- package/dist/{plugins-gbI7SBA6.js → plugins-DS7mahzZ.js} +20 -101
- package/dist/plugins-DS7mahzZ.js.map +1 -0
- package/dist/plugins.d.ts +1 -1
- package/dist/plugins.js +1 -2
- package/dist/prelude-Cxo4t74B.js +517 -0
- package/dist/prelude-Cxo4t74B.js.map +1 -0
- package/dist/presets.d.ts +1 -1
- package/dist/presets.js +1 -2
- package/dist/project-root-B8zADr4o.js +167 -0
- package/dist/project-root-B8zADr4o.js.map +1 -0
- package/dist/project-user-paths-BSgtrRxl.js +58 -0
- package/dist/project-user-paths-BSgtrRxl.js.map +1 -0
- package/dist/{prompts-Pqc3JdW_.d.ts → prompts-DYcvqShf.d.ts} +14 -11
- package/dist/prompts-DYcvqShf.d.ts.map +1 -0
- package/dist/protocol-DnhqqSmE.js +13 -0
- package/dist/protocol-DnhqqSmE.js.map +1 -0
- package/dist/providers/anthropic.d.ts +2 -2
- package/dist/providers/anthropic.js +1 -2
- package/dist/providers/arcee.d.ts +1 -1
- package/dist/providers/arcee.js +1 -1
- package/dist/providers/baseten.d.ts +1 -1
- package/dist/providers/baseten.js +1 -1
- package/dist/providers/cerebras.d.ts +1 -1
- package/dist/providers/cerebras.js +3 -2
- package/dist/providers/cerebras.js.map +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/local.js +1 -1
- package/dist/providers/openai-compat.d.ts +1 -1
- package/dist/providers/openai-compat.js +1 -2
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.js +15 -12
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter.d.ts +1 -1
- package/dist/providers/openrouter.js +3 -2
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/xai.d.ts +1 -1
- package/dist/providers/xai.js +3 -3
- package/dist/{providers-BVhnFyiY.js → providers-XUR7F4Hi.js} +4 -4
- package/dist/{providers-BVhnFyiY.js.map → providers-XUR7F4Hi.js.map} +1 -1
- package/dist/providers.d.ts +1 -1
- package/dist/providers.js +4 -4
- package/dist/registry-D6ShBWJU.js +5234 -0
- package/dist/registry-D6ShBWJU.js.map +1 -0
- package/dist/remote-hosts-BtA_9ZGp.js +97 -0
- package/dist/remote-hosts-BtA_9ZGp.js.map +1 -0
- package/dist/restate.d.ts +2 -3
- package/dist/restate.d.ts.map +1 -1
- package/dist/restate.js +631 -572
- package/dist/restate.js.map +1 -1
- package/dist/run-summary-CklLiZ4y.js +288 -0
- package/dist/run-summary-CklLiZ4y.js.map +1 -0
- package/dist/{sandbox-BH0WQkXn.d.ts → sandbox-C5dR5DwQ.d.ts} +6 -3
- package/dist/sandbox-C5dR5DwQ.d.ts.map +1 -0
- package/dist/session/sqlite.d.ts +1 -2
- package/dist/session/sqlite.d.ts.map +1 -1
- package/dist/session/sqlite.js +1 -616
- package/dist/session-factory-BUGY5P40.js +1576 -0
- package/dist/session-factory-BUGY5P40.js.map +1 -0
- package/dist/{session-BqRP1hS7.js → session-xh9JXu6i.js} +94 -52
- package/dist/session-xh9JXu6i.js.map +1 -0
- package/dist/session.d.ts +1 -1
- package/dist/session.js +2 -2
- package/dist/settings-keys-Ckf29NeM.js +677 -0
- package/dist/settings-keys-Ckf29NeM.js.map +1 -0
- package/dist/shell-path-Dqaoow2J.js +412 -0
- package/dist/shell-path-Dqaoow2J.js.map +1 -0
- package/dist/{skills-BC3dodWp.js → skills-DKqZJm4X.js} +430 -470
- package/dist/skills-DKqZJm4X.js.map +1 -0
- package/dist/skills.d.ts +2 -2
- package/dist/skills.js +1 -2
- package/dist/source-mPExaUm8.js +381 -0
- package/dist/source-mPExaUm8.js.map +1 -0
- package/dist/sqlite-DV1DQzN2.js +698 -0
- package/dist/sqlite-DV1DQzN2.js.map +1 -0
- package/dist/{src-CkNQKFKr.js → src-BRMYRJib.js} +903 -1121
- package/dist/src-BRMYRJib.js.map +1 -0
- package/dist/{stdio-DPpBDPx5.js → stdio-C6YyoW3I.js} +4 -4
- package/dist/{stdio-DPpBDPx5.js.map → stdio-C6YyoW3I.js.map} +1 -1
- package/dist/{stdio-loader-Bbx19dMZ.js → stdio-loader-C830Vg-Z.js} +4 -4
- package/dist/{stdio-loader-Bbx19dMZ.js.map → stdio-loader-C830Vg-Z.js.map} +1 -1
- package/dist/system-prompt-MNVHatSD.d.ts.map +1 -1
- package/dist/timeout-DEaqslLO.d.ts.map +1 -1
- package/dist/todo-edits-Dn251YUP.js +1790 -0
- package/dist/todo-edits-Dn251YUP.js.map +1 -0
- package/dist/{turn-operations-DrbJlpq9.js → tool-formatters-IQFDrdrs.js} +1456 -2120
- package/dist/tool-formatters-IQFDrdrs.js.map +1 -0
- package/dist/tool-state-Dku6YqAB.js +989 -0
- package/dist/tool-state-Dku6YqAB.js.map +1 -0
- package/dist/tools/fetch-url.d.ts +1 -2
- package/dist/tools/fetch-url.d.ts.map +1 -1
- package/dist/tools/fetch-url.js +1 -2
- package/dist/tools/prompts.d.ts +1 -1
- package/dist/tools/prompts.js +7 -7
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/web-search.d.ts +1 -2
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +2 -2
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools-_DnT3AGM.js +578 -0
- package/dist/tools-_DnT3AGM.js.map +1 -0
- package/dist/tools.d.ts +3 -3
- package/dist/tools.js +4 -2
- package/dist/tui.d.ts +534 -517
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +34933 -27243
- package/dist/tui.js.map +1 -1
- package/dist/turn-operations-B8sokwi5.js +333 -0
- package/dist/turn-operations-B8sokwi5.js.map +1 -0
- package/dist/turn-operations-DQX5ZZni.d.ts +3089 -0
- package/dist/turn-operations-DQX5ZZni.d.ts.map +1 -0
- package/dist/types-C7ZFOztE.d.ts +132 -0
- package/dist/types-C7ZFOztE.d.ts.map +1 -0
- package/dist/types-CH5XpIHw.js +114 -0
- package/dist/types-CH5XpIHw.js.map +1 -0
- package/dist/{types-CWgENVLY.js → types-Cu0ZGDu9.js} +10 -6
- package/dist/types-Cu0ZGDu9.js.map +1 -0
- package/dist/types-IqegbJEE.d.ts +624 -0
- package/dist/types-IqegbJEE.d.ts.map +1 -0
- package/dist/types.d.ts +4 -4
- package/dist/types.js +1 -1
- package/dist/url-D8HCl65b.js +1259 -0
- package/dist/url-D8HCl65b.js.map +1 -0
- package/dist/wasm-BVT-j5cl.js +33 -0
- package/dist/wasm-BVT-j5cl.js.map +1 -0
- package/dist/workspace-exec-stream-SV2R9d5S.js +355 -0
- package/dist/workspace-exec-stream-SV2R9d5S.js.map +1 -0
- package/dist/ws-CIHMvlSh.js +952 -0
- package/dist/ws-CIHMvlSh.js.map +1 -0
- package/dist/ws-client-N7NxzvQp.js +230 -0
- package/dist/ws-client-N7NxzvQp.js.map +1 -0
- package/dist/{xai-CazjStOK.js → xai-CvJTeLrI.js} +165 -5
- package/dist/xai-CvJTeLrI.js.map +1 -0
- package/dist/xdg-zweed0-t.js +117 -0
- package/dist/xdg-zweed0-t.js.map +1 -0
- package/docs/ACP.md +52 -0
- package/docs/ARCHITECTURE.md +103 -6
- package/docs/ARTIFACTS.md +8 -4
- package/docs/CHAT.md +165 -14
- package/docs/EXECUTION_CONTEXT.md +8 -0
- package/docs/EXTENSIONS.md +123 -2
- package/docs/HEADLESS.md +2 -0
- package/docs/IPC.md +775 -64
- package/docs/MACHINES.md +456 -0
- package/docs/PANELS.md +3 -0
- package/docs/README.md +4 -0
- package/docs/RESTATE.md +3 -2
- package/docs/RUN_IN_BACKGROUND.md +10 -2
- package/docs/SERVER.md +1085 -0
- package/docs/SKILL.md +6 -1
- package/docs/TERMINAL.md +75 -0
- package/docs/TUI.md +65 -14
- package/package.json +58 -26
- package/scripts/eval.ts +4 -0
- package/dist/acp-D-tVyUjw.js.map +0 -1
- package/dist/agent-D0zZnGbt.js.map +0 -1
- package/dist/anthropic-C2aole0G.js.map +0 -1
- package/dist/approvals-DKaJZYlm.js.map +0 -1
- package/dist/atomic-write-B7zr1ddF.js.map +0 -1
- package/dist/auth-BG2rVKSt.js.map +0 -1
- package/dist/completion-core-BRo86R_L.js.map +0 -1
- package/dist/contexts/daytona.js.map +0 -1
- package/dist/contexts/docker.js.map +0 -1
- package/dist/contexts/e2b.js.map +0 -1
- package/dist/contexts-CRE9pw07.js.map +0 -1
- package/dist/eval.js.map +0 -1
- package/dist/format-BF745pLL.js.map +0 -1
- package/dist/glob-DluQFSw1.js +0 -270
- package/dist/glob-DluQFSw1.js.map +0 -1
- package/dist/headless.js.map +0 -1
- package/dist/history-search-C4bk1Wz_.js.map +0 -1
- package/dist/index-BgN1T3lk.d.ts.map +0 -1
- package/dist/index-C37_ppWv.d.ts.map +0 -1
- package/dist/index-C6NEd5y_.d.ts.map +0 -1
- package/dist/ipc-BKVIIOqH.js +0 -331
- package/dist/ipc-BKVIIOqH.js.map +0 -1
- package/dist/ipc.d.ts.map +0 -1
- package/dist/isolation-Kfoof0MM.d.ts.map +0 -1
- package/dist/json-rpc-rSWMUh9b.js +0 -192
- package/dist/json-rpc-rSWMUh9b.js.map +0 -1
- package/dist/logger--C1VQjwJ.js.map +0 -1
- package/dist/mcp-CgNd-f3F.js.map +0 -1
- package/dist/messages-2jcOA_5R.js.map +0 -1
- package/dist/openai-compat-Dy56weK8.js.map +0 -1
- package/dist/output-cap-C9zukcCj.js +0 -100
- package/dist/output-cap-C9zukcCj.js.map +0 -1
- package/dist/panels-B6gRk4bf.js +0 -789
- package/dist/panels-B6gRk4bf.js.map +0 -1
- package/dist/plugins-gbI7SBA6.js.map +0 -1
- package/dist/prompts-Pqc3JdW_.d.ts.map +0 -1
- package/dist/run-summary-BU_NgwUT.js +0 -269
- package/dist/run-summary-BU_NgwUT.js.map +0 -1
- package/dist/sandbox-BH0WQkXn.d.ts.map +0 -1
- package/dist/session/sqlite.js.map +0 -1
- package/dist/session-BqRP1hS7.js.map +0 -1
- package/dist/shell-path-DfdXrGg9.js +0 -1549
- package/dist/shell-path-DfdXrGg9.js.map +0 -1
- package/dist/skills-BC3dodWp.js.map +0 -1
- package/dist/src-CkNQKFKr.js.map +0 -1
- package/dist/todo-edits-UOwgxGKu.js +0 -528
- package/dist/todo-edits-UOwgxGKu.js.map +0 -1
- package/dist/tool-formatters-DoRLnfuD.d.ts +0 -759
- package/dist/tool-formatters-DoRLnfuD.d.ts.map +0 -1
- package/dist/transcript-anchors-BeudMbXx.d.ts +0 -1762
- package/dist/transcript-anchors-BeudMbXx.d.ts.map +0 -1
- package/dist/turn-operations-C8bMBDl_.d.ts +0 -1258
- package/dist/turn-operations-C8bMBDl_.d.ts.map +0 -1
- package/dist/turn-operations-DrbJlpq9.js.map +0 -1
- package/dist/types-CWgENVLY.js.map +0 -1
- package/dist/xai-CazjStOK.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-operations-DQX5ZZni.d.ts","names":["StoredSession"],"sources":["../src/chat/color-gradient.ts","../src/chat/completion-chats.ts","../src/chat/completion-commands.ts","../src/chat/files-discovery.ts","../src/chat/completion-files.ts","../src/chat/completion-skills.ts","../src/chat/keybinding-spec.ts","../src/chat/turn-selection.ts","../src/chat/cred-keys.ts","../src/chat/daemon-health.ts","../src/chat/safe-mode-context.tsx","../src/chat/edit-approval.ts","../src/tools/edit-utils.ts","../src/chat/edit-diff.ts","../src/chat/feature-gate.ts","../src/chat/footer-chips.ts","../src/chat/history-search.ts","../src/chat/browser/protocol.ts","../src/chat/machine-protocol.ts","../src/chat/terminal/protocol.ts","../src/chat/todo-glyphs.ts","../src/chat/todos.ts","../src/chat/hosts/types.ts","../src/chat/hosts/url.ts","../src/chat/markdown-segments.ts","../src/chat/mcp-allowlist.ts","../src/chat/mcp-auth-state.ts","../src/chat/mcp-test-outcome.ts","../src/chat/model-catalog.ts","../src/chat/model-lineup.ts","../src/chat/prompt-segments.ts","../src/chat/provider-usage-format.ts","../src/chat/settings-defaults.ts","../src/chat/spawn-tree.ts","../src/chat/streaming-pure.ts","../src/chat/tool-formatters.ts","../src/chat/turn-operations.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
//#region src/chat/sync/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Settings sync, this computer → a server (one-way, opt-in): the shapes both
|
|
4
|
+
* sides share. Node-free, re-exported from `zidane/chat/pure` for the GUI
|
|
5
|
+
* renderer.
|
|
6
|
+
*
|
|
7
|
+
* A server keeps one sync record (`<dataDir>/sync.json`): the device that
|
|
8
|
+
* syncs to it (one source per server), the categories that device sends,
|
|
9
|
+
* the fields it set ("synced from <device>") and the fields edited on the
|
|
10
|
+
* server since (overrides, which sync leaves alone until reset). The client
|
|
11
|
+
* keeps, per saved server, a mode, the categories, the API keys it opted in
|
|
12
|
+
* and the categories still to push (`hosts-sync.json`).
|
|
13
|
+
*
|
|
14
|
+
* Fields are named `<kind>:<name>`: `setting:safeMode`, `safelist:/srv/app`,
|
|
15
|
+
* `system-md`, `skill:deploy`, `mcp:github`, `extension:greeter`,
|
|
16
|
+
* `key:anthropic`.
|
|
17
|
+
*/
|
|
18
|
+
type SyncCategory = 'settings' | 'safelists' | 'files' | 'mcps' | 'extensions' | 'keys';
|
|
19
|
+
/** In the order the UIs list them. */
|
|
20
|
+
declare const SYNC_CATEGORIES: readonly SyncCategory[];
|
|
21
|
+
/** What each category is called and carries, for both UIs. */
|
|
22
|
+
declare const SYNC_CATEGORY_INFO: Readonly<Record<SyncCategory, {
|
|
23
|
+
label: string;
|
|
24
|
+
description: string;
|
|
25
|
+
}>>;
|
|
26
|
+
/** Off (default) · Import once (a snapshot now) · Keep in sync (changes pushed as they happen). */
|
|
27
|
+
type SyncMode = 'off' | 'once' | 'keep';
|
|
28
|
+
declare const SYNC_MODES: readonly SyncMode[];
|
|
29
|
+
declare const SYNC_MODE_LABEL: Readonly<Record<SyncMode, string>>;
|
|
30
|
+
/** Shown with the MCP category: OAuth tokens stay where they were made. */
|
|
31
|
+
declare const MCP_OAUTH_NOTE = "MCP sign-ins (OAuth tokens) never sync: they are bound to the device. Sign in on the server from this window (MCP servers tab, on the server).";
|
|
32
|
+
/** When a server last received a push, as the sync status line says it: `12s ago`, `5 min ago`, then a date. */
|
|
33
|
+
declare function syncAgo(at: number | undefined, now?: number): string;
|
|
34
|
+
declare const settingField: (key: string) => string;
|
|
35
|
+
declare const SYSTEM_MD_FIELD = "system-md";
|
|
36
|
+
/** The category a field belongs to. */
|
|
37
|
+
declare function fieldCategory(field: string): SyncCategory | undefined;
|
|
38
|
+
/** The setting a field names, if it is one. */
|
|
39
|
+
declare function settingOfField(field: string): string | undefined;
|
|
40
|
+
/** One file of a skill, relative to its folder; `data` is base64. */
|
|
41
|
+
interface SyncFile {
|
|
42
|
+
path: string;
|
|
43
|
+
data: string;
|
|
44
|
+
}
|
|
45
|
+
/** What `sync.push` carries for each category: a full snapshot of it on this computer. */
|
|
46
|
+
interface SyncPayloads {
|
|
47
|
+
settings: {
|
|
48
|
+
values: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
/** Client project path → its safelist entries. */
|
|
51
|
+
safelists: {
|
|
52
|
+
projects: Record<string, string[]>;
|
|
53
|
+
};
|
|
54
|
+
/** `systemMd: null`: this computer has none. */
|
|
55
|
+
files: {
|
|
56
|
+
systemMd: string | null;
|
|
57
|
+
skills: {
|
|
58
|
+
name: string;
|
|
59
|
+
files: SyncFile[];
|
|
60
|
+
}[];
|
|
61
|
+
};
|
|
62
|
+
mcps: {
|
|
63
|
+
servers: Record<string, unknown>[];
|
|
64
|
+
};
|
|
65
|
+
/** Installable from a source only (`spec`: npm / GitHub). */
|
|
66
|
+
extensions: {
|
|
67
|
+
extensions: {
|
|
68
|
+
name: string;
|
|
69
|
+
spec: string;
|
|
70
|
+
extension?: string;
|
|
71
|
+
}[];
|
|
72
|
+
};
|
|
73
|
+
/** Only the providers opted in. */
|
|
74
|
+
keys: {
|
|
75
|
+
keys: {
|
|
76
|
+
provider: string;
|
|
77
|
+
key: string;
|
|
78
|
+
}[];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
type SyncPayload = SyncPayloads[SyncCategory];
|
|
82
|
+
/** The device a server takes its sync from. */
|
|
83
|
+
interface SyncSource {
|
|
84
|
+
deviceId: string;
|
|
85
|
+
deviceName: string;
|
|
86
|
+
claimedAt: number;
|
|
87
|
+
/** The token that claimed it (a zidane-server's token id). */
|
|
88
|
+
tokenId?: string;
|
|
89
|
+
}
|
|
90
|
+
/** `sync.status`: the server's record, no values. */
|
|
91
|
+
interface SyncStatus {
|
|
92
|
+
source: SyncSource | null;
|
|
93
|
+
categories: SyncCategory[];
|
|
94
|
+
/** Providers whose API key the source opted in. */
|
|
95
|
+
keys: string[];
|
|
96
|
+
/** Fields the source set: field → when. */
|
|
97
|
+
fields: Record<string, {
|
|
98
|
+
category: SyncCategory;
|
|
99
|
+
syncedAt: number;
|
|
100
|
+
}>;
|
|
101
|
+
/** Fields edited on the server since: sync leaves them alone until `sync.reset`. */
|
|
102
|
+
overrides: Record<string, {
|
|
103
|
+
at: number;
|
|
104
|
+
}>;
|
|
105
|
+
lastPushAt?: number;
|
|
106
|
+
}
|
|
107
|
+
/** `sync.push`: what happened to each field of the snapshot. */
|
|
108
|
+
interface SyncPushResult {
|
|
109
|
+
applied: string[];
|
|
110
|
+
unchanged: string[];
|
|
111
|
+
skipped: {
|
|
112
|
+
field: string;
|
|
113
|
+
reason: string;
|
|
114
|
+
}[];
|
|
115
|
+
warnings: {
|
|
116
|
+
field: string;
|
|
117
|
+
message: string;
|
|
118
|
+
}[];
|
|
119
|
+
}
|
|
120
|
+
/** `sync.claim`: claimed, or another device is the source (`status.source`). */
|
|
121
|
+
interface SyncClaimResult {
|
|
122
|
+
claimed: boolean;
|
|
123
|
+
status: SyncStatus;
|
|
124
|
+
}
|
|
125
|
+
/** The marker a server's settings UI shows next to a setting, if any. */
|
|
126
|
+
declare function syncMarkerOf(status: SyncStatus | null | undefined, field: string): {
|
|
127
|
+
kind: 'synced' | 'override';
|
|
128
|
+
device: string;
|
|
129
|
+
} | null;
|
|
130
|
+
//#endregion
|
|
131
|
+
export { syncAgo as _, SYNC_MODE_LABEL as a, SyncClaimResult as c, SyncPushResult as d, SyncSource as f, settingOfField as g, settingField as h, SYNC_MODES as i, SyncMode as l, fieldCategory as m, SYNC_CATEGORIES as n, SYSTEM_MD_FIELD as o, SyncStatus as p, SYNC_CATEGORY_INFO as r, SyncCategory as s, MCP_OAUTH_NOTE as t, SyncPayload as u, syncMarkerOf as v };
|
|
132
|
+
//# sourceMappingURL=types-C7ZFOztE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-C7ZFOztE.d.ts","names":[],"sources":["../src/chat/sync/types.ts"],"mappings":";;;;;;;;;;;;;;;;;KAgBY;;cAGC,0BAA0B;;cAG1B,oBAAoB,SAAS,OAAO;EAAgB;EAAe;;;KAUpE;cAEC,qBAAqB;cAErB,iBAAiB,SAAS,OAAO;;cAOjC;;iBAGG,QAAQ,wBAAwB;cAOnC,eAAgB;cAChB;;iBAGG,cAAc,gBAAgB;;iBAiB9B,eAAe;;UAKd;EACf;EACA;;;UAIe;EACf;IAAY,QAAQ;;;EAEpB;IAAa,UAAU;;;EAEvB;IAAS;IAAyB;MAAU;MAAc,OAAO;;;EACjE;IAAQ,SAAS;;;EAEjB;IAAc;MAAc;MAAc;MAAc;;;;EAExD;IAAQ;MAAQ;MAAkB;;;;KAGxB,cAAc,aAAa;;UAGtB;EACf;EACA;EACA;;EAEA;;;UAIe;EACf,QAAQ;EACR,YAAY;;EAEZ;;EAEA,QAAQ;IAAiB,UAAU;IAAc;;;EAEjD,WAAW;IAAiB;;EAC5B;;;UAIe;EACf;EACA;EACA;IAAW;IAAe;;EAC1B;IAAY;IAAe;;;;UAIZ;EACf;EACA,QAAQ;;;iBAIM,aAAa,QAAQ,+BAA+B;EAAkB;EAA6B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
//#region src/chat/hosts/connection.ts
|
|
2
|
+
/** This computer's key in every host directory (the in-process host, the embedded one, or the daemon). */
|
|
3
|
+
const LOCAL_HOST_KEY = "local";
|
|
4
|
+
/** This computer's label in lists and pickers. */
|
|
5
|
+
const LOCAL_HOST_NAME = "This computer";
|
|
6
|
+
/**
|
|
7
|
+
* A saved host's URL answered with another host id (reinstalled, or the
|
|
8
|
+
* name now points elsewhere). The connection is closed before anything is
|
|
9
|
+
* read from it, and nothing is recorded under the saved id.
|
|
10
|
+
*/
|
|
11
|
+
var HostIdentityError = class extends Error {
|
|
12
|
+
url;
|
|
13
|
+
answeredBy;
|
|
14
|
+
constructor(url, answeredBy) {
|
|
15
|
+
super(`A different server${answeredBy ? ` ("${answeredBy}")` : ""} answers at ${url}: remove this host and add it again if the server was reinstalled.`);
|
|
16
|
+
this.url = url;
|
|
17
|
+
this.answeredBy = answeredBy;
|
|
18
|
+
this.name = "HostIdentityError";
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/** JSON-RPC "method not found": the host predates an additive method. */
|
|
22
|
+
const METHOD_NOT_FOUND = -32601;
|
|
23
|
+
/** The host predates the method (`models.list`, `catalog.*`, …): callers degrade, never fail. */
|
|
24
|
+
function isMethodNotFound(err) {
|
|
25
|
+
return typeof err === "object" && err !== null && err.code === METHOD_NOT_FOUND;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/chat/sync/types.ts
|
|
29
|
+
/** In the order the UIs list them. */
|
|
30
|
+
const SYNC_CATEGORIES = [
|
|
31
|
+
"settings",
|
|
32
|
+
"safelists",
|
|
33
|
+
"files",
|
|
34
|
+
"mcps",
|
|
35
|
+
"extensions",
|
|
36
|
+
"keys"
|
|
37
|
+
];
|
|
38
|
+
/** What each category is called and carries, for both UIs. */
|
|
39
|
+
const SYNC_CATEGORY_INFO = {
|
|
40
|
+
settings: {
|
|
41
|
+
label: "Agent settings",
|
|
42
|
+
description: "Safe mode, run limits, compaction, interaction mode, subagent models… (never the window's own settings)."
|
|
43
|
+
},
|
|
44
|
+
safelists: {
|
|
45
|
+
label: "Safe-mode allowlists",
|
|
46
|
+
description: "Per project, for the projects the server also has (matched by path, then folder name); others are skipped."
|
|
47
|
+
},
|
|
48
|
+
files: {
|
|
49
|
+
label: "SYSTEM.md and user skills",
|
|
50
|
+
description: "Your user-scope SYSTEM.md and skills, copied as files."
|
|
51
|
+
},
|
|
52
|
+
mcps: {
|
|
53
|
+
label: "MCP servers (user scope)",
|
|
54
|
+
description: "URL servers sync cleanly; a stdio server is flagged when its command is not on the server. Their env and headers are copied too."
|
|
55
|
+
},
|
|
56
|
+
extensions: {
|
|
57
|
+
label: "Extensions",
|
|
58
|
+
description: "Those installed from npm or GitHub are installed on the server (needs its allowRemoteInstalls); local ones are not syncable."
|
|
59
|
+
},
|
|
60
|
+
keys: {
|
|
61
|
+
label: "Provider API keys",
|
|
62
|
+
description: "Copies secrets to another machine. Off by default; each key is opted in on its own."
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const SYNC_MODES = [
|
|
66
|
+
"off",
|
|
67
|
+
"once",
|
|
68
|
+
"keep"
|
|
69
|
+
];
|
|
70
|
+
const SYNC_MODE_LABEL = {
|
|
71
|
+
off: "Off",
|
|
72
|
+
once: "Import once",
|
|
73
|
+
keep: "Keep in sync"
|
|
74
|
+
};
|
|
75
|
+
/** Shown with the MCP category: OAuth tokens stay where they were made. */
|
|
76
|
+
const MCP_OAUTH_NOTE = "MCP sign-ins (OAuth tokens) never sync: they are bound to the device. Sign in on the server from this window (MCP servers tab, on the server).";
|
|
77
|
+
/** When a server last received a push, as the sync status line says it: `12s ago`, `5 min ago`, then a date. */
|
|
78
|
+
function syncAgo(at, now = Date.now()) {
|
|
79
|
+
if (at === void 0) return "never";
|
|
80
|
+
const s = Math.max(0, Math.round((now - at) / 1e3));
|
|
81
|
+
return s < 60 ? `${s}s ago` : s < 3600 ? `${Math.round(s / 60)} min ago` : new Date(at).toLocaleString();
|
|
82
|
+
}
|
|
83
|
+
const settingField = (key) => `setting:${key}`;
|
|
84
|
+
const SYSTEM_MD_FIELD = "system-md";
|
|
85
|
+
/** The category a field belongs to. */
|
|
86
|
+
function fieldCategory(field) {
|
|
87
|
+
if (field.startsWith("setting:")) return "settings";
|
|
88
|
+
if (field.startsWith("safelist:")) return "safelists";
|
|
89
|
+
if (field === "system-md" || field.startsWith("skill:")) return "files";
|
|
90
|
+
if (field.startsWith("mcp:")) return "mcps";
|
|
91
|
+
if (field.startsWith("extension:")) return "extensions";
|
|
92
|
+
if (field.startsWith("key:")) return "keys";
|
|
93
|
+
}
|
|
94
|
+
/** The setting a field names, if it is one. */
|
|
95
|
+
function settingOfField(field) {
|
|
96
|
+
return field.startsWith("setting:") ? field.slice(8) : void 0;
|
|
97
|
+
}
|
|
98
|
+
/** The marker a server's settings UI shows next to a setting, if any. */
|
|
99
|
+
function syncMarkerOf(status, field) {
|
|
100
|
+
if (!status?.source) return null;
|
|
101
|
+
if (status.overrides[field]) return {
|
|
102
|
+
kind: "override",
|
|
103
|
+
device: status.source.deviceName
|
|
104
|
+
};
|
|
105
|
+
if (status.fields[field]) return {
|
|
106
|
+
kind: "synced",
|
|
107
|
+
device: status.source.deviceName
|
|
108
|
+
};
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { SYNC_MODE_LABEL as a, settingField as c, syncMarkerOf as d, HostIdentityError as f, isMethodNotFound as g, METHOD_NOT_FOUND as h, SYNC_MODES as i, settingOfField as l, LOCAL_HOST_NAME as m, SYNC_CATEGORIES as n, SYSTEM_MD_FIELD as o, LOCAL_HOST_KEY as p, SYNC_CATEGORY_INFO as r, fieldCategory as s, MCP_OAUTH_NOTE as t, syncAgo as u };
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=types-CH5XpIHw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CH5XpIHw.js","names":[],"sources":["../src/chat/hosts/connection.ts","../src/chat/sync/types.ts"],"sourcesContent":["/**\n * What every client (TUI, GUI) says about the hosts it talks to, as data:\n * This computer's key and label, the connection statuses, the JSON-RPC\n * \"method not found\" check. Node-free, re-exported from `zidane/chat/pure`.\n */\nimport { AcpErrorCode } from '../../acp/types'\n\n/** This computer's key in every host directory (the in-process host, the embedded one, or the daemon). */\nexport const LOCAL_HOST_KEY = 'local'\n\n/** This computer's label in lists and pickers. */\nexport const LOCAL_HOST_NAME = 'This computer'\n\n/**\n * `auth-refused`: the server turned the token down (401/403); `identity`: a\n * different server answers at a saved host's URL. Neither retries until\n * something changes.\n */\nexport type HostConnectionStatus = 'connecting' | 'connected' | 'reconnecting' | 'offline' | 'auth-refused' | 'identity'\n\n/**\n * A saved host's URL answered with another host id (reinstalled, or the\n * name now points elsewhere). The connection is closed before anything is\n * read from it, and nothing is recorded under the saved id.\n */\nexport class HostIdentityError extends Error {\n constructor(readonly url: string, readonly answeredBy?: string) {\n super(`A different server${answeredBy ? ` (\"${answeredBy}\")` : ''} answers at ${url}: remove this host and add it again if the server was reinstalled.`)\n this.name = 'HostIdentityError'\n }\n}\n\n/** JSON-RPC \"method not found\": the host predates an additive method. */\nexport const METHOD_NOT_FOUND: number = AcpErrorCode.MethodNotFound\n\n/** The host predates the method (`models.list`, `catalog.*`, …): callers degrade, never fail. */\nexport function isMethodNotFound(err: unknown): boolean {\n return typeof err === 'object' && err !== null && (err as { code?: unknown }).code === METHOD_NOT_FOUND\n}\n","/**\n * Settings sync, this computer → a server (one-way, opt-in): the shapes both\n * sides share. Node-free, re-exported from `zidane/chat/pure` for the GUI\n * renderer.\n *\n * A server keeps one sync record (`<dataDir>/sync.json`): the device that\n * syncs to it (one source per server), the categories that device sends,\n * the fields it set (\"synced from <device>\") and the fields edited on the\n * server since (overrides, which sync leaves alone until reset). The client\n * keeps, per saved server, a mode, the categories, the API keys it opted in\n * and the categories still to push (`hosts-sync.json`).\n *\n * Fields are named `<kind>:<name>`: `setting:safeMode`, `safelist:/srv/app`,\n * `system-md`, `skill:deploy`, `mcp:github`, `extension:greeter`,\n * `key:anthropic`.\n */\nexport type SyncCategory = 'settings' | 'safelists' | 'files' | 'mcps' | 'extensions' | 'keys'\n\n/** In the order the UIs list them. */\nexport const SYNC_CATEGORIES: readonly SyncCategory[] = ['settings', 'safelists', 'files', 'mcps', 'extensions', 'keys']\n\n/** What each category is called and carries, for both UIs. */\nexport const SYNC_CATEGORY_INFO: Readonly<Record<SyncCategory, { label: string, description: string }>> = {\n settings: { label: 'Agent settings', description: 'Safe mode, run limits, compaction, interaction mode, subagent models… (never the window\\'s own settings).' },\n safelists: { label: 'Safe-mode allowlists', description: 'Per project, for the projects the server also has (matched by path, then folder name); others are skipped.' },\n files: { label: 'SYSTEM.md and user skills', description: 'Your user-scope SYSTEM.md and skills, copied as files.' },\n mcps: { label: 'MCP servers (user scope)', description: 'URL servers sync cleanly; a stdio server is flagged when its command is not on the server. Their env and headers are copied too.' },\n extensions: { label: 'Extensions', description: 'Those installed from npm or GitHub are installed on the server (needs its allowRemoteInstalls); local ones are not syncable.' },\n keys: { label: 'Provider API keys', description: 'Copies secrets to another machine. Off by default; each key is opted in on its own.' },\n}\n\n/** Off (default) · Import once (a snapshot now) · Keep in sync (changes pushed as they happen). */\nexport type SyncMode = 'off' | 'once' | 'keep'\n\nexport const SYNC_MODES: readonly SyncMode[] = ['off', 'once', 'keep']\n\nexport const SYNC_MODE_LABEL: Readonly<Record<SyncMode, string>> = {\n off: 'Off',\n once: 'Import once',\n keep: 'Keep in sync',\n}\n\n/** Shown with the MCP category: OAuth tokens stay where they were made. */\nexport const MCP_OAUTH_NOTE = 'MCP sign-ins (OAuth tokens) never sync: they are bound to the device. Sign in on the server from this window (MCP servers tab, on the server).'\n\n/** When a server last received a push, as the sync status line says it: `12s ago`, `5 min ago`, then a date. */\nexport function syncAgo(at: number | undefined, now: number = Date.now()): string {\n if (at === undefined)\n return 'never'\n const s = Math.max(0, Math.round((now - at) / 1000))\n return s < 60 ? `${s}s ago` : s < 3600 ? `${Math.round(s / 60)} min ago` : new Date(at).toLocaleString()\n}\n\nexport const settingField = (key: string): string => `setting:${key}`\nexport const SYSTEM_MD_FIELD = 'system-md'\n\n/** The category a field belongs to. */\nexport function fieldCategory(field: string): SyncCategory | undefined {\n if (field.startsWith('setting:'))\n return 'settings'\n if (field.startsWith('safelist:'))\n return 'safelists'\n if (field === SYSTEM_MD_FIELD || field.startsWith('skill:'))\n return 'files'\n if (field.startsWith('mcp:'))\n return 'mcps'\n if (field.startsWith('extension:'))\n return 'extensions'\n if (field.startsWith('key:'))\n return 'keys'\n return undefined\n}\n\n/** The setting a field names, if it is one. */\nexport function settingOfField(field: string): string | undefined {\n return field.startsWith('setting:') ? field.slice('setting:'.length) : undefined\n}\n\n/** One file of a skill, relative to its folder; `data` is base64. */\nexport interface SyncFile {\n path: string\n data: string\n}\n\n/** What `sync.push` carries for each category: a full snapshot of it on this computer. */\nexport interface SyncPayloads {\n settings: { values: Record<string, unknown> }\n /** Client project path → its safelist entries. */\n safelists: { projects: Record<string, string[]> }\n /** `systemMd: null`: this computer has none. */\n files: { systemMd: string | null, skills: { name: string, files: SyncFile[] }[] }\n mcps: { servers: Record<string, unknown>[] }\n /** Installable from a source only (`spec`: npm / GitHub). */\n extensions: { extensions: { name: string, spec: string, extension?: string }[] }\n /** Only the providers opted in. */\n keys: { keys: { provider: string, key: string }[] }\n}\n\nexport type SyncPayload = SyncPayloads[SyncCategory]\n\n/** The device a server takes its sync from. */\nexport interface SyncSource {\n deviceId: string\n deviceName: string\n claimedAt: number\n /** The token that claimed it (a zidane-server's token id). */\n tokenId?: string\n}\n\n/** `sync.status`: the server's record, no values. */\nexport interface SyncStatus {\n source: SyncSource | null\n categories: SyncCategory[]\n /** Providers whose API key the source opted in. */\n keys: string[]\n /** Fields the source set: field → when. */\n fields: Record<string, { category: SyncCategory, syncedAt: number }>\n /** Fields edited on the server since: sync leaves them alone until `sync.reset`. */\n overrides: Record<string, { at: number }>\n lastPushAt?: number\n}\n\n/** `sync.push`: what happened to each field of the snapshot. */\nexport interface SyncPushResult {\n applied: string[]\n unchanged: string[]\n skipped: { field: string, reason: string }[]\n warnings: { field: string, message: string }[]\n}\n\n/** `sync.claim`: claimed, or another device is the source (`status.source`). */\nexport interface SyncClaimResult {\n claimed: boolean\n status: SyncStatus\n}\n\n/** The marker a server's settings UI shows next to a setting, if any. */\nexport function syncMarkerOf(status: SyncStatus | null | undefined, field: string): { kind: 'synced' | 'override', device: string } | null {\n if (!status?.source)\n return null\n if (status.overrides[field])\n return { kind: 'override', device: status.source.deviceName }\n if (status.fields[field])\n return { kind: 'synced', device: status.source.deviceName }\n return null\n}\n"],"mappings":";;AAQA,MAAa,iBAAiB;;AAG9B,MAAa,kBAAkB;;;;;;AAc/B,IAAa,oBAAb,cAAuC,MAAM;CACtB;CAAsB;CAA3C,YAAY,KAAsB,YAA8B;EAC9D,MAAM,qBAAqB,aAAa,MAAM,WAAW,MAAM,GAAG,cAAc,IAAI,mEAAmE;EADpI,KAAA,MAAA;EAAsB,KAAA,aAAA;EAEzC,KAAK,OAAO;CACd;AACF;;AAGA,MAAa,mBAAA;;AAGb,SAAgB,iBAAiB,KAAuB;CACtD,OAAO,OAAO,QAAQ,YAAY,QAAQ,QAAS,IAA2B,SAAS;AACzF;;;;ACnBA,MAAa,kBAA2C;CAAC;CAAY;CAAa;CAAS;CAAQ;CAAc;AAAM;;AAGvH,MAAa,qBAA6F;CACxG,UAAU;EAAE,OAAO;EAAkB,aAAa;CAA4G;CAC9J,WAAW;EAAE,OAAO;EAAwB,aAAa;CAA6G;CACtK,OAAO;EAAE,OAAO;EAA6B,aAAa;CAAyD;CACnH,MAAM;EAAE,OAAO;EAA4B,aAAa;CAAmI;CAC3L,YAAY;EAAE,OAAO;EAAc,aAAa;CAA+H;CAC/K,MAAM;EAAE,OAAO;EAAqB,aAAa;CAAsF;AACzI;AAKA,MAAa,aAAkC;CAAC;CAAO;CAAQ;AAAM;AAErE,MAAa,kBAAsD;CACjE,KAAK;CACL,MAAM;CACN,MAAM;AACR;;AAGA,MAAa,iBAAiB;;AAG9B,SAAgB,QAAQ,IAAwB,MAAc,KAAK,IAAI,GAAW;CAChF,IAAI,OAAO,KAAA,GACT,OAAO;CACT,MAAM,IAAI,KAAK,IAAI,GAAG,KAAK,OAAO,MAAM,MAAM,GAAI,CAAC;CACnD,OAAO,IAAI,KAAK,GAAG,EAAE,SAAS,IAAI,OAAO,GAAG,KAAK,MAAM,IAAI,EAAE,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC,eAAe;AACzG;AAEA,MAAa,gBAAgB,QAAwB,WAAW;AAChE,MAAa,kBAAkB;;AAG/B,SAAgB,cAAc,OAAyC;CACrE,IAAI,MAAM,WAAW,UAAU,GAC7B,OAAO;CACT,IAAI,MAAM,WAAW,WAAW,GAC9B,OAAO;CACT,IAAI,UAAA,eAA6B,MAAM,WAAW,QAAQ,GACxD,OAAO;CACT,IAAI,MAAM,WAAW,MAAM,GACzB,OAAO;CACT,IAAI,MAAM,WAAW,YAAY,GAC/B,OAAO;CACT,IAAI,MAAM,WAAW,MAAM,GACzB,OAAO;AAEX;;AAGA,SAAgB,eAAe,OAAmC;CAChE,OAAO,MAAM,WAAW,UAAU,IAAI,MAAM,MAAM,CAAiB,IAAI,KAAA;AACzE;;AA6DA,SAAgB,aAAa,QAAuC,OAAuE;CACzI,IAAI,CAAC,QAAQ,QACX,OAAO;CACT,IAAI,OAAO,UAAU,QACnB,OAAO;EAAE,MAAM;EAAY,QAAQ,OAAO,OAAO;CAAW;CAC9D,IAAI,OAAO,OAAO,QAChB,OAAO;EAAE,MAAM;EAAU,QAAQ,OAAO,OAAO;CAAW;CAC5D,OAAO;AACT"}
|
|
@@ -22,6 +22,10 @@ const THINKING_LEVELS = [
|
|
|
22
22
|
"max",
|
|
23
23
|
"adaptive"
|
|
24
24
|
];
|
|
25
|
+
/** Type guard for canonical `ThinkingLevel` strings (e.g. `metadata.effort` read off a persisted session). */
|
|
26
|
+
function isThinkingLevel(value) {
|
|
27
|
+
return typeof value === "string" && THINKING_LEVELS.includes(value);
|
|
28
|
+
}
|
|
25
29
|
/** Native clock backing the default (Date.now + crypto.randomUUID). */
|
|
26
30
|
const DEFAULT_AGENT_CLOCK = {
|
|
27
31
|
now: () => Date.now(),
|
|
@@ -142,10 +146,10 @@ function toolResultToText(content) {
|
|
|
142
146
|
if (typeof content === "string") return content;
|
|
143
147
|
return content.map((block) => {
|
|
144
148
|
if (block.type === "text") return block.text;
|
|
145
|
-
if (block.type === "image") return typeof block.data === "string" ? `[image: ${block.mediaType}
|
|
146
|
-
if (block.type === "audio") return `[audio: ${block.mediaType}
|
|
147
|
-
if (block.type === "video") return `[video: ${block.mediaType}
|
|
148
|
-
return typeof block.data === "string" ? `[document: ${block.mediaType}
|
|
149
|
+
if (block.type === "image") return typeof block.data === "string" ? `[image: ${block.mediaType}, ${block.data.length} b64 bytes]` : `[image: ${block.mediaType}, ref ${block.ref}]`;
|
|
150
|
+
if (block.type === "audio") return `[audio: ${block.mediaType}, ${block.data.length} b64 bytes]`;
|
|
151
|
+
if (block.type === "video") return `[video: ${block.mediaType}, ${block.data.length} b64 bytes]`;
|
|
152
|
+
return typeof block.data === "string" ? `[document: ${block.mediaType}, ${block.data.length} ${block.encoding === "base64" ? "b64 bytes" : "chars"}${block.name ? `, ${block.name}` : ""}]` : `[document: ${block.mediaType}, ref ${block.ref}${block.name ? `, ${block.name}` : ""}]`;
|
|
149
153
|
}).join("\n");
|
|
150
154
|
}
|
|
151
155
|
/**
|
|
@@ -248,6 +252,6 @@ function isWireTurn(turn) {
|
|
|
248
252
|
return turn.role === "user" || turn.role === "assistant";
|
|
249
253
|
}
|
|
250
254
|
//#endregion
|
|
251
|
-
export { documentBlockMarker as a,
|
|
255
|
+
export { documentBlockMarker as a, sanitizeToolResultMetadata as c, toolResultToText as d, coerceToolResultContent as i, toolOutputBudgetByteLength as l, THINKING_LEVELS as n, isThinkingLevel as o, assertResolvedMediaBlock as r, isWireTurn as s, DEFAULT_AGENT_CLOCK as t, toolOutputByteLength as u };
|
|
252
256
|
|
|
253
|
-
//# sourceMappingURL=types-
|
|
257
|
+
//# sourceMappingURL=types-Cu0ZGDu9.js.map
|