@sheason/pi-coding-agent 0.74.1-sheason.0 → 0.78.0-sheason.0.6.0-alpha.2
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 +256 -4
- package/README.md +16 -8
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +49 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +2 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -3
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/session-picker.d.ts +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -6
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +61 -32
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-proxy.d.ts +268 -0
- package/dist/core/agent-session-proxy.d.ts.map +1 -0
- package/dist/core/agent-session-proxy.js +2 -0
- package/dist/core/agent-session-proxy.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +10 -10
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +14 -14
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +8 -7
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +4 -2
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +60 -27
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +303 -177
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -2
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +3 -3
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +5 -5
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -37
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts +3 -3
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/index.d.ts +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +8 -6
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.js +23 -6
- package/dist/core/export-html/tool-renderer.d.ts +2 -2
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +8 -8
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +2 -2
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +17 -34
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +12 -7
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +36 -2
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +26 -24
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts +2 -2
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +3 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +4 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts +21 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +48 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +8 -8
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/local-agent-session-proxy.d.ts +82 -0
- package/dist/core/local-agent-session-proxy.d.ts.map +1 -0
- package/dist/core/local-agent-session-proxy.js +531 -0
- package/dist/core/local-agent-session-proxy.js.map +1 -0
- package/dist/core/messages.d.ts +0 -9
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +0 -10
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-registry.d.ts +4 -4
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +72 -16
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/output-guard.d.ts +1 -0
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js +52 -22
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts +7 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +129 -64
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +12 -24
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +0 -1
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts +9 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +134 -11
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +13 -10
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +41 -33
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +15 -13
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +24 -17
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +20 -10
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +201 -106
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +5 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +31 -13
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +2 -2
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +10 -27
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +1 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/system-prompt.d.ts +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +16 -9
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetry.d.ts +1 -1
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/tools/bash.d.ts +2 -2
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +55 -54
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +3 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +8 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts +5 -3
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +51 -91
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js +27 -12
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts +2 -2
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +2 -3
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +2 -2
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +3 -3
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +17 -17
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +2 -2
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +10 -12
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +3 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +9 -3
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts +2 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js +39 -21
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts +2 -2
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +15 -15
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +5 -2
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +17 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js +12 -2
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +25 -41
- package/dist/core/tools/write.js.map +1 -1
- package/dist/d-pi-worker.d.ts +12 -0
- package/dist/d-pi-worker.d.ts.map +1 -0
- package/dist/d-pi-worker.js +9 -0
- package/dist/d-pi-worker.js.map +1 -0
- package/dist/index.d.ts +30 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +100 -39
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +118 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/connect/auth-headers.d.ts +2 -0
- package/dist/modes/connect/auth-headers.d.ts.map +1 -0
- package/dist/modes/connect/auth-headers.js +2 -0
- package/dist/modes/connect/auth-headers.js.map +1 -0
- package/dist/modes/connect/client-extension-sync.d.ts +13 -0
- package/dist/modes/connect/client-extension-sync.d.ts.map +1 -0
- package/dist/modes/connect/client-extension-sync.js +51 -0
- package/dist/modes/connect/client-extension-sync.js.map +1 -0
- package/dist/modes/connect/connect-mode.d.ts +6 -0
- package/dist/modes/connect/connect-mode.d.ts.map +1 -0
- package/dist/modes/connect/connect-mode.js +29 -0
- package/dist/modes/connect/connect-mode.js.map +1 -0
- package/dist/modes/connect/remote-agent-session-proxy.d.ts +81 -0
- package/dist/modes/connect/remote-agent-session-proxy.d.ts.map +1 -0
- package/dist/modes/connect/remote-agent-session-proxy.js +326 -0
- package/dist/modes/connect/remote-agent-session-proxy.js.map +1 -0
- package/dist/modes/connect/sse-client.d.ts +18 -0
- package/dist/modes/connect/sse-client.d.ts.map +1 -0
- package/dist/modes/connect/sse-client.js +90 -0
- package/dist/modes/connect/sse-client.js.map +1 -0
- package/dist/modes/index.d.ts +5 -5
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +4 -4
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +8 -5
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts +2 -2
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +2 -2
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +2 -2
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +0 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +14 -6
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +15 -4
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +126 -8
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +31 -31
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +7 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +28 -5
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +2 -2
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +3 -3
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +15 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +53 -7
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1247 -205
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +5 -4
- package/dist/modes/interactive/theme/light.json +5 -4
- package/dist/modes/interactive/theme/theme.d.ts +22 -3
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +130 -69
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +8 -5
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +65 -8
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +2 -2
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +18 -4
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +5 -4
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modes/serve/api-handlers.d.ts +4 -0
- package/dist/modes/serve/api-handlers.d.ts.map +1 -0
- package/dist/modes/serve/api-handlers.js +324 -0
- package/dist/modes/serve/api-handlers.js.map +1 -0
- package/dist/modes/serve/http-server.d.ts +14 -0
- package/dist/modes/serve/http-server.d.ts.map +1 -0
- package/dist/modes/serve/http-server.js +94 -0
- package/dist/modes/serve/http-server.js.map +1 -0
- package/dist/modes/serve/serve-mode.d.ts +10 -0
- package/dist/modes/serve/serve-mode.d.ts.map +1 -0
- package/dist/modes/serve/serve-mode.js +217 -0
- package/dist/modes/serve/serve-mode.js.map +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +62 -7
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js +47 -72
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/changelog.d.ts +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts +5 -2
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js +9 -7
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +3 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js +14 -8
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/deprecation.d.ts +4 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/deprecation.js +13 -0
- package/dist/utils/deprecation.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +7 -27
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +75 -131
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +7 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/paths.d.ts +16 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +49 -7
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +6 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +118 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +4 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +2 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +9 -4
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/utils/windows-self-update.d.ts.map +1 -0
- package/dist/utils/windows-self-update.js +77 -0
- package/dist/utils/windows-self-update.js.map +1 -0
- package/docs/custom-provider.md +111 -21
- package/docs/development.md +1 -1
- package/docs/extensions.md +13 -7
- package/docs/index.md +13 -3
- package/docs/models.md +32 -13
- package/docs/packages.md +9 -6
- package/docs/providers.md +13 -5
- package/docs/quickstart.md +24 -1
- package/docs/rpc.md +2 -1
- package/docs/sdk.md +8 -0
- package/docs/session-format.md +1 -1
- package/docs/sessions.md +8 -0
- package/docs/settings.md +8 -6
- package/docs/skills.md +3 -4
- package/docs/terminal-setup.md +8 -0
- package/docs/termux.md +3 -3
- package/docs/tui.md +2 -2
- package/docs/usage.md +13 -2
- package/examples/extensions/README.md +1 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +54 -3
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
- package/examples/extensions/doom-overlay/doom-component.ts +2 -2
- package/examples/extensions/doom-overlay/index.ts +3 -3
- package/examples/extensions/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/overlay-qa-tests.ts +97 -66
- package/examples/extensions/overlay-test.ts +7 -4
- package/examples/extensions/plan-mode/index.ts +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/subagent/README.md +3 -0
- package/examples/extensions/subagent/index.ts +42 -20
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +3 -3
- package/npm-shrinkwrap.json +1790 -0
- package/package.json +39 -32
- package/dist/utils/uuid.d.ts +0 -2
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/uuid.js +0 -40
- package/dist/utils/uuid.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
2
1
|
import { createHash } from "node:crypto";
|
|
3
2
|
import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
4
3
|
import { homedir, tmpdir } from "node:os";
|
|
@@ -26,9 +25,9 @@ import { globSync } from "glob";
|
|
|
26
25
|
import ignore from "ignore";
|
|
27
26
|
import { minimatch } from "minimatch";
|
|
28
27
|
import { CONFIG_DIR_NAME } from "../config.js";
|
|
29
|
-
import {
|
|
28
|
+
import { spawnProcess, spawnProcessSync } from "../utils/child-process.js";
|
|
30
29
|
import { parseGitUrl } from "../utils/git.js";
|
|
31
|
-
import { canonicalizePath, isLocalPath } from "../utils/paths.js";
|
|
30
|
+
import { canonicalizePath, isLocalPath, markPathIgnoredByCloudSync, resolvePath } from "../utils/paths.js";
|
|
32
31
|
import { isStdoutTakenOver } from "./output-guard.js";
|
|
33
32
|
const NETWORK_TIMEOUT_MS = 10000;
|
|
34
33
|
const UPDATE_CHECK_CONCURRENCY = 4;
|
|
@@ -578,8 +577,8 @@ export class DefaultPackageManager {
|
|
|
578
577
|
globalNpmRootCommandKey;
|
|
579
578
|
progressCallback;
|
|
580
579
|
constructor(options) {
|
|
581
|
-
this.cwd = options.cwd;
|
|
582
|
-
this.agentDir = options.agentDir;
|
|
580
|
+
this.cwd = resolvePath(options.cwd);
|
|
581
|
+
this.agentDir = resolvePath(options.agentDir);
|
|
583
582
|
this.settingsManager = options.settingsManager;
|
|
584
583
|
}
|
|
585
584
|
setProgressCallback(callback) {
|
|
@@ -590,9 +589,22 @@ export class DefaultPackageManager {
|
|
|
590
589
|
const currentSettings = scope === "project" ? this.settingsManager.getProjectSettings() : this.settingsManager.getGlobalSettings();
|
|
591
590
|
const currentPackages = currentSettings.packages ?? [];
|
|
592
591
|
const normalizedSource = this.normalizePackageSourceForSettings(source, scope);
|
|
593
|
-
const
|
|
594
|
-
if (
|
|
595
|
-
|
|
592
|
+
const matchIndex = currentPackages.findIndex((existing) => this.packageSourcesMatch(existing, source, scope));
|
|
593
|
+
if (matchIndex !== -1) {
|
|
594
|
+
const existing = currentPackages[matchIndex];
|
|
595
|
+
if (this.getPackageSourceString(existing) === normalizedSource) {
|
|
596
|
+
return false;
|
|
597
|
+
}
|
|
598
|
+
const nextPackages = [...currentPackages];
|
|
599
|
+
nextPackages[matchIndex] =
|
|
600
|
+
typeof existing === "string" ? normalizedSource : { ...existing, source: normalizedSource };
|
|
601
|
+
if (scope === "project") {
|
|
602
|
+
this.settingsManager.setProjectPackages(nextPackages);
|
|
603
|
+
}
|
|
604
|
+
else {
|
|
605
|
+
this.settingsManager.setPackages(nextPackages);
|
|
606
|
+
}
|
|
607
|
+
return true;
|
|
596
608
|
}
|
|
597
609
|
const nextPackages = [...currentPackages, normalizedSource];
|
|
598
610
|
if (scope === "project") {
|
|
@@ -802,14 +814,16 @@ export class DefaultPackageManager {
|
|
|
802
814
|
const gitCandidates = [];
|
|
803
815
|
for (const entry of sources) {
|
|
804
816
|
const parsed = this.parseSource(entry.source);
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
}
|
|
817
|
+
// Pinned npm versions are fixed. Pinned git refs are configured checkout targets,
|
|
818
|
+
// so include them to reconcile an existing clone when the configured ref changes.
|
|
808
819
|
if (parsed.type === "npm") {
|
|
809
|
-
|
|
810
|
-
|
|
820
|
+
if (!parsed.pinned) {
|
|
821
|
+
npmCandidates.push({ ...entry, parsed });
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
else if (parsed.type === "git") {
|
|
825
|
+
gitCandidates.push({ ...entry, parsed });
|
|
811
826
|
}
|
|
812
|
-
gitCandidates.push({ ...entry, parsed });
|
|
813
827
|
}
|
|
814
828
|
const npmCheckTasks = npmCandidates.map((entry) => async () => ({
|
|
815
829
|
entry,
|
|
@@ -845,7 +859,7 @@ export class DefaultPackageManager {
|
|
|
845
859
|
await Promise.all(tasks);
|
|
846
860
|
}
|
|
847
861
|
async shouldUpdateNpmSource(source, scope) {
|
|
848
|
-
const installedPath = this.
|
|
862
|
+
const installedPath = this.getManagedNpmInstallPath(source, scope);
|
|
849
863
|
const installedVersion = existsSync(installedPath) ? this.getInstalledNpmVersion(installedPath) : undefined;
|
|
850
864
|
if (!installedVersion) {
|
|
851
865
|
return true;
|
|
@@ -871,13 +885,9 @@ export class DefaultPackageManager {
|
|
|
871
885
|
});
|
|
872
886
|
}
|
|
873
887
|
async installNpmBatch(specs, scope) {
|
|
874
|
-
if (scope === "user") {
|
|
875
|
-
await this.runNpmCommand(["install", "-g", ...specs]);
|
|
876
|
-
return;
|
|
877
|
-
}
|
|
878
888
|
const installRoot = this.getNpmInstallRoot(scope, false);
|
|
879
889
|
this.ensureNpmProject(installRoot);
|
|
880
|
-
await this.runNpmCommand(
|
|
890
|
+
await this.runNpmCommand(this.getNpmInstallArgs(specs, installRoot));
|
|
881
891
|
}
|
|
882
892
|
async checkForAvailableUpdates() {
|
|
883
893
|
if (isOfflineModeEnabled()) {
|
|
@@ -963,13 +973,14 @@ export class DefaultPackageManager {
|
|
|
963
973
|
return true;
|
|
964
974
|
};
|
|
965
975
|
if (parsed.type === "npm") {
|
|
966
|
-
|
|
976
|
+
let installedPath = this.getNpmInstallPath(parsed, scope);
|
|
967
977
|
const needsInstall = !existsSync(installedPath) ||
|
|
968
978
|
(parsed.pinned && !(await this.installedNpmMatchesPinnedVersion(parsed, installedPath)));
|
|
969
979
|
if (needsInstall) {
|
|
970
980
|
const installed = await installMissing();
|
|
971
981
|
if (!installed)
|
|
972
982
|
continue;
|
|
983
|
+
installedPath = this.getNpmInstallPath(parsed, scope);
|
|
973
984
|
}
|
|
974
985
|
metadata.baseDir = installedPath;
|
|
975
986
|
this.collectPackageResources(installedPath, accumulator, filter, metadata);
|
|
@@ -1363,6 +1374,13 @@ export class DefaultPackageManager {
|
|
|
1363
1374
|
}
|
|
1364
1375
|
return { command, args };
|
|
1365
1376
|
}
|
|
1377
|
+
getPackageManagerName() {
|
|
1378
|
+
const npmCommand = this.getNpmCommand();
|
|
1379
|
+
const commandParts = [npmCommand.command, ...npmCommand.args];
|
|
1380
|
+
const separatorIndex = commandParts.lastIndexOf("--");
|
|
1381
|
+
const packageManagerCommand = separatorIndex >= 0 ? commandParts[separatorIndex + 1] : npmCommand.command;
|
|
1382
|
+
return packageManagerCommand ? basename(packageManagerCommand).replace(/\.(cmd|exe)$/i, "") : "";
|
|
1383
|
+
}
|
|
1366
1384
|
async runNpmCommand(args, options) {
|
|
1367
1385
|
const npmCommand = this.getNpmCommand();
|
|
1368
1386
|
await this.runCommand(npmCommand.command, [...npmCommand.args, ...args], options);
|
|
@@ -1378,29 +1396,53 @@ export class DefaultPackageManager {
|
|
|
1378
1396
|
const npmCommand = this.getNpmCommand();
|
|
1379
1397
|
return this.runCommandSync(npmCommand.command, [...npmCommand.args, ...args]);
|
|
1380
1398
|
}
|
|
1399
|
+
getNpmInstallArgs(specs, installRoot) {
|
|
1400
|
+
const packageManagerName = this.getPackageManagerName();
|
|
1401
|
+
// Extension packages run inside pi and resolve pi APIs through loader aliases/virtual modules.
|
|
1402
|
+
// Disable peer dependency resolution for managed installs (npm's --legacy-peer-deps, and
|
|
1403
|
+
// equivalent bun/pnpm settings) so package managers do not install or solve host-provided
|
|
1404
|
+
// @earendil-works/pi-* peers. Stale auto-installed pi peers can otherwise block updates.
|
|
1405
|
+
if (packageManagerName === "bun") {
|
|
1406
|
+
return ["install", ...specs, "--cwd", installRoot, "--omit=peer"];
|
|
1407
|
+
}
|
|
1408
|
+
if (packageManagerName === "pnpm") {
|
|
1409
|
+
return [
|
|
1410
|
+
"install",
|
|
1411
|
+
...specs,
|
|
1412
|
+
"--prefix",
|
|
1413
|
+
installRoot,
|
|
1414
|
+
"--config.auto-install-peers=false",
|
|
1415
|
+
"--config.strict-peer-dependencies=false",
|
|
1416
|
+
"--config.strict-dep-builds=false",
|
|
1417
|
+
];
|
|
1418
|
+
}
|
|
1419
|
+
return ["install", ...specs, "--prefix", installRoot, "--legacy-peer-deps"];
|
|
1420
|
+
}
|
|
1381
1421
|
async installNpm(source, scope, temporary) {
|
|
1382
|
-
if (scope === "user" && !temporary) {
|
|
1383
|
-
await this.runNpmCommand(["install", "-g", source.spec]);
|
|
1384
|
-
return;
|
|
1385
|
-
}
|
|
1386
1422
|
const installRoot = this.getNpmInstallRoot(scope, temporary);
|
|
1387
1423
|
this.ensureNpmProject(installRoot);
|
|
1388
|
-
await this.runNpmCommand([
|
|
1424
|
+
await this.runNpmCommand(this.getNpmInstallArgs([source.spec], installRoot));
|
|
1389
1425
|
}
|
|
1390
1426
|
async uninstallNpm(source, scope) {
|
|
1391
|
-
if (scope === "user") {
|
|
1392
|
-
await this.runNpmCommand(["uninstall", "-g", source.name]);
|
|
1393
|
-
return;
|
|
1394
|
-
}
|
|
1395
1427
|
const installRoot = this.getNpmInstallRoot(scope, false);
|
|
1396
1428
|
if (!existsSync(installRoot)) {
|
|
1397
1429
|
return;
|
|
1398
1430
|
}
|
|
1431
|
+
if (this.getPackageManagerName() === "bun") {
|
|
1432
|
+
await this.runNpmCommand(["uninstall", source.name, "--cwd", installRoot]);
|
|
1433
|
+
return;
|
|
1434
|
+
}
|
|
1399
1435
|
await this.runNpmCommand(["uninstall", source.name, "--prefix", installRoot]);
|
|
1400
1436
|
}
|
|
1401
1437
|
async installGit(source, scope) {
|
|
1402
1438
|
const targetDir = this.getGitInstallPath(source, scope);
|
|
1403
1439
|
if (existsSync(targetDir)) {
|
|
1440
|
+
if (source.ref) {
|
|
1441
|
+
await this.ensureGitRef(targetDir, ["fetch", "origin", source.ref], "FETCH_HEAD");
|
|
1442
|
+
return;
|
|
1443
|
+
}
|
|
1444
|
+
const target = await this.getLocalGitUpdateTarget(targetDir);
|
|
1445
|
+
await this.ensureGitRef(targetDir, target.fetchArgs, target.ref);
|
|
1404
1446
|
return;
|
|
1405
1447
|
}
|
|
1406
1448
|
const gitRoot = this.getGitInstallRoot(scope);
|
|
@@ -1423,21 +1465,29 @@ export class DefaultPackageManager {
|
|
|
1423
1465
|
await this.installGit(source, scope);
|
|
1424
1466
|
return;
|
|
1425
1467
|
}
|
|
1468
|
+
if (source.ref) {
|
|
1469
|
+
await this.ensureGitRef(targetDir, ["fetch", "origin", source.ref], "FETCH_HEAD");
|
|
1470
|
+
return;
|
|
1471
|
+
}
|
|
1426
1472
|
const target = await this.getLocalGitUpdateTarget(targetDir);
|
|
1473
|
+
await this.ensureGitRef(targetDir, target.fetchArgs, target.ref);
|
|
1474
|
+
}
|
|
1475
|
+
async ensureGitRef(targetDir, fetchArgs, ref) {
|
|
1427
1476
|
// Fetch only the ref we will reset to, avoiding unrelated branch/tag noise.
|
|
1428
|
-
await this.runCommand("git",
|
|
1477
|
+
await this.runCommand("git", fetchArgs, { cwd: targetDir });
|
|
1429
1478
|
const localHead = await this.runCommandCapture("git", ["rev-parse", "HEAD"], {
|
|
1430
1479
|
cwd: targetDir,
|
|
1431
1480
|
timeoutMs: NETWORK_TIMEOUT_MS,
|
|
1432
1481
|
});
|
|
1433
|
-
const
|
|
1482
|
+
const commitRef = `${ref}^{commit}`;
|
|
1483
|
+
const targetHead = await this.runCommandCapture("git", ["rev-parse", commitRef], {
|
|
1434
1484
|
cwd: targetDir,
|
|
1435
1485
|
timeoutMs: NETWORK_TIMEOUT_MS,
|
|
1436
1486
|
});
|
|
1437
|
-
if (localHead.trim() ===
|
|
1487
|
+
if (localHead.trim() === targetHead.trim()) {
|
|
1438
1488
|
return;
|
|
1439
1489
|
}
|
|
1440
|
-
await this.runCommand("git", ["reset", "--hard",
|
|
1490
|
+
await this.runCommand("git", ["reset", "--hard", commitRef], { cwd: targetDir });
|
|
1441
1491
|
// Clean untracked files (extensions should be pristine)
|
|
1442
1492
|
await this.runCommand("git", ["clean", "-fdx"], { cwd: targetDir });
|
|
1443
1493
|
const packageJsonPath = join(targetDir, "package.json");
|
|
@@ -1492,6 +1542,7 @@ export class DefaultPackageManager {
|
|
|
1492
1542
|
if (!existsSync(installRoot)) {
|
|
1493
1543
|
mkdirSync(installRoot, { recursive: true });
|
|
1494
1544
|
}
|
|
1545
|
+
markPathIgnoredByCloudSync(installRoot);
|
|
1495
1546
|
this.ensureGitIgnore(installRoot);
|
|
1496
1547
|
const packageJsonPath = join(installRoot, "package.json");
|
|
1497
1548
|
if (!existsSync(packageJsonPath)) {
|
|
@@ -1515,7 +1566,7 @@ export class DefaultPackageManager {
|
|
|
1515
1566
|
if (scope === "project") {
|
|
1516
1567
|
return join(this.cwd, CONFIG_DIR_NAME, "npm");
|
|
1517
1568
|
}
|
|
1518
|
-
return join(this.
|
|
1569
|
+
return join(this.agentDir, "npm");
|
|
1519
1570
|
}
|
|
1520
1571
|
getGlobalNpmRoot() {
|
|
1521
1572
|
const npmCommand = this.getNpmCommand();
|
|
@@ -1523,8 +1574,7 @@ export class DefaultPackageManager {
|
|
|
1523
1574
|
if (this.globalNpmRoot && this.globalNpmRootCommandKey === commandKey) {
|
|
1524
1575
|
return this.globalNpmRoot;
|
|
1525
1576
|
}
|
|
1526
|
-
|
|
1527
|
-
if (isBunPackageManager) {
|
|
1577
|
+
if (this.getPackageManagerName() === "bun") {
|
|
1528
1578
|
const binDir = this.runNpmCommandSync(["pm", "bin", "-g"]).trim();
|
|
1529
1579
|
this.globalNpmRoot = join(dirname(binDir), "install", "global", "node_modules");
|
|
1530
1580
|
}
|
|
@@ -1534,14 +1584,43 @@ export class DefaultPackageManager {
|
|
|
1534
1584
|
this.globalNpmRootCommandKey = commandKey;
|
|
1535
1585
|
return this.globalNpmRoot;
|
|
1536
1586
|
}
|
|
1537
|
-
|
|
1587
|
+
getPnpmGlobalPackagePath(packageName) {
|
|
1588
|
+
if (this.getPackageManagerName() !== "pnpm") {
|
|
1589
|
+
return undefined;
|
|
1590
|
+
}
|
|
1591
|
+
const output = this.runNpmCommandSync(["list", "-g", "--depth", "0", "--json"]);
|
|
1592
|
+
const entries = JSON.parse(output);
|
|
1593
|
+
for (const entry of entries) {
|
|
1594
|
+
const path = entry.dependencies?.[packageName]?.path;
|
|
1595
|
+
if (path)
|
|
1596
|
+
return path;
|
|
1597
|
+
}
|
|
1598
|
+
return undefined;
|
|
1599
|
+
}
|
|
1600
|
+
getManagedNpmInstallPath(source, scope) {
|
|
1538
1601
|
if (scope === "temporary") {
|
|
1539
1602
|
return join(this.getTemporaryDir("npm"), "node_modules", source.name);
|
|
1540
1603
|
}
|
|
1541
1604
|
if (scope === "project") {
|
|
1542
1605
|
return join(this.cwd, CONFIG_DIR_NAME, "npm", "node_modules", source.name);
|
|
1543
1606
|
}
|
|
1544
|
-
return join(this.
|
|
1607
|
+
return join(this.agentDir, "npm", "node_modules", source.name);
|
|
1608
|
+
}
|
|
1609
|
+
getLegacyGlobalNpmInstallPath(source) {
|
|
1610
|
+
try {
|
|
1611
|
+
return this.getPnpmGlobalPackagePath(source.name) ?? join(this.getGlobalNpmRoot(), source.name);
|
|
1612
|
+
}
|
|
1613
|
+
catch {
|
|
1614
|
+
return undefined;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
getNpmInstallPath(source, scope) {
|
|
1618
|
+
const managedPath = this.getManagedNpmInstallPath(source, scope);
|
|
1619
|
+
if (scope !== "user" || existsSync(managedPath)) {
|
|
1620
|
+
return managedPath;
|
|
1621
|
+
}
|
|
1622
|
+
const legacyPath = this.getLegacyGlobalNpmInstallPath(source);
|
|
1623
|
+
return legacyPath && existsSync(legacyPath) ? legacyPath : managedPath;
|
|
1545
1624
|
}
|
|
1546
1625
|
getGitInstallPath(source, scope) {
|
|
1547
1626
|
if (scope === "temporary") {
|
|
@@ -1578,24 +1657,10 @@ export class DefaultPackageManager {
|
|
|
1578
1657
|
return this.cwd;
|
|
1579
1658
|
}
|
|
1580
1659
|
resolvePath(input) {
|
|
1581
|
-
|
|
1582
|
-
if (trimmed === "~")
|
|
1583
|
-
return getHomeDir();
|
|
1584
|
-
if (trimmed.startsWith("~/"))
|
|
1585
|
-
return join(getHomeDir(), trimmed.slice(2));
|
|
1586
|
-
if (trimmed.startsWith("~"))
|
|
1587
|
-
return join(getHomeDir(), trimmed.slice(1));
|
|
1588
|
-
return resolve(this.cwd, trimmed);
|
|
1660
|
+
return resolvePath(input, this.cwd, { homeDir: getHomeDir(), trim: true });
|
|
1589
1661
|
}
|
|
1590
1662
|
resolvePathFromBase(input, baseDir) {
|
|
1591
|
-
|
|
1592
|
-
if (trimmed === "~")
|
|
1593
|
-
return getHomeDir();
|
|
1594
|
-
if (trimmed.startsWith("~/"))
|
|
1595
|
-
return join(getHomeDir(), trimmed.slice(2));
|
|
1596
|
-
if (trimmed.startsWith("~"))
|
|
1597
|
-
return join(getHomeDir(), trimmed.slice(1));
|
|
1598
|
-
return resolve(baseDir, trimmed);
|
|
1663
|
+
return resolvePath(input, baseDir, { homeDir: getHomeDir(), trim: true });
|
|
1599
1664
|
}
|
|
1600
1665
|
collectPackageResources(packageRoot, accumulator, filter, metadata) {
|
|
1601
1666
|
if (filter) {
|
|
@@ -1890,20 +1955,20 @@ export class DefaultPackageManager {
|
|
|
1890
1955
|
};
|
|
1891
1956
|
}
|
|
1892
1957
|
spawnCommand(command, args, options) {
|
|
1893
|
-
|
|
1958
|
+
const env = getEnv();
|
|
1959
|
+
return spawnProcess(command, args, {
|
|
1894
1960
|
cwd: options?.cwd,
|
|
1895
1961
|
stdio: isStdoutTakenOver() ? ["ignore", 2, 2] : "inherit",
|
|
1896
|
-
|
|
1897
|
-
env: getEnv(),
|
|
1962
|
+
env,
|
|
1898
1963
|
});
|
|
1899
1964
|
}
|
|
1900
1965
|
spawnCaptureCommand(command, args, options) {
|
|
1901
1966
|
const baseEnv = getEnv();
|
|
1902
|
-
|
|
1967
|
+
const env = options?.env ? { ...baseEnv, ...options.env } : baseEnv;
|
|
1968
|
+
return spawnProcess(command, args, {
|
|
1903
1969
|
cwd: options?.cwd,
|
|
1904
1970
|
stdio: ["ignore", "pipe", "pipe"],
|
|
1905
|
-
|
|
1906
|
-
env: options?.env ? { ...baseEnv, ...options.env } : baseEnv,
|
|
1971
|
+
env,
|
|
1907
1972
|
});
|
|
1908
1973
|
}
|
|
1909
1974
|
runCommandCapture(command, args, options) {
|
|
@@ -1960,11 +2025,11 @@ export class DefaultPackageManager {
|
|
|
1960
2025
|
});
|
|
1961
2026
|
}
|
|
1962
2027
|
runCommandSync(command, args) {
|
|
1963
|
-
const
|
|
2028
|
+
const env = getEnv();
|
|
2029
|
+
const result = spawnProcessSync(command, args, {
|
|
1964
2030
|
stdio: ["ignore", "pipe", "pipe"],
|
|
1965
2031
|
encoding: "utf-8",
|
|
1966
|
-
|
|
1967
|
-
env: getEnv(),
|
|
2032
|
+
env,
|
|
1968
2033
|
});
|
|
1969
2034
|
if (result.error || result.status !== 0) {
|
|
1970
2035
|
throw new Error(`Failed to run ${command} ${args.join(" ")}: ${result.error?.message || result.stderr || result.stdout}`);
|