@dexto/core 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +179 -75
- package/dist/agent/schemas.d.ts +2678 -586
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +172 -65
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/index.cjs +2 -0
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.cjs +10 -0
- package/dist/memory/schemas.d.ts +37 -8
- package/dist/memory/schemas.d.ts.map +1 -1
- package/dist/memory/schemas.js +9 -0
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/index.cjs +6 -8
- package/dist/prompts/index.d.ts +2 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -6
- package/dist/prompts/prompt-manager.cjs +25 -20
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -20
- package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/config-prompt-provider.js +308 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/schemas.cjs +42 -23
- package/dist/prompts/schemas.d.ts +123 -14
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +39 -22
- package/dist/prompts/types.d.ts +1 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/in-built-prompts.cjs +0 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +0 -4
- package/dist/systemPrompt/manager.cjs +31 -23
- package/dist/systemPrompt/manager.d.ts +5 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +31 -23
- package/dist/systemPrompt/registry.cjs +1 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +1 -2
- package/dist/systemPrompt/schemas.cjs +24 -18
- package/dist/systemPrompt/schemas.d.ts +46 -222
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +14 -18
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +88 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +70 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
- package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/file-prompt-provider.js +0 -376
- package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
- package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/starter-prompt-provider.js +0 -147
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
|
@@ -67,7 +67,7 @@ __export(vercel_exports, {
|
|
|
67
67
|
});
|
|
68
68
|
module.exports = __toCommonJS(vercel_exports);
|
|
69
69
|
var import_ai = require("ai");
|
|
70
|
-
var
|
|
70
|
+
var import_types2 = require("../../logger/v2/types.js");
|
|
71
71
|
var import_ai2 = require("ai");
|
|
72
72
|
var import_manager = require("../../context/manager.js");
|
|
73
73
|
var import_utils = require("../../context/utils.js");
|
|
@@ -75,7 +75,7 @@ var import_debug = require("../../utils/debug.js");
|
|
|
75
75
|
var import_registry = require("../registry.js");
|
|
76
76
|
var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
|
|
77
77
|
var import_error_codes = require("../error-codes.js");
|
|
78
|
-
var
|
|
78
|
+
var import_types5 = require("../../errors/types.js");
|
|
79
79
|
var import_error_conversion = require("../../utils/error-conversion.js");
|
|
80
80
|
var import_error_codes2 = require("../../tools/error-codes.js");
|
|
81
81
|
var import_vercel = require("../formatters/vercel.js");
|
|
@@ -95,21 +95,23 @@ class VercelLLMService {
|
|
|
95
95
|
sessionEventBus;
|
|
96
96
|
sessionId;
|
|
97
97
|
toolSupportCache = /* @__PURE__ */ new Map();
|
|
98
|
+
logger;
|
|
98
99
|
/**
|
|
99
100
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
100
101
|
*/
|
|
101
102
|
getModelId() {
|
|
102
103
|
return typeof this.model === "string" ? this.model : this.model.modelId;
|
|
103
104
|
}
|
|
104
|
-
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager) {
|
|
105
|
+
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
|
|
106
|
+
this.logger = logger.createChild(import_types2.DextoLogComponent.LLM);
|
|
105
107
|
this.model = model;
|
|
106
108
|
this.config = config;
|
|
107
109
|
this.toolManager = toolManager;
|
|
108
110
|
this.sessionEventBus = sessionEventBus;
|
|
109
111
|
this.sessionId = sessionId;
|
|
110
|
-
const formatter = new import_vercel.VercelMessageFormatter();
|
|
111
|
-
const tokenizer = (0, import_factory.createTokenizer)(config.provider, this.getModelId());
|
|
112
|
-
const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config);
|
|
112
|
+
const formatter = new import_vercel.VercelMessageFormatter(this.logger);
|
|
113
|
+
const tokenizer = (0, import_factory.createTokenizer)(config.provider, this.getModelId(), this.logger);
|
|
114
|
+
const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config, this.logger);
|
|
113
115
|
this.contextManager = new import_manager.ContextManager(
|
|
114
116
|
config,
|
|
115
117
|
formatter,
|
|
@@ -118,10 +120,11 @@ class VercelLLMService {
|
|
|
118
120
|
tokenizer,
|
|
119
121
|
historyProvider,
|
|
120
122
|
sessionId,
|
|
121
|
-
resourceManager
|
|
123
|
+
resourceManager,
|
|
124
|
+
this.logger
|
|
122
125
|
// compressionStrategies uses default
|
|
123
126
|
);
|
|
124
|
-
|
|
127
|
+
this.logger.debug(
|
|
125
128
|
`[VercelLLMService] Initialized for model: ${this.getModelId()}, provider: ${this.config.provider}, temperature: ${this.config.temperature}, maxOutputTokens: ${this.config.maxOutputTokens}`
|
|
126
129
|
);
|
|
127
130
|
}
|
|
@@ -129,7 +132,7 @@ class VercelLLMService {
|
|
|
129
132
|
return this.toolManager.getAllTools();
|
|
130
133
|
}
|
|
131
134
|
formatTools(tools) {
|
|
132
|
-
|
|
135
|
+
this.logger.debug(`Formatting tools for vercel`);
|
|
133
136
|
return Object.keys(tools).reduce((acc, toolName) => {
|
|
134
137
|
const tool = tools[toolName];
|
|
135
138
|
if (tool) {
|
|
@@ -138,10 +141,10 @@ class VercelLLMService {
|
|
|
138
141
|
execute: async (args, options) => {
|
|
139
142
|
const callId = options.toolCallId;
|
|
140
143
|
try {
|
|
141
|
-
|
|
144
|
+
this.logger.debug(
|
|
142
145
|
`[vercel] Emitting toolCall event for ${toolName} with callId ${callId}`
|
|
143
146
|
);
|
|
144
|
-
this.sessionEventBus.emit("
|
|
147
|
+
this.sessionEventBus.emit("llm:tool-call", {
|
|
145
148
|
toolName,
|
|
146
149
|
args,
|
|
147
150
|
callId
|
|
@@ -157,10 +160,10 @@ class VercelLLMService {
|
|
|
157
160
|
rawResult,
|
|
158
161
|
{ success: true }
|
|
159
162
|
);
|
|
160
|
-
|
|
163
|
+
this.logger.debug(
|
|
161
164
|
`[vercel] Emitting toolResult event for ${toolName} with callId ${callId}`
|
|
162
165
|
);
|
|
163
|
-
this.sessionEventBus.emit("
|
|
166
|
+
this.sessionEventBus.emit("llm:tool-result", {
|
|
164
167
|
toolName,
|
|
165
168
|
callId,
|
|
166
169
|
success: true,
|
|
@@ -189,7 +192,7 @@ class VercelLLMService {
|
|
|
189
192
|
errorResult,
|
|
190
193
|
{ success: false }
|
|
191
194
|
);
|
|
192
|
-
this.sessionEventBus.emit("
|
|
195
|
+
this.sessionEventBus.emit("llm:tool-result", {
|
|
193
196
|
toolName,
|
|
194
197
|
callId,
|
|
195
198
|
success: false,
|
|
@@ -197,7 +200,7 @@ class VercelLLMService {
|
|
|
197
200
|
...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: errorResult } : {}
|
|
198
201
|
});
|
|
199
202
|
} catch (persistErr) {
|
|
200
|
-
|
|
203
|
+
this.logger.error(
|
|
201
204
|
`Failed to persist error result for ${toolName}: ${String(persistErr)}`
|
|
202
205
|
);
|
|
203
206
|
}
|
|
@@ -216,11 +219,11 @@ class VercelLLMService {
|
|
|
216
219
|
return this.toolSupportCache.get(modelKey);
|
|
217
220
|
}
|
|
218
221
|
if (!this.config.baseURL) {
|
|
219
|
-
|
|
222
|
+
this.logger.debug(`Skipping tool validation for ${modelKey} - no custom baseURL`);
|
|
220
223
|
this.toolSupportCache.set(modelKey, true);
|
|
221
224
|
return true;
|
|
222
225
|
}
|
|
223
|
-
|
|
226
|
+
this.logger.debug(`Testing tool support for custom endpoint model: ${modelKey}`);
|
|
224
227
|
const testTool = {
|
|
225
228
|
test_tool: {
|
|
226
229
|
inputSchema: (0, import_ai2.jsonSchema)({
|
|
@@ -239,16 +242,16 @@ class VercelLLMService {
|
|
|
239
242
|
stopWhen: (0, import_ai.stepCountIs)(1)
|
|
240
243
|
});
|
|
241
244
|
this.toolSupportCache.set(modelKey, true);
|
|
242
|
-
|
|
245
|
+
this.logger.debug(`Model ${modelKey} supports tools`);
|
|
243
246
|
return true;
|
|
244
247
|
} catch (error) {
|
|
245
248
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
246
249
|
if (errorMessage.includes("does not support tools")) {
|
|
247
250
|
this.toolSupportCache.set(modelKey, false);
|
|
248
|
-
|
|
251
|
+
this.logger.debug(`Model ${modelKey} does not support tools`);
|
|
249
252
|
return false;
|
|
250
253
|
}
|
|
251
|
-
|
|
254
|
+
this.logger.debug(
|
|
252
255
|
`Tool validation error for ${modelKey}, assuming supported: ${errorMessage}`
|
|
253
256
|
);
|
|
254
257
|
this.toolSupportCache.set(modelKey, true);
|
|
@@ -256,57 +259,80 @@ class VercelLLMService {
|
|
|
256
259
|
}
|
|
257
260
|
}
|
|
258
261
|
async completeTask(textInput, options, imageData, fileData, stream) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
)
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
const formattedMessages = prepared.formattedMessages;
|
|
280
|
-
const tokensUsed = prepared.tokensUsed;
|
|
281
|
-
import_logger.logger.silly(
|
|
282
|
-
`Messages (potentially compressed): ${JSON.stringify(formattedMessages, null, 2)}`
|
|
262
|
+
const activeSpan = import_api.trace.getActiveSpan();
|
|
263
|
+
const currentContext = import_api.context.active();
|
|
264
|
+
const provider = this.config.provider;
|
|
265
|
+
const model = this.getModelId();
|
|
266
|
+
if (activeSpan) {
|
|
267
|
+
activeSpan.setAttribute("llm.provider", provider);
|
|
268
|
+
activeSpan.setAttribute("llm.model", model);
|
|
269
|
+
}
|
|
270
|
+
const existingBaggage = import_api.propagation.getBaggage(currentContext);
|
|
271
|
+
const baggageEntries = {};
|
|
272
|
+
if (existingBaggage) {
|
|
273
|
+
existingBaggage.getAllEntries().forEach(([key, entry]) => {
|
|
274
|
+
baggageEntries[key] = entry;
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
baggageEntries["llm.provider"] = { value: provider };
|
|
278
|
+
baggageEntries["llm.model"] = { value: model };
|
|
279
|
+
const updatedContext = import_api.propagation.setBaggage(
|
|
280
|
+
currentContext,
|
|
281
|
+
import_api.propagation.createBaggage(baggageEntries)
|
|
283
282
|
);
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
formattedTools,
|
|
290
|
-
this.config.maxIterations,
|
|
291
|
-
options?.signal
|
|
283
|
+
return await import_api.context.with(updatedContext, async () => {
|
|
284
|
+
await this.contextManager.addUserMessage(textInput, imageData, fileData);
|
|
285
|
+
const tools = await this.toolManager.getAllTools();
|
|
286
|
+
this.logger.silly(
|
|
287
|
+
`[VercelLLMService] Tools before formatting: ${JSON.stringify(tools, null, 2)}`
|
|
292
288
|
);
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
formattedTools,
|
|
297
|
-
this.config.maxIterations,
|
|
298
|
-
options?.signal
|
|
289
|
+
const formattedTools = this.formatTools(tools);
|
|
290
|
+
this.logger.silly(
|
|
291
|
+
`[VercelLLMService] Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`
|
|
299
292
|
);
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
293
|
+
let fullResponse = "";
|
|
294
|
+
this.sessionEventBus.emit("llm:thinking");
|
|
295
|
+
const prepared = await this.contextManager.getFormattedMessagesWithCompression(
|
|
296
|
+
{ mcpManager: this.toolManager.getMcpManager() },
|
|
297
|
+
{ provider: this.config.provider, model: this.getModelId() }
|
|
298
|
+
);
|
|
299
|
+
const formattedMessages = prepared.formattedMessages;
|
|
300
|
+
const tokensUsed = prepared.tokensUsed;
|
|
301
|
+
this.logger.silly(
|
|
302
|
+
`Messages (potentially compressed): ${JSON.stringify(formattedMessages, null, 2)}`
|
|
303
|
+
);
|
|
304
|
+
this.logger.silly(`Tools: ${JSON.stringify(formattedTools, null, 2)}`);
|
|
305
|
+
this.logger.debug(`Estimated tokens being sent to Vercel provider: ${tokensUsed}`);
|
|
306
|
+
if (stream) {
|
|
307
|
+
fullResponse = await this.streamText(
|
|
308
|
+
formattedMessages,
|
|
309
|
+
formattedTools,
|
|
310
|
+
this.config.maxIterations,
|
|
311
|
+
options?.signal
|
|
312
|
+
);
|
|
313
|
+
} else {
|
|
314
|
+
fullResponse = await this.generateText(
|
|
315
|
+
formattedMessages,
|
|
316
|
+
formattedTools,
|
|
317
|
+
this.config.maxIterations,
|
|
318
|
+
options?.signal
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
if (options?.signal?.aborted) {
|
|
322
|
+
return fullResponse;
|
|
323
|
+
}
|
|
324
|
+
return fullResponse || `Reached maximum number of steps (${this.config.maxIterations}) without a final response.`;
|
|
325
|
+
});
|
|
305
326
|
}
|
|
306
327
|
async generateText(messages, tools, maxSteps = 50, signal) {
|
|
328
|
+
const activeSpan = import_api.trace.getActiveSpan();
|
|
329
|
+
if (activeSpan) {
|
|
330
|
+
activeSpan.setAttribute("llm.provider", this.config.provider);
|
|
331
|
+
activeSpan.setAttribute("llm.model", this.getModelId());
|
|
332
|
+
}
|
|
307
333
|
let stepIteration = 0;
|
|
308
334
|
const estimatedTokens = Math.ceil(JSON.stringify(messages, null, 2).length / 4);
|
|
309
|
-
|
|
335
|
+
this.logger.debug(
|
|
310
336
|
`vercel generateText:Generating text with messages (${estimatedTokens} estimated tokens)`
|
|
311
337
|
);
|
|
312
338
|
const temperature = this.config.temperature;
|
|
@@ -314,7 +340,7 @@ class VercelLLMService {
|
|
|
314
340
|
const supportsTools = await this.validateToolSupport();
|
|
315
341
|
const effectiveTools = supportsTools ? tools : {};
|
|
316
342
|
if (!supportsTools && Object.keys(tools).length > 0) {
|
|
317
|
-
|
|
343
|
+
this.logger.debug(
|
|
318
344
|
`Model ${this.getModelId()} does not support tools, using empty tools object for generation`
|
|
319
345
|
);
|
|
320
346
|
}
|
|
@@ -326,13 +352,13 @@ class VercelLLMService {
|
|
|
326
352
|
tools: effectiveTools,
|
|
327
353
|
...signal ? { abortSignal: signal } : {},
|
|
328
354
|
onStepFinish: async (step) => {
|
|
329
|
-
|
|
355
|
+
this.logger.debug(`Step iteration: ${stepIteration}`);
|
|
330
356
|
stepIteration++;
|
|
331
|
-
|
|
332
|
-
|
|
357
|
+
this.logger.debug(`Step finished, text: ${step.text}`);
|
|
358
|
+
this.logger.debug(
|
|
333
359
|
`Step finished, step tool calls: ${JSON.stringify(step.toolCalls, null, 2)}`
|
|
334
360
|
);
|
|
335
|
-
|
|
361
|
+
this.logger.debug(
|
|
336
362
|
`Step finished, step tool results: ${JSON.stringify(step.toolResults, null, 2)}`
|
|
337
363
|
);
|
|
338
364
|
},
|
|
@@ -340,7 +366,7 @@ class VercelLLMService {
|
|
|
340
366
|
...includeMaxOutputTokens ? { maxOutputTokens } : {},
|
|
341
367
|
...temperature !== void 0 && { temperature }
|
|
342
368
|
});
|
|
343
|
-
this.sessionEventBus.emit("
|
|
369
|
+
this.sessionEventBus.emit("llm:response", {
|
|
344
370
|
content: response.text,
|
|
345
371
|
...response.reasoningText && { reasoning: response.reasoningText },
|
|
346
372
|
provider: this.config.provider,
|
|
@@ -361,8 +387,8 @@ class VercelLLMService {
|
|
|
361
387
|
}
|
|
362
388
|
}
|
|
363
389
|
});
|
|
364
|
-
const
|
|
365
|
-
if (
|
|
390
|
+
const activeSpan2 = import_api.trace.getActiveSpan();
|
|
391
|
+
if (activeSpan2) {
|
|
366
392
|
const attributes = {};
|
|
367
393
|
if (response.totalUsage.inputTokens !== void 0) {
|
|
368
394
|
attributes["gen_ai.usage.input_tokens"] = response.totalUsage.inputTokens;
|
|
@@ -376,7 +402,7 @@ class VercelLLMService {
|
|
|
376
402
|
if (response.totalUsage.reasoningTokens !== void 0) {
|
|
377
403
|
attributes["gen_ai.usage.reasoning_tokens"] = response.totalUsage.reasoningTokens;
|
|
378
404
|
}
|
|
379
|
-
|
|
405
|
+
activeSpan2.setAttributes(attributes);
|
|
380
406
|
}
|
|
381
407
|
await this.contextManager.processLLMResponse(response);
|
|
382
408
|
if (typeof response.totalUsage.totalTokens === "number") {
|
|
@@ -384,20 +410,27 @@ class VercelLLMService {
|
|
|
384
410
|
}
|
|
385
411
|
return response.text;
|
|
386
412
|
} catch (err) {
|
|
387
|
-
this.mapProviderError(err, "generate");
|
|
413
|
+
const error = this.mapProviderError(err, "generate");
|
|
414
|
+
this.sessionEventBus.emit("llm:error", {
|
|
415
|
+
error,
|
|
416
|
+
context: "generateText",
|
|
417
|
+
recoverable: false
|
|
418
|
+
});
|
|
419
|
+
return "";
|
|
388
420
|
}
|
|
389
421
|
}
|
|
390
422
|
mapProviderError(err, phase) {
|
|
391
423
|
if (import_ai.APICallError.isInstance?.(err)) {
|
|
424
|
+
this.logger.error(`APICallError in mapProviderError: ${JSON.stringify(err, null, 2)}`);
|
|
392
425
|
const status = err.statusCode;
|
|
393
426
|
const headers = err.responseHeaders || {};
|
|
394
427
|
const retryAfter = headers["retry-after"] ? Number(headers["retry-after"]) : void 0;
|
|
395
428
|
const body = typeof err.responseBody === "string" ? err.responseBody : JSON.stringify(err.responseBody ?? "");
|
|
396
429
|
if (status === 429) {
|
|
397
|
-
|
|
430
|
+
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
398
431
|
import_error_codes.LLMErrorCode.RATE_LIMIT_EXCEEDED,
|
|
399
|
-
|
|
400
|
-
|
|
432
|
+
import_types5.ErrorScope.LLM,
|
|
433
|
+
import_types5.ErrorType.RATE_LIMIT,
|
|
401
434
|
`Rate limit exceeded${body ? ` - ${body}` : ""}`,
|
|
402
435
|
{
|
|
403
436
|
sessionId: this.sessionId,
|
|
@@ -411,10 +444,10 @@ class VercelLLMService {
|
|
|
411
444
|
);
|
|
412
445
|
}
|
|
413
446
|
if (status === 408) {
|
|
414
|
-
|
|
447
|
+
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
415
448
|
import_error_codes.LLMErrorCode.GENERATION_FAILED,
|
|
416
|
-
|
|
417
|
-
|
|
449
|
+
import_types5.ErrorScope.LLM,
|
|
450
|
+
import_types5.ErrorType.TIMEOUT,
|
|
418
451
|
`Provider timed out${body ? ` - ${body}` : ""}`,
|
|
419
452
|
{
|
|
420
453
|
sessionId: this.sessionId,
|
|
@@ -426,10 +459,10 @@ class VercelLLMService {
|
|
|
426
459
|
}
|
|
427
460
|
);
|
|
428
461
|
}
|
|
429
|
-
|
|
462
|
+
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
430
463
|
import_error_codes.LLMErrorCode.GENERATION_FAILED,
|
|
431
|
-
|
|
432
|
-
|
|
464
|
+
import_types5.ErrorScope.LLM,
|
|
465
|
+
import_types5.ErrorType.THIRD_PARTY,
|
|
433
466
|
`Provider error ${status}${body ? ` - ${body}` : ""}`,
|
|
434
467
|
{
|
|
435
468
|
sessionId: this.sessionId,
|
|
@@ -441,38 +474,44 @@ class VercelLLMService {
|
|
|
441
474
|
}
|
|
442
475
|
);
|
|
443
476
|
}
|
|
444
|
-
|
|
477
|
+
return (0, import_error_conversion.toError)(err, this.logger);
|
|
445
478
|
}
|
|
446
479
|
// Updated streamText to behave like generateText - returns string and handles message processing internally
|
|
447
480
|
async streamText(messages, tools, maxSteps = 10, signal) {
|
|
481
|
+
const activeSpan = import_api.trace.getActiveSpan();
|
|
482
|
+
if (activeSpan) {
|
|
483
|
+
activeSpan.setAttribute("llm.provider", this.config.provider);
|
|
484
|
+
activeSpan.setAttribute("llm.model", this.getModelId());
|
|
485
|
+
}
|
|
448
486
|
let stepIteration = 0;
|
|
449
487
|
const temperature = this.config.temperature;
|
|
450
488
|
const maxOutputTokens = this.config.maxOutputTokens;
|
|
451
489
|
const supportsTools = await this.validateToolSupport();
|
|
452
490
|
const effectiveTools = supportsTools ? tools : {};
|
|
453
491
|
if (!supportsTools && Object.keys(tools).length > 0) {
|
|
454
|
-
|
|
492
|
+
this.logger.debug(
|
|
455
493
|
`Model ${this.getModelId()} does not support tools, using empty tools object for streaming`
|
|
456
494
|
);
|
|
457
495
|
}
|
|
458
496
|
let streamErr;
|
|
459
497
|
const includeMaxOutputTokens = typeof maxOutputTokens === "number";
|
|
460
|
-
|
|
498
|
+
let response;
|
|
499
|
+
response = (0, import_ai.streamText)({
|
|
461
500
|
model: this.model,
|
|
462
501
|
messages,
|
|
463
502
|
tools: effectiveTools,
|
|
464
503
|
...signal ? { abortSignal: signal } : {},
|
|
465
504
|
onChunk: (chunk) => {
|
|
466
|
-
|
|
505
|
+
this.logger.debug(`Chunk type: ${chunk.chunk.type}`);
|
|
467
506
|
if (chunk.chunk.type === "text-delta") {
|
|
468
|
-
this.sessionEventBus.emit("
|
|
469
|
-
|
|
507
|
+
this.sessionEventBus.emit("llm:chunk", {
|
|
508
|
+
chunkType: "text",
|
|
470
509
|
content: chunk.chunk.text,
|
|
471
510
|
isComplete: false
|
|
472
511
|
});
|
|
473
512
|
} else if (chunk.chunk.type === "reasoning-delta") {
|
|
474
|
-
this.sessionEventBus.emit("
|
|
475
|
-
|
|
513
|
+
this.sessionEventBus.emit("llm:chunk", {
|
|
514
|
+
chunkType: "reasoning",
|
|
476
515
|
content: chunk.chunk.text,
|
|
477
516
|
isComplete: false
|
|
478
517
|
});
|
|
@@ -482,9 +521,9 @@ class VercelLLMService {
|
|
|
482
521
|
// Vercel triggers onAbort instead of onError for cancelled streams.
|
|
483
522
|
// This is where cancellation logic should be handled properly.
|
|
484
523
|
onError: (error) => {
|
|
485
|
-
const err = (
|
|
486
|
-
|
|
487
|
-
this.sessionEventBus.emit("
|
|
524
|
+
const err = this.mapProviderError(error, "stream");
|
|
525
|
+
this.logger.error(`Error in streamText after parsing: ${err.toString()}`);
|
|
526
|
+
this.sessionEventBus.emit("llm:error", {
|
|
488
527
|
error: err,
|
|
489
528
|
context: "streamText",
|
|
490
529
|
recoverable: false
|
|
@@ -492,13 +531,13 @@ class VercelLLMService {
|
|
|
492
531
|
streamErr = error;
|
|
493
532
|
},
|
|
494
533
|
onStepFinish: async (step) => {
|
|
495
|
-
|
|
534
|
+
this.logger.debug(`Step iteration: ${stepIteration}`);
|
|
496
535
|
stepIteration++;
|
|
497
|
-
|
|
498
|
-
|
|
536
|
+
this.logger.debug(`Step finished, text: ${step.text}`);
|
|
537
|
+
this.logger.debug(
|
|
499
538
|
`Step finished, step tool calls: ${JSON.stringify(step.toolCalls, null, 2)}`
|
|
500
539
|
);
|
|
501
|
-
|
|
540
|
+
this.logger.debug(
|
|
502
541
|
`Step finished, step tool results: ${JSON.stringify(step.toolResults, null, 2)}`
|
|
503
542
|
);
|
|
504
543
|
},
|
|
@@ -507,16 +546,28 @@ class VercelLLMService {
|
|
|
507
546
|
...includeMaxOutputTokens ? { maxOutputTokens } : {},
|
|
508
547
|
...temperature !== void 0 && { temperature }
|
|
509
548
|
});
|
|
510
|
-
const [finalText, usage, reasoningText] = await Promise.all([
|
|
511
|
-
response.text,
|
|
512
|
-
response.totalUsage,
|
|
513
|
-
response.reasoningText
|
|
514
|
-
]);
|
|
515
|
-
response.totalUsage;
|
|
516
549
|
if (streamErr) {
|
|
517
550
|
return "";
|
|
518
551
|
}
|
|
519
|
-
|
|
552
|
+
let finalText;
|
|
553
|
+
let usage;
|
|
554
|
+
let reasoningText;
|
|
555
|
+
try {
|
|
556
|
+
[finalText, usage, reasoningText] = await Promise.all([
|
|
557
|
+
response.text,
|
|
558
|
+
response.totalUsage,
|
|
559
|
+
response.reasoningText
|
|
560
|
+
]);
|
|
561
|
+
} catch (_error) {
|
|
562
|
+
this.logger.debug(
|
|
563
|
+
`streamText finalization failed while awaiting text/usage/reasoning: ${String(_error)}`
|
|
564
|
+
);
|
|
565
|
+
return "";
|
|
566
|
+
}
|
|
567
|
+
this.logger.debug(`streamText finalText: ${finalText}`);
|
|
568
|
+
this.logger.debug(`streamText usage: ${JSON.stringify(usage, null, 2)}`);
|
|
569
|
+
this.logger.debug(`streamText reasoningText: ${reasoningText}`);
|
|
570
|
+
this.sessionEventBus.emit("llm:response", {
|
|
520
571
|
content: finalText,
|
|
521
572
|
...reasoningText && { reasoning: reasoningText },
|
|
522
573
|
provider: this.config.provider,
|
|
@@ -531,8 +582,8 @@ class VercelLLMService {
|
|
|
531
582
|
...usage.totalTokens !== void 0 && { totalTokens: usage.totalTokens }
|
|
532
583
|
}
|
|
533
584
|
});
|
|
534
|
-
const
|
|
535
|
-
if (
|
|
585
|
+
const activeSpan2 = import_api.trace.getActiveSpan();
|
|
586
|
+
if (activeSpan2) {
|
|
536
587
|
const attributes = {};
|
|
537
588
|
if (usage.inputTokens !== void 0) {
|
|
538
589
|
attributes["gen_ai.usage.input_tokens"] = usage.inputTokens;
|
|
@@ -546,13 +597,13 @@ class VercelLLMService {
|
|
|
546
597
|
if (usage.reasoningTokens !== void 0) {
|
|
547
598
|
attributes["gen_ai.usage.reasoning_tokens"] = usage.reasoningTokens;
|
|
548
599
|
}
|
|
549
|
-
|
|
600
|
+
activeSpan2.setAttributes(attributes);
|
|
550
601
|
}
|
|
551
602
|
if (typeof usage.totalTokens === "number") {
|
|
552
603
|
this.contextManager.updateActualTokenCount(usage.totalTokens);
|
|
553
604
|
}
|
|
554
605
|
await this.contextManager.processLLMStreamResponse(response);
|
|
555
|
-
|
|
606
|
+
this.logger.silly(`streamText response object: ${JSON.stringify(response, null, 2)}`);
|
|
556
607
|
return finalText;
|
|
557
608
|
}
|
|
558
609
|
/**
|
|
@@ -566,12 +617,13 @@ class VercelLLMService {
|
|
|
566
617
|
modelMaxInputTokens = (0, import_registry.getMaxInputTokensForModel)(
|
|
567
618
|
this.config.provider,
|
|
568
619
|
// Use our internal provider name
|
|
569
|
-
this.getModelId()
|
|
620
|
+
this.getModelId(),
|
|
621
|
+
this.logger
|
|
570
622
|
);
|
|
571
623
|
} catch (error) {
|
|
572
624
|
if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
|
|
573
625
|
modelMaxInputTokens = configuredMaxTokens;
|
|
574
|
-
|
|
626
|
+
this.logger.debug(
|
|
575
627
|
`Could not find model ${this.getModelId()} in LLM registry to get max tokens. Using configured max tokens: ${configuredMaxTokens}.`
|
|
576
628
|
);
|
|
577
629
|
} else {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LanguageModel, type ModelMessage } from 'ai';
|
|
2
2
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
3
3
|
import { ILLMService, LLMServiceConfig } from './types.js';
|
|
4
|
+
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
4
5
|
import { ToolSet } from '../../tools/types.js';
|
|
5
6
|
import { ToolSet as VercelToolSet } from 'ai';
|
|
6
7
|
import { ContextManager } from '../../context/manager.js';
|
|
@@ -27,11 +28,12 @@ export declare class VercelLLMService implements ILLMService {
|
|
|
27
28
|
private sessionEventBus;
|
|
28
29
|
private readonly sessionId;
|
|
29
30
|
private toolSupportCache;
|
|
31
|
+
private logger;
|
|
30
32
|
/**
|
|
31
33
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
32
34
|
*/
|
|
33
35
|
private getModelId;
|
|
34
|
-
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager);
|
|
36
|
+
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger);
|
|
35
37
|
getAllTools(): Promise<ToolSet>;
|
|
36
38
|
formatTools(tools: ToolSet): VercelToolSet;
|
|
37
39
|
private validateToolSupport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,KAAK,YAAY,EAGpB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,KAAK,YAAY,EAGpB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAc,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;;;;;;;GASG;AACH,qBAIa,gBAAiB,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,MAAM,CAAe;IAE7B;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe,EACnE,MAAM,EAAE,YAAY;IAkCxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;YA6G5B,mBAAmB;IA4D3B,YAAY,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EACjC,SAAS,CAAC,EAAE,SAAS,EACrB,QAAQ,CAAC,EAAE,QAAQ,EACnB,MAAM,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IA+FZ,YAAY,CACd,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IAqHlB,OAAO,CAAC,gBAAgB;IAkElB,UAAU,CACZ,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IA8LlB;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IAiC7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;CAG/C"}
|