@dexto/core 1.1.4 → 1.1.6
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 +125 -0
- package/dist/agent/DextoAgent.cjs +793 -0
- package/dist/agent/DextoAgent.d.cts +473 -0
- package/dist/agent/DextoAgent.d.ts +473 -0
- package/dist/agent/DextoAgent.js +774 -0
- package/dist/agent/agentCard.cjs +44 -0
- package/dist/agent/agentCard.d.cts +20 -0
- package/dist/agent/agentCard.d.ts +20 -0
- package/dist/agent/agentCard.js +20 -0
- package/dist/agent/error-codes.cjs +35 -0
- package/dist/agent/error-codes.d.cts +14 -0
- package/dist/agent/error-codes.d.ts +14 -0
- package/dist/agent/error-codes.js +11 -0
- package/dist/agent/errors.cjs +84 -0
- package/dist/agent/errors.d.cts +40 -0
- package/dist/agent/errors.d.ts +40 -0
- package/dist/agent/errors.js +60 -0
- package/dist/agent/index.cjs +44 -0
- package/dist/agent/index.d.cts +60 -0
- package/dist/agent/index.d.ts +60 -0
- package/dist/agent/index.js +13 -0
- package/dist/agent/registry/error-codes.cjs +42 -0
- package/dist/agent/registry/error-codes.d.cts +20 -0
- package/dist/agent/registry/error-codes.d.ts +20 -0
- package/dist/agent/registry/error-codes.js +18 -0
- package/dist/agent/registry/errors.cjs +158 -0
- package/dist/agent/registry/errors.d.cts +67 -0
- package/dist/agent/registry/errors.d.ts +67 -0
- package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
- package/dist/agent/registry/registry.cjs +291 -0
- package/dist/agent/registry/registry.d.cts +67 -0
- package/dist/agent/registry/registry.d.ts +67 -0
- package/dist/agent/registry/registry.js +256 -0
- package/dist/agent/registry/types.cjs +41 -0
- package/dist/agent/registry/types.d.cts +100 -0
- package/dist/agent/registry/types.d.ts +100 -0
- package/dist/agent/registry/types.js +16 -0
- package/dist/agent/schemas.cjs +113 -0
- package/dist/agent/schemas.d.cts +1502 -0
- package/dist/agent/schemas.d.ts +1502 -0
- package/dist/agent/schemas.js +88 -0
- package/dist/agent/state-manager.cjs +214 -0
- package/dist/agent/state-manager.d.cts +97 -0
- package/dist/agent/state-manager.d.ts +97 -0
- package/dist/agent/state-manager.js +190 -0
- package/dist/config/agent-resolver.cjs +153 -0
- package/dist/config/agent-resolver.d.cts +15 -0
- package/dist/config/agent-resolver.d.ts +15 -0
- package/dist/config/agent-resolver.js +122 -0
- package/dist/config/error-codes.cjs +39 -0
- package/dist/config/error-codes.d.cts +17 -0
- package/dist/config/error-codes.d.ts +17 -0
- package/dist/config/error-codes.js +15 -0
- package/dist/config/errors.cjs +126 -0
- package/dist/config/errors.d.cts +49 -0
- package/dist/config/errors.d.ts +49 -0
- package/dist/config/errors.js +102 -0
- package/dist/config/index.cjs +26 -0
- package/dist/config/index.d.cts +7 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.js +3 -0
- package/dist/config/loader.cjs +119 -0
- package/dist/config/loader.d.cts +19 -0
- package/dist/config/loader.d.ts +19 -0
- package/dist/config/loader.js +85 -0
- package/dist/config/writer.cjs +182 -0
- package/dist/config/writer.d.cts +38 -0
- package/dist/config/writer.d.ts +38 -0
- package/dist/config/writer.js +146 -0
- package/dist/context/compression/middle-removal.cjs +95 -0
- package/dist/context/compression/middle-removal.d.cts +48 -0
- package/dist/context/compression/middle-removal.d.ts +48 -0
- package/dist/context/compression/middle-removal.js +71 -0
- package/dist/context/compression/oldest-removal.cjs +70 -0
- package/dist/context/compression/oldest-removal.d.cts +43 -0
- package/dist/context/compression/oldest-removal.d.ts +43 -0
- package/dist/context/compression/oldest-removal.js +46 -0
- package/dist/context/compression/types.cjs +16 -0
- package/dist/context/compression/types.d.cts +21 -0
- package/dist/context/compression/types.d.ts +21 -0
- package/dist/context/compression/types.js +0 -0
- package/dist/context/error-codes.cjs +41 -0
- package/dist/context/error-codes.d.cts +19 -0
- package/dist/context/error-codes.d.ts +19 -0
- package/dist/context/error-codes.js +17 -0
- package/dist/context/errors.cjs +146 -0
- package/dist/context/errors.d.cts +36 -0
- package/dist/context/errors.d.ts +36 -0
- package/dist/context/errors.js +122 -0
- package/dist/context/index.cjs +24 -0
- package/dist/context/index.d.cts +19 -0
- package/dist/context/index.d.ts +19 -0
- package/dist/context/index.js +2 -0
- package/dist/context/manager.cjs +516 -0
- package/dist/context/manager.d.cts +254 -0
- package/dist/context/manager.d.ts +254 -0
- package/dist/context/manager.js +492 -0
- package/dist/context/types.cjs +16 -0
- package/dist/context/types.d.cts +113 -0
- package/dist/context/types.d.ts +113 -0
- package/dist/context/types.js +0 -0
- package/dist/context/utils.cjs +406 -0
- package/dist/context/utils.d.cts +79 -0
- package/dist/context/utils.d.ts +79 -0
- package/dist/context/utils.js +374 -0
- package/dist/errors/DextoBaseError.cjs +36 -0
- package/dist/errors/DextoBaseError.d.cts +15 -0
- package/dist/errors/DextoBaseError.d.ts +15 -0
- package/dist/errors/DextoBaseError.js +12 -0
- package/dist/errors/DextoRuntimeError.cjs +50 -0
- package/dist/errors/DextoRuntimeError.d.cts +37 -0
- package/dist/errors/DextoRuntimeError.d.ts +37 -0
- package/dist/errors/DextoRuntimeError.js +26 -0
- package/dist/errors/DextoValidationError.cjs +118 -0
- package/dist/errors/DextoValidationError.d.cts +65 -0
- package/dist/errors/DextoValidationError.d.ts +65 -0
- package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
- package/dist/errors/index.cjs +42 -0
- package/dist/errors/index.d.cts +18 -0
- package/dist/errors/index.d.ts +18 -0
- package/dist/errors/index.js +13 -0
- package/dist/errors/result-bridge.cjs +38 -0
- package/dist/errors/result-bridge.d.cts +39 -0
- package/dist/errors/result-bridge.d.ts +39 -0
- package/dist/errors/result-bridge.js +14 -0
- package/dist/errors/types.cjs +54 -0
- package/dist/errors/types.d.cts +62 -0
- package/dist/errors/types.d.ts +62 -0
- package/dist/errors/types.js +29 -0
- package/dist/events/index.cjs +169 -0
- package/dist/events/index.d.cts +272 -0
- package/dist/events/index.d.ts +272 -0
- package/dist/events/index.js +136 -0
- package/dist/index.browser.cjs +9 -220
- package/dist/index.browser.d.cts +53 -379
- package/dist/index.browser.d.ts +53 -379
- package/dist/index.browser.js +4 -210
- package/dist/index.cjs +31 -15266
- package/dist/index.d.cts +89 -6842
- package/dist/index.d.ts +89 -6842
- package/dist/index.js +14 -9914
- package/dist/llm/error-codes.cjs +48 -0
- package/dist/llm/error-codes.d.cts +26 -0
- package/dist/llm/error-codes.d.ts +26 -0
- package/dist/llm/error-codes.js +24 -0
- package/dist/llm/errors.cjs +108 -0
- package/dist/llm/errors.d.cts +58 -0
- package/dist/llm/errors.d.ts +58 -0
- package/dist/llm/errors.js +84 -0
- package/dist/llm/formatters/anthropic.cjs +246 -0
- package/dist/llm/formatters/anthropic.d.cts +45 -0
- package/dist/llm/formatters/anthropic.d.ts +45 -0
- package/dist/llm/formatters/anthropic.js +227 -0
- package/dist/llm/formatters/factory.cjs +51 -0
- package/dist/llm/formatters/factory.d.cts +12 -0
- package/dist/llm/formatters/factory.d.ts +12 -0
- package/dist/llm/formatters/factory.js +27 -0
- package/dist/llm/formatters/openai.cjs +167 -0
- package/dist/llm/formatters/openai.d.cts +38 -0
- package/dist/llm/formatters/openai.d.ts +38 -0
- package/dist/llm/formatters/openai.js +147 -0
- package/dist/llm/formatters/types.cjs +16 -0
- package/dist/llm/formatters/types.d.cts +43 -0
- package/dist/llm/formatters/types.d.ts +43 -0
- package/dist/llm/formatters/types.js +0 -0
- package/dist/llm/formatters/vercel.cjs +411 -0
- package/dist/llm/formatters/vercel.d.cts +48 -0
- package/dist/llm/formatters/vercel.d.ts +48 -0
- package/dist/llm/formatters/vercel.js +387 -0
- package/dist/llm/index.cjs +34 -0
- package/dist/llm/index.d.cts +39 -0
- package/dist/llm/index.d.ts +39 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/registry.cjs +881 -0
- package/dist/llm/registry.d.cts +176 -0
- package/dist/llm/registry.d.ts +176 -0
- package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
- package/dist/llm/resolver.cjs +154 -0
- package/dist/llm/resolver.d.cts +34 -0
- package/dist/llm/resolver.d.ts +34 -0
- package/dist/llm/resolver.js +136 -0
- package/dist/llm/schemas.cjs +188 -0
- package/dist/llm/schemas.d.cts +111 -0
- package/dist/llm/schemas.d.ts +111 -0
- package/dist/llm/schemas.js +172 -0
- package/dist/llm/services/anthropic.cjs +398 -0
- package/dist/llm/services/anthropic.d.cts +65 -0
- package/dist/llm/services/anthropic.d.ts +65 -0
- package/dist/llm/services/anthropic.js +374 -0
- package/dist/llm/services/factory.cjs +164 -0
- package/dist/llm/services/factory.d.cts +39 -0
- package/dist/llm/services/factory.d.ts +39 -0
- package/dist/llm/services/factory.js +130 -0
- package/dist/llm/services/index.cjs +22 -0
- package/dist/llm/services/index.d.cts +21 -0
- package/dist/llm/services/index.d.ts +21 -0
- package/dist/llm/services/index.js +1 -0
- package/dist/llm/services/openai.cjs +470 -0
- package/dist/llm/services/openai.d.cts +65 -0
- package/dist/llm/services/openai.d.ts +65 -0
- package/dist/llm/services/openai.js +446 -0
- package/dist/llm/services/test-utils.integration.cjs +169 -0
- package/dist/llm/services/test-utils.integration.d.cts +83 -0
- package/dist/llm/services/test-utils.integration.d.ts +83 -0
- package/dist/llm/services/test-utils.integration.js +142 -0
- package/dist/llm/services/types.cjs +16 -0
- package/dist/llm/services/types.d.cts +56 -0
- package/dist/llm/services/types.d.ts +56 -0
- package/dist/llm/services/types.js +0 -0
- package/dist/llm/services/vercel.cjs +525 -0
- package/dist/llm/services/vercel.d.cts +72 -0
- package/dist/llm/services/vercel.d.ts +72 -0
- package/dist/llm/services/vercel.js +506 -0
- package/dist/llm/tokenizer/anthropic.cjs +43 -0
- package/dist/llm/tokenizer/anthropic.d.cts +21 -0
- package/dist/llm/tokenizer/anthropic.d.ts +21 -0
- package/dist/llm/tokenizer/anthropic.js +19 -0
- package/dist/llm/tokenizer/default.cjs +41 -0
- package/dist/llm/tokenizer/default.d.cts +16 -0
- package/dist/llm/tokenizer/default.d.ts +16 -0
- package/dist/llm/tokenizer/default.js +17 -0
- package/dist/llm/tokenizer/factory.cjs +44 -0
- package/dist/llm/tokenizer/factory.d.cts +12 -0
- package/dist/llm/tokenizer/factory.d.ts +12 -0
- package/dist/llm/tokenizer/factory.js +20 -0
- package/dist/llm/tokenizer/google.cjs +52 -0
- package/dist/llm/tokenizer/google.d.cts +31 -0
- package/dist/llm/tokenizer/google.d.ts +31 -0
- package/dist/llm/tokenizer/google.js +28 -0
- package/dist/llm/tokenizer/openai.cjs +108 -0
- package/dist/llm/tokenizer/openai.d.cts +32 -0
- package/dist/llm/tokenizer/openai.d.ts +32 -0
- package/dist/llm/tokenizer/openai.js +83 -0
- package/dist/llm/tokenizer/types.cjs +33 -0
- package/dist/llm/tokenizer/types.d.cts +19 -0
- package/dist/llm/tokenizer/types.d.ts +19 -0
- package/dist/llm/tokenizer/types.js +9 -0
- package/dist/llm/types.cjs +42 -0
- package/dist/llm/types.d.cts +29 -0
- package/dist/llm/types.d.ts +29 -0
- package/dist/llm/types.js +16 -0
- package/dist/llm/validation.cjs +162 -0
- package/dist/llm/validation.d.cts +60 -0
- package/dist/llm/validation.d.ts +60 -0
- package/dist/llm/validation.js +138 -0
- package/dist/logger/browser.cjs +86 -0
- package/dist/logger/browser.d.cts +29 -0
- package/dist/logger/browser.d.ts +29 -0
- package/dist/logger/browser.js +61 -0
- package/dist/logger/index.cjs +22 -0
- package/dist/logger/index.d.cts +1 -0
- package/dist/logger/index.d.ts +1 -0
- package/dist/logger/index.js +1 -0
- package/dist/logger/logger.cjs +362 -0
- package/dist/logger/logger.d.cts +52 -0
- package/dist/logger/logger.d.ts +52 -0
- package/dist/logger/logger.js +327 -0
- package/dist/mcp/error-codes.cjs +38 -0
- package/dist/mcp/error-codes.d.cts +16 -0
- package/dist/mcp/error-codes.d.ts +16 -0
- package/dist/mcp/error-codes.js +14 -0
- package/dist/mcp/errors.cjs +131 -0
- package/dist/mcp/errors.d.cts +72 -0
- package/dist/mcp/errors.d.ts +72 -0
- package/dist/mcp/errors.js +107 -0
- package/dist/mcp/index.cjs +34 -0
- package/dist/mcp/index.d.cts +26 -0
- package/dist/mcp/index.d.ts +26 -0
- package/dist/mcp/index.js +7 -0
- package/dist/mcp/manager.cjs +473 -0
- package/dist/mcp/manager.d.cts +163 -0
- package/dist/mcp/manager.d.ts +163 -0
- package/dist/mcp/manager.js +449 -0
- package/dist/mcp/mcp-client.cjs +420 -0
- package/dist/mcp/mcp-client.d.cts +108 -0
- package/dist/mcp/mcp-client.d.ts +108 -0
- package/dist/mcp/mcp-client.js +396 -0
- package/dist/mcp/resolver.cjs +78 -0
- package/dist/mcp/resolver.d.cts +22 -0
- package/dist/mcp/resolver.d.ts +22 -0
- package/dist/mcp/resolver.js +56 -0
- package/dist/mcp/schemas.cjs +82 -0
- package/dist/mcp/schemas.d.cts +266 -0
- package/dist/mcp/schemas.d.ts +266 -0
- package/dist/mcp/schemas.js +54 -0
- package/dist/mcp/types.cjs +16 -0
- package/dist/mcp/types.d.cts +21 -0
- package/dist/mcp/types.d.ts +21 -0
- package/dist/mcp/types.js +0 -0
- package/dist/preferences/constants.cjs +28 -0
- package/dist/preferences/constants.d.cts +3 -0
- package/dist/preferences/constants.d.ts +3 -0
- package/dist/preferences/constants.js +4 -0
- package/dist/preferences/error-codes.cjs +35 -0
- package/dist/preferences/error-codes.d.cts +9 -0
- package/dist/preferences/error-codes.d.ts +9 -0
- package/dist/preferences/error-codes.js +11 -0
- package/dist/preferences/errors.cjs +75 -0
- package/dist/preferences/errors.d.cts +33 -0
- package/dist/preferences/errors.d.ts +33 -0
- package/dist/preferences/errors.js +50 -0
- package/dist/preferences/index.cjs +55 -0
- package/dist/preferences/index.d.cts +21 -0
- package/dist/preferences/index.d.ts +21 -0
- package/dist/preferences/index.js +31 -0
- package/dist/preferences/loader.cjs +136 -0
- package/dist/preferences/loader.d.cts +45 -0
- package/dist/preferences/loader.d.ts +45 -0
- package/dist/preferences/loader.js +107 -0
- package/dist/preferences/schemas.cjs +74 -0
- package/dist/preferences/schemas.d.cts +104 -0
- package/dist/preferences/schemas.d.ts +104 -0
- package/dist/preferences/schemas.js +47 -0
- package/dist/search/index.cjs +28 -0
- package/dist/search/index.d.cts +5 -0
- package/dist/search/index.d.ts +5 -0
- package/dist/search/index.js +4 -0
- package/dist/search/search-service.cjs +245 -0
- package/dist/search/search-service.d.cts +47 -0
- package/dist/search/search-service.d.ts +47 -0
- package/dist/search/search-service.js +221 -0
- package/dist/search/types.cjs +16 -0
- package/dist/search/types.d.cts +78 -0
- package/dist/search/types.d.ts +78 -0
- package/dist/search/types.js +0 -0
- package/dist/session/chat-session.cjs +354 -0
- package/dist/session/chat-session.d.cts +284 -0
- package/dist/session/chat-session.d.ts +284 -0
- package/dist/session/chat-session.js +333 -0
- package/dist/session/error-codes.cjs +35 -0
- package/dist/session/error-codes.d.cts +13 -0
- package/dist/session/error-codes.d.ts +13 -0
- package/dist/session/error-codes.js +11 -0
- package/dist/session/errors.cjs +93 -0
- package/dist/session/errors.d.cts +58 -0
- package/dist/session/errors.d.ts +58 -0
- package/dist/session/errors.js +69 -0
- package/dist/session/history/database.cjs +95 -0
- package/dist/session/history/database.d.cts +28 -0
- package/dist/session/history/database.d.ts +28 -0
- package/dist/session/history/database.js +71 -0
- package/dist/session/history/factory.cjs +31 -0
- package/dist/session/history/factory.d.cts +11 -0
- package/dist/session/history/factory.d.ts +11 -0
- package/dist/session/history/factory.js +7 -0
- package/dist/session/history/types.cjs +16 -0
- package/dist/session/history/types.d.cts +17 -0
- package/dist/session/history/types.d.ts +17 -0
- package/dist/session/history/types.js +0 -0
- package/dist/session/index.cjs +37 -0
- package/dist/session/index.d.cts +53 -0
- package/dist/session/index.d.ts +53 -0
- package/dist/session/index.js +10 -0
- package/dist/session/schemas.cjs +32 -0
- package/dist/session/schemas.d.cts +16 -0
- package/dist/session/schemas.d.ts +16 -0
- package/dist/session/schemas.js +8 -0
- package/dist/session/session-manager.cjs +481 -0
- package/dist/session/session-manager.d.cts +219 -0
- package/dist/session/session-manager.d.ts +219 -0
- package/dist/session/session-manager.js +457 -0
- package/dist/storage/backend/cache-backend.cjs +16 -0
- package/dist/storage/backend/cache-backend.d.cts +15 -0
- package/dist/storage/backend/cache-backend.d.ts +15 -0
- package/dist/storage/backend/cache-backend.js +0 -0
- package/dist/storage/backend/database-backend.cjs +16 -0
- package/dist/storage/backend/database-backend.d.cts +19 -0
- package/dist/storage/backend/database-backend.d.ts +19 -0
- package/dist/storage/backend/database-backend.js +0 -0
- package/dist/storage/backend/memory-backend.cjs +140 -0
- package/dist/storage/backend/memory-backend.d.cts +34 -0
- package/dist/storage/backend/memory-backend.d.ts +34 -0
- package/dist/storage/backend/memory-backend.js +116 -0
- package/dist/storage/backend/postgres-backend.cjs +231 -0
- package/dist/storage/backend/postgres-backend.d.cts +37 -0
- package/dist/storage/backend/postgres-backend.d.ts +37 -0
- package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
- package/dist/storage/backend/redis-backend.cjs +184 -0
- package/dist/storage/backend/redis-backend.d.cts +36 -0
- package/dist/storage/backend/redis-backend.d.ts +36 -0
- package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
- package/dist/storage/backend/sqlite-backend.cjs +271 -0
- package/dist/storage/backend/sqlite-backend.d.cts +35 -0
- package/dist/storage/backend/sqlite-backend.d.ts +35 -0
- package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
- package/dist/storage/backend/types.cjs +16 -0
- package/dist/storage/backend/types.d.cts +14 -0
- package/dist/storage/backend/types.d.ts +14 -0
- package/dist/storage/backend/types.js +0 -0
- package/dist/storage/error-codes.cjs +36 -0
- package/dist/storage/error-codes.d.cts +14 -0
- package/dist/storage/error-codes.d.ts +14 -0
- package/dist/storage/error-codes.js +12 -0
- package/dist/storage/errors.cjs +104 -0
- package/dist/storage/errors.d.cts +63 -0
- package/dist/storage/errors.d.ts +63 -0
- package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
- package/dist/storage/index.cjs +33 -0
- package/dist/storage/index.d.cts +7 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/schemas.cjs +113 -0
- package/dist/storage/schemas.d.cts +856 -0
- package/dist/storage/schemas.d.ts +856 -0
- package/dist/storage/schemas.js +89 -0
- package/dist/storage/storage-manager.cjs +208 -0
- package/dist/storage/storage-manager.d.cts +52 -0
- package/dist/storage/storage-manager.d.ts +52 -0
- package/dist/storage/storage-manager.js +173 -0
- package/dist/storage/types.cjs +16 -0
- package/dist/storage/types.d.cts +5 -0
- package/dist/storage/types.d.ts +5 -0
- package/dist/storage/types.js +0 -0
- package/dist/systemPrompt/contributors.cjs +146 -0
- package/dist/systemPrompt/contributors.d.cts +44 -0
- package/dist/systemPrompt/contributors.d.ts +44 -0
- package/dist/systemPrompt/contributors.js +120 -0
- package/dist/systemPrompt/error-codes.cjs +35 -0
- package/dist/systemPrompt/error-codes.d.cts +13 -0
- package/dist/systemPrompt/error-codes.d.ts +13 -0
- package/dist/systemPrompt/error-codes.js +11 -0
- package/dist/systemPrompt/errors.cjs +93 -0
- package/dist/systemPrompt/errors.d.cts +55 -0
- package/dist/systemPrompt/errors.d.ts +55 -0
- package/dist/systemPrompt/errors.js +69 -0
- package/dist/systemPrompt/in-built-prompts.cjs +68 -0
- package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
- package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
- package/dist/systemPrompt/in-built-prompts.js +42 -0
- package/dist/systemPrompt/index.cjs +30 -0
- package/dist/systemPrompt/index.d.cts +14 -0
- package/dist/systemPrompt/index.d.ts +14 -0
- package/dist/systemPrompt/index.js +5 -0
- package/dist/systemPrompt/manager.cjs +93 -0
- package/dist/systemPrompt/manager.d.cts +31 -0
- package/dist/systemPrompt/manager.d.ts +31 -0
- package/dist/systemPrompt/manager.js +69 -0
- package/dist/systemPrompt/registry.cjs +51 -0
- package/dist/systemPrompt/registry.d.cts +20 -0
- package/dist/systemPrompt/registry.d.ts +20 -0
- package/dist/systemPrompt/registry.js +15 -0
- package/dist/systemPrompt/schemas.cjs +107 -0
- package/dist/systemPrompt/schemas.d.cts +401 -0
- package/dist/systemPrompt/schemas.d.ts +401 -0
- package/dist/systemPrompt/schemas.js +81 -0
- package/dist/systemPrompt/types.cjs +16 -0
- package/dist/systemPrompt/types.d.cts +19 -0
- package/dist/systemPrompt/types.d.ts +19 -0
- package/dist/systemPrompt/types.js +0 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
- package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
- package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
- package/dist/tools/confirmation/factory.cjs +52 -0
- package/dist/tools/confirmation/factory.d.cts +37 -0
- package/dist/tools/confirmation/factory.d.ts +37 -0
- package/dist/tools/confirmation/factory.js +28 -0
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
- package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
- package/dist/tools/confirmation/types.cjs +16 -0
- package/dist/tools/confirmation/types.d.cts +46 -0
- package/dist/tools/confirmation/types.d.ts +46 -0
- package/dist/tools/confirmation/types.js +0 -0
- package/dist/tools/error-codes.cjs +40 -0
- package/dist/tools/error-codes.d.cts +18 -0
- package/dist/tools/error-codes.d.ts +18 -0
- package/dist/tools/error-codes.js +16 -0
- package/dist/tools/errors.cjs +164 -0
- package/dist/tools/errors.d.cts +97 -0
- package/dist/tools/errors.d.ts +97 -0
- package/dist/tools/errors.js +140 -0
- package/dist/tools/index.cjs +37 -0
- package/dist/tools/index.d.cts +19 -0
- package/dist/tools/index.d.ts +19 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
- package/dist/tools/internal-tools/index.cjs +24 -0
- package/dist/tools/internal-tools/index.d.cts +13 -0
- package/dist/tools/internal-tools/index.d.ts +13 -0
- package/dist/tools/internal-tools/index.js +2 -0
- package/dist/tools/internal-tools/provider.cjs +159 -0
- package/dist/tools/internal-tools/provider.d.cts +66 -0
- package/dist/tools/internal-tools/provider.d.ts +66 -0
- package/dist/tools/internal-tools/provider.js +135 -0
- package/dist/tools/internal-tools/registry.cjs +43 -0
- package/dist/tools/internal-tools/registry.d.cts +45 -0
- package/dist/tools/internal-tools/registry.d.ts +45 -0
- package/dist/tools/internal-tools/registry.js +17 -0
- package/dist/tools/schemas.cjs +45 -0
- package/dist/tools/schemas.d.cts +21 -0
- package/dist/tools/schemas.d.ts +21 -0
- package/dist/tools/schemas.js +20 -0
- package/dist/tools/tool-manager.cjs +275 -0
- package/dist/tools/tool-manager.d.cts +106 -0
- package/dist/tools/tool-manager.d.ts +106 -0
- package/dist/tools/tool-manager.js +251 -0
- package/dist/tools/types.cjs +16 -0
- package/dist/tools/types.d.cts +66 -0
- package/dist/tools/types.d.ts +66 -0
- package/dist/tools/types.js +0 -0
- package/dist/utils/api-key-resolver.cjs +62 -0
- package/dist/utils/api-key-resolver.d.cts +23 -0
- package/dist/utils/api-key-resolver.d.ts +23 -0
- package/dist/utils/api-key-resolver.js +36 -0
- package/dist/utils/api-key-store.cjs +56 -0
- package/dist/utils/api-key-store.d.cts +26 -0
- package/dist/utils/api-key-store.d.ts +26 -0
- package/dist/utils/api-key-store.js +30 -0
- package/dist/utils/env.cjs +154 -0
- package/dist/utils/env.d.cts +29 -0
- package/dist/utils/env.d.ts +29 -0
- package/dist/utils/env.js +118 -0
- package/dist/utils/error-conversion.cjs +53 -0
- package/dist/utils/error-conversion.d.cts +13 -0
- package/dist/utils/error-conversion.d.ts +13 -0
- package/dist/utils/error-conversion.js +29 -0
- package/dist/utils/execution-context.cjs +85 -0
- package/dist/utils/execution-context.d.cts +21 -0
- package/dist/utils/execution-context.d.ts +21 -0
- package/dist/utils/execution-context.js +49 -0
- package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
- package/dist/utils/fs-walk.d.cts +9 -0
- package/dist/utils/fs-walk.d.ts +9 -0
- package/dist/utils/fs-walk.js +18 -0
- package/dist/utils/index.cjs +44 -0
- package/dist/utils/index.d.cts +63 -0
- package/dist/utils/index.d.ts +63 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/path.cjs +197 -0
- package/dist/utils/path.d.cts +54 -0
- package/dist/utils/path.d.ts +54 -0
- package/dist/utils/path.js +159 -0
- package/dist/utils/port-utils.cjs +37 -0
- package/dist/utils/port-utils.d.cts +11 -0
- package/dist/utils/port-utils.d.ts +11 -0
- package/dist/utils/port-utils.js +13 -0
- package/dist/utils/port-utils.spec.cjs +26 -0
- package/dist/utils/port-utils.spec.d.cts +2 -0
- package/dist/utils/port-utils.spec.d.ts +2 -0
- package/dist/utils/port-utils.spec.js +25 -0
- package/dist/utils/redactor.cjs +105 -0
- package/dist/utils/redactor.d.cts +18 -0
- package/dist/utils/redactor.d.ts +18 -0
- package/dist/utils/redactor.js +81 -0
- package/dist/utils/result.cjs +115 -0
- package/dist/utils/result.d.cts +180 -0
- package/dist/utils/result.d.ts +180 -0
- package/dist/utils/result.js +82 -0
- package/dist/utils/safe-stringify.cjs +57 -0
- package/dist/utils/safe-stringify.d.cts +7 -0
- package/dist/utils/safe-stringify.d.ts +7 -0
- package/dist/utils/safe-stringify.js +33 -0
- package/dist/utils/schema.cjs +42 -0
- package/dist/utils/schema.d.cts +6 -0
- package/dist/utils/schema.d.ts +6 -0
- package/dist/utils/schema.js +18 -0
- package/dist/utils/service-initializer.cjs +119 -0
- package/dist/utils/service-initializer.d.cts +63 -0
- package/dist/utils/service-initializer.d.ts +63 -0
- package/dist/utils/service-initializer.js +95 -0
- package/dist/utils/user-info.cjs +30 -0
- package/dist/utils/user-info.d.cts +3 -0
- package/dist/utils/user-info.d.ts +3 -0
- package/dist/utils/user-info.js +6 -0
- package/dist/utils/zod-schema-converter.cjs +112 -0
- package/dist/utils/zod-schema-converter.d.cts +13 -0
- package/dist/utils/zod-schema-converter.d.ts +13 -0
- package/dist/utils/zod-schema-converter.js +87 -0
- package/package.json +2 -2
- package/dist/chunk-D62MHQBE.js +0 -2203
- package/dist/chunk-FCJVTIBV.js +0 -535
- package/dist/chunk-TPERKLLN.js +0 -75
- package/dist/errors-ZZ4Z3FKB.js +0 -10
- package/dist/loader-HBNEYPQZ.js +0 -20
- package/dist/path-TP7WBDED.js +0 -21
- package/dist/registry-Z4DFXODW.js +0 -14
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { LLMConfigSchema } from "../llm/schemas.js";
|
|
2
|
+
import { ServerConfigsSchema as McpServersConfigSchema } from "../mcp/schemas.js";
|
|
3
|
+
import { SessionConfigSchema } from "../session/schemas.js";
|
|
4
|
+
import { StorageSchema } from "../storage/schemas.js";
|
|
5
|
+
import { SystemPromptConfigSchema } from "../systemPrompt/schemas.js";
|
|
6
|
+
import { InternalToolsSchema, ToolConfirmationConfigSchema } from "../tools/schemas.js";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
const AgentCardSchema = z.object({
|
|
9
|
+
name: z.string(),
|
|
10
|
+
// No default, must be provided by context
|
|
11
|
+
description: z.string().default(
|
|
12
|
+
"Dexto is an AI assistant capable of chat and task delegation, accessible via multiple protocols."
|
|
13
|
+
),
|
|
14
|
+
url: z.string().url(),
|
|
15
|
+
// No default, must be provided by context
|
|
16
|
+
provider: z.object({
|
|
17
|
+
organization: z.string(),
|
|
18
|
+
url: z.string().url()
|
|
19
|
+
}).optional(),
|
|
20
|
+
// Remains optional, undefined if not provided
|
|
21
|
+
version: z.string(),
|
|
22
|
+
// No default, must be provided by context
|
|
23
|
+
documentationUrl: z.string().url().optional(),
|
|
24
|
+
// Remains optional, undefined if not provided
|
|
25
|
+
capabilities: z.object({
|
|
26
|
+
streaming: z.boolean().optional().default(true),
|
|
27
|
+
pushNotifications: z.boolean().optional(),
|
|
28
|
+
// Default is context-dependent (webSubscriber)
|
|
29
|
+
stateTransitionHistory: z.boolean().optional().default(false)
|
|
30
|
+
}).strict().default({}),
|
|
31
|
+
// Add default for the capabilities object itself
|
|
32
|
+
authentication: z.object({
|
|
33
|
+
schemes: z.array(z.string()).default([]),
|
|
34
|
+
credentials: z.string().optional()
|
|
35
|
+
// Remains optional
|
|
36
|
+
}).strict().default({}),
|
|
37
|
+
// Add default for the authentication object itself
|
|
38
|
+
defaultInputModes: z.array(z.string()).default(["application/json", "text/plain"]),
|
|
39
|
+
defaultOutputModes: z.array(z.string()).default(["application/json", "text/event-stream", "text/plain"]),
|
|
40
|
+
skills: z.array(
|
|
41
|
+
z.object({
|
|
42
|
+
id: z.string(),
|
|
43
|
+
name: z.string(),
|
|
44
|
+
description: z.string(),
|
|
45
|
+
tags: z.array(z.string()),
|
|
46
|
+
examples: z.array(z.string()).optional(),
|
|
47
|
+
inputModes: z.array(z.string()).optional().default(["text/plain"]),
|
|
48
|
+
outputModes: z.array(z.string()).optional().default(["text/plain"])
|
|
49
|
+
})
|
|
50
|
+
).default([
|
|
51
|
+
{
|
|
52
|
+
id: "chat_with_agent",
|
|
53
|
+
name: "chat_with_agent",
|
|
54
|
+
description: "Allows you to chat with an AI agent. Send a message to interact.",
|
|
55
|
+
tags: ["chat", "AI", "assistant", "mcp", "natural language"],
|
|
56
|
+
examples: [
|
|
57
|
+
`Send a JSON-RPC request to /mcp with method: "chat_with_agent" and params: {"message":"Your query..."}`,
|
|
58
|
+
"Alternatively, use a compatible MCP client library."
|
|
59
|
+
]
|
|
60
|
+
// inputModes and outputModes will use their own defaults if not specified here
|
|
61
|
+
}
|
|
62
|
+
])
|
|
63
|
+
}).strict();
|
|
64
|
+
const AgentConfigSchema = z.object({
|
|
65
|
+
agentCard: AgentCardSchema.describe("Configuration for the agent card").optional(),
|
|
66
|
+
greeting: z.string().max(500).optional().describe("Default greeting text to show when a chat starts (for UI consumption)"),
|
|
67
|
+
systemPrompt: SystemPromptConfigSchema.describe(
|
|
68
|
+
"System prompt: string shorthand or structured config"
|
|
69
|
+
),
|
|
70
|
+
mcpServers: McpServersConfigSchema.default({}).describe(
|
|
71
|
+
"Configurations for MCP (Model Context Protocol) servers used by the agent"
|
|
72
|
+
),
|
|
73
|
+
internalTools: InternalToolsSchema,
|
|
74
|
+
llm: LLMConfigSchema.describe("Core LLM configuration for the agent"),
|
|
75
|
+
// Storage configuration
|
|
76
|
+
storage: StorageSchema.default({
|
|
77
|
+
cache: { type: "in-memory" },
|
|
78
|
+
database: { type: "in-memory" }
|
|
79
|
+
}).describe("Storage configuration for the agent using cache and database backends"),
|
|
80
|
+
sessions: SessionConfigSchema.default({}).describe("Session management configuration"),
|
|
81
|
+
toolConfirmation: ToolConfirmationConfigSchema.default({}).describe(
|
|
82
|
+
"Tool confirmation and approval configuration"
|
|
83
|
+
)
|
|
84
|
+
}).strict().describe("Main configuration for an agent, including its LLM and server connections").brand();
|
|
85
|
+
export {
|
|
86
|
+
AgentCardSchema,
|
|
87
|
+
AgentConfigSchema
|
|
88
|
+
};
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var state_manager_exports = {};
|
|
20
|
+
__export(state_manager_exports, {
|
|
21
|
+
AgentStateManager: () => AgentStateManager
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(state_manager_exports);
|
|
24
|
+
var import_logger = require("../logger/index.js");
|
|
25
|
+
class AgentStateManager {
|
|
26
|
+
/**
|
|
27
|
+
* Initialize AgentStateManager from a validated static configuration.
|
|
28
|
+
*
|
|
29
|
+
* @param staticConfig The validated configuration from DextoAgent
|
|
30
|
+
* @param agentEventBus The agent event bus for emitting state change events
|
|
31
|
+
*/
|
|
32
|
+
constructor(staticConfig, agentEventBus) {
|
|
33
|
+
this.agentEventBus = agentEventBus;
|
|
34
|
+
this.baselineConfig = structuredClone(staticConfig);
|
|
35
|
+
this.runtimeConfig = structuredClone(staticConfig);
|
|
36
|
+
import_logger.logger.debug("AgentStateManager initialized", {
|
|
37
|
+
staticConfigKeys: Object.keys(this.baselineConfig),
|
|
38
|
+
mcpServerCount: Object.keys(this.runtimeConfig.mcpServers).length
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
runtimeConfig;
|
|
42
|
+
baselineConfig;
|
|
43
|
+
sessionOverrides = /* @__PURE__ */ new Map();
|
|
44
|
+
// ============= GETTERS =============
|
|
45
|
+
/**
|
|
46
|
+
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
47
|
+
*/
|
|
48
|
+
getRuntimeConfig(sessionId) {
|
|
49
|
+
if (!sessionId) {
|
|
50
|
+
return structuredClone(this.runtimeConfig);
|
|
51
|
+
}
|
|
52
|
+
const override = this.sessionOverrides.get(sessionId);
|
|
53
|
+
if (!override) {
|
|
54
|
+
return structuredClone(this.runtimeConfig);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
...this.runtimeConfig,
|
|
58
|
+
llm: { ...this.runtimeConfig.llm, ...override.llm }
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// ============= LLM CONFIGURATION =============
|
|
62
|
+
/**
|
|
63
|
+
* Update the LLM configuration (globally or for a specific session)
|
|
64
|
+
*
|
|
65
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
66
|
+
* by the caller (typically DextoAgent.switchLLM). The ValidatedLLMConfig branded type
|
|
67
|
+
* ensures validation has occurred.
|
|
68
|
+
*/
|
|
69
|
+
updateLLM(validatedConfig, sessionId) {
|
|
70
|
+
const oldValue = sessionId ? this.getRuntimeConfig(sessionId).llm : this.runtimeConfig.llm;
|
|
71
|
+
if (sessionId) {
|
|
72
|
+
this.setSessionOverride(sessionId, {
|
|
73
|
+
llm: validatedConfig
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
this.runtimeConfig.llm = validatedConfig;
|
|
77
|
+
}
|
|
78
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
79
|
+
field: "llm",
|
|
80
|
+
oldValue,
|
|
81
|
+
newValue: validatedConfig,
|
|
82
|
+
...sessionId && { sessionId }
|
|
83
|
+
});
|
|
84
|
+
import_logger.logger.info("LLM config updated", {
|
|
85
|
+
sessionId,
|
|
86
|
+
provider: validatedConfig.provider,
|
|
87
|
+
model: validatedConfig.model,
|
|
88
|
+
isSessionSpecific: !!sessionId
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
// ============= MCP SERVER MANAGEMENT =============
|
|
92
|
+
/**
|
|
93
|
+
* Add or update an MCP server configuration at runtime.
|
|
94
|
+
*
|
|
95
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
96
|
+
* by the caller (typically DextoAgent.connectMcpServer). The ValidatedMcpServerConfig
|
|
97
|
+
* branded type ensures validation has occurred.
|
|
98
|
+
*/
|
|
99
|
+
addMcpServer(serverName, validatedConfig) {
|
|
100
|
+
import_logger.logger.debug(`Adding/updating MCP server: ${serverName}`);
|
|
101
|
+
const isUpdate = serverName in this.runtimeConfig.mcpServers;
|
|
102
|
+
this.runtimeConfig.mcpServers[serverName] = validatedConfig;
|
|
103
|
+
const eventName = isUpdate ? "dexto:mcpServerUpdated" : "dexto:mcpServerAdded";
|
|
104
|
+
this.agentEventBus.emit(eventName, { serverName, config: validatedConfig });
|
|
105
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
106
|
+
field: "mcpServers",
|
|
107
|
+
oldValue: isUpdate ? "updated" : "added",
|
|
108
|
+
newValue: validatedConfig
|
|
109
|
+
// sessionId omitted - MCP servers are global
|
|
110
|
+
});
|
|
111
|
+
import_logger.logger.info(`MCP server '${serverName}' ${isUpdate ? "updated" : "added"} successfully`);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Remove an MCP server configuration at runtime.
|
|
115
|
+
*/
|
|
116
|
+
removeMcpServer(serverName) {
|
|
117
|
+
import_logger.logger.debug(`Removing MCP server: ${serverName}`);
|
|
118
|
+
if (serverName in this.runtimeConfig.mcpServers) {
|
|
119
|
+
delete this.runtimeConfig.mcpServers[serverName];
|
|
120
|
+
this.agentEventBus.emit("dexto:mcpServerRemoved", { serverName });
|
|
121
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
122
|
+
field: "mcpServers",
|
|
123
|
+
oldValue: "removed",
|
|
124
|
+
newValue: void 0
|
|
125
|
+
// sessionId omitted - MCP servers are global
|
|
126
|
+
});
|
|
127
|
+
import_logger.logger.info(`MCP server '${serverName}' removed successfully`);
|
|
128
|
+
} else {
|
|
129
|
+
import_logger.logger.warn(`MCP server '${serverName}' not found for removal`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// ============= SESSION MANAGEMENT =============
|
|
133
|
+
/**
|
|
134
|
+
* Set a session-specific override
|
|
135
|
+
*/
|
|
136
|
+
setSessionOverride(sessionId, override) {
|
|
137
|
+
this.sessionOverrides.set(sessionId, override);
|
|
138
|
+
this.agentEventBus.emit("dexto:sessionOverrideSet", {
|
|
139
|
+
sessionId,
|
|
140
|
+
override: structuredClone(override)
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get a session override (internal helper)
|
|
145
|
+
*/
|
|
146
|
+
getSessionOverride(sessionId) {
|
|
147
|
+
return this.sessionOverrides.get(sessionId);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Clear session-specific overrides
|
|
151
|
+
*/
|
|
152
|
+
clearSessionOverride(sessionId) {
|
|
153
|
+
const hadOverride = this.sessionOverrides.has(sessionId);
|
|
154
|
+
this.sessionOverrides.delete(sessionId);
|
|
155
|
+
if (hadOverride) {
|
|
156
|
+
this.agentEventBus.emit("dexto:sessionOverrideCleared", { sessionId });
|
|
157
|
+
import_logger.logger.info("Session override cleared", { sessionId });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Clear all session overrides (private helper for resetToBaseline)
|
|
162
|
+
*/
|
|
163
|
+
clearAllSessionOverrides() {
|
|
164
|
+
const sessionIds = Array.from(this.sessionOverrides.keys());
|
|
165
|
+
this.sessionOverrides.clear();
|
|
166
|
+
sessionIds.forEach((sessionId) => {
|
|
167
|
+
this.agentEventBus.emit("dexto:sessionOverrideCleared", { sessionId });
|
|
168
|
+
});
|
|
169
|
+
if (sessionIds.length > 0) {
|
|
170
|
+
import_logger.logger.info("All session overrides cleared", { clearedSessions: sessionIds });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// ============= CONFIG EXPORT =============
|
|
174
|
+
/**
|
|
175
|
+
* Export current runtime state as config.
|
|
176
|
+
* This allows users to save their runtime modifications as a new agent config.
|
|
177
|
+
*/
|
|
178
|
+
exportAsConfig() {
|
|
179
|
+
const exportedConfig = {
|
|
180
|
+
...this.baselineConfig,
|
|
181
|
+
llm: structuredClone(this.runtimeConfig.llm),
|
|
182
|
+
systemPrompt: this.runtimeConfig.systemPrompt,
|
|
183
|
+
mcpServers: structuredClone(this.runtimeConfig.mcpServers)
|
|
184
|
+
};
|
|
185
|
+
this.agentEventBus.emit("dexto:stateExported", {
|
|
186
|
+
config: exportedConfig
|
|
187
|
+
});
|
|
188
|
+
import_logger.logger.info("Runtime state exported as config", {
|
|
189
|
+
exportedConfig
|
|
190
|
+
});
|
|
191
|
+
return exportedConfig;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Reset runtime state back to baseline configuration
|
|
195
|
+
*/
|
|
196
|
+
resetToBaseline() {
|
|
197
|
+
this.runtimeConfig = structuredClone(this.baselineConfig);
|
|
198
|
+
this.clearAllSessionOverrides();
|
|
199
|
+
this.agentEventBus.emit("dexto:stateReset", { toConfig: this.baselineConfig });
|
|
200
|
+
import_logger.logger.info("Runtime state reset to baseline config");
|
|
201
|
+
}
|
|
202
|
+
// ============= CONVENIENCE GETTERS FOR USED FUNCTIONALITY =============
|
|
203
|
+
/**
|
|
204
|
+
* Get the current effective LLM configuration for a session.
|
|
205
|
+
* **Use this for session-specific LLM config** (includes session overrides).
|
|
206
|
+
*/
|
|
207
|
+
getLLMConfig(sessionId) {
|
|
208
|
+
return this.getRuntimeConfig(sessionId).llm;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
212
|
+
0 && (module.exports = {
|
|
213
|
+
AgentStateManager
|
|
214
|
+
});
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ValidatedAgentConfig } from './schemas.cjs';
|
|
2
|
+
import { ValidatedLLMConfig } from '../llm/schemas.cjs';
|
|
3
|
+
import { ValidatedMcpServerConfig } from '../mcp/schemas.cjs';
|
|
4
|
+
import { AgentEventBus } from '../events/index.cjs';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import '../llm/types.cjs';
|
|
7
|
+
import 'events';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Session-specific overrides that can differ from the global configuration
|
|
11
|
+
*/
|
|
12
|
+
interface SessionOverride {
|
|
13
|
+
/** Override LLM config for this session - must be a complete validated config */
|
|
14
|
+
llm?: ValidatedLLMConfig;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Manages the runtime configuration of the agent.
|
|
18
|
+
*
|
|
19
|
+
* This class handles dynamic configuration changes that occur during agent execution.
|
|
20
|
+
*
|
|
21
|
+
* Key responsibilities:
|
|
22
|
+
* 1. Track runtime changes separate from static config baseline
|
|
23
|
+
* 2. Support session-specific overrides for LLM settings
|
|
24
|
+
* 3. Dynamic MCP server management (add/remove servers at runtime)
|
|
25
|
+
* 4. Export modified state back to config format
|
|
26
|
+
* 5. Provide change tracking and validation capabilities
|
|
27
|
+
* 6. Maintain effective configuration for each session
|
|
28
|
+
*/
|
|
29
|
+
declare class AgentStateManager {
|
|
30
|
+
private agentEventBus;
|
|
31
|
+
private runtimeConfig;
|
|
32
|
+
private readonly baselineConfig;
|
|
33
|
+
private sessionOverrides;
|
|
34
|
+
/**
|
|
35
|
+
* Initialize AgentStateManager from a validated static configuration.
|
|
36
|
+
*
|
|
37
|
+
* @param staticConfig The validated configuration from DextoAgent
|
|
38
|
+
* @param agentEventBus The agent event bus for emitting state change events
|
|
39
|
+
*/
|
|
40
|
+
constructor(staticConfig: ValidatedAgentConfig, agentEventBus: AgentEventBus);
|
|
41
|
+
/**
|
|
42
|
+
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
43
|
+
*/
|
|
44
|
+
getRuntimeConfig(sessionId?: string): Readonly<ValidatedAgentConfig>;
|
|
45
|
+
/**
|
|
46
|
+
* Update the LLM configuration (globally or for a specific session)
|
|
47
|
+
*
|
|
48
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
49
|
+
* by the caller (typically DextoAgent.switchLLM). The ValidatedLLMConfig branded type
|
|
50
|
+
* ensures validation has occurred.
|
|
51
|
+
*/
|
|
52
|
+
updateLLM(validatedConfig: ValidatedLLMConfig, sessionId?: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Add or update an MCP server configuration at runtime.
|
|
55
|
+
*
|
|
56
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
57
|
+
* by the caller (typically DextoAgent.connectMcpServer). The ValidatedMcpServerConfig
|
|
58
|
+
* branded type ensures validation has occurred.
|
|
59
|
+
*/
|
|
60
|
+
addMcpServer(serverName: string, validatedConfig: ValidatedMcpServerConfig): void;
|
|
61
|
+
/**
|
|
62
|
+
* Remove an MCP server configuration at runtime.
|
|
63
|
+
*/
|
|
64
|
+
removeMcpServer(serverName: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Set a session-specific override
|
|
67
|
+
*/
|
|
68
|
+
private setSessionOverride;
|
|
69
|
+
/**
|
|
70
|
+
* Get a session override (internal helper)
|
|
71
|
+
*/
|
|
72
|
+
private getSessionOverride;
|
|
73
|
+
/**
|
|
74
|
+
* Clear session-specific overrides
|
|
75
|
+
*/
|
|
76
|
+
clearSessionOverride(sessionId: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Clear all session overrides (private helper for resetToBaseline)
|
|
79
|
+
*/
|
|
80
|
+
private clearAllSessionOverrides;
|
|
81
|
+
/**
|
|
82
|
+
* Export current runtime state as config.
|
|
83
|
+
* This allows users to save their runtime modifications as a new agent config.
|
|
84
|
+
*/
|
|
85
|
+
exportAsConfig(): ValidatedAgentConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Reset runtime state back to baseline configuration
|
|
88
|
+
*/
|
|
89
|
+
resetToBaseline(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get the current effective LLM configuration for a session.
|
|
92
|
+
* **Use this for session-specific LLM config** (includes session overrides).
|
|
93
|
+
*/
|
|
94
|
+
getLLMConfig(sessionId?: string): Readonly<ValidatedLLMConfig>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { AgentStateManager, type SessionOverride };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ValidatedAgentConfig } from './schemas.js';
|
|
2
|
+
import { ValidatedLLMConfig } from '../llm/schemas.js';
|
|
3
|
+
import { ValidatedMcpServerConfig } from '../mcp/schemas.js';
|
|
4
|
+
import { AgentEventBus } from '../events/index.js';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import '../llm/types.js';
|
|
7
|
+
import 'events';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Session-specific overrides that can differ from the global configuration
|
|
11
|
+
*/
|
|
12
|
+
interface SessionOverride {
|
|
13
|
+
/** Override LLM config for this session - must be a complete validated config */
|
|
14
|
+
llm?: ValidatedLLMConfig;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Manages the runtime configuration of the agent.
|
|
18
|
+
*
|
|
19
|
+
* This class handles dynamic configuration changes that occur during agent execution.
|
|
20
|
+
*
|
|
21
|
+
* Key responsibilities:
|
|
22
|
+
* 1. Track runtime changes separate from static config baseline
|
|
23
|
+
* 2. Support session-specific overrides for LLM settings
|
|
24
|
+
* 3. Dynamic MCP server management (add/remove servers at runtime)
|
|
25
|
+
* 4. Export modified state back to config format
|
|
26
|
+
* 5. Provide change tracking and validation capabilities
|
|
27
|
+
* 6. Maintain effective configuration for each session
|
|
28
|
+
*/
|
|
29
|
+
declare class AgentStateManager {
|
|
30
|
+
private agentEventBus;
|
|
31
|
+
private runtimeConfig;
|
|
32
|
+
private readonly baselineConfig;
|
|
33
|
+
private sessionOverrides;
|
|
34
|
+
/**
|
|
35
|
+
* Initialize AgentStateManager from a validated static configuration.
|
|
36
|
+
*
|
|
37
|
+
* @param staticConfig The validated configuration from DextoAgent
|
|
38
|
+
* @param agentEventBus The agent event bus for emitting state change events
|
|
39
|
+
*/
|
|
40
|
+
constructor(staticConfig: ValidatedAgentConfig, agentEventBus: AgentEventBus);
|
|
41
|
+
/**
|
|
42
|
+
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
43
|
+
*/
|
|
44
|
+
getRuntimeConfig(sessionId?: string): Readonly<ValidatedAgentConfig>;
|
|
45
|
+
/**
|
|
46
|
+
* Update the LLM configuration (globally or for a specific session)
|
|
47
|
+
*
|
|
48
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
49
|
+
* by the caller (typically DextoAgent.switchLLM). The ValidatedLLMConfig branded type
|
|
50
|
+
* ensures validation has occurred.
|
|
51
|
+
*/
|
|
52
|
+
updateLLM(validatedConfig: ValidatedLLMConfig, sessionId?: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Add or update an MCP server configuration at runtime.
|
|
55
|
+
*
|
|
56
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
57
|
+
* by the caller (typically DextoAgent.connectMcpServer). The ValidatedMcpServerConfig
|
|
58
|
+
* branded type ensures validation has occurred.
|
|
59
|
+
*/
|
|
60
|
+
addMcpServer(serverName: string, validatedConfig: ValidatedMcpServerConfig): void;
|
|
61
|
+
/**
|
|
62
|
+
* Remove an MCP server configuration at runtime.
|
|
63
|
+
*/
|
|
64
|
+
removeMcpServer(serverName: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Set a session-specific override
|
|
67
|
+
*/
|
|
68
|
+
private setSessionOverride;
|
|
69
|
+
/**
|
|
70
|
+
* Get a session override (internal helper)
|
|
71
|
+
*/
|
|
72
|
+
private getSessionOverride;
|
|
73
|
+
/**
|
|
74
|
+
* Clear session-specific overrides
|
|
75
|
+
*/
|
|
76
|
+
clearSessionOverride(sessionId: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Clear all session overrides (private helper for resetToBaseline)
|
|
79
|
+
*/
|
|
80
|
+
private clearAllSessionOverrides;
|
|
81
|
+
/**
|
|
82
|
+
* Export current runtime state as config.
|
|
83
|
+
* This allows users to save their runtime modifications as a new agent config.
|
|
84
|
+
*/
|
|
85
|
+
exportAsConfig(): ValidatedAgentConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Reset runtime state back to baseline configuration
|
|
88
|
+
*/
|
|
89
|
+
resetToBaseline(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get the current effective LLM configuration for a session.
|
|
92
|
+
* **Use this for session-specific LLM config** (includes session overrides).
|
|
93
|
+
*/
|
|
94
|
+
getLLMConfig(sessionId?: string): Readonly<ValidatedLLMConfig>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { AgentStateManager, type SessionOverride };
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { logger } from "../logger/index.js";
|
|
2
|
+
class AgentStateManager {
|
|
3
|
+
/**
|
|
4
|
+
* Initialize AgentStateManager from a validated static configuration.
|
|
5
|
+
*
|
|
6
|
+
* @param staticConfig The validated configuration from DextoAgent
|
|
7
|
+
* @param agentEventBus The agent event bus for emitting state change events
|
|
8
|
+
*/
|
|
9
|
+
constructor(staticConfig, agentEventBus) {
|
|
10
|
+
this.agentEventBus = agentEventBus;
|
|
11
|
+
this.baselineConfig = structuredClone(staticConfig);
|
|
12
|
+
this.runtimeConfig = structuredClone(staticConfig);
|
|
13
|
+
logger.debug("AgentStateManager initialized", {
|
|
14
|
+
staticConfigKeys: Object.keys(this.baselineConfig),
|
|
15
|
+
mcpServerCount: Object.keys(this.runtimeConfig.mcpServers).length
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
runtimeConfig;
|
|
19
|
+
baselineConfig;
|
|
20
|
+
sessionOverrides = /* @__PURE__ */ new Map();
|
|
21
|
+
// ============= GETTERS =============
|
|
22
|
+
/**
|
|
23
|
+
* Get runtime configuration for a session (includes session overrides if sessionId provided)
|
|
24
|
+
*/
|
|
25
|
+
getRuntimeConfig(sessionId) {
|
|
26
|
+
if (!sessionId) {
|
|
27
|
+
return structuredClone(this.runtimeConfig);
|
|
28
|
+
}
|
|
29
|
+
const override = this.sessionOverrides.get(sessionId);
|
|
30
|
+
if (!override) {
|
|
31
|
+
return structuredClone(this.runtimeConfig);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
...this.runtimeConfig,
|
|
35
|
+
llm: { ...this.runtimeConfig.llm, ...override.llm }
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
// ============= LLM CONFIGURATION =============
|
|
39
|
+
/**
|
|
40
|
+
* Update the LLM configuration (globally or for a specific session)
|
|
41
|
+
*
|
|
42
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
43
|
+
* by the caller (typically DextoAgent.switchLLM). The ValidatedLLMConfig branded type
|
|
44
|
+
* ensures validation has occurred.
|
|
45
|
+
*/
|
|
46
|
+
updateLLM(validatedConfig, sessionId) {
|
|
47
|
+
const oldValue = sessionId ? this.getRuntimeConfig(sessionId).llm : this.runtimeConfig.llm;
|
|
48
|
+
if (sessionId) {
|
|
49
|
+
this.setSessionOverride(sessionId, {
|
|
50
|
+
llm: validatedConfig
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
this.runtimeConfig.llm = validatedConfig;
|
|
54
|
+
}
|
|
55
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
56
|
+
field: "llm",
|
|
57
|
+
oldValue,
|
|
58
|
+
newValue: validatedConfig,
|
|
59
|
+
...sessionId && { sessionId }
|
|
60
|
+
});
|
|
61
|
+
logger.info("LLM config updated", {
|
|
62
|
+
sessionId,
|
|
63
|
+
provider: validatedConfig.provider,
|
|
64
|
+
model: validatedConfig.model,
|
|
65
|
+
isSessionSpecific: !!sessionId
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// ============= MCP SERVER MANAGEMENT =============
|
|
69
|
+
/**
|
|
70
|
+
* Add or update an MCP server configuration at runtime.
|
|
71
|
+
*
|
|
72
|
+
* This method is a pure state updater - it assumes the input has already been validated
|
|
73
|
+
* by the caller (typically DextoAgent.connectMcpServer). The ValidatedMcpServerConfig
|
|
74
|
+
* branded type ensures validation has occurred.
|
|
75
|
+
*/
|
|
76
|
+
addMcpServer(serverName, validatedConfig) {
|
|
77
|
+
logger.debug(`Adding/updating MCP server: ${serverName}`);
|
|
78
|
+
const isUpdate = serverName in this.runtimeConfig.mcpServers;
|
|
79
|
+
this.runtimeConfig.mcpServers[serverName] = validatedConfig;
|
|
80
|
+
const eventName = isUpdate ? "dexto:mcpServerUpdated" : "dexto:mcpServerAdded";
|
|
81
|
+
this.agentEventBus.emit(eventName, { serverName, config: validatedConfig });
|
|
82
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
83
|
+
field: "mcpServers",
|
|
84
|
+
oldValue: isUpdate ? "updated" : "added",
|
|
85
|
+
newValue: validatedConfig
|
|
86
|
+
// sessionId omitted - MCP servers are global
|
|
87
|
+
});
|
|
88
|
+
logger.info(`MCP server '${serverName}' ${isUpdate ? "updated" : "added"} successfully`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Remove an MCP server configuration at runtime.
|
|
92
|
+
*/
|
|
93
|
+
removeMcpServer(serverName) {
|
|
94
|
+
logger.debug(`Removing MCP server: ${serverName}`);
|
|
95
|
+
if (serverName in this.runtimeConfig.mcpServers) {
|
|
96
|
+
delete this.runtimeConfig.mcpServers[serverName];
|
|
97
|
+
this.agentEventBus.emit("dexto:mcpServerRemoved", { serverName });
|
|
98
|
+
this.agentEventBus.emit("dexto:stateChanged", {
|
|
99
|
+
field: "mcpServers",
|
|
100
|
+
oldValue: "removed",
|
|
101
|
+
newValue: void 0
|
|
102
|
+
// sessionId omitted - MCP servers are global
|
|
103
|
+
});
|
|
104
|
+
logger.info(`MCP server '${serverName}' removed successfully`);
|
|
105
|
+
} else {
|
|
106
|
+
logger.warn(`MCP server '${serverName}' not found for removal`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// ============= SESSION MANAGEMENT =============
|
|
110
|
+
/**
|
|
111
|
+
* Set a session-specific override
|
|
112
|
+
*/
|
|
113
|
+
setSessionOverride(sessionId, override) {
|
|
114
|
+
this.sessionOverrides.set(sessionId, override);
|
|
115
|
+
this.agentEventBus.emit("dexto:sessionOverrideSet", {
|
|
116
|
+
sessionId,
|
|
117
|
+
override: structuredClone(override)
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get a session override (internal helper)
|
|
122
|
+
*/
|
|
123
|
+
getSessionOverride(sessionId) {
|
|
124
|
+
return this.sessionOverrides.get(sessionId);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Clear session-specific overrides
|
|
128
|
+
*/
|
|
129
|
+
clearSessionOverride(sessionId) {
|
|
130
|
+
const hadOverride = this.sessionOverrides.has(sessionId);
|
|
131
|
+
this.sessionOverrides.delete(sessionId);
|
|
132
|
+
if (hadOverride) {
|
|
133
|
+
this.agentEventBus.emit("dexto:sessionOverrideCleared", { sessionId });
|
|
134
|
+
logger.info("Session override cleared", { sessionId });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Clear all session overrides (private helper for resetToBaseline)
|
|
139
|
+
*/
|
|
140
|
+
clearAllSessionOverrides() {
|
|
141
|
+
const sessionIds = Array.from(this.sessionOverrides.keys());
|
|
142
|
+
this.sessionOverrides.clear();
|
|
143
|
+
sessionIds.forEach((sessionId) => {
|
|
144
|
+
this.agentEventBus.emit("dexto:sessionOverrideCleared", { sessionId });
|
|
145
|
+
});
|
|
146
|
+
if (sessionIds.length > 0) {
|
|
147
|
+
logger.info("All session overrides cleared", { clearedSessions: sessionIds });
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// ============= CONFIG EXPORT =============
|
|
151
|
+
/**
|
|
152
|
+
* Export current runtime state as config.
|
|
153
|
+
* This allows users to save their runtime modifications as a new agent config.
|
|
154
|
+
*/
|
|
155
|
+
exportAsConfig() {
|
|
156
|
+
const exportedConfig = {
|
|
157
|
+
...this.baselineConfig,
|
|
158
|
+
llm: structuredClone(this.runtimeConfig.llm),
|
|
159
|
+
systemPrompt: this.runtimeConfig.systemPrompt,
|
|
160
|
+
mcpServers: structuredClone(this.runtimeConfig.mcpServers)
|
|
161
|
+
};
|
|
162
|
+
this.agentEventBus.emit("dexto:stateExported", {
|
|
163
|
+
config: exportedConfig
|
|
164
|
+
});
|
|
165
|
+
logger.info("Runtime state exported as config", {
|
|
166
|
+
exportedConfig
|
|
167
|
+
});
|
|
168
|
+
return exportedConfig;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Reset runtime state back to baseline configuration
|
|
172
|
+
*/
|
|
173
|
+
resetToBaseline() {
|
|
174
|
+
this.runtimeConfig = structuredClone(this.baselineConfig);
|
|
175
|
+
this.clearAllSessionOverrides();
|
|
176
|
+
this.agentEventBus.emit("dexto:stateReset", { toConfig: this.baselineConfig });
|
|
177
|
+
logger.info("Runtime state reset to baseline config");
|
|
178
|
+
}
|
|
179
|
+
// ============= CONVENIENCE GETTERS FOR USED FUNCTIONALITY =============
|
|
180
|
+
/**
|
|
181
|
+
* Get the current effective LLM configuration for a session.
|
|
182
|
+
* **Use this for session-specific LLM config** (includes session overrides).
|
|
183
|
+
*/
|
|
184
|
+
getLLMConfig(sessionId) {
|
|
185
|
+
return this.getRuntimeConfig(sessionId).llm;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
export {
|
|
189
|
+
AgentStateManager
|
|
190
|
+
};
|