@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,527 @@
1
+ /**
2
+ * @fileoverview Provides an abstract base class, `AgentCore`, for all agents in AgentOS.
3
+ * This class implements the `IAgent` interface and offers foundational functionalities
4
+ * common to most agents, such as configuration management, basic state handling,
5
+ * interaction with the PromptEngine, AI Model Providers, and an optional UtilityAI service.
6
+ *
7
+ * Concrete agent implementations (e.g., a `SimpleChatAgent`, `ToolUsingAgent`, or `AgentPoolAgent`)
8
+ * should extend `AgentCore` and implement the abstract `processTurn` method, which defines
9
+ * the agent's primary turn-taking logic. `AgentCore` provides protected helper methods
10
+ * for common tasks like LLM calls and response parsing, promoting code reuse and consistency.
11
+ *
12
+ * The design emphasizes:
13
+ * - Clear separation of concerns: Agent logic is distinct from orchestration or tool execution.
14
+ * - Configurability: Agents are defined by an `AgentConfig` object.
15
+ * - Extensibility: Easy to create new agent types by inheriting from `AgentCore`.
16
+ * - Dependency Injection: Core services (PromptEngine, ProviderManager, etc.) are injected.
17
+ * @module backend/agentos/core/agents/AgentCore
18
+ */
19
+ import { MessageRole } from '../conversation/ConversationMessage.js';
20
+ // AIModelProviderManager import moved to IAgentFactory (used for AgentDependencies type)
21
+ /**
22
+ * Defines the type of an agent, used for categorization and potentially for
23
+ * determining specific handling or factory instantiation logic.
24
+ * @enum {string}
25
+ */
26
+ export var AgentType;
27
+ (function (AgentType) {
28
+ /** A standard, general-purpose agent. */
29
+ AgentType["STANDARD"] = "standard";
30
+ /** An agent that manages a pool of other sub-agents (e.g., a router or mixture-of-experts). */
31
+ AgentType["POOL"] = "pool";
32
+ /** A specialized agent focused on a particular task or domain. */
33
+ AgentType["SPECIALIZED"] = "specialized";
34
+ /** An agent primarily designed for research or experimental purposes. */
35
+ AgentType["RESEARCH"] = "research";
36
+ })(AgentType || (AgentType = {}));
37
+ /**
38
+ * Custom error class for issues specific to AgentCore operations.
39
+ * @class AgentCoreError
40
+ * @extends {Error}
41
+ */
42
+ export class AgentCoreError extends Error {
43
+ /**
44
+ * Creates an instance of AgentCoreError.
45
+ * @param {string} message - The error message.
46
+ * @param {string} code - The error code (e.g., 'LLM_CALL_FAILED', 'PROMPT_PARSE_ERROR').
47
+ * @param {any} [details] - Additional error details.
48
+ */
49
+ constructor(message, code, details) {
50
+ super(message);
51
+ this.name = 'AgentCoreError';
52
+ this.code = code;
53
+ this.details = details;
54
+ Object.setPrototypeOf(this, AgentCoreError.prototype);
55
+ }
56
+ }
57
+ /**
58
+ * Provides a foundational abstract class for creating specialized agents.
59
+ * It manages configuration, interaction with the `PromptEngine`, `IProvider` (LLM),
60
+ * and an optional `IUtilityAI` service. Concrete agents must implement `processTurn`.
61
+ *
62
+ * @class AgentCore
63
+ * @abstract
64
+ * @implements {IAgent}
65
+ */
66
+ export class AgentCore {
67
+ /**
68
+ * Constructs an `AgentCore` instance.
69
+ *
70
+ * @param {AgentConfig} config - The configuration for this agent. Must include `id`, `name`,
71
+ * `description`, `systemPrompt`, and `modelTargetInfo`.
72
+ * @param {IPromptEngine} promptEngine - An instance of the `IPromptEngine`.
73
+ * @param {IProvider} llmProvider - The primary AI model provider for this agent.
74
+ * @param {IUtilityAI} [utilityAI] - Optional. An instance of an `IUtilityAI` service.
75
+ * @param {IAgentFactory} [agentFactory] - Optional. An instance of `IAgentFactory`,
76
+ * primarily for agents that manage other agents (e.g., `AgentPoolAgent`).
77
+ * @throws {AgentCoreError} If essential configuration or dependencies are missing.
78
+ */
79
+ constructor(config, promptEngine, llmProvider, utilityAI, agentFactory) {
80
+ /**
81
+ * Indicates if the agent has been successfully initialized.
82
+ * @protected
83
+ * @type {boolean}
84
+ */
85
+ this.isInitialized = false;
86
+ if (!config || !config.id || !config.name || !config.description || !config.systemPrompt || !config.modelTargetInfo) {
87
+ throw new AgentCoreError("AgentCore: Missing required configuration properties (id, name, description, systemPrompt, modelTargetInfo).", 'AGENT_CONFIG_INVALID');
88
+ }
89
+ if (!promptEngine) {
90
+ throw new AgentCoreError("AgentCore: IPromptEngine dependency is required.", 'DEPENDENCY_MISSING_PROMPTENGINE');
91
+ }
92
+ if (!llmProvider) {
93
+ throw new AgentCoreError("AgentCore: IProvider (llmProvider) dependency is required.", 'DEPENDENCY_MISSING_LLMPROVIDER');
94
+ }
95
+ this.id = config.id;
96
+ this.name = config.name;
97
+ this.description = config.description;
98
+ this.agentConfig = { type: AgentType.STANDARD, ...config }; // Default type if not specified
99
+ this.promptEngine = promptEngine;
100
+ this.llmProvider = llmProvider;
101
+ this.utilityAI = utilityAI;
102
+ this.agentFactory = agentFactory;
103
+ // console.log(`AgentCore instance '${this.name}' (ID: ${this.id}) constructed. Awaiting initialization.`);
104
+ }
105
+ /**
106
+ * Ensures the agent has been initialized before performing operations that depend on it.
107
+ * @protected
108
+ * @throws {AgentCoreError} If the agent is not initialized.
109
+ */
110
+ ensureInitialized() {
111
+ if (!this.isInitialized) {
112
+ throw new AgentCoreError(`Agent '${this.name}' (ID: ${this.id}) is not initialized. Call initialize() first.`, 'AGENT_NOT_INITIALIZED');
113
+ }
114
+ }
115
+ /**
116
+ * Handles results from tool calls that this agent previously requested.
117
+ * The base implementation provides a default behavior: it attempts to use the agent's LLM
118
+ * to generate a conversational explanation or summary of the tool's output, especially
119
+ * if the output is complex or unexpected.
120
+ *
121
+ * Concrete agents that require more specific handling of tool results (e.g., directly using
122
+ * structured tool output in their logic) **should override** this method.
123
+ *
124
+ * @inheritdoc
125
+ * @throws {AgentCoreError} If adding the tool result to context fails or if the LLM call for explanation fails.
126
+ */
127
+ async handleToolResult(toolCallId, toolOutput, toolName, conversationContext) {
128
+ this.ensureInitialized();
129
+ // console.log(`Agent '${this.name}': Handling tool result for call '${toolCallId}' from tool '${toolName}'.`);
130
+ try {
131
+ conversationContext.addMessage({
132
+ role: MessageRole.TOOL,
133
+ content: typeof toolOutput === 'string' ? toolOutput : JSON.stringify(toolOutput, null, 2),
134
+ tool_call_id: toolCallId,
135
+ name: toolName, // Standard practice to include tool name here
136
+ });
137
+ }
138
+ catch (error) {
139
+ console.error(`Agent '${this.name}': Failed to add tool result to conversation context: ${error.message}`, error);
140
+ // This is a significant issue as context is now inconsistent.
141
+ throw new AgentCoreError(`Failed to add tool result for '${toolName}' to context: ${error.message}`, 'CONTEXT_UPDATE_FAILED_TOOL_RESULT', error);
142
+ }
143
+ // Default behavior: Attempt to explain/summarize the tool output using the LLM.
144
+ // This is particularly useful if the tool output is verbose or technical.
145
+ let summarizedOutput = `Tool '${toolName}' (call ID: ${toolCallId}) executed.`;
146
+ if (toolOutput !== undefined && toolOutput !== null) {
147
+ summarizedOutput += ` Output: ${typeof toolOutput === 'string' ? toolOutput.substring(0, 500) : JSON.stringify(toolOutput).substring(0, 500)}`;
148
+ if (summarizedOutput.length > 500)
149
+ summarizedOutput += "... (output truncated for summary prompt)";
150
+ }
151
+ else {
152
+ summarizedOutput += " The tool did not produce any explicit output content.";
153
+ }
154
+ // Use a meta-prompt to guide the LLM in processing the tool output.
155
+ const metaSystemPromptContent = this.agentConfig.metaSystemPromptForUnexpectedSituations ||
156
+ `You are an AI assistant. A tool named '${toolName}' was just executed as part of your thought process.
157
+ Its output is: "${summarizedOutput}".
158
+ Your task is to now decide the next step. You can either:
159
+ 1. Formulate a response to the user based on this tool output and the conversation history.
160
+ 2. Decide to call another tool if necessary.
161
+ 3. Ask the user for clarification if the tool output is ambiguous or insufficient.
162
+ Present your decision or response clearly.`;
163
+ try {
164
+ const promptComponents = {
165
+ systemPrompts: [{ content: metaSystemPromptContent, priority: -100 }], // High priority for meta-task
166
+ conversationHistory: [...conversationContext.getHistory()], // Pass full available history
167
+ // No direct userInput here; the "input" is effectively the tool result.
168
+ // The LLM prompt will need to be framed such that it processes the history + tool result.
169
+ };
170
+ // We need a user-like message to "prompt" the LLM about the tool result
171
+ const userPromptForToolResult = `The tool '${toolName}' has completed. Output: ${summarizedOutput}. What is the next step or the response to the user?`;
172
+ promptComponents.userInput = userPromptForToolResult;
173
+ const llmResponse = await this.callLLM(this.llmProvider, promptComponents, {
174
+ temperature: this.agentConfig.defaultModelCompletionOptions?.temperature ?? 0.5, // Default or configured
175
+ maxTokens: this.agentConfig.defaultModelCompletionOptions?.maxTokens ?? 1000, // Allow ample space for reasoning
176
+ // Tools should still be available if the agent needs to chain tool calls
177
+ tools: this.agentConfig.toolIds ? (await this.getAvailableToolDefinitions(this.agentConfig.toolIds)) : undefined,
178
+ });
179
+ const parsedResponse = this.parseLLMResponse(llmResponse);
180
+ return {
181
+ responseText: parsedResponse.responseText ?? undefined,
182
+ toolCalls: parsedResponse.toolCalls,
183
+ isComplete: !parsedResponse.toolCalls || parsedResponse.toolCalls.length === 0, // Complete if no further tool calls
184
+ rawModelResponse: parsedResponse.rawResponseMessage,
185
+ metadata: { processedToolResult: toolName, toolCallId },
186
+ };
187
+ }
188
+ catch (llmError) {
189
+ const errorMsg = `Agent '${this.name}': Failed to process tool result for '${toolName}' using LLM: ${llmError.message}`;
190
+ console.error(errorMsg, llmError);
191
+ return {
192
+ responseText: `I received a result from the '${toolName}' tool, but I encountered an issue while trying to process it. Please try rephrasing your request or try again later.`,
193
+ isComplete: true, // Mark as complete as it cannot proceed with this path.
194
+ error: new AgentCoreError(errorMsg, 'TOOL_RESULT_LLM_PROCESSING_FAILED', llmError),
195
+ };
196
+ }
197
+ }
198
+ /**
199
+ * @inheritdoc
200
+ * Default implementation. Subclasses can override for custom setup logic.
201
+ * Ensures that configuration is applied and logs initialization.
202
+ */
203
+ async initialize(config) {
204
+ if (this.isInitialized && !config) {
205
+ // console.log(`Agent '${this.name}' (ID: ${this.id}) already initialized. Skipping no-op re-initialization.`);
206
+ return;
207
+ }
208
+ if (config) {
209
+ // Deep merge might be preferable for complex configurations.
210
+ // For now, Object.assign provides a shallow merge, overriding top-level properties.
211
+ // This is generally fine if `AgentConfig` is structured and `config` provides overrides.
212
+ Object.assign(this.agentConfig, config);
213
+ // console.log(`Agent '${this.name}' (ID: ${this.id}) re-configured during initialization.`);
214
+ }
215
+ this.isInitialized = true;
216
+ // console.log(`Agent '${this.name}' (ID: ${this.id}) initialized. Config:`, this.agentConfig);
217
+ }
218
+ /**
219
+ * @inheritdoc
220
+ * Default implementation. Subclasses should override if they maintain specific internal state
221
+ * that needs to be reset between conversations or sessions.
222
+ */
223
+ reset() {
224
+ this.ensureInitialized(); // Should be initialized to be reset
225
+ // console.log(`Agent '${this.name}' (ID: ${this.id}) state reset. (Base implementation, no specific state cleared here).`);
226
+ // Subclasses should call super.reset() and then clear their own state.
227
+ }
228
+ /**
229
+ * @inheritdoc
230
+ * Provides a default implementation for handling internal agent errors.
231
+ * This method leverages the agent's primary LLM to generate a user-friendly explanation
232
+ * of the error and potentially ask for user guidance.
233
+ * @throws {AgentCoreError} If the LLM call for error explanation itself fails.
234
+ */
235
+ async handleInternalAgentError(internalErrorDescriptionOrError, conversationContext, isFatalForTurn = true) {
236
+ this.ensureInitialized();
237
+ const internalErrorDescription = typeof internalErrorDescriptionOrError === 'string' ? internalErrorDescriptionOrError : internalErrorDescriptionOrError.message;
238
+ console.error(`Agent '${this.name}' (ID: ${this.id}) encountered an internal error: ${internalErrorDescription}`, typeof internalErrorDescriptionOrError !== 'string' ? internalErrorDescriptionOrError : '');
239
+ const metaSystemPrompt = this.agentConfig.metaSystemPromptForUnexpectedSituations ||
240
+ `You are an AI assistant. You've encountered an internal operational issue.
241
+ Your task is to clearly and apologetically explain this problem to the user.
242
+ If possible, suggest how the user might rephrase their request or provide information that could help.
243
+ The internal issue was: "${internalErrorDescription.substring(0, 300)}${internalErrorDescription.length > 300 ? '...' : ''}".`;
244
+ try {
245
+ const promptComponents = {
246
+ systemPrompts: [{ content: metaSystemPrompt, priority: -200 }], // High priority for this meta-task
247
+ conversationHistory: [...conversationContext.getHistory(3)], // Limited recent history for context
248
+ userInput: `I've encountered an internal technical difficulty described as: "${internalErrorDescription}". I need to inform the user about this. How should I phrase it and what should I suggest?`,
249
+ };
250
+ const llmResponse = await this.callLLM(this.llmProvider, promptComponents, {
251
+ temperature: 0.5, // Neutral temperature for explanation
252
+ maxTokens: 500, // Sufficient for a concise explanation
253
+ tools: [], // Typically no tools needed to explain an error
254
+ });
255
+ const parsedResponse = this.parseLLMResponse(llmResponse);
256
+ return {
257
+ responseText: parsedResponse.responseText || `I'm sorry, I've encountered an unexpected internal issue and cannot proceed as expected with your request. The issue was related to: ${internalErrorDescription.substring(0, 100)}...`,
258
+ isComplete: isFatalForTurn,
259
+ error: new AgentCoreError(internalErrorDescription, 'INTERNAL_AGENT_ERROR_EXPLAINED', internalErrorDescriptionOrError),
260
+ rawModelResponse: parsedResponse.rawResponseMessage,
261
+ };
262
+ }
263
+ catch (llmError) {
264
+ const errorMsg = `Agent '${this.name}': Critical failure. LLM failed to generate an explanation for its own internal error: ${llmError.message}`;
265
+ console.error(errorMsg, llmError);
266
+ // Fallback to a very generic error message if the LLM can't even explain the error.
267
+ throw new AgentCoreError(errorMsg, 'INTERNAL_ERROR_EXPLANATION_FAILED', llmError);
268
+ }
269
+ }
270
+ /**
271
+ * Protected helper to construct prompt components for the `PromptEngine`.
272
+ * Gathers system prompt, conversation history, user input, and tool schemas based on agent configuration.
273
+ *
274
+ * @protected
275
+ * @param {string | null} userInput - The current user input.
276
+ * @param {ConversationContext} conversationContext - The conversation context.
277
+ * @param {Tool[]} [availableTools] - Tools available for this turn.
278
+ * @param {Array<{ content: string; priority?: number }>} [additionalSystemPrompts] - Optional additional system prompts to layer in.
279
+ * @returns {Promise<Partial<PromptComponents>>} The assembled prompt components.
280
+ * @throws {AgentCoreError} If `PromptEngine`'s configuration cannot be accessed.
281
+ */
282
+ async gatherPromptComponents(userInput, conversationContext, availableTools, additionalSystemPrompts) {
283
+ this.ensureInitialized();
284
+ const systemPromptsFromConfig = Array.isArray(this.agentConfig.systemPrompt)
285
+ ? [...this.agentConfig.systemPrompt]
286
+ : [{ content: this.agentConfig.systemPrompt, priority: 0 }];
287
+ const finalSystemPrompts = additionalSystemPrompts
288
+ ? [...systemPromptsFromConfig, ...additionalSystemPrompts].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0))
289
+ : systemPromptsFromConfig;
290
+ // Access PromptEngine's own config for defaults if agent doesn't override.
291
+ // This requires PromptEngine to expose its config or have a method for it.
292
+ // For now, we assume promptEngineConfigOverrides are comprehensive if used.
293
+ const historyMaxMessages = this.agentConfig.promptEngineConfigOverrides?.historyManagement?.defaultMaxMessages ??
294
+ 20; // Hard fallback
295
+ const components = {
296
+ systemPrompts: finalSystemPrompts,
297
+ conversationHistory: [...conversationContext.getHistory(historyMaxMessages)],
298
+ userInput: userInput ?? undefined, // Pass undefined if null, as per PromptComponents
299
+ };
300
+ if (availableTools &&
301
+ availableTools.length > 0 &&
302
+ this.agentConfig.modelTargetInfo.toolSupport?.supported) {
303
+ components.tools = availableTools;
304
+ }
305
+ return components;
306
+ }
307
+ /**
308
+ * Protected helper method to make a call to the LLM provider via the `PromptEngine`.
309
+ *
310
+ * @protected
311
+ * @param {IProvider} llmProvider - The LLM provider instance to use for this call.
312
+ * @param {Partial<PromptComponents>} promptComponents - Components to build the prompt.
313
+ * @param {Partial<ModelCompletionOptions>} [overrideOptions] - Options to override agent's defaults for this specific call.
314
+ * @returns {Promise<ModelCompletionResponse>} The LLM's full response.
315
+ * @throws {AgentCoreError} If prompt construction fails with an error, or if the LLM call itself fails.
316
+ */
317
+ async callLLM(llmProvider, // Allow specifying provider for advanced scenarios (e.g. utility LLM call)
318
+ promptComponents, overrideOptions) {
319
+ this.ensureInitialized();
320
+ let promptResult;
321
+ try {
322
+ promptResult = await this.promptEngine.constructPrompt(promptComponents, this.agentConfig.modelTargetInfo, // Agent's primary model target
323
+ undefined, this.agentConfig.promptTemplateName);
324
+ }
325
+ catch (error) {
326
+ console.error(`Agent '${this.name}': Error during prompt construction: ${error.message}`, error);
327
+ throw new AgentCoreError(`Prompt construction failed: ${error.message}`, 'PROMPT_CONSTRUCTION_ERROR', error);
328
+ }
329
+ if (promptResult.issues?.some(i => i.type === 'error')) {
330
+ const errorMessages = promptResult.issues.filter(i => i.type === 'error').map(i => i.message).join('; ');
331
+ console.error(`Agent '${this.name}': Critical errors during prompt construction:`, promptResult.issues);
332
+ throw new AgentCoreError(`Prompt construction failed with critical errors: ${errorMessages}`, 'PROMPT_VALIDATION_ERROR', promptResult.issues);
333
+ }
334
+ if (promptResult.issues?.some(i => i.type === 'warning')) {
335
+ console.warn(`Agent '${this.name}': Warnings during prompt construction:`, promptResult.issues);
336
+ }
337
+ const completionOptions = {
338
+ modelId: this.agentConfig.modelTargetInfo.modelId, // From agent's primary target
339
+ ...this.agentConfig.defaultModelCompletionOptions, // Agent's defaults
340
+ ...overrideOptions, // Call-specific overrides
341
+ tools: promptResult.formattedToolSchemas, // Schemas formatted by PromptEngine
342
+ };
343
+ if (!completionOptions.modelId) {
344
+ throw new AgentCoreError(`No modelId configured for agent '${this.name}'. Verify agentConfig.modelTargetInfo.modelId.`, 'MODEL_ID_MISSING');
345
+ }
346
+ // console.debug(`Agent '${this.name}' (ID: ${this.id}) calling LLM (${completionOptions.modelId || 'N/A'}) on provider ${llmProvider.providerId}. Options:`, completionOptions, `Prompt metadata:`, promptResult.metadata);
347
+ let llmResponse;
348
+ try {
349
+ llmResponse = await llmProvider.generateCompletion(completionOptions.modelId, promptResult.prompt, completionOptions);
350
+ }
351
+ catch (error) {
352
+ console.error(`Agent '${this.name}': LLM Provider (${llmProvider.providerId}) .generateCompletion failed for model ${completionOptions.modelId}: ${error.message}`, error);
353
+ throw new AgentCoreError(`LLM Provider Error on .generateCompletion (${completionOptions.modelId}, ${llmProvider.providerId}): ${error.message}`, 'LLM_PROVIDER_EXECUTION_ERROR', error);
354
+ }
355
+ if (llmResponse.error) {
356
+ console.error(`Agent '${this.name}': LLM Provider (${llmProvider.providerId}) returned an error for model ${completionOptions.modelId}:`, llmResponse.error);
357
+ throw new AgentCoreError(`LLM Provider Error (${completionOptions.modelId}, ${llmProvider.providerId}): ${llmResponse.error.message}`, 'LLM_PROVIDER_RESPONSE_ERROR', llmResponse.error);
358
+ }
359
+ return llmResponse;
360
+ }
361
+ /**
362
+ * Protected helper to parse an LLM response, extracting the primary text content and any tool calls.
363
+ * It handles parsing of tool call arguments from their typical JSON string format into objects.
364
+ *
365
+ * @protected
366
+ * @param {ModelCompletionResponse} llmResponse - The complete response object from the LLM provider.
367
+ * @returns {{ responseText: string | null; toolCalls?: AgentToolCall[]; rawResponseMessage?: any; }}
368
+ * An object containing:
369
+ * - `responseText`: The main textual content from the LLM, or `null` if none.
370
+ * - `toolCalls`: An array of `AgentToolCall` objects if the LLM requested tool executions, `undefined` otherwise.
371
+ * - `rawResponseMessage`: The actual message object from the LLM's first choice, for debugging or advanced needs.
372
+ * @throws {AgentCoreError} If no valid choice is found in the LLM response.
373
+ */
374
+ parseLLMResponse(llmResponse) {
375
+ this.ensureInitialized();
376
+ // Error in llmResponse object itself should have been handled by callLLM.
377
+ const choice = llmResponse.choices?.[0];
378
+ if (!choice) {
379
+ const errorMsg = `No valid choice found in LLM response. Response ID: ${llmResponse.id}`;
380
+ console.error(`Agent '${this.name}': ${errorMsg}`, llmResponse);
381
+ throw new AgentCoreError(errorMsg, 'LLM_RESPONSE_NO_CHOICE', { responseId: llmResponse.id });
382
+ }
383
+ // Extract text content. Handle both direct text and message.content.
384
+ const responseText = this.extractTextFromMessageContent(choice.message?.content) ??
385
+ (typeof choice.text === 'string' ? choice.text : null);
386
+ let agentToolCalls = undefined;
387
+ if (choice.message?.tool_calls && choice.message.tool_calls.length > 0) {
388
+ agentToolCalls = [];
389
+ for (const tc of choice.message.tool_calls) {
390
+ if (tc.type === 'function' && tc.function) {
391
+ try {
392
+ const callId = tc.id || `tool_call_${Date.now()}_${Math.random().toString(36).substring(7)}`; // Ensure callId
393
+ agentToolCalls.push({
394
+ callId: callId,
395
+ toolId: tc.function.name,
396
+ arguments: JSON.parse(tc.function.arguments || '{}'), // Ensure arguments are parsed; default to empty object if null/undefined
397
+ });
398
+ }
399
+ catch (e) {
400
+ const parseErrorMsg = `Failed to parse tool call arguments for tool '${tc.function.name}' (ID: ${tc.id}). Arguments: "${tc.function.arguments}". Error: ${e.message}`;
401
+ console.error(`Agent '${this.name}': ${parseErrorMsg}`, e);
402
+ // Optionally, include this error information in the agent's output or a system message to the user/orchestrator.
403
+ // For now, we skip the malformed tool call.
404
+ // A more robust system might try to self-correct or ask for clarification.
405
+ }
406
+ }
407
+ else {
408
+ console.warn(`Agent '${this.name}': Received tool_call of unhandled type '${tc.type}' or malformed function call structure for call ID '${tc.id}'. Skipping.`);
409
+ }
410
+ }
411
+ if (agentToolCalls.length === 0) {
412
+ agentToolCalls = undefined; // Ensure it's undefined if no valid tool calls were parsed.
413
+ }
414
+ }
415
+ return { responseText, toolCalls: agentToolCalls, rawResponseMessage: choice.message };
416
+ }
417
+ /**
418
+ * Normalizes a provider message content payload into plain text where possible.
419
+ */
420
+ extractTextFromMessageContent(content) {
421
+ if (content === null || content === undefined) {
422
+ return null;
423
+ }
424
+ if (typeof content === 'string') {
425
+ const trimmed = content.trim();
426
+ return trimmed.length > 0 ? trimmed : null;
427
+ }
428
+ if (Array.isArray(content)) {
429
+ const combined = content
430
+ .map(part => {
431
+ if (!part || typeof part !== 'object') {
432
+ return '';
433
+ }
434
+ if (typeof part.text === 'string') {
435
+ return part.text;
436
+ }
437
+ if (typeof part.content === 'string') {
438
+ return part.content;
439
+ }
440
+ if (part.type === 'tool_result' && typeof part.content === 'string') {
441
+ return part.content;
442
+ }
443
+ return '';
444
+ })
445
+ .filter(chunk => typeof chunk === 'string' && chunk.trim().length > 0)
446
+ .join(' ')
447
+ .trim();
448
+ return combined.length > 0 ? combined : null;
449
+ }
450
+ if (typeof content === 'object') {
451
+ return JSON.stringify(content);
452
+ }
453
+ return null;
454
+ }
455
+ /**
456
+ * Protected helper to get `ToolDefinition`s for a list of tool IDs.
457
+ * Used internally when `callLLM` needs to pass tool schemas.
458
+ * This assumes tools are registered with a `ToolRegistry` or accessible via `AgentOrchestrator`
459
+ * or similar mechanism that can provide `Tool` instances.
460
+ * For `AgentCore`, it needs a way to access these definitions.
461
+ * A simple approach is to assume `this.agentConfig.toolIds` refers to tools
462
+ * whose definitions can be fetched. This detail depends on how tools are managed globally.
463
+ * For now, this is a placeholder and might require a `ToolRegistry` dependency.
464
+ *
465
+ * @param toolIds List of tool IDs.
466
+ * @returns Array of ToolDefinitions.
467
+ */
468
+ async getAvailableToolDefinitions(_toolIds) {
469
+ // This is a conceptual placeholder. In a real system, you'd fetch Tool instances
470
+ // from a ToolRegistry or via the orchestrator, then get their definitions.
471
+ // For AgentCore, it doesn't manage tools directly.
472
+ // If an orchestrator provides `availableTools: Tool[]` to `processTurn`, that's the source.
473
+ // If this agent needs to pass tools to `callLLM` outside of `processTurn` (e.g., in `handleToolResult`),
474
+ // it needs a way to get those definitions.
475
+ // For now, return undefined, assuming the orchestrator handles tool provisioning to processTurn.
476
+ console.warn(`AgentCore.getAvailableToolDefinitions: Placeholder used. Tool definitions not dynamically fetched based on toolIds in this base class. Ensure tools are provided to processTurn or handleToolResult if needed for sub-calls.`);
477
+ return undefined;
478
+ }
479
+ // --- Convenience output builders ---
480
+ /**
481
+ * Creates a standard text-only agent output.
482
+ * @param {string} text - The textual response from the agent.
483
+ * @param {boolean} [isComplete=true] - Indicates if the agent's turn is complete with this output.
484
+ * @param {Record<string, any>} [metadata] - Optional metadata to include.
485
+ * @returns {AgentOutput} The structured agent output.
486
+ */
487
+ textOutput(text, isComplete = true, metadata) {
488
+ return { responseText: text, isComplete, metadata };
489
+ }
490
+ /**
491
+ * Creates an agent output that requests UI components to be rendered by the client.
492
+ * @param {UIComponentSpecification[]} components - An array of UI component specifications.
493
+ * @param {string} [responseText] - Optional accompanying textual response.
494
+ * @param {boolean} [isComplete=true] - Indicates if the agent's turn is complete.
495
+ * @param {Record<string, any>} [metadata] - Optional metadata.
496
+ * @returns {AgentOutput} The structured agent output.
497
+ */
498
+ uiOutput(components, responseText, isComplete = true, metadata) {
499
+ return { uiComponents: components, responseText, isComplete, metadata };
500
+ }
501
+ /**
502
+ * Creates an agent output that requests one or more tool calls to be executed.
503
+ * This typically means the agent's turn is **not yet complete** (`isComplete: false`),
504
+ * as it will await the results of these tool calls.
505
+ *
506
+ * @param {AgentToolCall[]} toolCalls - An array of tool call objects.
507
+ * @param {string} [responseText] - Optional interim text to provide to the user
508
+ * (e.g., "Okay, I will search the web for that information.").
509
+ * @param {Record<string, any>} [metadata] - Optional metadata.
510
+ * @returns {AgentOutput} The structured agent output.
511
+ * @throws {AgentCoreError} If `toolCalls` array is empty or not provided.
512
+ */
513
+ toolCallOutput(toolCalls, responseText, metadata) {
514
+ if (!toolCalls || toolCalls.length === 0) {
515
+ console.warn(`Agent '${this.name}': toolCallOutput was called with no toolCalls. This is likely an error in agent logic.`);
516
+ // Return an error output or a fallback text output indicating an issue.
517
+ return {
518
+ responseText: responseText || "I was about to use a tool, but encountered an issue selecting one. Please try again.",
519
+ isComplete: true, // Since no tool call can be made, the turn is effectively stalled/complete.
520
+ error: new AgentCoreError("Attempted to create toolCallOutput with no tool calls.", 'EMPTY_TOOL_CALL_REQUEST'),
521
+ metadata,
522
+ };
523
+ }
524
+ return { toolCalls, responseText, isComplete: false, metadata }; // isComplete is false as it awaits tool results
525
+ }
526
+ }
527
+ //# sourceMappingURL=AgentCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentCore.js","sourceRoot":"","sources":["../../../src/core/agents/AgentCore.ts"],"names":[],"mappings":"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"}