@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,280 +1,12 @@
|
|
|
1
|
-
import type { AgentMessage } from "@prometheus-ai/agent-core";
|
|
2
1
|
import type { ImageContent, Message, MessageAttribution, ServiceTier, TextContent } from "@prometheus-ai/ai";
|
|
3
2
|
import { ArtifactManager } from "./artifacts";
|
|
4
3
|
import { type BlobPutOptions, type BlobPutResult } from "./blob-store";
|
|
5
4
|
import { type BashExecutionMessage, type CustomMessage, type FileMentionMessage, type HookMessage, type PythonExecutionMessage } from "./messages";
|
|
6
|
-
import type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
version?: number;
|
|
11
|
-
id: string;
|
|
12
|
-
title?: string;
|
|
13
|
-
titleSource?: "auto" | "user";
|
|
14
|
-
timestamp: string;
|
|
15
|
-
cwd: string;
|
|
16
|
-
parentSession?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface NewSessionOptions {
|
|
19
|
-
parentSession?: string;
|
|
20
|
-
/** Skip flushing the current session and delete it instead of saving. */
|
|
21
|
-
drop?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface SessionEntryBase {
|
|
24
|
-
type: string;
|
|
25
|
-
id: string;
|
|
26
|
-
parentId: string | null;
|
|
27
|
-
timestamp: string;
|
|
28
|
-
}
|
|
29
|
-
export interface SessionMessageEntry extends SessionEntryBase {
|
|
30
|
-
type: "message";
|
|
31
|
-
message: AgentMessage;
|
|
32
|
-
}
|
|
33
|
-
export interface ThinkingLevelChangeEntry extends SessionEntryBase {
|
|
34
|
-
type: "thinking_level_change";
|
|
35
|
-
thinkingLevel?: string | null;
|
|
36
|
-
}
|
|
37
|
-
export interface ModelChangeEntry extends SessionEntryBase {
|
|
38
|
-
type: "model_change";
|
|
39
|
-
/** Model in "provider/modelId" format */
|
|
40
|
-
model: string;
|
|
41
|
-
/** Role: "default", "smol", "slow", etc. Undefined treated as "default" */
|
|
42
|
-
role?: string;
|
|
43
|
-
}
|
|
44
|
-
export interface ServiceTierChangeEntry extends SessionEntryBase {
|
|
45
|
-
type: "service_tier_change";
|
|
46
|
-
serviceTier: ServiceTier | null;
|
|
47
|
-
}
|
|
48
|
-
export interface CompactionEntry<T = unknown> extends SessionEntryBase {
|
|
49
|
-
type: "compaction";
|
|
50
|
-
summary: string;
|
|
51
|
-
shortSummary?: string;
|
|
52
|
-
firstKeptEntryId: string;
|
|
53
|
-
tokensBefore: number;
|
|
54
|
-
/** Extension-specific data (e.g., ArtifactIndex, version markers for structured compaction) */
|
|
55
|
-
details?: T;
|
|
56
|
-
/** Hook-provided data to persist across compaction */
|
|
57
|
-
preserveData?: Record<string, unknown>;
|
|
58
|
-
/** True if generated by an extension, undefined/false if pi-generated (backward compatible) */
|
|
59
|
-
fromExtension?: boolean;
|
|
60
|
-
}
|
|
61
|
-
export interface BranchSummaryEntry<T = unknown> extends SessionEntryBase {
|
|
62
|
-
type: "branch_summary";
|
|
63
|
-
fromId: string;
|
|
64
|
-
summary: string;
|
|
65
|
-
/** Extension-specific data (not sent to LLM) */
|
|
66
|
-
details?: T;
|
|
67
|
-
/** True if generated by an extension, false if pi-generated */
|
|
68
|
-
fromExtension?: boolean;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Custom entry for extensions to store extension-specific data in the session.
|
|
72
|
-
* Use customType to identify your extension's entries.
|
|
73
|
-
*
|
|
74
|
-
* Purpose: Persist extension state across session reloads. On reload, extensions can
|
|
75
|
-
* scan entries for their customType and reconstruct internal state.
|
|
76
|
-
*
|
|
77
|
-
* Does NOT participate in LLM context (ignored by buildSessionContext).
|
|
78
|
-
* For injecting content into context, see CustomMessageEntry.
|
|
79
|
-
*/
|
|
80
|
-
export interface CustomEntry<T = unknown> extends SessionEntryBase {
|
|
81
|
-
type: "custom";
|
|
82
|
-
customType: string;
|
|
83
|
-
data?: T;
|
|
84
|
-
}
|
|
85
|
-
/** Label entry for user-defined bookmarks/markers on entries. */
|
|
86
|
-
export interface LabelEntry extends SessionEntryBase {
|
|
87
|
-
type: "label";
|
|
88
|
-
targetId: string;
|
|
89
|
-
label: string | undefined;
|
|
90
|
-
}
|
|
91
|
-
/** TTSR injection entry - tracks which time-traveling rules have been injected this session. */
|
|
92
|
-
export interface TtsrInjectionEntry extends SessionEntryBase {
|
|
93
|
-
type: "ttsr_injection";
|
|
94
|
-
/** Names of rules that were injected */
|
|
95
|
-
injectedRules: string[];
|
|
96
|
-
}
|
|
97
|
-
/** Persisted MCP discovery selection state for a session branch. */
|
|
98
|
-
export interface MCPToolSelectionEntry extends SessionEntryBase {
|
|
99
|
-
type: "mcp_tool_selection";
|
|
100
|
-
/** MCP tool names selected for visibility in discovery mode. */
|
|
101
|
-
selectedToolNames: string[];
|
|
102
|
-
}
|
|
103
|
-
/** Session init entry - captures initial context for subagent sessions (debugging/replay). */
|
|
104
|
-
export interface SessionInitEntry extends SessionEntryBase {
|
|
105
|
-
type: "session_init";
|
|
106
|
-
/** Full system prompt sent to the model */
|
|
107
|
-
systemPrompt: string;
|
|
108
|
-
/** Initial task/user message */
|
|
109
|
-
task: string;
|
|
110
|
-
/** Tools available to the agent */
|
|
111
|
-
tools: string[];
|
|
112
|
-
/** Output schema if structured output was requested */
|
|
113
|
-
outputSchema?: unknown;
|
|
114
|
-
}
|
|
115
|
-
/** Mode change entry - tracks agent mode transitions (e.g. plan mode). */
|
|
116
|
-
export interface ModeChangeEntry extends SessionEntryBase {
|
|
117
|
-
type: "mode_change";
|
|
118
|
-
/** Current mode name, or "none" when exiting a mode */
|
|
119
|
-
mode: string;
|
|
120
|
-
/** Optional mode-specific data (e.g. plan file path) */
|
|
121
|
-
data?: Record<string, unknown>;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Custom message entry for extensions to inject messages into LLM context.
|
|
125
|
-
* Use customType to identify your extension's entries.
|
|
126
|
-
*
|
|
127
|
-
* Unlike CustomEntry, this DOES participate in LLM context.
|
|
128
|
-
* The content participates in LLM context through convertToLlm().
|
|
129
|
-
* Use details for extension-specific metadata (not sent to LLM).
|
|
130
|
-
*
|
|
131
|
-
* display controls TUI rendering:
|
|
132
|
-
* - false: hidden entirely
|
|
133
|
-
* - true: rendered with distinct styling (different from user messages)
|
|
134
|
-
*/
|
|
135
|
-
export interface CustomMessageEntry<T = unknown> extends SessionEntryBase {
|
|
136
|
-
type: "custom_message";
|
|
137
|
-
customType: string;
|
|
138
|
-
content: string | (TextContent | ImageContent)[];
|
|
139
|
-
details?: T;
|
|
140
|
-
display: boolean;
|
|
141
|
-
/** Who initiated this message for billing/attribution semantics. */
|
|
142
|
-
attribution?: MessageAttribution;
|
|
143
|
-
}
|
|
144
|
-
/** Session entry - has id/parentId for tree structure (returned by "read" methods in SessionManager) */
|
|
145
|
-
export type SessionEntry = SessionMessageEntry | ThinkingLevelChangeEntry | ModelChangeEntry | ServiceTierChangeEntry | CompactionEntry | BranchSummaryEntry | CustomEntry | CustomMessageEntry | LabelEntry | TtsrInjectionEntry | MCPToolSelectionEntry | SessionInitEntry | ModeChangeEntry;
|
|
146
|
-
/** Raw file entry (includes header) */
|
|
147
|
-
export type FileEntry = SessionHeader | SessionEntry;
|
|
148
|
-
/** Tree node for getTree() - defensive copy of session structure */
|
|
149
|
-
export interface SessionTreeNode {
|
|
150
|
-
entry: SessionEntry;
|
|
151
|
-
children: SessionTreeNode[];
|
|
152
|
-
/** Resolved label for this entry, if any */
|
|
153
|
-
label?: string;
|
|
154
|
-
}
|
|
155
|
-
export interface SessionContext {
|
|
156
|
-
messages: AgentMessage[];
|
|
157
|
-
thinkingLevel?: string;
|
|
158
|
-
serviceTier?: ServiceTier;
|
|
159
|
-
/** Model roles: { default: "provider/modelId", small: "provider/modelId", ... } */
|
|
160
|
-
models: Record<string, string>;
|
|
161
|
-
/** Names of TTSR rules that have been injected this session */
|
|
162
|
-
injectedTtsrRules: string[];
|
|
163
|
-
/** MCP tool names selected through discovery for this session branch. */
|
|
164
|
-
selectedMCPToolNames: string[];
|
|
165
|
-
/** Whether this branch contains an explicit persisted MCP selection entry. */
|
|
166
|
-
hasPersistedMCPToolSelection: boolean;
|
|
167
|
-
/** Active mode (e.g. "plan") or "none" if no special mode is active */
|
|
168
|
-
mode: string;
|
|
169
|
-
/** Mode-specific data from the last mode_change entry */
|
|
170
|
-
modeData?: Record<string, unknown>;
|
|
171
|
-
}
|
|
172
|
-
export declare const EPHEMERAL_MODEL_CHANGE_ROLE = "fallback";
|
|
173
|
-
/** Lists session model strings to try when restoring, in fallback order. */
|
|
174
|
-
export declare function getRestorableSessionModels(models: Readonly<Record<string, string>>, lastModelChangeRole: string | undefined): string[];
|
|
175
|
-
/**
|
|
176
|
-
* Coarse lifecycle status of a session, derived from its last persisted message.
|
|
177
|
-
*
|
|
178
|
-
* - `complete` — the last assistant turn ended with no unanswered tool calls, i.e.
|
|
179
|
-
* the agent yielded control back to the user.
|
|
180
|
-
* - `interrupted` — work was cut off mid-flight: a trailing assistant turn with
|
|
181
|
-
* pending tool calls, a trailing tool result the agent never continued from, or
|
|
182
|
-
* a length-truncated turn.
|
|
183
|
-
* - `aborted` — the last assistant turn was cancelled by the user.
|
|
184
|
-
* - `error` — the last assistant turn ended in an error.
|
|
185
|
-
* - `pending` — a trailing user message with no assistant reply persisted after it.
|
|
186
|
-
* - `unknown` — status could not be determined (empty/header-only session, or the
|
|
187
|
-
* final message was larger than the tail window that was read).
|
|
188
|
-
*/
|
|
189
|
-
export type SessionStatus = "complete" | "interrupted" | "aborted" | "error" | "pending" | "unknown";
|
|
190
|
-
export interface SessionInfo {
|
|
191
|
-
path: string;
|
|
192
|
-
id: string;
|
|
193
|
-
/** Working directory where the session was started. Empty string for old sessions. */
|
|
194
|
-
cwd: string;
|
|
195
|
-
title?: string;
|
|
196
|
-
/** Path to the parent session (if this session was forked). */
|
|
197
|
-
parentSessionPath?: string;
|
|
198
|
-
created: Date;
|
|
199
|
-
modified: Date;
|
|
200
|
-
messageCount: number;
|
|
201
|
-
/** File size in bytes on disk; used for compact list rendering. */
|
|
202
|
-
size: number;
|
|
203
|
-
firstMessage: string;
|
|
204
|
-
allMessagesText: string;
|
|
205
|
-
/**
|
|
206
|
-
* Coarse lifecycle status from the session's last persisted message. Optional:
|
|
207
|
-
* synthesized {@link SessionInfo}s (cross-project stubs, tests) leave it unset.
|
|
208
|
-
*/
|
|
209
|
-
status?: SessionStatus;
|
|
210
|
-
}
|
|
5
|
+
import { type BuildSessionContextOptions, type SessionContext } from "./session-context";
|
|
6
|
+
import { type NewSessionOptions, type SessionEntry, type SessionHeader, type SessionTreeNode, type UsageStatistics } from "./session-entries";
|
|
7
|
+
import { type SessionInfo } from "./session-listing";
|
|
8
|
+
import { type SessionStorage } from "./session-storage";
|
|
211
9
|
export type ReadonlySessionManager = Pick<SessionManager, "getCwd" | "getSessionDir" | "getSessionId" | "getSessionFile" | "getSessionName" | "getArtifactsDir" | "getArtifactManager" | "allocateArtifactPath" | "saveArtifact" | "getArtifactPath" | "getLeafId" | "getLeafEntry" | "getEntry" | "getLabel" | "getBranch" | "getHeader" | "getEntries" | "getTree" | "getUsageStatistics" | "putBlob" | "putBlobSync">;
|
|
212
|
-
/** Exported for testing */
|
|
213
|
-
export declare function migrateSessionEntries(entries: FileEntry[]): void;
|
|
214
|
-
/** Exported for compaction.test.ts */
|
|
215
|
-
export declare function parseSessionEntries(content: string): FileEntry[];
|
|
216
|
-
export declare function getLatestCompactionEntry(entries: SessionEntry[]): CompactionEntry | null;
|
|
217
|
-
/**
|
|
218
|
-
* Build the session context from entries using tree traversal.
|
|
219
|
-
* If leafId is provided, walks from that entry to root.
|
|
220
|
-
* Handles compaction and branch summaries along the path.
|
|
221
|
-
*/
|
|
222
|
-
export declare function buildSessionContext(entries: SessionEntry[], leafId?: string | null, byId?: Map<string, SessionEntry>): SessionContext;
|
|
223
|
-
/** Exported for testing */
|
|
224
|
-
export declare function loadEntriesFromFile(filePath: string, storage?: SessionStorage): Promise<FileEntry[]>;
|
|
225
|
-
declare class RecentSessionInfo {
|
|
226
|
-
#private;
|
|
227
|
-
readonly path: string;
|
|
228
|
-
readonly mtime: number;
|
|
229
|
-
constructor(path: string, mtime: number, header: Record<string, unknown>, firstPrompt?: string);
|
|
230
|
-
/** Display name. Falls back to a timestamp-based label, never the raw UUID. */
|
|
231
|
-
get fullName(): string;
|
|
232
|
-
/**
|
|
233
|
-
* Display name without an arbitrary length cap. The renderer is responsible for
|
|
234
|
-
* width-aware truncation so adjacent fields (e.g. the relative time) stay visible.
|
|
235
|
-
*/
|
|
236
|
-
get name(): string;
|
|
237
|
-
/** Human-readable relative time (e.g., "2 hours ago") */
|
|
238
|
-
get timeAgo(): string;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Promote orphaned `<basename>.jsonl.<snowflake>.bak` backups created by
|
|
242
|
-
* `#replaceSessionFileAfterEperm` back to their primary path when the primary
|
|
243
|
-
* is missing. This runs once per session-dir scan, before the main `*.jsonl`
|
|
244
|
-
* glob, so a crash between the two renames in the EPERM-rewrite path does not
|
|
245
|
-
* leave the user's last good state stranded outside the loader's view.
|
|
246
|
-
*
|
|
247
|
-
* Exported for testing.
|
|
248
|
-
*/
|
|
249
|
-
export declare function recoverOrphanedBackups(sessionDir: string, storage: SessionStorage): Promise<void>;
|
|
250
|
-
/** Exported for testing */
|
|
251
|
-
export declare function findMostRecentSession(sessionDir: string, storage?: SessionStorage): Promise<string | null>;
|
|
252
|
-
/** Get recent sessions for display in welcome screen */
|
|
253
|
-
export declare function getRecentSessions(sessionDir: string, limit?: number, storage?: SessionStorage): Promise<RecentSessionInfo[]>;
|
|
254
|
-
/**
|
|
255
|
-
* Manages conversation sessions as append-only trees stored in JSONL files.
|
|
256
|
-
*
|
|
257
|
-
* Each session entry has an id and parentId forming a tree structure. The "leaf"
|
|
258
|
-
* pointer tracks the current position. Appending creates a child of the current leaf.
|
|
259
|
-
* Branching moves the leaf to an earlier entry, allowing new branches without
|
|
260
|
-
* modifying history.
|
|
261
|
-
*
|
|
262
|
-
* Use buildSessionContext() to get the resolved message list for the LLM, which
|
|
263
|
-
* handles compaction summaries and follows the path from root to current leaf.
|
|
264
|
-
*/
|
|
265
|
-
export interface UsageStatistics {
|
|
266
|
-
input: number;
|
|
267
|
-
output: number;
|
|
268
|
-
cacheRead: number;
|
|
269
|
-
cacheWrite: number;
|
|
270
|
-
premiumRequests: number;
|
|
271
|
-
cost: number;
|
|
272
|
-
}
|
|
273
|
-
export interface ResolvedSessionMatch {
|
|
274
|
-
session: SessionInfo;
|
|
275
|
-
scope: "local" | "global";
|
|
276
|
-
}
|
|
277
|
-
export declare function resolveResumableSession(sessionArg: string, cwd: string, sessionDir?: string, storage?: SessionStorage): Promise<ResolvedSessionMatch | undefined>;
|
|
278
10
|
interface SessionManagerStateSnapshot {
|
|
279
11
|
cwd: string;
|
|
280
12
|
sessionDir: string;
|
|
@@ -282,70 +14,81 @@ interface SessionManagerStateSnapshot {
|
|
|
282
14
|
sessionName: string | undefined;
|
|
283
15
|
titleSource: "auto" | "user" | undefined;
|
|
284
16
|
sessionFile: string | undefined;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
17
|
+
onDisk: boolean;
|
|
18
|
+
needsRewrite: boolean;
|
|
19
|
+
header: SessionHeader;
|
|
20
|
+
entries: SessionEntry[];
|
|
288
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Stores and navigates an append-only conversation journal.
|
|
24
|
+
*
|
|
25
|
+
* A session is a JSONL file: one header line followed by entries. Entries form a
|
|
26
|
+
* tree by `(id, parentId)`, and the mutable leaf pointer selects which path is
|
|
27
|
+
* active for future appends and for LLM context construction.
|
|
28
|
+
*
|
|
29
|
+
* Durability is software-crash safe but not power-loss safe: appends are handed
|
|
30
|
+
* to the OS synchronously in-body (so an entry survives an OOM/SIGKILL the
|
|
31
|
+
* instant `appendMessage` returns) but never `fsync`'d. Full-file rewrites go
|
|
32
|
+
* through the storage layer's atomic temp-write+rename so a crash mid-rewrite
|
|
33
|
+
* cannot truncate the prior good file.
|
|
34
|
+
*/
|
|
289
35
|
export declare class SessionManager {
|
|
290
36
|
#private;
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Collab replication tap: invoked for every appended entry with the
|
|
39
|
+
* in-memory (pre-blob-externalization) entry, so inline images survive.
|
|
40
|
+
*/
|
|
41
|
+
onEntryAppended?: (entry: SessionEntry) => void;
|
|
295
42
|
private constructor();
|
|
296
|
-
/** Puts a binary blob into the blob store and returns the blob reference */
|
|
43
|
+
/** Puts a binary blob into the blob store and returns the blob reference. */
|
|
297
44
|
putBlob(data: Buffer, options?: BlobPutOptions): Promise<BlobPutResult>;
|
|
298
45
|
/** Synchronous variant of {@link putBlob} for rebuild-only render paths. */
|
|
299
46
|
putBlobSync(data: Buffer, options?: BlobPutOptions): BlobPutResult;
|
|
300
47
|
captureState(): SessionManagerStateSnapshot;
|
|
301
48
|
restoreState(snapshot: SessionManagerStateSnapshot): void;
|
|
302
|
-
/** Switch to a different session file (
|
|
49
|
+
/** Switch to a different session file (resume / branch). */
|
|
303
50
|
setSessionFile(sessionFile: string): Promise<void>;
|
|
304
|
-
/** Start a new session.
|
|
51
|
+
/** Start a new session. Drains and closes any existing writer first. */
|
|
305
52
|
newSession(options?: NewSessionOptions): Promise<string | undefined>;
|
|
306
|
-
/** Delete a session file and its
|
|
53
|
+
/** Delete a session file and its artifact directory. ENOENT is treated as success. */
|
|
307
54
|
dropSession(sessionPath: string): Promise<void>;
|
|
308
55
|
/**
|
|
309
|
-
* Fork the current session
|
|
310
|
-
*
|
|
311
|
-
* @returns { oldSessionFile, newSessionFile } or undefined if not persisting
|
|
56
|
+
* Fork the current session into a new file with the same entries.
|
|
57
|
+
* @returns the old and new session file paths, or undefined when not persisting.
|
|
312
58
|
*/
|
|
313
59
|
fork(): Promise<{
|
|
314
60
|
oldSessionFile: string;
|
|
315
61
|
newSessionFile: string;
|
|
316
62
|
} | undefined>;
|
|
317
63
|
/**
|
|
318
|
-
* Move the session to a new working directory
|
|
319
|
-
*
|
|
320
|
-
* and rewrites the session header with the new cwd.
|
|
64
|
+
* Move the session to a new working directory: relocate the session file and
|
|
65
|
+
* artifacts on disk, update internal references, and rewrite the header cwd.
|
|
321
66
|
*/
|
|
322
|
-
moveTo(newCwd: string): Promise<void>;
|
|
323
|
-
isPersisted(): boolean;
|
|
67
|
+
moveTo(newCwd: string, targetSessionDir?: string): Promise<void>;
|
|
324
68
|
/**
|
|
325
|
-
* Force
|
|
326
|
-
*
|
|
69
|
+
* Force the session onto disk even with no assistant message yet (ACP
|
|
70
|
+
* session/new must create a discoverable file immediately).
|
|
327
71
|
*/
|
|
328
72
|
ensureOnDisk(): Promise<void>;
|
|
329
|
-
/** Flush pending writes
|
|
73
|
+
/** Flush pending writes. Call before switching sessions or on shutdown. */
|
|
330
74
|
flush(): Promise<void>;
|
|
331
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Synchronously flush all in-memory entries to disk. Use when the process may
|
|
77
|
+
* exit before an async flush settles (Ctrl+C in the TUI). Software-crash
|
|
78
|
+
* durable; not atomic and not power-loss safe — a same-process crash never
|
|
79
|
+
* lands mid-`writeFileSync`.
|
|
80
|
+
*/
|
|
81
|
+
flushSync(): void;
|
|
82
|
+
/** Flush, then close the append writer. */
|
|
332
83
|
close(): Promise<void>;
|
|
333
84
|
getCwd(): string;
|
|
334
|
-
/** Get usage statistics across all assistant messages in the session. */
|
|
335
85
|
getUsageStatistics(): UsageStatistics;
|
|
336
86
|
/**
|
|
337
87
|
* Open a new per-turn budget window: snapshot the cumulative output baseline,
|
|
338
|
-
* reset the eval-subagent counter, and set the (optional) ceiling.
|
|
339
|
-
* per real user message; `total` is null when no `+Nk` directive was present.
|
|
88
|
+
* reset the eval-subagent counter, and set the (optional) ceiling.
|
|
340
89
|
*/
|
|
341
90
|
beginTurnBudget(total: number | null, hard: boolean): void;
|
|
342
|
-
/** Record output tokens consumed by an eval-spawned subagent in the current turn. */
|
|
343
91
|
recordEvalSubagentOutput(output: number): void;
|
|
344
|
-
/**
|
|
345
|
-
* Current turn budget for the eval `budget` helper: the ceiling (null = none),
|
|
346
|
-
* output tokens spent this turn (main loop + eval-spawned subagents, no
|
|
347
|
-
* double-count), and whether the ceiling is hard.
|
|
348
|
-
*/
|
|
349
92
|
getTurnBudget(): {
|
|
350
93
|
total: number | null;
|
|
351
94
|
spent: number;
|
|
@@ -354,98 +97,67 @@ export declare class SessionManager {
|
|
|
354
97
|
getSessionDir(): string;
|
|
355
98
|
getSessionId(): string;
|
|
356
99
|
getSessionFile(): string | undefined;
|
|
357
|
-
/**
|
|
358
|
-
* Returns the session artifacts directory path (session file path without .jsonl).
|
|
359
|
-
* Returns null when the session is not persisted to a file.
|
|
360
|
-
* When this session has adopted an external ArtifactManager (subagent case),
|
|
361
|
-
* returns that manager's directory so reads/writes land in the shared parent
|
|
362
|
-
* dir instead of a private (non-existent) subdir.
|
|
363
|
-
*/
|
|
364
100
|
getArtifactsDir(): string | null;
|
|
365
|
-
/**
|
|
366
|
-
* Adopt an externally-owned ArtifactManager. Used by subagents to share
|
|
367
|
-
* the parent session's artifact directory and ID counter.
|
|
368
|
-
*/
|
|
369
101
|
adoptArtifactManager(manager: ArtifactManager): void;
|
|
370
|
-
/**
|
|
371
|
-
* Returns the ArtifactManager this session writes through. Lazily creates
|
|
372
|
-
* one bound to the current session file unless an external manager was
|
|
373
|
-
* adopted via `adoptArtifactManager`. Returns null only for non-persistent
|
|
374
|
-
* sessions with no adopted manager.
|
|
375
|
-
*/
|
|
376
102
|
getArtifactManager(): ArtifactManager | null;
|
|
377
|
-
/**
|
|
378
|
-
* Allocate a new artifact path and ID for the current session.
|
|
379
|
-
* Returns an empty object when the session is not persisted.
|
|
380
|
-
*/
|
|
381
103
|
allocateArtifactPath(toolType: string): Promise<{
|
|
382
104
|
id?: string;
|
|
383
105
|
path?: string;
|
|
384
106
|
}>;
|
|
385
|
-
/**
|
|
386
|
-
* Save artifact content under the current session and return artifact ID.
|
|
387
|
-
* Returns an artifact ID for all sessions (file-backed for persistent, in-memory fallback otherwise).
|
|
388
|
-
*/
|
|
389
107
|
saveArtifact(content: string, toolType: string): Promise<string | undefined>;
|
|
390
|
-
/**
|
|
391
|
-
* Resolve an artifact ID to an on-disk path for the current session.
|
|
392
|
-
* Returns null when missing or when the session is not persisted.
|
|
393
|
-
*/
|
|
394
108
|
getArtifactPath(id: string): Promise<string | null>;
|
|
395
|
-
/**
|
|
396
|
-
* Persist (or clear) the current editor draft so the next resume of this
|
|
397
|
-
* session can restore it. Empty text deletes any stale draft. No-op when the
|
|
398
|
-
* session is not persisted.
|
|
399
|
-
*/
|
|
400
109
|
saveDraft(text: string): Promise<void>;
|
|
401
|
-
/**
|
|
402
|
-
* Read and remove the saved draft. Returns the previously-saved text, or
|
|
403
|
-
* null when no draft is pending. Single-shot: a successful read removes the
|
|
404
|
-
* sidecar so a subsequent resume does not re-restore the same text.
|
|
405
|
-
*/
|
|
406
110
|
consumeDraft(): Promise<string | null>;
|
|
407
|
-
/** The source that set the session name: "user" (manual
|
|
111
|
+
/** The source that set the session name: "user" (manual/RPC) or "auto" (generated title). */
|
|
408
112
|
get titleSource(): "auto" | "user" | undefined;
|
|
409
113
|
getSessionName(): string | undefined;
|
|
114
|
+
onSessionNameChanged(cb: () => void): () => void;
|
|
410
115
|
/**
|
|
411
116
|
* Set the session display name.
|
|
412
|
-
* @param source
|
|
413
|
-
* Auto
|
|
117
|
+
* @param source "user" for explicit renames; "auto" for generated titles.
|
|
118
|
+
* Auto titles are ignored once the user has set a name.
|
|
414
119
|
*/
|
|
415
120
|
setSessionName(name: string, source?: "auto" | "user"): Promise<boolean>;
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
*
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Append a foreign (host-authored) entry verbatim, preserving its
|
|
123
|
+
* `id`/`parentId`. Used by collab guests to mirror the host session.
|
|
124
|
+
*/
|
|
125
|
+
ingestReplicatedEntry(entry: SessionEntry): void;
|
|
126
|
+
/**
|
|
127
|
+
* Snapshot the session for collab replication: the live header plus a deep
|
|
128
|
+
* copy of every entry (the host mutates entries in place on rewrite paths, so
|
|
129
|
+
* guests must not share references).
|
|
130
|
+
*/
|
|
131
|
+
snapshotForReplication(): {
|
|
132
|
+
header: SessionHeader;
|
|
133
|
+
entries: SessionEntry[];
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Append a message as a child of the current leaf, then advance the leaf.
|
|
137
|
+
* CompactionSummaryMessage / BranchSummaryMessage are rejected here — they are
|
|
138
|
+
* top-level entries via appendCompaction()/branchWithSummary().
|
|
422
139
|
*/
|
|
423
140
|
appendMessage(message: Message | CustomMessage | HookMessage | BashExecutionMessage | PythonExecutionMessage | FileMentionMessage): string;
|
|
424
|
-
/** Append a thinking level change as child of current leaf, then advance leaf. Returns entry id. */
|
|
425
141
|
appendThinkingLevelChange(thinkingLevel?: string): string;
|
|
426
142
|
appendServiceTierChange(serviceTier: ServiceTier | null): string;
|
|
427
|
-
/** Append a mode change as child of current leaf, then advance leaf. Returns entry id. */
|
|
428
143
|
appendModeChange(mode: string, data?: Record<string, unknown>): string;
|
|
429
144
|
/**
|
|
430
|
-
* Append a model change as child of current leaf, then advance leaf.
|
|
145
|
+
* Append a model change as a child of the current leaf, then advance the leaf.
|
|
431
146
|
* @param model Model in "provider/modelId" format
|
|
432
147
|
* @param role Optional role (default: "default")
|
|
433
148
|
*/
|
|
434
149
|
appendModelChange(model: string, role?: string): string;
|
|
435
|
-
/** Append session init metadata (for subagent debugging/replay). Returns entry id. */
|
|
436
150
|
appendSessionInit(init: {
|
|
437
151
|
systemPrompt: string;
|
|
438
152
|
task: string;
|
|
439
153
|
tools: string[];
|
|
440
154
|
outputSchema?: unknown;
|
|
441
155
|
}): string;
|
|
442
|
-
/** Append a compaction summary as child of current leaf, then advance leaf. Returns entry id. */
|
|
443
156
|
appendCompaction<T = unknown>(summary: string, shortSummary: string | undefined, firstKeptEntryId: string, tokensBefore: number, details?: T, fromExtension?: boolean, preserveData?: Record<string, unknown>): string;
|
|
444
|
-
/** Append a custom entry (for extensions) as child of current leaf, then advance leaf. Returns entry id. */
|
|
445
157
|
appendCustomEntry(customType: string, data?: unknown): string;
|
|
446
158
|
/**
|
|
447
|
-
* Rewrite the session file after in-place entry updates.
|
|
448
|
-
* Use sparingly
|
|
159
|
+
* Rewrite the session file after in-place entry updates (e.g. pruning old tool
|
|
160
|
+
* outputs). Use sparingly.
|
|
449
161
|
*/
|
|
450
162
|
rewriteEntries(): Promise<void>;
|
|
451
163
|
/**
|
|
@@ -455,140 +167,95 @@ export declare class SessionManager {
|
|
|
455
167
|
* @param display Whether to show in TUI (true = styled display, false = hidden)
|
|
456
168
|
* @param details Optional extension-specific metadata (not sent to LLM)
|
|
457
169
|
* @param attribution Who initiated this message for billing/attribution semantics
|
|
458
|
-
* @returns Entry id
|
|
459
170
|
*/
|
|
460
171
|
appendCustomMessageEntry<T = unknown>(customType: string, content: string | (TextContent | ImageContent)[], display: boolean, details?: T, attribution?: MessageAttribution): string;
|
|
461
172
|
/**
|
|
462
173
|
* Append an MCP tool selection entry recording the discovery-selected MCP tools.
|
|
463
|
-
* @param selectedToolNames MCP tool names selected for this branch
|
|
464
|
-
* @returns Entry id
|
|
465
174
|
*/
|
|
466
175
|
appendMCPToolSelection(selectedToolNames: string[]): string;
|
|
467
|
-
/**
|
|
468
|
-
* Append a TTSR injection entry recording which rules were injected.
|
|
469
|
-
* @param ruleNames Names of rules that were injected
|
|
470
|
-
* @returns Entry id
|
|
471
|
-
*/
|
|
176
|
+
/** Append a TTSR injection entry recording which rules were injected. */
|
|
472
177
|
appendTtsrInjection(ruleNames: string[]): string;
|
|
473
|
-
/**
|
|
474
|
-
* Get all unique TTSR rule names that have been injected in the current branch.
|
|
475
|
-
* Scans from root to current leaf for ttsr_injection entries.
|
|
476
|
-
*/
|
|
178
|
+
/** All unique TTSR rule names injected on the current branch (root → leaf). */
|
|
477
179
|
getInjectedTtsrRules(): string[];
|
|
478
180
|
getLeafId(): string | null;
|
|
479
181
|
getLeafEntry(): SessionEntry | undefined;
|
|
480
182
|
/**
|
|
481
|
-
*
|
|
482
|
-
*
|
|
183
|
+
* The most recent model role on the current branch, or undefined when no
|
|
184
|
+
* model change has been recorded.
|
|
483
185
|
*/
|
|
484
186
|
getLastModelChangeRole(): string | undefined;
|
|
485
187
|
getEntry(id: string): SessionEntry | undefined;
|
|
486
|
-
/**
|
|
487
|
-
* Get all direct children of an entry.
|
|
488
|
-
*/
|
|
188
|
+
/** All direct children of an entry. */
|
|
489
189
|
getChildren(parentId: string): SessionEntry[];
|
|
490
|
-
/**
|
|
491
|
-
* Get the label for an entry, if any.
|
|
492
|
-
*/
|
|
493
190
|
getLabel(id: string): string | undefined;
|
|
494
191
|
/**
|
|
495
|
-
* Set or clear a label on an entry.
|
|
496
|
-
* Labels are user-defined markers for bookmarking/navigation.
|
|
497
|
-
* Pass undefined or empty string to clear the label.
|
|
192
|
+
* Set or clear a label on an entry. Pass undefined/empty to clear.
|
|
498
193
|
*/
|
|
499
194
|
appendLabelChange(targetId: string, label: string | undefined): string;
|
|
500
195
|
/**
|
|
501
|
-
* Walk from entry to root, returning
|
|
502
|
-
*
|
|
503
|
-
* Use buildSessionContext() to get the resolved messages for the LLM.
|
|
196
|
+
* Walk from an entry to root, returning entries in path order. Includes all
|
|
197
|
+
* entry types; use buildSessionContext() for the resolved LLM messages.
|
|
504
198
|
*/
|
|
505
199
|
getBranch(fromId?: string): SessionEntry[];
|
|
506
200
|
/**
|
|
507
|
-
* Build the session context (
|
|
508
|
-
*
|
|
201
|
+
* Build the session context (LLM messages), or — with `{ transcript: true }` —
|
|
202
|
+
* the full-history display transcript, from the current leaf path.
|
|
509
203
|
*/
|
|
510
|
-
buildSessionContext(): SessionContext;
|
|
511
|
-
/** Strip stale OpenAI Responses assistant replay metadata from loaded
|
|
204
|
+
buildSessionContext(options?: BuildSessionContextOptions): SessionContext;
|
|
205
|
+
/** Strip stale OpenAI Responses assistant replay metadata from loaded entries. */
|
|
512
206
|
sanitizeLoadedOpenAIResponsesReplayMetadata(): boolean;
|
|
513
|
-
/**
|
|
514
|
-
* Get session header.
|
|
515
|
-
*/
|
|
516
207
|
getHeader(): SessionHeader | null;
|
|
517
|
-
/**
|
|
518
|
-
* Get all session entries (excludes header). Returns a shallow copy.
|
|
519
|
-
* The session is append-only: use appendXXX() to add entries, branch() to
|
|
520
|
-
* change the leaf pointer. Entries cannot be modified or deleted.
|
|
521
|
-
*/
|
|
208
|
+
/** All session entries (excludes header). Returns a shallow copy. */
|
|
522
209
|
getEntries(): SessionEntry[];
|
|
523
210
|
/**
|
|
524
|
-
*
|
|
525
|
-
*
|
|
526
|
-
* Orphaned entries (broken parent chain) are also returned as roots.
|
|
211
|
+
* The session as a tree. A well-formed session has exactly one root; orphaned
|
|
212
|
+
* entries (broken parent chain) are returned as roots too.
|
|
527
213
|
*/
|
|
528
214
|
getTree(): SessionTreeNode[];
|
|
529
215
|
/**
|
|
530
|
-
*
|
|
531
|
-
*
|
|
532
|
-
* will create a child of that entry, forming a new branch. Existing entries
|
|
533
|
-
* are not modified or deleted.
|
|
216
|
+
* Move the leaf to an earlier entry so the next append forms a new branch.
|
|
217
|
+
* Existing entries are never modified or deleted.
|
|
534
218
|
*/
|
|
535
219
|
branch(branchFromId: string): void;
|
|
536
|
-
/**
|
|
537
|
-
* Reset the leaf pointer to null (before any entries).
|
|
538
|
-
* The next appendXXX() call will create a new root entry (parentId = null).
|
|
539
|
-
* Use this when navigating to re-edit the first user message.
|
|
540
|
-
*/
|
|
220
|
+
/** Reset the leaf to null so the next append creates a new root entry. */
|
|
541
221
|
resetLeaf(): void;
|
|
542
|
-
/**
|
|
543
|
-
* Start a new branch with a summary of the abandoned path.
|
|
544
|
-
* Same as branch(), but also appends a branch_summary entry that captures
|
|
545
|
-
* context from the abandoned conversation path.
|
|
546
|
-
*/
|
|
222
|
+
/** Like branch(), but also records a branch_summary of the abandoned path. */
|
|
547
223
|
branchWithSummary(branchFromId: string | null, summary: string, details?: unknown, fromExtension?: boolean): string;
|
|
548
224
|
/**
|
|
549
|
-
* Create a new session file containing only the path from root to
|
|
550
|
-
*
|
|
551
|
-
* Returns the new session file path, or undefined if not persisting.
|
|
225
|
+
* Create a new session file containing only the path from root to `leafId`.
|
|
226
|
+
* Returns the new file path, or undefined when not persisting.
|
|
552
227
|
*/
|
|
553
228
|
createBranchedSession(leafId: string): string | undefined;
|
|
554
|
-
/**
|
|
555
|
-
* Resolve the canonical default session directory for a cwd.
|
|
556
|
-
*/
|
|
229
|
+
/** Resolve the canonical default session directory for a cwd. */
|
|
557
230
|
static getDefaultSessionDir(cwd: string, agentDir?: string, storage?: SessionStorage): string;
|
|
558
231
|
/**
|
|
559
232
|
* Create a new session.
|
|
560
|
-
* @param cwd Working directory (stored in session header)
|
|
561
|
-
* @param sessionDir Optional session directory
|
|
233
|
+
* @param cwd Working directory (stored in the session header)
|
|
234
|
+
* @param sessionDir Optional session directory; defaults to the cwd-derived dir.
|
|
562
235
|
*/
|
|
563
236
|
static create(cwd: string, sessionDir?: string, storage?: SessionStorage): SessionManager;
|
|
564
237
|
/**
|
|
565
|
-
* Fork a session into the current project directory
|
|
566
|
-
*
|
|
238
|
+
* Fork a session into the current project directory: copy history from another
|
|
239
|
+
* session file while creating a fresh session file in this sessionDir.
|
|
567
240
|
*/
|
|
568
|
-
static forkFrom(sourcePath: string, cwd: string, sessionDir?: string, storage?: SessionStorage
|
|
241
|
+
static forkFrom(sourcePath: string, cwd: string, sessionDir?: string, storage?: SessionStorage, options?: {
|
|
242
|
+
suppressBreadcrumb?: boolean;
|
|
243
|
+
}): Promise<SessionManager>;
|
|
569
244
|
/**
|
|
570
245
|
* Open a specific session file.
|
|
571
|
-
* @param
|
|
572
|
-
* @param sessionDir Optional session directory for /new or /branch. If omitted, derives from file's parent.
|
|
246
|
+
* @param sessionDir Optional dir for /new or /branch; defaults to the file's parent.
|
|
573
247
|
*/
|
|
574
248
|
static open(filePath: string, sessionDir?: string, storage?: SessionStorage): Promise<SessionManager>;
|
|
575
|
-
/**
|
|
576
|
-
* Continue the most recent session, or create new if none.
|
|
577
|
-
* @param cwd Working directory
|
|
578
|
-
* @param sessionDir Optional session directory. If omitted, uses default (~/.prometheus/agent/sessions/<encoded-cwd>/).
|
|
579
|
-
*/
|
|
249
|
+
/** Continue the most recent session, or create a new one if none exists. */
|
|
580
250
|
static continueRecent(cwd: string, sessionDir?: string, storage?: SessionStorage): Promise<SessionManager>;
|
|
581
|
-
/** Create an in-memory session (no file persistence) */
|
|
251
|
+
/** Create an in-memory session (no file persistence). */
|
|
582
252
|
static inMemory(cwd?: string, storage?: SessionStorage): SessionManager;
|
|
583
253
|
/**
|
|
584
|
-
* List
|
|
585
|
-
* @param
|
|
586
|
-
* @param sessionDir Optional session directory. If omitted, uses default (~/.prometheus/agent/sessions/<encoded-cwd>/).
|
|
254
|
+
* List sessions for a project directory.
|
|
255
|
+
* @param sessionDir Optional dir; defaults to the cwd-derived dir.
|
|
587
256
|
*/
|
|
588
257
|
static list(cwd: string, sessionDir?: string, storage?: SessionStorage): Promise<SessionInfo[]>;
|
|
589
|
-
/**
|
|
590
|
-
* List all sessions across all project directories.
|
|
591
|
-
*/
|
|
258
|
+
/** List all sessions across all project directories. */
|
|
592
259
|
static listAll(storage?: SessionStorage): Promise<SessionInfo[]>;
|
|
593
260
|
}
|
|
594
261
|
export {};
|