zidane 9.1.1 → 9.1.3
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/dist/{acp-Di9WvMDF.js → acp-CeCavNlg.js} +7 -7
- package/dist/{acp-Di9WvMDF.js.map → acp-CeCavNlg.js.map} +1 -1
- package/dist/acp-cli.js +5 -5
- package/dist/acp.d.ts +2 -2
- package/dist/acp.js +1 -1
- package/dist/{agent-DJhpTS-B.js → agent-Dh_XZ7fj.js} +74 -19
- package/dist/agent-Dh_XZ7fj.js.map +1 -0
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +1 -1
- package/dist/{auth-store-port-DFgf22oo.js → auth-store-port-BKpjlJ8a.js} +2 -2
- package/dist/{auth-store-port-DFgf22oo.js.map → auth-store-port-BKpjlJ8a.js.map} +1 -1
- package/dist/{auto-update-restart-BFB7Ek87.js → auto-update-restart-CQJtndMG.js} +277 -41
- package/dist/auto-update-restart-CQJtndMG.js.map +1 -0
- package/dist/{browser-BcoCCB_n.js → browser-BkdeKnxO.js} +56 -2
- package/dist/browser-BkdeKnxO.js.map +1 -0
- package/dist/{browser-entry-ypi8CyE-.d.ts → browser-entry-BCwruqNa.d.ts} +10 -10
- package/dist/{browser-entry-ypi8CyE-.d.ts.map → browser-entry-BCwruqNa.d.ts.map} +1 -1
- package/dist/channels.d.ts +5 -5
- package/dist/chat/browser.d.ts +4 -4
- package/dist/chat/browser.js +6 -6
- package/dist/chat/pure.d.ts +5 -5
- package/dist/chat/pure.js +8 -8
- package/dist/chat.d.ts +5 -5
- package/dist/chat.js +55 -55
- package/dist/chat.js.map +1 -1
- package/dist/{cli-shared-CabruH8Z.js → cli-shared-DeRHgYvl.js} +4 -4
- package/dist/{cli-shared-CabruH8Z.js.map → cli-shared-DeRHgYvl.js.map} +1 -1
- package/dist/cli-style-DBEm6CyT.js +105 -0
- package/dist/cli-style-DBEm6CyT.js.map +1 -0
- package/dist/{client-core-CIixwznM.d.ts → client-core-C_4m_oL6.d.ts} +4 -4
- package/dist/{client-core-CIixwznM.d.ts.map → client-core-C_4m_oL6.d.ts.map} +1 -1
- package/dist/{client-CCaIXWue.d.ts → client-ygTASGis.d.ts} +2 -2
- package/dist/{client-CCaIXWue.d.ts.map → client-ygTASGis.d.ts.map} +1 -1
- package/dist/codemode-worker.js +8 -5
- package/dist/codemode-worker.js.map +1 -1
- package/dist/codemode.d.ts +16 -0
- package/dist/codemode.d.ts.map +1 -1
- package/dist/codemode.js +2 -2
- package/dist/{connection-loop-QmWL-fJf.d.ts → connection-loop-D_pRONCr.d.ts} +4 -4
- package/dist/{connection-loop-QmWL-fJf.d.ts.map → connection-loop-D_pRONCr.d.ts.map} +1 -1
- package/dist/contexts/daytona.d.ts +3 -3
- package/dist/contexts/docker.d.ts +1 -1
- package/dist/contexts/e2b.d.ts +2 -2
- package/dist/contexts/sandbox.d.ts +1 -1
- package/dist/{contexts-C72b0mMa.js → contexts-DLZTSRHU.js} +17 -106
- package/dist/contexts-DLZTSRHU.js.map +1 -0
- package/dist/contexts.d.ts +4 -4
- package/dist/contexts.js +2 -2
- package/dist/{credentials-wwETW8rI.js → credentials-Bqg-qNBM.js} +2 -2
- package/dist/{credentials-wwETW8rI.js.map → credentials-Bqg-qNBM.js.map} +1 -1
- package/dist/{cwd-picker-CcekODCt.js → cwd-picker-BsHA6HKv.js} +4 -4
- package/dist/{cwd-picker-CcekODCt.js.map → cwd-picker-BsHA6HKv.js.map} +1 -1
- package/dist/daemon-cli.js +4 -3
- package/dist/daemon-cli.js.map +1 -1
- package/dist/{decisions-CXmK0nz9.js → decisions-hsw5XS2g.js} +3 -1
- package/dist/decisions-hsw5XS2g.js.map +1 -0
- package/dist/{discovery-DycXFxdA.js → discovery-CX7nbMCn.js} +4 -4
- package/dist/{discovery-DycXFxdA.js.map → discovery-CX7nbMCn.js.map} +1 -1
- package/dist/durable/sqlite.d.ts +2 -2
- package/dist/durable.d.ts +1 -1
- package/dist/{engine-VQ86XGdG.js → engine-CxBGgU94.js} +6 -6
- package/dist/{engine-VQ86XGdG.js.map → engine-CxBGgU94.js.map} +1 -1
- package/dist/{eval-Bod0I1W_.js → eval-CfGUDAkN.js} +3 -3
- package/dist/{eval-Bod0I1W_.js.map → eval-CfGUDAkN.js.map} +1 -1
- package/dist/eval.d.ts +1 -1
- package/dist/eval.js +1 -1
- package/dist/{executor-C7RQrkEq.js → executor-j_LFRBwS.js} +4 -4
- package/dist/{executor-C7RQrkEq.js.map → executor-j_LFRBwS.js.map} +1 -1
- package/dist/{extension-mark-BqKdEZwF.js → extension-mark-_rhkDWL5.js} +9 -6
- package/dist/extension-mark-_rhkDWL5.js.map +1 -0
- package/dist/extensions/testing.d.ts +1 -1
- package/dist/extensions/testing.js +2 -2
- package/dist/{extensions-BCx4QuGB.js → extensions-ADlhBQ_1.js} +8 -8
- package/dist/{extensions-BCx4QuGB.js.map → extensions-ADlhBQ_1.js.map} +1 -1
- package/dist/{extensions-client-D8tEAcMw.d.ts → extensions-client-D4Q2XRKV.d.ts} +31 -5
- package/dist/extensions-client-D4Q2XRKV.d.ts.map +1 -0
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.js +6 -6
- package/dist/{fold-rules-DvLK8pbf.d.ts → fold-rules-1DpDwG9h.d.ts} +2 -2
- package/dist/{fold-rules-DvLK8pbf.d.ts.map → fold-rules-1DpDwG9h.d.ts.map} +1 -1
- package/dist/{google-Crva32sk.js → google-B-Dhmzzf.js} +2 -2
- package/dist/{google-Crva32sk.js.map → google-B-Dhmzzf.js.map} +1 -1
- package/dist/{headless-CCm-jLLT.js → headless-CQm19BL0.js} +4 -4
- package/dist/{headless-CCm-jLLT.js.map → headless-CQm19BL0.js.map} +1 -1
- package/dist/headless.d.ts +1 -1
- package/dist/headless.js +1 -1
- package/dist/history-worker.js +1 -1
- package/dist/{host-wO_6GW0y.js → host-C61ntFBC.js} +276 -103
- package/dist/host-C61ntFBC.js.map +1 -0
- package/dist/{host-BHMs9jsN.js → host-DEoEzQal.js} +13 -4
- package/dist/host-DEoEzQal.js.map +1 -0
- package/dist/{host-scoped-settings-CrbcqOkP.js → host-scoped-settings-WBYaCork.js} +2 -2
- package/dist/{host-scoped-settings-CrbcqOkP.js.map → host-scoped-settings-WBYaCork.js.map} +1 -1
- package/dist/{host-signals-Jsjd_-4g.js → host-signals-Cb2TlGtN.js} +5 -5
- package/dist/{host-signals-Jsjd_-4g.js.map → host-signals-Cb2TlGtN.js.map} +1 -1
- package/dist/{host-version-CNAr9pov.js → host-version-BIx4CuBM.js} +2 -2
- package/dist/{host-version-CNAr9pov.js.map → host-version-BIx4CuBM.js.map} +1 -1
- package/dist/{index-C6nnKu32.d.ts → index-B0PLo9jn.d.ts} +4 -4
- package/dist/{index-C6nnKu32.d.ts.map → index-B0PLo9jn.d.ts.map} +1 -1
- package/dist/{index-Djnc8Peh.d.ts → index-De4x-s76.d.ts} +14 -14
- package/dist/{index-Djnc8Peh.d.ts.map → index-De4x-s76.d.ts.map} +1 -1
- package/dist/{index-CGbOWa7y.d.ts → index-WlE93Q6d.d.ts} +411 -3
- package/dist/index-WlE93Q6d.d.ts.map +1 -0
- package/dist/{index-CCf_WeTQ.d.ts → index-f-XWIoYo.d.ts} +2 -2
- package/dist/{index-CCf_WeTQ.d.ts.map → index-f-XWIoYo.d.ts.map} +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +17 -17
- package/dist/ipc/browser-types.d.ts +304 -7
- package/dist/ipc/browser-types.d.ts.map +1 -1
- package/dist/ipc/browser.d.ts +4 -4
- package/dist/ipc/browser.js +2 -2
- package/dist/ipc/remote.d.ts +6 -6
- package/dist/ipc/remote.js +3 -3
- package/dist/{ipc-BzWhIybr.js → ipc-DiH_P-wr.js} +4 -4
- package/dist/{ipc-BzWhIybr.js.map → ipc-DiH_P-wr.js.map} +1 -1
- package/dist/ipc.d.ts +10 -10
- package/dist/ipc.js +8 -8
- package/dist/{json-Dj-YATkZ.js → json-BjClr43H.js} +2 -20
- package/dist/json-BjClr43H.js.map +1 -0
- package/dist/{links-CJG_rFvf.js → links-BbC_lOnn.js} +9 -9
- package/dist/{links-CJG_rFvf.js.map → links-BbC_lOnn.js.map} +1 -1
- package/dist/{loaded-entry-DTURJo_R.js → loaded-entry-C0vkCVNQ.js} +2 -2
- package/dist/{loaded-entry-DTURJo_R.js.map → loaded-entry-C0vkCVNQ.js.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/{media-type-BtA0cbfI.d.ts → media-type-ZSmAGHvg.d.ts} +188 -7
- package/dist/media-type-ZSmAGHvg.d.ts.map +1 -0
- package/dist/{memory-DuVGrzbl.js → memory-C3w8nO8f.js} +132 -31
- package/dist/memory-C3w8nO8f.js.map +1 -0
- package/dist/model-test-CAtJ76kM.js.map +1 -1
- package/dist/{move-session-kylExJ5H.js → move-session-D7ILECs-.js} +4 -4
- package/dist/{move-session-kylExJ5H.js.map → move-session-D7ILECs-.js.map} +1 -1
- package/dist/{nested-call-record-DlzPeTB7.js → nested-call-record-OayszZBQ.js} +4 -3
- package/dist/nested-call-record-OayszZBQ.js.map +1 -0
- package/dist/output/stream-json.d.ts +1 -1
- package/dist/output/terminal.d.ts +1 -1
- package/dist/{path-display-COVV71Yu.js → path-display-DRAEpKOU.js} +3 -3
- package/dist/{path-display-COVV71Yu.js.map → path-display-DRAEpKOU.js.map} +1 -1
- package/dist/plugins.d.ts +1 -1
- package/dist/{prelude-CVKoUzV8.js → prelude-BwiSR1uA.js} +16 -5
- package/dist/prelude-BwiSR1uA.js.map +1 -0
- package/dist/{presets-CBt6rFfS.js → presets-CMY43nUP.js} +3 -3
- package/dist/{presets-CBt6rFfS.js.map → presets-CMY43nUP.js.map} +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/presets.js +1 -1
- package/dist/{protocol-CEVqBO-q.d.ts → protocol-C2lqKuMd.d.ts} +50 -7
- package/dist/protocol-C2lqKuMd.d.ts.map +1 -0
- package/dist/protocol-DOGyHgLQ.js.map +1 -1
- package/dist/protocol-NSllElLw.js.map +1 -1
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/arcee.d.ts +1 -1
- package/dist/providers/baseten.d.ts +1 -1
- package/dist/providers/cerebras.d.ts +1 -1
- package/dist/providers/google.d.ts +1 -1
- package/dist/providers/google.js +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/neuralwatt.d.ts +1 -1
- package/dist/providers/openai-compat.d.ts +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openrouter.d.ts +1 -1
- package/dist/providers/xai.d.ts +1 -1
- package/dist/{providers-Z0TaBp1O.js → providers-CpXV_uLE.js} +5 -5
- package/dist/providers-CpXV_uLE.js.map +1 -0
- package/dist/providers.d.ts +1 -1
- package/dist/providers.js +1 -1
- package/dist/{readonly-db-D7Z-k0pQ.js → readonly-db-DrbT8tX6.js} +2 -2
- package/dist/{readonly-db-D7Z-k0pQ.js.map → readonly-db-DrbT8tX6.js.map} +1 -1
- package/dist/{registry-BKjeBnoy.js → registry-CJHvmvaP.js} +2 -2
- package/dist/{registry-BKjeBnoy.js.map → registry-CJHvmvaP.js.map} +1 -1
- package/dist/{registry-B6Ww76iW.js → registry-CN6JlZKj.js} +2 -2
- package/dist/{registry-B6Ww76iW.js.map → registry-CN6JlZKj.js.map} +1 -1
- package/dist/{registry-B9INJwJR.js → registry-CnnKaY9s.js} +324 -39
- package/dist/registry-CnnKaY9s.js.map +1 -0
- package/dist/{remote-hosts-BMWoHCWO.js → remote-hosts-DoO9CJUQ.js} +4 -4
- package/dist/{remote-hosts-BMWoHCWO.js.map → remote-hosts-DoO9CJUQ.js.map} +1 -1
- package/dist/{repo-url-D4Dr8NfZ.js → repo-url-DLjjuVk_.js} +169 -2
- package/dist/repo-url-DLjjuVk_.js.map +1 -0
- package/dist/restate.d.ts +2 -2
- package/dist/{sandbox-BwiPGKF7.d.ts → sandbox-B4OW6oNx.d.ts} +2 -2
- package/dist/{sandbox-BwiPGKF7.d.ts.map → sandbox-B4OW6oNx.d.ts.map} +1 -1
- package/dist/script-progress-CrZ507Qq.js +900 -0
- package/dist/script-progress-CrZ507Qq.js.map +1 -0
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/{setting-BQBSyUq0.js → setting-D_FpKFMw.js} +6 -6
- package/dist/{setting-BQBSyUq0.js.map → setting-D_FpKFMw.js.map} +1 -1
- package/dist/{settings-catalog-4IU2i_jG.js → settings-catalog-DEZlXP51.js} +14 -2
- package/dist/settings-catalog-DEZlXP51.js.map +1 -0
- package/dist/{settings-keys-iI_Y-7MC.js → settings-keys-CW2UgHgb.js} +3 -3
- package/dist/{settings-keys-iI_Y-7MC.js.map → settings-keys-CW2UgHgb.js.map} +1 -1
- package/dist/{skills-CFXRItJ6.js → skills-CEbosUlM.js} +2 -2
- package/dist/{skills-CFXRItJ6.js.map → skills-CEbosUlM.js.map} +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.js +1 -1
- package/dist/{source-Bl1Z501r.js → source-3ZnEPOSa.js} +3 -2
- package/dist/source-3ZnEPOSa.js.map +1 -0
- package/dist/{sqlite-runtime-BZ2L4RaG.d.ts → sqlite-runtime-CS_LBaAN.d.ts} +2 -2
- package/dist/sqlite-runtime-CS_LBaAN.d.ts.map +1 -0
- package/dist/{src-BY_ND2xn.js → src-BmTXDta8.js} +2 -2
- package/dist/{src-BY_ND2xn.js.map → src-BmTXDta8.js.map} +1 -1
- package/dist/{store-C6gI7FfZ.js → store-ByCDaKgJ.js} +14 -3
- package/dist/store-ByCDaKgJ.js.map +1 -0
- package/dist/{system-freeze-m5o1sGIM.js → system-freeze-XgDPIwQS.js} +3 -3
- package/dist/{system-freeze-m5o1sGIM.js.map → system-freeze-XgDPIwQS.js.map} +1 -1
- package/dist/{todo-edits-CbukbjyV.js → todo-edits-Dyj32ds6.js} +4 -3
- package/dist/todo-edits-Dyj32ds6.js.map +1 -0
- package/dist/tools/fetch-url.d.ts +1 -1
- package/dist/tools/web-search.d.ts +1 -1
- package/dist/{tools-CVTGhggj.js → tools-BsrGQ8K4.js} +2 -2
- package/dist/{tools-CVTGhggj.js.map → tools-BsrGQ8K4.js.map} +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.js +3 -3
- package/dist/{transcript-anchors-CiSi_UBn.js → transcript-anchors-DMjvyUjk.js} +3 -3
- package/dist/{transcript-anchors-CiSi_UBn.js.map → transcript-anchors-DMjvyUjk.js.map} +1 -1
- package/dist/{transcript-reconcile-jbSBjLq2.js → transcript-reconcile-DpQO85wl.js} +3 -3
- package/dist/{transcript-reconcile-jbSBjLq2.js.map → transcript-reconcile-DpQO85wl.js.map} +1 -1
- package/dist/tui.d.ts +9 -9
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +289 -38
- package/dist/tui.js.map +1 -1
- package/dist/{types-bDQagoiL.d.ts → types-2HrgolQz.d.ts} +20 -8
- package/dist/types-2HrgolQz.d.ts.map +1 -0
- package/dist/types-4q1bFG53.js +122 -0
- package/dist/types-4q1bFG53.js.map +1 -0
- package/dist/{types-DnRd9_cA.d.ts → types-SXqk6hLD.d.ts} +3 -3
- package/dist/{types-DnRd9_cA.d.ts.map → types-SXqk6hLD.d.ts.map} +1 -1
- package/dist/types-myxheQkw.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/{usage-summary-BfcXjiSM.js → usage-summary-BM7B3JdI.js} +2 -2
- package/dist/{usage-summary-BfcXjiSM.js.map → usage-summary-BM7B3JdI.js.map} +1 -1
- package/dist/{version-DqqqvHDP.js → version-szdW1Od9.js} +2 -2
- package/dist/{version-DqqqvHDP.js.map → version-szdW1Od9.js.map} +1 -1
- package/dist/{wait-task-BX4NcOOm.js → wait-task-BiI5UaZQ.js} +13 -3
- package/dist/wait-task-BiI5UaZQ.js.map +1 -0
- package/dist/{wire-CLm2rMK0.js → wire-C3l9jl9x.js} +2 -2
- package/dist/{wire-CLm2rMK0.js.map → wire-C3l9jl9x.js.map} +1 -1
- package/dist/{write-file-0E6TUJ9A.js → write-file-Dquu7MzB.js} +5 -3
- package/dist/write-file-Dquu7MzB.js.map +1 -0
- package/dist/{ws-DfGGYQ4W.js → ws-CEHi0CiB.js} +4 -4
- package/dist/{ws-DfGGYQ4W.js.map → ws-CEHi0CiB.js.map} +1 -1
- package/dist/{ws-client-CFMbhsNq.js → ws-client-t8XNWxcq.js} +2 -2
- package/dist/{ws-client-CFMbhsNq.js.map → ws-client-t8XNWxcq.js.map} +1 -1
- package/docs/CHAT.md +55 -0
- package/docs/CODEMODE.md +37 -0
- package/docs/EXTENSIONS.md +8 -6
- package/docs/RELEASE-NOTES-NEXT.md +48 -1
- package/docs/RELEASE.md +9 -1
- package/package.json +2 -3
- package/dist/agent-DJhpTS-B.js.map +0 -1
- package/dist/auto-update-restart-BFB7Ek87.js.map +0 -1
- package/dist/browser-BcoCCB_n.js.map +0 -1
- package/dist/contexts-C72b0mMa.js.map +0 -1
- package/dist/decisions-CXmK0nz9.js.map +0 -1
- package/dist/extension-mark-BqKdEZwF.js.map +0 -1
- package/dist/extensions-client-D8tEAcMw.d.ts.map +0 -1
- package/dist/host-BHMs9jsN.js.map +0 -1
- package/dist/host-wO_6GW0y.js.map +0 -1
- package/dist/index-CGbOWa7y.d.ts.map +0 -1
- package/dist/json-Dj-YATkZ.js.map +0 -1
- package/dist/media-type-BtA0cbfI.d.ts.map +0 -1
- package/dist/memory-DuVGrzbl.js.map +0 -1
- package/dist/nested-call-events-BYk8XvGX.js +0 -182
- package/dist/nested-call-events-BYk8XvGX.js.map +0 -1
- package/dist/nested-call-record-DlzPeTB7.js.map +0 -1
- package/dist/prelude-CVKoUzV8.js.map +0 -1
- package/dist/protocol-CEVqBO-q.d.ts.map +0 -1
- package/dist/providers-Z0TaBp1O.js.map +0 -1
- package/dist/registry-B9INJwJR.js.map +0 -1
- package/dist/repo-url-D4Dr8NfZ.js.map +0 -1
- package/dist/settings-catalog-4IU2i_jG.js.map +0 -1
- package/dist/source-Bl1Z501r.js.map +0 -1
- package/dist/sqlite-runtime-BZ2L4RaG.d.ts.map +0 -1
- package/dist/store-C6gI7FfZ.js.map +0 -1
- package/dist/todo-edits-CbukbjyV.js.map +0 -1
- package/dist/types-DTMEhKJO.js +0 -14
- package/dist/types-DTMEhKJO.js.map +0 -1
- package/dist/types-bDQagoiL.d.ts.map +0 -1
- package/dist/wait-task-BX4NcOOm.js.map +0 -1
- package/dist/write-file-0E6TUJ9A.js.map +0 -1
- package/scripts/eval.ts +0 -179
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as IpcClient } from "./client-core-
|
|
1
|
+
import { t as IpcClient } from "./client-core-C_4m_oL6.js";
|
|
2
2
|
//#region src/ipc/daemon/lifecycle.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Build fingerprint for the handshake. Running from source it is the newest
|
|
@@ -122,4 +122,4 @@ declare function connectIpcClient(options: IpcClientOptions): Promise<IpcClient>
|
|
|
122
122
|
declare function connectOrSpawnDaemon(options?: Omit<IpcClientOptions, 'socketPath'> & EnsureDaemonOptions): Promise<IpcClient>;
|
|
123
123
|
//#endregion
|
|
124
124
|
export { IPC_BUILD_ID as a, ensureDaemonRunning as c, EnsureDaemonOptions as i, probeSocket as l, connectIpcClient as n, daemonSocketName as o, connectOrSpawnDaemon as r, defaultSocketPath as s, IpcClientOptions as t, selfDaemonSpawnCommand as u };
|
|
125
|
-
//# sourceMappingURL=client-
|
|
125
|
+
//# sourceMappingURL=client-ygTASGis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-
|
|
1
|
+
{"version":3,"file":"client-ygTASGis.d.ts","names":[],"sources":["../src/ipc/daemon/lifecycle.ts","../src/ipc/client.ts"],"mappings":";;;;;;;;;;;;;;;;;cAgCa;;;;;;;;;;;iBAkEG,iBAAiB,MAAK,OAAO;;;;;;iBAS7B;;;;;;;;;;;;iBAgDA;;;;;;;iBAoBA,YAAY,oBAAoB,qBAAmB;;UAsClD;;;;;EAKf;;;;;;EAMA;;EAEA;;;;;;;;iBAYc,oBAAoB,UAAS,sBAA2B;;;;UCtNvD;;EAEf;;EAEA;;EAEA;;;;;;;;EAQA;;;;;;;;;;;;;;;;;;;iBAoBoB,iBAAiB,SAAS,mBAAmB,QAAQ;;;;;;;;iBAgErD,qBACpB,UAAS,KAAK,kCAAkC,sBAC/C,QAAQ"}
|
package/dist/codemode-worker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as isHostToWorkerMessage } from "./protocol-NSllElLw.js";
|
|
2
|
-
import { a as PRELUDE_SOURCE } from "./prelude-
|
|
2
|
+
import { a as PRELUDE_SOURCE } from "./prelude-BwiSR1uA.js";
|
|
3
3
|
import { parentPort, workerData } from "node:worker_threads";
|
|
4
4
|
import { JSException, MAX_STACK_SIZE, QuickJS } from "quickjs-wasi";
|
|
5
5
|
//#region src/codemode/runtime/worker.ts
|
|
@@ -78,17 +78,20 @@ async function main(data) {
|
|
|
78
78
|
});
|
|
79
79
|
outbox = [];
|
|
80
80
|
};
|
|
81
|
-
const bridge = vm.newFunction("bridge", (kind, a, b, c) => {
|
|
81
|
+
const bridge = vm.newFunction("bridge", (kind, a, b, c, d) => {
|
|
82
82
|
switch (kind.toString()) {
|
|
83
83
|
case "call":
|
|
84
|
-
case "global":
|
|
84
|
+
case "global": {
|
|
85
|
+
const line = d === void 0 || d.isUndefined ? void 0 : d.toNumber();
|
|
85
86
|
outbox.push({
|
|
86
87
|
id: a.toNumber(),
|
|
87
88
|
target: kind.toString() === "call" ? "tool" : "global",
|
|
88
89
|
name: b.toString(),
|
|
89
|
-
args: c === void 0 || c.isUndefined ? void 0 : c.toString()
|
|
90
|
+
args: c === void 0 || c.isUndefined ? void 0 : c.toString(),
|
|
91
|
+
...line !== void 0 && Number.isFinite(line) ? { line } : {}
|
|
90
92
|
});
|
|
91
93
|
break;
|
|
94
|
+
}
|
|
92
95
|
case "output":
|
|
93
96
|
post({
|
|
94
97
|
type: "output",
|
|
@@ -122,7 +125,7 @@ async function main(data) {
|
|
|
122
125
|
}
|
|
123
126
|
return vm.undefined;
|
|
124
127
|
});
|
|
125
|
-
const api = vm.withScope((scope) => scope.escape(vm.callFunction(vm.evalCode(PRELUDE_SOURCE, "codemode-prelude.js"), vm.undefined, bridge, vm.newString(JSON.stringify(data.tools)), vm.newString(JSON.stringify(data.globals)), vm.newString(JSON.stringify(data.store)), vm.newString(JSON.stringify(data.toolHints ?? {})), vm.newString(JSON.stringify(data.shortcuts ?? {})))));
|
|
128
|
+
const api = vm.withScope((scope) => scope.escape(vm.callFunction(vm.evalCode(PRELUDE_SOURCE, "codemode-prelude.js"), vm.undefined, bridge, vm.newString(JSON.stringify(data.tools)), vm.newString(JSON.stringify(data.globals)), vm.newString(JSON.stringify(data.store)), vm.newString(JSON.stringify(data.toolHints ?? {})), vm.newString(JSON.stringify(data.shortcuts ?? {})), data.trackLines ? vm.true : vm.false)));
|
|
126
129
|
const settle = api.getProp("settle");
|
|
127
130
|
const run = api.getProp("run");
|
|
128
131
|
const stalled = api.getProp("stalled");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemode-worker.js","names":[],"sources":["../src/codemode/runtime/worker.ts"],"sourcesContent":["/**\n * Worker thread entry. One worker runs one script inside a fresh QuickJS VM\n * (a separate wasm instance), relays tool calls and output to the host, and\n * reports the result. The host terminates the worker when the script settles,\n * times out, or is aborted; the worker exists so that a spinning script never\n * blocks the host thread.\n *\n * Importing this module starts the worker. Bundled hosts (a Bun compiled\n * executable, a re-bundled zidane) add this file as a separate entrypoint and\n * pass its URL or embedded-module specifier as `workerUrl`.\n */\nimport type { JSValueHandle } from 'quickjs-wasi'\nimport type { CodemodeDeterminism } from '../types'\nimport type { CallMessage, WorkerData, WorkerToHostMessage } from './protocol'\nimport { parentPort, workerData } from 'node:worker_threads'\nimport { JSException, MAX_STACK_SIZE, QuickJS } from 'quickjs-wasi'\nimport { PRELUDE_SOURCE } from './prelude'\nimport { isHostToWorkerMessage } from './protocol'\n\nfunction post(message: WorkerToHostMessage): void {\n parentPort?.postMessage(message)\n}\n\nfunction crash(error: unknown): void {\n post({ type: 'crash', message: error instanceof Error ? `${error.name}: ${error.message}` : String(error) })\n}\n\n/** WASI `errno` for success. */\nconst ESUCCESS = 0\n\n/**\n * WASI overrides. QuickJS writes engine diagnostics to fd 1 and 2, which the\n * default shim forwards to the host's stdout and stderr. That output belongs to\n * the host application (for example the TUI), so it is discarded; reporting\n * every byte as written keeps libc from retrying. With `determinism`, the clock\n * and random source are pinned as well.\n */\nfunction wasiOverrides(determinism: CodemodeDeterminism | undefined) {\n return (memory: { readonly buffer: ArrayBufferLike }) => {\n const overrides: Record<string, (...args: never[]) => number> = {\n fd_write(_fd: number, iovsPtr: number, iovsLen: number, nwrittenPtr: number): number {\n const view = new DataView(memory.buffer)\n let written = 0\n for (let i = 0; i < iovsLen; i++)\n written += view.getUint32(iovsPtr + i * 8 + 4, true)\n view.setUint32(nwrittenPtr, written, true)\n return ESUCCESS\n },\n }\n if (!determinism)\n return overrides\n const nowNs = BigInt(Math.trunc(determinism.nowMs)) * 1_000_000n\n // xorshift32; a zero state would stay zero.\n let state = (determinism.seed >>> 0) || 0x9E3779B9\n overrides.clock_time_get = (_clockId: number, _precision: bigint, resultPtr: number): number => {\n new DataView(memory.buffer).setBigUint64(resultPtr, nowNs, true)\n return ESUCCESS\n }\n overrides.random_get = (bufPtr: number, bufLen: number): number => {\n const bytes = new Uint8Array(memory.buffer, bufPtr, bufLen)\n for (let i = 0; i < bufLen; i++) {\n state ^= state << 13\n state ^= state >>> 17\n state ^= state << 5\n state >>>= 0\n bytes[i] = state & 0xFF\n }\n return ESUCCESS\n }\n return overrides\n }\n}\n\nfunction describeException(error: JSException): string {\n const head = error.message ? `${error.name}: ${error.message}` : error.name\n const stack = error.stack?.trimEnd()\n return JSON.stringify({ name: error.name, message: error.message, stack: stack ? `${head}\\n${stack}` : head })\n}\n\nasync function main(data: WorkerData): Promise<void> {\n const interrupt = new Int32Array(data.interrupt)\n const vm = await QuickJS.create({\n wasm: data.wasm as WebAssembly.Module,\n memoryLimit: data.memoryLimitBytes,\n // Without a guard, deep recursion overflows the wasm stack and traps instead of throwing a\n // catchable RangeError.\n maxStackSize: MAX_STACK_SIZE,\n interruptHandler: () => Atomics.load(interrupt, 0) !== 0,\n wasi: wasiOverrides(data.determinism),\n })\n\n // Calls the script issues while the VM drains its job queue go to the host\n // as ONE message, after the drain: a `Promise.all` fan-out arrives as a\n // single group whatever the host's event-loop timing, so a durable host can\n // schedule it as one batch, identically on every replay.\n let outbox: CallMessage[] = []\n const flushCalls = (): void => {\n if (outbox.length === 0)\n return\n post({ type: 'calls', calls: outbox })\n outbox = []\n }\n\n // Called from the prelude with primitives only.\n const bridge = vm.newFunction('bridge', (kind, a, b, c) => {\n switch (kind.toString()) {\n case 'call':\n case 'global':\n outbox.push({\n id: a.toNumber(),\n target: kind.toString() === 'call' ? 'tool' : 'global',\n name: b.toString(),\n args: c === undefined || c.isUndefined ? undefined : c.toString(),\n })\n break\n case 'output':\n post({\n type: 'output',\n item:\n a.toString() === 'image'\n ? { type: 'image', data: b.toString(), mimeType: c.toString() }\n : a.toString() === 'console'\n ? { type: 'text', text: b.toString(), console: true }\n : { type: 'text', text: b.toString() },\n })\n break\n case 'done':\n // Calls issued before the script settled still reach the host (it\n // cancels the unawaited ones), as they did one message at a time.\n flushCalls()\n if (a.toBoolean()) {\n post({\n type: 'done',\n ok: true,\n value: b === undefined || b.isUndefined ? undefined : b.toString(),\n writes: c.toString(),\n })\n }\n else {\n post({ type: 'done', ok: false, error: b.toString() })\n }\n break\n }\n return vm.undefined\n })\n\n // The VM lives until the host terminates the worker, so these handles are never disposed.\n const api = vm.withScope(scope =>\n scope.escape(\n vm.callFunction(\n vm.evalCode(PRELUDE_SOURCE, 'codemode-prelude.js'),\n vm.undefined,\n bridge,\n vm.newString(JSON.stringify(data.tools)),\n vm.newString(JSON.stringify(data.globals)),\n vm.newString(JSON.stringify(data.store)),\n vm.newString(JSON.stringify(data.toolHints ?? {})),\n vm.newString(JSON.stringify(data.shortcuts ?? {})),\n ),\n ),\n )\n const settle = api.getProp('settle')\n const run = api.getProp('run')\n const stalled = api.getProp('stalled')\n /** Run queued jobs, then fail a script that waits on nothing that can ever resume it. */\n const drain = () => {\n vm.executePendingJobs()\n flushCalls()\n vm.callFunction(stalled, api).dispose()\n }\n\n parentPort?.on('message', (message: unknown) => {\n if (!isHostToWorkerMessage(message))\n return\n try {\n vm.withScope(() => {\n vm.callFunction(\n settle,\n api,\n vm.newNumber(message.id),\n message.ok ? vm.true : vm.false,\n message.payload === undefined ? vm.undefined : vm.newString(message.payload),\n message.text === undefined ? vm.undefined : vm.newString(message.text),\n )\n })\n drain()\n }\n catch (error) {\n crash(error)\n }\n })\n\n // The prefix shares the first line with the script so reported line numbers\n // match the script as written.\n let fn: JSValueHandle\n try {\n // No parameters: `tools` / `console` are globals, so a script may declare its own `tools`.\n fn = vm.evalCode(`(async () => {${data.code}\\n})`, 'codemode.js')\n }\n catch (error) {\n if (!(error instanceof JSException))\n throw error\n post({ type: 'done', ok: false, error: describeException(error) })\n return\n }\n vm.callFunction(run, api, fn).dispose()\n fn.dispose()\n drain()\n}\n\nif (parentPort)\n main(workerData as WorkerData).catch(crash)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codemode-worker.js","names":[],"sources":["../src/codemode/runtime/worker.ts"],"sourcesContent":["/**\n * Worker thread entry. One worker runs one script inside a fresh QuickJS VM\n * (a separate wasm instance), relays tool calls and output to the host, and\n * reports the result. The host terminates the worker when the script settles,\n * times out, or is aborted; the worker exists so that a spinning script never\n * blocks the host thread.\n *\n * Importing this module starts the worker. Bundled hosts (a Bun compiled\n * executable, a re-bundled zidane) add this file as a separate entrypoint and\n * pass its URL or embedded-module specifier as `workerUrl`.\n */\nimport type { JSValueHandle } from 'quickjs-wasi'\nimport type { CodemodeDeterminism } from '../types'\nimport type { CallMessage, WorkerData, WorkerToHostMessage } from './protocol'\nimport { parentPort, workerData } from 'node:worker_threads'\nimport { JSException, MAX_STACK_SIZE, QuickJS } from 'quickjs-wasi'\nimport { PRELUDE_SOURCE } from './prelude'\nimport { isHostToWorkerMessage } from './protocol'\n\nfunction post(message: WorkerToHostMessage): void {\n parentPort?.postMessage(message)\n}\n\nfunction crash(error: unknown): void {\n post({ type: 'crash', message: error instanceof Error ? `${error.name}: ${error.message}` : String(error) })\n}\n\n/** WASI `errno` for success. */\nconst ESUCCESS = 0\n\n/**\n * WASI overrides. QuickJS writes engine diagnostics to fd 1 and 2, which the\n * default shim forwards to the host's stdout and stderr. That output belongs to\n * the host application (for example the TUI), so it is discarded; reporting\n * every byte as written keeps libc from retrying. With `determinism`, the clock\n * and random source are pinned as well.\n */\nfunction wasiOverrides(determinism: CodemodeDeterminism | undefined) {\n return (memory: { readonly buffer: ArrayBufferLike }) => {\n const overrides: Record<string, (...args: never[]) => number> = {\n fd_write(_fd: number, iovsPtr: number, iovsLen: number, nwrittenPtr: number): number {\n const view = new DataView(memory.buffer)\n let written = 0\n for (let i = 0; i < iovsLen; i++)\n written += view.getUint32(iovsPtr + i * 8 + 4, true)\n view.setUint32(nwrittenPtr, written, true)\n return ESUCCESS\n },\n }\n if (!determinism)\n return overrides\n const nowNs = BigInt(Math.trunc(determinism.nowMs)) * 1_000_000n\n // xorshift32; a zero state would stay zero.\n let state = (determinism.seed >>> 0) || 0x9E3779B9\n overrides.clock_time_get = (_clockId: number, _precision: bigint, resultPtr: number): number => {\n new DataView(memory.buffer).setBigUint64(resultPtr, nowNs, true)\n return ESUCCESS\n }\n overrides.random_get = (bufPtr: number, bufLen: number): number => {\n const bytes = new Uint8Array(memory.buffer, bufPtr, bufLen)\n for (let i = 0; i < bufLen; i++) {\n state ^= state << 13\n state ^= state >>> 17\n state ^= state << 5\n state >>>= 0\n bytes[i] = state & 0xFF\n }\n return ESUCCESS\n }\n return overrides\n }\n}\n\nfunction describeException(error: JSException): string {\n const head = error.message ? `${error.name}: ${error.message}` : error.name\n const stack = error.stack?.trimEnd()\n return JSON.stringify({ name: error.name, message: error.message, stack: stack ? `${head}\\n${stack}` : head })\n}\n\nasync function main(data: WorkerData): Promise<void> {\n const interrupt = new Int32Array(data.interrupt)\n const vm = await QuickJS.create({\n wasm: data.wasm as WebAssembly.Module,\n memoryLimit: data.memoryLimitBytes,\n // Without a guard, deep recursion overflows the wasm stack and traps instead of throwing a\n // catchable RangeError.\n maxStackSize: MAX_STACK_SIZE,\n interruptHandler: () => Atomics.load(interrupt, 0) !== 0,\n wasi: wasiOverrides(data.determinism),\n })\n\n // Calls the script issues while the VM drains its job queue go to the host\n // as ONE message, after the drain: a `Promise.all` fan-out arrives as a\n // single group whatever the host's event-loop timing, so a durable host can\n // schedule it as one batch, identically on every replay.\n let outbox: CallMessage[] = []\n const flushCalls = (): void => {\n if (outbox.length === 0)\n return\n post({ type: 'calls', calls: outbox })\n outbox = []\n }\n\n // Called from the prelude with primitives only.\n const bridge = vm.newFunction('bridge', (kind, a, b, c, d) => {\n switch (kind.toString()) {\n case 'call':\n case 'global': {\n const line = d === undefined || d.isUndefined ? undefined : d.toNumber()\n outbox.push({\n id: a.toNumber(),\n target: kind.toString() === 'call' ? 'tool' : 'global',\n name: b.toString(),\n args: c === undefined || c.isUndefined ? undefined : c.toString(),\n ...(line !== undefined && Number.isFinite(line) ? { line } : {}),\n })\n break\n }\n case 'output':\n post({\n type: 'output',\n item:\n a.toString() === 'image'\n ? { type: 'image', data: b.toString(), mimeType: c.toString() }\n : a.toString() === 'console'\n ? { type: 'text', text: b.toString(), console: true }\n : { type: 'text', text: b.toString() },\n })\n break\n case 'done':\n // Calls issued before the script settled still reach the host (it\n // cancels the unawaited ones), as they did one message at a time.\n flushCalls()\n if (a.toBoolean()) {\n post({\n type: 'done',\n ok: true,\n value: b === undefined || b.isUndefined ? undefined : b.toString(),\n writes: c.toString(),\n })\n }\n else {\n post({ type: 'done', ok: false, error: b.toString() })\n }\n break\n }\n return vm.undefined\n })\n\n // The VM lives until the host terminates the worker, so these handles are never disposed.\n const api = vm.withScope(scope =>\n scope.escape(\n vm.callFunction(\n vm.evalCode(PRELUDE_SOURCE, 'codemode-prelude.js'),\n vm.undefined,\n bridge,\n vm.newString(JSON.stringify(data.tools)),\n vm.newString(JSON.stringify(data.globals)),\n vm.newString(JSON.stringify(data.store)),\n vm.newString(JSON.stringify(data.toolHints ?? {})),\n vm.newString(JSON.stringify(data.shortcuts ?? {})),\n data.trackLines ? vm.true : vm.false,\n ),\n ),\n )\n const settle = api.getProp('settle')\n const run = api.getProp('run')\n const stalled = api.getProp('stalled')\n /** Run queued jobs, then fail a script that waits on nothing that can ever resume it. */\n const drain = () => {\n vm.executePendingJobs()\n flushCalls()\n vm.callFunction(stalled, api).dispose()\n }\n\n parentPort?.on('message', (message: unknown) => {\n if (!isHostToWorkerMessage(message))\n return\n try {\n vm.withScope(() => {\n vm.callFunction(\n settle,\n api,\n vm.newNumber(message.id),\n message.ok ? vm.true : vm.false,\n message.payload === undefined ? vm.undefined : vm.newString(message.payload),\n message.text === undefined ? vm.undefined : vm.newString(message.text),\n )\n })\n drain()\n }\n catch (error) {\n crash(error)\n }\n })\n\n // The prefix shares the first line with the script so reported line numbers\n // match the script as written.\n let fn: JSValueHandle\n try {\n // No parameters: `tools` / `console` are globals, so a script may declare its own `tools`.\n fn = vm.evalCode(`(async () => {${data.code}\\n})`, 'codemode.js')\n }\n catch (error) {\n if (!(error instanceof JSException))\n throw error\n post({ type: 'done', ok: false, error: describeException(error) })\n return\n }\n vm.callFunction(run, api, fn).dispose()\n fn.dispose()\n drain()\n}\n\nif (parentPort)\n main(workerData as WorkerData).catch(crash)\n"],"mappings":"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"}
|
package/dist/codemode.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ interface CodemodeToolContext {
|
|
|
28
28
|
* durable adapters can key journal entries on it.
|
|
29
29
|
*/
|
|
30
30
|
seq: number;
|
|
31
|
+
/**
|
|
32
|
+
* Script line that made this call (the innermost frame of the script, so a
|
|
33
|
+
* call inside a helper reports the helper's line). Only with
|
|
34
|
+
* {@link CodemodeExecuteOptions.trackLines}.
|
|
35
|
+
*/
|
|
36
|
+
line?: number;
|
|
31
37
|
}
|
|
32
38
|
/** A JSON Schema document. Only used to render declarations; values are not validated against it. */
|
|
33
39
|
type CodemodeJsonSchema = {
|
|
@@ -206,6 +212,16 @@ interface CodemodeExecuteOptions {
|
|
|
206
212
|
store?: Readonly<Record<string, unknown>>;
|
|
207
213
|
/** Pin the clock and random source for this execution. See {@link CodemodeDeterminism}. */
|
|
208
214
|
determinism?: CodemodeDeterminism;
|
|
215
|
+
/**
|
|
216
|
+
* Report the script line of each call as {@link CodemodeToolContext.line}. Costs one stack
|
|
217
|
+
* capture per call. Default: off.
|
|
218
|
+
*/
|
|
219
|
+
trackLines?: boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Called with each output item as the script produces it, before the execution ends. The
|
|
222
|
+
* result still carries every item. A throwing callback is ignored.
|
|
223
|
+
*/
|
|
224
|
+
onOutput?: (item: CodemodeOutputItem) => void;
|
|
209
225
|
}
|
|
210
226
|
//#endregion
|
|
211
227
|
//#region src/codemode/identifier.d.ts
|
package/dist/codemode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemode.d.ts","names":[],"sources":["../src/codemode/wasm.ts","../src/codemode/types.ts","../src/codemode/identifier.ts","../src/codemode/declarations.ts","../src/codemode/runtime/host.ts","../src/codemode/runtime/prelude.ts","../src/codemode/sandbox-paths.ts","../src/codemode/source.ts","../src/codemode/value.ts"],"mappings":";;;;;KAQY;;;;;;;;iBAeI,gBAAgB,gBAAgB,QAAQ;;;;UCpBvC;;;;;EAKf,QAAQ;;;;;;;EAOR;;;KAIU;GAAwB;;;UAGnB;;;;;;;EAOf;;EAEA;;EAEA,cAAc;;EAEd,eAAe;;EAEf;;;;;EAKA;;;;;;;EAOA,UAAU,eAAe,SAAS,wBAAwB;;;;;;KAOhD;EACJ;EAAc;EAAc;;EAC5B;EAAe;EAAc;;;KAGzB;;UAGK;;EAEf;;EAEA;;EAEA,QAAQ;;EAER;;;KAIU;;;;;;;;UAWK;;EAEf,MAAM;;EAEN;;EAEA;;EAEA;;;;;EAKA;;;UAIe;;EAEf,KAAK;;EAEL;;;KAIU;EAER;EACA;EACA,QAAQ;EACR,OAAO;EACP,aAAa;;EAEX;EAAW,OAAO;EAAe,QAAQ;EAAsB,OAAO;;;;;;;;;UAS3D;;EAEf;;EAEA;;;UAIe;;EAEf,QAAQ;;;;;;;EAOR,UAAU;;;;;;EAMV,YAAY;;;;;;EAMZ,YAAY;;;;;;EAMZ;;;;;EAKA;;;;;;EAMA,OAAO,qBAAqB,QAAQ;;;;;;EAMpC,qBAAqB;;;UAIN;;EAEf,SAAS;;EAET;;;;;EAKA,QAAQ,SAAS;;EAEjB,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"codemode.d.ts","names":[],"sources":["../src/codemode/wasm.ts","../src/codemode/types.ts","../src/codemode/identifier.ts","../src/codemode/declarations.ts","../src/codemode/runtime/host.ts","../src/codemode/runtime/prelude.ts","../src/codemode/sandbox-paths.ts","../src/codemode/source.ts","../src/codemode/value.ts"],"mappings":";;;;;KAQY;;;;;;;;iBAeI,gBAAgB,gBAAgB,QAAQ;;;;UCpBvC;;;;;EAKf,QAAQ;;;;;;;EAOR;;;;;;EAMA;;;KAIU;GAAwB;;;UAGnB;;;;;;;EAOf;;EAEA;;EAEA,cAAc;;EAEd,eAAe;;EAEf;;;;;EAKA;;;;;;;EAOA,UAAU,eAAe,SAAS,wBAAwB;;;;;;KAOhD;EACJ;EAAc;EAAc;;EAC5B;EAAe;EAAc;;;KAGzB;;UAGK;;EAEf;;EAEA;;EAEA,QAAQ;;EAER;;;KAIU;;;;;;;;UAWK;;EAEf,MAAM;;EAEN;;EAEA;;EAEA;;;;;EAKA;;;UAIe;;EAEf,KAAK;;EAEL;;;KAIU;EAER;EACA;EACA,QAAQ;EACR,OAAO;EACP,aAAa;;EAEX;EAAW,OAAO;EAAe,QAAQ;EAAsB,OAAO;;;;;;;;;UAS3D;;EAEf;;EAEA;;;UAIe;;EAEf,QAAQ;;;;;;;EAOR,UAAU;;;;;;EAMV,YAAY;;;;;;EAMZ,YAAY;;;;;;EAMZ;;;;;EAKA;;;;;;EAMA,OAAO,qBAAqB,QAAQ;;;;;;EAMpC,qBAAqB;;;UAIN;;EAEf,SAAS;;EAET;;;;;EAKA,QAAQ,SAAS;;EAEjB,cAAc;;;;;EAKd;;;;;EAKA,YAAY,MAAM;;;;;;;;;;iBC9MJ,qBAAqB;;;;cCExB;;;;;cAQA;;UA8EI;;EAEf,iBAAiB;;EAEjB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAwBL,mBAAmB,SAAS;;;;;;;;;;;;;iBAwC5B,oBACd,MAAM,KAAK,wDACX;EAAW;EAAwB;;;;;;;;;iBAkBrB,iBAAiB,QAAQ;;;;;;;;iBAiBzB,iBACd,MAAM,KAAK,wEACX;EAAW;;;;;;;;;iBAaG,2BAA2B,QAAQ,iCAAiC;;;;;;;;;iBAoBpE,qBAAqB,QAAQ,gCAAgC;EAAW;;;;;;;;;;;;;;iBAuDxE,aAAa,QAAQ,oBAAoB;EAAW;EAAmB;;;;;;;;;;;;;;;;;;;;;;;;;cC+I1E;mBACM;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;UACT;;;;;;EAOI,YAAA,UAAS;;;;;EAkCrB,aAAa,MAAM;;;;;;EAWnB,eAAe;;MAKX,SAAS;;MAKT,WAAW;;;;;;;;;EAYf,QAAQ,cAAc,UAAS,yBAA8B,QAAQ;;EAwB/D,SAAS;;;;;cCzhBJ;;cAEA;;;;;;;cAOA;;cAEA;;;;;;;;;;;;;;UCFI;;EAEf;;EAEA,YAAY;;;;;;;iBAUE,wBAAwB,OAAO;;iBAK/B,wBAAwB,SAAS;;;;;;;;;;;;cCrBpC;;;;;cAWA;;UAWI;;EAEf;;EAEA;;;UAIe;;EAEf;;EAEA,SAAS;;;cAIE,4BAA4B;;;;;;EAM3B,YAAA;;;;;;;;;;;;;;;;;iBA2DE,oBAAoB,gBAAgB;;;;cChH9C;;;;;;;;;;;;;;;cAgBO;;YAED;;WAED;;WAEA;;;;;EAMG,YAAA,gBAAgB;;;;;;SAUrB,GAAG,qBAAqB,aAAa"}
|
package/dist/codemode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as renderDeclarations, c as renderToolSignature, d as CODEMODE_OPTIONS_PREFIX, f as CODEMODE_SOURCE_GRAMMAR, h as toCodemodeIdentifier, i as mcpStructuredContentSchema, l as schemaToType, m as parseCodemodeSource, n as DEFAULT_INPUT_SCHEMA_MAX_CHARS, o as renderToolOutputType, p as CodemodeSourceError, r as MCP_TYPESCRIPT_PREAMBLE, s as renderToolSample, t as CodemodeValue, u as stringArgumentOf } from "./value-D6VNgBMH.js";
|
|
2
2
|
import { i as setCodemodeSandboxPaths, r as codemodeSandboxPaths, t as loadQuickJSWasm } from "./wasm-injC3S9w.js";
|
|
3
|
-
import { t as CodemodeSandbox } from "./host-
|
|
4
|
-
import { i as MAX_STORE_VALUE_CHARS, n as MAX_OUTPUT_ITEMS, r as MAX_STORE_TOTAL_CHARS, t as MAX_OUTPUT_CHARS } from "./prelude-
|
|
3
|
+
import { t as CodemodeSandbox } from "./host-DEoEzQal.js";
|
|
4
|
+
import { i as MAX_STORE_VALUE_CHARS, n as MAX_OUTPUT_ITEMS, r as MAX_STORE_TOTAL_CHARS, t as MAX_OUTPUT_CHARS } from "./prelude-BwiSR1uA.js";
|
|
5
5
|
export { CODEMODE_OPTIONS_PREFIX, CODEMODE_SOURCE_GRAMMAR, CodemodeSandbox, CodemodeSourceError, CodemodeValue, DEFAULT_INPUT_SCHEMA_MAX_CHARS, MAX_OUTPUT_CHARS, MAX_OUTPUT_ITEMS, MAX_STORE_TOTAL_CHARS, MAX_STORE_VALUE_CHARS, MCP_TYPESCRIPT_PREAMBLE, codemodeSandboxPaths, loadQuickJSWasm, mcpStructuredContentSchema, parseCodemodeSource, renderDeclarations, renderToolOutputType, renderToolSample, renderToolSignature, schemaToType, setCodemodeSandboxPaths, stringArgumentOf, toCodemodeIdentifier };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ss as HostSignal } from "./media-type-
|
|
2
|
-
import "./protocol-
|
|
1
|
+
import { ss as HostSignal } from "./media-type-ZSmAGHvg.js";
|
|
2
|
+
import "./protocol-C2lqKuMd.js";
|
|
3
3
|
import { t as HostConnectionStatus } from "./connection-CvoXPgZw.js";
|
|
4
|
-
import { t as IpcClient } from "./client-core-
|
|
4
|
+
import { t as IpcClient } from "./client-core-C_4m_oL6.js";
|
|
5
5
|
//#region src/ipc/hosts/connection-loop.d.ts
|
|
6
6
|
/** How a failed connect is handled: retried with backoff, re-checked slowly (`protocol`), or reported and left alone. */
|
|
7
7
|
type HostFailureKind = 'auth' | 'identity' | 'protocol' | 'retry';
|
|
@@ -68,4 +68,4 @@ interface HostConnectionLoop {
|
|
|
68
68
|
declare function keepHostConnected(options: HostConnectionLoopOptions): HostConnectionLoop;
|
|
69
69
|
//#endregion
|
|
70
70
|
export { keepHostConnected as a, HostFailureKind as i, HostConnectionLoopOptions as n, HostConnectionPatch as r, HostConnectionLoop as t };
|
|
71
|
-
//# sourceMappingURL=connection-loop-
|
|
71
|
+
//# sourceMappingURL=connection-loop-D_pRONCr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-loop-
|
|
1
|
+
{"version":3,"file":"connection-loop-D_pRONCr.d.ts","names":[],"sources":["../src/ipc/hosts/connection-loop.ts"],"mappings":";;;;;;KAoBY;;UAaK;;EAEf,SAAS;;EAET,SAAS;;EAET;;EAEA;;;UAIe;;EAEf,UAAU;IAAW,QAAQ;IAAa;QAA0B,QAAQ;;EAE5E,SAAS,OAAO;;;;;;EAMhB,YAAY,iBAAiB;;;;;EAK7B;;EAEA,eAAe,QAAQ;;EAEvB,YAAY,QAAQ;;EAEpB;;;;;EAKA;;;;;EAKA;;;UAIe;;EAEf;;EAEA;;;;;;;iBAYc,kBAAkB,SAAS,4BAA4B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as SandboxProvider } from "../sandbox-
|
|
1
|
+
import { pI as Logger } from "../index-WlE93Q6d.js";
|
|
2
|
+
import { d as ExecResult } from "../types-2HrgolQz.js";
|
|
3
|
+
import { t as SandboxProvider } from "../sandbox-B4OW6oNx.js";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
5
5
|
//#region src/contexts/daytona-sdk.d.ts
|
|
6
6
|
interface DaytonaExecuteResponse {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as SpawnConfig, a as ContextMount, f as ExecutionContext } from "../types-2HrgolQz.js";
|
|
2
2
|
import { Buffer } from "node:buffer";
|
|
3
3
|
//#region src/contexts/docker-files.d.ts
|
|
4
4
|
/**
|
package/dist/contexts/e2b.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as SandboxProvider } from "../sandbox-
|
|
1
|
+
import { pI as Logger } from "../index-WlE93Q6d.js";
|
|
2
|
+
import { t as SandboxProvider } from "../sandbox-B4OW6oNx.js";
|
|
3
3
|
//#region src/contexts/e2b-sdk.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Structural `e2b` SDK views + env merge shared by the E2B provider modules.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createSandboxContext, t as SandboxProvider } from "../sandbox-
|
|
1
|
+
import { n as createSandboxContext, t as SandboxProvider } from "../sandbox-B4OW6oNx.js";
|
|
2
2
|
export { SandboxProvider, createSandboxContext };
|
|
@@ -3,6 +3,7 @@ import { C as unavailableResult, _ as isWithinRoot, a as SUPPORTS_PROCESS_GROUPS
|
|
|
3
3
|
import { a as loginShell, i as localTerminalProcess, o as ptyChildProcess, r as hasLocalPty, s as spawnLocalPty, t as TERMINAL_ENV } from "./local-terminal-lBMwNIZl.js";
|
|
4
4
|
import { a as outputExceededMessage, n as appendCapped, t as DEFAULT_MAX_OUTPUT_BUFFER } from "./output-cap-DajSaBRo.js";
|
|
5
5
|
import { r as parseGitLsFiles, t as GIT_LS_FILES_ARGS } from "./git-ls-files-BrK6UBWi.js";
|
|
6
|
+
import { n as createAnsiStripper } from "./types-4q1bFG53.js";
|
|
6
7
|
import { Buffer } from "node:buffer";
|
|
7
8
|
import { basename, dirname, join, relative, resolve, sep } from "node:path";
|
|
8
9
|
import { constants, createWriteStream, openSync } from "node:fs";
|
|
@@ -538,8 +539,21 @@ function processExecMethods(s, sh) {
|
|
|
538
539
|
}
|
|
539
540
|
settle(typeof code === "number" ? code : 1);
|
|
540
541
|
};
|
|
542
|
+
const listen = options?.onOutput;
|
|
543
|
+
const decoders = listen ? {
|
|
544
|
+
stdout: new TextDecoder(),
|
|
545
|
+
stderr: new TextDecoder()
|
|
546
|
+
} : void 0;
|
|
541
547
|
const handlers = {
|
|
542
|
-
data: (stream, chunk) =>
|
|
548
|
+
data: (stream, chunk) => {
|
|
549
|
+
onChunk(stream === "stdout" ? stdoutSlot : stderrSlot, chunk);
|
|
550
|
+
if (!listen || !decoders || settled) return;
|
|
551
|
+
const text = decoders[stream].decode(chunk, { stream: true });
|
|
552
|
+
if (!text) return;
|
|
553
|
+
try {
|
|
554
|
+
listen(stream, text);
|
|
555
|
+
} catch {}
|
|
556
|
+
},
|
|
543
557
|
error: (err) => settle(1, err.message),
|
|
544
558
|
close: (code, signal) => settleFromStatus(code, signal),
|
|
545
559
|
exit: (code, signal) => {
|
|
@@ -926,109 +940,6 @@ function processFileMethods(s) {
|
|
|
926
940
|
};
|
|
927
941
|
}
|
|
928
942
|
//#endregion
|
|
929
|
-
//#region src/contexts/ansi-strip.ts
|
|
930
|
-
/** Parser states: plain text, after ESC, in a CSI, in an OSC/DCS string, after ESC inside one. */
|
|
931
|
-
const State = {
|
|
932
|
-
Text: 0,
|
|
933
|
-
Esc: 1,
|
|
934
|
-
Csi: 2,
|
|
935
|
-
Str: 3,
|
|
936
|
-
StrEsc: 4
|
|
937
|
-
};
|
|
938
|
-
/** Runs of plain text at least this long are appended in one slice; shorter ones char by char, which is cheaper for them. */
|
|
939
|
-
const SLICE_MIN = 4;
|
|
940
|
-
/** Printable text, appended to the line as is: tab, or neither a control (C0, DEL, C1) nor ESC. */
|
|
941
|
-
const isPlain = (code) => code === 9 || code >= 32 && (code < 127 || code >= 160);
|
|
942
|
-
function createAnsiStripper(options = {}) {
|
|
943
|
-
let state = State.Text;
|
|
944
|
-
/** Body of the OSC / DCS / APC string being read; OSC only is kept. */
|
|
945
|
-
let str = "";
|
|
946
|
-
let strIsOsc = false;
|
|
947
|
-
let line = "";
|
|
948
|
-
/** A `\r` arrived; the next printable rewinds the line unless `\n` follows. */
|
|
949
|
-
let pendingCr = false;
|
|
950
|
-
/** Part of the current line was handed out by `takePartial`: a rewind must start a new line. */
|
|
951
|
-
let taken = false;
|
|
952
|
-
const endString = () => {
|
|
953
|
-
if (strIsOsc && options.onTitle) {
|
|
954
|
-
const semi = str.indexOf(";");
|
|
955
|
-
const code = semi === -1 ? str : str.slice(0, semi);
|
|
956
|
-
if ((code === "0" || code === "2") && semi !== -1) options.onTitle(str.slice(semi + 1));
|
|
957
|
-
}
|
|
958
|
-
str = "";
|
|
959
|
-
state = State.Text;
|
|
960
|
-
};
|
|
961
|
-
return {
|
|
962
|
-
push(chunk) {
|
|
963
|
-
let out = "";
|
|
964
|
-
for (let i = 0; i < chunk.length; i++) {
|
|
965
|
-
const ch = chunk[i];
|
|
966
|
-
const code = ch.charCodeAt(0);
|
|
967
|
-
switch (state) {
|
|
968
|
-
case State.Text:
|
|
969
|
-
if (code === 27) state = State.Esc;
|
|
970
|
-
else if (ch === "\n") {
|
|
971
|
-
out += `${line}\n`;
|
|
972
|
-
line = "";
|
|
973
|
-
pendingCr = false;
|
|
974
|
-
taken = false;
|
|
975
|
-
} else if (ch === "\r") pendingCr = true;
|
|
976
|
-
else if (code === 8) line = line.slice(0, -1);
|
|
977
|
-
else if (code === 155) state = State.Csi;
|
|
978
|
-
else if (code === 157) {
|
|
979
|
-
state = State.Str;
|
|
980
|
-
strIsOsc = true;
|
|
981
|
-
} else if (ch === " " || code >= 32) {
|
|
982
|
-
if (code >= 127 && code < 160) break;
|
|
983
|
-
if (pendingCr) {
|
|
984
|
-
if (taken) out += "\n";
|
|
985
|
-
taken = false;
|
|
986
|
-
line = "";
|
|
987
|
-
pendingCr = false;
|
|
988
|
-
}
|
|
989
|
-
let end = i + 1;
|
|
990
|
-
while (end < chunk.length && isPlain(chunk.charCodeAt(end))) end++;
|
|
991
|
-
if (end - i < SLICE_MIN) for (let k = i; k < end; k++) line += chunk[k];
|
|
992
|
-
else line += chunk.slice(i, end);
|
|
993
|
-
i = end - 1;
|
|
994
|
-
}
|
|
995
|
-
break;
|
|
996
|
-
case State.Esc:
|
|
997
|
-
if (ch === "[") state = State.Csi;
|
|
998
|
-
else if (ch === "]" || ch === "P" || ch === "X" || ch === "^" || ch === "_") {
|
|
999
|
-
state = State.Str;
|
|
1000
|
-
strIsOsc = ch === "]";
|
|
1001
|
-
str = "";
|
|
1002
|
-
} else if (code >= 32 && code <= 47) {} else state = State.Text;
|
|
1003
|
-
break;
|
|
1004
|
-
case State.Csi:
|
|
1005
|
-
if (code >= 64 && code <= 126) state = State.Text;
|
|
1006
|
-
break;
|
|
1007
|
-
case State.Str:
|
|
1008
|
-
if (code === 7) endString();
|
|
1009
|
-
else if (code === 27) state = State.StrEsc;
|
|
1010
|
-
else if (code === 156) endString();
|
|
1011
|
-
else if (str.length < 4096) str += ch;
|
|
1012
|
-
break;
|
|
1013
|
-
case State.StrEsc: if (ch === "\\") endString();
|
|
1014
|
-
else {
|
|
1015
|
-
str += `\x1B${ch}`;
|
|
1016
|
-
state = State.Str;
|
|
1017
|
-
}
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
|
-
return out;
|
|
1021
|
-
},
|
|
1022
|
-
partial: () => line,
|
|
1023
|
-
takePartial() {
|
|
1024
|
-
const text = line;
|
|
1025
|
-
if (text) taken = true;
|
|
1026
|
-
line = "";
|
|
1027
|
-
return text;
|
|
1028
|
-
}
|
|
1029
|
-
};
|
|
1030
|
-
}
|
|
1031
|
-
//#endregion
|
|
1032
943
|
//#region src/contexts/process-shell.ts
|
|
1033
944
|
function createProcessShell(s) {
|
|
1034
945
|
const { baseEnv, defaultEnv, isolation, isolationState } = s;
|
|
@@ -1404,6 +1315,6 @@ function createProcessContext(config) {
|
|
|
1404
1315
|
};
|
|
1405
1316
|
}
|
|
1406
1317
|
//#endregion
|
|
1407
|
-
export { nodeEntryPort as
|
|
1318
|
+
export { nodeEntryPort as i, entryPortOf as n, execEntryPort as r, createProcessContext as t };
|
|
1408
1319
|
|
|
1409
|
-
//# sourceMappingURL=contexts-
|
|
1320
|
+
//# sourceMappingURL=contexts-DLZTSRHU.js.map
|