@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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { ZodError, z } from 'zod';
|
|
2
|
+
import { Issue } from '../errors/types.cjs';
|
|
3
|
+
import '../agent/error-codes.cjs';
|
|
4
|
+
import '../config/error-codes.cjs';
|
|
5
|
+
import '../context/error-codes.cjs';
|
|
6
|
+
import '../llm/error-codes.cjs';
|
|
7
|
+
import '../mcp/error-codes.cjs';
|
|
8
|
+
import '../session/error-codes.cjs';
|
|
9
|
+
import '../storage/error-codes.cjs';
|
|
10
|
+
import '../systemPrompt/error-codes.cjs';
|
|
11
|
+
import '../tools/error-codes.cjs';
|
|
12
|
+
import '../preferences/error-codes.cjs';
|
|
13
|
+
import '../agent/registry/error-codes.cjs';
|
|
14
|
+
|
|
15
|
+
/** Trim and require non-empty after trim */
|
|
16
|
+
declare const NonEmptyTrimmed: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
17
|
+
declare const OptionalURL: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string | undefined, string>>;
|
|
18
|
+
declare const EnvExpandedString: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodString, string, string>;
|
|
19
|
+
declare const NonEmptyEnvExpandedString: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
20
|
+
declare const RequiredEnvURL: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
21
|
+
/**
|
|
22
|
+
* A discriminated union result type that can be either successful or failed
|
|
23
|
+
* Provides type safety by ensuring data is only available on success
|
|
24
|
+
* @param T - The type of the data on success
|
|
25
|
+
* @param C - The type of the context for issues
|
|
26
|
+
*/
|
|
27
|
+
type Result<T, C = unknown> = {
|
|
28
|
+
ok: true;
|
|
29
|
+
data: T;
|
|
30
|
+
issues: Issue<C>[];
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
issues: Issue<C>[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Create a successful result with validated data and optional warnings.
|
|
37
|
+
*
|
|
38
|
+
* **Usage Guidelines:**
|
|
39
|
+
* - Use for operations that completed successfully, even with warnings
|
|
40
|
+
* - Include warnings for non-blocking issues (API key too short, fallback model used, etc.)
|
|
41
|
+
* - DextoAgent methods should prefer this over throwing exceptions
|
|
42
|
+
* - API layer maps this to 2xx status codes
|
|
43
|
+
*
|
|
44
|
+
* @param data - The successfully validated/processed data
|
|
45
|
+
* @param issues - Optional warnings or informational issues (defaults to empty array)
|
|
46
|
+
* @returns A successful Result with ok: true
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Success with no warnings
|
|
51
|
+
* return ok(validatedConfig);
|
|
52
|
+
*
|
|
53
|
+
* // Success with warnings
|
|
54
|
+
* return ok(validatedConfig, [
|
|
55
|
+
* { code: 'llm_short_api_key', message: 'API key seems short', severity: 'warning', context: {} }
|
|
56
|
+
* ]);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
declare const ok: <T, C = unknown>(data: T, issues?: Issue<C>[]) => Result<T, C>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a failed result with blocking errors that prevent operation completion.
|
|
62
|
+
*
|
|
63
|
+
* **Usage Guidelines:**
|
|
64
|
+
* - Use for validation failures, business rule violations, or any error that should stop execution
|
|
65
|
+
* - Do NOT mix with exceptions - choose Result pattern OR throwing, not both
|
|
66
|
+
* - API layer maps this to 4xx status codes (user/validation errors)
|
|
67
|
+
* - Issues should have severity: 'error' for blocking problems
|
|
68
|
+
*
|
|
69
|
+
* @param issues - Array of error issues that caused the failure (must not be empty)
|
|
70
|
+
* @returns A failed Result with ok: false and no data
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Validation failure
|
|
75
|
+
* return fail([
|
|
76
|
+
* {
|
|
77
|
+
* code: LLMErrorCode.SWITCH_INPUT_MISSING,
|
|
78
|
+
* message: 'At least model or provider must be specified',
|
|
79
|
+
* severity: 'error',
|
|
80
|
+
* context: {}
|
|
81
|
+
* }
|
|
82
|
+
* ]);
|
|
83
|
+
*
|
|
84
|
+
* // Multiple validation errors
|
|
85
|
+
* return fail([
|
|
86
|
+
* { code: 'missing_api_key', message: 'API key required', severity: 'error', context: {} },
|
|
87
|
+
* { code: 'invalid_model', message: 'Model not supported', severity: 'error', context: {} }
|
|
88
|
+
* ]);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
declare const fail: <T = never, C = unknown>(issues: Issue<C>[]) => Result<T, C>;
|
|
92
|
+
/**
|
|
93
|
+
* Check if a list of issues contains any blocking errors (non-warning severity).
|
|
94
|
+
*
|
|
95
|
+
* **Usage Guidelines:**
|
|
96
|
+
* - Use to determine if a Result should be ok: false
|
|
97
|
+
* - Warnings don't count as errors - operations can succeed with warnings
|
|
98
|
+
* - Useful in validation functions to decide success vs failure
|
|
99
|
+
*
|
|
100
|
+
* @param issues - Array of issues to check
|
|
101
|
+
* @returns true if any issue has severity other than 'warning', false otherwise
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const issues = [
|
|
106
|
+
* { severity: 'warning', message: 'API key seems short' },
|
|
107
|
+
* { severity: 'error', message: 'Model not found' }
|
|
108
|
+
* ];
|
|
109
|
+
*
|
|
110
|
+
* if (hasErrors(issues)) {
|
|
111
|
+
* return fail(issues); // Contains errors, operation fails
|
|
112
|
+
* } else {
|
|
113
|
+
* return ok(data, issues); // Only warnings, operation succeeds
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
declare function hasErrors<C>(issues: Issue<C>[]): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Separate issues into errors (blocking) and warnings (non-blocking) for different handling.
|
|
120
|
+
*
|
|
121
|
+
* **Usage Guidelines:**
|
|
122
|
+
* - Use when you need to handle errors and warnings differently
|
|
123
|
+
* - Errors should block operation, warnings should be logged/reported but allow success
|
|
124
|
+
* - Useful in API responses to show both what failed and what succeeded with caveats
|
|
125
|
+
*
|
|
126
|
+
* @param issues - Array of mixed issues to categorize
|
|
127
|
+
* @returns Object with separate arrays for errors and warnings
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const { errors, warnings } = splitIssues(allIssues);
|
|
132
|
+
*
|
|
133
|
+
* if (errors.length > 0) {
|
|
134
|
+
* logger.error('Validation failed:', errors);
|
|
135
|
+
* return fail(errors);
|
|
136
|
+
* }
|
|
137
|
+
*
|
|
138
|
+
* if (warnings.length > 0) {
|
|
139
|
+
* logger.warn('Validation succeeded with warnings:', warnings);
|
|
140
|
+
* }
|
|
141
|
+
*
|
|
142
|
+
* return ok(data, warnings);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
declare function splitIssues<C>(issues: Issue<C>[]): {
|
|
146
|
+
errors: Issue<C>[];
|
|
147
|
+
warnings: Issue<C>[];
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Convert Zod validation errors to standardized Issue format for Result pattern.
|
|
151
|
+
*
|
|
152
|
+
* **Usage Guidelines:**
|
|
153
|
+
* - Use in schema validation functions to convert Zod errors to our Issue format
|
|
154
|
+
* - Allows custom error codes via Zod's params.code field in custom refinements
|
|
155
|
+
* - Falls back to SCHEMA_VALIDATION code for standard Zod validation errors
|
|
156
|
+
* - Typically used with severity: 'error' for blocking validation failures
|
|
157
|
+
*
|
|
158
|
+
* @param err - ZodError from failed schema validation
|
|
159
|
+
* @param severity - Issue severity level (defaults to 'error')
|
|
160
|
+
* @returns Array of Issues in our standardized format
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* // In a validation function
|
|
165
|
+
* const result = MySchema.safeParse(data);
|
|
166
|
+
* if (!result.success) {
|
|
167
|
+
* const issues = zodToIssues(result.error);
|
|
168
|
+
* return fail(issues);
|
|
169
|
+
* }
|
|
170
|
+
*
|
|
171
|
+
* // Custom error codes in Zod schema
|
|
172
|
+
* const schema = z.string().refine(val => val.length > 0, {
|
|
173
|
+
* message: 'Field is required',
|
|
174
|
+
* params: { code: LLMErrorCode.API_KEY_MISSING }
|
|
175
|
+
* });
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
declare function zodToIssues<C = unknown>(err: ZodError, severity?: 'error' | 'warning'): Issue<C>[];
|
|
179
|
+
|
|
180
|
+
export { EnvExpandedString, NonEmptyEnvExpandedString, NonEmptyTrimmed, OptionalURL, RequiredEnvURL, type Result, fail, hasErrors, ok, splitIssues, zodToIssues };
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { ZodError, z } from 'zod';
|
|
2
|
+
import { Issue } from '../errors/types.js';
|
|
3
|
+
import '../agent/error-codes.js';
|
|
4
|
+
import '../config/error-codes.js';
|
|
5
|
+
import '../context/error-codes.js';
|
|
6
|
+
import '../llm/error-codes.js';
|
|
7
|
+
import '../mcp/error-codes.js';
|
|
8
|
+
import '../session/error-codes.js';
|
|
9
|
+
import '../storage/error-codes.js';
|
|
10
|
+
import '../systemPrompt/error-codes.js';
|
|
11
|
+
import '../tools/error-codes.js';
|
|
12
|
+
import '../preferences/error-codes.js';
|
|
13
|
+
import '../agent/registry/error-codes.js';
|
|
14
|
+
|
|
15
|
+
/** Trim and require non-empty after trim */
|
|
16
|
+
declare const NonEmptyTrimmed: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
17
|
+
declare const OptionalURL: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string | undefined, string>>;
|
|
18
|
+
declare const EnvExpandedString: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodString, string, string>;
|
|
19
|
+
declare const NonEmptyEnvExpandedString: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
20
|
+
declare const RequiredEnvURL: (env?: Record<string, string | undefined>) => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
21
|
+
/**
|
|
22
|
+
* A discriminated union result type that can be either successful or failed
|
|
23
|
+
* Provides type safety by ensuring data is only available on success
|
|
24
|
+
* @param T - The type of the data on success
|
|
25
|
+
* @param C - The type of the context for issues
|
|
26
|
+
*/
|
|
27
|
+
type Result<T, C = unknown> = {
|
|
28
|
+
ok: true;
|
|
29
|
+
data: T;
|
|
30
|
+
issues: Issue<C>[];
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
issues: Issue<C>[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Create a successful result with validated data and optional warnings.
|
|
37
|
+
*
|
|
38
|
+
* **Usage Guidelines:**
|
|
39
|
+
* - Use for operations that completed successfully, even with warnings
|
|
40
|
+
* - Include warnings for non-blocking issues (API key too short, fallback model used, etc.)
|
|
41
|
+
* - DextoAgent methods should prefer this over throwing exceptions
|
|
42
|
+
* - API layer maps this to 2xx status codes
|
|
43
|
+
*
|
|
44
|
+
* @param data - The successfully validated/processed data
|
|
45
|
+
* @param issues - Optional warnings or informational issues (defaults to empty array)
|
|
46
|
+
* @returns A successful Result with ok: true
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Success with no warnings
|
|
51
|
+
* return ok(validatedConfig);
|
|
52
|
+
*
|
|
53
|
+
* // Success with warnings
|
|
54
|
+
* return ok(validatedConfig, [
|
|
55
|
+
* { code: 'llm_short_api_key', message: 'API key seems short', severity: 'warning', context: {} }
|
|
56
|
+
* ]);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
declare const ok: <T, C = unknown>(data: T, issues?: Issue<C>[]) => Result<T, C>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a failed result with blocking errors that prevent operation completion.
|
|
62
|
+
*
|
|
63
|
+
* **Usage Guidelines:**
|
|
64
|
+
* - Use for validation failures, business rule violations, or any error that should stop execution
|
|
65
|
+
* - Do NOT mix with exceptions - choose Result pattern OR throwing, not both
|
|
66
|
+
* - API layer maps this to 4xx status codes (user/validation errors)
|
|
67
|
+
* - Issues should have severity: 'error' for blocking problems
|
|
68
|
+
*
|
|
69
|
+
* @param issues - Array of error issues that caused the failure (must not be empty)
|
|
70
|
+
* @returns A failed Result with ok: false and no data
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Validation failure
|
|
75
|
+
* return fail([
|
|
76
|
+
* {
|
|
77
|
+
* code: LLMErrorCode.SWITCH_INPUT_MISSING,
|
|
78
|
+
* message: 'At least model or provider must be specified',
|
|
79
|
+
* severity: 'error',
|
|
80
|
+
* context: {}
|
|
81
|
+
* }
|
|
82
|
+
* ]);
|
|
83
|
+
*
|
|
84
|
+
* // Multiple validation errors
|
|
85
|
+
* return fail([
|
|
86
|
+
* { code: 'missing_api_key', message: 'API key required', severity: 'error', context: {} },
|
|
87
|
+
* { code: 'invalid_model', message: 'Model not supported', severity: 'error', context: {} }
|
|
88
|
+
* ]);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
declare const fail: <T = never, C = unknown>(issues: Issue<C>[]) => Result<T, C>;
|
|
92
|
+
/**
|
|
93
|
+
* Check if a list of issues contains any blocking errors (non-warning severity).
|
|
94
|
+
*
|
|
95
|
+
* **Usage Guidelines:**
|
|
96
|
+
* - Use to determine if a Result should be ok: false
|
|
97
|
+
* - Warnings don't count as errors - operations can succeed with warnings
|
|
98
|
+
* - Useful in validation functions to decide success vs failure
|
|
99
|
+
*
|
|
100
|
+
* @param issues - Array of issues to check
|
|
101
|
+
* @returns true if any issue has severity other than 'warning', false otherwise
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const issues = [
|
|
106
|
+
* { severity: 'warning', message: 'API key seems short' },
|
|
107
|
+
* { severity: 'error', message: 'Model not found' }
|
|
108
|
+
* ];
|
|
109
|
+
*
|
|
110
|
+
* if (hasErrors(issues)) {
|
|
111
|
+
* return fail(issues); // Contains errors, operation fails
|
|
112
|
+
* } else {
|
|
113
|
+
* return ok(data, issues); // Only warnings, operation succeeds
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
declare function hasErrors<C>(issues: Issue<C>[]): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Separate issues into errors (blocking) and warnings (non-blocking) for different handling.
|
|
120
|
+
*
|
|
121
|
+
* **Usage Guidelines:**
|
|
122
|
+
* - Use when you need to handle errors and warnings differently
|
|
123
|
+
* - Errors should block operation, warnings should be logged/reported but allow success
|
|
124
|
+
* - Useful in API responses to show both what failed and what succeeded with caveats
|
|
125
|
+
*
|
|
126
|
+
* @param issues - Array of mixed issues to categorize
|
|
127
|
+
* @returns Object with separate arrays for errors and warnings
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const { errors, warnings } = splitIssues(allIssues);
|
|
132
|
+
*
|
|
133
|
+
* if (errors.length > 0) {
|
|
134
|
+
* logger.error('Validation failed:', errors);
|
|
135
|
+
* return fail(errors);
|
|
136
|
+
* }
|
|
137
|
+
*
|
|
138
|
+
* if (warnings.length > 0) {
|
|
139
|
+
* logger.warn('Validation succeeded with warnings:', warnings);
|
|
140
|
+
* }
|
|
141
|
+
*
|
|
142
|
+
* return ok(data, warnings);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
declare function splitIssues<C>(issues: Issue<C>[]): {
|
|
146
|
+
errors: Issue<C>[];
|
|
147
|
+
warnings: Issue<C>[];
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Convert Zod validation errors to standardized Issue format for Result pattern.
|
|
151
|
+
*
|
|
152
|
+
* **Usage Guidelines:**
|
|
153
|
+
* - Use in schema validation functions to convert Zod errors to our Issue format
|
|
154
|
+
* - Allows custom error codes via Zod's params.code field in custom refinements
|
|
155
|
+
* - Falls back to SCHEMA_VALIDATION code for standard Zod validation errors
|
|
156
|
+
* - Typically used with severity: 'error' for blocking validation failures
|
|
157
|
+
*
|
|
158
|
+
* @param err - ZodError from failed schema validation
|
|
159
|
+
* @param severity - Issue severity level (defaults to 'error')
|
|
160
|
+
* @returns Array of Issues in our standardized format
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* // In a validation function
|
|
165
|
+
* const result = MySchema.safeParse(data);
|
|
166
|
+
* if (!result.success) {
|
|
167
|
+
* const issues = zodToIssues(result.error);
|
|
168
|
+
* return fail(issues);
|
|
169
|
+
* }
|
|
170
|
+
*
|
|
171
|
+
* // Custom error codes in Zod schema
|
|
172
|
+
* const schema = z.string().refine(val => val.length > 0, {
|
|
173
|
+
* message: 'Field is required',
|
|
174
|
+
* params: { code: LLMErrorCode.API_KEY_MISSING }
|
|
175
|
+
* });
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
declare function zodToIssues<C = unknown>(err: ZodError, severity?: 'error' | 'warning'): Issue<C>[];
|
|
179
|
+
|
|
180
|
+
export { EnvExpandedString, NonEmptyEnvExpandedString, NonEmptyTrimmed, OptionalURL, RequiredEnvURL, type Result, fail, hasErrors, ok, splitIssues, zodToIssues };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ErrorScope, ErrorType } from "../errors/types.js";
|
|
3
|
+
const NonEmptyTrimmed = z.string().transform((s) => s.trim()).refine((s) => s.length > 0, { message: "Required" });
|
|
4
|
+
function isValidUrl(s) {
|
|
5
|
+
try {
|
|
6
|
+
const u = new URL(s);
|
|
7
|
+
return u.protocol === "http:" || u.protocol === "https:";
|
|
8
|
+
} catch {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const OptionalURL = z.string().transform((s) => s.trim()).refine((s) => s === "" || isValidUrl(s), { message: "Invalid URL" }).transform((s) => s === "" ? void 0 : s).optional();
|
|
13
|
+
const EnvExpandedString = (env) => z.string().transform((input) => {
|
|
14
|
+
if (typeof input !== "string") return "";
|
|
15
|
+
const envToUse = env ?? process.env;
|
|
16
|
+
const out = input.replace(
|
|
17
|
+
/\$([A-Z_][A-Z0-9_]*)|\${([A-Z_][A-Z0-9_]*)}/gi,
|
|
18
|
+
(_, a, b) => envToUse[a || b] ?? ""
|
|
19
|
+
);
|
|
20
|
+
return out.trim();
|
|
21
|
+
});
|
|
22
|
+
const NonEmptyEnvExpandedString = (env) => EnvExpandedString(env).refine((s) => s.length > 0, {
|
|
23
|
+
message: "Value is required"
|
|
24
|
+
});
|
|
25
|
+
const RequiredEnvURL = (env) => EnvExpandedString(env).refine(
|
|
26
|
+
(s) => {
|
|
27
|
+
try {
|
|
28
|
+
const u = new URL(s);
|
|
29
|
+
return u.protocol === "http:" || u.protocol === "https:";
|
|
30
|
+
} catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{ message: "Invalid URL" }
|
|
35
|
+
);
|
|
36
|
+
const ok = (data, issues = []) => ({
|
|
37
|
+
ok: true,
|
|
38
|
+
data,
|
|
39
|
+
issues
|
|
40
|
+
// warnings live alongside errors here
|
|
41
|
+
});
|
|
42
|
+
const fail = (issues) => ({
|
|
43
|
+
ok: false,
|
|
44
|
+
issues
|
|
45
|
+
});
|
|
46
|
+
function hasErrors(issues) {
|
|
47
|
+
return issues.some((i) => i.severity !== "warning");
|
|
48
|
+
}
|
|
49
|
+
function splitIssues(issues) {
|
|
50
|
+
return {
|
|
51
|
+
errors: issues.filter((i) => i.severity !== "warning"),
|
|
52
|
+
warnings: issues.filter((i) => i.severity === "warning")
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function zodToIssues(err, severity = "error") {
|
|
56
|
+
return err.errors.map((e) => {
|
|
57
|
+
const params = e.params || {};
|
|
58
|
+
return {
|
|
59
|
+
code: params.code ?? "schema_validation",
|
|
60
|
+
message: e.message,
|
|
61
|
+
scope: params.scope ?? ErrorScope.AGENT,
|
|
62
|
+
// Fallback for non-custom Zod errors
|
|
63
|
+
// Treat plain Zod schema failures as USER errors by default
|
|
64
|
+
type: params.type ?? ErrorType.USER,
|
|
65
|
+
path: e.path,
|
|
66
|
+
severity,
|
|
67
|
+
context: params
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
EnvExpandedString,
|
|
73
|
+
NonEmptyEnvExpandedString,
|
|
74
|
+
NonEmptyTrimmed,
|
|
75
|
+
OptionalURL,
|
|
76
|
+
RequiredEnvURL,
|
|
77
|
+
fail,
|
|
78
|
+
hasErrors,
|
|
79
|
+
ok,
|
|
80
|
+
splitIssues,
|
|
81
|
+
zodToIssues
|
|
82
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
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 safe_stringify_exports = {};
|
|
20
|
+
__export(safe_stringify_exports, {
|
|
21
|
+
safeStringify: () => safeStringify
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(safe_stringify_exports);
|
|
24
|
+
var import_redactor = require("./redactor.js");
|
|
25
|
+
function safeStringify(value, maxLen = 1e3) {
|
|
26
|
+
try {
|
|
27
|
+
if (typeof value === "bigint") {
|
|
28
|
+
return value.toString();
|
|
29
|
+
}
|
|
30
|
+
const redacted = (0, import_redactor.redactSensitiveData)(value);
|
|
31
|
+
const str = JSON.stringify(redacted, (_, v) => {
|
|
32
|
+
if (v instanceof Error) {
|
|
33
|
+
return { name: v.name, message: v.message, stack: v.stack };
|
|
34
|
+
}
|
|
35
|
+
if (typeof v === "bigint") return v.toString();
|
|
36
|
+
return v;
|
|
37
|
+
});
|
|
38
|
+
const indicator = "\u2026(truncated)";
|
|
39
|
+
const limit = Number.isFinite(maxLen) && maxLen > 0 ? Math.floor(maxLen) : 1e3;
|
|
40
|
+
if (typeof str === "string") {
|
|
41
|
+
if (str.length <= limit) return str;
|
|
42
|
+
const sliceLen = Math.max(0, limit - indicator.length);
|
|
43
|
+
return `${str.slice(0, sliceLen)}${indicator}`;
|
|
44
|
+
}
|
|
45
|
+
return String(value);
|
|
46
|
+
} catch {
|
|
47
|
+
try {
|
|
48
|
+
return String(value);
|
|
49
|
+
} catch {
|
|
50
|
+
return "[Unserializable value]";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
55
|
+
0 && (module.exports = {
|
|
56
|
+
safeStringify
|
|
57
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe stringify that handles circular references, BigInt, and limits output size
|
|
3
|
+
* Also redacts sensitive data to prevent PII leaks in error messages
|
|
4
|
+
*/
|
|
5
|
+
declare function safeStringify(value: unknown, maxLen?: number): string;
|
|
6
|
+
|
|
7
|
+
export { safeStringify };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe stringify that handles circular references, BigInt, and limits output size
|
|
3
|
+
* Also redacts sensitive data to prevent PII leaks in error messages
|
|
4
|
+
*/
|
|
5
|
+
declare function safeStringify(value: unknown, maxLen?: number): string;
|
|
6
|
+
|
|
7
|
+
export { safeStringify };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { redactSensitiveData } from "./redactor.js";
|
|
2
|
+
function safeStringify(value, maxLen = 1e3) {
|
|
3
|
+
try {
|
|
4
|
+
if (typeof value === "bigint") {
|
|
5
|
+
return value.toString();
|
|
6
|
+
}
|
|
7
|
+
const redacted = redactSensitiveData(value);
|
|
8
|
+
const str = JSON.stringify(redacted, (_, v) => {
|
|
9
|
+
if (v instanceof Error) {
|
|
10
|
+
return { name: v.name, message: v.message, stack: v.stack };
|
|
11
|
+
}
|
|
12
|
+
if (typeof v === "bigint") return v.toString();
|
|
13
|
+
return v;
|
|
14
|
+
});
|
|
15
|
+
const indicator = "\u2026(truncated)";
|
|
16
|
+
const limit = Number.isFinite(maxLen) && maxLen > 0 ? Math.floor(maxLen) : 1e3;
|
|
17
|
+
if (typeof str === "string") {
|
|
18
|
+
if (str.length <= limit) return str;
|
|
19
|
+
const sliceLen = Math.max(0, limit - indicator.length);
|
|
20
|
+
return `${str.slice(0, sliceLen)}${indicator}`;
|
|
21
|
+
}
|
|
22
|
+
return String(value);
|
|
23
|
+
} catch {
|
|
24
|
+
try {
|
|
25
|
+
return String(value);
|
|
26
|
+
} catch {
|
|
27
|
+
return "[Unserializable value]";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
safeStringify
|
|
33
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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 schema_exports = {};
|
|
20
|
+
__export(schema_exports, {
|
|
21
|
+
convertZodSchemaToJsonSchema: () => convertZodSchemaToJsonSchema
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(schema_exports);
|
|
24
|
+
var import_zod_to_json_schema = require("zod-to-json-schema");
|
|
25
|
+
var import_logger = require("../logger/index.js");
|
|
26
|
+
function convertZodSchemaToJsonSchema(zodSchema) {
|
|
27
|
+
try {
|
|
28
|
+
return (0, import_zod_to_json_schema.zodToJsonSchema)(zodSchema);
|
|
29
|
+
} catch (error) {
|
|
30
|
+
import_logger.logger.warn(
|
|
31
|
+
`Failed to convert Zod schema to JSON Schema: ${error instanceof Error ? error.message : String(error)}`
|
|
32
|
+
);
|
|
33
|
+
return {
|
|
34
|
+
type: "object",
|
|
35
|
+
properties: {}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
convertZodSchemaToJsonSchema
|
|
42
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
2
|
+
import { logger } from "../logger/index.js";
|
|
3
|
+
function convertZodSchemaToJsonSchema(zodSchema) {
|
|
4
|
+
try {
|
|
5
|
+
return zodToJsonSchema(zodSchema);
|
|
6
|
+
} catch (error) {
|
|
7
|
+
logger.warn(
|
|
8
|
+
`Failed to convert Zod schema to JSON Schema: ${error instanceof Error ? error.message : String(error)}`
|
|
9
|
+
);
|
|
10
|
+
return {
|
|
11
|
+
type: "object",
|
|
12
|
+
properties: {}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
convertZodSchemaToJsonSchema
|
|
18
|
+
};
|