@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,169 @@
|
|
|
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 test_utils_integration_exports = {};
|
|
20
|
+
__export(test_utils_integration_exports, {
|
|
21
|
+
TestConfigs: () => TestConfigs,
|
|
22
|
+
cleanupTestEnvironment: () => cleanupTestEnvironment,
|
|
23
|
+
createTestEnvironment: () => createTestEnvironment,
|
|
24
|
+
requiresApiKey: () => requiresApiKey
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(test_utils_integration_exports);
|
|
27
|
+
var import_DextoAgent = require("../../agent/DextoAgent.js");
|
|
28
|
+
var import_api_key_resolver = require("../../utils/api-key-resolver.js");
|
|
29
|
+
async function createTestEnvironment(config, sessionId = "test-session") {
|
|
30
|
+
const agent = new import_DextoAgent.DextoAgent(config);
|
|
31
|
+
await agent.start();
|
|
32
|
+
return {
|
|
33
|
+
agent,
|
|
34
|
+
sessionId,
|
|
35
|
+
cleanup: async () => {
|
|
36
|
+
if (agent.isStarted()) {
|
|
37
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
38
|
+
await agent.stop();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const TestConfigs = {
|
|
44
|
+
/**
|
|
45
|
+
* Creates OpenAI test config
|
|
46
|
+
*/
|
|
47
|
+
createOpenAIConfig() {
|
|
48
|
+
const provider = "openai";
|
|
49
|
+
const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
50
|
+
if (!apiKey) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
`${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for OpenAI integration tests`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
57
|
+
llm: {
|
|
58
|
+
provider,
|
|
59
|
+
model: "gpt-5-nano",
|
|
60
|
+
// Use cheapest model for testing
|
|
61
|
+
apiKey,
|
|
62
|
+
maxOutputTokens: 100,
|
|
63
|
+
// Keep costs low
|
|
64
|
+
temperature: 0,
|
|
65
|
+
// Deterministic responses
|
|
66
|
+
maxIterations: 1
|
|
67
|
+
// Minimal tool iterations
|
|
68
|
+
},
|
|
69
|
+
mcpServers: {},
|
|
70
|
+
storage: {
|
|
71
|
+
cache: { type: "in-memory" },
|
|
72
|
+
database: { type: "in-memory" }
|
|
73
|
+
},
|
|
74
|
+
sessions: {
|
|
75
|
+
maxSessions: 10,
|
|
76
|
+
sessionTTL: 100
|
|
77
|
+
// 100ms for fast testing
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
/**
|
|
82
|
+
* Creates Anthropic test config
|
|
83
|
+
*/
|
|
84
|
+
createAnthropicConfig() {
|
|
85
|
+
const provider = "anthropic";
|
|
86
|
+
const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
87
|
+
if (!apiKey) {
|
|
88
|
+
throw new Error(
|
|
89
|
+
`${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for Anthropic integration tests`
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
94
|
+
llm: {
|
|
95
|
+
provider,
|
|
96
|
+
model: "claude-3-5-haiku-20241022",
|
|
97
|
+
// Use cheapest model for testing
|
|
98
|
+
apiKey,
|
|
99
|
+
maxOutputTokens: 100,
|
|
100
|
+
temperature: 0,
|
|
101
|
+
maxIterations: 1
|
|
102
|
+
},
|
|
103
|
+
mcpServers: {},
|
|
104
|
+
storage: {
|
|
105
|
+
cache: { type: "in-memory" },
|
|
106
|
+
database: { type: "in-memory" }
|
|
107
|
+
},
|
|
108
|
+
sessions: {
|
|
109
|
+
maxSessions: 10,
|
|
110
|
+
sessionTTL: 100
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* Creates Vercel test config - parametric for different providers/models
|
|
116
|
+
*/
|
|
117
|
+
createVercelConfig(provider = "openai", model) {
|
|
118
|
+
const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
119
|
+
if (!apiKey) {
|
|
120
|
+
throw new Error(
|
|
121
|
+
`${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for Vercel integration tests with ${provider}`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
const defaultModels = {
|
|
125
|
+
openai: "gpt-5-nano",
|
|
126
|
+
anthropic: "claude-3-5-haiku-20241022",
|
|
127
|
+
google: "gemini-2.0-flash",
|
|
128
|
+
groq: "llama-3.1-8b-instant",
|
|
129
|
+
xai: "grok-beta",
|
|
130
|
+
cohere: "command-r",
|
|
131
|
+
"openai-compatible": "gpt-4o-mini"
|
|
132
|
+
};
|
|
133
|
+
return {
|
|
134
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
135
|
+
llm: {
|
|
136
|
+
router: "vercel",
|
|
137
|
+
// This is the key difference - uses Vercel router
|
|
138
|
+
provider,
|
|
139
|
+
model: model || defaultModels[provider],
|
|
140
|
+
apiKey,
|
|
141
|
+
maxOutputTokens: 100,
|
|
142
|
+
temperature: 0,
|
|
143
|
+
maxIterations: 1
|
|
144
|
+
},
|
|
145
|
+
mcpServers: {},
|
|
146
|
+
storage: {
|
|
147
|
+
cache: { type: "in-memory" },
|
|
148
|
+
database: { type: "in-memory" }
|
|
149
|
+
},
|
|
150
|
+
sessions: {
|
|
151
|
+
maxSessions: 10,
|
|
152
|
+
sessionTTL: 100
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
function requiresApiKey(provider) {
|
|
158
|
+
return !!(0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
159
|
+
}
|
|
160
|
+
async function cleanupTestEnvironment(_env) {
|
|
161
|
+
await _env.cleanup();
|
|
162
|
+
}
|
|
163
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
164
|
+
0 && (module.exports = {
|
|
165
|
+
TestConfigs,
|
|
166
|
+
cleanupTestEnvironment,
|
|
167
|
+
createTestEnvironment,
|
|
168
|
+
requiresApiKey
|
|
169
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { DextoAgent } from '../../agent/DextoAgent.cjs';
|
|
2
|
+
import { LLMProvider } from '../types.cjs';
|
|
3
|
+
import { AgentConfig } from '../../agent/schemas.cjs';
|
|
4
|
+
import '../../events/index.cjs';
|
|
5
|
+
import 'events';
|
|
6
|
+
import 'zod';
|
|
7
|
+
import '../registry.cjs';
|
|
8
|
+
import '../schemas.cjs';
|
|
9
|
+
import '../../context/types.cjs';
|
|
10
|
+
import '../../tools/types.cjs';
|
|
11
|
+
import 'json-schema';
|
|
12
|
+
import '../../mcp/manager.cjs';
|
|
13
|
+
import '../../mcp/schemas.cjs';
|
|
14
|
+
import '../../mcp/types.cjs';
|
|
15
|
+
import '@modelcontextprotocol/sdk/client/index.js';
|
|
16
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
17
|
+
import '../../systemPrompt/manager.cjs';
|
|
18
|
+
import '../../systemPrompt/schemas.cjs';
|
|
19
|
+
import '../../systemPrompt/types.cjs';
|
|
20
|
+
import '../../search/types.cjs';
|
|
21
|
+
import '../../session/chat-session.cjs';
|
|
22
|
+
import '../../context/manager.cjs';
|
|
23
|
+
import '../formatters/types.cjs';
|
|
24
|
+
import '../tokenizer/types.cjs';
|
|
25
|
+
import '../../context/compression/types.cjs';
|
|
26
|
+
import '../../session/history/types.cjs';
|
|
27
|
+
import './types.cjs';
|
|
28
|
+
import 'ai';
|
|
29
|
+
import '../../tools/tool-manager.cjs';
|
|
30
|
+
import '../../tools/internal-tools/registry.cjs';
|
|
31
|
+
import '../../search/search-service.cjs';
|
|
32
|
+
import '../../storage/backend/database-backend.cjs';
|
|
33
|
+
import '../../tools/schemas.cjs';
|
|
34
|
+
import '../../tools/confirmation/types.cjs';
|
|
35
|
+
import '../../tools/confirmation/allowed-tools-provider/types.cjs';
|
|
36
|
+
import '../../agent/state-manager.cjs';
|
|
37
|
+
import '../../storage/backend/types.cjs';
|
|
38
|
+
import '../../storage/backend/cache-backend.cjs';
|
|
39
|
+
import '../../storage/schemas.cjs';
|
|
40
|
+
import '../../session/session-manager.cjs';
|
|
41
|
+
import '../../utils/service-initializer.cjs';
|
|
42
|
+
import '../../storage/storage-manager.cjs';
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Shared utilities for LLM service integration tests
|
|
46
|
+
*/
|
|
47
|
+
interface TestEnvironment {
|
|
48
|
+
agent: DextoAgent;
|
|
49
|
+
sessionId: string;
|
|
50
|
+
cleanup: () => Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a test environment with real dependencies (no mocks)
|
|
54
|
+
* Uses DextoAgent to handle complex initialization properly
|
|
55
|
+
*/
|
|
56
|
+
declare function createTestEnvironment(config: AgentConfig, sessionId?: string): Promise<TestEnvironment>;
|
|
57
|
+
/**
|
|
58
|
+
* Test configuration helpers that create full AgentConfig objects
|
|
59
|
+
*/
|
|
60
|
+
declare const TestConfigs: {
|
|
61
|
+
/**
|
|
62
|
+
* Creates OpenAI test config
|
|
63
|
+
*/
|
|
64
|
+
readonly createOpenAIConfig: () => AgentConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Creates Anthropic test config
|
|
67
|
+
*/
|
|
68
|
+
readonly createAnthropicConfig: () => AgentConfig;
|
|
69
|
+
/**
|
|
70
|
+
* Creates Vercel test config - parametric for different providers/models
|
|
71
|
+
*/
|
|
72
|
+
readonly createVercelConfig: (provider?: LLMProvider, model?: string) => AgentConfig;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Helper to skip tests if API keys are not available
|
|
76
|
+
*/
|
|
77
|
+
declare function requiresApiKey(provider: LLMProvider): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Cleanup helper
|
|
80
|
+
*/
|
|
81
|
+
declare function cleanupTestEnvironment(_env: TestEnvironment): Promise<void>;
|
|
82
|
+
|
|
83
|
+
export { TestConfigs, type TestEnvironment, cleanupTestEnvironment, createTestEnvironment, requiresApiKey };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { DextoAgent } from '../../agent/DextoAgent.js';
|
|
2
|
+
import { LLMProvider } from '../types.js';
|
|
3
|
+
import { AgentConfig } from '../../agent/schemas.js';
|
|
4
|
+
import '../../events/index.js';
|
|
5
|
+
import 'events';
|
|
6
|
+
import 'zod';
|
|
7
|
+
import '../registry.js';
|
|
8
|
+
import '../schemas.js';
|
|
9
|
+
import '../../context/types.js';
|
|
10
|
+
import '../../tools/types.js';
|
|
11
|
+
import 'json-schema';
|
|
12
|
+
import '../../mcp/manager.js';
|
|
13
|
+
import '../../mcp/schemas.js';
|
|
14
|
+
import '../../mcp/types.js';
|
|
15
|
+
import '@modelcontextprotocol/sdk/client/index.js';
|
|
16
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
17
|
+
import '../../systemPrompt/manager.js';
|
|
18
|
+
import '../../systemPrompt/schemas.js';
|
|
19
|
+
import '../../systemPrompt/types.js';
|
|
20
|
+
import '../../search/types.js';
|
|
21
|
+
import '../../session/chat-session.js';
|
|
22
|
+
import '../../context/manager.js';
|
|
23
|
+
import '../formatters/types.js';
|
|
24
|
+
import '../tokenizer/types.js';
|
|
25
|
+
import '../../context/compression/types.js';
|
|
26
|
+
import '../../session/history/types.js';
|
|
27
|
+
import './types.js';
|
|
28
|
+
import 'ai';
|
|
29
|
+
import '../../tools/tool-manager.js';
|
|
30
|
+
import '../../tools/internal-tools/registry.js';
|
|
31
|
+
import '../../search/search-service.js';
|
|
32
|
+
import '../../storage/backend/database-backend.js';
|
|
33
|
+
import '../../tools/schemas.js';
|
|
34
|
+
import '../../tools/confirmation/types.js';
|
|
35
|
+
import '../../tools/confirmation/allowed-tools-provider/types.js';
|
|
36
|
+
import '../../agent/state-manager.js';
|
|
37
|
+
import '../../storage/backend/types.js';
|
|
38
|
+
import '../../storage/backend/cache-backend.js';
|
|
39
|
+
import '../../storage/schemas.js';
|
|
40
|
+
import '../../session/session-manager.js';
|
|
41
|
+
import '../../utils/service-initializer.js';
|
|
42
|
+
import '../../storage/storage-manager.js';
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Shared utilities for LLM service integration tests
|
|
46
|
+
*/
|
|
47
|
+
interface TestEnvironment {
|
|
48
|
+
agent: DextoAgent;
|
|
49
|
+
sessionId: string;
|
|
50
|
+
cleanup: () => Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a test environment with real dependencies (no mocks)
|
|
54
|
+
* Uses DextoAgent to handle complex initialization properly
|
|
55
|
+
*/
|
|
56
|
+
declare function createTestEnvironment(config: AgentConfig, sessionId?: string): Promise<TestEnvironment>;
|
|
57
|
+
/**
|
|
58
|
+
* Test configuration helpers that create full AgentConfig objects
|
|
59
|
+
*/
|
|
60
|
+
declare const TestConfigs: {
|
|
61
|
+
/**
|
|
62
|
+
* Creates OpenAI test config
|
|
63
|
+
*/
|
|
64
|
+
readonly createOpenAIConfig: () => AgentConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Creates Anthropic test config
|
|
67
|
+
*/
|
|
68
|
+
readonly createAnthropicConfig: () => AgentConfig;
|
|
69
|
+
/**
|
|
70
|
+
* Creates Vercel test config - parametric for different providers/models
|
|
71
|
+
*/
|
|
72
|
+
readonly createVercelConfig: (provider?: LLMProvider, model?: string) => AgentConfig;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Helper to skip tests if API keys are not available
|
|
76
|
+
*/
|
|
77
|
+
declare function requiresApiKey(provider: LLMProvider): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Cleanup helper
|
|
80
|
+
*/
|
|
81
|
+
declare function cleanupTestEnvironment(_env: TestEnvironment): Promise<void>;
|
|
82
|
+
|
|
83
|
+
export { TestConfigs, type TestEnvironment, cleanupTestEnvironment, createTestEnvironment, requiresApiKey };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { DextoAgent } from "../../agent/DextoAgent.js";
|
|
2
|
+
import { resolveApiKeyForProvider, getPrimaryApiKeyEnvVar } from "../../utils/api-key-resolver.js";
|
|
3
|
+
async function createTestEnvironment(config, sessionId = "test-session") {
|
|
4
|
+
const agent = new DextoAgent(config);
|
|
5
|
+
await agent.start();
|
|
6
|
+
return {
|
|
7
|
+
agent,
|
|
8
|
+
sessionId,
|
|
9
|
+
cleanup: async () => {
|
|
10
|
+
if (agent.isStarted()) {
|
|
11
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
12
|
+
await agent.stop();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const TestConfigs = {
|
|
18
|
+
/**
|
|
19
|
+
* Creates OpenAI test config
|
|
20
|
+
*/
|
|
21
|
+
createOpenAIConfig() {
|
|
22
|
+
const provider = "openai";
|
|
23
|
+
const apiKey = resolveApiKeyForProvider(provider);
|
|
24
|
+
if (!apiKey) {
|
|
25
|
+
throw new Error(
|
|
26
|
+
`${getPrimaryApiKeyEnvVar(provider)} environment variable is required for OpenAI integration tests`
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
31
|
+
llm: {
|
|
32
|
+
provider,
|
|
33
|
+
model: "gpt-5-nano",
|
|
34
|
+
// Use cheapest model for testing
|
|
35
|
+
apiKey,
|
|
36
|
+
maxOutputTokens: 100,
|
|
37
|
+
// Keep costs low
|
|
38
|
+
temperature: 0,
|
|
39
|
+
// Deterministic responses
|
|
40
|
+
maxIterations: 1
|
|
41
|
+
// Minimal tool iterations
|
|
42
|
+
},
|
|
43
|
+
mcpServers: {},
|
|
44
|
+
storage: {
|
|
45
|
+
cache: { type: "in-memory" },
|
|
46
|
+
database: { type: "in-memory" }
|
|
47
|
+
},
|
|
48
|
+
sessions: {
|
|
49
|
+
maxSessions: 10,
|
|
50
|
+
sessionTTL: 100
|
|
51
|
+
// 100ms for fast testing
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* Creates Anthropic test config
|
|
57
|
+
*/
|
|
58
|
+
createAnthropicConfig() {
|
|
59
|
+
const provider = "anthropic";
|
|
60
|
+
const apiKey = resolveApiKeyForProvider(provider);
|
|
61
|
+
if (!apiKey) {
|
|
62
|
+
throw new Error(
|
|
63
|
+
`${getPrimaryApiKeyEnvVar(provider)} environment variable is required for Anthropic integration tests`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
68
|
+
llm: {
|
|
69
|
+
provider,
|
|
70
|
+
model: "claude-3-5-haiku-20241022",
|
|
71
|
+
// Use cheapest model for testing
|
|
72
|
+
apiKey,
|
|
73
|
+
maxOutputTokens: 100,
|
|
74
|
+
temperature: 0,
|
|
75
|
+
maxIterations: 1
|
|
76
|
+
},
|
|
77
|
+
mcpServers: {},
|
|
78
|
+
storage: {
|
|
79
|
+
cache: { type: "in-memory" },
|
|
80
|
+
database: { type: "in-memory" }
|
|
81
|
+
},
|
|
82
|
+
sessions: {
|
|
83
|
+
maxSessions: 10,
|
|
84
|
+
sessionTTL: 100
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
/**
|
|
89
|
+
* Creates Vercel test config - parametric for different providers/models
|
|
90
|
+
*/
|
|
91
|
+
createVercelConfig(provider = "openai", model) {
|
|
92
|
+
const apiKey = resolveApiKeyForProvider(provider);
|
|
93
|
+
if (!apiKey) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
`${getPrimaryApiKeyEnvVar(provider)} environment variable is required for Vercel integration tests with ${provider}`
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
const defaultModels = {
|
|
99
|
+
openai: "gpt-5-nano",
|
|
100
|
+
anthropic: "claude-3-5-haiku-20241022",
|
|
101
|
+
google: "gemini-2.0-flash",
|
|
102
|
+
groq: "llama-3.1-8b-instant",
|
|
103
|
+
xai: "grok-beta",
|
|
104
|
+
cohere: "command-r",
|
|
105
|
+
"openai-compatible": "gpt-4o-mini"
|
|
106
|
+
};
|
|
107
|
+
return {
|
|
108
|
+
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
109
|
+
llm: {
|
|
110
|
+
router: "vercel",
|
|
111
|
+
// This is the key difference - uses Vercel router
|
|
112
|
+
provider,
|
|
113
|
+
model: model || defaultModels[provider],
|
|
114
|
+
apiKey,
|
|
115
|
+
maxOutputTokens: 100,
|
|
116
|
+
temperature: 0,
|
|
117
|
+
maxIterations: 1
|
|
118
|
+
},
|
|
119
|
+
mcpServers: {},
|
|
120
|
+
storage: {
|
|
121
|
+
cache: { type: "in-memory" },
|
|
122
|
+
database: { type: "in-memory" }
|
|
123
|
+
},
|
|
124
|
+
sessions: {
|
|
125
|
+
maxSessions: 10,
|
|
126
|
+
sessionTTL: 100
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
function requiresApiKey(provider) {
|
|
132
|
+
return !!resolveApiKeyForProvider(provider);
|
|
133
|
+
}
|
|
134
|
+
async function cleanupTestEnvironment(_env) {
|
|
135
|
+
await _env.cleanup();
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
TestConfigs,
|
|
139
|
+
cleanupTestEnvironment,
|
|
140
|
+
createTestEnvironment,
|
|
141
|
+
requiresApiKey
|
|
142
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { LanguageModel } from 'ai';
|
|
2
|
+
import { ToolSet } from '../../tools/types.cjs';
|
|
3
|
+
import { ImageData, FileData } from '../../context/types.cjs';
|
|
4
|
+
import { LLMRouter, LLMProvider } from '../types.cjs';
|
|
5
|
+
import { ContextManager } from '../../context/manager.cjs';
|
|
6
|
+
import 'json-schema';
|
|
7
|
+
import 'zod';
|
|
8
|
+
import '../formatters/types.cjs';
|
|
9
|
+
import '../tokenizer/types.cjs';
|
|
10
|
+
import '../../context/compression/types.cjs';
|
|
11
|
+
import '../../systemPrompt/types.cjs';
|
|
12
|
+
import '../../mcp/manager.cjs';
|
|
13
|
+
import '../../mcp/schemas.cjs';
|
|
14
|
+
import '../../mcp/types.cjs';
|
|
15
|
+
import '@modelcontextprotocol/sdk/client/index.js';
|
|
16
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
17
|
+
import '../../systemPrompt/manager.cjs';
|
|
18
|
+
import '../../systemPrompt/schemas.cjs';
|
|
19
|
+
import '../../session/history/types.cjs';
|
|
20
|
+
import '../schemas.cjs';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Core interface for LLM service implementations
|
|
24
|
+
*/
|
|
25
|
+
interface ILLMService {
|
|
26
|
+
/**
|
|
27
|
+
* Process a user's task (e.g., text input, potentially with image or file data)
|
|
28
|
+
* and return the final AI response.
|
|
29
|
+
* Handles potential tool calls and conversation management internally.
|
|
30
|
+
*
|
|
31
|
+
* @param textInput The primary text input from the user.
|
|
32
|
+
* @param options Options object with signal for cancellation. Always passed from chat session.
|
|
33
|
+
* @param imageData Optional image data associated with the user input.
|
|
34
|
+
* @param fileData Optional file data associated with the user input.
|
|
35
|
+
* @param stream Optional flag to enable streaming response.
|
|
36
|
+
* @returns A promise that resolves with the final text response from the AI.
|
|
37
|
+
*/
|
|
38
|
+
completeTask(textInput: string, options: {
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
}, imageData?: ImageData, fileData?: FileData, stream?: boolean): Promise<string>;
|
|
41
|
+
getAllTools(): Promise<ToolSet>;
|
|
42
|
+
getConfig(): LLMServiceConfig;
|
|
43
|
+
getContextManager(): ContextManager<unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration object returned by LLMService.getConfig()
|
|
47
|
+
*/
|
|
48
|
+
type LLMServiceConfig = {
|
|
49
|
+
router: LLMRouter;
|
|
50
|
+
provider: LLMProvider;
|
|
51
|
+
model: LanguageModel;
|
|
52
|
+
configuredMaxInputTokens?: number | null;
|
|
53
|
+
modelMaxInputTokens?: number | null;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export type { ILLMService, LLMServiceConfig };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { LanguageModel } from 'ai';
|
|
2
|
+
import { ToolSet } from '../../tools/types.js';
|
|
3
|
+
import { ImageData, FileData } from '../../context/types.js';
|
|
4
|
+
import { LLMRouter, LLMProvider } from '../types.js';
|
|
5
|
+
import { ContextManager } from '../../context/manager.js';
|
|
6
|
+
import 'json-schema';
|
|
7
|
+
import 'zod';
|
|
8
|
+
import '../formatters/types.js';
|
|
9
|
+
import '../tokenizer/types.js';
|
|
10
|
+
import '../../context/compression/types.js';
|
|
11
|
+
import '../../systemPrompt/types.js';
|
|
12
|
+
import '../../mcp/manager.js';
|
|
13
|
+
import '../../mcp/schemas.js';
|
|
14
|
+
import '../../mcp/types.js';
|
|
15
|
+
import '@modelcontextprotocol/sdk/client/index.js';
|
|
16
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
17
|
+
import '../../systemPrompt/manager.js';
|
|
18
|
+
import '../../systemPrompt/schemas.js';
|
|
19
|
+
import '../../session/history/types.js';
|
|
20
|
+
import '../schemas.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Core interface for LLM service implementations
|
|
24
|
+
*/
|
|
25
|
+
interface ILLMService {
|
|
26
|
+
/**
|
|
27
|
+
* Process a user's task (e.g., text input, potentially with image or file data)
|
|
28
|
+
* and return the final AI response.
|
|
29
|
+
* Handles potential tool calls and conversation management internally.
|
|
30
|
+
*
|
|
31
|
+
* @param textInput The primary text input from the user.
|
|
32
|
+
* @param options Options object with signal for cancellation. Always passed from chat session.
|
|
33
|
+
* @param imageData Optional image data associated with the user input.
|
|
34
|
+
* @param fileData Optional file data associated with the user input.
|
|
35
|
+
* @param stream Optional flag to enable streaming response.
|
|
36
|
+
* @returns A promise that resolves with the final text response from the AI.
|
|
37
|
+
*/
|
|
38
|
+
completeTask(textInput: string, options: {
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
}, imageData?: ImageData, fileData?: FileData, stream?: boolean): Promise<string>;
|
|
41
|
+
getAllTools(): Promise<ToolSet>;
|
|
42
|
+
getConfig(): LLMServiceConfig;
|
|
43
|
+
getContextManager(): ContextManager<unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration object returned by LLMService.getConfig()
|
|
47
|
+
*/
|
|
48
|
+
type LLMServiceConfig = {
|
|
49
|
+
router: LLMRouter;
|
|
50
|
+
provider: LLMProvider;
|
|
51
|
+
model: LanguageModel;
|
|
52
|
+
configuredMaxInputTokens?: number | null;
|
|
53
|
+
modelMaxInputTokens?: number | null;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export type { ILLMService, LLMServiceConfig };
|
|
File without changes
|