@astralyn/pi 0.87.6 → 0.99.0
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 +30 -6
- package/README.md +3 -3
- package/dist/bun/runtime-setup.js +4 -1
- package/dist/bun/runtime-setup.js.map +1 -1
- package/dist/bundle/chunks/anthropic-messages-KIXY7EDT.js +6 -0
- package/dist/bundle/chunks/anthropic.js +2 -2
- package/dist/bundle/chunks/azure-openai-responses-RPBERDXD.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +8 -8
- package/dist/bundle/chunks/{chunk-LPQCB2VJ.js → chunk-A576H74Y.js} +2 -2
- package/dist/bundle/chunks/{chunk-NW5FIDD7.js → chunk-ABVRAYXT.js} +3 -3
- package/dist/bundle/chunks/{chunk-I5IVW2WS.js → chunk-CLLDCO64.js} +1 -1
- package/dist/bundle/chunks/chunk-DEWXBB6W.js +2 -0
- package/dist/bundle/chunks/chunk-G4RY3GN7.js +11 -0
- package/dist/bundle/chunks/chunk-GCKVOFWP.js +2 -0
- package/dist/bundle/chunks/chunk-MPDALHNJ.js +2 -0
- package/dist/bundle/chunks/chunk-OO6DJ3CL.js +31 -0
- package/dist/bundle/chunks/{chunk-4W4Q2H6W.js → chunk-VW2P3X6P.js} +905 -278
- package/dist/bundle/chunks/chunk-VWCWZD6E.js +2 -0
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-ZYSAFXXL.js +2 -0
- package/dist/bundle/chunks/codemode-worker.js +295 -0
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/google-generative-ai-SDNQVVXA.js +2 -0
- package/dist/bundle/chunks/google-vertex-LZXOLBIO.js +2 -0
- package/dist/bundle/chunks/llama-cpp-classify-7IYGGPND.js +22 -0
- package/dist/bundle/chunks/meta.js +2 -0
- package/dist/bundle/chunks/mistral-conversations-VYKPSSAM.js +5 -0
- package/dist/bundle/chunks/openai-chatgpt.js +75 -0
- package/dist/bundle/chunks/openai-codex-responses-HZ4VUDXD.js +10 -0
- package/dist/bundle/chunks/openai-codex.js +2 -2
- package/dist/bundle/chunks/openai-completions-SKDGF6OE.js +7 -0
- package/dist/bundle/chunks/openai-responses-FPML4SSG.js +3 -0
- package/dist/bundle/chunks/{openrouter-images-6XDE2CEW.js → openrouter-images-5524IQHX.js} +1 -1
- package/dist/bundle/chunks/openrouter.js +2 -2
- package/dist/bundle/chunks/{pi-messages-MQMPIPNC.js → pi-messages-HZZ7GEEW.js} +2 -2
- package/dist/bundle/chunks/radius.js +2 -2
- package/dist/bundle/chunks/typesafe-system-one-Z2CDLKEY.js +2 -0
- package/dist/bundle/chunks/virtual-modules-TQRORWJQ.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 +4 -3
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +38 -30
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/config.d.ts +18 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -4
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +13 -13
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +2 -2
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +14 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +100 -35
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +456 -194
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bug-report.js +1 -1
- package/dist/core/bug-report.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +1 -22
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/utils.d.ts +2 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +25 -18
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/crash-log.d.ts.map +1 -1
- package/dist/core/crash-log.js +2 -1
- package/dist/core/crash-log.js.map +1 -1
- package/dist/core/export-html/template.css +10 -0
- package/dist/core/export-html/template.js +66 -17
- package/dist/core/extensions/distribution-api.d.ts +1 -1
- package/dist/core/extensions/distribution-api.d.ts.map +1 -1
- package/dist/core/extensions/distribution-api.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- 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 +55 -5
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +22 -3
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +124 -8
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +305 -25
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts +2 -2
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js +3 -3
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/keybindings.d.ts +30 -5
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +7 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/mcp-servers.d.ts +98 -0
- package/dist/core/mcp-servers.d.ts.map +1 -0
- package/dist/core/mcp-servers.js +158 -0
- package/dist/core/mcp-servers.js.map +1 -0
- package/dist/core/model-registry.d.ts +13 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +25 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +2 -2
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +5 -5
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +41 -3
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +167 -17
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/nested-tool-calls.d.ts +102 -0
- package/dist/core/nested-tool-calls.d.ts.map +1 -0
- package/dist/core/nested-tool-calls.js +177 -0
- package/dist/core/nested-tool-calls.js.map +1 -0
- package/dist/core/package-manager.d.ts +4 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +58 -12
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/provider-composer.d.ts +40 -21
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +92 -40
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts +8 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +18 -3
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts +7 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +160 -35
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +3 -3
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +25 -7
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +9 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +22 -22
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +36 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +108 -2
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +8 -0
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js +16 -0
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/system-prompt.js +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tasks/delivery.d.ts +40 -0
- package/dist/core/tasks/delivery.d.ts.map +1 -0
- package/dist/core/tasks/delivery.js +157 -0
- package/dist/core/tasks/delivery.js.map +1 -0
- package/dist/core/tasks/history.d.ts +4 -0
- package/dist/core/tasks/history.d.ts.map +1 -0
- package/dist/core/{background → tasks}/history.js +24 -48
- package/dist/core/tasks/history.js.map +1 -0
- package/dist/core/{background → tasks}/output.d.ts +4 -4
- package/dist/core/tasks/output.d.ts.map +1 -0
- package/dist/core/{background → tasks}/output.js +11 -11
- package/dist/core/tasks/output.js.map +1 -0
- package/dist/core/tasks/presentation.d.ts +9 -0
- package/dist/core/tasks/presentation.d.ts.map +1 -0
- package/dist/core/{background → tasks}/presentation.js +53 -51
- package/dist/core/tasks/presentation.js.map +1 -0
- package/dist/core/{background/service.d.ts → tasks/runtime.d.ts} +22 -23
- package/dist/core/tasks/runtime.d.ts.map +1 -0
- package/dist/core/{background/service.js → tasks/runtime.js} +154 -198
- package/dist/core/tasks/runtime.js.map +1 -0
- package/dist/core/tasks/session.d.ts +49 -0
- package/dist/core/tasks/session.d.ts.map +1 -0
- package/dist/core/tasks/session.js +129 -0
- package/dist/core/tasks/session.js.map +1 -0
- package/dist/core/tasks/store.d.ts +32 -0
- package/dist/core/tasks/store.d.ts.map +1 -0
- package/dist/core/tasks/store.js +135 -0
- package/dist/core/tasks/store.js.map +1 -0
- package/dist/core/{background → tasks}/types.d.ts +80 -62
- package/dist/core/tasks/types.d.ts.map +1 -0
- package/dist/core/{background → tasks}/types.js +9 -9
- package/dist/core/tasks/types.js.map +1 -0
- package/dist/core/tasks/view-data.d.ts +8 -0
- package/dist/core/tasks/view-data.d.ts.map +1 -0
- package/dist/core/tasks/view-data.js +61 -0
- package/dist/core/tasks/view-data.js.map +1 -0
- package/dist/core/tasks/view.d.ts +30 -0
- package/dist/core/tasks/view.d.ts.map +1 -0
- package/dist/core/tasks/view.js +50 -0
- package/dist/core/tasks/view.js.map +1 -0
- package/dist/core/tools/bash.d.ts +8 -93
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +8 -240
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/grep.d.ts +2 -0
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +2 -0
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +2 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +9 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +11 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +36 -0
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +6 -2
- package/dist/core/tools/powershell.d.ts.map +1 -1
- package/dist/core/tools/powershell.js +1 -1
- package/dist/core/tools/powershell.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +6 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +26 -0
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +9 -10
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/renderers/index.d.ts.map +1 -1
- package/dist/core/tools/renderers/index.js +5 -7
- package/dist/core/tools/renderers/index.js.map +1 -1
- package/dist/core/tools/renderers/read.d.ts.map +1 -1
- package/dist/core/tools/renderers/read.js +3 -2
- package/dist/core/tools/renderers/read.js.map +1 -1
- package/dist/core/tools/renderers/shell-task.d.ts +4 -0
- package/dist/core/tools/renderers/shell-task.d.ts.map +1 -0
- package/dist/core/tools/renderers/shell-task.js +35 -0
- package/dist/core/tools/renderers/shell-task.js.map +1 -0
- package/dist/core/tools/shell-execution.d.ts +4 -5
- package/dist/core/tools/shell-execution.d.ts.map +1 -1
- package/dist/core/tools/shell-execution.js +19 -3
- package/dist/core/tools/shell-execution.js.map +1 -1
- package/dist/core/tools/shell-tool.d.ts +93 -0
- package/dist/core/tools/shell-tool.d.ts.map +1 -0
- package/dist/core/tools/shell-tool.js +251 -0
- package/dist/core/tools/shell-tool.js.map +1 -0
- package/dist/core/tools/tasks/actions.d.ts +12 -0
- package/dist/core/tools/tasks/actions.d.ts.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/actions.js +20 -19
- package/dist/core/tools/tasks/actions.js.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/constants.d.ts +10 -10
- package/dist/core/tools/tasks/constants.d.ts.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/constants.js +10 -10
- package/dist/core/tools/tasks/constants.js.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/schema.d.ts +6 -6
- package/dist/core/tools/tasks/schema.d.ts.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/schema.js +17 -17
- package/dist/core/tools/tasks/schema.js.map +1 -0
- package/dist/{extensions/background → core/tools/tasks}/types.d.ts +15 -17
- package/dist/core/tools/tasks/types.d.ts.map +1 -0
- package/dist/core/tools/tasks/types.js.map +1 -0
- package/dist/core/tools/tasks.d.ts +14 -0
- package/dist/core/tools/tasks.d.ts.map +1 -0
- package/dist/core/tools/tasks.js +40 -0
- package/dist/core/tools/tasks.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +4 -3
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +4 -2
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts +14 -0
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js +29 -0
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +1 -0
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.d.ts +5 -3
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js +27 -4
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/core/virtual-models.d.ts +115 -0
- package/dist/core/virtual-models.d.ts.map +1 -0
- package/dist/core/virtual-models.js +117 -0
- package/dist/core/virtual-models.js.map +1 -0
- package/dist/extensions/codemode/execute.d.ts +16 -0
- package/dist/extensions/codemode/execute.d.ts.map +1 -0
- package/dist/extensions/codemode/execute.js +390 -0
- package/dist/extensions/codemode/execute.js.map +1 -0
- package/dist/extensions/codemode/execute.lazy.d.ts +3 -0
- package/dist/extensions/codemode/execute.lazy.d.ts.map +1 -0
- package/dist/extensions/codemode/execute.lazy.js +3 -0
- package/dist/extensions/codemode/execute.lazy.js.map +1 -0
- package/dist/extensions/codemode/index.d.ts +21 -0
- package/dist/extensions/codemode/index.d.ts.map +1 -0
- package/dist/extensions/codemode/index.js +36 -0
- package/dist/extensions/codemode/index.js.map +1 -0
- package/dist/extensions/codemode/renderer.d.ts +12 -0
- package/dist/extensions/codemode/renderer.d.ts.map +1 -0
- package/dist/extensions/codemode/renderer.js +119 -0
- package/dist/extensions/codemode/renderer.js.map +1 -0
- package/dist/extensions/codemode/search.d.ts +33 -0
- package/dist/extensions/codemode/search.d.ts.map +1 -0
- package/dist/extensions/codemode/search.js +117 -0
- package/dist/extensions/codemode/search.js.map +1 -0
- package/dist/extensions/codemode/tool.d.ts +122 -0
- package/dist/extensions/codemode/tool.d.ts.map +1 -0
- package/dist/extensions/codemode/tool.js +324 -0
- package/dist/extensions/codemode/tool.js.map +1 -0
- package/dist/extensions/codemode/worker.d.ts +7 -0
- package/dist/extensions/codemode/worker.d.ts.map +1 -0
- package/dist/extensions/codemode/worker.js +7 -0
- package/dist/extensions/codemode/worker.js.map +1 -0
- package/dist/extensions/deepwiki/schema.d.ts +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +14 -12
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +65 -13
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/mcp/cli.d.ts +21 -0
- package/dist/extensions/mcp/cli.d.ts.map +1 -0
- package/dist/extensions/mcp/cli.js +485 -0
- package/dist/extensions/mcp/cli.js.map +1 -0
- package/dist/extensions/mcp/cli.lazy.d.ts +3 -0
- package/dist/extensions/mcp/cli.lazy.d.ts.map +1 -0
- package/dist/extensions/mcp/cli.lazy.js +3 -0
- package/dist/extensions/mcp/cli.lazy.js.map +1 -0
- package/dist/extensions/mcp/config.d.ts +70 -0
- package/dist/extensions/mcp/config.d.ts.map +1 -0
- package/dist/extensions/mcp/config.js +146 -0
- package/dist/extensions/mcp/config.js.map +1 -0
- package/dist/extensions/mcp/index.d.ts +52 -0
- package/dist/extensions/mcp/index.d.ts.map +1 -0
- package/dist/extensions/mcp/index.js +904 -0
- package/dist/extensions/mcp/index.js.map +1 -0
- package/dist/extensions/mcp/log.d.ts +16 -0
- package/dist/extensions/mcp/log.d.ts.map +1 -0
- package/dist/extensions/mcp/log.js +64 -0
- package/dist/extensions/mcp/log.js.map +1 -0
- package/dist/extensions/mcp/oauth.d.ts +94 -0
- package/dist/extensions/mcp/oauth.d.ts.map +1 -0
- package/dist/extensions/mcp/oauth.js +330 -0
- package/dist/extensions/mcp/oauth.js.map +1 -0
- package/dist/extensions/mcp/resources.d.ts +43 -0
- package/dist/extensions/mcp/resources.d.ts.map +1 -0
- package/dist/extensions/mcp/resources.js +262 -0
- package/dist/extensions/mcp/resources.js.map +1 -0
- package/dist/extensions/mcp/runtime.d.ts +96 -0
- package/dist/extensions/mcp/runtime.d.ts.map +1 -0
- package/dist/extensions/mcp/runtime.js +372 -0
- package/dist/extensions/mcp/runtime.js.map +1 -0
- package/dist/extensions/mcp/runtime.lazy.d.ts +3 -0
- package/dist/extensions/mcp/runtime.lazy.d.ts.map +1 -0
- package/dist/extensions/mcp/runtime.lazy.js +3 -0
- package/dist/extensions/mcp/runtime.lazy.js.map +1 -0
- package/dist/extensions/mcp/tools.d.ts +83 -0
- package/dist/extensions/mcp/tools.d.ts.map +1 -0
- package/dist/extensions/mcp/tools.js +233 -0
- package/dist/extensions/mcp/tools.js.map +1 -0
- package/dist/extensions/mcp/ui.d.ts +60 -0
- package/dist/extensions/mcp/ui.d.ts.map +1 -0
- package/dist/extensions/mcp/ui.js +166 -0
- package/dist/extensions/mcp/ui.js.map +1 -0
- package/dist/extensions/statusline/index.js +2 -2
- package/dist/extensions/statusline/index.js.map +1 -1
- package/dist/extensions/tool-search/index.d.ts +12 -0
- package/dist/extensions/tool-search/index.d.ts.map +1 -0
- package/dist/extensions/tool-search/index.js +20 -0
- package/dist/extensions/tool-search/index.js.map +1 -0
- package/dist/extensions/tool-search/tool.d.ts +72 -0
- package/dist/extensions/tool-search/tool.d.ts.map +1 -0
- package/dist/extensions/tool-search/tool.js +208 -0
- package/dist/extensions/tool-search/tool.js.map +1 -0
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +13 -3
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +3 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +4 -4
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +8 -2
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +7 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +42 -3
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/pi-logo.d.ts +12 -0
- package/dist/modes/interactive/components/pi-logo.d.ts.map +1 -0
- package/dist/modes/interactive/components/pi-logo.js +25 -0
- package/dist/modes/interactive/components/pi-logo.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +28 -6
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/status-marker.d.ts +2 -2
- package/dist/modes/interactive/components/status-marker.js +2 -2
- package/dist/modes/interactive/components/status-marker.js.map +1 -1
- package/dist/modes/interactive/components/themed-text.d.ts +17 -0
- package/dist/modes/interactive/components/themed-text.d.ts.map +1 -0
- package/dist/modes/interactive/components/themed-text.js +28 -0
- package/dist/modes/interactive/components/themed-text.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +2 -4
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +214 -163
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/tasks/completion-render.d.ts +8 -0
- package/dist/modes/interactive/tasks/completion-render.d.ts.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/completion-render.js +31 -27
- package/dist/modes/interactive/tasks/completion-render.js.map +1 -0
- package/dist/modes/interactive/tasks/fallback-view.d.ts +4 -0
- package/dist/modes/interactive/tasks/fallback-view.d.ts.map +1 -0
- package/dist/modes/interactive/tasks/fallback-view.js +27 -0
- package/dist/modes/interactive/tasks/fallback-view.js.map +1 -0
- package/dist/modes/interactive/tasks/index.d.ts +12 -0
- package/dist/modes/interactive/tasks/index.d.ts.map +1 -0
- package/dist/modes/interactive/tasks/index.js +97 -0
- package/dist/modes/interactive/tasks/index.js.map +1 -0
- package/dist/modes/interactive/tasks/manager.d.ts +67 -0
- package/dist/modes/interactive/tasks/manager.d.ts.map +1 -0
- package/dist/modes/interactive/tasks/manager.js +380 -0
- package/dist/modes/interactive/tasks/manager.js.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/render.d.ts +13 -13
- package/dist/modes/interactive/tasks/render.d.ts.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/render.js +18 -18
- package/dist/modes/interactive/tasks/render.js.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/task-view.d.ts +7 -7
- package/dist/modes/interactive/tasks/task-view.d.ts.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/task-view.js +4 -4
- package/dist/modes/interactive/tasks/task-view.js.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/text.d.ts +1 -1
- package/dist/modes/interactive/tasks/text.d.ts.map +1 -0
- package/dist/{extensions/background → modes/interactive/tasks}/text.js +1 -1
- package/dist/modes/interactive/tasks/text.js.map +1 -0
- package/dist/modes/interactive/tasks/viewport.d.ts +15 -0
- package/dist/modes/interactive/tasks/viewport.d.ts.map +1 -0
- package/dist/modes/interactive/tasks/viewport.js +49 -0
- package/dist/modes/interactive/tasks/viewport.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +59 -72
- package/dist/modes/interactive/theme/light.json +57 -69
- package/dist/modes/interactive/theme/system-theme.d.ts +54 -0
- package/dist/modes/interactive/theme/system-theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/system-theme.js +535 -0
- package/dist/modes/interactive/theme/system-theme.js.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +46 -6
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +125 -47
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-json.d.ts +1 -0
- package/dist/modes/interactive/theme/theme-json.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-json.js +3 -1
- package/dist/modes/interactive/theme/theme-json.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +7 -2
- package/dist/modes/interactive/theme/theme.d.ts +70 -39
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +247 -313
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/tool-view/fallback.d.ts +1 -1
- package/dist/modes/interactive/tool-view/fallback.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/fallback.js +4 -1
- package/dist/modes/interactive/tool-view/fallback.js.map +1 -1
- package/dist/modes/interactive/tool-view/tool-execution.js +2 -2
- package/dist/modes/interactive/tool-view/tool-execution.js.map +1 -1
- package/dist/modes/interactive/tui-renderer.d.ts +2 -1
- package/dist/modes/interactive/tui-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/tui-renderer.js +1 -0
- package/dist/modes/interactive/tui-renderer.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +6 -6
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +12 -8
- 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 +7 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +10 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +6 -2
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +14 -17
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +5 -0
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/paths.d.ts +3 -3
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +5 -4
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/shell.d.ts +1 -3
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +3 -30
- package/dist/utils/shell.js.map +1 -1
- package/docs/bundled/README.md +22 -8
- package/docs/bundled/extensions/statusline.md +2 -2
- package/docs/bundled/tasks.md +141 -0
- package/docs/bundled/tool-presentation.md +1 -1
- package/docs/custom-provider.md +44 -0
- package/docs/docs.json +10 -6
- package/docs/extensions.md +89 -86
- package/docs/index.md +2 -1
- package/docs/keybindings.md +8 -7
- package/docs/llama-cpp.md +12 -1
- package/docs/mcp.md +188 -0
- package/docs/models.md +35 -0
- package/docs/packages.md +4 -0
- package/docs/providers.md +6 -0
- package/docs/rpc.md +5 -3
- package/docs/sdk.md +26 -16
- package/docs/security.md +4 -0
- package/docs/session-format.md +18 -11
- package/docs/settings.md +26 -2
- package/docs/themes.md +27 -5
- package/docs/tui.md +20 -0
- package/docs/usage.md +61 -3
- package/docs/virtual-models.md +114 -0
- package/docs/windows.md +2 -0
- package/examples/README.md +1 -1
- package/examples/extensions/README.md +2 -0
- 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/custom-provider-gitlab-duo/test.ts +4 -4
- package/examples/extensions/debug-provider.ts +90 -0
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/jev-router.ts +113 -0
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-client.ts +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/14-codemode-mcp.ts +61 -0
- package/examples/sdk/README.md +1 -0
- package/npm-shrinkwrap.json +409 -423
- package/package.json +13 -10
- package/dist/bundle/chunks/anthropic-messages-XWFTZP2N.js +0 -6
- package/dist/bundle/chunks/azure-openai-responses-HS35BQV6.js +0 -2
- package/dist/bundle/chunks/chunk-2IO5GDBS.js +0 -11
- package/dist/bundle/chunks/chunk-EDBLK2JQ.js +0 -2
- package/dist/bundle/chunks/chunk-IORR2FW4.js +0 -2
- package/dist/bundle/chunks/chunk-NUHFSC37.js +0 -25
- package/dist/bundle/chunks/google-generative-ai-NOVAJBFC.js +0 -2
- package/dist/bundle/chunks/google-vertex-4VHCZJV5.js +0 -2
- package/dist/bundle/chunks/mistral-conversations-WC6A2WCJ.js +0 -5
- package/dist/bundle/chunks/openai-codex-responses-XCDG75W2.js +0 -10
- package/dist/bundle/chunks/openai-completions-SHS3CAEL.js +0 -7
- package/dist/bundle/chunks/openai-responses-UT6XFKC7.js +0 -2
- package/dist/bundle/chunks/virtual-modules-KUEIEAZN.js +0 -2
- package/dist/core/background/history.d.ts +0 -4
- package/dist/core/background/history.d.ts.map +0 -1
- package/dist/core/background/history.js.map +0 -1
- package/dist/core/background/output.d.ts.map +0 -1
- package/dist/core/background/output.js.map +0 -1
- package/dist/core/background/presentation.d.ts +0 -9
- package/dist/core/background/presentation.d.ts.map +0 -1
- package/dist/core/background/presentation.js.map +0 -1
- package/dist/core/background/service.d.ts.map +0 -1
- package/dist/core/background/service.js.map +0 -1
- package/dist/core/background/session.d.ts +0 -67
- package/dist/core/background/session.d.ts.map +0 -1
- package/dist/core/background/session.js +0 -248
- package/dist/core/background/session.js.map +0 -1
- package/dist/core/background/types.d.ts.map +0 -1
- package/dist/core/background/types.js.map +0 -1
- package/dist/extensions/background/actions.d.ts +0 -11
- package/dist/extensions/background/actions.d.ts.map +0 -1
- package/dist/extensions/background/actions.js.map +0 -1
- package/dist/extensions/background/completion-render.d.ts +0 -8
- package/dist/extensions/background/completion-render.d.ts.map +0 -1
- package/dist/extensions/background/completion-render.js.map +0 -1
- package/dist/extensions/background/constants.d.ts.map +0 -1
- package/dist/extensions/background/constants.js.map +0 -1
- package/dist/extensions/background/index.d.ts +0 -7
- package/dist/extensions/background/index.d.ts.map +0 -1
- package/dist/extensions/background/index.js +0 -135
- package/dist/extensions/background/index.js.map +0 -1
- package/dist/extensions/background/keybindings.d.ts +0 -10
- package/dist/extensions/background/keybindings.d.ts.map +0 -1
- package/dist/extensions/background/keybindings.js +0 -14
- package/dist/extensions/background/keybindings.js.map +0 -1
- package/dist/extensions/background/manager.d.ts +0 -80
- package/dist/extensions/background/manager.d.ts.map +0 -1
- package/dist/extensions/background/manager.js +0 -673
- package/dist/extensions/background/manager.js.map +0 -1
- package/dist/extensions/background/render.d.ts.map +0 -1
- package/dist/extensions/background/render.js.map +0 -1
- package/dist/extensions/background/schema.d.ts.map +0 -1
- package/dist/extensions/background/schema.js.map +0 -1
- package/dist/extensions/background/task-view.d.ts.map +0 -1
- package/dist/extensions/background/task-view.js.map +0 -1
- package/dist/extensions/background/text.d.ts.map +0 -1
- package/dist/extensions/background/text.js.map +0 -1
- package/dist/extensions/background/types.d.ts.map +0 -1
- package/dist/extensions/background/types.js.map +0 -1
- package/dist/extensions/subagent/activity.d.ts +0 -34
- package/dist/extensions/subagent/activity.d.ts.map +0 -1
- package/dist/extensions/subagent/activity.js +0 -192
- package/dist/extensions/subagent/activity.js.map +0 -1
- package/dist/extensions/subagent/agents-command.d.ts +0 -4
- package/dist/extensions/subagent/agents-command.d.ts.map +0 -1
- package/dist/extensions/subagent/agents-command.js +0 -230
- package/dist/extensions/subagent/agents-command.js.map +0 -1
- package/dist/extensions/subagent/agents.d.ts +0 -6
- package/dist/extensions/subagent/agents.d.ts.map +0 -1
- package/dist/extensions/subagent/agents.js +0 -53
- package/dist/extensions/subagent/agents.js.map +0 -1
- package/dist/extensions/subagent/budget.d.ts +0 -15
- package/dist/extensions/subagent/budget.d.ts.map +0 -1
- package/dist/extensions/subagent/budget.js +0 -123
- package/dist/extensions/subagent/budget.js.map +0 -1
- package/dist/extensions/subagent/cancellation.d.ts +0 -29
- package/dist/extensions/subagent/cancellation.d.ts.map +0 -1
- package/dist/extensions/subagent/cancellation.js +0 -91
- package/dist/extensions/subagent/cancellation.js.map +0 -1
- package/dist/extensions/subagent/constants.d.ts +0 -25
- package/dist/extensions/subagent/constants.d.ts.map +0 -1
- package/dist/extensions/subagent/constants.js +0 -50
- package/dist/extensions/subagent/constants.js.map +0 -1
- package/dist/extensions/subagent/index.d.ts +0 -3
- package/dist/extensions/subagent/index.d.ts.map +0 -1
- package/dist/extensions/subagent/index.js +0 -151
- package/dist/extensions/subagent/index.js.map +0 -1
- package/dist/extensions/subagent/model-selection.d.ts +0 -16
- package/dist/extensions/subagent/model-selection.d.ts.map +0 -1
- package/dist/extensions/subagent/model-selection.js +0 -51
- package/dist/extensions/subagent/model-selection.js.map +0 -1
- package/dist/extensions/subagent/render.d.ts +0 -24
- package/dist/extensions/subagent/render.d.ts.map +0 -1
- package/dist/extensions/subagent/render.js +0 -336
- package/dist/extensions/subagent/render.js.map +0 -1
- package/dist/extensions/subagent/resolve.d.ts +0 -31
- package/dist/extensions/subagent/resolve.d.ts.map +0 -1
- package/dist/extensions/subagent/resolve.js +0 -111
- package/dist/extensions/subagent/resolve.js.map +0 -1
- package/dist/extensions/subagent/runner.d.ts +0 -35
- package/dist/extensions/subagent/runner.d.ts.map +0 -1
- package/dist/extensions/subagent/runner.js +0 -255
- package/dist/extensions/subagent/runner.js.map +0 -1
- package/dist/extensions/subagent/schema.d.ts +0 -28
- package/dist/extensions/subagent/schema.d.ts.map +0 -1
- package/dist/extensions/subagent/schema.js +0 -58
- package/dist/extensions/subagent/schema.js.map +0 -1
- package/dist/extensions/subagent/sdk-runner.d.ts +0 -33
- package/dist/extensions/subagent/sdk-runner.d.ts.map +0 -1
- package/dist/extensions/subagent/sdk-runner.js +0 -331
- package/dist/extensions/subagent/sdk-runner.js.map +0 -1
- package/dist/extensions/subagent/settings.d.ts +0 -8
- package/dist/extensions/subagent/settings.d.ts.map +0 -1
- package/dist/extensions/subagent/settings.js +0 -206
- package/dist/extensions/subagent/settings.js.map +0 -1
- package/dist/extensions/subagent/state.d.ts +0 -102
- package/dist/extensions/subagent/state.d.ts.map +0 -1
- package/dist/extensions/subagent/state.js +0 -383
- package/dist/extensions/subagent/state.js.map +0 -1
- package/dist/extensions/subagent/text.d.ts +0 -6
- package/dist/extensions/subagent/text.d.ts.map +0 -1
- package/dist/extensions/subagent/text.js +0 -66
- package/dist/extensions/subagent/text.js.map +0 -1
- package/dist/extensions/subagent/types.d.ts +0 -91
- package/dist/extensions/subagent/types.d.ts.map +0 -1
- package/dist/extensions/subagent/types.js +0 -2
- package/dist/extensions/subagent/types.js.map +0 -1
- package/dist/extensions/subagent/ui/agents-dialog.d.ts +0 -4
- package/dist/extensions/subagent/ui/agents-dialog.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/agents-dialog.js +0 -84
- package/dist/extensions/subagent/ui/agents-dialog.js.map +0 -1
- package/dist/extensions/subagent/ui/choice-menu.d.ts +0 -39
- package/dist/extensions/subagent/ui/choice-menu.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/choice-menu.js +0 -93
- package/dist/extensions/subagent/ui/choice-menu.js.map +0 -1
- package/dist/extensions/subagent/ui/choices.d.ts +0 -36
- package/dist/extensions/subagent/ui/choices.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/choices.js +0 -54
- package/dist/extensions/subagent/ui/choices.js.map +0 -1
- package/dist/extensions/subagent/ui/model-list.d.ts +0 -66
- package/dist/extensions/subagent/ui/model-list.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/model-list.js +0 -235
- package/dist/extensions/subagent/ui/model-list.js.map +0 -1
- package/dist/extensions/subagent/ui/model-picker.d.ts +0 -47
- package/dist/extensions/subagent/ui/model-picker.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/model-picker.js +0 -143
- package/dist/extensions/subagent/ui/model-picker.js.map +0 -1
- package/dist/extensions/subagent/ui/profile-settings-menu.d.ts +0 -41
- package/dist/extensions/subagent/ui/profile-settings-menu.d.ts.map +0 -1
- package/dist/extensions/subagent/ui/profile-settings-menu.js +0 -98
- package/dist/extensions/subagent/ui/profile-settings-menu.js.map +0 -1
- package/docs/bundled/extensions/background.md +0 -132
- package/docs/bundled/extensions/subagent.md +0 -148
- /package/dist/{extensions/background → core/tools/tasks}/types.js +0 -0
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/** bg is an observer/controller of the public session-owned Background capability. */
|
|
2
|
-
import "./keybindings.js";
|
|
3
|
-
import { getKeybindings } from "@earendil-works/pi-tui";
|
|
4
|
-
import { isBackgroundTerminal } from "../../core/background/types.js";
|
|
5
|
-
import { keyLabel } from "../../modes/interactive/components/keybinding-hints.js";
|
|
6
|
-
import { boundedText, describeTaskLine, runKill, runList, runRead, runWait } from "./actions.js";
|
|
7
|
-
import { renderBackgroundCompletion } from "./completion-render.js";
|
|
8
|
-
import { BG_COMPLETION_TYPE, BG_DETACH_HINT_DELAY_MS, BG_NOTIFICATION_TYPE } from "./constants.js";
|
|
9
|
-
import { BackgroundTasksMenu } from "./manager.js";
|
|
10
|
-
import { renderBackgroundNotification, renderBgCall, renderBgResult } from "./render.js";
|
|
11
|
-
import { BG_PROMPT_GUIDELINES, BG_PROMPT_SNIPPET, BG_TOOL_DESCRIPTION, bgSchema } from "./schema.js";
|
|
12
|
-
export function createBackgroundExtension() {
|
|
13
|
-
return (pi) => {
|
|
14
|
-
let unsubscribe;
|
|
15
|
-
let unsubscribeDetachKey;
|
|
16
|
-
let closeMenu;
|
|
17
|
-
let hintTimer;
|
|
18
|
-
pi.on("session_start", (_event, ctx) => {
|
|
19
|
-
unsubscribe?.();
|
|
20
|
-
unsubscribeDetachKey?.();
|
|
21
|
-
const update = () => {
|
|
22
|
-
clearTimeout(hintTimer);
|
|
23
|
-
hintTimer = undefined;
|
|
24
|
-
const all = ctx.background.list();
|
|
25
|
-
// The counts cover backgrounded work only; foreground executions are already
|
|
26
|
-
// visible as ordinary tool rows in the transcript.
|
|
27
|
-
const tasks = all.filter((task) => task.mode === "background");
|
|
28
|
-
const running = tasks.filter((task) => !isBackgroundTerminal(task.status)).length;
|
|
29
|
-
const parts = [];
|
|
30
|
-
if (tasks.length)
|
|
31
|
-
parts.push(`bg ${running} active · ${tasks.length - running} finished`);
|
|
32
|
-
// Teach the detach key once something has run long enough to be worth moving, and
|
|
33
|
-
// only while it can move: a stopping execution is aborted, so the key does nothing.
|
|
34
|
-
const detachKey = keyLabel("app.backgroundTasks.detach");
|
|
35
|
-
const now = Date.now();
|
|
36
|
-
const movable = all.filter((task) => task.mode === "foreground" && (task.status === "running" || task.status === "queued"));
|
|
37
|
-
const waits = movable
|
|
38
|
-
.map((task) => task.startedAt + BG_DETACH_HINT_DELAY_MS - now)
|
|
39
|
-
.filter((wait) => wait > 0);
|
|
40
|
-
if (detachKey && movable.length > waits.length)
|
|
41
|
-
parts.push(`${detachKey} to background`);
|
|
42
|
-
if (detachKey && waits.length > 0) {
|
|
43
|
-
// The service notifies on state changes, not on time, so wake up when the next
|
|
44
|
-
// execution crosses the threshold.
|
|
45
|
-
hintTimer = setTimeout(update, Math.min(...waits));
|
|
46
|
-
hintTimer.unref?.();
|
|
47
|
-
}
|
|
48
|
-
ctx.ui.setStatus("background", parts.length ? parts.join(" · ") : undefined);
|
|
49
|
-
};
|
|
50
|
-
unsubscribe = ctx.background.subscribe(update);
|
|
51
|
-
unsubscribeDetachKey = ctx.ui.onTerminalInput((data) => {
|
|
52
|
-
if (!getKeybindings().matches(data, "app.backgroundTasks.detach"))
|
|
53
|
-
return undefined;
|
|
54
|
-
const count = ctx.background.detachForeground();
|
|
55
|
-
// Nothing can move: let the key fall through to editor bindings instead of
|
|
56
|
-
// spending it on a "nothing happened" status line.
|
|
57
|
-
if (count === 0)
|
|
58
|
-
return undefined;
|
|
59
|
-
ctx.ui.notify(`Moved ${count} execution${count === 1 ? "" : "s"} to the background. Use /bg to manage tasks.`);
|
|
60
|
-
return { consume: true };
|
|
61
|
-
});
|
|
62
|
-
update();
|
|
63
|
-
});
|
|
64
|
-
pi.on("session_shutdown", (_event, ctx) => {
|
|
65
|
-
unsubscribe?.();
|
|
66
|
-
unsubscribe = undefined;
|
|
67
|
-
unsubscribeDetachKey?.();
|
|
68
|
-
unsubscribeDetachKey = undefined;
|
|
69
|
-
clearTimeout(hintTimer);
|
|
70
|
-
hintTimer = undefined;
|
|
71
|
-
closeMenu?.();
|
|
72
|
-
closeMenu = undefined;
|
|
73
|
-
ctx.ui.setStatus("background", undefined);
|
|
74
|
-
});
|
|
75
|
-
pi.registerTool({
|
|
76
|
-
name: "bg",
|
|
77
|
-
label: "bg",
|
|
78
|
-
description: BG_TOOL_DESCRIPTION,
|
|
79
|
-
promptSnippet: BG_PROMPT_SNIPPET,
|
|
80
|
-
promptGuidelines: BG_PROMPT_GUIDELINES,
|
|
81
|
-
parameters: bgSchema,
|
|
82
|
-
constrainedSampling: { type: "json_schema", strict: "prefer" },
|
|
83
|
-
async execute(_id, params, signal, _onUpdate, ctx) {
|
|
84
|
-
try {
|
|
85
|
-
switch (params.action) {
|
|
86
|
-
case "read":
|
|
87
|
-
return await runRead(ctx.background, params);
|
|
88
|
-
case "wait":
|
|
89
|
-
return await runWait(ctx.background, params, signal);
|
|
90
|
-
case "kill":
|
|
91
|
-
return runKill(ctx.background, params);
|
|
92
|
-
case "list":
|
|
93
|
-
return runList(ctx.background);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
// Lookup failures already carry the current task list from actions.ts.
|
|
98
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
99
|
-
throw new Error(boundedText(message));
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
renderCall: renderBgCall,
|
|
103
|
-
renderResult: renderBgResult,
|
|
104
|
-
});
|
|
105
|
-
// Stored legacy create results and notification details remain renderable.
|
|
106
|
-
pi.registerMessageRenderer(BG_NOTIFICATION_TYPE, renderBackgroundNotification);
|
|
107
|
-
pi.registerMessageRenderer(BG_COMPLETION_TYPE, renderBackgroundCompletion);
|
|
108
|
-
pi.registerCommand("bg", {
|
|
109
|
-
description: "View and manage Bash tasks and Subagent groups",
|
|
110
|
-
handler: async (_args, ctx) => {
|
|
111
|
-
if (ctx.mode !== "tui") {
|
|
112
|
-
ctx.ui.notify(boundedText(ctx.background
|
|
113
|
-
.list()
|
|
114
|
-
.filter((task) => task.mode === "background")
|
|
115
|
-
.slice(0, 10)
|
|
116
|
-
.map((task) => describeTaskLine(task))
|
|
117
|
-
.join("\n")) || "No background tasks.", "info");
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
closeMenu?.();
|
|
121
|
-
await ctx.ui.custom((tui, theme, keybindings, done) => {
|
|
122
|
-
const close = () => {
|
|
123
|
-
if (closeMenu === close)
|
|
124
|
-
closeMenu = undefined;
|
|
125
|
-
done();
|
|
126
|
-
};
|
|
127
|
-
closeMenu = close;
|
|
128
|
-
return new BackgroundTasksMenu({ tui, theme, keybindings, host: ctx.background, onClose: close });
|
|
129
|
-
}, { overlay: true, overlayOptions: { anchor: "center", width: "100%", maxHeight: "100%" } });
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
export default createBackgroundExtension();
|
|
135
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/background/index.ts"],"names":[],"mappings":"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","sourcesContent":["/** bg is an observer/controller of the public session-owned Background capability. */\nimport \"./keybindings.ts\";\nimport { getKeybindings } from \"@earendil-works/pi-tui\";\nimport { isBackgroundTerminal } from \"../../core/background/types.ts\";\nimport type { ExtensionAPI } from \"../../core/extensions/types.ts\";\nimport { keyLabel } from \"../../modes/interactive/components/keybinding-hints.ts\";\nimport { boundedText, describeTaskLine, runKill, runList, runRead, runWait } from \"./actions.ts\";\nimport { renderBackgroundCompletion } from \"./completion-render.ts\";\nimport { BG_COMPLETION_TYPE, BG_DETACH_HINT_DELAY_MS, BG_NOTIFICATION_TYPE } from \"./constants.ts\";\nimport { BackgroundTasksMenu } from \"./manager.ts\";\nimport { type BgRenderState, renderBackgroundNotification, renderBgCall, renderBgResult } from \"./render.ts\";\nimport { BG_PROMPT_GUIDELINES, BG_PROMPT_SNIPPET, BG_TOOL_DESCRIPTION, bgSchema } from \"./schema.ts\";\nimport type { BgDetails, BgNotificationDetails } from \"./types.ts\";\n\nexport function createBackgroundExtension(): (pi: ExtensionAPI) => void {\n\treturn (pi) => {\n\t\tlet unsubscribe: (() => void) | undefined;\n\t\tlet unsubscribeDetachKey: (() => void) | undefined;\n\t\tlet closeMenu: (() => void) | undefined;\n\t\tlet hintTimer: ReturnType<typeof setTimeout> | undefined;\n\t\tpi.on(\"session_start\", (_event, ctx) => {\n\t\t\tunsubscribe?.();\n\t\t\tunsubscribeDetachKey?.();\n\t\t\tconst update = () => {\n\t\t\t\tclearTimeout(hintTimer);\n\t\t\t\thintTimer = undefined;\n\t\t\t\tconst all = ctx.background.list();\n\t\t\t\t// The counts cover backgrounded work only; foreground executions are already\n\t\t\t\t// visible as ordinary tool rows in the transcript.\n\t\t\t\tconst tasks = all.filter((task) => task.mode === \"background\");\n\t\t\t\tconst running = tasks.filter((task) => !isBackgroundTerminal(task.status)).length;\n\t\t\t\tconst parts: string[] = [];\n\t\t\t\tif (tasks.length) parts.push(`bg ${running} active · ${tasks.length - running} finished`);\n\t\t\t\t// Teach the detach key once something has run long enough to be worth moving, and\n\t\t\t\t// only while it can move: a stopping execution is aborted, so the key does nothing.\n\t\t\t\tconst detachKey = keyLabel(\"app.backgroundTasks.detach\");\n\t\t\t\tconst now = Date.now();\n\t\t\t\tconst movable = all.filter(\n\t\t\t\t\t(task) => task.mode === \"foreground\" && (task.status === \"running\" || task.status === \"queued\"),\n\t\t\t\t);\n\t\t\t\tconst waits = movable\n\t\t\t\t\t.map((task) => task.startedAt + BG_DETACH_HINT_DELAY_MS - now)\n\t\t\t\t\t.filter((wait) => wait > 0);\n\t\t\t\tif (detachKey && movable.length > waits.length) parts.push(`${detachKey} to background`);\n\t\t\t\tif (detachKey && waits.length > 0) {\n\t\t\t\t\t// The service notifies on state changes, not on time, so wake up when the next\n\t\t\t\t\t// execution crosses the threshold.\n\t\t\t\t\thintTimer = setTimeout(update, Math.min(...waits));\n\t\t\t\t\thintTimer.unref?.();\n\t\t\t\t}\n\t\t\t\tctx.ui.setStatus(\"background\", parts.length ? parts.join(\" · \") : undefined);\n\t\t\t};\n\t\t\tunsubscribe = ctx.background.subscribe(update);\n\t\t\tunsubscribeDetachKey = ctx.ui.onTerminalInput((data) => {\n\t\t\t\tif (!getKeybindings().matches(data, \"app.backgroundTasks.detach\")) return undefined;\n\t\t\t\tconst count = ctx.background.detachForeground();\n\t\t\t\t// Nothing can move: let the key fall through to editor bindings instead of\n\t\t\t\t// spending it on a \"nothing happened\" status line.\n\t\t\t\tif (count === 0) return undefined;\n\t\t\t\tctx.ui.notify(\n\t\t\t\t\t`Moved ${count} execution${count === 1 ? \"\" : \"s\"} to the background. Use /bg to manage tasks.`,\n\t\t\t\t);\n\t\t\t\treturn { consume: true };\n\t\t\t});\n\t\t\tupdate();\n\t\t});\n\t\tpi.on(\"session_shutdown\", (_event, ctx) => {\n\t\t\tunsubscribe?.();\n\t\t\tunsubscribe = undefined;\n\t\t\tunsubscribeDetachKey?.();\n\t\t\tunsubscribeDetachKey = undefined;\n\t\t\tclearTimeout(hintTimer);\n\t\t\thintTimer = undefined;\n\t\t\tcloseMenu?.();\n\t\t\tcloseMenu = undefined;\n\t\t\tctx.ui.setStatus(\"background\", undefined);\n\t\t});\n\t\tpi.registerTool<typeof bgSchema, BgDetails, BgRenderState>({\n\t\t\tname: \"bg\",\n\t\t\tlabel: \"bg\",\n\t\t\tdescription: BG_TOOL_DESCRIPTION,\n\t\t\tpromptSnippet: BG_PROMPT_SNIPPET,\n\t\t\tpromptGuidelines: BG_PROMPT_GUIDELINES,\n\t\t\tparameters: bgSchema,\n\t\t\tconstrainedSampling: { type: \"json_schema\", strict: \"prefer\" },\n\t\t\tasync execute(_id, params, signal, _onUpdate, ctx) {\n\t\t\t\ttry {\n\t\t\t\t\tswitch (params.action) {\n\t\t\t\t\t\tcase \"read\":\n\t\t\t\t\t\t\treturn await runRead(ctx.background, params);\n\t\t\t\t\t\tcase \"wait\":\n\t\t\t\t\t\t\treturn await runWait(ctx.background, params, signal);\n\t\t\t\t\t\tcase \"kill\":\n\t\t\t\t\t\t\treturn runKill(ctx.background, params);\n\t\t\t\t\t\tcase \"list\":\n\t\t\t\t\t\t\treturn runList(ctx.background);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// Lookup failures already carry the current task list from actions.ts.\n\t\t\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\t\t\tthrow new Error(boundedText(message));\n\t\t\t\t}\n\t\t\t},\n\t\t\trenderCall: renderBgCall,\n\t\t\trenderResult: renderBgResult,\n\t\t});\n\t\t// Stored legacy create results and notification details remain renderable.\n\t\tpi.registerMessageRenderer<BgNotificationDetails>(BG_NOTIFICATION_TYPE, renderBackgroundNotification);\n\t\tpi.registerMessageRenderer(BG_COMPLETION_TYPE, renderBackgroundCompletion);\n\t\tpi.registerCommand(\"bg\", {\n\t\t\tdescription: \"View and manage Bash tasks and Subagent groups\",\n\t\t\thandler: async (_args, ctx) => {\n\t\t\t\tif (ctx.mode !== \"tui\") {\n\t\t\t\t\tctx.ui.notify(\n\t\t\t\t\t\tboundedText(\n\t\t\t\t\t\t\tctx.background\n\t\t\t\t\t\t\t\t.list()\n\t\t\t\t\t\t\t\t.filter((task) => task.mode === \"background\")\n\t\t\t\t\t\t\t\t.slice(0, 10)\n\t\t\t\t\t\t\t\t.map((task) => describeTaskLine(task))\n\t\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\t\t\t) || \"No background tasks.\",\n\t\t\t\t\t\t\"info\",\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcloseMenu?.();\n\t\t\t\tawait ctx.ui.custom<void>(\n\t\t\t\t\t(tui, theme, keybindings, done) => {\n\t\t\t\t\t\tconst close = () => {\n\t\t\t\t\t\t\tif (closeMenu === close) closeMenu = undefined;\n\t\t\t\t\t\t\tdone();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tcloseMenu = close;\n\t\t\t\t\t\treturn new BackgroundTasksMenu({ tui, theme, keybindings, host: ctx.background, onClose: close });\n\t\t\t\t\t},\n\t\t\t\t\t{ overlay: true, overlayOptions: { anchor: \"center\", width: \"100%\", maxHeight: \"100%\" } },\n\t\t\t\t);\n\t\t\t},\n\t\t});\n\t};\n}\nexport default createBackgroundExtension();\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
declare module "../../core/keybindings.ts" {
|
|
2
|
-
interface AppKeybindings {
|
|
3
|
-
"app.backgroundTasks.detach": true;
|
|
4
|
-
"app.backgroundTasks.focusList": true;
|
|
5
|
-
"app.backgroundTasks.focusPreview": true;
|
|
6
|
-
"app.backgroundTasks.kill": true;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=keybindings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../../src/extensions/background/keybindings.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,2BAA2B,CAAC;IAC1C,UAAU,cAAc;QACvB,4BAA4B,EAAE,IAAI,CAAC;QACnC,+BAA+B,EAAE,IAAI,CAAC;QACtC,kCAAkC,EAAE,IAAI,CAAC;QACzC,0BAA0B,EAAE,IAAI,CAAC;KACjC;CACD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TUI_KEYBINDINGS } from "@earendil-works/pi-tui";
|
|
2
|
-
import { registerKeybindings } from "../../core/keybinding-registry.js";
|
|
3
|
-
registerKeybindings({
|
|
4
|
-
"app.backgroundTasks.detach": {
|
|
5
|
-
defaultKeys: "ctrl+b",
|
|
6
|
-
description: "Move foreground Bash and Subagent executions to the background",
|
|
7
|
-
},
|
|
8
|
-
"app.backgroundTasks.focusList": { defaultKeys: "left", description: "Focus the background task list" },
|
|
9
|
-
"app.backgroundTasks.focusPreview": { defaultKeys: "right", description: "Focus the background task preview" },
|
|
10
|
-
"app.backgroundTasks.kill": { defaultKeys: "k", description: "Kill selected background task" },
|
|
11
|
-
// Detach takes ctrl+b, which the editor otherwise binds as a second cursor-left key.
|
|
12
|
-
"tui.editor.cursorLeft": { ...TUI_KEYBINDINGS["tui.editor.cursorLeft"], defaultKeys: "left" },
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=keybindings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../../src/extensions/background/keybindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAWxE,mBAAmB,CAAC;IACnB,4BAA4B,EAAE;QAC7B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,gEAAgE;KAC7E;IACD,+BAA+B,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,EAAE;IACvG,kCAAkC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,mCAAmC,EAAE;IAC9G,0BAA0B,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE;IAC9F,qFAAqF;IACrF,uBAAuB,EAAE,EAAE,GAAG,eAAe,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;CAC7F,CAAC,CAAC","sourcesContent":["import { TUI_KEYBINDINGS } from \"@earendil-works/pi-tui\";\nimport { registerKeybindings } from \"../../core/keybinding-registry.ts\";\n\ndeclare module \"../../core/keybindings.ts\" {\n\tinterface AppKeybindings {\n\t\t\"app.backgroundTasks.detach\": true;\n\t\t\"app.backgroundTasks.focusList\": true;\n\t\t\"app.backgroundTasks.focusPreview\": true;\n\t\t\"app.backgroundTasks.kill\": true;\n\t}\n}\n\nregisterKeybindings({\n\t\"app.backgroundTasks.detach\": {\n\t\tdefaultKeys: \"ctrl+b\",\n\t\tdescription: \"Move foreground Bash and Subagent executions to the background\",\n\t},\n\t\"app.backgroundTasks.focusList\": { defaultKeys: \"left\", description: \"Focus the background task list\" },\n\t\"app.backgroundTasks.focusPreview\": { defaultKeys: \"right\", description: \"Focus the background task preview\" },\n\t\"app.backgroundTasks.kill\": { defaultKeys: \"k\", description: \"Kill selected background task\" },\n\t// Detach takes ctrl+b, which the editor otherwise binds as a second cursor-left key.\n\t\"tui.editor.cursorLeft\": { ...TUI_KEYBINDINGS[\"tui.editor.cursorLeft\"], defaultKeys: \"left\" },\n});\n"]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/** Inline observer: selecting or closing a view never changes execution ownership. */
|
|
2
|
-
import "./keybindings.ts";
|
|
3
|
-
import { type Component, type Focusable } from "@earendil-works/pi-tui";
|
|
4
|
-
import { type BackgroundContext } from "../../core/background/types.ts";
|
|
5
|
-
import type { KeybindingsManager } from "../../core/keybindings.ts";
|
|
6
|
-
import { type Theme } from "../../modes/interactive/theme/theme.ts";
|
|
7
|
-
export type BackgroundManagerHost = Pick<BackgroundContext, "list" | "read" | "kill" | "subscribe" | "pin">;
|
|
8
|
-
export interface BackgroundTasksMenuOptions {
|
|
9
|
-
tui: {
|
|
10
|
-
requestRender(): void;
|
|
11
|
-
terminal: {
|
|
12
|
-
rows: number;
|
|
13
|
-
columns: number;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
theme: Theme;
|
|
17
|
-
keybindings: Pick<KeybindingsManager, "matches" | "getKeys">;
|
|
18
|
-
host: BackgroundManagerHost;
|
|
19
|
-
onClose(): void;
|
|
20
|
-
pollIntervalMs?: number;
|
|
21
|
-
}
|
|
22
|
-
export declare class BackgroundTasksMenu implements Component, Focusable {
|
|
23
|
-
focused: boolean;
|
|
24
|
-
private readonly options;
|
|
25
|
-
private rows;
|
|
26
|
-
private runningCount;
|
|
27
|
-
private finishedCount;
|
|
28
|
-
private completedCount;
|
|
29
|
-
private failedCount;
|
|
30
|
-
private hiddenFinished;
|
|
31
|
-
private selected?;
|
|
32
|
-
private pinned?;
|
|
33
|
-
private releasePin?;
|
|
34
|
-
private unsubscribe;
|
|
35
|
-
private pollTimer;
|
|
36
|
-
private animationTimer;
|
|
37
|
-
private disposed;
|
|
38
|
-
private focus;
|
|
39
|
-
private pendingKill?;
|
|
40
|
-
private pendingKillTimer?;
|
|
41
|
-
private readonly positions;
|
|
42
|
-
private readonly renderCache;
|
|
43
|
-
private width;
|
|
44
|
-
private busy;
|
|
45
|
-
private feedback?;
|
|
46
|
-
private lastFrame;
|
|
47
|
-
constructor(options: BackgroundTasksMenuOptions);
|
|
48
|
-
private queueTick;
|
|
49
|
-
invalidate(): void;
|
|
50
|
-
dispose(): void;
|
|
51
|
-
private clearPendingKill;
|
|
52
|
-
private current;
|
|
53
|
-
private wide;
|
|
54
|
-
/** Fullscreen overlay: body fills the terminal minus the frame (rule, title, rule, hints, rule). */
|
|
55
|
-
private bodyHeight;
|
|
56
|
-
private sync;
|
|
57
|
-
private tick;
|
|
58
|
-
private refresh;
|
|
59
|
-
handleInput(data: string): void;
|
|
60
|
-
private position;
|
|
61
|
-
/** Selectable rows interleaved with their section headers; headers are display-only and never selected. */
|
|
62
|
-
private listItems;
|
|
63
|
-
private cacheSet;
|
|
64
|
-
private commandLines;
|
|
65
|
-
private markdownLines;
|
|
66
|
-
private detailLines;
|
|
67
|
-
private workerLines;
|
|
68
|
-
private contentLines;
|
|
69
|
-
/** One geometry calculation shared by rendering and page/line navigation. */
|
|
70
|
-
private layout;
|
|
71
|
-
private scrollPreview;
|
|
72
|
-
private listRowLine;
|
|
73
|
-
private emptyLine;
|
|
74
|
-
/** Tiny-terminal fallback: the frame stays, the layout steps aside. */
|
|
75
|
-
private renderTooSmall;
|
|
76
|
-
private centered;
|
|
77
|
-
private dividerLine;
|
|
78
|
-
render(width: number): string[];
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/extensions/background/manager.ts"],"names":[],"mappings":"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"}
|