@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.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { MiddleRemovalStrategy } from "./compression/middle-removal.js";
|
|
3
3
|
import { OldestRemovalStrategy } from "./compression/oldest-removal.js";
|
|
4
|
-
import {
|
|
4
|
+
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
5
5
|
import { eventBus } from "../events/index.js";
|
|
6
6
|
import {
|
|
7
7
|
countMessagesTokens,
|
|
@@ -56,6 +56,38 @@ class ContextManager {
|
|
|
56
56
|
* before passing messages to the LLM formatter.
|
|
57
57
|
*/
|
|
58
58
|
resourceManager;
|
|
59
|
+
logger;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new ContextManager instance
|
|
62
|
+
* @param llmConfig The validated LLM configuration.
|
|
63
|
+
* @param formatter Formatter implementation for the target LLM provider
|
|
64
|
+
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
65
|
+
* @param maxInputTokens Maximum token limit for the conversation history. Triggers compression if exceeded and a tokenizer is provided.
|
|
66
|
+
* @param tokenizer Tokenizer implementation used for counting tokens and enabling compression.
|
|
67
|
+
* @param historyProvider Session-scoped ConversationHistoryProvider instance for managing conversation history
|
|
68
|
+
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
69
|
+
* @param compressionStrategies Optional array of compression strategies to apply when token limits are exceeded
|
|
70
|
+
* @param resourceManager Optional ResourceManager for resolving blob references in messages
|
|
71
|
+
* @param logger Logger instance for logging
|
|
72
|
+
*/
|
|
73
|
+
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens, tokenizer, historyProvider, sessionId, resourceManager, logger, compressionStrategies = [
|
|
74
|
+
new MiddleRemovalStrategy({}, logger),
|
|
75
|
+
new OldestRemovalStrategy({}, logger)
|
|
76
|
+
]) {
|
|
77
|
+
this.llmConfig = llmConfig;
|
|
78
|
+
this.formatter = formatter;
|
|
79
|
+
this.systemPromptManager = systemPromptManager;
|
|
80
|
+
this.maxInputTokens = maxInputTokens;
|
|
81
|
+
this.tokenizer = tokenizer;
|
|
82
|
+
this.historyProvider = historyProvider;
|
|
83
|
+
this.sessionId = sessionId;
|
|
84
|
+
this.compressionStrategies = compressionStrategies;
|
|
85
|
+
this.resourceManager = resourceManager;
|
|
86
|
+
this.logger = logger.createChild(DextoLogComponent.CONTEXT);
|
|
87
|
+
this.logger.debug(
|
|
88
|
+
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${historyProvider.constructor.name}`
|
|
89
|
+
);
|
|
90
|
+
}
|
|
59
91
|
/**
|
|
60
92
|
* Get the ResourceManager instance
|
|
61
93
|
*/
|
|
@@ -99,58 +131,29 @@ class ContextManager {
|
|
|
99
131
|
originalName: metadata.originalName,
|
|
100
132
|
source: metadata.source || "user"
|
|
101
133
|
});
|
|
102
|
-
logger.info(
|
|
134
|
+
this.logger.info(
|
|
103
135
|
`Stored user input as blob: ${blobRef.uri} (${estimatedSize} bytes, ${metadata.mimeType})`
|
|
104
136
|
);
|
|
105
|
-
eventBus.emit("
|
|
137
|
+
eventBus.emit("resource:cache-invalidated", {
|
|
106
138
|
resourceUri: blobRef.uri,
|
|
107
139
|
serverName: "internal",
|
|
108
140
|
action: "blob_stored"
|
|
109
141
|
});
|
|
110
142
|
return `@${blobRef.uri}`;
|
|
111
143
|
} catch (error) {
|
|
112
|
-
logger.warn(`Failed to store user input as blob: ${String(error)}`);
|
|
144
|
+
this.logger.warn(`Failed to store user input as blob: ${String(error)}`);
|
|
113
145
|
return data;
|
|
114
146
|
}
|
|
115
147
|
}
|
|
116
148
|
return data;
|
|
117
149
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Creates a new ContextManager instance
|
|
120
|
-
* @param llmConfig The validated LLM configuration.
|
|
121
|
-
* @param formatter Formatter implementation for the target LLM provider
|
|
122
|
-
* @param systemPromptManager SystemPromptManager instance for the conversation
|
|
123
|
-
* @param maxInputTokens Maximum token limit for the conversation history. Triggers compression if exceeded and a tokenizer is provided.
|
|
124
|
-
* @param tokenizer Tokenizer implementation used for counting tokens and enabling compression.
|
|
125
|
-
* @param historyProvider Session-scoped ConversationHistoryProvider instance for managing conversation history
|
|
126
|
-
* @param sessionId Unique identifier for the conversation session (readonly, for debugging)
|
|
127
|
-
* @param compressionStrategies Optional array of compression strategies to apply when token limits are exceeded
|
|
128
|
-
* @param resourceManager Optional ResourceManager for resolving blob references in messages
|
|
129
|
-
*/
|
|
130
|
-
constructor(llmConfig, formatter, systemPromptManager, maxInputTokens, tokenizer, historyProvider, sessionId, resourceManager, compressionStrategies = [
|
|
131
|
-
new MiddleRemovalStrategy(),
|
|
132
|
-
new OldestRemovalStrategy()
|
|
133
|
-
]) {
|
|
134
|
-
this.llmConfig = llmConfig;
|
|
135
|
-
this.formatter = formatter;
|
|
136
|
-
this.systemPromptManager = systemPromptManager;
|
|
137
|
-
this.maxInputTokens = maxInputTokens;
|
|
138
|
-
this.tokenizer = tokenizer;
|
|
139
|
-
this.historyProvider = historyProvider;
|
|
140
|
-
this.sessionId = sessionId;
|
|
141
|
-
this.compressionStrategies = compressionStrategies;
|
|
142
|
-
this.resourceManager = resourceManager;
|
|
143
|
-
logger.debug(
|
|
144
|
-
`ContextManager: Initialized for session ${sessionId} - history will be managed by ${historyProvider.constructor.name}`
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
150
|
/**
|
|
148
151
|
* Returns the current token count of the conversation history.
|
|
149
152
|
* @returns Promise that resolves to the number of tokens in the current history
|
|
150
153
|
*/
|
|
151
154
|
async getTokenCount() {
|
|
152
155
|
const history = await this.historyProvider.getHistory();
|
|
153
|
-
return countMessagesTokens(history, this.tokenizer);
|
|
156
|
+
return countMessagesTokens(history, this.tokenizer, void 0, this.logger);
|
|
154
157
|
}
|
|
155
158
|
/**
|
|
156
159
|
* Returns the total token count that will be sent to the LLM provider,
|
|
@@ -166,15 +169,23 @@ class ContextManager {
|
|
|
166
169
|
let history = await this.historyProvider.getHistory();
|
|
167
170
|
const systemPromptTokens = this.tokenizer.countTokens(systemPrompt);
|
|
168
171
|
history = await this.compressHistoryIfNeeded(history, systemPromptTokens);
|
|
169
|
-
const historyTokens = countMessagesTokens(
|
|
172
|
+
const historyTokens = countMessagesTokens(
|
|
173
|
+
history,
|
|
174
|
+
this.tokenizer,
|
|
175
|
+
void 0,
|
|
176
|
+
this.logger
|
|
177
|
+
);
|
|
170
178
|
const formattingOverhead = Math.ceil((systemPromptTokens + historyTokens) * 0.05);
|
|
171
179
|
const totalTokens = systemPromptTokens + historyTokens + formattingOverhead;
|
|
172
|
-
logger.debug(
|
|
180
|
+
this.logger.debug(
|
|
173
181
|
`Token breakdown - System: ${systemPromptTokens}, History: ${historyTokens}, Overhead: ${formattingOverhead}, Total: ${totalTokens}`
|
|
174
182
|
);
|
|
175
183
|
return totalTokens;
|
|
176
184
|
} catch (error) {
|
|
177
|
-
logger.error(
|
|
185
|
+
this.logger.error(
|
|
186
|
+
`Error calculating total token count: ${error instanceof Error ? error.message : String(error)}`,
|
|
187
|
+
{ error }
|
|
188
|
+
);
|
|
178
189
|
return this.getTokenCount();
|
|
179
190
|
}
|
|
180
191
|
}
|
|
@@ -201,7 +212,7 @@ class ContextManager {
|
|
|
201
212
|
if (newFormatter) {
|
|
202
213
|
this.formatter = newFormatter;
|
|
203
214
|
}
|
|
204
|
-
logger.debug(
|
|
215
|
+
this.logger.debug(
|
|
205
216
|
`ContextManager config updated: maxInputTokens ${oldMaxInputTokens} -> ${newMaxInputTokens}`
|
|
206
217
|
);
|
|
207
218
|
}
|
|
@@ -213,7 +224,7 @@ class ContextManager {
|
|
|
213
224
|
*/
|
|
214
225
|
updateActualTokenCount(actualTokens) {
|
|
215
226
|
this.lastActualTokenCount = actualTokens;
|
|
216
|
-
logger.debug(`Updated actual token count to: ${actualTokens}`);
|
|
227
|
+
this.logger.debug(`Updated actual token count to: ${actualTokens}`);
|
|
217
228
|
}
|
|
218
229
|
/**
|
|
219
230
|
* Estimates if new input would trigger compression using hybrid approach.
|
|
@@ -225,7 +236,7 @@ class ContextManager {
|
|
|
225
236
|
shouldCompress(newInputTokens) {
|
|
226
237
|
const estimatedTotal = this.lastActualTokenCount + newInputTokens;
|
|
227
238
|
const compressionTrigger = this.maxInputTokens * this.compressionThreshold;
|
|
228
|
-
logger.debug(
|
|
239
|
+
this.logger.debug(
|
|
229
240
|
`Compression check: actual=${this.lastActualTokenCount}, newInput=${newInputTokens}, total=${estimatedTotal}, trigger=${compressionTrigger}`
|
|
230
241
|
);
|
|
231
242
|
return estimatedTotal > compressionTrigger;
|
|
@@ -235,7 +246,7 @@ class ContextManager {
|
|
|
235
246
|
*/
|
|
236
247
|
async getSystemPrompt(context) {
|
|
237
248
|
const prompt = await this.systemPromptManager.build(context);
|
|
238
|
-
logger.debug(`[SystemPrompt] Built system prompt:
|
|
249
|
+
this.logger.debug(`[SystemPrompt] Built system prompt:
|
|
239
250
|
${prompt}`);
|
|
240
251
|
return prompt;
|
|
241
252
|
}
|
|
@@ -288,7 +299,7 @@ ${prompt}`);
|
|
|
288
299
|
}
|
|
289
300
|
break;
|
|
290
301
|
case "system":
|
|
291
|
-
logger.warn(
|
|
302
|
+
this.logger.warn(
|
|
292
303
|
"ContextManager: Adding system message directly to history. Use setSystemPrompt instead."
|
|
293
304
|
);
|
|
294
305
|
if (typeof message.content !== "string" || message.content.trim() === "") {
|
|
@@ -296,12 +307,12 @@ ${prompt}`);
|
|
|
296
307
|
}
|
|
297
308
|
break;
|
|
298
309
|
}
|
|
299
|
-
logger.debug(
|
|
310
|
+
this.logger.debug(
|
|
300
311
|
`ContextManager: Adding message to history provider: ${JSON.stringify(message, null, 2)}`
|
|
301
312
|
);
|
|
302
313
|
await this.historyProvider.saveMessage(message);
|
|
303
314
|
const history = await this.historyProvider.getHistory();
|
|
304
|
-
logger.debug(`ContextManager: History now contains ${history.length} messages`);
|
|
315
|
+
this.logger.debug(`ContextManager: History now contains ${history.length} messages`);
|
|
305
316
|
}
|
|
306
317
|
/**
|
|
307
318
|
* Adds a user message to the conversation
|
|
@@ -351,7 +362,7 @@ ${prompt}`);
|
|
|
351
362
|
if (messageParts.length === 0) {
|
|
352
363
|
messageParts.push({ type: "text", text: finalTextContent });
|
|
353
364
|
}
|
|
354
|
-
logger.debug(
|
|
365
|
+
this.logger.debug(
|
|
355
366
|
`ContextManager: Adding user message: ${JSON.stringify(messageParts, null, 2)}`
|
|
356
367
|
);
|
|
357
368
|
await this.addMessage({ role: "user", content: messageParts });
|
|
@@ -398,11 +409,11 @@ ${prompt}`);
|
|
|
398
409
|
if (options?.success !== void 0) {
|
|
399
410
|
sanitizeOptions.success = options.success;
|
|
400
411
|
}
|
|
401
|
-
const sanitized = await sanitizeToolResult(result, sanitizeOptions);
|
|
412
|
+
const sanitized = await sanitizeToolResult(result, sanitizeOptions, this.logger);
|
|
402
413
|
const summary = sanitized.content.map(
|
|
403
414
|
(p) => p.type === "text" ? `text(${p.text.length})` : p.type === "image" ? `image(${p.mimeType || "image"})` : `file(${p.mimeType || "file"})`
|
|
404
415
|
).join(", ");
|
|
405
|
-
logger.debug(`ContextManager: Storing tool result (parts) for ${name}: [${summary}]`);
|
|
416
|
+
this.logger.debug(`ContextManager: Storing tool result (parts) for ${name}: [${summary}]`);
|
|
406
417
|
await this.addMessage({
|
|
407
418
|
role: "tool",
|
|
408
419
|
content: sanitized.content,
|
|
@@ -442,27 +453,28 @@ ${prompt}`);
|
|
|
442
453
|
llmContext.provider,
|
|
443
454
|
llmContext.model
|
|
444
455
|
);
|
|
445
|
-
allowedMediaTypes = fileTypesToMimePatterns(supportedFileTypes);
|
|
446
|
-
logger.debug(
|
|
456
|
+
allowedMediaTypes = fileTypesToMimePatterns(supportedFileTypes, this.logger);
|
|
457
|
+
this.logger.debug(
|
|
447
458
|
`Using model capabilities for media filtering: ${allowedMediaTypes.join(", ")}`
|
|
448
459
|
);
|
|
449
460
|
} catch (error) {
|
|
450
|
-
logger.warn(
|
|
461
|
+
this.logger.warn(
|
|
451
462
|
`Could not determine model capabilities, allowing all media types: ${String(error)}`
|
|
452
463
|
);
|
|
453
464
|
allowedMediaTypes = void 0;
|
|
454
465
|
}
|
|
455
466
|
} else {
|
|
456
|
-
logger.debug(
|
|
467
|
+
this.logger.debug(
|
|
457
468
|
`Using user-configured allowedMediaTypes: ${allowedMediaTypes.join(", ")}`
|
|
458
469
|
);
|
|
459
470
|
}
|
|
460
|
-
logger.debug("Resolving blob references in message history before formatting");
|
|
471
|
+
this.logger.debug("Resolving blob references in message history before formatting");
|
|
461
472
|
messageHistory = await Promise.all(
|
|
462
473
|
messageHistory.map(async (message) => {
|
|
463
474
|
const expandedContent = await expandBlobReferences(
|
|
464
475
|
message.content,
|
|
465
476
|
this.resourceManager,
|
|
477
|
+
this.logger,
|
|
466
478
|
allowedMediaTypes
|
|
467
479
|
);
|
|
468
480
|
return { ...message, content: expandedContent };
|
|
@@ -493,10 +505,10 @@ ${prompt}`);
|
|
|
493
505
|
systemPrompt,
|
|
494
506
|
history
|
|
495
507
|
);
|
|
496
|
-
const historyTokens = countMessagesTokens(history, this.tokenizer);
|
|
508
|
+
const historyTokens = countMessagesTokens(history, this.tokenizer, void 0, this.logger);
|
|
497
509
|
const formattingOverhead = Math.ceil((systemPromptTokens + historyTokens) * 0.05);
|
|
498
510
|
const tokensUsed = systemPromptTokens + historyTokens + formattingOverhead;
|
|
499
|
-
logger.debug(
|
|
511
|
+
this.logger.debug(
|
|
500
512
|
`Final token breakdown - System: ${systemPromptTokens}, History: ${historyTokens}, Overhead: ${formattingOverhead}, Total: ${tokensUsed}`
|
|
501
513
|
);
|
|
502
514
|
return {
|
|
@@ -522,7 +534,9 @@ ${prompt}`);
|
|
|
522
534
|
*/
|
|
523
535
|
async resetConversation() {
|
|
524
536
|
await this.historyProvider.clearHistory();
|
|
525
|
-
logger.debug(
|
|
537
|
+
this.logger.debug(
|
|
538
|
+
`ContextManager: Conversation history cleared for session ${this.sessionId}`
|
|
539
|
+
);
|
|
526
540
|
}
|
|
527
541
|
/**
|
|
528
542
|
* Checks if history compression is needed based on token count and applies strategies.
|
|
@@ -532,19 +546,24 @@ ${prompt}`);
|
|
|
532
546
|
* @returns The potentially compressed history
|
|
533
547
|
*/
|
|
534
548
|
async compressHistoryIfNeeded(history, systemPromptTokens) {
|
|
535
|
-
let currentTotalTokens = countMessagesTokens(
|
|
549
|
+
let currentTotalTokens = countMessagesTokens(
|
|
550
|
+
history,
|
|
551
|
+
this.tokenizer,
|
|
552
|
+
void 0,
|
|
553
|
+
this.logger
|
|
554
|
+
);
|
|
536
555
|
currentTotalTokens += systemPromptTokens;
|
|
537
|
-
logger.debug(`ContextManager: Checking if history compression is needed.`);
|
|
538
|
-
logger.debug(
|
|
539
|
-
`History tokens: ${countMessagesTokens(history, this.tokenizer)}, System prompt tokens: ${systemPromptTokens}, Total: ${currentTotalTokens}`
|
|
556
|
+
this.logger.debug(`ContextManager: Checking if history compression is needed.`);
|
|
557
|
+
this.logger.debug(
|
|
558
|
+
`History tokens: ${countMessagesTokens(history, this.tokenizer, void 0, this.logger)}, System prompt tokens: ${systemPromptTokens}, Total: ${currentTotalTokens}`
|
|
540
559
|
);
|
|
541
560
|
if (currentTotalTokens <= this.maxInputTokens) {
|
|
542
|
-
logger.debug(
|
|
561
|
+
this.logger.debug(
|
|
543
562
|
`ContextManager: History compression not needed. Total token count: ${currentTotalTokens}, Max tokens: ${this.maxInputTokens}`
|
|
544
563
|
);
|
|
545
564
|
return history;
|
|
546
565
|
}
|
|
547
|
-
logger.info(
|
|
566
|
+
this.logger.info(
|
|
548
567
|
`ContextManager: History exceeds token limit (${currentTotalTokens} > ${this.maxInputTokens}). Applying compression strategies sequentially.`
|
|
549
568
|
);
|
|
550
569
|
const initialLength = history.length;
|
|
@@ -552,7 +571,7 @@ ${prompt}`);
|
|
|
552
571
|
const targetHistoryTokens = this.maxInputTokens - systemPromptTokens;
|
|
553
572
|
for (const strategy of this.compressionStrategies) {
|
|
554
573
|
const strategyName = strategy.constructor.name;
|
|
555
|
-
logger.debug(`ContextManager: Applying ${strategyName}...`);
|
|
574
|
+
this.logger.debug(`ContextManager: Applying ${strategyName}...`);
|
|
556
575
|
try {
|
|
557
576
|
workingHistory = strategy.compress(
|
|
558
577
|
[...workingHistory],
|
|
@@ -561,14 +580,22 @@ ${prompt}`);
|
|
|
561
580
|
// Use target tokens that account for system prompt
|
|
562
581
|
);
|
|
563
582
|
} catch (error) {
|
|
564
|
-
logger.error(
|
|
583
|
+
this.logger.error(
|
|
584
|
+
`ContextManager: Error applying ${strategyName}: ${error instanceof Error ? error.message : String(error)}`,
|
|
585
|
+
{ error }
|
|
586
|
+
);
|
|
565
587
|
break;
|
|
566
588
|
}
|
|
567
|
-
const historyTokens = countMessagesTokens(
|
|
589
|
+
const historyTokens = countMessagesTokens(
|
|
590
|
+
workingHistory,
|
|
591
|
+
this.tokenizer,
|
|
592
|
+
void 0,
|
|
593
|
+
this.logger
|
|
594
|
+
);
|
|
568
595
|
currentTotalTokens = historyTokens + systemPromptTokens;
|
|
569
596
|
const messagesRemoved = initialLength - workingHistory.length;
|
|
570
597
|
if (currentTotalTokens <= this.maxInputTokens) {
|
|
571
|
-
logger.debug(
|
|
598
|
+
this.logger.debug(
|
|
572
599
|
`ContextManager: Compression successful after ${strategyName}. New total count: ${currentTotalTokens}, messages removed: ${messagesRemoved}`
|
|
573
600
|
);
|
|
574
601
|
break;
|
|
@@ -588,7 +615,7 @@ ${prompt}`);
|
|
|
588
615
|
try {
|
|
589
616
|
await this.addMessage(msg);
|
|
590
617
|
} catch (error) {
|
|
591
|
-
logger.error(
|
|
618
|
+
this.logger.error(
|
|
592
619
|
`ContextManager: Failed to process LLM stream response message for session ${this.sessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
593
620
|
);
|
|
594
621
|
}
|
|
@@ -608,7 +635,7 @@ ${prompt}`);
|
|
|
608
635
|
try {
|
|
609
636
|
await this.addMessage(msg);
|
|
610
637
|
} catch (error) {
|
|
611
|
-
logger.error(
|
|
638
|
+
this.logger.error(
|
|
612
639
|
`ContextManager: Failed to process LLM response message for session ${this.sessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
613
640
|
);
|
|
614
641
|
}
|