@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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { DextoPlugin } from './types.js';
|
|
3
|
+
import { BaseRegistry } from '../providers/base-registry.js';
|
|
4
|
+
/**
|
|
5
|
+
* Context passed to plugin providers when creating plugin instances.
|
|
6
|
+
* Provides access to configuration and optional services.
|
|
7
|
+
*/
|
|
8
|
+
export interface PluginCreationContext {
|
|
9
|
+
/** Plugin-specific configuration from YAML */
|
|
10
|
+
config: Record<string, any>;
|
|
11
|
+
/** Whether this plugin should block execution on errors */
|
|
12
|
+
blocking: boolean;
|
|
13
|
+
/** Execution priority (lower runs first) */
|
|
14
|
+
priority: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Plugin provider interface.
|
|
18
|
+
* Allows external code to register plugin providers that create plugin instances.
|
|
19
|
+
* Follows the same pattern as BlobStoreProvider, CompressionProvider, and CustomToolProvider.
|
|
20
|
+
*
|
|
21
|
+
* @template TType - The provider type discriminator (must match config.type)
|
|
22
|
+
* @template TConfig - The provider configuration type (must include { type: TType })
|
|
23
|
+
*/
|
|
24
|
+
export interface PluginProvider<TType extends string = string, TConfig extends {
|
|
25
|
+
type: TType;
|
|
26
|
+
} = any> {
|
|
27
|
+
/** Unique type identifier matching the discriminator in config */
|
|
28
|
+
type: TType;
|
|
29
|
+
/** Zod schema for runtime validation of provider configuration */
|
|
30
|
+
configSchema: z.ZodType<TConfig, any, any>;
|
|
31
|
+
/**
|
|
32
|
+
* Factory function to create a plugin instance from validated configuration
|
|
33
|
+
* @param config - Validated configuration matching configSchema
|
|
34
|
+
* @param context - Plugin creation context with priority and blocking settings
|
|
35
|
+
* @returns A DextoPlugin instance
|
|
36
|
+
*/
|
|
37
|
+
create(config: TConfig, context: PluginCreationContext): DextoPlugin;
|
|
38
|
+
/** Optional metadata for display and categorization */
|
|
39
|
+
metadata?: {
|
|
40
|
+
displayName: string;
|
|
41
|
+
description: string;
|
|
42
|
+
/** Which extension points this plugin implements */
|
|
43
|
+
extensionPoints?: Array<'beforeLLMRequest' | 'beforeToolCall' | 'afterToolResult' | 'beforeResponse'>;
|
|
44
|
+
/** Category for grouping (e.g., 'security', 'logging', 'integration') */
|
|
45
|
+
category?: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Registry for plugin providers.
|
|
50
|
+
* Follows the same pattern as BlobStoreRegistry, CompressionRegistry, and CustomToolRegistry.
|
|
51
|
+
*
|
|
52
|
+
* Plugin providers can be registered from external code (CLI, apps, distributions)
|
|
53
|
+
* and are validated at runtime using their Zod schemas.
|
|
54
|
+
*
|
|
55
|
+
* Extends BaseRegistry for common registry functionality.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Define a plugin provider
|
|
60
|
+
* const myPluginProvider: PluginProvider<'my-plugin', MyPluginConfig> = {
|
|
61
|
+
* type: 'my-plugin',
|
|
62
|
+
* configSchema: MyPluginConfigSchema,
|
|
63
|
+
* create(config, context) {
|
|
64
|
+
* return new MyPlugin(config, context);
|
|
65
|
+
* },
|
|
66
|
+
* metadata: {
|
|
67
|
+
* displayName: 'My Plugin',
|
|
68
|
+
* description: 'Does something useful',
|
|
69
|
+
* extensionPoints: ['beforeLLMRequest'],
|
|
70
|
+
* category: 'custom',
|
|
71
|
+
* },
|
|
72
|
+
* };
|
|
73
|
+
*
|
|
74
|
+
* // Register in dexto.config.ts
|
|
75
|
+
* import { pluginRegistry } from '@dexto/core';
|
|
76
|
+
* pluginRegistry.register(myPluginProvider);
|
|
77
|
+
*
|
|
78
|
+
* // Use in agent YAML
|
|
79
|
+
* plugins:
|
|
80
|
+
* registry:
|
|
81
|
+
* - type: my-plugin
|
|
82
|
+
* priority: 50
|
|
83
|
+
* blocking: false
|
|
84
|
+
* config:
|
|
85
|
+
* key: value
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare class PluginRegistry extends BaseRegistry<PluginProvider> {
|
|
89
|
+
constructor();
|
|
90
|
+
/**
|
|
91
|
+
* Get all registered plugin providers.
|
|
92
|
+
* Alias for getAll() to match other registry patterns.
|
|
93
|
+
*/
|
|
94
|
+
getProviders(): PluginProvider[];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Global singleton instance of the plugin registry.
|
|
98
|
+
* Plugin providers should be registered at application startup.
|
|
99
|
+
*/
|
|
100
|
+
export declare const pluginRegistry: PluginRegistry;
|
|
101
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAA6B,MAAM,+BAA+B,CAAC;AAExF;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAC3B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,GAAG;IAErC,kEAAkE;IAClE,IAAI,EAAE,KAAK,CAAC;IAEZ,kEAAkE;IAClE,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAAC;IAErE,uDAAuD;IACvD,QAAQ,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,oDAAoD;QACpD,eAAe,CAAC,EAAE,KAAK,CACnB,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,CAC/E,CAAC;QACF,yEAAyE;QACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,cAAc,CAAC;;IAK5D;;;OAGG;IACH,YAAY,IAAI,cAAc,EAAE;CAGnC;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
|
|
3
|
+
import { PluginErrorCode } from "./error-codes.js";
|
|
4
|
+
import { BaseRegistry } from "../providers/base-registry.js";
|
|
5
|
+
const pluginRegistryErrorFactory = {
|
|
6
|
+
alreadyRegistered: (type) => new DextoRuntimeError(
|
|
7
|
+
PluginErrorCode.PLUGIN_PROVIDER_ALREADY_REGISTERED,
|
|
8
|
+
ErrorScope.PLUGIN,
|
|
9
|
+
ErrorType.USER,
|
|
10
|
+
`Plugin provider '${type}' is already registered`,
|
|
11
|
+
{ type },
|
|
12
|
+
"Each plugin provider type can only be registered once"
|
|
13
|
+
),
|
|
14
|
+
notFound: (type, availableTypes) => new DextoRuntimeError(
|
|
15
|
+
PluginErrorCode.PLUGIN_PROVIDER_NOT_FOUND,
|
|
16
|
+
ErrorScope.PLUGIN,
|
|
17
|
+
ErrorType.USER,
|
|
18
|
+
`Plugin provider '${type}' not found`,
|
|
19
|
+
{ type, available: availableTypes },
|
|
20
|
+
`Available plugin providers: ${availableTypes.join(", ") || "none"}`
|
|
21
|
+
)
|
|
22
|
+
};
|
|
23
|
+
class PluginRegistry extends BaseRegistry {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(pluginRegistryErrorFactory);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get all registered plugin providers.
|
|
29
|
+
* Alias for getAll() to match other registry patterns.
|
|
30
|
+
*/
|
|
31
|
+
getProviders() {
|
|
32
|
+
return this.getAll();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const pluginRegistry = new PluginRegistry();
|
|
36
|
+
export {
|
|
37
|
+
PluginRegistry,
|
|
38
|
+
pluginRegistry
|
|
39
|
+
};
|
package/dist/plugins/schemas.cjs
CHANGED
|
@@ -20,10 +20,18 @@ var schemas_exports = {};
|
|
|
20
20
|
__export(schemas_exports, {
|
|
21
21
|
BuiltInPluginConfigSchema: () => BuiltInPluginConfigSchema,
|
|
22
22
|
CustomPluginConfigSchema: () => CustomPluginConfigSchema,
|
|
23
|
-
PluginsConfigSchema: () => PluginsConfigSchema
|
|
23
|
+
PluginsConfigSchema: () => PluginsConfigSchema,
|
|
24
|
+
RegistryPluginConfigSchema: () => RegistryPluginConfigSchema
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(schemas_exports);
|
|
26
27
|
var import_zod = require("zod");
|
|
28
|
+
const RegistryPluginConfigSchema = import_zod.z.object({
|
|
29
|
+
type: import_zod.z.string().describe("Plugin provider type (must be registered in pluginRegistry)"),
|
|
30
|
+
enabled: import_zod.z.boolean().default(true).describe("Whether this plugin is enabled"),
|
|
31
|
+
blocking: import_zod.z.boolean().describe("If true, plugin errors will halt execution"),
|
|
32
|
+
priority: import_zod.z.number().int().describe("Execution priority (lower runs first)"),
|
|
33
|
+
config: import_zod.z.record(import_zod.z.any()).optional().describe("Plugin-specific configuration")
|
|
34
|
+
}).strict();
|
|
27
35
|
const CustomPluginConfigSchema = import_zod.z.object({
|
|
28
36
|
name: import_zod.z.string().describe("Unique name for the plugin"),
|
|
29
37
|
module: import_zod.z.string().describe(
|
|
@@ -48,14 +56,18 @@ const PluginsConfigSchema = import_zod.z.object({
|
|
|
48
56
|
responseSanitizer: BuiltInPluginConfigSchema.optional().describe(
|
|
49
57
|
"Response sanitizer plugin for output sanitization"
|
|
50
58
|
),
|
|
51
|
-
// Custom plugins - array of plugin configurations
|
|
52
|
-
custom: import_zod.z.array(CustomPluginConfigSchema).default([]).describe("Array of custom plugin configurations")
|
|
59
|
+
// Custom plugins - array of plugin configurations (loaded from file paths)
|
|
60
|
+
custom: import_zod.z.array(CustomPluginConfigSchema).default([]).describe("Array of custom plugin configurations (loaded from file paths)"),
|
|
61
|
+
// Registry plugins - array of plugin configurations (loaded from pluginRegistry)
|
|
62
|
+
registry: import_zod.z.array(RegistryPluginConfigSchema).default([]).describe("Array of registry plugin configurations (loaded from pluginRegistry)")
|
|
53
63
|
}).strict().default({
|
|
54
|
-
custom: []
|
|
64
|
+
custom: [],
|
|
65
|
+
registry: []
|
|
55
66
|
}).describe("Plugin system configuration");
|
|
56
67
|
// Annotate the CommonJS export names for ESM import in node:
|
|
57
68
|
0 && (module.exports = {
|
|
58
69
|
BuiltInPluginConfigSchema,
|
|
59
70
|
CustomPluginConfigSchema,
|
|
60
|
-
PluginsConfigSchema
|
|
71
|
+
PluginsConfigSchema,
|
|
72
|
+
RegistryPluginConfigSchema
|
|
61
73
|
});
|
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Schema for registry-based plugin configuration.
|
|
4
|
+
* These plugins are loaded from the pluginRegistry (programmatically registered).
|
|
5
|
+
*/
|
|
6
|
+
export declare const RegistryPluginConfigSchema: z.ZodObject<{
|
|
7
|
+
type: z.ZodString;
|
|
8
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
+
blocking: z.ZodBoolean;
|
|
10
|
+
priority: z.ZodNumber;
|
|
11
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
12
|
+
}, "strict", z.ZodTypeAny, {
|
|
13
|
+
type: string;
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
priority: number;
|
|
16
|
+
blocking: boolean;
|
|
17
|
+
config?: Record<string, any> | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
type: string;
|
|
20
|
+
priority: number;
|
|
21
|
+
blocking: boolean;
|
|
22
|
+
config?: Record<string, any> | undefined;
|
|
23
|
+
enabled?: boolean | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export type RegistryPluginConfig = z.output<typeof RegistryPluginConfigSchema>;
|
|
2
26
|
/**
|
|
3
27
|
* Schema for custom plugin configuration (loaded from file paths)
|
|
4
28
|
*/
|
|
@@ -13,14 +37,14 @@ export declare const CustomPluginConfigSchema: z.ZodObject<{
|
|
|
13
37
|
name: string;
|
|
14
38
|
enabled: boolean;
|
|
15
39
|
priority: number;
|
|
16
|
-
module: string;
|
|
17
40
|
blocking: boolean;
|
|
41
|
+
module: string;
|
|
18
42
|
config?: Record<string, any> | undefined;
|
|
19
43
|
}, {
|
|
20
44
|
name: string;
|
|
21
45
|
priority: number;
|
|
22
|
-
module: string;
|
|
23
46
|
blocking: boolean;
|
|
47
|
+
module: string;
|
|
24
48
|
config?: Record<string, any> | undefined;
|
|
25
49
|
enabled?: boolean | undefined;
|
|
26
50
|
}>;
|
|
@@ -43,7 +67,7 @@ export declare const BuiltInPluginConfigSchema: z.ZodObject<{
|
|
|
43
67
|
}, z.ZodTypeAny, "passthrough">>;
|
|
44
68
|
/**
|
|
45
69
|
* Main plugins configuration schema
|
|
46
|
-
* Supports
|
|
70
|
+
* Supports built-in plugins (by name), custom plugins (file paths), and registry plugins (programmatic)
|
|
47
71
|
*/
|
|
48
72
|
export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
49
73
|
contentPolicy: z.ZodOptional<z.ZodObject<{
|
|
@@ -83,13 +107,32 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
83
107
|
name: string;
|
|
84
108
|
enabled: boolean;
|
|
85
109
|
priority: number;
|
|
86
|
-
module: string;
|
|
87
110
|
blocking: boolean;
|
|
111
|
+
module: string;
|
|
88
112
|
config?: Record<string, any> | undefined;
|
|
89
113
|
}, {
|
|
90
114
|
name: string;
|
|
91
115
|
priority: number;
|
|
116
|
+
blocking: boolean;
|
|
92
117
|
module: string;
|
|
118
|
+
config?: Record<string, any> | undefined;
|
|
119
|
+
enabled?: boolean | undefined;
|
|
120
|
+
}>, "many">>;
|
|
121
|
+
registry: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
122
|
+
type: z.ZodString;
|
|
123
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
124
|
+
blocking: z.ZodBoolean;
|
|
125
|
+
priority: z.ZodNumber;
|
|
126
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
127
|
+
}, "strict", z.ZodTypeAny, {
|
|
128
|
+
type: string;
|
|
129
|
+
enabled: boolean;
|
|
130
|
+
priority: number;
|
|
131
|
+
blocking: boolean;
|
|
132
|
+
config?: Record<string, any> | undefined;
|
|
133
|
+
}, {
|
|
134
|
+
type: string;
|
|
135
|
+
priority: number;
|
|
93
136
|
blocking: boolean;
|
|
94
137
|
config?: Record<string, any> | undefined;
|
|
95
138
|
enabled?: boolean | undefined;
|
|
@@ -99,7 +142,14 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
99
142
|
name: string;
|
|
100
143
|
enabled: boolean;
|
|
101
144
|
priority: number;
|
|
145
|
+
blocking: boolean;
|
|
102
146
|
module: string;
|
|
147
|
+
config?: Record<string, any> | undefined;
|
|
148
|
+
}[];
|
|
149
|
+
registry: {
|
|
150
|
+
type: string;
|
|
151
|
+
enabled: boolean;
|
|
152
|
+
priority: number;
|
|
103
153
|
blocking: boolean;
|
|
104
154
|
config?: Record<string, any> | undefined;
|
|
105
155
|
}[];
|
|
@@ -117,8 +167,8 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
117
167
|
custom?: {
|
|
118
168
|
name: string;
|
|
119
169
|
priority: number;
|
|
120
|
-
module: string;
|
|
121
170
|
blocking: boolean;
|
|
171
|
+
module: string;
|
|
122
172
|
config?: Record<string, any> | undefined;
|
|
123
173
|
enabled?: boolean | undefined;
|
|
124
174
|
}[] | undefined;
|
|
@@ -132,6 +182,13 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
132
182
|
blocking: z.ZodOptional<z.ZodBoolean>;
|
|
133
183
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
134
184
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
185
|
+
registry?: {
|
|
186
|
+
type: string;
|
|
187
|
+
priority: number;
|
|
188
|
+
blocking: boolean;
|
|
189
|
+
config?: Record<string, any> | undefined;
|
|
190
|
+
enabled?: boolean | undefined;
|
|
191
|
+
}[] | undefined;
|
|
135
192
|
}>>;
|
|
136
193
|
export type PluginsConfig = z.input<typeof PluginsConfigSchema>;
|
|
137
194
|
export type ValidatedPluginsConfig = z.output<typeof PluginsConfigSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/plugins/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAaxB,CAAC;AAEd;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;gCAQc,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/plugins/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAaxB,CAAC;AAEd;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;gCAQc,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BY,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/plugins/schemas.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import "../chunk-PTJYTZNU.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
const RegistryPluginConfigSchema = z.object({
|
|
4
|
+
type: z.string().describe("Plugin provider type (must be registered in pluginRegistry)"),
|
|
5
|
+
enabled: z.boolean().default(true).describe("Whether this plugin is enabled"),
|
|
6
|
+
blocking: z.boolean().describe("If true, plugin errors will halt execution"),
|
|
7
|
+
priority: z.number().int().describe("Execution priority (lower runs first)"),
|
|
8
|
+
config: z.record(z.any()).optional().describe("Plugin-specific configuration")
|
|
9
|
+
}).strict();
|
|
3
10
|
const CustomPluginConfigSchema = z.object({
|
|
4
11
|
name: z.string().describe("Unique name for the plugin"),
|
|
5
12
|
module: z.string().describe(
|
|
@@ -24,13 +31,17 @@ const PluginsConfigSchema = z.object({
|
|
|
24
31
|
responseSanitizer: BuiltInPluginConfigSchema.optional().describe(
|
|
25
32
|
"Response sanitizer plugin for output sanitization"
|
|
26
33
|
),
|
|
27
|
-
// Custom plugins - array of plugin configurations
|
|
28
|
-
custom: z.array(CustomPluginConfigSchema).default([]).describe("Array of custom plugin configurations")
|
|
34
|
+
// Custom plugins - array of plugin configurations (loaded from file paths)
|
|
35
|
+
custom: z.array(CustomPluginConfigSchema).default([]).describe("Array of custom plugin configurations (loaded from file paths)"),
|
|
36
|
+
// Registry plugins - array of plugin configurations (loaded from pluginRegistry)
|
|
37
|
+
registry: z.array(RegistryPluginConfigSchema).default([]).describe("Array of registry plugin configurations (loaded from pluginRegistry)")
|
|
29
38
|
}).strict().default({
|
|
30
|
-
custom: []
|
|
39
|
+
custom: [],
|
|
40
|
+
registry: []
|
|
31
41
|
}).describe("Plugin system configuration");
|
|
32
42
|
export {
|
|
33
43
|
BuiltInPluginConfigSchema,
|
|
34
44
|
CustomPluginConfigSchema,
|
|
35
|
-
PluginsConfigSchema
|
|
45
|
+
PluginsConfigSchema,
|
|
46
|
+
RegistryPluginConfigSchema
|
|
36
47
|
};
|
|
@@ -0,0 +1,147 @@
|
|
|
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 base_registry_exports = {};
|
|
20
|
+
__export(base_registry_exports, {
|
|
21
|
+
BaseRegistry: () => BaseRegistry,
|
|
22
|
+
defaultErrorFactory: () => defaultErrorFactory
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(base_registry_exports);
|
|
25
|
+
var import_zod = require("zod");
|
|
26
|
+
const defaultErrorFactory = {
|
|
27
|
+
alreadyRegistered: (type) => new Error(`Provider '${type}' is already registered`),
|
|
28
|
+
notFound: (type, availableTypes) => new Error(
|
|
29
|
+
`Provider '${type}' not found. Available: ${availableTypes.join(", ") || "none"}`
|
|
30
|
+
)
|
|
31
|
+
};
|
|
32
|
+
class BaseRegistry {
|
|
33
|
+
providers = /* @__PURE__ */ new Map();
|
|
34
|
+
errorFactory;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new registry instance.
|
|
37
|
+
*
|
|
38
|
+
* @param errorFactory - Optional custom error factory for registry errors.
|
|
39
|
+
* If not provided, uses default Error instances.
|
|
40
|
+
*/
|
|
41
|
+
constructor(errorFactory = defaultErrorFactory) {
|
|
42
|
+
this.errorFactory = errorFactory;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Register a provider.
|
|
46
|
+
*
|
|
47
|
+
* @param provider - The provider to register
|
|
48
|
+
* @throws Error if a provider with the same type is already registered
|
|
49
|
+
*/
|
|
50
|
+
register(provider) {
|
|
51
|
+
if (this.providers.has(provider.type)) {
|
|
52
|
+
throw this.errorFactory.alreadyRegistered(provider.type);
|
|
53
|
+
}
|
|
54
|
+
this.providers.set(provider.type, provider);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Unregister a provider.
|
|
58
|
+
*
|
|
59
|
+
* @param type - The provider type to unregister
|
|
60
|
+
* @returns true if the provider was unregistered, false if it wasn't registered
|
|
61
|
+
*/
|
|
62
|
+
unregister(type) {
|
|
63
|
+
return this.providers.delete(type);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get a registered provider by type.
|
|
67
|
+
*
|
|
68
|
+
* @param type - The provider type identifier
|
|
69
|
+
* @returns The provider if found, undefined otherwise
|
|
70
|
+
*/
|
|
71
|
+
get(type) {
|
|
72
|
+
return this.providers.get(type);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if a provider is registered.
|
|
76
|
+
*
|
|
77
|
+
* @param type - The provider type identifier
|
|
78
|
+
* @returns true if registered, false otherwise
|
|
79
|
+
*/
|
|
80
|
+
has(type) {
|
|
81
|
+
return this.providers.has(type);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get all registered provider types.
|
|
85
|
+
*
|
|
86
|
+
* @returns Array of provider type identifiers
|
|
87
|
+
*/
|
|
88
|
+
getTypes() {
|
|
89
|
+
return Array.from(this.providers.keys());
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get all registered providers.
|
|
93
|
+
*
|
|
94
|
+
* @returns Array of providers
|
|
95
|
+
*/
|
|
96
|
+
getAll() {
|
|
97
|
+
return Array.from(this.providers.values());
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the number of registered providers.
|
|
101
|
+
*
|
|
102
|
+
* @returns Count of registered providers
|
|
103
|
+
*/
|
|
104
|
+
get size() {
|
|
105
|
+
return this.providers.size;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Clear all registered providers.
|
|
109
|
+
* Primarily useful for testing.
|
|
110
|
+
*/
|
|
111
|
+
clear() {
|
|
112
|
+
this.providers.clear();
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Validate a configuration against a provider's schema.
|
|
116
|
+
*
|
|
117
|
+
* This method is only available for registries with providers that have
|
|
118
|
+
* a configSchema property. It:
|
|
119
|
+
* 1. Extracts the 'type' field to identify the provider
|
|
120
|
+
* 2. Looks up the provider in the registry
|
|
121
|
+
* 3. Validates the full config against the provider's schema
|
|
122
|
+
* 4. Returns the validated configuration
|
|
123
|
+
*
|
|
124
|
+
* @param config - Raw configuration object with a 'type' field
|
|
125
|
+
* @returns Validated configuration object
|
|
126
|
+
* @throws Error if type is missing, provider not found, or validation fails
|
|
127
|
+
*/
|
|
128
|
+
validateConfig(config) {
|
|
129
|
+
const typeSchema = import_zod.z.object({ type: import_zod.z.string() }).passthrough();
|
|
130
|
+
const parsed = typeSchema.parse(config);
|
|
131
|
+
const provider = this.providers.get(parsed.type);
|
|
132
|
+
if (!provider) {
|
|
133
|
+
throw this.errorFactory.notFound(parsed.type, this.getTypes());
|
|
134
|
+
}
|
|
135
|
+
if (!("configSchema" in provider) || !provider.configSchema) {
|
|
136
|
+
throw new Error(
|
|
137
|
+
`Provider '${parsed.type}' does not support config validation (no configSchema)`
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
return provider.configSchema.parse(config);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
144
|
+
0 && (module.exports = {
|
|
145
|
+
BaseRegistry,
|
|
146
|
+
defaultErrorFactory
|
|
147
|
+
});
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Base provider interface - all providers must have a type identifier.
|
|
4
|
+
*/
|
|
5
|
+
export interface BaseProvider {
|
|
6
|
+
/** Unique type identifier for this provider */
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Provider with config schema - for providers that support validateConfig.
|
|
11
|
+
*/
|
|
12
|
+
export interface ConfigurableProvider extends BaseProvider {
|
|
13
|
+
/** Zod schema for validating provider configuration */
|
|
14
|
+
configSchema: z.ZodType<any, any, any>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Error factory interface for customizing registry errors.
|
|
18
|
+
* Each registry can provide its own error implementations.
|
|
19
|
+
*/
|
|
20
|
+
export interface RegistryErrorFactory {
|
|
21
|
+
/** Called when attempting to register a provider that already exists */
|
|
22
|
+
alreadyRegistered(type: string): Error;
|
|
23
|
+
/** Called when looking up a provider that doesn't exist (for validateConfig) */
|
|
24
|
+
notFound(type: string, availableTypes: string[]): Error;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Default error factory that throws plain Error instances.
|
|
28
|
+
* Used when no custom error factory is provided.
|
|
29
|
+
*/
|
|
30
|
+
export declare const defaultErrorFactory: RegistryErrorFactory;
|
|
31
|
+
/**
|
|
32
|
+
* Generic base registry for provider patterns.
|
|
33
|
+
*
|
|
34
|
+
* This class provides common registry functionality used across Dexto's
|
|
35
|
+
* provider system (blob storage, compression, custom tools, etc.).
|
|
36
|
+
*
|
|
37
|
+
* Features:
|
|
38
|
+
* - Type-safe provider registration and retrieval
|
|
39
|
+
* - Duplicate registration prevention
|
|
40
|
+
* - Customizable error handling via error factory
|
|
41
|
+
* - Optional config validation for providers with schemas
|
|
42
|
+
*
|
|
43
|
+
* @template TProvider - The provider type (must extend BaseProvider)
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Define your provider interface
|
|
48
|
+
* interface MyProvider extends BaseProvider {
|
|
49
|
+
* type: string;
|
|
50
|
+
* configSchema: z.ZodType<any>;
|
|
51
|
+
* create(config: any): MyInstance;
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* // Create a registry
|
|
55
|
+
* class MyRegistry extends BaseRegistry<MyProvider> {
|
|
56
|
+
* constructor() {
|
|
57
|
+
* super({
|
|
58
|
+
* alreadyRegistered: (type) => new MyError(`Provider ${type} exists`),
|
|
59
|
+
* notFound: (type, available) => new MyError(`Unknown: ${type}`),
|
|
60
|
+
* });
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
*
|
|
64
|
+
* // Use the registry
|
|
65
|
+
* const registry = new MyRegistry();
|
|
66
|
+
* registry.register(myProvider);
|
|
67
|
+
* const provider = registry.get('my-type');
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare class BaseRegistry<TProvider extends BaseProvider> {
|
|
71
|
+
protected providers: Map<string, TProvider>;
|
|
72
|
+
protected errorFactory: RegistryErrorFactory;
|
|
73
|
+
/**
|
|
74
|
+
* Create a new registry instance.
|
|
75
|
+
*
|
|
76
|
+
* @param errorFactory - Optional custom error factory for registry errors.
|
|
77
|
+
* If not provided, uses default Error instances.
|
|
78
|
+
*/
|
|
79
|
+
constructor(errorFactory?: RegistryErrorFactory);
|
|
80
|
+
/**
|
|
81
|
+
* Register a provider.
|
|
82
|
+
*
|
|
83
|
+
* @param provider - The provider to register
|
|
84
|
+
* @throws Error if a provider with the same type is already registered
|
|
85
|
+
*/
|
|
86
|
+
register(provider: TProvider): void;
|
|
87
|
+
/**
|
|
88
|
+
* Unregister a provider.
|
|
89
|
+
*
|
|
90
|
+
* @param type - The provider type to unregister
|
|
91
|
+
* @returns true if the provider was unregistered, false if it wasn't registered
|
|
92
|
+
*/
|
|
93
|
+
unregister(type: string): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Get a registered provider by type.
|
|
96
|
+
*
|
|
97
|
+
* @param type - The provider type identifier
|
|
98
|
+
* @returns The provider if found, undefined otherwise
|
|
99
|
+
*/
|
|
100
|
+
get(type: string): TProvider | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Check if a provider is registered.
|
|
103
|
+
*
|
|
104
|
+
* @param type - The provider type identifier
|
|
105
|
+
* @returns true if registered, false otherwise
|
|
106
|
+
*/
|
|
107
|
+
has(type: string): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Get all registered provider types.
|
|
110
|
+
*
|
|
111
|
+
* @returns Array of provider type identifiers
|
|
112
|
+
*/
|
|
113
|
+
getTypes(): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Get all registered providers.
|
|
116
|
+
*
|
|
117
|
+
* @returns Array of providers
|
|
118
|
+
*/
|
|
119
|
+
getAll(): TProvider[];
|
|
120
|
+
/**
|
|
121
|
+
* Get the number of registered providers.
|
|
122
|
+
*
|
|
123
|
+
* @returns Count of registered providers
|
|
124
|
+
*/
|
|
125
|
+
get size(): number;
|
|
126
|
+
/**
|
|
127
|
+
* Clear all registered providers.
|
|
128
|
+
* Primarily useful for testing.
|
|
129
|
+
*/
|
|
130
|
+
clear(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Validate a configuration against a provider's schema.
|
|
133
|
+
*
|
|
134
|
+
* This method is only available for registries with providers that have
|
|
135
|
+
* a configSchema property. It:
|
|
136
|
+
* 1. Extracts the 'type' field to identify the provider
|
|
137
|
+
* 2. Looks up the provider in the registry
|
|
138
|
+
* 3. Validates the full config against the provider's schema
|
|
139
|
+
* 4. Returns the validated configuration
|
|
140
|
+
*
|
|
141
|
+
* @param config - Raw configuration object with a 'type' field
|
|
142
|
+
* @returns Validated configuration object
|
|
143
|
+
* @throws Error if type is missing, provider not found, or validation fails
|
|
144
|
+
*/
|
|
145
|
+
validateConfig(config: unknown): any;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=base-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-registry.d.ts","sourceRoot":"","sources":["../../src/providers/base-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,uDAAuD;IACvD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,wEAAwE;IACxE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;CAC3D;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAMjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY;IACpD,SAAS,CAAC,SAAS,yBAAgC;IACnD,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAE7C;;;;;OAKG;gBACS,YAAY,GAAE,oBAA0C;IAIpE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAOnC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;OAIG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;;;OAIG;IACH,MAAM,IAAI,SAAS,EAAE;IAIrB;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG;CAqBvC"}
|