@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,123 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const defaultErrorFactory = {
|
|
4
|
+
alreadyRegistered: (type) => new Error(`Provider '${type}' is already registered`),
|
|
5
|
+
notFound: (type, availableTypes) => new Error(
|
|
6
|
+
`Provider '${type}' not found. Available: ${availableTypes.join(", ") || "none"}`
|
|
7
|
+
)
|
|
8
|
+
};
|
|
9
|
+
class BaseRegistry {
|
|
10
|
+
providers = /* @__PURE__ */ new Map();
|
|
11
|
+
errorFactory;
|
|
12
|
+
/**
|
|
13
|
+
* Create a new registry instance.
|
|
14
|
+
*
|
|
15
|
+
* @param errorFactory - Optional custom error factory for registry errors.
|
|
16
|
+
* If not provided, uses default Error instances.
|
|
17
|
+
*/
|
|
18
|
+
constructor(errorFactory = defaultErrorFactory) {
|
|
19
|
+
this.errorFactory = errorFactory;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Register a provider.
|
|
23
|
+
*
|
|
24
|
+
* @param provider - The provider to register
|
|
25
|
+
* @throws Error if a provider with the same type is already registered
|
|
26
|
+
*/
|
|
27
|
+
register(provider) {
|
|
28
|
+
if (this.providers.has(provider.type)) {
|
|
29
|
+
throw this.errorFactory.alreadyRegistered(provider.type);
|
|
30
|
+
}
|
|
31
|
+
this.providers.set(provider.type, provider);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Unregister a provider.
|
|
35
|
+
*
|
|
36
|
+
* @param type - The provider type to unregister
|
|
37
|
+
* @returns true if the provider was unregistered, false if it wasn't registered
|
|
38
|
+
*/
|
|
39
|
+
unregister(type) {
|
|
40
|
+
return this.providers.delete(type);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get a registered provider by type.
|
|
44
|
+
*
|
|
45
|
+
* @param type - The provider type identifier
|
|
46
|
+
* @returns The provider if found, undefined otherwise
|
|
47
|
+
*/
|
|
48
|
+
get(type) {
|
|
49
|
+
return this.providers.get(type);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if a provider is registered.
|
|
53
|
+
*
|
|
54
|
+
* @param type - The provider type identifier
|
|
55
|
+
* @returns true if registered, false otherwise
|
|
56
|
+
*/
|
|
57
|
+
has(type) {
|
|
58
|
+
return this.providers.has(type);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get all registered provider types.
|
|
62
|
+
*
|
|
63
|
+
* @returns Array of provider type identifiers
|
|
64
|
+
*/
|
|
65
|
+
getTypes() {
|
|
66
|
+
return Array.from(this.providers.keys());
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get all registered providers.
|
|
70
|
+
*
|
|
71
|
+
* @returns Array of providers
|
|
72
|
+
*/
|
|
73
|
+
getAll() {
|
|
74
|
+
return Array.from(this.providers.values());
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get the number of registered providers.
|
|
78
|
+
*
|
|
79
|
+
* @returns Count of registered providers
|
|
80
|
+
*/
|
|
81
|
+
get size() {
|
|
82
|
+
return this.providers.size;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Clear all registered providers.
|
|
86
|
+
* Primarily useful for testing.
|
|
87
|
+
*/
|
|
88
|
+
clear() {
|
|
89
|
+
this.providers.clear();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Validate a configuration against a provider's schema.
|
|
93
|
+
*
|
|
94
|
+
* This method is only available for registries with providers that have
|
|
95
|
+
* a configSchema property. It:
|
|
96
|
+
* 1. Extracts the 'type' field to identify the provider
|
|
97
|
+
* 2. Looks up the provider in the registry
|
|
98
|
+
* 3. Validates the full config against the provider's schema
|
|
99
|
+
* 4. Returns the validated configuration
|
|
100
|
+
*
|
|
101
|
+
* @param config - Raw configuration object with a 'type' field
|
|
102
|
+
* @returns Validated configuration object
|
|
103
|
+
* @throws Error if type is missing, provider not found, or validation fails
|
|
104
|
+
*/
|
|
105
|
+
validateConfig(config) {
|
|
106
|
+
const typeSchema = z.object({ type: z.string() }).passthrough();
|
|
107
|
+
const parsed = typeSchema.parse(config);
|
|
108
|
+
const provider = this.providers.get(parsed.type);
|
|
109
|
+
if (!provider) {
|
|
110
|
+
throw this.errorFactory.notFound(parsed.type, this.getTypes());
|
|
111
|
+
}
|
|
112
|
+
if (!("configSchema" in provider) || !provider.configSchema) {
|
|
113
|
+
throw new Error(
|
|
114
|
+
`Provider '${parsed.type}' does not support config validation (no configSchema)`
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
return provider.configSchema.parse(config);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
BaseRegistry,
|
|
122
|
+
defaultErrorFactory
|
|
123
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
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 discovery_exports = {};
|
|
20
|
+
__export(discovery_exports, {
|
|
21
|
+
getProvidersByCategory: () => getProvidersByCategory,
|
|
22
|
+
hasProvider: () => hasProvider,
|
|
23
|
+
listAllProviders: () => listAllProviders
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(discovery_exports);
|
|
26
|
+
var import_blob = require("../storage/blob/index.js");
|
|
27
|
+
var import_compaction = require("../context/compaction/index.js");
|
|
28
|
+
var import_custom_tool_registry = require("../tools/custom-tool-registry.js");
|
|
29
|
+
var import_constants = require("../tools/internal-tools/constants.js");
|
|
30
|
+
var import_registry = require("../tools/internal-tools/registry.js");
|
|
31
|
+
function listAllProviders() {
|
|
32
|
+
const blobProviders = import_blob.blobStoreRegistry.getProviders().map((provider) => {
|
|
33
|
+
const info = {
|
|
34
|
+
type: provider.type,
|
|
35
|
+
category: "blob"
|
|
36
|
+
};
|
|
37
|
+
if (provider.metadata) {
|
|
38
|
+
info.metadata = provider.metadata;
|
|
39
|
+
}
|
|
40
|
+
return info;
|
|
41
|
+
});
|
|
42
|
+
const compactionProviders = import_compaction.compactionRegistry.getAll().map((provider) => {
|
|
43
|
+
const info = {
|
|
44
|
+
type: provider.type,
|
|
45
|
+
category: "compaction"
|
|
46
|
+
};
|
|
47
|
+
if (provider.metadata) {
|
|
48
|
+
info.metadata = provider.metadata;
|
|
49
|
+
}
|
|
50
|
+
return info;
|
|
51
|
+
});
|
|
52
|
+
const customToolProviders = import_custom_tool_registry.customToolRegistry.getTypes().map((type) => {
|
|
53
|
+
const provider = import_custom_tool_registry.customToolRegistry.get(type);
|
|
54
|
+
const info = {
|
|
55
|
+
type,
|
|
56
|
+
category: "customTools"
|
|
57
|
+
};
|
|
58
|
+
if (provider?.metadata) {
|
|
59
|
+
info.metadata = provider.metadata;
|
|
60
|
+
}
|
|
61
|
+
return info;
|
|
62
|
+
});
|
|
63
|
+
const internalTools = import_constants.INTERNAL_TOOL_NAMES.map((name) => ({
|
|
64
|
+
name,
|
|
65
|
+
description: import_registry.INTERNAL_TOOL_REGISTRY[name].description
|
|
66
|
+
}));
|
|
67
|
+
return {
|
|
68
|
+
blob: blobProviders,
|
|
69
|
+
compaction: compactionProviders,
|
|
70
|
+
customTools: customToolProviders,
|
|
71
|
+
internalTools
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function getProvidersByCategory(category) {
|
|
75
|
+
const allProviders = listAllProviders();
|
|
76
|
+
return allProviders[category];
|
|
77
|
+
}
|
|
78
|
+
function hasProvider(category, type) {
|
|
79
|
+
switch (category) {
|
|
80
|
+
case "blob":
|
|
81
|
+
return import_blob.blobStoreRegistry.has(type);
|
|
82
|
+
case "compaction":
|
|
83
|
+
return import_compaction.compactionRegistry.has(type);
|
|
84
|
+
case "customTools":
|
|
85
|
+
return import_custom_tool_registry.customToolRegistry.has(type);
|
|
86
|
+
default:
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
91
|
+
0 && (module.exports = {
|
|
92
|
+
getProvidersByCategory,
|
|
93
|
+
hasProvider,
|
|
94
|
+
listAllProviders
|
|
95
|
+
});
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information about a registered provider.
|
|
3
|
+
*/
|
|
4
|
+
export interface DiscoveredProvider {
|
|
5
|
+
/** Provider type identifier (e.g., 'local', 's3', 'reactive-overflow') */
|
|
6
|
+
type: string;
|
|
7
|
+
/** Provider category */
|
|
8
|
+
category: 'blob' | 'compaction' | 'customTools';
|
|
9
|
+
/** Optional metadata about the provider */
|
|
10
|
+
metadata?: {
|
|
11
|
+
displayName?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
} | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Information about an internal tool for discovery.
|
|
18
|
+
*/
|
|
19
|
+
export interface InternalToolDiscovery {
|
|
20
|
+
/** Tool name identifier (e.g., 'search_history', 'ask_user') */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Human-readable description of what the tool does */
|
|
23
|
+
description: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Discovery result with providers grouped by category.
|
|
27
|
+
*/
|
|
28
|
+
export interface ProviderDiscovery {
|
|
29
|
+
/** Blob storage providers */
|
|
30
|
+
blob: DiscoveredProvider[];
|
|
31
|
+
/** Compaction strategy providers */
|
|
32
|
+
compaction: DiscoveredProvider[];
|
|
33
|
+
/** Custom tool providers */
|
|
34
|
+
customTools: DiscoveredProvider[];
|
|
35
|
+
/** Internal tools available for configuration */
|
|
36
|
+
internalTools: InternalToolDiscovery[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Provider category type.
|
|
40
|
+
*/
|
|
41
|
+
export type ProviderCategory = 'blob' | 'compaction' | 'customTools';
|
|
42
|
+
/**
|
|
43
|
+
* List all registered providers across all registries.
|
|
44
|
+
*
|
|
45
|
+
* This function is useful for debugging and building UIs that need to display
|
|
46
|
+
* available providers. It queries all provider registries and returns a
|
|
47
|
+
* comprehensive view of what's currently registered.
|
|
48
|
+
*
|
|
49
|
+
* @returns Object with providers grouped by category
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const providers = listAllProviders();
|
|
54
|
+
* console.log('Available blob providers:', providers.blob);
|
|
55
|
+
* console.log('Available compaction providers:', providers.compaction);
|
|
56
|
+
* console.log('Available custom tool providers:', providers.customTools);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function listAllProviders(): ProviderDiscovery;
|
|
60
|
+
/**
|
|
61
|
+
* Get all providers for a specific category.
|
|
62
|
+
*
|
|
63
|
+
* @param category - The provider category to query
|
|
64
|
+
* @returns Array of provider information for the specified category
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const blobProviders = getProvidersByCategory('blob');
|
|
69
|
+
* blobProviders.forEach(p => {
|
|
70
|
+
* console.log(`${p.type}: ${p.metadata?.displayName}`);
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function getProvidersByCategory(category: ProviderCategory): DiscoveredProvider[];
|
|
75
|
+
/**
|
|
76
|
+
* Check if a specific provider exists in a category.
|
|
77
|
+
*
|
|
78
|
+
* @param category - The provider category to check
|
|
79
|
+
* @param type - The provider type identifier
|
|
80
|
+
* @returns True if the provider is registered, false otherwise
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* if (hasProvider('blob', 's3')) {
|
|
85
|
+
* console.log('S3 blob storage is available');
|
|
86
|
+
* }
|
|
87
|
+
*
|
|
88
|
+
* if (hasProvider('compaction', 'reactive-overflow')) {
|
|
89
|
+
* console.log('Reactive overflow compaction is available');
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function hasProvider(category: ProviderCategory, type: string): boolean;
|
|
94
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/providers/discovery.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;IAEhD,2CAA2C;IAC3C,QAAQ,CAAC,EACH;QACI,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,GACD,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IAEb,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAE3B,oCAAoC;IACpC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAEjC,4BAA4B;IAC5B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAElC,iDAAiD;IACjD,aAAa,EAAE,qBAAqB,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAkDpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAGvF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAW7E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
import { blobStoreRegistry } from "../storage/blob/index.js";
|
|
3
|
+
import { compactionRegistry } from "../context/compaction/index.js";
|
|
4
|
+
import { customToolRegistry } from "../tools/custom-tool-registry.js";
|
|
5
|
+
import { INTERNAL_TOOL_NAMES } from "../tools/internal-tools/constants.js";
|
|
6
|
+
import { INTERNAL_TOOL_REGISTRY } from "../tools/internal-tools/registry.js";
|
|
7
|
+
function listAllProviders() {
|
|
8
|
+
const blobProviders = blobStoreRegistry.getProviders().map((provider) => {
|
|
9
|
+
const info = {
|
|
10
|
+
type: provider.type,
|
|
11
|
+
category: "blob"
|
|
12
|
+
};
|
|
13
|
+
if (provider.metadata) {
|
|
14
|
+
info.metadata = provider.metadata;
|
|
15
|
+
}
|
|
16
|
+
return info;
|
|
17
|
+
});
|
|
18
|
+
const compactionProviders = compactionRegistry.getAll().map((provider) => {
|
|
19
|
+
const info = {
|
|
20
|
+
type: provider.type,
|
|
21
|
+
category: "compaction"
|
|
22
|
+
};
|
|
23
|
+
if (provider.metadata) {
|
|
24
|
+
info.metadata = provider.metadata;
|
|
25
|
+
}
|
|
26
|
+
return info;
|
|
27
|
+
});
|
|
28
|
+
const customToolProviders = customToolRegistry.getTypes().map((type) => {
|
|
29
|
+
const provider = customToolRegistry.get(type);
|
|
30
|
+
const info = {
|
|
31
|
+
type,
|
|
32
|
+
category: "customTools"
|
|
33
|
+
};
|
|
34
|
+
if (provider?.metadata) {
|
|
35
|
+
info.metadata = provider.metadata;
|
|
36
|
+
}
|
|
37
|
+
return info;
|
|
38
|
+
});
|
|
39
|
+
const internalTools = INTERNAL_TOOL_NAMES.map((name) => ({
|
|
40
|
+
name,
|
|
41
|
+
description: INTERNAL_TOOL_REGISTRY[name].description
|
|
42
|
+
}));
|
|
43
|
+
return {
|
|
44
|
+
blob: blobProviders,
|
|
45
|
+
compaction: compactionProviders,
|
|
46
|
+
customTools: customToolProviders,
|
|
47
|
+
internalTools
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function getProvidersByCategory(category) {
|
|
51
|
+
const allProviders = listAllProviders();
|
|
52
|
+
return allProviders[category];
|
|
53
|
+
}
|
|
54
|
+
function hasProvider(category, type) {
|
|
55
|
+
switch (category) {
|
|
56
|
+
case "blob":
|
|
57
|
+
return blobStoreRegistry.has(type);
|
|
58
|
+
case "compaction":
|
|
59
|
+
return compactionRegistry.has(type);
|
|
60
|
+
case "customTools":
|
|
61
|
+
return customToolRegistry.has(type);
|
|
62
|
+
default:
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
getProvidersByCategory,
|
|
68
|
+
hasProvider,
|
|
69
|
+
listAllProviders
|
|
70
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var providers_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(providers_exports);
|
|
18
|
+
__reExport(providers_exports, require("./base-registry.js"), module.exports);
|
|
19
|
+
__reExport(providers_exports, require("./discovery.js"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("./base-registry.js"),
|
|
23
|
+
...require("./discovery.js")
|
|
24
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Infrastructure
|
|
3
|
+
*
|
|
4
|
+
* This module provides:
|
|
5
|
+
* 1. BaseRegistry - Generic base class for building type-safe provider registries
|
|
6
|
+
* 2. Discovery API - Utilities for querying registered providers across all registries
|
|
7
|
+
*
|
|
8
|
+
* Useful for:
|
|
9
|
+
* - Building custom provider registries with consistent behavior
|
|
10
|
+
* - Debugging: See what providers are available at runtime
|
|
11
|
+
* - UIs: Build dynamic interfaces that show available providers
|
|
12
|
+
* - Configuration validation: Check if required providers are registered
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { BaseRegistry, listAllProviders, hasProvider } from '@dexto/core';
|
|
17
|
+
*
|
|
18
|
+
* // Create a custom registry
|
|
19
|
+
* class MyRegistry extends BaseRegistry<MyProvider> {
|
|
20
|
+
* constructor() {
|
|
21
|
+
* super(myErrorFactory);
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* // List all providers
|
|
26
|
+
* const providers = listAllProviders();
|
|
27
|
+
* console.log('Blob providers:', providers.blob);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export * from './base-registry.js';
|
|
31
|
+
export * from './discovery.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
|
@@ -140,9 +140,9 @@ function formatResourceContent(resourceUri, resourceName, content) {
|
|
|
140
140
|
contentParts.push(`
|
|
141
141
|
--- Content from resource: ${resourceName} (${resourceUri}) ---`);
|
|
142
142
|
for (const item of content.contents) {
|
|
143
|
-
if (item.text && typeof item.text === "string") {
|
|
143
|
+
if ("text" in item && item.text && typeof item.text === "string") {
|
|
144
144
|
contentParts.push(item.text);
|
|
145
|
-
} else if (item.blob) {
|
|
145
|
+
} else if ("blob" in item && item.blob) {
|
|
146
146
|
const blobSize = typeof item.blob === "string" ? item.blob.length : "unknown";
|
|
147
147
|
contentParts.push(`[Binary content: ${item.mimeType || "unknown"}, ${blobSize} bytes]`);
|
|
148
148
|
}
|
|
@@ -172,7 +172,7 @@ async function expandMessageReferences(message, availableResources, resourceRead
|
|
|
172
172
|
const resource = availableResources[ref.resourceUri];
|
|
173
173
|
let isImageResource = false;
|
|
174
174
|
for (const item of content.contents) {
|
|
175
|
-
if (item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
175
|
+
if ("blob" in item && item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
176
176
|
extractedImages.push({
|
|
177
177
|
image: item.blob,
|
|
178
178
|
mimeType: item.mimeType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA+ElC"}
|
|
@@ -115,9 +115,9 @@ function formatResourceContent(resourceUri, resourceName, content) {
|
|
|
115
115
|
contentParts.push(`
|
|
116
116
|
--- Content from resource: ${resourceName} (${resourceUri}) ---`);
|
|
117
117
|
for (const item of content.contents) {
|
|
118
|
-
if (item.text && typeof item.text === "string") {
|
|
118
|
+
if ("text" in item && item.text && typeof item.text === "string") {
|
|
119
119
|
contentParts.push(item.text);
|
|
120
|
-
} else if (item.blob) {
|
|
120
|
+
} else if ("blob" in item && item.blob) {
|
|
121
121
|
const blobSize = typeof item.blob === "string" ? item.blob.length : "unknown";
|
|
122
122
|
contentParts.push(`[Binary content: ${item.mimeType || "unknown"}, ${blobSize} bytes]`);
|
|
123
123
|
}
|
|
@@ -147,7 +147,7 @@ async function expandMessageReferences(message, availableResources, resourceRead
|
|
|
147
147
|
const resource = availableResources[ref.resourceUri];
|
|
148
148
|
let isImageResource = false;
|
|
149
149
|
for (const item of content.contents) {
|
|
150
|
-
if (item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
150
|
+
if ("blob" in item && item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
|
|
151
151
|
extractedImages.push({
|
|
152
152
|
image: item.blob,
|
|
153
153
|
mimeType: item.mimeType,
|
|
@@ -23,6 +23,7 @@ __export(chat_session_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(chat_session_exports);
|
|
24
24
|
var import_factory = require("./history/factory.js");
|
|
25
25
|
var import_factory2 = require("../llm/services/factory.js");
|
|
26
|
+
var import_compaction = require("../context/compaction/index.js");
|
|
26
27
|
var import_events = require("../events/index.js");
|
|
27
28
|
var import_types = require("../logger/v2/types.js");
|
|
28
29
|
var import_errors = require("../errors/index.js");
|
|
@@ -143,12 +144,18 @@ class ChatSession {
|
|
|
143
144
|
* Initializes session-specific services.
|
|
144
145
|
*/
|
|
145
146
|
async initializeServices() {
|
|
146
|
-
const
|
|
147
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
148
|
+
const llmConfig = runtimeConfig.llm;
|
|
147
149
|
this.historyProvider = (0, import_factory.createDatabaseHistoryProvider)(
|
|
148
150
|
this.services.storageManager.getDatabase(),
|
|
149
151
|
this.id,
|
|
150
152
|
this.logger
|
|
151
153
|
);
|
|
154
|
+
const model = (0, import_factory2.createVercelModel)(llmConfig);
|
|
155
|
+
const compactionStrategy = await (0, import_compaction.createCompactionStrategy)(runtimeConfig.compaction, {
|
|
156
|
+
logger: this.logger,
|
|
157
|
+
model
|
|
158
|
+
});
|
|
152
159
|
this.llmService = (0, import_factory2.createLLMService)(
|
|
153
160
|
llmConfig,
|
|
154
161
|
this.services.toolManager,
|
|
@@ -160,8 +167,10 @@ class ChatSession {
|
|
|
160
167
|
this.id,
|
|
161
168
|
this.services.resourceManager,
|
|
162
169
|
// Pass ResourceManager for blob storage
|
|
163
|
-
this.logger
|
|
170
|
+
this.logger,
|
|
164
171
|
// Pass logger for dependency injection
|
|
172
|
+
compactionStrategy
|
|
173
|
+
// Pass compaction strategy
|
|
165
174
|
);
|
|
166
175
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
167
176
|
}
|
|
@@ -429,6 +438,12 @@ class ChatSession {
|
|
|
429
438
|
*/
|
|
430
439
|
async switchLLM(newLLMConfig) {
|
|
431
440
|
try {
|
|
441
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
442
|
+
const model = (0, import_factory2.createVercelModel)(newLLMConfig);
|
|
443
|
+
const compactionStrategy = await (0, import_compaction.createCompactionStrategy)(runtimeConfig.compaction, {
|
|
444
|
+
logger: this.logger,
|
|
445
|
+
model
|
|
446
|
+
});
|
|
432
447
|
const newLLMService = (0, import_factory2.createLLMService)(
|
|
433
448
|
newLLMConfig,
|
|
434
449
|
this.services.toolManager,
|
|
@@ -439,7 +454,9 @@ class ChatSession {
|
|
|
439
454
|
// Use session event bus
|
|
440
455
|
this.id,
|
|
441
456
|
this.services.resourceManager,
|
|
442
|
-
this.logger
|
|
457
|
+
this.logger,
|
|
458
|
+
compactionStrategy
|
|
459
|
+
// Pass compaction strategy
|
|
443
460
|
);
|
|
444
461
|
this.llmService = newLLMService;
|
|
445
462
|
this.logger.info(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/session/chat-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/session/chat-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "../chunk-PTJYTZNU.js";
|
|
2
2
|
import { createDatabaseHistoryProvider } from "./history/factory.js";
|
|
3
|
-
import { createLLMService } from "../llm/services/factory.js";
|
|
3
|
+
import { createLLMService, createVercelModel } from "../llm/services/factory.js";
|
|
4
|
+
import { createCompactionStrategy } from "../context/compaction/index.js";
|
|
4
5
|
import {
|
|
5
6
|
SessionEventBus,
|
|
6
7
|
SessionEventNames
|
|
@@ -124,12 +125,18 @@ class ChatSession {
|
|
|
124
125
|
* Initializes session-specific services.
|
|
125
126
|
*/
|
|
126
127
|
async initializeServices() {
|
|
127
|
-
const
|
|
128
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
129
|
+
const llmConfig = runtimeConfig.llm;
|
|
128
130
|
this.historyProvider = createDatabaseHistoryProvider(
|
|
129
131
|
this.services.storageManager.getDatabase(),
|
|
130
132
|
this.id,
|
|
131
133
|
this.logger
|
|
132
134
|
);
|
|
135
|
+
const model = createVercelModel(llmConfig);
|
|
136
|
+
const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
|
|
137
|
+
logger: this.logger,
|
|
138
|
+
model
|
|
139
|
+
});
|
|
133
140
|
this.llmService = createLLMService(
|
|
134
141
|
llmConfig,
|
|
135
142
|
this.services.toolManager,
|
|
@@ -141,8 +148,10 @@ class ChatSession {
|
|
|
141
148
|
this.id,
|
|
142
149
|
this.services.resourceManager,
|
|
143
150
|
// Pass ResourceManager for blob storage
|
|
144
|
-
this.logger
|
|
151
|
+
this.logger,
|
|
145
152
|
// Pass logger for dependency injection
|
|
153
|
+
compactionStrategy
|
|
154
|
+
// Pass compaction strategy
|
|
146
155
|
);
|
|
147
156
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
148
157
|
}
|
|
@@ -410,6 +419,12 @@ class ChatSession {
|
|
|
410
419
|
*/
|
|
411
420
|
async switchLLM(newLLMConfig) {
|
|
412
421
|
try {
|
|
422
|
+
const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
|
|
423
|
+
const model = createVercelModel(newLLMConfig);
|
|
424
|
+
const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
|
|
425
|
+
logger: this.logger,
|
|
426
|
+
model
|
|
427
|
+
});
|
|
413
428
|
const newLLMService = createLLMService(
|
|
414
429
|
newLLMConfig,
|
|
415
430
|
this.services.toolManager,
|
|
@@ -420,7 +435,9 @@ class ChatSession {
|
|
|
420
435
|
// Use session event bus
|
|
421
436
|
this.id,
|
|
422
437
|
this.services.resourceManager,
|
|
423
|
-
this.logger
|
|
438
|
+
this.logger,
|
|
439
|
+
compactionStrategy
|
|
440
|
+
// Pass compaction strategy
|
|
424
441
|
);
|
|
425
442
|
this.llmService = newLLMService;
|
|
426
443
|
this.logger.info(
|