@framers/agentos 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +576 -0
  3. package/dist/api/AgentOS.d.ts +451 -0
  4. package/dist/api/AgentOS.d.ts.map +1 -0
  5. package/dist/api/AgentOS.js +1157 -0
  6. package/dist/api/AgentOS.js.map +1 -0
  7. package/dist/api/AgentOSOrchestrator.d.ts +157 -0
  8. package/dist/api/AgentOSOrchestrator.d.ts.map +1 -0
  9. package/dist/api/AgentOSOrchestrator.js +679 -0
  10. package/dist/api/AgentOSOrchestrator.js.map +1 -0
  11. package/dist/api/interfaces/IAgentOS.d.ts +138 -0
  12. package/dist/api/interfaces/IAgentOS.d.ts.map +1 -0
  13. package/dist/api/interfaces/IAgentOS.js +11 -0
  14. package/dist/api/interfaces/IAgentOS.js.map +1 -0
  15. package/dist/api/interfaces/IUnifiedAgent.d.ts +126 -0
  16. package/dist/api/interfaces/IUnifiedAgent.d.ts.map +1 -0
  17. package/dist/api/interfaces/IUnifiedAgent.js +3 -0
  18. package/dist/api/interfaces/IUnifiedAgent.js.map +1 -0
  19. package/dist/api/types/AgentOSInput.d.ts +114 -0
  20. package/dist/api/types/AgentOSInput.d.ts.map +1 -0
  21. package/dist/api/types/AgentOSInput.js +13 -0
  22. package/dist/api/types/AgentOSInput.js.map +1 -0
  23. package/dist/api/types/AgentOSResponse.d.ts +170 -0
  24. package/dist/api/types/AgentOSResponse.d.ts.map +1 -0
  25. package/dist/api/types/AgentOSResponse.js +25 -0
  26. package/dist/api/types/AgentOSResponse.js.map +1 -0
  27. package/dist/cognitive_substrate/GMI.d.ts +148 -0
  28. package/dist/cognitive_substrate/GMI.d.ts.map +1 -0
  29. package/dist/cognitive_substrate/GMI.js +1003 -0
  30. package/dist/cognitive_substrate/GMI.js.map +1 -0
  31. package/dist/cognitive_substrate/GMIManager.d.ts +98 -0
  32. package/dist/cognitive_substrate/GMIManager.d.ts.map +1 -0
  33. package/dist/cognitive_substrate/GMIManager.js +517 -0
  34. package/dist/cognitive_substrate/GMIManager.js.map +1 -0
  35. package/dist/cognitive_substrate/IGMI.d.ts +469 -0
  36. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -0
  37. package/dist/cognitive_substrate/IGMI.js +111 -0
  38. package/dist/cognitive_substrate/IGMI.js.map +1 -0
  39. package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts +139 -0
  40. package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts.map +1 -0
  41. package/dist/cognitive_substrate/memory/IWorkingMemory.js +14 -0
  42. package/dist/cognitive_substrate/memory/IWorkingMemory.js.map +1 -0
  43. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts +143 -0
  44. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts.map +1 -0
  45. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js +186 -0
  46. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js.map +1 -0
  47. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts +33 -0
  48. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts.map +1 -0
  49. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js +138 -0
  50. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js.map +1 -0
  51. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts +32 -0
  52. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts.map +1 -0
  53. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js +2 -0
  54. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js.map +1 -0
  55. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts +336 -0
  56. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts.map +1 -0
  57. package/dist/cognitive_substrate/personas/IPersonaDefinition.js +8 -0
  58. package/dist/cognitive_substrate/personas/IPersonaDefinition.js.map +1 -0
  59. package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts +78 -0
  60. package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts.map +1 -0
  61. package/dist/cognitive_substrate/personas/IPersonaLoader.js +9 -0
  62. package/dist/cognitive_substrate/personas/IPersonaLoader.js.map +1 -0
  63. package/dist/cognitive_substrate/personas/PersonaLoader.d.ts +60 -0
  64. package/dist/cognitive_substrate/personas/PersonaLoader.d.ts.map +1 -0
  65. package/dist/cognitive_substrate/personas/PersonaLoader.js +138 -0
  66. package/dist/cognitive_substrate/personas/PersonaLoader.js.map +1 -0
  67. package/dist/cognitive_substrate/personas/PersonaValidation.d.ts +139 -0
  68. package/dist/cognitive_substrate/personas/PersonaValidation.d.ts.map +1 -0
  69. package/dist/cognitive_substrate/personas/PersonaValidation.js +277 -0
  70. package/dist/cognitive_substrate/personas/PersonaValidation.js.map +1 -0
  71. package/dist/cognitive_substrate/personas/definitions/atlas_systems_architect.json +29 -0
  72. package/dist/cognitive_substrate/personas/definitions/default_assistant_persona.json +346 -0
  73. package/dist/cognitive_substrate/personas/definitions/default_free_assistant.json +13 -0
  74. package/dist/cognitive_substrate/personas/definitions/index.d.ts +14 -0
  75. package/dist/cognitive_substrate/personas/definitions/index.d.ts.map +1 -0
  76. package/dist/cognitive_substrate/personas/definitions/index.js +35 -0
  77. package/dist/cognitive_substrate/personas/definitions/index.js.map +1 -0
  78. package/dist/cognitive_substrate/personas/definitions/nerf_generalist.json +11 -0
  79. package/dist/cognitive_substrate/personas/definitions/v_researcher.json +11 -0
  80. package/dist/config/AgentOSConfig.d.ts +74 -0
  81. package/dist/config/AgentOSConfig.d.ts.map +1 -0
  82. package/dist/config/AgentOSConfig.js +399 -0
  83. package/dist/config/AgentOSConfig.js.map +1 -0
  84. package/dist/config/EmbeddingManagerConfiguration.d.ts +190 -0
  85. package/dist/config/EmbeddingManagerConfiguration.d.ts.map +1 -0
  86. package/dist/config/EmbeddingManagerConfiguration.js +16 -0
  87. package/dist/config/EmbeddingManagerConfiguration.js.map +1 -0
  88. package/dist/config/MemoryLifecycleManagerConfiguration.d.ts +165 -0
  89. package/dist/config/MemoryLifecycleManagerConfiguration.d.ts.map +1 -0
  90. package/dist/config/MemoryLifecycleManagerConfiguration.js +69 -0
  91. package/dist/config/MemoryLifecycleManagerConfiguration.js.map +1 -0
  92. package/dist/config/RetrievalAugmentorConfiguration.d.ts +98 -0
  93. package/dist/config/RetrievalAugmentorConfiguration.d.ts.map +1 -0
  94. package/dist/config/RetrievalAugmentorConfiguration.js +47 -0
  95. package/dist/config/RetrievalAugmentorConfiguration.js.map +1 -0
  96. package/dist/config/ToolOrchestratorConfig.d.ts +69 -0
  97. package/dist/config/ToolOrchestratorConfig.d.ts.map +1 -0
  98. package/dist/config/ToolOrchestratorConfig.js +11 -0
  99. package/dist/config/ToolOrchestratorConfig.js.map +1 -0
  100. package/dist/config/VectorStoreConfiguration.d.ts +223 -0
  101. package/dist/config/VectorStoreConfiguration.d.ts.map +1 -0
  102. package/dist/config/VectorStoreConfiguration.js +59 -0
  103. package/dist/config/VectorStoreConfiguration.js.map +1 -0
  104. package/dist/config/extension-secrets.json +38 -0
  105. package/dist/config/extensionSecrets.d.ts +13 -0
  106. package/dist/config/extensionSecrets.d.ts.map +1 -0
  107. package/dist/config/extensionSecrets.js +24 -0
  108. package/dist/config/extensionSecrets.js.map +1 -0
  109. package/dist/core/agency/AgencyMemoryManager.d.ts +300 -0
  110. package/dist/core/agency/AgencyMemoryManager.d.ts.map +1 -0
  111. package/dist/core/agency/AgencyMemoryManager.js +657 -0
  112. package/dist/core/agency/AgencyMemoryManager.js.map +1 -0
  113. package/dist/core/agency/AgencyRegistry.d.ts +100 -0
  114. package/dist/core/agency/AgencyRegistry.d.ts.map +1 -0
  115. package/dist/core/agency/AgencyRegistry.js +209 -0
  116. package/dist/core/agency/AgencyRegistry.js.map +1 -0
  117. package/dist/core/agency/AgencyTypes.d.ts +200 -0
  118. package/dist/core/agency/AgencyTypes.d.ts.map +1 -0
  119. package/dist/core/agency/AgencyTypes.js +7 -0
  120. package/dist/core/agency/AgencyTypes.js.map +1 -0
  121. package/dist/core/agency/AgentCommunicationBus.d.ts +150 -0
  122. package/dist/core/agency/AgentCommunicationBus.d.ts.map +1 -0
  123. package/dist/core/agency/AgentCommunicationBus.js +568 -0
  124. package/dist/core/agency/AgentCommunicationBus.js.map +1 -0
  125. package/dist/core/agency/IAgentCommunicationBus.d.ts +469 -0
  126. package/dist/core/agency/IAgentCommunicationBus.d.ts.map +1 -0
  127. package/dist/core/agency/IAgentCommunicationBus.js +40 -0
  128. package/dist/core/agency/IAgentCommunicationBus.js.map +1 -0
  129. package/dist/core/agency/index.d.ts +18 -0
  130. package/dist/core/agency/index.d.ts.map +1 -0
  131. package/dist/core/agency/index.js +18 -0
  132. package/dist/core/agency/index.js.map +1 -0
  133. package/dist/core/agents/AgentCore.d.ts +385 -0
  134. package/dist/core/agents/AgentCore.d.ts.map +1 -0
  135. package/dist/core/agents/AgentCore.js +527 -0
  136. package/dist/core/agents/AgentCore.js.map +1 -0
  137. package/dist/core/agents/AgentFactory.d.ts +123 -0
  138. package/dist/core/agents/AgentFactory.d.ts.map +1 -0
  139. package/dist/core/agents/AgentFactory.js +232 -0
  140. package/dist/core/agents/AgentFactory.js.map +1 -0
  141. package/dist/core/agents/AgentPoolAgent.d.ts +244 -0
  142. package/dist/core/agents/AgentPoolAgent.d.ts.map +1 -0
  143. package/dist/core/agents/AgentPoolAgent.js +697 -0
  144. package/dist/core/agents/AgentPoolAgent.js.map +1 -0
  145. package/dist/core/agents/AgentPoolConfig.d.ts +191 -0
  146. package/dist/core/agents/AgentPoolConfig.d.ts.map +1 -0
  147. package/dist/core/agents/AgentPoolConfig.js +58 -0
  148. package/dist/core/agents/AgentPoolConfig.js.map +1 -0
  149. package/dist/core/agents/IAgent.d.ts +226 -0
  150. package/dist/core/agents/IAgent.d.ts.map +1 -0
  151. package/dist/core/agents/IAgent.js +14 -0
  152. package/dist/core/agents/IAgent.js.map +1 -0
  153. package/dist/core/agents/IAgentFactory.d.ts +137 -0
  154. package/dist/core/agents/IAgentFactory.d.ts.map +1 -0
  155. package/dist/core/agents/IAgentFactory.js +13 -0
  156. package/dist/core/agents/IAgentFactory.js.map +1 -0
  157. package/dist/core/agents/tools/Tool.d.ts +17 -0
  158. package/dist/core/agents/tools/Tool.d.ts.map +1 -0
  159. package/dist/core/agents/tools/Tool.js +8 -0
  160. package/dist/core/agents/tools/Tool.js.map +1 -0
  161. package/dist/core/ai_utilities/HybridUtilityAI.d.ts +1 -0
  162. package/dist/core/ai_utilities/HybridUtilityAI.d.ts.map +1 -0
  163. package/dist/core/ai_utilities/HybridUtilityAI.js +2 -0
  164. package/dist/core/ai_utilities/HybridUtilityAI.js.map +1 -0
  165. package/dist/core/ai_utilities/IUtilityAI.d.ts +212 -0
  166. package/dist/core/ai_utilities/IUtilityAI.d.ts.map +1 -0
  167. package/dist/core/ai_utilities/IUtilityAI.js +11 -0
  168. package/dist/core/ai_utilities/IUtilityAI.js.map +1 -0
  169. package/dist/core/ai_utilities/LLMUtilityAI.d.ts +94 -0
  170. package/dist/core/ai_utilities/LLMUtilityAI.d.ts.map +1 -0
  171. package/dist/core/ai_utilities/LLMUtilityAI.js +434 -0
  172. package/dist/core/ai_utilities/LLMUtilityAI.js.map +1 -0
  173. package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts +102 -0
  174. package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts.map +1 -0
  175. package/dist/core/ai_utilities/StatisticalUtilityAI.js +617 -0
  176. package/dist/core/ai_utilities/StatisticalUtilityAI.js.map +1 -0
  177. package/dist/core/conversation/ConversationContext.d.ts +259 -0
  178. package/dist/core/conversation/ConversationContext.d.ts.map +1 -0
  179. package/dist/core/conversation/ConversationContext.js +450 -0
  180. package/dist/core/conversation/ConversationContext.js.map +1 -0
  181. package/dist/core/conversation/ConversationManager.d.ts +223 -0
  182. package/dist/core/conversation/ConversationManager.d.ts.map +1 -0
  183. package/dist/core/conversation/ConversationManager.js +558 -0
  184. package/dist/core/conversation/ConversationManager.js.map +1 -0
  185. package/dist/core/conversation/ConversationMessage.d.ts +184 -0
  186. package/dist/core/conversation/ConversationMessage.d.ts.map +1 -0
  187. package/dist/core/conversation/ConversationMessage.js +66 -0
  188. package/dist/core/conversation/ConversationMessage.js.map +1 -0
  189. package/dist/core/evaluation/Evaluator.d.ts +28 -0
  190. package/dist/core/evaluation/Evaluator.d.ts.map +1 -0
  191. package/dist/core/evaluation/Evaluator.js +490 -0
  192. package/dist/core/evaluation/Evaluator.js.map +1 -0
  193. package/dist/core/evaluation/IEvaluator.d.ts +309 -0
  194. package/dist/core/evaluation/IEvaluator.d.ts.map +1 -0
  195. package/dist/core/evaluation/IEvaluator.js +12 -0
  196. package/dist/core/evaluation/IEvaluator.js.map +1 -0
  197. package/dist/core/evaluation/LLMJudge.d.ts +105 -0
  198. package/dist/core/evaluation/LLMJudge.d.ts.map +1 -0
  199. package/dist/core/evaluation/LLMJudge.js +229 -0
  200. package/dist/core/evaluation/LLMJudge.js.map +1 -0
  201. package/dist/core/evaluation/index.d.ts +9 -0
  202. package/dist/core/evaluation/index.d.ts.map +1 -0
  203. package/dist/core/evaluation/index.js +9 -0
  204. package/dist/core/evaluation/index.js.map +1 -0
  205. package/dist/core/guardrails/IGuardrailService.d.ts +142 -0
  206. package/dist/core/guardrails/IGuardrailService.d.ts.map +1 -0
  207. package/dist/core/guardrails/IGuardrailService.js +24 -0
  208. package/dist/core/guardrails/IGuardrailService.js.map +1 -0
  209. package/dist/core/guardrails/guardrailDispatcher.d.ts +36 -0
  210. package/dist/core/guardrails/guardrailDispatcher.d.ts.map +1 -0
  211. package/dist/core/guardrails/guardrailDispatcher.js +240 -0
  212. package/dist/core/guardrails/guardrailDispatcher.js.map +1 -0
  213. package/dist/core/hitl/HumanInteractionManager.d.ts +146 -0
  214. package/dist/core/hitl/HumanInteractionManager.d.ts.map +1 -0
  215. package/dist/core/hitl/HumanInteractionManager.js +491 -0
  216. package/dist/core/hitl/HumanInteractionManager.js.map +1 -0
  217. package/dist/core/hitl/IHumanInteractionManager.d.ts +521 -0
  218. package/dist/core/hitl/IHumanInteractionManager.d.ts.map +1 -0
  219. package/dist/core/hitl/IHumanInteractionManager.js +33 -0
  220. package/dist/core/hitl/IHumanInteractionManager.js.map +1 -0
  221. package/dist/core/hitl/index.d.ts +17 -0
  222. package/dist/core/hitl/index.d.ts.map +1 -0
  223. package/dist/core/hitl/index.js +17 -0
  224. package/dist/core/hitl/index.js.map +1 -0
  225. package/dist/core/knowledge/IKnowledgeGraph.d.ts +351 -0
  226. package/dist/core/knowledge/IKnowledgeGraph.d.ts.map +1 -0
  227. package/dist/core/knowledge/IKnowledgeGraph.js +10 -0
  228. package/dist/core/knowledge/IKnowledgeGraph.js.map +1 -0
  229. package/dist/core/knowledge/KnowledgeGraph.d.ts +93 -0
  230. package/dist/core/knowledge/KnowledgeGraph.d.ts.map +1 -0
  231. package/dist/core/knowledge/KnowledgeGraph.js +601 -0
  232. package/dist/core/knowledge/KnowledgeGraph.js.map +1 -0
  233. package/dist/core/knowledge/index.d.ts +8 -0
  234. package/dist/core/knowledge/index.d.ts.map +1 -0
  235. package/dist/core/knowledge/index.js +8 -0
  236. package/dist/core/knowledge/index.js.map +1 -0
  237. package/dist/core/language/LanguageService.d.ts +77 -0
  238. package/dist/core/language/LanguageService.d.ts.map +1 -0
  239. package/dist/core/language/LanguageService.js +305 -0
  240. package/dist/core/language/LanguageService.js.map +1 -0
  241. package/dist/core/language/index.d.ts +6 -0
  242. package/dist/core/language/index.d.ts.map +1 -0
  243. package/dist/core/language/index.js +6 -0
  244. package/dist/core/language/index.js.map +1 -0
  245. package/dist/core/language/interfaces.d.ts +168 -0
  246. package/dist/core/language/interfaces.d.ts.map +1 -0
  247. package/dist/core/language/interfaces.js +37 -0
  248. package/dist/core/language/interfaces.js.map +1 -0
  249. package/dist/core/language/providers/DeepLTranslationProvider.d.ts +16 -0
  250. package/dist/core/language/providers/DeepLTranslationProvider.d.ts.map +1 -0
  251. package/dist/core/language/providers/DeepLTranslationProvider.js +28 -0
  252. package/dist/core/language/providers/DeepLTranslationProvider.js.map +1 -0
  253. package/dist/core/language/providers/OpenAITranslationProvider.d.ts +17 -0
  254. package/dist/core/language/providers/OpenAITranslationProvider.d.ts.map +1 -0
  255. package/dist/core/language/providers/OpenAITranslationProvider.js +34 -0
  256. package/dist/core/language/providers/OpenAITranslationProvider.js.map +1 -0
  257. package/dist/core/language/providers/WhisperDetectionProvider.d.ts +16 -0
  258. package/dist/core/language/providers/WhisperDetectionProvider.d.ts.map +1 -0
  259. package/dist/core/language/providers/WhisperDetectionProvider.js +15 -0
  260. package/dist/core/language/providers/WhisperDetectionProvider.js.map +1 -0
  261. package/dist/core/llm/IPromptEngine.d.ts +627 -0
  262. package/dist/core/llm/IPromptEngine.d.ts.map +1 -0
  263. package/dist/core/llm/IPromptEngine.js +81 -0
  264. package/dist/core/llm/IPromptEngine.js.map +1 -0
  265. package/dist/core/llm/PromptEngine.d.ts +108 -0
  266. package/dist/core/llm/PromptEngine.d.ts.map +1 -0
  267. package/dist/core/llm/PromptEngine.js +872 -0
  268. package/dist/core/llm/PromptEngine.js.map +1 -0
  269. package/dist/core/llm/providers/AIModelProviderManager.d.ts +74 -0
  270. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -0
  271. package/dist/core/llm/providers/AIModelProviderManager.js +263 -0
  272. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -0
  273. package/dist/core/llm/providers/IProvider.d.ts +327 -0
  274. package/dist/core/llm/providers/IProvider.d.ts.map +1 -0
  275. package/dist/core/llm/providers/IProvider.js +39 -0
  276. package/dist/core/llm/providers/IProvider.js.map +1 -0
  277. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +36 -0
  278. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -0
  279. package/dist/core/llm/providers/errors/OllamaProviderError.js +40 -0
  280. package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -0
  281. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +42 -0
  282. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts.map +1 -0
  283. package/dist/core/llm/providers/errors/OpenAIProviderError.js +44 -0
  284. package/dist/core/llm/providers/errors/OpenAIProviderError.js.map +1 -0
  285. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +39 -0
  286. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts.map +1 -0
  287. package/dist/core/llm/providers/errors/OpenRouterProviderError.js +42 -0
  288. package/dist/core/llm/providers/errors/OpenRouterProviderError.js.map +1 -0
  289. package/dist/core/llm/providers/errors/ProviderError.d.ts +37 -0
  290. package/dist/core/llm/providers/errors/ProviderError.d.ts.map +1 -0
  291. package/dist/core/llm/providers/errors/ProviderError.js +36 -0
  292. package/dist/core/llm/providers/errors/ProviderError.js.map +1 -0
  293. package/dist/core/llm/providers/implementations/OllamaProvider.d.ts +80 -0
  294. package/dist/core/llm/providers/implementations/OllamaProvider.d.ts.map +1 -0
  295. package/dist/core/llm/providers/implementations/OllamaProvider.js +473 -0
  296. package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -0
  297. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +160 -0
  298. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -0
  299. package/dist/core/llm/providers/implementations/OpenAIProvider.js +672 -0
  300. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -0
  301. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts +51 -0
  302. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -0
  303. package/dist/core/llm/providers/implementations/OpenRouterProvider.js +499 -0
  304. package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -0
  305. package/dist/core/llm/routing/IModelRouter.d.ts +129 -0
  306. package/dist/core/llm/routing/IModelRouter.d.ts.map +1 -0
  307. package/dist/core/llm/routing/IModelRouter.js +14 -0
  308. package/dist/core/llm/routing/IModelRouter.js.map +1 -0
  309. package/dist/core/llm/routing/ModelRouter.d.ts +157 -0
  310. package/dist/core/llm/routing/ModelRouter.d.ts.map +1 -0
  311. package/dist/core/llm/routing/ModelRouter.js +190 -0
  312. package/dist/core/llm/routing/ModelRouter.js.map +1 -0
  313. package/dist/core/llm/streaming/StreamingBatcher.d.ts +54 -0
  314. package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -0
  315. package/dist/core/llm/streaming/StreamingBatcher.js +173 -0
  316. package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -0
  317. package/dist/core/llm/streaming/StreamingReconstructor.d.ts +69 -0
  318. package/dist/core/llm/streaming/StreamingReconstructor.d.ts.map +1 -0
  319. package/dist/core/llm/streaming/StreamingReconstructor.js +102 -0
  320. package/dist/core/llm/streaming/StreamingReconstructor.js.map +1 -0
  321. package/dist/core/marketplace/IMarketplace.d.ts +500 -0
  322. package/dist/core/marketplace/IMarketplace.d.ts.map +1 -0
  323. package/dist/core/marketplace/IMarketplace.js +10 -0
  324. package/dist/core/marketplace/IMarketplace.js.map +1 -0
  325. package/dist/core/marketplace/Marketplace.d.ts +122 -0
  326. package/dist/core/marketplace/Marketplace.d.ts.map +1 -0
  327. package/dist/core/marketplace/Marketplace.js +591 -0
  328. package/dist/core/marketplace/Marketplace.js.map +1 -0
  329. package/dist/core/marketplace/index.d.ts +8 -0
  330. package/dist/core/marketplace/index.d.ts.map +1 -0
  331. package/dist/core/marketplace/index.js +8 -0
  332. package/dist/core/marketplace/index.js.map +1 -0
  333. package/dist/core/observability/ITracer.d.ts +317 -0
  334. package/dist/core/observability/ITracer.d.ts.map +1 -0
  335. package/dist/core/observability/ITracer.js +55 -0
  336. package/dist/core/observability/ITracer.js.map +1 -0
  337. package/dist/core/observability/Tracer.d.ts +76 -0
  338. package/dist/core/observability/Tracer.d.ts.map +1 -0
  339. package/dist/core/observability/Tracer.js +360 -0
  340. package/dist/core/observability/Tracer.js.map +1 -0
  341. package/dist/core/observability/index.d.ts +9 -0
  342. package/dist/core/observability/index.d.ts.map +1 -0
  343. package/dist/core/observability/index.js +8 -0
  344. package/dist/core/observability/index.js.map +1 -0
  345. package/dist/core/orchestration/AgentOrchestrator.d.ts +243 -0
  346. package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -0
  347. package/dist/core/orchestration/AgentOrchestrator.js +648 -0
  348. package/dist/core/orchestration/AgentOrchestrator.js.map +1 -0
  349. package/dist/core/orchestration/IAgentOrchestrator.d.ts +44 -0
  350. package/dist/core/orchestration/IAgentOrchestrator.d.ts.map +1 -0
  351. package/dist/core/orchestration/IAgentOrchestrator.js +4 -0
  352. package/dist/core/orchestration/IAgentOrchestrator.js.map +1 -0
  353. package/dist/core/orchestration/helpers.d.ts +12 -0
  354. package/dist/core/orchestration/helpers.d.ts.map +1 -0
  355. package/dist/core/orchestration/helpers.js +36 -0
  356. package/dist/core/orchestration/helpers.js.map +1 -0
  357. package/dist/core/planning/IPlanningEngine.d.ts +524 -0
  358. package/dist/core/planning/IPlanningEngine.d.ts.map +1 -0
  359. package/dist/core/planning/IPlanningEngine.js +32 -0
  360. package/dist/core/planning/IPlanningEngine.js.map +1 -0
  361. package/dist/core/planning/PlanningEngine.d.ts +161 -0
  362. package/dist/core/planning/PlanningEngine.d.ts.map +1 -0
  363. package/dist/core/planning/PlanningEngine.js +783 -0
  364. package/dist/core/planning/PlanningEngine.js.map +1 -0
  365. package/dist/core/planning/index.d.ts +25 -0
  366. package/dist/core/planning/index.d.ts.map +1 -0
  367. package/dist/core/planning/index.js +25 -0
  368. package/dist/core/planning/index.js.map +1 -0
  369. package/dist/core/sandbox/CodeSandbox.d.ts +86 -0
  370. package/dist/core/sandbox/CodeSandbox.d.ts.map +1 -0
  371. package/dist/core/sandbox/CodeSandbox.js +475 -0
  372. package/dist/core/sandbox/CodeSandbox.js.map +1 -0
  373. package/dist/core/sandbox/ICodeSandbox.d.ts +249 -0
  374. package/dist/core/sandbox/ICodeSandbox.d.ts.map +1 -0
  375. package/dist/core/sandbox/ICodeSandbox.js +24 -0
  376. package/dist/core/sandbox/ICodeSandbox.js.map +1 -0
  377. package/dist/core/sandbox/index.d.ts +9 -0
  378. package/dist/core/sandbox/index.d.ts.map +1 -0
  379. package/dist/core/sandbox/index.js +8 -0
  380. package/dist/core/sandbox/index.js.map +1 -0
  381. package/dist/core/storage/IStorageAdapter.d.ts +483 -0
  382. package/dist/core/storage/IStorageAdapter.d.ts.map +1 -0
  383. package/dist/core/storage/IStorageAdapter.js +19 -0
  384. package/dist/core/storage/IStorageAdapter.js.map +1 -0
  385. package/dist/core/storage/InMemoryStorageAdapter.d.ts +192 -0
  386. package/dist/core/storage/InMemoryStorageAdapter.d.ts.map +1 -0
  387. package/dist/core/storage/InMemoryStorageAdapter.js +343 -0
  388. package/dist/core/storage/InMemoryStorageAdapter.js.map +1 -0
  389. package/dist/core/storage/SqlStorageAdapter.d.ts +262 -0
  390. package/dist/core/storage/SqlStorageAdapter.d.ts.map +1 -0
  391. package/dist/core/storage/SqlStorageAdapter.js +485 -0
  392. package/dist/core/storage/SqlStorageAdapter.js.map +1 -0
  393. package/dist/core/storage/index.d.ts +14 -0
  394. package/dist/core/storage/index.d.ts.map +1 -0
  395. package/dist/core/storage/index.js +14 -0
  396. package/dist/core/storage/index.js.map +1 -0
  397. package/dist/core/streaming/IStreamClient.d.ts +72 -0
  398. package/dist/core/streaming/IStreamClient.d.ts.map +1 -0
  399. package/dist/core/streaming/IStreamClient.js +12 -0
  400. package/dist/core/streaming/IStreamClient.js.map +1 -0
  401. package/dist/core/streaming/StreamingManager.d.ts +242 -0
  402. package/dist/core/streaming/StreamingManager.d.ts.map +1 -0
  403. package/dist/core/streaming/StreamingManager.js +282 -0
  404. package/dist/core/streaming/StreamingManager.js.map +1 -0
  405. package/dist/core/structured/IStructuredOutputManager.d.ts +701 -0
  406. package/dist/core/structured/IStructuredOutputManager.d.ts.map +1 -0
  407. package/dist/core/structured/IStructuredOutputManager.js +74 -0
  408. package/dist/core/structured/IStructuredOutputManager.js.map +1 -0
  409. package/dist/core/structured/StructuredOutputManager.d.ts +140 -0
  410. package/dist/core/structured/StructuredOutputManager.d.ts.map +1 -0
  411. package/dist/core/structured/StructuredOutputManager.js +1015 -0
  412. package/dist/core/structured/StructuredOutputManager.js.map +1 -0
  413. package/dist/core/structured/index.d.ts +34 -0
  414. package/dist/core/structured/index.d.ts.map +1 -0
  415. package/dist/core/structured/index.js +34 -0
  416. package/dist/core/structured/index.js.map +1 -0
  417. package/dist/core/tools/ITool.d.ts +228 -0
  418. package/dist/core/tools/ITool.d.ts.map +1 -0
  419. package/dist/core/tools/ITool.js +11 -0
  420. package/dist/core/tools/ITool.js.map +1 -0
  421. package/dist/core/tools/IToolOrchestrator.d.ts +131 -0
  422. package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -0
  423. package/dist/core/tools/IToolOrchestrator.js +14 -0
  424. package/dist/core/tools/IToolOrchestrator.js.map +1 -0
  425. package/dist/core/tools/ToolExecutor.d.ts +143 -0
  426. package/dist/core/tools/ToolExecutor.d.ts.map +1 -0
  427. package/dist/core/tools/ToolExecutor.js +364 -0
  428. package/dist/core/tools/ToolExecutor.js.map +1 -0
  429. package/dist/core/tools/ToolOrchestrator.d.ts +142 -0
  430. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -0
  431. package/dist/core/tools/ToolOrchestrator.js +373 -0
  432. package/dist/core/tools/ToolOrchestrator.js.map +1 -0
  433. package/dist/core/tools/permissions/IToolPermissionManager.d.ts +195 -0
  434. package/dist/core/tools/permissions/IToolPermissionManager.d.ts.map +1 -0
  435. package/dist/core/tools/permissions/IToolPermissionManager.js +14 -0
  436. package/dist/core/tools/permissions/IToolPermissionManager.js.map +1 -0
  437. package/dist/core/tools/permissions/ToolPermissionManager.d.ts +203 -0
  438. package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -0
  439. package/dist/core/tools/permissions/ToolPermissionManager.js +298 -0
  440. package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -0
  441. package/dist/core/ui/IUIComponent.d.ts +11 -0
  442. package/dist/core/ui/IUIComponent.d.ts.map +1 -0
  443. package/dist/core/ui/IUIComponent.js +2 -0
  444. package/dist/core/ui/IUIComponent.js.map +1 -0
  445. package/dist/core/usage/UsageLedger.d.ts +81 -0
  446. package/dist/core/usage/UsageLedger.d.ts.map +1 -0
  447. package/dist/core/usage/UsageLedger.js +135 -0
  448. package/dist/core/usage/UsageLedger.js.map +1 -0
  449. package/dist/core/workflows/IWorkflowEngine.d.ts +42 -0
  450. package/dist/core/workflows/IWorkflowEngine.d.ts.map +1 -0
  451. package/dist/core/workflows/IWorkflowEngine.js +2 -0
  452. package/dist/core/workflows/IWorkflowEngine.js.map +1 -0
  453. package/dist/core/workflows/WorkflowEngine.d.ts +28 -0
  454. package/dist/core/workflows/WorkflowEngine.d.ts.map +1 -0
  455. package/dist/core/workflows/WorkflowEngine.js +309 -0
  456. package/dist/core/workflows/WorkflowEngine.js.map +1 -0
  457. package/dist/core/workflows/WorkflowTypes.d.ts +180 -0
  458. package/dist/core/workflows/WorkflowTypes.d.ts.map +1 -0
  459. package/dist/core/workflows/WorkflowTypes.js +26 -0
  460. package/dist/core/workflows/WorkflowTypes.js.map +1 -0
  461. package/dist/core/workflows/runtime/WorkflowRuntime.d.ts +70 -0
  462. package/dist/core/workflows/runtime/WorkflowRuntime.d.ts.map +1 -0
  463. package/dist/core/workflows/runtime/WorkflowRuntime.js +566 -0
  464. package/dist/core/workflows/runtime/WorkflowRuntime.js.map +1 -0
  465. package/dist/core/workflows/storage/IWorkflowStore.d.ts +75 -0
  466. package/dist/core/workflows/storage/IWorkflowStore.d.ts.map +1 -0
  467. package/dist/core/workflows/storage/IWorkflowStore.js +2 -0
  468. package/dist/core/workflows/storage/IWorkflowStore.js.map +1 -0
  469. package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts +14 -0
  470. package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts.map +1 -0
  471. package/dist/core/workflows/storage/InMemoryWorkflowStore.js +130 -0
  472. package/dist/core/workflows/storage/InMemoryWorkflowStore.js.map +1 -0
  473. package/dist/extensions/ExtensionLoader.d.ts +119 -0
  474. package/dist/extensions/ExtensionLoader.d.ts.map +1 -0
  475. package/dist/extensions/ExtensionLoader.js +297 -0
  476. package/dist/extensions/ExtensionLoader.js.map +1 -0
  477. package/dist/extensions/ExtensionManager.d.ts +49 -0
  478. package/dist/extensions/ExtensionManager.d.ts.map +1 -0
  479. package/dist/extensions/ExtensionManager.js +197 -0
  480. package/dist/extensions/ExtensionManager.js.map +1 -0
  481. package/dist/extensions/ExtensionRegistry.d.ts +39 -0
  482. package/dist/extensions/ExtensionRegistry.d.ts.map +1 -0
  483. package/dist/extensions/ExtensionRegistry.js +103 -0
  484. package/dist/extensions/ExtensionRegistry.js.map +1 -0
  485. package/dist/extensions/MultiRegistryLoader.d.ts +61 -0
  486. package/dist/extensions/MultiRegistryLoader.d.ts.map +1 -0
  487. package/dist/extensions/MultiRegistryLoader.js +169 -0
  488. package/dist/extensions/MultiRegistryLoader.js.map +1 -0
  489. package/dist/extensions/RegistryConfig.d.ts +86 -0
  490. package/dist/extensions/RegistryConfig.d.ts.map +1 -0
  491. package/dist/extensions/RegistryConfig.js +99 -0
  492. package/dist/extensions/RegistryConfig.js.map +1 -0
  493. package/dist/extensions/events.d.ts +19 -0
  494. package/dist/extensions/events.d.ts.map +1 -0
  495. package/dist/extensions/events.js +2 -0
  496. package/dist/extensions/events.js.map +1 -0
  497. package/dist/extensions/index.d.ts +9 -0
  498. package/dist/extensions/index.d.ts.map +1 -0
  499. package/dist/extensions/index.js +9 -0
  500. package/dist/extensions/index.js.map +1 -0
  501. package/dist/extensions/manifest.d.ts +52 -0
  502. package/dist/extensions/manifest.d.ts.map +1 -0
  503. package/dist/extensions/manifest.js +2 -0
  504. package/dist/extensions/manifest.js.map +1 -0
  505. package/dist/extensions/types.d.ts +294 -0
  506. package/dist/extensions/types.d.ts.map +1 -0
  507. package/dist/extensions/types.js +12 -0
  508. package/dist/extensions/types.js.map +1 -0
  509. package/dist/index.d.ts +49 -0
  510. package/dist/index.d.ts.map +1 -0
  511. package/dist/index.js +59 -0
  512. package/dist/index.js.map +1 -0
  513. package/dist/logging/ILogger.d.ts +8 -0
  514. package/dist/logging/ILogger.d.ts.map +1 -0
  515. package/dist/logging/ILogger.js +2 -0
  516. package/dist/logging/ILogger.js.map +1 -0
  517. package/dist/logging/PinoLogger.d.ts +12 -0
  518. package/dist/logging/PinoLogger.d.ts.map +1 -0
  519. package/dist/logging/PinoLogger.js +22 -0
  520. package/dist/logging/PinoLogger.js.map +1 -0
  521. package/dist/logging/loggerFactory.d.ts +6 -0
  522. package/dist/logging/loggerFactory.d.ts.map +1 -0
  523. package/dist/logging/loggerFactory.js +14 -0
  524. package/dist/logging/loggerFactory.js.map +1 -0
  525. package/dist/rag/EmbeddingManager.d.ts +81 -0
  526. package/dist/rag/EmbeddingManager.d.ts.map +1 -0
  527. package/dist/rag/EmbeddingManager.js +412 -0
  528. package/dist/rag/EmbeddingManager.js.map +1 -0
  529. package/dist/rag/IEmbeddingManager.d.ts +277 -0
  530. package/dist/rag/IEmbeddingManager.d.ts.map +1 -0
  531. package/dist/rag/IEmbeddingManager.js +19 -0
  532. package/dist/rag/IEmbeddingManager.js.map +1 -0
  533. package/dist/rag/IRetrievalAugmentor.d.ts +208 -0
  534. package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -0
  535. package/dist/rag/IRetrievalAugmentor.js +21 -0
  536. package/dist/rag/IRetrievalAugmentor.js.map +1 -0
  537. package/dist/rag/IVectorStore.d.ts +351 -0
  538. package/dist/rag/IVectorStore.d.ts.map +1 -0
  539. package/dist/rag/IVectorStore.js +15 -0
  540. package/dist/rag/IVectorStore.js.map +1 -0
  541. package/dist/rag/IVectorStoreManager.d.ts +121 -0
  542. package/dist/rag/IVectorStoreManager.d.ts.map +1 -0
  543. package/dist/rag/IVectorStoreManager.js +13 -0
  544. package/dist/rag/IVectorStoreManager.js.map +1 -0
  545. package/dist/rag/RetrievalAugmentor.d.ts +99 -0
  546. package/dist/rag/RetrievalAugmentor.d.ts.map +1 -0
  547. package/dist/rag/RetrievalAugmentor.js +674 -0
  548. package/dist/rag/RetrievalAugmentor.js.map +1 -0
  549. package/dist/rag/VectorStoreManager.d.ts +90 -0
  550. package/dist/rag/VectorStoreManager.d.ts.map +1 -0
  551. package/dist/rag/VectorStoreManager.js +283 -0
  552. package/dist/rag/VectorStoreManager.js.map +1 -0
  553. package/dist/rag/implementations/index.d.ts +9 -0
  554. package/dist/rag/implementations/index.d.ts.map +1 -0
  555. package/dist/rag/implementations/index.js +9 -0
  556. package/dist/rag/implementations/index.js.map +1 -0
  557. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts +132 -0
  558. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts.map +1 -0
  559. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js +539 -0
  560. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js.map +1 -0
  561. package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts +265 -0
  562. package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts.map +1 -0
  563. package/dist/rag/implementations/vector_stores/SqlVectorStore.js +755 -0
  564. package/dist/rag/implementations/vector_stores/SqlVectorStore.js.map +1 -0
  565. package/dist/rag/implementations/vector_stores/index.d.ts +10 -0
  566. package/dist/rag/implementations/vector_stores/index.d.ts.map +1 -0
  567. package/dist/rag/implementations/vector_stores/index.js +12 -0
  568. package/dist/rag/implementations/vector_stores/index.js.map +1 -0
  569. package/dist/rag/index.d.ts +95 -0
  570. package/dist/rag/index.d.ts.map +1 -0
  571. package/dist/rag/index.js +97 -0
  572. package/dist/rag/index.js.map +1 -0
  573. package/dist/services/user_auth/AuthService.d.ts +13 -0
  574. package/dist/services/user_auth/AuthService.d.ts.map +1 -0
  575. package/dist/services/user_auth/AuthService.js +24 -0
  576. package/dist/services/user_auth/AuthService.js.map +1 -0
  577. package/dist/services/user_auth/SubscriptionService.d.ts +14 -0
  578. package/dist/services/user_auth/SubscriptionService.d.ts.map +1 -0
  579. package/dist/services/user_auth/SubscriptionService.js +34 -0
  580. package/dist/services/user_auth/SubscriptionService.js.map +1 -0
  581. package/dist/services/user_auth/types.d.ts +30 -0
  582. package/dist/services/user_auth/types.d.ts.map +1 -0
  583. package/dist/services/user_auth/types.js +2 -0
  584. package/dist/services/user_auth/types.js.map +1 -0
  585. package/dist/stubs/prismaClient.d.ts +35 -0
  586. package/dist/stubs/prismaClient.d.ts.map +1 -0
  587. package/dist/stubs/prismaClient.js +47 -0
  588. package/dist/stubs/prismaClient.js.map +1 -0
  589. package/dist/types/rateLimitTypes.d.ts +70 -0
  590. package/dist/types/rateLimitTypes.d.ts.map +1 -0
  591. package/dist/types/rateLimitTypes.js +55 -0
  592. package/dist/types/rateLimitTypes.js.map +1 -0
  593. package/dist/utils/errors.d.ts +80 -0
  594. package/dist/utils/errors.d.ts.map +1 -0
  595. package/dist/utils/errors.js +201 -0
  596. package/dist/utils/errors.js.map +1 -0
  597. package/dist/utils/uuid.d.ts +11 -0
  598. package/dist/utils/uuid.d.ts.map +1 -0
  599. package/dist/utils/uuid.js +64 -0
  600. package/dist/utils/uuid.js.map +1 -0
  601. package/package.json +84 -0
@@ -0,0 +1,142 @@
1
+ /**
2
+ * @fileoverview Implements the ToolOrchestrator class, which serves as the central
3
+ * hub for managing, discovering, authorizing, and orchestrating the execution of tools
4
+ * within the AgentOS system.
5
+ *
6
+ * The ToolOrchestrator acts as a facade over the `ToolPermissionManager` and `ToolExecutor`.
7
+ * It provides a unified and simplified interface for higher-level components, such as GMIs
8
+ * (Generalized Mind Instances) or the main AgentOS orchestrator, to interact with the tool ecosystem.
9
+ *
10
+ * Key Responsibilities:
11
+ * - Tool Registration: Manages an internal registry of available `ITool` instances.
12
+ * - Tool Discovery: Provides methods like `listAvailableTools()` to get tool definitions
13
+ * suitable for LLM consumption (e.g., for function calling).
14
+ * - Permission Enforcement: Collaborates with `IToolPermissionManager` to authorize tool calls
15
+ * based on Persona capabilities, user subscriptions, or other defined policies.
16
+ * - Execution Delegation: Delegates the actual tool execution (including argument validation)
17
+ * to the `ToolExecutor`.
18
+ * - Result Formatting: Standardizes and returns tool execution results (`ToolCallResult` for GMIs).
19
+ * - Lifecycle Management: Handles initialization and shutdown of itself and potentially registered tools.
20
+ *
21
+ * @module backend/agentos/core/tools/ToolOrchestrator
22
+ * @see ./IToolOrchestrator.ts for the interface definition.
23
+ * @see ./ITool.ts for the core tool contract and related types like ToolExecutionResult.
24
+ * @see ./IToolPermissionManager.ts for permission management logic and related types.
25
+ * @see ./ToolExecutor.ts for the component that directly executes tools.
26
+ * @see ../../config/ToolOrchestratorConfig.ts for configuration options.
27
+ * @see ../../cognitive_substrate/IGMI.ts for GMI-related types like ToolCallRequest, ToolCallResult, UserContext.
28
+ */
29
+ import { IToolOrchestrator, ToolDefinitionForLLM } from './IToolOrchestrator';
30
+ import { ITool } from './ITool';
31
+ import { IToolPermissionManager } from './permissions/IToolPermissionManager';
32
+ import { ToolExecutor, ToolExecutionRequestDetails } from './ToolExecutor';
33
+ import { ToolOrchestratorConfig } from '../../config/ToolOrchestratorConfig';
34
+ import { ToolCallResult, UserContext } from '../../cognitive_substrate/IGMI';
35
+ /**
36
+ * @class ToolOrchestrator
37
+ * @implements {IToolOrchestrator}
38
+ * @description The central component responsible for the comprehensive management of tools.
39
+ * It orchestrates their registration, discovery, permission-based authorization, and execution,
40
+ * acting as a crucial facade for higher-level system components like GMIs.
41
+ */
42
+ export declare class ToolOrchestrator implements IToolOrchestrator {
43
+ /**
44
+ * A unique identifier for this ToolOrchestrator instance, useful for logging and telemetry.
45
+ * @public
46
+ * @readonly
47
+ * @type {string}
48
+ */
49
+ readonly orchestratorId: string;
50
+ /**
51
+ * Holds the resolved configuration for this orchestrator instance, merging defaults with user-provided settings.
52
+ * @private
53
+ * @type {Readonly<Required<ToolOrchestratorConfig>>}
54
+ */
55
+ private config;
56
+ /**
57
+ * An instance of the permission manager used to authorize tool calls.
58
+ * @private
59
+ * @type {IToolPermissionManager}
60
+ */
61
+ private permissionManager;
62
+ /**
63
+ * An instance of the tool executor responsible for the actual invocation of tool logic.
64
+ * @private
65
+ * @type {ToolExecutor}
66
+ */
67
+ private toolExecutor;
68
+ /**
69
+ * A flag indicating whether the orchestrator has been successfully initialized and is ready for operation.
70
+ * @private
71
+ * @type {boolean}
72
+ */
73
+ private isInitialized;
74
+ /**
75
+ * Default configuration values for the ToolOrchestrator.
76
+ * These are applied if specific values are not provided during initialization, ensuring robust default behavior.
77
+ * @private
78
+ * @static
79
+ * @readonly
80
+ */
81
+ private static readonly DEFAULT_CONFIG;
82
+ /**
83
+ * Constructs a ToolOrchestrator instance.
84
+ * The orchestrator is not operational until the `initialize` method has been successfully called.
85
+ * An `orchestratorId` is generated upon construction.
86
+ */
87
+ constructor();
88
+ /**
89
+ * @inheritdoc
90
+ */
91
+ initialize(config: ToolOrchestratorConfig | undefined, // Can be undefined
92
+ permissionManager: IToolPermissionManager, toolExecutor: ToolExecutor, initialTools?: ITool[]): Promise<void>;
93
+ /**
94
+ * Ensures the ToolOrchestrator instance has been initialized before allowing operations.
95
+ * @private
96
+ * @throws {GMIError} if the orchestrator is not initialized (`GMIErrorCode.NOT_INITIALIZED`).
97
+ */
98
+ private ensureInitialized;
99
+ /**
100
+ * @inheritdoc
101
+ */
102
+ registerTool(tool: ITool): Promise<void>;
103
+ /**
104
+ * @inheritdoc
105
+ */
106
+ unregisterTool(toolName: string): Promise<boolean>;
107
+ /**
108
+ * @inheritdoc
109
+ */
110
+ getTool(toolName: string): Promise<ITool | undefined>;
111
+ /**
112
+ * @inheritdoc
113
+ */
114
+ listAvailableTools(context?: {
115
+ personaId?: string;
116
+ personaCapabilities?: string[];
117
+ userContext?: UserContext;
118
+ }): Promise<ToolDefinitionForLLM[]>;
119
+ /**
120
+ * @inheritdoc
121
+ */
122
+ processToolCall(requestDetails: ToolExecutionRequestDetails): Promise<ToolCallResult>;
123
+ /**
124
+ * @inheritdoc
125
+ */
126
+ checkHealth(): Promise<{
127
+ isHealthy: boolean;
128
+ details?: any;
129
+ }>;
130
+ /**
131
+ * Shuts down all registered tools that implement the `shutdown` method.
132
+ * Prefers using `ToolExecutor.shutdownAllTools()` if available.
133
+ * @private
134
+ * @async
135
+ */
136
+ private shutdownRegisteredTools;
137
+ /**
138
+ * @inheritdoc
139
+ */
140
+ shutdown(): Promise<void>;
141
+ }
142
+ //# sourceMappingURL=ToolOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/tools/ToolOrchestrator.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAyC,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAiD,MAAM,sCAAsC,CAAC;AAC7H,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7E;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD;;;;;OAKG;IACH,SAAgB,cAAc,EAAE,MAAM,CAAC;IAEvC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAA8C;IAE5D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAkB;IAEvC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAYpC;IAEF;;;;OAIG;;IAMH;;OAEG;IACU,UAAU,CACrB,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAAE,mBAAmB;IAC/D,iBAAiB,EAAE,sBAAsB,EACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,KAAK,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACU,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrD;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB/D;;OAEG;IACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAKlE;;OAEG;IACU,kBAAkB,CAAC,OAAO,CAAC,EAAE;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA2DrC;;SAEK;IACU,eAAe,CAAC,cAAc,EAAE,2BAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IA6FlG;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAgC1E;;;;;OAKG;YACW,uBAAuB;IAmBrC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYvC"}
@@ -0,0 +1,373 @@
1
+ // File: backend/agentos/core/tools/ToolOrchestrator.ts
2
+ /**
3
+ * @fileoverview Implements the ToolOrchestrator class, which serves as the central
4
+ * hub for managing, discovering, authorizing, and orchestrating the execution of tools
5
+ * within the AgentOS system.
6
+ *
7
+ * The ToolOrchestrator acts as a facade over the `ToolPermissionManager` and `ToolExecutor`.
8
+ * It provides a unified and simplified interface for higher-level components, such as GMIs
9
+ * (Generalized Mind Instances) or the main AgentOS orchestrator, to interact with the tool ecosystem.
10
+ *
11
+ * Key Responsibilities:
12
+ * - Tool Registration: Manages an internal registry of available `ITool` instances.
13
+ * - Tool Discovery: Provides methods like `listAvailableTools()` to get tool definitions
14
+ * suitable for LLM consumption (e.g., for function calling).
15
+ * - Permission Enforcement: Collaborates with `IToolPermissionManager` to authorize tool calls
16
+ * based on Persona capabilities, user subscriptions, or other defined policies.
17
+ * - Execution Delegation: Delegates the actual tool execution (including argument validation)
18
+ * to the `ToolExecutor`.
19
+ * - Result Formatting: Standardizes and returns tool execution results (`ToolCallResult` for GMIs).
20
+ * - Lifecycle Management: Handles initialization and shutdown of itself and potentially registered tools.
21
+ *
22
+ * @module backend/agentos/core/tools/ToolOrchestrator
23
+ * @see ./IToolOrchestrator.ts for the interface definition.
24
+ * @see ./ITool.ts for the core tool contract and related types like ToolExecutionResult.
25
+ * @see ./IToolPermissionManager.ts for permission management logic and related types.
26
+ * @see ./ToolExecutor.ts for the component that directly executes tools.
27
+ * @see ../../config/ToolOrchestratorConfig.ts for configuration options.
28
+ * @see ../../cognitive_substrate/IGMI.ts for GMI-related types like ToolCallRequest, ToolCallResult, UserContext.
29
+ */
30
+ import { uuidv4 } from '../../utils/uuid.js';
31
+ import { GMIError, GMIErrorCode, createGMIErrorFromError } from '../../utils/errors.js';
32
+ /**
33
+ * @class ToolOrchestrator
34
+ * @implements {IToolOrchestrator}
35
+ * @description The central component responsible for the comprehensive management of tools.
36
+ * It orchestrates their registration, discovery, permission-based authorization, and execution,
37
+ * acting as a crucial facade for higher-level system components like GMIs.
38
+ */
39
+ export class ToolOrchestrator {
40
+ /**
41
+ * Constructs a ToolOrchestrator instance.
42
+ * The orchestrator is not operational until the `initialize` method has been successfully called.
43
+ * An `orchestratorId` is generated upon construction.
44
+ */
45
+ constructor() {
46
+ /**
47
+ * A flag indicating whether the orchestrator has been successfully initialized and is ready for operation.
48
+ * @private
49
+ * @type {boolean}
50
+ */
51
+ this.isInitialized = false;
52
+ this.orchestratorId = `tool-orch-${uuidv4()}`;
53
+ this.config = { ...ToolOrchestrator.DEFAULT_CONFIG, orchestratorId: this.orchestratorId };
54
+ }
55
+ /**
56
+ * @inheritdoc
57
+ */
58
+ async initialize(config, // Can be undefined
59
+ permissionManager, toolExecutor, initialTools) {
60
+ if (this.isInitialized) {
61
+ console.warn(`ToolOrchestrator (ID: ${this.orchestratorId}): Attempting to re-initialize an already initialized instance. Existing tools will be cleared and re-registered if provided.`);
62
+ await this.shutdownRegisteredTools();
63
+ }
64
+ const baseConfig = { ...ToolOrchestrator.DEFAULT_CONFIG, orchestratorId: this.orchestratorId };
65
+ this.config = Object.freeze({
66
+ ...baseConfig,
67
+ ...(config || {}), // Handle undefined config
68
+ toolRegistrySettings: {
69
+ ...baseConfig.toolRegistrySettings,
70
+ ...(config?.toolRegistrySettings || {}),
71
+ }
72
+ });
73
+ if (!permissionManager) {
74
+ throw new GMIError('IToolPermissionManager dependency is required for ToolOrchestrator initialization.', GMIErrorCode.DEPENDENCY_ERROR, { orchestratorId: this.orchestratorId, missingDependency: 'IToolPermissionManager' });
75
+ }
76
+ if (!toolExecutor) {
77
+ throw new GMIError('ToolExecutor dependency is required for ToolOrchestrator initialization.', GMIErrorCode.DEPENDENCY_ERROR, { orchestratorId: this.orchestratorId, missingDependency: 'ToolExecutor' });
78
+ }
79
+ this.permissionManager = permissionManager;
80
+ this.toolExecutor = toolExecutor;
81
+ if (initialTools && initialTools.length > 0) {
82
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Registering ${initialTools.length} initial tool(s)...`);
83
+ for (const tool of initialTools) {
84
+ try {
85
+ await this.registerTool(tool);
86
+ }
87
+ catch (registrationError) {
88
+ const errorMsg = `Failed to register initial tool '${tool.name || tool.id}': ${registrationError.message}`;
89
+ console.error(`ToolOrchestrator (ID: ${this.orchestratorId}): ${errorMsg}`, registrationError.details || registrationError);
90
+ }
91
+ }
92
+ }
93
+ this.isInitialized = true;
94
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}) initialized. Registered tools: ${this.toolExecutor.listAvailableTools().length}. Logging tool calls: ${this.config.logToolCalls}.`);
95
+ }
96
+ /**
97
+ * Ensures the ToolOrchestrator instance has been initialized before allowing operations.
98
+ * @private
99
+ * @throws {GMIError} if the orchestrator is not initialized (`GMIErrorCode.NOT_INITIALIZED`).
100
+ */
101
+ ensureInitialized() {
102
+ if (!this.isInitialized) {
103
+ throw new GMIError(`ToolOrchestrator (ID: ${this.orchestratorId}) is not initialized. Please call the initialize() method with valid configuration and dependencies.`, GMIErrorCode.NOT_INITIALIZED, { component: 'ToolOrchestrator', orchestratorId: this.orchestratorId });
104
+ }
105
+ }
106
+ /**
107
+ * @inheritdoc
108
+ */
109
+ async registerTool(tool) {
110
+ this.ensureInitialized();
111
+ if (!this.config.toolRegistrySettings.allowDynamicRegistration) {
112
+ throw new GMIError("Dynamic tool registration is disabled by the current ToolOrchestrator configuration.", GMIErrorCode.PERMISSION_DENIED, { toolName: tool?.name, orchestratorId: this.orchestratorId });
113
+ }
114
+ if (!tool || typeof tool.name !== 'string' || !tool.name.trim() || typeof tool.id !== 'string' || !tool.id.trim()) {
115
+ throw new GMIError("Tool registration failed: The provided tool object is invalid or missing required 'id' or 'name' properties.", GMIErrorCode.INVALID_ARGUMENT, { receivedToolDetails: { id: tool?.id, name: tool?.name } });
116
+ }
117
+ if (this.config.globalDisabledTools?.includes(tool.name) || this.config.globalDisabledTools?.includes(tool.id)) {
118
+ console.warn(`ToolOrchestrator (ID: ${this.orchestratorId}): Registering tool '${tool.name}' (ID: '${tool.id}'), but it is listed as globally disabled. It may not be executable.`);
119
+ }
120
+ await this.toolExecutor.registerTool(tool);
121
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Tool '${tool.name}' (ID: '${tool.id}', Version: ${tool.version || 'N/A'}) successfully registered.`);
122
+ }
123
+ /**
124
+ * @inheritdoc
125
+ */
126
+ async unregisterTool(toolName) {
127
+ this.ensureInitialized();
128
+ if (!this.config.toolRegistrySettings.allowDynamicRegistration) {
129
+ throw new GMIError("Dynamic tool unregistration is disabled by the current ToolOrchestrator configuration.", GMIErrorCode.PERMISSION_DENIED, { toolName, orchestratorId: this.orchestratorId });
130
+ }
131
+ const success = await this.toolExecutor.unregisterTool(toolName);
132
+ if (success) {
133
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Tool '${toolName}' successfully unregistered.`);
134
+ }
135
+ else {
136
+ console.warn(`ToolOrchestrator (ID: ${this.orchestratorId}): Attempted to unregister tool '${toolName}', but it was not found in the registry.`);
137
+ }
138
+ return success;
139
+ }
140
+ /**
141
+ * @inheritdoc
142
+ */
143
+ async getTool(toolName) {
144
+ this.ensureInitialized();
145
+ return this.toolExecutor.getTool(toolName);
146
+ }
147
+ /**
148
+ * @inheritdoc
149
+ */
150
+ async listAvailableTools(context) {
151
+ this.ensureInitialized();
152
+ const availableToolsLLM = [];
153
+ const activeTools = this.toolExecutor.listAvailableTools();
154
+ for (const toolSummary of activeTools) {
155
+ const tool = await this.getTool(toolSummary.name);
156
+ if (!tool) {
157
+ continue;
158
+ }
159
+ if (this.config.globalDisabledTools?.includes(tool.name) ||
160
+ this.config.globalDisabledTools?.includes(tool.id)) {
161
+ if (this.config.logToolCalls) {
162
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Tool '${tool.name}' (ID: '${tool.id}') skipped from listing as it is globally disabled.`);
163
+ }
164
+ continue;
165
+ }
166
+ if (context && context.personaId && context.userContext && context.personaCapabilities) {
167
+ const permissionContext = {
168
+ tool,
169
+ personaId: context.personaId,
170
+ personaCapabilities: context.personaCapabilities,
171
+ userContext: context.userContext,
172
+ };
173
+ try {
174
+ const permissionResult = await this.permissionManager.isExecutionAllowed(permissionContext);
175
+ if (!permissionResult.isAllowed) {
176
+ if (this.config.logToolCalls) {
177
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Tool '${tool.name}' filtered out for persona '${context.personaId}' due to permission policy. Reason: ${permissionResult.reason || 'N/A'}.`);
178
+ }
179
+ continue;
180
+ }
181
+ }
182
+ catch (permissionError) {
183
+ console.error(`ToolOrchestrator (ID: ${this.orchestratorId}): Error while evaluating permissions for tool '${tool.name}'.`, permissionError);
184
+ continue;
185
+ }
186
+ }
187
+ availableToolsLLM.push({
188
+ name: tool.name,
189
+ description: tool.description,
190
+ inputSchema: tool.inputSchema,
191
+ outputSchema: tool.outputSchema,
192
+ });
193
+ }
194
+ return availableToolsLLM;
195
+ }
196
+ /**
197
+ * @inheritdoc
198
+ */
199
+ async processToolCall(requestDetails) {
200
+ this.ensureInitialized();
201
+ const { toolCallRequest, gmiId, personaId, personaCapabilities, userContext } = requestDetails;
202
+ // Check if toolCallRequest and toolCallRequest.name are valid
203
+ if (!toolCallRequest || !toolCallRequest.name || typeof toolCallRequest.name !== 'string') {
204
+ const errorMsg = "Invalid ToolCallRequest: 'name' is missing or not a string.";
205
+ console.error(`ToolOrchestrator (ID: ${this.orchestratorId}): ${errorMsg}`, { requestDetails });
206
+ return { toolCallId: toolCallRequest?.id || `invalid-call-${uuidv4()}`, toolName: "unknown", output: null, isError: true, errorDetails: { message: errorMsg, code: GMIErrorCode.VALIDATION_ERROR } };
207
+ }
208
+ const toolName = toolCallRequest.name;
209
+ const llmProvidedCallId = toolCallRequest.id;
210
+ const logPrefix = `ToolOrchestrator (ID: ${this.orchestratorId}, GMI: ${gmiId}, Persona: ${personaId}, LLMCallID: ${llmProvidedCallId}, Tool: ${toolName}):`;
211
+ if (this.config.logToolCalls) {
212
+ const argsPreview = JSON.stringify(toolCallRequest.arguments).substring(0, 200) + (JSON.stringify(toolCallRequest.arguments).length > 200 ? '...' : '');
213
+ console.log(`${logPrefix} Received tool call request. Arguments preview: ${argsPreview}`);
214
+ }
215
+ if (this.config.globalDisabledTools?.includes(toolName)) {
216
+ const errorMsg = `Attempted to execute globally disabled tool '${toolName}'. Execution denied.`;
217
+ console.warn(`${logPrefix} ${errorMsg}`);
218
+ return {
219
+ toolCallId: llmProvidedCallId,
220
+ toolName,
221
+ output: null,
222
+ isError: true,
223
+ errorDetails: { message: errorMsg, code: GMIErrorCode.PERMISSION_DENIED, reason: "Tool is globally disabled." },
224
+ };
225
+ }
226
+ const tool = await this.getTool(toolName);
227
+ if (!tool) {
228
+ const errorMsg = `Tool '${toolName}' not found in orchestrator's tool registry.`;
229
+ console.error(`${logPrefix} ${errorMsg}`);
230
+ return { toolCallId: llmProvidedCallId, toolName, output: null, isError: true, errorDetails: { message: errorMsg, code: GMIErrorCode.TOOL_NOT_FOUND } };
231
+ }
232
+ if (this.config.globalDisabledTools?.includes(tool.name) || this.config.globalDisabledTools?.includes(tool.id)) {
233
+ const errorMsg = `Attempted to execute globally disabled tool '${toolName}' (ID: '${tool.id}'). Execution denied.`;
234
+ console.warn(`${logPrefix} ${errorMsg}`);
235
+ return { toolCallId: llmProvidedCallId, toolName, output: null, isError: true, errorDetails: { message: errorMsg, code: GMIErrorCode.PERMISSION_DENIED, reason: "Tool is globally disabled." } };
236
+ }
237
+ const permissionContext = { tool, personaId, personaCapabilities, userContext, gmiId };
238
+ let permissionResult;
239
+ try {
240
+ permissionResult = await this.permissionManager.isExecutionAllowed(permissionContext);
241
+ }
242
+ catch (permError) {
243
+ const errorMsg = `An unexpected error occurred during permission check for tool '${toolName}'.`;
244
+ console.error(`${logPrefix} ${errorMsg}`, permError);
245
+ const wrappedError = createGMIErrorFromError(permError, GMIErrorCode.PERMISSION_DENIED, permissionContext, errorMsg);
246
+ return { toolCallId: llmProvidedCallId, toolName, output: null, isError: true, errorDetails: { message: wrappedError.message, code: wrappedError.code, details: wrappedError.details } };
247
+ }
248
+ if (!permissionResult.isAllowed) {
249
+ const errorMsg = permissionResult.reason || `Permission denied by ToolPermissionManager for tool '${toolName}'.`;
250
+ console.warn(`${logPrefix} ${errorMsg}`, permissionResult.details);
251
+ return { toolCallId: llmProvidedCallId, toolName, output: null, isError: true, errorDetails: { message: errorMsg, code: GMIErrorCode.PERMISSION_DENIED, details: permissionResult.details } };
252
+ }
253
+ if (this.config.logToolCalls) {
254
+ console.log(`${logPrefix} Permissions granted for tool '${toolName}'. Delegating execution to ToolExecutor.`);
255
+ }
256
+ let coreExecutorResult;
257
+ try {
258
+ coreExecutorResult = await this.toolExecutor.executeTool(requestDetails);
259
+ }
260
+ catch (executorPipelineError) {
261
+ const errorMsg = `Critical error within ToolExecutor's internal pipeline while processing '${toolName}'. This is not an error from the tool's execute method itself.`;
262
+ console.error(`${logPrefix} ${errorMsg}`, executorPipelineError);
263
+ const wrappedError = createGMIErrorFromError(executorPipelineError, GMIErrorCode.TOOL_EXECUTION_FAILED, requestDetails, errorMsg);
264
+ return { toolCallId: llmProvidedCallId, toolName, output: null, isError: true, errorDetails: { message: wrappedError.message, code: wrappedError.code, details: wrappedError.details } };
265
+ }
266
+ if (this.config.logToolCalls) {
267
+ const outputPreview = coreExecutorResult.output ? JSON.stringify(coreExecutorResult.output).substring(0, 150) + (JSON.stringify(coreExecutorResult.output).length > 150 ? '...' : '') : 'N/A';
268
+ console.log(`${logPrefix} Tool '${toolName}' execution completed by executor. Success: ${coreExecutorResult.success}. Output Preview: ${outputPreview}. Error: ${coreExecutorResult.error || 'N/A'}`);
269
+ }
270
+ return {
271
+ toolCallId: llmProvidedCallId,
272
+ toolName: toolName,
273
+ output: coreExecutorResult.success ? coreExecutorResult.output : null,
274
+ isError: !coreExecutorResult.success,
275
+ errorDetails: !coreExecutorResult.success ? {
276
+ message: coreExecutorResult.error || `Tool '${toolName}' reported failure without a specific error message.`,
277
+ details: coreExecutorResult.details,
278
+ } : undefined,
279
+ };
280
+ }
281
+ /**
282
+ * @inheritdoc
283
+ */
284
+ async checkHealth() {
285
+ this.ensureInitialized();
286
+ let pmHealth = { isHealthy: true, details: "ToolPermissionManager: Health not explicitly checked or no checkHealth method available." };
287
+ if (this.permissionManager && typeof this.permissionManager.checkHealth === 'function') {
288
+ try {
289
+ pmHealth = await this.permissionManager.checkHealth();
290
+ }
291
+ catch (e) {
292
+ pmHealth = { isHealthy: false, details: `Failed to retrieve ToolPermissionManager health: ${e.message}` };
293
+ }
294
+ }
295
+ let execHealth = { isHealthy: true, details: "ToolExecutor: Health not explicitly checked or no checkHealth method available." };
296
+ if (this.toolExecutor && typeof this.toolExecutor.checkHealth === 'function') {
297
+ try {
298
+ execHealth = await this.toolExecutor.checkHealth();
299
+ }
300
+ catch (e) {
301
+ execHealth = { isHealthy: false, details: `Failed to retrieve ToolExecutor health: ${e.message}` };
302
+ }
303
+ }
304
+ const isOverallHealthy = this.isInitialized && pmHealth.isHealthy && execHealth.isHealthy;
305
+ return {
306
+ isHealthy: isOverallHealthy,
307
+ details: {
308
+ orchestratorId: this.orchestratorId,
309
+ status: this.isInitialized ? 'INITIALIZED' : 'NOT_INITIALIZED',
310
+ registeredToolCount: this.toolExecutor.listAvailableTools().length,
311
+ configSnapshot: {
312
+ logToolCalls: this.config.logToolCalls,
313
+ allowDynamicRegistration: this.config.toolRegistrySettings.allowDynamicRegistration,
314
+ globalDisabledToolsCount: this.config.globalDisabledTools.length,
315
+ },
316
+ permissionManagerStatus: pmHealth,
317
+ toolExecutorStatus: execHealth,
318
+ },
319
+ };
320
+ }
321
+ /**
322
+ * Shuts down all registered tools that implement the `shutdown` method.
323
+ * Prefers using `ToolExecutor.shutdownAllTools()` if available.
324
+ * @private
325
+ * @async
326
+ */
327
+ async shutdownRegisteredTools() {
328
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Initiating shutdown for registered tools via ToolExecutor.`);
329
+ if (this.toolExecutor && typeof this.toolExecutor.shutdownAllTools === 'function') {
330
+ try {
331
+ await this.toolExecutor.shutdownAllTools();
332
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): ToolExecutor successfully completed shutdownAllTools.`);
333
+ }
334
+ catch (e) {
335
+ console.error(`ToolOrchestrator (ID: ${this.orchestratorId}): Error during ToolExecutor.shutdownAllTools: ${e.message}`, e);
336
+ }
337
+ }
338
+ }
339
+ /**
340
+ * @inheritdoc
341
+ */
342
+ async shutdown() {
343
+ if (!this.isInitialized) {
344
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Shutdown called, but orchestrator was not initialized or already shut down.`);
345
+ return;
346
+ }
347
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}): Initiating shutdown sequence...`);
348
+ await this.shutdownRegisteredTools();
349
+ this.isInitialized = false;
350
+ console.log(`ToolOrchestrator (ID: ${this.orchestratorId}) shut down complete. All tools processed for shutdown and registry cleared.`);
351
+ }
352
+ }
353
+ /**
354
+ * Default configuration values for the ToolOrchestrator.
355
+ * These are applied if specific values are not provided during initialization, ensuring robust default behavior.
356
+ * @private
357
+ * @static
358
+ * @readonly
359
+ */
360
+ ToolOrchestrator.DEFAULT_CONFIG = {
361
+ orchestratorId: '',
362
+ defaultToolCallTimeoutMs: 30000,
363
+ maxConcurrentToolCalls: 10,
364
+ logToolCalls: true,
365
+ globalDisabledTools: [],
366
+ toolRegistrySettings: {
367
+ allowDynamicRegistration: true,
368
+ persistRegistry: false,
369
+ persistencePath: undefined,
370
+ },
371
+ customParameters: {},
372
+ };
373
+ //# sourceMappingURL=ToolOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolOrchestrator.js","sourceRoot":"","sources":["../../../src/core/tools/ToolOrchestrator.ts"],"names":[],"mappings":"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"}