@rulemetric/cli 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/bin/dev.js +3 -0
  2. package/bin/run.js +3 -0
  3. package/dist/base-command.d.ts +12 -0
  4. package/dist/base-command.d.ts.map +1 -0
  5. package/dist/base-command.js +37 -0
  6. package/dist/base-command.js.map +1 -0
  7. package/dist/commands/auth/create-key.d.ts +11 -0
  8. package/dist/commands/auth/create-key.d.ts.map +1 -0
  9. package/dist/commands/auth/create-key.js +34 -0
  10. package/dist/commands/auth/create-key.js.map +1 -0
  11. package/dist/commands/auth/login.d.ts +11 -0
  12. package/dist/commands/auth/login.d.ts.map +1 -0
  13. package/dist/commands/auth/login.js +40 -0
  14. package/dist/commands/auth/login.js.map +1 -0
  15. package/dist/commands/auth/logout.d.ts +7 -0
  16. package/dist/commands/auth/logout.d.ts.map +1 -0
  17. package/dist/commands/auth/logout.js +13 -0
  18. package/dist/commands/auth/logout.js.map +1 -0
  19. package/dist/commands/auth/revoke-key.d.ts +10 -0
  20. package/dist/commands/auth/revoke-key.d.ts.map +1 -0
  21. package/dist/commands/auth/revoke-key.js +18 -0
  22. package/dist/commands/auth/revoke-key.js.map +1 -0
  23. package/dist/commands/auth/status.d.ts +7 -0
  24. package/dist/commands/auth/status.d.ts.map +1 -0
  25. package/dist/commands/auth/status.js +23 -0
  26. package/dist/commands/auth/status.js.map +1 -0
  27. package/dist/commands/catalog/index.d.ts +11 -0
  28. package/dist/commands/catalog/index.d.ts.map +1 -0
  29. package/dist/commands/catalog/index.js +35 -0
  30. package/dist/commands/catalog/index.js.map +1 -0
  31. package/dist/commands/catalog/recommend.d.ts +9 -0
  32. package/dist/commands/catalog/recommend.d.ts.map +1 -0
  33. package/dist/commands/catalog/recommend.js +27 -0
  34. package/dist/commands/catalog/recommend.js.map +1 -0
  35. package/dist/commands/convert.d.ts +15 -0
  36. package/dist/commands/convert.d.ts.map +1 -0
  37. package/dist/commands/convert.js +55 -0
  38. package/dist/commands/convert.js.map +1 -0
  39. package/dist/commands/converters.d.ts +12 -0
  40. package/dist/commands/converters.d.ts.map +1 -0
  41. package/dist/commands/converters.js +39 -0
  42. package/dist/commands/converters.js.map +1 -0
  43. package/dist/commands/dashboard.d.ts +10 -0
  44. package/dist/commands/dashboard.d.ts.map +1 -0
  45. package/dist/commands/dashboard.js +24 -0
  46. package/dist/commands/dashboard.js.map +1 -0
  47. package/dist/commands/eval-targets/create.d.ts +14 -0
  48. package/dist/commands/eval-targets/create.d.ts.map +1 -0
  49. package/dist/commands/eval-targets/create.js +40 -0
  50. package/dist/commands/eval-targets/create.js.map +1 -0
  51. package/dist/commands/eval-targets/list.d.ts +10 -0
  52. package/dist/commands/eval-targets/list.d.ts.map +1 -0
  53. package/dist/commands/eval-targets/list.js +36 -0
  54. package/dist/commands/eval-targets/list.js.map +1 -0
  55. package/dist/commands/evals/benchmark.d.ts +13 -0
  56. package/dist/commands/evals/benchmark.d.ts.map +1 -0
  57. package/dist/commands/evals/benchmark.js +53 -0
  58. package/dist/commands/evals/benchmark.js.map +1 -0
  59. package/dist/commands/evals/compare.d.ts +15 -0
  60. package/dist/commands/evals/compare.d.ts.map +1 -0
  61. package/dist/commands/evals/compare.js +101 -0
  62. package/dist/commands/evals/compare.js.map +1 -0
  63. package/dist/commands/evals/create.d.ts +17 -0
  64. package/dist/commands/evals/create.d.ts.map +1 -0
  65. package/dist/commands/evals/create.js +52 -0
  66. package/dist/commands/evals/create.js.map +1 -0
  67. package/dist/commands/evals/listen.d.ts +11 -0
  68. package/dist/commands/evals/listen.d.ts.map +1 -0
  69. package/dist/commands/evals/listen.js +54 -0
  70. package/dist/commands/evals/listen.js.map +1 -0
  71. package/dist/commands/evals/optimize-description.d.ts +22 -0
  72. package/dist/commands/evals/optimize-description.d.ts.map +1 -0
  73. package/dist/commands/evals/optimize-description.js +269 -0
  74. package/dist/commands/evals/optimize-description.js.map +1 -0
  75. package/dist/commands/evals/optimize.d.ts +22 -0
  76. package/dist/commands/evals/optimize.d.ts.map +1 -0
  77. package/dist/commands/evals/optimize.js +200 -0
  78. package/dist/commands/evals/optimize.js.map +1 -0
  79. package/dist/commands/evals/run.d.ts +21 -0
  80. package/dist/commands/evals/run.d.ts.map +1 -0
  81. package/dist/commands/evals/run.js +168 -0
  82. package/dist/commands/evals/run.js.map +1 -0
  83. package/dist/commands/gateway/ensure.d.ts +7 -0
  84. package/dist/commands/gateway/ensure.d.ts.map +1 -0
  85. package/dist/commands/gateway/ensure.js +20 -0
  86. package/dist/commands/gateway/ensure.js.map +1 -0
  87. package/dist/commands/hooks/install.d.ts +16 -0
  88. package/dist/commands/hooks/install.d.ts.map +1 -0
  89. package/dist/commands/hooks/install.js +248 -0
  90. package/dist/commands/hooks/install.js.map +1 -0
  91. package/dist/commands/hooks/run.d.ts +11 -0
  92. package/dist/commands/hooks/run.d.ts.map +1 -0
  93. package/dist/commands/hooks/run.js +56 -0
  94. package/dist/commands/hooks/run.js.map +1 -0
  95. package/dist/commands/hooks/uninstall.d.ts +7 -0
  96. package/dist/commands/hooks/uninstall.d.ts.map +1 -0
  97. package/dist/commands/hooks/uninstall.js +88 -0
  98. package/dist/commands/hooks/uninstall.js.map +1 -0
  99. package/dist/commands/import.d.ts +17 -0
  100. package/dist/commands/import.d.ts.map +1 -0
  101. package/dist/commands/import.js +55 -0
  102. package/dist/commands/import.js.map +1 -0
  103. package/dist/commands/insights/sync.d.ts +17 -0
  104. package/dist/commands/insights/sync.d.ts.map +1 -0
  105. package/dist/commands/insights/sync.js +477 -0
  106. package/dist/commands/insights/sync.js.map +1 -0
  107. package/dist/commands/instructions/create.d.ts +17 -0
  108. package/dist/commands/instructions/create.d.ts.map +1 -0
  109. package/dist/commands/instructions/create.js +60 -0
  110. package/dist/commands/instructions/create.js.map +1 -0
  111. package/dist/commands/instructions/delete.d.ts +13 -0
  112. package/dist/commands/instructions/delete.d.ts.map +1 -0
  113. package/dist/commands/instructions/delete.js +37 -0
  114. package/dist/commands/instructions/delete.js.map +1 -0
  115. package/dist/commands/instructions/fork.d.ts +10 -0
  116. package/dist/commands/instructions/fork.d.ts.map +1 -0
  117. package/dist/commands/instructions/fork.js +19 -0
  118. package/dist/commands/instructions/fork.js.map +1 -0
  119. package/dist/commands/instructions/get.d.ts +15 -0
  120. package/dist/commands/instructions/get.d.ts.map +1 -0
  121. package/dist/commands/instructions/get.js +50 -0
  122. package/dist/commands/instructions/get.js.map +1 -0
  123. package/dist/commands/instructions/list.d.ts +12 -0
  124. package/dist/commands/instructions/list.d.ts.map +1 -0
  125. package/dist/commands/instructions/list.js +47 -0
  126. package/dist/commands/instructions/list.js.map +1 -0
  127. package/dist/commands/instructions/promote.d.ts +14 -0
  128. package/dist/commands/instructions/promote.d.ts.map +1 -0
  129. package/dist/commands/instructions/promote.js +27 -0
  130. package/dist/commands/instructions/promote.js.map +1 -0
  131. package/dist/commands/instructions/pull.d.ts +9 -0
  132. package/dist/commands/instructions/pull.d.ts.map +1 -0
  133. package/dist/commands/instructions/pull.js +22 -0
  134. package/dist/commands/instructions/pull.js.map +1 -0
  135. package/dist/commands/instructions/upstream.d.ts +9 -0
  136. package/dist/commands/instructions/upstream.d.ts.map +1 -0
  137. package/dist/commands/instructions/upstream.js +22 -0
  138. package/dist/commands/instructions/upstream.js.map +1 -0
  139. package/dist/commands/instructions/versions.d.ts +12 -0
  140. package/dist/commands/instructions/versions.d.ts.map +1 -0
  141. package/dist/commands/instructions/versions.js +34 -0
  142. package/dist/commands/instructions/versions.js.map +1 -0
  143. package/dist/commands/packs/add-instruction.d.ts +11 -0
  144. package/dist/commands/packs/add-instruction.d.ts.map +1 -0
  145. package/dist/commands/packs/add-instruction.js +22 -0
  146. package/dist/commands/packs/add-instruction.js.map +1 -0
  147. package/dist/commands/packs/apply.d.ts +13 -0
  148. package/dist/commands/packs/apply.d.ts.map +1 -0
  149. package/dist/commands/packs/apply.js +24 -0
  150. package/dist/commands/packs/apply.js.map +1 -0
  151. package/dist/commands/packs/create.d.ts +13 -0
  152. package/dist/commands/packs/create.d.ts.map +1 -0
  153. package/dist/commands/packs/create.js +35 -0
  154. package/dist/commands/packs/create.js.map +1 -0
  155. package/dist/commands/packs/fork.d.ts +10 -0
  156. package/dist/commands/packs/fork.d.ts.map +1 -0
  157. package/dist/commands/packs/fork.js +19 -0
  158. package/dist/commands/packs/fork.js.map +1 -0
  159. package/dist/commands/packs/get.d.ts +10 -0
  160. package/dist/commands/packs/get.d.ts.map +1 -0
  161. package/dist/commands/packs/get.js +36 -0
  162. package/dist/commands/packs/get.js.map +1 -0
  163. package/dist/commands/packs/list.d.ts +22 -0
  164. package/dist/commands/packs/list.d.ts.map +1 -0
  165. package/dist/commands/packs/list.js +48 -0
  166. package/dist/commands/packs/list.js.map +1 -0
  167. package/dist/commands/packs/remove-instruction.d.ts +11 -0
  168. package/dist/commands/packs/remove-instruction.d.ts.map +1 -0
  169. package/dist/commands/packs/remove-instruction.js +20 -0
  170. package/dist/commands/packs/remove-instruction.js.map +1 -0
  171. package/dist/commands/proxy/env.d.ts +14 -0
  172. package/dist/commands/proxy/env.d.ts.map +1 -0
  173. package/dist/commands/proxy/env.js +118 -0
  174. package/dist/commands/proxy/env.js.map +1 -0
  175. package/dist/commands/proxy/logs.d.ts +11 -0
  176. package/dist/commands/proxy/logs.d.ts.map +1 -0
  177. package/dist/commands/proxy/logs.js +75 -0
  178. package/dist/commands/proxy/logs.js.map +1 -0
  179. package/dist/commands/proxy/setup.d.ts +23 -0
  180. package/dist/commands/proxy/setup.d.ts.map +1 -0
  181. package/dist/commands/proxy/setup.js +391 -0
  182. package/dist/commands/proxy/setup.js.map +1 -0
  183. package/dist/commands/proxy/start.d.ts +17 -0
  184. package/dist/commands/proxy/start.d.ts.map +1 -0
  185. package/dist/commands/proxy/start.js +306 -0
  186. package/dist/commands/proxy/start.js.map +1 -0
  187. package/dist/commands/proxy/status.d.ts +7 -0
  188. package/dist/commands/proxy/status.d.ts.map +1 -0
  189. package/dist/commands/proxy/status.js +65 -0
  190. package/dist/commands/proxy/status.js.map +1 -0
  191. package/dist/commands/proxy/stop.d.ts +8 -0
  192. package/dist/commands/proxy/stop.d.ts.map +1 -0
  193. package/dist/commands/proxy/stop.js +77 -0
  194. package/dist/commands/proxy/stop.js.map +1 -0
  195. package/dist/commands/service/install.d.ts +17 -0
  196. package/dist/commands/service/install.d.ts.map +1 -0
  197. package/dist/commands/service/install.js +383 -0
  198. package/dist/commands/service/install.js.map +1 -0
  199. package/dist/commands/service/install.test.d.ts +2 -0
  200. package/dist/commands/service/install.test.d.ts.map +1 -0
  201. package/dist/commands/service/install.test.js +345 -0
  202. package/dist/commands/service/install.test.js.map +1 -0
  203. package/dist/commands/service/status.d.ts +6 -0
  204. package/dist/commands/service/status.d.ts.map +1 -0
  205. package/dist/commands/service/status.js +112 -0
  206. package/dist/commands/service/status.js.map +1 -0
  207. package/dist/commands/service/uninstall.d.ts +6 -0
  208. package/dist/commands/service/uninstall.d.ts.map +1 -0
  209. package/dist/commands/service/uninstall.js +84 -0
  210. package/dist/commands/service/uninstall.js.map +1 -0
  211. package/dist/commands/sessions/analyze.d.ts +10 -0
  212. package/dist/commands/sessions/analyze.d.ts.map +1 -0
  213. package/dist/commands/sessions/analyze.js +26 -0
  214. package/dist/commands/sessions/analyze.js.map +1 -0
  215. package/dist/commands/sessions/end.d.ts +9 -0
  216. package/dist/commands/sessions/end.d.ts.map +1 -0
  217. package/dist/commands/sessions/end.js +82 -0
  218. package/dist/commands/sessions/end.js.map +1 -0
  219. package/dist/commands/sessions/import.d.ts +13 -0
  220. package/dist/commands/sessions/import.d.ts.map +1 -0
  221. package/dist/commands/sessions/import.js +28 -0
  222. package/dist/commands/sessions/import.js.map +1 -0
  223. package/dist/commands/sessions/list.d.ts +11 -0
  224. package/dist/commands/sessions/list.d.ts.map +1 -0
  225. package/dist/commands/sessions/list.js +34 -0
  226. package/dist/commands/sessions/list.js.map +1 -0
  227. package/dist/commands/sessions/start.d.ts +11 -0
  228. package/dist/commands/sessions/start.d.ts.map +1 -0
  229. package/dist/commands/sessions/start.js +83 -0
  230. package/dist/commands/sessions/start.js.map +1 -0
  231. package/dist/commands/skills/install.d.ts +15 -0
  232. package/dist/commands/skills/install.d.ts.map +1 -0
  233. package/dist/commands/skills/install.js +91 -0
  234. package/dist/commands/skills/install.js.map +1 -0
  235. package/dist/commands/skills/list.d.ts +11 -0
  236. package/dist/commands/skills/list.d.ts.map +1 -0
  237. package/dist/commands/skills/list.js +47 -0
  238. package/dist/commands/skills/list.js.map +1 -0
  239. package/dist/commands/skills/search.d.ts +17 -0
  240. package/dist/commands/skills/search.d.ts.map +1 -0
  241. package/dist/commands/skills/search.js +56 -0
  242. package/dist/commands/skills/search.js.map +1 -0
  243. package/dist/commands/skills/update.d.ts +7 -0
  244. package/dist/commands/skills/update.d.ts.map +1 -0
  245. package/dist/commands/skills/update.js +30 -0
  246. package/dist/commands/skills/update.js.map +1 -0
  247. package/dist/dashboard/Dashboard.d.ts +3 -0
  248. package/dist/dashboard/Dashboard.d.ts.map +1 -0
  249. package/dist/dashboard/Dashboard.js +132 -0
  250. package/dist/dashboard/Dashboard.js.map +1 -0
  251. package/dist/dashboard/data.d.ts +11 -0
  252. package/dist/dashboard/data.d.ts.map +1 -0
  253. package/dist/dashboard/data.js +137 -0
  254. package/dist/dashboard/data.js.map +1 -0
  255. package/dist/dashboard/panels/friction.d.ts +7 -0
  256. package/dist/dashboard/panels/friction.d.ts.map +1 -0
  257. package/dist/dashboard/panels/friction.js +22 -0
  258. package/dist/dashboard/panels/friction.js.map +1 -0
  259. package/dist/dashboard/panels/insights.d.ts +8 -0
  260. package/dist/dashboard/panels/insights.d.ts.map +1 -0
  261. package/dist/dashboard/panels/insights.js +109 -0
  262. package/dist/dashboard/panels/insights.js.map +1 -0
  263. package/dist/dashboard/panels/instructions.d.ts +9 -0
  264. package/dist/dashboard/panels/instructions.d.ts.map +1 -0
  265. package/dist/dashboard/panels/instructions.js +17 -0
  266. package/dist/dashboard/panels/instructions.js.map +1 -0
  267. package/dist/dashboard/panels/outcomes.d.ts +7 -0
  268. package/dist/dashboard/panels/outcomes.d.ts.map +1 -0
  269. package/dist/dashboard/panels/outcomes.js +29 -0
  270. package/dist/dashboard/panels/outcomes.js.map +1 -0
  271. package/dist/dashboard/panels/overview.d.ts +8 -0
  272. package/dist/dashboard/panels/overview.d.ts.map +1 -0
  273. package/dist/dashboard/panels/overview.js +20 -0
  274. package/dist/dashboard/panels/overview.js.map +1 -0
  275. package/dist/dashboard/panels/shared.d.ts +17 -0
  276. package/dist/dashboard/panels/shared.d.ts.map +1 -0
  277. package/dist/dashboard/panels/shared.js +62 -0
  278. package/dist/dashboard/panels/shared.js.map +1 -0
  279. package/dist/dashboard/types.d.ts +80 -0
  280. package/dist/dashboard/types.d.ts.map +1 -0
  281. package/dist/dashboard/types.js +27 -0
  282. package/dist/dashboard/types.js.map +1 -0
  283. package/dist/index.d.ts +2 -0
  284. package/dist/index.d.ts.map +1 -0
  285. package/dist/index.js +2 -0
  286. package/dist/index.js.map +1 -0
  287. package/dist/lib/api-client.d.ts +17 -0
  288. package/dist/lib/api-client.d.ts.map +1 -0
  289. package/dist/lib/api-client.js +92 -0
  290. package/dist/lib/api-client.js.map +1 -0
  291. package/dist/lib/api-client.test.d.ts +2 -0
  292. package/dist/lib/api-client.test.d.ts.map +1 -0
  293. package/dist/lib/api-client.test.js +161 -0
  294. package/dist/lib/api-client.test.js.map +1 -0
  295. package/dist/lib/auth.d.ts +27 -0
  296. package/dist/lib/auth.d.ts.map +1 -0
  297. package/dist/lib/auth.js +137 -0
  298. package/dist/lib/auth.js.map +1 -0
  299. package/dist/lib/auth.test.d.ts +2 -0
  300. package/dist/lib/auth.test.d.ts.map +1 -0
  301. package/dist/lib/auth.test.js +110 -0
  302. package/dist/lib/auth.test.js.map +1 -0
  303. package/dist/lib/eval-analyzer.d.ts +23 -0
  304. package/dist/lib/eval-analyzer.d.ts.map +1 -0
  305. package/dist/lib/eval-analyzer.js +89 -0
  306. package/dist/lib/eval-analyzer.js.map +1 -0
  307. package/dist/lib/eval-benchmark.d.ts +17 -0
  308. package/dist/lib/eval-benchmark.d.ts.map +1 -0
  309. package/dist/lib/eval-benchmark.js +92 -0
  310. package/dist/lib/eval-benchmark.js.map +1 -0
  311. package/dist/lib/eval-conversation-handler.d.ts +9 -0
  312. package/dist/lib/eval-conversation-handler.d.ts.map +1 -0
  313. package/dist/lib/eval-conversation-handler.js +200 -0
  314. package/dist/lib/eval-conversation-handler.js.map +1 -0
  315. package/dist/lib/eval-executor.d.ts +21 -0
  316. package/dist/lib/eval-executor.d.ts.map +1 -0
  317. package/dist/lib/eval-executor.js +80 -0
  318. package/dist/lib/eval-executor.js.map +1 -0
  319. package/dist/lib/eval-executor.test.d.ts +2 -0
  320. package/dist/lib/eval-executor.test.d.ts.map +1 -0
  321. package/dist/lib/eval-executor.test.js +8 -0
  322. package/dist/lib/eval-executor.test.js.map +1 -0
  323. package/dist/lib/eval-grader.d.ts +38 -0
  324. package/dist/lib/eval-grader.d.ts.map +1 -0
  325. package/dist/lib/eval-grader.js +123 -0
  326. package/dist/lib/eval-grader.js.map +1 -0
  327. package/dist/lib/eval-grader.test.d.ts +2 -0
  328. package/dist/lib/eval-grader.test.d.ts.map +1 -0
  329. package/dist/lib/eval-grader.test.js +8 -0
  330. package/dist/lib/eval-grader.test.js.map +1 -0
  331. package/dist/lib/eval-meta-judge.d.ts +28 -0
  332. package/dist/lib/eval-meta-judge.d.ts.map +1 -0
  333. package/dist/lib/eval-meta-judge.js +116 -0
  334. package/dist/lib/eval-meta-judge.js.map +1 -0
  335. package/dist/lib/eval-trigger-tester.d.ts +19 -0
  336. package/dist/lib/eval-trigger-tester.d.ts.map +1 -0
  337. package/dist/lib/eval-trigger-tester.js +96 -0
  338. package/dist/lib/eval-trigger-tester.js.map +1 -0
  339. package/dist/lib/eval-worker.d.ts +12 -0
  340. package/dist/lib/eval-worker.d.ts.map +1 -0
  341. package/dist/lib/eval-worker.js +395 -0
  342. package/dist/lib/eval-worker.js.map +1 -0
  343. package/dist/lib/eval-worktree.d.ts +11 -0
  344. package/dist/lib/eval-worktree.d.ts.map +1 -0
  345. package/dist/lib/eval-worktree.js +87 -0
  346. package/dist/lib/eval-worktree.js.map +1 -0
  347. package/dist/lib/eval-worktree.test.d.ts +2 -0
  348. package/dist/lib/eval-worktree.test.d.ts.map +1 -0
  349. package/dist/lib/eval-worktree.test.js +68 -0
  350. package/dist/lib/eval-worktree.test.js.map +1 -0
  351. package/dist/lib/gateway-entry.d.ts +3 -0
  352. package/dist/lib/gateway-entry.d.ts.map +1 -0
  353. package/dist/lib/gateway-entry.js +19 -0
  354. package/dist/lib/gateway-entry.js.map +1 -0
  355. package/dist/lib/gateway-lifecycle.d.ts +9 -0
  356. package/dist/lib/gateway-lifecycle.d.ts.map +1 -0
  357. package/dist/lib/gateway-lifecycle.js +86 -0
  358. package/dist/lib/gateway-lifecycle.js.map +1 -0
  359. package/dist/lib/gateway.d.ts +12 -0
  360. package/dist/lib/gateway.d.ts.map +1 -0
  361. package/dist/lib/gateway.js +150 -0
  362. package/dist/lib/gateway.js.map +1 -0
  363. package/dist/lib/hooks-config.d.ts +95 -0
  364. package/dist/lib/hooks-config.d.ts.map +1 -0
  365. package/dist/lib/hooks-config.js +416 -0
  366. package/dist/lib/hooks-config.js.map +1 -0
  367. package/dist/lib/hooks-config.test.d.ts +2 -0
  368. package/dist/lib/hooks-config.test.d.ts.map +1 -0
  369. package/dist/lib/hooks-config.test.js +231 -0
  370. package/dist/lib/hooks-config.test.js.map +1 -0
  371. package/dist/lib/insights-prompts.d.ts +13 -0
  372. package/dist/lib/insights-prompts.d.ts.map +1 -0
  373. package/dist/lib/insights-prompts.js +145 -0
  374. package/dist/lib/insights-prompts.js.map +1 -0
  375. package/dist/lib/insights-worker.d.ts +10 -0
  376. package/dist/lib/insights-worker.d.ts.map +1 -0
  377. package/dist/lib/insights-worker.js +329 -0
  378. package/dist/lib/insights-worker.js.map +1 -0
  379. package/dist/lib/llm-client.d.ts +26 -0
  380. package/dist/lib/llm-client.d.ts.map +1 -0
  381. package/dist/lib/llm-client.js +142 -0
  382. package/dist/lib/llm-client.js.map +1 -0
  383. package/dist/lib/llm-client.test.d.ts +2 -0
  384. package/dist/lib/llm-client.test.d.ts.map +1 -0
  385. package/dist/lib/llm-client.test.js +62 -0
  386. package/dist/lib/llm-client.test.js.map +1 -0
  387. package/dist/lib/output.d.ts +4 -0
  388. package/dist/lib/output.d.ts.map +1 -0
  389. package/dist/lib/output.js +36 -0
  390. package/dist/lib/output.js.map +1 -0
  391. package/dist/lib/output.test.d.ts +2 -0
  392. package/dist/lib/output.test.d.ts.map +1 -0
  393. package/dist/lib/output.test.js +71 -0
  394. package/dist/lib/output.test.js.map +1 -0
  395. package/dist/lib/provider-aggregator.d.ts +24 -0
  396. package/dist/lib/provider-aggregator.d.ts.map +1 -0
  397. package/dist/lib/provider-aggregator.js +57 -0
  398. package/dist/lib/provider-aggregator.js.map +1 -0
  399. package/dist/lib/provider-aggregator.test.d.ts +2 -0
  400. package/dist/lib/provider-aggregator.test.d.ts.map +1 -0
  401. package/dist/lib/provider-aggregator.test.js +103 -0
  402. package/dist/lib/provider-aggregator.test.js.map +1 -0
  403. package/dist/lib/skills-loader.d.ts +6 -0
  404. package/dist/lib/skills-loader.d.ts.map +1 -0
  405. package/dist/lib/skills-loader.js +51 -0
  406. package/dist/lib/skills-loader.js.map +1 -0
  407. package/dist/lib/types.d.ts +48 -0
  408. package/dist/lib/types.d.ts.map +1 -0
  409. package/dist/lib/types.js +7 -0
  410. package/dist/lib/types.js.map +1 -0
  411. package/dist/test-helpers.d.ts +58 -0
  412. package/dist/test-helpers.d.ts.map +1 -0
  413. package/dist/test-helpers.js +58 -0
  414. package/dist/test-helpers.js.map +1 -0
  415. package/oclif.manifest.json +3197 -0
  416. package/package.json +76 -0
@@ -0,0 +1,383 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { execSync, execFileSync } from 'node:child_process';
4
+ import { homedir } from 'node:os';
5
+ import { dirname, join } from 'node:path';
6
+ import { BaseCommand } from '../../base-command.js';
7
+ // Only these env vars are written to the plist — never leak unrelated secrets
8
+ const ALLOWED_ENV_VARS = new Set([
9
+ 'SUPABASE_URL',
10
+ 'SUPABASE_ANON_KEY',
11
+ 'SUPABASE_SERVICE_ROLE_KEY',
12
+ 'DATABASE_URL',
13
+ 'RULEMETRIC_API_URL',
14
+ 'RULEMETRIC_API_KEY',
15
+ 'RULEMETRIC_ACCESS_TOKEN',
16
+ ]);
17
+ const PLIST_LABEL = 'com.rulemetric.api';
18
+ const PLIST_PATH = join(homedir(), 'Library', 'LaunchAgents', `${PLIST_LABEL}.plist`);
19
+ const WORKER_PLIST_LABEL = 'com.rulemetric.worker';
20
+ const WORKER_PLIST_PATH = join(homedir(), 'Library', 'LaunchAgents', `${WORKER_PLIST_LABEL}.plist`);
21
+ const CONFIG_DIR = join(homedir(), '.config', 'rulemetric');
22
+ const LOG_DIR = join(CONFIG_DIR, 'logs');
23
+ export default class ServiceInstall extends BaseCommand {
24
+ static description = 'Install RuleMetric API as a persistent macOS service (launchd)';
25
+ static examples = [
26
+ '<%= config.bin %> service install',
27
+ '<%= config.bin %> service install --port 3000',
28
+ ];
29
+ static flags = {
30
+ port: Flags.integer({
31
+ char: 'p',
32
+ default: 3000,
33
+ description: 'API server port',
34
+ }),
35
+ force: Flags.boolean({
36
+ char: 'f',
37
+ default: false,
38
+ description: 'Overwrite existing service configuration',
39
+ }),
40
+ };
41
+ async run() {
42
+ const { flags } = await this.parse(ServiceInstall);
43
+ const port = flags.port;
44
+ // macOS only
45
+ if (process.platform !== 'darwin') {
46
+ this.error('Service install is currently macOS-only (launchd). For Linux, use systemd manually.');
47
+ }
48
+ // Check for existing service
49
+ if (existsSync(PLIST_PATH) && !flags.force) {
50
+ this.log(`Service already installed at ${PLIST_PATH}`);
51
+ this.log('Use --force to overwrite, or run: rulemetric service status');
52
+ return;
53
+ }
54
+ // Check for port conflict
55
+ try {
56
+ const res = await fetch(`http://localhost:${port}/health`);
57
+ if (res.ok && !flags.force) {
58
+ this.warn(`Port ${port} is already in use (API may be running via start.sh).`);
59
+ this.warn('Stop it first with scripts/stop.sh, or use --force to overwrite.');
60
+ return;
61
+ }
62
+ }
63
+ catch {
64
+ // Port free — good
65
+ }
66
+ // Find project root (where the API package lives)
67
+ const projectRoot = this.findProjectRoot();
68
+ if (!projectRoot) {
69
+ this.error('Could not find RuleMetric project root. Run this command from within the momento-mori repo, or set RULEMETRIC_PROJECT_ROOT.');
70
+ }
71
+ // Verify .env.local exists (needed for Supabase credentials)
72
+ const envLocal = join(projectRoot, '.env.local');
73
+ if (!existsSync(envLocal)) {
74
+ this.error(`.env.local not found at ${envLocal}. The API needs Supabase credentials to start.`);
75
+ }
76
+ // Load env vars from .env.local and ~/.config/rulemetric/env
77
+ const envVars = this.loadEnvVars(projectRoot);
78
+ // Find node and pnpm paths
79
+ const nodePath = this.findBinary('node');
80
+ const pnpmPath = this.findBinary('pnpm');
81
+ if (!nodePath || !pnpmPath) {
82
+ this.error('Could not find node or pnpm. Ensure they are in your PATH.');
83
+ }
84
+ // Build the plist
85
+ const plist = this.buildPlist({
86
+ port,
87
+ projectRoot,
88
+ nodePath,
89
+ pnpmPath,
90
+ envVars,
91
+ });
92
+ // Create directories
93
+ mkdirSync(join(homedir(), 'Library', 'LaunchAgents'), { recursive: true });
94
+ mkdirSync(LOG_DIR, { recursive: true });
95
+ // Unload existing service if running
96
+ const uid = execSync('id -u', { encoding: 'utf-8' }).trim();
97
+ try {
98
+ execFileSync('launchctl', ['bootout', `gui/${uid}`, PLIST_PATH], { encoding: 'utf-8' });
99
+ this.log('[OK] Unloaded existing service');
100
+ }
101
+ catch (err) {
102
+ const msg = err.message || '';
103
+ // Expected errors when service isn't loaded
104
+ if (!msg.includes('Could not find specified service') && !msg.includes('No such process') && !msg.includes('3: No such process')) {
105
+ this.warn(`Could not unload existing service: ${msg.trim()}`);
106
+ }
107
+ }
108
+ // Write plist with restrictive permissions (contains credentials)
109
+ writeFileSync(PLIST_PATH, plist, { mode: 0o600 });
110
+ this.log(`[OK] Service plist written to ${PLIST_PATH}`);
111
+ // Load the service
112
+ try {
113
+ execFileSync('launchctl', ['bootstrap', `gui/${uid}`, PLIST_PATH]);
114
+ this.log('[OK] Service loaded into launchd');
115
+ }
116
+ catch (bootstrapErr) {
117
+ this.warn(`bootstrap failed (${bootstrapErr.message.trim()}), trying legacy load...`);
118
+ try {
119
+ execFileSync('launchctl', ['load', PLIST_PATH]);
120
+ this.log('[OK] Service loaded into launchd (legacy)');
121
+ }
122
+ catch (loadErr) {
123
+ this.error(`Could not load service.\n` +
124
+ ` bootstrap: ${bootstrapErr.message.trim()}\n` +
125
+ ` load: ${loadErr.message.trim()}\n` +
126
+ `Try manually: launchctl bootstrap gui/${uid} "${PLIST_PATH}"`);
127
+ }
128
+ }
129
+ // Wait for API to come up
130
+ this.log(`[..] Waiting for API on :${port}...`);
131
+ const started = await this.waitForApi(port, 15);
132
+ if (started) {
133
+ this.log(`[OK] RuleMetric API running on :${port}`);
134
+ }
135
+ else {
136
+ this.warn('API did not respond within 15s. Check logs:');
137
+ this.log(` tail -f ${LOG_DIR}/api-stdout.log`);
138
+ this.log(` tail -f ${LOG_DIR}/api-stderr.log`);
139
+ }
140
+ // --- Worker service (eval/insights job processor) ---
141
+ this.log('');
142
+ this.log('Installing worker service...');
143
+ const workerPlist = this.buildWorkerPlist({
144
+ projectRoot,
145
+ nodePath,
146
+ pnpmPath,
147
+ envVars,
148
+ });
149
+ // Unload existing worker service if running
150
+ try {
151
+ execFileSync('launchctl', ['bootout', `gui/${uid}`, WORKER_PLIST_PATH], { encoding: 'utf-8' });
152
+ }
153
+ catch {
154
+ // Expected if not loaded
155
+ }
156
+ writeFileSync(WORKER_PLIST_PATH, workerPlist, { mode: 0o600 });
157
+ this.log(`[OK] Worker plist written to ${WORKER_PLIST_PATH}`);
158
+ try {
159
+ execFileSync('launchctl', ['bootstrap', `gui/${uid}`, WORKER_PLIST_PATH]);
160
+ this.log('[OK] Worker service loaded into launchd');
161
+ }
162
+ catch (bootstrapErr) {
163
+ try {
164
+ execFileSync('launchctl', ['load', WORKER_PLIST_PATH]);
165
+ this.log('[OK] Worker service loaded into launchd (legacy)');
166
+ }
167
+ catch (loadErr) {
168
+ this.warn(`Could not load worker service: ${loadErr.message.trim()}`);
169
+ }
170
+ }
171
+ this.log('');
172
+ this.log('Both API and worker will start automatically on login and restart on crash.');
173
+ this.log('The worker processes eval jobs, insights jobs, and session analysis.');
174
+ this.log('');
175
+ this.log('NOTE: Env vars are baked in at install time. If you change');
176
+ this.log('.env.local or credentials, re-run: rulemetric service install --force');
177
+ this.log('');
178
+ this.log('Manage with:');
179
+ this.log(' rulemetric service status — check if running');
180
+ this.log(' rulemetric service uninstall — remove the service');
181
+ }
182
+ findProjectRoot() {
183
+ // Check env var override
184
+ if (process.env.RULEMETRIC_PROJECT_ROOT) {
185
+ return process.env.RULEMETRIC_PROJECT_ROOT;
186
+ }
187
+ // Walk up from cwd looking for the monorepo marker
188
+ let dir = process.cwd();
189
+ for (let i = 0; i < 10; i++) {
190
+ if (existsSync(join(dir, 'apps', 'api', 'package.json'))) {
191
+ return dir;
192
+ }
193
+ const parent = join(dir, '..');
194
+ if (parent === dir)
195
+ break;
196
+ dir = parent;
197
+ }
198
+ return null;
199
+ }
200
+ findBinary(name) {
201
+ try {
202
+ return execFileSync('which', [name], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'ignore'] }).trim() || null;
203
+ }
204
+ catch {
205
+ return null;
206
+ }
207
+ }
208
+ loadEnvVars(projectRoot) {
209
+ const vars = {};
210
+ // Load from .env.local (Supabase credentials)
211
+ const envLocal = join(projectRoot, '.env.local');
212
+ if (existsSync(envLocal)) {
213
+ for (const line of readFileSync(envLocal, 'utf-8').split('\n')) {
214
+ const trimmed = line.trim();
215
+ if (!trimmed || trimmed.startsWith('#'))
216
+ continue;
217
+ const eqIdx = trimmed.indexOf('=');
218
+ if (eqIdx > 0) {
219
+ vars[trimmed.slice(0, eqIdx)] = trimmed.slice(eqIdx + 1);
220
+ }
221
+ }
222
+ }
223
+ // Load from ~/.config/rulemetric/env (API key)
224
+ const globalEnv = join(CONFIG_DIR, 'env');
225
+ if (existsSync(globalEnv)) {
226
+ for (const line of readFileSync(globalEnv, 'utf-8').split('\n')) {
227
+ const trimmed = line.trim();
228
+ if (!trimmed || trimmed.startsWith('#'))
229
+ continue;
230
+ const eqIdx = trimmed.indexOf('=');
231
+ if (eqIdx > 0) {
232
+ vars[trimmed.slice(0, eqIdx)] = trimmed.slice(eqIdx + 1);
233
+ }
234
+ }
235
+ }
236
+ // Only keep allowed env vars — never leak unrelated secrets
237
+ return Object.fromEntries(Object.entries(vars).filter(([k]) => ALLOWED_ENV_VARS.has(k)));
238
+ }
239
+ buildPlist(opts) {
240
+ const { port, projectRoot, nodePath, pnpmPath, envVars } = opts;
241
+ // Derive PATH from resolved binary locations (works with nvm, volta, fnm, homebrew)
242
+ const pathDirs = [...new Set([dirname(nodePath), dirname(pnpmPath), '/usr/local/bin', '/usr/bin', '/bin'])];
243
+ // Build environment dict entries
244
+ const envEntries = Object.entries({
245
+ ...envVars,
246
+ PORT: String(port),
247
+ NODE_ENV: 'development',
248
+ PATH: pathDirs.join(':'),
249
+ })
250
+ .map(([k, v]) => ` <key>${escapeXml(k)}</key>\n <string>${escapeXml(v)}</string>`)
251
+ .join('\n');
252
+ return `<?xml version="1.0" encoding="UTF-8"?>
253
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
254
+ <plist version="1.0">
255
+ <dict>
256
+ <key>Label</key>
257
+ <string>${PLIST_LABEL}</string>
258
+
259
+ <key>ProgramArguments</key>
260
+ <array>
261
+ <string>${escapeXml(pnpmPath)}</string>
262
+ <string>--filter</string>
263
+ <string>@rulemetric/api</string>
264
+ <string>dev</string>
265
+ </array>
266
+
267
+ <key>WorkingDirectory</key>
268
+ <string>${escapeXml(projectRoot)}</string>
269
+
270
+ <key>EnvironmentVariables</key>
271
+ <dict>
272
+ ${envEntries}
273
+ </dict>
274
+
275
+ <key>RunAtLoad</key>
276
+ <true/>
277
+
278
+ <key>KeepAlive</key>
279
+ <dict>
280
+ <key>SuccessfulExit</key>
281
+ <false/>
282
+ </dict>
283
+
284
+ <key>ThrottleInterval</key>
285
+ <integer>10</integer>
286
+
287
+ <key>StandardOutPath</key>
288
+ <string>${escapeXml(join(LOG_DIR, 'api-stdout.log'))}</string>
289
+
290
+ <key>StandardErrorPath</key>
291
+ <string>${escapeXml(join(LOG_DIR, 'api-stderr.log'))}</string>
292
+
293
+ <key>ProcessType</key>
294
+ <string>Background</string>
295
+ </dict>
296
+ </plist>
297
+ `;
298
+ }
299
+ buildWorkerPlist(opts) {
300
+ const { projectRoot, nodePath, pnpmPath, envVars } = opts;
301
+ const pathDirs = [...new Set([dirname(nodePath), dirname(pnpmPath), '/usr/local/bin', '/usr/bin', '/bin'])];
302
+ const envEntries = Object.entries({
303
+ ...envVars,
304
+ NODE_ENV: 'development',
305
+ PATH: pathDirs.join(':'),
306
+ })
307
+ .map(([k, v]) => ` <key>${escapeXml(k)}</key>\n <string>${escapeXml(v)}</string>`)
308
+ .join('\n');
309
+ // Use pnpm to run the CLI command — works without global install
310
+ return `<?xml version="1.0" encoding="UTF-8"?>
311
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
312
+ <plist version="1.0">
313
+ <dict>
314
+ <key>Label</key>
315
+ <string>${WORKER_PLIST_LABEL}</string>
316
+
317
+ <key>ProgramArguments</key>
318
+ <array>
319
+ <string>${escapeXml(pnpmPath)}</string>
320
+ <string>--filter</string>
321
+ <string>@rulemetric/cli</string>
322
+ <string>exec</string>
323
+ <string>rulemetric</string>
324
+ <string>evals</string>
325
+ <string>listen</string>
326
+ </array>
327
+
328
+ <key>WorkingDirectory</key>
329
+ <string>${escapeXml(projectRoot)}</string>
330
+
331
+ <key>EnvironmentVariables</key>
332
+ <dict>
333
+ ${envEntries}
334
+ </dict>
335
+
336
+ <key>RunAtLoad</key>
337
+ <true/>
338
+
339
+ <key>KeepAlive</key>
340
+ <dict>
341
+ <key>SuccessfulExit</key>
342
+ <false/>
343
+ </dict>
344
+
345
+ <key>ThrottleInterval</key>
346
+ <integer>15</integer>
347
+
348
+ <key>StandardOutPath</key>
349
+ <string>${escapeXml(join(LOG_DIR, 'worker-stdout.log'))}</string>
350
+
351
+ <key>StandardErrorPath</key>
352
+ <string>${escapeXml(join(LOG_DIR, 'worker-stderr.log'))}</string>
353
+
354
+ <key>ProcessType</key>
355
+ <string>Background</string>
356
+ </dict>
357
+ </plist>
358
+ `;
359
+ }
360
+ async waitForApi(port, timeoutSecs) {
361
+ let lastError = null;
362
+ for (let i = 0; i < timeoutSecs; i++) {
363
+ try {
364
+ const res = await fetch(`http://localhost:${port}/health`);
365
+ if (res.ok)
366
+ return true;
367
+ lastError = `health check returned ${res.status}`;
368
+ }
369
+ catch (err) {
370
+ lastError = err.message;
371
+ }
372
+ await new Promise(r => setTimeout(r, 1000));
373
+ }
374
+ if (lastError) {
375
+ this.warn(`Last health check error: ${lastError}`);
376
+ }
377
+ return false;
378
+ }
379
+ }
380
+ function escapeXml(s) {
381
+ return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
382
+ }
383
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/service/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=install.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.test.d.ts","sourceRoot":"","sources":["../../../src/commands/service/install.test.ts"],"names":[],"mappings":""}