kynjal-cli 3.1.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -2,6 +2,53 @@
2
2
  * Pattern Download Service
3
3
  * Secure download and verification of patterns from IPFS
4
4
  */
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ 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;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
5
52
  import * as fs from 'fs';
6
53
  import * as path from 'path';
7
54
  import * as crypto from 'crypto';
@@ -10,320 +57,395 @@ import { DEFAULT_STORE_CONFIG } from './registry.js';
10
57
  * Pattern Downloader
11
58
  * Handles secure download and verification of patterns
12
59
  */
13
- export class PatternDownloader {
14
- config;
15
- downloadCache;
16
- constructor(config = {}) {
17
- this.config = { ...DEFAULT_STORE_CONFIG, ...config };
60
+ var PatternDownloader = /** @class */ (function () {
61
+ function PatternDownloader(config) {
62
+ if (config === void 0) { config = {}; }
63
+ this.config = __assign(__assign({}, DEFAULT_STORE_CONFIG), config);
18
64
  this.downloadCache = new Map();
19
65
  }
20
66
  /**
21
67
  * Download a pattern from IPFS
22
68
  */
23
- async downloadPattern(pattern, options = {}, onProgress) {
24
- console.log(`[Download] Starting download: ${pattern.displayName}`);
25
- console.log(`[Download] CID: ${pattern.cid}`);
26
- console.log(`[Download] Size: ${pattern.size} bytes`);
27
- // Check cache
28
- const cached = this.downloadCache.get(pattern.cid);
29
- if (cached && fs.existsSync(cached.path)) {
30
- console.log(`[Download] Found in cache: ${cached.path}`);
31
- return {
32
- success: true,
33
- pattern,
34
- outputPath: cached.path,
35
- imported: false,
36
- verified: true,
37
- size: pattern.size,
38
- };
39
- }
40
- try {
41
- // Determine output path
42
- const outputPath = this.resolveOutputPath(pattern, options);
43
- console.log(`[Download] Output path: ${outputPath}`);
44
- // Ensure directory exists
45
- const outputDir = path.dirname(outputPath);
46
- if (!fs.existsSync(outputDir)) {
47
- fs.mkdirSync(outputDir, { recursive: true });
48
- }
49
- // Fetch from IPFS
50
- const content = await this.fetchFromIPFS(pattern.cid, onProgress);
51
- if (!content) {
52
- return {
53
- success: false,
54
- pattern,
55
- verified: false,
56
- size: 0,
57
- };
58
- }
59
- // Verify checksum
60
- let verified = false;
61
- if (options.verify !== false) {
62
- verified = this.verifyChecksum(content, pattern.checksum);
63
- if (!verified) {
64
- console.warn(`[Download] Warning: Checksum verification failed!`);
65
- if (this.config.requireVerification) {
66
- return {
67
- success: false,
68
- pattern,
69
- verified: false,
70
- size: content.length,
71
- };
72
- }
69
+ PatternDownloader.prototype.downloadPattern = function (pattern, options, onProgress) {
70
+ if (options === void 0) { options = {}; }
71
+ return __awaiter(this, void 0, Promise, function () {
72
+ var cached, outputPath, outputDir, content, verified, sigVerified, imported, error_1;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ console.log("[Download] Starting download: " + pattern.displayName);
77
+ console.log("[Download] CID: " + pattern.cid);
78
+ console.log("[Download] Size: " + pattern.size + " bytes");
79
+ cached = this.downloadCache.get(pattern.cid);
80
+ if (cached && fs.existsSync(cached.path)) {
81
+ console.log("[Download] Found in cache: " + cached.path);
82
+ return [2 /*return*/, {
83
+ success: true,
84
+ pattern: pattern,
85
+ outputPath: cached.path,
86
+ imported: false,
87
+ verified: true,
88
+ size: pattern.size
89
+ }];
90
+ }
91
+ _a.label = 1;
92
+ case 1:
93
+ _a.trys.push([1, 5, , 6]);
94
+ outputPath = this.resolveOutputPath(pattern, options);
95
+ console.log("[Download] Output path: " + outputPath);
96
+ outputDir = path.dirname(outputPath);
97
+ if (!fs.existsSync(outputDir)) {
98
+ fs.mkdirSync(outputDir, { recursive: true });
99
+ }
100
+ return [4 /*yield*/, this.fetchFromIPFS(pattern.cid, onProgress)];
101
+ case 2:
102
+ content = _a.sent();
103
+ if (!content) {
104
+ return [2 /*return*/, {
105
+ success: false,
106
+ pattern: pattern,
107
+ verified: false,
108
+ size: 0
109
+ }];
110
+ }
111
+ verified = false;
112
+ if (options.verify !== false) {
113
+ verified = this.verifyChecksum(content, pattern.checksum);
114
+ if (!verified) {
115
+ console.warn("[Download] Warning: Checksum verification failed!");
116
+ if (this.config.requireVerification) {
117
+ return [2 /*return*/, {
118
+ success: false,
119
+ pattern: pattern,
120
+ verified: false,
121
+ size: content.length
122
+ }];
123
+ }
124
+ }
125
+ else {
126
+ console.log("[Download] Checksum verified!");
127
+ }
128
+ }
129
+ // Verify signature if available
130
+ if (pattern.signature && pattern.publicKey) {
131
+ sigVerified = this.verifySignature(content, pattern.signature, pattern.publicKey);
132
+ if (!sigVerified) {
133
+ console.warn("[Download] Warning: Signature verification failed!");
134
+ }
135
+ else {
136
+ console.log("[Download] Signature verified!");
137
+ }
138
+ }
139
+ // Write to file
140
+ fs.writeFileSync(outputPath, content);
141
+ console.log("[Download] Written to: " + outputPath);
142
+ // Update cache
143
+ this.downloadCache.set(pattern.cid, {
144
+ path: outputPath,
145
+ downloadedAt: Date.now()
146
+ });
147
+ imported = false;
148
+ if (!options["import"]) return [3 /*break*/, 4];
149
+ return [4 /*yield*/, this.importPattern(outputPath, options.importStrategy)];
150
+ case 3:
151
+ imported = _a.sent();
152
+ _a.label = 4;
153
+ case 4: return [2 /*return*/, {
154
+ success: true,
155
+ pattern: pattern,
156
+ outputPath: outputPath,
157
+ imported: imported,
158
+ verified: verified,
159
+ size: content.length
160
+ }];
161
+ case 5:
162
+ error_1 = _a.sent();
163
+ console.error("[Download] Failed:", error_1);
164
+ return [2 /*return*/, {
165
+ success: false,
166
+ pattern: pattern,
167
+ verified: false,
168
+ size: 0
169
+ }];
170
+ case 6: return [2 /*return*/];
73
171
  }
74
- else {
75
- console.log(`[Download] Checksum verified!`);
76
- }
77
- }
78
- // Verify signature if available
79
- if (pattern.signature && pattern.publicKey) {
80
- const sigVerified = this.verifySignature(content, pattern.signature, pattern.publicKey);
81
- if (!sigVerified) {
82
- console.warn(`[Download] Warning: Signature verification failed!`);
83
- }
84
- else {
85
- console.log(`[Download] Signature verified!`);
86
- }
87
- }
88
- // Write to file
89
- fs.writeFileSync(outputPath, content);
90
- console.log(`[Download] Written to: ${outputPath}`);
91
- // Update cache
92
- this.downloadCache.set(pattern.cid, {
93
- path: outputPath,
94
- downloadedAt: Date.now(),
95
172
  });
96
- // Import if requested
97
- let imported = false;
98
- if (options.import) {
99
- imported = await this.importPattern(outputPath, options.importStrategy);
100
- }
101
- return {
102
- success: true,
103
- pattern,
104
- outputPath,
105
- imported,
106
- verified,
107
- size: content.length,
108
- };
109
- }
110
- catch (error) {
111
- console.error(`[Download] Failed:`, error);
112
- return {
113
- success: false,
114
- pattern,
115
- verified: false,
116
- size: 0,
117
- };
118
- }
119
- }
173
+ });
174
+ };
120
175
  /**
121
176
  * Fetch content from IPFS gateway or GCS
122
177
  */
123
- async fetchFromIPFS(cid, onProgress) {
124
- // Check if this is a GCS URI
125
- if (cid.startsWith('gs://')) {
126
- return this.fetchFromGCS(cid, onProgress);
127
- }
128
- const url = `${this.config.gateway}/ipfs/${cid}`;
129
- console.log(`[Download] Fetching: ${url}`);
130
- try {
131
- // Real HTTP fetch with progress
132
- const response = await fetch(url);
133
- if (!response.ok) {
134
- console.error(`[Download] HTTP ${response.status}: ${response.statusText}`);
135
- return null;
136
- }
137
- const contentLength = parseInt(response.headers.get('content-length') || '0', 10);
138
- // Stream the response for progress tracking
139
- if (response.body && onProgress && contentLength > 0) {
140
- const reader = response.body.getReader();
141
- const chunks = [];
142
- let downloaded = 0;
143
- while (true) {
144
- const { done, value } = await reader.read();
145
- if (done)
146
- break;
147
- chunks.push(value);
148
- downloaded += value.length;
149
- onProgress({
150
- bytesDownloaded: downloaded,
151
- totalBytes: contentLength,
152
- percentage: Math.round((downloaded / contentLength) * 100),
153
- });
154
- }
155
- const buffer = Buffer.concat(chunks.map(c => Buffer.from(c)));
156
- console.log(`[Download] Downloaded ${buffer.length} bytes from IPFS gateway`);
157
- return buffer;
158
- }
159
- // Fallback for responses without content-length or progress
160
- const arrayBuffer = await response.arrayBuffer();
161
- const buffer = Buffer.from(arrayBuffer);
162
- console.log(`[Download] Downloaded ${buffer.length} bytes from IPFS gateway`);
163
- return buffer;
164
- }
165
- catch (error) {
166
- console.error(`[Download] Fetch failed:`, error);
167
- // Try alternative gateways
168
- const alternativeGateways = [
169
- 'https://ipfs.io',
170
- 'https://cloudflare-ipfs.com',
171
- 'https://dweb.link',
172
- 'https://gateway.pinata.cloud',
173
- ];
174
- for (const gateway of alternativeGateways) {
175
- if (gateway === this.config.gateway)
176
- continue;
177
- try {
178
- console.log(`[Download] Trying alternative gateway: ${gateway}`);
179
- const altResponse = await fetch(`${gateway}/ipfs/${cid}`);
180
- if (altResponse.ok) {
181
- const arrayBuffer = await altResponse.arrayBuffer();
182
- const buffer = Buffer.from(arrayBuffer);
183
- console.log(`[Download] Downloaded ${buffer.length} bytes from ${gateway}`);
184
- return buffer;
185
- }
186
- }
187
- catch {
188
- // Continue to next gateway
178
+ PatternDownloader.prototype.fetchFromIPFS = function (cid, onProgress) {
179
+ return __awaiter(this, void 0, Promise, function () {
180
+ var url, response, contentLength, reader, chunks, downloaded, _a, done, value, buffer_1, arrayBuffer, buffer, error_2, alternativeGateways, _i, alternativeGateways_1, gateway, altResponse, arrayBuffer, buffer, _b;
181
+ return __generator(this, function (_c) {
182
+ switch (_c.label) {
183
+ case 0:
184
+ // Check if this is a GCS URI
185
+ if (cid.startsWith('gs://')) {
186
+ return [2 /*return*/, this.fetchFromGCS(cid, onProgress)];
187
+ }
188
+ url = this.config.gateway + "/ipfs/" + cid;
189
+ console.log("[Download] Fetching: " + url);
190
+ _c.label = 1;
191
+ case 1:
192
+ _c.trys.push([1, 8, , 17]);
193
+ return [4 /*yield*/, fetch(url)];
194
+ case 2:
195
+ response = _c.sent();
196
+ if (!response.ok) {
197
+ console.error("[Download] HTTP " + response.status + ": " + response.statusText);
198
+ return [2 /*return*/, null];
199
+ }
200
+ contentLength = parseInt(response.headers.get('content-length') || '0', 10);
201
+ if (!(response.body && onProgress && contentLength > 0)) return [3 /*break*/, 6];
202
+ reader = response.body.getReader();
203
+ chunks = [];
204
+ downloaded = 0;
205
+ _c.label = 3;
206
+ case 3:
207
+ if (!true) return [3 /*break*/, 5];
208
+ return [4 /*yield*/, reader.read()];
209
+ case 4:
210
+ _a = _c.sent(), done = _a.done, value = _a.value;
211
+ if (done)
212
+ return [3 /*break*/, 5];
213
+ chunks.push(value);
214
+ downloaded += value.length;
215
+ onProgress({
216
+ bytesDownloaded: downloaded,
217
+ totalBytes: contentLength,
218
+ percentage: Math.round((downloaded / contentLength) * 100)
219
+ });
220
+ return [3 /*break*/, 3];
221
+ case 5:
222
+ buffer_1 = Buffer.concat(chunks.map(function (c) { return Buffer.from(c); }));
223
+ console.log("[Download] Downloaded " + buffer_1.length + " bytes from IPFS gateway");
224
+ return [2 /*return*/, buffer_1];
225
+ case 6: return [4 /*yield*/, response.arrayBuffer()];
226
+ case 7:
227
+ arrayBuffer = _c.sent();
228
+ buffer = Buffer.from(arrayBuffer);
229
+ console.log("[Download] Downloaded " + buffer.length + " bytes from IPFS gateway");
230
+ return [2 /*return*/, buffer];
231
+ case 8:
232
+ error_2 = _c.sent();
233
+ console.error("[Download] Fetch failed:", error_2);
234
+ alternativeGateways = [
235
+ 'https://ipfs.io',
236
+ 'https://cloudflare-ipfs.com',
237
+ 'https://dweb.link',
238
+ 'https://gateway.pinata.cloud',
239
+ ];
240
+ _i = 0, alternativeGateways_1 = alternativeGateways;
241
+ _c.label = 9;
242
+ case 9:
243
+ if (!(_i < alternativeGateways_1.length)) return [3 /*break*/, 16];
244
+ gateway = alternativeGateways_1[_i];
245
+ if (gateway === this.config.gateway)
246
+ return [3 /*break*/, 15];
247
+ _c.label = 10;
248
+ case 10:
249
+ _c.trys.push([10, 14, , 15]);
250
+ console.log("[Download] Trying alternative gateway: " + gateway);
251
+ return [4 /*yield*/, fetch(gateway + "/ipfs/" + cid)];
252
+ case 11:
253
+ altResponse = _c.sent();
254
+ if (!altResponse.ok) return [3 /*break*/, 13];
255
+ return [4 /*yield*/, altResponse.arrayBuffer()];
256
+ case 12:
257
+ arrayBuffer = _c.sent();
258
+ buffer = Buffer.from(arrayBuffer);
259
+ console.log("[Download] Downloaded " + buffer.length + " bytes from " + gateway);
260
+ return [2 /*return*/, buffer];
261
+ case 13: return [3 /*break*/, 15];
262
+ case 14:
263
+ _b = _c.sent();
264
+ return [3 /*break*/, 15];
265
+ case 15:
266
+ _i++;
267
+ return [3 /*break*/, 9];
268
+ case 16: return [2 /*return*/, null];
269
+ case 17: return [2 /*return*/];
189
270
  }
190
- }
191
- return null;
192
- }
193
- }
271
+ });
272
+ });
273
+ };
194
274
  /**
195
275
  * Fetch content from Google Cloud Storage
196
276
  */
197
- async fetchFromGCS(uri, onProgress) {
198
- console.log(`[Download] Fetching from GCS: ${uri}`);
199
- try {
200
- const { downloadFromGCS, hasGCSCredentials } = await import('../storage/gcs.js');
201
- if (!hasGCSCredentials()) {
202
- console.error(`[Download] GCS not configured`);
203
- return null;
204
- }
205
- const buffer = await downloadFromGCS(uri);
206
- if (buffer && onProgress) {
207
- onProgress({
208
- bytesDownloaded: buffer.length,
209
- totalBytes: buffer.length,
210
- percentage: 100,
211
- });
212
- }
213
- return buffer;
214
- }
215
- catch (error) {
216
- console.error(`[Download] GCS fetch failed:`, error);
217
- return null;
218
- }
219
- }
277
+ PatternDownloader.prototype.fetchFromGCS = function (uri, onProgress) {
278
+ return __awaiter(this, void 0, Promise, function () {
279
+ var _a, downloadFromGCS, hasGCSCredentials, buffer, error_3;
280
+ return __generator(this, function (_b) {
281
+ switch (_b.label) {
282
+ case 0:
283
+ console.log("[Download] Fetching from GCS: " + uri);
284
+ _b.label = 1;
285
+ case 1:
286
+ _b.trys.push([1, 4, , 5]);
287
+ return [4 /*yield*/, import('../storage/gcs.js')];
288
+ case 2:
289
+ _a = _b.sent(), downloadFromGCS = _a.downloadFromGCS, hasGCSCredentials = _a.hasGCSCredentials;
290
+ if (!hasGCSCredentials()) {
291
+ console.error("[Download] GCS not configured");
292
+ return [2 /*return*/, null];
293
+ }
294
+ return [4 /*yield*/, downloadFromGCS(uri)];
295
+ case 3:
296
+ buffer = _b.sent();
297
+ if (buffer && onProgress) {
298
+ onProgress({
299
+ bytesDownloaded: buffer.length,
300
+ totalBytes: buffer.length,
301
+ percentage: 100
302
+ });
303
+ }
304
+ return [2 /*return*/, buffer];
305
+ case 4:
306
+ error_3 = _b.sent();
307
+ console.error("[Download] GCS fetch failed:", error_3);
308
+ return [2 /*return*/, null];
309
+ case 5: return [2 /*return*/];
310
+ }
311
+ });
312
+ });
313
+ };
220
314
  /**
221
315
  * Verify content checksum
222
316
  */
223
- verifyChecksum(content, expectedChecksum) {
224
- const actualChecksum = crypto
317
+ PatternDownloader.prototype.verifyChecksum = function (content, expectedChecksum) {
318
+ var actualChecksum = crypto
225
319
  .createHash('sha256')
226
320
  .update(content)
227
321
  .digest('hex');
228
322
  return actualChecksum === expectedChecksum;
229
- }
323
+ };
230
324
  /**
231
325
  * Verify content signature using crypto
232
326
  */
233
- verifySignature(content, signature, publicKey) {
327
+ PatternDownloader.prototype.verifySignature = function (content, signature, publicKey) {
234
328
  // Check signature format
235
329
  if (!signature.startsWith('ed25519:') || !publicKey.startsWith('ed25519:')) {
236
330
  return false;
237
331
  }
238
332
  try {
239
333
  // For HMAC-based signatures (used in publish.ts)
240
- const sigHex = signature.replace('ed25519:', '');
241
- const keyHex = publicKey.replace('ed25519:', '');
334
+ var sigHex = signature.replace('ed25519:', '');
335
+ var keyHex = publicKey.replace('ed25519:', '');
242
336
  // Verify HMAC signature
243
- const expectedSig = crypto
337
+ var expectedSig = crypto
244
338
  .createHmac('sha256', keyHex)
245
339
  .update(content)
246
340
  .digest('hex');
247
341
  // Constant-time comparison to prevent timing attacks
248
342
  return crypto.timingSafeEqual(Buffer.from(sigHex, 'hex'), Buffer.from(expectedSig, 'hex'));
249
343
  }
250
- catch {
344
+ catch (_a) {
251
345
  // If crypto verification fails, check basic format
252
346
  return signature.length > 20 && publicKey.length > 20;
253
347
  }
254
- }
348
+ };
255
349
  /**
256
350
  * Resolve output path for pattern
257
351
  */
258
- resolveOutputPath(pattern, options) {
352
+ PatternDownloader.prototype.resolveOutputPath = function (pattern, options) {
259
353
  if (options.output) {
260
354
  // If output is a directory, append filename
261
355
  if (fs.existsSync(options.output) && fs.statSync(options.output).isDirectory()) {
262
- return path.join(options.output, `${pattern.name}.cfp.json`);
356
+ return path.join(options.output, pattern.name + ".cfp.json");
263
357
  }
264
358
  return options.output;
265
359
  }
266
360
  // Default: cache directory
267
- const cacheDir = path.resolve(this.config.cacheDir);
268
- return path.join(cacheDir, `${pattern.name}-${pattern.version}.cfp.json`);
269
- }
361
+ var cacheDir = path.resolve(this.config.cacheDir);
362
+ return path.join(cacheDir, pattern.name + "-" + pattern.version + ".cfp.json");
363
+ };
270
364
  /**
271
365
  * Import downloaded pattern
272
366
  */
273
- async importPattern(filePath, strategy = 'merge') {
274
- console.log(`[Download] Importing pattern with strategy: ${strategy}`);
275
- try {
276
- const content = fs.readFileSync(filePath, 'utf-8');
277
- const cfp = JSON.parse(content);
278
- // In production: Import to local pattern store
279
- // For demo: Just validate
280
- if (cfp.magic !== 'CFP1') {
281
- console.error(`[Download] Invalid CFP format`);
282
- return false;
283
- }
284
- console.log(`[Download] Pattern imported: ${cfp.metadata.name}`);
285
- return true;
286
- }
287
- catch (error) {
288
- console.error(`[Download] Import failed:`, error);
289
- return false;
290
- }
291
- }
367
+ PatternDownloader.prototype.importPattern = function (filePath, strategy) {
368
+ if (strategy === void 0) { strategy = 'merge'; }
369
+ return __awaiter(this, void 0, Promise, function () {
370
+ var content, cfp;
371
+ return __generator(this, function (_a) {
372
+ console.log("[Download] Importing pattern with strategy: " + strategy);
373
+ try {
374
+ content = fs.readFileSync(filePath, 'utf-8');
375
+ cfp = JSON.parse(content);
376
+ // In production: Import to local pattern store
377
+ // For demo: Just validate
378
+ if (cfp.magic !== 'CFP1') {
379
+ console.error("[Download] Invalid CFP format");
380
+ return [2 /*return*/, false];
381
+ }
382
+ console.log("[Download] Pattern imported: " + cfp.metadata.name);
383
+ return [2 /*return*/, true];
384
+ }
385
+ catch (error) {
386
+ console.error("[Download] Import failed:", error);
387
+ return [2 /*return*/, false];
388
+ }
389
+ return [2 /*return*/];
390
+ });
391
+ });
392
+ };
292
393
  // NOTE: generateMockContent removed - using real HTTP fetch from IPFS gateways or GCS
293
394
  /**
294
395
  * Clear download cache
295
396
  */
296
- clearCache() {
397
+ PatternDownloader.prototype.clearCache = function () {
297
398
  this.downloadCache.clear();
298
- console.log(`[Download] Cache cleared`);
299
- }
399
+ console.log("[Download] Cache cleared");
400
+ };
300
401
  /**
301
402
  * Get cache statistics
302
403
  */
303
- getCacheStats() {
304
- let totalSize = 0;
305
- for (const { path: cachedPath } of this.downloadCache.values()) {
404
+ PatternDownloader.prototype.getCacheStats = function () {
405
+ var totalSize = 0;
406
+ for (var _i = 0, _a = this.downloadCache.values(); _i < _a.length; _i++) {
407
+ var cachedPath = _a[_i].path;
306
408
  if (fs.existsSync(cachedPath)) {
307
409
  totalSize += fs.statSync(cachedPath).size;
308
410
  }
309
411
  }
310
412
  return {
311
413
  count: this.downloadCache.size,
312
- totalSize,
414
+ totalSize: totalSize
313
415
  };
314
- }
315
- }
416
+ };
417
+ return PatternDownloader;
418
+ }());
419
+ export { PatternDownloader };
316
420
  /**
317
421
  * Batch download multiple patterns
318
422
  */
319
- export async function batchDownload(patterns, options = {}, config) {
320
- const downloader = new PatternDownloader(config);
321
- const results = [];
322
- for (const pattern of patterns) {
323
- const result = await downloader.downloadPattern(pattern, options);
324
- results.push(result);
325
- }
326
- return results;
423
+ export function batchDownload(patterns, options, config) {
424
+ if (options === void 0) { options = {}; }
425
+ return __awaiter(this, void 0, Promise, function () {
426
+ var downloader, results, _i, patterns_1, pattern, result;
427
+ return __generator(this, function (_a) {
428
+ switch (_a.label) {
429
+ case 0:
430
+ downloader = new PatternDownloader(config);
431
+ results = [];
432
+ _i = 0, patterns_1 = patterns;
433
+ _a.label = 1;
434
+ case 1:
435
+ if (!(_i < patterns_1.length)) return [3 /*break*/, 4];
436
+ pattern = patterns_1[_i];
437
+ return [4 /*yield*/, downloader.downloadPattern(pattern, options)];
438
+ case 2:
439
+ result = _a.sent();
440
+ results.push(result);
441
+ _a.label = 3;
442
+ case 3:
443
+ _i++;
444
+ return [3 /*break*/, 1];
445
+ case 4: return [2 /*return*/, results];
446
+ }
447
+ });
448
+ });
327
449
  }
328
450
  /**
329
451
  * Create downloader with default config