@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,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const SearchHistoryInputSchema = z.object({
|
|
3
|
+
query: z.string().describe("The search query to find in conversation history"),
|
|
4
|
+
mode: z.enum(["messages", "sessions"]).describe(
|
|
5
|
+
'Search mode: "messages" searches for individual messages, "sessions" finds sessions containing the query'
|
|
6
|
+
),
|
|
7
|
+
sessionId: z.string().optional().describe('Optional: limit search to a specific session (only for mode="messages")'),
|
|
8
|
+
role: z.enum(["user", "assistant", "system", "tool"]).optional().describe('Optional: filter by message role (only for mode="messages")'),
|
|
9
|
+
limit: z.number().optional().default(20).describe(
|
|
10
|
+
'Optional: maximum number of results to return (default: 20, only for mode="messages")'
|
|
11
|
+
),
|
|
12
|
+
offset: z.number().optional().default(0).describe('Optional: offset for pagination (default: 0, only for mode="messages")')
|
|
13
|
+
});
|
|
14
|
+
function createSearchHistoryTool(searchService) {
|
|
15
|
+
return {
|
|
16
|
+
id: "search_history",
|
|
17
|
+
description: 'Search through conversation history across sessions. Use mode="messages" to search for specific messages, or mode="sessions" to find sessions containing the query. For message search, you can filter by sessionId (specific session), role (user/assistant/system/tool), limit results, and set pagination offset.',
|
|
18
|
+
inputSchema: SearchHistoryInputSchema,
|
|
19
|
+
// TODO: Enhance to get SearchService via ToolExecutionContext for better separation of concerns
|
|
20
|
+
execute: async (input, _context) => {
|
|
21
|
+
const { query, mode, sessionId, role, limit, offset } = input;
|
|
22
|
+
if (mode === "messages") {
|
|
23
|
+
const searchOptions = {};
|
|
24
|
+
if (sessionId !== void 0) searchOptions.sessionId = sessionId;
|
|
25
|
+
if (role !== void 0) searchOptions.role = role;
|
|
26
|
+
if (limit !== void 0) searchOptions.limit = limit;
|
|
27
|
+
if (offset !== void 0) searchOptions.offset = offset;
|
|
28
|
+
return await searchService.searchMessages(query, searchOptions);
|
|
29
|
+
} else {
|
|
30
|
+
return await searchService.searchSessions(query);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
createSearchHistoryTool
|
|
37
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var internal_tools_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(internal_tools_exports);
|
|
18
|
+
__reExport(internal_tools_exports, require("./provider.js"), module.exports);
|
|
19
|
+
__reExport(internal_tools_exports, require("./registry.js"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("./provider.js"),
|
|
23
|
+
...require("./registry.js")
|
|
24
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { InternalToolsProvider } from './provider.cjs';
|
|
2
|
+
export { INTERNAL_TOOL_NAMES, INTERNAL_TOOL_REGISTRY, InternalToolsServices, KnownInternalTool, getInternalToolInfo } from './registry.cjs';
|
|
3
|
+
import '../types.cjs';
|
|
4
|
+
import 'json-schema';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import '../confirmation/types.cjs';
|
|
7
|
+
import '../confirmation/allowed-tools-provider/types.cjs';
|
|
8
|
+
import '../schemas.cjs';
|
|
9
|
+
import '../../search/search-service.cjs';
|
|
10
|
+
import '../../storage/backend/database-backend.cjs';
|
|
11
|
+
import '../../search/types.cjs';
|
|
12
|
+
import '../../context/types.cjs';
|
|
13
|
+
import '../../llm/types.cjs';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { InternalToolsProvider } from './provider.js';
|
|
2
|
+
export { INTERNAL_TOOL_NAMES, INTERNAL_TOOL_REGISTRY, InternalToolsServices, KnownInternalTool, getInternalToolInfo } from './registry.js';
|
|
3
|
+
import '../types.js';
|
|
4
|
+
import 'json-schema';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import '../confirmation/types.js';
|
|
7
|
+
import '../confirmation/allowed-tools-provider/types.js';
|
|
8
|
+
import '../schemas.js';
|
|
9
|
+
import '../../search/search-service.js';
|
|
10
|
+
import '../../storage/backend/database-backend.js';
|
|
11
|
+
import '../../search/types.js';
|
|
12
|
+
import '../../context/types.js';
|
|
13
|
+
import '../../llm/types.js';
|
|
@@ -0,0 +1,159 @@
|
|
|
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 provider_exports = {};
|
|
20
|
+
__export(provider_exports, {
|
|
21
|
+
InternalToolsProvider: () => InternalToolsProvider
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(provider_exports);
|
|
24
|
+
var import_logger = require("../../logger/index.js");
|
|
25
|
+
var import_errors = require("../errors.js");
|
|
26
|
+
var import_schema = require("../../utils/schema.js");
|
|
27
|
+
var import_registry = require("./registry.js");
|
|
28
|
+
class InternalToolsProvider {
|
|
29
|
+
services;
|
|
30
|
+
tools = /* @__PURE__ */ new Map();
|
|
31
|
+
// ← Store original InternalTool
|
|
32
|
+
confirmationProvider;
|
|
33
|
+
config;
|
|
34
|
+
constructor(services, confirmationProvider, config = []) {
|
|
35
|
+
this.services = services;
|
|
36
|
+
this.confirmationProvider = confirmationProvider;
|
|
37
|
+
this.config = config;
|
|
38
|
+
import_logger.logger.debug("InternalToolsProvider initialized with config:", config);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Initialize the internal tools provider by registering all available internal tools
|
|
42
|
+
*/
|
|
43
|
+
async initialize() {
|
|
44
|
+
import_logger.logger.info("Initializing InternalToolsProvider...");
|
|
45
|
+
try {
|
|
46
|
+
if (this.config.length === 0) {
|
|
47
|
+
import_logger.logger.info("No internal tools enabled by configuration");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.registerInternalTools();
|
|
51
|
+
const toolCount = this.tools.size;
|
|
52
|
+
import_logger.logger.info(`InternalToolsProvider initialized with ${toolCount} internal tools`);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
import_logger.logger.error(
|
|
55
|
+
`Failed to initialize InternalToolsProvider: ${error instanceof Error ? error.message : String(error)}`
|
|
56
|
+
);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Register all available internal tools based on available services and configuration
|
|
62
|
+
*/
|
|
63
|
+
registerInternalTools() {
|
|
64
|
+
for (const toolName of this.config) {
|
|
65
|
+
const toolInfo = (0, import_registry.getInternalToolInfo)(toolName);
|
|
66
|
+
const missingServices = toolInfo.requiredServices.filter(
|
|
67
|
+
(serviceKey) => !this.services[serviceKey]
|
|
68
|
+
);
|
|
69
|
+
if (missingServices.length > 0) {
|
|
70
|
+
import_logger.logger.debug(
|
|
71
|
+
`Skipping ${toolName} internal tool - missing services: ${missingServices.join(", ")}`
|
|
72
|
+
);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const tool = toolInfo.factory(this.services);
|
|
77
|
+
this.tools.set(toolName, tool);
|
|
78
|
+
import_logger.logger.debug(`Registered ${toolName} internal tool`);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
import_logger.logger.error(
|
|
81
|
+
`Failed to register ${toolName} internal tool: ${error instanceof Error ? error.message : String(error)}`
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if a specific tool is enabled by configuration
|
|
88
|
+
*/
|
|
89
|
+
isToolEnabled(toolName) {
|
|
90
|
+
return this.config.includes(toolName);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if a tool exists
|
|
94
|
+
*/
|
|
95
|
+
hasTool(toolName) {
|
|
96
|
+
return this.tools.has(toolName);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Execute an internal tool - confirmation is handled by ToolManager
|
|
100
|
+
*/
|
|
101
|
+
async executeTool(toolName, args, sessionId) {
|
|
102
|
+
const tool = this.tools.get(toolName);
|
|
103
|
+
if (!tool) {
|
|
104
|
+
import_logger.logger.error(`\u274C No internal tool found: ${toolName}`);
|
|
105
|
+
import_logger.logger.debug(`Available internal tools: ${Array.from(this.tools.keys()).join(", ")}`);
|
|
106
|
+
throw import_errors.ToolError.notFound(toolName);
|
|
107
|
+
}
|
|
108
|
+
const validationResult = tool.inputSchema.safeParse(args);
|
|
109
|
+
if (!validationResult.success) {
|
|
110
|
+
import_logger.logger.error(
|
|
111
|
+
`\u274C Invalid arguments for tool ${toolName}:`,
|
|
112
|
+
validationResult.error.message
|
|
113
|
+
);
|
|
114
|
+
throw import_errors.ToolError.invalidName(
|
|
115
|
+
toolName,
|
|
116
|
+
`Invalid arguments: ${validationResult.error.message}`
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const context = { sessionId };
|
|
121
|
+
const result = await tool.execute(validationResult.data, context);
|
|
122
|
+
return result;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
import_logger.logger.error(`\u274C Internal tool execution failed: ${toolName}`, error);
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get all tools in ToolSet format with on-demand JSON Schema conversion
|
|
130
|
+
*/
|
|
131
|
+
getAllTools() {
|
|
132
|
+
const toolSet = {};
|
|
133
|
+
for (const [name, tool] of this.tools) {
|
|
134
|
+
toolSet[name] = {
|
|
135
|
+
name: tool.id,
|
|
136
|
+
description: tool.description,
|
|
137
|
+
parameters: (0, import_schema.convertZodSchemaToJsonSchema)(tool.inputSchema)
|
|
138
|
+
// ← Convert on-demand
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return toolSet;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get tool names
|
|
145
|
+
*/
|
|
146
|
+
getToolNames() {
|
|
147
|
+
return Array.from(this.tools.keys());
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get tool count
|
|
151
|
+
*/
|
|
152
|
+
getToolCount() {
|
|
153
|
+
return this.tools.size;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
157
|
+
0 && (module.exports = {
|
|
158
|
+
InternalToolsProvider
|
|
159
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ToolSet } from '../types.cjs';
|
|
2
|
+
import { ToolConfirmationProvider } from '../confirmation/types.cjs';
|
|
3
|
+
import { InternalToolsServices } from './registry.cjs';
|
|
4
|
+
import { InternalToolsConfig } from '../schemas.cjs';
|
|
5
|
+
import 'json-schema';
|
|
6
|
+
import 'zod';
|
|
7
|
+
import '../confirmation/allowed-tools-provider/types.cjs';
|
|
8
|
+
import '../../search/search-service.cjs';
|
|
9
|
+
import '../../storage/backend/database-backend.cjs';
|
|
10
|
+
import '../../search/types.cjs';
|
|
11
|
+
import '../../context/types.cjs';
|
|
12
|
+
import '../../llm/types.cjs';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Provider for built-in internal tools that are part of the core system
|
|
16
|
+
*
|
|
17
|
+
* This provider manages internal tools that are shipped with the core system
|
|
18
|
+
* and need access to core services like SearchService, SessionManager, etc.
|
|
19
|
+
*
|
|
20
|
+
* Benefits:
|
|
21
|
+
* - Clean separation: ToolManager doesn't need to know about specific services
|
|
22
|
+
* - Easy to extend: Just add new tools and services as needed
|
|
23
|
+
* - Lightweight: Direct tool management without complex infrastructure
|
|
24
|
+
* - No unnecessary ProcessedInternalTool wrapper - uses InternalTool directly
|
|
25
|
+
*/
|
|
26
|
+
declare class InternalToolsProvider {
|
|
27
|
+
private services;
|
|
28
|
+
private tools;
|
|
29
|
+
private confirmationProvider;
|
|
30
|
+
private config;
|
|
31
|
+
constructor(services: InternalToolsServices, confirmationProvider: ToolConfirmationProvider, config?: InternalToolsConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Initialize the internal tools provider by registering all available internal tools
|
|
34
|
+
*/
|
|
35
|
+
initialize(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Register all available internal tools based on available services and configuration
|
|
38
|
+
*/
|
|
39
|
+
private registerInternalTools;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a specific tool is enabled by configuration
|
|
42
|
+
*/
|
|
43
|
+
private isToolEnabled;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a tool exists
|
|
46
|
+
*/
|
|
47
|
+
hasTool(toolName: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Execute an internal tool - confirmation is handled by ToolManager
|
|
50
|
+
*/
|
|
51
|
+
executeTool(toolName: string, args: Record<string, unknown>, sessionId?: string): Promise<unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Get all tools in ToolSet format with on-demand JSON Schema conversion
|
|
54
|
+
*/
|
|
55
|
+
getAllTools(): ToolSet;
|
|
56
|
+
/**
|
|
57
|
+
* Get tool names
|
|
58
|
+
*/
|
|
59
|
+
getToolNames(): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Get tool count
|
|
62
|
+
*/
|
|
63
|
+
getToolCount(): number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { InternalToolsProvider };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ToolSet } from '../types.js';
|
|
2
|
+
import { ToolConfirmationProvider } from '../confirmation/types.js';
|
|
3
|
+
import { InternalToolsServices } from './registry.js';
|
|
4
|
+
import { InternalToolsConfig } from '../schemas.js';
|
|
5
|
+
import 'json-schema';
|
|
6
|
+
import 'zod';
|
|
7
|
+
import '../confirmation/allowed-tools-provider/types.js';
|
|
8
|
+
import '../../search/search-service.js';
|
|
9
|
+
import '../../storage/backend/database-backend.js';
|
|
10
|
+
import '../../search/types.js';
|
|
11
|
+
import '../../context/types.js';
|
|
12
|
+
import '../../llm/types.js';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Provider for built-in internal tools that are part of the core system
|
|
16
|
+
*
|
|
17
|
+
* This provider manages internal tools that are shipped with the core system
|
|
18
|
+
* and need access to core services like SearchService, SessionManager, etc.
|
|
19
|
+
*
|
|
20
|
+
* Benefits:
|
|
21
|
+
* - Clean separation: ToolManager doesn't need to know about specific services
|
|
22
|
+
* - Easy to extend: Just add new tools and services as needed
|
|
23
|
+
* - Lightweight: Direct tool management without complex infrastructure
|
|
24
|
+
* - No unnecessary ProcessedInternalTool wrapper - uses InternalTool directly
|
|
25
|
+
*/
|
|
26
|
+
declare class InternalToolsProvider {
|
|
27
|
+
private services;
|
|
28
|
+
private tools;
|
|
29
|
+
private confirmationProvider;
|
|
30
|
+
private config;
|
|
31
|
+
constructor(services: InternalToolsServices, confirmationProvider: ToolConfirmationProvider, config?: InternalToolsConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Initialize the internal tools provider by registering all available internal tools
|
|
34
|
+
*/
|
|
35
|
+
initialize(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Register all available internal tools based on available services and configuration
|
|
38
|
+
*/
|
|
39
|
+
private registerInternalTools;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a specific tool is enabled by configuration
|
|
42
|
+
*/
|
|
43
|
+
private isToolEnabled;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a tool exists
|
|
46
|
+
*/
|
|
47
|
+
hasTool(toolName: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Execute an internal tool - confirmation is handled by ToolManager
|
|
50
|
+
*/
|
|
51
|
+
executeTool(toolName: string, args: Record<string, unknown>, sessionId?: string): Promise<unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Get all tools in ToolSet format with on-demand JSON Schema conversion
|
|
54
|
+
*/
|
|
55
|
+
getAllTools(): ToolSet;
|
|
56
|
+
/**
|
|
57
|
+
* Get tool names
|
|
58
|
+
*/
|
|
59
|
+
getToolNames(): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Get tool count
|
|
62
|
+
*/
|
|
63
|
+
getToolCount(): number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { InternalToolsProvider };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { logger } from "../../logger/index.js";
|
|
2
|
+
import { ToolError } from "../errors.js";
|
|
3
|
+
import { convertZodSchemaToJsonSchema } from "../../utils/schema.js";
|
|
4
|
+
import { getInternalToolInfo } from "./registry.js";
|
|
5
|
+
class InternalToolsProvider {
|
|
6
|
+
services;
|
|
7
|
+
tools = /* @__PURE__ */ new Map();
|
|
8
|
+
// ← Store original InternalTool
|
|
9
|
+
confirmationProvider;
|
|
10
|
+
config;
|
|
11
|
+
constructor(services, confirmationProvider, config = []) {
|
|
12
|
+
this.services = services;
|
|
13
|
+
this.confirmationProvider = confirmationProvider;
|
|
14
|
+
this.config = config;
|
|
15
|
+
logger.debug("InternalToolsProvider initialized with config:", config);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Initialize the internal tools provider by registering all available internal tools
|
|
19
|
+
*/
|
|
20
|
+
async initialize() {
|
|
21
|
+
logger.info("Initializing InternalToolsProvider...");
|
|
22
|
+
try {
|
|
23
|
+
if (this.config.length === 0) {
|
|
24
|
+
logger.info("No internal tools enabled by configuration");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.registerInternalTools();
|
|
28
|
+
const toolCount = this.tools.size;
|
|
29
|
+
logger.info(`InternalToolsProvider initialized with ${toolCount} internal tools`);
|
|
30
|
+
} catch (error) {
|
|
31
|
+
logger.error(
|
|
32
|
+
`Failed to initialize InternalToolsProvider: ${error instanceof Error ? error.message : String(error)}`
|
|
33
|
+
);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Register all available internal tools based on available services and configuration
|
|
39
|
+
*/
|
|
40
|
+
registerInternalTools() {
|
|
41
|
+
for (const toolName of this.config) {
|
|
42
|
+
const toolInfo = getInternalToolInfo(toolName);
|
|
43
|
+
const missingServices = toolInfo.requiredServices.filter(
|
|
44
|
+
(serviceKey) => !this.services[serviceKey]
|
|
45
|
+
);
|
|
46
|
+
if (missingServices.length > 0) {
|
|
47
|
+
logger.debug(
|
|
48
|
+
`Skipping ${toolName} internal tool - missing services: ${missingServices.join(", ")}`
|
|
49
|
+
);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
const tool = toolInfo.factory(this.services);
|
|
54
|
+
this.tools.set(toolName, tool);
|
|
55
|
+
logger.debug(`Registered ${toolName} internal tool`);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
logger.error(
|
|
58
|
+
`Failed to register ${toolName} internal tool: ${error instanceof Error ? error.message : String(error)}`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Check if a specific tool is enabled by configuration
|
|
65
|
+
*/
|
|
66
|
+
isToolEnabled(toolName) {
|
|
67
|
+
return this.config.includes(toolName);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if a tool exists
|
|
71
|
+
*/
|
|
72
|
+
hasTool(toolName) {
|
|
73
|
+
return this.tools.has(toolName);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Execute an internal tool - confirmation is handled by ToolManager
|
|
77
|
+
*/
|
|
78
|
+
async executeTool(toolName, args, sessionId) {
|
|
79
|
+
const tool = this.tools.get(toolName);
|
|
80
|
+
if (!tool) {
|
|
81
|
+
logger.error(`\u274C No internal tool found: ${toolName}`);
|
|
82
|
+
logger.debug(`Available internal tools: ${Array.from(this.tools.keys()).join(", ")}`);
|
|
83
|
+
throw ToolError.notFound(toolName);
|
|
84
|
+
}
|
|
85
|
+
const validationResult = tool.inputSchema.safeParse(args);
|
|
86
|
+
if (!validationResult.success) {
|
|
87
|
+
logger.error(
|
|
88
|
+
`\u274C Invalid arguments for tool ${toolName}:`,
|
|
89
|
+
validationResult.error.message
|
|
90
|
+
);
|
|
91
|
+
throw ToolError.invalidName(
|
|
92
|
+
toolName,
|
|
93
|
+
`Invalid arguments: ${validationResult.error.message}`
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
const context = { sessionId };
|
|
98
|
+
const result = await tool.execute(validationResult.data, context);
|
|
99
|
+
return result;
|
|
100
|
+
} catch (error) {
|
|
101
|
+
logger.error(`\u274C Internal tool execution failed: ${toolName}`, error);
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get all tools in ToolSet format with on-demand JSON Schema conversion
|
|
107
|
+
*/
|
|
108
|
+
getAllTools() {
|
|
109
|
+
const toolSet = {};
|
|
110
|
+
for (const [name, tool] of this.tools) {
|
|
111
|
+
toolSet[name] = {
|
|
112
|
+
name: tool.id,
|
|
113
|
+
description: tool.description,
|
|
114
|
+
parameters: convertZodSchemaToJsonSchema(tool.inputSchema)
|
|
115
|
+
// ← Convert on-demand
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return toolSet;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get tool names
|
|
122
|
+
*/
|
|
123
|
+
getToolNames() {
|
|
124
|
+
return Array.from(this.tools.keys());
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get tool count
|
|
128
|
+
*/
|
|
129
|
+
getToolCount() {
|
|
130
|
+
return this.tools.size;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export {
|
|
134
|
+
InternalToolsProvider
|
|
135
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
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 registry_exports = {};
|
|
20
|
+
__export(registry_exports, {
|
|
21
|
+
INTERNAL_TOOL_NAMES: () => INTERNAL_TOOL_NAMES,
|
|
22
|
+
INTERNAL_TOOL_REGISTRY: () => INTERNAL_TOOL_REGISTRY,
|
|
23
|
+
getInternalToolInfo: () => getInternalToolInfo
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(registry_exports);
|
|
26
|
+
var import_search_history_tool = require("./implementations/search-history-tool.js");
|
|
27
|
+
const INTERNAL_TOOL_NAMES = ["search_history"];
|
|
28
|
+
const INTERNAL_TOOL_REGISTRY = {
|
|
29
|
+
search_history: {
|
|
30
|
+
factory: (services) => (0, import_search_history_tool.createSearchHistoryTool)(services.searchService),
|
|
31
|
+
requiredServices: ["searchService"]
|
|
32
|
+
}
|
|
33
|
+
// Add new tools here - must match INTERNAL_TOOL_NAMES array above
|
|
34
|
+
};
|
|
35
|
+
function getInternalToolInfo(toolName) {
|
|
36
|
+
return INTERNAL_TOOL_REGISTRY[toolName];
|
|
37
|
+
}
|
|
38
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
+
0 && (module.exports = {
|
|
40
|
+
INTERNAL_TOOL_NAMES,
|
|
41
|
+
INTERNAL_TOOL_REGISTRY,
|
|
42
|
+
getInternalToolInfo
|
|
43
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { InternalTool } from '../types.cjs';
|
|
2
|
+
import { SearchService } from '../../search/search-service.cjs';
|
|
3
|
+
import 'json-schema';
|
|
4
|
+
import 'zod';
|
|
5
|
+
import '../../storage/backend/database-backend.cjs';
|
|
6
|
+
import '../../search/types.cjs';
|
|
7
|
+
import '../../context/types.cjs';
|
|
8
|
+
import '../../llm/types.cjs';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Services available to internal tools
|
|
12
|
+
* Add new services here as needed for internal tools
|
|
13
|
+
*/
|
|
14
|
+
interface InternalToolsServices {
|
|
15
|
+
searchService?: SearchService;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Internal tool factory function type
|
|
19
|
+
*/
|
|
20
|
+
type InternalToolFactory = (services: InternalToolsServices) => InternalTool;
|
|
21
|
+
/**
|
|
22
|
+
* Internal tool names - Manual array preserves literal types for z.enum()
|
|
23
|
+
* Add new tool names here first, then implement in registry below
|
|
24
|
+
*/
|
|
25
|
+
declare const INTERNAL_TOOL_NAMES: readonly ["search_history"];
|
|
26
|
+
/**
|
|
27
|
+
* Derive type from names array - preserves literal union
|
|
28
|
+
*/
|
|
29
|
+
type KnownInternalTool = (typeof INTERNAL_TOOL_NAMES)[number];
|
|
30
|
+
/**
|
|
31
|
+
* Internal tool registry - Must match names array exactly (TypeScript enforces this)
|
|
32
|
+
*/
|
|
33
|
+
declare const INTERNAL_TOOL_REGISTRY: Record<KnownInternalTool, {
|
|
34
|
+
factory: InternalToolFactory;
|
|
35
|
+
requiredServices: readonly (keyof InternalToolsServices)[];
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Type-safe registry access
|
|
39
|
+
*/
|
|
40
|
+
declare function getInternalToolInfo(toolName: KnownInternalTool): {
|
|
41
|
+
factory: InternalToolFactory;
|
|
42
|
+
requiredServices: readonly (keyof InternalToolsServices)[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { INTERNAL_TOOL_NAMES, INTERNAL_TOOL_REGISTRY, type InternalToolsServices, type KnownInternalTool, getInternalToolInfo };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { InternalTool } from '../types.js';
|
|
2
|
+
import { SearchService } from '../../search/search-service.js';
|
|
3
|
+
import 'json-schema';
|
|
4
|
+
import 'zod';
|
|
5
|
+
import '../../storage/backend/database-backend.js';
|
|
6
|
+
import '../../search/types.js';
|
|
7
|
+
import '../../context/types.js';
|
|
8
|
+
import '../../llm/types.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Services available to internal tools
|
|
12
|
+
* Add new services here as needed for internal tools
|
|
13
|
+
*/
|
|
14
|
+
interface InternalToolsServices {
|
|
15
|
+
searchService?: SearchService;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Internal tool factory function type
|
|
19
|
+
*/
|
|
20
|
+
type InternalToolFactory = (services: InternalToolsServices) => InternalTool;
|
|
21
|
+
/**
|
|
22
|
+
* Internal tool names - Manual array preserves literal types for z.enum()
|
|
23
|
+
* Add new tool names here first, then implement in registry below
|
|
24
|
+
*/
|
|
25
|
+
declare const INTERNAL_TOOL_NAMES: readonly ["search_history"];
|
|
26
|
+
/**
|
|
27
|
+
* Derive type from names array - preserves literal union
|
|
28
|
+
*/
|
|
29
|
+
type KnownInternalTool = (typeof INTERNAL_TOOL_NAMES)[number];
|
|
30
|
+
/**
|
|
31
|
+
* Internal tool registry - Must match names array exactly (TypeScript enforces this)
|
|
32
|
+
*/
|
|
33
|
+
declare const INTERNAL_TOOL_REGISTRY: Record<KnownInternalTool, {
|
|
34
|
+
factory: InternalToolFactory;
|
|
35
|
+
requiredServices: readonly (keyof InternalToolsServices)[];
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Type-safe registry access
|
|
39
|
+
*/
|
|
40
|
+
declare function getInternalToolInfo(toolName: KnownInternalTool): {
|
|
41
|
+
factory: InternalToolFactory;
|
|
42
|
+
requiredServices: readonly (keyof InternalToolsServices)[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { INTERNAL_TOOL_NAMES, INTERNAL_TOOL_REGISTRY, type InternalToolsServices, type KnownInternalTool, getInternalToolInfo };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createSearchHistoryTool } from "./implementations/search-history-tool.js";
|
|
2
|
+
const INTERNAL_TOOL_NAMES = ["search_history"];
|
|
3
|
+
const INTERNAL_TOOL_REGISTRY = {
|
|
4
|
+
search_history: {
|
|
5
|
+
factory: (services) => createSearchHistoryTool(services.searchService),
|
|
6
|
+
requiredServices: ["searchService"]
|
|
7
|
+
}
|
|
8
|
+
// Add new tools here - must match INTERNAL_TOOL_NAMES array above
|
|
9
|
+
};
|
|
10
|
+
function getInternalToolInfo(toolName) {
|
|
11
|
+
return INTERNAL_TOOL_REGISTRY[toolName];
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
INTERNAL_TOOL_NAMES,
|
|
15
|
+
INTERNAL_TOOL_REGISTRY,
|
|
16
|
+
getInternalToolInfo
|
|
17
|
+
};
|