@prometheus-ai/agent 0.5.4 → 0.5.8
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/dist/cli.js +25110 -0
- package/dist/types/async/index.d.ts +0 -1
- package/dist/types/async/job-manager.d.ts +33 -0
- package/dist/types/autolearn/controller.d.ts +25 -0
- package/dist/types/autolearn/managed-skills.d.ts +45 -0
- package/dist/types/autoresearch/state.d.ts +1 -1
- package/dist/types/autoresearch/tools/init-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/log-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/run-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/update-notes.d.ts +1 -1
- package/dist/types/autoresearch/types.d.ts +1 -1
- package/dist/types/capability/context-file.d.ts +0 -13
- package/dist/types/capability/mcp.d.ts +1 -0
- package/dist/types/capability/rule-buckets.d.ts +1 -1
- package/dist/types/capability/rule.d.ts +6 -1
- package/dist/types/capability/types.d.ts +0 -4
- package/dist/types/cli/args.d.ts +23 -3
- package/dist/types/cli/bench-cli.d.ts +78 -0
- package/dist/types/cli/claude-trace-cli.d.ts +7 -0
- package/dist/types/cli/dry-balance-cli.d.ts +16 -2
- package/dist/types/cli/gallery-cli.d.ts +43 -0
- package/dist/types/cli/gallery-fixtures/agentic.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/codeintel.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/edit.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/fs.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/index.d.ts +4 -0
- package/dist/types/cli/gallery-fixtures/interaction.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/memory.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/misc.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/search.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/shell.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/types.d.ts +55 -0
- package/dist/types/cli/gallery-fixtures/web.d.ts +2 -0
- package/dist/types/cli/gallery-screenshot.d.ts +35 -0
- package/dist/types/cli/grievances-cli.d.ts +1 -1
- package/dist/types/cli/list-models.d.ts +6 -14
- package/dist/types/cli/models-cli.d.ts +49 -0
- package/dist/types/cli/session-picker.d.ts +1 -1
- package/dist/types/cli/setup-cli.d.ts +1 -1
- package/dist/types/cli/setup-model-picker.d.ts +14 -0
- package/dist/types/cli/startup-cwd.d.ts +2 -0
- package/dist/types/cli/update-cli.d.ts +13 -40
- package/dist/types/cli/usage-cli.d.ts +81 -0
- package/dist/types/cli-commands.d.ts +12 -0
- package/dist/types/collab/crypto.d.ts +7 -0
- package/dist/types/collab/guest.d.ts +37 -0
- package/dist/types/collab/host.d.ts +29 -0
- package/dist/types/collab/protocol.d.ts +119 -0
- package/dist/types/collab/relay-client.d.ts +22 -0
- package/dist/types/commands/bench.d.ts +29 -0
- package/dist/types/commands/gallery.d.ts +47 -0
- package/dist/types/commands/install.d.ts +1 -1
- package/dist/types/commands/join.d.ts +12 -0
- package/dist/types/commands/launch.d.ts +8 -4
- package/dist/types/commands/models.d.ts +33 -0
- package/dist/types/commands/read.d.ts +1 -1
- package/dist/types/commands/say.d.ts +24 -0
- package/dist/types/commands/token.d.ts +25 -0
- package/dist/types/commands/usage.d.ts +34 -0
- package/dist/types/commit/agentic/tools/analyze-file.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-file-diff.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-hunk.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-overview.d.ts +1 -1
- package/dist/types/commit/agentic/tools/propose-changelog.d.ts +1 -1
- package/dist/types/commit/agentic/tools/propose-commit.d.ts +1 -1
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +1 -1
- package/dist/types/commit/agentic/tools/schemas.d.ts +1 -1
- package/dist/types/commit/agentic/tools/split-commit.d.ts +1 -1
- package/dist/types/commit/analysis/conventional.d.ts +2 -2
- package/dist/types/commit/analysis/summary.d.ts +2 -2
- package/dist/types/commit/changelog/generate.d.ts +3 -3
- package/dist/types/commit/changelog/index.d.ts +2 -2
- package/dist/types/commit/map-reduce/index.d.ts +3 -3
- package/dist/types/commit/map-reduce/map-phase.d.ts +2 -2
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +2 -2
- package/dist/types/commit/model-selection.d.ts +10 -4
- package/dist/types/commit/shared-llm.d.ts +1 -1
- package/dist/types/config/api-key-resolver.d.ts +43 -0
- package/dist/types/config/append-only-context-mode.d.ts +2 -1
- package/dist/types/config/keybindings.d.ts +12 -7
- package/dist/types/config/model-discovery.d.ts +57 -0
- package/dist/types/config/model-equivalence.d.ts +1 -1
- package/dist/types/config/model-registry.d.ts +86 -222
- package/dist/types/config/model-resolver.d.ts +43 -12
- package/dist/types/config/model-roles.d.ts +29 -0
- package/dist/types/config/models-config-schema.d.ts +536 -43
- package/dist/types/config/models-config.d.ts +391 -0
- package/dist/types/config/settings-schema.d.ts +1202 -324
- package/dist/types/config/settings.d.ts +15 -3
- package/dist/types/dap/config.d.ts +14 -1
- package/dist/types/dap/types.d.ts +10 -0
- package/dist/types/debug/log-viewer.d.ts +1 -1
- package/dist/types/debug/raw-sse.d.ts +1 -1
- package/dist/types/debug/report-bundle.d.ts +3 -0
- package/dist/types/debug/terminal-info.d.ts +0 -1
- package/dist/types/discovery/at-imports.d.ts +15 -0
- package/dist/types/discovery/prometheus-extension-roots.d.ts +7 -7
- package/dist/types/edit/diff.d.ts +3 -2
- package/dist/types/edit/file-snapshot-store.d.ts +18 -0
- package/dist/types/edit/hashline/noop-loop-guard.d.ts +72 -0
- package/dist/types/edit/hashline/params.d.ts +1 -1
- package/dist/types/edit/index.d.ts +0 -1
- package/dist/types/edit/modes/apply-patch.d.ts +1 -1
- package/dist/types/edit/modes/patch.d.ts +1 -1
- package/dist/types/edit/modes/replace.d.ts +1 -1
- package/dist/types/edit/renderer.d.ts +1 -0
- package/dist/types/eval/__tests__/completion-bridge.test.d.ts +1 -0
- package/dist/types/eval/__tests__/helpers-local-roots.test.d.ts +1 -0
- package/dist/types/eval/__tests__/js-context-manager.test.d.ts +1 -0
- package/dist/types/eval/backend.d.ts +7 -2
- package/dist/types/eval/bridge-timeout.d.ts +1 -1
- package/dist/types/eval/completion-bridge.d.ts +25 -0
- package/dist/types/eval/idle-timeout.d.ts +1 -5
- package/dist/types/eval/js/context-manager.d.ts +1 -0
- package/dist/types/eval/js/executor.d.ts +2 -0
- package/dist/types/eval/js/index.d.ts +1 -1
- package/dist/types/eval/js/shared/helpers.d.ts +7 -1
- package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -6
- package/dist/types/eval/js/shared/runtime.d.ts +6 -1
- package/dist/types/eval/js/worker-protocol.d.ts +6 -0
- package/dist/types/eval/py/__tests__/prelude.test.d.ts +1 -0
- package/dist/types/eval/py/executor.d.ts +12 -0
- package/dist/types/eval/py/index.d.ts +1 -1
- package/dist/types/eval/py/kernel.d.ts +6 -1
- package/dist/types/eval/py/runtime.d.ts +9 -0
- package/dist/types/exa/index.d.ts +1 -19
- package/dist/types/exa/mcp-client.d.ts +10 -3
- package/dist/types/exa/types.d.ts +0 -83
- package/dist/types/exec/bash-executor.d.ts +7 -0
- package/dist/types/export/custom-share.d.ts +1 -2
- package/dist/types/export/html/index.d.ts +39 -0
- package/dist/types/export/html/template-js.d.ts +2 -0
- package/dist/types/export/share.d.ts +61 -0
- package/dist/types/export/ttsr.d.ts +14 -0
- package/dist/types/extensibility/custom-commands/types.d.ts +9 -4
- package/dist/types/extensibility/custom-tools/loader.d.ts +30 -4
- package/dist/types/extensibility/custom-tools/types.d.ts +16 -8
- package/dist/types/extensibility/extensions/index.d.ts +1 -1
- package/dist/types/extensibility/extensions/loader.d.ts +20 -1
- package/dist/types/extensibility/extensions/model-api.d.ts +17 -0
- package/dist/types/extensibility/extensions/runner.d.ts +5 -2
- package/dist/types/extensibility/extensions/types.d.ts +72 -11
- package/dist/types/extensibility/hooks/index.d.ts +2 -1
- package/dist/types/extensibility/hooks/loader.d.ts +1 -1
- package/dist/types/extensibility/hooks/types.d.ts +11 -5
- package/dist/types/extensibility/{legacy-pi-ai-shim.d.ts → legacy-package-ai-shim.d.ts} +2 -2
- package/dist/types/extensibility/plugins/{legacy-pi-compat.d.ts → legacy-package-compat.d.ts} +20 -3
- package/dist/types/extensibility/plugins/loader.d.ts +11 -0
- package/dist/types/extensibility/plugins/marketplace-auto-update.d.ts +8 -0
- package/dist/types/extensibility/plugins/types.d.ts +2 -2
- package/dist/types/extensibility/shared-events.d.ts +3 -3
- package/dist/types/extensibility/skills.d.ts +10 -0
- package/dist/types/extensibility/slash-commands.d.ts +1 -11
- package/dist/types/goals/guided-setup.d.ts +18 -0
- package/dist/types/goals/state.d.ts +1 -1
- package/dist/types/goals/tools/goal-tool.d.ts +1 -1
- package/dist/types/hindsight/mental-models.d.ts +17 -8
- package/dist/types/hindsight/transcript.d.ts +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/internal-urls/artifact-protocol.d.ts +2 -2
- package/dist/types/internal-urls/history-protocol.d.ts +14 -0
- package/dist/types/internal-urls/index.d.ts +1 -0
- package/dist/types/internal-urls/local-protocol.d.ts +14 -2
- package/dist/types/internal-urls/types.d.ts +1 -1
- package/dist/types/irc/bus.d.ts +79 -0
- package/dist/types/lib/xai-http.d.ts +1 -1
- package/dist/types/lsp/client.d.ts +10 -0
- package/dist/types/lsp/config.d.ts +2 -2
- package/dist/types/lsp/edits.d.ts +9 -0
- package/dist/types/lsp/format-options.d.ts +32 -0
- package/dist/types/lsp/index.d.ts +2 -7
- package/dist/types/lsp/types.d.ts +13 -1
- package/dist/types/lsp/utils.d.ts +6 -2
- package/dist/types/main.d.ts +23 -8
- package/dist/types/mcp/json-rpc.d.ts +5 -0
- package/dist/types/mcp/manager.d.ts +8 -0
- package/dist/types/mcp/oauth-discovery.d.ts +6 -1
- package/dist/types/mcp/oauth-flow.d.ts +13 -3
- package/dist/types/mcp/startup-events.d.ts +11 -0
- package/dist/types/mcp/tool-bridge.d.ts +2 -0
- package/dist/types/mcp/transports/stdio.d.ts +13 -0
- package/dist/types/mcp/types.d.ts +2 -0
- package/dist/types/memories/index.d.ts +7 -15
- package/dist/types/memories/storage.d.ts +0 -10
- package/dist/types/memory-backend/index.d.ts +3 -1
- package/dist/types/memory-backend/local-backend.d.ts +4 -3
- package/dist/types/memory-backend/resolve.d.ts +2 -2
- package/dist/types/memory-backend/runtime.d.ts +4 -0
- package/dist/types/memory-backend/types.d.ts +67 -2
- package/dist/types/mnemopi/config.d.ts +31 -1
- package/dist/types/mnemopi/state.d.ts +40 -2
- package/dist/types/modes/acp/acp-agent.d.ts +1 -2
- package/dist/types/modes/components/agent-dashboard.d.ts +17 -1
- package/dist/types/modes/components/agent-hub.d.ts +82 -0
- package/dist/types/modes/components/assistant-message.d.ts +5 -12
- package/dist/types/modes/components/bash-execution.d.ts +1 -1
- package/dist/types/modes/components/chat-block.d.ts +64 -0
- package/dist/types/modes/components/collab-prompt-message.d.ts +10 -0
- package/dist/types/modes/components/compaction-summary-message.d.ts +25 -5
- package/dist/types/modes/components/copy-selector.d.ts +1 -1
- package/dist/types/modes/components/custom-editor.d.ts +49 -2
- package/dist/types/modes/components/custom-editor.test.d.ts +1 -0
- package/dist/types/modes/components/dynamic-border.d.ts +1 -1
- package/dist/types/modes/components/extensions/extension-dashboard.d.ts +1 -1
- package/dist/types/modes/components/extensions/extension-list.d.ts +1 -1
- package/dist/types/modes/components/extensions/inspector-panel.d.ts +1 -1
- package/dist/types/modes/components/footer.d.ts +1 -1
- package/dist/types/modes/components/hook-editor.d.ts +5 -0
- package/dist/types/modes/components/hook-input.d.ts +4 -0
- package/dist/types/modes/components/hook-selector.d.ts +5 -7
- package/dist/types/modes/components/index.d.ts +1 -0
- package/dist/types/modes/components/late-diagnostics-message.d.ts +20 -0
- package/dist/types/modes/components/logout-account-selector.d.ts +8 -0
- package/dist/types/modes/components/mcp-add-wizard.d.ts +2 -1
- package/dist/types/modes/components/model-selector.d.ts +1 -1
- package/dist/types/modes/components/oauth-selector.d.ts +10 -1
- package/dist/types/modes/components/overlay-box.d.ts +17 -0
- package/dist/types/modes/components/plan-review-overlay.d.ts +61 -0
- package/dist/types/modes/components/plan-toc.d.ts +41 -0
- package/dist/types/modes/components/read-tool-group.d.ts +8 -0
- package/dist/types/modes/components/reset-usage-selector.d.ts +12 -0
- package/dist/types/modes/components/segment-track.d.ts +11 -6
- package/dist/types/modes/components/session-selector.d.ts +18 -9
- package/dist/types/modes/components/settings-defs.d.ts +9 -2
- package/dist/types/modes/components/settings-selector.d.ts +17 -4
- package/dist/types/modes/components/snapcompact-shape-preview.d.ts +31 -0
- package/dist/types/modes/components/status-line/component.d.ts +61 -0
- package/dist/types/modes/components/status-line/index.d.ts +1 -0
- package/dist/types/modes/components/status-line/types.d.ts +47 -3
- package/dist/types/modes/components/tiny-title-download-progress.d.ts +1 -1
- package/dist/types/modes/components/tool-execution.d.ts +49 -2
- package/dist/types/modes/components/transcript-container.d.ts +76 -26
- package/dist/types/modes/components/tree-selector.d.ts +2 -2
- package/dist/types/modes/components/ttsr-notification.d.ts +5 -1
- package/dist/types/modes/components/usage-row.d.ts +3 -0
- package/dist/types/modes/components/user-message-selector.d.ts +1 -1
- package/dist/types/modes/components/user-message.d.ts +2 -1
- package/dist/types/modes/components/visual-truncate.d.ts +1 -1
- package/dist/types/modes/components/welcome.d.ts +12 -2
- package/dist/types/modes/controllers/command-controller.d.ts +3 -2
- package/dist/types/modes/controllers/event-controller.d.ts +7 -1
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +0 -1
- package/dist/types/modes/controllers/input-controller.d.ts +25 -3
- package/dist/types/modes/controllers/mcp-command-controller.d.ts +8 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +5 -2
- package/dist/types/modes/controllers/session-focus-controller.d.ts +31 -0
- package/dist/types/modes/controllers/streaming-reveal.d.ts +22 -0
- package/dist/types/modes/controllers/tan-command-controller.d.ts +6 -0
- package/dist/types/modes/controllers/tool-args-reveal.d.ts +43 -0
- package/dist/types/modes/gradient-highlight.d.ts +9 -4
- package/dist/types/modes/image-references.d.ts +14 -3
- package/dist/types/modes/index.d.ts +8 -7
- package/dist/types/modes/interactive-mode.d.ts +92 -16
- package/dist/types/modes/magic-keywords.d.ts +14 -2
- package/dist/types/modes/markdown-prose.d.ts +1 -1
- package/dist/types/modes/oauth-manual-input.d.ts +7 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +48 -2
- package/dist/types/modes/rpc/rpc-mode.d.ts +67 -2
- package/dist/types/modes/rpc/rpc-subagents.d.ts +24 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +113 -1
- package/dist/types/modes/runtime-init.d.ts +4 -0
- package/dist/types/modes/session-observer-registry.d.ts +9 -0
- package/dist/types/modes/setup-version.d.ts +11 -0
- package/dist/types/modes/setup-wizard/index.d.ts +7 -2
- package/dist/types/modes/setup-wizard/lazy.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +4 -1
- package/dist/types/modes/setup-wizard/scenes/types.d.ts +11 -2
- package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +6 -2
- package/dist/types/modes/setup-wizard/wizard-overlay.d.ts +1 -1
- package/dist/types/modes/theme/theme.d.ts +42 -7
- package/dist/types/modes/types.d.ts +62 -13
- package/dist/types/modes/utils/context-usage.d.ts +6 -1
- package/dist/types/modes/utils/copy-targets.d.ts +21 -1
- package/dist/types/modes/utils/ui-helpers.d.ts +4 -4
- package/dist/types/modes/workflow.d.ts +3 -3
- package/dist/types/plan-mode/approved-plan.d.ts +27 -8
- package/dist/types/plan-mode/plan-protection.d.ts +4 -4
- package/dist/types/registry/agent-lifecycle.d.ts +51 -0
- package/dist/types/registry/agent-registry.d.ts +33 -5
- package/dist/types/sdk.d.ts +46 -4
- package/dist/types/secrets/index.d.ts +1 -1
- package/dist/types/secrets/obfuscator.d.ts +9 -3
- package/dist/types/session/agent-session.d.ts +136 -66
- package/dist/types/session/agent-storage.d.ts +2 -1
- package/dist/types/session/auth-broker-config.d.ts +4 -0
- package/dist/types/session/auth-storage.d.ts +1 -1
- package/dist/types/session/codex-auto-reset.d.ts +111 -0
- package/dist/types/session/indexed-session-storage.d.ts +3 -3
- package/dist/types/session/messages.d.ts +26 -15
- package/dist/types/session/session-context.d.ts +39 -0
- package/dist/types/session/session-entries.d.ts +159 -0
- package/dist/types/session/session-history-format.d.ts +12 -0
- package/dist/types/session/session-listing.d.ts +69 -0
- package/dist/types/session/session-loader.d.ts +16 -0
- package/dist/types/session/session-manager.d.ts +107 -440
- package/dist/types/session/session-migrations.d.ts +12 -0
- package/dist/types/session/session-paths.d.ts +25 -0
- package/dist/types/session/session-persistence.d.ts +8 -0
- package/dist/types/session/session-storage.d.ts +11 -7
- package/dist/types/session/snapcompact-inline.d.ts +145 -0
- package/dist/types/session/snapcompact-savings-journal.d.ts +46 -0
- package/dist/types/session/streaming-output.d.ts +46 -0
- package/dist/types/session/tool-choice-queue.d.ts +6 -6
- package/dist/types/session/yield-queue.d.ts +10 -1
- package/dist/types/slash-commands/acp-builtins.d.ts +16 -0
- package/dist/types/slash-commands/available-commands.d.ts +34 -0
- package/dist/types/slash-commands/builtin-registry.d.ts +10 -0
- package/dist/types/slash-commands/helpers/active-oauth-account.d.ts +14 -0
- package/dist/types/slash-commands/helpers/logout.d.ts +15 -0
- package/dist/types/slash-commands/helpers/reset-usage.d.ts +27 -0
- package/dist/types/slash-commands/helpers/stats-dashboard.d.ts +13 -0
- package/dist/types/slash-commands/types.d.ts +5 -9
- package/dist/types/ssh/connection-manager.d.ts +8 -0
- package/dist/types/stt/asr-client.d.ts +90 -0
- package/dist/types/stt/asr-protocol.d.ts +97 -0
- package/dist/types/stt/asr-worker.d.ts +2 -0
- package/dist/types/stt/downloader.d.ts +38 -0
- package/dist/types/stt/endpointer.d.ts +59 -0
- package/dist/types/stt/index.d.ts +5 -1
- package/dist/types/stt/models.d.ts +120 -0
- package/dist/types/stt/recorder.d.ts +17 -0
- package/dist/types/stt/stt-controller.d.ts +6 -0
- package/dist/types/stt/transcriber.d.ts +5 -7
- package/dist/types/stt/wav.d.ts +29 -0
- package/dist/types/system-prompt.d.ts +9 -1
- package/dist/types/task/commands.d.ts +1 -1
- package/dist/types/task/discovery.d.ts +1 -2
- package/dist/types/task/executor.d.ts +61 -2
- package/dist/types/task/index.d.ts +37 -6
- package/dist/types/task/output-manager.d.ts +0 -7
- package/dist/types/task/parallel.d.ts +2 -2
- package/dist/types/task/prometheus-command.d.ts +2 -2
- package/dist/types/task/render.d.ts +20 -7
- package/dist/types/task/repair-args.d.ts +8 -7
- package/dist/types/task/types.d.ts +109 -52
- package/dist/types/task/worktree.d.ts +2 -0
- package/dist/types/telemetry-export.d.ts +2 -2
- package/dist/types/thinking.d.ts +4 -0
- package/dist/types/tiny/models.d.ts +1 -1
- package/dist/types/tiny/title-client.d.ts +12 -1
- package/dist/types/tiny/title-protocol.d.ts +1 -0
- package/dist/types/tools/archive-reader.d.ts +5 -0
- package/dist/types/tools/ask.d.ts +6 -1
- package/dist/types/tools/ast-edit.d.ts +4 -1
- package/dist/types/tools/ast-grep.d.ts +4 -1
- package/dist/types/tools/bash.d.ts +5 -2
- package/dist/types/tools/browser/attach.d.ts +4 -4
- package/dist/types/tools/browser/cmux/cmux-tab.d.ts +202 -0
- package/dist/types/tools/browser/cmux/rpc.d.ts +70 -0
- package/dist/types/tools/browser/cmux/socket-client.d.ts +19 -0
- package/dist/types/tools/browser/registry.d.ts +17 -3
- package/dist/types/tools/browser/render.d.ts +2 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +2 -0
- package/dist/types/tools/browser/tab-supervisor.d.ts +16 -4
- package/dist/types/tools/browser/tab-worker.d.ts +18 -1
- package/dist/types/tools/browser.d.ts +3 -1
- package/dist/types/tools/checkpoint.d.ts +1 -1
- package/dist/types/tools/conflict-detect.d.ts +16 -0
- package/dist/types/tools/debug.d.ts +1 -1
- package/dist/types/tools/eval-render.d.ts +1 -8
- package/dist/types/tools/eval.d.ts +9 -1
- package/dist/types/tools/fetch.d.ts +17 -8
- package/dist/types/tools/find.d.ts +1 -8
- package/dist/types/tools/gh-cache-invalidation.d.ts +6 -0
- package/dist/types/tools/gh.d.ts +4 -1
- package/dist/types/tools/github-cache.d.ts +19 -0
- package/dist/types/tools/grouped-file-output.d.ts +46 -12
- package/dist/types/tools/image-gen.d.ts +1 -1
- package/dist/types/tools/index.d.ts +89 -8
- package/dist/types/tools/inspect-image.d.ts +1 -1
- package/dist/types/tools/irc.d.ts +79 -39
- package/dist/types/tools/job.d.ts +8 -2
- package/dist/types/tools/learn.d.ts +51 -0
- package/dist/types/tools/manage-skill.d.ts +40 -0
- package/dist/types/tools/memory-edit.d.ts +2 -2
- package/dist/types/tools/memory-recall.d.ts +1 -1
- package/dist/types/tools/memory-reflect.d.ts +1 -1
- package/dist/types/tools/memory-render.d.ts +4 -1
- package/dist/types/tools/memory-retain.d.ts +1 -1
- package/dist/types/tools/path-utils.d.ts +17 -5
- package/dist/types/tools/plan-mode-guard.d.ts +18 -9
- package/dist/types/tools/read.d.ts +3 -2
- package/dist/types/tools/render-mermaid.d.ts +1 -1
- package/dist/types/tools/render-utils.d.ts +47 -27
- package/dist/types/tools/renderers.d.ts +10 -2
- package/dist/types/tools/report-tool-issue.d.ts +6 -1
- package/dist/types/tools/resolve.d.ts +1 -1
- package/dist/types/tools/review.d.ts +1 -1
- package/dist/types/tools/search-tool-bm25.d.ts +1 -1
- package/dist/types/tools/search.d.ts +7 -3
- package/dist/types/tools/sqlite-reader.d.ts +4 -0
- package/dist/types/tools/ssh.d.ts +2 -1
- package/dist/types/tools/todo.d.ts +7 -15
- package/dist/types/tools/tool-result.d.ts +2 -0
- package/dist/types/tools/tool-timeouts.d.ts +1 -1
- package/dist/types/tools/tts.d.ts +26 -1
- package/dist/types/tools/write.d.ts +6 -3
- package/dist/types/tools/yield.d.ts +8 -0
- package/dist/types/tts/downloader.d.ts +20 -0
- package/dist/types/tts/index.d.ts +8 -0
- package/dist/types/tts/models.d.ts +82 -0
- package/dist/types/tts/player.d.ts +32 -0
- package/dist/types/tts/runtime.d.ts +6 -0
- package/dist/types/tts/streaming-player.d.ts +41 -0
- package/dist/types/tts/tts-client.d.ts +93 -0
- package/dist/types/tts/tts-protocol.d.ts +95 -0
- package/dist/types/tts/tts-worker.d.ts +2 -0
- package/dist/types/tts/vocalizer.d.ts +41 -0
- package/dist/types/tts/wav.d.ts +8 -0
- package/dist/types/tui/code-cell.d.ts +0 -2
- package/dist/types/tui/hyperlink.d.ts +13 -7
- package/dist/types/tui/output-block.d.ts +16 -22
- package/dist/types/tui/status-line.d.ts +3 -0
- package/dist/types/utils/block-context.d.ts +35 -0
- package/dist/types/utils/changelog.d.ts +8 -0
- package/dist/types/utils/clipboard.d.ts +4 -3
- package/dist/types/utils/enhanced-paste.d.ts +20 -0
- package/dist/types/utils/file-mentions.d.ts +7 -0
- package/dist/types/utils/git.d.ts +22 -3
- package/dist/types/utils/image-loading.d.ts +30 -1
- package/dist/types/utils/session-color.d.ts +15 -3
- package/dist/types/utils/thinking-display.d.ts +17 -0
- package/dist/types/utils/title-generator.d.ts +3 -2
- package/dist/types/utils/tool-choice.d.ts +8 -0
- package/dist/types/utils/tools-manager.d.ts +2 -1
- package/dist/types/web/kagi.d.ts +2 -2
- package/dist/types/web/parallel.d.ts +3 -0
- package/dist/types/web/scrapers/github.d.ts +22 -0
- package/dist/types/web/scrapers/readthedocs.d.ts +3 -0
- package/dist/types/web/scrapers/types.d.ts +12 -0
- package/dist/types/web/search/index.d.ts +1 -1
- package/dist/types/web/search/providers/anthropic.d.ts +2 -1
- package/dist/types/web/search/providers/base.d.ts +2 -1
- package/dist/types/web/search/providers/brave.d.ts +2 -1
- package/dist/types/web/search/providers/codex.d.ts +2 -1
- package/dist/types/web/search/providers/exa.d.ts +2 -1
- package/dist/types/web/search/providers/gemini.d.ts +10 -6
- package/dist/types/web/search/providers/jina.d.ts +7 -2
- package/dist/types/web/search/providers/kagi.d.ts +7 -2
- package/dist/types/web/search/providers/kimi.d.ts +7 -2
- package/dist/types/web/search/providers/parallel.d.ts +2 -1
- package/dist/types/web/search/providers/perplexity.d.ts +10 -2
- package/dist/types/web/search/providers/searxng.d.ts +2 -1
- package/dist/types/web/search/providers/synthetic.d.ts +7 -3
- package/dist/types/web/search/providers/tavily.d.ts +2 -1
- package/dist/types/web/search/providers/zai.d.ts +2 -1
- package/dist/types/web/search/types.d.ts +1 -1
- package/examples/extensions/api-demo.ts +2 -2
- package/package.json +41 -15
- package/scripts/bench-guard.ts +71 -0
- package/scripts/build-binary.ts +24 -25
- package/scripts/bundle-dist.ts +97 -0
- package/scripts/generate-share-viewer.ts +34 -0
- package/scripts/prometheus +42 -0
- package/scripts/prometheus.ts +20 -0
- package/src/async/index.ts +0 -1
- package/src/async/job-manager.ts +106 -3
- package/src/auto-thinking/classifier.ts +2 -1
- package/src/autolearn/controller.ts +139 -0
- package/src/autolearn/managed-skills.ts +257 -0
- package/src/autoresearch/dashboard.ts +1 -1
- package/src/autoresearch/prompt-setup.md +6 -6
- package/src/autoresearch/prompt.md +6 -6
- package/src/autoresearch/state.ts +1 -1
- package/src/autoresearch/storage.ts +2 -1
- package/src/autoresearch/tools/init-experiment.ts +1 -1
- package/src/autoresearch/tools/log-experiment.ts +1 -1
- package/src/autoresearch/tools/run-experiment.ts +1 -1
- package/src/autoresearch/tools/update-notes.ts +1 -1
- package/src/autoresearch/types.ts +1 -1
- package/src/capability/context-file.ts +0 -14
- package/src/capability/fs.ts +10 -0
- package/src/capability/index.ts +1 -6
- package/src/capability/mcp.ts +1 -0
- package/src/capability/rule-buckets.ts +4 -2
- package/src/capability/rule.ts +10 -1
- package/src/capability/types.ts +0 -4
- package/src/cli/args.ts +66 -13
- package/src/cli/auth-broker-cli.ts +6 -7
- package/src/cli/auth-gateway-cli.ts +8 -9
- package/src/cli/bench-cli.ts +437 -0
- package/src/cli/claude-trace-cli.ts +28 -50
- package/src/cli/completion-gen.ts +28 -28
- package/src/cli/dry-balance-cli.ts +56 -23
- package/src/cli/gallery-cli.ts +231 -0
- package/src/cli/gallery-fixtures/agentic.ts +407 -0
- package/src/cli/gallery-fixtures/codeintel.ts +187 -0
- package/src/cli/gallery-fixtures/edit.ts +194 -0
- package/src/cli/gallery-fixtures/fs.ts +220 -0
- package/src/cli/gallery-fixtures/index.ts +40 -0
- package/src/cli/gallery-fixtures/interaction.ts +49 -0
- package/src/cli/gallery-fixtures/memory.ts +81 -0
- package/src/cli/gallery-fixtures/misc.ts +250 -0
- package/src/cli/gallery-fixtures/search.ts +213 -0
- package/src/cli/gallery-fixtures/shell.ts +167 -0
- package/src/cli/gallery-fixtures/types.ts +57 -0
- package/src/cli/gallery-fixtures/web.ts +158 -0
- package/src/cli/gallery-screenshot.ts +279 -0
- package/src/cli/grievances-cli.ts +1 -1
- package/src/cli/list-models.ts +16 -174
- package/src/cli/models-cli.ts +429 -0
- package/src/cli/session-picker.ts +2 -1
- package/src/cli/setup-cli.ts +148 -47
- package/src/cli/setup-model-picker.ts +43 -0
- package/src/cli/startup-cwd.ts +68 -0
- package/src/cli/update-cli.ts +144 -272
- package/src/cli/usage-cli.ts +774 -0
- package/src/cli-commands.ts +36 -0
- package/src/cli.ts +141 -32
- package/src/collab/crypto.ts +63 -0
- package/src/collab/guest.ts +451 -0
- package/src/collab/host.ts +565 -0
- package/src/collab/protocol.ts +241 -0
- package/src/collab/relay-client.ts +216 -0
- package/src/commands/bench.ts +42 -0
- package/src/commands/complete.ts +1 -1
- package/src/commands/gallery.ts +52 -0
- package/src/commands/install.ts +1 -1
- package/src/commands/join.ts +39 -0
- package/src/commands/launch.ts +8 -4
- package/src/commands/models.ts +61 -0
- package/src/commands/read.ts +6 -3
- package/src/commands/say.ts +102 -0
- package/src/commands/setup.ts +1 -1
- package/src/commands/token.ts +89 -0
- package/src/commands/usage.ts +43 -0
- package/src/commit/agentic/agent.ts +2 -1
- package/src/commit/agentic/tools/analyze-file.ts +42 -20
- package/src/commit/agentic/tools/git-file-diff.ts +1 -1
- package/src/commit/agentic/tools/git-hunk.ts +1 -1
- package/src/commit/agentic/tools/git-overview.ts +1 -1
- package/src/commit/agentic/tools/propose-changelog.ts +1 -1
- package/src/commit/agentic/tools/propose-commit.ts +1 -1
- package/src/commit/agentic/tools/recent-commits.ts +1 -1
- package/src/commit/agentic/tools/schemas.ts +1 -1
- package/src/commit/agentic/tools/split-commit.ts +9 -2
- package/src/commit/analysis/conventional.ts +2 -2
- package/src/commit/analysis/summary.ts +3 -3
- package/src/commit/changelog/generate.ts +3 -3
- package/src/commit/changelog/index.ts +2 -2
- package/src/commit/map-reduce/index.ts +3 -3
- package/src/commit/map-reduce/map-phase.ts +2 -2
- package/src/commit/map-reduce/reduce-phase.ts +2 -2
- package/src/commit/model-selection.ts +35 -12
- package/src/commit/pipeline.ts +4 -4
- package/src/commit/shared-llm.ts +1 -1
- package/src/config/api-key-resolver.ts +67 -0
- package/src/config/append-only-context-mode.ts +6 -12
- package/src/config/keybindings.ts +9 -4
- package/src/config/mcp-schema.json +4 -0
- package/src/config/model-discovery.ts +574 -0
- package/src/config/model-equivalence.ts +5 -4
- package/src/config/model-registry.ts +659 -1093
- package/src/config/model-resolver.ts +374 -174
- package/src/config/model-roles.ts +88 -0
- package/src/config/models-config-schema.ts +61 -9
- package/src/config/models-config.ts +130 -0
- package/src/config/settings-schema.ts +1441 -387
- package/src/config/settings.ts +261 -69
- package/src/dap/client.ts +138 -53
- package/src/dap/config.ts +41 -2
- package/src/dap/defaults.json +1 -0
- package/src/dap/session.ts +263 -161
- package/src/dap/types.ts +10 -0
- package/src/debug/index.ts +50 -60
- package/src/debug/log-viewer.ts +1 -1
- package/src/debug/protocol-probe.ts +1 -1
- package/src/debug/raw-sse-buffer.ts +7 -4
- package/src/debug/raw-sse.ts +1 -1
- package/src/debug/report-bundle.ts +9 -0
- package/src/debug/terminal-info.ts +0 -3
- package/src/discovery/agents-md.ts +25 -21
- package/src/discovery/agents.ts +9 -15
- package/src/discovery/at-imports.ts +273 -0
- package/src/discovery/builtin-rules/index.ts +4 -0
- package/src/discovery/builtin-rules/ts-no-test-timers.md +55 -0
- package/src/discovery/builtin-rules/ts-redundant-clear-guard.md +75 -0
- package/src/discovery/builtin.ts +45 -23
- package/src/discovery/claude-plugins.ts +44 -5
- package/src/discovery/helpers.ts +50 -9
- package/src/discovery/prometheus-extension-roots.ts +10 -10
- package/src/discovery/prometheus-plugins.ts +10 -10
- package/src/edit/diff.ts +191 -4
- package/src/edit/file-snapshot-store.ts +34 -1
- package/src/edit/hashline/block-resolver.ts +20 -1
- package/src/edit/hashline/diff.ts +123 -2
- package/src/edit/hashline/execute.ts +60 -4
- package/src/edit/hashline/filesystem.ts +2 -1
- package/src/edit/hashline/noop-loop-guard.ts +99 -0
- package/src/edit/hashline/params.ts +1 -1
- package/src/edit/index.ts +47 -18
- package/src/edit/modes/apply-patch.ts +1 -1
- package/src/edit/modes/patch.ts +59 -3
- package/src/edit/modes/replace.ts +58 -24
- package/src/edit/notebook.ts +22 -2
- package/src/edit/renderer.ts +315 -151
- package/src/eval/__tests__/agent-bridge.test.ts +105 -39
- package/src/eval/__tests__/budget-bridge.test.ts +1 -1
- package/src/eval/__tests__/completion-bridge.test.ts +412 -0
- package/src/eval/__tests__/helpers-local-roots.test.ts +58 -0
- package/src/eval/__tests__/js-context-manager.test.ts +241 -0
- package/src/eval/__tests__/llm-bridge.test.ts +6 -4
- package/src/eval/__tests__/shared-executors.test.ts +34 -92
- package/src/eval/agent-bridge.ts +39 -23
- package/src/eval/backend.ts +15 -2
- package/src/eval/bridge-timeout.ts +1 -1
- package/src/eval/completion-bridge.ts +203 -0
- package/src/eval/idle-timeout.ts +3 -10
- package/src/eval/js/context-manager.ts +108 -31
- package/src/eval/js/executor.ts +9 -2
- package/src/eval/js/index.ts +7 -3
- package/src/eval/js/shared/helpers.ts +59 -13
- package/src/eval/js/shared/local-module-loader.ts +2 -2
- package/src/eval/js/shared/prelude.txt +167 -30
- package/src/eval/js/shared/rewrite-imports.ts +58 -34
- package/src/eval/js/shared/runtime.ts +24 -16
- package/src/eval/js/tool-bridge.ts +4 -0
- package/src/eval/js/worker-core.ts +1 -0
- package/src/eval/js/worker-entry.ts +6 -0
- package/src/eval/js/worker-protocol.ts +6 -0
- package/src/eval/llm-bridge.ts +2 -1
- package/src/eval/py/__tests__/prelude.test.ts +19 -0
- package/src/eval/py/executor.ts +70 -26
- package/src/eval/py/index.ts +13 -4
- package/src/eval/py/kernel.ts +48 -9
- package/src/eval/py/prelude.py +73 -24
- package/src/eval/py/runner.py +133 -28
- package/src/eval/py/runtime.ts +38 -1
- package/src/exa/index.ts +1 -26
- package/src/exa/mcp-client.ts +10 -10
- package/src/exa/types.ts +0 -97
- package/src/exec/bash-executor.ts +104 -7
- package/src/export/custom-share.ts +1 -1
- package/src/export/html/index.ts +119 -17
- package/src/export/html/share-loader.js +102 -0
- package/src/export/html/template-js.ts +6 -0
- package/src/export/html/template.css +745 -459
- package/src/export/html/template.css.d.ts +2 -0
- package/src/export/html/template.html +6 -3
- package/src/export/html/template.js +277 -891
- package/src/export/html/tool-views.generated.d.ts +2 -0
- package/src/export/html/tool-views.generated.js +38 -0
- package/src/export/share.ts +269 -0
- package/src/export/ttsr.ts +122 -1
- package/src/extensibility/custom-commands/loader.ts +7 -4
- package/src/extensibility/custom-commands/types.ts +9 -4
- package/src/extensibility/custom-tools/loader.ts +51 -23
- package/src/extensibility/custom-tools/types.ts +16 -8
- package/src/extensibility/extensions/get-commands-handler.ts +2 -1
- package/src/extensibility/extensions/index.ts +1 -0
- package/src/extensibility/extensions/loader.ts +70 -20
- package/src/extensibility/extensions/model-api.ts +41 -0
- package/src/extensibility/extensions/runner.ts +12 -2
- package/src/extensibility/extensions/types.ts +83 -11
- package/src/extensibility/extensions/wrapper.ts +41 -5
- package/src/extensibility/hooks/index.ts +2 -1
- package/src/extensibility/hooks/loader.ts +6 -3
- package/src/extensibility/hooks/types.ts +11 -5
- package/src/extensibility/{legacy-pi-ai-shim.ts → legacy-package-ai-shim.ts} +2 -2
- package/src/extensibility/plugins/doctor.ts +1 -2
- package/src/extensibility/plugins/installer.ts +2 -2
- package/src/extensibility/plugins/{legacy-pi-compat.ts → legacy-package-compat.ts} +165 -77
- package/src/extensibility/plugins/loader.ts +34 -23
- package/src/extensibility/plugins/manager.ts +226 -95
- package/src/extensibility/plugins/marketplace-auto-update.ts +49 -0
- package/src/extensibility/plugins/types.ts +3 -3
- package/src/extensibility/shared-events.ts +3 -3
- package/src/extensibility/skills.ts +113 -9
- package/src/extensibility/slash-commands.ts +1 -97
- package/src/goals/guided-setup.ts +133 -0
- package/src/goals/state.ts +1 -1
- package/src/goals/tools/goal-tool.ts +38 -28
- package/src/hindsight/bank.ts +17 -2
- package/src/hindsight/client.ts +27 -2
- package/src/hindsight/mental-models.ts +59 -12
- package/src/hindsight/state.ts +12 -3
- package/src/hindsight/transcript.ts +1 -1
- package/src/index.ts +5 -0
- package/src/internal-urls/artifact-protocol.ts +11 -2
- package/src/internal-urls/docs-index.generated.ts +9 -7
- package/src/internal-urls/history-protocol.ts +113 -0
- package/src/internal-urls/index.ts +1 -0
- package/src/internal-urls/issue-pr-protocol.ts +22 -9
- package/src/internal-urls/local-protocol.ts +42 -7
- package/src/internal-urls/memory-protocol.ts +4 -31
- package/src/internal-urls/router.ts +3 -1
- package/src/internal-urls/types.ts +1 -1
- package/src/irc/bus.ts +303 -0
- package/src/lib/xai-http.ts +3 -3
- package/src/lsp/client.ts +245 -104
- package/src/lsp/clients/biome-client.ts +101 -39
- package/src/lsp/clients/lsp-linter-client.ts +2 -10
- package/src/lsp/config.ts +15 -5
- package/src/lsp/defaults.json +6 -0
- package/src/lsp/edits.ts +143 -95
- package/src/lsp/format-options.ts +119 -0
- package/src/lsp/index.ts +233 -93
- package/src/lsp/render.ts +11 -35
- package/src/lsp/types.ts +13 -1
- package/src/lsp/utils.ts +31 -12
- package/src/main.ts +396 -216
- package/src/mcp/config-writer.ts +7 -3
- package/src/mcp/json-rpc.ts +35 -5
- package/src/mcp/manager.ts +31 -16
- package/src/mcp/oauth-discovery.ts +34 -4
- package/src/mcp/oauth-flow.ts +61 -8
- package/src/mcp/render.ts +7 -1
- package/src/mcp/startup-events.ts +21 -0
- package/src/mcp/tool-bridge.ts +2 -0
- package/src/mcp/transports/stdio.ts +224 -4
- package/src/mcp/types.ts +2 -0
- package/src/memories/index.ts +174 -1128
- package/src/memories/storage.ts +2 -41
- package/src/memory-backend/index.ts +14 -1
- package/src/memory-backend/local-backend.ts +18 -3
- package/src/memory-backend/off-backend.ts +9 -0
- package/src/memory-backend/resolve.ts +4 -6
- package/src/memory-backend/runtime.ts +66 -0
- package/src/memory-backend/types.ts +82 -2
- package/src/mnemopi/backend.ts +220 -28
- package/src/mnemopi/config.ts +138 -33
- package/src/mnemopi/state.ts +91 -11
- package/src/modes/acp/acp-agent.ts +149 -142
- package/src/modes/acp/acp-event-mapper.ts +5 -1
- package/src/modes/components/agent-dashboard.ts +17 -11
- package/src/modes/components/agent-hub.ts +1346 -0
- package/src/modes/components/assistant-message.ts +190 -80
- package/src/modes/components/bash-execution.ts +1 -1
- package/src/modes/components/btw-panel.ts +5 -1
- package/src/modes/components/chat-block.ts +111 -0
- package/src/modes/components/collab-prompt-message.ts +30 -0
- package/src/modes/components/compaction-summary-message.ts +168 -33
- package/src/modes/components/copy-selector.ts +2 -45
- package/src/modes/components/custom-editor.test.ts +96 -0
- package/src/modes/components/custom-editor.ts +405 -118
- package/src/modes/components/custom-message.ts +1 -3
- package/src/modes/components/diff.ts +13 -2
- package/src/modes/components/dynamic-border.ts +12 -3
- package/src/modes/components/execution-shared.ts +1 -2
- package/src/modes/components/extensions/extension-dashboard.ts +8 -5
- package/src/modes/components/extensions/extension-list.ts +1 -1
- package/src/modes/components/extensions/inspector-panel.ts +7 -3
- package/src/modes/components/extensions/state-manager.ts +36 -41
- package/src/modes/components/footer.ts +4 -2
- package/src/modes/components/history-search.ts +1 -1
- package/src/modes/components/hook-editor.ts +8 -0
- package/src/modes/components/hook-input.ts +8 -0
- package/src/modes/components/hook-message.ts +1 -3
- package/src/modes/components/hook-selector.ts +6 -7
- package/src/modes/components/index.ts +1 -0
- package/src/modes/components/late-diagnostics-message.ts +60 -0
- package/src/modes/components/login-dialog.ts +1 -1
- package/src/modes/components/logout-account-selector.ts +130 -0
- package/src/modes/components/mcp-add-wizard.ts +14 -1
- package/src/modes/components/model-selector.ts +177 -75
- package/src/modes/components/oauth-selector.ts +102 -16
- package/src/modes/components/overlay-box.ts +108 -0
- package/src/modes/components/plan-review-overlay.ts +845 -0
- package/src/modes/components/plan-toc.ts +138 -0
- package/src/modes/components/plugin-settings.ts +22 -5
- package/src/modes/components/read-tool-group.ts +442 -39
- package/src/modes/components/reset-usage-selector.ts +161 -0
- package/src/modes/components/segment-track.ts +44 -7
- package/src/modes/components/session-selector.ts +97 -37
- package/src/modes/components/settings-defs.ts +28 -6
- package/src/modes/components/settings-selector.ts +541 -93
- package/src/modes/components/skill-message.ts +0 -1
- package/src/modes/components/snapcompact-shape-preview-doc.md +11 -0
- package/src/modes/components/snapcompact-shape-preview.ts +193 -0
- package/src/modes/components/{status-line.ts → status-line/component.ts} +205 -168
- package/src/modes/components/status-line/index.ts +1 -0
- package/src/modes/components/status-line/presets.ts +3 -3
- package/src/modes/components/status-line/segments.ts +26 -7
- package/src/modes/components/status-line/types.ts +40 -9
- package/src/modes/components/tiny-title-download-progress.ts +1 -1
- package/src/modes/components/tips.txt +7 -3
- package/src/modes/components/todo-reminder.ts +0 -2
- package/src/modes/components/tool-execution.ts +236 -103
- package/src/modes/components/transcript-container.ts +724 -99
- package/src/modes/components/tree-selector.ts +19 -4
- package/src/modes/components/ttsr-notification.ts +72 -30
- package/src/modes/components/usage-row.ts +18 -0
- package/src/modes/components/user-message-selector.ts +1 -1
- package/src/modes/components/user-message.ts +28 -12
- package/src/modes/components/visual-truncate.ts +1 -1
- package/src/modes/components/welcome.ts +80 -22
- package/src/modes/controllers/command-controller-shared.ts +7 -6
- package/src/modes/controllers/command-controller.ts +210 -180
- package/src/modes/controllers/event-controller.ts +352 -142
- package/src/modes/controllers/extension-ui-controller.ts +167 -208
- package/src/modes/controllers/input-controller.ts +778 -162
- package/src/modes/controllers/mcp-command-controller.ts +232 -80
- package/src/modes/controllers/selector-controller.ts +284 -145
- package/src/modes/controllers/session-focus-controller.ts +112 -0
- package/src/modes/controllers/ssh-command-controller.ts +2 -2
- package/src/modes/controllers/streaming-reveal.ts +295 -0
- package/src/modes/controllers/tan-command-controller.ts +173 -0
- package/src/modes/controllers/tool-args-reveal.ts +174 -0
- package/src/modes/gradient-highlight.ts +21 -9
- package/src/modes/image-references.ts +33 -7
- package/src/modes/index.ts +8 -25
- package/src/modes/interactive-mode.ts +840 -186
- package/src/modes/magic-keywords.ts +28 -6
- package/src/modes/markdown-prose.ts +1 -1
- package/src/modes/oauth-manual-input.ts +30 -3
- package/src/modes/rpc/rpc-client.ts +186 -3
- package/src/modes/rpc/rpc-mode.ts +318 -24
- package/src/modes/rpc/rpc-subagents.ts +265 -0
- package/src/modes/rpc/rpc-types.ts +111 -2
- package/src/modes/runtime-init.ts +28 -3
- package/src/modes/session-observer-registry.ts +72 -3
- package/src/modes/setup-version.ts +11 -0
- package/src/modes/setup-wizard/index.ts +16 -4
- package/src/modes/setup-wizard/lazy.ts +16 -0
- package/src/modes/setup-wizard/scenes/glyph.ts +25 -7
- package/src/modes/setup-wizard/scenes/providers.ts +45 -12
- package/src/modes/setup-wizard/scenes/sign-in.ts +14 -13
- package/src/modes/setup-wizard/scenes/splash.ts +1 -1
- package/src/modes/setup-wizard/scenes/theme.ts +29 -2
- package/src/modes/setup-wizard/scenes/types.ts +11 -2
- package/src/modes/setup-wizard/scenes/web-search.ts +26 -9
- package/src/modes/setup-wizard/wizard-overlay.ts +40 -3
- package/src/modes/shared.ts +2 -0
- package/src/modes/theme/defaults/dark-poimandres.json +1 -1
- package/src/modes/theme/defaults/light-poimandres.json +1 -1
- package/src/modes/theme/shimmer.ts +20 -9
- package/src/modes/theme/theme-schema.json +1 -1
- package/src/modes/theme/theme.ts +342 -82
- package/src/modes/types.ts +60 -18
- package/src/modes/utils/context-usage.ts +88 -8
- package/src/modes/utils/copy-targets.ts +133 -27
- package/src/modes/utils/hotkeys-markdown.ts +3 -2
- package/src/modes/utils/ui-helpers.ts +191 -110
- package/src/modes/workflow.ts +10 -10
- package/src/plan-mode/approved-plan.ts +66 -43
- package/src/plan-mode/plan-protection.ts +4 -4
- package/src/priority.json +5 -1
- package/src/prompts/agents/designer.md +1 -1
- package/src/prompts/agents/explore.md +3 -3
- package/src/prompts/agents/librarian.md +2 -3
- package/src/prompts/agents/oracle.md +2 -2
- package/src/prompts/agents/plan.md +6 -6
- package/src/prompts/agents/reviewer.md +1 -1
- package/src/prompts/agents/task.md +6 -5
- package/src/prompts/bench.md +12 -0
- package/src/prompts/ci-green-request.md +5 -7
- package/src/prompts/goals/goal-budget-limit.md +2 -2
- package/src/prompts/goals/goal-continuation.md +4 -4
- package/src/prompts/goals/goal-mode-active.md +1 -1
- package/src/prompts/goals/guided-goal-interview.md +8 -0
- package/src/prompts/goals/guided-goal-system.md +12 -0
- package/src/prompts/memories/consolidation.md +2 -7
- package/src/prompts/memories/consolidation_system.md +4 -0
- package/src/prompts/memories/identity_review.md +2 -2
- package/src/prompts/memories/read-path.md +11 -10
- package/src/prompts/memories/stage_one_system.md +2 -2
- package/src/prompts/review-custom-request.md +1 -1
- package/src/prompts/system/agent-creation-architect.md +2 -2
- package/src/prompts/system/auto-continue.md +1 -1
- package/src/prompts/system/autolearn-guidance-learn.md +1 -0
- package/src/prompts/system/autolearn-guidance.md +7 -0
- package/src/prompts/system/autolearn-nudge.md +3 -0
- package/src/prompts/system/background-tan-dispatch.md +8 -0
- package/src/prompts/system/btw-user.md +2 -2
- package/src/prompts/system/commit-message-system.md +13 -1
- package/src/prompts/system/custom-system-prompt.md +1 -1
- package/src/prompts/system/eager-task.md +7 -0
- package/src/prompts/system/eager-todo.md +11 -6
- package/src/prompts/system/empty-stop-retry.md +4 -6
- package/src/prompts/system/irc-autoreply.md +6 -0
- package/src/prompts/system/irc-incoming.md +3 -4
- package/src/prompts/system/manual-continue.md +7 -0
- package/src/prompts/system/omfg-user.md +3 -4
- package/src/prompts/system/orchestrate-notice.md +10 -10
- package/src/prompts/system/personalities/default.md +26 -0
- package/src/prompts/system/personalities/friendly.md +17 -0
- package/src/prompts/system/personalities/pragmatic.md +15 -0
- package/src/prompts/system/plan-mode-active.md +70 -77
- package/src/prompts/system/plan-mode-approved.md +1 -1
- package/src/prompts/system/plan-mode-subagent.md +4 -5
- package/src/prompts/system/plan-mode-tool-decision-reminder.md +1 -1
- package/src/prompts/system/project-prompt.md +2 -2
- package/src/prompts/system/snapcompact-context-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-context-stub.md +1 -0
- package/src/prompts/system/snapcompact-system-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-system-stub.md +1 -0
- package/src/prompts/system/snapcompact-toolresult-note.md +1 -0
- package/src/prompts/system/subagent-system-prompt.md +7 -8
- package/src/prompts/system/system-prompt.md +28 -57
- package/src/prompts/system/tiny-title-system.md +1 -1
- package/src/prompts/system/title-marker-instruction.md +1 -0
- package/src/prompts/system/title-system-marker.md +16 -0
- package/src/prompts/system/title-system.md +16 -3
- package/src/prompts/system/ttsr-tool-reminder.md +1 -1
- package/src/prompts/system/workflow-notice.md +4 -4
- package/src/prompts/tools/ast-edit.md +1 -1
- package/src/prompts/tools/ast-grep.md +2 -2
- package/src/prompts/tools/bash.md +16 -8
- package/src/prompts/tools/browser.md +33 -43
- package/src/prompts/tools/debug.md +1 -1
- package/src/prompts/tools/eval.md +31 -51
- package/src/prompts/tools/find.md +0 -1
- package/src/prompts/tools/github.md +8 -7
- package/src/prompts/tools/goal.md +1 -1
- package/src/prompts/tools/image-gen.md +1 -1
- package/src/prompts/tools/inspect-image-system.md +1 -1
- package/src/prompts/tools/irc.md +39 -31
- package/src/prompts/tools/job.md +2 -1
- package/src/prompts/tools/learn.md +7 -0
- package/src/prompts/tools/lsp-late-diagnostic.md +8 -0
- package/src/prompts/tools/lsp.md +2 -2
- package/src/prompts/tools/manage-skill.md +9 -0
- package/src/prompts/tools/memory-edit.md +1 -1
- package/src/prompts/tools/patch.md +2 -2
- package/src/prompts/tools/read.md +31 -39
- package/src/prompts/tools/recall.md +1 -1
- package/src/prompts/tools/reflect.md +1 -1
- package/src/prompts/tools/render-mermaid.md +2 -2
- package/src/prompts/tools/replace.md +4 -10
- package/src/prompts/tools/rewind.md +2 -2
- package/src/prompts/tools/search-tool-bm25.md +1 -9
- package/src/prompts/tools/search.md +0 -1
- package/src/prompts/tools/ssh.md +0 -4
- package/src/prompts/tools/task-summary.md +5 -16
- package/src/prompts/tools/task.md +47 -31
- package/src/prompts/tools/todo.md +6 -3
- package/src/registry/agent-lifecycle.ts +218 -0
- package/src/registry/agent-registry.ts +46 -5
- package/src/sdk.ts +692 -219
- package/src/secrets/index.ts +8 -1
- package/src/secrets/obfuscator.ts +40 -19
- package/src/session/agent-session.ts +1577 -806
- package/src/session/agent-storage.ts +18 -9
- package/src/session/auth-broker-config.ts +30 -1
- package/src/session/auth-storage.ts +6 -0
- package/src/session/codex-auto-reset.ts +202 -0
- package/src/session/history-storage.ts +3 -2
- package/src/session/indexed-session-storage.ts +7 -10
- package/src/session/messages.ts +59 -95
- package/src/session/session-context.ts +352 -0
- package/src/session/session-dump-format.ts +12 -3
- package/src/session/session-entries.ts +194 -0
- package/src/session/session-history-format.ts +246 -0
- package/src/session/session-listing.ts +588 -0
- package/src/session/session-loader.ts +106 -0
- package/src/session/session-manager.ts +1003 -2920
- package/src/session/session-migrations.ts +78 -0
- package/src/session/session-paths.ts +193 -0
- package/src/session/session-persistence.ts +131 -0
- package/src/session/session-storage.ts +91 -30
- package/src/session/snapcompact-inline.ts +542 -0
- package/src/session/snapcompact-savings-journal.ts +113 -0
- package/src/session/streaming-output.ts +248 -11
- package/src/session/tool-choice-queue.ts +23 -11
- package/src/session/yield-queue.ts +20 -2
- package/src/slash-commands/acp-builtins.ts +25 -1
- package/src/slash-commands/available-commands.ts +105 -0
- package/src/slash-commands/builtin-registry.ts +575 -49
- package/src/slash-commands/helpers/active-oauth-account.ts +44 -0
- package/src/slash-commands/helpers/context-report.ts +28 -1
- package/src/slash-commands/helpers/logout.ts +88 -0
- package/src/slash-commands/helpers/reset-usage.ts +66 -0
- package/src/slash-commands/helpers/stats-dashboard.ts +85 -0
- package/src/slash-commands/helpers/usage-report.ts +38 -3
- package/src/slash-commands/types.ts +5 -9
- package/src/ssh/connection-manager.ts +27 -0
- package/src/ssh/ssh-executor.ts +60 -4
- package/src/stt/asr-client.ts +520 -0
- package/src/stt/asr-protocol.ts +65 -0
- package/src/stt/asr-worker.ts +790 -0
- package/src/stt/downloader.ts +107 -47
- package/src/stt/endpointer.ts +259 -0
- package/src/stt/index.ts +5 -1
- package/src/stt/models.ts +150 -0
- package/src/stt/recorder.ts +254 -67
- package/src/stt/stt-controller.ts +201 -22
- package/src/stt/transcriber.ts +37 -68
- package/src/stt/wav.ts +173 -0
- package/src/system-prompt.ts +52 -10
- package/src/task/agents.ts +3 -4
- package/src/task/commands.ts +3 -2
- package/src/task/discovery.ts +17 -24
- package/src/task/executor.ts +1054 -529
- package/src/task/index.ts +862 -757
- package/src/task/output-manager.ts +0 -11
- package/src/task/parallel.ts +3 -3
- package/src/task/prometheus-command.ts +2 -2
- package/src/task/render.ts +529 -182
- package/src/task/repair-args.ts +21 -9
- package/src/task/types.ts +144 -66
- package/src/task/worktree.ts +64 -56
- package/src/telemetry-export.ts +27 -9
- package/src/thinking.ts +9 -7
- package/src/tiny/models.ts +2 -2
- package/src/tiny/text.ts +5 -1
- package/src/tiny/title-client.ts +72 -20
- package/src/tiny/title-protocol.ts +1 -1
- package/src/tiny/worker.ts +23 -99
- package/src/tool-discovery/tool-index.ts +2 -0
- package/src/tools/archive-reader.ts +94 -2
- package/src/tools/ask.ts +234 -177
- package/src/tools/ast-edit.ts +136 -80
- package/src/tools/ast-grep.ts +41 -45
- package/src/tools/auto-generated-guard.ts +20 -3
- package/src/tools/bash-interactive.ts +28 -8
- package/src/tools/bash.ts +198 -35
- package/src/tools/browser/attach.ts +26 -7
- package/src/tools/browser/cmux/cmux-tab.ts +1264 -0
- package/src/tools/browser/cmux/rpc.ts +156 -0
- package/src/tools/browser/cmux/socket-client.ts +309 -0
- package/src/tools/browser/launch.ts +11 -2
- package/src/tools/browser/readable.ts +19 -2
- package/src/tools/browser/registry.ts +52 -5
- package/src/tools/browser/render.ts +13 -5
- package/src/tools/browser/tab-protocol.ts +2 -0
- package/src/tools/browser/tab-supervisor.ts +256 -34
- package/src/tools/browser/tab-worker.ts +259 -91
- package/src/tools/browser.ts +44 -2
- package/src/tools/checkpoint.ts +1 -1
- package/src/tools/conflict-detect.ts +50 -4
- package/src/tools/debug.ts +27 -12
- package/src/tools/eval-render.ts +32 -35
- package/src/tools/eval.ts +26 -12
- package/src/tools/fetch.ts +450 -99
- package/src/tools/find.ts +182 -142
- package/src/tools/gh-cache-invalidation.ts +255 -0
- package/src/tools/gh-renderer.ts +104 -51
- package/src/tools/gh.ts +232 -37
- package/src/tools/github-cache.ts +97 -7
- package/src/tools/grouped-file-output.ts +159 -52
- package/src/tools/image-gen.ts +237 -132
- package/src/tools/index.ts +147 -26
- package/src/tools/inspect-image-renderer.ts +74 -45
- package/src/tools/inspect-image.ts +12 -6
- package/src/tools/irc.ts +626 -173
- package/src/tools/job.ts +106 -29
- package/src/tools/learn.ts +144 -0
- package/src/tools/manage-skill.ts +104 -0
- package/src/tools/memory-edit.ts +4 -4
- package/src/tools/memory-recall.ts +7 -9
- package/src/tools/memory-reflect.ts +5 -9
- package/src/tools/memory-render.ts +23 -6
- package/src/tools/memory-retain.ts +4 -4
- package/src/tools/path-utils.ts +102 -48
- package/src/tools/plan-mode-guard.ts +101 -40
- package/src/tools/read.ts +475 -120
- package/src/tools/render-mermaid.ts +1 -1
- package/src/tools/render-utils.ts +132 -76
- package/src/tools/renderers.ts +12 -1
- package/src/tools/report-tool-issue.ts +14 -6
- package/src/tools/resolve.ts +20 -3
- package/src/tools/review.ts +2 -2
- package/src/tools/search-tool-bm25.ts +37 -24
- package/src/tools/search.ts +233 -115
- package/src/tools/sqlite-reader.ts +26 -17
- package/src/tools/ssh.ts +20 -14
- package/src/tools/todo.ts +197 -191
- package/src/tools/tool-result.ts +8 -0
- package/src/tools/tool-timeouts.ts +1 -1
- package/src/tools/tts.ts +205 -74
- package/src/tools/write.ts +291 -155
- package/src/tools/yield.ts +10 -1
- package/src/tts/downloader.ts +64 -0
- package/src/tts/index.ts +8 -0
- package/src/tts/models.ts +137 -0
- package/src/tts/player.ts +137 -0
- package/src/tts/runtime.ts +21 -0
- package/src/tts/streaming-player.ts +266 -0
- package/src/tts/tts-client.ts +647 -0
- package/src/tts/tts-protocol.ts +60 -0
- package/src/tts/tts-worker.ts +505 -0
- package/src/tts/vocalizer.ts +162 -0
- package/src/tts/wav.ts +58 -0
- package/src/tui/code-cell.ts +2 -7
- package/src/tui/hyperlink.ts +40 -26
- package/src/tui/output-block.ts +60 -108
- package/src/tui/status-line.ts +5 -1
- package/src/utils/block-context.ts +312 -0
- package/src/utils/changelog.ts +27 -1
- package/src/utils/clipboard.ts +91 -22
- package/src/utils/commit-message-generator.ts +8 -3
- package/src/utils/enhanced-paste.ts +230 -0
- package/src/utils/file-mentions.ts +3 -1
- package/src/utils/git.ts +315 -15
- package/src/utils/image-loading.ts +65 -4
- package/src/utils/session-color.ts +83 -9
- package/src/utils/thinking-display.ts +37 -0
- package/src/utils/title-generator.ts +73 -10
- package/src/utils/tool-choice.ts +16 -0
- package/src/utils/tools-manager.ts +19 -1
- package/src/web/kagi.ts +28 -26
- package/src/web/parallel.ts +7 -3
- package/src/web/scrapers/arxiv.ts +1 -1
- package/src/web/scrapers/github.ts +351 -3
- package/src/web/scrapers/go-pkg.ts +1 -1
- package/src/web/scrapers/iacr.ts +1 -1
- package/src/web/scrapers/readthedocs.ts +1 -1
- package/src/web/scrapers/twitter.ts +2 -1
- package/src/web/scrapers/types.ts +87 -8
- package/src/web/scrapers/wikipedia.ts +1 -1
- package/src/web/scrapers/youtube.ts +9 -3
- package/src/web/search/index.ts +15 -2
- package/src/web/search/providers/anthropic.ts +62 -21
- package/src/web/search/providers/base.ts +2 -1
- package/src/web/search/providers/brave.ts +5 -2
- package/src/web/search/providers/codex.ts +87 -51
- package/src/web/search/providers/exa.ts +101 -10
- package/src/web/search/providers/gemini.ts +49 -24
- package/src/web/search/providers/jina.ts +15 -5
- package/src/web/search/providers/kagi.ts +9 -2
- package/src/web/search/providers/kimi.ts +45 -20
- package/src/web/search/providers/parallel.ts +39 -24
- package/src/web/search/providers/perplexity.ts +226 -63
- package/src/web/search/providers/searxng.ts +19 -3
- package/src/web/search/providers/synthetic.ts +16 -11
- package/src/web/search/providers/tavily.ts +12 -9
- package/src/web/search/providers/zai.ts +22 -9
- package/src/web/search/render.ts +59 -64
- package/src/web/search/types.ts +5 -1
- package/dist/types/discovery/context-files.d.ts +0 -17
- package/dist/types/exa/factory.d.ts +0 -13
- package/dist/types/exa/render.d.ts +0 -19
- package/dist/types/exa/researcher.d.ts +0 -9
- package/dist/types/exa/search.d.ts +0 -9
- package/dist/types/exa/websets.d.ts +0 -9
- package/dist/types/export/html/template.generated.d.ts +0 -1
- package/dist/types/modes/components/session-observer-overlay.d.ts +0 -11
- package/dist/types/modes/components/status-line.d.ts +0 -77
- package/dist/types/slash-commands/headless-plan.d.ts +0 -3
- package/dist/types/stt/setup.d.ts +0 -18
- package/scripts/generate-template.ts +0 -33
- package/src/discovery/context-files.ts +0 -49
- package/src/exa/factory.ts +0 -60
- package/src/exa/render.ts +0 -244
- package/src/exa/researcher.ts +0 -36
- package/src/exa/search.ts +0 -47
- package/src/exa/websets.ts +0 -248
- package/src/export/html/template.generated.ts +0 -2
- package/src/modes/components/session-observer-overlay.ts +0 -852
- package/src/slash-commands/headless-plan.ts +0 -142
- package/src/stt/setup.ts +0 -52
- package/src/stt/transcribe.py +0 -70
- /package/dist/types/extensibility/{legacy-pi-coding-agent-shim.d.ts → legacy-package-agent-shim.d.ts} +0 -0
- /package/src/extensibility/{legacy-pi-coding-agent-shim.ts → legacy-package-agent-shim.ts} +0 -0
|
@@ -1,230 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import { type
|
|
1
|
+
import type { Api, Context, Model, ModelSpec, SimpleStreamOptions, ThinkingConfig } from "@prometheus-ai/ai/types";
|
|
2
|
+
import type { AssistantMessageEventStream } from "@prometheus-ai/ai/utils/event-stream";
|
|
3
|
+
import { type ModelRefreshStrategy } from "@prometheus-ai/catalog/model-manager";
|
|
4
|
+
import type { ApiKeyResolver, FetchImpl } from "@prometheus-ai/ai";
|
|
5
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "@prometheus-ai/ai/oauth/types";
|
|
6
|
+
import { type CanonicalModelIndex, type CanonicalModelRecord, type CanonicalModelVariant, type ModelEquivalenceConfig } from "@prometheus-ai/catalog/identity";
|
|
4
7
|
import type { AuthStorage } from "../session/auth-storage";
|
|
5
|
-
import { type
|
|
6
|
-
import
|
|
7
|
-
import { type Settings } from "./settings";
|
|
8
|
+
import { type ApiKeyResolverModel, type ApiKeyResolverOptions } from "./api-key-resolver";
|
|
9
|
+
import type { ConfigError } from "./config-file";
|
|
8
10
|
export type { CanonicalModelIndex, CanonicalModelRecord, CanonicalModelVariant, ModelEquivalenceConfig };
|
|
9
11
|
export declare const kNoAuth = "N/A";
|
|
10
12
|
export declare function isAuthenticated(apiKey: string | undefined | null): apiKey is string;
|
|
11
|
-
export type ModelRole = "default" | "smol" | "slow" | "vision" | "plan" | "designer" | "commit" | "task";
|
|
12
|
-
export interface ModelRoleInfo {
|
|
13
|
-
tag?: string;
|
|
14
|
-
name: string;
|
|
15
|
-
color?: ThemeColor;
|
|
16
|
-
}
|
|
17
|
-
export declare const MODEL_ROLES: Record<ModelRole, ModelRoleInfo>;
|
|
18
|
-
export declare const MODEL_ROLE_IDS: ModelRole[];
|
|
19
|
-
/** Alias for ModelRoleInfo - used for both built-in and custom roles */
|
|
20
|
-
export type RoleInfo = ModelRoleInfo;
|
|
21
|
-
/**
|
|
22
|
-
* Return the canonical set of known roles for selector/carousel UI.
|
|
23
|
-
*
|
|
24
|
-
* Built-ins always come first. Configured cycle order, model assignments, and
|
|
25
|
-
* tag metadata can introduce additional custom roles without requiring duplicate
|
|
26
|
-
* entries across settings.
|
|
27
|
-
*/
|
|
28
|
-
export declare function getKnownRoleIds(settings: Settings): string[];
|
|
29
|
-
/**
|
|
30
|
-
* Get role info for a role name (built-in or custom).
|
|
31
|
-
* Configured metadata overrides built-in defaults when present.
|
|
32
|
-
*/
|
|
33
|
-
export declare function getRoleInfo(role: string, settings: Settings): RoleInfo;
|
|
34
|
-
export declare const ModelsConfigFile: ConfigFile<{
|
|
35
|
-
providers?: Record<string, {
|
|
36
|
-
baseUrl?: string | undefined;
|
|
37
|
-
apiKey?: string | undefined;
|
|
38
|
-
api?: "anthropic-messages" | "azure-openai-responses" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
39
|
-
headers?: Record<string, string> | undefined;
|
|
40
|
-
compat?: {
|
|
41
|
-
supportsStore?: boolean | undefined;
|
|
42
|
-
supportsDeveloperRole?: boolean | undefined;
|
|
43
|
-
supportsMultipleSystemMessages?: boolean | undefined;
|
|
44
|
-
supportsReasoningEffort?: boolean | undefined;
|
|
45
|
-
reasoningEffortMap?: {
|
|
46
|
-
minimal?: string | undefined;
|
|
47
|
-
low?: string | undefined;
|
|
48
|
-
medium?: string | undefined;
|
|
49
|
-
high?: string | undefined;
|
|
50
|
-
xhigh?: string | undefined;
|
|
51
|
-
} | undefined;
|
|
52
|
-
maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
|
|
53
|
-
supportsUsageInStreaming?: boolean | undefined;
|
|
54
|
-
requiresToolResultName?: boolean | undefined;
|
|
55
|
-
requiresMistralToolIds?: boolean | undefined;
|
|
56
|
-
requiresAssistantAfterToolResult?: boolean | undefined;
|
|
57
|
-
requiresThinkingAsText?: boolean | undefined;
|
|
58
|
-
reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
|
|
59
|
-
requiresReasoningContentForToolCalls?: boolean | undefined;
|
|
60
|
-
allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
|
|
61
|
-
requiresAssistantContentForToolCalls?: boolean | undefined;
|
|
62
|
-
supportsToolChoice?: boolean | undefined;
|
|
63
|
-
disableReasoningOnForcedToolChoice?: boolean | undefined;
|
|
64
|
-
disableReasoningOnToolChoice?: boolean | undefined;
|
|
65
|
-
thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
|
|
66
|
-
openRouterRouting?: {
|
|
67
|
-
only?: string[] | undefined;
|
|
68
|
-
order?: string[] | undefined;
|
|
69
|
-
} | undefined;
|
|
70
|
-
vercelGatewayRouting?: {
|
|
71
|
-
only?: string[] | undefined;
|
|
72
|
-
order?: string[] | undefined;
|
|
73
|
-
} | undefined;
|
|
74
|
-
extraBody?: Record<string, unknown> | undefined;
|
|
75
|
-
cacheControlFormat?: "anthropic" | undefined;
|
|
76
|
-
supportsStrictMode?: boolean | undefined;
|
|
77
|
-
toolStrictMode?: "all_strict" | "none" | undefined;
|
|
78
|
-
} | undefined;
|
|
79
|
-
authHeader?: boolean | undefined;
|
|
80
|
-
auth?: "apiKey" | "none" | "oauth" | undefined;
|
|
81
|
-
discovery?: {
|
|
82
|
-
type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
|
|
83
|
-
} | undefined;
|
|
84
|
-
models?: {
|
|
85
|
-
id: string;
|
|
86
|
-
name?: string | undefined;
|
|
87
|
-
api?: "anthropic-messages" | "azure-openai-responses" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
88
|
-
baseUrl?: string | undefined;
|
|
89
|
-
reasoning?: boolean | undefined;
|
|
90
|
-
thinking?: {
|
|
91
|
-
minLevel: "high" | "low" | "medium" | "minimal" | "xhigh";
|
|
92
|
-
maxLevel: "high" | "low" | "medium" | "minimal" | "xhigh";
|
|
93
|
-
mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
|
|
94
|
-
defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
|
|
95
|
-
levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
|
|
96
|
-
} | undefined;
|
|
97
|
-
input?: ("image" | "text")[] | undefined;
|
|
98
|
-
cost?: {
|
|
99
|
-
input: number;
|
|
100
|
-
output: number;
|
|
101
|
-
cacheRead: number;
|
|
102
|
-
cacheWrite: number;
|
|
103
|
-
} | undefined;
|
|
104
|
-
premiumMultiplier?: number | undefined;
|
|
105
|
-
contextWindow?: number | undefined;
|
|
106
|
-
maxTokens?: number | undefined;
|
|
107
|
-
omitMaxOutputTokens?: boolean | undefined;
|
|
108
|
-
headers?: Record<string, string> | undefined;
|
|
109
|
-
compat?: {
|
|
110
|
-
supportsStore?: boolean | undefined;
|
|
111
|
-
supportsDeveloperRole?: boolean | undefined;
|
|
112
|
-
supportsMultipleSystemMessages?: boolean | undefined;
|
|
113
|
-
supportsReasoningEffort?: boolean | undefined;
|
|
114
|
-
reasoningEffortMap?: {
|
|
115
|
-
minimal?: string | undefined;
|
|
116
|
-
low?: string | undefined;
|
|
117
|
-
medium?: string | undefined;
|
|
118
|
-
high?: string | undefined;
|
|
119
|
-
xhigh?: string | undefined;
|
|
120
|
-
} | undefined;
|
|
121
|
-
maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
|
|
122
|
-
supportsUsageInStreaming?: boolean | undefined;
|
|
123
|
-
requiresToolResultName?: boolean | undefined;
|
|
124
|
-
requiresMistralToolIds?: boolean | undefined;
|
|
125
|
-
requiresAssistantAfterToolResult?: boolean | undefined;
|
|
126
|
-
requiresThinkingAsText?: boolean | undefined;
|
|
127
|
-
reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
|
|
128
|
-
requiresReasoningContentForToolCalls?: boolean | undefined;
|
|
129
|
-
allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
|
|
130
|
-
requiresAssistantContentForToolCalls?: boolean | undefined;
|
|
131
|
-
supportsToolChoice?: boolean | undefined;
|
|
132
|
-
disableReasoningOnForcedToolChoice?: boolean | undefined;
|
|
133
|
-
disableReasoningOnToolChoice?: boolean | undefined;
|
|
134
|
-
thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
|
|
135
|
-
openRouterRouting?: {
|
|
136
|
-
only?: string[] | undefined;
|
|
137
|
-
order?: string[] | undefined;
|
|
138
|
-
} | undefined;
|
|
139
|
-
vercelGatewayRouting?: {
|
|
140
|
-
only?: string[] | undefined;
|
|
141
|
-
order?: string[] | undefined;
|
|
142
|
-
} | undefined;
|
|
143
|
-
extraBody?: Record<string, unknown> | undefined;
|
|
144
|
-
cacheControlFormat?: "anthropic" | undefined;
|
|
145
|
-
supportsStrictMode?: boolean | undefined;
|
|
146
|
-
toolStrictMode?: "all_strict" | "none" | undefined;
|
|
147
|
-
} | undefined;
|
|
148
|
-
contextPromotionTarget?: string | undefined;
|
|
149
|
-
}[] | undefined;
|
|
150
|
-
modelOverrides?: Record<string, {
|
|
151
|
-
name?: string | undefined;
|
|
152
|
-
reasoning?: boolean | undefined;
|
|
153
|
-
thinking?: {
|
|
154
|
-
minLevel: "high" | "low" | "medium" | "minimal" | "xhigh";
|
|
155
|
-
maxLevel: "high" | "low" | "medium" | "minimal" | "xhigh";
|
|
156
|
-
mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
|
|
157
|
-
defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
|
|
158
|
-
levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
|
|
159
|
-
} | undefined;
|
|
160
|
-
input?: ("image" | "text")[] | undefined;
|
|
161
|
-
cost?: {
|
|
162
|
-
input?: number | undefined;
|
|
163
|
-
output?: number | undefined;
|
|
164
|
-
cacheRead?: number | undefined;
|
|
165
|
-
cacheWrite?: number | undefined;
|
|
166
|
-
} | undefined;
|
|
167
|
-
premiumMultiplier?: number | undefined;
|
|
168
|
-
contextWindow?: number | undefined;
|
|
169
|
-
maxTokens?: number | undefined;
|
|
170
|
-
omitMaxOutputTokens?: boolean | undefined;
|
|
171
|
-
headers?: Record<string, string> | undefined;
|
|
172
|
-
compat?: {
|
|
173
|
-
supportsStore?: boolean | undefined;
|
|
174
|
-
supportsDeveloperRole?: boolean | undefined;
|
|
175
|
-
supportsMultipleSystemMessages?: boolean | undefined;
|
|
176
|
-
supportsReasoningEffort?: boolean | undefined;
|
|
177
|
-
reasoningEffortMap?: {
|
|
178
|
-
minimal?: string | undefined;
|
|
179
|
-
low?: string | undefined;
|
|
180
|
-
medium?: string | undefined;
|
|
181
|
-
high?: string | undefined;
|
|
182
|
-
xhigh?: string | undefined;
|
|
183
|
-
} | undefined;
|
|
184
|
-
maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
|
|
185
|
-
supportsUsageInStreaming?: boolean | undefined;
|
|
186
|
-
requiresToolResultName?: boolean | undefined;
|
|
187
|
-
requiresMistralToolIds?: boolean | undefined;
|
|
188
|
-
requiresAssistantAfterToolResult?: boolean | undefined;
|
|
189
|
-
requiresThinkingAsText?: boolean | undefined;
|
|
190
|
-
reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
|
|
191
|
-
requiresReasoningContentForToolCalls?: boolean | undefined;
|
|
192
|
-
allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
|
|
193
|
-
requiresAssistantContentForToolCalls?: boolean | undefined;
|
|
194
|
-
supportsToolChoice?: boolean | undefined;
|
|
195
|
-
disableReasoningOnForcedToolChoice?: boolean | undefined;
|
|
196
|
-
disableReasoningOnToolChoice?: boolean | undefined;
|
|
197
|
-
thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
|
|
198
|
-
openRouterRouting?: {
|
|
199
|
-
only?: string[] | undefined;
|
|
200
|
-
order?: string[] | undefined;
|
|
201
|
-
} | undefined;
|
|
202
|
-
vercelGatewayRouting?: {
|
|
203
|
-
only?: string[] | undefined;
|
|
204
|
-
order?: string[] | undefined;
|
|
205
|
-
} | undefined;
|
|
206
|
-
extraBody?: Record<string, unknown> | undefined;
|
|
207
|
-
cacheControlFormat?: "anthropic" | undefined;
|
|
208
|
-
supportsStrictMode?: boolean | undefined;
|
|
209
|
-
toolStrictMode?: "all_strict" | "none" | undefined;
|
|
210
|
-
} | undefined;
|
|
211
|
-
contextPromotionTarget?: string | undefined;
|
|
212
|
-
}> | undefined;
|
|
213
|
-
disableStrictTools?: boolean | undefined;
|
|
214
|
-
transport?: "prometheus-native" | undefined;
|
|
215
|
-
}> | undefined;
|
|
216
|
-
equivalence?: {
|
|
217
|
-
overrides?: Record<string, string> | undefined;
|
|
218
|
-
exclude?: string[] | undefined;
|
|
219
|
-
} | undefined;
|
|
220
|
-
}>;
|
|
221
13
|
/** Provider override config (baseUrl, headers, apiKey, compat, transport) without custom models */
|
|
222
14
|
interface ProviderOverride {
|
|
223
15
|
baseUrl?: string;
|
|
224
16
|
headers?: Record<string, string>;
|
|
225
17
|
apiKey?: string;
|
|
226
18
|
authHeader?: boolean;
|
|
227
|
-
compat?:
|
|
19
|
+
compat?: ModelSpec<Api>["compat"];
|
|
228
20
|
transport?: Model<Api>["transport"];
|
|
229
21
|
}
|
|
230
22
|
/**
|
|
@@ -237,9 +29,19 @@ interface ProviderOverride {
|
|
|
237
29
|
* `token-plan-sgp.xiaomimimo.com` at discovery time)
|
|
238
30
|
* 3. Existing bundled baseUrl (the host baked into `models.json`)
|
|
239
31
|
*
|
|
32
|
+
* `transport` resolution priority:
|
|
33
|
+
* 1. `providerOverride.transport` (e.g. `prometheus-native` for auth-gateway users)
|
|
34
|
+
* 2. `existing.transport` (carried over from boot-time override application)
|
|
35
|
+
* 3. `model.transport` (rarely set — discovery defaults omit it)
|
|
36
|
+
*
|
|
240
37
|
* Without (1), the user's override would lose to discovery; without (2)
|
|
241
38
|
* preferred over (3), the bundled `api.xiaomimimo.com` would shadow the
|
|
242
39
|
* tp- token-plan host and produce 401s on the first stream call.
|
|
40
|
+
* Without explicit transport propagation, an openrouter (or any) entry
|
|
41
|
+
* marked `transport: prometheus-native` in models.yml silently reverts to the
|
|
42
|
+
* default openai-completions transport after the background catalog
|
|
43
|
+
* refresh — so the first `/model` switch after boot hits the raw OpenAI
|
|
44
|
+
* chat-completions URL instead of the gateway's `/v1/pi/stream` (#2555).
|
|
243
45
|
* See `xiaomi-tp-discovery-merge.test.ts` and the `refresh()` baseUrl-override
|
|
244
46
|
* regression in `model-registry.test.ts`.
|
|
245
47
|
*/
|
|
@@ -258,6 +60,11 @@ export interface CanonicalModelQueryOptions {
|
|
|
258
60
|
availableOnly?: boolean;
|
|
259
61
|
candidates?: readonly Model<Api>[];
|
|
260
62
|
}
|
|
63
|
+
/** A canonical record (with query-filtered variants) plus the variant model selected for it. */
|
|
64
|
+
export interface CanonicalModelSelection {
|
|
65
|
+
record: CanonicalModelRecord;
|
|
66
|
+
model: Model<Api>;
|
|
67
|
+
}
|
|
261
68
|
/**
|
|
262
69
|
* Model registry - loads and manages models, resolves API keys via AuthStorage.
|
|
263
70
|
*/
|
|
@@ -273,13 +80,25 @@ export declare class ModelRegistry {
|
|
|
273
80
|
* migration step lands off the event loop's hot path before the first
|
|
274
81
|
* `tryLoad()` runs.
|
|
275
82
|
*/
|
|
276
|
-
constructor(authStorage: AuthStorage, modelsPath?: string
|
|
83
|
+
constructor(authStorage: AuthStorage, modelsPath?: string, options?: {
|
|
84
|
+
fetch?: FetchImpl;
|
|
85
|
+
});
|
|
277
86
|
/**
|
|
278
87
|
* Reload models from disk (built-in + custom from models.json).
|
|
279
88
|
*/
|
|
280
89
|
refresh(strategy?: ModelRefreshStrategy): Promise<void>;
|
|
281
90
|
refreshInBackground(strategy?: ModelRefreshStrategy): void;
|
|
282
91
|
refreshProvider(providerId: string, strategy?: ModelRefreshStrategy): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Discover models for providers registered at runtime via `fetchDynamicModels`
|
|
94
|
+
* (extension providers). Merges the discovered catalog into the existing model
|
|
95
|
+
* set without reloading static models, so dynamically-discovered models from
|
|
96
|
+
* other providers are preserved. No-op when no runtime providers are registered.
|
|
97
|
+
*
|
|
98
|
+
* Drives the same SQLite model cache as built-in providers, so the default
|
|
99
|
+
* `online-if-uncached` strategy fetches at most once per cache TTL (24 h).
|
|
100
|
+
*/
|
|
101
|
+
refreshRuntimeProviders(strategy?: ModelRefreshStrategy): Promise<void>;
|
|
283
102
|
/**
|
|
284
103
|
* Get any error from loading models.json (undefined if no error).
|
|
285
104
|
*/
|
|
@@ -290,6 +109,14 @@ export declare class ModelRegistry {
|
|
|
290
109
|
*/
|
|
291
110
|
getAll(): Model<Api>[];
|
|
292
111
|
getCanonicalModels(options?: CanonicalModelQueryOptions): CanonicalModelRecord[];
|
|
112
|
+
/**
|
|
113
|
+
* One-pass equivalent of `getCanonicalModels` + `resolveCanonicalModel` per
|
|
114
|
+
* record. The per-query state (candidate-selector set, availability memo,
|
|
115
|
+
* provider rank, candidate order) is built once, so the whole catalog
|
|
116
|
+
* resolves in O(records + candidates) instead of O(records × candidates).
|
|
117
|
+
* This is the path the model selector hydrates from synchronously on open.
|
|
118
|
+
*/
|
|
119
|
+
getCanonicalModelSelections(options?: CanonicalModelQueryOptions): CanonicalModelSelection[];
|
|
293
120
|
getCanonicalVariants(canonicalId: string, options?: CanonicalModelQueryOptions): CanonicalModelVariant[];
|
|
294
121
|
resolveCanonicalModel(canonicalId: string, options?: CanonicalModelQueryOptions): Model<Api> | undefined;
|
|
295
122
|
getCanonicalId(model: Model<Api>): string | undefined;
|
|
@@ -301,11 +128,18 @@ export declare class ModelRegistry {
|
|
|
301
128
|
/**
|
|
302
129
|
* Check whether auth is configured for a model's provider.
|
|
303
130
|
*
|
|
304
|
-
* Mirrors the upstream `@mariozechner/
|
|
131
|
+
* Mirrors the upstream `@mariozechner/agent` API surface so that
|
|
305
132
|
* external plugins/extensions and downstream wrappers (e.g. subagent launch
|
|
306
133
|
* paths that pre-flight auth before model resolution) can probe a model
|
|
307
134
|
* without resolving an API key. Returns true for keyless providers as well
|
|
308
135
|
* as providers with stored credentials. See issue #993.
|
|
136
|
+
*
|
|
137
|
+
* Side-effect-free and synchronous: a command-backed key (`!cmd`) counts as
|
|
138
|
+
* configured by its presence alone — the program is NOT executed — and OAuth
|
|
139
|
+
* tokens are NOT refreshed (`authStorage.hasAuth`). This is what keeps the
|
|
140
|
+
* model-switch pre-flight off the event loop's hot path; the real key
|
|
141
|
+
* (command execution + OAuth refresh) is resolved lazily per request via
|
|
142
|
+
* {@link ModelRegistry.resolver}.
|
|
309
143
|
*/
|
|
310
144
|
hasConfiguredAuth(model: Model<Api>): boolean;
|
|
311
145
|
getDiscoverableProviders(): string[];
|
|
@@ -324,8 +158,26 @@ export declare class ModelRegistry {
|
|
|
324
158
|
getApiKey(model: Model<Api>, sessionId?: string): Promise<string | undefined>;
|
|
325
159
|
/**
|
|
326
160
|
* Get API key for a provider (e.g., "openai").
|
|
161
|
+
*
|
|
162
|
+
* `options.forceRefresh` powers step (b) of the auth-retry policy — it
|
|
163
|
+
* re-mints the session-sticky OAuth token even when the cached copy still
|
|
164
|
+
* looks valid. `options.signal` is threaded into any broker-bound refresh.
|
|
327
165
|
*/
|
|
328
|
-
getApiKeyForProvider(provider: string, sessionId?: string,
|
|
166
|
+
getApiKeyForProvider(provider: string, sessionId?: string, options?: {
|
|
167
|
+
baseUrl?: string;
|
|
168
|
+
modelId?: string;
|
|
169
|
+
forceRefresh?: boolean;
|
|
170
|
+
signal?: AbortSignal;
|
|
171
|
+
}): Promise<string | undefined>;
|
|
172
|
+
/**
|
|
173
|
+
* Build an {@link ApiKeyResolver} implementing the central a/b/c auth-retry
|
|
174
|
+
* policy. Accepts a provider id with options, or a model with an optional
|
|
175
|
+
* session id (`resolver(model, sessionId)`) which derives `baseUrl`/`modelId`
|
|
176
|
+
* from the model. Callers that need the initial key for a guard can call
|
|
177
|
+
* `resolveApiKeyOnce(resolver)`.
|
|
178
|
+
*/
|
|
179
|
+
resolver(provider: string, options?: ApiKeyResolverOptions): ApiKeyResolver;
|
|
180
|
+
resolver(model: ApiKeyResolverModel, sessionId?: string): ApiKeyResolver;
|
|
329
181
|
/**
|
|
330
182
|
* Check if a model is using OAuth credentials (subscription).
|
|
331
183
|
*/
|
|
@@ -355,6 +207,11 @@ export declare class ModelRegistry {
|
|
|
355
207
|
* Check if a model selector is currently suppressed due to rate limits.
|
|
356
208
|
*/
|
|
357
209
|
isSelectorSuppressed(selector: string): boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Clear all cooldown suppressions recorded via {@link suppressSelector}.
|
|
212
|
+
* Used to reset retry-fallback cooldown state without a full {@link refresh}.
|
|
213
|
+
*/
|
|
214
|
+
clearSuppressedSelectors(): void;
|
|
358
215
|
}
|
|
359
216
|
/**
|
|
360
217
|
* Input type for registerProvider API (from extensions).
|
|
@@ -365,7 +222,7 @@ export interface ProviderConfigInput {
|
|
|
365
222
|
api?: Api;
|
|
366
223
|
streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
|
|
367
224
|
headers?: Record<string, string>;
|
|
368
|
-
compat?:
|
|
225
|
+
compat?: ModelSpec<Api>["compat"];
|
|
369
226
|
authHeader?: boolean;
|
|
370
227
|
/** Streaming transport override — see {@link Model.transport}. */
|
|
371
228
|
transport?: Model<Api>["transport"];
|
|
@@ -376,6 +233,13 @@ export interface ProviderConfigInput {
|
|
|
376
233
|
getApiKey?(credentials: OAuthCredentials): string;
|
|
377
234
|
modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
|
|
378
235
|
};
|
|
236
|
+
/**
|
|
237
|
+
* Async factory that fetches the live model list from the provider endpoint.
|
|
238
|
+
* When present, the result is run through the same SQLite model-cache as
|
|
239
|
+
* built-in providers (keyed by provider name, default 24 h TTL).
|
|
240
|
+
* The factory receives the resolved API key (undefined when unauthenticated).
|
|
241
|
+
*/
|
|
242
|
+
fetchDynamicModels?: (apiKey: string | undefined) => Promise<readonly NonNullable<ProviderConfigInput["models"]>[number][]>;
|
|
379
243
|
models?: Array<{
|
|
380
244
|
id: string;
|
|
381
245
|
name: string;
|
|
@@ -393,7 +257,7 @@ export interface ProviderConfigInput {
|
|
|
393
257
|
contextWindow: number;
|
|
394
258
|
maxTokens: number;
|
|
395
259
|
headers?: Record<string, string>;
|
|
396
|
-
compat?:
|
|
260
|
+
compat?: ModelSpec<Api>["compat"];
|
|
397
261
|
contextPromotionTarget?: string;
|
|
398
262
|
premiumMultiplier?: number;
|
|
399
263
|
}>;
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Model resolution, scoping, and initial selection
|
|
2
|
+
* Model resolution, scoping, and initial selection.
|
|
3
|
+
*
|
|
4
|
+
* Layering:
|
|
5
|
+
* - `matchModel` is the single matching engine. Order: exact `provider/id`
|
|
6
|
+
* reference (with variant-alias and OpenRouter routed/date fallbacks) →
|
|
7
|
+
* exact canonical id → exact bare id → retired variant alias →
|
|
8
|
+
* provider-scoped fuzzy → substring with alias-vs-dated pick.
|
|
9
|
+
* - `parseModelPatternWithContext`/`parseModelPattern` layer the selector
|
|
10
|
+
* grammar on top: trailing `:level` thinking suffixes (`splitThinkingSuffix`)
|
|
11
|
+
* and `@upstream` provider routing (`splitUpstreamRouting`).
|
|
12
|
+
* - Everything else (`resolveModelFromString`, `resolveModelOverride*`,
|
|
13
|
+
* `resolveRoleSelection`, `resolveModelScope`, `resolveCliModel`,
|
|
14
|
+
* `findSmolModel`/`findSlowModel`) adapts inputs — roles, settings patterns,
|
|
15
|
+
* CLI flags, scope globs — onto that pipeline.
|
|
3
16
|
*/
|
|
4
17
|
import { ThinkingLevel } from "@prometheus-ai/agent-core";
|
|
5
|
-
import {
|
|
6
|
-
import { type ModelRegistry
|
|
18
|
+
import type { Api, Effort, Model } from "@prometheus-ai/ai";
|
|
19
|
+
import { type ModelRegistry } from "./model-registry";
|
|
20
|
+
import { type ModelRole } from "./model-roles";
|
|
7
21
|
import type { Settings } from "./settings";
|
|
8
|
-
/** Default model IDs for each known provider */
|
|
9
|
-
export declare const defaultModelPerProvider: Record<KnownProvider, string>;
|
|
10
22
|
export interface ScopedModel {
|
|
11
23
|
model: Model<Api>;
|
|
12
24
|
thinkingLevel?: ThinkingLevel;
|
|
@@ -30,7 +42,9 @@ export declare function resolveProviderModelReference(provider: string, modelId:
|
|
|
30
42
|
export interface ModelMatchPreferences {
|
|
31
43
|
/** Most-recently-used model keys (provider/modelId) to prefer when ambiguous. */
|
|
32
44
|
usageOrder?: string[];
|
|
33
|
-
/**
|
|
45
|
+
/** Provider precedence used for ambiguous unqualified model patterns. */
|
|
46
|
+
providerOrder?: readonly string[];
|
|
47
|
+
/** Providers to deprioritize when no recent usage or provider priority is available. */
|
|
34
48
|
deprioritizeProviders?: string[];
|
|
35
49
|
}
|
|
36
50
|
export type CanonicalModelRegistry = Partial<Pick<ModelRegistry, "resolveCanonicalModel" | "getCanonicalVariants" | "getCanonicalId">>;
|
|
@@ -38,15 +52,13 @@ export type ModelLookupRegistry = Pick<ModelRegistry, "getAvailable"> & Partial<
|
|
|
38
52
|
type CliModelRegistry = Pick<ModelRegistry, "getAll"> & Partial<CanonicalModelRegistry>;
|
|
39
53
|
type InitialModelRegistry = Pick<ModelRegistry, "getAvailable" | "find">;
|
|
40
54
|
type RestorableModelRegistry = Pick<ModelRegistry, "getAvailable" | "find" | "getApiKey">;
|
|
41
|
-
|
|
42
|
-
* Find an exact explicit provider/model match.
|
|
43
|
-
* Bare model ids are handled separately so canonical ids can coalesce variants.
|
|
44
|
-
*/
|
|
45
|
-
export declare function findExactModelReferenceMatch(modelReference: string, availableModels: Model<Api>[]): Model<Api> | undefined;
|
|
55
|
+
export declare function getModelMatchPreferences(settings?: Partial<Pick<Settings, "get" | "getStorage">>): ModelMatchPreferences;
|
|
46
56
|
export interface ParsedModelResult {
|
|
47
57
|
model: Model<Api> | undefined;
|
|
48
58
|
/** Thinking level if explicitly specified in pattern, undefined otherwise */
|
|
49
59
|
thinkingLevel?: ThinkingLevel;
|
|
60
|
+
/** Upstream provider slug from an `@upstream` routing selector, if present. */
|
|
61
|
+
upstream?: string;
|
|
50
62
|
warning: string | undefined;
|
|
51
63
|
explicitThinkingLevel: boolean;
|
|
52
64
|
}
|
|
@@ -55,7 +67,8 @@ export declare function parseModelPattern(pattern: string, availableModels: Mode
|
|
|
55
67
|
modelRegistry?: CanonicalModelRegistry;
|
|
56
68
|
}): ParsedModelResult;
|
|
57
69
|
/**
|
|
58
|
-
* Expand a role alias like "prometheus/smol" to the configured
|
|
70
|
+
* Expand a role alias like "pi/smol" or "prometheus/smol" to the configured
|
|
71
|
+
* model string.
|
|
59
72
|
*/
|
|
60
73
|
export declare function expandRoleAlias(value: string, settings?: Settings): string;
|
|
61
74
|
export declare function resolveConfiguredModelPatterns(value: string | string[] | undefined, settings?: Settings): string[];
|
|
@@ -163,6 +176,24 @@ export declare function resolveModelScope(patterns: string[], modelRegistry: Pic
|
|
|
163
176
|
* rather than falling back to the global default (see issue #1022).
|
|
164
177
|
*/
|
|
165
178
|
export declare function resolveAllowedModels(modelRegistry: Pick<ModelRegistry, "getAvailable" | "getCanonicalVariants">, settings: Settings | undefined, preferences?: ModelMatchPreferences): Promise<Model<Api>[]>;
|
|
179
|
+
/**
|
|
180
|
+
* Synchronous subset of {@link resolveAllowedModels} for contexts where async is unavailable
|
|
181
|
+
* (e.g. `getAvailableModels()` which is called from the ACP model-list advertisement, RPC
|
|
182
|
+
* `get_available_models`, and the `/model` slash command). Uses the same effective
|
|
183
|
+
* `enabledModels` scope semantics as startup resolution:
|
|
184
|
+
*
|
|
185
|
+
* - Glob selectors match `provider/modelId` and bare model id
|
|
186
|
+
* - Exact canonical ids expand to all available concrete variants
|
|
187
|
+
* - Exact `provider/modelId`, bare ids, provider-scoped fuzzy, and substring selectors
|
|
188
|
+
* resolve through the shared model-pattern matcher
|
|
189
|
+
* - Optional `:thinkingLevel` suffixes are stripped only when valid
|
|
190
|
+
*
|
|
191
|
+
* When no pattern resolves to any model (misconfiguration / typo) an empty list is returned,
|
|
192
|
+
* consistent with the empty-list contract of {@link resolveAllowedModels}. Callers that render
|
|
193
|
+
* a UI picker should treat an empty list as "hide the picker entry", matching how the SDK
|
|
194
|
+
* surfaces the same misconfiguration during session initialization.
|
|
195
|
+
*/
|
|
196
|
+
export declare function filterAvailableModelsByEnabledPatterns(available: Model<Api>[], patterns: readonly string[], registry: Pick<ModelRegistry, "getCanonicalVariants">): Model<Api>[];
|
|
166
197
|
export interface ResolveCliModelResult {
|
|
167
198
|
model: Model<Api> | undefined;
|
|
168
199
|
selector?: string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in model roles and role metadata helpers.
|
|
3
|
+
*/
|
|
4
|
+
import { type ThemeColor } from "../modes/theme/theme";
|
|
5
|
+
import type { Settings } from "./settings";
|
|
6
|
+
export type ModelRole = "default" | "smol" | "slow" | "vision" | "plan" | "designer" | "commit" | "title" | "task";
|
|
7
|
+
export interface ModelRoleInfo {
|
|
8
|
+
tag?: string;
|
|
9
|
+
name: string;
|
|
10
|
+
color?: ThemeColor;
|
|
11
|
+
/** If true, the role is functional but not shown in the model selector UI. */
|
|
12
|
+
hidden?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const MODEL_ROLES: Record<ModelRole, ModelRoleInfo>;
|
|
15
|
+
export declare const MODEL_ROLE_IDS: ModelRole[];
|
|
16
|
+
export type RoleInfo = ModelRoleInfo;
|
|
17
|
+
/**
|
|
18
|
+
* Return the canonical set of known roles for selector/carousel UI.
|
|
19
|
+
*
|
|
20
|
+
* Built-ins always come first. Configured cycle order, model assignments, and
|
|
21
|
+
* tag metadata can introduce additional custom roles without requiring duplicate
|
|
22
|
+
* entries across settings.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getKnownRoleIds(settings: Settings): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Get role info for a role name (built-in or custom).
|
|
27
|
+
* Configured metadata overrides built-in defaults when present.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getRoleInfo(role: string, settings: Settings): RoleInfo;
|