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,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: SecurityCheckResult, AuditEvent, LogQueryOptions, SecurityStats, SecurityEngine
|
|
3
|
+
* [FROM]: No external dependencies
|
|
4
|
+
* [TO]: Consumed by extension entry point (./index.ts)
|
|
5
|
+
* [HERE]: extensions/builtin/security-audit/interface.ts -
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Security check result levels
|
|
9
|
+
*/
|
|
10
|
+
export type SecurityLevel = "safe" | "warning" | "dangerous";
|
|
11
|
+
/**
|
|
12
|
+
* Security check result
|
|
13
|
+
*/
|
|
14
|
+
export interface SecurityCheckResult {
|
|
15
|
+
/** Whether the operation is allowed */
|
|
16
|
+
allowed: boolean;
|
|
17
|
+
/** Security level of the operation */
|
|
18
|
+
level: SecurityLevel;
|
|
19
|
+
/** Reason for the result */
|
|
20
|
+
reason?: string;
|
|
21
|
+
/** Whether user confirmation is required */
|
|
22
|
+
requiresConfirm?: boolean;
|
|
23
|
+
/** Matched pattern if any */
|
|
24
|
+
pattern?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Audit event types
|
|
28
|
+
*/
|
|
29
|
+
export type AuditEventType = "command" | "file_read" | "file_write" | "file_edit" | "network" | "extension" | "session_start" | "session_end";
|
|
30
|
+
/**
|
|
31
|
+
* Audit event status
|
|
32
|
+
*/
|
|
33
|
+
export type AuditEventStatus = "allowed" | "blocked" | "warning" | "confirmed";
|
|
34
|
+
/**
|
|
35
|
+
* Audit event record
|
|
36
|
+
*/
|
|
37
|
+
export interface AuditEvent {
|
|
38
|
+
/** Unique event ID */
|
|
39
|
+
id: string;
|
|
40
|
+
/** Event timestamp */
|
|
41
|
+
timestamp: string;
|
|
42
|
+
/** Event type */
|
|
43
|
+
type: AuditEventType;
|
|
44
|
+
/** Operation performed */
|
|
45
|
+
operation: string;
|
|
46
|
+
/** Target path or command */
|
|
47
|
+
target: string;
|
|
48
|
+
/** Working directory */
|
|
49
|
+
cwd: string;
|
|
50
|
+
/** Security level */
|
|
51
|
+
level: SecurityLevel;
|
|
52
|
+
/** Event status */
|
|
53
|
+
status: AuditEventStatus;
|
|
54
|
+
/** Reason if blocked/warning */
|
|
55
|
+
reason?: string;
|
|
56
|
+
/** Pattern matched */
|
|
57
|
+
pattern?: string;
|
|
58
|
+
/** Whether user confirmed */
|
|
59
|
+
userConfirmed?: boolean;
|
|
60
|
+
/** Duration in milliseconds */
|
|
61
|
+
duration?: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Query options for retrieving audit logs
|
|
65
|
+
*/
|
|
66
|
+
export interface LogQueryOptions {
|
|
67
|
+
/** Start date */
|
|
68
|
+
startDate?: Date;
|
|
69
|
+
/** End date */
|
|
70
|
+
endDate?: Date;
|
|
71
|
+
/** Event types to include */
|
|
72
|
+
types?: AuditEventType[];
|
|
73
|
+
/** Security levels to include */
|
|
74
|
+
levels?: SecurityLevel[];
|
|
75
|
+
/** Maximum results */
|
|
76
|
+
limit?: number;
|
|
77
|
+
/** Offset for pagination */
|
|
78
|
+
offset?: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Security statistics
|
|
82
|
+
*/
|
|
83
|
+
export interface SecurityStats {
|
|
84
|
+
/** Total events in period */
|
|
85
|
+
totalEvents: number;
|
|
86
|
+
/** Events by type */
|
|
87
|
+
byType: Record<AuditEventType, number>;
|
|
88
|
+
/** Events by level */
|
|
89
|
+
byLevel: Record<SecurityLevel, number>;
|
|
90
|
+
/** Events by status */
|
|
91
|
+
byStatus: Record<AuditEventStatus, number>;
|
|
92
|
+
/** Most common dangerous patterns */
|
|
93
|
+
dangerousPatterns: Array<{
|
|
94
|
+
pattern: string;
|
|
95
|
+
count: number;
|
|
96
|
+
}>;
|
|
97
|
+
/** Period start */
|
|
98
|
+
periodStart: string;
|
|
99
|
+
/** Period end */
|
|
100
|
+
periodEnd: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Standardized security engine interface
|
|
104
|
+
* This interface can be implemented by different security levels:
|
|
105
|
+
* - Light Audit: Just logging
|
|
106
|
+
* - Med Secure: Detection + warning
|
|
107
|
+
* - Heavy Guard: Full interception
|
|
108
|
+
*/
|
|
109
|
+
export interface SecurityEngine {
|
|
110
|
+
/**
|
|
111
|
+
* Check if a command is safe to execute
|
|
112
|
+
*/
|
|
113
|
+
checkCommand(command: string, cwd: string): SecurityCheckResult;
|
|
114
|
+
/**
|
|
115
|
+
* Check if a file operation is allowed
|
|
116
|
+
*/
|
|
117
|
+
checkFileOperation(operation: "read" | "write" | "edit", path: string): SecurityCheckResult;
|
|
118
|
+
/**
|
|
119
|
+
* Record an audit event
|
|
120
|
+
*/
|
|
121
|
+
log(event: Omit<AuditEvent, "id" | "timestamp">): AuditEvent;
|
|
122
|
+
/**
|
|
123
|
+
* Query audit logs
|
|
124
|
+
*/
|
|
125
|
+
queryLogs(options?: LogQueryOptions): AuditEvent[];
|
|
126
|
+
/**
|
|
127
|
+
* Get security statistics
|
|
128
|
+
*/
|
|
129
|
+
getStats(options?: LogQueryOptions): SecurityStats;
|
|
130
|
+
/**
|
|
131
|
+
* Clear audit logs
|
|
132
|
+
*/
|
|
133
|
+
clearLogs(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Export logs to JSON
|
|
136
|
+
*/
|
|
137
|
+
exportLogs(format?: "json" | "html"): string;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Security configuration
|
|
141
|
+
*/
|
|
142
|
+
export interface SecurityConfig {
|
|
143
|
+
/** Whether security audit is enabled */
|
|
144
|
+
enabled: boolean;
|
|
145
|
+
/** Security mode */
|
|
146
|
+
mode: "audit" | "confirm" | "strict";
|
|
147
|
+
/** Enable logging */
|
|
148
|
+
enableLogging: boolean;
|
|
149
|
+
/** Enable danger detection */
|
|
150
|
+
enableDetection: boolean;
|
|
151
|
+
/** Enable interception (requires user confirm) */
|
|
152
|
+
enableInterception: boolean;
|
|
153
|
+
/** Enable whitelist */
|
|
154
|
+
enableWhitelist: boolean;
|
|
155
|
+
/** Dangerous command patterns */
|
|
156
|
+
dangerousPatterns: string[];
|
|
157
|
+
/** Sensitive file paths */
|
|
158
|
+
sensitivePaths: string[];
|
|
159
|
+
/** Whitelisted commands */
|
|
160
|
+
whitelist: string[];
|
|
161
|
+
/** Maximum log entries to keep */
|
|
162
|
+
maxLogEntries: number;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Default security configuration
|
|
166
|
+
*/
|
|
167
|
+
export declare const DEFAULT_SECURITY_CONFIG: SecurityConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s={enabled:!0,mode:"audit",enableLogging:!0,enableDetection:!0,enableInterception:!1,enableWhitelist:!1,dangerousPatterns:["rm\\s+-rf","rmdir\\s+/s","del\\s+/s","rmdir\\s+/s","sudo\\s+","chmod\\s+777","chown\\s+","kill\\s+-9","pkill\\s+-9","killall\\s+","curl\\s+.*\\|\\s*sh","wget\\s+.*\\|\\s*sh","Invoke-Expression.*WebRequest","git\\s+push\\s+--force","git\\s+push\\s+-f","docker\\s+rm\\s+-f","docker\\s+run\\s+--rm","systemctl\\s+stop","systemctl\\s+restart"],sensitivePaths:["~/.ssh/","/.ssh/","~/.aws/","~/.azure/","~/.gcloud/",".env",".env.local",".env.production","/etc/passwd","/etc/shadow","/etc/sudoers",".git/config"],whitelist:["git status","git diff","git log","git branch","npm install","npm run","pnpm install","pnpm run","yarn","ls","cat","grep"],maxLogEntries:1e4};export{s as DEFAULT_SECURITY_CONFIG};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Soul extension entrypoint
|
|
3
|
+
* [FROM]: Depends on core/extensions-host/types.js
|
|
4
|
+
* [TO]: Consumed by builtin-extensions.ts as default extension
|
|
5
|
+
* [HERE]: extensions/builtin/soul/index.ts - keeps the built-in Soul entrypoint while delegating prompt injection and evolution to AgentSession
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Preserves the built-in Soul extension slot
|
|
9
|
+
* - Avoids creating duplicate SoulManager instances in the extension layer
|
|
10
|
+
* - Leaves stable prompt injection and interaction recording to core/runtime/agent-session.ts
|
|
11
|
+
*/
|
|
12
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
13
|
+
export default function soulExtension(_pi: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.defineProperty;var o=(n,t)=>e(n,"name",{value:t,configurable:!0});async function i(n){}o(i,"soulExtension");export{i as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: SubAgent extension, registers /subagent commands and message renderer
|
|
3
|
+
* [FROM]: Depends on @catui/tui, core/extensions-host/types, ./subagent-runner, ./subagent-parser, ./subagent-types
|
|
4
|
+
* [TO]: Consumed by builtin-extensions.ts as default extension
|
|
5
|
+
* [HERE]: extensions/builtin/subagent/index.ts - entry point for subagent extension
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
8
|
+
export default function subagentExtension(api: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var g=Object.defineProperty;var c=(t,d)=>g(t,"name",{value:d,configurable:!0});import{Box as b,Container as m,Spacer as w,Text as k}from"@catui/tui";import{SubAgentRunner as y}from"./subagent-runner.js";import{buildSubAgentHelp as S,parseSubAgentCommand as f}from"./subagent-parser.js";const i="subagent",P=[{value:"run",label:"run",description:"Start a background helper task"},{value:"stop",label:"stop",description:"Stop the current helper task"},{value:"status",label:"status",description:"Show current helper task status"},{value:"report",label:"report",description:"Show the latest helper report"},{value:"apply",label:"apply",description:"Copy isolated changes into this workspace"},{value:"help",label:"help",description:"Show helper commands"}],A=[{value:"--write",label:"--write",description:"Allow changes in an isolated workspace"}];let h=null,n=null;function v(){return h||(h=new y),h}c(v,"getRunner");async function T(t){t.registerMessageRenderer(i,(r,l,o)=>{const a=typeof r.content=="string"?r.content:r.content.filter(e=>e.type==="text").map(e=>e.text).join(`
|
|
2
|
+
`),u=new b(1,1,e=>o.bg("customMessageBg",e));u.addChild(new k(o.fg("customMessageText",a),0,0));const s=new m;return s.addChild(new w(1)),s.addChild(u),s});const d=["subagent","subagent:run","subagent:stop","subagent:status","subagent:report","subagent:apply"];for(const r of d)t.registerCommand(r,{description:M(r),getArgumentCompletions:c((l,o)=>$(r,l,o),"getArgumentCompletions"),handler:c(async(l,o)=>{const a=f(r,l);if(!a){o.ui.notify("Invalid /subagent command. Use /subagent for usage.","error");return}const u=v();switch(a.command){case"help":{t.sendMessage({customType:i,content:S(),display:!0});break}case"run":{if(!a.task){o.ui.notify("Usage: /subagent:run <task> [--write]","error");return}const s=o.model;t.sendMessage({customType:i,content:`Starting SubAgent run (${a.options?.write?"isolated write workspace":"read-only"})...
|
|
3
|
+
|
|
4
|
+
Task: ${a.task}${s?`
|
|
5
|
+
Model: ${s.id??s.name??"unknown"}`:""}`,display:!0});try{const e=await u.run(a.task,{runRole:a.options?.write?"implement":"research",model:s,cwd:o.cwd});n=e;const p=[e.success?`SubAgent run completed in ${Math.round(e.duration/1e3)}s.`:"SubAgent run failed.","",e.summary||"(no summary)"];e.workspacePath&&p.push("",`Workspace: ${e.workspacePath}`),e.patchPath&&p.push(`Patch: ${e.patchPath}`),e.reportPath&&p.push(`Report: ${e.reportPath}`),e.patchPreview&&p.push("","Patch Preview:",e.patchPreview),e.workspacePath&&!e.appliedAt&&p.push("Confirm write-back with /subagent:apply"),t.sendMessage({customType:i,content:p.join(`
|
|
6
|
+
`),display:!0,details:e})}catch(e){const p=e instanceof Error?e.message:String(e);o.ui.notify(`Error: ${p}`,"error")}break}case"stop":{await u.stop(),t.sendMessage({customType:i,content:"Stopping SubAgent run...",display:!0});break}case"status":{t.sendMessage({customType:i,content:u.getStatusText(),display:!0});break}case"report":{if(!n){t.sendMessage({customType:i,content:"No SubAgent report available.",display:!0});break}const s=["Last SubAgent Report:","",`Run ID: ${n.runId}`,`Duration: ${Math.round(n.duration/1e3)}s`,`Success: ${n.success?"Yes":"No"}`,...n.workspacePath?[`Workspace: ${n.workspacePath}`]:[],...n.patchPath?[`Patch: ${n.patchPath}`]:[],...n.reportPath?[`Report: ${n.reportPath}`]:[],...n.appliedAt?[`Applied: ${new Date(n.appliedAt).toISOString()}`]:[],"","Summary:",n.summary||"(no summary)",...n.patchPreview?["","Patch Preview:",n.patchPreview]:[]];t.sendMessage({customType:i,content:s.join(`
|
|
7
|
+
`),display:!0,details:n});break}case"apply":{const s=await u.applyLatest();n=s;const e=["Applied isolated SubAgent changes to the main workspace.","",...s.changedFiles.length>0?s.changedFiles.map(p=>`- ${p}`):["- (no changed files)"],...s.reportPath?["",`Report: ${s.reportPath}`]:[]];t.sendMessage({customType:i,content:e.join(`
|
|
8
|
+
`),display:!0,details:s});break}}},"handler")})}c(T,"subagentExtension");function $(t,d,r){if(t==="subagent:run"&&r&&r.tokenIndex>0)return null;const l=d.trim().toLowerCase(),a=(t==="subagent"?P:t==="subagent:run"?A:[]).filter(u=>u.value.startsWith(l));return a.length>0?a.map(u=>({...u})):null}c($,"getArgumentCompletions");function M(t){switch(t){case"subagent:run":return"Start a background helper task (/subagent:run <task> [--write])";case"subagent:stop":return"Stop the active background helper task";case"subagent:status":return"Show current background helper status";case"subagent:report":return"Show the latest background helper report";case"subagent:apply":return"Apply the latest isolated write run to the main workspace";default:return"Run or inspect a background helper task"}}c(M,"getCommandDescription");export{T as default};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: parseSubAgentCommand, buildSubAgentHelp, SubAgentSubcommand, ParsedSubAgentCommand
|
|
3
|
+
* [FROM]: No external dependencies
|
|
4
|
+
* [TO]: Consumed by ./index.ts
|
|
5
|
+
* [HERE]: extensions/builtin/subagent/subagent-parser.ts - command parser for /subagent
|
|
6
|
+
*/
|
|
7
|
+
export type SubAgentSubcommand = "run" | "stop" | "status" | "report" | "apply" | "help";
|
|
8
|
+
export interface ParsedSubAgentCommand {
|
|
9
|
+
command: SubAgentSubcommand;
|
|
10
|
+
task?: string;
|
|
11
|
+
options?: {
|
|
12
|
+
write?: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Parse a registered /subagent command invocation.
|
|
17
|
+
* Primary syntax follows the phase-A plan:
|
|
18
|
+
* /subagent
|
|
19
|
+
* /subagent:run <task> [--write]
|
|
20
|
+
* /subagent:stop
|
|
21
|
+
* /subagent:status
|
|
22
|
+
* /subagent:report
|
|
23
|
+
*
|
|
24
|
+
* The root command still accepts legacy space-style args for compatibility.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseSubAgentCommand(commandName: string, args?: string): ParsedSubAgentCommand | null;
|
|
27
|
+
/**
|
|
28
|
+
* Build help text for /subagent commands.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildSubAgentHelp(): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var a=Object.defineProperty;var n=(r,e)=>a(r,"name",{value:e,configurable:!0});function o(r,e=""){const t=e.trim();switch(r){case"subagent":return!t||t==="help"?{command:"help"}:t==="stop"?{command:"stop"}:t==="status"?{command:"status"}:t==="report"?{command:"report"}:t==="apply"?{command:"apply"}:t.startsWith("run ")?u(t.slice(4)):null;case"subagent:run":return u(t);case"subagent:stop":return{command:"stop"};case"subagent:status":return{command:"status"};case"subagent:report":return{command:"report"};case"subagent:apply":return{command:"apply"};default:return null}}n(o,"parseSubAgentCommand");function u(r){let e=r.trim();if(!e)return null;const t={};return e.includes("--write")&&(t.write=!0,e=e.replace(/--write/g,"").trim()),e?{command:"run",task:e,options:t}:null}n(u,"parseRunArgs");function p(){return`
|
|
2
|
+
SubAgent Commands:
|
|
3
|
+
/subagent - Show this help
|
|
4
|
+
/subagent:run <task> - Start a SubAgent run (read-only)
|
|
5
|
+
/subagent:run <task> --write - Start with isolated write access
|
|
6
|
+
/subagent:stop - Stop current run
|
|
7
|
+
/subagent:status - Show current run status
|
|
8
|
+
/subagent:report - Show last run report
|
|
9
|
+
/subagent:apply - Apply the last isolated write run to the main workspace
|
|
10
|
+
|
|
11
|
+
Examples:
|
|
12
|
+
/subagent:run Analyze the codebase structure
|
|
13
|
+
/subagent:run Implement login feature --write
|
|
14
|
+
/subagent:apply
|
|
15
|
+
`.trim()}n(p,"buildSubAgentHelp");export{p as buildSubAgentHelp,o as parseSubAgentCommand};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: SubAgentRunner class - spawns and manages SubAgents
|
|
3
|
+
* [FROM]: Depends on node:fs/promises, node:path, core/sub-agent, core/workspace, core/tools, ./subagent-types
|
|
4
|
+
* [TO]: Consumed by ./index.ts
|
|
5
|
+
* [HERE]: extensions/builtin/subagent/subagent-runner.ts - SubAgent orchestration logic
|
|
6
|
+
*/
|
|
7
|
+
import type { Model } from "@catui/ai/types";
|
|
8
|
+
import type { SubAgentRunReport, SubAgentRunState } from "./subagent-types.js";
|
|
9
|
+
/**
|
|
10
|
+
* SubAgent Runner - handles spawning and managing SubAgents.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SubAgentRunner {
|
|
13
|
+
private runtime;
|
|
14
|
+
private worktreeManager;
|
|
15
|
+
private currentState;
|
|
16
|
+
private abortController;
|
|
17
|
+
private activeWorkspace;
|
|
18
|
+
private currentBaseCwd;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Start a new SubAgent run.
|
|
22
|
+
* @param task The task description
|
|
23
|
+
* @param options.runRole Worker role: "research" (read-only) or "implement" (can write)
|
|
24
|
+
* @param options.model Model to use (reuses main session's model and auth)
|
|
25
|
+
*/
|
|
26
|
+
run(task: string, options?: {
|
|
27
|
+
runRole?: "research" | "implement";
|
|
28
|
+
model?: Model<any>;
|
|
29
|
+
cwd?: string;
|
|
30
|
+
timeoutMs?: number;
|
|
31
|
+
}): Promise<SubAgentRunReport>;
|
|
32
|
+
applyLatest(): Promise<SubAgentRunReport>;
|
|
33
|
+
/**
|
|
34
|
+
* Stop the current run.
|
|
35
|
+
*/
|
|
36
|
+
stop(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the current run state.
|
|
39
|
+
*/
|
|
40
|
+
getState(): SubAgentRunState | null;
|
|
41
|
+
/**
|
|
42
|
+
* Get status text for display.
|
|
43
|
+
*/
|
|
44
|
+
getStatusText(): string;
|
|
45
|
+
private createReadOnlyTools;
|
|
46
|
+
private createSandboxedTools;
|
|
47
|
+
private writeReport;
|
|
48
|
+
private readPatchPreview;
|
|
49
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var y=Object.defineProperty;var k=(w,e)=>y(w,"name",{value:e,configurable:!0});import{mkdir as P,readFile as v,writeFile as A}from"node:fs/promises";import{join as p}from"node:path";import{SubAgentRuntime as C,InProcessSubAgentBackend as W}from"../../../core/sub-agent/index.js";import{createAgentSession as $}from"../../../core/runtime/sdk.js";import{WorktreeManager as T}from"../../../core/workspace/index.js";import{createBashTool as S,createCodingTools as M,createReadOnlyTools as R,createSandboxHook as f}from"../../../core/tools/index.js";class j{static{k(this,"SubAgentRunner")}runtime;worktreeManager;currentState=null;abortController=null;activeWorkspace=null;currentBaseCwd=null;constructor(){this.runtime=new C(new W($)),this.worktreeManager=new T}async run(e,t){if(this.currentState&&(this.currentState.phase==="planning"||this.currentState.phase==="research"||this.currentState.phase==="implementing"||this.currentState.phase==="reviewing"))throw new Error("A SubAgent run is already active. Stop it before starting a new one.");const r=crypto.randomUUID();this.abortController=new AbortController;const s=t?.cwd??process.cwd();this.currentBaseCwd=s;const o=t?.runRole??"research";this.currentState={runId:r,phase:"planning",startTime:Date.now(),workers:[]};try{let a=null;o==="implement"&&(a=await this.worktreeManager.createGitWorktree(void 0,s),this.activeWorkspace=a);const i=a?.path??s,b=o==="research"?this.createReadOnlyTools(i):this.createSandboxedTools(i);this.currentState.phase=o==="research"?"research":"implementing";const d=`${o}-worker-1`;this.currentState.workers.push({id:d,role:o==="research"?"Research Worker":"Implementation Worker",status:"running"});const m=await this.runtime.spawn({prompt:e,tools:b,cwd:i,signal:this.abortController.signal,model:t?.model,timeoutMs:t?.timeoutMs}),u=this.currentState.workers.find(h=>h.id===d);u&&(u.handle=m);const n=await m.result();u.status=n.success?"done":n.error==="Aborted"?"aborted":"error";let l=n.error??"No result";n.success&&n.response?l=n.response:n.success&&(l="Task completed successfully");const g=a?await this.worktreeManager.listChangedFiles(a):[],c={runId:r,summary:l,findings:[],changedFiles:g,duration:Date.now()-this.currentState.startTime,success:n.success,workspacePath:a?.path};if(a&&g.length>0){const h=p(s,".catui","subagent-runs",`${r}.patch`);await this.worktreeManager.writePatch(a,h)&&(c.patchPath=h,c.patchPreview=await this.readPatchPreview(h))}return c.reportPath=await this.writeReport(s,c),this.currentState.report=c,this.currentState.phase="done",this.currentState.error=n.error,c}catch(a){this.currentState.phase="error",this.currentState.error=a instanceof Error?a.message:String(a);const i={runId:r,summary:this.currentState.error,findings:[],changedFiles:[],duration:Date.now()-this.currentState.startTime,success:!1};return i.reportPath=await this.writeReport(s,i),this.currentState.report=i,i}finally{const a=!!this.currentState?.report?.workspacePath&&this.currentState.report.success;this.activeWorkspace&&!a&&await this.worktreeManager.dispose(this.activeWorkspace),a||(this.activeWorkspace=null,this.currentBaseCwd=null)}}async applyLatest(){const e=this.currentState?.report;if(!e||!this.activeWorkspace||!this.currentBaseCwd)throw new Error("No isolated SubAgent run is waiting to be applied.");if(!e.success)throw new Error("The last SubAgent run did not complete successfully.");if(e.appliedAt)throw new Error("The last SubAgent run has already been applied.");const t=await this.worktreeManager.applyChanges(this.activeWorkspace,this.currentBaseCwd);return e.changedFiles=t.map(r=>r.path),e.appliedAt=Date.now(),e.summary=`${e.summary}
|
|
2
|
+
|
|
3
|
+
Applied ${t.length} file change(s) to the main workspace.`,e.reportPath=await this.writeReport(this.currentBaseCwd,e),await this.worktreeManager.dispose(this.activeWorkspace),this.activeWorkspace=null,this.currentBaseCwd=null,e}async stop(){this.abortController&&this.abortController.abort(),await this.runtime.terminateAll(),this.activeWorkspace&&(await this.worktreeManager.dispose(this.activeWorkspace),this.activeWorkspace=null),this.currentBaseCwd=null,this.currentState&&(this.currentState.phase="error",this.currentState.error="Stopped by user",this.currentState.workers.forEach(e=>{e.status="aborted"}))}getState(){return this.currentState}getStatusText(){const e=this.currentState;if(!e)return"No active SubAgent run.";const t=[`Run ID: ${e.runId}`,`Phase: ${e.phase}`,`Duration: ${Math.round((Date.now()-e.startTime)/1e3)}s`,"","Workers:"];for(const r of e.workers)t.push(` - ${r.role}: ${r.status}`);return e.error&&t.push("",`Error: ${e.error}`),e.report?.workspacePath&&!e.report.appliedAt&&(t.push("","Pending write-back: run /subagent:apply to copy changes into the main workspace."),e.report.patchPreview&&t.push("","Patch Preview:",e.report.patchPreview)),t.join(`
|
|
4
|
+
`)}createReadOnlyTools(e){const t=R(e),r=S(e,{spawnHook:f()});return[...t.filter(s=>s.name!=="bash"),r]}createSandboxedTools(e){const t=M(e),r=S(e,{spawnHook:f()});return[...t.filter(s=>s.name!=="bash"),r]}async writeReport(e,t){const r=p(e,".catui","subagent-runs");await P(r,{recursive:!0});const s=p(r,`${t.runId}.md`),o=[`# SubAgent Run ${t.runId}`,"",`- Success: ${t.success?"Yes":"No"}`,`- Duration: ${Math.round(t.duration/1e3)}s`,`- Workspace: ${t.workspacePath??"(main workspace / read-only)"}`,`- Patch: ${t.patchPath??"(none)"}`,`- Applied: ${t.appliedAt?new Date(t.appliedAt).toISOString():"No"}`,"","## Summary","",t.summary||"(no summary)","","## Changed Files","",...t.changedFiles.length>0?t.changedFiles.map(a=>`- ${a}`):["- (none)"],...t.patchPreview?["","## Patch Preview","","```diff",t.patchPreview,"```"]:[],...t.workspacePath&&!t.appliedAt?["","## Next Step","","Review the patch and run `/subagent:apply` to write these changes back."]:[]];return await A(s,`${o.join(`
|
|
5
|
+
`)}
|
|
6
|
+
`,"utf-8"),s}async readPatchPreview(e){try{return(await v(e,"utf-8")).split(`
|
|
7
|
+
`).slice(0,80).join(`
|
|
8
|
+
`).trim()||void 0}catch{return}}}export{j as SubAgentRunner};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: SubAgent types - SubAgentPhase, SubAgentWorkerStatus, SubAgentRunState, SubAgentRunReport
|
|
3
|
+
* [FROM]: Depends on core/sub-agent for SubAgentHandle
|
|
4
|
+
* [TO]: Consumed by ./index.ts, ./subagent-runner.ts, ./subagent-parser.ts
|
|
5
|
+
* [HERE]: extensions/builtin/subagent/subagent-types.ts - type definitions for SubAgent extension
|
|
6
|
+
*/
|
|
7
|
+
import type { SubAgentHandle } from "../../../core/sub-agent/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* SubAgent run phases.
|
|
10
|
+
*/
|
|
11
|
+
export type SubAgentPhase = "idle" | "planning" | "research" | "implementing" | "reviewing" | "done" | "error";
|
|
12
|
+
/**
|
|
13
|
+
* SubAgent worker status.
|
|
14
|
+
*/
|
|
15
|
+
export type SubAgentWorkerStatus = "pending" | "running" | "done" | "error" | "aborted";
|
|
16
|
+
/**
|
|
17
|
+
* SubAgent worker info.
|
|
18
|
+
*/
|
|
19
|
+
export interface SubAgentWorkerInfo {
|
|
20
|
+
id: string;
|
|
21
|
+
role: string;
|
|
22
|
+
status: SubAgentWorkerStatus;
|
|
23
|
+
handle?: SubAgentHandle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* SubAgent run state.
|
|
27
|
+
*/
|
|
28
|
+
export interface SubAgentRunState {
|
|
29
|
+
/** Unique run ID */
|
|
30
|
+
runId: string;
|
|
31
|
+
/** Current phase */
|
|
32
|
+
phase: SubAgentPhase;
|
|
33
|
+
/** Start time */
|
|
34
|
+
startTime: number;
|
|
35
|
+
/** Workers and their statuses */
|
|
36
|
+
workers: SubAgentWorkerInfo[];
|
|
37
|
+
/** Final report if completed */
|
|
38
|
+
report?: SubAgentRunReport;
|
|
39
|
+
/** Error message if failed */
|
|
40
|
+
error?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* SubAgent run report.
|
|
44
|
+
*/
|
|
45
|
+
export interface SubAgentRunReport {
|
|
46
|
+
runId: string;
|
|
47
|
+
summary: string;
|
|
48
|
+
findings: string[];
|
|
49
|
+
changedFiles: string[];
|
|
50
|
+
duration: number;
|
|
51
|
+
success: boolean;
|
|
52
|
+
reportPath?: string;
|
|
53
|
+
workspacePath?: string;
|
|
54
|
+
patchPath?: string;
|
|
55
|
+
patchPreview?: string;
|
|
56
|
+
appliedAt?: number;
|
|
57
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: taskExtension - registers TaskCreate, TaskGet, TaskUpdate, TaskList, TaskStop, TaskOutput, ToolSearch
|
|
3
|
+
* [FROM]: Depends on core/extensions-host/types, ./task-store, ./task-tools
|
|
4
|
+
* [TO]: Auto-loaded by builtin-extensions.ts as a default extension
|
|
5
|
+
* [HERE]: extensions/builtin/task/index.ts - task management and tool discovery extension
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
8
|
+
export default function taskExtension(api: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=Object.defineProperty;var r=(o,e)=>t(o,"name",{value:e,configurable:!0});import{createTaskCreateTool as T}from"./task-tools/task-create-tool.js";import{createTaskGetTool as l}from"./task-tools/task-get-tool.js";import{createTaskUpdateTool as s}from"./task-tools/task-update-tool.js";import{createTaskListTool as m}from"./task-tools/task-list-tool.js";import{createTaskStopTool as a}from"./task-tools/task-stop-tool.js";import{createTaskOutputTool as c}from"./task-tools/task-output-tool.js";import{createToolSearchTool as i}from"./task-tools/tool-search-tool.js";async function f(o){o.registerTool(T()),o.registerTool(l()),o.registerTool(s()),o.registerTool(m()),o.registerTool(a()),o.registerTool(c()),o.registerTool(i(()=>o.getAllTools()))}r(f,"taskExtension");export{f as default};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Task store - CRUD operations with disk persistence
|
|
3
|
+
* [FROM]: Inspired by Claude Code utils/tasks.ts
|
|
4
|
+
* [TO]: Consumed by all task tools
|
|
5
|
+
* [HERE]: extensions/builtin/task/task-store.ts - task state management with atomic file writes
|
|
6
|
+
*/
|
|
7
|
+
import type { Task } from "./task-types.js";
|
|
8
|
+
type TaskUpdateListener = () => void;
|
|
9
|
+
/** Subscribe to task update notifications. Returns unsubscribe function. */
|
|
10
|
+
export declare function onTasksUpdated(listener: TaskUpdateListener): () => void;
|
|
11
|
+
export declare function getTasksDir(agentDir: string, taskListId?: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Create a new task. Returns the created task with assigned ID.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createTask(agentDir: string, taskListId: string, taskData: Omit<Task, "id">): Promise<Task>;
|
|
16
|
+
/**
|
|
17
|
+
* Get a task by ID. Returns null if not found.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getTask(agentDir: string, taskListId: string, taskId: string): Promise<Task | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Update a task. Merges partial updates into existing task.
|
|
22
|
+
* Returns the updated task, or null if not found.
|
|
23
|
+
*/
|
|
24
|
+
export declare function updateTask(agentDir: string, taskListId: string, taskId: string, updates: Partial<Omit<Task, "id">>): Promise<Task | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Delete a task. Updates high water mark to prevent ID reuse.
|
|
27
|
+
* Also cleans up blocks/blockedBy references from other tasks.
|
|
28
|
+
*/
|
|
29
|
+
export declare function deleteTask(agentDir: string, taskListId: string, taskId: string): Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* List all tasks in a task list.
|
|
32
|
+
*/
|
|
33
|
+
export declare function listTasks(agentDir: string, taskListId: string): Promise<Task[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Add a block relationship: fromTask blocks toTask.
|
|
36
|
+
*/
|
|
37
|
+
export declare function blockTask(agentDir: string, taskListId: string, fromTaskId: string, toTaskId: string): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Reset a task list - clears all tasks but preserves high water mark.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resetTaskList(agentDir: string, taskListId: string): Promise<void>;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var g=Object.defineProperty;var i=(t,n)=>g(t,"name",{value:n,configurable:!0});import{mkdir as F,readdir as p,readFile as b,rename as S,unlink as x,writeFile as B}from"node:fs/promises";import{join as u}from"node:path";import{sanitizePathComponent as W,DEFAULT_TASK_LIST_ID as P}from"./task-types.js";const y=new Set;function l(){for(const t of y)try{t()}catch{}}i(l,"notifyTasksUpdated");function R(t){return y.add(t),()=>{y.delete(t)}}i(R,"onTasksUpdated");const _=".highwatermark";function s(t,n=P){return u(t,"tasks",W(n))}i(s,"getTasksDir");function f(t,n,e){return u(s(t,n),`${W(e)}.json`)}i(f,"getTaskPath");function j(t,n){return u(s(t,n),_)}i(j,"getHighWaterMarkPath");async function H(t,n){const e=`${t}.tmp`;await B(e,JSON.stringify(n,null,2),"utf-8"),await S(e,t)}i(H,"atomicWriteJson");async function m(t,n){try{const e=await b(j(t,n),"utf-8"),r=parseInt(e.trim(),10);return isNaN(r)?0:r}catch{return 0}}i(m,"readHighWaterMark");async function M(t,n,e){await B(j(t,n),String(e),"utf-8")}i(M,"writeHighWaterMark");async function A(t,n){const e=s(t,n);return await F(e,{recursive:!0}),e}i(A,"ensureTasksDir");async function N(t,n){const e=s(t,n);let r;try{r=await p(e)}catch{return 0}let c=0;for(const a of r){if(!a.endsWith(".json"))continue;const o=parseInt(a.replace(".json",""),10);!isNaN(o)&&o>c&&(c=o)}return c}i(N,"findHighestTaskIdFromFiles");async function U(t,n){const[e,r]=await Promise.all([N(t,n),m(t,n)]);return Math.max(e,r)}i(U,"findHighestTaskId");async function $(t,n,e){await A(t,n);const r=await U(t,n),c=String(r+1),a={id:c,...e},o=f(t,n,c);return await H(o,a),l(),a}i($,"createTask");async function h(t,n,e){const r=f(t,n,e);try{const c=await b(r,"utf-8"),a=JSON.parse(c);return!a.id||!a.subject||!a.status?null:a}catch{return null}}i(h,"getTask");async function k(t,n,e,r){const c=await h(t,n,e);if(!c)return null;const a={...c,...r,id:e},o=f(t,n,e);return await H(o,a),l(),a}i(k,"updateTask");async function z(t,n,e){const r=f(t,n,e);try{const c=parseInt(e,10);if(!isNaN(c)){const o=await m(t,n);c>o&&await M(t,n,c)}await x(r),l();const a=await E(t,n);for(const o of a){const d=o.blocks.filter(w=>w!==e),T=o.blockedBy.filter(w=>w!==e);(d.length!==o.blocks.length||T.length!==o.blockedBy.length)&&await k(t,n,o.id,{blocks:d,blockedBy:T})}return!0}catch{return!1}}i(z,"deleteTask");async function E(t,n){const e=s(t,n);let r;try{r=await p(e)}catch{return[]}const c=r.filter(o=>o.endsWith(".json")).map(o=>o.replace(".json",""));return(await Promise.all(c.map(o=>h(t,n,o)))).filter(o=>o!==null)}i(E,"listTasks");async function C(t,n,e,r){const[c,a]=await Promise.all([h(t,n,e),h(t,n,r)]);return!c||!a?!1:(c.blocks.includes(r)||await k(t,n,e,{blocks:[...c.blocks,r]}),a.blockedBy.includes(e)||await k(t,n,r,{blockedBy:[...a.blockedBy,e]}),!0)}i(C,"blockTask");async function G(t,n){const e=s(t,n),r=await N(t,n);if(r>0){const a=await m(t,n);r>a&&await M(t,n,r)}let c;try{c=await p(e)}catch{return}for(const a of c)a.endsWith(".json")&&!a.startsWith(".")&&await x(u(e,a)).catch(()=>{});l()}i(G,"resetTaskList");export{C as blockTask,$ as createTask,z as deleteTask,h as getTask,s as getTasksDir,E as listTasks,R as onTasksUpdated,G as resetTaskList,k as updateTask};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: TaskCreate tool - creates a new task in the task list
|
|
3
|
+
* [FROM]: Depends on @sinclair/typebox, ../task-store, ../task-types
|
|
4
|
+
* [TO]: Consumed by task extension via registerTool()
|
|
5
|
+
* [HERE]: extensions/builtin/task/task-tools/task-create-tool.ts
|
|
6
|
+
*/
|
|
7
|
+
import type { Static } from "@sinclair/typebox";
|
|
8
|
+
import type { AgentToolResult } from "@catui/agent-core";
|
|
9
|
+
import type { ExtensionContext } from "../../../../core/extensions-host/types.js";
|
|
10
|
+
import { type Component } from "@catui/tui";
|
|
11
|
+
import type { Theme } from "../../../../core/theme-contract.js";
|
|
12
|
+
declare const taskCreateSchema: import("@sinclair/typebox").TObject<{
|
|
13
|
+
subject: import("@sinclair/typebox").TString;
|
|
14
|
+
description: import("@sinclair/typebox").TString;
|
|
15
|
+
activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
16
|
+
metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
|
|
17
|
+
}>;
|
|
18
|
+
export type TaskCreateInput = Static<typeof taskCreateSchema>;
|
|
19
|
+
export declare function createTaskCreateTool(): {
|
|
20
|
+
name: string;
|
|
21
|
+
label: string;
|
|
22
|
+
description: string;
|
|
23
|
+
parameters: import("@sinclair/typebox").TObject<{
|
|
24
|
+
subject: import("@sinclair/typebox").TString;
|
|
25
|
+
description: import("@sinclair/typebox").TString;
|
|
26
|
+
activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
27
|
+
metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
|
|
28
|
+
}>;
|
|
29
|
+
renderCall: (args: unknown, theme: Theme) => Component;
|
|
30
|
+
renderResult: (result: AgentToolResult<unknown>, _opts: {
|
|
31
|
+
expanded: boolean;
|
|
32
|
+
isPartial: boolean;
|
|
33
|
+
}, theme: Theme) => Component;
|
|
34
|
+
guidance: string;
|
|
35
|
+
execute(_toolCallId: string, params: TaskCreateInput, _signal: AbortSignal | undefined, _onUpdate: undefined, ctx: ExtensionContext): Promise<AgentToolResult<unknown>>;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var u=Object.defineProperty;var c=(r,t)=>u(r,"name",{value:t,configurable:!0});import{Type as n}from"@sinclair/typebox";import{Container as l,Text as d}from"@catui/tui";import{createTask as p}from"../task-store.js";import{DEFAULT_TASK_LIST_ID as h}from"../task-types.js";const k=n.Object({subject:n.String({description:"A brief title for the task"}),description:n.String({description:"What needs to be done"}),activeForm:n.Optional(n.String({description:'Present continuous form shown in spinner when in_progress (e.g., "Running tests")'})),metadata:n.Optional(n.Record(n.String(),n.Unknown(),{description:"Arbitrary metadata to attach to the task"}))});function w(){return{name:"TaskCreate",label:"Create Task",description:"Create a new task in the task list.",parameters:k,renderCall:c((r,t)=>{const e=r,i=new l;if(i.addChild(new d(t.fg("toolTitle",t.bold("TaskCreate")),0,0)),i.addChild(new d(t.fg("muted"," Subject: ")+t.fg("text",e.subject??""),0,0)),e.description){const o=e.description.length>200?e.description.slice(0,200)+"...":e.description;i.addChild(new d(t.fg("muted"," ")+t.fg("toolOutput",o),0,0))}return i},"renderCall"),renderResult:c((r,t,e)=>{const i=new l,o=r.details;if(o?.error)i.addChild(new d(e.fg("error"," "+o.error),0,0));else if(o?.task)i.addChild(new d(e.fg("success",` Task #${o.task.id} created`)+e.fg("muted"," \u2014 ")+e.fg("text",o.task.subject),0,0));else{const s=r.content?.filter(a=>a.type==="text").map(a=>a.type==="text"?a.text:"").join(`
|
|
2
|
+
`);s&&i.addChild(new d(e.fg("toolOutput",s),0,0))}return i},"renderResult"),guidance:`Use this tool to create a structured task list for your current coding session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user.
|
|
3
|
+
It also helps the user understand the progress of the task and overall progress of their requests.
|
|
4
|
+
|
|
5
|
+
## When to Use This Tool
|
|
6
|
+
|
|
7
|
+
Use this tool proactively in these scenarios:
|
|
8
|
+
|
|
9
|
+
- Complex multi-step tasks - When a task requires 3 or more distinct steps or actions
|
|
10
|
+
- Non-trivial and complex tasks - Tasks that require careful planning or multiple operations
|
|
11
|
+
- Plan mode - When using plan mode, create a task list to track the work
|
|
12
|
+
- User explicitly requests todo list - When the user directly asks you to use the todo list
|
|
13
|
+
- User provides multiple tasks - When users provide a list of things to be done (numbered or comma-separated)
|
|
14
|
+
- After receiving new instructions - Immediately capture user requirements as tasks
|
|
15
|
+
- When you start working on a task - Mark it as in_progress BEFORE beginning work
|
|
16
|
+
- After completing a task - Mark it as completed and add any new follow-up tasks discovered during implementation
|
|
17
|
+
|
|
18
|
+
## When NOT to Use This Tool
|
|
19
|
+
|
|
20
|
+
Skip using this tool when:
|
|
21
|
+
- There is only a single, straightforward task
|
|
22
|
+
- The task is trivial and tracking it provides no organizational benefit
|
|
23
|
+
- The task can be completed in less than 3 trivial steps
|
|
24
|
+
- The task is purely conversational or informational
|
|
25
|
+
|
|
26
|
+
NOTE that you should not use this tool if there is only one trivial task to do. In this case you are better off just doing the task directly.
|
|
27
|
+
|
|
28
|
+
## Task Fields
|
|
29
|
+
|
|
30
|
+
- **subject**: A brief, actionable title in imperative form (e.g., "Fix authentication bug in login flow")
|
|
31
|
+
- **description**: What needs to be done
|
|
32
|
+
- **activeForm** (optional): Present continuous form shown in the spinner when the task is in_progress (e.g., "Fixing authentication bug"). If omitted, the spinner shows the subject instead.
|
|
33
|
+
|
|
34
|
+
All tasks are created with status \`pending\`.
|
|
35
|
+
|
|
36
|
+
## Tips
|
|
37
|
+
|
|
38
|
+
- Create tasks with clear, specific subjects that describe the outcome
|
|
39
|
+
- After creating tasks, use TaskUpdate to set up dependencies (blocks/blockedBy) if needed
|
|
40
|
+
- Check TaskList first to avoid creating duplicate tasks`,async execute(r,t,e,i,o){try{const s=await p(o.agentDir,h,{subject:t.subject,description:t.description,activeForm:t.activeForm,status:"pending",owner:void 0,blocks:[],blockedBy:[],metadata:t.metadata});return{content:[{type:"text",text:`Task #${s.id} created successfully: ${s.subject}`}],details:{task:{id:s.id,subject:s.subject}}}}catch(s){const a=s instanceof Error?s.message:String(s);return{content:[{type:"text",text:`Error: Failed to create task: ${a}`}],details:{error:a}}}}}}c(w,"createTaskCreateTool");export{w as createTaskCreateTool};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: TaskGet tool - retrieves a task by ID
|
|
3
|
+
* [FROM]: Depends on @sinclair/typebox, ../task-store, ../task-types
|
|
4
|
+
* [TO]: Consumed by task extension via registerTool()
|
|
5
|
+
* [HERE]: extensions/builtin/task/task-tools/task-get-tool.ts
|
|
6
|
+
*/
|
|
7
|
+
import type { Static } from "@sinclair/typebox";
|
|
8
|
+
import type { AgentToolResult } from "@catui/agent-core";
|
|
9
|
+
import type { ExtensionContext } from "../../../../core/extensions-host/types.js";
|
|
10
|
+
import { type Component } from "@catui/tui";
|
|
11
|
+
import type { Theme } from "../../../../core/theme-contract.js";
|
|
12
|
+
declare const taskGetSchema: import("@sinclair/typebox").TObject<{
|
|
13
|
+
taskId: import("@sinclair/typebox").TString;
|
|
14
|
+
}>;
|
|
15
|
+
export type TaskGetInput = Static<typeof taskGetSchema>;
|
|
16
|
+
export declare function createTaskGetTool(): {
|
|
17
|
+
name: string;
|
|
18
|
+
label: string;
|
|
19
|
+
description: string;
|
|
20
|
+
parameters: import("@sinclair/typebox").TObject<{
|
|
21
|
+
taskId: import("@sinclair/typebox").TString;
|
|
22
|
+
}>;
|
|
23
|
+
renderCall: (args: unknown, theme: Theme) => Component;
|
|
24
|
+
renderResult: (result: AgentToolResult<unknown>, _opts: {
|
|
25
|
+
expanded: boolean;
|
|
26
|
+
isPartial: boolean;
|
|
27
|
+
}, theme: Theme) => Component;
|
|
28
|
+
guidance: string;
|
|
29
|
+
execute(_toolCallId: string, params: TaskGetInput, _signal: AbortSignal | undefined, _onUpdate: undefined, ctx: ExtensionContext): Promise<AgentToolResult<unknown>>;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var u=Object.defineProperty;var l=(r,i)=>u(r,"name",{value:i,configurable:!0});import{Type as c}from"@sinclair/typebox";import{Container as k,Text as n}from"@catui/tui";import{getTask as f}from"../task-store.js";import{DEFAULT_TASK_LIST_ID as p}from"../task-types.js";const g=c.Object({taskId:c.String({description:"The ID of the task to retrieve"})});function w(){return{name:"TaskGet",label:"Get Task",description:"Retrieve a task by its ID, showing full details including blocks/blockedBy.",parameters:g,renderCall:l((r,i)=>{const s=r,o=new k;return o.addChild(new n(i.fg("toolTitle",i.bold("TaskGet")),0,0)),o.addChild(new n(i.fg("muted"," Task #")+i.fg("text",s.taskId??"?"),0,0)),o},"renderCall"),renderResult:l((r,i,s)=>{const o=new k,d=r.details;if(d?.error)o.addChild(new n(s.fg("error"," "+d.error),0,0));else if(d?.taskNull)o.addChild(new n(s.fg("muted"," Task not found"),0,0));else if(d?.task){const t=d.task,e=t.status==="completed"?"success":t.status==="in_progress"?"accent":"muted";if(o.addChild(new n(s.fg("toolTitle",` #${t.id}`)+" "+s.fg("text",t.subject),0,0)),o.addChild(new n(s.fg("muted"," Status: ")+s.fg(e,t.status),0,0)),t.description){const a=t.description.length>300?t.description.slice(0,300)+"...":t.description;o.addChild(new n(s.fg("muted"," ")+s.fg("toolOutput",a),0,0))}t.blockedBy.length>0&&o.addChild(new n(s.fg("warning",` Blocked by: ${t.blockedBy.map(a=>`#${a}`).join(", ")}`),0,0)),t.blocks.length>0&&o.addChild(new n(s.fg("muted",` Blocks: ${t.blocks.map(a=>`#${a}`).join(", ")}`),0,0))}else{const t=r.content?.filter(e=>e.type==="text").map(e=>e.type==="text"?e.text:"").join(`
|
|
2
|
+
`);t&&o.addChild(new n(s.fg("toolOutput",t),0,0))}return o},"renderResult"),guidance:`Use this tool to retrieve a task by its ID from the task list.
|
|
3
|
+
|
|
4
|
+
## When to Use This Tool
|
|
5
|
+
|
|
6
|
+
- When you need the full description and context before starting work on a task
|
|
7
|
+
- To understand task dependencies (what it blocks, what blocks it)
|
|
8
|
+
- After being assigned a task, to get complete requirements
|
|
9
|
+
|
|
10
|
+
## Output
|
|
11
|
+
|
|
12
|
+
Returns full task details:
|
|
13
|
+
- **subject**: Task title
|
|
14
|
+
- **description**: Detailed requirements and context
|
|
15
|
+
- **status**: 'pending', 'in_progress', or 'completed'
|
|
16
|
+
- **blocks**: Tasks waiting on this one to complete
|
|
17
|
+
- **blockedBy**: Tasks that must complete before this one can start
|
|
18
|
+
|
|
19
|
+
## Tips
|
|
20
|
+
|
|
21
|
+
- After fetching a task, verify its blockedBy list is empty before beginning work.
|
|
22
|
+
- Use TaskList to see all tasks in summary form.`,async execute(r,i,s,o,d){try{const t=await f(d.agentDir,p,i.taskId);if(!t)return{content:[{type:"text",text:"Task not found"}],details:{task:null}};const e=[`Task #${t.id}: ${t.subject}`,`Status: ${t.status}`,`Description: ${t.description}`];return t.owner&&e.push(`Owner: ${t.owner}`),t.activeForm&&e.push(`Active form: ${t.activeForm}`),t.blockedBy.length>0&&e.push(`Blocked by: ${t.blockedBy.map(a=>`#${a}`).join(", ")}`),t.blocks.length>0&&e.push(`Blocks: ${t.blocks.map(a=>`#${a}`).join(", ")}`),{content:[{type:"text",text:e.join(`
|
|
23
|
+
`)}],details:{task:{id:t.id,subject:t.subject,description:t.description,status:t.status,blocks:t.blocks,blockedBy:t.blockedBy}}}}catch(t){const e=t instanceof Error?t.message:String(t);return{content:[{type:"text",text:`Error: ${e}`}],details:{error:e}}}}}}l(w,"createTaskGetTool");export{w as createTaskGetTool};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: TaskList tool - lists all tasks in the task list
|
|
3
|
+
* [FROM]: Depends on @sinclair/typebox, ../task-store, ../task-types
|
|
4
|
+
* [TO]: Consumed by task extension via registerTool()
|
|
5
|
+
* [HERE]: extensions/builtin/task/task-tools/task-list-tool.ts
|
|
6
|
+
*/
|
|
7
|
+
import type { Static } from "@sinclair/typebox";
|
|
8
|
+
import type { AgentToolResult } from "@catui/agent-core";
|
|
9
|
+
import type { ExtensionContext } from "../../../../core/extensions-host/types.js";
|
|
10
|
+
import { type Component } from "@catui/tui";
|
|
11
|
+
import type { Theme } from "../../../../core/theme-contract.js";
|
|
12
|
+
declare const taskListSchema: import("@sinclair/typebox").TObject<{}>;
|
|
13
|
+
export type TaskListInput = Static<typeof taskListSchema>;
|
|
14
|
+
export declare function createTaskListTool(): {
|
|
15
|
+
name: string;
|
|
16
|
+
label: string;
|
|
17
|
+
description: string;
|
|
18
|
+
parameters: import("@sinclair/typebox").TObject<{}>;
|
|
19
|
+
renderCall: (_args: unknown, theme: Theme) => Component;
|
|
20
|
+
renderResult: (result: AgentToolResult<unknown>, _opts: {
|
|
21
|
+
expanded: boolean;
|
|
22
|
+
isPartial: boolean;
|
|
23
|
+
}, theme: Theme) => Component;
|
|
24
|
+
guidance: string;
|
|
25
|
+
execute(_toolCallId: string, _params: TaskListInput, _signal: AbortSignal | undefined, _onUpdate: undefined, ctx: ExtensionContext): Promise<AgentToolResult<unknown>>;
|
|
26
|
+
};
|
|
27
|
+
export {};
|