@astralyn/pi 1.4.11 → 1.5.1
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/CHANGELOG.md +79 -0
- package/dist/bundle/chunks/anthropic-messages-G5ZGBHOH.js +6 -0
- package/dist/bundle/chunks/azure-openai-responses-EMPTMYNF.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +22 -15
- package/dist/bundle/chunks/{chunk-TH3QDDPD.js → chunk-3YGNXVKM.js} +1 -1
- package/dist/bundle/chunks/chunk-AXX7FFFD.js +2 -0
- package/dist/bundle/chunks/chunk-FNGB3ASD.js +2 -0
- package/dist/bundle/chunks/chunk-FPALVF3F.js +4 -0
- package/dist/bundle/chunks/chunk-H3UF54OB.js +9 -0
- package/dist/bundle/chunks/{chunk-NUQMVNKQ.js → chunk-HLVMLRZJ.js} +58 -62
- package/dist/bundle/chunks/chunk-IC6JXX2J.js +10 -0
- package/dist/bundle/chunks/{chunk-MZJC45TM.js → chunk-J7L6O5XA.js} +3 -3
- package/dist/bundle/chunks/{chunk-DLVLAQEG.js → chunk-KBFO53OG.js} +3 -3
- package/dist/bundle/chunks/chunk-M3D4ADUT.js +1503 -0
- package/dist/bundle/chunks/{chunk-TPVFPFJP.js → chunk-P7VXFB2M.js} +1 -1
- package/dist/bundle/chunks/chunk-PSYLMRL6.js +9 -0
- package/dist/bundle/chunks/chunk-QNZARXLE.js +82 -0
- package/dist/bundle/chunks/chunk-RAIYJ5FC.js +4 -0
- package/dist/bundle/chunks/{chunk-OV2VMHBX.js → chunk-SR6EWNPW.js} +1 -1
- package/dist/bundle/chunks/chunk-TA3YH2ZI.js +16 -0
- package/dist/bundle/chunks/{chunk-24FY4C5S.js → chunk-TRSJS3FM.js} +1 -1
- package/dist/bundle/chunks/chunk-ZRI3ICDE.js +2 -0
- package/dist/bundle/chunks/{cli-MBFCFGI2.js → cli-LAZQG54B.js} +11 -9
- package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-7BKATOEJ.js → cloudflare-workers-ai-system-one-4L2ABUJE.js} +1 -1
- package/dist/bundle/chunks/{execute-VLAIP26K.js → execute-SSRW6NGS.js} +1 -1
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/{google-generative-ai-HTUSU45F.js → google-generative-ai-OOVDGS5W.js} +1 -1
- package/dist/bundle/chunks/{google-vertex-AVQV4P76.js → google-vertex-IK5RNG7J.js} +1 -1
- package/dist/bundle/chunks/image-resize-worker.js +1 -1
- package/dist/bundle/chunks/kimi-coding.js +1 -1
- package/dist/bundle/chunks/{llama-cpp-classify-27QYLJZY.js → llama-cpp-classify-XHAVT37C.js} +1 -1
- package/dist/bundle/chunks/meta.js +1 -1
- package/dist/bundle/chunks/mistral-conversations-Z56KY4OJ.js +5 -0
- package/dist/bundle/chunks/{openai-codex-responses-Q25MHDFX.js → openai-codex-responses-5NAH3SK6.js} +1 -1
- package/dist/bundle/chunks/openai-completions-S7S6PO3J.js +7 -0
- package/dist/bundle/chunks/{openai-decisions-3WYFPGSK.js → openai-decisions-7A36EAHE.js} +1 -1
- package/dist/bundle/chunks/{openai-responses-E4BNZIQK.js → openai-responses-ZQRZJKH4.js} +1 -1
- package/dist/bundle/chunks/{openrouter-images-CBP3OPOD.js → openrouter-images-X7PX72ON.js} +1 -1
- package/dist/bundle/chunks/pi-messages-TXNWPLI4.js +8 -0
- package/dist/bundle/chunks/radius.js +1 -1
- package/dist/bundle/chunks/{runtime-3RPOJS5T.js → runtime-X3XOMNXQ.js} +1 -1
- package/dist/bundle/chunks/{typesafe-system-one-BNICP2LS.js → typesafe-system-one-XJGMSHWL.js} +1 -1
- package/dist/bundle/chunks/virtual-modules-NFDW2JKH.js +2 -0
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +8 -7
- package/dist/cli/args.js.map +1 -1
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +24 -5
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +0 -5
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +12 -28
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +21 -14
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +67 -93
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +4 -2
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +16 -4
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/exec.d.ts +9 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +104 -60
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/template.css +9 -0
- package/dist/core/export-html/template.js +165 -45
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +5 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +7 -6
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/pi-ai-extension-view.d.ts +19 -0
- package/dist/core/extensions/pi-ai-extension-view.d.ts.map +1 -0
- package/dist/core/extensions/pi-ai-extension-view.js +22 -0
- package/dist/core/extensions/pi-ai-extension-view.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +0 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +7 -12
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +41 -23
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/virtual-modules.js +8 -7
- package/dist/core/extensions/virtual-modules.js.map +1 -1
- package/dist/core/mcp-servers.d.ts +11 -4
- package/dist/core/mcp-servers.d.ts.map +1 -1
- package/dist/core/mcp-servers.js +15 -5
- package/dist/core/mcp-servers.js.map +1 -1
- package/dist/core/model-config.d.ts +1678 -2029
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +2 -3
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +16 -10
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-manager.d.ts +14 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +160 -46
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-ai-schemas.d.ts +163 -0
- package/dist/core/pi-ai-schemas.d.ts.map +1 -0
- package/dist/core/pi-ai-schemas.js +21 -0
- package/dist/core/pi-ai-schemas.js.map +1 -0
- package/dist/core/pi-manifest.d.ts +1 -0
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +4 -0
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/project-trust.js +1 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/quiescence.d.ts +24 -0
- package/dist/core/quiescence.d.ts.map +1 -0
- package/dist/core/quiescence.js +81 -0
- package/dist/core/quiescence.js.map +1 -0
- package/dist/core/resource-loader.d.ts +4 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +41 -28
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +3 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +7 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +32 -13
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +11 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-schema.d.ts +4 -2
- package/dist/core/settings-schema.d.ts.map +1 -1
- package/dist/core/settings-schema.js +8 -1
- package/dist/core/settings-schema.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +6 -14
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-command-name.d.ts +6 -0
- package/dist/core/slash-command-name.d.ts.map +1 -0
- package/dist/core/slash-command-name.js +11 -0
- package/dist/core/slash-command-name.js.map +1 -0
- package/dist/core/slash-commands.js +2 -2
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +9 -0
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js +13 -0
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +5 -6
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tasks/activity.d.ts +14 -0
- package/dist/core/tasks/activity.d.ts.map +1 -0
- package/dist/core/tasks/activity.js +58 -0
- package/dist/core/tasks/activity.js.map +1 -0
- package/dist/core/tasks/codec.d.ts +14 -0
- package/dist/core/tasks/codec.d.ts.map +1 -1
- package/dist/core/tasks/codec.js +57 -4
- package/dist/core/tasks/codec.js.map +1 -1
- package/dist/core/tasks/execution.d.ts.map +1 -1
- package/dist/core/tasks/execution.js +2 -2
- package/dist/core/tasks/execution.js.map +1 -1
- package/dist/core/tasks/output.d.ts +4 -1
- package/dist/core/tasks/output.d.ts.map +1 -1
- package/dist/core/tasks/output.js +33 -0
- package/dist/core/tasks/output.js.map +1 -1
- package/dist/core/tasks/record.d.ts +1 -7
- package/dist/core/tasks/record.d.ts.map +1 -1
- package/dist/core/tasks/record.js +0 -18
- package/dist/core/tasks/record.js.map +1 -1
- package/dist/core/tasks/reminder.d.ts +3 -2
- package/dist/core/tasks/reminder.d.ts.map +1 -1
- package/dist/core/tasks/reminder.js +4 -3
- package/dist/core/tasks/reminder.js.map +1 -1
- package/dist/core/tasks/runtime.d.ts +0 -2
- package/dist/core/tasks/runtime.d.ts.map +1 -1
- package/dist/core/tasks/runtime.js +2 -15
- package/dist/core/tasks/runtime.js.map +1 -1
- package/dist/core/tasks/session.d.ts +9 -2
- package/dist/core/tasks/session.d.ts.map +1 -1
- package/dist/core/tasks/session.js +23 -9
- package/dist/core/tasks/session.js.map +1 -1
- package/dist/core/tasks/types.d.ts +20 -20
- package/dist/core/tasks/types.d.ts.map +1 -1
- package/dist/core/tasks/types.js +1 -1
- package/dist/core/tasks/types.js.map +1 -1
- package/dist/core/tools/bash.d.ts +8 -7
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +6 -5
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -3
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +2 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts +2 -2
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +2 -2
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts +2 -2
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +1 -5
- package/dist/core/tools/powershell.d.ts.map +1 -1
- package/dist/core/tools/read.d.ts +2 -2
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +4 -6
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +19 -41
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +3 -25
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/renderers/write.d.ts.map +1 -1
- package/dist/core/tools/renderers/write.js +18 -19
- package/dist/core/tools/renderers/write.js.map +1 -1
- package/dist/core/tools/shell-execution.d.ts +20 -13
- package/dist/core/tools/shell-execution.d.ts.map +1 -1
- package/dist/core/tools/shell-execution.js +165 -183
- package/dist/core/tools/shell-execution.js.map +1 -1
- package/dist/core/tools/shell-tool.d.ts +9 -14
- package/dist/core/tools/shell-tool.d.ts.map +1 -1
- package/dist/core/tools/shell-tool.js +38 -66
- package/dist/core/tools/shell-tool.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -4
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +2 -3
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/write.d.ts +2 -2
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +30 -13
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.d.ts +0 -9
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js +24 -91
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/extensions/agent/activity-lines.d.ts +2 -7
- package/dist/extensions/agent/activity-lines.d.ts.map +1 -1
- package/dist/extensions/agent/activity-lines.js +6 -74
- package/dist/extensions/agent/activity-lines.js.map +1 -1
- package/dist/extensions/agent/activity.d.ts +0 -21
- package/dist/extensions/agent/activity.d.ts.map +1 -1
- package/dist/extensions/agent/activity.js +0 -63
- package/dist/extensions/agent/activity.js.map +1 -1
- package/dist/extensions/agent/progress.d.ts +0 -3
- package/dist/extensions/agent/progress.d.ts.map +1 -1
- package/dist/extensions/agent/progress.js +11 -10
- package/dist/extensions/agent/progress.js.map +1 -1
- package/dist/extensions/agent/render.js +1 -1
- package/dist/extensions/agent/render.js.map +1 -1
- package/dist/extensions/agent/tool.d.ts.map +1 -1
- package/dist/extensions/agent/tool.js +0 -6
- package/dist/extensions/agent/tool.js.map +1 -1
- package/dist/extensions/agent/types.d.ts +3 -11
- package/dist/extensions/agent/types.d.ts.map +1 -1
- package/dist/extensions/agent/types.js.map +1 -1
- package/dist/{core/isolated-session.d.ts → extensions/agent/worker-session.d.ts} +6 -6
- package/dist/extensions/agent/worker-session.d.ts.map +1 -0
- package/dist/{core/isolated-session.js → extensions/agent/worker-session.js} +9 -9
- package/dist/extensions/agent/worker-session.js.map +1 -0
- package/dist/extensions/agent/worker.d.ts +0 -3
- package/dist/extensions/agent/worker.d.ts.map +1 -1
- package/dist/extensions/agent/worker.js +2 -3
- package/dist/extensions/agent/worker.js.map +1 -1
- package/dist/extensions/btw/agent.d.ts.map +1 -1
- package/dist/extensions/btw/agent.js +2 -1
- package/dist/extensions/btw/agent.js.map +1 -1
- package/dist/extensions/cached-compaction/render.d.ts.map +1 -1
- package/dist/extensions/cached-compaction/render.js +3 -3
- package/dist/extensions/cached-compaction/render.js.map +1 -1
- package/dist/extensions/codemode/renderer.d.ts.map +1 -1
- package/dist/extensions/codemode/renderer.js +6 -2
- package/dist/extensions/codemode/renderer.js.map +1 -1
- package/dist/extensions/codemode/tool.d.ts +2 -1
- package/dist/extensions/codemode/tool.d.ts.map +1 -1
- package/dist/extensions/codemode/tool.js +33 -8
- package/dist/extensions/codemode/tool.js.map +1 -1
- package/dist/extensions/deepwiki/schema.d.ts.map +1 -1
- package/dist/extensions/deepwiki/schema.js +1 -1
- package/dist/extensions/deepwiki/schema.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js +16 -4
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/extensions/mcp/cli.d.ts.map +1 -1
- package/dist/extensions/mcp/cli.js +34 -8
- package/dist/extensions/mcp/cli.js.map +1 -1
- package/dist/extensions/mcp/oauth.d.ts +1 -1
- package/dist/extensions/mcp/oauth.d.ts.map +1 -1
- package/dist/extensions/mcp/oauth.js +36 -13
- package/dist/extensions/mcp/oauth.js.map +1 -1
- package/dist/extensions/mcp/ui.d.ts +1 -0
- package/dist/extensions/mcp/ui.d.ts.map +1 -1
- package/dist/extensions/mcp/ui.js +33 -24
- package/dist/extensions/mcp/ui.js.map +1 -1
- package/dist/extensions/run-summary/index.d.ts +1 -1
- package/dist/extensions/run-summary/index.d.ts.map +1 -1
- package/dist/extensions/run-summary/index.js +11 -23
- package/dist/extensions/run-summary/index.js.map +1 -1
- package/dist/extensions/statusline/usage.d.ts.map +1 -1
- package/dist/extensions/statusline/usage.js +2 -1
- package/dist/extensions/statusline/usage.js.map +1 -1
- package/dist/extensions/tasks/tool/schema.d.ts.map +1 -1
- package/dist/extensions/tasks/tool/schema.js +1 -1
- package/dist/extensions/tasks/tool/schema.js.map +1 -1
- package/dist/extensions/tasks/ui/completion-render.d.ts +5 -1
- package/dist/extensions/tasks/ui/completion-render.d.ts.map +1 -1
- package/dist/extensions/tasks/ui/completion-render.js +25 -70
- package/dist/extensions/tasks/ui/completion-render.js.map +1 -1
- package/dist/extensions/tasks/ui/inspector.d.ts +1 -1
- package/dist/extensions/tasks/ui/inspector.d.ts.map +1 -1
- package/dist/extensions/tasks/ui/inspector.js +3 -7
- package/dist/extensions/tasks/ui/inspector.js.map +1 -1
- package/dist/extensions/tasks/ui/manager.d.ts +1 -1
- package/dist/extensions/tasks/ui/manager.d.ts.map +1 -1
- package/dist/extensions/tasks/ui/manager.js.map +1 -1
- package/dist/extensions/tasks/ui/views.d.ts +3 -4
- package/dist/extensions/tasks/ui/views.d.ts.map +1 -1
- package/dist/extensions/tasks/ui/views.js +15 -14
- package/dist/extensions/tasks/ui/views.js.map +1 -1
- package/dist/extensions/tool-presentation/fallback.d.ts.map +1 -0
- package/dist/{modes/interactive/tool-view → extensions/tool-presentation}/fallback.js +5 -5
- package/dist/extensions/tool-presentation/fallback.js.map +1 -0
- package/dist/extensions/tool-presentation/index.js +1 -1
- package/dist/extensions/tool-presentation/index.js.map +1 -1
- package/dist/{modes/interactive/tool-view → extensions/tool-presentation}/shell.d.ts +1 -1
- package/dist/extensions/tool-presentation/shell.d.ts.map +1 -0
- package/dist/{modes/interactive/tool-view → extensions/tool-presentation}/shell.js +3 -3
- package/dist/extensions/tool-presentation/shell.js.map +1 -0
- package/dist/extensions/tool-search/tool.d.ts +21 -6
- package/dist/extensions/tool-search/tool.d.ts.map +1 -1
- package/dist/extensions/tool-search/tool.js +104 -36
- package/dist/extensions/tool-search/tool.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +15 -8
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +5 -3
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +61 -45
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-skills.d.ts +54 -0
- package/dist/modes/interactive/components/config-selector-skills.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector-skills.js +178 -0
- package/dist/modes/interactive/components/config-selector-skills.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +2 -11
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +31 -181
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +7 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +2 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +2 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +2 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +4 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +5 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +103 -10
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts +2 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.js +3 -2
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +17 -6
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +13 -4
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +14 -3
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts +4 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +86 -22
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +2 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +15 -23
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.js +2 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
- package/dist/modes/interactive/components/task-activity-list.d.ts +5 -0
- package/dist/modes/interactive/components/task-activity-list.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-activity-list.js +68 -0
- package/dist/modes/interactive/components/task-activity-list.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +7 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +48 -9
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +5 -6
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +9 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +3 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +4 -2
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/editor-host.d.ts.map +1 -1
- package/dist/modes/interactive/editor-host.js +3 -2
- package/dist/modes/interactive/editor-host.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +1 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +17 -5
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +8 -12
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +169 -112
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-search.d.ts +10 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -1
- package/dist/modes/interactive/model-search.js +21 -0
- package/dist/modes/interactive/model-search.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +10 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +30 -23
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/tool-view/chat.d.ts +2 -2
- package/dist/modes/interactive/tool-view/chat.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/chat.js +22 -19
- package/dist/modes/interactive/tool-view/chat.js.map +1 -1
- package/dist/modes/interactive/transcript-layout.d.ts +2 -0
- package/dist/modes/interactive/transcript-layout.d.ts.map +1 -1
- package/dist/modes/interactive/transcript-layout.js +5 -2
- package/dist/modes/interactive/transcript-layout.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +9 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +23 -23
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +0 -3
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +55 -4
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js +5 -2
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/clipboard-command.d.ts.map +1 -1
- package/dist/utils/clipboard-command.js +4 -0
- package/dist/utils/clipboard-command.js.map +1 -1
- package/dist/utils/git.d.ts +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js +5 -3
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js +4 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts +17 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +42 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +14 -0
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +5 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +7 -0
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +30 -35
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/usage.d.ts +5 -0
- package/dist/utils/usage.d.ts.map +1 -0
- package/dist/utils/usage.js +16 -0
- package/dist/utils/usage.js.map +1 -0
- package/docs/bundled/README.md +1 -1
- package/docs/bundled/extensions/agent.md +5 -5
- package/docs/bundled/extensions/run-summary.md +4 -4
- package/docs/bundled/tasks.md +2 -4
- package/docs/bundled/tool-presentation.md +2 -2
- package/docs/custom-provider.md +1 -1
- package/docs/environment-variables.md +2 -0
- package/docs/extensions.md +38 -21
- package/docs/keybindings.md +1 -1
- package/docs/llama-cpp.md +17 -12
- package/docs/mcp.md +6 -4
- package/docs/packages.md +26 -1
- package/docs/rpc.md +1 -1
- package/docs/sdk.md +7 -5
- package/docs/session-format.md +2 -2
- package/docs/sessions.md +10 -0
- package/docs/settings.md +5 -4
- package/docs/terminal-setup.md +2 -2
- package/docs/tmux.md +6 -0
- package/docs/tui.md +12 -7
- package/docs/usage.md +19 -9
- package/docs/windows.md +29 -0
- package/examples/extensions/README.md +2 -1
- package/examples/extensions/custom-provider-anthropic/index.ts +27 -31
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/debug-provider.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +19 -29
- package/examples/extensions/gondolin/package.json +2 -2
- package/examples/extensions/preset.ts +2 -0
- package/examples/extensions/reload-runtime.ts +17 -5
- package/examples/extensions/tools.ts +2 -0
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +9 -9
- package/schemas/models.schema.json +36 -36
- package/schemas/settings.schema.json +17 -0
- package/dist/bundle/chunks/anthropic-messages-HWL6AS7T.js +0 -6
- package/dist/bundle/chunks/azure-openai-responses-4YYPDYV5.js +0 -2
- package/dist/bundle/chunks/chunk-6JS2SOFO.js +0 -11
- package/dist/bundle/chunks/chunk-ANCZPKX7.js +0 -2
- package/dist/bundle/chunks/chunk-FEZ5RM2B.js +0 -2
- package/dist/bundle/chunks/chunk-LPF7HQ3S.js +0 -4
- package/dist/bundle/chunks/chunk-MMNIHCU7.js +0 -2
- package/dist/bundle/chunks/chunk-PUU43PDV.js +0 -1484
- package/dist/bundle/chunks/chunk-R267VV5T.js +0 -82
- package/dist/bundle/chunks/chunk-RVKT7OUB.js +0 -9
- package/dist/bundle/chunks/chunk-SA2AQYEI.js +0 -7
- package/dist/bundle/chunks/chunk-ZAIGBRV5.js +0 -16
- package/dist/bundle/chunks/mistral-conversations-V2JJTMJ5.js +0 -5
- package/dist/bundle/chunks/openai-completions-TXZXILJR.js +0 -7
- package/dist/bundle/chunks/pi-messages-LBJQ4NGP.js +0 -8
- package/dist/bundle/chunks/virtual-modules-63XNTSVN.js +0 -2
- package/dist/core/isolated-session.d.ts.map +0 -1
- package/dist/core/isolated-session.js.map +0 -1
- package/dist/modes/interactive/tool-view/fallback.d.ts.map +0 -1
- package/dist/modes/interactive/tool-view/fallback.js.map +0 -1
- package/dist/modes/interactive/tool-view/shell.d.ts.map +0 -1
- package/dist/modes/interactive/tool-view/shell.js.map +0 -1
- package/dist/utils/path-identity.d.ts +0 -12
- package/dist/utils/path-identity.d.ts.map +0 -1
- package/dist/utils/path-identity.js +0 -63
- package/dist/utils/path-identity.js.map +0 -1
- package/examples/extensions/sandbox/index.ts +0 -321
- package/examples/extensions/sandbox/package-lock.json +0 -92
- package/examples/extensions/sandbox/package.json +0 -19
- /package/dist/{modes/interactive/tool-view → extensions/tool-presentation}/fallback.d.ts +0 -0
|
@@ -37,9 +37,11 @@ import { convertToLlm } from "./messages.js";
|
|
|
37
37
|
import { ModelRegistry } from "./model-registry.js";
|
|
38
38
|
import { NestedToolCallRunner } from "./nested-tool-calls.js";
|
|
39
39
|
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
40
|
+
import { QuiescenceLatch } from "./quiescence.js";
|
|
40
41
|
import { exportSessionToJsonl } from "./session-export.js";
|
|
41
42
|
import { getLatestCompactionEntry, SessionManager, } from "./session-manager.js";
|
|
42
43
|
import { applyToolModifiers, DEFAULT_TOOL_NAMES, } from "./settings-manager.js";
|
|
44
|
+
import { slashCommandName } from "./slash-command-name.js";
|
|
43
45
|
import { BUILTIN_PATH_PREFIX, createSyntheticSourceInfo, isSyntheticPath } from "./source-info.js";
|
|
44
46
|
import { buildSystemPrompt, buildSystemPromptSections, diffSystemPromptSections, normalizeBuildSystemPromptOptions, } from "./system-prompt.js";
|
|
45
47
|
import { TaskSession } from "./tasks/session.js";
|
|
@@ -49,6 +51,16 @@ import { createLocalBashOperations } from "./tools/shell-operations.js";
|
|
|
49
51
|
import { createToolDefinitionFromAgentTool } from "./tools/tool-definition-wrapper.js";
|
|
50
52
|
import { addUsageToTotals, combineUsage, createUsageTotals, getAccountedUsages } from "./usage-totals.js";
|
|
51
53
|
import { findLatestResponse, getBranchSelection, getVirtualModelState, isVirtualModel, VIRTUAL_MODEL_STATE_ENTRY, } from "./virtual-models.js";
|
|
54
|
+
/**
|
|
55
|
+
* Stream functions that resolve auth through a given ModelRuntime themselves, such as the one
|
|
56
|
+
* createAgentSession installs. Summaries sent through them must not pass pre-resolved credentials:
|
|
57
|
+
* the runtime would take them as an explicit API key instead of the stored OAuth login (#11520).
|
|
58
|
+
*/
|
|
59
|
+
const runtimeStreamFunctions = new WeakMap();
|
|
60
|
+
/** Mark `streamFn` as resolving auth through `modelRuntime` on its own. */
|
|
61
|
+
export function markRuntimeStreamFunction(streamFn, modelRuntime) {
|
|
62
|
+
runtimeStreamFunctions.set(streamFn, modelRuntime);
|
|
63
|
+
}
|
|
52
64
|
/**
|
|
53
65
|
* Parse a skill block from message text.
|
|
54
66
|
* Returns null if the text doesn't contain a skill block.
|
|
@@ -114,11 +126,13 @@ export class AgentSession {
|
|
|
114
126
|
this._isBeforeSettle = false;
|
|
115
127
|
this._abortDuringBeforeSettle = false;
|
|
116
128
|
this._isEmittingAgentSettled = false;
|
|
117
|
-
/** Last observed quiescence; a transition into true emits `session_quiescent` once. */
|
|
118
|
-
this._quiescent = true;
|
|
119
|
-
this._quiescenceDisposed = false;
|
|
120
|
-
this._quiescenceWaiters = new Set();
|
|
121
129
|
this._deferredSettledActions = [];
|
|
130
|
+
/**
|
|
131
|
+
* Settled emissions in progress, with the actions they defer. A deferred prompt's input preflight
|
|
132
|
+
* is asynchronous and comes before its run marks the session busy.
|
|
133
|
+
*/
|
|
134
|
+
this._settling = 0;
|
|
135
|
+
this._quiescence = new QuiescenceLatch(() => this._isBusy(), () => this._emit({ type: "session_quiescent" }));
|
|
122
136
|
this._baseToolDefinitions = new Map();
|
|
123
137
|
/**
|
|
124
138
|
* Tools of the restored or reloaded loadout that are not registered yet, such as tools of MCP
|
|
@@ -141,13 +155,7 @@ export class AgentSession {
|
|
|
141
155
|
this._toolPromptGuidelines = new Map();
|
|
142
156
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
143
157
|
this._handleAgentEvent = async (event) => {
|
|
144
|
-
|
|
145
|
-
this._tasksHost.delivery.messageStarted(event.message);
|
|
146
|
-
if (event.type === "message_end" &&
|
|
147
|
-
event.message.role === "assistant" &&
|
|
148
|
-
event.message.stopReason !== "error" &&
|
|
149
|
-
event.message.stopReason !== "aborted")
|
|
150
|
-
this._tasksHost.noteAssistantCompleted();
|
|
158
|
+
this._tasksHost.observe(event);
|
|
151
159
|
// An abort requested while the run was starting, e.g. during before_agent_start, stops it
|
|
152
160
|
// here. agent_start is awaited before the first request.
|
|
153
161
|
if (event.type === "agent_start" && this._agentRunAbortRequested)
|
|
@@ -238,8 +246,6 @@ export class AgentSession {
|
|
|
238
246
|
if (event.type === "turn_end") {
|
|
239
247
|
this._flushPendingCustomMessages();
|
|
240
248
|
}
|
|
241
|
-
if (event.type === "agent_end")
|
|
242
|
-
this._tasksHost.delivery.agentEnded();
|
|
243
249
|
};
|
|
244
250
|
this.agent = config.agent;
|
|
245
251
|
this.sessionManager = config.sessionManager;
|
|
@@ -268,7 +274,7 @@ export class AgentSession {
|
|
|
268
274
|
onEntry: (entry) => this._emit({ type: "entry_appended", entry }),
|
|
269
275
|
onError: (event, error) => this._extensionRunner?.emitError({ extensionPath: "<background>", event, error }),
|
|
270
276
|
});
|
|
271
|
-
this._tasksHost.subscribe(() => this.
|
|
277
|
+
this._tasksHost.subscribe(() => this._quiescence.poke());
|
|
272
278
|
this._scopedModels = config.scopedModels ?? [];
|
|
273
279
|
this._resourceLoader = config.resourceLoader;
|
|
274
280
|
this._customTools = config.customTools ?? [];
|
|
@@ -330,10 +336,10 @@ export class AgentSession {
|
|
|
330
336
|
this._tasksHost.acknowledgeDelivery(taskId);
|
|
331
337
|
}
|
|
332
338
|
/**
|
|
333
|
-
*
|
|
339
|
+
* Hold this session's completion delivery across an async operation, even one that replaces the session.
|
|
334
340
|
* Lifecycle methods are thin shells over upstream bodies so those keep upstream's shape.
|
|
335
341
|
*/
|
|
336
|
-
async
|
|
342
|
+
async withTaskNotificationsPaused(operation) {
|
|
337
343
|
const resumeBackground = this.pauseTaskNotifications();
|
|
338
344
|
try {
|
|
339
345
|
return await operation();
|
|
@@ -342,6 +348,10 @@ export class AgentSession {
|
|
|
342
348
|
resumeBackground();
|
|
343
349
|
}
|
|
344
350
|
}
|
|
351
|
+
/** Close task admission, abort the run and drain executors within `graceMs`, persisting their usage. */
|
|
352
|
+
async shutdownTasks(graceMs) {
|
|
353
|
+
await Promise.all([this._tasksHost.shutdown(graceMs), this.abort()]);
|
|
354
|
+
}
|
|
345
355
|
get modelRuntime() {
|
|
346
356
|
return this._modelRuntime;
|
|
347
357
|
}
|
|
@@ -390,6 +400,9 @@ export class AgentSession {
|
|
|
390
400
|
if (this.agent.streamFunction === streamSimple) {
|
|
391
401
|
return { ...(await this._getRequiredRequestAuth(model, signal)), thinkingLevel };
|
|
392
402
|
}
|
|
403
|
+
if (runtimeStreamFunctions.get(this.agent.streamFunction) === this._modelRuntime) {
|
|
404
|
+
return { model, thinkingLevel };
|
|
405
|
+
}
|
|
393
406
|
try {
|
|
394
407
|
const result = await this._modelRuntime.getAuth(model, { signal });
|
|
395
408
|
if (!result)
|
|
@@ -783,48 +796,24 @@ export class AgentSession {
|
|
|
783
796
|
for (const l of this._eventListeners) {
|
|
784
797
|
l(event);
|
|
785
798
|
}
|
|
786
|
-
//
|
|
787
|
-
|
|
788
|
-
|
|
799
|
+
// Any event may follow a change quiescence reads, such as queued input or a compaction
|
|
800
|
+
// starting outside a run.
|
|
801
|
+
this._quiescence.poke();
|
|
789
802
|
}
|
|
790
803
|
/**
|
|
791
|
-
* Whether
|
|
792
|
-
*
|
|
793
|
-
* delivery, so completions that cannot start a turn do not count.
|
|
804
|
+
* Whether more will happen without new input. Queued user input only matters during a run; left
|
|
805
|
+
* in the queue while idle it waits for the next prompt and holds back automatic delivery.
|
|
794
806
|
*/
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
this.
|
|
798
|
-
this.
|
|
807
|
+
_isBusy() {
|
|
808
|
+
return (!this.isIdle ||
|
|
809
|
+
this._settling > 0 ||
|
|
810
|
+
this.isRetrying ||
|
|
799
811
|
this._pendingCustomMessages.length > 0 ||
|
|
800
|
-
this.
|
|
801
|
-
this.isRetrying) {
|
|
802
|
-
return false;
|
|
803
|
-
}
|
|
804
|
-
if (this._tasksHost.runningBackground().length > 0)
|
|
805
|
-
return false;
|
|
806
|
-
const inputBlocksDelivery = this.pendingMessageCount > 0 || this.agent.hasQueuedMessages();
|
|
807
|
-
return !(this.model !== undefined && !inputBlocksDelivery && this._tasksHost.delivery.hasDeliverableWork());
|
|
812
|
+
!this._tasksHost.isQuiet());
|
|
808
813
|
}
|
|
809
814
|
/** Whether the session is quiescent now. See {@link AgentSessionEvent} `session_quiescent`. */
|
|
810
815
|
get isQuiescent() {
|
|
811
|
-
return
|
|
812
|
-
}
|
|
813
|
-
_updateQuiescence() {
|
|
814
|
-
if (this._quiescenceDisposed)
|
|
815
|
-
return;
|
|
816
|
-
const quiescent = this._computeQuiescent();
|
|
817
|
-
const entered = quiescent && !this._quiescent;
|
|
818
|
-
this._quiescent = quiescent;
|
|
819
|
-
if (!quiescent)
|
|
820
|
-
return;
|
|
821
|
-
if (entered)
|
|
822
|
-
this._emit({ type: "session_quiescent" });
|
|
823
|
-
// A listener may have started new work.
|
|
824
|
-
if (!this._quiescent)
|
|
825
|
-
return;
|
|
826
|
-
for (const waiter of [...this._quiescenceWaiters])
|
|
827
|
-
waiter.resolve();
|
|
816
|
+
return this._quiescence.isQuiescent;
|
|
828
817
|
}
|
|
829
818
|
/**
|
|
830
819
|
* Resolve once the session is quiescent: no run, compaction, retry or branch summary, no
|
|
@@ -834,31 +823,7 @@ export class AgentSession {
|
|
|
834
823
|
* the session is disposed.
|
|
835
824
|
*/
|
|
836
825
|
waitForQuiescence(signal) {
|
|
837
|
-
|
|
838
|
-
return Promise.reject(new Error("The session was disposed"));
|
|
839
|
-
if (signal?.aborted)
|
|
840
|
-
return Promise.reject(signal.reason);
|
|
841
|
-
if (this._computeQuiescent())
|
|
842
|
-
return Promise.resolve();
|
|
843
|
-
return new Promise((resolve, reject) => {
|
|
844
|
-
const waiter = {
|
|
845
|
-
resolve: () => {
|
|
846
|
-
cleanup();
|
|
847
|
-
resolve();
|
|
848
|
-
},
|
|
849
|
-
reject: (reason) => {
|
|
850
|
-
cleanup();
|
|
851
|
-
reject(reason);
|
|
852
|
-
},
|
|
853
|
-
};
|
|
854
|
-
const onAbort = () => waiter.reject(signal?.reason);
|
|
855
|
-
const cleanup = () => {
|
|
856
|
-
this._quiescenceWaiters.delete(waiter);
|
|
857
|
-
signal?.removeEventListener("abort", onAbort);
|
|
858
|
-
};
|
|
859
|
-
this._quiescenceWaiters.add(waiter);
|
|
860
|
-
signal?.addEventListener("abort", onAbort, { once: true });
|
|
861
|
-
});
|
|
826
|
+
return this._quiescence.wait(signal);
|
|
862
827
|
}
|
|
863
828
|
_emitQueueUpdate() {
|
|
864
829
|
this._emit({
|
|
@@ -881,7 +846,7 @@ export class AgentSession {
|
|
|
881
846
|
return this._idleWaitPromise;
|
|
882
847
|
}
|
|
883
848
|
_resolveIdleWaitIfIdle() {
|
|
884
|
-
this.
|
|
849
|
+
this._quiescence.poke();
|
|
885
850
|
if (!this.isIdle || !this._resolveIdleWait) {
|
|
886
851
|
return;
|
|
887
852
|
}
|
|
@@ -895,7 +860,14 @@ export class AgentSession {
|
|
|
895
860
|
* so a deferred prompt never races a delivery for the same idle gap.
|
|
896
861
|
*/
|
|
897
862
|
async _emitAgentSettled() {
|
|
898
|
-
|
|
863
|
+
this._settling++;
|
|
864
|
+
try {
|
|
865
|
+
await this.withTaskNotificationsPaused(() => this._emitAgentSettledBody());
|
|
866
|
+
}
|
|
867
|
+
finally {
|
|
868
|
+
this._settling--;
|
|
869
|
+
this._quiescence.poke();
|
|
870
|
+
}
|
|
899
871
|
}
|
|
900
872
|
async _emitAgentSettledBody() {
|
|
901
873
|
this._cacheWarmer?.onAgentSettled();
|
|
@@ -1147,11 +1119,8 @@ export class AgentSession {
|
|
|
1147
1119
|
* Call this when completely done with the session.
|
|
1148
1120
|
*/
|
|
1149
1121
|
dispose() {
|
|
1150
|
-
this.
|
|
1151
|
-
const waiters = [...this._quiescenceWaiters];
|
|
1122
|
+
this._quiescence.dispose();
|
|
1152
1123
|
this._tasksHost.dispose();
|
|
1153
|
-
for (const waiter of waiters)
|
|
1154
|
-
waiter.reject(new Error("The session was disposed"));
|
|
1155
1124
|
try {
|
|
1156
1125
|
this.abortRetry();
|
|
1157
1126
|
this.abortCompaction();
|
|
@@ -1314,9 +1283,14 @@ export class AgentSession {
|
|
|
1314
1283
|
* the registered, non-hidden ones; they are declared to the model. Active tools with a
|
|
1315
1284
|
* `prepareLoadout` hook can change the declared descriptions and hide declarations from
|
|
1316
1285
|
* requests (see {@link _installHiddenDeclarationsProjection}).
|
|
1286
|
+
*
|
|
1287
|
+
* The active tools are a set: tools that stay active keep their current order and newly active
|
|
1288
|
+
* ones are appended, so reordering the same names does not change the prompt (#11495).
|
|
1317
1289
|
*/
|
|
1318
1290
|
_applyToolLoadout(toolNames) {
|
|
1319
|
-
const
|
|
1291
|
+
const requested = new Set(toolNames);
|
|
1292
|
+
const kept = this.getActiveToolNames().filter((name) => requested.has(name));
|
|
1293
|
+
const tools = [...new Set([...kept, ...requested])].flatMap((name) => {
|
|
1320
1294
|
const tool = this._toolRegistry.get(name);
|
|
1321
1295
|
return tool && this._getToolExposure(name) !== "hidden" && this._isActivatable(name) ? [tool] : [];
|
|
1322
1296
|
});
|
|
@@ -1575,7 +1549,7 @@ export class AgentSession {
|
|
|
1575
1549
|
async _startRun(trigger, onStarted) {
|
|
1576
1550
|
this._isAgentRunActive = true;
|
|
1577
1551
|
this._agentRunAbortRequested = false;
|
|
1578
|
-
this.
|
|
1552
|
+
this._quiescence.poke();
|
|
1579
1553
|
let messages;
|
|
1580
1554
|
try {
|
|
1581
1555
|
messages = await this._prepareRun(trigger);
|
|
@@ -1807,10 +1781,10 @@ export class AgentSession {
|
|
|
1807
1781
|
}
|
|
1808
1782
|
}
|
|
1809
1783
|
_isExtensionCommandPrompt(text, options) {
|
|
1810
|
-
if (!(options?.expandPromptTemplates ?? true)
|
|
1784
|
+
if (!(options?.expandPromptTemplates ?? true))
|
|
1811
1785
|
return false;
|
|
1812
|
-
const
|
|
1813
|
-
return
|
|
1786
|
+
const name = slashCommandName(text);
|
|
1787
|
+
return name !== undefined && this._extensionRunner.getCommand(name) !== undefined;
|
|
1814
1788
|
}
|
|
1815
1789
|
async _promptBody(text, options) {
|
|
1816
1790
|
if (this._isEmittingAgentSettled) {
|
|
@@ -2414,7 +2388,7 @@ export class AgentSession {
|
|
|
2414
2388
|
* @param customInstructions Optional instructions for the compaction summary
|
|
2415
2389
|
*/
|
|
2416
2390
|
async compact(customInstructions) {
|
|
2417
|
-
return this.
|
|
2391
|
+
return this.withTaskNotificationsPaused(() => this._compactBody(customInstructions));
|
|
2418
2392
|
}
|
|
2419
2393
|
async _compactBody(customInstructions) {
|
|
2420
2394
|
await this.abort();
|
|
@@ -2709,7 +2683,7 @@ export class AgentSession {
|
|
|
2709
2683
|
* @returns Whether the post-run loop should call `agent.continue()`
|
|
2710
2684
|
*/
|
|
2711
2685
|
async _runAutoCompaction(reason, willRetry) {
|
|
2712
|
-
return this.
|
|
2686
|
+
return this.withTaskNotificationsPaused(() => this._runAutoCompactionBody(reason, willRetry));
|
|
2713
2687
|
}
|
|
2714
2688
|
async _runAutoCompactionBody(reason, willRetry) {
|
|
2715
2689
|
const model = this.model;
|
|
@@ -2852,7 +2826,7 @@ export class AgentSession {
|
|
|
2852
2826
|
return this.settingsManager.getCompactionEnabled();
|
|
2853
2827
|
}
|
|
2854
2828
|
async bindExtensions(bindings) {
|
|
2855
|
-
return this.
|
|
2829
|
+
return this.withTaskNotificationsPaused(() => this._bindExtensionsBody(bindings));
|
|
2856
2830
|
}
|
|
2857
2831
|
async _bindExtensionsBody(bindings) {
|
|
2858
2832
|
if (bindings.tasksEnabled !== undefined) {
|
|
@@ -3201,12 +3175,12 @@ export class AgentSession {
|
|
|
3201
3175
|
});
|
|
3202
3176
|
}
|
|
3203
3177
|
async reload(options) {
|
|
3204
|
-
return this.
|
|
3178
|
+
return this.withTaskNotificationsPaused(() => this._reloadBody(options));
|
|
3205
3179
|
}
|
|
3206
3180
|
async _reloadBody(options) {
|
|
3207
3181
|
const oldRunner = this._extensionRunner;
|
|
3208
3182
|
const previousFlagValues = oldRunner.getFlagValues();
|
|
3209
|
-
await
|
|
3183
|
+
await this.shutdownTasks();
|
|
3210
3184
|
await emitSessionShutdownEvent(oldRunner, { type: "session_shutdown", reason: "reload" });
|
|
3211
3185
|
oldRunner.invalidate();
|
|
3212
3186
|
const getDefaultTools = () => this._usesDefaultTools
|
|
@@ -3508,7 +3482,7 @@ export class AgentSession {
|
|
|
3508
3482
|
const resumeBackground = this.pauseTaskNotifications();
|
|
3509
3483
|
// Set up abort controller for summarization
|
|
3510
3484
|
this._branchSummaryAbortController = new AbortController();
|
|
3511
|
-
this.
|
|
3485
|
+
this._quiescence.poke();
|
|
3512
3486
|
try {
|
|
3513
3487
|
let extensionSummary;
|
|
3514
3488
|
let fromExtension = false;
|