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,180 @@
|
|
|
1
|
+
var u=Object.defineProperty;var o=(e,t)=>u(e,"name",{value:t,configurable:!0});const l=`Analyze this Catui session and extract structured facets.
|
|
2
|
+
|
|
3
|
+
CRITICAL GUIDELINES:
|
|
4
|
+
|
|
5
|
+
1. **goal_categories**: Count ONLY what the USER explicitly asked for.
|
|
6
|
+
- DO NOT count the agent's autonomous codebase exploration
|
|
7
|
+
- DO NOT count work the agent decided to do on its own
|
|
8
|
+
- ONLY count when user says "can you...", "please...", "I need...", "let's..."
|
|
9
|
+
|
|
10
|
+
2. **user_satisfaction_counts**: Base ONLY on explicit user signals.
|
|
11
|
+
- "Yay!", "great!", "perfect!" \u2192 happy
|
|
12
|
+
- "thanks", "looks good", "that works" \u2192 satisfied
|
|
13
|
+
- "ok, now let's..." (continuing without complaint) \u2192 likely_satisfied
|
|
14
|
+
- "that's not right", "try again" \u2192 dissatisfied
|
|
15
|
+
- "this is broken", "I give up" \u2192 frustrated
|
|
16
|
+
|
|
17
|
+
3. **friction_counts**: Be specific about what went wrong.
|
|
18
|
+
- misunderstood_request: Agent interpreted incorrectly
|
|
19
|
+
- wrong_approach: Right goal, wrong solution method
|
|
20
|
+
- buggy_code: Code didn't work correctly
|
|
21
|
+
- user_rejected_action: User said no/stop to a tool call
|
|
22
|
+
- excessive_changes: Over-engineered or changed too much
|
|
23
|
+
|
|
24
|
+
4. If very short or just warmup, use warmup_minimal for goal_category
|
|
25
|
+
|
|
26
|
+
SESSION:
|
|
27
|
+
`,d=`RESPOND WITH ONLY A VALID JSON OBJECT matching this schema:
|
|
28
|
+
{
|
|
29
|
+
"underlying_goal": "What the user fundamentally wanted to achieve",
|
|
30
|
+
"goal_categories": {"category_name": count, ...},
|
|
31
|
+
"outcome": "fully_achieved|mostly_achieved|partially_achieved|not_achieved|unclear_from_transcript",
|
|
32
|
+
"user_satisfaction_counts": {"level": count, ...},
|
|
33
|
+
"claude_helpfulness": "unhelpful|slightly_helpful|moderately_helpful|very_helpful|essential",
|
|
34
|
+
"session_type": "single_task|multi_task|iterative_refinement|exploration|quick_question",
|
|
35
|
+
"friction_counts": {"friction_type": count, ...},
|
|
36
|
+
"friction_detail": "One sentence describing friction or empty",
|
|
37
|
+
"primary_success": "none|fast_accurate_search|correct_code_edits|good_explanations|proactive_help|multi_file_changes|good_debugging",
|
|
38
|
+
"brief_summary": "One sentence: what user wanted and whether they got it"
|
|
39
|
+
}`,h=`Summarize this portion of a Catui session transcript. Focus on:
|
|
40
|
+
1. What the user asked for
|
|
41
|
+
2. What the agent did (tools used, files modified)
|
|
42
|
+
3. Any friction or issues
|
|
43
|
+
4. The outcome
|
|
44
|
+
|
|
45
|
+
Keep it concise - 3-5 sentences. Preserve specific details like file names, error messages, and user feedback.
|
|
46
|
+
|
|
47
|
+
TRANSCRIPT CHUNK:
|
|
48
|
+
`,p=[{name:"project_areas",prompt:`Analyze this Catui usage data and identify project areas.
|
|
49
|
+
|
|
50
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
51
|
+
{
|
|
52
|
+
"areas": [
|
|
53
|
+
{"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how Catui was used."}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
Include 4-5 areas. Skip internal operations.`,maxTokens:8192},{name:"interaction_style",prompt:`Analyze this Catui usage data and describe the user's interaction style.
|
|
58
|
+
|
|
59
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
60
|
+
{
|
|
61
|
+
"narrative": "2-3 paragraphs analyzing HOW the user interacts with Catui. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let the agent run? Include specific examples. Use **bold** for key insights.",
|
|
62
|
+
"key_pattern": "One sentence summary of most distinctive interaction style"
|
|
63
|
+
}`,maxTokens:8192},{name:"what_works",prompt:`Analyze this Catui usage data and identify what's working well for this user. Use second person ("you").
|
|
64
|
+
|
|
65
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
66
|
+
{
|
|
67
|
+
"intro": "1 sentence of context",
|
|
68
|
+
"impressive_workflows": [
|
|
69
|
+
{"title": "Short title (3-6 words)", "description": "2-3 sentences describing the impressive workflow or approach. Use 'you' not 'the user'."}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
Include 3 impressive workflows.`,maxTokens:8192},{name:"friction_analysis",prompt:`Analyze this Catui usage data and identify friction points for this user. Use second person ("you").
|
|
74
|
+
|
|
75
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
76
|
+
{
|
|
77
|
+
"intro": "1 sentence summarizing friction patterns",
|
|
78
|
+
"categories": [
|
|
79
|
+
{"category": "Concrete category name", "description": "1-2 sentences explaining this category and what could be done differently. Use 'you' not 'the user'.", "examples": ["Specific example with consequence", "Another example"]}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
Include 3 friction categories with 2 examples each.`,maxTokens:8192},{name:"suggestions",prompt:`Analyze this Catui usage data and suggest improvements.
|
|
84
|
+
|
|
85
|
+
## NANOFEATURES REFERENCE (pick from these for features_to_try):
|
|
86
|
+
1. **GRUB**: Autonomous long-running task engine. Runs iterative loops with disk-persistent state.
|
|
87
|
+
- How to use: Type \`/grub <goal>\` to start an autonomous task
|
|
88
|
+
- Good for: large multi-file refactors, feature implementation with test validation, iterative debugging
|
|
89
|
+
|
|
90
|
+
2. **Custom Skills**: Reusable prompts you define as markdown files that run with a single /command.
|
|
91
|
+
- How to use: Create \`.catui/skills/commit/SKILL.md\` with instructions. Then type \`/commit\` to run it.
|
|
92
|
+
- Good for: repetitive workflows - /commit, /review, /test, /deploy, /pr, or complex multi-step workflows
|
|
93
|
+
|
|
94
|
+
3. **teach**: Guided knowledge teaching with analogy + source verification.
|
|
95
|
+
- How to use: Type \`/teach <topic>\` for a guided explanation
|
|
96
|
+
- Good for: learning new concepts, understanding codebase architecture, onboarding
|
|
97
|
+
|
|
98
|
+
4. **Browser Harness**: Control your real Chrome/Edge browser via CDP.
|
|
99
|
+
- How to use: The agent can use the \`browser\` tool to automate web tasks
|
|
100
|
+
- Good for: testing web UIs, scraping data, automating browser workflows
|
|
101
|
+
|
|
102
|
+
5. **Task Agents**: Spawn focused sub-agents for complex exploration or parallel work.
|
|
103
|
+
- How to use: The agent auto-invokes when helpful, or ask "use an agent to explore X"
|
|
104
|
+
- Good for: codebase exploration, understanding complex systems, parallel investigation
|
|
105
|
+
|
|
106
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
107
|
+
{
|
|
108
|
+
"claude_md_additions": [
|
|
109
|
+
{"addition": "A specific line or block to add to CLAUDE.md based on workflow patterns. E.g., 'Always run tests after modifying auth-related files'", "why": "1 sentence explaining why this would help based on actual sessions", "prompt_scaffold": "Instructions for where to add this in CLAUDE.md. E.g., 'Add under ## Testing section'"}
|
|
110
|
+
],
|
|
111
|
+
"features_to_try": [
|
|
112
|
+
{"feature": "Feature name from NANOFEATURES REFERENCE above", "one_liner": "What it does", "why_for_you": "Why this would help YOU based on your sessions", "example_code": "Actual command or config to copy"}
|
|
113
|
+
],
|
|
114
|
+
"usage_patterns": [
|
|
115
|
+
{"title": "Short title", "suggestion": "1-2 sentence summary", "detail": "3-4 sentences explaining how this applies to YOUR work", "copyable_prompt": "A specific prompt to copy and try"}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
IMPORTANT for claude_md_additions: PRIORITIZE instructions that appear MULTIPLE TIMES in the user data. If user told the agent the same thing in 2+ sessions (e.g., 'always run tests', 'use TypeScript'), that's a PRIME candidate - they shouldn't have to repeat themselves.
|
|
120
|
+
|
|
121
|
+
IMPORTANT for features_to_try: Pick 2-3 from the NANOFEATURES REFERENCE above. Include 2-3 items for each category.`,maxTokens:8192},{name:"on_the_horizon",prompt:`Analyze this Catui usage data and identify future opportunities.
|
|
122
|
+
|
|
123
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
124
|
+
{
|
|
125
|
+
"intro": "1 sentence about evolving AI-assisted development",
|
|
126
|
+
"opportunities": [
|
|
127
|
+
{"title": "Short title (4-8 words)", "whats_possible": "2-3 ambitious sentences about autonomous workflows", "how_to_try": "1-2 sentences mentioning relevant tooling", "copyable_prompt": "Detailed prompt to try"}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
Include 3 opportunities. Think BIG - autonomous workflows, parallel agents, iterating against tests.`,maxTokens:8192},{name:"fun_ending",prompt:`Analyze this Catui usage data and find a memorable moment.
|
|
132
|
+
|
|
133
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
134
|
+
{
|
|
135
|
+
"headline": "A memorable QUALITATIVE moment from the transcripts - not a statistic. Something human, funny, or surprising.",
|
|
136
|
+
"detail": "Brief context about when/where this happened"
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
Find something genuinely interesting or amusing from the session summaries.`,maxTokens:8192}];function m(e,t,s,n,i,a,r){return`You're writing an "At a Glance" summary for a Catui usage insights report. The goal is to help the user understand their usage and improve how they can use Catui better, especially as models improve.
|
|
140
|
+
|
|
141
|
+
Use this 4-part structure:
|
|
142
|
+
|
|
143
|
+
1. **What's working** - What is the user's unique style of interacting with Catui and what are some impactful things they've done? You can include one or two details, but keep it high level since things might not be fresh in the user's memory. Don't be fluffy or overly complimentary. Also, don't focus on the tool calls they use.
|
|
144
|
+
|
|
145
|
+
2. **What's hindering you** - Split into (a) agent's fault (misunderstandings, wrong approaches, bugs) and (b) user-side friction (not providing enough context, environment issues -- ideally more general than just one project). Be honest but constructive.
|
|
146
|
+
|
|
147
|
+
3. **Quick wins to try** - Specific Catui features they could try from the examples below, or a workflow technique if you think it's really compelling. (Avoid stuff like "Ask the agent to confirm before taking actions" or "Type out more context up front" which are less compelling.)
|
|
148
|
+
|
|
149
|
+
4. **Ambitious workflows for better models** - As we move to much more capable models over the next 3-6 months, what should they prepare for? What workflows that seem impossible now will become possible? Draw from the appropriate section below.
|
|
150
|
+
|
|
151
|
+
Keep each section to 2-3 not-too-long sentences. Don't overwhelm the user. Don't mention specific numerical stats or underlined_categories from the session data below. Use a coaching tone.
|
|
152
|
+
|
|
153
|
+
RESPOND WITH ONLY A VALID JSON OBJECT:
|
|
154
|
+
{
|
|
155
|
+
"whats_working": "(refer to instructions above)",
|
|
156
|
+
"whats_hindering": "(refer to instructions above)",
|
|
157
|
+
"quick_wins": "(refer to instructions above)",
|
|
158
|
+
"ambitious_workflows": "(refer to instructions above)"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
SESSION DATA:
|
|
162
|
+
${e}
|
|
163
|
+
|
|
164
|
+
## Project Areas (what user works on)
|
|
165
|
+
${t}
|
|
166
|
+
|
|
167
|
+
## Big Wins (impressive accomplishments)
|
|
168
|
+
${s}
|
|
169
|
+
|
|
170
|
+
## Friction Categories (where things go wrong)
|
|
171
|
+
${n}
|
|
172
|
+
|
|
173
|
+
## Features to Try
|
|
174
|
+
${i}
|
|
175
|
+
|
|
176
|
+
## Usage Patterns to Adopt
|
|
177
|
+
${a}
|
|
178
|
+
|
|
179
|
+
## On the Horizon (ambitious workflows for better models)
|
|
180
|
+
${r}`}o(m,"buildAtAGlancePrompt");export{l as FACET_EXTRACTION_PROMPT,d as FACET_EXTRACTION_SCHEMA,p as INSIGHT_SECTIONS,h as SUMMARIZE_CHUNK_PROMPT,m as buildAtAGlancePrompt};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: scanAllSessions, entriesToSessionMeta, formatTranscriptForFacets, formatTranscriptWithSummarization, load/saveSessionMeta, load/saveFacets
|
|
3
|
+
* [FROM]: Depends on node:fs/promises, core/session/session-manager, core/lib/ai types, core/lib/agent-core types, ./types
|
|
4
|
+
* [TO]: Consumed by ./insights-engine, ./index
|
|
5
|
+
* [HERE]: extensions/builtin/insights/session-scanner.ts - session JSONL scanning, transcript formatting, meta/facets cache
|
|
6
|
+
*
|
|
7
|
+
* Session scanner — adapts Catui session entries to CC's SessionMeta format.
|
|
8
|
+
*
|
|
9
|
+
* Port of Claude Code src/commands/insights.ts data collection functions:
|
|
10
|
+
* - extractToolStats → entriesToToolStats
|
|
11
|
+
* - logToSessionMeta → entriesToSessionMeta
|
|
12
|
+
* - formatTranscriptForFacets → formatTranscriptForFacets
|
|
13
|
+
* - formatTranscriptWithSummarization → formatTranscriptWithSummarization
|
|
14
|
+
* - scanAllSessions → scanAllSessions
|
|
15
|
+
* - loadCachedSessionMeta / saveSessionMeta
|
|
16
|
+
* - loadCachedFacets / saveFacets
|
|
17
|
+
*/
|
|
18
|
+
import type { SessionEntry } from "../../../core/session/session-manager.js";
|
|
19
|
+
import type { SessionMeta, SessionFacets, LiteSessionInfo } from "./types.js";
|
|
20
|
+
export declare function entriesToSessionMeta(entries: SessionEntry[], sessionId: string, projectPath: string): SessionMeta;
|
|
21
|
+
export declare function formatTranscriptForFacets(entries: SessionEntry[]): string;
|
|
22
|
+
export declare function formatTranscriptWithSummarization(entries: SessionEntry[], completeFn: (systemPrompt: string, userMessage: string) => Promise<string | undefined>): Promise<string>;
|
|
23
|
+
export declare function scanAllSessions(sessionsDir: string): Promise<LiteSessionInfo[]>;
|
|
24
|
+
export declare function loadCachedSessionMeta(sessionId: string, agentDir: string): Promise<SessionMeta | null>;
|
|
25
|
+
export declare function saveSessionMeta(meta: SessionMeta, agentDir: string): Promise<void>;
|
|
26
|
+
export declare function loadCachedFacets(sessionId: string, agentDir: string): Promise<SessionFacets | null>;
|
|
27
|
+
export declare function saveFacets(facets: SessionFacets, agentDir: string): Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var A=Object.defineProperty;var l=(s,t)=>A(s,"name",{value:t,configurable:!0});import{readFile as x,writeFile as w,mkdir as T,readdir as C,stat as j}from"node:fs/promises";import{existsSync as E}from"node:fs";import{join as p,extname as R}from"node:path";const _={".ts":"TypeScript",".tsx":"TypeScript",".js":"JavaScript",".jsx":"JavaScript",".py":"Python",".rb":"Ruby",".go":"Go",".rs":"Rust",".java":"Java",".md":"Markdown",".json":"JSON",".yaml":"YAML",".yml":"YAML",".css":"CSS",".html":"HTML",".sql":"SQL",".sh":"Shell",".bash":"Shell",".zsh":"Shell",".toml":"TOML",".xml":"XML",".c":"C",".cpp":"C++",".h":"C/C++ Header",".hpp":"C++ Header",".swift":"Swift",".kt":"Kotlin",".scala":"Scala",".php":"PHP",".lua":"Lua",".r":"R",".dart":"Dart",".vue":"Vue",".svelte":"Svelte"},v="usage-data",M="session-meta",b="facets";function P(s){const t={toolCounts:{},languages:{},gitCommits:0,gitPushes:0,inputTokens:0,outputTokens:0,userInterruptions:0,userResponseTimes:[],toolErrors:0,toolErrorCategories:{},usesTaskAgent:!1,usesMcp:!1,usesWebSearch:!1,usesWebFetch:!1,linesAdded:0,linesRemoved:0,filesModified:new Set,messageHours:[],userMessageTimestamps:[]};let n=null;for(const e of s)if(e.type==="message"){const u=e.message;if(u.role==="assistant"){const o=u;if(o.usage&&(t.inputTokens+=o.usage.input||0,t.outputTokens+=o.usage.output||0),n=o.timestamp,o.content){for(const a of o.content)if(a.type==="toolCall"){const r=a,c=r.name;t.toolCounts[c]=(t.toolCounts[c]||0)+1;const m=c.toLowerCase();m==="agent"&&(t.usesTaskAgent=!0),(c.startsWith("mcp__")||c.startsWith("mcp_"))&&(t.usesMcp=!0),(m==="web_search"||m==="websearch")&&(t.usesWebSearch=!0),(m==="web_fetch"||m==="webfetch")&&(t.usesWebFetch=!0);const y=r.arguments?.file_path||r.arguments?.path||r.arguments?.command;if(y&&typeof y=="string"){const f=R(y).toLowerCase();f&&_[f]&&(t.languages[_[f]]=(t.languages[_[f]]||0)+1)}const S=r.arguments?.file_path||r.arguments?.path;if((m==="edit"||m==="write")&&S&&t.filesModified.add(S),m==="edit"&&r.arguments){const f=r.arguments.old_string||r.arguments.oldText||"",k=r.arguments.new_string||r.arguments.newText||"",g=f.split(`
|
|
2
|
+
`).length,d=k.split(`
|
|
3
|
+
`).length;d>g&&(t.linesAdded+=d-g),g>d&&(t.linesRemoved+=g-d)}if(m==="write"&&(r.arguments?.content||r.arguments?.file_content)){const f=r.arguments.content||r.arguments.file_content;t.linesAdded+=f.split(`
|
|
4
|
+
`).length}if(m==="bash"&&r.arguments?.command){const f=r.arguments.command;/\bgit\s+commit\b/.test(f)&&t.gitCommits++,/\bgit\s+push\b/.test(f)&&t.gitPushes++}}}}else if(u.role==="user"){const o=u;if((typeof o.content=="string"?o.content.length>0:o.content.some(r=>r.type==="text"&&r.text&&r.text.length>0))&&o.timestamp){const r=new Date(o.timestamp);if(t.messageHours.push(r.getHours()),t.userMessageTimestamps.push(r.toISOString()),n){const c=(o.timestamp-n)/1e3;c>=2&&c<=3600&&t.userResponseTimes.push(c)}}}else if(u.role==="toolResult"){const o=u;if(o.isError){t.toolErrors++;const a=o.content.filter(c=>c.type==="text").map(c=>c.text).join(" "),r=F(a);t.toolErrorCategories[r]=(t.toolErrorCategories[r]||0)+1}}}return t}l(P,"extractToolStats");function F(s){const t=s.toLowerCase();return t.includes("permission")||t.includes("access denied")?"permission_denied":t.includes("not found")||t.includes("enoent")?"file_not_found":t.includes("syntax")||t.includes("parse")?"syntax_error":t.includes("timeout")||t.includes("timed out")?"timeout":t.includes("type error")||t.includes("typescript")?"type_error":t.includes("network")||t.includes("fetch")?"network_error":"other"}l(F,"categorizeError");function H(s){let t=0;for(const n of s)if(n.type==="message"){const e=n.message;if(e.role==="user"){const i=e;(typeof i.content=="string"?i.content.length>0:i.content.some(o=>o.type==="text"&&o.text&&o.text.length>0))&&t++}}return t}l(H,"countUserMessages");function L(s){let t=0;for(const n of s)n.type==="message"&&n.message.role==="assistant"&&t++;return t}l(L,"countAssistantMessages");function I(s){for(const t of s)if(t.type==="message"){const n=t.message;if(n.role==="user"){const e=n;if(typeof e.content=="string")return e.content.slice(0,500);const i=e.content.find(u=>u.type==="text");if(i&&"text"in i)return i.text.slice(0,500)}}return""}l(I,"getFirstPrompt");function N(s){for(const t of s)if(t.type==="compaction")return t.summary.slice(0,500)}l(N,"getSessionSummary");function U(s,t,n){const e=P(s),i=H(s),u=L(s);let o="",a="";for(const c of s)if(c.type==="message"){const m=c.timestamp;o||(o=m),a=m}const r=o&&a?(new Date(a).getTime()-new Date(o).getTime())/6e4:0;return{session_id:t,project_path:n,start_time:o||new Date().toISOString(),duration_minutes:Math.max(0,r),user_message_count:i,assistant_message_count:u,tool_counts:e.toolCounts,languages:e.languages,git_commits:e.gitCommits,git_pushes:e.gitPushes,input_tokens:e.inputTokens,output_tokens:e.outputTokens,first_prompt:I(s),summary:N(s),user_interruptions:e.userInterruptions,user_response_times:e.userResponseTimes,tool_errors:e.toolErrors,tool_error_categories:e.toolErrorCategories,uses_task_agent:e.usesTaskAgent,uses_mcp:e.usesMcp,uses_web_search:e.usesWebSearch,uses_web_fetch:e.usesWebFetch,lines_added:e.linesAdded,lines_removed:e.linesRemoved,files_modified:e.filesModified.size,message_hours:e.messageHours,user_message_timestamps:e.userMessageTimestamps}}l(U,"entriesToSessionMeta");function O(s){return typeof s=="string"?s:s.filter(t=>t.type==="text"&&t.text).map(t=>t.text).join(`
|
|
5
|
+
`)}l(O,"extractTextFromContent");function W(s){const t=[];for(const n of s){if(n.type!=="message")continue;const e=n.message;if(e.role==="user"){const i=O(e.content);i.length>0&&t.push(`[User]: ${i.slice(0,500)}`)}else if(e.role==="assistant"){const i=e,u=[];for(const a of i.content)a.type==="text"&&"text"in a?u.push(a.text):a.type==="toolCall"&&"name"in a&&u.push(`[Tool: ${a.name}]`);const o=u.join(" ").slice(0,300);o.length>0&&t.push(`[Assistant]: ${o}`)}}return t.join(`
|
|
6
|
+
`)}l(W,"formatTranscriptForFacets");async function K(s,t){const n=W(s);if(n.length<=3e4)return n;const e=[];let i="";for(const a of n.split(`
|
|
7
|
+
`))i.length+a.length>25e3?(e.push(i),i=a):i+=(i?`
|
|
8
|
+
`:"")+a;i&&e.push(i);const u=`Summarize this portion of a Catui session transcript. Focus on:
|
|
9
|
+
1. What the user asked for
|
|
10
|
+
2. What the agent did (tools used, files modified)
|
|
11
|
+
3. Any friction or issues
|
|
12
|
+
4. The outcome
|
|
13
|
+
|
|
14
|
+
Keep it concise - 3-5 sentences. Preserve specific details like file names, error messages, and user feedback.
|
|
15
|
+
|
|
16
|
+
TRANSCRIPT CHUNK:
|
|
17
|
+
`;return(await Promise.all(e.map(async a=>await t(u,a)||a.slice(0,500)))).join(`
|
|
18
|
+
---
|
|
19
|
+
`)}l(K,"formatTranscriptWithSummarization");async function G(s){if(!E(s))return[];const t=await C(s,{withFileTypes:!0}),n=[];for(const e of t){if(!e.isDirectory())continue;const i=p(s,e.name);try{const u=await C(i);for(const o of u){if(!o.endsWith(".jsonl"))continue;const a=p(i,o);try{const r=await j(a),c=o.replace(/\.jsonl$/,"");n.push({sessionId:c,path:a,mtime:r.mtimeMs,size:r.size})}catch{}}}catch{}}return n.sort((e,i)=>i.mtime-e.mtime),n}l(G,"scanAllSessions");function h(s,t){return p(s,v,t)}l(h,"getCacheDir");async function X(s,t){const n=p(h(t,M),`${s}.json`);try{const e=await x(n,"utf-8");return JSON.parse(e)}catch{return null}}l(X,"loadCachedSessionMeta");async function Y(s,t){const n=h(t,M);await T(n,{recursive:!0}),await w(p(n,`${s.session_id}.json`),JSON.stringify(s,null,2),"utf-8")}l(Y,"saveSessionMeta");async function q(s,t){const n=p(h(t,b),`${s}.json`);try{const e=await x(n,"utf-8"),i=JSON.parse(e);return!i.session_id||!i.underlying_goal?null:i}catch{return null}}l(q,"loadCachedFacets");async function B(s,t){const n=h(t,b);await T(n,{recursive:!0}),await w(p(n,`${s.session_id}.json`),JSON.stringify(s,null,2),"utf-8")}l(B,"saveFacets");export{U as entriesToSessionMeta,W as formatTranscriptForFacets,K as formatTranscriptWithSummarization,q as loadCachedFacets,X as loadCachedSessionMeta,B as saveFacets,Y as saveSessionMeta,G as scanAllSessions};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: aggregateData
|
|
3
|
+
* [FROM]: Depends on ./types
|
|
4
|
+
* [TO]: Consumed by ./index
|
|
5
|
+
* [HERE]: extensions/builtin/insights/stats.ts - cross-session statistics aggregation
|
|
6
|
+
*
|
|
7
|
+
* Statistics aggregation for the /insights command.
|
|
8
|
+
*
|
|
9
|
+
* 1:1 port of Claude Code src/commands/insights.ts aggregateData().
|
|
10
|
+
* Removed: multi-clauding detection (CC-specific).
|
|
11
|
+
*/
|
|
12
|
+
import type { SessionMeta, SessionFacets, AggregatedData } from "./types.js";
|
|
13
|
+
export declare function aggregateData(sessions: SessionMeta[], facets: Map<string, SessionFacets>): AggregatedData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var p=Object.defineProperty;var u=(i,r)=>p(i,"name",{value:r,configurable:!0});function c(i){return i?Object.entries(i):[]}u(c,"safeEntries");function f(i,r){const s={total_sessions:i.length,sessions_with_facets:r.size,date_range:{start:"",end:""},total_messages:0,total_duration_hours:0,total_input_tokens:0,total_output_tokens:0,tool_counts:{},languages:{},git_commits:0,git_pushes:0,projects:{},goal_categories:{},outcomes:{},satisfaction:{},helpfulness:{},session_types:{},friction:{},success:{},session_summaries:[],total_interruptions:0,total_tool_errors:0,tool_error_categories:{},user_response_times:[],median_response_time:0,avg_response_time:0,sessions_using_task_agent:0,sessions_using_mcp:0,sessions_using_web_search:0,sessions_using_web_fetch:0,total_lines_added:0,total_lines_removed:0,total_files_modified:0,days_active:0,messages_per_day:0,message_hours:[]},n=[],a=[],l=[];for(const e of i){n.push(e.start_time),s.total_messages+=e.user_message_count,s.total_duration_hours+=e.duration_minutes/60,s.total_input_tokens+=e.input_tokens,s.total_output_tokens+=e.output_tokens,s.git_commits+=e.git_commits,s.git_pushes+=e.git_pushes,s.total_interruptions+=e.user_interruptions,s.total_tool_errors+=e.tool_errors;for(const[t,_]of Object.entries(e.tool_error_categories))s.tool_error_categories[t]=(s.tool_error_categories[t]||0)+_;a.push(...e.user_response_times),e.uses_task_agent&&s.sessions_using_task_agent++,e.uses_mcp&&s.sessions_using_mcp++,e.uses_web_search&&s.sessions_using_web_search++,e.uses_web_fetch&&s.sessions_using_web_fetch++,s.total_lines_added+=e.lines_added,s.total_lines_removed+=e.lines_removed,s.total_files_modified+=e.files_modified,l.push(...e.message_hours);for(const[t,_]of Object.entries(e.tool_counts))s.tool_counts[t]=(s.tool_counts[t]||0)+_;for(const[t,_]of Object.entries(e.languages))s.languages[t]=(s.languages[t]||0)+_;e.project_path&&(s.projects[e.project_path]=(s.projects[e.project_path]||0)+1);const o=r.get(e.session_id);if(o){for(const[t,_]of c(o.goal_categories))_>0&&(s.goal_categories[t]=(s.goal_categories[t]||0)+_);s.outcomes[o.outcome]=(s.outcomes[o.outcome]||0)+1;for(const[t,_]of c(o.user_satisfaction_counts))_>0&&(s.satisfaction[t]=(s.satisfaction[t]||0)+_);s.helpfulness[o.claude_helpfulness]=(s.helpfulness[o.claude_helpfulness]||0)+1,s.session_types[o.session_type]=(s.session_types[o.session_type]||0)+1;for(const[t,_]of c(o.friction_counts))_>0&&(s.friction[t]=(s.friction[t]||0)+_);o.primary_success!=="none"&&(s.success[o.primary_success]=(s.success[o.primary_success]||0)+1)}s.session_summaries.length<50&&s.session_summaries.push({id:e.session_id.slice(0,8),date:e.start_time.split("T")[0]||"",summary:e.summary||e.first_prompt.slice(0,100),goal:o?.underlying_goal})}if(n.sort(),s.date_range.start=n[0]?.split("T")[0]||"",s.date_range.end=n[n.length-1]?.split("T")[0]||"",s.user_response_times=a,a.length>0){const e=[...a].sort((o,t)=>o-t);s.median_response_time=e[Math.floor(e.length/2)]||0,s.avg_response_time=a.reduce((o,t)=>o+t,0)/a.length}const g=new Set(n.map(e=>e.split("T")[0]));return s.days_active=g.size,s.messages_per_day=s.days_active>0?Math.round(s.total_messages/s.days_active*10)/10:0,s.message_hours=l,s}u(f,"aggregateData");export{f as aggregateData};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: SessionMeta, SessionFacets, AggregatedData, InsightSection, InsightResults, InsightsExport, LiteSessionInfo type contracts
|
|
3
|
+
* [FROM]: No external dependencies (pure type definitions)
|
|
4
|
+
* [TO]: Consumed by ./stats, ./prompts, ./session-scanner, ./insights-engine, ./html-report, ./index
|
|
5
|
+
* [HERE]: extensions/builtin/insights/types.ts - type contracts for the /insights usage-report pipeline
|
|
6
|
+
*
|
|
7
|
+
* Type definitions for the /insights command.
|
|
8
|
+
*
|
|
9
|
+
* 1:1 port of Claude Code src/commands/insights.ts type definitions.
|
|
10
|
+
*/
|
|
11
|
+
export type SessionMeta = {
|
|
12
|
+
session_id: string;
|
|
13
|
+
project_path: string;
|
|
14
|
+
start_time: string;
|
|
15
|
+
duration_minutes: number;
|
|
16
|
+
user_message_count: number;
|
|
17
|
+
assistant_message_count: number;
|
|
18
|
+
tool_counts: Record<string, number>;
|
|
19
|
+
languages: Record<string, number>;
|
|
20
|
+
git_commits: number;
|
|
21
|
+
git_pushes: number;
|
|
22
|
+
input_tokens: number;
|
|
23
|
+
output_tokens: number;
|
|
24
|
+
first_prompt: string;
|
|
25
|
+
summary?: string;
|
|
26
|
+
user_interruptions: number;
|
|
27
|
+
user_response_times: number[];
|
|
28
|
+
tool_errors: number;
|
|
29
|
+
tool_error_categories: Record<string, number>;
|
|
30
|
+
uses_task_agent: boolean;
|
|
31
|
+
uses_mcp: boolean;
|
|
32
|
+
uses_web_search: boolean;
|
|
33
|
+
uses_web_fetch: boolean;
|
|
34
|
+
lines_added: number;
|
|
35
|
+
lines_removed: number;
|
|
36
|
+
files_modified: number;
|
|
37
|
+
message_hours: number[];
|
|
38
|
+
user_message_timestamps: string[];
|
|
39
|
+
};
|
|
40
|
+
export type SessionFacets = {
|
|
41
|
+
session_id: string;
|
|
42
|
+
underlying_goal: string;
|
|
43
|
+
goal_categories: Record<string, number>;
|
|
44
|
+
outcome: string;
|
|
45
|
+
user_satisfaction_counts: Record<string, number>;
|
|
46
|
+
claude_helpfulness: string;
|
|
47
|
+
session_type: string;
|
|
48
|
+
friction_counts: Record<string, number>;
|
|
49
|
+
friction_detail: string;
|
|
50
|
+
primary_success: string;
|
|
51
|
+
brief_summary: string;
|
|
52
|
+
user_instructions_to_claude?: string[];
|
|
53
|
+
};
|
|
54
|
+
export type AggregatedData = {
|
|
55
|
+
total_sessions: number;
|
|
56
|
+
total_sessions_scanned?: number;
|
|
57
|
+
sessions_with_facets: number;
|
|
58
|
+
date_range: {
|
|
59
|
+
start: string;
|
|
60
|
+
end: string;
|
|
61
|
+
};
|
|
62
|
+
total_messages: number;
|
|
63
|
+
total_duration_hours: number;
|
|
64
|
+
total_input_tokens: number;
|
|
65
|
+
total_output_tokens: number;
|
|
66
|
+
tool_counts: Record<string, number>;
|
|
67
|
+
languages: Record<string, number>;
|
|
68
|
+
git_commits: number;
|
|
69
|
+
git_pushes: number;
|
|
70
|
+
projects: Record<string, number>;
|
|
71
|
+
goal_categories: Record<string, number>;
|
|
72
|
+
outcomes: Record<string, number>;
|
|
73
|
+
satisfaction: Record<string, number>;
|
|
74
|
+
helpfulness: Record<string, number>;
|
|
75
|
+
session_types: Record<string, number>;
|
|
76
|
+
friction: Record<string, number>;
|
|
77
|
+
success: Record<string, number>;
|
|
78
|
+
session_summaries: Array<{
|
|
79
|
+
id: string;
|
|
80
|
+
date: string;
|
|
81
|
+
summary: string;
|
|
82
|
+
goal?: string;
|
|
83
|
+
}>;
|
|
84
|
+
total_interruptions: number;
|
|
85
|
+
total_tool_errors: number;
|
|
86
|
+
tool_error_categories: Record<string, number>;
|
|
87
|
+
user_response_times: number[];
|
|
88
|
+
median_response_time: number;
|
|
89
|
+
avg_response_time: number;
|
|
90
|
+
sessions_using_task_agent: number;
|
|
91
|
+
sessions_using_mcp: number;
|
|
92
|
+
sessions_using_web_search: number;
|
|
93
|
+
sessions_using_web_fetch: number;
|
|
94
|
+
total_lines_added: number;
|
|
95
|
+
total_lines_removed: number;
|
|
96
|
+
total_files_modified: number;
|
|
97
|
+
days_active: number;
|
|
98
|
+
messages_per_day: number;
|
|
99
|
+
message_hours: number[];
|
|
100
|
+
};
|
|
101
|
+
export type InsightSection = {
|
|
102
|
+
name: string;
|
|
103
|
+
prompt: string;
|
|
104
|
+
maxTokens: number;
|
|
105
|
+
};
|
|
106
|
+
export type InsightResults = {
|
|
107
|
+
at_a_glance?: {
|
|
108
|
+
whats_working?: string;
|
|
109
|
+
whats_hindering?: string;
|
|
110
|
+
quick_wins?: string;
|
|
111
|
+
ambitious_workflows?: string;
|
|
112
|
+
};
|
|
113
|
+
project_areas?: {
|
|
114
|
+
areas?: Array<{
|
|
115
|
+
name: string;
|
|
116
|
+
session_count: number;
|
|
117
|
+
description: string;
|
|
118
|
+
}>;
|
|
119
|
+
};
|
|
120
|
+
interaction_style?: {
|
|
121
|
+
narrative?: string;
|
|
122
|
+
key_pattern?: string;
|
|
123
|
+
};
|
|
124
|
+
what_works?: {
|
|
125
|
+
intro?: string;
|
|
126
|
+
impressive_workflows?: Array<{
|
|
127
|
+
title: string;
|
|
128
|
+
description: string;
|
|
129
|
+
}>;
|
|
130
|
+
};
|
|
131
|
+
friction_analysis?: {
|
|
132
|
+
intro?: string;
|
|
133
|
+
categories?: Array<{
|
|
134
|
+
category: string;
|
|
135
|
+
description: string;
|
|
136
|
+
examples?: string[];
|
|
137
|
+
}>;
|
|
138
|
+
};
|
|
139
|
+
suggestions?: {
|
|
140
|
+
claude_md_additions?: Array<{
|
|
141
|
+
addition: string;
|
|
142
|
+
why: string;
|
|
143
|
+
where?: string;
|
|
144
|
+
prompt_scaffold?: string;
|
|
145
|
+
}>;
|
|
146
|
+
features_to_try?: Array<{
|
|
147
|
+
feature: string;
|
|
148
|
+
one_liner: string;
|
|
149
|
+
why_for_you: string;
|
|
150
|
+
example_code?: string;
|
|
151
|
+
}>;
|
|
152
|
+
usage_patterns?: Array<{
|
|
153
|
+
title: string;
|
|
154
|
+
suggestion: string;
|
|
155
|
+
detail?: string;
|
|
156
|
+
copyable_prompt?: string;
|
|
157
|
+
}>;
|
|
158
|
+
};
|
|
159
|
+
on_the_horizon?: {
|
|
160
|
+
intro?: string;
|
|
161
|
+
opportunities?: Array<{
|
|
162
|
+
title: string;
|
|
163
|
+
whats_possible: string;
|
|
164
|
+
how_to_try?: string;
|
|
165
|
+
copyable_prompt?: string;
|
|
166
|
+
}>;
|
|
167
|
+
};
|
|
168
|
+
fun_ending?: {
|
|
169
|
+
headline?: string;
|
|
170
|
+
detail?: string;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
export type InsightsExport = {
|
|
174
|
+
metadata: {
|
|
175
|
+
username: string;
|
|
176
|
+
generated_at: string;
|
|
177
|
+
version: string;
|
|
178
|
+
date_range: {
|
|
179
|
+
start: string;
|
|
180
|
+
end: string;
|
|
181
|
+
};
|
|
182
|
+
session_count: number;
|
|
183
|
+
};
|
|
184
|
+
aggregated_data: AggregatedData;
|
|
185
|
+
insights: InsightResults;
|
|
186
|
+
facets_summary?: {
|
|
187
|
+
total: number;
|
|
188
|
+
goal_categories: Record<string, number>;
|
|
189
|
+
outcomes: Record<string, number>;
|
|
190
|
+
satisfaction: Record<string, number>;
|
|
191
|
+
friction: Record<string, number>;
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
export type LiteSessionInfo = {
|
|
195
|
+
sessionId: string;
|
|
196
|
+
path: string;
|
|
197
|
+
mtime: number;
|
|
198
|
+
size: number;
|
|
199
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Link-world Workspace
|
|
2
|
+
|
|
3
|
+
This directory is copied to:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
.nanopencil/link-world-workspace/
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Use it to store project-local, reusable internet-access knowledge for NanoPencil.
|
|
10
|
+
|
|
11
|
+
Suggested layout:
|
|
12
|
+
|
|
13
|
+
- `domain-skills/<site>/...` for durable site-specific notes
|
|
14
|
+
- `notes/` for broader task or provider observations that should not live in the shipped extension
|
|
15
|
+
|
|
16
|
+
Keep public-safe content only. Do not store secrets, cookies, tokens, or user-specific private data here.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: linkWorldExtension - registers link_world_admin/link_world_exec tools, /link-world command, runtime diagnostics, and internet-search skill resources
|
|
3
|
+
* [FROM]: Depends on node:child_process, node:fs, node:path, node:url, @sinclair/typebox, @catui/tui, core/extensions-host/types
|
|
4
|
+
* [TO]: Loaded by core/extensions-host/loader.ts as extension entry point
|
|
5
|
+
* [HERE]: extensions/builtin/link-world/index.ts - built-in internet access bootstrap, execution bridge, and workspace discovery
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
|
|
8
|
+
export default function linkWorldExtension(api: ExtensionAPI): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var U=Object.defineProperty;var a=(t,e)=>U(t,"name",{value:e,configurable:!0});import{execFile as O,execSync as T}from"node:child_process";import{cpSync as R,existsSync as g,mkdirSync as v,readFileSync as M,readdirSync as W,statSync as N}from"node:fs";import{dirname as j,join as f,resolve as D}from"node:path";import{fileURLToPath as H}from"node:url";import{Type as i}from"@sinclair/typebox";import{Box as F,Container as q,Spacer as C,Text as B}from"@catui/tui";import{getLinkWorldWorkspaceDir as K}from"../../../config.js";const m=j(H(import.meta.url)),J=f(m,"linkworld.md"),L=f(m,"internet-search","internet-search.md"),A=f(m,"link-world-agent.md"),G=f(m,"network-routing","network-routing.md"),E=f(m,"agent-workspace"),h="link-world-install",w=120,Y=[{value:"status",label:"status",description:"Show installed internet-access capabilities"},{value:"doctor",label:"doctor",description:"Run agent-reach doctor diagnostics"},{value:"version",label:"version",description:"Show installed agent-reach version"},{value:"install",label:"install",description:"Show bundled installation guidance"},{value:"workspace",label:"workspace",description:"Show the link-world workspace path"},{value:"help",label:"help",description:"Show link-world commands"}],z=i.Object({action:i.Union([i.Literal("status"),i.Literal("doctor"),i.Literal("version"),i.Literal("install_help")]),timeout:i.Optional(i.Number({description:"Timeout in seconds. Defaults to 120."}))},{additionalProperties:!1}),V=i.Object({args:i.Array(i.String(),{description:'Arguments passed to the external `agent-reach` CLI, for example ["search", "OpenAI Responses API"] or ["doctor"].'}),timeout:i.Optional(i.Number({description:"Timeout in seconds. Defaults to 120."}))},{additionalProperties:!1}),Q=i.Object({query:i.String({description:"Search query to send through link-world."}),provider:i.Optional(i.String({description:"Optional provider or site hint, if the downstream runtime supports it."})),limit:i.Optional(i.Number({description:"Optional result count hint, if the downstream runtime supports it."})),timeout:i.Optional(i.Number({description:"Timeout in seconds. Defaults to 120."}))},{additionalProperties:!1}),X=i.Object({url:i.String({description:"URL to fetch through link-world."}),provider:i.Optional(i.String({description:"Optional provider or site hint, if the downstream runtime supports it."})),timeout:i.Optional(i.Number({description:"Timeout in seconds. Defaults to 120."}))},{additionalProperties:!1});function Z(){return K()}a(Z,"linkWorldWorkspacePath");function y(){const t=Z();return g(t)||(v(t,{recursive:!0}),g(E)?R(E,t,{recursive:!0}):v(t,{recursive:!0})),t}a(y,"ensureLinkWorldWorkspace");function I(t){if(!g(t))return[];const e=[];for(const n of W(t)){const o=f(t,n);if(N(o).isDirectory()){e.push(...I(o));continue}n.endsWith(".md")&&e.push(o)}return e.sort()}a(I,"collectMarkdownFiles");function ee(){try{return M(J,"utf-8")}catch{return""}}a(ee,"getInstallDoc");function p(){try{return T("agent-reach --version",{encoding:"utf-8",stdio:"pipe"}),!0}catch{return!1}}a(p,"isAgentReachInstalled");function te(){try{return T("agent-reach --help",{encoding:"utf-8",stdio:"pipe"})}catch{return""}}a(te,"getAgentReachHelpText");function _(){if(!p())return{search:!1,fetch:!1};const t=te().toLowerCase();return{search:/\bsearch\b/.test(t),fetch:/\bfetch\b/.test(t)}}a(_,"getLinkWorldCapabilities");function k(t,e,n){return new Promise((o,r)=>{O("agent-reach",t,{timeout:e*1e3,windowsHide:!0,signal:n,maxBuffer:1024*1024,encoding:"utf-8"},(s,c,d)=>{const l=[c,d].filter(Boolean).join("").trim()||"(no output)";if(s){const u=s;if(u.code==="ENOENT"){r(new Error("agent-reach is not installed"));return}o({exitCode:typeof u.code=="number"?u.code:1,output:l});return}o({exitCode:0,output:l})})})}a(k,"execAgentReach");const ne="https://r.jina.ai",re="https://s.jina.ai",$=3e4;async function oe(t,e){const n=t.startsWith("http")?t:`https://${t}`,o=e??AbortSignal.timeout($);try{const r=await fetch(`${ne}/${n}`,{signal:o,headers:{Accept:"text/markdown"}});if(r.ok){const s=await r.text();if(s.trim())return s}}catch{}try{const r=await fetch(n,{signal:o});if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);const s=await r.text();return ie(s,n)}catch(r){throw new Error(`Failed to fetch ${n}: ${r instanceof Error?r.message:r}`)}}a(oe,"nativeWebFetch");async function se(t,e,n){const o=n??AbortSignal.timeout($);try{const r=new URLSearchParams({q:t});e>0&&r.set("num",String(Math.min(e,10)));const s=await fetch(`${re}?${r}`,{signal:o,headers:{Accept:"text/markdown"}});if(s.ok){const c=await s.text();if(c.trim())return c}}catch{}try{const r=new URLSearchParams({q:t}),s=await fetch(`https://html.duckduckgo.com/html/?${r}`,{signal:o,headers:{"User-Agent":"Mozilla/5.0 (compatible; Catui/1.0)"}});if(s.ok){const c=await s.text(),d=ae(c,e||5);if(d.length>0)return d}}catch{}try{const r=new URLSearchParams({q:t,format:"json",no_html:"1"}),s=await fetch(`https://api.duckduckgo.com/?${r}`,{signal:o});if(s.ok){const c=await s.json(),d=typeof c.AbstractText=="string"?c.AbstractText:"",l=typeof c.AbstractSource=="string"?c.AbstractSource:"",u=typeof c.AbstractURL=="string"?c.AbstractURL:"";if(d)return[`## ${t}`,"",d,l?`Source: ${l}`:"",u?`URL: ${u}`:""].filter(Boolean).join(`
|
|
2
|
+
`)}}catch{}throw new Error(`Search failed for "${t}": all providers returned errors. Check your network connection.`)}a(se,"nativeWebSearch");function ie(t,e){let n=t;return n=n.replace(/<(script|style|nav|header|footer|noscript)[^>]*>[\s\S]*?<\/\1>/gi,""),n=n.replace(/<[^>]+>/g," "),n=n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/ /g," "),n=n.replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
|
|
3
|
+
|
|
4
|
+
`).trim(),`# Content from ${e}
|
|
5
|
+
|
|
6
|
+
${n}`}a(ie,"htmlToPlainText");function ae(t,e){const n=[],o=/<a[^>]+class="result__a"[^>]*href="([^"]*)"[^>]*>([\s\S]*?)<\/a>/gi,r=/<a[^>]+class="result__snippet"[^>]*>([\s\S]*?)<\/a>/gi,s=[],c=[];let d;for(;(d=o.exec(t))!==null;){const l=d[1],u=d[2].replace(/<[^>]+>/g,"").trim(),S=l.match(/uddg=([^&]+)/),P=S?decodeURIComponent(S[1]):l;u&&s.push({url:P,title:u})}for(;(d=r.exec(t))!==null;){const l=d[1].replace(/<[^>]+>/g,"").trim();l&&c.push(l)}for(let l=0;l<Math.min(s.length,e);l++){const u=[`### ${s[l].title}`,s[l].url];c[l]&&u.push(c[l]),n.push(u.join(`
|
|
7
|
+
`))}return n.length>0?n.join(`
|
|
8
|
+
|
|
9
|
+
`):""}a(ae,"parseDuckDuckGoResults");function x(){const t=ee();return t?["link-world is not bundled yet, so installation still targets the external `agent-reach` runtime.","","Use this document as the source of truth:","",t].join(`
|
|
10
|
+
`):["link-world is not bundled yet, and the local install guide is missing.","Use the official install document:","https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md"].join(`
|
|
11
|
+
`)}a(x,"installHelpText");function b(){const t=_(),e=p(),n=["Link-world status","",`agent-reach installed: ${e?"yes":"no (native fallback active)"}`,`internet-search skill bundled: ${g(L)?"yes":"no"}`,`agent guidance bundled: ${g(A)?"yes":"no"}`,`web_search: ${t.search?"agent-reach":"native (Jina Search)"}`,`web_fetch: ${t.fetch?"agent-reach":"native (Jina Reader)"}`];return e||(n.push(""),n.push("Native fallback provides basic search and page fetching without agent-reach."),n.push("For advanced platform channels (Twitter, YouTube, etc.), run `/link-world install`.")),n.join(`
|
|
12
|
+
`)}a(b,"getStatusText");function ce(){return{name:"link_world_admin",label:"link-world admin",description:"Inspect or troubleshoot the built-in link-world integration. Use for install guidance, version checks, and agent-reach doctor/status commands.",parameters:z,guidance:"Use this before attempting internet tasks if you are unsure whether agent-reach is installed. Prefer action=status or action=doctor for diagnostics.",execute:a(async(t,e,n)=>{if(e.action==="install_help")return{content:[{type:"text",text:x()}],details:null};if(e.action==="status")return{content:[{type:"text",text:b()}],details:null};if(!p())throw new Error(`${b()}
|
|
13
|
+
|
|
14
|
+
${x()}`);const o=e.action==="doctor"?["doctor"]:["--version"],r=await k(o,e.timeout??w,n);if(r.exitCode&&r.exitCode!==0)throw new Error(r.output);return{content:[{type:"text",text:r.output}],details:{exitCode:r.exitCode}}},"execute")}}a(ce,"createLinkWorldAdminTool");function le(){return{name:"link_world_exec",label:"link-world exec",description:"Execute the external `agent-reach` CLI through Catui. Use this for actual internet tasks once link-world is installed, instead of going through the bash tool.",parameters:V,guidance:"Use `link_world_admin` first if you are unsure whether agent-reach is installed. Pass explicit CLI arguments, not a shell string. Prefer site or domain skills before inventing new agent-reach commands.",execute:a(async(t,e,n)=>{if(!p())throw new Error(`${b()}
|
|
15
|
+
|
|
16
|
+
${x()}`);if(e.args.length===0)throw new Error("link_world_exec requires at least one CLI argument");const o=await k(e.args,e.timeout??w,n);if(o.exitCode&&o.exitCode!==0)throw new Error(o.output);return{content:[{type:"text",text:o.output}],details:{exitCode:o.exitCode,args:e.args}}},"execute")}}a(le,"createLinkWorldExecTool");function de(){return{name:"web_search",label:"web search",description:"High-level internet search through link-world. Prefer this for normal search tasks instead of constructing raw agent-reach argv yourself.",parameters:Q,guidance:"Use this for ordinary web search and lightweight research tasks. Use link_world_exec only when you need a lower-level agent-reach command that this tool does not model.",execute:a(async(t,e,n)=>{if(p()&&_().search){const s=["search",e.query];e.provider&&s.push("--provider",e.provider),typeof e.limit=="number"&&Number.isFinite(e.limit)&&s.push("--limit",String(e.limit));const c=await k(s,e.timeout??w,n);if(c.exitCode&&c.exitCode!==0)throw new Error(c.output);return{content:[{type:"text",text:c.output}],details:{exitCode:c.exitCode,args:s}}}const o=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:5;return{content:[{type:"text",text:await se(e.query,o,n)}],details:{fallback:"jina",query:e.query}}},"execute")}}a(de,"createWebSearchTool");function ue(){return{name:"web_fetch",label:"web fetch",description:"High-level URL fetch through link-world. Prefer this when the user already has a target page or endpoint and needs its content.",parameters:X,guidance:"Use this when the user provides a URL or when a prior search result should be fetched directly. If the task requires page interaction, use the browser tool family instead.",execute:a(async(t,e,n)=>{if(p()&&_().fetch){const r=["fetch",e.url];e.provider&&r.push("--provider",e.provider);const s=await k(r,e.timeout??w,n);if(s.exitCode&&s.exitCode!==0)throw new Error(s.output);return{content:[{type:"text",text:s.output}],details:{exitCode:s.exitCode,args:r}}}return{content:[{type:"text",text:await oe(e.url,n)}],details:{fallback:"jina",url:e.url}}},"execute")}}a(ue,"createWebFetchTool");function he(t){t.registerMessageRenderer(h,(e,n,o)=>{const r=new F(1,1,l=>o.bg("customMessageBg",l)),s=o.fg("customMessageLabel","\x1B[1m[link-world]\x1B[22m "),c=o.fg("customMessageText",String(e.content??""));r.addChild(new B(s+c,0,0)),r.addChild(new C(1));const d=new q;return d.addChild(new C(1)),d.addChild(r),d}),t.registerTool(ce()),t.registerTool(le()),t.registerTool(de()),t.registerTool(ue()),t.on("session_start",(e,n)=>{y()}),t.registerCommand("link-world",{description:"Set up or inspect internet access tools",getArgumentCompletions:a((e,n)=>{if(n&&n.tokenIndex>0)return null;const o=e.trim().toLowerCase(),r=Y.filter(s=>s.value.startsWith(o));return r.length>0?r:null},"getArgumentCompletions"),handler:a(async(e,n)=>{const o=(e.trim().split(/\s+/)[0]||"help").toLowerCase();if(o==="help"){const r=p()?"agent-reach":"native (Jina)";t.sendMessage({customType:h,content:["Link-world is Catui's built-in internet access integration point.","",`Mode: ${r}`,"","Commands:","/link-world status - show whether agent-reach is installed and whether skills are bundled","/link-world doctor - run `agent-reach doctor`","/link-world version - print the installed agent-reach version","/link-world install - show the bundled installation guide","/link-world workspace - show the project-local link-world workspace","","Tools: `web_search`, `web_fetch`, `link_world_admin`, `link_world_exec`"].join(`
|
|
17
|
+
`),display:!0});return}if(o==="workspace"){t.sendMessage({customType:h,content:`Link-world workspace: ${D(y())}`,display:!0});return}if(o==="install"){t.sendMessage({customType:h,content:x(),display:!0});return}if(o==="status"){t.sendMessage({customType:h,content:b(),display:!0});return}if(o==="doctor"||o==="version"){if(!p()){t.sendMessage({customType:h,content:`${b()}
|
|
18
|
+
|
|
19
|
+
${x()}`,display:!0});return}const r=await k(o==="doctor"?["doctor"]:["--version"],w);t.sendMessage({customType:h,content:r.output,display:!0});return}t.sendMessage({customType:h,content:"Usage: /link-world [help|status|doctor|version|install|workspace]",display:!0})},"handler")}),t.on("resources_discover",async e=>{const n=y(),o=[...new Set([G,A,L,...I(f(n,"domain-skills"))].filter(r=>g(r)))];return o.length?{skillPaths:o}:{}})}a(he,"linkWorldExtension");export{he as default};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: internet-search
|
|
3
|
+
description: 当用户需要联网搜索最新信息、新闻、在线内容时使用此技能。包括搜索 Twitter、YouTube、Bilibili、知乎、微博、小红书等平台。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 互联网搜索
|
|
7
|
+
|
|
8
|
+
## 触发条件
|
|
9
|
+
|
|
10
|
+
当用户请求以下内容时使用此技能:
|
|
11
|
+
- 搜索互联网、联网搜索、网络搜索
|
|
12
|
+
- 查找最新新闻、资讯、信息
|
|
13
|
+
- 搜索 YouTube、Bilibili、Twitter、小红书、微博等内容
|
|
14
|
+
- 查找某个话题的最新讨论
|
|
15
|
+
- 获取实时信息或热点内容
|
|
16
|
+
|
|
17
|
+
## 执行步骤
|
|
18
|
+
|
|
19
|
+
### 步骤 1:检查 agent-reach 是否安装
|
|
20
|
+
|
|
21
|
+
运行以下命令检查 agent-reach 是否可用:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
agent-reach --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 步骤 2:如果未安装
|
|
28
|
+
|
|
29
|
+
如果 agent-reach 命令不可用,告知用户需要先安装:
|
|
30
|
+
|
|
31
|
+
> link-world (agent-reach) 未安装。请先运行 `/link-world` 安装 agent-reach 以支持联网搜索功能。
|
|
32
|
+
|
|
33
|
+
### 步骤 3:如果已安装
|
|
34
|
+
|
|
35
|
+
根据用户需求,使用 linkworld.md 中定义的工具进行搜索。
|
|
36
|
+
|
|
37
|
+
**完整命令参考请查阅:extensions/link-world/linkworld.md**
|
|
38
|
+
|
|
39
|
+
| 场景 | 推荐工具 | 示例命令 |
|
|
40
|
+
|------|----------|----------|
|
|
41
|
+
| 搜索 Twitter/X 推文 | xreach | `xreach search "关键词" --json` |
|
|
42
|
+
| 解析 YouTube 视频 | yt-dlp | `yt-dlp --dump-json "视频URL"` |
|
|
43
|
+
| 解析 Bilibili 视频 | yt-dlp | `yt-dlp --dump-json "视频URL"` |
|
|
44
|
+
| 搜索 Reddit 帖子 | curl | `curl -s "https://reddit.com/r/xxx/search.json?q=关键词"` |
|
|
45
|
+
| 搜索 GitHub 仓库 | gh | `gh search repos "关键词" --limit 5` |
|
|
46
|
+
| 读取网页内容 | curl + Jina | `curl -s "https://r.jina.ai/网页URL"` |
|
|
47
|
+
| 通用搜索引擎 | Exa (MCP) | `mcporter call 'exa.web_search_exa(query: "关键词", num_results: 5)'` |
|
|
48
|
+
| 搜索小红书笔记 | 小红书 (MCP) | `mcporter call 'xiaohongshu.search_feeds(keyword: "关键词", limit: 5)'` |
|
|
49
|
+
| 解析抖音视频 | 抖音 (MCP) | `mcporter call 'douyin.parse_douyin_video_info(url: "视频URL")'` |
|
|
50
|
+
|
|
51
|
+
### 步骤 4:返回结果
|
|
52
|
+
|
|
53
|
+
将搜索结果整理后返回给用户,包括:
|
|
54
|
+
- 来源平台
|
|
55
|
+
- 标题
|
|
56
|
+
- 内容摘要
|
|
57
|
+
- 链接
|
|
58
|
+
|
|
59
|
+
## 注意事项
|
|
60
|
+
|
|
61
|
+
1. 遵守平台的 API 使用规范
|
|
62
|
+
2. 如需登录平台的搜索功能,确保用户已配置认证信息
|
|
63
|
+
3. 如果搜索失败,尝试其他平台或告知用户可能的错误原因
|
|
64
|
+
4. YouTube/Bilibili 需要提供具体的视频 URL,不能直接搜索关键词
|
|
65
|
+
5. 详细的配置说明(Cookie、代理等)请参考 linkworld.md
|