@prometheus-ai/agent 0.5.3 → 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 +39 -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/gateway-cli.d.ts +4 -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/gateway.d.ts +3 -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 +1211 -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/gateway/adapters/telegram/access.d.ts +4 -1
- package/dist/types/gateway/adapters/telegram/setup-api.d.ts +1 -1
- package/dist/types/gateway/adapters/telegram/webhook.d.ts +1 -1
- package/dist/types/gateway/types.d.ts +1 -1
- 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/gateway-cli.ts +32 -2
- 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/gateway.ts +4 -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 +1445 -382
- 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/gateway/adapters/telegram/access.ts +39 -4
- package/src/gateway/adapters/telegram/normalize.ts +16 -1
- package/src/gateway/adapters/telegram/setup-api.ts +7 -1
- package/src/gateway/adapters/telegram/webhook.ts +26 -5
- package/src/gateway/context.ts +9 -1
- package/src/gateway/types.ts +1 -1
- 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 +11 -9
- 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/telegram.ts +77 -22
- 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,16 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive mode for the coding agent.
|
|
3
|
+
* Handles TUI rendering and user interaction, delegating business logic to AgentSession.
|
|
4
|
+
*/
|
|
1
5
|
import { type Agent, type AgentMessage } from "@prometheus-ai/agent-core";
|
|
2
6
|
import type { CompactionOutcome } from "@prometheus-ai/agent-core/compaction";
|
|
3
|
-
import {
|
|
7
|
+
import type { AssistantMessage, ImageContent, Message, UsageReport } from "@prometheus-ai/ai";
|
|
4
8
|
import type { Component, EditorTheme } from "@prometheus-ai/tui";
|
|
5
9
|
import { Container, Loader, Spacer, Text, TUI } from "@prometheus-ai/tui";
|
|
10
|
+
import type { CollabGuestLink } from "../collab/guest";
|
|
11
|
+
import type { CollabHost } from "../collab/host";
|
|
6
12
|
import { KeybindingsManager } from "../config/keybindings";
|
|
7
13
|
import { Settings } from "../config/settings";
|
|
8
14
|
import type { ExtensionUIContext, ExtensionUIDialogOptions, ExtensionUISelectItem, ExtensionWidgetContent, ExtensionWidgetOptions } from "../extensibility/extensions";
|
|
9
15
|
import type { CompactOptions } from "../extensibility/extensions/types";
|
|
16
|
+
import type { MCPManager } from "../mcp";
|
|
10
17
|
import { type PlanApprovalDetails } from "../plan-mode/approved-plan";
|
|
11
|
-
import type { AgentSession
|
|
18
|
+
import type { AgentSession } from "../session/agent-session";
|
|
12
19
|
import { HistoryStorage } from "../session/history-storage";
|
|
13
|
-
import type { SessionContext
|
|
20
|
+
import type { SessionContext } from "../session/session-context";
|
|
21
|
+
import type { SessionManager } from "../session/session-manager";
|
|
14
22
|
import type { ShakeMode } from "../session/shake-types";
|
|
15
23
|
import type { LspStartupServerInfo } from "../tools";
|
|
16
24
|
import type { EventBus } from "../utils/event-bus";
|
|
@@ -24,10 +32,24 @@ import type { HookSelectorComponent, HookSelectorSlider } from "./components/hoo
|
|
|
24
32
|
import { StatusLineComponent } from "./components/status-line";
|
|
25
33
|
import type { ToolExecutionHandle } from "./components/tool-execution";
|
|
26
34
|
import { TranscriptContainer } from "./components/transcript-container";
|
|
35
|
+
import { EventController } from "./controllers/event-controller";
|
|
27
36
|
import { type LoopLimitRuntime } from "./loop-limit";
|
|
28
37
|
import { OAuthManualInputManager } from "./oauth-manual-input";
|
|
38
|
+
import type { ObservableSession } from "./session-observer-registry";
|
|
29
39
|
import type { Theme } from "./theme/theme";
|
|
30
40
|
import type { CompactionQueuedMessage, InteractiveModeContext, InteractiveModeInitOptions, InteractiveSelectorDialogOptions, SubmittedUserInput, TodoItem, TodoPhase } from "./types";
|
|
41
|
+
/**
|
|
42
|
+
* Editor max-height cap for a terminal of `terminalRows` rows.
|
|
43
|
+
*
|
|
44
|
+
* Roomy terminals get the comfortable [6, 18] band. Small terminals shrink the
|
|
45
|
+
* cap so the editor leaves at least EDITOR_MIN_CHROME_ROWS rows for the
|
|
46
|
+
* transcript + status line. The editor is bordered, so it never renders fewer
|
|
47
|
+
* than EDITOR_MIN_RENDERED_ROWS rows; once the terminal is too small for both
|
|
48
|
+
* (terminalRows < EDITOR_MIN_RENDERED_ROWS + EDITOR_MIN_CHROME_ROWS) the cap is
|
|
49
|
+
* pinned to that floor — returning a smaller number would not shrink the editor
|
|
50
|
+
* any further, it would only misreport the rows it actually occupies.
|
|
51
|
+
*/
|
|
52
|
+
export declare function computeEditorMaxHeight(terminalRows: number): number;
|
|
31
53
|
/** Options for creating an InteractiveMode instance (for future API use) */
|
|
32
54
|
export interface InteractiveModeOptions {
|
|
33
55
|
/** Providers that were migrated during startup */
|
|
@@ -41,6 +63,16 @@ export interface InteractiveModeOptions {
|
|
|
41
63
|
/** Additional initial messages to queue */
|
|
42
64
|
initialMessages?: string[];
|
|
43
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Build the anchored subagent HUD block: a bold accent "Subagents" header plus
|
|
68
|
+
* one hooked row per running agent in the same `Id: description` shape the
|
|
69
|
+
* inline task rows use (muted task preview when no description was given).
|
|
70
|
+
* Only detached background spawns are listed: a sync task call blocks the
|
|
71
|
+
* parent turn and its inline tool block already renders progress live, and
|
|
72
|
+
* eval `agent()` spawns are rendered by their own eval cell tree.
|
|
73
|
+
* Returns an empty array when nothing is running so the container can clear.
|
|
74
|
+
*/
|
|
75
|
+
export declare function renderSubagentHudLines(sessions: ObservableSession[], columns: number): string[];
|
|
44
76
|
export declare class InteractiveMode implements InteractiveModeContext {
|
|
45
77
|
#private;
|
|
46
78
|
session: AgentSession;
|
|
@@ -49,21 +81,23 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
49
81
|
keybindings: KeybindingsManager;
|
|
50
82
|
agent: Agent;
|
|
51
83
|
historyStorage?: HistoryStorage;
|
|
84
|
+
titleSystemPrompt?: string;
|
|
52
85
|
ui: TUI;
|
|
53
86
|
chatContainer: TranscriptContainer;
|
|
54
87
|
pendingMessagesContainer: Container;
|
|
55
88
|
statusContainer: Container;
|
|
56
89
|
todoContainer: Container;
|
|
90
|
+
subagentContainer: Container;
|
|
57
91
|
btwContainer: Container;
|
|
58
92
|
omfgContainer: Container;
|
|
59
93
|
errorBannerContainer: Container;
|
|
94
|
+
modelCycleContainer: Container;
|
|
60
95
|
editor: CustomEditor;
|
|
61
96
|
editorContainer: Container;
|
|
62
97
|
hookWidgetContainerAbove: Container;
|
|
63
98
|
hookWidgetContainerBelow: Container;
|
|
64
99
|
statusLine: StatusLineComponent;
|
|
65
100
|
isInitialized: boolean;
|
|
66
|
-
isBackgrounded: boolean;
|
|
67
101
|
isBashMode: boolean;
|
|
68
102
|
toolOutputExpanded: boolean;
|
|
69
103
|
todoExpanded: boolean;
|
|
@@ -91,14 +125,13 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
91
125
|
loadingAnimation: Loader | undefined;
|
|
92
126
|
autoCompactionLoader: Loader | undefined;
|
|
93
127
|
retryLoader: Loader | undefined;
|
|
94
|
-
autoCompactionEscapeHandler?: () => void;
|
|
95
|
-
retryEscapeHandler?: () => void;
|
|
96
128
|
unsubscribe?: () => void;
|
|
97
129
|
onInputCallback?: (input: SubmittedUserInput) => void;
|
|
98
130
|
optimisticUserMessageSignature: string | undefined;
|
|
99
131
|
locallySubmittedUserSignatures: Set<string>;
|
|
100
132
|
lastSigintTime: number;
|
|
101
133
|
lastEscapeTime: number;
|
|
134
|
+
lastLeftTapTime: number;
|
|
102
135
|
shutdownRequested: boolean;
|
|
103
136
|
hookSelector: HookSelectorComponent | undefined;
|
|
104
137
|
hookInput: HookInputComponent | undefined;
|
|
@@ -108,11 +141,23 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
108
141
|
fileSlashCommands: Set<string>;
|
|
109
142
|
skillCommands: Map<string, string>;
|
|
110
143
|
oauthManualInput: OAuthManualInputManager;
|
|
144
|
+
collabHost?: CollabHost;
|
|
145
|
+
collabGuest?: CollabGuestLink;
|
|
111
146
|
readonly lspServers: LspStartupServerInfo[] | undefined;
|
|
112
|
-
mcpManager?:
|
|
113
|
-
|
|
147
|
+
mcpManager?: MCPManager;
|
|
148
|
+
get eventController(): EventController;
|
|
149
|
+
get eventBus(): EventBus | undefined;
|
|
150
|
+
get viewSession(): AgentSession;
|
|
151
|
+
get focusedAgentId(): string | undefined;
|
|
152
|
+
focusAgentSession(id: string): Promise<void>;
|
|
153
|
+
focusParentSession(): Promise<void>;
|
|
154
|
+
unfocusSession(): Promise<void>;
|
|
155
|
+
clearTransientSessionUi(): void;
|
|
156
|
+
constructor(session: AgentSession, version: string, changelogMarkdown?: string | undefined, setToolUIContext?: (uiContext: ExtensionUIContext, hasUI: boolean) => void, lspServers?: LspStartupServerInfo[] | undefined, mcpManager?: MCPManager, eventBus?: EventBus, titleSystemPrompt?: string);
|
|
114
157
|
playWelcomeIntro(): void;
|
|
115
158
|
init(options?: InteractiveModeInitOptions): Promise<void>;
|
|
159
|
+
/** Reload the title-generation system prompt override for the provided working directory. */
|
|
160
|
+
refreshTitleSystemPrompt(cwd?: string): Promise<void>;
|
|
116
161
|
/** Reload slash commands and autocomplete for the provided working directory. */
|
|
117
162
|
refreshSlashCommandState(cwd?: string): Promise<void>;
|
|
118
163
|
/**
|
|
@@ -148,19 +193,45 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
148
193
|
updateEditorBorderColor(): void;
|
|
149
194
|
updateEditorTopBorder(): void;
|
|
150
195
|
rebuildChatFromMessages(): void;
|
|
196
|
+
/**
|
|
197
|
+
* Render the ctrl+p model-role cycle chip track into its own anchored
|
|
198
|
+
* container (just above the editor), mirroring the todo HUD: the container is
|
|
199
|
+
* cleared and rebuilt in place on every cycle, so rapid presses or concurrent
|
|
200
|
+
* chat activity can never stack duplicate tracks into the scrollback.
|
|
201
|
+
*/
|
|
202
|
+
showModelCycleTrack(track: string): void;
|
|
151
203
|
/** Apply any deferred model switch after the current stream ends. */
|
|
152
204
|
flushPendingModelSwitch(): Promise<void>;
|
|
205
|
+
showPlanReview(planContent: string, title: string, options: string[], dialogOptions?: {
|
|
206
|
+
helpText?: string;
|
|
207
|
+
disabledIndices?: number[];
|
|
208
|
+
onExternalEditor?: () => void;
|
|
209
|
+
onPlanEdited?: (content: string) => void;
|
|
210
|
+
onFeedbackChange?: (feedback: string) => void;
|
|
211
|
+
initialIndex?: number;
|
|
212
|
+
}, extra?: {
|
|
213
|
+
slider?: HookSelectorSlider;
|
|
214
|
+
}): Promise<string | undefined>;
|
|
153
215
|
handlePlanModeCommand(initialPrompt?: string): Promise<void>;
|
|
154
216
|
handleGoalModeCommand(rest?: string): Promise<void>;
|
|
217
|
+
handleGuidedGoalCommand(rest?: string): Promise<void>;
|
|
218
|
+
/** Manually (re-)open the plan-review overlay — bound to `/plan-review`. Lets
|
|
219
|
+
* the operator pull the review back up after dismissing it, or review a plan
|
|
220
|
+
* the agent wrote without calling `resolve`. There is no fixed plan filename:
|
|
221
|
+
* `getPlanReferencePath()` is empty until a plan is actually approved (and does
|
|
222
|
+
* not survive a restart), so this drives off the newest `local://<slug>-plan.md`
|
|
223
|
+
* the agent wrote — the files persist in the session artifacts dir, so the scan
|
|
224
|
+
* works before any review and across restarts. */
|
|
225
|
+
openPlanReview(): Promise<void>;
|
|
155
226
|
handlePlanApproval(details: PlanApprovalDetails): Promise<void>;
|
|
156
227
|
stop(): void;
|
|
157
228
|
shutdown(): Promise<void>;
|
|
158
229
|
checkShutdownRequested(): Promise<void>;
|
|
159
230
|
setToolUIContext(uiContext: ExtensionUIContext, hasUI: boolean): void;
|
|
160
231
|
initializeHookRunner(uiContext: ExtensionUIContext, hasUI: boolean): void;
|
|
161
|
-
createBackgroundUiContext(): ExtensionUIContext;
|
|
162
232
|
setEditorComponent(factory: ((tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager) => CustomEditor) | undefined): void;
|
|
163
|
-
|
|
233
|
+
present(content: Component | readonly Component[]): void;
|
|
234
|
+
resetTranscript(): void;
|
|
164
235
|
showStatus(message: string, options?: {
|
|
165
236
|
dim?: boolean;
|
|
166
237
|
}): void;
|
|
@@ -174,7 +245,7 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
174
245
|
showNewVersionNotification(newVersion: string): void;
|
|
175
246
|
clearEditor(): void;
|
|
176
247
|
updatePendingMessagesDisplay(): void;
|
|
177
|
-
queueCompactionMessage(text: string, mode: "steer" | "followUp"): void;
|
|
248
|
+
queueCompactionMessage(text: string, mode: "steer" | "followUp", images?: ImageContent[]): void;
|
|
178
249
|
flushCompactionQueue(options?: {
|
|
179
250
|
willRetry?: boolean;
|
|
180
251
|
}): Promise<void>;
|
|
@@ -188,7 +259,7 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
188
259
|
updateFooter?: boolean;
|
|
189
260
|
populateHistory?: boolean;
|
|
190
261
|
}): void;
|
|
191
|
-
renderInitialMessages(
|
|
262
|
+
renderInitialMessages(options?: {
|
|
192
263
|
preserveExistingChat?: boolean;
|
|
193
264
|
clearTerminalHistory?: boolean;
|
|
194
265
|
}): void;
|
|
@@ -208,20 +279,23 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
208
279
|
handleToolsCommand(): void;
|
|
209
280
|
handleContextCommand(): void;
|
|
210
281
|
handleClearCommand(): Promise<void>;
|
|
282
|
+
handleFreshCommand(): Promise<void>;
|
|
211
283
|
handleDropCommand(): Promise<void>;
|
|
212
284
|
handleForkCommand(): Promise<void>;
|
|
213
285
|
handleMoveCommand(targetPath: string): Promise<void>;
|
|
214
286
|
handleRenameCommand(title: string): Promise<void>;
|
|
215
287
|
handleMemoryCommand(text: string): Promise<void>;
|
|
216
288
|
handleSTTToggle(): Promise<void>;
|
|
217
|
-
showDebugSelector(): void
|
|
218
|
-
|
|
289
|
+
showDebugSelector(): Promise<void>;
|
|
290
|
+
showAgentHub(options?: {
|
|
291
|
+
requireContent?: boolean;
|
|
292
|
+
}): void;
|
|
219
293
|
resetObserverRegistry(): void;
|
|
220
294
|
handleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;
|
|
221
295
|
handlePythonCommand(code: string, excludeFromContext?: boolean): Promise<void>;
|
|
222
296
|
handleMCPCommand(text: string): Promise<void>;
|
|
223
297
|
handleSSHCommand(text: string): Promise<void>;
|
|
224
|
-
handleCompactCommand(customInstructions?: string): Promise<CompactionOutcome>;
|
|
298
|
+
handleCompactCommand(customInstructions?: string, beforeFlush?: (outcome: CompactionOutcome) => void | Promise<void>): Promise<CompactionOutcome>;
|
|
225
299
|
handleHandoffCommand(customInstructions?: string): Promise<void>;
|
|
226
300
|
handleShakeCommand(mode: ShakeMode): Promise<void>;
|
|
227
301
|
executeCompaction(customInstructionsOrOptions?: string | CompactOptions, isAuto?: boolean): Promise<CompactionOutcome>;
|
|
@@ -241,14 +315,16 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
241
315
|
handleResumeSession(sessionPath: string): Promise<void>;
|
|
242
316
|
handleSessionDeleteCommand(): Promise<void>;
|
|
243
317
|
showOAuthSelector(mode: "login" | "logout", providerId?: string): Promise<void>;
|
|
318
|
+
showResetUsageSelector(): Promise<void>;
|
|
319
|
+
showProviderSetup(): Promise<void>;
|
|
244
320
|
showHookConfirm(title: string, message: string): Promise<boolean>;
|
|
245
321
|
handleCtrlC(): void;
|
|
246
322
|
handleCtrlD(): void;
|
|
247
323
|
handleCtrlZ(): void;
|
|
248
324
|
handleDequeue(): void;
|
|
249
|
-
handleBackgroundCommand(): void;
|
|
250
325
|
handleImagePaste(): Promise<boolean>;
|
|
251
326
|
handleBtwCommand(question: string): Promise<void>;
|
|
327
|
+
handleTanCommand(work: string): Promise<void>;
|
|
252
328
|
hasActiveBtw(): boolean;
|
|
253
329
|
handleBtwEscape(): boolean;
|
|
254
330
|
handleOmfgCommand(complaint: string): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Gradient-highlight every magic keyword ("ultrathink", "orchestrate",
|
|
3
|
-
* "
|
|
3
|
+
* "workflowz") that appears as standalone prose, skipping any occurrence inside a
|
|
4
4
|
* code block, inline code span, or XML/HTML section. Each highlighter paints its
|
|
5
5
|
* own keyword with its own gradient, so chaining is order-independent — the
|
|
6
6
|
* earlier passes only inject zero-width SGR escapes (no backticks or angle
|
|
@@ -10,5 +10,17 @@
|
|
|
10
10
|
* pass the surrounding text color when decorating already-colored content (e.g.
|
|
11
11
|
* a themed message bubble) so the gradient does not bleed into the rest of the
|
|
12
12
|
* line. Defaults to a plain foreground reset for default-colored editor text.
|
|
13
|
+
*
|
|
14
|
+
* `phase` ∈ [0, 1) cyclically rotates each gradient — the editor passes a
|
|
15
|
+
* `Date.now()`-derived value to animate a Claude-Code-style shimmer while a
|
|
16
|
+
* keyword is on screen and the prompt is focused; sent message bubbles omit it
|
|
17
|
+
* to keep the static gradient.
|
|
18
|
+
*/
|
|
19
|
+
export declare function highlightMagicKeywords(text: string, resetTo?: string, phase?: number): string;
|
|
20
|
+
/**
|
|
21
|
+
* Cheap test for "does this text contain any magic keyword as standalone prose?".
|
|
22
|
+
* Short-circuits on a substring probe before paying for the markdown-aware
|
|
23
|
+
* prose check, so the common "no keyword in buffer" path is just three
|
|
24
|
+
* `String#indexOf`s. Used by the live editor to gate the shimmer timer.
|
|
13
25
|
*/
|
|
14
|
-
export declare function
|
|
26
|
+
export declare function hasMagicKeyword(text: string): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Markdown structure awareness for the magic-keyword affordances
|
|
3
|
-
* ("ultrathink"/"orchestrate"/"
|
|
3
|
+
* ("ultrathink"/"orchestrate"/"workflowz").
|
|
4
4
|
*
|
|
5
5
|
* Keyword detection and editor/transcript highlighting must fire only on prose
|
|
6
6
|
* the user is actually addressing to the model — never on a word that happens to
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
type ClaimedInput = {
|
|
2
|
+
promise: Promise<string>;
|
|
3
|
+
clear: (reason?: string) => void;
|
|
4
|
+
};
|
|
1
5
|
export declare class OAuthManualInputManager {
|
|
2
6
|
#private;
|
|
3
7
|
waitForInput(providerId: string): Promise<string>;
|
|
8
|
+
tryWaitForInput(providerId: string): Promise<string> | undefined;
|
|
9
|
+
tryClaimInput(providerId: string): ClaimedInput | undefined;
|
|
4
10
|
submit(input: string): boolean;
|
|
5
11
|
clear(reason?: string): void;
|
|
6
12
|
hasPending(): boolean;
|
|
7
13
|
get pendingProviderId(): string | undefined;
|
|
8
14
|
}
|
|
15
|
+
export {};
|
|
@@ -7,8 +7,8 @@ import type { AgentEvent, AgentMessage, AgentToolResult, ThinkingLevel } from "@
|
|
|
7
7
|
import type { CompactionResult } from "@prometheus-ai/agent-core/compaction";
|
|
8
8
|
import type { ImageContent, Model } from "@prometheus-ai/ai";
|
|
9
9
|
import type { BashResult } from "../../exec/bash-executor";
|
|
10
|
-
import type { SessionStats } from "../../session/agent-session";
|
|
11
|
-
import type { RpcHandoffResult, RpcHostToolDefinition, RpcSessionState } from "./rpc-types";
|
|
10
|
+
import type { AgentSessionEvent, SessionStats } from "../../session/agent-session";
|
|
11
|
+
import type { RpcAvailableSlashCommand, RpcHandoffResult, RpcHostToolDefinition, RpcSessionState, RpcSubagentEventFrame, RpcSubagentLifecycleFrame, RpcSubagentMessagesResult, RpcSubagentProgressFrame, RpcSubagentSnapshot, RpcSubagentSubscriptionLevel } from "./rpc-types";
|
|
12
12
|
export interface RpcClientOptions {
|
|
13
13
|
/** Path to the CLI entry point (default: searches for dist/cli.js) */
|
|
14
14
|
cliPath?: string;
|
|
@@ -29,6 +29,11 @@ export interface RpcClientOptions {
|
|
|
29
29
|
}
|
|
30
30
|
export type ModelInfo = Pick<Model, "provider" | "id" | "contextWindow" | "reasoning" | "thinking">;
|
|
31
31
|
export type RpcEventListener = (event: AgentEvent) => void;
|
|
32
|
+
export type RpcSessionEventListener = (event: AgentSessionEvent) => void;
|
|
33
|
+
export type RpcSubagentLifecycleListener = (payload: RpcSubagentLifecycleFrame["payload"]) => void;
|
|
34
|
+
export type RpcSubagentProgressListener = (payload: RpcSubagentProgressFrame["payload"]) => void;
|
|
35
|
+
export type RpcSubagentEventListener = (payload: RpcSubagentEventFrame["payload"]) => void;
|
|
36
|
+
export type RpcAvailableCommandsUpdateListener = (commands: RpcAvailableSlashCommand[]) => void;
|
|
32
37
|
export interface RpcClientToolContext<TDetails = unknown> {
|
|
33
38
|
toolCallId: string;
|
|
34
39
|
signal: AbortSignal;
|
|
@@ -60,6 +65,26 @@ export declare class RpcClient {
|
|
|
60
65
|
* Subscribe to agent events.
|
|
61
66
|
*/
|
|
62
67
|
onEvent(listener: RpcEventListener): () => void;
|
|
68
|
+
/**
|
|
69
|
+
* Subscribe to all top-level session events, including non-core session state events.
|
|
70
|
+
*/
|
|
71
|
+
onSessionEvent(listener: RpcSessionEventListener): () => void;
|
|
72
|
+
/**
|
|
73
|
+
* Subscribe to subagent lifecycle frames after setSubagentSubscription("progress" | "events").
|
|
74
|
+
*/
|
|
75
|
+
onSubagentLifecycle(listener: RpcSubagentLifecycleListener): () => void;
|
|
76
|
+
/**
|
|
77
|
+
* Subscribe to aggregated subagent progress frames after setSubagentSubscription("progress" | "events").
|
|
78
|
+
*/
|
|
79
|
+
onSubagentProgress(listener: RpcSubagentProgressListener): () => void;
|
|
80
|
+
/**
|
|
81
|
+
* Subscribe to raw subagent session events. Call setSubagentSubscription(\"events\") to enable them server-side.
|
|
82
|
+
*/
|
|
83
|
+
onSubagentEvent(listener: RpcSubagentEventListener): () => void;
|
|
84
|
+
/**
|
|
85
|
+
* Subscribe to slash-command availability updates emitted by the RPC server.
|
|
86
|
+
*/
|
|
87
|
+
onAvailableCommandsUpdate(listener: RpcAvailableCommandsUpdateListener): () => void;
|
|
63
88
|
/**
|
|
64
89
|
* Get collected stderr output (useful for debugging).
|
|
65
90
|
*/
|
|
@@ -98,6 +123,23 @@ export declare class RpcClient {
|
|
|
98
123
|
* Get current session state.
|
|
99
124
|
*/
|
|
100
125
|
getState(): Promise<RpcSessionState>;
|
|
126
|
+
/**
|
|
127
|
+
* Configure subagent frames emitted by the RPC server. Servers default to "off".
|
|
128
|
+
* "progress" emits lifecycle/progress frames; "events" additionally emits raw subagent session events.
|
|
129
|
+
*/
|
|
130
|
+
setSubagentSubscription(level: RpcSubagentSubscriptionLevel): Promise<RpcSubagentSubscriptionLevel>;
|
|
131
|
+
/**
|
|
132
|
+
* Return the RPC server's current subagent snapshot.
|
|
133
|
+
*/
|
|
134
|
+
getSubagents(): Promise<RpcSubagentSnapshot[]>;
|
|
135
|
+
/**
|
|
136
|
+
* Read persisted transcript entries for a tracked subagent session.
|
|
137
|
+
*/
|
|
138
|
+
getSubagentMessages(selector: {
|
|
139
|
+
subagentId?: string;
|
|
140
|
+
sessionFile?: string;
|
|
141
|
+
fromByte?: number;
|
|
142
|
+
}): Promise<RpcSubagentMessagesResult>;
|
|
101
143
|
/**
|
|
102
144
|
* Set model by provider and ID.
|
|
103
145
|
*/
|
|
@@ -120,6 +162,10 @@ export declare class RpcClient {
|
|
|
120
162
|
* Get list of available models.
|
|
121
163
|
*/
|
|
122
164
|
getAvailableModels(): Promise<ModelInfo[]>;
|
|
165
|
+
/**
|
|
166
|
+
* Get list of available slash commands.
|
|
167
|
+
*/
|
|
168
|
+
getAvailableCommands(): Promise<RpcAvailableSlashCommand[]>;
|
|
123
169
|
/**
|
|
124
170
|
* Set thinking level.
|
|
125
171
|
*/
|
|
@@ -1,12 +1,77 @@
|
|
|
1
1
|
import { type ExtensionUIContext, type ExtensionUIDialogOptions } from "../../extensibility/extensions";
|
|
2
2
|
import type { AgentSession } from "../../session/agent-session";
|
|
3
|
-
import type {
|
|
3
|
+
import type { EventBus } from "../../utils/event-bus";
|
|
4
|
+
import { RpcSubagentRegistry } from "./rpc-subagents";
|
|
5
|
+
import type { RpcCommand, RpcExtensionUIRequest, RpcExtensionUIResponse, RpcHostToolCallRequest, RpcHostToolCancelRequest, RpcHostUriCancelRequest, RpcHostUriRequest, RpcResponse } from "./rpc-types";
|
|
4
6
|
export type * from "./rpc-types";
|
|
5
7
|
export type PendingExtensionRequest = {
|
|
6
8
|
resolve: (response: RpcExtensionUIResponse) => void;
|
|
7
9
|
reject: (error: Error) => void;
|
|
8
10
|
};
|
|
9
11
|
type RpcOutput = (obj: RpcResponse | RpcExtensionUIRequest | RpcHostToolCallRequest | RpcHostToolCancelRequest | RpcHostUriRequest | RpcHostUriCancelRequest | object) => void;
|
|
12
|
+
export type RpcSessionChangeCommand = Extract<RpcCommand, {
|
|
13
|
+
type: "new_session";
|
|
14
|
+
} | {
|
|
15
|
+
type: "switch_session";
|
|
16
|
+
} | {
|
|
17
|
+
type: "branch";
|
|
18
|
+
}>;
|
|
19
|
+
export type RpcSessionChangeResult = {
|
|
20
|
+
type: "new_session";
|
|
21
|
+
data: {
|
|
22
|
+
cancelled: boolean;
|
|
23
|
+
};
|
|
24
|
+
} | {
|
|
25
|
+
type: "switch_session";
|
|
26
|
+
data: {
|
|
27
|
+
cancelled: boolean;
|
|
28
|
+
};
|
|
29
|
+
} | {
|
|
30
|
+
type: "branch";
|
|
31
|
+
data: {
|
|
32
|
+
text: string;
|
|
33
|
+
cancelled: boolean;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type RpcSessionChangeSession = Pick<AgentSession, "newSession" | "switchSession" | "branch">;
|
|
37
|
+
export type RpcSkillCommandSession = Pick<AgentSession, "promptCustomMessage" | "skills" | "skillsSettings">;
|
|
38
|
+
export type RpcSkillCommandResult = {
|
|
39
|
+
agentInvoked: true;
|
|
40
|
+
};
|
|
41
|
+
export declare function tryRunRpcSkillCommand(session: RpcSkillCommandSession, text: string): Promise<RpcSkillCommandResult | false>;
|
|
42
|
+
export declare function reportLocalOnlyPromptResult(input: {
|
|
43
|
+
id: string | undefined;
|
|
44
|
+
prompt: Promise<boolean>;
|
|
45
|
+
output: (obj: object) => void;
|
|
46
|
+
onError: (error: Error) => void;
|
|
47
|
+
hasExtensionAgentMessageTask?: () => boolean;
|
|
48
|
+
waitForExtensionAgentMessageTasks?: () => Promise<void>;
|
|
49
|
+
}): void;
|
|
50
|
+
/**
|
|
51
|
+
* Tracks extension-originated messages while an RPC prompt is executing.
|
|
52
|
+
* A slash command can resolve the outer prompt as local-only while also
|
|
53
|
+
* scheduling agent work through pi.sendUserMessage() or pi.sendMessage()
|
|
54
|
+
* with triggerTurn; that prompt must not report agentInvoked:false to the host.
|
|
55
|
+
*/
|
|
56
|
+
export declare class RpcExtensionUserMessageTracker {
|
|
57
|
+
#private;
|
|
58
|
+
markAgentMessageTask(): void;
|
|
59
|
+
trackAgentMessageTask(task: Promise<unknown>): void;
|
|
60
|
+
watchPrompt<T>(startPrompt: () => Promise<T>): {
|
|
61
|
+
prompt: Promise<T>;
|
|
62
|
+
hasAgentMessageTask: () => boolean;
|
|
63
|
+
waitForAgentMessageTasks: () => Promise<void>;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export declare function watchAndReportLocalOnlyPromptResult(input: {
|
|
67
|
+
id: string | undefined;
|
|
68
|
+
startPrompt: () => Promise<boolean>;
|
|
69
|
+
output: (obj: object) => void;
|
|
70
|
+
onError: (error: Error) => void;
|
|
71
|
+
extensionUserMessageTracker: RpcExtensionUserMessageTracker;
|
|
72
|
+
}): void;
|
|
73
|
+
export type RpcSubagentResetRegistry = Pick<RpcSubagentRegistry, "clear">;
|
|
74
|
+
export declare function handleRpcSessionChange(session: RpcSessionChangeSession, command: RpcSessionChangeCommand, subagentRegistry?: RpcSubagentResetRegistry): Promise<RpcSessionChangeResult>;
|
|
10
75
|
export declare function requestRpcEditor(pendingRequests: Map<string, PendingExtensionRequest>, output: RpcOutput, title: string, prefill?: string, dialogOptions?: ExtensionUIDialogOptions, editorOptions?: {
|
|
11
76
|
promptStyle?: boolean;
|
|
12
77
|
}): Promise<string | undefined>;
|
|
@@ -14,4 +79,4 @@ export declare function requestRpcEditor(pendingRequests: Map<string, PendingExt
|
|
|
14
79
|
* Run in RPC mode.
|
|
15
80
|
* Listens for JSON commands on stdin, outputs events and responses on stdout.
|
|
16
81
|
*/
|
|
17
|
-
export declare function runRpcMode(session: AgentSession, setToolUIContext?: (uiContext: ExtensionUIContext, hasUI: boolean) => void): Promise<never>;
|
|
82
|
+
export declare function runRpcMode(session: AgentSession, setToolUIContext?: (uiContext: ExtensionUIContext, hasUI: boolean) => void, eventBus?: EventBus): Promise<never>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type SubagentEventPayload, type SubagentLifecyclePayload, type SubagentProgressPayload } from "../../task";
|
|
2
|
+
import type { EventBus } from "../../utils/event-bus";
|
|
3
|
+
import type { RpcSubagentFrame, RpcSubagentMessagesResult, RpcSubagentSnapshot, RpcSubagentSubscriptionLevel } from "./rpc-types";
|
|
4
|
+
export interface RpcSubagentTranscriptSelector {
|
|
5
|
+
subagentId?: string;
|
|
6
|
+
sessionFile?: string;
|
|
7
|
+
fromByte?: number;
|
|
8
|
+
}
|
|
9
|
+
type RpcSubagentOutput = (frame: RpcSubagentFrame) => void;
|
|
10
|
+
export declare function readRpcSubagentTranscript(sessionFile: string, fromByte?: number): Promise<RpcSubagentMessagesResult>;
|
|
11
|
+
export declare class RpcSubagentRegistry {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(eventBus: EventBus, output: RpcSubagentOutput);
|
|
14
|
+
dispose(): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
setSubscriptionLevel(level: RpcSubagentSubscriptionLevel): void;
|
|
17
|
+
getSubscriptionLevel(): RpcSubagentSubscriptionLevel;
|
|
18
|
+
getSubagents(): RpcSubagentSnapshot[];
|
|
19
|
+
handleLifecycle(payload: SubagentLifecyclePayload): void;
|
|
20
|
+
handleProgress(payload: SubagentProgressPayload): void;
|
|
21
|
+
handleEvent(payload: SubagentEventPayload): void;
|
|
22
|
+
resolveSessionFile(selector: RpcSubagentTranscriptSelector): string;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -9,7 +9,10 @@ import type { CompactionResult } from "@prometheus-ai/agent-core/compaction";
|
|
|
9
9
|
import type { Effort, ImageContent, Model } from "@prometheus-ai/ai";
|
|
10
10
|
import type { BashResult } from "../../exec/bash-executor";
|
|
11
11
|
import type { ContextUsage } from "../../extensibility/extensions/types";
|
|
12
|
-
import type { SessionStats } from "../../session/agent-session";
|
|
12
|
+
import type { AgentSessionEvent, SessionStats } from "../../session/agent-session";
|
|
13
|
+
import type { FileEntry } from "../../session/session-entries";
|
|
14
|
+
import type { AvailableSlashCommandSource } from "../../slash-commands/available-commands";
|
|
15
|
+
import type { AgentProgress, SubagentEventPayload, SubagentLifecyclePayload, SubagentProgressPayload } from "../../task";
|
|
13
16
|
import type { TodoPhase } from "../../tools/todo";
|
|
14
17
|
export type RpcCommand = {
|
|
15
18
|
id?: string;
|
|
@@ -42,6 +45,9 @@ export type RpcCommand = {
|
|
|
42
45
|
} | {
|
|
43
46
|
id?: string;
|
|
44
47
|
type: "get_state";
|
|
48
|
+
} | {
|
|
49
|
+
id?: string;
|
|
50
|
+
type: "get_available_commands";
|
|
45
51
|
} | {
|
|
46
52
|
id?: string;
|
|
47
53
|
type: "set_todos";
|
|
@@ -54,6 +60,19 @@ export type RpcCommand = {
|
|
|
54
60
|
id?: string;
|
|
55
61
|
type: "set_host_uri_schemes";
|
|
56
62
|
schemes: RpcHostUriSchemeDefinition[];
|
|
63
|
+
} | {
|
|
64
|
+
id?: string;
|
|
65
|
+
type: "set_subagent_subscription";
|
|
66
|
+
level: RpcSubagentSubscriptionLevel;
|
|
67
|
+
} | {
|
|
68
|
+
id?: string;
|
|
69
|
+
type: "get_subagents";
|
|
70
|
+
} | {
|
|
71
|
+
id?: string;
|
|
72
|
+
type: "get_subagent_messages";
|
|
73
|
+
subagentId?: string;
|
|
74
|
+
sessionFile?: string;
|
|
75
|
+
fromByte?: number;
|
|
57
76
|
} | {
|
|
58
77
|
id?: string;
|
|
59
78
|
type: "set_model";
|
|
@@ -171,14 +190,63 @@ export interface RpcSessionState {
|
|
|
171
190
|
/** Current context window usage. Null tokens/percent when unknown (e.g. right after compaction). */
|
|
172
191
|
contextUsage?: ContextUsage;
|
|
173
192
|
}
|
|
193
|
+
export interface RpcAvailableSlashCommand {
|
|
194
|
+
name: string;
|
|
195
|
+
aliases?: string[];
|
|
196
|
+
description?: string;
|
|
197
|
+
input?: {
|
|
198
|
+
hint?: string;
|
|
199
|
+
};
|
|
200
|
+
subcommands?: Array<{
|
|
201
|
+
name: string;
|
|
202
|
+
description?: string;
|
|
203
|
+
usage?: string;
|
|
204
|
+
}>;
|
|
205
|
+
source: AvailableSlashCommandSource;
|
|
206
|
+
}
|
|
207
|
+
export interface RpcAvailableCommandsUpdateFrame {
|
|
208
|
+
type: "available_commands_update";
|
|
209
|
+
commands: RpcAvailableSlashCommand[];
|
|
210
|
+
}
|
|
211
|
+
export interface RpcPromptResultFrame {
|
|
212
|
+
type: "prompt_result";
|
|
213
|
+
id?: string;
|
|
214
|
+
agentInvoked: boolean;
|
|
215
|
+
}
|
|
174
216
|
export interface RpcHandoffResult {
|
|
175
217
|
savedPath?: string;
|
|
176
218
|
}
|
|
219
|
+
export type RpcSubagentSubscriptionLevel = "off" | "progress" | "events";
|
|
220
|
+
export interface RpcSubagentSnapshot {
|
|
221
|
+
id: string;
|
|
222
|
+
index: number;
|
|
223
|
+
agent: string;
|
|
224
|
+
agentSource: AgentProgress["agentSource"];
|
|
225
|
+
description?: string;
|
|
226
|
+
status: AgentProgress["status"];
|
|
227
|
+
task?: string;
|
|
228
|
+
assignment?: string;
|
|
229
|
+
sessionFile?: string;
|
|
230
|
+
lastUpdate: number;
|
|
231
|
+
progress?: AgentProgress;
|
|
232
|
+
parentToolCallId?: string;
|
|
233
|
+
}
|
|
234
|
+
export interface RpcSubagentMessagesResult {
|
|
235
|
+
sessionFile: string;
|
|
236
|
+
fromByte: number;
|
|
237
|
+
nextByte: number;
|
|
238
|
+
reset: boolean;
|
|
239
|
+
entries: FileEntry[];
|
|
240
|
+
messages: AgentMessage[];
|
|
241
|
+
}
|
|
177
242
|
export type RpcResponse = {
|
|
178
243
|
id?: string;
|
|
179
244
|
type: "response";
|
|
180
245
|
command: "prompt";
|
|
181
246
|
success: true;
|
|
247
|
+
data?: {
|
|
248
|
+
agentInvoked: boolean;
|
|
249
|
+
};
|
|
182
250
|
} | {
|
|
183
251
|
id?: string;
|
|
184
252
|
type: "response";
|
|
@@ -213,6 +281,14 @@ export type RpcResponse = {
|
|
|
213
281
|
command: "get_state";
|
|
214
282
|
success: true;
|
|
215
283
|
data: RpcSessionState;
|
|
284
|
+
} | {
|
|
285
|
+
id?: string;
|
|
286
|
+
type: "response";
|
|
287
|
+
command: "get_available_commands";
|
|
288
|
+
success: true;
|
|
289
|
+
data: {
|
|
290
|
+
commands: RpcAvailableSlashCommand[];
|
|
291
|
+
};
|
|
216
292
|
} | {
|
|
217
293
|
id?: string;
|
|
218
294
|
type: "response";
|
|
@@ -237,6 +313,28 @@ export type RpcResponse = {
|
|
|
237
313
|
data: {
|
|
238
314
|
schemes: string[];
|
|
239
315
|
};
|
|
316
|
+
} | {
|
|
317
|
+
id?: string;
|
|
318
|
+
type: "response";
|
|
319
|
+
command: "set_subagent_subscription";
|
|
320
|
+
success: true;
|
|
321
|
+
data: {
|
|
322
|
+
level: RpcSubagentSubscriptionLevel;
|
|
323
|
+
};
|
|
324
|
+
} | {
|
|
325
|
+
id?: string;
|
|
326
|
+
type: "response";
|
|
327
|
+
command: "get_subagents";
|
|
328
|
+
success: true;
|
|
329
|
+
data: {
|
|
330
|
+
subagents: RpcSubagentSnapshot[];
|
|
331
|
+
};
|
|
332
|
+
} | {
|
|
333
|
+
id?: string;
|
|
334
|
+
type: "response";
|
|
335
|
+
command: "get_subagent_messages";
|
|
336
|
+
success: true;
|
|
337
|
+
data: RpcSubagentMessagesResult;
|
|
240
338
|
} | {
|
|
241
339
|
id?: string;
|
|
242
340
|
type: "response";
|
|
@@ -418,6 +516,20 @@ export type RpcResponse = {
|
|
|
418
516
|
success: false;
|
|
419
517
|
error: string;
|
|
420
518
|
};
|
|
519
|
+
export interface RpcSubagentLifecycleFrame {
|
|
520
|
+
type: "subagent_lifecycle";
|
|
521
|
+
payload: SubagentLifecyclePayload;
|
|
522
|
+
}
|
|
523
|
+
export interface RpcSubagentProgressFrame {
|
|
524
|
+
type: "subagent_progress";
|
|
525
|
+
payload: SubagentProgressPayload;
|
|
526
|
+
}
|
|
527
|
+
export interface RpcSubagentEventFrame {
|
|
528
|
+
type: "subagent_event";
|
|
529
|
+
payload: SubagentEventPayload;
|
|
530
|
+
}
|
|
531
|
+
export type RpcSubagentFrame = RpcSubagentLifecycleFrame | RpcSubagentProgressFrame | RpcSubagentEventFrame;
|
|
532
|
+
export type RpcSessionEventFrame = AgentSessionEvent | RpcSubagentFrame;
|
|
421
533
|
/** Emitted when an extension needs user input */
|
|
422
534
|
export type RpcExtensionUIRequest = {
|
|
423
535
|
type: "extension_ui_request";
|
|
@@ -11,6 +11,10 @@ export interface InitializeExtensionsOptions {
|
|
|
11
11
|
onShutdown?: () => void;
|
|
12
12
|
/** Optional UI context (rpc supplies one; print runs headless). */
|
|
13
13
|
uiContext?: ExtensionUIContext;
|
|
14
|
+
/** Optional lifecycle hook for extension-originated messages that can start an agent turn. */
|
|
15
|
+
markAgentInvokingMessage?: () => void;
|
|
16
|
+
/** Optional lifecycle hook for extension-originated sends whose success/failure determines turn ownership. */
|
|
17
|
+
trackAgentInvokingMessage?: (task: Promise<unknown>) => void;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
20
|
* Initialize the session's extension runner with the standard action set
|