@dexto/core 1.1.10 → 1.1.11
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/dist/Dexto.cjs +261 -0
- package/dist/Dexto.d.ts +212 -0
- package/dist/Dexto.d.ts.map +1 -0
- package/dist/Dexto.js +236 -0
- package/dist/agent/DextoAgent.cjs +428 -123
- package/dist/agent/DextoAgent.d.ts +170 -102
- package/dist/agent/DextoAgent.d.ts.map +1 -0
- package/dist/agent/DextoAgent.js +428 -123
- package/dist/agent/agentCard.d.ts +4 -7
- package/dist/agent/agentCard.d.ts.map +1 -0
- package/dist/agent/error-codes.cjs +2 -0
- package/dist/agent/error-codes.d.ts +4 -3
- package/dist/agent/error-codes.d.ts.map +1 -0
- package/dist/agent/error-codes.js +2 -0
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +6 -17
- package/dist/agent/errors.d.ts.map +1 -0
- package/dist/agent/errors.js +13 -0
- package/dist/agent/index.cjs +3 -0
- package/dist/agent/index.d.ts +6 -57
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2 -0
- package/dist/agent/registry/error-codes.cjs +2 -0
- package/dist/agent/registry/error-codes.d.ts +4 -3
- package/dist/agent/registry/error-codes.d.ts.map +1 -0
- package/dist/agent/registry/error-codes.js +2 -0
- package/dist/agent/registry/errors.cjs +58 -28
- package/dist/agent/registry/errors.d.ts +32 -36
- package/dist/agent/registry/errors.d.ts.map +1 -0
- package/dist/agent/registry/errors.js +58 -28
- package/dist/agent/registry/registry.cjs +242 -54
- package/dist/agent/registry/registry.d.ts +84 -21
- package/dist/agent/registry/registry.d.ts.map +1 -0
- package/dist/agent/registry/registry.js +251 -55
- package/dist/agent/registry/types.cjs +36 -3
- package/dist/agent/registry/types.d.ts +66 -24
- package/dist/agent/registry/types.d.ts.map +1 -0
- package/dist/agent/registry/types.js +33 -2
- package/dist/agent/registry/user-registry.cjs +140 -0
- package/dist/agent/registry/user-registry.d.ts +34 -0
- package/dist/agent/registry/user-registry.d.ts.map +1 -0
- package/dist/agent/registry/user-registry.js +104 -0
- package/dist/agent/schemas.cjs +17 -3
- package/dist/agent/schemas.d.ts +685 -463
- package/dist/agent/schemas.d.ts.map +1 -0
- package/dist/agent/schemas.js +17 -3
- package/dist/agent/state-manager.d.ts +7 -12
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/approval/error-codes.cjs +44 -0
- package/dist/approval/error-codes.d.ts +21 -0
- package/dist/approval/error-codes.d.ts.map +1 -0
- package/dist/approval/error-codes.js +20 -0
- package/dist/approval/errors.cjs +251 -0
- package/dist/approval/errors.d.ts +110 -0
- package/dist/approval/errors.d.ts.map +1 -0
- package/dist/approval/errors.js +227 -0
- package/dist/approval/index.cjs +84 -0
- package/dist/approval/index.d.ts +12 -0
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +55 -0
- package/dist/approval/manager.cjs +159 -0
- package/dist/approval/manager.d.ts +109 -0
- package/dist/approval/manager.d.ts.map +1 -0
- package/dist/approval/manager.js +135 -0
- package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/event-based-approval-provider.js +132 -0
- package/dist/approval/providers/factory.cjs +38 -0
- package/dist/approval/providers/factory.d.ts +12 -0
- package/dist/approval/providers/factory.d.ts.map +1 -0
- package/dist/approval/providers/factory.js +14 -0
- package/dist/approval/providers/noop-approval-provider.cjs +54 -0
- package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
- package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/noop-approval-provider.js +30 -0
- package/dist/approval/schemas.cjs +168 -0
- package/dist/approval/schemas.d.ts +602 -0
- package/dist/approval/schemas.d.ts.map +1 -0
- package/dist/approval/schemas.js +126 -0
- package/dist/approval/types.cjs +41 -0
- package/dist/approval/types.d.ts +140 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +16 -0
- package/dist/config/agent-resolver.d.ts +3 -4
- package/dist/config/agent-resolver.d.ts.map +1 -0
- package/dist/config/error-codes.d.ts +2 -3
- package/dist/config/error-codes.d.ts.map +1 -0
- package/dist/config/errors.d.ts +3 -18
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/index.d.ts +4 -7
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/loader.d.ts +2 -5
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/writer.d.ts +8 -11
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/context/compression/middle-removal.d.ts +3 -6
- package/dist/context/compression/middle-removal.d.ts.map +1 -0
- package/dist/context/compression/oldest-removal.d.ts +3 -6
- package/dist/context/compression/oldest-removal.d.ts.map +1 -0
- package/dist/context/compression/types.d.ts +2 -5
- package/dist/context/compression/types.d.ts.map +1 -0
- package/dist/context/error-codes.d.ts +2 -3
- package/dist/context/error-codes.d.ts.map +1 -0
- package/dist/context/errors.d.ts +3 -18
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/index.cjs +11 -0
- package/dist/context/index.d.ts +4 -19
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +5 -0
- package/dist/context/manager.cjs +121 -24
- package/dist/context/manager.d.ts +28 -20
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +127 -25
- package/dist/context/media-helpers.cjs +40 -0
- package/dist/context/media-helpers.d.ts +15 -0
- package/dist/context/media-helpers.d.ts.map +1 -0
- package/dist/context/media-helpers.js +15 -0
- package/dist/context/types.d.ts +27 -10
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/utils.cjs +811 -71
- package/dist/context/utils.d.ts +78 -15
- package/dist/context/utils.d.ts.map +1 -0
- package/dist/context/utils.js +802 -70
- package/dist/errors/DextoBaseError.d.ts +2 -3
- package/dist/errors/DextoBaseError.d.ts.map +1 -0
- package/dist/errors/DextoRuntimeError.d.ts +5 -16
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
- package/dist/errors/DextoValidationError.d.ts +3 -16
- package/dist/errors/DextoValidationError.d.ts.map +1 -0
- package/dist/errors/index.d.ts +7 -14
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/result-bridge.d.ts +3 -18
- package/dist/errors/result-bridge.d.ts.map +1 -0
- package/dist/errors/types.cjs +4 -0
- package/dist/errors/types.d.ts +27 -20
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +4 -0
- package/dist/events/index.cjs +8 -3
- package/dist/events/index.d.ts +63 -35
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +8 -3
- package/dist/index.browser.cjs +36 -0
- package/dist/index.browser.d.ts +24 -51
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +34 -1
- package/dist/index.cjs +29 -1
- package/dist/index.d.ts +33 -89
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/llm/error-codes.d.ts +2 -3
- package/dist/llm/error-codes.d.ts.map +1 -0
- package/dist/llm/errors.d.ts +3 -18
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/formatters/anthropic.d.ts +2 -4
- package/dist/llm/formatters/anthropic.d.ts.map +1 -0
- package/dist/llm/formatters/factory.d.ts +3 -6
- package/dist/llm/formatters/factory.d.ts.map +1 -0
- package/dist/llm/formatters/openai.d.ts +2 -4
- package/dist/llm/formatters/openai.d.ts.map +1 -0
- package/dist/llm/formatters/types.d.ts +2 -4
- package/dist/llm/formatters/types.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.d.ts +6 -7
- package/dist/llm/formatters/vercel.d.ts.map +1 -0
- package/dist/llm/index.d.ts +8 -39
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/registry.cjs +15 -1
- package/dist/llm/registry.d.ts +26 -29
- package/dist/llm/registry.d.ts.map +1 -0
- package/dist/llm/registry.js +15 -1
- package/dist/llm/resolver.d.ts +6 -20
- package/dist/llm/resolver.d.ts.map +1 -0
- package/dist/llm/schemas.d.ts +15 -17
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/services/anthropic.cjs +24 -11
- package/dist/llm/services/anthropic.d.ts +7 -32
- package/dist/llm/services/anthropic.d.ts.map +1 -0
- package/dist/llm/services/anthropic.js +24 -11
- package/dist/llm/services/factory.cjs +21 -15
- package/dist/llm/services/factory.d.ts +5 -32
- package/dist/llm/services/factory.d.ts.map +1 -0
- package/dist/llm/services/factory.js +21 -15
- package/dist/llm/services/index.d.ts +2 -21
- package/dist/llm/services/index.d.ts.map +1 -0
- package/dist/llm/services/openai.cjs +33 -16
- package/dist/llm/services/openai.d.ts +7 -32
- package/dist/llm/services/openai.d.ts.map +1 -0
- package/dist/llm/services/openai.js +33 -16
- package/dist/llm/services/test-utils.integration.cjs +2 -2
- package/dist/llm/services/test-utils.integration.d.ts +8 -49
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
- package/dist/llm/services/test-utils.integration.js +2 -2
- package/dist/llm/services/types.d.ts +5 -22
- package/dist/llm/services/types.d.ts.map +1 -0
- package/dist/llm/services/vercel.cjs +52 -21
- package/dist/llm/services/vercel.d.ts +12 -35
- package/dist/llm/services/vercel.d.ts.map +1 -0
- package/dist/llm/services/vercel.js +53 -22
- package/dist/llm/tokenizer/anthropic.d.ts +2 -4
- package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
- package/dist/llm/tokenizer/default.d.ts +2 -4
- package/dist/llm/tokenizer/default.d.ts.map +1 -0
- package/dist/llm/tokenizer/factory.d.ts +3 -5
- package/dist/llm/tokenizer/factory.d.ts.map +1 -0
- package/dist/llm/tokenizer/google.d.ts +2 -4
- package/dist/llm/tokenizer/google.d.ts.map +1 -0
- package/dist/llm/tokenizer/openai.d.ts +2 -4
- package/dist/llm/tokenizer/openai.d.ts.map +1 -0
- package/dist/llm/tokenizer/types.d.ts +3 -4
- package/dist/llm/tokenizer/types.d.ts.map +1 -0
- package/dist/llm/types.d.ts +9 -10
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/validation.d.ts +8 -23
- package/dist/llm/validation.d.ts.map +1 -0
- package/dist/logger/browser.d.ts +4 -5
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/index.d.ts +2 -1
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/logger.cjs +35 -7
- package/dist/logger/logger.d.ts +5 -5
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +35 -7
- package/dist/mcp/error-codes.d.ts +2 -3
- package/dist/mcp/error-codes.d.ts.map +1 -0
- package/dist/mcp/errors.d.ts +2 -17
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +8 -26
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/manager.cjs +462 -114
- package/dist/mcp/manager.d.ts +117 -58
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +462 -114
- package/dist/mcp/mcp-client.cjs +172 -10
- package/dist/mcp/mcp-client.d.ts +36 -14
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +176 -10
- package/dist/mcp/resolver.d.ts +5 -20
- package/dist/mcp/resolver.d.ts.map +1 -0
- package/dist/mcp/schemas.cjs +13 -5
- package/dist/mcp/schemas.d.ts +31 -28
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +10 -5
- package/dist/mcp/types.d.ts +18 -10
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/error-codes.cjs +39 -0
- package/dist/memory/error-codes.d.ts +15 -0
- package/dist/memory/error-codes.d.ts.map +1 -0
- package/dist/memory/error-codes.js +15 -0
- package/dist/memory/errors.cjs +112 -0
- package/dist/memory/errors.d.ts +16 -0
- package/dist/memory/errors.d.ts.map +1 -0
- package/dist/memory/errors.js +88 -0
- package/dist/memory/index.cjs +43 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +18 -0
- package/dist/memory/manager.cjs +214 -0
- package/dist/memory/manager.d.ts +56 -0
- package/dist/memory/manager.d.ts.map +1 -0
- package/dist/memory/manager.js +195 -0
- package/dist/memory/schemas.cjs +82 -0
- package/dist/memory/schemas.d.ts +129 -0
- package/dist/memory/schemas.d.ts.map +1 -0
- package/dist/memory/schemas.js +53 -0
- package/dist/memory/types.d.ts +76 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.cjs +112 -0
- package/dist/plugins/builtins/content-policy.d.ts +26 -0
- package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.js +88 -0
- package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +78 -0
- package/dist/plugins/error-codes.cjs +39 -0
- package/dist/plugins/error-codes.d.ts +26 -0
- package/dist/plugins/error-codes.d.ts.map +1 -0
- package/dist/plugins/error-codes.js +15 -0
- package/dist/plugins/index.cjs +54 -0
- package/dist/plugins/index.d.ts +19 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +24 -0
- package/dist/plugins/loader.cjs +151 -0
- package/dist/plugins/loader.d.ts +30 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +124 -0
- package/dist/plugins/manager.cjs +386 -0
- package/dist/plugins/manager.d.ts +97 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +362 -0
- package/dist/plugins/registrations/builtins.cjs +51 -0
- package/dist/plugins/registrations/builtins.d.ts +17 -0
- package/dist/plugins/registrations/builtins.d.ts.map +1 -0
- package/dist/plugins/registrations/builtins.js +27 -0
- package/dist/plugins/schemas.cjs +61 -0
- package/dist/plugins/schemas.d.ts +138 -0
- package/dist/plugins/schemas.d.ts.map +1 -0
- package/dist/plugins/schemas.js +35 -0
- package/dist/plugins/types.d.ts +152 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/preferences/constants.d.ts +2 -3
- package/dist/preferences/constants.d.ts.map +1 -0
- package/dist/preferences/error-codes.d.ts +2 -3
- package/dist/preferences/error-codes.d.ts.map +1 -0
- package/dist/preferences/errors.d.ts +4 -19
- package/dist/preferences/errors.d.ts.map +1 -0
- package/dist/preferences/index.d.ts +5 -20
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/loader.d.ts +9 -12
- package/dist/preferences/loader.d.ts.map +1 -0
- package/dist/preferences/schemas.d.ts +19 -21
- package/dist/preferences/schemas.d.ts.map +1 -0
- package/dist/prompts/error-codes.cjs +38 -0
- package/dist/prompts/error-codes.d.ts +15 -0
- package/dist/prompts/error-codes.d.ts.map +1 -0
- package/dist/prompts/error-codes.js +14 -0
- package/dist/prompts/errors.cjs +144 -0
- package/dist/prompts/errors.d.ts +45 -0
- package/dist/prompts/errors.d.ts.map +1 -0
- package/dist/prompts/errors.js +120 -0
- package/dist/prompts/index.cjs +53 -0
- package/dist/prompts/index.d.ts +13 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +20 -0
- package/dist/prompts/name-validation.cjs +45 -0
- package/dist/prompts/name-validation.d.ts +9 -0
- package/dist/prompts/name-validation.d.ts.map +1 -0
- package/dist/prompts/name-validation.js +18 -0
- package/dist/prompts/prompt-manager.cjs +374 -0
- package/dist/prompts/prompt-manager.d.ts +74 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -0
- package/dist/prompts/prompt-manager.js +352 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +259 -0
- package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +375 -0
- package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +78 -0
- package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +146 -0
- package/dist/prompts/schemas.cjs +54 -0
- package/dist/prompts/schemas.d.ts +65 -0
- package/dist/prompts/schemas.d.ts.map +1 -0
- package/dist/prompts/schemas.js +30 -0
- package/dist/{storage/backend/cache-backend.cjs → prompts/types.cjs} +2 -2
- package/dist/prompts/types.d.ts +64 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/utils.cjs +176 -0
- package/dist/prompts/utils.d.ts +32 -0
- package/dist/prompts/utils.d.ts.map +1 -0
- package/dist/prompts/utils.js +149 -0
- package/dist/resources/error-codes.cjs +38 -0
- package/dist/resources/error-codes.d.ts +13 -0
- package/dist/resources/error-codes.d.ts.map +1 -0
- package/dist/resources/error-codes.js +14 -0
- package/dist/resources/errors.cjs +155 -0
- package/dist/resources/errors.d.ts +48 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +131 -0
- package/dist/resources/handlers/blob-handler.cjs +230 -0
- package/dist/resources/handlers/blob-handler.d.ts +38 -0
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
- package/dist/resources/handlers/blob-handler.js +206 -0
- package/dist/resources/handlers/factory.cjs +50 -0
- package/dist/resources/handlers/factory.d.ts +11 -0
- package/dist/resources/handlers/factory.d.ts.map +1 -0
- package/dist/resources/handlers/factory.js +25 -0
- package/dist/resources/handlers/filesystem-handler.cjs +385 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
- package/dist/resources/handlers/filesystem-handler.js +351 -0
- package/dist/{storage/backend/database-backend.cjs → resources/handlers/types.cjs} +2 -2
- package/dist/resources/handlers/types.d.ts +15 -0
- package/dist/resources/handlers/types.d.ts.map +1 -0
- package/dist/resources/index.cjs +58 -0
- package/dist/resources/index.d.ts +39 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +34 -0
- package/dist/resources/internal-provider.cjs +141 -0
- package/dist/resources/internal-provider.d.ts +19 -0
- package/dist/resources/internal-provider.d.ts.map +1 -0
- package/dist/resources/internal-provider.js +117 -0
- package/dist/resources/manager.cjs +221 -0
- package/dist/resources/manager.d.ts +29 -0
- package/dist/resources/manager.d.ts.map +1 -0
- package/dist/resources/manager.js +197 -0
- package/dist/resources/reference-parser.cjs +217 -0
- package/dist/resources/reference-parser.d.ts +33 -0
- package/dist/resources/reference-parser.d.ts.map +1 -0
- package/dist/resources/reference-parser.js +190 -0
- package/dist/resources/schemas.cjs +98 -0
- package/dist/resources/schemas.d.ts +212 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +72 -0
- package/dist/resources/types.cjs +16 -0
- package/dist/resources/types.d.ts +57 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +0 -0
- package/dist/search/index.d.ts +2 -4
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/search-service.d.ts +5 -9
- package/dist/search/search-service.d.ts.map +1 -0
- package/dist/search/types.d.ts +7 -10
- package/dist/search/types.d.ts.map +1 -0
- package/dist/session/chat-session.cjs +103 -10
- package/dist/session/chat-session.d.ts +30 -41
- package/dist/session/chat-session.d.ts.map +1 -0
- package/dist/session/chat-session.js +103 -10
- package/dist/session/error-codes.d.ts +2 -3
- package/dist/session/error-codes.d.ts.map +1 -0
- package/dist/session/errors.d.ts +2 -17
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/history/database.d.ts +6 -9
- package/dist/session/history/database.d.ts.map +1 -0
- package/dist/session/history/factory.d.ts +4 -8
- package/dist/session/history/factory.d.ts.map +1 -0
- package/dist/session/history/memory.cjs +39 -0
- package/dist/session/history/memory.d.ts +14 -0
- package/dist/session/history/memory.d.ts.map +1 -0
- package/dist/session/history/memory.js +15 -0
- package/dist/session/history/types.d.ts +3 -6
- package/dist/session/history/types.d.ts.map +1 -0
- package/dist/session/index.d.ts +3 -50
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/schemas.d.ts +4 -6
- package/dist/session/schemas.d.ts.map +1 -0
- package/dist/session/session-manager.cjs +63 -29
- package/dist/session/session-manager.d.ts +27 -43
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +63 -29
- package/dist/session/title-generator.cjs +140 -0
- package/dist/session/title-generator.d.ts +22 -0
- package/dist/session/title-generator.d.ts.map +1 -0
- package/dist/session/title-generator.js +115 -0
- package/dist/storage/blob/factory.cjs +50 -0
- package/dist/storage/blob/factory.d.ts +8 -0
- package/dist/storage/blob/factory.d.ts.map +1 -0
- package/dist/storage/blob/factory.js +26 -0
- package/dist/storage/blob/local-blob-store.cjs +487 -0
- package/dist/storage/blob/local-blob-store.d.ts +56 -0
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/local-blob-store.js +453 -0
- package/dist/storage/blob/schemas.cjs +53 -0
- package/dist/storage/blob/schemas.d.ts +80 -0
- package/dist/storage/blob/schemas.d.ts.map +1 -0
- package/dist/storage/blob/schemas.js +28 -0
- package/dist/storage/blob/types.cjs +16 -0
- package/dist/storage/blob/types.d.ts +154 -0
- package/dist/storage/blob/types.d.ts.map +1 -0
- package/dist/storage/blob/types.js +0 -0
- package/dist/storage/cache/factory.cjs +63 -0
- package/dist/storage/cache/factory.d.ts +8 -0
- package/dist/storage/cache/factory.d.ts.map +1 -0
- package/dist/storage/cache/factory.js +29 -0
- package/dist/storage/cache/memory-cache-store.cjs +107 -0
- package/dist/storage/cache/memory-cache-store.d.ts +26 -0
- package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
- package/dist/storage/cache/memory-cache-store.js +83 -0
- package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
- package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
- package/dist/storage/cache/redis-store.d.ts.map +1 -0
- package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +4 -18
- package/dist/storage/cache/schemas.cjs +77 -0
- package/dist/storage/cache/schemas.d.ts +151 -0
- package/dist/storage/cache/schemas.d.ts.map +1 -0
- package/dist/storage/cache/schemas.js +52 -0
- package/dist/storage/cache/types.cjs +16 -0
- package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
- package/dist/storage/cache/types.d.ts.map +1 -0
- package/dist/storage/cache/types.js +0 -0
- package/dist/storage/database/factory.cjs +84 -0
- package/dist/storage/database/factory.d.ts +8 -0
- package/dist/storage/database/factory.d.ts.map +1 -0
- package/dist/storage/database/factory.js +50 -0
- package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
- package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
- package/dist/storage/database/memory-database-store.d.ts.map +1 -0
- package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +6 -24
- package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
- package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
- package/dist/storage/database/postgres-store.d.ts.map +1 -0
- package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +7 -7
- package/dist/storage/database/schemas.cjs +89 -0
- package/dist/storage/database/schemas.d.ts +227 -0
- package/dist/storage/database/schemas.d.ts.map +1 -0
- package/dist/storage/database/schemas.js +64 -0
- package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +15 -14
- package/dist/storage/{backend/sqlite-backend.d.ts → database/sqlite-store.d.ts} +8 -11
- package/dist/storage/database/sqlite-store.d.ts.map +1 -0
- package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +11 -10
- package/dist/storage/database/types.cjs +16 -0
- package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
- package/dist/storage/database/types.d.ts.map +1 -0
- package/dist/storage/database/types.js +0 -0
- package/dist/storage/error-codes.cjs +15 -0
- package/dist/storage/error-codes.d.ts +19 -5
- package/dist/storage/error-codes.d.ts.map +1 -0
- package/dist/storage/error-codes.js +15 -0
- package/dist/storage/errors.cjs +195 -7
- package/dist/storage/errors.d.ts +71 -19
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +189 -1
- package/dist/storage/index.cjs +24 -5
- package/dist/storage/index.d.ts +48 -7
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +20 -4
- package/dist/storage/schemas.cjs +22 -84
- package/dist/storage/schemas.d.ts +98 -574
- package/dist/storage/schemas.d.ts.map +1 -0
- package/dist/storage/schemas.js +25 -84
- package/dist/storage/storage-manager.cjs +131 -116
- package/dist/storage/storage-manager.d.ts +51 -25
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +130 -105
- package/dist/storage/types.d.ts +7 -5
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.cjs +54 -0
- package/dist/systemPrompt/contributors.d.ts +30 -15
- package/dist/systemPrompt/contributors.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.js +53 -0
- package/dist/systemPrompt/error-codes.d.ts +2 -3
- package/dist/systemPrompt/error-codes.d.ts.map +1 -0
- package/dist/systemPrompt/errors.d.ts +2 -17
- package/dist/systemPrompt/errors.d.ts.map +1 -0
- package/dist/systemPrompt/in-built-prompts.cjs +13 -15
- package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
- package/dist/systemPrompt/in-built-prompts.js +13 -15
- package/dist/systemPrompt/index.cjs +11 -0
- package/dist/systemPrompt/index.d.ts +7 -14
- package/dist/systemPrompt/index.d.ts.map +1 -0
- package/dist/systemPrompt/index.js +8 -0
- package/dist/systemPrompt/manager.cjs +24 -6
- package/dist/systemPrompt/manager.d.ts +8 -16
- package/dist/systemPrompt/manager.d.ts.map +1 -0
- package/dist/systemPrompt/manager.js +24 -6
- package/dist/systemPrompt/registry.d.ts +6 -16
- package/dist/systemPrompt/registry.d.ts.map +1 -0
- package/dist/systemPrompt/schemas.cjs +17 -3
- package/dist/systemPrompt/schemas.d.ts +204 -30
- package/dist/systemPrompt/schemas.d.ts.map +1 -0
- package/dist/systemPrompt/schemas.js +17 -3
- package/dist/systemPrompt/types.d.ts +3 -12
- package/dist/systemPrompt/types.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +9 -9
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/error-codes.d.ts +2 -3
- package/dist/tools/error-codes.d.ts.map +1 -0
- package/dist/tools/errors.d.ts +2 -17
- package/dist/tools/errors.d.ts.map +1 -0
- package/dist/tools/index.cjs +0 -2
- package/dist/tools/index.d.ts +11 -19
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +0 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +33 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/index.d.ts +3 -13
- package/dist/tools/internal-tools/index.d.ts.map +1 -0
- package/dist/tools/internal-tools/provider.cjs +9 -11
- package/dist/tools/internal-tools/provider.d.ts +6 -20
- package/dist/tools/internal-tools/provider.d.ts.map +1 -0
- package/dist/tools/internal-tools/provider.js +9 -11
- package/dist/tools/internal-tools/registry.cjs +6 -1
- package/dist/tools/internal-tools/registry.d.ts +10 -15
- package/dist/tools/internal-tools/registry.d.ts.map +1 -0
- package/dist/tools/internal-tools/registry.js +6 -1
- package/dist/tools/schemas.cjs +14 -2
- package/dist/tools/schemas.d.ts +12 -8
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +10 -2
- package/dist/tools/tool-manager.cjs +174 -14
- package/dist/tools/tool-manager.d.ts +48 -22
- package/dist/tools/tool-manager.d.ts.map +1 -0
- package/dist/tools/tool-manager.js +174 -14
- package/dist/tools/types.d.ts +9 -11
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.d.ts +5 -7
- package/dist/utils/api-key-resolver.d.ts.map +1 -0
- package/dist/utils/api-key-store.d.ts +5 -7
- package/dist/utils/api-key-store.d.ts.map +1 -0
- package/dist/utils/async-context.cjs +51 -0
- package/dist/utils/async-context.d.ts +68 -0
- package/dist/utils/async-context.d.ts.map +1 -0
- package/dist/utils/async-context.js +24 -0
- package/dist/utils/debug.cjs +40 -0
- package/dist/utils/debug.d.ts +2 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +16 -0
- package/dist/utils/env.d.ts +4 -5
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/error-conversion.d.ts +2 -3
- package/dist/utils/error-conversion.d.ts.map +1 -0
- package/dist/utils/execution-context.d.ts +5 -6
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/fs-walk.d.ts +2 -3
- package/dist/utils/fs-walk.d.ts.map +1 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +14 -63
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.d.ts +9 -10
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/port-utils.d.ts +2 -3
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/redactor.d.ts +2 -3
- package/dist/utils/redactor.d.ts.map +1 -0
- package/dist/utils/result.d.ts +14 -27
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/safe-stringify.d.ts +2 -3
- package/dist/utils/safe-stringify.d.ts.map +1 -0
- package/dist/utils/schema-metadata.cjs +235 -0
- package/dist/utils/schema-metadata.d.ts +82 -0
- package/dist/utils/schema-metadata.d.ts.map +1 -0
- package/dist/utils/schema-metadata.js +207 -0
- package/dist/utils/schema.d.ts +2 -3
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/service-initializer.cjs +71 -34
- package/dist/utils/service-initializer.d.ts +18 -43
- package/dist/utils/service-initializer.d.ts.map +1 -0
- package/dist/utils/service-initializer.js +71 -34
- package/dist/utils/user-info.d.ts +2 -3
- package/dist/utils/user-info.d.ts.map +1 -0
- package/dist/utils/zod-schema-converter.d.ts +3 -5
- package/dist/utils/zod-schema-converter.d.ts.map +1 -0
- package/package.json +6 -4
- package/dist/agent/DextoAgent.d.cts +0 -541
- package/dist/agent/agentCard.d.cts +0 -20
- package/dist/agent/error-codes.d.cts +0 -14
- package/dist/agent/errors.d.cts +0 -44
- package/dist/agent/index.d.cts +0 -60
- package/dist/agent/registry/error-codes.d.cts +0 -20
- package/dist/agent/registry/errors.d.cts +0 -67
- package/dist/agent/registry/registry.d.cts +0 -67
- package/dist/agent/registry/types.d.cts +0 -100
- package/dist/agent/schemas.d.cts +0 -1502
- package/dist/agent/state-manager.d.cts +0 -97
- package/dist/config/agent-resolver.d.cts +0 -15
- package/dist/config/error-codes.d.cts +0 -17
- package/dist/config/errors.d.cts +0 -49
- package/dist/config/index.d.cts +0 -7
- package/dist/config/loader.d.cts +0 -19
- package/dist/config/writer.d.cts +0 -38
- package/dist/context/compression/middle-removal.d.cts +0 -48
- package/dist/context/compression/oldest-removal.d.cts +0 -43
- package/dist/context/compression/types.d.cts +0 -21
- package/dist/context/error-codes.d.cts +0 -19
- package/dist/context/errors.d.cts +0 -36
- package/dist/context/index.d.cts +0 -19
- package/dist/context/manager.d.cts +0 -254
- package/dist/context/types.d.cts +0 -113
- package/dist/context/utils.d.cts +0 -79
- package/dist/errors/DextoBaseError.d.cts +0 -15
- package/dist/errors/DextoRuntimeError.d.cts +0 -37
- package/dist/errors/DextoValidationError.d.cts +0 -65
- package/dist/errors/index.d.cts +0 -18
- package/dist/errors/result-bridge.d.cts +0 -39
- package/dist/errors/types.d.cts +0 -62
- package/dist/events/index.d.cts +0 -272
- package/dist/index.browser.d.cts +0 -53
- package/dist/index.d.cts +0 -89
- package/dist/llm/error-codes.d.cts +0 -26
- package/dist/llm/errors.d.cts +0 -58
- package/dist/llm/formatters/anthropic.d.cts +0 -45
- package/dist/llm/formatters/factory.d.cts +0 -12
- package/dist/llm/formatters/openai.d.cts +0 -38
- package/dist/llm/formatters/types.d.cts +0 -43
- package/dist/llm/formatters/vercel.d.cts +0 -48
- package/dist/llm/index.d.cts +0 -39
- package/dist/llm/registry.d.cts +0 -176
- package/dist/llm/resolver.d.cts +0 -34
- package/dist/llm/schemas.d.cts +0 -111
- package/dist/llm/services/anthropic.d.cts +0 -65
- package/dist/llm/services/factory.d.cts +0 -39
- package/dist/llm/services/index.d.cts +0 -21
- package/dist/llm/services/openai.d.cts +0 -65
- package/dist/llm/services/test-utils.integration.d.cts +0 -83
- package/dist/llm/services/types.d.cts +0 -56
- package/dist/llm/services/vercel.d.cts +0 -72
- package/dist/llm/tokenizer/anthropic.d.cts +0 -21
- package/dist/llm/tokenizer/default.d.cts +0 -16
- package/dist/llm/tokenizer/factory.d.cts +0 -12
- package/dist/llm/tokenizer/google.d.cts +0 -31
- package/dist/llm/tokenizer/openai.d.cts +0 -32
- package/dist/llm/tokenizer/types.d.cts +0 -19
- package/dist/llm/types.d.cts +0 -29
- package/dist/llm/validation.d.cts +0 -60
- package/dist/logger/browser.d.cts +0 -29
- package/dist/logger/index.d.cts +0 -1
- package/dist/logger/logger.d.cts +0 -52
- package/dist/mcp/error-codes.d.cts +0 -16
- package/dist/mcp/errors.d.cts +0 -72
- package/dist/mcp/index.d.cts +0 -26
- package/dist/mcp/manager.d.cts +0 -163
- package/dist/mcp/mcp-client.d.cts +0 -108
- package/dist/mcp/resolver.d.cts +0 -22
- package/dist/mcp/schemas.d.cts +0 -266
- package/dist/mcp/types.d.cts +0 -21
- package/dist/preferences/constants.d.cts +0 -3
- package/dist/preferences/error-codes.d.cts +0 -9
- package/dist/preferences/errors.d.cts +0 -33
- package/dist/preferences/index.d.cts +0 -21
- package/dist/preferences/loader.d.cts +0 -45
- package/dist/preferences/schemas.d.cts +0 -104
- package/dist/search/index.d.cts +0 -5
- package/dist/search/search-service.d.cts +0 -47
- package/dist/search/types.d.cts +0 -78
- package/dist/session/chat-session.d.cts +0 -284
- package/dist/session/error-codes.d.cts +0 -13
- package/dist/session/errors.d.cts +0 -58
- package/dist/session/history/database.d.cts +0 -28
- package/dist/session/history/factory.d.cts +0 -11
- package/dist/session/history/types.d.cts +0 -17
- package/dist/session/index.d.cts +0 -53
- package/dist/session/schemas.d.cts +0 -16
- package/dist/session/session-manager.d.cts +0 -219
- package/dist/storage/backend/cache-backend.d.ts +0 -15
- package/dist/storage/backend/database-backend.d.ts +0 -19
- package/dist/storage/backend/memory-backend.d.cts +0 -34
- package/dist/storage/backend/postgres-backend.d.cts +0 -37
- package/dist/storage/backend/redis-backend.d.cts +0 -36
- package/dist/storage/backend/sqlite-backend.d.cts +0 -35
- package/dist/storage/backend/types.d.cts +0 -14
- package/dist/storage/backend/types.d.ts +0 -14
- package/dist/storage/error-codes.d.cts +0 -14
- package/dist/storage/errors.d.cts +0 -63
- package/dist/storage/index.d.cts +0 -7
- package/dist/storage/schemas.d.cts +0 -856
- package/dist/storage/storage-manager.d.cts +0 -52
- package/dist/storage/types.d.cts +0 -5
- package/dist/systemPrompt/contributors.d.cts +0 -44
- package/dist/systemPrompt/error-codes.d.cts +0 -13
- package/dist/systemPrompt/errors.d.cts +0 -55
- package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
- package/dist/systemPrompt/index.d.cts +0 -14
- package/dist/systemPrompt/manager.d.cts +0 -31
- package/dist/systemPrompt/registry.d.cts +0 -20
- package/dist/systemPrompt/schemas.d.cts +0 -401
- package/dist/systemPrompt/types.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
- package/dist/tools/confirmation/factory.cjs +0 -52
- package/dist/tools/confirmation/factory.d.cts +0 -37
- package/dist/tools/confirmation/factory.d.ts +0 -37
- package/dist/tools/confirmation/factory.js +0 -28
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
- package/dist/tools/confirmation/types.d.cts +0 -46
- package/dist/tools/confirmation/types.d.ts +0 -46
- package/dist/tools/error-codes.d.cts +0 -18
- package/dist/tools/errors.d.cts +0 -97
- package/dist/tools/index.d.cts +0 -19
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
- package/dist/tools/internal-tools/index.d.cts +0 -13
- package/dist/tools/internal-tools/provider.d.cts +0 -66
- package/dist/tools/internal-tools/registry.d.cts +0 -45
- package/dist/tools/schemas.d.cts +0 -21
- package/dist/tools/tool-manager.d.cts +0 -106
- package/dist/tools/types.d.cts +0 -66
- package/dist/utils/api-key-resolver.d.cts +0 -23
- package/dist/utils/api-key-store.d.cts +0 -26
- package/dist/utils/env.d.cts +0 -29
- package/dist/utils/error-conversion.d.cts +0 -13
- package/dist/utils/execution-context.d.cts +0 -21
- package/dist/utils/fs-walk.d.cts +0 -9
- package/dist/utils/index.d.cts +0 -63
- package/dist/utils/path.d.cts +0 -54
- package/dist/utils/port-utils.d.cts +0 -11
- package/dist/utils/port-utils.spec.d.cts +0 -2
- package/dist/utils/port-utils.spec.d.ts +0 -2
- package/dist/utils/redactor.d.cts +0 -18
- package/dist/utils/result.d.cts +0 -180
- package/dist/utils/safe-stringify.d.cts +0 -7
- package/dist/utils/schema.d.cts +0 -6
- package/dist/utils/service-initializer.d.cts +0 -63
- package/dist/utils/user-info.d.cts +0 -3
- package/dist/utils/zod-schema-converter.d.cts +0 -13
- /package/dist/{storage/backend → memory}/types.cjs +0 -0
- /package/dist/{storage/backend → memory}/types.js +0 -0
- /package/dist/{tools/confirmation → plugins}/types.cjs +0 -0
- /package/dist/{tools/confirmation → plugins}/types.js +0 -0
- /package/dist/{storage/backend/cache-backend.js → prompts/types.js} +0 -0
- /package/dist/{storage/backend/database-backend.js → resources/handlers/types.js} +0 -0
|
@@ -66,18 +66,18 @@ class SessionManager {
|
|
|
66
66
|
*/
|
|
67
67
|
async restoreSessionsFromStorage() {
|
|
68
68
|
try {
|
|
69
|
-
const sessionKeys = await this.services.
|
|
69
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
70
70
|
import_logger.logger.debug(`Found ${sessionKeys.length} persisted sessions to restore`);
|
|
71
71
|
for (const sessionKey of sessionKeys) {
|
|
72
72
|
const sessionId = sessionKey.replace("session:", "");
|
|
73
|
-
const sessionData = await this.services.
|
|
73
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
74
74
|
if (sessionData) {
|
|
75
75
|
const now = Date.now();
|
|
76
76
|
const lastActivity = sessionData.lastActivity;
|
|
77
77
|
if (now - lastActivity <= this.sessionTTL) {
|
|
78
78
|
import_logger.logger.debug(`Session ${sessionId} restored from storage`);
|
|
79
79
|
} else {
|
|
80
|
-
await this.services.
|
|
80
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
81
81
|
import_logger.logger.debug(`Expired session ${sessionId} cleaned up during restore`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -132,16 +132,16 @@ class SessionManager {
|
|
|
132
132
|
async createSessionInternal(id) {
|
|
133
133
|
await this.cleanupExpiredSessions();
|
|
134
134
|
const sessionKey = `session:${id}`;
|
|
135
|
-
const existingMetadata = await this.services.
|
|
135
|
+
const existingMetadata = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
136
136
|
if (existingMetadata) {
|
|
137
137
|
await this.updateSessionActivity(id);
|
|
138
|
-
const session2 = new import_chat_session.ChatSession(this.services, id);
|
|
138
|
+
const session2 = new import_chat_session.ChatSession({ ...this.services, sessionManager: this }, id);
|
|
139
139
|
await session2.init();
|
|
140
140
|
this.sessions.set(id, session2);
|
|
141
141
|
import_logger.logger.info(`Restored session from storage: ${id}`, null, "cyan");
|
|
142
142
|
return session2;
|
|
143
143
|
}
|
|
144
|
-
const activeSessionKeys = await this.services.
|
|
144
|
+
const activeSessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
145
145
|
if (activeSessionKeys.length >= this.maxSessions) {
|
|
146
146
|
throw import_errors.SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
|
|
147
147
|
}
|
|
@@ -152,25 +152,25 @@ class SessionManager {
|
|
|
152
152
|
messageCount: 0
|
|
153
153
|
};
|
|
154
154
|
try {
|
|
155
|
-
await this.services.
|
|
155
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
156
156
|
} catch (error) {
|
|
157
157
|
import_logger.logger.error(`Failed to store session metadata for ${id}:`, error);
|
|
158
158
|
throw error;
|
|
159
159
|
}
|
|
160
160
|
let session;
|
|
161
161
|
try {
|
|
162
|
-
session = new import_chat_session.ChatSession(this.services, id);
|
|
162
|
+
session = new import_chat_session.ChatSession({ ...this.services, sessionManager: this }, id);
|
|
163
163
|
await session.init();
|
|
164
164
|
this.sessions.set(id, session);
|
|
165
|
-
await this.services.
|
|
165
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
166
166
|
import_logger.logger.info(`Created new session: ${id}`, null, "green");
|
|
167
167
|
return session;
|
|
168
168
|
} catch (error) {
|
|
169
169
|
import_logger.logger.error(
|
|
170
170
|
`Failed to initialize session ${id}: ${error instanceof Error ? error.message : String(error)}`
|
|
171
171
|
);
|
|
172
|
-
await this.services.
|
|
173
|
-
await this.services.
|
|
172
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
173
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
174
174
|
const reason = error instanceof Error ? error.message : "unknown error";
|
|
175
175
|
throw import_errors.SessionError.initializationFailed(id, reason);
|
|
176
176
|
}
|
|
@@ -202,9 +202,12 @@ class SessionManager {
|
|
|
202
202
|
}
|
|
203
203
|
if (restoreFromStorage) {
|
|
204
204
|
const sessionKey = `session:${sessionId}`;
|
|
205
|
-
const sessionData = await this.services.
|
|
205
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
206
206
|
if (sessionData) {
|
|
207
|
-
const session = new import_chat_session.ChatSession(
|
|
207
|
+
const session = new import_chat_session.ChatSession(
|
|
208
|
+
{ ...this.services, sessionManager: this },
|
|
209
|
+
sessionId
|
|
210
|
+
);
|
|
208
211
|
await session.init();
|
|
209
212
|
this.sessions.set(sessionId, session);
|
|
210
213
|
return session;
|
|
@@ -226,7 +229,7 @@ class SessionManager {
|
|
|
226
229
|
this.sessions.delete(sessionId);
|
|
227
230
|
}
|
|
228
231
|
const sessionKey = `session:${sessionId}`;
|
|
229
|
-
await this.services.
|
|
232
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
230
233
|
import_logger.logger.debug(`Ended session (removed from memory, chat history preserved): ${sessionId}`);
|
|
231
234
|
}
|
|
232
235
|
/**
|
|
@@ -244,8 +247,8 @@ class SessionManager {
|
|
|
244
247
|
this.sessions.delete(sessionId);
|
|
245
248
|
}
|
|
246
249
|
const sessionKey = `session:${sessionId}`;
|
|
247
|
-
await this.services.
|
|
248
|
-
await this.services.
|
|
250
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
251
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
249
252
|
import_logger.logger.debug(`Deleted session and conversation history: ${sessionId}`);
|
|
250
253
|
}
|
|
251
254
|
/**
|
|
@@ -262,12 +265,12 @@ class SessionManager {
|
|
|
262
265
|
}
|
|
263
266
|
await session.reset();
|
|
264
267
|
const sessionKey = `session:${sessionId}`;
|
|
265
|
-
const sessionData = await this.services.
|
|
268
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
266
269
|
if (sessionData) {
|
|
267
270
|
sessionData.messageCount = 0;
|
|
268
271
|
sessionData.lastActivity = Date.now();
|
|
269
|
-
await this.services.
|
|
270
|
-
await this.services.
|
|
272
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
273
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
271
274
|
}
|
|
272
275
|
import_logger.logger.debug(`Reset session conversation: ${sessionId}`);
|
|
273
276
|
}
|
|
@@ -278,7 +281,7 @@ class SessionManager {
|
|
|
278
281
|
*/
|
|
279
282
|
async listSessions() {
|
|
280
283
|
await this.ensureInitialized();
|
|
281
|
-
const sessionKeys = await this.services.
|
|
284
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
282
285
|
return sessionKeys.map((key) => key.replace("session:", ""));
|
|
283
286
|
}
|
|
284
287
|
/**
|
|
@@ -290,11 +293,12 @@ class SessionManager {
|
|
|
290
293
|
async getSessionMetadata(sessionId) {
|
|
291
294
|
await this.ensureInitialized();
|
|
292
295
|
const sessionKey = `session:${sessionId}`;
|
|
293
|
-
const sessionData = await this.services.
|
|
296
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
294
297
|
return sessionData ? {
|
|
295
298
|
createdAt: sessionData.createdAt,
|
|
296
299
|
lastActivity: sessionData.lastActivity,
|
|
297
|
-
messageCount: sessionData.messageCount
|
|
300
|
+
messageCount: sessionData.messageCount,
|
|
301
|
+
title: sessionData.metadata?.title
|
|
298
302
|
} : void 0;
|
|
299
303
|
}
|
|
300
304
|
/**
|
|
@@ -311,11 +315,11 @@ class SessionManager {
|
|
|
311
315
|
*/
|
|
312
316
|
async updateSessionActivity(sessionId) {
|
|
313
317
|
const sessionKey = `session:${sessionId}`;
|
|
314
|
-
const sessionData = await this.services.
|
|
318
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
315
319
|
if (sessionData) {
|
|
316
320
|
sessionData.lastActivity = Date.now();
|
|
317
|
-
await this.services.
|
|
318
|
-
await this.services.
|
|
321
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
322
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
319
323
|
}
|
|
320
324
|
}
|
|
321
325
|
/**
|
|
@@ -324,13 +328,43 @@ class SessionManager {
|
|
|
324
328
|
async incrementMessageCount(sessionId) {
|
|
325
329
|
await this.ensureInitialized();
|
|
326
330
|
const sessionKey = `session:${sessionId}`;
|
|
327
|
-
const sessionData = await this.services.
|
|
331
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
328
332
|
if (sessionData) {
|
|
329
333
|
sessionData.messageCount++;
|
|
330
334
|
sessionData.lastActivity = Date.now();
|
|
331
|
-
await this.services.
|
|
332
|
-
await this.services.
|
|
335
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
336
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Sets the human-friendly title for a session.
|
|
341
|
+
* Title is stored in session metadata and cached with TTL.
|
|
342
|
+
*/
|
|
343
|
+
async setSessionTitle(sessionId, title, opts = {}) {
|
|
344
|
+
await this.ensureInitialized();
|
|
345
|
+
const sessionKey = `session:${sessionId}`;
|
|
346
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
347
|
+
if (!sessionData) {
|
|
348
|
+
throw import_errors.SessionError.notFound(sessionId);
|
|
333
349
|
}
|
|
350
|
+
const normalized = title.trim().slice(0, 80);
|
|
351
|
+
if (opts.ifUnsetOnly && sessionData.metadata?.title) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
sessionData.metadata = sessionData.metadata || {};
|
|
355
|
+
sessionData.metadata.title = normalized;
|
|
356
|
+
sessionData.lastActivity = Date.now();
|
|
357
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
358
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Gets the stored title for a session, if any.
|
|
362
|
+
*/
|
|
363
|
+
async getSessionTitle(sessionId) {
|
|
364
|
+
await this.ensureInitialized();
|
|
365
|
+
const sessionKey = `session:${sessionId}`;
|
|
366
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
367
|
+
return sessionData?.metadata?.title;
|
|
334
368
|
}
|
|
335
369
|
/**
|
|
336
370
|
* Cleans up expired sessions from memory only, preserving chat history in storage.
|
|
@@ -341,7 +375,7 @@ class SessionManager {
|
|
|
341
375
|
const expiredSessions = [];
|
|
342
376
|
for (const [sessionId, _session] of this.sessions.entries()) {
|
|
343
377
|
const sessionKey = `session:${sessionId}`;
|
|
344
|
-
const sessionData = await this.services.
|
|
378
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
345
379
|
if (sessionData && now - sessionData.lastActivity > this.sessionTTL) {
|
|
346
380
|
expiredSessions.push(sessionId);
|
|
347
381
|
}
|
|
@@ -1,51 +1,22 @@
|
|
|
1
1
|
import { ChatSession } from './chat-session.js';
|
|
2
|
-
import {
|
|
2
|
+
import { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
3
3
|
import { ToolManager } from '../tools/tool-manager.js';
|
|
4
4
|
import { AgentEventBus } from '../events/index.js';
|
|
5
|
-
import { AgentStateManager } from '../agent/state-manager.js';
|
|
6
|
-
import { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
7
|
-
import {
|
|
8
|
-
import '../
|
|
9
|
-
|
|
10
|
-
import '../context/types.js';
|
|
11
|
-
import '../llm/types.js';
|
|
12
|
-
import '../llm/tokenizer/types.js';
|
|
13
|
-
import '../context/compression/types.js';
|
|
14
|
-
import '../systemPrompt/types.js';
|
|
15
|
-
import '../mcp/manager.js';
|
|
16
|
-
import '../mcp/schemas.js';
|
|
17
|
-
import 'zod';
|
|
18
|
-
import '../mcp/types.js';
|
|
19
|
-
import '@modelcontextprotocol/sdk/client/index.js';
|
|
20
|
-
import '../tools/types.js';
|
|
21
|
-
import 'json-schema';
|
|
22
|
-
import '@modelcontextprotocol/sdk/types.js';
|
|
23
|
-
import './history/types.js';
|
|
24
|
-
import '../llm/services/types.js';
|
|
25
|
-
import 'ai';
|
|
26
|
-
import '../systemPrompt/schemas.js';
|
|
27
|
-
import '../tools/internal-tools/registry.js';
|
|
28
|
-
import '../search/search-service.js';
|
|
29
|
-
import '../storage/backend/database-backend.js';
|
|
30
|
-
import '../search/types.js';
|
|
31
|
-
import '../tools/schemas.js';
|
|
32
|
-
import '../tools/confirmation/types.js';
|
|
33
|
-
import '../tools/confirmation/allowed-tools-provider/types.js';
|
|
34
|
-
import 'events';
|
|
35
|
-
import '../agent/schemas.js';
|
|
36
|
-
import '../storage/backend/cache-backend.js';
|
|
37
|
-
import '../storage/schemas.js';
|
|
38
|
-
|
|
39
|
-
interface SessionMetadata {
|
|
5
|
+
import type { AgentStateManager } from '../agent/state-manager.js';
|
|
6
|
+
import type { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
7
|
+
import type { StorageManager } from '../storage/index.js';
|
|
8
|
+
import type { PluginManager } from '../plugins/manager.js';
|
|
9
|
+
export interface SessionMetadata {
|
|
40
10
|
createdAt: number;
|
|
41
11
|
lastActivity: number;
|
|
42
12
|
messageCount: number;
|
|
13
|
+
title?: string;
|
|
43
14
|
}
|
|
44
|
-
interface SessionManagerConfig {
|
|
15
|
+
export interface SessionManagerConfig {
|
|
45
16
|
maxSessions?: number;
|
|
46
17
|
sessionTTL?: number;
|
|
47
18
|
}
|
|
48
|
-
interface SessionData {
|
|
19
|
+
export interface SessionData {
|
|
49
20
|
id: string;
|
|
50
21
|
userId?: string;
|
|
51
22
|
createdAt: number;
|
|
@@ -63,7 +34,7 @@ interface SessionData {
|
|
|
63
34
|
* - Providing session lifecycle management
|
|
64
35
|
* - Persisting session data using the simplified storage backends
|
|
65
36
|
*/
|
|
66
|
-
declare class SessionManager {
|
|
37
|
+
export declare class SessionManager {
|
|
67
38
|
private services;
|
|
68
39
|
private sessions;
|
|
69
40
|
private readonly maxSessions;
|
|
@@ -74,10 +45,13 @@ declare class SessionManager {
|
|
|
74
45
|
private readonly pendingCreations;
|
|
75
46
|
constructor(services: {
|
|
76
47
|
stateManager: AgentStateManager;
|
|
77
|
-
|
|
48
|
+
systemPromptManager: SystemPromptManager;
|
|
78
49
|
toolManager: ToolManager;
|
|
79
50
|
agentEventBus: AgentEventBus;
|
|
80
|
-
|
|
51
|
+
storageManager: StorageManager;
|
|
52
|
+
resourceManager: import('../resources/index.js').ResourceManager;
|
|
53
|
+
pluginManager: PluginManager;
|
|
54
|
+
mcpManager: import('../mcp/manager.js').MCPManager;
|
|
81
55
|
}, config?: SessionManagerConfig);
|
|
82
56
|
/**
|
|
83
57
|
* Initialize the SessionManager with persistent storage.
|
|
@@ -167,6 +141,17 @@ declare class SessionManager {
|
|
|
167
141
|
* Increments the message count for a session.
|
|
168
142
|
*/
|
|
169
143
|
incrementMessageCount(sessionId: string): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Sets the human-friendly title for a session.
|
|
146
|
+
* Title is stored in session metadata and cached with TTL.
|
|
147
|
+
*/
|
|
148
|
+
setSessionTitle(sessionId: string, title: string, opts?: {
|
|
149
|
+
ifUnsetOnly?: boolean;
|
|
150
|
+
}): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Gets the stored title for a session, if any.
|
|
153
|
+
*/
|
|
154
|
+
getSessionTitle(sessionId: string): Promise<string | undefined>;
|
|
170
155
|
/**
|
|
171
156
|
* Cleans up expired sessions from memory only, preserving chat history in storage.
|
|
172
157
|
* This allows inactive sessions to be garbage collected while keeping conversations restorable.
|
|
@@ -215,5 +200,4 @@ declare class SessionManager {
|
|
|
215
200
|
*/
|
|
216
201
|
cleanup(): Promise<void>;
|
|
217
202
|
}
|
|
218
|
-
|
|
219
|
-
export { type SessionData, SessionManager, type SessionManagerConfig, type SessionMetadata };
|
|
203
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,18 +43,18 @@ class SessionManager {
|
|
|
43
43
|
*/
|
|
44
44
|
async restoreSessionsFromStorage() {
|
|
45
45
|
try {
|
|
46
|
-
const sessionKeys = await this.services.
|
|
46
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
47
47
|
logger.debug(`Found ${sessionKeys.length} persisted sessions to restore`);
|
|
48
48
|
for (const sessionKey of sessionKeys) {
|
|
49
49
|
const sessionId = sessionKey.replace("session:", "");
|
|
50
|
-
const sessionData = await this.services.
|
|
50
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
51
51
|
if (sessionData) {
|
|
52
52
|
const now = Date.now();
|
|
53
53
|
const lastActivity = sessionData.lastActivity;
|
|
54
54
|
if (now - lastActivity <= this.sessionTTL) {
|
|
55
55
|
logger.debug(`Session ${sessionId} restored from storage`);
|
|
56
56
|
} else {
|
|
57
|
-
await this.services.
|
|
57
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
58
58
|
logger.debug(`Expired session ${sessionId} cleaned up during restore`);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -109,16 +109,16 @@ class SessionManager {
|
|
|
109
109
|
async createSessionInternal(id) {
|
|
110
110
|
await this.cleanupExpiredSessions();
|
|
111
111
|
const sessionKey = `session:${id}`;
|
|
112
|
-
const existingMetadata = await this.services.
|
|
112
|
+
const existingMetadata = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
113
113
|
if (existingMetadata) {
|
|
114
114
|
await this.updateSessionActivity(id);
|
|
115
|
-
const session2 = new ChatSession(this.services, id);
|
|
115
|
+
const session2 = new ChatSession({ ...this.services, sessionManager: this }, id);
|
|
116
116
|
await session2.init();
|
|
117
117
|
this.sessions.set(id, session2);
|
|
118
118
|
logger.info(`Restored session from storage: ${id}`, null, "cyan");
|
|
119
119
|
return session2;
|
|
120
120
|
}
|
|
121
|
-
const activeSessionKeys = await this.services.
|
|
121
|
+
const activeSessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
122
122
|
if (activeSessionKeys.length >= this.maxSessions) {
|
|
123
123
|
throw SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
|
|
124
124
|
}
|
|
@@ -129,25 +129,25 @@ class SessionManager {
|
|
|
129
129
|
messageCount: 0
|
|
130
130
|
};
|
|
131
131
|
try {
|
|
132
|
-
await this.services.
|
|
132
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
133
133
|
} catch (error) {
|
|
134
134
|
logger.error(`Failed to store session metadata for ${id}:`, error);
|
|
135
135
|
throw error;
|
|
136
136
|
}
|
|
137
137
|
let session;
|
|
138
138
|
try {
|
|
139
|
-
session = new ChatSession(this.services, id);
|
|
139
|
+
session = new ChatSession({ ...this.services, sessionManager: this }, id);
|
|
140
140
|
await session.init();
|
|
141
141
|
this.sessions.set(id, session);
|
|
142
|
-
await this.services.
|
|
142
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
143
143
|
logger.info(`Created new session: ${id}`, null, "green");
|
|
144
144
|
return session;
|
|
145
145
|
} catch (error) {
|
|
146
146
|
logger.error(
|
|
147
147
|
`Failed to initialize session ${id}: ${error instanceof Error ? error.message : String(error)}`
|
|
148
148
|
);
|
|
149
|
-
await this.services.
|
|
150
|
-
await this.services.
|
|
149
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
150
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
151
151
|
const reason = error instanceof Error ? error.message : "unknown error";
|
|
152
152
|
throw SessionError.initializationFailed(id, reason);
|
|
153
153
|
}
|
|
@@ -179,9 +179,12 @@ class SessionManager {
|
|
|
179
179
|
}
|
|
180
180
|
if (restoreFromStorage) {
|
|
181
181
|
const sessionKey = `session:${sessionId}`;
|
|
182
|
-
const sessionData = await this.services.
|
|
182
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
183
183
|
if (sessionData) {
|
|
184
|
-
const session = new ChatSession(
|
|
184
|
+
const session = new ChatSession(
|
|
185
|
+
{ ...this.services, sessionManager: this },
|
|
186
|
+
sessionId
|
|
187
|
+
);
|
|
185
188
|
await session.init();
|
|
186
189
|
this.sessions.set(sessionId, session);
|
|
187
190
|
return session;
|
|
@@ -203,7 +206,7 @@ class SessionManager {
|
|
|
203
206
|
this.sessions.delete(sessionId);
|
|
204
207
|
}
|
|
205
208
|
const sessionKey = `session:${sessionId}`;
|
|
206
|
-
await this.services.
|
|
209
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
207
210
|
logger.debug(`Ended session (removed from memory, chat history preserved): ${sessionId}`);
|
|
208
211
|
}
|
|
209
212
|
/**
|
|
@@ -221,8 +224,8 @@ class SessionManager {
|
|
|
221
224
|
this.sessions.delete(sessionId);
|
|
222
225
|
}
|
|
223
226
|
const sessionKey = `session:${sessionId}`;
|
|
224
|
-
await this.services.
|
|
225
|
-
await this.services.
|
|
227
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
228
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
226
229
|
logger.debug(`Deleted session and conversation history: ${sessionId}`);
|
|
227
230
|
}
|
|
228
231
|
/**
|
|
@@ -239,12 +242,12 @@ class SessionManager {
|
|
|
239
242
|
}
|
|
240
243
|
await session.reset();
|
|
241
244
|
const sessionKey = `session:${sessionId}`;
|
|
242
|
-
const sessionData = await this.services.
|
|
245
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
243
246
|
if (sessionData) {
|
|
244
247
|
sessionData.messageCount = 0;
|
|
245
248
|
sessionData.lastActivity = Date.now();
|
|
246
|
-
await this.services.
|
|
247
|
-
await this.services.
|
|
249
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
250
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
248
251
|
}
|
|
249
252
|
logger.debug(`Reset session conversation: ${sessionId}`);
|
|
250
253
|
}
|
|
@@ -255,7 +258,7 @@ class SessionManager {
|
|
|
255
258
|
*/
|
|
256
259
|
async listSessions() {
|
|
257
260
|
await this.ensureInitialized();
|
|
258
|
-
const sessionKeys = await this.services.
|
|
261
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
259
262
|
return sessionKeys.map((key) => key.replace("session:", ""));
|
|
260
263
|
}
|
|
261
264
|
/**
|
|
@@ -267,11 +270,12 @@ class SessionManager {
|
|
|
267
270
|
async getSessionMetadata(sessionId) {
|
|
268
271
|
await this.ensureInitialized();
|
|
269
272
|
const sessionKey = `session:${sessionId}`;
|
|
270
|
-
const sessionData = await this.services.
|
|
273
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
271
274
|
return sessionData ? {
|
|
272
275
|
createdAt: sessionData.createdAt,
|
|
273
276
|
lastActivity: sessionData.lastActivity,
|
|
274
|
-
messageCount: sessionData.messageCount
|
|
277
|
+
messageCount: sessionData.messageCount,
|
|
278
|
+
title: sessionData.metadata?.title
|
|
275
279
|
} : void 0;
|
|
276
280
|
}
|
|
277
281
|
/**
|
|
@@ -288,11 +292,11 @@ class SessionManager {
|
|
|
288
292
|
*/
|
|
289
293
|
async updateSessionActivity(sessionId) {
|
|
290
294
|
const sessionKey = `session:${sessionId}`;
|
|
291
|
-
const sessionData = await this.services.
|
|
295
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
292
296
|
if (sessionData) {
|
|
293
297
|
sessionData.lastActivity = Date.now();
|
|
294
|
-
await this.services.
|
|
295
|
-
await this.services.
|
|
298
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
299
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
296
300
|
}
|
|
297
301
|
}
|
|
298
302
|
/**
|
|
@@ -301,13 +305,43 @@ class SessionManager {
|
|
|
301
305
|
async incrementMessageCount(sessionId) {
|
|
302
306
|
await this.ensureInitialized();
|
|
303
307
|
const sessionKey = `session:${sessionId}`;
|
|
304
|
-
const sessionData = await this.services.
|
|
308
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
305
309
|
if (sessionData) {
|
|
306
310
|
sessionData.messageCount++;
|
|
307
311
|
sessionData.lastActivity = Date.now();
|
|
308
|
-
await this.services.
|
|
309
|
-
await this.services.
|
|
312
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
313
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Sets the human-friendly title for a session.
|
|
318
|
+
* Title is stored in session metadata and cached with TTL.
|
|
319
|
+
*/
|
|
320
|
+
async setSessionTitle(sessionId, title, opts = {}) {
|
|
321
|
+
await this.ensureInitialized();
|
|
322
|
+
const sessionKey = `session:${sessionId}`;
|
|
323
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
324
|
+
if (!sessionData) {
|
|
325
|
+
throw SessionError.notFound(sessionId);
|
|
310
326
|
}
|
|
327
|
+
const normalized = title.trim().slice(0, 80);
|
|
328
|
+
if (opts.ifUnsetOnly && sessionData.metadata?.title) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
sessionData.metadata = sessionData.metadata || {};
|
|
332
|
+
sessionData.metadata.title = normalized;
|
|
333
|
+
sessionData.lastActivity = Date.now();
|
|
334
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
335
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Gets the stored title for a session, if any.
|
|
339
|
+
*/
|
|
340
|
+
async getSessionTitle(sessionId) {
|
|
341
|
+
await this.ensureInitialized();
|
|
342
|
+
const sessionKey = `session:${sessionId}`;
|
|
343
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
344
|
+
return sessionData?.metadata?.title;
|
|
311
345
|
}
|
|
312
346
|
/**
|
|
313
347
|
* Cleans up expired sessions from memory only, preserving chat history in storage.
|
|
@@ -318,7 +352,7 @@ class SessionManager {
|
|
|
318
352
|
const expiredSessions = [];
|
|
319
353
|
for (const [sessionId, _session] of this.sessions.entries()) {
|
|
320
354
|
const sessionKey = `session:${sessionId}`;
|
|
321
|
-
const sessionData = await this.services.
|
|
355
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
322
356
|
if (sessionData && now - sessionData.lastActivity > this.sessionTTL) {
|
|
323
357
|
expiredSessions.push(sessionId);
|
|
324
358
|
}
|