@dexto/core 1.2.4 → 1.2.5
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 +164 -64
- package/dist/agent/schemas.d.ts +2605 -517
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +167 -64
- 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/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.d.ts +6 -6
- 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/prompt-manager.cjs +25 -18
- 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 -18
- 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/file-prompt-provider.cjs +14 -12
- package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/file-prompt-provider.js +14 -12
- 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/providers/starter-prompt-provider.cjs +7 -5
- package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/starter-prompt-provider.js +7 -5
- package/dist/prompts/schemas.d.ts +3 -3
- 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/manager.cjs +11 -8
- package/dist/systemPrompt/manager.d.ts +4 -2
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +11 -8
- package/dist/systemPrompt/schemas.cjs +21 -1
- package/dist/systemPrompt/schemas.d.ts +53 -53
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +11 -1
- 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 +87 -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 +69 -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/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
package/dist/context/manager.cjs
CHANGED
|
@@ -33,7 +33,7 @@ __export(manager_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(manager_exports);
|
|
34
34
|
var import_middle_removal = require("./compression/middle-removal.js");
|
|
35
35
|
var import_oldest_removal = require("./compression/oldest-removal.js");
|
|
36
|
-
var
|
|
36
|
+
var import_types6 = require("../logger/v2/types.js");
|
|
37
37
|
var import_events = require("../events/index.js");
|
|
38
38
|
var import_utils = require("./utils.js");
|
|
39
39
|
var import_errors = require("./errors.js");
|
|
@@ -83,6 +83,38 @@ class ContextManager {
|
|
|
83
83
|
* before passing messages to the LLM formatter.
|
|
84
84
|
*/
|
|
85
85
|
resourceManager;
|
|
86
|
+
logger;
|
|
87
|
+
/**
|
|
88
|
+
* Creates a new ContextManager instance
|
|
89
|
+
* @param llmConfig The validated LLM configuration.
|
|
90
|
+
* @param formatter Formatter implementation for the target LLM provider
|
|
91
|
+
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
92
|
+
* @param maxInputTokens Maximum token limit for the conversation history. Triggers compression if exceeded and a tokenizer is provided.
|
|
93
|
+
* @param tokenizer Tokenizer implementation used for counting tokens and enabling compression.
|
|
94
|
+
* @param historyProvider Session-scoped ConversationHistoryProvider instance for managing conversation history
|
|
95
|
+
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
96
|
+
* @param compressionStrategies Optional array of compression strategies to apply when token limits are exceeded
|
|
97
|
+
* @param resourceManager Optional ResourceManager for resolving blob references in messages
|
|
98
|
+
* @param logger Logger instance for logging
|
|
99
|
+
*/
|
|
100
|
+
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens, tokenizer, historyProvider, sessionId, resourceManager, logger, compressionStrategies = [
|
|
101
|
+
new import_middle_removal.MiddleRemovalStrategy({}, logger),
|
|
102
|
+
new import_oldest_removal.OldestRemovalStrategy({}, logger)
|
|
103
|
+
]) {
|
|
104
|
+
this.llmConfig = llmConfig;
|
|
105
|
+
this.formatter = formatter;
|
|
106
|
+
this.systemPromptManager = systemPromptManager;
|
|
107
|
+
this.maxInputTokens = maxInputTokens;
|
|
108
|
+
this.tokenizer = tokenizer;
|
|
109
|
+
this.historyProvider = historyProvider;
|
|
110
|
+
this.sessionId = sessionId;
|
|
111
|
+
this.compressionStrategies = compressionStrategies;
|
|
112
|
+
this.resourceManager = resourceManager;
|
|
113
|
+
this.logger = logger.createChild(import_types6.DextoLogComponent.CONTEXT);
|
|
114
|
+
this.logger.debug(
|
|
115
|
+
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${historyProvider.constructor.name}`
|
|
116
|
+
);
|
|
117
|
+
}
|
|
86
118
|
/**
|
|
87
119
|
* Get the ResourceManager instance
|
|
88
120
|
*/
|
|
@@ -126,58 +158,29 @@ class ContextManager {
|
|
|
126
158
|
originalName: metadata.originalName,
|
|
127
159
|
source: metadata.source || "user"
|
|
128
160
|
});
|
|
129
|
-
|
|
161
|
+
this.logger.info(
|
|
130
162
|
`Stored user input as blob: ${blobRef.uri} (${estimatedSize} bytes, ${metadata.mimeType})`
|
|
131
163
|
);
|
|
132
|
-
import_events.eventBus.emit("
|
|
164
|
+
import_events.eventBus.emit("resource:cache-invalidated", {
|
|
133
165
|
resourceUri: blobRef.uri,
|
|
134
166
|
serverName: "internal",
|
|
135
167
|
action: "blob_stored"
|
|
136
168
|
});
|
|
137
169
|
return `@${blobRef.uri}`;
|
|
138
170
|
} catch (error) {
|
|
139
|
-
|
|
171
|
+
this.logger.warn(`Failed to store user input as blob: ${String(error)}`);
|
|
140
172
|
return data;
|
|
141
173
|
}
|
|
142
174
|
}
|
|
143
175
|
return data;
|
|
144
176
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Creates a new ContextManager instance
|
|
147
|
-
* @param llmConfig The validated LLM configuration.
|
|
148
|
-
* @param formatter Formatter implementation for the target LLM provider
|
|
149
|
-
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
150
|
-
* @param maxInputTokens Maximum token limit for the conversation history. Triggers compression if exceeded and a tokenizer is provided.
|
|
151
|
-
* @param tokenizer Tokenizer implementation used for counting tokens and enabling compression.
|
|
152
|
-
* @param historyProvider Session-scoped ConversationHistoryProvider instance for managing conversation history
|
|
153
|
-
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
154
|
-
* @param compressionStrategies Optional array of compression strategies to apply when token limits are exceeded
|
|
155
|
-
* @param resourceManager Optional ResourceManager for resolving blob references in messages
|
|
156
|
-
*/
|
|
157
|
-
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens, tokenizer, historyProvider, sessionId, resourceManager, compressionStrategies = [
|
|
158
|
-
new import_middle_removal.MiddleRemovalStrategy(),
|
|
159
|
-
new import_oldest_removal.OldestRemovalStrategy()
|
|
160
|
-
]) {
|
|
161
|
-
this.llmConfig = llmConfig;
|
|
162
|
-
this.formatter = formatter;
|
|
163
|
-
this.systemPromptManager = systemPromptManager;
|
|
164
|
-
this.maxInputTokens = maxInputTokens;
|
|
165
|
-
this.tokenizer = tokenizer;
|
|
166
|
-
this.historyProvider = historyProvider;
|
|
167
|
-
this.sessionId = sessionId;
|
|
168
|
-
this.compressionStrategies = compressionStrategies;
|
|
169
|
-
this.resourceManager = resourceManager;
|
|
170
|
-
import_logger.logger.debug(
|
|
171
|
-
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${historyProvider.constructor.name}`
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
177
|
/**
|
|
175
178
|
* Returns the current token count of the conversation history.
|
|
176
179
|
* @returns Promise that resolves to the number of tokens in the current history
|
|
177
180
|
*/
|
|
178
181
|
async getTokenCount() {
|
|
179
182
|
const history = await this.historyProvider.getHistory();
|
|
180
|
-
return (0, import_utils.countMessagesTokens)(history, this.tokenizer);
|
|
183
|
+
return (0, import_utils.countMessagesTokens)(history, this.tokenizer, void 0, this.logger);
|
|
181
184
|
}
|
|
182
185
|
/**
|
|
183
186
|
* Returns the total token count that will be sent to the LLM provider,
|
|
@@ -193,15 +196,23 @@ class ContextManager {
|
|
|
193
196
|
let history = await this.historyProvider.getHistory();
|
|
194
197
|
const systemPromptTokens = this.tokenizer.countTokens(systemPrompt);
|
|
195
198
|
history = await this.compressHistoryIfNeeded(history, systemPromptTokens);
|
|
196
|
-
const historyTokens = (0, import_utils.countMessagesTokens)(
|
|
199
|
+
const historyTokens = (0, import_utils.countMessagesTokens)(
|
|
200
|
+
history,
|
|
201
|
+
this.tokenizer,
|
|
202
|
+
void 0,
|
|
203
|
+
this.logger
|
|
204
|
+
);
|
|
197
205
|
const formattingOverhead = Math.ceil((systemPromptTokens + historyTokens) * 0.05);
|
|
198
206
|
const totalTokens = systemPromptTokens + historyTokens + formattingOverhead;
|
|
199
|
-
|
|
207
|
+
this.logger.debug(
|
|
200
208
|
`Token breakdown - System: ${systemPromptTokens}, History: ${historyTokens}, Overhead: ${formattingOverhead}, Total: ${totalTokens}`
|
|
201
209
|
);
|
|
202
210
|
return totalTokens;
|
|
203
211
|
} catch (error) {
|
|
204
|
-
|
|
212
|
+
this.logger.error(
|
|
213
|
+
`Error calculating total token count: ${error instanceof Error ? error.message : String(error)}`,
|
|
214
|
+
{ error }
|
|
215
|
+
);
|
|
205
216
|
return this.getTokenCount();
|
|
206
217
|
}
|
|
207
218
|
}
|
|
@@ -228,7 +239,7 @@ class ContextManager {
|
|
|
228
239
|
if (newFormatter) {
|
|
229
240
|
this.formatter = newFormatter;
|
|
230
241
|
}
|
|
231
|
-
|
|
242
|
+
this.logger.debug(
|
|
232
243
|
`ContextManager config updated: maxInputTokens ${oldMaxInputTokens} -> ${newMaxInputTokens}`
|
|
233
244
|
);
|
|
234
245
|
}
|
|
@@ -240,7 +251,7 @@ class ContextManager {
|
|
|
240
251
|
*/
|
|
241
252
|
updateActualTokenCount(actualTokens) {
|
|
242
253
|
this.lastActualTokenCount = actualTokens;
|
|
243
|
-
|
|
254
|
+
this.logger.debug(`Updated actual token count to: ${actualTokens}`);
|
|
244
255
|
}
|
|
245
256
|
/**
|
|
246
257
|
* Estimates if new input would trigger compression using hybrid approach.
|
|
@@ -252,7 +263,7 @@ class ContextManager {
|
|
|
252
263
|
shouldCompress(newInputTokens) {
|
|
253
264
|
const estimatedTotal = this.lastActualTokenCount + newInputTokens;
|
|
254
265
|
const compressionTrigger = this.maxInputTokens * this.compressionThreshold;
|
|
255
|
-
|
|
266
|
+
this.logger.debug(
|
|
256
267
|
`Compression check: actual=${this.lastActualTokenCount}, newInput=${newInputTokens}, total=${estimatedTotal}, trigger=${compressionTrigger}`
|
|
257
268
|
);
|
|
258
269
|
return estimatedTotal > compressionTrigger;
|
|
@@ -262,7 +273,7 @@ class ContextManager {
|
|
|
262
273
|
*/
|
|
263
274
|
async getSystemPrompt(context) {
|
|
264
275
|
const prompt = await this.systemPromptManager.build(context);
|
|
265
|
-
|
|
276
|
+
this.logger.debug(`[SystemPrompt] Built system prompt:
|
|
266
277
|
${prompt}`);
|
|
267
278
|
return prompt;
|
|
268
279
|
}
|
|
@@ -315,7 +326,7 @@ ${prompt}`);
|
|
|
315
326
|
}
|
|
316
327
|
break;
|
|
317
328
|
case "system":
|
|
318
|
-
|
|
329
|
+
this.logger.warn(
|
|
319
330
|
"ContextManager: Adding system message directly to history. Use setSystemPrompt instead."
|
|
320
331
|
);
|
|
321
332
|
if (typeof message.content !== "string" || message.content.trim() === "") {
|
|
@@ -323,12 +334,12 @@ ${prompt}`);
|
|
|
323
334
|
}
|
|
324
335
|
break;
|
|
325
336
|
}
|
|
326
|
-
|
|
337
|
+
this.logger.debug(
|
|
327
338
|
`ContextManager: Adding message to history provider: ${JSON.stringify(message, null, 2)}`
|
|
328
339
|
);
|
|
329
340
|
await this.historyProvider.saveMessage(message);
|
|
330
341
|
const history = await this.historyProvider.getHistory();
|
|
331
|
-
|
|
342
|
+
this.logger.debug(`ContextManager: History now contains ${history.length} messages`);
|
|
332
343
|
}
|
|
333
344
|
/**
|
|
334
345
|
* Adds a user message to the conversation
|
|
@@ -378,7 +389,7 @@ ${prompt}`);
|
|
|
378
389
|
if (messageParts.length === 0) {
|
|
379
390
|
messageParts.push({ type: "text", text: finalTextContent });
|
|
380
391
|
}
|
|
381
|
-
|
|
392
|
+
this.logger.debug(
|
|
382
393
|
`ContextManager: Adding user message: ${JSON.stringify(messageParts, null, 2)}`
|
|
383
394
|
);
|
|
384
395
|
await this.addMessage({ role: "user", content: messageParts });
|
|
@@ -425,11 +436,11 @@ ${prompt}`);
|
|
|
425
436
|
if (options?.success !== void 0) {
|
|
426
437
|
sanitizeOptions.success = options.success;
|
|
427
438
|
}
|
|
428
|
-
const sanitized = await (0, import_utils.sanitizeToolResult)(result, sanitizeOptions);
|
|
439
|
+
const sanitized = await (0, import_utils.sanitizeToolResult)(result, sanitizeOptions, this.logger);
|
|
429
440
|
const summary = sanitized.content.map(
|
|
430
441
|
(p) => p.type === "text" ? `text(${p.text.length})` : p.type === "image" ? `image(${p.mimeType || "image"})` : `file(${p.mimeType || "file"})`
|
|
431
442
|
).join(", ");
|
|
432
|
-
|
|
443
|
+
this.logger.debug(`ContextManager: Storing tool result (parts) for ${name}: [${summary}]`);
|
|
433
444
|
await this.addMessage({
|
|
434
445
|
role: "tool",
|
|
435
446
|
content: sanitized.content,
|
|
@@ -469,27 +480,28 @@ ${prompt}`);
|
|
|
469
480
|
llmContext.provider,
|
|
470
481
|
llmContext.model
|
|
471
482
|
);
|
|
472
|
-
allowedMediaTypes = fileTypesToMimePatterns(supportedFileTypes);
|
|
473
|
-
|
|
483
|
+
allowedMediaTypes = fileTypesToMimePatterns(supportedFileTypes, this.logger);
|
|
484
|
+
this.logger.debug(
|
|
474
485
|
`Using model capabilities for media filtering: ${allowedMediaTypes.join(", ")}`
|
|
475
486
|
);
|
|
476
487
|
} catch (error) {
|
|
477
|
-
|
|
488
|
+
this.logger.warn(
|
|
478
489
|
`Could not determine model capabilities, allowing all media types: ${String(error)}`
|
|
479
490
|
);
|
|
480
491
|
allowedMediaTypes = void 0;
|
|
481
492
|
}
|
|
482
493
|
} else {
|
|
483
|
-
|
|
494
|
+
this.logger.debug(
|
|
484
495
|
`Using user-configured allowedMediaTypes: ${allowedMediaTypes.join(", ")}`
|
|
485
496
|
);
|
|
486
497
|
}
|
|
487
|
-
|
|
498
|
+
this.logger.debug("Resolving blob references in message history before formatting");
|
|
488
499
|
messageHistory = await Promise.all(
|
|
489
500
|
messageHistory.map(async (message) => {
|
|
490
501
|
const expandedContent = await (0, import_utils.expandBlobReferences)(
|
|
491
502
|
message.content,
|
|
492
503
|
this.resourceManager,
|
|
504
|
+
this.logger,
|
|
493
505
|
allowedMediaTypes
|
|
494
506
|
);
|
|
495
507
|
return { ...message, content: expandedContent };
|
|
@@ -520,10 +532,10 @@ ${prompt}`);
|
|
|
520
532
|
systemPrompt,
|
|
521
533
|
history
|
|
522
534
|
);
|
|
523
|
-
const historyTokens = (0, import_utils.countMessagesTokens)(history, this.tokenizer);
|
|
535
|
+
const historyTokens = (0, import_utils.countMessagesTokens)(history, this.tokenizer, void 0, this.logger);
|
|
524
536
|
const formattingOverhead = Math.ceil((systemPromptTokens + historyTokens) * 0.05);
|
|
525
537
|
const tokensUsed = systemPromptTokens + historyTokens + formattingOverhead;
|
|
526
|
-
|
|
538
|
+
this.logger.debug(
|
|
527
539
|
`Final token breakdown - System: ${systemPromptTokens}, History: ${historyTokens}, Overhead: ${formattingOverhead}, Total: ${tokensUsed}`
|
|
528
540
|
);
|
|
529
541
|
return {
|
|
@@ -549,7 +561,9 @@ ${prompt}`);
|
|
|
549
561
|
*/
|
|
550
562
|
async resetConversation() {
|
|
551
563
|
await this.historyProvider.clearHistory();
|
|
552
|
-
|
|
564
|
+
this.logger.debug(
|
|
565
|
+
`ContextManager: Conversation history cleared for session ${this.sessionId}`
|
|
566
|
+
);
|
|
553
567
|
}
|
|
554
568
|
/**
|
|
555
569
|
* Checks if history compression is needed based on token count and applies strategies.
|
|
@@ -559,19 +573,24 @@ ${prompt}`);
|
|
|
559
573
|
* @returns The potentially compressed history
|
|
560
574
|
*/
|
|
561
575
|
async compressHistoryIfNeeded(history, systemPromptTokens) {
|
|
562
|
-
let currentTotalTokens = (0, import_utils.countMessagesTokens)(
|
|
576
|
+
let currentTotalTokens = (0, import_utils.countMessagesTokens)(
|
|
577
|
+
history,
|
|
578
|
+
this.tokenizer,
|
|
579
|
+
void 0,
|
|
580
|
+
this.logger
|
|
581
|
+
);
|
|
563
582
|
currentTotalTokens += systemPromptTokens;
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
`History tokens: ${(0, import_utils.countMessagesTokens)(history, this.tokenizer)}, System prompt tokens: ${systemPromptTokens}, Total: ${currentTotalTokens}`
|
|
583
|
+
this.logger.debug(`ContextManager: Checking if history compression is needed.`);
|
|
584
|
+
this.logger.debug(
|
|
585
|
+
`History tokens: ${(0, import_utils.countMessagesTokens)(history, this.tokenizer, void 0, this.logger)}, System prompt tokens: ${systemPromptTokens}, Total: ${currentTotalTokens}`
|
|
567
586
|
);
|
|
568
587
|
if (currentTotalTokens <= this.maxInputTokens) {
|
|
569
|
-
|
|
588
|
+
this.logger.debug(
|
|
570
589
|
`ContextManager: History compression not needed. Total token count: ${currentTotalTokens}, Max tokens: ${this.maxInputTokens}`
|
|
571
590
|
);
|
|
572
591
|
return history;
|
|
573
592
|
}
|
|
574
|
-
|
|
593
|
+
this.logger.info(
|
|
575
594
|
`ContextManager: History exceeds token limit (${currentTotalTokens} > ${this.maxInputTokens}). Applying compression strategies sequentially.`
|
|
576
595
|
);
|
|
577
596
|
const initialLength = history.length;
|
|
@@ -579,7 +598,7 @@ ${prompt}`);
|
|
|
579
598
|
const targetHistoryTokens = this.maxInputTokens - systemPromptTokens;
|
|
580
599
|
for (const strategy of this.compressionStrategies) {
|
|
581
600
|
const strategyName = strategy.constructor.name;
|
|
582
|
-
|
|
601
|
+
this.logger.debug(`ContextManager: Applying ${strategyName}...`);
|
|
583
602
|
try {
|
|
584
603
|
workingHistory = strategy.compress(
|
|
585
604
|
[...workingHistory],
|
|
@@ -588,14 +607,22 @@ ${prompt}`);
|
|
|
588
607
|
// Use target tokens that account for system prompt
|
|
589
608
|
);
|
|
590
609
|
} catch (error) {
|
|
591
|
-
|
|
610
|
+
this.logger.error(
|
|
611
|
+
`ContextManager: Error applying ${strategyName}: ${error instanceof Error ? error.message : String(error)}`,
|
|
612
|
+
{ error }
|
|
613
|
+
);
|
|
592
614
|
break;
|
|
593
615
|
}
|
|
594
|
-
const historyTokens = (0, import_utils.countMessagesTokens)(
|
|
616
|
+
const historyTokens = (0, import_utils.countMessagesTokens)(
|
|
617
|
+
workingHistory,
|
|
618
|
+
this.tokenizer,
|
|
619
|
+
void 0,
|
|
620
|
+
this.logger
|
|
621
|
+
);
|
|
595
622
|
currentTotalTokens = historyTokens + systemPromptTokens;
|
|
596
623
|
const messagesRemoved = initialLength - workingHistory.length;
|
|
597
624
|
if (currentTotalTokens <= this.maxInputTokens) {
|
|
598
|
-
|
|
625
|
+
this.logger.debug(
|
|
599
626
|
`ContextManager: Compression successful after ${strategyName}. New total count: ${currentTotalTokens}, messages removed: ${messagesRemoved}`
|
|
600
627
|
);
|
|
601
628
|
break;
|
|
@@ -615,7 +642,7 @@ ${prompt}`);
|
|
|
615
642
|
try {
|
|
616
643
|
await this.addMessage(msg);
|
|
617
644
|
} catch (error) {
|
|
618
|
-
|
|
645
|
+
this.logger.error(
|
|
619
646
|
`ContextManager: Failed to process LLM stream response message for session ${this.sessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
620
647
|
);
|
|
621
648
|
}
|
|
@@ -635,7 +662,7 @@ ${prompt}`);
|
|
|
635
662
|
try {
|
|
636
663
|
await this.addMessage(msg);
|
|
637
664
|
} catch (error) {
|
|
638
|
-
|
|
665
|
+
this.logger.error(
|
|
639
666
|
`ContextManager: Failed to process LLM response message for session ${this.sessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
640
667
|
);
|
|
641
668
|
}
|
|
@@ -3,6 +3,7 @@ import { LLMContext } from '../llm/types.js';
|
|
|
3
3
|
import { InternalMessage, ImageData, FileData } from './types.js';
|
|
4
4
|
import { ITokenizer } from '../llm/tokenizer/types.js';
|
|
5
5
|
import { ICompressionStrategy } from './compression/types.js';
|
|
6
|
+
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
6
7
|
import type { SanitizedToolResult } from './types.js';
|
|
7
8
|
import { DynamicContributorContext } from '../systemPrompt/types.js';
|
|
8
9
|
import { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
@@ -71,15 +72,7 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
71
72
|
* before passing messages to the LLM formatter.
|
|
72
73
|
*/
|
|
73
74
|
private resourceManager;
|
|
74
|
-
|
|
75
|
-
* Get the ResourceManager instance
|
|
76
|
-
*/
|
|
77
|
-
getResourceManager(): import('../resources/index.js').ResourceManager;
|
|
78
|
-
/**
|
|
79
|
-
* Process user input data - store as blob if large, otherwise return as-is.
|
|
80
|
-
* Returns either the original data or a blob reference (@blob:id).
|
|
81
|
-
*/
|
|
82
|
-
private processUserInput;
|
|
75
|
+
private logger;
|
|
83
76
|
/**
|
|
84
77
|
* Creates a new ContextManager instance
|
|
85
78
|
* @param llmConfig The validated LLM configuration.
|
|
@@ -91,8 +84,18 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
91
84
|
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
92
85
|
* @param compressionStrategies Optional array of compression strategies to apply when token limits are exceeded
|
|
93
86
|
* @param resourceManager Optional ResourceManager for resolving blob references in messages
|
|
87
|
+
* @param logger Logger instance for logging
|
|
94
88
|
*/
|
|
95
|
-
constructor(llmConfig: ValidatedLLMConfig, formatter: IMessageFormatter, systemPromptManager: SystemPromptManager, maxInputTokens: number, tokenizer: ITokenizer, historyProvider: IConversationHistoryProvider, sessionId: string, resourceManager: import('../resources/index.js').ResourceManager, compressionStrategies?: ICompressionStrategy[]);
|
|
89
|
+
constructor(llmConfig: ValidatedLLMConfig, formatter: IMessageFormatter, systemPromptManager: SystemPromptManager, maxInputTokens: number, tokenizer: ITokenizer, historyProvider: IConversationHistoryProvider, sessionId: string, resourceManager: import('../resources/index.js').ResourceManager, logger: IDextoLogger, compressionStrategies?: ICompressionStrategy[]);
|
|
90
|
+
/**
|
|
91
|
+
* Get the ResourceManager instance
|
|
92
|
+
*/
|
|
93
|
+
getResourceManager(): import('../resources/index.js').ResourceManager;
|
|
94
|
+
/**
|
|
95
|
+
* Process user input data - store as blob if large, otherwise return as-is.
|
|
96
|
+
* Returns either the original data or a blob reference (@blob:id).
|
|
97
|
+
*/
|
|
98
|
+
private processUserInput;
|
|
96
99
|
/**
|
|
97
100
|
* Returns the current token count of the conversation history.
|
|
98
101
|
* @returns Promise that resolves to the number of tokens in the current history
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"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"}
|