@dexto/core 1.4.0 → 1.5.1
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 +36 -0
- package/dist/agent/DextoAgent.cjs +22 -3
- package/dist/agent/DextoAgent.d.ts +19 -2
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +23 -4
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +5 -1
- package/dist/agent/schemas.cjs +90 -71
- package/dist/agent/schemas.d.ts +5959 -96
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +87 -66
- package/dist/approval/manager.cjs +165 -1
- package/dist/approval/manager.d.ts +91 -2
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +155 -1
- package/dist/approval/schemas.cjs +39 -3
- package/dist/approval/schemas.d.ts +238 -1
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +35 -3
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +26 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -0
- package/dist/context/compaction/factory.cjs +57 -0
- package/dist/context/compaction/factory.d.ts +17 -0
- package/dist/context/compaction/factory.d.ts.map +1 -0
- package/dist/context/compaction/factory.js +34 -0
- package/dist/context/compaction/index.cjs +49 -0
- package/dist/context/compaction/index.d.ts +11 -0
- package/dist/context/compaction/index.d.ts.map +1 -0
- package/dist/context/compaction/index.js +19 -0
- package/dist/context/{compression → compaction}/overflow.cjs +3 -3
- package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction}/overflow.js +2 -2
- package/dist/context/compaction/provider.cjs +16 -0
- package/dist/context/compaction/provider.d.ts +48 -0
- package/dist/context/compaction/provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.cjs +48 -0
- package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
- package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.js +24 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
- package/dist/context/compaction/registry.cjs +39 -0
- package/dist/context/compaction/registry.d.ts +19 -0
- package/dist/context/compaction/registry.d.ts.map +1 -0
- package/dist/context/compaction/registry.js +16 -0
- package/dist/context/compaction/schemas.cjs +38 -0
- package/dist/context/compaction/schemas.d.ts +24 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -0
- package/dist/context/compaction/schemas.js +14 -0
- package/dist/context/compaction/strategies/noop.cjs +36 -0
- package/dist/context/compaction/strategies/noop.d.ts +18 -0
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
- package/dist/context/compaction/strategies/noop.js +13 -0
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
- package/dist/context/{compression → compaction}/types.d.ts +4 -4
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/compaction/types.js +0 -0
- package/dist/context/error-codes.cjs +4 -0
- package/dist/context/error-codes.d.ts +4 -0
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +4 -0
- package/dist/context/errors.cjs +40 -0
- package/dist/context/errors.d.ts +14 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +40 -0
- package/dist/context/index.cjs +3 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -0
- package/dist/context/types.d.ts +6 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +27 -7
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +27 -7
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +2 -3
- package/dist/events/index.cjs +6 -3
- package/dist/events/index.d.ts +35 -19
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -3
- package/dist/filesystem/filesystem-service.cjs +39 -0
- package/dist/filesystem/filesystem-service.d.ts +32 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +39 -0
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/path-validator.cjs +69 -1
- package/dist/filesystem/path-validator.d.ts +43 -2
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +69 -1
- package/dist/image/define-image.cjs +146 -0
- package/dist/image/define-image.d.ts +71 -0
- package/dist/image/define-image.d.ts.map +1 -0
- package/dist/image/define-image.js +121 -0
- package/dist/image/index.cjs +32 -0
- package/dist/image/index.d.ts +53 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +7 -0
- package/dist/image/types.cjs +16 -0
- package/dist/image/types.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/llm/error-codes.cjs +1 -0
- package/dist/llm/error-codes.d.ts +1 -0
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.cjs +24 -0
- package/dist/llm/errors.d.ts +19 -6
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +24 -0
- package/dist/llm/executor/provider-options.cjs +87 -0
- package/dist/llm/executor/provider-options.d.ts +49 -0
- package/dist/llm/executor/provider-options.d.ts.map +1 -0
- package/dist/llm/executor/provider-options.js +63 -0
- package/dist/llm/executor/stream-processor.cjs +22 -11
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +22 -11
- package/dist/llm/executor/turn-executor.cjs +60 -23
- package/dist/llm/executor/turn-executor.d.ts +7 -5
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +60 -23
- package/dist/llm/formatters/vercel.cjs +15 -3
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +15 -3
- package/dist/llm/index.cjs +18 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +14 -0
- package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
- package/dist/llm/providers/local/downloader.cjs +291 -0
- package/dist/llm/providers/local/downloader.d.ts +82 -0
- package/dist/llm/providers/local/downloader.d.ts.map +1 -0
- package/dist/llm/providers/local/downloader.js +251 -0
- package/dist/llm/providers/local/error-codes.cjs +57 -0
- package/dist/llm/providers/local/error-codes.d.ts +66 -0
- package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
- package/dist/llm/providers/local/error-codes.js +34 -0
- package/dist/llm/providers/local/errors.cjs +240 -0
- package/dist/llm/providers/local/errors.d.ts +31 -0
- package/dist/llm/providers/local/errors.d.ts.map +1 -0
- package/dist/llm/providers/local/errors.js +217 -0
- package/dist/llm/providers/local/gpu-detector.cjs +214 -0
- package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
- package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
- package/dist/llm/providers/local/gpu-detector.js +178 -0
- package/dist/llm/providers/local/index.cjs +147 -0
- package/dist/llm/providers/local/index.d.ts +21 -0
- package/dist/llm/providers/local/index.d.ts.map +1 -0
- package/dist/llm/providers/local/index.js +126 -0
- package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/node-llama-provider.js +176 -0
- package/dist/llm/providers/local/ollama-provider.cjs +230 -0
- package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
- package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/ollama-provider.js +198 -0
- package/dist/llm/providers/local/registry.cjs +343 -0
- package/dist/llm/providers/local/registry.d.ts +51 -0
- package/dist/llm/providers/local/registry.d.ts.map +1 -0
- package/dist/llm/providers/local/registry.js +312 -0
- package/dist/llm/providers/local/schemas.cjs +169 -0
- package/dist/llm/providers/local/schemas.d.ts +395 -0
- package/dist/llm/providers/local/schemas.d.ts.map +1 -0
- package/dist/llm/providers/local/schemas.js +133 -0
- package/dist/llm/providers/local/types.cjs +16 -0
- package/dist/llm/providers/local/types.d.ts +219 -0
- package/dist/llm/providers/local/types.d.ts.map +1 -0
- package/dist/llm/providers/local/types.js +0 -0
- package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-model-registry.js +309 -0
- package/dist/llm/registry.cjs +604 -9
- package/dist/llm/registry.d.ts +35 -0
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +600 -9
- package/dist/llm/resolver.cjs +63 -5
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -6
- package/dist/llm/schemas.cjs +107 -81
- package/dist/llm/schemas.d.ts +181 -22
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +107 -81
- package/dist/llm/services/factory.cjs +87 -13
- package/dist/llm/services/factory.d.ts +4 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +85 -12
- package/dist/llm/services/test-utils.integration.cjs +22 -2
- package/dist/llm/services/test-utils.integration.d.ts +7 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +26 -3
- package/dist/llm/services/vercel.cjs +8 -3
- package/dist/llm/services/vercel.d.ts +3 -2
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +8 -3
- package/dist/llm/types.cjs +11 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +11 -1
- package/dist/logger/logger.cjs +7 -3
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +7 -3
- package/dist/mcp/manager.cjs +8 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +8 -0
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +0 -3
- package/dist/memory/schemas.d.ts +3 -3
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +3 -0
- package/dist/plugins/index.cjs +7 -0
- package/dist/plugins/index.d.ts +4 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +6 -1
- package/dist/plugins/manager.cjs +92 -7
- package/dist/plugins/manager.d.ts +10 -3
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +92 -7
- package/dist/plugins/registry.cjs +63 -0
- package/dist/plugins/registry.d.ts +101 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +39 -0
- package/dist/plugins/schemas.cjs +17 -5
- package/dist/plugins/schemas.d.ts +62 -5
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +15 -4
- package/dist/providers/base-registry.cjs +147 -0
- package/dist/providers/base-registry.d.ts +147 -0
- package/dist/providers/base-registry.d.ts.map +1 -0
- package/dist/providers/base-registry.js +123 -0
- package/dist/providers/discovery.cjs +109 -0
- package/dist/providers/discovery.d.ts +96 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +84 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +3 -3
- package/dist/session/chat-session.cjs +20 -3
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +21 -4
- package/dist/session/history/database.cjs +49 -15
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +49 -15
- package/dist/session/session-manager.cjs +2 -1
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +2 -1
- package/dist/storage/blob/factory.cjs +8 -11
- package/dist/storage/blob/factory.d.ts +32 -6
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -11
- package/dist/storage/blob/index.cjs +56 -0
- package/dist/storage/blob/index.d.ts +45 -0
- package/dist/storage/blob/index.d.ts.map +1 -0
- package/dist/storage/blob/index.js +30 -0
- package/dist/storage/blob/provider.cjs +16 -0
- package/dist/storage/blob/provider.d.ts +50 -0
- package/dist/storage/blob/provider.d.ts.map +1 -0
- package/dist/storage/blob/provider.js +0 -0
- package/dist/storage/blob/providers/index.cjs +31 -0
- package/dist/storage/blob/providers/index.d.ts +8 -0
- package/dist/storage/blob/providers/index.d.ts.map +1 -0
- package/dist/storage/blob/providers/index.js +7 -0
- package/dist/storage/blob/providers/local.cjs +39 -0
- package/dist/storage/blob/providers/local.d.ts +17 -0
- package/dist/storage/blob/providers/local.d.ts.map +1 -0
- package/dist/storage/blob/providers/local.js +16 -0
- package/dist/storage/blob/providers/memory.cjs +39 -0
- package/dist/storage/blob/providers/memory.d.ts +17 -0
- package/dist/storage/blob/providers/memory.d.ts.map +1 -0
- package/dist/storage/blob/providers/memory.js +16 -0
- package/dist/storage/blob/registry.cjs +50 -0
- package/dist/storage/blob/registry.d.ts +42 -0
- package/dist/storage/blob/registry.d.ts.map +1 -0
- package/dist/storage/blob/registry.js +26 -0
- package/dist/storage/blob/schemas.cjs +9 -12
- package/dist/storage/blob/schemas.d.ts +39 -34
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +6 -11
- package/dist/storage/cache/factory.cjs +8 -36
- package/dist/storage/cache/factory.d.ts +32 -7
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +8 -26
- package/dist/storage/cache/index.cjs +53 -0
- package/dist/storage/cache/index.d.ts +44 -0
- package/dist/storage/cache/index.d.ts.map +1 -0
- package/dist/storage/cache/index.js +28 -0
- package/dist/storage/cache/provider.cjs +16 -0
- package/dist/storage/cache/provider.d.ts +56 -0
- package/dist/storage/cache/provider.d.ts.map +1 -0
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.cjs +31 -0
- package/dist/storage/cache/providers/index.d.ts +8 -0
- package/dist/storage/cache/providers/index.d.ts.map +1 -0
- package/dist/storage/cache/providers/index.js +7 -0
- package/dist/storage/cache/providers/memory.cjs +40 -0
- package/dist/storage/cache/providers/memory.d.ts +17 -0
- package/dist/storage/cache/providers/memory.d.ts.map +1 -0
- package/dist/storage/cache/providers/memory.js +17 -0
- package/dist/storage/cache/providers/redis.cjs +66 -0
- package/dist/storage/cache/providers/redis.d.ts +20 -0
- package/dist/storage/cache/providers/redis.d.ts.map +1 -0
- package/dist/storage/cache/providers/redis.js +33 -0
- package/dist/storage/cache/registry.cjs +50 -0
- package/dist/storage/cache/registry.d.ts +42 -0
- package/dist/storage/cache/registry.d.ts.map +1 -0
- package/dist/storage/cache/registry.js +26 -0
- package/dist/storage/cache/schemas.cjs +6 -2
- package/dist/storage/cache/schemas.d.ts +2 -3
- package/dist/storage/cache/schemas.d.ts.map +1 -1
- package/dist/storage/cache/schemas.js +3 -1
- package/dist/storage/database/factory.cjs +8 -47
- package/dist/storage/database/factory.d.ts +34 -8
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +8 -37
- package/dist/storage/database/index.cjs +58 -0
- package/dist/storage/database/index.d.ts +45 -0
- package/dist/storage/database/index.d.ts.map +1 -0
- package/dist/storage/database/index.js +37 -0
- package/dist/storage/database/postgres-store.cjs +174 -78
- package/dist/storage/database/postgres-store.d.ts +19 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +174 -78
- package/dist/storage/database/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +12 -3
- package/dist/storage/database/schemas.d.ts +11 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +8 -2
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +6 -0
- package/dist/storage/errors.cjs +80 -0
- package/dist/storage/errors.d.ts +24 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +80 -0
- package/dist/storage/index.cjs +47 -4
- package/dist/storage/index.d.ts +34 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +32 -3
- package/dist/storage/schemas.cjs +4 -0
- package/dist/storage/schemas.d.ts +24 -50
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +5 -1
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +3 -3
- package/dist/systemPrompt/in-built-prompts.cjs +7 -6
- package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +6 -5
- package/dist/systemPrompt/registry.cjs +2 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +2 -2
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +13 -13
- package/dist/systemPrompt/schemas.js +2 -2
- package/dist/tools/custom-tool-registry.cjs +64 -0
- package/dist/tools/custom-tool-registry.d.ts +126 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/error-codes.cjs +3 -0
- package/dist/tools/error-codes.d.ts +4 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +3 -0
- package/dist/tools/errors.cjs +41 -0
- package/dist/tools/errors.d.ts +17 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +41 -0
- package/dist/tools/index.cjs +13 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -1
- package/dist/tools/internal-tools/constants.cjs +3 -9
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +3 -9
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
- package/dist/tools/internal-tools/provider.cjs +153 -23
- package/dist/tools/internal-tools/provider.d.ts +55 -10
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +153 -23
- package/dist/tools/internal-tools/registry.cjs +18 -43
- package/dist/tools/internal-tools/registry.d.ts +4 -4
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +18 -43
- package/dist/tools/schemas.cjs +20 -0
- package/dist/tools/schemas.d.ts +43 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +16 -0
- package/dist/tools/tool-manager.cjs +140 -13
- package/dist/tools/tool-manager.d.ts +22 -3
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +140 -13
- package/dist/tools/types.d.ts +43 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +19 -1
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +19 -1
- package/dist/utils/index.cjs +0 -2
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/redactor.cjs +18 -3
- package/dist/utils/redactor.d.ts +0 -7
- package/dist/utils/redactor.d.ts.map +1 -1
- package/dist/utils/redactor.js +18 -3
- package/dist/utils/service-initializer.cjs +9 -35
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +9 -35
- package/package.json +5 -2
- package/dist/context/compression/overflow.d.ts.map +0 -1
- package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
- package/dist/utils/env-file.cjs +0 -118
- package/dist/utils/env-file.d.ts +0 -5
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -85
- /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
- /package/dist/context/{compression → compaction}/types.cjs +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var registry_exports = {};
|
|
20
|
+
__export(registry_exports, {
|
|
21
|
+
CacheRegistry: () => CacheRegistry,
|
|
22
|
+
cacheRegistry: () => cacheRegistry
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(registry_exports);
|
|
25
|
+
var import_errors = require("../errors.js");
|
|
26
|
+
var import_base_registry = require("../../providers/base-registry.js");
|
|
27
|
+
const cacheErrorFactory = {
|
|
28
|
+
alreadyRegistered: (type) => import_errors.StorageError.cacheProviderAlreadyRegistered(type),
|
|
29
|
+
notFound: (type, availableTypes) => import_errors.StorageError.unknownCacheProvider(type, availableTypes)
|
|
30
|
+
};
|
|
31
|
+
class CacheRegistry extends import_base_registry.BaseRegistry {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(cacheErrorFactory);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all registered providers.
|
|
37
|
+
* Alias for getAll() for backward compatibility.
|
|
38
|
+
*
|
|
39
|
+
* @returns Array of providers
|
|
40
|
+
*/
|
|
41
|
+
getProviders() {
|
|
42
|
+
return this.getAll();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const cacheRegistry = new CacheRegistry();
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
CacheRegistry,
|
|
49
|
+
cacheRegistry
|
|
50
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CacheProvider } from './provider.js';
|
|
2
|
+
import { BaseRegistry } from '../../providers/base-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registry for cache providers.
|
|
5
|
+
*
|
|
6
|
+
* This registry manages available cache implementations and provides
|
|
7
|
+
* runtime validation for configurations. Providers can be registered from
|
|
8
|
+
* both core (built-in) and application layers (custom).
|
|
9
|
+
*
|
|
10
|
+
* The registry follows a global singleton pattern to allow registration
|
|
11
|
+
* before configuration loading, while maintaining type safety through
|
|
12
|
+
* provider interfaces.
|
|
13
|
+
*
|
|
14
|
+
* Extends BaseRegistry for common registry functionality.
|
|
15
|
+
*/
|
|
16
|
+
export declare class CacheRegistry extends BaseRegistry<CacheProvider<any, any>> {
|
|
17
|
+
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Get all registered providers.
|
|
20
|
+
* Alias for getAll() for backward compatibility.
|
|
21
|
+
*
|
|
22
|
+
* @returns Array of providers
|
|
23
|
+
*/
|
|
24
|
+
getProviders(): CacheProvider<any, any>[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Global singleton registry for cache providers.
|
|
28
|
+
*
|
|
29
|
+
* This registry is used by the createCache factory and can be extended
|
|
30
|
+
* with custom providers before configuration loading.
|
|
31
|
+
*
|
|
32
|
+
* Example usage in CLI/server layer:
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { cacheRegistry } from '@dexto/core';
|
|
35
|
+
* import { memcachedProvider } from './storage/memcached-provider.js';
|
|
36
|
+
*
|
|
37
|
+
* // Register custom provider before loading config
|
|
38
|
+
* cacheRegistry.register(memcachedProvider);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const cacheRegistry: CacheRegistry;
|
|
42
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/storage/cache/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,YAAY,EAA6B,MAAM,kCAAkC,CAAC;AAY3F;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;IAKpE;;;;;OAKG;IACH,YAAY,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;CAG5C;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { StorageError } from "../errors.js";
|
|
3
|
+
import { BaseRegistry } from "../../providers/base-registry.js";
|
|
4
|
+
const cacheErrorFactory = {
|
|
5
|
+
alreadyRegistered: (type) => StorageError.cacheProviderAlreadyRegistered(type),
|
|
6
|
+
notFound: (type, availableTypes) => StorageError.unknownCacheProvider(type, availableTypes)
|
|
7
|
+
};
|
|
8
|
+
class CacheRegistry extends BaseRegistry {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(cacheErrorFactory);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get all registered providers.
|
|
14
|
+
* Alias for getAll() for backward compatibility.
|
|
15
|
+
*
|
|
16
|
+
* @returns Array of providers
|
|
17
|
+
*/
|
|
18
|
+
getProviders() {
|
|
19
|
+
return this.getAll();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const cacheRegistry = new CacheRegistry();
|
|
23
|
+
export {
|
|
24
|
+
CacheRegistry,
|
|
25
|
+
cacheRegistry
|
|
26
|
+
};
|
|
@@ -19,7 +19,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var schemas_exports = {};
|
|
20
20
|
__export(schemas_exports, {
|
|
21
21
|
CACHE_TYPES: () => CACHE_TYPES,
|
|
22
|
-
CacheConfigSchema: () => CacheConfigSchema
|
|
22
|
+
CacheConfigSchema: () => CacheConfigSchema,
|
|
23
|
+
InMemoryCacheSchema: () => InMemoryCacheSchema,
|
|
24
|
+
RedisCacheSchema: () => RedisCacheSchema
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(schemas_exports);
|
|
25
27
|
var import_zod = require("zod");
|
|
@@ -73,5 +75,7 @@ const CacheConfigSchema = import_zod.z.discriminatedUnion("type", [InMemoryCache
|
|
|
73
75
|
// Annotate the CommonJS export names for ESM import in node:
|
|
74
76
|
0 && (module.exports = {
|
|
75
77
|
CACHE_TYPES,
|
|
76
|
-
CacheConfigSchema
|
|
78
|
+
CacheConfigSchema,
|
|
79
|
+
InMemoryCacheSchema,
|
|
80
|
+
RedisCacheSchema
|
|
77
81
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const CACHE_TYPES: readonly ["in-memory", "redis"];
|
|
3
3
|
export type CacheType = (typeof CACHE_TYPES)[number];
|
|
4
|
-
declare const InMemoryCacheSchema: z.ZodObject<{
|
|
4
|
+
export declare const InMemoryCacheSchema: z.ZodObject<{
|
|
5
5
|
maxConnections: z.ZodOptional<z.ZodNumber>;
|
|
6
6
|
idleTimeoutMillis: z.ZodOptional<z.ZodNumber>;
|
|
7
7
|
connectionTimeoutMillis: z.ZodOptional<z.ZodNumber>;
|
|
@@ -22,7 +22,7 @@ declare const InMemoryCacheSchema: z.ZodObject<{
|
|
|
22
22
|
connectionTimeoutMillis?: number | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
export type InMemoryCacheConfig = z.output<typeof InMemoryCacheSchema>;
|
|
25
|
-
declare const RedisCacheSchema: z.ZodObject<{
|
|
25
|
+
export declare const RedisCacheSchema: z.ZodObject<{
|
|
26
26
|
maxConnections: z.ZodOptional<z.ZodNumber>;
|
|
27
27
|
idleTimeoutMillis: z.ZodOptional<z.ZodNumber>;
|
|
28
28
|
connectionTimeoutMillis: z.ZodOptional<z.ZodNumber>;
|
|
@@ -147,5 +147,4 @@ export declare const CacheConfigSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"ty
|
|
|
147
147
|
database?: number | undefined;
|
|
148
148
|
}>;
|
|
149
149
|
export type CacheConfig = z.output<typeof CacheConfigSchema>;
|
|
150
|
-
export {};
|
|
151
150
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/storage/cache/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,iCAAkC,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAoBrD,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/storage/cache/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,iCAAkC,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAoBrD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;EAGrB,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGvE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BxB,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,59 +15,22 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var factory_exports = {};
|
|
30
20
|
__export(factory_exports, {
|
|
31
21
|
createDatabase: () => createDatabase
|
|
32
22
|
});
|
|
33
23
|
module.exports = __toCommonJS(factory_exports);
|
|
34
|
-
var
|
|
35
|
-
var import_errors = require("../errors.js");
|
|
36
|
-
let SQLiteStore = null;
|
|
37
|
-
let PostgresStore = null;
|
|
24
|
+
var import_registry = require("./registry.js");
|
|
38
25
|
async function createDatabase(config, logger) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return createSQLiteStore(config, logger);
|
|
44
|
-
case "in-memory":
|
|
45
|
-
default:
|
|
46
|
-
logger.info("Using in-memory database store");
|
|
47
|
-
return new import_memory_database_store.MemoryDatabaseStore();
|
|
26
|
+
const validatedConfig = import_registry.databaseRegistry.validateConfig(config);
|
|
27
|
+
const provider = import_registry.databaseRegistry.get(validatedConfig.type);
|
|
28
|
+
if (!provider) {
|
|
29
|
+
throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
|
|
48
30
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (!PostgresStore) {
|
|
53
|
-
const module2 = await import("./postgres-store.js");
|
|
54
|
-
PostgresStore = module2.PostgresStore;
|
|
55
|
-
}
|
|
56
|
-
logger.info("Connecting to PostgreSQL database");
|
|
57
|
-
return new PostgresStore(config, logger);
|
|
58
|
-
} catch (error) {
|
|
59
|
-
const err = error;
|
|
60
|
-
if (err.code === "ERR_MODULE_NOT_FOUND") {
|
|
61
|
-
throw import_errors.StorageError.dependencyNotInstalled("PostgreSQL", "pg", "npm install pg");
|
|
62
|
-
}
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
async function createSQLiteStore(config, logger) {
|
|
67
|
-
if (!SQLiteStore) {
|
|
68
|
-
const module2 = await import("./sqlite-store.js");
|
|
69
|
-
SQLiteStore = module2.SQLiteStore;
|
|
70
|
-
}
|
|
71
|
-
logger.info(`Creating SQLite database store: ${config.path}`);
|
|
72
|
-
return new SQLiteStore(config, logger);
|
|
31
|
+
const providerName = provider.metadata?.displayName || validatedConfig.type;
|
|
32
|
+
logger.info(`Using ${providerName} database`);
|
|
33
|
+
return provider.create(validatedConfig, logger);
|
|
73
34
|
}
|
|
74
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
75
36
|
0 && (module.exports = {
|
|
@@ -1,13 +1,39 @@
|
|
|
1
1
|
import type { Database } from './types.js';
|
|
2
|
-
import type { DatabaseConfig } from '../schemas.js';
|
|
3
2
|
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
4
3
|
/**
|
|
5
|
-
* Create a database
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* Create a database based on configuration using the provider registry.
|
|
5
|
+
*
|
|
6
|
+
* This factory function:
|
|
7
|
+
* 1. Validates the configuration against the registered provider's schema
|
|
8
|
+
* 2. Looks up the provider in the registry
|
|
9
|
+
* 3. Calls the provider's create method to instantiate the database
|
|
10
|
+
*
|
|
11
|
+
* The configuration type is determined at runtime by the 'type' field,
|
|
12
|
+
* which must match a registered provider. Custom providers can be registered
|
|
13
|
+
* via databaseRegistry.register() before calling this function.
|
|
14
|
+
*
|
|
15
|
+
* Database paths are provided via CLI enrichment layer (for sqlite).
|
|
16
|
+
*
|
|
17
|
+
* @param config - Database configuration with a 'type' discriminator
|
|
18
|
+
* @param logger - Logger instance for the database
|
|
19
|
+
* @returns A Database implementation
|
|
20
|
+
* @throws Error if the provider type is not registered or validation fails
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Using built-in provider
|
|
25
|
+
* const db = await createDatabase({ type: 'sqlite', path: '/tmp/data.db' }, logger);
|
|
26
|
+
*
|
|
27
|
+
* // Using custom provider (registered beforehand)
|
|
28
|
+
* import { databaseRegistry } from '@dexto/core';
|
|
29
|
+
* import { mongoProvider } from './storage/mongo-provider.js';
|
|
30
|
+
*
|
|
31
|
+
* databaseRegistry.register(mongoProvider);
|
|
32
|
+
* const db = await createDatabase({ type: 'mongodb', uri: '...' }, logger);
|
|
33
|
+
* ```
|
|
11
34
|
*/
|
|
12
|
-
export declare function createDatabase(config:
|
|
35
|
+
export declare function createDatabase(config: {
|
|
36
|
+
type: string;
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
}, logger: IDextoLogger): Promise<Database>;
|
|
13
39
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5C,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,QAAQ,CAAC,CAgBnB"}
|
|
@@ -1,43 +1,14 @@
|
|
|
1
1
|
import "../../chunk-PTJYTZNU.js";
|
|
2
|
-
import {
|
|
3
|
-
import { StorageError } from "../errors.js";
|
|
4
|
-
let SQLiteStore = null;
|
|
5
|
-
let PostgresStore = null;
|
|
2
|
+
import { databaseRegistry } from "./registry.js";
|
|
6
3
|
async function createDatabase(config, logger) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return createSQLiteStore(config, logger);
|
|
12
|
-
case "in-memory":
|
|
13
|
-
default:
|
|
14
|
-
logger.info("Using in-memory database store");
|
|
15
|
-
return new MemoryDatabaseStore();
|
|
4
|
+
const validatedConfig = databaseRegistry.validateConfig(config);
|
|
5
|
+
const provider = databaseRegistry.get(validatedConfig.type);
|
|
6
|
+
if (!provider) {
|
|
7
|
+
throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
|
|
16
8
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!PostgresStore) {
|
|
21
|
-
const module = await import("./postgres-store.js");
|
|
22
|
-
PostgresStore = module.PostgresStore;
|
|
23
|
-
}
|
|
24
|
-
logger.info("Connecting to PostgreSQL database");
|
|
25
|
-
return new PostgresStore(config, logger);
|
|
26
|
-
} catch (error) {
|
|
27
|
-
const err = error;
|
|
28
|
-
if (err.code === "ERR_MODULE_NOT_FOUND") {
|
|
29
|
-
throw StorageError.dependencyNotInstalled("PostgreSQL", "pg", "npm install pg");
|
|
30
|
-
}
|
|
31
|
-
throw error;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async function createSQLiteStore(config, logger) {
|
|
35
|
-
if (!SQLiteStore) {
|
|
36
|
-
const module = await import("./sqlite-store.js");
|
|
37
|
-
SQLiteStore = module.SQLiteStore;
|
|
38
|
-
}
|
|
39
|
-
logger.info(`Creating SQLite database store: ${config.path}`);
|
|
40
|
-
return new SQLiteStore(config, logger);
|
|
9
|
+
const providerName = provider.metadata?.displayName || validatedConfig.type;
|
|
10
|
+
logger.info(`Using ${providerName} database`);
|
|
11
|
+
return provider.create(validatedConfig, logger);
|
|
41
12
|
}
|
|
42
13
|
export {
|
|
43
14
|
createDatabase
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var database_exports = {};
|
|
20
|
+
__export(database_exports, {
|
|
21
|
+
DATABASE_TYPES: () => import_schemas.DATABASE_TYPES,
|
|
22
|
+
DatabaseConfigSchema: () => import_schemas.DatabaseConfigSchema,
|
|
23
|
+
DatabaseRegistry: () => import_registry2.DatabaseRegistry,
|
|
24
|
+
InMemoryDatabaseSchema: () => import_schemas.InMemoryDatabaseSchema,
|
|
25
|
+
MemoryDatabaseStore: () => import_memory_database_store.MemoryDatabaseStore,
|
|
26
|
+
PostgresDatabaseSchema: () => import_schemas.PostgresDatabaseSchema,
|
|
27
|
+
SqliteDatabaseSchema: () => import_schemas.SqliteDatabaseSchema,
|
|
28
|
+
createDatabase: () => import_factory.createDatabase,
|
|
29
|
+
databaseRegistry: () => import_registry2.databaseRegistry
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(database_exports);
|
|
32
|
+
var import_registry = require("./registry.js");
|
|
33
|
+
var import_providers = require("./providers/index.js");
|
|
34
|
+
var import_factory = require("./factory.js");
|
|
35
|
+
var import_registry2 = require("./registry.js");
|
|
36
|
+
var import_schemas = require("./schemas.js");
|
|
37
|
+
var import_memory_database_store = require("./memory-database-store.js");
|
|
38
|
+
if (!import_registry.databaseRegistry.has("in-memory")) {
|
|
39
|
+
import_registry.databaseRegistry.register(import_providers.inMemoryDatabaseProvider);
|
|
40
|
+
}
|
|
41
|
+
if (!import_registry.databaseRegistry.has("sqlite")) {
|
|
42
|
+
import_registry.databaseRegistry.register(import_providers.sqliteDatabaseProvider);
|
|
43
|
+
}
|
|
44
|
+
if (!import_registry.databaseRegistry.has("postgres")) {
|
|
45
|
+
import_registry.databaseRegistry.register(import_providers.postgresDatabaseProvider);
|
|
46
|
+
}
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
DATABASE_TYPES,
|
|
50
|
+
DatabaseConfigSchema,
|
|
51
|
+
DatabaseRegistry,
|
|
52
|
+
InMemoryDatabaseSchema,
|
|
53
|
+
MemoryDatabaseStore,
|
|
54
|
+
PostgresDatabaseSchema,
|
|
55
|
+
SqliteDatabaseSchema,
|
|
56
|
+
createDatabase,
|
|
57
|
+
databaseRegistry
|
|
58
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides a flexible database system with support for
|
|
5
|
+
* multiple backends through a provider pattern.
|
|
6
|
+
*
|
|
7
|
+
* ## Built-in Providers
|
|
8
|
+
* - `in-memory`: Store data in RAM (for testing/development)
|
|
9
|
+
* - `sqlite`: Store data in a local SQLite file
|
|
10
|
+
* - `postgres`: Store data in PostgreSQL server
|
|
11
|
+
*
|
|
12
|
+
* ## Custom Providers
|
|
13
|
+
* Custom providers (e.g., MongoDB, DynamoDB) can be registered at the
|
|
14
|
+
* CLI/server layer before configuration loading.
|
|
15
|
+
*
|
|
16
|
+
* ## Usage
|
|
17
|
+
*
|
|
18
|
+
* ### Using built-in providers
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { createDatabase } from '@dexto/core';
|
|
21
|
+
*
|
|
22
|
+
* const db = await createDatabase({ type: 'sqlite', path: '/tmp/data.db' }, logger);
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ### Registering custom providers
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { databaseRegistry, type DatabaseProvider } from '@dexto/core';
|
|
28
|
+
*
|
|
29
|
+
* const mongoProvider: DatabaseProvider<'mongodb', MongoConfig> = {
|
|
30
|
+
* type: 'mongodb',
|
|
31
|
+
* configSchema: MongoConfigSchema,
|
|
32
|
+
* create: (config, logger) => new MongoDatabase(config, logger),
|
|
33
|
+
* };
|
|
34
|
+
*
|
|
35
|
+
* databaseRegistry.register(mongoProvider);
|
|
36
|
+
* const db = await createDatabase({ type: 'mongodb', uri: '...' }, logger);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export { createDatabase } from './factory.js';
|
|
40
|
+
export { databaseRegistry, DatabaseRegistry } from './registry.js';
|
|
41
|
+
export type { DatabaseProvider } from './provider.js';
|
|
42
|
+
export type { Database } from './types.js';
|
|
43
|
+
export { DATABASE_TYPES, DatabaseConfigSchema, InMemoryDatabaseSchema, SqliteDatabaseSchema, PostgresDatabaseSchema, type DatabaseType, type DatabaseConfig, type InMemoryDatabaseConfig, type SqliteDatabaseConfig, type PostgresDatabaseConfig, } from './schemas.js';
|
|
44
|
+
export { MemoryDatabaseStore } from './memory-database-store.js';
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAwBH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import "../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { databaseRegistry } from "./registry.js";
|
|
3
|
+
import {
|
|
4
|
+
inMemoryDatabaseProvider,
|
|
5
|
+
sqliteDatabaseProvider,
|
|
6
|
+
postgresDatabaseProvider
|
|
7
|
+
} from "./providers/index.js";
|
|
8
|
+
if (!databaseRegistry.has("in-memory")) {
|
|
9
|
+
databaseRegistry.register(inMemoryDatabaseProvider);
|
|
10
|
+
}
|
|
11
|
+
if (!databaseRegistry.has("sqlite")) {
|
|
12
|
+
databaseRegistry.register(sqliteDatabaseProvider);
|
|
13
|
+
}
|
|
14
|
+
if (!databaseRegistry.has("postgres")) {
|
|
15
|
+
databaseRegistry.register(postgresDatabaseProvider);
|
|
16
|
+
}
|
|
17
|
+
import { createDatabase } from "./factory.js";
|
|
18
|
+
import { databaseRegistry as databaseRegistry2, DatabaseRegistry } from "./registry.js";
|
|
19
|
+
import {
|
|
20
|
+
DATABASE_TYPES,
|
|
21
|
+
DatabaseConfigSchema,
|
|
22
|
+
InMemoryDatabaseSchema,
|
|
23
|
+
SqliteDatabaseSchema,
|
|
24
|
+
PostgresDatabaseSchema
|
|
25
|
+
} from "./schemas.js";
|
|
26
|
+
import { MemoryDatabaseStore } from "./memory-database-store.js";
|
|
27
|
+
export {
|
|
28
|
+
DATABASE_TYPES,
|
|
29
|
+
DatabaseConfigSchema,
|
|
30
|
+
DatabaseRegistry,
|
|
31
|
+
InMemoryDatabaseSchema,
|
|
32
|
+
MemoryDatabaseStore,
|
|
33
|
+
PostgresDatabaseSchema,
|
|
34
|
+
SqliteDatabaseSchema,
|
|
35
|
+
createDatabase,
|
|
36
|
+
databaseRegistry2 as databaseRegistry
|
|
37
|
+
};
|