@joshuafolkken/kit 1.3041.0 → 1.3092.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1243) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/progress-watcher.md +10 -8
  7. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  8. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  9. package/.github/workflows/ci.yml +0 -20
  10. package/.github/workflows/pr-classification.yml +0 -5
  11. package/.github/workflows/publish.yml +0 -1
  12. package/.github/workflows/sonar-qube.yml +0 -5
  13. package/README.md +2 -0
  14. package/SECURITY.md +2 -1
  15. package/dist/.inputs-verified.json +1 -1
  16. package/dist/commands/adopt.js +29 -20
  17. package/dist/commands/auto-ok-judge-cli.js +43 -33
  18. package/dist/commands/auto-ok-main.js +73 -74
  19. package/dist/commands/backlog-budget-main.js +5 -6
  20. package/dist/commands/backlog-drive-cli.js +286 -305
  21. package/dist/commands/backlog-next-main.js +111 -108
  22. package/dist/commands/backlog-offer-main.js +148 -112
  23. package/dist/commands/backlog-plan-cli.js +123 -120
  24. package/dist/commands/backlog-triage-cli.js +131 -128
  25. package/dist/commands/backlogrun-cli.js +273 -264
  26. package/dist/commands/behavior-cli.js +23 -26
  27. package/dist/commands/bytes-command.js +56 -59
  28. package/dist/commands/cases-cli.js +4 -5
  29. package/dist/commands/check-commit-message-main.js +3 -4
  30. package/dist/commands/check-related.js +125 -119
  31. package/dist/commands/chunk-26JL4UU4.js +365 -0
  32. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  33. package/dist/commands/chunk-2CKJODCK.js +245 -0
  34. package/dist/commands/chunk-2E6PSONB.js +46 -0
  35. package/dist/commands/chunk-2GA4775H.js +77 -0
  36. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  37. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  38. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  39. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  40. package/dist/commands/chunk-2Q7MGFYB.js +1208 -0
  41. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  42. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  43. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  44. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  45. package/dist/commands/chunk-2XZF3YFY.js +47 -0
  46. package/dist/commands/chunk-33TAOZUE.js +29 -0
  47. package/dist/commands/chunk-374XGAWD.js +158 -0
  48. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  49. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  50. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  51. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  52. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  53. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  54. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  55. package/dist/commands/chunk-3PCUERXE.js +19 -0
  56. package/dist/commands/chunk-3U6A5WON.js +173 -0
  57. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  58. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  59. package/dist/commands/chunk-43H725LG.js +132 -0
  60. package/dist/commands/chunk-46STCE6Q.js +48 -0
  61. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  62. package/dist/commands/chunk-47J4KOZP.js +46 -0
  63. package/dist/commands/chunk-47W7PF4T.js +22 -0
  64. package/dist/commands/chunk-4F4KARQN.js +229 -0
  65. package/dist/commands/chunk-4GUGC4IW.js +338 -0
  66. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  67. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  68. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  69. package/dist/commands/chunk-4IDINPBE.js +525 -0
  70. package/dist/commands/chunk-4K7KLR7L.js +69 -0
  71. package/dist/commands/chunk-4MGTNY2L.js +347 -0
  72. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  73. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  74. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  75. package/dist/commands/chunk-5AZTSESD.js +114 -0
  76. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  77. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  78. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  79. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  80. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  81. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  82. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  83. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  84. package/dist/commands/chunk-5VQCL33M.js +46 -0
  85. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  86. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  87. package/dist/commands/chunk-62NYXZCC.js +241 -0
  88. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  89. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  90. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  91. package/dist/commands/chunk-6O45F6YI.js +86 -0
  92. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  93. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  94. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  95. package/dist/commands/chunk-736NECRD.js +16 -0
  96. package/dist/commands/chunk-77LEKVEE.js +32 -0
  97. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  98. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  99. package/dist/commands/chunk-7E43YW53.js +128 -0
  100. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  101. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  102. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  105. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  106. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  107. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  108. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  109. package/dist/commands/chunk-AT46EY7H.js +393 -0
  110. package/dist/commands/chunk-AU563VKH.js +75 -0
  111. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  112. package/dist/commands/chunk-AV26CMY6.js +304 -0
  113. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  114. package/dist/commands/chunk-B545ENGY.js +214 -0
  115. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  116. package/dist/commands/chunk-B5XYAWNN.js +37 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BAEDHPXW.js +160 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BE6F4YK2.js +769 -0
  121. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  122. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  123. package/dist/commands/chunk-BLUAO4QW.js +173 -0
  124. package/dist/commands/chunk-BML6MEUB.js +326 -0
  125. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  126. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  127. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  128. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  129. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  130. package/dist/commands/chunk-BVUL57IX.js +139 -0
  131. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  132. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  133. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  134. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  135. package/dist/commands/chunk-CEADAQIL.js +170 -0
  136. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  137. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  138. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  139. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  140. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  141. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  142. package/dist/commands/chunk-DACNQAXC.js +20 -0
  143. package/dist/commands/chunk-DDOS32JU.js +74 -0
  144. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  145. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  146. package/dist/commands/chunk-DFEXNB44.js +159 -0
  147. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  148. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  149. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  150. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  151. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  152. package/dist/commands/chunk-DOYNK72G.js +81 -0
  153. package/dist/commands/chunk-DS53UUDH.js +679 -0
  154. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  155. package/dist/commands/chunk-DURHGVRC.js +33 -0
  156. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  157. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  158. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  159. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  160. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  161. package/dist/commands/chunk-EE4VOZJP.js +167 -0
  162. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  163. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  164. package/dist/commands/chunk-EN65ZS3S.js +73 -0
  165. package/dist/commands/chunk-ES42XPAD.js +123 -0
  166. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  167. package/dist/commands/chunk-ET6IRQ3L.js +330 -0
  168. package/dist/commands/chunk-EWCUT7U2.js +1314 -0
  169. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  170. package/dist/commands/chunk-EZYW54OQ.js +7569 -0
  171. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  172. package/dist/commands/chunk-F2U46HAE.js +52 -0
  173. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  174. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  175. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  176. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  177. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  178. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  179. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  180. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  181. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  182. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  183. package/dist/commands/chunk-G2DNS74C.js +53 -0
  184. package/dist/commands/chunk-G75GWNNY.js +101 -0
  185. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  186. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  187. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  188. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  189. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  190. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  191. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  192. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  193. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  194. package/dist/commands/chunk-GOY5JECO.js +130 -0
  195. package/dist/commands/chunk-GVDRRBHZ.js +507 -0
  196. package/dist/commands/chunk-GWTBIGYC.js +550 -0
  197. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  198. package/dist/commands/chunk-HALHQILI.js +51 -0
  199. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  200. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  201. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  202. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  203. package/dist/commands/chunk-HESWKELD.js +60 -0
  204. package/dist/commands/chunk-HNFBEB4L.js +77 -0
  205. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  206. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  207. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  208. package/dist/commands/chunk-IAGENI2U.js +42 -0
  209. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  210. package/dist/commands/chunk-IEKW3ON6.js +161 -0
  211. package/dist/commands/chunk-IOKOHB7P.js +109 -0
  212. package/dist/commands/chunk-IONGJJYM.js +179 -0
  213. package/dist/commands/chunk-IP23WOWP.js +126 -0
  214. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  215. package/dist/commands/chunk-IXZZSST7.js +459 -0
  216. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  217. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  218. package/dist/commands/chunk-JEYITIWB.js +423 -0
  219. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  220. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  221. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  222. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  223. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  224. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  225. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  226. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  227. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  228. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  229. package/dist/commands/chunk-K5H3CLZZ.js +430 -0
  230. package/dist/commands/chunk-K6P5PISC.js +114 -0
  231. package/dist/commands/chunk-KD3SEAMV.js +402 -0
  232. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  233. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  234. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  235. package/dist/commands/chunk-KHGDZQRG.js +271 -0
  236. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  237. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  238. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  239. package/dist/commands/chunk-KN46UC77.js +114 -0
  240. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  241. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  242. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  243. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  244. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  245. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  246. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  247. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  248. package/dist/commands/chunk-LBMAJDGN.js +124 -0
  249. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  250. package/dist/commands/chunk-LE3M42CF.js +350 -0
  251. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  252. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  253. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  254. package/dist/commands/chunk-LL6G34MF.js +93 -0
  255. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  256. package/dist/commands/chunk-LS7P324N.js +72 -0
  257. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  258. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  259. package/dist/commands/chunk-M32UPB2D.js +110 -0
  260. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  261. package/dist/commands/chunk-M4WG74Q7.js +260 -0
  262. package/dist/commands/chunk-M5HA2ZCG.js +105 -0
  263. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  264. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  265. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  266. package/dist/commands/chunk-MHXIJKGP.js +304 -0
  267. package/dist/commands/chunk-MK4CARBI.js +90 -0
  268. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  269. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  270. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  271. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  272. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  273. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  274. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  275. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  276. package/dist/commands/chunk-N36NZMAL.js +79 -0
  277. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  278. package/dist/commands/chunk-N4P64UIH.js +211 -0
  279. package/dist/commands/chunk-NABSSY4P.js +204 -0
  280. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  281. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  282. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  283. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  284. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  285. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  286. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  287. package/dist/commands/chunk-NOSG3RUP.js +84 -0
  288. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  289. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  290. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  291. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  292. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  293. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  294. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  295. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  296. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  297. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  298. package/dist/commands/chunk-O45BX4EL.js +39 -0
  299. package/dist/commands/chunk-O46T4ANI.js +229 -0
  300. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  301. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  302. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  303. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  304. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  305. package/dist/commands/chunk-OT74RSQO.js +82 -0
  306. package/dist/commands/chunk-OVCVINYW.js +143 -0
  307. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  308. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  309. package/dist/commands/chunk-P43GWYR6.js +185 -0
  310. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  311. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  312. package/dist/commands/chunk-PCZROH3R.js +100 -0
  313. package/dist/commands/chunk-PF3PMT2Q.js +46 -0
  314. package/dist/commands/chunk-PILH72AV.js +170 -0
  315. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  316. package/dist/commands/chunk-PKXTISWR.js +58 -0
  317. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  318. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  319. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  320. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  321. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  322. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  323. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  324. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  325. package/dist/commands/chunk-QSBYULSS.js +100 -0
  326. package/dist/commands/chunk-QSJCZATC.js +18 -0
  327. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  328. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  329. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  330. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  331. package/dist/commands/chunk-QXBOECGL.js +272 -0
  332. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  333. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  334. package/dist/commands/chunk-R36VZIKU.js +53 -0
  335. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  336. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  337. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  338. package/dist/commands/chunk-RDUFVQVJ.js +997 -0
  339. package/dist/commands/chunk-RESNXNDG.js +54 -0
  340. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  341. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  342. package/dist/commands/chunk-RFXON3FK.js +25 -0
  343. package/dist/commands/chunk-RGEB5L37.js +66 -0
  344. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  345. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  346. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  347. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  348. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  349. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  350. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  351. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  352. package/dist/commands/chunk-RYKK75YT.js +289 -0
  353. package/dist/commands/chunk-S4JE63QE.js +704 -0
  354. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  355. package/dist/commands/chunk-SD4EX75H.js +177 -0
  356. package/dist/commands/chunk-SJITWFNY.js +480 -0
  357. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  358. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  359. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  360. package/dist/commands/chunk-SRTEE34O.js +93 -0
  361. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  362. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  363. package/dist/commands/chunk-T6OUNP7E.js +426 -0
  364. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  365. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  366. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  367. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  368. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  369. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  370. package/dist/commands/chunk-TROCFVCU.js +45 -0
  371. package/dist/commands/chunk-TTTZZN7F.js +269 -0
  372. package/dist/commands/chunk-TUBBESHU.js +85 -0
  373. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  374. package/dist/commands/chunk-TXRWAL63.js +144 -0
  375. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  376. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  377. package/dist/commands/chunk-UCO333EX.js +47 -0
  378. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  379. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  380. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  381. package/dist/commands/chunk-UUH3DE77.js +57 -0
  382. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  383. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  384. package/dist/commands/chunk-UX3HCPLX.js +449 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-V2T5DP3B.js +224 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VHLDQ3PH.js +30 -0
  390. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  391. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  392. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  393. package/dist/commands/chunk-VO25PMGS.js +58 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VXE3V3OC.js +335 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W3MDLQZF.js +137 -0
  398. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  399. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  400. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  401. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  402. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  403. package/dist/commands/chunk-WR73HTRG.js +121 -0
  404. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  405. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  406. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  407. package/dist/commands/chunk-WWLCQREY.js +225 -0
  408. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  409. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  410. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  411. package/dist/commands/chunk-XAEL24EG.js +66 -0
  412. package/dist/commands/chunk-XCCT6GKA.js +74 -0
  413. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  414. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  415. package/dist/commands/chunk-XSKJAG72.js +91 -0
  416. package/dist/commands/chunk-XTJA34ND.js +492 -0
  417. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  418. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  419. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  420. package/dist/commands/chunk-YEAE46TS.js +98 -0
  421. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  422. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  423. package/dist/commands/chunk-YMAEYY5R.js +278 -0
  424. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  425. package/dist/commands/chunk-YOA25SII.js +210 -0
  426. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  427. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  428. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  429. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  430. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  431. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  432. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  433. package/dist/commands/chunk-Z6QLFPFB.js +907 -0
  434. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  435. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  436. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  437. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  438. package/dist/commands/chunk-ZEUKX3RZ.js +245 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGBXUY7R.js +198 -0
  441. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  442. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJ5S4VFD.js +258 -0
  445. package/dist/commands/chunk-ZNIIA275.js +59 -0
  446. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  447. package/dist/commands/ci-timing-cli.js +22 -3
  448. package/dist/commands/code-symbol-cli.js +21 -7
  449. package/dist/commands/codex-hook-adapter.js +124 -119
  450. package/dist/commands/command-derive.js +9 -11
  451. package/dist/commands/cost-audit-main.js +118 -119
  452. package/dist/commands/cost-main.js +5 -7
  453. package/dist/commands/cspell-cached.js +55 -57
  454. package/dist/commands/defect-origin-main.js +42 -37
  455. package/dist/commands/defect-report-main.js +33 -25
  456. package/dist/commands/diff-summary-cli.js +3 -4
  457. package/dist/commands/disposition-cli.js +117 -118
  458. package/dist/commands/doctor.js +24 -11
  459. package/dist/commands/document-read-cli.js +50 -53
  460. package/dist/commands/document-section-main.js +50 -53
  461. package/dist/commands/dogfood-commit-cli.js +19 -4
  462. package/dist/commands/effect-audit-cli.js +40 -41
  463. package/dist/commands/epic-audit-main.js +88 -86
  464. package/dist/commands/epic-bundle-main.js +122 -119
  465. package/dist/commands/epic-check.js +37 -31
  466. package/dist/commands/epic-main.js +129 -126
  467. package/dist/commands/epic-next-main.js +85 -83
  468. package/dist/commands/eval-run.js +6 -7
  469. package/dist/commands/format-edited-cli.js +71 -46
  470. package/dist/commands/format.js +41 -56
  471. package/dist/commands/fresh-machine-cli.js +24 -7
  472. package/dist/commands/gh-usage-cli.js +22 -22
  473. package/dist/commands/git-followup-workflow.js +158 -158
  474. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  475. package/dist/commands/git-workflow.js +52 -53
  476. package/dist/commands/github-release-cli.js +3 -3
  477. package/dist/commands/hook-ledger-cli.js +93 -94
  478. package/dist/commands/init-main.js +40 -40
  479. package/dist/commands/inputs.json +2042 -2002
  480. package/dist/commands/issue-ack-cli.js +28 -21
  481. package/dist/commands/issue-already-done-cli.js +107 -110
  482. package/dist/commands/issue-body-cli.js +71 -73
  483. package/dist/commands/issue-cite-main.js +35 -28
  484. package/dist/commands/issue-comment-main.js +36 -30
  485. package/dist/commands/issue-consolidate-cli.js +54 -54
  486. package/dist/commands/issue-file-main.js +274 -148
  487. package/dist/commands/issue-fold-existing-cli.js +126 -123
  488. package/dist/commands/issue-fold-main.js +57 -60
  489. package/dist/commands/issue-lint-main.js +59 -61
  490. package/dist/commands/issue-measured-cli.js +108 -110
  491. package/dist/commands/issue-plan-cli.js +156 -155
  492. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  493. package/dist/commands/issue-priority-cli.js +38 -32
  494. package/dist/commands/issue-read-main.js +38 -33
  495. package/dist/commands/issue-release-class-cli.js +37 -31
  496. package/dist/commands/issue-release-main.js +35 -29
  497. package/dist/commands/issue-scout-main.js +123 -120
  498. package/dist/commands/issue-spill-main.js +149 -144
  499. package/dist/commands/issue-state-main.js +36 -31
  500. package/dist/commands/issue-tick-cli.js +37 -31
  501. package/dist/commands/josh-completion.js +21 -24
  502. package/dist/commands/lane-adopt-cli.js +53 -55
  503. package/dist/commands/lane-breakdown-cli.js +193 -172
  504. package/dist/commands/lane-cli.js +199 -180
  505. package/dist/commands/lane-launch-main.js +106 -56
  506. package/dist/commands/lane-limit-cli.js +119 -116
  507. package/dist/commands/lane-measure-cli.js +408 -245
  508. package/dist/commands/lane-pause-cli.js +51 -54
  509. package/dist/commands/lane-plan-cli.js +148 -147
  510. package/dist/commands/lane-resolve-cli.js +48 -50
  511. package/dist/commands/lane-restart-cli.js +185 -168
  512. package/dist/commands/lane-why-cli.js +121 -122
  513. package/dist/commands/lane-withdraw-cli.js +84 -86
  514. package/dist/commands/latest-corepack.js +3 -2
  515. package/dist/commands/latest-if-required-cli.js +12 -15
  516. package/dist/commands/latest-lane-guard-main.js +2 -3
  517. package/dist/commands/latest-scope-main.js +5 -7
  518. package/dist/commands/latest-update.js +3 -2
  519. package/dist/commands/lines-command.js +8 -10
  520. package/dist/commands/lint-parallel-main.js +65 -67
  521. package/dist/commands/lint-related.js +149 -133
  522. package/dist/commands/lint-rule.js +64 -66
  523. package/dist/commands/lockfile-policy.js +29 -32
  524. package/dist/commands/main-merge-main.js +23 -25
  525. package/dist/commands/main-sync-main.js +23 -24
  526. package/dist/commands/managed-config-scope-cli.js +11 -10
  527. package/dist/commands/measure-rerun-cli.js +31 -26
  528. package/dist/commands/metrics-command.js +97 -100
  529. package/dist/commands/observation-record-cli.js +24 -14
  530. package/dist/commands/observations-flush-cli.js +50 -52
  531. package/dist/commands/overrides-check.js +1 -1
  532. package/dist/commands/package-scout-cli.js +70 -73
  533. package/dist/commands/pin-verify-cli.js +21 -2
  534. package/dist/commands/plan-consumers-main.js +3 -4
  535. package/dist/commands/plan-scaffold-cli.js +145 -146
  536. package/dist/commands/pr-classification-main.js +22 -3
  537. package/dist/commands/pre-commit-lint.js +30 -34
  538. package/dist/commands/pre-commit-type-check.js +55 -55
  539. package/dist/commands/pre-push-unit.js +69 -70
  540. package/dist/commands/pretool-guard-cli.js +111 -113
  541. package/dist/commands/prevent-main-commit.js +2 -3
  542. package/dist/commands/project-profile-cli.js +24 -9
  543. package/dist/commands/propagate.js +31 -23
  544. package/dist/commands/prose-stale-cli.js +48 -42
  545. package/dist/commands/publishable-range-check.js +3 -3
  546. package/dist/commands/read-set-cli.js +58 -61
  547. package/dist/commands/refactor-scan-cli.js +8 -9
  548. package/dist/commands/release-cli.js +57 -57
  549. package/dist/commands/release-scope-main.js +41 -36
  550. package/dist/commands/rename-cli.js +64 -36
  551. package/dist/commands/repo-party-cli.js +3 -4
  552. package/dist/commands/report-template-cli.js +4 -5
  553. package/dist/commands/reserved-run.js +17 -20
  554. package/dist/commands/retrospective-cli.js +126 -127
  555. package/dist/commands/review-attest-cli.js +28 -20
  556. package/dist/commands/review-brief-main.js +184 -167
  557. package/dist/commands/review-findings-cli.js +23 -13
  558. package/dist/commands/review-pair-cli.js +180 -156
  559. package/dist/commands/review-record-main.js +171 -147
  560. package/dist/commands/review-round2-cli.js +89 -91
  561. package/dist/commands/review-stops-cli.js +51 -54
  562. package/dist/commands/review-submit-cli.js +184 -167
  563. package/dist/commands/rule-list.js +78 -80
  564. package/dist/commands/rule-value-cli.js +115 -116
  565. package/dist/commands/ruleset-check-cli.js +23 -6
  566. package/dist/commands/run-add-cli.js +115 -75
  567. package/dist/commands/run-board-main.js +172 -169
  568. package/dist/commands/run-carry-cli.js +182 -174
  569. package/dist/commands/run-chain-cli.js +184 -160
  570. package/dist/commands/run-cut-cli.js +206 -168
  571. package/dist/commands/run-ending-cli.js +51 -54
  572. package/dist/commands/run-entry-cli.js +230 -283
  573. package/dist/commands/run-event-cli.js +18 -21
  574. package/dist/commands/run-handoff-cli.js +75 -78
  575. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  576. package/dist/commands/run-hold-main.js +105 -107
  577. package/dist/commands/run-liveness-cli.js +47 -49
  578. package/dist/commands/run-merge-main.js +159 -151
  579. package/dist/commands/run-next-cli.js +128 -129
  580. package/dist/commands/run-park-cli.js +137 -140
  581. package/dist/commands/run-pause-cli.js +190 -186
  582. package/dist/commands/run-pickup-cli.js +49 -52
  583. package/dist/commands/run-prep-main.js +124 -125
  584. package/dist/commands/run-prime-cli.js +175 -147
  585. package/dist/commands/run-progress-main.js +149 -146
  586. package/dist/commands/run-report-cli.js +60 -60
  587. package/dist/commands/run-review-cli.js +229 -214
  588. package/dist/commands/run-ship-cli.js +258 -252
  589. package/dist/commands/run-ship-evidence-cli.js +71 -72
  590. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  591. package/dist/commands/run-ship-wait-main.js +83 -85
  592. package/dist/commands/run-split-cli.js +176 -172
  593. package/dist/commands/run-stale-main.js +72 -75
  594. package/dist/commands/run-status-cli.js +44 -44
  595. package/dist/commands/run-step-cli.js +213 -211
  596. package/dist/commands/run-tail-cli.js +23 -18
  597. package/dist/commands/run-tidy-main.js +67 -69
  598. package/dist/commands/run-wake-main.js +206 -187
  599. package/dist/commands/run-watcher-guard-cli.js +63 -66
  600. package/dist/commands/security-audit-main.js +21 -24
  601. package/dist/commands/security-audit-provision-main.js +9 -11
  602. package/dist/commands/selfcheck-cli.js +63 -57
  603. package/dist/commands/session-language-main.js +70 -73
  604. package/dist/commands/sonar-hotspots-cli.js +9 -8
  605. package/dist/commands/sonar-new-code-cli.js +3 -4
  606. package/dist/commands/split-assess-cli.js +55 -58
  607. package/dist/commands/split-child-recover-cli.js +38 -39
  608. package/dist/commands/start.js +64 -64
  609. package/dist/commands/stash-pop-main.js +4 -5
  610. package/dist/commands/stash-push-main.js +7 -9
  611. package/dist/commands/stop-guard.js +180 -176
  612. package/dist/commands/sync-main.js +30 -15
  613. package/dist/commands/telegram-test-main.js +29 -22
  614. package/dist/commands/test-declared.js +29 -15
  615. package/dist/commands/test-e2e-guard.js +54 -54
  616. package/dist/commands/test-pinned-main.js +57 -56
  617. package/dist/commands/test-reach-cli.js +40 -32
  618. package/dist/commands/test-red-main.js +12 -14
  619. package/dist/commands/test-related-Z6YY2GFH.js +113 -0
  620. package/dist/commands/test-related-main.js +89 -89
  621. package/dist/commands/test-unit-guard-main.js +37 -37
  622. package/dist/commands/time-cli.js +54 -57
  623. package/dist/commands/time-density-cli.js +26 -29
  624. package/dist/commands/tree-status-cli.js +6 -8
  625. package/dist/commands/type-check-command.js +26 -11
  626. package/dist/commands/ui-routes-cli.js +5 -6
  627. package/dist/commands/ui-shot-cli.js +1 -1
  628. package/dist/commands/uninstall.js +44 -43
  629. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  630. package/dist/commands/unused-members-cli.js +27 -12
  631. package/dist/commands/upstream-interrupt-main.js +159 -151
  632. package/dist/commands/verification-gate.js +85 -86
  633. package/dist/commands/version-check.js +25 -8
  634. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  635. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  636. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  637. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  638. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  639. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  640. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  641. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  642. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  643. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  644. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  645. package/dist/hooks/codex-hook-adapter.js +11 -12
  646. package/dist/hooks/daemon.js +2140 -1387
  647. package/dist/hooks/format-edited.js +6 -6
  648. package/dist/hooks/inputs.json +512 -488
  649. package/dist/hooks/pretool-guard.js +8 -8
  650. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  651. package/dist/hooks/session-lang.js +10 -8
  652. package/dist/hooks/stop-guard.js +962 -669
  653. package/dist/inputs.json +73 -64
  654. package/dist/josh.js +1029 -577
  655. package/dist/registry-migrate.mjs +33938 -0
  656. package/dist/version/index.js +4251 -175
  657. package/package.json +4 -1
  658. package/prompts/collaboration-workflow/principles.md +4 -1
  659. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  660. package/scripts/agent/codex-launch-identity.ts +70 -0
  661. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  663. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  664. package/scripts/backlog/backlog-arrival.ts +1 -1
  665. package/scripts/backlog/backlog-budget.ts +5 -2
  666. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  667. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  668. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  669. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  670. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  671. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  672. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  673. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  674. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  675. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  676. package/scripts/backlog/backlog-hold-text.ts +14 -1
  677. package/scripts/backlog/backlog-measure-close.ts +6 -0
  678. package/scripts/backlog/backlog-next-shared.ts +20 -2
  679. package/scripts/backlog/backlog-next.ts +24 -3
  680. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  681. package/scripts/build/build-migration.ts +25 -0
  682. package/scripts/build/build.ts +2 -0
  683. package/scripts/epic/epic-classify.ts +6 -1
  684. package/scripts/epic/epic-live.ts +46 -0
  685. package/scripts/followup/followup-failed-tests.ts +71 -10
  686. package/scripts/followup/followup-job-rerun.ts +2 -2
  687. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  688. package/scripts/gate/change-scope-action.ts +2 -0
  689. package/scripts/gate/check-related-order.ts +6 -7
  690. package/scripts/gate/check-related.ts +18 -8
  691. package/scripts/gate/core-admission.ts +17 -30
  692. package/scripts/gate/core-budget-poll.ts +183 -0
  693. package/scripts/gate/core-budget-timing.ts +1 -1
  694. package/scripts/gate/core-budget.ts +24 -112
  695. package/scripts/gate/core-wait-record.ts +52 -7
  696. package/scripts/gate/machine-capacity.ts +6 -2
  697. package/scripts/gate/metrics-totals.ts +11 -0
  698. package/scripts/gate/path-glob.test.ts +18 -0
  699. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  700. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  701. package/scripts/gh/gh-request-tally.ts +4 -0
  702. package/scripts/hooks/bash-revert.ts +79 -31
  703. package/scripts/hooks/format-edited-file.ts +6 -8
  704. package/scripts/hooks/implementation-shell.ts +3 -2
  705. package/scripts/init/distributed-paths.ts +18 -5
  706. package/scripts/init/init-actions.ts +16 -1
  707. package/scripts/init/init-bootstrap.ts +2 -0
  708. package/scripts/init/init-logic.ts +40 -8
  709. package/scripts/init/init.ts +11 -3
  710. package/scripts/issue/defect-rate-cli.ts +19 -13
  711. package/scripts/issue/issue-file-batch.ts +7 -3
  712. package/scripts/issue/issue-file-cli.ts +19 -6
  713. package/scripts/issue/issue-file-main.ts +6 -1
  714. package/scripts/issue/issue-file-pass.ts +17 -0
  715. package/scripts/issue/issue-file.ts +3 -0
  716. package/scripts/issue/issue-not-before.ts +9 -2
  717. package/scripts/issue/issue-observation-gate.ts +141 -0
  718. package/scripts/issue/issue-observation-prime.ts +83 -0
  719. package/scripts/issue/issue-publication-state.ts +61 -0
  720. package/scripts/issue/issue-publication.ts +144 -0
  721. package/scripts/issue/issue-sample-prime.ts +2 -0
  722. package/scripts/issue/issue-search-count.ts +26 -0
  723. package/scripts/issue/issue-search.ts +128 -3
  724. package/scripts/issue/issue-spill-cli.ts +4 -0
  725. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  726. package/scripts/josh/josh-commands-ai.ts +1 -1
  727. package/scripts/josh/josh-commands-development.ts +1 -1
  728. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  729. package/scripts/josh/josh-commands-run.ts +6 -1
  730. package/scripts/josh/josh-commands-ship.ts +5 -5
  731. package/scripts/josh/josh-run.ts +5 -2
  732. package/scripts/josh/session-language-cli.ts +1 -1
  733. package/scripts/josh/shared-cache.ts +16 -1
  734. package/scripts/lane/lane-await.ts +15 -0
  735. package/scripts/lane/lane-cli.ts +2 -0
  736. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  737. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  738. package/scripts/lane/lane-dispatch.ts +44 -5
  739. package/scripts/lane/lane-early-push-count.ts +21 -0
  740. package/scripts/lane/lane-install.ts +15 -5
  741. package/scripts/lane/lane-launch-cli.ts +35 -14
  742. package/scripts/lane/lane-ledger-kind.ts +2 -0
  743. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  744. package/scripts/lane/lane-ledger-schema.ts +15 -1
  745. package/scripts/lane/lane-ledger-write.ts +4 -1
  746. package/scripts/lane/lane-relaunch.ts +25 -2
  747. package/scripts/lane/lane-state-record.ts +2 -0
  748. package/scripts/lane/lane-state.ts +8 -1
  749. package/scripts/lane/lane-stats-tables.ts +2 -0
  750. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  751. package/scripts/lib/inherited-scope.ts +48 -0
  752. package/scripts/lint/format-steps.ts +93 -0
  753. package/scripts/lint/format.ts +6 -49
  754. package/scripts/lint/lint-related-fix.ts +35 -0
  755. package/scripts/lint/lint-related.ts +22 -35
  756. package/scripts/propagate/propagate-steps.ts +9 -4
  757. package/scripts/registry-migration/migrate-cli.ts +50 -0
  758. package/scripts/registry-migration/migrate-files.ts +154 -0
  759. package/scripts/registry-migration/migrate-lock.ts +147 -0
  760. package/scripts/registry-migration/migrate.ts +235 -0
  761. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  762. package/scripts/review/review-record-cli.ts +27 -13
  763. package/scripts/review/review-record-pinned.ts +15 -6
  764. package/scripts/run/add/run-add-cli.ts +21 -3
  765. package/scripts/run/add/run-add.ts +26 -9
  766. package/scripts/run/board/run-board-header.ts +4 -5
  767. package/scripts/run/board/run-board-layout.ts +2 -2
  768. package/scripts/run/board/run-board-read.ts +7 -1
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  771. package/scripts/run/board/run-board-roots.ts +25 -2
  772. package/scripts/run/board/run-board-seat.ts +9 -2
  773. package/scripts/run/board/run-board-setup.ts +19 -11
  774. package/scripts/run/board/run-board-status.ts +2 -0
  775. package/scripts/run/board/run-board-tick.ts +7 -1
  776. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  777. package/scripts/run/carry/run-carry-session.ts +48 -0
  778. package/scripts/run/carry/run-carry.ts +21 -14
  779. package/scripts/run/cut/run-cut-resume.ts +15 -3
  780. package/scripts/run/cut/run-cut.ts +1 -1
  781. package/scripts/run/detached-launch.ts +14 -5
  782. package/scripts/run/early-push-record.ts +6 -2
  783. package/scripts/run/event/run-event-setup.ts +2 -0
  784. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  785. package/scripts/run/hold/run-hold-cli.ts +40 -5
  786. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  787. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  788. package/scripts/run/merge/run-merge-steps.ts +4 -57
  789. package/scripts/run/merge/run-merge-waits.ts +54 -0
  790. package/scripts/run/prime/run-prime-cli.ts +16 -2
  791. package/scripts/run/review/run-review-cli.ts +5 -7
  792. package/scripts/run/review/run-review-early-push.ts +19 -8
  793. package/scripts/run/review/run-review-join-read.ts +33 -6
  794. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  795. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  796. package/scripts/run/run-halfrun-resume.ts +49 -6
  797. package/scripts/run/run-headless.ts +3 -0
  798. package/scripts/run/run-pr-return.ts +14 -5
  799. package/scripts/run/run-repair-attempt.ts +219 -0
  800. package/scripts/run/ship/run-ship-lap.ts +5 -17
  801. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  802. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  803. package/scripts/run/startup/run-startup-schema.ts +31 -0
  804. package/scripts/run/startup/run-startup-store.ts +130 -0
  805. package/scripts/run/startup/run-startup.ts +119 -0
  806. package/scripts/run/wake/run-wake-codex.ts +144 -0
  807. package/scripts/run/wake/run-wake-driver.ts +32 -7
  808. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  809. package/scripts/run/wake/run-wake-loop.ts +23 -3
  810. package/scripts/run/wake/run-wake-ports.ts +17 -3
  811. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  812. package/scripts/run/wake/run-wake-window.ts +4 -1
  813. package/scripts/run/wake/run-wake.ts +5 -0
  814. package/scripts/sync/sync-ai-files.ts +17 -0
  815. package/scripts/sync/sync-configs.ts +11 -1
  816. package/scripts/sync/sync.ts +5 -1
  817. package/scripts/test/test-related-cap.ts +7 -3
  818. package/scripts/test/test-related-imports.ts +92 -0
  819. package/scripts/test/vitest-failure-summary.ts +7 -0
  820. package/scripts/version/npm-registry.ts +45 -7
  821. package/scripts/version/upgrade-shell-command.ts +34 -2
  822. package/templates/workflows/ci.yml +0 -15
  823. package/templates/workflows/github-release.yml +0 -5
  824. package/dist/commands/chunk-23GH6B3D.js +0 -333
  825. package/dist/commands/chunk-24ZDAWML.js +0 -48
  826. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  827. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  828. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  829. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  830. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  831. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  832. package/dist/commands/chunk-2PHOLX62.js +0 -43
  833. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  834. package/dist/commands/chunk-2VRITY55.js +0 -41
  835. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  836. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  837. package/dist/commands/chunk-352KLSFX.js +0 -67
  838. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  839. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  840. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  841. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  842. package/dist/commands/chunk-3Z425MM3.js +0 -61
  843. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  844. package/dist/commands/chunk-452HWOJ7.js +0 -395
  845. package/dist/commands/chunk-475EFIJV.js +0 -178
  846. package/dist/commands/chunk-47UZB54M.js +0 -73
  847. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  848. package/dist/commands/chunk-4DVM57T7.js +0 -86
  849. package/dist/commands/chunk-4EADHJVC.js +0 -247
  850. package/dist/commands/chunk-4HERA2GY.js +0 -95
  851. package/dist/commands/chunk-4JI35CVO.js +0 -70
  852. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  853. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  854. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  855. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  856. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  857. package/dist/commands/chunk-4Q64PG46.js +0 -478
  858. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  859. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  860. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  861. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  862. package/dist/commands/chunk-54X37JEJ.js +0 -170
  863. package/dist/commands/chunk-56KW5EOK.js +0 -85
  864. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  865. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  866. package/dist/commands/chunk-5FBRMARM.js +0 -578
  867. package/dist/commands/chunk-5RG4S66L.js +0 -47
  868. package/dist/commands/chunk-5UJGACVN.js +0 -137
  869. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  870. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  871. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  872. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  873. package/dist/commands/chunk-66NX6EXR.js +0 -29
  874. package/dist/commands/chunk-66TGK5XL.js +0 -84
  875. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  876. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  877. package/dist/commands/chunk-6GQX752S.js +0 -145
  878. package/dist/commands/chunk-6HRRZANN.js +0 -55
  879. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  880. package/dist/commands/chunk-6OP63TBT.js +0 -78
  881. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  882. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  883. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  884. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  885. package/dist/commands/chunk-6YURRFRU.js +0 -461
  886. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  887. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  888. package/dist/commands/chunk-77BIN247.js +0 -122
  889. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  890. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  891. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  892. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  893. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  894. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  895. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  896. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  897. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  898. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  899. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  900. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  901. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  902. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  903. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  904. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  905. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  906. package/dist/commands/chunk-AKK56GNX.js +0 -205
  907. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  908. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  909. package/dist/commands/chunk-ANUTT56I.js +0 -85
  910. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  911. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  912. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  913. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  914. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  915. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  916. package/dist/commands/chunk-BIKGPT52.js +0 -29
  917. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  918. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  919. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  920. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  921. package/dist/commands/chunk-BRUBX64M.js +0 -33
  922. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  923. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  924. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  925. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  926. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  927. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  928. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  929. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  930. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  931. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  932. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  933. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  934. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  935. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  936. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  937. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  938. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  939. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  940. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  941. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  942. package/dist/commands/chunk-D7JRJI44.js +0 -297
  943. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  944. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  945. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  946. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  947. package/dist/commands/chunk-DMD74E3F.js +0 -39
  948. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  949. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  950. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  951. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  952. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  953. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  954. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  955. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  956. package/dist/commands/chunk-ELY76WAR.js +0 -65
  957. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  958. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  959. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  960. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  961. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  962. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  963. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  964. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  965. package/dist/commands/chunk-EXWB34R2.js +0 -238
  966. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  967. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  968. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  969. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  970. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  971. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  972. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  973. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  974. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  975. package/dist/commands/chunk-FJX7AENO.js +0 -74
  976. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  977. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  978. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  979. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  980. package/dist/commands/chunk-FROACLVU.js +0 -525
  981. package/dist/commands/chunk-FURNDIT3.js +0 -34
  982. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  983. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  984. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  985. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  986. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  987. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  988. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  989. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  990. package/dist/commands/chunk-GITT5A5A.js +0 -198
  991. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  992. package/dist/commands/chunk-GLC47H7I.js +0 -285
  993. package/dist/commands/chunk-GUR54ELE.js +0 -328
  994. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  995. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  996. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  997. package/dist/commands/chunk-HATKF6VX.js +0 -173
  998. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  999. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1000. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1001. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1002. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1003. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1004. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1005. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1006. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1007. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1008. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1009. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1010. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1011. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1012. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1013. package/dist/commands/chunk-IF3EIFK4.js +0 -7515
  1014. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1015. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1016. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1017. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1018. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1019. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1020. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1021. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1022. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1023. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1024. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1025. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1026. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1027. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1028. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1029. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1030. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1031. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1032. package/dist/commands/chunk-K275REYP.js +0 -37
  1033. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1034. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1035. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1036. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1037. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1038. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1039. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1040. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1041. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1042. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1043. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1044. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1045. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1046. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1047. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1048. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1049. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1050. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1051. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1052. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1053. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1054. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1055. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1056. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1057. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1058. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1059. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1060. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1061. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1062. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1063. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1064. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1065. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1066. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1067. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1068. package/dist/commands/chunk-MN425CU6.js +0 -63
  1069. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1070. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1071. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1072. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1073. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1074. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1075. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1076. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1077. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1078. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1079. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1080. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1081. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1082. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1083. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1084. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1085. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1086. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1087. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1088. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1089. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1090. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1091. package/dist/commands/chunk-OIX2363L.js +0 -16
  1092. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1093. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1094. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1095. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1096. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1097. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1098. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1099. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1100. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1101. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1102. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1103. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1104. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1105. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1106. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1107. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1108. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1109. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1110. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1111. package/dist/commands/chunk-PE7B7242.js +0 -84
  1112. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1113. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1114. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1115. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1116. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1117. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1118. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1119. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1120. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1121. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1122. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1123. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1124. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1125. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1126. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1127. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1128. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1129. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1130. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1131. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1132. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1133. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1134. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1135. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1136. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1137. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1138. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1139. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1140. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1141. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1142. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1143. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1144. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1145. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1146. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1147. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1148. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1149. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1150. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1151. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1152. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1153. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1154. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1155. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1156. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1157. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1158. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1159. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1160. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1161. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1162. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1163. package/dist/commands/chunk-TLAB552K.js +0 -445
  1164. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1165. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1166. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1167. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1168. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1169. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1170. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1171. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1172. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1173. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1174. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1175. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1176. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1177. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1178. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1179. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1180. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1181. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1182. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1183. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1184. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1185. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1186. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1187. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1188. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1189. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1190. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1191. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1192. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1193. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1194. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1195. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1196. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1197. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1198. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1199. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1200. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1201. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1202. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1203. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1204. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1205. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1206. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1207. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1208. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1209. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1210. package/dist/commands/chunk-YDURQICF.js +0 -204
  1211. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1212. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1213. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1214. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1215. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1216. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1217. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1218. package/dist/commands/chunk-Z3WGHIVB.js +0 -122
  1219. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1220. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1221. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1222. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1223. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1224. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1225. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1226. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1227. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1228. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1229. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1230. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1231. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1232. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1233. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1234. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1235. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1236. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1237. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1238. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1239. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1240. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1241. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1242. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1243. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -1,1062 +0,0 @@
1
- import {
2
- cost_attribute
3
- } from "./chunk-6CJXLPRI.js";
4
- import {
5
- time_background,
6
- time_followup_stage,
7
- time_reported_failure,
8
- time_transcript_line
9
- } from "./chunk-OJ65BZBV.js";
10
- import {
11
- cost_blocks,
12
- time_josh_names,
13
- time_shell
14
- } from "./chunk-LHKXJD6L.js";
15
- import {
16
- canonical_command
17
- } from "./chunk-ROJXMBXP.js";
18
- import {
19
- time_format
20
- } from "./chunk-5RG4S66L.js";
21
- import {
22
- figure_format
23
- } from "./chunk-ZZXO6TFH.js";
24
- import {
25
- json_value
26
- } from "./chunk-HIU2WXB6.js";
27
-
28
- // scripts/time-runtime/time-bundle-call.ts
29
- var { BASH_TOOL } = cost_blocks;
30
- var BUNDLEABLE_TOOLS = /* @__PURE__ */ new Set(["Edit", "Glob", "Grep", "Read", "WebFetch", "WebSearch", "Write"]);
31
- var LAUNCH_TOOLS = /* @__PURE__ */ new Set(["Agent", "Task"]);
32
- var PRIOR_REFERENCE_MARKERS = [
33
- "previous finding",
34
- "prior finding",
35
- "earlier finding",
36
- "previous result",
37
- "prior result",
38
- "earlier result",
39
- "based on the previous",
40
- "based on the earlier",
41
- "from the previous agent",
42
- "from the prior agent",
43
- "the finding above",
44
- "as found earlier",
45
- "as found above",
46
- "building on the previous"
47
- ];
48
- var READ_COMMANDS = /* @__PURE__ */ new Set([
49
- "awk",
50
- "basename",
51
- "cat",
52
- "comm",
53
- "cut",
54
- "diff",
55
- "dirname",
56
- "du",
57
- "echo",
58
- "file",
59
- "find",
60
- "gh",
61
- "grep",
62
- "head",
63
- "jq",
64
- "ls",
65
- "nl",
66
- "printf",
67
- "pwd",
68
- "realpath",
69
- "rg",
70
- // **`sed -i` is deliberately not excluded.** An in-place edit is what `Edit` does, and `Edit` is on
71
- // the allow-list above — a turn may issue several of them, so rejecting the shell spelling of the
72
- // same thing would exclude a call the tool form counts. Two in-place edits of the *same* file are
73
- // caught by the target test instead, which is where that ordering actually lives.
74
- "sed",
75
- "sort",
76
- "stat",
77
- "tail",
78
- "tree",
79
- "uniq",
80
- "wc",
81
- "which"
82
- ]);
83
- var MUTATION_WORDS = /* @__PURE__ */ new Set([
84
- "--field",
85
- "--method",
86
- "--raw-field",
87
- "-F",
88
- "-X",
89
- "-delete",
90
- "-exec",
91
- "-f",
92
- "add",
93
- "chmod",
94
- "chown",
95
- "close",
96
- "comment",
97
- "cp",
98
- "create",
99
- "dd",
100
- "delete",
101
- "edit",
102
- "git",
103
- "install",
104
- "kill",
105
- "ln",
106
- "merge",
107
- "mkdir",
108
- "mv",
109
- "node",
110
- "npm",
111
- "npx",
112
- "pkill",
113
- "pnpm",
114
- "remove",
115
- "rm",
116
- "scp",
117
- "secret",
118
- "set",
119
- "ssh",
120
- "sudo",
121
- "tee",
122
- "touch",
123
- "truncate",
124
- "tsx",
125
- "upload",
126
- "wget"
127
- ]);
128
- var READ_JOSH_SUBCOMMANDS = /* @__PURE__ */ new Set([
129
- "backlog:budget",
130
- "backlog:next",
131
- "cost",
132
- "delegate",
133
- "epic:audit",
134
- "epic:bundle",
135
- "epic:check",
136
- "epic:next",
137
- "issue:read",
138
- "issue:scout",
139
- "issue:state",
140
- "lane:list",
141
- "latest:scope",
142
- "release:scope",
143
- "review:brief",
144
- "review:round2",
145
- "run:liveness"
146
- ]);
147
- var JOSH_WORD = "josh";
148
- var JOSH_SCRIPT_SUFFIX = "josh.ts";
149
- var COMMAND_CHAIN = /[|;&`>]|\$\(/u;
150
- var WHITESPACE_PATTERN = /\s+/u;
151
- var TARGET_FIELDS = ["file_path", "notebook_path", "path", "url"];
152
- var TARGET_ARRAY_FIELD = "file_paths";
153
- var MAX_TARGETS = 8;
154
- var WORD_PATTERN = /[\s'"=(),;:|&]+/u;
155
- var EXTENSION_PATTERN = /^[A-Za-z]+$/u;
156
- var MAX_EXTENSION = 5;
157
- var AFTER_DOT = 1;
158
- var FIRST_INDEX = 0;
159
- var CURRENT_DIRECTORY = "./";
160
- var LAST_CHARACTER = -1;
161
- var FLAG_PREFIX = "-";
162
- var PATH_SEPARATOR = "/";
163
- var MIN_TARGET_LENGTH = 3;
164
- var WRITING_TOOLS = /* @__PURE__ */ new Set(["Edit", "Write", "NotebookEdit"]);
165
- var WRITING_WORDS = /* @__PURE__ */ new Set(["dd", "sed", "tee"]);
166
- var REDIRECTION = ">";
167
- var IN_PLACE_COMMAND = "sed";
168
- var IN_PLACE_FLAG_PATTERN = /^--in-place\b|^-[A-Za-z]*i/u;
169
- function not_bundleable() {
170
- return {
171
- is_bundleable: false,
172
- targets: [],
173
- is_writing: false,
174
- may_write: false,
175
- has_prior_reference: false
176
- };
177
- }
178
- function is_launch_tool(name) {
179
- return LAUNCH_TOOLS.has(name);
180
- }
181
- function words_of(command) {
182
- return command.split(WORD_PATTERN).filter((word) => word !== "");
183
- }
184
- function has_mutation(command) {
185
- return words_of(command).some((word) => MUTATION_WORDS.has(word));
186
- }
187
- function josh_subcommand(command) {
188
- const tokens = command.split(WHITESPACE_PATTERN).filter((token) => token !== "");
189
- const josh_index = tokens.findIndex(
190
- (token) => token === JOSH_WORD || token.endsWith(JOSH_SCRIPT_SUFFIX)
191
- );
192
- return josh_index < FIRST_INDEX ? void 0 : tokens[josh_index + 1];
193
- }
194
- function is_read_josh(command) {
195
- if (COMMAND_CHAIN.test(command)) return false;
196
- const subcommand = josh_subcommand(command);
197
- if (subcommand === void 0) return false;
198
- return READ_JOSH_SUBCOMMANDS.has(canonical_command(subcommand));
199
- }
200
- function may_write_command(command) {
201
- if (command.includes(REDIRECTION)) return true;
202
- return words_of(command).some((word) => WRITING_WORDS.has(word));
203
- }
204
- function write_segment(command) {
205
- return time_shell.command_segment(time_shell.unquoted(command));
206
- }
207
- function is_in_place_sed(segment) {
208
- if (time_shell.leading_word(segment) !== IN_PLACE_COMMAND) return false;
209
- return words_of(segment).some((word) => IN_PLACE_FLAG_PATTERN.test(word));
210
- }
211
- function normalize(word) {
212
- const head = word.startsWith(CURRENT_DIRECTORY) ? word.slice(CURRENT_DIRECTORY.length) : word;
213
- return head.endsWith(PATH_SEPARATOR) ? head.slice(0, LAST_CHARACTER) : head;
214
- }
215
- function has_extension(word) {
216
- const dot = word.lastIndexOf(".");
217
- if (dot <= FIRST_INDEX) return false;
218
- const suffix = word.slice(dot + AFTER_DOT);
219
- return suffix.length <= MAX_EXTENSION && EXTENSION_PATTERN.test(suffix);
220
- }
221
- function is_target(word) {
222
- if (word.startsWith(FLAG_PREFIX) || word.length < MIN_TARGET_LENGTH) return false;
223
- return word.includes(PATH_SEPARATOR) || has_extension(word);
224
- }
225
- function targets_in(text) {
226
- return words_of(text).map((word) => normalize(word)).filter((word) => is_target(word)).slice(0, MAX_TARGETS);
227
- }
228
- function field_text(input, field) {
229
- if (!json_value.is_record(input)) return "";
230
- const value = input[field];
231
- return typeof value === "string" ? value : "";
232
- }
233
- function field_targets(input) {
234
- if (!json_value.is_record(input)) return [];
235
- const value = input[TARGET_ARRAY_FIELD];
236
- return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
237
- }
238
- function tool_targets(input) {
239
- const scalar_targets = TARGET_FIELDS.map((field) => field_text(input, field));
240
- const targets = [...scalar_targets, ...field_targets(input)].map((target) => normalize(target));
241
- return [...new Set(targets)].filter((target) => target !== "");
242
- }
243
- function prompt_references_prior(input) {
244
- const prompt = field_text(input, "prompt").toLowerCase();
245
- return PRIOR_REFERENCE_MARKERS.some((marker) => prompt.includes(marker));
246
- }
247
- function tool_facts(name, input) {
248
- const writes = { is_writing: WRITING_TOOLS.has(name), may_write: WRITING_TOOLS.has(name) };
249
- const has_prior_reference = LAUNCH_TOOLS.has(name) && prompt_references_prior(input);
250
- if (!BUNDLEABLE_TOOLS.has(name)) return { ...not_bundleable(), ...writes, has_prior_reference };
251
- return { is_bundleable: true, targets: tool_targets(input), ...writes, has_prior_reference };
252
- }
253
- function bash_facts(command) {
254
- const writes = {
255
- is_writing: is_in_place_sed(write_segment(command)),
256
- may_write: may_write_command(command)
257
- };
258
- if (is_read_josh(command)) {
259
- return {
260
- is_bundleable: true,
261
- targets: targets_in(time_shell.unquoted(command)),
262
- ...writes,
263
- has_prior_reference: false
264
- };
265
- }
266
- if (!READ_COMMANDS.has(time_shell.leading_word(command)) || has_mutation(command)) {
267
- return { ...not_bundleable(), ...writes };
268
- }
269
- return {
270
- is_bundleable: true,
271
- targets: targets_in(time_shell.unquoted(command)),
272
- ...writes,
273
- has_prior_reference: false
274
- };
275
- }
276
- function call_facts(name, input) {
277
- if (name !== BASH_TOOL) return tool_facts(name, input);
278
- return bash_facts(time_shell.bash_command(input));
279
- }
280
- var time_bundle_call = {
281
- MAX_TARGETS,
282
- not_bundleable,
283
- bash_facts,
284
- call_facts,
285
- tool_facts,
286
- // Exported for `time-agent-bundles.ts`, which asks the launch question of a
287
- // span's `label` — the tool name for a non-Bash call — so the set lives in one place.
288
- is_launch_tool,
289
- // Exported for `time-writes.ts`, which asks what a call *wrote* rather
290
- // than what it named. The extraction is the same one either way — a second copy of it would let a
291
- // path be recognized as a target when read and missed when written.
292
- targets_in,
293
- tool_targets,
294
- // Exported for the batching guard's own word scan, so the two scanners
295
- // cannot come to disagree about where one word of a shell line ends and the next begins.
296
- // Exported for the read-fold notice, which offers `read:files <path>` only
297
- // over file-shaped targets — a bare directory like `scripts/` is a target here but not something
298
- // `read:files` can read, so the notice reuses this test rather than keep a second copy that could
299
- // drift from what counts as a file path.
300
- has_extension,
301
- // Exported for `time-writes.ts`, which needs the same two answers to say
302
- // *which* files an in-place `sed` wrote. Two copies of this test disagreed in both directions at
303
- // once — one called a piped `grep -i` a write, the other missed a bundled `sed -ni`.
304
- write_segment,
305
- is_in_place_sed,
306
- // Exported for the drift test in `time-bundle-call.test.ts`, which pins that
307
- // every name here is a real `josh` command and none of them writes.
308
- READ_JOSH_SUBCOMMANDS
309
- };
310
-
311
- // scripts/time-runtime/time-markers.ts
312
- var NO_MARKER = "none";
313
- var PLAN_MARKER = "plan";
314
- var EDIT_MARKER = "edit";
315
- var REVIEW_MARKER = "review";
316
- var WORKFLOW_MARKER = "workflow";
317
- var EDIT_TOOLS = /* @__PURE__ */ new Set(["Edit", "Write", "MultiEdit", "NotebookEdit"]);
318
- var SKILL_TOOL = "Skill";
319
- var SKILL_KEY = "skill";
320
- var REVIEW_SKILL = "code-review";
321
- var WORKFLOW_SKILL = "workflow-commands";
322
- var AGENT_TOOL = "Agent";
323
- var PROMPT_KEY = "prompt";
324
- var REVIEW_INVOCATION = "/code-review";
325
- var REVIEW_ATTEST = "review:attest";
326
- var SKILL_MARKERS = /* @__PURE__ */ new Map([
327
- [REVIEW_SKILL, REVIEW_MARKER],
328
- [WORKFLOW_SKILL, WORKFLOW_MARKER]
329
- ]);
330
- var ISSUE_API_PATTERN = /repos\/\S+\/issues\/\d+/u;
331
- var BODY_FIELD_PATTERN = /\bbody=/u;
332
- var ISSUE_COMMENT_PATTERN = /\bgh\s+issue\s+comment\b/u;
333
- var BODY_FLAG_PATTERN = /--body(?:-file)?\b/u;
334
- var ISSUE_PLAN_PATTERN = /(?:^|[;&|]\s*)pnpm\s+josh\s+issue:plan\b/u;
335
- var ISSUE_LABELS_PATTERN = /repos\/\S+\/issues\/(\d+)\/labels\b(?!\/)/u;
336
- var IN_PROGRESS_FIELD = "labels[]=in-progress";
337
- var RUN_ENTRY_PATTERN = /\bjosh\s+run:entry\s+(\d+)\b/u;
338
- var NO_ISSUE = cost_attribute.UNATTRIBUTED_KEY;
339
- function string_field(input, key) {
340
- if (!json_value.is_record(input)) return "";
341
- const value = input[key];
342
- return typeof value === "string" ? value : "";
343
- }
344
- function skill_name(input) {
345
- return string_field(input, SKILL_KEY);
346
- }
347
- function agent_marker(input) {
348
- const prompt = string_field(input, PROMPT_KEY);
349
- const is_review = prompt.includes(REVIEW_INVOCATION) && prompt.includes(REVIEW_ATTEST);
350
- return is_review ? REVIEW_MARKER : NO_MARKER;
351
- }
352
- function tool_marker(name, input) {
353
- if (EDIT_TOOLS.has(name)) return EDIT_MARKER;
354
- if (name === AGENT_TOOL) return agent_marker(input);
355
- if (name !== SKILL_TOOL) return NO_MARKER;
356
- return SKILL_MARKERS.get(skill_name(input)) ?? NO_MARKER;
357
- }
358
- function is_api_body_write(command) {
359
- return ISSUE_API_PATTERN.test(command) && BODY_FIELD_PATTERN.test(command);
360
- }
361
- function is_issue_comment(command) {
362
- return ISSUE_COMMENT_PATTERN.test(command) && BODY_FLAG_PATTERN.test(command);
363
- }
364
- function is_plan_write(command) {
365
- return is_api_body_write(command) || is_issue_comment(command) || ISSUE_PLAN_PATTERN.test(command);
366
- }
367
- function is_in_progress_label(command) {
368
- return ISSUE_LABELS_PATTERN.test(command) && command.includes(IN_PROGRESS_FIELD);
369
- }
370
- function is_run_start(command) {
371
- return is_in_progress_label(command) || RUN_ENTRY_PATTERN.test(command);
372
- }
373
- var COMMAND_SEPARATOR = /&&|\|\||;/u;
374
- function declared_issue(part) {
375
- const pattern = is_in_progress_label(part) ? ISSUE_LABELS_PATTERN : RUN_ENTRY_PATTERN;
376
- const matched = pattern.exec(part);
377
- return matched?.[1] === void 0 ? NO_ISSUE : Number(matched[1]);
378
- }
379
- function bash_issue(command) {
380
- for (const part of command.split(COMMAND_SEPARATOR)) {
381
- if (is_run_start(part)) return declared_issue(part);
382
- }
383
- return NO_ISSUE;
384
- }
385
- function bash_marker(command) {
386
- if (is_run_start(command)) return WORKFLOW_MARKER;
387
- return is_plan_write(command) ? PLAN_MARKER : NO_MARKER;
388
- }
389
- var time_markers = {
390
- NO_MARKER,
391
- PLAN_MARKER,
392
- EDIT_MARKER,
393
- REVIEW_MARKER,
394
- WORKFLOW_MARKER,
395
- NO_ISSUE,
396
- tool_marker,
397
- bash_marker,
398
- bash_issue
399
- };
400
-
401
- // scripts/time-runtime/time-single-check.ts
402
- var CHECK_COMMANDS = /* @__PURE__ */ new Set([
403
- "josh check",
404
- "josh cspell",
405
- "josh cspell:dot",
406
- "josh lint",
407
- "josh lint:related",
408
- "josh test:related",
409
- "josh test:unit"
410
- ]);
411
- var NO_CHECK = "";
412
- var KEY_SEPARATOR = " ";
413
- function argument_key(command) {
414
- return [...new Set(time_shell.josh_arguments(command))].toSorted(
415
- (left, right) => left.localeCompare(right)
416
- );
417
- }
418
- function check_key(josh_command, command) {
419
- if (!CHECK_COMMANDS.has(josh_command)) return NO_CHECK;
420
- return [josh_command, ...argument_key(command)].join(KEY_SEPARATOR);
421
- }
422
- var time_single_check = { NO_CHECK, check_key };
423
-
424
- // scripts/time-runtime/time-writes.ts
425
- function bash_writes(command) {
426
- const segment = time_bundle_call.write_segment(command);
427
- return time_bundle_call.is_in_place_sed(segment) ? time_bundle_call.targets_in(segment) : [];
428
- }
429
- function tool_writes(name, input) {
430
- if (time_markers.tool_marker(name, input) !== time_markers.EDIT_MARKER) return [];
431
- return time_bundle_call.tool_targets(input);
432
- }
433
- var time_writes = {
434
- bash_writes,
435
- tool_writes
436
- };
437
-
438
- // scripts/time-runtime/time-tool-call.ts
439
- var { NO_MESSAGE_ID } = time_transcript_line;
440
- var UNKNOWN_TOOL = "unknown";
441
- var NO_CALL = {
442
- label: "",
443
- josh_command: "",
444
- josh_commands: [],
445
- josh_signatures: [],
446
- check_key: time_single_check.NO_CHECK,
447
- marker: time_markers.NO_MARKER,
448
- message_id: NO_MESSAGE_ID,
449
- writes: [],
450
- issue: time_markers.NO_ISSUE,
451
- reads_background: time_background.NO_BACKGROUND,
452
- ...time_bundle_call.not_bundleable()
453
- };
454
- var UNKNOWN_CALL = {
455
- label: UNKNOWN_TOOL,
456
- josh_command: "",
457
- josh_commands: [],
458
- josh_signatures: [],
459
- check_key: time_single_check.NO_CHECK,
460
- marker: time_markers.NO_MARKER,
461
- message_id: NO_MESSAGE_ID,
462
- writes: [],
463
- issue: time_markers.NO_ISSUE,
464
- reads_background: time_background.NO_BACKGROUND,
465
- ...time_bundle_call.not_bundleable()
466
- };
467
- function non_bash_call(name, input, message_id) {
468
- return {
469
- label: name,
470
- josh_command: "",
471
- josh_commands: [],
472
- josh_signatures: [],
473
- check_key: time_single_check.NO_CHECK,
474
- marker: time_markers.tool_marker(name, input),
475
- message_id,
476
- writes: time_writes.tool_writes(name, input),
477
- issue: time_markers.NO_ISSUE,
478
- // A non-Bash tool joins a backgrounded command too — `BashOutput` carries the shell id in a
479
- // field of its own, `Monitor` names the same `…/tasks/<id>.output` path in a command — so the
480
- // same reader is asked here rather than the field being left empty for every tool but `Bash`.
481
- reads_background: time_background.read_id_of(input),
482
- ...time_bundle_call.tool_facts(name, input)
483
- };
484
- }
485
- function bash_call(input, message_id) {
486
- const command = time_shell.bash_command(input);
487
- const josh_command = time_josh_names.josh_command_of(command);
488
- return {
489
- label: time_shell.bash_label(command),
490
- josh_command,
491
- josh_commands: time_josh_names.josh_commands_of(command),
492
- josh_signatures: time_josh_names.josh_signatures_of(command),
493
- check_key: time_single_check.check_key(josh_command, command),
494
- marker: time_markers.bash_marker(command),
495
- message_id,
496
- writes: time_writes.bash_writes(command),
497
- issue: time_markers.bash_issue(command),
498
- reads_background: time_background.read_id_of(input),
499
- ...time_bundle_call.bash_facts(command)
500
- };
501
- }
502
- function to_tool_call(name, input, message_id) {
503
- if (name !== cost_blocks.BASH_TOOL) return non_bash_call(name, input, message_id);
504
- return bash_call(input, message_id);
505
- }
506
- var time_tool_call = {
507
- UNKNOWN_TOOL,
508
- NO_CALL,
509
- UNKNOWN_CALL,
510
- to_tool_call
511
- };
512
-
513
- // scripts/time-runtime/time-spans.ts
514
- var { NO_MESSAGE_ID: NO_MESSAGE_ID2, parse_line } = time_transcript_line;
515
- var { NO_CALL: NO_CALL2, UNKNOWN_CALL: UNKNOWN_CALL2, UNKNOWN_TOOL: UNKNOWN_TOOL2, to_tool_call: to_tool_call2 } = time_tool_call;
516
- var ASSISTANT_TYPE = "assistant";
517
- var USER_TYPE = "user";
518
- var MODEL_CATEGORY = "model";
519
- var TOOL_CATEGORY = "tool";
520
- var HUMAN_CATEGORY = "human";
521
- var OK_OUTCOME = "ok";
522
- var FAILED_OUTCOME = "failed";
523
- var UNKNOWN_OUTCOME = "unknown";
524
- var NO_RESULT = {
525
- call_id: "",
526
- outcome: UNKNOWN_OUTCOME,
527
- refusal_guard: "",
528
- background_id: time_background.NO_BACKGROUND,
529
- followup_stages: time_followup_stage.NO_STAGES
530
- };
531
- function tool_use_blocks(lines) {
532
- return lines.flatMap(
533
- (line) => line.blocks.filter((block) => block.type === cost_blocks.TOOL_USE_TYPE && block.id !== "").map((block) => ({ block, message_id: line.message_id }))
534
- );
535
- }
536
- function collect_calls(lines) {
537
- return new Map(
538
- tool_use_blocks(lines).map(({ block, message_id }) => [
539
- block.id,
540
- to_tool_call2(block.name, block.input, message_id)
541
- ])
542
- );
543
- }
544
- function result_block(line) {
545
- return line.blocks.find((block) => block.type === cost_blocks.TOOL_RESULT_TYPE);
546
- }
547
- function event_of(line, category, call, result = NO_RESULT) {
548
- return { timestamp_ms: line.timestamp_ms, branch: line.branch, category, ...result, ...call };
549
- }
550
- function outcome_of(result, call) {
551
- if (time_reported_failure.is_reported_failure(call.josh_command, result.has_failure_line)) {
552
- return FAILED_OUTCOME;
553
- }
554
- if (result.is_error === void 0) return UNKNOWN_OUTCOME;
555
- return result.is_error ? FAILED_OUTCOME : OK_OUTCOME;
556
- }
557
- function facts_of(result, call) {
558
- return {
559
- call_id: result.result_id,
560
- outcome: outcome_of(result, call),
561
- refusal_guard: result.refusal_guard,
562
- background_id: result.background_id,
563
- followup_stages: result.followup_stages
564
- };
565
- }
566
- function user_event(line, calls) {
567
- const result = result_block(line);
568
- if (result === void 0) return event_of(line, HUMAN_CATEGORY, NO_CALL2);
569
- const call = calls.get(result.result_id) ?? UNKNOWN_CALL2;
570
- return event_of(line, TOOL_CATEGORY, call, facts_of(result, call));
571
- }
572
- function to_event(line, calls) {
573
- if (line.type === ASSISTANT_TYPE) {
574
- return event_of(line, MODEL_CATEGORY, { ...NO_CALL2, message_id: line.message_id });
575
- }
576
- return line.type === USER_TYPE ? user_event(line, calls) : void 0;
577
- }
578
- function to_events(lines, calls) {
579
- return lines.map((line) => to_event(line, calls)).filter((event) => event !== void 0).toSorted((left, right) => left.timestamp_ms - right.timestamp_ms);
580
- }
581
- function equal_durations(duration_ms) {
582
- return { duration_ms, own_duration_ms: duration_ms };
583
- }
584
- function no_background() {
585
- const none = time_background.NO_BACKGROUND;
586
- return {
587
- background_id: none,
588
- reads_background: none,
589
- background_command: none,
590
- background_ended_ms: time_background.NO_FINISH
591
- };
592
- }
593
- function background_fields(event, finished) {
594
- return {
595
- background_id: event.background_id,
596
- reads_background: event.reads_background,
597
- background_command: time_background.NO_BACKGROUND,
598
- background_ended_ms: finished.get(event.background_id) ?? time_background.NO_FINISH
599
- };
600
- }
601
- function result_facts_of(event) {
602
- return {
603
- call_id: event.call_id,
604
- outcome: event.outcome,
605
- refusal_guard: event.refusal_guard,
606
- followup_stages: event.followup_stages
607
- };
608
- }
609
- function to_spans(events, finished) {
610
- return events.slice(1).map((event, index) => ({
611
- category: event.category,
612
- label: event.label,
613
- josh_command: event.josh_command,
614
- josh_commands: event.josh_commands,
615
- josh_signatures: event.josh_signatures,
616
- check_key: event.check_key,
617
- marker: event.marker,
618
- is_bundleable: event.is_bundleable,
619
- targets: event.targets,
620
- is_writing: event.is_writing,
621
- may_write: event.may_write,
622
- has_prior_reference: event.has_prior_reference,
623
- writes: event.writes,
624
- message_id: event.message_id,
625
- issue: event.issue,
626
- branch: event.branch,
627
- ...result_facts_of(event),
628
- is_continuation: false,
629
- ...background_fields(event, finished),
630
- ended_ms: event.timestamp_ms,
631
- ...equal_durations(event.timestamp_ms - (events[index]?.timestamp_ms ?? event.timestamp_ms))
632
- }));
633
- }
634
- function parse_timeline(text) {
635
- const lines = text.split("\n").map((line) => parse_line(line)).filter((line) => line !== void 0);
636
- const events = to_events(lines, collect_calls(lines));
637
- return {
638
- started_ms: events[0]?.timestamp_ms ?? 0,
639
- ended_ms: events.at(-1)?.timestamp_ms ?? 0,
640
- // **The positioning happens here rather than in a caller**: a launch and
641
- // the call that reads its output are in one transcript, and by the time spans have been merged
642
- // across sessions and trimmed they are fragments rather than calls.
643
- spans: time_background.positioned(to_spans(events, time_background.finished_at(lines)))
644
- };
645
- }
646
- function has_transcript_data(span_count) {
647
- return span_count > 0;
648
- }
649
- var time_spans = {
650
- ASSISTANT_TYPE,
651
- MODEL_CATEGORY,
652
- TOOL_CATEGORY,
653
- HUMAN_CATEGORY,
654
- OK_OUTCOME,
655
- FAILED_OUTCOME,
656
- UNKNOWN_OUTCOME,
657
- NO_MESSAGE_ID: NO_MESSAGE_ID2,
658
- UNKNOWN_TOOL: UNKNOWN_TOOL2,
659
- has_transcript_data,
660
- equal_durations,
661
- no_background,
662
- // Re-exported so the suites that measure how a command is read keep asking one namespace, and so
663
- // `time-shell.ts` moving out of this file changed no call site.
664
- bash_label: time_shell.bash_label,
665
- josh_command_of: time_josh_names.josh_command_of,
666
- josh_commands_of: time_josh_names.josh_commands_of,
667
- to_tool_call: to_tool_call2,
668
- parse_line,
669
- parse_timeline
670
- };
671
-
672
- // scripts/time-runtime/time-round-trips.ts
673
- var CALLS_PER_ROUND_TRIP_FLOOR = 1.5;
674
- var DENSITY_DECIMALS = 2;
675
- var NONE = 0;
676
- function is_tool(span) {
677
- return span.category === time_spans.TOOL_CATEGORY;
678
- }
679
- function is_model(span) {
680
- return span.category === time_spans.MODEL_CATEGORY;
681
- }
682
- function started_ms(span) {
683
- return span.ended_ms - span.duration_ms;
684
- }
685
- function in_time_order(spans) {
686
- return spans.toSorted((left, right) => started_ms(left) - started_ms(right));
687
- }
688
- function is_tool_at(spans, index) {
689
- const span = spans[index];
690
- return span !== void 0 && is_tool(span);
691
- }
692
- function is_call(span) {
693
- return is_tool(span) && !span.is_continuation;
694
- }
695
- function count_calls(spans) {
696
- return spans.filter((span) => is_call(span)).length;
697
- }
698
- function previous_break(spans, index) {
699
- for (let back = index - 1; back >= 0; back -= 1) {
700
- const span = spans[back];
701
- if (span === void 0 || !is_model(span)) return span;
702
- }
703
- return void 0;
704
- }
705
- function continues_turn(spans, index, message_id) {
706
- if (message_id === time_spans.NO_MESSAGE_ID) return false;
707
- const earlier = previous_break(spans, index);
708
- return earlier !== void 0 && !earlier.is_continuation && earlier.message_id === message_id;
709
- }
710
- function opens_round_trip(spans, index) {
711
- const span = spans[index];
712
- if (span === void 0 || !is_tool(span) || span.is_continuation || is_tool_at(spans, index - 1)) {
713
- return false;
714
- }
715
- return !continues_turn(spans, index, span.message_id);
716
- }
717
- function open_trip(walk) {
718
- walk.open = [];
719
- walk.trips.push(walk.open);
720
- }
721
- function place_call(walk, span) {
722
- if (is_call(span)) walk.open?.push(span);
723
- }
724
- function step_trip(walk, span, is_opener) {
725
- if (is_opener) open_trip(walk);
726
- if (is_tool(span)) place_call(walk, span);
727
- else if (!is_model(span)) walk.open = void 0;
728
- }
729
- function group_round_trips(spans) {
730
- const ordered = in_time_order(spans);
731
- const walk = { trips: [], open: void 0 };
732
- for (const [index, span] of ordered.entries()) {
733
- step_trip(walk, span, opens_round_trip(ordered, index));
734
- }
735
- return walk.trips;
736
- }
737
- function count_round_trips(spans) {
738
- return group_round_trips(spans).length;
739
- }
740
- function turn_key(span, index) {
741
- return span.message_id === time_spans.NO_MESSAGE_ID ? `#${String(index)}` : span.message_id;
742
- }
743
- function count_turns(spans) {
744
- const keys = spans.filter((span) => is_model(span)).map((span, index) => turn_key(span, index));
745
- return new Set(keys).size;
746
- }
747
- function per_round_trip(total, round_trip_count) {
748
- if (round_trip_count === NONE) return NONE;
749
- return total / round_trip_count;
750
- }
751
- function format_density(density) {
752
- return density.toFixed(DENSITY_DECIMALS);
753
- }
754
- function is_below_floor(density) {
755
- return density > NONE && density < CALLS_PER_ROUND_TRIP_FLOOR;
756
- }
757
- var time_round_trips = {
758
- CALLS_PER_ROUND_TRIP_FLOOR,
759
- count_calls,
760
- count_round_trips,
761
- // Exported so a turn is defined in the one module that already defines a round trip rather than
762
- // as a span filter in the report next door.
763
- count_turns,
764
- format_density,
765
- // Exported so the per-tool counts are read off the very groups this module counts rather than off
766
- // a second grouping beside them.
767
- group_round_trips,
768
- // Exported so the failure aggregation orders a run's spans through
769
- // the one function that already knows why they need it — a second `toSorted` beside it would be
770
- // the clone `CLAUDE.md` prohibits, and the seam it guards (a delegated unit's spans appended
771
- // after the parent's) is not one a second copy would keep remembering.
772
- in_time_order,
773
- is_below_floor,
774
- // Exported so callers price a round trip with the same divisor and guard rather than a private
775
- // copy — the clone `CLAUDE.md` prohibits.
776
- per_round_trip
777
- };
778
-
779
- // scripts/time-runtime/time-agent-bundles.ts
780
- var NONE2 = 0;
781
- var ONE = 1;
782
- var MIN_GROUP = 2;
783
- function is_launch(span) {
784
- return span.category === time_spans.TOOL_CATEGORY && !span.is_continuation && time_bundle_call.is_launch_tool(span.label);
785
- }
786
- function new_walk() {
787
- return { closed: [], open: NONE2, wrote_since: false, turn_id: time_spans.NO_MESSAGE_ID };
788
- }
789
- function close_group(walk) {
790
- if (walk.open >= MIN_GROUP) walk.closed.push(walk.open);
791
- walk.open = NONE2;
792
- }
793
- function is_same_turn(walk, span) {
794
- return span.message_id !== time_spans.NO_MESSAGE_ID && span.message_id === walk.turn_id;
795
- }
796
- function open_turn(walk, span) {
797
- if (walk.wrote_since || span.has_prior_reference) close_group(walk);
798
- walk.open += ONE;
799
- walk.turn_id = span.message_id;
800
- walk.wrote_since = false;
801
- }
802
- function step(walk, span) {
803
- if (span.is_writing) {
804
- walk.wrote_since = true;
805
- return;
806
- }
807
- if (!is_launch(span) || is_same_turn(walk, span)) return;
808
- open_turn(walk, span);
809
- }
810
- function agent_bundles(spans) {
811
- const walk = new_walk();
812
- for (const span of time_round_trips.in_time_order(spans)) step(walk, span);
813
- close_group(walk);
814
- return walk.closed;
815
- }
816
- var time_agent_bundles = { agent_bundles };
817
-
818
- // scripts/time-runtime/time-bundles.ts
819
- var { unmeasured_row } = time_format;
820
- var HEADING = "Bundling:";
821
- var SEQUENCE_LABEL = "bundleable sequences";
822
- var RECOVERABLE_LABEL = "recoverable round trips";
823
- var SAVING_LABEL = "recoverable wait";
824
- var BY_TOOL_LABEL = "recoverable by tool";
825
- var AGENT_ROW_LABEL = "Agent";
826
- var ROW_INDENT = " ";
827
- var MIN_SEQUENCE = 2;
828
- var ONE_CALL = 1;
829
- var NONE3 = 0;
830
- var PATH_SEPARATOR2 = "/";
831
- var FIRST_CALL = 1;
832
- var NO_LABEL = "";
833
- var NO_BUNDLES = {
834
- sequence_count: 0,
835
- longest_sequence: 0,
836
- recoverable_round_trips: 0,
837
- by_tool: [],
838
- unattributed_round_trips: 0,
839
- single_call: { independent_round_trips: 0, dependent_round_trips: 0, by_tool: [] },
840
- is_measured: false
841
- };
842
- function contains_segments(whole, part) {
843
- if (whole.startsWith(`${part}${PATH_SEPARATOR2}`)) return true;
844
- return whole.endsWith(`${PATH_SEPARATOR2}${part}`) || whole.includes(`${PATH_SEPARATOR2}${part}${PATH_SEPARATOR2}`);
845
- }
846
- function is_related(left, right) {
847
- if (left === right) return true;
848
- return contains_segments(left, right) || contains_segments(right, left);
849
- }
850
- function shares_target(left, right) {
851
- return left.some((one) => right.some((other) => is_related(one, other)));
852
- }
853
- function is_dependent(earlier, later) {
854
- if (earlier.is_writing && later.is_writing) return false;
855
- return shares_target(earlier.targets, later.targets);
856
- }
857
- function conflicts(span, sequence) {
858
- return sequence.some((earlier) => is_dependent(earlier, span));
859
- }
860
- function is_call2(span) {
861
- return span.category === time_spans.TOOL_CATEGORY && !span.is_continuation;
862
- }
863
- function is_turn_boundary(span) {
864
- return span.category === time_spans.MODEL_CATEGORY;
865
- }
866
- function new_walk2() {
867
- return { pending: [], sequence: [], closed: [], dependent: NONE3 };
868
- }
869
- function flush(walk) {
870
- if (walk.sequence.length >= MIN_SEQUENCE) walk.closed.push(walk.sequence);
871
- walk.sequence = [];
872
- }
873
- function extend(walk, span) {
874
- if (conflicts(span, walk.sequence)) {
875
- walk.dependent += ONE_CALL;
876
- flush(walk);
877
- }
878
- walk.sequence.push(span);
879
- }
880
- function close_trip(walk) {
881
- const [only] = walk.pending;
882
- if (walk.pending.length === ONE_CALL && only?.is_bundleable === true) extend(walk, only);
883
- else if (walk.pending.length > NONE3) flush(walk);
884
- walk.pending = [];
885
- }
886
- function is_same_turn2(span, pending) {
887
- const [first] = pending;
888
- if (first === void 0 || span.is_continuation || span.message_id === time_spans.NO_MESSAGE_ID) {
889
- return false;
890
- }
891
- return span.message_id === first.message_id;
892
- }
893
- function step2(walk, span) {
894
- if (is_call2(span)) {
895
- walk.pending.push(span);
896
- return;
897
- }
898
- if (is_same_turn2(span, walk.pending)) return;
899
- close_trip(walk);
900
- if (!is_turn_boundary(span)) flush(walk);
901
- }
902
- function longest_of(sizes) {
903
- return sizes.length === NONE3 ? NONE3 : Math.max(...sizes);
904
- }
905
- function recoverable_of(sizes) {
906
- return sizes.reduce((sum, size) => sum + size - ONE_CALL, NONE3);
907
- }
908
- function sizes_of(closed) {
909
- return closed.map((sequence) => sequence.length);
910
- }
911
- function tally_for(tallies, label) {
912
- const found = tallies.get(label);
913
- if (found !== void 0) return found;
914
- const created = { sequence_count: NONE3, recoverable_round_trips: NONE3 };
915
- tallies.set(label, created);
916
- return created;
917
- }
918
- function count_trip(tallies, counted, label) {
919
- const tally = tally_for(tallies, label);
920
- tally.recoverable_round_trips += ONE_CALL;
921
- if (!counted.has(label)) tally.sequence_count += ONE_CALL;
922
- counted.add(label);
923
- }
924
- function tally_sequence(tallies, sequence) {
925
- const counted = /* @__PURE__ */ new Set();
926
- for (const span of sequence.slice(FIRST_CALL)) {
927
- if (span.label !== NO_LABEL) count_trip(tallies, counted, span.label);
928
- }
929
- }
930
- function by_weight(left, right) {
931
- if (left.recoverable_round_trips !== right.recoverable_round_trips) {
932
- return right.recoverable_round_trips - left.recoverable_round_trips;
933
- }
934
- return left.label.localeCompare(right.label);
935
- }
936
- function tool_rows(closed) {
937
- const tallies = /* @__PURE__ */ new Map();
938
- for (const sequence of closed) tally_sequence(tallies, sequence);
939
- return [...tallies].map(([label, tally]) => ({ label, ...tally })).toSorted(by_weight);
940
- }
941
- function attributed_of(rows) {
942
- return rows.reduce((sum, row) => sum + row.recoverable_round_trips, NONE3);
943
- }
944
- function with_agent_row(rows, agent_sizes) {
945
- const recoverable_round_trips = recoverable_of(agent_sizes);
946
- if (recoverable_round_trips === NONE3) return [...rows];
947
- const row = {
948
- label: AGENT_ROW_LABEL,
949
- sequence_count: agent_sizes.length,
950
- recoverable_round_trips
951
- };
952
- return [...rows, row].toSorted(by_weight);
953
- }
954
- function single_call_split(walk, sizes) {
955
- return {
956
- independent_round_trips: recoverable_of(sizes),
957
- dependent_round_trips: walk.dependent,
958
- by_tool: tool_rows(walk.closed)
959
- };
960
- }
961
- function build_bundles(spans) {
962
- const walk = new_walk2();
963
- for (const span of time_round_trips.in_time_order(spans)) step2(walk, span);
964
- close_trip(walk);
965
- flush(walk);
966
- const sizes = sizes_of(walk.closed);
967
- const agent_sizes = time_agent_bundles.agent_bundles(spans);
968
- const single_call = single_call_split(walk, sizes);
969
- const by_tool = with_agent_row(single_call.by_tool, agent_sizes);
970
- const recoverable_round_trips = single_call.independent_round_trips + recoverable_of(agent_sizes);
971
- return {
972
- sequence_count: sizes.length + agent_sizes.length,
973
- longest_sequence: Math.max(longest_of(sizes), longest_of(agent_sizes)),
974
- recoverable_round_trips,
975
- by_tool,
976
- unattributed_round_trips: recoverable_round_trips - attributed_of(by_tool),
977
- single_call,
978
- is_measured: time_spans.has_transcript_data(spans.length)
979
- };
980
- }
981
- function open_sequence(spans) {
982
- const walk = new_walk2();
983
- for (const span of time_round_trips.in_time_order(spans)) step2(walk, span);
984
- return walk.sequence;
985
- }
986
- function sequence_suffix(totals) {
987
- return `longest ${String(totals.longest_sequence)} turn(s)`;
988
- }
989
- function recoverable_suffix(totals, round_trip_count) {
990
- const share = figure_format.format_share(totals.recoverable_round_trips, round_trip_count);
991
- return `${share} of ${String(round_trip_count)} round trip(s)`;
992
- }
993
- function saving_line(totals, model_ms_per_round_trip) {
994
- const saved_ms = totals.recoverable_round_trips * model_ms_per_round_trip;
995
- const rate = `at ${time_format.format_seconds(model_ms_per_round_trip)} model time per round trip`;
996
- return time_format.format_row(SAVING_LABEL, saved_ms, rate);
997
- }
998
- function by_tool_suffix(totals) {
999
- const attributed = totals.recoverable_round_trips - totals.unattributed_round_trips;
1000
- return `${String(attributed)} of ${String(totals.recoverable_round_trips)} attributed`;
1001
- }
1002
- function tool_row(row) {
1003
- return time_format.format_columns(
1004
- `${ROW_INDENT}${row.label}`,
1005
- String(row.recoverable_round_trips),
1006
- `in ${String(row.sequence_count)} sequence(s)`
1007
- );
1008
- }
1009
- function by_tool_lines(totals) {
1010
- const heading = time_format.format_columns(
1011
- BY_TOOL_LABEL,
1012
- String(totals.by_tool.length),
1013
- by_tool_suffix(totals)
1014
- );
1015
- const rows = totals.by_tool.slice(NONE3, time_format.MAX_ROWS).map((row) => tool_row(row));
1016
- return [heading, ...rows, ...time_format.overflow_line(totals.by_tool.length)];
1017
- }
1018
- function measured_lines(totals, price) {
1019
- return [
1020
- time_format.format_columns(
1021
- SEQUENCE_LABEL,
1022
- String(totals.sequence_count),
1023
- sequence_suffix(totals)
1024
- ),
1025
- time_format.format_columns(
1026
- RECOVERABLE_LABEL,
1027
- String(totals.recoverable_round_trips),
1028
- recoverable_suffix(totals, price.round_trip_count)
1029
- ),
1030
- saving_line(totals, price.model_ms_per_round_trip),
1031
- ...by_tool_lines(totals)
1032
- ];
1033
- }
1034
- var LABELS = [SEQUENCE_LABEL, RECOVERABLE_LABEL, SAVING_LABEL, BY_TOOL_LABEL];
1035
- function no_divisor_lines() {
1036
- return LABELS.map((label) => time_format.format_columns(label, "", time_format.NO_CALLS));
1037
- }
1038
- function bundle_lines(totals, price) {
1039
- const heading = ["", HEADING];
1040
- if (!totals.is_measured) return [...heading, ...LABELS.map((label) => unmeasured_row(label))];
1041
- if (price.round_trip_count === NONE3) return [...heading, ...no_divisor_lines()];
1042
- return [...heading, ...measured_lines(totals, price)];
1043
- }
1044
- var time_bundles = {
1045
- HEADING,
1046
- BY_TOOL_LABEL,
1047
- NO_BUNDLES,
1048
- build_bundles,
1049
- bundle_lines,
1050
- by_weight,
1051
- is_dependent,
1052
- open_sequence,
1053
- shares_target
1054
- };
1055
-
1056
- export {
1057
- time_bundle_call,
1058
- time_markers,
1059
- time_spans,
1060
- time_round_trips,
1061
- time_bundles
1062
- };