@dexto/core 1.3.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 +53 -9
- package/dist/agent/DextoAgent.cjs +570 -210
- package/dist/agent/DextoAgent.d.ts +175 -35
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +568 -208
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +2 -1
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -1
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -1
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +6 -2
- package/dist/agent/schemas.cjs +90 -68
- package/dist/agent/schemas.d.ts +5998 -146
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +90 -65
- package/dist/agent/state-manager.cjs +5 -5
- package/dist/agent/state-manager.d.ts +4 -4
- package/dist/agent/state-manager.js +6 -6
- package/dist/agent/types.d.ts +24 -10
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.js +1 -1
- package/dist/approval/factory.js +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +234 -4
- package/dist/approval/manager.d.ts +131 -4
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +225 -5
- package/dist/approval/schemas.cjs +57 -7
- package/dist/approval/schemas.d.ts +344 -33
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +54 -8
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +32 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -1
- package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
- 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/compaction/overflow.cjs +43 -0
- package/dist/context/compaction/overflow.d.ts +33 -0
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/compaction/overflow.js +19 -0
- 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/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
- 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/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
- 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/compaction/strategies/reactive-overflow.cjs +201 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
- package/dist/context/compaction/types.d.ts +20 -0
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/error-codes.cjs +7 -0
- package/dist/context/error-codes.d.ts +8 -1
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +8 -1
- package/dist/context/errors.cjs +68 -0
- package/dist/context/errors.d.ts +21 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +69 -1
- 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 +2 -1
- package/dist/context/manager.cjs +280 -323
- package/dist/context/manager.d.ts +65 -111
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +280 -328
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/types.cjs +49 -0
- package/dist/context/types.d.ts +187 -72
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +35 -0
- package/dist/context/utils.cjs +293 -290
- package/dist/context/utils.d.ts +32 -18
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +293 -290
- 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.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +3 -4
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +18 -1
- package/dist/events/index.d.ts +149 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +19 -2
- package/dist/filesystem/error-codes.js +1 -1
- package/dist/filesystem/errors.js +1 -1
- 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 +40 -1
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/index.js +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 +70 -2
- 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/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
- 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.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.browser.cjs +23 -8
- package/dist/index.browser.d.ts +4 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +20 -3
- 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 +3 -1
- package/dist/llm/error-codes.cjs +1 -1
- package/dist/llm/error-codes.d.ts +1 -1
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +2 -2
- package/dist/llm/errors.cjs +34 -10
- package/dist/llm/errors.d.ts +23 -11
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +36 -12
- package/dist/llm/executor/stream-processor.cjs +375 -0
- package/dist/llm/executor/stream-processor.d.ts +55 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -0
- package/dist/llm/executor/stream-processor.js +352 -0
- package/dist/llm/executor/tool-output-truncator.cjs +75 -0
- package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
- package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
- package/dist/llm/executor/tool-output-truncator.js +48 -0
- package/dist/llm/executor/turn-executor.cjs +780 -0
- package/dist/llm/executor/turn-executor.d.ts +167 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -0
- package/dist/llm/executor/turn-executor.js +711 -0
- package/dist/llm/executor/types.cjs +16 -0
- package/dist/llm/executor/types.d.ts +27 -0
- package/dist/llm/executor/types.d.ts.map +1 -0
- package/dist/llm/executor/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +26 -188
- package/dist/llm/formatters/vercel.d.ts +2 -14
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +25 -187
- 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 +569 -52
- package/dist/llm/registry.d.ts +79 -39
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +564 -49
- package/dist/llm/resolver.cjs +62 -34
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -38
- package/dist/llm/schemas.cjs +92 -97
- package/dist/llm/schemas.d.ts +162 -39
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +93 -100
- package/dist/llm/services/factory.cjs +88 -103
- package/dist/llm/services/factory.d.ts +17 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +87 -93
- package/dist/llm/services/test-utils.integration.cjs +28 -10
- 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 +33 -12
- package/dist/llm/services/types.d.ts +1 -28
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +58 -469
- package/dist/llm/services/vercel.d.ts +39 -21
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +60 -476
- package/dist/llm/types.cjs +11 -4
- package/dist/llm/types.d.ts +9 -9
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +12 -4
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.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.cjs +34 -6
- package/dist/logger/v2/dexto-logger.d.ts +20 -2
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -7
- 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.cjs +70 -0
- package/dist/logger/v2/test-utils.d.ts +17 -0
- package/dist/logger/v2/test-utils.d.ts.map +1 -0
- package/dist/logger/v2/test-utils.js +46 -0
- 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.cjs +6 -0
- package/dist/logger/v2/transports/file-transport.d.ts +4 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.js +7 -1
- package/dist/logger/v2/types.cjs +1 -0
- package/dist/logger/v2/types.d.ts +18 -2
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +2 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -1
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +14 -1
- package/dist/mcp/manager.cjs +12 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +13 -1
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +1 -4
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.cjs +6 -0
- package/dist/mcp/schemas.d.ts +52 -0
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -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.js +1 -1
- package/dist/memory/schemas.d.ts +3 -3
- package/dist/memory/schemas.js +1 -1
- package/dist/plugins/builtins/content-policy.js +1 -1
- package/dist/plugins/builtins/response-sanitizer.js +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 +4 -1
- 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 +7 -2
- package/dist/plugins/loader.js +1 -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 +93 -8
- package/dist/plugins/registrations/builtins.js +1 -1
- 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 +65 -8
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +16 -5
- package/dist/plugins/types.d.ts +0 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.js +1 -1
- package/dist/process/error-codes.js +1 -1
- package/dist/process/errors.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/process-service.cjs +78 -26
- package/dist/process/process-service.d.ts +6 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +79 -27
- package/dist/process/types.d.ts +2 -2
- package/dist/process/types.d.ts.map +1 -1
- package/dist/prompts/error-codes.cjs +1 -0
- package/dist/prompts/error-codes.d.ts +2 -1
- package/dist/prompts/error-codes.d.ts.map +1 -1
- package/dist/prompts/error-codes.js +2 -1
- package/dist/prompts/errors.cjs +15 -0
- package/dist/prompts/errors.d.ts +4 -0
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/errors.js +16 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +13 -2
- package/dist/prompts/prompt-manager.d.ts +7 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +14 -3
- package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +13 -4
- package/dist/prompts/providers/custom-prompt-provider.js +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.d.ts +12 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- 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/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.js +1 -1
- package/dist/resources/handlers/factory.js +1 -1
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/internal-provider.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +4 -4
- package/dist/resources/schemas.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.js +1 -1
- package/dist/session/chat-session.cjs +169 -54
- package/dist/session/chat-session.d.ts +69 -29
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +171 -56
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/history/database.cjs +134 -21
- package/dist/session/history/database.d.ts +37 -8
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +135 -22
- package/dist/session/history/factory.js +1 -1
- package/dist/session/history/memory.cjs +18 -0
- package/dist/session/history/memory.d.ts +8 -0
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/memory.js +19 -1
- package/dist/session/history/types.d.ts +13 -1
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +3 -1
- package/dist/session/message-queue.cjs +201 -0
- package/dist/session/message-queue.d.ts +114 -0
- package/dist/session/message-queue.d.ts.map +1 -0
- package/dist/session/message-queue.js +178 -0
- package/dist/session/schemas.js +1 -1
- package/dist/session/session-manager.cjs +57 -7
- package/dist/session/session-manager.d.ts +18 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +58 -8
- package/dist/session/title-generator.cjs +4 -8
- package/dist/session/title-generator.d.ts +1 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +5 -9
- package/dist/session/types.cjs +16 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +0 -0
- 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 +9 -12
- 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/local-blob-store.js +1 -1
- package/dist/storage/blob/memory-blob-store.js +1 -1
- 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 +7 -12
- 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 +9 -27
- 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/memory-cache-store.js +1 -1
- 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/redis-store.js +1 -1
- package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
- 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 +4 -2
- 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 +9 -38
- 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/memory-database-store.js +1 -1
- package/dist/storage/database/postgres-store.cjs +12 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +13 -1
- 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 +5 -2
- package/dist/storage/database/sqlite-store.js +1 -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 +7 -1
- 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 +81 -1
- 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 +33 -4
- 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 +6 -2
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +4 -4
- package/dist/systemPrompt/contributors.js +1 -1
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- 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 +7 -6
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- 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 +3 -3
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +18 -18
- package/dist/systemPrompt/schemas.js +3 -3
- 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/tools/bash-pattern-utils.cjs +91 -0
- package/dist/tools/bash-pattern-utils.d.ts +58 -0
- package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
- package/dist/tools/bash-pattern-utils.js +64 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
- 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/display-types.cjs +60 -0
- package/dist/tools/display-types.d.ts +133 -0
- package/dist/tools/display-types.d.ts.map +1 -0
- package/dist/tools/display-types.js +32 -0
- package/dist/tools/error-codes.cjs +5 -0
- package/dist/tools/error-codes.d.ts +6 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +6 -1
- package/dist/tools/errors.cjs +71 -0
- package/dist/tools/errors.d.ts +33 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +72 -1
- package/dist/tools/index.cjs +15 -1
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -2
- 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 +4 -10
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
- 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/implementations/search-history-tool.js +1 -1
- package/dist/tools/internal-tools/provider.cjs +175 -31
- package/dist/tools/internal-tools/provider.d.ts +62 -14
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +176 -32
- package/dist/tools/internal-tools/registry.cjs +19 -43
- package/dist/tools/internal-tools/registry.d.ts +32 -11
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +20 -44
- package/dist/tools/schemas.cjs +36 -6
- package/dist/tools/schemas.d.ts +74 -5
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +30 -6
- package/dist/tools/tool-manager.cjs +279 -30
- package/dist/tools/tool-manager.d.ts +45 -4
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +284 -31
- package/dist/tools/types.d.ts +63 -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 +20 -2
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
- package/dist/utils/defer.d.ts +63 -0
- package/dist/utils/defer.d.ts.map +1 -0
- package/dist/utils/defer.js +19 -0
- 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/index.cjs +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/path.js +1 -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 +19 -4
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema-metadata.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +15 -37
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +16 -38
- package/dist/utils/user-info.js +1 -1
- package/dist/utils/zod-schema-converter.js +1 -1
- package/package.json +10 -8
- package/dist/context/compression/middle-removal.cjs +0 -95
- package/dist/context/compression/middle-removal.d.ts +0 -47
- package/dist/context/compression/middle-removal.d.ts.map +0 -1
- package/dist/context/compression/middle-removal.js +0 -72
- package/dist/context/compression/oldest-removal.cjs +0 -83
- package/dist/context/compression/oldest-removal.d.ts +0 -42
- package/dist/context/compression/oldest-removal.d.ts.map +0 -1
- package/dist/context/compression/oldest-removal.js +0 -60
- package/dist/context/compression/types.d.ts +0 -18
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.cjs +0 -257
- package/dist/llm/formatters/anthropic.d.ts +0 -46
- package/dist/llm/formatters/anthropic.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.js +0 -239
- package/dist/llm/formatters/factory.cjs +0 -50
- package/dist/llm/formatters/factory.d.ts +0 -10
- package/dist/llm/formatters/factory.d.ts.map +0 -1
- package/dist/llm/formatters/factory.js +0 -27
- package/dist/llm/formatters/openai.cjs +0 -203
- package/dist/llm/formatters/openai.d.ts +0 -39
- package/dist/llm/formatters/openai.d.ts.map +0 -1
- package/dist/llm/formatters/openai.js +0 -184
- package/dist/llm/formatters/types.d.ts +0 -41
- package/dist/llm/formatters/types.d.ts.map +0 -1
- package/dist/llm/services/anthropic.cjs +0 -511
- package/dist/llm/services/anthropic.d.ts +0 -48
- package/dist/llm/services/anthropic.d.ts.map +0 -1
- package/dist/llm/services/anthropic.js +0 -447
- package/dist/llm/services/openai.cjs +0 -611
- package/dist/llm/services/openai.d.ts +0 -48
- package/dist/llm/services/openai.d.ts.map +0 -1
- package/dist/llm/services/openai.js +0 -547
- package/dist/llm/tokenizer/anthropic.d.ts +0 -19
- package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
- package/dist/llm/tokenizer/anthropic.js +0 -20
- package/dist/llm/tokenizer/default.d.ts +0 -14
- package/dist/llm/tokenizer/default.d.ts.map +0 -1
- package/dist/llm/tokenizer/default.js +0 -18
- package/dist/llm/tokenizer/factory.d.ts +0 -12
- package/dist/llm/tokenizer/factory.d.ts.map +0 -1
- package/dist/llm/tokenizer/factory.js +0 -21
- package/dist/llm/tokenizer/google.d.ts +0 -29
- package/dist/llm/tokenizer/google.d.ts.map +0 -1
- package/dist/llm/tokenizer/google.js +0 -29
- package/dist/llm/tokenizer/openai.cjs +0 -115
- package/dist/llm/tokenizer/openai.d.ts +0 -41
- package/dist/llm/tokenizer/openai.d.ts.map +0 -1
- package/dist/llm/tokenizer/openai.js +0 -91
- package/dist/llm/tokenizer/types.d.ts +0 -18
- package/dist/llm/tokenizer/types.d.ts.map +0 -1
- package/dist/llm/tokenizer/types.js +0 -10
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
- 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 -73
- 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 -62
- 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 -39
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
- 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 -34
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
- 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 -48
- 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 -55
- 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 -32
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
- 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 -33
- 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
- /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
- /package/dist/{llm/formatters → image}/types.cjs +0 -0
package/dist/approval/manager.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
import path from "node:path";
|
|
2
3
|
import { ApprovalType, ApprovalStatus, DenialReason } from "./types.js";
|
|
3
4
|
import { createApprovalRequest } from "./factory.js";
|
|
4
5
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
5
6
|
import { ApprovalError } from "./errors.js";
|
|
7
|
+
import { patternCovers } from "../tools/bash-pattern-utils.js";
|
|
6
8
|
class ApprovalManager {
|
|
7
9
|
handler;
|
|
8
10
|
config;
|
|
9
11
|
logger;
|
|
12
|
+
/**
|
|
13
|
+
* Bash command patterns approved for the current session.
|
|
14
|
+
* Patterns use simple glob syntax (e.g., "git *", "npm install *").
|
|
15
|
+
* Cleared when session ends.
|
|
16
|
+
*/
|
|
17
|
+
bashPatterns = /* @__PURE__ */ new Set();
|
|
18
|
+
/**
|
|
19
|
+
* Directories approved for file access for the current session.
|
|
20
|
+
* Stores normalized absolute paths mapped to their approval type:
|
|
21
|
+
* - 'session': No directory prompt, follows tool config (working dir + user session-approved)
|
|
22
|
+
* - 'once': Prompts each time, but tool can execute
|
|
23
|
+
* Cleared when session ends.
|
|
24
|
+
*/
|
|
25
|
+
approvedDirectories = /* @__PURE__ */ new Map();
|
|
10
26
|
constructor(config, logger) {
|
|
11
27
|
this.config = config;
|
|
12
28
|
this.logger = logger.createChild(DextoLogComponent.APPROVAL);
|
|
@@ -14,6 +30,201 @@ class ApprovalManager {
|
|
|
14
30
|
`ApprovalManager initialized with toolConfirmation.mode: ${config.toolConfirmation.mode}, elicitation.enabled: ${config.elicitation.enabled}`
|
|
15
31
|
);
|
|
16
32
|
}
|
|
33
|
+
// ==================== Bash Pattern Methods ====================
|
|
34
|
+
/**
|
|
35
|
+
* Add a bash command pattern to the approved list for this session.
|
|
36
|
+
* Patterns use simple glob syntax with * as wildcard.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* manager.addBashPattern("git *"); // Approves all git commands
|
|
41
|
+
* manager.addBashPattern("npm install *"); // Approves npm install with any package
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
addBashPattern(pattern) {
|
|
45
|
+
this.bashPatterns.add(pattern);
|
|
46
|
+
this.logger.debug(`Added bash pattern: "${pattern}"`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if a bash pattern key is covered by any approved pattern.
|
|
50
|
+
* Uses pattern-to-pattern covering for broader pattern support.
|
|
51
|
+
*
|
|
52
|
+
* @param patternKey The pattern key generated from the command (e.g., "git push *")
|
|
53
|
+
* @returns true if the pattern key is covered by an approved pattern
|
|
54
|
+
*/
|
|
55
|
+
matchesBashPattern(patternKey) {
|
|
56
|
+
for (const storedPattern of this.bashPatterns) {
|
|
57
|
+
if (patternCovers(storedPattern, patternKey)) {
|
|
58
|
+
this.logger.debug(
|
|
59
|
+
`Pattern key "${patternKey}" is covered by approved pattern "${storedPattern}"`
|
|
60
|
+
);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Clear all approved bash patterns.
|
|
68
|
+
* Should be called when session ends.
|
|
69
|
+
*/
|
|
70
|
+
clearBashPatterns() {
|
|
71
|
+
const count = this.bashPatterns.size;
|
|
72
|
+
this.bashPatterns.clear();
|
|
73
|
+
if (count > 0) {
|
|
74
|
+
this.logger.debug(`Cleared ${count} bash patterns`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the current set of approved bash patterns (for debugging/display).
|
|
79
|
+
*/
|
|
80
|
+
getBashPatterns() {
|
|
81
|
+
return this.bashPatterns;
|
|
82
|
+
}
|
|
83
|
+
// ==================== Directory Access Methods ====================
|
|
84
|
+
/**
|
|
85
|
+
* Initialize the working directory as a session-approved directory.
|
|
86
|
+
* This should be called once during setup to ensure the working directory
|
|
87
|
+
* never triggers directory access prompts.
|
|
88
|
+
*
|
|
89
|
+
* @param workingDir The working directory path
|
|
90
|
+
*/
|
|
91
|
+
initializeWorkingDirectory(workingDir) {
|
|
92
|
+
const normalized = path.resolve(workingDir);
|
|
93
|
+
this.approvedDirectories.set(normalized, "session");
|
|
94
|
+
this.logger.debug(`Initialized working directory as session-approved: "${normalized}"`);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Add a directory to the approved list for this session.
|
|
98
|
+
* Files within this directory (including subdirectories) will be allowed.
|
|
99
|
+
*
|
|
100
|
+
* @param directory Absolute path to the directory to approve
|
|
101
|
+
* @param type The approval type:
|
|
102
|
+
* - 'session': No directory prompt on future accesses, follows tool config
|
|
103
|
+
* - 'once': Will prompt again on future accesses, but tool can execute this time
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* manager.addApprovedDirectory("/external/project", 'session');
|
|
107
|
+
* // Now /external/project/src/file.ts is accessible without directory prompt
|
|
108
|
+
*
|
|
109
|
+
* manager.addApprovedDirectory("/tmp/files", 'once');
|
|
110
|
+
* // Tool can access, but will prompt again next time
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
addApprovedDirectory(directory, type = "session") {
|
|
114
|
+
const normalized = path.resolve(directory);
|
|
115
|
+
const existing = this.approvedDirectories.get(normalized);
|
|
116
|
+
if (existing === "session") {
|
|
117
|
+
this.logger.debug(
|
|
118
|
+
`Directory "${normalized}" already approved as 'session', not downgrading to '${type}'`
|
|
119
|
+
);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.approvedDirectories.set(normalized, type);
|
|
123
|
+
this.logger.debug(`Added approved directory: "${normalized}" (type: ${type})`);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if a file path is within any session-approved directory.
|
|
127
|
+
* This is used for PROMPTING decisions - only 'session' type directories count.
|
|
128
|
+
* Working directory and user session-approved directories return true.
|
|
129
|
+
*
|
|
130
|
+
* @param filePath The file path to check (can be relative or absolute)
|
|
131
|
+
* @returns true if the path is within a session-approved directory
|
|
132
|
+
*/
|
|
133
|
+
isDirectorySessionApproved(filePath) {
|
|
134
|
+
const normalized = path.resolve(filePath);
|
|
135
|
+
for (const [approvedDir, type] of this.approvedDirectories) {
|
|
136
|
+
if (type !== "session") continue;
|
|
137
|
+
const relative = path.relative(approvedDir, normalized);
|
|
138
|
+
if (!relative.startsWith("..") && !path.isAbsolute(relative)) {
|
|
139
|
+
this.logger.debug(
|
|
140
|
+
`Path "${normalized}" is within session-approved directory "${approvedDir}"`
|
|
141
|
+
);
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if a file path is within any approved directory (session OR once).
|
|
149
|
+
* This is used for EXECUTION decisions - both 'session' and 'once' types count.
|
|
150
|
+
* PathValidator uses this to determine if a tool can access the path.
|
|
151
|
+
*
|
|
152
|
+
* @param filePath The file path to check (can be relative or absolute)
|
|
153
|
+
* @returns true if the path is within any approved directory
|
|
154
|
+
*/
|
|
155
|
+
isDirectoryApproved(filePath) {
|
|
156
|
+
const normalized = path.resolve(filePath);
|
|
157
|
+
for (const [approvedDir] of this.approvedDirectories) {
|
|
158
|
+
const relative = path.relative(approvedDir, normalized);
|
|
159
|
+
if (!relative.startsWith("..") && !path.isAbsolute(relative)) {
|
|
160
|
+
this.logger.debug(
|
|
161
|
+
`Path "${normalized}" is within approved directory "${approvedDir}"`
|
|
162
|
+
);
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Clear all approved directories.
|
|
170
|
+
* Should be called when session ends.
|
|
171
|
+
*/
|
|
172
|
+
clearApprovedDirectories() {
|
|
173
|
+
const count = this.approvedDirectories.size;
|
|
174
|
+
this.approvedDirectories.clear();
|
|
175
|
+
if (count > 0) {
|
|
176
|
+
this.logger.debug(`Cleared ${count} approved directories`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get the current map of approved directories with their types (for debugging/display).
|
|
181
|
+
*/
|
|
182
|
+
getApprovedDirectories() {
|
|
183
|
+
return this.approvedDirectories;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get just the directory paths that are approved (for debugging/display).
|
|
187
|
+
*/
|
|
188
|
+
getApprovedDirectoryPaths() {
|
|
189
|
+
return Array.from(this.approvedDirectories.keys());
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Clear all session-scoped approvals (bash patterns and directories).
|
|
193
|
+
* Convenience method for clearing all session state at once.
|
|
194
|
+
*/
|
|
195
|
+
clearSessionApprovals() {
|
|
196
|
+
this.clearBashPatterns();
|
|
197
|
+
this.clearApprovedDirectories();
|
|
198
|
+
this.logger.debug("Cleared all session approvals");
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Request directory access approval.
|
|
202
|
+
* Convenience method for directory access requests.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* const response = await manager.requestDirectoryAccess({
|
|
207
|
+
* path: '/external/project/src/file.ts',
|
|
208
|
+
* parentDir: '/external/project',
|
|
209
|
+
* operation: 'write',
|
|
210
|
+
* toolName: 'write_file',
|
|
211
|
+
* sessionId: 'session-123'
|
|
212
|
+
* });
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
async requestDirectoryAccess(metadata) {
|
|
216
|
+
const { sessionId, timeout, ...directoryMetadata } = metadata;
|
|
217
|
+
const details = {
|
|
218
|
+
type: ApprovalType.DIRECTORY_ACCESS,
|
|
219
|
+
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
220
|
+
timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
|
|
221
|
+
metadata: directoryMetadata
|
|
222
|
+
};
|
|
223
|
+
if (sessionId !== void 0) {
|
|
224
|
+
details.sessionId = sessionId;
|
|
225
|
+
}
|
|
226
|
+
return this.requestApproval(details);
|
|
227
|
+
}
|
|
17
228
|
/**
|
|
18
229
|
* Request a generic approval
|
|
19
230
|
*/
|
|
@@ -27,7 +238,7 @@ class ApprovalManager {
|
|
|
27
238
|
return this.handleApproval(request);
|
|
28
239
|
}
|
|
29
240
|
/**
|
|
30
|
-
* Handle approval requests (tool confirmation, elicitation, command confirmation, custom)
|
|
241
|
+
* Handle approval requests (tool confirmation, elicitation, command confirmation, directory access, custom)
|
|
31
242
|
* @private
|
|
32
243
|
*/
|
|
33
244
|
async handleApproval(request) {
|
|
@@ -84,7 +295,8 @@ class ApprovalManager {
|
|
|
84
295
|
const { sessionId, timeout, ...toolMetadata } = metadata;
|
|
85
296
|
const details = {
|
|
86
297
|
type: ApprovalType.TOOL_CONFIRMATION,
|
|
87
|
-
|
|
298
|
+
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
299
|
+
timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
|
|
88
300
|
metadata: toolMetadata
|
|
89
301
|
};
|
|
90
302
|
if (sessionId !== void 0) {
|
|
@@ -117,7 +329,8 @@ class ApprovalManager {
|
|
|
117
329
|
const { sessionId, timeout, ...commandMetadata } = metadata;
|
|
118
330
|
const details = {
|
|
119
331
|
type: ApprovalType.COMMAND_CONFIRMATION,
|
|
120
|
-
|
|
332
|
+
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
333
|
+
timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
|
|
121
334
|
metadata: commandMetadata
|
|
122
335
|
};
|
|
123
336
|
if (sessionId !== void 0) {
|
|
@@ -136,7 +349,8 @@ class ApprovalManager {
|
|
|
136
349
|
const { sessionId, timeout, ...elicitationMetadata } = metadata;
|
|
137
350
|
const details = {
|
|
138
351
|
type: ApprovalType.ELICITATION,
|
|
139
|
-
|
|
352
|
+
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
353
|
+
timeout: timeout !== void 0 ? timeout : this.config.elicitation.timeout,
|
|
140
354
|
metadata: elicitationMetadata
|
|
141
355
|
};
|
|
142
356
|
if (sessionId !== void 0) {
|
|
@@ -211,6 +425,12 @@ class ApprovalManager {
|
|
|
211
425
|
getPendingApprovals() {
|
|
212
426
|
return this.handler?.getPending?.() ?? [];
|
|
213
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* Get full pending approval requests
|
|
430
|
+
*/
|
|
431
|
+
getPendingApprovalRequests() {
|
|
432
|
+
return this.handler?.getPendingRequests?.() ?? [];
|
|
433
|
+
}
|
|
214
434
|
/**
|
|
215
435
|
* Get current configuration
|
|
216
436
|
*/
|
|
@@ -34,6 +34,10 @@ __export(schemas_exports, {
|
|
|
34
34
|
CustomApprovalResponseDataSchema: () => CustomApprovalResponseDataSchema,
|
|
35
35
|
CustomApprovalResponseSchema: () => CustomApprovalResponseSchema,
|
|
36
36
|
DenialReasonSchema: () => DenialReasonSchema,
|
|
37
|
+
DirectoryAccessMetadataSchema: () => DirectoryAccessMetadataSchema,
|
|
38
|
+
DirectoryAccessRequestSchema: () => DirectoryAccessRequestSchema,
|
|
39
|
+
DirectoryAccessResponseDataSchema: () => DirectoryAccessResponseDataSchema,
|
|
40
|
+
DirectoryAccessResponseSchema: () => DirectoryAccessResponseSchema,
|
|
37
41
|
ElicitationMetadataSchema: () => ElicitationMetadataSchema,
|
|
38
42
|
ElicitationRequestSchema: () => ElicitationRequestSchema,
|
|
39
43
|
ElicitationResponseDataSchema: () => ElicitationResponseDataSchema,
|
|
@@ -46,14 +50,25 @@ __export(schemas_exports, {
|
|
|
46
50
|
module.exports = __toCommonJS(schemas_exports);
|
|
47
51
|
var import_zod = require("zod");
|
|
48
52
|
var import_types = require("./types.js");
|
|
53
|
+
var import_display_types = require("../tools/display-types.js");
|
|
49
54
|
const JsonSchema7Schema = import_zod.z.record(import_zod.z.unknown());
|
|
50
55
|
const ApprovalTypeSchema = import_zod.z.nativeEnum(import_types.ApprovalType);
|
|
51
56
|
const ApprovalStatusSchema = import_zod.z.nativeEnum(import_types.ApprovalStatus);
|
|
52
57
|
const DenialReasonSchema = import_zod.z.nativeEnum(import_types.DenialReason);
|
|
58
|
+
const ToolDisplayDataSchema = import_zod.z.custom((val) => (0, import_display_types.isValidDisplayData)(val), {
|
|
59
|
+
message: "Invalid ToolDisplayData"
|
|
60
|
+
});
|
|
53
61
|
const ToolConfirmationMetadataSchema = import_zod.z.object({
|
|
54
62
|
toolName: import_zod.z.string().describe("Name of the tool to confirm"),
|
|
63
|
+
toolCallId: import_zod.z.string().describe("Unique tool call ID for tracking parallel tool calls"),
|
|
55
64
|
args: import_zod.z.record(import_zod.z.unknown()).describe("Arguments for the tool"),
|
|
56
|
-
description: import_zod.z.string().optional().describe("Description of the tool")
|
|
65
|
+
description: import_zod.z.string().optional().describe("Description of the tool"),
|
|
66
|
+
displayPreview: ToolDisplayDataSchema.optional().describe(
|
|
67
|
+
"Preview display data for approval UI (e.g., diff preview)"
|
|
68
|
+
),
|
|
69
|
+
suggestedPatterns: import_zod.z.array(import_zod.z.string()).optional().describe(
|
|
70
|
+
'Suggested patterns for session approval (for bash commands). E.g., ["git push *", "git *"] for command "git push origin main"'
|
|
71
|
+
)
|
|
57
72
|
}).strict().describe("Tool confirmation metadata");
|
|
58
73
|
const CommandConfirmationMetadataSchema = import_zod.z.object({
|
|
59
74
|
toolName: import_zod.z.string().describe("Name of the tool executing the command"),
|
|
@@ -67,11 +82,17 @@ const ElicitationMetadataSchema = import_zod.z.object({
|
|
|
67
82
|
context: import_zod.z.record(import_zod.z.unknown()).optional().describe("Additional context")
|
|
68
83
|
}).strict().describe("Elicitation metadata");
|
|
69
84
|
const CustomApprovalMetadataSchema = import_zod.z.record(import_zod.z.unknown()).describe("Custom metadata");
|
|
85
|
+
const DirectoryAccessMetadataSchema = import_zod.z.object({
|
|
86
|
+
path: import_zod.z.string().describe("Full path being accessed"),
|
|
87
|
+
parentDir: import_zod.z.string().describe("Parent directory (what gets approved for session)"),
|
|
88
|
+
operation: import_zod.z.enum(["read", "write", "edit"]).describe("Type of file operation"),
|
|
89
|
+
toolName: import_zod.z.string().describe("Name of the tool requesting access")
|
|
90
|
+
}).strict().describe("Directory access metadata");
|
|
70
91
|
const BaseApprovalRequestSchema = import_zod.z.object({
|
|
71
92
|
approvalId: import_zod.z.string().uuid().describe("Unique approval identifier"),
|
|
72
93
|
type: ApprovalTypeSchema.describe("Type of approval"),
|
|
73
94
|
sessionId: import_zod.z.string().optional().describe("Session identifier"),
|
|
74
|
-
timeout: import_zod.z.number().int().positive().describe("Timeout in milliseconds"),
|
|
95
|
+
timeout: import_zod.z.number().int().positive().optional().describe("Timeout in milliseconds (optional - no timeout if not specified)"),
|
|
75
96
|
timestamp: import_zod.z.date().describe("When the request was created")
|
|
76
97
|
}).describe("Base approval request");
|
|
77
98
|
const ToolConfirmationRequestSchema = BaseApprovalRequestSchema.extend({
|
|
@@ -90,14 +111,22 @@ const CustomApprovalRequestSchema = BaseApprovalRequestSchema.extend({
|
|
|
90
111
|
type: import_zod.z.literal(import_types.ApprovalType.CUSTOM),
|
|
91
112
|
metadata: CustomApprovalMetadataSchema
|
|
92
113
|
}).strict();
|
|
114
|
+
const DirectoryAccessRequestSchema = BaseApprovalRequestSchema.extend({
|
|
115
|
+
type: import_zod.z.literal(import_types.ApprovalType.DIRECTORY_ACCESS),
|
|
116
|
+
metadata: DirectoryAccessMetadataSchema
|
|
117
|
+
}).strict();
|
|
93
118
|
const ApprovalRequestSchema = import_zod.z.discriminatedUnion("type", [
|
|
94
119
|
ToolConfirmationRequestSchema,
|
|
95
120
|
CommandConfirmationRequestSchema,
|
|
96
121
|
ElicitationRequestSchema,
|
|
97
|
-
CustomApprovalRequestSchema
|
|
122
|
+
CustomApprovalRequestSchema,
|
|
123
|
+
DirectoryAccessRequestSchema
|
|
98
124
|
]);
|
|
99
125
|
const ToolConfirmationResponseDataSchema = import_zod.z.object({
|
|
100
|
-
rememberChoice: import_zod.z.boolean().optional().describe("Remember this
|
|
126
|
+
rememberChoice: import_zod.z.boolean().optional().describe("Remember this tool for the session (approves ALL uses of this tool)"),
|
|
127
|
+
rememberPattern: import_zod.z.string().optional().describe(
|
|
128
|
+
'Remember a command pattern for bash commands (e.g., "git *"). Only applicable for bash_exec tool approvals.'
|
|
129
|
+
)
|
|
101
130
|
}).strict().describe("Tool confirmation response data");
|
|
102
131
|
const CommandConfirmationResponseDataSchema = import_zod.z.object({
|
|
103
132
|
// Command confirmations don't have remember choice - they're per-command
|
|
@@ -107,6 +136,9 @@ const ElicitationResponseDataSchema = import_zod.z.object({
|
|
|
107
136
|
formData: import_zod.z.record(import_zod.z.unknown()).describe("Form data matching schema")
|
|
108
137
|
}).strict().describe("Elicitation response data");
|
|
109
138
|
const CustomApprovalResponseDataSchema = import_zod.z.record(import_zod.z.unknown()).describe("Custom response data");
|
|
139
|
+
const DirectoryAccessResponseDataSchema = import_zod.z.object({
|
|
140
|
+
rememberDirectory: import_zod.z.boolean().optional().describe("Remember this directory for the session (allows all file access within it)")
|
|
141
|
+
}).strict().describe("Directory access response data");
|
|
110
142
|
const BaseApprovalResponseSchema = import_zod.z.object({
|
|
111
143
|
approvalId: import_zod.z.string().uuid().describe("Must match request approvalId"),
|
|
112
144
|
status: ApprovalStatusSchema.describe("Approval status"),
|
|
@@ -129,21 +161,26 @@ const ElicitationResponseSchema = BaseApprovalResponseSchema.extend({
|
|
|
129
161
|
const CustomApprovalResponseSchema = BaseApprovalResponseSchema.extend({
|
|
130
162
|
data: CustomApprovalResponseDataSchema.optional()
|
|
131
163
|
}).strict();
|
|
164
|
+
const DirectoryAccessResponseSchema = BaseApprovalResponseSchema.extend({
|
|
165
|
+
data: DirectoryAccessResponseDataSchema.optional()
|
|
166
|
+
}).strict();
|
|
132
167
|
const ApprovalResponseSchema = import_zod.z.union([
|
|
133
168
|
ToolConfirmationResponseSchema,
|
|
134
169
|
CommandConfirmationResponseSchema,
|
|
135
170
|
ElicitationResponseSchema,
|
|
136
|
-
CustomApprovalResponseSchema
|
|
171
|
+
CustomApprovalResponseSchema,
|
|
172
|
+
DirectoryAccessResponseSchema
|
|
137
173
|
]);
|
|
138
174
|
const ApprovalRequestDetailsSchema = import_zod.z.object({
|
|
139
175
|
type: ApprovalTypeSchema,
|
|
140
176
|
sessionId: import_zod.z.string().optional(),
|
|
141
|
-
timeout: import_zod.z.number().int().positive(),
|
|
177
|
+
timeout: import_zod.z.number().int().positive().optional().describe("Timeout in milliseconds (optional - no timeout if not specified)"),
|
|
142
178
|
metadata: import_zod.z.union([
|
|
143
179
|
ToolConfirmationMetadataSchema,
|
|
144
180
|
CommandConfirmationMetadataSchema,
|
|
145
181
|
ElicitationMetadataSchema,
|
|
146
|
-
CustomApprovalMetadataSchema
|
|
182
|
+
CustomApprovalMetadataSchema,
|
|
183
|
+
DirectoryAccessMetadataSchema
|
|
147
184
|
])
|
|
148
185
|
}).superRefine((data, ctx) => {
|
|
149
186
|
if (data.type === import_types.ApprovalType.TOOL_CONFIRMATION) {
|
|
@@ -173,6 +210,15 @@ const ApprovalRequestDetailsSchema = import_zod.z.object({
|
|
|
173
210
|
path: ["metadata"]
|
|
174
211
|
});
|
|
175
212
|
}
|
|
213
|
+
} else if (data.type === import_types.ApprovalType.DIRECTORY_ACCESS) {
|
|
214
|
+
const result = DirectoryAccessMetadataSchema.safeParse(data.metadata);
|
|
215
|
+
if (!result.success) {
|
|
216
|
+
ctx.addIssue({
|
|
217
|
+
code: import_zod.z.ZodIssueCode.custom,
|
|
218
|
+
message: "Metadata must match DirectoryAccessMetadataSchema for DIRECTORY_ACCESS type",
|
|
219
|
+
path: ["metadata"]
|
|
220
|
+
});
|
|
221
|
+
}
|
|
176
222
|
} else if (data.type === import_types.ApprovalType.CUSTOM) {
|
|
177
223
|
const result = CustomApprovalMetadataSchema.safeParse(data.metadata);
|
|
178
224
|
if (!result.success) {
|
|
@@ -202,6 +248,10 @@ const ApprovalRequestDetailsSchema = import_zod.z.object({
|
|
|
202
248
|
CustomApprovalResponseDataSchema,
|
|
203
249
|
CustomApprovalResponseSchema,
|
|
204
250
|
DenialReasonSchema,
|
|
251
|
+
DirectoryAccessMetadataSchema,
|
|
252
|
+
DirectoryAccessRequestSchema,
|
|
253
|
+
DirectoryAccessResponseDataSchema,
|
|
254
|
+
DirectoryAccessResponseSchema,
|
|
205
255
|
ElicitationMetadataSchema,
|
|
206
256
|
ElicitationRequestSchema,
|
|
207
257
|
ElicitationResponseDataSchema,
|