@rulemetric/cli 0.7.3 → 0.7.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 (550) hide show
  1. package/README.md +10 -8
  2. package/dist/base-command.js +1 -14
  3. package/dist/chunk-2JRDG4LJ.js +31 -0
  4. package/dist/chunk-2TC6WCUT.js +34 -0
  5. package/dist/chunk-2WLVDSAP.js +2 -0
  6. package/dist/chunk-32EEBARV.js +1 -0
  7. package/dist/chunk-3AV3GTMP.js +1 -0
  8. package/dist/chunk-43YBXX7R.js +1 -0
  9. package/dist/chunk-4Z5ECCJE.js +1 -0
  10. package/dist/chunk-5RBLIVBF.js +1 -0
  11. package/dist/chunk-67QCYUJU.js +1 -0
  12. package/dist/chunk-6QKI756T.js +2 -0
  13. package/dist/chunk-6V4WM73L.js +1 -0
  14. package/dist/chunk-6XEC6474.js +1 -0
  15. package/dist/chunk-7DFNBRLY.js +61 -0
  16. package/dist/chunk-ARNZQBMX.js +1 -0
  17. package/dist/chunk-AYUJY37O.js +5 -0
  18. package/dist/chunk-CADKBP3D.js +58 -0
  19. package/dist/chunk-CDI5CCHU.js +1 -0
  20. package/dist/chunk-CNQ5DTNC.js +1 -0
  21. package/dist/chunk-DCLWFGEA.js +1 -0
  22. package/dist/chunk-DNF4HDI6.js +14 -0
  23. package/dist/chunk-DPFNJZUO.js +1 -0
  24. package/dist/chunk-DSO2U4Y6.js +56 -0
  25. package/dist/chunk-DVN7GFJG.js +1 -0
  26. package/dist/chunk-G63KMH6U.js +1 -0
  27. package/dist/chunk-G6XGDHGC.js +2 -0
  28. package/dist/chunk-GBMF3TP6.js +1 -0
  29. package/dist/chunk-GY5IJ4RS.js +1 -0
  30. package/dist/chunk-H2ORWIEY.js +1 -0
  31. package/dist/chunk-H4SV7FN4.js +1 -0
  32. package/dist/chunk-HS7X43XE.js +24 -0
  33. package/dist/{chunk-OQBBVTDG.js → chunk-I2DZGJRR.js} +6 -71
  34. package/dist/chunk-IZTIYR5Q.js +2 -0
  35. package/dist/chunk-JAPCCEKF.js +3 -0
  36. package/dist/chunk-JQTGQXUX.js +1 -0
  37. package/dist/chunk-KAF3CYRW.js +9 -0
  38. package/dist/chunk-KKDHD4XA.js +2 -0
  39. package/dist/chunk-KV325CXF.js +33 -0
  40. package/dist/chunk-MGHFDHHM.js +1 -0
  41. package/dist/chunk-MODXEGCU.js +1 -0
  42. package/dist/chunk-MVM6OGAF.js +4 -0
  43. package/dist/chunk-N7ODX6PO.js +1 -0
  44. package/dist/chunk-N7TGRFVZ.js +70 -0
  45. package/dist/chunk-NBTC5FNV.js +1 -0
  46. package/dist/chunk-NEACEHQD.js +1 -0
  47. package/dist/chunk-NJ5UED3H.js +1 -0
  48. package/dist/chunk-NVKX36YN.js +3 -0
  49. package/dist/chunk-O2SDD2WW.js +1 -0
  50. package/dist/chunk-O6C2UGBY.js +7 -0
  51. package/dist/chunk-OMXUK4M6.js +1 -0
  52. package/dist/chunk-PPKPCXJD.js +4 -0
  53. package/dist/{chunk-XZXS2W24.js → chunk-QFVGUZDO.js} +11 -57
  54. package/dist/chunk-RDET7CKR.js +1 -0
  55. package/dist/chunk-RQ424GI6.js +5 -0
  56. package/dist/chunk-RSKQRVPJ.js +1 -0
  57. package/dist/chunk-RTWRHIKY.js +7 -0
  58. package/dist/chunk-SZ62CP55.js +1 -0
  59. package/dist/chunk-TDD7IOV2.js +1 -0
  60. package/dist/chunk-TIOKY2IA.js +1 -0
  61. package/dist/chunk-TQMG647B.js +15 -0
  62. package/dist/chunk-TU2AR6XO.js +1 -0
  63. package/dist/chunk-U6ABMRT3.js +9 -0
  64. package/dist/chunk-U6XEU573.js +1 -0
  65. package/dist/chunk-UF6US7VU.js +1 -0
  66. package/dist/chunk-V44SRRYR.js +1 -0
  67. package/dist/chunk-V5U3E4BZ.js +1 -0
  68. package/dist/chunk-VAXRCSSH.js +2 -0
  69. package/dist/chunk-VLOX6KOM.js +1 -0
  70. package/dist/chunk-VUGRXM7R.js +1 -0
  71. package/dist/chunk-W2MOTOQE.js +1 -0
  72. package/dist/chunk-W2MV25SB.js +1 -0
  73. package/dist/chunk-WLVQJH4E.js +1 -0
  74. package/dist/chunk-WSCK4WNK.js +1 -0
  75. package/dist/chunk-XICLXXRH.js +1 -0
  76. package/dist/chunk-XXDZJ6YI.js +1 -0
  77. package/dist/chunk-ZL4MZMUK.js +34 -0
  78. package/dist/chunk-ZLLER3HP.js +1 -0
  79. package/dist/chunk-ZR3MUNLS.js +1 -0
  80. package/dist/chunk-ZXF5NE54.js +1 -0
  81. package/dist/commands/antigravity/backfill.js +2 -136
  82. package/dist/commands/auth/create-key.js +1 -52
  83. package/dist/commands/auth/login.js +1 -85
  84. package/dist/commands/auth/logout.js +1 -29
  85. package/dist/commands/auth/revoke-key.js +4 -33
  86. package/dist/commands/auth/signup.js +1 -89
  87. package/dist/commands/auth/status.js +1 -42
  88. package/dist/commands/catalog/index.js +2 -52
  89. package/dist/commands/catalog/recommend.js +3 -43
  90. package/dist/commands/convert.js +1 -75
  91. package/dist/commands/converters.js +1 -54
  92. package/dist/commands/crons/list.js +1 -41
  93. package/dist/commands/crons/run.js +2 -76
  94. package/dist/commands/dashboard.js +1 -46
  95. package/dist/commands/diagnostics.js +1 -117
  96. package/dist/commands/eval-targets/create.js +1 -53
  97. package/dist/commands/eval-targets/list.js +1 -54
  98. package/dist/commands/evals/agent.js +3 -310
  99. package/dist/commands/evals/benchmark.js +6 -73
  100. package/dist/commands/evals/compare.js +13 -96
  101. package/dist/commands/evals/create.js +1 -67
  102. package/dist/commands/evals/optimize-description.js +25 -239
  103. package/dist/commands/evals/optimize.js +5 -211
  104. package/dist/commands/evals/run.js +3 -183
  105. package/dist/commands/gateway/ensure.js +1 -104
  106. package/dist/commands/hooks/emit-instructions.js +1 -25
  107. package/dist/commands/hooks/install.js +1 -442
  108. package/dist/commands/hooks/run.js +3 -81
  109. package/dist/commands/hooks/uninstall.js +2 -156
  110. package/dist/commands/import.js +1 -66
  111. package/dist/commands/instructions/create.js +1 -74
  112. package/dist/commands/instructions/delete.js +1 -55
  113. package/dist/commands/instructions/fork.js +1 -34
  114. package/dist/commands/instructions/get.js +1 -68
  115. package/dist/commands/instructions/list.js +1 -65
  116. package/dist/commands/instructions/promote.js +1 -42
  117. package/dist/commands/instructions/pull.js +1 -39
  118. package/dist/commands/instructions/upstream.js +1 -38
  119. package/dist/commands/instructions/versions.js +1 -53
  120. package/dist/commands/launcher.js +1 -40
  121. package/dist/commands/org/current.js +1 -77
  122. package/dist/commands/org/list.js +1 -52
  123. package/dist/commands/org/switch.js +1 -71
  124. package/dist/commands/packs/add-instruction.js +1 -37
  125. package/dist/commands/packs/apply.js +1 -39
  126. package/dist/commands/packs/create.js +1 -50
  127. package/dist/commands/packs/fork.js +1 -34
  128. package/dist/commands/packs/get.js +3 -56
  129. package/dist/commands/packs/list.js +1 -66
  130. package/dist/commands/packs/remove-instruction.js +1 -35
  131. package/dist/commands/proxy/env.js +3 -131
  132. package/dist/commands/proxy/logs.js +3 -85
  133. package/dist/commands/proxy/restart.js +1 -35
  134. package/dist/commands/proxy/setup.js +17 -454
  135. package/dist/commands/proxy/start.js +10 -333
  136. package/dist/commands/proxy/status.js +1 -78
  137. package/dist/commands/proxy/stop.js +1 -94
  138. package/dist/commands/research/backfill.js +1 -59
  139. package/dist/commands/research/tail-transcript.js +1 -70
  140. package/dist/commands/service/install.js +57 -796
  141. package/dist/commands/service/status.js +1 -180
  142. package/dist/commands/service/uninstall.js +1 -119
  143. package/dist/commands/sessions/analyze.js +1 -48
  144. package/dist/commands/sessions/end.js +2 -85
  145. package/dist/commands/sessions/import.js +1 -46
  146. package/dist/commands/sessions/list.js +1 -48
  147. package/dist/commands/sessions/start.js +3 -90
  148. package/dist/commands/setup.js +3 -150
  149. package/dist/commands/skills/export-approved.js +1 -46
  150. package/dist/commands/skills/install.js +4 -107
  151. package/dist/commands/skills/list.js +4 -65
  152. package/dist/commands/skills/publish.js +2 -98
  153. package/dist/commands/skills/search.js +3 -72
  154. package/dist/commands/skills/update.js +3 -55
  155. package/dist/commands/suggestions/accept.js +8 -84
  156. package/dist/commands/suggestions/dismiss.js +1 -45
  157. package/dist/commands/suggestions/list.js +2 -61
  158. package/dist/commands/suggestions/refresh.js +1 -27
  159. package/dist/cursor-T7AMCMKS.js +13 -0
  160. package/dist/dashboard/Dashboard.js +1 -243
  161. package/dist/dashboard/data.js +1 -15
  162. package/dist/dashboard/launcher/ActiveJobsList.js +1 -10
  163. package/dist/dashboard/launcher/LauncherOverlay.js +1 -16
  164. package/dist/dashboard/launcher/NewLaunchForm.js +1 -10
  165. package/dist/dashboard/launcher/api.js +1 -16
  166. package/dist/dashboard/launcher/tool-labels.js +1 -10
  167. package/dist/dashboard/launcher/types.js +0 -1
  168. package/dist/dashboard/launcher/useLaunchJobs.js +1 -11
  169. package/dist/dashboard/panels/friction.js +1 -10
  170. package/dist/dashboard/panels/insights.js +1 -10
  171. package/dist/dashboard/panels/instructions.js +1 -10
  172. package/dist/dashboard/panels/outcomes.js +1 -10
  173. package/dist/dashboard/panels/overview.js +1 -10
  174. package/dist/dashboard/panels/shared.js +1 -19
  175. package/dist/dashboard/types.js +1 -24
  176. package/dist/dist-FAVALJ5C.js +1 -0
  177. package/dist/index.js +1 -8
  178. package/dist/lib/active-org-refresh.js +1 -15
  179. package/dist/lib/active-org.js +1 -16
  180. package/dist/lib/agent-loop.js +1 -47
  181. package/dist/lib/antigravity-transcript.js +1 -22
  182. package/dist/lib/api-client.js +1 -23
  183. package/dist/lib/auth.js +1 -30
  184. package/dist/lib/capture-hosts.js +1 -8
  185. package/dist/lib/detect-languages.js +1 -8
  186. package/dist/lib/detect-tmux.js +1 -9
  187. package/dist/lib/diagnostics.js +1 -12
  188. package/dist/lib/editor-proxy-pins.js +1 -14
  189. package/dist/lib/ensure-api-key.js +1 -11
  190. package/dist/lib/ensure-fresh-token.js +1 -0
  191. package/dist/lib/eval-analyzer.js +1 -9
  192. package/dist/lib/eval-benchmark.js +1 -12
  193. package/dist/lib/eval-conversation-handler.js +1 -13
  194. package/dist/lib/eval-executor.js +1 -8
  195. package/dist/lib/eval-grader.js +1 -9
  196. package/dist/lib/eval-meta-judge.js +1 -9
  197. package/dist/lib/eval-trigger-tester.js +1 -11
  198. package/dist/lib/eval-worktree.js +1 -8
  199. package/dist/lib/gateway-entry.js +1 -61
  200. package/dist/lib/gateway-identity.js +1 -16
  201. package/dist/lib/gateway-lifecycle.js +1 -32
  202. package/dist/lib/gateway.js +1 -14
  203. package/dist/lib/handlers/cron-refresh-pricing.js +1 -0
  204. package/dist/lib/handlers/cron-refresh-skills.js +1 -8
  205. package/dist/lib/handlers/cron-suggest-instructions.js +1 -16
  206. package/dist/lib/handlers/process-announcement.js +1 -11
  207. package/dist/lib/handlers/process-changelog.js +1 -11
  208. package/dist/lib/handlers/process-conversation.js +1 -14
  209. package/dist/lib/handlers/process-eval.js +1 -15
  210. package/dist/lib/handlers/process-insights.js +1 -15
  211. package/dist/lib/handlers/process-launch.js +1 -16
  212. package/dist/lib/handlers/process-run-cleanup.js +1 -13
  213. package/dist/lib/handlers/process-send-message.js +1 -10
  214. package/dist/lib/handlers/process-session-goal.js +1 -12
  215. package/dist/lib/hooks-config.js +1 -81
  216. package/dist/lib/insights-prompts.js +1 -12
  217. package/dist/lib/instruction-snapshot.js +1 -8
  218. package/dist/lib/job-helpers.js +0 -1
  219. package/dist/lib/llm-client.js +1 -20
  220. package/dist/lib/manual-tasks-meta.js +1 -8
  221. package/dist/lib/manual-tasks.js +1 -80
  222. package/dist/lib/output.js +1 -12
  223. package/dist/lib/permanent-job-error.js +1 -10
  224. package/dist/lib/pid-identity.js +1 -14
  225. package/dist/lib/proxy-respawn.js +1 -12
  226. package/dist/lib/research-client.js +1 -12
  227. package/dist/lib/setup-steps.js +1 -33
  228. package/dist/lib/skills-loader.js +1 -8
  229. package/dist/lib/statusline-shim.js +1 -20
  230. package/dist/lib/telemetry.js +1 -16
  231. package/dist/lib/terminal-target-heartbeat.js +1 -15
  232. package/dist/lib/tmux.js +1 -16
  233. package/dist/lib/transcript-rate-limit-watcher.js +1 -22
  234. package/dist/lib/types.js +1 -8
  235. package/dist/lib/version-check.js +1 -12
  236. package/dist/lib/which.js +1 -8
  237. package/dist/lib/worktree.js +1 -17
  238. package/dist/opencode-QRJ3BH23.js +1 -0
  239. package/oclif.manifest.json +12 -34
  240. package/package.json +9 -8
  241. package/dist/base-command.js.map +0 -7
  242. package/dist/chunk-2HK7RGZB.js +0 -82
  243. package/dist/chunk-2HK7RGZB.js.map +0 -7
  244. package/dist/chunk-2ORJWTNZ.js +0 -307
  245. package/dist/chunk-2ORJWTNZ.js.map +0 -7
  246. package/dist/chunk-37LN5O7M.js +0 -59
  247. package/dist/chunk-37LN5O7M.js.map +0 -7
  248. package/dist/chunk-3S7223UR.js +0 -81
  249. package/dist/chunk-3S7223UR.js.map +0 -7
  250. package/dist/chunk-3TIMQ3O6.js +0 -96
  251. package/dist/chunk-3TIMQ3O6.js.map +0 -7
  252. package/dist/chunk-42GFSAJP.js +0 -32
  253. package/dist/chunk-42GFSAJP.js.map +0 -7
  254. package/dist/chunk-4BHDHHKL.js +0 -48
  255. package/dist/chunk-4BHDHHKL.js.map +0 -7
  256. package/dist/chunk-4D537GXE.js +0 -99
  257. package/dist/chunk-4D537GXE.js.map +0 -7
  258. package/dist/chunk-4LYCDS2N.js +0 -139
  259. package/dist/chunk-4LYCDS2N.js.map +0 -7
  260. package/dist/chunk-4SCZK7AL.js +0 -129
  261. package/dist/chunk-4SCZK7AL.js.map +0 -7
  262. package/dist/chunk-4XAWK6S2.js +0 -161
  263. package/dist/chunk-4XAWK6S2.js.map +0 -7
  264. package/dist/chunk-52WIYRZH.js +0 -73
  265. package/dist/chunk-52WIYRZH.js.map +0 -7
  266. package/dist/chunk-5BAOGNUH.js +0 -79
  267. package/dist/chunk-5BAOGNUH.js.map +0 -7
  268. package/dist/chunk-5EDMGK3W.js +0 -39
  269. package/dist/chunk-5EDMGK3W.js.map +0 -7
  270. package/dist/chunk-6NBS5XFS.js +0 -99
  271. package/dist/chunk-6NBS5XFS.js.map +0 -7
  272. package/dist/chunk-7LVVKQMZ.js +0 -98
  273. package/dist/chunk-7LVVKQMZ.js.map +0 -7
  274. package/dist/chunk-7NNFYWKK.js +0 -243
  275. package/dist/chunk-7NNFYWKK.js.map +0 -7
  276. package/dist/chunk-7NYKWN7U.js +0 -12
  277. package/dist/chunk-7NYKWN7U.js.map +0 -7
  278. package/dist/chunk-BO76WKJR.js +0 -42
  279. package/dist/chunk-BO76WKJR.js.map +0 -7
  280. package/dist/chunk-BRD5RUGM.js +0 -53
  281. package/dist/chunk-BRD5RUGM.js.map +0 -7
  282. package/dist/chunk-BT6Z6545.js +0 -43
  283. package/dist/chunk-BT6Z6545.js.map +0 -7
  284. package/dist/chunk-BZDKEQKU.js +0 -39
  285. package/dist/chunk-BZDKEQKU.js.map +0 -7
  286. package/dist/chunk-DGHWRQXL.js +0 -17
  287. package/dist/chunk-DGHWRQXL.js.map +0 -7
  288. package/dist/chunk-DIQUV5FR.js +0 -257
  289. package/dist/chunk-DIQUV5FR.js.map +0 -7
  290. package/dist/chunk-DMX5YOTM.js +0 -167
  291. package/dist/chunk-DMX5YOTM.js.map +0 -7
  292. package/dist/chunk-DNKSVWMD.js +0 -108
  293. package/dist/chunk-DNKSVWMD.js.map +0 -7
  294. package/dist/chunk-DQ3KELXD.js +0 -74
  295. package/dist/chunk-DQ3KELXD.js.map +0 -7
  296. package/dist/chunk-DUJSRBLP.js +0 -122
  297. package/dist/chunk-DUJSRBLP.js.map +0 -7
  298. package/dist/chunk-E3BIT53W.js +0 -154
  299. package/dist/chunk-E3BIT53W.js.map +0 -7
  300. package/dist/chunk-EARWG4EV.js +0 -22
  301. package/dist/chunk-EARWG4EV.js.map +0 -7
  302. package/dist/chunk-EI5BHWXA.js +0 -1662
  303. package/dist/chunk-EI5BHWXA.js.map +0 -7
  304. package/dist/chunk-EJ3YAFDP.js +0 -37
  305. package/dist/chunk-EJ3YAFDP.js.map +0 -7
  306. package/dist/chunk-EKJ2CABV.js +0 -76
  307. package/dist/chunk-EKJ2CABV.js.map +0 -7
  308. package/dist/chunk-EKP32DLN.js +0 -16
  309. package/dist/chunk-EKP32DLN.js.map +0 -7
  310. package/dist/chunk-EYPAAGN5.js +0 -51
  311. package/dist/chunk-EYPAAGN5.js.map +0 -7
  312. package/dist/chunk-F5N6CLJJ.js +0 -1995
  313. package/dist/chunk-F5N6CLJJ.js.map +0 -7
  314. package/dist/chunk-GIUBARWS.js +0 -99
  315. package/dist/chunk-GIUBARWS.js.map +0 -7
  316. package/dist/chunk-GQNJO2P2.js +0 -102
  317. package/dist/chunk-GQNJO2P2.js.map +0 -7
  318. package/dist/chunk-IJGF2ETG.js +0 -68
  319. package/dist/chunk-IJGF2ETG.js.map +0 -7
  320. package/dist/chunk-ILYDELUE.js +0 -46
  321. package/dist/chunk-ILYDELUE.js.map +0 -7
  322. package/dist/chunk-J6QFW4LD.js +0 -55
  323. package/dist/chunk-J6QFW4LD.js.map +0 -7
  324. package/dist/chunk-J7N3DLH6.js +0 -117
  325. package/dist/chunk-J7N3DLH6.js.map +0 -7
  326. package/dist/chunk-JFDWKLQC.js +0 -23
  327. package/dist/chunk-JFDWKLQC.js.map +0 -7
  328. package/dist/chunk-JULOLTZS.js +0 -61
  329. package/dist/chunk-JULOLTZS.js.map +0 -7
  330. package/dist/chunk-KJKBDQ4D.js +0 -220
  331. package/dist/chunk-KJKBDQ4D.js.map +0 -7
  332. package/dist/chunk-KRBQLMOP.js +0 -41
  333. package/dist/chunk-KRBQLMOP.js.map +0 -7
  334. package/dist/chunk-LXKPNATC.js +0 -624
  335. package/dist/chunk-LXKPNATC.js.map +0 -7
  336. package/dist/chunk-NSBPE2FW.js +0 -17
  337. package/dist/chunk-NSBPE2FW.js.map +0 -7
  338. package/dist/chunk-OCKHW72U.js +0 -55
  339. package/dist/chunk-OCKHW72U.js.map +0 -7
  340. package/dist/chunk-OKWCKCPE.js +0 -414
  341. package/dist/chunk-OKWCKCPE.js.map +0 -7
  342. package/dist/chunk-OO7JDFS4.js +0 -157
  343. package/dist/chunk-OO7JDFS4.js.map +0 -7
  344. package/dist/chunk-OQBBVTDG.js.map +0 -7
  345. package/dist/chunk-OQSQC7VB.js +0 -77
  346. package/dist/chunk-OQSQC7VB.js.map +0 -7
  347. package/dist/chunk-PED7L5GX.js +0 -92
  348. package/dist/chunk-PED7L5GX.js.map +0 -7
  349. package/dist/chunk-QJQS6TUN.js +0 -44
  350. package/dist/chunk-QJQS6TUN.js.map +0 -7
  351. package/dist/chunk-QN34TGD3.js +0 -83
  352. package/dist/chunk-QN34TGD3.js.map +0 -7
  353. package/dist/chunk-QSN77T7C.js +0 -250
  354. package/dist/chunk-QSN77T7C.js.map +0 -7
  355. package/dist/chunk-R56PH7YE.js +0 -78
  356. package/dist/chunk-R56PH7YE.js.map +0 -7
  357. package/dist/chunk-RAXRZYOB.js +0 -299
  358. package/dist/chunk-RAXRZYOB.js.map +0 -7
  359. package/dist/chunk-RH7NHVSK.js +0 -16
  360. package/dist/chunk-RH7NHVSK.js.map +0 -7
  361. package/dist/chunk-RMTT4KDY.js +0 -191
  362. package/dist/chunk-RMTT4KDY.js.map +0 -7
  363. package/dist/chunk-RQ2TMLKG.js +0 -142
  364. package/dist/chunk-RQ2TMLKG.js.map +0 -7
  365. package/dist/chunk-SO3T35U7.js +0 -80
  366. package/dist/chunk-SO3T35U7.js.map +0 -7
  367. package/dist/chunk-UKMLICWS.js +0 -51
  368. package/dist/chunk-UKMLICWS.js.map +0 -7
  369. package/dist/chunk-VA5FFOS7.js +0 -243
  370. package/dist/chunk-VA5FFOS7.js.map +0 -7
  371. package/dist/chunk-W2YERO7E.js +0 -170
  372. package/dist/chunk-W2YERO7E.js.map +0 -7
  373. package/dist/chunk-W53GKIZQ.js +0 -50
  374. package/dist/chunk-W53GKIZQ.js.map +0 -7
  375. package/dist/chunk-WA4MWYRW.js +0 -254
  376. package/dist/chunk-WA4MWYRW.js.map +0 -7
  377. package/dist/chunk-XC6M4CSW.js +0 -44
  378. package/dist/chunk-XC6M4CSW.js.map +0 -7
  379. package/dist/chunk-XK42ZBDE.js +0 -23
  380. package/dist/chunk-XK42ZBDE.js.map +0 -7
  381. package/dist/chunk-XUV6DDBF.js +0 -124
  382. package/dist/chunk-XUV6DDBF.js.map +0 -7
  383. package/dist/chunk-XZXS2W24.js.map +0 -7
  384. package/dist/chunk-Y3WD5CSW.js +0 -49
  385. package/dist/chunk-Y3WD5CSW.js.map +0 -7
  386. package/dist/chunk-Y4BJXXYV.js +0 -148
  387. package/dist/chunk-Y4BJXXYV.js.map +0 -7
  388. package/dist/chunk-YNIH3KMU.js +0 -121
  389. package/dist/chunk-YNIH3KMU.js.map +0 -7
  390. package/dist/chunk-ZUJBM6HE.js +0 -125
  391. package/dist/chunk-ZUJBM6HE.js.map +0 -7
  392. package/dist/commands/antigravity/backfill.js.map +0 -7
  393. package/dist/commands/auth/create-key.js.map +0 -7
  394. package/dist/commands/auth/login.js.map +0 -7
  395. package/dist/commands/auth/logout.js.map +0 -7
  396. package/dist/commands/auth/revoke-key.js.map +0 -7
  397. package/dist/commands/auth/signup.js.map +0 -7
  398. package/dist/commands/auth/status.js.map +0 -7
  399. package/dist/commands/catalog/index.js.map +0 -7
  400. package/dist/commands/catalog/recommend.js.map +0 -7
  401. package/dist/commands/convert.js.map +0 -7
  402. package/dist/commands/converters.js.map +0 -7
  403. package/dist/commands/crons/list.js.map +0 -7
  404. package/dist/commands/crons/run.js.map +0 -7
  405. package/dist/commands/dashboard.js.map +0 -7
  406. package/dist/commands/diagnostics.js.map +0 -7
  407. package/dist/commands/eval-targets/create.js.map +0 -7
  408. package/dist/commands/eval-targets/list.js.map +0 -7
  409. package/dist/commands/evals/agent.js.map +0 -7
  410. package/dist/commands/evals/benchmark.js.map +0 -7
  411. package/dist/commands/evals/compare.js.map +0 -7
  412. package/dist/commands/evals/create.js.map +0 -7
  413. package/dist/commands/evals/optimize-description.js.map +0 -7
  414. package/dist/commands/evals/optimize.js.map +0 -7
  415. package/dist/commands/evals/run.js.map +0 -7
  416. package/dist/commands/gateway/ensure.js.map +0 -7
  417. package/dist/commands/hooks/emit-instructions.js.map +0 -7
  418. package/dist/commands/hooks/install.js.map +0 -7
  419. package/dist/commands/hooks/run.js.map +0 -7
  420. package/dist/commands/hooks/uninstall.js.map +0 -7
  421. package/dist/commands/import.js.map +0 -7
  422. package/dist/commands/instructions/create.js.map +0 -7
  423. package/dist/commands/instructions/delete.js.map +0 -7
  424. package/dist/commands/instructions/fork.js.map +0 -7
  425. package/dist/commands/instructions/get.js.map +0 -7
  426. package/dist/commands/instructions/list.js.map +0 -7
  427. package/dist/commands/instructions/promote.js.map +0 -7
  428. package/dist/commands/instructions/pull.js.map +0 -7
  429. package/dist/commands/instructions/upstream.js.map +0 -7
  430. package/dist/commands/instructions/versions.js.map +0 -7
  431. package/dist/commands/launcher.js.map +0 -7
  432. package/dist/commands/org/current.js.map +0 -7
  433. package/dist/commands/org/list.js.map +0 -7
  434. package/dist/commands/org/switch.js.map +0 -7
  435. package/dist/commands/packs/add-instruction.js.map +0 -7
  436. package/dist/commands/packs/apply.js.map +0 -7
  437. package/dist/commands/packs/create.js.map +0 -7
  438. package/dist/commands/packs/fork.js.map +0 -7
  439. package/dist/commands/packs/get.js.map +0 -7
  440. package/dist/commands/packs/list.js.map +0 -7
  441. package/dist/commands/packs/remove-instruction.js.map +0 -7
  442. package/dist/commands/proxy/env.js.map +0 -7
  443. package/dist/commands/proxy/logs.js.map +0 -7
  444. package/dist/commands/proxy/restart.js.map +0 -7
  445. package/dist/commands/proxy/setup.js.map +0 -7
  446. package/dist/commands/proxy/start.js.map +0 -7
  447. package/dist/commands/proxy/status.js.map +0 -7
  448. package/dist/commands/proxy/stop.js.map +0 -7
  449. package/dist/commands/research/backfill.js.map +0 -7
  450. package/dist/commands/research/tail-transcript.js.map +0 -7
  451. package/dist/commands/service/install.js.map +0 -7
  452. package/dist/commands/service/status.js.map +0 -7
  453. package/dist/commands/service/uninstall.js.map +0 -7
  454. package/dist/commands/sessions/analyze.js.map +0 -7
  455. package/dist/commands/sessions/end.js.map +0 -7
  456. package/dist/commands/sessions/import.js.map +0 -7
  457. package/dist/commands/sessions/list.js.map +0 -7
  458. package/dist/commands/sessions/start.js.map +0 -7
  459. package/dist/commands/setup.js.map +0 -7
  460. package/dist/commands/skills/export-approved.js.map +0 -7
  461. package/dist/commands/skills/install.js.map +0 -7
  462. package/dist/commands/skills/list.js.map +0 -7
  463. package/dist/commands/skills/publish.js.map +0 -7
  464. package/dist/commands/skills/search.js.map +0 -7
  465. package/dist/commands/skills/update.js.map +0 -7
  466. package/dist/commands/suggestions/accept.js.map +0 -7
  467. package/dist/commands/suggestions/dismiss.js.map +0 -7
  468. package/dist/commands/suggestions/list.js.map +0 -7
  469. package/dist/commands/suggestions/refresh.js.map +0 -7
  470. package/dist/cursor-BGQJ4CWI.js +0 -134
  471. package/dist/cursor-BGQJ4CWI.js.map +0 -7
  472. package/dist/dashboard/Dashboard.js.map +0 -7
  473. package/dist/dashboard/data.js.map +0 -7
  474. package/dist/dashboard/launcher/ActiveJobsList.js.map +0 -7
  475. package/dist/dashboard/launcher/LauncherOverlay.js.map +0 -7
  476. package/dist/dashboard/launcher/NewLaunchForm.js.map +0 -7
  477. package/dist/dashboard/launcher/api.js.map +0 -7
  478. package/dist/dashboard/launcher/tool-labels.js.map +0 -7
  479. package/dist/dashboard/launcher/types.js.map +0 -7
  480. package/dist/dashboard/launcher/useLaunchJobs.js.map +0 -7
  481. package/dist/dashboard/panels/friction.js.map +0 -7
  482. package/dist/dashboard/panels/insights.js.map +0 -7
  483. package/dist/dashboard/panels/instructions.js.map +0 -7
  484. package/dist/dashboard/panels/outcomes.js.map +0 -7
  485. package/dist/dashboard/panels/overview.js.map +0 -7
  486. package/dist/dashboard/panels/shared.js.map +0 -7
  487. package/dist/dashboard/types.js.map +0 -7
  488. package/dist/dist-UNYP5PJR.js +0 -56
  489. package/dist/dist-UNYP5PJR.js.map +0 -7
  490. package/dist/index.js.map +0 -7
  491. package/dist/lib/active-org-refresh.js.map +0 -7
  492. package/dist/lib/active-org.js.map +0 -7
  493. package/dist/lib/agent-loop.js.map +0 -7
  494. package/dist/lib/antigravity-transcript.js.map +0 -7
  495. package/dist/lib/api-client.js.map +0 -7
  496. package/dist/lib/auth.js.map +0 -7
  497. package/dist/lib/capture-hosts.js.map +0 -7
  498. package/dist/lib/detect-languages.js.map +0 -7
  499. package/dist/lib/detect-tmux.js.map +0 -7
  500. package/dist/lib/diagnostics.js.map +0 -7
  501. package/dist/lib/editor-proxy-pins.js.map +0 -7
  502. package/dist/lib/ensure-api-key.js.map +0 -7
  503. package/dist/lib/eval-analyzer.js.map +0 -7
  504. package/dist/lib/eval-benchmark.js.map +0 -7
  505. package/dist/lib/eval-conversation-handler.js.map +0 -7
  506. package/dist/lib/eval-executor.js.map +0 -7
  507. package/dist/lib/eval-grader.js.map +0 -7
  508. package/dist/lib/eval-meta-judge.js.map +0 -7
  509. package/dist/lib/eval-trigger-tester.js.map +0 -7
  510. package/dist/lib/eval-worktree.js.map +0 -7
  511. package/dist/lib/gateway-entry.js.map +0 -7
  512. package/dist/lib/gateway-identity.js.map +0 -7
  513. package/dist/lib/gateway-lifecycle.js.map +0 -7
  514. package/dist/lib/gateway.js.map +0 -7
  515. package/dist/lib/handlers/cron-refresh-skills.js.map +0 -7
  516. package/dist/lib/handlers/cron-suggest-instructions.js.map +0 -7
  517. package/dist/lib/handlers/process-announcement.js.map +0 -7
  518. package/dist/lib/handlers/process-changelog.js.map +0 -7
  519. package/dist/lib/handlers/process-conversation.js.map +0 -7
  520. package/dist/lib/handlers/process-eval.js.map +0 -7
  521. package/dist/lib/handlers/process-insights.js.map +0 -7
  522. package/dist/lib/handlers/process-launch.js.map +0 -7
  523. package/dist/lib/handlers/process-run-cleanup.js.map +0 -7
  524. package/dist/lib/handlers/process-send-message.js.map +0 -7
  525. package/dist/lib/handlers/process-session-goal.js.map +0 -7
  526. package/dist/lib/hooks-config.js.map +0 -7
  527. package/dist/lib/insights-prompts.js.map +0 -7
  528. package/dist/lib/instruction-snapshot.js.map +0 -7
  529. package/dist/lib/job-helpers.js.map +0 -7
  530. package/dist/lib/llm-client.js.map +0 -7
  531. package/dist/lib/manual-tasks-meta.js.map +0 -7
  532. package/dist/lib/manual-tasks.js.map +0 -7
  533. package/dist/lib/output.js.map +0 -7
  534. package/dist/lib/permanent-job-error.js.map +0 -7
  535. package/dist/lib/pid-identity.js.map +0 -7
  536. package/dist/lib/proxy-respawn.js.map +0 -7
  537. package/dist/lib/research-client.js.map +0 -7
  538. package/dist/lib/setup-steps.js.map +0 -7
  539. package/dist/lib/skills-loader.js.map +0 -7
  540. package/dist/lib/statusline-shim.js.map +0 -7
  541. package/dist/lib/telemetry.js.map +0 -7
  542. package/dist/lib/terminal-target-heartbeat.js.map +0 -7
  543. package/dist/lib/tmux.js.map +0 -7
  544. package/dist/lib/transcript-rate-limit-watcher.js.map +0 -7
  545. package/dist/lib/types.js.map +0 -7
  546. package/dist/lib/version-check.js.map +0 -7
  547. package/dist/lib/which.js.map +0 -7
  548. package/dist/lib/worktree.js.map +0 -7
  549. package/dist/opencode-IQ7X5YMJ.js +0 -190
  550. package/dist/opencode-IQ7X5YMJ.js.map +0 -7
@@ -1,220 +0,0 @@
1
- import {
2
- analyzeEvalResults
3
- } from "./chunk-3TIMQ3O6.js";
4
- import {
5
- gradeEvalOutput
6
- } from "./chunk-YNIH3KMU.js";
7
- import {
8
- executeEval
9
- } from "./chunk-QN34TGD3.js";
10
- import {
11
- apiGet,
12
- apiPost
13
- } from "./chunk-ZUJBM6HE.js";
14
-
15
- // src/lib/eval-conversation-handler.ts
16
- async function processConversationJob(jobConfig, evalTargetId, logger) {
17
- const { conversationId, messageId, messageContent } = jobConfig;
18
- const target = await apiGet(`/api/eval-targets/${evalTargetId}`);
19
- const evalCases = await apiGet(`/api/eval-targets/${evalTargetId}/evals`);
20
- const messages = await apiGet(
21
- `/api/eval-conversations/${conversationId}/messages`
22
- );
23
- const msgIdx = messages.findIndex((m) => m.id === messageId);
24
- if (msgIdx >= 0) {
25
- const hasResponse = messages.slice(msgIdx + 1).some(
26
- (m) => m.role === "assistant" && (m.type === "results" || m.type === "proposal" || m.type === "generated" || m.type === "text")
27
- );
28
- if (hasResponse) {
29
- logger(`Message ${messageId} already processed \u2014 skipping (idempotency guard)`);
30
- return;
31
- }
32
- }
33
- const postMessage = async (content, type, data) => {
34
- await apiPost(`/api/eval-conversations/${conversationId}/messages/assistant`, {
35
- content,
36
- type,
37
- data
38
- });
39
- };
40
- const decision = await decideAction(target, evalCases, messages, messageContent, logger);
41
- logger(`Action: ${decision.action}`);
42
- switch (decision.action) {
43
- case "run_evals":
44
- await handleRunEvals(target, evalCases, conversationId, postMessage, logger);
45
- break;
46
- case "generate_cases":
47
- await handleGenerateCases(target, evalTargetId, conversationId, postMessage, logger);
48
- break;
49
- case "analyze_results":
50
- case "propose_changes":
51
- await handleAnalyzeAndPropose(target, evalCases, messages, messageContent, conversationId, postMessage, logger);
52
- break;
53
- case "respond":
54
- await postMessage(decision.response, "text");
55
- break;
56
- }
57
- }
58
- async function decideAction(target, evalCases, messages, latestMessage, logger) {
59
- const recentMessages = messages.slice(-10).map(
60
- (m) => `${m.role}: ${m.content.slice(0, 200)}`
61
- ).join("\n");
62
- const prompt = `You are an eval assistant. Decide what action to take based on the user's message.
63
-
64
- ## Current State
65
- - Eval target: "${target.name}" v${target.version} (${target.type})
66
- - Eval cases: ${evalCases.length} defined${evalCases.length > 0 ? ` (${evalCases.map((e) => e.name).join(", ")})` : ""}
67
- - Content length: ${target.content.length} chars
68
-
69
- ## Recent Conversation
70
- ${recentMessages}
71
-
72
- ## User's Latest Message
73
- ${latestMessage}
74
-
75
- ## Available Actions
76
- - run_evals: Run all eval cases against current version (with + without target). Choose this when the user wants to test, evaluate, or see how the instruction performs.
77
- - generate_cases: Auto-generate eval test cases from the instruction content. Choose this when there are no eval cases (${evalCases.length} currently) or user asks to create/generate tests.
78
- - analyze_results: Analyze recent eval failures and propose improvements based on user feedback. Choose this when user gives qualitative feedback like "this is wrong", "missing X", etc.
79
- - propose_changes: Propose specific content edits based on conversation. Choose this when user asks for improvements or changes.
80
- - respond: Just answer a question without running any evals. Choose this for informational questions.
81
-
82
- Respond with ONLY valid JSON:
83
- {"action": "run_evals", "response": "What you want to say to the user", "params": {}}`;
84
- const result = await executeEval({ prompt, timeout: 3e4 });
85
- try {
86
- let jsonStr = result.output.trim();
87
- const jsonMatch = jsonStr.match(/\{[\s\S]*\}/);
88
- if (jsonMatch) jsonStr = jsonMatch[0];
89
- return JSON.parse(jsonStr);
90
- } catch {
91
- logger("Failed to parse action decision, defaulting to respond");
92
- const lower = latestMessage.toLowerCase();
93
- if (lower.includes("run") || lower.includes("test") || lower.includes("eval")) {
94
- return { action: "run_evals", response: "Running evals now..." };
95
- }
96
- if (lower.includes("generate") || lower.includes("create") || evalCases.length === 0 && lower.includes("start")) {
97
- return { action: "generate_cases", response: "Generating test cases..." };
98
- }
99
- return { action: "respond", response: "I can help you run evals, generate test cases, or analyze results. What would you like to do?" };
100
- }
101
- }
102
- async function handleRunEvals(target, evalCases, _conversationId, postMessage, logger) {
103
- if (evalCases.length === 0) {
104
- await postMessage(
105
- "No eval cases exist yet. Would you like me to generate some from the instruction content?",
106
- "text"
107
- );
108
- return;
109
- }
110
- await postMessage(`Running ${evalCases.length} evals against "${target.name}" v${target.version}...`, "status");
111
- const results = [];
112
- for (const eval_ of evalCases) {
113
- logger(`Running: ${eval_.name} (with_target)`);
114
- const execResult = await executeEval({
115
- prompt: eval_.prompt,
116
- targetContent: target.content,
117
- timeout: 12e4
118
- });
119
- let passed = false;
120
- let evidence = "";
121
- if (!execResult.error && eval_.expectations.length > 0) {
122
- const grading = await gradeEvalOutput({
123
- prompt: eval_.prompt,
124
- output: execResult.output,
125
- expectations: eval_.expectations,
126
- timeout: 12e4
127
- });
128
- const summary = grading?.summary;
129
- passed = summary?.pass_rate >= 1;
130
- evidence = grading?.expectations?.map((e) => `${e.passed ? "PASS" : "FAIL"}: ${e.text} \u2014 ${e.evidence}`).join("\n") ?? "";
131
- }
132
- results.push({
133
- evalName: eval_.name,
134
- passed,
135
- output: execResult.error ?? execResult.output.slice(0, 2e3),
136
- expectations: eval_.expectations,
137
- evidence,
138
- configuration: "with_target"
139
- });
140
- }
141
- const passedCount = results.filter((r) => r.passed).length;
142
- const total = results.length;
143
- await postMessage(
144
- `${passedCount} of ${total} evals passed (${Math.round(passedCount / total * 100)}%)`,
145
- "results",
146
- {
147
- summary: { passed: passedCount, failed: total - passedCount, total, passRate: passedCount / total },
148
- results: results.map((r) => ({
149
- evalName: r.evalName,
150
- passed: r.passed,
151
- output: r.output,
152
- expectations: r.expectations,
153
- evidence: r.evidence
154
- }))
155
- }
156
- );
157
- }
158
- async function handleGenerateCases(target, _evalTargetId, _conversationId, postMessage, logger) {
159
- await postMessage("Generating eval cases from instruction content...", "status");
160
- logger("Calling eval-from-context endpoint");
161
- const result = await apiPost("/api/eval-from-context", {
162
- contentHash: "",
163
- name: target.name,
164
- type: target.type,
165
- content: target.content,
166
- config: { skipBaseline: false, skipGrading: false }
167
- });
168
- const cases = result.evals ?? [];
169
- await postMessage(
170
- `Generated ${cases.length} eval cases. Review them below:`,
171
- "generated",
172
- {
173
- cases: cases.map((c) => ({
174
- id: c.id,
175
- name: c.name,
176
- prompt: c.prompt,
177
- expectations: c.expectations
178
- }))
179
- }
180
- );
181
- }
182
- async function handleAnalyzeAndPropose(target, evalCases, messages, userFeedback, _conversationId, postMessage, logger) {
183
- await postMessage("Analyzing results and preparing improvements...", "status");
184
- const lastResults = [...messages].reverse().find((m) => m.type === "results");
185
- const evalResults = lastResults?.data?.results?.map((r) => ({
186
- evalName: r.evalName,
187
- prompt: "",
188
- expectations: r.expectations ?? [],
189
- grading: {
190
- summary: { pass_rate: r.passed ? 1 : 0 },
191
- expectations: r.expectations?.map((e) => ({
192
- text: e,
193
- passed: r.passed,
194
- evidence: r.evidence ?? ""
195
- }))
196
- }
197
- })) ?? [];
198
- logger(`Analyzing ${evalResults.length} eval results with user feedback`);
199
- const analysis = await analyzeEvalResults({
200
- content: target.content,
201
- evalResults,
202
- model: void 0,
203
- timeout: 12e4,
204
- userFeedback
205
- });
206
- await postMessage(
207
- analysis.overallAssessment,
208
- "proposal",
209
- {
210
- suggestions: analysis.suggestions,
211
- proposedContent: analysis.proposedContent,
212
- fromVersion: target.version
213
- }
214
- );
215
- }
216
-
217
- export {
218
- processConversationJob
219
- };
220
- //# sourceMappingURL=chunk-KJKBDQ4D.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/lib/eval-conversation-handler.ts"],
4
- "sourcesContent": ["import { apiGet, apiPost } from './api-client.js';\nimport { executeEval } from './eval-executor.js';\nimport { gradeEvalOutput } from './eval-grader.js';\nimport { analyzeEvalResults } from './eval-analyzer.js';\n\ninterface ConversationMessage {\n id: string;\n role: 'user' | 'assistant';\n content: string;\n type?: string;\n data?: Record<string, unknown>;\n createdAt: string;\n}\n\ninterface EvalTarget {\n id: string;\n name: string;\n type: string;\n content: string;\n description: string;\n version: number;\n}\n\ninterface EvalCase {\n id: string;\n name: string;\n prompt: string;\n expectedOutput: string;\n expectations: string[];\n}\n\ninterface ConversationJobConfig {\n type: 'conversation';\n conversationId: string;\n messageId: string;\n messageContent: string;\n}\n\ninterface ActionDecision {\n action: 'run_evals' | 'generate_cases' | 'analyze_results' | 'propose_changes' | 'respond';\n response: string;\n params?: Record<string, unknown>;\n}\n\nexport async function processConversationJob(\n jobConfig: ConversationJobConfig,\n evalTargetId: string,\n logger: (msg: string) => void,\n): Promise<void> {\n const { conversationId, messageId, messageContent } = jobConfig;\n\n // Fetch context\n const target = await apiGet<EvalTarget>(`/api/eval-targets/${evalTargetId}`);\n const evalCases = await apiGet<EvalCase[]>(`/api/eval-targets/${evalTargetId}/evals`);\n const messages = await apiGet<ConversationMessage[]>(\n `/api/eval-conversations/${conversationId}/messages`,\n );\n\n // Idempotency: check if this message was already processed (has assistant responses after it)\n const msgIdx = messages.findIndex((m) => m.id === messageId);\n if (msgIdx >= 0) {\n const hasResponse = messages.slice(msgIdx + 1).some(\n (m) => m.role === 'assistant' && (m.type === 'results' || m.type === 'proposal' || m.type === 'generated' || m.type === 'text'),\n );\n if (hasResponse) {\n logger(`Message ${messageId} already processed \u2014 skipping (idempotency guard)`);\n return;\n }\n }\n\n // Helper to post assistant messages\n const postMessage = async (content: string, type: string, data?: Record<string, unknown>) => {\n await apiPost(`/api/eval-conversations/${conversationId}/messages/assistant`, {\n content,\n type,\n data,\n });\n };\n\n // Decide what action to take\n const decision = await decideAction(target, evalCases, messages, messageContent, logger);\n\n logger(`Action: ${decision.action}`);\n\n switch (decision.action) {\n case 'run_evals':\n await handleRunEvals(target, evalCases, conversationId, postMessage, logger);\n break;\n\n case 'generate_cases':\n await handleGenerateCases(target, evalTargetId, conversationId, postMessage, logger);\n break;\n\n case 'analyze_results':\n case 'propose_changes':\n await handleAnalyzeAndPropose(target, evalCases, messages, messageContent, conversationId, postMessage, logger);\n break;\n\n case 'respond':\n await postMessage(decision.response, 'text');\n break;\n }\n}\n\nasync function decideAction(\n target: EvalTarget,\n evalCases: EvalCase[],\n messages: ConversationMessage[],\n latestMessage: string,\n logger: (msg: string) => void,\n): Promise<ActionDecision> {\n // Build conversation summary for context\n const recentMessages = messages.slice(-10).map((m) =>\n `${m.role}: ${m.content.slice(0, 200)}`\n ).join('\\n');\n\n const prompt = `You are an eval assistant. Decide what action to take based on the user's message.\n\n## Current State\n- Eval target: \"${target.name}\" v${target.version} (${target.type})\n- Eval cases: ${evalCases.length} defined${evalCases.length > 0 ? ` (${evalCases.map((e) => e.name).join(', ')})` : ''}\n- Content length: ${target.content.length} chars\n\n## Recent Conversation\n${recentMessages}\n\n## User's Latest Message\n${latestMessage}\n\n## Available Actions\n- run_evals: Run all eval cases against current version (with + without target). Choose this when the user wants to test, evaluate, or see how the instruction performs.\n- generate_cases: Auto-generate eval test cases from the instruction content. Choose this when there are no eval cases (${evalCases.length} currently) or user asks to create/generate tests.\n- analyze_results: Analyze recent eval failures and propose improvements based on user feedback. Choose this when user gives qualitative feedback like \"this is wrong\", \"missing X\", etc.\n- propose_changes: Propose specific content edits based on conversation. Choose this when user asks for improvements or changes.\n- respond: Just answer a question without running any evals. Choose this for informational questions.\n\nRespond with ONLY valid JSON:\n{\"action\": \"run_evals\", \"response\": \"What you want to say to the user\", \"params\": {}}`;\n\n const result = await executeEval({ prompt, timeout: 30_000 });\n\n try {\n let jsonStr = result.output.trim();\n const jsonMatch = jsonStr.match(/\\{[\\s\\S]*\\}/);\n if (jsonMatch) jsonStr = jsonMatch[0];\n return JSON.parse(jsonStr) as ActionDecision;\n } catch {\n logger('Failed to parse action decision, defaulting to respond');\n // Fallback: simple heuristics\n const lower = latestMessage.toLowerCase();\n if (lower.includes('run') || lower.includes('test') || lower.includes('eval')) {\n return { action: 'run_evals', response: 'Running evals now...' };\n }\n if (lower.includes('generate') || lower.includes('create') || (evalCases.length === 0 && lower.includes('start'))) {\n return { action: 'generate_cases', response: 'Generating test cases...' };\n }\n return { action: 'respond', response: 'I can help you run evals, generate test cases, or analyze results. What would you like to do?' };\n }\n}\n\nasync function handleRunEvals(\n target: EvalTarget,\n evalCases: EvalCase[],\n _conversationId: string,\n postMessage: (content: string, type: string, data?: Record<string, unknown>) => Promise<void>,\n logger: (msg: string) => void,\n): Promise<void> {\n if (evalCases.length === 0) {\n await postMessage(\n 'No eval cases exist yet. Would you like me to generate some from the instruction content?',\n 'text',\n );\n return;\n }\n\n await postMessage(`Running ${evalCases.length} evals against \"${target.name}\" v${target.version}...`, 'status');\n\n const results: Array<{\n evalName: string;\n passed: boolean;\n output: string;\n expectations: string[];\n evidence: string;\n configuration: string;\n }> = [];\n\n // Run with_target\n for (const eval_ of evalCases) {\n logger(`Running: ${eval_.name} (with_target)`);\n const execResult = await executeEval({\n prompt: eval_.prompt,\n targetContent: target.content,\n timeout: 120_000,\n });\n\n let passed = false;\n let evidence = '';\n\n if (!execResult.error && eval_.expectations.length > 0) {\n const grading = await gradeEvalOutput({\n prompt: eval_.prompt,\n output: execResult.output,\n expectations: eval_.expectations,\n timeout: 120_000,\n });\n const summary = (grading as any)?.summary;\n passed = summary?.pass_rate >= 1.0;\n evidence = (grading as any)?.expectations\n ?.map((e: any) => `${e.passed ? 'PASS' : 'FAIL'}: ${e.text} \u2014 ${e.evidence}`)\n .join('\\n') ?? '';\n }\n\n results.push({\n evalName: eval_.name,\n passed,\n output: execResult.error ?? execResult.output.slice(0, 2000),\n expectations: eval_.expectations,\n evidence,\n configuration: 'with_target',\n });\n }\n\n const passedCount = results.filter((r) => r.passed).length;\n const total = results.length;\n\n await postMessage(\n `${passedCount} of ${total} evals passed (${Math.round((passedCount / total) * 100)}%)`,\n 'results',\n {\n summary: { passed: passedCount, failed: total - passedCount, total, passRate: passedCount / total },\n results: results.map((r) => ({\n evalName: r.evalName,\n passed: r.passed,\n output: r.output,\n expectations: r.expectations,\n evidence: r.evidence,\n })),\n },\n );\n}\n\nasync function handleGenerateCases(\n target: EvalTarget,\n _evalTargetId: string,\n _conversationId: string,\n postMessage: (content: string, type: string, data?: Record<string, unknown>) => Promise<void>,\n logger: (msg: string) => void,\n): Promise<void> {\n await postMessage('Generating eval cases from instruction content...', 'status');\n\n logger('Calling eval-from-context endpoint');\n\n // Use eval-from-context endpoint\n const result = await apiPost<{\n evalTarget: { id: string };\n evals: Array<{ id: string; name: string; prompt: string; expectations: string[] }>;\n job: { id: string } | null;\n }>('/api/eval-from-context', {\n contentHash: '',\n name: target.name,\n type: target.type,\n content: target.content,\n config: { skipBaseline: false, skipGrading: false },\n });\n\n const cases = result.evals ?? [];\n\n await postMessage(\n `Generated ${cases.length} eval cases. Review them below:`,\n 'generated',\n {\n cases: cases.map((c) => ({\n id: c.id,\n name: c.name,\n prompt: c.prompt,\n expectations: c.expectations,\n })),\n },\n );\n}\n\nasync function handleAnalyzeAndPropose(\n target: EvalTarget,\n evalCases: EvalCase[],\n messages: ConversationMessage[],\n userFeedback: string,\n _conversationId: string,\n postMessage: (content: string, type: string, data?: Record<string, unknown>) => Promise<void>,\n logger: (msg: string) => void,\n): Promise<void> {\n await postMessage('Analyzing results and preparing improvements...', 'status');\n\n // Find the most recent results message for context\n const lastResults = [...messages]\n .reverse()\n .find((m) => m.type === 'results');\n\n const evalResults = (lastResults?.data as any)?.results?.map((r: any) => ({\n evalName: r.evalName,\n prompt: '',\n expectations: r.expectations ?? [],\n grading: {\n summary: { pass_rate: r.passed ? 1 : 0 },\n expectations: r.expectations?.map((e: string) => ({\n text: e,\n passed: r.passed,\n evidence: r.evidence ?? '',\n })),\n },\n })) ?? [];\n\n logger(`Analyzing ${evalResults.length} eval results with user feedback`);\n\n // Include user feedback in the analysis\n const analysis = await analyzeEvalResults({\n content: target.content,\n evalResults,\n model: undefined,\n timeout: 120_000,\n userFeedback,\n });\n\n await postMessage(\n analysis.overallAssessment,\n 'proposal',\n {\n suggestions: analysis.suggestions,\n proposedContent: analysis.proposedContent,\n fromVersion: target.version,\n },\n );\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,41 +0,0 @@
1
- // src/lib/tmux.ts
2
- import { spawn } from "node:child_process";
3
- function tmuxSpawnEnv() {
4
- const extraDirs = ["/opt/homebrew/bin", "/usr/local/bin"];
5
- const parts = (process.env.PATH ?? "").split(":").filter(Boolean);
6
- const missing = extraDirs.filter((d) => !parts.includes(d));
7
- if (missing.length === 0) return process.env;
8
- return { ...process.env, PATH: [...parts, ...missing].join(":") };
9
- }
10
- function runTmux(args) {
11
- return new Promise((resolve) => {
12
- const proc = spawn("tmux", args, {
13
- stdio: ["ignore", "ignore", "pipe"],
14
- env: tmuxSpawnEnv()
15
- });
16
- let stderr = "";
17
- proc.stderr.on("data", (d) => {
18
- stderr += d.toString();
19
- });
20
- proc.on("close", (code) => resolve({ code, stderr }));
21
- proc.on("error", (err) => resolve({ code: null, stderr: err.message }));
22
- });
23
- }
24
- function buildTmuxHasSessionArgs(target) {
25
- return ["has-session", "-t", target];
26
- }
27
- function buildTmuxSendLiteralArgs(target, message) {
28
- return ["send-keys", "-t", target, "-l", "--", message];
29
- }
30
- function buildTmuxSendEnterArgs(target) {
31
- return ["send-keys", "-t", target, "Enter"];
32
- }
33
-
34
- export {
35
- tmuxSpawnEnv,
36
- runTmux,
37
- buildTmuxHasSessionArgs,
38
- buildTmuxSendLiteralArgs,
39
- buildTmuxSendEnterArgs
40
- };
41
- //# sourceMappingURL=chunk-KRBQLMOP.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/lib/tmux.ts"],
4
- "sourcesContent": ["import { spawn } from 'node:child_process';\n\nexport interface TmuxRunResult {\n code: number | null;\n stderr: string;\n}\n\n// Homebrew installs tmux to /opt/homebrew/bin (Apple Silicon) or\n// /usr/local/bin (Intel). The launchd worker's minimal PATH omits\n// /opt/homebrew/bin, so a bare spawn('tmux') fails with ENOENT under launchd\n// \u2014 which silently flips every terminal target to `missing` and breaks live\n// send. Augment PATH at the spawn boundary. Mirrors the same fix in\n// packages/session terminal tmux (verified 2026-06-09).\nexport function tmuxSpawnEnv(): NodeJS.ProcessEnv {\n const extraDirs = ['/opt/homebrew/bin', '/usr/local/bin'];\n const parts = (process.env.PATH ?? '').split(':').filter(Boolean);\n const missing = extraDirs.filter((d) => !parts.includes(d));\n if (missing.length === 0) return process.env;\n return { ...process.env, PATH: [...parts, ...missing].join(':') };\n}\n\nexport function runTmux(args: string[]): Promise<TmuxRunResult> {\n return new Promise((resolve) => {\n const proc = spawn('tmux', args, {\n stdio: ['ignore', 'ignore', 'pipe'],\n env: tmuxSpawnEnv(),\n });\n let stderr = '';\n proc.stderr.on('data', (d: Buffer) => {\n stderr += d.toString();\n });\n proc.on('close', (code) => resolve({ code, stderr }));\n proc.on('error', (err) => resolve({ code: null, stderr: err.message }));\n });\n}\n\nexport function buildTmuxHasSessionArgs(target: string): string[] {\n return ['has-session', '-t', target];\n}\n\nexport function buildTmuxSendLiteralArgs(target: string, message: string): string[] {\n return ['send-keys', '-t', target, '-l', '--', message];\n}\n\nexport function buildTmuxSendEnterArgs(target: string): string[] {\n return ['send-keys', '-t', target, 'Enter'];\n}\n"],
5
- "mappings": ";AAAA,SAAS,aAAa;AAaf,SAAS,eAAkC;AAChD,QAAM,YAAY,CAAC,qBAAqB,gBAAgB;AACxD,QAAM,SAAS,QAAQ,IAAI,QAAQ,IAAI,MAAM,GAAG,EAAE,OAAO,OAAO;AAChE,QAAM,UAAU,UAAU,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;AAC1D,MAAI,QAAQ,WAAW,EAAG,QAAO,QAAQ;AACzC,SAAO,EAAE,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,KAAK,GAAG,EAAE;AAClE;AAEO,SAAS,QAAQ,MAAwC;AAC9D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,OAAO,MAAM,QAAQ,MAAM;AAAA,MAC/B,OAAO,CAAC,UAAU,UAAU,MAAM;AAAA,MAClC,KAAK,aAAa;AAAA,IACpB,CAAC;AACD,QAAI,SAAS;AACb,SAAK,OAAO,GAAG,QAAQ,CAAC,MAAc;AACpC,gBAAU,EAAE,SAAS;AAAA,IACvB,CAAC;AACD,SAAK,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC;AACpD,SAAK,GAAG,SAAS,CAAC,QAAQ,QAAQ,EAAE,MAAM,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC;AAAA,EACxE,CAAC;AACH;AAEO,SAAS,wBAAwB,QAA0B;AAChE,SAAO,CAAC,eAAe,MAAM,MAAM;AACrC;AAEO,SAAS,yBAAyB,QAAgB,SAA2B;AAClF,SAAO,CAAC,aAAa,MAAM,QAAQ,MAAM,MAAM,OAAO;AACxD;AAEO,SAAS,uBAAuB,QAA0B;AAC/D,SAAO,CAAC,aAAa,MAAM,QAAQ,OAAO;AAC5C;",
6
- "names": []
7
- }