@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,8 +1,11 @@
|
|
|
1
1
|
import type { ImageContent, Message, Model, TextContent } from "@prometheus-ai/ai";
|
|
2
2
|
import type { Component, TUI } from "@prometheus-ai/tui";
|
|
3
|
+
import type { logger as PiLogger } from "@prometheus-ai/utils";
|
|
4
|
+
import type { z } from "zod/v4";
|
|
3
5
|
import type { ModelRegistry } from "../../config/model-registry";
|
|
4
6
|
import type { EditToolDetails } from "../../edit";
|
|
5
7
|
import type { ExecOptions, ExecResult } from "../../exec/exec";
|
|
8
|
+
import type * as PiCodingAgent from "../../index";
|
|
6
9
|
import type { Theme } from "../../modes/theme/theme";
|
|
7
10
|
import type { HookMessage } from "../../session/messages";
|
|
8
11
|
import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
|
|
@@ -39,6 +42,7 @@ import type {
|
|
|
39
42
|
TurnEndEvent,
|
|
40
43
|
TurnStartEvent,
|
|
41
44
|
} from "../shared-events";
|
|
45
|
+
import type * as TypeBox from "../typebox";
|
|
42
46
|
|
|
43
47
|
// Re-export for backward compatibility
|
|
44
48
|
export type { ExecOptions, ExecResult } from "../../exec/exec";
|
|
@@ -577,13 +581,15 @@ export interface HookAPI {
|
|
|
577
581
|
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
578
582
|
|
|
579
583
|
/** File logger for error/warning/debug messages */
|
|
580
|
-
logger: typeof
|
|
584
|
+
logger: typeof PiLogger;
|
|
581
585
|
/** Injected zod-backed typebox shim (legacy/compat — prefer `zod`). */
|
|
582
|
-
typebox: typeof
|
|
586
|
+
typebox: typeof TypeBox;
|
|
583
587
|
/** Injected zod module for Zod-authored hooks. */
|
|
584
|
-
zod: typeof
|
|
585
|
-
/** Injected coding
|
|
586
|
-
|
|
588
|
+
zod: typeof z;
|
|
589
|
+
/** Injected Prometheus coding agent exports */
|
|
590
|
+
prometheus: typeof PiCodingAgent;
|
|
591
|
+
/** Legacy alias for injected Prometheus coding agent exports */
|
|
592
|
+
pi: typeof PiCodingAgent;
|
|
587
593
|
}
|
|
588
594
|
|
|
589
595
|
/**
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* pi-ai 15.1.0 removed the historical TypeBox root exports (`Type`, plus the
|
|
7
7
|
* runtime-relevant half of the `Static`/`TSchema` pair) from the package
|
|
8
8
|
* entrypoint. Legacy extensions still author parameter schemas as
|
|
9
|
-
* `Type.Object({ ... })`, so this file is served by `legacy-
|
|
9
|
+
* `Type.Object({ ... })`, so this file is served by `legacy-package-compat.ts` in
|
|
10
10
|
* place of the real pi-ai entrypoint whenever a legacy extension imports the
|
|
11
|
-
* bare package root. Subpath imports (`@prometheus-ai/ai/
|
|
11
|
+
* bare package root. Subpath imports (`@prometheus-ai/ai/oauth`, etc.)
|
|
12
12
|
* continue to resolve directly against the bundled pi-ai package.
|
|
13
13
|
*
|
|
14
14
|
* The `Type` runtime is borrowed from the Zod-backed TypeBox shim that
|
|
@@ -25,7 +25,6 @@ export async function runDoctorChecks(): Promise<DoctorCheck[]> {
|
|
|
25
25
|
const apiKeys = [
|
|
26
26
|
{ name: "ANTHROPIC_API_KEY", description: "Anthropic API" },
|
|
27
27
|
{ name: "OPENAI_API_KEY", description: "OpenAI API" },
|
|
28
|
-
{ name: "PERPLEXITY_API_KEY", description: "Perplexity search" },
|
|
29
28
|
{ name: "EXA_API_KEY", description: "Exa search" },
|
|
30
29
|
];
|
|
31
30
|
|
|
@@ -49,7 +48,7 @@ export function formatDoctorResults(checks: DoctorCheck[]): string {
|
|
|
49
48
|
for (const check of checks) {
|
|
50
49
|
const icon =
|
|
51
50
|
check.status === "ok"
|
|
52
|
-
? theme.status.
|
|
51
|
+
? theme.status.enabled
|
|
53
52
|
: check.status === "warning"
|
|
54
53
|
? theme.status.warning
|
|
55
54
|
: theme.status.error;
|
|
@@ -75,7 +75,7 @@ export async function installPlugin(packageName: string): Promise<InstalledPlugi
|
|
|
75
75
|
name: pkg.name,
|
|
76
76
|
version: pkg.version,
|
|
77
77
|
path: path.join(PLUGINS_DIR, "node_modules", actualName),
|
|
78
|
-
manifest: pkg.prometheus ||
|
|
78
|
+
manifest: pkg.prometheus || { version: pkg.version },
|
|
79
79
|
enabledFeatures: null,
|
|
80
80
|
enabled: true,
|
|
81
81
|
};
|
|
@@ -120,7 +120,7 @@ export async function listPlugins(): Promise<InstalledPlugin[]> {
|
|
|
120
120
|
name,
|
|
121
121
|
version: pkg.version,
|
|
122
122
|
path: pluginPath,
|
|
123
|
-
manifest: pkg.prometheus ||
|
|
123
|
+
manifest: pkg.prometheus || { version: pkg.version },
|
|
124
124
|
enabledFeatures: null,
|
|
125
125
|
enabled: true,
|
|
126
126
|
});
|
|
@@ -1,60 +1,97 @@
|
|
|
1
|
-
import * as fs from "node:fs
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as url from "node:url";
|
|
4
4
|
import { isCompiledBinary } from "@prometheus-ai/utils";
|
|
5
5
|
|
|
6
6
|
const IS_COMPILED_BINARY = isCompiledBinary();
|
|
7
7
|
|
|
8
|
-
// Canonical scope for in-process Prometheus packages. Plugins published against
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
// resolved against the bundled copy that ships inside the Prometheus binary. This
|
|
8
|
+
// Canonical scope for in-process Prometheus packages. Plugins published against
|
|
9
|
+
// historical pi package scopes are remapped to this scope and resolved against
|
|
10
|
+
// the bundled copy that ships inside the prometheus binary. This
|
|
12
11
|
// keeps plugins running against the exact runtime state of the host (single
|
|
13
12
|
// module registry, single tool registry, etc.) regardless of which historical
|
|
14
13
|
// scope name they happened to declare in their peerDependencies.
|
|
15
|
-
const
|
|
14
|
+
const CANONICAL_PACKAGE_SCOPE = "@prometheus-ai";
|
|
16
15
|
|
|
17
16
|
// Scopes that have historically been used to publish (or alias) the same set
|
|
18
|
-
// of internal packages. `@prometheus-ai` is intentionally included so
|
|
19
|
-
//
|
|
17
|
+
// of internal pi-* packages. `@prometheus-ai` is intentionally included so
|
|
18
|
+
// direct imports of old pi package basenames still pass through host resolution
|
|
20
19
|
// path instead of pulling a duplicate copy from plugin node_modules.
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const LEGACY_PACKAGE_SCOPE_ALIASES = ["prometheus-ai", "Prometheus", "mariozechner", "earendil-works"] as const;
|
|
21
|
+
|
|
22
|
+
// Internal pi-* package basenames and their canonical Prometheus package
|
|
23
|
+
// basenames bundled inside the prometheus binary.
|
|
24
|
+
const LEGACY_PACKAGE_NAMES = [
|
|
25
|
+
"pi-agent-core",
|
|
26
|
+
"agent-core",
|
|
27
|
+
"pi-ai",
|
|
28
|
+
"ai",
|
|
29
|
+
"pi-coding-agent",
|
|
30
|
+
"agent",
|
|
31
|
+
"prometheus-natives",
|
|
32
|
+
"natives",
|
|
33
|
+
"pi-tui",
|
|
34
|
+
"tui",
|
|
35
|
+
"pi-utils",
|
|
36
|
+
"utils",
|
|
37
|
+
] as const;
|
|
38
|
+
|
|
39
|
+
const LEGACY_PACKAGE_NAME_REMAPS: ReadonlyMap<string, string> = new Map<string, string>([
|
|
24
40
|
["pi-agent-core", "agent-core"],
|
|
41
|
+
["agent-core", "agent-core"],
|
|
25
42
|
["pi-ai", "ai"],
|
|
43
|
+
["ai", "ai"],
|
|
26
44
|
["pi-coding-agent", "agent"],
|
|
27
|
-
["
|
|
45
|
+
["agent", "agent"],
|
|
28
46
|
["prometheus-natives", "natives"],
|
|
47
|
+
["natives", "natives"],
|
|
29
48
|
["pi-tui", "tui"],
|
|
49
|
+
["tui", "tui"],
|
|
30
50
|
["pi-utils", "utils"],
|
|
51
|
+
["utils", "utils"],
|
|
31
52
|
]);
|
|
32
53
|
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const LEGACY_PI_PACKAGE_NAMES = [...LEGACY_PI_PACKAGE_REMAPS.keys()] as const;
|
|
36
|
-
|
|
37
|
-
const PROMETHEUS_SCOPE_ALTERNATION = PROMETHEUS_SCOPE_ALIASES.join("|");
|
|
38
|
-
const PROMETHEUS_PACKAGE_ALTERNATION = [...PROMETHEUS_PACKAGE_NAMES, ...LEGACY_PI_PACKAGE_NAMES].join("|");
|
|
54
|
+
const LEGACY_PACKAGE_SCOPE_ALTERNATION = LEGACY_PACKAGE_SCOPE_ALIASES.join("|");
|
|
55
|
+
const LEGACY_PACKAGE_ALTERNATION = LEGACY_PACKAGE_NAMES.join("|");
|
|
39
56
|
|
|
40
57
|
// Upstream `@mariozechner/*` packages exposed a few subpaths at the package
|
|
41
58
|
// root that we relocated under a different folder. Each entry rewrites
|
|
42
|
-
// `<pkg>/<from>`
|
|
59
|
+
// `<pkg>/<from>` → `<pkg>/<to>` after the scope has been canonicalised, so
|
|
43
60
|
// plugins importing the upstream layout still resolve to a real file in our
|
|
44
|
-
// bundled copy.
|
|
45
|
-
//
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// root-level re-export, so map the upstream subpath onto it directly.
|
|
50
|
-
["pi-ai/oauth", "ai/utils/oauth"],
|
|
61
|
+
// bundled copy. Entries ending in `/` rewrite the whole subtree; add new
|
|
62
|
+
// `pkg/from -> pkg/to` pairs whenever an upstream-only subpath breaks resolution.
|
|
63
|
+
const LEGACY_PACKAGE_SUBPATH_REMAPS: ReadonlyMap<string, string> = new Map<string, string>([
|
|
64
|
+
["pi-ai/utils/oauth", "pi-ai/oauth"],
|
|
65
|
+
["pi-ai/utils/oauth/", "pi-ai/oauth/"],
|
|
51
66
|
]);
|
|
52
67
|
|
|
53
|
-
|
|
54
|
-
|
|
68
|
+
function remapLegacyPackageSubpath(rest: string): string {
|
|
69
|
+
const exact = LEGACY_PACKAGE_SUBPATH_REMAPS.get(rest);
|
|
70
|
+
if (exact) {
|
|
71
|
+
return remapLegacyPackagePackageName(exact);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
for (const [from, to] of LEGACY_PACKAGE_SUBPATH_REMAPS) {
|
|
75
|
+
if (from.endsWith("/") && rest.startsWith(from)) {
|
|
76
|
+
return remapLegacyPackagePackageName(`${to}${rest.slice(from.length)}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return remapLegacyPackagePackageName(rest);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function remapLegacyPackagePackageName(rest: string): string {
|
|
84
|
+
const slashIndex = rest.indexOf("/");
|
|
85
|
+
const packageName = slashIndex === -1 ? rest : rest.slice(0, slashIndex);
|
|
86
|
+
const suffix = slashIndex === -1 ? "" : rest.slice(slashIndex);
|
|
87
|
+
return `${LEGACY_PACKAGE_NAME_REMAPS.get(packageName) ?? packageName}${suffix}`;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const LEGACY_PACKAGE_SPECIFIER_FILTER = new RegExp(
|
|
91
|
+
`^@(?:${LEGACY_PACKAGE_SCOPE_ALTERNATION})/(?:${LEGACY_PACKAGE_ALTERNATION})(?:/.*)?$`,
|
|
55
92
|
);
|
|
56
|
-
const
|
|
57
|
-
`((?:from\\s+|import\\s+|import\\s*\\(\\s*)["'])(@(?:${
|
|
93
|
+
const LEGACY_PACKAGE_IMPORT_SPECIFIER_REGEX = new RegExp(
|
|
94
|
+
`((?:from\\s+|import\\s+|import\\s*\\(\\s*)["'])(@(?:${LEGACY_PACKAGE_SCOPE_ALTERNATION})/(?:${LEGACY_PACKAGE_ALTERNATION})(?:/[^"'()\\s]+)?)(["'])`,
|
|
58
95
|
"g",
|
|
59
96
|
);
|
|
60
97
|
const resolvedSpecifierFallbacks = new Map<string, string>();
|
|
@@ -113,6 +150,28 @@ export function __computeBunfsPackageRoot(metaDir: string, pathImpl: typeof path
|
|
|
113
150
|
return pathImpl.join(metaDir, "packages");
|
|
114
151
|
}
|
|
115
152
|
|
|
153
|
+
/**
|
|
154
|
+
* Compute the package root for the npm prebuilt `dist/cli.js` bundle.
|
|
155
|
+
*
|
|
156
|
+
* `bundle-dist.ts` defines `process.env.PROMETHEUS_BUNDLED="true"`; after bundling,
|
|
157
|
+
* `import.meta.dir` points at `<package>/dist`. Do not resolve the package via
|
|
158
|
+
* bare `@prometheus-ai/agent` here: from a global install Bun can pick an
|
|
159
|
+
* older cache entry, recreating mixed-runtime plugin loading.
|
|
160
|
+
*/
|
|
161
|
+
export function __computeBundledSelfPackageRoot(metaDir: string, pathImpl: typeof path = path): string {
|
|
162
|
+
const normalizedMetaDir = pathImpl.normalize(metaDir);
|
|
163
|
+
if (pathImpl.basename(normalizedMetaDir) === "dist") {
|
|
164
|
+
return pathImpl.resolve(metaDir, "..");
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const pluginsDirSuffix = pathImpl.join("src", "extensibility", "plugins");
|
|
168
|
+
if (normalizedMetaDir.endsWith(pluginsDirSuffix)) {
|
|
169
|
+
return pathImpl.resolve(metaDir, "..", "..", "..");
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return pathImpl.resolve(metaDir);
|
|
173
|
+
}
|
|
174
|
+
|
|
116
175
|
const BUNFS_PACKAGE_ROOT = IS_COMPILED_BINARY ? __computeBunfsPackageRoot(import.meta.dir) : null;
|
|
117
176
|
|
|
118
177
|
function bunfsPath(...segments: string[]): string {
|
|
@@ -122,9 +181,22 @@ function bunfsPath(...segments: string[]): string {
|
|
|
122
181
|
return path.join(BUNFS_PACKAGE_ROOT, ...segments);
|
|
123
182
|
}
|
|
124
183
|
|
|
184
|
+
function resolveBundledSelfPackageRoot(): string | undefined {
|
|
185
|
+
if (!process.env.PROMETHEUS_BUNDLED) return undefined;
|
|
186
|
+
return __computeBundledSelfPackageRoot(import.meta.dir);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const BUNDLED_SELF_PACKAGE_ROOT = resolveBundledSelfPackageRoot();
|
|
190
|
+
|
|
191
|
+
function sourceShimPath(file: string): string {
|
|
192
|
+
return BUNDLED_SELF_PACKAGE_ROOT
|
|
193
|
+
? path.join(BUNDLED_SELF_PACKAGE_ROOT, "src", "extensibility", file)
|
|
194
|
+
: path.resolve(import.meta.dir, "..", file);
|
|
195
|
+
}
|
|
196
|
+
|
|
125
197
|
const TYPEBOX_SHIM_PATH = BUNFS_PACKAGE_ROOT
|
|
126
198
|
? bunfsPath("coding-agent", "src", "extensibility", "typebox.js")
|
|
127
|
-
:
|
|
199
|
+
: sourceShimPath("typebox.ts");
|
|
128
200
|
|
|
129
201
|
// Legacy extensions historically imported `Type` (and `Static`/`TSchema`) from
|
|
130
202
|
// the package root of `@(scope)/pi-ai`. pi-ai 15.1.0 removed the runtime `Type`
|
|
@@ -132,20 +204,20 @@ const TYPEBOX_SHIM_PATH = BUNFS_PACKAGE_ROOT
|
|
|
132
204
|
// longer satisfies those imports. The override below redirects only the bare
|
|
133
205
|
// pi-ai package root onto a sibling shim that re-exports the canonical surface
|
|
134
206
|
// plus the borrowed `Type` runtime from the Zod-backed TypeBox shim. Subpath
|
|
135
|
-
// imports such as `@prometheus-ai/ai/
|
|
207
|
+
// imports such as `@prometheus-ai/ai/oauth` continue to resolve directly
|
|
136
208
|
// against the bundled pi-ai package.
|
|
137
|
-
const
|
|
138
|
-
? bunfsPath("coding-agent", "src", "extensibility", "legacy-
|
|
139
|
-
:
|
|
209
|
+
const LEGACY_PACKAGE_AI_SHIM_PATH = BUNFS_PACKAGE_ROOT
|
|
210
|
+
? bunfsPath("coding-agent", "src", "extensibility", "legacy-package-ai-shim.js")
|
|
211
|
+
: sourceShimPath("legacy-package-ai-shim.ts");
|
|
140
212
|
|
|
141
213
|
// The coding-agent's own `./src/index.ts` cannot be listed as an extra
|
|
142
214
|
// `bun --compile` entrypoint alongside the CLI entry without breaking binary
|
|
143
215
|
// startup (issue #1474 follow-up). Legacy `@(scope)/pi-coding-agent` root
|
|
144
216
|
// imports therefore resolve through a sibling shim whose distinct file path
|
|
145
217
|
// avoids that collision while re-exporting the canonical package surface.
|
|
146
|
-
const
|
|
147
|
-
? bunfsPath("coding-agent", "src", "extensibility", "legacy-
|
|
148
|
-
:
|
|
218
|
+
const LEGACY_PACKAGE_CODING_AGENT_SHIM_PATH = BUNFS_PACKAGE_ROOT
|
|
219
|
+
? bunfsPath("coding-agent", "src", "extensibility", "legacy-package-agent-shim.js")
|
|
220
|
+
: sourceShimPath("legacy-package-agent-shim.ts");
|
|
149
221
|
|
|
150
222
|
// Package-root overrides. Shim entries are always applied because they replace
|
|
151
223
|
// (or augment) the canonical surface even in non-compiled installs. The bunfs
|
|
@@ -154,23 +226,47 @@ const LEGACY_PI_CODING_AGENT_SHIM_PATH = BUNFS_PACKAGE_ROOT
|
|
|
154
226
|
// `Bun.resolveSync`, and hardcoding a relative source-tree path would break
|
|
155
227
|
// installs where the bundled packages live at `node_modules/@prometheus-ai/*`
|
|
156
228
|
// rather than `packages/*`.
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
229
|
+
//
|
|
230
|
+
// Every override target is validated against the on-disk filesystem at module
|
|
231
|
+
// init: any entry whose file is missing (e.g. a compiled binary where Bun's
|
|
232
|
+
// `--compile` quietly dropped an additional entrypoint — issue #2168) is left
|
|
233
|
+
// out so `resolveCanonicalPiSpecifier` falls through to `getResolvedSpecifier`,
|
|
234
|
+
// which throws under bunfs and triggers the catch in `rewriteLegacyPackageImports`.
|
|
235
|
+
// That catch leaves the specifier untouched so Bun resolves the canonical
|
|
236
|
+
// `@prometheus-ai/*` import from the extension's own `node_modules` instead of
|
|
237
|
+
// emitting a bunfs `file://` URL to a module that isn't actually present.
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Drop overrides whose targets are missing on disk so they can fall through to
|
|
241
|
+
* the canonical-resolution path. Exported for the test seam in #2168.
|
|
242
|
+
*
|
|
243
|
+
* `pathExistsSync` defaults to `fs.existsSync`; the tests inject a stub to
|
|
244
|
+
* simulate the missing-entrypoint failure mode without touching the real FS.
|
|
245
|
+
*/
|
|
246
|
+
export function __validateLegacyPackagePackageRootOverrides(
|
|
247
|
+
candidates: Record<string, string>,
|
|
248
|
+
pathExistsSync: (p: string) => boolean = fs.existsSync,
|
|
249
|
+
): Record<string, string> {
|
|
250
|
+
return Object.fromEntries(Object.entries(candidates).filter(([, candidate]) => pathExistsSync(candidate)));
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
const LEGACY_PACKAGE_PACKAGE_ROOT_OVERRIDES = __validateLegacyPackagePackageRootOverrides({
|
|
254
|
+
[`${CANONICAL_PACKAGE_SCOPE}/ai`]: LEGACY_PACKAGE_AI_SHIM_PATH,
|
|
255
|
+
[`${CANONICAL_PACKAGE_SCOPE}/agent`]: LEGACY_PACKAGE_CODING_AGENT_SHIM_PATH,
|
|
160
256
|
...(BUNFS_PACKAGE_ROOT
|
|
161
257
|
? {
|
|
162
|
-
[`${
|
|
163
|
-
[`${
|
|
164
|
-
[`${
|
|
165
|
-
[`${
|
|
258
|
+
[`${CANONICAL_PACKAGE_SCOPE}/agent-core`]: bunfsPath("agent", "src", "index.js"),
|
|
259
|
+
[`${CANONICAL_PACKAGE_SCOPE}/natives`]: bunfsPath("natives", "native", "index.js"),
|
|
260
|
+
[`${CANONICAL_PACKAGE_SCOPE}/tui`]: bunfsPath("tui", "src", "index.js"),
|
|
261
|
+
[`${CANONICAL_PACKAGE_SCOPE}/utils`]: bunfsPath("utils", "src", "index.js"),
|
|
166
262
|
}
|
|
167
263
|
: {}),
|
|
168
|
-
};
|
|
264
|
+
});
|
|
169
265
|
|
|
170
|
-
let
|
|
266
|
+
let isLegacyPackageSpecifierShimInstalled = false;
|
|
171
267
|
|
|
172
|
-
function
|
|
173
|
-
if (!
|
|
268
|
+
function remapLegacyPackageSpecifier(specifier: string): string | null {
|
|
269
|
+
if (!LEGACY_PACKAGE_SPECIFIER_FILTER.test(specifier)) {
|
|
174
270
|
return null;
|
|
175
271
|
}
|
|
176
272
|
const slashIdx = specifier.indexOf("/", 1);
|
|
@@ -179,16 +275,8 @@ function remapLegacyPiSpecifier(specifier: string): string | null {
|
|
|
179
275
|
return null;
|
|
180
276
|
}
|
|
181
277
|
const rest = specifier.slice(slashIdx + 1);
|
|
182
|
-
const remappedSubpath =
|
|
183
|
-
|
|
184
|
-
return `${CANONICAL_PROMETHEUS_SCOPE}/${remappedSubpath}`;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const subpathIdx = rest.indexOf("/");
|
|
188
|
-
const packageName = subpathIdx === -1 ? rest : rest.slice(0, subpathIdx);
|
|
189
|
-
const packageSubpath = subpathIdx === -1 ? "" : rest.slice(subpathIdx);
|
|
190
|
-
const canonicalPackageName = LEGACY_PI_PACKAGE_REMAPS.get(packageName) ?? packageName;
|
|
191
|
-
return `${CANONICAL_PROMETHEUS_SCOPE}/${canonicalPackageName}${packageSubpath}`;
|
|
278
|
+
const remappedSubpath = remapLegacyPackageSubpath(rest);
|
|
279
|
+
return `${CANONICAL_PACKAGE_SCOPE}/${remappedSubpath}`;
|
|
192
280
|
}
|
|
193
281
|
|
|
194
282
|
function getResolvedSpecifier(specifier: string): string {
|
|
@@ -211,7 +299,7 @@ function getResolvedSpecifier(specifier: string): string {
|
|
|
211
299
|
* specifiers.
|
|
212
300
|
*/
|
|
213
301
|
function resolveCanonicalPiSpecifier(remappedSpecifier: string): string {
|
|
214
|
-
const override =
|
|
302
|
+
const override = LEGACY_PACKAGE_PACKAGE_ROOT_OVERRIDES[remappedSpecifier];
|
|
215
303
|
if (override) {
|
|
216
304
|
return override;
|
|
217
305
|
}
|
|
@@ -222,11 +310,11 @@ function toImportSpecifier(resolvedPath: string): string {
|
|
|
222
310
|
return url.pathToFileURL(resolvedPath).href;
|
|
223
311
|
}
|
|
224
312
|
|
|
225
|
-
function
|
|
313
|
+
function rewriteLegacyPackageImports(source: string): string {
|
|
226
314
|
return source.replace(
|
|
227
|
-
|
|
315
|
+
LEGACY_PACKAGE_IMPORT_SPECIFIER_REGEX,
|
|
228
316
|
(match, prefix: string, specifier: string, suffix: string) => {
|
|
229
|
-
const remappedSpecifier =
|
|
317
|
+
const remappedSpecifier = remapLegacyPackageSpecifier(specifier);
|
|
230
318
|
if (!remappedSpecifier) {
|
|
231
319
|
return match;
|
|
232
320
|
}
|
|
@@ -257,7 +345,7 @@ const TYPEBOX_IMPORT_SPECIFIER_REGEX = /((?:from\s+|import\s+|import\s*\(\s*)["'
|
|
|
257
345
|
* natively from the extension's real on-disk location.
|
|
258
346
|
*/
|
|
259
347
|
async function rewriteLegacyExtensionSource(source: string, importerPath: string): Promise<string> {
|
|
260
|
-
const withPi =
|
|
348
|
+
const withPi = rewriteLegacyPackageImports(source);
|
|
261
349
|
const withTypeBox = withPi.replace(
|
|
262
350
|
TYPEBOX_IMPORT_SPECIFIER_REGEX,
|
|
263
351
|
(_match, prefix: string, _specifier: string, suffix: string) => {
|
|
@@ -273,7 +361,7 @@ function isRecord(value: unknown): value is Record<string, unknown> {
|
|
|
273
361
|
|
|
274
362
|
async function pathExists(p: string): Promise<boolean> {
|
|
275
363
|
try {
|
|
276
|
-
await fs.stat(p);
|
|
364
|
+
await fs.promises.stat(p);
|
|
277
365
|
return true;
|
|
278
366
|
} catch {
|
|
279
367
|
return false;
|
|
@@ -287,7 +375,7 @@ function hasSourceModuleExtension(p: string): boolean {
|
|
|
287
375
|
|
|
288
376
|
async function resolveSourceModuleFile(basePath: string): Promise<string | null> {
|
|
289
377
|
try {
|
|
290
|
-
const stats = await fs.stat(basePath);
|
|
378
|
+
const stats = await fs.promises.stat(basePath);
|
|
291
379
|
if (stats.isFile()) {
|
|
292
380
|
// Non-source files (JSON, WASM, text assets, etc.) bypass the on-load
|
|
293
381
|
// rewrite hook so Bun's native loaders handle them; our hook would
|
|
@@ -495,7 +583,7 @@ const hookedExtensionEntries = new Set<string>();
|
|
|
495
583
|
/** Resolve symlinks in a path, falling back to the input if realpath fails. */
|
|
496
584
|
async function realpathOrSelf(p: string): Promise<string> {
|
|
497
585
|
try {
|
|
498
|
-
return await fs.realpath(p);
|
|
586
|
+
return await fs.promises.realpath(p);
|
|
499
587
|
} catch {
|
|
500
588
|
return p;
|
|
501
589
|
}
|
|
@@ -562,7 +650,7 @@ async function ensureExtensionGraphHook(entryRealPath: string): Promise<void> {
|
|
|
562
650
|
const alternation = [...modules].map(escapeRegExp).join("|");
|
|
563
651
|
const filter = new RegExp(`^(?:${alternation})$`);
|
|
564
652
|
Bun.plugin({
|
|
565
|
-
name: `prometheus:legacy-
|
|
653
|
+
name: `prometheus:legacy-package-ext:${Bun.hash(entryRealPath).toString(36)}`,
|
|
566
654
|
setup(build) {
|
|
567
655
|
build.onLoad({ filter, namespace: "file" }, async args => {
|
|
568
656
|
const raw = await Bun.file(args.path).text();
|
|
@@ -582,7 +670,7 @@ async function ensureExtensionGraphHook(entryRealPath: string): Promise<void> {
|
|
|
582
670
|
* entry's source graph rewrites only host-resolved compatibility imports in the
|
|
583
671
|
* extension's own source; everything else resolves natively.
|
|
584
672
|
*/
|
|
585
|
-
export async function
|
|
673
|
+
export async function loadLegacyPackageModule(resolvedPath: string): Promise<unknown> {
|
|
586
674
|
// Bun reports the realpath of a loaded module to `onLoad` and exposes it as
|
|
587
675
|
// `import.meta.url`. Resolve symlinks here too (macOS `/var`→`/private/var`,
|
|
588
676
|
// `bun link`/pnpm installs) so the rewrite filter matches the path Bun
|
|
@@ -606,8 +694,8 @@ function getLoader(path: string): "js" | "jsx" | "ts" | "tsx" {
|
|
|
606
694
|
return "js";
|
|
607
695
|
}
|
|
608
696
|
|
|
609
|
-
function
|
|
610
|
-
const remappedSpecifier =
|
|
697
|
+
function resolveLegacyPackageSpecifier(args: { path: string; importer: string }): { path: string } | undefined {
|
|
698
|
+
const remappedSpecifier = remapLegacyPackageSpecifier(args.path);
|
|
611
699
|
if (!remappedSpecifier) {
|
|
612
700
|
return undefined;
|
|
613
701
|
}
|
|
@@ -640,22 +728,22 @@ function resolveTypeBoxSpecifier(): { path: string } {
|
|
|
640
728
|
return { path: TYPEBOX_SHIM_PATH };
|
|
641
729
|
}
|
|
642
730
|
|
|
643
|
-
export function
|
|
644
|
-
if (
|
|
731
|
+
export function installLegacyPackageSpecifierShim(): void {
|
|
732
|
+
if (isLegacyPackageSpecifierShimInstalled) {
|
|
645
733
|
return;
|
|
646
734
|
}
|
|
647
|
-
|
|
735
|
+
isLegacyPackageSpecifierShimInstalled = true;
|
|
648
736
|
|
|
649
737
|
Bun.plugin({
|
|
650
|
-
name: "prometheus:legacy-
|
|
738
|
+
name: "prometheus:legacy-package-shim",
|
|
651
739
|
setup(build) {
|
|
652
|
-
build.onResolve({ filter:
|
|
740
|
+
build.onResolve({ filter: LEGACY_PACKAGE_SPECIFIER_FILTER, namespace: "file" }, resolveLegacyPackageSpecifier);
|
|
653
741
|
build.onResolve({ filter: TYPEBOX_SPECIFIER_FILTER, namespace: "file" }, resolveTypeBoxSpecifier);
|
|
654
742
|
},
|
|
655
743
|
});
|
|
656
744
|
}
|
|
657
745
|
|
|
658
746
|
/** Test seam: clears the memoized canonical specifier resolutions. */
|
|
659
|
-
export function
|
|
747
|
+
export function __resetLegacyPackageResolutionCache(): void {
|
|
660
748
|
resolvedSpecifierFallbacks.clear();
|
|
661
749
|
}
|
|
@@ -8,10 +8,10 @@ import * as fs from "node:fs";
|
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import { getPluginsLockfile, getPluginsNodeModules, getPluginsPackageJson, isEnoent } from "@prometheus-ai/utils";
|
|
10
10
|
import { getConfigDirPaths } from "../../config";
|
|
11
|
-
import {
|
|
11
|
+
import { installLegacyPackageSpecifierShim } from "./legacy-package-compat";
|
|
12
12
|
import type { InstalledPlugin, PluginManifest, PluginRuntimeConfig, ProjectPluginOverrides } from "./types";
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
installLegacyPackageSpecifierShim();
|
|
15
15
|
|
|
16
16
|
// =============================================================================
|
|
17
17
|
// Runtime Config Loading
|
|
@@ -36,7 +36,7 @@ async function loadRuntimeConfig(home?: string): Promise<PluginRuntimeConfig> {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* Load project-local plugin overrides
|
|
39
|
+
* Load project-local plugin overrides (checks .prometheus and .prometheus directories).
|
|
40
40
|
*/
|
|
41
41
|
async function loadProjectOverrides(cwd: string): Promise<ProjectPluginOverrides> {
|
|
42
42
|
for (const overridesPath of getConfigDirPaths("plugin-overrides.json", { user: false, cwd })) {
|
|
@@ -104,7 +104,7 @@ export async function getEnabledPlugins(cwd: string, opts: { home?: string } = {
|
|
|
104
104
|
throw err;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
const manifest: PluginManifest | undefined = pluginPkg.prometheus
|
|
107
|
+
const manifest: PluginManifest | undefined = pluginPkg.prometheus ?? pluginPkg.pi;
|
|
108
108
|
if (!manifest) {
|
|
109
109
|
// Not a Prometheus plugin, skip
|
|
110
110
|
continue;
|
|
@@ -172,34 +172,49 @@ function resolveManifestEntryFile(joined: string): string | null {
|
|
|
172
172
|
* Handles both single-string and string[] base entries, plus feature-specific entries.
|
|
173
173
|
*/
|
|
174
174
|
function resolvePluginPaths(plugin: InstalledPlugin, key: "tools" | "hooks" | "commands" | "extensions"): string[] {
|
|
175
|
-
const
|
|
175
|
+
const resolved: string[] = [];
|
|
176
|
+
for (const entry of resolvePluginManifestEntries(plugin, key)) {
|
|
177
|
+
if (entry.resolvedPath) {
|
|
178
|
+
resolved.push(entry.resolvedPath);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return resolved;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Declared manifest entries paired with their resolved file path. Returns one
|
|
186
|
+
* record per declared entry — base entries first, then enabled-feature entries
|
|
187
|
+
* — so callers (e.g. install-time validation) can detect manifest entries that
|
|
188
|
+
* point at missing files instead of silently skipping them like
|
|
189
|
+
* {@link resolvePluginPaths} does.
|
|
190
|
+
*/
|
|
191
|
+
export function resolvePluginManifestEntries(
|
|
192
|
+
plugin: InstalledPlugin,
|
|
193
|
+
key: "tools" | "hooks" | "commands" | "extensions",
|
|
194
|
+
): Array<{ entry: string; resolvedPath: string | null }> {
|
|
195
|
+
const declared: Array<{ entry: string; resolvedPath: string | null }> = [];
|
|
176
196
|
const manifest = plugin.manifest;
|
|
177
197
|
|
|
178
|
-
|
|
198
|
+
const resolveEntry = (entry: string): { entry: string; resolvedPath: string | null } => ({
|
|
199
|
+
entry,
|
|
200
|
+
resolvedPath: resolveManifestEntryFile(path.join(plugin.path, entry)),
|
|
201
|
+
});
|
|
202
|
+
|
|
179
203
|
const base = manifest[key];
|
|
180
204
|
if (base) {
|
|
181
205
|
const entries = Array.isArray(base) ? base : [base];
|
|
182
206
|
for (const entry of entries) {
|
|
183
|
-
|
|
184
|
-
if (resolved) {
|
|
185
|
-
paths.push(resolved);
|
|
186
|
-
}
|
|
207
|
+
declared.push(resolveEntry(entry));
|
|
187
208
|
}
|
|
188
209
|
}
|
|
189
210
|
|
|
190
|
-
// Feature-specific entries
|
|
191
211
|
if (manifest.features && plugin.enabledFeatures) {
|
|
192
212
|
const enabledSet = new Set(plugin.enabledFeatures);
|
|
193
|
-
|
|
194
213
|
for (const [featName, feat] of Object.entries(manifest.features)) {
|
|
195
214
|
if (!enabledSet.has(featName)) continue;
|
|
196
|
-
|
|
197
215
|
if (feat[key]) {
|
|
198
216
|
for (const entry of feat[key]) {
|
|
199
|
-
|
|
200
|
-
if (resolved) {
|
|
201
|
-
paths.push(resolved);
|
|
202
|
-
}
|
|
217
|
+
declared.push(resolveEntry(entry));
|
|
203
218
|
}
|
|
204
219
|
}
|
|
205
220
|
}
|
|
@@ -207,19 +222,15 @@ function resolvePluginPaths(plugin: InstalledPlugin, key: "tools" | "hooks" | "c
|
|
|
207
222
|
// null means use defaults - enable features with default: true
|
|
208
223
|
for (const [_featName, feat] of Object.entries(manifest.features)) {
|
|
209
224
|
if (!feat.default) continue;
|
|
210
|
-
|
|
211
225
|
if (feat[key]) {
|
|
212
226
|
for (const entry of feat[key]) {
|
|
213
|
-
|
|
214
|
-
if (resolved) {
|
|
215
|
-
paths.push(resolved);
|
|
216
|
-
}
|
|
227
|
+
declared.push(resolveEntry(entry));
|
|
217
228
|
}
|
|
218
229
|
}
|
|
219
230
|
}
|
|
220
231
|
}
|
|
221
232
|
|
|
222
|
-
return
|
|
233
|
+
return declared;
|
|
223
234
|
}
|
|
224
235
|
|
|
225
236
|
export function resolvePluginToolPaths(plugin: InstalledPlugin): string[] {
|