@dexto/core 1.5.8 → 1.6.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 +19 -8
- package/dist/agent/DextoAgent.cjs +293 -154
- package/dist/agent/DextoAgent.d.ts +83 -56
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +290 -151
- package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
- package/dist/agent/agent-options.d.ts +53 -0
- package/dist/agent/agent-options.d.ts.map +1 -0
- package/dist/agent/agentCard.cjs +1 -1
- package/dist/agent/errors.cjs +2 -2
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/index.cjs +1 -6
- package/dist/agent/index.d.ts +3 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -7
- package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
- package/dist/agent/runtime-config.d.ts +53 -0
- package/dist/agent/runtime-config.d.ts.map +1 -0
- package/dist/agent/schemas.cjs +2 -104
- package/dist/agent/schemas.d.ts +10 -9199
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +1 -109
- package/dist/agent/state-manager.d.ts +5 -5
- package/dist/agent/state-manager.d.ts.map +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 +1 -1
- package/dist/approval/errors.cjs +5 -5
- package/dist/approval/errors.d.ts +2 -2
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +5 -5
- package/dist/approval/index.cjs +8 -8
- package/dist/approval/index.d.ts +2 -2
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +8 -8
- package/dist/approval/manager.cjs +77 -57
- package/dist/approval/manager.d.ts +41 -43
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +75 -55
- package/dist/approval/schemas.cjs +26 -25
- package/dist/approval/schemas.d.ts +35 -15
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +22 -21
- package/dist/approval/types.cjs +1 -1
- package/dist/approval/types.d.ts +14 -14
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -1
- package/dist/context/compaction/index.cjs +2 -23
- package/dist/context/compaction/index.d.ts +1 -7
- package/dist/context/compaction/index.d.ts.map +1 -1
- package/dist/context/compaction/index.js +1 -16
- package/dist/context/compaction/strategies/noop.cjs +19 -1
- package/dist/context/compaction/strategies/noop.d.ts +13 -3
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
- package/dist/context/compaction/strategies/noop.js +19 -1
- package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
- package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
- package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
- package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
- package/dist/context/compaction/types.d.ts +40 -8
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/context/manager.cjs +4 -2
- package/dist/context/manager.d.ts +4 -3
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +4 -2
- package/dist/context/types.d.ts +2 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +2 -2
- package/dist/context/utils.d.ts +14 -14
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/errors/result-bridge.d.ts +2 -2
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/types.cjs +1 -1
- package/dist/errors/types.d.ts +3 -3
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +11 -1
- package/dist/events/index.d.ts +43 -7
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +11 -1
- package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
- package/dist/hooks/builtins/content-policy.d.ts +24 -0
- package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
- package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
- package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
- package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
- package/dist/hooks/error-codes.cjs +43 -0
- package/dist/hooks/error-codes.d.ts +34 -0
- package/dist/hooks/error-codes.d.ts.map +1 -0
- package/dist/hooks/error-codes.js +20 -0
- package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/manager.cjs +354 -0
- package/dist/hooks/manager.d.ts +103 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +331 -0
- package/dist/{plugins → hooks}/types.d.ts +36 -34
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +13 -12
- package/dist/index.browser.d.ts +5 -5
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +8 -7
- package/dist/index.cjs +5 -7
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/llm/errors.cjs +1 -1
- package/dist/llm/executor/stream-processor.cjs +131 -11
- package/dist/llm/executor/stream-processor.d.ts +7 -5
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +131 -11
- package/dist/llm/executor/turn-executor.cjs +49 -54
- package/dist/llm/executor/turn-executor.d.ts +7 -8
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +49 -54
- package/dist/llm/formatters/vercel.cjs +2 -2
- package/dist/llm/formatters/vercel.d.ts +2 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/providers/local/schemas.d.ts +10 -10
- package/dist/llm/registry/auto-update.d.ts +2 -2
- package/dist/llm/registry/auto-update.d.ts.map +1 -1
- package/dist/llm/registry/index.d.ts +3 -3
- package/dist/llm/registry/index.d.ts.map +1 -1
- package/dist/llm/resolver.cjs +2 -2
- package/dist/llm/resolver.d.ts +4 -4
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/schemas.cjs +67 -104
- package/dist/llm/schemas.d.ts +6 -145
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +64 -101
- package/dist/llm/services/factory.cjs +2 -3
- package/dist/llm/services/factory.d.ts +3 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +2 -3
- package/dist/llm/services/vercel.cjs +7 -14
- package/dist/llm/services/vercel.d.ts +6 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +7 -14
- package/dist/llm/validation.cjs +1 -1
- package/dist/llm/validation.d.ts +2 -2
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/logger/browser.cjs +4 -4
- package/dist/logger/browser.d.ts +4 -4
- package/dist/logger/browser.d.ts.map +1 -1
- package/dist/logger/browser.js +3 -3
- package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
- package/dist/logger/default-logger-factory.d.ts +301 -0
- package/dist/logger/default-logger-factory.d.ts.map +1 -0
- package/dist/logger/default-logger-factory.js +18 -0
- package/dist/logger/factory.d.ts +2 -2
- package/dist/logger/factory.d.ts.map +1 -1
- package/dist/logger/index.cjs +7 -2
- package/dist/logger/index.d.ts +5 -3
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +8 -2
- package/dist/logger/logger.cjs +4 -4
- package/dist/logger/logger.d.ts +4 -4
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +3 -3
- package/dist/logger/v2/dexto-logger.d.ts +3 -3
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/schemas.d.ts +12 -12
- package/dist/logger/v2/test-utils.d.ts +5 -5
- package/dist/logger/v2/test-utils.d.ts.map +1 -1
- package/dist/logger/v2/transport-factory.d.ts +3 -3
- package/dist/logger/v2/transport-factory.d.ts.map +1 -1
- package/dist/logger/v2/transports/console-transport.d.ts +2 -2
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.d.ts +2 -2
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
- package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
- package/dist/logger/v2/types.cjs +1 -1
- package/dist/logger/v2/types.d.ts +8 -8
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/errors.cjs +2 -2
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/manager.cjs +16 -11
- package/dist/mcp/manager.d.ts +16 -13
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +17 -12
- package/dist/mcp/mcp-client.cjs +25 -20
- package/dist/mcp/mcp-client.d.ts +5 -5
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +20 -15
- package/dist/mcp/resolver.cjs +1 -1
- package/dist/mcp/schemas.cjs +5 -5
- package/dist/mcp/schemas.d.ts +4 -4
- package/dist/mcp/schemas.js +2 -2
- package/dist/mcp/types.d.ts +7 -7
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/manager.d.ts +2 -2
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/schemas.d.ts +2 -2
- package/dist/prompts/errors.cjs +3 -3
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.d.ts +3 -3
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
- package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +15 -29
- package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/schemas.d.ts +4 -4
- package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
- package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
- package/dist/resources/agent-resources-provider.d.ts.map +1 -0
- package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
- package/dist/resources/errors.cjs +2 -2
- package/dist/resources/errors.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.d.ts +2 -2
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/factory.d.ts +3 -3
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/index.cjs +7 -9
- package/dist/resources/index.d.ts +3 -3
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -10
- package/dist/resources/manager.cjs +77 -74
- package/dist/resources/manager.d.ts +16 -7
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +77 -74
- package/dist/resources/schemas.cjs +6 -26
- package/dist/resources/schemas.d.ts +8 -100
- package/dist/resources/schemas.d.ts.map +1 -1
- package/dist/resources/schemas.js +4 -23
- package/dist/search/search-service.d.ts +2 -2
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/session/chat-session.cjs +15 -25
- package/dist/session/chat-session.d.ts +7 -5
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +16 -26
- package/dist/session/errors.cjs +2 -2
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/history/database.cjs +1 -1
- package/dist/session/history/database.d.ts +4 -4
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/factory.d.ts +3 -3
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/memory.d.ts +4 -4
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/types.d.ts +2 -2
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -0
- package/dist/session/message-queue.d.ts +2 -2
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/session-manager.cjs +67 -9
- package/dist/session/session-manager.d.ts +46 -7
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +67 -9
- package/dist/session/title-generator.cjs +2 -2
- package/dist/session/title-generator.d.ts +2 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/storage/blob/index.cjs +0 -40
- package/dist/storage/blob/index.d.ts +2 -44
- package/dist/storage/blob/index.d.ts.map +1 -1
- package/dist/storage/blob/index.js +0 -30
- package/dist/storage/cache/index.cjs +0 -37
- package/dist/storage/cache/index.d.ts +0 -42
- package/dist/storage/cache/index.d.ts.map +1 -1
- package/dist/storage/cache/index.js +0 -28
- package/dist/storage/database/index.cjs +0 -42
- package/dist/storage/database/index.d.ts +0 -43
- package/dist/storage/database/index.d.ts.map +1 -1
- package/dist/storage/database/index.js +0 -37
- package/dist/storage/error-codes.cjs +1 -6
- package/dist/storage/error-codes.d.ts +2 -7
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -6
- package/dist/storage/errors.cjs +18 -82
- package/dist/storage/errors.d.ts +4 -24
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -80
- package/dist/storage/index.cjs +8 -69
- package/dist/storage/index.d.ts +11 -66
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +6 -50
- package/dist/storage/storage-manager.cjs +9 -25
- package/dist/storage/storage-manager.d.ts +11 -15
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -23
- package/dist/storage/types.d.ts +0 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.d.ts +4 -4
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/errors.cjs +2 -2
- package/dist/systemPrompt/errors.d.ts.map +1 -1
- package/dist/systemPrompt/manager.cjs +1 -5
- package/dist/systemPrompt/manager.d.ts +2 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +1 -5
- package/dist/telemetry/index.cjs +3 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/utils.d.ts +4 -4
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/test-utils/in-memory-storage.cjs +288 -0
- package/dist/test-utils/in-memory-storage.js +252 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
- package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
- package/dist/tools/define-tool.d.ts +11 -0
- package/dist/tools/define-tool.d.ts.map +1 -0
- package/dist/tools/define-tool.js +7 -0
- package/dist/tools/error-codes.cjs +2 -2
- package/dist/tools/error-codes.d.ts +2 -2
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +2 -2
- package/dist/tools/errors.cjs +11 -23
- package/dist/tools/errors.d.ts +4 -10
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +9 -21
- package/dist/tools/index.cjs +3 -8
- package/dist/tools/index.d.ts +2 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -7
- package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
- package/dist/tools/pattern-utils.d.ts +20 -0
- package/dist/tools/pattern-utils.d.ts.map +1 -0
- package/dist/tools/pattern-utils.js +10 -0
- package/dist/tools/schemas.cjs +14 -40
- package/dist/tools/schemas.d.ts +6 -50
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +11 -32
- package/dist/tools/tool-call-metadata.cjs +3 -3
- package/dist/tools/tool-call-metadata.d.ts +1 -1
- package/dist/tools/tool-call-metadata.d.ts.map +1 -1
- package/dist/tools/tool-call-metadata.js +3 -3
- package/dist/tools/tool-manager.cjs +376 -327
- package/dist/tools/tool-manager.d.ts +63 -80
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +376 -331
- package/dist/tools/types.d.ts +112 -13
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/error-conversion.d.ts +2 -2
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/path.d.ts +2 -2
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/result.cjs +1 -1
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/schema.cjs +9 -5
- package/dist/utils/schema.d.ts +4 -2
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +9 -5
- package/dist/utils/service-initializer.cjs +51 -56
- package/dist/utils/service-initializer.d.ts +17 -14
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +51 -56
- package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
- package/dist/workspace/error-codes.d.ts +5 -0
- package/dist/workspace/error-codes.d.ts.map +1 -0
- package/dist/workspace/error-codes.js +7 -0
- package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
- package/dist/workspace/errors.d.ts +5 -0
- package/dist/workspace/errors.d.ts.map +1 -0
- package/dist/workspace/errors.js +21 -0
- package/dist/{image → workspace}/index.cjs +12 -10
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +9 -0
- package/dist/workspace/manager.cjs +113 -0
- package/dist/workspace/manager.d.ts +18 -0
- package/dist/workspace/manager.d.ts.map +1 -0
- package/dist/workspace/manager.js +90 -0
- package/dist/workspace/types.d.ts +14 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/context/compaction/factory.cjs +0 -57
- package/dist/context/compaction/factory.d.ts +0 -17
- package/dist/context/compaction/factory.d.ts.map +0 -1
- package/dist/context/compaction/factory.js +0 -34
- package/dist/context/compaction/provider.d.ts +0 -48
- package/dist/context/compaction/provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
- package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.js +0 -24
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
- package/dist/context/compaction/registry.cjs +0 -39
- package/dist/context/compaction/registry.d.ts +0 -19
- package/dist/context/compaction/registry.d.ts.map +0 -1
- package/dist/context/compaction/registry.js +0 -16
- package/dist/context/compaction/schemas.cjs +0 -58
- package/dist/context/compaction/schemas.d.ts +0 -69
- package/dist/context/compaction/schemas.d.ts.map +0 -1
- package/dist/context/compaction/schemas.js +0 -34
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
- package/dist/image/define-image.cjs +0 -146
- package/dist/image/define-image.d.ts +0 -71
- package/dist/image/define-image.d.ts.map +0 -1
- package/dist/image/define-image.js +0 -121
- package/dist/image/index.d.ts +0 -53
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js +0 -7
- package/dist/image/types.d.ts +0 -246
- package/dist/image/types.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.cjs +0 -237
- package/dist/llm/services/test-utils.integration.d.ts +0 -48
- package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.js +0 -214
- package/dist/plugins/builtins/content-policy.d.ts +0 -26
- package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
- package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
- package/dist/plugins/error-codes.cjs +0 -43
- package/dist/plugins/error-codes.d.ts +0 -34
- package/dist/plugins/error-codes.d.ts.map +0 -1
- package/dist/plugins/error-codes.js +0 -20
- package/dist/plugins/index.cjs +0 -61
- package/dist/plugins/index.d.ts +0 -21
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -30
- package/dist/plugins/loader.cjs +0 -171
- package/dist/plugins/loader.d.ts +0 -30
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -145
- package/dist/plugins/manager.cjs +0 -473
- package/dist/plugins/manager.d.ts +0 -106
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -450
- package/dist/plugins/registrations/builtins.cjs +0 -51
- package/dist/plugins/registrations/builtins.d.ts +0 -17
- package/dist/plugins/registrations/builtins.d.ts.map +0 -1
- package/dist/plugins/registrations/builtins.js +0 -28
- package/dist/plugins/registry.cjs +0 -63
- package/dist/plugins/registry.d.ts +0 -101
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -39
- package/dist/plugins/schemas.cjs +0 -73
- package/dist/plugins/schemas.d.ts +0 -195
- package/dist/plugins/schemas.d.ts.map +0 -1
- package/dist/plugins/schemas.js +0 -47
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/providers/base-registry.cjs +0 -147
- package/dist/providers/base-registry.d.ts +0 -147
- package/dist/providers/base-registry.d.ts.map +0 -1
- package/dist/providers/base-registry.js +0 -123
- package/dist/providers/discovery.cjs +0 -109
- package/dist/providers/discovery.d.ts +0 -96
- package/dist/providers/discovery.d.ts.map +0 -1
- package/dist/providers/discovery.js +0 -84
- package/dist/providers/index.cjs +0 -24
- package/dist/providers/index.d.ts +0 -32
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/resources/internal-provider.d.ts.map +0 -1
- package/dist/storage/blob/factory.d.ts +0 -37
- package/dist/storage/blob/factory.d.ts.map +0 -1
- package/dist/storage/blob/factory.js +0 -15
- package/dist/storage/blob/local-blob-store.cjs +0 -496
- package/dist/storage/blob/local-blob-store.d.ts +0 -58
- package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/local-blob-store.js +0 -463
- package/dist/storage/blob/memory-blob-store.cjs +0 -326
- package/dist/storage/blob/memory-blob-store.d.ts +0 -66
- package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/memory-blob-store.js +0 -303
- package/dist/storage/blob/provider.d.ts +0 -50
- package/dist/storage/blob/provider.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.d.ts +0 -8
- package/dist/storage/blob/providers/index.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.js +0 -7
- package/dist/storage/blob/providers/local.cjs +0 -39
- package/dist/storage/blob/providers/local.d.ts +0 -17
- package/dist/storage/blob/providers/local.d.ts.map +0 -1
- package/dist/storage/blob/providers/local.js +0 -16
- package/dist/storage/blob/providers/memory.cjs +0 -39
- package/dist/storage/blob/providers/memory.d.ts +0 -17
- package/dist/storage/blob/providers/memory.d.ts.map +0 -1
- package/dist/storage/blob/providers/memory.js +0 -16
- package/dist/storage/blob/registry.cjs +0 -50
- package/dist/storage/blob/registry.d.ts +0 -42
- package/dist/storage/blob/registry.d.ts.map +0 -1
- package/dist/storage/blob/registry.js +0 -26
- package/dist/storage/blob/schemas.cjs +0 -52
- package/dist/storage/blob/schemas.d.ts +0 -85
- package/dist/storage/blob/schemas.d.ts.map +0 -1
- package/dist/storage/blob/schemas.js +0 -26
- package/dist/storage/cache/factory.cjs +0 -38
- package/dist/storage/cache/factory.d.ts +0 -37
- package/dist/storage/cache/factory.d.ts.map +0 -1
- package/dist/storage/cache/factory.js +0 -15
- package/dist/storage/cache/memory-cache-store.cjs +0 -107
- package/dist/storage/cache/memory-cache-store.d.ts +0 -26
- package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
- package/dist/storage/cache/memory-cache-store.js +0 -84
- package/dist/storage/cache/provider.cjs +0 -16
- package/dist/storage/cache/provider.d.ts +0 -56
- package/dist/storage/cache/provider.d.ts.map +0 -1
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.d.ts +0 -8
- package/dist/storage/cache/providers/index.d.ts.map +0 -1
- package/dist/storage/cache/providers/index.js +0 -7
- package/dist/storage/cache/providers/memory.d.ts +0 -17
- package/dist/storage/cache/providers/memory.d.ts.map +0 -1
- package/dist/storage/cache/providers/memory.js +0 -17
- package/dist/storage/cache/providers/redis.cjs +0 -66
- package/dist/storage/cache/providers/redis.d.ts +0 -20
- package/dist/storage/cache/providers/redis.d.ts.map +0 -1
- package/dist/storage/cache/providers/redis.js +0 -33
- package/dist/storage/cache/redis-store.cjs +0 -173
- package/dist/storage/cache/redis-store.d.ts +0 -32
- package/dist/storage/cache/redis-store.d.ts.map +0 -1
- package/dist/storage/cache/redis-store.js +0 -150
- package/dist/storage/cache/registry.cjs +0 -50
- package/dist/storage/cache/registry.d.ts +0 -42
- package/dist/storage/cache/registry.d.ts.map +0 -1
- package/dist/storage/cache/registry.js +0 -26
- package/dist/storage/cache/schemas.cjs +0 -81
- package/dist/storage/cache/schemas.d.ts +0 -150
- package/dist/storage/cache/schemas.d.ts.map +0 -1
- package/dist/storage/cache/schemas.js +0 -55
- package/dist/storage/database/factory.cjs +0 -38
- package/dist/storage/database/factory.d.ts +0 -39
- package/dist/storage/database/factory.d.ts.map +0 -1
- package/dist/storage/database/factory.js +0 -15
- package/dist/storage/database/memory-database-store.cjs +0 -122
- package/dist/storage/database/memory-database-store.d.ts +0 -29
- package/dist/storage/database/memory-database-store.d.ts.map +0 -1
- package/dist/storage/database/memory-database-store.js +0 -99
- package/dist/storage/database/postgres-store.cjs +0 -342
- package/dist/storage/database/postgres-store.d.ts +0 -55
- package/dist/storage/database/postgres-store.d.ts.map +0 -1
- package/dist/storage/database/postgres-store.js +0 -319
- package/dist/storage/database/provider.cjs +0 -16
- package/dist/storage/database/provider.d.ts +0 -56
- package/dist/storage/database/provider.d.ts.map +0 -1
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +0 -34
- package/dist/storage/database/providers/index.d.ts +0 -9
- package/dist/storage/database/providers/index.d.ts.map +0 -1
- package/dist/storage/database/providers/index.js +0 -9
- package/dist/storage/database/providers/memory.cjs +0 -40
- package/dist/storage/database/providers/memory.d.ts +0 -16
- package/dist/storage/database/providers/memory.d.ts.map +0 -1
- package/dist/storage/database/providers/memory.js +0 -17
- package/dist/storage/database/providers/postgres.cjs +0 -62
- package/dist/storage/database/providers/postgres.d.ts +0 -19
- package/dist/storage/database/providers/postgres.d.ts.map +0 -1
- package/dist/storage/database/providers/postgres.js +0 -29
- package/dist/storage/database/providers/sqlite.cjs +0 -66
- package/dist/storage/database/providers/sqlite.d.ts +0 -20
- package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
- package/dist/storage/database/providers/sqlite.js +0 -33
- package/dist/storage/database/registry.cjs +0 -50
- package/dist/storage/database/registry.d.ts +0 -42
- package/dist/storage/database/registry.d.ts.map +0 -1
- package/dist/storage/database/registry.js +0 -26
- package/dist/storage/database/schemas.cjs +0 -97
- package/dist/storage/database/schemas.d.ts +0 -226
- package/dist/storage/database/schemas.d.ts.map +0 -1
- package/dist/storage/database/schemas.js +0 -70
- package/dist/storage/database/sqlite-store.cjs +0 -270
- package/dist/storage/database/sqlite-store.d.ts +0 -33
- package/dist/storage/database/sqlite-store.d.ts.map +0 -1
- package/dist/storage/database/sqlite-store.js +0 -237
- package/dist/storage/schemas.cjs +0 -57
- package/dist/storage/schemas.d.ts +0 -347
- package/dist/storage/schemas.d.ts.map +0 -1
- package/dist/storage/schemas.js +0 -37
- package/dist/tools/bash-pattern-utils.cjs +0 -91
- package/dist/tools/bash-pattern-utils.d.ts +0 -58
- package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
- package/dist/tools/bash-pattern-utils.js +0 -64
- package/dist/tools/custom-tool-registry.cjs +0 -64
- package/dist/tools/custom-tool-registry.d.ts +0 -126
- package/dist/tools/custom-tool-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-registry.js +0 -40
- package/dist/tools/custom-tool-schema-registry.cjs +0 -164
- package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
- package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-schema-registry.js +0 -140
- package/dist/tools/internal-tools/constants.d.ts +0 -12
- package/dist/tools/internal-tools/constants.d.ts.map +0 -1
- package/dist/tools/internal-tools/constants.js +0 -12
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
- package/dist/tools/internal-tools/index.cjs +0 -26
- package/dist/tools/internal-tools/index.d.ts +0 -4
- package/dist/tools/internal-tools/index.d.ts.map +0 -1
- package/dist/tools/internal-tools/index.js +0 -3
- package/dist/tools/internal-tools/provider.cjs +0 -324
- package/dist/tools/internal-tools/provider.d.ts +0 -116
- package/dist/tools/internal-tools/provider.d.ts.map +0 -1
- package/dist/tools/internal-tools/provider.js +0 -301
- package/dist/tools/internal-tools/registry.cjs +0 -71
- package/dist/tools/internal-tools/registry.d.ts +0 -91
- package/dist/tools/internal-tools/registry.d.ts.map +0 -1
- package/dist/tools/internal-tools/registry.js +0 -47
- /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
- /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
- /package/dist/{image → hooks}/types.cjs +0 -0
- /package/dist/{plugins → hooks}/types.js +0 -0
- /package/dist/{plugins → workspace}/types.cjs +0 -0
- /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
|
@@ -36,17 +36,18 @@ var import_types = require("./types.js");
|
|
|
36
36
|
var import_factory = require("./factory.js");
|
|
37
37
|
var import_types2 = require("../logger/v2/types.js");
|
|
38
38
|
var import_errors = require("./errors.js");
|
|
39
|
-
var
|
|
39
|
+
var import_pattern_utils = require("../tools/pattern-utils.js");
|
|
40
40
|
class ApprovalManager {
|
|
41
41
|
handler;
|
|
42
42
|
config;
|
|
43
43
|
logger;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
45
|
+
* Tool approval patterns, keyed by tool id.
|
|
46
|
+
*
|
|
47
|
+
* Patterns use simple glob syntax (e.g. "git *", "npm install *") and are matched
|
|
48
|
+
* using pattern-to-pattern covering (see {@link patternCovers}).
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
+
toolPatterns = /* @__PURE__ */ new Map();
|
|
50
51
|
/**
|
|
51
52
|
* Directories approved for file access for the current session.
|
|
52
53
|
* Stores normalized absolute paths mapped to their approval type:
|
|
@@ -59,36 +60,37 @@ class ApprovalManager {
|
|
|
59
60
|
this.config = config;
|
|
60
61
|
this.logger = logger.createChild(import_types2.DextoLogComponent.APPROVAL);
|
|
61
62
|
this.logger.debug(
|
|
62
|
-
`ApprovalManager initialized with
|
|
63
|
+
`ApprovalManager initialized with permissions.mode: ${config.permissions.mode}, elicitation.enabled: ${config.elicitation.enabled}`
|
|
63
64
|
);
|
|
64
65
|
}
|
|
65
|
-
// ====================
|
|
66
|
+
// ==================== Pattern Methods ====================
|
|
67
|
+
getOrCreateToolPatternSet(toolName) {
|
|
68
|
+
const existing = this.toolPatterns.get(toolName);
|
|
69
|
+
if (existing) return existing;
|
|
70
|
+
const created = /* @__PURE__ */ new Set();
|
|
71
|
+
this.toolPatterns.set(toolName, created);
|
|
72
|
+
return created;
|
|
73
|
+
}
|
|
66
74
|
/**
|
|
67
|
-
* Add
|
|
68
|
-
* Patterns use simple glob syntax with * as wildcard.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* manager.addBashPattern("git *"); // Approves all git commands
|
|
73
|
-
* manager.addBashPattern("npm install *"); // Approves npm install with any package
|
|
74
|
-
* ```
|
|
75
|
+
* Add an approval pattern for a tool.
|
|
75
76
|
*/
|
|
76
|
-
|
|
77
|
-
this.
|
|
78
|
-
this.logger.debug(`Added
|
|
77
|
+
addPattern(toolName, pattern) {
|
|
78
|
+
this.getOrCreateToolPatternSet(toolName).add(pattern);
|
|
79
|
+
this.logger.debug(`Added pattern for '${toolName}': "${pattern}"`);
|
|
79
80
|
}
|
|
80
81
|
/**
|
|
81
|
-
* Check if a
|
|
82
|
-
* Uses pattern-to-pattern covering for broader pattern support.
|
|
82
|
+
* Check if a pattern key is covered by any approved pattern for a tool.
|
|
83
83
|
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
* Note: This expects a pattern key (e.g. "git push *"), not raw arguments.
|
|
85
|
+
* Tools are responsible for generating the key via Tool.getApprovalPatternKey().
|
|
86
|
+
*/
|
|
87
|
+
matchesPattern(toolName, patternKey) {
|
|
88
|
+
const patterns = this.toolPatterns.get(toolName);
|
|
89
|
+
if (!patterns || patterns.size === 0) return false;
|
|
90
|
+
for (const storedPattern of patterns) {
|
|
91
|
+
if ((0, import_pattern_utils.patternCovers)(storedPattern, patternKey)) {
|
|
90
92
|
this.logger.debug(
|
|
91
|
-
`Pattern key "${patternKey}" is covered by approved pattern "${storedPattern}"`
|
|
93
|
+
`Pattern key "${patternKey}" is covered by approved pattern "${storedPattern}" (tool: ${toolName})`
|
|
92
94
|
);
|
|
93
95
|
return true;
|
|
94
96
|
}
|
|
@@ -96,21 +98,39 @@ class ApprovalManager {
|
|
|
96
98
|
return false;
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
|
-
* Clear all
|
|
100
|
-
* Should be called when session ends.
|
|
101
|
+
* Clear all patterns for a tool (or all tools when omitted).
|
|
101
102
|
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
clearPatterns(toolName) {
|
|
104
|
+
if (toolName) {
|
|
105
|
+
const patterns = this.toolPatterns.get(toolName);
|
|
106
|
+
if (!patterns) return;
|
|
107
|
+
const count2 = patterns.size;
|
|
108
|
+
patterns.clear();
|
|
109
|
+
if (count2 > 0) {
|
|
110
|
+
this.logger.debug(`Cleared ${count2} pattern(s) for '${toolName}'`);
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const count = Array.from(this.toolPatterns.values()).reduce(
|
|
115
|
+
(sum, set) => sum + set.size,
|
|
116
|
+
0
|
|
117
|
+
);
|
|
118
|
+
this.toolPatterns.clear();
|
|
105
119
|
if (count > 0) {
|
|
106
|
-
this.logger.debug(`Cleared ${count}
|
|
120
|
+
this.logger.debug(`Cleared ${count} total tool pattern(s)`);
|
|
107
121
|
}
|
|
108
122
|
}
|
|
109
123
|
/**
|
|
110
|
-
* Get
|
|
124
|
+
* Get patterns for a tool (for debugging/display).
|
|
125
|
+
*/
|
|
126
|
+
getToolPatterns(toolName) {
|
|
127
|
+
return this.toolPatterns.get(toolName) ?? /* @__PURE__ */ new Set();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get all tool patterns (for debugging/display).
|
|
111
131
|
*/
|
|
112
|
-
|
|
113
|
-
return this.
|
|
132
|
+
getAllToolPatterns() {
|
|
133
|
+
return this.toolPatterns;
|
|
114
134
|
}
|
|
115
135
|
// ==================== Directory Access Methods ====================
|
|
116
136
|
/**
|
|
@@ -221,11 +241,11 @@ class ApprovalManager {
|
|
|
221
241
|
return Array.from(this.approvedDirectories.keys());
|
|
222
242
|
}
|
|
223
243
|
/**
|
|
224
|
-
* Clear all session-scoped approvals (
|
|
244
|
+
* Clear all session-scoped approvals (tool patterns and directories).
|
|
225
245
|
* Convenience method for clearing all session state at once.
|
|
226
246
|
*/
|
|
227
247
|
clearSessionApprovals() {
|
|
228
|
-
this.
|
|
248
|
+
this.clearPatterns();
|
|
229
249
|
this.clearApprovedDirectories();
|
|
230
250
|
this.logger.debug("Cleared all session approvals");
|
|
231
251
|
}
|
|
@@ -249,7 +269,7 @@ class ApprovalManager {
|
|
|
249
269
|
const details = {
|
|
250
270
|
type: import_types.ApprovalType.DIRECTORY_ACCESS,
|
|
251
271
|
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
252
|
-
timeout: timeout !== void 0 ? timeout : this.config.
|
|
272
|
+
timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
|
|
253
273
|
metadata: directoryMetadata
|
|
254
274
|
};
|
|
255
275
|
if (sessionId !== void 0) {
|
|
@@ -270,7 +290,7 @@ class ApprovalManager {
|
|
|
270
290
|
return this.handleApproval(request);
|
|
271
291
|
}
|
|
272
292
|
/**
|
|
273
|
-
* Handle approval requests (tool
|
|
293
|
+
* Handle approval requests (tool approval, elicitation, command confirmation, directory access, custom)
|
|
274
294
|
* @private
|
|
275
295
|
*/
|
|
276
296
|
async handleApproval(request) {
|
|
@@ -281,7 +301,7 @@ class ApprovalManager {
|
|
|
281
301
|
);
|
|
282
302
|
return handler2(request);
|
|
283
303
|
}
|
|
284
|
-
const mode = this.config.
|
|
304
|
+
const mode = this.config.permissions.mode;
|
|
285
305
|
if (mode === "auto-approve") {
|
|
286
306
|
this.logger.info(
|
|
287
307
|
`Auto-approve approval '${request.type}', approvalId: ${request.approvalId}`
|
|
@@ -317,18 +337,18 @@ class ApprovalManager {
|
|
|
317
337
|
return handler(request);
|
|
318
338
|
}
|
|
319
339
|
/**
|
|
320
|
-
* Request tool
|
|
321
|
-
* Convenience method for tool execution
|
|
340
|
+
* Request tool approval
|
|
341
|
+
* Convenience method for tool execution approval
|
|
322
342
|
*
|
|
323
343
|
* TODO: Make sessionId required once all callers are updated to pass it
|
|
324
344
|
* Tool confirmations always happen in session context during LLM execution
|
|
325
345
|
*/
|
|
326
|
-
async
|
|
346
|
+
async requestToolApproval(metadata) {
|
|
327
347
|
const { sessionId, timeout, ...toolMetadata } = metadata;
|
|
328
348
|
const details = {
|
|
329
|
-
type: import_types.ApprovalType.
|
|
349
|
+
type: import_types.ApprovalType.TOOL_APPROVAL,
|
|
330
350
|
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
331
|
-
timeout: timeout !== void 0 ? timeout : this.config.
|
|
351
|
+
timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
|
|
332
352
|
metadata: toolMetadata
|
|
333
353
|
};
|
|
334
354
|
if (sessionId !== void 0) {
|
|
@@ -340,7 +360,7 @@ class ApprovalManager {
|
|
|
340
360
|
* Request command confirmation approval
|
|
341
361
|
* Convenience method for dangerous command execution within an already-approved tool
|
|
342
362
|
*
|
|
343
|
-
* This is different from tool
|
|
363
|
+
* This is different from tool approval - it's for per-command approval
|
|
344
364
|
* of dangerous operations (like rm, git push) within tools that are already approved.
|
|
345
365
|
*
|
|
346
366
|
* TODO: Make sessionId required once all callers are updated to pass it
|
|
@@ -362,7 +382,7 @@ class ApprovalManager {
|
|
|
362
382
|
const details = {
|
|
363
383
|
type: import_types.ApprovalType.COMMAND_CONFIRMATION,
|
|
364
384
|
// Use provided timeout, fallback to config timeout, or undefined (no timeout)
|
|
365
|
-
timeout: timeout !== void 0 ? timeout : this.config.
|
|
385
|
+
timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
|
|
366
386
|
metadata: commandMetadata
|
|
367
387
|
};
|
|
368
388
|
if (sessionId !== void 0) {
|
|
@@ -391,15 +411,15 @@ class ApprovalManager {
|
|
|
391
411
|
return this.requestApproval(details);
|
|
392
412
|
}
|
|
393
413
|
/**
|
|
394
|
-
* Check if tool
|
|
414
|
+
* Check if tool approval was approved
|
|
395
415
|
* Throws appropriate error if denied
|
|
396
416
|
*/
|
|
397
|
-
async
|
|
398
|
-
const response = await this.
|
|
417
|
+
async checkToolApproval(metadata) {
|
|
418
|
+
const response = await this.requestToolApproval(metadata);
|
|
399
419
|
if (response.status === import_types.ApprovalStatus.APPROVED) {
|
|
400
420
|
return true;
|
|
401
421
|
} else if (response.status === import_types.ApprovalStatus.DENIED) {
|
|
402
|
-
throw import_errors.ApprovalError.
|
|
422
|
+
throw import_errors.ApprovalError.toolApprovalDenied(
|
|
403
423
|
metadata.toolName,
|
|
404
424
|
response.reason,
|
|
405
425
|
response.message,
|
|
@@ -408,7 +428,7 @@ class ApprovalManager {
|
|
|
408
428
|
} else {
|
|
409
429
|
throw import_errors.ApprovalError.cancelled(
|
|
410
430
|
response.approvalId,
|
|
411
|
-
import_types.ApprovalType.
|
|
431
|
+
import_types.ApprovalType.TOOL_APPROVAL,
|
|
412
432
|
response.message ?? response.reason
|
|
413
433
|
);
|
|
414
434
|
}
|
|
@@ -489,11 +509,11 @@ class ApprovalManager {
|
|
|
489
509
|
* Set the approval handler for manual approval mode.
|
|
490
510
|
*
|
|
491
511
|
* The handler will be called for:
|
|
492
|
-
* - Tool confirmation requests when
|
|
493
|
-
* - All elicitation requests (when elicitation is enabled, regardless of
|
|
512
|
+
* - Tool confirmation requests when permissions.mode is 'manual'
|
|
513
|
+
* - All elicitation requests (when elicitation is enabled, regardless of permissions.mode)
|
|
494
514
|
*
|
|
495
515
|
* A handler must be set before processing requests if:
|
|
496
|
-
* -
|
|
516
|
+
* - permissions.mode is 'manual', or
|
|
497
517
|
* - elicitation is enabled (elicitation.enabled is true)
|
|
498
518
|
*
|
|
499
519
|
* @param handler The approval handler function, or null to clear
|
|
@@ -526,7 +546,7 @@ class ApprovalManager {
|
|
|
526
546
|
ensureHandler() {
|
|
527
547
|
if (!this.handler) {
|
|
528
548
|
throw import_errors.ApprovalError.invalidConfig(
|
|
529
|
-
'An approval handler is required but not configured.\nHandlers are required for:\n \u2022 manual tool
|
|
549
|
+
'An approval handler is required but not configured.\nHandlers are required for:\n \u2022 manual tool approval mode\n \u2022 all elicitation requests (when elicitation is enabled)\nEither:\n \u2022 set permissions.mode to "auto-approve" or "auto-deny", or\n \u2022 disable elicitation (set elicitation.enabled: false), or\n \u2022 call agent.setApprovalHandler(...) before processing requests.'
|
|
530
550
|
);
|
|
531
551
|
}
|
|
532
552
|
return this.handler;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalRequestDetails,
|
|
2
|
-
import type {
|
|
1
|
+
import type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalRequestDetails, ToolApprovalMetadata, CommandConfirmationMetadata, ElicitationMetadata, DirectoryAccessMetadata } from './types.js';
|
|
2
|
+
import type { Logger } from '../logger/v2/types.js';
|
|
3
|
+
import type { PermissionsMode } from '../tools/schemas.js';
|
|
3
4
|
/**
|
|
4
5
|
* Configuration for the approval manager
|
|
5
6
|
*/
|
|
6
7
|
export interface ApprovalManagerConfig {
|
|
7
|
-
|
|
8
|
-
mode:
|
|
8
|
+
permissions: {
|
|
9
|
+
mode: PermissionsMode;
|
|
9
10
|
timeout?: number;
|
|
10
11
|
};
|
|
11
12
|
elicitation: {
|
|
@@ -17,7 +18,7 @@ export interface ApprovalManagerConfig {
|
|
|
17
18
|
* ApprovalManager orchestrates all user approval flows in Dexto.
|
|
18
19
|
*
|
|
19
20
|
* It provides a unified interface for requesting user approvals across different
|
|
20
|
-
* types (tool
|
|
21
|
+
* types (tool approval, MCP elicitation, custom approvals) and manages the
|
|
21
22
|
* underlying approval provider based on configuration.
|
|
22
23
|
*
|
|
23
24
|
* Key responsibilities:
|
|
@@ -30,12 +31,12 @@ export interface ApprovalManagerConfig {
|
|
|
30
31
|
* @example
|
|
31
32
|
* ```typescript
|
|
32
33
|
* const manager = new ApprovalManager(
|
|
33
|
-
* {
|
|
34
|
+
* { permissions: { mode: 'manual', timeout: 60000 }, elicitation: { enabled: true, timeout: 60000 } },
|
|
34
35
|
* logger
|
|
35
36
|
* );
|
|
36
37
|
*
|
|
37
|
-
* // Request tool
|
|
38
|
-
* const response = await manager.
|
|
38
|
+
* // Request tool approval
|
|
39
|
+
* const response = await manager.requestToolApproval({
|
|
39
40
|
* toolName: 'git_commit',
|
|
40
41
|
* args: { message: 'feat: add feature' },
|
|
41
42
|
* sessionId: 'session-123'
|
|
@@ -51,11 +52,12 @@ export declare class ApprovalManager {
|
|
|
51
52
|
private config;
|
|
52
53
|
private logger;
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* Tool approval patterns, keyed by tool id.
|
|
56
|
+
*
|
|
57
|
+
* Patterns use simple glob syntax (e.g. "git *", "npm install *") and are matched
|
|
58
|
+
* using pattern-to-pattern covering (see {@link patternCovers}).
|
|
57
59
|
*/
|
|
58
|
-
private
|
|
60
|
+
private toolPatterns;
|
|
59
61
|
/**
|
|
60
62
|
* Directories approved for file access for the current session.
|
|
61
63
|
* Stores normalized absolute paths mapped to their approval type:
|
|
@@ -64,35 +66,31 @@ export declare class ApprovalManager {
|
|
|
64
66
|
* Cleared when session ends.
|
|
65
67
|
*/
|
|
66
68
|
private approvedDirectories;
|
|
67
|
-
constructor(config: ApprovalManagerConfig, logger:
|
|
69
|
+
constructor(config: ApprovalManagerConfig, logger: Logger);
|
|
70
|
+
private getOrCreateToolPatternSet;
|
|
68
71
|
/**
|
|
69
|
-
* Add
|
|
70
|
-
* Patterns use simple glob syntax with * as wildcard.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* manager.addBashPattern("git *"); // Approves all git commands
|
|
75
|
-
* manager.addBashPattern("npm install *"); // Approves npm install with any package
|
|
76
|
-
* ```
|
|
72
|
+
* Add an approval pattern for a tool.
|
|
77
73
|
*/
|
|
78
|
-
|
|
74
|
+
addPattern(toolName: string, pattern: string): void;
|
|
79
75
|
/**
|
|
80
|
-
* Check if a
|
|
81
|
-
* Uses pattern-to-pattern covering for broader pattern support.
|
|
76
|
+
* Check if a pattern key is covered by any approved pattern for a tool.
|
|
82
77
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
78
|
+
* Note: This expects a pattern key (e.g. "git push *"), not raw arguments.
|
|
79
|
+
* Tools are responsible for generating the key via Tool.getApprovalPatternKey().
|
|
85
80
|
*/
|
|
86
|
-
|
|
81
|
+
matchesPattern(toolName: string, patternKey: string): boolean;
|
|
87
82
|
/**
|
|
88
|
-
* Clear all
|
|
89
|
-
|
|
83
|
+
* Clear all patterns for a tool (or all tools when omitted).
|
|
84
|
+
*/
|
|
85
|
+
clearPatterns(toolName?: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* Get patterns for a tool (for debugging/display).
|
|
90
88
|
*/
|
|
91
|
-
|
|
89
|
+
getToolPatterns(toolName: string): ReadonlySet<string>;
|
|
92
90
|
/**
|
|
93
|
-
* Get
|
|
91
|
+
* Get all tool patterns (for debugging/display).
|
|
94
92
|
*/
|
|
95
|
-
|
|
93
|
+
getAllToolPatterns(): ReadonlyMap<string, Set<string>>;
|
|
96
94
|
/**
|
|
97
95
|
* Initialize the working directory as a session-approved directory.
|
|
98
96
|
* This should be called once during setup to ensure the working directory
|
|
@@ -151,7 +149,7 @@ export declare class ApprovalManager {
|
|
|
151
149
|
*/
|
|
152
150
|
getApprovedDirectoryPaths(): string[];
|
|
153
151
|
/**
|
|
154
|
-
* Clear all session-scoped approvals (
|
|
152
|
+
* Clear all session-scoped approvals (tool patterns and directories).
|
|
155
153
|
* Convenience method for clearing all session state at once.
|
|
156
154
|
*/
|
|
157
155
|
clearSessionApprovals(): void;
|
|
@@ -179,18 +177,18 @@ export declare class ApprovalManager {
|
|
|
179
177
|
*/
|
|
180
178
|
requestApproval(details: ApprovalRequestDetails): Promise<ApprovalResponse>;
|
|
181
179
|
/**
|
|
182
|
-
* Handle approval requests (tool
|
|
180
|
+
* Handle approval requests (tool approval, elicitation, command confirmation, directory access, custom)
|
|
183
181
|
* @private
|
|
184
182
|
*/
|
|
185
183
|
private handleApproval;
|
|
186
184
|
/**
|
|
187
|
-
* Request tool
|
|
188
|
-
* Convenience method for tool execution
|
|
185
|
+
* Request tool approval
|
|
186
|
+
* Convenience method for tool execution approval
|
|
189
187
|
*
|
|
190
188
|
* TODO: Make sessionId required once all callers are updated to pass it
|
|
191
189
|
* Tool confirmations always happen in session context during LLM execution
|
|
192
190
|
*/
|
|
193
|
-
|
|
191
|
+
requestToolApproval(metadata: ToolApprovalMetadata & {
|
|
194
192
|
sessionId?: string;
|
|
195
193
|
timeout?: number;
|
|
196
194
|
}): Promise<ApprovalResponse>;
|
|
@@ -198,7 +196,7 @@ export declare class ApprovalManager {
|
|
|
198
196
|
* Request command confirmation approval
|
|
199
197
|
* Convenience method for dangerous command execution within an already-approved tool
|
|
200
198
|
*
|
|
201
|
-
* This is different from tool
|
|
199
|
+
* This is different from tool approval - it's for per-command approval
|
|
202
200
|
* of dangerous operations (like rm, git push) within tools that are already approved.
|
|
203
201
|
*
|
|
204
202
|
* TODO: Make sessionId required once all callers are updated to pass it
|
|
@@ -231,10 +229,10 @@ export declare class ApprovalManager {
|
|
|
231
229
|
timeout?: number;
|
|
232
230
|
}): Promise<ApprovalResponse>;
|
|
233
231
|
/**
|
|
234
|
-
* Check if tool
|
|
232
|
+
* Check if tool approval was approved
|
|
235
233
|
* Throws appropriate error if denied
|
|
236
234
|
*/
|
|
237
|
-
|
|
235
|
+
checkToolApproval(metadata: ToolApprovalMetadata & {
|
|
238
236
|
sessionId?: string;
|
|
239
237
|
timeout?: number;
|
|
240
238
|
}): Promise<boolean>;
|
|
@@ -280,11 +278,11 @@ export declare class ApprovalManager {
|
|
|
280
278
|
* Set the approval handler for manual approval mode.
|
|
281
279
|
*
|
|
282
280
|
* The handler will be called for:
|
|
283
|
-
* - Tool confirmation requests when
|
|
284
|
-
* - All elicitation requests (when elicitation is enabled, regardless of
|
|
281
|
+
* - Tool confirmation requests when permissions.mode is 'manual'
|
|
282
|
+
* - All elicitation requests (when elicitation is enabled, regardless of permissions.mode)
|
|
285
283
|
*
|
|
286
284
|
* A handler must be set before processing requests if:
|
|
287
|
-
* -
|
|
285
|
+
* - permissions.mode is 'manual', or
|
|
288
286
|
* - elicitation is enabled (elicitation.enabled is true)
|
|
289
287
|
*
|
|
290
288
|
* @param handler The approval handler function, or null to clear
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/approval/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/approval/manager.ts"],"names":[],"mappings":"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"}
|