@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,411 @@
|
|
|
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 vercel_exports = {};
|
|
20
|
+
__export(vercel_exports, {
|
|
21
|
+
VercelMessageFormatter: () => VercelMessageFormatter
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(vercel_exports);
|
|
24
|
+
var import_utils = require("../../context/utils.cjs");
|
|
25
|
+
var import_logger = require("../../logger/index.cjs");
|
|
26
|
+
class VercelMessageFormatter {
|
|
27
|
+
/**
|
|
28
|
+
* Formats internal messages into Vercel AI SDK format
|
|
29
|
+
*
|
|
30
|
+
* @param history Array of internal messages to format
|
|
31
|
+
* @param systemPrompt System prompt to include at the beginning of messages
|
|
32
|
+
* @returns Array of messages formatted for Vercel's API
|
|
33
|
+
*/
|
|
34
|
+
format(history, context, systemPrompt) {
|
|
35
|
+
const formatted = [];
|
|
36
|
+
let filteredHistory;
|
|
37
|
+
try {
|
|
38
|
+
filteredHistory = (0, import_utils.filterMessagesByLLMCapabilities)([...history], context);
|
|
39
|
+
const modelInfo = `${context.provider}/${context.model}`;
|
|
40
|
+
import_logger.logger.debug(`Applied Vercel filtering for ${modelInfo}`);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
import_logger.logger.warn(`Failed to apply capability filtering, using original history: ${error}`);
|
|
43
|
+
filteredHistory = [...history];
|
|
44
|
+
}
|
|
45
|
+
if (systemPrompt) {
|
|
46
|
+
formatted.push({
|
|
47
|
+
role: "system",
|
|
48
|
+
content: systemPrompt
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
for (const msg of filteredHistory) {
|
|
52
|
+
switch (msg.role) {
|
|
53
|
+
case "user":
|
|
54
|
+
if (msg.content !== null) {
|
|
55
|
+
const content = typeof msg.content === "string" ? msg.content : msg.content.map((part) => {
|
|
56
|
+
if (part.type === "file") {
|
|
57
|
+
return {
|
|
58
|
+
type: "file",
|
|
59
|
+
data: part.data,
|
|
60
|
+
mediaType: part.mimeType,
|
|
61
|
+
// Convert mimeType -> mediaType
|
|
62
|
+
...part.filename && { filename: part.filename }
|
|
63
|
+
};
|
|
64
|
+
} else if (part.type === "image") {
|
|
65
|
+
return {
|
|
66
|
+
type: "image",
|
|
67
|
+
image: part.image,
|
|
68
|
+
...part.mimeType && { mediaType: part.mimeType }
|
|
69
|
+
// Convert mimeType -> mediaType
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return part;
|
|
73
|
+
});
|
|
74
|
+
formatted.push({
|
|
75
|
+
role: "user",
|
|
76
|
+
content
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
break;
|
|
80
|
+
case "system":
|
|
81
|
+
if (msg.content !== null) {
|
|
82
|
+
formatted.push({
|
|
83
|
+
role: "system",
|
|
84
|
+
content: String(msg.content)
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
break;
|
|
88
|
+
case "assistant":
|
|
89
|
+
formatted.push({ role: "assistant", ...this.formatAssistantMessage(msg) });
|
|
90
|
+
break;
|
|
91
|
+
case "tool":
|
|
92
|
+
formatted.push({ role: "tool", ...this.formatToolMessage(msg) });
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return formatted;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Vercel handles system prompts in the messages array
|
|
100
|
+
* This method returns null since the system prompt is already
|
|
101
|
+
* included directly in the formatted messages.
|
|
102
|
+
*
|
|
103
|
+
* @returns null as Vercel doesn't need a separate system prompt
|
|
104
|
+
*/
|
|
105
|
+
formatSystemPrompt() {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Parses raw Vercel SDK stream response into internal message objects.
|
|
110
|
+
* This handles StreamTextResult which has different structure than GenerateTextResult
|
|
111
|
+
*/
|
|
112
|
+
async parseStreamResponse(response) {
|
|
113
|
+
const resolvedResponse = await response.response;
|
|
114
|
+
const adaptedResponse = {
|
|
115
|
+
response: {
|
|
116
|
+
messages: resolvedResponse?.messages || []
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const internal = this.parseResponse(
|
|
120
|
+
adaptedResponse
|
|
121
|
+
);
|
|
122
|
+
const lastAssistant = [...internal].reverse().find((m) => m.role === "assistant");
|
|
123
|
+
if (lastAssistant) {
|
|
124
|
+
const usage = await response.totalUsage;
|
|
125
|
+
const reasoningText = await response.reasoningText;
|
|
126
|
+
if (reasoningText) {
|
|
127
|
+
lastAssistant.reasoning = reasoningText;
|
|
128
|
+
}
|
|
129
|
+
if (usage) {
|
|
130
|
+
lastAssistant.tokenUsage = {
|
|
131
|
+
...usage.inputTokens !== void 0 && { inputTokens: usage.inputTokens },
|
|
132
|
+
...usage.outputTokens !== void 0 && { outputTokens: usage.outputTokens },
|
|
133
|
+
...usage.reasoningTokens !== void 0 && {
|
|
134
|
+
reasoningTokens: usage.reasoningTokens
|
|
135
|
+
},
|
|
136
|
+
...usage.totalTokens !== void 0 && { totalTokens: usage.totalTokens }
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return internal;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Parses raw Vercel SDK response into internal message objects.
|
|
144
|
+
* TODO: Break this into smaller functions
|
|
145
|
+
*/
|
|
146
|
+
parseResponse(response) {
|
|
147
|
+
const internal = [];
|
|
148
|
+
if (!response.response.messages) return internal;
|
|
149
|
+
for (const msg of response.response.messages) {
|
|
150
|
+
const role = msg.role;
|
|
151
|
+
switch (role) {
|
|
152
|
+
case "user":
|
|
153
|
+
if (typeof msg.content === "string") {
|
|
154
|
+
internal.push({
|
|
155
|
+
role: "user",
|
|
156
|
+
content: [{ type: "text", text: msg.content }]
|
|
157
|
+
});
|
|
158
|
+
} else if (Array.isArray(msg.content)) {
|
|
159
|
+
const srcParts = msg.content;
|
|
160
|
+
const parts = srcParts.map((p) => {
|
|
161
|
+
if (p.type === "text") return { type: "text", text: p.text };
|
|
162
|
+
if (p.type === "image")
|
|
163
|
+
return {
|
|
164
|
+
type: "image",
|
|
165
|
+
image: p.image,
|
|
166
|
+
mimeType: p.mediaType ?? "image/jpeg"
|
|
167
|
+
};
|
|
168
|
+
if (p.type === "file")
|
|
169
|
+
return {
|
|
170
|
+
type: "file",
|
|
171
|
+
data: p.data,
|
|
172
|
+
mimeType: p.mediaType,
|
|
173
|
+
filename: p.filename
|
|
174
|
+
};
|
|
175
|
+
return { type: "text", text: JSON.stringify(p) };
|
|
176
|
+
});
|
|
177
|
+
internal.push({
|
|
178
|
+
role: "user",
|
|
179
|
+
content: parts
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
183
|
+
case "assistant": {
|
|
184
|
+
let text = null;
|
|
185
|
+
const calls = [];
|
|
186
|
+
if (typeof msg.content === "string") {
|
|
187
|
+
text = msg.content;
|
|
188
|
+
} else if (Array.isArray(msg.content)) {
|
|
189
|
+
let combined = "";
|
|
190
|
+
for (const part of msg.content) {
|
|
191
|
+
if (part.type === "text") {
|
|
192
|
+
combined += part.text;
|
|
193
|
+
} else if (part.type === "tool-call") {
|
|
194
|
+
calls.push({
|
|
195
|
+
id: part.toolCallId,
|
|
196
|
+
type: "function",
|
|
197
|
+
function: {
|
|
198
|
+
name: part.toolName,
|
|
199
|
+
arguments: typeof part.input === "string" ? part.input : JSON.stringify(part.input)
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
text = combined || null;
|
|
205
|
+
}
|
|
206
|
+
const assistantMessage = {
|
|
207
|
+
role: "assistant",
|
|
208
|
+
content: text
|
|
209
|
+
};
|
|
210
|
+
if (calls.length > 0) {
|
|
211
|
+
assistantMessage.toolCalls = calls;
|
|
212
|
+
}
|
|
213
|
+
internal.push(assistantMessage);
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
case "tool":
|
|
217
|
+
if (Array.isArray(msg.content)) {
|
|
218
|
+
for (const part of msg.content) {
|
|
219
|
+
if (part.type === "tool-result") {
|
|
220
|
+
let content;
|
|
221
|
+
const output = part.output;
|
|
222
|
+
if (output.type === "content") {
|
|
223
|
+
content = output.value.map((item) => {
|
|
224
|
+
if (item.type === "media") {
|
|
225
|
+
return {
|
|
226
|
+
type: "image",
|
|
227
|
+
image: item.data,
|
|
228
|
+
mimeType: item.mediaType
|
|
229
|
+
};
|
|
230
|
+
} else {
|
|
231
|
+
return {
|
|
232
|
+
type: "text",
|
|
233
|
+
text: item.text
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
} else if (output.type === "text" || output.type === "error-text") {
|
|
238
|
+
content = output.value;
|
|
239
|
+
} else if (output.type === "json" || output.type === "error-json") {
|
|
240
|
+
content = JSON.stringify(output.value);
|
|
241
|
+
} else {
|
|
242
|
+
content = JSON.stringify(output);
|
|
243
|
+
}
|
|
244
|
+
internal.push({
|
|
245
|
+
role: "tool",
|
|
246
|
+
content,
|
|
247
|
+
toolCallId: part.toolCallId,
|
|
248
|
+
name: part.toolName
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
break;
|
|
254
|
+
default:
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
const lastAssistant = [...internal].reverse().find((m) => m.role === "assistant");
|
|
259
|
+
const anyResp = response;
|
|
260
|
+
const usage = anyResp.totalUsage;
|
|
261
|
+
const reasoningText = anyResp.reasoningText;
|
|
262
|
+
const modelId = response.response?.modelId;
|
|
263
|
+
if (lastAssistant) {
|
|
264
|
+
if (typeof reasoningText === "string" && reasoningText.length > 0) {
|
|
265
|
+
lastAssistant.reasoning = reasoningText;
|
|
266
|
+
}
|
|
267
|
+
if (usage) {
|
|
268
|
+
lastAssistant.tokenUsage = {
|
|
269
|
+
...usage.inputTokens !== void 0 && { inputTokens: usage.inputTokens },
|
|
270
|
+
...usage.outputTokens !== void 0 && { outputTokens: usage.outputTokens },
|
|
271
|
+
...usage.reasoningTokens !== void 0 && {
|
|
272
|
+
reasoningTokens: usage.reasoningTokens
|
|
273
|
+
},
|
|
274
|
+
...usage.totalTokens !== void 0 && { totalTokens: usage.totalTokens }
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
if (modelId) {
|
|
278
|
+
lastAssistant.model = modelId;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return internal;
|
|
282
|
+
}
|
|
283
|
+
// Helper to format Assistant messages (with optional tool calls)
|
|
284
|
+
// TODO: improve typing when InternalMessage type is updated
|
|
285
|
+
formatAssistantMessage(msg) {
|
|
286
|
+
if (msg.toolCalls && msg.toolCalls.length > 0) {
|
|
287
|
+
const contentParts = [];
|
|
288
|
+
if (typeof msg.content === "string" && msg.content.length > 0) {
|
|
289
|
+
contentParts.push({ type: "text", text: msg.content });
|
|
290
|
+
} else if (Array.isArray(msg.content)) {
|
|
291
|
+
const combined = msg.content.map((part) => part.type === "text" ? part.text : "").filter(Boolean).join("\n");
|
|
292
|
+
if (combined) {
|
|
293
|
+
contentParts.push({ type: "text", text: combined });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
for (const toolCall of msg.toolCalls) {
|
|
297
|
+
const rawArgs = toolCall.function.arguments;
|
|
298
|
+
let parsed = {};
|
|
299
|
+
if (typeof rawArgs === "string") {
|
|
300
|
+
try {
|
|
301
|
+
parsed = JSON.parse(rawArgs);
|
|
302
|
+
} catch {
|
|
303
|
+
parsed = {};
|
|
304
|
+
import_logger.logger.warn(
|
|
305
|
+
`Vercel formatter: invalid tool args JSON for ${toolCall.function.name}`
|
|
306
|
+
);
|
|
307
|
+
}
|
|
308
|
+
} else {
|
|
309
|
+
parsed = rawArgs ?? {};
|
|
310
|
+
}
|
|
311
|
+
contentParts.push({
|
|
312
|
+
type: "tool-call",
|
|
313
|
+
toolCallId: toolCall.id,
|
|
314
|
+
toolName: toolCall.function.name,
|
|
315
|
+
input: parsed
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
const firstToolCall = msg.toolCalls?.[0];
|
|
319
|
+
if (firstToolCall) {
|
|
320
|
+
const argString = (() => {
|
|
321
|
+
const raw = firstToolCall.function.arguments;
|
|
322
|
+
if (typeof raw === "string") return raw;
|
|
323
|
+
try {
|
|
324
|
+
return JSON.stringify(raw ?? {});
|
|
325
|
+
} catch {
|
|
326
|
+
return "{}";
|
|
327
|
+
}
|
|
328
|
+
})();
|
|
329
|
+
return {
|
|
330
|
+
content: contentParts,
|
|
331
|
+
function_call: {
|
|
332
|
+
name: firstToolCall.function.name,
|
|
333
|
+
arguments: argString
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return {
|
|
339
|
+
content: typeof msg.content === "string" ? [{ type: "text", text: msg.content }] : msg.content
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
// Helper to format Tool result messages
|
|
343
|
+
formatToolMessage(msg) {
|
|
344
|
+
let toolResultPart;
|
|
345
|
+
if (Array.isArray(msg.content)) {
|
|
346
|
+
if (msg.content[0]?.type === "image") {
|
|
347
|
+
const imagePart = msg.content[0];
|
|
348
|
+
const imageDataBase64 = (0, import_utils.getImageData)(imagePart);
|
|
349
|
+
toolResultPart = {
|
|
350
|
+
type: "tool-result",
|
|
351
|
+
toolCallId: msg.toolCallId,
|
|
352
|
+
toolName: msg.name,
|
|
353
|
+
output: {
|
|
354
|
+
type: "content",
|
|
355
|
+
value: [
|
|
356
|
+
{
|
|
357
|
+
type: "media",
|
|
358
|
+
data: imageDataBase64,
|
|
359
|
+
mediaType: imagePart.mimeType || "image/jpeg"
|
|
360
|
+
}
|
|
361
|
+
]
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
} else if (msg.content[0]?.type === "file") {
|
|
365
|
+
const filePart = msg.content[0];
|
|
366
|
+
const fileDataBase64 = (0, import_utils.getFileData)(filePart);
|
|
367
|
+
toolResultPart = {
|
|
368
|
+
type: "tool-result",
|
|
369
|
+
toolCallId: msg.toolCallId,
|
|
370
|
+
toolName: msg.name,
|
|
371
|
+
output: {
|
|
372
|
+
type: "content",
|
|
373
|
+
value: [
|
|
374
|
+
{
|
|
375
|
+
type: "media",
|
|
376
|
+
data: fileDataBase64,
|
|
377
|
+
mediaType: filePart.mimeType
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
} else {
|
|
383
|
+
const textContent = Array.isArray(msg.content) ? msg.content.map((part) => part.type === "text" ? part.text : JSON.stringify(part)).join("\n") : String(msg.content);
|
|
384
|
+
toolResultPart = {
|
|
385
|
+
type: "tool-result",
|
|
386
|
+
toolCallId: msg.toolCallId,
|
|
387
|
+
toolName: msg.name,
|
|
388
|
+
output: {
|
|
389
|
+
type: "text",
|
|
390
|
+
value: textContent
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
} else {
|
|
395
|
+
toolResultPart = {
|
|
396
|
+
type: "tool-result",
|
|
397
|
+
toolCallId: msg.toolCallId,
|
|
398
|
+
toolName: msg.name,
|
|
399
|
+
output: {
|
|
400
|
+
type: "text",
|
|
401
|
+
value: String(msg.content || "")
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
return { content: [toolResultPart] };
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
409
|
+
0 && (module.exports = {
|
|
410
|
+
VercelMessageFormatter
|
|
411
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ModelMessage, StreamTextResult, ToolSet, GenerateTextResult } from 'ai';
|
|
2
|
+
import { IMessageFormatter } from './types.cjs';
|
|
3
|
+
import { LLMContext } from '../types.cjs';
|
|
4
|
+
import { InternalMessage } from '../../context/types.cjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Message formatter for Vercel AI SDK.
|
|
8
|
+
*
|
|
9
|
+
* Converts the internal message format to Vercel's specific structure:
|
|
10
|
+
* - System prompt is included in the messages array
|
|
11
|
+
* - Tool calls use function_call property instead of tool_calls
|
|
12
|
+
* - Tool results use the 'tool' role (SDK v5)
|
|
13
|
+
*
|
|
14
|
+
* Note: Vercel's implementation is different from OpenAI's standard,
|
|
15
|
+
* particularly in its handling of function calls and responses.
|
|
16
|
+
*/
|
|
17
|
+
declare class VercelMessageFormatter implements IMessageFormatter {
|
|
18
|
+
/**
|
|
19
|
+
* Formats internal messages into Vercel AI SDK format
|
|
20
|
+
*
|
|
21
|
+
* @param history Array of internal messages to format
|
|
22
|
+
* @param systemPrompt System prompt to include at the beginning of messages
|
|
23
|
+
* @returns Array of messages formatted for Vercel's API
|
|
24
|
+
*/
|
|
25
|
+
format(history: Readonly<InternalMessage[]>, context: LLMContext, systemPrompt: string | null): ModelMessage[];
|
|
26
|
+
/**
|
|
27
|
+
* Vercel handles system prompts in the messages array
|
|
28
|
+
* This method returns null since the system prompt is already
|
|
29
|
+
* included directly in the formatted messages.
|
|
30
|
+
*
|
|
31
|
+
* @returns null as Vercel doesn't need a separate system prompt
|
|
32
|
+
*/
|
|
33
|
+
formatSystemPrompt(): null;
|
|
34
|
+
/**
|
|
35
|
+
* Parses raw Vercel SDK stream response into internal message objects.
|
|
36
|
+
* This handles StreamTextResult which has different structure than GenerateTextResult
|
|
37
|
+
*/
|
|
38
|
+
parseStreamResponse(response: StreamTextResult<ToolSet, unknown>): Promise<InternalMessage[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Parses raw Vercel SDK response into internal message objects.
|
|
41
|
+
* TODO: Break this into smaller functions
|
|
42
|
+
*/
|
|
43
|
+
parseResponse(response: GenerateTextResult<ToolSet, unknown>): InternalMessage[];
|
|
44
|
+
private formatAssistantMessage;
|
|
45
|
+
private formatToolMessage;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { VercelMessageFormatter };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ModelMessage, StreamTextResult, ToolSet, GenerateTextResult } from 'ai';
|
|
2
|
+
import { IMessageFormatter } from './types.js';
|
|
3
|
+
import { LLMContext } from '../types.js';
|
|
4
|
+
import { InternalMessage } from '../../context/types.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Message formatter for Vercel AI SDK.
|
|
8
|
+
*
|
|
9
|
+
* Converts the internal message format to Vercel's specific structure:
|
|
10
|
+
* - System prompt is included in the messages array
|
|
11
|
+
* - Tool calls use function_call property instead of tool_calls
|
|
12
|
+
* - Tool results use the 'tool' role (SDK v5)
|
|
13
|
+
*
|
|
14
|
+
* Note: Vercel's implementation is different from OpenAI's standard,
|
|
15
|
+
* particularly in its handling of function calls and responses.
|
|
16
|
+
*/
|
|
17
|
+
declare class VercelMessageFormatter implements IMessageFormatter {
|
|
18
|
+
/**
|
|
19
|
+
* Formats internal messages into Vercel AI SDK format
|
|
20
|
+
*
|
|
21
|
+
* @param history Array of internal messages to format
|
|
22
|
+
* @param systemPrompt System prompt to include at the beginning of messages
|
|
23
|
+
* @returns Array of messages formatted for Vercel's API
|
|
24
|
+
*/
|
|
25
|
+
format(history: Readonly<InternalMessage[]>, context: LLMContext, systemPrompt: string | null): ModelMessage[];
|
|
26
|
+
/**
|
|
27
|
+
* Vercel handles system prompts in the messages array
|
|
28
|
+
* This method returns null since the system prompt is already
|
|
29
|
+
* included directly in the formatted messages.
|
|
30
|
+
*
|
|
31
|
+
* @returns null as Vercel doesn't need a separate system prompt
|
|
32
|
+
*/
|
|
33
|
+
formatSystemPrompt(): null;
|
|
34
|
+
/**
|
|
35
|
+
* Parses raw Vercel SDK stream response into internal message objects.
|
|
36
|
+
* This handles StreamTextResult which has different structure than GenerateTextResult
|
|
37
|
+
*/
|
|
38
|
+
parseStreamResponse(response: StreamTextResult<ToolSet, unknown>): Promise<InternalMessage[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Parses raw Vercel SDK response into internal message objects.
|
|
41
|
+
* TODO: Break this into smaller functions
|
|
42
|
+
*/
|
|
43
|
+
parseResponse(response: GenerateTextResult<ToolSet, unknown>): InternalMessage[];
|
|
44
|
+
private formatAssistantMessage;
|
|
45
|
+
private formatToolMessage;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { VercelMessageFormatter };
|