@dexto/core 1.1.10 → 1.2.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 +24 -4
- package/dist/Dexto.cjs +251 -0
- package/dist/Dexto.d.ts +191 -0
- package/dist/Dexto.d.ts.map +1 -0
- package/dist/Dexto.js +228 -0
- package/dist/agent/DextoAgent.cjs +520 -126
- package/dist/agent/DextoAgent.d.ts +182 -106
- package/dist/agent/DextoAgent.d.ts.map +1 -0
- package/dist/agent/DextoAgent.js +480 -126
- package/dist/agent/agentCard.d.ts +4 -7
- package/dist/agent/agentCard.d.ts.map +1 -0
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +3 -0
- package/dist/agent/error-codes.d.ts +5 -3
- package/dist/agent/error-codes.d.ts.map +1 -0
- package/dist/agent/error-codes.js +4 -0
- package/dist/agent/errors.cjs +26 -0
- package/dist/agent/errors.d.ts +10 -17
- package/dist/agent/errors.d.ts.map +1 -0
- package/dist/agent/errors.js +27 -0
- package/dist/agent/index.cjs +3 -0
- package/dist/agent/index.d.ts +6 -57
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/registry/error-codes.cjs +2 -0
- package/dist/agent/registry/error-codes.d.ts +4 -3
- package/dist/agent/registry/error-codes.d.ts.map +1 -0
- package/dist/agent/registry/error-codes.js +3 -0
- package/dist/agent/registry/errors.cjs +58 -28
- package/dist/agent/registry/errors.d.ts +32 -36
- package/dist/agent/registry/errors.d.ts.map +1 -0
- package/dist/agent/registry/errors.js +59 -28
- package/dist/agent/registry/registry.cjs +242 -54
- package/dist/agent/registry/registry.d.ts +84 -21
- package/dist/agent/registry/registry.d.ts.map +1 -0
- package/dist/agent/registry/registry.js +252 -55
- package/dist/agent/registry/types.cjs +36 -3
- package/dist/agent/registry/types.d.ts +66 -24
- package/dist/agent/registry/types.d.ts.map +1 -0
- package/dist/agent/registry/types.js +34 -2
- package/dist/agent/registry/user-registry.cjs +140 -0
- package/dist/agent/registry/user-registry.d.ts +34 -0
- package/dist/agent/registry/user-registry.d.ts.map +1 -0
- package/dist/agent/registry/user-registry.js +105 -0
- package/dist/agent/schemas.cjs +22 -3
- package/dist/agent/schemas.d.ts +811 -479
- package/dist/agent/schemas.d.ts.map +1 -0
- package/dist/agent/schemas.js +23 -3
- package/dist/agent/state-manager.d.ts +7 -12
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.cjs +44 -0
- package/dist/approval/error-codes.d.ts +21 -0
- package/dist/approval/error-codes.d.ts.map +1 -0
- package/dist/approval/error-codes.js +21 -0
- package/dist/approval/errors.cjs +251 -0
- package/dist/approval/errors.d.ts +110 -0
- package/dist/approval/errors.d.ts.map +1 -0
- package/dist/approval/errors.js +228 -0
- package/dist/approval/index.cjs +84 -0
- package/dist/approval/index.d.ts +12 -0
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +56 -0
- package/dist/approval/manager.cjs +189 -0
- package/dist/approval/manager.d.ts +131 -0
- package/dist/approval/manager.d.ts.map +1 -0
- package/dist/approval/manager.js +166 -0
- package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/event-based-approval-provider.js +133 -0
- package/dist/approval/providers/factory.cjs +38 -0
- package/dist/approval/providers/factory.d.ts +12 -0
- package/dist/approval/providers/factory.d.ts.map +1 -0
- package/dist/approval/providers/factory.js +15 -0
- package/dist/approval/providers/noop-approval-provider.cjs +54 -0
- package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
- package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/noop-approval-provider.js +31 -0
- package/dist/approval/schemas.cjs +204 -0
- package/dist/approval/schemas.d.ts +775 -0
- package/dist/approval/schemas.d.ts.map +1 -0
- package/dist/approval/schemas.js +159 -0
- package/dist/approval/types.cjs +42 -0
- package/dist/approval/types.d.ts +166 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +18 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.d.ts +3 -4
- package/dist/config/agent-resolver.d.ts.map +1 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.d.ts +2 -3
- package/dist/config/error-codes.d.ts.map +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.d.ts +3 -18
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/index.d.ts +4 -7
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/loader.d.ts +2 -5
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.d.ts +8 -11
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.d.ts +3 -6
- package/dist/context/compression/middle-removal.d.ts.map +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.d.ts +3 -6
- package/dist/context/compression/oldest-removal.d.ts.map +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/compression/types.d.ts +2 -5
- package/dist/context/compression/types.d.ts.map +1 -0
- package/dist/context/error-codes.d.ts +2 -3
- package/dist/context/error-codes.d.ts.map +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.d.ts +3 -18
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.cjs +11 -0
- package/dist/context/index.d.ts +4 -19
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +6 -0
- package/dist/context/manager.cjs +156 -24
- package/dist/context/manager.d.ts +28 -20
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +153 -25
- package/dist/context/media-helpers.cjs +40 -0
- package/dist/context/media-helpers.d.ts +15 -0
- package/dist/context/media-helpers.d.ts.map +1 -0
- package/dist/context/media-helpers.js +16 -0
- package/dist/context/types.d.ts +27 -10
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/utils.cjs +907 -71
- package/dist/context/utils.d.ts +111 -15
- package/dist/context/utils.d.ts.map +1 -0
- package/dist/context/utils.js +896 -70
- package/dist/errors/DextoBaseError.d.ts +2 -3
- package/dist/errors/DextoBaseError.d.ts.map +1 -0
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.d.ts +5 -16
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.d.ts +3 -16
- package/dist/errors/DextoValidationError.d.ts.map +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.d.ts +7 -14
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.d.ts +3 -18
- package/dist/errors/result-bridge.d.ts.map +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +7 -0
- package/dist/errors/types.d.ts +32 -20
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +8 -0
- package/dist/events/index.cjs +9 -3
- package/dist/events/index.d.ts +67 -35
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -3
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +36 -0
- package/dist/index.browser.d.ts +24 -51
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +35 -1
- package/dist/index.cjs +29 -1
- package/dist/index.d.ts +34 -89
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/llm/error-codes.d.ts +2 -3
- package/dist/llm/error-codes.d.ts.map +1 -0
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.d.ts +3 -18
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.d.ts +2 -4
- package/dist/llm/formatters/anthropic.d.ts.map +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.d.ts +3 -6
- package/dist/llm/formatters/factory.d.ts.map +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.d.ts +2 -4
- package/dist/llm/formatters/openai.d.ts.map +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/types.d.ts +2 -4
- package/dist/llm/formatters/types.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.d.ts +6 -7
- package/dist/llm/formatters/vercel.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/index.d.ts +8 -39
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/registry.cjs +30 -16
- package/dist/llm/registry.d.ts +27 -30
- package/dist/llm/registry.d.ts.map +1 -0
- package/dist/llm/registry.js +31 -16
- package/dist/llm/resolver.d.ts +6 -20
- package/dist/llm/resolver.d.ts.map +1 -0
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +25 -17
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +91 -11
- package/dist/llm/services/anthropic.d.ts +13 -32
- package/dist/llm/services/anthropic.d.ts.map +1 -0
- package/dist/llm/services/anthropic.js +51 -11
- package/dist/llm/services/factory.cjs +21 -15
- package/dist/llm/services/factory.d.ts +5 -32
- package/dist/llm/services/factory.d.ts.map +1 -0
- package/dist/llm/services/factory.js +22 -15
- package/dist/llm/services/index.d.ts +2 -21
- package/dist/llm/services/index.d.ts.map +1 -0
- package/dist/llm/services/openai.cjs +120 -16
- package/dist/llm/services/openai.d.ts +13 -32
- package/dist/llm/services/openai.d.ts.map +1 -0
- package/dist/llm/services/openai.js +80 -16
- package/dist/llm/services/test-utils.integration.cjs +3 -3
- package/dist/llm/services/test-utils.integration.d.ts +8 -49
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
- package/dist/llm/services/test-utils.integration.js +4 -3
- package/dist/llm/services/types.d.ts +5 -22
- package/dist/llm/services/types.d.ts.map +1 -0
- package/dist/llm/services/vercel.cjs +152 -74
- package/dist/llm/services/vercel.d.ts +18 -36
- package/dist/llm/services/vercel.d.ts.map +1 -0
- package/dist/llm/services/vercel.js +113 -75
- package/dist/llm/tokenizer/anthropic.d.ts +2 -4
- package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.d.ts +2 -4
- package/dist/llm/tokenizer/default.d.ts.map +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.d.ts +3 -5
- package/dist/llm/tokenizer/factory.d.ts.map +1 -0
- package/dist/llm/tokenizer/factory.js +1 -0
- package/dist/llm/tokenizer/google.d.ts +2 -4
- package/dist/llm/tokenizer/google.d.ts.map +1 -0
- package/dist/llm/tokenizer/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +3 -5
- package/dist/llm/tokenizer/openai.d.ts.map +1 -0
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.d.ts +3 -4
- package/dist/llm/tokenizer/types.d.ts.map +1 -0
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +11 -12
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.d.ts +8 -23
- package/dist/llm/validation.d.ts.map +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.d.ts +4 -5
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/index.d.ts +2 -1
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/logger.cjs +35 -7
- package/dist/logger/logger.d.ts +47 -5
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +36 -7
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +3 -3
- package/dist/mcp/error-codes.d.ts.map +1 -0
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +9 -17
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/index.d.ts +8 -26
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/manager.cjs +528 -130
- package/dist/mcp/manager.d.ts +124 -58
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +529 -130
- package/dist/mcp/mcp-client.cjs +172 -10
- package/dist/mcp/mcp-client.d.ts +36 -14
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +177 -10
- package/dist/mcp/resolver.d.ts +5 -20
- package/dist/mcp/resolver.d.ts.map +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.cjs +13 -5
- package/dist/mcp/schemas.d.ts +31 -28
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +11 -5
- package/dist/mcp/types.d.ts +19 -11
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/error-codes.cjs +39 -0
- package/dist/memory/error-codes.d.ts +15 -0
- package/dist/memory/error-codes.d.ts.map +1 -0
- package/dist/memory/error-codes.js +16 -0
- package/dist/memory/errors.cjs +112 -0
- package/dist/memory/errors.d.ts +16 -0
- package/dist/memory/errors.d.ts.map +1 -0
- package/dist/memory/errors.js +89 -0
- package/dist/memory/index.cjs +43 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +19 -0
- package/dist/memory/manager.cjs +214 -0
- package/dist/memory/manager.d.ts +56 -0
- package/dist/memory/manager.d.ts.map +1 -0
- package/dist/memory/manager.js +196 -0
- package/dist/memory/schemas.cjs +82 -0
- package/dist/memory/schemas.d.ts +129 -0
- package/dist/memory/schemas.d.ts.map +1 -0
- package/dist/memory/schemas.js +54 -0
- package/dist/memory/types.d.ts +76 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.cjs +112 -0
- package/dist/plugins/builtins/content-policy.d.ts +26 -0
- package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.js +89 -0
- package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +79 -0
- package/dist/plugins/error-codes.cjs +39 -0
- package/dist/plugins/error-codes.d.ts +26 -0
- package/dist/plugins/error-codes.d.ts.map +1 -0
- package/dist/plugins/error-codes.js +16 -0
- package/dist/plugins/index.cjs +54 -0
- package/dist/plugins/index.d.ts +19 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +25 -0
- package/dist/plugins/loader.cjs +151 -0
- package/dist/plugins/loader.d.ts +30 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +125 -0
- package/dist/plugins/manager.cjs +386 -0
- package/dist/plugins/manager.d.ts +97 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +363 -0
- package/dist/plugins/registrations/builtins.cjs +51 -0
- package/dist/plugins/registrations/builtins.d.ts +17 -0
- package/dist/plugins/registrations/builtins.d.ts.map +1 -0
- package/dist/plugins/registrations/builtins.js +28 -0
- package/dist/plugins/schemas.cjs +61 -0
- package/dist/plugins/schemas.d.ts +138 -0
- package/dist/plugins/schemas.d.ts.map +1 -0
- package/dist/plugins/schemas.js +36 -0
- package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
- package/dist/plugins/types.d.ts +152 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/preferences/constants.d.ts +2 -3
- package/dist/preferences/constants.d.ts.map +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.d.ts +2 -3
- package/dist/preferences/error-codes.d.ts.map +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.d.ts +4 -19
- package/dist/preferences/errors.d.ts.map +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.d.ts +5 -20
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +18 -12
- package/dist/preferences/loader.d.ts.map +1 -0
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +27 -21
- package/dist/preferences/schemas.d.ts.map +1 -0
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/prompts/error-codes.cjs +38 -0
- package/dist/prompts/error-codes.d.ts +15 -0
- package/dist/prompts/error-codes.d.ts.map +1 -0
- package/dist/prompts/error-codes.js +15 -0
- package/dist/prompts/errors.cjs +144 -0
- package/dist/prompts/errors.d.ts +45 -0
- package/dist/prompts/errors.d.ts.map +1 -0
- package/dist/prompts/errors.js +121 -0
- package/dist/prompts/index.cjs +53 -0
- package/dist/prompts/index.d.ts +13 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +21 -0
- package/dist/prompts/name-validation.cjs +45 -0
- package/dist/prompts/name-validation.d.ts +9 -0
- package/dist/prompts/name-validation.d.ts.map +1 -0
- package/dist/prompts/name-validation.js +19 -0
- package/dist/prompts/prompt-manager.cjs +374 -0
- package/dist/prompts/prompt-manager.d.ts +74 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -0
- package/dist/prompts/prompt-manager.js +353 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +260 -0
- package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +376 -0
- package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
- package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +147 -0
- package/dist/prompts/schemas.cjs +54 -0
- package/dist/prompts/schemas.d.ts +65 -0
- package/dist/prompts/schemas.d.ts.map +1 -0
- package/dist/prompts/schemas.js +31 -0
- package/dist/prompts/types.cjs +16 -0
- package/dist/prompts/types.d.ts +64 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +0 -0
- package/dist/prompts/utils.cjs +176 -0
- package/dist/prompts/utils.d.ts +32 -0
- package/dist/prompts/utils.d.ts.map +1 -0
- package/dist/prompts/utils.js +150 -0
- package/dist/resources/error-codes.cjs +38 -0
- package/dist/resources/error-codes.d.ts +13 -0
- package/dist/resources/error-codes.d.ts.map +1 -0
- package/dist/resources/error-codes.js +15 -0
- package/dist/resources/errors.cjs +155 -0
- package/dist/resources/errors.d.ts +48 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +132 -0
- package/dist/resources/handlers/blob-handler.cjs +230 -0
- package/dist/resources/handlers/blob-handler.d.ts +38 -0
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
- package/dist/resources/handlers/blob-handler.js +207 -0
- package/dist/resources/handlers/factory.cjs +50 -0
- package/dist/resources/handlers/factory.d.ts +11 -0
- package/dist/resources/handlers/factory.d.ts.map +1 -0
- package/dist/resources/handlers/factory.js +26 -0
- package/dist/resources/handlers/filesystem-handler.cjs +385 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
- package/dist/resources/handlers/filesystem-handler.js +352 -0
- package/dist/resources/handlers/types.cjs +16 -0
- package/dist/resources/handlers/types.d.ts +15 -0
- package/dist/resources/handlers/types.d.ts.map +1 -0
- package/dist/resources/handlers/types.js +0 -0
- package/dist/resources/index.cjs +58 -0
- package/dist/resources/index.d.ts +39 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +35 -0
- package/dist/resources/internal-provider.cjs +141 -0
- package/dist/resources/internal-provider.d.ts +19 -0
- package/dist/resources/internal-provider.d.ts.map +1 -0
- package/dist/resources/internal-provider.js +118 -0
- package/dist/resources/manager.cjs +221 -0
- package/dist/resources/manager.d.ts +29 -0
- package/dist/resources/manager.d.ts.map +1 -0
- package/dist/resources/manager.js +198 -0
- package/dist/resources/reference-parser.cjs +217 -0
- package/dist/resources/reference-parser.d.ts +33 -0
- package/dist/resources/reference-parser.d.ts.map +1 -0
- package/dist/resources/reference-parser.js +191 -0
- package/dist/resources/schemas.cjs +98 -0
- package/dist/resources/schemas.d.ts +212 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +73 -0
- package/dist/resources/types.cjs +16 -0
- package/dist/resources/types.d.ts +57 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +0 -0
- package/dist/search/index.d.ts +2 -4
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.d.ts +5 -9
- package/dist/search/search-service.d.ts.map +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/search/types.d.ts +7 -10
- package/dist/search/types.d.ts.map +1 -0
- package/dist/session/chat-session.cjs +105 -12
- package/dist/session/chat-session.d.ts +32 -43
- package/dist/session/chat-session.d.ts.map +1 -0
- package/dist/session/chat-session.js +106 -12
- package/dist/session/error-codes.d.ts +2 -3
- package/dist/session/error-codes.d.ts.map +1 -0
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.d.ts +2 -17
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.d.ts +6 -9
- package/dist/session/history/database.d.ts.map +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.d.ts +4 -8
- package/dist/session/history/factory.d.ts.map +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.cjs +39 -0
- package/dist/session/history/memory.d.ts +14 -0
- package/dist/session/history/memory.d.ts.map +1 -0
- package/dist/session/history/memory.js +16 -0
- package/dist/session/history/types.d.ts +3 -6
- package/dist/session/history/types.d.ts.map +1 -0
- package/dist/session/index.d.ts +3 -50
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.d.ts +4 -6
- package/dist/session/schemas.d.ts.map +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.cjs +63 -29
- package/dist/session/session-manager.d.ts +33 -43
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +64 -29
- package/dist/session/title-generator.cjs +140 -0
- package/dist/session/title-generator.d.ts +22 -0
- package/dist/session/title-generator.d.ts.map +1 -0
- package/dist/session/title-generator.js +116 -0
- package/dist/storage/blob/factory.cjs +50 -0
- package/dist/storage/blob/factory.d.ts +10 -0
- package/dist/storage/blob/factory.d.ts.map +1 -0
- package/dist/storage/blob/factory.js +27 -0
- package/dist/storage/blob/local-blob-store.cjs +503 -0
- package/dist/storage/blob/local-blob-store.d.ts +57 -0
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/local-blob-store.js +470 -0
- package/dist/storage/blob/schemas.cjs +53 -0
- package/dist/storage/blob/schemas.d.ts +80 -0
- package/dist/storage/blob/schemas.d.ts.map +1 -0
- package/dist/storage/blob/schemas.js +29 -0
- package/dist/storage/blob/types.cjs +16 -0
- package/dist/storage/blob/types.d.ts +154 -0
- package/dist/storage/blob/types.d.ts.map +1 -0
- package/dist/storage/blob/types.js +0 -0
- package/dist/storage/cache/factory.cjs +63 -0
- package/dist/storage/cache/factory.d.ts +8 -0
- package/dist/storage/cache/factory.d.ts.map +1 -0
- package/dist/storage/cache/factory.js +30 -0
- package/dist/storage/cache/memory-cache-store.cjs +107 -0
- package/dist/storage/cache/memory-cache-store.d.ts +26 -0
- package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
- package/dist/storage/cache/memory-cache-store.js +84 -0
- package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
- package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
- package/dist/storage/cache/redis-store.d.ts.map +1 -0
- package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
- package/dist/storage/cache/schemas.cjs +77 -0
- package/dist/storage/cache/schemas.d.ts +151 -0
- package/dist/storage/cache/schemas.d.ts.map +1 -0
- package/dist/storage/cache/schemas.js +53 -0
- package/dist/storage/cache/types.cjs +16 -0
- package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
- package/dist/storage/cache/types.d.ts.map +1 -0
- package/dist/storage/cache/types.js +0 -0
- package/dist/storage/database/factory.cjs +86 -0
- package/dist/storage/database/factory.d.ts +10 -0
- package/dist/storage/database/factory.d.ts.map +1 -0
- package/dist/storage/database/factory.js +53 -0
- package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
- package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
- package/dist/storage/database/memory-database-store.d.ts.map +1 -0
- package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
- package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
- package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
- package/dist/storage/database/postgres-store.d.ts.map +1 -0
- package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
- package/dist/storage/database/schemas.cjs +89 -0
- package/dist/storage/database/schemas.d.ts +227 -0
- package/dist/storage/database/schemas.d.ts.map +1 -0
- package/dist/storage/database/schemas.js +65 -0
- package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
- package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
- package/dist/storage/database/sqlite-store.d.ts.map +1 -0
- package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
- package/dist/storage/database/types.cjs +16 -0
- package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
- package/dist/storage/database/types.d.ts.map +1 -0
- package/dist/storage/database/types.js +0 -0
- package/dist/storage/error-codes.cjs +16 -0
- package/dist/storage/error-codes.d.ts +20 -5
- package/dist/storage/error-codes.d.ts.map +1 -0
- package/dist/storage/error-codes.js +17 -0
- package/dist/storage/errors.cjs +210 -7
- package/dist/storage/errors.d.ts +75 -19
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +205 -1
- package/dist/storage/index.cjs +24 -5
- package/dist/storage/index.d.ts +48 -7
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +21 -4
- package/dist/storage/schemas.cjs +22 -84
- package/dist/storage/schemas.d.ts +98 -574
- package/dist/storage/schemas.d.ts.map +1 -0
- package/dist/storage/schemas.js +26 -84
- package/dist/storage/storage-manager.cjs +135 -118
- package/dist/storage/storage-manager.d.ts +55 -26
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +135 -107
- package/dist/storage/types.d.ts +7 -5
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.cjs +54 -0
- package/dist/systemPrompt/contributors.d.ts +30 -15
- package/dist/systemPrompt/contributors.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.js +54 -0
- package/dist/systemPrompt/error-codes.d.ts +2 -3
- package/dist/systemPrompt/error-codes.d.ts.map +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.d.ts +2 -17
- package/dist/systemPrompt/errors.d.ts.map +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.cjs +13 -15
- package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
- package/dist/systemPrompt/in-built-prompts.js +14 -15
- package/dist/systemPrompt/index.cjs +11 -0
- package/dist/systemPrompt/index.d.ts +7 -14
- package/dist/systemPrompt/index.d.ts.map +1 -0
- package/dist/systemPrompt/index.js +9 -0
- package/dist/systemPrompt/manager.cjs +24 -6
- package/dist/systemPrompt/manager.d.ts +8 -16
- package/dist/systemPrompt/manager.d.ts.map +1 -0
- package/dist/systemPrompt/manager.js +25 -6
- package/dist/systemPrompt/registry.d.ts +6 -16
- package/dist/systemPrompt/registry.d.ts.map +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.cjs +17 -3
- package/dist/systemPrompt/schemas.d.ts +204 -30
- package/dist/systemPrompt/schemas.d.ts.map +1 -0
- package/dist/systemPrompt/schemas.js +18 -3
- package/dist/systemPrompt/types.d.ts +3 -12
- package/dist/systemPrompt/types.d.ts.map +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/error-codes.d.ts +2 -3
- package/dist/tools/error-codes.d.ts.map +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.d.ts +2 -17
- package/dist/tools/errors.d.ts.map +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.cjs +0 -2
- package/dist/tools/index.d.ts +11 -19
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +4 -13
- package/dist/tools/internal-tools/index.d.ts.map +1 -0
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.cjs +9 -11
- package/dist/tools/internal-tools/provider.d.ts +6 -20
- package/dist/tools/internal-tools/provider.d.ts.map +1 -0
- package/dist/tools/internal-tools/provider.js +10 -11
- package/dist/tools/internal-tools/registry.cjs +45 -4
- package/dist/tools/internal-tools/registry.d.ts +13 -22
- package/dist/tools/internal-tools/registry.d.ts.map +1 -0
- package/dist/tools/internal-tools/registry.js +46 -3
- package/dist/tools/schemas.cjs +32 -7
- package/dist/tools/schemas.d.ts +41 -8
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +25 -4
- package/dist/tools/tool-manager.cjs +329 -30
- package/dist/tools/tool-manager.d.ts +94 -22
- package/dist/tools/tool-manager.d.ts.map +1 -0
- package/dist/tools/tool-manager.js +289 -30
- package/dist/tools/types.d.ts +9 -11
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.d.ts +5 -7
- package/dist/utils/api-key-resolver.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.d.ts +5 -7
- package/dist/utils/api-key-store.d.ts.map +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.cjs +51 -0
- package/dist/utils/async-context.d.ts +68 -0
- package/dist/utils/async-context.d.ts.map +1 -0
- package/dist/utils/async-context.js +25 -0
- package/dist/utils/debug.cjs +40 -0
- package/dist/utils/debug.d.ts +2 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +17 -0
- package/dist/utils/env.d.ts +4 -5
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.d.ts +2 -3
- package/dist/utils/error-conversion.d.ts.map +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.d.ts +5 -6
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.d.ts +2 -3
- package/dist/utils/fs-walk.d.ts.map +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +14 -63
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.d.ts +9 -10
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.d.ts +2 -3
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.d.ts +2 -3
- package/dist/utils/redactor.d.ts.map +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.d.ts +14 -27
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.d.ts +2 -3
- package/dist/utils/safe-stringify.d.ts.map +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.cjs +235 -0
- package/dist/utils/schema-metadata.d.ts +82 -0
- package/dist/utils/schema-metadata.d.ts.map +1 -0
- package/dist/utils/schema-metadata.js +208 -0
- package/dist/utils/schema.d.ts +2 -3
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +110 -35
- package/dist/utils/service-initializer.d.ts +19 -43
- package/dist/utils/service-initializer.d.ts.map +1 -0
- package/dist/utils/service-initializer.js +101 -35
- package/dist/utils/user-info.d.ts +2 -3
- package/dist/utils/user-info.d.ts.map +1 -0
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.d.ts +3 -5
- package/dist/utils/zod-schema-converter.d.ts.map +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +16 -4
- package/dist/agent/DextoAgent.d.cts +0 -541
- package/dist/agent/agentCard.d.cts +0 -20
- package/dist/agent/error-codes.d.cts +0 -14
- package/dist/agent/errors.d.cts +0 -44
- package/dist/agent/index.d.cts +0 -60
- package/dist/agent/registry/error-codes.d.cts +0 -20
- package/dist/agent/registry/errors.d.cts +0 -67
- package/dist/agent/registry/registry.d.cts +0 -67
- package/dist/agent/registry/types.d.cts +0 -100
- package/dist/agent/schemas.d.cts +0 -1502
- package/dist/agent/state-manager.d.cts +0 -97
- package/dist/config/agent-resolver.d.cts +0 -15
- package/dist/config/error-codes.d.cts +0 -17
- package/dist/config/errors.d.cts +0 -49
- package/dist/config/index.d.cts +0 -7
- package/dist/config/loader.d.cts +0 -19
- package/dist/config/writer.d.cts +0 -38
- package/dist/context/compression/middle-removal.d.cts +0 -48
- package/dist/context/compression/oldest-removal.d.cts +0 -43
- package/dist/context/compression/types.d.cts +0 -21
- package/dist/context/error-codes.d.cts +0 -19
- package/dist/context/errors.d.cts +0 -36
- package/dist/context/index.d.cts +0 -19
- package/dist/context/manager.d.cts +0 -254
- package/dist/context/types.d.cts +0 -113
- package/dist/context/utils.d.cts +0 -79
- package/dist/errors/DextoBaseError.d.cts +0 -15
- package/dist/errors/DextoRuntimeError.d.cts +0 -37
- package/dist/errors/DextoValidationError.d.cts +0 -65
- package/dist/errors/index.d.cts +0 -18
- package/dist/errors/result-bridge.d.cts +0 -39
- package/dist/errors/types.d.cts +0 -62
- package/dist/events/index.d.cts +0 -272
- package/dist/index.browser.d.cts +0 -53
- package/dist/index.d.cts +0 -89
- package/dist/llm/error-codes.d.cts +0 -26
- package/dist/llm/errors.d.cts +0 -58
- package/dist/llm/formatters/anthropic.d.cts +0 -45
- package/dist/llm/formatters/factory.d.cts +0 -12
- package/dist/llm/formatters/openai.d.cts +0 -38
- package/dist/llm/formatters/types.d.cts +0 -43
- package/dist/llm/formatters/vercel.d.cts +0 -48
- package/dist/llm/index.d.cts +0 -39
- package/dist/llm/registry.d.cts +0 -176
- package/dist/llm/resolver.d.cts +0 -34
- package/dist/llm/schemas.d.cts +0 -111
- package/dist/llm/services/anthropic.d.cts +0 -65
- package/dist/llm/services/factory.d.cts +0 -39
- package/dist/llm/services/index.d.cts +0 -21
- package/dist/llm/services/openai.d.cts +0 -65
- package/dist/llm/services/test-utils.integration.d.cts +0 -83
- package/dist/llm/services/types.d.cts +0 -56
- package/dist/llm/services/vercel.d.cts +0 -72
- package/dist/llm/tokenizer/anthropic.d.cts +0 -21
- package/dist/llm/tokenizer/default.d.cts +0 -16
- package/dist/llm/tokenizer/factory.d.cts +0 -12
- package/dist/llm/tokenizer/google.d.cts +0 -31
- package/dist/llm/tokenizer/openai.d.cts +0 -32
- package/dist/llm/tokenizer/types.d.cts +0 -19
- package/dist/llm/types.d.cts +0 -29
- package/dist/llm/validation.d.cts +0 -60
- package/dist/logger/browser.d.cts +0 -29
- package/dist/logger/index.d.cts +0 -1
- package/dist/logger/logger.d.cts +0 -52
- package/dist/mcp/error-codes.d.cts +0 -16
- package/dist/mcp/errors.d.cts +0 -72
- package/dist/mcp/index.d.cts +0 -26
- package/dist/mcp/manager.d.cts +0 -163
- package/dist/mcp/mcp-client.d.cts +0 -108
- package/dist/mcp/resolver.d.cts +0 -22
- package/dist/mcp/schemas.d.cts +0 -266
- package/dist/mcp/types.d.cts +0 -21
- package/dist/preferences/constants.d.cts +0 -3
- package/dist/preferences/error-codes.d.cts +0 -9
- package/dist/preferences/errors.d.cts +0 -33
- package/dist/preferences/index.d.cts +0 -21
- package/dist/preferences/loader.d.cts +0 -45
- package/dist/preferences/schemas.d.cts +0 -104
- package/dist/search/index.d.cts +0 -5
- package/dist/search/search-service.d.cts +0 -47
- package/dist/search/types.d.cts +0 -78
- package/dist/session/chat-session.d.cts +0 -284
- package/dist/session/error-codes.d.cts +0 -13
- package/dist/session/errors.d.cts +0 -58
- package/dist/session/history/database.d.cts +0 -28
- package/dist/session/history/factory.d.cts +0 -11
- package/dist/session/history/types.d.cts +0 -17
- package/dist/session/index.d.cts +0 -53
- package/dist/session/schemas.d.cts +0 -16
- package/dist/session/session-manager.d.cts +0 -219
- package/dist/storage/backend/cache-backend.d.ts +0 -15
- package/dist/storage/backend/database-backend.d.ts +0 -19
- package/dist/storage/backend/memory-backend.d.cts +0 -34
- package/dist/storage/backend/postgres-backend.d.cts +0 -37
- package/dist/storage/backend/redis-backend.d.cts +0 -36
- package/dist/storage/backend/sqlite-backend.d.ts +0 -35
- package/dist/storage/backend/types.d.cts +0 -14
- package/dist/storage/backend/types.d.ts +0 -14
- package/dist/storage/error-codes.d.cts +0 -14
- package/dist/storage/errors.d.cts +0 -63
- package/dist/storage/index.d.cts +0 -7
- package/dist/storage/schemas.d.cts +0 -856
- package/dist/storage/storage-manager.d.cts +0 -52
- package/dist/storage/types.d.cts +0 -5
- package/dist/systemPrompt/contributors.d.cts +0 -44
- package/dist/systemPrompt/error-codes.d.cts +0 -13
- package/dist/systemPrompt/errors.d.cts +0 -55
- package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
- package/dist/systemPrompt/index.d.cts +0 -14
- package/dist/systemPrompt/manager.d.cts +0 -31
- package/dist/systemPrompt/registry.d.cts +0 -20
- package/dist/systemPrompt/schemas.d.cts +0 -401
- package/dist/systemPrompt/types.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
- package/dist/tools/confirmation/factory.cjs +0 -52
- package/dist/tools/confirmation/factory.d.cts +0 -37
- package/dist/tools/confirmation/factory.d.ts +0 -37
- package/dist/tools/confirmation/factory.js +0 -28
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
- package/dist/tools/confirmation/types.d.cts +0 -46
- package/dist/tools/confirmation/types.d.ts +0 -46
- package/dist/tools/error-codes.d.cts +0 -18
- package/dist/tools/errors.d.cts +0 -97
- package/dist/tools/index.d.cts +0 -19
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
- package/dist/tools/internal-tools/index.d.cts +0 -13
- package/dist/tools/internal-tools/provider.d.cts +0 -66
- package/dist/tools/internal-tools/registry.d.cts +0 -45
- package/dist/tools/schemas.d.cts +0 -21
- package/dist/tools/tool-manager.d.cts +0 -106
- package/dist/tools/types.d.cts +0 -66
- package/dist/utils/api-key-resolver.d.cts +0 -23
- package/dist/utils/api-key-store.d.cts +0 -26
- package/dist/utils/env.d.cts +0 -29
- package/dist/utils/error-conversion.d.cts +0 -13
- package/dist/utils/execution-context.d.cts +0 -21
- package/dist/utils/fs-walk.d.cts +0 -9
- package/dist/utils/index.d.cts +0 -63
- package/dist/utils/path.d.cts +0 -54
- package/dist/utils/port-utils.d.cts +0 -11
- package/dist/utils/port-utils.spec.d.cts +0 -2
- package/dist/utils/port-utils.spec.d.ts +0 -2
- package/dist/utils/redactor.d.cts +0 -18
- package/dist/utils/result.d.cts +0 -180
- package/dist/utils/safe-stringify.d.cts +0 -7
- package/dist/utils/schema.d.cts +0 -6
- package/dist/utils/service-initializer.d.cts +0 -63
- package/dist/utils/user-info.d.cts +0 -3
- package/dist/utils/zod-schema-converter.d.cts +0 -13
- /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
- /package/dist/{storage/backend → filesystem}/types.js +0 -0
- /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
- /package/dist/{tools/confirmation → memory}/types.js +0 -0
- /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
- /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
13
|
var __export = (target, all) => {
|
|
7
14
|
for (var name in all)
|
|
8
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,6 +23,44 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
23
|
return to;
|
|
17
24
|
};
|
|
18
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
|
|
27
|
+
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
28
|
+
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
29
|
+
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
30
|
+
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
31
|
+
var __runInitializers = (array, flags, self, value) => {
|
|
32
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
33
|
+
return value;
|
|
34
|
+
};
|
|
35
|
+
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
36
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
37
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
38
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
39
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
40
|
+
return __privateGet(this, extra);
|
|
41
|
+
}, set [name](x) {
|
|
42
|
+
return __privateSet(this, extra, x);
|
|
43
|
+
} }, name));
|
|
44
|
+
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
45
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
46
|
+
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
47
|
+
if (k) {
|
|
48
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
49
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
50
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
51
|
+
}
|
|
52
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
53
|
+
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
54
|
+
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
55
|
+
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
56
|
+
}
|
|
57
|
+
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
58
|
+
};
|
|
59
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
60
|
+
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
61
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
62
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
63
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
19
64
|
var tool_manager_exports = {};
|
|
20
65
|
__export(tool_manager_exports, {
|
|
21
66
|
ToolManager: () => ToolManager
|
|
@@ -24,26 +69,51 @@ module.exports = __toCommonJS(tool_manager_exports);
|
|
|
24
69
|
var import_provider = require("./internal-tools/provider.js");
|
|
25
70
|
var import_errors = require("./errors.js");
|
|
26
71
|
var import_logger = require("../logger/index.js");
|
|
27
|
-
|
|
72
|
+
var import_types2 = require("../approval/types.js");
|
|
73
|
+
var import_decorators = require("../telemetry/decorators.js");
|
|
74
|
+
var _ToolManager_decorators, _init;
|
|
75
|
+
_ToolManager_decorators = [(0, import_decorators.InstrumentClass)({
|
|
76
|
+
prefix: "tool",
|
|
77
|
+
excludeMethods: [
|
|
78
|
+
"setPluginManager",
|
|
79
|
+
"setStateManager",
|
|
80
|
+
"getApprovalManager",
|
|
81
|
+
"getAllowedToolsProvider"
|
|
82
|
+
]
|
|
83
|
+
})];
|
|
84
|
+
let _ToolManager = class _ToolManager {
|
|
28
85
|
mcpManager;
|
|
29
86
|
internalToolsProvider;
|
|
30
|
-
|
|
87
|
+
approvalManager;
|
|
88
|
+
allowedToolsProvider;
|
|
89
|
+
approvalMode;
|
|
90
|
+
agentEventBus;
|
|
91
|
+
toolPolicies;
|
|
92
|
+
// Plugin support - set after construction to avoid circular dependencies
|
|
93
|
+
pluginManager;
|
|
94
|
+
sessionManager;
|
|
95
|
+
stateManager;
|
|
31
96
|
// Tool source prefixing - ALL tools get prefixed by source
|
|
32
97
|
static MCP_TOOL_PREFIX = "mcp--";
|
|
33
98
|
static INTERNAL_TOOL_PREFIX = "internal--";
|
|
34
99
|
// Tool caching for performance
|
|
35
100
|
toolsCache = {};
|
|
36
101
|
cacheValid = false;
|
|
37
|
-
constructor(mcpManager,
|
|
102
|
+
constructor(mcpManager, approvalManager, allowedToolsProvider, approvalMode, agentEventBus, toolPolicies, options) {
|
|
38
103
|
this.mcpManager = mcpManager;
|
|
39
|
-
this.
|
|
104
|
+
this.approvalManager = approvalManager;
|
|
105
|
+
this.allowedToolsProvider = allowedToolsProvider;
|
|
106
|
+
this.approvalMode = approvalMode;
|
|
107
|
+
this.agentEventBus = agentEventBus;
|
|
108
|
+
this.toolPolicies = toolPolicies;
|
|
40
109
|
if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
|
|
41
110
|
this.internalToolsProvider = new import_provider.InternalToolsProvider(
|
|
42
111
|
options.internalToolsServices || {},
|
|
43
|
-
|
|
112
|
+
approvalManager,
|
|
44
113
|
options.internalToolsConfig
|
|
45
114
|
);
|
|
46
115
|
}
|
|
116
|
+
this.setupNotificationListeners();
|
|
47
117
|
import_logger.logger.debug("ToolManager initialized");
|
|
48
118
|
}
|
|
49
119
|
/**
|
|
@@ -55,6 +125,15 @@ class ToolManager {
|
|
|
55
125
|
}
|
|
56
126
|
import_logger.logger.debug("ToolManager initialization complete");
|
|
57
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Set plugin support services (called after construction to avoid circular dependencies)
|
|
130
|
+
*/
|
|
131
|
+
setPluginSupport(pluginManager, sessionManager, stateManager) {
|
|
132
|
+
this.pluginManager = pluginManager;
|
|
133
|
+
this.sessionManager = sessionManager;
|
|
134
|
+
this.stateManager = stateManager;
|
|
135
|
+
import_logger.logger.debug("Plugin support configured for ToolManager");
|
|
136
|
+
}
|
|
58
137
|
/**
|
|
59
138
|
* Invalidate the tools cache when tool sources change
|
|
60
139
|
*/
|
|
@@ -62,6 +141,21 @@ class ToolManager {
|
|
|
62
141
|
this.cacheValid = false;
|
|
63
142
|
this.toolsCache = {};
|
|
64
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Set up listeners for MCP notifications to invalidate cache on changes
|
|
146
|
+
*/
|
|
147
|
+
setupNotificationListeners() {
|
|
148
|
+
this.agentEventBus.on("dexto:mcpServerConnected", async (payload) => {
|
|
149
|
+
if (payload.success) {
|
|
150
|
+
import_logger.logger.debug(`\u{1F504} MCP server connected, invalidating tool cache: ${payload.name}`);
|
|
151
|
+
this.invalidateCache();
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
this.agentEventBus.on("dexto:mcpServerRemoved", async (payload) => {
|
|
155
|
+
import_logger.logger.debug(`\u{1F504} MCP server removed: ${payload.serverName}, invalidating tool cache`);
|
|
156
|
+
this.invalidateCache();
|
|
157
|
+
});
|
|
158
|
+
}
|
|
65
159
|
getMcpManager() {
|
|
66
160
|
return this.mcpManager;
|
|
67
161
|
}
|
|
@@ -75,6 +169,16 @@ class ToolManager {
|
|
|
75
169
|
/**
|
|
76
170
|
* Build all tools from sources with universal prefixing
|
|
77
171
|
* ALL tools get prefixed by their source - no exceptions
|
|
172
|
+
*
|
|
173
|
+
* TODO: Rethink tool naming convention for more consistency
|
|
174
|
+
* Current issue: MCP tools have dynamic naming based on conflicts:
|
|
175
|
+
* - No conflict: mcp--toolName
|
|
176
|
+
* - With conflict: mcp--serverName--toolName
|
|
177
|
+
* This makes policy configuration fragile. Consider:
|
|
178
|
+
* 1. Always including server name: mcp--serverName--toolName (breaking change)
|
|
179
|
+
* 2. Using a different delimiter pattern that's more predictable
|
|
180
|
+
* 3. Providing a tool discovery command to help users find exact names
|
|
181
|
+
* Related: Tool policies now support dual matching (exact + suffix) as a workaround
|
|
78
182
|
*/
|
|
79
183
|
async buildAllTools() {
|
|
80
184
|
const allTools = {};
|
|
@@ -97,7 +201,7 @@ class ToolManager {
|
|
|
97
201
|
internalTools = {};
|
|
98
202
|
}
|
|
99
203
|
for (const [toolName, toolDef] of Object.entries(internalTools)) {
|
|
100
|
-
const qualifiedName = `${
|
|
204
|
+
const qualifiedName = `${_ToolManager.INTERNAL_TOOL_PREFIX}${toolName}`;
|
|
101
205
|
allTools[qualifiedName] = {
|
|
102
206
|
...toolDef,
|
|
103
207
|
name: qualifiedName,
|
|
@@ -105,7 +209,7 @@ class ToolManager {
|
|
|
105
209
|
};
|
|
106
210
|
}
|
|
107
211
|
for (const [toolName, toolDef] of Object.entries(mcpTools)) {
|
|
108
|
-
const qualifiedName = `${
|
|
212
|
+
const qualifiedName = `${_ToolManager.MCP_TOOL_PREFIX}${toolName}`;
|
|
109
213
|
allTools[qualifiedName] = {
|
|
110
214
|
...toolDef,
|
|
111
215
|
name: qualifiedName,
|
|
@@ -116,7 +220,7 @@ class ToolManager {
|
|
|
116
220
|
const mcpCount = Object.keys(mcpTools).length;
|
|
117
221
|
const internalCount = Object.keys(internalTools).length;
|
|
118
222
|
import_logger.logger.debug(
|
|
119
|
-
`\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${
|
|
223
|
+
`\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${_ToolManager.MCP_TOOL_PREFIX}*, ${internalCount} internal \u2192 ${_ToolManager.INTERNAL_TOOL_PREFIX}*)`
|
|
120
224
|
);
|
|
121
225
|
return allTools;
|
|
122
226
|
}
|
|
@@ -140,33 +244,44 @@ class ToolManager {
|
|
|
140
244
|
async executeTool(toolName, args, sessionId) {
|
|
141
245
|
import_logger.logger.debug(`\u{1F527} Tool execution requested: '${toolName}'`);
|
|
142
246
|
import_logger.logger.debug(`Tool args: ${JSON.stringify(args, null, 2)}`);
|
|
143
|
-
|
|
144
|
-
toolName,
|
|
145
|
-
args,
|
|
146
|
-
...sessionId && { sessionId }
|
|
147
|
-
});
|
|
148
|
-
if (!approved) {
|
|
149
|
-
import_logger.logger.debug(`\u{1F6AB} Tool execution denied: ${toolName}`);
|
|
150
|
-
throw import_errors.ToolError.executionDenied(toolName, sessionId);
|
|
151
|
-
}
|
|
247
|
+
await this.handleToolApproval(toolName, args, sessionId);
|
|
152
248
|
import_logger.logger.debug(`\u2705 Tool execution approved: ${toolName}`);
|
|
153
249
|
import_logger.logger.info(
|
|
154
250
|
`\u{1F527} Tool execution started for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
155
251
|
);
|
|
156
252
|
const startTime = Date.now();
|
|
253
|
+
if (this.pluginManager && this.sessionManager && this.stateManager) {
|
|
254
|
+
const beforePayload = {
|
|
255
|
+
toolName,
|
|
256
|
+
args,
|
|
257
|
+
...sessionId !== void 0 && { sessionId }
|
|
258
|
+
};
|
|
259
|
+
const modifiedPayload = await this.pluginManager.executePlugins(
|
|
260
|
+
"beforeToolCall",
|
|
261
|
+
beforePayload,
|
|
262
|
+
{
|
|
263
|
+
sessionManager: this.sessionManager,
|
|
264
|
+
mcpManager: this.mcpManager,
|
|
265
|
+
toolManager: this,
|
|
266
|
+
stateManager: this.stateManager,
|
|
267
|
+
...sessionId !== void 0 && { sessionId }
|
|
268
|
+
}
|
|
269
|
+
);
|
|
270
|
+
args = modifiedPayload.args;
|
|
271
|
+
}
|
|
157
272
|
try {
|
|
158
273
|
let result;
|
|
159
|
-
if (toolName.startsWith(
|
|
274
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
160
275
|
import_logger.logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
|
|
161
|
-
const actualToolName = toolName.substring(
|
|
276
|
+
const actualToolName = toolName.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
162
277
|
if (actualToolName.length === 0) {
|
|
163
278
|
throw import_errors.ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
164
279
|
}
|
|
165
280
|
import_logger.logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
166
281
|
result = await this.mcpManager.executeTool(actualToolName, args, sessionId);
|
|
167
|
-
} else if (toolName.startsWith(
|
|
282
|
+
} else if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
168
283
|
import_logger.logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
|
|
169
|
-
const actualToolName = toolName.substring(
|
|
284
|
+
const actualToolName = toolName.substring(_ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
170
285
|
if (actualToolName.length === 0) {
|
|
171
286
|
throw import_errors.ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
172
287
|
}
|
|
@@ -183,7 +298,7 @@ class ToolManager {
|
|
|
183
298
|
import_logger.logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
|
|
184
299
|
const stats = await this.getToolStats();
|
|
185
300
|
import_logger.logger.error(
|
|
186
|
-
`\u274C Tool missing source prefix: '${toolName}' (expected '${
|
|
301
|
+
`\u274C Tool missing source prefix: '${toolName}' (expected '${_ToolManager.MCP_TOOL_PREFIX}*' or '${_ToolManager.INTERNAL_TOOL_PREFIX}*')`
|
|
187
302
|
);
|
|
188
303
|
import_logger.logger.debug(`Available: ${stats.mcp} MCP tools, ${stats.internal} internal tools`);
|
|
189
304
|
throw import_errors.ToolError.notFound(toolName);
|
|
@@ -193,12 +308,47 @@ class ToolManager {
|
|
|
193
308
|
import_logger.logger.info(
|
|
194
309
|
`\u2705 Tool execution completed successfully for ${toolName} in ${duration}ms, sessionId: ${sessionId ?? "global"}`
|
|
195
310
|
);
|
|
311
|
+
if (this.pluginManager && this.sessionManager && this.stateManager) {
|
|
312
|
+
const afterPayload = {
|
|
313
|
+
toolName,
|
|
314
|
+
result,
|
|
315
|
+
success: true,
|
|
316
|
+
...sessionId !== void 0 && { sessionId }
|
|
317
|
+
};
|
|
318
|
+
const modifiedPayload = await this.pluginManager.executePlugins(
|
|
319
|
+
"afterToolResult",
|
|
320
|
+
afterPayload,
|
|
321
|
+
{
|
|
322
|
+
sessionManager: this.sessionManager,
|
|
323
|
+
mcpManager: this.mcpManager,
|
|
324
|
+
toolManager: this,
|
|
325
|
+
stateManager: this.stateManager,
|
|
326
|
+
...sessionId !== void 0 && { sessionId }
|
|
327
|
+
}
|
|
328
|
+
);
|
|
329
|
+
result = modifiedPayload.result;
|
|
330
|
+
}
|
|
196
331
|
return result;
|
|
197
332
|
} catch (error) {
|
|
198
333
|
const duration = Date.now() - startTime;
|
|
199
334
|
import_logger.logger.error(
|
|
200
335
|
`\u274C Tool execution failed for ${toolName} after ${duration}ms, sessionId: ${sessionId ?? "global"}: ${error instanceof Error ? error.message : String(error)}`
|
|
201
336
|
);
|
|
337
|
+
if (this.pluginManager && this.sessionManager && this.stateManager) {
|
|
338
|
+
const afterPayload = {
|
|
339
|
+
toolName,
|
|
340
|
+
result: error instanceof Error ? error.message : String(error),
|
|
341
|
+
success: false,
|
|
342
|
+
...sessionId !== void 0 && { sessionId }
|
|
343
|
+
};
|
|
344
|
+
await this.pluginManager.executePlugins("afterToolResult", afterPayload, {
|
|
345
|
+
sessionManager: this.sessionManager,
|
|
346
|
+
mcpManager: this.mcpManager,
|
|
347
|
+
toolManager: this,
|
|
348
|
+
stateManager: this.stateManager,
|
|
349
|
+
...sessionId !== void 0 && { sessionId }
|
|
350
|
+
});
|
|
351
|
+
}
|
|
202
352
|
throw error;
|
|
203
353
|
}
|
|
204
354
|
}
|
|
@@ -206,12 +356,12 @@ class ToolManager {
|
|
|
206
356
|
* Check if a tool exists (must have proper source prefix)
|
|
207
357
|
*/
|
|
208
358
|
async hasTool(toolName) {
|
|
209
|
-
if (toolName.startsWith(
|
|
210
|
-
const actualToolName = toolName.substring(
|
|
359
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
360
|
+
const actualToolName = toolName.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
211
361
|
return this.mcpManager.getToolClient(actualToolName) !== void 0;
|
|
212
362
|
}
|
|
213
|
-
if (toolName.startsWith(
|
|
214
|
-
const actualToolName = toolName.substring(
|
|
363
|
+
if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
364
|
+
const actualToolName = toolName.substring(_ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
215
365
|
return this.internalToolsProvider?.hasTool(actualToolName) ?? false;
|
|
216
366
|
}
|
|
217
367
|
return false;
|
|
@@ -253,22 +403,171 @@ class ToolManager {
|
|
|
253
403
|
* @returns The source of the tool
|
|
254
404
|
*/
|
|
255
405
|
getToolSource(toolName) {
|
|
256
|
-
if (toolName.startsWith(
|
|
406
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX) && toolName.length > _ToolManager.MCP_TOOL_PREFIX.length) {
|
|
257
407
|
return "mcp";
|
|
258
408
|
}
|
|
259
|
-
if (toolName.startsWith(
|
|
409
|
+
if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX) && toolName.length > _ToolManager.INTERNAL_TOOL_PREFIX.length) {
|
|
260
410
|
return "internal";
|
|
261
411
|
}
|
|
262
412
|
return "unknown";
|
|
263
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* Check if a tool matches a policy pattern
|
|
416
|
+
* Supports both exact matching and suffix matching for MCP tools with server prefixes
|
|
417
|
+
*
|
|
418
|
+
* Examples:
|
|
419
|
+
* - Policy "mcp--read_file" matches "mcp--read_file" (exact)
|
|
420
|
+
* - Policy "mcp--read_file" matches "mcp--filesystem--read_file" (suffix)
|
|
421
|
+
* - Policy "internal--ask_user" matches "internal--ask_user" (exact only)
|
|
422
|
+
*
|
|
423
|
+
* @param toolName The fully qualified tool name (e.g., "mcp--filesystem--read_file")
|
|
424
|
+
* @param policyPattern The policy pattern to match against (e.g., "mcp--read_file")
|
|
425
|
+
* @returns true if the tool matches the policy pattern
|
|
426
|
+
*/
|
|
427
|
+
matchesToolPolicy(toolName, policyPattern) {
|
|
428
|
+
if (toolName === policyPattern) {
|
|
429
|
+
return true;
|
|
430
|
+
}
|
|
431
|
+
if (policyPattern.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
432
|
+
const baseName = policyPattern.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
433
|
+
if (toolName.endsWith(`--${baseName}`) && toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
434
|
+
return true;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Check if a tool is in the static alwaysDeny list
|
|
441
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
442
|
+
* @param toolName The fully qualified tool name to check
|
|
443
|
+
* @returns true if the tool is in the deny list
|
|
444
|
+
*/
|
|
445
|
+
isInAlwaysDenyList(toolName) {
|
|
446
|
+
if (!this.toolPolicies?.alwaysDeny) {
|
|
447
|
+
return false;
|
|
448
|
+
}
|
|
449
|
+
return this.toolPolicies.alwaysDeny.some(
|
|
450
|
+
(pattern) => this.matchesToolPolicy(toolName, pattern)
|
|
451
|
+
);
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Check if a tool is in the static alwaysAllow list
|
|
455
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
456
|
+
* @param toolName The fully qualified tool name to check
|
|
457
|
+
* @returns true if the tool is in the allow list
|
|
458
|
+
*/
|
|
459
|
+
isInAlwaysAllowList(toolName) {
|
|
460
|
+
if (!this.toolPolicies?.alwaysAllow) {
|
|
461
|
+
return false;
|
|
462
|
+
}
|
|
463
|
+
return this.toolPolicies.alwaysAllow.some(
|
|
464
|
+
(pattern) => this.matchesToolPolicy(toolName, pattern)
|
|
465
|
+
);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Handle tool approval/confirmation flow
|
|
469
|
+
* Checks allowed list, manages approval modes (event-based, auto-approve, auto-deny),
|
|
470
|
+
* and handles remember choice logic
|
|
471
|
+
*/
|
|
472
|
+
async handleToolApproval(toolName, args, sessionId) {
|
|
473
|
+
if (this.isInAlwaysDenyList(toolName)) {
|
|
474
|
+
import_logger.logger.info(
|
|
475
|
+
`Tool '${toolName}' is in static deny list \u2013 blocking execution (session: ${sessionId ?? "global"})`
|
|
476
|
+
);
|
|
477
|
+
import_logger.logger.debug(`\u{1F6AB} Tool execution blocked by policy: ${toolName}`);
|
|
478
|
+
throw import_errors.ToolError.executionDenied(toolName, sessionId);
|
|
479
|
+
}
|
|
480
|
+
if (this.isInAlwaysAllowList(toolName)) {
|
|
481
|
+
import_logger.logger.info(
|
|
482
|
+
`Tool '${toolName}' is in static allow list \u2013 skipping confirmation (session: ${sessionId ?? "global"})`
|
|
483
|
+
);
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
const isAllowed = await this.allowedToolsProvider.isToolAllowed(toolName, sessionId);
|
|
487
|
+
if (isAllowed) {
|
|
488
|
+
import_logger.logger.info(
|
|
489
|
+
`Tool '${toolName}' already allowed for session '${sessionId ?? "global"}' \u2013 skipping confirmation.`
|
|
490
|
+
);
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
if (this.approvalMode === "auto-approve") {
|
|
494
|
+
import_logger.logger.debug(`\u{1F7E2} Auto-approving tool execution: ${toolName}`);
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
if (this.approvalMode === "auto-deny") {
|
|
498
|
+
import_logger.logger.debug(`\u{1F6AB} Auto-denying tool execution: ${toolName}`);
|
|
499
|
+
throw import_errors.ToolError.executionDenied(toolName, sessionId);
|
|
500
|
+
}
|
|
501
|
+
import_logger.logger.info(
|
|
502
|
+
`Tool confirmation requested for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
503
|
+
);
|
|
504
|
+
try {
|
|
505
|
+
const requestData = {
|
|
506
|
+
toolName,
|
|
507
|
+
args
|
|
508
|
+
};
|
|
509
|
+
if (sessionId !== void 0) {
|
|
510
|
+
requestData.sessionId = sessionId;
|
|
511
|
+
}
|
|
512
|
+
const response = await this.approvalManager.requestToolConfirmation(requestData);
|
|
513
|
+
const rememberChoice = response.data && "rememberChoice" in response.data ? response.data.rememberChoice : false;
|
|
514
|
+
if (response.status === import_types2.ApprovalStatus.APPROVED && rememberChoice) {
|
|
515
|
+
const allowSessionId = sessionId ?? response.sessionId;
|
|
516
|
+
await this.allowedToolsProvider.allowTool(toolName, allowSessionId);
|
|
517
|
+
import_logger.logger.info(
|
|
518
|
+
`Tool '${toolName}' added to allowed tools for session '${allowSessionId ?? "global"}' (remember choice selected)`
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
const approved = response.status === import_types2.ApprovalStatus.APPROVED;
|
|
522
|
+
if (!approved) {
|
|
523
|
+
import_logger.logger.info(
|
|
524
|
+
`Tool confirmation denied for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
525
|
+
);
|
|
526
|
+
import_logger.logger.debug(`\u{1F6AB} Tool execution denied: ${toolName}`);
|
|
527
|
+
throw import_errors.ToolError.executionDenied(toolName, sessionId);
|
|
528
|
+
}
|
|
529
|
+
import_logger.logger.info(
|
|
530
|
+
`Tool confirmation approved for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
531
|
+
);
|
|
532
|
+
} catch (error) {
|
|
533
|
+
import_logger.logger.error(
|
|
534
|
+
`Tool confirmation error for ${toolName}: ${error instanceof Error ? error.message : String(error)}`
|
|
535
|
+
);
|
|
536
|
+
throw error;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
264
539
|
/**
|
|
265
540
|
* Refresh tool discovery (call when MCP servers change)
|
|
541
|
+
* Refreshes both MCPManager's cache (server capabilities) and ToolManager's cache (combined tools)
|
|
266
542
|
*/
|
|
267
543
|
async refresh() {
|
|
544
|
+
await this.mcpManager.refresh();
|
|
268
545
|
this.invalidateCache();
|
|
269
|
-
import_logger.logger.debug("ToolManager refreshed");
|
|
546
|
+
import_logger.logger.debug("ToolManager refreshed (including MCP server capabilities)");
|
|
270
547
|
}
|
|
271
|
-
|
|
548
|
+
/**
|
|
549
|
+
* Get list of pending confirmation requests
|
|
550
|
+
*/
|
|
551
|
+
getPendingConfirmations() {
|
|
552
|
+
return this.approvalManager.getPendingApprovals();
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Cancel a pending confirmation request
|
|
556
|
+
*/
|
|
557
|
+
cancelConfirmation(approvalId) {
|
|
558
|
+
this.approvalManager.cancelApproval(approvalId);
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Cancel all pending confirmation requests
|
|
562
|
+
*/
|
|
563
|
+
cancelAllConfirmations() {
|
|
564
|
+
this.approvalManager.cancelAllApprovals();
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
_init = __decoratorStart(null);
|
|
568
|
+
_ToolManager = __decorateElement(_init, 0, "ToolManager", _ToolManager_decorators, _ToolManager);
|
|
569
|
+
__runInitializers(_init, 1, _ToolManager);
|
|
570
|
+
let ToolManager = _ToolManager;
|
|
272
571
|
// Annotate the CommonJS export names for ESM import in node:
|
|
273
572
|
0 && (module.exports = {
|
|
274
573
|
ToolManager
|
|
@@ -1,25 +1,17 @@
|
|
|
1
1
|
import { MCPManager } from '../mcp/manager.js';
|
|
2
2
|
import { InternalToolsServices } from './internal-tools/registry.js';
|
|
3
|
-
import { InternalToolsConfig } from './schemas.js';
|
|
3
|
+
import type { InternalToolsConfig, ToolPolicies } from './schemas.js';
|
|
4
4
|
import { ToolSet } from './types.js';
|
|
5
|
-
import {
|
|
6
|
-
import '../
|
|
7
|
-
import '
|
|
8
|
-
import '../
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
11
|
-
import '../search/search-service.js';
|
|
12
|
-
import '../storage/backend/database-backend.js';
|
|
13
|
-
import '../search/types.js';
|
|
14
|
-
import '../context/types.js';
|
|
15
|
-
import '../llm/types.js';
|
|
16
|
-
import 'json-schema';
|
|
17
|
-
import './confirmation/allowed-tools-provider/types.js';
|
|
18
|
-
|
|
5
|
+
import type { AgentEventBus } from '../events/index.js';
|
|
6
|
+
import type { ApprovalManager } from '../approval/manager.js';
|
|
7
|
+
import type { IAllowedToolsProvider } from './confirmation/allowed-tools-provider/types.js';
|
|
8
|
+
import type { PluginManager } from '../plugins/manager.js';
|
|
9
|
+
import type { SessionManager } from '../session/index.js';
|
|
10
|
+
import type { AgentStateManager } from '../agent/state-manager.js';
|
|
19
11
|
/**
|
|
20
12
|
* Options for internal tools configuration in ToolManager
|
|
21
13
|
*/
|
|
22
|
-
interface InternalToolsOptions {
|
|
14
|
+
export interface InternalToolsOptions {
|
|
23
15
|
internalToolsServices?: InternalToolsServices;
|
|
24
16
|
internalToolsConfig?: InternalToolsConfig;
|
|
25
17
|
}
|
|
@@ -34,29 +26,53 @@ interface InternalToolsOptions {
|
|
|
34
26
|
* - Aggregate tools from MCP servers and internal tools with conflict resolution
|
|
35
27
|
* - Route tool execution to appropriate source (MCP vs Internal)
|
|
36
28
|
* - Provide unified tool interface to LLM
|
|
37
|
-
* - Manage tool confirmation and security
|
|
29
|
+
* - Manage tool confirmation and security via ApprovalManager
|
|
38
30
|
* - Handle cross-source naming conflicts (internal tools have precedence)
|
|
39
31
|
*
|
|
40
32
|
* Architecture:
|
|
41
33
|
* LLMService → ToolManager → [MCPManager, InternalToolsProvider]
|
|
34
|
+
* ↓
|
|
35
|
+
* ApprovalManager (for confirmations)
|
|
36
|
+
*
|
|
37
|
+
* TODO (Telemetry): Add OpenTelemetry metrics collection
|
|
38
|
+
* - Tool execution counters (by tool name, source: MCP/internal)
|
|
39
|
+
* - Tool execution latency histograms
|
|
40
|
+
* - Tool success/failure rate counters
|
|
41
|
+
* - Tool approval/denial counters
|
|
42
|
+
* See feature-plans/telemetry.md for details
|
|
42
43
|
*/
|
|
43
|
-
declare class ToolManager {
|
|
44
|
+
export declare class ToolManager {
|
|
44
45
|
private mcpManager;
|
|
45
46
|
private internalToolsProvider?;
|
|
46
|
-
private
|
|
47
|
+
private approvalManager;
|
|
48
|
+
private allowedToolsProvider;
|
|
49
|
+
private approvalMode;
|
|
50
|
+
private agentEventBus;
|
|
51
|
+
private toolPolicies;
|
|
52
|
+
private pluginManager?;
|
|
53
|
+
private sessionManager?;
|
|
54
|
+
private stateManager?;
|
|
47
55
|
private static readonly MCP_TOOL_PREFIX;
|
|
48
56
|
private static readonly INTERNAL_TOOL_PREFIX;
|
|
49
57
|
private toolsCache;
|
|
50
58
|
private cacheValid;
|
|
51
|
-
constructor(mcpManager: MCPManager,
|
|
59
|
+
constructor(mcpManager: MCPManager, approvalManager: ApprovalManager, allowedToolsProvider: IAllowedToolsProvider, approvalMode: 'event-based' | 'auto-approve' | 'auto-deny', agentEventBus: AgentEventBus, toolPolicies?: ToolPolicies, options?: InternalToolsOptions);
|
|
52
60
|
/**
|
|
53
61
|
* Initialize the ToolManager and its components
|
|
54
62
|
*/
|
|
55
63
|
initialize(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Set plugin support services (called after construction to avoid circular dependencies)
|
|
66
|
+
*/
|
|
67
|
+
setPluginSupport(pluginManager: PluginManager, sessionManager: SessionManager, stateManager: AgentStateManager): void;
|
|
56
68
|
/**
|
|
57
69
|
* Invalidate the tools cache when tool sources change
|
|
58
70
|
*/
|
|
59
71
|
private invalidateCache;
|
|
72
|
+
/**
|
|
73
|
+
* Set up listeners for MCP notifications to invalidate cache on changes
|
|
74
|
+
*/
|
|
75
|
+
private setupNotificationListeners;
|
|
60
76
|
getMcpManager(): MCPManager;
|
|
61
77
|
/**
|
|
62
78
|
* Get all MCP tools (delegates to mcpManager.getAllTools())
|
|
@@ -66,6 +82,16 @@ declare class ToolManager {
|
|
|
66
82
|
/**
|
|
67
83
|
* Build all tools from sources with universal prefixing
|
|
68
84
|
* ALL tools get prefixed by their source - no exceptions
|
|
85
|
+
*
|
|
86
|
+
* TODO: Rethink tool naming convention for more consistency
|
|
87
|
+
* Current issue: MCP tools have dynamic naming based on conflicts:
|
|
88
|
+
* - No conflict: mcp--toolName
|
|
89
|
+
* - With conflict: mcp--serverName--toolName
|
|
90
|
+
* This makes policy configuration fragile. Consider:
|
|
91
|
+
* 1. Always including server name: mcp--serverName--toolName (breaking change)
|
|
92
|
+
* 2. Using a different delimiter pattern that's more predictable
|
|
93
|
+
* 3. Providing a tool discovery command to help users find exact names
|
|
94
|
+
* Related: Tool policies now support dual matching (exact + suffix) as a workaround
|
|
69
95
|
*/
|
|
70
96
|
private buildAllTools;
|
|
71
97
|
/**
|
|
@@ -97,10 +123,56 @@ declare class ToolManager {
|
|
|
97
123
|
* @returns The source of the tool
|
|
98
124
|
*/
|
|
99
125
|
getToolSource(toolName: string): 'mcp' | 'internal' | 'unknown';
|
|
126
|
+
/**
|
|
127
|
+
* Check if a tool matches a policy pattern
|
|
128
|
+
* Supports both exact matching and suffix matching for MCP tools with server prefixes
|
|
129
|
+
*
|
|
130
|
+
* Examples:
|
|
131
|
+
* - Policy "mcp--read_file" matches "mcp--read_file" (exact)
|
|
132
|
+
* - Policy "mcp--read_file" matches "mcp--filesystem--read_file" (suffix)
|
|
133
|
+
* - Policy "internal--ask_user" matches "internal--ask_user" (exact only)
|
|
134
|
+
*
|
|
135
|
+
* @param toolName The fully qualified tool name (e.g., "mcp--filesystem--read_file")
|
|
136
|
+
* @param policyPattern The policy pattern to match against (e.g., "mcp--read_file")
|
|
137
|
+
* @returns true if the tool matches the policy pattern
|
|
138
|
+
*/
|
|
139
|
+
private matchesToolPolicy;
|
|
140
|
+
/**
|
|
141
|
+
* Check if a tool is in the static alwaysDeny list
|
|
142
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
143
|
+
* @param toolName The fully qualified tool name to check
|
|
144
|
+
* @returns true if the tool is in the deny list
|
|
145
|
+
*/
|
|
146
|
+
private isInAlwaysDenyList;
|
|
147
|
+
/**
|
|
148
|
+
* Check if a tool is in the static alwaysAllow list
|
|
149
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
150
|
+
* @param toolName The fully qualified tool name to check
|
|
151
|
+
* @returns true if the tool is in the allow list
|
|
152
|
+
*/
|
|
153
|
+
private isInAlwaysAllowList;
|
|
154
|
+
/**
|
|
155
|
+
* Handle tool approval/confirmation flow
|
|
156
|
+
* Checks allowed list, manages approval modes (event-based, auto-approve, auto-deny),
|
|
157
|
+
* and handles remember choice logic
|
|
158
|
+
*/
|
|
159
|
+
private handleToolApproval;
|
|
100
160
|
/**
|
|
101
161
|
* Refresh tool discovery (call when MCP servers change)
|
|
162
|
+
* Refreshes both MCPManager's cache (server capabilities) and ToolManager's cache (combined tools)
|
|
102
163
|
*/
|
|
103
164
|
refresh(): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Get list of pending confirmation requests
|
|
167
|
+
*/
|
|
168
|
+
getPendingConfirmations(): string[];
|
|
169
|
+
/**
|
|
170
|
+
* Cancel a pending confirmation request
|
|
171
|
+
*/
|
|
172
|
+
cancelConfirmation(approvalId: string): void;
|
|
173
|
+
/**
|
|
174
|
+
* Cancel all pending confirmation requests
|
|
175
|
+
*/
|
|
176
|
+
cancelAllConfirmations(): void;
|
|
104
177
|
}
|
|
105
|
-
|
|
106
|
-
export { type InternalToolsOptions, ToolManager };
|
|
178
|
+
//# sourceMappingURL=tool-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../src/tools/tool-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBASa,WAAW;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAA2B;IAG/C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAoB;IAGzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAW;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAG5D,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,UAAU,CAAkB;gBAGhC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,qBAAqB,EAC3C,YAAY,EAAE,aAAa,GAAG,cAAc,GAAG,WAAW,EAC1D,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY,EAC3B,OAAO,CAAC,EAAE,oBAAoB;IAwBlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACH,gBAAgB,CACZ,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,iBAAiB,GAChC,IAAI;IAOP;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC,aAAa,IAAI,UAAU;IAI3B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;;;;;OAaG;YACW,aAAa;IAwD3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;;OAGG;IACG,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IA8InB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBjD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;IAgCF;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS;IAgB/D;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;;OAIG;YACW,kBAAkB;IAwGhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;OAEG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAInC;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5C;;OAEG;IACH,sBAAsB,IAAI,IAAI;CAGjC"}
|