@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
|
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var factory_exports = {};
|
|
20
20
|
__export(factory_exports, {
|
|
21
|
-
createLLMService: () => createLLMService
|
|
21
|
+
createLLMService: () => createLLMService,
|
|
22
|
+
createVercelModel: () => createVercelModel
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(factory_exports);
|
|
24
25
|
var import_errors = require("../errors.js");
|
|
@@ -27,33 +28,104 @@ var import_google = require("@ai-sdk/google");
|
|
|
27
28
|
var import_anthropic = require("@ai-sdk/anthropic");
|
|
28
29
|
var import_groq = require("@ai-sdk/groq");
|
|
29
30
|
var import_xai = require("@ai-sdk/xai");
|
|
31
|
+
var import_google_vertex = require("@ai-sdk/google-vertex");
|
|
32
|
+
var import_anthropic2 = require("@ai-sdk/google-vertex/anthropic");
|
|
33
|
+
var import_amazon_bedrock = require("@ai-sdk/amazon-bedrock");
|
|
30
34
|
var import_vercel = require("./vercel.js");
|
|
31
35
|
var import_cohere = require("@ai-sdk/cohere");
|
|
32
|
-
|
|
36
|
+
var import_ai_sdk_adapter = require("../providers/local/ai-sdk-adapter.js");
|
|
37
|
+
var import_registry = require("../registry.js");
|
|
38
|
+
var import_api_key_resolver = require("../../utils/api-key-resolver.js");
|
|
39
|
+
function createVercelModel(llmConfig) {
|
|
33
40
|
const provider = llmConfig.provider;
|
|
34
41
|
const model = llmConfig.model;
|
|
35
42
|
const apiKey = llmConfig.apiKey;
|
|
43
|
+
if ((0, import_registry.requiresApiKey)(provider) && !apiKey?.trim()) {
|
|
44
|
+
const envVar = (0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider);
|
|
45
|
+
throw import_errors.LLMError.apiKeyMissing(provider, envVar);
|
|
46
|
+
}
|
|
36
47
|
switch (provider.toLowerCase()) {
|
|
37
48
|
case "openai": {
|
|
38
|
-
return (0, import_openai.createOpenAI)({ apiKey })(model);
|
|
49
|
+
return (0, import_openai.createOpenAI)({ apiKey: apiKey ?? "" })(model);
|
|
39
50
|
}
|
|
40
51
|
case "openai-compatible": {
|
|
41
52
|
const baseURL = getOpenAICompatibleBaseURL(llmConfig);
|
|
42
53
|
if (!baseURL) {
|
|
43
54
|
throw import_errors.LLMError.baseUrlMissing("openai-compatible");
|
|
44
55
|
}
|
|
45
|
-
return (0, import_openai.createOpenAI)({ apiKey, baseURL }).chat(model);
|
|
56
|
+
return (0, import_openai.createOpenAI)({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
57
|
+
}
|
|
58
|
+
case "openrouter": {
|
|
59
|
+
const baseURL = llmConfig.baseURL || "https://openrouter.ai/api/v1";
|
|
60
|
+
return (0, import_openai.createOpenAI)({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
61
|
+
}
|
|
62
|
+
case "litellm": {
|
|
63
|
+
const baseURL = llmConfig.baseURL;
|
|
64
|
+
if (!baseURL) {
|
|
65
|
+
throw import_errors.LLMError.baseUrlMissing("litellm");
|
|
66
|
+
}
|
|
67
|
+
return (0, import_openai.createOpenAI)({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
68
|
+
}
|
|
69
|
+
case "glama": {
|
|
70
|
+
const baseURL = "https://glama.ai/api/gateway/openai/v1";
|
|
71
|
+
return (0, import_openai.createOpenAI)({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
72
|
+
}
|
|
73
|
+
case "vertex": {
|
|
74
|
+
const projectId = process.env.GOOGLE_VERTEX_PROJECT;
|
|
75
|
+
if (!projectId) {
|
|
76
|
+
throw import_errors.LLMError.missingConfig(
|
|
77
|
+
"vertex",
|
|
78
|
+
"GOOGLE_VERTEX_PROJECT environment variable"
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
const location = process.env.GOOGLE_VERTEX_LOCATION;
|
|
82
|
+
if (model.includes("claude")) {
|
|
83
|
+
return (0, import_anthropic2.createVertexAnthropic)({
|
|
84
|
+
project: projectId,
|
|
85
|
+
location: location || "us-east5"
|
|
86
|
+
})(model);
|
|
87
|
+
}
|
|
88
|
+
return (0, import_google_vertex.createVertex)({
|
|
89
|
+
project: projectId,
|
|
90
|
+
location: location || "us-central1"
|
|
91
|
+
})(model);
|
|
46
92
|
}
|
|
93
|
+
case "bedrock": {
|
|
94
|
+
const region = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;
|
|
95
|
+
if (!region) {
|
|
96
|
+
throw import_errors.LLMError.missingConfig(
|
|
97
|
+
"bedrock",
|
|
98
|
+
"AWS_REGION or AWS_DEFAULT_REGION environment variable"
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
let modelId = model;
|
|
102
|
+
const hasRegionPrefix = model.startsWith("eu.") || model.startsWith("us.") || model.startsWith("global.");
|
|
103
|
+
if (!hasRegionPrefix) {
|
|
104
|
+
const prefix = region.startsWith("eu-") ? "eu." : "us.";
|
|
105
|
+
modelId = `${prefix}${model}`;
|
|
106
|
+
}
|
|
107
|
+
return (0, import_amazon_bedrock.createAmazonBedrock)({ region })(modelId);
|
|
108
|
+
}
|
|
109
|
+
// TODO: Add 'dexto' case (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
47
110
|
case "anthropic":
|
|
48
|
-
return (0, import_anthropic.createAnthropic)({ apiKey })(model);
|
|
111
|
+
return (0, import_anthropic.createAnthropic)({ apiKey: apiKey ?? "" })(model);
|
|
49
112
|
case "google":
|
|
50
|
-
return (0, import_google.createGoogleGenerativeAI)({ apiKey })(model);
|
|
113
|
+
return (0, import_google.createGoogleGenerativeAI)({ apiKey: apiKey ?? "" })(model);
|
|
51
114
|
case "groq":
|
|
52
|
-
return (0, import_groq.createGroq)({ apiKey })(model);
|
|
115
|
+
return (0, import_groq.createGroq)({ apiKey: apiKey ?? "" })(model);
|
|
53
116
|
case "xai":
|
|
54
|
-
return (0, import_xai.createXai)({ apiKey })(model);
|
|
117
|
+
return (0, import_xai.createXai)({ apiKey: apiKey ?? "" })(model);
|
|
55
118
|
case "cohere":
|
|
56
|
-
return (0, import_cohere.createCohere)({ apiKey })(model);
|
|
119
|
+
return (0, import_cohere.createCohere)({ apiKey: apiKey ?? "" })(model);
|
|
120
|
+
case "ollama": {
|
|
121
|
+
const baseURL = llmConfig.baseURL || "http://localhost:11434/v1";
|
|
122
|
+
return (0, import_openai.createOpenAI)({ apiKey: "ollama", baseURL }).chat(model);
|
|
123
|
+
}
|
|
124
|
+
case "local": {
|
|
125
|
+
return (0, import_ai_sdk_adapter.createLocalLanguageModel)({
|
|
126
|
+
modelId: model
|
|
127
|
+
});
|
|
128
|
+
}
|
|
57
129
|
default:
|
|
58
130
|
throw import_errors.LLMError.unsupportedProvider(provider);
|
|
59
131
|
}
|
|
@@ -67,8 +139,8 @@ function getOpenAICompatibleBaseURL(llmConfig) {
|
|
|
67
139
|
}
|
|
68
140
|
return "";
|
|
69
141
|
}
|
|
70
|
-
function createLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
|
|
71
|
-
const model =
|
|
142
|
+
function createLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger, compactionStrategy) {
|
|
143
|
+
const model = createVercelModel(config);
|
|
72
144
|
return new import_vercel.VercelLLMService(
|
|
73
145
|
toolManager,
|
|
74
146
|
model,
|
|
@@ -78,10 +150,12 @@ function createLLMService(config, toolManager, systemPromptManager, historyProvi
|
|
|
78
150
|
config,
|
|
79
151
|
sessionId,
|
|
80
152
|
resourceManager,
|
|
81
|
-
logger
|
|
153
|
+
logger,
|
|
154
|
+
compactionStrategy
|
|
82
155
|
);
|
|
83
156
|
}
|
|
84
157
|
// Annotate the CommonJS export names for ESM import in node:
|
|
85
158
|
0 && (module.exports = {
|
|
86
|
-
createLLMService
|
|
159
|
+
createLLMService,
|
|
160
|
+
createVercelModel
|
|
87
161
|
});
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
2
2
|
import { ValidatedLLMConfig } from '../schemas.js';
|
|
3
3
|
import { VercelLLMService } from './vercel.js';
|
|
4
|
+
import { LanguageModel } from 'ai';
|
|
4
5
|
import { SessionEventBus } from '../../events/index.js';
|
|
5
6
|
import type { IConversationHistoryProvider } from '../../session/history/types.js';
|
|
6
7
|
import type { SystemPromptManager } from '../../systemPrompt/manager.js';
|
|
7
8
|
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
9
|
+
export declare function createVercelModel(llmConfig: ValidatedLLMConfig): LanguageModel;
|
|
8
10
|
/**
|
|
9
11
|
* Create an LLM service instance using the Vercel AI SDK.
|
|
10
12
|
* All providers are routed through the unified Vercel service.
|
|
@@ -17,7 +19,8 @@ import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
|
17
19
|
* @param sessionId Session ID
|
|
18
20
|
* @param resourceManager Resource manager for blob storage and resource access
|
|
19
21
|
* @param logger Logger instance for dependency injection
|
|
22
|
+
* @param compactionStrategy Optional compaction strategy for context management
|
|
20
23
|
* @returns VercelLLMService instance
|
|
21
24
|
*/
|
|
22
|
-
export declare function createLLMService(config: ValidatedLLMConfig, toolManager: ToolManager, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger): VercelLLMService;
|
|
25
|
+
export declare function createLLMService(config: ValidatedLLMConfig, toolManager: ToolManager, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger, compactionStrategy?: import('../../context/compaction/types.js').ICompactionStrategy | null): VercelLLMService;
|
|
23
26
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/llm/services/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/llm/services/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,CAoJ9E;AAoBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe,EACnE,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,GAAG,IAAI,GAC5F,gBAAgB,CAelB"}
|
|
@@ -5,33 +5,104 @@ import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
|
5
5
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
6
6
|
import { createGroq } from "@ai-sdk/groq";
|
|
7
7
|
import { createXai } from "@ai-sdk/xai";
|
|
8
|
+
import { createVertex } from "@ai-sdk/google-vertex";
|
|
9
|
+
import { createVertexAnthropic } from "@ai-sdk/google-vertex/anthropic";
|
|
10
|
+
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
8
11
|
import { VercelLLMService } from "./vercel.js";
|
|
9
12
|
import { createCohere } from "@ai-sdk/cohere";
|
|
10
|
-
|
|
13
|
+
import { createLocalLanguageModel } from "../providers/local/ai-sdk-adapter.js";
|
|
14
|
+
import { requiresApiKey } from "../registry.js";
|
|
15
|
+
import { getPrimaryApiKeyEnvVar } from "../../utils/api-key-resolver.js";
|
|
16
|
+
function createVercelModel(llmConfig) {
|
|
11
17
|
const provider = llmConfig.provider;
|
|
12
18
|
const model = llmConfig.model;
|
|
13
19
|
const apiKey = llmConfig.apiKey;
|
|
20
|
+
if (requiresApiKey(provider) && !apiKey?.trim()) {
|
|
21
|
+
const envVar = getPrimaryApiKeyEnvVar(provider);
|
|
22
|
+
throw LLMError.apiKeyMissing(provider, envVar);
|
|
23
|
+
}
|
|
14
24
|
switch (provider.toLowerCase()) {
|
|
15
25
|
case "openai": {
|
|
16
|
-
return createOpenAI({ apiKey })(model);
|
|
26
|
+
return createOpenAI({ apiKey: apiKey ?? "" })(model);
|
|
17
27
|
}
|
|
18
28
|
case "openai-compatible": {
|
|
19
29
|
const baseURL = getOpenAICompatibleBaseURL(llmConfig);
|
|
20
30
|
if (!baseURL) {
|
|
21
31
|
throw LLMError.baseUrlMissing("openai-compatible");
|
|
22
32
|
}
|
|
23
|
-
return createOpenAI({ apiKey, baseURL }).chat(model);
|
|
33
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
34
|
+
}
|
|
35
|
+
case "openrouter": {
|
|
36
|
+
const baseURL = llmConfig.baseURL || "https://openrouter.ai/api/v1";
|
|
37
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
38
|
+
}
|
|
39
|
+
case "litellm": {
|
|
40
|
+
const baseURL = llmConfig.baseURL;
|
|
41
|
+
if (!baseURL) {
|
|
42
|
+
throw LLMError.baseUrlMissing("litellm");
|
|
43
|
+
}
|
|
44
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
45
|
+
}
|
|
46
|
+
case "glama": {
|
|
47
|
+
const baseURL = "https://glama.ai/api/gateway/openai/v1";
|
|
48
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
49
|
+
}
|
|
50
|
+
case "vertex": {
|
|
51
|
+
const projectId = process.env.GOOGLE_VERTEX_PROJECT;
|
|
52
|
+
if (!projectId) {
|
|
53
|
+
throw LLMError.missingConfig(
|
|
54
|
+
"vertex",
|
|
55
|
+
"GOOGLE_VERTEX_PROJECT environment variable"
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
const location = process.env.GOOGLE_VERTEX_LOCATION;
|
|
59
|
+
if (model.includes("claude")) {
|
|
60
|
+
return createVertexAnthropic({
|
|
61
|
+
project: projectId,
|
|
62
|
+
location: location || "us-east5"
|
|
63
|
+
})(model);
|
|
64
|
+
}
|
|
65
|
+
return createVertex({
|
|
66
|
+
project: projectId,
|
|
67
|
+
location: location || "us-central1"
|
|
68
|
+
})(model);
|
|
24
69
|
}
|
|
70
|
+
case "bedrock": {
|
|
71
|
+
const region = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;
|
|
72
|
+
if (!region) {
|
|
73
|
+
throw LLMError.missingConfig(
|
|
74
|
+
"bedrock",
|
|
75
|
+
"AWS_REGION or AWS_DEFAULT_REGION environment variable"
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
let modelId = model;
|
|
79
|
+
const hasRegionPrefix = model.startsWith("eu.") || model.startsWith("us.") || model.startsWith("global.");
|
|
80
|
+
if (!hasRegionPrefix) {
|
|
81
|
+
const prefix = region.startsWith("eu-") ? "eu." : "us.";
|
|
82
|
+
modelId = `${prefix}${model}`;
|
|
83
|
+
}
|
|
84
|
+
return createAmazonBedrock({ region })(modelId);
|
|
85
|
+
}
|
|
86
|
+
// TODO: Add 'dexto' case (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
25
87
|
case "anthropic":
|
|
26
|
-
return createAnthropic({ apiKey })(model);
|
|
88
|
+
return createAnthropic({ apiKey: apiKey ?? "" })(model);
|
|
27
89
|
case "google":
|
|
28
|
-
return createGoogleGenerativeAI({ apiKey })(model);
|
|
90
|
+
return createGoogleGenerativeAI({ apiKey: apiKey ?? "" })(model);
|
|
29
91
|
case "groq":
|
|
30
|
-
return createGroq({ apiKey })(model);
|
|
92
|
+
return createGroq({ apiKey: apiKey ?? "" })(model);
|
|
31
93
|
case "xai":
|
|
32
|
-
return createXai({ apiKey })(model);
|
|
94
|
+
return createXai({ apiKey: apiKey ?? "" })(model);
|
|
33
95
|
case "cohere":
|
|
34
|
-
return createCohere({ apiKey })(model);
|
|
96
|
+
return createCohere({ apiKey: apiKey ?? "" })(model);
|
|
97
|
+
case "ollama": {
|
|
98
|
+
const baseURL = llmConfig.baseURL || "http://localhost:11434/v1";
|
|
99
|
+
return createOpenAI({ apiKey: "ollama", baseURL }).chat(model);
|
|
100
|
+
}
|
|
101
|
+
case "local": {
|
|
102
|
+
return createLocalLanguageModel({
|
|
103
|
+
modelId: model
|
|
104
|
+
});
|
|
105
|
+
}
|
|
35
106
|
default:
|
|
36
107
|
throw LLMError.unsupportedProvider(provider);
|
|
37
108
|
}
|
|
@@ -45,8 +116,8 @@ function getOpenAICompatibleBaseURL(llmConfig) {
|
|
|
45
116
|
}
|
|
46
117
|
return "";
|
|
47
118
|
}
|
|
48
|
-
function createLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
|
|
49
|
-
const model =
|
|
119
|
+
function createLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger, compactionStrategy) {
|
|
120
|
+
const model = createVercelModel(config);
|
|
50
121
|
return new VercelLLMService(
|
|
51
122
|
toolManager,
|
|
52
123
|
model,
|
|
@@ -56,9 +127,11 @@ function createLLMService(config, toolManager, systemPromptManager, historyProvi
|
|
|
56
127
|
config,
|
|
57
128
|
sessionId,
|
|
58
129
|
resourceManager,
|
|
59
|
-
logger
|
|
130
|
+
logger,
|
|
131
|
+
compactionStrategy
|
|
60
132
|
);
|
|
61
133
|
}
|
|
62
134
|
export {
|
|
63
|
-
createLLMService
|
|
135
|
+
createLLMService,
|
|
136
|
+
createVercelModel
|
|
64
137
|
};
|
|
@@ -21,6 +21,7 @@ __export(test_utils_integration_exports, {
|
|
|
21
21
|
TestConfigs: () => TestConfigs,
|
|
22
22
|
cleanupTestEnvironment: () => cleanupTestEnvironment,
|
|
23
23
|
createTestEnvironment: () => createTestEnvironment,
|
|
24
|
+
providerRequiresApiKey: () => providerRequiresApiKey,
|
|
24
25
|
requiresApiKey: () => requiresApiKey
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(test_utils_integration_exports);
|
|
@@ -146,7 +147,7 @@ const TestConfigs = {
|
|
|
146
147
|
*/
|
|
147
148
|
createVercelConfig(provider = "openai", model) {
|
|
148
149
|
const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
149
|
-
if (!apiKey) {
|
|
150
|
+
if (!apiKey && providerRequiresApiKey(provider)) {
|
|
150
151
|
throw new Error(
|
|
151
152
|
`${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for Vercel integration tests with ${provider}`
|
|
152
153
|
);
|
|
@@ -158,7 +159,21 @@ const TestConfigs = {
|
|
|
158
159
|
groq: "llama-3.1-8b-instant",
|
|
159
160
|
xai: "grok-beta",
|
|
160
161
|
cohere: "command-r",
|
|
161
|
-
"openai-compatible": "gpt-5-mini"
|
|
162
|
+
"openai-compatible": "gpt-5-mini",
|
|
163
|
+
openrouter: "anthropic/claude-3.5-haiku",
|
|
164
|
+
// OpenRouter model format: provider/model
|
|
165
|
+
litellm: "gpt-4",
|
|
166
|
+
// LiteLLM model names follow the provider's convention
|
|
167
|
+
glama: "openai/gpt-4o",
|
|
168
|
+
// Glama model format: provider/model
|
|
169
|
+
vertex: "gemini-2.5-pro",
|
|
170
|
+
// Vertex AI uses ADC auth, not API keys
|
|
171
|
+
bedrock: "anthropic.claude-3-5-haiku-20241022-v1:0",
|
|
172
|
+
// Bedrock uses AWS credentials, not API keys
|
|
173
|
+
local: "llama-3.2-3b-q4",
|
|
174
|
+
// Native node-llama-cpp GGUF models
|
|
175
|
+
ollama: "llama3.2"
|
|
176
|
+
// Ollama server models
|
|
162
177
|
};
|
|
163
178
|
return {
|
|
164
179
|
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
@@ -198,6 +213,10 @@ const TestConfigs = {
|
|
|
198
213
|
};
|
|
199
214
|
}
|
|
200
215
|
};
|
|
216
|
+
function providerRequiresApiKey(provider) {
|
|
217
|
+
const envVars = import_api_key_resolver.PROVIDER_API_KEY_MAP[provider];
|
|
218
|
+
return envVars && envVars.length > 0;
|
|
219
|
+
}
|
|
201
220
|
function requiresApiKey(provider) {
|
|
202
221
|
return !!(0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
203
222
|
}
|
|
@@ -209,5 +228,6 @@ async function cleanupTestEnvironment(_env) {
|
|
|
209
228
|
TestConfigs,
|
|
210
229
|
cleanupTestEnvironment,
|
|
211
230
|
createTestEnvironment,
|
|
231
|
+
providerRequiresApiKey,
|
|
212
232
|
requiresApiKey
|
|
213
233
|
});
|
|
@@ -32,7 +32,13 @@ export declare const TestConfigs: {
|
|
|
32
32
|
readonly createVercelConfig: (provider?: LLMProvider, model?: string) => AgentConfig;
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
|
-
* Helper to
|
|
35
|
+
* Helper to check if a provider requires an API key
|
|
36
|
+
* Providers with empty arrays in PROVIDER_API_KEY_MAP don't require API keys (e.g., local, ollama, vertex)
|
|
37
|
+
*/
|
|
38
|
+
export declare function providerRequiresApiKey(provider: LLMProvider): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Helper to check if API key is available for a provider
|
|
41
|
+
* Used to skip tests when API keys are not configured
|
|
36
42
|
*/
|
|
37
43
|
export declare function requiresApiKey(provider: LLMProvider): boolean;
|
|
38
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.integration.d.ts","sourceRoot":"","sources":["../../../src/llm/services/test-utils.integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"test-utils.integration.d.ts","sourceRoot":"","sources":["../../../src/llm/services/test-utils.integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,WAAW,EACnB,SAAS,GAAE,MAAuB,GACnC,OAAO,CAAC,eAAe,CAAC,CAe1B;AAKD;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;uCACmB,WAAW;IA4CjC;;OAEG;0CACsB,WAAW;IA4CpC;;OAEG;6CAC0B,WAAW,UAAqB,MAAM,KAAG,WAAW;CA6D3E,CAAC;AAEX;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAGrE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import "../../chunk-PTJYTZNU.js";
|
|
2
2
|
import { DextoAgent } from "../../agent/DextoAgent.js";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
resolveApiKeyForProvider,
|
|
5
|
+
getPrimaryApiKeyEnvVar,
|
|
6
|
+
PROVIDER_API_KEY_MAP
|
|
7
|
+
} from "../../utils/api-key-resolver.js";
|
|
4
8
|
async function createTestEnvironment(config, sessionId = "test-session") {
|
|
5
9
|
const agent = new DextoAgent(config);
|
|
6
10
|
await agent.start();
|
|
@@ -121,7 +125,7 @@ const TestConfigs = {
|
|
|
121
125
|
*/
|
|
122
126
|
createVercelConfig(provider = "openai", model) {
|
|
123
127
|
const apiKey = resolveApiKeyForProvider(provider);
|
|
124
|
-
if (!apiKey) {
|
|
128
|
+
if (!apiKey && providerRequiresApiKey(provider)) {
|
|
125
129
|
throw new Error(
|
|
126
130
|
`${getPrimaryApiKeyEnvVar(provider)} environment variable is required for Vercel integration tests with ${provider}`
|
|
127
131
|
);
|
|
@@ -133,7 +137,21 @@ const TestConfigs = {
|
|
|
133
137
|
groq: "llama-3.1-8b-instant",
|
|
134
138
|
xai: "grok-beta",
|
|
135
139
|
cohere: "command-r",
|
|
136
|
-
"openai-compatible": "gpt-5-mini"
|
|
140
|
+
"openai-compatible": "gpt-5-mini",
|
|
141
|
+
openrouter: "anthropic/claude-3.5-haiku",
|
|
142
|
+
// OpenRouter model format: provider/model
|
|
143
|
+
litellm: "gpt-4",
|
|
144
|
+
// LiteLLM model names follow the provider's convention
|
|
145
|
+
glama: "openai/gpt-4o",
|
|
146
|
+
// Glama model format: provider/model
|
|
147
|
+
vertex: "gemini-2.5-pro",
|
|
148
|
+
// Vertex AI uses ADC auth, not API keys
|
|
149
|
+
bedrock: "anthropic.claude-3-5-haiku-20241022-v1:0",
|
|
150
|
+
// Bedrock uses AWS credentials, not API keys
|
|
151
|
+
local: "llama-3.2-3b-q4",
|
|
152
|
+
// Native node-llama-cpp GGUF models
|
|
153
|
+
ollama: "llama3.2"
|
|
154
|
+
// Ollama server models
|
|
137
155
|
};
|
|
138
156
|
return {
|
|
139
157
|
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
@@ -173,6 +191,10 @@ const TestConfigs = {
|
|
|
173
191
|
};
|
|
174
192
|
}
|
|
175
193
|
};
|
|
194
|
+
function providerRequiresApiKey(provider) {
|
|
195
|
+
const envVars = PROVIDER_API_KEY_MAP[provider];
|
|
196
|
+
return envVars && envVars.length > 0;
|
|
197
|
+
}
|
|
176
198
|
function requiresApiKey(provider) {
|
|
177
199
|
return !!resolveApiKeyForProvider(provider);
|
|
178
200
|
}
|
|
@@ -183,5 +205,6 @@ export {
|
|
|
183
205
|
TestConfigs,
|
|
184
206
|
cleanupTestEnvironment,
|
|
185
207
|
createTestEnvironment,
|
|
208
|
+
providerRequiresApiKey,
|
|
186
209
|
requiresApiKey
|
|
187
210
|
};
|
|
@@ -91,13 +91,14 @@ class VercelLLMService {
|
|
|
91
91
|
logger;
|
|
92
92
|
resourceManager;
|
|
93
93
|
messageQueue;
|
|
94
|
+
compactionStrategy;
|
|
94
95
|
/**
|
|
95
96
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
96
97
|
*/
|
|
97
98
|
getModelId() {
|
|
98
99
|
return typeof this.model === "string" ? this.model : this.model.modelId;
|
|
99
100
|
}
|
|
100
|
-
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
|
|
101
|
+
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger, compactionStrategy) {
|
|
101
102
|
this.logger = logger.createChild(import_types2.DextoLogComponent.LLM);
|
|
102
103
|
this.model = model;
|
|
103
104
|
this.config = config;
|
|
@@ -105,6 +106,7 @@ class VercelLLMService {
|
|
|
105
106
|
this.sessionEventBus = sessionEventBus;
|
|
106
107
|
this.sessionId = sessionId;
|
|
107
108
|
this.resourceManager = resourceManager;
|
|
109
|
+
this.compactionStrategy = compactionStrategy ?? null;
|
|
108
110
|
this.messageQueue = new import_message_queue.MessageQueueService(this.sessionEventBus, this.logger);
|
|
109
111
|
const formatter = new import_vercel.VercelMessageFormatter(this.logger);
|
|
110
112
|
const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config, this.logger);
|
|
@@ -147,7 +149,8 @@ class VercelLLMService {
|
|
|
147
149
|
this.messageQueue,
|
|
148
150
|
void 0,
|
|
149
151
|
// modelLimits - TurnExecutor will use defaults
|
|
150
|
-
externalSignal
|
|
152
|
+
externalSignal,
|
|
153
|
+
this.compactionStrategy
|
|
151
154
|
);
|
|
152
155
|
}
|
|
153
156
|
/**
|
|
@@ -18,7 +18,7 @@ import type { ContentInput } from '../../agent/types.js';
|
|
|
18
18
|
* - Tool execution with multimodal support
|
|
19
19
|
* - Streaming with llm:chunk events
|
|
20
20
|
* - Message persistence via StreamProcessor
|
|
21
|
-
* - Reactive
|
|
21
|
+
* - Reactive compaction on overflow
|
|
22
22
|
* - Tool output pruning
|
|
23
23
|
* - Message queue injection
|
|
24
24
|
*
|
|
@@ -35,11 +35,12 @@ export declare class VercelLLMService {
|
|
|
35
35
|
private logger;
|
|
36
36
|
private resourceManager;
|
|
37
37
|
private messageQueue;
|
|
38
|
+
private compactionStrategy;
|
|
38
39
|
/**
|
|
39
40
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
40
41
|
*/
|
|
41
42
|
private getModelId;
|
|
42
|
-
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: ResourceManager, logger: IDextoLogger);
|
|
43
|
+
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: ResourceManager, logger: IDextoLogger, compactionStrategy?: import('../../context/compaction/types.js').ICompactionStrategy | null);
|
|
43
44
|
getAllTools(): Promise<ToolSet>;
|
|
44
45
|
/**
|
|
45
46
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,kBAAkB,CAEf;IAEX;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,GAAG,IAAI;IAkC/F,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;OAOG;IACG,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAsDxF;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IA+B7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACH,eAAe,IAAI,mBAAmB;CAGzC"}
|
|
@@ -28,13 +28,14 @@ class VercelLLMService {
|
|
|
28
28
|
logger;
|
|
29
29
|
resourceManager;
|
|
30
30
|
messageQueue;
|
|
31
|
+
compactionStrategy;
|
|
31
32
|
/**
|
|
32
33
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
33
34
|
*/
|
|
34
35
|
getModelId() {
|
|
35
36
|
return typeof this.model === "string" ? this.model : this.model.modelId;
|
|
36
37
|
}
|
|
37
|
-
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
|
|
38
|
+
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger, compactionStrategy) {
|
|
38
39
|
this.logger = logger.createChild(DextoLogComponent.LLM);
|
|
39
40
|
this.model = model;
|
|
40
41
|
this.config = config;
|
|
@@ -42,6 +43,7 @@ class VercelLLMService {
|
|
|
42
43
|
this.sessionEventBus = sessionEventBus;
|
|
43
44
|
this.sessionId = sessionId;
|
|
44
45
|
this.resourceManager = resourceManager;
|
|
46
|
+
this.compactionStrategy = compactionStrategy ?? null;
|
|
45
47
|
this.messageQueue = new MessageQueueService(this.sessionEventBus, this.logger);
|
|
46
48
|
const formatter = new VercelMessageFormatter(this.logger);
|
|
47
49
|
const maxInputTokens = getEffectiveMaxInputTokens(config, this.logger);
|
|
@@ -84,7 +86,8 @@ class VercelLLMService {
|
|
|
84
86
|
this.messageQueue,
|
|
85
87
|
void 0,
|
|
86
88
|
// modelLimits - TurnExecutor will use defaults
|
|
87
|
-
externalSignal
|
|
89
|
+
externalSignal,
|
|
90
|
+
this.compactionStrategy
|
|
88
91
|
);
|
|
89
92
|
}
|
|
90
93
|
/**
|
package/dist/llm/types.cjs
CHANGED
|
@@ -29,7 +29,17 @@ const LLM_PROVIDERS = [
|
|
|
29
29
|
"google",
|
|
30
30
|
"groq",
|
|
31
31
|
"xai",
|
|
32
|
-
"cohere"
|
|
32
|
+
"cohere",
|
|
33
|
+
"openrouter",
|
|
34
|
+
"litellm",
|
|
35
|
+
"glama",
|
|
36
|
+
"vertex",
|
|
37
|
+
"bedrock",
|
|
38
|
+
"local",
|
|
39
|
+
// Native node-llama-cpp execution (GGUF models)
|
|
40
|
+
"ollama"
|
|
41
|
+
// Ollama server integration
|
|
42
|
+
// TODO: Add 'dexto' provider (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
33
43
|
];
|
|
34
44
|
const SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
|
|
35
45
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/llm/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LLM_PROVIDERS: readonly ["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere"];
|
|
1
|
+
export declare const LLM_PROVIDERS: readonly ["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama"];
|
|
2
2
|
export type LLMProvider = (typeof LLM_PROVIDERS)[number];
|
|
3
3
|
export declare const SUPPORTED_FILE_TYPES: readonly ["pdf", "image", "audio"];
|
|
4
4
|
export type SupportedFileType = (typeof SUPPORTED_FILE_TYPES)[number];
|
package/dist/llm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,oKAgBhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,oBAAoB,oCAAqC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACvB,mDAAmD;IACnD,QAAQ,EAAE,WAAW,CAAC;IAEtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/llm/types.js
CHANGED
|
@@ -6,7 +6,17 @@ const LLM_PROVIDERS = [
|
|
|
6
6
|
"google",
|
|
7
7
|
"groq",
|
|
8
8
|
"xai",
|
|
9
|
-
"cohere"
|
|
9
|
+
"cohere",
|
|
10
|
+
"openrouter",
|
|
11
|
+
"litellm",
|
|
12
|
+
"glama",
|
|
13
|
+
"vertex",
|
|
14
|
+
"bedrock",
|
|
15
|
+
"local",
|
|
16
|
+
// Native node-llama-cpp execution (GGUF models)
|
|
17
|
+
"ollama"
|
|
18
|
+
// Ollama server integration
|
|
19
|
+
// TODO: Add 'dexto' provider (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
10
20
|
];
|
|
11
21
|
const SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
|
|
12
22
|
export {
|
package/dist/mcp/manager.cjs
CHANGED
|
@@ -335,6 +335,14 @@ class MCPManager {
|
|
|
335
335
|
this.logger.silly(`MCP tools: ${JSON.stringify(allTools, null, 2)}`);
|
|
336
336
|
return allTools;
|
|
337
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Get all MCP tools with their server metadata.
|
|
340
|
+
* This returns the internal tool cache entries which include server names.
|
|
341
|
+
* @returns Map of tool names to their cache entries (includes serverName, client, and definition)
|
|
342
|
+
*/
|
|
343
|
+
getAllToolsWithServerInfo() {
|
|
344
|
+
return new Map(this.toolCache);
|
|
345
|
+
}
|
|
338
346
|
/**
|
|
339
347
|
* Parse a qualified tool name to extract server name and actual tool name.
|
|
340
348
|
* Uses distinctive delimiter to avoid ambiguity and splits on last occurrence.
|