@rotifer/playground 0.8.0 → 0.8.5

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 (445) hide show
  1. package/CHANGELOG.md +38 -11
  2. package/README.md +64 -48
  3. package/README.zh.md +60 -37
  4. package/dist/cloud/auth.d.ts +9 -3
  5. package/dist/cloud/auth.d.ts.map +1 -1
  6. package/dist/cloud/auth.js +28 -13
  7. package/dist/cloud/auth.js.map +1 -1
  8. package/dist/cloud/client.d.ts +4 -3
  9. package/dist/cloud/client.d.ts.map +1 -1
  10. package/dist/cloud/client.js +152 -72
  11. package/dist/cloud/client.js.map +1 -1
  12. package/dist/cloud/types.d.ts +3 -0
  13. package/dist/cloud/types.d.ts.map +1 -1
  14. package/dist/cloud/types.js.map +1 -1
  15. package/dist/commands/agent-create.d.ts +20 -0
  16. package/dist/commands/agent-create.d.ts.map +1 -1
  17. package/dist/commands/agent-create.js +94 -80
  18. package/dist/commands/agent-create.js.map +1 -1
  19. package/dist/commands/agent-list.d.ts.map +1 -1
  20. package/dist/commands/agent-list.js +27 -24
  21. package/dist/commands/agent-list.js.map +1 -1
  22. package/dist/commands/agent-run.d.ts +24 -0
  23. package/dist/commands/agent-run.d.ts.map +1 -1
  24. package/dist/commands/agent-run.js +302 -26
  25. package/dist/commands/agent-run.js.map +1 -1
  26. package/dist/commands/api-key.d.ts +3 -0
  27. package/dist/commands/api-key.d.ts.map +1 -0
  28. package/dist/commands/api-key.js +235 -0
  29. package/dist/commands/api-key.js.map +1 -0
  30. package/dist/commands/arena-list.d.ts.map +1 -1
  31. package/dist/commands/arena-list.js +113 -97
  32. package/dist/commands/arena-list.js.map +1 -1
  33. package/dist/commands/arena-submit.d.ts.map +1 -1
  34. package/dist/commands/arena-submit.js +114 -31
  35. package/dist/commands/arena-submit.js.map +1 -1
  36. package/dist/commands/arena-watch.d.ts.map +1 -1
  37. package/dist/commands/arena-watch.js +59 -87
  38. package/dist/commands/arena-watch.js.map +1 -1
  39. package/dist/commands/compare.d.ts.map +1 -1
  40. package/dist/commands/compare.js +40 -50
  41. package/dist/commands/compare.js.map +1 -1
  42. package/dist/commands/compile.d.ts.map +1 -1
  43. package/dist/commands/compile.js +60 -37
  44. package/dist/commands/compile.js.map +1 -1
  45. package/dist/commands/hello.d.ts +3 -0
  46. package/dist/commands/hello.d.ts.map +1 -0
  47. package/dist/commands/hello.js +575 -0
  48. package/dist/commands/hello.js.map +1 -0
  49. package/dist/commands/info.d.ts.map +1 -1
  50. package/dist/commands/info.js +130 -40
  51. package/dist/commands/info.js.map +1 -1
  52. package/dist/commands/init.d.ts.map +1 -1
  53. package/dist/commands/init.js +39 -60
  54. package/dist/commands/init.js.map +1 -1
  55. package/dist/commands/install.d.ts.map +1 -1
  56. package/dist/commands/install.js +35 -9
  57. package/dist/commands/install.js.map +1 -1
  58. package/dist/commands/list.d.ts.map +1 -1
  59. package/dist/commands/list.js +111 -58
  60. package/dist/commands/list.js.map +1 -1
  61. package/dist/commands/login.d.ts.map +1 -1
  62. package/dist/commands/login.js +23 -10
  63. package/dist/commands/login.js.map +1 -1
  64. package/dist/commands/network.d.ts.map +1 -1
  65. package/dist/commands/network.js +48 -67
  66. package/dist/commands/network.js.map +1 -1
  67. package/dist/commands/publish.d.ts.map +1 -1
  68. package/dist/commands/publish.js +127 -53
  69. package/dist/commands/publish.js.map +1 -1
  70. package/dist/commands/reputation.js +84 -85
  71. package/dist/commands/reputation.js.map +1 -1
  72. package/dist/commands/run.d.ts.map +1 -1
  73. package/dist/commands/run.js +26 -9
  74. package/dist/commands/run.js.map +1 -1
  75. package/dist/commands/scan.d.ts.map +1 -1
  76. package/dist/commands/scan.js +8 -9
  77. package/dist/commands/scan.js.map +1 -1
  78. package/dist/commands/search.d.ts.map +1 -1
  79. package/dist/commands/search.js +80 -54
  80. package/dist/commands/search.js.map +1 -1
  81. package/dist/commands/self-update.d.ts +7 -0
  82. package/dist/commands/self-update.d.ts.map +1 -0
  83. package/dist/commands/self-update.js +187 -0
  84. package/dist/commands/self-update.js.map +1 -0
  85. package/dist/commands/stats.d.ts.map +1 -1
  86. package/dist/commands/stats.js +20 -26
  87. package/dist/commands/stats.js.map +1 -1
  88. package/dist/commands/test.d.ts.map +1 -1
  89. package/dist/commands/test.js +95 -75
  90. package/dist/commands/test.js.map +1 -1
  91. package/dist/commands/user-config.d.ts +3 -0
  92. package/dist/commands/user-config.d.ts.map +1 -0
  93. package/dist/commands/user-config.js +82 -0
  94. package/dist/commands/user-config.js.map +1 -0
  95. package/dist/commands/versions.d.ts.map +1 -1
  96. package/dist/commands/versions.js +46 -33
  97. package/dist/commands/versions.js.map +1 -1
  98. package/dist/commands/vg.d.ts.map +1 -1
  99. package/dist/commands/vg.js +65 -63
  100. package/dist/commands/vg.js.map +1 -1
  101. package/dist/commands/whoami.d.ts.map +1 -1
  102. package/dist/commands/whoami.js +33 -23
  103. package/dist/commands/whoami.js.map +1 -1
  104. package/dist/commands/wrap.d.ts.map +1 -1
  105. package/dist/commands/wrap.js +269 -29
  106. package/dist/commands/wrap.js.map +1 -1
  107. package/dist/index.js +61 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/publish/pre-publish-check.d.ts +15 -0
  110. package/dist/publish/pre-publish-check.d.ts.map +1 -0
  111. package/dist/publish/pre-publish-check.js +228 -0
  112. package/dist/publish/pre-publish-check.js.map +1 -0
  113. package/dist/runtime/domain-failover.d.ts +63 -0
  114. package/dist/runtime/domain-failover.d.ts.map +1 -0
  115. package/dist/runtime/domain-failover.js +164 -0
  116. package/dist/runtime/domain-failover.js.map +1 -0
  117. package/dist/runtime/network-gateway.d.ts +1 -1
  118. package/dist/runtime/network-gateway.d.ts.map +1 -1
  119. package/dist/runtime/network-gateway.js +10 -10
  120. package/dist/runtime/network-gateway.js.map +1 -1
  121. package/dist/scanner/scanner.js +3 -3
  122. package/dist/scanner/scanner.js.map +1 -1
  123. package/dist/utils/binding.d.ts.map +1 -1
  124. package/dist/utils/binding.js +5 -4
  125. package/dist/utils/binding.js.map +1 -1
  126. package/dist/utils/content-hash.d.ts +3 -0
  127. package/dist/utils/content-hash.d.ts.map +1 -0
  128. package/dist/utils/content-hash.js +25 -0
  129. package/dist/utils/content-hash.js.map +1 -0
  130. package/dist/utils/display.d.ts +44 -1
  131. package/dist/utils/display.d.ts.map +1 -1
  132. package/dist/utils/display.js +443 -14
  133. package/dist/utils/display.js.map +1 -1
  134. package/dist/utils/domain-suggest.d.ts.map +1 -1
  135. package/dist/utils/domain-suggest.js +3 -3
  136. package/dist/utils/domain-suggest.js.map +1 -1
  137. package/dist/utils/javy-compiler.js +9 -3
  138. package/dist/utils/javy-compiler.js.map +1 -1
  139. package/dist/utils/open-browser.d.ts +7 -3
  140. package/dist/utils/open-browser.d.ts.map +1 -1
  141. package/dist/utils/open-browser.js +15 -4
  142. package/dist/utils/open-browser.js.map +1 -1
  143. package/dist/utils/palette.d.ts +49 -0
  144. package/dist/utils/palette.d.ts.map +1 -0
  145. package/dist/utils/palette.js +80 -0
  146. package/dist/utils/palette.js.map +1 -0
  147. package/dist/utils/private-fs.d.ts +3 -0
  148. package/dist/utils/private-fs.d.ts.map +1 -0
  149. package/dist/utils/private-fs.js +25 -0
  150. package/dist/utils/private-fs.js.map +1 -0
  151. package/dist/utils/project-root.d.ts +2 -0
  152. package/dist/utils/project-root.d.ts.map +1 -0
  153. package/dist/utils/project-root.js +49 -0
  154. package/dist/utils/project-root.js.map +1 -0
  155. package/dist/utils/run-logger.d.ts +24 -0
  156. package/dist/utils/run-logger.d.ts.map +1 -0
  157. package/dist/utils/run-logger.js +70 -0
  158. package/dist/utils/run-logger.js.map +1 -0
  159. package/dist/utils/update-check.d.ts +20 -0
  160. package/dist/utils/update-check.d.ts.map +1 -0
  161. package/dist/utils/update-check.js +155 -0
  162. package/dist/utils/update-check.js.map +1 -0
  163. package/dist/utils/user-config.d.ts +10 -0
  164. package/dist/utils/user-config.d.ts.map +1 -0
  165. package/dist/utils/user-config.js +54 -0
  166. package/dist/utils/user-config.js.map +1 -0
  167. package/dist/utils/validate-gene-name.d.ts +7 -0
  168. package/dist/utils/validate-gene-name.d.ts.map +1 -0
  169. package/dist/utils/validate-gene-name.js +28 -0
  170. package/dist/utils/validate-gene-name.js.map +1 -0
  171. package/genes/genesis-code-format/phenotype.json +4 -3
  172. package/genes/genesis-file-read/phenotype.json +4 -3
  173. package/genes/genesis-l0-constraint/phenotype.json +4 -3
  174. package/genes/genesis-web-search/phenotype.json +5 -4
  175. package/genes/genesis-web-search-lite/phenotype.json +4 -3
  176. package/package.json +29 -8
  177. package/scripts/postinstall.js +38 -0
  178. package/dist/errors/formatter.d.ts +0 -25
  179. package/dist/errors/formatter.d.ts.map +0 -1
  180. package/dist/errors/formatter.js +0 -43
  181. package/dist/errors/formatter.js.map +0 -1
  182. package/genes/academic-writer/.cloud-manifest.json +0 -6
  183. package/genes/academic-writer/.gene-manifest.json +0 -8
  184. package/genes/academic-writer/SKILL.md +0 -274
  185. package/genes/academic-writer/phenotype.json +0 -28
  186. package/genes/ai-components/.cloud-manifest.json +0 -6
  187. package/genes/ai-components/.gene-manifest.json +0 -8
  188. package/genes/ai-components/SKILL.md +0 -381
  189. package/genes/ai-components/phenotype.json +0 -28
  190. package/genes/algorithmic-art/.cloud-manifest.json +0 -6
  191. package/genes/algorithmic-art/.gene-manifest.json +0 -8
  192. package/genes/algorithmic-art/SKILL.md +0 -405
  193. package/genes/algorithmic-art/phenotype.json +0 -28
  194. package/genes/answer-synthesizer/.cloud-manifest.json +0 -6
  195. package/genes/answer-synthesizer/index.ts +0 -194
  196. package/genes/answer-synthesizer/phenotype.json +0 -61
  197. package/genes/api-designer/.cloud-manifest.json +0 -6
  198. package/genes/api-designer/.gene-manifest.json +0 -8
  199. package/genes/api-designer/SKILL.md +0 -456
  200. package/genes/api-designer/phenotype.json +0 -28
  201. package/genes/auto-coder/.cloud-manifest.json +0 -6
  202. package/genes/auto-coder/.gene-manifest.json +0 -8
  203. package/genes/auto-coder/SKILL.md +0 -400
  204. package/genes/auto-coder/phenotype.json +0 -28
  205. package/genes/auto-writer/.cloud-manifest.json +0 -6
  206. package/genes/auto-writer/.gene-manifest.json +0 -8
  207. package/genes/auto-writer/SKILL.md +0 -361
  208. package/genes/auto-writer/phenotype.json +0 -28
  209. package/genes/brand-personality/.cloud-manifest.json +0 -6
  210. package/genes/brand-personality/.gene-manifest.json +0 -8
  211. package/genes/brand-personality/SKILL.md +0 -549
  212. package/genes/brand-personality/phenotype.json +0 -28
  213. package/genes/business-writer/.cloud-manifest.json +0 -6
  214. package/genes/business-writer/.gene-manifest.json +0 -8
  215. package/genes/business-writer/SKILL.md +0 -448
  216. package/genes/business-writer/phenotype.json +0 -28
  217. package/genes/citation-manager/.cloud-manifest.json +0 -6
  218. package/genes/citation-manager/.gene-manifest.json +0 -8
  219. package/genes/citation-manager/SKILL.md +0 -279
  220. package/genes/citation-manager/index.ts +0 -162
  221. package/genes/citation-manager/package.json +0 -1
  222. package/genes/citation-manager/phenotype.json +0 -50
  223. package/genes/code-complexity/.cloud-manifest.json +0 -6
  224. package/genes/code-complexity/README.md +0 -35
  225. package/genes/code-complexity/index.ts +0 -101
  226. package/genes/code-complexity/phenotype.json +0 -34
  227. package/genes/copywriter/.cloud-manifest.json +0 -6
  228. package/genes/copywriter/.gene-manifest.json +0 -8
  229. package/genes/copywriter/SKILL.md +0 -329
  230. package/genes/copywriter/phenotype.json +0 -28
  231. package/genes/creative-writer/.cloud-manifest.json +0 -6
  232. package/genes/creative-writer/.gene-manifest.json +0 -8
  233. package/genes/creative-writer/SKILL.md +0 -356
  234. package/genes/creative-writer/phenotype.json +0 -28
  235. package/genes/data-modeler/.cloud-manifest.json +0 -6
  236. package/genes/data-modeler/.gene-manifest.json +0 -8
  237. package/genes/data-modeler/SKILL.md +0 -486
  238. package/genes/data-modeler/phenotype.json +0 -28
  239. package/genes/debugger/.cloud-manifest.json +0 -6
  240. package/genes/debugger/.gene-manifest.json +0 -8
  241. package/genes/debugger/SKILL.md +0 -416
  242. package/genes/debugger/phenotype.json +0 -28
  243. package/genes/design-tokens/.cloud-manifest.json +0 -6
  244. package/genes/design-tokens/.gene-manifest.json +0 -8
  245. package/genes/design-tokens/SKILL.md +0 -222
  246. package/genes/design-tokens/index.ts +0 -128
  247. package/genes/design-tokens/package.json +0 -1
  248. package/genes/design-tokens/phenotype.json +0 -1
  249. package/genes/devops-automator/.cloud-manifest.json +0 -6
  250. package/genes/devops-automator/.gene-manifest.json +0 -8
  251. package/genes/devops-automator/SKILL.md +0 -490
  252. package/genes/devops-automator/phenotype.json +0 -28
  253. package/genes/doc-coauthoring/.cloud-manifest.json +0 -6
  254. package/genes/doc-coauthoring/.gene-manifest.json +0 -8
  255. package/genes/doc-coauthoring/SKILL.md +0 -375
  256. package/genes/doc-coauthoring/phenotype.json +0 -28
  257. package/genes/doc-retrieval/.cloud-manifest.json +0 -6
  258. package/genes/doc-retrieval/index.ts +0 -134
  259. package/genes/doc-retrieval/phenotype.json +0 -54
  260. package/genes/docs-writer/.cloud-manifest.json +0 -6
  261. package/genes/docs-writer/.gene-manifest.json +0 -8
  262. package/genes/docs-writer/SKILL.md +0 -492
  263. package/genes/docs-writer/phenotype.json +0 -28
  264. package/genes/evolve-life/.cloud-manifest.json +0 -6
  265. package/genes/evolve-life/.compile-result.json +0 -12
  266. package/genes/evolve-life/README.md +0 -52
  267. package/genes/evolve-life/gene.ir.wasm +0 -0
  268. package/genes/evolve-life/gene.wasm +0 -0
  269. package/genes/evolve-life/index.ts +0 -255
  270. package/genes/evolve-life/phenotype.json +0 -129
  271. package/genes/evolve-life-bitwise/.cloud-manifest.json +0 -6
  272. package/genes/evolve-life-bitwise/.compile-result.json +0 -12
  273. package/genes/evolve-life-bitwise/gene.ir.wasm +0 -0
  274. package/genes/evolve-life-bitwise/gene.wasm +0 -0
  275. package/genes/evolve-life-bitwise/index.ts +0 -273
  276. package/genes/evolve-life-bitwise/phenotype.json +0 -129
  277. package/genes/evolve-life-sparse/.cloud-manifest.json +0 -6
  278. package/genes/evolve-life-sparse/.compile-result.json +0 -12
  279. package/genes/evolve-life-sparse/gene.ir.wasm +0 -0
  280. package/genes/evolve-life-sparse/gene.wasm +0 -0
  281. package/genes/evolve-life-sparse/index.ts +0 -236
  282. package/genes/evolve-life-sparse/phenotype.json +0 -129
  283. package/genes/fact-checker/.cloud-manifest.json +0 -6
  284. package/genes/fact-checker/.gene-manifest.json +0 -8
  285. package/genes/fact-checker/SKILL.md +0 -373
  286. package/genes/fact-checker/phenotype.json +0 -28
  287. package/genes/git-workflow/.cloud-manifest.json +0 -6
  288. package/genes/git-workflow/.gene-manifest.json +0 -8
  289. package/genes/git-workflow/SKILL.md +0 -407
  290. package/genes/git-workflow/phenotype.json +0 -28
  291. package/genes/grammar-checker/.cloud-manifest.json +0 -6
  292. package/genes/grammar-checker/.gene-manifest.json +0 -8
  293. package/genes/grammar-checker/SKILL.md +0 -194
  294. package/genes/grammar-checker/index.ts +0 -168
  295. package/genes/grammar-checker/package.json +0 -1
  296. package/genes/grammar-checker/phenotype.json +0 -52
  297. package/genes/guard-balanced/.gene-manifest.json +0 -8
  298. package/genes/guard-balanced/phenotype.json +0 -105
  299. package/genes/guard-balanced/system-prompt.md +0 -23
  300. package/genes/guard-strict/.gene-manifest.json +0 -8
  301. package/genes/guard-strict/phenotype.json +0 -107
  302. package/genes/guard-strict/system-prompt.md +0 -18
  303. package/genes/json-validator/.cloud-manifest.json +0 -6
  304. package/genes/json-validator/README.md +0 -42
  305. package/genes/json-validator/index.ts +0 -112
  306. package/genes/json-validator/phenotype.json +0 -42
  307. package/genes/license-advisor/.cloud-manifest.json +0 -6
  308. package/genes/license-advisor/.gene-manifest.json +0 -8
  309. package/genes/license-advisor/SKILL.md +0 -117
  310. package/genes/license-advisor/phenotype.json +0 -28
  311. package/genes/logic-architect/.cloud-manifest.json +0 -6
  312. package/genes/logic-architect/.gene-manifest.json +0 -8
  313. package/genes/logic-architect/SKILL.md +0 -451
  314. package/genes/logic-architect/phenotype.json +0 -28
  315. package/genes/markdown-formatter/.cloud-manifest.json +0 -6
  316. package/genes/markdown-formatter/README.md +0 -34
  317. package/genes/markdown-formatter/index.ts +0 -86
  318. package/genes/markdown-formatter/phenotype.json +0 -32
  319. package/genes/orch/.cloud-manifest.json +0 -6
  320. package/genes/orch/.gene-manifest.json +0 -8
  321. package/genes/orch/SKILL.md +0 -504
  322. package/genes/orch/phenotype.json +0 -28
  323. package/genes/particle-barneshut/.cloud-manifest.json +0 -6
  324. package/genes/particle-barneshut/.compile-result.json +0 -12
  325. package/genes/particle-barneshut/README.md +0 -55
  326. package/genes/particle-barneshut/gene.ir.wasm +0 -0
  327. package/genes/particle-barneshut/gene.wasm +0 -0
  328. package/genes/particle-barneshut/index.ts +0 -486
  329. package/genes/particle-barneshut/phenotype.json +0 -137
  330. package/genes/particle-brute/.cloud-manifest.json +0 -6
  331. package/genes/particle-brute/.compile-result.json +0 -12
  332. package/genes/particle-brute/README.md +0 -55
  333. package/genes/particle-brute/gene.ir.wasm +0 -0
  334. package/genes/particle-brute/gene.wasm +0 -0
  335. package/genes/particle-brute/index.ts +0 -277
  336. package/genes/particle-brute/phenotype.json +0 -137
  337. package/genes/particle-spatial/.cloud-manifest.json +0 -6
  338. package/genes/particle-spatial/.compile-result.json +0 -12
  339. package/genes/particle-spatial/README.md +0 -53
  340. package/genes/particle-spatial/gene.ir.wasm +0 -0
  341. package/genes/particle-spatial/gene.wasm +0 -0
  342. package/genes/particle-spatial/index.ts +0 -352
  343. package/genes/particle-spatial/phenotype.json +0 -137
  344. package/genes/performance-optimizer/.cloud-manifest.json +0 -6
  345. package/genes/performance-optimizer/.gene-manifest.json +0 -8
  346. package/genes/performance-optimizer/SKILL.md +0 -480
  347. package/genes/performance-optimizer/phenotype.json +0 -28
  348. package/genes/plagiarism-checker/.cloud-manifest.json +0 -6
  349. package/genes/plagiarism-checker/.gene-manifest.json +0 -8
  350. package/genes/plagiarism-checker/SKILL.md +0 -342
  351. package/genes/plagiarism-checker/phenotype.json +0 -28
  352. package/genes/product-manager/.cloud-manifest.json +0 -6
  353. package/genes/product-manager/.gene-manifest.json +0 -8
  354. package/genes/product-manager/SKILL.md +0 -249
  355. package/genes/product-manager/phenotype.json +0 -28
  356. package/genes/project-reviewer/.cloud-manifest.json +0 -6
  357. package/genes/project-reviewer/.gene-manifest.json +0 -8
  358. package/genes/project-reviewer/SKILL.md +0 -312
  359. package/genes/project-reviewer/phenotype.json +0 -28
  360. package/genes/prompt-engineer/.cloud-manifest.json +0 -6
  361. package/genes/prompt-engineer/.gene-manifest.json +0 -8
  362. package/genes/prompt-engineer/SKILL.md +0 -411
  363. package/genes/prompt-engineer/phenotype.json +0 -28
  364. package/genes/prompt-review-perf/.gene-manifest.json +0 -8
  365. package/genes/prompt-review-perf/phenotype.json +0 -61
  366. package/genes/prompt-review-perf/system-prompt.md +0 -22
  367. package/genes/prompt-review-readability/.gene-manifest.json +0 -8
  368. package/genes/prompt-review-readability/phenotype.json +0 -60
  369. package/genes/prompt-review-readability/system-prompt.md +0 -21
  370. package/genes/prompt-review-security/.gene-manifest.json +0 -8
  371. package/genes/prompt-review-security/phenotype.json +0 -60
  372. package/genes/prompt-review-security/system-prompt.md +0 -21
  373. package/genes/readability-analyzer/.cloud-manifest.json +0 -6
  374. package/genes/readability-analyzer/.gene-manifest.json +0 -8
  375. package/genes/readability-analyzer/SKILL.md +0 -357
  376. package/genes/readability-analyzer/index.ts +0 -123
  377. package/genes/readability-analyzer/package.json +0 -1
  378. package/genes/readability-analyzer/phenotype.json +0 -35
  379. package/genes/rotifer-protocol/SKILL.md +0 -121
  380. package/genes/rule-router-frequency/.gene-manifest.json +0 -8
  381. package/genes/rule-router-frequency/phenotype.json +0 -76
  382. package/genes/rule-router-frequency/system-prompt.md +0 -26
  383. package/genes/rule-router-relevance/.gene-manifest.json +0 -8
  384. package/genes/rule-router-relevance/phenotype.json +0 -76
  385. package/genes/rule-router-relevance/system-prompt.md +0 -29
  386. package/genes/security-auditor/.cloud-manifest.json +0 -6
  387. package/genes/security-auditor/.gene-manifest.json +0 -8
  388. package/genes/security-auditor/SKILL.md +0 -494
  389. package/genes/security-auditor/phenotype.json +0 -28
  390. package/genes/seo-optimizer/.cloud-manifest.json +0 -6
  391. package/genes/seo-optimizer/.gene-manifest.json +0 -8
  392. package/genes/seo-optimizer/SKILL.md +0 -327
  393. package/genes/seo-optimizer/index.ts +0 -206
  394. package/genes/seo-optimizer/package.json +0 -1
  395. package/genes/seo-optimizer/phenotype.json +0 -1
  396. package/genes/source-linker/.cloud-manifest.json +0 -6
  397. package/genes/source-linker/index.ts +0 -88
  398. package/genes/source-linker/phenotype.json +0 -45
  399. package/genes/style-optimizer/.cloud-manifest.json +0 -6
  400. package/genes/style-optimizer/.gene-manifest.json +0 -8
  401. package/genes/style-optimizer/SKILL.md +0 -285
  402. package/genes/style-optimizer/phenotype.json +0 -28
  403. package/genes/tech-lead/.cloud-manifest.json +0 -6
  404. package/genes/tech-lead/.gene-manifest.json +0 -8
  405. package/genes/tech-lead/SKILL.md +0 -451
  406. package/genes/tech-lead/phenotype.json +0 -28
  407. package/genes/test-wrap/.cloud-manifest.json +0 -6
  408. package/genes/test-wrap/.gene-manifest.json +0 -8
  409. package/genes/test-wrap/phenotype.json +0 -28
  410. package/genes/testing-strategist/.cloud-manifest.json +0 -6
  411. package/genes/testing-strategist/.gene-manifest.json +0 -8
  412. package/genes/testing-strategist/SKILL.md +0 -500
  413. package/genes/testing-strategist/phenotype.json +0 -28
  414. package/genes/text-summarizer/.cloud-manifest.json +0 -6
  415. package/genes/text-summarizer/README.md +0 -34
  416. package/genes/text-summarizer/index.ts +0 -122
  417. package/genes/text-summarizer/phenotype.json +0 -32
  418. package/genes/tone-analyzer/.cloud-manifest.json +0 -6
  419. package/genes/tone-analyzer/.gene-manifest.json +0 -8
  420. package/genes/tone-analyzer/SKILL.md +0 -410
  421. package/genes/tone-analyzer/phenotype.json +0 -28
  422. package/genes/translator/.cloud-manifest.json +0 -6
  423. package/genes/translator/.gene-manifest.json +0 -8
  424. package/genes/translator/SKILL.md +0 -355
  425. package/genes/translator/phenotype.json +0 -28
  426. package/genes/ui-components/.cloud-manifest.json +0 -6
  427. package/genes/ui-components/.gene-manifest.json +0 -8
  428. package/genes/ui-components/SKILL.md +0 -467
  429. package/genes/ui-components/phenotype.json +0 -28
  430. package/genes/uiux-designer/.cloud-manifest.json +0 -6
  431. package/genes/uiux-designer/.gene-manifest.json +0 -8
  432. package/genes/uiux-designer/SKILL.md +0 -353
  433. package/genes/uiux-designer/phenotype.json +0 -28
  434. package/genes/url-extractor/.cloud-manifest.json +0 -6
  435. package/genes/url-extractor/README.md +0 -37
  436. package/genes/url-extractor/index.ts +0 -86
  437. package/genes/url-extractor/phenotype.json +0 -48
  438. package/genes/ux-patterns/.cloud-manifest.json +0 -6
  439. package/genes/ux-patterns/.gene-manifest.json +0 -8
  440. package/genes/ux-patterns/SKILL.md +0 -872
  441. package/genes/ux-patterns/phenotype.json +0 -28
  442. package/genes/web3-components/.cloud-manifest.json +0 -6
  443. package/genes/web3-components/.gene-manifest.json +0 -8
  444. package/genes/web3-components/SKILL.md +0 -390
  445. package/genes/web3-components/phenotype.json +0 -28
@@ -38,46 +38,102 @@ const commander_1 = require("commander");
38
38
  const node_fs_1 = require("node:fs");
39
39
  const node_path_1 = require("node:path");
40
40
  const display = __importStar(require("../utils/display.js"));
41
+ const palette_js_1 = require("../utils/palette.js");
41
42
  const config_js_1 = require("../utils/config.js");
43
+ const project_root_js_1 = require("../utils/project-root.js");
42
44
  const auth_js_1 = require("../cloud/auth.js");
43
45
  const client_js_1 = require("../cloud/client.js");
44
46
  const domain_suggest_js_1 = require("../utils/domain-suggest.js");
45
- async function publishSingleGene(name, geneDir, creds, options, quiet = false) {
47
+ const validate_gene_name_js_1 = require("../utils/validate-gene-name.js");
48
+ const content_hash_js_1 = require("../utils/content-hash.js");
49
+ const pre_publish_check_js_1 = require("../publish/pre-publish-check.js");
50
+ function formatCheckIcon(status) {
51
+ if (status === "pass")
52
+ return palette_js_1.c.success(palette_js_1.icon.success);
53
+ if (status === "warn")
54
+ return palette_js_1.c.warn(palette_js_1.icon.warn);
55
+ return palette_js_1.c.error(palette_js_1.icon.error);
56
+ }
57
+ async function publishSingleGene(geneName, geneDir, creds, options, isQuiet = false) {
46
58
  const phenotypePath = (0, node_path_1.join)(geneDir, "phenotype.json");
47
59
  if (!(0, node_fs_1.existsSync)(phenotypePath)) {
48
- if (!quiet) {
49
- display.warn(`Skipping '${name}' — no phenotype.json`);
60
+ if (!isQuiet) {
61
+ display.warn(`Skipping '${geneName}' — no phenotype.json`);
62
+ }
63
+ return { name: geneName, status: "skipped", error: "no phenotype.json" };
64
+ }
65
+ if (!options.skipSecurity) {
66
+ const checkResult = (0, pre_publish_check_js_1.runPrePublishChecks)(geneDir, geneName);
67
+ if (!isQuiet) {
68
+ for (const check of checkResult.checks) {
69
+ console.log(` ${formatCheckIcon(check.status)} ${check.name}: ${check.message}`);
70
+ }
71
+ }
72
+ if (!checkResult.passed) {
73
+ const reasons = checkResult.blocking.map((b) => `${b.name}: ${b.message}`).join("; ");
74
+ if (!isQuiet) {
75
+ display.error(`Security check failed for '${geneName}'. Use --skip-security to bypass.`);
76
+ }
77
+ return { name: geneName, status: "failed", error: `pre-publish security check failed — ${reasons}` };
50
78
  }
51
- return { name, status: "skipped", error: "no phenotype.json" };
52
79
  }
53
80
  const phenotype = JSON.parse((0, node_fs_1.readFileSync)(phenotypePath, "utf-8"));
54
81
  if (phenotype.fidelity === "Hybrid") {
55
82
  const net = phenotype.network;
56
83
  if (!net || !Array.isArray(net.allowedDomains) || net.allowedDomains.length === 0) {
57
- return { name, status: "failed", error: "Hybrid gene missing allowedDomains" };
84
+ return { name: geneName, status: "failed", error: "Hybrid gene missing allowedDomains" };
58
85
  }
59
86
  const forbidden = /^(localhost|127\.\d+\.\d+\.\d+|10\.\d+\.\d+\.\d+|172\.(1[6-9]|2\d|3[01])\.\d+\.\d+|192\.168\.\d+\.\d+|0\.0\.0\.0|\[?::1\]?)$/;
60
87
  for (const domain of net.allowedDomains) {
61
88
  if (forbidden.test(domain)) {
62
- return { name, status: "failed", error: `forbidden domain: ${domain}` };
89
+ return { name: geneName, status: "failed", error: `forbidden domain: ${domain}` };
63
90
  }
64
91
  }
65
92
  }
93
+ const fidelity = phenotype.fidelity || "Wrapped";
66
94
  const irWasmPath = (0, node_path_1.join)(geneDir, "gene.ir.wasm");
67
95
  const wasmBytes = (0, node_fs_1.existsSync)(irWasmPath)
68
96
  ? (0, node_fs_1.readFileSync)(irWasmPath)
69
97
  : null;
98
+ if (fidelity === "Native" && !wasmBytes) {
99
+ return {
100
+ name: geneName,
101
+ status: "failed",
102
+ error: `Native gene requires compiled WASM (gene.ir.wasm). Run 'rotifer compile ${geneName}' first, or set fidelity to "Wrapped" / "Hybrid" in phenotype.json`,
103
+ };
104
+ }
105
+ const version = phenotype.version || "0.1.0";
106
+ if (!/^\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?$/.test(version)) {
107
+ return {
108
+ name: geneName,
109
+ status: "failed",
110
+ error: `Invalid version format '${version}'. Use semver (e.g., '1.0.0', '0.1.0-beta.1').`,
111
+ };
112
+ }
113
+ const manifestPath = (0, node_path_1.join)(geneDir, ".cloud-manifest.json");
114
+ const isFirstPublish = !(0, node_fs_1.existsSync)(manifestPath);
115
+ if (isFirstPublish && /^[1-9]/.test(version)) {
116
+ if (!isQuiet) {
117
+ display.warn(`First publish of '${geneName}' uses version ${version} (no prior version chain). Consider starting from 0.x.y.`);
118
+ }
119
+ }
70
120
  const domain = phenotype.domain || "unknown";
71
121
  if (!/^[a-z0-9]+(\.[a-z0-9]+)*$/.test(domain)) {
72
122
  return {
73
- name,
123
+ name: geneName,
74
124
  status: "failed",
75
125
  error: `Invalid domain format '${domain}'. Use lowercase letters, numbers, and dots (e.g. 'media.video').`,
76
126
  };
77
127
  }
78
128
  const description = options.description ||
79
129
  phenotype.description ||
80
- `${name} gene (${domain})`;
130
+ `${geneName} gene (${domain})`;
131
+ const nonAscii = (description.match(/[^\x20-\x7E]/g) || []).length;
132
+ if (!isQuiet && nonAscii > description.length * 0.5) {
133
+ display.warn(`Description for '${geneName}' is mostly non-English. ` +
134
+ `English descriptions improve global discoverability. ` +
135
+ `Consider adding an English description in phenotype.json.`);
136
+ }
81
137
  const changelog = options.changelog || null;
82
138
  let readme = null;
83
139
  const readmePath = (0, node_path_1.join)(geneDir, "README.md");
@@ -86,13 +142,14 @@ async function publishSingleGene(name, geneDir, creds, options, quiet = false) {
86
142
  }
87
143
  try {
88
144
  const result = await (0, client_js_1.publishGene)({
89
- name,
145
+ name: geneName,
90
146
  domain,
91
147
  version: phenotype.version || "0.1.0",
92
148
  fidelity: phenotype.fidelity || "Wrapped",
93
149
  description,
94
150
  phenotype,
95
151
  wasmBytes,
152
+ contentHash: (0, content_hash_js_1.contentHash)(phenotype),
96
153
  readme,
97
154
  changelog,
98
155
  });
@@ -103,61 +160,66 @@ async function publishSingleGene(name, geneDir, creds, options, quiet = false) {
103
160
  published_at: new Date().toISOString(),
104
161
  }, null, 2) + "\n");
105
162
  const status = result.isUpdate ? "updated" : "created";
106
- if (!options.skipArena) {
107
- try {
108
- const defaultFitness = {
109
- value: 0.5,
110
- safety_score: 1.0,
111
- success_rate: 1.0,
112
- latency_score: 0.8,
113
- resource_efficiency: 0.8,
114
- };
115
- await (0, client_js_1.arenaSubmit)(result.id, defaultFitness);
116
- await (0, client_js_1.getGeneReputation)(result.id);
117
- }
118
- catch {
119
- // Arena chain failure is non-fatal
120
- }
163
+ if (!options.skipArena && !isQuiet) {
164
+ display.info(`Auto Arena submission skipped for '${geneName}' — verified runtime metrics are required. ` +
165
+ `Run 'rotifer arena submit ${geneName} --cloud' after evaluation.`);
121
166
  }
122
- return { name, status };
167
+ return { name: geneName, status };
123
168
  }
124
169
  catch (err) {
125
- return { name, status: "failed", error: err.message };
170
+ return { name: geneName, status: "failed", error: err.message };
126
171
  }
127
172
  }
128
173
  exports.publishCommand = new commander_1.Command("publish")
129
174
  .description("Publish gene(s) to Rotifer Cloud")
130
- .argument("[name]", "gene name to publish (omit when using --all)")
175
+ .argument("[gene-name]", "gene name to publish (omit when using --all)")
131
176
  .option("--description <text>", "gene description")
132
177
  .option("--changelog <text>", "changelog entry for this version (max 500 chars)")
133
178
  .option("--skip-arena", "skip automatic Arena submission and reputation computation")
179
+ .option("--skip-security", "skip pre-publish security checks (dangerous API / IR / secrets scan)")
134
180
  .option("--all", "publish all valid genes in the genes directory")
135
- .action(async (name, options) => {
136
- if (!name && !options.all) {
181
+ .action(async (geneName, options) => {
182
+ if (!geneName && !options.all) {
137
183
  display.error("Provide a gene name or use --all to publish all genes.");
184
+ display.hint("Example: rotifer publish my-gene or rotifer publish --all");
138
185
  process.exit(1);
139
186
  }
140
- const root = (0, config_js_1.getProjectRoot)();
187
+ const root = (0, project_root_js_1.requireProjectRoot)();
141
188
  const config = (0, config_js_1.loadConfig)(root);
142
- if (!options.all && name) {
143
- const geneDir = (0, node_path_1.join)(root, config.genes_dir, name);
189
+ if (!options.all && geneName) {
190
+ (0, validate_gene_name_js_1.validateGeneName)(geneName);
191
+ const geneDir = (0, node_path_1.join)(root, config.genes_dir, geneName);
144
192
  const phenotypePath = (0, node_path_1.join)(geneDir, "phenotype.json");
145
193
  if (!(0, node_fs_1.existsSync)(phenotypePath)) {
146
194
  display.rustStyleError({
147
195
  code: "E0050",
148
- message: `Gene '${name}' not found`,
196
+ message: `Gene '${geneName}' not found`,
149
197
  file: phenotypePath,
150
- suggestion: "Run 'rotifer wrap " + name + " --domain <domain>' first",
198
+ suggestion: "Run 'rotifer wrap " + geneName + " --domain <domain>' first",
151
199
  });
152
200
  process.exit(1);
153
201
  }
154
202
  const phenotype = JSON.parse((0, node_fs_1.readFileSync)(phenotypePath, "utf-8"));
203
+ if (phenotype.fidelity === "Native") {
204
+ const wasmPath = (0, node_path_1.join)(geneDir, "gene.ir.wasm");
205
+ if (!(0, node_fs_1.existsSync)(wasmPath)) {
206
+ display.rustStyleError({
207
+ code: "E0060",
208
+ message: `Native gene '${geneName}' has no compiled WASM binary`,
209
+ file: wasmPath,
210
+ suggestion: "Run 'rotifer compile " +
211
+ geneName +
212
+ "' to generate gene.ir.wasm, or change fidelity to \"Wrapped\" in phenotype.json",
213
+ });
214
+ process.exit(1);
215
+ }
216
+ }
155
217
  if (phenotype.fidelity === "Hybrid") {
156
218
  const net = phenotype.network;
157
219
  if (!net || !Array.isArray(net.allowedDomains) || net.allowedDomains.length === 0) {
158
220
  display.rustStyleError({
159
221
  code: "E0055",
160
- message: `Hybrid gene '${name}' missing allowedDomains in network config`,
222
+ message: `Hybrid gene '${geneName}' missing allowedDomains in network config`,
161
223
  file: phenotypePath,
162
224
  suggestion: "Add network.allowedDomains to phenotype.json",
163
225
  });
@@ -168,7 +230,7 @@ exports.publishCommand = new commander_1.Command("publish")
168
230
  if (forbidden.test(domain)) {
169
231
  display.rustStyleError({
170
232
  code: "E0056",
171
- message: `Hybrid gene '${name}' has forbidden domain: ${domain}`,
233
+ message: `Hybrid gene '${geneName}' has forbidden domain: ${domain}`,
172
234
  file: phenotypePath,
173
235
  suggestion: "Remove private/local addresses from allowedDomains",
174
236
  });
@@ -193,7 +255,7 @@ exports.publishCommand = new commander_1.Command("publish")
193
255
  .filter((d) => d.isDirectory())
194
256
  .map((d) => d.name)
195
257
  .sort();
196
- display.info(`Found ${dirs.length} directories in ${config.genes_dir}/`);
258
+ display.hint(`Found ${dirs.length} directories in ${config.genes_dir}/`);
197
259
  console.log();
198
260
  const results = [];
199
261
  for (let i = 0; i < dirs.length; i++) {
@@ -209,13 +271,12 @@ exports.publishCommand = new commander_1.Command("publish")
209
271
  `❌ ${result.error}`;
210
272
  console.log(statusIcon);
211
273
  }
212
- // Update developer reputation once at the end
213
274
  if (!options.skipArena) {
214
275
  try {
215
276
  await (0, client_js_1.getDeveloperReputation)(creds.user.id);
216
277
  }
217
- catch {
218
- // non-fatal
278
+ catch (repErr) {
279
+ display.warn(`Creator reputation refresh failed: ${repErr?.message ?? "unknown error"}`);
219
280
  }
220
281
  }
221
282
  console.log();
@@ -235,60 +296,73 @@ exports.publishCommand = new commander_1.Command("publish")
235
296
  display.error(` ${r.name}: ${r.error}`);
236
297
  }
237
298
  }
238
- display.success(`${created + updated} published, ${skipped} skipped, ${failed} failed`);
299
+ if (failed > 0) {
300
+ display.warn(`${created + updated} published, ${skipped} skipped, ${failed} failed`);
301
+ }
302
+ else {
303
+ display.success(`${created + updated} published, ${skipped} skipped, ${failed} failed`);
304
+ }
239
305
  if (created + updated > 0) {
240
306
  (0, domain_suggest_js_1.refreshDomainCacheFromCloud)().catch(() => { });
241
307
  }
308
+ if (failed > 0) {
309
+ process.exit(1);
310
+ }
242
311
  }
243
312
  else {
244
313
  display.header("Publish to Cloud");
245
314
  display.info(`Publishing as ${creds.user.username}`);
246
- const geneDir = (0, node_path_1.join)(root, config.genes_dir, name);
315
+ const geneDir = (0, node_path_1.join)(root, config.genes_dir, geneName);
247
316
  const phenotypePath = (0, node_path_1.join)(geneDir, "phenotype.json");
248
317
  if (!(0, node_fs_1.existsSync)(phenotypePath)) {
249
318
  display.rustStyleError({
250
319
  code: "E0050",
251
- message: `Gene '${name}' not found`,
320
+ message: `Gene '${geneName}' not found`,
252
321
  file: phenotypePath,
253
- suggestion: "Run 'rotifer wrap " + name + " --domain <domain>' first",
322
+ suggestion: "Run 'rotifer wrap " + geneName + " --domain <domain>' first",
254
323
  });
255
324
  process.exit(1);
256
325
  }
257
- const result = await publishSingleGene(name, geneDir, creds, options);
326
+ if (!options.skipSecurity) {
327
+ console.log();
328
+ display.header("Pre-publish Security Check");
329
+ }
330
+ const result = await publishSingleGene(geneName, geneDir, creds, options);
258
331
  if (result.status === "failed") {
259
332
  display.error(result.error || "Publish failed");
333
+ display.hint("Check your network connection and login status with 'rotifer whoami'.");
260
334
  process.exit(1);
261
335
  }
262
336
  if (result.status === "skipped") {
263
- display.warn(`Gene '${name}' skipped: ${result.error}`);
337
+ display.warn(`Gene '${geneName}' skipped: ${result.error}`);
264
338
  process.exit(0);
265
339
  }
266
340
  console.log();
267
341
  const verb = result.status === "updated" ? "updated" : "created";
268
- display.success(`Gene '${name}' ${verb} on cloud!`);
342
+ display.success(`Gene '${geneName}' ${verb} on cloud!`);
269
343
  const manifestPath = (0, node_path_1.join)(geneDir, ".cloud-manifest.json");
270
344
  if ((0, node_fs_1.existsSync)(manifestPath)) {
271
345
  const manifest = JSON.parse((0, node_fs_1.readFileSync)(manifestPath, "utf-8"));
272
346
  display.keyValue("ID", manifest.cloud_id);
273
- display.keyValue("Owner", manifest.owner);
347
+ display.keyValue("Creator", manifest.owner);
274
348
  display.keyValue("Version", manifest.version);
275
349
  display.keyValue("Status", result.status === "updated" ? "Updated existing" : "Newly created");
276
350
  if (options.changelog) {
277
- display.keyValue("Changelog", options.changelog.slice(0, 80) + (options.changelog.length > 80 ? "..." : ""));
351
+ display.keyValue("Changelog", options.changelog);
278
352
  }
279
353
  }
280
354
  if (!options.skipArena) {
281
355
  try {
282
356
  const devRep = await (0, client_js_1.getDeveloperReputation)(creds.user.id);
283
- display.keyValue("Developer Reputation", devRep.score.toFixed(4));
357
+ display.keyValue("Creator Reputation", devRep.score.toFixed(4));
284
358
  display.keyValue("Genes Published", String(devRep.genes_published));
285
359
  }
286
- catch {
287
- // non-fatal
360
+ catch (repErr) {
361
+ display.warn(`Creator reputation refresh failed: ${repErr?.message ?? "unknown error"}`);
288
362
  }
289
363
  }
290
364
  else {
291
- display.info("Skipped Arena (--skip-arena). Run manually: rotifer arena submit --cloud " + name);
365
+ display.hint("Skipped Arena (--skip-arena). Run manually: rotifer arena submit --cloud " + geneName);
292
366
  }
293
367
  (0, domain_suggest_js_1.refreshDomainCacheFromCloud)().catch(() => { });
294
368
  }
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -32,23 +32,20 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
36
  exports.reputationCommand = void 0;
40
37
  const commander_1 = require("commander");
41
- const chalk_1 = __importDefault(require("chalk"));
42
38
  const display = __importStar(require("../utils/display.js"));
39
+ const palette_js_1 = require("../utils/palette.js");
43
40
  const client_js_1 = require("../cloud/client.js");
44
41
  const auth_js_1 = require("../cloud/auth.js");
45
42
  exports.reputationCommand = new commander_1.Command("reputation")
46
- .description("View gene and developer reputation scores")
47
- .argument("[gene-id]", "gene ID to view reputation for")
48
- .option("--mine", "show your developer reputation", false)
49
- .option("--leaderboard", "show developer leaderboard", false)
43
+ .description("View gene and creator reputation scores")
44
+ .argument("[gene-ref]", "gene UUID, name, or content hash")
45
+ .option("--mine", "show your creator reputation", false)
46
+ .option("--leaderboard", "show creator leaderboard", false)
50
47
  .option("--top <n>", "number of entries in leaderboard", "10")
51
- .action(async (geneId, options) => {
48
+ .action(async (geneRef, options) => {
52
49
  if (options.leaderboard) {
53
50
  await showLeaderboard(parseInt(options.top, 10));
54
51
  return;
@@ -57,114 +54,116 @@ exports.reputationCommand = new commander_1.Command("reputation")
57
54
  await showMyReputation();
58
55
  return;
59
56
  }
60
- if (geneId) {
61
- await showGeneReputation(geneId);
57
+ if (geneRef) {
58
+ await showGeneReputation(geneRef);
62
59
  return;
63
60
  }
64
- display.error("Specify a gene ID, --mine, or --leaderboard");
65
- display.info("Usage: rotifer reputation <gene-id>");
66
- display.info(" rotifer reputation --mine");
67
- display.info(" rotifer reputation --leaderboard");
61
+ display.error("Specify a gene reference, --mine, or --leaderboard");
62
+ display.hint("Usage: rotifer reputation <gene-ref>");
63
+ display.hint(" rotifer reputation --mine");
64
+ display.hint(" rotifer reputation --leaderboard");
68
65
  process.exit(1);
69
66
  });
70
- async function showGeneReputation(geneId) {
71
- display.header("Gene Reputation");
67
+ async function showGeneReputation(geneRef) {
68
+ const s = display.spinner("Fetching gene reputation...");
72
69
  try {
73
- const rep = await (0, client_js_1.getGeneReputation)(geneId);
74
- console.log();
75
- display.keyValue("Gene", rep.gene_name);
76
- display.keyValue("Overall Score", formatScore(rep.score));
77
- console.log();
78
- const barWidth = 30;
79
- console.log(" " + chalk_1.default.dim("Arena Score ") + renderBar(rep.arena_score, barWidth) + " " + rep.arena_score.toFixed(4));
80
- console.log(" " + chalk_1.default.dim("Usage Score ") + renderBar(rep.usage_score, barWidth) + " " + rep.usage_score.toFixed(4));
81
- console.log(" " + chalk_1.default.dim("Stability ") + renderBar(rep.stability_score, barWidth) + " " + rep.stability_score.toFixed(4));
82
- console.log();
83
- display.keyValue("Epoch", String(rep.epoch));
84
- display.keyValue("Computed", rep.computed_at);
85
- display.info("Weights: Arena(0.5) + Usage(0.3) + Stability(0.2)");
70
+ const rep = await (0, client_js_1.getGeneReputation)(geneRef);
71
+ s.stop();
72
+ display.renderResult(rep, (data) => {
73
+ display.header("Gene Reputation");
74
+ console.log();
75
+ display.kv("Gene", data.gene_name);
76
+ display.kv("Overall Score", (0, palette_js_1.scoreColor)(data.score));
77
+ console.log();
78
+ display.barChart([
79
+ { label: "Arena Score", value: Math.round(data.arena_score * 100) },
80
+ { label: "Usage Score", value: Math.round(data.usage_score * 100) },
81
+ { label: "Stability ", value: Math.round(data.stability_score * 100) },
82
+ ]);
83
+ console.log();
84
+ display.kv("Epoch", String(data.epoch));
85
+ display.kv("Computed", data.computed_at);
86
+ display.hint("Weights vary by ecosystem phase: W0 0.70/0.05/0.25, W1 0.60/0.20/0.20, W2 0.50/0.30/0.20");
87
+ });
86
88
  }
87
89
  catch (err) {
88
- display.error(err.message || "Failed to fetch reputation");
90
+ s.stop();
91
+ const msg = err instanceof Error ? err.message : "Failed to fetch reputation";
92
+ display.error(msg);
93
+ display.hint("Check your network connection, or run 'rotifer search' to find genes.");
89
94
  process.exit(1);
90
95
  }
91
96
  }
92
97
  async function showMyReputation() {
93
- display.header("My Developer Reputation");
94
98
  const creds = (0, auth_js_1.loadCredentials)();
95
99
  if (!creds) {
96
100
  display.error("Not logged in. Run 'rotifer login' first.");
97
101
  process.exit(1);
102
+ return;
98
103
  }
104
+ const s = display.spinner("Fetching creator reputation...");
99
105
  try {
100
106
  const rep = await (0, client_js_1.getDeveloperReputation)(creds.user.id);
101
- console.log();
102
- display.keyValue("Developer", `@${creds.user.username}`);
103
- display.keyValue("Overall Score", formatScore(rep.score));
104
- console.log();
105
- display.keyValue("Genes Published", String(rep.genes_published));
106
- display.keyValue("Total Downloads", String(rep.total_downloads));
107
- display.keyValue("Arena Wins", String(rep.arena_wins));
108
- display.keyValue("Community Bonus", `+${rep.community_bonus.toFixed(3)}`);
109
- console.log();
110
- display.info("Score = avg(gene reputations) + community bonus");
107
+ s.stop();
108
+ display.renderResult({ username: creds.user.username, ...rep }, (data) => {
109
+ display.header("My Creator Reputation");
110
+ console.log();
111
+ display.kv("Creator", `@${data.username}`);
112
+ display.kv("Overall Score", (0, palette_js_1.scoreColor)(data.score));
113
+ console.log();
114
+ display.kv("Genes Published", String(data.genes_published));
115
+ display.kv("Total Downloads", String(data.total_downloads));
116
+ display.kv("Arena Wins", String(data.arena_wins));
117
+ display.kv("Community Bonus", `+${data.community_bonus.toFixed(3)}`);
118
+ console.log();
119
+ display.hint("Score = (Σ positive gene reputations × ln(1+n)/n) + community bonus");
120
+ });
111
121
  }
112
122
  catch (err) {
113
- display.error(err.message || "Failed to fetch reputation");
123
+ s.stop();
124
+ const msg = err instanceof Error ? err.message : "Failed to fetch reputation";
125
+ display.error(msg);
126
+ display.hint("Check your network connection and try again.");
114
127
  process.exit(1);
115
128
  }
116
129
  }
117
130
  async function showLeaderboard(limit) {
118
- display.header("Reputation Leaderboard");
131
+ const s = display.spinner("Fetching leaderboard...");
119
132
  try {
120
133
  const entries = await (0, client_js_1.getReputationLeaderboard)(limit);
134
+ s.stop();
121
135
  if (entries.length === 0) {
122
- display.warn("No developers with reputation scores yet");
136
+ display.renderResult({ entries: [] }, () => {
137
+ display.header("Reputation Leaderboard");
138
+ display.warn("No creators with reputation scores yet");
139
+ });
123
140
  return;
124
141
  }
125
- console.log();
126
- const col = { rank: 4, name: 20, score: 10, genes: 8, dl: 10, wins: 6 };
127
- console.log(" " +
128
- padRight("#", col.rank) +
129
- padRight("Developer", col.name) +
130
- padRight("Score", col.score) +
131
- padRight("Genes", col.genes) +
132
- padRight("Downloads", col.dl) +
133
- "Wins");
134
- console.log(" " + "\u2500".repeat(58));
135
- for (let i = 0; i < entries.length; i++) {
136
- const e = entries[i];
137
- const rankStr = String(i + 1);
138
- const scoreColor = e.score >= 0.7 ? chalk_1.default.green : e.score >= 0.3 ? chalk_1.default.yellow : chalk_1.default.dim;
139
- console.log(" " +
140
- padRight(rankStr, col.rank) +
141
- padRight(`@${e.username}`, col.name) +
142
- padRight(scoreColor(e.score.toFixed(4)), col.score + 10) +
143
- padRight(String(e.genes_published), col.genes) +
144
- padRight(String(e.total_downloads), col.dl) +
145
- String(e.arena_wins));
146
- }
147
- console.log();
148
- display.info(`Showing top ${entries.length} developers`);
142
+ display.renderResult({ entries: entries.map((e, i) => ({ rank: i + 1, ...e })) }, (data) => {
143
+ display.header("Reputation Leaderboard", { separator: false });
144
+ display.table(data.entries, [
145
+ { key: "rank", label: "#", width: 4, format: (v) => String(v) },
146
+ { key: "username", label: "Creator", width: 20,
147
+ format: (v) => `@${v}` },
148
+ { key: "score", label: "Score", width: 12,
149
+ format: (v) => (0, palette_js_1.scoreColor)(v) },
150
+ { key: "genes_published", label: "Genes", width: 8,
151
+ format: (v) => String(v) },
152
+ { key: "total_downloads", label: "Downloads", width: 10,
153
+ format: (v) => String(v) },
154
+ { key: "arena_wins", label: "Wins", width: 6,
155
+ format: (v) => String(v) },
156
+ ]);
157
+ console.log();
158
+ display.hint(`Showing top ${data.entries.length} creators`);
159
+ });
149
160
  }
150
161
  catch (err) {
151
- display.error(err.message || "Failed to fetch leaderboard");
162
+ s.stop();
163
+ const msg = err instanceof Error ? err.message : "Failed to fetch leaderboard";
164
+ display.error(msg);
165
+ display.hint("Check your network connection and try again.");
152
166
  process.exit(1);
153
167
  }
154
168
  }
155
- function formatScore(score) {
156
- if (score >= 0.8)
157
- return chalk_1.default.green(score.toFixed(4));
158
- if (score >= 0.5)
159
- return chalk_1.default.yellow(score.toFixed(4));
160
- return chalk_1.default.dim(score.toFixed(4));
161
- }
162
- function renderBar(value, width) {
163
- const filled = Math.round(value * width);
164
- const empty = width - filled;
165
- return chalk_1.default.green("█".repeat(filled)) + chalk_1.default.dim("░".repeat(empty));
166
- }
167
- function padRight(str, len) {
168
- return str.length >= len ? str : str + " ".repeat(len - str.length);
169
- }
170
169
  //# sourceMappingURL=reputation.js.map