@robota-sdk/agent-core 3.0.0-beta.14 → 3.0.0-beta.16

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 (486) hide show
  1. package/README.md +2 -0
  2. package/dist/abstracts/abstract-agent.d.ts.map +1 -1
  3. package/dist/abstracts/abstract-agent.js.map +1 -1
  4. package/dist/abstracts/abstract-ai-provider.d.ts +8 -7
  5. package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -1
  6. package/dist/abstracts/abstract-ai-provider.js +21 -15
  7. package/dist/abstracts/abstract-ai-provider.js.map +1 -1
  8. package/dist/abstracts/abstract-executor.d.ts.map +1 -1
  9. package/dist/abstracts/abstract-executor.js +20 -12
  10. package/dist/abstracts/abstract-executor.js.map +1 -1
  11. package/dist/abstracts/abstract-manager.d.ts.map +1 -1
  12. package/dist/abstracts/abstract-manager.js.map +1 -1
  13. package/dist/abstracts/abstract-module-events.d.ts +77 -0
  14. package/dist/abstracts/abstract-module-events.d.ts.map +1 -0
  15. package/dist/abstracts/abstract-module-events.js +8 -0
  16. package/dist/abstracts/abstract-module-events.js.map +1 -0
  17. package/dist/abstracts/abstract-module-types.d.ts +110 -0
  18. package/dist/abstracts/abstract-module-types.d.ts.map +1 -0
  19. package/dist/abstracts/abstract-module-types.js +20 -0
  20. package/dist/abstracts/abstract-module-types.js.map +1 -0
  21. package/dist/abstracts/abstract-module.d.ts +13 -312
  22. package/dist/abstracts/abstract-module.d.ts.map +1 -1
  23. package/dist/abstracts/abstract-module.js +137 -302
  24. package/dist/abstracts/abstract-module.js.map +1 -1
  25. package/dist/abstracts/abstract-module.test.d.ts +2 -0
  26. package/dist/abstracts/abstract-module.test.d.ts.map +1 -0
  27. package/dist/abstracts/abstract-module.test.js +150 -0
  28. package/dist/abstracts/abstract-module.test.js.map +1 -0
  29. package/dist/abstracts/abstract-plugin-types.d.ts +152 -0
  30. package/dist/abstracts/abstract-plugin-types.d.ts.map +1 -0
  31. package/dist/abstracts/abstract-plugin-types.js +29 -0
  32. package/dist/abstracts/abstract-plugin-types.js.map +1 -0
  33. package/dist/abstracts/abstract-plugin.d.ts +15 -304
  34. package/dist/abstracts/abstract-plugin.d.ts.map +1 -1
  35. package/dist/abstracts/abstract-plugin.js +28 -144
  36. package/dist/abstracts/abstract-plugin.js.map +1 -1
  37. package/dist/abstracts/abstract-tool.d.ts +1 -1
  38. package/dist/abstracts/abstract-tool.d.ts.map +1 -1
  39. package/dist/abstracts/abstract-tool.js +2 -2
  40. package/dist/abstracts/abstract-tool.js.map +1 -1
  41. package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -1
  42. package/dist/abstracts/abstract-workflow-converter.js +29 -20
  43. package/dist/abstracts/abstract-workflow-converter.js.map +1 -1
  44. package/dist/abstracts/abstract-workflow-converter.test.d.ts +2 -0
  45. package/dist/abstracts/abstract-workflow-converter.test.d.ts.map +1 -0
  46. package/dist/abstracts/abstract-workflow-converter.test.js +144 -0
  47. package/dist/abstracts/abstract-workflow-converter.test.js.map +1 -0
  48. package/dist/abstracts/abstract-workflow-validator-helpers.d.ts +37 -0
  49. package/dist/abstracts/abstract-workflow-validator-helpers.d.ts.map +1 -0
  50. package/dist/abstracts/abstract-workflow-validator-helpers.js +147 -0
  51. package/dist/abstracts/abstract-workflow-validator-helpers.js.map +1 -0
  52. package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts +2 -0
  53. package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts.map +1 -0
  54. package/dist/abstracts/abstract-workflow-validator-helpers.test.js +157 -0
  55. package/dist/abstracts/abstract-workflow-validator-helpers.test.js.map +1 -0
  56. package/dist/abstracts/abstract-workflow-validator.d.ts +18 -130
  57. package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -1
  58. package/dist/abstracts/abstract-workflow-validator.js +58 -326
  59. package/dist/abstracts/abstract-workflow-validator.js.map +1 -1
  60. package/dist/abstracts/abstract-workflow-validator.test.d.ts +2 -0
  61. package/dist/abstracts/abstract-workflow-validator.test.d.ts.map +1 -0
  62. package/dist/abstracts/abstract-workflow-validator.test.js +142 -0
  63. package/dist/abstracts/abstract-workflow-validator.test.js.map +1 -0
  64. package/dist/abstracts/index.d.ts +1 -0
  65. package/dist/abstracts/index.d.ts.map +1 -1
  66. package/dist/abstracts/index.js +3 -2
  67. package/dist/abstracts/index.js.map +1 -1
  68. package/dist/agents/constants.d.ts +1 -1
  69. package/dist/agents/constants.d.ts.map +1 -1
  70. package/dist/agents/constants.js +1 -1
  71. package/dist/agents/constants.js.map +1 -1
  72. package/dist/agents/index.js +1 -1
  73. package/dist/agents/index.js.map +1 -1
  74. package/dist/agents/robota.test.js +36 -36
  75. package/dist/agents/robota.test.js.map +1 -1
  76. package/dist/browser/index.d.ts +28 -1
  77. package/dist/browser/index.js +5 -5
  78. package/dist/context/index.d.ts +4 -0
  79. package/dist/context/index.d.ts.map +1 -0
  80. package/dist/context/index.js +2 -0
  81. package/dist/context/index.js.map +1 -0
  82. package/dist/context/models.d.ts +27 -0
  83. package/dist/context/models.d.ts.map +1 -0
  84. package/dist/context/models.js +76 -0
  85. package/dist/context/models.js.map +1 -0
  86. package/dist/context/models.test.d.ts +2 -0
  87. package/dist/context/models.test.d.ts.map +1 -0
  88. package/dist/context/models.test.js +51 -0
  89. package/dist/context/models.test.js.map +1 -0
  90. package/dist/context/types.d.ts +25 -0
  91. package/dist/context/types.d.ts.map +1 -0
  92. package/dist/context/types.js +8 -0
  93. package/dist/context/types.js.map +1 -0
  94. package/dist/core/robota-config-manager.d.ts +78 -0
  95. package/dist/core/robota-config-manager.d.ts.map +1 -0
  96. package/dist/core/robota-config-manager.js +216 -0
  97. package/dist/core/robota-config-manager.js.map +1 -0
  98. package/dist/core/robota-execution.d.ts +23 -0
  99. package/dist/core/robota-execution.d.ts.map +1 -0
  100. package/dist/core/robota-execution.js +81 -0
  101. package/dist/core/robota-execution.js.map +1 -0
  102. package/dist/core/robota-initializer.d.ts +37 -0
  103. package/dist/core/robota-initializer.d.ts.map +1 -0
  104. package/dist/core/robota-initializer.js +77 -0
  105. package/dist/core/robota-initializer.js.map +1 -0
  106. package/dist/core/robota-lifecycle.d.ts +53 -0
  107. package/dist/core/robota-lifecycle.d.ts.map +1 -0
  108. package/dist/core/robota-lifecycle.js +73 -0
  109. package/dist/core/robota-lifecycle.js.map +1 -0
  110. package/dist/core/robota-module-manager.d.ts +78 -0
  111. package/dist/core/robota-module-manager.d.ts.map +1 -0
  112. package/dist/core/robota-module-manager.js +114 -0
  113. package/dist/core/robota-module-manager.js.map +1 -0
  114. package/dist/core/robota-plugin-manager.d.ts +40 -0
  115. package/dist/core/robota-plugin-manager.d.ts.map +1 -0
  116. package/dist/core/robota-plugin-manager.js +71 -0
  117. package/dist/core/robota-plugin-manager.js.map +1 -0
  118. package/dist/core/robota.d.ts +56 -606
  119. package/dist/core/robota.d.ts.map +1 -1
  120. package/dist/core/robota.js +210 -1152
  121. package/dist/core/robota.js.map +1 -1
  122. package/dist/core/robota.test.d.ts +2 -0
  123. package/dist/core/robota.test.d.ts.map +1 -0
  124. package/dist/core/robota.test.js +353 -0
  125. package/dist/core/robota.test.js.map +1 -0
  126. package/dist/event-service/event-service.d.ts +61 -0
  127. package/dist/event-service/event-service.d.ts.map +1 -0
  128. package/dist/event-service/event-service.js +120 -0
  129. package/dist/event-service/event-service.js.map +1 -0
  130. package/dist/event-service/index.d.ts +6 -0
  131. package/dist/event-service/index.d.ts.map +1 -0
  132. package/dist/event-service/index.js +4 -0
  133. package/dist/event-service/index.js.map +1 -0
  134. package/dist/event-service/interfaces.d.ts +98 -0
  135. package/dist/event-service/interfaces.d.ts.map +1 -0
  136. package/dist/event-service/interfaces.js +8 -0
  137. package/dist/event-service/interfaces.js.map +1 -0
  138. package/dist/event-service/task-events.d.ts +6 -0
  139. package/dist/event-service/task-events.d.ts.map +1 -0
  140. package/dist/event-service/task-events.js +6 -0
  141. package/dist/event-service/task-events.js.map +1 -0
  142. package/dist/event-service/user-events.d.ts +7 -0
  143. package/dist/event-service/user-events.d.ts.map +1 -0
  144. package/dist/event-service/user-events.js +6 -0
  145. package/dist/event-service/user-events.js.map +1 -0
  146. package/dist/executors/local-executor.d.ts +2 -2
  147. package/dist/executors/local-executor.d.ts.map +1 -1
  148. package/dist/executors/local-executor.js +7 -7
  149. package/dist/executors/local-executor.js.map +1 -1
  150. package/dist/executors/local-executor.test.js +16 -16
  151. package/dist/executors/local-executor.test.js.map +1 -1
  152. package/dist/hooks/hook-runner.d.ts +20 -0
  153. package/dist/hooks/hook-runner.d.ts.map +1 -0
  154. package/dist/hooks/hook-runner.js +95 -0
  155. package/dist/hooks/hook-runner.js.map +1 -0
  156. package/dist/hooks/index.d.ts +3 -0
  157. package/dist/hooks/index.d.ts.map +1 -0
  158. package/dist/hooks/index.js +3 -0
  159. package/dist/hooks/index.js.map +1 -0
  160. package/dist/hooks/types.d.ts +40 -0
  161. package/dist/hooks/types.d.ts.map +1 -0
  162. package/dist/hooks/types.js +5 -0
  163. package/dist/hooks/types.js.map +1 -0
  164. package/dist/index.d.ts +49 -75
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +26 -71
  167. package/dist/index.js.map +1 -1
  168. package/dist/interfaces/agent.d.ts +3 -2
  169. package/dist/interfaces/agent.d.ts.map +1 -1
  170. package/dist/interfaces/cache.d.ts +64 -0
  171. package/dist/interfaces/cache.d.ts.map +1 -0
  172. package/dist/interfaces/cache.js +2 -0
  173. package/dist/interfaces/cache.js.map +1 -0
  174. package/dist/interfaces/event-service.d.ts +4 -75
  175. package/dist/interfaces/event-service.d.ts.map +1 -1
  176. package/dist/interfaces/executor.d.ts.map +1 -1
  177. package/dist/interfaces/history-module.d.ts.map +1 -1
  178. package/dist/interfaces/index.d.ts +12 -9
  179. package/dist/interfaces/index.d.ts.map +1 -1
  180. package/dist/interfaces/index.js +2 -1
  181. package/dist/interfaces/index.js.map +1 -1
  182. package/dist/interfaces/manager.d.ts.map +1 -1
  183. package/dist/interfaces/media-provider.d.ts +86 -0
  184. package/dist/interfaces/media-provider.d.ts.map +1 -0
  185. package/dist/interfaces/media-provider.js +13 -0
  186. package/dist/interfaces/media-provider.js.map +1 -0
  187. package/dist/interfaces/messages.d.ts +23 -1
  188. package/dist/interfaces/messages.d.ts.map +1 -1
  189. package/dist/interfaces/messages.js.map +1 -1
  190. package/dist/interfaces/progress-reporting.d.ts.map +1 -1
  191. package/dist/interfaces/progress-reporting.js +1 -3
  192. package/dist/interfaces/progress-reporting.js.map +1 -1
  193. package/dist/interfaces/provider.d.ts +12 -1
  194. package/dist/interfaces/provider.d.ts.map +1 -1
  195. package/dist/interfaces/service.d.ts.map +1 -1
  196. package/dist/interfaces/tool.d.ts +1 -0
  197. package/dist/interfaces/tool.d.ts.map +1 -1
  198. package/dist/interfaces/types.d.ts.map +1 -1
  199. package/dist/interfaces/types.js +6 -6
  200. package/dist/interfaces/types.js.map +1 -1
  201. package/dist/interfaces/workflow-converter.d.ts.map +1 -1
  202. package/dist/interfaces/workflow-validator.d.ts.map +1 -1
  203. package/dist/interfaces/workflow-validator.js.map +1 -1
  204. package/dist/managers/agent-factory.d.ts.map +1 -1
  205. package/dist/managers/agent-factory.js +24 -16
  206. package/dist/managers/agent-factory.js.map +1 -1
  207. package/dist/managers/agent-factory.test.js +35 -25
  208. package/dist/managers/agent-factory.test.js.map +1 -1
  209. package/dist/managers/agent-templates.d.ts.map +1 -1
  210. package/dist/managers/agent-templates.js +22 -10
  211. package/dist/managers/agent-templates.js.map +1 -1
  212. package/dist/managers/agent-templates.test.d.ts +2 -0
  213. package/dist/managers/agent-templates.test.d.ts.map +1 -0
  214. package/dist/managers/agent-templates.test.js +175 -0
  215. package/dist/managers/agent-templates.test.js.map +1 -0
  216. package/dist/managers/ai-provider-manager.d.ts.map +1 -1
  217. package/dist/managers/ai-provider-manager.js +8 -10
  218. package/dist/managers/ai-provider-manager.js.map +1 -1
  219. package/dist/managers/ai-provider-manager.test.d.ts +2 -0
  220. package/dist/managers/ai-provider-manager.test.d.ts.map +1 -0
  221. package/dist/managers/ai-provider-manager.test.js +327 -0
  222. package/dist/managers/ai-provider-manager.test.js.map +1 -0
  223. package/dist/managers/conversation-history-manager.d.ts +13 -425
  224. package/dist/managers/conversation-history-manager.d.ts.map +1 -1
  225. package/dist/managers/conversation-history-manager.js +21 -537
  226. package/dist/managers/conversation-history-manager.js.map +1 -1
  227. package/dist/managers/conversation-history-manager.test.js +82 -43
  228. package/dist/managers/conversation-history-manager.test.js.map +1 -1
  229. package/dist/managers/conversation-message-factory.d.ts +40 -0
  230. package/dist/managers/conversation-message-factory.d.ts.map +1 -0
  231. package/dist/managers/conversation-message-factory.js +66 -0
  232. package/dist/managers/conversation-message-factory.js.map +1 -0
  233. package/dist/managers/conversation-message-factory.test.d.ts +2 -0
  234. package/dist/managers/conversation-message-factory.test.d.ts.map +1 -0
  235. package/dist/managers/conversation-message-factory.test.js +95 -0
  236. package/dist/managers/conversation-message-factory.test.js.map +1 -0
  237. package/dist/managers/conversation-session.d.ts +90 -0
  238. package/dist/managers/conversation-session.d.ts.map +1 -0
  239. package/dist/managers/conversation-session.js +177 -0
  240. package/dist/managers/conversation-session.js.map +1 -0
  241. package/dist/managers/index.d.ts +2 -2
  242. package/dist/managers/index.d.ts.map +1 -1
  243. package/dist/managers/index.js +1 -1
  244. package/dist/managers/index.js.map +1 -1
  245. package/dist/managers/module-registry-validation.d.ts +38 -0
  246. package/dist/managers/module-registry-validation.d.ts.map +1 -0
  247. package/dist/managers/module-registry-validation.js +100 -0
  248. package/dist/managers/module-registry-validation.js.map +1 -0
  249. package/dist/managers/module-registry-validation.test.d.ts +2 -0
  250. package/dist/managers/module-registry-validation.test.d.ts.map +1 -0
  251. package/dist/managers/module-registry-validation.test.js +144 -0
  252. package/dist/managers/module-registry-validation.test.js.map +1 -0
  253. package/dist/managers/module-registry.d.ts +13 -111
  254. package/dist/managers/module-registry.d.ts.map +1 -1
  255. package/dist/managers/module-registry.js +74 -344
  256. package/dist/managers/module-registry.js.map +1 -1
  257. package/dist/managers/module-type-registry-helpers.d.ts +34 -0
  258. package/dist/managers/module-type-registry-helpers.d.ts.map +1 -0
  259. package/dist/managers/module-type-registry-helpers.js +255 -0
  260. package/dist/managers/module-type-registry-helpers.js.map +1 -0
  261. package/dist/managers/module-type-registry.d.ts +10 -64
  262. package/dist/managers/module-type-registry.d.ts.map +1 -1
  263. package/dist/managers/module-type-registry.js +25 -373
  264. package/dist/managers/module-type-registry.js.map +1 -1
  265. package/dist/managers/plugins-helpers.d.ts +18 -0
  266. package/dist/managers/plugins-helpers.d.ts.map +1 -0
  267. package/dist/managers/plugins-helpers.js +118 -0
  268. package/dist/managers/plugins-helpers.js.map +1 -0
  269. package/dist/managers/plugins-helpers.test.d.ts +2 -0
  270. package/dist/managers/plugins-helpers.test.d.ts.map +1 -0
  271. package/dist/managers/plugins-helpers.test.js +68 -0
  272. package/dist/managers/plugins-helpers.test.js.map +1 -0
  273. package/dist/managers/plugins.d.ts +16 -109
  274. package/dist/managers/plugins.d.ts.map +1 -1
  275. package/dist/managers/plugins.js +29 -220
  276. package/dist/managers/plugins.js.map +1 -1
  277. package/dist/managers/plugins.test.d.ts +2 -0
  278. package/dist/managers/plugins.test.d.ts.map +1 -0
  279. package/dist/managers/plugins.test.js +160 -0
  280. package/dist/managers/plugins.test.js.map +1 -0
  281. package/dist/managers/tool-manager.d.ts +1 -1
  282. package/dist/managers/tool-manager.d.ts.map +1 -1
  283. package/dist/managers/tool-manager.js +15 -5
  284. package/dist/managers/tool-manager.js.map +1 -1
  285. package/dist/managers/tool-manager.test.js +32 -16
  286. package/dist/managers/tool-manager.test.js.map +1 -1
  287. package/dist/node/index.cjs +5 -5
  288. package/dist/node/index.d.cts +28 -1
  289. package/dist/node/index.d.ts +28 -1
  290. package/dist/node/index.js +5 -5
  291. package/dist/permissions/index.d.ts +7 -0
  292. package/dist/permissions/index.d.ts.map +1 -0
  293. package/dist/permissions/index.js +4 -0
  294. package/dist/permissions/index.js.map +1 -0
  295. package/dist/permissions/permission-gate.d.ts +38 -0
  296. package/dist/permissions/permission-gate.d.ts.map +1 -0
  297. package/dist/permissions/permission-gate.js +119 -0
  298. package/dist/permissions/permission-gate.js.map +1 -0
  299. package/dist/permissions/permission-mode.d.ts +25 -0
  300. package/dist/permissions/permission-mode.d.ts.map +1 -0
  301. package/dist/permissions/permission-mode.js +58 -0
  302. package/dist/permissions/permission-mode.js.map +1 -0
  303. package/dist/permissions/types.d.ts +27 -0
  304. package/dist/permissions/types.d.ts.map +1 -0
  305. package/dist/permissions/types.js +9 -0
  306. package/dist/permissions/types.js.map +1 -0
  307. package/dist/plugins/event-emitter/metrics.d.ts.map +1 -1
  308. package/dist/plugins/event-emitter/metrics.js +1 -1
  309. package/dist/plugins/event-emitter/metrics.js.map +1 -1
  310. package/dist/plugins/event-emitter/plugin-types.d.ts +88 -0
  311. package/dist/plugins/event-emitter/plugin-types.d.ts.map +1 -0
  312. package/dist/plugins/event-emitter/plugin-types.js +2 -0
  313. package/dist/plugins/event-emitter/plugin-types.js.map +1 -0
  314. package/dist/plugins/event-emitter/types.d.ts +3 -3
  315. package/dist/plugins/event-emitter/types.d.ts.map +1 -1
  316. package/dist/plugins/event-emitter/types.js +4 -4
  317. package/dist/plugins/event-emitter/types.js.map +1 -1
  318. package/dist/plugins/event-emitter-plugin.d.ts +9 -184
  319. package/dist/plugins/event-emitter-plugin.d.ts.map +1 -1
  320. package/dist/plugins/event-emitter-plugin.js +91 -235
  321. package/dist/plugins/event-emitter-plugin.js.map +1 -1
  322. package/dist/schemas/agent-template-schema.d.ts +12 -12
  323. package/dist/schemas/agent-template-schema.d.ts.map +1 -1
  324. package/dist/schemas/agent-template-schema.js +35 -33
  325. package/dist/schemas/agent-template-schema.js.map +1 -1
  326. package/dist/services/cache/cache-key-builder.d.ts +13 -0
  327. package/dist/services/cache/cache-key-builder.d.ts.map +1 -0
  328. package/dist/services/cache/cache-key-builder.js +30 -0
  329. package/dist/services/cache/cache-key-builder.js.map +1 -0
  330. package/dist/services/cache/cache-key-builder.test.d.ts +2 -0
  331. package/dist/services/cache/cache-key-builder.test.d.ts.map +1 -0
  332. package/dist/services/cache/cache-key-builder.test.js +56 -0
  333. package/dist/services/cache/cache-key-builder.test.js.map +1 -0
  334. package/dist/services/cache/execution-cache-service.d.ts +18 -0
  335. package/dist/services/cache/execution-cache-service.d.ts.map +1 -0
  336. package/dist/services/cache/execution-cache-service.js +26 -0
  337. package/dist/services/cache/execution-cache-service.js.map +1 -0
  338. package/dist/services/cache/execution-cache-service.test.d.ts +2 -0
  339. package/dist/services/cache/execution-cache-service.test.d.ts.map +1 -0
  340. package/dist/services/cache/execution-cache-service.test.js +59 -0
  341. package/dist/services/cache/execution-cache-service.test.js.map +1 -0
  342. package/dist/services/cache/index.d.ts +4 -0
  343. package/dist/services/cache/index.d.ts.map +1 -0
  344. package/dist/services/cache/index.js +4 -0
  345. package/dist/services/cache/index.js.map +1 -0
  346. package/dist/services/cache/memory-cache-storage.d.ts +25 -0
  347. package/dist/services/cache/memory-cache-storage.d.ts.map +1 -0
  348. package/dist/services/cache/memory-cache-storage.js +89 -0
  349. package/dist/services/cache/memory-cache-storage.js.map +1 -0
  350. package/dist/services/cache/memory-cache-storage.test.d.ts +2 -0
  351. package/dist/services/cache/memory-cache-storage.test.d.ts.map +1 -0
  352. package/dist/services/cache/memory-cache-storage.test.js +94 -0
  353. package/dist/services/cache/memory-cache-storage.test.js.map +1 -0
  354. package/dist/services/conversation-service/conversation-service.test.d.ts +2 -0
  355. package/dist/services/conversation-service/conversation-service.test.d.ts.map +1 -0
  356. package/dist/services/conversation-service/conversation-service.test.js +248 -0
  357. package/dist/services/conversation-service/conversation-service.test.js.map +1 -0
  358. package/dist/services/conversation-service/index.d.ts +10 -71
  359. package/dist/services/conversation-service/index.d.ts.map +1 -1
  360. package/dist/services/conversation-service/index.js +58 -355
  361. package/dist/services/conversation-service/index.js.map +1 -1
  362. package/dist/services/conversation-service/message-helpers.d.ts +47 -0
  363. package/dist/services/conversation-service/message-helpers.d.ts.map +1 -0
  364. package/dist/services/conversation-service/message-helpers.js +150 -0
  365. package/dist/services/conversation-service/message-helpers.js.map +1 -0
  366. package/dist/services/conversation-service/types.d.ts.map +1 -1
  367. package/dist/services/execution-constants.d.ts +16 -0
  368. package/dist/services/execution-constants.d.ts.map +1 -0
  369. package/dist/services/execution-constants.js +16 -0
  370. package/dist/services/execution-constants.js.map +1 -0
  371. package/dist/services/execution-event-emitter.d.ts +60 -0
  372. package/dist/services/execution-event-emitter.d.ts.map +1 -0
  373. package/dist/services/execution-event-emitter.js +323 -0
  374. package/dist/services/execution-event-emitter.js.map +1 -0
  375. package/dist/services/execution-round.d.ts +58 -0
  376. package/dist/services/execution-round.d.ts.map +1 -0
  377. package/dist/services/execution-round.js +323 -0
  378. package/dist/services/execution-round.js.map +1 -0
  379. package/dist/services/execution-round.test.d.ts +2 -0
  380. package/dist/services/execution-round.test.d.ts.map +1 -0
  381. package/dist/services/execution-round.test.js +188 -0
  382. package/dist/services/execution-round.test.js.map +1 -0
  383. package/dist/services/execution-service.d.ts +28 -125
  384. package/dist/services/execution-service.d.ts.map +1 -1
  385. package/dist/services/execution-service.js +222 -1134
  386. package/dist/services/execution-service.js.map +1 -1
  387. package/dist/services/execution-service.test.js +115 -72
  388. package/dist/services/execution-service.test.js.map +1 -1
  389. package/dist/services/execution-stream.d.ts +32 -0
  390. package/dist/services/execution-stream.d.ts.map +1 -0
  391. package/dist/services/execution-stream.js +268 -0
  392. package/dist/services/execution-stream.js.map +1 -0
  393. package/dist/services/execution-types.d.ts +122 -0
  394. package/dist/services/execution-types.d.ts.map +1 -0
  395. package/dist/services/execution-types.js +48 -0
  396. package/dist/services/execution-types.js.map +1 -0
  397. package/dist/services/history-module.d.ts.map +1 -1
  398. package/dist/services/history-module.js +1 -1
  399. package/dist/services/history-module.js.map +1 -1
  400. package/dist/services/history-module.test.d.ts +2 -0
  401. package/dist/services/history-module.test.d.ts.map +1 -0
  402. package/dist/services/history-module.test.js +137 -0
  403. package/dist/services/history-module.test.js.map +1 -0
  404. package/dist/services/in-memory-history-store.d.ts.map +1 -1
  405. package/dist/services/in-memory-history-store.js +1 -1
  406. package/dist/services/in-memory-history-store.js.map +1 -1
  407. package/dist/services/index.d.ts +0 -1
  408. package/dist/services/index.d.ts.map +1 -1
  409. package/dist/services/index.js +2 -3
  410. package/dist/services/index.js.map +1 -1
  411. package/dist/services/plugin-hook-dispatcher.d.ts +11 -0
  412. package/dist/services/plugin-hook-dispatcher.d.ts.map +1 -0
  413. package/dist/services/plugin-hook-dispatcher.js +68 -0
  414. package/dist/services/plugin-hook-dispatcher.js.map +1 -0
  415. package/dist/services/plugin-hook-dispatcher.test.d.ts +2 -0
  416. package/dist/services/plugin-hook-dispatcher.test.d.ts.map +1 -0
  417. package/dist/services/plugin-hook-dispatcher.test.js +93 -0
  418. package/dist/services/plugin-hook-dispatcher.test.js.map +1 -0
  419. package/dist/services/plugin-priority.test.d.ts +2 -0
  420. package/dist/services/plugin-priority.test.d.ts.map +1 -0
  421. package/dist/services/plugin-priority.test.js +119 -0
  422. package/dist/services/plugin-priority.test.js.map +1 -0
  423. package/dist/services/tool-execution-service.d.ts +1 -0
  424. package/dist/services/tool-execution-service.d.ts.map +1 -1
  425. package/dist/services/tool-execution-service.js +89 -46
  426. package/dist/services/tool-execution-service.js.map +1 -1
  427. package/dist/services/tool-execution-service.test.d.ts +2 -0
  428. package/dist/services/tool-execution-service.test.d.ts.map +1 -0
  429. package/dist/services/tool-execution-service.test.js +358 -0
  430. package/dist/services/tool-execution-service.test.js.map +1 -0
  431. package/dist/tool-registry/function-tool.d.ts +54 -0
  432. package/dist/tool-registry/function-tool.d.ts.map +1 -0
  433. package/dist/tool-registry/function-tool.js +190 -0
  434. package/dist/tool-registry/function-tool.js.map +1 -0
  435. package/dist/tool-registry/index.d.ts +3 -0
  436. package/dist/tool-registry/index.d.ts.map +1 -0
  437. package/dist/tool-registry/index.js +3 -0
  438. package/dist/tool-registry/index.js.map +1 -0
  439. package/dist/tool-registry/tool-registry.d.ts +54 -0
  440. package/dist/tool-registry/tool-registry.d.ts.map +1 -0
  441. package/dist/tool-registry/tool-registry.js +148 -0
  442. package/dist/tool-registry/tool-registry.js.map +1 -0
  443. package/dist/utils/errors.d.ts +11 -2
  444. package/dist/utils/errors.d.ts.map +1 -1
  445. package/dist/utils/errors.js +13 -2
  446. package/dist/utils/errors.js.map +1 -1
  447. package/dist/utils/errors.test.d.ts +2 -0
  448. package/dist/utils/errors.test.d.ts.map +1 -0
  449. package/dist/utils/errors.test.js +361 -0
  450. package/dist/utils/errors.test.js.map +1 -0
  451. package/dist/utils/execution-proxy.d.ts +7 -3
  452. package/dist/utils/execution-proxy.d.ts.map +1 -1
  453. package/dist/utils/execution-proxy.js +64 -42
  454. package/dist/utils/execution-proxy.js.map +1 -1
  455. package/dist/utils/execution-proxy.test.d.ts +2 -0
  456. package/dist/utils/execution-proxy.test.d.ts.map +1 -0
  457. package/dist/utils/execution-proxy.test.js +179 -0
  458. package/dist/utils/execution-proxy.test.js.map +1 -0
  459. package/dist/utils/logger.d.ts +3 -3
  460. package/dist/utils/logger.d.ts.map +1 -1
  461. package/dist/utils/logger.js +9 -5
  462. package/dist/utils/logger.js.map +1 -1
  463. package/dist/utils/message-converter.d.ts +1 -4
  464. package/dist/utils/message-converter.d.ts.map +1 -1
  465. package/dist/utils/message-converter.js +13 -12
  466. package/dist/utils/message-converter.js.map +1 -1
  467. package/dist/utils/message-converter.test.d.ts +2 -0
  468. package/dist/utils/message-converter.test.d.ts.map +1 -0
  469. package/dist/utils/message-converter.test.js +164 -0
  470. package/dist/utils/message-converter.test.js.map +1 -0
  471. package/dist/utils/periodic-task.d.ts +1 -1
  472. package/dist/utils/periodic-task.d.ts.map +1 -1
  473. package/dist/utils/periodic-task.js +1 -1
  474. package/dist/utils/periodic-task.js.map +1 -1
  475. package/dist/utils/periodic-task.test.d.ts +2 -0
  476. package/dist/utils/periodic-task.test.d.ts.map +1 -0
  477. package/dist/utils/periodic-task.test.js +87 -0
  478. package/dist/utils/periodic-task.test.js.map +1 -0
  479. package/dist/utils/validation.d.ts.map +1 -1
  480. package/dist/utils/validation.js +17 -11
  481. package/dist/utils/validation.js.map +1 -1
  482. package/dist/utils/validation.test.d.ts +2 -0
  483. package/dist/utils/validation.test.d.ts.map +1 -0
  484. package/dist/utils/validation.test.js +249 -0
  485. package/dist/utils/validation.test.js.map +1 -0
  486. package/package.json +1 -1
@@ -1,23 +1,11 @@
1
1
  import { ModuleDescriptorRegistry } from './module-type-registry';
2
2
  import { createLogger } from '../utils/logger';
3
3
  import { ConfigurationError } from '../utils/errors';
4
+ import { validateModule, validateModuleDependencies, findDependentModules, buildRegistryStats, } from './module-registry-validation';
4
5
  export const MODULE_REGISTRY_EVENTS = {
5
- /** Emitted when a module is registered in ModuleRegistry */
6
6
  REGISTERED: 'module.registered',
7
- /** Emitted when a module is unregistered in ModuleRegistry */
8
- UNREGISTERED: 'module.unregistered'
7
+ UNREGISTERED: 'module.unregistered',
9
8
  };
10
- /**
11
- * Registry for managing module instances
12
- * Handles module lifecycle, dependencies, and execution coordination
13
- *
14
- * Key features:
15
- * - Dependency-based initialization ordering
16
- * - Module lifecycle management (register, initialize, dispose)
17
- * - Event-driven communication through EventEmitter
18
- * - Module status tracking and statistics
19
- * - Error handling and recovery
20
- */
21
9
  export class ModuleRegistry {
22
10
  modules = new Map();
23
11
  moduleOptions = new Map();
@@ -29,38 +17,26 @@ export class ModuleRegistry {
29
17
  eventEmitter;
30
18
  logger;
31
19
  isDisposing = false;
32
- constructor(eventEmitter) {
20
+ constructor(eventEmitter, typeRegistry) {
33
21
  this.eventEmitter = eventEmitter;
34
- this.typeRegistry = ModuleDescriptorRegistry.getInstance();
22
+ this.typeRegistry = typeRegistry ?? new ModuleDescriptorRegistry();
35
23
  this.logger = createLogger('ModuleRegistry');
36
- this.logger.info('ModuleRegistry created', {
37
- hasEventEmitter: !!this.eventEmitter
38
- });
39
24
  }
40
- /**
41
- * Register a module instance
42
- */
43
25
  async registerModule(module, options = {}) {
44
- if (this.isDisposing) {
26
+ if (this.isDisposing)
45
27
  throw new ConfigurationError('Cannot register modules during disposal');
46
- }
47
- // Validate module
48
- this.validateModule(module);
49
- // Check for name conflicts
50
- if (this.modules.has(module.name)) {
51
- throw new ConfigurationError(`Module with name '${module.name}' is already registered`, { moduleName: module.name });
52
- }
53
- // Validate dependencies if requested
54
- if (options.validateDependencies !== false) {
55
- await this.validateModuleDependencies(module);
56
- }
57
- // Register the module
28
+ validateModule(module, this.typeRegistry, this.logger);
29
+ if (this.modules.has(module.name))
30
+ throw new ConfigurationError(`Module with name '${module.name}' is already registered`, {
31
+ moduleName: module.name,
32
+ });
33
+ if (options.validateDependencies !== false)
34
+ await validateModuleDependencies(module, this.typeRegistry, this.modules, this.logger);
58
35
  this.modules.set(module.name, module);
59
36
  this.moduleOptions.set(module.name, options.initOptions || {});
60
37
  this.registrationOrder.push(module.name);
61
- // Create status tracking
62
38
  const moduleType = module.getModuleType();
63
- const status = {
39
+ this.moduleStatuses.set(module.name, {
64
40
  name: module.name,
65
41
  type: moduleType.type,
66
42
  enabled: module.isEnabled(),
@@ -68,208 +44,132 @@ export class ModuleRegistry {
68
44
  hasEventEmitter: !!this.eventEmitter,
69
45
  registrationTime: new Date(),
70
46
  dependencies: moduleType.dependencies || [],
71
- dependents: []
72
- };
73
- this.moduleStatuses.set(module.name, status);
74
- // Initialize execution statistics
47
+ dependents: [],
48
+ });
75
49
  this.moduleStats.set(module.name, {
76
50
  totalExecutions: 0,
77
51
  successfulExecutions: 0,
78
52
  failedExecutions: 0,
79
53
  averageExecutionTime: 0,
80
- totalExecutionTime: 0
81
- });
82
- this.logger.info('Module registered', {
83
- name: module.name,
84
- type: moduleType.type,
85
- autoInitialize: options.autoInitialize
54
+ totalExecutionTime: 0,
86
55
  });
87
- // Auto-initialize if requested
88
- if (options.autoInitialize) {
56
+ if (options.autoInitialize)
89
57
  await this.initializeModule(module.name, options.initTimeout);
90
- }
91
- // Emit registration event
92
- if (this.eventEmitter) {
58
+ if (this.eventEmitter)
93
59
  await this.eventEmitter.emit(MODULE_REGISTRY_EVENTS.REGISTERED, {
94
- data: {
95
- moduleName: module.name,
96
- moduleType: moduleType.type
97
- },
98
- timestamp: new Date()
60
+ data: { moduleName: module.name, moduleType: moduleType.type },
61
+ timestamp: new Date(),
99
62
  });
100
- }
101
63
  }
102
- /**
103
- * Unregister a module
104
- */
105
64
  async unregisterModule(moduleName) {
106
65
  const module = this.modules.get(moduleName);
107
- if (!module) {
66
+ if (!module)
108
67
  return false;
109
- }
110
- // Check if other modules depend on this one
111
- const dependents = this.findDependentModules(moduleName);
112
- if (dependents.length > 0) {
68
+ const dependents = findDependentModules(moduleName, this.modules);
69
+ if (dependents.length > 0)
113
70
  throw new ConfigurationError(`Cannot unregister module '${moduleName}' - it is required by: ${dependents.join(', ')}`, { moduleName, dependents });
114
- }
115
- // Dispose the module if initialized
116
- if (module.isInitialized()) {
117
- if (module.dispose) {
118
- await module.dispose();
119
- }
120
- }
121
- // Remove from all tracking structures
71
+ if (module.isInitialized() && module.dispose)
72
+ await module.dispose();
122
73
  this.modules.delete(moduleName);
123
74
  this.moduleOptions.delete(moduleName);
124
75
  this.moduleStatuses.delete(moduleName);
125
76
  this.moduleStats.delete(moduleName);
126
- // Remove from order arrays
127
- const regIndex = this.registrationOrder.indexOf(moduleName);
128
- if (regIndex !== -1) {
129
- this.registrationOrder.splice(regIndex, 1);
130
- }
131
- const initIndex = this.initializationOrder.indexOf(moduleName);
132
- if (initIndex !== -1) {
133
- this.initializationOrder.splice(initIndex, 1);
134
- }
135
- this.logger.info('Module unregistered', { name: moduleName });
136
- // Emit unregistration event
137
- if (this.eventEmitter) {
77
+ const ri = this.registrationOrder.indexOf(moduleName);
78
+ if (ri !== -1)
79
+ this.registrationOrder.splice(ri, 1);
80
+ const ii = this.initializationOrder.indexOf(moduleName);
81
+ if (ii !== -1)
82
+ this.initializationOrder.splice(ii, 1);
83
+ if (this.eventEmitter)
138
84
  await this.eventEmitter.emit(MODULE_REGISTRY_EVENTS.UNREGISTERED, {
139
- data: {
140
- moduleName
141
- },
142
- timestamp: new Date()
85
+ data: { moduleName },
86
+ timestamp: new Date(),
143
87
  });
144
- }
145
88
  return true;
146
89
  }
147
- /**
148
- * Initialize a specific module
149
- */
150
90
  async initializeModule(moduleName, timeout) {
151
91
  const module = this.modules.get(moduleName);
152
- if (!module) {
92
+ if (!module)
153
93
  throw new ConfigurationError(`Module '${moduleName}' not found`);
154
- }
155
- if (module.isInitialized()) {
156
- this.logger.debug('Module already initialized', { name: moduleName });
94
+ if (module.isInitialized())
157
95
  return;
158
- }
159
- // Get initialization options
160
96
  const options = this.moduleOptions.get(moduleName);
161
- // Initialize with timeout if specified
162
97
  const initPromise = module.initialize(options, this.eventEmitter);
163
98
  if (timeout && timeout > 0) {
99
+ let timerId;
164
100
  const timeoutPromise = new Promise((_, reject) => {
165
- setTimeout(() => {
101
+ timerId = setTimeout(() => {
166
102
  reject(new Error(`Module '${moduleName}' initialization timed out after ${timeout}ms`));
167
103
  }, timeout);
168
104
  });
169
- await Promise.race([initPromise, timeoutPromise]);
105
+ await Promise.race([
106
+ initPromise.then((result) => {
107
+ clearTimeout(timerId);
108
+ return result;
109
+ }),
110
+ timeoutPromise,
111
+ ]);
170
112
  }
171
113
  else {
172
114
  await initPromise;
173
115
  }
174
- // Update status
175
116
  const status = this.moduleStatuses.get(moduleName);
176
117
  if (status) {
177
118
  status.initialized = true;
178
119
  status.initializationTime = new Date();
179
120
  }
180
- // Add to initialization order
181
- if (!this.initializationOrder.includes(moduleName)) {
121
+ if (!this.initializationOrder.includes(moduleName))
182
122
  this.initializationOrder.push(moduleName);
183
- }
184
- this.logger.info('Module initialized', { name: moduleName });
185
123
  }
186
- /**
187
- * Initialize all registered modules in dependency order
188
- */
189
124
  async initializeAllModules(timeout) {
190
125
  const moduleNames = Array.from(this.modules.keys());
191
- if (moduleNames.length === 0) {
192
- this.logger.debug('No modules to initialize');
126
+ if (moduleNames.length === 0)
193
127
  return;
194
- }
195
- // Get module types for dependency resolution
196
- const moduleTypes = moduleNames.map(name => {
197
- const module = this.modules.get(name);
198
- return module.getModuleType().type;
199
- });
200
- // Resolve dependencies
128
+ const moduleTypes = moduleNames.map((name) => this.modules.get(name).getModuleType().type);
201
129
  const resolution = this.typeRegistry.resolveDependencies(moduleTypes);
202
130
  if (!resolution.resolved) {
203
131
  const errors = [];
204
- if (resolution.missingDependencies.length > 0) {
132
+ if (resolution.missingDependencies.length > 0)
205
133
  errors.push(`Missing dependencies: ${resolution.missingDependencies.join(', ')}`);
206
- }
207
- if (resolution.circularDependencies.length > 0) {
208
- const cycles = resolution.circularDependencies.map(cycle => cycle.join(' -> ')).join('; ');
209
- errors.push(`Circular dependencies: ${cycles}`);
210
- }
134
+ if (resolution.circularDependencies.length > 0)
135
+ errors.push(`Circular dependencies: ${resolution.circularDependencies.map((c) => c.join(' -> ')).join('; ')}`);
211
136
  throw new ConfigurationError(`Cannot initialize modules: ${errors.join('; ')}`, {
212
137
  missingDependencies: resolution.missingDependencies,
213
- circularDependencies: resolution.circularDependencies.map(cycle => cycle.join(' -> '))
138
+ circularDependencies: resolution.circularDependencies.map((c) => c.join(' -> ')),
214
139
  });
215
140
  }
216
- // Initialize modules in dependency order
217
- this.logger.info('Initializing modules in dependency order', {
218
- order: resolution.order,
219
- totalModules: moduleNames.length
220
- });
221
141
  for (const moduleType of resolution.order) {
222
- // Find module by type
223
- const moduleName = moduleNames.find(name => {
224
- const module = this.modules.get(name);
225
- return module.getModuleType().type === moduleType;
226
- });
227
- if (moduleName) {
228
- await this.initializeModule(moduleName, timeout);
229
- }
142
+ const mn = moduleNames.find((name) => this.modules.get(name).getModuleType().type === moduleType);
143
+ if (mn)
144
+ await this.initializeModule(mn, timeout);
230
145
  }
231
- this.logger.info('All modules initialized successfully', {
232
- initializedCount: this.initializationOrder.length
233
- });
234
146
  }
235
- /**
236
- * Execute a module by name
237
- */
238
147
  async executeModule(moduleName, context) {
239
148
  const module = this.modules.get(moduleName);
240
- if (!module) {
149
+ if (!module)
241
150
  throw new ConfigurationError(`Module '${moduleName}' not found`);
242
- }
243
- if (!module.isInitialized()) {
151
+ if (!module.isInitialized())
244
152
  throw new ConfigurationError(`Module '${moduleName}' is not initialized`);
245
- }
246
- if (!module.isEnabled()) {
153
+ if (!module.isEnabled())
247
154
  throw new ConfigurationError(`Module '${moduleName}' is disabled`);
248
- }
249
- // Update statistics
250
155
  const stats = this.moduleStats.get(moduleName);
251
156
  const startTime = Date.now();
252
157
  try {
253
- if (!module.execute) {
158
+ if (!module.execute)
254
159
  throw new ConfigurationError(`Module '${moduleName}' does not support execute()`);
255
- }
256
160
  const result = await module.execute(context);
257
- // Update success statistics
258
161
  const duration = Date.now() - startTime;
259
162
  stats.totalExecutions++;
260
163
  stats.successfulExecutions++;
261
164
  stats.totalExecutionTime += duration;
262
165
  stats.averageExecutionTime = stats.totalExecutionTime / stats.totalExecutions;
263
166
  stats.lastExecutionTime = new Date();
264
- // Update module status
265
167
  const status = this.moduleStatuses.get(moduleName);
266
- if (status) {
168
+ if (status)
267
169
  status.lastActivity = new Date();
268
- }
269
170
  return result;
270
171
  }
271
172
  catch (error) {
272
- // Update error statistics
273
173
  const duration = Date.now() - startTime;
274
174
  stats.totalExecutions++;
275
175
  stats.failedExecutions++;
@@ -279,115 +179,60 @@ export class ModuleRegistry {
279
179
  throw error;
280
180
  }
281
181
  }
282
- /**
283
- * Get a module by name
284
- */
285
182
  getModule(moduleName) {
286
- return this.modules.get(moduleName) ?? null;
183
+ return this.modules.get(moduleName);
287
184
  }
288
- /**
289
- * Get modules by type
290
- */
291
185
  getModulesByType(moduleType) {
292
- const modules = [];
293
- for (const module of this.modules.values()) {
294
- if (module.getModuleType().type === moduleType) {
295
- modules.push(module);
296
- }
297
- }
298
- return modules;
186
+ return Array.from(this.modules.values()).filter((m) => m.getModuleType().type === moduleType);
299
187
  }
300
- /**
301
- * Get all registered modules
302
- */
303
188
  getAllModules() {
304
189
  return Array.from(this.modules.values());
305
190
  }
306
- /**
307
- * Get module names
308
- */
309
191
  getModuleNames() {
310
192
  return Array.from(this.modules.keys());
311
193
  }
312
- /**
313
- * Check if a module is registered
314
- */
315
194
  hasModule(moduleName) {
316
195
  return this.modules.has(moduleName);
317
196
  }
318
- /**
319
- * Get module status
320
- */
321
197
  getModuleStatus(moduleName) {
322
- return this.moduleStatuses.get(moduleName) || null;
198
+ return this.moduleStatuses.get(moduleName);
323
199
  }
324
- /**
325
- * Get all module statuses
326
- */
327
200
  getAllModuleStatuses() {
328
201
  return Array.from(this.moduleStatuses.values());
329
202
  }
330
- /**
331
- * Get module execution statistics
332
- */
333
203
  getModuleStats(moduleName) {
334
- return this.moduleStats.get(moduleName) || null;
204
+ return this.moduleStats.get(moduleName);
335
205
  }
336
- /**
337
- * Get all module execution statistics
338
- */
339
206
  getAllModuleStats() {
340
- const stats = {};
341
- for (const [name, moduleStats] of this.moduleStats.entries()) {
342
- stats[name] = { ...moduleStats };
343
- }
344
- return stats;
207
+ const s = {};
208
+ for (const [n, ms] of this.moduleStats.entries())
209
+ s[n] = { ...ms };
210
+ return s;
345
211
  }
346
- /**
347
- * Dispose all modules in reverse initialization order
348
- */
349
212
  async disposeAllModules() {
350
213
  this.isDisposing = true;
351
- if (this.initializationOrder.length === 0) {
352
- this.logger.debug('No modules to dispose');
353
- return;
354
- }
355
- // Dispose in reverse initialization order
356
214
  const reverseOrder = [...this.initializationOrder].reverse();
357
- this.logger.info('Disposing modules in reverse order', {
358
- order: reverseOrder,
359
- totalModules: reverseOrder.length
360
- });
361
215
  for (const moduleName of reverseOrder) {
362
216
  const module = this.modules.get(moduleName);
363
217
  if (module && module.isInitialized()) {
364
218
  try {
365
- if (module.dispose) {
219
+ if (module.dispose)
366
220
  await module.dispose();
367
- }
368
- // Update status
369
- const status = this.moduleStatuses.get(moduleName);
370
- if (status) {
371
- status.initialized = false;
372
- }
373
- this.logger.debug('Module disposed', { name: moduleName });
221
+ const s = this.moduleStatuses.get(moduleName);
222
+ if (s)
223
+ s.initialized = false;
374
224
  }
375
225
  catch (error) {
376
226
  this.logger.error('Failed to dispose module', {
377
227
  name: moduleName,
378
- error: error instanceof Error ? error.message : String(error)
228
+ error: error instanceof Error ? error.message : String(error),
379
229
  });
380
230
  }
381
231
  }
382
232
  }
383
- // Clear initialization order
384
233
  this.initializationOrder = [];
385
234
  this.isDisposing = false;
386
- this.logger.info('All modules disposed');
387
235
  }
388
- /**
389
- * Clear all modules (for testing)
390
- */
391
236
  clearAllModules() {
392
237
  this.modules.clear();
393
238
  this.moduleOptions.clear();
@@ -396,124 +241,9 @@ export class ModuleRegistry {
396
241
  this.registrationOrder = [];
397
242
  this.initializationOrder = [];
398
243
  this.isDisposing = false;
399
- this.logger.info('All modules cleared');
400
244
  }
401
- /**
402
- * Get registry statistics
403
- */
404
245
  getRegistryStats() {
405
- const modulesByType = {};
406
- let initializedModules = 0;
407
- let enabledModules = 0;
408
- let totalExecutions = 0;
409
- let totalSuccessfulExecutions = 0;
410
- let totalFailedExecutions = 0;
411
- let totalExecutionTime = 0;
412
- for (const module of this.modules.values()) {
413
- const moduleType = module.getModuleType().type;
414
- modulesByType[moduleType] = (modulesByType[moduleType] || 0) + 1;
415
- if (module.isInitialized()) {
416
- initializedModules++;
417
- }
418
- if (module.isEnabled()) {
419
- enabledModules++;
420
- }
421
- }
422
- for (const stats of this.moduleStats.values()) {
423
- totalExecutions += stats.totalExecutions;
424
- totalSuccessfulExecutions += stats.successfulExecutions;
425
- totalFailedExecutions += stats.failedExecutions;
426
- totalExecutionTime += stats.totalExecutionTime;
427
- }
428
- const averageExecutionTime = totalExecutions > 0
429
- ? totalExecutionTime / totalExecutions
430
- : 0;
431
- return {
432
- totalModules: this.modules.size,
433
- initializedModules,
434
- enabledModules,
435
- modulesByType,
436
- totalExecutions,
437
- totalSuccessfulExecutions,
438
- totalFailedExecutions,
439
- averageExecutionTime
440
- };
441
- }
442
- /**
443
- * Validate a module before registration
444
- */
445
- validateModule(module) {
446
- if (!module.name || module.name.trim() === '') {
447
- throw new ConfigurationError('Module name is required');
448
- }
449
- if (!module.version || module.version.trim() === '') {
450
- throw new ConfigurationError('Module version is required');
451
- }
452
- // Validate module type
453
- const moduleType = module.getModuleType();
454
- const validation = this.typeRegistry.validateTypeDescriptor(moduleType);
455
- if (!validation.valid) {
456
- throw new ConfigurationError(`Invalid module type: ${validation.errors.join(', ')}`, { moduleName: module.name, errors: validation.errors });
457
- }
458
- // Log warnings if any
459
- if (validation.warnings.length > 0) {
460
- this.logger.warn('Module type validation warnings', {
461
- moduleName: module.name,
462
- warnings: validation.warnings
463
- });
464
- }
465
- }
466
- /**
467
- * Validate module dependencies
468
- */
469
- async validateModuleDependencies(module) {
470
- const moduleType = module.getModuleType();
471
- if (!moduleType.dependencies || moduleType.dependencies.length === 0) {
472
- return;
473
- }
474
- // Check if dependency types are registered
475
- for (const depType of moduleType.dependencies) {
476
- if (!this.typeRegistry.hasType(depType)) {
477
- throw new ConfigurationError(`Module '${module.name}' depends on unregistered type '${depType}'`, { moduleName: module.name, dependencyType: depType });
478
- }
479
- }
480
- // Check if dependency modules are available
481
- const availableTypes = new Set();
482
- for (const registeredModule of this.modules.values()) {
483
- availableTypes.add(registeredModule.getModuleType().type);
484
- }
485
- const missingDependencies = [];
486
- for (const depType of moduleType.dependencies) {
487
- if (!availableTypes.has(depType)) {
488
- missingDependencies.push(depType);
489
- }
490
- }
491
- if (missingDependencies.length > 0) {
492
- this.logger.warn('Module has unmet dependencies', {
493
- moduleName: module.name,
494
- missingDependencies
495
- });
496
- }
497
- }
498
- /**
499
- * Find modules that depend on the given module
500
- */
501
- findDependentModules(moduleName) {
502
- const targetModule = this.modules.get(moduleName);
503
- if (!targetModule) {
504
- return [];
505
- }
506
- const targetType = targetModule.getModuleType().type;
507
- const dependents = [];
508
- for (const [name, module] of this.modules.entries()) {
509
- if (name === moduleName)
510
- continue;
511
- const moduleType = module.getModuleType();
512
- if (moduleType.dependencies?.includes(targetType)) {
513
- dependents.push(name);
514
- }
515
- }
516
- return dependents;
246
+ return buildRegistryStats(this.modules, this.moduleStats);
517
247
  }
518
248
  }
519
249
  //# sourceMappingURL=module-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/managers/module-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/managers/module-registry.ts"],"names":[],"mappings":"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"}