@dexto/core 1.1.10 → 1.2.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 +24 -4
- package/dist/Dexto.cjs +251 -0
- package/dist/Dexto.d.ts +191 -0
- package/dist/Dexto.d.ts.map +1 -0
- package/dist/Dexto.js +228 -0
- package/dist/agent/DextoAgent.cjs +520 -126
- package/dist/agent/DextoAgent.d.ts +182 -106
- package/dist/agent/DextoAgent.d.ts.map +1 -0
- package/dist/agent/DextoAgent.js +480 -126
- package/dist/agent/agentCard.d.ts +4 -7
- package/dist/agent/agentCard.d.ts.map +1 -0
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +3 -0
- package/dist/agent/error-codes.d.ts +5 -3
- package/dist/agent/error-codes.d.ts.map +1 -0
- package/dist/agent/error-codes.js +4 -0
- package/dist/agent/errors.cjs +26 -0
- package/dist/agent/errors.d.ts +10 -17
- package/dist/agent/errors.d.ts.map +1 -0
- package/dist/agent/errors.js +27 -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 +3 -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 +3 -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 +59 -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 +252 -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 +34 -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 +105 -0
- package/dist/agent/schemas.cjs +22 -3
- package/dist/agent/schemas.d.ts +811 -479
- package/dist/agent/schemas.d.ts.map +1 -0
- package/dist/agent/schemas.js +23 -3
- package/dist/agent/state-manager.d.ts +7 -12
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/agent/state-manager.js +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 +21 -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 +228 -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 +56 -0
- package/dist/approval/manager.cjs +189 -0
- package/dist/approval/manager.d.ts +131 -0
- package/dist/approval/manager.d.ts.map +1 -0
- package/dist/approval/manager.js +166 -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 +133 -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 +15 -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 +31 -0
- package/dist/approval/schemas.cjs +204 -0
- package/dist/approval/schemas.d.ts +775 -0
- package/dist/approval/schemas.d.ts.map +1 -0
- package/dist/approval/schemas.js +159 -0
- package/dist/approval/types.cjs +42 -0
- package/dist/approval/types.d.ts +166 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +18 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.d.ts +3 -4
- package/dist/config/agent-resolver.d.ts.map +1 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.d.ts +2 -3
- package/dist/config/error-codes.d.ts.map +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.d.ts +3 -18
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +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/loader.js +1 -0
- package/dist/config/writer.d.ts +8 -11
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +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/middle-removal.js +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/oldest-removal.js +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/error-codes.js +1 -0
- package/dist/context/errors.d.ts +3 -18
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/errors.js +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 +6 -0
- package/dist/context/manager.cjs +156 -24
- package/dist/context/manager.d.ts +28 -20
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +153 -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 +16 -0
- package/dist/context/types.d.ts +27 -10
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/utils.cjs +907 -71
- package/dist/context/utils.d.ts +111 -15
- package/dist/context/utils.d.ts.map +1 -0
- package/dist/context/utils.js +896 -70
- package/dist/errors/DextoBaseError.d.ts +2 -3
- package/dist/errors/DextoBaseError.d.ts.map +1 -0
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.d.ts +5 -16
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.d.ts +3 -16
- package/dist/errors/DextoValidationError.d.ts.map +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.d.ts +7 -14
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.d.ts +3 -18
- package/dist/errors/result-bridge.d.ts.map +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +7 -0
- package/dist/errors/types.d.ts +32 -20
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +8 -0
- package/dist/events/index.cjs +9 -3
- package/dist/events/index.d.ts +67 -35
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -3
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- 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 +35 -1
- package/dist/index.cjs +29 -1
- package/dist/index.d.ts +34 -89
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/llm/error-codes.d.ts +2 -3
- package/dist/llm/error-codes.d.ts.map +1 -0
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.d.ts +3 -18
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +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/anthropic.js +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/factory.js +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/openai.js +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/formatters/vercel.js +1 -0
- package/dist/llm/index.d.ts +8 -39
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/registry.cjs +30 -16
- package/dist/llm/registry.d.ts +27 -30
- package/dist/llm/registry.d.ts.map +1 -0
- package/dist/llm/registry.js +31 -16
- package/dist/llm/resolver.d.ts +6 -20
- package/dist/llm/resolver.d.ts.map +1 -0
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +25 -17
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +91 -11
- package/dist/llm/services/anthropic.d.ts +13 -32
- package/dist/llm/services/anthropic.d.ts.map +1 -0
- package/dist/llm/services/anthropic.js +51 -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 +22 -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 +120 -16
- package/dist/llm/services/openai.d.ts +13 -32
- package/dist/llm/services/openai.d.ts.map +1 -0
- package/dist/llm/services/openai.js +80 -16
- package/dist/llm/services/test-utils.integration.cjs +3 -3
- 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 +4 -3
- 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 +152 -74
- package/dist/llm/services/vercel.d.ts +18 -36
- package/dist/llm/services/vercel.d.ts.map +1 -0
- package/dist/llm/services/vercel.js +113 -75
- package/dist/llm/tokenizer/anthropic.d.ts +2 -4
- package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
- package/dist/llm/tokenizer/anthropic.js +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/default.js +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/factory.js +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/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +3 -5
- package/dist/llm/tokenizer/openai.d.ts.map +1 -0
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.d.ts +3 -4
- package/dist/llm/tokenizer/types.d.ts.map +1 -0
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +11 -12
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.d.ts +8 -23
- package/dist/llm/validation.d.ts.map +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.d.ts +4 -5
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/browser.js +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 +47 -5
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +36 -7
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +3 -3
- package/dist/mcp/error-codes.d.ts.map +1 -0
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +9 -17
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/index.d.ts +8 -26
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/manager.cjs +528 -130
- package/dist/mcp/manager.d.ts +124 -58
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +529 -130
- 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 +177 -10
- package/dist/mcp/resolver.d.ts +5 -20
- package/dist/mcp/resolver.d.ts.map +1 -0
- package/dist/mcp/resolver.js +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 +11 -5
- package/dist/mcp/types.d.ts +19 -11
- 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 +16 -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 +89 -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 +19 -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 +196 -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 +54 -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 +89 -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 +79 -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 +16 -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 +25 -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 +125 -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 +363 -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 +28 -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 +36 -0
- package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
- 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/constants.js +1 -0
- package/dist/preferences/error-codes.d.ts +2 -3
- package/dist/preferences/error-codes.d.ts.map +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.d.ts +4 -19
- package/dist/preferences/errors.d.ts.map +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.d.ts +5 -20
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +18 -12
- package/dist/preferences/loader.d.ts.map +1 -0
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +27 -21
- package/dist/preferences/schemas.d.ts.map +1 -0
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.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 +15 -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 +121 -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 +21 -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 +19 -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 +353 -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 +260 -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 +376 -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 +79 -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 +147 -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 +31 -0
- package/dist/prompts/types.cjs +16 -0
- package/dist/prompts/types.d.ts +64 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +0 -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 +150 -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 +15 -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 +132 -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 +207 -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 +26 -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 +352 -0
- package/dist/resources/handlers/types.cjs +16 -0
- package/dist/resources/handlers/types.d.ts +15 -0
- package/dist/resources/handlers/types.d.ts.map +1 -0
- package/dist/resources/handlers/types.js +0 -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 +35 -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 +118 -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 +198 -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 +191 -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 +73 -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/index.js +1 -0
- package/dist/search/search-service.d.ts +5 -9
- package/dist/search/search-service.d.ts.map +1 -0
- package/dist/search/search-service.js +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 +105 -12
- package/dist/session/chat-session.d.ts +32 -43
- package/dist/session/chat-session.d.ts.map +1 -0
- package/dist/session/chat-session.js +106 -12
- package/dist/session/error-codes.d.ts +2 -3
- package/dist/session/error-codes.d.ts.map +1 -0
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.d.ts +2 -17
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/errors.js +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/database.js +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/factory.js +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 +16 -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/index.js +1 -0
- package/dist/session/schemas.d.ts +4 -6
- package/dist/session/schemas.d.ts.map +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.cjs +63 -29
- package/dist/session/session-manager.d.ts +33 -43
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +64 -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 +116 -0
- package/dist/storage/blob/factory.cjs +50 -0
- package/dist/storage/blob/factory.d.ts +10 -0
- package/dist/storage/blob/factory.d.ts.map +1 -0
- package/dist/storage/blob/factory.js +27 -0
- package/dist/storage/blob/local-blob-store.cjs +503 -0
- package/dist/storage/blob/local-blob-store.d.ts +57 -0
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/local-blob-store.js +470 -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 +29 -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 +30 -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 +84 -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} +5 -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 +53 -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 +86 -0
- package/dist/storage/database/factory.d.ts +10 -0
- package/dist/storage/database/factory.d.ts.map +1 -0
- package/dist/storage/database/factory.js +53 -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} +7 -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} +8 -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 +65 -0
- package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
- package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
- package/dist/storage/database/sqlite-store.d.ts.map +1 -0
- package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
- 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 +16 -0
- package/dist/storage/error-codes.d.ts +20 -5
- package/dist/storage/error-codes.d.ts.map +1 -0
- package/dist/storage/error-codes.js +17 -0
- package/dist/storage/errors.cjs +210 -7
- package/dist/storage/errors.d.ts +75 -19
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +205 -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 +21 -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 +26 -84
- package/dist/storage/storage-manager.cjs +135 -118
- package/dist/storage/storage-manager.d.ts +55 -26
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +135 -107
- 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 +54 -0
- package/dist/systemPrompt/error-codes.d.ts +2 -3
- package/dist/systemPrompt/error-codes.d.ts.map +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.d.ts +2 -17
- package/dist/systemPrompt/errors.d.ts.map +1 -0
- package/dist/systemPrompt/errors.js +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 +14 -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 +9 -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 +25 -6
- package/dist/systemPrompt/registry.d.ts +6 -16
- package/dist/systemPrompt/registry.d.ts.map +1 -0
- package/dist/systemPrompt/registry.js +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 +18 -3
- package/dist/systemPrompt/types.d.ts +3 -12
- package/dist/systemPrompt/types.d.ts.map +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -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 +2 -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/in-memory.js +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 +10 -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/error-codes.js +1 -0
- package/dist/tools/errors.d.ts +2 -17
- package/dist/tools/errors.d.ts.map +1 -0
- package/dist/tools/errors.js +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 +1 -1
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- 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 +34 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -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/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +4 -13
- package/dist/tools/internal-tools/index.d.ts.map +1 -0
- package/dist/tools/internal-tools/index.js +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 +10 -11
- package/dist/tools/internal-tools/registry.cjs +45 -4
- package/dist/tools/internal-tools/registry.d.ts +13 -22
- package/dist/tools/internal-tools/registry.d.ts.map +1 -0
- package/dist/tools/internal-tools/registry.js +46 -3
- package/dist/tools/schemas.cjs +32 -7
- package/dist/tools/schemas.d.ts +41 -8
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +25 -4
- package/dist/tools/tool-manager.cjs +329 -30
- package/dist/tools/tool-manager.d.ts +94 -22
- package/dist/tools/tool-manager.d.ts.map +1 -0
- package/dist/tools/tool-manager.js +289 -30
- 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-resolver.js +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/api-key-store.js +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 +25 -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 +17 -0
- package/dist/utils/env.d.ts +4 -5
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.d.ts +2 -3
- package/dist/utils/error-conversion.d.ts.map +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.d.ts +5 -6
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.d.ts +2 -3
- package/dist/utils/fs-walk.d.ts.map +1 -0
- package/dist/utils/fs-walk.js +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/path.js +1 -0
- package/dist/utils/port-utils.d.ts +2 -3
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.d.ts +2 -3
- package/dist/utils/redactor.d.ts.map +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.d.ts +14 -27
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.d.ts +2 -3
- package/dist/utils/safe-stringify.d.ts.map +1 -0
- package/dist/utils/safe-stringify.js +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 +208 -0
- package/dist/utils/schema.d.ts +2 -3
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +110 -35
- package/dist/utils/service-initializer.d.ts +19 -43
- package/dist/utils/service-initializer.d.ts.map +1 -0
- package/dist/utils/service-initializer.js +101 -35
- package/dist/utils/user-info.d.ts +2 -3
- package/dist/utils/user-info.d.ts.map +1 -0
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.d.ts +3 -5
- package/dist/utils/zod-schema-converter.d.ts.map +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +16 -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.ts +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 → filesystem}/types.cjs +0 -0
- /package/dist/{storage/backend → filesystem}/types.js +0 -0
- /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
- /package/dist/{tools/confirmation → memory}/types.js +0 -0
- /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
- /package/dist/{storage/backend/database-backend.js → process/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;
|
|
@@ -62,8 +33,14 @@ interface SessionData {
|
|
|
62
33
|
* - Cleaning up expired sessions
|
|
63
34
|
* - Providing session lifecycle management
|
|
64
35
|
* - Persisting session data using the simplified storage backends
|
|
36
|
+
*
|
|
37
|
+
* TODO (Telemetry): Add OpenTelemetry metrics collection later if needed
|
|
38
|
+
* - Active session gauges (current count)
|
|
39
|
+
* - Session creation/deletion counters
|
|
40
|
+
* - Session duration histograms
|
|
41
|
+
* - Messages per session histograms
|
|
65
42
|
*/
|
|
66
|
-
declare class SessionManager {
|
|
43
|
+
export declare class SessionManager {
|
|
67
44
|
private services;
|
|
68
45
|
private sessions;
|
|
69
46
|
private readonly maxSessions;
|
|
@@ -74,10 +51,13 @@ declare class SessionManager {
|
|
|
74
51
|
private readonly pendingCreations;
|
|
75
52
|
constructor(services: {
|
|
76
53
|
stateManager: AgentStateManager;
|
|
77
|
-
|
|
54
|
+
systemPromptManager: SystemPromptManager;
|
|
78
55
|
toolManager: ToolManager;
|
|
79
56
|
agentEventBus: AgentEventBus;
|
|
80
|
-
|
|
57
|
+
storageManager: StorageManager;
|
|
58
|
+
resourceManager: import('../resources/index.js').ResourceManager;
|
|
59
|
+
pluginManager: PluginManager;
|
|
60
|
+
mcpManager: import('../mcp/manager.js').MCPManager;
|
|
81
61
|
}, config?: SessionManagerConfig);
|
|
82
62
|
/**
|
|
83
63
|
* Initialize the SessionManager with persistent storage.
|
|
@@ -167,6 +147,17 @@ declare class SessionManager {
|
|
|
167
147
|
* Increments the message count for a session.
|
|
168
148
|
*/
|
|
169
149
|
incrementMessageCount(sessionId: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Sets the human-friendly title for a session.
|
|
152
|
+
* Title is stored in session metadata and cached with TTL.
|
|
153
|
+
*/
|
|
154
|
+
setSessionTitle(sessionId: string, title: string, opts?: {
|
|
155
|
+
ifUnsetOnly?: boolean;
|
|
156
|
+
}): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Gets the stored title for a session, if any.
|
|
159
|
+
*/
|
|
160
|
+
getSessionTitle(sessionId: string): Promise<string | undefined>;
|
|
170
161
|
/**
|
|
171
162
|
* Cleans up expired sessions from memory only, preserving chat history in storage.
|
|
172
163
|
* This allows inactive sessions to be garbage collected while keeping conversations restorable.
|
|
@@ -215,5 +206,4 @@ declare class SessionManager {
|
|
|
215
206
|
*/
|
|
216
207
|
cleanup(): Promise<void>;
|
|
217
208
|
}
|
|
218
|
-
|
|
219
|
-
export { type SessionData, SessionManager, type SessionManagerConfig, type SessionMetadata };
|
|
209
|
+
//# 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":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IAWnB,OAAO,CAAC,QAAQ;IAVpB,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,qBAAqB,CAAiB;IAE9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;gBAGhE,QAAQ,EAAE;QACd,YAAY,EAAE,iBAAiB,CAAC;QAChC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,aAAa,CAAC;QAC7B,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,OAAO,uBAAuB,EAAE,eAAe,CAAC;QACjE,aAAa,EAAE,aAAa,CAAC;QAC7B,UAAU,EAAE,OAAO,mBAAmB,EAAE,UAAU,CAAC;KACtD,EACD,MAAM,GAAE,oBAAyB;IAMrC;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBlC;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;YACW,iBAAiB;IAS/B;;;;;;OAMG;IACU,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BpE;;;OAGG;YACW,qBAAqB;IAsEnC;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAKtD;;;;;;OAMG;IACU,UAAU,CACnB,SAAS,EAAE,MAAM,EACjB,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAkCnC;;;;;OAKG;IACU,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzD;;;;;OAKG;IACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D;;;;;OAKG;IACU,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3D;;;;OAIG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM9C;;;;;OAKG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAgBxF;;OAEG;IACI,SAAS,IAAI,oBAAoB;IAOxC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;IACU,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpE;;;OAGG;IACU,eAAe,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACrC,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS5E;;;OAGG;YACW,sBAAsB;IAoCpC;;;;OAIG;IACU,uBAAuB,CAChC,YAAY,EAAE,kBAAkB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA6CnD;;;;;OAKG;IACU,2BAA2B,CACpC,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoBnD;;;;OAIG;IACU,0BAA0B,CACnC,YAAY,EAAE,kBAAkB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiBnD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IAcF;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BxC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { randomUUID } from "crypto";
|
|
2
3
|
import { ChatSession } from "./chat-session.js";
|
|
3
4
|
import { logger } from "../logger/index.js";
|
|
@@ -43,18 +44,18 @@ class SessionManager {
|
|
|
43
44
|
*/
|
|
44
45
|
async restoreSessionsFromStorage() {
|
|
45
46
|
try {
|
|
46
|
-
const sessionKeys = await this.services.
|
|
47
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
47
48
|
logger.debug(`Found ${sessionKeys.length} persisted sessions to restore`);
|
|
48
49
|
for (const sessionKey of sessionKeys) {
|
|
49
50
|
const sessionId = sessionKey.replace("session:", "");
|
|
50
|
-
const sessionData = await this.services.
|
|
51
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
51
52
|
if (sessionData) {
|
|
52
53
|
const now = Date.now();
|
|
53
54
|
const lastActivity = sessionData.lastActivity;
|
|
54
55
|
if (now - lastActivity <= this.sessionTTL) {
|
|
55
56
|
logger.debug(`Session ${sessionId} restored from storage`);
|
|
56
57
|
} else {
|
|
57
|
-
await this.services.
|
|
58
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
58
59
|
logger.debug(`Expired session ${sessionId} cleaned up during restore`);
|
|
59
60
|
}
|
|
60
61
|
}
|
|
@@ -109,16 +110,16 @@ class SessionManager {
|
|
|
109
110
|
async createSessionInternal(id) {
|
|
110
111
|
await this.cleanupExpiredSessions();
|
|
111
112
|
const sessionKey = `session:${id}`;
|
|
112
|
-
const existingMetadata = await this.services.
|
|
113
|
+
const existingMetadata = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
113
114
|
if (existingMetadata) {
|
|
114
115
|
await this.updateSessionActivity(id);
|
|
115
|
-
const session2 = new ChatSession(this.services, id);
|
|
116
|
+
const session2 = new ChatSession({ ...this.services, sessionManager: this }, id);
|
|
116
117
|
await session2.init();
|
|
117
118
|
this.sessions.set(id, session2);
|
|
118
119
|
logger.info(`Restored session from storage: ${id}`, null, "cyan");
|
|
119
120
|
return session2;
|
|
120
121
|
}
|
|
121
|
-
const activeSessionKeys = await this.services.
|
|
122
|
+
const activeSessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
122
123
|
if (activeSessionKeys.length >= this.maxSessions) {
|
|
123
124
|
throw SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
|
|
124
125
|
}
|
|
@@ -129,25 +130,25 @@ class SessionManager {
|
|
|
129
130
|
messageCount: 0
|
|
130
131
|
};
|
|
131
132
|
try {
|
|
132
|
-
await this.services.
|
|
133
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
133
134
|
} catch (error) {
|
|
134
135
|
logger.error(`Failed to store session metadata for ${id}:`, error);
|
|
135
136
|
throw error;
|
|
136
137
|
}
|
|
137
138
|
let session;
|
|
138
139
|
try {
|
|
139
|
-
session = new ChatSession(this.services, id);
|
|
140
|
+
session = new ChatSession({ ...this.services, sessionManager: this }, id);
|
|
140
141
|
await session.init();
|
|
141
142
|
this.sessions.set(id, session);
|
|
142
|
-
await this.services.
|
|
143
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
143
144
|
logger.info(`Created new session: ${id}`, null, "green");
|
|
144
145
|
return session;
|
|
145
146
|
} catch (error) {
|
|
146
147
|
logger.error(
|
|
147
148
|
`Failed to initialize session ${id}: ${error instanceof Error ? error.message : String(error)}`
|
|
148
149
|
);
|
|
149
|
-
await this.services.
|
|
150
|
-
await this.services.
|
|
150
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
151
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
151
152
|
const reason = error instanceof Error ? error.message : "unknown error";
|
|
152
153
|
throw SessionError.initializationFailed(id, reason);
|
|
153
154
|
}
|
|
@@ -179,9 +180,12 @@ class SessionManager {
|
|
|
179
180
|
}
|
|
180
181
|
if (restoreFromStorage) {
|
|
181
182
|
const sessionKey = `session:${sessionId}`;
|
|
182
|
-
const sessionData = await this.services.
|
|
183
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
183
184
|
if (sessionData) {
|
|
184
|
-
const session = new ChatSession(
|
|
185
|
+
const session = new ChatSession(
|
|
186
|
+
{ ...this.services, sessionManager: this },
|
|
187
|
+
sessionId
|
|
188
|
+
);
|
|
185
189
|
await session.init();
|
|
186
190
|
this.sessions.set(sessionId, session);
|
|
187
191
|
return session;
|
|
@@ -203,7 +207,7 @@ class SessionManager {
|
|
|
203
207
|
this.sessions.delete(sessionId);
|
|
204
208
|
}
|
|
205
209
|
const sessionKey = `session:${sessionId}`;
|
|
206
|
-
await this.services.
|
|
210
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
207
211
|
logger.debug(`Ended session (removed from memory, chat history preserved): ${sessionId}`);
|
|
208
212
|
}
|
|
209
213
|
/**
|
|
@@ -221,8 +225,8 @@ class SessionManager {
|
|
|
221
225
|
this.sessions.delete(sessionId);
|
|
222
226
|
}
|
|
223
227
|
const sessionKey = `session:${sessionId}`;
|
|
224
|
-
await this.services.
|
|
225
|
-
await this.services.
|
|
228
|
+
await this.services.storageManager.getDatabase().delete(sessionKey);
|
|
229
|
+
await this.services.storageManager.getCache().delete(sessionKey);
|
|
226
230
|
logger.debug(`Deleted session and conversation history: ${sessionId}`);
|
|
227
231
|
}
|
|
228
232
|
/**
|
|
@@ -239,12 +243,12 @@ class SessionManager {
|
|
|
239
243
|
}
|
|
240
244
|
await session.reset();
|
|
241
245
|
const sessionKey = `session:${sessionId}`;
|
|
242
|
-
const sessionData = await this.services.
|
|
246
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
243
247
|
if (sessionData) {
|
|
244
248
|
sessionData.messageCount = 0;
|
|
245
249
|
sessionData.lastActivity = Date.now();
|
|
246
|
-
await this.services.
|
|
247
|
-
await this.services.
|
|
250
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
251
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
248
252
|
}
|
|
249
253
|
logger.debug(`Reset session conversation: ${sessionId}`);
|
|
250
254
|
}
|
|
@@ -255,7 +259,7 @@ class SessionManager {
|
|
|
255
259
|
*/
|
|
256
260
|
async listSessions() {
|
|
257
261
|
await this.ensureInitialized();
|
|
258
|
-
const sessionKeys = await this.services.
|
|
262
|
+
const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
|
|
259
263
|
return sessionKeys.map((key) => key.replace("session:", ""));
|
|
260
264
|
}
|
|
261
265
|
/**
|
|
@@ -267,11 +271,12 @@ class SessionManager {
|
|
|
267
271
|
async getSessionMetadata(sessionId) {
|
|
268
272
|
await this.ensureInitialized();
|
|
269
273
|
const sessionKey = `session:${sessionId}`;
|
|
270
|
-
const sessionData = await this.services.
|
|
274
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
271
275
|
return sessionData ? {
|
|
272
276
|
createdAt: sessionData.createdAt,
|
|
273
277
|
lastActivity: sessionData.lastActivity,
|
|
274
|
-
messageCount: sessionData.messageCount
|
|
278
|
+
messageCount: sessionData.messageCount,
|
|
279
|
+
title: sessionData.metadata?.title
|
|
275
280
|
} : void 0;
|
|
276
281
|
}
|
|
277
282
|
/**
|
|
@@ -288,11 +293,11 @@ class SessionManager {
|
|
|
288
293
|
*/
|
|
289
294
|
async updateSessionActivity(sessionId) {
|
|
290
295
|
const sessionKey = `session:${sessionId}`;
|
|
291
|
-
const sessionData = await this.services.
|
|
296
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
292
297
|
if (sessionData) {
|
|
293
298
|
sessionData.lastActivity = Date.now();
|
|
294
|
-
await this.services.
|
|
295
|
-
await this.services.
|
|
299
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
300
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
296
301
|
}
|
|
297
302
|
}
|
|
298
303
|
/**
|
|
@@ -301,13 +306,43 @@ class SessionManager {
|
|
|
301
306
|
async incrementMessageCount(sessionId) {
|
|
302
307
|
await this.ensureInitialized();
|
|
303
308
|
const sessionKey = `session:${sessionId}`;
|
|
304
|
-
const sessionData = await this.services.
|
|
309
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
305
310
|
if (sessionData) {
|
|
306
311
|
sessionData.messageCount++;
|
|
307
312
|
sessionData.lastActivity = Date.now();
|
|
308
|
-
await this.services.
|
|
309
|
-
await this.services.
|
|
313
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
314
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Sets the human-friendly title for a session.
|
|
319
|
+
* Title is stored in session metadata and cached with TTL.
|
|
320
|
+
*/
|
|
321
|
+
async setSessionTitle(sessionId, title, opts = {}) {
|
|
322
|
+
await this.ensureInitialized();
|
|
323
|
+
const sessionKey = `session:${sessionId}`;
|
|
324
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
325
|
+
if (!sessionData) {
|
|
326
|
+
throw SessionError.notFound(sessionId);
|
|
310
327
|
}
|
|
328
|
+
const normalized = title.trim().slice(0, 80);
|
|
329
|
+
if (opts.ifUnsetOnly && sessionData.metadata?.title) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
sessionData.metadata = sessionData.metadata || {};
|
|
333
|
+
sessionData.metadata.title = normalized;
|
|
334
|
+
sessionData.lastActivity = Date.now();
|
|
335
|
+
await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
|
|
336
|
+
await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Gets the stored title for a session, if any.
|
|
340
|
+
*/
|
|
341
|
+
async getSessionTitle(sessionId) {
|
|
342
|
+
await this.ensureInitialized();
|
|
343
|
+
const sessionKey = `session:${sessionId}`;
|
|
344
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
345
|
+
return sessionData?.metadata?.title;
|
|
311
346
|
}
|
|
312
347
|
/**
|
|
313
348
|
* Cleans up expired sessions from memory only, preserving chat history in storage.
|
|
@@ -318,7 +353,7 @@ class SessionManager {
|
|
|
318
353
|
const expiredSessions = [];
|
|
319
354
|
for (const [sessionId, _session] of this.sessions.entries()) {
|
|
320
355
|
const sessionKey = `session:${sessionId}`;
|
|
321
|
-
const sessionData = await this.services.
|
|
356
|
+
const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
|
|
322
357
|
if (sessionData && now - sessionData.lastActivity > this.sessionTTL) {
|
|
323
358
|
expiredSessions.push(sessionId);
|
|
324
359
|
}
|