@nxuss/lemma 0.1.1 → 0.2.1

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 (452) hide show
  1. package/README.md +195 -13
  2. package/dist/cjs/cloud/KeyManager.d.ts.map +1 -0
  3. package/dist/cjs/cloud/KeyManager.js.map +1 -0
  4. package/dist/cjs/cloud/TenantCache.d.ts.map +1 -0
  5. package/dist/cjs/cloud/TenantCache.js.map +1 -0
  6. package/dist/cjs/cloud/index.d.ts.map +1 -0
  7. package/dist/cjs/cloud/index.js.map +1 -0
  8. package/dist/cjs/cloud/server.d.ts.map +1 -0
  9. package/dist/cjs/cloud/server.js.map +1 -0
  10. package/dist/cjs/cloud/types.d.ts.map +1 -0
  11. package/dist/cjs/cloud/types.js.map +1 -0
  12. package/dist/cjs/config/index.d.ts.map +1 -0
  13. package/dist/cjs/config/index.js.map +1 -0
  14. package/dist/cjs/consensus/ConsensusEngine.d.ts.map +1 -0
  15. package/dist/cjs/consensus/ConsensusEngine.js.map +1 -0
  16. package/dist/cjs/consensus/ModelPool.d.ts.map +1 -0
  17. package/dist/cjs/consensus/ModelPool.js.map +1 -0
  18. package/dist/cjs/consensus/index.d.ts.map +1 -0
  19. package/dist/cjs/consensus/index.js.map +1 -0
  20. package/dist/cjs/core/AgentRegistry.d.ts.map +1 -0
  21. package/dist/cjs/core/AgentRegistry.js.map +1 -0
  22. package/dist/cjs/core/DashboardBroadcaster.d.ts.map +1 -0
  23. package/dist/cjs/core/DashboardBroadcaster.js.map +1 -0
  24. package/dist/cjs/core/OrchestrationEngine.d.ts.map +1 -0
  25. package/dist/cjs/core/OrchestrationEngine.js.map +1 -0
  26. package/dist/cjs/core/SubconsciousEngine.d.ts.map +1 -0
  27. package/dist/cjs/core/SubconsciousEngine.js.map +1 -0
  28. package/dist/cjs/core/WebSocketServer.d.ts.map +1 -0
  29. package/dist/cjs/core/WebSocketServer.js.map +1 -0
  30. package/dist/cjs/core/index.d.ts.map +1 -0
  31. package/dist/cjs/core/index.js.map +1 -0
  32. package/dist/cjs/core/router.d.ts.map +1 -0
  33. package/dist/cjs/core/router.js.map +1 -0
  34. package/dist/{embed → cjs/embed}/index.d.ts +66 -1
  35. package/dist/cjs/embed/index.d.ts.map +1 -0
  36. package/dist/cjs/embed/index.js +989 -0
  37. package/dist/cjs/embed/index.js.map +1 -0
  38. package/dist/cjs/embed.d.ts.map +1 -0
  39. package/dist/cjs/embed.js.map +1 -0
  40. package/dist/cjs/examples/basic-usage.d.ts +12 -0
  41. package/dist/cjs/examples/basic-usage.d.ts.map +1 -0
  42. package/dist/cjs/examples/basic-usage.js +128 -0
  43. package/dist/cjs/examples/basic-usage.js.map +1 -0
  44. package/dist/cjs/index.d.ts.map +1 -0
  45. package/dist/cjs/index.js.map +1 -0
  46. package/dist/cjs/package.json +3 -0
  47. package/dist/cjs/protocol/flows.d.ts.map +1 -0
  48. package/dist/cjs/protocol/flows.js.map +1 -0
  49. package/dist/cjs/protocol/iap.d.ts.map +1 -0
  50. package/dist/cjs/protocol/iap.js.map +1 -0
  51. package/dist/cjs/protocol/index.d.ts.map +1 -0
  52. package/dist/cjs/protocol/index.js.map +1 -0
  53. package/dist/cjs/protocol/types.d.ts.map +1 -0
  54. package/dist/cjs/protocol/types.js.map +1 -0
  55. package/dist/cjs/protocol/utils.d.ts.map +1 -0
  56. package/dist/cjs/protocol/utils.js.map +1 -0
  57. package/dist/cjs/protocol/validators.d.ts.map +1 -0
  58. package/dist/cjs/protocol/validators.js.map +1 -0
  59. package/dist/cjs/security/AuthManager.d.ts.map +1 -0
  60. package/dist/cjs/security/AuthManager.js.map +1 -0
  61. package/dist/cjs/security/MessageSanitizer.d.ts.map +1 -0
  62. package/dist/cjs/security/MessageSanitizer.js.map +1 -0
  63. package/dist/cjs/security/RateLimiter.d.ts.map +1 -0
  64. package/dist/cjs/security/RateLimiter.js.map +1 -0
  65. package/dist/cjs/security/SecurityMiddleware.d.ts.map +1 -0
  66. package/dist/cjs/security/SecurityMiddleware.js.map +1 -0
  67. package/dist/cjs/security/index.d.ts.map +1 -0
  68. package/dist/cjs/security/index.js.map +1 -0
  69. package/dist/cjs/speculative/PredictionEngine.d.ts.map +1 -0
  70. package/dist/cjs/speculative/PredictionEngine.js.map +1 -0
  71. package/dist/cjs/speculative/SpeculativeCache.d.ts.map +1 -0
  72. package/dist/cjs/speculative/SpeculativeCache.js.map +1 -0
  73. package/dist/cjs/speculative/SpeculativeEngine.d.ts.map +1 -0
  74. package/dist/cjs/speculative/SpeculativeEngine.js.map +1 -0
  75. package/dist/cjs/speculative/WorkerPool.d.ts.map +1 -0
  76. package/dist/cjs/speculative/WorkerPool.js.map +1 -0
  77. package/dist/cjs/speculative/index.d.ts.map +1 -0
  78. package/dist/cjs/speculative/index.js.map +1 -0
  79. package/dist/cjs/subconscious/EmbeddingService.d.ts.map +1 -0
  80. package/dist/cjs/subconscious/EmbeddingService.js.map +1 -0
  81. package/dist/cjs/subconscious/SemanticCache.d.ts.map +1 -0
  82. package/dist/cjs/subconscious/SemanticCache.js.map +1 -0
  83. package/dist/cjs/subconscious/SubconsciousEngine.d.ts.map +1 -0
  84. package/dist/cjs/subconscious/SubconsciousEngine.js.map +1 -0
  85. package/dist/cjs/subconscious/VectorStore.d.ts.map +1 -0
  86. package/dist/cjs/subconscious/VectorStore.js.map +1 -0
  87. package/dist/cjs/subconscious/cache.d.ts.map +1 -0
  88. package/dist/cjs/subconscious/cache.js.map +1 -0
  89. package/dist/cjs/subconscious/embeddings.d.ts.map +1 -0
  90. package/dist/cjs/subconscious/embeddings.js.map +1 -0
  91. package/dist/cjs/subconscious/index.d.ts.map +1 -0
  92. package/dist/cjs/subconscious/index.js.map +1 -0
  93. package/dist/cjs/types/index.d.ts.map +1 -0
  94. package/dist/cjs/types/index.js.map +1 -0
  95. package/dist/cjs/utils/logger.d.ts.map +1 -0
  96. package/dist/cjs/utils/logger.js.map +1 -0
  97. package/dist/esm/cloud/KeyManager.d.ts +29 -0
  98. package/dist/esm/cloud/KeyManager.d.ts.map +1 -0
  99. package/dist/esm/cloud/KeyManager.js +135 -0
  100. package/dist/esm/cloud/KeyManager.js.map +1 -0
  101. package/dist/esm/cloud/TenantCache.d.ts +29 -0
  102. package/dist/esm/cloud/TenantCache.d.ts.map +1 -0
  103. package/dist/esm/cloud/TenantCache.js +125 -0
  104. package/dist/esm/cloud/TenantCache.js.map +1 -0
  105. package/dist/esm/cloud/index.d.ts +4 -0
  106. package/dist/esm/cloud/index.d.ts.map +1 -0
  107. package/dist/esm/cloud/index.js +4 -0
  108. package/dist/esm/cloud/index.js.map +1 -0
  109. package/dist/esm/cloud/server.d.ts +17 -0
  110. package/dist/esm/cloud/server.d.ts.map +1 -0
  111. package/dist/esm/cloud/server.js +181 -0
  112. package/dist/esm/cloud/server.js.map +1 -0
  113. package/dist/esm/cloud/types.d.ts +35 -0
  114. package/dist/esm/cloud/types.d.ts.map +1 -0
  115. package/dist/esm/cloud/types.js +11 -0
  116. package/dist/esm/cloud/types.js.map +1 -0
  117. package/dist/esm/config/index.d.ts +44 -0
  118. package/dist/esm/config/index.d.ts.map +1 -0
  119. package/dist/esm/config/index.js +151 -0
  120. package/dist/esm/config/index.js.map +1 -0
  121. package/dist/esm/consensus/ConsensusEngine.d.ts +119 -0
  122. package/dist/esm/consensus/ConsensusEngine.d.ts.map +1 -0
  123. package/dist/esm/consensus/ConsensusEngine.js +310 -0
  124. package/dist/esm/consensus/ConsensusEngine.js.map +1 -0
  125. package/dist/esm/consensus/ModelPool.d.ts +103 -0
  126. package/dist/esm/consensus/ModelPool.d.ts.map +1 -0
  127. package/dist/esm/consensus/ModelPool.js +269 -0
  128. package/dist/esm/consensus/ModelPool.js.map +1 -0
  129. package/dist/esm/consensus/index.d.ts +8 -0
  130. package/dist/esm/consensus/index.d.ts.map +1 -0
  131. package/dist/esm/consensus/index.js +8 -0
  132. package/dist/esm/consensus/index.js.map +1 -0
  133. package/dist/esm/core/AgentRegistry.d.ts +89 -0
  134. package/dist/esm/core/AgentRegistry.d.ts.map +1 -0
  135. package/dist/esm/core/AgentRegistry.js +260 -0
  136. package/dist/esm/core/AgentRegistry.js.map +1 -0
  137. package/dist/esm/core/DashboardBroadcaster.d.ts +67 -0
  138. package/dist/esm/core/DashboardBroadcaster.d.ts.map +1 -0
  139. package/dist/esm/core/DashboardBroadcaster.js +260 -0
  140. package/dist/esm/core/DashboardBroadcaster.js.map +1 -0
  141. package/dist/esm/core/OrchestrationEngine.d.ts +85 -0
  142. package/dist/esm/core/OrchestrationEngine.d.ts.map +1 -0
  143. package/dist/esm/core/OrchestrationEngine.js +457 -0
  144. package/dist/esm/core/OrchestrationEngine.js.map +1 -0
  145. package/dist/esm/core/SubconsciousEngine.d.ts +53 -0
  146. package/dist/esm/core/SubconsciousEngine.d.ts.map +1 -0
  147. package/dist/esm/core/SubconsciousEngine.js +278 -0
  148. package/dist/esm/core/SubconsciousEngine.js.map +1 -0
  149. package/dist/esm/core/WebSocketServer.d.ts +89 -0
  150. package/dist/esm/core/WebSocketServer.d.ts.map +1 -0
  151. package/dist/esm/core/WebSocketServer.js +380 -0
  152. package/dist/esm/core/WebSocketServer.js.map +1 -0
  153. package/dist/esm/core/index.d.ts +15 -0
  154. package/dist/esm/core/index.d.ts.map +1 -0
  155. package/dist/esm/core/index.js +15 -0
  156. package/dist/esm/core/index.js.map +1 -0
  157. package/dist/esm/core/router.d.ts +105 -0
  158. package/dist/esm/core/router.d.ts.map +1 -0
  159. package/dist/esm/core/router.js +416 -0
  160. package/dist/esm/core/router.js.map +1 -0
  161. package/dist/esm/embed/index.d.ts +218 -0
  162. package/dist/esm/embed/index.d.ts.map +1 -0
  163. package/dist/esm/embed/index.js +949 -0
  164. package/dist/esm/embed/index.js.map +1 -0
  165. package/dist/esm/embed.d.ts +11 -0
  166. package/dist/esm/embed.d.ts.map +1 -0
  167. package/dist/esm/embed.js +11 -0
  168. package/dist/esm/embed.js.map +1 -0
  169. package/dist/esm/examples/basic-usage.d.ts +12 -0
  170. package/dist/esm/examples/basic-usage.d.ts.map +1 -0
  171. package/dist/esm/examples/basic-usage.js +126 -0
  172. package/dist/esm/examples/basic-usage.js.map +1 -0
  173. package/dist/esm/index.d.ts +83 -0
  174. package/dist/esm/index.d.ts.map +1 -0
  175. package/dist/esm/index.js +132 -0
  176. package/dist/esm/index.js.map +1 -0
  177. package/dist/esm/package.json +3 -0
  178. package/dist/esm/protocol/flows.d.ts +126 -0
  179. package/dist/esm/protocol/flows.d.ts.map +1 -0
  180. package/dist/esm/protocol/flows.js +338 -0
  181. package/dist/esm/protocol/flows.js.map +1 -0
  182. package/dist/esm/protocol/iap.d.ts +54 -0
  183. package/dist/esm/protocol/iap.d.ts.map +1 -0
  184. package/dist/esm/protocol/iap.js +104 -0
  185. package/dist/esm/protocol/iap.js.map +1 -0
  186. package/dist/esm/protocol/index.d.ts +23 -0
  187. package/dist/esm/protocol/index.d.ts.map +1 -0
  188. package/dist/esm/protocol/index.js +28 -0
  189. package/dist/esm/protocol/index.js.map +1 -0
  190. package/dist/esm/protocol/types.d.ts +332 -0
  191. package/dist/esm/protocol/types.d.ts.map +1 -0
  192. package/dist/esm/protocol/types.js +54 -0
  193. package/dist/esm/protocol/types.js.map +1 -0
  194. package/dist/esm/protocol/utils.d.ts +130 -0
  195. package/dist/esm/protocol/utils.d.ts.map +1 -0
  196. package/dist/esm/protocol/utils.js +260 -0
  197. package/dist/esm/protocol/utils.js.map +1 -0
  198. package/dist/esm/protocol/validators.d.ts +54 -0
  199. package/dist/esm/protocol/validators.d.ts.map +1 -0
  200. package/dist/esm/protocol/validators.js +332 -0
  201. package/dist/esm/protocol/validators.js.map +1 -0
  202. package/dist/esm/security/AuthManager.d.ts +73 -0
  203. package/dist/esm/security/AuthManager.d.ts.map +1 -0
  204. package/dist/esm/security/AuthManager.js +95 -0
  205. package/dist/esm/security/AuthManager.js.map +1 -0
  206. package/dist/esm/security/MessageSanitizer.d.ts +51 -0
  207. package/dist/esm/security/MessageSanitizer.d.ts.map +1 -0
  208. package/dist/esm/security/MessageSanitizer.js +178 -0
  209. package/dist/esm/security/MessageSanitizer.js.map +1 -0
  210. package/dist/esm/security/RateLimiter.d.ts +46 -0
  211. package/dist/esm/security/RateLimiter.d.ts.map +1 -0
  212. package/dist/esm/security/RateLimiter.js +129 -0
  213. package/dist/esm/security/RateLimiter.js.map +1 -0
  214. package/dist/esm/security/SecurityMiddleware.d.ts +90 -0
  215. package/dist/esm/security/SecurityMiddleware.d.ts.map +1 -0
  216. package/dist/esm/security/SecurityMiddleware.js +144 -0
  217. package/dist/esm/security/SecurityMiddleware.js.map +1 -0
  218. package/dist/esm/security/index.d.ts +35 -0
  219. package/dist/esm/security/index.d.ts.map +1 -0
  220. package/dist/esm/security/index.js +35 -0
  221. package/dist/esm/security/index.js.map +1 -0
  222. package/dist/esm/speculative/PredictionEngine.d.ts +99 -0
  223. package/dist/esm/speculative/PredictionEngine.d.ts.map +1 -0
  224. package/dist/esm/speculative/PredictionEngine.js +284 -0
  225. package/dist/esm/speculative/PredictionEngine.js.map +1 -0
  226. package/dist/esm/speculative/SpeculativeCache.d.ts +117 -0
  227. package/dist/esm/speculative/SpeculativeCache.d.ts.map +1 -0
  228. package/dist/esm/speculative/SpeculativeCache.js +288 -0
  229. package/dist/esm/speculative/SpeculativeCache.js.map +1 -0
  230. package/dist/esm/speculative/SpeculativeEngine.d.ts +114 -0
  231. package/dist/esm/speculative/SpeculativeEngine.d.ts.map +1 -0
  232. package/dist/esm/speculative/SpeculativeEngine.js +240 -0
  233. package/dist/esm/speculative/SpeculativeEngine.js.map +1 -0
  234. package/dist/esm/speculative/WorkerPool.d.ts +109 -0
  235. package/dist/esm/speculative/WorkerPool.d.ts.map +1 -0
  236. package/dist/esm/speculative/WorkerPool.js +323 -0
  237. package/dist/esm/speculative/WorkerPool.js.map +1 -0
  238. package/dist/esm/speculative/index.d.ts +10 -0
  239. package/dist/esm/speculative/index.d.ts.map +1 -0
  240. package/dist/esm/speculative/index.js +10 -0
  241. package/dist/esm/speculative/index.js.map +1 -0
  242. package/dist/esm/subconscious/EmbeddingService.d.ts +73 -0
  243. package/dist/esm/subconscious/EmbeddingService.d.ts.map +1 -0
  244. package/dist/esm/subconscious/EmbeddingService.js +189 -0
  245. package/dist/esm/subconscious/EmbeddingService.js.map +1 -0
  246. package/dist/esm/subconscious/SemanticCache.d.ts +82 -0
  247. package/dist/esm/subconscious/SemanticCache.d.ts.map +1 -0
  248. package/dist/esm/subconscious/SemanticCache.js +160 -0
  249. package/dist/esm/subconscious/SemanticCache.js.map +1 -0
  250. package/dist/esm/subconscious/SubconsciousEngine.d.ts +121 -0
  251. package/dist/esm/subconscious/SubconsciousEngine.d.ts.map +1 -0
  252. package/dist/esm/subconscious/SubconsciousEngine.js +237 -0
  253. package/dist/esm/subconscious/SubconsciousEngine.js.map +1 -0
  254. package/dist/esm/subconscious/VectorStore.d.ts +54 -0
  255. package/dist/esm/subconscious/VectorStore.d.ts.map +1 -0
  256. package/dist/esm/subconscious/VectorStore.js +164 -0
  257. package/dist/esm/subconscious/VectorStore.js.map +1 -0
  258. package/dist/esm/subconscious/cache.d.ts +34 -0
  259. package/dist/esm/subconscious/cache.d.ts.map +1 -0
  260. package/dist/esm/subconscious/cache.js +152 -0
  261. package/dist/{subconscious → esm/subconscious}/cache.js.map +1 -1
  262. package/dist/esm/subconscious/embeddings.d.ts +25 -0
  263. package/dist/esm/subconscious/embeddings.d.ts.map +1 -0
  264. package/dist/esm/subconscious/embeddings.js +58 -0
  265. package/dist/esm/subconscious/embeddings.js.map +1 -0
  266. package/dist/esm/subconscious/index.d.ts +12 -0
  267. package/dist/esm/subconscious/index.d.ts.map +1 -0
  268. package/dist/esm/subconscious/index.js +12 -0
  269. package/dist/esm/subconscious/index.js.map +1 -0
  270. package/dist/esm/types/index.d.ts +286 -0
  271. package/dist/esm/types/index.d.ts.map +1 -0
  272. package/dist/esm/types/index.js +40 -0
  273. package/dist/esm/types/index.js.map +1 -0
  274. package/dist/esm/utils/logger.d.ts +63 -0
  275. package/dist/esm/utils/logger.d.ts.map +1 -0
  276. package/dist/esm/utils/logger.js +122 -0
  277. package/dist/esm/utils/logger.js.map +1 -0
  278. package/package.json +81 -12
  279. package/dist/cloud/KeyManager.d.ts.map +0 -1
  280. package/dist/cloud/KeyManager.js.map +0 -1
  281. package/dist/cloud/TenantCache.d.ts.map +0 -1
  282. package/dist/cloud/TenantCache.js.map +0 -1
  283. package/dist/cloud/index.d.ts.map +0 -1
  284. package/dist/cloud/index.js.map +0 -1
  285. package/dist/cloud/server.d.ts.map +0 -1
  286. package/dist/cloud/server.js.map +0 -1
  287. package/dist/cloud/types.d.ts.map +0 -1
  288. package/dist/cloud/types.js.map +0 -1
  289. package/dist/config/index.d.ts.map +0 -1
  290. package/dist/config/index.js.map +0 -1
  291. package/dist/consensus/ConsensusEngine.d.ts.map +0 -1
  292. package/dist/consensus/ConsensusEngine.js.map +0 -1
  293. package/dist/consensus/ModelPool.d.ts.map +0 -1
  294. package/dist/consensus/ModelPool.js.map +0 -1
  295. package/dist/consensus/index.d.ts.map +0 -1
  296. package/dist/consensus/index.js.map +0 -1
  297. package/dist/core/AgentRegistry.d.ts.map +0 -1
  298. package/dist/core/AgentRegistry.js.map +0 -1
  299. package/dist/core/DashboardBroadcaster.d.ts.map +0 -1
  300. package/dist/core/DashboardBroadcaster.js.map +0 -1
  301. package/dist/core/OrchestrationEngine.d.ts.map +0 -1
  302. package/dist/core/OrchestrationEngine.js.map +0 -1
  303. package/dist/core/SubconsciousEngine.d.ts.map +0 -1
  304. package/dist/core/SubconsciousEngine.js.map +0 -1
  305. package/dist/core/WebSocketServer.d.ts.map +0 -1
  306. package/dist/core/WebSocketServer.js.map +0 -1
  307. package/dist/core/index.d.ts.map +0 -1
  308. package/dist/core/index.js.map +0 -1
  309. package/dist/core/router.d.ts.map +0 -1
  310. package/dist/core/router.js.map +0 -1
  311. package/dist/embed/index.d.ts.map +0 -1
  312. package/dist/embed/index.js +0 -408
  313. package/dist/embed/index.js.map +0 -1
  314. package/dist/embed.d.ts.map +0 -1
  315. package/dist/embed.js.map +0 -1
  316. package/dist/index.d.ts.map +0 -1
  317. package/dist/index.js.map +0 -1
  318. package/dist/protocol/flows.d.ts.map +0 -1
  319. package/dist/protocol/flows.js.map +0 -1
  320. package/dist/protocol/iap.d.ts.map +0 -1
  321. package/dist/protocol/iap.js.map +0 -1
  322. package/dist/protocol/index.d.ts.map +0 -1
  323. package/dist/protocol/index.js.map +0 -1
  324. package/dist/protocol/types.d.ts.map +0 -1
  325. package/dist/protocol/types.js.map +0 -1
  326. package/dist/protocol/utils.d.ts.map +0 -1
  327. package/dist/protocol/utils.js.map +0 -1
  328. package/dist/protocol/validators.d.ts.map +0 -1
  329. package/dist/protocol/validators.js.map +0 -1
  330. package/dist/security/AuthManager.d.ts.map +0 -1
  331. package/dist/security/AuthManager.js.map +0 -1
  332. package/dist/security/MessageSanitizer.d.ts.map +0 -1
  333. package/dist/security/MessageSanitizer.js.map +0 -1
  334. package/dist/security/RateLimiter.d.ts.map +0 -1
  335. package/dist/security/RateLimiter.js.map +0 -1
  336. package/dist/security/SecurityMiddleware.d.ts.map +0 -1
  337. package/dist/security/SecurityMiddleware.js.map +0 -1
  338. package/dist/security/index.d.ts.map +0 -1
  339. package/dist/security/index.js.map +0 -1
  340. package/dist/speculative/PredictionEngine.d.ts.map +0 -1
  341. package/dist/speculative/PredictionEngine.js.map +0 -1
  342. package/dist/speculative/SpeculativeCache.d.ts.map +0 -1
  343. package/dist/speculative/SpeculativeCache.js.map +0 -1
  344. package/dist/speculative/SpeculativeEngine.d.ts.map +0 -1
  345. package/dist/speculative/SpeculativeEngine.js.map +0 -1
  346. package/dist/speculative/WorkerPool.d.ts.map +0 -1
  347. package/dist/speculative/WorkerPool.js.map +0 -1
  348. package/dist/speculative/index.d.ts.map +0 -1
  349. package/dist/speculative/index.js.map +0 -1
  350. package/dist/subconscious/EmbeddingService.d.ts.map +0 -1
  351. package/dist/subconscious/EmbeddingService.js.map +0 -1
  352. package/dist/subconscious/SemanticCache.d.ts.map +0 -1
  353. package/dist/subconscious/SemanticCache.js.map +0 -1
  354. package/dist/subconscious/SubconsciousEngine.d.ts.map +0 -1
  355. package/dist/subconscious/SubconsciousEngine.js.map +0 -1
  356. package/dist/subconscious/VectorStore.d.ts.map +0 -1
  357. package/dist/subconscious/VectorStore.js.map +0 -1
  358. package/dist/subconscious/cache.d.ts.map +0 -1
  359. package/dist/subconscious/embeddings.d.ts.map +0 -1
  360. package/dist/subconscious/embeddings.js.map +0 -1
  361. package/dist/subconscious/index.d.ts.map +0 -1
  362. package/dist/subconscious/index.js.map +0 -1
  363. package/dist/types/index.d.ts.map +0 -1
  364. package/dist/types/index.js.map +0 -1
  365. package/dist/utils/logger.d.ts.map +0 -1
  366. package/dist/utils/logger.js.map +0 -1
  367. /package/dist/{cloud → cjs/cloud}/KeyManager.d.ts +0 -0
  368. /package/dist/{cloud → cjs/cloud}/KeyManager.js +0 -0
  369. /package/dist/{cloud → cjs/cloud}/TenantCache.d.ts +0 -0
  370. /package/dist/{cloud → cjs/cloud}/TenantCache.js +0 -0
  371. /package/dist/{cloud → cjs/cloud}/index.d.ts +0 -0
  372. /package/dist/{cloud → cjs/cloud}/index.js +0 -0
  373. /package/dist/{cloud → cjs/cloud}/server.d.ts +0 -0
  374. /package/dist/{cloud → cjs/cloud}/server.js +0 -0
  375. /package/dist/{cloud → cjs/cloud}/types.d.ts +0 -0
  376. /package/dist/{cloud → cjs/cloud}/types.js +0 -0
  377. /package/dist/{config → cjs/config}/index.d.ts +0 -0
  378. /package/dist/{config → cjs/config}/index.js +0 -0
  379. /package/dist/{consensus → cjs/consensus}/ConsensusEngine.d.ts +0 -0
  380. /package/dist/{consensus → cjs/consensus}/ConsensusEngine.js +0 -0
  381. /package/dist/{consensus → cjs/consensus}/ModelPool.d.ts +0 -0
  382. /package/dist/{consensus → cjs/consensus}/ModelPool.js +0 -0
  383. /package/dist/{consensus → cjs/consensus}/index.d.ts +0 -0
  384. /package/dist/{consensus → cjs/consensus}/index.js +0 -0
  385. /package/dist/{core → cjs/core}/AgentRegistry.d.ts +0 -0
  386. /package/dist/{core → cjs/core}/AgentRegistry.js +0 -0
  387. /package/dist/{core → cjs/core}/DashboardBroadcaster.d.ts +0 -0
  388. /package/dist/{core → cjs/core}/DashboardBroadcaster.js +0 -0
  389. /package/dist/{core → cjs/core}/OrchestrationEngine.d.ts +0 -0
  390. /package/dist/{core → cjs/core}/OrchestrationEngine.js +0 -0
  391. /package/dist/{core → cjs/core}/SubconsciousEngine.d.ts +0 -0
  392. /package/dist/{core → cjs/core}/SubconsciousEngine.js +0 -0
  393. /package/dist/{core → cjs/core}/WebSocketServer.d.ts +0 -0
  394. /package/dist/{core → cjs/core}/WebSocketServer.js +0 -0
  395. /package/dist/{core → cjs/core}/index.d.ts +0 -0
  396. /package/dist/{core → cjs/core}/index.js +0 -0
  397. /package/dist/{core → cjs/core}/router.d.ts +0 -0
  398. /package/dist/{core → cjs/core}/router.js +0 -0
  399. /package/dist/{embed.d.ts → cjs/embed.d.ts} +0 -0
  400. /package/dist/{embed.js → cjs/embed.js} +0 -0
  401. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  402. /package/dist/{index.js → cjs/index.js} +0 -0
  403. /package/dist/{protocol → cjs/protocol}/flows.d.ts +0 -0
  404. /package/dist/{protocol → cjs/protocol}/flows.js +0 -0
  405. /package/dist/{protocol → cjs/protocol}/iap.d.ts +0 -0
  406. /package/dist/{protocol → cjs/protocol}/iap.js +0 -0
  407. /package/dist/{protocol → cjs/protocol}/index.d.ts +0 -0
  408. /package/dist/{protocol → cjs/protocol}/index.js +0 -0
  409. /package/dist/{protocol → cjs/protocol}/types.d.ts +0 -0
  410. /package/dist/{protocol → cjs/protocol}/types.js +0 -0
  411. /package/dist/{protocol → cjs/protocol}/utils.d.ts +0 -0
  412. /package/dist/{protocol → cjs/protocol}/utils.js +0 -0
  413. /package/dist/{protocol → cjs/protocol}/validators.d.ts +0 -0
  414. /package/dist/{protocol → cjs/protocol}/validators.js +0 -0
  415. /package/dist/{security → cjs/security}/AuthManager.d.ts +0 -0
  416. /package/dist/{security → cjs/security}/AuthManager.js +0 -0
  417. /package/dist/{security → cjs/security}/MessageSanitizer.d.ts +0 -0
  418. /package/dist/{security → cjs/security}/MessageSanitizer.js +0 -0
  419. /package/dist/{security → cjs/security}/RateLimiter.d.ts +0 -0
  420. /package/dist/{security → cjs/security}/RateLimiter.js +0 -0
  421. /package/dist/{security → cjs/security}/SecurityMiddleware.d.ts +0 -0
  422. /package/dist/{security → cjs/security}/SecurityMiddleware.js +0 -0
  423. /package/dist/{security → cjs/security}/index.d.ts +0 -0
  424. /package/dist/{security → cjs/security}/index.js +0 -0
  425. /package/dist/{speculative → cjs/speculative}/PredictionEngine.d.ts +0 -0
  426. /package/dist/{speculative → cjs/speculative}/PredictionEngine.js +0 -0
  427. /package/dist/{speculative → cjs/speculative}/SpeculativeCache.d.ts +0 -0
  428. /package/dist/{speculative → cjs/speculative}/SpeculativeCache.js +0 -0
  429. /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.d.ts +0 -0
  430. /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.js +0 -0
  431. /package/dist/{speculative → cjs/speculative}/WorkerPool.d.ts +0 -0
  432. /package/dist/{speculative → cjs/speculative}/WorkerPool.js +0 -0
  433. /package/dist/{speculative → cjs/speculative}/index.d.ts +0 -0
  434. /package/dist/{speculative → cjs/speculative}/index.js +0 -0
  435. /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.d.ts +0 -0
  436. /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.js +0 -0
  437. /package/dist/{subconscious → cjs/subconscious}/SemanticCache.d.ts +0 -0
  438. /package/dist/{subconscious → cjs/subconscious}/SemanticCache.js +0 -0
  439. /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.d.ts +0 -0
  440. /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.js +0 -0
  441. /package/dist/{subconscious → cjs/subconscious}/VectorStore.d.ts +0 -0
  442. /package/dist/{subconscious → cjs/subconscious}/VectorStore.js +0 -0
  443. /package/dist/{subconscious → cjs/subconscious}/cache.d.ts +0 -0
  444. /package/dist/{subconscious → cjs/subconscious}/cache.js +0 -0
  445. /package/dist/{subconscious → cjs/subconscious}/embeddings.d.ts +0 -0
  446. /package/dist/{subconscious → cjs/subconscious}/embeddings.js +0 -0
  447. /package/dist/{subconscious → cjs/subconscious}/index.d.ts +0 -0
  448. /package/dist/{subconscious → cjs/subconscious}/index.js +0 -0
  449. /package/dist/{types → cjs/types}/index.d.ts +0 -0
  450. /package/dist/{types → cjs/types}/index.js +0 -0
  451. /package/dist/{utils → cjs/utils}/logger.d.ts +0 -0
  452. /package/dist/{utils → cjs/utils}/logger.js +0 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Model Pool - Shadow Consensus v3.0
3
+ *
4
+ * Manages connections to multiple AI models for consensus routing.
5
+ * Supports: Llama 3, Claude 3, GPT-4, Gemini, and other models.
6
+ *
7
+ * Features:
8
+ * - Multi-provider support
9
+ * - Load balancing
10
+ * - Health monitoring
11
+ * - Automatic failover
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ import axios from 'axios';
15
+ export class ModelPool extends EventEmitter {
16
+ constructor(config) {
17
+ super();
18
+ this.models = new Map();
19
+ this.modelInfo = new Map();
20
+ this.config = {
21
+ ...config,
22
+ healthCheckInterval: config.healthCheckInterval || 60000,
23
+ requestTimeout: config.requestTimeout || 30000,
24
+ };
25
+ // Initialize models
26
+ config.models.forEach((model) => {
27
+ if (model.enabled !== false) {
28
+ this.models.set(model.id, model);
29
+ this.modelInfo.set(model.id, {
30
+ id: model.id,
31
+ name: model.name,
32
+ provider: model.provider,
33
+ model: model.model,
34
+ status: 'offline',
35
+ lastHealthCheck: 0,
36
+ requestCount: 0,
37
+ errorCount: 0,
38
+ averageLatency: 0,
39
+ });
40
+ }
41
+ });
42
+ }
43
+ /**
44
+ * Start the model pool
45
+ */
46
+ async start() {
47
+ // Initial health check
48
+ await this.healthCheckAll();
49
+ // Start periodic health checks
50
+ this.healthCheckTimer = setInterval(() => {
51
+ this.healthCheckAll().catch((error) => {
52
+ this.emit('error', error);
53
+ });
54
+ }, this.config.healthCheckInterval);
55
+ this.emit('started');
56
+ }
57
+ /**
58
+ * Query a specific model
59
+ */
60
+ async query(modelId, prompt) {
61
+ const model = this.models.get(modelId);
62
+ if (!model) {
63
+ throw new Error(`Model not found: ${modelId}`);
64
+ }
65
+ const info = this.modelInfo.get(modelId);
66
+ const startTime = Date.now();
67
+ try {
68
+ let response;
69
+ switch (model.provider) {
70
+ case 'ollama':
71
+ response = await this.queryOllama(model, prompt);
72
+ break;
73
+ case 'anthropic':
74
+ response = await this.queryAnthropic(model, prompt);
75
+ break;
76
+ case 'openai':
77
+ response = await this.queryOpenAI(model, prompt);
78
+ break;
79
+ case 'google':
80
+ response = await this.queryGoogle(model, prompt);
81
+ break;
82
+ default:
83
+ throw new Error(`Unsupported provider: ${model.provider}`);
84
+ }
85
+ // Update stats
86
+ const latency = Date.now() - startTime;
87
+ info.requestCount++;
88
+ info.averageLatency =
89
+ (info.averageLatency * (info.requestCount - 1) + latency) /
90
+ info.requestCount;
91
+ info.status = 'online';
92
+ response.latency = latency;
93
+ response.model = model.model;
94
+ this.emit('query-success', { modelId, latency });
95
+ return response;
96
+ }
97
+ catch (error) {
98
+ info.errorCount++;
99
+ info.status = 'error';
100
+ this.emit('query-error', { modelId, error: error.message });
101
+ throw error;
102
+ }
103
+ }
104
+ /**
105
+ * Query Ollama model
106
+ */
107
+ async queryOllama(model, prompt) {
108
+ const response = await axios.post(`${model.endpoint}/api/generate`, {
109
+ model: model.model,
110
+ prompt,
111
+ stream: false,
112
+ options: {
113
+ temperature: model.temperature || 0.7,
114
+ num_predict: model.maxTokens || 1000,
115
+ },
116
+ }, {
117
+ timeout: this.config.requestTimeout,
118
+ });
119
+ return {
120
+ text: response.data.response,
121
+ confidence: 0.8, // Ollama doesn't provide confidence
122
+ reasoning: '',
123
+ model: model.model,
124
+ latency: 0,
125
+ };
126
+ }
127
+ /**
128
+ * Query Anthropic (Claude) model
129
+ */
130
+ async queryAnthropic(model, prompt) {
131
+ const response = await axios.post(`${model.endpoint}/v1/messages`, {
132
+ model: model.model,
133
+ max_tokens: model.maxTokens || 1000,
134
+ messages: [{ role: 'user', content: prompt }],
135
+ temperature: model.temperature || 0.7,
136
+ }, {
137
+ headers: {
138
+ 'x-api-key': model.apiKey,
139
+ 'anthropic-version': '2023-06-01',
140
+ 'content-type': 'application/json',
141
+ },
142
+ timeout: this.config.requestTimeout,
143
+ });
144
+ return {
145
+ text: response.data.content[0].text,
146
+ confidence: 0.85,
147
+ reasoning: '',
148
+ model: model.model,
149
+ latency: 0,
150
+ };
151
+ }
152
+ /**
153
+ * Query OpenAI (GPT) model
154
+ */
155
+ async queryOpenAI(model, prompt) {
156
+ const response = await axios.post(`${model.endpoint}/v1/chat/completions`, {
157
+ model: model.model,
158
+ messages: [{ role: 'user', content: prompt }],
159
+ max_tokens: model.maxTokens || 1000,
160
+ temperature: model.temperature || 0.7,
161
+ }, {
162
+ headers: {
163
+ Authorization: `Bearer ${model.apiKey}`,
164
+ 'Content-Type': 'application/json',
165
+ },
166
+ timeout: this.config.requestTimeout,
167
+ });
168
+ return {
169
+ text: response.data.choices[0].message.content,
170
+ confidence: 0.85,
171
+ reasoning: '',
172
+ model: model.model,
173
+ latency: 0,
174
+ };
175
+ }
176
+ /**
177
+ * Query Google (Gemini) model
178
+ */
179
+ async queryGoogle(model, prompt) {
180
+ const response = await axios.post(`${model.endpoint}/v1/models/${model.model}:generateContent`, {
181
+ contents: [{ parts: [{ text: prompt }] }],
182
+ generationConfig: {
183
+ temperature: model.temperature || 0.7,
184
+ maxOutputTokens: model.maxTokens || 1000,
185
+ },
186
+ }, {
187
+ headers: {
188
+ 'x-goog-api-key': model.apiKey,
189
+ 'Content-Type': 'application/json',
190
+ },
191
+ timeout: this.config.requestTimeout,
192
+ });
193
+ return {
194
+ text: response.data.candidates[0].content.parts[0].text,
195
+ confidence: 0.85,
196
+ reasoning: '',
197
+ model: model.model,
198
+ latency: 0,
199
+ };
200
+ }
201
+ /**
202
+ * Select models for consensus
203
+ */
204
+ async selectModels(minModels, maxModels) {
205
+ // Get online models
206
+ const onlineModels = Array.from(this.modelInfo.values()).filter((info) => info.status === 'online');
207
+ if (onlineModels.length < minModels) {
208
+ throw new Error(`Not enough online models: ${onlineModels.length} < ${minModels}`);
209
+ }
210
+ // Sort by performance (lower error rate, lower latency)
211
+ const sortedModels = onlineModels.sort((a, b) => {
212
+ const aScore = a.errorCount / (a.requestCount + 1) + a.averageLatency / 1000;
213
+ const bScore = b.errorCount / (b.requestCount + 1) + b.averageLatency / 1000;
214
+ return aScore - bScore;
215
+ });
216
+ // Select top models
217
+ const selectedCount = Math.min(maxModels, sortedModels.length);
218
+ return sortedModels.slice(0, selectedCount);
219
+ }
220
+ /**
221
+ * Health check all models
222
+ */
223
+ async healthCheckAll() {
224
+ const checks = Array.from(this.models.keys()).map((modelId) => this.healthCheck(modelId));
225
+ await Promise.allSettled(checks);
226
+ }
227
+ /**
228
+ * Health check a specific model
229
+ */
230
+ async healthCheck(modelId) {
231
+ const model = this.models.get(modelId);
232
+ const info = this.modelInfo.get(modelId);
233
+ if (!model || !info)
234
+ return;
235
+ try {
236
+ // Simple ping query
237
+ await this.query(modelId, 'Hello');
238
+ info.status = 'online';
239
+ info.lastHealthCheck = Date.now();
240
+ }
241
+ catch (error) {
242
+ info.status = 'offline';
243
+ info.lastHealthCheck = Date.now();
244
+ }
245
+ }
246
+ /**
247
+ * Get model info
248
+ */
249
+ getModelInfo(modelId) {
250
+ return this.modelInfo.get(modelId);
251
+ }
252
+ /**
253
+ * Get all models info
254
+ */
255
+ getAllModelsInfo() {
256
+ return Array.from(this.modelInfo.values());
257
+ }
258
+ /**
259
+ * Stop the model pool
260
+ */
261
+ stop() {
262
+ if (this.healthCheckTimer) {
263
+ clearInterval(this.healthCheckTimer);
264
+ this.healthCheckTimer = undefined;
265
+ }
266
+ this.emit('stopped');
267
+ }
268
+ }
269
+ //# sourceMappingURL=ModelPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelPool.js","sourceRoot":"","sources":["../../../src/consensus/ModelPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAwC1B,MAAM,OAAO,SAAU,SAAQ,YAAY;IAMzC,YAAY,MAAuB;QACjC,KAAK,EAAE,CAAC;QALF,WAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAA2B,IAAI,GAAG,EAAE,CAAC;QAKpD,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,MAAM;YACT,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;YACxD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;SAC/C,CAAC;QAEF,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;oBACb,cAAc,EAAE,CAAC;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,uBAAuB;QACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,MAAc;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,QAAuB,CAAC;YAE5B,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,WAAW;oBACd,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,eAAe;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc;gBACjB,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;oBACzD,IAAI,CAAC,YAAY,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEvB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEjD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,eAAe,EAChC;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM;YACN,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;gBACrC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACrC;SACF,EACD;YACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,GAAG,EAAE,oCAAoC;YACrD,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,cAAc,EAC/B;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACnC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;SACtC,EACD;YACE,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,mBAAmB,EAAE,YAAY;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACnC,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,sBAAsB,EACvC;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;SACtC,EACD;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE;gBACvC,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC9C,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,KAAK,kBAAkB,EAC5D;YACE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACzC,gBAAgB,EAAE;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;gBACrC,eAAe,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACzC;SACF,EACD;YACE,OAAO,EAAE;gBACP,gBAAgB,EAAE,KAAK,CAAC,MAAM;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,SAAiB;QAC5D,oBAAoB;QACpB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CACnC,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,YAAY,CAAC,MAAM,MAAM,SAAS,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7E,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAC1B,CAAC;QACF,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,OAAe;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO;QAE5B,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Consensus Module - Shadow Consensus v3.0
3
+ *
4
+ * Exports all consensus components for Phase 3.
5
+ */
6
+ export { ConsensusEngine, ConsensusRequest, ModelResponse, DebateRound, ConsensusResult, ConsensusEngineConfig, ConsensusMetrics, } from './ConsensusEngine';
7
+ export { ModelPool, ModelConfig, ModelInfo, QueryResponse, ModelPoolConfig, } from './ModelPool';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consensus/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Consensus Module - Shadow Consensus v3.0
3
+ *
4
+ * Exports all consensus components for Phase 3.
5
+ */
6
+ export { ConsensusEngine, } from './ConsensusEngine';
7
+ export { ModelPool, } from './ModelPool';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/consensus/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,GAOhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,SAAS,GAKV,MAAM,aAAa,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { EventEmitter } from 'events';
2
+ import { AgentInfo, AgentStatus, AgentCapability, AgentMetrics } from '../types';
3
+ /**
4
+ * Dynamic registry for tracking connected agents and their capabilities
5
+ * Maintains agent state, metrics, and capability discovery
6
+ */
7
+ export declare class AgentRegistry extends EventEmitter {
8
+ private agents;
9
+ private capabilityIndex;
10
+ private metricsInterval;
11
+ constructor();
12
+ /**
13
+ * Register a new agent
14
+ */
15
+ registerAgent(agentId: string, connectionId: string, capabilities: AgentCapability[], metadata?: Record<string, any>): AgentInfo;
16
+ /**
17
+ * Unregister an agent (on disconnect)
18
+ */
19
+ unregisterAgent(agentId: string): boolean;
20
+ /**
21
+ * Get agent information
22
+ */
23
+ getAgent(agentId: string): AgentInfo | undefined;
24
+ /**
25
+ * Get all registered agents
26
+ */
27
+ getAllAgents(): AgentInfo[];
28
+ /**
29
+ * Get online agents only
30
+ */
31
+ getOnlineAgents(): AgentInfo[];
32
+ /**
33
+ * Find agents by capability
34
+ */
35
+ findAgentsByCapability(capabilityName: string): AgentInfo[];
36
+ /**
37
+ * Find agents by multiple capabilities (AND logic)
38
+ */
39
+ findAgentsByCapabilities(capabilityNames: string[]): AgentInfo[];
40
+ /**
41
+ * Find best agent for a task based on capabilities and load
42
+ */
43
+ findBestAgent(requiredCapabilities: string[]): AgentInfo | null;
44
+ /**
45
+ * Update agent status
46
+ */
47
+ updateAgentStatus(agentId: string, status: AgentStatus): boolean;
48
+ /**
49
+ * Update agent metrics
50
+ */
51
+ updateAgentMetrics(agentId: string, metrics: Partial<AgentMetrics>): boolean;
52
+ /**
53
+ * Record task start for an agent
54
+ */
55
+ recordTaskStart(agentId: string): boolean;
56
+ /**
57
+ * Record task completion for an agent
58
+ */
59
+ recordTaskCompletion(agentId: string, responseTime: number, success: boolean): boolean;
60
+ /**
61
+ * Get all available capabilities across all agents
62
+ */
63
+ getAllCapabilities(): string[];
64
+ /**
65
+ * Get registry statistics
66
+ */
67
+ getStats(): {
68
+ totalAgents: number;
69
+ onlineAgents: number;
70
+ offlineAgents: number;
71
+ totalCapabilities: number;
72
+ totalTasksInProgress: number;
73
+ totalTasksCompleted: number;
74
+ totalTasksFailed: number;
75
+ };
76
+ /**
77
+ * Start periodic metrics collection
78
+ */
79
+ private startMetricsCollection;
80
+ /**
81
+ * Stop metrics collection
82
+ */
83
+ stop(): void;
84
+ /**
85
+ * Clear all agents (for testing/reset)
86
+ */
87
+ clear(): void;
88
+ }
89
+ //# sourceMappingURL=AgentRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/AgentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,eAAe,CAA+B;;IAOtD;;OAEG;IACI,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,eAAe,EAAE,EAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,SAAS;IA0CZ;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA2BhD;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvD;;OAEG;IACI,YAAY,IAAI,SAAS,EAAE;IAIlC;;OAEG;IACI,eAAe,IAAI,SAAS,EAAE;IAMrC;;OAEG;IACI,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE;IAalE;;OAEG;IACI,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAoBvE;;OAEG;IACI,aAAa,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAkBtE;;OAEG;IACI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IAiBvE;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO;IAkBnF;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAYhD;;OAEG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAsB7F;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IAIrC;;OAEG;IACI,QAAQ;;;;;;;;;IAef;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACI,IAAI,IAAI,IAAI;IAOnB;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,260 @@
1
+ import { EventEmitter } from 'events';
2
+ import { AgentStatus } from '../types';
3
+ /**
4
+ * Dynamic registry for tracking connected agents and their capabilities
5
+ * Maintains agent state, metrics, and capability discovery
6
+ */
7
+ export class AgentRegistry extends EventEmitter {
8
+ constructor() {
9
+ super();
10
+ this.agents = new Map();
11
+ this.capabilityIndex = new Map();
12
+ this.metricsInterval = null;
13
+ this.startMetricsCollection();
14
+ }
15
+ /**
16
+ * Register a new agent
17
+ */
18
+ registerAgent(agentId, connectionId, capabilities, metadata) {
19
+ const now = Date.now();
20
+ // Check if agent is reconnecting
21
+ const existingAgent = this.agents.get(agentId);
22
+ const isReconnection = existingAgent !== undefined;
23
+ const agentInfo = {
24
+ agentId,
25
+ connectionId,
26
+ capabilities,
27
+ status: AgentStatus.ONLINE,
28
+ registeredAt: isReconnection ? existingAgent.registeredAt : now,
29
+ lastSeen: now,
30
+ metadata: metadata || {},
31
+ metrics: isReconnection ? existingAgent.metrics : {
32
+ tasksCompleted: 0,
33
+ tasksInProgress: 0,
34
+ tasksFailed: 0,
35
+ averageResponseTime: 0,
36
+ totalResponseTime: 0,
37
+ uptime: 0,
38
+ },
39
+ };
40
+ this.agents.set(agentId, agentInfo);
41
+ // Index capabilities for fast lookup
42
+ capabilities.forEach(capability => {
43
+ if (!this.capabilityIndex.has(capability.name)) {
44
+ this.capabilityIndex.set(capability.name, new Set());
45
+ }
46
+ this.capabilityIndex.get(capability.name).add(agentId);
47
+ });
48
+ console.log(`Agent ${isReconnection ? 'reconnected' : 'registered'}: ${agentId} with ${capabilities.length} capabilities`);
49
+ this.emit(isReconnection ? 'agentReconnected' : 'agentRegistered', agentInfo);
50
+ return agentInfo;
51
+ }
52
+ /**
53
+ * Unregister an agent (on disconnect)
54
+ */
55
+ unregisterAgent(agentId) {
56
+ const agent = this.agents.get(agentId);
57
+ if (!agent) {
58
+ return false;
59
+ }
60
+ // Update status to offline instead of removing
61
+ agent.status = AgentStatus.OFFLINE;
62
+ agent.lastSeen = Date.now();
63
+ // Remove from capability index
64
+ agent.capabilities.forEach(capability => {
65
+ const agentSet = this.capabilityIndex.get(capability.name);
66
+ if (agentSet) {
67
+ agentSet.delete(agentId);
68
+ if (agentSet.size === 0) {
69
+ this.capabilityIndex.delete(capability.name);
70
+ }
71
+ }
72
+ });
73
+ console.log(`Agent unregistered: ${agentId}`);
74
+ this.emit('agentUnregistered', agent);
75
+ return true;
76
+ }
77
+ /**
78
+ * Get agent information
79
+ */
80
+ getAgent(agentId) {
81
+ return this.agents.get(agentId);
82
+ }
83
+ /**
84
+ * Get all registered agents
85
+ */
86
+ getAllAgents() {
87
+ return Array.from(this.agents.values());
88
+ }
89
+ /**
90
+ * Get online agents only
91
+ */
92
+ getOnlineAgents() {
93
+ return Array.from(this.agents.values()).filter(agent => agent.status === AgentStatus.ONLINE);
94
+ }
95
+ /**
96
+ * Find agents by capability
97
+ */
98
+ findAgentsByCapability(capabilityName) {
99
+ const agentIds = this.capabilityIndex.get(capabilityName);
100
+ if (!agentIds) {
101
+ return [];
102
+ }
103
+ return Array.from(agentIds)
104
+ .map(id => this.agents.get(id))
105
+ .filter((agent) => agent !== undefined && agent.status === AgentStatus.ONLINE);
106
+ }
107
+ /**
108
+ * Find agents by multiple capabilities (AND logic)
109
+ */
110
+ findAgentsByCapabilities(capabilityNames) {
111
+ if (capabilityNames.length === 0) {
112
+ return [];
113
+ }
114
+ // Get agents with first capability
115
+ const firstCapability = capabilityNames[0];
116
+ let candidateAgents = this.findAgentsByCapability(firstCapability);
117
+ // Filter by remaining capabilities
118
+ for (let i = 1; i < capabilityNames.length; i++) {
119
+ const capability = capabilityNames[i];
120
+ candidateAgents = candidateAgents.filter(agent => agent.capabilities.some(cap => cap.name === capability));
121
+ }
122
+ return candidateAgents;
123
+ }
124
+ /**
125
+ * Find best agent for a task based on capabilities and load
126
+ */
127
+ findBestAgent(requiredCapabilities) {
128
+ const candidates = this.findAgentsByCapabilities(requiredCapabilities);
129
+ if (candidates.length === 0) {
130
+ return null;
131
+ }
132
+ // Sort by load (tasks in progress) and average response time
133
+ candidates.sort((a, b) => {
134
+ const loadDiff = a.metrics.tasksInProgress - b.metrics.tasksInProgress;
135
+ if (loadDiff !== 0)
136
+ return loadDiff;
137
+ return a.metrics.averageResponseTime - b.metrics.averageResponseTime;
138
+ });
139
+ return candidates[0];
140
+ }
141
+ /**
142
+ * Update agent status
143
+ */
144
+ updateAgentStatus(agentId, status) {
145
+ const agent = this.agents.get(agentId);
146
+ if (!agent) {
147
+ return false;
148
+ }
149
+ const oldStatus = agent.status;
150
+ agent.status = status;
151
+ agent.lastSeen = Date.now();
152
+ if (oldStatus !== status) {
153
+ this.emit('agentStatusChanged', { agentId, oldStatus, newStatus: status });
154
+ }
155
+ return true;
156
+ }
157
+ /**
158
+ * Update agent metrics
159
+ */
160
+ updateAgentMetrics(agentId, metrics) {
161
+ const agent = this.agents.get(agentId);
162
+ if (!agent) {
163
+ return false;
164
+ }
165
+ agent.metrics = { ...agent.metrics, ...metrics };
166
+ agent.lastSeen = Date.now();
167
+ // Recalculate average response time if needed
168
+ if (metrics.totalResponseTime !== undefined && agent.metrics.tasksCompleted > 0) {
169
+ agent.metrics.averageResponseTime =
170
+ agent.metrics.totalResponseTime / agent.metrics.tasksCompleted;
171
+ }
172
+ return true;
173
+ }
174
+ /**
175
+ * Record task start for an agent
176
+ */
177
+ recordTaskStart(agentId) {
178
+ const agent = this.agents.get(agentId);
179
+ if (!agent) {
180
+ return false;
181
+ }
182
+ agent.metrics.tasksInProgress++;
183
+ agent.lastSeen = Date.now();
184
+ return true;
185
+ }
186
+ /**
187
+ * Record task completion for an agent
188
+ */
189
+ recordTaskCompletion(agentId, responseTime, success) {
190
+ const agent = this.agents.get(agentId);
191
+ if (!agent) {
192
+ return false;
193
+ }
194
+ agent.metrics.tasksInProgress = Math.max(0, agent.metrics.tasksInProgress - 1);
195
+ if (success) {
196
+ agent.metrics.tasksCompleted++;
197
+ agent.metrics.totalResponseTime += responseTime;
198
+ agent.metrics.averageResponseTime =
199
+ agent.metrics.totalResponseTime / agent.metrics.tasksCompleted;
200
+ }
201
+ else {
202
+ agent.metrics.tasksFailed++;
203
+ }
204
+ agent.lastSeen = Date.now();
205
+ return true;
206
+ }
207
+ /**
208
+ * Get all available capabilities across all agents
209
+ */
210
+ getAllCapabilities() {
211
+ return Array.from(this.capabilityIndex.keys());
212
+ }
213
+ /**
214
+ * Get registry statistics
215
+ */
216
+ getStats() {
217
+ const agents = Array.from(this.agents.values());
218
+ const onlineAgents = agents.filter(a => a.status === AgentStatus.ONLINE);
219
+ return {
220
+ totalAgents: agents.length,
221
+ onlineAgents: onlineAgents.length,
222
+ offlineAgents: agents.length - onlineAgents.length,
223
+ totalCapabilities: this.capabilityIndex.size,
224
+ totalTasksInProgress: agents.reduce((sum, a) => sum + a.metrics.tasksInProgress, 0),
225
+ totalTasksCompleted: agents.reduce((sum, a) => sum + a.metrics.tasksCompleted, 0),
226
+ totalTasksFailed: agents.reduce((sum, a) => sum + a.metrics.tasksFailed, 0),
227
+ };
228
+ }
229
+ /**
230
+ * Start periodic metrics collection
231
+ */
232
+ startMetricsCollection() {
233
+ this.metricsInterval = setInterval(() => {
234
+ const now = Date.now();
235
+ this.agents.forEach(agent => {
236
+ if (agent.status === AgentStatus.ONLINE) {
237
+ agent.metrics.uptime = now - agent.registeredAt;
238
+ }
239
+ });
240
+ this.emit('metricsUpdated', this.getStats());
241
+ }, 10000); // Update every 10 seconds
242
+ }
243
+ /**
244
+ * Stop metrics collection
245
+ */
246
+ stop() {
247
+ if (this.metricsInterval) {
248
+ clearInterval(this.metricsInterval);
249
+ this.metricsInterval = null;
250
+ }
251
+ }
252
+ /**
253
+ * Clear all agents (for testing/reset)
254
+ */
255
+ clear() {
256
+ this.agents.clear();
257
+ this.capabilityIndex.clear();
258
+ }
259
+ }
260
+ //# sourceMappingURL=AgentRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRegistry.js","sourceRoot":"","sources":["../../../src/core/AgentRegistry.ts"],"names":[],"mappings":"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"}