@rotifer/playground 0.8.1 → 0.8.6

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 (453) hide show
  1. package/CHANGELOG.md +46 -11
  2. package/README.md +92 -58
  3. package/README.zh.md +90 -49
  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 +139 -68
  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 +91 -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 +166 -44
  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 -37
  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 +80 -58
  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 +152 -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 +32 -12
  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 +104 -79
  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 +57 -40
  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 +1 -1
  114. package/dist/runtime/domain-failover.js +1 -1
  115. package/dist/runtime/network-gateway.d.ts +1 -1
  116. package/dist/runtime/network-gateway.d.ts.map +1 -1
  117. package/dist/runtime/network-gateway.js +10 -10
  118. package/dist/runtime/network-gateway.js.map +1 -1
  119. package/dist/scanner/scanner.js +3 -3
  120. package/dist/scanner/scanner.js.map +1 -1
  121. package/dist/utils/binding.d.ts +1 -0
  122. package/dist/utils/binding.d.ts.map +1 -1
  123. package/dist/utils/binding.js +37 -15
  124. package/dist/utils/binding.js.map +1 -1
  125. package/dist/utils/content-hash.d.ts +3 -0
  126. package/dist/utils/content-hash.d.ts.map +1 -0
  127. package/dist/utils/content-hash.js +25 -0
  128. package/dist/utils/content-hash.js.map +1 -0
  129. package/dist/utils/detect-source-language.d.ts +20 -0
  130. package/dist/utils/detect-source-language.d.ts.map +1 -0
  131. package/dist/utils/detect-source-language.js +83 -0
  132. package/dist/utils/detect-source-language.js.map +1 -0
  133. package/dist/utils/display.d.ts +44 -1
  134. package/dist/utils/display.d.ts.map +1 -1
  135. package/dist/utils/display.js +443 -14
  136. package/dist/utils/display.js.map +1 -1
  137. package/dist/utils/domain-suggest.d.ts.map +1 -1
  138. package/dist/utils/domain-suggest.js +3 -3
  139. package/dist/utils/domain-suggest.js.map +1 -1
  140. package/dist/utils/javy-compiler.d.ts.map +1 -1
  141. package/dist/utils/javy-compiler.js +10 -3
  142. package/dist/utils/javy-compiler.js.map +1 -1
  143. package/dist/utils/open-browser.d.ts +7 -3
  144. package/dist/utils/open-browser.d.ts.map +1 -1
  145. package/dist/utils/open-browser.js +15 -4
  146. package/dist/utils/open-browser.js.map +1 -1
  147. package/dist/utils/palette.d.ts +49 -0
  148. package/dist/utils/palette.d.ts.map +1 -0
  149. package/dist/utils/palette.js +80 -0
  150. package/dist/utils/palette.js.map +1 -0
  151. package/dist/utils/private-fs.d.ts +3 -0
  152. package/dist/utils/private-fs.d.ts.map +1 -0
  153. package/dist/utils/private-fs.js +25 -0
  154. package/dist/utils/private-fs.js.map +1 -0
  155. package/dist/utils/project-root.d.ts +2 -0
  156. package/dist/utils/project-root.d.ts.map +1 -0
  157. package/dist/utils/project-root.js +49 -0
  158. package/dist/utils/project-root.js.map +1 -0
  159. package/dist/utils/run-logger.d.ts +24 -0
  160. package/dist/utils/run-logger.d.ts.map +1 -0
  161. package/dist/utils/run-logger.js +70 -0
  162. package/dist/utils/run-logger.js.map +1 -0
  163. package/dist/utils/sandbox-defaults.d.ts +9 -0
  164. package/dist/utils/sandbox-defaults.d.ts.map +1 -0
  165. package/dist/utils/sandbox-defaults.js +12 -0
  166. package/dist/utils/sandbox-defaults.js.map +1 -0
  167. package/dist/utils/update-check.d.ts +20 -0
  168. package/dist/utils/update-check.d.ts.map +1 -0
  169. package/dist/utils/update-check.js +155 -0
  170. package/dist/utils/update-check.js.map +1 -0
  171. package/dist/utils/user-config.d.ts +10 -0
  172. package/dist/utils/user-config.d.ts.map +1 -0
  173. package/dist/utils/user-config.js +54 -0
  174. package/dist/utils/user-config.js.map +1 -0
  175. package/dist/utils/validate-gene-name.d.ts +7 -0
  176. package/dist/utils/validate-gene-name.d.ts.map +1 -0
  177. package/dist/utils/validate-gene-name.js +28 -0
  178. package/dist/utils/validate-gene-name.js.map +1 -0
  179. package/genes/genesis-code-format/phenotype.json +4 -3
  180. package/genes/genesis-file-read/phenotype.json +4 -3
  181. package/genes/genesis-l0-constraint/phenotype.json +4 -3
  182. package/genes/genesis-web-search/phenotype.json +5 -4
  183. package/genes/genesis-web-search-lite/phenotype.json +4 -3
  184. package/package.json +35 -8
  185. package/scripts/postinstall.js +38 -0
  186. package/dist/errors/formatter.d.ts +0 -25
  187. package/dist/errors/formatter.d.ts.map +0 -1
  188. package/dist/errors/formatter.js +0 -43
  189. package/dist/errors/formatter.js.map +0 -1
  190. package/genes/academic-writer/.cloud-manifest.json +0 -6
  191. package/genes/academic-writer/.gene-manifest.json +0 -8
  192. package/genes/academic-writer/SKILL.md +0 -274
  193. package/genes/academic-writer/phenotype.json +0 -28
  194. package/genes/ai-components/.cloud-manifest.json +0 -6
  195. package/genes/ai-components/.gene-manifest.json +0 -8
  196. package/genes/ai-components/SKILL.md +0 -381
  197. package/genes/ai-components/phenotype.json +0 -28
  198. package/genes/algorithmic-art/.cloud-manifest.json +0 -6
  199. package/genes/algorithmic-art/.gene-manifest.json +0 -8
  200. package/genes/algorithmic-art/SKILL.md +0 -405
  201. package/genes/algorithmic-art/phenotype.json +0 -28
  202. package/genes/answer-synthesizer/.cloud-manifest.json +0 -6
  203. package/genes/answer-synthesizer/index.ts +0 -194
  204. package/genes/answer-synthesizer/phenotype.json +0 -61
  205. package/genes/api-designer/.cloud-manifest.json +0 -6
  206. package/genes/api-designer/.gene-manifest.json +0 -8
  207. package/genes/api-designer/SKILL.md +0 -456
  208. package/genes/api-designer/phenotype.json +0 -28
  209. package/genes/auto-coder/.cloud-manifest.json +0 -6
  210. package/genes/auto-coder/.gene-manifest.json +0 -8
  211. package/genes/auto-coder/SKILL.md +0 -400
  212. package/genes/auto-coder/phenotype.json +0 -28
  213. package/genes/auto-writer/.cloud-manifest.json +0 -6
  214. package/genes/auto-writer/.gene-manifest.json +0 -8
  215. package/genes/auto-writer/SKILL.md +0 -361
  216. package/genes/auto-writer/phenotype.json +0 -28
  217. package/genes/brand-personality/.cloud-manifest.json +0 -6
  218. package/genes/brand-personality/.gene-manifest.json +0 -8
  219. package/genes/brand-personality/SKILL.md +0 -549
  220. package/genes/brand-personality/phenotype.json +0 -28
  221. package/genes/business-writer/.cloud-manifest.json +0 -6
  222. package/genes/business-writer/.gene-manifest.json +0 -8
  223. package/genes/business-writer/SKILL.md +0 -448
  224. package/genes/business-writer/phenotype.json +0 -28
  225. package/genes/citation-manager/.cloud-manifest.json +0 -6
  226. package/genes/citation-manager/.gene-manifest.json +0 -8
  227. package/genes/citation-manager/SKILL.md +0 -279
  228. package/genes/citation-manager/index.ts +0 -162
  229. package/genes/citation-manager/package.json +0 -1
  230. package/genes/citation-manager/phenotype.json +0 -50
  231. package/genes/code-complexity/.cloud-manifest.json +0 -6
  232. package/genes/code-complexity/README.md +0 -35
  233. package/genes/code-complexity/index.ts +0 -101
  234. package/genes/code-complexity/phenotype.json +0 -34
  235. package/genes/copywriter/.cloud-manifest.json +0 -6
  236. package/genes/copywriter/.gene-manifest.json +0 -8
  237. package/genes/copywriter/SKILL.md +0 -329
  238. package/genes/copywriter/phenotype.json +0 -28
  239. package/genes/creative-writer/.cloud-manifest.json +0 -6
  240. package/genes/creative-writer/.gene-manifest.json +0 -8
  241. package/genes/creative-writer/SKILL.md +0 -356
  242. package/genes/creative-writer/phenotype.json +0 -28
  243. package/genes/data-modeler/.cloud-manifest.json +0 -6
  244. package/genes/data-modeler/.gene-manifest.json +0 -8
  245. package/genes/data-modeler/SKILL.md +0 -486
  246. package/genes/data-modeler/phenotype.json +0 -28
  247. package/genes/debugger/.cloud-manifest.json +0 -6
  248. package/genes/debugger/.gene-manifest.json +0 -8
  249. package/genes/debugger/SKILL.md +0 -416
  250. package/genes/debugger/phenotype.json +0 -28
  251. package/genes/design-tokens/.cloud-manifest.json +0 -6
  252. package/genes/design-tokens/.gene-manifest.json +0 -8
  253. package/genes/design-tokens/SKILL.md +0 -222
  254. package/genes/design-tokens/index.ts +0 -128
  255. package/genes/design-tokens/package.json +0 -1
  256. package/genes/design-tokens/phenotype.json +0 -1
  257. package/genes/devops-automator/.cloud-manifest.json +0 -6
  258. package/genes/devops-automator/.gene-manifest.json +0 -8
  259. package/genes/devops-automator/SKILL.md +0 -490
  260. package/genes/devops-automator/phenotype.json +0 -28
  261. package/genes/doc-coauthoring/.cloud-manifest.json +0 -6
  262. package/genes/doc-coauthoring/.gene-manifest.json +0 -8
  263. package/genes/doc-coauthoring/SKILL.md +0 -375
  264. package/genes/doc-coauthoring/phenotype.json +0 -28
  265. package/genes/doc-retrieval/.cloud-manifest.json +0 -6
  266. package/genes/doc-retrieval/index.ts +0 -134
  267. package/genes/doc-retrieval/phenotype.json +0 -54
  268. package/genes/docs-writer/.cloud-manifest.json +0 -6
  269. package/genes/docs-writer/.gene-manifest.json +0 -8
  270. package/genes/docs-writer/SKILL.md +0 -492
  271. package/genes/docs-writer/phenotype.json +0 -28
  272. package/genes/evolve-life/.cloud-manifest.json +0 -6
  273. package/genes/evolve-life/.compile-result.json +0 -12
  274. package/genes/evolve-life/README.md +0 -52
  275. package/genes/evolve-life/gene.ir.wasm +0 -0
  276. package/genes/evolve-life/gene.wasm +0 -0
  277. package/genes/evolve-life/index.ts +0 -255
  278. package/genes/evolve-life/phenotype.json +0 -129
  279. package/genes/evolve-life-bitwise/.cloud-manifest.json +0 -6
  280. package/genes/evolve-life-bitwise/.compile-result.json +0 -12
  281. package/genes/evolve-life-bitwise/gene.ir.wasm +0 -0
  282. package/genes/evolve-life-bitwise/gene.wasm +0 -0
  283. package/genes/evolve-life-bitwise/index.ts +0 -273
  284. package/genes/evolve-life-bitwise/phenotype.json +0 -129
  285. package/genes/evolve-life-sparse/.cloud-manifest.json +0 -6
  286. package/genes/evolve-life-sparse/.compile-result.json +0 -12
  287. package/genes/evolve-life-sparse/gene.ir.wasm +0 -0
  288. package/genes/evolve-life-sparse/gene.wasm +0 -0
  289. package/genes/evolve-life-sparse/index.ts +0 -236
  290. package/genes/evolve-life-sparse/phenotype.json +0 -129
  291. package/genes/fact-checker/.cloud-manifest.json +0 -6
  292. package/genes/fact-checker/.gene-manifest.json +0 -8
  293. package/genes/fact-checker/SKILL.md +0 -373
  294. package/genes/fact-checker/phenotype.json +0 -28
  295. package/genes/git-workflow/.cloud-manifest.json +0 -6
  296. package/genes/git-workflow/.gene-manifest.json +0 -8
  297. package/genes/git-workflow/SKILL.md +0 -407
  298. package/genes/git-workflow/phenotype.json +0 -28
  299. package/genes/grammar-checker/.cloud-manifest.json +0 -6
  300. package/genes/grammar-checker/.gene-manifest.json +0 -8
  301. package/genes/grammar-checker/SKILL.md +0 -194
  302. package/genes/grammar-checker/index.ts +0 -168
  303. package/genes/grammar-checker/package.json +0 -1
  304. package/genes/grammar-checker/phenotype.json +0 -52
  305. package/genes/guard-balanced/.gene-manifest.json +0 -8
  306. package/genes/guard-balanced/phenotype.json +0 -105
  307. package/genes/guard-balanced/system-prompt.md +0 -23
  308. package/genes/guard-strict/.gene-manifest.json +0 -8
  309. package/genes/guard-strict/phenotype.json +0 -107
  310. package/genes/guard-strict/system-prompt.md +0 -18
  311. package/genes/json-validator/.cloud-manifest.json +0 -6
  312. package/genes/json-validator/README.md +0 -42
  313. package/genes/json-validator/index.ts +0 -112
  314. package/genes/json-validator/phenotype.json +0 -42
  315. package/genes/license-advisor/.cloud-manifest.json +0 -6
  316. package/genes/license-advisor/.gene-manifest.json +0 -8
  317. package/genes/license-advisor/SKILL.md +0 -117
  318. package/genes/license-advisor/phenotype.json +0 -28
  319. package/genes/logic-architect/.cloud-manifest.json +0 -6
  320. package/genes/logic-architect/.gene-manifest.json +0 -8
  321. package/genes/logic-architect/SKILL.md +0 -451
  322. package/genes/logic-architect/phenotype.json +0 -28
  323. package/genes/markdown-formatter/.cloud-manifest.json +0 -6
  324. package/genes/markdown-formatter/README.md +0 -34
  325. package/genes/markdown-formatter/index.ts +0 -86
  326. package/genes/markdown-formatter/phenotype.json +0 -32
  327. package/genes/orch/.cloud-manifest.json +0 -6
  328. package/genes/orch/.gene-manifest.json +0 -8
  329. package/genes/orch/SKILL.md +0 -504
  330. package/genes/orch/phenotype.json +0 -28
  331. package/genes/particle-barneshut/.cloud-manifest.json +0 -6
  332. package/genes/particle-barneshut/.compile-result.json +0 -12
  333. package/genes/particle-barneshut/README.md +0 -55
  334. package/genes/particle-barneshut/gene.ir.wasm +0 -0
  335. package/genes/particle-barneshut/gene.wasm +0 -0
  336. package/genes/particle-barneshut/index.ts +0 -486
  337. package/genes/particle-barneshut/phenotype.json +0 -137
  338. package/genes/particle-brute/.cloud-manifest.json +0 -6
  339. package/genes/particle-brute/.compile-result.json +0 -12
  340. package/genes/particle-brute/README.md +0 -55
  341. package/genes/particle-brute/gene.ir.wasm +0 -0
  342. package/genes/particle-brute/gene.wasm +0 -0
  343. package/genes/particle-brute/index.ts +0 -277
  344. package/genes/particle-brute/phenotype.json +0 -137
  345. package/genes/particle-spatial/.cloud-manifest.json +0 -6
  346. package/genes/particle-spatial/.compile-result.json +0 -12
  347. package/genes/particle-spatial/README.md +0 -53
  348. package/genes/particle-spatial/gene.ir.wasm +0 -0
  349. package/genes/particle-spatial/gene.wasm +0 -0
  350. package/genes/particle-spatial/index.ts +0 -352
  351. package/genes/particle-spatial/phenotype.json +0 -137
  352. package/genes/performance-optimizer/.cloud-manifest.json +0 -6
  353. package/genes/performance-optimizer/.gene-manifest.json +0 -8
  354. package/genes/performance-optimizer/SKILL.md +0 -480
  355. package/genes/performance-optimizer/phenotype.json +0 -28
  356. package/genes/plagiarism-checker/.cloud-manifest.json +0 -6
  357. package/genes/plagiarism-checker/.gene-manifest.json +0 -8
  358. package/genes/plagiarism-checker/SKILL.md +0 -342
  359. package/genes/plagiarism-checker/phenotype.json +0 -28
  360. package/genes/product-manager/.cloud-manifest.json +0 -6
  361. package/genes/product-manager/.gene-manifest.json +0 -8
  362. package/genes/product-manager/SKILL.md +0 -249
  363. package/genes/product-manager/phenotype.json +0 -28
  364. package/genes/project-reviewer/.cloud-manifest.json +0 -6
  365. package/genes/project-reviewer/.gene-manifest.json +0 -8
  366. package/genes/project-reviewer/SKILL.md +0 -312
  367. package/genes/project-reviewer/phenotype.json +0 -28
  368. package/genes/prompt-engineer/.cloud-manifest.json +0 -6
  369. package/genes/prompt-engineer/.gene-manifest.json +0 -8
  370. package/genes/prompt-engineer/SKILL.md +0 -411
  371. package/genes/prompt-engineer/phenotype.json +0 -28
  372. package/genes/prompt-review-perf/.gene-manifest.json +0 -8
  373. package/genes/prompt-review-perf/phenotype.json +0 -61
  374. package/genes/prompt-review-perf/system-prompt.md +0 -22
  375. package/genes/prompt-review-readability/.gene-manifest.json +0 -8
  376. package/genes/prompt-review-readability/phenotype.json +0 -60
  377. package/genes/prompt-review-readability/system-prompt.md +0 -21
  378. package/genes/prompt-review-security/.gene-manifest.json +0 -8
  379. package/genes/prompt-review-security/phenotype.json +0 -60
  380. package/genes/prompt-review-security/system-prompt.md +0 -21
  381. package/genes/readability-analyzer/.cloud-manifest.json +0 -6
  382. package/genes/readability-analyzer/.gene-manifest.json +0 -8
  383. package/genes/readability-analyzer/SKILL.md +0 -357
  384. package/genes/readability-analyzer/index.ts +0 -123
  385. package/genes/readability-analyzer/package.json +0 -1
  386. package/genes/readability-analyzer/phenotype.json +0 -35
  387. package/genes/rotifer-protocol/SKILL.md +0 -121
  388. package/genes/rule-router-frequency/.gene-manifest.json +0 -8
  389. package/genes/rule-router-frequency/phenotype.json +0 -76
  390. package/genes/rule-router-frequency/system-prompt.md +0 -26
  391. package/genes/rule-router-relevance/.gene-manifest.json +0 -8
  392. package/genes/rule-router-relevance/phenotype.json +0 -76
  393. package/genes/rule-router-relevance/system-prompt.md +0 -29
  394. package/genes/security-auditor/.cloud-manifest.json +0 -6
  395. package/genes/security-auditor/.gene-manifest.json +0 -8
  396. package/genes/security-auditor/SKILL.md +0 -494
  397. package/genes/security-auditor/phenotype.json +0 -28
  398. package/genes/seo-optimizer/.cloud-manifest.json +0 -6
  399. package/genes/seo-optimizer/.gene-manifest.json +0 -8
  400. package/genes/seo-optimizer/SKILL.md +0 -327
  401. package/genes/seo-optimizer/index.ts +0 -206
  402. package/genes/seo-optimizer/package.json +0 -1
  403. package/genes/seo-optimizer/phenotype.json +0 -1
  404. package/genes/source-linker/.cloud-manifest.json +0 -6
  405. package/genes/source-linker/index.ts +0 -88
  406. package/genes/source-linker/phenotype.json +0 -45
  407. package/genes/style-optimizer/.cloud-manifest.json +0 -6
  408. package/genes/style-optimizer/.gene-manifest.json +0 -8
  409. package/genes/style-optimizer/SKILL.md +0 -285
  410. package/genes/style-optimizer/phenotype.json +0 -28
  411. package/genes/tech-lead/.cloud-manifest.json +0 -6
  412. package/genes/tech-lead/.gene-manifest.json +0 -8
  413. package/genes/tech-lead/SKILL.md +0 -451
  414. package/genes/tech-lead/phenotype.json +0 -28
  415. package/genes/test-wrap/.cloud-manifest.json +0 -6
  416. package/genes/test-wrap/.gene-manifest.json +0 -8
  417. package/genes/test-wrap/phenotype.json +0 -28
  418. package/genes/testing-strategist/.cloud-manifest.json +0 -6
  419. package/genes/testing-strategist/.gene-manifest.json +0 -8
  420. package/genes/testing-strategist/SKILL.md +0 -500
  421. package/genes/testing-strategist/phenotype.json +0 -28
  422. package/genes/text-summarizer/.cloud-manifest.json +0 -6
  423. package/genes/text-summarizer/README.md +0 -34
  424. package/genes/text-summarizer/index.ts +0 -122
  425. package/genes/text-summarizer/phenotype.json +0 -32
  426. package/genes/tone-analyzer/.cloud-manifest.json +0 -6
  427. package/genes/tone-analyzer/.gene-manifest.json +0 -8
  428. package/genes/tone-analyzer/SKILL.md +0 -410
  429. package/genes/tone-analyzer/phenotype.json +0 -28
  430. package/genes/translator/.cloud-manifest.json +0 -6
  431. package/genes/translator/.gene-manifest.json +0 -8
  432. package/genes/translator/SKILL.md +0 -355
  433. package/genes/translator/phenotype.json +0 -28
  434. package/genes/ui-components/.cloud-manifest.json +0 -6
  435. package/genes/ui-components/.gene-manifest.json +0 -8
  436. package/genes/ui-components/SKILL.md +0 -467
  437. package/genes/ui-components/phenotype.json +0 -28
  438. package/genes/uiux-designer/.cloud-manifest.json +0 -6
  439. package/genes/uiux-designer/.gene-manifest.json +0 -8
  440. package/genes/uiux-designer/SKILL.md +0 -353
  441. package/genes/uiux-designer/phenotype.json +0 -28
  442. package/genes/url-extractor/.cloud-manifest.json +0 -6
  443. package/genes/url-extractor/README.md +0 -37
  444. package/genes/url-extractor/index.ts +0 -86
  445. package/genes/url-extractor/phenotype.json +0 -48
  446. package/genes/ux-patterns/.cloud-manifest.json +0 -6
  447. package/genes/ux-patterns/.gene-manifest.json +0 -8
  448. package/genes/ux-patterns/SKILL.md +0 -872
  449. package/genes/ux-patterns/phenotype.json +0 -28
  450. package/genes/web3-components/.cloud-manifest.json +0 -6
  451. package/genes/web3-components/.gene-manifest.json +0 -8
  452. package/genes/web3-components/SKILL.md +0 -390
  453. package/genes/web3-components/phenotype.json +0 -28
@@ -1 +1 @@
1
- {"version":3,"file":"javy-compiler.js","sourceRoot":"","sources":["../../src/utils/javy-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javy-compiler.js","sourceRoot":"","sources":["../../src/utils/javy-compiler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  /**
2
- * Build the shell command to open a URL in the default browser.
2
+ * Get the browser-open binary and arguments for the current platform.
3
3
  * Exported separately for testability.
4
4
  */
5
- export declare function buildOpenCommand(url: string, platform: string): string;
5
+ export declare function buildOpenCommand(url: string, platform: string): {
6
+ bin: string;
7
+ args: string[];
8
+ };
6
9
  /**
7
10
  * Open a URL in the user's default browser, cross-platform.
11
+ * Returns true if the command was launched successfully, false on error.
8
12
  */
9
- export declare function openBrowser(url: string): void;
13
+ export declare function openBrowser(url: string): boolean;
10
14
  //# sourceMappingURL=open-browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C"}
1
+ {"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAM/F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWhD"}
@@ -4,20 +4,31 @@ exports.buildOpenCommand = buildOpenCommand;
4
4
  exports.openBrowser = openBrowser;
5
5
  const node_child_process_1 = require("node:child_process");
6
6
  /**
7
- * Build the shell command to open a URL in the default browser.
7
+ * Get the browser-open binary and arguments for the current platform.
8
8
  * Exported separately for testability.
9
9
  */
10
10
  function buildOpenCommand(url, platform) {
11
11
  if (platform === "win32") {
12
- return `start "" "${url}"`;
12
+ return { bin: "cmd", args: ["/c", "start", "", url] };
13
13
  }
14
14
  const bin = platform === "darwin" ? "open" : "xdg-open";
15
- return `${bin} "${url}"`;
15
+ return { bin, args: [url] };
16
16
  }
17
17
  /**
18
18
  * Open a URL in the user's default browser, cross-platform.
19
+ * Returns true if the command was launched successfully, false on error.
19
20
  */
20
21
  function openBrowser(url) {
21
- (0, node_child_process_1.exec)(buildOpenCommand(url, process.platform));
22
+ const { bin, args } = buildOpenCommand(url, process.platform);
23
+ try {
24
+ const child = (0, node_child_process_1.execFile)(bin, args);
25
+ let didFail = false;
26
+ child.on("error", () => { didFail = true; });
27
+ // Give the spawn a moment; if it errors synchronously we catch above
28
+ return !didFail;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
22
33
  }
23
34
  //# sourceMappingURL=open-browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":";;AAMA,4CAMC;AAKD,kCAEC;AAnBD,2DAA0C;AAE1C;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW,EAAE,QAAgB;IAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,aAAa,GAAG,GAAG,CAAC;IAC7B,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,OAAO,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAA,yBAAI,EAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":";;AAMA,4CAMC;AAMD,kCAWC;AA7BD,2DAA8C;AAE9C;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW,EAAE,QAAgB;IAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,6BAAQ,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,qEAAqE;QACrE,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,49 @@
1
+ import chalk from "chalk";
2
+ /**
3
+ * Bioluminescence brand palette (ADR-190)
4
+ * Inspired by rotifer chloroplast symbiosis bioluminescence.
5
+ */
6
+ export declare const hex: {
7
+ readonly accent: "#00C9A7";
8
+ readonly accentBright: "#00FFD1";
9
+ readonly accentDim: "#009E84";
10
+ readonly brand: "#6366F1";
11
+ readonly info: "#6EC6FF";
12
+ readonly success: "#4ADE80";
13
+ readonly warn: "#FBBF24";
14
+ readonly error: "#F87171";
15
+ readonly muted: "#94A3B8";
16
+ };
17
+ /**
18
+ * Semantic color functions. Uses getters so that chalk.level changes
19
+ * (e.g. --plain sets level=0) take effect at call time, not import time.
20
+ * chalk v4's .hex() captures level at creation — getters recreate per access.
21
+ */
22
+ export declare const c: {
23
+ readonly accent: chalk.Chalk;
24
+ readonly accentBright: chalk.Chalk;
25
+ readonly accentDim: chalk.Chalk;
26
+ readonly brand: chalk.Chalk;
27
+ readonly info: chalk.Chalk;
28
+ readonly success: chalk.Chalk;
29
+ readonly warn: chalk.Chalk;
30
+ readonly error: chalk.Chalk;
31
+ readonly muted: chalk.Chalk;
32
+ readonly bold: chalk.Chalk;
33
+ readonly dim: chalk.Chalk;
34
+ };
35
+ export declare const icon: {
36
+ readonly success: "✓";
37
+ readonly error: "✗";
38
+ readonly warn: "⚠";
39
+ readonly info: "ℹ";
40
+ readonly arrow: "→";
41
+ readonly bullet: "•";
42
+ readonly dash: "─";
43
+ readonly up: "↑";
44
+ readonly down: "↓";
45
+ };
46
+ export declare function fidelityColor(fidelity: string): string;
47
+ export declare function scoreColor(score: number | null | undefined): string;
48
+ export declare function scoreColor2(score: number | null | undefined): string;
49
+ //# sourceMappingURL=palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/utils/palette.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;CAUN,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,CAAC;;;;;;;;;;;;CAYb,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;CAUP,CAAC;AAEX,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAKnE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAKpE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.icon = exports.c = exports.hex = void 0;
7
+ exports.fidelityColor = fidelityColor;
8
+ exports.scoreColor = scoreColor;
9
+ exports.scoreColor2 = scoreColor2;
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ /**
12
+ * Bioluminescence brand palette (ADR-190)
13
+ * Inspired by rotifer chloroplast symbiosis bioluminescence.
14
+ */
15
+ exports.hex = {
16
+ accent: "#00C9A7",
17
+ accentBright: "#00FFD1",
18
+ accentDim: "#009E84",
19
+ brand: "#6366F1",
20
+ info: "#6EC6FF",
21
+ success: "#4ADE80",
22
+ warn: "#FBBF24",
23
+ error: "#F87171",
24
+ muted: "#94A3B8",
25
+ };
26
+ /**
27
+ * Semantic color functions. Uses getters so that chalk.level changes
28
+ * (e.g. --plain sets level=0) take effect at call time, not import time.
29
+ * chalk v4's .hex() captures level at creation — getters recreate per access.
30
+ */
31
+ exports.c = {
32
+ get accent() { return chalk_1.default.hex(exports.hex.accent); },
33
+ get accentBright() { return chalk_1.default.hex(exports.hex.accentBright); },
34
+ get accentDim() { return chalk_1.default.hex(exports.hex.accentDim); },
35
+ get brand() { return chalk_1.default.hex(exports.hex.brand); },
36
+ get info() { return chalk_1.default.hex(exports.hex.info); },
37
+ get success() { return chalk_1.default.hex(exports.hex.success); },
38
+ get warn() { return chalk_1.default.hex(exports.hex.warn); },
39
+ get error() { return chalk_1.default.hex(exports.hex.error); },
40
+ get muted() { return chalk_1.default.hex(exports.hex.muted); },
41
+ get bold() { return chalk_1.default.bold; },
42
+ get dim() { return chalk_1.default.dim; },
43
+ };
44
+ exports.icon = {
45
+ success: "✓",
46
+ error: "✗",
47
+ warn: "⚠",
48
+ info: "ℹ",
49
+ arrow: "→",
50
+ bullet: "•",
51
+ dash: "─",
52
+ up: "↑",
53
+ down: "↓",
54
+ };
55
+ function fidelityColor(fidelity) {
56
+ if (fidelity === "Native")
57
+ return exports.c.success(fidelity);
58
+ if (fidelity === "Hybrid")
59
+ return exports.c.brand(fidelity);
60
+ return exports.c.muted(fidelity);
61
+ }
62
+ function scoreColor(score) {
63
+ if (score == null)
64
+ return exports.c.muted("—");
65
+ if (score >= 0.7)
66
+ return exports.c.success(score.toFixed(4));
67
+ if (score >= 0.3)
68
+ return exports.c.warn(score.toFixed(4));
69
+ return exports.c.muted(score.toFixed(4));
70
+ }
71
+ function scoreColor2(score) {
72
+ if (score == null)
73
+ return exports.c.muted("—");
74
+ if (score >= 0.7)
75
+ return exports.c.success(score.toFixed(2));
76
+ if (score >= 0.3)
77
+ return exports.c.warn(score.toFixed(2));
78
+ return exports.c.muted(score.toFixed(2));
79
+ }
80
+ //# sourceMappingURL=palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/utils/palette.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function ensurePrivateDir(dirPath: string): void;
2
+ export declare function tightenPrivateFile(filePath: string, mode?: number): void;
3
+ //# sourceMappingURL=private-fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-fs.d.ts","sourceRoot":"","sources":["../../src/utils/private-fs.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAUtD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAc,GAAG,IAAI,CAM/E"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensurePrivateDir = ensurePrivateDir;
4
+ exports.tightenPrivateFile = tightenPrivateFile;
5
+ const node_fs_1 = require("node:fs");
6
+ function ensurePrivateDir(dirPath) {
7
+ if (!(0, node_fs_1.existsSync)(dirPath)) {
8
+ (0, node_fs_1.mkdirSync)(dirPath, { recursive: true, mode: 0o700 });
9
+ }
10
+ try {
11
+ (0, node_fs_1.chmodSync)(dirPath, 0o700);
12
+ }
13
+ catch {
14
+ // Best-effort hardening on existing directories.
15
+ }
16
+ }
17
+ function tightenPrivateFile(filePath, mode = 0o600) {
18
+ try {
19
+ (0, node_fs_1.chmodSync)(filePath, mode);
20
+ }
21
+ catch {
22
+ // Best-effort hardening on files that were just created or updated.
23
+ }
24
+ }
25
+ //# sourceMappingURL=private-fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-fs.js","sourceRoot":"","sources":["../../src/utils/private-fs.ts"],"names":[],"mappings":";;AAEA,4CAUC;AAED,gDAMC;AApBD,qCAA2D;AAE3D,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAA,mBAAS,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC;QACH,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,OAAe,KAAK;IACvE,IAAI,CAAC;QACH,IAAA,mBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function requireProjectRoot(): string;
2
+ //# sourceMappingURL=project-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,IAAI,MAAM,CAS3C"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.requireProjectRoot = requireProjectRoot;
37
+ const display = __importStar(require("./display.js"));
38
+ const config_js_1 = require("./config.js");
39
+ function requireProjectRoot() {
40
+ try {
41
+ return (0, config_js_1.getProjectRoot)();
42
+ }
43
+ catch {
44
+ display.error("Not in a Rotifer project. Run 'rotifer init' first.");
45
+ process.exit(1);
46
+ }
47
+ throw new Error("unreachable");
48
+ }
49
+ //# sourceMappingURL=project-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,gDASC;AAZD,sDAAwC;AACxC,2CAA6C;AAE7C,SAAgB,kBAAkB;IAChC,IAAI,CAAC;QACH,OAAO,IAAA,0BAAc,GAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,24 @@
1
+ interface GeneExecutionMeta {
2
+ geneName: string;
3
+ success: boolean;
4
+ durationMs: number;
5
+ inputSize: number;
6
+ outputSize: number;
7
+ error?: string;
8
+ resourceCost?: number;
9
+ }
10
+ export declare function logGeneExecution(meta: GeneExecutionMeta): void;
11
+ export declare function getLogDir(): string;
12
+ export interface RunLogEntry {
13
+ geneId: string;
14
+ timestamp: string;
15
+ success: boolean;
16
+ durationMs: number;
17
+ inputSize: number;
18
+ outputSize: number;
19
+ error?: string;
20
+ resourceCost?: number;
21
+ }
22
+ export declare function readRunLogs(geneName: string): RunLogEntry[];
23
+ export {};
24
+ //# sourceMappingURL=run-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-logger.d.ts","sourceRoot":"","sources":["../../src/utils/run-logger.ts"],"names":[],"mappings":"AAQA,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA8B9D;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAiB3D"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logGeneExecution = logGeneExecution;
4
+ exports.getLogDir = getLogDir;
5
+ exports.readRunLogs = readRunLogs;
6
+ const node_fs_1 = require("node:fs");
7
+ const node_path_1 = require("node:path");
8
+ const node_os_1 = require("node:os");
9
+ const private_fs_js_1 = require("./private-fs.js");
10
+ const MAX_LOG_SIZE = 10 * 1024 * 1024; // 10MB rotation
11
+ const LOG_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), ".rotifer", "run-logs");
12
+ function logGeneExecution(meta) {
13
+ try {
14
+ (0, private_fs_js_1.ensurePrivateDir)(LOG_DIR);
15
+ const logFile = (0, node_path_1.join)(LOG_DIR, `${meta.geneName}.jsonl`);
16
+ if ((0, node_fs_1.existsSync)(logFile)) {
17
+ const stats = (0, node_fs_1.statSync)(logFile);
18
+ if (stats.size > MAX_LOG_SIZE) {
19
+ const rotated = logFile + ".old";
20
+ try {
21
+ (0, node_fs_1.renameSync)(logFile, rotated);
22
+ }
23
+ catch { /* best-effort */ }
24
+ }
25
+ }
26
+ const entry = {
27
+ geneId: meta.geneName,
28
+ timestamp: new Date().toISOString(),
29
+ success: meta.success,
30
+ durationMs: Math.round(meta.durationMs),
31
+ inputSize: meta.inputSize,
32
+ outputSize: meta.outputSize,
33
+ error: meta.error || undefined,
34
+ resourceCost: meta.resourceCost || undefined,
35
+ };
36
+ (0, node_fs_1.appendFileSync)(logFile, JSON.stringify(entry) + "\n", { mode: 0o600 });
37
+ (0, private_fs_js_1.tightenPrivateFile)(logFile);
38
+ }
39
+ catch {
40
+ // Zero-disruption: never throw from logging
41
+ }
42
+ }
43
+ function getLogDir() {
44
+ return LOG_DIR;
45
+ }
46
+ function readRunLogs(geneName) {
47
+ const logFile = (0, node_path_1.join)(LOG_DIR, `${geneName}.jsonl`);
48
+ if (!(0, node_fs_1.existsSync)(logFile))
49
+ return [];
50
+ try {
51
+ const { readFileSync } = require("node:fs");
52
+ const content = readFileSync(logFile, "utf-8");
53
+ return content
54
+ .split("\n")
55
+ .filter((line) => line.trim())
56
+ .map((line) => {
57
+ try {
58
+ return JSON.parse(line);
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ })
64
+ .filter(Boolean);
65
+ }
66
+ catch {
67
+ return [];
68
+ }
69
+ }
70
+ //# sourceMappingURL=run-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-logger.js","sourceRoot":"","sources":["../../src/utils/run-logger.ts"],"names":[],"mappings":";;AAkBA,4CA8BC;AAED,8BAEC;AAaD,kCAiBC;AAlFD,qCAA2E;AAC3E,yCAAiC;AACjC,qCAAkC;AAClC,mDAAuE;AAEvE,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,gBAAgB;AACvD,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAYxD,SAAgB,gBAAgB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACH,IAAA,gCAAgB,EAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC;QAExD,IAAI,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;gBACjC,IAAI,CAAC;oBAAC,IAAA,oBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;SAC7C,CAAC;QAEF,IAAA,wBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAA,kCAAkB,EAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAaD,SAAgB,WAAW,CAAC,QAAgB;IAC1C,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACrC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YACpB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;QACzD,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAkB,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_SANDBOX_CONSTRAINTS: {
2
+ max_fuel: number;
3
+ max_memory_bytes: number;
4
+ max_execution_time_ms: number;
5
+ allowed_host_functions: string[];
6
+ denied_host_functions: string[];
7
+ };
8
+ export declare const DEFAULT_SANDBOX_CONSTRAINTS_JSON: string;
9
+ //# sourceMappingURL=sandbox-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-defaults.d.ts","sourceRoot":"","sources":["../../src/utils/sandbox-defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;4BAIR,MAAM,EAAE;2BACT,MAAM,EAAE;CACtC,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAE5C,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_SANDBOX_CONSTRAINTS_JSON = exports.DEFAULT_SANDBOX_CONSTRAINTS = void 0;
4
+ exports.DEFAULT_SANDBOX_CONSTRAINTS = {
5
+ max_fuel: 500_000_000,
6
+ max_memory_bytes: 256 * 1024 * 1024,
7
+ max_execution_time_ms: 60_000,
8
+ allowed_host_functions: [],
9
+ denied_host_functions: [],
10
+ };
11
+ exports.DEFAULT_SANDBOX_CONSTRAINTS_JSON = JSON.stringify(exports.DEFAULT_SANDBOX_CONSTRAINTS);
12
+ //# sourceMappingURL=sandbox-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-defaults.js","sourceRoot":"","sources":["../../src/utils/sandbox-defaults.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG;IACzC,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACnC,qBAAqB,EAAE,MAAM;IAC7B,sBAAsB,EAAE,EAAc;IACtC,qBAAqB,EAAE,EAAc;CACtC,CAAC;AAEW,QAAA,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAC5D,mCAA2B,CAC5B,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare function isMajorUpgrade(current: string, latest: string): boolean;
2
+ export interface UpdateInfo {
3
+ current: string;
4
+ latest: string;
5
+ isMajor: boolean;
6
+ }
7
+ /**
8
+ * Non-blocking version check against npm registry.
9
+ * Returns update info if a newer version exists, null otherwise.
10
+ * Caches results for 24 hours. Never throws — fails silently.
11
+ */
12
+ export declare function checkForUpdate(pkgName: string, currentVersion: string): Promise<UpdateInfo | null>;
13
+ /**
14
+ * Synchronous cache-only check. Returns UpdateInfo if cache is fresh and
15
+ * a newer version exists, null otherwise. Never hits the network.
16
+ * Use this to register process.on("exit") handlers that survive process.exit().
17
+ */
18
+ export declare function checkCacheSync(pkgName: string, currentVersion: string): UpdateInfo | null;
19
+ export declare function printUpdateNotification(info: UpdateInfo, pkgName: string): void;
20
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"AA+EA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2B5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,UAAU,GAAG,IAAI,CAUnB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAwB/E"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMajorUpgrade = isMajorUpgrade;
4
+ exports.checkForUpdate = checkForUpdate;
5
+ exports.checkCacheSync = checkCacheSync;
6
+ exports.printUpdateNotification = printUpdateNotification;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = require("node:path");
9
+ const node_os_1 = require("node:os");
10
+ const palette_js_1 = require("./palette.js");
11
+ const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
12
+ function getConfigDir() {
13
+ return process.env.ROTIFER_CONFIG_DIR || (0, node_path_1.join)((0, node_os_1.homedir)(), ".config", "rotifer");
14
+ }
15
+ function getCacheFile() {
16
+ return (0, node_path_1.join)(getConfigDir(), "update-check.json");
17
+ }
18
+ const REGISTRY_URL = "https://registry.npmjs.org";
19
+ const FETCH_TIMEOUT_MS = 5000;
20
+ function shouldSkip() {
21
+ if (process.env.CI)
22
+ return true;
23
+ if (process.env.NO_UPDATE_NOTIFIER)
24
+ return true;
25
+ if (process.env.ROTIFER_NO_UPDATE_CHECK)
26
+ return true;
27
+ if (isRunViaNpx())
28
+ return true;
29
+ return false;
30
+ }
31
+ function isRunViaNpx() {
32
+ const execPath = process.env.npm_execpath || "";
33
+ const npmCommand = process.env.npm_command || "";
34
+ return execPath.includes("npx") || npmCommand === "exec";
35
+ }
36
+ function readCache() {
37
+ try {
38
+ const f = getCacheFile();
39
+ if ((0, node_fs_1.existsSync)(f)) {
40
+ return JSON.parse((0, node_fs_1.readFileSync)(f, "utf-8"));
41
+ }
42
+ }
43
+ catch { /* corrupt cache, regenerate */ }
44
+ return {};
45
+ }
46
+ function writeCache(cache) {
47
+ try {
48
+ (0, node_fs_1.mkdirSync)(getConfigDir(), { recursive: true });
49
+ (0, node_fs_1.writeFileSync)(getCacheFile(), JSON.stringify(cache, null, 2));
50
+ }
51
+ catch { /* non-critical */ }
52
+ }
53
+ async function fetchLatestVersion(pkgName) {
54
+ try {
55
+ const controller = new AbortController();
56
+ const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
57
+ const res = await fetch(`${REGISTRY_URL}/${encodeURIComponent(pkgName)}/latest`, {
58
+ signal: controller.signal,
59
+ headers: { accept: "application/json" },
60
+ });
61
+ clearTimeout(timeout);
62
+ if (!res.ok)
63
+ return null;
64
+ const data = await res.json();
65
+ return data.version || null;
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ }
71
+ function compareSemver(a, b) {
72
+ const pa = a.split(".").map(Number);
73
+ const pb = b.split(".").map(Number);
74
+ for (let i = 0; i < 3; i++) {
75
+ if ((pa[i] || 0) > (pb[i] || 0))
76
+ return 1;
77
+ if ((pa[i] || 0) < (pb[i] || 0))
78
+ return -1;
79
+ }
80
+ return 0;
81
+ }
82
+ function isMajorUpgrade(current, latest) {
83
+ const curMajor = parseInt(current.split(".")[0], 10);
84
+ const latMajor = parseInt(latest.split(".")[0], 10);
85
+ return latMajor > curMajor;
86
+ }
87
+ /**
88
+ * Non-blocking version check against npm registry.
89
+ * Returns update info if a newer version exists, null otherwise.
90
+ * Caches results for 24 hours. Never throws — fails silently.
91
+ */
92
+ async function checkForUpdate(pkgName, currentVersion) {
93
+ if (shouldSkip())
94
+ return null;
95
+ try {
96
+ const cache = readCache();
97
+ const entry = cache[pkgName];
98
+ if (entry && Date.now() - entry.lastCheck < CHECK_INTERVAL_MS) {
99
+ if (compareSemver(entry.latest, currentVersion) > 0) {
100
+ return { current: currentVersion, latest: entry.latest, isMajor: isMajorUpgrade(currentVersion, entry.latest) };
101
+ }
102
+ return null;
103
+ }
104
+ const latest = await fetchLatestVersion(pkgName);
105
+ if (!latest)
106
+ return null;
107
+ cache[pkgName] = { lastCheck: Date.now(), latest };
108
+ writeCache(cache);
109
+ if (compareSemver(latest, currentVersion) > 0) {
110
+ return { current: currentVersion, latest, isMajor: isMajorUpgrade(currentVersion, latest) };
111
+ }
112
+ return null;
113
+ }
114
+ catch {
115
+ return null;
116
+ }
117
+ }
118
+ /**
119
+ * Synchronous cache-only check. Returns UpdateInfo if cache is fresh and
120
+ * a newer version exists, null otherwise. Never hits the network.
121
+ * Use this to register process.on("exit") handlers that survive process.exit().
122
+ */
123
+ function checkCacheSync(pkgName, currentVersion) {
124
+ if (shouldSkip())
125
+ return null;
126
+ try {
127
+ const cache = readCache();
128
+ const entry = cache[pkgName];
129
+ if (entry && compareSemver(entry.latest, currentVersion) > 0) {
130
+ return { current: currentVersion, latest: entry.latest, isMajor: isMajorUpgrade(currentVersion, entry.latest) };
131
+ }
132
+ }
133
+ catch { /* non-critical */ }
134
+ return null;
135
+ }
136
+ function printUpdateNotification(info, pkgName) {
137
+ const border = palette_js_1.c.warn(palette_js_1.icon.dash.repeat(50));
138
+ console.error("");
139
+ console.error(border);
140
+ console.error(palette_js_1.c.warn(" Update available: ") +
141
+ palette_js_1.c.error(info.current) +
142
+ palette_js_1.c.warn(` ${palette_js_1.icon.arrow} `) +
143
+ palette_js_1.c.success(info.latest));
144
+ if (info.isMajor) {
145
+ console.error(palette_js_1.c.error(` ${palette_js_1.icon.warn} Major version upgrade — review breaking changes first`));
146
+ }
147
+ console.error(palette_js_1.c.warn(" Run ") +
148
+ palette_js_1.c.accent(`npm i -g ${pkgName}@latest`) +
149
+ palette_js_1.c.warn(" to update"));
150
+ console.error(palette_js_1.c.warn(" Or: ") +
151
+ palette_js_1.c.accent("rotifer self-update"));
152
+ console.error(border);
153
+ console.error("");
154
+ }
155
+ //# sourceMappingURL=update-check.js.map