@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
|
@@ -22,8 +22,12 @@ __export(openai_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(openai_exports);
|
|
24
24
|
var import_utils = require("../../context/utils.cjs");
|
|
25
|
-
var
|
|
25
|
+
var import_types4 = require("../../logger/v2/types.cjs");
|
|
26
26
|
class OpenAIMessageFormatter {
|
|
27
|
+
logger;
|
|
28
|
+
constructor(logger) {
|
|
29
|
+
this.logger = logger.createChild(import_types4.DextoLogComponent.LLM);
|
|
30
|
+
}
|
|
27
31
|
/**
|
|
28
32
|
* Formats internal messages into OpenAI's Chat Completion API format
|
|
29
33
|
*
|
|
@@ -35,9 +39,11 @@ class OpenAIMessageFormatter {
|
|
|
35
39
|
const formatted = [];
|
|
36
40
|
let filteredHistory;
|
|
37
41
|
try {
|
|
38
|
-
filteredHistory = (0, import_utils.filterMessagesByLLMCapabilities)([...history], context);
|
|
42
|
+
filteredHistory = (0, import_utils.filterMessagesByLLMCapabilities)([...history], context, this.logger);
|
|
39
43
|
} catch (error) {
|
|
40
|
-
|
|
44
|
+
this.logger.warn(
|
|
45
|
+
`Failed to apply capability filtering, using original history: ${error}`
|
|
46
|
+
);
|
|
41
47
|
filteredHistory = [...history];
|
|
42
48
|
}
|
|
43
49
|
if (systemPrompt) {
|
|
@@ -46,6 +52,7 @@ class OpenAIMessageFormatter {
|
|
|
46
52
|
content: systemPrompt
|
|
47
53
|
});
|
|
48
54
|
}
|
|
55
|
+
const pendingToolCallIds = /* @__PURE__ */ new Set();
|
|
49
56
|
for (const msg of filteredHistory) {
|
|
50
57
|
switch (msg.role) {
|
|
51
58
|
case "system":
|
|
@@ -67,6 +74,9 @@ class OpenAIMessageFormatter {
|
|
|
67
74
|
content: String(msg.content || ""),
|
|
68
75
|
tool_calls: msg.toolCalls
|
|
69
76
|
});
|
|
77
|
+
for (const toolCall of msg.toolCalls) {
|
|
78
|
+
pendingToolCallIds.add(toolCall.id);
|
|
79
|
+
}
|
|
70
80
|
} else {
|
|
71
81
|
formatted.push({
|
|
72
82
|
role: "assistant",
|
|
@@ -75,14 +85,33 @@ class OpenAIMessageFormatter {
|
|
|
75
85
|
}
|
|
76
86
|
break;
|
|
77
87
|
case "tool":
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
88
|
+
if (msg.toolCallId && pendingToolCallIds.has(msg.toolCallId)) {
|
|
89
|
+
formatted.push({
|
|
90
|
+
role: "tool",
|
|
91
|
+
content: (0, import_utils.toTextForToolMessage)(msg.content),
|
|
92
|
+
tool_call_id: msg.toolCallId
|
|
93
|
+
});
|
|
94
|
+
pendingToolCallIds.delete(msg.toolCallId);
|
|
95
|
+
} else {
|
|
96
|
+
this.logger.warn(
|
|
97
|
+
`Skipping orphaned tool result ${msg.toolCallId} (no matching tool call found) - cannot send to OpenAI without corresponding tool_calls`
|
|
98
|
+
);
|
|
99
|
+
}
|
|
83
100
|
break;
|
|
84
101
|
}
|
|
85
102
|
}
|
|
103
|
+
if (pendingToolCallIds.size > 0) {
|
|
104
|
+
for (const toolCallId of pendingToolCallIds) {
|
|
105
|
+
formatted.push({
|
|
106
|
+
role: "tool",
|
|
107
|
+
content: "Error: Tool execution was interrupted (session crashed or cancelled before completion)",
|
|
108
|
+
tool_call_id: toolCallId
|
|
109
|
+
});
|
|
110
|
+
this.logger.warn(
|
|
111
|
+
`Tool call ${toolCallId} had no matching tool result - added synthetic error result to prevent API errors`
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
86
115
|
return formatted;
|
|
87
116
|
}
|
|
88
117
|
/**
|
|
@@ -149,7 +178,7 @@ class OpenAIMessageFormatter {
|
|
|
149
178
|
return { type: "text", text: part.text };
|
|
150
179
|
}
|
|
151
180
|
if (part.type === "image") {
|
|
152
|
-
const raw = (0, import_utils.getImageData)(part);
|
|
181
|
+
const raw = (0, import_utils.getImageData)(part, this.logger);
|
|
153
182
|
const url = raw.startsWith("http://") || raw.startsWith("https://") || raw.startsWith("data:") ? raw : `data:${part.mimeType || "application/octet-stream"};base64,${raw}`;
|
|
154
183
|
return { type: "image_url", image_url: { url } };
|
|
155
184
|
}
|
|
@@ -2,6 +2,7 @@ import { ChatCompletionMessageParam } from 'openai/resources';
|
|
|
2
2
|
import { IMessageFormatter } from './types.js';
|
|
3
3
|
import { LLMContext } from '../types.js';
|
|
4
4
|
import { InternalMessage } from '../../context/types.js';
|
|
5
|
+
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Message formatter for OpenAI's Chat Completion API.
|
|
7
8
|
*
|
|
@@ -11,6 +12,8 @@ import { InternalMessage } from '../../context/types.js';
|
|
|
11
12
|
* - Tool results use the 'tool' role with tool_call_id and name
|
|
12
13
|
*/
|
|
13
14
|
export declare class OpenAIMessageFormatter implements IMessageFormatter {
|
|
15
|
+
private logger;
|
|
16
|
+
constructor(logger: IDextoLogger);
|
|
14
17
|
/**
|
|
15
18
|
* Formats internal messages into OpenAI's Chat Completion API format
|
|
16
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;;;GAOG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAGhC;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,0BAA0B,EAAE;IAyG/B;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,EAAE;IAiDnD,OAAO,CAAC,iBAAiB;CA+B5B"}
|
|
@@ -4,8 +4,12 @@ import {
|
|
|
4
4
|
filterMessagesByLLMCapabilities,
|
|
5
5
|
toTextForToolMessage
|
|
6
6
|
} from "../../context/utils.js";
|
|
7
|
-
import {
|
|
7
|
+
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
8
8
|
class OpenAIMessageFormatter {
|
|
9
|
+
logger;
|
|
10
|
+
constructor(logger) {
|
|
11
|
+
this.logger = logger.createChild(DextoLogComponent.LLM);
|
|
12
|
+
}
|
|
9
13
|
/**
|
|
10
14
|
* Formats internal messages into OpenAI's Chat Completion API format
|
|
11
15
|
*
|
|
@@ -17,9 +21,11 @@ class OpenAIMessageFormatter {
|
|
|
17
21
|
const formatted = [];
|
|
18
22
|
let filteredHistory;
|
|
19
23
|
try {
|
|
20
|
-
filteredHistory = filterMessagesByLLMCapabilities([...history], context);
|
|
24
|
+
filteredHistory = filterMessagesByLLMCapabilities([...history], context, this.logger);
|
|
21
25
|
} catch (error) {
|
|
22
|
-
logger.warn(
|
|
26
|
+
this.logger.warn(
|
|
27
|
+
`Failed to apply capability filtering, using original history: ${error}`
|
|
28
|
+
);
|
|
23
29
|
filteredHistory = [...history];
|
|
24
30
|
}
|
|
25
31
|
if (systemPrompt) {
|
|
@@ -28,6 +34,7 @@ class OpenAIMessageFormatter {
|
|
|
28
34
|
content: systemPrompt
|
|
29
35
|
});
|
|
30
36
|
}
|
|
37
|
+
const pendingToolCallIds = /* @__PURE__ */ new Set();
|
|
31
38
|
for (const msg of filteredHistory) {
|
|
32
39
|
switch (msg.role) {
|
|
33
40
|
case "system":
|
|
@@ -49,6 +56,9 @@ class OpenAIMessageFormatter {
|
|
|
49
56
|
content: String(msg.content || ""),
|
|
50
57
|
tool_calls: msg.toolCalls
|
|
51
58
|
});
|
|
59
|
+
for (const toolCall of msg.toolCalls) {
|
|
60
|
+
pendingToolCallIds.add(toolCall.id);
|
|
61
|
+
}
|
|
52
62
|
} else {
|
|
53
63
|
formatted.push({
|
|
54
64
|
role: "assistant",
|
|
@@ -57,14 +67,33 @@ class OpenAIMessageFormatter {
|
|
|
57
67
|
}
|
|
58
68
|
break;
|
|
59
69
|
case "tool":
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
if (msg.toolCallId && pendingToolCallIds.has(msg.toolCallId)) {
|
|
71
|
+
formatted.push({
|
|
72
|
+
role: "tool",
|
|
73
|
+
content: toTextForToolMessage(msg.content),
|
|
74
|
+
tool_call_id: msg.toolCallId
|
|
75
|
+
});
|
|
76
|
+
pendingToolCallIds.delete(msg.toolCallId);
|
|
77
|
+
} else {
|
|
78
|
+
this.logger.warn(
|
|
79
|
+
`Skipping orphaned tool result ${msg.toolCallId} (no matching tool call found) - cannot send to OpenAI without corresponding tool_calls`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
65
82
|
break;
|
|
66
83
|
}
|
|
67
84
|
}
|
|
85
|
+
if (pendingToolCallIds.size > 0) {
|
|
86
|
+
for (const toolCallId of pendingToolCallIds) {
|
|
87
|
+
formatted.push({
|
|
88
|
+
role: "tool",
|
|
89
|
+
content: "Error: Tool execution was interrupted (session crashed or cancelled before completion)",
|
|
90
|
+
tool_call_id: toolCallId
|
|
91
|
+
});
|
|
92
|
+
this.logger.warn(
|
|
93
|
+
`Tool call ${toolCallId} had no matching tool result - added synthetic error result to prevent API errors`
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
68
97
|
return formatted;
|
|
69
98
|
}
|
|
70
99
|
/**
|
|
@@ -131,7 +160,7 @@ class OpenAIMessageFormatter {
|
|
|
131
160
|
return { type: "text", text: part.text };
|
|
132
161
|
}
|
|
133
162
|
if (part.type === "image") {
|
|
134
|
-
const raw = getImageData(part);
|
|
163
|
+
const raw = getImageData(part, this.logger);
|
|
135
164
|
const url = raw.startsWith("http://") || raw.startsWith("https://") || raw.startsWith("data:") ? raw : `data:${part.mimeType || "application/octet-stream"};base64,${raw}`;
|
|
136
165
|
return { type: "image_url", image_url: { url } };
|
|
137
166
|
}
|
|
@@ -22,8 +22,12 @@ __export(vercel_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(vercel_exports);
|
|
24
24
|
var import_utils = require("../../context/utils.cjs");
|
|
25
|
-
var
|
|
25
|
+
var import_types4 = require("../../logger/v2/types.cjs");
|
|
26
26
|
class VercelMessageFormatter {
|
|
27
|
+
logger;
|
|
28
|
+
constructor(logger) {
|
|
29
|
+
this.logger = logger.createChild(import_types4.DextoLogComponent.LLM);
|
|
30
|
+
}
|
|
27
31
|
/**
|
|
28
32
|
* Formats internal messages into Vercel AI SDK format
|
|
29
33
|
*
|
|
@@ -35,11 +39,13 @@ class VercelMessageFormatter {
|
|
|
35
39
|
const formatted = [];
|
|
36
40
|
let filteredHistory;
|
|
37
41
|
try {
|
|
38
|
-
filteredHistory = (0, import_utils.filterMessagesByLLMCapabilities)([...history], context);
|
|
42
|
+
filteredHistory = (0, import_utils.filterMessagesByLLMCapabilities)([...history], context, this.logger);
|
|
39
43
|
const modelInfo = `${context.provider}/${context.model}`;
|
|
40
|
-
|
|
44
|
+
this.logger.debug(`Applied Vercel filtering for ${modelInfo}`);
|
|
41
45
|
} catch (error) {
|
|
42
|
-
|
|
46
|
+
this.logger.warn(
|
|
47
|
+
`Failed to apply capability filtering, using original history: ${error}`
|
|
48
|
+
);
|
|
43
49
|
filteredHistory = [...history];
|
|
44
50
|
}
|
|
45
51
|
if (systemPrompt) {
|
|
@@ -48,6 +54,7 @@ class VercelMessageFormatter {
|
|
|
48
54
|
content: systemPrompt
|
|
49
55
|
});
|
|
50
56
|
}
|
|
57
|
+
const pendingToolCalls = /* @__PURE__ */ new Map();
|
|
51
58
|
for (const msg of filteredHistory) {
|
|
52
59
|
switch (msg.role) {
|
|
53
60
|
case "user":
|
|
@@ -87,12 +94,46 @@ class VercelMessageFormatter {
|
|
|
87
94
|
break;
|
|
88
95
|
case "assistant":
|
|
89
96
|
formatted.push({ role: "assistant", ...this.formatAssistantMessage(msg) });
|
|
97
|
+
if (msg.toolCalls && msg.toolCalls.length > 0) {
|
|
98
|
+
for (const toolCall of msg.toolCalls) {
|
|
99
|
+
pendingToolCalls.set(toolCall.id, toolCall.function.name);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
90
102
|
break;
|
|
91
103
|
case "tool":
|
|
92
|
-
|
|
104
|
+
if (msg.toolCallId && pendingToolCalls.has(msg.toolCallId)) {
|
|
105
|
+
formatted.push({ role: "tool", ...this.formatToolMessage(msg) });
|
|
106
|
+
pendingToolCalls.delete(msg.toolCallId);
|
|
107
|
+
} else {
|
|
108
|
+
this.logger.warn(
|
|
109
|
+
`Skipping orphaned tool result ${msg.toolCallId} (no matching tool call found) - cannot send to Vercel AI SDK without corresponding tool-call`
|
|
110
|
+
);
|
|
111
|
+
}
|
|
93
112
|
break;
|
|
94
113
|
}
|
|
95
114
|
}
|
|
115
|
+
if (pendingToolCalls.size > 0) {
|
|
116
|
+
for (const [toolCallId, toolName] of pendingToolCalls.entries()) {
|
|
117
|
+
formatted.push({
|
|
118
|
+
role: "tool",
|
|
119
|
+
content: [
|
|
120
|
+
{
|
|
121
|
+
type: "tool-result",
|
|
122
|
+
toolCallId,
|
|
123
|
+
toolName,
|
|
124
|
+
output: {
|
|
125
|
+
type: "text",
|
|
126
|
+
value: "Error: Tool execution was interrupted (session crashed or cancelled before completion)"
|
|
127
|
+
},
|
|
128
|
+
isError: true
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
});
|
|
132
|
+
this.logger.warn(
|
|
133
|
+
`Tool call ${toolCallId} (${toolName}) had no matching tool result - added synthetic error result to prevent API errors`
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
96
137
|
return formatted;
|
|
97
138
|
}
|
|
98
139
|
/**
|
|
@@ -301,7 +342,7 @@ class VercelMessageFormatter {
|
|
|
301
342
|
parsed = JSON.parse(rawArgs);
|
|
302
343
|
} catch {
|
|
303
344
|
parsed = {};
|
|
304
|
-
|
|
345
|
+
this.logger.warn(
|
|
305
346
|
`Vercel formatter: invalid tool args JSON for ${toolCall.function.name}`
|
|
306
347
|
);
|
|
307
348
|
}
|
|
@@ -345,7 +386,7 @@ class VercelMessageFormatter {
|
|
|
345
386
|
if (Array.isArray(msg.content)) {
|
|
346
387
|
if (msg.content[0]?.type === "image") {
|
|
347
388
|
const imagePart = msg.content[0];
|
|
348
|
-
const imageDataBase64 = (0, import_utils.getImageData)(imagePart);
|
|
389
|
+
const imageDataBase64 = (0, import_utils.getImageData)(imagePart, this.logger);
|
|
349
390
|
toolResultPart = {
|
|
350
391
|
type: "tool-result",
|
|
351
392
|
toolCallId: msg.toolCallId,
|
|
@@ -363,7 +404,7 @@ class VercelMessageFormatter {
|
|
|
363
404
|
};
|
|
364
405
|
} else if (msg.content[0]?.type === "file") {
|
|
365
406
|
const filePart = msg.content[0];
|
|
366
|
-
const fileDataBase64 = (0, import_utils.getFileData)(filePart);
|
|
407
|
+
const fileDataBase64 = (0, import_utils.getFileData)(filePart, this.logger);
|
|
367
408
|
toolResultPart = {
|
|
368
409
|
type: "tool-result",
|
|
369
410
|
toolCallId: msg.toolCallId,
|
|
@@ -3,6 +3,7 @@ import { IMessageFormatter } from './types.js';
|
|
|
3
3
|
import { LLMContext } from '../types.js';
|
|
4
4
|
import { InternalMessage } from '../../context/types.js';
|
|
5
5
|
import type { GenerateTextResult, StreamTextResult, ToolSet as VercelToolSet } from 'ai';
|
|
6
|
+
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
6
7
|
/**
|
|
7
8
|
* Message formatter for Vercel AI SDK.
|
|
8
9
|
*
|
|
@@ -15,6 +16,8 @@ import type { GenerateTextResult, StreamTextResult, ToolSet as VercelToolSet } f
|
|
|
15
16
|
* particularly in its handling of function calls and responses.
|
|
16
17
|
*/
|
|
17
18
|
export declare class VercelMessageFormatter implements IMessageFormatter {
|
|
19
|
+
private logger;
|
|
20
|
+
constructor(logger: IDextoLogger);
|
|
18
21
|
/**
|
|
19
22
|
* Formats internal messages into Vercel AI SDK format
|
|
20
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAOf,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAOf,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAGhC;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IAmIjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;;OAGG;IACG,mBAAmB,CACrB,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACnD,OAAO,CAAC,eAAe,EAAE,CAAC;IAwC7B;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,eAAe,EAAE;IAsJtF,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,iBAAiB;CAoE5B"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import "../../chunk-C6A6W6XS.js";
|
|
2
2
|
import { getImageData, getFileData, filterMessagesByLLMCapabilities } from "../../context/utils.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
4
4
|
class VercelMessageFormatter {
|
|
5
|
+
logger;
|
|
6
|
+
constructor(logger) {
|
|
7
|
+
this.logger = logger.createChild(DextoLogComponent.LLM);
|
|
8
|
+
}
|
|
5
9
|
/**
|
|
6
10
|
* Formats internal messages into Vercel AI SDK format
|
|
7
11
|
*
|
|
@@ -13,11 +17,13 @@ class VercelMessageFormatter {
|
|
|
13
17
|
const formatted = [];
|
|
14
18
|
let filteredHistory;
|
|
15
19
|
try {
|
|
16
|
-
filteredHistory = filterMessagesByLLMCapabilities([...history], context);
|
|
20
|
+
filteredHistory = filterMessagesByLLMCapabilities([...history], context, this.logger);
|
|
17
21
|
const modelInfo = `${context.provider}/${context.model}`;
|
|
18
|
-
logger.debug(`Applied Vercel filtering for ${modelInfo}`);
|
|
22
|
+
this.logger.debug(`Applied Vercel filtering for ${modelInfo}`);
|
|
19
23
|
} catch (error) {
|
|
20
|
-
logger.warn(
|
|
24
|
+
this.logger.warn(
|
|
25
|
+
`Failed to apply capability filtering, using original history: ${error}`
|
|
26
|
+
);
|
|
21
27
|
filteredHistory = [...history];
|
|
22
28
|
}
|
|
23
29
|
if (systemPrompt) {
|
|
@@ -26,6 +32,7 @@ class VercelMessageFormatter {
|
|
|
26
32
|
content: systemPrompt
|
|
27
33
|
});
|
|
28
34
|
}
|
|
35
|
+
const pendingToolCalls = /* @__PURE__ */ new Map();
|
|
29
36
|
for (const msg of filteredHistory) {
|
|
30
37
|
switch (msg.role) {
|
|
31
38
|
case "user":
|
|
@@ -65,12 +72,46 @@ class VercelMessageFormatter {
|
|
|
65
72
|
break;
|
|
66
73
|
case "assistant":
|
|
67
74
|
formatted.push({ role: "assistant", ...this.formatAssistantMessage(msg) });
|
|
75
|
+
if (msg.toolCalls && msg.toolCalls.length > 0) {
|
|
76
|
+
for (const toolCall of msg.toolCalls) {
|
|
77
|
+
pendingToolCalls.set(toolCall.id, toolCall.function.name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
68
80
|
break;
|
|
69
81
|
case "tool":
|
|
70
|
-
|
|
82
|
+
if (msg.toolCallId && pendingToolCalls.has(msg.toolCallId)) {
|
|
83
|
+
formatted.push({ role: "tool", ...this.formatToolMessage(msg) });
|
|
84
|
+
pendingToolCalls.delete(msg.toolCallId);
|
|
85
|
+
} else {
|
|
86
|
+
this.logger.warn(
|
|
87
|
+
`Skipping orphaned tool result ${msg.toolCallId} (no matching tool call found) - cannot send to Vercel AI SDK without corresponding tool-call`
|
|
88
|
+
);
|
|
89
|
+
}
|
|
71
90
|
break;
|
|
72
91
|
}
|
|
73
92
|
}
|
|
93
|
+
if (pendingToolCalls.size > 0) {
|
|
94
|
+
for (const [toolCallId, toolName] of pendingToolCalls.entries()) {
|
|
95
|
+
formatted.push({
|
|
96
|
+
role: "tool",
|
|
97
|
+
content: [
|
|
98
|
+
{
|
|
99
|
+
type: "tool-result",
|
|
100
|
+
toolCallId,
|
|
101
|
+
toolName,
|
|
102
|
+
output: {
|
|
103
|
+
type: "text",
|
|
104
|
+
value: "Error: Tool execution was interrupted (session crashed or cancelled before completion)"
|
|
105
|
+
},
|
|
106
|
+
isError: true
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
this.logger.warn(
|
|
111
|
+
`Tool call ${toolCallId} (${toolName}) had no matching tool result - added synthetic error result to prevent API errors`
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
74
115
|
return formatted;
|
|
75
116
|
}
|
|
76
117
|
/**
|
|
@@ -279,7 +320,7 @@ class VercelMessageFormatter {
|
|
|
279
320
|
parsed = JSON.parse(rawArgs);
|
|
280
321
|
} catch {
|
|
281
322
|
parsed = {};
|
|
282
|
-
logger.warn(
|
|
323
|
+
this.logger.warn(
|
|
283
324
|
`Vercel formatter: invalid tool args JSON for ${toolCall.function.name}`
|
|
284
325
|
);
|
|
285
326
|
}
|
|
@@ -323,7 +364,7 @@ class VercelMessageFormatter {
|
|
|
323
364
|
if (Array.isArray(msg.content)) {
|
|
324
365
|
if (msg.content[0]?.type === "image") {
|
|
325
366
|
const imagePart = msg.content[0];
|
|
326
|
-
const imageDataBase64 = getImageData(imagePart);
|
|
367
|
+
const imageDataBase64 = getImageData(imagePart, this.logger);
|
|
327
368
|
toolResultPart = {
|
|
328
369
|
type: "tool-result",
|
|
329
370
|
toolCallId: msg.toolCallId,
|
|
@@ -341,7 +382,7 @@ class VercelMessageFormatter {
|
|
|
341
382
|
};
|
|
342
383
|
} else if (msg.content[0]?.type === "file") {
|
|
343
384
|
const filePart = msg.content[0];
|
|
344
|
-
const fileDataBase64 = getFileData(filePart);
|
|
385
|
+
const fileDataBase64 = getFileData(filePart, this.logger);
|
|
345
386
|
toolResultPart = {
|
|
346
387
|
type: "tool-result",
|
|
347
388
|
toolCallId: msg.toolCallId,
|