@dexto/core 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -9
- package/dist/agent/DextoAgent.cjs +570 -210
- package/dist/agent/DextoAgent.d.ts +175 -35
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +568 -208
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +2 -1
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -1
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -1
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +6 -2
- package/dist/agent/schemas.cjs +90 -68
- package/dist/agent/schemas.d.ts +5998 -146
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +90 -65
- package/dist/agent/state-manager.cjs +5 -5
- package/dist/agent/state-manager.d.ts +4 -4
- package/dist/agent/state-manager.js +6 -6
- package/dist/agent/types.d.ts +24 -10
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.js +1 -1
- package/dist/approval/factory.js +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +234 -4
- package/dist/approval/manager.d.ts +131 -4
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +225 -5
- package/dist/approval/schemas.cjs +57 -7
- package/dist/approval/schemas.d.ts +344 -33
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +54 -8
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +32 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -1
- package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
- package/dist/context/compaction/factory.cjs +57 -0
- package/dist/context/compaction/factory.d.ts +17 -0
- package/dist/context/compaction/factory.d.ts.map +1 -0
- package/dist/context/compaction/factory.js +34 -0
- package/dist/context/compaction/index.cjs +49 -0
- package/dist/context/compaction/index.d.ts +11 -0
- package/dist/context/compaction/index.d.ts.map +1 -0
- package/dist/context/compaction/index.js +19 -0
- package/dist/context/compaction/overflow.cjs +43 -0
- package/dist/context/compaction/overflow.d.ts +33 -0
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/compaction/overflow.js +19 -0
- package/dist/context/compaction/provider.cjs +16 -0
- package/dist/context/compaction/provider.d.ts +48 -0
- package/dist/context/compaction/provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.cjs +48 -0
- package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
- package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.js +24 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
- package/dist/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
- package/dist/context/compaction/registry.d.ts +19 -0
- package/dist/context/compaction/registry.d.ts.map +1 -0
- package/dist/context/compaction/registry.js +16 -0
- package/dist/context/compaction/schemas.cjs +38 -0
- package/dist/context/compaction/schemas.d.ts +24 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -0
- package/dist/context/compaction/schemas.js +14 -0
- package/dist/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
- package/dist/context/compaction/strategies/noop.d.ts +18 -0
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
- package/dist/context/compaction/strategies/noop.js +13 -0
- package/dist/context/compaction/strategies/reactive-overflow.cjs +201 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
- package/dist/context/compaction/types.d.ts +20 -0
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/error-codes.cjs +7 -0
- package/dist/context/error-codes.d.ts +8 -1
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +8 -1
- package/dist/context/errors.cjs +68 -0
- package/dist/context/errors.d.ts +21 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +69 -1
- package/dist/context/index.cjs +3 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/manager.cjs +280 -323
- package/dist/context/manager.d.ts +65 -111
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +280 -328
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/types.cjs +49 -0
- package/dist/context/types.d.ts +187 -72
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +35 -0
- package/dist/context/utils.cjs +293 -290
- package/dist/context/utils.d.ts +32 -18
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +293 -290
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +3 -4
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +18 -1
- package/dist/events/index.d.ts +149 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +19 -2
- package/dist/filesystem/error-codes.js +1 -1
- package/dist/filesystem/errors.js +1 -1
- package/dist/filesystem/filesystem-service.cjs +39 -0
- package/dist/filesystem/filesystem-service.d.ts +32 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -1
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/index.js +1 -1
- package/dist/filesystem/path-validator.cjs +69 -1
- package/dist/filesystem/path-validator.d.ts +43 -2
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +70 -2
- package/dist/image/define-image.cjs +146 -0
- package/dist/image/define-image.d.ts +71 -0
- package/dist/image/define-image.d.ts.map +1 -0
- package/dist/image/define-image.js +121 -0
- package/dist/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
- package/dist/image/index.d.ts +53 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +7 -0
- package/dist/image/types.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.browser.cjs +23 -8
- package/dist/index.browser.d.ts +4 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +20 -3
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/llm/error-codes.cjs +1 -1
- package/dist/llm/error-codes.d.ts +1 -1
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +2 -2
- package/dist/llm/errors.cjs +34 -10
- package/dist/llm/errors.d.ts +23 -11
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +36 -12
- package/dist/llm/executor/stream-processor.cjs +375 -0
- package/dist/llm/executor/stream-processor.d.ts +55 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -0
- package/dist/llm/executor/stream-processor.js +352 -0
- package/dist/llm/executor/tool-output-truncator.cjs +75 -0
- package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
- package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
- package/dist/llm/executor/tool-output-truncator.js +48 -0
- package/dist/llm/executor/turn-executor.cjs +780 -0
- package/dist/llm/executor/turn-executor.d.ts +167 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -0
- package/dist/llm/executor/turn-executor.js +711 -0
- package/dist/llm/executor/types.cjs +16 -0
- package/dist/llm/executor/types.d.ts +27 -0
- package/dist/llm/executor/types.d.ts.map +1 -0
- package/dist/llm/executor/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +26 -188
- package/dist/llm/formatters/vercel.d.ts +2 -14
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +25 -187
- package/dist/llm/index.cjs +18 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +14 -0
- package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
- package/dist/llm/providers/local/downloader.cjs +291 -0
- package/dist/llm/providers/local/downloader.d.ts +82 -0
- package/dist/llm/providers/local/downloader.d.ts.map +1 -0
- package/dist/llm/providers/local/downloader.js +251 -0
- package/dist/llm/providers/local/error-codes.cjs +57 -0
- package/dist/llm/providers/local/error-codes.d.ts +66 -0
- package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
- package/dist/llm/providers/local/error-codes.js +34 -0
- package/dist/llm/providers/local/errors.cjs +240 -0
- package/dist/llm/providers/local/errors.d.ts +31 -0
- package/dist/llm/providers/local/errors.d.ts.map +1 -0
- package/dist/llm/providers/local/errors.js +217 -0
- package/dist/llm/providers/local/gpu-detector.cjs +214 -0
- package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
- package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
- package/dist/llm/providers/local/gpu-detector.js +178 -0
- package/dist/llm/providers/local/index.cjs +147 -0
- package/dist/llm/providers/local/index.d.ts +21 -0
- package/dist/llm/providers/local/index.d.ts.map +1 -0
- package/dist/llm/providers/local/index.js +126 -0
- package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/node-llama-provider.js +176 -0
- package/dist/llm/providers/local/ollama-provider.cjs +230 -0
- package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
- package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/ollama-provider.js +198 -0
- package/dist/llm/providers/local/registry.cjs +343 -0
- package/dist/llm/providers/local/registry.d.ts +51 -0
- package/dist/llm/providers/local/registry.d.ts.map +1 -0
- package/dist/llm/providers/local/registry.js +312 -0
- package/dist/llm/providers/local/schemas.cjs +169 -0
- package/dist/llm/providers/local/schemas.d.ts +395 -0
- package/dist/llm/providers/local/schemas.d.ts.map +1 -0
- package/dist/llm/providers/local/schemas.js +133 -0
- package/dist/llm/providers/local/types.cjs +16 -0
- package/dist/llm/providers/local/types.d.ts +219 -0
- package/dist/llm/providers/local/types.d.ts.map +1 -0
- package/dist/llm/providers/local/types.js +0 -0
- package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-model-registry.js +309 -0
- package/dist/llm/registry.cjs +569 -52
- package/dist/llm/registry.d.ts +79 -39
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +564 -49
- package/dist/llm/resolver.cjs +62 -34
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -38
- package/dist/llm/schemas.cjs +92 -97
- package/dist/llm/schemas.d.ts +162 -39
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +93 -100
- package/dist/llm/services/factory.cjs +88 -103
- package/dist/llm/services/factory.d.ts +17 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +87 -93
- package/dist/llm/services/test-utils.integration.cjs +28 -10
- package/dist/llm/services/test-utils.integration.d.ts +7 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +33 -12
- package/dist/llm/services/types.d.ts +1 -28
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +58 -469
- package/dist/llm/services/vercel.d.ts +39 -21
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +60 -476
- package/dist/llm/types.cjs +11 -4
- package/dist/llm/types.d.ts +9 -9
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +12 -4
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.cjs +34 -6
- package/dist/logger/v2/dexto-logger.d.ts +20 -2
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -7
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.cjs +70 -0
- package/dist/logger/v2/test-utils.d.ts +17 -0
- package/dist/logger/v2/test-utils.d.ts.map +1 -0
- package/dist/logger/v2/test-utils.js +46 -0
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.cjs +6 -0
- package/dist/logger/v2/transports/file-transport.d.ts +4 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.js +7 -1
- package/dist/logger/v2/types.cjs +1 -0
- package/dist/logger/v2/types.d.ts +18 -2
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +2 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -1
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +14 -1
- package/dist/mcp/manager.cjs +12 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +13 -1
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +1 -4
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.cjs +6 -0
- package/dist/mcp/schemas.d.ts +52 -0
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.js +1 -1
- package/dist/memory/schemas.d.ts +3 -3
- package/dist/memory/schemas.js +1 -1
- package/dist/plugins/builtins/content-policy.js +1 -1
- package/dist/plugins/builtins/response-sanitizer.js +1 -1
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +4 -1
- package/dist/plugins/index.cjs +7 -0
- package/dist/plugins/index.d.ts +4 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +7 -2
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/manager.cjs +92 -7
- package/dist/plugins/manager.d.ts +10 -3
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +93 -8
- package/dist/plugins/registrations/builtins.js +1 -1
- package/dist/plugins/registry.cjs +63 -0
- package/dist/plugins/registry.d.ts +101 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +39 -0
- package/dist/plugins/schemas.cjs +17 -5
- package/dist/plugins/schemas.d.ts +65 -8
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +16 -5
- package/dist/plugins/types.d.ts +0 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.js +1 -1
- package/dist/process/error-codes.js +1 -1
- package/dist/process/errors.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/process-service.cjs +78 -26
- package/dist/process/process-service.d.ts +6 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +79 -27
- package/dist/process/types.d.ts +2 -2
- package/dist/process/types.d.ts.map +1 -1
- package/dist/prompts/error-codes.cjs +1 -0
- package/dist/prompts/error-codes.d.ts +2 -1
- package/dist/prompts/error-codes.d.ts.map +1 -1
- package/dist/prompts/error-codes.js +2 -1
- package/dist/prompts/errors.cjs +15 -0
- package/dist/prompts/errors.d.ts +4 -0
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/errors.js +16 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +13 -2
- package/dist/prompts/prompt-manager.d.ts +7 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +14 -3
- package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +13 -4
- package/dist/prompts/providers/custom-prompt-provider.js +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.d.ts +12 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/providers/base-registry.cjs +147 -0
- package/dist/providers/base-registry.d.ts +147 -0
- package/dist/providers/base-registry.d.ts.map +1 -0
- package/dist/providers/base-registry.js +123 -0
- package/dist/providers/discovery.cjs +95 -0
- package/dist/providers/discovery.d.ts +94 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +70 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.js +1 -1
- package/dist/resources/handlers/factory.js +1 -1
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/internal-provider.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +4 -4
- package/dist/resources/schemas.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.js +1 -1
- package/dist/session/chat-session.cjs +169 -54
- package/dist/session/chat-session.d.ts +69 -29
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +171 -56
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/history/database.cjs +134 -21
- package/dist/session/history/database.d.ts +37 -8
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +135 -22
- package/dist/session/history/factory.js +1 -1
- package/dist/session/history/memory.cjs +18 -0
- package/dist/session/history/memory.d.ts +8 -0
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/memory.js +19 -1
- package/dist/session/history/types.d.ts +13 -1
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +3 -1
- package/dist/session/message-queue.cjs +201 -0
- package/dist/session/message-queue.d.ts +114 -0
- package/dist/session/message-queue.d.ts.map +1 -0
- package/dist/session/message-queue.js +178 -0
- package/dist/session/schemas.js +1 -1
- package/dist/session/session-manager.cjs +57 -7
- package/dist/session/session-manager.d.ts +18 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +58 -8
- package/dist/session/title-generator.cjs +4 -8
- package/dist/session/title-generator.d.ts +1 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +5 -9
- package/dist/session/types.cjs +16 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +0 -0
- package/dist/storage/blob/factory.cjs +8 -11
- package/dist/storage/blob/factory.d.ts +32 -6
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +9 -12
- package/dist/storage/blob/index.cjs +56 -0
- package/dist/storage/blob/index.d.ts +45 -0
- package/dist/storage/blob/index.d.ts.map +1 -0
- package/dist/storage/blob/index.js +30 -0
- package/dist/storage/blob/local-blob-store.js +1 -1
- package/dist/storage/blob/memory-blob-store.js +1 -1
- package/dist/storage/blob/provider.cjs +16 -0
- package/dist/storage/blob/provider.d.ts +50 -0
- package/dist/storage/blob/provider.d.ts.map +1 -0
- package/dist/storage/blob/provider.js +0 -0
- package/dist/storage/blob/providers/index.cjs +31 -0
- package/dist/storage/blob/providers/index.d.ts +8 -0
- package/dist/storage/blob/providers/index.d.ts.map +1 -0
- package/dist/storage/blob/providers/index.js +7 -0
- package/dist/storage/blob/providers/local.cjs +39 -0
- package/dist/storage/blob/providers/local.d.ts +17 -0
- package/dist/storage/blob/providers/local.d.ts.map +1 -0
- package/dist/storage/blob/providers/local.js +16 -0
- package/dist/storage/blob/providers/memory.cjs +39 -0
- package/dist/storage/blob/providers/memory.d.ts +17 -0
- package/dist/storage/blob/providers/memory.d.ts.map +1 -0
- package/dist/storage/blob/providers/memory.js +16 -0
- package/dist/storage/blob/registry.cjs +50 -0
- package/dist/storage/blob/registry.d.ts +42 -0
- package/dist/storage/blob/registry.d.ts.map +1 -0
- package/dist/storage/blob/registry.js +26 -0
- package/dist/storage/blob/schemas.cjs +9 -12
- package/dist/storage/blob/schemas.d.ts +39 -34
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +7 -12
- package/dist/storage/cache/factory.cjs +8 -36
- package/dist/storage/cache/factory.d.ts +32 -7
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +9 -27
- package/dist/storage/cache/index.cjs +53 -0
- package/dist/storage/cache/index.d.ts +44 -0
- package/dist/storage/cache/index.d.ts.map +1 -0
- package/dist/storage/cache/index.js +28 -0
- package/dist/storage/cache/memory-cache-store.js +1 -1
- package/dist/storage/cache/provider.cjs +16 -0
- package/dist/storage/cache/provider.d.ts +56 -0
- package/dist/storage/cache/provider.d.ts.map +1 -0
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.cjs +31 -0
- package/dist/storage/cache/providers/index.d.ts +8 -0
- package/dist/storage/cache/providers/index.d.ts.map +1 -0
- package/dist/storage/cache/providers/index.js +7 -0
- package/dist/storage/cache/providers/memory.cjs +40 -0
- package/dist/storage/cache/providers/memory.d.ts +17 -0
- package/dist/storage/cache/providers/memory.d.ts.map +1 -0
- package/dist/storage/cache/providers/memory.js +17 -0
- package/dist/storage/cache/providers/redis.cjs +66 -0
- package/dist/storage/cache/providers/redis.d.ts +20 -0
- package/dist/storage/cache/providers/redis.d.ts.map +1 -0
- package/dist/storage/cache/providers/redis.js +33 -0
- package/dist/storage/cache/redis-store.js +1 -1
- package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
- package/dist/storage/cache/registry.d.ts +42 -0
- package/dist/storage/cache/registry.d.ts.map +1 -0
- package/dist/storage/cache/registry.js +26 -0
- package/dist/storage/cache/schemas.cjs +6 -2
- package/dist/storage/cache/schemas.d.ts +2 -3
- package/dist/storage/cache/schemas.d.ts.map +1 -1
- package/dist/storage/cache/schemas.js +4 -2
- package/dist/storage/database/factory.cjs +8 -47
- package/dist/storage/database/factory.d.ts +34 -8
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -38
- package/dist/storage/database/index.cjs +58 -0
- package/dist/storage/database/index.d.ts +45 -0
- package/dist/storage/database/index.d.ts.map +1 -0
- package/dist/storage/database/index.js +37 -0
- package/dist/storage/database/memory-database-store.js +1 -1
- package/dist/storage/database/postgres-store.cjs +12 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +13 -1
- package/dist/storage/database/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +8 -2
- package/dist/storage/database/schemas.d.ts +3 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +5 -2
- package/dist/storage/database/sqlite-store.js +1 -1
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +7 -1
- package/dist/storage/errors.cjs +80 -0
- package/dist/storage/errors.d.ts +24 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +81 -1
- package/dist/storage/index.cjs +47 -4
- package/dist/storage/index.d.ts +34 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +33 -4
- package/dist/storage/schemas.cjs +4 -0
- package/dist/storage/schemas.d.ts +17 -50
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +6 -2
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +4 -4
- package/dist/systemPrompt/contributors.js +1 -1
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.cjs +7 -6
- package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +7 -6
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.cjs +2 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +3 -3
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +18 -18
- package/dist/systemPrompt/schemas.js +3 -3
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/tools/bash-pattern-utils.cjs +91 -0
- package/dist/tools/bash-pattern-utils.d.ts +58 -0
- package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
- package/dist/tools/bash-pattern-utils.js +64 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
- package/dist/tools/custom-tool-registry.cjs +64 -0
- package/dist/tools/custom-tool-registry.d.ts +120 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/display-types.cjs +60 -0
- package/dist/tools/display-types.d.ts +133 -0
- package/dist/tools/display-types.d.ts.map +1 -0
- package/dist/tools/display-types.js +32 -0
- package/dist/tools/error-codes.cjs +5 -0
- package/dist/tools/error-codes.d.ts +6 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +6 -1
- package/dist/tools/errors.cjs +71 -0
- package/dist/tools/errors.d.ts +33 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +72 -1
- package/dist/tools/index.cjs +15 -1
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -2
- package/dist/tools/internal-tools/constants.cjs +3 -9
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +4 -10
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
- package/dist/tools/internal-tools/provider.cjs +175 -31
- package/dist/tools/internal-tools/provider.d.ts +62 -14
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +176 -32
- package/dist/tools/internal-tools/registry.cjs +19 -43
- package/dist/tools/internal-tools/registry.d.ts +32 -11
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +20 -44
- package/dist/tools/schemas.cjs +36 -6
- package/dist/tools/schemas.d.ts +74 -5
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +30 -6
- package/dist/tools/tool-manager.cjs +279 -30
- package/dist/tools/tool-manager.d.ts +45 -4
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +284 -31
- package/dist/tools/types.d.ts +63 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +19 -1
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +20 -2
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
- package/dist/utils/defer.d.ts +63 -0
- package/dist/utils/defer.d.ts.map +1 -0
- package/dist/utils/defer.js +19 -0
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/index.cjs +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.cjs +18 -3
- package/dist/utils/redactor.d.ts +0 -7
- package/dist/utils/redactor.d.ts.map +1 -1
- package/dist/utils/redactor.js +19 -4
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema-metadata.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +15 -37
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +16 -38
- package/dist/utils/user-info.js +1 -1
- package/dist/utils/zod-schema-converter.js +1 -1
- package/package.json +10 -8
- package/dist/context/compression/middle-removal.cjs +0 -95
- package/dist/context/compression/middle-removal.d.ts +0 -47
- package/dist/context/compression/middle-removal.d.ts.map +0 -1
- package/dist/context/compression/middle-removal.js +0 -72
- package/dist/context/compression/oldest-removal.cjs +0 -83
- package/dist/context/compression/oldest-removal.d.ts +0 -42
- package/dist/context/compression/oldest-removal.d.ts.map +0 -1
- package/dist/context/compression/oldest-removal.js +0 -60
- package/dist/context/compression/types.d.ts +0 -18
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.cjs +0 -257
- package/dist/llm/formatters/anthropic.d.ts +0 -46
- package/dist/llm/formatters/anthropic.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.js +0 -239
- package/dist/llm/formatters/factory.cjs +0 -50
- package/dist/llm/formatters/factory.d.ts +0 -10
- package/dist/llm/formatters/factory.d.ts.map +0 -1
- package/dist/llm/formatters/factory.js +0 -27
- package/dist/llm/formatters/openai.cjs +0 -203
- package/dist/llm/formatters/openai.d.ts +0 -39
- package/dist/llm/formatters/openai.d.ts.map +0 -1
- package/dist/llm/formatters/openai.js +0 -184
- package/dist/llm/formatters/types.d.ts +0 -41
- package/dist/llm/formatters/types.d.ts.map +0 -1
- package/dist/llm/services/anthropic.cjs +0 -511
- package/dist/llm/services/anthropic.d.ts +0 -48
- package/dist/llm/services/anthropic.d.ts.map +0 -1
- package/dist/llm/services/anthropic.js +0 -447
- package/dist/llm/services/openai.cjs +0 -611
- package/dist/llm/services/openai.d.ts +0 -48
- package/dist/llm/services/openai.d.ts.map +0 -1
- package/dist/llm/services/openai.js +0 -547
- package/dist/llm/tokenizer/anthropic.d.ts +0 -19
- package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
- package/dist/llm/tokenizer/anthropic.js +0 -20
- package/dist/llm/tokenizer/default.d.ts +0 -14
- package/dist/llm/tokenizer/default.d.ts.map +0 -1
- package/dist/llm/tokenizer/default.js +0 -18
- package/dist/llm/tokenizer/factory.d.ts +0 -12
- package/dist/llm/tokenizer/factory.d.ts.map +0 -1
- package/dist/llm/tokenizer/factory.js +0 -21
- package/dist/llm/tokenizer/google.d.ts +0 -29
- package/dist/llm/tokenizer/google.d.ts.map +0 -1
- package/dist/llm/tokenizer/google.js +0 -29
- package/dist/llm/tokenizer/openai.cjs +0 -115
- package/dist/llm/tokenizer/openai.d.ts +0 -41
- package/dist/llm/tokenizer/openai.d.ts.map +0 -1
- package/dist/llm/tokenizer/openai.js +0 -91
- package/dist/llm/tokenizer/types.d.ts +0 -18
- package/dist/llm/tokenizer/types.d.ts.map +0 -1
- package/dist/llm/tokenizer/types.js +0 -10
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -73
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -62
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -39
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -48
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -55
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -32
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -33
- package/dist/utils/env-file.cjs +0 -118
- package/dist/utils/env-file.d.ts +0 -5
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -85
- /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
- /package/dist/context/{compression → compaction}/types.cjs +0 -0
- /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
- /package/dist/{llm/formatters → image}/types.cjs +0 -0
package/dist/llm/registry.cjs
CHANGED
|
@@ -22,23 +22,25 @@ __export(registry_exports, {
|
|
|
22
22
|
LLM_REGISTRY: () => LLM_REGISTRY,
|
|
23
23
|
MIME_TYPE_TO_FILE_TYPE: () => MIME_TYPE_TO_FILE_TYPE,
|
|
24
24
|
acceptsAnyModel: () => acceptsAnyModel,
|
|
25
|
+
calculateCost: () => calculateCost,
|
|
25
26
|
getAllSupportedModels: () => getAllSupportedModels,
|
|
26
27
|
getAllowedMimeTypes: () => getAllowedMimeTypes,
|
|
27
28
|
getDefaultModelForProvider: () => getDefaultModelForProvider,
|
|
28
29
|
getEffectiveMaxInputTokens: () => getEffectiveMaxInputTokens,
|
|
29
30
|
getMaxInputTokensForModel: () => getMaxInputTokensForModel,
|
|
31
|
+
getModelDisplayName: () => getModelDisplayName,
|
|
32
|
+
getModelPricing: () => getModelPricing,
|
|
30
33
|
getProviderFromModel: () => getProviderFromModel,
|
|
31
34
|
getSupportedFileTypesForModel: () => getSupportedFileTypesForModel,
|
|
32
35
|
getSupportedModels: () => getSupportedModels,
|
|
33
36
|
getSupportedProviders: () => getSupportedProviders,
|
|
34
|
-
getSupportedRoutersForModel: () => getSupportedRoutersForModel,
|
|
35
|
-
getSupportedRoutersForProvider: () => getSupportedRoutersForProvider,
|
|
36
|
-
isRouterSupportedForModel: () => isRouterSupportedForModel,
|
|
37
|
-
isRouterSupportedForProvider: () => isRouterSupportedForProvider,
|
|
38
37
|
isValidProviderModel: () => isValidProviderModel,
|
|
39
38
|
modelSupportsFileType: () => modelSupportsFileType,
|
|
39
|
+
requiresApiKey: () => requiresApiKey,
|
|
40
40
|
requiresBaseURL: () => requiresBaseURL,
|
|
41
|
+
stripBedrockRegionPrefix: () => stripBedrockRegionPrefix,
|
|
41
42
|
supportsBaseURL: () => supportsBaseURL,
|
|
43
|
+
supportsCustomModels: () => supportsCustomModels,
|
|
42
44
|
validateModelFileSupport: () => validateModelFileSupport
|
|
43
45
|
});
|
|
44
46
|
module.exports = __toCommonJS(registry_exports);
|
|
@@ -46,6 +48,7 @@ var import_errors = require("./errors.js");
|
|
|
46
48
|
var import_error_codes = require("./error-codes.js");
|
|
47
49
|
var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
|
|
48
50
|
var import_types = require("./types.js");
|
|
51
|
+
var import_openrouter_model_registry = require("./providers/openrouter-model-registry.js");
|
|
49
52
|
const MIME_TYPE_TO_FILE_TYPE = {
|
|
50
53
|
"application/pdf": "pdf",
|
|
51
54
|
"audio/mp3": "audio",
|
|
@@ -275,6 +278,7 @@ const LLM_REGISTRY = {
|
|
|
275
278
|
pricing: {
|
|
276
279
|
inputPerM: 2.5,
|
|
277
280
|
outputPerM: 10,
|
|
281
|
+
cacheReadPerM: 1.25,
|
|
278
282
|
currency: "USD",
|
|
279
283
|
unit: "per_million_tokens"
|
|
280
284
|
}
|
|
@@ -332,7 +336,6 @@ const LLM_REGISTRY = {
|
|
|
332
336
|
}
|
|
333
337
|
}
|
|
334
338
|
],
|
|
335
|
-
supportedRouters: ["vercel", "in-built"],
|
|
336
339
|
baseURLSupport: "none",
|
|
337
340
|
supportedFileTypes: []
|
|
338
341
|
// No defaults - models must explicitly specify support
|
|
@@ -340,10 +343,10 @@ const LLM_REGISTRY = {
|
|
|
340
343
|
"openai-compatible": {
|
|
341
344
|
models: [],
|
|
342
345
|
// Empty - accepts any model name for custom endpoints
|
|
343
|
-
supportedRouters: ["vercel", "in-built"],
|
|
344
346
|
baseURLSupport: "required",
|
|
345
|
-
supportedFileTypes: ["pdf", "image", "audio"]
|
|
347
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
346
348
|
// Allow all types for custom endpoints - user assumes responsibility for model capabilities
|
|
349
|
+
supportsCustomModels: true
|
|
347
350
|
},
|
|
348
351
|
anthropic: {
|
|
349
352
|
models: [
|
|
@@ -475,13 +478,26 @@ const LLM_REGISTRY = {
|
|
|
475
478
|
}
|
|
476
479
|
}
|
|
477
480
|
],
|
|
478
|
-
supportedRouters: ["vercel", "in-built"],
|
|
479
481
|
baseURLSupport: "none",
|
|
480
482
|
supportedFileTypes: []
|
|
481
483
|
// No defaults - models must explicitly specify support
|
|
482
484
|
},
|
|
483
485
|
google: {
|
|
484
486
|
models: [
|
|
487
|
+
{
|
|
488
|
+
name: "gemini-3-flash-preview",
|
|
489
|
+
displayName: "Gemini 3 Flash Preview",
|
|
490
|
+
maxInputTokens: 1048576,
|
|
491
|
+
default: true,
|
|
492
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
493
|
+
pricing: {
|
|
494
|
+
inputPerM: 0.5,
|
|
495
|
+
outputPerM: 3,
|
|
496
|
+
cacheReadPerM: 0.05,
|
|
497
|
+
currency: "USD",
|
|
498
|
+
unit: "per_million_tokens"
|
|
499
|
+
}
|
|
500
|
+
},
|
|
485
501
|
{
|
|
486
502
|
name: "gemini-3-pro-preview",
|
|
487
503
|
displayName: "Gemini 3 Pro Preview",
|
|
@@ -490,6 +506,7 @@ const LLM_REGISTRY = {
|
|
|
490
506
|
pricing: {
|
|
491
507
|
inputPerM: 2,
|
|
492
508
|
outputPerM: 12,
|
|
509
|
+
cacheReadPerM: 0.2,
|
|
493
510
|
currency: "USD",
|
|
494
511
|
unit: "per_million_tokens"
|
|
495
512
|
}
|
|
@@ -502,6 +519,7 @@ const LLM_REGISTRY = {
|
|
|
502
519
|
pricing: {
|
|
503
520
|
inputPerM: 2,
|
|
504
521
|
outputPerM: 120,
|
|
522
|
+
cacheReadPerM: 0.2,
|
|
505
523
|
currency: "USD",
|
|
506
524
|
unit: "per_million_tokens"
|
|
507
525
|
}
|
|
@@ -510,7 +528,6 @@ const LLM_REGISTRY = {
|
|
|
510
528
|
name: "gemini-2.5-pro",
|
|
511
529
|
displayName: "Gemini 2.5 Pro",
|
|
512
530
|
maxInputTokens: 1048576,
|
|
513
|
-
default: true,
|
|
514
531
|
supportedFileTypes: ["pdf", "image", "audio"],
|
|
515
532
|
pricing: {
|
|
516
533
|
inputPerM: 1.25,
|
|
@@ -528,6 +545,7 @@ const LLM_REGISTRY = {
|
|
|
528
545
|
pricing: {
|
|
529
546
|
inputPerM: 0.3,
|
|
530
547
|
outputPerM: 2.5,
|
|
548
|
+
cacheReadPerM: 0.03,
|
|
531
549
|
currency: "USD",
|
|
532
550
|
unit: "per_million_tokens"
|
|
533
551
|
}
|
|
@@ -567,12 +585,12 @@ const LLM_REGISTRY = {
|
|
|
567
585
|
pricing: {
|
|
568
586
|
inputPerM: 0.075,
|
|
569
587
|
outputPerM: 0.3,
|
|
588
|
+
cacheReadPerM: 0.01875,
|
|
570
589
|
currency: "USD",
|
|
571
590
|
unit: "per_million_tokens"
|
|
572
591
|
}
|
|
573
592
|
}
|
|
574
593
|
],
|
|
575
|
-
supportedRouters: ["vercel"],
|
|
576
594
|
baseURLSupport: "none",
|
|
577
595
|
supportedFileTypes: []
|
|
578
596
|
// No defaults - models must explicitly specify support
|
|
@@ -624,6 +642,7 @@ const LLM_REGISTRY = {
|
|
|
624
642
|
pricing: {
|
|
625
643
|
inputPerM: 1,
|
|
626
644
|
outputPerM: 3,
|
|
645
|
+
cacheReadPerM: 0.5,
|
|
627
646
|
currency: "USD",
|
|
628
647
|
unit: "per_million_tokens"
|
|
629
648
|
}
|
|
@@ -690,7 +709,6 @@ const LLM_REGISTRY = {
|
|
|
690
709
|
}
|
|
691
710
|
}
|
|
692
711
|
],
|
|
693
|
-
supportedRouters: ["vercel"],
|
|
694
712
|
baseURLSupport: "none",
|
|
695
713
|
supportedFileTypes: []
|
|
696
714
|
// Groq currently doesn't support file uploads
|
|
@@ -753,7 +771,6 @@ const LLM_REGISTRY = {
|
|
|
753
771
|
}
|
|
754
772
|
}
|
|
755
773
|
],
|
|
756
|
-
supportedRouters: ["vercel"],
|
|
757
774
|
baseURLSupport: "none",
|
|
758
775
|
supportedFileTypes: []
|
|
759
776
|
// XAI currently doesn't support file uploads
|
|
@@ -811,12 +828,465 @@ const LLM_REGISTRY = {
|
|
|
811
828
|
}
|
|
812
829
|
}
|
|
813
830
|
],
|
|
814
|
-
supportedRouters: ["vercel"],
|
|
815
831
|
baseURLSupport: "none",
|
|
816
832
|
supportedFileTypes: []
|
|
817
833
|
// Cohere currently doesn't support file uploads
|
|
834
|
+
},
|
|
835
|
+
// https://openrouter.ai/docs
|
|
836
|
+
// OpenRouter is a unified API gateway providing access to 100+ models from various providers.
|
|
837
|
+
// Model validation is handled dynamically via openrouter-model-registry.ts
|
|
838
|
+
openrouter: {
|
|
839
|
+
models: [],
|
|
840
|
+
// Empty - accepts any model name (validated against OpenRouter's catalog)
|
|
841
|
+
baseURLSupport: "none",
|
|
842
|
+
// Fixed endpoint - baseURL auto-injected in resolver, no user override allowed
|
|
843
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
844
|
+
// Allow all types - user assumes responsibility for model capabilities
|
|
845
|
+
supportsCustomModels: true
|
|
846
|
+
},
|
|
847
|
+
// https://docs.litellm.ai/
|
|
848
|
+
// LiteLLM is an OpenAI-compatible proxy that unifies 100+ LLM providers.
|
|
849
|
+
// User must host their own LiteLLM proxy and provide the baseURL.
|
|
850
|
+
litellm: {
|
|
851
|
+
models: [],
|
|
852
|
+
// Empty - accepts any model name (user's proxy determines available models)
|
|
853
|
+
baseURLSupport: "required",
|
|
854
|
+
// User must provide their LiteLLM proxy URL
|
|
855
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
856
|
+
// Allow all types - user assumes responsibility for model capabilities
|
|
857
|
+
supportsCustomModels: true
|
|
858
|
+
},
|
|
859
|
+
// https://glama.ai/
|
|
860
|
+
// Glama is an OpenAI-compatible gateway providing unified access to multiple LLM providers.
|
|
861
|
+
// Fixed endpoint: https://glama.ai/api/gateway/openai/v1
|
|
862
|
+
glama: {
|
|
863
|
+
models: [],
|
|
864
|
+
// Empty - accepts any model name (format: provider/model e.g., openai/gpt-4o)
|
|
865
|
+
baseURLSupport: "none",
|
|
866
|
+
// Fixed endpoint - baseURL auto-injected
|
|
867
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
868
|
+
// Allow all types - user assumes responsibility for model capabilities
|
|
869
|
+
supportsCustomModels: true
|
|
870
|
+
},
|
|
871
|
+
// https://cloud.google.com/vertex-ai
|
|
872
|
+
// Google Vertex AI - GCP-hosted gateway for Gemini and Claude models
|
|
873
|
+
// Supports both Google's Gemini models and Anthropic's Claude via partnership
|
|
874
|
+
//
|
|
875
|
+
// Setup instructions:
|
|
876
|
+
// 1. Create a Google Cloud account and project
|
|
877
|
+
// 2. Enable the Vertex AI API: gcloud services enable aiplatform.googleapis.com
|
|
878
|
+
// 3. Enable desired Claude models (requires Anthropic Model Garden)
|
|
879
|
+
// 4. Install Google Cloud CLI: https://cloud.google.com/sdk/docs/install
|
|
880
|
+
// 5. Configure ADC: gcloud auth application-default login
|
|
881
|
+
// 6. Set env vars: GOOGLE_VERTEX_PROJECT (required), GOOGLE_VERTEX_LOCATION (optional)
|
|
882
|
+
//
|
|
883
|
+
// TODO: Add dynamic model fetching via publishers.models.list API
|
|
884
|
+
// - Requires: projectId, region, ADC auth
|
|
885
|
+
// - Endpoints: GET projects/{project}/locations/{location}/publishers/{google,anthropic}/models
|
|
886
|
+
// - Note: API doesn't return aliases (e.g., gemini-2.0-flash), only versioned IDs
|
|
887
|
+
// - Docs: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.models/list
|
|
888
|
+
// - Models: https://cloud.google.com/vertex-ai/generative-ai/docs/models
|
|
889
|
+
vertex: {
|
|
890
|
+
models: [
|
|
891
|
+
// Gemini 3 models on Vertex AI (Preview)
|
|
892
|
+
{
|
|
893
|
+
name: "gemini-3-flash-preview",
|
|
894
|
+
displayName: "Gemini 3 Flash (Vertex)",
|
|
895
|
+
maxInputTokens: 1048576,
|
|
896
|
+
default: true,
|
|
897
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
898
|
+
pricing: {
|
|
899
|
+
inputPerM: 0.5,
|
|
900
|
+
outputPerM: 3,
|
|
901
|
+
cacheReadPerM: 0.05,
|
|
902
|
+
currency: "USD",
|
|
903
|
+
unit: "per_million_tokens"
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
name: "gemini-3-pro-preview",
|
|
908
|
+
displayName: "Gemini 3 Pro (Vertex)",
|
|
909
|
+
maxInputTokens: 1048576,
|
|
910
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
911
|
+
pricing: {
|
|
912
|
+
inputPerM: 2,
|
|
913
|
+
outputPerM: 12,
|
|
914
|
+
cacheReadPerM: 0.2,
|
|
915
|
+
currency: "USD",
|
|
916
|
+
unit: "per_million_tokens"
|
|
917
|
+
}
|
|
918
|
+
},
|
|
919
|
+
// Gemini 2.x models on Vertex AI
|
|
920
|
+
{
|
|
921
|
+
name: "gemini-2.5-pro",
|
|
922
|
+
displayName: "Gemini 2.5 Pro (Vertex)",
|
|
923
|
+
maxInputTokens: 1048576,
|
|
924
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
925
|
+
pricing: {
|
|
926
|
+
inputPerM: 1.25,
|
|
927
|
+
outputPerM: 10,
|
|
928
|
+
cacheReadPerM: 0.31,
|
|
929
|
+
currency: "USD",
|
|
930
|
+
unit: "per_million_tokens"
|
|
931
|
+
}
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
name: "gemini-2.5-flash",
|
|
935
|
+
displayName: "Gemini 2.5 Flash (Vertex)",
|
|
936
|
+
maxInputTokens: 1048576,
|
|
937
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
938
|
+
pricing: {
|
|
939
|
+
inputPerM: 0.15,
|
|
940
|
+
outputPerM: 0.6,
|
|
941
|
+
cacheReadPerM: 0.0375,
|
|
942
|
+
currency: "USD",
|
|
943
|
+
unit: "per_million_tokens"
|
|
944
|
+
}
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
name: "gemini-2.0-flash",
|
|
948
|
+
displayName: "Gemini 2.0 Flash (Vertex)",
|
|
949
|
+
maxInputTokens: 1048576,
|
|
950
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
951
|
+
pricing: {
|
|
952
|
+
inputPerM: 0.1,
|
|
953
|
+
outputPerM: 0.4,
|
|
954
|
+
cacheReadPerM: 0.025,
|
|
955
|
+
currency: "USD",
|
|
956
|
+
unit: "per_million_tokens"
|
|
957
|
+
}
|
|
958
|
+
},
|
|
959
|
+
// Claude 4.5 models on Vertex AI (via Anthropic partnership)
|
|
960
|
+
// Note: Claude model IDs use @ suffix format on Vertex
|
|
961
|
+
{
|
|
962
|
+
name: "claude-opus-4-5@20251101",
|
|
963
|
+
displayName: "Claude 4.5 Opus (Vertex)",
|
|
964
|
+
maxInputTokens: 2e5,
|
|
965
|
+
supportedFileTypes: ["pdf", "image"],
|
|
966
|
+
pricing: {
|
|
967
|
+
inputPerM: 5,
|
|
968
|
+
outputPerM: 25,
|
|
969
|
+
cacheWritePerM: 6.25,
|
|
970
|
+
cacheReadPerM: 0.5,
|
|
971
|
+
currency: "USD",
|
|
972
|
+
unit: "per_million_tokens"
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
name: "claude-sonnet-4-5@20250929",
|
|
977
|
+
displayName: "Claude 4.5 Sonnet (Vertex)",
|
|
978
|
+
maxInputTokens: 2e5,
|
|
979
|
+
supportedFileTypes: ["pdf", "image"],
|
|
980
|
+
pricing: {
|
|
981
|
+
inputPerM: 3,
|
|
982
|
+
outputPerM: 15,
|
|
983
|
+
cacheWritePerM: 3.75,
|
|
984
|
+
cacheReadPerM: 0.3,
|
|
985
|
+
currency: "USD",
|
|
986
|
+
unit: "per_million_tokens"
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
name: "claude-haiku-4-5@20251001",
|
|
991
|
+
displayName: "Claude 4.5 Haiku (Vertex)",
|
|
992
|
+
maxInputTokens: 2e5,
|
|
993
|
+
supportedFileTypes: ["pdf", "image"],
|
|
994
|
+
pricing: {
|
|
995
|
+
inputPerM: 1,
|
|
996
|
+
outputPerM: 5,
|
|
997
|
+
cacheWritePerM: 1.25,
|
|
998
|
+
cacheReadPerM: 0.1,
|
|
999
|
+
currency: "USD",
|
|
1000
|
+
unit: "per_million_tokens"
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
// Claude 4.1 and 4.0 models on Vertex AI
|
|
1004
|
+
{
|
|
1005
|
+
name: "claude-opus-4-1@20250805",
|
|
1006
|
+
displayName: "Claude 4.1 Opus (Vertex)",
|
|
1007
|
+
maxInputTokens: 2e5,
|
|
1008
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1009
|
+
pricing: {
|
|
1010
|
+
inputPerM: 15,
|
|
1011
|
+
outputPerM: 75,
|
|
1012
|
+
cacheWritePerM: 18.75,
|
|
1013
|
+
cacheReadPerM: 1.5,
|
|
1014
|
+
currency: "USD",
|
|
1015
|
+
unit: "per_million_tokens"
|
|
1016
|
+
}
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
name: "claude-opus-4@20250514",
|
|
1020
|
+
displayName: "Claude 4 Opus (Vertex)",
|
|
1021
|
+
maxInputTokens: 2e5,
|
|
1022
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1023
|
+
pricing: {
|
|
1024
|
+
inputPerM: 15,
|
|
1025
|
+
outputPerM: 75,
|
|
1026
|
+
cacheWritePerM: 18.75,
|
|
1027
|
+
cacheReadPerM: 1.5,
|
|
1028
|
+
currency: "USD",
|
|
1029
|
+
unit: "per_million_tokens"
|
|
1030
|
+
}
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
name: "claude-sonnet-4@20250514",
|
|
1034
|
+
displayName: "Claude 4 Sonnet (Vertex)",
|
|
1035
|
+
maxInputTokens: 2e5,
|
|
1036
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1037
|
+
pricing: {
|
|
1038
|
+
inputPerM: 3,
|
|
1039
|
+
outputPerM: 15,
|
|
1040
|
+
cacheWritePerM: 3.75,
|
|
1041
|
+
cacheReadPerM: 0.3,
|
|
1042
|
+
currency: "USD",
|
|
1043
|
+
unit: "per_million_tokens"
|
|
1044
|
+
}
|
|
1045
|
+
},
|
|
1046
|
+
// Claude 3.x models on Vertex AI
|
|
1047
|
+
{
|
|
1048
|
+
name: "claude-3-7-sonnet@20250219",
|
|
1049
|
+
displayName: "Claude 3.7 Sonnet (Vertex)",
|
|
1050
|
+
maxInputTokens: 2e5,
|
|
1051
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1052
|
+
pricing: {
|
|
1053
|
+
inputPerM: 3,
|
|
1054
|
+
outputPerM: 15,
|
|
1055
|
+
cacheWritePerM: 3.75,
|
|
1056
|
+
cacheReadPerM: 0.3,
|
|
1057
|
+
currency: "USD",
|
|
1058
|
+
unit: "per_million_tokens"
|
|
1059
|
+
}
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
name: "claude-3-5-sonnet-v2@20241022",
|
|
1063
|
+
displayName: "Claude 3.5 Sonnet v2 (Vertex)",
|
|
1064
|
+
maxInputTokens: 2e5,
|
|
1065
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1066
|
+
pricing: {
|
|
1067
|
+
inputPerM: 3,
|
|
1068
|
+
outputPerM: 15,
|
|
1069
|
+
cacheWritePerM: 3.75,
|
|
1070
|
+
cacheReadPerM: 0.3,
|
|
1071
|
+
currency: "USD",
|
|
1072
|
+
unit: "per_million_tokens"
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
name: "claude-3-5-haiku@20241022",
|
|
1077
|
+
displayName: "Claude 3.5 Haiku (Vertex)",
|
|
1078
|
+
maxInputTokens: 2e5,
|
|
1079
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1080
|
+
pricing: {
|
|
1081
|
+
inputPerM: 0.8,
|
|
1082
|
+
outputPerM: 4,
|
|
1083
|
+
cacheWritePerM: 1,
|
|
1084
|
+
cacheReadPerM: 0.08,
|
|
1085
|
+
currency: "USD",
|
|
1086
|
+
unit: "per_million_tokens"
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
baseURLSupport: "none",
|
|
1091
|
+
// Auto-constructed from projectId and region
|
|
1092
|
+
supportedFileTypes: ["pdf", "image", "audio"]
|
|
1093
|
+
},
|
|
1094
|
+
// Amazon Bedrock - AWS-hosted gateway for Claude, Nova, and more
|
|
1095
|
+
// Auth: AWS credentials (env vars) or Bedrock API key (AWS_BEARER_TOKEN_BEDROCK)
|
|
1096
|
+
//
|
|
1097
|
+
// Cross-region inference: Auto-added for anthropic.* and amazon.* models
|
|
1098
|
+
// supportsCustomModels: true allows users to add custom model IDs beyond the fixed list
|
|
1099
|
+
bedrock: {
|
|
1100
|
+
supportsCustomModels: true,
|
|
1101
|
+
models: [
|
|
1102
|
+
// Claude 4.5 models (latest)
|
|
1103
|
+
{
|
|
1104
|
+
name: "anthropic.claude-sonnet-4-5-20250929-v1:0",
|
|
1105
|
+
displayName: "Claude 4.5 Sonnet",
|
|
1106
|
+
maxInputTokens: 2e5,
|
|
1107
|
+
default: true,
|
|
1108
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1109
|
+
pricing: {
|
|
1110
|
+
inputPerM: 3,
|
|
1111
|
+
outputPerM: 15,
|
|
1112
|
+
cacheWritePerM: 3.75,
|
|
1113
|
+
cacheReadPerM: 0.3,
|
|
1114
|
+
currency: "USD",
|
|
1115
|
+
unit: "per_million_tokens"
|
|
1116
|
+
}
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
name: "anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
1120
|
+
displayName: "Claude 4.5 Haiku",
|
|
1121
|
+
maxInputTokens: 2e5,
|
|
1122
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1123
|
+
pricing: {
|
|
1124
|
+
inputPerM: 1,
|
|
1125
|
+
outputPerM: 5,
|
|
1126
|
+
cacheWritePerM: 1.25,
|
|
1127
|
+
cacheReadPerM: 0.1,
|
|
1128
|
+
currency: "USD",
|
|
1129
|
+
unit: "per_million_tokens"
|
|
1130
|
+
}
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
name: "anthropic.claude-opus-4-5-20251101-v1:0",
|
|
1134
|
+
displayName: "Claude 4.5 Opus",
|
|
1135
|
+
maxInputTokens: 2e5,
|
|
1136
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1137
|
+
pricing: {
|
|
1138
|
+
inputPerM: 5,
|
|
1139
|
+
outputPerM: 25,
|
|
1140
|
+
cacheWritePerM: 6.25,
|
|
1141
|
+
cacheReadPerM: 0.5,
|
|
1142
|
+
currency: "USD",
|
|
1143
|
+
unit: "per_million_tokens"
|
|
1144
|
+
}
|
|
1145
|
+
},
|
|
1146
|
+
// Amazon Nova models
|
|
1147
|
+
{
|
|
1148
|
+
name: "amazon.nova-premier-v1:0",
|
|
1149
|
+
displayName: "Nova Premier",
|
|
1150
|
+
maxInputTokens: 1e6,
|
|
1151
|
+
supportedFileTypes: ["image"],
|
|
1152
|
+
pricing: {
|
|
1153
|
+
inputPerM: 2.5,
|
|
1154
|
+
outputPerM: 12.5,
|
|
1155
|
+
currency: "USD",
|
|
1156
|
+
unit: "per_million_tokens"
|
|
1157
|
+
}
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
name: "amazon.nova-pro-v1:0",
|
|
1161
|
+
displayName: "Nova Pro",
|
|
1162
|
+
maxInputTokens: 3e5,
|
|
1163
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1164
|
+
pricing: {
|
|
1165
|
+
inputPerM: 0.8,
|
|
1166
|
+
outputPerM: 3.2,
|
|
1167
|
+
cacheReadPerM: 0.2,
|
|
1168
|
+
currency: "USD",
|
|
1169
|
+
unit: "per_million_tokens"
|
|
1170
|
+
}
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
name: "amazon.nova-lite-v1:0",
|
|
1174
|
+
displayName: "Nova Lite",
|
|
1175
|
+
maxInputTokens: 3e5,
|
|
1176
|
+
supportedFileTypes: ["pdf", "image"],
|
|
1177
|
+
pricing: {
|
|
1178
|
+
inputPerM: 0.06,
|
|
1179
|
+
outputPerM: 0.24,
|
|
1180
|
+
cacheReadPerM: 0.015,
|
|
1181
|
+
currency: "USD",
|
|
1182
|
+
unit: "per_million_tokens"
|
|
1183
|
+
}
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
name: "amazon.nova-micro-v1:0",
|
|
1187
|
+
displayName: "Nova Micro",
|
|
1188
|
+
maxInputTokens: 128e3,
|
|
1189
|
+
supportedFileTypes: [],
|
|
1190
|
+
pricing: {
|
|
1191
|
+
inputPerM: 0.035,
|
|
1192
|
+
outputPerM: 0.14,
|
|
1193
|
+
cacheReadPerM: 875e-5,
|
|
1194
|
+
currency: "USD",
|
|
1195
|
+
unit: "per_million_tokens"
|
|
1196
|
+
}
|
|
1197
|
+
},
|
|
1198
|
+
// OpenAI GPT-OSS
|
|
1199
|
+
{
|
|
1200
|
+
name: "openai.gpt-oss-120b-1:0",
|
|
1201
|
+
displayName: "GPT-OSS 120B",
|
|
1202
|
+
maxInputTokens: 128e3,
|
|
1203
|
+
supportedFileTypes: [],
|
|
1204
|
+
pricing: {
|
|
1205
|
+
inputPerM: 0.15,
|
|
1206
|
+
outputPerM: 0.6,
|
|
1207
|
+
currency: "USD",
|
|
1208
|
+
unit: "per_million_tokens"
|
|
1209
|
+
}
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
name: "openai.gpt-oss-20b-1:0",
|
|
1213
|
+
displayName: "GPT-OSS 20B",
|
|
1214
|
+
maxInputTokens: 128e3,
|
|
1215
|
+
supportedFileTypes: [],
|
|
1216
|
+
pricing: {
|
|
1217
|
+
inputPerM: 0.07,
|
|
1218
|
+
outputPerM: 0.3,
|
|
1219
|
+
currency: "USD",
|
|
1220
|
+
unit: "per_million_tokens"
|
|
1221
|
+
}
|
|
1222
|
+
},
|
|
1223
|
+
// Qwen
|
|
1224
|
+
{
|
|
1225
|
+
name: "qwen.qwen3-coder-30b-a3b-v1:0",
|
|
1226
|
+
displayName: "Qwen3 Coder 30B",
|
|
1227
|
+
maxInputTokens: 262144,
|
|
1228
|
+
supportedFileTypes: [],
|
|
1229
|
+
pricing: {
|
|
1230
|
+
inputPerM: 0.15,
|
|
1231
|
+
outputPerM: 0.6,
|
|
1232
|
+
currency: "USD",
|
|
1233
|
+
unit: "per_million_tokens"
|
|
1234
|
+
}
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
name: "qwen.qwen3-coder-480b-a35b-v1:0",
|
|
1238
|
+
displayName: "Qwen3 Coder 480B",
|
|
1239
|
+
maxInputTokens: 262144,
|
|
1240
|
+
supportedFileTypes: [],
|
|
1241
|
+
pricing: {
|
|
1242
|
+
inputPerM: 0.22,
|
|
1243
|
+
outputPerM: 1.8,
|
|
1244
|
+
currency: "USD",
|
|
1245
|
+
unit: "per_million_tokens"
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
],
|
|
1249
|
+
baseURLSupport: "none",
|
|
1250
|
+
// Auto-constructed from region
|
|
1251
|
+
supportedFileTypes: ["pdf", "image"]
|
|
1252
|
+
},
|
|
1253
|
+
// Native local model execution via node-llama-cpp
|
|
1254
|
+
// Runs GGUF models directly on the machine using Metal/CUDA/Vulkan acceleration
|
|
1255
|
+
// Models are downloaded from HuggingFace and stored in ~/.dexto/models/
|
|
1256
|
+
local: {
|
|
1257
|
+
models: [],
|
|
1258
|
+
// Populated dynamically from local model registry
|
|
1259
|
+
baseURLSupport: "none",
|
|
1260
|
+
// No external server needed
|
|
1261
|
+
supportedFileTypes: ["image"],
|
|
1262
|
+
// Vision support depends on model capabilities
|
|
1263
|
+
supportsCustomModels: true
|
|
1264
|
+
// Allow any GGUF model path
|
|
1265
|
+
},
|
|
1266
|
+
// Ollama server integration
|
|
1267
|
+
// Uses Ollama's OpenAI-compatible API for local model inference
|
|
1268
|
+
// Requires Ollama to be installed and running (default: http://localhost:11434)
|
|
1269
|
+
ollama: {
|
|
1270
|
+
models: [],
|
|
1271
|
+
// Populated dynamically from Ollama API
|
|
1272
|
+
baseURLSupport: "optional",
|
|
1273
|
+
// Default: http://localhost:11434, can be customized
|
|
1274
|
+
supportedFileTypes: ["image"],
|
|
1275
|
+
// Vision support depends on model
|
|
1276
|
+
supportsCustomModels: true
|
|
1277
|
+
// Accept any Ollama model name
|
|
818
1278
|
}
|
|
1279
|
+
// TODO: Add 'dexto' provider (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
819
1280
|
};
|
|
1281
|
+
function stripBedrockRegionPrefix(model) {
|
|
1282
|
+
if (model.startsWith("eu.") || model.startsWith("us.")) {
|
|
1283
|
+
return model.slice(3);
|
|
1284
|
+
}
|
|
1285
|
+
if (model.startsWith("global.")) {
|
|
1286
|
+
return model.slice(7);
|
|
1287
|
+
}
|
|
1288
|
+
return model;
|
|
1289
|
+
}
|
|
820
1290
|
function getDefaultModelForProvider(provider) {
|
|
821
1291
|
const providerInfo = LLM_REGISTRY[provider];
|
|
822
1292
|
return providerInfo.models.find((m) => m.default)?.name || null;
|
|
@@ -830,7 +1300,8 @@ function getSupportedModels(provider) {
|
|
|
830
1300
|
}
|
|
831
1301
|
function getMaxInputTokensForModel(provider, model, logger) {
|
|
832
1302
|
const providerInfo = LLM_REGISTRY[provider];
|
|
833
|
-
const
|
|
1303
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
1304
|
+
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
|
|
834
1305
|
if (!modelInfo) {
|
|
835
1306
|
const supportedModels = getSupportedModels(provider).join(", ");
|
|
836
1307
|
logger?.error(
|
|
@@ -843,13 +1314,14 @@ function getMaxInputTokensForModel(provider, model, logger) {
|
|
|
843
1314
|
}
|
|
844
1315
|
function isValidProviderModel(provider, model) {
|
|
845
1316
|
const providerInfo = LLM_REGISTRY[provider];
|
|
846
|
-
|
|
1317
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
1318
|
+
return providerInfo.models.some((m) => m.name.toLowerCase() === normalizedModel);
|
|
847
1319
|
}
|
|
848
1320
|
function getProviderFromModel(model) {
|
|
849
|
-
const
|
|
1321
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
850
1322
|
for (const provider of import_types.LLM_PROVIDERS) {
|
|
851
1323
|
const info = LLM_REGISTRY[provider];
|
|
852
|
-
if (info.models.some((m) => m.name.toLowerCase() ===
|
|
1324
|
+
if (info.models.some((m) => m.name.toLowerCase() === normalizedModel)) {
|
|
853
1325
|
return provider;
|
|
854
1326
|
}
|
|
855
1327
|
}
|
|
@@ -858,10 +1330,6 @@ function getProviderFromModel(model) {
|
|
|
858
1330
|
function getAllSupportedModels() {
|
|
859
1331
|
return Object.values(LLM_REGISTRY).flatMap((info) => info.models.map((m) => m.name));
|
|
860
1332
|
}
|
|
861
|
-
function getSupportedRoutersForProvider(provider) {
|
|
862
|
-
const providerInfo = LLM_REGISTRY[provider];
|
|
863
|
-
return providerInfo.supportedRouters;
|
|
864
|
-
}
|
|
865
1333
|
function supportsBaseURL(provider) {
|
|
866
1334
|
const providerInfo = LLM_REGISTRY[provider];
|
|
867
1335
|
return providerInfo.baseURLSupport !== "none";
|
|
@@ -874,12 +1342,34 @@ function acceptsAnyModel(provider) {
|
|
|
874
1342
|
const providerInfo = LLM_REGISTRY[provider];
|
|
875
1343
|
return providerInfo.models.length === 0;
|
|
876
1344
|
}
|
|
1345
|
+
function supportsCustomModels(provider) {
|
|
1346
|
+
const providerInfo = LLM_REGISTRY[provider];
|
|
1347
|
+
return providerInfo.supportsCustomModels === true;
|
|
1348
|
+
}
|
|
1349
|
+
const API_KEY_OPTIONAL_PROVIDERS = /* @__PURE__ */ new Set([
|
|
1350
|
+
"local",
|
|
1351
|
+
// Native node-llama-cpp execution - no auth needed
|
|
1352
|
+
"ollama",
|
|
1353
|
+
// Ollama server - no auth needed by default
|
|
1354
|
+
"openai-compatible",
|
|
1355
|
+
// vLLM, LocalAI - often no auth needed
|
|
1356
|
+
"litellm",
|
|
1357
|
+
// Self-hosted proxy - handles auth internally
|
|
1358
|
+
"vertex",
|
|
1359
|
+
// Uses Google Cloud ADC (Application Default Credentials)
|
|
1360
|
+
"bedrock"
|
|
1361
|
+
// Uses AWS credentials (access key + secret or IAM role)
|
|
1362
|
+
]);
|
|
1363
|
+
function requiresApiKey(provider) {
|
|
1364
|
+
return !API_KEY_OPTIONAL_PROVIDERS.has(provider);
|
|
1365
|
+
}
|
|
877
1366
|
function getSupportedFileTypesForModel(provider, model) {
|
|
878
1367
|
const providerInfo = LLM_REGISTRY[provider];
|
|
879
1368
|
if (acceptsAnyModel(provider)) {
|
|
880
1369
|
return providerInfo.supportedFileTypes;
|
|
881
1370
|
}
|
|
882
|
-
const
|
|
1371
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
1372
|
+
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
|
|
883
1373
|
if (!modelInfo) {
|
|
884
1374
|
throw import_errors.LLMError.unknownModel(provider, model);
|
|
885
1375
|
}
|
|
@@ -918,32 +1408,6 @@ function validateModelFileSupport(provider, model, mimeType) {
|
|
|
918
1408
|
};
|
|
919
1409
|
}
|
|
920
1410
|
}
|
|
921
|
-
function isRouterSupportedForModel(provider, model, router) {
|
|
922
|
-
const providerInfo = LLM_REGISTRY[provider];
|
|
923
|
-
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
|
|
924
|
-
if (!modelInfo) {
|
|
925
|
-
return isRouterSupportedForProvider(provider, router);
|
|
926
|
-
}
|
|
927
|
-
if (modelInfo.supportedRouters) {
|
|
928
|
-
return modelInfo.supportedRouters.includes(router);
|
|
929
|
-
}
|
|
930
|
-
return isRouterSupportedForProvider(provider, router);
|
|
931
|
-
}
|
|
932
|
-
function getSupportedRoutersForModel(provider, model) {
|
|
933
|
-
const providerInfo = LLM_REGISTRY[provider];
|
|
934
|
-
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
|
|
935
|
-
if (!modelInfo) {
|
|
936
|
-
return getSupportedRoutersForProvider(provider);
|
|
937
|
-
}
|
|
938
|
-
if (modelInfo.supportedRouters) {
|
|
939
|
-
return modelInfo.supportedRouters;
|
|
940
|
-
}
|
|
941
|
-
return getSupportedRoutersForProvider(provider);
|
|
942
|
-
}
|
|
943
|
-
function isRouterSupportedForProvider(provider, router) {
|
|
944
|
-
const supportedRouters = getSupportedRoutersForProvider(provider);
|
|
945
|
-
return supportedRouters.includes(router);
|
|
946
|
-
}
|
|
947
1411
|
function getEffectiveMaxInputTokens(config, logger) {
|
|
948
1412
|
const configuredMaxInputTokens = config.maxInputTokens;
|
|
949
1413
|
if (configuredMaxInputTokens != null) {
|
|
@@ -984,6 +1448,19 @@ function getEffectiveMaxInputTokens(config, logger) {
|
|
|
984
1448
|
}
|
|
985
1449
|
}
|
|
986
1450
|
}
|
|
1451
|
+
if (config.provider === "openrouter") {
|
|
1452
|
+
const contextLength = (0, import_openrouter_model_registry.getOpenRouterModelContextLength)(config.model);
|
|
1453
|
+
if (contextLength !== null) {
|
|
1454
|
+
logger.debug(
|
|
1455
|
+
`Using maxInputTokens from OpenRouter registry for ${config.model}: ${contextLength}`
|
|
1456
|
+
);
|
|
1457
|
+
return contextLength;
|
|
1458
|
+
}
|
|
1459
|
+
logger.warn(
|
|
1460
|
+
`OpenRouter model ${config.model} not found in cache, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
|
|
1461
|
+
);
|
|
1462
|
+
return DEFAULT_MAX_INPUT_TOKENS;
|
|
1463
|
+
}
|
|
987
1464
|
if (config.baseURL) {
|
|
988
1465
|
logger.warn(
|
|
989
1466
|
`baseURL is set but maxInputTokens is missing. Defaulting to ${DEFAULT_MAX_INPUT_TOKENS}. Provide 'maxInputTokens' in configuration to avoid default fallback.`
|
|
@@ -1008,6 +1485,12 @@ function getEffectiveMaxInputTokens(config, logger) {
|
|
|
1008
1485
|
return registryMaxInputTokens;
|
|
1009
1486
|
} catch (error) {
|
|
1010
1487
|
if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
|
|
1488
|
+
if (supportsCustomModels(config.provider)) {
|
|
1489
|
+
logger.debug(
|
|
1490
|
+
`Custom model ${config.model} not in ${config.provider} registry, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
|
|
1491
|
+
);
|
|
1492
|
+
return DEFAULT_MAX_INPUT_TOKENS;
|
|
1493
|
+
}
|
|
1011
1494
|
logger.error(
|
|
1012
1495
|
`Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
|
|
1013
1496
|
);
|
|
@@ -1018,28 +1501,62 @@ function getEffectiveMaxInputTokens(config, logger) {
|
|
|
1018
1501
|
}
|
|
1019
1502
|
}
|
|
1020
1503
|
}
|
|
1504
|
+
function getModelPricing(provider, model) {
|
|
1505
|
+
const providerInfo = LLM_REGISTRY[provider];
|
|
1506
|
+
if (acceptsAnyModel(provider)) {
|
|
1507
|
+
return void 0;
|
|
1508
|
+
}
|
|
1509
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
1510
|
+
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
|
|
1511
|
+
return modelInfo?.pricing;
|
|
1512
|
+
}
|
|
1513
|
+
function getModelDisplayName(model, provider) {
|
|
1514
|
+
let resolvedProvider;
|
|
1515
|
+
try {
|
|
1516
|
+
resolvedProvider = provider ?? getProviderFromModel(model);
|
|
1517
|
+
} catch {
|
|
1518
|
+
return model;
|
|
1519
|
+
}
|
|
1520
|
+
const providerInfo = LLM_REGISTRY[resolvedProvider];
|
|
1521
|
+
if (!providerInfo || acceptsAnyModel(resolvedProvider)) {
|
|
1522
|
+
return model;
|
|
1523
|
+
}
|
|
1524
|
+
const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
|
|
1525
|
+
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
|
|
1526
|
+
return modelInfo?.displayName ?? model;
|
|
1527
|
+
}
|
|
1528
|
+
function calculateCost(usage, pricing) {
|
|
1529
|
+
const inputCost = (usage.inputTokens ?? 0) * pricing.inputPerM / 1e6;
|
|
1530
|
+
const outputCost = (usage.outputTokens ?? 0) * pricing.outputPerM / 1e6;
|
|
1531
|
+
const cacheReadCost = (usage.cacheReadTokens ?? 0) * (pricing.cacheReadPerM ?? 0) / 1e6;
|
|
1532
|
+
const cacheWriteCost = (usage.cacheWriteTokens ?? 0) * (pricing.cacheWritePerM ?? 0) / 1e6;
|
|
1533
|
+
const reasoningCost = (usage.reasoningTokens ?? 0) * pricing.outputPerM / 1e6;
|
|
1534
|
+
return inputCost + outputCost + cacheReadCost + cacheWriteCost + reasoningCost;
|
|
1535
|
+
}
|
|
1021
1536
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1022
1537
|
0 && (module.exports = {
|
|
1023
1538
|
DEFAULT_MAX_INPUT_TOKENS,
|
|
1024
1539
|
LLM_REGISTRY,
|
|
1025
1540
|
MIME_TYPE_TO_FILE_TYPE,
|
|
1026
1541
|
acceptsAnyModel,
|
|
1542
|
+
calculateCost,
|
|
1027
1543
|
getAllSupportedModels,
|
|
1028
1544
|
getAllowedMimeTypes,
|
|
1029
1545
|
getDefaultModelForProvider,
|
|
1030
1546
|
getEffectiveMaxInputTokens,
|
|
1031
1547
|
getMaxInputTokensForModel,
|
|
1548
|
+
getModelDisplayName,
|
|
1549
|
+
getModelPricing,
|
|
1032
1550
|
getProviderFromModel,
|
|
1033
1551
|
getSupportedFileTypesForModel,
|
|
1034
1552
|
getSupportedModels,
|
|
1035
1553
|
getSupportedProviders,
|
|
1036
|
-
getSupportedRoutersForModel,
|
|
1037
|
-
getSupportedRoutersForProvider,
|
|
1038
|
-
isRouterSupportedForModel,
|
|
1039
|
-
isRouterSupportedForProvider,
|
|
1040
1554
|
isValidProviderModel,
|
|
1041
1555
|
modelSupportsFileType,
|
|
1556
|
+
requiresApiKey,
|
|
1042
1557
|
requiresBaseURL,
|
|
1558
|
+
stripBedrockRegionPrefix,
|
|
1043
1559
|
supportsBaseURL,
|
|
1560
|
+
supportsCustomModels,
|
|
1044
1561
|
validateModelFileSupport
|
|
1045
1562
|
});
|