kynjal-cli 4.0.0 → 4.0.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 (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -3,105 +3,35 @@
3
3
  * Discovers plugin registries via IPNS and fetches from IPFS
4
4
  * Parallel implementation to pattern store for plugins
5
5
  */
6
- var __assign = (this && this.__assign) || function () {
7
- __assign = Object.assign || function(t) {
8
- for (var s, i = 1, n = arguments.length; i < n; i++) {
9
- s = arguments[i];
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
- t[p] = s[p];
12
- }
13
- return t;
14
- };
15
- return __assign.apply(this, arguments);
16
- };
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
- if (ar || !(i in from)) {
56
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
- ar[i] = from[i];
58
- }
59
- }
60
- return to.concat(ar || Array.prototype.slice.call(from));
61
- };
62
6
  import * as crypto from 'crypto';
63
7
  import { resolveIPNS, fetchFromIPFS } from '../../transfer/ipfs/client.js';
64
8
  /**
65
9
  * Fetch real npm download stats for a package
66
10
  */
67
- function fetchNpmStats(packageName) {
68
- return __awaiter(this, void 0, Promise, function () {
69
- var downloadsUrl, downloadsRes, downloadsData, packageUrl, packageRes, version, packageData, _a;
70
- return __generator(this, function (_b) {
71
- switch (_b.label) {
72
- case 0:
73
- _b.trys.push([0, 6, , 7]);
74
- downloadsUrl = "https://api.npmjs.org/downloads/point/last-week/" + encodeURIComponent(packageName);
75
- return [4 /*yield*/, fetch(downloadsUrl, { signal: AbortSignal.timeout(3000) })];
76
- case 1:
77
- downloadsRes = _b.sent();
78
- if (!downloadsRes.ok)
79
- return [2 /*return*/, null];
80
- return [4 /*yield*/, downloadsRes.json()];
81
- case 2:
82
- downloadsData = _b.sent();
83
- packageUrl = "https://registry.npmjs.org/" + encodeURIComponent(packageName) + "/latest";
84
- return [4 /*yield*/, fetch(packageUrl, { signal: AbortSignal.timeout(3000) })];
85
- case 3:
86
- packageRes = _b.sent();
87
- version = 'unknown';
88
- if (!packageRes.ok) return [3 /*break*/, 5];
89
- return [4 /*yield*/, packageRes.json()];
90
- case 4:
91
- packageData = _b.sent();
92
- version = packageData.version || 'unknown';
93
- _b.label = 5;
94
- case 5: return [2 /*return*/, {
95
- downloads: downloadsData.downloads || 0,
96
- version: version
97
- }];
98
- case 6:
99
- _a = _b.sent();
100
- return [2 /*return*/, null];
101
- case 7: return [2 /*return*/];
102
- }
103
- });
104
- });
11
+ async function fetchNpmStats(packageName) {
12
+ try {
13
+ // Fetch last week downloads
14
+ const downloadsUrl = `https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(packageName)}`;
15
+ const downloadsRes = await fetch(downloadsUrl, { signal: AbortSignal.timeout(3000) });
16
+ if (!downloadsRes.ok)
17
+ return null;
18
+ const downloadsData = await downloadsRes.json();
19
+ // Fetch package info for version
20
+ const packageUrl = `https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`;
21
+ const packageRes = await fetch(packageUrl, { signal: AbortSignal.timeout(3000) });
22
+ let version = 'unknown';
23
+ if (packageRes.ok) {
24
+ const packageData = await packageRes.json();
25
+ version = packageData.version || 'unknown';
26
+ }
27
+ return {
28
+ downloads: downloadsData.downloads || 0,
29
+ version,
30
+ };
31
+ }
32
+ catch {
33
+ return null;
34
+ }
105
35
  }
106
36
  /**
107
37
  * Default plugin store configuration
@@ -110,14 +40,14 @@ function fetchNpmStats(packageName) {
110
40
  * Live IPFS Registry CID - Updated 2026-01-24
111
41
  * This is the current pinned registry on Pinata
112
42
  */
113
- export var LIVE_REGISTRY_CID = 'QmXbfEAaR7D2Ujm4GAkbwcGZQMHqAMpwDoje4583uNP834';
43
+ export const LIVE_REGISTRY_CID = 'QmXbfEAaR7D2Ujm4GAkbwcGZQMHqAMpwDoje4583uNP834';
114
44
  /**
115
45
  * Pre-trained Model Registry CID - Updated 2026-01-24
116
46
  * Contains 8 pre-trained learning pattern models with 40 patterns
117
47
  * Trained on 110,600+ examples with 90.5% average accuracy
118
48
  */
119
- export var MODEL_REGISTRY_CID = 'QmNr1yYMKi7YBaL8JSztQyuB5ZUaTdRMLxJC1pBpGbjsTc';
120
- export var DEFAULT_PLUGIN_STORE_CONFIG = {
49
+ export const MODEL_REGISTRY_CID = 'QmNr1yYMKi7YBaL8JSztQyuB5ZUaTdRMLxJC1pBpGbjsTc';
50
+ export const DEFAULT_PLUGIN_STORE_CONFIG = {
121
51
  registries: [
122
52
  {
123
53
  name: 'claude-flow-official',
@@ -127,207 +57,188 @@ export var DEFAULT_PLUGIN_STORE_CONFIG = {
127
57
  gateway: 'https://gateway.pinata.cloud',
128
58
  publicKey: 'ed25519:21490c8ef5e6d9fea573382e52fbad7d0fa40c3eb124e6746706da7a420ae2d2',
129
59
  trusted: true,
130
- official: true
60
+ official: true,
131
61
  },
132
62
  {
133
63
  name: 'community-plugins',
134
64
  description: 'Community-contributed plugins',
135
- ipnsName: LIVE_REGISTRY_CID,
65
+ ipnsName: LIVE_REGISTRY_CID, // Same registry for now
136
66
  gateway: 'https://ipfs.io',
137
67
  publicKey: 'ed25519:21490c8ef5e6d9fea573382e52fbad7d0fa40c3eb124e6746706da7a420ae2d2',
138
68
  trusted: true,
139
- official: false
69
+ official: false,
140
70
  },
141
71
  ],
142
72
  defaultRegistry: 'claude-flow-official',
143
73
  gateway: 'https://gateway.pinata.cloud',
144
74
  timeout: 30000,
145
75
  cacheDir: '.claude-flow/plugins/cache',
146
- cacheExpiry: 3600000,
76
+ cacheExpiry: 3600000, // 1 hour
147
77
  requireVerification: true,
148
78
  requireSecurityAudit: false,
149
79
  minTrustLevel: 'community',
150
80
  trustedAuthors: [],
151
81
  blockedPlugins: [],
152
82
  allowedPermissions: ['network', 'filesystem', 'memory', 'hooks'],
153
- requirePermissionPrompt: true
83
+ requirePermissionPrompt: true,
154
84
  };
155
85
  /**
156
86
  * Plugin Discovery Service
157
87
  */
158
- var PluginDiscoveryService = /** @class */ (function () {
159
- function PluginDiscoveryService(config) {
160
- if (config === void 0) { config = {}; }
161
- this.cache = new Map();
162
- this.config = __assign(__assign({}, DEFAULT_PLUGIN_STORE_CONFIG), config);
88
+ export class PluginDiscoveryService {
89
+ config;
90
+ cache = new Map();
91
+ constructor(config = {}) {
92
+ this.config = { ...DEFAULT_PLUGIN_STORE_CONFIG, ...config };
163
93
  }
164
94
  /**
165
95
  * Discover plugin registry via IPNS
166
96
  */
167
- PluginDiscoveryService.prototype.discoverRegistry = function (registryName) {
168
- return __awaiter(this, void 0, Promise, function () {
169
- var targetRegistry, registry, cached, isDirectCid, cid, registryData, verified, error_1;
170
- return __generator(this, function (_a) {
171
- switch (_a.label) {
172
- case 0:
173
- targetRegistry = registryName || this.config.defaultRegistry;
174
- registry = this.config.registries.find(function (r) { return r.name === targetRegistry; });
175
- if (!registry) {
176
- return [2 /*return*/, {
177
- success: false,
178
- error: "Unknown registry: " + targetRegistry
179
- }];
180
- }
181
- console.log("[PluginDiscovery] Resolving " + registry.name + " via IPNS...");
182
- cached = this.cache.get(registry.ipnsName);
183
- if (cached && Date.now() - cached.timestamp < this.config.cacheExpiry) {
184
- console.log("[PluginDiscovery] Cache hit for " + registry.name);
185
- return [2 /*return*/, {
186
- success: true,
187
- registry: cached.registry,
188
- fromCache: true,
189
- source: registry.name
190
- }];
191
- }
192
- _a.label = 1;
193
- case 1:
194
- _a.trys.push([1, 6, , 7]);
195
- isDirectCid = registry.ipnsName.startsWith('baf') || registry.ipnsName.startsWith('Qm');
196
- cid = void 0;
197
- if (!isDirectCid) return [3 /*break*/, 2];
198
- // Use the CID directly - no IPNS resolution needed
199
- cid = registry.ipnsName;
200
- console.log("[PluginDiscovery] Using direct CID: " + cid);
201
- return [3 /*break*/, 4];
202
- case 2: return [4 /*yield*/, resolveIPNS(registry.ipnsName, registry.gateway)];
203
- case 3:
204
- // Resolve IPNS to get current CID
205
- cid = _a.sent();
206
- if (!cid) {
207
- // Fallback to demo registry
208
- return [2 /*return*/, this.createDemoRegistryAsync(registry)];
209
- }
210
- console.log("[PluginDiscovery] Resolved IPNS to CID: " + cid);
211
- _a.label = 4;
212
- case 4: return [4 /*yield*/, fetchFromIPFS(cid, registry.gateway)];
213
- case 5:
214
- registryData = _a.sent();
215
- if (!registryData) {
216
- return [2 /*return*/, this.createDemoRegistryAsync(registry)];
217
- }
218
- // Verify registry signature if required
219
- if (this.config.requireVerification && registryData.registrySignature) {
220
- verified = this.verifyRegistrySignature(registryData, registry.publicKey);
221
- if (!verified) {
222
- console.warn("[PluginDiscovery] Registry signature verification failed");
223
- }
224
- }
225
- // Cache the result
226
- this.cache.set(registry.ipnsName, {
227
- registry: registryData,
228
- timestamp: Date.now()
229
- });
230
- return [2 /*return*/, {
231
- success: true,
232
- registry: registryData,
233
- cid: cid,
234
- source: registry.name,
235
- fromCache: false
236
- }];
237
- case 6:
238
- error_1 = _a.sent();
239
- console.error("[PluginDiscovery] Failed to discover registry:", error_1);
240
- // Return demo registry on error
241
- return [2 /*return*/, this.createDemoRegistryAsync(registry)];
242
- case 7: return [2 /*return*/];
97
+ async discoverRegistry(registryName) {
98
+ const targetRegistry = registryName || this.config.defaultRegistry;
99
+ const registry = this.config.registries.find(r => r.name === targetRegistry);
100
+ if (!registry) {
101
+ return {
102
+ success: false,
103
+ error: `Unknown registry: ${targetRegistry}`,
104
+ };
105
+ }
106
+ console.log(`[PluginDiscovery] Resolving ${registry.name} via IPNS...`);
107
+ // Check cache first
108
+ const cached = this.cache.get(registry.ipnsName);
109
+ if (cached && Date.now() - cached.timestamp < this.config.cacheExpiry) {
110
+ console.log(`[PluginDiscovery] Cache hit for ${registry.name}`);
111
+ return {
112
+ success: true,
113
+ registry: cached.registry,
114
+ fromCache: true,
115
+ source: registry.name,
116
+ };
117
+ }
118
+ try {
119
+ // Check if ipnsName is actually a direct CID (CIDv1 starts with 'baf', CIDv0 starts with 'Qm')
120
+ const isDirectCid = registry.ipnsName.startsWith('baf') || registry.ipnsName.startsWith('Qm');
121
+ let cid;
122
+ if (isDirectCid) {
123
+ // Use the CID directly - no IPNS resolution needed
124
+ cid = registry.ipnsName;
125
+ console.log(`[PluginDiscovery] Using direct CID: ${cid}`);
126
+ }
127
+ else {
128
+ // Resolve IPNS to get current CID
129
+ cid = await resolveIPNS(registry.ipnsName, registry.gateway);
130
+ if (!cid) {
131
+ // Fallback to demo registry
132
+ return this.createDemoRegistryAsync(registry);
243
133
  }
134
+ console.log(`[PluginDiscovery] Resolved IPNS to CID: ${cid}`);
135
+ }
136
+ // Fetch registry from IPFS
137
+ const registryData = await fetchFromIPFS(cid, registry.gateway);
138
+ if (!registryData) {
139
+ return this.createDemoRegistryAsync(registry);
140
+ }
141
+ // Verify registry signature if required
142
+ if (this.config.requireVerification && registryData.registrySignature) {
143
+ const verified = this.verifyRegistrySignature(registryData, registry.publicKey);
144
+ if (!verified) {
145
+ console.warn(`[PluginDiscovery] Registry signature verification failed`);
146
+ }
147
+ }
148
+ // Cache the result
149
+ this.cache.set(registry.ipnsName, {
150
+ registry: registryData,
151
+ timestamp: Date.now(),
244
152
  });
245
- });
246
- };
153
+ return {
154
+ success: true,
155
+ registry: registryData,
156
+ cid,
157
+ source: registry.name,
158
+ fromCache: false,
159
+ };
160
+ }
161
+ catch (error) {
162
+ console.error(`[PluginDiscovery] Failed to discover registry:`, error);
163
+ // Return demo registry on error
164
+ return this.createDemoRegistryAsync(registry);
165
+ }
166
+ }
247
167
  /**
248
168
  * Create demo plugin registry with real npm stats
249
169
  */
250
- PluginDiscoveryService.prototype.createDemoRegistryAsync = function (registry) {
251
- return __awaiter(this, void 0, Promise, function () {
252
- var plugins, demoRegistry;
253
- return __generator(this, function (_a) {
254
- switch (_a.label) {
255
- case 0:
256
- console.log("[PluginDiscovery] Using demo registry for " + registry.name);
257
- return [4 /*yield*/, this.getDemoPluginsWithStats()];
258
- case 1:
259
- plugins = _a.sent();
260
- demoRegistry = {
261
- version: '1.0.0',
262
- type: 'plugins',
263
- updatedAt: new Date().toISOString(),
264
- ipnsName: registry.ipnsName,
265
- plugins: plugins,
266
- categories: [
267
- { id: 'ai-ml', name: 'AI/ML', description: 'AI and machine learning plugins', pluginCount: 1 },
268
- { id: 'security', name: 'Security', description: 'Security and compliance plugins', pluginCount: 1 },
269
- { id: 'devops', name: 'DevOps', description: 'CI/CD and deployment plugins', pluginCount: 1 },
270
- { id: 'integrations', name: 'Integrations', description: 'Third-party integrations', pluginCount: 2 },
271
- { id: 'agents', name: 'Agents', description: 'Custom agent types', pluginCount: 1 },
272
- ],
273
- authors: [
274
- {
275
- id: 'claude-flow-team',
276
- displayName: 'Claude Flow Team',
277
- verified: true,
278
- plugins: plugins.length,
279
- totalDownloads: plugins.reduce(function (sum, p) { return sum + p.downloads; }, 0),
280
- reputation: 100
281
- },
282
- ],
283
- totalPlugins: plugins.length,
284
- totalDownloads: plugins.reduce(function (sum, p) { return sum + p.downloads; }, 0),
285
- totalAuthors: 1,
286
- featured: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant', '@claude-flow/security', '@claude-flow/claims', '@claude-flow/teammate-plugin'],
287
- trending: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant'],
288
- newest: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant'],
289
- official: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant', '@claude-flow/security', '@claude-flow/claims'],
290
- compatibilityMatrix: [
291
- { pluginId: '@claude-flow/neural', pluginVersion: '3.0.0', claudeFlowVersions: ['3.x'], tested: true },
292
- { pluginId: '@claude-flow/security', pluginVersion: '3.0.0', claudeFlowVersions: ['3.x'], tested: true },
293
- ]
294
- };
295
- // Cache the demo registry
296
- this.cache.set(registry.ipnsName, {
297
- registry: demoRegistry,
298
- timestamp: Date.now()
299
- });
300
- return [2 /*return*/, {
301
- success: true,
302
- registry: demoRegistry,
303
- cid: "bafybeiplugin" + crypto.randomBytes(16).toString('hex'),
304
- source: registry.name + " (demo)",
305
- fromCache: false
306
- }];
307
- }
308
- });
170
+ async createDemoRegistryAsync(registry) {
171
+ console.log(`[PluginDiscovery] Using demo registry for ${registry.name}`);
172
+ // Get plugins with real npm stats
173
+ const plugins = await this.getDemoPluginsWithStats();
174
+ const demoRegistry = {
175
+ version: '1.0.0',
176
+ type: 'plugins',
177
+ updatedAt: new Date().toISOString(),
178
+ ipnsName: registry.ipnsName,
179
+ plugins,
180
+ categories: [
181
+ { id: 'ai-ml', name: 'AI/ML', description: 'AI and machine learning plugins', pluginCount: 1 },
182
+ { id: 'security', name: 'Security', description: 'Security and compliance plugins', pluginCount: 1 },
183
+ { id: 'devops', name: 'DevOps', description: 'CI/CD and deployment plugins', pluginCount: 1 },
184
+ { id: 'integrations', name: 'Integrations', description: 'Third-party integrations', pluginCount: 2 },
185
+ { id: 'agents', name: 'Agents', description: 'Custom agent types', pluginCount: 1 },
186
+ ],
187
+ authors: [
188
+ {
189
+ id: 'claude-flow-team',
190
+ displayName: 'Claude Flow Team',
191
+ verified: true,
192
+ plugins: plugins.length,
193
+ totalDownloads: plugins.reduce((sum, p) => sum + p.downloads, 0),
194
+ reputation: 100,
195
+ },
196
+ ],
197
+ totalPlugins: plugins.length,
198
+ totalDownloads: plugins.reduce((sum, p) => sum + p.downloads, 0),
199
+ totalAuthors: 1,
200
+ featured: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant', '@claude-flow/security', '@claude-flow/claims', '@claude-flow/teammate-plugin'],
201
+ trending: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant'],
202
+ newest: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant'],
203
+ official: ['@claude-flow/plugin-agentic-qe', '@claude-flow/plugin-prime-radiant', '@claude-flow/security', '@claude-flow/claims'],
204
+ compatibilityMatrix: [
205
+ { pluginId: '@claude-flow/neural', pluginVersion: '3.0.0', claudeFlowVersions: ['3.x'], tested: true },
206
+ { pluginId: '@claude-flow/security', pluginVersion: '3.0.0', claudeFlowVersions: ['3.x'], tested: true },
207
+ ],
208
+ };
209
+ // Cache the demo registry
210
+ this.cache.set(registry.ipnsName, {
211
+ registry: demoRegistry,
212
+ timestamp: Date.now(),
309
213
  });
310
- };
214
+ return {
215
+ success: true,
216
+ registry: demoRegistry,
217
+ cid: `bafybeiplugin${crypto.randomBytes(16).toString('hex')}`,
218
+ source: `${registry.name} (demo)`,
219
+ fromCache: false,
220
+ };
221
+ }
311
222
  /**
312
223
  * Get demo plugins
313
224
  */
314
- PluginDiscoveryService.prototype.getDemoPlugins = function () {
315
- var baseTime = new Date().toISOString();
316
- var officialAuthor = {
225
+ getDemoPlugins() {
226
+ const baseTime = new Date().toISOString();
227
+ const officialAuthor = {
317
228
  id: 'claude-flow-team',
318
229
  displayName: 'Claude Flow Team',
319
230
  verified: true,
320
231
  plugins: 5,
321
232
  totalDownloads: 50000,
322
- reputation: 100
233
+ reputation: 100,
323
234
  };
324
- var communityAuthor = {
235
+ const communityAuthor = {
325
236
  id: 'community-contributor',
326
237
  displayName: 'Community Contributors',
327
238
  verified: false,
328
239
  plugins: 7,
329
240
  totalDownloads: 15000,
330
- reputation: 85
241
+ reputation: 85,
331
242
  };
332
243
  return [
333
244
  {
@@ -357,7 +268,7 @@ var PluginDiscoveryService = /** @class */ (function () {
357
268
  permissions: ['memory', 'network'],
358
269
  exports: ['NeuralTrainer', 'PatternRecognizer', 'FlashAttention'],
359
270
  verified: true,
360
- trustLevel: 'official'
271
+ trustLevel: 'official',
361
272
  },
362
273
  {
363
274
  id: '@claude-flow/security',
@@ -392,8 +303,8 @@ var PluginDiscoveryService = /** @class */ (function () {
392
303
  auditDate: '2024-12-01T00:00:00Z',
393
304
  auditVersion: '3.0.0',
394
305
  passed: true,
395
- issues: []
396
- }
306
+ issues: [],
307
+ },
397
308
  },
398
309
  {
399
310
  id: '@claude-flow/embeddings',
@@ -425,7 +336,7 @@ var PluginDiscoveryService = /** @class */ (function () {
425
336
  permissions: ['memory', 'filesystem'],
426
337
  exports: ['EmbeddingsService', 'VectorStore', 'DocumentChunker'],
427
338
  verified: true,
428
- trustLevel: 'official'
339
+ trustLevel: 'official',
429
340
  },
430
341
  {
431
342
  id: '@claude-flow/claims',
@@ -454,7 +365,7 @@ var PluginDiscoveryService = /** @class */ (function () {
454
365
  permissions: ['config'],
455
366
  exports: ['ClaimsManager', 'PermissionChecker'],
456
367
  verified: true,
457
- trustLevel: 'official'
368
+ trustLevel: 'official',
458
369
  },
459
370
  {
460
371
  id: '@claude-flow/performance',
@@ -483,7 +394,7 @@ var PluginDiscoveryService = /** @class */ (function () {
483
394
  permissions: ['memory'],
484
395
  exports: ['PerformanceProfiler', 'Benchmarker'],
485
396
  verified: true,
486
- trustLevel: 'official'
397
+ trustLevel: 'official',
487
398
  },
488
399
  {
489
400
  id: 'community-analytics',
@@ -512,7 +423,7 @@ var PluginDiscoveryService = /** @class */ (function () {
512
423
  permissions: ['memory', 'network'],
513
424
  exports: ['AnalyticsTracker', 'Dashboard'],
514
425
  verified: false,
515
- trustLevel: 'community'
426
+ trustLevel: 'community',
516
427
  },
517
428
  {
518
429
  id: 'custom-agents',
@@ -541,7 +452,7 @@ var PluginDiscoveryService = /** @class */ (function () {
541
452
  permissions: ['agents', 'memory'],
542
453
  exports: ['DataScienceAgent', 'DevOpsAgent', 'ContentAgent'],
543
454
  verified: false,
544
- trustLevel: 'community'
455
+ trustLevel: 'community',
545
456
  },
546
457
  {
547
458
  id: 'slack-integration',
@@ -573,7 +484,7 @@ var PluginDiscoveryService = /** @class */ (function () {
573
484
  permissions: ['network', 'credentials'],
574
485
  exports: ['SlackNotifier', 'SlackBot'],
575
486
  verified: false,
576
- trustLevel: 'community'
487
+ trustLevel: 'community',
577
488
  },
578
489
  // Plugin SDK - Unified Plugin SDK for creating plugins
579
490
  {
@@ -618,7 +529,7 @@ var PluginDiscoveryService = /** @class */ (function () {
618
529
  'ProviderPlugin',
619
530
  ],
620
531
  verified: true,
621
- trustLevel: 'official'
532
+ trustLevel: 'official',
622
533
  },
623
534
  // Agentic QE - AI-powered quality engineering
624
535
  {
@@ -677,8 +588,8 @@ var PluginDiscoveryService = /** @class */ (function () {
677
588
  auditDate: '2026-01-20T00:00:00Z',
678
589
  auditVersion: '3.0.0-alpha.3',
679
590
  passed: true,
680
- issues: []
681
- }
591
+ issues: [],
592
+ },
682
593
  },
683
594
  // Prime Radiant - Mathematical coherence and consensus verification
684
595
  {
@@ -735,8 +646,8 @@ var PluginDiscoveryService = /** @class */ (function () {
735
646
  auditDate: '2026-01-20T00:00:00Z',
736
647
  auditVersion: '0.1.5',
737
648
  passed: true,
738
- issues: []
739
- }
649
+ issues: [],
650
+ },
740
651
  },
741
652
  // Domain-specific plugins
742
653
  {
@@ -766,7 +677,7 @@ var PluginDiscoveryService = /** @class */ (function () {
766
677
  permissions: ['memory', 'network'],
767
678
  exports: ['ClinicalAnalyzer', 'HIPAAValidator', 'MedicalNLP'],
768
679
  verified: true,
769
- trustLevel: 'official'
680
+ trustLevel: 'official',
770
681
  },
771
682
  {
772
683
  id: '@claude-flow/plugin-financial-risk',
@@ -795,7 +706,7 @@ var PluginDiscoveryService = /** @class */ (function () {
795
706
  permissions: ['memory', 'network'],
796
707
  exports: ['RiskModeler', 'FraudDetector', 'ComplianceChecker'],
797
708
  verified: true,
798
- trustLevel: 'official'
709
+ trustLevel: 'official',
799
710
  },
800
711
  {
801
712
  id: '@claude-flow/plugin-legal-contracts',
@@ -824,7 +735,7 @@ var PluginDiscoveryService = /** @class */ (function () {
824
735
  permissions: ['memory', 'filesystem'],
825
736
  exports: ['ContractAnalyzer', 'ClauseExtractor', 'LegalRiskAssessor'],
826
737
  verified: true,
827
- trustLevel: 'official'
738
+ trustLevel: 'official',
828
739
  },
829
740
  // Development intelligence plugins
830
741
  {
@@ -854,7 +765,7 @@ var PluginDiscoveryService = /** @class */ (function () {
854
765
  permissions: ['filesystem', 'memory'],
855
766
  exports: ['CodeAnalyzer', 'PatternDetector', 'RefactoringEngine'],
856
767
  verified: true,
857
- trustLevel: 'official'
768
+ trustLevel: 'official',
858
769
  },
859
770
  {
860
771
  id: '@claude-flow/plugin-test-intelligence',
@@ -883,7 +794,7 @@ var PluginDiscoveryService = /** @class */ (function () {
883
794
  permissions: ['filesystem', 'memory'],
884
795
  exports: ['TestGenerator', 'CoverageAnalyzer', 'MutationTester'],
885
796
  verified: true,
886
- trustLevel: 'official'
797
+ trustLevel: 'official',
887
798
  },
888
799
  {
889
800
  id: '@claude-flow/plugin-perf-optimizer',
@@ -912,7 +823,7 @@ var PluginDiscoveryService = /** @class */ (function () {
912
823
  permissions: ['memory', 'filesystem'],
913
824
  exports: ['PerformanceAnalyzer', 'BottleneckDetector', 'AutoTuner'],
914
825
  verified: true,
915
- trustLevel: 'official'
826
+ trustLevel: 'official',
916
827
  },
917
828
  // Advanced AI/reasoning plugins
918
829
  {
@@ -942,7 +853,7 @@ var PluginDiscoveryService = /** @class */ (function () {
942
853
  permissions: ['memory', 'network'],
943
854
  exports: ['NeuralCoordinator', 'EmergentModeler', 'CollectiveIntelligence'],
944
855
  verified: true,
945
- trustLevel: 'official'
856
+ trustLevel: 'official',
946
857
  },
947
858
  {
948
859
  id: '@claude-flow/plugin-cognitive-kernel',
@@ -971,7 +882,7 @@ var PluginDiscoveryService = /** @class */ (function () {
971
882
  permissions: ['memory'],
972
883
  exports: ['CognitiveProcessor', 'AttentionMechanism', 'MetaCognitiveMonitor'],
973
884
  verified: true,
974
- trustLevel: 'official'
885
+ trustLevel: 'official',
975
886
  },
976
887
  {
977
888
  id: '@claude-flow/plugin-quantum-optimizer',
@@ -1000,7 +911,7 @@ var PluginDiscoveryService = /** @class */ (function () {
1000
911
  permissions: ['memory'],
1001
912
  exports: ['QuantumOptimizer', 'QAOASimulator', 'VariationalCircuit'],
1002
913
  verified: true,
1003
- trustLevel: 'official'
914
+ trustLevel: 'official',
1004
915
  },
1005
916
  {
1006
917
  id: '@claude-flow/plugin-hyperbolic-reasoning',
@@ -1029,7 +940,7 @@ var PluginDiscoveryService = /** @class */ (function () {
1029
940
  permissions: ['memory'],
1030
941
  exports: ['HyperbolicEmbedder', 'PoincareSpace', 'GeodesicAttention'],
1031
942
  verified: true,
1032
- trustLevel: 'official'
943
+ trustLevel: 'official',
1033
944
  },
1034
945
  // Gas Town Bridge - Multi-agent orchestrator integration
1035
946
  {
@@ -1065,8 +976,8 @@ var PluginDiscoveryService = /** @class */ (function () {
1065
976
  auditDate: '2026-01-24T00:00:00Z',
1066
977
  auditVersion: '0.1.0',
1067
978
  passed: true,
1068
- issues: []
1069
- }
979
+ issues: [],
980
+ },
1070
981
  },
1071
982
  // Teammate Plugin - Claude Code v2.1.19+ integration
1072
983
  {
@@ -1105,126 +1016,128 @@ var PluginDiscoveryService = /** @class */ (function () {
1105
1016
  auditDate: '2026-01-25T00:00:00Z',
1106
1017
  auditVersion: '1.0.0-alpha.1',
1107
1018
  passed: true,
1108
- issues: []
1109
- }
1019
+ issues: [],
1020
+ },
1110
1021
  },
1111
1022
  ];
1112
- };
1023
+ }
1113
1024
  /**
1114
1025
  * Get demo plugins with real npm stats
1115
1026
  */
1116
- PluginDiscoveryService.prototype.getDemoPluginsWithStats = function () {
1117
- return __awaiter(this, void 0, Promise, function () {
1118
- var basePlugins, realNpmPackages, statsPromises, statsResults, statsMap;
1119
- return __generator(this, function (_a) {
1120
- switch (_a.label) {
1121
- case 0:
1122
- basePlugins = this.getDemoPlugins();
1123
- realNpmPackages = [
1124
- '@claude-flow/plugin-agentic-qe',
1125
- '@claude-flow/plugin-prime-radiant',
1126
- '@claude-flow/claims',
1127
- '@claude-flow/security',
1128
- '@claude-flow/plugins',
1129
- '@claude-flow/embeddings',
1130
- '@claude-flow/neural',
1131
- '@claude-flow/performance',
1132
- '@claude-flow/teammate-plugin',
1133
- // Domain-specific plugins
1134
- '@claude-flow/plugin-healthcare-clinical',
1135
- '@claude-flow/plugin-financial-risk',
1136
- '@claude-flow/plugin-legal-contracts',
1137
- // Development intelligence plugins
1138
- '@claude-flow/plugin-code-intelligence',
1139
- '@claude-flow/plugin-test-intelligence',
1140
- '@claude-flow/plugin-perf-optimizer',
1141
- // Advanced AI/reasoning plugins
1142
- '@claude-flow/plugin-neural-coordination',
1143
- '@claude-flow/plugin-cognitive-kernel',
1144
- '@claude-flow/plugin-quantum-optimizer',
1145
- '@claude-flow/plugin-hyperbolic-reasoning',
1146
- // Gas Town Bridge
1147
- '@claude-flow/plugin-gastown-bridge',
1148
- ];
1149
- statsPromises = realNpmPackages.map(function (pkg) { return fetchNpmStats(pkg); });
1150
- return [4 /*yield*/, Promise.all(statsPromises)];
1151
- case 1:
1152
- statsResults = _a.sent();
1153
- statsMap = new Map();
1154
- realNpmPackages.forEach(function (pkg, i) {
1155
- if (statsResults[i]) {
1156
- statsMap.set(pkg, statsResults[i]);
1157
- }
1158
- });
1159
- // Update plugins with real stats, remove fake plugins that don't exist
1160
- return [2 /*return*/, basePlugins
1161
- .filter(function (plugin) {
1162
- // Keep only real plugins that exist on npm or our two new ones
1163
- var isRealPlugin = realNpmPackages.includes(plugin.name);
1164
- return isRealPlugin;
1165
- })
1166
- .map(function (plugin) {
1167
- var stats = statsMap.get(plugin.name);
1168
- if (stats) {
1169
- return __assign(__assign({}, plugin), { downloads: stats.downloads, version: stats.version, ratingCount: 0, rating: 0 });
1170
- }
1171
- return __assign(__assign({}, plugin), { downloads: 0, ratingCount: 0, rating: 0 });
1172
- })];
1173
- }
1174
- });
1027
+ async getDemoPluginsWithStats() {
1028
+ const basePlugins = this.getDemoPlugins();
1029
+ // Only fetch stats for real npm packages
1030
+ const realNpmPackages = [
1031
+ '@claude-flow/plugin-agentic-qe',
1032
+ '@claude-flow/plugin-prime-radiant',
1033
+ '@claude-flow/claims',
1034
+ '@claude-flow/security',
1035
+ '@claude-flow/plugins',
1036
+ '@claude-flow/embeddings',
1037
+ '@claude-flow/neural',
1038
+ '@claude-flow/performance',
1039
+ '@claude-flow/teammate-plugin',
1040
+ // Domain-specific plugins
1041
+ '@claude-flow/plugin-healthcare-clinical',
1042
+ '@claude-flow/plugin-financial-risk',
1043
+ '@claude-flow/plugin-legal-contracts',
1044
+ // Development intelligence plugins
1045
+ '@claude-flow/plugin-code-intelligence',
1046
+ '@claude-flow/plugin-test-intelligence',
1047
+ '@claude-flow/plugin-perf-optimizer',
1048
+ // Advanced AI/reasoning plugins
1049
+ '@claude-flow/plugin-neural-coordination',
1050
+ '@claude-flow/plugin-cognitive-kernel',
1051
+ '@claude-flow/plugin-quantum-optimizer',
1052
+ '@claude-flow/plugin-hyperbolic-reasoning',
1053
+ // Gas Town Bridge
1054
+ '@claude-flow/plugin-gastown-bridge',
1055
+ ];
1056
+ // Fetch stats in parallel
1057
+ const statsPromises = realNpmPackages.map(pkg => fetchNpmStats(pkg));
1058
+ const statsResults = await Promise.all(statsPromises);
1059
+ // Create a map of package -> stats
1060
+ const statsMap = new Map();
1061
+ realNpmPackages.forEach((pkg, i) => {
1062
+ if (statsResults[i]) {
1063
+ statsMap.set(pkg, statsResults[i]);
1064
+ }
1065
+ });
1066
+ // Update plugins with real stats, remove fake plugins that don't exist
1067
+ return basePlugins
1068
+ .filter(plugin => {
1069
+ // Keep only real plugins that exist on npm or our two new ones
1070
+ const isRealPlugin = realNpmPackages.includes(plugin.name);
1071
+ return isRealPlugin;
1072
+ })
1073
+ .map(plugin => {
1074
+ const stats = statsMap.get(plugin.name);
1075
+ if (stats) {
1076
+ return {
1077
+ ...plugin,
1078
+ downloads: stats.downloads,
1079
+ version: stats.version,
1080
+ ratingCount: 0, // No rating system yet
1081
+ rating: 0,
1082
+ };
1083
+ }
1084
+ return {
1085
+ ...plugin,
1086
+ downloads: 0,
1087
+ ratingCount: 0,
1088
+ rating: 0,
1089
+ };
1175
1090
  });
1176
- };
1091
+ }
1177
1092
  /**
1178
1093
  * Verify registry signature
1179
1094
  */
1180
- PluginDiscoveryService.prototype.verifyRegistrySignature = function (registry, expectedPublicKey) {
1095
+ verifyRegistrySignature(registry, expectedPublicKey) {
1181
1096
  if (!registry.registrySignature || !registry.registryPublicKey) {
1182
1097
  return false;
1183
1098
  }
1184
1099
  // In production: Verify Ed25519 signature
1185
1100
  return registry.registryPublicKey.startsWith(expectedPublicKey.split(':')[0]);
1186
- };
1101
+ }
1187
1102
  /**
1188
1103
  * List available registries
1189
1104
  */
1190
- PluginDiscoveryService.prototype.listRegistries = function () {
1191
- return __spreadArray([], this.config.registries, true);
1192
- };
1105
+ listRegistries() {
1106
+ return [...this.config.registries];
1107
+ }
1193
1108
  /**
1194
1109
  * Add a new registry
1195
1110
  */
1196
- PluginDiscoveryService.prototype.addRegistry = function (registry) {
1111
+ addRegistry(registry) {
1197
1112
  this.config.registries.push(registry);
1198
- };
1113
+ }
1199
1114
  /**
1200
1115
  * Remove a registry
1201
1116
  */
1202
- PluginDiscoveryService.prototype.removeRegistry = function (name) {
1203
- var index = this.config.registries.findIndex(function (r) { return r.name === name; });
1117
+ removeRegistry(name) {
1118
+ const index = this.config.registries.findIndex(r => r.name === name);
1204
1119
  if (index >= 0) {
1205
1120
  this.config.registries.splice(index, 1);
1206
1121
  return true;
1207
1122
  }
1208
1123
  return false;
1209
- };
1124
+ }
1210
1125
  /**
1211
1126
  * Clear cache
1212
1127
  */
1213
- PluginDiscoveryService.prototype.clearCache = function () {
1128
+ clearCache() {
1214
1129
  this.cache.clear();
1215
- };
1130
+ }
1216
1131
  /**
1217
1132
  * Get cache statistics
1218
1133
  */
1219
- PluginDiscoveryService.prototype.getCacheStats = function () {
1134
+ getCacheStats() {
1220
1135
  return {
1221
1136
  entries: this.cache.size,
1222
- registries: Array.from(this.cache.keys())
1137
+ registries: Array.from(this.cache.keys()),
1223
1138
  };
1224
- };
1225
- return PluginDiscoveryService;
1226
- }());
1227
- export { PluginDiscoveryService };
1139
+ }
1140
+ }
1228
1141
  /**
1229
1142
  * Create discovery service with default config
1230
1143
  */