@dexto/core 1.3.0 → 1.5.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/README.md +53 -9
- package/dist/agent/DextoAgent.cjs +570 -210
- package/dist/agent/DextoAgent.d.ts +175 -35
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +568 -208
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +2 -1
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -1
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -1
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +6 -2
- package/dist/agent/schemas.cjs +90 -68
- package/dist/agent/schemas.d.ts +5998 -146
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +90 -65
- package/dist/agent/state-manager.cjs +5 -5
- package/dist/agent/state-manager.d.ts +4 -4
- package/dist/agent/state-manager.js +6 -6
- package/dist/agent/types.d.ts +24 -10
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.js +1 -1
- package/dist/approval/factory.js +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +234 -4
- package/dist/approval/manager.d.ts +131 -4
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +225 -5
- package/dist/approval/schemas.cjs +57 -7
- package/dist/approval/schemas.d.ts +344 -33
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +54 -8
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +32 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -1
- package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
- package/dist/context/compaction/factory.cjs +57 -0
- package/dist/context/compaction/factory.d.ts +17 -0
- package/dist/context/compaction/factory.d.ts.map +1 -0
- package/dist/context/compaction/factory.js +34 -0
- package/dist/context/compaction/index.cjs +49 -0
- package/dist/context/compaction/index.d.ts +11 -0
- package/dist/context/compaction/index.d.ts.map +1 -0
- package/dist/context/compaction/index.js +19 -0
- package/dist/context/compaction/overflow.cjs +43 -0
- package/dist/context/compaction/overflow.d.ts +33 -0
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/compaction/overflow.js +19 -0
- package/dist/context/compaction/provider.cjs +16 -0
- package/dist/context/compaction/provider.d.ts +48 -0
- package/dist/context/compaction/provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.cjs +48 -0
- package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
- package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.js +24 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
- package/dist/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
- package/dist/context/compaction/registry.d.ts +19 -0
- package/dist/context/compaction/registry.d.ts.map +1 -0
- package/dist/context/compaction/registry.js +16 -0
- package/dist/context/compaction/schemas.cjs +38 -0
- package/dist/context/compaction/schemas.d.ts +24 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -0
- package/dist/context/compaction/schemas.js +14 -0
- package/dist/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
- package/dist/context/compaction/strategies/noop.d.ts +18 -0
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
- package/dist/context/compaction/strategies/noop.js +13 -0
- package/dist/context/compaction/strategies/reactive-overflow.cjs +201 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
- package/dist/context/compaction/types.d.ts +20 -0
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/error-codes.cjs +7 -0
- package/dist/context/error-codes.d.ts +8 -1
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +8 -1
- package/dist/context/errors.cjs +68 -0
- package/dist/context/errors.d.ts +21 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +69 -1
- package/dist/context/index.cjs +3 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/manager.cjs +280 -323
- package/dist/context/manager.d.ts +65 -111
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +280 -328
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/types.cjs +49 -0
- package/dist/context/types.d.ts +187 -72
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +35 -0
- package/dist/context/utils.cjs +293 -290
- package/dist/context/utils.d.ts +32 -18
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +293 -290
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +3 -4
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +18 -1
- package/dist/events/index.d.ts +149 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +19 -2
- package/dist/filesystem/error-codes.js +1 -1
- package/dist/filesystem/errors.js +1 -1
- package/dist/filesystem/filesystem-service.cjs +39 -0
- package/dist/filesystem/filesystem-service.d.ts +32 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -1
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/index.js +1 -1
- package/dist/filesystem/path-validator.cjs +69 -1
- package/dist/filesystem/path-validator.d.ts +43 -2
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +70 -2
- package/dist/image/define-image.cjs +146 -0
- package/dist/image/define-image.d.ts +71 -0
- package/dist/image/define-image.d.ts.map +1 -0
- package/dist/image/define-image.js +121 -0
- package/dist/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
- package/dist/image/index.d.ts +53 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +7 -0
- package/dist/image/types.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.browser.cjs +23 -8
- package/dist/index.browser.d.ts +4 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +20 -3
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/llm/error-codes.cjs +1 -1
- package/dist/llm/error-codes.d.ts +1 -1
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +2 -2
- package/dist/llm/errors.cjs +34 -10
- package/dist/llm/errors.d.ts +23 -11
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +36 -12
- package/dist/llm/executor/stream-processor.cjs +375 -0
- package/dist/llm/executor/stream-processor.d.ts +55 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -0
- package/dist/llm/executor/stream-processor.js +352 -0
- package/dist/llm/executor/tool-output-truncator.cjs +75 -0
- package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
- package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
- package/dist/llm/executor/tool-output-truncator.js +48 -0
- package/dist/llm/executor/turn-executor.cjs +780 -0
- package/dist/llm/executor/turn-executor.d.ts +167 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -0
- package/dist/llm/executor/turn-executor.js +711 -0
- package/dist/llm/executor/types.cjs +16 -0
- package/dist/llm/executor/types.d.ts +27 -0
- package/dist/llm/executor/types.d.ts.map +1 -0
- package/dist/llm/executor/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +26 -188
- package/dist/llm/formatters/vercel.d.ts +2 -14
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +25 -187
- package/dist/llm/index.cjs +18 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +14 -0
- package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
- package/dist/llm/providers/local/downloader.cjs +291 -0
- package/dist/llm/providers/local/downloader.d.ts +82 -0
- package/dist/llm/providers/local/downloader.d.ts.map +1 -0
- package/dist/llm/providers/local/downloader.js +251 -0
- package/dist/llm/providers/local/error-codes.cjs +57 -0
- package/dist/llm/providers/local/error-codes.d.ts +66 -0
- package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
- package/dist/llm/providers/local/error-codes.js +34 -0
- package/dist/llm/providers/local/errors.cjs +240 -0
- package/dist/llm/providers/local/errors.d.ts +31 -0
- package/dist/llm/providers/local/errors.d.ts.map +1 -0
- package/dist/llm/providers/local/errors.js +217 -0
- package/dist/llm/providers/local/gpu-detector.cjs +214 -0
- package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
- package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
- package/dist/llm/providers/local/gpu-detector.js +178 -0
- package/dist/llm/providers/local/index.cjs +147 -0
- package/dist/llm/providers/local/index.d.ts +21 -0
- package/dist/llm/providers/local/index.d.ts.map +1 -0
- package/dist/llm/providers/local/index.js +126 -0
- package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/node-llama-provider.js +176 -0
- package/dist/llm/providers/local/ollama-provider.cjs +230 -0
- package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
- package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/ollama-provider.js +198 -0
- package/dist/llm/providers/local/registry.cjs +343 -0
- package/dist/llm/providers/local/registry.d.ts +51 -0
- package/dist/llm/providers/local/registry.d.ts.map +1 -0
- package/dist/llm/providers/local/registry.js +312 -0
- package/dist/llm/providers/local/schemas.cjs +169 -0
- package/dist/llm/providers/local/schemas.d.ts +395 -0
- package/dist/llm/providers/local/schemas.d.ts.map +1 -0
- package/dist/llm/providers/local/schemas.js +133 -0
- package/dist/llm/providers/local/types.cjs +16 -0
- package/dist/llm/providers/local/types.d.ts +219 -0
- package/dist/llm/providers/local/types.d.ts.map +1 -0
- package/dist/llm/providers/local/types.js +0 -0
- package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-model-registry.js +309 -0
- package/dist/llm/registry.cjs +569 -52
- package/dist/llm/registry.d.ts +79 -39
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +564 -49
- package/dist/llm/resolver.cjs +62 -34
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -38
- package/dist/llm/schemas.cjs +92 -97
- package/dist/llm/schemas.d.ts +162 -39
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +93 -100
- package/dist/llm/services/factory.cjs +88 -103
- package/dist/llm/services/factory.d.ts +17 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +87 -93
- package/dist/llm/services/test-utils.integration.cjs +28 -10
- package/dist/llm/services/test-utils.integration.d.ts +7 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +33 -12
- package/dist/llm/services/types.d.ts +1 -28
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +58 -469
- package/dist/llm/services/vercel.d.ts +39 -21
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +60 -476
- package/dist/llm/types.cjs +11 -4
- package/dist/llm/types.d.ts +9 -9
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +12 -4
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.cjs +34 -6
- package/dist/logger/v2/dexto-logger.d.ts +20 -2
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -7
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.cjs +70 -0
- package/dist/logger/v2/test-utils.d.ts +17 -0
- package/dist/logger/v2/test-utils.d.ts.map +1 -0
- package/dist/logger/v2/test-utils.js +46 -0
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.cjs +6 -0
- package/dist/logger/v2/transports/file-transport.d.ts +4 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.js +7 -1
- package/dist/logger/v2/types.cjs +1 -0
- package/dist/logger/v2/types.d.ts +18 -2
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +2 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -1
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +14 -1
- package/dist/mcp/manager.cjs +12 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +13 -1
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +1 -4
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.cjs +6 -0
- package/dist/mcp/schemas.d.ts +52 -0
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.js +1 -1
- package/dist/memory/schemas.d.ts +3 -3
- package/dist/memory/schemas.js +1 -1
- package/dist/plugins/builtins/content-policy.js +1 -1
- package/dist/plugins/builtins/response-sanitizer.js +1 -1
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +4 -1
- package/dist/plugins/index.cjs +7 -0
- package/dist/plugins/index.d.ts +4 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +7 -2
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/manager.cjs +92 -7
- package/dist/plugins/manager.d.ts +10 -3
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +93 -8
- package/dist/plugins/registrations/builtins.js +1 -1
- package/dist/plugins/registry.cjs +63 -0
- package/dist/plugins/registry.d.ts +101 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +39 -0
- package/dist/plugins/schemas.cjs +17 -5
- package/dist/plugins/schemas.d.ts +65 -8
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +16 -5
- package/dist/plugins/types.d.ts +0 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.js +1 -1
- package/dist/process/error-codes.js +1 -1
- package/dist/process/errors.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/process-service.cjs +78 -26
- package/dist/process/process-service.d.ts +6 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +79 -27
- package/dist/process/types.d.ts +2 -2
- package/dist/process/types.d.ts.map +1 -1
- package/dist/prompts/error-codes.cjs +1 -0
- package/dist/prompts/error-codes.d.ts +2 -1
- package/dist/prompts/error-codes.d.ts.map +1 -1
- package/dist/prompts/error-codes.js +2 -1
- package/dist/prompts/errors.cjs +15 -0
- package/dist/prompts/errors.d.ts +4 -0
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/errors.js +16 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +13 -2
- package/dist/prompts/prompt-manager.d.ts +7 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +14 -3
- package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +13 -4
- package/dist/prompts/providers/custom-prompt-provider.js +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.d.ts +12 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/providers/base-registry.cjs +147 -0
- package/dist/providers/base-registry.d.ts +147 -0
- package/dist/providers/base-registry.d.ts.map +1 -0
- package/dist/providers/base-registry.js +123 -0
- package/dist/providers/discovery.cjs +95 -0
- package/dist/providers/discovery.d.ts +94 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +70 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.js +1 -1
- package/dist/resources/handlers/factory.js +1 -1
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/internal-provider.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +4 -4
- package/dist/resources/schemas.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.js +1 -1
- package/dist/session/chat-session.cjs +169 -54
- package/dist/session/chat-session.d.ts +69 -29
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +171 -56
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/history/database.cjs +134 -21
- package/dist/session/history/database.d.ts +37 -8
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +135 -22
- package/dist/session/history/factory.js +1 -1
- package/dist/session/history/memory.cjs +18 -0
- package/dist/session/history/memory.d.ts +8 -0
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/memory.js +19 -1
- package/dist/session/history/types.d.ts +13 -1
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +3 -1
- package/dist/session/message-queue.cjs +201 -0
- package/dist/session/message-queue.d.ts +114 -0
- package/dist/session/message-queue.d.ts.map +1 -0
- package/dist/session/message-queue.js +178 -0
- package/dist/session/schemas.js +1 -1
- package/dist/session/session-manager.cjs +57 -7
- package/dist/session/session-manager.d.ts +18 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +58 -8
- package/dist/session/title-generator.cjs +4 -8
- package/dist/session/title-generator.d.ts +1 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +5 -9
- package/dist/session/types.cjs +16 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +0 -0
- package/dist/storage/blob/factory.cjs +8 -11
- package/dist/storage/blob/factory.d.ts +32 -6
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +9 -12
- package/dist/storage/blob/index.cjs +56 -0
- package/dist/storage/blob/index.d.ts +45 -0
- package/dist/storage/blob/index.d.ts.map +1 -0
- package/dist/storage/blob/index.js +30 -0
- package/dist/storage/blob/local-blob-store.js +1 -1
- package/dist/storage/blob/memory-blob-store.js +1 -1
- package/dist/storage/blob/provider.cjs +16 -0
- package/dist/storage/blob/provider.d.ts +50 -0
- package/dist/storage/blob/provider.d.ts.map +1 -0
- package/dist/storage/blob/provider.js +0 -0
- package/dist/storage/blob/providers/index.cjs +31 -0
- package/dist/storage/blob/providers/index.d.ts +8 -0
- package/dist/storage/blob/providers/index.d.ts.map +1 -0
- package/dist/storage/blob/providers/index.js +7 -0
- package/dist/storage/blob/providers/local.cjs +39 -0
- package/dist/storage/blob/providers/local.d.ts +17 -0
- package/dist/storage/blob/providers/local.d.ts.map +1 -0
- package/dist/storage/blob/providers/local.js +16 -0
- package/dist/storage/blob/providers/memory.cjs +39 -0
- package/dist/storage/blob/providers/memory.d.ts +17 -0
- package/dist/storage/blob/providers/memory.d.ts.map +1 -0
- package/dist/storage/blob/providers/memory.js +16 -0
- package/dist/storage/blob/registry.cjs +50 -0
- package/dist/storage/blob/registry.d.ts +42 -0
- package/dist/storage/blob/registry.d.ts.map +1 -0
- package/dist/storage/blob/registry.js +26 -0
- package/dist/storage/blob/schemas.cjs +9 -12
- package/dist/storage/blob/schemas.d.ts +39 -34
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +7 -12
- package/dist/storage/cache/factory.cjs +8 -36
- package/dist/storage/cache/factory.d.ts +32 -7
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +9 -27
- package/dist/storage/cache/index.cjs +53 -0
- package/dist/storage/cache/index.d.ts +44 -0
- package/dist/storage/cache/index.d.ts.map +1 -0
- package/dist/storage/cache/index.js +28 -0
- package/dist/storage/cache/memory-cache-store.js +1 -1
- package/dist/storage/cache/provider.cjs +16 -0
- package/dist/storage/cache/provider.d.ts +56 -0
- package/dist/storage/cache/provider.d.ts.map +1 -0
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.cjs +31 -0
- package/dist/storage/cache/providers/index.d.ts +8 -0
- package/dist/storage/cache/providers/index.d.ts.map +1 -0
- package/dist/storage/cache/providers/index.js +7 -0
- package/dist/storage/cache/providers/memory.cjs +40 -0
- package/dist/storage/cache/providers/memory.d.ts +17 -0
- package/dist/storage/cache/providers/memory.d.ts.map +1 -0
- package/dist/storage/cache/providers/memory.js +17 -0
- package/dist/storage/cache/providers/redis.cjs +66 -0
- package/dist/storage/cache/providers/redis.d.ts +20 -0
- package/dist/storage/cache/providers/redis.d.ts.map +1 -0
- package/dist/storage/cache/providers/redis.js +33 -0
- package/dist/storage/cache/redis-store.js +1 -1
- package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
- package/dist/storage/cache/registry.d.ts +42 -0
- package/dist/storage/cache/registry.d.ts.map +1 -0
- package/dist/storage/cache/registry.js +26 -0
- package/dist/storage/cache/schemas.cjs +6 -2
- package/dist/storage/cache/schemas.d.ts +2 -3
- package/dist/storage/cache/schemas.d.ts.map +1 -1
- package/dist/storage/cache/schemas.js +4 -2
- package/dist/storage/database/factory.cjs +8 -47
- package/dist/storage/database/factory.d.ts +34 -8
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -38
- package/dist/storage/database/index.cjs +58 -0
- package/dist/storage/database/index.d.ts +45 -0
- package/dist/storage/database/index.d.ts.map +1 -0
- package/dist/storage/database/index.js +37 -0
- package/dist/storage/database/memory-database-store.js +1 -1
- package/dist/storage/database/postgres-store.cjs +12 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +13 -1
- package/dist/storage/database/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +8 -2
- package/dist/storage/database/schemas.d.ts +3 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +5 -2
- package/dist/storage/database/sqlite-store.js +1 -1
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +7 -1
- package/dist/storage/errors.cjs +80 -0
- package/dist/storage/errors.d.ts +24 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +81 -1
- package/dist/storage/index.cjs +47 -4
- package/dist/storage/index.d.ts +34 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +33 -4
- package/dist/storage/schemas.cjs +4 -0
- package/dist/storage/schemas.d.ts +17 -50
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +6 -2
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +4 -4
- package/dist/systemPrompt/contributors.js +1 -1
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.cjs +7 -6
- package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +7 -6
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.cjs +2 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +3 -3
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +18 -18
- package/dist/systemPrompt/schemas.js +3 -3
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/tools/bash-pattern-utils.cjs +91 -0
- package/dist/tools/bash-pattern-utils.d.ts +58 -0
- package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
- package/dist/tools/bash-pattern-utils.js +64 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
- package/dist/tools/custom-tool-registry.cjs +64 -0
- package/dist/tools/custom-tool-registry.d.ts +120 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/display-types.cjs +60 -0
- package/dist/tools/display-types.d.ts +133 -0
- package/dist/tools/display-types.d.ts.map +1 -0
- package/dist/tools/display-types.js +32 -0
- package/dist/tools/error-codes.cjs +5 -0
- package/dist/tools/error-codes.d.ts +6 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +6 -1
- package/dist/tools/errors.cjs +71 -0
- package/dist/tools/errors.d.ts +33 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +72 -1
- package/dist/tools/index.cjs +15 -1
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -2
- package/dist/tools/internal-tools/constants.cjs +3 -9
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +4 -10
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
- package/dist/tools/internal-tools/provider.cjs +175 -31
- package/dist/tools/internal-tools/provider.d.ts +62 -14
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +176 -32
- package/dist/tools/internal-tools/registry.cjs +19 -43
- package/dist/tools/internal-tools/registry.d.ts +32 -11
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +20 -44
- package/dist/tools/schemas.cjs +36 -6
- package/dist/tools/schemas.d.ts +74 -5
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +30 -6
- package/dist/tools/tool-manager.cjs +279 -30
- package/dist/tools/tool-manager.d.ts +45 -4
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +284 -31
- package/dist/tools/types.d.ts +63 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +19 -1
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +20 -2
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
- package/dist/utils/defer.d.ts +63 -0
- package/dist/utils/defer.d.ts.map +1 -0
- package/dist/utils/defer.js +19 -0
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/index.cjs +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.cjs +18 -3
- package/dist/utils/redactor.d.ts +0 -7
- package/dist/utils/redactor.d.ts.map +1 -1
- package/dist/utils/redactor.js +19 -4
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema-metadata.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +15 -37
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +16 -38
- package/dist/utils/user-info.js +1 -1
- package/dist/utils/zod-schema-converter.js +1 -1
- package/package.json +10 -8
- package/dist/context/compression/middle-removal.cjs +0 -95
- package/dist/context/compression/middle-removal.d.ts +0 -47
- package/dist/context/compression/middle-removal.d.ts.map +0 -1
- package/dist/context/compression/middle-removal.js +0 -72
- package/dist/context/compression/oldest-removal.cjs +0 -83
- package/dist/context/compression/oldest-removal.d.ts +0 -42
- package/dist/context/compression/oldest-removal.d.ts.map +0 -1
- package/dist/context/compression/oldest-removal.js +0 -60
- package/dist/context/compression/types.d.ts +0 -18
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.cjs +0 -257
- package/dist/llm/formatters/anthropic.d.ts +0 -46
- package/dist/llm/formatters/anthropic.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.js +0 -239
- package/dist/llm/formatters/factory.cjs +0 -50
- package/dist/llm/formatters/factory.d.ts +0 -10
- package/dist/llm/formatters/factory.d.ts.map +0 -1
- package/dist/llm/formatters/factory.js +0 -27
- package/dist/llm/formatters/openai.cjs +0 -203
- package/dist/llm/formatters/openai.d.ts +0 -39
- package/dist/llm/formatters/openai.d.ts.map +0 -1
- package/dist/llm/formatters/openai.js +0 -184
- package/dist/llm/formatters/types.d.ts +0 -41
- package/dist/llm/formatters/types.d.ts.map +0 -1
- package/dist/llm/services/anthropic.cjs +0 -511
- package/dist/llm/services/anthropic.d.ts +0 -48
- package/dist/llm/services/anthropic.d.ts.map +0 -1
- package/dist/llm/services/anthropic.js +0 -447
- package/dist/llm/services/openai.cjs +0 -611
- package/dist/llm/services/openai.d.ts +0 -48
- package/dist/llm/services/openai.d.ts.map +0 -1
- package/dist/llm/services/openai.js +0 -547
- package/dist/llm/tokenizer/anthropic.d.ts +0 -19
- package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
- package/dist/llm/tokenizer/anthropic.js +0 -20
- package/dist/llm/tokenizer/default.d.ts +0 -14
- package/dist/llm/tokenizer/default.d.ts.map +0 -1
- package/dist/llm/tokenizer/default.js +0 -18
- package/dist/llm/tokenizer/factory.d.ts +0 -12
- package/dist/llm/tokenizer/factory.d.ts.map +0 -1
- package/dist/llm/tokenizer/factory.js +0 -21
- package/dist/llm/tokenizer/google.d.ts +0 -29
- package/dist/llm/tokenizer/google.d.ts.map +0 -1
- package/dist/llm/tokenizer/google.js +0 -29
- package/dist/llm/tokenizer/openai.cjs +0 -115
- package/dist/llm/tokenizer/openai.d.ts +0 -41
- package/dist/llm/tokenizer/openai.d.ts.map +0 -1
- package/dist/llm/tokenizer/openai.js +0 -91
- package/dist/llm/tokenizer/types.d.ts +0 -18
- package/dist/llm/tokenizer/types.d.ts.map +0 -1
- package/dist/llm/tokenizer/types.js +0 -10
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -73
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -62
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -39
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -48
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -55
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -32
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -33
- package/dist/utils/env-file.cjs +0 -118
- package/dist/utils/env-file.d.ts +0 -5
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -85
- /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
- /package/dist/context/{compression → compaction}/types.cjs +0 -0
- /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
- /package/dist/{llm/formatters → image}/types.cjs +0 -0
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ITokenizer } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Tokenizer for Google Gemini models - CURRENTLY USING APPROXIMATION.
|
|
4
|
-
*
|
|
5
|
-
* TODO: Replace this with a proper token counting implementation.
|
|
6
|
-
* The official `@google/generative-ai` library's `countTokens` function
|
|
7
|
-
* is asynchronous, which complicates synchronous use cases.
|
|
8
|
-
* Consider using a WASM-based tokenizer or re-evaluating the need
|
|
9
|
-
* for synchronous counting if a more accurate method is required.
|
|
10
|
-
*/
|
|
11
|
-
export declare class GoogleTokenizer implements ITokenizer {
|
|
12
|
-
private modelName;
|
|
13
|
-
/**
|
|
14
|
-
* Initializes the tokenizer for a specific Google Gemini model.
|
|
15
|
-
* Currently, the model name is not used due to the approximation.
|
|
16
|
-
* @param model The Google model name (e.g., 'gemini-pro')
|
|
17
|
-
*/
|
|
18
|
-
constructor(model: string);
|
|
19
|
-
/**
|
|
20
|
-
* Approximates the token count for Google Gemini models.
|
|
21
|
-
* Uses a rough guess based on character count (similar to Anthropic's approximation).
|
|
22
|
-
* IMPORTANT: This is NOT accurate for Gemini models.
|
|
23
|
-
* @param text Text content to count tokens for
|
|
24
|
-
* @returns Approximate number of tokens
|
|
25
|
-
*/
|
|
26
|
-
countTokens(text: string): number;
|
|
27
|
-
getProviderName(): string;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=google.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/llm/tokenizer/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;gBACS,KAAK,EAAE,MAAM;IAMzB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOjC,eAAe,IAAI,MAAM;CAG5B"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import "../../chunk-C6A6W6XS.js";
|
|
2
|
-
class GoogleTokenizer {
|
|
3
|
-
modelName;
|
|
4
|
-
/**
|
|
5
|
-
* Initializes the tokenizer for a specific Google Gemini model.
|
|
6
|
-
* Currently, the model name is not used due to the approximation.
|
|
7
|
-
* @param model The Google model name (e.g., 'gemini-pro')
|
|
8
|
-
*/
|
|
9
|
-
constructor(model) {
|
|
10
|
-
this.modelName = model;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Approximates the token count for Google Gemini models.
|
|
14
|
-
* Uses a rough guess based on character count (similar to Anthropic's approximation).
|
|
15
|
-
* IMPORTANT: This is NOT accurate for Gemini models.
|
|
16
|
-
* @param text Text content to count tokens for
|
|
17
|
-
* @returns Approximate number of tokens
|
|
18
|
-
*/
|
|
19
|
-
countTokens(text) {
|
|
20
|
-
if (!text) return 0;
|
|
21
|
-
return Math.ceil(text.length / 4);
|
|
22
|
-
}
|
|
23
|
-
getProviderName() {
|
|
24
|
-
return "google";
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export {
|
|
28
|
-
GoogleTokenizer
|
|
29
|
-
};
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var openai_exports = {};
|
|
20
|
-
__export(openai_exports, {
|
|
21
|
-
OpenAITokenizer: () => OpenAITokenizer
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(openai_exports);
|
|
24
|
-
var import_types = require("./types.js");
|
|
25
|
-
var import_module = require("module");
|
|
26
|
-
var import_types2 = require("../../logger/v2/types.js");
|
|
27
|
-
const import_meta = {};
|
|
28
|
-
const FALLBACK_ENCODING = "cl100k_base";
|
|
29
|
-
class OpenAITokenizer {
|
|
30
|
-
modelName;
|
|
31
|
-
// Store original model name for context/logging
|
|
32
|
-
encoding;
|
|
33
|
-
// Tiktoken encoding instance
|
|
34
|
-
logger;
|
|
35
|
-
/**
|
|
36
|
-
* Initializes the tokenizer for a specific OpenAI model or compatible model.
|
|
37
|
-
* @param model The OpenAI model name (e.g., 'gpt-5') or a custom model name.
|
|
38
|
-
* @param logger The logger instance for logging.
|
|
39
|
-
* @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
|
|
40
|
-
*/
|
|
41
|
-
constructor(model, logger) {
|
|
42
|
-
this.modelName = model;
|
|
43
|
-
this.logger = logger.createChild(import_types2.DextoLogComponent.LLM);
|
|
44
|
-
try {
|
|
45
|
-
const { encoding_for_model } = loadTiktoken();
|
|
46
|
-
this.encoding = encoding_for_model(model);
|
|
47
|
-
this.logger.debug(`Initialized tiktoken with specific encoding for model: ${model}`);
|
|
48
|
-
} catch (error) {
|
|
49
|
-
this.logger.warn(
|
|
50
|
-
`Could not get specific encoding for model '${this.modelName}'. Falling back to '${FALLBACK_ENCODING}'. Error: ${error instanceof Error ? error.message : String(error)}`
|
|
51
|
-
);
|
|
52
|
-
try {
|
|
53
|
-
const { get_encoding } = loadTiktoken();
|
|
54
|
-
this.encoding = get_encoding(FALLBACK_ENCODING);
|
|
55
|
-
this.logger.debug(
|
|
56
|
-
`Initialized tiktoken with fallback encoding: ${FALLBACK_ENCODING}`
|
|
57
|
-
);
|
|
58
|
-
} catch (fallbackError) {
|
|
59
|
-
this.logger.error(
|
|
60
|
-
`Failed to initialize tiktoken with specific model '${this.modelName}' or fallback '${FALLBACK_ENCODING}'.`,
|
|
61
|
-
{
|
|
62
|
-
error: fallbackError instanceof Error ? fallbackError.message : String(fallbackError)
|
|
63
|
-
}
|
|
64
|
-
);
|
|
65
|
-
throw new import_types.TokenizationError(
|
|
66
|
-
`Failed to initialize tiktoken for model '${this.modelName}' using specific or fallback encoding ('${FALLBACK_ENCODING}'): ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Counts the tokens in the text using the determined encoding.
|
|
73
|
-
* @param text Text content to count tokens for
|
|
74
|
-
* @returns Number of tokens
|
|
75
|
-
* @throws TokenizationError if encoding fails during counting.
|
|
76
|
-
*/
|
|
77
|
-
countTokens(text) {
|
|
78
|
-
if (!text) return 0;
|
|
79
|
-
try {
|
|
80
|
-
const tokens = this.encoding.encode(text);
|
|
81
|
-
return tokens.length;
|
|
82
|
-
} catch (error) {
|
|
83
|
-
this.logger.error(
|
|
84
|
-
`Tiktoken encoding failed for model ${this.modelName} (using encoding: ${this.encoding.name}):`,
|
|
85
|
-
{ error: error instanceof Error ? error.message : String(error) }
|
|
86
|
-
);
|
|
87
|
-
throw new import_types.TokenizationError(
|
|
88
|
-
`Encoding failed for text snippet using model ${this.modelName}.`
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Cleans up the tiktoken encoding instance when done.
|
|
94
|
-
* Recommended by tiktoken library.
|
|
95
|
-
*/
|
|
96
|
-
free() {
|
|
97
|
-
if (this.encoding) {
|
|
98
|
-
this.encoding.free();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
getProviderName() {
|
|
102
|
-
return "openai";
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
let _tiktoken = null;
|
|
106
|
-
function loadTiktoken() {
|
|
107
|
-
if (_tiktoken) return _tiktoken;
|
|
108
|
-
const req = (0, import_module.createRequire)(import_meta.url);
|
|
109
|
-
_tiktoken = req("tiktoken");
|
|
110
|
-
return _tiktoken;
|
|
111
|
-
}
|
|
112
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
-
0 && (module.exports = {
|
|
114
|
-
OpenAITokenizer
|
|
115
|
-
});
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ITokenizer } from './types.js';
|
|
2
|
-
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Tokenizer for OpenAI models using the tiktoken library.
|
|
5
|
-
*
|
|
6
|
-
* TODO: Make tiktoken an optional peer dependency to reduce package size by ~23MB
|
|
7
|
-
* tiktoken includes WASM binaries (5.3MB) and encoder data files (16MB).
|
|
8
|
-
* It's only needed for accurate pre-request token estimation for OpenAI models.
|
|
9
|
-
* - All providers return actual token counts in API responses
|
|
10
|
-
* - Anthropic/Google/others already use simple text.length/4 approximation
|
|
11
|
-
* - Consider falling back to DefaultTokenizer if tiktoken is not installed
|
|
12
|
-
* See: packages/core/src/llm/tokenizer/factory.ts
|
|
13
|
-
* Attempts to use the specific model's encoding, falls back to a common base encoding ('cl100k_base')
|
|
14
|
-
* for unknown or custom model names (often used with custom baseURLs).
|
|
15
|
-
*/
|
|
16
|
-
export declare class OpenAITokenizer implements ITokenizer {
|
|
17
|
-
private modelName;
|
|
18
|
-
private encoding;
|
|
19
|
-
private logger;
|
|
20
|
-
/**
|
|
21
|
-
* Initializes the tokenizer for a specific OpenAI model or compatible model.
|
|
22
|
-
* @param model The OpenAI model name (e.g., 'gpt-5') or a custom model name.
|
|
23
|
-
* @param logger The logger instance for logging.
|
|
24
|
-
* @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
|
|
25
|
-
*/
|
|
26
|
-
constructor(model: string, logger: IDextoLogger);
|
|
27
|
-
/**
|
|
28
|
-
* Counts the tokens in the text using the determined encoding.
|
|
29
|
-
* @param text Text content to count tokens for
|
|
30
|
-
* @returns Number of tokens
|
|
31
|
-
* @throws TokenizationError if encoding fails during counting.
|
|
32
|
-
*/
|
|
33
|
-
countTokens(text: string): number;
|
|
34
|
-
/**
|
|
35
|
-
* Cleans up the tiktoken encoding instance when done.
|
|
36
|
-
* Recommended by tiktoken library.
|
|
37
|
-
*/
|
|
38
|
-
free(): void;
|
|
39
|
-
getProviderName(): string;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/llm/tokenizer/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;;OAKG;gBACS,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAqC/C;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgBjC;;;OAGG;IACH,IAAI,IAAI,IAAI;IAMZ,eAAe,IAAI,MAAM;CAG5B"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import "../../chunk-C6A6W6XS.js";
|
|
2
|
-
import { TokenizationError } from "./types.js";
|
|
3
|
-
import { createRequire } from "module";
|
|
4
|
-
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
5
|
-
const FALLBACK_ENCODING = "cl100k_base";
|
|
6
|
-
class OpenAITokenizer {
|
|
7
|
-
modelName;
|
|
8
|
-
// Store original model name for context/logging
|
|
9
|
-
encoding;
|
|
10
|
-
// Tiktoken encoding instance
|
|
11
|
-
logger;
|
|
12
|
-
/**
|
|
13
|
-
* Initializes the tokenizer for a specific OpenAI model or compatible model.
|
|
14
|
-
* @param model The OpenAI model name (e.g., 'gpt-5') or a custom model name.
|
|
15
|
-
* @param logger The logger instance for logging.
|
|
16
|
-
* @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
|
|
17
|
-
*/
|
|
18
|
-
constructor(model, logger) {
|
|
19
|
-
this.modelName = model;
|
|
20
|
-
this.logger = logger.createChild(DextoLogComponent.LLM);
|
|
21
|
-
try {
|
|
22
|
-
const { encoding_for_model } = loadTiktoken();
|
|
23
|
-
this.encoding = encoding_for_model(model);
|
|
24
|
-
this.logger.debug(`Initialized tiktoken with specific encoding for model: ${model}`);
|
|
25
|
-
} catch (error) {
|
|
26
|
-
this.logger.warn(
|
|
27
|
-
`Could not get specific encoding for model '${this.modelName}'. Falling back to '${FALLBACK_ENCODING}'. Error: ${error instanceof Error ? error.message : String(error)}`
|
|
28
|
-
);
|
|
29
|
-
try {
|
|
30
|
-
const { get_encoding } = loadTiktoken();
|
|
31
|
-
this.encoding = get_encoding(FALLBACK_ENCODING);
|
|
32
|
-
this.logger.debug(
|
|
33
|
-
`Initialized tiktoken with fallback encoding: ${FALLBACK_ENCODING}`
|
|
34
|
-
);
|
|
35
|
-
} catch (fallbackError) {
|
|
36
|
-
this.logger.error(
|
|
37
|
-
`Failed to initialize tiktoken with specific model '${this.modelName}' or fallback '${FALLBACK_ENCODING}'.`,
|
|
38
|
-
{
|
|
39
|
-
error: fallbackError instanceof Error ? fallbackError.message : String(fallbackError)
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
throw new TokenizationError(
|
|
43
|
-
`Failed to initialize tiktoken for model '${this.modelName}' using specific or fallback encoding ('${FALLBACK_ENCODING}'): ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Counts the tokens in the text using the determined encoding.
|
|
50
|
-
* @param text Text content to count tokens for
|
|
51
|
-
* @returns Number of tokens
|
|
52
|
-
* @throws TokenizationError if encoding fails during counting.
|
|
53
|
-
*/
|
|
54
|
-
countTokens(text) {
|
|
55
|
-
if (!text) return 0;
|
|
56
|
-
try {
|
|
57
|
-
const tokens = this.encoding.encode(text);
|
|
58
|
-
return tokens.length;
|
|
59
|
-
} catch (error) {
|
|
60
|
-
this.logger.error(
|
|
61
|
-
`Tiktoken encoding failed for model ${this.modelName} (using encoding: ${this.encoding.name}):`,
|
|
62
|
-
{ error: error instanceof Error ? error.message : String(error) }
|
|
63
|
-
);
|
|
64
|
-
throw new TokenizationError(
|
|
65
|
-
`Encoding failed for text snippet using model ${this.modelName}.`
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Cleans up the tiktoken encoding instance when done.
|
|
71
|
-
* Recommended by tiktoken library.
|
|
72
|
-
*/
|
|
73
|
-
free() {
|
|
74
|
-
if (this.encoding) {
|
|
75
|
-
this.encoding.free();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
getProviderName() {
|
|
79
|
-
return "openai";
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
let _tiktoken = null;
|
|
83
|
-
function loadTiktoken() {
|
|
84
|
-
if (_tiktoken) return _tiktoken;
|
|
85
|
-
const req = createRequire(import.meta.url);
|
|
86
|
-
_tiktoken = req("tiktoken");
|
|
87
|
-
return _tiktoken;
|
|
88
|
-
}
|
|
89
|
-
export {
|
|
90
|
-
OpenAITokenizer
|
|
91
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface ITokenizer {
|
|
2
|
-
/**
|
|
3
|
-
* Counts the number of tokens in the provided text according
|
|
4
|
-
* to the specific LLM provider's tokenization rules
|
|
5
|
-
* @param text Text content to count tokens for
|
|
6
|
-
* @returns Number of tokens in the text
|
|
7
|
-
*/
|
|
8
|
-
countTokens(text: string): number;
|
|
9
|
-
/**
|
|
10
|
-
* Gets the name of the LLM provider this tokenizer is for
|
|
11
|
-
* @returns Provider name (e.g., "openai", "anthropic")
|
|
12
|
-
*/
|
|
13
|
-
getProviderName(): string;
|
|
14
|
-
}
|
|
15
|
-
export declare class TokenizationError extends Error {
|
|
16
|
-
constructor(message: string);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/llm/tokenizer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;CAC7B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI9B"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var bash_exec_tool_exports = {};
|
|
30
|
-
__export(bash_exec_tool_exports, {
|
|
31
|
-
createBashExecTool: () => createBashExecTool
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(bash_exec_tool_exports);
|
|
34
|
-
var path = __toESM(require("node:path"), 1);
|
|
35
|
-
var import_zod = require("zod");
|
|
36
|
-
var import_types2 = require("../../../approval/types.js");
|
|
37
|
-
var import_errors = require("../../../process/errors.js");
|
|
38
|
-
const BashExecInputSchema = import_zod.z.object({
|
|
39
|
-
command: import_zod.z.string().describe("Shell command to execute"),
|
|
40
|
-
description: import_zod.z.string().optional().describe("Human-readable description of what the command does (5-10 words)"),
|
|
41
|
-
timeout: import_zod.z.number().int().positive().max(6e5).optional().default(12e4).describe(
|
|
42
|
-
"Timeout in milliseconds (max: 600000 = 10 minutes, default: 120000 = 2 minutes)"
|
|
43
|
-
),
|
|
44
|
-
run_in_background: import_zod.z.boolean().optional().default(false).describe("Execute command in background (default: false)"),
|
|
45
|
-
cwd: import_zod.z.string().optional().describe("Working directory for command execution (optional)")
|
|
46
|
-
}).strict();
|
|
47
|
-
function createBashExecTool(processService, approvalManager) {
|
|
48
|
-
return {
|
|
49
|
-
id: "bash_exec",
|
|
50
|
-
description: "Execute a shell command with 2-minute default timeout. Returns stdout, stderr, exit code, and duration. For long-running commands (servers, watchers, npm run dev), MUST use run_in_background=true (use bash_output to retrieve results later). Commands ending with & are blocked - use run_in_background instead. Requires approval for all commands. Dangerous commands (rm, git push, etc.) require additional per-command approval. Always quote file paths with spaces. Security: dangerous commands are blocked, injection attempts are detected.",
|
|
51
|
-
inputSchema: BashExecInputSchema,
|
|
52
|
-
execute: async (input, context) => {
|
|
53
|
-
const { command, description, timeout, run_in_background, cwd } = input;
|
|
54
|
-
let validatedCwd = cwd;
|
|
55
|
-
if (cwd) {
|
|
56
|
-
const baseDir = processService.getConfig().workingDirectory || process.cwd();
|
|
57
|
-
const candidatePath = path.isAbsolute(cwd) ? path.resolve(cwd) : path.resolve(baseDir, cwd);
|
|
58
|
-
const relativePath = path.relative(baseDir, candidatePath);
|
|
59
|
-
const isOutsideBase = relativePath.startsWith("..") || path.isAbsolute(relativePath);
|
|
60
|
-
if (isOutsideBase) {
|
|
61
|
-
throw import_errors.ProcessError.invalidWorkingDirectory(
|
|
62
|
-
cwd,
|
|
63
|
-
`Working directory must be within ${baseDir}`
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
validatedCwd = candidatePath;
|
|
67
|
-
}
|
|
68
|
-
const result = await processService.executeCommand(command, {
|
|
69
|
-
description,
|
|
70
|
-
timeout,
|
|
71
|
-
runInBackground: run_in_background,
|
|
72
|
-
cwd: validatedCwd,
|
|
73
|
-
// Provide approval function for dangerous commands
|
|
74
|
-
approvalFunction: async (normalizedCommand) => {
|
|
75
|
-
const metadata = {
|
|
76
|
-
toolName: "bash_exec",
|
|
77
|
-
command: normalizedCommand,
|
|
78
|
-
originalCommand: command
|
|
79
|
-
};
|
|
80
|
-
if (context?.sessionId) {
|
|
81
|
-
metadata.sessionId = context.sessionId;
|
|
82
|
-
}
|
|
83
|
-
const response = await approvalManager.requestCommandConfirmation(metadata);
|
|
84
|
-
return response.status === import_types2.ApprovalStatus.APPROVED;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
if ("stdout" in result) {
|
|
88
|
-
return {
|
|
89
|
-
stdout: result.stdout,
|
|
90
|
-
stderr: result.stderr,
|
|
91
|
-
exit_code: result.exitCode,
|
|
92
|
-
duration: result.duration
|
|
93
|
-
};
|
|
94
|
-
} else {
|
|
95
|
-
return {
|
|
96
|
-
process_id: result.processId,
|
|
97
|
-
message: `Command started in background with ID: ${result.processId}. Use bash_output to retrieve output.`
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
-
0 && (module.exports = {
|
|
105
|
-
createBashExecTool
|
|
106
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bash Execute Tool
|
|
3
|
-
*
|
|
4
|
-
* Internal tool for executing shell commands (requires approval)
|
|
5
|
-
*/
|
|
6
|
-
import { InternalTool } from '../../types.js';
|
|
7
|
-
import { ProcessService } from '../../../process/index.js';
|
|
8
|
-
import type { ApprovalManager } from '../../../approval/manager.js';
|
|
9
|
-
/**
|
|
10
|
-
* Create the bash_exec internal tool
|
|
11
|
-
*/
|
|
12
|
-
export declare function createBashExecTool(processService: ProcessService, approvalManager: ApprovalManager): InternalTool;
|
|
13
|
-
//# sourceMappingURL=bash-exec-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bash-exec-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/bash-exec-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAgCpE;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,GACjC,YAAY,CAoFd"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import "../../../chunk-C6A6W6XS.js";
|
|
2
|
-
import * as path from "node:path";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { ApprovalStatus } from "../../../approval/types.js";
|
|
5
|
-
import { ProcessError } from "../../../process/errors.js";
|
|
6
|
-
const BashExecInputSchema = z.object({
|
|
7
|
-
command: z.string().describe("Shell command to execute"),
|
|
8
|
-
description: z.string().optional().describe("Human-readable description of what the command does (5-10 words)"),
|
|
9
|
-
timeout: z.number().int().positive().max(6e5).optional().default(12e4).describe(
|
|
10
|
-
"Timeout in milliseconds (max: 600000 = 10 minutes, default: 120000 = 2 minutes)"
|
|
11
|
-
),
|
|
12
|
-
run_in_background: z.boolean().optional().default(false).describe("Execute command in background (default: false)"),
|
|
13
|
-
cwd: z.string().optional().describe("Working directory for command execution (optional)")
|
|
14
|
-
}).strict();
|
|
15
|
-
function createBashExecTool(processService, approvalManager) {
|
|
16
|
-
return {
|
|
17
|
-
id: "bash_exec",
|
|
18
|
-
description: "Execute a shell command with 2-minute default timeout. Returns stdout, stderr, exit code, and duration. For long-running commands (servers, watchers, npm run dev), MUST use run_in_background=true (use bash_output to retrieve results later). Commands ending with & are blocked - use run_in_background instead. Requires approval for all commands. Dangerous commands (rm, git push, etc.) require additional per-command approval. Always quote file paths with spaces. Security: dangerous commands are blocked, injection attempts are detected.",
|
|
19
|
-
inputSchema: BashExecInputSchema,
|
|
20
|
-
execute: async (input, context) => {
|
|
21
|
-
const { command, description, timeout, run_in_background, cwd } = input;
|
|
22
|
-
let validatedCwd = cwd;
|
|
23
|
-
if (cwd) {
|
|
24
|
-
const baseDir = processService.getConfig().workingDirectory || process.cwd();
|
|
25
|
-
const candidatePath = path.isAbsolute(cwd) ? path.resolve(cwd) : path.resolve(baseDir, cwd);
|
|
26
|
-
const relativePath = path.relative(baseDir, candidatePath);
|
|
27
|
-
const isOutsideBase = relativePath.startsWith("..") || path.isAbsolute(relativePath);
|
|
28
|
-
if (isOutsideBase) {
|
|
29
|
-
throw ProcessError.invalidWorkingDirectory(
|
|
30
|
-
cwd,
|
|
31
|
-
`Working directory must be within ${baseDir}`
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
validatedCwd = candidatePath;
|
|
35
|
-
}
|
|
36
|
-
const result = await processService.executeCommand(command, {
|
|
37
|
-
description,
|
|
38
|
-
timeout,
|
|
39
|
-
runInBackground: run_in_background,
|
|
40
|
-
cwd: validatedCwd,
|
|
41
|
-
// Provide approval function for dangerous commands
|
|
42
|
-
approvalFunction: async (normalizedCommand) => {
|
|
43
|
-
const metadata = {
|
|
44
|
-
toolName: "bash_exec",
|
|
45
|
-
command: normalizedCommand,
|
|
46
|
-
originalCommand: command
|
|
47
|
-
};
|
|
48
|
-
if (context?.sessionId) {
|
|
49
|
-
metadata.sessionId = context.sessionId;
|
|
50
|
-
}
|
|
51
|
-
const response = await approvalManager.requestCommandConfirmation(metadata);
|
|
52
|
-
return response.status === ApprovalStatus.APPROVED;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
if ("stdout" in result) {
|
|
56
|
-
return {
|
|
57
|
-
stdout: result.stdout,
|
|
58
|
-
stderr: result.stderr,
|
|
59
|
-
exit_code: result.exitCode,
|
|
60
|
-
duration: result.duration
|
|
61
|
-
};
|
|
62
|
-
} else {
|
|
63
|
-
return {
|
|
64
|
-
process_id: result.processId,
|
|
65
|
-
message: `Command started in background with ID: ${result.processId}. Use bash_output to retrieve output.`
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
export {
|
|
72
|
-
createBashExecTool
|
|
73
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var bash_output_tool_exports = {};
|
|
20
|
-
__export(bash_output_tool_exports, {
|
|
21
|
-
createBashOutputTool: () => createBashOutputTool
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(bash_output_tool_exports);
|
|
24
|
-
var import_zod = require("zod");
|
|
25
|
-
const BashOutputInputSchema = import_zod.z.object({
|
|
26
|
-
process_id: import_zod.z.string().describe("Process ID from bash_exec (when run_in_background=true)")
|
|
27
|
-
}).strict();
|
|
28
|
-
function createBashOutputTool(processService) {
|
|
29
|
-
return {
|
|
30
|
-
id: "bash_output",
|
|
31
|
-
description: "Retrieve output from a background process started with bash_exec. Returns stdout, stderr, status (running/completed/failed), exit code, and duration. Each call returns only new output since last read. The output buffer is cleared after reading. Use this tool to monitor long-running commands.",
|
|
32
|
-
inputSchema: BashOutputInputSchema,
|
|
33
|
-
execute: async (input, _context) => {
|
|
34
|
-
const { process_id } = input;
|
|
35
|
-
const result = await processService.getProcessOutput(process_id);
|
|
36
|
-
return {
|
|
37
|
-
stdout: result.stdout,
|
|
38
|
-
stderr: result.stderr,
|
|
39
|
-
status: result.status,
|
|
40
|
-
...result.exitCode !== void 0 && { exit_code: result.exitCode },
|
|
41
|
-
...result.duration !== void 0 && { duration: result.duration }
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
createBashOutputTool
|
|
49
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bash Output Tool
|
|
3
|
-
*
|
|
4
|
-
* Internal tool for retrieving output from background processes
|
|
5
|
-
*/
|
|
6
|
-
import { InternalTool } from '../../types.js';
|
|
7
|
-
import { ProcessService } from '../../../process/index.js';
|
|
8
|
-
/**
|
|
9
|
-
* Create the bash_output internal tool
|
|
10
|
-
*/
|
|
11
|
-
export declare function createBashOutputTool(processService: ProcessService): InternalTool;
|
|
12
|
-
//# sourceMappingURL=bash-output-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bash-output-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/bash-output-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,GAAG,YAAY,CAsBjF"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import "../../../chunk-C6A6W6XS.js";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
const BashOutputInputSchema = z.object({
|
|
4
|
-
process_id: z.string().describe("Process ID from bash_exec (when run_in_background=true)")
|
|
5
|
-
}).strict();
|
|
6
|
-
function createBashOutputTool(processService) {
|
|
7
|
-
return {
|
|
8
|
-
id: "bash_output",
|
|
9
|
-
description: "Retrieve output from a background process started with bash_exec. Returns stdout, stderr, status (running/completed/failed), exit code, and duration. Each call returns only new output since last read. The output buffer is cleared after reading. Use this tool to monitor long-running commands.",
|
|
10
|
-
inputSchema: BashOutputInputSchema,
|
|
11
|
-
execute: async (input, _context) => {
|
|
12
|
-
const { process_id } = input;
|
|
13
|
-
const result = await processService.getProcessOutput(process_id);
|
|
14
|
-
return {
|
|
15
|
-
stdout: result.stdout,
|
|
16
|
-
stderr: result.stderr,
|
|
17
|
-
status: result.status,
|
|
18
|
-
...result.exitCode !== void 0 && { exit_code: result.exitCode },
|
|
19
|
-
...result.duration !== void 0 && { duration: result.duration }
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export {
|
|
25
|
-
createBashOutputTool
|
|
26
|
-
};
|