@humain/terminal 0.0.3-beta.3 → 0.0.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +1 -0
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.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 +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +11 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.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/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts.map +1 -1
- package/dist/cli/experimental/auth.js.map +1 -1
- package/dist/cli/experimental/cli.d.ts.map +1 -1
- package/dist/cli/experimental/command-options.d.ts.map +1 -1
- package/dist/cli/experimental/command-options.js.map +1 -1
- package/dist/cli/experimental/command.d.ts.map +1 -1
- package/dist/cli/experimental/command.js +2 -5
- package/dist/cli/experimental/command.js.map +1 -1
- package/dist/cli/experimental/commands/client.d.ts.map +1 -1
- package/dist/cli/experimental/commands/client.js.map +1 -1
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -1
- package/dist/cli/experimental/commands/pi.js.map +1 -1
- package/dist/cli/experimental/commands/server.d.ts.map +1 -1
- package/dist/cli/experimental/commands/server.js.map +1 -1
- package/dist/cli/experimental/transport-address.d.ts.map +1 -1
- package/dist/cli/experimental/transport-address.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/project-trust.d.ts.map +1 -1
- package/dist/cli/project-trust.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/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/remote-session.d.ts.map +1 -1
- package/dist/client/remote-session.js.map +1 -1
- package/dist/client/transcript.d.ts.map +1 -1
- package/dist/client/transcript.js +1 -1
- package/dist/client/transcript.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +0 -8
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +36 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +107 -129
- 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.map +1 -1
- package/dist/core/auth-storage.js +3 -8
- 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.map +1 -1
- package/dist/core/cache-stats.d.ts.map +1 -1
- package/dist/core/cache-stats.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.map +1 -1
- package/dist/core/compaction/index.d.ts.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/experimental.d.ts +4 -0
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js +4 -0
- package/dist/core/experimental.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/index.d.ts.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.map +1 -1
- package/dist/core/extensions/runner.js +22 -30
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +4 -0
- 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 +17 -18
- package/dist/core/footer-data-provider.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/index.d.ts.map +1 -1
- package/dist/core/keybindings.d.ts +24 -0
- 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/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +1 -2
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +0 -1
- 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/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +15 -25
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +3 -4
- package/dist/core/models-store.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 -7
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.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-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.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 -44
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +1 -2
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/sdk.d.ts +5 -3
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +3 -2
- package/dist/core/sdk.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/session-manager.d.ts +4 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +55 -35
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +6 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +19 -17
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/core/system-prompt.js +1 -1
- 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.map +1 -1
- package/dist/core/tools/bash.js +10 -5
- package/dist/core/tools/bash.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 +2 -0
- 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 +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +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 +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +2 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +9 -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/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 +2 -0
- 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/subagent.d.ts +82 -0
- package/dist/core/tools/subagent.d.ts.map +1 -0
- package/dist/core/tools/subagent.js +980 -0
- package/dist/core/tools/subagent.js.map +1 -0
- 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/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +2 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +0 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js +0 -2
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/huggingface.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface.js +0 -2
- package/dist/extensions/llama/huggingface.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js +12 -28
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
- package/dist/humain/agent-execution-protocol.js.map +1 -1
- package/dist/humain/agent-execution-runtime.d.ts.map +1 -1
- package/dist/humain/agent-execution-runtime.js.map +1 -1
- package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +127 -7
- package/dist/humain/brand-logo.d.ts.map +1 -1
- package/dist/humain/index.d.ts.map +1 -1
- package/dist/humain/index.js.map +1 -1
- package/dist/humain/legacy-workflow-tiers.d.ts.map +1 -1
- package/dist/humain/legacy-workflow-tiers.js.map +1 -1
- package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +36 -0
- package/dist/humain/mcp-adapter/vendor/README.md +47 -5
- package/dist/humain/mcp-adapter/vendor/cli.js +163 -1
- package/dist/humain/mcp-adapter/vendor/commands.ts +128 -22
- package/dist/humain/mcp-adapter/vendor/config.ts +25 -7
- package/dist/humain/mcp-adapter/vendor/direct-tools.ts +5 -4
- package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +1663 -458
- package/dist/humain/mcp-adapter/vendor/index.ts +219 -32
- package/dist/humain/mcp-adapter/vendor/init.ts +36 -4
- package/dist/humain/mcp-adapter/vendor/lifecycle.ts +315 -24
- package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +39 -6
- package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +387 -0
- package/dist/humain/mcp-adapter/vendor/mcp-callback-server.ts +27 -3
- package/dist/humain/mcp-adapter/vendor/mcp-code.ts +4 -0
- package/dist/humain/mcp-adapter/vendor/mcp-panel.ts +42 -13
- package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +32 -21
- package/dist/humain/mcp-adapter/vendor/package-mcp-loader.ts +168 -0
- package/dist/humain/mcp-adapter/vendor/package.json +179 -177
- package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +5 -4
- package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +31 -37
- package/dist/humain/mcp-adapter/vendor/search-ranking.ts +92 -22
- package/dist/humain/mcp-adapter/vendor/server-manager.ts +140 -2
- package/dist/humain/mcp-adapter/vendor/session-recovery.ts +7 -0
- package/dist/humain/mcp-adapter/vendor/tool-approval.ts +15 -2
- package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +44 -4
- package/dist/humain/mcp-adapter/vendor/types.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/ui-server.ts +18 -16
- package/dist/humain/mcp-adapter/vendor/utils.ts +70 -0
- package/dist/humain/mcp-adapter.d.ts.map +1 -1
- package/dist/humain/mcp-adapter.js.map +1 -1
- package/dist/humain/pi-agent-execution-host.d.ts.map +1 -1
- package/dist/humain/pi-agent-execution-host.js.map +1 -1
- package/dist/humain/web-access/host.d.ts.map +1 -1
- package/dist/humain/web-access/index.d.ts.map +1 -1
- package/dist/humain/web-access/index.js.map +1 -1
- package/dist/humain/web-access/vendor/activity.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/activity.js +7 -5
- package/dist/humain/web-access/vendor/activity.js.map +1 -1
- package/dist/humain/web-access/vendor/anysearch.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/anysearch.js +3 -2
- package/dist/humain/web-access/vendor/anysearch.js.map +1 -1
- package/dist/humain/web-access/vendor/auth-fetch.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/auth-fetch.js.map +1 -1
- package/dist/humain/web-access/vendor/bocha.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/bocha.js.map +1 -1
- package/dist/humain/web-access/vendor/brave.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/brave.js +14 -4
- package/dist/humain/web-access/vendor/brave.js.map +1 -1
- package/dist/humain/web-access/vendor/brightdata-unlocker.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/brightdata-unlocker.js.map +1 -1
- package/dist/humain/web-access/vendor/brightdata.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/brightdata.js.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.js +92 -14
- package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
- package/dist/humain/web-access/vendor/content-find.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/content-find.js.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.js +0 -2
- package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.d.ts +3 -0
- package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.js +4 -1
- package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.d.ts +3 -0
- package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.js +6 -0
- package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
- package/dist/humain/web-access/vendor/data-uri-sanitize.d.ts +21 -0
- package/dist/humain/web-access/vendor/data-uri-sanitize.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/data-uri-sanitize.js +373 -0
- package/dist/humain/web-access/vendor/data-uri-sanitize.js.map +1 -0
- package/dist/humain/web-access/vendor/datalab-pdf-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/datalab-pdf-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/declared-web-links.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/declared-web-links.js.map +1 -1
- package/dist/humain/web-access/vendor/duckduckgo.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/duckduckgo.js.map +1 -1
- package/dist/humain/web-access/vendor/exa.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/exa.js +16 -7
- package/dist/humain/web-access/vendor/exa.js.map +1 -1
- package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/extract.js +45 -5
- package/dist/humain/web-access/vendor/extract.js.map +1 -1
- package/dist/humain/web-access/vendor/feature-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/feature-config.js.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
- package/dist/humain/web-access/vendor/firecrawl.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/firecrawl.js +15 -2
- package/dist/humain/web-access/vendor/firecrawl.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-pdf-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-pdf-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.d.ts +2 -2
- package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.js +25 -8
- package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-api.js.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.js +69 -35
- package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/index.js +58 -54
- package/dist/humain/web-access/vendor/index.js.map +1 -1
- package/dist/humain/web-access/vendor/jina-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/jina-search.js.map +1 -1
- package/dist/humain/web-access/vendor/kagi.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/kagi.js.map +1 -1
- package/dist/humain/web-access/vendor/ollama.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/ollama.js.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.d.ts +1 -1
- package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.js +15 -5
- package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/page-query.d.ts +1 -2
- package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/page-query.js +5 -2
- package/dist/humain/web-access/vendor/page-query.js.map +1 -1
- package/dist/humain/web-access/vendor/parallel-mcp.d.ts +10 -0
- package/dist/humain/web-access/vendor/parallel-mcp.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/parallel-mcp.js +224 -0
- package/dist/humain/web-access/vendor/parallel-mcp.js.map +1 -0
- package/dist/humain/web-access/vendor/parallel.d.ts +1 -0
- package/dist/humain/web-access/vendor/parallel.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/parallel.js +2 -2
- package/dist/humain/web-access/vendor/parallel.js.map +1 -1
- package/dist/humain/web-access/vendor/pdf-extract.d.ts +1 -0
- package/dist/humain/web-access/vendor/pdf-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/pdf-extract.js +15 -5
- package/dist/humain/web-access/vendor/pdf-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/perplexity.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/perplexity.js.map +1 -1
- package/dist/humain/web-access/vendor/querit.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/querit.js.map +1 -1
- package/dist/humain/web-access/vendor/query-rewrite.d.ts +3 -0
- package/dist/humain/web-access/vendor/query-rewrite.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/query-rewrite.js +42 -0
- package/dist/humain/web-access/vendor/query-rewrite.js.map +1 -0
- package/dist/humain/web-access/vendor/render-search-error.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/render-search-error.js.map +1 -1
- package/dist/humain/web-access/vendor/rsc-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/rsc-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/search1api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/search1api.js.map +1 -1
- package/dist/humain/web-access/vendor/searchinfinity.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/searchinfinity.js.map +1 -1
- package/dist/humain/web-access/vendor/searxng.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/searxng.js.map +1 -1
- package/dist/humain/web-access/vendor/serpbase.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/serpbase.js.map +1 -1
- package/dist/humain/web-access/vendor/serpdive.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/serpdive.js.map +1 -1
- package/dist/humain/web-access/vendor/serper.d.ts +4 -0
- package/dist/humain/web-access/vendor/serper.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/serper.js +206 -0
- package/dist/humain/web-access/vendor/serper.js.map +1 -0
- package/dist/humain/web-access/vendor/source-check.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/source-check.js.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.d.ts +2 -0
- package/dist/humain/web-access/vendor/ssrf-protection.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js +11 -2
- package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
- package/dist/humain/web-access/vendor/storage.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/storage.js.map +1 -1
- package/dist/humain/web-access/vendor/summary-model-scope.d.ts +5 -0
- package/dist/humain/web-access/vendor/summary-model-scope.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/summary-model-scope.js +10 -5
- package/dist/humain/web-access/vendor/summary-model-scope.js.map +1 -1
- package/dist/humain/web-access/vendor/summary-review.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/summary-review.js +40 -14
- package/dist/humain/web-access/vendor/summary-review.js.map +1 -1
- package/dist/humain/web-access/vendor/tavily.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/tavily.js +14 -4
- package/dist/humain/web-access/vendor/tavily.js.map +1 -1
- package/dist/humain/web-access/vendor/tinyfish.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/tinyfish.js.map +1 -1
- package/dist/humain/web-access/vendor/utils.d.ts +10 -0
- package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/utils.js +70 -0
- package/dist/humain/web-access/vendor/utils.js.map +1 -1
- package/dist/humain/web-access/vendor/valyu.d.ts +6 -0
- package/dist/humain/web-access/vendor/valyu.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/valyu.js +194 -0
- package/dist/humain/web-access/vendor/valyu.js.map +1 -0
- package/dist/humain/web-access/vendor/video-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/video-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/xai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/xai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/youtube-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/youtube-extract.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 +4 -0
- 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/agent-exec-mode.d.ts.map +1 -1
- package/dist/modes/agent-exec-mode.js.map +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +6 -10
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +2 -9
- 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 +5 -22
- 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-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +1 -4
- package/dist/modes/interactive/components/custom-entry.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 -7
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js +6 -8
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js +2 -2
- 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/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.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/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +2 -4
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +1 -3
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts.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/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +14 -26
- 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 -11
- 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 -14
- 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 -57
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +10 -14
- 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/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +0 -2
- package/dist/modes/interactive/components/status-indicator.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 +19 -25
- 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/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js +0 -6
- package/dist/modes/interactive/components/trust-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/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +18 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +147 -137
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts +7 -0
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
- package/dist/modes/interactive/model-catalog-refresh.js +36 -0
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -1
- package/dist/modes/interactive/model-search.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +2 -0
- package/dist/modes/interactive/theme/light.json +2 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +10 -2
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +25 -18
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +9 -1
- package/dist/modes/interactive/theme/theme.d.ts +7 -5
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +12 -8
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +4 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +5 -2
- 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 +9 -10
- 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.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js.map +1 -1
- package/dist/server/create-harness.d.ts.map +1 -1
- package/dist/server/create-harness.js +2 -0
- package/dist/server/create-harness.js.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.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 +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/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/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/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.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.map +1 -1
- package/dist/utils/pi-user-agent.d.ts.map +1 -1
- package/dist/utils/pi-user-agent.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/tool-result-images.d.ts.map +1 -1
- package/dist/utils/tool-result-images.js.map +1 -1
- package/dist/utils/tools-manager.d.ts +10 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +14 -19
- 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/compaction.md +3 -3
- package/docs/custom-provider.md +1 -1
- package/docs/environment-variables.md +1 -0
- package/docs/extensions.md +5 -1
- package/docs/json.md +6 -4
- package/docs/keybindings.md +8 -2
- package/docs/rpc.md +15 -4
- package/docs/sdk.md +9 -0
- package/docs/settings.md +31 -0
- package/docs/terminal-setup.md +23 -2
- package/docs/themes.md +23 -3
- package/docs/tui.md +2 -2
- package/docs/usage.md +3 -2
- package/examples/extensions/README.md +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/minimal-mode.ts +6 -6
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/subagent/README.md +24 -147
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +853 -661
- package/package.json +33 -33
- package/src/humain/mcp-adapter/UPSTREAM.md +1 -1
- package/src/humain/mcp-adapter/upstream.json +3 -3
- package/src/humain/mcp-adapter/vendor/CHANGELOG.md +36 -0
- package/src/humain/web-access/UPSTREAM.md +1 -1
- package/src/humain/web-access/upstream.json +4 -4
- package/examples/extensions/subagent/agents.ts +0 -126
- package/examples/extensions/subagent/index.ts +0 -1015
|
@@ -69,6 +69,7 @@ import { TrustSelectorComponent } from "./components/trust-selector.js";
|
|
|
69
69
|
import { UserMessageComponent } from "./components/user-message.js";
|
|
70
70
|
import { UserMessageSelectorComponent } from "./components/user-message-selector.js";
|
|
71
71
|
import { editInExternalEditor } from "./external-editor.js";
|
|
72
|
+
import { refreshModelCatalogs } from "./model-catalog-refresh.js";
|
|
72
73
|
import { getModelSearchText } from "./model-search.js";
|
|
73
74
|
import { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, onThemeChange, setRegisteredThemes, stopThemeWatcher, Theme, theme, } from "./theme/theme.js";
|
|
74
75
|
import { InteractiveThemeController } from "./theme/theme-controller.js";
|
|
@@ -76,8 +77,6 @@ function isExpandable(obj) {
|
|
|
76
77
|
return typeof obj === "object" && obj !== null && "setExpanded" in obj && typeof obj.setExpanded === "function";
|
|
77
78
|
}
|
|
78
79
|
class ExpandableText extends Text {
|
|
79
|
-
getCollapsedText;
|
|
80
|
-
getExpandedText;
|
|
81
80
|
constructor(getCollapsedText, getExpandedText, expanded = false, paddingX = 0, paddingY = 0) {
|
|
82
81
|
super(expanded ? getExpandedText() : getCollapsedText(), paddingX, paddingY);
|
|
83
82
|
this.getCollapsedText = getCollapsedText;
|
|
@@ -169,9 +168,21 @@ function formatLoginProviderCompletionDescription(provider) {
|
|
|
169
168
|
export function createInteractiveTui(options) {
|
|
170
169
|
const terminal = options.terminal ?? new ProcessTerminal();
|
|
171
170
|
if (options.tuiMode === "fullscreen") {
|
|
171
|
+
const styleSearchMatch = (text) => theme.bg("searchMatchBg", theme.fg("searchMatchText", text));
|
|
172
172
|
return new TuiAltScreen(terminal, options.showHardwareCursor, options.logDirectory, {
|
|
173
|
+
searchMatchStyle: (text) => theme.underline(styleSearchMatch(text)),
|
|
174
|
+
searchCurrentMatchStyle: (text) => theme.bold(theme.inverse(styleSearchMatch(text))),
|
|
173
175
|
openUrl: openBrowser,
|
|
174
176
|
onRightClickPaste: options.onRightClickPaste,
|
|
177
|
+
copySelection: async (text) => {
|
|
178
|
+
try {
|
|
179
|
+
await copyToClipboard(text);
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
},
|
|
175
186
|
});
|
|
176
187
|
}
|
|
177
188
|
return new TuiMainScreen(terminal, options.showHardwareCursor, options.logDirectory);
|
|
@@ -208,108 +219,6 @@ export function createInteractiveTuiReference(getTui) {
|
|
|
208
219
|
});
|
|
209
220
|
}
|
|
210
221
|
export class InteractiveMode {
|
|
211
|
-
runtimeHost;
|
|
212
|
-
renderer;
|
|
213
|
-
ui;
|
|
214
|
-
mainScreenRenderState;
|
|
215
|
-
loadedResourcesContainer;
|
|
216
|
-
chatContainer;
|
|
217
|
-
documentContainer;
|
|
218
|
-
transcriptScrollView;
|
|
219
|
-
fullscreenLayoutRoot;
|
|
220
|
-
pendingMessagesContainer;
|
|
221
|
-
statusContainer;
|
|
222
|
-
defaultEditor;
|
|
223
|
-
editor;
|
|
224
|
-
editorComponentFactory;
|
|
225
|
-
autocompleteProvider;
|
|
226
|
-
autocompleteProviderWrappers = [];
|
|
227
|
-
fdPath;
|
|
228
|
-
editorContainer;
|
|
229
|
-
activeSelectorToken;
|
|
230
|
-
activeSelectorDispose;
|
|
231
|
-
footer;
|
|
232
|
-
footerContainer;
|
|
233
|
-
footerDataProvider;
|
|
234
|
-
// Stored so the same manager can be injected into custom editors, selectors, and extension UI.
|
|
235
|
-
keybindings;
|
|
236
|
-
version;
|
|
237
|
-
isInitialized = false;
|
|
238
|
-
onInputCallback;
|
|
239
|
-
pendingUserInputs = [];
|
|
240
|
-
activeStatusIndicator = undefined;
|
|
241
|
-
idleStatus = new IdleStatus();
|
|
242
|
-
workingMessage = undefined;
|
|
243
|
-
workingVisible = true;
|
|
244
|
-
workingIndicatorOptions = undefined;
|
|
245
|
-
defaultWorkingMessage = "Working...";
|
|
246
|
-
defaultHiddenThinkingLabel = "Thinking...";
|
|
247
|
-
hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
248
|
-
lastSigintTime = 0;
|
|
249
|
-
lastEscapeTime = 0;
|
|
250
|
-
changelogMarkdown = undefined;
|
|
251
|
-
startupNoticesShown = false;
|
|
252
|
-
anthropicSubscriptionWarningShown = false;
|
|
253
|
-
// Status line tracking (for mutating immediately-sequential status updates)
|
|
254
|
-
lastStatusSpacer = undefined;
|
|
255
|
-
lastStatusText = undefined;
|
|
256
|
-
// Streaming message tracking
|
|
257
|
-
streamingComponent = undefined;
|
|
258
|
-
streamingMessage = undefined;
|
|
259
|
-
// Tool execution tracking: toolCallId -> component
|
|
260
|
-
pendingTools = new Map();
|
|
261
|
-
// Tool output expansion state
|
|
262
|
-
toolOutputExpanded = false;
|
|
263
|
-
// Thinking block visibility state
|
|
264
|
-
hideThinkingBlock = false;
|
|
265
|
-
outputPad = 1;
|
|
266
|
-
mermaidMarkdownTransformer = createMermaidMarkdownTransformer({
|
|
267
|
-
getMode: () => this.settingsManager.getMermaidRenderingMode(),
|
|
268
|
-
theme,
|
|
269
|
-
});
|
|
270
|
-
// Skill commands: command name -> skill file path
|
|
271
|
-
skillCommands = new Map();
|
|
272
|
-
// Agent subscription unsubscribe function
|
|
273
|
-
unsubscribe;
|
|
274
|
-
signalCleanupHandlers = [];
|
|
275
|
-
// Track if editor is in bash mode (text starts with !)
|
|
276
|
-
isBashMode = false;
|
|
277
|
-
// Track current bash execution component
|
|
278
|
-
bashComponent = undefined;
|
|
279
|
-
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
280
|
-
pendingBashComponents = [];
|
|
281
|
-
// Auto-compaction state
|
|
282
|
-
autoCompactionEscapeHandler;
|
|
283
|
-
// Auto-retry state
|
|
284
|
-
retryEscapeHandler;
|
|
285
|
-
// Messages queued while compaction is running
|
|
286
|
-
compactionQueuedMessages = [];
|
|
287
|
-
// Shutdown state
|
|
288
|
-
shutdownRequested = false;
|
|
289
|
-
// Extension UI state
|
|
290
|
-
extensionSelector = undefined;
|
|
291
|
-
extensionInput = undefined;
|
|
292
|
-
extensionEditor = undefined;
|
|
293
|
-
extensionTerminalInputSubscriptions = new Set();
|
|
294
|
-
// Extension widgets (components rendered above/below the editor)
|
|
295
|
-
extensionWidgetsAbove = new Map();
|
|
296
|
-
extensionWidgetsBelow = new Map();
|
|
297
|
-
widgetContainerAbove;
|
|
298
|
-
widgetContainerBelow;
|
|
299
|
-
// Custom footer from extension (undefined = use built-in footer)
|
|
300
|
-
customFooter = undefined;
|
|
301
|
-
// Header container that holds the built-in or custom header
|
|
302
|
-
headerContainer;
|
|
303
|
-
// Built-in header (logo + keybinding hints + changelog)
|
|
304
|
-
builtInHeader = undefined;
|
|
305
|
-
// Custom header from extension (undefined = use built-in header)
|
|
306
|
-
customHeader = undefined;
|
|
307
|
-
options;
|
|
308
|
-
onRightClickPaste = () => {
|
|
309
|
-
void this.handleRightClickPaste();
|
|
310
|
-
};
|
|
311
|
-
autoTrustOnReloadCwd;
|
|
312
|
-
themeController;
|
|
313
222
|
// Convenience accessors
|
|
314
223
|
get session() {
|
|
315
224
|
return this.runtimeHost.session;
|
|
@@ -324,6 +233,76 @@ export class InteractiveMode {
|
|
|
324
233
|
return this.session.settingsManager;
|
|
325
234
|
}
|
|
326
235
|
constructor(runtimeHost, options = {}) {
|
|
236
|
+
this.autocompleteProviderWrappers = [];
|
|
237
|
+
this.isInitialized = false;
|
|
238
|
+
this.pendingUserInputs = [];
|
|
239
|
+
this.activeStatusIndicator = undefined;
|
|
240
|
+
this.idleStatus = new IdleStatus();
|
|
241
|
+
this.workingMessage = undefined;
|
|
242
|
+
this.workingVisible = true;
|
|
243
|
+
this.workingIndicatorOptions = undefined;
|
|
244
|
+
this.defaultWorkingMessage = "Working...";
|
|
245
|
+
this.defaultHiddenThinkingLabel = "Thinking...";
|
|
246
|
+
this.hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
247
|
+
this.lastSigintTime = 0;
|
|
248
|
+
this.lastEscapeTime = 0;
|
|
249
|
+
this.changelogMarkdown = undefined;
|
|
250
|
+
this.startupNoticesShown = false;
|
|
251
|
+
this.anthropicSubscriptionWarningShown = false;
|
|
252
|
+
// Status line tracking (for mutating immediately-sequential status updates)
|
|
253
|
+
this.lastStatusSpacer = undefined;
|
|
254
|
+
this.lastStatusText = undefined;
|
|
255
|
+
this.managedToolStatusStarted = false;
|
|
256
|
+
// Streaming message tracking
|
|
257
|
+
this.streamingComponent = undefined;
|
|
258
|
+
this.streamingMessage = undefined;
|
|
259
|
+
// Tool execution tracking: toolCallId -> component
|
|
260
|
+
this.pendingTools = new Map();
|
|
261
|
+
// Tool output expansion state
|
|
262
|
+
this.toolOutputExpanded = false;
|
|
263
|
+
// Thinking block visibility state
|
|
264
|
+
this.hideThinkingBlock = false;
|
|
265
|
+
this.outputPad = 1;
|
|
266
|
+
this.mermaidMarkdownTransformer = createMermaidMarkdownTransformer({
|
|
267
|
+
getMode: () => this.settingsManager.getMermaidRenderingMode(),
|
|
268
|
+
theme,
|
|
269
|
+
});
|
|
270
|
+
// Skill commands: command name -> skill file path
|
|
271
|
+
this.skillCommands = new Map();
|
|
272
|
+
this.signalCleanupHandlers = [];
|
|
273
|
+
// Track if editor is in bash mode (text starts with !)
|
|
274
|
+
this.isBashMode = false;
|
|
275
|
+
// Track current bash execution component
|
|
276
|
+
this.bashComponent = undefined;
|
|
277
|
+
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
278
|
+
this.pendingBashComponents = [];
|
|
279
|
+
// Messages queued while compaction is running
|
|
280
|
+
this.compactionQueuedMessages = [];
|
|
281
|
+
// Shutdown state
|
|
282
|
+
this.shutdownRequested = false;
|
|
283
|
+
// Extension UI state
|
|
284
|
+
this.extensionSelector = undefined;
|
|
285
|
+
this.extensionInput = undefined;
|
|
286
|
+
this.extensionEditor = undefined;
|
|
287
|
+
this.extensionTerminalInputSubscriptions = new Set();
|
|
288
|
+
// Extension widgets (components rendered above/below the editor)
|
|
289
|
+
this.extensionWidgetsAbove = new Map();
|
|
290
|
+
this.extensionWidgetsBelow = new Map();
|
|
291
|
+
// Custom footer from extension (undefined = use built-in footer)
|
|
292
|
+
this.customFooter = undefined;
|
|
293
|
+
// Built-in header (logo + keybinding hints + changelog)
|
|
294
|
+
this.builtInHeader = undefined;
|
|
295
|
+
// Custom header from extension (undefined = use built-in header)
|
|
296
|
+
this.customHeader = undefined;
|
|
297
|
+
this.onRightClickPaste = () => {
|
|
298
|
+
void this.handleRightClickPaste();
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* Gracefully shutdown the agent.
|
|
302
|
+
* Stops the TUI before emitting shutdown events so extension UI cleanup cannot
|
|
303
|
+
* repaint the final frame while the process is exiting.
|
|
304
|
+
*/
|
|
305
|
+
this.isShuttingDown = false;
|
|
327
306
|
this.runtimeHost = runtimeHost;
|
|
328
307
|
const tuiMode = options.tuiMode ?? this.settingsManager.getTuiMode();
|
|
329
308
|
this.options = { ...options, tuiMode };
|
|
@@ -333,6 +312,7 @@ export class InteractiveMode {
|
|
|
333
312
|
});
|
|
334
313
|
this.runtimeHost.setRebindSession(async () => {
|
|
335
314
|
await this.rebindCurrentSession({ renderBeforeBind: true });
|
|
315
|
+
await this.themeController.applyFromSettings();
|
|
336
316
|
});
|
|
337
317
|
this.version = VERSION;
|
|
338
318
|
this.renderer = createInteractiveTui({
|
|
@@ -375,7 +355,12 @@ export class InteractiveMode {
|
|
|
375
355
|
this.outputPad = this.settingsManager.getOutputPad();
|
|
376
356
|
// Register themes from resource loader and initialize
|
|
377
357
|
setRegisteredThemes(this.session.resourceLoader.getThemes().themes);
|
|
378
|
-
this.themeController = new InteractiveThemeController(this.ui,
|
|
358
|
+
this.themeController = new InteractiveThemeController(this.ui, {
|
|
359
|
+
getSettingsManager: () => this.settingsManager,
|
|
360
|
+
showError: (message) => this.showError(message),
|
|
361
|
+
onChanged: () => this.updateEditorBorderColor(),
|
|
362
|
+
initialThemeSetting: options.initialThemeSetting,
|
|
363
|
+
});
|
|
379
364
|
}
|
|
380
365
|
getAutocompleteSourceTag(sourceInfo) {
|
|
381
366
|
if (!sourceInfo) {
|
|
@@ -538,14 +523,14 @@ export class InteractiveMode {
|
|
|
538
523
|
tui.setLayoutRoot(this.fullscreenLayoutRoot);
|
|
539
524
|
}
|
|
540
525
|
}
|
|
541
|
-
stopInteractiveTui() {
|
|
542
|
-
if (this.renderer.mode === "fullscreen") {
|
|
526
|
+
stopInteractiveTui(fullscreenExitOutput) {
|
|
527
|
+
if (this.renderer.mode === "fullscreen" && fullscreenExitOutput === "transcript") {
|
|
543
528
|
while (this.renderer.hasOverlayEntries)
|
|
544
529
|
this.renderer.hideOverlay();
|
|
545
530
|
this.switchTuiMode("regular", false, false);
|
|
546
531
|
this.renderer.renderNow();
|
|
547
532
|
}
|
|
548
|
-
this.ui.stop();
|
|
533
|
+
this.ui.stop({ preserveScreen: this.renderer.mode === "fullscreen" });
|
|
549
534
|
}
|
|
550
535
|
switchTuiMode(mode, restoreProgress = true, startRenderer = true) {
|
|
551
536
|
const previousUi = this.renderer;
|
|
@@ -602,10 +587,6 @@ export class InteractiveMode {
|
|
|
602
587
|
this.registerSignalHandlers();
|
|
603
588
|
// Load changelog (only show new entries, skip for resumed sessions)
|
|
604
589
|
this.changelogMarkdown = this.getChangelogForDisplay();
|
|
605
|
-
// Ensure fd and rg are available (downloads if missing, adds to PATH via getBinDir)
|
|
606
|
-
// Both are needed: fd for autocomplete, rg for grep tool and bash commands
|
|
607
|
-
const [fdPath] = await Promise.all([ensureTool("fd"), ensureTool("rg")]);
|
|
608
|
-
this.fdPath = fdPath;
|
|
609
590
|
if (this.session.scopedModels.length > 0 && (this.options.verbose || !this.settingsManager.getQuietStartup())) {
|
|
610
591
|
const modelList = this.session.scopedModels
|
|
611
592
|
.map((sm) => {
|
|
@@ -649,9 +630,11 @@ export class InteractiveMode {
|
|
|
649
630
|
this.widgetContainerBelow,
|
|
650
631
|
this.footerContainer,
|
|
651
632
|
]);
|
|
633
|
+
// Accept text while startup completes, but only enable interrupt, exit, and submission feedback.
|
|
634
|
+
this.defaultEditor.onAction("app.clear", () => this.handleCtrlC());
|
|
635
|
+
this.defaultEditor.onCtrlD = () => this.handleCtrlD();
|
|
636
|
+
this.defaultEditor.onSubmit = (text) => this.handleStartupSubmit(text);
|
|
652
637
|
this.ui.setFocus(this.editor);
|
|
653
|
-
this.setupKeyHandlers();
|
|
654
|
-
this.setupEditorSubmitHandler();
|
|
655
638
|
// Start the UI before initializing extensions so session_start handlers can use interactive dialogs
|
|
656
639
|
this.ui.start();
|
|
657
640
|
this.isInitialized = true;
|
|
@@ -703,6 +686,18 @@ export class InteractiveMode {
|
|
|
703
686
|
this.headerContainer.addChild(this.builtInHeader);
|
|
704
687
|
}
|
|
705
688
|
this.ui.requestRender();
|
|
689
|
+
// Ensure fd and rg are available after mounting the TUI (downloads if missing, adds to PATH via getBinDir)
|
|
690
|
+
// so slow downloads do not make startup appear frozen.
|
|
691
|
+
// Both are needed: fd for autocomplete, rg for grep tool and bash commands.
|
|
692
|
+
const [fdPath] = await Promise.all([
|
|
693
|
+
ensureTool("fd", (status) => this.showManagedToolStatus(status)),
|
|
694
|
+
ensureTool("rg", (status) => this.showManagedToolStatus(status)),
|
|
695
|
+
]);
|
|
696
|
+
this.fdPath = fdPath;
|
|
697
|
+
// Enable the remaining input handlers only after managed-tool setup completes.
|
|
698
|
+
this.setupKeyHandlers();
|
|
699
|
+
this.setupEditorSubmitHandler();
|
|
700
|
+
this.ui.requestRender();
|
|
706
701
|
// Initialize extensions first so resources are shown before messages
|
|
707
702
|
await this.rebindCurrentSession();
|
|
708
703
|
// Render initial messages AFTER showing loaded resources
|
|
@@ -742,8 +737,7 @@ export class InteractiveMode {
|
|
|
742
737
|
if (!process.env.PI_OFFLINE) {
|
|
743
738
|
const controller = new AbortController();
|
|
744
739
|
const timeout = setTimeout(() => controller.abort(), 15_000);
|
|
745
|
-
void this.session.modelRuntime
|
|
746
|
-
.refresh({ signal: controller.signal })
|
|
740
|
+
void refreshModelCatalogs(this.session.modelRuntime, controller.signal)
|
|
747
741
|
.then(() => this.updateAvailableProviderCount())
|
|
748
742
|
.catch(() => { })
|
|
749
743
|
.finally(() => clearTimeout(timeout));
|
|
@@ -1499,7 +1493,7 @@ export class InteractiveMode {
|
|
|
1499
1493
|
const message = error instanceof Error ? error.message : String(error);
|
|
1500
1494
|
this.showError(`${prefix}: ${message}`);
|
|
1501
1495
|
stopThemeWatcher();
|
|
1502
|
-
this.stop();
|
|
1496
|
+
this.stop("transcript");
|
|
1503
1497
|
process.exit(1);
|
|
1504
1498
|
}
|
|
1505
1499
|
renderCurrentSessionState() {
|
|
@@ -1714,7 +1708,7 @@ export class InteractiveMode {
|
|
|
1714
1708
|
this.setHiddenThinkingLabel();
|
|
1715
1709
|
}
|
|
1716
1710
|
// Maximum total widget lines to prevent viewport overflow
|
|
1717
|
-
static MAX_WIDGET_LINES = 10;
|
|
1711
|
+
static { this.MAX_WIDGET_LINES = 10; }
|
|
1718
1712
|
/**
|
|
1719
1713
|
* Render all extension widgets to the widget container.
|
|
1720
1714
|
*/
|
|
@@ -2291,6 +2285,10 @@ export class InteractiveMode {
|
|
|
2291
2285
|
// Silently ignore clipboard errors (may not have permission, etc.)
|
|
2292
2286
|
}
|
|
2293
2287
|
}
|
|
2288
|
+
handleStartupSubmit(text) {
|
|
2289
|
+
this.editor.setText(text);
|
|
2290
|
+
this.showStatus("Startup is still in progress");
|
|
2291
|
+
}
|
|
2294
2292
|
setupEditorSubmitHandler() {
|
|
2295
2293
|
this.defaultEditor.onSubmit = async (text) => {
|
|
2296
2294
|
text = text.trim();
|
|
@@ -2766,6 +2764,19 @@ export class InteractiveMode {
|
|
|
2766
2764
|
: message.content.filter((c) => c.type === "text");
|
|
2767
2765
|
return textBlocks.map((c) => c.text).join("");
|
|
2768
2766
|
}
|
|
2767
|
+
/** Show a managed-tool status update in the chat. */
|
|
2768
|
+
showManagedToolStatus(status) {
|
|
2769
|
+
if (!this.managedToolStatusStarted) {
|
|
2770
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
2771
|
+
this.managedToolStatusStarted = true;
|
|
2772
|
+
}
|
|
2773
|
+
const message = status.type === "warning" ? `Warning: ${status.message}` : status.message;
|
|
2774
|
+
const color = status.type === "warning" ? "warning" : "dim";
|
|
2775
|
+
this.chatContainer.addChild(new Text(theme.fg(color, message), 1, 0));
|
|
2776
|
+
this.lastStatusSpacer = undefined;
|
|
2777
|
+
this.lastStatusText = undefined;
|
|
2778
|
+
this.ui.requestRender();
|
|
2779
|
+
}
|
|
2769
2780
|
/**
|
|
2770
2781
|
* Show a status message in the chat.
|
|
2771
2782
|
*
|
|
@@ -3059,12 +3070,6 @@ export class InteractiveMode {
|
|
|
3059
3070
|
// Only called when editor is empty (enforced by CustomEditor)
|
|
3060
3071
|
void this.shutdown();
|
|
3061
3072
|
}
|
|
3062
|
-
/**
|
|
3063
|
-
* Gracefully shutdown the agent.
|
|
3064
|
-
* Stops the TUI before emitting shutdown events so extension UI cleanup cannot
|
|
3065
|
-
* repaint the final frame while the process is exiting.
|
|
3066
|
-
*/
|
|
3067
|
-
isShuttingDown = false;
|
|
3068
3073
|
async shutdown(options) {
|
|
3069
3074
|
if (this.isShuttingDown)
|
|
3070
3075
|
return;
|
|
@@ -3137,7 +3142,7 @@ export class InteractiveMode {
|
|
|
3137
3142
|
this.ui.stop();
|
|
3138
3143
|
}
|
|
3139
3144
|
catch { }
|
|
3140
|
-
console.error(
|
|
3145
|
+
console.error(`${APP_NAME} exiting due to uncaughtException:`);
|
|
3141
3146
|
console.error(error);
|
|
3142
3147
|
process.exit(1);
|
|
3143
3148
|
}
|
|
@@ -3622,7 +3627,7 @@ export class InteractiveMode {
|
|
|
3622
3627
|
httpIdleTimeoutMs: this.settingsManager.getHttpIdleTimeoutMs(),
|
|
3623
3628
|
thinkingLevel: this.session.thinkingLevel,
|
|
3624
3629
|
availableThinkingLevels: this.session.getAvailableThinkingLevels(),
|
|
3625
|
-
currentTheme: this.
|
|
3630
|
+
currentTheme: this.themeController.getThemeSelection() || "dark",
|
|
3626
3631
|
terminalTheme: this.themeController.getTerminalTheme(),
|
|
3627
3632
|
availableThemes: getAvailableThemes(),
|
|
3628
3633
|
hideThinkingBlock: this.hideThinkingBlock,
|
|
@@ -3641,6 +3646,7 @@ export class InteractiveMode {
|
|
|
3641
3646
|
clearOnShrink: this.settingsManager.getClearOnShrink(),
|
|
3642
3647
|
showTerminalProgress: this.settingsManager.getShowTerminalProgress(),
|
|
3643
3648
|
tuiMode: this.ui.mode,
|
|
3649
|
+
fullscreenExitOutput: this.settingsManager.getFullscreenExitOutput(),
|
|
3644
3650
|
fullscreenScrollbar: this.settingsManager.getFullscreenScrollbar(),
|
|
3645
3651
|
warnings: this.settingsManager.getWarnings(),
|
|
3646
3652
|
}, {
|
|
@@ -3696,7 +3702,7 @@ export class InteractiveMode {
|
|
|
3696
3702
|
},
|
|
3697
3703
|
onThemeChange: (themeSetting) => {
|
|
3698
3704
|
this.settingsManager.setTheme(themeSetting);
|
|
3699
|
-
void this.themeController.
|
|
3705
|
+
void this.themeController.setThemeSetting(themeSetting);
|
|
3700
3706
|
},
|
|
3701
3707
|
onThemePreview: (themeName) => this.themeController.preview(themeName),
|
|
3702
3708
|
onHideThinkingBlockChange: (hidden) => {
|
|
@@ -3795,6 +3801,9 @@ export class InteractiveMode {
|
|
|
3795
3801
|
this.statusContainer.clear();
|
|
3796
3802
|
this.showStatus(`TUI mode: ${mode}`);
|
|
3797
3803
|
},
|
|
3804
|
+
onFullscreenExitOutputChange: (output) => {
|
|
3805
|
+
this.settingsManager.setFullscreenExitOutput(output);
|
|
3806
|
+
},
|
|
3798
3807
|
onFullscreenScrollbarChange: (mode) => {
|
|
3799
3808
|
this.settingsManager.setFullscreenScrollbar(mode);
|
|
3800
3809
|
this.applyFullscreenScrollbarSetting();
|
|
@@ -3847,7 +3856,7 @@ export class InteractiveMode {
|
|
|
3847
3856
|
controller.abort();
|
|
3848
3857
|
}, 15_000);
|
|
3849
3858
|
try {
|
|
3850
|
-
const result = await this.session.modelRuntime
|
|
3859
|
+
const result = await refreshModelCatalogs(this.session.modelRuntime, controller.signal);
|
|
3851
3860
|
if (result.aborted && timedOut) {
|
|
3852
3861
|
this.showWarning("Model refresh timed out; searching cached models.");
|
|
3853
3862
|
}
|
|
@@ -3880,7 +3889,7 @@ export class InteractiveMode {
|
|
|
3880
3889
|
if (this.anthropicSubscriptionWarningShown) {
|
|
3881
3890
|
return;
|
|
3882
3891
|
}
|
|
3883
|
-
if (
|
|
3892
|
+
if (model?.provider !== "anthropic") {
|
|
3884
3893
|
return;
|
|
3885
3894
|
}
|
|
3886
3895
|
try {
|
|
@@ -3935,7 +3944,7 @@ export class InteractiveMode {
|
|
|
3935
3944
|
onSelect: (selection) => {
|
|
3936
3945
|
trustStore.setMany(selection.updates);
|
|
3937
3946
|
done();
|
|
3938
|
-
this.showStatus(`Saved trust decision: ${selection.trusted ? "trusted" : "untrusted"}. Restart
|
|
3947
|
+
this.showStatus(`Saved trust decision: ${selection.trusted ? "trusted" : "untrusted"}. Restart ${APP_NAME} for this to take effect.`);
|
|
3939
3948
|
},
|
|
3940
3949
|
onCancel: () => {
|
|
3941
3950
|
done();
|
|
@@ -4035,8 +4044,7 @@ export class InteractiveMode {
|
|
|
4035
4044
|
this.ui.requestRender();
|
|
4036
4045
|
},
|
|
4037
4046
|
});
|
|
4038
|
-
void this.session.modelRuntime
|
|
4039
|
-
.refresh({ signal: controller.signal })
|
|
4047
|
+
void refreshModelCatalogs(this.session.modelRuntime, controller.signal)
|
|
4040
4048
|
.then((result) => {
|
|
4041
4049
|
if (disposed)
|
|
4042
4050
|
return;
|
|
@@ -4590,7 +4598,7 @@ export class InteractiveMode {
|
|
|
4590
4598
|
this.ui.requestRender();
|
|
4591
4599
|
};
|
|
4592
4600
|
const dialog = new LoginDialogComponent(this.ui, providerOption.id, () => restoreEditor(), providerOption.name, `${providerOption.name} setup`);
|
|
4593
|
-
dialog.showInfo(`${providerOption.method?.name ?? "Authentication"} is configured outside
|
|
4601
|
+
dialog.showInfo(`${providerOption.method?.name ?? "Authentication"} is configured outside ${APP_NAME}.`, [], true);
|
|
4594
4602
|
this.editorContainer.clear();
|
|
4595
4603
|
this.editorContainer.addChild(dialog);
|
|
4596
4604
|
this.ui.setFocus(dialog);
|
|
@@ -4827,7 +4835,9 @@ export class InteractiveMode {
|
|
|
4827
4835
|
this.showStatus(`Session exported to: ${filePath}`);
|
|
4828
4836
|
}
|
|
4829
4837
|
else {
|
|
4830
|
-
const filePath = await this.session.exportToHtml(outputPath
|
|
4838
|
+
const filePath = await this.session.exportToHtml(outputPath, {
|
|
4839
|
+
themeName: theme.name,
|
|
4840
|
+
});
|
|
4831
4841
|
this.showStatus(`Session exported to: ${filePath}`);
|
|
4832
4842
|
}
|
|
4833
4843
|
}
|
|
@@ -4918,7 +4928,7 @@ export class InteractiveMode {
|
|
|
4918
4928
|
// Export to a temp file
|
|
4919
4929
|
const tmpFile = path.join(os.tmpdir(), "session.html");
|
|
4920
4930
|
try {
|
|
4921
|
-
await this.session.exportToHtml(tmpFile);
|
|
4931
|
+
await this.session.exportToHtml(tmpFile, { themeName: theme.name });
|
|
4922
4932
|
}
|
|
4923
4933
|
catch (error) {
|
|
4924
4934
|
this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -5364,7 +5374,7 @@ export class InteractiveMode {
|
|
|
5364
5374
|
// Ignore, will be emitted as an event
|
|
5365
5375
|
}
|
|
5366
5376
|
}
|
|
5367
|
-
stop() {
|
|
5377
|
+
stop(fullscreenExitOutput = this.settingsManager.getFullscreenExitOutput()) {
|
|
5368
5378
|
this.disposeActiveSelector();
|
|
5369
5379
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
5370
5380
|
this.ui.terminal.setProgress(false);
|
|
@@ -5378,7 +5388,7 @@ export class InteractiveMode {
|
|
|
5378
5388
|
this.unsubscribe();
|
|
5379
5389
|
}
|
|
5380
5390
|
if (this.isInitialized) {
|
|
5381
|
-
this.stopInteractiveTui();
|
|
5391
|
+
this.stopInteractiveTui(fullscreenExitOutput);
|
|
5382
5392
|
this.isInitialized = false;
|
|
5383
5393
|
}
|
|
5384
5394
|
this.unregisterSignalHandlers();
|