catui-agent 1.0.0-beta.0
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/LICENSE +674 -0
- package/README.md +267 -0
- package/dist/build-meta.json +6 -0
- package/dist/builtin-extensions.d.ts +47 -0
- package/dist/builtin-extensions.js +1 -0
- package/dist/catui-defaults.d.ts +555 -0
- package/dist/catui-defaults.js +22 -0
- package/dist/cli/args.d.ts +70 -0
- package/dist/cli/args.js +158 -0
- package/dist/cli/config-selector.d.ts +10 -0
- package/dist/cli/config-selector.js +1 -0
- package/dist/cli/file-processor.d.ts +11 -0
- package/dist/cli/file-processor.js +6 -0
- package/dist/cli/list-models.d.ts +12 -0
- package/dist/cli/list-models.js +2 -0
- package/dist/cli/session-picker.d.ts +5 -0
- package/dist/cli/session-picker.js +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +2 -0
- package/dist/config.d.ts +103 -0
- package/dist/config.js +1 -0
- package/dist/core/agent-dir/agent-dir-context.d.ts +60 -0
- package/dist/core/agent-dir/agent-dir-context.js +1 -0
- package/dist/core/agent-dir/agent-metadata.d.ts +48 -0
- package/dist/core/agent-dir/agent-metadata.js +1 -0
- package/dist/core/agent-dir/migration-tool.d.ts +40 -0
- package/dist/core/agent-dir/migration-tool.js +7 -0
- package/dist/core/export-html/AGENT.md +12 -0
- package/dist/core/export-html/ansi-to-html.d.ts +9 -0
- package/dist/core/export-html/ansi-to-html.js +2 -0
- package/dist/core/export-html/index.d.ts +39 -0
- package/dist/core/export-html/index.js +2 -0
- package/dist/core/export-html/template.css +971 -0
- package/dist/core/export-html/template.html +54 -0
- package/dist/core/export-html/template.js +66 -0
- package/dist/core/export-html/tool-renderer.d.ts +28 -0
- package/dist/core/export-html/tool-renderer.js +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +4 -0
- package/dist/core/export-html/vendor/marked.min.js +56 -0
- package/dist/core/extensions-host/index.d.ts +13 -0
- package/dist/core/extensions-host/index.js +1 -0
- package/dist/core/extensions-host/loader.d.ts +21 -0
- package/dist/core/extensions-host/loader.js +1 -0
- package/dist/core/extensions-host/runner.d.ts +233 -0
- package/dist/core/extensions-host/runner.js +3 -0
- package/dist/core/extensions-host/types.d.ts +1079 -0
- package/dist/core/extensions-host/types.js +1 -0
- package/dist/core/extensions-host/wrapper.d.ts +29 -0
- package/dist/core/extensions-host/wrapper.js +2 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.js +1 -0
- package/dist/core/lib/agent-core/src/agent-loop-continuations.d.ts +17 -0
- package/dist/core/lib/agent-core/src/agent-loop-continuations.js +1 -0
- package/dist/core/lib/agent-core/src/agent-loop-stream-events.d.ts +19 -0
- package/dist/core/lib/agent-core/src/agent-loop-stream-events.js +1 -0
- package/dist/core/lib/agent-core/src/agent-loop-tool-results.d.ts +10 -0
- package/dist/core/lib/agent-core/src/agent-loop-tool-results.js +3 -0
- package/dist/core/lib/agent-core/src/agent-loop-tool-summaries.d.ts +22 -0
- package/dist/core/lib/agent-core/src/agent-loop-tool-summaries.js +1 -0
- package/dist/core/lib/agent-core/src/agent-loop.d.ts +26 -0
- package/dist/core/lib/agent-core/src/agent-loop.js +4 -0
- package/dist/core/lib/agent-core/src/agent-run-result.d.ts +9 -0
- package/dist/core/lib/agent-core/src/agent-run-result.js +1 -0
- package/dist/core/lib/agent-core/src/agent.d.ts +215 -0
- package/dist/core/lib/agent-core/src/agent.js +1 -0
- package/dist/core/lib/agent-core/src/errors.d.ts +62 -0
- package/dist/core/lib/agent-core/src/errors.js +1 -0
- package/dist/core/lib/agent-core/src/index.d.ts +14 -0
- package/dist/core/lib/agent-core/src/index.js +1 -0
- package/dist/core/lib/agent-core/src/proxy.d.ts +91 -0
- package/dist/core/lib/agent-core/src/proxy.js +2 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-agent-loop.d.ts +15 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-agent-loop.js +2 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-streaming-tool-executor.d.ts +33 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-streaming-tool-executor.js +1 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-tool-orchestration.d.ts +35 -0
- package/dist/core/lib/agent-core/src/structured-adaptive-tool-orchestration.js +3 -0
- package/dist/core/lib/agent-core/src/types.d.ts +417 -0
- package/dist/core/lib/agent-core/src/types.js +1 -0
- package/dist/core/lib/ai/src/api-registry.d.ts +27 -0
- package/dist/core/lib/ai/src/api-registry.js +1 -0
- package/dist/core/lib/ai/src/config-path.d.ts +1 -0
- package/dist/core/lib/ai/src/config-path.js +1 -0
- package/dist/core/lib/ai/src/debug-logger.d.ts +94 -0
- package/dist/core/lib/ai/src/debug-logger.js +4 -0
- package/dist/core/lib/ai/src/env-api-keys.d.ts +8 -0
- package/dist/core/lib/ai/src/env-api-keys.js +1 -0
- package/dist/core/lib/ai/src/env.d.ts +7 -0
- package/dist/core/lib/ai/src/env.js +1 -0
- package/dist/core/lib/ai/src/events.d.ts +8 -0
- package/dist/core/lib/ai/src/events.js +1 -0
- package/dist/core/lib/ai/src/index.d.ts +27 -0
- package/dist/core/lib/ai/src/index.js +1 -0
- package/dist/core/lib/ai/src/json.d.ts +7 -0
- package/dist/core/lib/ai/src/json.js +1 -0
- package/dist/core/lib/ai/src/models.d.ts +31 -0
- package/dist/core/lib/ai/src/models.generated.d.ts +15315 -0
- package/dist/core/lib/ai/src/models.generated.js +1 -0
- package/dist/core/lib/ai/src/models.js +1 -0
- package/dist/core/lib/ai/src/overflow.d.ts +7 -0
- package/dist/core/lib/ai/src/overflow.js +1 -0
- package/dist/core/lib/ai/src/providers/amazon-bedrock.d.ts +20 -0
- package/dist/core/lib/ai/src/providers/amazon-bedrock.js +1 -0
- package/dist/core/lib/ai/src/providers/anthropic.d.ts +38 -0
- package/dist/core/lib/ai/src/providers/anthropic.js +2 -0
- package/dist/core/lib/ai/src/providers/azure-openai-responses.d.ts +21 -0
- package/dist/core/lib/ai/src/providers/azure-openai-responses.js +1 -0
- package/dist/core/lib/ai/src/providers/github-copilot-headers.d.ts +13 -0
- package/dist/core/lib/ai/src/providers/github-copilot-headers.js +1 -0
- package/dist/core/lib/ai/src/providers/google-gemini-cli.d.ts +79 -0
- package/dist/core/lib/ai/src/providers/google-gemini-cli.js +2 -0
- package/dist/core/lib/ai/src/providers/google-shared.d.ts +70 -0
- package/dist/core/lib/ai/src/providers/google-shared.js +2 -0
- package/dist/core/lib/ai/src/providers/google-vertex.d.ts +20 -0
- package/dist/core/lib/ai/src/providers/google-vertex.js +1 -0
- package/dist/core/lib/ai/src/providers/google.d.ts +18 -0
- package/dist/core/lib/ai/src/providers/google.js +1 -0
- package/dist/core/lib/ai/src/providers/openai-codex-responses.d.ts +8 -0
- package/dist/core/lib/ai/src/providers/openai-codex-responses.js +7 -0
- package/dist/core/lib/ai/src/providers/openai-completions.d.ts +20 -0
- package/dist/core/lib/ai/src/providers/openai-completions.js +6 -0
- package/dist/core/lib/ai/src/providers/openai-responses-shared.d.ts +22 -0
- package/dist/core/lib/ai/src/providers/openai-responses-shared.js +10 -0
- package/dist/core/lib/ai/src/providers/openai-responses.d.ts +19 -0
- package/dist/core/lib/ai/src/providers/openai-responses.js +1 -0
- package/dist/core/lib/ai/src/providers/register-builtins.d.ts +8 -0
- package/dist/core/lib/ai/src/providers/register-builtins.js +1 -0
- package/dist/core/lib/ai/src/providers/simple-options.d.ts +13 -0
- package/dist/core/lib/ai/src/providers/simple-options.js +1 -0
- package/dist/core/lib/ai/src/providers/transform-messages.d.ts +13 -0
- package/dist/core/lib/ai/src/providers/transform-messages.js +1 -0
- package/dist/core/lib/ai/src/registry.d.ts +8 -0
- package/dist/core/lib/ai/src/registry.js +1 -0
- package/dist/core/lib/ai/src/schema.d.ts +10 -0
- package/dist/core/lib/ai/src/schema.js +1 -0
- package/dist/core/lib/ai/src/stream.d.ts +33 -0
- package/dist/core/lib/ai/src/stream.js +1 -0
- package/dist/core/lib/ai/src/types.d.ts +331 -0
- package/dist/core/lib/ai/src/types.js +0 -0
- package/dist/core/lib/ai/src/utils/event-stream-types.d.ts +12 -0
- package/dist/core/lib/ai/src/utils/event-stream-types.js +0 -0
- package/dist/core/lib/ai/src/utils/event-stream.d.ts +31 -0
- package/dist/core/lib/ai/src/utils/event-stream.js +1 -0
- package/dist/core/lib/ai/src/utils/http-proxy.d.ts +13 -0
- package/dist/core/lib/ai/src/utils/http-proxy.js +1 -0
- package/dist/core/lib/ai/src/utils/json-parse.d.ts +14 -0
- package/dist/core/lib/ai/src/utils/json-parse.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/anthropic.d.ts +22 -0
- package/dist/core/lib/ai/src/utils/oauth/anthropic.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/decode-credential.d.ts +12 -0
- package/dist/core/lib/ai/src/utils/oauth/decode-credential.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/github-copilot.d.ts +35 -0
- package/dist/core/lib/ai/src/utils/oauth/github-copilot.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/google-antigravity.d.ts +31 -0
- package/dist/core/lib/ai/src/utils/oauth/google-antigravity.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/google-gemini-cli.d.ts +31 -0
- package/dist/core/lib/ai/src/utils/oauth/google-gemini-cli.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/index.d.ts +60 -0
- package/dist/core/lib/ai/src/utils/oauth/index.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/openai-codex.d.ts +39 -0
- package/dist/core/lib/ai/src/utils/oauth/openai-codex.js +11 -0
- package/dist/core/lib/ai/src/utils/oauth/pkce.d.ts +18 -0
- package/dist/core/lib/ai/src/utils/oauth/pkce.js +1 -0
- package/dist/core/lib/ai/src/utils/oauth/types.d.ts +52 -0
- package/dist/core/lib/ai/src/utils/oauth/types.js +0 -0
- package/dist/core/lib/ai/src/utils/overflow.d.ts +57 -0
- package/dist/core/lib/ai/src/utils/overflow.js +1 -0
- package/dist/core/lib/ai/src/utils/sanitize-unicode.d.ts +16 -0
- package/dist/core/lib/ai/src/utils/sanitize-unicode.js +1 -0
- package/dist/core/lib/ai/src/utils/typebox-helpers.d.ts +22 -0
- package/dist/core/lib/ai/src/utils/typebox-helpers.js +1 -0
- package/dist/core/lib/ai/src/utils/validation.d.ts +23 -0
- package/dist/core/lib/ai/src/utils/validation.js +6 -0
- package/dist/core/lib/tui/src/autocomplete.d.ts +62 -0
- package/dist/core/lib/tui/src/autocomplete.js +2 -0
- package/dist/core/lib/tui/src/components/box.d.ts +27 -0
- package/dist/core/lib/tui/src/components/box.js +1 -0
- package/dist/core/lib/tui/src/components/cached-container.d.ts +42 -0
- package/dist/core/lib/tui/src/components/cached-container.js +1 -0
- package/dist/core/lib/tui/src/components/cancellable-loader.d.ts +27 -0
- package/dist/core/lib/tui/src/components/cancellable-loader.js +1 -0
- package/dist/core/lib/tui/src/components/editor.d.ts +222 -0
- package/dist/core/lib/tui/src/components/editor.js +21 -0
- package/dist/core/lib/tui/src/components/image.d.ts +33 -0
- package/dist/core/lib/tui/src/components/image.js +1 -0
- package/dist/core/lib/tui/src/components/input.d.ts +42 -0
- package/dist/core/lib/tui/src/components/input.js +2 -0
- package/dist/core/lib/tui/src/components/loader.d.ts +26 -0
- package/dist/core/lib/tui/src/components/loader.js +1 -0
- package/dist/core/lib/tui/src/components/markdown.d.ts +100 -0
- package/dist/core/lib/tui/src/components/markdown.js +7 -0
- package/dist/core/lib/tui/src/components/select-list.d.ts +37 -0
- package/dist/core/lib/tui/src/components/select-list.js +1 -0
- package/dist/core/lib/tui/src/components/settings-list.d.ts +55 -0
- package/dist/core/lib/tui/src/components/settings-list.js +1 -0
- package/dist/core/lib/tui/src/components/spacer.d.ts +17 -0
- package/dist/core/lib/tui/src/components/spacer.js +1 -0
- package/dist/core/lib/tui/src/components/text.d.ts +24 -0
- package/dist/core/lib/tui/src/components/text.js +1 -0
- package/dist/core/lib/tui/src/components/truncated-text.d.ts +18 -0
- package/dist/core/lib/tui/src/components/truncated-text.js +2 -0
- package/dist/core/lib/tui/src/editor-component.d.ts +51 -0
- package/dist/core/lib/tui/src/editor-component.js +0 -0
- package/dist/core/lib/tui/src/fuzzy.d.ts +32 -0
- package/dist/core/lib/tui/src/fuzzy.js +1 -0
- package/dist/core/lib/tui/src/index.d.ts +29 -0
- package/dist/core/lib/tui/src/index.js +1 -0
- package/dist/core/lib/tui/src/keybindings.d.ts +44 -0
- package/dist/core/lib/tui/src/keybindings.js +1 -0
- package/dist/core/lib/tui/src/keys.d.ts +149 -0
- package/dist/core/lib/tui/src/keys.js +5 -0
- package/dist/core/lib/tui/src/kill-ring.d.ts +33 -0
- package/dist/core/lib/tui/src/kill-ring.js +1 -0
- package/dist/core/lib/tui/src/stdin-buffer.d.ts +38 -0
- package/dist/core/lib/tui/src/stdin-buffer.js +1 -0
- package/dist/core/lib/tui/src/terminal-image.d.ts +73 -0
- package/dist/core/lib/tui/src/terminal-image.js +1 -0
- package/dist/core/lib/tui/src/terminal.d.ts +86 -0
- package/dist/core/lib/tui/src/terminal.js +1 -0
- package/dist/core/lib/tui/src/tui.d.ts +220 -0
- package/dist/core/lib/tui/src/tui.js +12 -0
- package/dist/core/lib/tui/src/undo-stack.d.ts +22 -0
- package/dist/core/lib/tui/src/undo-stack.js +1 -0
- package/dist/core/lib/tui/src/utils.d.ts +83 -0
- package/dist/core/lib/tui/src/utils.js +2 -0
- package/dist/core/mcp/figma-auth.d.ts +21 -0
- package/dist/core/mcp/figma-auth.js +22 -0
- package/dist/core/mcp/index.d.ts +11 -0
- package/dist/core/mcp/index.js +1 -0
- package/dist/core/mcp/mcp-adapter.d.ts +21 -0
- package/dist/core/mcp/mcp-adapter.js +3 -0
- package/dist/core/mcp/mcp-client.d.ts +91 -0
- package/dist/core/mcp/mcp-client.js +6 -0
- package/dist/core/mcp/mcp-config.d.ts +55 -0
- package/dist/core/mcp/mcp-config.js +1 -0
- package/dist/core/mcp/mcp-guidance.d.ts +52 -0
- package/dist/core/mcp/mcp-guidance.js +54 -0
- package/dist/core/mcp/mcp-manager.d.ts +51 -0
- package/dist/core/mcp/mcp-manager.js +1 -0
- package/dist/core/mcp/mcp-types.d.ts +62 -0
- package/dist/core/mcp/mcp-types.js +0 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.js +17 -0
- package/dist/core/model/custom-providers.d.ts +34 -0
- package/dist/core/model/custom-providers.js +1 -0
- package/dist/core/model/discovery-cache.d.ts +65 -0
- package/dist/core/model/discovery-cache.js +1 -0
- package/dist/core/model/discovery-cache.test.d.ts +7 -0
- package/dist/core/model/discovery-cache.test.js +1 -0
- package/dist/core/model/discovery.d.ts +79 -0
- package/dist/core/model/discovery.js +1 -0
- package/dist/core/model/discovery.test.d.ts +7 -0
- package/dist/core/model/discovery.test.js +1 -0
- package/dist/core/model/index.d.ts +10 -0
- package/dist/core/model/index.js +1 -0
- package/dist/core/model/known-models.d.ts +65 -0
- package/dist/core/model/known-models.generated.d.ts +2 -0
- package/dist/core/model/known-models.generated.js +1 -0
- package/dist/core/model/known-models.js +1 -0
- package/dist/core/model/switcher.d.ts +80 -0
- package/dist/core/model/switcher.js +1 -0
- package/dist/core/model-registry.d.ts +186 -0
- package/dist/core/model-registry.js +9 -0
- package/dist/core/model-resolver.d.ts +106 -0
- package/dist/core/model-resolver.js +1 -0
- package/dist/core/package-manager.d.ts +156 -0
- package/dist/core/package-manager.js +3 -0
- package/dist/core/persona/persona-manager.d.ts +35 -0
- package/dist/core/persona/persona-manager.js +5 -0
- package/dist/core/platform/abort-slot.d.ts +26 -0
- package/dist/core/platform/abort-slot.js +1 -0
- package/dist/core/platform/config/auth-storage.d.ts +126 -0
- package/dist/core/platform/config/auth-storage.js +1 -0
- package/dist/core/platform/config/defaults.d.ts +8 -0
- package/dist/core/platform/config/defaults.js +1 -0
- package/dist/core/platform/config/diagnostics.d.ts +20 -0
- package/dist/core/platform/config/diagnostics.js +0 -0
- package/dist/core/platform/config/resolve-config-value.d.ts +12 -0
- package/dist/core/platform/config/resolve-config-value.js +1 -0
- package/dist/core/platform/config/resource-loader.d.ts +188 -0
- package/dist/core/platform/config/resource-loader.js +2 -0
- package/dist/core/platform/config/settings-manager.d.ts +314 -0
- package/dist/core/platform/config/settings-manager.js +1 -0
- package/dist/core/platform/exec/bash-executor.d.ts +41 -0
- package/dist/core/platform/exec/bash-executor.js +1 -0
- package/dist/core/platform/exec/exec.d.ts +25 -0
- package/dist/core/platform/exec/exec.js +1 -0
- package/dist/core/platform/i18n/index.d.ts +26 -0
- package/dist/core/platform/i18n/index.js +1 -0
- package/dist/core/platform/i18n/messages.d.ts +56 -0
- package/dist/core/platform/i18n/messages.js +1 -0
- package/dist/core/platform/i18n/messages.zh.d.ts +56 -0
- package/dist/core/platform/i18n/messages.zh.js +1 -0
- package/dist/core/platform/i18n/slash-commands.d.ts +53 -0
- package/dist/core/platform/i18n/slash-commands.js +1 -0
- package/dist/core/platform/i18n/slash-commands.zh.d.ts +53 -0
- package/dist/core/platform/i18n/slash-commands.zh.js +1 -0
- package/dist/core/platform/i18n/themes.d.ts +11 -0
- package/dist/core/platform/i18n/themes.js +1 -0
- package/dist/core/platform/i18n/themes.zh.d.ts +11 -0
- package/dist/core/platform/i18n/themes.zh.js +1 -0
- package/dist/core/platform/keybindings.d.ts +61 -0
- package/dist/core/platform/keybindings.js +1 -0
- package/dist/core/platform/listeners.d.ts +21 -0
- package/dist/core/platform/listeners.js +1 -0
- package/dist/core/platform/telemetry/batching-dispatcher.d.ts +41 -0
- package/dist/core/platform/telemetry/batching-dispatcher.js +1 -0
- package/dist/core/platform/telemetry/build-meta.d.ts +12 -0
- package/dist/core/platform/telemetry/build-meta.js +1 -0
- package/dist/core/platform/telemetry/caller-context.d.ts +32 -0
- package/dist/core/platform/telemetry/caller-context.js +1 -0
- package/dist/core/platform/telemetry/credentials.d.ts +27 -0
- package/dist/core/platform/telemetry/credentials.js +1 -0
- package/dist/core/platform/telemetry/ext-events.d.ts +89 -0
- package/dist/core/platform/telemetry/ext-events.js +1 -0
- package/dist/core/platform/telemetry/index.d.ts +13 -0
- package/dist/core/platform/telemetry/index.js +1 -0
- package/dist/core/platform/telemetry/insforge-base.d.ts +37 -0
- package/dist/core/platform/telemetry/insforge-base.js +1 -0
- package/dist/core/platform/telemetry/types.d.ts +33 -0
- package/dist/core/platform/telemetry/types.js +0 -0
- package/dist/core/platform/timings.d.ts +2 -0
- package/dist/core/platform/timings.js +3 -0
- package/dist/core/platform/utils/logger.d.ts +75 -0
- package/dist/core/platform/utils/logger.js +1 -0
- package/dist/core/platform/utils/shell.d.ts +25 -0
- package/dist/core/platform/utils/shell.js +9 -0
- package/dist/core/platform/utils/sleep.d.ts +7 -0
- package/dist/core/platform/utils/sleep.js +1 -0
- package/dist/core/platform/utils/tools-manager.d.ts +19 -0
- package/dist/core/platform/utils/tools-manager.js +1 -0
- package/dist/core/prompt/prompt-templates.d.ts +49 -0
- package/dist/core/prompt/prompt-templates.js +2 -0
- package/dist/core/prompt/system-prompt.d.ts +24 -0
- package/dist/core/prompt/system-prompt.js +139 -0
- package/dist/core/runtime/agent-session.d.ts +676 -0
- package/dist/core/runtime/agent-session.js +15 -0
- package/dist/core/runtime/bash-runner.d.ts +56 -0
- package/dist/core/runtime/bash-runner.js +2 -0
- package/dist/core/runtime/catui-agent.d.ts +182 -0
- package/dist/core/runtime/catui-agent.js +1 -0
- package/dist/core/runtime/compaction-controller.d.ts +43 -0
- package/dist/core/runtime/compaction-controller.js +1 -0
- package/dist/core/runtime/default-tools.d.ts +9 -0
- package/dist/core/runtime/default-tools.js +1 -0
- package/dist/core/runtime/event-bridge.d.ts +21 -0
- package/dist/core/runtime/event-bridge.js +1 -0
- package/dist/core/runtime/event-bus.d.ts +8 -0
- package/dist/core/runtime/event-bus.js +1 -0
- package/dist/core/runtime/export-bridge.d.ts +23 -0
- package/dist/core/runtime/export-bridge.js +1 -0
- package/dist/core/runtime/extension-core-bindings.d.ts +46 -0
- package/dist/core/runtime/extension-core-bindings.js +3 -0
- package/dist/core/runtime/model-controller.d.ts +84 -0
- package/dist/core/runtime/model-controller.js +1 -0
- package/dist/core/runtime/model-cycle.d.ts +20 -0
- package/dist/core/runtime/model-cycle.js +1 -0
- package/dist/core/runtime/prompt-assembly.d.ts +20 -0
- package/dist/core/runtime/prompt-assembly.js +3 -0
- package/dist/core/runtime/retry-coordinator.d.ts +84 -0
- package/dist/core/runtime/retry-coordinator.js +1 -0
- package/dist/core/runtime/sdk.d.ts +163 -0
- package/dist/core/runtime/sdk.js +1 -0
- package/dist/core/runtime/session-context.d.ts +155 -0
- package/dist/core/runtime/session-context.js +0 -0
- package/dist/core/runtime/session-lifecycle-controller.d.ts +42 -0
- package/dist/core/runtime/session-lifecycle-controller.js +1 -0
- package/dist/core/runtime/session-tree-controller.d.ts +40 -0
- package/dist/core/runtime/session-tree-controller.js +1 -0
- package/dist/core/runtime/slash-command-catalog.d.ts +27 -0
- package/dist/core/runtime/slash-command-catalog.js +1 -0
- package/dist/core/runtime/thinking-levels.d.ts +31 -0
- package/dist/core/runtime/thinking-levels.js +1 -0
- package/dist/core/runtime/tool-runtime-controller.d.ts +35 -0
- package/dist/core/runtime/tool-runtime-controller.js +1 -0
- package/dist/core/runtime/turn-context.d.ts +52 -0
- package/dist/core/runtime/turn-context.js +1 -0
- package/dist/core/session/compaction/branch-summarization.d.ts +85 -0
- package/dist/core/session/compaction/branch-summarization.js +38 -0
- package/dist/core/session/compaction/compaction.d.ts +120 -0
- package/dist/core/session/compaction/compaction.js +104 -0
- package/dist/core/session/compaction/index.d.ts +9 -0
- package/dist/core/session/compaction/index.js +1 -0
- package/dist/core/session/compaction/utils.d.ts +37 -0
- package/dist/core/session/compaction/utils.js +17 -0
- package/dist/core/session/session-manager.d.ts +359 -0
- package/dist/core/session/session-manager.js +14 -0
- package/dist/core/skills.d.ts +57 -0
- package/dist/core/skills.js +4 -0
- package/dist/core/slash-commands.d.ts +36 -0
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/soul-integration.d.ts +77 -0
- package/dist/core/soul-integration.js +1 -0
- package/dist/core/soul-options-contract.d.ts +10 -0
- package/dist/core/soul-options-contract.js +0 -0
- package/dist/core/sub-agent/agent-definition-loader.d.ts +96 -0
- package/dist/core/sub-agent/agent-definition-loader.js +2 -0
- package/dist/core/sub-agent/agent-definition.d.ts +162 -0
- package/dist/core/sub-agent/agent-definition.js +6 -0
- package/dist/core/sub-agent/agent-handoff-safety.d.ts +39 -0
- package/dist/core/sub-agent/agent-handoff-safety.js +1 -0
- package/dist/core/sub-agent/agent-input-output.d.ts +143 -0
- package/dist/core/sub-agent/agent-input-output.js +1 -0
- package/dist/core/sub-agent/agent-output-persistence.d.ts +43 -0
- package/dist/core/sub-agent/agent-output-persistence.js +3 -0
- package/dist/core/sub-agent/agent-prompt-builder.d.ts +37 -0
- package/dist/core/sub-agent/agent-prompt-builder.js +2 -0
- package/dist/core/sub-agent/agent-registry.d.ts +145 -0
- package/dist/core/sub-agent/agent-registry.js +1 -0
- package/dist/core/sub-agent/agent-result-extractor.d.ts +28 -0
- package/dist/core/sub-agent/agent-result-extractor.js +3 -0
- package/dist/core/sub-agent/agent-telemetry.d.ts +71 -0
- package/dist/core/sub-agent/agent-telemetry.js +1 -0
- package/dist/core/sub-agent/agent-tool-filter.d.ts +89 -0
- package/dist/core/sub-agent/agent-tool-filter.js +2 -0
- package/dist/core/sub-agent/agent-tool.d.ts +69 -0
- package/dist/core/sub-agent/agent-tool.js +11 -0
- package/dist/core/sub-agent/index.d.ts +26 -0
- package/dist/core/sub-agent/index.js +1 -0
- package/dist/core/sub-agent/send-message-tool.d.ts +33 -0
- package/dist/core/sub-agent/send-message-tool.js +2 -0
- package/dist/core/sub-agent/sub-agent-backend.d.ts +26 -0
- package/dist/core/sub-agent/sub-agent-backend.js +7 -0
- package/dist/core/sub-agent/sub-agent-runtime.d.ts +34 -0
- package/dist/core/sub-agent/sub-agent-runtime.js +1 -0
- package/dist/core/sub-agent/sub-agent-types.d.ts +138 -0
- package/dist/core/sub-agent/sub-agent-types.js +0 -0
- package/dist/core/sub-agent/subprocess-backend.d.ts +35 -0
- package/dist/core/sub-agent/subprocess-backend.js +1 -0
- package/dist/core/sub-agent/subprocess-worker.d.ts +12 -0
- package/dist/core/sub-agent/subprocess-worker.js +1 -0
- package/dist/core/theme-contract.d.ts +32 -0
- package/dist/core/theme-contract.js +0 -0
- package/dist/core/tools/bash.d.ts +73 -0
- package/dist/core/tools/bash.js +21 -0
- package/dist/core/tools/edit-diff.d.ts +58 -0
- package/dist/core/tools/edit-diff.js +16 -0
- package/dist/core/tools/edit.d.ts +46 -0
- package/dist/core/tools/edit.js +1 -0
- package/dist/core/tools/file-state-cache.d.ts +30 -0
- package/dist/core/tools/file-state-cache.js +1 -0
- package/dist/core/tools/find.d.ts +46 -0
- package/dist/core/tools/find.js +8 -0
- package/dist/core/tools/grep.d.ts +58 -0
- package/dist/core/tools/grep.js +13 -0
- package/dist/core/tools/index.d.ts +116 -0
- package/dist/core/tools/index.js +1 -0
- package/dist/core/tools/input-validation.d.ts +13 -0
- package/dist/core/tools/input-validation.js +1 -0
- package/dist/core/tools/ls.d.ts +45 -0
- package/dist/core/tools/ls.js +4 -0
- package/dist/core/tools/orchestrator.d.ts +76 -0
- package/dist/core/tools/orchestrator.js +1 -0
- package/dist/core/tools/path-utils.d.ts +7 -0
- package/dist/core/tools/path-utils.js +1 -0
- package/dist/core/tools/pdf-extract.d.ts +11 -0
- package/dist/core/tools/pdf-extract.js +1 -0
- package/dist/core/tools/read.d.ts +46 -0
- package/dist/core/tools/read.js +11 -0
- package/dist/core/tools/source.d.ts +78 -0
- package/dist/core/tools/source.js +1 -0
- package/dist/core/tools/time.d.ts +19 -0
- package/dist/core/tools/time.js +2 -0
- package/dist/core/tools/truncate.d.ts +66 -0
- package/dist/core/tools/truncate.js +5 -0
- package/dist/core/tools/write-guard.d.ts +2 -0
- package/dist/core/tools/write-guard.js +1 -0
- package/dist/core/tools/write.d.ts +36 -0
- package/dist/core/tools/write.js +1 -0
- package/dist/core/workspace/index.d.ts +8 -0
- package/dist/core/workspace/index.js +1 -0
- package/dist/core/workspace/worktree-manager.d.ts +73 -0
- package/dist/core/workspace/worktree-manager.js +3 -0
- package/dist/extensions/builtin/AGENT.md +115 -0
- package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.d.ts +9 -0
- package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.js +4 -0
- package/dist/extensions/builtin/ask-user-question/index.d.ts +8 -0
- package/dist/extensions/builtin/ask-user-question/index.js +1 -0
- package/dist/extensions/builtin/ask-user-question/prompt.d.ts +14 -0
- package/dist/extensions/builtin/ask-user-question/prompt.js +30 -0
- package/dist/extensions/builtin/ask-user-question/types.d.ts +69 -0
- package/dist/extensions/builtin/ask-user-question/types.js +1 -0
- package/dist/extensions/builtin/browser/AGENT.md +17 -0
- package/dist/extensions/builtin/browser/agent-workspace/agent_helpers.py +12 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/amazon/product-search.md +198 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/archive-org/scraping.md +341 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/arxiv/scraping.md +311 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/arxiv-bulk/scraping.md +333 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/atlas/overview.md +70 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/booking-com/scraping.md +578 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/capterra/scraping.md +440 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/centilebrain/generate-estimates.md +110 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coingecko/scraping.md +325 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coinmarketcap/scraping.md +463 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coursera/scraping.md +360 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/craigslist/scraping.md +390 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/crossref/scraping.md +568 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/dev-to/scraping.md +323 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/duckduckgo/scraping.md +349 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/ebay/scraping.md +435 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/etsy/scraping.md +506 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/eventbrite/scraping.md +363 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/expedia/automation.md +168 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/facebook/groups.md +236 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/facebook/pages.md +295 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/framer/editor.md +108 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/fred/scraping.md +493 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/g2/scraping.md +580 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/genius/scraping.md +511 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/github/repo-actions.md +65 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/github/scraping.md +184 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/glassdoor/scraping.md +543 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/gmail/compose.md +122 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/goodreads/scraping.md +461 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/gutenberg/scraping.md +383 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/hackernews/scraping.md +243 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/howlongtobeat/scraping.md +473 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/imdb/scraping.md +271 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/itch-io/scraping.md +436 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/job-boards/indeed-glassdoor.md +1021 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/letterboxd/scraping.md +349 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/linkedin/invitation-manager.md +109 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/loom/folder-enumeration.md +170 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/macrotrends/scraping.md +537 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/medium/article-hydration.md +120 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/medium/scraping.md +414 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/metacritic/scraping.md +477 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/musicbrainz/scraping.md +478 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/nasa/scraping.md +339 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/news-aggregation/multi-source.md +205 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/open-library/scraping.md +472 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/openalex/scraping.md +470 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/openstreetmap/scraping.md +490 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/package-registries/npm-pypi.md +478 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/polymarket/scraping.md +234 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/producthunt/scraping.md +307 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/pubmed/scraping.md +421 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/quora/scraping.md +364 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/rawg/scraping.md +352 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/reddit/scraping.md +124 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/rest-countries/scraping.md +233 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/sec-edgar/scraping.md +361 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/README.md +36 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/embedded-apps.md +72 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/knowledge-base.md +109 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/polaris-inputs.md +137 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/soundcloud/scraping.md +362 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/spotify/scraping.md +339 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/stackoverflow/scraping.md +435 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/steam/scraping.md +575 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/substack/scraping.md +338 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/thetechgeeks/pricing.md +52 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/tiktok/upload.md +107 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/tradingview/scraping.md +309 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/trello/boards-and-lists.md +88 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/trustpilot/scraping.md +375 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/walmart/scraping.md +444 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/wayback-machine/scraping.md +306 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/weather/scraping.md +398 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/wellfound/scraping.md +596 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/world-bank/scraping.md +356 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/xiaohongshu/scraping.md +84 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/youtube/scraping.md +418 -0
- package/dist/extensions/builtin/browser/agent-workspace/domain-skills/zillow/scraping.md +433 -0
- package/dist/extensions/builtin/browser/browser.md +73 -0
- package/dist/extensions/builtin/browser/index.d.ts +8 -0
- package/dist/extensions/builtin/browser/index.js +15 -0
- package/dist/extensions/builtin/browser/install.md +142 -0
- package/dist/extensions/builtin/browser/interaction-skills/connection.md +48 -0
- package/dist/extensions/builtin/browser/interaction-skills/cookies.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/cross-origin-iframes.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/dialogs.md +64 -0
- package/dist/extensions/builtin/browser/interaction-skills/downloads.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/drag-and-drop.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/dropdowns.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/iframes.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/network-requests.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/print-as-pdf.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/profile-sync.md +90 -0
- package/dist/extensions/builtin/browser/interaction-skills/screenshots.md +17 -0
- package/dist/extensions/builtin/browser/interaction-skills/scrolling.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/shadow-dom.md +3 -0
- package/dist/extensions/builtin/browser/interaction-skills/tabs.md +69 -0
- package/dist/extensions/builtin/browser/interaction-skills/uploads.md +1 -0
- package/dist/extensions/builtin/browser/interaction-skills/viewport.md +3 -0
- package/dist/extensions/builtin/browser/src/browser_harness/AGENT.md +15 -0
- package/dist/extensions/builtin/browser/src/browser_harness/__init__.py +8 -0
- package/dist/extensions/builtin/browser/src/browser_harness/_ipc.py +90 -0
- package/dist/extensions/builtin/browser/src/browser_harness/admin.py +722 -0
- package/dist/extensions/builtin/browser/src/browser_harness/daemon.py +328 -0
- package/dist/extensions/builtin/browser/src/browser_harness/helpers.py +396 -0
- package/dist/extensions/builtin/browser/src/browser_harness/run.py +103 -0
- package/dist/extensions/builtin/btw/index.d.ts +8 -0
- package/dist/extensions/builtin/btw/index.js +15 -0
- package/dist/extensions/builtin/debug/collectors.d.ts +96 -0
- package/dist/extensions/builtin/debug/collectors.js +7 -0
- package/dist/extensions/builtin/debug/index.d.ts +8 -0
- package/dist/extensions/builtin/debug/index.js +49 -0
- package/dist/extensions/builtin/diagnostics/diagnostic-buffer.d.ts +19 -0
- package/dist/extensions/builtin/diagnostics/diagnostic-buffer.js +1 -0
- package/dist/extensions/builtin/diagnostics/index.d.ts +8 -0
- package/dist/extensions/builtin/diagnostics/index.js +1 -0
- package/dist/extensions/builtin/diagnostics/redaction.d.ts +8 -0
- package/dist/extensions/builtin/diagnostics/redaction.js +1 -0
- package/dist/extensions/builtin/diagnostics/reporter.d.ts +17 -0
- package/dist/extensions/builtin/diagnostics/reporter.js +1 -0
- package/dist/extensions/builtin/diagnostics/types.d.ts +62 -0
- package/dist/extensions/builtin/diagnostics/types.js +1 -0
- package/dist/extensions/builtin/discipline/index.d.ts +8 -0
- package/dist/extensions/builtin/discipline/index.js +7 -0
- package/dist/extensions/builtin/discipline/skills/brainstorming/SKILL.md +33 -0
- package/dist/extensions/builtin/discipline/skills/executing-plans/SKILL.md +25 -0
- package/dist/extensions/builtin/discipline/skills/finishing-development-branch/SKILL.md +25 -0
- package/dist/extensions/builtin/discipline/skills/receiving-code-review/SKILL.md +22 -0
- package/dist/extensions/builtin/discipline/skills/requesting-code-review/SKILL.md +31 -0
- package/dist/extensions/builtin/discipline/skills/systematic-debugging/SKILL.md +28 -0
- package/dist/extensions/builtin/discipline/skills/test-driven-development/SKILL.md +32 -0
- package/dist/extensions/builtin/discipline/skills/using-git-worktrees/SKILL.md +25 -0
- package/dist/extensions/builtin/discipline/skills/verification-before-completion/SKILL.md +27 -0
- package/dist/extensions/builtin/discipline/skills/writing-plans/SKILL.md +26 -0
- package/dist/extensions/builtin/goal/README.md +67 -0
- package/dist/extensions/builtin/goal/goal-command.d.ts +13 -0
- package/dist/extensions/builtin/goal/goal-command.js +9 -0
- package/dist/extensions/builtin/goal/goal-controller.d.ts +143 -0
- package/dist/extensions/builtin/goal/goal-controller.js +1 -0
- package/dist/extensions/builtin/goal/goal-format.d.ts +52 -0
- package/dist/extensions/builtin/goal/goal-format.js +1 -0
- package/dist/extensions/builtin/goal/goal-parser.d.ts +27 -0
- package/dist/extensions/builtin/goal/goal-parser.js +2 -0
- package/dist/extensions/builtin/goal/goal-prompts.d.ts +15 -0
- package/dist/extensions/builtin/goal/goal-prompts.js +5 -0
- package/dist/extensions/builtin/goal/goal-store.d.ts +28 -0
- package/dist/extensions/builtin/goal/goal-store.js +1 -0
- package/dist/extensions/builtin/goal/goal-tools.d.ts +26 -0
- package/dist/extensions/builtin/goal/goal-tools.js +3 -0
- package/dist/extensions/builtin/goal/goal-types.d.ts +87 -0
- package/dist/extensions/builtin/goal/goal-types.js +1 -0
- package/dist/extensions/builtin/goal/index.d.ts +8 -0
- package/dist/extensions/builtin/goal/index.js +10 -0
- package/dist/extensions/builtin/grub/README.md +112 -0
- package/dist/extensions/builtin/grub/grub-controller.d.ts +67 -0
- package/dist/extensions/builtin/grub/grub-controller.js +1 -0
- package/dist/extensions/builtin/grub/grub-decision.d.ts +8 -0
- package/dist/extensions/builtin/grub/grub-decision.js +1 -0
- package/dist/extensions/builtin/grub/grub-feature-list.d.ts +54 -0
- package/dist/extensions/builtin/grub/grub-feature-list.js +2 -0
- package/dist/extensions/builtin/grub/grub-format.d.ts +13 -0
- package/dist/extensions/builtin/grub/grub-format.js +4 -0
- package/dist/extensions/builtin/grub/grub-harness.d.ts +9 -0
- package/dist/extensions/builtin/grub/grub-harness.js +3 -0
- package/dist/extensions/builtin/grub/grub-i18n.d.ts +166 -0
- package/dist/extensions/builtin/grub/grub-i18n.js +1 -0
- package/dist/extensions/builtin/grub/grub-parser.d.ts +24 -0
- package/dist/extensions/builtin/grub/grub-parser.js +2 -0
- package/dist/extensions/builtin/grub/grub-persistence.d.ts +17 -0
- package/dist/extensions/builtin/grub/grub-persistence.js +2 -0
- package/dist/extensions/builtin/grub/grub-prompts.d.ts +12 -0
- package/dist/extensions/builtin/grub/grub-prompts.js +97 -0
- package/dist/extensions/builtin/grub/grub-turn.d.ts +16 -0
- package/dist/extensions/builtin/grub/grub-turn.js +1 -0
- package/dist/extensions/builtin/grub/grub-types.d.ts +110 -0
- package/dist/extensions/builtin/grub/grub-types.js +1 -0
- package/dist/extensions/builtin/grub/index.d.ts +8 -0
- package/dist/extensions/builtin/grub/index.js +6 -0
- package/dist/extensions/builtin/idle-think/curiosity.d.ts +46 -0
- package/dist/extensions/builtin/idle-think/curiosity.js +2 -0
- package/dist/extensions/builtin/idle-think/idle-think-runtime.d.ts +46 -0
- package/dist/extensions/builtin/idle-think/idle-think-runtime.js +1 -0
- package/dist/extensions/builtin/idle-think/index.d.ts +15 -0
- package/dist/extensions/builtin/idle-think/index.js +1 -0
- package/dist/extensions/builtin/idle-think/insights.d.ts +27 -0
- package/dist/extensions/builtin/idle-think/insights.js +5 -0
- package/dist/extensions/builtin/idle-think/thinker.d.ts +26 -0
- package/dist/extensions/builtin/idle-think/thinker.js +9 -0
- package/dist/extensions/builtin/insights/html-report.d.ts +21 -0
- package/dist/extensions/builtin/insights/html-report.js +463 -0
- package/dist/extensions/builtin/insights/index.d.ts +24 -0
- package/dist/extensions/builtin/insights/index.js +2 -0
- package/dist/extensions/builtin/insights/insights-engine.d.ts +18 -0
- package/dist/extensions/builtin/insights/insights-engine.js +39 -0
- package/dist/extensions/builtin/insights/prompts.d.ts +17 -0
- package/dist/extensions/builtin/insights/prompts.js +180 -0
- package/dist/extensions/builtin/insights/session-scanner.d.ts +27 -0
- package/dist/extensions/builtin/insights/session-scanner.js +19 -0
- package/dist/extensions/builtin/insights/stats.d.ts +13 -0
- package/dist/extensions/builtin/insights/stats.js +1 -0
- package/dist/extensions/builtin/insights/types.d.ts +199 -0
- package/dist/extensions/builtin/insights/types.js +0 -0
- package/dist/extensions/builtin/link-world/agent-workspace/README.md +16 -0
- package/dist/extensions/builtin/link-world/index.d.ts +8 -0
- package/dist/extensions/builtin/link-world/index.js +19 -0
- package/dist/extensions/builtin/link-world/internet-search/internet-search.md +65 -0
- package/dist/extensions/builtin/link-world/link-world-agent.md +82 -0
- package/dist/extensions/builtin/link-world/linkworld.md +313 -0
- package/dist/extensions/builtin/link-world/network-routing/network-routing.md +67 -0
- package/dist/extensions/builtin/loop/README.md +92 -0
- package/dist/extensions/builtin/loop/cron/cron-parser.d.ts +56 -0
- package/dist/extensions/builtin/loop/cron/cron-parser.js +1 -0
- package/dist/extensions/builtin/loop/cron/cron-scheduler.d.ts +85 -0
- package/dist/extensions/builtin/loop/cron/cron-scheduler.js +10 -0
- package/dist/extensions/builtin/loop/cron/cron-tasks-lock.d.ts +42 -0
- package/dist/extensions/builtin/loop/cron/cron-tasks-lock.js +1 -0
- package/dist/extensions/builtin/loop/cron/cron-tasks.d.ts +200 -0
- package/dist/extensions/builtin/loop/cron/cron-tasks.js +2 -0
- package/dist/extensions/builtin/loop/cron/index.d.ts +18 -0
- package/dist/extensions/builtin/loop/cron/index.js +1 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.d.ts +35 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.js +1 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.d.ts +29 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.js +1 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.d.ts +25 -0
- package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.js +2 -0
- package/dist/extensions/builtin/loop/cron-tools/index.d.ts +16 -0
- package/dist/extensions/builtin/loop/cron-tools/index.js +1 -0
- package/dist/extensions/builtin/loop/cron-tools/prompt.d.ts +35 -0
- package/dist/extensions/builtin/loop/cron-tools/prompt.js +38 -0
- package/dist/extensions/builtin/loop/index.d.ts +19 -0
- package/dist/extensions/builtin/loop/index.js +2 -0
- package/dist/extensions/builtin/loop/loop-skill.d.ts +18 -0
- package/dist/extensions/builtin/loop/loop-skill.js +58 -0
- package/dist/extensions/builtin/lsp/index.d.ts +8 -0
- package/dist/extensions/builtin/lsp/index.js +1 -0
- package/dist/extensions/builtin/lsp/lsp-client.d.ts +22 -0
- package/dist/extensions/builtin/lsp/lsp-client.js +1 -0
- package/dist/extensions/builtin/lsp/lsp-config.d.ts +8 -0
- package/dist/extensions/builtin/lsp/lsp-config.js +1 -0
- package/dist/extensions/builtin/lsp/lsp-formatters.d.ts +15 -0
- package/dist/extensions/builtin/lsp/lsp-formatters.js +18 -0
- package/dist/extensions/builtin/lsp/lsp-server-instance.d.ts +24 -0
- package/dist/extensions/builtin/lsp/lsp-server-instance.js +1 -0
- package/dist/extensions/builtin/lsp/lsp-server-manager.d.ts +21 -0
- package/dist/extensions/builtin/lsp/lsp-server-manager.js +1 -0
- package/dist/extensions/builtin/lsp/lsp-tool.d.ts +33 -0
- package/dist/extensions/builtin/lsp/lsp-tool.js +2 -0
- package/dist/extensions/builtin/lsp/types.d.ts +31 -0
- package/dist/extensions/builtin/lsp/types.js +1 -0
- package/dist/extensions/builtin/mcp/figma-design.md +68 -0
- package/dist/extensions/builtin/mcp/index.d.ts +14 -0
- package/dist/extensions/builtin/mcp/index.js +25 -0
- package/dist/extensions/builtin/mcp/mcp-management.md +85 -0
- package/dist/extensions/builtin/plan/clear-context-state.d.ts +8 -0
- package/dist/extensions/builtin/plan/clear-context-state.js +1 -0
- package/dist/extensions/builtin/plan/enter-plan-mode-tool.d.ts +11 -0
- package/dist/extensions/builtin/plan/enter-plan-mode-tool.js +2 -0
- package/dist/extensions/builtin/plan/exit-plan-mode-tool.d.ts +18 -0
- package/dist/extensions/builtin/plan/exit-plan-mode-tool.js +13 -0
- package/dist/extensions/builtin/plan/index.d.ts +8 -0
- package/dist/extensions/builtin/plan/index.js +24 -0
- package/dist/extensions/builtin/plan/plan-agents.d.ts +23 -0
- package/dist/extensions/builtin/plan/plan-agents.js +43 -0
- package/dist/extensions/builtin/plan/plan-file-manager.d.ts +26 -0
- package/dist/extensions/builtin/plan/plan-file-manager.js +1 -0
- package/dist/extensions/builtin/plan/plan-permissions.d.ts +15 -0
- package/dist/extensions/builtin/plan/plan-permissions.js +12 -0
- package/dist/extensions/builtin/plan/plan-validation.d.ts +18 -0
- package/dist/extensions/builtin/plan/plan-validation.js +5 -0
- package/dist/extensions/builtin/plan/plan-workflow-prompt.d.ts +18 -0
- package/dist/extensions/builtin/plan/plan-workflow-prompt.js +102 -0
- package/dist/extensions/builtin/plan/teammate-approval.d.ts +49 -0
- package/dist/extensions/builtin/plan/teammate-approval.js +3 -0
- package/dist/extensions/builtin/plan/types.d.ts +133 -0
- package/dist/extensions/builtin/plan/types.js +1 -0
- package/dist/extensions/builtin/presence/index.d.ts +40 -0
- package/dist/extensions/builtin/presence/index.js +15 -0
- package/dist/extensions/builtin/presence/presence-memory.d.ts +47 -0
- package/dist/extensions/builtin/presence/presence-memory.js +1 -0
- package/dist/extensions/builtin/recap/AGENT.md +15 -0
- package/dist/extensions/builtin/recap/index.d.ts +8 -0
- package/dist/extensions/builtin/recap/index.js +1 -0
- package/dist/extensions/builtin/recap/recap-budget.d.ts +24 -0
- package/dist/extensions/builtin/recap/recap-budget.js +1 -0
- package/dist/extensions/builtin/recap/recap-extractor.d.ts +34 -0
- package/dist/extensions/builtin/recap/recap-extractor.js +3 -0
- package/dist/extensions/builtin/recap/recap-renderer.d.ts +19 -0
- package/dist/extensions/builtin/recap/recap-renderer.js +2 -0
- package/dist/extensions/builtin/recap/recap-synthesizer.d.ts +51 -0
- package/dist/extensions/builtin/recap/recap-synthesizer.js +19 -0
- package/dist/extensions/builtin/recap/recap-types.d.ts +40 -0
- package/dist/extensions/builtin/recap/recap-types.js +1 -0
- package/dist/extensions/builtin/sal/README.md +72 -0
- package/dist/extensions/builtin/sal/anchors.d.ts +46 -0
- package/dist/extensions/builtin/sal/anchors.js +1 -0
- package/dist/extensions/builtin/sal/eval/index.d.ts +18 -0
- package/dist/extensions/builtin/sal/eval/index.js +1 -0
- package/dist/extensions/builtin/sal/eval/insforge-sink.d.ts +30 -0
- package/dist/extensions/builtin/sal/eval/insforge-sink.js +1 -0
- package/dist/extensions/builtin/sal/eval/jsonl-sink.d.ts +27 -0
- package/dist/extensions/builtin/sal/eval/jsonl-sink.js +3 -0
- package/dist/extensions/builtin/sal/eval/noop-sink.d.ts +8 -0
- package/dist/extensions/builtin/sal/eval/noop-sink.js +1 -0
- package/dist/extensions/builtin/sal/eval/types.d.ts +60 -0
- package/dist/extensions/builtin/sal/eval/types.js +1 -0
- package/dist/extensions/builtin/sal/index.d.ts +12 -0
- package/dist/extensions/builtin/sal/index.js +7 -0
- package/dist/extensions/builtin/sal/sal-config.d.ts +46 -0
- package/dist/extensions/builtin/sal/sal-config.js +1 -0
- package/dist/extensions/builtin/sal/sal-context.d.ts +11 -0
- package/dist/extensions/builtin/sal/sal-context.js +2 -0
- package/dist/extensions/builtin/sal/sal-runtime.d.ts +72 -0
- package/dist/extensions/builtin/sal/sal-runtime.js +0 -0
- package/dist/extensions/builtin/sal/sal-trace.d.ts +11 -0
- package/dist/extensions/builtin/sal/sal-trace.js +1 -0
- package/dist/extensions/builtin/sal/terrain.d.ts +73 -0
- package/dist/extensions/builtin/sal/terrain.js +3 -0
- package/dist/extensions/builtin/sal/weights.d.ts +28 -0
- package/dist/extensions/builtin/sal/weights.js +1 -0
- package/dist/extensions/builtin/security-audit/README.md +289 -0
- package/dist/extensions/builtin/security-audit/engine/detector.d.ts +44 -0
- package/dist/extensions/builtin/security-audit/engine/detector.js +1 -0
- package/dist/extensions/builtin/security-audit/engine/interceptor.d.ts +61 -0
- package/dist/extensions/builtin/security-audit/engine/interceptor.js +27 -0
- package/dist/extensions/builtin/security-audit/engine/logger.d.ts +65 -0
- package/dist/extensions/builtin/security-audit/engine/logger.js +65 -0
- package/dist/extensions/builtin/security-audit/index.d.ts +13 -0
- package/dist/extensions/builtin/security-audit/index.js +49 -0
- package/dist/extensions/builtin/security-audit/interface.d.ts +167 -0
- package/dist/extensions/builtin/security-audit/interface.js +1 -0
- package/dist/extensions/builtin/soul/index.d.ts +13 -0
- package/dist/extensions/builtin/soul/index.js +1 -0
- package/dist/extensions/builtin/subagent/index.d.ts +8 -0
- package/dist/extensions/builtin/subagent/index.js +8 -0
- package/dist/extensions/builtin/subagent/subagent-parser.d.ts +30 -0
- package/dist/extensions/builtin/subagent/subagent-parser.js +15 -0
- package/dist/extensions/builtin/subagent/subagent-runner.d.ts +49 -0
- package/dist/extensions/builtin/subagent/subagent-runner.js +8 -0
- package/dist/extensions/builtin/subagent/subagent-types.d.ts +57 -0
- package/dist/extensions/builtin/subagent/subagent-types.js +0 -0
- package/dist/extensions/builtin/task/index.d.ts +8 -0
- package/dist/extensions/builtin/task/index.js +1 -0
- package/dist/extensions/builtin/task/task-store.d.ts +42 -0
- package/dist/extensions/builtin/task/task-store.js +1 -0
- package/dist/extensions/builtin/task/task-tools/task-create-tool.d.ts +37 -0
- package/dist/extensions/builtin/task/task-tools/task-create-tool.js +40 -0
- package/dist/extensions/builtin/task/task-tools/task-get-tool.d.ts +31 -0
- package/dist/extensions/builtin/task/task-tools/task-get-tool.js +23 -0
- package/dist/extensions/builtin/task/task-tools/task-list-tool.d.ts +27 -0
- package/dist/extensions/builtin/task/task-tools/task-list-tool.js +22 -0
- package/dist/extensions/builtin/task/task-tools/task-output-tool.d.ts +32 -0
- package/dist/extensions/builtin/task/task-tools/task-output-tool.js +10 -0
- package/dist/extensions/builtin/task/task-tools/task-stop-tool.d.ts +31 -0
- package/dist/extensions/builtin/task/task-tools/task-stop-tool.js +5 -0
- package/dist/extensions/builtin/task/task-tools/task-update-tool.d.ts +47 -0
- package/dist/extensions/builtin/task/task-tools/task-update-tool.js +77 -0
- package/dist/extensions/builtin/task/task-tools/tool-search-tool.d.ts +34 -0
- package/dist/extensions/builtin/task/task-tools/tool-search-tool.js +14 -0
- package/dist/extensions/builtin/task/task-types.d.ts +30 -0
- package/dist/extensions/builtin/task/task-types.js +1 -0
- package/dist/extensions/builtin/teach/README.md +197 -0
- package/dist/extensions/builtin/teach/index.d.ts +12 -0
- package/dist/extensions/builtin/teach/index.js +6 -0
- package/dist/extensions/builtin/teach/references/analogy-library.md +153 -0
- package/dist/extensions/builtin/teach/references/learning-paths.md +214 -0
- package/dist/extensions/builtin/teach/references/source-verification.md +268 -0
- package/dist/extensions/builtin/teach/references/teaching-template.md +237 -0
- package/dist/extensions/builtin/teach/teach-format.d.ts +35 -0
- package/dist/extensions/builtin/teach/teach-format.js +6 -0
- package/dist/extensions/builtin/teach/teach-i18n.d.ts +47 -0
- package/dist/extensions/builtin/teach/teach-i18n.js +1 -0
- package/dist/extensions/builtin/teach/teach-persistence.d.ts +36 -0
- package/dist/extensions/builtin/teach/teach-persistence.js +35 -0
- package/dist/extensions/builtin/teach/teach-prompts.d.ts +52 -0
- package/dist/extensions/builtin/teach/teach-prompts.js +35 -0
- package/dist/extensions/builtin/teach/teach-runtime.d.ts +93 -0
- package/dist/extensions/builtin/teach/teach-runtime.js +9 -0
- package/dist/extensions/builtin/teach/teach-types.d.ts +81 -0
- package/dist/extensions/builtin/teach/teach-types.js +0 -0
- package/dist/extensions/builtin/team/AGENT.md +112 -0
- package/dist/extensions/builtin/team/TESTING.md +299 -0
- package/dist/extensions/builtin/team/index.d.ts +26 -0
- package/dist/extensions/builtin/team/index.js +11 -0
- package/dist/extensions/builtin/team/team-dashboard.d.ts +13 -0
- package/dist/extensions/builtin/team/team-dashboard.js +1 -0
- package/dist/extensions/builtin/team/team-harness.d.ts +35 -0
- package/dist/extensions/builtin/team/team-harness.js +18 -0
- package/dist/extensions/builtin/team/team-mailbox.d.ts +50 -0
- package/dist/extensions/builtin/team/team-mailbox.js +4 -0
- package/dist/extensions/builtin/team/team-orchestrator.d.ts +39 -0
- package/dist/extensions/builtin/team/team-orchestrator.js +5 -0
- package/dist/extensions/builtin/team/team-parser.d.ts +84 -0
- package/dist/extensions/builtin/team/team-parser.js +38 -0
- package/dist/extensions/builtin/team/team-permissions.d.ts +63 -0
- package/dist/extensions/builtin/team/team-permissions.js +1 -0
- package/dist/extensions/builtin/team/team-presets.d.ts +45 -0
- package/dist/extensions/builtin/team/team-presets.js +2 -0
- package/dist/extensions/builtin/team/team-psyche.d.ts +14 -0
- package/dist/extensions/builtin/team/team-psyche.js +5 -0
- package/dist/extensions/builtin/team/team-runtime-helpers.d.ts +48 -0
- package/dist/extensions/builtin/team/team-runtime-helpers.js +2 -0
- package/dist/extensions/builtin/team/team-runtime.d.ts +91 -0
- package/dist/extensions/builtin/team/team-runtime.js +3 -0
- package/dist/extensions/builtin/team/team-state-store.d.ts +29 -0
- package/dist/extensions/builtin/team/team-state-store.js +2 -0
- package/dist/extensions/builtin/team/team-task-store.d.ts +35 -0
- package/dist/extensions/builtin/team/team-task-store.js +2 -0
- package/dist/extensions/builtin/team/team-transcript.d.ts +31 -0
- package/dist/extensions/builtin/team/team-transcript.js +2 -0
- package/dist/extensions/builtin/team/team-types.d.ts +250 -0
- package/dist/extensions/builtin/team/team-types.js +0 -0
- package/dist/extensions/builtin/team/team-ui.d.ts +50 -0
- package/dist/extensions/builtin/team/team-ui.js +2 -0
- package/dist/extensions/builtin/token-save/README.md +56 -0
- package/dist/extensions/builtin/token-save/config.d.ts +8 -0
- package/dist/extensions/builtin/token-save/config.js +1 -0
- package/dist/extensions/builtin/token-save/filters.d.ts +14 -0
- package/dist/extensions/builtin/token-save/filters.js +24 -0
- package/dist/extensions/builtin/token-save/index.d.ts +8 -0
- package/dist/extensions/builtin/token-save/index.js +4 -0
- package/dist/extensions/builtin/token-save/lexer.d.ts +11 -0
- package/dist/extensions/builtin/token-save/lexer.js +1 -0
- package/dist/extensions/builtin/token-save/recovery.d.ts +1 -0
- package/dist/extensions/builtin/token-save/recovery.js +1 -0
- package/dist/extensions/builtin/token-save/rewrite.d.ts +19 -0
- package/dist/extensions/builtin/token-save/rewrite.js +1 -0
- package/dist/extensions/builtin/token-save/runner.d.ts +14 -0
- package/dist/extensions/builtin/token-save/runner.js +3 -0
- package/dist/extensions/builtin/token-save/stream.d.ts +20 -0
- package/dist/extensions/builtin/token-save/stream.js +1 -0
- package/dist/extensions/builtin/token-save/toml-dsl.d.ts +25 -0
- package/dist/extensions/builtin/token-save/toml-dsl.js +3 -0
- package/dist/extensions/builtin/token-save/tracking.d.ts +24 -0
- package/dist/extensions/builtin/token-save/tracking.js +8 -0
- package/dist/extensions/optional/AGENT.md +11 -0
- package/dist/extensions/optional/export-html/index.d.ts +41 -0
- package/dist/extensions/optional/export-html/index.js +2 -0
- package/dist/extensions/optional/simplify/index.d.ts +35 -0
- package/dist/extensions/optional/simplify/index.js +77 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +1 -0
- package/dist/main.d.ts +7 -0
- package/dist/main.js +41 -0
- package/dist/migrations.d.ts +30 -0
- package/dist/migrations.js +4 -0
- package/dist/models.d.ts +7 -0
- package/dist/models.js +1 -0
- package/dist/modes/acp/acp-mode.d.ts +30 -0
- package/dist/modes/acp/acp-mode.js +25 -0
- package/dist/modes/index.d.ts +14 -0
- package/dist/modes/index.js +1 -0
- package/dist/modes/interactive/agent-loop-status.d.ts +8 -0
- package/dist/modes/interactive/agent-loop-status.js +1 -0
- package/dist/modes/interactive/components/apikey-input.d.ts +10 -0
- package/dist/modes/interactive/components/apikey-input.js +3 -0
- package/dist/modes/interactive/components/armin.d.ts +39 -0
- package/dist/modes/interactive/components/armin.js +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +21 -0
- package/dist/modes/interactive/components/assistant-message.js +1 -0
- package/dist/modes/interactive/components/attachments-bar.d.ts +37 -0
- package/dist/modes/interactive/components/attachments-bar.js +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +40 -0
- package/dist/modes/interactive/components/bash-execution.js +13 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +21 -0
- package/dist/modes/interactive/components/bordered-loader.js +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +21 -0
- package/dist/modes/interactive/components/branch-summary-message.js +3 -0
- package/dist/modes/interactive/components/buddy/pet-sprites.d.ts +31 -0
- package/dist/modes/interactive/components/buddy/pet-sprites.js +1 -0
- package/dist/modes/interactive/components/catui-loader.d.ts +55 -0
- package/dist/modes/interactive/components/catui-loader.js +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +21 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +3 -0
- package/dist/modes/interactive/components/config-selector.d.ts +76 -0
- package/dist/modes/interactive/components/config-selector.js +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +19 -0
- package/dist/modes/interactive/components/countdown-timer.js +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +37 -0
- package/dist/modes/interactive/components/custom-editor.js +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +26 -0
- package/dist/modes/interactive/components/custom-message.js +2 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +28 -0
- package/dist/modes/interactive/components/daxnuts.js +1 -0
- package/dist/modes/interactive/components/diff.d.ts +17 -0
- package/dist/modes/interactive/components/diff.js +3 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +20 -0
- package/dist/modes/interactive/components/dynamic-border.js +1 -0
- package/dist/modes/interactive/components/editor-buddy-layout.d.ts +17 -0
- package/dist/modes/interactive/components/editor-buddy-layout.js +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +25 -0
- package/dist/modes/interactive/components/extension-editor.js +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +29 -0
- package/dist/modes/interactive/components/extension-input.js +2 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +32 -0
- package/dist/modes/interactive/components/extension-selector.js +2 -0
- package/dist/modes/interactive/components/footer.d.ts +34 -0
- package/dist/modes/interactive/components/footer.js +1 -0
- package/dist/modes/interactive/components/index.d.ts +44 -0
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +46 -0
- package/dist/modes/interactive/components/keybinding-hints.js +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +47 -0
- package/dist/modes/interactive/components/login-dialog.js +1 -0
- package/dist/modes/interactive/components/memory-stats.d.ts +14 -0
- package/dist/modes/interactive/components/memory-stats.js +2 -0
- package/dist/modes/interactive/components/model-selector.d.ts +59 -0
- package/dist/modes/interactive/components/model-selector.js +2 -0
- package/dist/modes/interactive/components/notification-queue.d.ts +49 -0
- package/dist/modes/interactive/components/notification-queue.js +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +30 -0
- package/dist/modes/interactive/components/oauth-selector.js +1 -0
- package/dist/modes/interactive/components/persona-selector.d.ts +24 -0
- package/dist/modes/interactive/components/persona-selector.js +1 -0
- package/dist/modes/interactive/components/plan-progress-panel.d.ts +24 -0
- package/dist/modes/interactive/components/plan-progress-panel.js +1 -0
- package/dist/modes/interactive/components/provider-selector.d.ts +25 -0
- package/dist/modes/interactive/components/provider-selector.js +1 -0
- package/dist/modes/interactive/components/raw-text.d.ts +19 -0
- package/dist/modes/interactive/components/raw-text.js +3 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +54 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +28 -0
- package/dist/modes/interactive/components/session-selector-search.js +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +100 -0
- package/dist/modes/interactive/components/session-selector.js +2 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +77 -0
- package/dist/modes/interactive/components/settings-selector.js +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +15 -0
- package/dist/modes/interactive/components/show-images-selector.js +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +22 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +3 -0
- package/dist/modes/interactive/components/soul-stats.d.ts +15 -0
- package/dist/modes/interactive/components/soul-stats.js +2 -0
- package/dist/modes/interactive/components/sub-agent-panel.d.ts +24 -0
- package/dist/modes/interactive/components/sub-agent-panel.js +1 -0
- package/dist/modes/interactive/components/task-status-panel.d.ts +36 -0
- package/dist/modes/interactive/components/task-status-panel.js +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +16 -0
- package/dist/modes/interactive/components/theme-selector.js +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +16 -0
- package/dist/modes/interactive/components/thinking-selector.js +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +80 -0
- package/dist/modes/interactive/components/tool-execution.js +58 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +73 -0
- package/dist/modes/interactive/components/tree-selector.js +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +35 -0
- package/dist/modes/interactive/components/user-message-selector.js +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +13 -0
- package/dist/modes/interactive/components/user-message.js +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +29 -0
- package/dist/modes/interactive/components/visual-truncate.js +1 -0
- package/dist/modes/interactive/controllers/auth-provider-config-controller.d.ts +64 -0
- package/dist/modes/interactive/controllers/auth-provider-config-controller.js +1 -0
- package/dist/modes/interactive/controllers/extension-ui/custom-overlay-host.d.ts +38 -0
- package/dist/modes/interactive/controllers/extension-ui/custom-overlay-host.js +1 -0
- package/dist/modes/interactive/controllers/extension-ui/editor-component-adapter.d.ts +37 -0
- package/dist/modes/interactive/controllers/extension-ui/editor-component-adapter.js +1 -0
- package/dist/modes/interactive/controllers/extension-ui/persistent-surface-registry.d.ts +53 -0
- package/dist/modes/interactive/controllers/extension-ui/persistent-surface-registry.js +1 -0
- package/dist/modes/interactive/controllers/extension-ui/prompt-host.d.ts +52 -0
- package/dist/modes/interactive/controllers/extension-ui/prompt-host.js +2 -0
- package/dist/modes/interactive/controllers/image-pipeline-controller.d.ts +106 -0
- package/dist/modes/interactive/controllers/image-pipeline-controller.js +1 -0
- package/dist/modes/interactive/controllers/input-submit-controller.d.ts +80 -0
- package/dist/modes/interactive/controllers/input-submit-controller.js +2 -0
- package/dist/modes/interactive/controllers/interrupt-controller.d.ts +75 -0
- package/dist/modes/interactive/controllers/interrupt-controller.js +1 -0
- package/dist/modes/interactive/controllers/model-overlay-controller.d.ts +127 -0
- package/dist/modes/interactive/controllers/model-overlay-controller.js +3 -0
- package/dist/modes/interactive/controllers/self-update-controller.d.ts +71 -0
- package/dist/modes/interactive/controllers/self-update-controller.js +24 -0
- package/dist/modes/interactive/controllers/settings-overlay-controller.d.ts +56 -0
- package/dist/modes/interactive/controllers/settings-overlay-controller.js +2 -0
- package/dist/modes/interactive/controllers/slash-dispatcher-controller.d.ts +74 -0
- package/dist/modes/interactive/controllers/slash-dispatcher-controller.js +1 -0
- package/dist/modes/interactive/controllers/stream-render-controller.d.ts +110 -0
- package/dist/modes/interactive/controllers/stream-render-controller.js +2 -0
- package/dist/modes/interactive/controllers/tree-overlay-controller.d.ts +55 -0
- package/dist/modes/interactive/controllers/tree-overlay-controller.js +1 -0
- package/dist/modes/interactive/footer-data-provider.d.ts +32 -0
- package/dist/modes/interactive/footer-data-provider.js +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +303 -0
- package/dist/modes/interactive/interactive-mode.js +119 -0
- package/dist/modes/interactive/services/tips.d.ts +20 -0
- package/dist/modes/interactive/services/tips.js +1 -0
- package/dist/modes/interactive/slash-command-arguments.d.ts +28 -0
- package/dist/modes/interactive/slash-command-arguments.js +1 -0
- package/dist/modes/interactive/state/interactive-state.d.ts +74 -0
- package/dist/modes/interactive/state/interactive-state.js +1 -0
- package/dist/modes/interactive/theme/dark.json +85 -0
- package/dist/modes/interactive/theme/light.json +84 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +81 -0
- package/dist/modes/interactive/theme/theme.js +16 -0
- package/dist/modes/interactive/theme/warm.json +81 -0
- package/dist/modes/print-mode.d.ts +38 -0
- package/dist/modes/print-mode.js +2 -0
- package/dist/modes/rpc/rpc-client.d.ts +221 -0
- package/dist/modes/rpc/rpc-client.js +2 -0
- package/dist/modes/rpc/rpc-mode.d.ts +14 -0
- package/dist/modes/rpc/rpc-mode.js +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +449 -0
- package/dist/modes/rpc/rpc-types.js +0 -0
- package/dist/modes/utils/agent-loop-result-format.d.ts +10 -0
- package/dist/modes/utils/agent-loop-result-format.js +1 -0
- package/dist/modes/utils/clipboard-image.d.ts +10 -0
- package/dist/modes/utils/clipboard-image.js +1 -0
- package/dist/modes/utils/clipboard-native.d.ts +11 -0
- package/dist/modes/utils/clipboard-native.js +1 -0
- package/dist/modes/utils/clipboard.d.ts +1 -0
- package/dist/modes/utils/clipboard.js +1 -0
- package/dist/modes/utils/image-convert.d.ts +8 -0
- package/dist/modes/utils/image-convert.js +1 -0
- package/dist/modes/utils/image-resize.d.ts +41 -0
- package/dist/modes/utils/image-resize.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-loop-continuations.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-loop-stream-events.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-loop-tool-results.js +3 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-loop-tool-summaries.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-loop.js +4 -0
- package/dist/node_modules/@catui/agent-core/dist/agent-run-result.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/agent.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/errors.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/index.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/proxy.js +2 -0
- package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-agent-loop.js +2 -0
- package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-streaming-tool-executor.js +1 -0
- package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-tool-orchestration.js +3 -0
- package/dist/node_modules/@catui/agent-core/dist/types.js +1 -0
- package/dist/node_modules/@catui/agent-core/package.json +28 -0
- package/dist/node_modules/@catui/ai/dist/api-registry.js +1 -0
- package/dist/node_modules/@catui/ai/dist/cli.js +21 -0
- package/dist/node_modules/@catui/ai/dist/config-path.js +1 -0
- package/dist/node_modules/@catui/ai/dist/debug-logger.js +4 -0
- package/dist/node_modules/@catui/ai/dist/env-api-keys.js +1 -0
- package/dist/node_modules/@catui/ai/dist/env.js +1 -0
- package/dist/node_modules/@catui/ai/dist/events.js +1 -0
- package/dist/node_modules/@catui/ai/dist/index.js +1 -0
- package/dist/node_modules/@catui/ai/dist/json.js +1 -0
- package/dist/node_modules/@catui/ai/dist/models.generated.js +1 -0
- package/dist/node_modules/@catui/ai/dist/models.js +1 -0
- package/dist/node_modules/@catui/ai/dist/overflow.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/amazon-bedrock.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/anthropic.js +2 -0
- package/dist/node_modules/@catui/ai/dist/providers/azure-openai-responses.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/github-copilot-headers.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/google-gemini-cli.js +2 -0
- package/dist/node_modules/@catui/ai/dist/providers/google-shared.js +2 -0
- package/dist/node_modules/@catui/ai/dist/providers/google-vertex.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/google.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/openai-codex-responses.js +7 -0
- package/dist/node_modules/@catui/ai/dist/providers/openai-completions.js +6 -0
- package/dist/node_modules/@catui/ai/dist/providers/openai-responses-shared.js +10 -0
- package/dist/node_modules/@catui/ai/dist/providers/openai-responses.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/register-builtins.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/simple-options.js +1 -0
- package/dist/node_modules/@catui/ai/dist/providers/transform-messages.js +1 -0
- package/dist/node_modules/@catui/ai/dist/registry.js +1 -0
- package/dist/node_modules/@catui/ai/dist/schema.js +1 -0
- package/dist/node_modules/@catui/ai/dist/stream.js +1 -0
- package/dist/node_modules/@catui/ai/dist/types.js +0 -0
- package/dist/node_modules/@catui/ai/dist/utils/event-stream-types.js +0 -0
- package/dist/node_modules/@catui/ai/dist/utils/event-stream.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/http-proxy.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/json-parse.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/anthropic.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/decode-credential.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/github-copilot.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/google-antigravity.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/google-gemini-cli.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/index.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/openai-codex.js +11 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/pkce.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/oauth/types.js +0 -0
- package/dist/node_modules/@catui/ai/dist/utils/overflow.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/sanitize-unicode.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/typebox-helpers.js +1 -0
- package/dist/node_modules/@catui/ai/dist/utils/validation.js +6 -0
- package/dist/node_modules/@catui/ai/package.json +106 -0
- package/dist/node_modules/@catui/tui/dist/autocomplete.js +2 -0
- package/dist/node_modules/@catui/tui/dist/components/box.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/cached-container.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/cancellable-loader.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/editor.js +21 -0
- package/dist/node_modules/@catui/tui/dist/components/image.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/input.js +2 -0
- package/dist/node_modules/@catui/tui/dist/components/loader.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/markdown.js +7 -0
- package/dist/node_modules/@catui/tui/dist/components/select-list.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/settings-list.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/spacer.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/text.js +1 -0
- package/dist/node_modules/@catui/tui/dist/components/truncated-text.js +2 -0
- package/dist/node_modules/@catui/tui/dist/editor-component.js +0 -0
- package/dist/node_modules/@catui/tui/dist/fuzzy.js +1 -0
- package/dist/node_modules/@catui/tui/dist/index.js +1 -0
- package/dist/node_modules/@catui/tui/dist/keybindings.js +1 -0
- package/dist/node_modules/@catui/tui/dist/keys.js +5 -0
- package/dist/node_modules/@catui/tui/dist/kill-ring.js +1 -0
- package/dist/node_modules/@catui/tui/dist/stdin-buffer.js +1 -0
- package/dist/node_modules/@catui/tui/dist/terminal-image.js +1 -0
- package/dist/node_modules/@catui/tui/dist/terminal.js +1 -0
- package/dist/node_modules/@catui/tui/dist/tui.js +12 -0
- package/dist/node_modules/@catui/tui/dist/undo-stack.js +1 -0
- package/dist/node_modules/@catui/tui/dist/utils.js +2 -0
- package/dist/node_modules/@catui/tui/package.json +37 -0
- package/dist/packages/mem-core/src/store.d.ts +21 -0
- package/dist/packages/mem-core/src/store.js +1 -0
- package/dist/packages/mem-core/src/types.d.ts +329 -0
- package/dist/packages/mem-core/src/types.js +0 -0
- package/dist/packages/protocol/src/commands.d.ts +33 -0
- package/dist/packages/protocol/src/commands.js +0 -0
- package/dist/packages/protocol/src/flags.d.ts +20 -0
- package/dist/packages/protocol/src/flags.js +0 -0
- package/dist/packages/protocol/src/hooks.d.ts +17 -0
- package/dist/packages/protocol/src/hooks.js +0 -0
- package/dist/packages/protocol/src/index.d.ts +15 -0
- package/dist/packages/protocol/src/index.js +1 -0
- package/dist/packages/protocol/src/lifecycle.d.ts +61 -0
- package/dist/packages/protocol/src/lifecycle.js +0 -0
- package/dist/packages/protocol/src/tools.d.ts +77 -0
- package/dist/packages/protocol/src/tools.js +0 -0
- package/dist/packages/soul-core/src/config.d.ts +20 -0
- package/dist/packages/soul-core/src/config.js +1 -0
- package/dist/packages/soul-core/src/diagnostics.d.ts +23 -0
- package/dist/packages/soul-core/src/diagnostics.js +1 -0
- package/dist/packages/soul-core/src/evolution.d.ts +75 -0
- package/dist/packages/soul-core/src/evolution.js +1 -0
- package/dist/packages/soul-core/src/index.d.ts +13 -0
- package/dist/packages/soul-core/src/index.js +1 -0
- package/dist/packages/soul-core/src/injection.d.ts +35 -0
- package/dist/packages/soul-core/src/injection.js +8 -0
- package/dist/packages/soul-core/src/manager.d.ts +101 -0
- package/dist/packages/soul-core/src/manager.js +1 -0
- package/dist/packages/soul-core/src/store.d.ts +62 -0
- package/dist/packages/soul-core/src/store.js +1 -0
- package/dist/packages/soul-core/src/types.d.ts +317 -0
- package/dist/packages/soul-core/src/types.js +0 -0
- package/dist/public-config.d.ts +12 -0
- package/dist/public-config.js +1 -0
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.js +1 -0
- package/dist/session-compaction.d.ts +7 -0
- package/dist/session-compaction.js +1 -0
- package/dist/session.d.ts +7 -0
- package/dist/session.js +1 -0
- package/dist/skills.d.ts +7 -0
- package/dist/skills.js +1 -0
- package/dist/tools.d.ts +7 -0
- package/dist/tools.js +1 -0
- package/dist/utils/changelog.d.ts +20 -0
- package/dist/utils/changelog.js +4 -0
- package/dist/utils/diagnostics.d.ts +37 -0
- package/dist/utils/diagnostics.js +1 -0
- package/dist/utils/frontmatter.d.ts +7 -0
- package/dist/utils/frontmatter.js +4 -0
- package/dist/utils/git.d.ts +25 -0
- package/dist/utils/git.js +1 -0
- package/dist/utils/mime.d.ts +1 -0
- package/dist/utils/mime.js +1 -0
- package/dist/utils/photon.d.ts +6 -0
- package/dist/utils/photon.js +1 -0
- package/dist/utils/startup-profiler.d.ts +87 -0
- package/dist/utils/startup-profiler.js +2 -0
- package/docs/codex-goal-command-impl.md +1055 -0
- package/docs/codex-goal-vs-grub.md +500 -0
- package/docs/custom-provider.md +27 -0
- package/docs/extensions.md +27 -0
- package/docs/keybindings.md +27 -0
- package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/200/273/347/273/223.md" +251 -0
- package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/212/245/345/221/212.md" +123 -0
- package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210.md" +1222 -0
- package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/256/236/347/216/260/346/212/245/345/221/212.md" +158 -0
- package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/257/271/346/257/224/345/210/206/346/236/220.md" +128 -0
- package/docs/loop /351/207/215/346/236/204/350/256/241/345/210/222.md" +321 -0
- package/docs/loop-usage-examples.md +215 -0
- package/docs/models.md +27 -0
- package/docs/packages.md +27 -0
- package/docs/pi-design-philosophy.md +457 -0
- package/docs/planmode.md +1987 -0
- package/docs/prompt-templates.md +27 -0
- package/docs/providers.md +27 -0
- package/docs/sdk.md +27 -0
- package/docs/skills.md +27 -0
- package/docs/themes.md +27 -0
- package/docs/tui.md +27 -0
- package/package.json +191 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides ModelController, CycleModelError, ModelCycleResult — model + thinking-level management
|
|
3
|
+
* [FROM]: Depends on @catui/ai (Model, modelsAreEqual), @catui/agent-core (types),
|
|
4
|
+
* ./session-context (ModelControllerContext), ./thinking-levels, ./model-cycle
|
|
5
|
+
* [TO]: Consumed by core/runtime/agent-session.ts (constructs one, delegates the public methods)
|
|
6
|
+
* [HERE]: core/runtime/agent-session.ts split — owns setModel/cycleModel and thinking-level methods
|
|
7
|
+
*
|
|
8
|
+
* Extracted from AgentSession (S2 controller). Session state is reached through narrow
|
|
9
|
+
* ModelControllerContext capabilities; behavior is identical to the former AgentSession methods.
|
|
10
|
+
*/
|
|
11
|
+
import type { AgentLoopFrameworkInput, AgentLoopPolicyOptions, ThinkingLevel } from "@catui/agent-core";
|
|
12
|
+
import type { Model } from "@catui/ai/types";
|
|
13
|
+
import type { ModelControllerContext } from "./session-context.js";
|
|
14
|
+
/** Result of cycling the model. */
|
|
15
|
+
export interface ModelCycleResult {
|
|
16
|
+
model: Model<any>;
|
|
17
|
+
thinkingLevel: ThinkingLevel;
|
|
18
|
+
isScoped: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** Raised when cycling cannot find a usable model (e.g. all OAuth tokens expired). */
|
|
21
|
+
export declare class CycleModelError extends Error {
|
|
22
|
+
readonly provider?: string | undefined;
|
|
23
|
+
readonly code?: "oauth_expired" | "no_valid_key" | "api_error" | undefined;
|
|
24
|
+
constructor(message: string, provider?: string | undefined, code?: "oauth_expired" | "no_valid_key" | "api_error" | undefined);
|
|
25
|
+
}
|
|
26
|
+
export declare class ModelController {
|
|
27
|
+
private readonly ctx;
|
|
28
|
+
constructor(ctx: ModelControllerContext);
|
|
29
|
+
private _emitModelSelect;
|
|
30
|
+
/**
|
|
31
|
+
* Apply a model change: persist to session + settings, set the thinking level
|
|
32
|
+
* (explicit when given, otherwise auto-picked from capabilities), and emit
|
|
33
|
+
* model_select. Shared by setModel and the cycle paths.
|
|
34
|
+
*/
|
|
35
|
+
private _applyModelChange;
|
|
36
|
+
/**
|
|
37
|
+
* Set model directly. Validates API key, saves to session and settings.
|
|
38
|
+
* @throws Error if no API key available for the model
|
|
39
|
+
*/
|
|
40
|
+
setModel(model: Model<any>): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Restore a model from session history without appending a new model-change
|
|
43
|
+
* entry or changing default settings.
|
|
44
|
+
*/
|
|
45
|
+
restoreModel(model: Model<any>): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Restore thinking state while switching/resuming a session.
|
|
48
|
+
*
|
|
49
|
+
* When the session has an explicit thinking entry, use the normal setter so
|
|
50
|
+
* clamping and default-setting persistence stay identical to user-driven changes.
|
|
51
|
+
* When the session has no entry, seed the session history from the configured
|
|
52
|
+
* default without changing the configured default itself.
|
|
53
|
+
*/
|
|
54
|
+
restoreThinkingLevel(options: {
|
|
55
|
+
hasThinkingEntry: boolean;
|
|
56
|
+
sessionThinkingLevel: ThinkingLevel;
|
|
57
|
+
defaultThinkingLevel: ThinkingLevel;
|
|
58
|
+
}): void;
|
|
59
|
+
/**
|
|
60
|
+
* Cycle to next/previous model. Uses scoped models if available, otherwise all available models.
|
|
61
|
+
* @returns The new model info, or undefined if only one model available
|
|
62
|
+
*/
|
|
63
|
+
cycleModel(direction?: "forward" | "backward"): Promise<ModelCycleResult | undefined>;
|
|
64
|
+
private _getScopedModelsWithApiKey;
|
|
65
|
+
private _cycleScopedModel;
|
|
66
|
+
private _cycleAvailableModel;
|
|
67
|
+
/**
|
|
68
|
+
* Set thinking level, clamped to model capabilities. Saves to session and settings
|
|
69
|
+
* only if the level actually changes.
|
|
70
|
+
*/
|
|
71
|
+
setThinkingLevel(level: ThinkingLevel): void;
|
|
72
|
+
/** Set the session-level agent loop framework override. */
|
|
73
|
+
setAgentLoopFramework(framework: AgentLoopFrameworkInput | undefined): void;
|
|
74
|
+
/** Update runtime loop policy options for subsequent turns. */
|
|
75
|
+
setLoopPolicy(options: Partial<AgentLoopPolicyOptions>): void;
|
|
76
|
+
/** Cycle to next thinking level. @returns new level, or undefined if model doesn't support thinking. */
|
|
77
|
+
cycleThinkingLevel(): ThinkingLevel | undefined;
|
|
78
|
+
/** Thinking levels available for the current model. */
|
|
79
|
+
getAvailableThinkingLevels(): ThinkingLevel[];
|
|
80
|
+
/** Whether the current model supports xhigh thinking. */
|
|
81
|
+
supportsXhighThinking(): boolean;
|
|
82
|
+
/** Whether the current model supports thinking/reasoning. */
|
|
83
|
+
supportsThinking(): boolean;
|
|
84
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var u=Object.defineProperty;var d=(h,e)=>u(h,"name",{value:e,configurable:!0});import{modelsAreEqual as g}from"@catui/ai/models";import{nextCyclicIndex as p,pickThinkingLevelOnModelChange as k}from"./model-cycle.js";import{availableThinkingLevels as M,clampThinkingLevel as v,modelSupportsThinking as y,modelSupportsXhigh as f,nextThinkingLevel as L}from"./thinking-levels.js";class x extends Error{static{d(this,"CycleModelError")}provider;code;constructor(e,t,i){super(e),this.provider=t,this.code=i,this.name="CycleModelError"}}class C{static{d(this,"ModelController")}ctx;constructor(e){this.ctx=e}async _emitModelSelect(e,t,i){g(t,e)||await this.ctx.emitModelSelect({model:e,previousModel:t,source:i})}async _applyModelChange(e,t,i){const n=this.ctx.getModel();this.ctx.setAgentModel(e),this.ctx.appendModelChange(e.provider,e.id),this.ctx.setDefaultModelAndProvider(e.provider,e.id);const l=i??k(e,this.ctx.getThinkingLevel());this.setThinkingLevel(l),await this._emitModelSelect(e,n,t)}async setModel(e){if(!await this.ctx.getApiKey(e))throw new Error(`No API key for ${e.provider}/${e.id}`);await this._applyModelChange(e,"set")}async restoreModel(e){const t=this.ctx.getModel();this.ctx.setAgentModel(e),await this._emitModelSelect(e,t,"restore")}restoreThinkingLevel(e){if(e.hasThinkingEntry){this.setThinkingLevel(e.sessionThinkingLevel);return}const t=this.getAvailableThinkingLevels(),i=t.includes(e.defaultThinkingLevel)?e.defaultThinkingLevel:v(e.defaultThinkingLevel,t);this.ctx.setAgentThinkingLevel(i),this.ctx.appendThinkingLevelChange(i)}async cycleModel(e="forward"){return this.ctx.getScopedModels().length>0?this._cycleScopedModel(e):this._cycleAvailableModel(e)}async _getScopedModelsWithApiKey(){const e=new Map,t=[];for(const i of this.ctx.getScopedModels()){const n=i.model.provider;let l;e.has(n)?l=e.get(n):(l=await this.ctx.getApiKeyForProvider(n),e.set(n,l)),l&&t.push(i)}return t}async _cycleScopedModel(e){const t=await this._getScopedModelsWithApiKey();if(t.length<=1)return;const i=this.ctx.getModel();let n=t.findIndex(c=>g(c.model,i));n===-1&&(n=0);const l=p(n,t.length,e),o=t[l];return await this._applyModelChange(o.model,"cycle",o.thinkingLevel),{model:o.model,thinkingLevel:this.ctx.getThinkingLevel(),isScoped:!0}}async _cycleAvailableModel(e){const t=await this.ctx.getAvailableModels();if(t.length<=1)return;const i=this.ctx.getModel();let n=t.findIndex(s=>g(s,i));n===-1&&(n=0);const l=t.length;let o=n,c=0,r,a;for(;c<l-1;){c++,o=p(o,l,e);const s=t[o];if(s&&(a=await this.ctx.getApiKey(s),a)){r=s;break}}if(!r||!a){const s=i?.provider;throw(s?this.ctx.getAuthCredential(s):void 0)?.type==="oauth"?new x(`All available models have expired OAuth tokens. Use /login ${s} to re-authenticate.`,s,"oauth_expired"):new x("No models with valid API keys available",s,"no_valid_key")}return await this._applyModelChange(r,"cycle"),{model:r,thinkingLevel:this.ctx.getThinkingLevel(),isScoped:!1}}setThinkingLevel(e){const t=this.getAvailableThinkingLevels(),i=t.includes(e)?e:v(e,t),n=i!==this.ctx.getThinkingLevel();this.ctx.setAgentThinkingLevel(i),n&&(this.ctx.appendThinkingLevelChange(i),this.ctx.setDefaultThinkingLevel(i))}setAgentLoopFramework(e){this.ctx.setAgentLoopFramework(e)}setLoopPolicy(e){this.ctx.setLoopPolicy(e)}cycleThinkingLevel(){const e=L(this.ctx.getThinkingLevel(),this.ctx.getModel());if(e!==void 0)return this.setThinkingLevel(e),e}getAvailableThinkingLevels(){return M(this.ctx.getModel())}supportsXhighThinking(){return f(this.ctx.getModel())}supportsThinking(){return y(this.ctx.getModel())}}export{x as CycleModelError,C as ModelController};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides pickThinkingLevelOnModelChange(), nextCyclicIndex() — pure model-cycle decisions
|
|
3
|
+
* [FROM]: Depends on @catui/ai (Model), @catui/agent-core (ThinkingLevel)
|
|
4
|
+
* [TO]: Consumed by core/runtime/model-controller.ts model switching/cycling
|
|
5
|
+
* [HERE]: core/runtime/model-cycle.ts - stateless model-cycle logic, no session state
|
|
6
|
+
*
|
|
7
|
+
* Extracted from AgentSession: the pure decisions in setModel / cycleModel. The side-effecting
|
|
8
|
+
* apply sequence (agent.setModel, persistence, emit) stays in the session.
|
|
9
|
+
*/
|
|
10
|
+
import type { Model } from "@catui/ai/types";
|
|
11
|
+
import type { ThinkingLevel } from "@catui/agent-core";
|
|
12
|
+
/**
|
|
13
|
+
* Thinking level to use after switching to `model`, given the current level:
|
|
14
|
+
* - model without reasoning → "off"
|
|
15
|
+
* - reasoning model but currently "off" → "medium" (sensible default)
|
|
16
|
+
* - otherwise keep the current level (the provider clamps to capabilities)
|
|
17
|
+
*/
|
|
18
|
+
export declare function pickThinkingLevelOnModelChange(model: Model<any>, currentLevel: ThinkingLevel): ThinkingLevel;
|
|
19
|
+
/** Next index when cycling through a list of length `length`. */
|
|
20
|
+
export declare function nextCyclicIndex(currentIndex: number, length: number, direction: "forward" | "backward"): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r=Object.defineProperty;var f=(i,n)=>r(i,"name",{value:n,configurable:!0});function t(i,n){return i.reasoning?n==="off"?"medium":n:"off"}f(t,"pickThinkingLevelOnModelChange");function u(i,n,o){return o==="forward"?(i+1)%n:(i-1+n)%n}f(u,"nextCyclicIndex");export{u as nextCyclicIndex,t as pickThinkingLevelOnModelChange};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides buildRuntimeSystemPrompt(), getActiveBaseToolNames()
|
|
3
|
+
* [FROM]: Depends on ResourceLoader for loaded prompts/context and prompt/system-prompt for rendering
|
|
4
|
+
* [TO]: Consumed by core/runtime/agent-session.ts when refreshing the agent system prompt
|
|
5
|
+
* [HERE]: core/runtime/prompt-assembly.ts - prompt input assembly extracted from AgentSession
|
|
6
|
+
*
|
|
7
|
+
* Extracted from AgentSession (P4.5). This module owns prompt resource assembly only.
|
|
8
|
+
* Soul injection state and prompt application remain in AgentSession.
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
11
|
+
import type { ResourceLoader } from "../platform/config/resource-loader.js";
|
|
12
|
+
export interface RuntimeSystemPromptOptions {
|
|
13
|
+
cwd: string;
|
|
14
|
+
resourceLoader: ResourceLoader;
|
|
15
|
+
toolNames: string[];
|
|
16
|
+
baseToolRegistry: Map<string, AgentTool>;
|
|
17
|
+
soulInjection?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function buildRuntimeSystemPrompt(options: RuntimeSystemPromptOptions): string;
|
|
20
|
+
export declare function getActiveBaseToolNames(activeToolNames: string[], baseToolRegistry: Map<string, AgentTool>): string[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var m=Object.defineProperty;var s=(e,t)=>m(e,"name",{value:t,configurable:!0});import{buildSystemPrompt as n}from"../prompt/system-prompt.js";function d(e){const t=e.toolNames.filter(l=>e.baseToolRegistry.has(l)),r=e.resourceLoader.getAppendSystemPrompt(),o=r.length>0?r.join(`
|
|
2
|
+
|
|
3
|
+
`):void 0;return n({cwd:e.cwd,skills:e.resourceLoader.getSkills().skills,contextFiles:e.resourceLoader.getAgentsFiles().agentsFiles,customPrompt:e.resourceLoader.getSystemPrompt(),appendSystemPrompt:o,selectedTools:t,soulInjection:e.soulInjection})}s(d,"buildRuntimeSystemPrompt");function u(e,t){return e.filter(r=>t.has(r))}s(u,"getActiveBaseToolNames");export{d as buildRuntimeSystemPrompt,u as getActiveBaseToolNames};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: RetryCoordinator class, auto-retry with exponential backoff, in-loop retry preparation
|
|
3
|
+
* [FROM]: Depends on agent-core (AssistantMessage), ai (isContextOverflow), core/runtime/utils/sleep
|
|
4
|
+
* [TO]: Consumed by core/runtime/agent-session.ts
|
|
5
|
+
* [HERE]: core/runtime/retry-coordinator.ts - retry orchestration extracted from AgentSession
|
|
6
|
+
*/
|
|
7
|
+
import type { AssistantMessage } from "@catui/ai/types";
|
|
8
|
+
/** Retry settings from SettingsManager */
|
|
9
|
+
export interface RetrySettings {
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
maxRetries: number;
|
|
12
|
+
baseDelayMs: number;
|
|
13
|
+
}
|
|
14
|
+
/** Callbacks the coordinator needs from its host */
|
|
15
|
+
export interface RetryCoordinatorHost {
|
|
16
|
+
/** Get current model's context window (for overflow detection) */
|
|
17
|
+
getContextWindow(): number;
|
|
18
|
+
/** Get current retry settings */
|
|
19
|
+
getRetrySettings(): RetrySettings;
|
|
20
|
+
/** Remove the last message from agent state (error cleanup) */
|
|
21
|
+
removeLastAssistantMessage(): void;
|
|
22
|
+
/** Trigger agent.continue() for retry */
|
|
23
|
+
triggerContinue(): void;
|
|
24
|
+
/** Emit a session event */
|
|
25
|
+
emitEvent(event: RetrySessionEvent): void;
|
|
26
|
+
}
|
|
27
|
+
/** Events emitted by RetryCoordinator (subset of AgentSessionEvent) */
|
|
28
|
+
export type RetrySessionEvent = {
|
|
29
|
+
type: "auto_retry_start";
|
|
30
|
+
attempt: number;
|
|
31
|
+
maxAttempts: number;
|
|
32
|
+
delayMs: number;
|
|
33
|
+
errorMessage: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: "auto_retry_end";
|
|
36
|
+
success: boolean;
|
|
37
|
+
attempt: number;
|
|
38
|
+
finalError?: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* RetryCoordinator — manages auto-retry with exponential backoff.
|
|
42
|
+
* Extracted from AgentSession to isolate retry state and logic.
|
|
43
|
+
*/
|
|
44
|
+
export declare class RetryCoordinator {
|
|
45
|
+
private _host;
|
|
46
|
+
private _retryAbortController;
|
|
47
|
+
private _retryAttempt;
|
|
48
|
+
private _retryPromise;
|
|
49
|
+
private _retryResolve;
|
|
50
|
+
constructor(host: RetryCoordinatorHost);
|
|
51
|
+
/** Current retry attempt (0 if not retrying) */
|
|
52
|
+
get attempt(): number;
|
|
53
|
+
/** Whether a retry is currently in progress */
|
|
54
|
+
get isActive(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Check if an assistant message represents a retryable error.
|
|
57
|
+
* Context overflow errors are NOT retryable (handled by compaction).
|
|
58
|
+
*/
|
|
59
|
+
isRetryableError(message: AssistantMessage): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Handle a retryable error with exponential backoff.
|
|
62
|
+
* @returns true if retry was initiated, false if max retries exceeded or disabled
|
|
63
|
+
*/
|
|
64
|
+
handleError(message: AssistantMessage): Promise<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* Handle a retryable error inside an active agent loop.
|
|
67
|
+
*
|
|
68
|
+
* Unlike handleError(), this does not mutate host messages and does not
|
|
69
|
+
* schedule agent.continue(); the caller remains responsible for replacing
|
|
70
|
+
* loop context and continuing in-place.
|
|
71
|
+
*/
|
|
72
|
+
handleErrorInLoop(message: AssistantMessage): Promise<boolean>;
|
|
73
|
+
private _prepareRetry;
|
|
74
|
+
/**
|
|
75
|
+
* Called when an assistant response succeeds — resets retry counter
|
|
76
|
+
* and resolves the pending retry promise.
|
|
77
|
+
*/
|
|
78
|
+
onSuccess(): void;
|
|
79
|
+
/** Abort in-progress retry. */
|
|
80
|
+
abort(): void;
|
|
81
|
+
/** Wait for any in-progress retry to complete. */
|
|
82
|
+
waitForCompletion(): Promise<void>;
|
|
83
|
+
private _resolveRetry;
|
|
84
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var n=Object.defineProperty;var o=(i,t)=>n(i,"name",{value:t,configurable:!0});import{isContextOverflow as a}from"@catui/ai/overflow";import{sleep as y}from"../platform/utils/sleep.js";class d{static{o(this,"RetryCoordinator")}_host;_retryAbortController=void 0;_retryAttempt=0;_retryPromise=void 0;_retryResolve=void 0;constructor(t){this._host=t}get attempt(){return this._retryAttempt}get isActive(){return this._retryPromise!==void 0}isRetryableError(t){if(t.stopReason!=="error"||!t.errorMessage)return!1;const e=this._host.getContextWindow();if(a(t,e))return!1;const r=t.errorMessage;return/insufficient.?balance|insufficient.?quota|quota.?exceeded|credit.?balance|billing|payment required|invalid api key|incorrect api key|unauthorized|unauthenticated|authentication|forbidden|permission denied|access denied|model_not_found|model not found/i.test(r)?!1:/overloaded|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server error|internal error|connection.?error|connection.?refused|other side closed|fetch failed|upstream.?connect|reset before headers|terminated|retry delay/i.test(r)}async handleError(t){return await this._prepareRetry(t)?(this._host.removeLastAssistantMessage(),this._host.triggerContinue(),!0):!1}async handleErrorInLoop(t){return this._prepareRetry(t)}async _prepareRetry(t){const e=this._host.getRetrySettings();if(!e.enabled)return!1;if(this._retryAttempt++,this._retryAttempt===1&&!this._retryPromise&&(this._retryPromise=new Promise(s=>{this._retryResolve=s})),this._retryAttempt>e.maxRetries)return this._host.emitEvent({type:"auto_retry_end",success:!1,attempt:this._retryAttempt-1,finalError:t.errorMessage}),this._retryAttempt=0,this._resolveRetry(),!1;const r=e.baseDelayMs*2**(this._retryAttempt-1);this._host.emitEvent({type:"auto_retry_start",attempt:this._retryAttempt,maxAttempts:e.maxRetries,delayMs:r,errorMessage:t.errorMessage||"Unknown error"}),this._retryAbortController=new AbortController;try{await y(r,this._retryAbortController.signal)}catch{const s=this._retryAttempt;return this._retryAttempt=0,this._retryAbortController=void 0,this._host.emitEvent({type:"auto_retry_end",success:!1,attempt:s,finalError:"Retry cancelled"}),this._resolveRetry(),!1}return this._retryAbortController=void 0,!0}onSuccess(){this._retryAttempt>0&&(this._host.emitEvent({type:"auto_retry_end",success:!0,attempt:this._retryAttempt}),this._retryAttempt=0,this._resolveRetry())}abort(){this._retryAbortController?.abort(),this._retryAttempt=0,this._resolveRetry()}async waitForCompletion(){this._retryPromise&&await this._retryPromise}_resolveRetry(){this._retryResolve&&(this._retryResolve(),this._retryResolve=void 0,this._retryPromise=void 0)}}export{d as RetryCoordinator};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { type AgentLoopFrameworkInput, type AgentLoopPolicyOptions, type ThinkingLevel } from "@catui/agent-core";
|
|
2
|
+
import type { Model } from "@catui/ai/types";
|
|
3
|
+
import { AgentSession } from "./agent-session.js";
|
|
4
|
+
import type { Theme as ThemeContract } from "../theme-contract.js";
|
|
5
|
+
import { AuthStorage } from "../platform/config/auth-storage.js";
|
|
6
|
+
import type { LoadExtensionsResult, ToolDefinition } from "../extensions-host/index.js";
|
|
7
|
+
import { ModelRegistry } from "../model-registry.js";
|
|
8
|
+
import type { ResourceLoader } from "../platform/config/resource-loader.js";
|
|
9
|
+
import { SessionManager } from "../session/session-manager.js";
|
|
10
|
+
import { SettingsManager } from "../platform/config/settings-manager.js";
|
|
11
|
+
import { AgentDirContext } from "../agent-dir/agent-dir-context.js";
|
|
12
|
+
import type { SoulOptionsContract } from "../soul-options-contract.js";
|
|
13
|
+
import { allTools, bashTool, codingTools, createBashTool, createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createReadOnlyTools, createReadTool, createWriteTool, editTool, findTool, grepTool, lsTool, readOnlyTools, readTool, type Tool, writeTool } from "../tools/index.js";
|
|
14
|
+
/**
|
|
15
|
+
* Custom logger interface for SDK users.
|
|
16
|
+
* Replace console.error/warn/info with user-provided handlers.
|
|
17
|
+
*/
|
|
18
|
+
export interface SDKLogger {
|
|
19
|
+
error(message: string, ...args: any[]): void;
|
|
20
|
+
warn(message: string, ...args: any[]): void;
|
|
21
|
+
info(message: string, ...args: any[]): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Silent logger - suppresses all output
|
|
25
|
+
*/
|
|
26
|
+
export declare const silentLogger: SDKLogger;
|
|
27
|
+
/**
|
|
28
|
+
* Default logger - uses console
|
|
29
|
+
*/
|
|
30
|
+
export declare const defaultLogger: SDKLogger;
|
|
31
|
+
export interface CreateAgentSessionOptions extends SoulOptionsContract {
|
|
32
|
+
/** Working directory for project-local discovery. Default: process.cwd() */
|
|
33
|
+
cwd?: string;
|
|
34
|
+
/** Global config directory. Default: ~/.catui/agents/default */
|
|
35
|
+
agentDir?: string;
|
|
36
|
+
/** Multi-agent context. */
|
|
37
|
+
agentCtx?: AgentDirContext;
|
|
38
|
+
/** Auth storage for credentials. Default: AuthStorage.create(agentDir/auth.json) */
|
|
39
|
+
authStorage?: AuthStorage;
|
|
40
|
+
/** Model registry. Default: new ModelRegistry(authStorage, agentDir/models.json) */
|
|
41
|
+
modelRegistry?: ModelRegistry;
|
|
42
|
+
/** Model to use. Default: from settings, else first available */
|
|
43
|
+
model?: Model<any>;
|
|
44
|
+
/** Thinking level. Default: from settings, else 'medium' (clamped to model capabilities) */
|
|
45
|
+
thinkingLevel?: ThinkingLevel;
|
|
46
|
+
/** Session-level agent loop framework override. Default: from settings/model. */
|
|
47
|
+
agentLoopFramework?: AgentLoopFrameworkInput;
|
|
48
|
+
/** Optional runtime loop policy overrides applied at session creation. */
|
|
49
|
+
loopPolicy?: Pick<AgentLoopPolicyOptions, "maxTurnsPerPrompt" | "maxToolCallsPerPrompt" | "maxToolConcurrency" | "maxToolResultBatchSizeChars" | "outputTokenBudget" | "maxOutputTokenRecoveryAttempts" | "maxModelErrorRecoveryAttempts" | "maxStopHookContinuations">;
|
|
50
|
+
/** Maximum assistant turns allowed for one prompt. */
|
|
51
|
+
maxTurnsPerPrompt?: number;
|
|
52
|
+
/** Maximum tool calls allowed for one prompt. */
|
|
53
|
+
maxToolCallsPerPrompt?: number;
|
|
54
|
+
/** Maximum concurrent safe tool calls in compatible loops. */
|
|
55
|
+
maxToolConcurrency?: number;
|
|
56
|
+
/** Aggregate tool-result batch budget in characters. */
|
|
57
|
+
maxToolResultBatchSizeChars?: number;
|
|
58
|
+
/** Optional target for automatic continuation when output is under-complete. */
|
|
59
|
+
outputTokenBudget?: AgentLoopPolicyOptions["outputTokenBudget"];
|
|
60
|
+
/** Maximum automatic output-token recovery turns per prompt. */
|
|
61
|
+
maxOutputTokenRecoveryAttempts?: number;
|
|
62
|
+
/** Maximum in-loop model error recoveries per prompt. */
|
|
63
|
+
maxModelErrorRecoveryAttempts?: number;
|
|
64
|
+
/** Maximum stop-hook validation/correction continuations per prompt. */
|
|
65
|
+
maxStopHookContinuations?: number;
|
|
66
|
+
/** Models available for cycling (Ctrl+P in interactive mode) */
|
|
67
|
+
scopedModels?: Array<{
|
|
68
|
+
model: Model<any>;
|
|
69
|
+
thinkingLevel: ThinkingLevel;
|
|
70
|
+
}>;
|
|
71
|
+
/** Built-in tools to use. Default: codingTools [read, bash, edit, write] */
|
|
72
|
+
tools?: Tool[];
|
|
73
|
+
/** Custom tools to register (in addition to built-in tools). */
|
|
74
|
+
customTools?: ToolDefinition[];
|
|
75
|
+
/** Enable MCP (Model Context Protocol) tools. Default: false */
|
|
76
|
+
enableMCP?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Defer MCP tool loading off the startup critical path. When true,
|
|
79
|
+
* createAgentSession does NOT block on MCP server spawn/handshake; the caller
|
|
80
|
+
* must call `session.warmupMcpTools()` (interactive mode does this in the
|
|
81
|
+
* background once the UI is ready). When false/omitted, MCP is loaded
|
|
82
|
+
* synchronously before returning (one-shot modes: print/acp/rpc). Default: false
|
|
83
|
+
*/
|
|
84
|
+
deferMcpInit?: boolean;
|
|
85
|
+
/** Resource loader. When omitted, DefaultResourceLoader is used. */
|
|
86
|
+
resourceLoader?: ResourceLoader;
|
|
87
|
+
/** Additional directories to search for skills. Appended to default paths. */
|
|
88
|
+
additionalSkillPaths?: string[];
|
|
89
|
+
/** Additional directories to search for AGENT.md/CLAUDE.md context files. */
|
|
90
|
+
additionalAgentDirs?: string[];
|
|
91
|
+
/** Custom MCP config file path. Overrides default agentDir/mcp.json. */
|
|
92
|
+
mcpConfigPath?: string;
|
|
93
|
+
/** Debug event verbosity level. "off" = none, "basic" = lifecycle, "verbose" = all. Default: "off" */
|
|
94
|
+
debugLevel?: "off" | "basic" | "verbose";
|
|
95
|
+
/** Session manager. Default: SessionManager.create(cwd) */
|
|
96
|
+
sessionManager?: SessionManager;
|
|
97
|
+
/** Settings manager. Default: SettingsManager.create(cwd, agentDir) */
|
|
98
|
+
settingsManager?: SettingsManager;
|
|
99
|
+
/** External abort signal for stopping the session (e.g., from SubAgent runtime) */
|
|
100
|
+
signal?: AbortSignal;
|
|
101
|
+
/**
|
|
102
|
+
* Theme for HTML-export custom-tool rendering. Provided by the composition root
|
|
103
|
+
* (UI layer); when omitted, HTML export skips custom-tool rendering. Keeps
|
|
104
|
+
* core/runtime free of a modes/ UI import (U2 seam).
|
|
105
|
+
*/
|
|
106
|
+
theme?: ThemeContract;
|
|
107
|
+
/** Suppress all console output. Default: false */
|
|
108
|
+
silent?: boolean;
|
|
109
|
+
/** Custom logger for SDK output. Default: console */
|
|
110
|
+
logger?: SDKLogger;
|
|
111
|
+
}
|
|
112
|
+
/** Result from createAgentSession */
|
|
113
|
+
export interface CreateAgentSessionResult {
|
|
114
|
+
/** The created session */
|
|
115
|
+
session: AgentSession;
|
|
116
|
+
/** Extensions result (for UI context setup in interactive mode) */
|
|
117
|
+
extensionsResult: LoadExtensionsResult;
|
|
118
|
+
/** Warning if session was restored with a different model than saved */
|
|
119
|
+
modelFallbackMessage?: string;
|
|
120
|
+
/** Soul manager for AI personality (if enabled) */
|
|
121
|
+
soulManager?: any;
|
|
122
|
+
}
|
|
123
|
+
export type { ExtensionAPI, ExtensionCommandContext, ExtensionContext, ExtensionFactory, SlashCommandInfo, SlashCommandLocation, SlashCommandSource, ToolDefinition, } from "../extensions-host/index.js";
|
|
124
|
+
export type { PromptTemplate } from "../prompt/prompt-templates.js";
|
|
125
|
+
export type { Skill } from "../skills.js";
|
|
126
|
+
export type { Tool } from "../tools/index.js";
|
|
127
|
+
export { readTool, bashTool, editTool, writeTool, grepTool, findTool, lsTool, codingTools, readOnlyTools, allTools as allBuiltInTools, createCodingTools, createReadOnlyTools, createReadTool, createBashTool, createEditTool, createWriteTool, createGrepTool, createFindTool, createLsTool, };
|
|
128
|
+
/**
|
|
129
|
+
* Create an AgentSession with the specified options.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* // Minimal - uses defaults
|
|
134
|
+
* const { session } = await createAgentSession();
|
|
135
|
+
*
|
|
136
|
+
* // With explicit model
|
|
137
|
+
* import { getModel } from '@catui/ai/models';
|
|
138
|
+
* const { session } = await createAgentSession({
|
|
139
|
+
* model: getModel('anthropic', 'claude-opus-4-5'),
|
|
140
|
+
* thinkingLevel: 'high',
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* // Continue previous session
|
|
144
|
+
* const { session, modelFallbackMessage } = await createAgentSession({
|
|
145
|
+
* continueSession: true,
|
|
146
|
+
* });
|
|
147
|
+
*
|
|
148
|
+
* // Full control
|
|
149
|
+
* const loader = new DefaultResourceLoader({
|
|
150
|
+
* cwd: process.cwd(),
|
|
151
|
+
* agentDir: getAgentDir(),
|
|
152
|
+
* settingsManager: SettingsManager.create(),
|
|
153
|
+
* });
|
|
154
|
+
* await loader.reload();
|
|
155
|
+
* const { session } = await createAgentSession({
|
|
156
|
+
* model: myModel,
|
|
157
|
+
* tools: [readTool, bashTool],
|
|
158
|
+
* resourceLoader: loader,
|
|
159
|
+
* sessionManager: SessionManager.inMemory(),
|
|
160
|
+
* });
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export declare function createAgentSession(options?: CreateAgentSessionOptions): Promise<CreateAgentSessionResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var Q=Object.defineProperty;var n=(e,s)=>Q(e,"name",{value:s,configurable:!0});import{join as E}from"node:path";import{Agent as X}from"@catui/agent-core";import{getAgentDir as Y,getDocsPath as Z}from"../../config.js";import{AgentSession as ee}from"./agent-session.js";import{AuthStorage as te}from"../platform/config/auth-storage.js";import{DEFAULT_THINKING_LEVEL as B}from"../platform/config/defaults.js";import{convertToLlm as oe}from"../messages.js";import{MCPManager as re}from"../mcp/mcp-manager.js";import{registerFigmaMcpOAuthProvider as ne}from"../mcp/figma-auth.js";import{ModelRegistry as le}from"../model-registry.js";import{findInitialModel as ae}from"../model-resolver.js";import{DefaultResourceLoader as ie}from"../platform/config/resource-loader.js";import{SessionManager as se}from"../session/session-manager.js";import{SettingsManager as F}from"../platform/config/settings-manager.js";import{defaultAgentDirContext as ce}from"../agent-dir/agent-dir-context.js";import{time as v}from"../platform/timings.js";import{isSoulEnabled as de,createSoulManager as z}from"../soul-integration.js";import{allTools as O,bashTool as ge,codingTools as me,createBashTool as ue,createCodingTools as fe,createEditTool as pe,createFindTool as he,createGrepTool as Te,createLsTool as ve,createReadOnlyTools as ye,createReadTool as xe,createWriteTool as Se,editTool as Me,findTool as Pe,grepTool as we,lsTool as ke,readOnlyTools as Ce,readTool as Ae,writeTool as Le}from"../tools/index.js";const be={error:n(()=>{},"error"),warn:n(()=>{},"warn"),info:n(()=>{},"info")},Re={error:n((e,...s)=>console.error(e,...s),"error"),warn:n((e,...s)=>console.warn(e,...s),"warn"),info:n((e,...s)=>console.log(e,...s),"info")};function $e(e,s,w){if(e instanceof F)return e;const a=F.create(s,w);if(!e||typeof e!="object"||typeof e.getSettings!="function")return a;const g=a;for(const c of Object.keys(e)){const p=e[c];typeof p=="function"&&(g[c]=p.bind(e))}return a}n($e,"normalizeSettingsManager");function Ye(){return Y()}n(Ye,"getDefaultAgentDir");async function De(e={}){ne();const s=typeof import.meta.url=="string"&&import.meta.url.includes("node_modules"),w=process.env.NODE_ENV==="production"||process.env.NODE_ENV!=="development"&&s,a=e.silent?be:e.logger??Re,g=e.cwd??process.cwd(),c=e.agentCtx??ce(),p=e.agentDir??c.path;let y=e.resourceLoader;const r=$e(e.settingsManager,g,c),N=r.getSettings().locale??"en",{setLocale:j}=await import("../platform/i18n/index.js");j(N);const _=e.authStorage??te.create(c),U=E(p,"models.json"),h=e.modelRegistry??new le(_,U),m=e.sessionManager??se.create(g,void 0,c);y||(y=new ie({cwd:g,agentDir:p,settingsManager:r,agentCtx:c,additionalSkillPaths:e.additionalSkillPaths,additionalAgentDirs:e.additionalAgentDirs}),await y.reload(),v("resourceLoader.reload"));const d=m.buildSessionContext(),P=d.messages.length>0,L=m.getBranch().some(t=>t.type==="thinking_level_change");let l=e.model,x;if(!l&&P&&d.model){const t=h.find(d.model.provider,d.model.modelId);t&&await h.getApiKey(t)&&(l=t),l||(x=`Could not restore model ${d.model.provider}/${d.model.modelId}`)}l||(l=(await ae({scopedModels:[],isContinuing:P,defaultProvider:r.getDefaultProvider(),defaultModelId:r.getDefaultModel(),defaultThinkingLevel:r.getDefaultThinkingLevel(),modelRegistry:h})).model,l?x&&(x+=`. Using ${l.provider}/${l.id}`):x=`No models available. Use /login or set an API key environment variable. See ${E(Z(),"providers.md")}. Then use /model to select a model.`);let u;e.thinkingLevel!==void 0?u=e.thinkingLevel:P?u=L?d.thinkingLevel:r.getDefaultThinkingLevel()??B:u=r.getDefaultThinkingLevel()??B,(!l||!l.reasoning)&&(u="off");const H=["read","bash","edit","write"],K=e.tools?e.tools.map(t=>t.name).filter(t=>t in O):H;let S;const V=n(t=>{const o=oe(t);return r.getBlockImages()?o.map(i=>{if(i.role==="user"||i.role==="toolResult"){const T=i.content;if(Array.isArray(T)&&T.some(C=>C.type==="image")){const C=T.map(M=>M.type==="image"?{type:"text",text:"Image reading is disabled."}:M).filter((M,A,I)=>!(M.type==="text"&&M.text==="Image reading is disabled."&&A>0&&I[A-1].type==="text"&&I[A-1].text==="Image reading is disabled."));return{...i,content:C}}}return i}):o},"convertToLlmWithBlockImages"),b={};S=new X({initialState:{systemPrompt:"",model:l,thinkingLevel:u,tools:[]},convertToLlm:V,sessionId:m.getSessionId(),transformContext:n(async t=>{const o=b.current;return o?o.emitContext(t):t},"transformContext"),steeringMode:r.getSteeringMode(),followUpMode:r.getFollowUpMode(),transport:r.getTransport(),agentLoopFramework:e.agentLoopFramework??r.getAgentLoopFramework(),thinkingBudgets:r.getThinkingBudgets(),maxRetryDelayMs:r.getRetrySettings().maxDelayMs,maxToolResultBatchSizeChars:e.maxToolResultBatchSizeChars??e.loopPolicy?.maxToolResultBatchSizeChars??r.getAgentLoopSettings().maxToolResultBatchSizeChars,maxToolConcurrency:e.maxToolConcurrency??e.loopPolicy?.maxToolConcurrency,maxTurnsPerPrompt:e.maxTurnsPerPrompt??e.loopPolicy?.maxTurnsPerPrompt,maxToolCallsPerPrompt:e.maxToolCallsPerPrompt??e.loopPolicy?.maxToolCallsPerPrompt,outputTokenBudget:e.outputTokenBudget??e.loopPolicy?.outputTokenBudget,maxOutputTokenRecoveryAttempts:e.maxOutputTokenRecoveryAttempts??e.loopPolicy?.maxOutputTokenRecoveryAttempts,maxModelErrorRecoveryAttempts:e.maxModelErrorRecoveryAttempts??e.loopPolicy?.maxModelErrorRecoveryAttempts,maxStopHookContinuations:e.maxStopHookContinuations??e.loopPolicy?.maxStopHookContinuations,getApiKey:n(async t=>{const o=t||S.state.model?.provider;if(!o)throw new Error("No model selected");const i=await h.getApiKeyForProvider(o);if(!i){const T=S.state.model;throw T&&h.isUsingOAuth(T)?new Error(`Authentication failed for "${o}". Credentials may have expired or network is unavailable. Run '/login ${o}' to re-authenticate.`):new Error(`No API key found for "${o}". Set an API key environment variable or run '/login ${o}'.`)}return i},"getApiKey")}),P?(S.replaceMessages(d.messages),L||m.appendThinkingLevelChange(u)):(l&&m.appendModelChange(l.provider,l.id),m.appendThinkingLevelChange(u)),v("agent.construct");let f;const W=[],G=e.customTools??[];let R;e.enableMCP&&(process.once("exit",()=>f?.dispose()),R=n(async()=>{try{f?.dispose()}catch{}f=new re({mcpConfigPath:e.mcpConfigPath}),f.setWorkingDir(g),await f.initialize(),v("mcp.initialize");const t=f.getStatus();if(w){const o=t.startedServers,i=t.failedServers;o.length>0&&a.info(`MCP: ${o.length} server(s) ready (${o.join(", ")})`),i.length>0&&a.warn(`MCP: ${i.length} failed (${i.join(", ")})`)}else if(t.toolCount===0){const o=t.failedServers.length>0?` failed=${t.failedServers.join(",")}`:"";a.warn(`MCP enabled but no tools loaded (enabled=${t.enabledServers.length}, started=${t.startedServers.length}, tools=0).${o}`)}else a.info(`MCP tools loaded: ${t.toolCount}`),t.failedServers.length>0&&a.warn(`MCP: ${t.failedServers.length} server(s) failed to start (${t.failedServers.join(", ")}); tools from other servers are still available.`);return f.getTools()},"mcpToolsFactory"));let k,$;if(de(e)){try{const t=await z(c);t?(k=t,await t.initialize(),v("soul.initialize")):a.warn("Soul not available (nanosoul package not installed). Skipping...")}catch(t){a.warn(`Failed to initialize Soul: ${t}`)}$=n(async()=>{try{const t=await z(c);return t?(await t.initialize(),v("soul.initialize"),t):null}catch(t){return a.warn(`Failed to refresh Soul: ${t}`),null}},"soulManagerFactory")}const D=new ee({agent:S,sessionManager:m,settingsManager:r,cwd:g,agentDir:p,agentCtx:c,scopedModels:e.scopedModels,resourceLoader:y,customTools:G,initialMcpTools:W,mcpToolsFactory:R,modelRegistry:h,initialActiveToolNames:K,extensionRunnerRef:b,soulManager:k,soulManagerFactory:$,signal:e.signal,theme:e.theme,createSession:De,debugLevel:e.debugLevel});v("session.construct"),e.enableMCP&&!e.deferMcpInit&&await D.warmupMcpTools();const q=y.getExtensions();return{session:D,extensionsResult:q,modelFallbackMessage:x,soulManager:k}}n(De,"createAgentSession");export{O as allBuiltInTools,ge as bashTool,me as codingTools,De as createAgentSession,ue as createBashTool,fe as createCodingTools,pe as createEditTool,he as createFindTool,Te as createGrepTool,ve as createLsTool,ye as createReadOnlyTools,xe as createReadTool,Se as createWriteTool,Re as defaultLogger,Me as editTool,Pe as findTool,we as grepTool,ke as lsTool,Ce as readOnlyTools,Ae as readTool,be as silentLogger,Le as writeTool};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides ScopedModel, ModelSelectPayload, and runtime controller context contracts
|
|
3
|
+
* [FROM]: Depends on agent-core and ai public types, auth-storage credential type, session entry type,
|
|
4
|
+
* and the extension runner type
|
|
5
|
+
* [TO]: Consumed by core/runtime/*-controller.ts; implemented by AgentSession through capability adapters
|
|
6
|
+
* [HERE]: core/runtime/session-context.ts - S2 seam: narrow capability contracts for runtime controllers
|
|
7
|
+
*
|
|
8
|
+
* Controllers depend on capability functions rather than AgentSession, Agent, SessionManager,
|
|
9
|
+
* SettingsManager, ModelRegistry, or ExtensionRunner objects. This keeps extraction from turning
|
|
10
|
+
* into a service locator while preserving one-directional imports.
|
|
11
|
+
*/
|
|
12
|
+
import type { AgentLoopFrameworkInput, AgentLoopPolicyOptions, AgentMessage, ThinkingLevel } from "@catui/agent-core";
|
|
13
|
+
import type { Model } from "@catui/ai/types";
|
|
14
|
+
import type { CompactionResult } from "../session/compaction/index.js";
|
|
15
|
+
import type { ExtensionRunner } from "../extensions-host/index.js";
|
|
16
|
+
import type { AuthCredential } from "../platform/config/auth-storage.js";
|
|
17
|
+
import type { SessionContext, SessionEntry, SessionManager } from "../session/session-manager.js";
|
|
18
|
+
/** Scoped model entry (from --models): a model plus its preferred thinking level. */
|
|
19
|
+
export interface ScopedModel {
|
|
20
|
+
model: Model<any>;
|
|
21
|
+
thinkingLevel: ThinkingLevel;
|
|
22
|
+
}
|
|
23
|
+
export interface ModelSelectPayload {
|
|
24
|
+
model: Model<any>;
|
|
25
|
+
previousModel?: Model<any>;
|
|
26
|
+
source: "set" | "cycle" | "restore";
|
|
27
|
+
}
|
|
28
|
+
/** Narrow capability surface for ModelController. */
|
|
29
|
+
export interface ModelControllerContext {
|
|
30
|
+
getModel(): Model<any> | undefined;
|
|
31
|
+
getThinkingLevel(): ThinkingLevel;
|
|
32
|
+
getScopedModels(): ReadonlyArray<ScopedModel>;
|
|
33
|
+
setAgentModel(model: Model<any>): void;
|
|
34
|
+
setAgentThinkingLevel(level: ThinkingLevel): void;
|
|
35
|
+
setAgentLoopFramework(framework: AgentLoopFrameworkInput | undefined): void;
|
|
36
|
+
setLoopPolicy(options: Partial<AgentLoopPolicyOptions>): void;
|
|
37
|
+
getApiKey(model: Model<any>): Promise<string | undefined>;
|
|
38
|
+
getApiKeyForProvider(provider: string): Promise<string | undefined>;
|
|
39
|
+
getAvailableModels(): Promise<Model<any>[]>;
|
|
40
|
+
getAuthCredential(provider: string): AuthCredential | undefined;
|
|
41
|
+
appendModelChange(provider: string, modelId: string): void;
|
|
42
|
+
appendThinkingLevelChange(level: ThinkingLevel): void;
|
|
43
|
+
setDefaultModelAndProvider(provider: string, modelId: string): void;
|
|
44
|
+
setDefaultThinkingLevel(level: ThinkingLevel): void;
|
|
45
|
+
emitModelSelect(payload: ModelSelectPayload): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
/** Compaction settings the pipeline reads (mirrors SettingsManager.getCompactionSettings). */
|
|
48
|
+
export interface CompactionSettings {
|
|
49
|
+
enabled: boolean;
|
|
50
|
+
reserveTokens: number;
|
|
51
|
+
keepRecentTokens: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Narrow capability surface for CompactionController. Manual compaction must disconnect the agent,
|
|
55
|
+
* abort the active turn, rebuild messages after summarizing, and reconnect — those lifecycle
|
|
56
|
+
* effects are exposed as capabilities rather than handing over the AgentSession.
|
|
57
|
+
*/
|
|
58
|
+
export interface CompactionControllerContext {
|
|
59
|
+
getModel(): Model<any> | undefined;
|
|
60
|
+
getApiKey(model: Model<any>): Promise<string | undefined>;
|
|
61
|
+
getExtensionRunner(): ExtensionRunner | undefined;
|
|
62
|
+
getBranch(): SessionEntry[];
|
|
63
|
+
getEntries(): SessionEntry[];
|
|
64
|
+
getCompactionSettings(): CompactionSettings;
|
|
65
|
+
appendCompaction(summary: string, firstKeptEntryId: string, tokensBefore: number, details: unknown, fromExtension: boolean): void;
|
|
66
|
+
/** Rebuild agent messages from the (post-compaction) session context; returns the new messages. */
|
|
67
|
+
applyCompactedMessages(): AgentMessage[];
|
|
68
|
+
logInfo(message: string, meta?: Record<string, unknown>): void;
|
|
69
|
+
/** Detach the agent-event subscription before compacting (manual only). */
|
|
70
|
+
disconnectFromAgent(): void;
|
|
71
|
+
/** Re-attach the agent-event subscription after compacting (manual only). */
|
|
72
|
+
reconnectToAgent(): void;
|
|
73
|
+
/** Abort the in-flight agent turn before compacting (manual only). */
|
|
74
|
+
abortAgent(): Promise<void>;
|
|
75
|
+
emitAutoCompactionStart(reason: "overflow" | "threshold"): void;
|
|
76
|
+
emitAutoCompactionEnd(payload: {
|
|
77
|
+
result: CompactionResult | undefined;
|
|
78
|
+
aborted: boolean;
|
|
79
|
+
willRetry: boolean;
|
|
80
|
+
errorMessage?: string;
|
|
81
|
+
}): void;
|
|
82
|
+
getAutoCompactionEnabled(): boolean;
|
|
83
|
+
setAutoCompactionEnabled(enabled: boolean): void;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Narrow capability surface for SessionTreeController (navigateTree + branch summary). Tree
|
|
87
|
+
* navigation reads/mutates the session tree and may summarize the abandoned branch; those effects
|
|
88
|
+
* are exposed as capabilities rather than handing over the AgentSession or SessionManager.
|
|
89
|
+
*/
|
|
90
|
+
export interface SessionTreeControllerContext {
|
|
91
|
+
getModel(): Model<any> | undefined;
|
|
92
|
+
getApiKey(model: Model<any>): Promise<string | undefined>;
|
|
93
|
+
getExtensionRunner(): ExtensionRunner | undefined;
|
|
94
|
+
getLeafId(): string | null;
|
|
95
|
+
getEntry(entryId: string): SessionEntry | undefined;
|
|
96
|
+
collectBranchSummaryEntries(oldLeafId: string | null, targetId: string): {
|
|
97
|
+
entries: SessionEntry[];
|
|
98
|
+
commonAncestorId: string | null;
|
|
99
|
+
};
|
|
100
|
+
getBranchSummaryReserveTokens(): number;
|
|
101
|
+
branchWithSummary(newLeafId: string | null, summaryText: string, summaryDetails: unknown, fromExtension: boolean): string;
|
|
102
|
+
appendLabelChange(entryId: string, label: string): void;
|
|
103
|
+
resetLeaf(): void;
|
|
104
|
+
branch(newLeafId: string): void;
|
|
105
|
+
/** Rebuild agent messages from the (post-navigation) session context. */
|
|
106
|
+
rebuildAgentMessages(): void;
|
|
107
|
+
extractUserMessageText(content: string | Array<{
|
|
108
|
+
type: string;
|
|
109
|
+
text?: string;
|
|
110
|
+
}>): string;
|
|
111
|
+
}
|
|
112
|
+
/** Inputs for restoring thinking level when resuming a session (mirrors ModelController). */
|
|
113
|
+
export interface ThinkingRestore {
|
|
114
|
+
hasThinkingEntry: boolean;
|
|
115
|
+
sessionThinkingLevel: ThinkingLevel;
|
|
116
|
+
defaultThinkingLevel: ThinkingLevel;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Narrow capability surface for SessionLifecycleController (new / switch / fork — identity-change
|
|
120
|
+
* choreography). The agent subscription teardown/reset, pending-queue clearing, and model/thinking
|
|
121
|
+
* restore are exposed as capabilities; restore is delegated to ModelController by the host adapter.
|
|
122
|
+
*/
|
|
123
|
+
export interface SessionLifecycleControllerContext {
|
|
124
|
+
getSessionFile(): string | undefined;
|
|
125
|
+
getExtensionRunner(): ExtensionRunner | undefined;
|
|
126
|
+
disconnectFromAgent(): void;
|
|
127
|
+
reconnectToAgent(): void;
|
|
128
|
+
abortAgent(): Promise<void>;
|
|
129
|
+
resetAgent(): void;
|
|
130
|
+
/** agent.sessionId = sessionManager.getSessionId() */
|
|
131
|
+
syncAgentSessionId(): void;
|
|
132
|
+
/** Clear steering / follow-up / pending-next-turn queues (session-owned). */
|
|
133
|
+
clearPendingQueues(): void;
|
|
134
|
+
/** Clear only the next-turn queue when forking; steering/follow-up queues are not part of fork behavior. */
|
|
135
|
+
clearPendingNextTurnMessages(): void;
|
|
136
|
+
sessionNewSession(parentSession: string | undefined): void;
|
|
137
|
+
sessionSetFile(path: string): void;
|
|
138
|
+
sessionCreateBranchedSession(parentId: string): void;
|
|
139
|
+
getEntry(entryId: string): SessionEntry | undefined;
|
|
140
|
+
buildSessionContext(): SessionContext;
|
|
141
|
+
replaceAgentMessages(messages: SessionContext["messages"]): void;
|
|
142
|
+
appendThinkingLevelChange(level: ThinkingLevel): void;
|
|
143
|
+
getThinkingLevel(): ThinkingLevel;
|
|
144
|
+
getBranch(): SessionEntry[];
|
|
145
|
+
/** Default thinking level with the built-in fallback already applied. */
|
|
146
|
+
getDefaultThinkingLevel(): ThinkingLevel;
|
|
147
|
+
getAvailableModels(): Model<any>[];
|
|
148
|
+
restoreModel(model: Model<any>): Promise<void>;
|
|
149
|
+
restoreThinkingLevel(opts: ThinkingRestore): void;
|
|
150
|
+
runSetup(setup: (sessionManager: SessionManager) => Promise<void>): Promise<void>;
|
|
151
|
+
extractUserMessageText(content: string | Array<{
|
|
152
|
+
type: string;
|
|
153
|
+
text?: string;
|
|
154
|
+
}>): string;
|
|
155
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides SessionLifecycleController — session identity-change choreography
|
|
3
|
+
* [FROM]: Depends on agent-core (ThinkingLevel), extensions-host session hook result types,
|
|
4
|
+
* session-manager (SessionManager type), and ./session-context
|
|
5
|
+
* [TO]: Consumed by core/runtime/agent-session.ts (constructs one, delegates newSession()/switchSession()/fork())
|
|
6
|
+
* [HERE]: core/runtime/agent-session.ts split (AS08) — session identity transitions
|
|
7
|
+
*
|
|
8
|
+
* Extracted from AgentSession (AS08/AS11). Owns the new/switch/fork choreography: before/after extension
|
|
9
|
+
* hooks, agent disconnect/abort/reset, pending-queue clearing, session-manager transition, message
|
|
10
|
+
* rebuild, and (on resume) model/thinking restoration delegated through the context to
|
|
11
|
+
* ModelController. Behavior is identical to the former AgentSession methods.
|
|
12
|
+
*/
|
|
13
|
+
import type { SessionManager } from "../session/session-manager.js";
|
|
14
|
+
import type { SessionLifecycleControllerContext } from "./session-context.js";
|
|
15
|
+
export interface NewSessionOptions {
|
|
16
|
+
parentSession?: string;
|
|
17
|
+
setup?: (sessionManager: SessionManager) => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export interface ForkResult {
|
|
20
|
+
selectedText: string;
|
|
21
|
+
cancelled: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class SessionLifecycleController {
|
|
24
|
+
private readonly ctx;
|
|
25
|
+
constructor(ctx: SessionLifecycleControllerContext);
|
|
26
|
+
/**
|
|
27
|
+
* Start a new session, optionally with initial messages and parent tracking.
|
|
28
|
+
* Listeners are preserved and continue receiving events.
|
|
29
|
+
* @returns true if completed, false if cancelled by an extension
|
|
30
|
+
*/
|
|
31
|
+
newSession(options?: NewSessionOptions): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Resume an existing session file: restore messages, model, and thinking level.
|
|
34
|
+
* @returns true if completed, false if cancelled by an extension
|
|
35
|
+
*/
|
|
36
|
+
switchSession(sessionPath: string): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Create a new session identity from a user-message branch point.
|
|
39
|
+
* @returns selected user text plus cancellation state
|
|
40
|
+
*/
|
|
41
|
+
fork(entryId: string): Promise<ForkResult>;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var h=Object.defineProperty;var l=(a,s)=>h(a,"name",{value:s,configurable:!0});class g{static{l(this,"SessionLifecycleController")}ctx;constructor(s){this.ctx=s}async newSession(s){const i=this.ctx.getSessionFile(),e=this.ctx.getExtensionRunner();if(e?.hasHandlers("session_before_switch")&&(await e.emit({type:"session_before_switch",reason:"new"}))?.cancel)return!1;if(this.ctx.disconnectFromAgent(),await this.ctx.abortAgent(),this.ctx.resetAgent(),this.ctx.sessionNewSession(s?.parentSession),this.ctx.syncAgentSessionId(),this.ctx.clearPendingQueues(),this.ctx.appendThinkingLevelChange(this.ctx.getThinkingLevel()),s?.setup){await this.ctx.runSetup(s.setup);const t=this.ctx.buildSessionContext();this.ctx.replaceAgentMessages(t.messages)}return this.ctx.reconnectToAgent(),e&&await e.emit({type:"session_switch",reason:"new",previousSessionFile:i}),!0}async switchSession(s){const i=this.ctx.getSessionFile(),e=this.ctx.getExtensionRunner();if(e?.hasHandlers("session_before_switch")&&(await e.emit({type:"session_before_switch",reason:"resume",targetSessionFile:s}))?.cancel)return!1;this.ctx.disconnectFromAgent(),await this.ctx.abortAgent(),this.ctx.clearPendingQueues(),this.ctx.sessionSetFile(s),this.ctx.syncAgentSessionId();const t=this.ctx.buildSessionContext();if(e&&await e.emit({type:"session_switch",reason:"resume",previousSessionFile:i}),this.ctx.replaceAgentMessages(t.messages),t.model){const r=this.ctx.getAvailableModels().find(o=>o.provider===t.model.provider&&o.id===t.model.modelId);r&&await this.ctx.restoreModel(r)}const c=this.ctx.getBranch().some(n=>n.type==="thinking_level_change");return this.ctx.restoreThinkingLevel({hasThinkingEntry:c,sessionThinkingLevel:t.thinkingLevel,defaultThinkingLevel:this.ctx.getDefaultThinkingLevel()}),this.ctx.reconnectToAgent(),!0}async fork(s){const i=this.ctx.getSessionFile(),e=this.ctx.getEntry(s);if(!e||e.type!=="message"||e.message.role!=="user")throw new Error("Invalid entry ID for forking");const t=this.ctx.extractUserMessageText(e.message.content);let c=!1;const n=this.ctx.getExtensionRunner();if(n?.hasHandlers("session_before_fork")){const o=await n.emit({type:"session_before_fork",entryId:s});if(o?.cancel)return{selectedText:t,cancelled:!0};c=o?.skipConversationRestore??!1}this.ctx.clearPendingNextTurnMessages(),e.parentId?this.ctx.sessionCreateBranchedSession(e.parentId):this.ctx.sessionNewSession(i),this.ctx.syncAgentSessionId();const r=this.ctx.buildSessionContext();return n&&await n.emit({type:"session_fork",previousSessionFile:i}),c||this.ctx.replaceAgentMessages(r.messages),{selectedText:t,cancelled:!1}}}export{g as SessionLifecycleController};
|