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,463 @@
|
|
|
1
|
+
var H=Object.defineProperty;var d=(e,o)=>H(e,"name",{value:o,configurable:!0});function i(e){return e?e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"):""}d(i,"escapeHtml");function y(e){return i(e).replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>")}d(y,"escapeHtmlWithBold");const j={debug_investigate:"Debug/Investigate",implement_feature:"Implement Feature",fix_bug:"Fix Bug",write_script_tool:"Write Script/Tool",refactor_code:"Refactor Code",configure_system:"Configure System",create_pr_commit:"Create PR/Commit",analyze_data:"Analyze Data",understand_codebase:"Understand Codebase",write_tests:"Write Tests",write_docs:"Write Docs",deploy_infra:"Deploy/Infra",warmup_minimal:"Cache Warmup",fast_accurate_search:"Fast/Accurate Search",correct_code_edits:"Correct Code Edits",good_explanations:"Good Explanations",proactive_help:"Proactive Help",multi_file_changes:"Multi-file Changes",handled_complexity:"Multi-file Changes",good_debugging:"Good Debugging",misunderstood_request:"Misunderstood Request",wrong_approach:"Wrong Approach",buggy_code:"Buggy Code",user_rejected_action:"User Rejected Action",claude_got_blocked:"Agent Got Blocked",user_stopped_early:"User Stopped Early",wrong_file_or_location:"Wrong File/Location",excessive_changes:"Excessive Changes",slow_or_verbose:"Slow/Verbose",tool_failed:"Tool Failed",user_unclear:"User Unclear",external_issue:"External Issue",frustrated:"Frustrated",dissatisfied:"Dissatisfied",likely_satisfied:"Likely Satisfied",satisfied:"Satisfied",happy:"Happy",unsure:"Unsure",neutral:"Neutral",delighted:"Delighted",single_task:"Single Task",multi_task:"Multi Task",iterative_refinement:"Iterative Refinement",exploration:"Exploration",quick_question:"Quick Question",fully_achieved:"Fully Achieved",mostly_achieved:"Mostly Achieved",partially_achieved:"Partially Achieved",not_achieved:"Not Achieved",unclear_from_transcript:"Unclear",unhelpful:"Unhelpful",slightly_helpful:"Slightly Helpful",moderately_helpful:"Moderately Helpful",very_helpful:"Very Helpful",essential:"Essential"},A=["frustrated","dissatisfied","likely_satisfied","satisfied","happy","unsure"],I=["not_achieved","partially_achieved","mostly_achieved","fully_achieved","unclear_from_transcript"];function p(e,o,n=6,a){let r;if(a?r=a.filter(s=>s in e&&(e[s]??0)>0).map(s=>[s,e[s]??0]):r=Object.entries(e).sort((s,l)=>l[1]-s[1]).slice(0,n),r.length===0)return'<p class="empty">No data</p>';const f=Math.max(...r.map(s=>s[1]));return r.map(([s,l])=>{const b=l/f*100,u=j[s]||s.replace(/_/g," ").replace(/\b\w/g,_=>_.toUpperCase());return`<div class="bar-row">
|
|
2
|
+
<div class="bar-label">${i(u)}</div>
|
|
3
|
+
<div class="bar-track"><div class="bar-fill" style="width:${b}%;background:${o}"></div></div>
|
|
4
|
+
<div class="bar-value">${l}</div>
|
|
5
|
+
</div>`}).join(`
|
|
6
|
+
`)}d(p,"generateBarChart");function U(e){if(e.length===0)return'<p class="empty">No response time data</p>';const o={"2-10s":0,"10-30s":0,"30s-1m":0,"1-2m":0,"2-5m":0,"5-15m":0,">15m":0};for(const a of e)a<10?o["2-10s"]=(o["2-10s"]??0)+1:a<30?o["10-30s"]=(o["10-30s"]??0)+1:a<60?o["30s-1m"]=(o["30s-1m"]??0)+1:a<120?o["1-2m"]=(o["1-2m"]??0)+1:a<300?o["2-5m"]=(o["2-5m"]??0)+1:a<900?o["5-15m"]=(o["5-15m"]??0)+1:o[">15m"]=(o[">15m"]??0)+1;const n=Math.max(...Object.values(o));return n===0?'<p class="empty">No response time data</p>':Object.entries(o).map(([a,r])=>{const f=r/n*100;return`<div class="bar-row">
|
|
7
|
+
<div class="bar-label">${a}</div>
|
|
8
|
+
<div class="bar-track"><div class="bar-fill" style="width:${f}%;background:#6366f1"></div></div>
|
|
9
|
+
<div class="bar-value">${r}</div>
|
|
10
|
+
</div>`}).join(`
|
|
11
|
+
`)}d(U,"generateResponseTimeHistogram");function S(e){if(e.length===0)return'<p class="empty">No time data</p>';const o=[{label:"Morning (6-12)",range:[6,7,8,9,10,11]},{label:"Afternoon (12-18)",range:[12,13,14,15,16,17]},{label:"Evening (18-24)",range:[18,19,20,21,22,23]},{label:"Night (0-6)",range:[0,1,2,3,4,5]}],n={};for(const s of e)n[s]=(n[s]||0)+1;const a=o.map(s=>({label:s.label,count:s.range.reduce((l,b)=>l+(n[b]||0),0)})),r=Math.max(...a.map(s=>s.count))||1;return`<div id="hour-histogram">${a.map(s=>`
|
|
12
|
+
<div class="bar-row">
|
|
13
|
+
<div class="bar-label">${s.label}</div>
|
|
14
|
+
<div class="bar-track"><div class="bar-fill" style="width:${s.count/r*100}%;background:#8b5cf6"></div></div>
|
|
15
|
+
<div class="bar-value">${s.count}</div>
|
|
16
|
+
</div>`).join(`
|
|
17
|
+
`)}</div>`}d(S,"generateTimeOfDayChart");function W(e){const o={};for(const n of e)o[n]=(o[n]||0)+1;return JSON.stringify(o)}d(W,"getHourCountsJson");function M(e,o){const n=d(t=>t?t.split(`
|
|
18
|
+
|
|
19
|
+
`).map(g=>{let m=i(g);return m=m.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),m=m.replace(/^- /gm,"\u2022 "),m=m.replace(/\n/g,"<br>"),`<p>${m}</p>`}).join(`
|
|
20
|
+
`):"","markdownToHtml"),a=o.at_a_glance,r=a?`
|
|
21
|
+
<div class="at-a-glance">
|
|
22
|
+
<div class="glance-title">At a Glance</div>
|
|
23
|
+
<div class="glance-sections">
|
|
24
|
+
${a.whats_working?`<div class="glance-section"><strong>What's working:</strong> ${y(a.whats_working)} <a href="#section-wins" class="see-more">Impressive Things You Did \u2192</a></div>`:""}
|
|
25
|
+
${a.whats_hindering?`<div class="glance-section"><strong>What's hindering you:</strong> ${y(a.whats_hindering)} <a href="#section-friction" class="see-more">Where Things Go Wrong \u2192</a></div>`:""}
|
|
26
|
+
${a.quick_wins?`<div class="glance-section"><strong>Quick wins to try:</strong> ${y(a.quick_wins)} <a href="#section-features" class="see-more">Features to Try \u2192</a></div>`:""}
|
|
27
|
+
${a.ambitious_workflows?`<div class="glance-section"><strong>Ambitious workflows:</strong> ${y(a.ambitious_workflows)} <a href="#section-horizon" class="see-more">On the Horizon \u2192</a></div>`:""}
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
`:"",f=o.project_areas?.areas||[],s=f.length>0?`
|
|
31
|
+
<h2 id="section-work">What You Work On</h2>
|
|
32
|
+
<div class="project-areas">
|
|
33
|
+
${f.map(t=>`
|
|
34
|
+
<div class="project-area">
|
|
35
|
+
<div class="area-header">
|
|
36
|
+
<span class="area-name">${i(t.name)}</span>
|
|
37
|
+
<span class="area-count">~${t.session_count} sessions</span>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="area-desc">${i(t.description)}</div>
|
|
40
|
+
</div>
|
|
41
|
+
`).join("")}
|
|
42
|
+
</div>
|
|
43
|
+
`:"",l=o.interaction_style,b=l?.narrative?`
|
|
44
|
+
<h2 id="section-usage">How You Use Catui</h2>
|
|
45
|
+
<div class="narrative">
|
|
46
|
+
${n(l.narrative)}
|
|
47
|
+
${l.key_pattern?`<div class="key-insight"><strong>Key pattern:</strong> ${i(l.key_pattern)}</div>`:""}
|
|
48
|
+
</div>
|
|
49
|
+
`:"",u=o.what_works,_=u?.impressive_workflows&&u.impressive_workflows.length>0?`
|
|
50
|
+
<h2 id="section-wins">Impressive Things You Did</h2>
|
|
51
|
+
${u.intro?`<p class="section-intro">${i(u.intro)}</p>`:""}
|
|
52
|
+
<div class="big-wins">
|
|
53
|
+
${u.impressive_workflows.map(t=>`
|
|
54
|
+
<div class="big-win">
|
|
55
|
+
<div class="big-win-title">${i(t.title||"")}</div>
|
|
56
|
+
<div class="big-win-desc">${i(t.description||"")}</div>
|
|
57
|
+
</div>
|
|
58
|
+
`).join("")}
|
|
59
|
+
</div>
|
|
60
|
+
`:"",x=o.friction_analysis,$=x?.categories&&x.categories.length>0?`
|
|
61
|
+
<h2 id="section-friction">Where Things Go Wrong</h2>
|
|
62
|
+
${x.intro?`<p class="section-intro">${i(x.intro)}</p>`:""}
|
|
63
|
+
<div class="friction-categories">
|
|
64
|
+
${x.categories.map(t=>`
|
|
65
|
+
<div class="friction-category">
|
|
66
|
+
<div class="friction-title">${i(t.category||"")}</div>
|
|
67
|
+
<div class="friction-desc">${i(t.description||"")}</div>
|
|
68
|
+
${t.examples?`<ul class="friction-examples">${t.examples.map(g=>`<li>${i(g)}</li>`).join("")}</ul>`:""}
|
|
69
|
+
</div>
|
|
70
|
+
`).join("")}
|
|
71
|
+
</div>
|
|
72
|
+
`:"",c=o.suggestions,k=c?`
|
|
73
|
+
${c.claude_md_additions&&c.claude_md_additions.length>0?`
|
|
74
|
+
<h2 id="section-features">Catui Features to Try</h2>
|
|
75
|
+
<div class="claude-md-section">
|
|
76
|
+
<h3>Suggested CLAUDE.md Additions</h3>
|
|
77
|
+
<p style="font-size: 12px; color: #64748b; margin-bottom: 12px;">Copy this into your project to add it to CLAUDE.md.</p>
|
|
78
|
+
<div class="claude-md-actions">
|
|
79
|
+
<button class="copy-all-btn" onclick="copyAllCheckedClaudeMd()">Copy All Checked</button>
|
|
80
|
+
</div>
|
|
81
|
+
${c.claude_md_additions.map((t,g)=>`
|
|
82
|
+
<div class="claude-md-item">
|
|
83
|
+
<input type="checkbox" id="cmd-${g}" class="cmd-checkbox" checked data-text="${i(t.prompt_scaffold||t.where||"Add to CLAUDE.md")}\\n\\n${i(t.addition)}">
|
|
84
|
+
<label for="cmd-${g}">
|
|
85
|
+
<code class="cmd-code">${i(t.addition)}</code>
|
|
86
|
+
<button class="copy-btn" onclick="copyCmdItem(${g})">Copy</button>
|
|
87
|
+
</label>
|
|
88
|
+
<div class="cmd-why">${i(t.why)}</div>
|
|
89
|
+
</div>
|
|
90
|
+
`).join("")}
|
|
91
|
+
</div>
|
|
92
|
+
`:""}
|
|
93
|
+
${c.features_to_try&&c.features_to_try.length>0?`
|
|
94
|
+
<div class="features-section">
|
|
95
|
+
${c.features_to_try.map(t=>`
|
|
96
|
+
<div class="feature-card">
|
|
97
|
+
<div class="feature-title">${i(t.feature||"")}</div>
|
|
98
|
+
<div class="feature-oneliner">${i(t.one_liner||"")}</div>
|
|
99
|
+
<div class="feature-why"><strong>Why for you:</strong> ${i(t.why_for_you||"")}</div>
|
|
100
|
+
${t.example_code?`
|
|
101
|
+
<div class="feature-examples">
|
|
102
|
+
<div class="feature-example">
|
|
103
|
+
<div class="example-code-row">
|
|
104
|
+
<code class="example-code">${i(t.example_code)}</code>
|
|
105
|
+
<button class="copy-btn" onclick="copyText(this)">Copy</button>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
`:""}
|
|
110
|
+
</div>
|
|
111
|
+
`).join("")}
|
|
112
|
+
</div>
|
|
113
|
+
`:""}
|
|
114
|
+
${c.usage_patterns&&c.usage_patterns.length>0?`
|
|
115
|
+
<h2 id="section-patterns">New Ways to Use Catui</h2>
|
|
116
|
+
<p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Paste these into Catui and it'll walk you through it.</p>
|
|
117
|
+
<div class="patterns-section">
|
|
118
|
+
${c.usage_patterns.map(t=>`
|
|
119
|
+
<div class="pattern-card">
|
|
120
|
+
<div class="pattern-title">${i(t.title||"")}</div>
|
|
121
|
+
<div class="pattern-summary">${i(t.suggestion||"")}</div>
|
|
122
|
+
${t.detail?`<div class="pattern-detail">${i(t.detail)}</div>`:""}
|
|
123
|
+
${t.copyable_prompt?`
|
|
124
|
+
<div class="copyable-prompt-section">
|
|
125
|
+
<div class="prompt-label">Paste into Catui:</div>
|
|
126
|
+
<div class="copyable-prompt-row">
|
|
127
|
+
<code class="copyable-prompt">${i(t.copyable_prompt)}</code>
|
|
128
|
+
<button class="copy-btn" onclick="copyText(this)">Copy</button>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
`:""}
|
|
132
|
+
</div>
|
|
133
|
+
`).join("")}
|
|
134
|
+
</div>
|
|
135
|
+
`:""}
|
|
136
|
+
`:"",v=o.on_the_horizon,C=v?.opportunities&&v.opportunities.length>0?`
|
|
137
|
+
<h2 id="section-horizon">On the Horizon</h2>
|
|
138
|
+
${v.intro?`<p class="section-intro">${i(v.intro)}</p>`:""}
|
|
139
|
+
<div class="horizon-section">
|
|
140
|
+
${v.opportunities.map(t=>`
|
|
141
|
+
<div class="horizon-card">
|
|
142
|
+
<div class="horizon-title">${i(t.title||"")}</div>
|
|
143
|
+
<div class="horizon-possible">${i(t.whats_possible||"")}</div>
|
|
144
|
+
${t.how_to_try?`<div class="horizon-tip"><strong>Getting started:</strong> ${i(t.how_to_try)}</div>`:""}
|
|
145
|
+
${t.copyable_prompt?`<div class="pattern-prompt"><div class="prompt-label">Paste into Catui:</div><code>${i(t.copyable_prompt)}</code><button class="copy-btn" onclick="copyText(this)">Copy</button></div>`:""}
|
|
146
|
+
</div>
|
|
147
|
+
`).join("")}
|
|
148
|
+
</div>
|
|
149
|
+
`:"",h=o.fun_ending,z=h?.headline?`
|
|
150
|
+
<div class="fun-ending">
|
|
151
|
+
<div class="fun-headline">"${i(h.headline)}"</div>
|
|
152
|
+
${h.detail?`<div class="fun-detail">${i(h.detail)}</div>`:""}
|
|
153
|
+
</div>
|
|
154
|
+
`:"",T=`
|
|
155
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
156
|
+
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #f8fafc; color: #334155; line-height: 1.65; padding: 48px 24px; }
|
|
157
|
+
.container { max-width: 800px; margin: 0 auto; }
|
|
158
|
+
h1 { font-size: 32px; font-weight: 700; color: #0f172a; margin-bottom: 8px; }
|
|
159
|
+
h2 { font-size: 20px; font-weight: 600; color: #0f172a; margin-top: 48px; margin-bottom: 16px; }
|
|
160
|
+
.subtitle { color: #64748b; font-size: 15px; margin-bottom: 32px; }
|
|
161
|
+
.nav-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 32px 0; padding: 16px; background: white; border-radius: 8px; border: 1px solid #e2e8f0; }
|
|
162
|
+
.nav-toc a { font-size: 12px; color: #64748b; text-decoration: none; padding: 6px 12px; border-radius: 6px; background: #f1f5f9; transition: all 0.15s; }
|
|
163
|
+
.nav-toc a:hover { background: #e2e8f0; color: #334155; }
|
|
164
|
+
.stats-row { display: flex; gap: 24px; margin-bottom: 40px; padding: 20px 0; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; flex-wrap: wrap; }
|
|
165
|
+
.stat { text-align: center; }
|
|
166
|
+
.stat-value { font-size: 24px; font-weight: 700; color: #0f172a; }
|
|
167
|
+
.stat-label { font-size: 11px; color: #64748b; text-transform: uppercase; }
|
|
168
|
+
.at-a-glance { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border: 1px solid #f59e0b; border-radius: 12px; padding: 20px 24px; margin-bottom: 32px; }
|
|
169
|
+
.glance-title { font-size: 16px; font-weight: 700; color: #92400e; margin-bottom: 16px; }
|
|
170
|
+
.glance-sections { display: flex; flex-direction: column; gap: 12px; }
|
|
171
|
+
.glance-section { font-size: 14px; color: #78350f; line-height: 1.6; }
|
|
172
|
+
.glance-section strong { color: #92400e; }
|
|
173
|
+
.see-more { color: #b45309; text-decoration: none; font-size: 13px; white-space: nowrap; }
|
|
174
|
+
.see-more:hover { text-decoration: underline; }
|
|
175
|
+
.project-areas { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
|
|
176
|
+
.project-area { background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; }
|
|
177
|
+
.area-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
|
|
178
|
+
.area-name { font-weight: 600; font-size: 15px; color: #0f172a; }
|
|
179
|
+
.area-count { font-size: 12px; color: #64748b; background: #f1f5f9; padding: 2px 8px; border-radius: 4px; }
|
|
180
|
+
.area-desc { font-size: 14px; color: #475569; line-height: 1.5; }
|
|
181
|
+
.narrative { background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; margin-bottom: 24px; }
|
|
182
|
+
.narrative p { margin-bottom: 12px; font-size: 14px; color: #475569; line-height: 1.7; }
|
|
183
|
+
.key-insight { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 12px 16px; margin-top: 12px; font-size: 14px; color: #166534; }
|
|
184
|
+
.section-intro { font-size: 14px; color: #64748b; margin-bottom: 16px; }
|
|
185
|
+
.big-wins { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
|
|
186
|
+
.big-win { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 16px; }
|
|
187
|
+
.big-win-title { font-weight: 600; font-size: 15px; color: #166534; margin-bottom: 8px; }
|
|
188
|
+
.big-win-desc { font-size: 14px; color: #15803d; line-height: 1.5; }
|
|
189
|
+
.friction-categories { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
|
|
190
|
+
.friction-category { background: #fef2f2; border: 1px solid #fca5a5; border-radius: 8px; padding: 16px; }
|
|
191
|
+
.friction-title { font-weight: 600; font-size: 15px; color: #991b1b; margin-bottom: 6px; }
|
|
192
|
+
.friction-desc { font-size: 13px; color: #7f1d1d; margin-bottom: 10px; }
|
|
193
|
+
.friction-examples { margin: 0 0 0 20px; font-size: 13px; color: #334155; }
|
|
194
|
+
.friction-examples li { margin-bottom: 4px; }
|
|
195
|
+
.claude-md-section { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 16px; margin-bottom: 20px; }
|
|
196
|
+
.claude-md-section h3 { font-size: 14px; font-weight: 600; color: #1e40af; margin: 0 0 12px 0; }
|
|
197
|
+
.claude-md-actions { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #dbeafe; }
|
|
198
|
+
.copy-all-btn { background: #2563eb; color: white; border: none; border-radius: 4px; padding: 6px 12px; font-size: 12px; cursor: pointer; font-weight: 500; transition: all 0.2s; }
|
|
199
|
+
.copy-all-btn:hover { background: #1d4ed8; }
|
|
200
|
+
.copy-all-btn.copied { background: #16a34a; }
|
|
201
|
+
.claude-md-item { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; padding: 10px 0; border-bottom: 1px solid #dbeafe; }
|
|
202
|
+
.claude-md-item:last-child { border-bottom: none; }
|
|
203
|
+
.cmd-checkbox { margin-top: 2px; }
|
|
204
|
+
.cmd-code { background: white; padding: 8px 12px; border-radius: 4px; font-size: 12px; color: #1e40af; border: 1px solid #bfdbfe; font-family: monospace; display: block; white-space: pre-wrap; word-break: break-word; flex: 1; }
|
|
205
|
+
.cmd-why { font-size: 12px; color: #64748b; width: 100%; padding-left: 24px; margin-top: 4px; }
|
|
206
|
+
.features-section, .patterns-section { display: flex; flex-direction: column; gap: 12px; margin: 16px 0; }
|
|
207
|
+
.feature-card { background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; padding: 16px; }
|
|
208
|
+
.pattern-card { background: #f0f9ff; border: 1px solid #7dd3fc; border-radius: 8px; padding: 16px; }
|
|
209
|
+
.feature-title, .pattern-title { font-weight: 600; font-size: 15px; color: #0f172a; margin-bottom: 6px; }
|
|
210
|
+
.feature-oneliner { font-size: 14px; color: #475569; margin-bottom: 8px; }
|
|
211
|
+
.pattern-summary { font-size: 14px; color: #475569; margin-bottom: 8px; }
|
|
212
|
+
.feature-why, .pattern-detail { font-size: 13px; color: #334155; line-height: 1.5; }
|
|
213
|
+
.feature-examples { margin-top: 12px; }
|
|
214
|
+
.feature-example { padding: 8px 0; border-top: 1px solid #d1fae5; }
|
|
215
|
+
.feature-example:first-child { border-top: none; }
|
|
216
|
+
.example-desc { font-size: 13px; color: #334155; margin-bottom: 6px; }
|
|
217
|
+
.example-code-row { display: flex; align-items: flex-start; gap: 8px; }
|
|
218
|
+
.example-code { flex: 1; background: #f1f5f9; padding: 8px 12px; border-radius: 4px; font-family: monospace; font-size: 12px; color: #334155; overflow-x: auto; white-space: pre-wrap; }
|
|
219
|
+
.copyable-prompt-section { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e2e8f0; }
|
|
220
|
+
.copyable-prompt-row { display: flex; align-items: flex-start; gap: 8px; }
|
|
221
|
+
.copyable-prompt { flex: 1; background: #f8fafc; padding: 10px 12px; border-radius: 4px; font-family: monospace; font-size: 12px; color: #334155; border: 1px solid #e2e8f0; white-space: pre-wrap; line-height: 1.5; }
|
|
222
|
+
.feature-code { background: #f8fafc; padding: 12px; border-radius: 6px; margin-top: 12px; border: 1px solid #e2e8f0; display: flex; align-items: flex-start; gap: 8px; }
|
|
223
|
+
.feature-code code { flex: 1; font-family: monospace; font-size: 12px; color: #334155; white-space: pre-wrap; }
|
|
224
|
+
.pattern-prompt { background: #f8fafc; padding: 12px; border-radius: 6px; margin-top: 12px; border: 1px solid #e2e8f0; }
|
|
225
|
+
.pattern-prompt code { font-family: monospace; font-size: 12px; color: #334155; display: block; white-space: pre-wrap; margin-bottom: 8px; }
|
|
226
|
+
.prompt-label { font-size: 11px; font-weight: 600; text-transform: uppercase; color: #64748b; margin-bottom: 6px; }
|
|
227
|
+
.copy-btn { background: #e2e8f0; border: none; border-radius: 4px; padding: 4px 8px; font-size: 11px; cursor: pointer; color: #475569; flex-shrink: 0; }
|
|
228
|
+
.copy-btn:hover { background: #cbd5e1; }
|
|
229
|
+
.charts-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 24px 0; }
|
|
230
|
+
.chart-card { background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; }
|
|
231
|
+
.chart-title { font-size: 12px; font-weight: 600; color: #64748b; text-transform: uppercase; margin-bottom: 12px; }
|
|
232
|
+
.bar-row { display: flex; align-items: center; margin-bottom: 6px; }
|
|
233
|
+
.bar-label { width: 100px; font-size: 11px; color: #475569; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
234
|
+
.bar-track { flex: 1; height: 6px; background: #f1f5f9; border-radius: 3px; margin: 0 8px; }
|
|
235
|
+
.bar-fill { height: 100%; border-radius: 3px; }
|
|
236
|
+
.bar-value { width: 28px; font-size: 11px; font-weight: 500; color: #64748b; text-align: right; }
|
|
237
|
+
.empty { color: #94a3b8; font-size: 13px; }
|
|
238
|
+
.horizon-section { display: flex; flex-direction: column; gap: 16px; }
|
|
239
|
+
.horizon-card { background: linear-gradient(135deg, #faf5ff 0%, #f5f3ff 100%); border: 1px solid #c4b5fd; border-radius: 8px; padding: 16px; }
|
|
240
|
+
.horizon-title { font-weight: 600; font-size: 15px; color: #5b21b6; margin-bottom: 8px; }
|
|
241
|
+
.horizon-possible { font-size: 14px; color: #334155; margin-bottom: 10px; line-height: 1.5; }
|
|
242
|
+
.horizon-tip { font-size: 13px; color: #6b21a8; background: rgba(255,255,255,0.6); padding: 8px 12px; border-radius: 4px; }
|
|
243
|
+
.fun-ending { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border: 1px solid #fbbf24; border-radius: 12px; padding: 24px; margin-top: 40px; text-align: center; }
|
|
244
|
+
.fun-headline { font-size: 18px; font-weight: 600; color: #78350f; margin-bottom: 8px; }
|
|
245
|
+
.fun-detail { font-size: 14px; color: #92400e; }
|
|
246
|
+
@media (max-width: 640px) { .charts-row { grid-template-columns: 1fr; } .stats-row { justify-content: center; } }
|
|
247
|
+
`,E=`
|
|
248
|
+
function copyText(btn) {
|
|
249
|
+
const code = btn.previousElementSibling;
|
|
250
|
+
navigator.clipboard.writeText(code.textContent).then(() => {
|
|
251
|
+
btn.textContent = 'Copied!';
|
|
252
|
+
setTimeout(() => { btn.textContent = 'Copy'; }, 2000);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
function copyCmdItem(idx) {
|
|
256
|
+
const checkbox = document.getElementById('cmd-' + idx);
|
|
257
|
+
if (checkbox) {
|
|
258
|
+
const text = checkbox.dataset.text;
|
|
259
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
260
|
+
const btn = checkbox.nextElementSibling.querySelector('.copy-btn');
|
|
261
|
+
if (btn) { btn.textContent = 'Copied!'; setTimeout(() => { btn.textContent = 'Copy'; }, 2000); }
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
function copyAllCheckedClaudeMd() {
|
|
266
|
+
const checkboxes = document.querySelectorAll('.cmd-checkbox:checked');
|
|
267
|
+
const texts = [];
|
|
268
|
+
checkboxes.forEach(cb => {
|
|
269
|
+
if (cb.dataset.text) { texts.push(cb.dataset.text); }
|
|
270
|
+
});
|
|
271
|
+
const combined = texts.join('\\n');
|
|
272
|
+
const btn = document.querySelector('.copy-all-btn');
|
|
273
|
+
if (btn) {
|
|
274
|
+
navigator.clipboard.writeText(combined).then(() => {
|
|
275
|
+
btn.textContent = 'Copied ' + texts.length + ' items!';
|
|
276
|
+
btn.classList.add('copied');
|
|
277
|
+
setTimeout(() => { btn.textContent = 'Copy All Checked'; btn.classList.remove('copied'); }, 2000);
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const rawHourCounts = ${W(e.message_hours)};
|
|
282
|
+
function updateHourHistogram(offsetFromLocal) {
|
|
283
|
+
const periods = [
|
|
284
|
+
{ label: "Morning (6-12)", range: [6,7,8,9,10,11] },
|
|
285
|
+
{ label: "Afternoon (12-18)", range: [12,13,14,15,16,17] },
|
|
286
|
+
{ label: "Evening (18-24)", range: [18,19,20,21,22,23] },
|
|
287
|
+
{ label: "Night (0-6)", range: [0,1,2,3,4,5] }
|
|
288
|
+
];
|
|
289
|
+
const adjustedCounts = {};
|
|
290
|
+
for (const [hour, count] of Object.entries(rawHourCounts)) {
|
|
291
|
+
const newHour = (parseInt(hour) + offsetFromLocal + 24) % 24;
|
|
292
|
+
adjustedCounts[newHour] = (adjustedCounts[newHour] || 0) + count;
|
|
293
|
+
}
|
|
294
|
+
const periodCounts = periods.map(p => ({
|
|
295
|
+
label: p.label,
|
|
296
|
+
count: p.range.reduce((sum, h) => sum + (adjustedCounts[h] || 0), 0)
|
|
297
|
+
}));
|
|
298
|
+
const maxCount = Math.max(...periodCounts.map(p => p.count)) || 1;
|
|
299
|
+
const container = document.getElementById('hour-histogram');
|
|
300
|
+
container.textContent = '';
|
|
301
|
+
periodCounts.forEach(p => {
|
|
302
|
+
const row = document.createElement('div');
|
|
303
|
+
row.className = 'bar-row';
|
|
304
|
+
const label = document.createElement('div');
|
|
305
|
+
label.className = 'bar-label';
|
|
306
|
+
label.textContent = p.label;
|
|
307
|
+
const track = document.createElement('div');
|
|
308
|
+
track.className = 'bar-track';
|
|
309
|
+
const fill = document.createElement('div');
|
|
310
|
+
fill.className = 'bar-fill';
|
|
311
|
+
fill.style.width = (p.count / maxCount) * 100 + '%';
|
|
312
|
+
fill.style.background = '#8b5cf6';
|
|
313
|
+
track.appendChild(fill);
|
|
314
|
+
const value = document.createElement('div');
|
|
315
|
+
value.className = 'bar-value';
|
|
316
|
+
value.textContent = p.count;
|
|
317
|
+
row.appendChild(label);
|
|
318
|
+
row.appendChild(track);
|
|
319
|
+
row.appendChild(value);
|
|
320
|
+
container.appendChild(row);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
document.getElementById('timezone-select').addEventListener('change', function() {
|
|
324
|
+
const customInput = document.getElementById('custom-offset');
|
|
325
|
+
if (this.value === 'custom') {
|
|
326
|
+
customInput.style.display = 'inline-block';
|
|
327
|
+
customInput.focus();
|
|
328
|
+
} else {
|
|
329
|
+
customInput.style.display = 'none';
|
|
330
|
+
updateHourHistogram(parseInt(this.value));
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
document.getElementById('custom-offset').addEventListener('change', function() {
|
|
334
|
+
updateHourHistogram(parseInt(this.value));
|
|
335
|
+
});
|
|
336
|
+
`,w=-new Date().getTimezoneOffset()/60;return`<!DOCTYPE html>
|
|
337
|
+
<html>
|
|
338
|
+
<head>
|
|
339
|
+
<meta charset="utf-8">
|
|
340
|
+
<title>Catui Insights</title>
|
|
341
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
342
|
+
<style>${T}</style>
|
|
343
|
+
</head>
|
|
344
|
+
<body>
|
|
345
|
+
<div class="container">
|
|
346
|
+
<h1>Catui Insights</h1>
|
|
347
|
+
<p class="subtitle">${e.total_messages.toLocaleString()} messages across ${e.total_sessions} sessions${e.total_sessions_scanned&&e.total_sessions_scanned>e.total_sessions?` (${e.total_sessions_scanned.toLocaleString()} total)`:""} | ${e.date_range.start} to ${e.date_range.end}</p>
|
|
348
|
+
|
|
349
|
+
${r}
|
|
350
|
+
|
|
351
|
+
<nav class="nav-toc">
|
|
352
|
+
<a href="#section-work">What You Work On</a>
|
|
353
|
+
<a href="#section-usage">How You Use nP</a>
|
|
354
|
+
<a href="#section-wins">Impressive Things</a>
|
|
355
|
+
<a href="#section-friction">Where Things Go Wrong</a>
|
|
356
|
+
<a href="#section-features">Features to Try</a>
|
|
357
|
+
<a href="#section-patterns">New Usage Patterns</a>
|
|
358
|
+
<a href="#section-horizon">On the Horizon</a>
|
|
359
|
+
</nav>
|
|
360
|
+
|
|
361
|
+
<div class="stats-row">
|
|
362
|
+
<div class="stat"><div class="stat-value">${e.total_messages.toLocaleString()}</div><div class="stat-label">Messages</div></div>
|
|
363
|
+
<div class="stat"><div class="stat-value">+${e.total_lines_added.toLocaleString()}/-${e.total_lines_removed.toLocaleString()}</div><div class="stat-label">Lines</div></div>
|
|
364
|
+
<div class="stat"><div class="stat-value">${e.total_files_modified}</div><div class="stat-label">Files</div></div>
|
|
365
|
+
<div class="stat"><div class="stat-value">${e.days_active}</div><div class="stat-label">Days</div></div>
|
|
366
|
+
<div class="stat"><div class="stat-value">${e.messages_per_day}</div><div class="stat-label">Msgs/Day</div></div>
|
|
367
|
+
</div>
|
|
368
|
+
|
|
369
|
+
${s}
|
|
370
|
+
|
|
371
|
+
<div class="charts-row">
|
|
372
|
+
<div class="chart-card">
|
|
373
|
+
<div class="chart-title">What You Wanted</div>
|
|
374
|
+
${p(e.goal_categories,"#2563eb")}
|
|
375
|
+
</div>
|
|
376
|
+
<div class="chart-card">
|
|
377
|
+
<div class="chart-title">Top Tools Used</div>
|
|
378
|
+
${p(e.tool_counts,"#0891b2")}
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
|
|
382
|
+
<div class="charts-row">
|
|
383
|
+
<div class="chart-card">
|
|
384
|
+
<div class="chart-title">Languages</div>
|
|
385
|
+
${p(e.languages,"#10b981")}
|
|
386
|
+
</div>
|
|
387
|
+
<div class="chart-card">
|
|
388
|
+
<div class="chart-title">Session Types</div>
|
|
389
|
+
${p(e.session_types||{},"#8b5cf6")}
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
|
|
393
|
+
${b}
|
|
394
|
+
|
|
395
|
+
<!-- Response Time Distribution -->
|
|
396
|
+
<div class="chart-card" style="margin: 24px 0;">
|
|
397
|
+
<div class="chart-title">User Response Time Distribution</div>
|
|
398
|
+
${U(e.user_response_times)}
|
|
399
|
+
<div style="font-size: 12px; color: #64748b; margin-top: 8px;">
|
|
400
|
+
Median: ${e.median_response_time.toFixed(1)}s • Average: ${e.avg_response_time.toFixed(1)}s
|
|
401
|
+
</div>
|
|
402
|
+
</div>
|
|
403
|
+
|
|
404
|
+
<!-- Time of Day & Tool Errors -->
|
|
405
|
+
<div class="charts-row">
|
|
406
|
+
<div class="chart-card">
|
|
407
|
+
<div class="chart-title" style="display: flex; align-items: center; gap: 12px;">
|
|
408
|
+
User Messages by Time of Day
|
|
409
|
+
<select id="timezone-select" style="font-size: 12px; padding: 4px 8px; border-radius: 4px; border: 1px solid #e2e8f0;">
|
|
410
|
+
<option value="0" ${w===0?"selected":""}>Local (UTC${w>=0?"+":""}${w})</option>
|
|
411
|
+
<option value="-8">PT (UTC-8)</option>
|
|
412
|
+
<option value="-5">ET (UTC-5)</option>
|
|
413
|
+
<option value="0">London (UTC)</option>
|
|
414
|
+
<option value="1">CET (UTC+1)</option>
|
|
415
|
+
<option value="9">Tokyo (UTC+9)</option>
|
|
416
|
+
<option value="8">China (UTC+8)</option>
|
|
417
|
+
<option value="custom">Custom offset...</option>
|
|
418
|
+
</select>
|
|
419
|
+
<input type="number" id="custom-offset" placeholder="UTC offset" style="display: none; width: 80px; font-size: 12px; padding: 4px; border-radius: 4px; border: 1px solid #e2e8f0;">
|
|
420
|
+
</div>
|
|
421
|
+
${S(e.message_hours)}
|
|
422
|
+
</div>
|
|
423
|
+
<div class="chart-card">
|
|
424
|
+
<div class="chart-title">Tool Errors Encountered</div>
|
|
425
|
+
${Object.keys(e.tool_error_categories).length>0?p(e.tool_error_categories,"#dc2626"):'<p class="empty">No tool errors</p>'}
|
|
426
|
+
</div>
|
|
427
|
+
</div>
|
|
428
|
+
|
|
429
|
+
${_}
|
|
430
|
+
|
|
431
|
+
<div class="charts-row">
|
|
432
|
+
<div class="chart-card">
|
|
433
|
+
<div class="chart-title">What Helped Most (Agent Capabilities)</div>
|
|
434
|
+
${p(e.success,"#16a34a")}
|
|
435
|
+
</div>
|
|
436
|
+
<div class="chart-card">
|
|
437
|
+
<div class="chart-title">Outcomes</div>
|
|
438
|
+
${p(e.outcomes,"#8b5cf6",6,I)}
|
|
439
|
+
</div>
|
|
440
|
+
</div>
|
|
441
|
+
|
|
442
|
+
${$}
|
|
443
|
+
|
|
444
|
+
<div class="charts-row">
|
|
445
|
+
<div class="chart-card">
|
|
446
|
+
<div class="chart-title">Primary Friction Types</div>
|
|
447
|
+
${p(e.friction,"#dc2626")}
|
|
448
|
+
</div>
|
|
449
|
+
<div class="chart-card">
|
|
450
|
+
<div class="chart-title">Inferred Satisfaction (model-estimated)</div>
|
|
451
|
+
${p(e.satisfaction,"#eab308",6,A)}
|
|
452
|
+
</div>
|
|
453
|
+
</div>
|
|
454
|
+
|
|
455
|
+
${k}
|
|
456
|
+
|
|
457
|
+
${C}
|
|
458
|
+
|
|
459
|
+
${z}
|
|
460
|
+
</div>
|
|
461
|
+
<script>${E}<\/script>
|
|
462
|
+
</body>
|
|
463
|
+
</html>`}d(M,"generateHtmlReport");export{M as generateHtmlReport};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: insights extension default export (/insights command)
|
|
3
|
+
* [FROM]: Depends on node:path, node:fs/promises, core/extensions-host/types, core/session/session-manager, ./types, ./stats, ./insights-engine, ./html-report, ./prompts, ./session-scanner
|
|
4
|
+
* [TO]: Auto-loaded by builtin-extensions.ts as a default extension
|
|
5
|
+
* [HERE]: extensions/builtin/insights/index.ts - /insights command entry; usage-report pipeline
|
|
6
|
+
*
|
|
7
|
+
* /insights command — generate a usage report analyzing Catui sessions.
|
|
8
|
+
*
|
|
9
|
+
* 1:1 port of Claude Code src/commands/insights.ts generateUsageReport() pipeline.
|
|
10
|
+
*
|
|
11
|
+
* Pipeline:
|
|
12
|
+
* 1. scanAllSessions() — filesystem metadata only (no JSONL parsing)
|
|
13
|
+
* 2. Load SessionMeta — cache-first, parse uncached
|
|
14
|
+
* 3. Deduplicate session branches
|
|
15
|
+
* 4. Filter substantive sessions (≥2 user messages, ≥1 minute)
|
|
16
|
+
* 5. Facet extraction — cache-first, LLM for uncached (max 50)
|
|
17
|
+
* 6. Filter minimal sessions (warmup_minimal only)
|
|
18
|
+
* 7. aggregateData() — cross-session statistics
|
|
19
|
+
* 8. generateParallelInsights() — 7+ parallel LLM calls
|
|
20
|
+
* 9. generateHtmlReport() — HTML report with charts
|
|
21
|
+
* 10. Save report + terminal summary
|
|
22
|
+
*/
|
|
23
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
24
|
+
export default function insightsExtension(api: ExtensionAPI): Promise<void>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var N=Object.defineProperty;var f=(n,e)=>N(n,"name",{value:e,configurable:!0});import{join as w}from"node:path";import{mkdir as P,writeFile as k}from"node:fs/promises";import{loadEntriesFromFile as H}from"../../../core/session/session-manager.js";import{scanAllSessions as j,entriesToSessionMeta as B,loadCachedSessionMeta as x,saveSessionMeta as z,loadCachedFacets as X,saveFacets as Y}from"./session-scanner.js";import{aggregateData as J}from"./stats.js";import{extractFacetsFromTranscript as U,generateParallelInsights as V}from"./insights-engine.js";import{generateHtmlReport as W}from"./html-report.js";const Z="usage-data",F=50,G=200,M=10,q=50,T=50;function K(n){return w(n,Z)}f(K,"getDataDir");function Q(n){for(const e of n.slice(0,5)){if(e.type!=="message")continue;const i=e.message;if(i.role==="user"){const o=i.content,r=typeof o=="string"?o:o.map(u=>"text"in u?u.text:"").join("");if(r.includes("RESPOND WITH ONLY A VALID JSON OBJECT")||r.includes("record_facets"))return!0}}return!1}f(Q,"isMetaSession");function ss(n){for(const e of n)if(e.type==="message"&&e.timestamp)return!0;return!1}f(ss,"hasValidDates");function ts(n){return H(n).filter(i=>i.type!=="session")}f(ts,"loadSessionEntries");async function es(n){const e=n.agentDir,i=w(e,"sessions"),o=K(e),r=await j(i),u=r.length;if(u===0)throw new Error("No sessions found. Start a conversation first!");let m=[];const g=[];for(let s=0;s<r.length;s+=F){const t=r.slice(s,s+F),c=await Promise.all(t.map(async a=>({sessionInfo:a,cached:await x(a.sessionId,e)})));for(const{sessionInfo:a,cached:l}of c)l?m.push(l):g.length<G&&g.push(a)}const d=new Map;for(let s=0;s<g.length;s+=M){const t=g.slice(s,s+M);for(const c of t)try{const a=ts(c.path);if(Q(a)||!ss(a))continue;const l=B(a,c.sessionId,"");m.push(l),await z(l,e),d.set(l.session_id,a)}catch{}}const y=new Map;for(const s of m){const t=y.get(s.session_id);(!t||s.user_message_count>t.user_message_count||s.user_message_count===t.user_message_count&&s.duration_minutes>t.duration_minutes)&&y.set(s.session_id,s)}const D=new Set(Array.from(y.keys()));m=Array.from(y.values());for(const s of Array.from(d.keys()))D.has(s)||d.delete(s);m.sort((s,t)=>t.start_time.localeCompare(s.start_time));const b=f(s=>s.user_message_count>=2&&s.duration_minutes>=1,"isSubstantive"),A=m.filter(b),p=new Map,S=[],O=await Promise.all(A.map(async s=>({sessionId:s.session_id,cached:await X(s.session_id,e)})));for(const{sessionId:s,cached:t}of O)if(t)p.set(s,t);else{const c=d.get(s);c&&S.length<q&&S.push({entries:c,sessionId:s})}for(let s=0;s<S.length;s+=T){const t=S.slice(s,s+T),c=await Promise.all(t.map(async({entries:l,sessionId:_})=>{const L=await U(l,_,n);return{sessionId:_,newFacets:L}})),a=[];for(const{sessionId:l,newFacets:_}of c)_&&(p.set(l,_),a.push(_));await Promise.all(a.map(l=>Y(l,e)))}const C=f(s=>{const t=p.get(s);if(!t)return!1;const c=Object.keys(t.goal_categories).filter(a=>(t.goal_categories[a]??0)>0);return c.length===1&&c[0]==="warmup_minimal"},"isMinimal"),v=A.filter(s=>!C(s.session_id)),E=new Map;for(const[s,t]of Array.from(p))C(s)||E.set(s,t);const h=J(v,E);h.total_sessions_scanned=u;const R=await V(h,p,n),$=W(h,R);await P(o,{recursive:!0});const I=w(o,"report.html");return await k(I,$,{encoding:"utf-8",mode:384}),{htmlPath:I,sessionCount:h.total_sessions,messageCount:h.total_messages,dateRange:h.date_range,totalSessionsScanned:u}}f(es,"generateUsageReport");function ns(n,e,i,o,r){return["# Catui Insights","",`${o>e?`${o.toLocaleString()} sessions total \xB7 ${e} analyzed`:`${e} sessions`} \xB7 ${i.toLocaleString()} messages`,`${r.start} to ${r.end}`,"",`Your full insights report is ready: file://${n}`,"","Want to dig into any section or try one of the suggestions?"].join(`
|
|
2
|
+
`)}f(ns,"buildTerminalSummary");async function os(n){n.registerCommand("insights",{description:"Generate a report analyzing your Catui sessions",handler:f(async(e,i)=>{try{i.ui.notify("Analyzing your sessions...","info");const{htmlPath:o,sessionCount:r,messageCount:u,dateRange:m,totalSessionsScanned:g}=await es(i),d=ns(o,r,u,g,m);i.ui.notify(d,"info")}catch(o){const r=o instanceof Error?o.message:String(o);i.ui.notify(`Insights error: ${r}`,"error")}},"handler")})}f(os,"insightsExtension");export{os as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: extractFacetsFromTranscript, generateParallelInsights
|
|
3
|
+
* [FROM]: Depends on core/session/session-manager, core/extensions-host/types, ./types, ./prompts, ./session-scanner
|
|
4
|
+
* [TO]: Consumed by ./index
|
|
5
|
+
* [HERE]: extensions/builtin/insights/insights-engine.ts - LLM facet extraction and parallel insight generation
|
|
6
|
+
*
|
|
7
|
+
* LLM insight generation engine.
|
|
8
|
+
*
|
|
9
|
+
* Port of Claude Code src/commands/insights.ts:
|
|
10
|
+
* - extractFacetsFromAPI → extractFacetsFromTranscript
|
|
11
|
+
* - generateParallelInsights → generateParallelInsights
|
|
12
|
+
* - generateSectionInsight (helper)
|
|
13
|
+
*/
|
|
14
|
+
import type { SessionEntry } from "../../../core/session/session-manager.js";
|
|
15
|
+
import type { ExtensionContext } from "../../../core/extensions-host/types.js";
|
|
16
|
+
import type { SessionFacets, AggregatedData, InsightResults } from "./types.js";
|
|
17
|
+
export declare function extractFacetsFromTranscript(entries: SessionEntry[], sessionId: string, ctx: ExtensionContext): Promise<SessionFacets | null>;
|
|
18
|
+
export declare function generateParallelInsights(data: AggregatedData, facets: Map<string, SessionFacets>, ctx: ExtensionContext): Promise<InsightResults>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var b=Object.defineProperty;var l=(t,o)=>b(t,"name",{value:o,configurable:!0});import{FACET_EXTRACTION_PROMPT as j,FACET_EXTRACTION_SCHEMA as T,INSIGHT_SECTIONS as O,buildAtAGlancePrompt as w}from"./prompts.js";import{formatTranscriptWithSummarization as k}from"./session-scanner.js";function f(t){const o=t.match(/\{[\s\S]*\}/);if(!o)return null;try{return JSON.parse(o[0])}catch{return null}}l(f,"extractJsonFromResponse");function v(t){return t?Object.entries(t):[]}l(v,"safeEntries");async function E(t,o,i){try{const s=await k(t,async(m,e)=>i.completeSimple(m,e)),c=j+s+`
|
|
2
|
+
|
|
3
|
+
`+T,_=await i.completeSimple("You are a session analysis assistant. Respond ONLY with valid JSON.",c);if(!_)return null;const a=f(_);return!a||!a.underlying_goal||!a.brief_summary?null:{session_id:o,underlying_goal:String(a.underlying_goal),goal_categories:a.goal_categories||{},outcome:String(a.outcome||"unclear_from_transcript"),user_satisfaction_counts:a.user_satisfaction_counts||{},claude_helpfulness:String(a.claude_helpfulness||"moderately_helpful"),session_type:String(a.session_type||"single_task"),friction_counts:a.friction_counts||{},friction_detail:String(a.friction_detail||""),primary_success:String(a.primary_success||"none"),brief_summary:String(a.brief_summary),user_instructions_to_claude:a.user_instructions_to_claude}}catch{return null}}l(E,"extractFacetsFromTranscript");function A(t){const o=Object.entries(t.tool_counts).sort(([,e],[,n])=>n-e).slice(0,8).map(([e,n])=>`${e}: ${n}`).join(", "),i=Object.entries(t.goal_categories).sort(([,e],[,n])=>n-e).slice(0,8).map(([e,n])=>`${e}: ${n}`).join(", "),s=Object.entries(t.outcomes).map(([e,n])=>`${e}: ${n}`).join(", "),c=Object.entries(t.satisfaction).map(([e,n])=>`${e}: ${n}`).join(", "),_=Object.entries(t.friction).sort(([,e],[,n])=>n-e).map(([e,n])=>`${e}: ${n}`).join(", "),a=Object.entries(t.success).sort(([,e],[,n])=>n-e).map(([e,n])=>`${e}: ${n}`).join(", "),m=Object.entries(t.languages).sort(([,e],[,n])=>n-e).slice(0,8).map(([e,n])=>`${e}: ${n}`).join(", ");return`## Aggregate Statistics
|
|
4
|
+
- Total sessions: ${t.total_sessions}
|
|
5
|
+
- Total messages: ${t.total_messages}
|
|
6
|
+
- Duration: ${t.total_duration_hours.toFixed(1)} hours
|
|
7
|
+
- Days active: ${t.days_active}
|
|
8
|
+
- Messages/day: ${t.messages_per_day}
|
|
9
|
+
- Git commits: ${t.git_commits}, pushes: ${t.git_pushes}
|
|
10
|
+
- Lines: +${t.total_lines_added}/-${t.total_lines_removed}
|
|
11
|
+
- Files modified: ${t.total_files_modified}
|
|
12
|
+
- Tool errors: ${t.total_tool_errors}
|
|
13
|
+
- Median response time: ${t.median_response_time.toFixed(1)}s
|
|
14
|
+
|
|
15
|
+
## Top Tools: ${o}
|
|
16
|
+
## Top Goals: ${i}
|
|
17
|
+
## Outcomes: ${s}
|
|
18
|
+
## Satisfaction: ${c}
|
|
19
|
+
## Friction: ${_}
|
|
20
|
+
## Success: ${a}
|
|
21
|
+
## Languages: ${m}`}l(A,"buildDataContext");function F(t,o=50){const i=[];for(const[,s]of Array.from(t)){if(i.length>=o)break;i.push(`- Goal: ${s.underlying_goal} | Outcome: ${s.outcome} | Type: ${s.session_type} | Summary: ${s.brief_summary}`)}return i.join(`
|
|
22
|
+
`)}l(F,"buildFacetSummaries");function x(t,o=20){const i=[];for(const[,s]of Array.from(t)){if(i.length>=o)break;s.friction_detail&&i.push(`- ${s.friction_detail}`)}return i.join(`
|
|
23
|
+
`)}l(x,"buildFrictionDetails");function N(t,o=15){const i=[];for(const[,s]of Array.from(t)){if(s.user_instructions_to_claude)for(const c of s.user_instructions_to_claude){if(i.length>=o)break;i.push(`- ${c}`)}if(i.length>=o)break}return i.join(`
|
|
24
|
+
`)}l(N,"buildUserInstructions");async function I(t,o,i){try{const s=o?t.prompt+`
|
|
25
|
+
|
|
26
|
+
`+o:t.prompt,c=await i.completeSimple("You are a usage analysis assistant. Respond ONLY with valid JSON.",s);if(!c)return{name:t.name,result:null};const _=f(c);return{name:t.name,result:_}}catch{return{name:t.name,result:null}}}l(I,"generateSectionInsight");async function P(t,o,i){const s={},c=A(t),_=F(o),a=x(o),m=N(o),e=[c,_?`
|
|
27
|
+
## Session Summaries
|
|
28
|
+
${_}`:"",a?`
|
|
29
|
+
## Friction Details
|
|
30
|
+
${a}`:"",m?`
|
|
31
|
+
## User Instructions to Agent
|
|
32
|
+
${m}`:""].join(`
|
|
33
|
+
`),n=await Promise.all(O.map(p=>I(p,e,i)));for(const{name:p,result:u}of n)if(u)switch(p){case"project_areas":s.project_areas=u;break;case"interaction_style":s.interaction_style=u;break;case"what_works":s.what_works=u;break;case"friction_analysis":s.friction_analysis=u;break;case"suggestions":s.suggestions=u;break;case"on_the_horizon":s.on_the_horizon=u;break;case"fun_ending":s.fun_ending=u;break}try{const p=s.project_areas?.areas?.map(r=>`- ${r.name}: ${r.description}`).join(`
|
|
34
|
+
`)||"",u=s.what_works?.impressive_workflows?.map(r=>`- ${r.title}: ${r.description}`).join(`
|
|
35
|
+
`)||"",$=s.friction_analysis?.categories?.map(r=>`- ${r.category}: ${r.description}`).join(`
|
|
36
|
+
`)||"",y=s.suggestions?.features_to_try?.map(r=>`- ${r.feature}: ${r.one_liner}`).join(`
|
|
37
|
+
`)||"",h=s.suggestions?.usage_patterns?.map(r=>`- ${r.title}: ${r.suggestion}`).join(`
|
|
38
|
+
`)||"",d=s.on_the_horizon?.opportunities?.map(r=>`- ${r.title}: ${r.whats_possible}`).join(`
|
|
39
|
+
`)||"",S=w(c,p,u,$,y,h,d),g=await i.completeSimple("You are a usage analysis assistant. Respond ONLY with valid JSON.",S);if(g){const r=f(g);r&&(s.at_a_glance=r)}}catch{}return s}l(P,"generateParallelInsights");export{E as extractFacetsFromTranscript,P as generateParallelInsights};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: FACET_EXTRACTION_PROMPT/SCHEMA, SUMMARIZE_CHUNK_PROMPT, INSIGHT_SECTIONS, buildAtAGlancePrompt
|
|
3
|
+
* [FROM]: Depends on ./types
|
|
4
|
+
* [TO]: Consumed by ./insights-engine
|
|
5
|
+
* [HERE]: extensions/builtin/insights/prompts.ts - LLM prompt templates and insight section definitions
|
|
6
|
+
*
|
|
7
|
+
* Prompt templates for the /insights command.
|
|
8
|
+
*
|
|
9
|
+
* 1:1 port of Claude Code src/commands/insights.ts prompt templates.
|
|
10
|
+
* "Claude Code" → "Catui", feature references updated for nP.
|
|
11
|
+
*/
|
|
12
|
+
import type { InsightSection } from "./types.js";
|
|
13
|
+
export declare const FACET_EXTRACTION_PROMPT = "Analyze this Catui session and extract structured facets.\n\nCRITICAL GUIDELINES:\n\n1. **goal_categories**: Count ONLY what the USER explicitly asked for.\n - DO NOT count the agent's autonomous codebase exploration\n - DO NOT count work the agent decided to do on its own\n - ONLY count when user says \"can you...\", \"please...\", \"I need...\", \"let's...\"\n\n2. **user_satisfaction_counts**: Base ONLY on explicit user signals.\n - \"Yay!\", \"great!\", \"perfect!\" \u2192 happy\n - \"thanks\", \"looks good\", \"that works\" \u2192 satisfied\n - \"ok, now let's...\" (continuing without complaint) \u2192 likely_satisfied\n - \"that's not right\", \"try again\" \u2192 dissatisfied\n - \"this is broken\", \"I give up\" \u2192 frustrated\n\n3. **friction_counts**: Be specific about what went wrong.\n - misunderstood_request: Agent interpreted incorrectly\n - wrong_approach: Right goal, wrong solution method\n - buggy_code: Code didn't work correctly\n - user_rejected_action: User said no/stop to a tool call\n - excessive_changes: Over-engineered or changed too much\n\n4. If very short or just warmup, use warmup_minimal for goal_category\n\nSESSION:\n";
|
|
14
|
+
export declare const FACET_EXTRACTION_SCHEMA = "RESPOND WITH ONLY A VALID JSON OBJECT matching this schema:\n{\n \"underlying_goal\": \"What the user fundamentally wanted to achieve\",\n \"goal_categories\": {\"category_name\": count, ...},\n \"outcome\": \"fully_achieved|mostly_achieved|partially_achieved|not_achieved|unclear_from_transcript\",\n \"user_satisfaction_counts\": {\"level\": count, ...},\n \"claude_helpfulness\": \"unhelpful|slightly_helpful|moderately_helpful|very_helpful|essential\",\n \"session_type\": \"single_task|multi_task|iterative_refinement|exploration|quick_question\",\n \"friction_counts\": {\"friction_type\": count, ...},\n \"friction_detail\": \"One sentence describing friction or empty\",\n \"primary_success\": \"none|fast_accurate_search|correct_code_edits|good_explanations|proactive_help|multi_file_changes|good_debugging\",\n \"brief_summary\": \"One sentence: what user wanted and whether they got it\"\n}";
|
|
15
|
+
export declare const SUMMARIZE_CHUNK_PROMPT = "Summarize this portion of a Catui session transcript. Focus on:\n1. What the user asked for\n2. What the agent did (tools used, files modified)\n3. Any friction or issues\n4. The outcome\n\nKeep it concise - 3-5 sentences. Preserve specific details like file names, error messages, and user feedback.\n\nTRANSCRIPT CHUNK:\n";
|
|
16
|
+
export declare const INSIGHT_SECTIONS: InsightSection[];
|
|
17
|
+
export declare function buildAtAGlancePrompt(fullContext: string, projectAreasText: string, bigWinsText: string, frictionText: string, featuresText: string, patternsText: string, horizonText: string): string;
|