@dexto/core 1.1.10 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -4
- package/dist/Dexto.cjs +251 -0
- package/dist/Dexto.d.ts +191 -0
- package/dist/Dexto.d.ts.map +1 -0
- package/dist/Dexto.js +228 -0
- package/dist/agent/DextoAgent.cjs +520 -126
- package/dist/agent/DextoAgent.d.ts +182 -106
- package/dist/agent/DextoAgent.d.ts.map +1 -0
- package/dist/agent/DextoAgent.js +480 -126
- package/dist/agent/agentCard.d.ts +4 -7
- package/dist/agent/agentCard.d.ts.map +1 -0
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +3 -0
- package/dist/agent/error-codes.d.ts +5 -3
- package/dist/agent/error-codes.d.ts.map +1 -0
- package/dist/agent/error-codes.js +4 -0
- package/dist/agent/errors.cjs +26 -0
- package/dist/agent/errors.d.ts +10 -17
- package/dist/agent/errors.d.ts.map +1 -0
- package/dist/agent/errors.js +27 -0
- package/dist/agent/index.cjs +3 -0
- package/dist/agent/index.d.ts +6 -57
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/registry/error-codes.cjs +2 -0
- package/dist/agent/registry/error-codes.d.ts +4 -3
- package/dist/agent/registry/error-codes.d.ts.map +1 -0
- package/dist/agent/registry/error-codes.js +3 -0
- package/dist/agent/registry/errors.cjs +58 -28
- package/dist/agent/registry/errors.d.ts +32 -36
- package/dist/agent/registry/errors.d.ts.map +1 -0
- package/dist/agent/registry/errors.js +59 -28
- package/dist/agent/registry/registry.cjs +242 -54
- package/dist/agent/registry/registry.d.ts +84 -21
- package/dist/agent/registry/registry.d.ts.map +1 -0
- package/dist/agent/registry/registry.js +252 -55
- package/dist/agent/registry/types.cjs +36 -3
- package/dist/agent/registry/types.d.ts +66 -24
- package/dist/agent/registry/types.d.ts.map +1 -0
- package/dist/agent/registry/types.js +34 -2
- package/dist/agent/registry/user-registry.cjs +140 -0
- package/dist/agent/registry/user-registry.d.ts +34 -0
- package/dist/agent/registry/user-registry.d.ts.map +1 -0
- package/dist/agent/registry/user-registry.js +105 -0
- package/dist/agent/schemas.cjs +22 -3
- package/dist/agent/schemas.d.ts +811 -479
- package/dist/agent/schemas.d.ts.map +1 -0
- package/dist/agent/schemas.js +23 -3
- package/dist/agent/state-manager.d.ts +7 -12
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.cjs +44 -0
- package/dist/approval/error-codes.d.ts +21 -0
- package/dist/approval/error-codes.d.ts.map +1 -0
- package/dist/approval/error-codes.js +21 -0
- package/dist/approval/errors.cjs +251 -0
- package/dist/approval/errors.d.ts +110 -0
- package/dist/approval/errors.d.ts.map +1 -0
- package/dist/approval/errors.js +228 -0
- package/dist/approval/index.cjs +84 -0
- package/dist/approval/index.d.ts +12 -0
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +56 -0
- package/dist/approval/manager.cjs +189 -0
- package/dist/approval/manager.d.ts +131 -0
- package/dist/approval/manager.d.ts.map +1 -0
- package/dist/approval/manager.js +166 -0
- package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/event-based-approval-provider.js +133 -0
- package/dist/approval/providers/factory.cjs +38 -0
- package/dist/approval/providers/factory.d.ts +12 -0
- package/dist/approval/providers/factory.d.ts.map +1 -0
- package/dist/approval/providers/factory.js +15 -0
- package/dist/approval/providers/noop-approval-provider.cjs +54 -0
- package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
- package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/noop-approval-provider.js +31 -0
- package/dist/approval/schemas.cjs +204 -0
- package/dist/approval/schemas.d.ts +775 -0
- package/dist/approval/schemas.d.ts.map +1 -0
- package/dist/approval/schemas.js +159 -0
- package/dist/approval/types.cjs +42 -0
- package/dist/approval/types.d.ts +166 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +18 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.d.ts +3 -4
- package/dist/config/agent-resolver.d.ts.map +1 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.d.ts +2 -3
- package/dist/config/error-codes.d.ts.map +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.d.ts +3 -18
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/index.d.ts +4 -7
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/loader.d.ts +2 -5
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.d.ts +8 -11
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.d.ts +3 -6
- package/dist/context/compression/middle-removal.d.ts.map +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.d.ts +3 -6
- package/dist/context/compression/oldest-removal.d.ts.map +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/compression/types.d.ts +2 -5
- package/dist/context/compression/types.d.ts.map +1 -0
- package/dist/context/error-codes.d.ts +2 -3
- package/dist/context/error-codes.d.ts.map +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.d.ts +3 -18
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.cjs +11 -0
- package/dist/context/index.d.ts +4 -19
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +6 -0
- package/dist/context/manager.cjs +156 -24
- package/dist/context/manager.d.ts +28 -20
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +153 -25
- package/dist/context/media-helpers.cjs +40 -0
- package/dist/context/media-helpers.d.ts +15 -0
- package/dist/context/media-helpers.d.ts.map +1 -0
- package/dist/context/media-helpers.js +16 -0
- package/dist/context/types.d.ts +27 -10
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/utils.cjs +907 -71
- package/dist/context/utils.d.ts +111 -15
- package/dist/context/utils.d.ts.map +1 -0
- package/dist/context/utils.js +896 -70
- package/dist/errors/DextoBaseError.d.ts +2 -3
- package/dist/errors/DextoBaseError.d.ts.map +1 -0
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.d.ts +5 -16
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.d.ts +3 -16
- package/dist/errors/DextoValidationError.d.ts.map +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.d.ts +7 -14
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.d.ts +3 -18
- package/dist/errors/result-bridge.d.ts.map +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +7 -0
- package/dist/errors/types.d.ts +32 -20
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +8 -0
- package/dist/events/index.cjs +9 -3
- package/dist/events/index.d.ts +67 -35
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -3
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +36 -0
- package/dist/index.browser.d.ts +24 -51
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +35 -1
- package/dist/index.cjs +29 -1
- package/dist/index.d.ts +34 -89
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/llm/error-codes.d.ts +2 -3
- package/dist/llm/error-codes.d.ts.map +1 -0
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.d.ts +3 -18
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.d.ts +2 -4
- package/dist/llm/formatters/anthropic.d.ts.map +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.d.ts +3 -6
- package/dist/llm/formatters/factory.d.ts.map +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.d.ts +2 -4
- package/dist/llm/formatters/openai.d.ts.map +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/types.d.ts +2 -4
- package/dist/llm/formatters/types.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.d.ts +6 -7
- package/dist/llm/formatters/vercel.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/index.d.ts +8 -39
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/registry.cjs +30 -16
- package/dist/llm/registry.d.ts +27 -30
- package/dist/llm/registry.d.ts.map +1 -0
- package/dist/llm/registry.js +31 -16
- package/dist/llm/resolver.d.ts +6 -20
- package/dist/llm/resolver.d.ts.map +1 -0
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +25 -17
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +91 -11
- package/dist/llm/services/anthropic.d.ts +13 -32
- package/dist/llm/services/anthropic.d.ts.map +1 -0
- package/dist/llm/services/anthropic.js +51 -11
- package/dist/llm/services/factory.cjs +21 -15
- package/dist/llm/services/factory.d.ts +5 -32
- package/dist/llm/services/factory.d.ts.map +1 -0
- package/dist/llm/services/factory.js +22 -15
- package/dist/llm/services/index.d.ts +2 -21
- package/dist/llm/services/index.d.ts.map +1 -0
- package/dist/llm/services/openai.cjs +120 -16
- package/dist/llm/services/openai.d.ts +13 -32
- package/dist/llm/services/openai.d.ts.map +1 -0
- package/dist/llm/services/openai.js +80 -16
- package/dist/llm/services/test-utils.integration.cjs +3 -3
- package/dist/llm/services/test-utils.integration.d.ts +8 -49
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
- package/dist/llm/services/test-utils.integration.js +4 -3
- package/dist/llm/services/types.d.ts +5 -22
- package/dist/llm/services/types.d.ts.map +1 -0
- package/dist/llm/services/vercel.cjs +152 -74
- package/dist/llm/services/vercel.d.ts +18 -36
- package/dist/llm/services/vercel.d.ts.map +1 -0
- package/dist/llm/services/vercel.js +113 -75
- package/dist/llm/tokenizer/anthropic.d.ts +2 -4
- package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.d.ts +2 -4
- package/dist/llm/tokenizer/default.d.ts.map +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.d.ts +3 -5
- package/dist/llm/tokenizer/factory.d.ts.map +1 -0
- package/dist/llm/tokenizer/factory.js +1 -0
- package/dist/llm/tokenizer/google.d.ts +2 -4
- package/dist/llm/tokenizer/google.d.ts.map +1 -0
- package/dist/llm/tokenizer/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +3 -5
- package/dist/llm/tokenizer/openai.d.ts.map +1 -0
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.d.ts +3 -4
- package/dist/llm/tokenizer/types.d.ts.map +1 -0
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +11 -12
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.d.ts +8 -23
- package/dist/llm/validation.d.ts.map +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.d.ts +4 -5
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/index.d.ts +2 -1
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/logger.cjs +35 -7
- package/dist/logger/logger.d.ts +47 -5
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +36 -7
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +3 -3
- package/dist/mcp/error-codes.d.ts.map +1 -0
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +9 -17
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/index.d.ts +8 -26
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/manager.cjs +528 -130
- package/dist/mcp/manager.d.ts +124 -58
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +529 -130
- package/dist/mcp/mcp-client.cjs +172 -10
- package/dist/mcp/mcp-client.d.ts +36 -14
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +177 -10
- package/dist/mcp/resolver.d.ts +5 -20
- package/dist/mcp/resolver.d.ts.map +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.cjs +13 -5
- package/dist/mcp/schemas.d.ts +31 -28
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +11 -5
- package/dist/mcp/types.d.ts +19 -11
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/error-codes.cjs +39 -0
- package/dist/memory/error-codes.d.ts +15 -0
- package/dist/memory/error-codes.d.ts.map +1 -0
- package/dist/memory/error-codes.js +16 -0
- package/dist/memory/errors.cjs +112 -0
- package/dist/memory/errors.d.ts +16 -0
- package/dist/memory/errors.d.ts.map +1 -0
- package/dist/memory/errors.js +89 -0
- package/dist/memory/index.cjs +43 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +19 -0
- package/dist/memory/manager.cjs +214 -0
- package/dist/memory/manager.d.ts +56 -0
- package/dist/memory/manager.d.ts.map +1 -0
- package/dist/memory/manager.js +196 -0
- package/dist/memory/schemas.cjs +82 -0
- package/dist/memory/schemas.d.ts +129 -0
- package/dist/memory/schemas.d.ts.map +1 -0
- package/dist/memory/schemas.js +54 -0
- package/dist/memory/types.d.ts +76 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.cjs +112 -0
- package/dist/plugins/builtins/content-policy.d.ts +26 -0
- package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.js +89 -0
- package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +79 -0
- package/dist/plugins/error-codes.cjs +39 -0
- package/dist/plugins/error-codes.d.ts +26 -0
- package/dist/plugins/error-codes.d.ts.map +1 -0
- package/dist/plugins/error-codes.js +16 -0
- package/dist/plugins/index.cjs +54 -0
- package/dist/plugins/index.d.ts +19 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +25 -0
- package/dist/plugins/loader.cjs +151 -0
- package/dist/plugins/loader.d.ts +30 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +125 -0
- package/dist/plugins/manager.cjs +386 -0
- package/dist/plugins/manager.d.ts +97 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +363 -0
- package/dist/plugins/registrations/builtins.cjs +51 -0
- package/dist/plugins/registrations/builtins.d.ts +17 -0
- package/dist/plugins/registrations/builtins.d.ts.map +1 -0
- package/dist/plugins/registrations/builtins.js +28 -0
- package/dist/plugins/schemas.cjs +61 -0
- package/dist/plugins/schemas.d.ts +138 -0
- package/dist/plugins/schemas.d.ts.map +1 -0
- package/dist/plugins/schemas.js +36 -0
- package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
- package/dist/plugins/types.d.ts +152 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/preferences/constants.d.ts +2 -3
- package/dist/preferences/constants.d.ts.map +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.d.ts +2 -3
- package/dist/preferences/error-codes.d.ts.map +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.d.ts +4 -19
- package/dist/preferences/errors.d.ts.map +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.d.ts +5 -20
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +18 -12
- package/dist/preferences/loader.d.ts.map +1 -0
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +27 -21
- package/dist/preferences/schemas.d.ts.map +1 -0
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/prompts/error-codes.cjs +38 -0
- package/dist/prompts/error-codes.d.ts +15 -0
- package/dist/prompts/error-codes.d.ts.map +1 -0
- package/dist/prompts/error-codes.js +15 -0
- package/dist/prompts/errors.cjs +144 -0
- package/dist/prompts/errors.d.ts +45 -0
- package/dist/prompts/errors.d.ts.map +1 -0
- package/dist/prompts/errors.js +121 -0
- package/dist/prompts/index.cjs +53 -0
- package/dist/prompts/index.d.ts +13 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +21 -0
- package/dist/prompts/name-validation.cjs +45 -0
- package/dist/prompts/name-validation.d.ts +9 -0
- package/dist/prompts/name-validation.d.ts.map +1 -0
- package/dist/prompts/name-validation.js +19 -0
- package/dist/prompts/prompt-manager.cjs +374 -0
- package/dist/prompts/prompt-manager.d.ts +74 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -0
- package/dist/prompts/prompt-manager.js +353 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +260 -0
- package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +376 -0
- package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
- package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +147 -0
- package/dist/prompts/schemas.cjs +54 -0
- package/dist/prompts/schemas.d.ts +65 -0
- package/dist/prompts/schemas.d.ts.map +1 -0
- package/dist/prompts/schemas.js +31 -0
- package/dist/prompts/types.cjs +16 -0
- package/dist/prompts/types.d.ts +64 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +0 -0
- package/dist/prompts/utils.cjs +176 -0
- package/dist/prompts/utils.d.ts +32 -0
- package/dist/prompts/utils.d.ts.map +1 -0
- package/dist/prompts/utils.js +150 -0
- package/dist/resources/error-codes.cjs +38 -0
- package/dist/resources/error-codes.d.ts +13 -0
- package/dist/resources/error-codes.d.ts.map +1 -0
- package/dist/resources/error-codes.js +15 -0
- package/dist/resources/errors.cjs +155 -0
- package/dist/resources/errors.d.ts +48 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +132 -0
- package/dist/resources/handlers/blob-handler.cjs +230 -0
- package/dist/resources/handlers/blob-handler.d.ts +38 -0
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
- package/dist/resources/handlers/blob-handler.js +207 -0
- package/dist/resources/handlers/factory.cjs +50 -0
- package/dist/resources/handlers/factory.d.ts +11 -0
- package/dist/resources/handlers/factory.d.ts.map +1 -0
- package/dist/resources/handlers/factory.js +26 -0
- package/dist/resources/handlers/filesystem-handler.cjs +385 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
- package/dist/resources/handlers/filesystem-handler.js +352 -0
- package/dist/resources/handlers/types.cjs +16 -0
- package/dist/resources/handlers/types.d.ts +15 -0
- package/dist/resources/handlers/types.d.ts.map +1 -0
- package/dist/resources/handlers/types.js +0 -0
- package/dist/resources/index.cjs +58 -0
- package/dist/resources/index.d.ts +39 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +35 -0
- package/dist/resources/internal-provider.cjs +141 -0
- package/dist/resources/internal-provider.d.ts +19 -0
- package/dist/resources/internal-provider.d.ts.map +1 -0
- package/dist/resources/internal-provider.js +118 -0
- package/dist/resources/manager.cjs +221 -0
- package/dist/resources/manager.d.ts +29 -0
- package/dist/resources/manager.d.ts.map +1 -0
- package/dist/resources/manager.js +198 -0
- package/dist/resources/reference-parser.cjs +217 -0
- package/dist/resources/reference-parser.d.ts +33 -0
- package/dist/resources/reference-parser.d.ts.map +1 -0
- package/dist/resources/reference-parser.js +191 -0
- package/dist/resources/schemas.cjs +98 -0
- package/dist/resources/schemas.d.ts +212 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +73 -0
- package/dist/resources/types.cjs +16 -0
- package/dist/resources/types.d.ts +57 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +0 -0
- package/dist/search/index.d.ts +2 -4
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.d.ts +5 -9
- package/dist/search/search-service.d.ts.map +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/search/types.d.ts +7 -10
- package/dist/search/types.d.ts.map +1 -0
- package/dist/session/chat-session.cjs +105 -12
- package/dist/session/chat-session.d.ts +32 -43
- package/dist/session/chat-session.d.ts.map +1 -0
- package/dist/session/chat-session.js +106 -12
- package/dist/session/error-codes.d.ts +2 -3
- package/dist/session/error-codes.d.ts.map +1 -0
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.d.ts +2 -17
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.d.ts +6 -9
- package/dist/session/history/database.d.ts.map +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.d.ts +4 -8
- package/dist/session/history/factory.d.ts.map +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.cjs +39 -0
- package/dist/session/history/memory.d.ts +14 -0
- package/dist/session/history/memory.d.ts.map +1 -0
- package/dist/session/history/memory.js +16 -0
- package/dist/session/history/types.d.ts +3 -6
- package/dist/session/history/types.d.ts.map +1 -0
- package/dist/session/index.d.ts +3 -50
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.d.ts +4 -6
- package/dist/session/schemas.d.ts.map +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.cjs +63 -29
- package/dist/session/session-manager.d.ts +33 -43
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +64 -29
- package/dist/session/title-generator.cjs +140 -0
- package/dist/session/title-generator.d.ts +22 -0
- package/dist/session/title-generator.d.ts.map +1 -0
- package/dist/session/title-generator.js +116 -0
- package/dist/storage/blob/factory.cjs +50 -0
- package/dist/storage/blob/factory.d.ts +10 -0
- package/dist/storage/blob/factory.d.ts.map +1 -0
- package/dist/storage/blob/factory.js +27 -0
- package/dist/storage/blob/local-blob-store.cjs +503 -0
- package/dist/storage/blob/local-blob-store.d.ts +57 -0
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/local-blob-store.js +470 -0
- package/dist/storage/blob/schemas.cjs +53 -0
- package/dist/storage/blob/schemas.d.ts +80 -0
- package/dist/storage/blob/schemas.d.ts.map +1 -0
- package/dist/storage/blob/schemas.js +29 -0
- package/dist/storage/blob/types.cjs +16 -0
- package/dist/storage/blob/types.d.ts +154 -0
- package/dist/storage/blob/types.d.ts.map +1 -0
- package/dist/storage/blob/types.js +0 -0
- package/dist/storage/cache/factory.cjs +63 -0
- package/dist/storage/cache/factory.d.ts +8 -0
- package/dist/storage/cache/factory.d.ts.map +1 -0
- package/dist/storage/cache/factory.js +30 -0
- package/dist/storage/cache/memory-cache-store.cjs +107 -0
- package/dist/storage/cache/memory-cache-store.d.ts +26 -0
- package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
- package/dist/storage/cache/memory-cache-store.js +84 -0
- package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
- package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
- package/dist/storage/cache/redis-store.d.ts.map +1 -0
- package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
- package/dist/storage/cache/schemas.cjs +77 -0
- package/dist/storage/cache/schemas.d.ts +151 -0
- package/dist/storage/cache/schemas.d.ts.map +1 -0
- package/dist/storage/cache/schemas.js +53 -0
- package/dist/storage/cache/types.cjs +16 -0
- package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
- package/dist/storage/cache/types.d.ts.map +1 -0
- package/dist/storage/cache/types.js +0 -0
- package/dist/storage/database/factory.cjs +86 -0
- package/dist/storage/database/factory.d.ts +10 -0
- package/dist/storage/database/factory.d.ts.map +1 -0
- package/dist/storage/database/factory.js +53 -0
- package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
- package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
- package/dist/storage/database/memory-database-store.d.ts.map +1 -0
- package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
- package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
- package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
- package/dist/storage/database/postgres-store.d.ts.map +1 -0
- package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
- package/dist/storage/database/schemas.cjs +89 -0
- package/dist/storage/database/schemas.d.ts +227 -0
- package/dist/storage/database/schemas.d.ts.map +1 -0
- package/dist/storage/database/schemas.js +65 -0
- package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
- package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
- package/dist/storage/database/sqlite-store.d.ts.map +1 -0
- package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
- package/dist/storage/database/types.cjs +16 -0
- package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
- package/dist/storage/database/types.d.ts.map +1 -0
- package/dist/storage/database/types.js +0 -0
- package/dist/storage/error-codes.cjs +16 -0
- package/dist/storage/error-codes.d.ts +20 -5
- package/dist/storage/error-codes.d.ts.map +1 -0
- package/dist/storage/error-codes.js +17 -0
- package/dist/storage/errors.cjs +210 -7
- package/dist/storage/errors.d.ts +75 -19
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +205 -1
- package/dist/storage/index.cjs +24 -5
- package/dist/storage/index.d.ts +48 -7
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +21 -4
- package/dist/storage/schemas.cjs +22 -84
- package/dist/storage/schemas.d.ts +98 -574
- package/dist/storage/schemas.d.ts.map +1 -0
- package/dist/storage/schemas.js +26 -84
- package/dist/storage/storage-manager.cjs +135 -118
- package/dist/storage/storage-manager.d.ts +55 -26
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +135 -107
- package/dist/storage/types.d.ts +7 -5
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.cjs +54 -0
- package/dist/systemPrompt/contributors.d.ts +30 -15
- package/dist/systemPrompt/contributors.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.js +54 -0
- package/dist/systemPrompt/error-codes.d.ts +2 -3
- package/dist/systemPrompt/error-codes.d.ts.map +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.d.ts +2 -17
- package/dist/systemPrompt/errors.d.ts.map +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.cjs +13 -15
- package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
- package/dist/systemPrompt/in-built-prompts.js +14 -15
- package/dist/systemPrompt/index.cjs +11 -0
- package/dist/systemPrompt/index.d.ts +7 -14
- package/dist/systemPrompt/index.d.ts.map +1 -0
- package/dist/systemPrompt/index.js +9 -0
- package/dist/systemPrompt/manager.cjs +24 -6
- package/dist/systemPrompt/manager.d.ts +8 -16
- package/dist/systemPrompt/manager.d.ts.map +1 -0
- package/dist/systemPrompt/manager.js +25 -6
- package/dist/systemPrompt/registry.d.ts +6 -16
- package/dist/systemPrompt/registry.d.ts.map +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.cjs +17 -3
- package/dist/systemPrompt/schemas.d.ts +204 -30
- package/dist/systemPrompt/schemas.d.ts.map +1 -0
- package/dist/systemPrompt/schemas.js +18 -3
- package/dist/systemPrompt/types.d.ts +3 -12
- package/dist/systemPrompt/types.d.ts.map +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/error-codes.d.ts +2 -3
- package/dist/tools/error-codes.d.ts.map +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.d.ts +2 -17
- package/dist/tools/errors.d.ts.map +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.cjs +0 -2
- package/dist/tools/index.d.ts +11 -19
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +4 -13
- package/dist/tools/internal-tools/index.d.ts.map +1 -0
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.cjs +9 -11
- package/dist/tools/internal-tools/provider.d.ts +6 -20
- package/dist/tools/internal-tools/provider.d.ts.map +1 -0
- package/dist/tools/internal-tools/provider.js +10 -11
- package/dist/tools/internal-tools/registry.cjs +45 -4
- package/dist/tools/internal-tools/registry.d.ts +13 -22
- package/dist/tools/internal-tools/registry.d.ts.map +1 -0
- package/dist/tools/internal-tools/registry.js +46 -3
- package/dist/tools/schemas.cjs +32 -7
- package/dist/tools/schemas.d.ts +41 -8
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +25 -4
- package/dist/tools/tool-manager.cjs +329 -30
- package/dist/tools/tool-manager.d.ts +94 -22
- package/dist/tools/tool-manager.d.ts.map +1 -0
- package/dist/tools/tool-manager.js +289 -30
- package/dist/tools/types.d.ts +9 -11
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.d.ts +5 -7
- package/dist/utils/api-key-resolver.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.d.ts +5 -7
- package/dist/utils/api-key-store.d.ts.map +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.cjs +51 -0
- package/dist/utils/async-context.d.ts +68 -0
- package/dist/utils/async-context.d.ts.map +1 -0
- package/dist/utils/async-context.js +25 -0
- package/dist/utils/debug.cjs +40 -0
- package/dist/utils/debug.d.ts +2 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +17 -0
- package/dist/utils/env.d.ts +4 -5
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.d.ts +2 -3
- package/dist/utils/error-conversion.d.ts.map +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.d.ts +5 -6
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.d.ts +2 -3
- package/dist/utils/fs-walk.d.ts.map +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +14 -63
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.d.ts +9 -10
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.d.ts +2 -3
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.d.ts +2 -3
- package/dist/utils/redactor.d.ts.map +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.d.ts +14 -27
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.d.ts +2 -3
- package/dist/utils/safe-stringify.d.ts.map +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.cjs +235 -0
- package/dist/utils/schema-metadata.d.ts +82 -0
- package/dist/utils/schema-metadata.d.ts.map +1 -0
- package/dist/utils/schema-metadata.js +208 -0
- package/dist/utils/schema.d.ts +2 -3
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +110 -35
- package/dist/utils/service-initializer.d.ts +19 -43
- package/dist/utils/service-initializer.d.ts.map +1 -0
- package/dist/utils/service-initializer.js +101 -35
- package/dist/utils/user-info.d.ts +2 -3
- package/dist/utils/user-info.d.ts.map +1 -0
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.d.ts +3 -5
- package/dist/utils/zod-schema-converter.d.ts.map +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +16 -4
- package/dist/agent/DextoAgent.d.cts +0 -541
- package/dist/agent/agentCard.d.cts +0 -20
- package/dist/agent/error-codes.d.cts +0 -14
- package/dist/agent/errors.d.cts +0 -44
- package/dist/agent/index.d.cts +0 -60
- package/dist/agent/registry/error-codes.d.cts +0 -20
- package/dist/agent/registry/errors.d.cts +0 -67
- package/dist/agent/registry/registry.d.cts +0 -67
- package/dist/agent/registry/types.d.cts +0 -100
- package/dist/agent/schemas.d.cts +0 -1502
- package/dist/agent/state-manager.d.cts +0 -97
- package/dist/config/agent-resolver.d.cts +0 -15
- package/dist/config/error-codes.d.cts +0 -17
- package/dist/config/errors.d.cts +0 -49
- package/dist/config/index.d.cts +0 -7
- package/dist/config/loader.d.cts +0 -19
- package/dist/config/writer.d.cts +0 -38
- package/dist/context/compression/middle-removal.d.cts +0 -48
- package/dist/context/compression/oldest-removal.d.cts +0 -43
- package/dist/context/compression/types.d.cts +0 -21
- package/dist/context/error-codes.d.cts +0 -19
- package/dist/context/errors.d.cts +0 -36
- package/dist/context/index.d.cts +0 -19
- package/dist/context/manager.d.cts +0 -254
- package/dist/context/types.d.cts +0 -113
- package/dist/context/utils.d.cts +0 -79
- package/dist/errors/DextoBaseError.d.cts +0 -15
- package/dist/errors/DextoRuntimeError.d.cts +0 -37
- package/dist/errors/DextoValidationError.d.cts +0 -65
- package/dist/errors/index.d.cts +0 -18
- package/dist/errors/result-bridge.d.cts +0 -39
- package/dist/errors/types.d.cts +0 -62
- package/dist/events/index.d.cts +0 -272
- package/dist/index.browser.d.cts +0 -53
- package/dist/index.d.cts +0 -89
- package/dist/llm/error-codes.d.cts +0 -26
- package/dist/llm/errors.d.cts +0 -58
- package/dist/llm/formatters/anthropic.d.cts +0 -45
- package/dist/llm/formatters/factory.d.cts +0 -12
- package/dist/llm/formatters/openai.d.cts +0 -38
- package/dist/llm/formatters/types.d.cts +0 -43
- package/dist/llm/formatters/vercel.d.cts +0 -48
- package/dist/llm/index.d.cts +0 -39
- package/dist/llm/registry.d.cts +0 -176
- package/dist/llm/resolver.d.cts +0 -34
- package/dist/llm/schemas.d.cts +0 -111
- package/dist/llm/services/anthropic.d.cts +0 -65
- package/dist/llm/services/factory.d.cts +0 -39
- package/dist/llm/services/index.d.cts +0 -21
- package/dist/llm/services/openai.d.cts +0 -65
- package/dist/llm/services/test-utils.integration.d.cts +0 -83
- package/dist/llm/services/types.d.cts +0 -56
- package/dist/llm/services/vercel.d.cts +0 -72
- package/dist/llm/tokenizer/anthropic.d.cts +0 -21
- package/dist/llm/tokenizer/default.d.cts +0 -16
- package/dist/llm/tokenizer/factory.d.cts +0 -12
- package/dist/llm/tokenizer/google.d.cts +0 -31
- package/dist/llm/tokenizer/openai.d.cts +0 -32
- package/dist/llm/tokenizer/types.d.cts +0 -19
- package/dist/llm/types.d.cts +0 -29
- package/dist/llm/validation.d.cts +0 -60
- package/dist/logger/browser.d.cts +0 -29
- package/dist/logger/index.d.cts +0 -1
- package/dist/logger/logger.d.cts +0 -52
- package/dist/mcp/error-codes.d.cts +0 -16
- package/dist/mcp/errors.d.cts +0 -72
- package/dist/mcp/index.d.cts +0 -26
- package/dist/mcp/manager.d.cts +0 -163
- package/dist/mcp/mcp-client.d.cts +0 -108
- package/dist/mcp/resolver.d.cts +0 -22
- package/dist/mcp/schemas.d.cts +0 -266
- package/dist/mcp/types.d.cts +0 -21
- package/dist/preferences/constants.d.cts +0 -3
- package/dist/preferences/error-codes.d.cts +0 -9
- package/dist/preferences/errors.d.cts +0 -33
- package/dist/preferences/index.d.cts +0 -21
- package/dist/preferences/loader.d.cts +0 -45
- package/dist/preferences/schemas.d.cts +0 -104
- package/dist/search/index.d.cts +0 -5
- package/dist/search/search-service.d.cts +0 -47
- package/dist/search/types.d.cts +0 -78
- package/dist/session/chat-session.d.cts +0 -284
- package/dist/session/error-codes.d.cts +0 -13
- package/dist/session/errors.d.cts +0 -58
- package/dist/session/history/database.d.cts +0 -28
- package/dist/session/history/factory.d.cts +0 -11
- package/dist/session/history/types.d.cts +0 -17
- package/dist/session/index.d.cts +0 -53
- package/dist/session/schemas.d.cts +0 -16
- package/dist/session/session-manager.d.cts +0 -219
- package/dist/storage/backend/cache-backend.d.ts +0 -15
- package/dist/storage/backend/database-backend.d.ts +0 -19
- package/dist/storage/backend/memory-backend.d.cts +0 -34
- package/dist/storage/backend/postgres-backend.d.cts +0 -37
- package/dist/storage/backend/redis-backend.d.cts +0 -36
- package/dist/storage/backend/sqlite-backend.d.ts +0 -35
- package/dist/storage/backend/types.d.cts +0 -14
- package/dist/storage/backend/types.d.ts +0 -14
- package/dist/storage/error-codes.d.cts +0 -14
- package/dist/storage/errors.d.cts +0 -63
- package/dist/storage/index.d.cts +0 -7
- package/dist/storage/schemas.d.cts +0 -856
- package/dist/storage/storage-manager.d.cts +0 -52
- package/dist/storage/types.d.cts +0 -5
- package/dist/systemPrompt/contributors.d.cts +0 -44
- package/dist/systemPrompt/error-codes.d.cts +0 -13
- package/dist/systemPrompt/errors.d.cts +0 -55
- package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
- package/dist/systemPrompt/index.d.cts +0 -14
- package/dist/systemPrompt/manager.d.cts +0 -31
- package/dist/systemPrompt/registry.d.cts +0 -20
- package/dist/systemPrompt/schemas.d.cts +0 -401
- package/dist/systemPrompt/types.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
- package/dist/tools/confirmation/factory.cjs +0 -52
- package/dist/tools/confirmation/factory.d.cts +0 -37
- package/dist/tools/confirmation/factory.d.ts +0 -37
- package/dist/tools/confirmation/factory.js +0 -28
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
- package/dist/tools/confirmation/types.d.cts +0 -46
- package/dist/tools/confirmation/types.d.ts +0 -46
- package/dist/tools/error-codes.d.cts +0 -18
- package/dist/tools/errors.d.cts +0 -97
- package/dist/tools/index.d.cts +0 -19
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
- package/dist/tools/internal-tools/index.d.cts +0 -13
- package/dist/tools/internal-tools/provider.d.cts +0 -66
- package/dist/tools/internal-tools/registry.d.cts +0 -45
- package/dist/tools/schemas.d.cts +0 -21
- package/dist/tools/tool-manager.d.cts +0 -106
- package/dist/tools/types.d.cts +0 -66
- package/dist/utils/api-key-resolver.d.cts +0 -23
- package/dist/utils/api-key-store.d.cts +0 -26
- package/dist/utils/env.d.cts +0 -29
- package/dist/utils/error-conversion.d.cts +0 -13
- package/dist/utils/execution-context.d.cts +0 -21
- package/dist/utils/fs-walk.d.cts +0 -9
- package/dist/utils/index.d.cts +0 -63
- package/dist/utils/path.d.cts +0 -54
- package/dist/utils/port-utils.d.cts +0 -11
- package/dist/utils/port-utils.spec.d.cts +0 -2
- package/dist/utils/port-utils.spec.d.ts +0 -2
- package/dist/utils/redactor.d.cts +0 -18
- package/dist/utils/result.d.cts +0 -180
- package/dist/utils/safe-stringify.d.cts +0 -7
- package/dist/utils/schema.d.cts +0 -6
- package/dist/utils/service-initializer.d.cts +0 -63
- package/dist/utils/user-info.d.cts +0 -3
- package/dist/utils/zod-schema-converter.d.cts +0 -13
- /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
- /package/dist/{storage/backend → filesystem}/types.js +0 -0
- /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
- /package/dist/{tools/confirmation → memory}/types.js +0 -0
- /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
- /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
package/dist/agent/DextoAgent.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__decorateElement,
|
|
3
|
+
__decoratorStart,
|
|
4
|
+
__runInitializers
|
|
5
|
+
} from "../chunk-C6A6W6XS.js";
|
|
6
|
+
var _DextoAgent_decorators, _init;
|
|
7
|
+
import { expandMessageReferences } from "../resources/index.js";
|
|
8
|
+
import { expandBlobReferences } from "../context/utils.js";
|
|
9
|
+
import { PromptManager } from "../prompts/index.js";
|
|
1
10
|
import { SessionError } from "../session/index.js";
|
|
2
11
|
import { logger } from "../logger/index.js";
|
|
12
|
+
import { InstrumentClass } from "../telemetry/decorators.js";
|
|
3
13
|
import { LLMUpdatesSchema } from "../llm/schemas.js";
|
|
4
14
|
import { resolveAndValidateLLMConfig } from "../llm/resolver.js";
|
|
5
15
|
import { validateInputForLLM } from "../llm/validation.js";
|
|
@@ -7,6 +17,7 @@ import { AgentError } from "./errors.js";
|
|
|
7
17
|
import { MCPError } from "../mcp/errors.js";
|
|
8
18
|
import { ensureOk } from "../errors/result-bridge.js";
|
|
9
19
|
import { fail, zodToIssues } from "../utils/result.js";
|
|
20
|
+
import { DextoValidationError } from "../errors/DextoValidationError.js";
|
|
10
21
|
import { resolveAndValidateMcpServerConfig } from "../mcp/resolver.js";
|
|
11
22
|
import {
|
|
12
23
|
getSupportedProviders,
|
|
@@ -18,17 +29,31 @@ import { createAgentServices } from "../utils/service-initializer.js";
|
|
|
18
29
|
import { AgentConfigSchema } from "./schemas.js";
|
|
19
30
|
import { getDextoPath } from "../utils/path.js";
|
|
20
31
|
import { safeStringify } from "../utils/safe-stringify.js";
|
|
21
|
-
import { getAgentRegistry } from "./registry/registry.js";
|
|
22
32
|
import { loadAgentConfig } from "../config/loader.js";
|
|
33
|
+
import { promises as fs } from "fs";
|
|
34
|
+
import { parseDocument } from "yaml";
|
|
35
|
+
import { deriveHeuristicTitle, generateSessionTitle } from "../session/title-generator.js";
|
|
23
36
|
const requiredServices = [
|
|
24
37
|
"mcpManager",
|
|
25
38
|
"toolManager",
|
|
26
|
-
"
|
|
39
|
+
"systemPromptManager",
|
|
27
40
|
"agentEventBus",
|
|
28
41
|
"stateManager",
|
|
29
42
|
"sessionManager",
|
|
30
|
-
"searchService"
|
|
43
|
+
"searchService",
|
|
44
|
+
"memoryManager"
|
|
31
45
|
];
|
|
46
|
+
_DextoAgent_decorators = [InstrumentClass({
|
|
47
|
+
prefix: "agent",
|
|
48
|
+
excludeMethods: [
|
|
49
|
+
"isStarted",
|
|
50
|
+
"isStopped",
|
|
51
|
+
"getConfig",
|
|
52
|
+
"getEffectiveConfig",
|
|
53
|
+
"registerSubscriber",
|
|
54
|
+
"ensureStarted"
|
|
55
|
+
]
|
|
56
|
+
})];
|
|
32
57
|
class DextoAgent {
|
|
33
58
|
constructor(config, configPath) {
|
|
34
59
|
this.configPath = configPath;
|
|
@@ -41,11 +66,14 @@ class DextoAgent {
|
|
|
41
66
|
* But the main recommended entry points/functions would still be the wrapper methods we define below
|
|
42
67
|
*/
|
|
43
68
|
mcpManager;
|
|
44
|
-
|
|
69
|
+
systemPromptManager;
|
|
45
70
|
agentEventBus;
|
|
71
|
+
promptManager;
|
|
46
72
|
stateManager;
|
|
47
73
|
sessionManager;
|
|
48
74
|
toolManager;
|
|
75
|
+
resourceManager;
|
|
76
|
+
memoryManager;
|
|
49
77
|
services;
|
|
50
78
|
// Search service for conversation search
|
|
51
79
|
searchService;
|
|
@@ -58,6 +86,10 @@ class DextoAgent {
|
|
|
58
86
|
_isStopped = false;
|
|
59
87
|
// Store config for async initialization
|
|
60
88
|
config;
|
|
89
|
+
// Event subscribers (e.g., WebSocket, Webhook handlers)
|
|
90
|
+
eventSubscribers = /* @__PURE__ */ new Set();
|
|
91
|
+
// Telemetry instance for distributed tracing
|
|
92
|
+
telemetry;
|
|
61
93
|
/**
|
|
62
94
|
* Starts the agent by initializing all async services.
|
|
63
95
|
* This method handles storage backends, MCP connections, session manager initialization, and other async operations.
|
|
@@ -82,15 +114,30 @@ class DextoAgent {
|
|
|
82
114
|
Object.assign(this, {
|
|
83
115
|
mcpManager: services.mcpManager,
|
|
84
116
|
toolManager: services.toolManager,
|
|
85
|
-
|
|
117
|
+
resourceManager: services.resourceManager,
|
|
118
|
+
systemPromptManager: services.systemPromptManager,
|
|
86
119
|
agentEventBus: services.agentEventBus,
|
|
87
120
|
stateManager: services.stateManager,
|
|
88
121
|
sessionManager: services.sessionManager,
|
|
122
|
+
memoryManager: services.memoryManager,
|
|
89
123
|
services
|
|
90
124
|
});
|
|
91
125
|
this.searchService = services.searchService;
|
|
126
|
+
const promptManager = new PromptManager(
|
|
127
|
+
this.mcpManager,
|
|
128
|
+
this.resourceManager,
|
|
129
|
+
this.config,
|
|
130
|
+
this.agentEventBus,
|
|
131
|
+
services.storageManager.getDatabase()
|
|
132
|
+
);
|
|
133
|
+
await promptManager.initialize();
|
|
134
|
+
Object.assign(this, { promptManager });
|
|
92
135
|
this._isStarted = true;
|
|
136
|
+
this._isStopped = false;
|
|
93
137
|
logger.info("DextoAgent started successfully.");
|
|
138
|
+
for (const subscriber of this.eventSubscribers) {
|
|
139
|
+
subscriber.subscribe(this.agentEventBus);
|
|
140
|
+
}
|
|
94
141
|
const logPath = getDextoPath("logs", "dexto.log");
|
|
95
142
|
console.log(`\u{1F4CB} Logs available at: ${logPath}`);
|
|
96
143
|
} catch (error) {
|
|
@@ -125,6 +172,15 @@ class DextoAgent {
|
|
|
125
172
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
126
173
|
shutdownErrors.push(new Error(`SessionManager cleanup failed: ${err.message}`));
|
|
127
174
|
}
|
|
175
|
+
try {
|
|
176
|
+
if (this.services?.pluginManager) {
|
|
177
|
+
await this.services.pluginManager.cleanup();
|
|
178
|
+
logger.debug("PluginManager cleaned up successfully");
|
|
179
|
+
}
|
|
180
|
+
} catch (error) {
|
|
181
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
182
|
+
shutdownErrors.push(new Error(`PluginManager cleanup failed: ${err.message}`));
|
|
183
|
+
}
|
|
128
184
|
try {
|
|
129
185
|
if (this.mcpManager) {
|
|
130
186
|
await this.mcpManager.disconnectAll();
|
|
@@ -156,6 +212,30 @@ class DextoAgent {
|
|
|
156
212
|
throw error;
|
|
157
213
|
}
|
|
158
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Register an event subscriber that will be automatically re-subscribed on agent restart.
|
|
217
|
+
* Subscribers are typically API layer components (WebSocket, Webhook handlers) that need
|
|
218
|
+
* to receive agent events. If the agent is already started, the subscriber is immediately subscribed.
|
|
219
|
+
*
|
|
220
|
+
* @param subscriber - Object implementing AgentEventSubscriber interface
|
|
221
|
+
*/
|
|
222
|
+
registerSubscriber(subscriber) {
|
|
223
|
+
this.eventSubscribers.add(subscriber);
|
|
224
|
+
if (this._isStarted) {
|
|
225
|
+
subscriber.subscribe(this.agentEventBus);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Restart the agent by stopping and starting it.
|
|
230
|
+
* Automatically re-subscribes all registered event subscribers to the new event bus.
|
|
231
|
+
* This is useful when configuration changes require a full agent restart.
|
|
232
|
+
*
|
|
233
|
+
* @throws Error if restart fails during stop or start phases
|
|
234
|
+
*/
|
|
235
|
+
async restart() {
|
|
236
|
+
await this.stop();
|
|
237
|
+
await this.start();
|
|
238
|
+
}
|
|
159
239
|
/**
|
|
160
240
|
* Checks if the agent has been started.
|
|
161
241
|
* @returns true if agent is started, false otherwise
|
|
@@ -220,7 +300,56 @@ class DextoAgent {
|
|
|
220
300
|
imageDataInput
|
|
221
301
|
)}, hasFile=${Boolean(fileDataInput)}`
|
|
222
302
|
);
|
|
223
|
-
|
|
303
|
+
let finalText = textInput;
|
|
304
|
+
let finalImageData = imageDataInput;
|
|
305
|
+
if (textInput && textInput.includes("@")) {
|
|
306
|
+
try {
|
|
307
|
+
const resources = await this.resourceManager.list();
|
|
308
|
+
const expansion = await expandMessageReferences(
|
|
309
|
+
textInput,
|
|
310
|
+
resources,
|
|
311
|
+
(uri) => this.resourceManager.read(uri)
|
|
312
|
+
);
|
|
313
|
+
if (expansion.unresolvedReferences.length > 0) {
|
|
314
|
+
const unresolvedNames = expansion.unresolvedReferences.map((ref) => ref.originalRef).join(", ");
|
|
315
|
+
logger.warn(
|
|
316
|
+
`Could not resolve ${expansion.unresolvedReferences.length} resource reference(s): ${unresolvedNames}`
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
const MAX_EXPANDED_SIZE = 5 * 1024 * 1024;
|
|
320
|
+
const expandedSize = Buffer.byteLength(expansion.expandedMessage, "utf-8");
|
|
321
|
+
if (expandedSize > MAX_EXPANDED_SIZE) {
|
|
322
|
+
logger.warn(
|
|
323
|
+
`Expanded message size (${(expandedSize / 1024 / 1024).toFixed(2)}MB) exceeds limit (${MAX_EXPANDED_SIZE / 1024 / 1024}MB). Content may be truncated.`
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
finalText = expansion.expandedMessage;
|
|
327
|
+
if (expansion.extractedImages.length > 0 && !imageDataInput) {
|
|
328
|
+
const firstImage = expansion.extractedImages[0];
|
|
329
|
+
if (firstImage) {
|
|
330
|
+
finalImageData = {
|
|
331
|
+
image: firstImage.image,
|
|
332
|
+
mimeType: firstImage.mimeType
|
|
333
|
+
};
|
|
334
|
+
logger.debug(
|
|
335
|
+
`Using extracted image: ${firstImage.name} (${firstImage.mimeType})`
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
} catch (error) {
|
|
340
|
+
logger.error(
|
|
341
|
+
`Failed to expand resource references: ${error instanceof Error ? error.message : String(error)}. Continuing with original message.`
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (!finalText.trim() && !finalImageData && !fileDataInput) {
|
|
346
|
+
logger.warn(
|
|
347
|
+
"Resource expansion resulted in empty content. Using original message."
|
|
348
|
+
);
|
|
349
|
+
finalText = textInput;
|
|
350
|
+
}
|
|
351
|
+
void this.maybeGenerateTitle(targetSessionId, finalText, llmConfig);
|
|
352
|
+
const response = await session.run(finalText, finalImageData, fileDataInput, stream);
|
|
224
353
|
this.sessionManager.incrementMessageCount(session.id).catch(
|
|
225
354
|
(error) => logger.warn(
|
|
226
355
|
`Failed to increment message count: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -312,6 +441,82 @@ class DextoAgent {
|
|
|
312
441
|
this.ensureStarted();
|
|
313
442
|
return await this.sessionManager.getSessionMetadata(sessionId);
|
|
314
443
|
}
|
|
444
|
+
/**
|
|
445
|
+
* Sets a human-friendly title for the given session.
|
|
446
|
+
*/
|
|
447
|
+
async setSessionTitle(sessionId, title) {
|
|
448
|
+
this.ensureStarted();
|
|
449
|
+
await this.sessionManager.setSessionTitle(sessionId, title);
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Gets the human-friendly title for the given session, if any.
|
|
453
|
+
*/
|
|
454
|
+
async getSessionTitle(sessionId) {
|
|
455
|
+
this.ensureStarted();
|
|
456
|
+
return await this.sessionManager.getSessionTitle(sessionId);
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Background task: generate and persist a session title using the same LLM.
|
|
460
|
+
* Runs only for the first user message (messageCount === 0 and no existing title).
|
|
461
|
+
* Never throws; timeboxed in the generator.
|
|
462
|
+
*/
|
|
463
|
+
async maybeGenerateTitle(sessionId, userText, llmConfig) {
|
|
464
|
+
try {
|
|
465
|
+
const metadata = await this.sessionManager.getSessionMetadata(sessionId);
|
|
466
|
+
if (!metadata) {
|
|
467
|
+
logger.debug(
|
|
468
|
+
`[SessionTitle] No session metadata available for ${sessionId}, skipping title generation`
|
|
469
|
+
);
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
if (metadata.title) {
|
|
473
|
+
logger.debug(
|
|
474
|
+
`[SessionTitle] Session ${sessionId} already has title '${metadata.title}', skipping`
|
|
475
|
+
);
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
if (!userText || !userText.trim()) {
|
|
479
|
+
logger.debug(
|
|
480
|
+
`[SessionTitle] User text empty for session ${sessionId}, skipping title generation`
|
|
481
|
+
);
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
logger.debug(
|
|
485
|
+
`[SessionTitle] Checking title generation preconditions for session ${sessionId}`
|
|
486
|
+
);
|
|
487
|
+
const result = await generateSessionTitle(
|
|
488
|
+
llmConfig,
|
|
489
|
+
llmConfig.router,
|
|
490
|
+
this.toolManager,
|
|
491
|
+
this.systemPromptManager,
|
|
492
|
+
this.resourceManager,
|
|
493
|
+
userText
|
|
494
|
+
);
|
|
495
|
+
if (result.error) {
|
|
496
|
+
logger.debug(
|
|
497
|
+
`[SessionTitle] LLM title generation failed for ${sessionId}: ${result.error}${result.timedOut ? " (timeout)" : ""}`
|
|
498
|
+
);
|
|
499
|
+
}
|
|
500
|
+
let title = result.title;
|
|
501
|
+
if (!title) {
|
|
502
|
+
title = deriveHeuristicTitle(userText);
|
|
503
|
+
if (title) {
|
|
504
|
+
logger.info(`[SessionTitle] Using heuristic title for ${sessionId}: ${title}`);
|
|
505
|
+
} else {
|
|
506
|
+
logger.debug(
|
|
507
|
+
`[SessionTitle] No suitable title derived for session ${sessionId}`
|
|
508
|
+
);
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
} else {
|
|
512
|
+
logger.info(`[SessionTitle] Generated LLM title for ${sessionId}: ${title}`);
|
|
513
|
+
}
|
|
514
|
+
await this.sessionManager.setSessionTitle(sessionId, title, { ifUnsetOnly: true });
|
|
515
|
+
this.agentEventBus.emit("dexto:sessionTitleUpdated", { sessionId, title });
|
|
516
|
+
} catch (err) {
|
|
517
|
+
logger.silly(`Title generation skipped/failed for ${sessionId}: ${String(err)}`);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
315
520
|
/**
|
|
316
521
|
* Gets the conversation history for a specific session.
|
|
317
522
|
* @param sessionId The session ID
|
|
@@ -324,7 +529,23 @@ class DextoAgent {
|
|
|
324
529
|
if (!session) {
|
|
325
530
|
throw SessionError.notFound(sessionId);
|
|
326
531
|
}
|
|
327
|
-
|
|
532
|
+
const history = await session.getHistory();
|
|
533
|
+
if (!this.resourceManager) {
|
|
534
|
+
return history;
|
|
535
|
+
}
|
|
536
|
+
return await Promise.all(
|
|
537
|
+
history.map(async (message) => ({
|
|
538
|
+
...message,
|
|
539
|
+
content: await expandBlobReferences(message.content, this.resourceManager).catch(
|
|
540
|
+
(error) => {
|
|
541
|
+
logger.warn(
|
|
542
|
+
`Failed to expand blob references in message: ${error instanceof Error ? error.message : String(error)}`
|
|
543
|
+
);
|
|
544
|
+
return message.content;
|
|
545
|
+
}
|
|
546
|
+
)
|
|
547
|
+
}))
|
|
548
|
+
);
|
|
328
549
|
}
|
|
329
550
|
/**
|
|
330
551
|
* Search for messages across all sessions or within a specific session
|
|
@@ -469,7 +690,7 @@ class DextoAgent {
|
|
|
469
690
|
* @example
|
|
470
691
|
* ```typescript
|
|
471
692
|
* // Switch to a different model (provider will be inferred, API key auto-resolved)
|
|
472
|
-
* await agent.switchLLM({ model: 'gpt-
|
|
693
|
+
* await agent.switchLLM({ model: 'gpt-5' });
|
|
473
694
|
*
|
|
474
695
|
* // Switch to a different provider with explicit API key
|
|
475
696
|
* await agent.switchLLM({ provider: 'anthropic', model: 'claude-4-sonnet-20250514', apiKey: 'sk-ant-...' });
|
|
@@ -478,7 +699,7 @@ class DextoAgent {
|
|
|
478
699
|
* await agent.switchLLM({ provider: 'anthropic', model: 'claude-4-sonnet-20250514', router: 'in-built' }, 'user-123');
|
|
479
700
|
*
|
|
480
701
|
* // Switch for all sessions
|
|
481
|
-
* await agent.switchLLM({ model: 'gpt-
|
|
702
|
+
* await agent.switchLLM({ model: 'gpt-5' }, '*');
|
|
482
703
|
* ```
|
|
483
704
|
*/
|
|
484
705
|
async switchLLM(llmUpdates, sessionId) {
|
|
@@ -606,7 +827,7 @@ class DextoAgent {
|
|
|
606
827
|
*
|
|
607
828
|
* @example
|
|
608
829
|
* ```typescript
|
|
609
|
-
* const provider = agent.inferProviderFromModel('gpt-
|
|
830
|
+
* const provider = agent.inferProviderFromModel('gpt-5');
|
|
610
831
|
* console.log(provider); // 'openai'
|
|
611
832
|
*
|
|
612
833
|
* const provider2 = agent.inferProviderFromModel('claude-4-sonnet-20250514');
|
|
@@ -640,6 +861,7 @@ class DextoAgent {
|
|
|
640
861
|
this.stateManager.addMcpServer(name, validatedConfig);
|
|
641
862
|
try {
|
|
642
863
|
await this.mcpManager.connectServer(name, validatedConfig);
|
|
864
|
+
await this.toolManager.refresh();
|
|
643
865
|
this.agentEventBus.emit("dexto:mcpServerConnected", {
|
|
644
866
|
name,
|
|
645
867
|
success: true
|
|
@@ -675,6 +897,33 @@ class DextoAgent {
|
|
|
675
897
|
this.ensureStarted();
|
|
676
898
|
await this.mcpManager.removeClient(name);
|
|
677
899
|
this.stateManager.removeMcpServer(name);
|
|
900
|
+
await this.toolManager.refresh();
|
|
901
|
+
}
|
|
902
|
+
/**
|
|
903
|
+
* Restarts an MCP server by disconnecting and reconnecting with its original configuration.
|
|
904
|
+
* This is useful for recovering from server errors or applying configuration changes.
|
|
905
|
+
* @param name The name of the server to restart.
|
|
906
|
+
* @throws MCPError if server is not found or restart fails
|
|
907
|
+
*/
|
|
908
|
+
async restartMcpServer(name) {
|
|
909
|
+
this.ensureStarted();
|
|
910
|
+
try {
|
|
911
|
+
logger.info(`DextoAgent: Restarting MCP server '${name}'...`);
|
|
912
|
+
await this.mcpManager.restartServer(name);
|
|
913
|
+
await this.toolManager.refresh();
|
|
914
|
+
this.agentEventBus.emit("dexto:mcpServerRestarted", {
|
|
915
|
+
serverName: name
|
|
916
|
+
});
|
|
917
|
+
this.agentEventBus.emit("dexto:availableToolsUpdated", {
|
|
918
|
+
tools: Object.keys(await this.toolManager.getAllTools()),
|
|
919
|
+
source: "mcp"
|
|
920
|
+
});
|
|
921
|
+
logger.info(`DextoAgent: Successfully restarted MCP server '${name}'.`);
|
|
922
|
+
} catch (error) {
|
|
923
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
924
|
+
logger.error(`DextoAgent: Failed to restart MCP server '${name}': ${errorMessage}`);
|
|
925
|
+
throw error;
|
|
926
|
+
}
|
|
678
927
|
}
|
|
679
928
|
/**
|
|
680
929
|
* Executes a tool from any source (MCP servers, custom tools, or internal tools).
|
|
@@ -723,6 +972,43 @@ class DextoAgent {
|
|
|
723
972
|
this.ensureStarted();
|
|
724
973
|
return this.mcpManager.getFailedConnections();
|
|
725
974
|
}
|
|
975
|
+
// ============= RESOURCE MANAGEMENT =============
|
|
976
|
+
/**
|
|
977
|
+
* Lists all available resources with their info.
|
|
978
|
+
* This includes resources from MCP servers and any custom resource providers.
|
|
979
|
+
*/
|
|
980
|
+
async listResources() {
|
|
981
|
+
this.ensureStarted();
|
|
982
|
+
return await this.resourceManager.list();
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Checks if a resource exists by URI.
|
|
986
|
+
*/
|
|
987
|
+
async hasResource(uri) {
|
|
988
|
+
this.ensureStarted();
|
|
989
|
+
return await this.resourceManager.has(uri);
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Reads the content of a specific resource by URI.
|
|
993
|
+
*/
|
|
994
|
+
async readResource(uri) {
|
|
995
|
+
this.ensureStarted();
|
|
996
|
+
return await this.resourceManager.read(uri);
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* Lists resources for a specific MCP server.
|
|
1000
|
+
*/
|
|
1001
|
+
async listResourcesForServer(serverId) {
|
|
1002
|
+
this.ensureStarted();
|
|
1003
|
+
const allResources = await this.resourceManager.list();
|
|
1004
|
+
const serverResources = Object.values(allResources).filter((resource) => resource.serverName === serverId).map((resource) => {
|
|
1005
|
+
const original = resource.metadata?.originalUri ?? resource.uri;
|
|
1006
|
+
const name = resource.name ?? resource.uri.split("/").pop() ?? resource.uri;
|
|
1007
|
+
const serverName = resource.serverName ?? serverId;
|
|
1008
|
+
return { uri: original, name, originalUri: original, serverName };
|
|
1009
|
+
});
|
|
1010
|
+
return serverResources;
|
|
1011
|
+
}
|
|
726
1012
|
// ============= PROMPT MANAGEMENT =============
|
|
727
1013
|
/**
|
|
728
1014
|
* Gets the current system prompt with all dynamic content resolved.
|
|
@@ -753,7 +1039,75 @@ class DextoAgent {
|
|
|
753
1039
|
const context = {
|
|
754
1040
|
mcpManager: this.mcpManager
|
|
755
1041
|
};
|
|
756
|
-
return await this.
|
|
1042
|
+
return await this.systemPromptManager.build(context);
|
|
1043
|
+
}
|
|
1044
|
+
/**
|
|
1045
|
+
* Lists all available prompts from all providers (MCP, internal, starter, custom).
|
|
1046
|
+
* @returns Promise resolving to a PromptSet with all available prompts
|
|
1047
|
+
*/
|
|
1048
|
+
async listPrompts() {
|
|
1049
|
+
this.ensureStarted();
|
|
1050
|
+
return await this.promptManager.list();
|
|
1051
|
+
}
|
|
1052
|
+
/**
|
|
1053
|
+
* Gets the definition of a specific prompt by name.
|
|
1054
|
+
* @param name The name of the prompt
|
|
1055
|
+
* @returns Promise resolving to the prompt definition or null if not found
|
|
1056
|
+
*/
|
|
1057
|
+
async getPromptDefinition(name) {
|
|
1058
|
+
this.ensureStarted();
|
|
1059
|
+
return await this.promptManager.getPromptDefinition(name);
|
|
1060
|
+
}
|
|
1061
|
+
/**
|
|
1062
|
+
* Checks if a prompt exists.
|
|
1063
|
+
* @param name The name of the prompt to check
|
|
1064
|
+
* @returns Promise resolving to true if the prompt exists, false otherwise
|
|
1065
|
+
*/
|
|
1066
|
+
async hasPrompt(name) {
|
|
1067
|
+
this.ensureStarted();
|
|
1068
|
+
return await this.promptManager.has(name);
|
|
1069
|
+
}
|
|
1070
|
+
/**
|
|
1071
|
+
* Gets a prompt with its messages.
|
|
1072
|
+
* @param name The name of the prompt
|
|
1073
|
+
* @param args Optional arguments to pass to the prompt
|
|
1074
|
+
* @returns Promise resolving to the prompt result with messages
|
|
1075
|
+
*/
|
|
1076
|
+
async getPrompt(name, args) {
|
|
1077
|
+
this.ensureStarted();
|
|
1078
|
+
return await this.promptManager.getPrompt(name, args);
|
|
1079
|
+
}
|
|
1080
|
+
/**
|
|
1081
|
+
* Creates a new custom prompt.
|
|
1082
|
+
* @param input The prompt creation input
|
|
1083
|
+
* @returns Promise resolving to the created prompt info
|
|
1084
|
+
*/
|
|
1085
|
+
async createCustomPrompt(input) {
|
|
1086
|
+
this.ensureStarted();
|
|
1087
|
+
return await this.promptManager.createCustomPrompt(input);
|
|
1088
|
+
}
|
|
1089
|
+
/**
|
|
1090
|
+
* Deletes a custom prompt by name.
|
|
1091
|
+
* @param name The name of the custom prompt to delete
|
|
1092
|
+
*/
|
|
1093
|
+
async deleteCustomPrompt(name) {
|
|
1094
|
+
this.ensureStarted();
|
|
1095
|
+
return await this.promptManager.deleteCustomPrompt(name);
|
|
1096
|
+
}
|
|
1097
|
+
/**
|
|
1098
|
+
* Resolves a prompt to its text content with all arguments applied.
|
|
1099
|
+
* This is a high-level method that handles:
|
|
1100
|
+
* - Prompt key resolution (resolving aliases)
|
|
1101
|
+
* - Argument normalization (including special _context field)
|
|
1102
|
+
* - Prompt execution and flattening
|
|
1103
|
+
*
|
|
1104
|
+
* @param name The prompt name or alias
|
|
1105
|
+
* @param options Optional configuration for prompt resolution
|
|
1106
|
+
* @returns Promise resolving to the resolved text and resource URIs
|
|
1107
|
+
*/
|
|
1108
|
+
async resolvePrompt(name, options = {}) {
|
|
1109
|
+
this.ensureStarted();
|
|
1110
|
+
return await this.promptManager.resolvePrompt(name, options);
|
|
757
1111
|
}
|
|
758
1112
|
// ============= CONFIGURATION ACCESS =============
|
|
759
1113
|
/**
|
|
@@ -765,144 +1119,144 @@ class DextoAgent {
|
|
|
765
1119
|
this.ensureStarted();
|
|
766
1120
|
return sessionId ? this.stateManager.getRuntimeConfig(sessionId) : this.stateManager.getRuntimeConfig();
|
|
767
1121
|
}
|
|
768
|
-
// ============= AGENT MANAGEMENT =============
|
|
769
1122
|
/**
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
*
|
|
773
|
-
*
|
|
774
|
-
* @returns Promise resolving to object with installed and available agent lists
|
|
775
|
-
*
|
|
776
|
-
* @example
|
|
777
|
-
* ```typescript
|
|
778
|
-
* const agents = await agent.listAgents();
|
|
779
|
-
* console.log(agents.installed); // ['default', 'my-custom-agent']
|
|
780
|
-
* console.log(agents.available); // [{ name: 'productivity', description: '...', ... }]
|
|
781
|
-
* console.log(agents.current?.name); // 'default'
|
|
782
|
-
* ```
|
|
1123
|
+
* Gets the file path of the agent configuration currently in use.
|
|
1124
|
+
* This returns the source agent file path, not session-specific overrides.
|
|
1125
|
+
* @returns The path to the agent configuration file
|
|
1126
|
+
* @throws AgentError if no config path is available
|
|
783
1127
|
*/
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
installedNames.map(async (name) => {
|
|
790
|
-
const registryEntry = availableMap[name];
|
|
791
|
-
if (registryEntry) {
|
|
792
|
-
return {
|
|
793
|
-
name,
|
|
794
|
-
description: registryEntry.description,
|
|
795
|
-
author: registryEntry.author,
|
|
796
|
-
tags: registryEntry.tags
|
|
797
|
-
};
|
|
798
|
-
} else {
|
|
799
|
-
try {
|
|
800
|
-
const config = await loadAgentConfig(name);
|
|
801
|
-
const author = config.agentCard?.provider?.organization;
|
|
802
|
-
const result = {
|
|
803
|
-
name,
|
|
804
|
-
description: config.agentCard?.description || "Local agent",
|
|
805
|
-
tags: []
|
|
806
|
-
};
|
|
807
|
-
if (author) {
|
|
808
|
-
result.author = author;
|
|
809
|
-
}
|
|
810
|
-
return result;
|
|
811
|
-
} catch {
|
|
812
|
-
return {
|
|
813
|
-
name,
|
|
814
|
-
description: "Local agent (config unavailable)",
|
|
815
|
-
tags: []
|
|
816
|
-
};
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
})
|
|
820
|
-
);
|
|
821
|
-
const available = Object.entries(availableMap).filter(([name]) => !installedNames.includes(name)).map(([name, entry]) => ({
|
|
822
|
-
name,
|
|
823
|
-
description: entry.description,
|
|
824
|
-
author: entry.author,
|
|
825
|
-
tags: entry.tags
|
|
826
|
-
}));
|
|
827
|
-
return {
|
|
828
|
-
installed,
|
|
829
|
-
available,
|
|
830
|
-
current: { name: null }
|
|
831
|
-
// TODO: Track current agent name
|
|
832
|
-
};
|
|
1128
|
+
getAgentFilePath() {
|
|
1129
|
+
if (!this.configPath) {
|
|
1130
|
+
throw AgentError.noConfigPath();
|
|
1131
|
+
}
|
|
1132
|
+
return this.configPath;
|
|
833
1133
|
}
|
|
834
1134
|
/**
|
|
835
|
-
*
|
|
836
|
-
*
|
|
1135
|
+
* Reloads the agent configuration from disk.
|
|
1136
|
+
* This will re-read the config file, validate it, and detect what changed.
|
|
1137
|
+
* Most configuration changes require a full agent restart to take effect.
|
|
837
1138
|
*
|
|
838
|
-
*
|
|
839
|
-
* @returns Promise that resolves when installation is complete
|
|
1139
|
+
* To apply changes: stop the agent and start it again with the new config.
|
|
840
1140
|
*
|
|
841
|
-
* @
|
|
1141
|
+
* @returns Object containing list of changes that require restart
|
|
1142
|
+
* @throws Error if config file cannot be read or is invalid
|
|
842
1143
|
*
|
|
843
|
-
*
|
|
844
|
-
* ```typescript
|
|
845
|
-
* await agent.installAgent('productivity');
|
|
846
|
-
* console.log('Productivity agent installed successfully');
|
|
847
|
-
* ```
|
|
1144
|
+
* TODO: improve hot reload capabilites so that we don't always require a restart
|
|
848
1145
|
*/
|
|
849
|
-
async
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
throw AgentError.apiValidationError(`Agent '${agentName}' not found in registry`);
|
|
1146
|
+
async reloadConfig() {
|
|
1147
|
+
if (!this.configPath) {
|
|
1148
|
+
throw AgentError.noConfigPath();
|
|
853
1149
|
}
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
1150
|
+
logger.info(`Reloading agent configuration from: ${this.configPath}`);
|
|
1151
|
+
const oldConfig = this.config;
|
|
1152
|
+
const newConfig = await loadAgentConfig(this.configPath);
|
|
1153
|
+
const validated = AgentConfigSchema.parse(newConfig);
|
|
1154
|
+
const restartRequired = this.detectRestartRequiredChanges(oldConfig, validated);
|
|
1155
|
+
this.config = validated;
|
|
1156
|
+
if (restartRequired.length > 0) {
|
|
1157
|
+
logger.warn(
|
|
1158
|
+
`Configuration updated. Restart required to apply: ${restartRequired.join(", ")}`
|
|
862
1159
|
);
|
|
1160
|
+
} else {
|
|
1161
|
+
logger.info("Agent configuration reloaded successfully (no changes detected)");
|
|
863
1162
|
}
|
|
1163
|
+
return {
|
|
1164
|
+
restartRequired
|
|
1165
|
+
};
|
|
864
1166
|
}
|
|
865
1167
|
/**
|
|
866
|
-
*
|
|
867
|
-
* This
|
|
868
|
-
*
|
|
869
|
-
*
|
|
870
|
-
*
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
* @
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
1168
|
+
* Updates and saves the agent configuration to disk.
|
|
1169
|
+
* This merges the updates with the raw config from disk, validates, and writes to file.
|
|
1170
|
+
* IMPORTANT: This preserves environment variable placeholders (e.g., $OPENAI_API_KEY)
|
|
1171
|
+
* to avoid leaking secrets into the config file.
|
|
1172
|
+
* @param updates Partial configuration updates to apply
|
|
1173
|
+
* @param targetPath Optional path to save to (defaults to current config path)
|
|
1174
|
+
* @returns Object containing list of changes that require restart
|
|
1175
|
+
* @throws Error if validation fails or file cannot be written
|
|
1176
|
+
*/
|
|
1177
|
+
async updateAndSaveConfig(updates, targetPath) {
|
|
1178
|
+
const path = targetPath || this.configPath;
|
|
1179
|
+
if (!path) {
|
|
1180
|
+
throw AgentError.noConfigPath();
|
|
1181
|
+
}
|
|
1182
|
+
logger.info(`Updating and saving agent configuration to: ${path}`);
|
|
1183
|
+
const rawYaml = await fs.readFile(path, "utf-8");
|
|
1184
|
+
const doc = parseDocument(rawYaml);
|
|
1185
|
+
const rawConfig = doc.toJSON();
|
|
1186
|
+
const updatedRawConfig = { ...rawConfig, ...updates };
|
|
1187
|
+
const parsed = AgentConfigSchema.safeParse(updatedRawConfig);
|
|
1188
|
+
if (!parsed.success) {
|
|
1189
|
+
const result = fail(zodToIssues(parsed.error, "error"));
|
|
1190
|
+
throw new DextoValidationError(result.issues);
|
|
1191
|
+
}
|
|
1192
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
1193
|
+
doc.set(key, value);
|
|
1194
|
+
}
|
|
1195
|
+
const yamlContent = String(doc);
|
|
1196
|
+
const tmpPath = `${path}.tmp`;
|
|
1197
|
+
await fs.writeFile(tmpPath, yamlContent, "utf-8");
|
|
1198
|
+
await fs.rename(tmpPath, path);
|
|
1199
|
+
const reloadResult = await this.reloadConfig();
|
|
1200
|
+
logger.info(`Agent configuration saved to: ${path}`);
|
|
1201
|
+
return reloadResult;
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Detects configuration changes that require a full agent restart.
|
|
1205
|
+
* Returns an array of change descriptions.
|
|
877
1206
|
*
|
|
878
|
-
* @
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
*
|
|
882
|
-
* ```
|
|
1207
|
+
* @param oldConfig Previous validated configuration
|
|
1208
|
+
* @param newConfig New validated configuration
|
|
1209
|
+
* @returns Array of restart-required change descriptions
|
|
1210
|
+
* @private
|
|
883
1211
|
*/
|
|
884
|
-
|
|
885
|
-
const
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
logger.error(
|
|
895
|
-
`Failed to create agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`
|
|
896
|
-
);
|
|
897
|
-
throw AgentError.apiValidationError(`Failed to create agent '${agentName}'`, error);
|
|
1212
|
+
detectRestartRequiredChanges(oldConfig, newConfig) {
|
|
1213
|
+
const changes = [];
|
|
1214
|
+
if (JSON.stringify(oldConfig.storage) !== JSON.stringify(newConfig.storage)) {
|
|
1215
|
+
changes.push("Storage backend");
|
|
1216
|
+
}
|
|
1217
|
+
if (JSON.stringify(oldConfig.sessions) !== JSON.stringify(newConfig.sessions)) {
|
|
1218
|
+
changes.push("Session configuration");
|
|
1219
|
+
}
|
|
1220
|
+
if (JSON.stringify(oldConfig.systemPrompt) !== JSON.stringify(newConfig.systemPrompt)) {
|
|
1221
|
+
changes.push("System prompt");
|
|
898
1222
|
}
|
|
1223
|
+
if (JSON.stringify(oldConfig.toolConfirmation) !== JSON.stringify(newConfig.toolConfirmation)) {
|
|
1224
|
+
changes.push("Tool confirmation");
|
|
1225
|
+
}
|
|
1226
|
+
if (JSON.stringify(oldConfig.internalTools) !== JSON.stringify(newConfig.internalTools)) {
|
|
1227
|
+
changes.push("Internal tools");
|
|
1228
|
+
}
|
|
1229
|
+
if (JSON.stringify(oldConfig.mcpServers) !== JSON.stringify(newConfig.mcpServers)) {
|
|
1230
|
+
changes.push("MCP servers");
|
|
1231
|
+
}
|
|
1232
|
+
if (oldConfig.llm.provider !== newConfig.llm.provider || oldConfig.llm.model !== newConfig.llm.model || oldConfig.llm.apiKey !== newConfig.llm.apiKey) {
|
|
1233
|
+
changes.push("LLM configuration");
|
|
1234
|
+
}
|
|
1235
|
+
return changes;
|
|
899
1236
|
}
|
|
1237
|
+
// ============= AGENT MANAGEMENT =============
|
|
1238
|
+
// Note: Agent management methods have been moved to the Dexto orchestrator class.
|
|
1239
|
+
// See: /packages/core/src/Dexto.ts
|
|
1240
|
+
//
|
|
1241
|
+
// For agent lifecycle operations (list, install, uninstall, create), use:
|
|
1242
|
+
// ```typescript
|
|
1243
|
+
// await Dexto.listAgents(); // Static
|
|
1244
|
+
// await Dexto.installAgent(name); // Static
|
|
1245
|
+
// await Dexto.installCustomAgent(name, path, metadata); // Static
|
|
1246
|
+
// await Dexto.uninstallAgent(name); // Static
|
|
1247
|
+
//
|
|
1248
|
+
// const dexto = new Dexto();
|
|
1249
|
+
// await dexto.createAgent(name); // Instance method
|
|
1250
|
+
// ```
|
|
900
1251
|
// Future methods could encapsulate more complex agent behaviors:
|
|
901
1252
|
// - Multi-step task execution with progress tracking
|
|
902
1253
|
// - Memory and context management across sessions
|
|
903
1254
|
// - Tool chaining and workflow automation
|
|
904
1255
|
// - Agent collaboration and delegation
|
|
905
1256
|
}
|
|
1257
|
+
_init = __decoratorStart(null);
|
|
1258
|
+
DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, DextoAgent);
|
|
1259
|
+
__runInitializers(_init, 1, DextoAgent);
|
|
906
1260
|
export {
|
|
907
1261
|
DextoAgent
|
|
908
1262
|
};
|