@dexto/core 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +5911 -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 +2 -2
- package/dist/events/index.d.ts +16 -16
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -2
- 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/stream-processor.cjs +11 -3
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +11 -3
- package/dist/llm/executor/turn-executor.cjs +50 -23
- package/dist/llm/executor/turn-executor.d.ts +6 -5
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +50 -23
- package/dist/llm/formatters/vercel.cjs +6 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +6 -2
- 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 +535 -9
- package/dist/llm/registry.d.ts +26 -0
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +532 -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 +90 -80
- package/dist/llm/schemas.d.ts +158 -22
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +90 -80
- 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 +5 -2
- 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 +5 -2
- 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/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 +1 -1
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +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 +95 -0
- package/dist/providers/discovery.d.ts +94 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +70 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/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/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/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +8 -2
- package/dist/storage/database/schemas.d.ts +3 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +4 -1
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +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 +17 -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 +120 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/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 +150 -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 +150 -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
|
@@ -21,19 +21,16 @@ __export(factory_exports, {
|
|
|
21
21
|
createBlobStore: () => createBlobStore
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(factory_exports);
|
|
24
|
-
var
|
|
25
|
-
var import_memory_blob_store = require("./memory-blob-store.js");
|
|
24
|
+
var import_registry = require("./registry.js");
|
|
26
25
|
function createBlobStore(config, logger) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
case "local":
|
|
32
|
-
logger.info("Using local file-based blob store");
|
|
33
|
-
return new import_local_blob_store.LocalBlobStore(config, logger);
|
|
34
|
-
default:
|
|
35
|
-
throw new Error(`Unknown blob store type: ${config.type}`);
|
|
26
|
+
const validatedConfig = import_registry.blobStoreRegistry.validateConfig(config);
|
|
27
|
+
const provider = import_registry.blobStoreRegistry.get(validatedConfig.type);
|
|
28
|
+
if (!provider) {
|
|
29
|
+
throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
|
|
36
30
|
}
|
|
31
|
+
const providerName = provider.metadata?.displayName || validatedConfig.type;
|
|
32
|
+
logger.info(`Using ${providerName} blob store`);
|
|
33
|
+
return provider.create(validatedConfig, logger);
|
|
37
34
|
}
|
|
38
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
36
|
0 && (module.exports = {
|
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
import type { BlobStore } from './types.js';
|
|
2
|
-
import type { BlobStoreConfig } from './schemas.js';
|
|
3
2
|
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
4
3
|
/**
|
|
5
|
-
* Create a blob store based on configuration.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Create a blob store 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 blob store
|
|
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 blobStoreRegistry.register() before calling this function.
|
|
14
|
+
*
|
|
15
|
+
* @param config - Blob store configuration with a 'type' discriminator
|
|
16
|
+
* @param logger - Logger instance for the blob store
|
|
17
|
+
* @returns A BlobStore implementation
|
|
18
|
+
* @throws Error if the provider type is not registered or validation fails
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Using built-in provider
|
|
23
|
+
* const blob = createBlobStore({ type: 'local', storePath: '/tmp/blobs' }, logger);
|
|
24
|
+
*
|
|
25
|
+
* // Using custom provider (registered beforehand)
|
|
26
|
+
* import { blobStoreRegistry } from '@dexto/core';
|
|
27
|
+
* import { s3Provider } from './storage/s3-provider.js';
|
|
28
|
+
*
|
|
29
|
+
* blobStoreRegistry.register(s3Provider);
|
|
30
|
+
* const blob = createBlobStore({ type: 's3', bucket: 'my-bucket' }, logger);
|
|
31
|
+
* ```
|
|
9
32
|
*/
|
|
10
|
-
export declare function createBlobStore(config:
|
|
33
|
+
export declare function createBlobStore(config: {
|
|
34
|
+
type: string;
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}, logger: IDextoLogger): BlobStore;
|
|
11
37
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5C,MAAM,EAAE,YAAY,GACrB,SAAS,CAgBX"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import "../../chunk-PTJYTZNU.js";
|
|
2
|
-
import {
|
|
3
|
-
import { InMemoryBlobStore } from "./memory-blob-store.js";
|
|
2
|
+
import { blobStoreRegistry } from "./registry.js";
|
|
4
3
|
function createBlobStore(config, logger) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
case "local":
|
|
10
|
-
logger.info("Using local file-based blob store");
|
|
11
|
-
return new LocalBlobStore(config, logger);
|
|
12
|
-
default:
|
|
13
|
-
throw new Error(`Unknown blob store type: ${config.type}`);
|
|
4
|
+
const validatedConfig = blobStoreRegistry.validateConfig(config);
|
|
5
|
+
const provider = blobStoreRegistry.get(validatedConfig.type);
|
|
6
|
+
if (!provider) {
|
|
7
|
+
throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
|
|
14
8
|
}
|
|
9
|
+
const providerName = provider.metadata?.displayName || validatedConfig.type;
|
|
10
|
+
logger.info(`Using ${providerName} blob store`);
|
|
11
|
+
return provider.create(validatedConfig, logger);
|
|
15
12
|
}
|
|
16
13
|
export {
|
|
17
14
|
createBlobStore
|
|
@@ -0,0 +1,56 @@
|
|
|
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 blob_exports = {};
|
|
20
|
+
__export(blob_exports, {
|
|
21
|
+
BLOB_STORE_TYPES: () => import_schemas.BLOB_STORE_TYPES,
|
|
22
|
+
BlobStoreConfigSchema: () => import_schemas.BlobStoreConfigSchema,
|
|
23
|
+
BlobStoreRegistry: () => import_registry2.BlobStoreRegistry,
|
|
24
|
+
InMemoryBlobStore: () => import_memory_blob_store.InMemoryBlobStore,
|
|
25
|
+
InMemoryBlobStoreSchema: () => import_schemas.InMemoryBlobStoreSchema,
|
|
26
|
+
LocalBlobStore: () => import_local_blob_store.LocalBlobStore,
|
|
27
|
+
LocalBlobStoreSchema: () => import_schemas.LocalBlobStoreSchema,
|
|
28
|
+
blobStoreRegistry: () => import_registry2.blobStoreRegistry,
|
|
29
|
+
createBlobStore: () => import_factory.createBlobStore
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(blob_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_local_blob_store = require("./local-blob-store.js");
|
|
38
|
+
var import_memory_blob_store = require("./memory-blob-store.js");
|
|
39
|
+
if (!import_registry.blobStoreRegistry.has("local")) {
|
|
40
|
+
import_registry.blobStoreRegistry.register(import_providers.localBlobStoreProvider);
|
|
41
|
+
}
|
|
42
|
+
if (!import_registry.blobStoreRegistry.has("in-memory")) {
|
|
43
|
+
import_registry.blobStoreRegistry.register(import_providers.inMemoryBlobStoreProvider);
|
|
44
|
+
}
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
BLOB_STORE_TYPES,
|
|
48
|
+
BlobStoreConfigSchema,
|
|
49
|
+
BlobStoreRegistry,
|
|
50
|
+
InMemoryBlobStore,
|
|
51
|
+
InMemoryBlobStoreSchema,
|
|
52
|
+
LocalBlobStore,
|
|
53
|
+
LocalBlobStoreSchema,
|
|
54
|
+
blobStoreRegistry,
|
|
55
|
+
createBlobStore
|
|
56
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blob Storage Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides a flexible blob storage system with support for
|
|
5
|
+
* multiple backends through a provider pattern.
|
|
6
|
+
*
|
|
7
|
+
* ## Built-in Providers
|
|
8
|
+
* - `local`: Store blobs on the local filesystem
|
|
9
|
+
* - `in-memory`: Store blobs in RAM (for testing/development)
|
|
10
|
+
*
|
|
11
|
+
* ## Custom Providers
|
|
12
|
+
* Custom providers (e.g., S3, Azure, Supabase) can be registered at the
|
|
13
|
+
* CLI/server layer before configuration loading.
|
|
14
|
+
*
|
|
15
|
+
* ## Usage
|
|
16
|
+
*
|
|
17
|
+
* ### Using built-in providers
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { createBlobStore } from '@dexto/core';
|
|
20
|
+
*
|
|
21
|
+
* const blob = createBlobStore({ type: 'local', storePath: '/tmp' }, logger);
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* ### Registering custom providers
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { blobStoreRegistry, type BlobStoreProvider } from '@dexto/core';
|
|
27
|
+
*
|
|
28
|
+
* const s3Provider: BlobStoreProvider<'s3', S3Config> = {
|
|
29
|
+
* type: 's3',
|
|
30
|
+
* configSchema: S3ConfigSchema,
|
|
31
|
+
* create: (config, logger) => new S3BlobStore(config, logger),
|
|
32
|
+
* };
|
|
33
|
+
*
|
|
34
|
+
* blobStoreRegistry.register(s3Provider);
|
|
35
|
+
* const blob = createBlobStore({ type: 's3', bucket: 'my-bucket' }, logger);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export { createBlobStore } from './factory.js';
|
|
39
|
+
export { blobStoreRegistry, BlobStoreRegistry } from './registry.js';
|
|
40
|
+
export type { BlobStoreProvider } from './provider.js';
|
|
41
|
+
export type { BlobStore, BlobInput, BlobMetadata, BlobReference, BlobData, BlobStats, StoredBlobMetadata, } from './types.js';
|
|
42
|
+
export { BLOB_STORE_TYPES, BlobStoreConfigSchema, InMemoryBlobStoreSchema, LocalBlobStoreSchema, type BlobStoreType, type BlobStoreConfig, type InMemoryBlobStoreConfig, type LocalBlobStoreConfig, } from './schemas.js';
|
|
43
|
+
export { LocalBlobStore } from './local-blob-store.js';
|
|
44
|
+
export { InMemoryBlobStore } from './memory-blob-store.js';
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAiBH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,YAAY,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import "../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { blobStoreRegistry } from "./registry.js";
|
|
3
|
+
import { localBlobStoreProvider, inMemoryBlobStoreProvider } from "./providers/index.js";
|
|
4
|
+
if (!blobStoreRegistry.has("local")) {
|
|
5
|
+
blobStoreRegistry.register(localBlobStoreProvider);
|
|
6
|
+
}
|
|
7
|
+
if (!blobStoreRegistry.has("in-memory")) {
|
|
8
|
+
blobStoreRegistry.register(inMemoryBlobStoreProvider);
|
|
9
|
+
}
|
|
10
|
+
import { createBlobStore } from "./factory.js";
|
|
11
|
+
import { blobStoreRegistry as blobStoreRegistry2, BlobStoreRegistry } from "./registry.js";
|
|
12
|
+
import {
|
|
13
|
+
BLOB_STORE_TYPES,
|
|
14
|
+
BlobStoreConfigSchema,
|
|
15
|
+
InMemoryBlobStoreSchema,
|
|
16
|
+
LocalBlobStoreSchema
|
|
17
|
+
} from "./schemas.js";
|
|
18
|
+
import { LocalBlobStore } from "./local-blob-store.js";
|
|
19
|
+
import { InMemoryBlobStore } from "./memory-blob-store.js";
|
|
20
|
+
export {
|
|
21
|
+
BLOB_STORE_TYPES,
|
|
22
|
+
BlobStoreConfigSchema,
|
|
23
|
+
BlobStoreRegistry,
|
|
24
|
+
InMemoryBlobStore,
|
|
25
|
+
InMemoryBlobStoreSchema,
|
|
26
|
+
LocalBlobStore,
|
|
27
|
+
LocalBlobStoreSchema,
|
|
28
|
+
blobStoreRegistry2 as blobStoreRegistry,
|
|
29
|
+
createBlobStore
|
|
30
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var provider_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(provider_exports);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BlobStore } from './types.js';
|
|
3
|
+
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Provider interface for creating blob store instances.
|
|
6
|
+
*
|
|
7
|
+
* This interface uses TypeScript generics to enforce type safety:
|
|
8
|
+
* - TType: The literal type string (e.g., 'local', 's3')
|
|
9
|
+
* - TConfig: The configuration type with discriminator { type: TType }
|
|
10
|
+
*
|
|
11
|
+
* This ensures that the provider type matches the config type discriminator,
|
|
12
|
+
* providing compile-time safety for provider implementations.
|
|
13
|
+
*/
|
|
14
|
+
export interface BlobStoreProvider<TType extends string = string, TConfig extends {
|
|
15
|
+
type: TType;
|
|
16
|
+
} = any> {
|
|
17
|
+
/**
|
|
18
|
+
* Unique identifier for this provider (e.g., 'local', 'supabase', 's3').
|
|
19
|
+
* Must match the 'type' field in the configuration.
|
|
20
|
+
*/
|
|
21
|
+
type: TType;
|
|
22
|
+
/**
|
|
23
|
+
* Zod schema for validating provider-specific configuration.
|
|
24
|
+
* The schema must output TConfig type.
|
|
25
|
+
*
|
|
26
|
+
* Note: Uses z.ZodType with relaxed generics to allow input/output type variance.
|
|
27
|
+
* This is necessary because Zod schemas with `.optional().default()` have
|
|
28
|
+
* input types that include undefined, but output types that don't.
|
|
29
|
+
*/
|
|
30
|
+
configSchema: z.ZodType<TConfig, any, any>;
|
|
31
|
+
/**
|
|
32
|
+
* Factory function to create a BlobStore instance.
|
|
33
|
+
* @param config - Validated configuration specific to this provider
|
|
34
|
+
* @param logger - Logger instance for the blob store
|
|
35
|
+
* @returns A BlobStore implementation
|
|
36
|
+
*/
|
|
37
|
+
create(config: TConfig, logger: IDextoLogger): BlobStore;
|
|
38
|
+
/**
|
|
39
|
+
* Optional metadata for documentation, UIs, and discovery.
|
|
40
|
+
*/
|
|
41
|
+
metadata?: {
|
|
42
|
+
/** Human-readable name (e.g., "Local Filesystem", "Amazon S3") */
|
|
43
|
+
displayName: string;
|
|
44
|
+
/** Brief description of this storage backend */
|
|
45
|
+
description: string;
|
|
46
|
+
/** Whether this provider requires network connectivity */
|
|
47
|
+
requiresNetwork?: boolean;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB,CAC9B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,GAAG;IAErC;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,EAAE;QACP,kEAAkE;QAClE,WAAW,EAAE,MAAM,CAAC;QACpB,gDAAgD;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,0DAA0D;QAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACL"}
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
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 providers_exports = {};
|
|
20
|
+
__export(providers_exports, {
|
|
21
|
+
inMemoryBlobStoreProvider: () => import_memory.inMemoryBlobStoreProvider,
|
|
22
|
+
localBlobStoreProvider: () => import_local.localBlobStoreProvider
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(providers_exports);
|
|
25
|
+
var import_local = require("./local.js");
|
|
26
|
+
var import_memory = require("./memory.js");
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
inMemoryBlobStoreProvider,
|
|
30
|
+
localBlobStoreProvider
|
|
31
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in blob store providers.
|
|
3
|
+
*
|
|
4
|
+
* These providers are automatically registered when importing from @dexto/core.
|
|
5
|
+
*/
|
|
6
|
+
export { localBlobStoreProvider } from './local.js';
|
|
7
|
+
export { inMemoryBlobStoreProvider } from './memory.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/blob/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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 local_exports = {};
|
|
20
|
+
__export(local_exports, {
|
|
21
|
+
localBlobStoreProvider: () => localBlobStoreProvider
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(local_exports);
|
|
24
|
+
var import_schemas = require("../schemas.js");
|
|
25
|
+
var import_local_blob_store = require("../local-blob-store.js");
|
|
26
|
+
const localBlobStoreProvider = {
|
|
27
|
+
type: "local",
|
|
28
|
+
configSchema: import_schemas.LocalBlobStoreSchema,
|
|
29
|
+
create: (config, logger) => new import_local_blob_store.LocalBlobStore(config, logger),
|
|
30
|
+
metadata: {
|
|
31
|
+
displayName: "Local Filesystem",
|
|
32
|
+
description: "Store blobs on the local filesystem with automatic deduplication",
|
|
33
|
+
requiresNetwork: false
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
localBlobStoreProvider
|
|
39
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BlobStoreProvider } from '../provider.js';
|
|
2
|
+
import type { LocalBlobStoreConfig } from '../schemas.js';
|
|
3
|
+
/**
|
|
4
|
+
* Provider for local filesystem blob storage.
|
|
5
|
+
*
|
|
6
|
+
* This provider stores blobs on the local filesystem with content-based
|
|
7
|
+
* deduplication and metadata tracking. It's ideal for development and
|
|
8
|
+
* single-machine deployments.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Zero external dependencies (uses Node.js fs module)
|
|
12
|
+
* - Content-based deduplication (same hash = same blob)
|
|
13
|
+
* - Automatic cleanup of old blobs
|
|
14
|
+
* - No network required
|
|
15
|
+
*/
|
|
16
|
+
export declare const localBlobStoreProvider: BlobStoreProvider<'local', LocalBlobStoreConfig>;
|
|
17
|
+
//# sourceMappingURL=local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/storage/blob/providers/local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,CASnF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { LocalBlobStoreSchema } from "../schemas.js";
|
|
3
|
+
import { LocalBlobStore } from "../local-blob-store.js";
|
|
4
|
+
const localBlobStoreProvider = {
|
|
5
|
+
type: "local",
|
|
6
|
+
configSchema: LocalBlobStoreSchema,
|
|
7
|
+
create: (config, logger) => new LocalBlobStore(config, logger),
|
|
8
|
+
metadata: {
|
|
9
|
+
displayName: "Local Filesystem",
|
|
10
|
+
description: "Store blobs on the local filesystem with automatic deduplication",
|
|
11
|
+
requiresNetwork: false
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
localBlobStoreProvider
|
|
16
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
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 memory_exports = {};
|
|
20
|
+
__export(memory_exports, {
|
|
21
|
+
inMemoryBlobStoreProvider: () => inMemoryBlobStoreProvider
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(memory_exports);
|
|
24
|
+
var import_schemas = require("../schemas.js");
|
|
25
|
+
var import_memory_blob_store = require("../memory-blob-store.js");
|
|
26
|
+
const inMemoryBlobStoreProvider = {
|
|
27
|
+
type: "in-memory",
|
|
28
|
+
configSchema: import_schemas.InMemoryBlobStoreSchema,
|
|
29
|
+
create: (config, logger) => new import_memory_blob_store.InMemoryBlobStore(config, logger),
|
|
30
|
+
metadata: {
|
|
31
|
+
displayName: "In-Memory",
|
|
32
|
+
description: "Store blobs in RAM (ephemeral, for testing and development)",
|
|
33
|
+
requiresNetwork: false
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
inMemoryBlobStoreProvider
|
|
39
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BlobStoreProvider } from '../provider.js';
|
|
2
|
+
import type { InMemoryBlobStoreConfig } from '../schemas.js';
|
|
3
|
+
/**
|
|
4
|
+
* Provider for in-memory blob storage.
|
|
5
|
+
*
|
|
6
|
+
* This provider stores blobs in RAM, making it ideal for testing and
|
|
7
|
+
* development. All data is lost when the process exits.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Zero dependencies
|
|
11
|
+
* - Extremely fast (no I/O)
|
|
12
|
+
* - Configurable size limits
|
|
13
|
+
* - No network required
|
|
14
|
+
* - Perfect for unit tests
|
|
15
|
+
*/
|
|
16
|
+
export declare const inMemoryBlobStoreProvider: BlobStoreProvider<'in-memory', InMemoryBlobStoreConfig>;
|
|
17
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/storage/blob/providers/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAI7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,WAAW,EAAE,uBAAuB,CAS7F,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { InMemoryBlobStoreSchema } from "../schemas.js";
|
|
3
|
+
import { InMemoryBlobStore } from "../memory-blob-store.js";
|
|
4
|
+
const inMemoryBlobStoreProvider = {
|
|
5
|
+
type: "in-memory",
|
|
6
|
+
configSchema: InMemoryBlobStoreSchema,
|
|
7
|
+
create: (config, logger) => new InMemoryBlobStore(config, logger),
|
|
8
|
+
metadata: {
|
|
9
|
+
displayName: "In-Memory",
|
|
10
|
+
description: "Store blobs in RAM (ephemeral, for testing and development)",
|
|
11
|
+
requiresNetwork: false
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
inMemoryBlobStoreProvider
|
|
16
|
+
};
|
|
@@ -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
|
+
BlobStoreRegistry: () => BlobStoreRegistry,
|
|
22
|
+
blobStoreRegistry: () => blobStoreRegistry
|
|
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 blobStoreErrorFactory = {
|
|
28
|
+
alreadyRegistered: (type) => import_errors.StorageError.blobProviderAlreadyRegistered(type),
|
|
29
|
+
notFound: (type, availableTypes) => import_errors.StorageError.unknownBlobProvider(type, availableTypes)
|
|
30
|
+
};
|
|
31
|
+
class BlobStoreRegistry extends import_base_registry.BaseRegistry {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(blobStoreErrorFactory);
|
|
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 blobStoreRegistry = new BlobStoreRegistry();
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
BlobStoreRegistry,
|
|
49
|
+
blobStoreRegistry
|
|
50
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { BlobStoreProvider } from './provider.js';
|
|
2
|
+
import { BaseRegistry } from '../../providers/base-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registry for blob store providers.
|
|
5
|
+
*
|
|
6
|
+
* This registry manages available blob store 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 BlobStoreRegistry extends BaseRegistry<BlobStoreProvider<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(): BlobStoreProvider<any, any>[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Global singleton registry for blob store providers.
|
|
28
|
+
*
|
|
29
|
+
* This registry is used by the createBlobStore factory and can be extended
|
|
30
|
+
* with custom providers before configuration loading.
|
|
31
|
+
*
|
|
32
|
+
* Example usage in CLI/server layer:
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { blobStoreRegistry } from '@dexto/core';
|
|
35
|
+
* import { s3Provider } from './storage/s3-provider.js';
|
|
36
|
+
*
|
|
37
|
+
* // Register custom provider before loading config
|
|
38
|
+
* blobStoreRegistry.register(s3Provider);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const blobStoreRegistry: BlobStoreRegistry;
|
|
42
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,YAAY,EAA6B,MAAM,kCAAkC,CAAC;AAY3F;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;IAK5E;;;;;OAKG;IACH,YAAY,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;CAGhD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|