@dexto/core 1.4.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 +36 -0
- package/dist/agent/DextoAgent.cjs +22 -3
- package/dist/agent/DextoAgent.d.ts +19 -2
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +23 -4
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +5 -1
- package/dist/agent/schemas.cjs +90 -71
- package/dist/agent/schemas.d.ts +5911 -96
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +87 -66
- package/dist/approval/manager.cjs +165 -1
- package/dist/approval/manager.d.ts +91 -2
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +155 -1
- package/dist/approval/schemas.cjs +39 -3
- package/dist/approval/schemas.d.ts +238 -1
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +35 -3
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +26 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -0
- 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/{compression → compaction}/overflow.cjs +3 -3
- package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction}/overflow.js +2 -2
- 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/context/compaction/registry.cjs +39 -0
- 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/context/compaction/strategies/noop.cjs +36 -0
- 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/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
- package/dist/context/{compression → compaction}/types.d.ts +4 -4
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/compaction/types.js +0 -0
- package/dist/context/error-codes.cjs +4 -0
- package/dist/context/error-codes.d.ts +4 -0
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +4 -0
- package/dist/context/errors.cjs +40 -0
- package/dist/context/errors.d.ts +14 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +40 -0
- 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 +1 -0
- package/dist/context/types.d.ts +6 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +27 -7
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +27 -7
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +2 -3
- package/dist/events/index.cjs +2 -2
- package/dist/events/index.d.ts +16 -16
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -2
- 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 +39 -0
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +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 +69 -1
- 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/image/index.cjs +32 -0
- 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.cjs +16 -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.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/llm/error-codes.cjs +1 -0
- package/dist/llm/error-codes.d.ts +1 -0
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.cjs +24 -0
- package/dist/llm/errors.d.ts +19 -6
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +24 -0
- package/dist/llm/executor/stream-processor.cjs +11 -3
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +11 -3
- package/dist/llm/executor/turn-executor.cjs +50 -23
- package/dist/llm/executor/turn-executor.d.ts +6 -5
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +50 -23
- package/dist/llm/formatters/vercel.cjs +6 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +6 -2
- 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 +535 -9
- package/dist/llm/registry.d.ts +26 -0
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +532 -9
- package/dist/llm/resolver.cjs +63 -5
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -6
- package/dist/llm/schemas.cjs +90 -80
- package/dist/llm/schemas.d.ts +158 -22
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +90 -80
- package/dist/llm/services/factory.cjs +87 -13
- package/dist/llm/services/factory.d.ts +4 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +85 -12
- package/dist/llm/services/test-utils.integration.cjs +22 -2
- 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 +26 -3
- package/dist/llm/services/vercel.cjs +5 -2
- package/dist/llm/services/vercel.d.ts +3 -2
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +5 -2
- package/dist/llm/types.cjs +11 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +11 -1
- package/dist/mcp/manager.cjs +8 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +8 -0
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +0 -3
- package/dist/memory/schemas.d.ts +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 +3 -0
- 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 +6 -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 +92 -7
- 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 +62 -5
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +15 -4
- 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/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +3 -3
- package/dist/session/chat-session.cjs +20 -3
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +21 -4
- 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 +8 -11
- 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/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 +6 -11
- 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 +8 -26
- 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/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/registry.cjs +50 -0
- 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 +3 -1
- 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 +8 -37
- 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/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 +4 -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 +6 -0
- 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 +80 -0
- 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 +32 -3
- 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 +5 -1
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +3 -3
- 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 +6 -5
- 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 +2 -2
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +13 -13
- package/dist/systemPrompt/schemas.js +2 -2
- 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/error-codes.cjs +3 -0
- package/dist/tools/error-codes.d.ts +4 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +3 -0
- package/dist/tools/errors.cjs +41 -0
- package/dist/tools/errors.d.ts +17 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +41 -0
- package/dist/tools/index.cjs +13 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -1
- 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 +3 -9
- 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/provider.cjs +150 -23
- package/dist/tools/internal-tools/provider.d.ts +55 -10
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +150 -23
- package/dist/tools/internal-tools/registry.cjs +18 -43
- package/dist/tools/internal-tools/registry.d.ts +4 -4
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +18 -43
- package/dist/tools/schemas.cjs +20 -0
- package/dist/tools/schemas.d.ts +43 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +16 -0
- package/dist/tools/tool-manager.cjs +140 -13
- package/dist/tools/tool-manager.d.ts +22 -3
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +140 -13
- package/dist/tools/types.d.ts +43 -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 +19 -1
- package/dist/utils/index.cjs +0 -2
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -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 +18 -3
- package/dist/utils/service-initializer.cjs +9 -35
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +9 -35
- package/package.json +5 -2
- package/dist/context/compression/overflow.d.ts.map +0 -1
- package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
- 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 -97
- 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 -127
- 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 -104
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
- 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 -47
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
- 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 -63
- 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 -63
- 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 -40
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
- 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 -103
- 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/errors.js
CHANGED
|
@@ -24,6 +24,15 @@ class LLMError {
|
|
|
24
24
|
{ provider }
|
|
25
25
|
);
|
|
26
26
|
}
|
|
27
|
+
static missingConfig(provider, configName) {
|
|
28
|
+
return new DextoRuntimeError(
|
|
29
|
+
LLMErrorCode.CONFIG_MISSING,
|
|
30
|
+
ErrorScope.LLM,
|
|
31
|
+
ErrorType.USER,
|
|
32
|
+
`Provider '${provider}' requires ${configName}`,
|
|
33
|
+
{ provider, configName }
|
|
34
|
+
);
|
|
35
|
+
}
|
|
27
36
|
static unsupportedProvider(provider) {
|
|
28
37
|
const availableProviders = getSupportedProviders();
|
|
29
38
|
return new DextoRuntimeError(
|
|
@@ -34,6 +43,21 @@ class LLMError {
|
|
|
34
43
|
{ provider, availableProviders }
|
|
35
44
|
);
|
|
36
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Runtime error when API key is missing for a provider that requires it.
|
|
48
|
+
* This occurs when relaxed validation allowed the app to start without an API key,
|
|
49
|
+
* and the user then tries to use the LLM functionality.
|
|
50
|
+
*/
|
|
51
|
+
static apiKeyMissing(provider, envVar) {
|
|
52
|
+
return new DextoRuntimeError(
|
|
53
|
+
LLMErrorCode.API_KEY_MISSING,
|
|
54
|
+
ErrorScope.LLM,
|
|
55
|
+
ErrorType.USER,
|
|
56
|
+
`API key required for provider '${provider}'`,
|
|
57
|
+
{ provider, envVar },
|
|
58
|
+
`Set the ${envVar} environment variable or configure it in Settings`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
37
61
|
static modelProviderUnknown(model) {
|
|
38
62
|
const availableProviders = getSupportedProviders();
|
|
39
63
|
return new DextoRuntimeError(
|
|
@@ -88,22 +88,30 @@ class StreamProcessor {
|
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
break;
|
|
91
|
-
case "tool-call":
|
|
91
|
+
case "tool-call": {
|
|
92
92
|
if (!this.assistantMessageId) {
|
|
93
93
|
this.assistantMessageId = await this.createAssistantMessage();
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
const toolCall = {
|
|
96
96
|
id: event.toolCallId,
|
|
97
97
|
type: "function",
|
|
98
98
|
function: {
|
|
99
99
|
name: event.toolName,
|
|
100
100
|
arguments: JSON.stringify(event.input)
|
|
101
101
|
}
|
|
102
|
-
}
|
|
102
|
+
};
|
|
103
|
+
const shouldPersistProviderMetadata = this.config.provider === "google" || this.config.provider === "vertex";
|
|
104
|
+
if (shouldPersistProviderMetadata && event.providerMetadata) {
|
|
105
|
+
toolCall.providerOptions = {
|
|
106
|
+
...event.providerMetadata
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
|
|
103
110
|
this.pendingToolCalls.set(event.toolCallId, {
|
|
104
111
|
toolName: event.toolName
|
|
105
112
|
});
|
|
106
113
|
break;
|
|
114
|
+
}
|
|
107
115
|
case "tool-result": {
|
|
108
116
|
const rawResult = event.output;
|
|
109
117
|
this.logger.debug("Tool result received", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAwBpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB,CAAC;IA9B7B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAmE;IACvF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgD;IAExE;;;;;;;;;OASG;gBAES,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,qBAAqB,EACrC,MAAM,EAAE,YAAY,EACZ,SAAS,GAAE,OAAc,EACzB,gBAAgB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CACzE,YAAA;IAKC,OAAO,CACT,QAAQ,EAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACzD,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAwBpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB,CAAC;IA9B7B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAmE;IACvF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgD;IAExE;;;;;;;;;OASG;gBAES,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,qBAAqB,EACrC,MAAM,EAAE,YAAY,EACZ,SAAS,GAAE,OAAc,EACzB,gBAAgB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CACzE,YAAA;IAKC,OAAO,CACT,QAAQ,EAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACzD,OAAO,CAAC,qBAAqB,CAAC;YAoZnB,sBAAsB;YAKtB,gBAAgB;IAO9B;;;;OAIG;YACW,2BAA2B;CAmC5C"}
|
|
@@ -66,22 +66,30 @@ class StreamProcessor {
|
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
break;
|
|
69
|
-
case "tool-call":
|
|
69
|
+
case "tool-call": {
|
|
70
70
|
if (!this.assistantMessageId) {
|
|
71
71
|
this.assistantMessageId = await this.createAssistantMessage();
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
const toolCall = {
|
|
74
74
|
id: event.toolCallId,
|
|
75
75
|
type: "function",
|
|
76
76
|
function: {
|
|
77
77
|
name: event.toolName,
|
|
78
78
|
arguments: JSON.stringify(event.input)
|
|
79
79
|
}
|
|
80
|
-
}
|
|
80
|
+
};
|
|
81
|
+
const shouldPersistProviderMetadata = this.config.provider === "google" || this.config.provider === "vertex";
|
|
82
|
+
if (shouldPersistProviderMetadata && event.providerMetadata) {
|
|
83
|
+
toolCall.providerOptions = {
|
|
84
|
+
...event.providerMetadata
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
|
|
81
88
|
this.pendingToolCalls.set(event.toolCallId, {
|
|
82
89
|
toolName: event.toolName
|
|
83
90
|
});
|
|
84
91
|
break;
|
|
92
|
+
}
|
|
85
93
|
case "tool-result": {
|
|
86
94
|
const rawResult = event.output;
|
|
87
95
|
this.logger.debug("Tool result received", {
|
|
@@ -85,11 +85,12 @@ var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
|
|
|
85
85
|
var import_types7 = require("../../errors/types.js");
|
|
86
86
|
var import_error_codes = require("../error-codes.js");
|
|
87
87
|
var import_error_conversion = require("../../utils/error-conversion.js");
|
|
88
|
-
var import_overflow = require("../../context/
|
|
89
|
-
var import_reactive_overflow = require("../../context/
|
|
88
|
+
var import_overflow = require("../../context/compaction/overflow.js");
|
|
89
|
+
var import_reactive_overflow = require("../../context/compaction/strategies/reactive-overflow.js");
|
|
90
90
|
const toolSupportCache = /* @__PURE__ */ new Map();
|
|
91
|
+
const LOCAL_PROVIDERS = ["ollama", "local"];
|
|
91
92
|
class TurnExecutor {
|
|
92
|
-
constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal) {
|
|
93
|
+
constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal, compactionStrategy) {
|
|
93
94
|
this.model = model;
|
|
94
95
|
this.toolManager = toolManager;
|
|
95
96
|
this.contextManager = contextManager;
|
|
@@ -103,8 +104,10 @@ class TurnExecutor {
|
|
|
103
104
|
this.externalSignal = externalSignal;
|
|
104
105
|
this.logger = logger.createChild(import_types4.DextoLogComponent.EXECUTOR);
|
|
105
106
|
this.stepAbortController = new AbortController();
|
|
106
|
-
if (
|
|
107
|
-
this.
|
|
107
|
+
if (compactionStrategy !== void 0) {
|
|
108
|
+
this.compactionStrategy = compactionStrategy;
|
|
109
|
+
} else if (modelLimits) {
|
|
110
|
+
this.compactionStrategy = new import_reactive_overflow.ReactiveOverflowStrategy(model, {}, this.logger);
|
|
108
111
|
}
|
|
109
112
|
}
|
|
110
113
|
logger;
|
|
@@ -113,8 +116,7 @@ class TurnExecutor {
|
|
|
113
116
|
* This allows soft cancel (abort current step) while still continuing with queued messages.
|
|
114
117
|
*/
|
|
115
118
|
stepAbortController;
|
|
116
|
-
|
|
117
|
-
compressionStrategy = null;
|
|
119
|
+
compactionStrategy = null;
|
|
118
120
|
/**
|
|
119
121
|
* Map to track approval metadata by toolCallId.
|
|
120
122
|
* Used to pass approval info from tool execution to result persistence.
|
|
@@ -147,6 +149,24 @@ class TurnExecutor {
|
|
|
147
149
|
let lastText = "";
|
|
148
150
|
this.eventBus.emit("llm:thinking");
|
|
149
151
|
const supportsTools = await this.validateToolSupport();
|
|
152
|
+
if (!supportsTools) {
|
|
153
|
+
const modelKey = `${this.llmContext.provider}:${this.llmContext.model}`;
|
|
154
|
+
this.eventBus.emit("llm:unsupported-input", {
|
|
155
|
+
errors: [
|
|
156
|
+
`Model '${modelKey}' does not support tool calling.`,
|
|
157
|
+
"You can still chat, but the model will not be able to use tools or execute commands."
|
|
158
|
+
],
|
|
159
|
+
provider: this.llmContext.provider,
|
|
160
|
+
model: this.llmContext.model,
|
|
161
|
+
details: {
|
|
162
|
+
feature: "tool-calling",
|
|
163
|
+
supported: false
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
this.logger.warn(
|
|
167
|
+
`Model ${modelKey} does not support tools - continuing without tool calling`
|
|
168
|
+
);
|
|
169
|
+
}
|
|
150
170
|
let currentAbortHandler = null;
|
|
151
171
|
try {
|
|
152
172
|
while (true) {
|
|
@@ -299,20 +319,25 @@ class TurnExecutor {
|
|
|
299
319
|
* Validates if the current model supports tools.
|
|
300
320
|
* Uses a static cache to avoid repeated validation calls.
|
|
301
321
|
*
|
|
302
|
-
* For
|
|
303
|
-
*
|
|
322
|
+
* For local providers (Ollama, local) and custom baseURL endpoints, makes a test call to verify tool support.
|
|
323
|
+
* Known cloud providers without baseURL are assumed to support tools.
|
|
304
324
|
*/
|
|
305
325
|
async validateToolSupport() {
|
|
306
326
|
const modelKey = `${this.llmContext.provider}:${this.llmContext.model}:${this.config.baseURL ?? ""}`;
|
|
307
327
|
if (toolSupportCache.has(modelKey)) {
|
|
308
328
|
return toolSupportCache.get(modelKey);
|
|
309
329
|
}
|
|
310
|
-
|
|
311
|
-
|
|
330
|
+
const isLocalProvider = LOCAL_PROVIDERS.includes(this.llmContext.provider);
|
|
331
|
+
if (!this.config.baseURL && !isLocalProvider) {
|
|
332
|
+
this.logger.debug(
|
|
333
|
+
`Skipping tool validation for ${modelKey} - known cloud provider without custom baseURL`
|
|
334
|
+
);
|
|
312
335
|
toolSupportCache.set(modelKey, true);
|
|
313
336
|
return true;
|
|
314
337
|
}
|
|
315
|
-
this.logger.debug(
|
|
338
|
+
this.logger.debug(
|
|
339
|
+
`Testing tool support for ${isLocalProvider ? "local provider" : "custom endpoint"} model: ${modelKey}`
|
|
340
|
+
);
|
|
316
341
|
const testTool = {
|
|
317
342
|
test_tool: {
|
|
318
343
|
inputSchema: (0, import_ai.jsonSchema)({
|
|
@@ -342,7 +367,9 @@ class TurnExecutor {
|
|
|
342
367
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
343
368
|
if (errorMessage.includes("does not support tools")) {
|
|
344
369
|
toolSupportCache.set(modelKey, false);
|
|
345
|
-
this.logger.debug(
|
|
370
|
+
this.logger.debug(
|
|
371
|
+
`Detected that model ${modelKey} does not support tool calling - tool functionality will be disabled`
|
|
372
|
+
);
|
|
346
373
|
return false;
|
|
347
374
|
}
|
|
348
375
|
this.logger.debug(
|
|
@@ -623,7 +650,7 @@ class TurnExecutor {
|
|
|
623
650
|
* Check if context has overflowed based on actual token usage from API.
|
|
624
651
|
*/
|
|
625
652
|
checkAndHandleOverflow(tokens) {
|
|
626
|
-
if (!this.modelLimits || !this.
|
|
653
|
+
if (!this.modelLimits || !this.compactionStrategy) {
|
|
627
654
|
return false;
|
|
628
655
|
}
|
|
629
656
|
return (0, import_overflow.isOverflow)(tokens, this.modelLimits);
|
|
@@ -638,16 +665,16 @@ class TurnExecutor {
|
|
|
638
665
|
* @param originalTokens The actual input token count from API that triggered overflow
|
|
639
666
|
*/
|
|
640
667
|
async compress(originalTokens) {
|
|
641
|
-
if (!this.
|
|
668
|
+
if (!this.compactionStrategy) {
|
|
642
669
|
return;
|
|
643
670
|
}
|
|
644
671
|
this.logger.info(
|
|
645
672
|
`Context overflow detected (${originalTokens} tokens), running compression`
|
|
646
673
|
);
|
|
647
674
|
const history = await this.contextManager.getHistory();
|
|
648
|
-
const summaryMessages = await this.
|
|
675
|
+
const summaryMessages = await this.compactionStrategy.compact(history);
|
|
649
676
|
if (summaryMessages.length === 0) {
|
|
650
|
-
this.logger.debug("
|
|
677
|
+
this.logger.debug("Compaction returned no summary (history too short)");
|
|
651
678
|
return;
|
|
652
679
|
}
|
|
653
680
|
for (const summary of summaryMessages) {
|
|
@@ -656,17 +683,17 @@ class TurnExecutor {
|
|
|
656
683
|
const { filterCompacted, estimateMessagesTokens } = await import("../../context/utils.js");
|
|
657
684
|
const updatedHistory = await this.contextManager.getHistory();
|
|
658
685
|
const filteredHistory = filterCompacted(updatedHistory);
|
|
659
|
-
const
|
|
660
|
-
this.eventBus.emit("context:
|
|
686
|
+
const compactedTokens = estimateMessagesTokens(filteredHistory);
|
|
687
|
+
this.eventBus.emit("context:compacted", {
|
|
661
688
|
originalTokens,
|
|
662
|
-
|
|
689
|
+
compactedTokens,
|
|
663
690
|
originalMessages: history.length,
|
|
664
|
-
|
|
665
|
-
strategy: this.
|
|
691
|
+
compactedMessages: filteredHistory.length,
|
|
692
|
+
strategy: this.compactionStrategy.name,
|
|
666
693
|
reason: "overflow"
|
|
667
694
|
});
|
|
668
695
|
this.logger.info(
|
|
669
|
-
`
|
|
696
|
+
`Compaction complete: ${originalTokens} \u2192 ~${compactedTokens} tokens (${history.length} \u2192 ${filteredHistory.length} messages after filtering)`
|
|
670
697
|
);
|
|
671
698
|
}
|
|
672
699
|
/**
|
|
@@ -8,7 +8,8 @@ import type { ResourceManager } from '../../resources/index.js';
|
|
|
8
8
|
import { DynamicContributorContext } from '../../systemPrompt/types.js';
|
|
9
9
|
import { LLMContext } from '../types.js';
|
|
10
10
|
import type { MessageQueueService } from '../../session/message-queue.js';
|
|
11
|
-
import { type ModelLimits } from '../../context/
|
|
11
|
+
import { type ModelLimits } from '../../context/compaction/overflow.js';
|
|
12
|
+
import type { ICompactionStrategy } from '../../context/compaction/types.js';
|
|
12
13
|
/**
|
|
13
14
|
* TurnExecutor orchestrates the agent loop using `stopWhen: stepCountIs(1)`.
|
|
14
15
|
*
|
|
@@ -39,7 +40,7 @@ export declare class TurnExecutor {
|
|
|
39
40
|
* This allows soft cancel (abort current step) while still continuing with queued messages.
|
|
40
41
|
*/
|
|
41
42
|
private stepAbortController;
|
|
42
|
-
private
|
|
43
|
+
private compactionStrategy;
|
|
43
44
|
/**
|
|
44
45
|
* Map to track approval metadata by toolCallId.
|
|
45
46
|
* Used to pass approval info from tool execution to result persistence.
|
|
@@ -50,7 +51,7 @@ export declare class TurnExecutor {
|
|
|
50
51
|
maxOutputTokens?: number | undefined;
|
|
51
52
|
temperature?: number | undefined;
|
|
52
53
|
baseURL?: string | undefined;
|
|
53
|
-
}, llmContext: LLMContext, logger: IDextoLogger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined);
|
|
54
|
+
}, llmContext: LLMContext, logger: IDextoLogger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined, compactionStrategy?: ICompactionStrategy | null);
|
|
54
55
|
/**
|
|
55
56
|
* Get StreamProcessor config from TurnExecutor state.
|
|
56
57
|
*/
|
|
@@ -77,8 +78,8 @@ export declare class TurnExecutor {
|
|
|
77
78
|
* Validates if the current model supports tools.
|
|
78
79
|
* Uses a static cache to avoid repeated validation calls.
|
|
79
80
|
*
|
|
80
|
-
* For
|
|
81
|
-
*
|
|
81
|
+
* For local providers (Ollama, local) and custom baseURL endpoints, makes a test call to verify tool support.
|
|
82
|
+
* Known cloud providers without baseURL are assumed to support tools.
|
|
82
83
|
*/
|
|
83
84
|
private validateToolSupport;
|
|
84
85
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAMb,KAAK,YAAY,EAEpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAMb,KAAK,YAAY,EAEpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQ1E,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAc7E;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IAkBjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,cAAc,CAAC;IAjC3B,OAAO,CAAC,MAAM,CAAe;IAC7B;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAoC;IAC9D;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAGpB;gBAGQ,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,EAC5C,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,EACO,UAAU,EAAE,UAAU,EAC9B,MAAM,EAAE,YAAY,EACZ,YAAY,EAAE,mBAAmB,EACjC,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,cAAc,CAAC,EAAE,WAAW,YAAA,EACpC,kBAAkB,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAqBnD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;;OAMG;IACG,OAAO,CACT,kBAAkB,EAAE,yBAAyB,EAC7C,SAAS,GAAE,OAAc,GAC1B,OAAO,CAAC,cAAc,CAAC;IA0M1B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;YACW,oBAAoB;IAmBlC;;;;;;OAMG;YACW,mBAAmB;IA0EjC;;;;;;;OAOG;YACW,WAAW;IA0GzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAuF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAE/C;;;;;;;;;;;OAWG;YACW,mBAAmB;IAkDjC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;OAGG;IACH,OAAO,CAAC,OAAO;IAYf;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;;;;;;;OAQG;YACW,QAAQ;IA8CtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA0D3B"}
|
|
@@ -17,11 +17,12 @@ import { DextoRuntimeError } from "../../errors/DextoRuntimeError.js";
|
|
|
17
17
|
import { ErrorScope, ErrorType } from "../../errors/types.js";
|
|
18
18
|
import { LLMErrorCode } from "../error-codes.js";
|
|
19
19
|
import { toError } from "../../utils/error-conversion.js";
|
|
20
|
-
import { isOverflow } from "../../context/
|
|
21
|
-
import { ReactiveOverflowStrategy } from "../../context/
|
|
20
|
+
import { isOverflow } from "../../context/compaction/overflow.js";
|
|
21
|
+
import { ReactiveOverflowStrategy } from "../../context/compaction/strategies/reactive-overflow.js";
|
|
22
22
|
const toolSupportCache = /* @__PURE__ */ new Map();
|
|
23
|
+
const LOCAL_PROVIDERS = ["ollama", "local"];
|
|
23
24
|
class TurnExecutor {
|
|
24
|
-
constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal) {
|
|
25
|
+
constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal, compactionStrategy) {
|
|
25
26
|
this.model = model;
|
|
26
27
|
this.toolManager = toolManager;
|
|
27
28
|
this.contextManager = contextManager;
|
|
@@ -35,8 +36,10 @@ class TurnExecutor {
|
|
|
35
36
|
this.externalSignal = externalSignal;
|
|
36
37
|
this.logger = logger.createChild(DextoLogComponent.EXECUTOR);
|
|
37
38
|
this.stepAbortController = new AbortController();
|
|
38
|
-
if (
|
|
39
|
-
this.
|
|
39
|
+
if (compactionStrategy !== void 0) {
|
|
40
|
+
this.compactionStrategy = compactionStrategy;
|
|
41
|
+
} else if (modelLimits) {
|
|
42
|
+
this.compactionStrategy = new ReactiveOverflowStrategy(model, {}, this.logger);
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
logger;
|
|
@@ -45,8 +48,7 @@ class TurnExecutor {
|
|
|
45
48
|
* This allows soft cancel (abort current step) while still continuing with queued messages.
|
|
46
49
|
*/
|
|
47
50
|
stepAbortController;
|
|
48
|
-
|
|
49
|
-
compressionStrategy = null;
|
|
51
|
+
compactionStrategy = null;
|
|
50
52
|
/**
|
|
51
53
|
* Map to track approval metadata by toolCallId.
|
|
52
54
|
* Used to pass approval info from tool execution to result persistence.
|
|
@@ -79,6 +81,24 @@ class TurnExecutor {
|
|
|
79
81
|
let lastText = "";
|
|
80
82
|
this.eventBus.emit("llm:thinking");
|
|
81
83
|
const supportsTools = await this.validateToolSupport();
|
|
84
|
+
if (!supportsTools) {
|
|
85
|
+
const modelKey = `${this.llmContext.provider}:${this.llmContext.model}`;
|
|
86
|
+
this.eventBus.emit("llm:unsupported-input", {
|
|
87
|
+
errors: [
|
|
88
|
+
`Model '${modelKey}' does not support tool calling.`,
|
|
89
|
+
"You can still chat, but the model will not be able to use tools or execute commands."
|
|
90
|
+
],
|
|
91
|
+
provider: this.llmContext.provider,
|
|
92
|
+
model: this.llmContext.model,
|
|
93
|
+
details: {
|
|
94
|
+
feature: "tool-calling",
|
|
95
|
+
supported: false
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
this.logger.warn(
|
|
99
|
+
`Model ${modelKey} does not support tools - continuing without tool calling`
|
|
100
|
+
);
|
|
101
|
+
}
|
|
82
102
|
let currentAbortHandler = null;
|
|
83
103
|
try {
|
|
84
104
|
while (true) {
|
|
@@ -231,20 +251,25 @@ class TurnExecutor {
|
|
|
231
251
|
* Validates if the current model supports tools.
|
|
232
252
|
* Uses a static cache to avoid repeated validation calls.
|
|
233
253
|
*
|
|
234
|
-
* For
|
|
235
|
-
*
|
|
254
|
+
* For local providers (Ollama, local) and custom baseURL endpoints, makes a test call to verify tool support.
|
|
255
|
+
* Known cloud providers without baseURL are assumed to support tools.
|
|
236
256
|
*/
|
|
237
257
|
async validateToolSupport() {
|
|
238
258
|
const modelKey = `${this.llmContext.provider}:${this.llmContext.model}:${this.config.baseURL ?? ""}`;
|
|
239
259
|
if (toolSupportCache.has(modelKey)) {
|
|
240
260
|
return toolSupportCache.get(modelKey);
|
|
241
261
|
}
|
|
242
|
-
|
|
243
|
-
|
|
262
|
+
const isLocalProvider = LOCAL_PROVIDERS.includes(this.llmContext.provider);
|
|
263
|
+
if (!this.config.baseURL && !isLocalProvider) {
|
|
264
|
+
this.logger.debug(
|
|
265
|
+
`Skipping tool validation for ${modelKey} - known cloud provider without custom baseURL`
|
|
266
|
+
);
|
|
244
267
|
toolSupportCache.set(modelKey, true);
|
|
245
268
|
return true;
|
|
246
269
|
}
|
|
247
|
-
this.logger.debug(
|
|
270
|
+
this.logger.debug(
|
|
271
|
+
`Testing tool support for ${isLocalProvider ? "local provider" : "custom endpoint"} model: ${modelKey}`
|
|
272
|
+
);
|
|
248
273
|
const testTool = {
|
|
249
274
|
test_tool: {
|
|
250
275
|
inputSchema: jsonSchema({
|
|
@@ -274,7 +299,9 @@ class TurnExecutor {
|
|
|
274
299
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
275
300
|
if (errorMessage.includes("does not support tools")) {
|
|
276
301
|
toolSupportCache.set(modelKey, false);
|
|
277
|
-
this.logger.debug(
|
|
302
|
+
this.logger.debug(
|
|
303
|
+
`Detected that model ${modelKey} does not support tool calling - tool functionality will be disabled`
|
|
304
|
+
);
|
|
278
305
|
return false;
|
|
279
306
|
}
|
|
280
307
|
this.logger.debug(
|
|
@@ -555,7 +582,7 @@ class TurnExecutor {
|
|
|
555
582
|
* Check if context has overflowed based on actual token usage from API.
|
|
556
583
|
*/
|
|
557
584
|
checkAndHandleOverflow(tokens) {
|
|
558
|
-
if (!this.modelLimits || !this.
|
|
585
|
+
if (!this.modelLimits || !this.compactionStrategy) {
|
|
559
586
|
return false;
|
|
560
587
|
}
|
|
561
588
|
return isOverflow(tokens, this.modelLimits);
|
|
@@ -570,16 +597,16 @@ class TurnExecutor {
|
|
|
570
597
|
* @param originalTokens The actual input token count from API that triggered overflow
|
|
571
598
|
*/
|
|
572
599
|
async compress(originalTokens) {
|
|
573
|
-
if (!this.
|
|
600
|
+
if (!this.compactionStrategy) {
|
|
574
601
|
return;
|
|
575
602
|
}
|
|
576
603
|
this.logger.info(
|
|
577
604
|
`Context overflow detected (${originalTokens} tokens), running compression`
|
|
578
605
|
);
|
|
579
606
|
const history = await this.contextManager.getHistory();
|
|
580
|
-
const summaryMessages = await this.
|
|
607
|
+
const summaryMessages = await this.compactionStrategy.compact(history);
|
|
581
608
|
if (summaryMessages.length === 0) {
|
|
582
|
-
this.logger.debug("
|
|
609
|
+
this.logger.debug("Compaction returned no summary (history too short)");
|
|
583
610
|
return;
|
|
584
611
|
}
|
|
585
612
|
for (const summary of summaryMessages) {
|
|
@@ -588,17 +615,17 @@ class TurnExecutor {
|
|
|
588
615
|
const { filterCompacted, estimateMessagesTokens } = await import("../../context/utils.js");
|
|
589
616
|
const updatedHistory = await this.contextManager.getHistory();
|
|
590
617
|
const filteredHistory = filterCompacted(updatedHistory);
|
|
591
|
-
const
|
|
592
|
-
this.eventBus.emit("context:
|
|
618
|
+
const compactedTokens = estimateMessagesTokens(filteredHistory);
|
|
619
|
+
this.eventBus.emit("context:compacted", {
|
|
593
620
|
originalTokens,
|
|
594
|
-
|
|
621
|
+
compactedTokens,
|
|
595
622
|
originalMessages: history.length,
|
|
596
|
-
|
|
597
|
-
strategy: this.
|
|
623
|
+
compactedMessages: filteredHistory.length,
|
|
624
|
+
strategy: this.compactionStrategy.name,
|
|
598
625
|
reason: "overflow"
|
|
599
626
|
});
|
|
600
627
|
this.logger.info(
|
|
601
|
-
`
|
|
628
|
+
`Compaction complete: ${originalTokens} \u2192 ~${compactedTokens} tokens (${history.length} \u2192 ${filteredHistory.length} messages after filtering)`
|
|
602
629
|
);
|
|
603
630
|
}
|
|
604
631
|
/**
|
|
@@ -183,12 +183,16 @@ class VercelMessageFormatter {
|
|
|
183
183
|
} else {
|
|
184
184
|
parsed = rawArgs ?? {};
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
const toolCallPart = {
|
|
187
187
|
type: "tool-call",
|
|
188
188
|
toolCallId: toolCall.id,
|
|
189
189
|
toolName: toolCall.function.name,
|
|
190
190
|
input: parsed
|
|
191
|
-
}
|
|
191
|
+
};
|
|
192
|
+
if (toolCall.providerOptions) {
|
|
193
|
+
toolCallPart.providerOptions = toolCall.providerOptions;
|
|
194
|
+
}
|
|
195
|
+
contentParts.push(toolCallPart);
|
|
192
196
|
}
|
|
193
197
|
const firstToolCall = msg.toolCalls?.[0];
|
|
194
198
|
if (firstToolCall) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAmB7D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAGhC;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IAwIjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAK1B,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAmB7D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAGhC;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IAwIjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAK1B,OAAO,CAAC,sBAAsB;IA8E9B,OAAO,CAAC,iBAAiB;CAoE5B"}
|
|
@@ -161,12 +161,16 @@ class VercelMessageFormatter {
|
|
|
161
161
|
} else {
|
|
162
162
|
parsed = rawArgs ?? {};
|
|
163
163
|
}
|
|
164
|
-
|
|
164
|
+
const toolCallPart = {
|
|
165
165
|
type: "tool-call",
|
|
166
166
|
toolCallId: toolCall.id,
|
|
167
167
|
toolName: toolCall.function.name,
|
|
168
168
|
input: parsed
|
|
169
|
-
}
|
|
169
|
+
};
|
|
170
|
+
if (toolCall.providerOptions) {
|
|
171
|
+
toolCallPart.providerOptions = toolCall.providerOptions;
|
|
172
|
+
}
|
|
173
|
+
contentParts.push(toolCallPart);
|
|
170
174
|
}
|
|
171
175
|
const firstToolCall = msg.toolCalls?.[0];
|
|
172
176
|
if (firstToolCall) {
|
package/dist/llm/index.cjs
CHANGED
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -14,6 +18,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
18
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
20
|
var llm_exports = {};
|
|
21
|
+
__export(llm_exports, {
|
|
22
|
+
getOpenRouterModelContextLength: () => import_openrouter_model_registry.getOpenRouterModelContextLength,
|
|
23
|
+
getOpenRouterModelInfo: () => import_openrouter_model_registry.getOpenRouterModelInfo,
|
|
24
|
+
lookupOpenRouterModel: () => import_openrouter_model_registry.lookupOpenRouterModel,
|
|
25
|
+
refreshOpenRouterModelCache: () => import_openrouter_model_registry.refreshOpenRouterModelCache
|
|
26
|
+
});
|
|
17
27
|
module.exports = __toCommonJS(llm_exports);
|
|
18
28
|
__reExport(llm_exports, require("./errors.js"), module.exports);
|
|
19
29
|
__reExport(llm_exports, require("./error-codes.js"), module.exports);
|
|
@@ -22,13 +32,20 @@ __reExport(llm_exports, require("./validation.js"), module.exports);
|
|
|
22
32
|
__reExport(llm_exports, require("./types.js"), module.exports);
|
|
23
33
|
__reExport(llm_exports, require("./services/index.js"), module.exports);
|
|
24
34
|
__reExport(llm_exports, require("./schemas.js"), module.exports);
|
|
35
|
+
var import_openrouter_model_registry = require("./providers/openrouter-model-registry.js");
|
|
36
|
+
__reExport(llm_exports, require("./providers/local/index.js"), module.exports);
|
|
25
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
38
|
0 && (module.exports = {
|
|
39
|
+
getOpenRouterModelContextLength,
|
|
40
|
+
getOpenRouterModelInfo,
|
|
41
|
+
lookupOpenRouterModel,
|
|
42
|
+
refreshOpenRouterModelCache,
|
|
27
43
|
...require("./errors.js"),
|
|
28
44
|
...require("./error-codes.js"),
|
|
29
45
|
...require("./registry.js"),
|
|
30
46
|
...require("./validation.js"),
|
|
31
47
|
...require("./types.js"),
|
|
32
48
|
...require("./services/index.js"),
|
|
33
|
-
...require("./schemas.js")
|
|
49
|
+
...require("./schemas.js"),
|
|
50
|
+
...require("./providers/local/index.js")
|
|
34
51
|
});
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -5,4 +5,6 @@ export * from './validation.js';
|
|
|
5
5
|
export * from './types.js';
|
|
6
6
|
export * from './services/index.js';
|
|
7
7
|
export * from './schemas.js';
|
|
8
|
+
export { lookupOpenRouterModel, refreshOpenRouterModelCache, getOpenRouterModelContextLength, getOpenRouterModelInfo, type LookupStatus, type OpenRouterModelInfo, } from './providers/openrouter-model-registry.js';
|
|
9
|
+
export * from './providers/local/index.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GAC3B,MAAM,0CAA0C,CAAC;AAGlD,cAAc,4BAA4B,CAAC"}
|
package/dist/llm/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
1
2
|
export * from "./errors.js";
|
|
2
3
|
export * from "./error-codes.js";
|
|
3
4
|
export * from "./registry.js";
|
|
@@ -5,3 +6,16 @@ export * from "./validation.js";
|
|
|
5
6
|
export * from "./types.js";
|
|
6
7
|
export * from "./services/index.js";
|
|
7
8
|
export * from "./schemas.js";
|
|
9
|
+
import {
|
|
10
|
+
lookupOpenRouterModel,
|
|
11
|
+
refreshOpenRouterModelCache,
|
|
12
|
+
getOpenRouterModelContextLength,
|
|
13
|
+
getOpenRouterModelInfo
|
|
14
|
+
} from "./providers/openrouter-model-registry.js";
|
|
15
|
+
export * from "./providers/local/index.js";
|
|
16
|
+
export {
|
|
17
|
+
getOpenRouterModelContextLength,
|
|
18
|
+
getOpenRouterModelInfo,
|
|
19
|
+
lookupOpenRouterModel,
|
|
20
|
+
refreshOpenRouterModelCache
|
|
21
|
+
};
|