@dexto/core 1.1.4 → 1.1.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 +125 -0
- package/dist/agent/DextoAgent.cjs +793 -0
- package/dist/agent/DextoAgent.d.cts +473 -0
- package/dist/agent/DextoAgent.d.ts +473 -0
- package/dist/agent/DextoAgent.js +774 -0
- package/dist/agent/agentCard.cjs +44 -0
- package/dist/agent/agentCard.d.cts +20 -0
- package/dist/agent/agentCard.d.ts +20 -0
- package/dist/agent/agentCard.js +20 -0
- package/dist/agent/error-codes.cjs +35 -0
- package/dist/agent/error-codes.d.cts +14 -0
- package/dist/agent/error-codes.d.ts +14 -0
- package/dist/agent/error-codes.js +11 -0
- package/dist/agent/errors.cjs +84 -0
- package/dist/agent/errors.d.cts +40 -0
- package/dist/agent/errors.d.ts +40 -0
- package/dist/agent/errors.js +60 -0
- package/dist/agent/index.cjs +44 -0
- package/dist/agent/index.d.cts +60 -0
- package/dist/agent/index.d.ts +60 -0
- package/dist/agent/index.js +13 -0
- package/dist/agent/registry/error-codes.cjs +42 -0
- package/dist/agent/registry/error-codes.d.cts +20 -0
- package/dist/agent/registry/error-codes.d.ts +20 -0
- package/dist/agent/registry/error-codes.js +18 -0
- package/dist/agent/registry/errors.cjs +158 -0
- package/dist/agent/registry/errors.d.cts +67 -0
- package/dist/agent/registry/errors.d.ts +67 -0
- package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
- package/dist/agent/registry/registry.cjs +291 -0
- package/dist/agent/registry/registry.d.cts +67 -0
- package/dist/agent/registry/registry.d.ts +67 -0
- package/dist/agent/registry/registry.js +256 -0
- package/dist/agent/registry/types.cjs +41 -0
- package/dist/agent/registry/types.d.cts +100 -0
- package/dist/agent/registry/types.d.ts +100 -0
- package/dist/agent/registry/types.js +16 -0
- package/dist/agent/schemas.cjs +113 -0
- package/dist/agent/schemas.d.cts +1502 -0
- package/dist/agent/schemas.d.ts +1502 -0
- package/dist/agent/schemas.js +88 -0
- package/dist/agent/state-manager.cjs +214 -0
- package/dist/agent/state-manager.d.cts +97 -0
- package/dist/agent/state-manager.d.ts +97 -0
- package/dist/agent/state-manager.js +190 -0
- package/dist/config/agent-resolver.cjs +153 -0
- package/dist/config/agent-resolver.d.cts +15 -0
- package/dist/config/agent-resolver.d.ts +15 -0
- package/dist/config/agent-resolver.js +122 -0
- package/dist/config/error-codes.cjs +39 -0
- package/dist/config/error-codes.d.cts +17 -0
- package/dist/config/error-codes.d.ts +17 -0
- package/dist/config/error-codes.js +15 -0
- package/dist/config/errors.cjs +126 -0
- package/dist/config/errors.d.cts +49 -0
- package/dist/config/errors.d.ts +49 -0
- package/dist/config/errors.js +102 -0
- package/dist/config/index.cjs +26 -0
- package/dist/config/index.d.cts +7 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.js +3 -0
- package/dist/config/loader.cjs +119 -0
- package/dist/config/loader.d.cts +19 -0
- package/dist/config/loader.d.ts +19 -0
- package/dist/config/loader.js +85 -0
- package/dist/config/writer.cjs +182 -0
- package/dist/config/writer.d.cts +38 -0
- package/dist/config/writer.d.ts +38 -0
- package/dist/config/writer.js +146 -0
- package/dist/context/compression/middle-removal.cjs +95 -0
- package/dist/context/compression/middle-removal.d.cts +48 -0
- package/dist/context/compression/middle-removal.d.ts +48 -0
- package/dist/context/compression/middle-removal.js +71 -0
- package/dist/context/compression/oldest-removal.cjs +70 -0
- package/dist/context/compression/oldest-removal.d.cts +43 -0
- package/dist/context/compression/oldest-removal.d.ts +43 -0
- package/dist/context/compression/oldest-removal.js +46 -0
- package/dist/context/compression/types.cjs +16 -0
- package/dist/context/compression/types.d.cts +21 -0
- package/dist/context/compression/types.d.ts +21 -0
- package/dist/context/compression/types.js +0 -0
- package/dist/context/error-codes.cjs +41 -0
- package/dist/context/error-codes.d.cts +19 -0
- package/dist/context/error-codes.d.ts +19 -0
- package/dist/context/error-codes.js +17 -0
- package/dist/context/errors.cjs +146 -0
- package/dist/context/errors.d.cts +36 -0
- package/dist/context/errors.d.ts +36 -0
- package/dist/context/errors.js +122 -0
- package/dist/context/index.cjs +24 -0
- package/dist/context/index.d.cts +19 -0
- package/dist/context/index.d.ts +19 -0
- package/dist/context/index.js +2 -0
- package/dist/context/manager.cjs +516 -0
- package/dist/context/manager.d.cts +254 -0
- package/dist/context/manager.d.ts +254 -0
- package/dist/context/manager.js +492 -0
- package/dist/context/types.cjs +16 -0
- package/dist/context/types.d.cts +113 -0
- package/dist/context/types.d.ts +113 -0
- package/dist/context/types.js +0 -0
- package/dist/context/utils.cjs +406 -0
- package/dist/context/utils.d.cts +79 -0
- package/dist/context/utils.d.ts +79 -0
- package/dist/context/utils.js +374 -0
- package/dist/errors/DextoBaseError.cjs +36 -0
- package/dist/errors/DextoBaseError.d.cts +15 -0
- package/dist/errors/DextoBaseError.d.ts +15 -0
- package/dist/errors/DextoBaseError.js +12 -0
- package/dist/errors/DextoRuntimeError.cjs +50 -0
- package/dist/errors/DextoRuntimeError.d.cts +37 -0
- package/dist/errors/DextoRuntimeError.d.ts +37 -0
- package/dist/errors/DextoRuntimeError.js +26 -0
- package/dist/errors/DextoValidationError.cjs +118 -0
- package/dist/errors/DextoValidationError.d.cts +65 -0
- package/dist/errors/DextoValidationError.d.ts +65 -0
- package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
- package/dist/errors/index.cjs +42 -0
- package/dist/errors/index.d.cts +18 -0
- package/dist/errors/index.d.ts +18 -0
- package/dist/errors/index.js +13 -0
- package/dist/errors/result-bridge.cjs +38 -0
- package/dist/errors/result-bridge.d.cts +39 -0
- package/dist/errors/result-bridge.d.ts +39 -0
- package/dist/errors/result-bridge.js +14 -0
- package/dist/errors/types.cjs +54 -0
- package/dist/errors/types.d.cts +62 -0
- package/dist/errors/types.d.ts +62 -0
- package/dist/errors/types.js +29 -0
- package/dist/events/index.cjs +169 -0
- package/dist/events/index.d.cts +272 -0
- package/dist/events/index.d.ts +272 -0
- package/dist/events/index.js +136 -0
- package/dist/index.browser.cjs +9 -220
- package/dist/index.browser.d.cts +53 -379
- package/dist/index.browser.d.ts +53 -379
- package/dist/index.browser.js +4 -210
- package/dist/index.cjs +31 -15266
- package/dist/index.d.cts +89 -6842
- package/dist/index.d.ts +89 -6842
- package/dist/index.js +14 -9914
- package/dist/llm/error-codes.cjs +48 -0
- package/dist/llm/error-codes.d.cts +26 -0
- package/dist/llm/error-codes.d.ts +26 -0
- package/dist/llm/error-codes.js +24 -0
- package/dist/llm/errors.cjs +108 -0
- package/dist/llm/errors.d.cts +58 -0
- package/dist/llm/errors.d.ts +58 -0
- package/dist/llm/errors.js +84 -0
- package/dist/llm/formatters/anthropic.cjs +246 -0
- package/dist/llm/formatters/anthropic.d.cts +45 -0
- package/dist/llm/formatters/anthropic.d.ts +45 -0
- package/dist/llm/formatters/anthropic.js +227 -0
- package/dist/llm/formatters/factory.cjs +51 -0
- package/dist/llm/formatters/factory.d.cts +12 -0
- package/dist/llm/formatters/factory.d.ts +12 -0
- package/dist/llm/formatters/factory.js +27 -0
- package/dist/llm/formatters/openai.cjs +167 -0
- package/dist/llm/formatters/openai.d.cts +38 -0
- package/dist/llm/formatters/openai.d.ts +38 -0
- package/dist/llm/formatters/openai.js +147 -0
- package/dist/llm/formatters/types.cjs +16 -0
- package/dist/llm/formatters/types.d.cts +43 -0
- package/dist/llm/formatters/types.d.ts +43 -0
- package/dist/llm/formatters/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +411 -0
- package/dist/llm/formatters/vercel.d.cts +48 -0
- package/dist/llm/formatters/vercel.d.ts +48 -0
- package/dist/llm/formatters/vercel.js +387 -0
- package/dist/llm/index.cjs +34 -0
- package/dist/llm/index.d.cts +39 -0
- package/dist/llm/index.d.ts +39 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/registry.cjs +881 -0
- package/dist/llm/registry.d.cts +176 -0
- package/dist/llm/registry.d.ts +176 -0
- package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
- package/dist/llm/resolver.cjs +154 -0
- package/dist/llm/resolver.d.cts +34 -0
- package/dist/llm/resolver.d.ts +34 -0
- package/dist/llm/resolver.js +136 -0
- package/dist/llm/schemas.cjs +188 -0
- package/dist/llm/schemas.d.cts +111 -0
- package/dist/llm/schemas.d.ts +111 -0
- package/dist/llm/schemas.js +172 -0
- package/dist/llm/services/anthropic.cjs +398 -0
- package/dist/llm/services/anthropic.d.cts +65 -0
- package/dist/llm/services/anthropic.d.ts +65 -0
- package/dist/llm/services/anthropic.js +374 -0
- package/dist/llm/services/factory.cjs +164 -0
- package/dist/llm/services/factory.d.cts +39 -0
- package/dist/llm/services/factory.d.ts +39 -0
- package/dist/llm/services/factory.js +130 -0
- package/dist/llm/services/index.cjs +22 -0
- package/dist/llm/services/index.d.cts +21 -0
- package/dist/llm/services/index.d.ts +21 -0
- package/dist/llm/services/index.js +1 -0
- package/dist/llm/services/openai.cjs +470 -0
- package/dist/llm/services/openai.d.cts +65 -0
- package/dist/llm/services/openai.d.ts +65 -0
- package/dist/llm/services/openai.js +446 -0
- package/dist/llm/services/test-utils.integration.cjs +169 -0
- package/dist/llm/services/test-utils.integration.d.cts +83 -0
- package/dist/llm/services/test-utils.integration.d.ts +83 -0
- package/dist/llm/services/test-utils.integration.js +142 -0
- package/dist/llm/services/types.cjs +16 -0
- package/dist/llm/services/types.d.cts +56 -0
- package/dist/llm/services/types.d.ts +56 -0
- package/dist/llm/services/types.js +0 -0
- package/dist/llm/services/vercel.cjs +525 -0
- package/dist/llm/services/vercel.d.cts +72 -0
- package/dist/llm/services/vercel.d.ts +72 -0
- package/dist/llm/services/vercel.js +506 -0
- package/dist/llm/tokenizer/anthropic.cjs +43 -0
- package/dist/llm/tokenizer/anthropic.d.cts +21 -0
- package/dist/llm/tokenizer/anthropic.d.ts +21 -0
- package/dist/llm/tokenizer/anthropic.js +19 -0
- package/dist/llm/tokenizer/default.cjs +41 -0
- package/dist/llm/tokenizer/default.d.cts +16 -0
- package/dist/llm/tokenizer/default.d.ts +16 -0
- package/dist/llm/tokenizer/default.js +17 -0
- package/dist/llm/tokenizer/factory.cjs +44 -0
- package/dist/llm/tokenizer/factory.d.cts +12 -0
- package/dist/llm/tokenizer/factory.d.ts +12 -0
- package/dist/llm/tokenizer/factory.js +20 -0
- package/dist/llm/tokenizer/google.cjs +52 -0
- package/dist/llm/tokenizer/google.d.cts +31 -0
- package/dist/llm/tokenizer/google.d.ts +31 -0
- package/dist/llm/tokenizer/google.js +28 -0
- package/dist/llm/tokenizer/openai.cjs +108 -0
- package/dist/llm/tokenizer/openai.d.cts +32 -0
- package/dist/llm/tokenizer/openai.d.ts +32 -0
- package/dist/llm/tokenizer/openai.js +83 -0
- package/dist/llm/tokenizer/types.cjs +33 -0
- package/dist/llm/tokenizer/types.d.cts +19 -0
- package/dist/llm/tokenizer/types.d.ts +19 -0
- package/dist/llm/tokenizer/types.js +9 -0
- package/dist/llm/types.cjs +42 -0
- package/dist/llm/types.d.cts +29 -0
- package/dist/llm/types.d.ts +29 -0
- package/dist/llm/types.js +16 -0
- package/dist/llm/validation.cjs +162 -0
- package/dist/llm/validation.d.cts +60 -0
- package/dist/llm/validation.d.ts +60 -0
- package/dist/llm/validation.js +138 -0
- package/dist/logger/browser.cjs +86 -0
- package/dist/logger/browser.d.cts +29 -0
- package/dist/logger/browser.d.ts +29 -0
- package/dist/logger/browser.js +61 -0
- package/dist/logger/index.cjs +22 -0
- package/dist/logger/index.d.cts +1 -0
- package/dist/logger/index.d.ts +1 -0
- package/dist/logger/index.js +1 -0
- package/dist/logger/logger.cjs +362 -0
- package/dist/logger/logger.d.cts +52 -0
- package/dist/logger/logger.d.ts +52 -0
- package/dist/logger/logger.js +327 -0
- package/dist/mcp/error-codes.cjs +38 -0
- package/dist/mcp/error-codes.d.cts +16 -0
- package/dist/mcp/error-codes.d.ts +16 -0
- package/dist/mcp/error-codes.js +14 -0
- package/dist/mcp/errors.cjs +131 -0
- package/dist/mcp/errors.d.cts +72 -0
- package/dist/mcp/errors.d.ts +72 -0
- package/dist/mcp/errors.js +107 -0
- package/dist/mcp/index.cjs +34 -0
- package/dist/mcp/index.d.cts +26 -0
- package/dist/mcp/index.d.ts +26 -0
- package/dist/mcp/index.js +7 -0
- package/dist/mcp/manager.cjs +473 -0
- package/dist/mcp/manager.d.cts +163 -0
- package/dist/mcp/manager.d.ts +163 -0
- package/dist/mcp/manager.js +449 -0
- package/dist/mcp/mcp-client.cjs +420 -0
- package/dist/mcp/mcp-client.d.cts +108 -0
- package/dist/mcp/mcp-client.d.ts +108 -0
- package/dist/mcp/mcp-client.js +396 -0
- package/dist/mcp/resolver.cjs +78 -0
- package/dist/mcp/resolver.d.cts +22 -0
- package/dist/mcp/resolver.d.ts +22 -0
- package/dist/mcp/resolver.js +56 -0
- package/dist/mcp/schemas.cjs +82 -0
- package/dist/mcp/schemas.d.cts +266 -0
- package/dist/mcp/schemas.d.ts +266 -0
- package/dist/mcp/schemas.js +54 -0
- package/dist/mcp/types.cjs +16 -0
- package/dist/mcp/types.d.cts +21 -0
- package/dist/mcp/types.d.ts +21 -0
- package/dist/mcp/types.js +0 -0
- package/dist/preferences/constants.cjs +28 -0
- package/dist/preferences/constants.d.cts +3 -0
- package/dist/preferences/constants.d.ts +3 -0
- package/dist/preferences/constants.js +4 -0
- package/dist/preferences/error-codes.cjs +35 -0
- package/dist/preferences/error-codes.d.cts +9 -0
- package/dist/preferences/error-codes.d.ts +9 -0
- package/dist/preferences/error-codes.js +11 -0
- package/dist/preferences/errors.cjs +75 -0
- package/dist/preferences/errors.d.cts +33 -0
- package/dist/preferences/errors.d.ts +33 -0
- package/dist/preferences/errors.js +50 -0
- package/dist/preferences/index.cjs +55 -0
- package/dist/preferences/index.d.cts +21 -0
- package/dist/preferences/index.d.ts +21 -0
- package/dist/preferences/index.js +31 -0
- package/dist/preferences/loader.cjs +136 -0
- package/dist/preferences/loader.d.cts +45 -0
- package/dist/preferences/loader.d.ts +45 -0
- package/dist/preferences/loader.js +107 -0
- package/dist/preferences/schemas.cjs +74 -0
- package/dist/preferences/schemas.d.cts +104 -0
- package/dist/preferences/schemas.d.ts +104 -0
- package/dist/preferences/schemas.js +47 -0
- package/dist/search/index.cjs +28 -0
- package/dist/search/index.d.cts +5 -0
- package/dist/search/index.d.ts +5 -0
- package/dist/search/index.js +4 -0
- package/dist/search/search-service.cjs +245 -0
- package/dist/search/search-service.d.cts +47 -0
- package/dist/search/search-service.d.ts +47 -0
- package/dist/search/search-service.js +221 -0
- package/dist/search/types.cjs +16 -0
- package/dist/search/types.d.cts +78 -0
- package/dist/search/types.d.ts +78 -0
- package/dist/search/types.js +0 -0
- package/dist/session/chat-session.cjs +354 -0
- package/dist/session/chat-session.d.cts +284 -0
- package/dist/session/chat-session.d.ts +284 -0
- package/dist/session/chat-session.js +333 -0
- package/dist/session/error-codes.cjs +35 -0
- package/dist/session/error-codes.d.cts +13 -0
- package/dist/session/error-codes.d.ts +13 -0
- package/dist/session/error-codes.js +11 -0
- package/dist/session/errors.cjs +93 -0
- package/dist/session/errors.d.cts +58 -0
- package/dist/session/errors.d.ts +58 -0
- package/dist/session/errors.js +69 -0
- package/dist/session/history/database.cjs +95 -0
- package/dist/session/history/database.d.cts +28 -0
- package/dist/session/history/database.d.ts +28 -0
- package/dist/session/history/database.js +71 -0
- package/dist/session/history/factory.cjs +31 -0
- package/dist/session/history/factory.d.cts +11 -0
- package/dist/session/history/factory.d.ts +11 -0
- package/dist/session/history/factory.js +7 -0
- package/dist/session/history/types.cjs +16 -0
- package/dist/session/history/types.d.cts +17 -0
- package/dist/session/history/types.d.ts +17 -0
- package/dist/session/history/types.js +0 -0
- package/dist/session/index.cjs +37 -0
- package/dist/session/index.d.cts +53 -0
- package/dist/session/index.d.ts +53 -0
- package/dist/session/index.js +10 -0
- package/dist/session/schemas.cjs +32 -0
- package/dist/session/schemas.d.cts +16 -0
- package/dist/session/schemas.d.ts +16 -0
- package/dist/session/schemas.js +8 -0
- package/dist/session/session-manager.cjs +481 -0
- package/dist/session/session-manager.d.cts +219 -0
- package/dist/session/session-manager.d.ts +219 -0
- package/dist/session/session-manager.js +457 -0
- package/dist/storage/backend/cache-backend.cjs +16 -0
- package/dist/storage/backend/cache-backend.d.cts +15 -0
- package/dist/storage/backend/cache-backend.d.ts +15 -0
- package/dist/storage/backend/cache-backend.js +0 -0
- package/dist/storage/backend/database-backend.cjs +16 -0
- package/dist/storage/backend/database-backend.d.cts +19 -0
- package/dist/storage/backend/database-backend.d.ts +19 -0
- package/dist/storage/backend/database-backend.js +0 -0
- package/dist/storage/backend/memory-backend.cjs +140 -0
- package/dist/storage/backend/memory-backend.d.cts +34 -0
- package/dist/storage/backend/memory-backend.d.ts +34 -0
- package/dist/storage/backend/memory-backend.js +116 -0
- package/dist/storage/backend/postgres-backend.cjs +231 -0
- package/dist/storage/backend/postgres-backend.d.cts +37 -0
- package/dist/storage/backend/postgres-backend.d.ts +37 -0
- package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
- package/dist/storage/backend/redis-backend.cjs +184 -0
- package/dist/storage/backend/redis-backend.d.cts +36 -0
- package/dist/storage/backend/redis-backend.d.ts +36 -0
- package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
- package/dist/storage/backend/sqlite-backend.cjs +271 -0
- package/dist/storage/backend/sqlite-backend.d.cts +35 -0
- package/dist/storage/backend/sqlite-backend.d.ts +35 -0
- package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
- package/dist/storage/backend/types.cjs +16 -0
- package/dist/storage/backend/types.d.cts +14 -0
- package/dist/storage/backend/types.d.ts +14 -0
- package/dist/storage/backend/types.js +0 -0
- package/dist/storage/error-codes.cjs +36 -0
- package/dist/storage/error-codes.d.cts +14 -0
- package/dist/storage/error-codes.d.ts +14 -0
- package/dist/storage/error-codes.js +12 -0
- package/dist/storage/errors.cjs +104 -0
- package/dist/storage/errors.d.cts +63 -0
- package/dist/storage/errors.d.ts +63 -0
- package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
- package/dist/storage/index.cjs +33 -0
- package/dist/storage/index.d.cts +7 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/schemas.cjs +113 -0
- package/dist/storage/schemas.d.cts +856 -0
- package/dist/storage/schemas.d.ts +856 -0
- package/dist/storage/schemas.js +89 -0
- package/dist/storage/storage-manager.cjs +208 -0
- package/dist/storage/storage-manager.d.cts +52 -0
- package/dist/storage/storage-manager.d.ts +52 -0
- package/dist/storage/storage-manager.js +173 -0
- package/dist/storage/types.cjs +16 -0
- package/dist/storage/types.d.cts +5 -0
- package/dist/storage/types.d.ts +5 -0
- package/dist/storage/types.js +0 -0
- package/dist/systemPrompt/contributors.cjs +146 -0
- package/dist/systemPrompt/contributors.d.cts +44 -0
- package/dist/systemPrompt/contributors.d.ts +44 -0
- package/dist/systemPrompt/contributors.js +120 -0
- package/dist/systemPrompt/error-codes.cjs +35 -0
- package/dist/systemPrompt/error-codes.d.cts +13 -0
- package/dist/systemPrompt/error-codes.d.ts +13 -0
- package/dist/systemPrompt/error-codes.js +11 -0
- package/dist/systemPrompt/errors.cjs +93 -0
- package/dist/systemPrompt/errors.d.cts +55 -0
- package/dist/systemPrompt/errors.d.ts +55 -0
- package/dist/systemPrompt/errors.js +69 -0
- package/dist/systemPrompt/in-built-prompts.cjs +68 -0
- package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
- package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
- package/dist/systemPrompt/in-built-prompts.js +42 -0
- package/dist/systemPrompt/index.cjs +30 -0
- package/dist/systemPrompt/index.d.cts +14 -0
- package/dist/systemPrompt/index.d.ts +14 -0
- package/dist/systemPrompt/index.js +5 -0
- package/dist/systemPrompt/manager.cjs +93 -0
- package/dist/systemPrompt/manager.d.cts +31 -0
- package/dist/systemPrompt/manager.d.ts +31 -0
- package/dist/systemPrompt/manager.js +69 -0
- package/dist/systemPrompt/registry.cjs +51 -0
- package/dist/systemPrompt/registry.d.cts +20 -0
- package/dist/systemPrompt/registry.d.ts +20 -0
- package/dist/systemPrompt/registry.js +15 -0
- package/dist/systemPrompt/schemas.cjs +107 -0
- package/dist/systemPrompt/schemas.d.cts +401 -0
- package/dist/systemPrompt/schemas.d.ts +401 -0
- package/dist/systemPrompt/schemas.js +81 -0
- package/dist/systemPrompt/types.cjs +16 -0
- package/dist/systemPrompt/types.d.cts +19 -0
- package/dist/systemPrompt/types.d.ts +19 -0
- package/dist/systemPrompt/types.js +0 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
- package/dist/tools/confirmation/factory.cjs +52 -0
- package/dist/tools/confirmation/factory.d.cts +37 -0
- package/dist/tools/confirmation/factory.d.ts +37 -0
- package/dist/tools/confirmation/factory.js +28 -0
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
- package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
- package/dist/tools/confirmation/types.cjs +16 -0
- package/dist/tools/confirmation/types.d.cts +46 -0
- package/dist/tools/confirmation/types.d.ts +46 -0
- package/dist/tools/confirmation/types.js +0 -0
- package/dist/tools/error-codes.cjs +40 -0
- package/dist/tools/error-codes.d.cts +18 -0
- package/dist/tools/error-codes.d.ts +18 -0
- package/dist/tools/error-codes.js +16 -0
- package/dist/tools/errors.cjs +164 -0
- package/dist/tools/errors.d.cts +97 -0
- package/dist/tools/errors.d.ts +97 -0
- package/dist/tools/errors.js +140 -0
- package/dist/tools/index.cjs +37 -0
- package/dist/tools/index.d.cts +19 -0
- package/dist/tools/index.d.ts +19 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
- package/dist/tools/internal-tools/index.cjs +24 -0
- package/dist/tools/internal-tools/index.d.cts +13 -0
- package/dist/tools/internal-tools/index.d.ts +13 -0
- package/dist/tools/internal-tools/index.js +2 -0
- package/dist/tools/internal-tools/provider.cjs +159 -0
- package/dist/tools/internal-tools/provider.d.cts +66 -0
- package/dist/tools/internal-tools/provider.d.ts +66 -0
- package/dist/tools/internal-tools/provider.js +135 -0
- package/dist/tools/internal-tools/registry.cjs +43 -0
- package/dist/tools/internal-tools/registry.d.cts +45 -0
- package/dist/tools/internal-tools/registry.d.ts +45 -0
- package/dist/tools/internal-tools/registry.js +17 -0
- package/dist/tools/schemas.cjs +45 -0
- package/dist/tools/schemas.d.cts +21 -0
- package/dist/tools/schemas.d.ts +21 -0
- package/dist/tools/schemas.js +20 -0
- package/dist/tools/tool-manager.cjs +275 -0
- package/dist/tools/tool-manager.d.cts +106 -0
- package/dist/tools/tool-manager.d.ts +106 -0
- package/dist/tools/tool-manager.js +251 -0
- package/dist/tools/types.cjs +16 -0
- package/dist/tools/types.d.cts +66 -0
- package/dist/tools/types.d.ts +66 -0
- package/dist/tools/types.js +0 -0
- package/dist/utils/api-key-resolver.cjs +62 -0
- package/dist/utils/api-key-resolver.d.cts +23 -0
- package/dist/utils/api-key-resolver.d.ts +23 -0
- package/dist/utils/api-key-resolver.js +36 -0
- package/dist/utils/api-key-store.cjs +56 -0
- package/dist/utils/api-key-store.d.cts +26 -0
- package/dist/utils/api-key-store.d.ts +26 -0
- package/dist/utils/api-key-store.js +30 -0
- package/dist/utils/env.cjs +154 -0
- package/dist/utils/env.d.cts +29 -0
- package/dist/utils/env.d.ts +29 -0
- package/dist/utils/env.js +118 -0
- package/dist/utils/error-conversion.cjs +53 -0
- package/dist/utils/error-conversion.d.cts +13 -0
- package/dist/utils/error-conversion.d.ts +13 -0
- package/dist/utils/error-conversion.js +29 -0
- package/dist/utils/execution-context.cjs +85 -0
- package/dist/utils/execution-context.d.cts +21 -0
- package/dist/utils/execution-context.d.ts +21 -0
- package/dist/utils/execution-context.js +49 -0
- package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
- package/dist/utils/fs-walk.d.cts +9 -0
- package/dist/utils/fs-walk.d.ts +9 -0
- package/dist/utils/fs-walk.js +18 -0
- package/dist/utils/index.cjs +44 -0
- package/dist/utils/index.d.cts +63 -0
- package/dist/utils/index.d.ts +63 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/path.cjs +197 -0
- package/dist/utils/path.d.cts +54 -0
- package/dist/utils/path.d.ts +54 -0
- package/dist/utils/path.js +159 -0
- package/dist/utils/port-utils.cjs +37 -0
- package/dist/utils/port-utils.d.cts +11 -0
- package/dist/utils/port-utils.d.ts +11 -0
- package/dist/utils/port-utils.js +13 -0
- package/dist/utils/port-utils.spec.cjs +26 -0
- package/dist/utils/port-utils.spec.d.cts +2 -0
- package/dist/utils/port-utils.spec.d.ts +2 -0
- package/dist/utils/port-utils.spec.js +25 -0
- package/dist/utils/redactor.cjs +105 -0
- package/dist/utils/redactor.d.cts +18 -0
- package/dist/utils/redactor.d.ts +18 -0
- package/dist/utils/redactor.js +81 -0
- package/dist/utils/result.cjs +115 -0
- package/dist/utils/result.d.cts +180 -0
- package/dist/utils/result.d.ts +180 -0
- package/dist/utils/result.js +82 -0
- package/dist/utils/safe-stringify.cjs +57 -0
- package/dist/utils/safe-stringify.d.cts +7 -0
- package/dist/utils/safe-stringify.d.ts +7 -0
- package/dist/utils/safe-stringify.js +33 -0
- package/dist/utils/schema.cjs +42 -0
- package/dist/utils/schema.d.cts +6 -0
- package/dist/utils/schema.d.ts +6 -0
- package/dist/utils/schema.js +18 -0
- package/dist/utils/service-initializer.cjs +119 -0
- package/dist/utils/service-initializer.d.cts +63 -0
- package/dist/utils/service-initializer.d.ts +63 -0
- package/dist/utils/service-initializer.js +95 -0
- package/dist/utils/user-info.cjs +30 -0
- package/dist/utils/user-info.d.cts +3 -0
- package/dist/utils/user-info.d.ts +3 -0
- package/dist/utils/user-info.js +6 -0
- package/dist/utils/zod-schema-converter.cjs +112 -0
- package/dist/utils/zod-schema-converter.d.cts +13 -0
- package/dist/utils/zod-schema-converter.d.ts +13 -0
- package/dist/utils/zod-schema-converter.js +87 -0
- package/package.json +2 -2
- package/dist/chunk-D62MHQBE.js +0 -2203
- package/dist/chunk-FCJVTIBV.js +0 -535
- package/dist/chunk-TPERKLLN.js +0 -75
- package/dist/errors-ZZ4Z3FKB.js +0 -10
- package/dist/loader-HBNEYPQZ.js +0 -20
- package/dist/path-TP7WBDED.js +0 -21
- package/dist/registry-Z4DFXODW.js +0 -14
|
@@ -1,151 +1,11 @@
|
|
|
1
|
+
import { LLMError } from "./errors.js";
|
|
2
|
+
import { LLMErrorCode } from "./error-codes.js";
|
|
3
|
+
import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
|
|
1
4
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
logger
|
|
7
|
-
} from "./chunk-D62MHQBE.js";
|
|
8
|
-
import {
|
|
9
|
-
DextoRuntimeError
|
|
10
|
-
} from "./chunk-TPERKLLN.js";
|
|
11
|
-
import {
|
|
12
|
-
init_esm_shims
|
|
13
|
-
} from "./chunk-MVKLS3LM.js";
|
|
14
|
-
|
|
15
|
-
// src/preferences/loader.ts
|
|
16
|
-
init_esm_shims();
|
|
17
|
-
import { existsSync } from "fs";
|
|
18
|
-
import { promises as fs } from "fs";
|
|
19
|
-
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
20
|
-
|
|
21
|
-
// src/preferences/schemas.ts
|
|
22
|
-
init_esm_shims();
|
|
23
|
-
import { z as z2 } from "zod";
|
|
24
|
-
|
|
25
|
-
// src/llm/registry.ts
|
|
26
|
-
init_esm_shims();
|
|
27
|
-
|
|
28
|
-
// src/llm/errors.ts
|
|
29
|
-
init_esm_shims();
|
|
30
|
-
|
|
31
|
-
// src/llm/error-codes.ts
|
|
32
|
-
init_esm_shims();
|
|
33
|
-
var LLMErrorCode = /* @__PURE__ */ ((LLMErrorCode2) => {
|
|
34
|
-
LLMErrorCode2["API_KEY_MISSING"] = "llm_api_key_missing";
|
|
35
|
-
LLMErrorCode2["API_KEY_INVALID"] = "llm_api_key_invalid";
|
|
36
|
-
LLMErrorCode2["API_KEY_CANDIDATE_MISSING"] = "llm_api_key_candidate_missing";
|
|
37
|
-
LLMErrorCode2["BASE_URL_MISSING"] = "llm_base_url_missing";
|
|
38
|
-
LLMErrorCode2["BASE_URL_INVALID"] = "llm_base_url_invalid";
|
|
39
|
-
LLMErrorCode2["MODEL_INCOMPATIBLE"] = "llm_model_incompatible";
|
|
40
|
-
LLMErrorCode2["MODEL_UNKNOWN"] = "llm_model_unknown";
|
|
41
|
-
LLMErrorCode2["PROVIDER_UNSUPPORTED"] = "llm_provider_unsupported";
|
|
42
|
-
LLMErrorCode2["ROUTER_UNSUPPORTED"] = "llm_router_unsupported";
|
|
43
|
-
LLMErrorCode2["INPUT_FILE_UNSUPPORTED"] = "llm_input_file_unsupported";
|
|
44
|
-
LLMErrorCode2["INPUT_IMAGE_UNSUPPORTED"] = "llm_input_image_unsupported";
|
|
45
|
-
LLMErrorCode2["INPUT_TEXT_INVALID"] = "llm_input_text_invalid";
|
|
46
|
-
LLMErrorCode2["TOKENS_EXCEEDED"] = "llm_tokens_exceeded";
|
|
47
|
-
LLMErrorCode2["RATE_LIMIT_EXCEEDED"] = "llm_rate_limit_exceeded";
|
|
48
|
-
LLMErrorCode2["SWITCH_FAILED"] = "llm_switch_failed";
|
|
49
|
-
LLMErrorCode2["GENERATION_FAILED"] = "llm_generation_failed";
|
|
50
|
-
LLMErrorCode2["SWITCH_INPUT_MISSING"] = "llm_switch_input_missing";
|
|
51
|
-
LLMErrorCode2["REQUEST_INVALID_SCHEMA"] = "llm_request_invalid_schema";
|
|
52
|
-
return LLMErrorCode2;
|
|
53
|
-
})(LLMErrorCode || {});
|
|
54
|
-
|
|
55
|
-
// src/llm/errors.ts
|
|
56
|
-
var LLMError = class {
|
|
57
|
-
// Runtime model/provider lookup errors
|
|
58
|
-
static unknownModel(provider, model) {
|
|
59
|
-
return new DextoRuntimeError(
|
|
60
|
-
"llm_model_unknown" /* MODEL_UNKNOWN */,
|
|
61
|
-
"llm" /* LLM */,
|
|
62
|
-
"user" /* USER */,
|
|
63
|
-
`Unknown model '${model}' for provider '${provider}'`,
|
|
64
|
-
{ provider, model }
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
static baseUrlMissing(provider) {
|
|
68
|
-
return new DextoRuntimeError(
|
|
69
|
-
"llm_base_url_missing" /* BASE_URL_MISSING */,
|
|
70
|
-
"llm" /* LLM */,
|
|
71
|
-
"user" /* USER */,
|
|
72
|
-
`Provider '${provider}' requires a baseURL (set config.baseURL or OPENAI_BASE_URL environment variable)`,
|
|
73
|
-
{ provider }
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
static modelProviderUnknown(model) {
|
|
77
|
-
const availableProviders = getSupportedProviders();
|
|
78
|
-
return new DextoRuntimeError(
|
|
79
|
-
"llm_model_unknown" /* MODEL_UNKNOWN */,
|
|
80
|
-
"llm" /* LLM */,
|
|
81
|
-
"user" /* USER */,
|
|
82
|
-
`Unknown model '${model}' - could not infer provider. Available providers: ${availableProviders.join(", ")}`,
|
|
83
|
-
{ model, availableProviders },
|
|
84
|
-
"Specify the provider explicitly or use a recognized model name"
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
static unsupportedRouter(router, provider) {
|
|
88
|
-
const supportedRouters = getSupportedRoutersForProvider(provider).map((r) => r);
|
|
89
|
-
return new DextoRuntimeError(
|
|
90
|
-
"llm_router_unsupported" /* ROUTER_UNSUPPORTED */,
|
|
91
|
-
"llm" /* LLM */,
|
|
92
|
-
"user" /* USER */,
|
|
93
|
-
`Router '${router}' not supported for provider '${provider}'. Supported: ${supportedRouters.join(", ")}`,
|
|
94
|
-
{ router, provider, supportedRouters }
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
// Runtime service errors
|
|
98
|
-
static rateLimitExceeded(provider, retryAfter) {
|
|
99
|
-
return new DextoRuntimeError(
|
|
100
|
-
"llm_rate_limit_exceeded" /* RATE_LIMIT_EXCEEDED */,
|
|
101
|
-
"llm" /* LLM */,
|
|
102
|
-
"rate_limit" /* RATE_LIMIT */,
|
|
103
|
-
`Rate limit exceeded for ${provider}`,
|
|
104
|
-
{
|
|
105
|
-
details: { provider, retryAfter },
|
|
106
|
-
recovery: retryAfter ? `Wait ${retryAfter} seconds before retrying` : "Wait before retrying or upgrade your plan"
|
|
107
|
-
}
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
// Runtime operation errors
|
|
111
|
-
static generationFailed(error, provider, model) {
|
|
112
|
-
return new DextoRuntimeError(
|
|
113
|
-
"llm_generation_failed" /* GENERATION_FAILED */,
|
|
114
|
-
"llm" /* LLM */,
|
|
115
|
-
"third_party" /* THIRD_PARTY */,
|
|
116
|
-
`Generation failed: ${error}`,
|
|
117
|
-
{ details: { error, provider, model } }
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
// Switch operation errors (runtime checks not covered by Zod)
|
|
121
|
-
static switchInputMissing() {
|
|
122
|
-
return new DextoRuntimeError(
|
|
123
|
-
"llm_switch_input_missing" /* SWITCH_INPUT_MISSING */,
|
|
124
|
-
"llm" /* LLM */,
|
|
125
|
-
"user" /* USER */,
|
|
126
|
-
"At least model or provider must be specified for LLM switch",
|
|
127
|
-
{},
|
|
128
|
-
"Provide either a model name, provider, or both"
|
|
129
|
-
);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// src/llm/types.ts
|
|
134
|
-
init_esm_shims();
|
|
135
|
-
var LLM_PROVIDERS = [
|
|
136
|
-
"openai",
|
|
137
|
-
"openai-compatible",
|
|
138
|
-
"anthropic",
|
|
139
|
-
"google",
|
|
140
|
-
"groq",
|
|
141
|
-
"xai",
|
|
142
|
-
"cohere"
|
|
143
|
-
];
|
|
144
|
-
var LLM_ROUTERS = ["vercel", "in-built"];
|
|
145
|
-
var SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
|
|
146
|
-
|
|
147
|
-
// src/llm/registry.ts
|
|
148
|
-
var MIME_TYPE_TO_FILE_TYPE = {
|
|
5
|
+
LLM_PROVIDERS
|
|
6
|
+
} from "./types.js";
|
|
7
|
+
import { logger } from "../logger/index.js";
|
|
8
|
+
const MIME_TYPE_TO_FILE_TYPE = {
|
|
149
9
|
"application/pdf": "pdf",
|
|
150
10
|
"audio/mp3": "audio",
|
|
151
11
|
"audio/mpeg": "audio",
|
|
@@ -166,8 +26,8 @@ var MIME_TYPE_TO_FILE_TYPE = {
|
|
|
166
26
|
function getAllowedMimeTypes() {
|
|
167
27
|
return Object.keys(MIME_TYPE_TO_FILE_TYPE);
|
|
168
28
|
}
|
|
169
|
-
|
|
170
|
-
|
|
29
|
+
const DEFAULT_MAX_INPUT_TOKENS = 128e3;
|
|
30
|
+
const LLM_REGISTRY = {
|
|
171
31
|
openai: {
|
|
172
32
|
models: [
|
|
173
33
|
{
|
|
@@ -909,7 +769,7 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
909
769
|
return configuredMaxInputTokens;
|
|
910
770
|
}
|
|
911
771
|
} catch (error) {
|
|
912
|
-
if (error instanceof DextoRuntimeError && error.code ===
|
|
772
|
+
if (error instanceof DextoRuntimeError && error.code === LLMErrorCode.MODEL_UNKNOWN) {
|
|
913
773
|
logger.warn(
|
|
914
774
|
`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.`
|
|
915
775
|
);
|
|
@@ -941,7 +801,7 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
941
801
|
);
|
|
942
802
|
return registryMaxInputTokens;
|
|
943
803
|
} catch (error) {
|
|
944
|
-
if (error instanceof DextoRuntimeError && error.code ===
|
|
804
|
+
if (error instanceof DextoRuntimeError && error.code === LLMErrorCode.MODEL_UNKNOWN) {
|
|
945
805
|
logger.error(
|
|
946
806
|
`Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
|
|
947
807
|
);
|
|
@@ -952,317 +812,27 @@ function getEffectiveMaxInputTokens(config) {
|
|
|
952
812
|
}
|
|
953
813
|
}
|
|
954
814
|
}
|
|
955
|
-
|
|
956
|
-
// src/utils/result.ts
|
|
957
|
-
init_esm_shims();
|
|
958
|
-
import { z } from "zod";
|
|
959
|
-
var NonEmptyTrimmed = z.string().transform((s) => s.trim()).refine((s) => s.length > 0, { message: "Required" });
|
|
960
|
-
function isValidUrl(s) {
|
|
961
|
-
try {
|
|
962
|
-
const u = new URL(s);
|
|
963
|
-
return u.protocol === "http:" || u.protocol === "https:";
|
|
964
|
-
} catch {
|
|
965
|
-
return false;
|
|
966
|
-
}
|
|
967
|
-
}
|
|
968
|
-
var OptionalURL = z.string().transform((s) => s.trim()).refine((s) => s === "" || isValidUrl(s), { message: "Invalid URL" }).transform((s) => s === "" ? void 0 : s).optional();
|
|
969
|
-
var EnvExpandedString = (env) => z.string().transform((input) => {
|
|
970
|
-
if (typeof input !== "string") return "";
|
|
971
|
-
const envToUse = env ?? process.env;
|
|
972
|
-
const out = input.replace(
|
|
973
|
-
/\$([A-Z_][A-Z0-9_]*)|\${([A-Z_][A-Z0-9_]*)}/gi,
|
|
974
|
-
(_, a, b) => envToUse[a || b] ?? ""
|
|
975
|
-
);
|
|
976
|
-
return out.trim();
|
|
977
|
-
});
|
|
978
|
-
var NonEmptyEnvExpandedString = (env) => EnvExpandedString(env).refine((s) => s.length > 0, {
|
|
979
|
-
message: "Value is required"
|
|
980
|
-
});
|
|
981
|
-
var RequiredEnvURL = (env) => EnvExpandedString(env).refine(
|
|
982
|
-
(s) => {
|
|
983
|
-
try {
|
|
984
|
-
const u = new URL(s);
|
|
985
|
-
return u.protocol === "http:" || u.protocol === "https:";
|
|
986
|
-
} catch {
|
|
987
|
-
return false;
|
|
988
|
-
}
|
|
989
|
-
},
|
|
990
|
-
{ message: "Invalid URL" }
|
|
991
|
-
);
|
|
992
|
-
var ok = (data, issues = []) => ({
|
|
993
|
-
ok: true,
|
|
994
|
-
data,
|
|
995
|
-
issues
|
|
996
|
-
// warnings live alongside errors here
|
|
997
|
-
});
|
|
998
|
-
var fail = (issues) => ({
|
|
999
|
-
ok: false,
|
|
1000
|
-
issues
|
|
1001
|
-
});
|
|
1002
|
-
function hasErrors(issues) {
|
|
1003
|
-
return issues.some((i) => i.severity !== "warning");
|
|
1004
|
-
}
|
|
1005
|
-
function splitIssues(issues) {
|
|
1006
|
-
return {
|
|
1007
|
-
errors: issues.filter((i) => i.severity !== "warning"),
|
|
1008
|
-
warnings: issues.filter((i) => i.severity === "warning")
|
|
1009
|
-
};
|
|
1010
|
-
}
|
|
1011
|
-
function zodToIssues(err, severity = "error") {
|
|
1012
|
-
return err.errors.map((e) => {
|
|
1013
|
-
const params = e.params || {};
|
|
1014
|
-
return {
|
|
1015
|
-
code: params.code ?? "schema_validation",
|
|
1016
|
-
message: e.message,
|
|
1017
|
-
scope: params.scope ?? "agent" /* AGENT */,
|
|
1018
|
-
// Fallback for non-custom Zod errors
|
|
1019
|
-
// Treat plain Zod schema failures as USER errors by default
|
|
1020
|
-
type: params.type ?? "user" /* USER */,
|
|
1021
|
-
path: e.path,
|
|
1022
|
-
severity,
|
|
1023
|
-
context: params
|
|
1024
|
-
};
|
|
1025
|
-
});
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
// src/preferences/error-codes.ts
|
|
1029
|
-
init_esm_shims();
|
|
1030
|
-
var PreferenceErrorCode = /* @__PURE__ */ ((PreferenceErrorCode2) => {
|
|
1031
|
-
PreferenceErrorCode2["FILE_NOT_FOUND"] = "preference_file_not_found";
|
|
1032
|
-
PreferenceErrorCode2["FILE_READ_ERROR"] = "preference_file_read_error";
|
|
1033
|
-
PreferenceErrorCode2["FILE_WRITE_ERROR"] = "preference_file_write_error";
|
|
1034
|
-
PreferenceErrorCode2["VALIDATION_ERROR"] = "preference_validation_error";
|
|
1035
|
-
PreferenceErrorCode2["MODEL_INCOMPATIBLE"] = "preference_model_incompatible";
|
|
1036
|
-
return PreferenceErrorCode2;
|
|
1037
|
-
})(PreferenceErrorCode || {});
|
|
1038
|
-
|
|
1039
|
-
// src/preferences/schemas.ts
|
|
1040
|
-
var PreferenceLLMSchema = z2.object({
|
|
1041
|
-
provider: z2.enum(LLM_PROVIDERS).describe("LLM provider (openai, anthropic, google, etc.)"),
|
|
1042
|
-
model: NonEmptyTrimmed.describe("Model name for the provider"),
|
|
1043
|
-
apiKey: z2.string().regex(
|
|
1044
|
-
/^\$[A-Z_][A-Z0-9_]*$/,
|
|
1045
|
-
"Must be environment variable reference (e.g., $OPENAI_API_KEY)"
|
|
1046
|
-
).describe("Environment variable reference for API key")
|
|
1047
|
-
}).strict().superRefine((data, ctx) => {
|
|
1048
|
-
if (!isValidProviderModel(data.provider, data.model)) {
|
|
1049
|
-
const supportedModels = getSupportedModels(data.provider);
|
|
1050
|
-
ctx.addIssue({
|
|
1051
|
-
code: z2.ZodIssueCode.custom,
|
|
1052
|
-
path: ["model"],
|
|
1053
|
-
message: `Model '${data.model}' is not supported by provider '${data.provider}'. Supported models: ${supportedModels.join(", ")}`,
|
|
1054
|
-
params: {
|
|
1055
|
-
code: "preference_model_incompatible" /* MODEL_INCOMPATIBLE */,
|
|
1056
|
-
scope: "preference" /* PREFERENCE */,
|
|
1057
|
-
type: "user" /* USER */
|
|
1058
|
-
}
|
|
1059
|
-
});
|
|
1060
|
-
}
|
|
1061
|
-
});
|
|
1062
|
-
var PreferenceDefaultsSchema = z2.object({
|
|
1063
|
-
defaultAgent: z2.string().min(1).describe("Default agent name for global CLI usage (required)")
|
|
1064
|
-
}).strict();
|
|
1065
|
-
var PreferenceSetupSchema = z2.object({
|
|
1066
|
-
completed: z2.boolean().default(false).describe("Whether initial setup has been completed")
|
|
1067
|
-
}).strict();
|
|
1068
|
-
var GlobalPreferencesSchema = z2.object({
|
|
1069
|
-
llm: PreferenceLLMSchema.describe("LLM configuration preferences"),
|
|
1070
|
-
defaults: PreferenceDefaultsSchema.describe("Default behavior preferences (required)"),
|
|
1071
|
-
setup: PreferenceSetupSchema.default({ completed: false }).describe(
|
|
1072
|
-
"Setup completion tracking"
|
|
1073
|
-
)
|
|
1074
|
-
}).strict();
|
|
1075
|
-
|
|
1076
|
-
// src/preferences/constants.ts
|
|
1077
|
-
init_esm_shims();
|
|
1078
|
-
var PREFERENCES_FILE = "preferences.yml";
|
|
1079
|
-
|
|
1080
|
-
// src/preferences/errors.ts
|
|
1081
|
-
init_esm_shims();
|
|
1082
|
-
var PreferenceError = class {
|
|
1083
|
-
static fileNotFound(preferencesPath) {
|
|
1084
|
-
return new DextoRuntimeError(
|
|
1085
|
-
"preference_file_not_found" /* FILE_NOT_FOUND */,
|
|
1086
|
-
"preference" /* PREFERENCE */,
|
|
1087
|
-
"user" /* USER */,
|
|
1088
|
-
`Preferences file not found: ${preferencesPath}`,
|
|
1089
|
-
{ preferencesPath },
|
|
1090
|
-
"Run `dexto setup` to create preferences"
|
|
1091
|
-
);
|
|
1092
|
-
}
|
|
1093
|
-
static fileReadError(preferencesPath, cause) {
|
|
1094
|
-
return new DextoRuntimeError(
|
|
1095
|
-
"preference_file_read_error" /* FILE_READ_ERROR */,
|
|
1096
|
-
"preference" /* PREFERENCE */,
|
|
1097
|
-
"system" /* SYSTEM */,
|
|
1098
|
-
`Failed to read preferences: ${cause}`,
|
|
1099
|
-
{ preferencesPath, cause },
|
|
1100
|
-
"Check file permissions and ensure the file is not corrupted"
|
|
1101
|
-
);
|
|
1102
|
-
}
|
|
1103
|
-
static fileWriteError(preferencesPath, cause) {
|
|
1104
|
-
return new DextoRuntimeError(
|
|
1105
|
-
"preference_file_write_error" /* FILE_WRITE_ERROR */,
|
|
1106
|
-
"preference" /* PREFERENCE */,
|
|
1107
|
-
"system" /* SYSTEM */,
|
|
1108
|
-
`Failed to save preferences: ${cause}`,
|
|
1109
|
-
{ preferencesPath, cause },
|
|
1110
|
-
"Check file permissions and available disk space"
|
|
1111
|
-
);
|
|
1112
|
-
}
|
|
1113
|
-
static validationFailed(zodError) {
|
|
1114
|
-
const issues = zodError.issues.map((issue) => ({
|
|
1115
|
-
code: "preference_validation_error" /* VALIDATION_ERROR */,
|
|
1116
|
-
message: `${issue.path.join(".")}: ${issue.message}`,
|
|
1117
|
-
scope: "preference" /* PREFERENCE */,
|
|
1118
|
-
type: "user" /* USER */,
|
|
1119
|
-
severity: "error"
|
|
1120
|
-
}));
|
|
1121
|
-
return new DextoValidationError(issues);
|
|
1122
|
-
}
|
|
1123
|
-
};
|
|
1124
|
-
|
|
1125
|
-
// src/preferences/loader.ts
|
|
1126
|
-
async function loadGlobalPreferences() {
|
|
1127
|
-
const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
|
|
1128
|
-
if (!existsSync(preferencesPath)) {
|
|
1129
|
-
throw PreferenceError.fileNotFound(preferencesPath);
|
|
1130
|
-
}
|
|
1131
|
-
try {
|
|
1132
|
-
const fileContent = await fs.readFile(preferencesPath, "utf-8");
|
|
1133
|
-
const rawPreferences = parseYaml(fileContent);
|
|
1134
|
-
const validation = GlobalPreferencesSchema.safeParse(rawPreferences);
|
|
1135
|
-
if (!validation.success) {
|
|
1136
|
-
throw PreferenceError.validationFailed(validation.error);
|
|
1137
|
-
}
|
|
1138
|
-
logger.debug(`Loaded global preferences from: ${preferencesPath}`);
|
|
1139
|
-
return validation.data;
|
|
1140
|
-
} catch (error) {
|
|
1141
|
-
if (error instanceof DextoValidationError || error instanceof DextoRuntimeError) {
|
|
1142
|
-
throw error;
|
|
1143
|
-
}
|
|
1144
|
-
throw PreferenceError.fileReadError(
|
|
1145
|
-
preferencesPath,
|
|
1146
|
-
error instanceof Error ? error.message : String(error)
|
|
1147
|
-
);
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
async function saveGlobalPreferences(preferences) {
|
|
1151
|
-
const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
|
|
1152
|
-
const validation = GlobalPreferencesSchema.safeParse(preferences);
|
|
1153
|
-
if (!validation.success) {
|
|
1154
|
-
throw PreferenceError.validationFailed(validation.error);
|
|
1155
|
-
}
|
|
1156
|
-
try {
|
|
1157
|
-
logger.info(`Saving global preferences to: ${preferencesPath}`);
|
|
1158
|
-
const dextoDir = getDextoGlobalPath("");
|
|
1159
|
-
await fs.mkdir(dextoDir, { recursive: true });
|
|
1160
|
-
const yamlContent = stringifyYaml(preferences, {
|
|
1161
|
-
indent: 2,
|
|
1162
|
-
lineWidth: 100,
|
|
1163
|
-
minContentWidth: 20
|
|
1164
|
-
});
|
|
1165
|
-
await fs.writeFile(preferencesPath, yamlContent, "utf-8");
|
|
1166
|
-
logger.info(
|
|
1167
|
-
`\u2713 Saved global preferences ${JSON.stringify(preferences)} to: ${preferencesPath}`
|
|
1168
|
-
);
|
|
1169
|
-
} catch (error) {
|
|
1170
|
-
throw PreferenceError.fileWriteError(
|
|
1171
|
-
preferencesPath,
|
|
1172
|
-
error instanceof Error ? error.message : String(error)
|
|
1173
|
-
);
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1176
|
-
function globalPreferencesExist() {
|
|
1177
|
-
const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
|
|
1178
|
-
return existsSync(preferencesPath);
|
|
1179
|
-
}
|
|
1180
|
-
function getGlobalPreferencesPath() {
|
|
1181
|
-
return getDextoGlobalPath(PREFERENCES_FILE);
|
|
1182
|
-
}
|
|
1183
|
-
function createInitialPreferences(provider, model, apiKeyVar, defaultAgent = "default-agent") {
|
|
1184
|
-
return {
|
|
1185
|
-
llm: {
|
|
1186
|
-
provider,
|
|
1187
|
-
model,
|
|
1188
|
-
apiKey: `$${apiKeyVar}`
|
|
1189
|
-
},
|
|
1190
|
-
defaults: {
|
|
1191
|
-
defaultAgent
|
|
1192
|
-
},
|
|
1193
|
-
setup: {
|
|
1194
|
-
completed: true
|
|
1195
|
-
}
|
|
1196
|
-
};
|
|
1197
|
-
}
|
|
1198
|
-
async function updateGlobalPreferences(updates) {
|
|
1199
|
-
const existing = await loadGlobalPreferences();
|
|
1200
|
-
const merged = {
|
|
1201
|
-
...existing,
|
|
1202
|
-
...updates,
|
|
1203
|
-
// LLM section requires complete replacement (high coherence - provider/model/apiKey must match)
|
|
1204
|
-
llm: updates.llm || existing.llm,
|
|
1205
|
-
// Defaults and setup sections allow partial updates (low coherence - independent fields)
|
|
1206
|
-
defaults: updates.defaults ? { ...existing.defaults, ...updates.defaults } : existing.defaults,
|
|
1207
|
-
setup: updates.setup ? { ...existing.setup, ...updates.setup } : existing.setup
|
|
1208
|
-
};
|
|
1209
|
-
const validation = GlobalPreferencesSchema.safeParse(merged);
|
|
1210
|
-
if (!validation.success) {
|
|
1211
|
-
throw PreferenceError.validationFailed(validation.error);
|
|
1212
|
-
}
|
|
1213
|
-
await saveGlobalPreferences(validation.data);
|
|
1214
|
-
return validation.data;
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
815
|
export {
|
|
1218
|
-
LLMErrorCode,
|
|
1219
|
-
LLM_PROVIDERS,
|
|
1220
|
-
LLM_ROUTERS,
|
|
1221
|
-
SUPPORTED_FILE_TYPES,
|
|
1222
|
-
MIME_TYPE_TO_FILE_TYPE,
|
|
1223
|
-
getAllowedMimeTypes,
|
|
1224
816
|
DEFAULT_MAX_INPUT_TOKENS,
|
|
1225
817
|
LLM_REGISTRY,
|
|
818
|
+
MIME_TYPE_TO_FILE_TYPE,
|
|
819
|
+
acceptsAnyModel,
|
|
820
|
+
getAllSupportedModels,
|
|
821
|
+
getAllowedMimeTypes,
|
|
1226
822
|
getDefaultModelForProvider,
|
|
1227
|
-
|
|
1228
|
-
getSupportedModels,
|
|
823
|
+
getEffectiveMaxInputTokens,
|
|
1229
824
|
getMaxInputTokensForModel,
|
|
1230
|
-
isValidProviderModel,
|
|
1231
825
|
getProviderFromModel,
|
|
1232
|
-
getAllSupportedModels,
|
|
1233
|
-
getSupportedRoutersForProvider,
|
|
1234
|
-
supportsBaseURL,
|
|
1235
|
-
requiresBaseURL,
|
|
1236
|
-
acceptsAnyModel,
|
|
1237
826
|
getSupportedFileTypesForModel,
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
isRouterSupportedForModel,
|
|
827
|
+
getSupportedModels,
|
|
828
|
+
getSupportedProviders,
|
|
1241
829
|
getSupportedRoutersForModel,
|
|
830
|
+
getSupportedRoutersForProvider,
|
|
831
|
+
isRouterSupportedForModel,
|
|
1242
832
|
isRouterSupportedForProvider,
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
NonEmptyEnvExpandedString,
|
|
1249
|
-
RequiredEnvURL,
|
|
1250
|
-
ok,
|
|
1251
|
-
fail,
|
|
1252
|
-
hasErrors,
|
|
1253
|
-
splitIssues,
|
|
1254
|
-
zodToIssues,
|
|
1255
|
-
PreferenceErrorCode,
|
|
1256
|
-
PreferenceLLMSchema,
|
|
1257
|
-
PreferenceDefaultsSchema,
|
|
1258
|
-
PreferenceSetupSchema,
|
|
1259
|
-
GlobalPreferencesSchema,
|
|
1260
|
-
PREFERENCES_FILE,
|
|
1261
|
-
PreferenceError,
|
|
1262
|
-
loadGlobalPreferences,
|
|
1263
|
-
saveGlobalPreferences,
|
|
1264
|
-
globalPreferencesExist,
|
|
1265
|
-
getGlobalPreferencesPath,
|
|
1266
|
-
createInitialPreferences,
|
|
1267
|
-
updateGlobalPreferences
|
|
833
|
+
isValidProviderModel,
|
|
834
|
+
modelSupportsFileType,
|
|
835
|
+
requiresBaseURL,
|
|
836
|
+
supportsBaseURL,
|
|
837
|
+
validateModelFileSupport
|
|
1268
838
|
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var resolver_exports = {};
|
|
20
|
+
__export(resolver_exports, {
|
|
21
|
+
resolveAndValidateLLMConfig: () => resolveAndValidateLLMConfig,
|
|
22
|
+
resolveLLMConfig: () => resolveLLMConfig,
|
|
23
|
+
validateLLMConfig: () => validateLLMConfig
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(resolver_exports);
|
|
26
|
+
var import_result = require("../utils/result.js");
|
|
27
|
+
var import_types = require("../errors/types.cjs");
|
|
28
|
+
var import_error_codes = require("./error-codes.js");
|
|
29
|
+
var import_schemas2 = require("./schemas.js");
|
|
30
|
+
var import_registry = require("./registry.js");
|
|
31
|
+
var import_api_key_resolver = require("../utils/api-key-resolver.cjs");
|
|
32
|
+
function resolveAndValidateLLMConfig(previous, updates) {
|
|
33
|
+
const { candidate, warnings } = resolveLLMConfig(previous, updates);
|
|
34
|
+
if ((0, import_result.hasErrors)(warnings)) {
|
|
35
|
+
const { errors } = (0, import_result.splitIssues)(warnings);
|
|
36
|
+
return (0, import_result.fail)(errors);
|
|
37
|
+
}
|
|
38
|
+
const result = validateLLMConfig(candidate, warnings);
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function resolveLLMConfig(previous, updates) {
|
|
42
|
+
const warnings = [];
|
|
43
|
+
const provider = updates.provider ?? (updates.model ? (() => {
|
|
44
|
+
try {
|
|
45
|
+
return (0, import_registry.getProviderFromModel)(updates.model);
|
|
46
|
+
} catch {
|
|
47
|
+
return previous.provider;
|
|
48
|
+
}
|
|
49
|
+
})() : previous.provider);
|
|
50
|
+
const envKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
51
|
+
const apiKey = updates.apiKey ?? (provider !== previous.provider ? envKey : previous.apiKey) ?? "";
|
|
52
|
+
if (!apiKey) {
|
|
53
|
+
warnings.push({
|
|
54
|
+
code: import_error_codes.LLMErrorCode.API_KEY_CANDIDATE_MISSING,
|
|
55
|
+
message: "API key not provided or found in environment",
|
|
56
|
+
severity: "warning",
|
|
57
|
+
scope: import_types.ErrorScope.LLM,
|
|
58
|
+
type: import_types.ErrorType.USER,
|
|
59
|
+
context: { provider }
|
|
60
|
+
});
|
|
61
|
+
} else if (typeof apiKey === "string" && apiKey.length < 10) {
|
|
62
|
+
warnings.push({
|
|
63
|
+
code: import_error_codes.LLMErrorCode.API_KEY_INVALID,
|
|
64
|
+
message: "API key looks unusually short",
|
|
65
|
+
severity: "warning",
|
|
66
|
+
scope: import_types.ErrorScope.LLM,
|
|
67
|
+
type: import_types.ErrorType.USER,
|
|
68
|
+
context: { provider }
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
let model = updates.model ?? previous.model;
|
|
72
|
+
if (provider !== previous.provider && !(0, import_registry.acceptsAnyModel)(provider) && !(0, import_registry.isValidProviderModel)(provider, model)) {
|
|
73
|
+
model = (0, import_registry.getDefaultModelForProvider)(provider) ?? previous.model;
|
|
74
|
+
warnings.push({
|
|
75
|
+
code: import_error_codes.LLMErrorCode.MODEL_INCOMPATIBLE,
|
|
76
|
+
message: `Model set to default '${model}' for provider '${provider}'`,
|
|
77
|
+
severity: "warning",
|
|
78
|
+
scope: import_types.ErrorScope.LLM,
|
|
79
|
+
type: import_types.ErrorType.USER,
|
|
80
|
+
context: { provider, model }
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
let router = updates.router;
|
|
84
|
+
if (!router) {
|
|
85
|
+
if (provider !== previous.provider && !(0, import_registry.isRouterSupportedForModel)(provider, model, previous.router)) {
|
|
86
|
+
const supported = (0, import_registry.getSupportedRoutersForModel)(provider, model);
|
|
87
|
+
if (supported.length === 0) {
|
|
88
|
+
warnings.push({
|
|
89
|
+
code: import_error_codes.LLMErrorCode.ROUTER_UNSUPPORTED,
|
|
90
|
+
message: `No routers supported for model '${model}' (${provider})`,
|
|
91
|
+
severity: "error",
|
|
92
|
+
scope: import_types.ErrorScope.LLM,
|
|
93
|
+
type: import_types.ErrorType.USER,
|
|
94
|
+
context: router ? { provider, model, router } : { provider, model }
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
router = supported.includes("vercel") ? "vercel" : supported[0];
|
|
98
|
+
warnings.push({
|
|
99
|
+
code: import_error_codes.LLMErrorCode.ROUTER_UNSUPPORTED,
|
|
100
|
+
message: `Router changed to '${router}' for model '${model}' (${provider})`,
|
|
101
|
+
severity: "warning",
|
|
102
|
+
scope: import_types.ErrorScope.LLM,
|
|
103
|
+
type: import_types.ErrorType.USER,
|
|
104
|
+
context: { provider, model, router }
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
router = previous.router;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey });
|
|
112
|
+
return {
|
|
113
|
+
candidate: {
|
|
114
|
+
provider,
|
|
115
|
+
model,
|
|
116
|
+
apiKey,
|
|
117
|
+
router,
|
|
118
|
+
baseURL: updates.baseURL ?? previous.baseURL,
|
|
119
|
+
maxIterations: updates.maxIterations ?? previous.maxIterations,
|
|
120
|
+
maxInputTokens,
|
|
121
|
+
maxOutputTokens: updates.maxOutputTokens ?? previous.maxOutputTokens,
|
|
122
|
+
temperature: updates.temperature ?? previous.temperature
|
|
123
|
+
},
|
|
124
|
+
warnings
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function validateLLMConfig(candidate, warnings) {
|
|
128
|
+
const parsed = import_schemas2.LLMConfigSchema.safeParse(candidate);
|
|
129
|
+
if (!parsed.success) {
|
|
130
|
+
return (0, import_result.fail)((0, import_result.zodToIssues)(parsed.error, "error"));
|
|
131
|
+
}
|
|
132
|
+
if (parsed.data.apiKey && parsed.data.apiKey.length < 10) {
|
|
133
|
+
warnings.push({
|
|
134
|
+
code: import_error_codes.LLMErrorCode.API_KEY_INVALID,
|
|
135
|
+
message: "API key seems too short - please verify it is correct",
|
|
136
|
+
path: ["apiKey"],
|
|
137
|
+
severity: "warning",
|
|
138
|
+
scope: import_types.ErrorScope.LLM,
|
|
139
|
+
type: import_types.ErrorType.USER,
|
|
140
|
+
context: {
|
|
141
|
+
provider: candidate.provider,
|
|
142
|
+
model: candidate.model,
|
|
143
|
+
...candidate.router && { router: candidate.router }
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return (0, import_result.ok)(parsed.data, warnings);
|
|
148
|
+
}
|
|
149
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
150
|
+
0 && (module.exports = {
|
|
151
|
+
resolveAndValidateLLMConfig,
|
|
152
|
+
resolveLLMConfig,
|
|
153
|
+
validateLLMConfig
|
|
154
|
+
});
|