@dexto/core 1.3.0 → 1.4.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 +17 -9
- package/dist/agent/DextoAgent.cjs +548 -207
- package/dist/agent/DextoAgent.d.ts +156 -33
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +545 -204
- package/dist/agent/agentCard.js +1 -1
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +2 -1
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -1
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/schemas.cjs +3 -0
- package/dist/agent/schemas.d.ts +92 -55
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +6 -2
- package/dist/agent/state-manager.cjs +5 -5
- package/dist/agent/state-manager.d.ts +4 -4
- package/dist/agent/state-manager.js +6 -6
- package/dist/agent/types.d.ts +24 -10
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.js +1 -1
- package/dist/approval/factory.js +1 -1
- package/dist/approval/index.js +1 -1
- package/dist/approval/manager.cjs +69 -3
- package/dist/approval/manager.d.ts +41 -3
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +70 -4
- package/dist/approval/schemas.cjs +18 -4
- package/dist/approval/schemas.d.ts +106 -32
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +19 -5
- package/dist/approval/types.d.ts +6 -0
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -1
- package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
- package/dist/{llm/tokenizer/default.cjs → context/compression/overflow.cjs} +20 -18
- package/dist/context/compression/overflow.d.ts +33 -0
- package/dist/context/compression/overflow.d.ts.map +1 -0
- package/dist/context/compression/overflow.js +19 -0
- package/dist/context/compression/reactive-overflow.cjs +201 -0
- package/dist/context/compression/reactive-overflow.d.ts +81 -0
- package/dist/context/compression/reactive-overflow.d.ts.map +1 -0
- package/dist/context/compression/reactive-overflow.js +178 -0
- package/dist/context/compression/types.d.ts +9 -7
- package/dist/context/compression/types.d.ts.map +1 -1
- package/dist/context/error-codes.cjs +3 -0
- package/dist/context/error-codes.d.ts +4 -1
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +4 -1
- package/dist/context/errors.cjs +28 -0
- package/dist/context/errors.d.ts +7 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +29 -1
- package/dist/context/index.js +1 -1
- package/dist/context/manager.cjs +280 -323
- package/dist/context/manager.d.ts +65 -111
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +280 -328
- package/dist/context/media-helpers.js +1 -1
- package/dist/context/types.cjs +49 -0
- package/dist/context/types.d.ts +181 -72
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +35 -0
- package/dist/context/utils.cjs +266 -283
- package/dist/context/utils.d.ts +32 -18
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +266 -283
- package/dist/errors/DextoBaseError.js +1 -1
- package/dist/errors/DextoRuntimeError.js +1 -1
- package/dist/errors/DextoValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/result-bridge.js +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +18 -1
- package/dist/events/index.d.ts +149 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +19 -2
- package/dist/filesystem/error-codes.js +1 -1
- package/dist/filesystem/errors.js +1 -1
- package/dist/filesystem/filesystem-service.js +1 -1
- package/dist/filesystem/index.js +1 -1
- package/dist/filesystem/path-validator.js +1 -1
- package/dist/index.browser.cjs +23 -8
- package/dist/index.browser.d.ts +4 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +20 -3
- package/dist/index.js +1 -1
- package/dist/llm/error-codes.cjs +0 -1
- package/dist/llm/error-codes.d.ts +0 -1
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +1 -2
- package/dist/llm/errors.cjs +10 -10
- package/dist/llm/errors.d.ts +5 -6
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +12 -12
- package/dist/llm/executor/stream-processor.cjs +367 -0
- package/dist/llm/executor/stream-processor.d.ts +55 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -0
- package/dist/llm/executor/stream-processor.js +344 -0
- package/dist/llm/executor/tool-output-truncator.cjs +75 -0
- package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
- package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
- package/dist/llm/executor/tool-output-truncator.js +48 -0
- package/dist/llm/executor/turn-executor.cjs +753 -0
- package/dist/llm/executor/turn-executor.d.ts +166 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -0
- package/dist/llm/executor/turn-executor.js +684 -0
- package/dist/llm/executor/types.d.ts +27 -0
- package/dist/llm/executor/types.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.cjs +20 -186
- package/dist/llm/formatters/vercel.d.ts +2 -14
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +19 -185
- package/dist/llm/registry.cjs +36 -45
- package/dist/llm/registry.d.ts +53 -39
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +34 -42
- package/dist/llm/resolver.cjs +1 -31
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +2 -34
- package/dist/llm/schemas.cjs +2 -17
- package/dist/llm/schemas.d.ts +10 -23
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -22
- package/dist/llm/services/factory.cjs +3 -92
- package/dist/llm/services/factory.d.ts +14 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +4 -83
- package/dist/llm/services/test-utils.integration.cjs +6 -8
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +7 -9
- package/dist/llm/services/types.d.ts +1 -28
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +54 -468
- package/dist/llm/services/vercel.d.ts +38 -21
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +56 -475
- package/dist/llm/types.cjs +0 -3
- package/dist/llm/types.d.ts +8 -8
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -3
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.js +1 -1
- package/dist/logger/factory.js +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logger.js +1 -1
- package/dist/logger/v2/dexto-logger.cjs +34 -6
- package/dist/logger/v2/dexto-logger.d.ts +20 -2
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -7
- package/dist/logger/v2/error-codes.js +1 -1
- package/dist/logger/v2/errors.js +1 -1
- package/dist/logger/v2/schemas.js +1 -1
- package/dist/logger/v2/test-utils.cjs +70 -0
- package/dist/logger/v2/test-utils.d.ts +17 -0
- package/dist/logger/v2/test-utils.d.ts.map +1 -0
- package/dist/logger/v2/test-utils.js +46 -0
- package/dist/logger/v2/transport-factory.js +1 -1
- package/dist/logger/v2/transports/console-transport.js +1 -1
- package/dist/logger/v2/transports/file-transport.cjs +6 -0
- package/dist/logger/v2/transports/file-transport.d.ts +4 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.js +7 -1
- package/dist/logger/v2/types.cjs +1 -0
- package/dist/logger/v2/types.d.ts +18 -2
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +2 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -1
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +14 -1
- package/dist/mcp/manager.cjs +4 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +5 -1
- package/dist/mcp/mcp-client.js +1 -1
- package/dist/mcp/resolver.js +1 -1
- package/dist/mcp/schemas.cjs +6 -0
- package/dist/mcp/schemas.d.ts +52 -0
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -1
- package/dist/memory/error-codes.js +1 -1
- package/dist/memory/errors.js +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/manager.js +1 -1
- package/dist/memory/schemas.d.ts +2 -2
- package/dist/memory/schemas.js +1 -1
- package/dist/plugins/builtins/content-policy.js +1 -1
- package/dist/plugins/builtins/response-sanitizer.js +1 -1
- package/dist/plugins/error-codes.js +1 -1
- package/dist/plugins/index.js +1 -1
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/manager.js +1 -1
- package/dist/plugins/registrations/builtins.js +1 -1
- package/dist/plugins/schemas.d.ts +3 -3
- package/dist/plugins/schemas.js +1 -1
- package/dist/plugins/types.d.ts +0 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.js +1 -1
- package/dist/process/error-codes.js +1 -1
- package/dist/process/errors.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/process-service.cjs +78 -26
- package/dist/process/process-service.d.ts +6 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +79 -27
- package/dist/process/types.d.ts +2 -2
- package/dist/process/types.d.ts.map +1 -1
- package/dist/prompts/error-codes.cjs +1 -0
- package/dist/prompts/error-codes.d.ts +2 -1
- package/dist/prompts/error-codes.d.ts.map +1 -1
- package/dist/prompts/error-codes.js +2 -1
- package/dist/prompts/errors.cjs +15 -0
- package/dist/prompts/errors.d.ts +4 -0
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/errors.js +16 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/name-validation.js +1 -1
- package/dist/prompts/prompt-manager.cjs +13 -2
- package/dist/prompts/prompt-manager.d.ts +7 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +14 -3
- package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +13 -4
- package/dist/prompts/providers/custom-prompt-provider.js +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
- package/dist/prompts/schemas.d.ts +12 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/utils.js +1 -1
- package/dist/resources/error-codes.js +1 -1
- package/dist/resources/errors.js +1 -1
- package/dist/resources/handlers/blob-handler.js +1 -1
- package/dist/resources/handlers/factory.js +1 -1
- package/dist/resources/handlers/filesystem-handler.js +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/internal-provider.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/reference-parser.js +1 -1
- package/dist/resources/schemas.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/search-service.js +1 -1
- package/dist/session/chat-session.cjs +149 -51
- package/dist/session/chat-session.d.ts +69 -29
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +150 -52
- package/dist/session/error-codes.js +1 -1
- package/dist/session/errors.js +1 -1
- package/dist/session/history/database.cjs +134 -21
- package/dist/session/history/database.d.ts +37 -8
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +135 -22
- package/dist/session/history/factory.js +1 -1
- package/dist/session/history/memory.cjs +18 -0
- package/dist/session/history/memory.d.ts +8 -0
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/memory.js +19 -1
- package/dist/session/history/types.d.ts +13 -1
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +3 -1
- package/dist/session/message-queue.cjs +201 -0
- package/dist/session/message-queue.d.ts +114 -0
- package/dist/session/message-queue.d.ts.map +1 -0
- package/dist/session/message-queue.js +178 -0
- package/dist/session/schemas.js +1 -1
- package/dist/session/session-manager.cjs +57 -7
- package/dist/session/session-manager.d.ts +18 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +58 -8
- package/dist/session/title-generator.cjs +4 -8
- package/dist/session/title-generator.d.ts +1 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +5 -9
- package/dist/session/types.cjs +16 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +0 -0
- package/dist/storage/blob/factory.js +1 -1
- package/dist/storage/blob/local-blob-store.js +1 -1
- package/dist/storage/blob/memory-blob-store.js +1 -1
- package/dist/storage/blob/schemas.js +1 -1
- package/dist/storage/cache/factory.js +1 -1
- package/dist/storage/cache/memory-cache-store.js +1 -1
- package/dist/storage/cache/redis-store.js +1 -1
- package/dist/storage/cache/schemas.js +1 -1
- package/dist/storage/database/factory.js +1 -1
- package/dist/storage/database/memory-database-store.js +1 -1
- package/dist/storage/database/postgres-store.cjs +12 -0
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +13 -1
- package/dist/storage/database/schemas.js +1 -1
- package/dist/storage/database/sqlite-store.js +1 -1
- package/dist/storage/error-codes.js +1 -1
- package/dist/storage/errors.js +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/schemas.js +1 -1
- package/dist/storage/storage-manager.js +1 -1
- package/dist/systemPrompt/contributors.js +1 -1
- package/dist/systemPrompt/error-codes.js +1 -1
- package/dist/systemPrompt/errors.js +1 -1
- package/dist/systemPrompt/in-built-prompts.js +1 -1
- package/dist/systemPrompt/index.js +1 -1
- package/dist/systemPrompt/manager.js +1 -1
- package/dist/systemPrompt/registry.js +1 -1
- package/dist/systemPrompt/schemas.d.ts +5 -5
- package/dist/systemPrompt/schemas.js +1 -1
- package/dist/telemetry/decorators.js +1 -1
- package/dist/telemetry/error-codes.js +1 -1
- package/dist/telemetry/errors.js +1 -1
- package/dist/telemetry/exporters.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/schemas.js +1 -1
- package/dist/telemetry/telemetry.js +1 -1
- package/dist/telemetry/utils.js +1 -1
- package/dist/tools/bash-pattern-utils.cjs +91 -0
- package/dist/tools/bash-pattern-utils.d.ts +58 -0
- package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
- package/dist/tools/bash-pattern-utils.js +64 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
- package/dist/tools/display-types.cjs +60 -0
- package/dist/tools/display-types.d.ts +133 -0
- package/dist/tools/display-types.d.ts.map +1 -0
- package/dist/tools/display-types.js +32 -0
- package/dist/tools/error-codes.cjs +2 -0
- package/dist/tools/error-codes.d.ts +3 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +3 -1
- package/dist/tools/errors.cjs +30 -0
- package/dist/tools/errors.d.ts +16 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +31 -1
- package/dist/tools/index.cjs +2 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -1
- package/dist/tools/internal-tools/constants.js +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +42 -18
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +3 -3
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +43 -19
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +66 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +67 -2
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +14 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +15 -2
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +16 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +17 -2
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +9 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +10 -2
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +69 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +72 -2
- package/dist/tools/internal-tools/provider.cjs +27 -10
- package/dist/tools/internal-tools/provider.d.ts +8 -5
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +28 -11
- package/dist/tools/internal-tools/registry.cjs +4 -3
- package/dist/tools/internal-tools/registry.d.ts +28 -7
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -4
- package/dist/tools/schemas.cjs +16 -6
- package/dist/tools/schemas.d.ts +31 -4
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +14 -6
- package/dist/tools/tool-manager.cjs +140 -18
- package/dist/tools/tool-manager.d.ts +23 -1
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +145 -19
- package/dist/tools/types.d.ts +20 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +1 -1
- package/dist/utils/async-context.js +1 -1
- package/dist/utils/debug.js +1 -1
- package/dist/{llm/tokenizer/types.cjs → utils/defer.cjs} +19 -10
- package/dist/utils/defer.d.ts +63 -0
- package/dist/utils/defer.d.ts.map +1 -0
- package/dist/utils/defer.js +19 -0
- package/dist/utils/env-file.js +1 -1
- package/dist/utils/error-conversion.js +1 -1
- package/dist/utils/execution-context.js +1 -1
- package/dist/utils/fs-walk.js +1 -1
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.js +1 -1
- package/dist/utils/redactor.js +1 -1
- package/dist/utils/result.js +1 -1
- package/dist/utils/safe-stringify.js +1 -1
- package/dist/utils/schema-metadata.js +1 -1
- package/dist/utils/schema.js +1 -1
- package/dist/utils/service-initializer.cjs +6 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +7 -3
- package/dist/utils/user-info.js +1 -1
- package/dist/utils/zod-schema-converter.js +1 -1
- package/package.json +6 -7
- package/dist/context/compression/middle-removal.cjs +0 -95
- package/dist/context/compression/middle-removal.d.ts +0 -47
- package/dist/context/compression/middle-removal.d.ts.map +0 -1
- package/dist/context/compression/middle-removal.js +0 -72
- package/dist/context/compression/oldest-removal.cjs +0 -83
- package/dist/context/compression/oldest-removal.d.ts +0 -42
- package/dist/context/compression/oldest-removal.d.ts.map +0 -1
- package/dist/context/compression/oldest-removal.js +0 -60
- package/dist/llm/formatters/anthropic.cjs +0 -257
- package/dist/llm/formatters/anthropic.d.ts +0 -46
- package/dist/llm/formatters/anthropic.d.ts.map +0 -1
- package/dist/llm/formatters/anthropic.js +0 -239
- package/dist/llm/formatters/factory.cjs +0 -50
- package/dist/llm/formatters/factory.d.ts +0 -10
- package/dist/llm/formatters/factory.d.ts.map +0 -1
- package/dist/llm/formatters/factory.js +0 -27
- package/dist/llm/formatters/openai.cjs +0 -203
- package/dist/llm/formatters/openai.d.ts +0 -39
- package/dist/llm/formatters/openai.d.ts.map +0 -1
- package/dist/llm/formatters/openai.js +0 -184
- package/dist/llm/formatters/types.d.ts +0 -41
- package/dist/llm/formatters/types.d.ts.map +0 -1
- package/dist/llm/services/anthropic.cjs +0 -511
- package/dist/llm/services/anthropic.d.ts +0 -48
- package/dist/llm/services/anthropic.d.ts.map +0 -1
- package/dist/llm/services/anthropic.js +0 -447
- package/dist/llm/services/openai.cjs +0 -611
- package/dist/llm/services/openai.d.ts +0 -48
- package/dist/llm/services/openai.d.ts.map +0 -1
- package/dist/llm/services/openai.js +0 -547
- package/dist/llm/tokenizer/anthropic.cjs +0 -43
- package/dist/llm/tokenizer/anthropic.d.ts +0 -19
- package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
- package/dist/llm/tokenizer/anthropic.js +0 -20
- package/dist/llm/tokenizer/default.d.ts +0 -14
- package/dist/llm/tokenizer/default.d.ts.map +0 -1
- package/dist/llm/tokenizer/default.js +0 -18
- package/dist/llm/tokenizer/factory.cjs +0 -44
- package/dist/llm/tokenizer/factory.d.ts +0 -12
- package/dist/llm/tokenizer/factory.d.ts.map +0 -1
- package/dist/llm/tokenizer/factory.js +0 -21
- package/dist/llm/tokenizer/google.cjs +0 -52
- package/dist/llm/tokenizer/google.d.ts +0 -29
- package/dist/llm/tokenizer/google.d.ts.map +0 -1
- package/dist/llm/tokenizer/google.js +0 -29
- package/dist/llm/tokenizer/openai.cjs +0 -115
- package/dist/llm/tokenizer/openai.d.ts +0 -41
- package/dist/llm/tokenizer/openai.d.ts.map +0 -1
- package/dist/llm/tokenizer/openai.js +0 -91
- package/dist/llm/tokenizer/types.d.ts +0 -18
- package/dist/llm/tokenizer/types.d.ts.map +0 -1
- package/dist/llm/tokenizer/types.js +0 -10
- /package/dist/llm/{formatters → executor}/types.cjs +0 -0
- /package/dist/llm/{formatters → executor}/types.js +0 -0
|
@@ -2,13 +2,20 @@ import {
|
|
|
2
2
|
__decorateElement,
|
|
3
3
|
__decoratorStart,
|
|
4
4
|
__runInitializers
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-PTJYTZNU.js";
|
|
6
6
|
var _ToolManager_decorators, _init;
|
|
7
7
|
import { InternalToolsProvider } from "./internal-tools/provider.js";
|
|
8
8
|
import { ToolError } from "./errors.js";
|
|
9
|
+
import { ToolErrorCode } from "./error-codes.js";
|
|
10
|
+
import { DextoRuntimeError } from "../errors/index.js";
|
|
9
11
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
10
12
|
import { ApprovalStatus } from "../approval/types.js";
|
|
11
13
|
import { InstrumentClass } from "../telemetry/decorators.js";
|
|
14
|
+
import {
|
|
15
|
+
generateBashPatternKey,
|
|
16
|
+
generateBashPatternSuggestions,
|
|
17
|
+
isDangerousCommand
|
|
18
|
+
} from "./bash-pattern-utils.js";
|
|
12
19
|
_ToolManager_decorators = [InstrumentClass({
|
|
13
20
|
prefix: "tool",
|
|
14
21
|
excludeMethods: [
|
|
@@ -46,9 +53,12 @@ let _ToolManager = class _ToolManager {
|
|
|
46
53
|
this.toolPolicies = toolPolicies;
|
|
47
54
|
this.logger = logger.createChild(DextoLogComponent.TOOLS);
|
|
48
55
|
if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
|
|
56
|
+
const internalToolsServices = {
|
|
57
|
+
...options.internalToolsServices,
|
|
58
|
+
approvalManager
|
|
59
|
+
};
|
|
49
60
|
this.internalToolsProvider = new InternalToolsProvider(
|
|
50
|
-
|
|
51
|
-
approvalManager,
|
|
61
|
+
internalToolsServices,
|
|
52
62
|
options.internalToolsConfig,
|
|
53
63
|
this.logger
|
|
54
64
|
);
|
|
@@ -100,6 +110,37 @@ let _ToolManager = class _ToolManager {
|
|
|
100
110
|
this.invalidateCache();
|
|
101
111
|
});
|
|
102
112
|
}
|
|
113
|
+
// ==================== Bash Pattern Approval Helpers ====================
|
|
114
|
+
/**
|
|
115
|
+
* Check if a tool name represents a bash execution tool
|
|
116
|
+
*/
|
|
117
|
+
isBashTool(toolName) {
|
|
118
|
+
return toolName === "bash_exec" || toolName === "internal--bash_exec";
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Check if a bash command is covered by any approved pattern.
|
|
122
|
+
* Generates a pattern key from the command, then checks if it's covered by stored patterns.
|
|
123
|
+
*
|
|
124
|
+
* Returns approval info if covered, or pattern suggestions if not.
|
|
125
|
+
*/
|
|
126
|
+
checkBashPatternApproval(command) {
|
|
127
|
+
const patternKey = generateBashPatternKey(command);
|
|
128
|
+
if (!patternKey) {
|
|
129
|
+
if (isDangerousCommand(command)) {
|
|
130
|
+
this.logger.debug(
|
|
131
|
+
`Skipping pattern generation for dangerous command: ${command.split(/\s+/)[0]}`
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
return { approved: false, suggestedPatterns: [] };
|
|
135
|
+
}
|
|
136
|
+
if (this.approvalManager.matchesBashPattern(patternKey)) {
|
|
137
|
+
return { approved: true };
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
approved: false,
|
|
141
|
+
suggestedPatterns: generateBashPatternSuggestions(command)
|
|
142
|
+
};
|
|
143
|
+
}
|
|
103
144
|
getMcpManager() {
|
|
104
145
|
return this.mcpManager;
|
|
105
146
|
}
|
|
@@ -184,15 +225,41 @@ let _ToolManager = class _ToolManager {
|
|
|
184
225
|
/**
|
|
185
226
|
* Execute a tool by routing based on universal prefix
|
|
186
227
|
* ALL tools must have source prefix - no exceptions
|
|
228
|
+
*
|
|
229
|
+
* @param toolName The fully qualified tool name (e.g., "internal--edit_file")
|
|
230
|
+
* @param args The arguments for the tool
|
|
231
|
+
* @param toolCallId The unique tool call ID for tracking (from LLM or generated for direct calls)
|
|
232
|
+
* @param sessionId Optional session ID for context
|
|
233
|
+
* @param abortSignal Optional abort signal for cancellation support
|
|
187
234
|
*/
|
|
188
|
-
async executeTool(toolName, args, sessionId) {
|
|
189
|
-
this.logger.debug(`\u{1F527} Tool execution requested: '${toolName}'`);
|
|
235
|
+
async executeTool(toolName, args, toolCallId, sessionId, abortSignal) {
|
|
236
|
+
this.logger.debug(`\u{1F527} Tool execution requested: '${toolName}' (toolCallId: ${toolCallId})`);
|
|
190
237
|
this.logger.debug(`Tool args: ${JSON.stringify(args, null, 2)}`);
|
|
191
|
-
|
|
238
|
+
if (sessionId) {
|
|
239
|
+
this.agentEventBus.emit("llm:tool-call", {
|
|
240
|
+
toolName,
|
|
241
|
+
args,
|
|
242
|
+
callId: toolCallId,
|
|
243
|
+
sessionId
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
const { requireApproval, approvalStatus } = await this.handleToolApproval(
|
|
247
|
+
toolName,
|
|
248
|
+
args,
|
|
249
|
+
toolCallId,
|
|
250
|
+
sessionId
|
|
251
|
+
);
|
|
192
252
|
this.logger.debug(`\u2705 Tool execution approved: ${toolName}`);
|
|
193
253
|
this.logger.info(
|
|
194
254
|
`\u{1F527} Tool execution started for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
195
255
|
);
|
|
256
|
+
if (sessionId) {
|
|
257
|
+
this.agentEventBus.emit("tool:running", {
|
|
258
|
+
toolName,
|
|
259
|
+
toolCallId,
|
|
260
|
+
sessionId
|
|
261
|
+
});
|
|
262
|
+
}
|
|
196
263
|
const startTime = Date.now();
|
|
197
264
|
if (this.pluginManager && this.sessionManager && this.stateManager) {
|
|
198
265
|
const beforePayload = {
|
|
@@ -236,7 +303,8 @@ let _ToolManager = class _ToolManager {
|
|
|
236
303
|
result = await this.internalToolsProvider.executeTool(
|
|
237
304
|
actualToolName,
|
|
238
305
|
args,
|
|
239
|
-
sessionId
|
|
306
|
+
sessionId,
|
|
307
|
+
abortSignal
|
|
240
308
|
);
|
|
241
309
|
} else {
|
|
242
310
|
this.logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
|
|
@@ -274,7 +342,10 @@ let _ToolManager = class _ToolManager {
|
|
|
274
342
|
);
|
|
275
343
|
result = modifiedPayload.result;
|
|
276
344
|
}
|
|
277
|
-
return
|
|
345
|
+
return {
|
|
346
|
+
result,
|
|
347
|
+
...requireApproval && { requireApproval, approvalStatus }
|
|
348
|
+
};
|
|
278
349
|
} catch (error) {
|
|
279
350
|
const duration = Date.now() - startTime;
|
|
280
351
|
this.logger.error(
|
|
@@ -414,8 +485,13 @@ let _ToolManager = class _ToolManager {
|
|
|
414
485
|
* Handle tool approval/confirmation flow
|
|
415
486
|
* Checks allowed list, manages approval modes (manual, auto-approve, auto-deny),
|
|
416
487
|
* and handles remember choice logic
|
|
488
|
+
*
|
|
489
|
+
* @param toolName The fully qualified tool name
|
|
490
|
+
* @param args The arguments for the tool
|
|
491
|
+
* @param toolCallId The unique tool call ID for tracking parallel tool calls
|
|
492
|
+
* @param sessionId Optional session ID for context
|
|
417
493
|
*/
|
|
418
|
-
async handleToolApproval(toolName, args, sessionId) {
|
|
494
|
+
async handleToolApproval(toolName, args, toolCallId, sessionId) {
|
|
419
495
|
if (this.isInAlwaysDenyList(toolName)) {
|
|
420
496
|
this.logger.info(
|
|
421
497
|
`Tool '${toolName}' is in static deny list \u2013 blocking execution (session: ${sessionId ?? "global"})`
|
|
@@ -427,18 +503,31 @@ let _ToolManager = class _ToolManager {
|
|
|
427
503
|
this.logger.info(
|
|
428
504
|
`Tool '${toolName}' is in static allow list \u2013 skipping confirmation (session: ${sessionId ?? "global"})`
|
|
429
505
|
);
|
|
430
|
-
return;
|
|
506
|
+
return { requireApproval: false };
|
|
431
507
|
}
|
|
432
508
|
const isAllowed = await this.allowedToolsProvider.isToolAllowed(toolName, sessionId);
|
|
433
509
|
if (isAllowed) {
|
|
434
510
|
this.logger.info(
|
|
435
511
|
`Tool '${toolName}' already allowed for session '${sessionId ?? "global"}' \u2013 skipping confirmation.`
|
|
436
512
|
);
|
|
437
|
-
return;
|
|
513
|
+
return { requireApproval: false };
|
|
514
|
+
}
|
|
515
|
+
let bashPatternResult;
|
|
516
|
+
if (this.isBashTool(toolName)) {
|
|
517
|
+
const command = args.command;
|
|
518
|
+
if (command) {
|
|
519
|
+
bashPatternResult = this.checkBashPatternApproval(command);
|
|
520
|
+
if (bashPatternResult.approved) {
|
|
521
|
+
this.logger.info(
|
|
522
|
+
`Bash command '${command}' matched approved pattern \u2013 skipping confirmation.`
|
|
523
|
+
);
|
|
524
|
+
return { requireApproval: false };
|
|
525
|
+
}
|
|
526
|
+
}
|
|
438
527
|
}
|
|
439
528
|
if (this.approvalMode === "auto-approve") {
|
|
440
529
|
this.logger.debug(`\u{1F7E2} Auto-approving tool execution: ${toolName}`);
|
|
441
|
-
return;
|
|
530
|
+
return { requireApproval: false };
|
|
442
531
|
}
|
|
443
532
|
if (this.approvalMode === "auto-deny") {
|
|
444
533
|
this.logger.debug(`\u{1F6AB} Auto-denying tool execution: ${toolName}`);
|
|
@@ -448,21 +537,57 @@ let _ToolManager = class _ToolManager {
|
|
|
448
537
|
`Tool confirmation requested for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
449
538
|
);
|
|
450
539
|
try {
|
|
540
|
+
let displayPreview;
|
|
541
|
+
const actualToolName = toolName.replace(/^internal--/, "");
|
|
542
|
+
const internalTool = this.internalToolsProvider?.getTool(actualToolName);
|
|
543
|
+
if (internalTool?.generatePreview) {
|
|
544
|
+
try {
|
|
545
|
+
const context = { sessionId };
|
|
546
|
+
const preview = await internalTool.generatePreview(args, context);
|
|
547
|
+
displayPreview = preview ?? void 0;
|
|
548
|
+
this.logger.debug(`Generated preview for ${toolName}`);
|
|
549
|
+
} catch (previewError) {
|
|
550
|
+
if (previewError instanceof DextoRuntimeError && previewError.code === ToolErrorCode.VALIDATION_FAILED) {
|
|
551
|
+
this.logger.debug(
|
|
552
|
+
`Validation failed for ${toolName}: ${previewError.message}`
|
|
553
|
+
);
|
|
554
|
+
throw previewError;
|
|
555
|
+
}
|
|
556
|
+
this.logger.debug(
|
|
557
|
+
`Preview generation failed for ${toolName}: ${previewError instanceof Error ? previewError.message : String(previewError)}`
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
451
561
|
const requestData = {
|
|
452
562
|
toolName,
|
|
563
|
+
toolCallId,
|
|
453
564
|
args
|
|
454
565
|
};
|
|
455
566
|
if (sessionId !== void 0) {
|
|
456
567
|
requestData.sessionId = sessionId;
|
|
457
568
|
}
|
|
569
|
+
if (displayPreview !== void 0) {
|
|
570
|
+
requestData.displayPreview = displayPreview;
|
|
571
|
+
}
|
|
572
|
+
if (bashPatternResult?.suggestedPatterns && bashPatternResult.suggestedPatterns.length > 0) {
|
|
573
|
+
requestData.suggestedPatterns = bashPatternResult.suggestedPatterns;
|
|
574
|
+
}
|
|
458
575
|
const response = await this.approvalManager.requestToolConfirmation(requestData);
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
576
|
+
if (response.status === ApprovalStatus.APPROVED && response.data) {
|
|
577
|
+
const rememberChoice = "rememberChoice" in response.data ? response.data.rememberChoice : false;
|
|
578
|
+
const rememberPattern = "rememberPattern" in response.data ? response.data.rememberPattern : void 0;
|
|
579
|
+
if (rememberChoice) {
|
|
580
|
+
const allowSessionId = sessionId ?? response.sessionId;
|
|
581
|
+
await this.allowedToolsProvider.allowTool(toolName, allowSessionId);
|
|
582
|
+
this.logger.info(
|
|
583
|
+
`Tool '${toolName}' added to allowed tools for session '${allowSessionId ?? "global"}' (remember choice selected)`
|
|
584
|
+
);
|
|
585
|
+
} else if (rememberPattern && typeof rememberPattern === "string" && this.isBashTool(toolName)) {
|
|
586
|
+
this.approvalManager.addBashPattern(rememberPattern);
|
|
587
|
+
this.logger.info(
|
|
588
|
+
`Bash pattern '${rememberPattern}' added for session approval`
|
|
589
|
+
);
|
|
590
|
+
}
|
|
466
591
|
}
|
|
467
592
|
const approved = response.status === ApprovalStatus.APPROVED;
|
|
468
593
|
if (!approved) {
|
|
@@ -483,6 +608,7 @@ let _ToolManager = class _ToolManager {
|
|
|
483
608
|
this.logger.info(
|
|
484
609
|
`Tool confirmation approved for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
485
610
|
);
|
|
611
|
+
return { requireApproval: true, approvalStatus: "approved" };
|
|
486
612
|
} catch (error) {
|
|
487
613
|
this.logger.error(
|
|
488
614
|
`Tool confirmation error for ${toolName}: ${error instanceof Error ? error.message : String(error)}`
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import type { JSONSchema7 } from 'json-schema';
|
|
2
2
|
import type { ZodSchema } from 'zod';
|
|
3
|
+
import type { ToolDisplayData } from './display-types.js';
|
|
3
4
|
/**
|
|
4
5
|
* Context passed to tool execution
|
|
5
6
|
*/
|
|
6
7
|
export interface ToolExecutionContext {
|
|
7
8
|
/** Session ID if available */
|
|
8
9
|
sessionId?: string | undefined;
|
|
10
|
+
/** Abort signal for cancellation support */
|
|
11
|
+
abortSignal?: AbortSignal | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of tool execution, including approval metadata
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolExecutionResult {
|
|
17
|
+
/** The actual result data from tool execution */
|
|
18
|
+
result: unknown;
|
|
19
|
+
/** Whether this tool required user approval before execution */
|
|
20
|
+
requireApproval?: boolean;
|
|
21
|
+
/** The approval status (only present if requireApproval is true) */
|
|
22
|
+
approvalStatus?: 'approved' | 'rejected';
|
|
9
23
|
}
|
|
10
24
|
/**
|
|
11
25
|
* Internal tool interface - for tools implemented within Dexto
|
|
@@ -19,6 +33,12 @@ export interface InternalTool {
|
|
|
19
33
|
inputSchema: ZodSchema;
|
|
20
34
|
/** The actual function that executes the tool - input is validated by Zod before execution */
|
|
21
35
|
execute: (input: unknown, context?: ToolExecutionContext) => Promise<unknown> | unknown;
|
|
36
|
+
/**
|
|
37
|
+
* Optional preview generator for approval UI.
|
|
38
|
+
* Called before requesting user approval to generate display data (e.g., diff preview).
|
|
39
|
+
* Returns null if no preview is available.
|
|
40
|
+
*/
|
|
41
|
+
generatePreview?: (input: unknown, context?: ToolExecutionContext) => Promise<ToolDisplayData | null>;
|
|
22
42
|
}
|
|
23
43
|
/**
|
|
24
44
|
* Standard tool set interface - used by AI/LLM services
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAC5C;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IAEX,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;IAEvB,8FAA8F;IAC9F,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAExF;;;;OAIG;IACH,eAAe,CAAC,EAAE,CACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,oBAAoB,KAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,WAAW,CAAC;KAC3B,CAAC;CACL;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/E"}
|
package/dist/utils/debug.js
CHANGED
|
@@ -16,18 +16,27 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var defer_exports = {};
|
|
20
|
+
__export(defer_exports, {
|
|
21
|
+
defer: () => defer
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
module.exports = __toCommonJS(defer_exports);
|
|
24
|
+
function defer(cleanupFn) {
|
|
25
|
+
return {
|
|
26
|
+
[Symbol.dispose]() {
|
|
27
|
+
const result = cleanupFn();
|
|
28
|
+
if (result instanceof Promise) {
|
|
29
|
+
result.catch((err) => {
|
|
30
|
+
console.error("Deferred async cleanup failed (used sync dispose):", err);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
[Symbol.asyncDispose]() {
|
|
35
|
+
return Promise.resolve(cleanupFn());
|
|
36
|
+
}
|
|
37
|
+
};
|
|
29
38
|
}
|
|
30
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
40
|
0 && (module.exports = {
|
|
32
|
-
|
|
41
|
+
defer
|
|
33
42
|
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TC39 Explicit Resource Management pattern.
|
|
3
|
+
* Similar to Go's `defer`, Python's `with`, C#'s `using`.
|
|
4
|
+
*
|
|
5
|
+
* Benefits:
|
|
6
|
+
* - Can't forget cleanup (automatic on scope exit)
|
|
7
|
+
* - Works with early returns, throws, aborts
|
|
8
|
+
* - Multiple defers execute in LIFO order
|
|
9
|
+
* - Cleaner than try/finally chains
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/tc39/proposal-explicit-resource-management
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Type for cleanup functions - can be sync or async.
|
|
15
|
+
*/
|
|
16
|
+
export type CleanupFunction = () => void | Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Return type for defer() - implements both Disposable and AsyncDisposable.
|
|
19
|
+
*/
|
|
20
|
+
export interface DeferredCleanup extends Disposable, AsyncDisposable {
|
|
21
|
+
[Symbol.dispose]: () => void;
|
|
22
|
+
[Symbol.asyncDispose]: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates a deferred cleanup resource.
|
|
26
|
+
*
|
|
27
|
+
* When used with the `using` keyword, the cleanup function is automatically
|
|
28
|
+
* called when the enclosing scope exits - whether normally, via return,
|
|
29
|
+
* or via thrown exception.
|
|
30
|
+
*
|
|
31
|
+
* @param cleanupFn - The function to call on cleanup. Can be sync or async.
|
|
32
|
+
* @returns A disposable resource for use with `using` keyword
|
|
33
|
+
*
|
|
34
|
+
* @example Synchronous cleanup
|
|
35
|
+
* ```typescript
|
|
36
|
+
* function processData(): void {
|
|
37
|
+
* using _ = defer(() => console.log('cleanup'));
|
|
38
|
+
* // ... work ...
|
|
39
|
+
* // 'cleanup' is logged when scope exits
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example Async cleanup with await using
|
|
44
|
+
* ```typescript
|
|
45
|
+
* async function execute(): Promise<void> {
|
|
46
|
+
* await using _ = defer(async () => {
|
|
47
|
+
* await closeConnection();
|
|
48
|
+
* });
|
|
49
|
+
* // ... work ...
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @example Multiple defers (LIFO order)
|
|
54
|
+
* ```typescript
|
|
55
|
+
* function example(): void {
|
|
56
|
+
* using a = defer(() => console.log('first'));
|
|
57
|
+
* using b = defer(() => console.log('second'));
|
|
58
|
+
* // Logs: 'second' then 'first' (LIFO)
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function defer(cleanupFn: CleanupFunction): DeferredCleanup;
|
|
63
|
+
//# sourceMappingURL=defer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defer.d.ts","sourceRoot":"","sources":["../../src/utils/defer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU,EAAE,eAAe;IAChE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,CAgBjE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
function defer(cleanupFn) {
|
|
3
|
+
return {
|
|
4
|
+
[Symbol.dispose]() {
|
|
5
|
+
const result = cleanupFn();
|
|
6
|
+
if (result instanceof Promise) {
|
|
7
|
+
result.catch((err) => {
|
|
8
|
+
console.error("Deferred async cleanup failed (used sync dispose):", err);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
[Symbol.asyncDispose]() {
|
|
13
|
+
return Promise.resolve(cleanupFn());
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
defer
|
|
19
|
+
};
|
package/dist/utils/env-file.js
CHANGED
package/dist/utils/fs-walk.js
CHANGED
package/dist/utils/index.cjs
CHANGED
|
@@ -27,6 +27,7 @@ __reExport(utils_exports, require("./env-file.js"), module.exports);
|
|
|
27
27
|
__reExport(utils_exports, require("./debug.js"), module.exports);
|
|
28
28
|
__reExport(utils_exports, require("./safe-stringify.js"), module.exports);
|
|
29
29
|
__reExport(utils_exports, require("./api-key-resolver.js"), module.exports);
|
|
30
|
+
__reExport(utils_exports, require("./defer.js"), module.exports);
|
|
30
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
32
|
0 && (module.exports = {
|
|
32
33
|
...require("./path.js"),
|
|
@@ -40,5 +41,6 @@ __reExport(utils_exports, require("./api-key-resolver.js"), module.exports);
|
|
|
40
41
|
...require("./env-file.js"),
|
|
41
42
|
...require("./debug.js"),
|
|
42
43
|
...require("./safe-stringify.js"),
|
|
43
|
-
...require("./api-key-resolver.js")
|
|
44
|
+
...require("./api-key-resolver.js"),
|
|
45
|
+
...require("./defer.js")
|
|
44
46
|
});
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
|
package/dist/utils/index.js
CHANGED
package/dist/utils/path.js
CHANGED
package/dist/utils/redactor.js
CHANGED
package/dist/utils/result.js
CHANGED
package/dist/utils/schema.js
CHANGED
|
@@ -65,11 +65,15 @@ async function createAgentServices(config, configPath, logger, agentEventBus) {
|
|
|
65
65
|
{
|
|
66
66
|
toolConfirmation: {
|
|
67
67
|
mode: config.toolConfirmation.mode,
|
|
68
|
-
|
|
68
|
+
...config.toolConfirmation.timeout !== void 0 && {
|
|
69
|
+
timeout: config.toolConfirmation.timeout
|
|
70
|
+
}
|
|
69
71
|
},
|
|
70
72
|
elicitation: {
|
|
71
73
|
enabled: config.elicitation.enabled,
|
|
72
|
-
|
|
74
|
+
...config.elicitation.timeout !== void 0 && {
|
|
75
|
+
timeout: config.elicitation.timeout
|
|
76
|
+
}
|
|
73
77
|
}
|
|
74
78
|
},
|
|
75
79
|
logger
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-initializer.d.ts","sourceRoot":"","sources":["../../src/utils/service-initializer.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAwB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;AAGF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,aAAa,GAC7B,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"service-initializer.d.ts","sourceRoot":"","sources":["../../src/utils/service-initializer.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAwB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;AAGF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,aAAa,GAC7B,OAAO,CAAC,aAAa,CAAC,CAmOxB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
2
|
import { MCPManager } from "../mcp/manager.js";
|
|
3
3
|
import { ToolManager } from "../tools/tool-manager.js";
|
|
4
4
|
import { SystemPromptManager } from "../systemPrompt/manager.js";
|
|
@@ -33,11 +33,15 @@ async function createAgentServices(config, configPath, logger, agentEventBus) {
|
|
|
33
33
|
{
|
|
34
34
|
toolConfirmation: {
|
|
35
35
|
mode: config.toolConfirmation.mode,
|
|
36
|
-
|
|
36
|
+
...config.toolConfirmation.timeout !== void 0 && {
|
|
37
|
+
timeout: config.toolConfirmation.timeout
|
|
38
|
+
}
|
|
37
39
|
},
|
|
38
40
|
elicitation: {
|
|
39
41
|
enabled: config.elicitation.enabled,
|
|
40
|
-
|
|
42
|
+
...config.elicitation.timeout !== void 0 && {
|
|
43
|
+
timeout: config.elicitation.timeout
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
46
|
},
|
|
43
47
|
logger
|
package/dist/utils/user-info.js
CHANGED