@ashx-j/lunr-dev 0.2.13-dev.8.1 → 0.2.19-dev.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -1
- package/README.md +7 -1
- package/dist/builtin-extensions/ashxj-thinking.d.ts +1 -0
- package/dist/builtin-extensions/ashxj-thinking.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-thinking.js +44 -19
- package/dist/builtin-extensions/ashxj-thinking.js.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.d.ts +14 -0
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +37 -3
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/index.d.ts +1 -15
- package/dist/builtin-extensions/index.d.ts.map +1 -1
- package/dist/builtin-extensions/index.js +8 -21
- package/dist/builtin-extensions/index.js.map +1 -1
- package/dist/builtin-extensions/lunr-computer-use.d.ts +3 -0
- package/dist/builtin-extensions/lunr-computer-use.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-computer-use.js +157 -0
- package/dist/builtin-extensions/lunr-computer-use.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js +6 -2
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts +4 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js +172 -171
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js.map +1 -1
- package/dist/builtin-extensions/pi-lsp-extension/src/runtime.d.ts +50 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/runtime.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/runtime.js +131 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/runtime.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.d.ts +7 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js +211 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts +0 -5
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js +0 -202
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.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 +276 -109
- package/dist/builtin-extensions/pi-mcp-adapter/index.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts +4 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/init.js +10 -3
- package/dist/builtin-extensions/pi-mcp-adapter/init.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js +6 -1
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js.map +1 -1
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts +6 -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 +33 -8
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js.map +1 -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 +2 -1
- 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 +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 +1 -1
- 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 +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 +68 -15
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +6 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +5 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.d.ts +10 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.js +38 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.js.map +1 -0
- 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 +3 -16
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -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 +72 -31
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts +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 +2 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/extract.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/extract.js +105 -54
- package/dist/builtin-extensions/pi-web-access/extract.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts +1 -1
- package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/gemini-search.js +82 -65
- package/dist/builtin-extensions/pi-web-access/gemini-search.js.map +1 -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 +2 -0
- 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 +259 -168
- package/dist/builtin-extensions/pi-web-access/index.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/lazy.d.ts +18 -0
- package/dist/builtin-extensions/pi-web-access/lazy.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/lazy.js +19 -0
- package/dist/builtin-extensions/pi-web-access/lazy.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts +6 -0
- package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/session-cleanup.js +17 -0
- package/dist/builtin-extensions/pi-web-access/session-cleanup.js.map +1 -0
- package/dist/catalog/publication.json +12 -12
- package/dist/cli-runtime.d.ts +3 -0
- package/dist/cli-runtime.d.ts.map +1 -0
- package/dist/cli-runtime.js +73 -0
- package/dist/cli-runtime.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -53
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +3 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +56 -12
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +10 -5
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/computer-use/adapter.d.ts +23 -0
- package/dist/core/computer-use/adapter.d.ts.map +1 -0
- package/dist/core/computer-use/adapter.js +116 -0
- package/dist/core/computer-use/adapter.js.map +1 -0
- package/dist/core/computer-use/lease.d.ts +18 -0
- package/dist/core/computer-use/lease.d.ts.map +1 -0
- package/dist/core/computer-use/lease.js +129 -0
- package/dist/core/computer-use/lease.js.map +1 -0
- package/dist/core/computer-use/macos-runtime.d.ts +14 -0
- package/dist/core/computer-use/macos-runtime.d.ts.map +1 -0
- package/dist/core/computer-use/macos-runtime.js +148 -0
- package/dist/core/computer-use/macos-runtime.js.map +1 -0
- package/dist/core/computer-use/policy.d.ts +19 -0
- package/dist/core/computer-use/policy.d.ts.map +1 -0
- package/dist/core/computer-use/policy.js +66 -0
- package/dist/core/computer-use/policy.js.map +1 -0
- package/dist/core/computer-use/release.generated.d.ts +31 -0
- package/dist/core/computer-use/release.generated.d.ts.map +1 -0
- package/dist/core/computer-use/release.generated.js +36 -0
- package/dist/core/computer-use/release.generated.js.map +1 -0
- package/dist/core/computer-use/runtime.d.ts +13 -0
- package/dist/core/computer-use/runtime.d.ts.map +1 -0
- package/dist/core/computer-use/runtime.js +158 -0
- package/dist/core/computer-use/runtime.js.map +1 -0
- package/dist/core/computer-use/schemas.d.ts +88 -0
- package/dist/core/computer-use/schemas.d.ts.map +1 -0
- package/dist/core/computer-use/schemas.js +80 -0
- package/dist/core/computer-use/schemas.js.map +1 -0
- package/dist/core/computer-use/windows-desktop.d.ts +3 -0
- package/dist/core/computer-use/windows-desktop.d.ts.map +1 -0
- package/dist/core/computer-use/windows-desktop.js +48 -0
- package/dist/core/computer-use/windows-desktop.js.map +1 -0
- package/dist/core/computer-use/workflow.d.ts +24 -0
- package/dist/core/computer-use/workflow.d.ts.map +1 -0
- package/dist/core/computer-use/workflow.js +330 -0
- package/dist/core/computer-use/workflow.js.map +1 -0
- package/dist/core/extensions/host-static.d.ts.map +1 -1
- package/dist/core/extensions/host-static.js +34 -12
- package/dist/core/extensions/host-static.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -2
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +10 -64
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +2 -2
- 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.map +1 -1
- package/dist/core/footer-data-provider.js +2 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +2 -2
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +2 -2
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-runtime.d.ts +0 -3
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +1 -10
- 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 +1 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/permissions.d.ts +1 -3
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +33 -25
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +9 -0
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/rollback.d.ts.map +1 -1
- package/dist/core/rollback.js +13 -90
- package/dist/core/rollback.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +0 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +21 -79
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +6 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +19 -0
- 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 +0 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/timings.d.ts +2 -1
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +17 -2
- package/dist/core/timings.js.map +1 -1
- package/dist/dev-cli.js +0 -0
- package/dist/gateway/agent-bridge.d.ts +6 -1
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +23 -6
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/commands.d.ts +1 -1
- package/dist/gateway/commands.d.ts.map +1 -1
- package/dist/gateway/commands.js +1 -18
- package/dist/gateway/commands.js.map +1 -1
- package/dist/gateway/cron.d.ts +1 -1
- package/dist/gateway/cron.d.ts.map +1 -1
- package/dist/gateway/cron.js +23 -7
- package/dist/gateway/cron.js.map +1 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +57 -48
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +4 -2
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +23 -32
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/processes-selector.d.ts +2 -3
- package/dist/modes/interactive/components/processes-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/processes-selector.js +5 -10
- package/dist/modes/interactive/components/processes-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +4 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +20 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +12 -21
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +138 -152
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +95 -84
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/thinking-level-slash.d.ts +4 -0
- package/dist/modes/interactive/thinking-level-slash.d.ts.map +1 -0
- package/dist/modes/interactive/thinking-level-slash.js +23 -0
- package/dist/modes/interactive/thinking-level-slash.js.map +1 -0
- package/dist/node-runtime/adapter-AZMY335J.js +279 -0
- package/dist/node-runtime/agent-session-services-RSGP5GDN.js +39 -0
- package/dist/node-runtime/benchmark-request-UC7PD3V3.js +57 -0
- package/dist/node-runtime/brave-UWDA3I22.js +143 -0
- package/dist/node-runtime/builtin-extensions-7STLFW3A.js +29 -0
- package/dist/node-runtime/chunk-2IDTZAG5.js +1415 -0
- package/dist/node-runtime/chunk-3GHXVUAK.js +21 -0
- package/dist/node-runtime/chunk-3RCWXWAY.js +466 -0
- package/dist/node-runtime/chunk-3WFAEVKS.js +115 -0
- package/dist/node-runtime/chunk-3X3KZKMI.js +49 -0
- package/dist/node-runtime/chunk-4HXHDDCF.js +16 -0
- package/dist/node-runtime/chunk-4SJWFTUP.js +24 -0
- package/dist/node-runtime/chunk-4ZWGEEAS.js +69 -0
- package/dist/node-runtime/chunk-53YJI7JU.js +137 -0
- package/dist/node-runtime/chunk-5NWQCSKR.js +19218 -0
- package/dist/node-runtime/chunk-5OLJGVCB.js +68 -0
- package/dist/node-runtime/chunk-5Q45AVQG.js +108 -0
- package/dist/node-runtime/chunk-5SQDLSZJ.js +949 -0
- package/dist/node-runtime/chunk-6SPPH4FY.js +1269 -0
- package/dist/node-runtime/chunk-6UB6NKA3.js +860 -0
- package/dist/node-runtime/chunk-7AFOFSDY.js +105 -0
- package/dist/node-runtime/chunk-7N3YHTYF.js +26 -0
- package/dist/node-runtime/chunk-ARC4KOTI.js +11178 -0
- package/dist/node-runtime/chunk-AUXVGBO4.js +19 -0
- package/dist/node-runtime/chunk-AY6CAJSL.js +30 -0
- package/dist/node-runtime/chunk-BHO7O6E5.js +296 -0
- package/dist/node-runtime/chunk-BI3DHYCN.js +8845 -0
- package/dist/node-runtime/chunk-BKAZ6BKX.js +2185 -0
- package/dist/node-runtime/chunk-BR7YDUKA.js +109 -0
- package/dist/node-runtime/chunk-BRJX2PRC.js +53 -0
- package/dist/node-runtime/chunk-C4O2RSQQ.js +37 -0
- package/dist/node-runtime/chunk-CCZJ3PYY.js +17 -0
- package/dist/node-runtime/chunk-CGBXPL3E.js +1171 -0
- package/dist/node-runtime/chunk-CH6OL6P2.js +295 -0
- package/dist/node-runtime/chunk-CJECDQKP.js +19 -0
- package/dist/node-runtime/chunk-DAPBPCBP.js +53 -0
- package/dist/node-runtime/chunk-DDGMHUOW.js +305 -0
- package/dist/node-runtime/chunk-DMMTJQMQ.js +43 -0
- package/dist/node-runtime/chunk-DVGWF6A2.js +1180 -0
- package/dist/node-runtime/chunk-EH2LJQPM.js +64 -0
- package/dist/node-runtime/chunk-EHMBW7FA.js +772 -0
- package/dist/node-runtime/chunk-FLYMHKCS.js +966 -0
- package/dist/node-runtime/chunk-FVDOXRUD.js +96 -0
- package/dist/node-runtime/chunk-GZQHMEWL.js +126 -0
- package/dist/node-runtime/chunk-H2EOZYMP.js +57 -0
- package/dist/node-runtime/chunk-HQCKFM2O.js +56 -0
- package/dist/node-runtime/chunk-HRS4HMDX.js +610 -0
- package/dist/node-runtime/chunk-HYHJIRDW.js +19 -0
- package/dist/node-runtime/chunk-I6R76AG7.js +22 -0
- package/dist/node-runtime/chunk-ISQDQIZN.js +296 -0
- package/dist/node-runtime/chunk-J7QGQD45.js +24921 -0
- package/dist/node-runtime/chunk-JHYKXIMM.js +378 -0
- package/dist/node-runtime/chunk-JT6YCS5B.js +5648 -0
- package/dist/node-runtime/chunk-JZHEUQRL.js +180 -0
- package/dist/node-runtime/chunk-K72NVGUB.js +2834 -0
- package/dist/node-runtime/chunk-KKSIVROT.js +88 -0
- package/dist/node-runtime/chunk-LCACDWHJ.js +1743 -0
- package/dist/node-runtime/chunk-LTXUQJI4.js +173 -0
- package/dist/node-runtime/chunk-LWJXTA6Z.js +6814 -0
- package/dist/node-runtime/chunk-M3LZLQW2.js +98 -0
- package/dist/node-runtime/chunk-MGSB2C3M.js +46 -0
- package/dist/node-runtime/chunk-MGWCVY6Y.js +47 -0
- package/dist/node-runtime/chunk-MJQDX3BA.js +72 -0
- package/dist/node-runtime/chunk-MUMMMTW4.js +8392 -0
- package/dist/node-runtime/chunk-MX3GJNXJ.js +986 -0
- package/dist/node-runtime/chunk-NUIFPZWX.js +209 -0
- package/dist/node-runtime/chunk-OBMWP3I5.js +68 -0
- package/dist/node-runtime/chunk-OR4L3IB2.js +42 -0
- package/dist/node-runtime/chunk-OTT6JMPU.js +807 -0
- package/dist/node-runtime/chunk-PCIGF2XK.js +250 -0
- package/dist/node-runtime/chunk-PL6JKXWI.js +3622 -0
- package/dist/node-runtime/chunk-PVCDKGR6.js +55 -0
- package/dist/node-runtime/chunk-Q4Q6D4IY.js +364 -0
- package/dist/node-runtime/chunk-Q5ZU2VRT.js +83 -0
- package/dist/node-runtime/chunk-QFWG2RVL.js +5477 -0
- package/dist/node-runtime/chunk-RQ2Q5IYR.js +72 -0
- package/dist/node-runtime/chunk-RQ5DNUNG.js +429 -0
- package/dist/node-runtime/chunk-RRIZE6QQ.js +17 -0
- package/dist/node-runtime/chunk-SN6G4OU6.js +4753 -0
- package/dist/node-runtime/chunk-SWSN6HAB.js +53 -0
- package/dist/node-runtime/chunk-T5GM5BFH.js +7558 -0
- package/dist/node-runtime/chunk-TAP7QTUT.js +1346 -0
- package/dist/node-runtime/chunk-U6C7VTR5.js +2033 -0
- package/dist/node-runtime/chunk-URD2SLIT.js +1019 -0
- package/dist/node-runtime/chunk-VRB2IYGG.js +53 -0
- package/dist/node-runtime/chunk-W3CVH5RX.js +62 -0
- package/dist/node-runtime/chunk-W7S2REEG.js +9478 -0
- package/dist/node-runtime/chunk-XBWPBZBN.js +125 -0
- package/dist/node-runtime/chunk-XTHQ7XR7.js +509 -0
- package/dist/node-runtime/chunk-ZCHMJ34K.js +130 -0
- package/dist/node-runtime/chunk-ZRDIMBEQ.js +651 -0
- package/dist/node-runtime/chunk-ZSEZY3II.js +247 -0
- package/dist/node-runtime/cli-runtime.js +81 -0
- package/dist/node-runtime/clipboard-OZ63BBC6.js +12 -0
- package/dist/node-runtime/clipboard-image-7QR6GXVA.js +13 -0
- package/dist/node-runtime/command-6UXQ6XZN.js +13 -0
- package/dist/node-runtime/commands-LGR5VT5X.js +293 -0
- package/dist/node-runtime/config-FMEOZSWE.js +77 -0
- package/dist/node-runtime/curator-server-XCM43VEF.js +3816 -0
- package/dist/node-runtime/customize-XEXL2DGQ.js +12 -0
- package/dist/node-runtime/direct-tool-executor-TDJS7TBD.js +191 -0
- package/dist/node-runtime/exa-LL64QZR2.js +329 -0
- package/dist/node-runtime/export-html-E4DT6ZJQ.js +150 -0
- package/dist/node-runtime/extension-input-RV5N6APL.js +14 -0
- package/dist/node-runtime/extension-selector-CPD5LWDD.js +14 -0
- package/dist/node-runtime/extract-IUCVZCWC.js +17 -0
- package/dist/node-runtime/file-sync-HCOP2QVF.js +117 -0
- package/dist/node-runtime/gateway-3OLC4GQN.js +2139 -0
- package/dist/node-runtime/gemini-api-QE7ANVDZ.js +29 -0
- package/dist/node-runtime/gemini-search-NCIDF7NE.js +330 -0
- package/dist/node-runtime/gemini-url-context-OKIN7AIP.js +103 -0
- package/dist/node-runtime/gemini-web-MM446SEH.js +14 -0
- package/dist/node-runtime/github-extract-F64RZOEA.js +619 -0
- package/dist/node-runtime/goal-CZQ7FFQJ.js +1831 -0
- package/dist/node-runtime/image-resize-6ZPBFMWW.js +11 -0
- package/dist/node-runtime/index.js +863 -0
- package/dist/node-runtime/init-EKE277AG.js +30 -0
- package/dist/node-runtime/install-cli-TH7IJJQQ.js +308 -0
- package/dist/node-runtime/interactive-mode-S5M26CQ7.js +59 -0
- package/dist/node-runtime/interactive-view-N6F4KUIT.js +247 -0
- package/dist/node-runtime/lsp-manager-3ASUSO4T.js +1104 -0
- package/dist/node-runtime/lunr-computer-use-4X3KUNF4.js +206 -0
- package/dist/node-runtime/lunr-cron-KKBOGAEF.js +274 -0
- package/dist/node-runtime/main.js +57 -0
- package/dist/node-runtime/mcp-auth-flow-YL6RWPYG.js +33 -0
- package/dist/node-runtime/mcp-panel-IIGMXQGP.js +501 -0
- package/dist/node-runtime/mcp-setup-panel-FEK7663I.js +355 -0
- package/dist/node-runtime/memory-cap-3S4XRLNP.js +20 -0
- package/dist/node-runtime/model-tiers-NJLHUEGK.js +20 -0
- package/dist/node-runtime/openai-search-B3MSNCQA.js +288 -0
- package/dist/node-runtime/package-manager-cli-C4EJOO5Q.js +751 -0
- package/dist/node-runtime/parallel-AI2MNSCU.js +265 -0
- package/dist/node-runtime/parser-manager-TQHWYDH7.js +152 -0
- package/dist/node-runtime/pdf-extract-IPE6H4HP.js +57 -0
- package/dist/node-runtime/perplexity-QVJW3I35.js +12 -0
- package/dist/node-runtime/pi-intercom-EEMBGQID.js +2215 -0
- package/dist/node-runtime/pi-mcp-adapter-DPTJGAAL.js +428 -0
- package/dist/node-runtime/pi-ollama-cloud-4VZRMULP.js +1440 -0
- package/dist/node-runtime/pi-prompt-template-model-4QT4LLXF.js +3946 -0
- package/dist/node-runtime/pi-subagents-VKCLYIBY.js +6050 -0
- package/dist/node-runtime/pi-web-access-BV6DSZOP.js +1867 -0
- package/dist/node-runtime/print-mode-VWIRFDAC.js +12 -0
- package/dist/node-runtime/proxy-modes-R64LU6WZ.js +688 -0
- package/dist/node-runtime/rpc-entry.js +65 -0
- package/dist/node-runtime/rpc-mode-SJNSOA4G.js +13 -0
- package/dist/node-runtime/runtime-3SB5ATHQ.js +21 -0
- package/dist/node-runtime/runtime-bridges-UJ5WJJLN.js +14 -0
- package/dist/node-runtime/session-manager-QEMZBMTM.js +33 -0
- package/dist/node-runtime/session-selector-URVJLOTK.js +14 -0
- package/dist/node-runtime/settings-manager-K6IPIQTI.js +23 -0
- package/dist/node-runtime/src-GPFAU3N6.js +2427 -0
- package/dist/node-runtime/subagent-executor-EFLTO32A.js +8501 -0
- package/dist/node-runtime/summary-review-YSMXKITO.js +228 -0
- package/dist/node-runtime/tavily-WEZFVFP7.js +154 -0
- package/dist/node-runtime/timings-UAD5BEAS.js +16 -0
- package/dist/node-runtime/tool-renderer-MV5O452K.js +204 -0
- package/dist/node-runtime/update-cli-I6OVDRPL.js +75 -0
- package/dist/node-runtime/v4-5MNC3H7G.js +424 -0
- package/dist/node-runtime/video-extract-ETA5RA7U.js +304 -0
- package/dist/node-runtime/workflow-SA34S4VX.js +325 -0
- package/dist/node-runtime/workspace-index-6DBXSTJ6.js +163 -0
- package/dist/node-runtime/youtube-extract-SRVGNN26.js +264 -0
- package/dist/rpc.d.ts +3 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +18 -0
- package/dist/rpc.js.map +1 -0
- package/dist/startup/benchmark-request.d.ts +3 -0
- package/dist/startup/benchmark-request.d.ts.map +1 -0
- package/dist/startup/benchmark-request.js +65 -0
- package/dist/startup/benchmark-request.js.map +1 -0
- package/dist/startup/{interactive-shell.d.ts → interactive-view.d.ts} +18 -18
- package/dist/startup/interactive-view.d.ts.map +1 -0
- package/dist/startup/{interactive-shell.js → interactive-view.js} +119 -52
- package/dist/startup/interactive-view.js.map +1 -0
- package/dist/startup/launch-routing.d.ts.map +1 -1
- package/dist/startup/launch-routing.js +9 -10
- package/dist/startup/launch-routing.js.map +1 -1
- package/dist/startup/startup-milestones.d.ts +1 -1
- package/dist/startup/startup-milestones.d.ts.map +1 -1
- package/dist/startup/startup-milestones.js +3 -2
- package/dist/startup/startup-milestones.js.map +1 -1
- package/dist/utils/await-with-abort.d.ts +2 -0
- package/dist/utils/await-with-abort.d.ts.map +1 -0
- package/dist/utils/await-with-abort.js +19 -0
- package/dist/utils/await-with-abort.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +10 -4
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/docs/compaction.md +5 -3
- package/docs/computer-use.md +277 -0
- package/docs/development.md +5 -33
- package/docs/features.md +2 -3
- package/docs/interactive-startup.md +105 -0
- package/docs/keybindings.md +2 -2
- package/docs/terminal-setup.md +1 -1
- package/docs/usage.md +1 -2
- 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/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/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/install-lock/package-lock.json +3827 -0
- package/install-lock/package.json +18 -0
- package/native/computer-use/LICENSE.md +21 -0
- package/npm-shrinkwrap.json +3808 -0
- package/package.json +30 -24
- package/dist/core/swarm.d.ts +0 -23
- package/dist/core/swarm.d.ts.map +0 -1
- package/dist/core/swarm.js +0 -45
- package/dist/core/swarm.js.map +0 -1
- package/dist/startup/interactive-shell.d.ts.map +0 -1
- package/dist/startup/interactive-shell.js.map +0 -1
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
* accept an optional `query` parameter as an alternative to line/character,
|
|
17
17
|
* resolving a symbol name to its position automatically.
|
|
18
18
|
*
|
|
19
|
+
* Tool schemas, commands, and hooks register immediately. Heavy managers
|
|
20
|
+
* (LspManager, FileSync, Tree-sitter/WASM, WorkspaceIndex) load on first use.
|
|
21
|
+
*
|
|
19
22
|
* Usage:
|
|
20
23
|
* 1. npm install in this directory
|
|
21
24
|
* 2. Add to pi via settings.json extensions, or: pi -e ./src/index.ts
|
|
22
25
|
* 3. LSP servers start lazily when you first use a tool on a file
|
|
23
26
|
*/
|
|
24
|
-
import {
|
|
27
|
+
import { awaitWithAbort } from "../../../utils/await-with-abort.js";
|
|
28
|
+
import { isReadToolResult, isWriteToolResult, isEditToolResult, } from "../../../core/extensions/types.js";
|
|
25
29
|
import { DiagnosticSeverity } from "vscode-languageserver-protocol";
|
|
26
|
-
import {
|
|
27
|
-
import { FileSync } from "./file-sync.js";
|
|
28
|
-
import { TreeSitterManager } from "./tree-sitter/parser-manager.js";
|
|
29
|
-
import { WorkspaceIndex } from "./tree-sitter/workspace-index.js";
|
|
30
|
-
import "./workspace-provider.js";
|
|
30
|
+
import { LspRuntimeHost } from "./runtime.js";
|
|
31
31
|
import { createDiagnosticsTool } from "./tools/diagnostics.js";
|
|
32
32
|
import { createHoverTool } from "./tools/hover.js";
|
|
33
33
|
import { createDefinitionTool } from "./tools/definition.js";
|
|
@@ -42,7 +42,7 @@ import { createCodeActionsTool } from "./tools/code-actions.js";
|
|
|
42
42
|
import { syntheticDotLocks } from "./tools/completions.js";
|
|
43
43
|
import { relative } from "node:path";
|
|
44
44
|
import { existsSync, readFileSync } from "node:fs";
|
|
45
|
-
import { join } from "node:path";
|
|
45
|
+
import { join, resolve } from "node:path";
|
|
46
46
|
import { DIAGNOSTIC_SETTLE_DELAY_MS } from "./shared/timing.js";
|
|
47
47
|
/** Load .pi-lsp.json from a directory. Returns null if not found or invalid. */
|
|
48
48
|
function loadProjectConfig(dir) {
|
|
@@ -60,6 +60,35 @@ function loadProjectConfig(dir) {
|
|
|
60
60
|
return null;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
function createServiceProxy(getTarget, label) {
|
|
64
|
+
return new Proxy({}, {
|
|
65
|
+
get(_target, prop, receiver) {
|
|
66
|
+
const service = getTarget();
|
|
67
|
+
if (!service) {
|
|
68
|
+
throw new Error(`${label} is not initialized`);
|
|
69
|
+
}
|
|
70
|
+
const value = Reflect.get(service, prop, service);
|
|
71
|
+
if (typeof value === "function") {
|
|
72
|
+
return value.bind(service);
|
|
73
|
+
}
|
|
74
|
+
return value;
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function registerToolWithRuntime(pi, tool, ensure, host) {
|
|
79
|
+
pi.registerTool({
|
|
80
|
+
...tool,
|
|
81
|
+
async execute(id, params, signal, onUpdate, ctx) {
|
|
82
|
+
const generation = host.getGeneration();
|
|
83
|
+
signal?.throwIfAborted();
|
|
84
|
+
await awaitWithAbort(ensure(), signal);
|
|
85
|
+
signal?.throwIfAborted();
|
|
86
|
+
if (host.getGeneration() !== generation)
|
|
87
|
+
throw new Error("LSP session changed before execution");
|
|
88
|
+
return tool.execute(id, params, signal, onUpdate, ctx);
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
}
|
|
63
92
|
export default function lspExtension(pi) {
|
|
64
93
|
// Prevent EPIPE errors from LSP server exits from crashing the host process.
|
|
65
94
|
// When an LSP server exits unexpectedly, in-flight writes to its stdin pipe
|
|
@@ -75,15 +104,11 @@ export default function lspExtension(pi) {
|
|
|
75
104
|
console.error("[LSP] Uncaught exception:", err);
|
|
76
105
|
}
|
|
77
106
|
});
|
|
78
|
-
|
|
79
|
-
let fileSync = null;
|
|
80
|
-
let treeSitter = null;
|
|
81
|
-
let workspaceIndex = null;
|
|
107
|
+
const host = new LspRuntimeHost();
|
|
82
108
|
let pendingProvider = null;
|
|
83
|
-
// Store latest ctx for lifecycle callbacks (updated on each event)
|
|
84
109
|
let latestCtx = null;
|
|
85
|
-
// Project config — loaded on session_start, used by auto-injection guard
|
|
86
110
|
let projectConfig = null;
|
|
111
|
+
let sessionCwd = process.cwd();
|
|
87
112
|
/**
|
|
88
113
|
* Run `fn` with the currently captured ctx, swallowing stale-ctx errors.
|
|
89
114
|
*
|
|
@@ -109,16 +134,10 @@ export default function lspExtension(pi) {
|
|
|
109
134
|
throw err;
|
|
110
135
|
}
|
|
111
136
|
};
|
|
112
|
-
// Listen for external workspace providers (e.g. bemol extension).
|
|
113
|
-
// Also check if one was already registered before we loaded (load order varies).
|
|
114
|
-
// Store as pendingProvider so it's available when the manager is created later.
|
|
115
137
|
const applyProvider = (data) => {
|
|
116
138
|
const provider = data;
|
|
117
139
|
pendingProvider = provider;
|
|
118
|
-
|
|
119
|
-
manager.setWorkspaceProvider(provider);
|
|
120
|
-
}
|
|
121
|
-
// Update status if we have a UI context
|
|
140
|
+
host.setPendingProvider(provider);
|
|
122
141
|
const statusText = provider.getStatusText();
|
|
123
142
|
if (!statusText)
|
|
124
143
|
return;
|
|
@@ -133,7 +152,6 @@ export default function lspExtension(pi) {
|
|
|
133
152
|
const existing = pi.events["lsp:workspace-provider"];
|
|
134
153
|
if (existing)
|
|
135
154
|
applyProvider(existing);
|
|
136
|
-
/** Build lifecycle callbacks that update UI status */
|
|
137
155
|
const setLspStatus = (color, text) => {
|
|
138
156
|
withLatestCtx((ctx) => {
|
|
139
157
|
if (!ctx.ui?.theme)
|
|
@@ -172,165 +190,144 @@ export default function lspExtension(pi) {
|
|
|
172
190
|
}
|
|
173
191
|
},
|
|
174
192
|
});
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (!fileSync) {
|
|
189
|
-
getManager(); // ensures fileSync is created
|
|
193
|
+
const applyProjectConfigToManager = (manager, config) => {
|
|
194
|
+
if (!config)
|
|
195
|
+
return;
|
|
196
|
+
if (config.servers) {
|
|
197
|
+
for (const [lang, serverConf] of Object.entries(config.servers)) {
|
|
198
|
+
manager.setServerConfig(lang, {
|
|
199
|
+
command: serverConf.command,
|
|
200
|
+
args: serverConf.args ?? [],
|
|
201
|
+
env: serverConf.env,
|
|
202
|
+
initializationOptions: serverConf.initializationOptions,
|
|
203
|
+
settings: serverConf.settings,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
190
206
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const getTreeSitter = () => {
|
|
194
|
-
if (!treeSitter) {
|
|
195
|
-
getManager(); // ensures treeSitter is created
|
|
207
|
+
if (config.lombokJar && config.lombokJar !== "auto") {
|
|
208
|
+
manager.setLombokJar(config.lombokJar);
|
|
196
209
|
}
|
|
197
|
-
return treeSitter;
|
|
198
210
|
};
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
211
|
+
const buildBindOptions = (cwd) => ({
|
|
212
|
+
cwd,
|
|
213
|
+
callbacks: makeCallbacks(),
|
|
214
|
+
pendingProvider,
|
|
215
|
+
syntheticDotChecker: (uri) => syntheticDotLocks.has(uri),
|
|
216
|
+
configureManager: (manager) => {
|
|
217
|
+
applyProjectConfigToManager(manager, projectConfig);
|
|
218
|
+
},
|
|
219
|
+
});
|
|
220
|
+
const ensureRuntime = async () => {
|
|
221
|
+
return host.ensureServices(buildBindOptions(sessionCwd || process.cwd()));
|
|
204
222
|
};
|
|
205
|
-
//
|
|
223
|
+
// session_start binds cwd/config only. Heavy managers load on first use,
|
|
224
|
+
// unless autoStart is configured (then ensure + startEagerly).
|
|
206
225
|
pi.on("session_start", async (_event, ctx) => {
|
|
207
226
|
latestCtx = ctx;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if (treeSitter)
|
|
213
|
-
treeSitter.shutdown();
|
|
214
|
-
}
|
|
215
|
-
manager = new LspManager(ctx.cwd, undefined, makeCallbacks(), undefined, pendingProvider ?? undefined);
|
|
216
|
-
fileSync = new FileSync(manager);
|
|
217
|
-
fileSync.setSyntheticDotChecker((uri) => syntheticDotLocks.has(uri));
|
|
218
|
-
treeSitter = new TreeSitterManager();
|
|
219
|
-
workspaceIndex = new WorkspaceIndex(ctx.cwd, treeSitter);
|
|
220
|
-
fileSync.setTreeSitter(treeSitter, workspaceIndex);
|
|
221
|
-
// Initialize tree-sitter in the background (don't block session start)
|
|
222
|
-
treeSitter.init().catch((err) => {
|
|
223
|
-
console.error(`[pi-lsp-extension] tree-sitter WASM init failed: ${err?.message ?? err}`);
|
|
224
|
-
});
|
|
225
|
-
// Show workspace provider status
|
|
226
|
-
const wsProvider = manager.workspace;
|
|
227
|
-
const statusText = wsProvider.getStatusText();
|
|
227
|
+
sessionCwd = ctx.cwd;
|
|
228
|
+
projectConfig = loadProjectConfig(ctx.cwd);
|
|
229
|
+
await host.bindSession(buildBindOptions(ctx.cwd));
|
|
230
|
+
const statusText = pendingProvider?.getStatusText?.() ?? "";
|
|
228
231
|
if (statusText) {
|
|
229
232
|
ctx.ui.setStatus("lsp", ctx.ui.theme.fg("accent", `LSP: ${statusText}`));
|
|
230
233
|
}
|
|
231
234
|
else {
|
|
232
235
|
ctx.ui.setStatus("lsp", ctx.ui.theme.fg("dim", "LSP: idle"));
|
|
233
236
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
initializationOptions: serverConf.initializationOptions,
|
|
245
|
-
settings: serverConf.settings,
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
// Set Lombok jar path (explicit path or "auto" for auto-detection)
|
|
250
|
-
if (projectConfig.lombokJar) {
|
|
251
|
-
if (projectConfig.lombokJar !== "auto") {
|
|
252
|
-
manager.setLombokJar(projectConfig.lombokJar);
|
|
253
|
-
}
|
|
254
|
-
// "auto" is the default behavior — findLombokJar() already auto-detects.
|
|
255
|
-
// Setting it explicitly just confirms the user wants Lombok support.
|
|
256
|
-
}
|
|
257
|
-
// Auto-start configured languages in the background
|
|
258
|
-
if (projectConfig.autoStart && projectConfig.autoStart.length > 0) {
|
|
259
|
-
const langs = projectConfig.autoStart;
|
|
260
|
-
const lombokNote = langs.includes("java") && manager.getLombokJar()
|
|
261
|
-
? ` (lombok: ${manager.getLombokJar()?.split("/").pop()})` : "";
|
|
237
|
+
if (projectConfig?.autoStart && projectConfig.autoStart.length > 0) {
|
|
238
|
+
const langs = projectConfig.autoStart;
|
|
239
|
+
const generation = host.getGeneration();
|
|
240
|
+
void ensureRuntime().then((services) => {
|
|
241
|
+
if (host.getGeneration() !== generation)
|
|
242
|
+
return;
|
|
243
|
+
const lombokJar = services.manager.getLombokJar?.() ?? null;
|
|
244
|
+
const lombokNote = langs.includes("java") && lombokJar
|
|
245
|
+
? ` (lombok: ${String(lombokJar).split(/[/\\]/).pop()})`
|
|
246
|
+
: "";
|
|
262
247
|
setLspStatus("warning", `LSP: auto-starting ${langs.join(", ")}${lombokNote}...`);
|
|
263
|
-
manager.startEagerly(langs);
|
|
264
|
-
}
|
|
248
|
+
services.manager.startEagerly(langs);
|
|
249
|
+
}).catch((error) => {
|
|
250
|
+
if (host.getGeneration() === generation)
|
|
251
|
+
setLspStatus("error", `LSP startup failed: ${String(error)}`);
|
|
252
|
+
});
|
|
265
253
|
}
|
|
266
254
|
});
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
255
|
+
const managerProxy = createServiceProxy(() => host.getServicesIfReady()?.manager ?? null, "LSP manager");
|
|
256
|
+
const treeSitterProxy = createServiceProxy(() => host.getServicesIfReady()?.treeSitter ?? null, "Tree-sitter manager");
|
|
257
|
+
const workspaceIndexProxy = createServiceProxy(() => host.getServicesIfReady()?.workspaceIndex ?? null, "Workspace index");
|
|
258
|
+
registerToolWithRuntime(pi, createDiagnosticsTool(managerProxy, treeSitterProxy), ensureRuntime, host);
|
|
259
|
+
registerToolWithRuntime(pi, createHoverTool(managerProxy, treeSitterProxy), ensureRuntime, host);
|
|
260
|
+
registerToolWithRuntime(pi, createDefinitionTool(managerProxy, treeSitterProxy, workspaceIndexProxy), ensureRuntime, host);
|
|
261
|
+
registerToolWithRuntime(pi, createReferencesTool(managerProxy, treeSitterProxy), ensureRuntime, host);
|
|
262
|
+
registerToolWithRuntime(pi, createSymbolsTool(managerProxy, treeSitterProxy, workspaceIndexProxy), ensureRuntime, host);
|
|
263
|
+
registerToolWithRuntime(pi, createRenameTool(managerProxy, treeSitterProxy), ensureRuntime, host);
|
|
264
|
+
registerToolWithRuntime(pi, createCodeActionsTool(managerProxy, treeSitterProxy), ensureRuntime, host);
|
|
265
|
+
registerToolWithRuntime(pi, createCompletionsTool(managerProxy, {
|
|
266
|
+
getTrackedVersion: (uri) => {
|
|
267
|
+
const services = host.getServicesIfReady();
|
|
268
|
+
if (!services)
|
|
269
|
+
return null;
|
|
270
|
+
return services.fileSync.getTrackedVersion(uri);
|
|
277
271
|
},
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
get(_target, prop) {
|
|
281
|
-
return getWorkspaceIndex()[prop];
|
|
272
|
+
setTrackedVersion: (uri, v) => {
|
|
273
|
+
host.getServicesIfReady()?.fileSync.setTrackedVersion(uri, v);
|
|
282
274
|
},
|
|
283
|
-
});
|
|
284
|
-
pi.registerTool(createDiagnosticsTool(managerProxy, treeSitterProxy));
|
|
285
|
-
pi.registerTool(createHoverTool(managerProxy, treeSitterProxy));
|
|
286
|
-
pi.registerTool(createDefinitionTool(managerProxy, treeSitterProxy, workspaceIndexProxy));
|
|
287
|
-
pi.registerTool(createReferencesTool(managerProxy, treeSitterProxy));
|
|
288
|
-
pi.registerTool(createSymbolsTool(managerProxy, treeSitterProxy, workspaceIndexProxy));
|
|
289
|
-
pi.registerTool(createRenameTool(managerProxy, treeSitterProxy));
|
|
290
|
-
pi.registerTool(createCodeActionsTool(managerProxy, treeSitterProxy));
|
|
291
|
-
pi.registerTool(createCompletionsTool(managerProxy, {
|
|
292
|
-
getTrackedVersion: (uri) => getFileSync().getTrackedVersion(uri),
|
|
293
|
-
setTrackedVersion: (uri, v) => getFileSync().setTrackedVersion(uri, v),
|
|
294
275
|
isSyntheticDotActive: (uri) => syntheticDotLocks.has(uri),
|
|
295
|
-
}, treeSitterProxy));
|
|
296
|
-
const getRootDir = () =>
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
276
|
+
}, treeSitterProxy), ensureRuntime, host);
|
|
277
|
+
const getRootDir = () => {
|
|
278
|
+
const manager = host.getServicesIfReady()?.manager;
|
|
279
|
+
if (manager)
|
|
280
|
+
return manager.resolvePath(".");
|
|
281
|
+
return sessionCwd || process.cwd();
|
|
282
|
+
};
|
|
283
|
+
registerToolWithRuntime(pi, createCodeOverviewTool(getRootDir, treeSitterProxy, workspaceIndexProxy), ensureRuntime, host);
|
|
284
|
+
registerToolWithRuntime(pi, createCodeSearchTool(getRootDir, treeSitterProxy), ensureRuntime, host);
|
|
285
|
+
registerToolWithRuntime(pi, createCodeRewriteTool(getRootDir, treeSitterProxy, {
|
|
300
286
|
onFileModified: (filePath) => {
|
|
301
|
-
|
|
287
|
+
const services = host.getServicesIfReady();
|
|
288
|
+
if (!services)
|
|
289
|
+
return;
|
|
290
|
+
services.fileSync.handleFileWrite(filePath).catch(() => { });
|
|
302
291
|
},
|
|
303
|
-
}));
|
|
304
|
-
|
|
305
|
-
//
|
|
306
|
-
// After writes/edits, append file-scoped error diagnostics
|
|
292
|
+
}), ensureRuntime, host);
|
|
293
|
+
// File sync: track file reads/writes/edits without loading runtime on plain reads
|
|
294
|
+
// when LSP was never used. Writes may start a server (existing behavior) so they
|
|
295
|
+
// ensure runtime. After writes/edits, append file-scoped error diagnostics.
|
|
307
296
|
pi.on("tool_result", async (event) => {
|
|
308
|
-
const
|
|
297
|
+
const generation = host.getGeneration();
|
|
309
298
|
try {
|
|
310
299
|
if (isReadToolResult(event) && !event.isError) {
|
|
311
|
-
const
|
|
312
|
-
if (
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
300
|
+
const services = host.getServicesIfReady();
|
|
301
|
+
if (services) {
|
|
302
|
+
const path = event.input?.path;
|
|
303
|
+
if (path)
|
|
304
|
+
await services.fileSync.handleFileRead(path);
|
|
305
|
+
if (host.getGeneration() !== generation)
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
319
308
|
}
|
|
320
|
-
if (isEditToolResult(event) && !event.isError) {
|
|
309
|
+
if ((isWriteToolResult(event) || isEditToolResult(event)) && !event.isError) {
|
|
321
310
|
const path = event.input?.path;
|
|
322
|
-
if (path)
|
|
323
|
-
await
|
|
311
|
+
if (path) {
|
|
312
|
+
const services = await ensureRuntime();
|
|
313
|
+
if (host.getGeneration() !== generation)
|
|
314
|
+
return;
|
|
315
|
+
await services.fileSync.handleFileWrite(path);
|
|
316
|
+
}
|
|
324
317
|
}
|
|
325
318
|
}
|
|
326
319
|
catch {
|
|
327
320
|
// File sync errors are non-fatal
|
|
328
321
|
}
|
|
322
|
+
if (host.getGeneration() !== generation)
|
|
323
|
+
return;
|
|
329
324
|
// Auto-append diagnostics for the changed file (write/edit only)
|
|
330
|
-
|
|
325
|
+
const services = host.getServicesIfReady();
|
|
326
|
+
if ((isWriteToolResult(event) || isEditToolResult(event)) && !event.isError && services) {
|
|
331
327
|
const path = event.input?.path;
|
|
332
328
|
if (!path)
|
|
333
329
|
return;
|
|
330
|
+
const manager = services.manager;
|
|
334
331
|
const languageId = manager.getLanguageId(path);
|
|
335
332
|
if (!languageId)
|
|
336
333
|
return;
|
|
@@ -345,6 +342,8 @@ export default function lspExtension(pi) {
|
|
|
345
342
|
return;
|
|
346
343
|
// Wait briefly for the LSP to publish updated diagnostics
|
|
347
344
|
await new Promise((r) => setTimeout(r, DIAGNOSTIC_SETTLE_DELAY_MS));
|
|
345
|
+
if (host.getGeneration() !== generation)
|
|
346
|
+
return;
|
|
348
347
|
const uri = manager.getFileUri(path);
|
|
349
348
|
const diagnostics = client.getDiagnostics(uri);
|
|
350
349
|
const errors = diagnostics.filter((d) => d.severity === DiagnosticSeverity.Error);
|
|
@@ -373,9 +372,10 @@ export default function lspExtension(pi) {
|
|
|
373
372
|
// Update status after tool execution ends
|
|
374
373
|
pi.on("tool_execution_end", async (_event, ctx) => {
|
|
375
374
|
latestCtx = ctx;
|
|
376
|
-
|
|
375
|
+
const services = host.getServicesIfReady();
|
|
376
|
+
if (!services)
|
|
377
377
|
return;
|
|
378
|
-
const statuses = manager.getStatus();
|
|
378
|
+
const statuses = services.manager.getStatus();
|
|
379
379
|
const running = statuses.filter((s) => s.running);
|
|
380
380
|
if (running.length === 0) {
|
|
381
381
|
ctx.ui.setStatus("lsp", ctx.ui.theme.fg("dim", "LSP: idle"));
|
|
@@ -394,11 +394,12 @@ export default function lspExtension(pi) {
|
|
|
394
394
|
pi.registerCommand("lsp", {
|
|
395
395
|
description: "Show LSP server status",
|
|
396
396
|
handler: async (_args, ctx) => {
|
|
397
|
-
|
|
398
|
-
|
|
397
|
+
const services = host.getServicesIfReady();
|
|
398
|
+
if (!services) {
|
|
399
|
+
ctx.ui.notify(host.isInitializing() ? "LSP runtime is starting" : "LSP runtime is idle (not started)", "info");
|
|
399
400
|
return;
|
|
400
401
|
}
|
|
401
|
-
const statuses = manager.getStatus();
|
|
402
|
+
const statuses = services.manager.getStatus();
|
|
402
403
|
if (statuses.length === 0) {
|
|
403
404
|
ctx.ui.notify("No LSP servers configured", "info");
|
|
404
405
|
return;
|
|
@@ -416,14 +417,22 @@ export default function lspExtension(pi) {
|
|
|
416
417
|
pi.registerCommand("lsp-restart", {
|
|
417
418
|
description: "Restart an LSP server: /lsp-restart <language> (e.g. java, typescript)",
|
|
418
419
|
handler: async (args, ctx) => {
|
|
419
|
-
|
|
420
|
-
|
|
420
|
+
const services = host.getServicesIfReady();
|
|
421
|
+
if (!services) {
|
|
422
|
+
if (args?.trim()) {
|
|
423
|
+
ctx.ui.notify(host.isInitializing()
|
|
424
|
+
? "LSP runtime is starting"
|
|
425
|
+
: "LSP runtime is idle. Run an LSP tool before restarting a server.", "info");
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
ctx.ui.notify("No LSP servers are running.\n\nUsage: /lsp-restart <language>", "info");
|
|
429
|
+
}
|
|
421
430
|
return;
|
|
422
431
|
}
|
|
423
432
|
const languageId = args?.trim().toLowerCase();
|
|
424
433
|
if (!languageId) {
|
|
425
434
|
// Show running servers and usage
|
|
426
|
-
const statuses = manager.getStatus().filter((s) => s.running);
|
|
435
|
+
const statuses = services.manager.getStatus().filter((s) => s.running);
|
|
427
436
|
if (statuses.length === 0) {
|
|
428
437
|
ctx.ui.notify("No LSP servers are running.\n\nUsage: /lsp-restart <language>", "info");
|
|
429
438
|
}
|
|
@@ -436,8 +445,8 @@ export default function lspExtension(pi) {
|
|
|
436
445
|
ctx.ui.setStatus("lsp", ctx.ui.theme.fg("warning", `LSP: restarting ${languageId}...`));
|
|
437
446
|
ctx.ui.notify(`Restarting ${languageId} server (kills daemon if shared)...`, "info");
|
|
438
447
|
try {
|
|
439
|
-
await manager.restartServer(languageId);
|
|
440
|
-
const lombokJar = languageId === "java" ? manager.getLombokJar() : null;
|
|
448
|
+
await services.manager.restartServer(languageId);
|
|
449
|
+
const lombokJar = languageId === "java" ? services.manager.getLombokJar() : null;
|
|
441
450
|
const lombokNote = lombokJar ? `\nLombok: ${lombokJar}` : "";
|
|
442
451
|
ctx.ui.notify(`${languageId} server restarted successfully.${lombokNote}`, "info");
|
|
443
452
|
ctx.ui.setStatus("lsp", ctx.ui.theme.fg("accent", `LSP: ${languageId} ready`));
|
|
@@ -463,7 +472,8 @@ export default function lspExtension(pi) {
|
|
|
463
472
|
}
|
|
464
473
|
const [languageId, command, ...serverArgs] = parts;
|
|
465
474
|
const config = { command, args: serverArgs };
|
|
466
|
-
|
|
475
|
+
const services = await ensureRuntime();
|
|
476
|
+
services.manager.setServerConfig(languageId, config);
|
|
467
477
|
ctx.ui.notify(`Configured LSP for ${languageId}: ${command} ${serverArgs.join(" ")}`, "info");
|
|
468
478
|
},
|
|
469
479
|
});
|
|
@@ -471,7 +481,8 @@ export default function lspExtension(pi) {
|
|
|
471
481
|
pi.registerCommand("lsp-lombok", {
|
|
472
482
|
description: "Set Lombok jar path for Java: /lsp-lombok <path-to-lombok.jar>",
|
|
473
483
|
handler: async (args, ctx) => {
|
|
474
|
-
const
|
|
484
|
+
const services = await ensureRuntime();
|
|
485
|
+
const mgr = services.manager;
|
|
475
486
|
if (!args?.trim()) {
|
|
476
487
|
const current = mgr.getLombokJar();
|
|
477
488
|
if (current) {
|
|
@@ -486,8 +497,6 @@ export default function lspExtension(pi) {
|
|
|
486
497
|
return;
|
|
487
498
|
}
|
|
488
499
|
const jarPath = args.trim();
|
|
489
|
-
const { existsSync } = await import("node:fs");
|
|
490
|
-
const { resolve } = await import("node:path");
|
|
491
500
|
const resolved = resolve(ctx.cwd, jarPath);
|
|
492
501
|
if (!existsSync(resolved)) {
|
|
493
502
|
ctx.ui.notify(`File not found: ${resolved}`, "error");
|
|
@@ -500,22 +509,14 @@ export default function lspExtension(pi) {
|
|
|
500
509
|
ctx.ui.notify(`Lombok jar set: ${resolved}`, "info");
|
|
501
510
|
},
|
|
502
511
|
});
|
|
503
|
-
// Clean shutdown
|
|
512
|
+
// Clean shutdown — never loads heavy modules if they were unused
|
|
504
513
|
pi.on("session_shutdown", async () => {
|
|
505
514
|
// Drop the captured ctx immediately — once shutdown fires, any late
|
|
506
515
|
// LSP manager callback that reaches setLspStatus/applyProvider would
|
|
507
516
|
// otherwise hit an invalidated ctx and throw an uncaught exception.
|
|
508
517
|
latestCtx = null;
|
|
509
|
-
|
|
510
|
-
await manager.shutdownAll();
|
|
511
|
-
manager = null;
|
|
512
|
-
fileSync = null;
|
|
513
|
-
}
|
|
514
|
-
if (treeSitter) {
|
|
515
|
-
treeSitter.shutdown();
|
|
516
|
-
treeSitter = null;
|
|
517
|
-
}
|
|
518
|
-
workspaceIndex = null;
|
|
518
|
+
await host.shutdown();
|
|
519
519
|
});
|
|
520
520
|
}
|
|
521
|
+
export { LspRuntimeHost } from "./runtime.js";
|
|
521
522
|
//# sourceMappingURL=index.js.map
|