@greppleai/grip 0.1.5 → 0.1.7
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 +35 -0
- package/README.md +1 -1
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/embedded-assets.d.ts.map +1 -1
- package/dist/bun/embedded-assets.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +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.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.map +1 -1
- package/dist/cli/list-models.js.map +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.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +38 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +289 -154
- 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 +4 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -10
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +19 -23
- package/dist/core/bash-executor.js.map +1 -1
- 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.map +1 -1
- package/dist/core/compaction/compaction.js +9 -2
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/compression-detection-ledger.d.ts.map +1 -1
- package/dist/core/compaction/compression-detection-ledger.js.map +1 -1
- package/dist/core/compaction/compression-detector.d.ts +1 -0
- package/dist/core/compaction/compression-detector.d.ts.map +1 -1
- package/dist/core/compaction/compression-detector.js +10 -21
- package/dist/core/compaction/compression-detector.js.map +1 -1
- package/dist/core/compaction/compression-economics.d.ts.map +1 -1
- package/dist/core/compaction/compression-economics.js.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.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/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- 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/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +40 -30
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +21 -1
- 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.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +15 -16
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/grip-agent.d.ts.map +1 -1
- package/dist/core/grip-agent.js +7 -21
- package/dist/core/grip-agent.js.map +1 -1
- package/dist/core/grip-manifest.d.ts.map +1 -1
- package/dist/core/grip-manifest.js.map +1 -1
- package/dist/core/hooks/aggregate.d.ts.map +1 -1
- package/dist/core/hooks/aggregate.js.map +1 -1
- package/dist/core/hooks/config.d.ts.map +1 -1
- package/dist/core/hooks/config.js.map +1 -1
- package/dist/core/hooks/executor.d.ts.map +1 -1
- package/dist/core/hooks/executor.js.map +1 -1
- package/dist/core/hooks/index.d.ts.map +1 -1
- package/dist/core/hooks/index.js.map +1 -1
- package/dist/core/hooks/matcher.d.ts.map +1 -1
- package/dist/core/hooks/matcher.js.map +1 -1
- package/dist/core/hooks/trust-store.d.ts.map +1 -1
- package/dist/core/hooks/trust-store.js +0 -3
- package/dist/core/hooks/trust-store.js.map +1 -1
- package/dist/core/hooks/types.d.ts.map +1 -1
- package/dist/core/hooks/types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/instruction-resource-loader.d.ts +1 -0
- package/dist/core/instruction-resource-loader.d.ts.map +1 -1
- package/dist/core/instruction-resource-loader.js +2 -4
- package/dist/core/instruction-resource-loader.js.map +1 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +0 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/lsp/abort.d.ts.map +1 -1
- package/dist/core/lsp/abort.js.map +1 -1
- package/dist/core/lsp/client.d.ts.map +1 -1
- package/dist/core/lsp/client.js +8 -22
- package/dist/core/lsp/client.js.map +1 -1
- package/dist/core/lsp/config-loader.d.ts.map +1 -1
- package/dist/core/lsp/config-loader.js.map +1 -1
- package/dist/core/lsp/config.d.ts.map +1 -1
- package/dist/core/lsp/config.js.map +1 -1
- package/dist/core/lsp/diagnostics.d.ts.map +1 -1
- package/dist/core/lsp/diagnostics.js.map +1 -1
- package/dist/core/lsp/file-sync.d.ts.map +1 -1
- package/dist/core/lsp/file-sync.js +7 -9
- package/dist/core/lsp/file-sync.js.map +1 -1
- package/dist/core/lsp/integration.d.ts.map +1 -1
- package/dist/core/lsp/integration.js.map +1 -1
- package/dist/core/lsp/language-map.d.ts.map +1 -1
- package/dist/core/lsp/language-map.js +2 -7
- package/dist/core/lsp/language-map.js.map +1 -1
- package/dist/core/lsp/manager.d.ts.map +1 -1
- package/dist/core/lsp/manager.js +18 -29
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/lsp/navigation.d.ts.map +1 -1
- package/dist/core/lsp/navigation.js.map +1 -1
- package/dist/core/lsp/portable-path.d.ts.map +1 -1
- package/dist/core/lsp/portable-path.js.map +1 -1
- package/dist/core/lsp/refactor.d.ts.map +1 -1
- package/dist/core/lsp/refactor.js.map +1 -1
- package/dist/core/lsp/transport.d.ts.map +1 -1
- package/dist/core/lsp/transport.js.map +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +30 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +5 -7
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +0 -6
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/contract.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/contract.js +4 -2
- package/dist/core/remote-workspace-protocol/contract.js.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-client.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-client.js +1 -5
- package/dist/core/remote-workspace-protocol/guest-shared-client.js.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-outbound-scheduler.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-outbound-scheduler.js +5 -10
- package/dist/core/remote-workspace-protocol/guest-shared-outbound-scheduler.js.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-uplink.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/guest-shared-uplink.js +2 -9
- package/dist/core/remote-workspace-protocol/guest-shared-uplink.js.map +1 -1
- package/dist/core/remote-workspace-protocol/lima-owner-directory.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/lima-owner-directory.js.map +1 -1
- package/dist/core/remote-workspace-protocol/lima-owner-lock.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/lima-owner-lock.js.map +1 -1
- package/dist/core/remote-workspace-protocol/session.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/session.js +27 -65
- package/dist/core/remote-workspace-protocol/session.js.map +1 -1
- package/dist/core/remote-workspace-protocol/shared-transport.d.ts.map +1 -1
- package/dist/core/remote-workspace-protocol/shared-transport.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +0 -48
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js.map +1 -1
- package/dist/core/sandbox/command.d.ts.map +1 -1
- package/dist/core/sandbox/command.js.map +1 -1
- package/dist/core/sandbox/config.d.ts.map +1 -1
- package/dist/core/sandbox/config.js.map +1 -1
- package/dist/core/sandbox/lima-guest-binary.d.ts.map +1 -1
- package/dist/core/sandbox/lima-guest-binary.js.map +1 -1
- package/dist/core/sandbox/lima.d.ts +2 -0
- package/dist/core/sandbox/lima.d.ts.map +1 -1
- package/dist/core/sandbox/lima.js +3 -9
- package/dist/core/sandbox/lima.js.map +1 -1
- package/dist/core/sandbox/shared-lima-roots.d.ts.map +1 -1
- package/dist/core/sandbox/shared-lima-roots.js.map +1 -1
- package/dist/core/sandbox/update-shared-guest-binary.d.ts.map +1 -1
- package/dist/core/sandbox/update-shared-guest-binary.js.map +1 -1
- package/dist/core/session/constants.d.ts.map +1 -1
- package/dist/core/session/context-metadata.d.ts.map +1 -1
- package/dist/core/session/context-metadata.js.map +1 -1
- package/dist/core/session/context.d.ts.map +1 -1
- package/dist/core/session/context.js.map +1 -1
- package/dist/core/session/ids.d.ts.map +1 -1
- package/dist/core/session/ids.js.map +1 -1
- package/dist/core/session/in-memory-session-manager.d.ts.map +1 -1
- package/dist/core/session/in-memory-session-manager.js +0 -1
- package/dist/core/session/in-memory-session-manager.js.map +1 -1
- package/dist/core/session/in-memory-session.d.ts.map +1 -1
- package/dist/core/session/in-memory-session.js.map +1 -1
- package/dist/core/session/jsonl-errors.d.ts.map +1 -1
- package/dist/core/session/jsonl-errors.js +0 -11
- package/dist/core/session/jsonl-errors.js.map +1 -1
- package/dist/core/session/jsonl-helpers.d.ts.map +1 -1
- package/dist/core/session/jsonl-helpers.js.map +1 -1
- package/dist/core/session/local-session-manager.d.ts.map +1 -1
- package/dist/core/session/local-session-manager.js +4 -6
- package/dist/core/session/local-session-manager.js.map +1 -1
- package/dist/core/session/local-session.d.ts.map +1 -1
- package/dist/core/session/local-session.js.map +1 -1
- package/dist/core/session/migrations.d.ts.map +1 -1
- package/dist/core/session/migrations.js.map +1 -1
- package/dist/core/session/remote-session-client.d.ts.map +1 -1
- package/dist/core/session/remote-session-client.js +0 -6
- package/dist/core/session/remote-session-client.js.map +1 -1
- package/dist/core/session/remote-session-manager.d.ts.map +1 -1
- package/dist/core/session/remote-session-manager.js +0 -3
- package/dist/core/session/remote-session-manager.js.map +1 -1
- package/dist/core/session/remote-session.d.ts.map +1 -1
- package/dist/core/session/remote-session.js +0 -1
- package/dist/core/session/remote-session.js.map +1 -1
- package/dist/core/session/session-manager.d.ts.map +1 -1
- package/dist/core/session/session.d.ts.map +1 -1
- package/dist/core/session/session.js +1 -5
- package/dist/core/session/session.js.map +1 -1
- package/dist/core/session/stores/in-memory-session-store.d.ts.map +1 -1
- package/dist/core/session/stores/in-memory-session-store.js +7 -6
- package/dist/core/session/stores/in-memory-session-store.js.map +1 -1
- package/dist/core/session/stores/jsonl-session-store.d.ts.map +1 -1
- package/dist/core/session/stores/jsonl-session-store.js +6 -14
- package/dist/core/session/stores/jsonl-session-store.js.map +1 -1
- package/dist/core/session/stores/remote-session-store.d.ts.map +1 -1
- package/dist/core/session/stores/remote-session-store.js +3 -8
- package/dist/core/session/stores/remote-session-store.js.map +1 -1
- package/dist/core/session/stores/session-store.d.ts.map +1 -1
- package/dist/core/session/types.d.ts.map +1 -1
- package/dist/core/session/usage-ledger.d.ts.map +1 -1
- package/dist/core/session/usage-ledger.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js +0 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +9 -17
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +3 -2
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +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 +3 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts +1 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +34 -28
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/compress-context.d.ts.map +1 -1
- package/dist/core/tools/compress-context.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/hash-store.d.ts.map +1 -1
- package/dist/core/tools/hash-store.js.map +1 -1
- package/dist/core/tools/hashline/apply.d.ts.map +1 -1
- package/dist/core/tools/hashline/apply.js.map +1 -1
- package/dist/core/tools/hashline/hash.d.ts.map +1 -1
- package/dist/core/tools/hashline/hash.js.map +1 -1
- package/dist/core/tools/hashline/parse.d.ts.map +1 -1
- package/dist/core/tools/hashline/parse.js.map +1 -1
- package/dist/core/tools/hashline/resolve.d.ts.map +1 -1
- package/dist/core/tools/hashline/resolve.js.map +1 -1
- package/dist/core/tools/hashline-utils.d.ts.map +1 -1
- package/dist/core/tools/hashline-utils.js.map +1 -1
- 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.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/operations.d.ts +11 -0
- package/dist/core/tools/operations.d.ts.map +1 -1
- package/dist/core/tools/operations.js +54 -28
- package/dist/core/tools/operations.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +12 -18
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/replace-diff.d.ts.map +1 -1
- package/dist/core/tools/replace-diff.js.map +1 -1
- package/dist/core/tools/replace-normalize.d.ts.map +1 -1
- package/dist/core/tools/replace-normalize.js.map +1 -1
- package/dist/core/tools/replace-render.d.ts +1 -1
- package/dist/core/tools/replace-render.d.ts.map +1 -1
- package/dist/core/tools/replace-render.js.map +1 -1
- package/dist/core/tools/runtime.d.ts.map +1 -1
- package/dist/core/tools/runtime.js.map +1 -1
- package/dist/core/tools/session-history.d.ts.map +1 -1
- package/dist/core/tools/session-history.js.map +1 -1
- package/dist/core/tools/subagent-agents.d.ts.map +1 -1
- package/dist/core/tools/subagent-agents.js.map +1 -1
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js.map +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.map +1 -1
- package/dist/core/tools/websearch.d.ts.map +1 -1
- package/dist/core/tools/websearch.js.map +1 -1
- package/dist/core/tools/workspace-tool-host.d.ts +1 -0
- package/dist/core/tools/workspace-tool-host.d.ts.map +1 -1
- package/dist/core/tools/workspace-tool-host.js +36 -22
- package/dist/core/tools/workspace-tool-host.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +0 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/workspace-identity.d.ts.map +1 -1
- package/dist/daemon/activity-budget.d.ts.map +1 -1
- package/dist/daemon/activity-budget.js +2 -3
- package/dist/daemon/activity-budget.js.map +1 -1
- package/dist/daemon/command.d.ts.map +1 -1
- package/dist/daemon/command.js.map +1 -1
- package/dist/daemon/config.d.ts +2 -0
- package/dist/daemon/config.d.ts.map +1 -1
- package/dist/daemon/config.js +4 -0
- package/dist/daemon/config.js.map +1 -1
- package/dist/daemon/help.d.ts.map +1 -1
- package/dist/daemon/help.js +4 -3
- package/dist/daemon/help.js.map +1 -1
- package/dist/daemon/lsp-config.d.ts.map +1 -1
- package/dist/daemon/lsp-config.js.map +1 -1
- package/dist/daemon/outbound-budget.d.ts.map +1 -1
- package/dist/daemon/outbound-budget.js +2 -4
- package/dist/daemon/outbound-budget.js.map +1 -1
- package/dist/daemon/security.d.ts.map +1 -1
- package/dist/daemon/security.js.map +1 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/shared-connection.d.ts.map +1 -1
- package/dist/daemon/shared-connection.js +10 -15
- package/dist/daemon/shared-connection.js.map +1 -1
- package/dist/daemon/shared-revision.d.ts.map +1 -1
- package/dist/daemon/shared-revision.js +2 -1
- package/dist/daemon/shared-revision.js.map +1 -1
- package/dist/daemon/shared-roots.d.ts.map +1 -1
- package/dist/daemon/shared-roots.js +0 -1
- package/dist/daemon/shared-roots.js.map +1 -1
- package/dist/daemon/workspace-runtime.d.ts +2 -0
- package/dist/daemon/workspace-runtime.d.ts.map +1 -1
- package/dist/daemon/workspace-runtime.js +43 -15
- package/dist/daemon/workspace-runtime.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +8 -3
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +3 -10
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +4 -9
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +0 -3
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +1 -3
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +1 -3
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +6 -16
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +0 -5
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +1 -8
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +1 -6
- package/dist/modes/interactive/components/custom-message.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 +0 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +1 -7
- 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 +2 -8
- 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 +1 -9
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +8 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/hook-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/hook-execution.js +2 -5
- package/dist/modes/interactive/components/hook-execution.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.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +3 -9
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/message-card.d.ts.map +1 -1
- package/dist/modes/interactive/components/message-card.js +0 -1
- package/dist/modes/interactive/components/message-card.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +13 -28
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -12
- 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 +9 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +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.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +33 -58
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +0 -4
- 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 +0 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +1 -3
- 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 +0 -2
- 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 +0 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +9 -24
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +18 -34
- 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 +3 -6
- 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 +0 -4
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +13 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +162 -136
- 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 +0 -7
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js.map +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/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +10 -11
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +33 -2
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/binary-self-update.d.ts +25 -0
- package/dist/utils/binary-self-update.d.ts.map +1 -0
- package/dist/utils/binary-self-update.js +159 -0
- package/dist/utils/binary-self-update.js.map +1 -0
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/utils/deprecation.js.map +1 -1
- package/dist/utils/directory-completions.d.ts +8 -0
- package/dist/utils/directory-completions.d.ts.map +1 -1
- package/dist/utils/directory-completions.js +42 -1
- package/dist/utils/directory-completions.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/grip-user-agent.d.ts.map +1 -1
- package/dist/utils/grip-user-agent.js.map +1 -1
- package/dist/utils/html.d.ts.map +1 -1
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts.map +1 -1
- package/dist/utils/image-process.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js +10 -5
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +1 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/windows-self-update.d.ts.map +1 -1
- package/dist/utils/windows-self-update.js.map +1 -1
- package/docs/extensions.md +31 -1
- package/docs/sandbox.md +6 -0
- package/docs/sessions.md +1 -1
- package/docs/skills.md +4 -4
- package/docs/usage.md +2 -1
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +602 -834
- package/package.json +20 -21
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Core session management\n\nexport type { TuiMode } from \"@greppleai/grip-tui\";\n// Config paths\nexport { getAgentDir, VERSION } from \"./config.ts\";\nexport {\n\ttype ActivateSandboxDaemonOptions,\n\tAgentSession,\n\ttype AgentSessionConfig,\n\ttype AgentSessionEvent,\n\ttype AgentSessionEventListener,\n\ttype AgentSessionReloadResult,\n\ttype ConfigureRemoteSandboxOptions,\n\ttype ExecuteBashOptions,\n\ttype ForkableUserMessage,\n\ttype ModelCycleResult,\n\ttype NavigateTreeOptions,\n\ttype NavigateTreeResult,\n\ttype ParsedSkillBlock,\n\ttype PromptOptions,\n\tparseSkillBlock,\n\ttype QueuedMessages,\n\ttype RecordBashResultOptions,\n\ttype RegisterSessionToolOptions,\n\ttype SendCustomMessageOptions,\n\ttype SendUserMessageOptions,\n\ttype SessionRuleRegistration,\n\ttype SessionSkillRegistration,\n\ttype SessionStats,\n\ttype StructuredResponse,\n\ttype StructuredResponseOptions,\n} from \"./core/agent-session.ts\";\n// Auth and model registry\nexport {\n\ttype ApiKeyCredential,\n\ttype AuthApiKeyLookupOptions,\n\ttype AuthCredential,\n\ttype AuthStatus,\n\tAuthStorage,\n\ttype AuthStorageBackend,\n\tFileAuthStorageBackend,\n\tInMemoryAuthStorageBackend,\n\ttype OAuthCredential,\n} from \"./core/auth-storage.ts\";\n// Compaction\nexport {\n\ttype BranchPreparation,\n\ttype BranchSummaryResult,\n\ttype CollectEntriesResult,\n\tcollectEntriesForBranchSummary,\n\ttype GenerateBranchSummaryOptions,\n\tgenerateBranchSummary,\n\tprepareBranchEntries,\n} from \"./core/compaction/branch-summarization.ts\";\nexport {\n\ttype CompactionResult,\n\ttype CutPointResult,\n\tcalculateContextTokens,\n\tcompact,\n\tDEFAULT_COMPACTION_SETTINGS,\n\testimateTokens,\n\tfindCutPoint,\n\tfindTurnStartIndex,\n\tgenerateSummary,\n\tgetLastAssistantUsage,\n\tshouldCompact,\n} from \"./core/compaction/compaction.ts\";\nexport { type FileOperations, serializeConversation } from \"./core/compaction/utils.ts\";\nexport { createEventBus, type EventBus, type EventBusController } from \"./core/event-bus.ts\";\nexport { createExtensionRuntime, discoverAndLoadExtensions } from \"./core/extensions/loader.ts\";\nexport { ExtensionRunner } from \"./core/extensions/runner.ts\";\n// Extension system\nexport type {\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\tBashResult,\n\tBashToolCallEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBuildSystemPromptOptions,\n\tCompactOptions,\n\tContextEvent,\n\tContextUsage,\n\tCustomToolCallEvent,\n\tEditToolCallEvent,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionNotificationType,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionToolBackendExecOptions,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tGrepToolCallEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tMarkdownTransformContext,\n\tMarkdownTransformer,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tResolvedCommand,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\tSessionShutdownReason,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSubagentToolCallEvent,\n\tTerminalInputHandler,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolDefinition,\n\tToolExecutionMode,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWebsearchToolCallEvent,\n\tWebsearchToolResultEvent,\n\tWidgetPlacement,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n} from \"./core/extensions/types.ts\";\nexport {\n\tdefineTool,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisReadToolResult,\n\tisSubagentToolResult,\n\tisToolCallEventType,\n\tisWebsearchToolResult,\n\tisWriteToolResult,\n} from \"./core/extensions/types.ts\";\nexport { wrapRegisteredTool, wrapRegisteredTools } from \"./core/extensions/wrapper.ts\";\n// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)\nexport type { ReadonlyFooterDataProvider } from \"./core/footer-data-provider.ts\";\nexport {\n\ttype CreateGripAgentOptions,\n\tGripAgent,\n\ttype GripAgentDiagnostic,\n\ttype GripAgentHooksOptions,\n\ttype GripAgentRuntimeHost,\n\ttype GripAgentServices,\n\ttype GripAgentSessionOptions,\n\ttype ResolveGripAgentSessionOptionsContext,\n\ttype ResolveGripAgentSessionOptionsResult,\n} from \"./core/grip-agent.ts\";\nexport {\n\tformatInstructionResourcesForPrompt,\n\ttype InstructionResource,\n\ttype InstructionResourceFrontmatter,\n\tInstructionResourceLoader,\n\ttype InstructionResourceLoaderConfig,\n\ttype InstructionResourceLoaderOptions,\n\ttype InstructionResourceLoaderWithOperationsOptions,\n} from \"./core/instruction-resource-loader.ts\";\nexport {\n\tLspClient,\n\ttype LspClientOptions,\n\ttype LspClientOwnership,\n\ttype LspClientStartResult,\n\ttype LspConnectionState,\n\ttype LspDocumentSyncCapabilities,\n\ttype LspShutdownMode,\n} from \"./core/lsp/client.ts\";\nexport {\n\ttype LspClientInfo,\n\ttype LspConfigurationDiagnostic,\n\ttype LspConfigurationLayer,\n\ttype LspConfigurationMode,\n\ttype LspConfiguredServer,\n\ttype LspDisabledServer,\n\ttype LspDocumentSelector,\n\ttype LspJsonValue,\n\ttype LspNamedPipeTransport,\n\ttype LspPathMapping,\n\ttype LspProgrammaticTransport,\n\ttype LspServerEntry,\n\ttype LspServerFeatures,\n\ttype LspServerLifecycle,\n\ttype LspServerTimeouts,\n\ttype LspSpawnTransport,\n\ttype LspTcpTransport,\n\ttype LspTraceValue,\n\ttype LspTransport,\n\ttype LspUnixSocketTransport,\n\ttype LspWorkspaceRoot,\n\ttype ParseLspConfigurationResult,\n\tparseLspConfiguration,\n\ttype ResolvedLspConfiguration,\n\tresolveLspConfiguration,\n} from \"./core/lsp/config.ts\";\nexport {\n\ttype LoadLspConfigurationOptions,\n\ttype LoadLspConfigurationResult,\n\ttype LspConfigurationInput,\n\ttype LspConfigurationInputScope,\n\ttype LspConfigurationSourceDiagnostic,\n\ttype LspConfigurationSourceDiagnosticSeverity,\n\tloadLspConfiguration,\n\tresolveLspConfigurationLayerPaths,\n} from \"./core/lsp/config-loader.ts\";\nexport {\n\tcreateLspDiagnosticsTool,\n\tformatAutoDiagnosticsForChangedFile,\n\ttype LspDiagnosticsDetails,\n} from \"./core/lsp/diagnostics.ts\";\nexport {\n\tLspFileSync,\n\ttype LspSynchronizationFailure,\n\ttype LspSynchronizationResult,\n\ttype LspTrackedDocument,\n} from \"./core/lsp/file-sync.ts\";\nexport {\n\tcreateLspRuntimeState,\n\tcreateLspToolDefinitions,\n\tLSP_TOOL_NAMES,\n\ttype LspLifecycleOptions,\n\ttype LspRuntimeOwner,\n\ttype LspRuntimeState,\n\ttype LspSessionStatus,\n\ttype LspToolName,\n\tregisterLspLifecycleHandlers,\n\tregisterStandaloneLspLifecycleHandlers,\n} from \"./core/lsp/integration.ts\";\nexport {\n\tLspPathMapper,\n\ttype LspPathMappingResult,\n\ttype LspRouteFailure,\n\ttype LspRouteResult,\n\tLspRouter,\n\ttype LspRouterOptions,\n\ttype LspRouteTarget,\n} from \"./core/lsp/language-map.ts\";\nexport {\n\ttype LspClientRoute,\n\ttype LspClientRouteCollection,\n\ttype LspClientRouteFailure,\n\ttype LspClientStartedListener,\n\ttype LspClientsWillShutdownListener,\n\ttype LspConnectionFactoryResolver,\n\tLspManager,\n\ttype LspManagerOptions,\n\ttype LspServerStatus,\n\ttype LspToolFeature,\n} from \"./core/lsp/manager.ts\";\nexport {\n\tcreateLspDefinitionTool,\n\tcreateLspHoverTool,\n\tcreateLspReferencesTool,\n\ttype LspHoverDetails,\n\ttype LspLocationDetails,\n} from \"./core/lsp/navigation.ts\";\nexport {\n\tcreateLspCodeActionsTool,\n\tcreateLspRenameTool,\n\ttype LspCodeActionsDetails,\n\ttype LspRenameDetails,\n} from \"./core/lsp/refactor.ts\";\nexport {\n\tcreateManagedStdioConnectionFactory,\n\tcreateNamedPipeConnectionFactory,\n\tcreateTcpConnectionFactory,\n\tcreateUnixSocketConnectionFactory,\n\ttype LspConnectionDisposalMode,\n\ttype LspConnectionEndpoint,\n\ttype LspConnectionFactory,\n\ttype LspConnectionFactoryContext,\n\ttype LspConnectionFactoryRegistry,\n\ttype LspConnectionHandle,\n\ttype ManagedStdioConnectionOptions,\n\tresolveLspConnectionFactory,\n} from \"./core/lsp/transport.ts\";\nexport { convertToLlm } from \"./core/messages.ts\";\nexport { ModelRegistry } from \"./core/model-registry.ts\";\nexport type { ScopedModel } from \"./core/model-resolver.ts\";\nexport type {\n\tPackageManager,\n\tPathMetadata,\n\tProgressCallback,\n\tProgressEvent,\n\tResolvedPaths,\n\tResolvedResource,\n} from \"./core/package-manager.ts\";\nexport { DefaultPackageManager } from \"./core/package-manager.ts\";\nexport type { PromptTemplate } from \"./core/prompt-templates.ts\";\nexport type {\n\tProjectContextFile,\n\tResourceCollision,\n\tResourceDiagnostic,\n\tResourceLoader,\n} from \"./core/resource-loader.ts\";\nexport { DefaultResourceLoader, loadProjectContextFiles } from \"./core/resource-loader.ts\";\n// Rules\nexport {\n\tformatRulesForPrompt,\n\ttype LoadRulesFromDirOptions,\n\ttype LoadRulesOptions,\n\ttype LoadRulesResult,\n\ttype LoadRulesWithOperationsOptions,\n\tloadRules,\n\tloadRulesFromDir,\n\ttype Rule,\n\ttype RuleFrontmatter,\n\tRuleLoader,\n} from \"./core/rules.ts\";\nexport { CURRENT_SESSION_VERSION } from \"./core/session/constants.ts\";\nexport { buildSessionContext, getLatestCompactionEntry } from \"./core/session/context.ts\";\nexport { InMemorySessionManager } from \"./core/session/in-memory-session-manager.ts\";\nexport {\n\tJsonlDecodeError,\n\ttype JsonlDecodeKind,\n\ttype JsonlErrorPhase,\n\tJsonlSessionError,\n\ttype JsonlSessionErrorCode,\n\ttype JsonlWriteOutcome,\n} from \"./core/session/jsonl-errors.ts\";\nexport { LocalSessionManager } from \"./core/session/local-session-manager.ts\";\nexport { migrateSessionEntries, parseSessionEntries } from \"./core/session/migrations.ts\";\nexport {\n\ttype AppendRemoteSessionEntriesRequest,\n\ttype CreateRemoteSessionRequest,\n\ttype ForkRemoteSessionRequest,\n\ttype ImportRemoteSessionJsonlRequest,\n\tRemoteSessionClient,\n\tRemoteSessionClientError,\n\ttype RemoteSessionClientOptions,\n\ttype RemoteSessionOperation,\n\tRemoteSessionProtocolError,\n\ttype RemoteSessionSnapshot,\n\ttype ReplaceRemoteSessionSnapshotRequest,\n} from \"./core/session/remote-session-client.ts\";\nexport { RemoteSessionManager } from \"./core/session/remote-session-manager.ts\";\nexport type { SessionManager } from \"./core/session/session-manager.ts\";\nexport { SessionAlreadyExistsError } from \"./core/session/stores/jsonl-session-store.ts\";\nexport type {\n\tBranchSummaryEntry,\n\tCompactionEntry,\n\tCustomEntry,\n\tCustomMessageEntry,\n\tFileEntry,\n\tModelChangeEntry,\n\tNewSessionOptions,\n\tSessionContext,\n\tSessionEntry,\n\tSessionEntryBase,\n\tSessionHeader,\n\tSessionInfo,\n\tSessionInfoEntry,\n\tSessionMessageEntry,\n\tSessionTreeNode,\n\tThinkingLevelChangeEntry,\n} from \"./core/session/types.ts\";\nexport {\n\ttype CompactionSettings,\n\ttype FullscreenExitOutput,\n\ttype ImageSettings,\n\ttype MarkdownSettings,\n\ttype MermaidRenderingMode,\n\ttype PackageSource,\n\ttype RetrySettings,\n\tSettingsManager,\n\ttype ToolSettings,\n} from \"./core/settings-manager.ts\";\n// Skills\nexport {\n\tformatSkillsForPrompt,\n\ttype LoadSkillsFromDirOptions,\n\ttype LoadSkillsOptions,\n\ttype LoadSkillsResult,\n\ttype LoadSkillsWithOperationsOptions,\n\tloadSkills,\n\tloadSkillsFromDir,\n\ttype Skill,\n\ttype SkillFrontmatter,\n\tSkillLoader,\n} from \"./core/skills.ts\";\nexport type { SlashCommandInfo, SlashCommandSource } from \"./core/slash-commands.ts\";\nexport type { SourceInfo, SyntheticSourceInfoOptions } from \"./core/source-info.ts\";\nexport { createSyntheticSourceInfo } from \"./core/source-info.ts\";\n// Tools\nexport {\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tcreateBashTool,\n\tcreateBashToolDefinition,\n\tcreateLocalBashOperations,\n\ttype LocalBashOperationsOptions,\n} from \"./core/tools/bash.ts\";\nexport {\n\tcreateEditTool,\n\tcreateEditToolDefinition,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n} from \"./core/tools/edit.ts\";\nexport { withFileMutationQueue } from \"./core/tools/file-mutation-queue.ts\";\nexport {\n\tcreateFindTool,\n\tcreateFindToolDefinition,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n} from \"./core/tools/find.ts\";\nexport {\n\tcreateGrepTool,\n\tcreateGrepToolDefinition,\n\ttype GrepToolDetails,\n\ttype GrepToolInput,\n\ttype GrepToolOptions,\n} from \"./core/tools/grep.ts\";\nexport { createCodingTools, createReadOnlyTools, type ToolsOptions } from \"./core/tools/index.ts\";\nexport {\n\tcreateLsTool,\n\tcreateLsToolDefinition,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n} from \"./core/tools/ls.ts\";\nexport {\n\tcreateRemoteToolOperations,\n\tDeferredRemoteToolOperations,\n\ttype DeferredRemoteToolOperationsConnectOptions,\n\tLocalToolOperations,\n\ttype LocalToolOperationsOptions,\n\tRemoteToolOperations,\n\ttype RemoteToolOperationsConnectOptions,\n\ttype ToolAccessMode,\n\ttype ToolBackendInfo,\n\ttype ToolExecOptions,\n\ttype ToolExecResult,\n\ttype ToolFileStat,\n\ttype ToolGlobOptions,\n\ttype ToolGrepMatch,\n\ttype ToolGrepOptions,\n\ttype ToolGrepResult,\n\ttype ToolMkdirOptions,\n\ttype ToolOperations,\n} from \"./core/tools/operations.ts\";\nexport {\n\tcreateReadTool,\n\tcreateReadToolDefinition,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOperations,\n\ttype ReadToolOperationsSelection,\n\ttype ReadToolOptions,\n} from \"./core/tools/read.ts\";\nexport {\n\tcreateSessionEntryGetTool,\n\tcreateSessionEntryGetToolDefinition,\n\tcreateSessionSearchTool,\n\tcreateSessionSearchToolDefinition,\n\ttype SessionEntryGetToolDetails,\n\ttype SessionEntryGetToolInput,\n\ttype SessionSearchMatch,\n\ttype SessionSearchScope,\n\ttype SessionSearchToolDetails,\n\ttype SessionSearchToolInput,\n} from \"./core/tools/session-history.ts\";\nexport {\n\tcreateSubagentTool,\n\tcreateSubagentToolDefinition,\n\ttype SubagentDetails,\n\ttype SubagentResult,\n\ttype SubagentRunInfo,\n\ttype SubagentRunner,\n\ttype SubagentRunOutcome,\n\ttype SubagentRunRegistry,\n\ttype SubagentRunRequest,\n\ttype SubagentRunsToolInput,\n\ttype SubagentStatus,\n\ttype SubagentToolInput,\n\ttype SubagentToolOptions,\n\ttype SubagentUsageStats,\n} from \"./core/tools/subagent.ts\";\nexport type { AgentListFormatResult } from \"./core/tools/subagent-agents.ts\";\nexport {\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tformatSize,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n} from \"./core/tools/truncate.ts\";\nexport {\n\tcreateWebsearchTool,\n\tcreateWebsearchToolDefinition,\n\tparseBraveSearchResponse,\n\tparseDuckDuckGoResponse,\n\tparseFirecrawlSearchResponse,\n\tparseWebsearchToolOptions,\n\ttype WebsearchProvider,\n\ttype WebsearchResultItem,\n\ttype WebsearchSource,\n\ttype WebsearchToolDetails,\n\ttype WebsearchToolInput,\n\ttype WebsearchToolOptions,\n} from \"./core/tools/websearch.ts\";\nexport {\n\tWORKSPACE_TOOL_NAMES,\n\ttype WorkspaceToolCatalogEntry,\n\ttype WorkspaceToolDefinition,\n\tWorkspaceToolHost,\n\ttype WorkspaceToolHostOptions,\n\ttype WorkspaceToolInvocation,\n\ttype WorkspaceToolName,\n\ttype WorkspaceToolOptions,\n} from \"./core/tools/workspace-tool-host.ts\";\nexport {\n\tcreateWriteTool,\n\tcreateWriteToolDefinition,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n} from \"./core/tools/write.ts\";\nexport type { WorkspaceIdentity } from \"./core/workspace-identity.ts\";\n// Main entry point\nexport { type MainOptions, main } from \"./main.ts\";\n// UI components for extensions\nexport { AssistantMessageComponent } from \"./modes/interactive/components/assistant-message.ts\";\nexport { BashExecutionComponent } from \"./modes/interactive/components/bash-execution.ts\";\nexport { BorderedLoader } from \"./modes/interactive/components/bordered-loader.ts\";\nexport { BranchSummaryMessageComponent } from \"./modes/interactive/components/branch-summary-message.ts\";\nexport { CompactionSummaryMessageComponent } from \"./modes/interactive/components/compaction-summary-message.ts\";\nexport { CustomEditor } from \"./modes/interactive/components/custom-editor.ts\";\nexport { CustomMessageComponent } from \"./modes/interactive/components/custom-message.ts\";\nexport { type RenderDiffOptions, renderDiff } from \"./modes/interactive/components/diff.ts\";\nexport { DynamicBorder } from \"./modes/interactive/components/dynamic-border.ts\";\nexport { ExtensionEditorComponent } from \"./modes/interactive/components/extension-editor.ts\";\nexport { ExtensionInputComponent } from \"./modes/interactive/components/extension-input.ts\";\nexport { ExtensionSelectorComponent } from \"./modes/interactive/components/extension-selector.ts\";\nexport { FooterComponent } from \"./modes/interactive/components/footer.ts\";\nexport { keyHint, keyText, rawKeyHint } from \"./modes/interactive/components/keybinding-hints.ts\";\nexport { LoginDialogComponent } from \"./modes/interactive/components/login-dialog.ts\";\nexport { ModelSelectorComponent } from \"./modes/interactive/components/model-selector.ts\";\nexport { OAuthSelectorComponent } from \"./modes/interactive/components/oauth-selector.ts\";\nexport { SessionSelectorComponent } from \"./modes/interactive/components/session-selector.ts\";\nexport {\n\ttype SettingsCallbacks,\n\ttype SettingsConfig,\n\tSettingsSelectorComponent,\n} from \"./modes/interactive/components/settings-selector.ts\";\nexport { ShowImagesSelectorComponent } from \"./modes/interactive/components/show-images-selector.ts\";\nexport { SkillInvocationMessageComponent } from \"./modes/interactive/components/skill-invocation-message.ts\";\nexport { ThemeSelectorComponent } from \"./modes/interactive/components/theme-selector.ts\";\nexport { ThinkingSelectorComponent } from \"./modes/interactive/components/thinking-selector.ts\";\nexport {\n\tToolExecutionComponent,\n\ttype ToolExecutionDisplayResult,\n\ttype ToolExecutionOptions,\n} from \"./modes/interactive/components/tool-execution.ts\";\nexport { TreeSelectorComponent } from \"./modes/interactive/components/tree-selector.ts\";\nexport { UserMessageComponent } from \"./modes/interactive/components/user-message.ts\";\nexport { UserMessageSelectorComponent } from \"./modes/interactive/components/user-message-selector.ts\";\nexport { truncateToVisualLines, type VisualTruncateResult } from \"./modes/interactive/components/visual-truncate.ts\";\n// Run modes for programmatic SDK usage\nexport { InteractiveMode, type InteractiveModeOptions } from \"./modes/interactive/interactive-mode.ts\";\n// Theme utilities for custom tools and extensions\nexport {\n\tgetLanguageFromPath,\n\tgetMarkdownTheme,\n\tgetSelectListTheme,\n\tgetSettingsListTheme,\n\thighlightCode,\n\tinitTheme,\n\tTheme,\n\ttype ThemeColor,\n} from \"./modes/interactive/theme/theme.ts\";\nexport type { JsonAgentSessionEvent } from \"./modes/json-event.ts\";\nexport { type PrintModeOptions, type PrintOutputMode, runPrintMode } from \"./modes/print-mode.ts\";\nexport {\n\ttype ModelInfo,\n\tRpcClient,\n\ttype RpcClientOptions,\n\ttype RpcDaemonSandboxOptions,\n\ttype RpcEventListener,\n\ttype RpcToolHandler,\n} from \"./modes/rpc/rpc-client.ts\";\nexport { runRpcMode } from \"./modes/rpc/rpc-mode.ts\";\nexport type {\n\tRpcClientListSessionsResponse,\n\tRpcCommand,\n\tRpcInstructionDefinition,\n\tRpcListSessionsOptions,\n\tRpcListSessionsResponse,\n\tRpcResponse,\n\tRpcSessionState,\n\tRpcToolCallRequest,\n\tRpcToolDefinition,\n} from \"./modes/rpc/rpc-types.ts\";\n// Clipboard utilities\nexport { copyToClipboard } from \"./utils/clipboard.ts\";\nexport { parseFrontmatter, stripFrontmatter } from \"./utils/frontmatter.ts\";\n// Shell utilities\nexport { getShellConfig } from \"./utils/shell.ts\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Core session management\n\nexport type { TuiMode } from \"@greppleai/grip-tui\";\n// Config paths\nexport { getAgentDir, VERSION } from \"./config.ts\";\nexport {\n\ttype ActivateSandboxDaemonOptions,\n\tAgentSession,\n\ttype AgentSessionConfig,\n\ttype AgentSessionEvent,\n\ttype AgentSessionEventListener,\n\ttype AgentSessionReloadResult,\n\ttype ConfigureRemoteSandboxOptions,\n\ttype ExecuteBashOptions,\n\ttype ForkableUserMessage,\n\ttype ModelCycleResult,\n\ttype NavigateTreeOptions,\n\ttype NavigateTreeResult,\n\ttype ParsedSkillBlock,\n\ttype PromptOptions,\n\tparseSkillBlock,\n\ttype QueuedMessages,\n\ttype RecordBashResultOptions,\n\ttype RegisterSessionToolOptions,\n\ttype SendCustomMessageOptions,\n\ttype SendUserMessageOptions,\n\ttype SessionRuleRegistration,\n\ttype SessionSkillRegistration,\n\ttype SessionStats,\n\ttype StructuredResponse,\n\ttype StructuredResponseOptions,\n} from \"./core/agent-session.ts\";\n// Auth and model registry\nexport {\n\ttype ApiKeyCredential,\n\ttype AuthApiKeyLookupOptions,\n\ttype AuthCredential,\n\ttype AuthStatus,\n\tAuthStorage,\n\ttype AuthStorageBackend,\n\tFileAuthStorageBackend,\n\tInMemoryAuthStorageBackend,\n\ttype OAuthCredential,\n} from \"./core/auth-storage.ts\";\n// Compaction\nexport {\n\ttype BranchPreparation,\n\ttype BranchSummaryResult,\n\ttype CollectEntriesResult,\n\tcollectEntriesForBranchSummary,\n\ttype GenerateBranchSummaryOptions,\n\tgenerateBranchSummary,\n\tprepareBranchEntries,\n} from \"./core/compaction/branch-summarization.ts\";\nexport {\n\ttype CompactionResult,\n\ttype CutPointResult,\n\tcalculateContextTokens,\n\tcompact,\n\tDEFAULT_COMPACTION_SETTINGS,\n\testimateTokens,\n\tfindCutPoint,\n\tfindTurnStartIndex,\n\tgenerateSummary,\n\tgetLastAssistantUsage,\n\tshouldCompact,\n} from \"./core/compaction/compaction.ts\";\nexport { type FileOperations, serializeConversation } from \"./core/compaction/utils.ts\";\nexport { createEventBus, type EventBus, type EventBusController } from \"./core/event-bus.ts\";\nexport { createExtensionRuntime, discoverAndLoadExtensions } from \"./core/extensions/loader.ts\";\nexport { ExtensionRunner } from \"./core/extensions/runner.ts\";\n// Extension system\nexport type {\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\tBashResult,\n\tBashToolCallEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBuildSystemPromptOptions,\n\tCompactOptions,\n\tContextEvent,\n\tContextUsage,\n\tCustomToolCallEvent,\n\tEditToolCallEvent,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionHostCommandOptions,\n\tExtensionHostProcessOptions,\n\tExtensionNotificationType,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionToolBackendExecOptions,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tGrepToolCallEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tMarkdownTransformContext,\n\tMarkdownTransformer,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tResolvedCommand,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\tSessionShutdownReason,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSubagentToolCallEvent,\n\tTerminalInputHandler,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolDefinition,\n\tToolExecutionMode,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWebsearchToolCallEvent,\n\tWebsearchToolResultEvent,\n\tWidgetPlacement,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n} from \"./core/extensions/types.ts\";\nexport {\n\tdefineTool,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisReadToolResult,\n\tisSubagentToolResult,\n\tisToolCallEventType,\n\tisWebsearchToolResult,\n\tisWriteToolResult,\n} from \"./core/extensions/types.ts\";\nexport { wrapRegisteredTool, wrapRegisteredTools } from \"./core/extensions/wrapper.ts\";\n// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)\nexport type { ReadonlyFooterDataProvider } from \"./core/footer-data-provider.ts\";\nexport {\n\ttype CreateGripAgentOptions,\n\tGripAgent,\n\ttype GripAgentDiagnostic,\n\ttype GripAgentHooksOptions,\n\ttype GripAgentRuntimeHost,\n\ttype GripAgentServices,\n\ttype GripAgentSessionOptions,\n\ttype ResolveGripAgentSessionOptionsContext,\n\ttype ResolveGripAgentSessionOptionsResult,\n} from \"./core/grip-agent.ts\";\nexport {\n\tformatInstructionResourcesForPrompt,\n\ttype InstructionResource,\n\ttype InstructionResourceFrontmatter,\n\tInstructionResourceLoader,\n\ttype InstructionResourceLoaderConfig,\n\ttype InstructionResourceLoaderOptions,\n\ttype InstructionResourceLoaderWithOperationsOptions,\n} from \"./core/instruction-resource-loader.ts\";\nexport {\n\tLspClient,\n\ttype LspClientOptions,\n\ttype LspClientOwnership,\n\ttype LspClientStartResult,\n\ttype LspConnectionState,\n\ttype LspDocumentSyncCapabilities,\n\ttype LspShutdownMode,\n} from \"./core/lsp/client.ts\";\nexport {\n\ttype LspClientInfo,\n\ttype LspConfigurationDiagnostic,\n\ttype LspConfigurationLayer,\n\ttype LspConfigurationMode,\n\ttype LspConfiguredServer,\n\ttype LspDisabledServer,\n\ttype LspDocumentSelector,\n\ttype LspJsonValue,\n\ttype LspNamedPipeTransport,\n\ttype LspPathMapping,\n\ttype LspProgrammaticTransport,\n\ttype LspServerEntry,\n\ttype LspServerFeatures,\n\ttype LspServerLifecycle,\n\ttype LspServerTimeouts,\n\ttype LspSpawnTransport,\n\ttype LspTcpTransport,\n\ttype LspTraceValue,\n\ttype LspTransport,\n\ttype LspUnixSocketTransport,\n\ttype LspWorkspaceRoot,\n\ttype ParseLspConfigurationResult,\n\tparseLspConfiguration,\n\ttype ResolvedLspConfiguration,\n\tresolveLspConfiguration,\n} from \"./core/lsp/config.ts\";\nexport {\n\ttype LoadLspConfigurationOptions,\n\ttype LoadLspConfigurationResult,\n\ttype LspConfigurationInput,\n\ttype LspConfigurationInputScope,\n\ttype LspConfigurationSourceDiagnostic,\n\ttype LspConfigurationSourceDiagnosticSeverity,\n\tloadLspConfiguration,\n\tresolveLspConfigurationLayerPaths,\n} from \"./core/lsp/config-loader.ts\";\nexport {\n\tcreateLspDiagnosticsTool,\n\tformatAutoDiagnosticsForChangedFile,\n\ttype LspDiagnosticsDetails,\n} from \"./core/lsp/diagnostics.ts\";\nexport {\n\tLspFileSync,\n\ttype LspSynchronizationFailure,\n\ttype LspSynchronizationResult,\n\ttype LspTrackedDocument,\n} from \"./core/lsp/file-sync.ts\";\nexport {\n\tcreateLspRuntimeState,\n\tcreateLspToolDefinitions,\n\tLSP_TOOL_NAMES,\n\ttype LspLifecycleOptions,\n\ttype LspRuntimeOwner,\n\ttype LspRuntimeState,\n\ttype LspSessionStatus,\n\ttype LspToolName,\n\tregisterLspLifecycleHandlers,\n\tregisterStandaloneLspLifecycleHandlers,\n} from \"./core/lsp/integration.ts\";\nexport {\n\tLspPathMapper,\n\ttype LspPathMappingResult,\n\ttype LspRouteFailure,\n\ttype LspRouteResult,\n\tLspRouter,\n\ttype LspRouterOptions,\n\ttype LspRouteTarget,\n} from \"./core/lsp/language-map.ts\";\nexport {\n\ttype LspClientRoute,\n\ttype LspClientRouteCollection,\n\ttype LspClientRouteFailure,\n\ttype LspClientStartedListener,\n\ttype LspClientsWillShutdownListener,\n\ttype LspConnectionFactoryResolver,\n\tLspManager,\n\ttype LspManagerOptions,\n\ttype LspServerStatus,\n\ttype LspToolFeature,\n} from \"./core/lsp/manager.ts\";\nexport {\n\tcreateLspDefinitionTool,\n\tcreateLspHoverTool,\n\tcreateLspReferencesTool,\n\ttype LspHoverDetails,\n\ttype LspLocationDetails,\n} from \"./core/lsp/navigation.ts\";\nexport {\n\tcreateLspCodeActionsTool,\n\tcreateLspRenameTool,\n\ttype LspCodeActionsDetails,\n\ttype LspRenameDetails,\n} from \"./core/lsp/refactor.ts\";\nexport {\n\tcreateManagedStdioConnectionFactory,\n\tcreateNamedPipeConnectionFactory,\n\tcreateTcpConnectionFactory,\n\tcreateUnixSocketConnectionFactory,\n\ttype LspConnectionDisposalMode,\n\ttype LspConnectionEndpoint,\n\ttype LspConnectionFactory,\n\ttype LspConnectionFactoryContext,\n\ttype LspConnectionFactoryRegistry,\n\ttype LspConnectionHandle,\n\ttype ManagedStdioConnectionOptions,\n\tresolveLspConnectionFactory,\n} from \"./core/lsp/transport.ts\";\nexport { convertToLlm } from \"./core/messages.ts\";\nexport { ModelRegistry } from \"./core/model-registry.ts\";\nexport type { ScopedModel } from \"./core/model-resolver.ts\";\nexport type {\n\tPackageManager,\n\tPathMetadata,\n\tProgressCallback,\n\tProgressEvent,\n\tResolvedPaths,\n\tResolvedResource,\n} from \"./core/package-manager.ts\";\nexport { DefaultPackageManager } from \"./core/package-manager.ts\";\nexport type { PromptTemplate } from \"./core/prompt-templates.ts\";\nexport type {\n\tProjectContextFile,\n\tResourceCollision,\n\tResourceDiagnostic,\n\tResourceLoader,\n} from \"./core/resource-loader.ts\";\nexport { DefaultResourceLoader, loadProjectContextFiles } from \"./core/resource-loader.ts\";\n// Rules\nexport {\n\tformatRulesForPrompt,\n\ttype LoadRulesFromDirOptions,\n\ttype LoadRulesOptions,\n\ttype LoadRulesResult,\n\ttype LoadRulesWithOperationsOptions,\n\tloadRules,\n\tloadRulesFromDir,\n\ttype Rule,\n\ttype RuleFrontmatter,\n\tRuleLoader,\n} from \"./core/rules.ts\";\nexport { CURRENT_SESSION_VERSION } from \"./core/session/constants.ts\";\nexport { buildSessionContext, getLatestCompactionEntry } from \"./core/session/context.ts\";\nexport { InMemorySessionManager } from \"./core/session/in-memory-session-manager.ts\";\nexport {\n\tJsonlDecodeError,\n\ttype JsonlDecodeKind,\n\ttype JsonlErrorPhase,\n\tJsonlSessionError,\n\ttype JsonlSessionErrorCode,\n\ttype JsonlWriteOutcome,\n} from \"./core/session/jsonl-errors.ts\";\nexport { LocalSessionManager } from \"./core/session/local-session-manager.ts\";\nexport { migrateSessionEntries, parseSessionEntries } from \"./core/session/migrations.ts\";\nexport {\n\ttype AppendRemoteSessionEntriesRequest,\n\ttype CreateRemoteSessionRequest,\n\ttype ForkRemoteSessionRequest,\n\ttype ImportRemoteSessionJsonlRequest,\n\tRemoteSessionClient,\n\tRemoteSessionClientError,\n\ttype RemoteSessionClientOptions,\n\ttype RemoteSessionOperation,\n\tRemoteSessionProtocolError,\n\ttype RemoteSessionSnapshot,\n\ttype ReplaceRemoteSessionSnapshotRequest,\n} from \"./core/session/remote-session-client.ts\";\nexport { RemoteSessionManager } from \"./core/session/remote-session-manager.ts\";\nexport type { SessionManager } from \"./core/session/session-manager.ts\";\nexport { SessionAlreadyExistsError } from \"./core/session/stores/jsonl-session-store.ts\";\nexport type {\n\tBranchSummaryEntry,\n\tCompactionEntry,\n\tCustomEntry,\n\tCustomMessageEntry,\n\tFileEntry,\n\tModelChangeEntry,\n\tNewSessionOptions,\n\tSessionContext,\n\tSessionEntry,\n\tSessionEntryBase,\n\tSessionHeader,\n\tSessionInfo,\n\tSessionInfoEntry,\n\tSessionMessageEntry,\n\tSessionTreeNode,\n\tThinkingLevelChangeEntry,\n} from \"./core/session/types.ts\";\nexport {\n\ttype CompactionSettings,\n\ttype FullscreenExitOutput,\n\ttype ImageSettings,\n\ttype MarkdownSettings,\n\ttype MermaidRenderingMode,\n\ttype PackageSource,\n\ttype RetrySettings,\n\tSettingsManager,\n\ttype ToolSettings,\n} from \"./core/settings-manager.ts\";\n// Skills\nexport {\n\tformatSkillsForPrompt,\n\ttype LoadSkillsFromDirOptions,\n\ttype LoadSkillsOptions,\n\ttype LoadSkillsResult,\n\ttype LoadSkillsWithOperationsOptions,\n\tloadSkills,\n\tloadSkillsFromDir,\n\ttype Skill,\n\ttype SkillFrontmatter,\n\tSkillLoader,\n} from \"./core/skills.ts\";\nexport type { SlashCommandInfo, SlashCommandSource } from \"./core/slash-commands.ts\";\nexport type { SourceInfo, SyntheticSourceInfoOptions } from \"./core/source-info.ts\";\nexport { createSyntheticSourceInfo } from \"./core/source-info.ts\";\n// Tools\nexport {\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tcreateBashTool,\n\tcreateBashToolDefinition,\n\tcreateLocalBashOperations,\n\ttype LocalBashOperationsOptions,\n} from \"./core/tools/bash.ts\";\nexport {\n\tcreateEditTool,\n\tcreateEditToolDefinition,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n} from \"./core/tools/edit.ts\";\nexport { withFileMutationQueue } from \"./core/tools/file-mutation-queue.ts\";\nexport {\n\tcreateFindTool,\n\tcreateFindToolDefinition,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n} from \"./core/tools/find.ts\";\nexport {\n\tcreateGrepTool,\n\tcreateGrepToolDefinition,\n\ttype GrepToolDetails,\n\ttype GrepToolInput,\n\ttype GrepToolOptions,\n} from \"./core/tools/grep.ts\";\nexport { createCodingTools, createReadOnlyTools, type ToolsOptions } from \"./core/tools/index.ts\";\nexport {\n\tcreateLsTool,\n\tcreateLsToolDefinition,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n} from \"./core/tools/ls.ts\";\nexport {\n\tcreateRemoteToolOperations,\n\tDeferredRemoteToolOperations,\n\ttype DeferredRemoteToolOperationsConnectOptions,\n\tLocalToolOperations,\n\ttype LocalToolOperationsOptions,\n\tRemoteToolOperations,\n\ttype RemoteToolOperationsConnectOptions,\n\ttype ToolAccessMode,\n\ttype ToolBackendInfo,\n\ttype ToolExecOptions,\n\ttype ToolExecResult,\n\ttype ToolFileStat,\n\ttype ToolGlobOptions,\n\ttype ToolGrepMatch,\n\ttype ToolGrepOptions,\n\ttype ToolGrepResult,\n\ttype ToolMkdirOptions,\n\ttype ToolOperations,\n} from \"./core/tools/operations.ts\";\nexport {\n\tcreateReadTool,\n\tcreateReadToolDefinition,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOperations,\n\ttype ReadToolOperationsSelection,\n\ttype ReadToolOptions,\n} from \"./core/tools/read.ts\";\nexport {\n\tcreateSessionEntryGetTool,\n\tcreateSessionEntryGetToolDefinition,\n\tcreateSessionSearchTool,\n\tcreateSessionSearchToolDefinition,\n\ttype SessionEntryGetToolDetails,\n\ttype SessionEntryGetToolInput,\n\ttype SessionSearchMatch,\n\ttype SessionSearchScope,\n\ttype SessionSearchToolDetails,\n\ttype SessionSearchToolInput,\n} from \"./core/tools/session-history.ts\";\nexport {\n\tcreateSubagentTool,\n\tcreateSubagentToolDefinition,\n\ttype SubagentDetails,\n\ttype SubagentResult,\n\ttype SubagentRunInfo,\n\ttype SubagentRunner,\n\ttype SubagentRunOutcome,\n\ttype SubagentRunRegistry,\n\ttype SubagentRunRequest,\n\ttype SubagentRunsToolInput,\n\ttype SubagentStatus,\n\ttype SubagentToolInput,\n\ttype SubagentToolOptions,\n\ttype SubagentUsageStats,\n} from \"./core/tools/subagent.ts\";\nexport type { AgentListFormatResult } from \"./core/tools/subagent-agents.ts\";\nexport {\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tformatSize,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n} from \"./core/tools/truncate.ts\";\nexport {\n\tcreateWebsearchTool,\n\tcreateWebsearchToolDefinition,\n\tparseBraveSearchResponse,\n\tparseDuckDuckGoResponse,\n\tparseFirecrawlSearchResponse,\n\tparseWebsearchToolOptions,\n\ttype WebsearchProvider,\n\ttype WebsearchResultItem,\n\ttype WebsearchSource,\n\ttype WebsearchToolDetails,\n\ttype WebsearchToolInput,\n\ttype WebsearchToolOptions,\n} from \"./core/tools/websearch.ts\";\nexport {\n\tWORKSPACE_TOOL_NAMES,\n\ttype WorkspaceToolCatalogEntry,\n\ttype WorkspaceToolDefinition,\n\tWorkspaceToolHost,\n\ttype WorkspaceToolHostOptions,\n\ttype WorkspaceToolInvocation,\n\ttype WorkspaceToolName,\n\ttype WorkspaceToolOptions,\n} from \"./core/tools/workspace-tool-host.ts\";\nexport {\n\tcreateWriteTool,\n\tcreateWriteToolDefinition,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n} from \"./core/tools/write.ts\";\nexport type { WorkspaceIdentity } from \"./core/workspace-identity.ts\";\n// Main entry point\nexport { type MainOptions, main } from \"./main.ts\";\n// UI components for extensions\nexport { AssistantMessageComponent } from \"./modes/interactive/components/assistant-message.ts\";\nexport { BashExecutionComponent } from \"./modes/interactive/components/bash-execution.ts\";\nexport { BorderedLoader } from \"./modes/interactive/components/bordered-loader.ts\";\nexport { BranchSummaryMessageComponent } from \"./modes/interactive/components/branch-summary-message.ts\";\nexport { CompactionSummaryMessageComponent } from \"./modes/interactive/components/compaction-summary-message.ts\";\nexport { CustomEditor } from \"./modes/interactive/components/custom-editor.ts\";\nexport { CustomMessageComponent } from \"./modes/interactive/components/custom-message.ts\";\nexport { type RenderDiffOptions, renderDiff } from \"./modes/interactive/components/diff.ts\";\nexport { DynamicBorder } from \"./modes/interactive/components/dynamic-border.ts\";\nexport { ExtensionEditorComponent } from \"./modes/interactive/components/extension-editor.ts\";\nexport { ExtensionInputComponent } from \"./modes/interactive/components/extension-input.ts\";\nexport { ExtensionSelectorComponent } from \"./modes/interactive/components/extension-selector.ts\";\nexport { FooterComponent } from \"./modes/interactive/components/footer.ts\";\nexport { keyHint, keyText, rawKeyHint } from \"./modes/interactive/components/keybinding-hints.ts\";\nexport { LoginDialogComponent } from \"./modes/interactive/components/login-dialog.ts\";\nexport { ModelSelectorComponent } from \"./modes/interactive/components/model-selector.ts\";\nexport { OAuthSelectorComponent } from \"./modes/interactive/components/oauth-selector.ts\";\nexport { SessionSelectorComponent } from \"./modes/interactive/components/session-selector.ts\";\nexport {\n\ttype SettingsCallbacks,\n\ttype SettingsConfig,\n\tSettingsSelectorComponent,\n} from \"./modes/interactive/components/settings-selector.ts\";\nexport { ShowImagesSelectorComponent } from \"./modes/interactive/components/show-images-selector.ts\";\nexport { SkillInvocationMessageComponent } from \"./modes/interactive/components/skill-invocation-message.ts\";\nexport { ThemeSelectorComponent } from \"./modes/interactive/components/theme-selector.ts\";\nexport { ThinkingSelectorComponent } from \"./modes/interactive/components/thinking-selector.ts\";\nexport {\n\tToolExecutionComponent,\n\ttype ToolExecutionDisplayResult,\n\ttype ToolExecutionOptions,\n} from \"./modes/interactive/components/tool-execution.ts\";\nexport { TreeSelectorComponent } from \"./modes/interactive/components/tree-selector.ts\";\nexport { UserMessageComponent } from \"./modes/interactive/components/user-message.ts\";\nexport { UserMessageSelectorComponent } from \"./modes/interactive/components/user-message-selector.ts\";\nexport { truncateToVisualLines, type VisualTruncateResult } from \"./modes/interactive/components/visual-truncate.ts\";\n// Run modes for programmatic SDK usage\nexport { InteractiveMode, type InteractiveModeOptions } from \"./modes/interactive/interactive-mode.ts\";\n// Theme utilities for custom tools and extensions\nexport {\n\tgetLanguageFromPath,\n\tgetMarkdownTheme,\n\tgetSelectListTheme,\n\tgetSettingsListTheme,\n\thighlightCode,\n\tinitTheme,\n\tTheme,\n\ttype ThemeColor,\n} from \"./modes/interactive/theme/theme.ts\";\nexport type { JsonAgentSessionEvent } from \"./modes/json-event.ts\";\nexport { type PrintModeOptions, type PrintOutputMode, runPrintMode } from \"./modes/print-mode.ts\";\nexport {\n\ttype ModelInfo,\n\tRpcClient,\n\ttype RpcClientOptions,\n\ttype RpcDaemonSandboxOptions,\n\ttype RpcEventListener,\n\ttype RpcToolHandler,\n} from \"./modes/rpc/rpc-client.ts\";\nexport { runRpcMode } from \"./modes/rpc/rpc-mode.ts\";\nexport type {\n\tRpcClientListSessionsResponse,\n\tRpcCommand,\n\tRpcInstructionDefinition,\n\tRpcListSessionsOptions,\n\tRpcListSessionsResponse,\n\tRpcResponse,\n\tRpcSessionState,\n\tRpcToolCallRequest,\n\tRpcToolDefinition,\n} from \"./modes/rpc/rpc-types.ts\";\n// Clipboard utilities\nexport { copyToClipboard } from \"./utils/clipboard.ts\";\nexport { parseFrontmatter, stripFrontmatter } from \"./utils/frontmatter.ts\";\n// Shell utilities\nexport { getShellConfig } from \"./utils/shell.ts\";\n"]}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAGN,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,MAAM,6BAA6B,CAAC;AAiBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AA0a7D,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,eAAe,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAkCjC;AACD,MAAM,WAAW,6BAA6B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,CAAC,yBAAyB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,yBAAyB,IAAI,MAAM,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAC1E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7D;AAmED,mFAAmF;AACnF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,6BAA6B,GAAG,sBAAsB,CA8C3G;AAED,MAAM,WAAW,WAAW;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5F,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC9C;AAuKD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,iBAmK/D","sourcesContent":["/**\n * Main entry point for the coding agent CLI.\n *\n * This file handles CLI argument parsing and translates them into\n * GripAgent options. GripAgent does the heavy lifting.\n */\n\nimport { createInterface } from \"node:readline\";\nimport { modelsAreEqual } from \"@greppleai/grip-ai\";\nimport { ProcessTerminal, setKeybindings, TuiMainScreen } from \"@greppleai/grip-tui\";\nimport chalk from \"chalk\";\nimport { type Args, parseArgs, printHelp } from \"./cli/args.ts\";\nimport { processFileArguments } from \"./cli/file-processor.ts\";\nimport { buildInitialMessage, type InitialMessageResult } from \"./cli/initial-message.ts\";\nimport { listModels } from \"./cli/list-models.ts\";\nimport { selectSession } from \"./cli/session-picker.ts\";\nimport {\n\tENV_REMOTE_PROJECT_ID,\n\tENV_REMOTE_SESSION_BASE_URL,\n\tENV_REMOTE_SESSION_TOKEN,\n\tENV_SESSION_DIR,\n\texpandTildePath,\n\tgetAgentDir,\n\tgetPackageDir,\n\tVERSION,\n} from \"./config.ts\";\nimport { AuthStorage } from \"./core/auth-storage.ts\";\nimport { exportFromFile } from \"./core/export-html/index.ts\";\nimport type { ExtensionFactory } from \"./core/extensions/types.ts\";\nimport type { GripAgentAppMode, GripAgentDiagnostic, GripAgentSessionOptions } from \"./core/grip-agent.ts\";\nimport { GripAgent, isFatalGripAgentDiagnostic } from \"./core/grip-agent.ts\";\nimport {\n\tcanonicalProjectHookIdentity,\n\thasProjectHookConfiguration,\n\ttype ProjectHookTrustResult,\n\tProjectHookTrustStore,\n} from \"./core/hooks/trust-store.ts\";\nimport { configureHttpDispatcher } from \"./core/http-dispatcher.ts\";\nimport { KeybindingsManager } from \"./core/keybindings.ts\";\nimport type { LspConfigurationInput } from \"./core/lsp/config-loader.ts\";\nimport type { ModelRegistry } from \"./core/model-registry.ts\";\nimport { resolveCliModel, resolveModelScope, type ScopedModel } from \"./core/model-resolver.ts\";\nimport { InMemorySessionManager } from \"./core/session/in-memory-session-manager.ts\";\nimport { LocalSessionManager } from \"./core/session/local-session-manager.ts\";\nimport { RemoteSessionManager } from \"./core/session/remote-session-manager.ts\";\nimport type { Session } from \"./core/session/session.ts\";\nimport type { SessionManager } from \"./core/session/session-manager.ts\";\nimport {\n\tformatMissingSessionCwdPrompt,\n\tgetMissingSessionCwdIssue,\n\tMissingSessionCwdError,\n\ttype SessionCwdIssue,\n} from \"./core/session-cwd.ts\";\nimport { SettingsManager } from \"./core/settings-manager.ts\";\nimport { resetTimings, time } from \"./core/timings.ts\";\nimport {\n\tcreateRemoteToolOperations,\n\tDeferredRemoteToolOperations,\n\ttype ToolOperations,\n} from \"./core/tools/operations.ts\";\nimport { runDaemonCommand } from \"./daemon/command.ts\";\nimport { isDaemonCommand } from \"./daemon/config.ts\";\nimport { runMigrations, showDeprecationWarnings } from \"./migrations.ts\";\nimport { ExtensionSelectorComponent } from \"./modes/interactive/components/extension-selector.ts\";\nimport { initTheme, stopThemeWatcher } from \"./modes/interactive/theme/theme.ts\";\nimport { handleConfigCommand, handlePackageCommand } from \"./package-manager-cli.ts\";\nimport { isLocalPath, normalizePath, resolvePath } from \"./utils/paths.ts\";\nimport { cleanupWindowsSelfUpdateQuarantine } from \"./utils/windows-self-update.ts\";\n\nfunction collectSettingsDiagnostics(settingsManager: SettingsManager, context: string): GripAgentDiagnostic[] {\n\treturn settingsManager.drainErrors().map(({ scope, error }) => ({\n\t\ttype: \"warning\",\n\t\tmessage: `(${context}, ${scope} settings) ${error.message}`,\n\t}));\n}\n\nfunction reportDiagnostics(diagnostics: readonly GripAgentDiagnostic[]): void {\n\tfor (const diagnostic of diagnostics) {\n\t\tconst color = diagnostic.type === \"error\" ? chalk.red : diagnostic.type === \"warning\" ? chalk.yellow : chalk.dim;\n\t\tconst prefix = diagnostic.type === \"error\" ? \"Error: \" : diagnostic.type === \"warning\" ? \"Warning: \" : \"\";\n\t\tconsole.error(color(`${prefix}${diagnostic.message}`));\n\t}\n}\n\nfunction isTruthyEnvFlag(value: string | undefined): boolean {\n\tif (!value) return false;\n\treturn value === \"1\" || value.toLowerCase() === \"true\" || value.toLowerCase() === \"yes\";\n}\n\nfunction resolveAppMode(parsed: Args, stdinIsTTY: boolean): GripAgentAppMode {\n\tif (parsed.mode === \"rpc\") {\n\t\treturn \"rpc\";\n\t}\n\tif (parsed.mode === \"json\") {\n\t\treturn \"json\";\n\t}\n\tif (parsed.print || !stdinIsTTY) {\n\t\treturn \"print\";\n\t}\n\treturn \"interactive\";\n}\n\nasync function prepareInitialMessage(\n\tparsed: Args,\n\tautoResizeImages: boolean,\n\tstdinContent?: string,\n): Promise<InitialMessageResult> {\n\tif (parsed.fileArgs.length === 0) {\n\t\treturn buildInitialMessage({ parsed, stdinContent });\n\t}\n\n\tconst { text, images } = await processFileArguments(parsed.fileArgs, { autoResizeImages });\n\treturn buildInitialMessage({\n\t\tparsed,\n\t\tfileText: text,\n\t\tfileImages: images,\n\t\tstdinContent,\n\t});\n}\n\n/** Result from resolving a session argument */\ntype ResolvedSession =\n\t| { type: \"path\"; path: string } // Direct file path\n\t| { type: \"local\"; path: string } // Found in current project\n\t| { type: \"global\"; path: string; cwd: string } // Found in different project\n\t| { type: \"not_found\"; arg: string }; // Not found anywhere\n\n/**\n * Resolve a session argument to a file path.\n * If it looks like a path, use as-is. Otherwise try to match as session ID prefix.\n */\nasync function resolveSessionPath(sessionArg: string, cwd: string, sessionDir?: string): Promise<ResolvedSession> {\n\t// If it looks like a file path, resolve it before handing it to the session manager.\n\tif (sessionArg.includes(\"/\") || sessionArg.includes(\"\\\\\") || sessionArg.endsWith(\".jsonl\")) {\n\t\treturn { type: \"path\", path: resolvePath(sessionArg, cwd) };\n\t}\n\n\t// Try to match as session ID in current project first\n\tconst localSessions = await new LocalSessionManager({ cwd: cwd, sessionDir: sessionDir }).list();\n\tconst localMatches = localSessions.filter((s) => s.id.startsWith(sessionArg));\n\n\tif (localMatches.length >= 1) {\n\t\treturn { type: \"local\", path: localMatches[0].path };\n\t}\n\n\t// Try global search across all projects\n\tconst allSessions = await new LocalSessionManager({ cwd: process.cwd(), sessionDir }).listAll();\n\tconst globalMatches = allSessions.filter((s) => s.id.startsWith(sessionArg));\n\n\tif (globalMatches.length >= 1) {\n\t\tconst match = globalMatches[0];\n\t\treturn { type: \"global\", path: match.path, cwd: match.cwd };\n\t}\n\n\t// Not found anywhere\n\treturn { type: \"not_found\", arg: sessionArg };\n}\n\n/** Prompt user for yes/no confirmation */\nasync function promptConfirm(message: string): Promise<boolean> {\n\treturn new Promise((resolve) => {\n\t\tconst rl = createInterface({\n\t\t\tinput: process.stdin,\n\t\t\toutput: process.stdout,\n\t\t});\n\t\trl.question(`${message} [y/N] `, (answer) => {\n\t\t\trl.close();\n\t\t\tresolve(answer.toLowerCase() === \"y\" || answer.toLowerCase() === \"yes\");\n\t\t});\n\t});\n}\n\nfunction validateForkFlags(parsed: Args): void {\n\tif (!parsed.fork) return;\n\n\tconst conflictingFlags = [\n\t\tparsed.session ? \"--session\" : undefined,\n\t\tparsed.continue ? \"--continue\" : undefined,\n\t\tparsed.resume ? \"--resume\" : undefined,\n\t\tparsed.noSession ? \"--no-session\" : undefined,\n\t].filter((flag): flag is string => flag !== undefined);\n\n\tif (conflictingFlags.length > 0) {\n\t\tconsole.error(chalk.red(`Error: --fork cannot be combined with ${conflictingFlags.join(\", \")}`));\n\t\tprocess.exit(1);\n\t}\n}\n\nfunction forkSessionOrExit(sourcePath: string, cwd: string, sessionDir?: string): Session {\n\ttry {\n\t\treturn new LocalSessionManager({ cwd: cwd, sessionDir: sessionDir }).forkFrom(sourcePath);\n\t} catch (error: unknown) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exit(1);\n\t}\n}\n\nfunction openSessionOrExit(path: string, cwd: string, sessionDir?: string): Session {\n\ttry {\n\t\treturn new LocalSessionManager({ cwd, sessionDir }).openReference(path);\n\t} catch (error: unknown) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exit(1);\n\t}\n}\n\ninterface RemoteSessionCliOptions {\n\tbaseUrl: string;\n\ttoken: string;\n\tprojectId?: string;\n}\n\ninterface LifecycleSessionManagerOptions {\n\tcwd: string;\n\tsessionDir?: string;\n\tremote?: RemoteSessionCliOptions;\n}\n\nfunction resolveRemoteSessionCliOptions(parsed: Args): RemoteSessionCliOptions | undefined {\n\tconst baseUrl = parsed.remoteSessionBaseUrl ?? process.env[ENV_REMOTE_SESSION_BASE_URL];\n\tconst token = parsed.remoteSessionToken ?? process.env[ENV_REMOTE_SESSION_TOKEN];\n\tconst projectId = parsed.remoteProjectId ?? process.env[ENV_REMOTE_PROJECT_ID];\n\n\tif (!baseUrl && !token && !projectId) {\n\t\treturn undefined;\n\t}\n\tif (!baseUrl || !token) {\n\t\tconsole.error(\n\t\t\tchalk.red(\n\t\t\t\t`Error: remote sessions require both --remote-session-base-url and --remote-session-token, or ${ENV_REMOTE_SESSION_BASE_URL} and ${ENV_REMOTE_SESSION_TOKEN}`,\n\t\t\t),\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\n\treturn { baseUrl, token, projectId };\n}\n\nfunction createLifecycleSessionManager(options: LifecycleSessionManagerOptions): SessionManager {\n\tif (options.remote) {\n\t\treturn new RemoteSessionManager({\n\t\t\tbaseUrl: options.remote.baseUrl,\n\t\t\ttoken: options.remote.token,\n\t\t\tcwd: options.cwd,\n\t\t\tprojectId: options.remote.projectId,\n\t\t});\n\t}\n\treturn new LocalSessionManager({ cwd: options.cwd, sessionDir: options.sessionDir });\n}\n\nasync function resolveRemoteInitialSession(parsed: Args, manager: SessionManager): Promise<Session> {\n\tif (parsed.fork) {\n\t\treturn await manager.forkFrom(parsed.fork);\n\t}\n\tif (parsed.session) {\n\t\treturn await manager.openReference(parsed.session);\n\t}\n\tif (parsed.resume) {\n\t\tconst selectedReference = await selectSession(\n\t\t\t(onProgress) => manager.list(onProgress),\n\t\t\t(onProgress) => manager.listAll(onProgress),\n\t\t);\n\t\tif (!selectedReference) {\n\t\t\tconsole.log(chalk.dim(\"No session selected\"));\n\t\t\tprocess.exit(0);\n\t\t}\n\t\treturn await manager.openReference(selectedReference);\n\t}\n\tif (parsed.continue) {\n\t\treturn await manager.continueRecent();\n\t}\n\treturn await manager.create();\n}\n\nasync function resolveLocalRequestedSession(sessionArg: string, cwd: string, sessionDir?: string): Promise<Session> {\n\tconst resolved = await resolveSessionPath(sessionArg, cwd, sessionDir);\n\tswitch (resolved.type) {\n\t\tcase \"path\":\n\t\tcase \"local\":\n\t\t\treturn openSessionOrExit(resolved.path, process.cwd(), sessionDir);\n\t\tcase \"global\": {\n\t\t\tconsole.log(chalk.yellow(`Session found in different project: ${resolved.cwd}`));\n\t\t\tconst shouldFork = await promptConfirm(\"Fork this session into current directory?\");\n\t\t\tif (!shouldFork) {\n\t\t\t\tconsole.log(chalk.dim(\"Aborted.\"));\n\t\t\t\tprocess.exit(0);\n\t\t\t}\n\t\t\treturn forkSessionOrExit(resolved.path, cwd, sessionDir);\n\t\t}\n\t\tcase \"not_found\":\n\t\t\tconsole.error(chalk.red(`No session found matching '${resolved.arg}'`));\n\t\t\tprocess.exit(1);\n\t}\n}\n\nasync function resolveInitialSession(\n\tparsed: Args,\n\tcwd: string,\n\tsessionDir: string | undefined,\n\tsettingsManager: SettingsManager,\n\tremoteOptions?: RemoteSessionCliOptions,\n): Promise<Session> {\n\tif (parsed.noSession) {\n\t\treturn new InMemorySessionManager().create();\n\t}\n\n\tif (remoteOptions) {\n\t\treturn resolveRemoteInitialSession(\n\t\t\tparsed,\n\t\t\tnew RemoteSessionManager({\n\t\t\t\tbaseUrl: remoteOptions.baseUrl,\n\t\t\t\ttoken: remoteOptions.token,\n\t\t\t\tcwd,\n\t\t\t\tprojectId: remoteOptions.projectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (parsed.fork) {\n\t\tconst resolved = await resolveSessionPath(parsed.fork, cwd, sessionDir);\n\n\t\tswitch (resolved.type) {\n\t\t\tcase \"path\":\n\t\t\tcase \"local\":\n\t\t\tcase \"global\":\n\t\t\t\treturn forkSessionOrExit(resolved.path, cwd, sessionDir);\n\n\t\t\tcase \"not_found\":\n\t\t\t\tconsole.error(chalk.red(`No session found matching '${resolved.arg}'`));\n\t\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\tif (parsed.session) return resolveLocalRequestedSession(parsed.session, cwd, sessionDir);\n\n\tif (parsed.resume) {\n\t\tinitTheme(settingsManager.getTheme(), true);\n\t\ttry {\n\t\t\tconst selectedPath = await selectSession(\n\t\t\t\t(onProgress) => new LocalSessionManager({ cwd, sessionDir }).list(onProgress),\n\t\t\t\t(onProgress) => new LocalSessionManager({ cwd: process.cwd(), sessionDir }).listAll(onProgress),\n\t\t\t);\n\t\t\tif (!selectedPath) {\n\t\t\t\tconsole.log(chalk.dim(\"No session selected\"));\n\t\t\t\tprocess.exit(0);\n\t\t\t}\n\t\t\treturn openSessionOrExit(selectedPath, process.cwd(), sessionDir);\n\t\t} finally {\n\t\t\tstopThemeWatcher();\n\t\t}\n\t}\n\n\tif (parsed.continue) {\n\t\treturn new LocalSessionManager({ cwd: cwd, sessionDir: sessionDir }).continueRecent();\n\t}\n\n\treturn new LocalSessionManager({ cwd: cwd, sessionDir: sessionDir }).create();\n}\n\ninterface SessionOptionsResolution {\n\toptions: GripAgentSessionOptions;\n\tcliThinkingFromModel: boolean;\n\tdiagnostics: GripAgentDiagnostic[];\n}\n\nfunction applyCliModelSelection(\n\tparsed: Args,\n\tmodelRegistry: ModelRegistry,\n\tresolution: SessionOptionsResolution,\n): void {\n\tif (!parsed.model) return;\n\tconst resolved = resolveCliModel({\n\t\tcliProvider: parsed.provider,\n\t\tcliModel: parsed.model,\n\t\tmodelRegistry,\n\t});\n\tif (resolved.warning) resolution.diagnostics.push({ type: \"warning\", message: resolved.warning });\n\tif (resolved.error) resolution.diagnostics.push({ type: \"error\", message: resolved.error });\n\tif (!resolved.model) return;\n\tresolution.options.model = resolved.model;\n\tif (!parsed.thinking && resolved.thinkingLevel) {\n\t\tresolution.options.thinkingLevel = resolved.thinkingLevel;\n\t\tresolution.cliThinkingFromModel = true;\n\t}\n}\n\nfunction selectDefaultScopedModel(\n\tscopedModels: ScopedModel[],\n\tmodelRegistry: ModelRegistry,\n\tsettingsManager: SettingsManager,\n): ScopedModel {\n\tconst savedProvider = settingsManager.getDefaultProvider();\n\tconst savedModelId = settingsManager.getDefaultModel();\n\tconst savedModel = savedProvider && savedModelId ? modelRegistry.find(savedProvider, savedModelId) : undefined;\n\treturn (\n\t\t(savedModel ? scopedModels.find((scoped) => modelsAreEqual(scoped.model, savedModel)) : undefined) ??\n\t\tscopedModels[0]\n\t);\n}\n\nfunction applyCliToolSelection(parsed: Args, options: GripAgentSessionOptions): void {\n\tif (parsed.noTools) options.noTools = \"all\";\n\telse if (parsed.noBuiltinTools) options.noTools = \"builtin\";\n\tif (parsed.tools) options.tools = [...parsed.tools];\n\tif (parsed.enableLspTools) options.enableLspTools = true;\n}\n\nfunction buildSessionOptions(\n\tparsed: Args,\n\tscopedModels: ScopedModel[],\n\thasExistingSession: boolean,\n\tmodelRegistry: ModelRegistry,\n\tsettingsManager: SettingsManager,\n): SessionOptionsResolution {\n\tconst resolution: SessionOptionsResolution = {\n\t\toptions: {},\n\t\tcliThinkingFromModel: false,\n\t\tdiagnostics: [],\n\t};\n\tapplyCliModelSelection(parsed, modelRegistry, resolution);\n\tconst { options } = resolution;\n\n\tif (!options.model && scopedModels.length > 0 && !hasExistingSession) {\n\t\tconst selected = selectDefaultScopedModel(scopedModels, modelRegistry, settingsManager);\n\t\toptions.model = selected.model;\n\t\tif (!parsed.thinking && selected.thinkingLevel) options.thinkingLevel = selected.thinkingLevel;\n\t}\n\n\tif (parsed.thinking) options.thinkingLevel = parsed.thinking;\n\tif (scopedModels.length > 0) {\n\t\toptions.scopedModels = scopedModels.map((scoped) => ({\n\t\t\tmodel: scoped.model,\n\t\t\tthinkingLevel: scoped.thinkingLevel,\n\t\t}));\n\t}\n\tapplyCliToolSelection(parsed, options);\n\treturn resolution;\n}\n\nfunction resolveCliPaths(cwd: string, paths: string[] | undefined): string[] | undefined {\n\treturn paths?.map((value) => (isLocalPath(value) ? resolvePath(value, cwd) : value));\n}\n\nasync function promptForMissingSessionCwd(\n\tissue: SessionCwdIssue,\n\tsettingsManager: SettingsManager,\n): Promise<string | undefined> {\n\tinitTheme(settingsManager.getTheme());\n\tsetKeybindings(KeybindingsManager.create());\n\n\treturn new Promise((resolve) => {\n\t\tconst ui = new TuiMainScreen(new ProcessTerminal(), settingsManager.getShowHardwareCursor());\n\t\tui.setClearOnShrink(settingsManager.getClearOnShrink());\n\n\t\tlet settled = false;\n\t\tconst finish = (result: string | undefined) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tui.stop();\n\t\t\tresolve(result);\n\t\t};\n\n\t\tconst selector = new ExtensionSelectorComponent(\n\t\t\tformatMissingSessionCwdPrompt(issue),\n\t\t\t[\"Continue\", \"Cancel\"],\n\t\t\t(option) => finish(option === \"Continue\" ? issue.fallbackCwd : undefined),\n\t\t\t() => finish(undefined),\n\t\t\t{ tui: ui },\n\t\t);\n\t\tui.addChild(selector);\n\t\tui.setFocus(selector);\n\t\tui.start();\n\t});\n}\n\nexport type ProjectHookTrustChoice = \"deny\" | \"once\" | \"always\";\n\nexport async function promptForProjectHookTrust(\n\tcwd: string,\n\tidentity: string,\n\tsettingsManager: SettingsManager,\n): Promise<ProjectHookTrustChoice> {\n\tinitTheme(settingsManager.getTheme());\n\tsetKeybindings(KeybindingsManager.create());\n\tconst title = [\n\t\t`Project hooks were found in ${cwd}.`,\n\t\t\"Project hooks execute in the active workspace: as your host user locally, or inside an active sandbox/remote backend.\",\n\t\t`Trust always authorizes all current and future hook changes in ${identity}.`,\n\t].join(\"\\n\");\n\n\treturn new Promise((resolve) => {\n\t\tconst ui = new TuiMainScreen(new ProcessTerminal(), settingsManager.getShowHardwareCursor());\n\t\tui.setClearOnShrink(settingsManager.getClearOnShrink());\n\t\tlet settled = false;\n\t\tconst finish = (choice: ProjectHookTrustChoice) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tui.stop();\n\t\t\tresolve(choice);\n\t\t};\n\t\tconst selector = new ExtensionSelectorComponent(\n\t\t\ttitle,\n\t\t\t[\"Don't trust\", \"Trust once\", \"Trust always\"],\n\t\t\t(option) => {\n\t\t\t\tif (option === \"Trust once\") finish(\"once\");\n\t\t\t\telse if (option === \"Trust always\") finish(\"always\");\n\t\t\t\telse finish(\"deny\");\n\t\t\t},\n\t\t\t() => finish(\"deny\"),\n\t\t\t{ tui: ui },\n\t\t);\n\t\tui.addChild(selector);\n\t\tui.setFocus(selector);\n\t\tui.start();\n\t});\n}\nexport interface ProjectHookTrustPolicyOptions {\n\tinitialCwd: string;\n\tinitialSessionId: string;\n\texplicitTrust: boolean;\n\tinteractive: boolean;\n\tskipInitialPrompt: boolean;\n\tstore: ProjectHookTrustStore;\n\tprompt: (cwd: string, identity: string) => Promise<ProjectHookTrustChoice>;\n\treportError?: (error: string | undefined) => void;\n}\n\nexport interface ProjectHookTrustPolicy {\n\tresolveInitial(backendAllowsProjectHooks: boolean): Promise<boolean>;\n\tgetInitialTrustedIdentity(): string | undefined;\n\tresolveFor(sessionCwd: string, sessionId: string): ProjectHookTrustResult;\n\tisTrustedFor(sessionCwd: string, sessionId: string): boolean;\n}\ninterface ProjectHookTrustPolicyState {\n\tinitialTrusted: boolean;\n\tinitialTrustedIdentity: string | undefined;\n\ttrustOnceIdentity: string | undefined;\n\ttrustOnceSessionId: string | undefined;\n\ttrustOnceConsumed: boolean;\n}\n\ntype ProjectHookTrustErrorReporter = (error: string | undefined) => void;\n\nfunction identifyInitialProjectHooks(cwd: string, reportError: ProjectHookTrustErrorReporter): string | undefined {\n\ttry {\n\t\treturn canonicalProjectHookIdentity(cwd);\n\t} catch (error) {\n\t\treportError(\n\t\t\t`Unable to identify project hooks repository: ${error instanceof Error ? error.message : String(error)}`,\n\t\t);\n\t\treturn undefined;\n\t}\n}\n\nfunction applyInitialProjectHookTrustChoice(\n\tchoice: ProjectHookTrustChoice,\n\tidentity: string,\n\toptions: ProjectHookTrustPolicyOptions,\n\tstate: ProjectHookTrustPolicyState,\n\treportError: ProjectHookTrustErrorReporter,\n): void {\n\tif (choice === \"once\" || choice === \"always\") {\n\t\tstate.initialTrusted = true;\n\t\tstate.initialTrustedIdentity = identity;\n\t}\n\tif (choice === \"once\") {\n\t\tstate.trustOnceIdentity = identity;\n\t\tstate.trustOnceSessionId = options.initialSessionId;\n\t}\n\tif (choice === \"always\") {\n\t\tconst saved = options.store.trustAlwaysIdentity(identity);\n\t\treportError(saved.error);\n\t}\n}\n\nasync function resolveInitialProjectHookTrust(\n\tbackendAllowsProjectHooks: boolean,\n\toptions: ProjectHookTrustPolicyOptions,\n\tstate: ProjectHookTrustPolicyState,\n\treportError: ProjectHookTrustErrorReporter,\n): Promise<boolean> {\n\tif (!backendAllowsProjectHooks) return state.initialTrusted;\n\tif (state.initialTrusted) return true;\n\tif (options.skipInitialPrompt) return false;\n\tif (!hasProjectHookConfiguration(options.initialCwd)) return false;\n\n\tconst persisted = options.store.isTrusted(options.initialCwd);\n\treportError(persisted.error);\n\tstate.initialTrusted = persisted.trusted;\n\tstate.initialTrustedIdentity = persisted.trusted ? persisted.identity : undefined;\n\tif (state.initialTrusted || !options.interactive) return state.initialTrusted;\n\n\tconst identity = identifyInitialProjectHooks(options.initialCwd, reportError);\n\tif (!identity) return false;\n\tconst choice = await options.prompt(options.initialCwd, identity);\n\tapplyInitialProjectHookTrustChoice(choice, identity, options, state, reportError);\n\treturn state.initialTrusted;\n}\n\n/** Orchestrates the CLI's startup and per-session project-hook trust decisions. */\nexport function createProjectHookTrustPolicy(options: ProjectHookTrustPolicyOptions): ProjectHookTrustPolicy {\n\tconst state: ProjectHookTrustPolicyState = {\n\t\tinitialTrusted: options.explicitTrust,\n\t\tinitialTrustedIdentity: undefined,\n\t\ttrustOnceIdentity: undefined,\n\t\ttrustOnceSessionId: undefined,\n\t\ttrustOnceConsumed: false,\n\t};\n\tconst reportError = options.reportError ?? (() => {});\n\n\treturn {\n\t\tresolveInitial(backendAllowsProjectHooks: boolean): Promise<boolean> {\n\t\t\treturn resolveInitialProjectHookTrust(backendAllowsProjectHooks, options, state, reportError);\n\t\t},\n\n\t\tgetInitialTrustedIdentity(): string | undefined {\n\t\t\treturn state.initialTrustedIdentity;\n\t\t},\n\n\t\tresolveFor(sessionCwd: string, sessionId: string): ProjectHookTrustResult {\n\t\t\tif (options.explicitTrust) return { trusted: true };\n\t\t\tif (!hasProjectHookConfiguration(sessionCwd)) return { trusted: false };\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!state.trustOnceConsumed &&\n\t\t\t\t\tstate.trustOnceIdentity &&\n\t\t\t\t\tstate.trustOnceSessionId === sessionId &&\n\t\t\t\t\tcanonicalProjectHookIdentity(sessionCwd) === state.trustOnceIdentity\n\t\t\t\t) {\n\t\t\t\t\tstate.trustOnceConsumed = true;\n\t\t\t\t\treturn { trusted: true, identity: state.trustOnceIdentity };\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconst message = `Unable to identify project hooks repository: ${error instanceof Error ? error.message : String(error)}`;\n\t\t\t\treportError(message);\n\t\t\t\treturn { trusted: false, error: message };\n\t\t\t}\n\t\t\tconst persisted = options.store.isTrusted(sessionCwd);\n\t\t\treportError(persisted.error);\n\t\t\treturn persisted;\n\t\t},\n\n\t\tisTrustedFor(sessionCwd: string, sessionId: string): boolean {\n\t\t\treturn this.resolveFor(sessionCwd, sessionId).trusted;\n\t\t},\n\t};\n}\n\nexport interface MainOptions {\n\textensionFactories?: ExtensionFactory[];\n\tdaemonRunner?: (args: readonly string[]) => Promise<void>;\n\t/** Test/embedding override for the interactive project-hook trust prompt. */\n\tprojectHookTrustPrompt?: (cwd: string, identity: string) => Promise<ProjectHookTrustChoice>;\n\t/** Test/embedding override for persistent project-hook trust storage. */\n\tprojectHookTrustStore?: ProjectHookTrustStore;\n}\ninterface ParsedMainInvocation {\n\tparsed: Args;\n\tappMode: GripAgentAppMode;\n}\n\ninterface StartupSessionResolution {\n\tcwd: string;\n\tagentDir: string;\n\tstartupSettingsManager: SettingsManager;\n\tsessionDir: string | undefined;\n\tremoteSessionOptions: RemoteSessionCliOptions | undefined;\n\tinitialSession: Session;\n}\n\nasync function runCliPreflight(args: string[], options: MainOptions | undefined): Promise<boolean> {\n\tif (isDaemonCommand(args)) {\n\t\tawait (options?.daemonRunner ?? runDaemonCommand)(args);\n\t\treturn true;\n\t}\n\tconfigureHttpDispatcher();\n\tresetTimings();\n\tconst offlineMode = args.includes(\"--offline\") || isTruthyEnvFlag(process.env.GRIP_OFFLINE);\n\tif (offlineMode) {\n\t\tprocess.env.GRIP_OFFLINE = \"1\";\n\t\tprocess.env.GRIP_SKIP_VERSION_CHECK = \"1\";\n\t}\n\tif (process.platform === \"win32\") cleanupWindowsSelfUpdateQuarantine(getPackageDir());\n\tif (await handlePackageCommand(args)) return true;\n\treturn handleConfigCommand(args);\n}\n\nfunction reportArgumentDiagnostics(parsed: Args): void {\n\tif (parsed.diagnostics.length === 0) return;\n\tfor (const diagnostic of parsed.diagnostics) {\n\t\tconst color = diagnostic.type === \"error\" ? chalk.red : chalk.yellow;\n\t\tconsole.error(color(`${diagnostic.type === \"error\" ? \"Error\" : \"Warning\"}: ${diagnostic.message}`));\n\t}\n\tif (parsed.diagnostics.some((diagnostic) => diagnostic.type === \"error\")) process.exit(1);\n}\n\nasync function handleCliMetadataCommands(parsed: Args): Promise<void> {\n\tif (parsed.version) {\n\t\tconsole.log(VERSION);\n\t\tprocess.exit(0);\n\t}\n\tif (!parsed.export) return;\n\tlet result: string;\n\ttry {\n\t\tconst outputPath = parsed.messages.length > 0 ? parsed.messages[0] : undefined;\n\t\tresult = await exportFromFile(parsed.export, outputPath);\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : \"Failed to export session\";\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exit(1);\n\t}\n\tconsole.log(`Exported to: ${result}`);\n\tprocess.exit(0);\n}\n\nasync function parseMainInvocation(args: string[]): Promise<ParsedMainInvocation> {\n\tconst parsed = parseArgs(args);\n\treportArgumentDiagnostics(parsed);\n\ttime(\"parseArgs\");\n\tconst appMode = resolveAppMode(parsed, process.stdin.isTTY);\n\tGripAgent.setupStdio({ mode: appMode });\n\tawait handleCliMetadataCommands(parsed);\n\tif (parsed.mode === \"rpc\" && parsed.fileArgs.length > 0) {\n\t\tconsole.error(chalk.red(\"Error: @file arguments are not supported in RPC mode\"));\n\t\tprocess.exit(1);\n\t}\n\tvalidateForkFlags(parsed);\n\treturn { parsed, appMode };\n}\n\nasync function resolveStartupSession(parsed: Args, appMode: GripAgentAppMode): Promise<StartupSessionResolution> {\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst startupSettingsManager = SettingsManager.create(cwd, agentDir);\n\treportDiagnostics(collectSettingsDiagnostics(startupSettingsManager, \"startup session lookup\"));\n\tconst envSessionDir = process.env[ENV_SESSION_DIR];\n\tconst sessionDir =\n\t\t(parsed.sessionDir ? normalizePath(parsed.sessionDir) : undefined) ??\n\t\t(envSessionDir ? expandTildePath(envSessionDir) : undefined) ??\n\t\tstartupSettingsManager.getSessionDir();\n\tconst remoteSessionOptions = resolveRemoteSessionCliOptions(parsed);\n\tlet initialSession = await resolveInitialSession(\n\t\tparsed,\n\t\tcwd,\n\t\tsessionDir,\n\t\tstartupSettingsManager,\n\t\tremoteSessionOptions,\n\t);\n\tconst missingSessionCwdIssue = getMissingSessionCwdIssue(initialSession, cwd);\n\tif (missingSessionCwdIssue) {\n\t\tif (appMode !== \"interactive\") {\n\t\t\tconsole.error(chalk.red(new MissingSessionCwdError(missingSessionCwdIssue).message));\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconst selectedCwd = await promptForMissingSessionCwd(missingSessionCwdIssue, startupSettingsManager);\n\t\tif (!selectedCwd) process.exit(0);\n\t\tinitialSession = await createLifecycleSessionManager({\n\t\t\tcwd,\n\t\t\tsessionDir,\n\t\t\tremote: remoteSessionOptions,\n\t\t}).openReference(missingSessionCwdIssue.sessionReference!, { cwdOverride: selectedCwd });\n\t}\n\ttime(\"resolveInitialSession\");\n\treturn { cwd, agentDir, startupSettingsManager, sessionDir, remoteSessionOptions, initialSession };\n}\n\nasync function resolveStartupToolOperations(parsed: Args): Promise<ToolOperations | undefined> {\n\tif (parsed.help) return undefined;\n\tconst remoteDeferred = parsed.remoteDeferred;\n\tif (remoteDeferred && parsed.remote) {\n\t\tconsole.error(chalk.red(\"Error: --remote-deferred and --remote cannot be used together\"));\n\t\tprocess.exit(1);\n\t}\n\tif (parsed.remote) {\n\t\ttry {\n\t\t\treturn await createRemoteToolOperations(parsed.remote);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tconsole.error(chalk.red(`Error: failed to initialize remote tool operations: ${message}`));\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\tif (!remoteDeferred) return undefined;\n\tif (!parsed.remoteCwd) {\n\t\tconsole.error(chalk.red(\"Error: --remote-deferred requires --remote-cwd <path>\"));\n\t\tprocess.exit(1);\n\t}\n\treturn new DeferredRemoteToolOperations(parsed.remoteCwd);\n}\n\nfunction createCliLspInputs(parsed: Args, cwd: string): LspConfigurationInput[] {\n\tconst inputs: LspConfigurationInput[] = [];\n\tif (parsed.lspConfig) inputs.push({ type: \"file\", path: resolvePath(parsed.lspConfig, cwd), scope: \"cli\" });\n\tif (parsed.noLsp) inputs.push({ type: \"disabled\", source: \"--no-lsp\", scope: \"cli\" });\n\treturn inputs;\n}\nasync function handleRuntimeInformationCommands(parsed: Args, gripAgent: GripAgent): Promise<void> {\n\tconst { modelRegistry, resourceLoader } = gripAgent.services;\n\tif (parsed.help) {\n\t\tconst extensionFlags = resourceLoader\n\t\t\t.getExtensions()\n\t\t\t.extensions.flatMap((extension) => Array.from(extension.flags.values()));\n\t\tprintHelp(extensionFlags);\n\t\tprocess.exit(0);\n\t}\n\tif (parsed.listModels === undefined) return;\n\tconst searchPattern = typeof parsed.listModels === \"string\" ? parsed.listModels : undefined;\n\tawait listModels(modelRegistry, searchPattern);\n\tprocess.exit(0);\n}\n\nasync function reportRuntimeStartupDiagnostics(gripAgent: GripAgent, deprecationWarnings: string[]): Promise<void> {\n\tif (gripAgent.mode === \"interactive\" && deprecationWarnings.length > 0) {\n\t\tawait showDeprecationWarnings(deprecationWarnings);\n\t}\n\ttime(\"resolveModelScope\");\n\tconst hasFatalDiagnostics = gripAgent.diagnostics.some(isFatalGripAgentDiagnostic);\n\tif (gripAgent.mode !== \"interactive\" || hasFatalDiagnostics) reportDiagnostics(gripAgent.diagnostics);\n\tif (hasFatalDiagnostics) process.exit(1);\n\ttime(\"createAgentSession\");\n}\n\nexport async function main(args: string[], options?: MainOptions) {\n\tif (await runCliPreflight(args, options)) return;\n\tconst { parsed, appMode } = await parseMainInvocation(args);\n\n\t// Run migrations (pass cwd for project-local migrations)\n\tconst { migratedAuthProviders: migratedProviders, deprecationWarnings } = runMigrations(process.cwd());\n\ttime(\"runMigrations\");\n\n\t// Decide the final runtime cwd before creating cwd-bound runtime services.\n\t// --session and --resume may select a session from another project, so project-local\n\t// settings, resources, provider registrations, and models must be resolved only after\n\t// the target session cwd is known. The startup-cwd settings manager is used only for\n\t// sessionDir lookup during session selection.\n\tconst { cwd, agentDir, startupSettingsManager, sessionDir, remoteSessionOptions, initialSession } =\n\t\tawait resolveStartupSession(parsed, appMode);\n\tconst projectHookTrustStore = options?.projectHookTrustStore ?? new ProjectHookTrustStore(agentDir);\n\tconst reportedProjectHookTrustErrors = new Set<string>();\n\tconst reportProjectHookTrustError = (error: string | undefined) => {\n\t\tif (!error || reportedProjectHookTrustErrors.has(error)) return;\n\t\treportedProjectHookTrustErrors.add(error);\n\t\tconsole.error(chalk.yellow(`Warning: ${error}`));\n\t};\n\tconst initialHookCwd = initialSession.getCwd();\n\tconst projectHookTrustPolicy = createProjectHookTrustPolicy({\n\t\tinitialCwd: initialHookCwd,\n\t\tinitialSessionId: initialSession.getSessionId(),\n\t\texplicitTrust: parsed.trustProjectHooks === true,\n\t\tinteractive: appMode === \"interactive\",\n\t\tskipInitialPrompt: parsed.help || parsed.listModels !== undefined,\n\t\tstore: projectHookTrustStore,\n\t\tprompt:\n\t\t\toptions?.projectHookTrustPrompt ??\n\t\t\t((promptCwd, promptIdentity) => promptForProjectHookTrust(promptCwd, promptIdentity, startupSettingsManager)),\n\t\treportError: reportProjectHookTrustError,\n\t});\n\tconst authStorage = AuthStorage.create();\n\tconst runtimeSessionManager = parsed.noSession\n\t\t? new InMemorySessionManager(initialSession.getCwd())\n\t\t: createLifecycleSessionManager({ cwd: initialSession.getCwd(), sessionDir, remote: remoteSessionOptions });\n\tconst toolOperations = await resolveStartupToolOperations(parsed);\n\tconst initialHookBackend = toolOperations?.getBackendInfo?.();\n\tconst initialProjectHooksTrusted = await projectHookTrustPolicy.resolveInitial(\n\t\ttoolOperations === undefined || initialHookBackend?.type === \"local\",\n\t);\n\tconst initialTrustedProjectHooksIdentity = projectHookTrustPolicy.getInitialTrustedIdentity();\n\tconst backendType = toolOperations?.getBackendInfo?.()?.type;\n\tconst instructionPathCwd = toolOperations && backendType === \"remote\" ? toolOperations.cwd : cwd;\n\tconst resolvedExtensionPaths = resolveCliPaths(cwd, parsed.extensions);\n\tconst resolvedSkillPaths = resolveCliPaths(instructionPathCwd, parsed.skills);\n\tconst resolvedRulePaths = resolveCliPaths(instructionPathCwd, parsed.rules);\n\tconst resolvedPromptTemplatePaths = resolveCliPaths(instructionPathCwd, parsed.promptTemplates);\n\tconst resolvedThemePaths = resolveCliPaths(cwd, parsed.themes);\n\tconst cliLspInputs = createCliLspInputs(parsed, cwd);\n\tconst gripAgent = await GripAgent.create({\n\t\ttoolOperations,\n\t\townsToolOperations: toolOperations !== undefined,\n\t\tmode: appMode,\n\t\tcwd: initialSession.getCwd(),\n\t\tagentDir,\n\t\tsessionManager: runtimeSessionManager,\n\t\tauthStorage,\n\t\ttrustProjectHooks: initialProjectHooksTrusted,\n\t\ttrustedProjectHooksIdentity: initialTrustedProjectHooksIdentity,\n\t\textensionFlagValues: parsed.unknownFlags,\n\t\tresourceLoaderOptions: {\n\t\t\ttoolOperations,\n\t\t\tadditionalExtensionPaths: resolvedExtensionPaths,\n\t\t\tadditionalSkillPaths: resolvedSkillPaths,\n\t\t\tadditionalRulePaths: resolvedRulePaths,\n\t\t\tadditionalPromptTemplatePaths: resolvedPromptTemplatePaths,\n\t\t\tadditionalThemePaths: resolvedThemePaths,\n\t\t\tnoExtensions: parsed.noExtensions,\n\t\t\tnoSkills: parsed.noSkills,\n\t\t\tnoRules: parsed.noRules,\n\t\t\tnoPromptTemplates: parsed.noPromptTemplates,\n\t\t\tnoThemes: parsed.noThemes,\n\t\t\tnoContextFiles: parsed.noContextFiles,\n\t\t\tsystemPrompt: parsed.systemPrompt,\n\t\t\tappendSystemPrompt: parsed.appendSystemPrompt,\n\t\t\textensionFactories: options?.extensionFactories,\n\t\t},\n\t\tresolveSessionOptions: async ({ services, session }) => {\n\t\t\tconst { settingsManager, modelRegistry } = services;\n\t\t\tconst diagnostics: GripAgentDiagnostic[] = [\n\t\t\t\t...collectSettingsDiagnostics(settingsManager, \"runtime creation\"),\n\t\t\t];\n\t\t\tconst modelPatterns = parsed.models ?? settingsManager.getEnabledModels();\n\t\t\tconst scopedModels =\n\t\t\t\tmodelPatterns && modelPatterns.length > 0 ? await resolveModelScope(modelPatterns, modelRegistry) : [];\n\t\t\tconst { options: sessionOptions, diagnostics: sessionOptionDiagnostics } = buildSessionOptions(\n\t\t\t\tparsed,\n\t\t\t\tscopedModels,\n\t\t\t\tsession.buildSessionContext().messages.length > 0,\n\t\t\t\tmodelRegistry,\n\t\t\t\tsettingsManager,\n\t\t\t);\n\t\t\tdiagnostics.push(...sessionOptionDiagnostics);\n\n\t\t\tif (parsed.apiKey) {\n\t\t\t\tif (!sessionOptions.model) {\n\t\t\t\t\tdiagnostics.push({\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\tmessage: \"--api-key requires a model to be specified via --model, --provider/--model, or --models\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tauthStorage.setRuntimeApiKey(sessionOptions.model.provider, parsed.apiKey);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (toolOperations) {\n\t\t\t\tconst backend = toolOperations.getBackendInfo?.();\n\t\t\t\tlet message = `Deferred remote backend mode enabled (cwd: ${toolOperations.cwd})`;\n\t\t\t\tif (backend?.type === \"remote\" && backend.configured) {\n\t\t\t\t\tmessage = `Remote tool operations enabled: ${backend.url} (cwd: ${backend.cwd})`;\n\t\t\t\t}\n\t\t\t\tdiagnostics.push({ type: \"info\", message });\n\t\t\t}\n\t\t\tconst projectHookTrust = projectHookTrustPolicy.resolveFor(services.cwd, session.getSessionId());\n\n\t\t\treturn {\n\t\t\t\tmodel: sessionOptions.model,\n\t\t\t\tthinkingLevel: sessionOptions.thinkingLevel,\n\t\t\t\tscopedModels: sessionOptions.scopedModels,\n\t\t\t\ttools: sessionOptions.tools,\n\t\t\t\tenableLspTools: sessionOptions.enableLspTools,\n\t\t\t\tnoTools: sessionOptions.noTools,\n\t\t\t\tcustomTools: sessionOptions.customTools,\n\t\t\t\ttoolOperations,\n\t\t\t\ttrustProjectHooks: projectHookTrust.trusted,\n\t\t\t\ttrustedProjectHooksIdentity: projectHookTrust.identity,\n\t\t\t\tlsp: cliLspInputs,\n\t\t\t\tdiagnostics,\n\t\t\t};\n\t\t},\n\t});\n\tawait gripAgent.createAgentSession({ session: initialSession });\n\ttime(\"createAgentSessionRuntime\");\n\tconst { settingsManager } = gripAgent.services;\n\tawait handleRuntimeInformationCommands(parsed, gripAgent);\n\n\tconst stdinContent = await gripAgent.readPipedStdin();\n\ttime(\"readPipedStdin\");\n\n\tconst { initialMessage, initialImages } = await prepareInitialMessage(\n\t\tparsed,\n\t\tsettingsManager.getImageAutoResize(),\n\t\tstdinContent,\n\t);\n\ttime(\"prepareInitialMessage\");\n\tinitTheme(settingsManager.getTheme(), gripAgent.mode === \"interactive\");\n\ttime(\"initTheme\");\n\n\tawait reportRuntimeStartupDiagnostics(gripAgent, deprecationWarnings);\n\n\tawait gripAgent.runMode({\n\t\tmigratedProviders,\n\t\tinitialMessage,\n\t\tinitialImages,\n\t\tinitialMessages: parsed.messages,\n\t\tverbose: parsed.verbose,\n\t\ttuiMode: parsed.tuiMode,\n\t\tstartupBenchmark: isTruthyEnvFlag(process.env.GRIP_STARTUP_BENCHMARK),\n\t});\n}\n"]}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAGN,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,MAAM,6BAA6B,CAAC;AAiBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AA2a7D,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,eAAe,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAkCjC;AACD,MAAM,WAAW,6BAA6B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,CAAC,yBAAyB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,yBAAyB,IAAI,MAAM,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAC1E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7D;AAmED,mFAAmF;AACnF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,6BAA6B,GAAG,sBAAsB,CA8C3G;AAED,MAAM,WAAW,WAAW;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5F,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC9C;AA0KD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,iBAmK/D"}
|
package/dist/main.js
CHANGED
|
@@ -13,7 +13,7 @@ import { processFileArguments } from "./cli/file-processor.js";
|
|
|
13
13
|
import { buildInitialMessage } from "./cli/initial-message.js";
|
|
14
14
|
import { listModels } from "./cli/list-models.js";
|
|
15
15
|
import { selectSession } from "./cli/session-picker.js";
|
|
16
|
-
import { ENV_REMOTE_PROJECT_ID, ENV_REMOTE_SESSION_BASE_URL, ENV_REMOTE_SESSION_TOKEN, ENV_SESSION_DIR, expandTildePath, getAgentDir, getPackageDir, VERSION, } from "./config.js";
|
|
16
|
+
import { ENV_REMOTE_PROJECT_ID, ENV_REMOTE_SESSION_BASE_URL, ENV_REMOTE_SESSION_TOKEN, ENV_SESSION_DIR, expandTildePath, getAgentDir, getPackageDir, isBunBinary, VERSION, } from "./config.js";
|
|
17
17
|
import { AuthStorage } from "./core/auth-storage.js";
|
|
18
18
|
import { exportFromFile } from "./core/export-html/index.js";
|
|
19
19
|
import { GripAgent, isFatalGripAgentDiagnostic } from "./core/grip-agent.js";
|
|
@@ -34,6 +34,7 @@ import { runMigrations, showDeprecationWarnings } from "./migrations.js";
|
|
|
34
34
|
import { ExtensionSelectorComponent } from "./modes/interactive/components/extension-selector.js";
|
|
35
35
|
import { initTheme, stopThemeWatcher } from "./modes/interactive/theme/theme.js";
|
|
36
36
|
import { handleConfigCommand, handlePackageCommand } from "./package-manager-cli.js";
|
|
37
|
+
import { cleanupWindowsBinarySelfUpdateLeftovers } from "./utils/binary-self-update.js";
|
|
37
38
|
import { isLocalPath, normalizePath, resolvePath } from "./utils/paths.js";
|
|
38
39
|
import { cleanupWindowsSelfUpdateQuarantine } from "./utils/windows-self-update.js";
|
|
39
40
|
function collectSettingsDiagnostics(settingsManager, context) {
|
|
@@ -479,8 +480,12 @@ async function runCliPreflight(args, options) {
|
|
|
479
480
|
process.env.GRIP_OFFLINE = "1";
|
|
480
481
|
process.env.GRIP_SKIP_VERSION_CHECK = "1";
|
|
481
482
|
}
|
|
482
|
-
if (process.platform === "win32")
|
|
483
|
-
|
|
483
|
+
if (process.platform === "win32") {
|
|
484
|
+
if (isBunBinary)
|
|
485
|
+
await cleanupWindowsBinarySelfUpdateLeftovers();
|
|
486
|
+
else
|
|
487
|
+
cleanupWindowsSelfUpdateQuarantine(getPackageDir());
|
|
488
|
+
}
|
|
484
489
|
if (await handlePackageCommand(args))
|
|
485
490
|
return true;
|
|
486
491
|
return handleConfigCommand(args);
|