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,58 @@
|
|
|
1
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
2
|
+
import { type Static } from "@sinclair/typebox";
|
|
3
|
+
import { type TruncationResult } from "./truncate.js";
|
|
4
|
+
declare const grepSchema: import("@sinclair/typebox").TObject<{
|
|
5
|
+
pattern: import("@sinclair/typebox").TString;
|
|
6
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
glob: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
ignoreCase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
9
|
+
literal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
10
|
+
context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
11
|
+
output_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"files_with_matches">, import("@sinclair/typebox").TLiteral<"count">]>>;
|
|
12
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
13
|
+
contextBefore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
14
|
+
contextAfter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
15
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
16
|
+
multiline: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
17
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
18
|
+
head_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
19
|
+
}>;
|
|
20
|
+
export type GrepToolInput = Static<typeof grepSchema>;
|
|
21
|
+
export interface GrepToolDetails {
|
|
22
|
+
truncation?: TruncationResult;
|
|
23
|
+
matchLimitReached?: number;
|
|
24
|
+
linesTruncated?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Pluggable operations for the grep tool.
|
|
28
|
+
* Override these to delegate search to remote systems (e.g., SSH).
|
|
29
|
+
*/
|
|
30
|
+
export interface GrepOperations {
|
|
31
|
+
/** Check if path is a directory. Throws if path doesn't exist. */
|
|
32
|
+
isDirectory: (absolutePath: string) => Promise<boolean> | boolean;
|
|
33
|
+
/** Read file contents for context lines */
|
|
34
|
+
readFile: (absolutePath: string) => Promise<string> | string;
|
|
35
|
+
}
|
|
36
|
+
export interface GrepToolOptions {
|
|
37
|
+
/** Custom operations for grep. Default: local filesystem + ripgrep */
|
|
38
|
+
operations?: GrepOperations;
|
|
39
|
+
}
|
|
40
|
+
export declare function createGrepTool(cwd: string, options?: GrepToolOptions): AgentTool<typeof grepSchema>;
|
|
41
|
+
/** Default grep tool using process.cwd() - for backwards compatibility */
|
|
42
|
+
export declare const grepTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
43
|
+
pattern: import("@sinclair/typebox").TString;
|
|
44
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
45
|
+
glob: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
46
|
+
ignoreCase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
47
|
+
literal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
48
|
+
context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
49
|
+
output_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"files_with_matches">, import("@sinclair/typebox").TLiteral<"count">]>>;
|
|
50
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
51
|
+
contextBefore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
52
|
+
contextAfter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
53
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
54
|
+
multiline: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
55
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
56
|
+
head_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
57
|
+
}>, any>;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var yt=Object.defineProperty;var o=(u,v)=>yt(u,"name",{value:v,configurable:!0});import{createInterface as wt}from"node:readline";import{Type as e}from"@sinclair/typebox";import{spawn as Lt}from"child_process";import{readFileSync as bt,statSync as xt}from"fs";import et from"path";import{ensureTool as Ot}from"../platform/utils/tools-manager.js";import{validateIntegerWindowOption as $}from"./input-validation.js";import{resolveToCwd as $t}from"./path-utils.js";import{DEFAULT_MAX_BYTES as nt,formatSize as vt,GREP_MAX_LINE_LENGTH as it,truncateHead as _t,truncateLine as St}from"./truncate.js";const Et=e.Object({pattern:e.String({description:"Search pattern (regex or literal string)"}),path:e.Optional(e.String({description:"Directory or file to search (default: current directory)"})),glob:e.Optional(e.String({description:"Filter files by glob pattern, e.g. '*.ts' or '**/*.spec.ts'"})),ignoreCase:e.Optional(e.Boolean({description:"Case-insensitive search (default: false)"})),literal:e.Optional(e.Boolean({description:"Treat pattern as literal string instead of regex (default: false)"})),context:e.Optional(e.Integer({minimum:0,description:"Number of lines to show before and after each match (default: 0)"})),output_mode:e.Optional(e.Union([e.Literal("content"),e.Literal("files_with_matches"),e.Literal("count")],{description:"Output mode: 'content' (default) returns matching lines, 'files_with_matches' returns only file paths, 'count' returns match counts per file"})),type:e.Optional(e.String({description:"File type filter, e.g. 'js', 'py', 'rust' (maps to rg --type)"})),contextBefore:e.Optional(e.Integer({minimum:0,description:"Lines to show before each match (overrides context)"})),contextAfter:e.Optional(e.Integer({minimum:0,description:"Lines to show after each match (overrides context)"})),offset:e.Optional(e.Integer({minimum:0,description:"Skip first N matches"})),multiline:e.Optional(e.Boolean({description:"Enable multiline matching (default: false)"})),limit:e.Optional(e.Integer({minimum:1,description:"Maximum number of matches to return (default: 250)"})),head_limit:e.Optional(e.Integer({minimum:1,description:"Alias for limit (CC compatibility)"}))}),rt=250,Tt={isDirectory:o(u=>xt(u).isDirectory(),"isDirectory"),readFile:o(u=>bt(u,"utf-8"),"readFile")};function It(u,v){const ot=v?.operations;return{name:"grep",label:"grep",description:`Search file contents for a pattern. Supports multiple output modes (content, files_with_matches, count), file type filters, multiline matching, and per-side context control (-A/-B). Respects .gitignore. Output is truncated to ${rt} matches or ${nt/1024}KB (whichever is hit first). Long lines are truncated to ${it} chars.`,parameters:Et,isConcurrencySafe:!0,execute:o(async(Ct,{pattern:at,path:st,glob:I,ignoreCase:ct,literal:lt,context:_,output_mode:ut,type:C,contextBefore:pt,contextAfter:mt,offset:F,multiline:ft,limit:M,head_limit:k},S)=>{$({name:"context",value:_,minimum:0}),$({name:"limit",value:M,minimum:1}),$({name:"head_limit",value:k,minimum:1}),$({name:"offset",value:F,minimum:0});const a=k??M??rt,E=F??0,A=ut??"content",B=pt??_??0,D=mt??_??0;return new Promise((w,p)=>{if(S?.aborted){p(new Error("Operation aborted"));return}let P=!1;const s=o(d=>{P||(P=!0,d())},"settle");(async()=>{try{const d=await Ot("rg",!0);if(!d){s(()=>p(new Error("ripgrep (rg) is not available and could not be downloaded")));return}const L=$t(st||".",u),R=ot??Tt;let U;try{U=await R.isDirectory(L)}catch{s(()=>p(new Error(`Path not found: ${L}`)));return}const j=o(n=>{if(U){const t=et.relative(L,n);if(t&&!t.startsWith(".."))return t.replace(/\\/g,"/")}return et.basename(n)},"formatPath"),G=new Map,dt=o(async n=>{let t=G.get(n);if(!t){try{t=(await R.readFile(n)).replace(/\r\n/g,`
|
|
2
|
+
`).replace(/\r/g,`
|
|
3
|
+
`).split(`
|
|
4
|
+
`)}catch{t=[]}G.set(n,t)}return t},"getFileLines"),m=["--json","--line-number","--color=never","--hidden"];ct&&m.push("--ignore-case"),lt&&m.push("--fixed-strings"),I&&m.push("--glob",I),C&&m.push("--type",C),ft&&m.push("--multiline-dotall"),m.push(at,L);const h=Lt(d,m,{stdio:["ignore","pipe","pipe"]}),N=wt({input:h.stdout});let X="",g=0,b=!1,z=!1,H=!1,W=!1;const J=[],K=o(()=>{N.close(),S?.removeEventListener("abort",q)},"cleanup"),Y=o((n=!1)=>{h.killed||(W=n,h.kill())},"stopChild"),q=o(()=>{H=!0,Y()},"onAbort");S?.addEventListener("abort",q,{once:!0}),h.stderr?.on("data",n=>{X+=n.toString()});const ht=o(async(n,t)=>{const i=j(n),c=await dt(n);if(!c.length)return[`${i}:${t}: (unable to read file)`];const f=[],x=B>0?Math.max(1,t-B):t,l=D>0?Math.min(c.length,t+D):t;for(let r=x;r<=l;r++){const y=(c[r-1]??"").replace(/\r/g,""),Z=r===t,{text:tt,wasTruncated:gt}=St(y);gt&&(z=!0),Z?f.push(`${i}:${r}: ${tt}`):f.push(`${i}-${r}- ${tt}`)}return f},"formatBlock"),Q=[],V=new Set,T=new Map;N.on("line",n=>{if(!n.trim()||g>=a+E)return;let t;try{t=JSON.parse(n)}catch{return}if(t.type==="match"){g++;const i=t.data?.path?.text,c=t.data?.line_number;if(i&&T.set(i,(T.get(i)??0)+1),g<=E)return;i&&typeof c=="number"&&(Q.push({filePath:i,lineNumber:c}),V.add(i)),g>=a+E&&(b=!0,Y(!0))}}),h.on("error",n=>{K(),s(()=>p(new Error(`Failed to run ripgrep: ${n.message}`)))}),h.on("close",async n=>{if(K(),H){s(()=>p(new Error("Operation aborted")));return}if(!W&&n!==0&&n!==1){const l=X.trim()||`ripgrep exited with code ${n}`;s(()=>p(new Error(l)));return}if(g===0){s(()=>w({content:[{type:"text",text:"No matches found"}],details:void 0}));return}const t={},i=[];if(A==="files_with_matches"){let r=[...V].sort().join(`
|
|
5
|
+
`);b&&(i.push(`${a} matches limit reached. Use limit=${a*2} for more, or refine pattern`),t.matchLimitReached=a),i.length>0&&(r+=`
|
|
6
|
+
|
|
7
|
+
[${i.join(". ")}]`),s(()=>w({content:[{type:"text",text:r}],details:Object.keys(t).length>0?t:void 0}));return}if(A==="count"){let r=[...T.entries()].sort(([O],[y])=>O.localeCompare(y)).map(([O,y])=>`${j(O)}: ${y}`).join(`
|
|
8
|
+
`);b&&(i.push(`${a} matches limit reached. Use limit=${a*2} for more, or refine pattern`),t.matchLimitReached=a),i.length>0&&(r+=`
|
|
9
|
+
|
|
10
|
+
[${i.join(". ")}]`),s(()=>w({content:[{type:"text",text:r}],details:Object.keys(t).length>0?t:void 0}));return}for(const l of Q){const r=await ht(l.filePath,l.lineNumber);J.push(...r)}const c=J.join(`
|
|
11
|
+
`),f=_t(c,{maxLines:Number.MAX_SAFE_INTEGER});let x=f.content;b&&(i.push(`${a} matches limit reached. Use limit=${a*2} for more, or refine pattern`),t.matchLimitReached=a),f.truncated&&(i.push(`${vt(nt)} limit reached`),t.truncation=f),z&&(i.push(`Some lines truncated to ${it} chars. Use read tool to see full lines`),t.linesTruncated=!0),i.length>0&&(x+=`
|
|
12
|
+
|
|
13
|
+
[${i.join(". ")}]`),s(()=>w({content:[{type:"text",text:x}],details:Object.keys(t).length>0?t:void 0}))})}catch(d){s(()=>p(d))}})()})},"execute")}}o(It,"createGrepTool");const Gt=It(process.cwd());export{It as createGrepTool,Gt as grepTool};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Tool registry, all tool creators and types
|
|
3
|
+
* [FROM]: Depends on bash.ts, read.ts, edit.ts, write.ts, grep.ts, find.ts, ls.ts, source.ts
|
|
4
|
+
* [TO]: Consumed by index.ts, main.ts, cli/args.ts, modes/interactive/components/tool-execution.ts, extensions/builtin/team/index.ts, and test files
|
|
5
|
+
* [HERE]: Tool system public API; consumed by SDK and orchestrator
|
|
6
|
+
*/
|
|
7
|
+
export { fileStateCache, type FileState } from "./file-state-cache.js";
|
|
8
|
+
export { type BashOperations, type BashSandboxOptions, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, bashTool, createBashTool, createSandboxHook, } from "./bash.js";
|
|
9
|
+
export { createEditTool, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, editTool, } from "./edit.js";
|
|
10
|
+
export { createFindTool, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, findTool, } from "./find.js";
|
|
11
|
+
export { createGrepTool, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, grepTool, } from "./grep.js";
|
|
12
|
+
export { createLsTool, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, lsTool, } from "./ls.js";
|
|
13
|
+
export { createReadTool, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, readTool, } from "./read.js";
|
|
14
|
+
export { createTimeTool, type TimeToolInput, timeTool } from "./time.js";
|
|
15
|
+
export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, } from "./truncate.js";
|
|
16
|
+
export { createWriteTool, type WriteOperations, type WriteToolInput, type WriteToolOptions, writeTool, } from "./write.js";
|
|
17
|
+
export { createWorkspaceWriteGuard, isPathWithinRoot } from "./write-guard.js";
|
|
18
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
19
|
+
import { type BashToolOptions } from "./bash.js";
|
|
20
|
+
import { type EditToolOptions } from "./edit.js";
|
|
21
|
+
import { type ReadToolOptions } from "./read.js";
|
|
22
|
+
import { type WriteToolOptions } from "./write.js";
|
|
23
|
+
/** Tool type (AgentTool from catui-ai) */
|
|
24
|
+
export type Tool = AgentTool<any>;
|
|
25
|
+
export declare const codingTools: Tool[];
|
|
26
|
+
export declare const readOnlyTools: Tool[];
|
|
27
|
+
export declare const allTools: {
|
|
28
|
+
read: AgentTool<import("@sinclair/typebox").TObject<{
|
|
29
|
+
path: import("@sinclair/typebox").TString;
|
|
30
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
31
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
32
|
+
pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
33
|
+
}>, any>;
|
|
34
|
+
bash: AgentTool<import("@sinclair/typebox").TObject<{
|
|
35
|
+
command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
36
|
+
timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
37
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
38
|
+
run_in_background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
39
|
+
task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
40
|
+
}>, any>;
|
|
41
|
+
edit: AgentTool<import("@sinclair/typebox").TObject<{
|
|
42
|
+
path: import("@sinclair/typebox").TString;
|
|
43
|
+
oldText: import("@sinclair/typebox").TString;
|
|
44
|
+
newText: import("@sinclair/typebox").TString;
|
|
45
|
+
}>, any>;
|
|
46
|
+
write: AgentTool<import("@sinclair/typebox").TObject<{
|
|
47
|
+
path: import("@sinclair/typebox").TString;
|
|
48
|
+
content: import("@sinclair/typebox").TString;
|
|
49
|
+
}>, any>;
|
|
50
|
+
grep: AgentTool<import("@sinclair/typebox").TObject<{
|
|
51
|
+
pattern: import("@sinclair/typebox").TString;
|
|
52
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
53
|
+
glob: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
54
|
+
ignoreCase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
55
|
+
literal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
56
|
+
context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
57
|
+
output_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"files_with_matches">, import("@sinclair/typebox").TLiteral<"count">]>>;
|
|
58
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
59
|
+
contextBefore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
60
|
+
contextAfter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
61
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
62
|
+
multiline: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
63
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
64
|
+
head_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
65
|
+
}>, any>;
|
|
66
|
+
find: AgentTool<import("@sinclair/typebox").TObject<{
|
|
67
|
+
pattern: import("@sinclair/typebox").TString;
|
|
68
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
69
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
70
|
+
sort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
71
|
+
}>, any>;
|
|
72
|
+
ls: AgentTool<import("@sinclair/typebox").TObject<{
|
|
73
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
74
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
75
|
+
}>, any>;
|
|
76
|
+
time: AgentTool<import("@sinclair/typebox").TObject<{
|
|
77
|
+
timeZone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
78
|
+
locale: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
79
|
+
}>, any>;
|
|
80
|
+
};
|
|
81
|
+
export type ToolName = keyof typeof allTools;
|
|
82
|
+
export interface ToolsOptions {
|
|
83
|
+
/** Options for the read tool */
|
|
84
|
+
read?: ReadToolOptions;
|
|
85
|
+
/** Options for the bash tool */
|
|
86
|
+
bash?: BashToolOptions;
|
|
87
|
+
/** Options for the edit tool */
|
|
88
|
+
edit?: EditToolOptions;
|
|
89
|
+
/** Options for the write tool */
|
|
90
|
+
write?: WriteToolOptions;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create coding tools configured for a specific working directory.
|
|
94
|
+
*/
|
|
95
|
+
export declare function createCodingTools(cwd: string, options?: ToolsOptions): Tool[];
|
|
96
|
+
/**
|
|
97
|
+
* Create read-only tools configured for a specific working directory.
|
|
98
|
+
*/
|
|
99
|
+
export declare function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[];
|
|
100
|
+
/**
|
|
101
|
+
* Create all tools configured for a specific working directory.
|
|
102
|
+
*/
|
|
103
|
+
export declare function createAllTools(cwd: string, options?: ToolsOptions): Record<ToolName, Tool>;
|
|
104
|
+
/**
|
|
105
|
+
* Tool guidance for system prompt.
|
|
106
|
+
* These are usage guidelines shown to the AI to help it use tools correctly.
|
|
107
|
+
*/
|
|
108
|
+
export declare const toolGuidance: Record<string, string>;
|
|
109
|
+
/**
|
|
110
|
+
* Get guidance for a specific tool
|
|
111
|
+
*/
|
|
112
|
+
export declare function getToolGuidance(toolName: string): string | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Get guidance for multiple tools
|
|
115
|
+
*/
|
|
116
|
+
export declare function getToolsGuidance(toolNames: string[]): Record<string, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var E=Object.defineProperty;var t=(e,o)=>E(e,"name",{value:o,configurable:!0});import{fileStateCache as Y}from"./file-state-cache.js";import{bashTool as z,createBashTool as I,createSandboxHook as N}from"./bash.js";import{createEditTool as J,editTool as K}from"./edit.js";import{createFindTool as V,findTool as Z}from"./find.js";import{createGrepTool as ee,grepTool as oe}from"./grep.js";import{createLsTool as re,lsTool as ie}from"./ls.js";import{createReadTool as ne,readTool as le}from"./read.js";import{createTimeTool as ce,timeTool as fe}from"./time.js";import{DEFAULT_MAX_BYTES as de,DEFAULT_MAX_LINES as Te,formatSize as pe,truncateHead as ue,truncateLine as he,truncateTail as xe}from"./truncate.js";import{createWriteTool as be,writeTool as ye}from"./write.js";import{createWorkspaceWriteGuard as Ee,isPathWithinRoot as Ge}from"./write-guard.js";import{bashTool as f,createBashTool as m}from"./bash.js";import{createEditTool as d,editTool as T}from"./edit.js";import{createFindTool as p,findTool as u}from"./find.js";import{createGrepTool as h,grepTool as x}from"./grep.js";import{createLsTool as g,lsTool as b}from"./ls.js";import{createReadTool as r,readTool as i}from"./read.js";import{createTimeTool as a,timeTool as n}from"./time.js";import{createWriteTool as y,writeTool as S}from"./write.js";const k=[i,f,T,S,n],w=[i,x,u,b,n],B={read:i,bash:f,edit:T,write:S,grep:x,find:u,ls:b,time:n};function C(e,o){return[r(e,o?.read),m(e,o?.bash),d(e,o?.edit),y(e,o?.write),a()]}t(C,"createCodingTools");function P(e,o){return[r(e,o?.read),h(e),p(e),g(e),a()]}t(P,"createReadOnlyTools");function D(e,o){return{read:r(e,o?.read),bash:m(e,o?.bash),edit:d(e,o?.edit),write:y(e,o?.write),grep:h(e),find:p(e),ls:g(e),time:a()}}t(D,"createAllTools");const l={read:"Read file contents. Prefer this tool to view files; do not use cat or other commands.",bash:"Execute bash commands (ls, grep, find, etc.) for file operations and system interaction.",edit:"Perform precise edits on files. Uses find-and-replace; old text must match exactly. Use read to view the file before editing.",write:"Create or overwrite files. Use only when creating new files or doing complete rewrites.",grep:"Search for patterns in file contents (respects .gitignore). Suitable for finding specific strings in code.",find:"Find files by glob pattern (respects .gitignore). Suitable for finding files with specific names.",ls:"List directory contents."};l.time="Get the real current system time. You must use this for current time/date questions, today/tomorrow/yesterday, deadlines, schedules, or any temporal reasoning that depends on the live system clock.";function H(e){return l[e]}t(H,"getToolGuidance");function M(e){const o={};for(const s of e){const c=l[s];c&&(o[s]=c)}return o}t(M,"getToolsGuidance");export{de as DEFAULT_MAX_BYTES,Te as DEFAULT_MAX_LINES,B as allTools,z as bashTool,k as codingTools,D as createAllTools,I as createBashTool,C as createCodingTools,J as createEditTool,V as createFindTool,ee as createGrepTool,re as createLsTool,P as createReadOnlyTools,ne as createReadTool,N as createSandboxHook,ce as createTimeTool,Ee as createWorkspaceWriteGuard,be as createWriteTool,K as editTool,Y as fileStateCache,Z as findTool,pe as formatSize,H as getToolGuidance,M as getToolsGuidance,oe as grepTool,Ge as isPathWithinRoot,ie as lsTool,w as readOnlyTools,le as readTool,fe as timeTool,l as toolGuidance,ue as truncateHead,he as truncateLine,xe as truncateTail,ye as writeTool};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: Provides validateIntegerWindowOption(), validatePositiveNumberOption()
|
|
3
|
+
* [FROM]: No external dependencies
|
|
4
|
+
* [TO]: Consumed by read/find/grep/ls tools for numeric window validation
|
|
5
|
+
* [HERE]: core/tools/input-validation.ts - shared input invariant helpers for tool schemas
|
|
6
|
+
*/
|
|
7
|
+
export interface IntegerWindowOption {
|
|
8
|
+
name: string;
|
|
9
|
+
value: number | undefined;
|
|
10
|
+
minimum: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function validateIntegerWindowOption({ name, value, minimum }: IntegerWindowOption): void;
|
|
13
|
+
export declare function validatePositiveNumberOption(name: string, value: number | undefined): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var i=Object.defineProperty;var t=(r,e)=>i(r,"name",{value:e,configurable:!0});function f({name:r,value:e,minimum:n}){if(e!==void 0&&(!Number.isInteger(e)||e<n))throw new Error(`${r} must be an integer greater than or equal to ${n}`)}t(f,"validateIntegerWindowOption");function u(r,e){if(e!==void 0&&(!Number.isFinite(e)||e<=0))throw new Error(`${r} must be a positive number`)}t(u,"validatePositiveNumberOption");export{f as validateIntegerWindowOption,u as validatePositiveNumberOption};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: LsTool, lsTool, createLsTool, LsToolInput
|
|
3
|
+
* [FROM]: Depends on agent-core, node:fs, path-utils.ts, truncate.ts
|
|
4
|
+
* [TO]: Consumed by core/tools/index.ts
|
|
5
|
+
* [HERE]: core/tools/ls.ts - directory listing with metadata; consumed by orchestrator
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
8
|
+
import { type Static } from "@sinclair/typebox";
|
|
9
|
+
import { type TruncationResult } from "./truncate.js";
|
|
10
|
+
declare const lsSchema: import("@sinclair/typebox").TObject<{
|
|
11
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
12
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
13
|
+
}>;
|
|
14
|
+
export type LsToolInput = Static<typeof lsSchema>;
|
|
15
|
+
export interface LsToolDetails {
|
|
16
|
+
truncation?: TruncationResult;
|
|
17
|
+
entryLimitReached?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pluggable operations for the ls tool.
|
|
21
|
+
* Override these to delegate directory listing to remote systems (e.g., SSH).
|
|
22
|
+
*/
|
|
23
|
+
export interface LsOperations {
|
|
24
|
+
/** Check if path exists */
|
|
25
|
+
exists: (absolutePath: string) => Promise<boolean> | boolean;
|
|
26
|
+
/** Get file/directory stats. Throws if not found. */
|
|
27
|
+
stat: (absolutePath: string) => Promise<{
|
|
28
|
+
isDirectory: () => boolean;
|
|
29
|
+
}> | {
|
|
30
|
+
isDirectory: () => boolean;
|
|
31
|
+
};
|
|
32
|
+
/** Read directory entries */
|
|
33
|
+
readdir: (absolutePath: string) => Promise<string[]> | string[];
|
|
34
|
+
}
|
|
35
|
+
export interface LsToolOptions {
|
|
36
|
+
/** Custom operations for directory listing. Default: local filesystem */
|
|
37
|
+
operations?: LsOperations;
|
|
38
|
+
}
|
|
39
|
+
export declare function createLsTool(cwd: string, options?: LsToolOptions): AgentTool<typeof lsSchema>;
|
|
40
|
+
/** Default ls tool using process.cwd() - for backwards compatibility */
|
|
41
|
+
export declare const lsTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
42
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
43
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
44
|
+
}>, any>;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var $=Object.defineProperty;var o=(e,l)=>$(e,"name",{value:l,configurable:!0});import{Type as i}from"@sinclair/typebox";import{existsSync as g,readdirSync as C,statSync as I}from"fs";import A from"path";import{validateIntegerWindowOption as _}from"./input-validation.js";import{resolveToCwd as D}from"./path-utils.js";import{DEFAULT_MAX_BYTES as S,formatSize as M,truncateHead as P}from"./truncate.js";const R=i.Object({path:i.Optional(i.String({description:"Directory to list (default: current directory)"})),limit:i.Optional(i.Integer({minimum:1,description:"Maximum number of entries to return (default: 500)"}))}),O=500,F={exists:g,stat:I,readdir:C};function N(e){return e instanceof Error?e.message:String(e)}o(N,"getErrorMessage");function U(e,l){const s=l?.operations??F;return{name:"ls",label:"ls",description:`List directory contents. Returns entries sorted alphabetically, with '/' suffix for directories. Includes dotfiles. Output is truncated to ${O} entries or ${S/1024}KB (whichever is hit first).`,parameters:R,isConcurrencySafe:!0,execute:o(async(k,{path:v,limit:w},a)=>(_({name:"limit",value:w,minimum:1}),new Promise((E,r)=>{if(a?.aborted){r(new Error("Operation aborted"));return}const m=o(()=>r(new Error("Operation aborted")),"onAbort");a?.addEventListener("abort",m,{once:!0}),(async()=>{try{const t=D(v||".",e),c=w??O;if(!await s.exists(t)){r(new Error(`Path not found: ${t}`));return}if(!(await s.stat(t)).isDirectory()){r(new Error(`Not a directory: ${t}`));return}let p;try{p=await s.readdir(t)}catch(n){r(new Error(`Cannot read directory: ${N(n)}`));return}p.sort((n,h)=>n.toLowerCase().localeCompare(h.toLowerCase()));const u=[];let L=!1;for(const n of p){if(u.length>=c){L=!0;break}const h=A.join(t,n);let x="";try{(await s.stat(h)).isDirectory()&&(x="/")}catch{continue}u.push(n+x)}if(a?.removeEventListener("abort",m),u.length===0){E({content:[{type:"text",text:"(empty directory)"}],details:void 0});return}const T=u.join(`
|
|
2
|
+
`),y=P(T,{maxLines:Number.MAX_SAFE_INTEGER});let b=y.content;const d={},f=[];L&&(f.push(`${c} entries limit reached. Use limit=${c*2} for more`),d.entryLimitReached=c),y.truncated&&(f.push(`${M(S)} limit reached`),d.truncation=y),f.length>0&&(b+=`
|
|
3
|
+
|
|
4
|
+
[${f.join(". ")}]`),E({content:[{type:"text",text:b}],details:Object.keys(d).length>0?d:void 0})}catch(t){a?.removeEventListener("abort",m),r(t)}})()})),"execute")}}o(U,"createLsTool");const q=U(process.cwd());export{U as createLsTool,q as lsTool};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: ToolInfo, ToolOrchestrator class
|
|
3
|
+
* [FROM]: Depends on agent-core, extensions
|
|
4
|
+
* [TO]: Consumed by core/runtime/agent-session.ts
|
|
5
|
+
* [HERE]: core/tools/orchestrator.ts - runtime tool registry, lookup, and active-tool resolution
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
8
|
+
import type { ToolDefinition, ToolInfo } from "../extensions-host/index.js";
|
|
9
|
+
export interface ToolOrchestratorOptions {
|
|
10
|
+
/** Initial custom tools from SDK options */
|
|
11
|
+
customTools?: ToolDefinition[];
|
|
12
|
+
/** Initial active tool names */
|
|
13
|
+
initialActiveToolNames?: string[];
|
|
14
|
+
/** Tool registry from extensions */
|
|
15
|
+
getExtensionTools: () => Map<string, ToolDefinition>;
|
|
16
|
+
}
|
|
17
|
+
export declare class ToolOrchestrator {
|
|
18
|
+
private _toolRegistry;
|
|
19
|
+
private _activeToolNames;
|
|
20
|
+
private _customTools;
|
|
21
|
+
private _initialActiveToolNames?;
|
|
22
|
+
private _getExtensionTools;
|
|
23
|
+
constructor(options: ToolOrchestratorOptions);
|
|
24
|
+
/**
|
|
25
|
+
* Get all registered tool names
|
|
26
|
+
*/
|
|
27
|
+
getToolNames(): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Get the names of currently active tools
|
|
30
|
+
*/
|
|
31
|
+
getActiveToolNames(): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Replace the runtime registry after tools are rebuilt.
|
|
34
|
+
*/
|
|
35
|
+
replaceTools(tools: Iterable<AgentTool>, activeToolNames?: string[]): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get all configured tools with name, description, and parameter schema
|
|
38
|
+
*/
|
|
39
|
+
getAllTools(): ToolInfo[];
|
|
40
|
+
/**
|
|
41
|
+
* Get tool by name
|
|
42
|
+
*/
|
|
43
|
+
getTool(name: string): AgentTool | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Check if tool exists
|
|
46
|
+
*/
|
|
47
|
+
hasTool(name: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Set active tools by name
|
|
50
|
+
* Returns the tools that were actually set and valid tool names
|
|
51
|
+
*/
|
|
52
|
+
setActiveToolsByName(toolNames: string[]): {
|
|
53
|
+
tools: AgentTool[];
|
|
54
|
+
validToolNames: string[];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Register a tool
|
|
58
|
+
*/
|
|
59
|
+
registerTool(name: string, tool: AgentTool): void;
|
|
60
|
+
/**
|
|
61
|
+
* Get custom tools
|
|
62
|
+
*/
|
|
63
|
+
getCustomTools(): ToolDefinition[];
|
|
64
|
+
/**
|
|
65
|
+
* Replace custom tools after dynamic MCP refresh.
|
|
66
|
+
*/
|
|
67
|
+
setCustomTools(customTools: ToolDefinition[]): void;
|
|
68
|
+
/**
|
|
69
|
+
* Get initial active tool names
|
|
70
|
+
*/
|
|
71
|
+
getInitialActiveToolNames(): string[] | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Get extension tools map
|
|
74
|
+
*/
|
|
75
|
+
getExtensionTools(): Map<string, ToolDefinition>;
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=Object.defineProperty;var r=(i,o)=>a(i,"name",{value:o,configurable:!0});class T{static{r(this,"ToolOrchestrator")}_toolRegistry=new Map;_activeToolNames=[];_customTools=[];_initialActiveToolNames;_getExtensionTools;constructor(o){this._customTools=o.customTools||[],this._initialActiveToolNames=o.initialActiveToolNames,this._activeToolNames=o.initialActiveToolNames??[],this._getExtensionTools=o.getExtensionTools}getToolNames(){return Array.from(this._toolRegistry.keys())}getActiveToolNames(){return[...this._activeToolNames]}replaceTools(o,s){this._toolRegistry=new Map(Array.from(o,t=>[t.name,t]));const e=s??this._activeToolNames;this._activeToolNames=e.filter(t=>this._toolRegistry.has(t))}getAllTools(){return Array.from(this._toolRegistry.values()).map(o=>({name:o.name,description:o.description,parameters:o.parameters}))}getTool(o){return this._toolRegistry.get(o)}hasTool(o){return this._toolRegistry.has(o)}setActiveToolsByName(o){const s=[],e=[];for(const t of o){const l=this._toolRegistry.get(t);l&&(s.push(l),e.push(t))}return this._activeToolNames=e,{tools:s,validToolNames:e}}registerTool(o,s){this._toolRegistry.set(o,s)}getCustomTools(){return this._customTools}setCustomTools(o){this._customTools=o}getInitialActiveToolNames(){return this._initialActiveToolNames}getExtensionTools(){return this._getExtensionTools()}}export{T as ToolOrchestrator};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function expandPath(filePath: string): string;
|
|
2
|
+
/**
|
|
3
|
+
* Resolve a path relative to the given cwd.
|
|
4
|
+
* Handles ~ expansion and absolute paths.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveToCwd(filePath: string, cwd: string): string;
|
|
7
|
+
export declare function resolveReadPath(filePath: string, cwd: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=Object.defineProperty;var e=(r,n)=>l(r,"name",{value:n,configurable:!0});import{accessSync as m,constants as d}from"node:fs";import*as s from"node:os";import{isAbsolute as p,resolve as A}from"node:path";const h=/[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,y="\u202F";function x(r){return r.replace(h," ")}e(x,"normalizeUnicodeSpaces");function P(r){return r.replace(/ (AM|PM)\./g,`${y}$1.`)}e(P,"tryMacOSScreenshotPath");function S(r){return r.normalize("NFD")}e(S,"tryNFDVariant");function f(r){return r.replace(/'/g,"\u2019")}e(f,"tryCurlyQuoteVariant");function o(r){try{return m(r,d.F_OK),!0}catch{return!1}}e(o,"fileExists");function C(r){return r.startsWith("@")?r.slice(1):r}e(C,"normalizeAtPrefix");function F(r){const n=x(C(r));return n==="~"?s.homedir():n.startsWith("~/")?s.homedir()+n.slice(1):n}e(F,"expandPath");function V(r,n){const t=F(r);return p(t)?t:A(n,t)}e(V,"resolveToCwd");function O(r,n){const t=V(r,n);if(o(t))return t;const i=P(t);if(i!==t&&o(i))return i;const u=S(t);if(u!==t&&o(u))return u;const a=f(t);if(a!==t&&o(a))return a;const c=f(u);return c!==t&&o(c)?c:t}e(O,"resolveReadPath");export{F as expandPath,O as resolveReadPath,V as resolveToCwd};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: extractPdfPages
|
|
3
|
+
* [FROM]: Depends on pdf-lib
|
|
4
|
+
* [TO]: Consumed by ./read.ts for PDF page extraction
|
|
5
|
+
* [HERE]: core/tools/pdf-extract.ts - extract specific pages from a PDF buffer
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Extract specific pages from a PDF buffer and return a new PDF as base64.
|
|
9
|
+
* Uses pdf-lib to copy selected pages into a new PDF document.
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractPdfPages(pdfBuffer: Buffer, pageRange: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var d=Object.defineProperty;var g=(r,a)=>d(r,"name",{value:a,configurable:!0});import{PDFDocument as u}from"pdf-lib";const l=20;function w(r,a){const i=r.split(",").map(t=>t.trim()),n=[];for(const t of i)if(t.includes("-")){const[e,c]=t.split("-").map(o=>o.trim()),s=parseInt(e,10),p=parseInt(c,10);if(isNaN(s)||isNaN(p)||s<1||p<s)throw new Error(`Invalid page range: ${t}`);for(let o=s;o<=Math.min(p,a);o++)n.push(o-1)}else{const e=parseInt(t,10);if(isNaN(e)||e<1)throw new Error(`Invalid page number: ${t}`);e<=a&&n.push(e-1)}if(n.length===0)throw new Error("No valid pages in range");return[...new Set(n)].sort((t,e)=>t-e).slice(0,l)}g(w,"parsePageRange");async function h(r,a){const i=await u.load(r),n=i.getPageCount(),f=w(a,n),t=await u.create(),e=await t.copyPages(i,f);for(const s of e)t.addPage(s);const c=await t.save();return Buffer.from(c).toString("base64")}g(h,"extractPdfPages");export{h as extractPdfPages};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: ReadTool, readTool, createReadTool, ReadToolInput
|
|
3
|
+
* [FROM]: Depends on agent-core, ai, node:fs, modes/utils/image-resize
|
|
4
|
+
* [TO]: Consumed by core/tools/index.ts
|
|
5
|
+
* [HERE]: core/tools/read.ts - filesystem read boundary; consumed by orchestrator
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
8
|
+
import { type Static } from "@sinclair/typebox";
|
|
9
|
+
import { type TruncationResult } from "./truncate.js";
|
|
10
|
+
declare const readSchema: import("@sinclair/typebox").TObject<{
|
|
11
|
+
path: import("@sinclair/typebox").TString;
|
|
12
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
13
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
14
|
+
pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
15
|
+
}>;
|
|
16
|
+
export type ReadToolInput = Static<typeof readSchema>;
|
|
17
|
+
export interface ReadToolDetails {
|
|
18
|
+
truncation?: TruncationResult;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Pluggable operations for the read tool.
|
|
22
|
+
* Override these to delegate file reading to remote systems (e.g., SSH).
|
|
23
|
+
*/
|
|
24
|
+
export interface ReadOperations {
|
|
25
|
+
/** Read file contents as a Buffer */
|
|
26
|
+
readFile: (absolutePath: string) => Promise<Buffer>;
|
|
27
|
+
/** Check if file is readable (throw if not) */
|
|
28
|
+
access: (absolutePath: string) => Promise<void>;
|
|
29
|
+
/** Detect image MIME type, return null/undefined for non-images */
|
|
30
|
+
detectImageMimeType?: (absolutePath: string) => Promise<string | null | undefined>;
|
|
31
|
+
}
|
|
32
|
+
export interface ReadToolOptions {
|
|
33
|
+
/** Whether to auto-resize images to 2000x2000 max. Default: true */
|
|
34
|
+
autoResizeImages?: boolean;
|
|
35
|
+
/** Custom operations for file reading. Default: local filesystem */
|
|
36
|
+
operations?: ReadOperations;
|
|
37
|
+
}
|
|
38
|
+
export declare function createReadTool(cwd: string, options?: ReadToolOptions): AgentTool<typeof readSchema>;
|
|
39
|
+
/** Default read tool using process.cwd() - for backwards compatibility */
|
|
40
|
+
export declare const readTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
41
|
+
path: import("@sinclair/typebox").TString;
|
|
42
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
43
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
44
|
+
pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
45
|
+
}>, any>;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var _=Object.defineProperty;var g=(c,$)=>_(c,"name",{value:$,configurable:!0});import{Type as r}from"@sinclair/typebox";import{constants as U}from"fs";import{access as z,readFile as A,stat as C}from"fs/promises";import{fileStateCache as B}from"./file-state-cache.js";import{formatDimensionNote as j,resizeImage as K}from"../../modes/utils/image-resize.js";import{detectSupportedImageMimeTypeFromFile as W}from"../../utils/mime.js";import{validateIntegerWindowOption as N}from"./input-validation.js";import{resolveReadPath as X}from"./path-utils.js";import{DEFAULT_MAX_BYTES as S,DEFAULT_MAX_LINES as k,formatSize as D,truncateHead as q}from"./truncate.js";const H=r.Object({path:r.String({description:"Path to the file to read (relative or absolute)"}),offset:r.Optional(r.Integer({minimum:1,description:"Line number to start reading from (1-indexed)"})),limit:r.Optional(r.Integer({minimum:1,description:"Maximum number of lines to read"})),pages:r.Optional(r.String({description:"Page range for PDF files, e.g. '1-5', '3', '10-20'. Max 20 pages per request."}))}),Y={readFile:g(c=>A(c),"readFile"),access:g(c=>z(c,U.R_OK),"access"),detectImageMimeType:W};function G(c,$){const O=$?.autoResizeImages??!0,p=$?.operations??Y;return{name:"read",label:"read",description:`Read the contents of a file. Supports text files, images (jpg, png, gif, webp), and PDFs. Images are sent as attachments. PDFs are sent as document content blocks (max 100 pages). For text files, output is truncated to ${k} lines or ${S/1024}KB (whichever is hit first). Use offset/limit for large files. Use pages param for PDF page ranges.`,parameters:H,isConcurrencySafe:!0,execute:g(async(J,{path:M,offset:x,limit:L,pages:T},f)=>{N({name:"offset",value:x,minimum:1}),N({name:"limit",value:L,minimum:1});const o=X(M,c);return new Promise((E,P)=>{if(f?.aborted){P(new Error("Operation aborted"));return}let w=!1;const I=g(()=>{w=!0,P(new Error("Operation aborted"))},"onAbort");f&&f.addEventListener("abort",I,{once:!0}),(async()=>{try{if(await p.access(o),w)return;const d=p.detectImageMimeType?await p.detectImageMimeType(o):void 0;let m,R;if(d){const l=(await p.readFile(o)).toString("base64");if(O){const t=await K({type:"image",data:l,mimeType:d}),e=j(t);let u=`Read image file [${t.mimeType}]`;e&&(u+=`
|
|
2
|
+
${e}`),m=[{type:"text",text:u},{type:"image",data:t.data,mimeType:t.mimeType}]}else m=[{type:"text",text:`Read image file [${d}]`},{type:"image",data:l,mimeType:d}]}else if(o.toLowerCase().endsWith(".pdf")){const y=await p.readFile(o),l=y.toString("base64");if(T)try{const{extractPdfPages:t}=await import("./pdf-extract.js"),e=await t(y,T);m=[{type:"text",text:`Read PDF pages ${T} [application/pdf]`},{type:"document",source:{type:"base64",media_type:"application/pdf",data:e}}]}catch{m=[{type:"text",text:"Read PDF file [application/pdf] (page extraction unavailable, returning full document)"},{type:"document",source:{type:"base64",media_type:"application/pdf",data:l}}]}else m=[{type:"text",text:"Read PDF file [application/pdf]"},{type:"document",source:{type:"base64",media_type:"application/pdf",data:l}}]}else{const y=await C(o),t=(await p.readFile(o)).toString("utf-8"),e=t.split(`
|
|
3
|
+
`),u=e.length,n=x?Math.max(0,x-1):0,b=n+1;if(n>=e.length)throw new Error(`Offset ${x} is beyond end of file (${e.length} lines total)`);let v,h;if(L!==void 0){const i=Math.min(n+L,e.length);v=e.slice(n,i).join(`
|
|
4
|
+
`),h=i-n}else v=e.slice(n).join(`
|
|
5
|
+
`);const a=q(v);let s;if(a.firstLineExceedsLimit){const i=D(Buffer.byteLength(e[n],"utf-8"));s=`[Line ${b} is ${i}, exceeds ${D(S)} limit. Use bash: sed -n '${b}p' ${M} | head -c ${S}]`,R={truncation:a}}else if(a.truncated){const i=b+a.outputLines-1,F=i+1;s=a.content,a.truncatedBy==="lines"?s+=`
|
|
6
|
+
|
|
7
|
+
[Showing lines ${b}-${i} of ${u}. Use offset=${F} to continue.]`:s+=`
|
|
8
|
+
|
|
9
|
+
[Showing lines ${b}-${i} of ${u} (${D(S)} limit). Use offset=${F} to continue.]`,R={truncation:a}}else if(h!==void 0&&n+h<e.length){const i=e.length-(n+h),F=n+h+1;s=a.content,s+=`
|
|
10
|
+
|
|
11
|
+
[${i} more lines in file. Use offset=${F} to continue.]`}else s=a.content;m=[{type:"text",text:s}],B.set(o,{content:t,timestamp:Math.floor(y.mtimeMs),offset:x,limit:L})}if(w)return;f&&f.removeEventListener("abort",I),E({content:m,details:R})}catch(d){f&&f.removeEventListener("abort",I),w||P(d)}})()})},"execute")}}g(G,"createReadTool");const re=G(process.cwd());export{G as createReadTool,re as readTool};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: ToolSourceType, ToolSource, SourceTool
|
|
3
|
+
* [FROM]: Depends on extensions/types
|
|
4
|
+
* [TO]: Consumed by core/tools/index.ts (not directly imported)
|
|
5
|
+
* [HERE]: core/tools/source.ts - tool source abstraction (builtin, MCP, extension)
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDefinition } from "../extensions-host/types.js";
|
|
8
|
+
export type ToolSourceType = "builtin" | "mcp" | "extension";
|
|
9
|
+
/**
|
|
10
|
+
* Tool source interface
|
|
11
|
+
* Implement this to add new tool sources (MCP, custom protocols, etc.)
|
|
12
|
+
*/
|
|
13
|
+
export interface ToolSource {
|
|
14
|
+
/** Unique identifier for this tool source */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Type of tool source */
|
|
17
|
+
type: ToolSourceType;
|
|
18
|
+
/** Human-readable name */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Description of what this source provides */
|
|
21
|
+
description?: string;
|
|
22
|
+
/** Load tools from this source */
|
|
23
|
+
load(): Promise<ToolDefinition[]>;
|
|
24
|
+
/** Unload tools from this source */
|
|
25
|
+
unload(): Promise<void>;
|
|
26
|
+
/** Check if this source is enabled */
|
|
27
|
+
isEnabled(): boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tool source registry
|
|
31
|
+
* Manages multiple tool sources
|
|
32
|
+
*/
|
|
33
|
+
export declare class ToolSourceRegistry {
|
|
34
|
+
private sources;
|
|
35
|
+
/**
|
|
36
|
+
* Register a tool source
|
|
37
|
+
*/
|
|
38
|
+
register(source: ToolSource): void;
|
|
39
|
+
/**
|
|
40
|
+
* Unregister a tool source
|
|
41
|
+
*/
|
|
42
|
+
unregister(id: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get a tool source by ID
|
|
45
|
+
*/
|
|
46
|
+
get(id: string): ToolSource | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Get all registered tool sources
|
|
49
|
+
*/
|
|
50
|
+
getAll(): ToolSource[];
|
|
51
|
+
/**
|
|
52
|
+
* Get tool sources by type
|
|
53
|
+
*/
|
|
54
|
+
getByType(type: ToolSourceType): ToolSource[];
|
|
55
|
+
/**
|
|
56
|
+
* Load all enabled tool sources
|
|
57
|
+
*/
|
|
58
|
+
loadAll(): Promise<ToolDefinition[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Unload all tool sources
|
|
61
|
+
*/
|
|
62
|
+
unloadAll(): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Builtin tool source
|
|
66
|
+
* Wraps built-in tools as a ToolSource
|
|
67
|
+
*/
|
|
68
|
+
export declare class BuiltinToolSource implements ToolSource {
|
|
69
|
+
readonly id = "builtin";
|
|
70
|
+
readonly type: ToolSourceType;
|
|
71
|
+
readonly name = "Built-in Tools";
|
|
72
|
+
readonly description = "Core editing and file operation tools";
|
|
73
|
+
private tools;
|
|
74
|
+
constructor(tools?: ToolDefinition[]);
|
|
75
|
+
isEnabled(): boolean;
|
|
76
|
+
load(): Promise<ToolDefinition[]>;
|
|
77
|
+
unload(): Promise<void>;
|
|
78
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=Object.defineProperty;var e=(s,t)=>l(s,"name",{value:t,configurable:!0});class n{static{e(this,"ToolSourceRegistry")}sources=new Map;register(t){this.sources.has(t.id)||this.sources.set(t.id,t)}unregister(t){this.sources.delete(t)}get(t){return this.sources.get(t)}getAll(){return Array.from(this.sources.values())}getByType(t){return this.getAll().filter(o=>o.type===t)}async loadAll(){const t=[];for(const o of this.getAll())if(o.isEnabled())try{const r=await o.load();t.push(...r)}catch{}return t}async unloadAll(){for(const t of this.getAll())try{await t.unload()}catch{}}}class a{static{e(this,"BuiltinToolSource")}id="builtin";type="builtin";name="Built-in Tools";description="Core editing and file operation tools";tools=[];constructor(t=[]){this.tools=t}isEnabled(){return!0}async load(){return this.tools}async unload(){}}export{a as BuiltinToolSource,n as ToolSourceRegistry};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [WHO]: TimeTool, timeTool, createTimeTool
|
|
3
|
+
* [FROM]: Depends on agent-core, typebox
|
|
4
|
+
* [TO]: Consumed by core/tools/index.ts
|
|
5
|
+
* [HERE]: core/tools/time.ts - current time tool
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@catui/agent-core";
|
|
8
|
+
import { type Static } from "@sinclair/typebox";
|
|
9
|
+
declare const timeSchema: import("@sinclair/typebox").TObject<{
|
|
10
|
+
timeZone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
+
locale: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
12
|
+
}>;
|
|
13
|
+
export type TimeToolInput = Static<typeof timeSchema>;
|
|
14
|
+
export declare function createTimeTool(): AgentTool<typeof timeSchema>;
|
|
15
|
+
export declare const timeTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
16
|
+
timeZone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
17
|
+
locale: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
18
|
+
}>, any>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var c=Object.defineProperty;var n=(i,e)=>c(i,"name",{value:e,configurable:!0});import{Type as o}from"@sinclair/typebox";const l=o.Object({timeZone:o.Optional(o.String({description:"Optional IANA time zone like Asia/Shanghai or America/Los_Angeles"})),locale:o.Optional(o.String({description:"Optional locale like en-US or zh-CN for formatting"}))});function d(i,e="en-US"){const t=new Date,s=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",r=i||s,a=t.toISOString(),m=t.toLocaleString(e,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZone:r,timeZoneName:"short"});return[`Current system time: ${a}`,`Formatted time: ${m}`,`Time zone: ${r}`,`Epoch ms: ${t.getTime()}`].join(`
|
|
2
|
+
`)}n(d,"formatTimeSnapshot");function u(){return{name:"time",label:"time",description:"Get the current system time. You must use this for time-sensitive questions such as 'what time is it', 'what day is it', 'today', 'tomorrow', 'yesterday', deadlines, schedules, elapsed time, or any request that depends on the real current date/time instead of prompt context.",parameters:l,isConcurrencySafe:!0,execute:n(async(i,{timeZone:e,locale:t})=>({content:[{type:"text",text:d(e,t)}],details:{timeZone:e||Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",locale:t||"en-US"}}),"execute")}}n(u,"createTimeTool");const y=u();export{u as createTimeTool,y as timeTool};
|