@dexto/core 1.3.0 → 1.5.0
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 +53 -9
- package/dist/agent/DextoAgent.cjs +570 -210
- package/dist/agent/DextoAgent.d.ts +175 -35
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +568 -208
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +2 -1
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -1
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -1
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +6 -2
- package/dist/agent/schemas.cjs +90 -68
- package/dist/agent/schemas.d.ts +5998 -146
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +90 -65
- package/dist/agent/state-manager.cjs +5 -5
- package/dist/agent/state-manager.d.ts +4 -4
- package/dist/agent/state-manager.js +6 -6
- package/dist/agent/types.d.ts +24 -10
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.js +1 -1
- package/dist/approval/factory.js +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +234 -4
- package/dist/approval/manager.d.ts +131 -4
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +225 -5
- package/dist/approval/schemas.cjs +57 -7
- package/dist/approval/schemas.d.ts +344 -33
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +54 -8
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +32 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -1
- package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
- package/dist/context/compaction/factory.cjs +57 -0
- package/dist/context/compaction/factory.d.ts +17 -0
- package/dist/context/compaction/factory.d.ts.map +1 -0
- package/dist/context/compaction/factory.js +34 -0
- package/dist/context/compaction/index.cjs +49 -0
- package/dist/context/compaction/index.d.ts +11 -0
- package/dist/context/compaction/index.d.ts.map +1 -0
- package/dist/context/compaction/index.js +19 -0
- package/dist/context/compaction/overflow.cjs +43 -0
- package/dist/context/compaction/overflow.d.ts +33 -0
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/compaction/overflow.js +19 -0
- package/dist/context/compaction/provider.cjs +16 -0
- package/dist/context/compaction/provider.d.ts +48 -0
- package/dist/context/compaction/provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.cjs +48 -0
- package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
- package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.js +24 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
- package/dist/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
- package/dist/context/compaction/registry.d.ts +19 -0
- package/dist/context/compaction/registry.d.ts.map +1 -0
- package/dist/context/compaction/registry.js +16 -0
- package/dist/context/compaction/schemas.cjs +38 -0
- package/dist/context/compaction/schemas.d.ts +24 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -0
- package/dist/context/compaction/schemas.js +14 -0
- package/dist/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
- package/dist/context/compaction/strategies/noop.d.ts +18 -0
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
- package/dist/context/compaction/strategies/noop.js +13 -0
- package/dist/context/compaction/strategies/reactive-overflow.cjs +201 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
- package/dist/context/compaction/types.d.ts +20 -0
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/error-codes.cjs +7 -0
- package/dist/context/error-codes.d.ts +8 -1
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +8 -1
- package/dist/context/errors.cjs +68 -0
- package/dist/context/errors.d.ts +21 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +69 -1
- package/dist/context/index.cjs +3 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/manager.cjs +280 -323
- package/dist/context/manager.d.ts +65 -111
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +280 -328
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/types.cjs +49 -0
- package/dist/context/types.d.ts +187 -72
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +35 -0
- package/dist/context/utils.cjs +293 -290
- package/dist/context/utils.d.ts +32 -18
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +293 -290
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +3 -4
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +18 -1
- package/dist/events/index.d.ts +149 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +19 -2
- package/dist/filesystem/error-codes.js +1 -1
- package/dist/filesystem/errors.js +1 -1
- package/dist/filesystem/filesystem-service.cjs +39 -0
- package/dist/filesystem/filesystem-service.d.ts +32 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -1
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/index.js +1 -1
- package/dist/filesystem/path-validator.cjs +69 -1
- package/dist/filesystem/path-validator.d.ts +43 -2
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +70 -2
- package/dist/image/define-image.cjs +146 -0
- package/dist/image/define-image.d.ts +71 -0
- package/dist/image/define-image.d.ts.map +1 -0
- package/dist/image/define-image.js +121 -0
- package/dist/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
- package/dist/image/index.d.ts +53 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +7 -0
- package/dist/image/types.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.browser.cjs +23 -8
- package/dist/index.browser.d.ts +4 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +20 -3
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/llm/error-codes.cjs +1 -1
- package/dist/llm/error-codes.d.ts +1 -1
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +2 -2
- package/dist/llm/errors.cjs +34 -10
- package/dist/llm/errors.d.ts +23 -11
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +36 -12
- package/dist/llm/executor/stream-processor.cjs +375 -0
- package/dist/llm/executor/stream-processor.d.ts +55 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -0
- package/dist/llm/executor/stream-processor.js +352 -0
- package/dist/llm/executor/tool-output-truncator.cjs +75 -0
- package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
- package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
- package/dist/llm/executor/tool-output-truncator.js +48 -0
- package/dist/llm/executor/turn-executor.cjs +780 -0
- package/dist/llm/executor/turn-executor.d.ts +167 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -0
- package/dist/llm/executor/turn-executor.js +711 -0
- package/dist/llm/executor/types.cjs +16 -0
- package/dist/llm/executor/types.d.ts +27 -0
- package/dist/llm/executor/types.d.ts.map +1 -0
- package/dist/llm/executor/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +26 -188
- package/dist/llm/formatters/vercel.d.ts +2 -14
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +25 -187
- package/dist/llm/index.cjs +18 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +14 -0
- package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
- package/dist/llm/providers/local/downloader.cjs +291 -0
- package/dist/llm/providers/local/downloader.d.ts +82 -0
- package/dist/llm/providers/local/downloader.d.ts.map +1 -0
- package/dist/llm/providers/local/downloader.js +251 -0
- package/dist/llm/providers/local/error-codes.cjs +57 -0
- package/dist/llm/providers/local/error-codes.d.ts +66 -0
- package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
- package/dist/llm/providers/local/error-codes.js +34 -0
- package/dist/llm/providers/local/errors.cjs +240 -0
- package/dist/llm/providers/local/errors.d.ts +31 -0
- package/dist/llm/providers/local/errors.d.ts.map +1 -0
- package/dist/llm/providers/local/errors.js +217 -0
- package/dist/llm/providers/local/gpu-detector.cjs +214 -0
- package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
- package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
- package/dist/llm/providers/local/gpu-detector.js +178 -0
- package/dist/llm/providers/local/index.cjs +147 -0
- package/dist/llm/providers/local/index.d.ts +21 -0
- package/dist/llm/providers/local/index.d.ts.map +1 -0
- package/dist/llm/providers/local/index.js +126 -0
- package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/node-llama-provider.js +176 -0
- package/dist/llm/providers/local/ollama-provider.cjs +230 -0
- package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
- package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/ollama-provider.js +198 -0
- package/dist/llm/providers/local/registry.cjs +343 -0
- package/dist/llm/providers/local/registry.d.ts +51 -0
- package/dist/llm/providers/local/registry.d.ts.map +1 -0
- package/dist/llm/providers/local/registry.js +312 -0
- package/dist/llm/providers/local/schemas.cjs +169 -0
- package/dist/llm/providers/local/schemas.d.ts +395 -0
- package/dist/llm/providers/local/schemas.d.ts.map +1 -0
- package/dist/llm/providers/local/schemas.js +133 -0
- package/dist/llm/providers/local/types.cjs +16 -0
- package/dist/llm/providers/local/types.d.ts +219 -0
- package/dist/llm/providers/local/types.d.ts.map +1 -0
- package/dist/llm/providers/local/types.js +0 -0
- package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-model-registry.js +309 -0
- package/dist/llm/registry.cjs +569 -52
- package/dist/llm/registry.d.ts +79 -39
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +564 -49
- package/dist/llm/resolver.cjs +62 -34
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -38
- package/dist/llm/schemas.cjs +92 -97
- package/dist/llm/schemas.d.ts +162 -39
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +93 -100
- package/dist/llm/services/factory.cjs +88 -103
- package/dist/llm/services/factory.d.ts +17 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +87 -93
- package/dist/llm/services/test-utils.integration.cjs +28 -10
- package/dist/llm/services/test-utils.integration.d.ts +7 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +33 -12
- package/dist/llm/services/types.d.ts +1 -28
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +58 -469
- package/dist/llm/services/vercel.d.ts +39 -21
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +60 -476
- package/dist/llm/types.cjs +11 -4
- package/dist/llm/types.d.ts +9 -9
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +12 -4
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.cjs +34 -6
- package/dist/logger/v2/dexto-logger.d.ts +20 -2
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -7
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.cjs +70 -0
- package/dist/logger/v2/test-utils.d.ts +17 -0
- package/dist/logger/v2/test-utils.d.ts.map +1 -0
- package/dist/logger/v2/test-utils.js +46 -0
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.cjs +6 -0
- package/dist/logger/v2/transports/file-transport.d.ts +4 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.js +7 -1
- package/dist/logger/v2/types.cjs +1 -0
- package/dist/logger/v2/types.d.ts +18 -2
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +2 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -1
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +14 -1
- package/dist/mcp/manager.cjs +12 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +13 -1
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +1 -4
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.cjs +6 -0
- package/dist/mcp/schemas.d.ts +52 -0
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.js +1 -1
- package/dist/memory/schemas.d.ts +3 -3
- package/dist/memory/schemas.js +1 -1
- package/dist/plugins/builtins/content-policy.js +1 -1
- package/dist/plugins/builtins/response-sanitizer.js +1 -1
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +4 -1
- package/dist/plugins/index.cjs +7 -0
- package/dist/plugins/index.d.ts +4 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +7 -2
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/manager.cjs +92 -7
- package/dist/plugins/manager.d.ts +10 -3
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +93 -8
- package/dist/plugins/registrations/builtins.js +1 -1
- package/dist/plugins/registry.cjs +63 -0
- package/dist/plugins/registry.d.ts +101 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +39 -0
- package/dist/plugins/schemas.cjs +17 -5
- package/dist/plugins/schemas.d.ts +65 -8
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +16 -5
- package/dist/plugins/types.d.ts +0 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.js +1 -1
- package/dist/process/error-codes.js +1 -1
- package/dist/process/errors.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/process-service.cjs +78 -26
- package/dist/process/process-service.d.ts +6 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +79 -27
- package/dist/process/types.d.ts +2 -2
- package/dist/process/types.d.ts.map +1 -1
- package/dist/prompts/error-codes.cjs +1 -0
- package/dist/prompts/error-codes.d.ts +2 -1
- package/dist/prompts/error-codes.d.ts.map +1 -1
- package/dist/prompts/error-codes.js +2 -1
- package/dist/prompts/errors.cjs +15 -0
- package/dist/prompts/errors.d.ts +4 -0
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/errors.js +16 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +13 -2
- package/dist/prompts/prompt-manager.d.ts +7 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +14 -3
- package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +13 -4
- package/dist/prompts/providers/custom-prompt-provider.js +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.d.ts +12 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/providers/base-registry.cjs +147 -0
- package/dist/providers/base-registry.d.ts +147 -0
- package/dist/providers/base-registry.d.ts.map +1 -0
- package/dist/providers/base-registry.js +123 -0
- package/dist/providers/discovery.cjs +95 -0
- package/dist/providers/discovery.d.ts +94 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +70 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.js +1 -1
- package/dist/resources/handlers/factory.js +1 -1
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/internal-provider.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +4 -4
- package/dist/resources/schemas.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.js +1 -1
- package/dist/session/chat-session.cjs +169 -54
- package/dist/session/chat-session.d.ts +69 -29
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +171 -56
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/history/database.cjs +134 -21
- package/dist/session/history/database.d.ts +37 -8
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +135 -22
- package/dist/session/history/factory.js +1 -1
- package/dist/session/history/memory.cjs +18 -0
- package/dist/session/history/memory.d.ts +8 -0
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/memory.js +19 -1
- package/dist/session/history/types.d.ts +13 -1
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +3 -1
- package/dist/session/message-queue.cjs +201 -0
- package/dist/session/message-queue.d.ts +114 -0
- package/dist/session/message-queue.d.ts.map +1 -0
- package/dist/session/message-queue.js +178 -0
- package/dist/session/schemas.js +1 -1
- package/dist/session/session-manager.cjs +57 -7
- package/dist/session/session-manager.d.ts +18 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +58 -8
- package/dist/session/title-generator.cjs +4 -8
- package/dist/session/title-generator.d.ts +1 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +5 -9
- package/dist/session/types.cjs +16 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +0 -0
- package/dist/storage/blob/factory.cjs +8 -11
- package/dist/storage/blob/factory.d.ts +32 -6
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +9 -12
- package/dist/storage/blob/index.cjs +56 -0
- package/dist/storage/blob/index.d.ts +45 -0
- package/dist/storage/blob/index.d.ts.map +1 -0
- package/dist/storage/blob/index.js +30 -0
- package/dist/storage/blob/local-blob-store.js +1 -1
- package/dist/storage/blob/memory-blob-store.js +1 -1
- package/dist/storage/blob/provider.cjs +16 -0
- package/dist/storage/blob/provider.d.ts +50 -0
- package/dist/storage/blob/provider.d.ts.map +1 -0
- package/dist/storage/blob/provider.js +0 -0
- package/dist/storage/blob/providers/index.cjs +31 -0
- package/dist/storage/blob/providers/index.d.ts +8 -0
- package/dist/storage/blob/providers/index.d.ts.map +1 -0
- package/dist/storage/blob/providers/index.js +7 -0
- package/dist/storage/blob/providers/local.cjs +39 -0
- package/dist/storage/blob/providers/local.d.ts +17 -0
- package/dist/storage/blob/providers/local.d.ts.map +1 -0
- package/dist/storage/blob/providers/local.js +16 -0
- package/dist/storage/blob/providers/memory.cjs +39 -0
- package/dist/storage/blob/providers/memory.d.ts +17 -0
- package/dist/storage/blob/providers/memory.d.ts.map +1 -0
- package/dist/storage/blob/providers/memory.js +16 -0
- package/dist/storage/blob/registry.cjs +50 -0
- package/dist/storage/blob/registry.d.ts +42 -0
- package/dist/storage/blob/registry.d.ts.map +1 -0
- package/dist/storage/blob/registry.js +26 -0
- package/dist/storage/blob/schemas.cjs +9 -12
- package/dist/storage/blob/schemas.d.ts +39 -34
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +7 -12
- package/dist/storage/cache/factory.cjs +8 -36
- package/dist/storage/cache/factory.d.ts +32 -7
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +9 -27
- package/dist/storage/cache/index.cjs +53 -0
- package/dist/storage/cache/index.d.ts +44 -0
- package/dist/storage/cache/index.d.ts.map +1 -0
- package/dist/storage/cache/index.js +28 -0
- package/dist/storage/cache/memory-cache-store.js +1 -1
- package/dist/storage/cache/provider.cjs +16 -0
- package/dist/storage/cache/provider.d.ts +56 -0
- package/dist/storage/cache/provider.d.ts.map +1 -0
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.cjs +31 -0
- package/dist/storage/cache/providers/index.d.ts +8 -0
- package/dist/storage/cache/providers/index.d.ts.map +1 -0
- package/dist/storage/cache/providers/index.js +7 -0
- package/dist/storage/cache/providers/memory.cjs +40 -0
- package/dist/storage/cache/providers/memory.d.ts +17 -0
- package/dist/storage/cache/providers/memory.d.ts.map +1 -0
- package/dist/storage/cache/providers/memory.js +17 -0
- package/dist/storage/cache/providers/redis.cjs +66 -0
- package/dist/storage/cache/providers/redis.d.ts +20 -0
- package/dist/storage/cache/providers/redis.d.ts.map +1 -0
- package/dist/storage/cache/providers/redis.js +33 -0
- package/dist/storage/cache/redis-store.js +1 -1
- package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
- package/dist/storage/cache/registry.d.ts +42 -0
- package/dist/storage/cache/registry.d.ts.map +1 -0
- package/dist/storage/cache/registry.js +26 -0
- package/dist/storage/cache/schemas.cjs +6 -2
- package/dist/storage/cache/schemas.d.ts +2 -3
- package/dist/storage/cache/schemas.d.ts.map +1 -1
- package/dist/storage/cache/schemas.js +4 -2
- package/dist/storage/database/factory.cjs +8 -47
- package/dist/storage/database/factory.d.ts +34 -8
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -38
- package/dist/storage/database/index.cjs +58 -0
- package/dist/storage/database/index.d.ts +45 -0
- package/dist/storage/database/index.d.ts.map +1 -0
- package/dist/storage/database/index.js +37 -0
- package/dist/storage/database/memory-database-store.js +1 -1
- package/dist/storage/database/postgres-store.cjs +12 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +13 -1
- package/dist/storage/database/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +8 -2
- package/dist/storage/database/schemas.d.ts +3 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +5 -2
- package/dist/storage/database/sqlite-store.js +1 -1
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +7 -1
- package/dist/storage/errors.cjs +80 -0
- package/dist/storage/errors.d.ts +24 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +81 -1
- package/dist/storage/index.cjs +47 -4
- package/dist/storage/index.d.ts +34 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +33 -4
- package/dist/storage/schemas.cjs +4 -0
- package/dist/storage/schemas.d.ts +17 -50
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +6 -2
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +4 -4
- package/dist/systemPrompt/contributors.js +1 -1
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.cjs +7 -6
- package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +7 -6
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.cjs +2 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +3 -3
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +18 -18
- package/dist/systemPrompt/schemas.js +3 -3
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/tools/bash-pattern-utils.cjs +91 -0
- package/dist/tools/bash-pattern-utils.d.ts +58 -0
- package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
- package/dist/tools/bash-pattern-utils.js +64 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
- package/dist/tools/custom-tool-registry.cjs +64 -0
- package/dist/tools/custom-tool-registry.d.ts +120 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/display-types.cjs +60 -0
- package/dist/tools/display-types.d.ts +133 -0
- package/dist/tools/display-types.d.ts.map +1 -0
- package/dist/tools/display-types.js +32 -0
- package/dist/tools/error-codes.cjs +5 -0
- package/dist/tools/error-codes.d.ts +6 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +6 -1
- package/dist/tools/errors.cjs +71 -0
- package/dist/tools/errors.d.ts +33 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +72 -1
- package/dist/tools/index.cjs +15 -1
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -2
- package/dist/tools/internal-tools/constants.cjs +3 -9
- 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 +4 -10
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
- package/dist/tools/internal-tools/provider.cjs +175 -31
- package/dist/tools/internal-tools/provider.d.ts +62 -14
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +176 -32
- package/dist/tools/internal-tools/registry.cjs +19 -43
- package/dist/tools/internal-tools/registry.d.ts +32 -11
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +20 -44
- package/dist/tools/schemas.cjs +36 -6
- package/dist/tools/schemas.d.ts +74 -5
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +30 -6
- package/dist/tools/tool-manager.cjs +279 -30
- package/dist/tools/tool-manager.d.ts +45 -4
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +284 -31
- package/dist/tools/types.d.ts +63 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +19 -1
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +20 -2
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
- package/dist/utils/defer.d.ts +63 -0
- package/dist/utils/defer.d.ts.map +1 -0
- package/dist/utils/defer.js +19 -0
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/index.cjs +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.cjs +18 -3
- package/dist/utils/redactor.d.ts +0 -7
- package/dist/utils/redactor.d.ts.map +1 -1
- package/dist/utils/redactor.js +19 -4
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema-metadata.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +15 -37
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +16 -38
- package/dist/utils/user-info.js +1 -1
- package/dist/utils/zod-schema-converter.js +1 -1
- package/package.json +10 -8
- package/dist/context/compression/middle-removal.cjs +0 -95
- package/dist/context/compression/middle-removal.d.ts +0 -47
- package/dist/context/compression/middle-removal.d.ts.map +0 -1
- package/dist/context/compression/middle-removal.js +0 -72
- package/dist/context/compression/oldest-removal.cjs +0 -83
- package/dist/context/compression/oldest-removal.d.ts +0 -42
- package/dist/context/compression/oldest-removal.d.ts.map +0 -1
- package/dist/context/compression/oldest-removal.js +0 -60
- package/dist/context/compression/types.d.ts +0 -18
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.cjs +0 -257
- package/dist/llm/formatters/anthropic.d.ts +0 -46
- package/dist/llm/formatters/anthropic.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.js +0 -239
- package/dist/llm/formatters/factory.cjs +0 -50
- package/dist/llm/formatters/factory.d.ts +0 -10
- package/dist/llm/formatters/factory.d.ts.map +0 -1
- package/dist/llm/formatters/factory.js +0 -27
- package/dist/llm/formatters/openai.cjs +0 -203
- package/dist/llm/formatters/openai.d.ts +0 -39
- package/dist/llm/formatters/openai.d.ts.map +0 -1
- package/dist/llm/formatters/openai.js +0 -184
- package/dist/llm/formatters/types.d.ts +0 -41
- package/dist/llm/formatters/types.d.ts.map +0 -1
- package/dist/llm/services/anthropic.cjs +0 -511
- package/dist/llm/services/anthropic.d.ts +0 -48
- package/dist/llm/services/anthropic.d.ts.map +0 -1
- package/dist/llm/services/anthropic.js +0 -447
- package/dist/llm/services/openai.cjs +0 -611
- package/dist/llm/services/openai.d.ts +0 -48
- package/dist/llm/services/openai.d.ts.map +0 -1
- package/dist/llm/services/openai.js +0 -547
- package/dist/llm/tokenizer/anthropic.d.ts +0 -19
- package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
- package/dist/llm/tokenizer/anthropic.js +0 -20
- package/dist/llm/tokenizer/default.d.ts +0 -14
- package/dist/llm/tokenizer/default.d.ts.map +0 -1
- package/dist/llm/tokenizer/default.js +0 -18
- package/dist/llm/tokenizer/factory.d.ts +0 -12
- package/dist/llm/tokenizer/factory.d.ts.map +0 -1
- package/dist/llm/tokenizer/factory.js +0 -21
- package/dist/llm/tokenizer/google.d.ts +0 -29
- package/dist/llm/tokenizer/google.d.ts.map +0 -1
- package/dist/llm/tokenizer/google.js +0 -29
- package/dist/llm/tokenizer/openai.cjs +0 -115
- package/dist/llm/tokenizer/openai.d.ts +0 -41
- package/dist/llm/tokenizer/openai.d.ts.map +0 -1
- package/dist/llm/tokenizer/openai.js +0 -91
- package/dist/llm/tokenizer/types.d.ts +0 -18
- package/dist/llm/tokenizer/types.d.ts.map +0 -1
- package/dist/llm/tokenizer/types.js +0 -10
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -73
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -62
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -39
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -48
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -55
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -32
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -33
- package/dist/utils/env-file.cjs +0 -118
- package/dist/utils/env-file.d.ts +0 -5
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -85
- /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
- /package/dist/context/{compression → compaction}/types.cjs +0 -0
- /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
- /package/dist/{llm/formatters → image}/types.cjs +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var providers_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(providers_exports);
|
|
18
|
+
__reExport(providers_exports, require("./base-registry.js"), module.exports);
|
|
19
|
+
__reExport(providers_exports, require("./discovery.js"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("./base-registry.js"),
|
|
23
|
+
...require("./discovery.js")
|
|
24
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Infrastructure
|
|
3
|
+
*
|
|
4
|
+
* This module provides:
|
|
5
|
+
* 1. BaseRegistry - Generic base class for building type-safe provider registries
|
|
6
|
+
* 2. Discovery API - Utilities for querying registered providers across all registries
|
|
7
|
+
*
|
|
8
|
+
* Useful for:
|
|
9
|
+
* - Building custom provider registries with consistent behavior
|
|
10
|
+
* - Debugging: See what providers are available at runtime
|
|
11
|
+
* - UIs: Build dynamic interfaces that show available providers
|
|
12
|
+
* - Configuration validation: Check if required providers are registered
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { BaseRegistry, listAllProviders, hasProvider } from '@dexto/core';
|
|
17
|
+
*
|
|
18
|
+
* // Create a custom registry
|
|
19
|
+
* class MyRegistry extends BaseRegistry<MyProvider> {
|
|
20
|
+
* constructor() {
|
|
21
|
+
* super(myErrorFactory);
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* // List all providers
|
|
26
|
+
* const providers = listAllProviders();
|
|
27
|
+
* console.log('Blob providers:', providers.blob);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export * from './base-registry.js';
|
|
31
|
+
export * from './discovery.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
package/dist/resources/errors.js
CHANGED
package/dist/resources/index.js
CHANGED
|
@@ -140,9 +140,9 @@ function formatResourceContent(resourceUri, resourceName, content) {
|
|
|
140
140
|
contentParts.push(`
|
|
141
141
|
--- Content from resource: ${resourceName} (${resourceUri}) ---`);
|
|
142
142
|
for (const item of content.contents) {
|
|
143
|
-
if (item.text && typeof item.text === "string") {
|
|
143
|
+
if ("text" in item && item.text && typeof item.text === "string") {
|
|
144
144
|
contentParts.push(item.text);
|
|
145
|
-
} else if (item.blob) {
|
|
145
|
+
} else if ("blob" in item && item.blob) {
|
|
146
146
|
const blobSize = typeof item.blob === "string" ? item.blob.length : "unknown";
|
|
147
147
|
contentParts.push(`[Binary content: ${item.mimeType || "unknown"}, ${blobSize} bytes]`);
|
|
148
148
|
}
|
|
@@ -172,7 +172,7 @@ async function expandMessageReferences(message, availableResources, resourceRead
|
|
|
172
172
|
const resource = availableResources[ref.resourceUri];
|
|
173
173
|
let isImageResource = false;
|
|
174
174
|
for (const item of content.contents) {
|
|
175
|
-
if (item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
175
|
+
if ("blob" in item && item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
176
176
|
extractedImages.push({
|
|
177
177
|
image: item.blob,
|
|
178
178
|
mimeType: item.mimeType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA+ElC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
2
|
function escapeRegExp(literal) {
|
|
3
3
|
return literal.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
4
4
|
}
|
|
@@ -115,9 +115,9 @@ function formatResourceContent(resourceUri, resourceName, content) {
|
|
|
115
115
|
contentParts.push(`
|
|
116
116
|
--- Content from resource: ${resourceName} (${resourceUri}) ---`);
|
|
117
117
|
for (const item of content.contents) {
|
|
118
|
-
if (item.text && typeof item.text === "string") {
|
|
118
|
+
if ("text" in item && item.text && typeof item.text === "string") {
|
|
119
119
|
contentParts.push(item.text);
|
|
120
|
-
} else if (item.blob) {
|
|
120
|
+
} else if ("blob" in item && item.blob) {
|
|
121
121
|
const blobSize = typeof item.blob === "string" ? item.blob.length : "unknown";
|
|
122
122
|
contentParts.push(`[Binary content: ${item.mimeType || "unknown"}, ${blobSize} bytes]`);
|
|
123
123
|
}
|
|
@@ -147,7 +147,7 @@ async function expandMessageReferences(message, availableResources, resourceRead
|
|
|
147
147
|
const resource = availableResources[ref.resourceUri];
|
|
148
148
|
let isImageResource = false;
|
|
149
149
|
for (const item of content.contents) {
|
|
150
|
-
if (item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
150
|
+
if ("blob" in item && item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
151
151
|
extractedImages.push({
|
|
152
152
|
image: item.blob,
|
|
153
153
|
mimeType: item.mimeType,
|
package/dist/search/index.js
CHANGED
|
@@ -23,10 +23,12 @@ __export(chat_session_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(chat_session_exports);
|
|
24
24
|
var import_factory = require("./history/factory.js");
|
|
25
25
|
var import_factory2 = require("../llm/services/factory.js");
|
|
26
|
+
var import_compaction = require("../context/compaction/index.js");
|
|
26
27
|
var import_events = require("../events/index.js");
|
|
27
28
|
var import_types = require("../logger/v2/types.js");
|
|
28
29
|
var import_errors = require("../errors/index.js");
|
|
29
30
|
var import_error_codes = require("../plugins/error-codes.js");
|
|
31
|
+
var import_registry = require("../llm/registry.js");
|
|
30
32
|
class ChatSession {
|
|
31
33
|
/**
|
|
32
34
|
* Creates a new ChatSession instance.
|
|
@@ -77,6 +79,10 @@ class ChatSession {
|
|
|
77
79
|
* Stores the bound functions so they can be removed from the event bus.
|
|
78
80
|
*/
|
|
79
81
|
forwarders = /* @__PURE__ */ new Map();
|
|
82
|
+
/**
|
|
83
|
+
* Token accumulator listener for cleanup.
|
|
84
|
+
*/
|
|
85
|
+
tokenAccumulatorListener = null;
|
|
80
86
|
/**
|
|
81
87
|
* AbortController for the currently running turn, if any.
|
|
82
88
|
* Calling cancel() aborts the in-flight LLM request and tool execution checks.
|
|
@@ -107,23 +113,51 @@ class ChatSession {
|
|
|
107
113
|
this.forwarders.set(eventName, forwarder);
|
|
108
114
|
this.eventBus.on(eventName, forwarder);
|
|
109
115
|
});
|
|
116
|
+
this.setupTokenAccumulation();
|
|
110
117
|
this.logger.debug(
|
|
111
118
|
`[setupEventForwarding] Event forwarding setup complete for session=${this.id}`
|
|
112
119
|
);
|
|
113
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Sets up token usage accumulation by listening to llm:response events.
|
|
123
|
+
* Accumulates token usage and cost to session metadata for /stats tracking.
|
|
124
|
+
*/
|
|
125
|
+
setupTokenAccumulation() {
|
|
126
|
+
this.tokenAccumulatorListener = (payload) => {
|
|
127
|
+
if (payload.tokenUsage) {
|
|
128
|
+
let cost;
|
|
129
|
+
const llmConfig = this.services.stateManager.getLLMConfig(this.id);
|
|
130
|
+
const pricing = (0, import_registry.getModelPricing)(llmConfig.provider, llmConfig.model);
|
|
131
|
+
if (pricing) {
|
|
132
|
+
cost = (0, import_registry.calculateCost)(payload.tokenUsage, pricing);
|
|
133
|
+
}
|
|
134
|
+
this.services.sessionManager.accumulateTokenUsage(this.id, payload.tokenUsage, cost).catch((err) => {
|
|
135
|
+
this.logger.warn(
|
|
136
|
+
`Failed to accumulate token usage: ${err instanceof Error ? err.message : String(err)}`
|
|
137
|
+
);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
this.eventBus.on("llm:response", this.tokenAccumulatorListener);
|
|
142
|
+
}
|
|
114
143
|
/**
|
|
115
144
|
* Initializes session-specific services.
|
|
116
145
|
*/
|
|
117
146
|
async initializeServices() {
|
|
118
|
-
const
|
|
147
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
148
|
+
const llmConfig = runtimeConfig.llm;
|
|
119
149
|
this.historyProvider = (0, import_factory.createDatabaseHistoryProvider)(
|
|
120
150
|
this.services.storageManager.getDatabase(),
|
|
121
151
|
this.id,
|
|
122
152
|
this.logger
|
|
123
153
|
);
|
|
154
|
+
const model = (0, import_factory2.createVercelModel)(llmConfig);
|
|
155
|
+
const compactionStrategy = await (0, import_compaction.createCompactionStrategy)(runtimeConfig.compaction, {
|
|
156
|
+
logger: this.logger,
|
|
157
|
+
model
|
|
158
|
+
});
|
|
124
159
|
this.llmService = (0, import_factory2.createLLMService)(
|
|
125
160
|
llmConfig,
|
|
126
|
-
llmConfig.router,
|
|
127
161
|
this.services.toolManager,
|
|
128
162
|
this.services.systemPromptManager,
|
|
129
163
|
this.historyProvider,
|
|
@@ -133,8 +167,10 @@ class ChatSession {
|
|
|
133
167
|
this.id,
|
|
134
168
|
this.services.resourceManager,
|
|
135
169
|
// Pass ResourceManager for blob storage
|
|
136
|
-
this.logger
|
|
170
|
+
this.logger,
|
|
137
171
|
// Pass logger for dependency injection
|
|
172
|
+
compactionStrategy
|
|
173
|
+
// Pass compaction strategy
|
|
138
174
|
);
|
|
139
175
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
140
176
|
}
|
|
@@ -152,12 +188,12 @@ class ChatSession {
|
|
|
152
188
|
async saveBlockedInteraction(userInput, errorMessage, _imageData, _fileData) {
|
|
153
189
|
const userMessage = {
|
|
154
190
|
role: "user",
|
|
155
|
-
content: "[Blocked by content policy: input redacted]"
|
|
191
|
+
content: [{ type: "text", text: "[Blocked by content policy: input redacted]" }]
|
|
156
192
|
};
|
|
157
193
|
const errorContent = `Error: ${errorMessage}`;
|
|
158
194
|
const assistantMessage = {
|
|
159
195
|
role: "assistant",
|
|
160
|
-
content: errorContent
|
|
196
|
+
content: [{ type: "text", text: errorContent }]
|
|
161
197
|
};
|
|
162
198
|
await this.historyProvider.saveMessage(userMessage);
|
|
163
199
|
await this.historyProvider.saveMessage(assistantMessage);
|
|
@@ -165,44 +201,61 @@ class ChatSession {
|
|
|
165
201
|
this.eventBus.emit("llm:response", {
|
|
166
202
|
content: errorContent,
|
|
167
203
|
provider: llmConfig.provider,
|
|
168
|
-
model: llmConfig.model
|
|
169
|
-
router: llmConfig.router
|
|
204
|
+
model: llmConfig.model
|
|
170
205
|
});
|
|
171
206
|
}
|
|
172
207
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* This method:
|
|
176
|
-
* 1. Takes user input (text, optionally with image or file data)
|
|
177
|
-
* 2. Passes it to the LLM service for processing
|
|
178
|
-
* 3. Returns the AI's response text
|
|
179
|
-
*
|
|
180
|
-
* The method handles both text-only and multimodal input (text + images/files).
|
|
181
|
-
* Tool calls and conversation management are handled internally by the LLM service.
|
|
208
|
+
* Stream a response for the given content.
|
|
209
|
+
* Primary method for running conversations with multi-image support.
|
|
182
210
|
*
|
|
183
|
-
* @param
|
|
184
|
-
* @param
|
|
185
|
-
* @param fileDataInput - Optional file data for file input
|
|
186
|
-
* @param stream - Optional flag to enable streaming responses
|
|
211
|
+
* @param content - String or ContentPart[] (text, images, files)
|
|
212
|
+
* @param options - { signal?: AbortSignal }
|
|
187
213
|
* @returns Promise that resolves to the AI's response text
|
|
188
214
|
*
|
|
189
215
|
* @example
|
|
190
216
|
* ```typescript
|
|
191
|
-
*
|
|
192
|
-
*
|
|
217
|
+
* // Text only
|
|
218
|
+
* const response = await session.stream('What is the weather?');
|
|
219
|
+
*
|
|
220
|
+
* // Multiple images
|
|
221
|
+
* const response = await session.stream([
|
|
222
|
+
* { type: 'text', text: 'Compare these images' },
|
|
223
|
+
* { type: 'image', image: base64Data1, mimeType: 'image/png' },
|
|
224
|
+
* { type: 'image', image: base64Data2, mimeType: 'image/png' }
|
|
225
|
+
* ]);
|
|
193
226
|
* ```
|
|
194
227
|
*/
|
|
195
|
-
async
|
|
228
|
+
async stream(content, options) {
|
|
229
|
+
const parts = typeof content === "string" ? [{ type: "text", text: content }] : content;
|
|
230
|
+
const textParts = parts.filter(
|
|
231
|
+
(p) => p.type === "text"
|
|
232
|
+
);
|
|
233
|
+
const imageParts = parts.filter((p) => p.type === "image");
|
|
234
|
+
const fileParts = parts.filter((p) => p.type === "file");
|
|
196
235
|
this.logger.debug(
|
|
197
|
-
`
|
|
236
|
+
`Streaming session ${this.id} | textParts=${textParts.length} | images=${imageParts.length} | files=${fileParts.length}`
|
|
198
237
|
);
|
|
199
238
|
this.currentRunController = new AbortController();
|
|
200
|
-
const signal = this.currentRunController.signal;
|
|
239
|
+
const signal = options?.signal ? this.combineSignals(options.signal, this.currentRunController.signal) : this.currentRunController.signal;
|
|
201
240
|
try {
|
|
241
|
+
const textContent = textParts.map((p) => p.text).join("\n");
|
|
242
|
+
const firstImage = imageParts[0];
|
|
243
|
+
const firstFile = fileParts[0];
|
|
202
244
|
const beforeLLMPayload = {
|
|
203
|
-
text:
|
|
204
|
-
...
|
|
205
|
-
|
|
245
|
+
text: textContent,
|
|
246
|
+
...firstImage && {
|
|
247
|
+
imageData: {
|
|
248
|
+
image: typeof firstImage.image === "string" ? firstImage.image : "[binary]",
|
|
249
|
+
mimeType: firstImage.mimeType || "image/jpeg"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
...firstFile && {
|
|
253
|
+
fileData: {
|
|
254
|
+
data: typeof firstFile.data === "string" ? firstFile.data : "[binary]",
|
|
255
|
+
mimeType: firstFile.mimeType,
|
|
256
|
+
...firstFile.filename && { filename: firstFile.filename }
|
|
257
|
+
}
|
|
258
|
+
},
|
|
206
259
|
sessionId: this.id
|
|
207
260
|
};
|
|
208
261
|
const modifiedBeforePayload = await this.services.pluginManager.executePlugins(
|
|
@@ -217,22 +270,17 @@ class ChatSession {
|
|
|
217
270
|
abortSignal: signal
|
|
218
271
|
}
|
|
219
272
|
);
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
finalImageData,
|
|
227
|
-
finalFileData,
|
|
228
|
-
stream
|
|
229
|
-
);
|
|
273
|
+
let modifiedParts = [...parts];
|
|
274
|
+
if (modifiedBeforePayload.text !== textContent && textParts.length > 0) {
|
|
275
|
+
modifiedParts = modifiedParts.filter((p) => p.type !== "text");
|
|
276
|
+
modifiedParts.unshift({ type: "text", text: modifiedBeforePayload.text });
|
|
277
|
+
}
|
|
278
|
+
const response = await this.llmService.stream(modifiedParts, { signal });
|
|
230
279
|
const llmConfig = this.services.stateManager.getLLMConfig(this.id);
|
|
231
280
|
const beforeResponsePayload = {
|
|
232
281
|
content: response,
|
|
233
282
|
provider: llmConfig.provider,
|
|
234
283
|
model: llmConfig.model,
|
|
235
|
-
router: llmConfig.router,
|
|
236
284
|
sessionId: this.id
|
|
237
285
|
};
|
|
238
286
|
const modifiedResponsePayload = await this.services.pluginManager.executePlugins(
|
|
@@ -256,16 +304,21 @@ class ChatSession {
|
|
|
256
304
|
context: "user_cancelled",
|
|
257
305
|
recoverable: true
|
|
258
306
|
});
|
|
307
|
+
try {
|
|
308
|
+
const history = await this.getHistory();
|
|
309
|
+
const lastAssistant = history.filter((m) => m.role === "assistant").pop();
|
|
310
|
+
if (lastAssistant && typeof lastAssistant.content === "string") {
|
|
311
|
+
return lastAssistant.content;
|
|
312
|
+
}
|
|
313
|
+
} catch {
|
|
314
|
+
this.logger.debug("Failed to retrieve partial response from history on cancel");
|
|
315
|
+
}
|
|
259
316
|
return "";
|
|
260
317
|
}
|
|
261
318
|
if (error instanceof import_errors.DextoRuntimeError && error.code === import_error_codes.PluginErrorCode.PLUGIN_BLOCKED_EXECUTION && error.scope === import_errors.ErrorScope.PLUGIN && error.type === import_errors.ErrorType.FORBIDDEN) {
|
|
319
|
+
const textContent = parts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
|
|
262
320
|
try {
|
|
263
|
-
await this.saveBlockedInteraction(
|
|
264
|
-
input,
|
|
265
|
-
error.message,
|
|
266
|
-
imageDataInput,
|
|
267
|
-
fileDataInput
|
|
268
|
-
);
|
|
321
|
+
await this.saveBlockedInteraction(textContent, error.message);
|
|
269
322
|
this.logger.debug(
|
|
270
323
|
`ChatSession ${this.id}: Saved blocked interaction to history`
|
|
271
324
|
);
|
|
@@ -276,15 +329,27 @@ class ChatSession {
|
|
|
276
329
|
}
|
|
277
330
|
return error.message;
|
|
278
331
|
}
|
|
279
|
-
const errortype = error instanceof Error ? "object" : "string";
|
|
280
332
|
this.logger.error(
|
|
281
|
-
`Error in ChatSession.
|
|
333
|
+
`Error in ChatSession.stream: ${error instanceof Error ? error.message : String(error)}`
|
|
282
334
|
);
|
|
283
335
|
throw error;
|
|
284
336
|
} finally {
|
|
285
337
|
this.currentRunController = null;
|
|
286
338
|
}
|
|
287
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Combine multiple abort signals into one.
|
|
342
|
+
*/
|
|
343
|
+
combineSignals(signal1, signal2) {
|
|
344
|
+
const controller = new AbortController();
|
|
345
|
+
const onAbort = () => controller.abort();
|
|
346
|
+
signal1.addEventListener("abort", onAbort);
|
|
347
|
+
signal2.addEventListener("abort", onAbort);
|
|
348
|
+
if (signal1.aborted || signal2.aborted) {
|
|
349
|
+
controller.abort();
|
|
350
|
+
}
|
|
351
|
+
return controller.signal;
|
|
352
|
+
}
|
|
288
353
|
/**
|
|
289
354
|
* Retrieves the complete conversation history for this session.
|
|
290
355
|
*
|
|
@@ -355,11 +420,11 @@ class ChatSession {
|
|
|
355
420
|
/**
|
|
356
421
|
* Switches the LLM service for this session while preserving conversation history.
|
|
357
422
|
*
|
|
358
|
-
* This method creates a new LLM service with the specified configuration
|
|
423
|
+
* This method creates a new LLM service with the specified configuration,
|
|
359
424
|
* while maintaining the existing ContextManager and conversation history. This allows
|
|
360
425
|
* users to change AI models mid-conversation without losing context.
|
|
361
426
|
*
|
|
362
|
-
* @param newLLMConfig The new LLM configuration to use
|
|
427
|
+
* @param newLLMConfig The new LLM configuration to use
|
|
363
428
|
*
|
|
364
429
|
* @example
|
|
365
430
|
* ```typescript
|
|
@@ -368,16 +433,19 @@ class ChatSession {
|
|
|
368
433
|
* provider: 'openai',
|
|
369
434
|
* model: 'gpt-5',
|
|
370
435
|
* apiKey: process.env.OPENAI_API_KEY,
|
|
371
|
-
* router: 'in-built'
|
|
372
436
|
* });
|
|
373
437
|
* ```
|
|
374
438
|
*/
|
|
375
439
|
async switchLLM(newLLMConfig) {
|
|
376
440
|
try {
|
|
377
|
-
const
|
|
441
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
442
|
+
const model = (0, import_factory2.createVercelModel)(newLLMConfig);
|
|
443
|
+
const compactionStrategy = await (0, import_compaction.createCompactionStrategy)(runtimeConfig.compaction, {
|
|
444
|
+
logger: this.logger,
|
|
445
|
+
model
|
|
446
|
+
});
|
|
378
447
|
const newLLMService = (0, import_factory2.createLLMService)(
|
|
379
448
|
newLLMConfig,
|
|
380
|
-
router,
|
|
381
449
|
this.services.toolManager,
|
|
382
450
|
this.services.systemPromptManager,
|
|
383
451
|
this.historyProvider,
|
|
@@ -386,7 +454,9 @@ class ChatSession {
|
|
|
386
454
|
// Use session event bus
|
|
387
455
|
this.id,
|
|
388
456
|
this.services.resourceManager,
|
|
389
|
-
this.logger
|
|
457
|
+
this.logger,
|
|
458
|
+
compactionStrategy
|
|
459
|
+
// Pass compaction strategy
|
|
390
460
|
);
|
|
391
461
|
this.llmService = newLLMService;
|
|
392
462
|
this.logger.info(
|
|
@@ -394,7 +464,6 @@ class ChatSession {
|
|
|
394
464
|
);
|
|
395
465
|
this.eventBus.emit("llm:switched", {
|
|
396
466
|
newConfig: newLLMConfig,
|
|
397
|
-
router,
|
|
398
467
|
historyRetained: true
|
|
399
468
|
});
|
|
400
469
|
} catch (error) {
|
|
@@ -435,8 +504,54 @@ class ChatSession {
|
|
|
435
504
|
this.eventBus.off(eventName, forwarder);
|
|
436
505
|
});
|
|
437
506
|
this.forwarders.clear();
|
|
507
|
+
if (this.tokenAccumulatorListener) {
|
|
508
|
+
this.eventBus.off("llm:response", this.tokenAccumulatorListener);
|
|
509
|
+
this.tokenAccumulatorListener = null;
|
|
510
|
+
}
|
|
438
511
|
this.logger.debug(`Session ${this.id} disposed successfully`);
|
|
439
512
|
}
|
|
513
|
+
/**
|
|
514
|
+
* Check if this session is currently processing a message.
|
|
515
|
+
* Returns true if a run is in progress and has not been aborted.
|
|
516
|
+
*/
|
|
517
|
+
isBusy() {
|
|
518
|
+
return this.currentRunController !== null && !this.currentRunController.signal.aborted;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Queue a message for processing when the session is busy.
|
|
522
|
+
* The message will be injected into the conversation when the current turn completes.
|
|
523
|
+
*
|
|
524
|
+
* @param message The user message to queue
|
|
525
|
+
* @returns Queue position and message ID
|
|
526
|
+
*/
|
|
527
|
+
queueMessage(message) {
|
|
528
|
+
return this.llmService.getMessageQueue().enqueue(message);
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Get all messages currently in the queue.
|
|
532
|
+
* @returns Array of queued messages
|
|
533
|
+
*/
|
|
534
|
+
getQueuedMessages() {
|
|
535
|
+
return this.llmService.getMessageQueue().getAll();
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Remove a queued message.
|
|
539
|
+
* @param id Message ID to remove
|
|
540
|
+
* @returns true if message was found and removed; false otherwise
|
|
541
|
+
*/
|
|
542
|
+
removeQueuedMessage(id) {
|
|
543
|
+
return this.llmService.getMessageQueue().remove(id);
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Clear all queued messages.
|
|
547
|
+
* @returns Number of messages that were cleared
|
|
548
|
+
*/
|
|
549
|
+
clearMessageQueue() {
|
|
550
|
+
const queue = this.llmService.getMessageQueue();
|
|
551
|
+
const count = queue.pendingCount();
|
|
552
|
+
queue.clear();
|
|
553
|
+
return count;
|
|
554
|
+
}
|
|
440
555
|
/**
|
|
441
556
|
* Cancel the currently running turn for this session, if any.
|
|
442
557
|
* Returns true if a run was in progress and was signaled to abort.
|