@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,251 @@
|
|
|
1
|
+
import { InternalToolsProvider } from "./internal-tools/provider.js";
|
|
2
|
+
import { ToolError } from "./errors.js";
|
|
3
|
+
import { logger } from "../logger/index.js";
|
|
4
|
+
class ToolManager {
|
|
5
|
+
mcpManager;
|
|
6
|
+
internalToolsProvider;
|
|
7
|
+
confirmationProvider;
|
|
8
|
+
// Tool source prefixing - ALL tools get prefixed by source
|
|
9
|
+
static MCP_TOOL_PREFIX = "mcp--";
|
|
10
|
+
static INTERNAL_TOOL_PREFIX = "internal--";
|
|
11
|
+
// Tool caching for performance
|
|
12
|
+
toolsCache = {};
|
|
13
|
+
cacheValid = false;
|
|
14
|
+
constructor(mcpManager, confirmationProvider, options) {
|
|
15
|
+
this.mcpManager = mcpManager;
|
|
16
|
+
this.confirmationProvider = confirmationProvider;
|
|
17
|
+
if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
|
|
18
|
+
this.internalToolsProvider = new InternalToolsProvider(
|
|
19
|
+
options.internalToolsServices || {},
|
|
20
|
+
confirmationProvider,
|
|
21
|
+
options.internalToolsConfig
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
logger.debug("ToolManager initialized");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Initialize the ToolManager and its components
|
|
28
|
+
*/
|
|
29
|
+
async initialize() {
|
|
30
|
+
if (this.internalToolsProvider) {
|
|
31
|
+
await this.internalToolsProvider.initialize();
|
|
32
|
+
}
|
|
33
|
+
logger.debug("ToolManager initialization complete");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Invalidate the tools cache when tool sources change
|
|
37
|
+
*/
|
|
38
|
+
invalidateCache() {
|
|
39
|
+
this.cacheValid = false;
|
|
40
|
+
this.toolsCache = {};
|
|
41
|
+
}
|
|
42
|
+
getMcpManager() {
|
|
43
|
+
return this.mcpManager;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get all MCP tools (delegates to mcpManager.getAllTools())
|
|
47
|
+
* This provides access to MCP tools while maintaining separation of concerns
|
|
48
|
+
*/
|
|
49
|
+
async getMcpTools() {
|
|
50
|
+
return await this.mcpManager.getAllTools();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Build all tools from sources with universal prefixing
|
|
54
|
+
* ALL tools get prefixed by their source - no exceptions
|
|
55
|
+
*/
|
|
56
|
+
async buildAllTools() {
|
|
57
|
+
const allTools = {};
|
|
58
|
+
let mcpTools = {};
|
|
59
|
+
let internalTools = {};
|
|
60
|
+
try {
|
|
61
|
+
mcpTools = await this.mcpManager.getAllTools();
|
|
62
|
+
} catch (error) {
|
|
63
|
+
logger.error(
|
|
64
|
+
`Failed to get MCP tools: ${error instanceof Error ? error.message : String(error)}`
|
|
65
|
+
);
|
|
66
|
+
mcpTools = {};
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
internalTools = this.internalToolsProvider?.getAllTools() || {};
|
|
70
|
+
} catch (error) {
|
|
71
|
+
logger.error(
|
|
72
|
+
`Failed to get internal tools: ${error instanceof Error ? error.message : String(error)}`
|
|
73
|
+
);
|
|
74
|
+
internalTools = {};
|
|
75
|
+
}
|
|
76
|
+
for (const [toolName, toolDef] of Object.entries(internalTools)) {
|
|
77
|
+
const qualifiedName = `${ToolManager.INTERNAL_TOOL_PREFIX}${toolName}`;
|
|
78
|
+
allTools[qualifiedName] = {
|
|
79
|
+
...toolDef,
|
|
80
|
+
name: qualifiedName,
|
|
81
|
+
description: `${toolDef.description || "No description provided"} (internal tool)`
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
for (const [toolName, toolDef] of Object.entries(mcpTools)) {
|
|
85
|
+
const qualifiedName = `${ToolManager.MCP_TOOL_PREFIX}${toolName}`;
|
|
86
|
+
allTools[qualifiedName] = {
|
|
87
|
+
...toolDef,
|
|
88
|
+
name: qualifiedName,
|
|
89
|
+
description: `${toolDef.description || "No description provided"} (via MCP servers)`
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const totalTools = Object.keys(allTools).length;
|
|
93
|
+
const mcpCount = Object.keys(mcpTools).length;
|
|
94
|
+
const internalCount = Object.keys(internalTools).length;
|
|
95
|
+
logger.debug(
|
|
96
|
+
`\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${ToolManager.MCP_TOOL_PREFIX}*, ${internalCount} internal \u2192 ${ToolManager.INTERNAL_TOOL_PREFIX}*)`
|
|
97
|
+
);
|
|
98
|
+
return allTools;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get all available tools from all sources with conflict resolution
|
|
102
|
+
* This is the single interface the LLM uses to discover tools
|
|
103
|
+
* Uses caching to avoid rebuilding on every call
|
|
104
|
+
*/
|
|
105
|
+
async getAllTools() {
|
|
106
|
+
if (this.cacheValid) {
|
|
107
|
+
return this.toolsCache;
|
|
108
|
+
}
|
|
109
|
+
this.toolsCache = await this.buildAllTools();
|
|
110
|
+
this.cacheValid = true;
|
|
111
|
+
return this.toolsCache;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Execute a tool by routing based on universal prefix
|
|
115
|
+
* ALL tools must have source prefix - no exceptions
|
|
116
|
+
*/
|
|
117
|
+
async executeTool(toolName, args, sessionId) {
|
|
118
|
+
logger.debug(`\u{1F527} Tool execution requested: '${toolName}'`);
|
|
119
|
+
logger.debug(`Tool args: ${JSON.stringify(args, null, 2)}`);
|
|
120
|
+
const approved = await this.confirmationProvider.requestConfirmation({
|
|
121
|
+
toolName,
|
|
122
|
+
args,
|
|
123
|
+
...sessionId && { sessionId }
|
|
124
|
+
});
|
|
125
|
+
if (!approved) {
|
|
126
|
+
logger.debug(`\u{1F6AB} Tool execution denied: ${toolName}`);
|
|
127
|
+
throw ToolError.executionDenied(toolName, sessionId);
|
|
128
|
+
}
|
|
129
|
+
logger.debug(`\u2705 Tool execution approved: ${toolName}`);
|
|
130
|
+
logger.info(
|
|
131
|
+
`\u{1F527} Tool execution started for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
132
|
+
);
|
|
133
|
+
const startTime = Date.now();
|
|
134
|
+
try {
|
|
135
|
+
let result;
|
|
136
|
+
if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
|
|
137
|
+
logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
|
|
138
|
+
const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
|
|
139
|
+
if (actualToolName.length === 0) {
|
|
140
|
+
throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
141
|
+
}
|
|
142
|
+
logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
143
|
+
result = await this.mcpManager.executeTool(actualToolName, args, sessionId);
|
|
144
|
+
} else if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
145
|
+
logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
|
|
146
|
+
const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
147
|
+
if (actualToolName.length === 0) {
|
|
148
|
+
throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
149
|
+
}
|
|
150
|
+
if (!this.internalToolsProvider) {
|
|
151
|
+
throw ToolError.internalToolsNotInitialized(toolName);
|
|
152
|
+
}
|
|
153
|
+
logger.debug(`\u{1F3AF} Internal routing: '${toolName}' -> '${actualToolName}'`);
|
|
154
|
+
result = await this.internalToolsProvider.executeTool(
|
|
155
|
+
actualToolName,
|
|
156
|
+
args,
|
|
157
|
+
sessionId
|
|
158
|
+
);
|
|
159
|
+
} else {
|
|
160
|
+
logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
|
|
161
|
+
const stats = await this.getToolStats();
|
|
162
|
+
logger.error(
|
|
163
|
+
`\u274C Tool missing source prefix: '${toolName}' (expected '${ToolManager.MCP_TOOL_PREFIX}*' or '${ToolManager.INTERNAL_TOOL_PREFIX}*')`
|
|
164
|
+
);
|
|
165
|
+
logger.debug(`Available: ${stats.mcp} MCP tools, ${stats.internal} internal tools`);
|
|
166
|
+
throw ToolError.notFound(toolName);
|
|
167
|
+
}
|
|
168
|
+
const duration = Date.now() - startTime;
|
|
169
|
+
logger.debug(`\u{1F3AF} Tool execution completed in ${duration}ms: '${toolName}'`);
|
|
170
|
+
logger.info(
|
|
171
|
+
`\u2705 Tool execution completed successfully for ${toolName} in ${duration}ms, sessionId: ${sessionId ?? "global"}`
|
|
172
|
+
);
|
|
173
|
+
return result;
|
|
174
|
+
} catch (error) {
|
|
175
|
+
const duration = Date.now() - startTime;
|
|
176
|
+
logger.error(
|
|
177
|
+
`\u274C Tool execution failed for ${toolName} after ${duration}ms, sessionId: ${sessionId ?? "global"}: ${error instanceof Error ? error.message : String(error)}`
|
|
178
|
+
);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Check if a tool exists (must have proper source prefix)
|
|
184
|
+
*/
|
|
185
|
+
async hasTool(toolName) {
|
|
186
|
+
if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
|
|
187
|
+
const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
|
|
188
|
+
return this.mcpManager.getToolClient(actualToolName) !== void 0;
|
|
189
|
+
}
|
|
190
|
+
if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
191
|
+
const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
192
|
+
return this.internalToolsProvider?.hasTool(actualToolName) ?? false;
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get tool statistics across all sources
|
|
198
|
+
*/
|
|
199
|
+
async getToolStats() {
|
|
200
|
+
let mcpTools = {};
|
|
201
|
+
let internalTools = {};
|
|
202
|
+
try {
|
|
203
|
+
mcpTools = await this.mcpManager.getAllTools();
|
|
204
|
+
} catch (error) {
|
|
205
|
+
logger.error(
|
|
206
|
+
`Failed to get MCP tools for stats: ${error instanceof Error ? error.message : String(error)}`
|
|
207
|
+
);
|
|
208
|
+
mcpTools = {};
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
internalTools = this.internalToolsProvider?.getAllTools() || {};
|
|
212
|
+
} catch (error) {
|
|
213
|
+
logger.error(
|
|
214
|
+
`Failed to get internal tools for stats: ${error instanceof Error ? error.message : String(error)}`
|
|
215
|
+
);
|
|
216
|
+
internalTools = {};
|
|
217
|
+
}
|
|
218
|
+
const mcpCount = Object.keys(mcpTools).length;
|
|
219
|
+
const internalCount = Object.keys(internalTools).length;
|
|
220
|
+
return {
|
|
221
|
+
total: mcpCount + internalCount,
|
|
222
|
+
// No conflicts with universal prefixing
|
|
223
|
+
mcp: mcpCount,
|
|
224
|
+
internal: internalCount
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get the source of a tool (mcp, internal, or unknown)
|
|
229
|
+
* @param toolName The name of the tool to check
|
|
230
|
+
* @returns The source of the tool
|
|
231
|
+
*/
|
|
232
|
+
getToolSource(toolName) {
|
|
233
|
+
if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX) && toolName.length > ToolManager.MCP_TOOL_PREFIX.length) {
|
|
234
|
+
return "mcp";
|
|
235
|
+
}
|
|
236
|
+
if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX) && toolName.length > ToolManager.INTERNAL_TOOL_PREFIX.length) {
|
|
237
|
+
return "internal";
|
|
238
|
+
}
|
|
239
|
+
return "unknown";
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Refresh tool discovery (call when MCP servers change)
|
|
243
|
+
*/
|
|
244
|
+
async refresh() {
|
|
245
|
+
this.invalidateCache();
|
|
246
|
+
logger.debug("ToolManager refreshed");
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
export {
|
|
250
|
+
ToolManager
|
|
251
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import { ZodSchema } from 'zod';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Context passed to tool execution
|
|
6
|
+
*/
|
|
7
|
+
interface ToolExecutionContext {
|
|
8
|
+
/** Session ID if available */
|
|
9
|
+
sessionId?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Internal tool interface - for tools implemented within Dexto
|
|
13
|
+
*/
|
|
14
|
+
interface InternalTool {
|
|
15
|
+
/** Unique identifier for the tool */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Human-readable description of what the tool does */
|
|
18
|
+
description: string;
|
|
19
|
+
/** Zod schema defining the input parameters */
|
|
20
|
+
inputSchema: ZodSchema;
|
|
21
|
+
/** The actual function that executes the tool - input is validated by Zod before execution */
|
|
22
|
+
execute: (input: unknown, context?: ToolExecutionContext) => Promise<unknown> | unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Standard tool set interface - used by AI/LLM services
|
|
26
|
+
* Each tool entry contains JSON Schema parameters
|
|
27
|
+
*/
|
|
28
|
+
interface ToolSet {
|
|
29
|
+
[key: string]: {
|
|
30
|
+
name?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
parameters: JSONSchema7;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Tool execution result
|
|
37
|
+
*/
|
|
38
|
+
interface ToolResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
data?: any;
|
|
41
|
+
error?: string;
|
|
42
|
+
metadata?: {
|
|
43
|
+
type: string;
|
|
44
|
+
mimeType?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Tool call representation
|
|
49
|
+
*/
|
|
50
|
+
interface ToolCall {
|
|
51
|
+
id: string;
|
|
52
|
+
toolName: string;
|
|
53
|
+
input: any;
|
|
54
|
+
output?: any;
|
|
55
|
+
error?: string;
|
|
56
|
+
duration?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Interface for any provider of tools
|
|
60
|
+
*/
|
|
61
|
+
interface ToolProvider {
|
|
62
|
+
getTools(): Promise<ToolSet>;
|
|
63
|
+
callTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export type { InternalTool, ToolCall, ToolExecutionContext, ToolProvider, ToolResult, ToolSet };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import { ZodSchema } from 'zod';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Context passed to tool execution
|
|
6
|
+
*/
|
|
7
|
+
interface ToolExecutionContext {
|
|
8
|
+
/** Session ID if available */
|
|
9
|
+
sessionId?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Internal tool interface - for tools implemented within Dexto
|
|
13
|
+
*/
|
|
14
|
+
interface InternalTool {
|
|
15
|
+
/** Unique identifier for the tool */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Human-readable description of what the tool does */
|
|
18
|
+
description: string;
|
|
19
|
+
/** Zod schema defining the input parameters */
|
|
20
|
+
inputSchema: ZodSchema;
|
|
21
|
+
/** The actual function that executes the tool - input is validated by Zod before execution */
|
|
22
|
+
execute: (input: unknown, context?: ToolExecutionContext) => Promise<unknown> | unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Standard tool set interface - used by AI/LLM services
|
|
26
|
+
* Each tool entry contains JSON Schema parameters
|
|
27
|
+
*/
|
|
28
|
+
interface ToolSet {
|
|
29
|
+
[key: string]: {
|
|
30
|
+
name?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
parameters: JSONSchema7;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Tool execution result
|
|
37
|
+
*/
|
|
38
|
+
interface ToolResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
data?: any;
|
|
41
|
+
error?: string;
|
|
42
|
+
metadata?: {
|
|
43
|
+
type: string;
|
|
44
|
+
mimeType?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Tool call representation
|
|
49
|
+
*/
|
|
50
|
+
interface ToolCall {
|
|
51
|
+
id: string;
|
|
52
|
+
toolName: string;
|
|
53
|
+
input: any;
|
|
54
|
+
output?: any;
|
|
55
|
+
error?: string;
|
|
56
|
+
duration?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Interface for any provider of tools
|
|
60
|
+
*/
|
|
61
|
+
interface ToolProvider {
|
|
62
|
+
getTools(): Promise<ToolSet>;
|
|
63
|
+
callTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export type { InternalTool, ToolCall, ToolExecutionContext, ToolProvider, ToolResult, ToolSet };
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
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 api_key_resolver_exports = {};
|
|
20
|
+
__export(api_key_resolver_exports, {
|
|
21
|
+
PROVIDER_API_KEY_MAP: () => PROVIDER_API_KEY_MAP,
|
|
22
|
+
getPrimaryApiKeyEnvVar: () => getPrimaryApiKeyEnvVar,
|
|
23
|
+
resolveApiKeyForProvider: () => resolveApiKeyForProvider
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(api_key_resolver_exports);
|
|
26
|
+
const PROVIDER_API_KEY_MAP = {
|
|
27
|
+
openai: ["OPENAI_API_KEY", "OPENAI_KEY"],
|
|
28
|
+
"openai-compatible": ["OPENAI_API_KEY", "OPENAI_KEY"],
|
|
29
|
+
// Uses same keys as openai
|
|
30
|
+
anthropic: ["ANTHROPIC_API_KEY", "ANTHROPIC_KEY", "CLAUDE_API_KEY"],
|
|
31
|
+
google: ["GOOGLE_GENERATIVE_AI_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY"],
|
|
32
|
+
groq: ["GROQ_API_KEY"],
|
|
33
|
+
cohere: ["COHERE_API_KEY"],
|
|
34
|
+
xai: ["XAI_API_KEY", "X_AI_API_KEY"]
|
|
35
|
+
// perplexity: ['PERPLEXITY_API_KEY'],
|
|
36
|
+
// together: ['TOGETHER_API_KEY'],
|
|
37
|
+
// fireworks: ['FIREWORKS_API_KEY'],
|
|
38
|
+
// deepseek: ['DEEPSEEK_API_KEY'],
|
|
39
|
+
};
|
|
40
|
+
function resolveApiKeyForProvider(provider) {
|
|
41
|
+
const envVars = PROVIDER_API_KEY_MAP[provider];
|
|
42
|
+
if (!envVars) {
|
|
43
|
+
return void 0;
|
|
44
|
+
}
|
|
45
|
+
for (const envVar of envVars) {
|
|
46
|
+
const value = process.env[envVar];
|
|
47
|
+
if (value && value.trim()) {
|
|
48
|
+
return value.trim();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
function getPrimaryApiKeyEnvVar(provider) {
|
|
54
|
+
const envVars = PROVIDER_API_KEY_MAP[provider];
|
|
55
|
+
return envVars?.[0] || `${provider.toUpperCase()}_API_KEY`;
|
|
56
|
+
}
|
|
57
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
58
|
+
0 && (module.exports = {
|
|
59
|
+
PROVIDER_API_KEY_MAP,
|
|
60
|
+
getPrimaryApiKeyEnvVar,
|
|
61
|
+
resolveApiKeyForProvider
|
|
62
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LLMProvider } from '../llm/types.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Utility for resolving API keys from environment variables.
|
|
5
|
+
* This consolidates the API key resolution logic used across CLI and core components.
|
|
6
|
+
*/
|
|
7
|
+
declare const PROVIDER_API_KEY_MAP: Record<LLMProvider, string[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves API key for a given provider from environment variables.
|
|
10
|
+
*
|
|
11
|
+
* @param provider The LLM provider
|
|
12
|
+
* @returns Resolved API key or undefined if not found
|
|
13
|
+
*/
|
|
14
|
+
declare function resolveApiKeyForProvider(provider: LLMProvider): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the primary environment variable name for a provider (for display/error messages).
|
|
17
|
+
*
|
|
18
|
+
* @param provider The LLM provider
|
|
19
|
+
* @returns Primary environment variable name
|
|
20
|
+
*/
|
|
21
|
+
declare function getPrimaryApiKeyEnvVar(provider: LLMProvider): string;
|
|
22
|
+
|
|
23
|
+
export { PROVIDER_API_KEY_MAP, getPrimaryApiKeyEnvVar, resolveApiKeyForProvider };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LLMProvider } from '../llm/types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Utility for resolving API keys from environment variables.
|
|
5
|
+
* This consolidates the API key resolution logic used across CLI and core components.
|
|
6
|
+
*/
|
|
7
|
+
declare const PROVIDER_API_KEY_MAP: Record<LLMProvider, string[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves API key for a given provider from environment variables.
|
|
10
|
+
*
|
|
11
|
+
* @param provider The LLM provider
|
|
12
|
+
* @returns Resolved API key or undefined if not found
|
|
13
|
+
*/
|
|
14
|
+
declare function resolveApiKeyForProvider(provider: LLMProvider): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the primary environment variable name for a provider (for display/error messages).
|
|
17
|
+
*
|
|
18
|
+
* @param provider The LLM provider
|
|
19
|
+
* @returns Primary environment variable name
|
|
20
|
+
*/
|
|
21
|
+
declare function getPrimaryApiKeyEnvVar(provider: LLMProvider): string;
|
|
22
|
+
|
|
23
|
+
export { PROVIDER_API_KEY_MAP, getPrimaryApiKeyEnvVar, resolveApiKeyForProvider };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const PROVIDER_API_KEY_MAP = {
|
|
2
|
+
openai: ["OPENAI_API_KEY", "OPENAI_KEY"],
|
|
3
|
+
"openai-compatible": ["OPENAI_API_KEY", "OPENAI_KEY"],
|
|
4
|
+
// Uses same keys as openai
|
|
5
|
+
anthropic: ["ANTHROPIC_API_KEY", "ANTHROPIC_KEY", "CLAUDE_API_KEY"],
|
|
6
|
+
google: ["GOOGLE_GENERATIVE_AI_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY"],
|
|
7
|
+
groq: ["GROQ_API_KEY"],
|
|
8
|
+
cohere: ["COHERE_API_KEY"],
|
|
9
|
+
xai: ["XAI_API_KEY", "X_AI_API_KEY"]
|
|
10
|
+
// perplexity: ['PERPLEXITY_API_KEY'],
|
|
11
|
+
// together: ['TOGETHER_API_KEY'],
|
|
12
|
+
// fireworks: ['FIREWORKS_API_KEY'],
|
|
13
|
+
// deepseek: ['DEEPSEEK_API_KEY'],
|
|
14
|
+
};
|
|
15
|
+
function resolveApiKeyForProvider(provider) {
|
|
16
|
+
const envVars = PROVIDER_API_KEY_MAP[provider];
|
|
17
|
+
if (!envVars) {
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
for (const envVar of envVars) {
|
|
21
|
+
const value = process.env[envVar];
|
|
22
|
+
if (value && value.trim()) {
|
|
23
|
+
return value.trim();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return void 0;
|
|
27
|
+
}
|
|
28
|
+
function getPrimaryApiKeyEnvVar(provider) {
|
|
29
|
+
const envVars = PROVIDER_API_KEY_MAP[provider];
|
|
30
|
+
return envVars?.[0] || `${provider.toUpperCase()}_API_KEY`;
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
PROVIDER_API_KEY_MAP,
|
|
34
|
+
getPrimaryApiKeyEnvVar,
|
|
35
|
+
resolveApiKeyForProvider
|
|
36
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
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 api_key_store_exports = {};
|
|
20
|
+
__export(api_key_store_exports, {
|
|
21
|
+
getProviderKeyStatus: () => getProviderKeyStatus,
|
|
22
|
+
listProviderKeyStatus: () => listProviderKeyStatus,
|
|
23
|
+
saveProviderApiKey: () => saveProviderApiKey
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(api_key_store_exports);
|
|
26
|
+
var import_types = require("../llm/types.js");
|
|
27
|
+
var import_api_key_resolver = require("./api-key-resolver.js");
|
|
28
|
+
var import_env = require("./env.js");
|
|
29
|
+
var import_path = require("./path.js");
|
|
30
|
+
async function saveProviderApiKey(provider, apiKey, startPath) {
|
|
31
|
+
if (!provider) throw new Error("provider is required");
|
|
32
|
+
if (!apiKey || !apiKey.trim()) throw new Error("apiKey is required");
|
|
33
|
+
const envVar = (0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider);
|
|
34
|
+
const targetEnvPath = (0, import_path.getDextoEnvPath)(startPath);
|
|
35
|
+
await (0, import_env.updateEnvFile)(targetEnvPath, { [envVar]: apiKey });
|
|
36
|
+
process.env[envVar] = apiKey;
|
|
37
|
+
return { envVar, targetEnvPath };
|
|
38
|
+
}
|
|
39
|
+
function getProviderKeyStatus(provider) {
|
|
40
|
+
const envVar = (0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider);
|
|
41
|
+
const key = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
|
|
42
|
+
return { hasApiKey: Boolean(key && key.trim()), envVar };
|
|
43
|
+
}
|
|
44
|
+
function listProviderKeyStatus() {
|
|
45
|
+
const result = {};
|
|
46
|
+
for (const p of import_types.LLM_PROVIDERS) {
|
|
47
|
+
result[p] = getProviderKeyStatus(p);
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
getProviderKeyStatus,
|
|
54
|
+
listProviderKeyStatus,
|
|
55
|
+
saveProviderApiKey
|
|
56
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LLMProvider } from '../llm/types.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Save provider API key to the correct .env and make it immediately available in-process.
|
|
5
|
+
* Never returns the key; only metadata for callers to display.
|
|
6
|
+
*/
|
|
7
|
+
declare function saveProviderApiKey(provider: LLMProvider, apiKey: string, startPath?: string): Promise<{
|
|
8
|
+
envVar: string;
|
|
9
|
+
targetEnvPath: string;
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Get key presence and primary env var name for a provider.
|
|
13
|
+
*/
|
|
14
|
+
declare function getProviderKeyStatus(provider: LLMProvider): {
|
|
15
|
+
hasApiKey: boolean;
|
|
16
|
+
envVar: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* List key presence across all known providers.
|
|
20
|
+
*/
|
|
21
|
+
declare function listProviderKeyStatus(): Record<string, {
|
|
22
|
+
hasApiKey: boolean;
|
|
23
|
+
envVar: string;
|
|
24
|
+
}>;
|
|
25
|
+
|
|
26
|
+
export { getProviderKeyStatus, listProviderKeyStatus, saveProviderApiKey };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LLMProvider } from '../llm/types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Save provider API key to the correct .env and make it immediately available in-process.
|
|
5
|
+
* Never returns the key; only metadata for callers to display.
|
|
6
|
+
*/
|
|
7
|
+
declare function saveProviderApiKey(provider: LLMProvider, apiKey: string, startPath?: string): Promise<{
|
|
8
|
+
envVar: string;
|
|
9
|
+
targetEnvPath: string;
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Get key presence and primary env var name for a provider.
|
|
13
|
+
*/
|
|
14
|
+
declare function getProviderKeyStatus(provider: LLMProvider): {
|
|
15
|
+
hasApiKey: boolean;
|
|
16
|
+
envVar: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* List key presence across all known providers.
|
|
20
|
+
*/
|
|
21
|
+
declare function listProviderKeyStatus(): Record<string, {
|
|
22
|
+
hasApiKey: boolean;
|
|
23
|
+
envVar: string;
|
|
24
|
+
}>;
|
|
25
|
+
|
|
26
|
+
export { getProviderKeyStatus, listProviderKeyStatus, saveProviderApiKey };
|