@dexto/core 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +164 -64
- package/dist/agent/schemas.d.ts +2605 -517
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +167 -64
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.d.ts +6 -6
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/prompt-manager.cjs +25 -18
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -18
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/file-prompt-provider.cjs +14 -12
- package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/file-prompt-provider.js +14 -12
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/providers/starter-prompt-provider.cjs +7 -5
- package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/starter-prompt-provider.js +7 -5
- package/dist/prompts/schemas.d.ts +3 -3
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/manager.cjs +11 -8
- package/dist/systemPrompt/manager.d.ts +4 -2
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +11 -8
- package/dist/systemPrompt/schemas.cjs +21 -1
- package/dist/systemPrompt/schemas.d.ts +53 -53
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +11 -1
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +87 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +69 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
|
@@ -33,9 +33,7 @@ __export(sqlite_store_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(sqlite_store_exports);
|
|
34
34
|
var import_path = require("path");
|
|
35
35
|
var import_fs = require("fs");
|
|
36
|
-
var
|
|
37
|
-
var import_path2 = require("../../utils/path.js");
|
|
38
|
-
var path = __toESM(require("path"), 1);
|
|
36
|
+
var import_types = require("../../logger/v2/types.js");
|
|
39
37
|
var import_errors = require("../errors.js");
|
|
40
38
|
let BetterSqlite3Database;
|
|
41
39
|
class SQLiteStore {
|
|
@@ -43,36 +41,14 @@ class SQLiteStore {
|
|
|
43
41
|
// Database.Database
|
|
44
42
|
dbPath;
|
|
45
43
|
config;
|
|
46
|
-
|
|
47
|
-
constructor(config,
|
|
44
|
+
logger;
|
|
45
|
+
constructor(config, logger) {
|
|
48
46
|
this.config = config;
|
|
49
|
-
if (agentId) {
|
|
50
|
-
const trimmed = agentId.trim();
|
|
51
|
-
if (!trimmed) {
|
|
52
|
-
throw import_errors.StorageError.databaseInvalidConfig(
|
|
53
|
-
"agentId cannot be empty or whitespace-only"
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
57
|
-
throw import_errors.StorageError.databaseInvalidConfig(
|
|
58
|
-
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
this.agentId = trimmed;
|
|
62
|
-
} else {
|
|
63
|
-
this.agentId = agentId;
|
|
64
|
-
}
|
|
65
47
|
this.dbPath = "";
|
|
66
|
-
|
|
67
|
-
resolveDefaultPath(dbName) {
|
|
68
|
-
const storageDir = (0, import_path2.getDextoPath)("database");
|
|
69
|
-
const finalPath = path.join(storageDir, dbName);
|
|
70
|
-
import_logger.logger.info(`SQLite storage directory: ${storageDir}`);
|
|
71
|
-
import_logger.logger.debug(`SQLite database file: ${finalPath}`);
|
|
72
|
-
return finalPath;
|
|
48
|
+
this.logger = logger.createChild(import_types.DextoLogComponent.STORAGE);
|
|
73
49
|
}
|
|
74
50
|
initializeTables() {
|
|
75
|
-
|
|
51
|
+
this.logger.debug("SQLite initializing database schema...");
|
|
76
52
|
try {
|
|
77
53
|
this.db.exec(`
|
|
78
54
|
CREATE TABLE IF NOT EXISTS kv_store (
|
|
@@ -96,7 +72,7 @@ class SQLiteStore {
|
|
|
96
72
|
CREATE INDEX IF NOT EXISTS idx_list_store_key ON list_store(key);
|
|
97
73
|
CREATE INDEX IF NOT EXISTS idx_list_store_sequence ON list_store(key, sequence);
|
|
98
74
|
`);
|
|
99
|
-
|
|
75
|
+
this.logger.debug(
|
|
100
76
|
"SQLite database schema initialized: kv_store, list_store tables with indexes"
|
|
101
77
|
);
|
|
102
78
|
} catch (error) {
|
|
@@ -120,22 +96,17 @@ class SQLiteStore {
|
|
|
120
96
|
);
|
|
121
97
|
}
|
|
122
98
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
import_logger.logger.info(`SQLite using custom path: ${this.dbPath}`);
|
|
126
|
-
} else {
|
|
127
|
-
const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
|
|
128
|
-
this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
|
|
129
|
-
}
|
|
99
|
+
this.dbPath = this.config.path;
|
|
100
|
+
this.logger.info(`SQLite using database file: ${this.dbPath}`);
|
|
130
101
|
const dir = (0, import_path.dirname)(this.dbPath);
|
|
131
|
-
|
|
102
|
+
this.logger.debug(`SQLite ensuring directory exists: ${dir}`);
|
|
132
103
|
try {
|
|
133
104
|
(0, import_fs.mkdirSync)(dir, { recursive: true });
|
|
134
105
|
} catch (error) {
|
|
135
|
-
|
|
106
|
+
this.logger.debug(`Directory creation result: ${error ? "exists" : "created"}`);
|
|
136
107
|
}
|
|
137
108
|
const sqliteOptions = this.config.options || {};
|
|
138
|
-
|
|
109
|
+
this.logger.debug(`SQLite initializing database with config:`, {
|
|
139
110
|
readonly: sqliteOptions.readonly || false,
|
|
140
111
|
fileMustExist: sqliteOptions.fileMustExist || false,
|
|
141
112
|
timeout: sqliteOptions.timeout || 5e3
|
|
@@ -145,16 +116,17 @@ class SQLiteStore {
|
|
|
145
116
|
fileMustExist: sqliteOptions.fileMustExist || false,
|
|
146
117
|
timeout: sqliteOptions.timeout || 5e3,
|
|
147
118
|
verbose: sqliteOptions.verbose ? (message, ...additionalArgs) => {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
119
|
+
const messageStr = typeof message === "string" ? message : typeof message === "object" && message !== null ? JSON.stringify(message) : String(message);
|
|
120
|
+
this.logger.debug(
|
|
121
|
+
messageStr,
|
|
122
|
+
additionalArgs.length > 0 ? { args: additionalArgs } : void 0
|
|
151
123
|
);
|
|
152
124
|
} : void 0
|
|
153
125
|
});
|
|
154
126
|
this.db.pragma("journal_mode = WAL");
|
|
155
|
-
|
|
127
|
+
this.logger.debug("SQLite enabled WAL mode for better concurrency");
|
|
156
128
|
this.initializeTables();
|
|
157
|
-
|
|
129
|
+
this.logger.info(`\u2705 SQLite store successfully connected to: ${this.dbPath}`);
|
|
158
130
|
}
|
|
159
131
|
async disconnect() {
|
|
160
132
|
if (this.db) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Database } from './types.js';
|
|
2
|
+
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
2
3
|
import type { SqliteDatabaseConfig } from './schemas.js';
|
|
3
4
|
/**
|
|
4
5
|
* SQLite database store for local development and production.
|
|
@@ -8,9 +9,8 @@ export declare class SQLiteStore implements Database {
|
|
|
8
9
|
private db;
|
|
9
10
|
private dbPath;
|
|
10
11
|
private config;
|
|
11
|
-
private
|
|
12
|
-
constructor(config: SqliteDatabaseConfig,
|
|
13
|
-
private resolveDefaultPath;
|
|
12
|
+
private logger;
|
|
13
|
+
constructor(config: SqliteDatabaseConfig, logger: IDextoLogger);
|
|
14
14
|
private initializeTables;
|
|
15
15
|
connect(): Promise<void>;
|
|
16
16
|
disconnect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMzD;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAO9D,OAAO,CAAC,gBAAgB;IA8ClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAKhB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BvC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqB1E,OAAO,CAAC,eAAe;IAOjB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,QAAQ,IAAI,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CAqBL"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import "../../chunk-C6A6W6XS.js";
|
|
2
2
|
import { dirname } from "path";
|
|
3
3
|
import { mkdirSync } from "fs";
|
|
4
|
-
import {
|
|
5
|
-
import { getDextoPath } from "../../utils/path.js";
|
|
6
|
-
import * as path from "path";
|
|
4
|
+
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
7
5
|
import { StorageError } from "../errors.js";
|
|
8
6
|
let BetterSqlite3Database;
|
|
9
7
|
class SQLiteStore {
|
|
@@ -11,36 +9,14 @@ class SQLiteStore {
|
|
|
11
9
|
// Database.Database
|
|
12
10
|
dbPath;
|
|
13
11
|
config;
|
|
14
|
-
|
|
15
|
-
constructor(config,
|
|
12
|
+
logger;
|
|
13
|
+
constructor(config, logger) {
|
|
16
14
|
this.config = config;
|
|
17
|
-
if (agentId) {
|
|
18
|
-
const trimmed = agentId.trim();
|
|
19
|
-
if (!trimmed) {
|
|
20
|
-
throw StorageError.databaseInvalidConfig(
|
|
21
|
-
"agentId cannot be empty or whitespace-only"
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
25
|
-
throw StorageError.databaseInvalidConfig(
|
|
26
|
-
"agentId must contain only alphanumeric characters, hyphens, and underscores"
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
this.agentId = trimmed;
|
|
30
|
-
} else {
|
|
31
|
-
this.agentId = agentId;
|
|
32
|
-
}
|
|
33
15
|
this.dbPath = "";
|
|
34
|
-
|
|
35
|
-
resolveDefaultPath(dbName) {
|
|
36
|
-
const storageDir = getDextoPath("database");
|
|
37
|
-
const finalPath = path.join(storageDir, dbName);
|
|
38
|
-
logger.info(`SQLite storage directory: ${storageDir}`);
|
|
39
|
-
logger.debug(`SQLite database file: ${finalPath}`);
|
|
40
|
-
return finalPath;
|
|
16
|
+
this.logger = logger.createChild(DextoLogComponent.STORAGE);
|
|
41
17
|
}
|
|
42
18
|
initializeTables() {
|
|
43
|
-
logger.debug("SQLite initializing database schema...");
|
|
19
|
+
this.logger.debug("SQLite initializing database schema...");
|
|
44
20
|
try {
|
|
45
21
|
this.db.exec(`
|
|
46
22
|
CREATE TABLE IF NOT EXISTS kv_store (
|
|
@@ -64,7 +40,7 @@ class SQLiteStore {
|
|
|
64
40
|
CREATE INDEX IF NOT EXISTS idx_list_store_key ON list_store(key);
|
|
65
41
|
CREATE INDEX IF NOT EXISTS idx_list_store_sequence ON list_store(key, sequence);
|
|
66
42
|
`);
|
|
67
|
-
logger.debug(
|
|
43
|
+
this.logger.debug(
|
|
68
44
|
"SQLite database schema initialized: kv_store, list_store tables with indexes"
|
|
69
45
|
);
|
|
70
46
|
} catch (error) {
|
|
@@ -88,22 +64,17 @@ class SQLiteStore {
|
|
|
88
64
|
);
|
|
89
65
|
}
|
|
90
66
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
logger.info(`SQLite using custom path: ${this.dbPath}`);
|
|
94
|
-
} else {
|
|
95
|
-
const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
|
|
96
|
-
this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
|
|
97
|
-
}
|
|
67
|
+
this.dbPath = this.config.path;
|
|
68
|
+
this.logger.info(`SQLite using database file: ${this.dbPath}`);
|
|
98
69
|
const dir = dirname(this.dbPath);
|
|
99
|
-
logger.debug(`SQLite ensuring directory exists: ${dir}`);
|
|
70
|
+
this.logger.debug(`SQLite ensuring directory exists: ${dir}`);
|
|
100
71
|
try {
|
|
101
72
|
mkdirSync(dir, { recursive: true });
|
|
102
73
|
} catch (error) {
|
|
103
|
-
logger.debug(`Directory creation result: ${error ? "exists" : "created"}`);
|
|
74
|
+
this.logger.debug(`Directory creation result: ${error ? "exists" : "created"}`);
|
|
104
75
|
}
|
|
105
76
|
const sqliteOptions = this.config.options || {};
|
|
106
|
-
logger.debug(`SQLite initializing database with config:`, {
|
|
77
|
+
this.logger.debug(`SQLite initializing database with config:`, {
|
|
107
78
|
readonly: sqliteOptions.readonly || false,
|
|
108
79
|
fileMustExist: sqliteOptions.fileMustExist || false,
|
|
109
80
|
timeout: sqliteOptions.timeout || 5e3
|
|
@@ -113,16 +84,17 @@ class SQLiteStore {
|
|
|
113
84
|
fileMustExist: sqliteOptions.fileMustExist || false,
|
|
114
85
|
timeout: sqliteOptions.timeout || 5e3,
|
|
115
86
|
verbose: sqliteOptions.verbose ? (message, ...additionalArgs) => {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
87
|
+
const messageStr = typeof message === "string" ? message : typeof message === "object" && message !== null ? JSON.stringify(message) : String(message);
|
|
88
|
+
this.logger.debug(
|
|
89
|
+
messageStr,
|
|
90
|
+
additionalArgs.length > 0 ? { args: additionalArgs } : void 0
|
|
119
91
|
);
|
|
120
92
|
} : void 0
|
|
121
93
|
});
|
|
122
94
|
this.db.pragma("journal_mode = WAL");
|
|
123
|
-
logger.debug("SQLite enabled WAL mode for better concurrency");
|
|
95
|
+
this.logger.debug("SQLite enabled WAL mode for better concurrency");
|
|
124
96
|
this.initializeTables();
|
|
125
|
-
logger.info(`\u2705 SQLite store successfully connected to: ${this.dbPath}`);
|
|
97
|
+
this.logger.info(`\u2705 SQLite store successfully connected to: ${this.dbPath}`);
|
|
126
98
|
}
|
|
127
99
|
async disconnect() {
|
|
128
100
|
if (this.db) {
|
package/dist/storage/schemas.cjs
CHANGED
|
@@ -37,7 +37,9 @@ var import_schemas6 = require("./blob/schemas.js");
|
|
|
37
37
|
const StorageSchema = import_zod.z.object({
|
|
38
38
|
cache: import_schemas4.CacheConfigSchema.describe("Cache configuration (fast, ephemeral)"),
|
|
39
39
|
database: import_schemas5.DatabaseConfigSchema.describe("Database configuration (persistent, reliable)"),
|
|
40
|
-
blob: import_schemas6.BlobStoreConfigSchema.
|
|
40
|
+
blob: import_schemas6.BlobStoreConfigSchema.describe(
|
|
41
|
+
"Blob store configuration (for large, unstructured data)"
|
|
42
|
+
)
|
|
41
43
|
}).strict().describe("Storage configuration with cache, database, and blob store").brand();
|
|
42
44
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
45
|
0 && (module.exports = {
|
|
@@ -121,24 +121,21 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
121
121
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
122
122
|
} & {
|
|
123
123
|
type: z.ZodLiteral<"sqlite">;
|
|
124
|
-
path: z.
|
|
125
|
-
database: z.ZodOptional<z.ZodString>;
|
|
124
|
+
path: z.ZodString;
|
|
126
125
|
}, "strict", z.ZodTypeAny, {
|
|
126
|
+
path: string;
|
|
127
127
|
type: "sqlite";
|
|
128
|
-
path?: string | undefined;
|
|
129
128
|
options?: Record<string, any> | undefined;
|
|
130
129
|
maxConnections?: number | undefined;
|
|
131
130
|
idleTimeoutMillis?: number | undefined;
|
|
132
131
|
connectionTimeoutMillis?: number | undefined;
|
|
133
|
-
database?: string | undefined;
|
|
134
132
|
}, {
|
|
133
|
+
path: string;
|
|
135
134
|
type: "sqlite";
|
|
136
|
-
path?: string | undefined;
|
|
137
135
|
options?: Record<string, any> | undefined;
|
|
138
136
|
maxConnections?: number | undefined;
|
|
139
137
|
idleTimeoutMillis?: number | undefined;
|
|
140
138
|
connectionTimeoutMillis?: number | undefined;
|
|
141
|
-
database?: string | undefined;
|
|
142
139
|
}>, z.ZodObject<{
|
|
143
140
|
maxConnections: z.ZodOptional<z.ZodNumber>;
|
|
144
141
|
idleTimeoutMillis: z.ZodOptional<z.ZodNumber>;
|
|
@@ -183,13 +180,12 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
183
180
|
idleTimeoutMillis?: number | undefined;
|
|
184
181
|
connectionTimeoutMillis?: number | undefined;
|
|
185
182
|
} | {
|
|
183
|
+
path: string;
|
|
186
184
|
type: "sqlite";
|
|
187
|
-
path?: string | undefined;
|
|
188
185
|
options?: Record<string, any> | undefined;
|
|
189
186
|
maxConnections?: number | undefined;
|
|
190
187
|
idleTimeoutMillis?: number | undefined;
|
|
191
188
|
connectionTimeoutMillis?: number | undefined;
|
|
192
|
-
database?: string | undefined;
|
|
193
189
|
} | {
|
|
194
190
|
type: "postgres";
|
|
195
191
|
password?: string | undefined;
|
|
@@ -209,13 +205,12 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
209
205
|
idleTimeoutMillis?: number | undefined;
|
|
210
206
|
connectionTimeoutMillis?: number | undefined;
|
|
211
207
|
} | {
|
|
208
|
+
path: string;
|
|
212
209
|
type: "sqlite";
|
|
213
|
-
path?: string | undefined;
|
|
214
210
|
options?: Record<string, any> | undefined;
|
|
215
211
|
maxConnections?: number | undefined;
|
|
216
212
|
idleTimeoutMillis?: number | undefined;
|
|
217
213
|
connectionTimeoutMillis?: number | undefined;
|
|
218
|
-
database?: string | undefined;
|
|
219
214
|
} | {
|
|
220
215
|
type: "postgres";
|
|
221
216
|
password?: string | undefined;
|
|
@@ -229,7 +224,7 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
229
224
|
database?: string | undefined;
|
|
230
225
|
connectionString?: string | undefined;
|
|
231
226
|
}>;
|
|
232
|
-
blob: z.
|
|
227
|
+
blob: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
233
228
|
type: z.ZodLiteral<"in-memory">;
|
|
234
229
|
maxBlobSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
235
230
|
maxTotalSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
@@ -243,7 +238,7 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
243
238
|
maxTotalSize?: number | undefined;
|
|
244
239
|
}>, z.ZodObject<{
|
|
245
240
|
type: z.ZodLiteral<"local">;
|
|
246
|
-
storePath: z.
|
|
241
|
+
storePath: z.ZodString;
|
|
247
242
|
maxBlobSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
248
243
|
maxTotalSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
249
244
|
cleanupAfterDays: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
@@ -251,15 +246,15 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
251
246
|
type: "local";
|
|
252
247
|
maxBlobSize: number;
|
|
253
248
|
maxTotalSize: number;
|
|
249
|
+
storePath: string;
|
|
254
250
|
cleanupAfterDays: number;
|
|
255
|
-
storePath?: string | undefined;
|
|
256
251
|
}, {
|
|
257
252
|
type: "local";
|
|
253
|
+
storePath: string;
|
|
258
254
|
maxBlobSize?: number | undefined;
|
|
259
255
|
maxTotalSize?: number | undefined;
|
|
260
|
-
storePath?: string | undefined;
|
|
261
256
|
cleanupAfterDays?: number | undefined;
|
|
262
|
-
}>]
|
|
257
|
+
}>]>;
|
|
263
258
|
}, "strict", z.ZodTypeAny, {
|
|
264
259
|
database: {
|
|
265
260
|
type: "in-memory";
|
|
@@ -268,13 +263,12 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
268
263
|
idleTimeoutMillis?: number | undefined;
|
|
269
264
|
connectionTimeoutMillis?: number | undefined;
|
|
270
265
|
} | {
|
|
266
|
+
path: string;
|
|
271
267
|
type: "sqlite";
|
|
272
|
-
path?: string | undefined;
|
|
273
268
|
options?: Record<string, any> | undefined;
|
|
274
269
|
maxConnections?: number | undefined;
|
|
275
270
|
idleTimeoutMillis?: number | undefined;
|
|
276
271
|
connectionTimeoutMillis?: number | undefined;
|
|
277
|
-
database?: string | undefined;
|
|
278
272
|
} | {
|
|
279
273
|
type: "postgres";
|
|
280
274
|
password?: string | undefined;
|
|
@@ -314,8 +308,8 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
314
308
|
type: "local";
|
|
315
309
|
maxBlobSize: number;
|
|
316
310
|
maxTotalSize: number;
|
|
311
|
+
storePath: string;
|
|
317
312
|
cleanupAfterDays: number;
|
|
318
|
-
storePath?: string | undefined;
|
|
319
313
|
};
|
|
320
314
|
}, {
|
|
321
315
|
database: {
|
|
@@ -325,13 +319,12 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
325
319
|
idleTimeoutMillis?: number | undefined;
|
|
326
320
|
connectionTimeoutMillis?: number | undefined;
|
|
327
321
|
} | {
|
|
322
|
+
path: string;
|
|
328
323
|
type: "sqlite";
|
|
329
|
-
path?: string | undefined;
|
|
330
324
|
options?: Record<string, any> | undefined;
|
|
331
325
|
maxConnections?: number | undefined;
|
|
332
326
|
idleTimeoutMillis?: number | undefined;
|
|
333
327
|
connectionTimeoutMillis?: number | undefined;
|
|
334
|
-
database?: string | undefined;
|
|
335
328
|
} | {
|
|
336
329
|
type: "postgres";
|
|
337
330
|
password?: string | undefined;
|
|
@@ -363,17 +356,17 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
|
|
|
363
356
|
port?: number | undefined;
|
|
364
357
|
database?: number | undefined;
|
|
365
358
|
};
|
|
366
|
-
blob
|
|
359
|
+
blob: {
|
|
367
360
|
type: "in-memory";
|
|
368
361
|
maxBlobSize?: number | undefined;
|
|
369
362
|
maxTotalSize?: number | undefined;
|
|
370
363
|
} | {
|
|
371
364
|
type: "local";
|
|
365
|
+
storePath: string;
|
|
372
366
|
maxBlobSize?: number | undefined;
|
|
373
367
|
maxTotalSize?: number | undefined;
|
|
374
|
-
storePath?: string | undefined;
|
|
375
368
|
cleanupAfterDays?: number | undefined;
|
|
376
|
-
}
|
|
369
|
+
};
|
|
377
370
|
}>, "ValidatedStorageConfig">;
|
|
378
371
|
export type StorageConfig = z.input<typeof StorageSchema>;
|
|
379
372
|
export type ValidatedStorageConfig = z.output<typeof StorageSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/storage/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/storage/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAUY,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
package/dist/storage/schemas.js
CHANGED
|
@@ -18,7 +18,9 @@ import { BlobStoreConfigSchema as BlobStoreConfigSchema2 } from "./blob/schemas.
|
|
|
18
18
|
const StorageSchema = z.object({
|
|
19
19
|
cache: CacheConfigSchema2.describe("Cache configuration (fast, ephemeral)"),
|
|
20
20
|
database: DatabaseConfigSchema2.describe("Database configuration (persistent, reliable)"),
|
|
21
|
-
blob: BlobStoreConfigSchema2.
|
|
21
|
+
blob: BlobStoreConfigSchema2.describe(
|
|
22
|
+
"Blob store configuration (for large, unstructured data)"
|
|
23
|
+
)
|
|
22
24
|
}).strict().describe("Storage configuration with cache, database, and blob store").brand();
|
|
23
25
|
export {
|
|
24
26
|
BLOB_STORE_TYPES,
|
|
@@ -26,7 +26,7 @@ var import_factory = require("./cache/factory.js");
|
|
|
26
26
|
var import_factory2 = require("./database/factory.js");
|
|
27
27
|
var import_factory3 = require("./blob/factory.js");
|
|
28
28
|
var import_errors = require("./errors.js");
|
|
29
|
-
var
|
|
29
|
+
var import_types = require("../logger/v2/types.js");
|
|
30
30
|
const HEALTH_CHECK_KEY = "storage_manager_health_check";
|
|
31
31
|
class StorageManager {
|
|
32
32
|
config;
|
|
@@ -35,10 +35,10 @@ class StorageManager {
|
|
|
35
35
|
blobStore;
|
|
36
36
|
initialized = false;
|
|
37
37
|
connected = false;
|
|
38
|
-
|
|
39
|
-
constructor(config,
|
|
38
|
+
logger;
|
|
39
|
+
constructor(config, logger) {
|
|
40
40
|
this.config = config;
|
|
41
|
-
this.
|
|
41
|
+
this.logger = logger.createChild(import_types.DextoLogComponent.STORAGE);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Initialize storage instances without connecting.
|
|
@@ -48,9 +48,9 @@ class StorageManager {
|
|
|
48
48
|
if (this.initialized) {
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
this.cache = await (0, import_factory.createCache)(this.config.cache);
|
|
52
|
-
this.database = await (0, import_factory2.createDatabase)(this.config.database, this.
|
|
53
|
-
this.blobStore = (0, import_factory3.createBlobStore)(this.config.blob, this.
|
|
51
|
+
this.cache = await (0, import_factory.createCache)(this.config.cache, this.logger);
|
|
52
|
+
this.database = await (0, import_factory2.createDatabase)(this.config.database, this.logger);
|
|
53
|
+
this.blobStore = (0, import_factory3.createBlobStore)(this.config.blob, this.logger);
|
|
54
54
|
this.initialized = true;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
@@ -74,7 +74,7 @@ class StorageManager {
|
|
|
74
74
|
connected.push("blob");
|
|
75
75
|
this.connected = true;
|
|
76
76
|
} catch (error) {
|
|
77
|
-
|
|
77
|
+
this.logger.warn(
|
|
78
78
|
`Storage connection failed, rolling back ${connected.length} connected stores`
|
|
79
79
|
);
|
|
80
80
|
for (const store of connected.reverse()) {
|
|
@@ -83,7 +83,7 @@ class StorageManager {
|
|
|
83
83
|
else if (store === "database") await this.database.disconnect();
|
|
84
84
|
else if (store === "blob") await this.blobStore.disconnect();
|
|
85
85
|
} catch (disconnectError) {
|
|
86
|
-
|
|
86
|
+
this.logger.error(
|
|
87
87
|
`Failed to rollback ${store} during connection failure: ${disconnectError}`
|
|
88
88
|
);
|
|
89
89
|
}
|
|
@@ -104,7 +104,7 @@ class StorageManager {
|
|
|
104
104
|
if (result.status === "rejected") {
|
|
105
105
|
const storeName = storeNames[index];
|
|
106
106
|
const error = result.reason;
|
|
107
|
-
|
|
107
|
+
this.logger.error(`Failed to disconnect ${storeName}: ${error}`);
|
|
108
108
|
errors.push(error instanceof Error ? error : new Error(String(error)));
|
|
109
109
|
}
|
|
110
110
|
});
|
|
@@ -185,7 +185,7 @@ class StorageManager {
|
|
|
185
185
|
await this.cache.delete(HEALTH_CHECK_KEY);
|
|
186
186
|
}
|
|
187
187
|
} catch (error) {
|
|
188
|
-
|
|
188
|
+
this.logger.warn(`Cache health check failed: ${error}`);
|
|
189
189
|
}
|
|
190
190
|
try {
|
|
191
191
|
if (this.database.isConnected()) {
|
|
@@ -195,14 +195,14 @@ class StorageManager {
|
|
|
195
195
|
await this.database.delete(HEALTH_CHECK_KEY);
|
|
196
196
|
}
|
|
197
197
|
} catch (error) {
|
|
198
|
-
|
|
198
|
+
this.logger.warn(`Database health check failed: ${error}`);
|
|
199
199
|
}
|
|
200
200
|
try {
|
|
201
201
|
if (this.blobStore.isConnected()) {
|
|
202
202
|
blobHealthy = this.blobStore.isConnected();
|
|
203
203
|
}
|
|
204
204
|
} catch (error) {
|
|
205
|
-
|
|
205
|
+
this.logger.warn(`Blob store health check failed: ${error}`);
|
|
206
206
|
}
|
|
207
207
|
return {
|
|
208
208
|
cache: cacheHealthy,
|
|
@@ -212,8 +212,8 @@ class StorageManager {
|
|
|
212
212
|
};
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
async function createStorageManager(config,
|
|
216
|
-
const manager = new StorageManager(config,
|
|
215
|
+
async function createStorageManager(config, logger) {
|
|
216
|
+
const manager = new StorageManager(config, logger);
|
|
217
217
|
await manager.initialize();
|
|
218
218
|
await manager.connect();
|
|
219
219
|
return manager;
|
|
@@ -2,6 +2,7 @@ import type { Cache } from './cache/types.js';
|
|
|
2
2
|
import type { Database } from './database/types.js';
|
|
3
3
|
import type { BlobStore } from './blob/types.js';
|
|
4
4
|
import type { ValidatedStorageConfig } from './schemas.js';
|
|
5
|
+
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Storage manager that initializes and manages storage backends.
|
|
7
8
|
* Handles cache, database, and blob backends with automatic fallbacks.
|
|
@@ -19,8 +20,8 @@ export declare class StorageManager {
|
|
|
19
20
|
private blobStore;
|
|
20
21
|
private initialized;
|
|
21
22
|
private connected;
|
|
22
|
-
private
|
|
23
|
-
constructor(config: ValidatedStorageConfig,
|
|
23
|
+
private logger;
|
|
24
|
+
constructor(config: ValidatedStorageConfig, logger: IDextoLogger);
|
|
24
25
|
/**
|
|
25
26
|
* Initialize storage instances without connecting.
|
|
26
27
|
* This allows configuration and inspection before establishing connections.
|
|
@@ -73,9 +74,8 @@ export declare class StorageManager {
|
|
|
73
74
|
/**
|
|
74
75
|
* Create and initialize a storage manager.
|
|
75
76
|
* This is a convenience helper that combines initialization and connection.
|
|
76
|
-
*
|
|
77
|
-
* @param config Storage configuration
|
|
78
|
-
* @param agentId Optional agent identifier for database naming (used for SQLite default filename)
|
|
77
|
+
* Per-agent paths are provided via CLI enrichment layer before this point.
|
|
78
|
+
* @param config Storage configuration with explicit paths
|
|
79
79
|
*/
|
|
80
|
-
export declare function createStorageManager(config: ValidatedStorageConfig,
|
|
80
|
+
export declare function createStorageManager(config: ValidatedStorageConfig, logger: IDextoLogger): Promise<StorageManager>;
|
|
81
81
|
//# sourceMappingURL=storage-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY;IAKhE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC,WAAW,IAAI,OAAO;IAStB;;;OAGG;IACH,QAAQ,IAAI,KAAK;IAOjB;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,YAAY,IAAI,SAAS;IAQnB,OAAO,IAAI,OAAO,CAAC;QACrB,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5C,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC3C,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;IAuBI,WAAW,IAAI,OAAO,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;CA+CL;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,CAKzB"}
|