@dexto/core 1.2.4 → 1.2.6
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 +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +179 -75
- package/dist/agent/schemas.d.ts +2678 -586
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +172 -65
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/index.cjs +2 -0
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.cjs +10 -0
- package/dist/memory/schemas.d.ts +37 -8
- package/dist/memory/schemas.d.ts.map +1 -1
- package/dist/memory/schemas.js +9 -0
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/index.cjs +6 -8
- package/dist/prompts/index.d.ts +2 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -6
- package/dist/prompts/prompt-manager.cjs +25 -20
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -20
- package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/config-prompt-provider.js +308 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/schemas.cjs +42 -23
- package/dist/prompts/schemas.d.ts +123 -14
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +39 -22
- package/dist/prompts/types.d.ts +1 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/in-built-prompts.cjs +0 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +0 -4
- package/dist/systemPrompt/manager.cjs +31 -23
- package/dist/systemPrompt/manager.d.ts +5 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +31 -23
- package/dist/systemPrompt/registry.cjs +1 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +1 -2
- package/dist/systemPrompt/schemas.cjs +24 -18
- package/dist/systemPrompt/schemas.d.ts +46 -222
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +14 -18
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- 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 +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +88 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +70 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
- package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/file-prompt-provider.js +0 -376
- package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
- package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/starter-prompt-provider.js +0 -147
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
package/dist/llm/registry.cjs
CHANGED
|
@@ -46,7 +46,6 @@ var import_errors = require("./errors.js");
|
|
|
46
46
|
var import_error_codes = require("./error-codes.js");
|
|
47
47
|
var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
|
|
48
48
|
var import_types = require("./types.js");
|
|
49
|
-
var import_logger = require("../logger/index.js");
|
|
50
49
|
const MIME_TYPE_TO_FILE_TYPE = {
|
|
51
50
|
"application/pdf": "pdf",
|
|
52
51
|
"audio/mp3": "audio",
|
|
@@ -72,6 +71,84 @@ const DEFAULT_MAX_INPUT_TOKENS = 128e3;
|
|
|
72
71
|
const LLM_REGISTRY = {
|
|
73
72
|
openai: {
|
|
74
73
|
models: [
|
|
74
|
+
{
|
|
75
|
+
name: "gpt-5.1-chat-latest",
|
|
76
|
+
displayName: "GPT-5.1 Instant",
|
|
77
|
+
maxInputTokens: 4e5,
|
|
78
|
+
supportedFileTypes: ["pdf", "image"],
|
|
79
|
+
pricing: {
|
|
80
|
+
inputPerM: 1.25,
|
|
81
|
+
outputPerM: 10,
|
|
82
|
+
cacheReadPerM: 0.125,
|
|
83
|
+
currency: "USD",
|
|
84
|
+
unit: "per_million_tokens"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "gpt-5.1",
|
|
89
|
+
displayName: "GPT-5.1 Thinking",
|
|
90
|
+
maxInputTokens: 4e5,
|
|
91
|
+
supportedFileTypes: ["pdf", "image"],
|
|
92
|
+
pricing: {
|
|
93
|
+
inputPerM: 1.25,
|
|
94
|
+
outputPerM: 10,
|
|
95
|
+
cacheReadPerM: 0.125,
|
|
96
|
+
currency: "USD",
|
|
97
|
+
unit: "per_million_tokens"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: "gpt-5.1-codex",
|
|
102
|
+
displayName: "GPT-5.1 Codex",
|
|
103
|
+
maxInputTokens: 4e5,
|
|
104
|
+
supportedFileTypes: ["pdf", "image"],
|
|
105
|
+
pricing: {
|
|
106
|
+
inputPerM: 1.25,
|
|
107
|
+
outputPerM: 10,
|
|
108
|
+
cacheReadPerM: 0.125,
|
|
109
|
+
currency: "USD",
|
|
110
|
+
unit: "per_million_tokens"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "gpt-5.1-codex-mini",
|
|
115
|
+
displayName: "GPT-5.1 Codex Mini",
|
|
116
|
+
maxInputTokens: 4e5,
|
|
117
|
+
supportedFileTypes: ["pdf", "image"],
|
|
118
|
+
pricing: {
|
|
119
|
+
inputPerM: 0.25,
|
|
120
|
+
outputPerM: 2,
|
|
121
|
+
cacheReadPerM: 0.025,
|
|
122
|
+
currency: "USD",
|
|
123
|
+
unit: "per_million_tokens"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
// {
|
|
127
|
+
// name: 'gpt-5.1-codex-max',
|
|
128
|
+
// displayName: 'GPT-5.1 Codex Max',
|
|
129
|
+
// maxInputTokens: 400000,
|
|
130
|
+
// supportedFileTypes: ['pdf', 'image'],
|
|
131
|
+
// pricing: {
|
|
132
|
+
// inputPerM: 1.25,
|
|
133
|
+
// outputPerM: 10.0,
|
|
134
|
+
// cacheReadPerM: 0.125,
|
|
135
|
+
// currency: 'USD',
|
|
136
|
+
// unit: 'per_million_tokens',
|
|
137
|
+
// },
|
|
138
|
+
// },
|
|
139
|
+
{
|
|
140
|
+
name: "gpt-5-pro",
|
|
141
|
+
displayName: "GPT-5 Pro",
|
|
142
|
+
maxInputTokens: 4e5,
|
|
143
|
+
supportedFileTypes: ["pdf", "image"],
|
|
144
|
+
pricing: {
|
|
145
|
+
inputPerM: 15,
|
|
146
|
+
outputPerM: 120,
|
|
147
|
+
cacheReadPerM: 1.5,
|
|
148
|
+
currency: "USD",
|
|
149
|
+
unit: "per_million_tokens"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
75
152
|
{
|
|
76
153
|
name: "gpt-5",
|
|
77
154
|
displayName: "GPT-5",
|
|
@@ -112,6 +189,19 @@ const LLM_REGISTRY = {
|
|
|
112
189
|
unit: "per_million_tokens"
|
|
113
190
|
}
|
|
114
191
|
},
|
|
192
|
+
{
|
|
193
|
+
name: "gpt-5-codex",
|
|
194
|
+
displayName: "GPT-5 Codex",
|
|
195
|
+
maxInputTokens: 4e5,
|
|
196
|
+
supportedFileTypes: ["pdf", "image"],
|
|
197
|
+
pricing: {
|
|
198
|
+
inputPerM: 1.25,
|
|
199
|
+
outputPerM: 10,
|
|
200
|
+
cacheReadPerM: 0.125,
|
|
201
|
+
currency: "USD",
|
|
202
|
+
unit: "per_million_tokens"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
115
205
|
{
|
|
116
206
|
name: "gpt-4.1",
|
|
117
207
|
displayName: "GPT-4.1",
|
|
@@ -286,6 +376,20 @@ const LLM_REGISTRY = {
|
|
|
286
376
|
unit: "per_million_tokens"
|
|
287
377
|
}
|
|
288
378
|
},
|
|
379
|
+
{
|
|
380
|
+
name: "claude-opus-4-5-20251101",
|
|
381
|
+
displayName: "Claude 4.5 Opus",
|
|
382
|
+
maxInputTokens: 2e5,
|
|
383
|
+
supportedFileTypes: ["pdf", "image"],
|
|
384
|
+
pricing: {
|
|
385
|
+
inputPerM: 5,
|
|
386
|
+
outputPerM: 25,
|
|
387
|
+
cacheWritePerM: 6.25,
|
|
388
|
+
cacheReadPerM: 0.5,
|
|
389
|
+
currency: "USD",
|
|
390
|
+
unit: "per_million_tokens"
|
|
391
|
+
}
|
|
392
|
+
},
|
|
289
393
|
{
|
|
290
394
|
name: "claude-opus-4-1-20250805",
|
|
291
395
|
displayName: "Claude 4.1 Opus",
|
|
@@ -378,6 +482,30 @@ const LLM_REGISTRY = {
|
|
|
378
482
|
},
|
|
379
483
|
google: {
|
|
380
484
|
models: [
|
|
485
|
+
{
|
|
486
|
+
name: "gemini-3-pro-preview",
|
|
487
|
+
displayName: "Gemini 3 Pro Preview",
|
|
488
|
+
maxInputTokens: 1048576,
|
|
489
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
490
|
+
pricing: {
|
|
491
|
+
inputPerM: 2,
|
|
492
|
+
outputPerM: 12,
|
|
493
|
+
currency: "USD",
|
|
494
|
+
unit: "per_million_tokens"
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
name: "gemini-3-pro-image-preview",
|
|
499
|
+
displayName: "Gemini 3 Pro Image Preview",
|
|
500
|
+
maxInputTokens: 1048576,
|
|
501
|
+
supportedFileTypes: ["image"],
|
|
502
|
+
pricing: {
|
|
503
|
+
inputPerM: 2,
|
|
504
|
+
outputPerM: 120,
|
|
505
|
+
currency: "USD",
|
|
506
|
+
unit: "per_million_tokens"
|
|
507
|
+
}
|
|
508
|
+
},
|
|
381
509
|
{
|
|
382
510
|
name: "gemini-2.5-pro",
|
|
383
511
|
displayName: "Gemini 2.5 Pro",
|
|
@@ -700,17 +828,17 @@ function getSupportedModels(provider) {
|
|
|
700
828
|
const providerInfo = LLM_REGISTRY[provider];
|
|
701
829
|
return providerInfo.models.map((m) => m.name);
|
|
702
830
|
}
|
|
703
|
-
function getMaxInputTokensForModel(provider, model) {
|
|
831
|
+
function getMaxInputTokensForModel(provider, model, logger) {
|
|
704
832
|
const providerInfo = LLM_REGISTRY[provider];
|
|
705
833
|
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
|
|
706
834
|
if (!modelInfo) {
|
|
707
835
|
const supportedModels = getSupportedModels(provider).join(", ");
|
|
708
|
-
|
|
836
|
+
logger?.error(
|
|
709
837
|
`Model '${model}' not found for provider '${provider}' in LLM registry. Supported models: ${supportedModels}`
|
|
710
838
|
);
|
|
711
839
|
throw import_errors.LLMError.unknownModel(provider, model);
|
|
712
840
|
}
|
|
713
|
-
|
|
841
|
+
logger?.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
|
|
714
842
|
return modelInfo.maxInputTokens;
|
|
715
843
|
}
|
|
716
844
|
function isValidProviderModel(provider, model) {
|
|
@@ -816,36 +944,40 @@ function isRouterSupportedForProvider(provider, router) {
|
|
|
816
944
|
const supportedRouters = getSupportedRoutersForProvider(provider);
|
|
817
945
|
return supportedRouters.includes(router);
|
|
818
946
|
}
|
|
819
|
-
function getEffectiveMaxInputTokens(config) {
|
|
947
|
+
function getEffectiveMaxInputTokens(config, logger) {
|
|
820
948
|
const configuredMaxInputTokens = config.maxInputTokens;
|
|
821
949
|
if (configuredMaxInputTokens != null) {
|
|
822
950
|
if (config.baseURL) {
|
|
823
|
-
|
|
951
|
+
logger.debug(
|
|
824
952
|
`Using maxInputTokens from configuration (with baseURL): ${configuredMaxInputTokens}`
|
|
825
953
|
);
|
|
826
954
|
return configuredMaxInputTokens;
|
|
827
955
|
}
|
|
828
956
|
try {
|
|
829
|
-
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
957
|
+
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
958
|
+
config.provider,
|
|
959
|
+
config.model,
|
|
960
|
+
logger
|
|
961
|
+
);
|
|
830
962
|
if (configuredMaxInputTokens > registryMaxInputTokens) {
|
|
831
|
-
|
|
963
|
+
logger.warn(
|
|
832
964
|
`Provided maxInputTokens (${configuredMaxInputTokens}) for ${config.provider}/${config.model} exceeds the known limit (${registryMaxInputTokens}) for model ${config.model}. Capping to registry limit.`
|
|
833
965
|
);
|
|
834
966
|
return registryMaxInputTokens;
|
|
835
967
|
} else {
|
|
836
|
-
|
|
968
|
+
logger.debug(
|
|
837
969
|
`Using valid maxInputTokens override from configuration: ${configuredMaxInputTokens} (Registry limit: ${registryMaxInputTokens})`
|
|
838
970
|
);
|
|
839
971
|
return configuredMaxInputTokens;
|
|
840
972
|
}
|
|
841
973
|
} catch (error) {
|
|
842
974
|
if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
|
|
843
|
-
|
|
975
|
+
logger.warn(
|
|
844
976
|
`Registry lookup failed during maxInputTokens override check for ${config.provider}/${config.model}: ${error.message}. Proceeding with the provided maxInputTokens value (${configuredMaxInputTokens}), but it might be invalid.`
|
|
845
977
|
);
|
|
846
978
|
return configuredMaxInputTokens;
|
|
847
979
|
} else {
|
|
848
|
-
|
|
980
|
+
logger.error(
|
|
849
981
|
`Unexpected error during registry lookup for maxInputTokens override check: ${error}`
|
|
850
982
|
);
|
|
851
983
|
throw error;
|
|
@@ -853,31 +985,35 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
853
985
|
}
|
|
854
986
|
}
|
|
855
987
|
if (config.baseURL) {
|
|
856
|
-
|
|
988
|
+
logger.warn(
|
|
857
989
|
`baseURL is set but maxInputTokens is missing. Defaulting to ${DEFAULT_MAX_INPUT_TOKENS}. Provide 'maxInputTokens' in configuration to avoid default fallback.`
|
|
858
990
|
);
|
|
859
991
|
return DEFAULT_MAX_INPUT_TOKENS;
|
|
860
992
|
}
|
|
861
993
|
if (acceptsAnyModel(config.provider)) {
|
|
862
|
-
|
|
994
|
+
logger.debug(
|
|
863
995
|
`Provider ${config.provider} accepts any model, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
|
|
864
996
|
);
|
|
865
997
|
return DEFAULT_MAX_INPUT_TOKENS;
|
|
866
998
|
}
|
|
867
999
|
try {
|
|
868
|
-
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
869
|
-
|
|
1000
|
+
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
1001
|
+
config.provider,
|
|
1002
|
+
config.model,
|
|
1003
|
+
logger
|
|
1004
|
+
);
|
|
1005
|
+
logger.debug(
|
|
870
1006
|
`Using maxInputTokens from registry for ${config.provider}/${config.model}: ${registryMaxInputTokens}`
|
|
871
1007
|
);
|
|
872
1008
|
return registryMaxInputTokens;
|
|
873
1009
|
} catch (error) {
|
|
874
1010
|
if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
|
|
875
|
-
|
|
1011
|
+
logger.error(
|
|
876
1012
|
`Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
|
|
877
1013
|
);
|
|
878
1014
|
throw import_errors.LLMError.unknownModel(config.provider, config.model);
|
|
879
1015
|
} else {
|
|
880
|
-
|
|
1016
|
+
logger.error(`Unexpected error during registry lookup for maxInputTokens: ${error}`);
|
|
881
1017
|
throw error;
|
|
882
1018
|
}
|
|
883
1019
|
}
|
package/dist/llm/registry.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LLMConfig } from './schemas.js';
|
|
2
2
|
import { type LLMProvider, type LLMRouter, type SupportedFileType } from './types.js';
|
|
3
|
+
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
3
4
|
export interface ModelInfo {
|
|
4
5
|
name: string;
|
|
5
6
|
maxInputTokens: number;
|
|
@@ -57,10 +58,11 @@ export declare function getSupportedModels(provider: LLMProvider): string[];
|
|
|
57
58
|
* Retrieves the maximum input token limit for a given provider and model from the registry.
|
|
58
59
|
* @param provider The name of the provider (e.g., 'openai', 'anthropic', 'google').
|
|
59
60
|
* @param model The specific model name.
|
|
61
|
+
* @param logger Optional logger instance for logging. Optional because it's used in zod schema
|
|
60
62
|
* @returns The maximum input token limit for the model.
|
|
61
63
|
* @throws {LLMError} If the model is not found in the registry.
|
|
62
64
|
*/
|
|
63
|
-
export declare function getMaxInputTokensForModel(provider: LLMProvider, model: string): number;
|
|
65
|
+
export declare function getMaxInputTokensForModel(provider: LLMProvider, model: string, logger?: IDextoLogger): number;
|
|
64
66
|
/**
|
|
65
67
|
* Validates if a provider and model combination is supported.
|
|
66
68
|
* Both parameters are required - structural validation (missing values) is handled by Zod schemas.
|
|
@@ -163,11 +165,12 @@ export declare function isRouterSupportedForProvider(provider: LLMProvider, rout
|
|
|
163
165
|
* 2. Registry lookup for known provider/model.
|
|
164
166
|
*
|
|
165
167
|
* @param config The validated LLM configuration.
|
|
168
|
+
* @param logger Optional logger instance for logging.
|
|
166
169
|
* @returns The effective maximum input token count for the LLM.
|
|
167
170
|
* @throws {Error}
|
|
168
171
|
* If `baseURL` is set but `maxInputTokens` is missing (indicating a Zod validation inconsistency).
|
|
169
172
|
* Or if `baseURL` is not set, but model isn't found in registry.
|
|
170
173
|
* TODO: make more readable
|
|
171
174
|
*/
|
|
172
|
-
export declare function getEffectiveMaxInputTokens(config: LLMConfig): number;
|
|
175
|
+
export declare function getEffectiveMaxInputTokens(config: LLMConfig, logger: IDextoLogger): number;
|
|
173
176
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACzB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC/B,CAAC;CAEL;AAOD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAiBpE,CAAC;AAGF,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CAE3C;AAED,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAI/C;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAouB1D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAG/E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAErD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,EAAE,CAGlE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,GACtB,MAAM,CAcR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGlF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAS/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAG9D;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,GACd,iBAAiB,EAAE,CAiBrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACjB;IACC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAkCA;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,GAClB,OAAO,CAiBT;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAiB7F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAG9F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CA8F1F"}
|
package/dist/llm/registry.js
CHANGED
|
@@ -5,7 +5,6 @@ import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
|
|
|
5
5
|
import {
|
|
6
6
|
LLM_PROVIDERS
|
|
7
7
|
} from "./types.js";
|
|
8
|
-
import { logger } from "../logger/index.js";
|
|
9
8
|
const MIME_TYPE_TO_FILE_TYPE = {
|
|
10
9
|
"application/pdf": "pdf",
|
|
11
10
|
"audio/mp3": "audio",
|
|
@@ -31,6 +30,84 @@ const DEFAULT_MAX_INPUT_TOKENS = 128e3;
|
|
|
31
30
|
const LLM_REGISTRY = {
|
|
32
31
|
openai: {
|
|
33
32
|
models: [
|
|
33
|
+
{
|
|
34
|
+
name: "gpt-5.1-chat-latest",
|
|
35
|
+
displayName: "GPT-5.1 Instant",
|
|
36
|
+
maxInputTokens: 4e5,
|
|
37
|
+
supportedFileTypes: ["pdf", "image"],
|
|
38
|
+
pricing: {
|
|
39
|
+
inputPerM: 1.25,
|
|
40
|
+
outputPerM: 10,
|
|
41
|
+
cacheReadPerM: 0.125,
|
|
42
|
+
currency: "USD",
|
|
43
|
+
unit: "per_million_tokens"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "gpt-5.1",
|
|
48
|
+
displayName: "GPT-5.1 Thinking",
|
|
49
|
+
maxInputTokens: 4e5,
|
|
50
|
+
supportedFileTypes: ["pdf", "image"],
|
|
51
|
+
pricing: {
|
|
52
|
+
inputPerM: 1.25,
|
|
53
|
+
outputPerM: 10,
|
|
54
|
+
cacheReadPerM: 0.125,
|
|
55
|
+
currency: "USD",
|
|
56
|
+
unit: "per_million_tokens"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "gpt-5.1-codex",
|
|
61
|
+
displayName: "GPT-5.1 Codex",
|
|
62
|
+
maxInputTokens: 4e5,
|
|
63
|
+
supportedFileTypes: ["pdf", "image"],
|
|
64
|
+
pricing: {
|
|
65
|
+
inputPerM: 1.25,
|
|
66
|
+
outputPerM: 10,
|
|
67
|
+
cacheReadPerM: 0.125,
|
|
68
|
+
currency: "USD",
|
|
69
|
+
unit: "per_million_tokens"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "gpt-5.1-codex-mini",
|
|
74
|
+
displayName: "GPT-5.1 Codex Mini",
|
|
75
|
+
maxInputTokens: 4e5,
|
|
76
|
+
supportedFileTypes: ["pdf", "image"],
|
|
77
|
+
pricing: {
|
|
78
|
+
inputPerM: 0.25,
|
|
79
|
+
outputPerM: 2,
|
|
80
|
+
cacheReadPerM: 0.025,
|
|
81
|
+
currency: "USD",
|
|
82
|
+
unit: "per_million_tokens"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
// {
|
|
86
|
+
// name: 'gpt-5.1-codex-max',
|
|
87
|
+
// displayName: 'GPT-5.1 Codex Max',
|
|
88
|
+
// maxInputTokens: 400000,
|
|
89
|
+
// supportedFileTypes: ['pdf', 'image'],
|
|
90
|
+
// pricing: {
|
|
91
|
+
// inputPerM: 1.25,
|
|
92
|
+
// outputPerM: 10.0,
|
|
93
|
+
// cacheReadPerM: 0.125,
|
|
94
|
+
// currency: 'USD',
|
|
95
|
+
// unit: 'per_million_tokens',
|
|
96
|
+
// },
|
|
97
|
+
// },
|
|
98
|
+
{
|
|
99
|
+
name: "gpt-5-pro",
|
|
100
|
+
displayName: "GPT-5 Pro",
|
|
101
|
+
maxInputTokens: 4e5,
|
|
102
|
+
supportedFileTypes: ["pdf", "image"],
|
|
103
|
+
pricing: {
|
|
104
|
+
inputPerM: 15,
|
|
105
|
+
outputPerM: 120,
|
|
106
|
+
cacheReadPerM: 1.5,
|
|
107
|
+
currency: "USD",
|
|
108
|
+
unit: "per_million_tokens"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
34
111
|
{
|
|
35
112
|
name: "gpt-5",
|
|
36
113
|
displayName: "GPT-5",
|
|
@@ -71,6 +148,19 @@ const LLM_REGISTRY = {
|
|
|
71
148
|
unit: "per_million_tokens"
|
|
72
149
|
}
|
|
73
150
|
},
|
|
151
|
+
{
|
|
152
|
+
name: "gpt-5-codex",
|
|
153
|
+
displayName: "GPT-5 Codex",
|
|
154
|
+
maxInputTokens: 4e5,
|
|
155
|
+
supportedFileTypes: ["pdf", "image"],
|
|
156
|
+
pricing: {
|
|
157
|
+
inputPerM: 1.25,
|
|
158
|
+
outputPerM: 10,
|
|
159
|
+
cacheReadPerM: 0.125,
|
|
160
|
+
currency: "USD",
|
|
161
|
+
unit: "per_million_tokens"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
74
164
|
{
|
|
75
165
|
name: "gpt-4.1",
|
|
76
166
|
displayName: "GPT-4.1",
|
|
@@ -245,6 +335,20 @@ const LLM_REGISTRY = {
|
|
|
245
335
|
unit: "per_million_tokens"
|
|
246
336
|
}
|
|
247
337
|
},
|
|
338
|
+
{
|
|
339
|
+
name: "claude-opus-4-5-20251101",
|
|
340
|
+
displayName: "Claude 4.5 Opus",
|
|
341
|
+
maxInputTokens: 2e5,
|
|
342
|
+
supportedFileTypes: ["pdf", "image"],
|
|
343
|
+
pricing: {
|
|
344
|
+
inputPerM: 5,
|
|
345
|
+
outputPerM: 25,
|
|
346
|
+
cacheWritePerM: 6.25,
|
|
347
|
+
cacheReadPerM: 0.5,
|
|
348
|
+
currency: "USD",
|
|
349
|
+
unit: "per_million_tokens"
|
|
350
|
+
}
|
|
351
|
+
},
|
|
248
352
|
{
|
|
249
353
|
name: "claude-opus-4-1-20250805",
|
|
250
354
|
displayName: "Claude 4.1 Opus",
|
|
@@ -337,6 +441,30 @@ const LLM_REGISTRY = {
|
|
|
337
441
|
},
|
|
338
442
|
google: {
|
|
339
443
|
models: [
|
|
444
|
+
{
|
|
445
|
+
name: "gemini-3-pro-preview",
|
|
446
|
+
displayName: "Gemini 3 Pro Preview",
|
|
447
|
+
maxInputTokens: 1048576,
|
|
448
|
+
supportedFileTypes: ["pdf", "image", "audio"],
|
|
449
|
+
pricing: {
|
|
450
|
+
inputPerM: 2,
|
|
451
|
+
outputPerM: 12,
|
|
452
|
+
currency: "USD",
|
|
453
|
+
unit: "per_million_tokens"
|
|
454
|
+
}
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
name: "gemini-3-pro-image-preview",
|
|
458
|
+
displayName: "Gemini 3 Pro Image Preview",
|
|
459
|
+
maxInputTokens: 1048576,
|
|
460
|
+
supportedFileTypes: ["image"],
|
|
461
|
+
pricing: {
|
|
462
|
+
inputPerM: 2,
|
|
463
|
+
outputPerM: 120,
|
|
464
|
+
currency: "USD",
|
|
465
|
+
unit: "per_million_tokens"
|
|
466
|
+
}
|
|
467
|
+
},
|
|
340
468
|
{
|
|
341
469
|
name: "gemini-2.5-pro",
|
|
342
470
|
displayName: "Gemini 2.5 Pro",
|
|
@@ -659,17 +787,17 @@ function getSupportedModels(provider) {
|
|
|
659
787
|
const providerInfo = LLM_REGISTRY[provider];
|
|
660
788
|
return providerInfo.models.map((m) => m.name);
|
|
661
789
|
}
|
|
662
|
-
function getMaxInputTokensForModel(provider, model) {
|
|
790
|
+
function getMaxInputTokensForModel(provider, model, logger) {
|
|
663
791
|
const providerInfo = LLM_REGISTRY[provider];
|
|
664
792
|
const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
|
|
665
793
|
if (!modelInfo) {
|
|
666
794
|
const supportedModels = getSupportedModels(provider).join(", ");
|
|
667
|
-
logger
|
|
795
|
+
logger?.error(
|
|
668
796
|
`Model '${model}' not found for provider '${provider}' in LLM registry. Supported models: ${supportedModels}`
|
|
669
797
|
);
|
|
670
798
|
throw LLMError.unknownModel(provider, model);
|
|
671
799
|
}
|
|
672
|
-
logger
|
|
800
|
+
logger?.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
|
|
673
801
|
return modelInfo.maxInputTokens;
|
|
674
802
|
}
|
|
675
803
|
function isValidProviderModel(provider, model) {
|
|
@@ -775,7 +903,7 @@ function isRouterSupportedForProvider(provider, router) {
|
|
|
775
903
|
const supportedRouters = getSupportedRoutersForProvider(provider);
|
|
776
904
|
return supportedRouters.includes(router);
|
|
777
905
|
}
|
|
778
|
-
function getEffectiveMaxInputTokens(config) {
|
|
906
|
+
function getEffectiveMaxInputTokens(config, logger) {
|
|
779
907
|
const configuredMaxInputTokens = config.maxInputTokens;
|
|
780
908
|
if (configuredMaxInputTokens != null) {
|
|
781
909
|
if (config.baseURL) {
|
|
@@ -785,7 +913,11 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
785
913
|
return configuredMaxInputTokens;
|
|
786
914
|
}
|
|
787
915
|
try {
|
|
788
|
-
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
916
|
+
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
917
|
+
config.provider,
|
|
918
|
+
config.model,
|
|
919
|
+
logger
|
|
920
|
+
);
|
|
789
921
|
if (configuredMaxInputTokens > registryMaxInputTokens) {
|
|
790
922
|
logger.warn(
|
|
791
923
|
`Provided maxInputTokens (${configuredMaxInputTokens}) for ${config.provider}/${config.model} exceeds the known limit (${registryMaxInputTokens}) for model ${config.model}. Capping to registry limit.`
|
|
@@ -824,7 +956,11 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
824
956
|
return DEFAULT_MAX_INPUT_TOKENS;
|
|
825
957
|
}
|
|
826
958
|
try {
|
|
827
|
-
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
959
|
+
const registryMaxInputTokens = getMaxInputTokensForModel(
|
|
960
|
+
config.provider,
|
|
961
|
+
config.model,
|
|
962
|
+
logger
|
|
963
|
+
);
|
|
828
964
|
logger.debug(
|
|
829
965
|
`Using maxInputTokens from registry for ${config.provider}/${config.model}: ${registryMaxInputTokens}`
|
|
830
966
|
);
|
package/dist/llm/resolver.cjs
CHANGED
|
@@ -29,8 +29,8 @@ var import_error_codes = require("./error-codes.js");
|
|
|
29
29
|
var import_schemas2 = require("./schemas.js");
|
|
30
30
|
var import_registry = require("./registry.js");
|
|
31
31
|
var import_api_key_resolver = require("../utils/api-key-resolver.cjs");
|
|
32
|
-
function resolveAndValidateLLMConfig(previous, updates) {
|
|
33
|
-
const { candidate, warnings } = resolveLLMConfig(previous, updates);
|
|
32
|
+
function resolveAndValidateLLMConfig(previous, updates, logger) {
|
|
33
|
+
const { candidate, warnings } = resolveLLMConfig(previous, updates, logger);
|
|
34
34
|
if ((0, import_result.hasErrors)(warnings)) {
|
|
35
35
|
const { errors } = (0, import_result.splitIssues)(warnings);
|
|
36
36
|
return (0, import_result.fail)(errors);
|
|
@@ -38,7 +38,7 @@ function resolveAndValidateLLMConfig(previous, updates) {
|
|
|
38
38
|
const result = validateLLMConfig(candidate, warnings);
|
|
39
39
|
return result;
|
|
40
40
|
}
|
|
41
|
-
function resolveLLMConfig(previous, updates) {
|
|
41
|
+
function resolveLLMConfig(previous, updates, logger) {
|
|
42
42
|
const warnings = [];
|
|
43
43
|
const provider = updates.provider ?? (updates.model ? (() => {
|
|
44
44
|
try {
|
|
@@ -108,7 +108,7 @@ function resolveLLMConfig(previous, updates) {
|
|
|
108
108
|
router = previous.router;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey });
|
|
111
|
+
const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey }, logger);
|
|
112
112
|
return {
|
|
113
113
|
candidate: {
|
|
114
114
|
provider,
|
package/dist/llm/resolver.d.ts
CHANGED
|
@@ -2,17 +2,18 @@ import { Result } from '../utils/result.js';
|
|
|
2
2
|
import { Issue } from '../errors/types.js';
|
|
3
3
|
import { type ValidatedLLMConfig, type LLMUpdates, type LLMConfig } from './schemas.js';
|
|
4
4
|
import type { LLMUpdateContext } from './types.js';
|
|
5
|
+
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Convenience function that combines resolveLLM and validateLLM
|
|
7
8
|
*/
|
|
8
|
-
export declare function resolveAndValidateLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates): Result<ValidatedLLMConfig, LLMUpdateContext>;
|
|
9
|
+
export declare function resolveAndValidateLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates, logger: IDextoLogger): Result<ValidatedLLMConfig, LLMUpdateContext>;
|
|
9
10
|
/**
|
|
10
11
|
* Infers the LLM config from the provided updates
|
|
11
12
|
* @param previous - The previous LLM config
|
|
12
13
|
* @param updates - The updates to the LLM config
|
|
13
14
|
* @returns The resolved LLM config
|
|
14
15
|
*/
|
|
15
|
-
export declare function resolveLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates): {
|
|
16
|
+
export declare function resolveLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates, logger: IDextoLogger): {
|
|
16
17
|
candidate: LLMConfig;
|
|
17
18
|
warnings: Issue<LLMUpdateContext>[];
|
|
18
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/llm/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiD,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAWxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/llm/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiD,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAWxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,YAAY,GACrB,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,YAAY,GACrB;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAA;CAAE,CAsH/D;AAGD,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,GACpC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CA2B9C"}
|
package/dist/llm/resolver.js
CHANGED
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
getEffectiveMaxInputTokens
|
|
14
14
|
} from "./registry.js";
|
|
15
15
|
import { resolveApiKeyForProvider } from "../utils/api-key-resolver.js";
|
|
16
|
-
function resolveAndValidateLLMConfig(previous, updates) {
|
|
17
|
-
const { candidate, warnings } = resolveLLMConfig(previous, updates);
|
|
16
|
+
function resolveAndValidateLLMConfig(previous, updates, logger) {
|
|
17
|
+
const { candidate, warnings } = resolveLLMConfig(previous, updates, logger);
|
|
18
18
|
if (hasErrors(warnings)) {
|
|
19
19
|
const { errors } = splitIssues(warnings);
|
|
20
20
|
return fail(errors);
|
|
@@ -22,7 +22,7 @@ function resolveAndValidateLLMConfig(previous, updates) {
|
|
|
22
22
|
const result = validateLLMConfig(candidate, warnings);
|
|
23
23
|
return result;
|
|
24
24
|
}
|
|
25
|
-
function resolveLLMConfig(previous, updates) {
|
|
25
|
+
function resolveLLMConfig(previous, updates, logger) {
|
|
26
26
|
const warnings = [];
|
|
27
27
|
const provider = updates.provider ?? (updates.model ? (() => {
|
|
28
28
|
try {
|
|
@@ -92,7 +92,7 @@ function resolveLLMConfig(previous, updates) {
|
|
|
92
92
|
router = previous.router;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
const maxInputTokens = updates.maxInputTokens ?? getEffectiveMaxInputTokens({ provider, model, apiKey: apiKey || previous.apiKey });
|
|
95
|
+
const maxInputTokens = updates.maxInputTokens ?? getEffectiveMaxInputTokens({ provider, model, apiKey: apiKey || previous.apiKey }, logger);
|
|
96
96
|
return {
|
|
97
97
|
candidate: {
|
|
98
98
|
provider,
|
package/dist/llm/schemas.cjs
CHANGED
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var schemas_exports = {};
|
|
20
20
|
__export(schemas_exports, {
|
|
21
|
+
LLMConfigBaseSchema: () => LLMConfigBaseSchema,
|
|
21
22
|
LLMConfigSchema: () => LLMConfigSchema,
|
|
22
23
|
LLMUpdatesSchema: () => LLMUpdatesSchema
|
|
23
24
|
});
|
|
@@ -49,7 +50,7 @@ const LLMConfigFields = {
|
|
|
49
50
|
'MIME type patterns for media expansion (e.g., "image/*", "application/pdf"). If omitted, uses model capabilities from registry. Supports wildcards.'
|
|
50
51
|
)
|
|
51
52
|
};
|
|
52
|
-
const
|
|
53
|
+
const LLMConfigBaseSchema = import_zod.z.object({
|
|
53
54
|
provider: LLMConfigFields.provider,
|
|
54
55
|
model: LLMConfigFields.model,
|
|
55
56
|
apiKey: LLMConfigFields.apiKey,
|
|
@@ -61,7 +62,8 @@ const LLMConfigSchema = import_zod.z.object({
|
|
|
61
62
|
maxOutputTokens: LLMConfigFields.maxOutputTokens,
|
|
62
63
|
temperature: LLMConfigFields.temperature,
|
|
63
64
|
allowedMediaTypes: LLMConfigFields.allowedMediaTypes
|
|
64
|
-
}).strict()
|
|
65
|
+
}).strict();
|
|
66
|
+
const LLMConfigSchema = LLMConfigBaseSchema.superRefine((data, ctx) => {
|
|
65
67
|
const baseURLIsSet = data.baseURL != null && data.baseURL.trim() !== "";
|
|
66
68
|
const maxInputTokensIsSet = data.maxInputTokens != null;
|
|
67
69
|
if (!data.apiKey?.trim()) {
|
|
@@ -176,7 +178,7 @@ const LLMConfigSchema = import_zod.z.object({
|
|
|
176
178
|
});
|
|
177
179
|
}
|
|
178
180
|
}).brand();
|
|
179
|
-
const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().
|
|
181
|
+
const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().superRefine((data, ctx) => {
|
|
180
182
|
if (!data.model && !data.provider && !data.router) {
|
|
181
183
|
ctx.addIssue({
|
|
182
184
|
code: import_zod.z.ZodIssueCode.custom,
|
|
@@ -187,6 +189,7 @@ const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().s
|
|
|
187
189
|
});
|
|
188
190
|
// Annotate the CommonJS export names for ESM import in node:
|
|
189
191
|
0 && (module.exports = {
|
|
192
|
+
LLMConfigBaseSchema,
|
|
190
193
|
LLMConfigSchema,
|
|
191
194
|
LLMUpdatesSchema
|
|
192
195
|
});
|