@dexto/core 1.1.11 → 1.2.1
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 +4 -14
- package/dist/Dexto.d.ts +8 -29
- package/dist/Dexto.d.ts.map +1 -1
- package/dist/Dexto.js +4 -12
- package/dist/agent/DextoAgent.cjs +92 -3
- package/dist/agent/DextoAgent.d.ts +12 -4
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +52 -3
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +1 -0
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -0
- 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 -0
- package/dist/agent/index.js +1 -0
- package/dist/agent/registry/error-codes.js +1 -0
- package/dist/agent/registry/errors.js +1 -0
- package/dist/agent/registry/registry.js +1 -0
- package/dist/agent/registry/types.js +1 -0
- package/dist/agent/registry/user-registry.js +1 -0
- package/dist/agent/schemas.cjs +6 -1
- package/dist/agent/schemas.d.ts +113 -3
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +7 -1
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.js +1 -0
- package/dist/approval/errors.js +1 -0
- package/dist/approval/index.js +1 -0
- package/dist/approval/manager.cjs +30 -0
- package/dist/approval/manager.d.ts +23 -1
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +31 -0
- package/dist/approval/providers/event-based-approval-provider.js +1 -0
- package/dist/approval/providers/factory.js +1 -0
- package/dist/approval/providers/noop-approval-provider.js +1 -0
- package/dist/approval/schemas.cjs +36 -0
- package/dist/approval/schemas.d.ts +173 -0
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +33 -0
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +27 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.js +1 -0
- package/dist/context/manager.cjs +36 -1
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +27 -1
- package/dist/context/media-helpers.js +1 -0
- package/dist/context/utils.cjs +102 -6
- package/dist/context/utils.d.ts +35 -2
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +100 -6
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +3 -0
- package/dist/errors/types.d.ts +7 -2
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +4 -0
- package/dist/events/index.cjs +1 -0
- package/dist/events/index.d.ts +6 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- 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.cjs +16 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/filesystem/types.js +0 -0
- package/dist/index.browser.js +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/registry.cjs +15 -15
- package/dist/llm/registry.d.ts +1 -1
- package/dist/llm/registry.js +16 -15
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +10 -0
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +67 -0
- package/dist/llm/services/anthropic.d.ts +6 -0
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +27 -0
- package/dist/llm/services/factory.js +1 -0
- package/dist/llm/services/openai.cjs +87 -0
- package/dist/llm/services/openai.d.ts +6 -0
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +47 -0
- package/dist/llm/services/test-utils.integration.cjs +1 -1
- package/dist/llm/services/test-utils.integration.js +2 -1
- package/dist/llm/services/vercel.cjs +144 -97
- package/dist/llm/services/vercel.d.ts +6 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +105 -98
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.js +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 +1 -1
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +2 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/logger.d.ts +42 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +1 -0
- 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 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/manager.cjs +66 -16
- package/dist/mcp/manager.d.ts +7 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +67 -16
- package/dist/mcp/mcp-client.js +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.js +1 -0
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/error-codes.js +1 -0
- package/dist/memory/errors.js +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/manager.js +1 -0
- package/dist/memory/schemas.js +1 -0
- package/dist/plugins/builtins/content-policy.js +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +1 -0
- package/dist/plugins/error-codes.js +1 -0
- package/dist/plugins/index.js +1 -0
- package/dist/plugins/loader.js +1 -0
- package/dist/plugins/manager.js +1 -0
- package/dist/plugins/registrations/builtins.js +1 -0
- package/dist/plugins/schemas.js +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +10 -1
- package/dist/preferences/loader.d.ts.map +1 -1
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +8 -0
- package/dist/preferences/schemas.d.ts.map +1 -1
- 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/process/types.cjs +16 -0
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/process/types.js +0 -0
- package/dist/prompts/error-codes.js +1 -0
- package/dist/prompts/errors.js +1 -0
- package/dist/prompts/index.js +1 -0
- package/dist/prompts/name-validation.js +1 -0
- package/dist/prompts/prompt-manager.js +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +1 -0
- package/dist/prompts/schemas.js +1 -0
- package/dist/prompts/utils.js +1 -0
- package/dist/resources/error-codes.js +1 -0
- package/dist/resources/errors.js +1 -0
- package/dist/resources/handlers/blob-handler.js +1 -0
- package/dist/resources/handlers/factory.js +1 -0
- package/dist/resources/handlers/filesystem-handler.cjs +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +2 -1
- package/dist/resources/index.js +1 -0
- package/dist/resources/internal-provider.js +1 -0
- package/dist/resources/manager.js +1 -0
- package/dist/resources/reference-parser.js +1 -0
- package/dist/resources/schemas.js +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/session/chat-session.cjs +2 -2
- package/dist/session/chat-session.d.ts +2 -2
- package/dist/session/chat-session.js +3 -2
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.js +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.d.ts +6 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +1 -0
- package/dist/session/title-generator.js +1 -0
- package/dist/storage/blob/factory.cjs +3 -3
- package/dist/storage/blob/factory.d.ts +3 -1
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +4 -3
- package/dist/storage/blob/local-blob-store.cjs +18 -2
- package/dist/storage/blob/local-blob-store.d.ts +2 -1
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +19 -2
- package/dist/storage/blob/schemas.js +1 -0
- package/dist/storage/cache/factory.js +1 -0
- package/dist/storage/cache/memory-cache-store.js +1 -0
- package/dist/storage/cache/redis-store.js +1 -0
- package/dist/storage/cache/schemas.js +1 -0
- package/dist/storage/database/factory.cjs +7 -5
- package/dist/storage/database/factory.d.ts +3 -1
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +8 -5
- package/dist/storage/database/memory-database-store.js +1 -0
- package/dist/storage/database/postgres-store.js +1 -0
- package/dist/storage/database/schemas.cjs +1 -1
- package/dist/storage/database/schemas.js +2 -1
- package/dist/storage/database/sqlite-store.cjs +20 -2
- package/dist/storage/database/sqlite-store.d.ts +2 -1
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +21 -2
- package/dist/storage/error-codes.cjs +1 -0
- package/dist/storage/error-codes.d.ts +1 -0
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +2 -0
- package/dist/storage/errors.cjs +15 -0
- package/dist/storage/errors.d.ts +4 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -0
- package/dist/storage/index.js +1 -0
- package/dist/storage/schemas.js +1 -0
- package/dist/storage/storage-manager.cjs +7 -5
- package/dist/storage/storage-manager.d.ts +5 -2
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -5
- package/dist/systemPrompt/contributors.js +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.js +1 -0
- package/dist/systemPrompt/index.js +1 -0
- package/dist/systemPrompt/manager.js +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.js +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.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.js +1 -0
- 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.js +1 -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.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 +1 -0
- package/dist/tools/internal-tools/index.d.ts.map +1 -1
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.js +1 -0
- package/dist/tools/internal-tools/registry.cjs +40 -4
- package/dist/tools/internal-tools/registry.d.ts +5 -9
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +41 -3
- package/dist/tools/schemas.cjs +18 -5
- package/dist/tools/schemas.d.ts +30 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -2
- package/dist/tools/tool-manager.cjs +158 -19
- package/dist/tools/tool-manager.d.ts +48 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +118 -19
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.js +1 -0
- package/dist/utils/debug.js +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.js +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +42 -4
- package/dist/utils/service-initializer.d.ts +2 -1
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +33 -4
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +11 -1
|
@@ -1,14 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__decorateElement,
|
|
3
|
+
__decoratorStart,
|
|
4
|
+
__runInitializers
|
|
5
|
+
} from "../chunk-C6A6W6XS.js";
|
|
6
|
+
var _ToolManager_decorators, _init;
|
|
1
7
|
import { InternalToolsProvider } from "./internal-tools/provider.js";
|
|
2
8
|
import { ToolError } from "./errors.js";
|
|
3
9
|
import { logger } from "../logger/index.js";
|
|
4
10
|
import { ApprovalStatus } from "../approval/types.js";
|
|
5
|
-
|
|
11
|
+
import { InstrumentClass } from "../telemetry/decorators.js";
|
|
12
|
+
_ToolManager_decorators = [InstrumentClass({
|
|
13
|
+
prefix: "tool",
|
|
14
|
+
excludeMethods: [
|
|
15
|
+
"setPluginManager",
|
|
16
|
+
"setStateManager",
|
|
17
|
+
"getApprovalManager",
|
|
18
|
+
"getAllowedToolsProvider"
|
|
19
|
+
]
|
|
20
|
+
})];
|
|
21
|
+
let _ToolManager = class _ToolManager {
|
|
6
22
|
mcpManager;
|
|
7
23
|
internalToolsProvider;
|
|
8
24
|
approvalManager;
|
|
9
25
|
allowedToolsProvider;
|
|
10
26
|
approvalMode;
|
|
11
27
|
agentEventBus;
|
|
28
|
+
toolPolicies;
|
|
12
29
|
// Plugin support - set after construction to avoid circular dependencies
|
|
13
30
|
pluginManager;
|
|
14
31
|
sessionManager;
|
|
@@ -19,12 +36,13 @@ class ToolManager {
|
|
|
19
36
|
// Tool caching for performance
|
|
20
37
|
toolsCache = {};
|
|
21
38
|
cacheValid = false;
|
|
22
|
-
constructor(mcpManager, approvalManager, allowedToolsProvider, approvalMode, agentEventBus, options) {
|
|
39
|
+
constructor(mcpManager, approvalManager, allowedToolsProvider, approvalMode, agentEventBus, toolPolicies, options) {
|
|
23
40
|
this.mcpManager = mcpManager;
|
|
24
41
|
this.approvalManager = approvalManager;
|
|
25
42
|
this.allowedToolsProvider = allowedToolsProvider;
|
|
26
43
|
this.approvalMode = approvalMode;
|
|
27
44
|
this.agentEventBus = agentEventBus;
|
|
45
|
+
this.toolPolicies = toolPolicies;
|
|
28
46
|
if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
|
|
29
47
|
this.internalToolsProvider = new InternalToolsProvider(
|
|
30
48
|
options.internalToolsServices || {},
|
|
@@ -88,6 +106,16 @@ class ToolManager {
|
|
|
88
106
|
/**
|
|
89
107
|
* Build all tools from sources with universal prefixing
|
|
90
108
|
* ALL tools get prefixed by their source - no exceptions
|
|
109
|
+
*
|
|
110
|
+
* TODO: Rethink tool naming convention for more consistency
|
|
111
|
+
* Current issue: MCP tools have dynamic naming based on conflicts:
|
|
112
|
+
* - No conflict: mcp--toolName
|
|
113
|
+
* - With conflict: mcp--serverName--toolName
|
|
114
|
+
* This makes policy configuration fragile. Consider:
|
|
115
|
+
* 1. Always including server name: mcp--serverName--toolName (breaking change)
|
|
116
|
+
* 2. Using a different delimiter pattern that's more predictable
|
|
117
|
+
* 3. Providing a tool discovery command to help users find exact names
|
|
118
|
+
* Related: Tool policies now support dual matching (exact + suffix) as a workaround
|
|
91
119
|
*/
|
|
92
120
|
async buildAllTools() {
|
|
93
121
|
const allTools = {};
|
|
@@ -110,7 +138,7 @@ class ToolManager {
|
|
|
110
138
|
internalTools = {};
|
|
111
139
|
}
|
|
112
140
|
for (const [toolName, toolDef] of Object.entries(internalTools)) {
|
|
113
|
-
const qualifiedName = `${
|
|
141
|
+
const qualifiedName = `${_ToolManager.INTERNAL_TOOL_PREFIX}${toolName}`;
|
|
114
142
|
allTools[qualifiedName] = {
|
|
115
143
|
...toolDef,
|
|
116
144
|
name: qualifiedName,
|
|
@@ -118,7 +146,7 @@ class ToolManager {
|
|
|
118
146
|
};
|
|
119
147
|
}
|
|
120
148
|
for (const [toolName, toolDef] of Object.entries(mcpTools)) {
|
|
121
|
-
const qualifiedName = `${
|
|
149
|
+
const qualifiedName = `${_ToolManager.MCP_TOOL_PREFIX}${toolName}`;
|
|
122
150
|
allTools[qualifiedName] = {
|
|
123
151
|
...toolDef,
|
|
124
152
|
name: qualifiedName,
|
|
@@ -129,7 +157,7 @@ class ToolManager {
|
|
|
129
157
|
const mcpCount = Object.keys(mcpTools).length;
|
|
130
158
|
const internalCount = Object.keys(internalTools).length;
|
|
131
159
|
logger.debug(
|
|
132
|
-
`\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${
|
|
160
|
+
`\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${_ToolManager.MCP_TOOL_PREFIX}*, ${internalCount} internal \u2192 ${_ToolManager.INTERNAL_TOOL_PREFIX}*)`
|
|
133
161
|
);
|
|
134
162
|
return allTools;
|
|
135
163
|
}
|
|
@@ -180,17 +208,17 @@ class ToolManager {
|
|
|
180
208
|
}
|
|
181
209
|
try {
|
|
182
210
|
let result;
|
|
183
|
-
if (toolName.startsWith(
|
|
211
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
184
212
|
logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
|
|
185
|
-
const actualToolName = toolName.substring(
|
|
213
|
+
const actualToolName = toolName.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
186
214
|
if (actualToolName.length === 0) {
|
|
187
215
|
throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
188
216
|
}
|
|
189
217
|
logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
190
218
|
result = await this.mcpManager.executeTool(actualToolName, args, sessionId);
|
|
191
|
-
} else if (toolName.startsWith(
|
|
219
|
+
} else if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
192
220
|
logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
|
|
193
|
-
const actualToolName = toolName.substring(
|
|
221
|
+
const actualToolName = toolName.substring(_ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
194
222
|
if (actualToolName.length === 0) {
|
|
195
223
|
throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
196
224
|
}
|
|
@@ -207,7 +235,7 @@ class ToolManager {
|
|
|
207
235
|
logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
|
|
208
236
|
const stats = await this.getToolStats();
|
|
209
237
|
logger.error(
|
|
210
|
-
`\u274C Tool missing source prefix: '${toolName}' (expected '${
|
|
238
|
+
`\u274C Tool missing source prefix: '${toolName}' (expected '${_ToolManager.MCP_TOOL_PREFIX}*' or '${_ToolManager.INTERNAL_TOOL_PREFIX}*')`
|
|
211
239
|
);
|
|
212
240
|
logger.debug(`Available: ${stats.mcp} MCP tools, ${stats.internal} internal tools`);
|
|
213
241
|
throw ToolError.notFound(toolName);
|
|
@@ -265,12 +293,12 @@ class ToolManager {
|
|
|
265
293
|
* Check if a tool exists (must have proper source prefix)
|
|
266
294
|
*/
|
|
267
295
|
async hasTool(toolName) {
|
|
268
|
-
if (toolName.startsWith(
|
|
269
|
-
const actualToolName = toolName.substring(
|
|
296
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
297
|
+
const actualToolName = toolName.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
270
298
|
return this.mcpManager.getToolClient(actualToolName) !== void 0;
|
|
271
299
|
}
|
|
272
|
-
if (toolName.startsWith(
|
|
273
|
-
const actualToolName = toolName.substring(
|
|
300
|
+
if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
301
|
+
const actualToolName = toolName.substring(_ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
274
302
|
return this.internalToolsProvider?.hasTool(actualToolName) ?? false;
|
|
275
303
|
}
|
|
276
304
|
return false;
|
|
@@ -312,20 +340,86 @@ class ToolManager {
|
|
|
312
340
|
* @returns The source of the tool
|
|
313
341
|
*/
|
|
314
342
|
getToolSource(toolName) {
|
|
315
|
-
if (toolName.startsWith(
|
|
343
|
+
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX) && toolName.length > _ToolManager.MCP_TOOL_PREFIX.length) {
|
|
316
344
|
return "mcp";
|
|
317
345
|
}
|
|
318
|
-
if (toolName.startsWith(
|
|
346
|
+
if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX) && toolName.length > _ToolManager.INTERNAL_TOOL_PREFIX.length) {
|
|
319
347
|
return "internal";
|
|
320
348
|
}
|
|
321
349
|
return "unknown";
|
|
322
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Check if a tool matches a policy pattern
|
|
353
|
+
* Supports both exact matching and suffix matching for MCP tools with server prefixes
|
|
354
|
+
*
|
|
355
|
+
* Examples:
|
|
356
|
+
* - Policy "mcp--read_file" matches "mcp--read_file" (exact)
|
|
357
|
+
* - Policy "mcp--read_file" matches "mcp--filesystem--read_file" (suffix)
|
|
358
|
+
* - Policy "internal--ask_user" matches "internal--ask_user" (exact only)
|
|
359
|
+
*
|
|
360
|
+
* @param toolName The fully qualified tool name (e.g., "mcp--filesystem--read_file")
|
|
361
|
+
* @param policyPattern The policy pattern to match against (e.g., "mcp--read_file")
|
|
362
|
+
* @returns true if the tool matches the policy pattern
|
|
363
|
+
*/
|
|
364
|
+
matchesToolPolicy(toolName, policyPattern) {
|
|
365
|
+
if (toolName === policyPattern) {
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
if (policyPattern.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
369
|
+
const baseName = policyPattern.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
370
|
+
if (toolName.endsWith(`--${baseName}`) && toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
371
|
+
return true;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Check if a tool is in the static alwaysDeny list
|
|
378
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
379
|
+
* @param toolName The fully qualified tool name to check
|
|
380
|
+
* @returns true if the tool is in the deny list
|
|
381
|
+
*/
|
|
382
|
+
isInAlwaysDenyList(toolName) {
|
|
383
|
+
if (!this.toolPolicies?.alwaysDeny) {
|
|
384
|
+
return false;
|
|
385
|
+
}
|
|
386
|
+
return this.toolPolicies.alwaysDeny.some(
|
|
387
|
+
(pattern) => this.matchesToolPolicy(toolName, pattern)
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Check if a tool is in the static alwaysAllow list
|
|
392
|
+
* Supports both exact and suffix matching (e.g., "mcp--read_file" matches "mcp--server--read_file")
|
|
393
|
+
* @param toolName The fully qualified tool name to check
|
|
394
|
+
* @returns true if the tool is in the allow list
|
|
395
|
+
*/
|
|
396
|
+
isInAlwaysAllowList(toolName) {
|
|
397
|
+
if (!this.toolPolicies?.alwaysAllow) {
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
return this.toolPolicies.alwaysAllow.some(
|
|
401
|
+
(pattern) => this.matchesToolPolicy(toolName, pattern)
|
|
402
|
+
);
|
|
403
|
+
}
|
|
323
404
|
/**
|
|
324
405
|
* Handle tool approval/confirmation flow
|
|
325
406
|
* Checks allowed list, manages approval modes (event-based, auto-approve, auto-deny),
|
|
326
407
|
* and handles remember choice logic
|
|
327
408
|
*/
|
|
328
409
|
async handleToolApproval(toolName, args, sessionId) {
|
|
410
|
+
if (this.isInAlwaysDenyList(toolName)) {
|
|
411
|
+
logger.info(
|
|
412
|
+
`Tool '${toolName}' is in static deny list \u2013 blocking execution (session: ${sessionId ?? "global"})`
|
|
413
|
+
);
|
|
414
|
+
logger.debug(`\u{1F6AB} Tool execution blocked by policy: ${toolName}`);
|
|
415
|
+
throw ToolError.executionDenied(toolName, sessionId);
|
|
416
|
+
}
|
|
417
|
+
if (this.isInAlwaysAllowList(toolName)) {
|
|
418
|
+
logger.info(
|
|
419
|
+
`Tool '${toolName}' is in static allow list \u2013 skipping confirmation (session: ${sessionId ?? "global"})`
|
|
420
|
+
);
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
329
423
|
const isAllowed = await this.allowedToolsProvider.isToolAllowed(toolName, sessionId);
|
|
330
424
|
if (isAllowed) {
|
|
331
425
|
logger.info(
|
|
@@ -355,9 +449,10 @@ class ToolManager {
|
|
|
355
449
|
const response = await this.approvalManager.requestToolConfirmation(requestData);
|
|
356
450
|
const rememberChoice = response.data && "rememberChoice" in response.data ? response.data.rememberChoice : false;
|
|
357
451
|
if (response.status === ApprovalStatus.APPROVED && rememberChoice) {
|
|
358
|
-
|
|
452
|
+
const allowSessionId = sessionId ?? response.sessionId;
|
|
453
|
+
await this.allowedToolsProvider.allowTool(toolName, allowSessionId);
|
|
359
454
|
logger.info(
|
|
360
|
-
`Tool '${toolName}' added to allowed tools for session '${
|
|
455
|
+
`Tool '${toolName}' added to allowed tools for session '${allowSessionId ?? "global"}' (remember choice selected)`
|
|
361
456
|
);
|
|
362
457
|
}
|
|
363
458
|
const approved = response.status === ApprovalStatus.APPROVED;
|
|
@@ -405,7 +500,11 @@ class ToolManager {
|
|
|
405
500
|
cancelAllConfirmations() {
|
|
406
501
|
this.approvalManager.cancelAllApprovals();
|
|
407
502
|
}
|
|
408
|
-
}
|
|
503
|
+
};
|
|
504
|
+
_init = __decoratorStart(null);
|
|
505
|
+
_ToolManager = __decorateElement(_init, 0, "ToolManager", _ToolManager_decorators, _ToolManager);
|
|
506
|
+
__runInitializers(_init, 1, _ToolManager);
|
|
507
|
+
let ToolManager = _ToolManager;
|
|
409
508
|
export {
|
|
410
509
|
ToolManager
|
|
411
510
|
};
|
package/dist/utils/debug.js
CHANGED
package/dist/utils/env.js
CHANGED
package/dist/utils/fs-walk.js
CHANGED
package/dist/utils/path.js
CHANGED
package/dist/utils/port-utils.js
CHANGED
package/dist/utils/redactor.js
CHANGED
package/dist/utils/result.js
CHANGED
package/dist/utils/schema.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
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;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
var service_initializer_exports = {};
|
|
20
30
|
__export(service_initializer_exports, {
|
|
@@ -28,6 +38,7 @@ var import_state_manager = require("../agent/state-manager.js");
|
|
|
28
38
|
var import_session = require("../session/index.js");
|
|
29
39
|
var import_search = require("../search/index.js");
|
|
30
40
|
var import_path = require("path");
|
|
41
|
+
var path = __toESM(require("path"), 1);
|
|
31
42
|
var import_storage = require("../storage/index.js");
|
|
32
43
|
var import_factory = require("../tools/confirmation/allowed-tools-provider/factory.js");
|
|
33
44
|
var import_logger = require("../logger/index.js");
|
|
@@ -37,11 +48,19 @@ var import_manager4 = require("../approval/manager.js");
|
|
|
37
48
|
var import_memory = require("../memory/index.js");
|
|
38
49
|
var import_manager5 = require("../plugins/manager.js");
|
|
39
50
|
var import_builtins = require("../plugins/registrations/builtins.js");
|
|
40
|
-
|
|
51
|
+
var import_filesystem = require("../filesystem/index.js");
|
|
52
|
+
var import_process = require("../process/index.js");
|
|
53
|
+
async function createAgentServices(config, configPath, agentId) {
|
|
54
|
+
if (config.telemetry?.enabled) {
|
|
55
|
+
const { Telemetry } = await import("../telemetry/telemetry.js");
|
|
56
|
+
await Telemetry.init(config.telemetry);
|
|
57
|
+
import_logger.logger.debug("Telemetry initialized");
|
|
58
|
+
}
|
|
41
59
|
const agentEventBus = new import_events.AgentEventBus();
|
|
42
60
|
import_logger.logger.debug("Agent event bus initialized");
|
|
43
|
-
|
|
44
|
-
|
|
61
|
+
const effectiveAgentId = agentId || config.agentCard?.name || (configPath ? path.basename(configPath, path.extname(configPath)) : void 0) || "default-agent";
|
|
62
|
+
import_logger.logger.debug("Initializing storage manager", { agentId: effectiveAgentId });
|
|
63
|
+
const storageManager = await (0, import_storage.createStorageManager)(config.storage, effectiveAgentId);
|
|
45
64
|
import_logger.logger.debug("Storage manager initialized", {
|
|
46
65
|
cache: config.storage.cache.type,
|
|
47
66
|
database: config.storage.database.type
|
|
@@ -69,6 +88,20 @@ async function createAgentServices(config, configPath) {
|
|
|
69
88
|
import_logger.logger.debug("Built-in plugins registered");
|
|
70
89
|
await pluginManager.initialize(config.plugins.custom);
|
|
71
90
|
import_logger.logger.info("Plugin manager initialized");
|
|
91
|
+
const fileSystemService = new import_filesystem.FileSystemService({
|
|
92
|
+
allowedPaths: ["."],
|
|
93
|
+
blockedPaths: [".git", "node_modules/.bin", ".env"],
|
|
94
|
+
blockedExtensions: [".exe", ".dll", ".so"],
|
|
95
|
+
workingDirectory: process.cwd()
|
|
96
|
+
});
|
|
97
|
+
await fileSystemService.initialize();
|
|
98
|
+
import_logger.logger.debug("FileSystemService initialized");
|
|
99
|
+
const processService = new import_process.ProcessService({
|
|
100
|
+
securityLevel: "moderate",
|
|
101
|
+
workingDirectory: process.cwd()
|
|
102
|
+
});
|
|
103
|
+
await processService.initialize();
|
|
104
|
+
import_logger.logger.debug("ProcessService initialized");
|
|
72
105
|
const allowedToolsProvider = (0, import_factory.createAllowedToolsProvider)({
|
|
73
106
|
type: config.toolConfirmation.allowedToolsStorage,
|
|
74
107
|
storageManager
|
|
@@ -79,8 +112,13 @@ async function createAgentServices(config, configPath) {
|
|
|
79
112
|
allowedToolsProvider,
|
|
80
113
|
config.toolConfirmation.mode,
|
|
81
114
|
agentEventBus,
|
|
115
|
+
config.toolConfirmation.toolPolicies,
|
|
82
116
|
{
|
|
83
|
-
internalToolsServices: {
|
|
117
|
+
internalToolsServices: {
|
|
118
|
+
searchService,
|
|
119
|
+
fileSystemService,
|
|
120
|
+
processService
|
|
121
|
+
},
|
|
84
122
|
internalToolsConfig: config.internalTools
|
|
85
123
|
}
|
|
86
124
|
);
|
|
@@ -32,7 +32,8 @@ export type AgentServices = {
|
|
|
32
32
|
* Initializes all agent services from a validated configuration.
|
|
33
33
|
* @param config The validated agent configuration object
|
|
34
34
|
* @param configPath Optional path to the config file (for relative path resolution)
|
|
35
|
+
* @param agentId Optional agent identifier used for database naming (default: derived from config or 'default-agent')
|
|
35
36
|
* @returns All the initialized services required for a Dexto agent
|
|
36
37
|
*/
|
|
37
|
-
export declare function createAgentServices(config: ValidatedAgentConfig, configPath?: string): Promise<AgentServices>;
|
|
38
|
+
export declare function createAgentServices(config: ValidatedAgentConfig, configPath?: string, agentId?: string): Promise<AgentServices>;
|
|
38
39
|
//# sourceMappingURL=service-initializer.d.ts.map
|
|
@@ -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;
|
|
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;AAGnD,OAAO,EAAwB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG3E,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;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CA8LxB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { MCPManager } from "../mcp/manager.js";
|
|
2
3
|
import { ToolManager } from "../tools/tool-manager.js";
|
|
3
4
|
import { SystemPromptManager } from "../systemPrompt/manager.js";
|
|
@@ -5,6 +6,7 @@ import { AgentStateManager } from "../agent/state-manager.js";
|
|
|
5
6
|
import { SessionManager } from "../session/index.js";
|
|
6
7
|
import { SearchService } from "../search/index.js";
|
|
7
8
|
import { dirname, resolve } from "path";
|
|
9
|
+
import * as path from "path";
|
|
8
10
|
import { createStorageManager } from "../storage/index.js";
|
|
9
11
|
import { createAllowedToolsProvider } from "../tools/confirmation/allowed-tools-provider/factory.js";
|
|
10
12
|
import { logger } from "../logger/index.js";
|
|
@@ -14,11 +16,19 @@ import { ApprovalManager } from "../approval/manager.js";
|
|
|
14
16
|
import { MemoryManager } from "../memory/index.js";
|
|
15
17
|
import { PluginManager } from "../plugins/manager.js";
|
|
16
18
|
import { registerBuiltInPlugins } from "../plugins/registrations/builtins.js";
|
|
17
|
-
|
|
19
|
+
import { FileSystemService } from "../filesystem/index.js";
|
|
20
|
+
import { ProcessService } from "../process/index.js";
|
|
21
|
+
async function createAgentServices(config, configPath, agentId) {
|
|
22
|
+
if (config.telemetry?.enabled) {
|
|
23
|
+
const { Telemetry } = await import("../telemetry/telemetry.js");
|
|
24
|
+
await Telemetry.init(config.telemetry);
|
|
25
|
+
logger.debug("Telemetry initialized");
|
|
26
|
+
}
|
|
18
27
|
const agentEventBus = new AgentEventBus();
|
|
19
28
|
logger.debug("Agent event bus initialized");
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
const effectiveAgentId = agentId || config.agentCard?.name || (configPath ? path.basename(configPath, path.extname(configPath)) : void 0) || "default-agent";
|
|
30
|
+
logger.debug("Initializing storage manager", { agentId: effectiveAgentId });
|
|
31
|
+
const storageManager = await createStorageManager(config.storage, effectiveAgentId);
|
|
22
32
|
logger.debug("Storage manager initialized", {
|
|
23
33
|
cache: config.storage.cache.type,
|
|
24
34
|
database: config.storage.database.type
|
|
@@ -46,6 +56,20 @@ async function createAgentServices(config, configPath) {
|
|
|
46
56
|
logger.debug("Built-in plugins registered");
|
|
47
57
|
await pluginManager.initialize(config.plugins.custom);
|
|
48
58
|
logger.info("Plugin manager initialized");
|
|
59
|
+
const fileSystemService = new FileSystemService({
|
|
60
|
+
allowedPaths: ["."],
|
|
61
|
+
blockedPaths: [".git", "node_modules/.bin", ".env"],
|
|
62
|
+
blockedExtensions: [".exe", ".dll", ".so"],
|
|
63
|
+
workingDirectory: process.cwd()
|
|
64
|
+
});
|
|
65
|
+
await fileSystemService.initialize();
|
|
66
|
+
logger.debug("FileSystemService initialized");
|
|
67
|
+
const processService = new ProcessService({
|
|
68
|
+
securityLevel: "moderate",
|
|
69
|
+
workingDirectory: process.cwd()
|
|
70
|
+
});
|
|
71
|
+
await processService.initialize();
|
|
72
|
+
logger.debug("ProcessService initialized");
|
|
49
73
|
const allowedToolsProvider = createAllowedToolsProvider({
|
|
50
74
|
type: config.toolConfirmation.allowedToolsStorage,
|
|
51
75
|
storageManager
|
|
@@ -56,8 +80,13 @@ async function createAgentServices(config, configPath) {
|
|
|
56
80
|
allowedToolsProvider,
|
|
57
81
|
config.toolConfirmation.mode,
|
|
58
82
|
agentEventBus,
|
|
83
|
+
config.toolConfirmation.toolPolicies,
|
|
59
84
|
{
|
|
60
|
-
internalToolsServices: {
|
|
85
|
+
internalToolsServices: {
|
|
86
|
+
searchService,
|
|
87
|
+
fileSystemService,
|
|
88
|
+
processService
|
|
89
|
+
},
|
|
61
90
|
internalToolsConfig: config.internalTools
|
|
62
91
|
}
|
|
63
92
|
);
|
package/dist/utils/user-info.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dexto/core",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,11 +28,21 @@
|
|
|
28
28
|
"@ai-sdk/xai": "^2.0.0",
|
|
29
29
|
"@anthropic-ai/sdk": "^0.60.0",
|
|
30
30
|
"@modelcontextprotocol/sdk": "^1.18.1",
|
|
31
|
+
"@opentelemetry/api": "^1.9.0",
|
|
32
|
+
"@opentelemetry/auto-instrumentations-node": "^0.52.1",
|
|
33
|
+
"@opentelemetry/core": "^1.28.0",
|
|
34
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.55.0",
|
|
35
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.55.0",
|
|
36
|
+
"@opentelemetry/resources": "^1.28.0",
|
|
37
|
+
"@opentelemetry/sdk-node": "^0.55.0",
|
|
38
|
+
"@opentelemetry/sdk-trace-base": "^1.28.0",
|
|
39
|
+
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
31
40
|
"ai": "^5.0.0",
|
|
32
41
|
"better-sqlite3": "^11.10.0",
|
|
33
42
|
"boxen": "^7.1.1",
|
|
34
43
|
"chalk": "^5.4.1",
|
|
35
44
|
"dotenv": "^16.4.7",
|
|
45
|
+
"glob": "^11.0.3",
|
|
36
46
|
"ioredis": "^5.7.0",
|
|
37
47
|
"nanoid": "^5.1.6",
|
|
38
48
|
"openai": "^5.16.0",
|