@ashx-j/lunr 0.2.26 → 0.2.27
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 +16 -1
- package/LICENSE +22 -0
- package/dist/builtin-extensions/ashxj-thinking.d.ts +1 -1
- package/dist/builtin-extensions/ashxj-thinking.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-thinking.js +1 -1
- package/dist/builtin-extensions/ashxj-thinking.js.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.d.ts +11 -1
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +6 -10
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/lunr-cron.d.ts +4 -5
- package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-cron.js +94 -108
- package/dist/builtin-extensions/lunr-cron.js.map +1 -1
- package/dist/builtin-extensions/lunr-local-providers/local-servers.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-local-providers/local-servers.js +3 -1
- package/dist/builtin-extensions/lunr-local-providers/local-servers.js.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.d.ts.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js +2 -2
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js.map +1 -1
- package/dist/builtin-extensions/pi-intercom/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-intercom/index.js +2 -2
- package/dist/builtin-extensions/pi-intercom/index.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js +1 -15
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts +6 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js +187 -132
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts +8 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js +142 -112
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts +12 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js +14 -7
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts +11 -3
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js +67 -41
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts +4 -2
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js +3 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts +2 -1
- package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/commands.js +6 -6
- package/dist/builtin-extensions/pi-mcp-adapter/commands.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/config.js +11 -5
- package/dist/builtin-extensions/pi-mcp-adapter/config.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js +2 -2
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/index.js +48 -40
- package/dist/builtin-extensions/pi-mcp-adapter/index.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.js +3 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts +12 -40
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js +166 -235
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts +5 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js +43 -13
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts +14 -3
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js +73 -21
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js +4 -4
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js +2 -2
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts +2 -0
- package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/state.js.map +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/index.js +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/index.js.map +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts +11 -5
- package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-ollama-cloud/models.js +12 -32
- package/dist/builtin-extensions/pi-ollama-cloud/models.js.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/index.js +5 -3
- package/dist/builtin-extensions/pi-prompt-template-model/index.js.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts +2 -1
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js +21 -12
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js +7 -24
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +39 -77
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js +15 -31
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js +7 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +10 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +8 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +106 -24
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +25 -5
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +7 -8
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js +60 -32
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.js +15 -5
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +4 -3
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +17 -8
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js +3 -3
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js.map +1 -1
- package/dist/builtin-extensions/pi-tps.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-tps.js +20 -17
- package/dist/builtin-extensions/pi-tps.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/activity.d.ts +1 -0
- package/dist/builtin-extensions/pi-web-access/activity.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/activity.js +27 -5
- package/dist/builtin-extensions/pi-web-access/activity.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/bounded-body.d.ts +3 -0
- package/dist/builtin-extensions/pi-web-access/bounded-body.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/bounded-body.js +43 -0
- package/dist/builtin-extensions/pi-web-access/bounded-body.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/content-page.d.ts +24 -0
- package/dist/builtin-extensions/pi-web-access/content-page.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/content-page.js +57 -0
- package/dist/builtin-extensions/pi-web-access/content-page.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/extract.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/extract.js +7 -2
- package/dist/builtin-extensions/pi-web-access/extract.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/github-extract.d.ts +0 -1
- package/dist/builtin-extensions/pi-web-access/github-extract.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/github-extract.js +147 -36
- package/dist/builtin-extensions/pi-web-access/github-extract.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/index.js +48 -73
- package/dist/builtin-extensions/pi-web-access/index.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts +12 -4
- package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/session-cleanup.js +35 -12
- package/dist/builtin-extensions/pi-web-access/session-cleanup.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/storage.d.ts +9 -6
- package/dist/builtin-extensions/pi-web-access/storage.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/storage.js +36 -24
- package/dist/builtin-extensions/pi-web-access/storage.js.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.d.ts +1 -1
- package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.js +1 -1
- package/dist/builtin-extensions/simple-pi-memory.js.map +1 -1
- package/dist/cli/install-cli.d.ts.map +1 -1
- package/dist/cli/install-cli.js +38 -30
- package/dist/cli/install-cli.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +13 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +75 -11
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +1 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +40 -6
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +309 -76
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/browser/runtime.d.ts +2 -0
- package/dist/core/browser/runtime.d.ts.map +1 -1
- package/dist/core/browser/runtime.js +80 -45
- package/dist/core/browser/runtime.js.map +1 -1
- package/dist/core/browser/setup.d.ts.map +1 -1
- package/dist/core/browser/setup.js +12 -1
- package/dist/core/browser/setup.js.map +1 -1
- package/dist/core/computer-use/adapter.d.ts.map +1 -1
- package/dist/core/computer-use/adapter.js +7 -2
- package/dist/core/computer-use/adapter.js.map +1 -1
- package/dist/core/computer-use/image.d.ts.map +1 -1
- package/dist/core/computer-use/image.js +17 -5
- package/dist/core/computer-use/image.js.map +1 -1
- package/dist/core/computer-use/schemas.d.ts.map +1 -1
- package/dist/core/computer-use/schemas.js +23 -6
- package/dist/core/computer-use/schemas.js.map +1 -1
- package/dist/core/computer-use/workflow.d.ts.map +1 -1
- package/dist/core/computer-use/workflow.js +459 -119
- package/dist/core/computer-use/workflow.js.map +1 -1
- package/dist/core/cron/jobs.d.ts +26 -8
- package/dist/core/cron/jobs.d.ts.map +1 -1
- package/dist/core/cron/jobs.js +357 -232
- package/dist/core/cron/jobs.js.map +1 -1
- package/dist/core/cron/origin-context.d.ts +1 -0
- package/dist/core/cron/origin-context.d.ts.map +1 -1
- package/dist/core/cron/origin-context.js.map +1 -1
- package/dist/core/cron/scheduler.d.ts +22 -17
- package/dist/core/cron/scheduler.d.ts.map +1 -1
- package/dist/core/cron/scheduler.js +153 -73
- package/dist/core/cron/scheduler.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/runner.d.ts +1 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +8 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +8 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +4 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +22 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/large-subagent-launch.d.ts +1 -1
- package/dist/core/large-subagent-launch.d.ts.map +1 -1
- package/dist/core/large-subagent-launch.js +7 -7
- package/dist/core/large-subagent-launch.js.map +1 -1
- package/dist/core/model-registry.d.ts +2 -0
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +5 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-runtime.d.ts +4 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +40 -4
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/permissions.d.ts +3 -3
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +11 -35
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts +5 -13
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +126 -116
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js +1 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/prompt-resource-bridge.d.ts +12 -0
- package/dist/core/prompt-resource-bridge.d.ts.map +1 -0
- package/dist/core/prompt-resource-bridge.js +9 -0
- package/dist/core/prompt-resource-bridge.js.map +1 -0
- package/dist/core/protected-targets.d.ts +6 -0
- package/dist/core/protected-targets.d.ts.map +1 -0
- package/dist/core/protected-targets.js +45 -0
- package/dist/core/protected-targets.js.map +1 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +7 -0
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/rollback.d.ts +19 -3
- package/dist/core/rollback.d.ts.map +1 -1
- package/dist/core/rollback.js +172 -56
- package/dist/core/rollback.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +3 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +14 -1
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/sdk.d.ts +3 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +1 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +6 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +95 -32
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-ownership.d.ts.map +1 -1
- package/dist/core/session-ownership.js +8 -3
- package/dist/core/session-ownership.js.map +1 -1
- package/dist/core/session-retention.d.ts.map +1 -1
- package/dist/core/session-retention.js +18 -7
- package/dist/core/session-retention.js.map +1 -1
- package/dist/core/session-startup-settings.d.ts +10 -0
- package/dist/core/session-startup-settings.d.ts.map +1 -0
- package/dist/core/session-startup-settings.js +70 -0
- package/dist/core/session-startup-settings.js.map +1 -0
- package/dist/core/subscriptions.d.ts +16 -7
- package/dist/core/subscriptions.d.ts.map +1 -1
- package/dist/core/subscriptions.js +96 -55
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/trust-manager.d.ts +2 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +6 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/update-check.d.ts.map +1 -1
- package/dist/core/update-check.js.map +1 -1
- package/dist/core/usage-adapters/kimi-coding.d.ts +2 -2
- package/dist/core/usage-adapters/kimi-coding.d.ts.map +1 -1
- package/dist/core/usage-adapters/kimi-coding.js +2 -2
- package/dist/core/usage-adapters/kimi-coding.js.map +1 -1
- package/dist/core/usage-adapters/openai-codex.d.ts +3 -2
- package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -1
- package/dist/core/usage-adapters/openai-codex.js +3 -3
- package/dist/core/usage-adapters/openai-codex.js.map +1 -1
- package/dist/core/usage-adapters/xai.d.ts +2 -2
- package/dist/core/usage-adapters/xai.d.ts.map +1 -1
- package/dist/core/usage-adapters/xai.js +3 -3
- package/dist/core/usage-adapters/xai.js.map +1 -1
- package/dist/core/usage-adapters/zai.d.ts +2 -2
- package/dist/core/usage-adapters/zai.d.ts.map +1 -1
- package/dist/core/usage-adapters/zai.js +2 -2
- package/dist/core/usage-adapters/zai.js.map +1 -1
- package/dist/core/usage-service.d.ts +9 -2
- package/dist/core/usage-service.d.ts.map +1 -1
- package/dist/core/usage-service.js +95 -50
- package/dist/core/usage-service.js.map +1 -1
- package/dist/gateway/agent-bridge.d.ts +9 -1
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +91 -37
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/buttons.d.ts +8 -1
- package/dist/gateway/buttons.d.ts.map +1 -1
- package/dist/gateway/buttons.js +76 -18
- package/dist/gateway/buttons.js.map +1 -1
- package/dist/gateway/commands.d.ts +1 -0
- package/dist/gateway/commands.d.ts.map +1 -1
- package/dist/gateway/commands.js +10 -4
- package/dist/gateway/commands.js.map +1 -1
- package/dist/gateway/cron.d.ts +12 -11
- package/dist/gateway/cron.d.ts.map +1 -1
- package/dist/gateway/cron.js +65 -56
- package/dist/gateway/cron.js.map +1 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +2 -1
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/mobile-commands.d.ts +1 -0
- package/dist/gateway/mobile-commands.d.ts.map +1 -1
- package/dist/gateway/mobile-commands.js +56 -14
- package/dist/gateway/mobile-commands.js.map +1 -1
- package/dist/gateway/presenter.d.ts +12 -2
- package/dist/gateway/presenter.d.ts.map +1 -1
- package/dist/gateway/presenter.js +73 -38
- package/dist/gateway/presenter.js.map +1 -1
- package/dist/gateway/router.d.ts +2 -2
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +17 -2
- package/dist/gateway/router.js.map +1 -1
- package/dist/gateway/service.d.ts +2 -0
- package/dist/gateway/service.d.ts.map +1 -1
- package/dist/gateway/service.js +153 -0
- package/dist/gateway/service.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +86 -33
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +6 -4
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/copyable-text.d.ts.map +1 -1
- package/dist/modes/interactive/components/copyable-text.js +3 -2
- package/dist/modes/interactive/components/copyable-text.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +96 -109
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/smooth-streaming.d.ts.map +1 -1
- package/dist/modes/interactive/smooth-streaming.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +2 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/node-runtime/{adapter-VFG7WNPX.js → adapter-247RTYLS.js} +4 -5
- package/dist/node-runtime/agent-session-services-KDMSPQDY.js +53 -0
- package/dist/node-runtime/{brave-UWDA3I22.js → brave-2AFFAXNN.js} +1 -1
- package/dist/node-runtime/{builtin-extensions-I2HIFEMY.js → builtin-extensions-OX6KELNX.js} +8 -7
- package/dist/node-runtime/{chunk-QH6YL7VK.js → chunk-252ZVPPF.js} +3 -3
- package/dist/node-runtime/{chunk-PCEW76PM.js → chunk-2OIPYKLZ.js} +6 -6
- package/dist/node-runtime/{chunk-XBWPBZBN.js → chunk-2SWW7KMW.js} +1 -1
- package/dist/node-runtime/{chunk-UQUCFAJ3.js → chunk-2VIW3IMF.js} +40 -7
- package/dist/node-runtime/{chunk-UOEDI7RP.js → chunk-4KNKQGHM.js} +2 -2
- package/dist/node-runtime/{chunk-FQMM2EZ2.js → chunk-64XTQNLA.js} +29 -7
- package/dist/node-runtime/{chunk-SPVDBUOS.js → chunk-6O3IW3IA.js} +2 -2
- package/dist/node-runtime/{chunk-5ZQXRPMC.js → chunk-6ZZHGUSA.js} +2 -2
- package/dist/node-runtime/chunk-A2WO6WIN.js +1197 -0
- package/dist/node-runtime/{chunk-WIF24I7G.js → chunk-APVM5NEU.js} +149 -144
- package/dist/node-runtime/{chunk-RCR3XAQY.js → chunk-AYHH7YSD.js} +177 -144
- package/dist/node-runtime/{chunk-LWYIVUGV.js → chunk-B2IBAXNX.js} +48 -31
- package/dist/node-runtime/{chunk-M3LZLQW2.js → chunk-BDRGN3L2.js} +1 -0
- package/dist/node-runtime/{chunk-GJ2RDBRL.js → chunk-BYC6RKCN.js} +4 -2
- package/dist/node-runtime/{chunk-UVWCDQYF.js → chunk-C3P6Q3B2.js} +455 -278
- package/dist/node-runtime/{chunk-SN2KSMPQ.js → chunk-DQSCFU7R.js} +13 -7
- package/dist/node-runtime/{chunk-4SBQAI4T.js → chunk-EBLAZVSA.js} +2058 -73
- package/dist/node-runtime/{chunk-2KIPT4HJ.js → chunk-EPR2F3GU.js} +68 -20
- package/dist/node-runtime/{chunk-CSFI6YXL.js → chunk-ES6PBSIE.js} +1 -1
- package/dist/node-runtime/{chunk-IF24A3FH.js → chunk-EVM653DD.js} +4 -4
- package/dist/node-runtime/{chunk-HTFRRDSF.js → chunk-F2SMQ6ES.js} +3 -2
- package/dist/node-runtime/chunk-F2V2F4ZG.js +114 -0
- package/dist/node-runtime/{chunk-IKU6Y7DL.js → chunk-FE3WZI7F.js} +9 -6
- package/dist/node-runtime/{chunk-GYIXXQAO.js → chunk-FIRA54AC.js} +2 -5
- package/dist/node-runtime/{chunk-6VYZ5UFP.js → chunk-FLGEEH27.js} +1 -1
- package/dist/node-runtime/{chunk-5EFIU3OM.js → chunk-FTKEZL27.js} +1 -1
- package/dist/node-runtime/{chunk-RGQAEOM5.js → chunk-FYIFPFXE.js} +23 -6
- package/dist/node-runtime/{chunk-HMBGROQK.js → chunk-GLDXBBL6.js} +3 -3
- package/dist/node-runtime/{chunk-KWA4OC2J.js → chunk-H6YBCWKG.js} +1 -1
- package/dist/node-runtime/{chunk-2MI5OPMN.js → chunk-HNNHHJAB.js} +68 -50
- package/dist/node-runtime/{chunk-I74LN5JG.js → chunk-HUD2RFJW.js} +2 -2
- package/dist/node-runtime/{chunk-I54LGHWM.js → chunk-I2H5QMWW.js} +3 -3
- package/dist/node-runtime/{chunk-XHIRAZ26.js → chunk-IAZSK7KK.js} +1 -1
- package/dist/node-runtime/{chunk-X3PGBLQ7.js → chunk-IHHTWSXN.js} +9 -9
- package/dist/node-runtime/{chunk-DAPBPCBP.js → chunk-IPP5BIV5.js} +25 -3
- package/dist/node-runtime/{chunk-QFWG2RVL.js → chunk-IXG6F4NT.js} +11 -0
- package/dist/node-runtime/{chunk-RDDAZOMU.js → chunk-JL4HYQXK.js} +1 -1
- package/dist/node-runtime/{chunk-CDVHZOOK.js → chunk-JQYNHAKX.js} +1 -1
- package/dist/node-runtime/{chunk-L24TPBS4.js → chunk-JWEVT363.js} +37 -29
- package/dist/node-runtime/{chunk-2HMIRK7W.js → chunk-LHV3V67B.js} +5 -5
- package/dist/node-runtime/{chunk-UAEOTO52.js → chunk-MNQXDFPV.js} +6 -2
- package/dist/node-runtime/{chunk-T4DA4XE7.js → chunk-MQPKUHRN.js} +162 -82
- package/dist/node-runtime/{chunk-MPKSOJBT.js → chunk-NHATCSOI.js} +4 -7
- package/dist/node-runtime/{chunk-RMQZU2YU.js → chunk-NNNR3QIY.js} +1 -1
- package/dist/node-runtime/{chunk-RWTKOC3B.js → chunk-QBTJG3UM.js} +1 -1
- package/dist/node-runtime/{chunk-P7XBVXGT.js → chunk-QNVMKNNN.js} +18 -14
- package/dist/node-runtime/{chunk-GS42T6MX.js → chunk-QW3AAHWN.js} +1 -1
- package/dist/node-runtime/{chunk-DVQSHCVP.js → chunk-R4WSB2MQ.js} +5 -5
- package/dist/node-runtime/{chunk-B4HP6ZWM.js → chunk-RHCGYWO7.js} +1 -1
- package/dist/node-runtime/{chunk-2CFDTH5B.js → chunk-RLGY2QIL.js} +45 -59
- package/dist/node-runtime/{chunk-KKUTQQV7.js → chunk-RYRGL7P4.js} +1 -1
- package/dist/node-runtime/{chunk-5Q4A37RB.js → chunk-TCT6PCUR.js} +32 -11
- package/dist/node-runtime/{chunk-D5UCKPBQ.js → chunk-UBWW2PID.js} +1 -1
- package/dist/node-runtime/{chunk-E75WFZ33.js → chunk-UNUZICC4.js} +3 -3
- package/dist/node-runtime/{chunk-RAK2QA2B.js → chunk-UYRKUKFE.js} +4 -4
- package/dist/node-runtime/{chunk-LWJXTA6Z.js → chunk-VSUEAI7O.js} +1377 -45
- package/dist/node-runtime/{chunk-NAY6UUQZ.js → chunk-WDIVLMOH.js} +1 -1
- package/dist/node-runtime/{chunk-E24EO34J.js → chunk-WPXUR3HE.js} +1 -1
- package/dist/node-runtime/{chunk-SLVOAQOY.js → chunk-WXYNALHD.js} +113 -1
- package/dist/node-runtime/{chunk-KJ6DWS3K.js → chunk-XEOCUEUJ.js} +121 -60
- package/dist/node-runtime/chunk-YD3IZAZ7.js +47 -0
- package/dist/node-runtime/chunk-YSB6URMT.js +41 -0
- package/dist/node-runtime/{chunk-LJTIVM7I.js → chunk-ZDJUR45D.js} +427 -126
- package/dist/node-runtime/{chunk-YWOJIGFY.js → chunk-ZEVFBFNF.js} +95 -142
- package/dist/node-runtime/{chunk-5B6VKFEV.js → chunk-ZIQUS5QO.js} +1 -1
- package/dist/node-runtime/cli-runtime.js +4 -4
- package/dist/node-runtime/{command-FSBU2EVZ.js → command-3HMSY6W2.js} +5 -5
- package/dist/node-runtime/{commands-EMBQQVVT.js → commands-D6A6H4TS.js} +11 -18
- package/dist/node-runtime/{commands-NAAL7KNT.js → commands-OCSSEEWJ.js} +16 -16
- package/dist/node-runtime/{config-QDD5PUE2.js → config-CU7M7BTK.js} +1 -1
- package/dist/node-runtime/{config-D4QUPAHX.js → config-DS7XLMEM.js} +2 -2
- package/dist/node-runtime/{direct-tool-executor-4D7UXYU4.js → direct-tool-executor-2QJXVQD2.js} +6 -11
- package/dist/node-runtime/{exa-LL64QZR2.js → exa-6VBZNPGE.js} +1 -1
- package/dist/node-runtime/{export-html-VM4J2MNR.js → export-html-BRWF5AHI.js} +4 -4
- package/dist/node-runtime/{extension-input-E7BJZ35H.js → extension-input-VBBMX7YV.js} +5 -5
- package/dist/node-runtime/{extension-selector-WU42XDTU.js → extension-selector-T5AOG5XB.js} +5 -5
- package/dist/node-runtime/{extract-EQJE7FZZ.js → extract-BFX2N35A.js} +3 -3
- package/dist/node-runtime/{gateway-DQM333YV.js → gateway-6623C2U3.js} +51 -42
- package/dist/node-runtime/{gemini-search-35OCRFLN.js → gemini-search-C66QHDT6.js} +2 -2
- package/dist/node-runtime/{gemini-url-context-UQY3PHHW.js → gemini-url-context-T7DEK73R.js} +3 -3
- package/dist/node-runtime/{github-extract-F64RZOEA.js → github-extract-HOGE3D6F.js} +107 -38
- package/dist/node-runtime/{goal-NJEE5CTU.js → goal-AIHEDUYA.js} +5 -5
- package/dist/node-runtime/index.js +50 -48
- package/dist/node-runtime/{init-P5AUV77I.js → init-JBQJIPYI.js} +3 -6
- package/dist/node-runtime/{install-cli-NN4YAU44.js → install-cli-INGHIVBY.js} +30 -25
- package/dist/node-runtime/interactive-mode-FM5DNUSW.js +74 -0
- package/dist/node-runtime/{interactive-view-NGFAMHPW.js → interactive-view-K33PM4OS.js} +8 -8
- package/dist/node-runtime/{lsp-manager-3ASUSO4T.js → lsp-manager-S554V5HR.js} +240 -155
- package/dist/node-runtime/{lunr-browser-IR7TL3J7.js → lunr-browser-H4FDOR3C.js} +7 -7
- package/dist/node-runtime/{lunr-computer-use-Y23CCDIJ.js → lunr-computer-use-VDP2QNRQ.js} +9 -9
- package/dist/node-runtime/{lunr-cron-USHC4LXH.js → lunr-cron-LKVA5CZZ.js} +93 -80
- package/dist/node-runtime/main.js +42 -41
- package/dist/node-runtime/{mobile-commands-O5LCHL32.js → mobile-commands-XT3NQXLD.js} +12 -12
- package/dist/node-runtime/{model-runtime-OO5HFLWE.js → model-runtime-MZ2JMDV4.js} +4 -4
- package/dist/node-runtime/{openai-search-B3MSNCQA.js → openai-search-K72LJDYN.js} +1 -1
- package/dist/node-runtime/{package-manager-cli-Q7BL6KZO.js → package-manager-cli-CYM262SI.js} +20 -20
- package/dist/node-runtime/{parallel-AI2MNSCU.js → parallel-X724NCNU.js} +1 -1
- package/dist/node-runtime/{perplexity-QVJW3I35.js → perplexity-RDHQHVMK.js} +2 -2
- package/dist/node-runtime/{pi-intercom-QM53RLTS.js → pi-intercom-NHHEPBMI.js} +2 -2
- package/dist/node-runtime/{pi-mcp-adapter-3PHF4KZ4.js → pi-mcp-adapter-PP3GQJQ2.js} +98 -94
- package/dist/node-runtime/{pi-ollama-cloud-2F3Y2QNM.js → pi-ollama-cloud-4MNWIMFN.js} +11 -24
- package/dist/node-runtime/{pi-prompt-template-model-QWTCGLJU.js → pi-prompt-template-model-FTGELLS5.js} +32 -36
- package/dist/node-runtime/{pi-subagents-7IBSSGEW.js → pi-subagents-LT3CTO4E.js} +98 -106
- package/dist/node-runtime/{pi-web-access-WTGMNZ32.js → pi-web-access-Z3LP246C.js} +144 -108
- package/dist/node-runtime/{print-mode-XQ76CYMT.js → print-mode-2XHN5SUA.js} +3 -3
- package/dist/node-runtime/{process-registry-4FAKZQOL.js → process-registry-Q4QWIU33.js} +3 -3
- package/dist/node-runtime/{proxy-modes-5FAPSZEZ.js → proxy-modes-VEGC6QG5.js} +8 -15
- package/dist/node-runtime/rpc-entry.js +42 -41
- package/dist/node-runtime/{rpc-mode-O3XV4SID.js → rpc-mode-32DHJPEJ.js} +4 -4
- package/dist/node-runtime/{runtime-4VA6JKNF.js → runtime-EDUUGAQD.js} +56 -46
- package/dist/node-runtime/{runtime-EFPPD2UW.js → runtime-UGXM4NPQ.js} +2 -2
- package/dist/node-runtime/{runtime-bridges-7WVCLI76.js → runtime-bridges-DNKMNJCF.js} +7 -7
- package/dist/node-runtime/{service-MDQIPQ26.js → service-IHLGFLBT.js} +6 -4
- package/dist/node-runtime/{session-handoff-GWARVEWT.js → session-handoff-LNSPDTKY.js} +4 -4
- package/dist/node-runtime/{session-manager-JB5J6XBN.js → session-manager-YIFIAVGC.js} +3 -3
- package/dist/node-runtime/{session-selector-GIM4DHQ2.js → session-selector-I73U3EIO.js} +7 -7
- package/dist/node-runtime/{settings-manager-DJDM5AHM.js → settings-manager-P2TKGYTR.js} +5 -5
- package/dist/node-runtime/{setup-JBKOLJ6F.js → setup-H7CCELIL.js} +15 -1
- package/dist/node-runtime/{setup-PFBWRNUI.js → setup-OLQ4GXWS.js} +17 -17
- package/dist/node-runtime/{src-IVPNZ2BX.js → src-6RV4PXKJ.js} +64 -36
- package/dist/node-runtime/{subagent-executor-LPZ4BHWE.js → subagent-executor-Q5F7DBVM.js} +119 -58
- package/dist/node-runtime/{tavily-WEZFVFP7.js → tavily-KZBFYQB6.js} +1 -1
- package/dist/node-runtime/{theme-UOO5RVFN.js → theme-YLVZKKZD.js} +2 -2
- package/dist/node-runtime/{trust-manager-MMISNCYO.js → trust-manager-ZCU76D23.js} +2 -2
- package/dist/node-runtime/{update-cli-HNMOTNGX.js → update-cli-F3XXJANQ.js} +6 -6
- package/dist/node-runtime/{usage-service-LFB2SWYV.js → usage-service-CPAGBED5.js} +1 -1
- package/dist/node-runtime/{video-extract-OOZHR7SU.js → video-extract-UPKYIBW3.js} +3 -3
- package/dist/node-runtime/{workflow-OHPBEFO4.js → workflow-ICDI4N3J.js} +208 -78
- package/dist/node-runtime/{youtube-extract-FNPAUNHU.js → youtube-extract-77NT7FWH.js} +4 -4
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js +25 -10
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js +2 -0
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/paths.d.ts +4 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +33 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/sanitize-terminal-text.d.ts +7 -0
- package/dist/utils/sanitize-terminal-text.d.ts.map +1 -0
- package/dist/utils/sanitize-terminal-text.js +67 -0
- package/dist/utils/sanitize-terminal-text.js.map +1 -0
- package/docs/browser.md +1 -1
- package/docs/custom-provider.md +3 -3
- package/docs/extensions.md +8 -4
- package/docs/features.md +15 -7
- package/docs/keybindings.md +1 -1
- package/docs/models.md +5 -5
- package/docs/packages.md +1 -1
- package/docs/providers.md +2 -2
- package/docs/rpc.md +7 -7
- package/docs/security.md +10 -5
- package/docs/sessions.md +2 -2
- package/docs/skills.md +1 -1
- package/docs/terminal-setup.md +7 -7
- package/docs/themes.md +1 -1
- package/docs/usage.md +1 -1
- package/examples/extensions/auto-commit-on-exit.ts +1 -1
- package/examples/extensions/bash-spawn-hook.ts +1 -1
- package/examples/extensions/built-in-tool-renderer.ts +1 -1
- package/examples/extensions/claude-rules.ts +1 -1
- package/examples/extensions/commands.ts +1 -1
- package/examples/extensions/custom-compaction.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/index.ts +3 -3
- 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/index.ts +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/doom-overlay/index.ts +1 -1
- package/examples/extensions/git-merge-and-resolve.ts +2 -2
- package/examples/extensions/gondolin/index.ts +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/hidden-thinking-label.ts +1 -1
- package/examples/extensions/inline-bash.ts +2 -2
- package/examples/extensions/input-transform-streaming.ts +2 -2
- package/examples/extensions/input-transform.ts +2 -2
- package/examples/extensions/interactive-shell.ts +1 -1
- package/examples/extensions/kimi-deferred-tools.ts +1 -1
- package/examples/extensions/mac-system-theme.ts +1 -1
- package/examples/extensions/minimal-mode.ts +1 -1
- package/examples/extensions/modal-editor.ts +1 -1
- package/examples/extensions/model-status.ts +1 -1
- package/examples/extensions/notify.ts +3 -3
- package/examples/extensions/overlay-qa-tests.ts +1 -1
- package/examples/extensions/overlay-test.ts +1 -1
- package/examples/extensions/pirate.ts +1 -1
- package/examples/extensions/preset.ts +3 -3
- package/examples/extensions/project-trust.ts +4 -4
- package/examples/extensions/prompt-customizer.ts +1 -1
- package/examples/extensions/rainbow-editor.ts +1 -1
- package/examples/extensions/rpc-demo.ts +1 -1
- package/examples/extensions/sandbox/index.ts +7 -7
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/shutdown-command.ts +5 -5
- package/examples/extensions/ssh.ts +2 -2
- package/examples/extensions/subagent/README.md +3 -3
- package/examples/extensions/subagent/index.ts +2 -2
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/tool-override.ts +1 -1
- package/examples/extensions/tools.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/extensions/working-indicator.ts +1 -1
- package/examples/extensions/working-message-test.ts +1 -1
- package/examples/sdk/01-minimal.ts +1 -1
- package/examples/sdk/03-custom-prompt.ts +1 -1
- package/examples/sdk/04-skills.ts +1 -1
- package/examples/sdk/06-extensions.ts +2 -2
- package/examples/sdk/08-prompt-templates.ts +1 -1
- package/install-lock/package-lock.json +24 -24
- package/install-lock/package.json +2 -2
- package/npm-shrinkwrap.json +60 -24
- package/package.json +9 -9
- package/dist/modes/interactive/components/exit-card.d.ts +0 -22
- package/dist/modes/interactive/components/exit-card.d.ts.map +0 -1
- package/dist/modes/interactive/components/exit-card.js +0 -69
- package/dist/modes/interactive/components/exit-card.js.map +0 -1
- package/dist/node-runtime/agent-session-services-5YXS2PLF.js +0 -51
- package/dist/node-runtime/chunk-2IDTZAG5.js +0 -1415
- package/dist/node-runtime/chunk-3MISGG4S.js +0 -769
- package/dist/node-runtime/chunk-4HXHDDCF.js +0 -16
- package/dist/node-runtime/chunk-5B5QN3ZQ.js +0 -356
- package/dist/node-runtime/chunk-7IQGBKBJ.js +0 -2033
- package/dist/node-runtime/chunk-AUXVGBO4.js +0 -19
- package/dist/node-runtime/chunk-PTFBPO3C.js +0 -50
- package/dist/node-runtime/interactive-mode-YOHZVMKX.js +0 -74
- package/dist/node-runtime/mcp-auth-flow-QVLFVLEO.js +0 -33
|
@@ -390,6 +390,7 @@ var require_main2 = __commonJS({
|
|
|
390
390
|
import { resolve, join } from "node:path";
|
|
391
391
|
import { pathToFileURL as pathToFileURL2 } from "node:url";
|
|
392
392
|
import { existsSync, readFileSync, readdirSync, unlinkSync } from "node:fs";
|
|
393
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
393
394
|
import { spawn as spawnChild } from "node:child_process";
|
|
394
395
|
|
|
395
396
|
// packages/coding-agent/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js
|
|
@@ -408,6 +409,9 @@ var LspClient = class {
|
|
|
408
409
|
_disposed = !1;
|
|
409
410
|
/** True if connected to a daemon socket (server init handled by daemon) */
|
|
410
411
|
_isDaemonClient = !1;
|
|
412
|
+
stop = new AbortController();
|
|
413
|
+
startPromise = null;
|
|
414
|
+
shutdownPromise = null;
|
|
411
415
|
languageId;
|
|
412
416
|
command;
|
|
413
417
|
rootDir;
|
|
@@ -432,8 +436,18 @@ var LspClient = class {
|
|
|
432
436
|
return new Map(this._diagnostics);
|
|
433
437
|
}
|
|
434
438
|
/** Start the LSP server and perform the initialize handshake */
|
|
435
|
-
|
|
436
|
-
this.
|
|
439
|
+
start() {
|
|
440
|
+
return this._disposed ? Promise.reject(new Error("LSP client shut down")) : this.startPromise ? this.startPromise : (this.startPromise = (this.options.socketPath ? this.connectToSocket(this.options.socketPath) : this.spawnDirect()).catch(async (error) => {
|
|
441
|
+
throw await this.shutdown(), error;
|
|
442
|
+
}), this.startPromise);
|
|
443
|
+
}
|
|
444
|
+
/** Cancel an owned handshake without waiting for the remote server. */
|
|
445
|
+
waitForStart(pending) {
|
|
446
|
+
let signal = this.stop.signal;
|
|
447
|
+
return signal.throwIfAborted(), new Promise((resolve2, reject) => {
|
|
448
|
+
let aborted = () => reject(signal.reason);
|
|
449
|
+
signal.addEventListener("abort", aborted, { once: !0 }), pending.then(resolve2, reject).finally(() => signal.removeEventListener("abort", aborted));
|
|
450
|
+
});
|
|
437
451
|
}
|
|
438
452
|
/** Register shared connection handlers (diagnostics, workspace/configuration, errors) */
|
|
439
453
|
registerConnectionHandlers() {
|
|
@@ -451,64 +465,63 @@ var LspClient = class {
|
|
|
451
465
|
/** Connect to an existing LSP daemon via Unix socket (no init handshake needed) */
|
|
452
466
|
async connectToSocket(socketPath) {
|
|
453
467
|
return this._isDaemonClient = !0, new Promise((resolve2, reject) => {
|
|
454
|
-
let settled = !1, settle = (
|
|
455
|
-
settled || (settled = !0,
|
|
468
|
+
let settled = !1, connected = !1, timeout, settle = (error) => {
|
|
469
|
+
settled || (settled = !0, clearTimeout(timeout), this.stop.signal.removeEventListener("abort", aborted), error ? reject(error) : resolve2());
|
|
470
|
+
}, aborted = () => {
|
|
471
|
+
settle(new Error("LSP client shut down")), socket.destroy();
|
|
456
472
|
}, socket = netConnect(socketPath, () => {
|
|
457
|
-
this.
|
|
458
|
-
|
|
459
|
-
|
|
473
|
+
if (this._disposed || settled) {
|
|
474
|
+
socket.destroy();
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
try {
|
|
478
|
+
let reader = new import_node.SocketMessageReader(socket), writer = new import_node.SocketMessageWriter(socket);
|
|
479
|
+
this.connection = (0, import_node.createMessageConnection)(reader, writer), this.registerConnectionHandlers(), this.connection.listen(), this._initialized = !0, connected = !0, settle();
|
|
480
|
+
} catch (error) {
|
|
481
|
+
settle(error instanceof Error ? error : new Error(String(error))), socket.destroy();
|
|
482
|
+
}
|
|
460
483
|
});
|
|
461
|
-
socket.on("error", (err) => {
|
|
462
|
-
|
|
484
|
+
this.socket = socket, socket.on("error", (err) => {
|
|
485
|
+
settle(new Error(`Failed to connect to LSP daemon: ${err.message}`)), this._initialized = !1;
|
|
463
486
|
}), socket.on("close", () => {
|
|
464
|
-
this._disposed || (this._initialized = !1, this.options.onUnexpectedExit?.(null));
|
|
465
|
-
}), setTimeout(() => {
|
|
466
|
-
|
|
467
|
-
}, 1e4);
|
|
487
|
+
settle(new Error("LSP daemon socket closed during startup")), this._disposed || (this._initialized = !1, connected && this.options.onUnexpectedExit?.(null));
|
|
488
|
+
}), timeout = setTimeout(() => {
|
|
489
|
+
settle(new Error("Timeout connecting to LSP daemon socket")), socket.destroy();
|
|
490
|
+
}, 1e4), this.stop.signal.addEventListener("abort", aborted, { once: !0 }), this.stop.signal.aborted && aborted();
|
|
468
491
|
});
|
|
469
492
|
}
|
|
470
493
|
/** Spawn LSP server directly as child process with stdio */
|
|
471
494
|
async spawnDirect() {
|
|
472
495
|
let env = { ...process.env, ...this.options.env };
|
|
473
|
-
|
|
496
|
+
this.process = spawn(this.options.command, this.options.args, {
|
|
474
497
|
stdio: ["pipe", "pipe", "pipe"],
|
|
475
498
|
env,
|
|
476
499
|
cwd: this.rootDir
|
|
477
|
-
})
|
|
500
|
+
});
|
|
501
|
+
let child = this.process;
|
|
502
|
+
for (let stream of [child.stdin, child.stdout, child.stderr])
|
|
503
|
+
stream?.on("error", (err) => {
|
|
504
|
+
this._disposed || console.error(`[LSP ${this.languageId}] Transport error: ${err.message}`);
|
|
505
|
+
});
|
|
506
|
+
child.on("error", (err) => {
|
|
507
|
+
this._disposed || console.error(`[LSP ${this.languageId}] Process error: ${err.message}`), this._initialized = !1, this.disposeConnection();
|
|
508
|
+
});
|
|
509
|
+
let wasInitialized = !1;
|
|
510
|
+
if (child.on("exit", (code) => {
|
|
511
|
+
this._disposed || (this._initialized = !1, this.disposeConnection(), wasInitialized && this.options.onUnexpectedExit?.(code));
|
|
512
|
+
}), !child.stdout || !child.stdin)
|
|
478
513
|
throw new Error(`Failed to spawn LSP server: ${this.options.command}`);
|
|
479
|
-
await new Promise((resolve2, reject) => {
|
|
514
|
+
await this.waitForStart(new Promise((resolve2, reject) => {
|
|
480
515
|
let onSpawn = () => {
|
|
481
516
|
cleanup(), resolve2();
|
|
482
517
|
}, onError = (err) => {
|
|
483
518
|
cleanup(), reject(new Error(`Failed to spawn LSP server "${this.options.command}": ${err.message}`));
|
|
484
519
|
}, cleanup = () => {
|
|
485
|
-
|
|
520
|
+
child.removeListener("spawn", onSpawn), child.removeListener("error", onError), this.stop.signal.removeEventListener("abort", cleanup);
|
|
486
521
|
};
|
|
487
|
-
|
|
488
|
-
}), this.
|
|
489
|
-
let
|
|
490
|
-
stdin.write = function(...args) {
|
|
491
|
-
if (this.destroyed || this.writableEnded || this.writableFinished) {
|
|
492
|
-
let cb = args[args.length - 1];
|
|
493
|
-
return typeof cb == "function" && process.nextTick(cb), !1;
|
|
494
|
-
}
|
|
495
|
-
try {
|
|
496
|
-
return originalWrite.apply(this, args);
|
|
497
|
-
} catch (err) {
|
|
498
|
-
if (err?.code === "EPIPE" || err?.code === "ERR_STREAM_DESTROYED") {
|
|
499
|
-
let cb = args[args.length - 1];
|
|
500
|
-
return typeof cb == "function" && process.nextTick(cb), !1;
|
|
501
|
-
}
|
|
502
|
-
throw err;
|
|
503
|
-
}
|
|
504
|
-
}, stdin.on("error", (err) => {
|
|
505
|
-
err?.code !== "EPIPE" && console.error(`[LSP ${this.languageId}] stdin error: ${err.message}`);
|
|
506
|
-
}), this.process.on("error", (err) => {
|
|
507
|
-
console.error(`[LSP ${this.languageId}] Process error: ${err.message}`), this._initialized = !1, this.disposeConnection();
|
|
508
|
-
}), this.process.on("exit", (code) => {
|
|
509
|
-
this._disposed || (console.error(`[LSP ${this.languageId}] Server exited with code ${code}`), this._initialized = !1, this.disposeConnection(), this.options.onUnexpectedExit?.(code));
|
|
510
|
-
});
|
|
511
|
-
let reader = new import_node.StreamMessageReader(this.process.stdout), writer = new import_node.StreamMessageWriter(this.process.stdin);
|
|
522
|
+
child.once("spawn", onSpawn), child.once("error", onError), this.stop.signal.addEventListener("abort", cleanup, { once: !0 });
|
|
523
|
+
})), this.stop.signal.throwIfAborted(), child.stderr?.resume();
|
|
524
|
+
let reader = new import_node.StreamMessageReader(child.stdout), writer = new import_node.StreamMessageWriter(child.stdin);
|
|
512
525
|
this.connection = (0, import_node.createMessageConnection)(reader, writer), this.registerConnectionHandlers(), this.connection.listen();
|
|
513
526
|
let rootUri = pathToFileURL(this.rootDir).toString(), defaultFolder = { uri: rootUri, name: this.rootDir.split("/").pop() ?? "workspace" }, workspaceFolders = this.options.workspaceFolders && this.options.workspaceFolders.length > 0 ? this.options.workspaceFolders : [defaultFolder], initParams = {
|
|
514
527
|
processId: process.pid,
|
|
@@ -547,8 +560,8 @@ var LspClient = class {
|
|
|
547
560
|
rootUri,
|
|
548
561
|
workspaceFolders,
|
|
549
562
|
...this.options.initializationOptions ? { initializationOptions: this.options.initializationOptions } : {}
|
|
550
|
-
}, result = await this.connection.sendRequest("initialize", initParams);
|
|
551
|
-
this._serverCapabilities = result.capabilities, this.connection.sendNotification("initialized", {}), this._initialized = !0;
|
|
563
|
+
}, result = await this.waitForStart(this.connection.sendRequest("initialize", initParams));
|
|
564
|
+
this.stop.signal.throwIfAborted(), this._serverCapabilities = result.capabilities, await this.waitForStart(this.connection.sendNotification("initialized", {})), this.stop.signal.throwIfAborted(), this._initialized = !0, wasInitialized = !0;
|
|
552
565
|
}
|
|
553
566
|
/** Safely dispose the connection without throwing */
|
|
554
567
|
disposeConnection() {
|
|
@@ -566,7 +579,17 @@ var LspClient = class {
|
|
|
566
579
|
}
|
|
567
580
|
/** Send a notification to the LSP server */
|
|
568
581
|
sendNotification(method, params) {
|
|
569
|
-
!this.connection || !this._initialized
|
|
582
|
+
if (!this.connection || !this._initialized)
|
|
583
|
+
return;
|
|
584
|
+
let report = (error) => {
|
|
585
|
+
let message = error instanceof Error ? error.message : String(error);
|
|
586
|
+
this._disposed || console.error(`[LSP ${this.languageId}] Notification failed: ${message}`);
|
|
587
|
+
};
|
|
588
|
+
try {
|
|
589
|
+
this.connection.sendNotification(method, params).catch(report);
|
|
590
|
+
} catch (error) {
|
|
591
|
+
report(error);
|
|
592
|
+
}
|
|
570
593
|
}
|
|
571
594
|
/** Notify server of a newly opened document */
|
|
572
595
|
didOpen(uri, languageId, version, text) {
|
|
@@ -588,31 +611,60 @@ var LspClient = class {
|
|
|
588
611
|
});
|
|
589
612
|
}
|
|
590
613
|
/** Gracefully shut down or disconnect from the server */
|
|
591
|
-
|
|
592
|
-
if (
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
614
|
+
shutdown() {
|
|
615
|
+
if (this.shutdownPromise)
|
|
616
|
+
return this.shutdownPromise;
|
|
617
|
+
let initialized = this._initialized;
|
|
618
|
+
return this._disposed = !0, this._initialized = !1, this.stop.abort(new Error("LSP client shut down")), this.shutdownPromise = this.shutdownOwnedTransport(initialized), this.shutdownPromise;
|
|
619
|
+
}
|
|
620
|
+
async shutdownOwnedTransport(initialized) {
|
|
621
|
+
let child = this.process, connection = this.connection;
|
|
622
|
+
if (this.process = null, this._isDaemonClient) {
|
|
623
|
+
this.disposeConnection(), this.socket?.destroy(), this.socket = null;
|
|
624
|
+
return;
|
|
625
|
+
}
|
|
626
|
+
if (connection && initialized) {
|
|
627
|
+
let timeout;
|
|
597
628
|
try {
|
|
598
|
-
|
|
599
|
-
|
|
629
|
+
let graceful = async () => {
|
|
630
|
+
await connection.sendRequest("shutdown").catch(() => {
|
|
631
|
+
}), await connection.sendNotification("exit").catch(() => {
|
|
600
632
|
});
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
}
|
|
633
|
+
};
|
|
634
|
+
await Promise.race([
|
|
635
|
+
graceful().catch(() => {
|
|
636
|
+
}),
|
|
637
|
+
new Promise((resolve2) => {
|
|
638
|
+
timeout = setTimeout(resolve2, 3e3);
|
|
639
|
+
})
|
|
640
|
+
]);
|
|
610
641
|
} catch {
|
|
642
|
+
} finally {
|
|
643
|
+
clearTimeout(timeout);
|
|
611
644
|
}
|
|
612
|
-
this.disposeConnection(), this.process && (this.process.kill("SIGTERM"), setTimeout(() => {
|
|
613
|
-
this.process && !this.process.killed && this.process.kill("SIGKILL");
|
|
614
|
-
}, 2e3)), this.process = null;
|
|
615
645
|
}
|
|
646
|
+
this.disposeConnection(), !(!child || child.exitCode !== null || child.signalCode !== null) && await new Promise((resolve2, reject) => {
|
|
647
|
+
let forceTimer, exitTimer, cleanup = () => {
|
|
648
|
+
clearTimeout(forceTimer), clearTimeout(exitTimer), child.removeListener("exit", exited);
|
|
649
|
+
}, exited = () => {
|
|
650
|
+
cleanup(), resolve2();
|
|
651
|
+
}, signalChild = (signal) => {
|
|
652
|
+
try {
|
|
653
|
+
child.kill(signal);
|
|
654
|
+
} catch (error) {
|
|
655
|
+
cleanup(), reject(error);
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
child.once("exit", exited), forceTimer = setTimeout(() => {
|
|
659
|
+
if (child.exitCode !== null || child.signalCode !== null) {
|
|
660
|
+
exited();
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
exitTimer = setTimeout(() => {
|
|
664
|
+
cleanup(), reject(new Error(`LSP ${this.languageId} process did not exit after SIGKILL`));
|
|
665
|
+
}, 1e3), signalChild("SIGKILL");
|
|
666
|
+
}, 2e3), signalChild("SIGTERM");
|
|
667
|
+
});
|
|
616
668
|
}
|
|
617
669
|
};
|
|
618
670
|
|
|
@@ -656,6 +708,10 @@ var DEFAULT_SERVERS = {
|
|
|
656
708
|
_sessionId;
|
|
657
709
|
_lombokJarPath = null;
|
|
658
710
|
_shuttingDown = !1;
|
|
711
|
+
stop = new AbortController();
|
|
712
|
+
pendingClients = /* @__PURE__ */ new Set();
|
|
713
|
+
restartTimers = /* @__PURE__ */ new Set();
|
|
714
|
+
shutdownPromise = null;
|
|
659
715
|
_restartAttempts = /* @__PURE__ */ new Map();
|
|
660
716
|
_restartBackoff = /* @__PURE__ */ new Map();
|
|
661
717
|
static MAX_RESTART_ATTEMPTS = 3;
|
|
@@ -814,17 +870,17 @@ var DEFAULT_SERVERS = {
|
|
|
814
870
|
* Returns null if no server is configured for this language.
|
|
815
871
|
*/
|
|
816
872
|
async getClientForLanguage(languageId) {
|
|
873
|
+
if (this._shuttingDown)
|
|
874
|
+
return null;
|
|
817
875
|
let existing = this.clients.get(languageId);
|
|
818
876
|
if (existing && existing.initialized && !existing.disposed)
|
|
819
877
|
return existing;
|
|
820
878
|
if (this.startingServers.get(languageId))
|
|
821
879
|
return null;
|
|
822
880
|
let config = this.serverConfigs.get(languageId);
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
return this.startingServers.set(languageId, startPromise), startPromise.catch((err) => {
|
|
827
|
-
this.startingServers.delete(languageId);
|
|
881
|
+
return config && this.trackStart(languageId, config).catch((err) => {
|
|
882
|
+
if (this._shuttingDown)
|
|
883
|
+
return;
|
|
828
884
|
let message = `Failed to start LSP server for ${languageId}: ${err.message}`;
|
|
829
885
|
this._callbacks.onServerError?.(languageId, message);
|
|
830
886
|
}), null;
|
|
@@ -841,18 +897,18 @@ var DEFAULT_SERVERS = {
|
|
|
841
897
|
* is fire-and-forget — intended for session_start auto-start.
|
|
842
898
|
*/
|
|
843
899
|
startEagerly(languageIds) {
|
|
844
|
-
|
|
845
|
-
let
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
900
|
+
if (!this._shuttingDown)
|
|
901
|
+
for (let languageId of languageIds) {
|
|
902
|
+
let existing = this.clients.get(languageId);
|
|
903
|
+
if (existing && existing.initialized && !existing.disposed || this.startingServers.has(languageId))
|
|
904
|
+
continue;
|
|
905
|
+
let config = this.serverConfigs.get(languageId);
|
|
906
|
+
if (!config)
|
|
907
|
+
continue;
|
|
908
|
+
this.trackStart(languageId, config).catch((err) => {
|
|
909
|
+
this._shuttingDown || this._callbacks.onServerError?.(languageId, `Auto-start failed: ${err.message}`);
|
|
910
|
+
});
|
|
911
|
+
}
|
|
856
912
|
}
|
|
857
913
|
/**
|
|
858
914
|
* Ensure workspace provider is ready (one-time per session).
|
|
@@ -862,88 +918,98 @@ var DEFAULT_SERVERS = {
|
|
|
862
918
|
if (this._workspaceReady)
|
|
863
919
|
return;
|
|
864
920
|
if (this._workspaceReadying) {
|
|
865
|
-
await this._workspaceReadying;
|
|
921
|
+
await this.waitForStart(this._workspaceReadying);
|
|
866
922
|
return;
|
|
867
923
|
}
|
|
868
|
-
this._callbacks.onWorkspaceSetupStart?.();
|
|
924
|
+
this._callbacks.onWorkspaceSetupStart?.(), this.stop.signal.throwIfAborted();
|
|
869
925
|
let start = Date.now();
|
|
870
926
|
this._workspaceReadying = this._workspace.ensureReady(this._sessionId);
|
|
871
927
|
try {
|
|
872
|
-
let success = await this._workspaceReadying;
|
|
928
|
+
let success = await this.waitForStart(this._workspaceReadying);
|
|
873
929
|
this._callbacks.onWorkspaceSetupEnd?.(success, Date.now() - start);
|
|
874
930
|
} finally {
|
|
875
931
|
this._workspaceReady = !0, this._workspaceReadying = null;
|
|
876
932
|
}
|
|
877
933
|
}
|
|
934
|
+
/** Keep starts registered until their owned clients have either attached or closed. */
|
|
935
|
+
trackStart(languageId, config) {
|
|
936
|
+
this.stop.signal.throwIfAborted();
|
|
937
|
+
let existing = this.startingServers.get(languageId);
|
|
938
|
+
if (existing)
|
|
939
|
+
return existing;
|
|
940
|
+
let pending = Promise.resolve().then(() => this.startServer(languageId, config)).finally(() => {
|
|
941
|
+
this.startingServers.get(languageId) === pending && this.startingServers.delete(languageId);
|
|
942
|
+
});
|
|
943
|
+
return this.startingServers.set(languageId, pending), pending;
|
|
944
|
+
}
|
|
945
|
+
waitForStart(pending) {
|
|
946
|
+
let signal = this.stop.signal;
|
|
947
|
+
return signal.throwIfAborted(), new Promise((resolve2, reject) => {
|
|
948
|
+
let aborted = () => reject(signal.reason);
|
|
949
|
+
signal.addEventListener("abort", aborted, { once: !0 }), pending.then(resolve2, reject).finally(() => signal.removeEventListener("abort", aborted));
|
|
950
|
+
});
|
|
951
|
+
}
|
|
878
952
|
async startServer(languageId, config) {
|
|
879
|
-
await this.ensureWorkspace();
|
|
953
|
+
this.stop.signal.throwIfAborted(), await this.ensureWorkspace(), this.stop.signal.throwIfAborted();
|
|
880
954
|
let stateDir = this._workspace.stateDir, folders = this._workspace.getWorkspaceFolders(), workspaceFolders = folders.length > 0 ? folders : void 0, initializationOptions = config.initializationOptions ?? (languageId === "java" ? this.getJavaInitializationOptions() : void 0), effectiveArgs = config.args;
|
|
881
955
|
if (languageId === "java") {
|
|
882
956
|
let lombokJar = this.findLombokJar();
|
|
883
957
|
lombokJar && (effectiveArgs = [`--jvm-arg=-javaagent:${lombokJar}`, ...config.args]);
|
|
884
958
|
}
|
|
885
|
-
let onUnexpectedExit = (code) => this.handleUnexpectedExit(languageId, code),
|
|
959
|
+
let onUnexpectedExit = (code) => this.handleUnexpectedExit(languageId, code), connectClient = async (socketPath2) => {
|
|
960
|
+
this.stop.signal.throwIfAborted();
|
|
961
|
+
let client = new LspClient({
|
|
962
|
+
command: config.command,
|
|
963
|
+
args: effectiveArgs,
|
|
964
|
+
rootDir: this.rootDir,
|
|
965
|
+
languageId,
|
|
966
|
+
socketPath: socketPath2,
|
|
967
|
+
env: config.env,
|
|
968
|
+
workspaceFolders,
|
|
969
|
+
initializationOptions,
|
|
970
|
+
settings: config.settings,
|
|
971
|
+
onUnexpectedExit
|
|
972
|
+
});
|
|
973
|
+
this.pendingClients.add(client);
|
|
974
|
+
try {
|
|
975
|
+
if (await this.waitForStart(client.start()), this.stop.signal.throwIfAborted(), !client.initialized || client.disposed)
|
|
976
|
+
throw new Error("LSP client closed during startup");
|
|
977
|
+
return this.clients.set(languageId, client), this._callbacks.onServerReady?.(languageId), this._restartAttempts.delete(languageId), this._restartBackoff.delete(languageId), this.triggerPostInit(languageId, client), client;
|
|
978
|
+
} catch (error) {
|
|
979
|
+
throw await client.shutdown(), error;
|
|
980
|
+
} finally {
|
|
981
|
+
this.pendingClients.delete(client);
|
|
982
|
+
}
|
|
983
|
+
}, socketPath = this.getSocketPath(languageId);
|
|
886
984
|
if (socketPath && this.isDaemonAlive(languageId)) {
|
|
887
985
|
this._callbacks.onServerStart?.(languageId, `${config.command} (shared)`);
|
|
888
986
|
try {
|
|
889
|
-
|
|
890
|
-
command: config.command,
|
|
891
|
-
args: effectiveArgs,
|
|
892
|
-
rootDir: this.rootDir,
|
|
893
|
-
languageId,
|
|
894
|
-
socketPath,
|
|
895
|
-
initializationOptions,
|
|
896
|
-
settings: config.settings,
|
|
897
|
-
onUnexpectedExit
|
|
898
|
-
});
|
|
899
|
-
return await client2.start(), this.clients.set(languageId, client2), this.startingServers.delete(languageId), this._callbacks.onServerReady?.(languageId), this._restartAttempts.delete(languageId), this._restartBackoff.delete(languageId), this.triggerPostInit(languageId, client2), client2;
|
|
987
|
+
return await connectClient(socketPath);
|
|
900
988
|
} catch {
|
|
989
|
+
this.stop.signal.throwIfAborted();
|
|
901
990
|
}
|
|
902
991
|
}
|
|
903
|
-
if (this._callbacks.onServerStart?.(languageId, config.command), stateDir)
|
|
992
|
+
if (this.stop.signal.throwIfAborted(), this._callbacks.onServerStart?.(languageId, config.command), stateDir)
|
|
904
993
|
try {
|
|
905
|
-
await this.spawnDaemon(languageId, config, effectiveArgs, workspaceFolders, initializationOptions), await
|
|
906
|
-
let daemonSocket = this.getSocketPath(languageId), lastErr
|
|
907
|
-
for (let attempt = 0; attempt < 60; attempt++)
|
|
994
|
+
await this.spawnDaemon(languageId, config, effectiveArgs, workspaceFolders, initializationOptions), await delay(500, void 0, { signal: this.stop.signal });
|
|
995
|
+
let daemonSocket = this.getSocketPath(languageId), lastErr;
|
|
996
|
+
for (let attempt = 0; attempt < 60; attempt++) {
|
|
997
|
+
this.stop.signal.throwIfAborted();
|
|
908
998
|
try {
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
socketPath: daemonSocket,
|
|
915
|
-
initializationOptions,
|
|
916
|
-
settings: config.settings,
|
|
917
|
-
onUnexpectedExit
|
|
918
|
-
});
|
|
919
|
-
return await client2.start(), this.clients.set(languageId, client2), this.startingServers.delete(languageId), this._callbacks.onServerReady?.(languageId), this._restartAttempts.delete(languageId), this._restartBackoff.delete(languageId), this.triggerPostInit(languageId, client2), client2;
|
|
920
|
-
} catch (err) {
|
|
921
|
-
if (lastErr = err, !this.isDaemonAlive(languageId))
|
|
922
|
-
throw new Error(`Daemon for ${languageId} died during startup: ${err.message}`);
|
|
923
|
-
await new Promise((r) => setTimeout(r, 5e3));
|
|
999
|
+
return await connectClient(daemonSocket);
|
|
1000
|
+
} catch (error) {
|
|
1001
|
+
if (this.stop.signal.throwIfAborted(), lastErr = error, !this.isDaemonAlive(languageId))
|
|
1002
|
+
throw error;
|
|
1003
|
+
await delay(5e3, void 0, { signal: this.stop.signal });
|
|
924
1004
|
}
|
|
1005
|
+
}
|
|
925
1006
|
throw lastErr ?? new Error("Failed to connect to daemon");
|
|
926
|
-
} catch (
|
|
927
|
-
this.
|
|
1007
|
+
} catch (error) {
|
|
1008
|
+
this.stop.signal.throwIfAborted();
|
|
1009
|
+
let message = error instanceof Error ? error.message : String(error);
|
|
1010
|
+
this._callbacks.onServerError?.(languageId, `Daemon mode failed, falling back to direct: ${message}`);
|
|
928
1011
|
}
|
|
929
|
-
|
|
930
|
-
command: config.command,
|
|
931
|
-
args: effectiveArgs,
|
|
932
|
-
rootDir: this.rootDir,
|
|
933
|
-
languageId,
|
|
934
|
-
env: config.env,
|
|
935
|
-
workspaceFolders,
|
|
936
|
-
initializationOptions,
|
|
937
|
-
settings: config.settings,
|
|
938
|
-
onUnexpectedExit
|
|
939
|
-
});
|
|
940
|
-
try {
|
|
941
|
-
return await client.start(), this.clients.set(languageId, client), this.startingServers.delete(languageId), this._callbacks.onServerReady?.(languageId), this._restartAttempts.delete(languageId), this._restartBackoff.delete(languageId), this.triggerPostInit(languageId, client), client;
|
|
942
|
-
} catch (err) {
|
|
943
|
-
this.startingServers.delete(languageId);
|
|
944
|
-
let message = `Failed to start LSP server for ${languageId} (${config.command}): ${err.message}`;
|
|
945
|
-
throw this._callbacks.onServerError?.(languageId, message), new Error(message);
|
|
946
|
-
}
|
|
1012
|
+
return connectClient();
|
|
947
1013
|
}
|
|
948
1014
|
/**
|
|
949
1015
|
* Post-initialization hook for language-specific setup.
|
|
@@ -976,6 +1042,7 @@ var DEFAULT_SERVERS = {
|
|
|
976
1042
|
}
|
|
977
1043
|
/** Spawn an LSP daemon as a detached background process */
|
|
978
1044
|
async spawnDaemon(languageId, config, effectiveArgs, workspaceFolders, initializationOptions) {
|
|
1045
|
+
this.stop.signal.throwIfAborted();
|
|
979
1046
|
let socketPath = this.getSocketPath(languageId), daemonScript = new URL("./lsp-daemon.ts", new URL("../builtin-extensions/pi-lsp-extension/src/lsp-manager.js", import.meta.url).href).pathname, launcherScript = new URL("./lsp-daemon-launcher.cjs", new URL("../builtin-extensions/pi-lsp-extension/src/lsp-manager.js", import.meta.url).href).pathname, jitiPath;
|
|
980
1047
|
try {
|
|
981
1048
|
jitiPath = __require.resolve("jiti");
|
|
@@ -992,7 +1059,8 @@ var DEFAULT_SERVERS = {
|
|
|
992
1059
|
LSP_ROOT_DIR: this.rootDir,
|
|
993
1060
|
LSP_LANGUAGE_ID: languageId
|
|
994
1061
|
};
|
|
995
|
-
workspaceFolders && workspaceFolders.length > 0 && (env.LSP_WORKSPACE_FOLDERS = JSON.stringify(workspaceFolders)), initializationOptions && (env.LSP_INITIALIZATION_OPTIONS = JSON.stringify(initializationOptions)), config.settings && (env.LSP_SETTINGS = JSON.stringify(config.settings))
|
|
1062
|
+
workspaceFolders && workspaceFolders.length > 0 && (env.LSP_WORKSPACE_FOLDERS = JSON.stringify(workspaceFolders)), initializationOptions && (env.LSP_INITIALIZATION_OPTIONS = JSON.stringify(initializationOptions)), config.settings && (env.LSP_SETTINGS = JSON.stringify(config.settings));
|
|
1063
|
+
let child = spawnChild(
|
|
996
1064
|
process.execPath,
|
|
997
1065
|
// node
|
|
998
1066
|
[launcherScript, jitiPath, daemonScript, socketPath, config.command, ...effectiveArgs],
|
|
@@ -1002,7 +1070,12 @@ var DEFAULT_SERVERS = {
|
|
|
1002
1070
|
detached: !0,
|
|
1003
1071
|
stdio: "ignore"
|
|
1004
1072
|
}
|
|
1005
|
-
)
|
|
1073
|
+
);
|
|
1074
|
+
child.unref(), await this.waitForStart(new Promise((resolve2, reject) => {
|
|
1075
|
+
child.on("error", (error) => {
|
|
1076
|
+
reject(error), this._shuttingDown || this._callbacks.onServerError?.(languageId, error.message);
|
|
1077
|
+
}), child.once("spawn", resolve2);
|
|
1078
|
+
}));
|
|
1006
1079
|
}
|
|
1007
1080
|
/** Get status of all configured/running servers */
|
|
1008
1081
|
getStatus() {
|
|
@@ -1030,31 +1103,42 @@ var DEFAULT_SERVERS = {
|
|
|
1030
1103
|
handleUnexpectedExit(languageId, code) {
|
|
1031
1104
|
if (this._shuttingDown)
|
|
1032
1105
|
return;
|
|
1033
|
-
this.clients.delete(languageId)
|
|
1106
|
+
this.clients.delete(languageId);
|
|
1034
1107
|
let attempts = this._restartAttempts.get(languageId) ?? 0;
|
|
1035
1108
|
if (attempts >= _LspManager.MAX_RESTART_ATTEMPTS) {
|
|
1036
1109
|
this._callbacks.onServerError?.(languageId, `LSP server for ${languageId} crashed ${attempts} times \u2014 giving up auto-restart`), this._callbacks.onServerCrash?.(languageId, !1, attempts);
|
|
1037
1110
|
return;
|
|
1038
1111
|
}
|
|
1039
1112
|
let backoff = this._restartBackoff.get(languageId) ?? _LspManager.INITIAL_BACKOFF_MS;
|
|
1040
|
-
this._restartAttempts.set(languageId, attempts + 1), this._restartBackoff.set(languageId, Math.min(backoff * 2, _LspManager.MAX_BACKOFF_MS)), this._callbacks.onServerCrash?.(languageId, !0, attempts + 1)
|
|
1041
|
-
|
|
1113
|
+
this._restartAttempts.set(languageId, attempts + 1), this._restartBackoff.set(languageId, Math.min(backoff * 2, _LspManager.MAX_BACKOFF_MS)), this._callbacks.onServerCrash?.(languageId, !0, attempts + 1);
|
|
1114
|
+
let timer = setTimeout(() => {
|
|
1115
|
+
if (this.restartTimers.delete(timer), this._shuttingDown)
|
|
1042
1116
|
return;
|
|
1043
1117
|
let config = this.serverConfigs.get(languageId);
|
|
1044
1118
|
if (!config)
|
|
1045
1119
|
return;
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
this.startingServers.delete(languageId), this._callbacks.onServerError?.(languageId, `Auto-restart failed for ${languageId}: ${err.message}`), this.handleUnexpectedExit(languageId, null);
|
|
1120
|
+
this.trackStart(languageId, config).catch((err) => {
|
|
1121
|
+
this._shuttingDown || (this._callbacks.onServerError?.(languageId, `Auto-restart failed for ${languageId}: ${err.message}`), this.handleUnexpectedExit(languageId, null));
|
|
1049
1122
|
});
|
|
1050
1123
|
}, backoff);
|
|
1124
|
+
this.restartTimers.add(timer);
|
|
1051
1125
|
}
|
|
1052
1126
|
/** Shut down all clients (disconnect from daemons, kill direct servers) */
|
|
1053
|
-
|
|
1054
|
-
this.
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1127
|
+
shutdownAll() {
|
|
1128
|
+
if (this.shutdownPromise)
|
|
1129
|
+
return this.shutdownPromise;
|
|
1130
|
+
this._shuttingDown = !0, this.stop.abort(new Error("LSP manager shut down"));
|
|
1131
|
+
for (let timer of this.restartTimers)
|
|
1132
|
+
clearTimeout(timer);
|
|
1133
|
+
return this.restartTimers.clear(), this.shutdownPromise = this.shutdownClients(), this.shutdownPromise;
|
|
1134
|
+
}
|
|
1135
|
+
async shutdownClients() {
|
|
1136
|
+
try {
|
|
1137
|
+
this._workspace.shutdown();
|
|
1138
|
+
} finally {
|
|
1139
|
+
let clients = /* @__PURE__ */ new Set([...this.clients.values(), ...this.pendingClients]);
|
|
1140
|
+
await Promise.allSettled([...clients].map((client) => client.shutdown())), await Promise.allSettled([...this.startingServers.values()]), this.clients.clear(), this.startingServers.clear();
|
|
1141
|
+
}
|
|
1058
1142
|
}
|
|
1059
1143
|
/**
|
|
1060
1144
|
* Restart a specific language server. Shuts down the existing client
|
|
@@ -1062,16 +1146,17 @@ var DEFAULT_SERVERS = {
|
|
|
1062
1146
|
* Returns once the new server is initialized, or throws on failure.
|
|
1063
1147
|
*/
|
|
1064
1148
|
async restartServer(languageId) {
|
|
1149
|
+
this.stop.signal.throwIfAborted();
|
|
1150
|
+
let pending = this.startingServers.get(languageId);
|
|
1151
|
+
pending && await pending.catch(() => {
|
|
1152
|
+
}), this.stop.signal.throwIfAborted();
|
|
1065
1153
|
let existing = this.clients.get(languageId);
|
|
1066
1154
|
existing && (await existing.shutdown().catch(() => {
|
|
1067
|
-
}), this.clients.delete(languageId)), this.killDaemon(languageId);
|
|
1068
|
-
let pending = this.startingServers.get(languageId);
|
|
1069
|
-
pending && (await pending.catch(() => {
|
|
1070
|
-
}), this.startingServers.delete(languageId));
|
|
1155
|
+
}), this.clients.get(languageId) === existing && this.clients.delete(languageId)), this.stop.signal.throwIfAborted(), this.killDaemon(languageId);
|
|
1071
1156
|
let config = this.serverConfigs.get(languageId);
|
|
1072
1157
|
if (!config)
|
|
1073
1158
|
throw new Error(`No server configured for ${languageId}`);
|
|
1074
|
-
await this.
|
|
1159
|
+
await this.trackStart(languageId, config);
|
|
1075
1160
|
}
|
|
1076
1161
|
/** Kill a running daemon for a language (if any) */
|
|
1077
1162
|
killDaemon(languageId) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
toolStatusDotFromContext
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6ZZHGUSA.js";
|
|
5
5
|
import {
|
|
6
6
|
onBrowserEnabledChange,
|
|
7
7
|
readBrowserSettings
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-4KNKQGHM.js";
|
|
9
|
+
import "./chunk-LHV3V67B.js";
|
|
10
|
+
import "./chunk-ES6PBSIE.js";
|
|
11
|
+
import "./chunk-RHCGYWO7.js";
|
|
12
|
+
import "./chunk-64XTQNLA.js";
|
|
13
13
|
import "./chunk-Q4Q6D4IY.js";
|
|
14
14
|
import "./chunk-BRJX2PRC.js";
|
|
15
15
|
|
|
@@ -159,7 +159,7 @@ function browserExtension(pi) {
|
|
|
159
159
|
async execute(_id, input, signal) {
|
|
160
160
|
if (!enabled)
|
|
161
161
|
throw await close(), new Error("Browser is disabled. The user can enable Browser in /settings.");
|
|
162
|
-
let current = generation, { BrowserSession } = await import("./runtime-
|
|
162
|
+
let current = generation, { BrowserSession } = await import("./runtime-EDUUGAQD.js");
|
|
163
163
|
if (current !== generation || signal?.aborted)
|
|
164
164
|
throw new Error("Browser call cancelled during initialization.");
|
|
165
165
|
return session ??= new BrowserSession(readBrowserSettings().allowPrivate), session.run(input, signal);
|