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,49 @@
|
|
|
1
|
+
var C=Object.defineProperty;var c=(r,e)=>C(r,"name",{value:e,configurable:!0});import{Box as D,Container as E,Spacer as $,Text as I}from"@catui/tui";import{collectSystemInfo as h,collectModelInfo as y,collectSessionInfo as b,collectConfigInfo as O,collectGitInfo as M,collectAgentState as P,collectPreferencesInfo as U,sanitizeForLLM as _,formatDiagnosticData as L}from"./collectors.js";const S="debug",v="[DEBUG:",A="[DEBUG]",j=`You are a diagnostic analyst for Catui (a terminal-native AI coding agent).
|
|
2
|
+
Analyze the provided system state and produce a structured three-layer diagnostic report.
|
|
3
|
+
|
|
4
|
+
Output format (use these exact section headers):
|
|
5
|
+
|
|
6
|
+
### Layer 1: Phenomenon (\u73B0\u8C61\u5C42) \u2014 "What's observable"
|
|
7
|
+
- Surface symptoms from the data
|
|
8
|
+
- Current state snapshot summary
|
|
9
|
+
- Environment conditions
|
|
10
|
+
- Any errors, warnings, or anomalies visible in the collected data
|
|
11
|
+
- If a diagnostic category failed to collect, note it as a symptom
|
|
12
|
+
|
|
13
|
+
### Layer 2: Essence (\u672C\u8D28\u5C42) \u2014 "Why it breaks"
|
|
14
|
+
- Root cause chain analysis
|
|
15
|
+
- Dependency or coupling issues
|
|
16
|
+
- Violated invariants or misconfigurations
|
|
17
|
+
- Reference relevant file paths or config keys where applicable
|
|
18
|
+
|
|
19
|
+
### Layer 3: Philosophy (\u54F2\u5B66\u5C42) \u2014 "How to design it right"
|
|
20
|
+
- Design principles at stake
|
|
21
|
+
- Long-term cost analysis of the current state
|
|
22
|
+
- Actionable remediation steps (numbered list, at least 3 items)
|
|
23
|
+
- Prevention strategies
|
|
24
|
+
|
|
25
|
+
Rules:
|
|
26
|
+
- Be direct and analytical \u2014 no filler
|
|
27
|
+
- If the user provided an issue description, focus analysis on that issue
|
|
28
|
+
- If no specific issue, perform a general health assessment
|
|
29
|
+
- Use concise language; prefer tables and bullet lists over prose
|
|
30
|
+
- If a diagnostic collection failed, treat that failure itself as a diagnostic signal
|
|
31
|
+
- Do NOT use any tools \u2014 this is a pure analysis task`;let p;function k(r){return r.startsWith(v)}c(k,"isDebugPrompt");const z=[{value:"env",label:"env",description:"Show terminal and system details"},{value:"session",label:"session",description:"Show current conversation state"},{value:"model",label:"model",description:"Show active model and provider details"},{value:"preferences",label:"preferences",description:"Show saved preferences"}],R=[{value:"zh",label:"zh",description:"Use Chinese for future replies"},{value:"en",label:"en",description:"Use English for future replies"}];function w(r){const e=r.trim().toLowerCase();return e==="env"?{subcommand:"env"}:e==="session"?{subcommand:"session"}:e==="model"?{subcommand:"model"}:e==="preferences"?{subcommand:"preferences"}:{subcommand:"full",issueDescription:r.trim()||void 0}}c(w,"parseDebugArgs");async function T(r,e,o){const n=w(r);e.ui.setStatus("debug","Collecting diagnostics...");try{const[t,s,a,i,u,l]=await Promise.allSettled([h(),y(e),b(e),O(e),M(e.cwd),P(e)]),m={system:t.status==="fulfilled"?t.value:{data:null,error:String(t.reason)},model:s.status==="fulfilled"?s.value:{data:null,error:String(s.reason)},session:a.status==="fulfilled"?a.value:{data:null,error:String(a.reason)},config:i.status==="fulfilled"?i.value:{data:null,error:String(i.reason)},git:u.status==="fulfilled"?u.value:{data:null,error:String(u.reason)},agent:l.status==="fulfilled"?l.value:{data:null,error:String(l.reason)}},g=_(m);e.ui.setStatus("debug",void 0);const d=[];d.push(`${A} Perform a three-layer diagnostic analysis.`),n.issueDescription&&d.push(`
|
|
32
|
+
User-Reported Issue: ${n.issueDescription}`),d.push(`
|
|
33
|
+
Collected Diagnostics:
|
|
34
|
+
`),d.push(L(g));const f=`${v}${Date.now()}]
|
|
35
|
+
${d.join(`
|
|
36
|
+
`)}`;p=f,o.sendUserMessage(f,{deliverAs:"followUp"})}catch(t){e.ui.setStatus("debug",void 0);const s=t instanceof Error?t.message:String(t);e.ui.notify(`Debug error: ${s}`,"error")}}c(T,"handleFullDiagnostic");async function B(r,e,o){let n;switch(r){case"env":{const t=await h();n=t.data?`| System | |
|
|
37
|
+
|---|---|
|
|
38
|
+
${Object.entries(t.data).map(([s,a])=>`| ${s} | ${a} |`).join(`
|
|
39
|
+
`)}`:`> Collection failed: ${t.error}`;break}case"session":{const t=await b(e);n=t.data?`| Session | |
|
|
40
|
+
|---|---|
|
|
41
|
+
${Object.entries(t.data).map(([s,a])=>`| ${s} | ${a} |`).join(`
|
|
42
|
+
`)}`:`> Collection failed: ${t.error}`;break}case"model":{const t=await y(e);n=t.data?`| Model | |
|
|
43
|
+
|---|---|
|
|
44
|
+
${Object.entries(t.data).map(([s,a])=>`| ${s} | ${a} |`).join(`
|
|
45
|
+
`)}`:`> Collection failed: ${t.error}`;break}case"preferences":{const t=await U(e);n=t.data?`| Preferences | |
|
|
46
|
+
|---|---|
|
|
47
|
+
${Object.entries(t.data).map(([s,a])=>`| ${s} | ${typeof a=="string"?a:JSON.stringify(a)} |`).join(`
|
|
48
|
+
`)}`:`> Collection failed: ${t.error}`;break}}o.sendMessage({customType:S,content:n,display:!0})}c(B,"handleQuickSub");async function G(r,e,o){const n=w(r);n.subcommand!=="full"?await B(n.subcommand,e,o):await T(r,e,o)}c(G,"handleDebugCommand");async function N(r){r.registerMessageRenderer(S,(e,o,n)=>{const t=typeof e.content=="string"?e.content:e.content.filter(i=>i.type==="text").map(i=>i.text).join(`
|
|
49
|
+
`),s=new D(1,1,i=>n.bg("customMessageBg",i));s.addChild(new I(n.fg("dim",t),0,0));const a=new E;return a.addChild(new $(1)),a.addChild(s),a}),r.on("before_agent_start",e=>{if(!(!k(e.prompt)||e.prompt!==p))return{appendSystemPrompt:j}}),r.on("agent_end",()=>{p&&(p=void 0)}),r.registerCommand("debug",{description:"Check Catui health or investigate an issue. Usage: /debug [env|session|model|preferences|<issue>]",getArgumentCompletions:c((e,o)=>{if(o&&o.tokenIndex>0)return null;const n=e.trim().toLowerCase(),t=z.filter(s=>s.value.startsWith(n));return t.length>0?t:null},"getArgumentCompletions"),handler:c((e,o)=>G(e,o,r),"handler")}),r.registerCommand("set-locale",{description:"Set language preference (/set-locale zh|en)",getArgumentCompletions:c((e,o)=>{if(o&&o.tokenIndex>0)return null;const n=e.trim().toLowerCase(),t=R.filter(s=>s.value.startsWith(n));return t.length>0?t:null},"getArgumentCompletions"),handler:c(async(e,o)=>{const n=e.trim().toLowerCase();if(n!=="zh"&&n!=="en"){o.ui.notify("Usage: /set-locale zh or /set-locale en","info");return}const t=await import("node:os"),s=await import("node:fs"),a=await import("node:path"),i=process.env.NANOMEM_MEMORY_DIR||a.join(t.homedir(),".catui","agent","memory"),u=a.join(i,"preferences.json");try{let l=[];s.existsSync(u)&&(l=JSON.parse(s.readFileSync(u,"utf-8")));const m=l.findIndex(d=>{const f=d.name||"";return f.includes("\u7528\u6237\u504F\u597D")||f.includes("language preference")||f.includes("locale")}),g={id:`set-locale-${Date.now()}`,type:"preference",name:n==="zh"?"\u7528\u6237\u504F\u597D\u4E2D\u6587":"Language Preference (English)",summary:n==="zh"?"\u7528\u6237\u5E0C\u671B\u6211\u7528\u4E2D\u6587\u56DE\u590D":"User prefers English",detail:n==="zh"?"\u7528\u6237\u901A\u8FC7 /set-locale \u547D\u4EE4\u660E\u786E\u8BBE\u7F6E\u8BED\u8A00\u4E3A\u4E2D\u6587":"User explicitly set language to English via /set-locale command",content:n==="zh"?"\u7528\u6237\u5E0C\u671B\u7528\u4E2D\u6587\u56DE\u590D":"User prefers English responses",tags:["locale","language",n==="zh"?"\u4E2D\u6587":"english"],importance:10,strength:1e3,created:new Date().toISOString(),eventTime:new Date().toISOString(),accessCount:0,retention:"core",salience:10,stability:"stable",relations:[]};m>=0?l[m]=g:l.push(g),s.mkdirSync(i,{recursive:!0}),s.writeFileSync(u,JSON.stringify(l,null,2)),o.ui.notify(`Locale set to ${n==="zh"?"\u4E2D\u6587":"English"}. Restart or run /debug preferences to verify.`,"info")}catch(l){o.ui.notify(`Failed to set locale: ${l}`,"error")}},"handler")})}c(N,"debugExtension");export{N as default};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: DiagnosticBuffer, coerceDiagnosticEvent()
|
|
3
|
+
* [FROM]: Depends on ./types.js and ./redaction.js for event schema and privacy normalization
|
|
4
|
+
* [TO]: Consumed by extensions/builtin/diagnostics/index.ts
|
|
5
|
+
* [HERE]: extensions/builtin/diagnostics/diagnostic-buffer.ts - session-local dedupe and prompt gating state
|
|
6
|
+
*/
|
|
7
|
+
import { type DiagnosticEvent, type DiagnosticRecord } from "./types.js";
|
|
8
|
+
export declare class DiagnosticBuffer {
|
|
9
|
+
private records;
|
|
10
|
+
add(event: DiagnosticEvent): DiagnosticRecord;
|
|
11
|
+
all(): DiagnosticRecord[];
|
|
12
|
+
last(): DiagnosticRecord | undefined;
|
|
13
|
+
findPromptCandidate(): DiagnosticRecord | undefined;
|
|
14
|
+
findUnreported(): DiagnosticRecord[];
|
|
15
|
+
markPrompted(fingerprint: string): void;
|
|
16
|
+
markReported(fingerprint: string): void;
|
|
17
|
+
private trim;
|
|
18
|
+
}
|
|
19
|
+
export declare function coerceDiagnosticEvent(value: unknown): DiagnosticEvent | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var g=Object.defineProperty;var s=(t,e)=>g(t,"name",{value:e,configurable:!0});import{normalizeDiagnosticMessage as a,sanitizeDiagnosticValue as u}from"./redaction.js";const d=100,p=10,_=3;class k{static{s(this,"DiagnosticBuffer")}records=new Map;add(e){const r=e.created_at??new Date().toISOString(),o={source:e.source,severity:e.severity,category:e.category,message:a(e.message),detail:u(e.detail),context:u(e.context),created_at:r},i=e.fingerprint??m(o),n=this.records.get(i);if(n){const f=n.severity;return n.last_seen_at=r,n.occurrence_count+=1,n.severity=R(n.severity,o.severity),n.detail=o.detail,n.context={...n.context??{},...o.context??{}},y(n,f)&&(n.reported=!1),n}const c={...o,fingerprint:i,first_seen_at:r,last_seen_at:r,occurrence_count:1,prompted:!1,reported:!1};return this.records.set(i,c),this.trim(),c}all(){return Array.from(this.records.values()).sort((e,r)=>r.last_seen_at.localeCompare(e.last_seen_at))}last(){return this.all()[0]}findPromptCandidate(){return this.all().find(e=>!e.prompted&&l(e))}findUnreported(){return this.all().filter(e=>!e.reported)}markPrompted(e){const r=this.records.get(e);r&&(r.prompted=!0)}markReported(e){const r=this.records.get(e);r&&(r.reported=!0,r.reported_occurrence_count=r.occurrence_count)}trim(){if(this.records.size<=d)return;const e=this.all();for(const r of e.slice(d))this.records.delete(r.fingerprint)}}function D(t){if(!t||typeof t!="object")return;const e=t,r=typeof e.source=="string"?e.source:void 0,o=h(e.severity)?e.severity:void 0,i=x(e.category)?e.category:"unknown",n=typeof e.message=="string"?e.message:void 0;if(!(!r||!o||!n))return{source:r,severity:o,category:i,message:n,detail:e.detail,fingerprint:typeof e.fingerprint=="string"?e.fingerprint:void 0,context:e.context&&typeof e.context=="object"?e.context:void 0,created_at:typeof e.created_at=="string"?e.created_at:void 0}}s(D,"coerceDiagnosticEvent");function l(t){return t.severity==="error"?t.occurrence_count>=3:t.severity==="warning"?t.occurrence_count>=5||t.category==="fallback":!1}s(l,"shouldPrompt");function y(t,e){if(!t.reported)return!1;if(t.severity!==e)return!0;const r=t.reported_occurrence_count??t.occurrence_count,o=t.occurrence_count-r,i=t.severity==="error"?_:p;return o>=i}s(y,"shouldReportAgain");function m(t){return`${t.source}:${t.category}:${a(t.message).toLowerCase()}`}s(m,"buildFingerprint");function h(t){return t==="debug"||t==="info"||t==="warning"||t==="error"}s(h,"isSeverity");function x(t){return t==="network"||t==="fallback"||t==="persistence"||t==="config"||t==="extension_timeout"||t==="schema"||t==="unknown"}s(x,"isCategory");function R(t,e){const r={debug:0,info:1,warning:2,error:3};return r[e]>r[t]?e:t}s(R,"maxSeverity");export{k as DiagnosticBuffer,D as coerceDiagnosticEvent};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: diagnosticsExtension - diagnostic:event listener, /report-issue command, silent auto-upload on agent_end
|
|
3
|
+
* [FROM]: Depends on core/extensions-host/types, @catui/tui, ./diagnostic-buffer, ./reporter, ./types
|
|
4
|
+
* [TO]: Auto-loaded by builtin-extensions.ts as a default extension before diagnostic producers
|
|
5
|
+
* [HERE]: extensions/builtin/diagnostics/index.ts - extension-owned diagnostic buffer; background failures auto-upload silently at agent_end plus delayed sweep, /report-issue stays for explicit user-initiated bundles
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
8
|
+
export default function diagnosticsExtension(api: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var g=Object.defineProperty;var s=(e,n)=>g(e,"name",{value:n,configurable:!0});import{Box as p,Container as m,Spacer as h,Text as w}from"@catui/tui";import{subscribeDiagnostics as y}from"../../../utils/diagnostics.js";import{coerceDiagnosticEvent as l,DiagnosticBuffer as C}from"./diagnostic-buffer.js";import{reportDiagnostics as d}from"./reporter.js";import{DIAGNOSTIC_EVENT_CHANNEL as E}from"./types.js";const R="diagnostics",S=[{value:"last",label:"last",description:"Report the latest diagnostic"},{value:"all",label:"all",description:"Report all diagnostics from this session"}];function _(e,n){if(n&&n.tokenIndex>0)return null;const o=e.trim().toLowerCase(),t=S.filter(r=>r.value.startsWith(o));return t.length>0?t.map(r=>({...r})):null}s(_,"getReportIssueArgumentCompletions");async function v(e){const n=new C;e.registerMessageRenderer(R,(o,t,r)=>{const a=typeof o.content=="string"?o.content:JSON.stringify(o.content,null,2),i=new p(1,1,u=>r.bg("customMessageBg",u));i.addChild(new w(r.fg("dim",a),0,0));const c=new m;return c.addChild(new h(1)),c.addChild(i),c}),e.events.on(E,o=>{const t=l(o);t&&n.add(t)}),y(o=>{const t=l(o);t&&n.add(t)}),e.on("agent_end",async(o,t)=>{await f(n,t),setTimeout(()=>{f(n,t)},1e3).unref?.()}),e.registerCommand("report-issue",{description:"Report recent diagnostics (/report-issue [last|all|note])",getArgumentCompletions:_,handler:s((o,t)=>N(o,t,n),"handler")})}s(v,"diagnosticsExtension");async function f(e,n){const o=e.findUnreported();if(o.length===0)return;const t=o.filter(i=>i.severity==="warning"||i.severity==="error"),r=o.filter(i=>i.severity!=="warning"&&i.severity!=="error");for(const i of r)e.markReported(i.fingerprint);if(t.length===0)return;const a=await d(t,void 0,n);if(a.ok||!a.configured)for(const i of t)e.markReported(i.fingerprint)}s(f,"flushUploadableDiagnostics");async function N(e,n,o){const t=e.trim(),r=k(t,o);if(r.length===0){n.ui.notify("No diagnostics recorded in this session.","info");return}const a=t&&t!=="last"&&t!=="all"?I(t):void 0,i=await d(r,a,n);n.ui.notify(i.message,i.ok?"info":"warning"),i.ok&&n.ui.setStatus("diagnostics",void 0)}s(N,"handleReportIssue");function k(e,n){if(e==="all")return n.all();if(e==="last"){const t=n.last();return t?[t]:[]}const o=n.all();return o.length>0?o.slice(0,5):[]}s(k,"selectRecords");function I(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}s(I,"stripQuotes");export{v as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: sanitizeDiagnosticValue(), normalizeDiagnosticMessage()
|
|
3
|
+
* [FROM]: No external dependencies
|
|
4
|
+
* [TO]: Consumed by diagnostic-buffer.ts and reporter.ts before local persistence or network upload
|
|
5
|
+
* [HERE]: extensions/builtin/diagnostics/redaction.ts - privacy-preserving diagnostic normalization
|
|
6
|
+
*/
|
|
7
|
+
export declare function normalizeDiagnosticMessage(message: string): string;
|
|
8
|
+
export declare function sanitizeDiagnosticValue(value: unknown, depth?: number): unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=Object.defineProperty;var i=(e,t)=>a(e,"name",{value:t,configurable:!0});const p=/(api[_-]?key|authorization|token|secret|password|credential|cookie)/i,f=/\b(?:sk|ik|pk|ak|xox[baprs]?|gh[pousr])_[A-Za-z0-9_-]{8,}\b/g,g=/\bBearer\s+[A-Za-z0-9._~+/-]+=*/gi,E=/\/(?:Users|home|root)\/[^\s"',:)]+/g;function T(e){return s(e).replace(/\b[0-9a-f]{8}-[0-9a-f-]{27,}\b/gi,"<uuid>").replace(/\b\d{4}-\d{2}-\d{2}T[\d:.]+Z\b/g,"<timestamp>").replace(/\s+/g," ").trim()}i(T,"normalizeDiagnosticMessage");function o(e,t=0){if(t>5)return"[MaxDepth]";if(typeof e=="string")return s(e);if(typeof e=="number"||typeof e=="boolean"||e==null)return e;if(Array.isArray(e))return e.slice(0,20).map(r=>o(r,t+1));if(typeof e!="object")return String(e);const n={};for(const[r,c]of Object.entries(e)){if(p.test(r)){n[r]="[Redacted]";continue}n[r]=o(c,t+1)}return n}i(o,"sanitizeDiagnosticValue");function s(e){return e.replace(g,"Bearer [Redacted]").replace(f,"[Redacted]").replace(E,"<path>").slice(0,2e3)}i(s,"sanitizeString");export{T as normalizeDiagnosticMessage,o as sanitizeDiagnosticValue};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: reportDiagnostics(), buildReportPayload()
|
|
3
|
+
* [FROM]: Depends on node:http, node:https, node:fs, node:os, node:path, node:crypto, core extension context types, ./types.js, ./redaction.js
|
|
4
|
+
* [TO]: Consumed by extensions/builtin/diagnostics/index.ts for silent auto-upload + /report-issue manual bundles
|
|
5
|
+
* [HERE]: extensions/builtin/diagnostics/reporter.ts - InsForge catui_issue_events adapter; reads CATUI_ISSUE_* env first, falls back to <workspace>/.memory-experiments/credentials.json then ~/.memory-experiments/credentials.json (shared with SAL eval) so issue reporting "just works" once SAL is set up
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionContext } from "../../../core/extensions-host/types.js";
|
|
8
|
+
import type { DiagnosticRecord, DiagnosticReportPayload } from "./types.js";
|
|
9
|
+
interface ReportResult {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
configured: boolean;
|
|
12
|
+
statusCode?: number;
|
|
13
|
+
message: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function reportDiagnostics(records: DiagnosticRecord[], userNote: string | undefined, ctx: ExtensionContext): Promise<ReportResult>;
|
|
16
|
+
export declare function buildReportPayload(records: DiagnosticRecord[], userNote: string | undefined, ctx: ExtensionContext): DiagnosticReportPayload;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var y=Object.defineProperty;var _=(e,o)=>y(e,"name",{value:o,configurable:!0});import{randomUUID as I}from"node:crypto";import{existsSync as E,readFileSync as v}from"node:fs";import{request as K}from"node:http";import{request as N}from"node:https";import{homedir as U}from"node:os";import{join as l}from"node:path";import{URL as k}from"node:url";import{VERSION as A}from"../../../config.js";import{sanitizeDiagnosticValue as S}from"./redaction.js";const h="CATUI_ISSUE_ENDPOINT",w="CATUI_ISSUE_API_KEY",C="CATUI_ISSUE_ANON_KEY",O="CATUI_ISSUE_API_KEY_HEADER";async function L(e,o,n){const t=T();if(!t)return{ok:!1,configured:!1,message:`Issue reporting is not configured. Set ${h} or run /sal:setup to populate .memory-experiments/credentials.json.`};const u=P(e,o,n),c=R(u),m=`${t.endpoint}/api/database/records/catui_issue_events`;return D(m,[c],t)}_(L,"reportDiagnostics");function P(e,o,n){const t=e[0],u=n.model,c=$(()=>n.sessionManager.getSessionId()),m=S(e),a=t?.context??{};return{session_id:f(a.session_id)??c,version:f(a.version)??A,commit_hash:f(a.commit_hash),mode:f(a.mode),source:t?.source,severity:t?.severity,category:t?.category,message:t?.message,fingerprint:t?.fingerprint,provider:f(a.provider)??u?.provider,model_id:f(a.model_id)??u?.id??u?.model??u?.name,thinking:f(a.thinking),tool_summary:a.tool_summary??null,diagnostics:m,user_note:o?String(S(o)):void 0,user_approved:!0,occurrence_count:e.reduce((s,i)=>s+i.occurrence_count,0),first_seen_at:e.reduce((s,i)=>!s||i.first_seen_at<s?i.first_seen_at:s,void 0),last_seen_at:e.reduce((s,i)=>!s||i.last_seen_at>s?i.last_seen_at:s,void 0),client_report_id:I(),created_at:new Date().toISOString()}}_(P,"buildReportPayload");function R(e){const o=e.created_at;return{client_report_id:e.client_report_id,session_id:r(e.session_id),version:r(e.version),commit_hash:r(e.commit_hash),mode:r(e.mode),source:r(e.source),severity:r(e.severity),category:r(e.category),message:r(e.message),fingerprint:r(e.fingerprint),provider:r(e.provider),model_id:r(e.model_id),thinking:r(e.thinking),tool_summary:e.tool_summary==null?null:JSON.stringify(e.tool_summary),diagnostics:e.diagnostics?JSON.stringify(e.diagnostics):null,user_note:r(e.user_note),user_approved:String(e.user_approved===!0),occurrence_count:String(e.occurrence_count??0),first_seen_at:r(e.first_seen_at),last_seen_at:r(e.last_seen_at),recorded_at:o}}_(R,"serializeRow");function T(){const e=process.env[h]?.replace(/\/+$/,"");if(e)return{endpoint:e,apiKey:process.env[w],anonKey:process.env[C],apiKeyHeader:process.env[O]};const o=[l(process.cwd(),".memory-experiments","credentials.json"),l(U(),".memory-experiments","credentials.json")];for(const n of o)if(E(n))try{const t=JSON.parse(v(n,"utf-8")),u=typeof t.endpoint=="string"?t.endpoint.replace(/\/+$/,""):void 0;if(!u)continue;return{endpoint:u,apiKey:typeof t.api_key=="string"?t.api_key:void 0,anonKey:typeof t.anon_key=="string"?t.anon_key:void 0,allowSelfSigned:t.allow_self_signed===!0}}catch{}}_(T,"resolveReporterCreds");function D(e,o,n){return new Promise(t=>{const u=JSON.stringify(o);let c;try{c=new k(e)}catch{t({ok:!1,configured:!0,message:"Invalid issue endpoint URL."});return}const m=c.protocol==="https:",a=m?N:K,s={"Content-Type":"application/json","Content-Length":String(Buffer.byteLength(u))};n.anonKey&&(s.apikey=n.anonKey,s.Authorization=`Bearer ${n.anonKey}`),n.apiKey&&(s[n.apiKeyHeader??"x-api-key"]=n.apiKey,s.Authorization=`Bearer ${n.apiKey}`);const i=a({hostname:c.hostname,port:c.port?Number(c.port):m?443:80,path:c.pathname+c.search,method:"POST",headers:s,timeout:5e3,...m&&n.allowSelfSigned?{rejectUnauthorized:!1}:{}},d=>{let g="";d.setEncoding("utf-8"),d.on("data",p=>{g+=p}),d.on("end",()=>{const p=d.statusCode!==void 0&&d.statusCode<300;t({ok:p,configured:!0,statusCode:d.statusCode,message:p?"Diagnostic report uploaded.":`Issue upload failed: HTTP ${d.statusCode} ${g.slice(0,160)}`})})});i.on("error",d=>t({ok:!1,configured:!0,message:`Issue upload failed: ${d.message}`})),i.on("timeout",()=>{i.destroy(),t({ok:!1,configured:!0,message:"Issue upload timed out."})}),i.write(u),i.end()})}_(D,"postJson");function f(e){return typeof e=="string"&&e?e:void 0}_(f,"str");function r(e){if(e==null)return null;const o=String(e);return o.length===0?null:o}_(r,"strOrNull");function $(e){try{return e()}catch{return}}_($,"safeCall");export{P as buildReportPayload,L as reportDiagnostics};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: DiagnosticEvent, DiagnosticRecord, DiagnosticReportPayload, DIAGNOSTIC_EVENT_CHANNEL
|
|
3
|
+
* [FROM]: No external dependencies
|
|
4
|
+
* [TO]: Consumed by extensions/builtin/diagnostics/* and diagnostic event producers by structural contract
|
|
5
|
+
* [HERE]: extensions/builtin/diagnostics/types.ts - extension-local diagnostic event schema
|
|
6
|
+
*/
|
|
7
|
+
export declare const DIAGNOSTIC_EVENT_CHANNEL = "diagnostic:event";
|
|
8
|
+
export type DiagnosticSeverity = "debug" | "info" | "warning" | "error";
|
|
9
|
+
export type DiagnosticCategory = "network" | "fallback" | "persistence" | "config" | "extension_timeout" | "schema" | "unknown";
|
|
10
|
+
export interface DiagnosticContext {
|
|
11
|
+
version?: string;
|
|
12
|
+
commit_hash?: string;
|
|
13
|
+
session_id?: string;
|
|
14
|
+
mode?: string;
|
|
15
|
+
provider?: string;
|
|
16
|
+
model_id?: string;
|
|
17
|
+
thinking?: string;
|
|
18
|
+
tool_summary?: unknown;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface DiagnosticEvent {
|
|
22
|
+
source: string;
|
|
23
|
+
severity: DiagnosticSeverity;
|
|
24
|
+
category: DiagnosticCategory;
|
|
25
|
+
message: string;
|
|
26
|
+
detail?: unknown;
|
|
27
|
+
fingerprint?: string;
|
|
28
|
+
context?: DiagnosticContext;
|
|
29
|
+
created_at?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface DiagnosticRecord extends DiagnosticEvent {
|
|
32
|
+
fingerprint: string;
|
|
33
|
+
first_seen_at: string;
|
|
34
|
+
last_seen_at: string;
|
|
35
|
+
occurrence_count: number;
|
|
36
|
+
reported_occurrence_count?: number;
|
|
37
|
+
prompted: boolean;
|
|
38
|
+
reported: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface DiagnosticReportPayload {
|
|
41
|
+
session_id?: string;
|
|
42
|
+
version?: string;
|
|
43
|
+
commit_hash?: string;
|
|
44
|
+
mode?: string;
|
|
45
|
+
source?: string;
|
|
46
|
+
severity?: DiagnosticSeverity;
|
|
47
|
+
category?: DiagnosticCategory;
|
|
48
|
+
message?: string;
|
|
49
|
+
fingerprint?: string;
|
|
50
|
+
provider?: string;
|
|
51
|
+
model_id?: string;
|
|
52
|
+
thinking?: string;
|
|
53
|
+
tool_summary?: unknown;
|
|
54
|
+
diagnostics: DiagnosticRecord[];
|
|
55
|
+
user_note?: string;
|
|
56
|
+
user_approved: boolean;
|
|
57
|
+
occurrence_count: number;
|
|
58
|
+
first_seen_at?: string;
|
|
59
|
+
last_seen_at?: string;
|
|
60
|
+
client_report_id: string;
|
|
61
|
+
created_at: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t="diagnostic:event";export{t as DIAGNOSTIC_EVENT_CHANNEL};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: disciplineExtension - registers skill tool, Catui engineering discipline skills, and lightweight bootstrap prompt
|
|
3
|
+
* [FROM]: Depends on node:path, node:url, node:fs, core/extensions-host/types
|
|
4
|
+
* [TO]: Auto-loaded by builtin-extensions.ts as a default extension; consumed by ResourceLoader via resources_discover
|
|
5
|
+
* [HERE]: extensions/builtin/discipline/index.ts - default engineering workflow discipline package
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
8
|
+
export default function disciplineExtension(api: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var h=Object.defineProperty;var l=(n,r)=>h(n,"name",{value:r,configurable:!0});import{existsSync as d,readFileSync as g}from"node:fs";import{dirname as k,join as b}from"node:path";import{fileURLToPath as x}from"node:url";import{Type as s}from"@sinclair/typebox";import{stripFrontmatter as v}from"../../../utils/frontmatter.js";const w=k(x(import.meta.url)),c=b(w,"skills"),S=["brainstorming","systematic-debugging","test-driven-development","verification-before-completion","writing-plans","executing-plans","requesting-code-review","receiving-code-review","using-git-worktrees","finishing-development-branch"],y=["## Catui Engineering Discipline","","Catui ships default discipline skills for coding work. Treat them as executable workflow guidance, not background reading.","","Before taking action, check whether one of these skills applies. If it does, call the `skill` tool or load the matching SKILL.md before other tool use or implementation:",S.map(n=>`- ${n}`).join(`
|
|
2
|
+
`),"","Hard gates:","- Feature or behavior changes start with design clarification when intent, scope, trade-offs, or acceptance criteria are not already explicit.","- Bugs, test failures, build failures, and unexpected behavior require root-cause investigation before fixes.","- Production code changes require a failing test first unless the user explicitly accepts a documented exception.","- Completion claims require fresh verification evidence from commands, tests, diffs, or runtime behavior.","","User instructions still define the goal and may override workflow details. If a skill conflicts with explicit user direction, follow the user and state the trade-off."].join(`
|
|
3
|
+
`),P=s.Object({name:s.Optional(s.String({description:"Exact skill name to load. Omit to list available skills."}))},{additionalProperties:!1});function _(){return{name:"skill",label:"Load Skill",description:"List or load currently available Catui skills. Call this before acting when a skill description matches the task.",parameters:P,isConcurrencySafe:!0,guidance:"Use skill to inspect available workflow instructions. Call with no name to list skills, or with an exact name to load the full skill content.",async execute(n,r,I,L,m){const o=[...m.getSkills()].sort((t,i)=>t.name.localeCompare(i.name)),a=r.name?.trim();if(!a)return{content:[{type:"text",text:[`Available skills (${o.length}):`,"",...o.map(i=>`- ${i.name}: ${i.description}`)].join(`
|
|
4
|
+
`)}],details:{skills:o.map(({name:i,description:f,filePath:u,source:p})=>({name:i,description:f,filePath:u,source:p}))}};const e=o.find(t=>t.name===a);if(!e)return{content:[{type:"text",text:`Skill not found: ${a}
|
|
5
|
+
|
|
6
|
+
Call skill with no name to list available skills.`}],details:{error:"not_found",name:a}};try{const t=v(g(e.filePath,"utf-8")).trim();return{content:[{type:"text",text:[`<skill name="${e.name}" location="${e.filePath}">`,`References are relative to ${e.baseDir}.`,"",t,"</skill>"].join(`
|
|
7
|
+
`)}],details:{name:e.name,filePath:e.filePath,source:e.source}}}catch(t){const i=t instanceof Error?t.message:String(t);return{content:[{type:"text",text:`Failed to load skill "${e.name}": ${i}`}],details:{error:i,name:e.name,filePath:e.filePath}}}}}}l(_,"createSkillTool");async function C(n){n.registerTool(_()),n.on("resources_discover",()=>{if(d(c))return{skillPaths:[c]}}),n.on("before_agent_start",()=>{if(d(c))return{appendSystemPrompt:y}})}l(C,"disciplineExtension");export{C as default};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorming
|
|
3
|
+
description: Use before creative or behavioral work when intent, scope, design choices, acceptance criteria, or trade-offs are not already explicit.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brainstorming
|
|
7
|
+
|
|
8
|
+
Turn an idea into an implementable design before writing code.
|
|
9
|
+
|
|
10
|
+
## Gate
|
|
11
|
+
|
|
12
|
+
Do not edit implementation files until the design is clear enough to state:
|
|
13
|
+
|
|
14
|
+
- The user-visible goal
|
|
15
|
+
- The constrained scope
|
|
16
|
+
- The recommended approach and at least one rejected alternative
|
|
17
|
+
- The main files or modules likely affected
|
|
18
|
+
- Acceptance criteria and verification commands
|
|
19
|
+
|
|
20
|
+
For small changes, the design can be short. The gate is clarity, not ceremony.
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. Explore current project context with read-only tools.
|
|
25
|
+
2. Ask one high-value clarification question at a time only when the answer cannot be inferred safely.
|
|
26
|
+
3. Present 2-3 viable approaches with trade-offs.
|
|
27
|
+
4. Recommend one approach and explain why it fits the existing codebase.
|
|
28
|
+
5. Get user approval before implementation when the change is broad, risky, or changes behavior.
|
|
29
|
+
6. If the design will take multiple implementation steps, transition to `writing-plans`.
|
|
30
|
+
|
|
31
|
+
## Output Standard
|
|
32
|
+
|
|
33
|
+
Use evidence from the codebase. State assumptions explicitly. Keep the design actionable enough that another agent could implement it without rediscovering the architecture.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: executing-plans
|
|
3
|
+
description: Use when implementing an approved written plan in the current session.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Executing Plans
|
|
7
|
+
|
|
8
|
+
Execute the approved plan task by task with verification checkpoints.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. Read the plan completely.
|
|
13
|
+
2. Check for contradictions, missing files, missing tests, or unsafe assumptions.
|
|
14
|
+
3. Raise blockers before editing.
|
|
15
|
+
4. For each task:
|
|
16
|
+
- Mark the task in progress.
|
|
17
|
+
- Follow the stated steps.
|
|
18
|
+
- Use `test-driven-development` for behavior changes.
|
|
19
|
+
- Run the specified verification.
|
|
20
|
+
- Mark the task complete only after evidence supports it.
|
|
21
|
+
5. After all tasks, use `verification-before-completion`.
|
|
22
|
+
|
|
23
|
+
## Stop Conditions
|
|
24
|
+
|
|
25
|
+
Stop when a plan instruction is ambiguous enough to change behavior, a required dependency is missing, verification fails repeatedly, or the plan conflicts with current codebase evidence.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: finishing-development-branch
|
|
3
|
+
description: Use after implementation is complete and verified, when deciding how to merge, push, preserve, or discard branch work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Finishing a Development Branch
|
|
7
|
+
|
|
8
|
+
Complete branch work with evidence and a clear integration choice.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. Run the verification that proves the completed work.
|
|
13
|
+
2. Inspect git status and current branch.
|
|
14
|
+
3. Detect whether the workspace is a normal checkout, linked worktree, or detached/headless workspace.
|
|
15
|
+
4. Present concrete options:
|
|
16
|
+
- Merge locally
|
|
17
|
+
- Push and create a PR
|
|
18
|
+
- Keep branch/worktree as-is
|
|
19
|
+
- Discard work, with explicit confirmation
|
|
20
|
+
5. Execute the chosen path.
|
|
21
|
+
6. Re-run verification after merge when merging locally.
|
|
22
|
+
|
|
23
|
+
## Safety
|
|
24
|
+
|
|
25
|
+
Never discard work without typed confirmation. Never remove a worktree unless you can prove it was created for this workflow and is not owned by the harness.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: receiving-code-review
|
|
3
|
+
description: Use when applying human, agent, or external review feedback.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Receiving Code Review
|
|
7
|
+
|
|
8
|
+
Treat review as technical input to verify, not a script to follow blindly.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. Read all feedback before editing.
|
|
13
|
+
2. Restate unclear items or ask for clarification.
|
|
14
|
+
3. Verify each item against current codebase behavior.
|
|
15
|
+
4. Accept technically valid feedback and implement one item at a time.
|
|
16
|
+
5. Push back with evidence when feedback is incorrect, breaks existing behavior, or violates scope.
|
|
17
|
+
6. Run focused verification after each substantive fix.
|
|
18
|
+
7. Run broader verification before completion.
|
|
19
|
+
|
|
20
|
+
## YAGNI Check
|
|
21
|
+
|
|
22
|
+
If feedback asks for "proper" infrastructure, search for actual usage. If nothing uses the path, consider deleting or deferring rather than expanding unused surface area.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requesting-code-review
|
|
3
|
+
description: Use after meaningful implementation tasks, before merging, or when a fresh review would reduce risk.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Requesting Code Review
|
|
7
|
+
|
|
8
|
+
Ask for review with precise context and explicit requirements.
|
|
9
|
+
|
|
10
|
+
## Review Packet
|
|
11
|
+
|
|
12
|
+
Provide the reviewer:
|
|
13
|
+
|
|
14
|
+
- Summary of the intended change
|
|
15
|
+
- Requirements or plan being checked
|
|
16
|
+
- Files changed
|
|
17
|
+
- Base and head SHAs when available
|
|
18
|
+
- Verification already run
|
|
19
|
+
- Known risks or areas needing attention
|
|
20
|
+
|
|
21
|
+
## Review Standard
|
|
22
|
+
|
|
23
|
+
Ask the reviewer to lead with findings ordered by severity. Findings need file and line references, a concrete failure mode, and a suggested correction. Require distinction between:
|
|
24
|
+
|
|
25
|
+
- Critical: must fix before proceeding
|
|
26
|
+
- Important: should fix before merge
|
|
27
|
+
- Minor: optional improvement
|
|
28
|
+
|
|
29
|
+
## After Review
|
|
30
|
+
|
|
31
|
+
Use `receiving-code-review` before applying feedback.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debugging
|
|
3
|
+
description: Use for any bug, test failure, build failure, performance issue, flaky behavior, or unexpected runtime result before proposing fixes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Systematic Debugging
|
|
7
|
+
|
|
8
|
+
Find the root cause before changing code.
|
|
9
|
+
|
|
10
|
+
## Gate
|
|
11
|
+
|
|
12
|
+
No fixes before root-cause investigation. A patch that only explains the symptom is not ready.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
1. Read the exact error, stack trace, failing assertion, or observed behavior.
|
|
17
|
+
2. Reproduce the issue or document why reproduction is not currently possible.
|
|
18
|
+
3. Check recent changes and nearby working examples.
|
|
19
|
+
4. Trace the bad value, state, or control flow backward to its source.
|
|
20
|
+
5. Form one explicit hypothesis: "X causes Y because Z."
|
|
21
|
+
6. Test the hypothesis with the smallest evidence-gathering action.
|
|
22
|
+
7. Add a failing regression test or minimal reproduction before the fix when the codebase can support it.
|
|
23
|
+
8. Implement one root-cause fix.
|
|
24
|
+
9. Run focused verification, then broader regression checks as risk requires.
|
|
25
|
+
|
|
26
|
+
## Stop Conditions
|
|
27
|
+
|
|
28
|
+
Stop and re-analyze when a hypothesis fails. If three fix attempts fail or each fix reveals a new unrelated problem, question the architecture instead of stacking patches.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-driven-development
|
|
3
|
+
description: Use when implementing features, bug fixes, refactors, or behavior changes before writing production code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test-Driven Development
|
|
7
|
+
|
|
8
|
+
Use red, green, refactor for behavior changes.
|
|
9
|
+
|
|
10
|
+
## Gate
|
|
11
|
+
|
|
12
|
+
No production behavior change without first seeing a test fail for the intended reason, unless the user explicitly accepts an exception.
|
|
13
|
+
|
|
14
|
+
## Cycle
|
|
15
|
+
|
|
16
|
+
1. Write the smallest test that describes one desired behavior.
|
|
17
|
+
2. Run it and verify it fails for the expected reason.
|
|
18
|
+
3. Implement the minimum production code needed to pass.
|
|
19
|
+
4. Run the focused test and verify it passes.
|
|
20
|
+
5. Run nearby or broader tests appropriate to the blast radius.
|
|
21
|
+
6. Refactor only after tests are green, then re-run verification.
|
|
22
|
+
|
|
23
|
+
## Good Tests
|
|
24
|
+
|
|
25
|
+
- Test observable behavior, not private implementation details.
|
|
26
|
+
- Prefer real code paths over mocks unless isolation requires a mock.
|
|
27
|
+
- Use names that describe the behavior being guaranteed.
|
|
28
|
+
- Split tests when the name needs "and".
|
|
29
|
+
|
|
30
|
+
## Exceptions
|
|
31
|
+
|
|
32
|
+
Acceptable exceptions include pure documentation, generated artifacts, exploratory prototypes, and configuration-only changes. State the exception before proceeding.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use before feature work that should be isolated from the current branch, or before executing a multi-step implementation plan.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Git Worktrees
|
|
7
|
+
|
|
8
|
+
Prefer isolated workspaces for risky or multi-step changes.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. Detect whether the current checkout is already a linked worktree:
|
|
13
|
+
- `git rev-parse --git-dir`
|
|
14
|
+
- `git rev-parse --git-common-dir`
|
|
15
|
+
- `git rev-parse --show-superproject-working-tree`
|
|
16
|
+
2. If already isolated and not a submodule, continue there.
|
|
17
|
+
3. If not isolated, ask before creating a worktree unless the user or plan already requested isolation.
|
|
18
|
+
4. Prefer native workspace tools when available.
|
|
19
|
+
5. If using `git worktree`, place project-local worktrees under `.worktrees/` when it is ignored.
|
|
20
|
+
6. Run project setup only when dependencies are missing or stale.
|
|
21
|
+
7. Establish a clean baseline with the relevant tests before changing behavior.
|
|
22
|
+
|
|
23
|
+
## Safety
|
|
24
|
+
|
|
25
|
+
Do not remove harness-owned worktrees. Do not proceed from a failing baseline without telling the user what failed and getting direction or investigating the failure.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: Use before saying work is complete, fixed, passing, implemented, ready, or safe to merge.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verification Before Completion
|
|
7
|
+
|
|
8
|
+
Evidence must precede completion claims.
|
|
9
|
+
|
|
10
|
+
## Gate
|
|
11
|
+
|
|
12
|
+
Do not claim success from intent, plausibility, previous output, or another agent's report. Verify against the current state.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
1. Identify each claim you are about to make.
|
|
17
|
+
2. Identify the command, file inspection, diff, runtime check, or rendered artifact that would prove it.
|
|
18
|
+
3. Run or inspect that evidence freshly.
|
|
19
|
+
4. Read the output, exit code, or artifact carefully.
|
|
20
|
+
5. Report the actual state:
|
|
21
|
+
- If verified, name the evidence.
|
|
22
|
+
- If not verified, say what remains unverified.
|
|
23
|
+
- If failed, report the failure and continue work.
|
|
24
|
+
|
|
25
|
+
## Evidence Matching
|
|
26
|
+
|
|
27
|
+
Use focused checks for narrow claims and broader checks for broad claims. A passing unit test does not prove a full build, and a successful build does not prove the requested behavior unless the behavior is covered.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-plans
|
|
3
|
+
description: Use when a task needs multiple implementation steps, multiple files, handoff to another agent, or careful verification sequencing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Plans
|
|
7
|
+
|
|
8
|
+
Create an implementation plan that can be executed without rediscovering context.
|
|
9
|
+
|
|
10
|
+
## Required Sections
|
|
11
|
+
|
|
12
|
+
- Goal: one sentence describing the user-visible outcome.
|
|
13
|
+
- Context: what the codebase currently does and why the change is needed.
|
|
14
|
+
- Architecture: the recommended approach and why it fits existing boundaries.
|
|
15
|
+
- Files: exact files to create or modify and each file's responsibility.
|
|
16
|
+
- Tasks: small ordered steps with verification after meaningful changes.
|
|
17
|
+
- Test plan: exact commands and expected evidence.
|
|
18
|
+
- Documentation impact: P1/P2/P3 or user docs that must change.
|
|
19
|
+
|
|
20
|
+
## Task Quality
|
|
21
|
+
|
|
22
|
+
Each task should be independently understandable. Include exact paths, APIs, data shapes, and expected behavior. Avoid placeholders such as "handle edge cases" or "add tests"; state the actual edge cases and tests.
|
|
23
|
+
|
|
24
|
+
## Handoff
|
|
25
|
+
|
|
26
|
+
When the plan is approved, execute it directly or use `executing-plans` for inline execution. Use subagents when tasks are independent and reviewable.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Goal Extension
|
|
2
|
+
|
|
3
|
+
Long-running task management for Catui. Set a goal with `/goal <objective>` and the
|
|
4
|
+
agent will auto-continue working on it across turns until the objective is achieved,
|
|
5
|
+
the token budget runs out, or you pause/clear it.
|
|
6
|
+
|
|
7
|
+
This extension mirrors the Codex `/goal` command semantics: a per-thread goal, persisted
|
|
8
|
+
to disk, with idle-continuation prompts, token accounting, and budget enforcement.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/goal Show current goal summary menu
|
|
14
|
+
/goal <objective> Set or replace the goal
|
|
15
|
+
/goal clear Clear the goal
|
|
16
|
+
/goal edit Open the editor to change the objective
|
|
17
|
+
/goal pause Pause auto-continuation
|
|
18
|
+
/goal resume Resume auto-continuation
|
|
19
|
+
/goal help Show usage help
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## LLM Tools
|
|
23
|
+
|
|
24
|
+
The extension registers three LLM-facing tools:
|
|
25
|
+
|
|
26
|
+
| Tool | Purpose | Who can call |
|
|
27
|
+
|------|---------|--------------|
|
|
28
|
+
| `get_goal` | Read the current goal | LLM |
|
|
29
|
+
| `create_goal` | Create a new goal (only when the user explicitly asks) | LLM |
|
|
30
|
+
| `update_goal` | Mark the goal `complete` or `blocked` | LLM |
|
|
31
|
+
|
|
32
|
+
The LLM is only allowed to set the goal's status to `complete` or `blocked`. Pause /
|
|
33
|
+
resume / budget limits are user-driven and happen exclusively through `/goal`.
|
|
34
|
+
|
|
35
|
+
## Lifecycle
|
|
36
|
+
|
|
37
|
+
The extension subscribes to `turn_start`, `turn_end`, `message_end`, `tool_execution_end`,
|
|
38
|
+
and `agent_end` to track token usage and time per turn. When a turn ends with an
|
|
39
|
+
`active` goal, the extension injects a follow-up user message containing the
|
|
40
|
+
continuation prompt so the agent keeps working on the objective.
|
|
41
|
+
|
|
42
|
+
When a turn causes the goal to cross its token budget, the extension injects a
|
|
43
|
+
budget-limit steering prompt and marks the goal `budget_limited`. Once budget-limited,
|
|
44
|
+
auto-continuation stops and the goal is terminal.
|
|
45
|
+
|
|
46
|
+
## Persistence
|
|
47
|
+
|
|
48
|
+
Goals are stored as JSON files under `<agentDir>/goals/<threadId>.json`. They survive
|
|
49
|
+
session restarts and are keyed by the active session ID.
|
|
50
|
+
|
|
51
|
+
## Status
|
|
52
|
+
|
|
53
|
+
`Status: active` shows in the footer while a goal is running.
|
|
54
|
+
|
|
55
|
+
## Architecture
|
|
56
|
+
|
|
57
|
+
| File | Responsibility |
|
|
58
|
+
|------|----------------|
|
|
59
|
+
| `goal-types.ts` | `ThreadGoalStatus`, `ThreadGoal`, helper predicates |
|
|
60
|
+
| `goal-store.ts` | Atomic JSON-file persistence (replace / insert / update / delete / account_usage) |
|
|
61
|
+
| `goal-format.ts` | Time/token formatting, summary lines, status indicator, validators |
|
|
62
|
+
| `goal-prompts.ts` | Continuation / budget-limit / objective-updated prompt templates |
|
|
63
|
+
| `goal-controller.ts` | Per-thread runtime: mutex, turn accounting, idle continuation |
|
|
64
|
+
| `goal-tools.ts` | `get_goal`, `create_goal`, `update_goal` LLM tool definitions |
|
|
65
|
+
| `goal-parser.ts` | `/goal` slash-command argument parsing |
|
|
66
|
+
| `goal-command.ts` | `/goal` slash-command handler (UI + controller dispatch) |
|
|
67
|
+
| `index.ts` | Extension entry: tools, command, lifecycle hooks, status indicator |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Goal slash command handler - dispatches /goal subcommands (show/clear/edit/pause/resume/set), manages ConfirmIfExists confirmation dialog, and renders the multi-line summary
|
|
3
|
+
* [FROM]: Depends on core/extensions-host/types, ./goal-controller, ./goal-parser, ./goal-types, ./goal-format
|
|
4
|
+
* [TO]: Consumed by ./index via registerCommand
|
|
5
|
+
* [HERE]: extensions/builtin/goal/goal-command.ts - UI + persistence boundary for /goal
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionCommandContext } from "../../../core/extensions-host/types.js";
|
|
8
|
+
import type { GoalController } from "./goal-controller.js";
|
|
9
|
+
import { formatGoalElapsedSeconds, formatTokens } from "./goal-format.js";
|
|
10
|
+
import type { ThreadGoal } from "./goal-types.js";
|
|
11
|
+
export declare function runGoalCommand(args: string, ctx: ExtensionCommandContext, controller: GoalController | null): Promise<void>;
|
|
12
|
+
declare function summarizeGoal(goal: ThreadGoal): string;
|
|
13
|
+
export { formatGoalElapsedSeconds, formatTokens, summarizeGoal };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var y=Object.defineProperty;var s=(i,e)=>y(i,"name",{value:e,configurable:!0});import{editedGoalStatus as v,formatGoalElapsedSeconds as m,formatTokens as p,goalStatusLabel as d,goalSummaryLines as k,goalUsageSummary as w,shouldConfirmBeforeReplacing as G,validateBudget as b,validateObjective as l}from"./goal-format.js";import{buildGoalHelp as g,parseGoalCommand as j}from"./goal-parser.js";async function N(i,e,a){const t=j(i);if(!a){e.ui.notify("Goal runtime is not initialized.","warning");return}switch(t.type){case"help":e.ui.notify(g(),"info");return;case"show":await $(a,e);return;case"clear":await _(a,e);return;case"edit":await h(a,e);return;case"pause":await c(a,e,"paused");return;case"resume":await c(a,e,"active");return;case"set":await E(a,e,t.objective);return}}s(N,"runGoalCommand");async function $(i,e){const a=await i.get_goal();if(!a){e.ui.notify(`${g()}
|
|
2
|
+
|
|
3
|
+
No goal is currently set.`,"info");return}const t=k(a);for(const n of t)e.ui.notify(n,"info")}s($,"showGoal");async function _(i,e){if(!await i.get_goal()){e.ui.notify("No goal is currently set.","info");return}await i.clear()?i.sendGoalFeedback("Goal cleared.",{kind:"clear"}):e.ui.notify("Goal was already cleared.","info")}s(_,"clearGoal");async function h(i,e){const a=await i.get_goal();if(!a){e.ui.notify("No goal is currently set.","info");return}const t=await e.ui.editor("Edit goal objective",a.objective);if(t===void 0){e.ui.notify("Edit cancelled.","info");return}const n=l(t);if(!n.ok){e.ui.notify(n.reason,"error");return}const u=v(a.status),o=await i.set_objective(n.value,"UpdateExisting",{status:u});if(!o.goal){e.ui.notify("Goal update failed: no goal row found.","error");return}i.inject_objective_updated_steering(),i.sendGoalFeedback(`Goal updated.
|
|
4
|
+
${r(o.goal)}`,{kind:"edit",goal:o.goal})}s(h,"editGoal");async function c(i,e,a){if(!await i.get_goal()){e.ui.notify("No goal is currently set.","info");return}const n=await i.set_status(a);if(!n){e.ui.notify("Failed to update goal status.","error");return}const u=a==="active"?"resumed":a==="paused"?"paused":`set to ${d(a)}`;e.ui.notify(`Goal ${u}.
|
|
5
|
+
${r(n)}`,"info")}s(c,"setStatus");async function E(i,e,a){const t=l(a);if(!t.ok){e.ui.notify(t.reason,"error");return}const n=b(null);if(!n.ok){e.ui.notify(n.reason,"error");return}const u=await i.get_goal();if(u&&G(u)){if(!await e.ui.confirm("Replace goal?",`Existing objective: ${u.objective}
|
|
6
|
+
New objective: ${t.value}`)){e.ui.notify("Goal unchanged.","info");return}const f=await i.set_objective(t.value,"ReplaceExisting",{tokenBudget:n.value});if(!f.goal){e.ui.notify("Goal replace failed.","error");return}i.sendGoalFeedback(`Goal replaced.
|
|
7
|
+
${r(f.goal)}`,{kind:"set",goal:f.goal}),i.kickOffContinuation();return}const o=await i.set_objective(t.value,"ConfirmIfExists",{tokenBudget:n.value});if(o.kind==="confirm_required"){e.ui.notify("Goal replace requires confirmation.","warning");return}if(!o.goal){e.ui.notify("Goal set failed.","error");return}i.sendGoalFeedback(`Goal active.
|
|
8
|
+
${r(o.goal)}`,{kind:"set",goal:o.goal}),i.kickOffContinuation()}s(E,"setObjective");function r(i){const e=w(i);return[` Status: ${d(i.status)}`,` Objective: ${i.objective}`,` Time used: ${e.elapsed}`,` Tokens used: ${e.tokensLabel}${e.hasBudget?" tokens":""}`].join(`
|
|
9
|
+
`)}s(r,"summarizeGoal");export{m as formatGoalElapsedSeconds,p as formatTokens,N as runGoalCommand,r as summarizeGoal};
|