@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,627 @@
1
+ /**
2
+ * @fileoverview Defines the IPromptEngine interface and related types that form the core
3
+ * of AgentOS's adaptive and contextual prompting system. The PromptEngine is responsible
4
+ * for dynamically constructing prompts based on rich contextual information, persona
5
+ * definitions, and runtime state. It supports contextual element selection, token budgeting,
6
+ * content summarization, and multiple prompt template formats.
7
+ *
8
+ * This interface is central to the GMI (Generalized Mind Instance) architecture, enabling
9
+ * sophisticated prompt adaptation based on user skill level, mood, task complexity,
10
+ * conversation state, and persona-specific rules.
11
+ *
12
+ * Key responsibilities include:
13
+ * - Dynamic contextual element selection based on PromptExecutionContext.
14
+ * - Intelligent token budgeting and content truncation/summarization using an IUtilityAI helper.
15
+ * - Multi-modal prompt component integration (text, vision, audio data references, tools).
16
+ * - Template-based prompt formatting for different LLM providers and models.
17
+ * - Comprehensive error handling and issue reporting within the PromptEngineResult.
18
+ * - Performance optimization strategies such as caching.
19
+ *
20
+ * @module backend/agentos/core/llm/IPromptEngine
21
+ * @see {@link ../../../docs/PROMPTS.MD} for detailed architectural documentation.
22
+ * @see {@link ../../cognitive_substrate/personas/IPersonaDefinition.ts} for persona-driven prompting.
23
+ */
24
+ import { IPersonaDefinition, ContextualPromptElement, ContextualPromptElementCriteria } from '../../cognitive_substrate/personas/IPersonaDefinition';
25
+ import { IWorkingMemory } from '../../cognitive_substrate/memory/IWorkingMemory';
26
+ import { ITool } from '../tools/ITool';
27
+ import { VisionInputData, AudioInputData } from '../../cognitive_substrate/IGMI';
28
+ import { ConversationMessage as Message } from '../conversation/ConversationMessage';
29
+ import { ChatMessage } from './providers/IProvider';
30
+ /**
31
+ * Represents different types of contextual prompt elements that can be dynamically
32
+ * selected and integrated into prompts based on execution context.
33
+ * These elements allow for fine-grained adaptation of prompts.
34
+ * @enum {string}
35
+ */
36
+ export declare enum ContextualElementType {
37
+ /** Additional system-level instructions appended to base system prompt. */
38
+ SYSTEM_INSTRUCTION_ADDON = "system_instruction_addon",
39
+ /** Dynamic few-shot examples selected based on context to guide the LLM. */
40
+ FEW_SHOT_EXAMPLE = "few_shot_example",
41
+ /** Behavioral guidance or tone adjustments for the persona. */
42
+ BEHAVIORAL_GUIDANCE = "behavioral_guidance",
43
+ /** Specific instructions or constraints related to the current task. */
44
+ TASK_SPECIFIC_INSTRUCTION = "task_specific_instruction",
45
+ /** Instructions for handling errors or recovering from unexpected situations. */
46
+ ERROR_HANDLING_GUIDANCE = "error_handling_guidance",
47
+ /** Adjustments to the GMI's interaction style with the user. */
48
+ INTERACTION_STYLE_MODIFIER = "interaction_style_modifier",
49
+ /** Domain-specific knowledge, facts, or context relevant to the current query. */
50
+ DOMAIN_CONTEXT = "domain_context",
51
+ /** Ethical guidelines or safety instructions to ensure responsible AI behavior. */
52
+ ETHICAL_GUIDELINE = "ethical_guideline",
53
+ /** Specifications for the desired output format (e.g., JSON, Markdown). */
54
+ OUTPUT_FORMAT_SPEC = "output_format_spec",
55
+ /** Instructions for specific reasoning protocols (e.g., chain-of-thought, tree-of-thought). */
56
+ REASONING_PROTOCOL = "reasoning_protocol",
57
+ /** Dynamic content to be injected directly into the user part of the prompt. */
58
+ USER_PROMPT_AUGMENTATION = "user_prompt_augmentation",
59
+ /** Content to be injected into the assistant part for few-shot or role-play setup. */
60
+ ASSISTANT_PROMPT_AUGMENTATION = "assistant_prompt_augmentation"
61
+ }
62
+ /**
63
+ * Comprehensive execution context that drives dynamic prompt construction.
64
+ * This context is assembled by the GMI and contains all relevant information
65
+ * needed for intelligent contextual element selection and prompt adaptation.
66
+ * @interface PromptExecutionContext
67
+ */
68
+ export interface PromptExecutionContext {
69
+ /** The currently active persona definition, guiding overall behavior and prompt structure. */
70
+ activePersona: IPersonaDefinition;
71
+ /** Access to the GMI's working memory for dynamic value retrieval (e.g., user preferences, GMI traits). */
72
+ workingMemory: IWorkingMemory;
73
+ /** Current mood state of the GMI, which can influence tone and element selection. */
74
+ currentMood?: string;
75
+ /** Assessed or declared user skill level (e.g., 'beginner', 'expert') relevant to the task. */
76
+ userSkillLevel?: 'beginner' | 'intermediate' | 'advanced' | 'expert' | string;
77
+ /** Hint about the current task type (e.g., 'coding', 'writing', 'data_analysis'). */
78
+ taskHint?: string;
79
+ /** Assessed complexity level of the current task (e.g., 'simple', 'complex'). */
80
+ taskComplexity?: 'simple' | 'moderate' | 'complex' | 'highly_complex' | string;
81
+ /** Target language for the response (BCP-47 code, e.g., 'en-US', 'fr-FR'). */
82
+ language?: string;
83
+ /** Signals detected in the conversation (e.g., 'user_confused', 'task_completed_successfully'). */
84
+ conversationSignals?: string[];
85
+ /** Custom context flags for specialized prompting scenarios or A/B testing. */
86
+ customContext?: Record<string, unknown>;
87
+ /** User-specific preferences that affect prompting (e.g., verbosity, preferred formats). */
88
+ userPreferences?: Record<string, unknown>;
89
+ /** Historical interaction patterns that inform adaptation (e.g., preferred response styles). */
90
+ interactionHistorySummary?: {
91
+ successfulInteractionCount: number;
92
+ problematicInteractionCount: number;
93
+ commonTopics?: string[];
94
+ lastInteractionTimestamp?: string;
95
+ };
96
+ /** Current session metadata (e.g., duration, number of turns). */
97
+ sessionMetadata?: {
98
+ sessionDurationSeconds: number;
99
+ interactionCountInSession: number;
100
+ userEngagementLevel?: 'low' | 'medium' | 'high';
101
+ };
102
+ }
103
+ /**
104
+ * Core components that form the foundation of any prompt construction.
105
+ * These are gathered from various sources (GMI state, user input, RAG) and then
106
+ * augmented with dynamically selected contextual elements.
107
+ * @interface PromptComponents
108
+ */
109
+ export interface PromptComponents {
110
+ /** System-level prompts with optional priority ordering. Higher priority usually means placed earlier or given more weight. */
111
+ systemPrompts?: Array<{
112
+ content: string;
113
+ priority?: number;
114
+ source?: string;
115
+ }>;
116
+ /** Conversation history messages, typically an array of `Message` objects. */
117
+ conversationHistory?: Message[];
118
+ /** Current user input text. */
119
+ userInput?: string | null;
120
+ /** Visual inputs (images) if the target model supports vision. */
121
+ visionInputs?: VisionInputData[];
122
+ /** Audio input data references if the model or a pre-processing step handles audio. */
123
+ audioInput?: AudioInputData;
124
+ /** Available tools and their schemas, for models that support function/tool calling. */
125
+ tools?: ITool[];
126
+ /**
127
+ * Pre-formatted tool/function schemas that should be forwarded to the model as-is.
128
+ * Useful when upstream logic has already normalized the schema definitions.
129
+ */
130
+ toolSchemas?: Array<Record<string, unknown>>;
131
+ /** Retrieved context from a RAG system, to be incorporated into the prompt. */
132
+ retrievedContext?: string | Array<{
133
+ source: string;
134
+ content: string;
135
+ relevance?: number;
136
+ type?: string;
137
+ }>;
138
+ /** Task-specific data or parameters that need to be included in the prompt. */
139
+ taskSpecificData?: Record<string, unknown>;
140
+ /** Additional custom components that templates might use. */
141
+ customComponents?: Record<string, unknown>;
142
+ }
143
+ /**
144
+ * Information about the target AI model that affects prompt construction.
145
+ * This guides template selection, token limits, and capability-specific formatting.
146
+ * @interface ModelTargetInfo
147
+ */
148
+ export interface ModelTargetInfo {
149
+ /** Unique identifier of the target model (e.g., "gpt-4o", "ollama/llama3"). */
150
+ modelId: string;
151
+ /** Identifier of the provider hosting the model (e.g., "openai", "ollama"). */
152
+ providerId: string;
153
+ /** Maximum context length in tokens supported by the model. */
154
+ maxContextTokens: number;
155
+ /**
156
+ * Optional: Optimal context length for best performance/cost-efficiency, if different from max.
157
+ * Prompts might be targeted to this length.
158
+ */
159
+ optimalContextTokens?: number;
160
+ /** A list of functional capabilities of the model (e.g., 'tool_use', 'vision_input', 'json_mode'). */
161
+ capabilities: string[];
162
+ /**
163
+ * The type of prompt format the model expects.
164
+ * 'openai_chat': Standard OpenAI chat completion format (array of messages).
165
+ * 'anthropic_messages': Anthropic Messages API format (messages array + optional system prompt).
166
+ * 'generic_completion': A single string prompt for older completion-style models.
167
+ * 'custom': A custom format handled by a specific template.
168
+ */
169
+ promptFormatType: 'openai_chat' | 'anthropic_messages' | 'generic_completion' | 'custom' | string;
170
+ /** Configuration for tool/function calling support. */
171
+ toolSupport: {
172
+ supported: boolean;
173
+ /** Format expected by the model for tool definitions and calls. */
174
+ format: 'openai_functions' | 'anthropic_tools' | 'google_tools' | 'custom' | string;
175
+ /** Maximum number of tools that can be defined or called in a single interaction. */
176
+ maxToolsPerCall?: number;
177
+ };
178
+ /** Vision input support configuration. */
179
+ visionSupport?: {
180
+ supported: boolean;
181
+ maxImages?: number;
182
+ supportedFormats?: string[];
183
+ maxImageResolution?: string;
184
+ };
185
+ /** Audio input support configuration (more likely for pre-processing than direct model input). */
186
+ audioSupport?: {
187
+ supported: boolean;
188
+ requiresTranscription?: boolean;
189
+ };
190
+ /** Model-specific hints for optimizing prompt construction or token budgeting. */
191
+ optimizationHints?: {
192
+ preferredSystemPromptLength?: number;
193
+ optimalHistoryMessages?: number;
194
+ tokenBudgetingStrategy?: 'aggressive_truncate' | 'summarize_old' | 'balanced';
195
+ };
196
+ }
197
+ /**
198
+ * The final formatted prompt ready for submission to an LLM provider.
199
+ * The structure varies based on the target model's requirements.
200
+ * - `ChatMessage[]`: For models like OpenAI Chat.
201
+ * - `string`: For older text completion models.
202
+ * - `object`: For models with more complex input structures (e.g., Anthropic Messages API which takes an object with `messages` and `system`).
203
+ * @type FormattedPrompt
204
+ */
205
+ export type FormattedPrompt = ChatMessage[] | string | {
206
+ messages: ChatMessage[];
207
+ system?: string;
208
+ tools?: any[];
209
+ [key: string]: any;
210
+ };
211
+ /**
212
+ * Comprehensive result object returned by prompt construction, containing
213
+ * the formatted prompt, metadata, issues encountered, and optimization information.
214
+ * @interface PromptEngineResult
215
+ */
216
+ export interface PromptEngineResult {
217
+ /** The final formatted prompt ready for LLM consumption. */
218
+ prompt: FormattedPrompt;
219
+ /**
220
+ * Formatted tool schemas compatible with the target model's API, if tools are used.
221
+ * The structure of `any[]` depends on `ModelTargetInfo.toolSupport.format`.
222
+ */
223
+ formattedToolSchemas?: any[];
224
+ /** Estimated token count of the constructed prompt before precise provider counting. */
225
+ estimatedTokenCount?: number;
226
+ /** Precise token count, if available from a tokenizer or after construction. */
227
+ tokenCount?: number;
228
+ /** Any issues (errors, warnings, info) encountered during prompt construction. */
229
+ issues?: Array<{
230
+ type: 'error' | 'warning' | 'info';
231
+ code: string;
232
+ message: string;
233
+ details?: unknown;
234
+ suggestion?: string;
235
+ component?: string;
236
+ }>;
237
+ /** Indicates if content was truncated or summarized to fit token limits. */
238
+ wasTruncatedOrSummarized: boolean;
239
+ /** Details about modifications made during construction (e.g., which components were truncated). */
240
+ modificationDetails?: {
241
+ originalEstimatedTokenCount?: number;
242
+ truncatedComponents?: string[];
243
+ summarizedComponents?: string[];
244
+ removedComponents?: string[];
245
+ addedContextualElementIds?: string[];
246
+ };
247
+ /** Performance metrics and metadata related to the prompt construction process. */
248
+ metadata: {
249
+ constructionTimeMs: number;
250
+ selectedContextualElementIds: string[];
251
+ templateUsed: string;
252
+ totalSystemPromptsApplied: number;
253
+ historyMessagesIncluded: number;
254
+ ragContextTokensUsed?: number;
255
+ [key: string]: unknown;
256
+ };
257
+ /** An optional cache key if the result was retrieved from or stored in a cache. */
258
+ cacheKey?: string;
259
+ }
260
+ /**
261
+ * Configuration options for the PromptEngine's behavior, optimization strategies,
262
+ * and integration with other services like IUtilityAI.
263
+ * @interface PromptEngineConfig
264
+ */
265
+ export interface PromptEngineConfig {
266
+ /** Default template name (from `availableTemplates`) to use if none is specified or inferable. */
267
+ defaultTemplateName: string;
268
+ /** A record of available prompt template functions, keyed by template name. */
269
+ availableTemplates: Record<string, PromptTemplateFunction>;
270
+ /** Configuration for token counting strategies. */
271
+ tokenCounting: {
272
+ strategy: 'estimated' | 'precise' | 'hybrid';
273
+ estimationModel?: 'gpt-3.5-turbo' | 'gpt-4' | 'claude-3' | 'generic';
274
+ };
275
+ /** Configuration for managing conversation history within prompts. */
276
+ historyManagement: {
277
+ defaultMaxMessages: number;
278
+ maxTokensForHistory: number;
279
+ summarizationTriggerRatio: number;
280
+ preserveImportantMessages: boolean;
281
+ };
282
+ /** Configuration for managing retrieved context (e.g., from RAG). */
283
+ contextManagement: {
284
+ maxRAGContextTokens: number;
285
+ summarizationQualityTier: 'fast' | 'balanced' | 'high_quality';
286
+ preserveSourceAttributionInSummary: boolean;
287
+ minContextRelevanceThreshold?: number;
288
+ };
289
+ /** Configuration for selecting and applying contextual elements. */
290
+ contextualElementSelection: {
291
+ /** Max number of elements to apply per type. */
292
+ maxElementsPerType: Partial<Record<ContextualElementType, number>>;
293
+ defaultMaxElementsPerType: number;
294
+ priorityResolutionStrategy: 'highest_first' | 'weighted_random' | 'persona_preference';
295
+ conflictResolutionStrategy: 'skip_conflicting' | 'merge_compatible' | 'error_on_conflict';
296
+ };
297
+ /** Performance optimization settings. */
298
+ performance: {
299
+ enableCaching: boolean;
300
+ cacheTimeoutSeconds: number;
301
+ maxCacheSizeBytes?: number;
302
+ };
303
+ /** Debugging and logging settings. */
304
+ debugging?: {
305
+ logConstructionSteps?: boolean;
306
+ includeDebugMetadataInResult?: boolean;
307
+ logSelectedContextualElements?: boolean;
308
+ };
309
+ /**
310
+ * Optional tool schema registration manifest enabling per-persona and per-model enable/disable semantics.
311
+ * Structure:
312
+ * - key: personaId (string)
313
+ * - value: {
314
+ * enabledToolIds: string[]; // Tools explicitly allowed for this persona (intersection with runtime tool list)
315
+ * disabledToolIds?: string[]; // Tools explicitly disallowed (takes precedence over enabledToolIds)
316
+ * modelOverrides?: { // Per model ID fine-grained overrides
317
+ * [modelId: string]: string[]; // Exact list of tool IDs allowed for that model when persona active
318
+ * };
319
+ * }
320
+ * Resolution Order when filtering tools for prompt construction:
321
+ * 1. If personaId present in manifest:
322
+ * a. If modelOverrides[modelId] exists => allowed set = that array (disabledToolIds still removes).
323
+ * b. Else allowed base = enabledToolIds (if defined) else all runtime tools.
324
+ * c. Remove any disabledToolIds from allowed set.
325
+ * 2. If personaId absent => all runtime tools (no filtering).
326
+ * Note: Unknown tool IDs in manifest are ignored gracefully.
327
+ */
328
+ toolSchemaManifest?: Record<string, {
329
+ enabledToolIds?: string[];
330
+ disabledToolIds?: string[];
331
+ modelOverrides?: Record<string, string[]>;
332
+ }>;
333
+ }
334
+ /**
335
+ * Function signature for prompt template implementations.
336
+ * Templates are responsible for taking all processed prompt components and
337
+ * formatting them into the final `FormattedPrompt` structure required by a specific
338
+ * LLM provider or model type.
339
+ * @type PromptTemplateFunction
340
+ * @param {PromptComponents} components - The core and augmented prompt components.
341
+ * @param {ModelTargetInfo} modelInfo - Information about the target AI model.
342
+ * @param {ContextualPromptElement[]} selectedContextualElements - Contextual elements chosen for this prompt.
343
+ * @param {Readonly<PromptEngineConfig>} config - A read-only view of the PromptEngine's current configuration.
344
+ * @param {TokenEstimator} estimateTokenCountFn - A function to estimate token counts, useful within templates.
345
+ * @returns {Promise<FormattedPrompt>} A promise that resolves to the final, formatted prompt.
346
+ */
347
+ export type PromptTemplateFunction = (components: Readonly<PromptComponents>, modelInfo: Readonly<ModelTargetInfo>, selectedContextualElements: ReadonlyArray<ContextualPromptElement>, config: Readonly<PromptEngineConfig>, estimateTokenCountFn: (content: string, modelId?: string) => Promise<number>) => Promise<FormattedPrompt>;
348
+ /**
349
+ * Function signature for estimating token counts.
350
+ * This is passed to templates to allow them to make token-aware decisions.
351
+ * @type TokenEstimator
352
+ */
353
+ export type TokenEstimator = (content: string, modelId?: string) => Promise<number>;
354
+ /**
355
+ * Interface for utility AI services that assist the PromptEngine with complex
356
+ * content processing tasks like summarization and relevance analysis, specifically
357
+ * tailored for prompt construction needs.
358
+ * This is a focused interface used internally by the PromptEngine.
359
+ * @interface IPromptEngineUtilityAI
360
+ */
361
+ export interface IPromptEngineUtilityAI {
362
+ /**
363
+ * Summarizes conversation history to fit within token constraints, attempting to preserve key information.
364
+ * @param {Message[]} messages - The array of conversation messages to summarize.
365
+ * @param {number} targetTokenCount - The desired maximum token count for the summary.
366
+ * @param {Readonly<ModelTargetInfo>} modelInfo - Information about the model for which the summary is being prepared.
367
+ * @param {boolean} [preserveImportantMessages] - If true, attempt to identify and keep important messages verbatim.
368
+ * @returns {Promise<{ summaryMessages: Message[]; originalTokenCount: number; finalTokenCount: number; messagesSummarized: number }>}
369
+ * A summary (which might be a single system message or a condensed list of messages),
370
+ * and metadata about the summarization.
371
+ */
372
+ summarizeConversationHistory(messages: ReadonlyArray<Message>, targetTokenCount: number, modelInfo: Readonly<ModelTargetInfo>, preserveImportantMessages?: boolean): Promise<{
373
+ summaryMessages: Message[];
374
+ originalTokenCount: number;
375
+ finalTokenCount: number;
376
+ messagesSummarized: number;
377
+ }>;
378
+ /**
379
+ * Summarizes retrieved RAG context to fit token limits, ideally preserving source attribution if possible.
380
+ * @param {string | Array<{ source: string; content: string; relevance?: number }>} context - The RAG context to summarize.
381
+ * @param {number} targetTokenCount - The desired maximum token count for the summarized context.
382
+ * @param {Readonly<ModelTargetInfo>} modelInfo - Information about the model.
383
+ * @param {boolean} [preserveSourceAttribution] - If true, attempt to retain source information in the summary.
384
+ * @returns {Promise<{ summary: string; originalTokenCount: number; finalTokenCount: number; preservedSources?: string[] }>}
385
+ * The summarized text and metadata.
386
+ */
387
+ summarizeRAGContext(context: string | ReadonlyArray<{
388
+ source: string;
389
+ content: string;
390
+ relevance?: number;
391
+ }>, targetTokenCount: number, modelInfo: Readonly<ModelTargetInfo>, preserveSourceAttribution?: boolean): Promise<{
392
+ summary: string;
393
+ originalTokenCount: number;
394
+ finalTokenCount: number;
395
+ preservedSources?: string[];
396
+ }>;
397
+ /**
398
+ * Analyzes a piece of content for its relevance and importance within the current execution context.
399
+ * This can be used to prioritize which content to include or how to emphasize it.
400
+ * @param {string} content - The text content to analyze.
401
+ * @param {Readonly<PromptExecutionContext>} executionContext - The current execution context.
402
+ * @param {Readonly<ModelTargetInfo>} modelInfo - Information about the model.
403
+ * @returns {Promise<{ relevanceScore: number; importanceScore: number; keywords?: string[]; topics?: string[] }>}
404
+ * Scores and extracted metadata.
405
+ */
406
+ analyzeContentRelevance?(content: string, executionContext: Readonly<PromptExecutionContext>, modelInfo: Readonly<ModelTargetInfo>): Promise<{
407
+ relevanceScore: number;
408
+ importanceScore: number;
409
+ keywords?: string[];
410
+ topics?: string[];
411
+ }>;
412
+ }
413
+ /**
414
+ * Core interface for the PromptEngine, responsible for intelligent and adaptive
415
+ * prompt construction based on rich contextual information and persona definitions.
416
+ *
417
+ * The PromptEngine serves as the central orchestrator for AgentOS's sophisticated
418
+ * prompting system, capable of dynamically selecting contextual elements,
419
+ * managing token budgets, integrating multi-modal content, and optimizing
420
+ * prompts for different AI models and interaction patterns.
421
+ *
422
+ * @interface IPromptEngine
423
+ */
424
+ export interface IPromptEngine {
425
+ /**
426
+ * Initializes the PromptEngine with its configuration and an optional utility AI service.
427
+ * This method must be called successfully before any prompt construction.
428
+ *
429
+ * @async
430
+ * @param {PromptEngineConfig} config - The comprehensive configuration for the engine,
431
+ * including template definitions, token counting strategies, history management rules,
432
+ * contextual element selection parameters, performance settings, and debugging options.
433
+ * @param {IPromptEngineUtilityAI} [utilityAI] - An optional utility AI service instance, conforming to
434
+ * `IPromptEngineUtilityAI`, used for advanced content processing tasks like summarization
435
+ * of conversation history or RAG context within the prompt construction pipeline.
436
+ * @returns {Promise<void>} A promise that resolves when the engine is fully initialized and ready.
437
+ * @throws {PromptEngineError} If the provided configuration is invalid or if a critical
438
+ * initialization step fails (e.g., loading default templates).
439
+ *
440
+ * @example
441
+ * const engine = new PromptEngine();
442
+ * await engine.initialize(myAppConfig.promptEngine, myUtilityAIService);
443
+ */
444
+ initialize(config: PromptEngineConfig, utilityAI?: IPromptEngineUtilityAI): Promise<void>;
445
+ /**
446
+ * The primary method for constructing an adaptive and contextually relevant prompt.
447
+ * This orchestrates the entire pipeline: contextual element evaluation and selection,
448
+ * augmentation of base components, token budget management (including truncation and
449
+ * summarization), and final formatting using a model-appropriate template.
450
+ *
451
+ * @async
452
+ * @param {Readonly<PromptComponents>} baseComponents - The core, static components of the prompt,
453
+ * such as system instructions, conversation history, and current user input. These are read-only
454
+ * to prevent unintended modification by the method.
455
+ * @param {Readonly<ModelTargetInfo>} modelTargetInfo - Detailed information about the target AI model,
456
+ * including its ID, provider, capabilities, token limits, and expected prompt format. This is crucial
457
+ * for tailoring the prompt effectively.
458
+ * @param {Readonly<PromptExecutionContext>} [executionContext] - Optional. The rich runtime context,
459
+ * including active persona, working memory, user state, and task details. This drives the
460
+ * dynamic selection and application of contextual prompt elements.
461
+ * @param {string} [templateName] - Optional. The explicit name of a prompt template to use.
462
+ * If not provided, the engine selects a default template based on `modelTargetInfo.promptFormatType`
463
+ * or the `defaultTemplateName` from its configuration.
464
+ * @returns {Promise<PromptEngineResult>} A promise resolving to a `PromptEngineResult` object,
465
+ * which contains the final formatted prompt, along with metadata about its construction,
466
+ * token counts, any issues encountered, and modifications made.
467
+ * @throws {PromptEngineError} If a non-recoverable error occurs during any stage of prompt
468
+ * construction (e.g., template not found, critical component missing, tokenization failure).
469
+ */
470
+ constructPrompt(baseComponents: Readonly<PromptComponents>, modelTargetInfo: Readonly<ModelTargetInfo>, executionContext?: Readonly<PromptExecutionContext>, templateName?: string): Promise<PromptEngineResult>;
471
+ /**
472
+ * Evaluates whether a given set of `ContextualPromptElementCriteria` is satisfied by the current
473
+ * `PromptExecutionContext`. This method is the core of the dynamic adaptation logic, determining
474
+ * which contextual elements are relevant and should be incorporated into the prompt.
475
+ * It supports checking various context aspects like mood, user skill, task hints, working memory values, etc.
476
+ *
477
+ * @async
478
+ * @param {Readonly<ContextualPromptElementCriteria>} criteria - The criteria defined within a `ContextualPromptElement`
479
+ * from the persona definition. These criteria specify the conditions under which the element applies.
480
+ * @param {Readonly<PromptExecutionContext>} context - The current execution context against which
481
+ * the criteria are evaluated.
482
+ * @returns {Promise<boolean>} A promise resolving to `true` if all conditions within the criteria
483
+ * are met (respecting logical operators like AND/OR if defined in criteria), `false` otherwise.
484
+ * @throws {PromptEngineError} If criteria evaluation encounters an unexpected error (e.g., accessing
485
+ * a non-existent working memory key specified in a query).
486
+ */
487
+ evaluateCriteria(criteria: Readonly<ContextualPromptElementCriteria>, context: Readonly<PromptExecutionContext>): Promise<boolean>;
488
+ /**
489
+ * Estimates the token count for a given piece of text, optionally using a specific model ID
490
+ * to inform a more precise estimation if available (e.g., using a model-specific tokenizer).
491
+ * This is used internally for token budgeting and can also be exposed as a utility.
492
+ *
493
+ * @async
494
+ * @param {string} content - The text content for which to estimate token count.
495
+ * @param {string} [modelId] - Optional. The ID of the target model. If provided, the engine may
496
+ * attempt a more precise tokenization based on this model's characteristics.
497
+ * @returns {Promise<number>} A promise resolving to the estimated number of tokens.
498
+ */
499
+ estimateTokenCount(content: string, modelId?: string): Promise<number>;
500
+ /**
501
+ * Registers a new prompt template function with the engine. This allows for extending
502
+ * the engine's capabilities to support new LLM providers, model families, or specialized
503
+ * prompt formatting requirements dynamically at runtime.
504
+ *
505
+ * @async
506
+ * @param {string} templateName - A unique name to identify the template. If a template with
507
+ * this name already exists, it will be overwritten (a warning may be logged).
508
+ * @param {PromptTemplateFunction} templateFunction - The function that implements the template logic.
509
+ * It receives `PromptComponents`, `ModelTargetInfo`, selected `ContextualPromptElement[]`,
510
+ * engine `config`, and a `tokenEstimatorFn`, and must return a `FormattedPrompt`.
511
+ * @returns {Promise<void>} A promise that resolves when the template is successfully registered.
512
+ * @throws {PromptEngineError} If the `templateName` is invalid or `templateFunction` is not a function.
513
+ */
514
+ registerTemplate(templateName: string, templateFunction: PromptTemplateFunction): Promise<void>;
515
+ /**
516
+ * Validates a given set of prompt components and model information against the engine's
517
+ * understanding of best practices and potential issues. Useful for development, debugging
518
+ * persona definitions, or providing feedback to users designing prompts.
519
+ *
520
+ * @async
521
+ * @param {Readonly<PromptComponents>} components - The prompt components to validate.
522
+ * @param {Readonly<ModelTargetInfo>} modelTargetInfo - Information about the target model.
523
+ * @param {Readonly<PromptExecutionContext>} [executionContext] - Optional. The context in which these
524
+ * components would be used, allowing for context-aware validation.
525
+ * @returns {Promise<{ isValid: boolean; issues: Array<{ type: 'error' | 'warning'; message: string; suggestion?: string }>; recommendations: string[]; }>}
526
+ * An object containing a boolean `isValid` (true if no errors), a list of `issues` found
527
+ * (errors or warnings with messages and suggestions), and a list of `recommendations` for improvement.
528
+ */
529
+ validatePromptConfiguration(components: Readonly<PromptComponents>, modelTargetInfo: Readonly<ModelTargetInfo>, executionContext?: Readonly<PromptExecutionContext>): Promise<{
530
+ isValid: boolean;
531
+ issues: Array<{
532
+ type: 'error' | 'warning';
533
+ code: string;
534
+ message: string;
535
+ suggestion?: string;
536
+ component?: string;
537
+ }>;
538
+ recommendations?: string[];
539
+ }>;
540
+ /**
541
+ * Clears internal caches used by the PromptEngine (e.g., for prompt construction results
542
+ * or token counts). This can be used to free memory or to force re-computation for
543
+ * debugging or after configuration changes.
544
+ *
545
+ * @async
546
+ * @param {string} [selectivePattern] - Optional. A pattern or key to clear only specific
547
+ * cache entries (e.g., "modelId:gpt-4o*"). If omitted, the entire cache is cleared.
548
+ * The exact format of the pattern is implementation-dependent.
549
+ * @returns {Promise<void>} A promise that resolves when the cache clearing operation is complete.
550
+ */
551
+ clearCache(selectivePattern?: string): Promise<void>;
552
+ /**
553
+ * Retrieves current performance and usage statistics from the PromptEngine.
554
+ * This data can be used for monitoring, optimization, and understanding engine behavior.
555
+ *
556
+ * @async
557
+ * @returns {Promise<PromptEngineStats>} A promise resolving to an object containing
558
+ * various statistics like total prompts constructed, average construction time,
559
+ * cache hit rate, error rates, and usage of contextual elements.
560
+ */
561
+ getEngineStatistics(): Promise<{
562
+ totalPromptsConstructed: number;
563
+ averageConstructionTimeMs: number;
564
+ cacheStats: {
565
+ hits: number;
566
+ misses: number;
567
+ currentSize: number;
568
+ maxSize?: number;
569
+ effectivenessRatio: number;
570
+ };
571
+ tokenCountingStats: {
572
+ operations: number;
573
+ averageAccuracy?: number;
574
+ };
575
+ contextualElementUsage: Record<string, {
576
+ count: number;
577
+ averageEvaluationTimeMs?: number;
578
+ }>;
579
+ errorRatePerType: Record<string, number>;
580
+ performanceTimers: Record<string, {
581
+ count: number;
582
+ totalTimeMs: number;
583
+ averageTimeMs: number;
584
+ }>;
585
+ }>;
586
+ }
587
+ /**
588
+ * Custom error class for all errors originating from the PromptEngine.
589
+ * This allows for specific catching and handling of prompt construction failures.
590
+ * @class PromptEngineError
591
+ * @extends {Error}
592
+ */
593
+ export declare class PromptEngineError extends Error {
594
+ /**
595
+ * A specific error code for programmatic handling (e.g., 'TEMPLATE_NOT_FOUND', 'TOKEN_LIMIT_EXCEEDED_IRRECOVERABLY').
596
+ * @public
597
+ * @readonly
598
+ * @type {string}
599
+ */
600
+ readonly code: string;
601
+ /**
602
+ * Optional: The specific component or operation within the PromptEngine where the error occurred
603
+ * (e.g., 'TokenBudgeting', 'TemplateFormatting', 'ContextualElementSelection').
604
+ * @public
605
+ * @readonly
606
+ * @type {string | undefined}
607
+ */
608
+ readonly component?: string;
609
+ /**
610
+ * Optional: Additional structured details about the error, which might include relevant
611
+ * data like modelId, offending component, or configuration issue.
612
+ * @public
613
+ * @readonly
614
+ * @type {unknown | undefined}
615
+ */
616
+ readonly details?: unknown;
617
+ /**
618
+ * Creates an instance of PromptEngineError.
619
+ * @param {string} message - A human-readable description of the error.
620
+ * @param {string} code - A specific error code (e.g., 'TEMPLATE_NOT_FOUND').
621
+ * @param {string} [component] - The engine component where the error originated.
622
+ * @param {unknown} [details] - Additional context or the underlying error.
623
+ */
624
+ constructor(message: string, code: string, component?: string, details?: unknown);
625
+ }
626
+ export type { VisionInputData, AudioInputData };
627
+ //# sourceMappingURL=IPromptEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPromptEngine.d.ts","sourceRoot":"","sources":["../../../src/core/llm/IPromptEngine.ts"],"names":[],"mappings":"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"}