@dexto/core 1.7.1 → 1.8.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/dist/agent/DextoAgent.cjs +157 -62
- package/dist/agent/DextoAgent.d.ts +71 -17
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +161 -63
- package/dist/agent/agent-options.d.ts +6 -10
- package/dist/agent/agent-options.d.ts.map +1 -1
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.js +1 -1
- package/dist/agent/errors.js +1 -1
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/schemas.d.ts +2 -2
- package/dist/agent/schemas.js +1 -1
- package/dist/agent/state-manager.js +1 -1
- package/dist/approval/error-codes.cjs +1 -1
- package/dist/approval/error-codes.d.ts +1 -1
- package/dist/approval/error-codes.d.ts.map +1 -1
- package/dist/approval/error-codes.js +2 -2
- package/dist/approval/errors.cjs +2 -5
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +3 -6
- package/dist/approval/factory.cjs +19 -4
- package/dist/approval/factory.d.ts +4 -1
- package/dist/approval/factory.d.ts.map +1 -1
- package/dist/approval/factory.js +19 -5
- package/dist/approval/index.d.ts +1 -1
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +168 -26
- package/dist/approval/manager.d.ts +46 -12
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +177 -29
- package/dist/approval/schemas.cjs +26 -26
- package/dist/approval/schemas.d.ts +29 -29
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +23 -23
- package/dist/approval/types.cjs +5 -5
- package/dist/approval/types.d.ts +18 -18
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +6 -6
- package/dist/{chunk-PTJYTZNU.js → chunk-C6A6W6XS.js} +1 -44
- package/dist/config/index.cjs +75 -0
- package/dist/config/index.d.ts +15 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +50 -0
- package/dist/context/compaction/overflow.js +1 -1
- package/dist/context/compaction/strategies/noop.js +1 -1
- package/dist/context/compaction/strategies/reactive-overflow-compaction.js +1 -1
- package/dist/context/content-clone.cjs +131 -0
- package/dist/context/content-clone.d.ts +7 -0
- package/dist/context/content-clone.d.ts.map +1 -0
- package/dist/context/content-clone.js +104 -0
- package/dist/context/error-codes.js +1 -1
- package/dist/context/errors.js +1 -1
- package/dist/context/index.cjs +2 -0
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/manager.cjs +47 -35
- package/dist/context/manager.d.ts +7 -7
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +48 -36
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/schemas.cjs +77 -0
- package/dist/context/schemas.d.ts +5 -0
- package/dist/context/schemas.d.ts.map +1 -0
- package/dist/context/schemas.js +53 -0
- package/dist/context/types.js +1 -1
- package/dist/context/utils.cjs +70 -69
- package/dist/context/utils.d.ts +3 -3
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +71 -70
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.js +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +9 -1
- package/dist/events/index.d.ts +20 -8
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +10 -2
- package/dist/hooks/builtins/content-policy.js +1 -1
- package/dist/hooks/builtins/response-sanitizer.js +1 -1
- package/dist/hooks/error-codes.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/manager.cjs +1 -1
- package/dist/hooks/manager.d.ts +2 -2
- package/dist/hooks/manager.d.ts.map +1 -1
- package/dist/hooks/manager.js +2 -2
- package/dist/hooks/types.d.ts +2 -2
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/llm/curation-config.js +1 -1
- package/dist/llm/curation.js +1 -1
- package/dist/llm/error-codes.js +1 -1
- package/dist/llm/errors.js +1 -1
- package/dist/llm/executor/index.cjs +32 -0
- package/dist/llm/executor/index.d.ts +2 -0
- package/dist/llm/executor/index.d.ts.map +1 -0
- package/dist/llm/executor/index.js +11 -0
- package/dist/llm/executor/provider-options.js +1 -1
- package/dist/llm/executor/stream-processor.cjs +28 -139
- package/dist/llm/executor/stream-processor.d.ts +2 -13
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +29 -140
- package/dist/{session/history/memory.cjs → llm/executor/tool-definitions.cjs} +21 -33
- package/dist/llm/executor/tool-definitions.d.ts +4 -0
- package/dist/llm/executor/tool-definitions.d.ts.map +1 -0
- package/dist/llm/executor/tool-definitions.js +22 -0
- package/dist/llm/executor/tool-output-truncator.js +1 -1
- package/dist/llm/executor/turn-executor.cjs +1093 -458
- package/dist/llm/executor/turn-executor.d.ts +269 -43
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +1079 -405
- package/dist/llm/executor/types.d.ts +6 -0
- package/dist/llm/executor/types.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +1 -1
- package/dist/llm/index.cjs +2 -0
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +2 -1
- package/dist/llm/providers/codex-app-server.cjs +22 -2
- package/dist/llm/providers/codex-app-server.d.ts.map +1 -1
- package/dist/llm/providers/codex-app-server.js +23 -3
- package/dist/llm/providers/codex-base-url.js +1 -1
- package/dist/llm/providers/local/ai-sdk-adapter.js +1 -1
- package/dist/llm/providers/local/downloader.js +1 -1
- package/dist/llm/providers/local/error-codes.js +1 -1
- package/dist/llm/providers/local/errors.js +1 -1
- package/dist/llm/providers/local/gpu-detector.js +1 -1
- package/dist/llm/providers/local/index.js +1 -1
- package/dist/llm/providers/local/node-llama-provider.js +1 -1
- package/dist/llm/providers/local/ollama-provider.js +1 -1
- package/dist/llm/providers/local/registry.js +1 -1
- package/dist/llm/providers/local/schemas.js +1 -1
- package/dist/llm/providers/openrouter-model-registry.js +1 -1
- package/dist/llm/reasoning/anthropic-betas.js +1 -1
- package/dist/llm/reasoning/anthropic-thinking.js +1 -1
- package/dist/llm/reasoning/openai-reasoning-effort.js +1 -1
- package/dist/llm/reasoning/profile.js +1 -1
- package/dist/llm/reasoning/profiles/anthropic.js +1 -1
- package/dist/llm/reasoning/profiles/bedrock.js +1 -1
- package/dist/llm/reasoning/profiles/google.js +1 -1
- package/dist/llm/reasoning/profiles/openai-compatible.js +1 -1
- package/dist/llm/reasoning/profiles/openai.js +1 -1
- package/dist/llm/reasoning/profiles/openrouter.js +1 -1
- package/dist/llm/reasoning/profiles/shared.js +1 -1
- package/dist/llm/reasoning/profiles/vertex.js +1 -1
- package/dist/llm/registry/auto-update.js +1 -1
- package/dist/llm/registry/index.js +1 -1
- package/dist/llm/registry/models.generated.js +1 -1
- package/dist/llm/registry/models.manual.js +1 -1
- package/dist/llm/registry/sync.js +1 -1
- package/dist/llm/resolver.js +1 -1
- package/dist/llm/schemas.js +1 -1
- package/dist/llm/services/factory.cjs +5 -4
- package/dist/llm/services/factory.d.ts +3 -3
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +6 -5
- package/dist/llm/services/types.d.ts +10 -1
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +23 -8
- package/dist/llm/services/vercel.d.ts +11 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +24 -9
- package/dist/llm/types.js +1 -1
- package/dist/llm/usage-metadata.cjs +20 -3
- package/dist/llm/usage-metadata.d.ts +1 -0
- package/dist/llm/usage-metadata.d.ts.map +1 -1
- package/dist/llm/usage-metadata.js +19 -3
- package/dist/llm/usage-scope.js +1 -1
- package/dist/llm/usage-summary.js +1 -1
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/default-logger-factory.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.js +1 -1
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.js +1 -1
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.js +1 -1
- package/dist/logger/v2/transports/silent-transport.js +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/bundled-config.js +1 -1
- package/dist/mcp/error-codes.js +1 -1
- package/dist/mcp/errors.js +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/manager.js +1 -1
- package/dist/mcp/mcp-client.js +1 -1
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.js +1 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.cjs +7 -27
- package/dist/memory/manager.d.ts +4 -12
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +8 -28
- package/dist/memory/schemas.js +1 -1
- package/dist/prompts/error-codes.js +1 -1
- package/dist/prompts/errors.js +1 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +9 -38
- package/dist/prompts/prompt-manager.d.ts +2 -10
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +10 -39
- package/dist/prompts/providers/config-prompt-provider.cjs +8 -87
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +9 -88
- package/dist/prompts/providers/custom-prompt-provider.cjs +21 -22
- package/dist/prompts/providers/custom-prompt-provider.d.ts +19 -4
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +22 -23
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.cjs +2 -24
- package/dist/prompts/schemas.d.ts +0 -52
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +3 -25
- package/dist/prompts/types.d.ts +5 -32
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/resources/agent-resources-provider.js +1 -1
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.cjs +14 -11
- package/dist/resources/handlers/blob-handler.d.ts +4 -4
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -12
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.js +4 -4
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/handlers/types.d.ts +2 -2
- package/dist/resources/handlers/types.d.ts.map +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/manager.cjs +10 -7
- package/dist/resources/manager.d.ts +4 -4
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +11 -8
- package/dist/resources/reference-parser.js +1 -1
- package/dist/resources/schemas.cjs +1 -1
- package/dist/resources/schemas.d.ts +2 -2
- package/dist/resources/schemas.js +2 -2
- package/dist/runtime/host-runtime.js +1 -1
- package/dist/runtime/index.cjs +3 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -1
- package/dist/runtime/run-context.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.cjs +6 -13
- package/dist/search/search-service.d.ts +5 -3
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +7 -14
- package/dist/session/chat-session.cjs +264 -108
- package/dist/session/chat-session.d.ts +75 -21
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +268 -108
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/index.cjs +19 -2
- package/dist/session/index.d.ts +4 -3
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +19 -3
- package/dist/session/message-queue.cjs +82 -51
- package/dist/session/message-queue.d.ts +13 -8
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +83 -52
- package/dist/session/queue-clone.cjs +50 -0
- package/dist/session/queue-clone.d.ts +5 -0
- package/dist/session/queue-clone.d.ts.map +1 -0
- package/dist/session/queue-clone.js +25 -0
- package/dist/session/schemas.cjs +74 -2
- package/dist/session/schemas.d.ts +94 -0
- package/dist/session/schemas.d.ts.map +1 -1
- package/dist/session/schemas.js +69 -2
- package/dist/session/session-manager.cjs +107 -123
- package/dist/session/session-manager.d.ts +7 -6
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +108 -124
- package/dist/session/title-generator.cjs +14 -26
- package/dist/session/title-generator.d.ts +4 -6
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +16 -28
- package/dist/session/types.cjs +28 -0
- package/dist/session/types.d.ts +5 -1
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +19 -0
- package/dist/{session/history/factory.cjs → skills/index.cjs} +9 -9
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +7 -0
- package/dist/skills/skill-manager.cjs +76 -0
- package/dist/skills/skill-manager.d.ts +13 -0
- package/dist/skills/skill-manager.d.ts.map +1 -0
- package/dist/skills/skill-manager.js +53 -0
- package/dist/skills/types.d.ts +24 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/workspace-skill-source.cjs +120 -0
- package/dist/skills/workspace-skill-source.d.ts +16 -0
- package/dist/skills/workspace-skill-source.d.ts.map +1 -0
- package/dist/skills/workspace-skill-source.js +97 -0
- package/dist/storage/approvals/types.cjs +38 -0
- package/dist/storage/approvals/types.d.ts +54 -0
- package/dist/storage/approvals/types.d.ts.map +1 -0
- package/dist/storage/approvals/types.js +14 -0
- package/dist/storage/artifacts/types.d.ts +73 -0
- package/dist/storage/artifacts/types.d.ts.map +1 -0
- package/dist/storage/conversation/database.cjs +233 -0
- package/dist/storage/conversation/database.d.ts +38 -0
- package/dist/storage/conversation/database.d.ts.map +1 -0
- package/dist/storage/conversation/database.js +210 -0
- package/dist/storage/conversation/types.cjs +16 -0
- package/dist/storage/conversation/types.d.ts +21 -0
- package/dist/storage/conversation/types.d.ts.map +1 -0
- package/dist/storage/conversation/types.js +0 -0
- package/dist/storage/database/types.d.ts +4 -0
- package/dist/storage/database/types.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -1
- package/dist/storage/errors.cjs +6 -6
- package/dist/storage/errors.d.ts +2 -2
- package/dist/storage/errors.js +7 -7
- package/dist/storage/index.cjs +42 -5
- package/dist/storage/index.d.ts +19 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +39 -4
- package/dist/storage/memories/types.cjs +16 -0
- package/dist/storage/memories/types.d.ts +17 -0
- package/dist/storage/memories/types.d.ts.map +1 -0
- package/dist/storage/memories/types.js +0 -0
- package/dist/storage/message-queue/types.cjs +16 -0
- package/dist/storage/message-queue/types.d.ts +15 -0
- package/dist/storage/message-queue/types.d.ts.map +1 -0
- package/dist/storage/message-queue/types.js +0 -0
- package/dist/storage/prompts/types.cjs +16 -0
- package/dist/storage/prompts/types.d.ts +14 -0
- package/dist/storage/prompts/types.d.ts.map +1 -0
- package/dist/storage/prompts/types.js +0 -0
- package/dist/storage/runtime-events/types.cjs +16 -0
- package/dist/storage/runtime-events/types.d.ts +19 -0
- package/dist/storage/runtime-events/types.d.ts.map +1 -0
- package/dist/storage/runtime-events/types.js +0 -0
- package/dist/storage/sessions/types.cjs +16 -0
- package/dist/storage/sessions/types.d.ts +19 -0
- package/dist/storage/sessions/types.d.ts.map +1 -0
- package/dist/storage/sessions/types.js +0 -0
- package/dist/storage/stores/backend.cjs +702 -0
- package/dist/storage/stores/backend.d.ts +303 -0
- package/dist/storage/stores/backend.d.ts.map +1 -0
- package/dist/storage/stores/backend.js +677 -0
- package/dist/storage/stores/in-memory.cjs +510 -0
- package/dist/storage/stores/in-memory.d.ts +11 -0
- package/dist/storage/stores/in-memory.d.ts.map +1 -0
- package/dist/storage/stores/in-memory.js +487 -0
- package/dist/storage/stores/types.cjs +16 -0
- package/dist/storage/stores/types.d.ts +36 -0
- package/dist/storage/stores/types.d.ts.map +1 -0
- package/dist/storage/stores/types.js +0 -0
- package/dist/storage/tool-executions/types.cjs +127 -0
- package/dist/storage/tool-executions/types.d.ts +193 -0
- package/dist/storage/tool-executions/types.d.ts.map +1 -0
- package/dist/storage/tool-executions/types.js +96 -0
- package/dist/storage/tool-preferences/types.cjs +16 -0
- package/dist/storage/tool-preferences/types.d.ts +29 -0
- package/dist/storage/tool-preferences/types.d.ts.map +1 -0
- package/dist/storage/tool-preferences/types.js +0 -0
- package/dist/storage/tool-state/types.cjs +16 -0
- package/dist/storage/tool-state/types.d.ts +20 -0
- package/dist/storage/tool-state/types.d.ts.map +1 -0
- package/dist/storage/tool-state/types.js +0 -0
- package/dist/storage/workspaces/types.cjs +16 -0
- package/dist/storage/workspaces/types.d.ts +19 -0
- package/dist/storage/workspaces/types.d.ts.map +1 -0
- package/dist/storage/workspaces/types.js +0 -0
- package/dist/systemPrompt/contributors.cjs +10 -14
- package/dist/systemPrompt/contributors.d.ts +3 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +11 -15
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.js +1 -1
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.js +1 -1
- package/dist/systemPrompt/schemas.js +1 -1
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/test-utils/in-memory-storage.cjs +9 -17
- package/dist/test-utils/in-memory-storage.js +9 -16
- package/dist/test-utils/session-state-stores.cjs +21 -24
- package/dist/test-utils/session-state-stores.js +22 -24
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.d.ts +2 -2
- package/dist/tools/approval/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/approval/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/approval/allowed-tools-provider/storage.cjs +66 -0
- package/dist/tools/{confirmation → approval}/allowed-tools-provider/storage.d.ts +4 -10
- package/dist/tools/approval/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/approval/allowed-tools-provider/storage.js +43 -0
- package/dist/tools/approval/allowed-tools-provider/types.cjs +16 -0
- package/dist/tools/approval/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/approval/allowed-tools-provider/types.js +0 -0
- package/dist/tools/approval/session-tool-policy.cjs +269 -0
- package/dist/tools/approval/session-tool-policy.d.ts +43 -0
- package/dist/tools/approval/session-tool-policy.d.ts.map +1 -0
- package/dist/tools/approval/session-tool-policy.js +245 -0
- package/dist/tools/define-tool.js +1 -1
- package/dist/tools/display-types.js +1 -1
- package/dist/tools/error-codes.cjs +3 -3
- package/dist/tools/error-codes.d.ts +4 -4
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +4 -4
- package/dist/tools/errors.cjs +12 -12
- package/dist/tools/errors.d.ts +6 -6
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +13 -13
- package/dist/tools/index.cjs +3 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/pattern-utils.js +1 -1
- package/dist/tools/presentation/tool-presentation.cjs +182 -0
- package/dist/tools/presentation/tool-presentation.d.ts +51 -0
- package/dist/tools/presentation/tool-presentation.d.ts.map +1 -0
- package/dist/tools/presentation/tool-presentation.js +159 -0
- package/dist/tools/presentation.js +1 -1
- package/dist/tools/schemas.cjs +5 -10
- package/dist/tools/schemas.d.ts +1 -4
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +6 -11
- package/dist/tools/session-tool-preferences-store.cjs +12 -28
- package/dist/tools/session-tool-preferences-store.d.ts +4 -7
- package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
- package/dist/tools/session-tool-preferences-store.js +12 -29
- package/dist/tools/tool-call-metadata.js +1 -1
- package/dist/tools/tool-manager.cjs +871 -834
- package/dist/tools/tool-manager.d.ts +94 -96
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +876 -833
- package/dist/tools/types.d.ts +10 -14
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +1 -1
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/utils/defer.js +1 -1
- package/dist/utils/env.js +1 -1
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.js +1 -1
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +37 -33
- package/dist/utils/service-initializer.d.ts +9 -5
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +38 -34
- package/dist/utils/zod-schema-converter.js +1 -1
- package/dist/workspace/error-codes.cjs +5 -1
- package/dist/workspace/error-codes.d.ts +4 -0
- package/dist/workspace/error-codes.d.ts.map +1 -1
- package/dist/workspace/error-codes.js +6 -2
- package/dist/workspace/errors.cjs +43 -0
- package/dist/workspace/errors.d.ts +9 -0
- package/dist/workspace/errors.d.ts.map +1 -1
- package/dist/workspace/errors.js +44 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/manager.cjs +21 -29
- package/dist/workspace/manager.d.ts +6 -6
- package/dist/workspace/manager.d.ts.map +1 -1
- package/dist/workspace/manager.js +22 -30
- package/dist/workspace/types.d.ts +47 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/package.json +114 -2
- package/dist/approval/session-approval-store.cjs +0 -91
- package/dist/approval/session-approval-store.d.ts +0 -37
- package/dist/approval/session-approval-store.d.ts.map +0 -1
- package/dist/approval/session-approval-store.js +0 -68
- package/dist/session/history/database.cjs +0 -232
- package/dist/session/history/database.d.ts +0 -41
- package/dist/session/history/database.d.ts.map +0 -1
- package/dist/session/history/database.js +0 -209
- package/dist/session/history/factory.d.ts +0 -11
- package/dist/session/history/factory.d.ts.map +0 -1
- package/dist/session/history/factory.js +0 -8
- package/dist/session/history/memory.d.ts +0 -22
- package/dist/session/history/memory.d.ts.map +0 -1
- package/dist/session/history/memory.js +0 -34
- package/dist/session/history/types.d.ts +0 -26
- package/dist/session/history/types.d.ts.map +0 -1
- package/dist/session/message-queue-store.cjs +0 -75
- package/dist/session/message-queue-store.d.ts +0 -16
- package/dist/session/message-queue-store.d.ts.map +0 -1
- package/dist/session/message-queue-store.js +0 -52
- package/dist/storage/storage-manager.cjs +0 -209
- package/dist/storage/storage-manager.d.ts +0 -77
- package/dist/storage/storage-manager.d.ts.map +0 -1
- package/dist/storage/storage-manager.js +0 -186
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +0 -69
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +0 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +0 -46
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +0 -1
- /package/dist/{session/history → skills}/types.cjs +0 -0
- /package/dist/{session/history → skills}/types.js +0 -0
- /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.cjs +0 -0
- /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.js +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.cjs +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.d.ts +0 -0
- /package/dist/tools/{confirmation → approval}/allowed-tools-provider/types.d.ts +0 -0
package/dist/prompts/schemas.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { PROMPT_NAME_REGEX, PROMPT_NAME_GUIDANCE } from "./name-validation.js";
|
|
4
4
|
const InlinePromptSchema = z.object({
|
|
@@ -10,18 +10,7 @@ const InlinePromptSchema = z.object({
|
|
|
10
10
|
category: z.string().optional().default("general").describe("Category for organizing prompts (e.g., general, coding, analysis, tools)"),
|
|
11
11
|
priority: z.number().optional().default(0).describe("Higher numbers appear first in the list"),
|
|
12
12
|
showInStarters: z.boolean().optional().default(false).describe("Show as a clickable button in WebUI starter prompts"),
|
|
13
|
-
|
|
14
|
-
"disable-model-invocation": z.boolean().optional().default(false).describe("Exclude from auto-invocation list in system prompt"),
|
|
15
|
-
"user-invocable": z.boolean().optional().default(true).describe("Show in slash command menu (false = hidden but auto-invocable by LLM)"),
|
|
16
|
-
// Per-prompt overrides (Phase 2)
|
|
17
|
-
"allowed-tools": z.array(z.string()).optional().describe("Tools to auto-approve when this prompt is active (additive)"),
|
|
18
|
-
model: z.string().optional().describe("Model to use when this prompt is invoked"),
|
|
19
|
-
// Execution context (Phase 2)
|
|
20
|
-
context: z.enum(["inline", "fork"]).optional().default("inline").describe(
|
|
21
|
-
"Execution context: 'inline' runs in current session (default), 'fork' spawns isolated subagent"
|
|
22
|
-
),
|
|
23
|
-
// Agent for fork execution
|
|
24
|
-
agent: z.string().optional().describe('Agent ID from registry to use for fork execution (e.g., "explore-agent")')
|
|
13
|
+
"user-invocable": z.boolean().optional().default(true).describe("Show in slash command menu")
|
|
25
14
|
}).strict().describe("Inline prompt with text defined directly in config");
|
|
26
15
|
const FilePromptSchema = z.object({
|
|
27
16
|
type: z.literal("file").describe("File-based prompt type"),
|
|
@@ -29,18 +18,7 @@ const FilePromptSchema = z.object({
|
|
|
29
18
|
"Path to markdown file containing prompt (supports ${{dexto.agent_dir}} template)"
|
|
30
19
|
),
|
|
31
20
|
showInStarters: z.boolean().optional().default(false).describe("Show as a clickable button in WebUI starter prompts"),
|
|
32
|
-
|
|
33
|
-
"disable-model-invocation": z.boolean().optional().describe("Exclude from auto-invocation list in system prompt"),
|
|
34
|
-
"user-invocable": z.boolean().optional().describe("Show in slash command menu (false = hidden but auto-invocable by LLM)"),
|
|
35
|
-
// Per-prompt overrides (Phase 2) - can override frontmatter
|
|
36
|
-
"allowed-tools": z.array(z.string()).optional().describe("Tools to auto-approve when this prompt is active (additive)"),
|
|
37
|
-
model: z.string().optional().describe("Model to use when this prompt is invoked"),
|
|
38
|
-
// Execution context (Phase 2) - can override frontmatter
|
|
39
|
-
context: z.enum(["inline", "fork"]).optional().describe(
|
|
40
|
-
"Execution context: 'inline' runs in current session (default), 'fork' spawns isolated subagent"
|
|
41
|
-
),
|
|
42
|
-
// Agent for fork execution - can override frontmatter
|
|
43
|
-
agent: z.string().optional().describe('Agent ID from registry to use for fork execution (e.g., "explore-agent")'),
|
|
21
|
+
"user-invocable": z.boolean().optional().describe("Show in slash command menu"),
|
|
44
22
|
// Plugin namespace (Phase 3) - for prefixing command names
|
|
45
23
|
namespace: z.string().optional().describe("Plugin namespace for command prefixing (e.g., plugin-name:command)")
|
|
46
24
|
}).strict().describe("File-based prompt loaded from a markdown file");
|
package/dist/prompts/types.d.ts
CHANGED
|
@@ -9,28 +9,15 @@ export interface PromptArgument {
|
|
|
9
9
|
required?: boolean | undefined;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
* MCP-compliant prompt definition with Dexto extensions
|
|
13
|
-
* Base structure matches MCP SDK's Prompt, extended with Claude Code compatibility fields
|
|
12
|
+
* MCP-compliant prompt definition with Dexto extensions.
|
|
14
13
|
*/
|
|
15
14
|
export interface PromptDefinition {
|
|
16
15
|
name: string;
|
|
17
16
|
title?: string | undefined;
|
|
18
17
|
description?: string | undefined;
|
|
19
18
|
arguments?: PromptArgument[] | undefined;
|
|
20
|
-
/**
|
|
21
|
-
disableModelInvocation?: boolean | undefined;
|
|
22
|
-
/** Show in slash command menu (false = hidden but auto-invocable by LLM) */
|
|
19
|
+
/** Show in slash command menu (false = hidden but available for explicit internal use) */
|
|
23
20
|
userInvocable?: boolean | undefined;
|
|
24
|
-
/** Tools to auto-approve when this prompt is active (additive) */
|
|
25
|
-
allowedTools?: string[] | undefined;
|
|
26
|
-
/** Toolkits to load when this prompt is invoked */
|
|
27
|
-
toolkits?: string[] | undefined;
|
|
28
|
-
/** Model to use when this prompt is invoked */
|
|
29
|
-
model?: string | undefined;
|
|
30
|
-
/** Execution context: 'inline' runs in current session, 'fork' spawns isolated subagent */
|
|
31
|
-
context?: 'inline' | 'fork' | undefined;
|
|
32
|
-
/** Agent ID from registry to use for fork execution */
|
|
33
|
-
agent?: string | undefined;
|
|
34
21
|
}
|
|
35
22
|
/**
|
|
36
23
|
* Enhanced prompt info with MCP-compliant structure
|
|
@@ -43,8 +30,8 @@ export interface PromptDefinition {
|
|
|
43
30
|
* "config:namespace:id" for config prompts or just "promptName" for MCP/custom.
|
|
44
31
|
*
|
|
45
32
|
* - **displayName**: User-friendly base name without system prefixes. Set by providers
|
|
46
|
-
* to just the
|
|
47
|
-
*
|
|
33
|
+
* to just the prompt id (e.g., "plan" not "config:tools:plan"). For MCP and custom
|
|
34
|
+
* prompts, this equals `name` since they have no internal prefixes.
|
|
48
35
|
*
|
|
49
36
|
* - **commandName**: Collision-resolved slash command name computed by PromptManager.
|
|
50
37
|
* If multiple prompts share the same displayName, commandName adds a source prefix
|
|
@@ -58,10 +45,6 @@ export interface PromptInfo extends PromptDefinition {
|
|
|
58
45
|
displayName?: string | undefined;
|
|
59
46
|
/** Collision-resolved command name computed by PromptManager (e.g., "plan" or "config:plan") */
|
|
60
47
|
commandName?: string | undefined;
|
|
61
|
-
/** Execution context: 'inline' runs in current session, 'fork' spawns isolated subagent */
|
|
62
|
-
context?: 'inline' | 'fork' | undefined;
|
|
63
|
-
/** Agent ID from registry to use for fork execution */
|
|
64
|
-
agent?: string | undefined;
|
|
65
48
|
metadata?: Record<string, unknown>;
|
|
66
49
|
}
|
|
67
50
|
/**
|
|
@@ -76,23 +59,13 @@ export interface PromptListResult {
|
|
|
76
59
|
nextCursor?: string | undefined;
|
|
77
60
|
}
|
|
78
61
|
/**
|
|
79
|
-
* Result type for resolvePrompt
|
|
62
|
+
* Result type for resolvePrompt.
|
|
80
63
|
*/
|
|
81
64
|
export interface ResolvedPromptResult {
|
|
82
65
|
/** The resolved prompt text with arguments applied */
|
|
83
66
|
text: string;
|
|
84
67
|
/** Resource URIs referenced by the prompt */
|
|
85
68
|
resources: string[];
|
|
86
|
-
/** Tools to auto-approve when this prompt is active (additive) */
|
|
87
|
-
allowedTools?: string[] | undefined;
|
|
88
|
-
/** Toolkits to load when this prompt is invoked */
|
|
89
|
-
toolkits?: string[] | undefined;
|
|
90
|
-
/** Model to use when this prompt is invoked */
|
|
91
|
-
model?: string | undefined;
|
|
92
|
-
/** Execution context: 'inline' runs in current session, 'fork' spawns isolated subagent */
|
|
93
|
-
context?: 'inline' | 'fork' | undefined;
|
|
94
|
-
/** Agent ID from registry to use for fork execution */
|
|
95
|
-
agent?: string | undefined;
|
|
96
69
|
}
|
|
97
70
|
/**
|
|
98
71
|
* Interface for prompt providers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACzC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAChD,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,eAAe,IAAI,IAAI,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAExD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAElF;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACvE"}
|
package/dist/prompts/utils.js
CHANGED
package/dist/resources/errors.js
CHANGED
|
@@ -25,29 +25,29 @@ var import_types = require("../../logger/v2/types.js");
|
|
|
25
25
|
var import_errors = require("../errors.js");
|
|
26
26
|
class BlobResourceHandler {
|
|
27
27
|
config;
|
|
28
|
-
|
|
28
|
+
artifactStore;
|
|
29
29
|
logger;
|
|
30
|
-
constructor(config,
|
|
30
|
+
constructor(config, artifactStore, logger) {
|
|
31
31
|
this.config = config;
|
|
32
|
-
this.
|
|
32
|
+
this.artifactStore = artifactStore;
|
|
33
33
|
this.logger = logger.createChild(import_types.DextoLogComponent.RESOURCE);
|
|
34
34
|
}
|
|
35
35
|
getType() {
|
|
36
36
|
return "blob";
|
|
37
37
|
}
|
|
38
38
|
async initialize(_services) {
|
|
39
|
-
this.logger.debug("BlobResourceHandler initialized with
|
|
39
|
+
this.logger.debug("BlobResourceHandler initialized with ArtifactStore");
|
|
40
40
|
}
|
|
41
41
|
async listResources() {
|
|
42
42
|
this.logger.debug("\u{1F50D} BlobResourceHandler.listResources() called");
|
|
43
43
|
try {
|
|
44
|
-
const stats = await this.
|
|
44
|
+
const stats = await this.artifactStore.getStats();
|
|
45
45
|
this.logger.debug(
|
|
46
46
|
`\u{1F4CA} BlobStore stats: ${stats.count} blobs, backend: ${stats.backendType}`
|
|
47
47
|
);
|
|
48
48
|
const resources = [];
|
|
49
49
|
try {
|
|
50
|
-
const blobs = await this.
|
|
50
|
+
const blobs = await this.artifactStore.listArtifacts();
|
|
51
51
|
this.logger.debug(`\u{1F4C4} Found ${blobs.length} individual blobs`);
|
|
52
52
|
for (const blob of blobs) {
|
|
53
53
|
if (blob.metadata.source === "system") {
|
|
@@ -95,7 +95,7 @@ class BlobResourceHandler {
|
|
|
95
95
|
throw import_errors.ResourceError.readFailed(uri, new Error("Invalid blob URI: missing blob ID"));
|
|
96
96
|
}
|
|
97
97
|
if (blobId === "store") {
|
|
98
|
-
const stats = await this.
|
|
98
|
+
const stats = await this.artifactStore.getStats();
|
|
99
99
|
return {
|
|
100
100
|
contents: [
|
|
101
101
|
{
|
|
@@ -106,7 +106,10 @@ class BlobResourceHandler {
|
|
|
106
106
|
]
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
-
const result = await this.
|
|
109
|
+
const result = await this.artifactStore.retrieve({
|
|
110
|
+
reference: blobId,
|
|
111
|
+
format: "base64"
|
|
112
|
+
});
|
|
110
113
|
return {
|
|
111
114
|
contents: [
|
|
112
115
|
{
|
|
@@ -132,14 +135,14 @@ class BlobResourceHandler {
|
|
|
132
135
|
}
|
|
133
136
|
async refresh() {
|
|
134
137
|
try {
|
|
135
|
-
await this.
|
|
138
|
+
await this.artifactStore.cleanup();
|
|
136
139
|
this.logger.debug("Blob store cleanup completed");
|
|
137
140
|
} catch (error) {
|
|
138
141
|
this.logger.warn(`Blob store cleanup failed: ${String(error)}`);
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
|
-
|
|
142
|
-
return this.
|
|
144
|
+
getArtifactStore() {
|
|
145
|
+
return this.artifactStore;
|
|
143
146
|
}
|
|
144
147
|
/**
|
|
145
148
|
* Generate a user-friendly display name for a blob with proper file extension
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import type { Logger } from '../../logger/v2/types.js';
|
|
2
2
|
import type { ResourceMetadata } from '../types.js';
|
|
3
3
|
import type { ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ArtifactStore } from '../../storage/artifacts/types.js';
|
|
5
5
|
import type { ValidatedBlobResourceConfig } from '../schemas.js';
|
|
6
6
|
import type { InternalResourceHandler, InternalResourceServices } from './types.js';
|
|
7
7
|
export declare class BlobResourceHandler implements InternalResourceHandler {
|
|
8
8
|
private config;
|
|
9
|
-
private
|
|
9
|
+
private artifactStore;
|
|
10
10
|
private logger;
|
|
11
|
-
constructor(config: ValidatedBlobResourceConfig,
|
|
11
|
+
constructor(config: ValidatedBlobResourceConfig, artifactStore: ArtifactStore, logger: Logger);
|
|
12
12
|
getType(): string;
|
|
13
13
|
initialize(_services: InternalResourceServices): Promise<void>;
|
|
14
14
|
listResources(): Promise<ResourceMetadata[]>;
|
|
15
15
|
canHandle(uri: string): boolean;
|
|
16
16
|
readResource(uri: string): Promise<ReadResourceResult>;
|
|
17
17
|
refresh(): Promise<void>;
|
|
18
|
-
|
|
18
|
+
getArtifactStore(): ArtifactStore;
|
|
19
19
|
/**
|
|
20
20
|
* Generate a user-friendly display name for a blob with proper file extension
|
|
21
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-handler.d.ts","sourceRoot":"","sources":["../../../src/resources/handlers/blob-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"blob-handler.d.ts","sourceRoot":"","sources":["../../../src/resources/handlers/blob-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,kCAAkC,CAAC;AAC9F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpF,qBAAa,mBAAoB,YAAW,uBAAuB;IAC/D,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,2BAA2B,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;IAM7F,OAAO,IAAI,MAAM;IAIX,UAAU,CAAC,SAAS,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwDlD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyDtD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOrB"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import "../../chunk-
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
2
2
|
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
3
3
|
import { ResourceError } from "../errors.js";
|
|
4
4
|
class BlobResourceHandler {
|
|
5
5
|
config;
|
|
6
|
-
|
|
6
|
+
artifactStore;
|
|
7
7
|
logger;
|
|
8
|
-
constructor(config,
|
|
8
|
+
constructor(config, artifactStore, logger) {
|
|
9
9
|
this.config = config;
|
|
10
|
-
this.
|
|
10
|
+
this.artifactStore = artifactStore;
|
|
11
11
|
this.logger = logger.createChild(DextoLogComponent.RESOURCE);
|
|
12
12
|
}
|
|
13
13
|
getType() {
|
|
14
14
|
return "blob";
|
|
15
15
|
}
|
|
16
16
|
async initialize(_services) {
|
|
17
|
-
this.logger.debug("BlobResourceHandler initialized with
|
|
17
|
+
this.logger.debug("BlobResourceHandler initialized with ArtifactStore");
|
|
18
18
|
}
|
|
19
19
|
async listResources() {
|
|
20
20
|
this.logger.debug("\u{1F50D} BlobResourceHandler.listResources() called");
|
|
21
21
|
try {
|
|
22
|
-
const stats = await this.
|
|
22
|
+
const stats = await this.artifactStore.getStats();
|
|
23
23
|
this.logger.debug(
|
|
24
24
|
`\u{1F4CA} BlobStore stats: ${stats.count} blobs, backend: ${stats.backendType}`
|
|
25
25
|
);
|
|
26
26
|
const resources = [];
|
|
27
27
|
try {
|
|
28
|
-
const blobs = await this.
|
|
28
|
+
const blobs = await this.artifactStore.listArtifacts();
|
|
29
29
|
this.logger.debug(`\u{1F4C4} Found ${blobs.length} individual blobs`);
|
|
30
30
|
for (const blob of blobs) {
|
|
31
31
|
if (blob.metadata.source === "system") {
|
|
@@ -73,7 +73,7 @@ class BlobResourceHandler {
|
|
|
73
73
|
throw ResourceError.readFailed(uri, new Error("Invalid blob URI: missing blob ID"));
|
|
74
74
|
}
|
|
75
75
|
if (blobId === "store") {
|
|
76
|
-
const stats = await this.
|
|
76
|
+
const stats = await this.artifactStore.getStats();
|
|
77
77
|
return {
|
|
78
78
|
contents: [
|
|
79
79
|
{
|
|
@@ -84,7 +84,10 @@ class BlobResourceHandler {
|
|
|
84
84
|
]
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
const result = await this.
|
|
87
|
+
const result = await this.artifactStore.retrieve({
|
|
88
|
+
reference: blobId,
|
|
89
|
+
format: "base64"
|
|
90
|
+
});
|
|
88
91
|
return {
|
|
89
92
|
contents: [
|
|
90
93
|
{
|
|
@@ -110,14 +113,14 @@ class BlobResourceHandler {
|
|
|
110
113
|
}
|
|
111
114
|
async refresh() {
|
|
112
115
|
try {
|
|
113
|
-
await this.
|
|
116
|
+
await this.artifactStore.cleanup();
|
|
114
117
|
this.logger.debug("Blob store cleanup completed");
|
|
115
118
|
} catch (error) {
|
|
116
119
|
this.logger.warn(`Blob store cleanup failed: ${String(error)}`);
|
|
117
120
|
}
|
|
118
121
|
}
|
|
119
|
-
|
|
120
|
-
return this.
|
|
122
|
+
getArtifactStore() {
|
|
123
|
+
return this.artifactStore;
|
|
121
124
|
}
|
|
122
125
|
/**
|
|
123
126
|
* Generate a user-friendly display name for a blob with proper file extension
|
|
@@ -28,11 +28,11 @@ var import_blob_handler = require("./blob-handler.js");
|
|
|
28
28
|
function createInternalResourceHandler(config, services, logger) {
|
|
29
29
|
const type = config.type;
|
|
30
30
|
if (type === "filesystem") {
|
|
31
|
-
const
|
|
32
|
-
return new import_filesystem_handler.FileSystemResourceHandler(config, logger,
|
|
31
|
+
const artifactStoragePath = services.artifactStore.getStoragePath();
|
|
32
|
+
return new import_filesystem_handler.FileSystemResourceHandler(config, logger, artifactStoragePath);
|
|
33
33
|
}
|
|
34
34
|
if (type === "blob") {
|
|
35
|
-
return new import_blob_handler.BlobResourceHandler(config, services.
|
|
35
|
+
return new import_blob_handler.BlobResourceHandler(config, services.artifactStore, logger);
|
|
36
36
|
}
|
|
37
37
|
throw import_errors.ResourceError.providerError(
|
|
38
38
|
"Internal",
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "../../chunk-
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
2
2
|
import { ResourceError } from "../errors.js";
|
|
3
3
|
import { FileSystemResourceHandler } from "./filesystem-handler.js";
|
|
4
4
|
import { BlobResourceHandler } from "./blob-handler.js";
|
|
5
5
|
function createInternalResourceHandler(config, services, logger) {
|
|
6
6
|
const type = config.type;
|
|
7
7
|
if (type === "filesystem") {
|
|
8
|
-
const
|
|
9
|
-
return new FileSystemResourceHandler(config, logger,
|
|
8
|
+
const artifactStoragePath = services.artifactStore.getStoragePath();
|
|
9
|
+
return new FileSystemResourceHandler(config, logger, artifactStoragePath);
|
|
10
10
|
}
|
|
11
11
|
if (type === "blob") {
|
|
12
|
-
return new BlobResourceHandler(config, services.
|
|
12
|
+
return new BlobResourceHandler(config, services.artifactStore, logger);
|
|
13
13
|
}
|
|
14
14
|
throw ResourceError.providerError(
|
|
15
15
|
"Internal",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ResourceMetadata } from '../types.js';
|
|
2
2
|
import type { ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ArtifactStore } from '../../storage/artifacts/types.js';
|
|
4
4
|
export type InternalResourceServices = {
|
|
5
|
-
|
|
5
|
+
artifactStore: ArtifactStore;
|
|
6
6
|
};
|
|
7
7
|
export interface InternalResourceHandler {
|
|
8
8
|
getType(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,MAAM,MAAM,wBAAwB,GAAG;IACnC,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,OAAO,IAAI,MAAM,CAAC;IAClB,UAAU,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B"}
|
package/dist/resources/index.js
CHANGED
|
@@ -26,17 +26,17 @@ var import_types = require("../logger/v2/types.js");
|
|
|
26
26
|
class ResourceManager {
|
|
27
27
|
mcpManager;
|
|
28
28
|
agentResourcesProvider;
|
|
29
|
-
|
|
29
|
+
artifactStore;
|
|
30
30
|
logger;
|
|
31
31
|
eventBus;
|
|
32
32
|
listenerAbort = new AbortController();
|
|
33
33
|
constructor(mcpManager, options, eventBus, logger) {
|
|
34
34
|
this.mcpManager = mcpManager;
|
|
35
|
-
this.
|
|
35
|
+
this.artifactStore = options.artifactStore;
|
|
36
36
|
this.eventBus = eventBus;
|
|
37
37
|
this.logger = logger.createChild(import_types.DextoLogComponent.RESOURCE);
|
|
38
38
|
const services = {
|
|
39
|
-
|
|
39
|
+
artifactStore: this.artifactStore
|
|
40
40
|
};
|
|
41
41
|
this.agentResourcesProvider = new import_agent_resources_provider.AgentResourcesProvider(
|
|
42
42
|
options.resourcesConfig,
|
|
@@ -56,8 +56,8 @@ class ResourceManager {
|
|
|
56
56
|
this.logger.debug("ResourceManager event listeners cleaned up");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
return this.
|
|
59
|
+
getArtifactStore() {
|
|
60
|
+
return this.artifactStore;
|
|
61
61
|
}
|
|
62
62
|
deriveName(uri) {
|
|
63
63
|
const segments = uri.split(/[\\/]/).filter(Boolean);
|
|
@@ -123,7 +123,7 @@ class ResourceManager {
|
|
|
123
123
|
}
|
|
124
124
|
if (uri.startsWith("blob:")) {
|
|
125
125
|
try {
|
|
126
|
-
return await this.
|
|
126
|
+
return await this.artifactStore.exists({ reference: uri });
|
|
127
127
|
} catch (error) {
|
|
128
128
|
this.logger.warn(
|
|
129
129
|
`BlobService exists check failed for ${uri}: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -142,7 +142,10 @@ class ResourceManager {
|
|
|
142
142
|
return result2;
|
|
143
143
|
}
|
|
144
144
|
if (uri.startsWith("blob:")) {
|
|
145
|
-
const blob = await this.
|
|
145
|
+
const blob = await this.artifactStore.retrieve({
|
|
146
|
+
reference: uri,
|
|
147
|
+
format: "base64"
|
|
148
|
+
});
|
|
146
149
|
return {
|
|
147
150
|
contents: [
|
|
148
151
|
{
|
|
@@ -5,22 +5,22 @@ import type { ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
|
|
|
5
5
|
import type { ValidatedResourcesConfig } from './schemas.js';
|
|
6
6
|
import type { Logger } from '../logger/v2/types.js';
|
|
7
7
|
import type { AgentEventBus } from '../events/index.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { ArtifactStore } from '../storage/artifacts/types.js';
|
|
9
9
|
export interface ResourceManagerOptions {
|
|
10
10
|
resourcesConfig: ValidatedResourcesConfig;
|
|
11
|
-
|
|
11
|
+
artifactStore: ArtifactStore;
|
|
12
12
|
}
|
|
13
13
|
export declare class ResourceManager {
|
|
14
14
|
private readonly mcpManager;
|
|
15
15
|
private agentResourcesProvider;
|
|
16
|
-
private readonly
|
|
16
|
+
private readonly artifactStore;
|
|
17
17
|
private logger;
|
|
18
18
|
private readonly eventBus;
|
|
19
19
|
private readonly listenerAbort;
|
|
20
20
|
constructor(mcpManager: MCPManager, options: ResourceManagerOptions, eventBus: AgentEventBus, logger: Logger);
|
|
21
21
|
initialize(): Promise<void>;
|
|
22
22
|
cleanup(): void;
|
|
23
|
-
|
|
23
|
+
getArtifactStore(): ArtifactStore;
|
|
24
24
|
private deriveName;
|
|
25
25
|
list(): Promise<ResourceSet>;
|
|
26
26
|
has(uri: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/resources/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/resources/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACnC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,aAAa,CAAC;CAChC;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAGnD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM;IAuBZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,IAAI;IAOf,gBAAgB,IAAI,aAAa;IAIjC,OAAO,CAAC,UAAU;IAMZ,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IA2D5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBlC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2C9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,yBAAyB,IAAI,sBAAsB;IAInD,oBAAoB,CAAC,OAAO,EAAE;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,SAAS,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,aAAa,CAAC;KAC7E,GAAG,IAAI;IAIR;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAkDrC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { AgentResourcesProvider } from "./agent-resources-provider.js";
|
|
3
3
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
4
4
|
class ResourceManager {
|
|
5
5
|
mcpManager;
|
|
6
6
|
agentResourcesProvider;
|
|
7
|
-
|
|
7
|
+
artifactStore;
|
|
8
8
|
logger;
|
|
9
9
|
eventBus;
|
|
10
10
|
listenerAbort = new AbortController();
|
|
11
11
|
constructor(mcpManager, options, eventBus, logger) {
|
|
12
12
|
this.mcpManager = mcpManager;
|
|
13
|
-
this.
|
|
13
|
+
this.artifactStore = options.artifactStore;
|
|
14
14
|
this.eventBus = eventBus;
|
|
15
15
|
this.logger = logger.createChild(DextoLogComponent.RESOURCE);
|
|
16
16
|
const services = {
|
|
17
|
-
|
|
17
|
+
artifactStore: this.artifactStore
|
|
18
18
|
};
|
|
19
19
|
this.agentResourcesProvider = new AgentResourcesProvider(
|
|
20
20
|
options.resourcesConfig,
|
|
@@ -34,8 +34,8 @@ class ResourceManager {
|
|
|
34
34
|
this.logger.debug("ResourceManager event listeners cleaned up");
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
return this.
|
|
37
|
+
getArtifactStore() {
|
|
38
|
+
return this.artifactStore;
|
|
39
39
|
}
|
|
40
40
|
deriveName(uri) {
|
|
41
41
|
const segments = uri.split(/[\\/]/).filter(Boolean);
|
|
@@ -101,7 +101,7 @@ class ResourceManager {
|
|
|
101
101
|
}
|
|
102
102
|
if (uri.startsWith("blob:")) {
|
|
103
103
|
try {
|
|
104
|
-
return await this.
|
|
104
|
+
return await this.artifactStore.exists({ reference: uri });
|
|
105
105
|
} catch (error) {
|
|
106
106
|
this.logger.warn(
|
|
107
107
|
`BlobService exists check failed for ${uri}: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -120,7 +120,10 @@ class ResourceManager {
|
|
|
120
120
|
return result2;
|
|
121
121
|
}
|
|
122
122
|
if (uri.startsWith("blob:")) {
|
|
123
|
-
const blob = await this.
|
|
123
|
+
const blob = await this.artifactStore.retrieve({
|
|
124
|
+
reference: uri,
|
|
125
|
+
format: "base64"
|
|
126
|
+
});
|
|
124
127
|
return {
|
|
125
128
|
contents: [
|
|
126
129
|
{
|
|
@@ -64,7 +64,7 @@ const FileSystemResourceSchema = import_zod.z.object({
|
|
|
64
64
|
const BlobResourceSchema = import_zod.z.object({
|
|
65
65
|
type: import_zod.z.literal("blob").describe("Enable blob storage resource provider")
|
|
66
66
|
}).strict().describe(
|
|
67
|
-
"Blob resource provider configuration - actual storage settings
|
|
67
|
+
"Blob resource provider configuration - actual storage settings come from the image storage implementation"
|
|
68
68
|
);
|
|
69
69
|
const ResourceConfigSchema = import_zod.z.discriminatedUnion("type", [
|
|
70
70
|
FileSystemResourceSchema,
|
|
@@ -18,8 +18,8 @@ export type ValidatedFileSystemResourceConfig = z.output<typeof FileSystemResour
|
|
|
18
18
|
* Schema for blob storage resource configuration
|
|
19
19
|
*
|
|
20
20
|
* NOTE: This only enables the blob resource provider.
|
|
21
|
-
* Actual
|
|
22
|
-
*
|
|
21
|
+
* Actual artifact storage settings (size limits, backend, cleanup) are configured
|
|
22
|
+
* by the loaded image's storage implementation.
|
|
23
23
|
*/
|
|
24
24
|
declare const BlobResourceSchema: z.ZodObject<{
|
|
25
25
|
type: z.ZodLiteral<"blob">;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
const FileExtensionSchema = z.string().regex(
|
|
4
4
|
/^\.[A-Za-z0-9][A-Za-z0-9._-]*$/,
|
|
@@ -41,7 +41,7 @@ const FileSystemResourceSchema = z.object({
|
|
|
41
41
|
const BlobResourceSchema = z.object({
|
|
42
42
|
type: z.literal("blob").describe("Enable blob storage resource provider")
|
|
43
43
|
}).strict().describe(
|
|
44
|
-
"Blob resource provider configuration - actual storage settings
|
|
44
|
+
"Blob resource provider configuration - actual storage settings come from the image storage implementation"
|
|
45
45
|
);
|
|
46
46
|
const ResourceConfigSchema = z.discriminatedUnion("type", [
|
|
47
47
|
FileSystemResourceSchema,
|