@dexto/core 1.2.4 → 1.2.5
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 +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +164 -64
- package/dist/agent/schemas.d.ts +2605 -517
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +167 -64
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.d.ts +6 -6
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/prompt-manager.cjs +25 -18
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -18
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/file-prompt-provider.cjs +14 -12
- package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/file-prompt-provider.js +14 -12
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/providers/starter-prompt-provider.cjs +7 -5
- package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/starter-prompt-provider.js +7 -5
- package/dist/prompts/schemas.d.ts +3 -3
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/manager.cjs +11 -8
- package/dist/systemPrompt/manager.d.ts +4 -2
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +11 -8
- package/dist/systemPrompt/schemas.cjs +21 -1
- package/dist/systemPrompt/schemas.d.ts +53 -53
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +11 -1
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +87 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +69 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/agent/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/agent/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM/B,CAAC;AAkEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsJf,CAAC;AAGd,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmFM,CAAC;AAGrC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/agent/schemas.js
CHANGED
|
@@ -1,57 +1,109 @@
|
|
|
1
1
|
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { LLMConfigSchema } from "../llm/schemas.js";
|
|
3
|
+
import { LoggerConfigSchema } from "../logger/index.js";
|
|
3
4
|
import { ServerConfigsSchema as McpServersConfigSchema } from "../mcp/schemas.js";
|
|
4
5
|
import { SessionConfigSchema } from "../session/schemas.js";
|
|
5
6
|
import { StorageSchema } from "../storage/schemas.js";
|
|
6
7
|
import { SystemPromptConfigSchema } from "../systemPrompt/schemas.js";
|
|
7
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
InternalToolsSchema,
|
|
10
|
+
ToolConfirmationConfigSchema,
|
|
11
|
+
ElicitationConfigSchema
|
|
12
|
+
} from "../tools/schemas.js";
|
|
8
13
|
import { z } from "zod";
|
|
9
14
|
import { InternalResourcesSchema } from "../resources/schemas.js";
|
|
10
15
|
import { StarterPromptsSchema } from "../prompts/schemas.js";
|
|
11
16
|
import { PluginsConfigSchema } from "../plugins/schemas.js";
|
|
12
17
|
import { OtelConfigurationSchema } from "../telemetry/schemas.js";
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
const ApiKeySecurityScheme = z.object({
|
|
19
|
+
type: z.literal("apiKey").describe("Security scheme type"),
|
|
20
|
+
name: z.string().describe("Name of the header/query/cookie parameter"),
|
|
21
|
+
in: z.enum(["query", "header", "cookie"]).describe("Location of API key"),
|
|
22
|
+
description: z.string().optional().describe("Description of the security scheme")
|
|
23
|
+
}).strict();
|
|
24
|
+
const HttpSecurityScheme = z.object({
|
|
25
|
+
type: z.literal("http").describe("Security scheme type"),
|
|
26
|
+
scheme: z.string().describe("HTTP authorization scheme (e.g., basic, bearer)"),
|
|
27
|
+
bearerFormat: z.string().optional().describe("Hint for bearer token format"),
|
|
28
|
+
description: z.string().optional().describe("Description of the security scheme")
|
|
29
|
+
}).strict();
|
|
30
|
+
const OAuth2FlowSchema = z.object({
|
|
31
|
+
authorizationUrl: z.string().url().optional().describe("Authorization URL for the flow"),
|
|
32
|
+
tokenUrl: z.string().url().optional().describe("Token URL for the flow"),
|
|
33
|
+
refreshUrl: z.string().url().optional().describe("Refresh URL for the flow"),
|
|
34
|
+
scopes: z.record(z.string()).describe("Available scopes for the OAuth2 flow")
|
|
35
|
+
}).strict();
|
|
36
|
+
const OAuth2SecurityScheme = z.object({
|
|
37
|
+
type: z.literal("oauth2").describe("Security scheme type"),
|
|
38
|
+
flows: z.object({
|
|
39
|
+
implicit: OAuth2FlowSchema.optional(),
|
|
40
|
+
password: OAuth2FlowSchema.optional(),
|
|
41
|
+
clientCredentials: OAuth2FlowSchema.optional(),
|
|
42
|
+
authorizationCode: OAuth2FlowSchema.optional()
|
|
43
|
+
}).strict().describe("OAuth2 flow configurations"),
|
|
44
|
+
description: z.string().optional().describe("Description of the security scheme")
|
|
45
|
+
}).strict();
|
|
46
|
+
const OpenIdConnectSecurityScheme = z.object({
|
|
47
|
+
type: z.literal("openIdConnect").describe("Security scheme type"),
|
|
48
|
+
openIdConnectUrl: z.string().url().describe("OpenID Connect discovery URL"),
|
|
49
|
+
description: z.string().optional().describe("Description of the security scheme")
|
|
50
|
+
}).strict();
|
|
51
|
+
const MutualTLSSecurityScheme = z.object({
|
|
52
|
+
type: z.literal("mutualTLS").describe("Security scheme type"),
|
|
53
|
+
description: z.string().optional().describe("Description of the security scheme")
|
|
54
|
+
}).strict();
|
|
55
|
+
const SecuritySchemeSchema = z.discriminatedUnion("type", [
|
|
56
|
+
ApiKeySecurityScheme,
|
|
57
|
+
HttpSecurityScheme,
|
|
58
|
+
OAuth2SecurityScheme,
|
|
59
|
+
OpenIdConnectSecurityScheme,
|
|
60
|
+
MutualTLSSecurityScheme
|
|
61
|
+
]);
|
|
62
|
+
const AgentCardSignatureSchema = z.object({
|
|
63
|
+
protected: z.string().describe("Base64url-encoded JWS Protected Header"),
|
|
64
|
+
signature: z.string().describe("Base64url-encoded JWS Signature")
|
|
65
|
+
}).strict();
|
|
66
|
+
const DextoMetadataSchema = z.object({
|
|
37
67
|
authentication: z.object({
|
|
38
|
-
schemes: z.array(z.string()).default([]),
|
|
39
|
-
credentials: z.string().optional()
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
68
|
+
schemes: z.array(z.string()).default([]).describe("Legacy authentication schemes (deprecated: use securitySchemes)"),
|
|
69
|
+
credentials: z.string().optional().describe("Credentials information")
|
|
70
|
+
}).strict().optional().describe("Legacy authentication configuration"),
|
|
71
|
+
delegation: z.object({
|
|
72
|
+
protocol: z.enum(["dexto-v1", "http-simple", "a2a-jsonrpc", "mcp-http"]).describe("Delegation protocol version"),
|
|
73
|
+
endpoint: z.string().describe("Delegation endpoint (relative path or full URL)"),
|
|
74
|
+
supportsSession: z.boolean().describe("Whether agent supports stateful sessions"),
|
|
75
|
+
supportsStreaming: z.boolean().optional().describe("Whether agent supports streaming responses")
|
|
76
|
+
}).strict().optional().describe("Delegation protocol information for agent-to-agent communication"),
|
|
77
|
+
owner: z.object({
|
|
78
|
+
userId: z.string().describe("Unique user identifier from auth system"),
|
|
79
|
+
username: z.string().describe("Display name"),
|
|
80
|
+
email: z.string().email().max(254).optional().describe(
|
|
81
|
+
"Optional user email (WARNING: publicly readable via .well-known/agent.json if provided)"
|
|
82
|
+
)
|
|
83
|
+
}).strict().optional().describe("Agent owner information (for multi-tenant deployments)")
|
|
84
|
+
}).strict();
|
|
85
|
+
const AgentCardSchema = z.object({
|
|
86
|
+
// ────────────────────────────────────────────────────────
|
|
87
|
+
// A2A Protocol Required Fields
|
|
88
|
+
// ────────────────────────────────────────────────────────
|
|
89
|
+
protocolVersion: z.string().default("0.3.0").describe('A2A protocol version (e.g., "0.3.0")'),
|
|
90
|
+
name: z.string().describe("Human-readable agent name"),
|
|
91
|
+
description: z.string().describe("Detailed description of agent purpose and capabilities"),
|
|
92
|
+
url: z.string().url().describe("Primary endpoint URL for the agent"),
|
|
93
|
+
version: z.string().describe("Agent version (semantic versioning recommended)"),
|
|
94
|
+
preferredTransport: z.enum(["JSONRPC", "GRPC", "HTTP+JSON"]).default("JSONRPC").describe("Primary transport protocol for communication"),
|
|
95
|
+
defaultInputModes: z.array(z.string()).default(["application/json", "text/plain"]).describe("Supported input MIME types"),
|
|
96
|
+
defaultOutputModes: z.array(z.string()).default(["application/json", "text/event-stream", "text/plain"]).describe("Supported output MIME types"),
|
|
45
97
|
skills: z.array(
|
|
46
98
|
z.object({
|
|
47
|
-
id: z.string(),
|
|
48
|
-
name: z.string(),
|
|
49
|
-
description: z.string(),
|
|
50
|
-
tags: z.array(z.string()),
|
|
51
|
-
examples: z.array(z.string()).optional(),
|
|
52
|
-
inputModes: z.array(z.string()).optional().default(["text/plain"]),
|
|
53
|
-
outputModes: z.array(z.string()).optional().default(["text/plain"])
|
|
54
|
-
})
|
|
99
|
+
id: z.string().describe("Unique skill identifier"),
|
|
100
|
+
name: z.string().describe("Human-readable skill name"),
|
|
101
|
+
description: z.string().describe("Detailed skill description"),
|
|
102
|
+
tags: z.array(z.string()).describe("Searchable tags for discovery"),
|
|
103
|
+
examples: z.array(z.string()).optional().describe("Example use cases or queries"),
|
|
104
|
+
inputModes: z.array(z.string()).optional().default(["text/plain"]).describe("Skill-specific input MIME types"),
|
|
105
|
+
outputModes: z.array(z.string()).optional().default(["text/plain"]).describe("Skill-specific output MIME types")
|
|
106
|
+
}).strict()
|
|
55
107
|
).default([
|
|
56
108
|
{
|
|
57
109
|
id: "chat_with_agent",
|
|
@@ -62,47 +114,98 @@ const AgentCardSchema = z.object({
|
|
|
62
114
|
`Send a JSON-RPC request to /mcp with method: "chat_with_agent" and params: {"message":"Your query..."}`,
|
|
63
115
|
"Alternatively, use a compatible MCP client library."
|
|
64
116
|
]
|
|
65
|
-
// inputModes and outputModes will use their own defaults if not specified here
|
|
66
117
|
}
|
|
67
|
-
])
|
|
118
|
+
]).describe("Agent capabilities/skills"),
|
|
119
|
+
// ────────────────────────────────────────────────────────
|
|
120
|
+
// A2A Protocol Optional Fields
|
|
121
|
+
// ────────────────────────────────────────────────────────
|
|
122
|
+
provider: z.object({
|
|
123
|
+
organization: z.string().describe("Provider organization name"),
|
|
124
|
+
url: z.string().url().describe("Provider organization URL")
|
|
125
|
+
}).strict().optional().describe("Agent provider information"),
|
|
126
|
+
iconUrl: z.string().url().optional().describe("URL to agent icon/logo (for UI display)"),
|
|
127
|
+
documentationUrl: z.string().url().optional().describe("URL to agent documentation"),
|
|
128
|
+
additionalInterfaces: z.array(
|
|
129
|
+
z.object({
|
|
130
|
+
url: z.string().url().describe("Endpoint URL"),
|
|
131
|
+
transport: z.enum(["JSONRPC", "GRPC", "HTTP+JSON"]).describe("Transport protocol")
|
|
132
|
+
}).strict()
|
|
133
|
+
).optional().describe("Additional interfaces/transports supported by the agent"),
|
|
134
|
+
capabilities: z.object({
|
|
135
|
+
streaming: z.boolean().optional().default(true).describe("Supports streaming responses"),
|
|
136
|
+
pushNotifications: z.boolean().optional().describe("Supports push notifications"),
|
|
137
|
+
stateTransitionHistory: z.boolean().optional().default(false).describe("Provides state transition history")
|
|
138
|
+
}).strict().default({}).describe("Agent capabilities and features"),
|
|
139
|
+
securitySchemes: z.record(SecuritySchemeSchema).optional().describe("Map of security scheme definitions (A2A format)"),
|
|
140
|
+
security: z.array(z.record(z.array(z.string()))).optional().describe(
|
|
141
|
+
"Security requirements (array of security scheme references with required scopes)"
|
|
142
|
+
),
|
|
143
|
+
supportsAuthenticatedExtendedCard: z.boolean().optional().describe("Whether extended card is available with authentication"),
|
|
144
|
+
signatures: z.array(AgentCardSignatureSchema).optional().describe("JSON Web Signatures for verifying AgentCard integrity"),
|
|
145
|
+
metadata: z.object({
|
|
146
|
+
dexto: DextoMetadataSchema.optional().describe("Dexto-specific extension metadata")
|
|
147
|
+
}).passthrough().optional().describe("Extension-specific metadata (namespaced by extension name)")
|
|
68
148
|
}).strict();
|
|
69
149
|
const AgentConfigSchema = z.object({
|
|
70
|
-
|
|
71
|
-
|
|
150
|
+
// ========================================
|
|
151
|
+
// REQUIRED FIELDS (user must provide or schema validation fails)
|
|
152
|
+
// ========================================
|
|
72
153
|
systemPrompt: SystemPromptConfigSchema.describe(
|
|
73
154
|
"System prompt: string shorthand or structured config"
|
|
74
155
|
),
|
|
75
|
-
mcpServers: McpServersConfigSchema.default({}).describe(
|
|
76
|
-
"Configurations for MCP (Model Context Protocol) servers used by the agent"
|
|
77
|
-
),
|
|
78
|
-
internalTools: InternalToolsSchema,
|
|
79
156
|
llm: LLMConfigSchema.describe("Core LLM configuration for the agent"),
|
|
80
|
-
//
|
|
81
|
-
|
|
157
|
+
// ========================================
|
|
158
|
+
// OPTIONAL FEATURES (undefined if not provided)
|
|
159
|
+
// ========================================
|
|
160
|
+
agentCard: AgentCardSchema.describe("Configuration for the agent card").optional(),
|
|
161
|
+
greeting: z.string().max(500).describe("Default greeting text to show when a chat starts (for UI consumption)").optional(),
|
|
162
|
+
telemetry: OtelConfigurationSchema.describe(
|
|
163
|
+
"OpenTelemetry configuration for distributed tracing and observability"
|
|
164
|
+
).optional(),
|
|
165
|
+
// ========================================
|
|
166
|
+
// FIELDS WITH DEFAULTS (always present after parsing)
|
|
167
|
+
// ========================================
|
|
168
|
+
agentId: z.string().describe(
|
|
169
|
+
"Unique identifier for this agent instance - CLI enrichment derives from agentCard.name or filename"
|
|
170
|
+
).default("default-agent"),
|
|
171
|
+
mcpServers: McpServersConfigSchema.describe(
|
|
172
|
+
"Configurations for MCP (Model Context Protocol) servers used by the agent"
|
|
173
|
+
).default({}),
|
|
174
|
+
internalTools: InternalToolsSchema.describe(
|
|
175
|
+
"Internal tools configuration (read-file, write-file, bash-exec, etc.)"
|
|
176
|
+
).default([]),
|
|
177
|
+
logger: LoggerConfigSchema.describe(
|
|
178
|
+
"Logger configuration with multi-transport support (file, console, remote) - CLI enrichment adds per-agent file transport"
|
|
179
|
+
).default({
|
|
180
|
+
level: "info",
|
|
181
|
+
transports: [{ type: "console", colorize: true }]
|
|
182
|
+
}),
|
|
183
|
+
storage: StorageSchema.describe(
|
|
184
|
+
"Storage configuration for cache, database, and blob storage - defaults to in-memory, CLI enrichment provides filesystem paths"
|
|
185
|
+
).default({
|
|
82
186
|
cache: { type: "in-memory" },
|
|
83
187
|
database: { type: "in-memory" },
|
|
84
|
-
blob: { type: "
|
|
85
|
-
})
|
|
86
|
-
sessions: SessionConfigSchema.
|
|
87
|
-
toolConfirmation: ToolConfirmationConfigSchema.
|
|
188
|
+
blob: { type: "in-memory" }
|
|
189
|
+
}),
|
|
190
|
+
sessions: SessionConfigSchema.describe("Session management configuration").default({}),
|
|
191
|
+
toolConfirmation: ToolConfirmationConfigSchema.describe(
|
|
88
192
|
"Tool confirmation and approval configuration"
|
|
193
|
+
).default({}),
|
|
194
|
+
elicitation: ElicitationConfigSchema.default({}).describe(
|
|
195
|
+
"Elicitation configuration for user input requests (ask_user tool and MCP server elicitations). Independent from toolConfirmation mode."
|
|
89
196
|
),
|
|
90
|
-
// Internal resources configuration (filesystem, etc.)
|
|
91
197
|
internalResources: InternalResourcesSchema.describe(
|
|
92
198
|
"Configuration for internal resources (filesystem, etc.)"
|
|
93
199
|
).default([]),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
200
|
+
starterPrompts: StarterPromptsSchema.describe(
|
|
201
|
+
"Agent-specific starter prompts configuration (used by WebUI and PromptManager)"
|
|
202
|
+
).default([]),
|
|
97
203
|
plugins: PluginsConfigSchema.describe(
|
|
98
204
|
"Plugin system configuration for built-in and custom plugins"
|
|
99
|
-
).default({})
|
|
100
|
-
// Telemetry configuration
|
|
101
|
-
telemetry: OtelConfigurationSchema.describe(
|
|
102
|
-
"OpenTelemetry configuration for distributed tracing and observability"
|
|
103
|
-
).optional()
|
|
205
|
+
).default({})
|
|
104
206
|
}).strict().describe("Main configuration for an agent, including its LLM and server connections").brand();
|
|
105
207
|
export {
|
|
106
208
|
AgentCardSchema,
|
|
107
|
-
AgentConfigSchema
|
|
209
|
+
AgentConfigSchema,
|
|
210
|
+
SecuritySchemeSchema
|
|
108
211
|
};
|
|
@@ -21,19 +21,21 @@ __export(state_manager_exports, {
|
|
|
21
21
|
AgentStateManager: () => AgentStateManager
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(state_manager_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_types = require("../logger/v2/types.js");
|
|
25
25
|
class AgentStateManager {
|
|
26
26
|
/**
|
|
27
27
|
* Initialize AgentStateManager from a validated static configuration.
|
|
28
28
|
*
|
|
29
29
|
* @param staticConfig The validated configuration from DextoAgent
|
|
30
30
|
* @param agentEventBus The agent event bus for emitting state change events
|
|
31
|
+
* @param logger Logger instance for this agent
|
|
31
32
|
*/
|
|
32
|
-
constructor(staticConfig, agentEventBus) {
|
|
33
|
+
constructor(staticConfig, agentEventBus, logger) {
|
|
33
34
|
this.agentEventBus = agentEventBus;
|
|
34
35
|
this.baselineConfig = structuredClone(staticConfig);
|
|
35
36
|
this.runtimeConfig = structuredClone(staticConfig);
|
|
36
|
-
|
|
37
|
+
this.logger = logger.createChild(import_types.DextoLogComponent.AGENT);
|
|
38
|
+
this.logger.debug("AgentStateManager initialized", {
|
|
37
39
|
staticConfigKeys: Object.keys(this.baselineConfig),
|
|
38
40
|
mcpServerCount: Object.keys(this.runtimeConfig.mcpServers).length
|
|
39
41
|
});
|
|
@@ -41,6 +43,7 @@ class AgentStateManager {
|
|
|
41
43
|
runtimeConfig;
|
|
42
44
|
baselineConfig;
|
|
43
45
|
sessionOverrides = /* @__PURE__ */ new Map();
|
|
46
|
+
logger;
|
|
44
47
|
// ============= GETTERS =============
|
|
45
48
|
/**
|
|
46
49
|
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
@@ -75,13 +78,13 @@ class AgentStateManager {
|
|
|
75
78
|
} else {
|
|
76
79
|
this.runtimeConfig.llm = validatedConfig;
|
|
77
80
|
}
|
|
78
|
-
this.agentEventBus.emit("
|
|
81
|
+
this.agentEventBus.emit("state:changed", {
|
|
79
82
|
field: "llm",
|
|
80
83
|
oldValue,
|
|
81
84
|
newValue: validatedConfig,
|
|
82
85
|
...sessionId && { sessionId }
|
|
83
86
|
});
|
|
84
|
-
|
|
87
|
+
this.logger.info("LLM config updated", {
|
|
85
88
|
sessionId,
|
|
86
89
|
provider: validatedConfig.provider,
|
|
87
90
|
model: validatedConfig.model,
|
|
@@ -97,36 +100,38 @@ class AgentStateManager {
|
|
|
97
100
|
* branded type ensures validation has occurred.
|
|
98
101
|
*/
|
|
99
102
|
addMcpServer(serverName, validatedConfig) {
|
|
100
|
-
|
|
103
|
+
this.logger.debug(`Adding/updating MCP server: ${serverName}`);
|
|
101
104
|
const isUpdate = serverName in this.runtimeConfig.mcpServers;
|
|
102
105
|
this.runtimeConfig.mcpServers[serverName] = validatedConfig;
|
|
103
|
-
const eventName = isUpdate ? "
|
|
106
|
+
const eventName = isUpdate ? "mcp:server-updated" : "mcp:server-added";
|
|
104
107
|
this.agentEventBus.emit(eventName, { serverName, config: validatedConfig });
|
|
105
|
-
this.agentEventBus.emit("
|
|
108
|
+
this.agentEventBus.emit("state:changed", {
|
|
106
109
|
field: "mcpServers",
|
|
107
110
|
oldValue: isUpdate ? "updated" : "added",
|
|
108
111
|
newValue: validatedConfig
|
|
109
112
|
// sessionId omitted - MCP servers are global
|
|
110
113
|
});
|
|
111
|
-
|
|
114
|
+
this.logger.info(
|
|
115
|
+
`MCP server '${serverName}' ${isUpdate ? "updated" : "added"} successfully`
|
|
116
|
+
);
|
|
112
117
|
}
|
|
113
118
|
/**
|
|
114
119
|
* Remove an MCP server configuration at runtime.
|
|
115
120
|
*/
|
|
116
121
|
removeMcpServer(serverName) {
|
|
117
|
-
|
|
122
|
+
this.logger.debug(`Removing MCP server: ${serverName}`);
|
|
118
123
|
if (serverName in this.runtimeConfig.mcpServers) {
|
|
119
124
|
delete this.runtimeConfig.mcpServers[serverName];
|
|
120
|
-
this.agentEventBus.emit("
|
|
121
|
-
this.agentEventBus.emit("
|
|
125
|
+
this.agentEventBus.emit("mcp:server-removed", { serverName });
|
|
126
|
+
this.agentEventBus.emit("state:changed", {
|
|
122
127
|
field: "mcpServers",
|
|
123
128
|
oldValue: "removed",
|
|
124
129
|
newValue: void 0
|
|
125
130
|
// sessionId omitted - MCP servers are global
|
|
126
131
|
});
|
|
127
|
-
|
|
132
|
+
this.logger.info(`MCP server '${serverName}' removed successfully`);
|
|
128
133
|
} else {
|
|
129
|
-
|
|
134
|
+
this.logger.warn(`MCP server '${serverName}' not found for removal`);
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
// ============= SESSION MANAGEMENT =============
|
|
@@ -135,7 +140,7 @@ class AgentStateManager {
|
|
|
135
140
|
*/
|
|
136
141
|
setSessionOverride(sessionId, override) {
|
|
137
142
|
this.sessionOverrides.set(sessionId, override);
|
|
138
|
-
this.agentEventBus.emit("
|
|
143
|
+
this.agentEventBus.emit("session:override-set", {
|
|
139
144
|
sessionId,
|
|
140
145
|
override: structuredClone(override)
|
|
141
146
|
});
|
|
@@ -153,8 +158,8 @@ class AgentStateManager {
|
|
|
153
158
|
const hadOverride = this.sessionOverrides.has(sessionId);
|
|
154
159
|
this.sessionOverrides.delete(sessionId);
|
|
155
160
|
if (hadOverride) {
|
|
156
|
-
this.agentEventBus.emit("
|
|
157
|
-
|
|
161
|
+
this.agentEventBus.emit("session:override-cleared", { sessionId });
|
|
162
|
+
this.logger.info("Session override cleared", { sessionId });
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
165
|
/**
|
|
@@ -164,10 +169,10 @@ class AgentStateManager {
|
|
|
164
169
|
const sessionIds = Array.from(this.sessionOverrides.keys());
|
|
165
170
|
this.sessionOverrides.clear();
|
|
166
171
|
sessionIds.forEach((sessionId) => {
|
|
167
|
-
this.agentEventBus.emit("
|
|
172
|
+
this.agentEventBus.emit("session:override-cleared", { sessionId });
|
|
168
173
|
});
|
|
169
174
|
if (sessionIds.length > 0) {
|
|
170
|
-
|
|
175
|
+
this.logger.info("All session overrides cleared", { clearedSessions: sessionIds });
|
|
171
176
|
}
|
|
172
177
|
}
|
|
173
178
|
// ============= CONFIG EXPORT =============
|
|
@@ -182,10 +187,10 @@ class AgentStateManager {
|
|
|
182
187
|
systemPrompt: this.runtimeConfig.systemPrompt,
|
|
183
188
|
mcpServers: structuredClone(this.runtimeConfig.mcpServers)
|
|
184
189
|
};
|
|
185
|
-
this.agentEventBus.emit("
|
|
190
|
+
this.agentEventBus.emit("state:exported", {
|
|
186
191
|
config: exportedConfig
|
|
187
192
|
});
|
|
188
|
-
|
|
193
|
+
this.logger.info("Runtime state exported as config", {
|
|
189
194
|
exportedConfig
|
|
190
195
|
});
|
|
191
196
|
return exportedConfig;
|
|
@@ -196,8 +201,8 @@ class AgentStateManager {
|
|
|
196
201
|
resetToBaseline() {
|
|
197
202
|
this.runtimeConfig = structuredClone(this.baselineConfig);
|
|
198
203
|
this.clearAllSessionOverrides();
|
|
199
|
-
this.agentEventBus.emit("
|
|
200
|
-
|
|
204
|
+
this.agentEventBus.emit("state:reset", { toConfig: this.baselineConfig });
|
|
205
|
+
this.logger.info("Runtime state reset to baseline config");
|
|
201
206
|
}
|
|
202
207
|
// ============= CONVENIENCE GETTERS FOR USED FUNCTIONALITY =============
|
|
203
208
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
1
2
|
import type { ValidatedAgentConfig } from './schemas.js';
|
|
2
3
|
import type { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
3
4
|
import type { ValidatedMcpServerConfig } from '../mcp/schemas.js';
|
|
@@ -27,13 +28,15 @@ export declare class AgentStateManager {
|
|
|
27
28
|
private runtimeConfig;
|
|
28
29
|
private readonly baselineConfig;
|
|
29
30
|
private sessionOverrides;
|
|
31
|
+
private logger;
|
|
30
32
|
/**
|
|
31
33
|
* Initialize AgentStateManager from a validated static configuration.
|
|
32
34
|
*
|
|
33
35
|
* @param staticConfig The validated configuration from DextoAgent
|
|
34
36
|
* @param agentEventBus The agent event bus for emitting state change events
|
|
37
|
+
* @param logger Logger instance for this agent
|
|
35
38
|
*/
|
|
36
|
-
constructor(staticConfig: ValidatedAgentConfig, agentEventBus: AgentEventBus);
|
|
39
|
+
constructor(staticConfig: ValidatedAgentConfig, agentEventBus: AgentEventBus, logger: IDextoLogger);
|
|
37
40
|
/**
|
|
38
41
|
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
39
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/agent/state-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/agent/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,iFAAiF;IACjF,GAAG,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAetB,OAAO,CAAC,aAAa;IAdzB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;;;OAMG;gBAEC,YAAY,EAAE,oBAAoB,EAC1B,aAAa,EAAE,aAAa,EACpC,MAAM,EAAE,YAAY;IAcxB;;OAEG;IACI,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAkB3E;;;;;;OAMG;IACI,SAAS,CAAC,eAAe,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA4B/E;;;;;;OAMG;IACI,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,wBAAwB,GAAG,IAAI;IAuBxF;;OAEG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAsBhD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACI,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUpD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;OAGG;IACI,cAAc,IAAI,oBAAoB;IAmB7C;;OAEG;IACI,eAAe,IAAI,IAAI;IAW9B;;;OAGG;IACI,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC;CAGxE"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import "../chunk-C6A6W6XS.js";
|
|
2
|
-
import {
|
|
2
|
+
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
3
3
|
class AgentStateManager {
|
|
4
4
|
/**
|
|
5
5
|
* Initialize AgentStateManager from a validated static configuration.
|
|
6
6
|
*
|
|
7
7
|
* @param staticConfig The validated configuration from DextoAgent
|
|
8
8
|
* @param agentEventBus The agent event bus for emitting state change events
|
|
9
|
+
* @param logger Logger instance for this agent
|
|
9
10
|
*/
|
|
10
|
-
constructor(staticConfig, agentEventBus) {
|
|
11
|
+
constructor(staticConfig, agentEventBus, logger) {
|
|
11
12
|
this.agentEventBus = agentEventBus;
|
|
12
13
|
this.baselineConfig = structuredClone(staticConfig);
|
|
13
14
|
this.runtimeConfig = structuredClone(staticConfig);
|
|
14
|
-
logger.
|
|
15
|
+
this.logger = logger.createChild(DextoLogComponent.AGENT);
|
|
16
|
+
this.logger.debug("AgentStateManager initialized", {
|
|
15
17
|
staticConfigKeys: Object.keys(this.baselineConfig),
|
|
16
18
|
mcpServerCount: Object.keys(this.runtimeConfig.mcpServers).length
|
|
17
19
|
});
|
|
@@ -19,6 +21,7 @@ class AgentStateManager {
|
|
|
19
21
|
runtimeConfig;
|
|
20
22
|
baselineConfig;
|
|
21
23
|
sessionOverrides = /* @__PURE__ */ new Map();
|
|
24
|
+
logger;
|
|
22
25
|
// ============= GETTERS =============
|
|
23
26
|
/**
|
|
24
27
|
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
@@ -53,13 +56,13 @@ class AgentStateManager {
|
|
|
53
56
|
} else {
|
|
54
57
|
this.runtimeConfig.llm = validatedConfig;
|
|
55
58
|
}
|
|
56
|
-
this.agentEventBus.emit("
|
|
59
|
+
this.agentEventBus.emit("state:changed", {
|
|
57
60
|
field: "llm",
|
|
58
61
|
oldValue,
|
|
59
62
|
newValue: validatedConfig,
|
|
60
63
|
...sessionId && { sessionId }
|
|
61
64
|
});
|
|
62
|
-
logger.info("LLM config updated", {
|
|
65
|
+
this.logger.info("LLM config updated", {
|
|
63
66
|
sessionId,
|
|
64
67
|
provider: validatedConfig.provider,
|
|
65
68
|
model: validatedConfig.model,
|
|
@@ -75,36 +78,38 @@ class AgentStateManager {
|
|
|
75
78
|
* branded type ensures validation has occurred.
|
|
76
79
|
*/
|
|
77
80
|
addMcpServer(serverName, validatedConfig) {
|
|
78
|
-
logger.debug(`Adding/updating MCP server: ${serverName}`);
|
|
81
|
+
this.logger.debug(`Adding/updating MCP server: ${serverName}`);
|
|
79
82
|
const isUpdate = serverName in this.runtimeConfig.mcpServers;
|
|
80
83
|
this.runtimeConfig.mcpServers[serverName] = validatedConfig;
|
|
81
|
-
const eventName = isUpdate ? "
|
|
84
|
+
const eventName = isUpdate ? "mcp:server-updated" : "mcp:server-added";
|
|
82
85
|
this.agentEventBus.emit(eventName, { serverName, config: validatedConfig });
|
|
83
|
-
this.agentEventBus.emit("
|
|
86
|
+
this.agentEventBus.emit("state:changed", {
|
|
84
87
|
field: "mcpServers",
|
|
85
88
|
oldValue: isUpdate ? "updated" : "added",
|
|
86
89
|
newValue: validatedConfig
|
|
87
90
|
// sessionId omitted - MCP servers are global
|
|
88
91
|
});
|
|
89
|
-
logger.info(
|
|
92
|
+
this.logger.info(
|
|
93
|
+
`MCP server '${serverName}' ${isUpdate ? "updated" : "added"} successfully`
|
|
94
|
+
);
|
|
90
95
|
}
|
|
91
96
|
/**
|
|
92
97
|
* Remove an MCP server configuration at runtime.
|
|
93
98
|
*/
|
|
94
99
|
removeMcpServer(serverName) {
|
|
95
|
-
logger.debug(`Removing MCP server: ${serverName}`);
|
|
100
|
+
this.logger.debug(`Removing MCP server: ${serverName}`);
|
|
96
101
|
if (serverName in this.runtimeConfig.mcpServers) {
|
|
97
102
|
delete this.runtimeConfig.mcpServers[serverName];
|
|
98
|
-
this.agentEventBus.emit("
|
|
99
|
-
this.agentEventBus.emit("
|
|
103
|
+
this.agentEventBus.emit("mcp:server-removed", { serverName });
|
|
104
|
+
this.agentEventBus.emit("state:changed", {
|
|
100
105
|
field: "mcpServers",
|
|
101
106
|
oldValue: "removed",
|
|
102
107
|
newValue: void 0
|
|
103
108
|
// sessionId omitted - MCP servers are global
|
|
104
109
|
});
|
|
105
|
-
logger.info(`MCP server '${serverName}' removed successfully`);
|
|
110
|
+
this.logger.info(`MCP server '${serverName}' removed successfully`);
|
|
106
111
|
} else {
|
|
107
|
-
logger.warn(`MCP server '${serverName}' not found for removal`);
|
|
112
|
+
this.logger.warn(`MCP server '${serverName}' not found for removal`);
|
|
108
113
|
}
|
|
109
114
|
}
|
|
110
115
|
// ============= SESSION MANAGEMENT =============
|
|
@@ -113,7 +118,7 @@ class AgentStateManager {
|
|
|
113
118
|
*/
|
|
114
119
|
setSessionOverride(sessionId, override) {
|
|
115
120
|
this.sessionOverrides.set(sessionId, override);
|
|
116
|
-
this.agentEventBus.emit("
|
|
121
|
+
this.agentEventBus.emit("session:override-set", {
|
|
117
122
|
sessionId,
|
|
118
123
|
override: structuredClone(override)
|
|
119
124
|
});
|
|
@@ -131,8 +136,8 @@ class AgentStateManager {
|
|
|
131
136
|
const hadOverride = this.sessionOverrides.has(sessionId);
|
|
132
137
|
this.sessionOverrides.delete(sessionId);
|
|
133
138
|
if (hadOverride) {
|
|
134
|
-
this.agentEventBus.emit("
|
|
135
|
-
logger.info("Session override cleared", { sessionId });
|
|
139
|
+
this.agentEventBus.emit("session:override-cleared", { sessionId });
|
|
140
|
+
this.logger.info("Session override cleared", { sessionId });
|
|
136
141
|
}
|
|
137
142
|
}
|
|
138
143
|
/**
|
|
@@ -142,10 +147,10 @@ class AgentStateManager {
|
|
|
142
147
|
const sessionIds = Array.from(this.sessionOverrides.keys());
|
|
143
148
|
this.sessionOverrides.clear();
|
|
144
149
|
sessionIds.forEach((sessionId) => {
|
|
145
|
-
this.agentEventBus.emit("
|
|
150
|
+
this.agentEventBus.emit("session:override-cleared", { sessionId });
|
|
146
151
|
});
|
|
147
152
|
if (sessionIds.length > 0) {
|
|
148
|
-
logger.info("All session overrides cleared", { clearedSessions: sessionIds });
|
|
153
|
+
this.logger.info("All session overrides cleared", { clearedSessions: sessionIds });
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
156
|
// ============= CONFIG EXPORT =============
|
|
@@ -160,10 +165,10 @@ class AgentStateManager {
|
|
|
160
165
|
systemPrompt: this.runtimeConfig.systemPrompt,
|
|
161
166
|
mcpServers: structuredClone(this.runtimeConfig.mcpServers)
|
|
162
167
|
};
|
|
163
|
-
this.agentEventBus.emit("
|
|
168
|
+
this.agentEventBus.emit("state:exported", {
|
|
164
169
|
config: exportedConfig
|
|
165
170
|
});
|
|
166
|
-
logger.info("Runtime state exported as config", {
|
|
171
|
+
this.logger.info("Runtime state exported as config", {
|
|
167
172
|
exportedConfig
|
|
168
173
|
});
|
|
169
174
|
return exportedConfig;
|
|
@@ -174,8 +179,8 @@ class AgentStateManager {
|
|
|
174
179
|
resetToBaseline() {
|
|
175
180
|
this.runtimeConfig = structuredClone(this.baselineConfig);
|
|
176
181
|
this.clearAllSessionOverrides();
|
|
177
|
-
this.agentEventBus.emit("
|
|
178
|
-
logger.info("Runtime state reset to baseline config");
|
|
182
|
+
this.agentEventBus.emit("state:reset", { toConfig: this.baselineConfig });
|
|
183
|
+
this.logger.info("Runtime state reset to baseline config");
|
|
179
184
|
}
|
|
180
185
|
// ============= CONVENIENCE GETTERS FOR USED FUNCTIONALITY =============
|
|
181
186
|
/**
|