@dylanpiercey/work 0.0.125 → 0.0.127

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 (251) hide show
  1. package/dist/{_BJcBOXUi.js → _B30PhyQg.js} +2 -2
  2. package/dist/{_DOBRRnfU.js → _BerH0QBf.js} +177 -31
  3. package/dist/_Bhd3BMas.js +2 -0
  4. package/dist/{_930ti7l4.js → _ClRtSKMs.js} +4 -4
  5. package/dist/_DLULQXOg.js +2 -0
  6. package/dist/{_WjoDGkKH.js → _DxyCe0aR.js} +13 -13
  7. package/dist/_PwfoxOUv.js +2 -0
  8. package/dist/index.mjs +40 -39
  9. package/dist/public/assets/{_B-29SYo2.js → _0OqIY_oa.js} +1 -1
  10. package/dist/public/assets/_0OqIY_oa.js.br +0 -0
  11. package/dist/public/assets/{_DQmUOt0Z2.js → _0UBcCdXI2.js} +1 -1
  12. package/dist/public/assets/_0UBcCdXI2.js.br +0 -0
  13. package/dist/public/assets/{_BJN1qXCa2.js → _1l4GNsSP2.js} +1 -1
  14. package/dist/public/assets/_1l4GNsSP2.js.br +0 -0
  15. package/dist/public/assets/{_BE4dhpwJ.js → _B7ABFrdL.js} +1 -1
  16. package/dist/public/assets/_B7ABFrdL.js.br +0 -0
  17. package/dist/public/assets/{_DUUGRyNk.js → _B7cutdHQ.js} +1 -1
  18. package/dist/public/assets/_B7cutdHQ.js.br +0 -0
  19. package/dist/public/assets/{_BYsfbbzd.js → _BAYLyxTF.js} +1 -1
  20. package/dist/public/assets/_BAYLyxTF.js.br +0 -0
  21. package/dist/public/assets/{_Da89rUC2.js → _BLfwHTyW.js} +1 -1
  22. package/dist/public/assets/_BLfwHTyW.js.br +0 -0
  23. package/dist/public/assets/{_qq1sg2fo.js → _BMicSlM7.js} +1 -1
  24. package/dist/public/assets/_BMicSlM7.js.br +0 -0
  25. package/dist/public/assets/{_DPXUEcYm2.js → _BMrUCfDB2.js} +1 -1
  26. package/dist/public/assets/_BMrUCfDB2.js.br +0 -0
  27. package/dist/public/assets/{_JN2O0QAG.js → _BOEAFiNc.js} +1 -1
  28. package/dist/public/assets/_BOEAFiNc.js.br +0 -0
  29. package/dist/public/assets/{_BR5CEgiJ2.js → _BSgpkWeG2.js} +1 -1
  30. package/dist/public/assets/_BSgpkWeG2.js.br +0 -0
  31. package/dist/public/assets/{_Dzrr4qlL.js → _BW_6s178.js} +1 -1
  32. package/dist/public/assets/{_BMWDi0SW2.js → _Bb4SPfXq2.js} +1 -1
  33. package/dist/public/assets/_Bb4SPfXq2.js.br +0 -0
  34. package/dist/public/assets/{_DXqSdWGX.js → _BihwC5tS.js} +1 -1
  35. package/dist/public/assets/_BihwC5tS.js.br +0 -0
  36. package/dist/public/assets/{_BzZXh-F4.js → _BosyJtbl.js} +4 -4
  37. package/dist/public/assets/_BosyJtbl.js.br +0 -0
  38. package/dist/public/assets/{_B25bQHHn2.js → _BuDL8K-B2.js} +1 -1
  39. package/dist/public/assets/_BuDL8K-B2.js.br +0 -0
  40. package/dist/public/assets/{_4gRGCOIS.js → _BuLVH2X-.js} +1 -1
  41. package/dist/public/assets/_BuLVH2X-.js.br +0 -0
  42. package/dist/public/assets/{_DcomP0ij2.js → _Bx5VaawO2.js} +1 -1
  43. package/dist/public/assets/{_DOiVRQI2.js → _Bz47SoPw.js} +1 -1
  44. package/dist/public/assets/_Bz47SoPw.js.br +0 -0
  45. package/dist/public/assets/{_CQ0mr2yi.js → _C0h0wi_E.js} +1 -1
  46. package/dist/public/assets/_C0h0wi_E.js.br +0 -0
  47. package/dist/public/assets/{_s0GGSJ_A.js → _C15_hmIx.js} +1 -1
  48. package/dist/public/assets/_C15_hmIx.js.br +0 -0
  49. package/dist/public/assets/{_CRvx7Xp-2.js → _C2bz1iNl2.js} +1 -1
  50. package/dist/public/assets/_C2bz1iNl2.js.br +0 -0
  51. package/dist/public/assets/{_uxqtnPbF.js → _C3JHGzvW.js} +1 -1
  52. package/dist/public/assets/_C3JHGzvW.js.br +0 -0
  53. package/dist/public/assets/{_DR9kG8qf2.js → _C4U6CgHl2.js} +1 -1
  54. package/dist/public/assets/_C4U6CgHl2.js.br +0 -0
  55. package/dist/public/assets/{_Cqulz6RB.js → _C70vMp9x.js} +1 -1
  56. package/dist/public/assets/_C70vMp9x.js.br +0 -0
  57. package/dist/public/assets/{_BnPlTl-32.js → _C7mf5JlF2.js} +1 -1
  58. package/dist/public/assets/_C7mf5JlF2.js.br +0 -0
  59. package/dist/public/assets/{_D5qw3Zii.js → _CBJgkhp4.js} +1 -1
  60. package/dist/public/assets/_CBJgkhp4.js.br +0 -0
  61. package/dist/public/assets/{_CjHQhy_5.js → _CIp0kFpa.js} +1 -1
  62. package/dist/public/assets/_CIp0kFpa.js.br +0 -0
  63. package/dist/public/assets/{_DU1yHNZe.js → _CKnhEM_s.js} +1 -1
  64. package/dist/public/assets/_CKnhEM_s.js.br +0 -0
  65. package/dist/public/assets/{_D-jttVew2.js → _CLrm4PKi2.js} +1 -1
  66. package/dist/public/assets/_CLrm4PKi2.js.br +0 -0
  67. package/dist/public/assets/{_DA4orPXm2.js → _COwh9xd62.js} +1 -1
  68. package/dist/public/assets/_COwh9xd62.js.br +0 -0
  69. package/dist/public/assets/{_-R93qVtH.js → _CQLqXTuP.js} +1 -1
  70. package/dist/public/assets/_CQLqXTuP.js.br +0 -0
  71. package/dist/public/assets/{_DI83ytqx.js → _CQwAYP8H.js} +1 -1
  72. package/dist/public/assets/_CQwAYP8H.js.br +0 -0
  73. package/dist/public/assets/{_DVW3M51M.js → _CS5NJN5T.js} +24 -24
  74. package/dist/public/assets/_CS5NJN5T.js.br +0 -0
  75. package/dist/public/assets/{_B8OJTbg-.js → _CSktm2e_.js} +1 -1
  76. package/dist/public/assets/_CSktm2e_.js.br +0 -0
  77. package/dist/public/assets/{_DaTjL0hs.js → _CV1b_-qF.js} +1 -1
  78. package/dist/public/assets/_CV1b_-qF.js.br +0 -0
  79. package/dist/public/assets/{_CZeH6oLm.js → _CVJwjn-3.js} +1 -1
  80. package/dist/public/assets/_CVJwjn-3.js.br +0 -0
  81. package/dist/public/assets/{_DSUh3ijW.js → _CWdF1x9U.js} +1 -1
  82. package/dist/public/assets/_CWdF1x9U.js.br +0 -0
  83. package/dist/public/assets/{_Bgn1dDb6.js → _CXoYOoC6.js} +1 -1
  84. package/dist/public/assets/_CXoYOoC6.js.br +0 -0
  85. package/dist/public/assets/{_CtAYcZpO.js → _CsRJlP6E.js} +1 -1
  86. package/dist/public/assets/_CsRJlP6E.js.br +0 -0
  87. package/dist/public/assets/{_C622hBLY.js → _CvTvccCO.js} +1 -1
  88. package/dist/public/assets/_CvTvccCO.js.br +0 -0
  89. package/dist/public/assets/{_CeZkA_Zt.js → _D0GM5bjt.js} +1 -1
  90. package/dist/public/assets/_D0GM5bjt.js.br +0 -0
  91. package/dist/public/assets/{_DBRm5nAL.js → _D8LywV07.js} +1 -1
  92. package/dist/public/assets/_D8LywV07.js.br +0 -0
  93. package/dist/public/assets/{_DJb-8rdD2.js → _DF2_1kBg2.js} +1 -1
  94. package/dist/public/assets/_DF2_1kBg2.js.br +0 -0
  95. package/dist/public/assets/{_CrxfpsAz2.js → _DFCkDvE32.js} +1 -1
  96. package/dist/public/assets/_DFCkDvE32.js.br +0 -0
  97. package/dist/public/assets/{_B2ZCYtHE.js → _DGwnanjW.js} +1 -1
  98. package/dist/public/assets/_DGwnanjW.js.br +0 -0
  99. package/dist/public/assets/{_mwYty2eA.js → _DKujArVl.js} +1 -1
  100. package/dist/public/assets/_DKujArVl.js.br +0 -0
  101. package/dist/public/assets/{_DhiSrB_n2.js → _DM8LWYEr2.js} +1 -1
  102. package/dist/public/assets/_DM8LWYEr2.js.br +0 -0
  103. package/dist/public/assets/{_Bq7Q25uD.js → _DPj2YHTk.js} +1 -1
  104. package/dist/public/assets/_DPj2YHTk.js.br +0 -0
  105. package/dist/public/assets/{_CMc9TcWl.js → _D_ZV8LlG.js} +1 -1
  106. package/dist/public/assets/_D_ZV8LlG.js.br +0 -0
  107. package/dist/public/assets/{_YbzODI2D2.js → _DgNTtTl42.js} +1 -1
  108. package/dist/public/assets/_DgNTtTl42.js.br +0 -0
  109. package/dist/public/assets/{_BAMoy2A4.js → _DipGujtJ.js} +1 -1
  110. package/dist/public/assets/_DipGujtJ.js.br +0 -0
  111. package/dist/public/assets/{_D9AN2KVo.js → _Dj94fa3U.js} +1 -1
  112. package/dist/public/assets/_Dj94fa3U.js.br +0 -0
  113. package/dist/public/assets/{_C0tjbf4T2.js → _DkQYY8r62.js} +1 -1
  114. package/dist/public/assets/_DkQYY8r62.js.br +0 -0
  115. package/dist/public/assets/{_CfRidFom2.js → _DkbZtm4H2.js} +1 -1
  116. package/dist/public/assets/_DkbZtm4H2.js.br +0 -0
  117. package/dist/public/assets/{_CkFRdMeb.js → _E6Kzddef.js} +1 -1
  118. package/dist/public/assets/_E6Kzddef.js.br +0 -0
  119. package/dist/public/assets/{_DZEbz-HB.js → _ETRp4Dkx.js} +1 -1
  120. package/dist/public/assets/_ETRp4Dkx.js.br +0 -0
  121. package/dist/public/assets/{_PzNqdkDp.js → _JKJV30m7.js} +1 -1
  122. package/dist/public/assets/_JKJV30m7.js.br +0 -0
  123. package/dist/public/assets/{_ARGpSrxa.js → _LFb7Eooe.js} +1 -1
  124. package/dist/public/assets/_LFb7Eooe.js.br +0 -0
  125. package/dist/public/assets/{_DVRR8_qs2.js → _QesvKbOa2.js} +1 -1
  126. package/dist/public/assets/_QesvKbOa2.js.br +0 -0
  127. package/dist/public/assets/{_vgh4NunL2.js → _RBSjxlpg2.js} +1 -1
  128. package/dist/public/assets/_RBSjxlpg2.js.br +0 -0
  129. package/dist/public/assets/{_DOmR7pnN.js → _RfbisAlu.js} +1 -1
  130. package/dist/public/assets/_RfbisAlu.js.br +0 -0
  131. package/dist/public/assets/{_CvcVoymB2.js → _SyFIuzj92.js} +1 -1
  132. package/dist/public/assets/_SyFIuzj92.js.br +0 -0
  133. package/dist/public/assets/{_gzfvLUOm.js → _ZhayJ-qQ.js} +1 -1
  134. package/dist/public/assets/_ZhayJ-qQ.js.br +0 -0
  135. package/dist/public/assets/{_DPHSykud.js → _cqG6c_wj.js} +1 -1
  136. package/dist/public/assets/_cqG6c_wj.js.br +0 -0
  137. package/dist/public/assets/{_BFHO0e322.js → _d2apwwMm2.js} +1 -1
  138. package/dist/public/assets/{_Db8eKygL2.js → _iQyMxbuN2.js} +1 -1
  139. package/dist/public/assets/_iQyMxbuN2.js.br +0 -0
  140. package/dist/public/assets/{_5OqmzNcc.js → _jwhRT4Zh.js} +1 -1
  141. package/dist/public/assets/_jwhRT4Zh.js.br +0 -0
  142. package/dist/public/assets/{_CeJ_wAwZ.js → _mkwsaBCP.js} +1 -1
  143. package/dist/public/assets/_mkwsaBCP.js.br +0 -0
  144. package/dist/public/assets/{_ByOuWH5y.js → _nk9Ndt8F.js} +1 -1
  145. package/dist/public/assets/_nk9Ndt8F.js.br +0 -0
  146. package/dist/public/assets/{_D35NGvAL.js → _rGnGy01d.js} +1 -1
  147. package/dist/public/assets/_rGnGy01d.js.br +0 -0
  148. package/dist/public/assets/{_BlBWsvTO.js → _rmB_eng0.js} +1 -1
  149. package/dist/public/assets/_rmB_eng0.js.br +0 -0
  150. package/dist/public/assets/{_6G4xyCBp.js → _sn5IO56l.js} +1 -1
  151. package/dist/public/assets/_sn5IO56l.js.br +0 -0
  152. package/dist/public/assets/{_D-vypASA2.js → _t1zPIDHD2.js} +1 -1
  153. package/dist/public/assets/_t1zPIDHD2.js.br +0 -0
  154. package/dist/public/assets/{_BMYEg37K.js → _uay_kEL4.js} +1 -1
  155. package/dist/public/assets/_uay_kEL4.js.br +0 -0
  156. package/dist/public/assets/{_Cen52N19.js → _wogBSoP_.js} +1 -1
  157. package/dist/public/assets/_wogBSoP_.js.br +0 -0
  158. package/dist/public/assets/{app-page-BiVbfTT1.css → app-page-CY5YskjL.css} +1 -1
  159. package/dist/public/assets/app-page-CY5YskjL.css.br +0 -0
  160. package/dist/public/assets/{diff-view-BGCq8VEy.css → diff-view-Bgr-jkmA.css} +1 -1
  161. package/dist/public/assets/diff-view-Bgr-jkmA.css.br +0 -0
  162. package/dist/public/assets/new-ClSnajcQ.js +1 -0
  163. package/dist/public/assets/settings-ClSnajcQ.js +1 -0
  164. package/dist/public/assets/w-ClSnajcQ.js +1 -0
  165. package/dist/public/assets/w._-ClSnajcQ.js +1 -0
  166. package/dist/public/assets/w._-DnNpxcOV.js +1 -0
  167. package/lib/setup/agents.json +16 -0
  168. package/package.json +1 -1
  169. package/dist/_8GaDFTzQ.js +0 -2
  170. package/dist/_CrVv317N.js +0 -2
  171. package/dist/_iX5oUHA_.js +0 -2
  172. package/dist/public/assets/_-R93qVtH.js.br +0 -0
  173. package/dist/public/assets/_4gRGCOIS.js.br +0 -0
  174. package/dist/public/assets/_5OqmzNcc.js.br +0 -0
  175. package/dist/public/assets/_6G4xyCBp.js.br +0 -0
  176. package/dist/public/assets/_ARGpSrxa.js.br +0 -0
  177. package/dist/public/assets/_B-29SYo2.js.br +0 -0
  178. package/dist/public/assets/_B25bQHHn2.js.br +0 -0
  179. package/dist/public/assets/_B2ZCYtHE.js.br +0 -0
  180. package/dist/public/assets/_B8OJTbg-.js.br +0 -0
  181. package/dist/public/assets/_BAMoy2A4.js.br +0 -0
  182. package/dist/public/assets/_BE4dhpwJ.js.br +0 -0
  183. package/dist/public/assets/_BJN1qXCa2.js.br +0 -0
  184. package/dist/public/assets/_BMWDi0SW2.js.br +0 -0
  185. package/dist/public/assets/_BMYEg37K.js.br +0 -0
  186. package/dist/public/assets/_BR5CEgiJ2.js.br +0 -0
  187. package/dist/public/assets/_BYsfbbzd.js.br +0 -0
  188. package/dist/public/assets/_Bgn1dDb6.js.br +0 -0
  189. package/dist/public/assets/_BlBWsvTO.js.br +0 -0
  190. package/dist/public/assets/_BnPlTl-32.js.br +0 -0
  191. package/dist/public/assets/_Bq7Q25uD.js.br +0 -0
  192. package/dist/public/assets/_ByOuWH5y.js.br +0 -0
  193. package/dist/public/assets/_BzZXh-F4.js.br +0 -0
  194. package/dist/public/assets/_C0tjbf4T2.js.br +0 -0
  195. package/dist/public/assets/_C622hBLY.js.br +0 -0
  196. package/dist/public/assets/_CMc9TcWl.js.br +0 -0
  197. package/dist/public/assets/_CQ0mr2yi.js.br +0 -0
  198. package/dist/public/assets/_CRvx7Xp-2.js.br +0 -0
  199. package/dist/public/assets/_CZeH6oLm.js.br +0 -0
  200. package/dist/public/assets/_CeJ_wAwZ.js.br +0 -0
  201. package/dist/public/assets/_CeZkA_Zt.js.br +0 -0
  202. package/dist/public/assets/_Cen52N19.js.br +0 -0
  203. package/dist/public/assets/_CfRidFom2.js.br +0 -0
  204. package/dist/public/assets/_CjHQhy_5.js.br +0 -0
  205. package/dist/public/assets/_CkFRdMeb.js.br +0 -0
  206. package/dist/public/assets/_Cqulz6RB.js.br +0 -0
  207. package/dist/public/assets/_CrxfpsAz2.js.br +0 -0
  208. package/dist/public/assets/_CtAYcZpO.js.br +0 -0
  209. package/dist/public/assets/_CvcVoymB2.js.br +0 -0
  210. package/dist/public/assets/_D-jttVew2.js.br +0 -0
  211. package/dist/public/assets/_D-vypASA2.js.br +0 -0
  212. package/dist/public/assets/_D35NGvAL.js.br +0 -0
  213. package/dist/public/assets/_D5qw3Zii.js.br +0 -0
  214. package/dist/public/assets/_D9AN2KVo.js.br +0 -0
  215. package/dist/public/assets/_DA4orPXm2.js.br +0 -0
  216. package/dist/public/assets/_DBRm5nAL.js.br +0 -0
  217. package/dist/public/assets/_DI83ytqx.js.br +0 -0
  218. package/dist/public/assets/_DJb-8rdD2.js.br +0 -0
  219. package/dist/public/assets/_DOiVRQI2.js.br +0 -0
  220. package/dist/public/assets/_DOmR7pnN.js.br +0 -0
  221. package/dist/public/assets/_DPHSykud.js.br +0 -0
  222. package/dist/public/assets/_DPXUEcYm2.js.br +0 -0
  223. package/dist/public/assets/_DQmUOt0Z2.js.br +0 -0
  224. package/dist/public/assets/_DR9kG8qf2.js.br +0 -0
  225. package/dist/public/assets/_DSUh3ijW.js.br +0 -0
  226. package/dist/public/assets/_DU1yHNZe.js.br +0 -0
  227. package/dist/public/assets/_DUUGRyNk.js.br +0 -0
  228. package/dist/public/assets/_DVRR8_qs2.js.br +0 -0
  229. package/dist/public/assets/_DVW3M51M.js.br +0 -0
  230. package/dist/public/assets/_DXqSdWGX.js.br +0 -0
  231. package/dist/public/assets/_DZEbz-HB.js.br +0 -0
  232. package/dist/public/assets/_Da89rUC2.js.br +0 -0
  233. package/dist/public/assets/_DaTjL0hs.js.br +0 -0
  234. package/dist/public/assets/_Db8eKygL2.js.br +0 -0
  235. package/dist/public/assets/_DhiSrB_n2.js.br +0 -0
  236. package/dist/public/assets/_JN2O0QAG.js.br +0 -0
  237. package/dist/public/assets/_PzNqdkDp.js.br +0 -0
  238. package/dist/public/assets/_YbzODI2D2.js.br +0 -0
  239. package/dist/public/assets/_gzfvLUOm.js.br +0 -0
  240. package/dist/public/assets/_mwYty2eA.js.br +0 -0
  241. package/dist/public/assets/_qq1sg2fo.js.br +0 -0
  242. package/dist/public/assets/_s0GGSJ_A.js.br +0 -0
  243. package/dist/public/assets/_uxqtnPbF.js.br +0 -0
  244. package/dist/public/assets/_vgh4NunL2.js.br +0 -0
  245. package/dist/public/assets/app-page-BiVbfTT1.css.br +0 -0
  246. package/dist/public/assets/diff-view-BGCq8VEy.css.br +0 -0
  247. package/dist/public/assets/new-BstpwR5D.js +0 -1
  248. package/dist/public/assets/settings-BstpwR5D.js +0 -1
  249. package/dist/public/assets/w-BstpwR5D.js +0 -1
  250. package/dist/public/assets/w._-BstpwR5D.js +0 -1
  251. package/dist/public/assets/w._-DKGM-YvG.js +0 -1
@@ -1,5 +1,5 @@
1
- import { U as subscriberCount, V as publish, W as subscriberJoins, dt as all, ft as db, g as sessionStates, l as listSessions } from "./_DOBRRnfU.js";
2
- import { A as portsByWorkspace, J as hostToken, K as forgetToken, M as headOid, Q as ownsBranch, R as repoParent, V as DEFAULT_HOST, Y as joinRepo, Z as splitRepo, h as listWorkspaces, o as pushFailureFor, q as graphqlUrl, z as swr } from "./_930ti7l4.js";
1
+ import { U as subscriberCount, V as publish, W as subscriberJoins, dt as all, ft as db, g as sessionStates, l as listSessions } from "./_BerH0QBf.js";
2
+ import { A as portsByWorkspace, J as hostToken, K as forgetToken, M as headOid, Q as ownsBranch, R as repoParent, V as DEFAULT_HOST, Y as joinRepo, Z as splitRepo, h as listWorkspaces, o as pushFailureFor, q as graphqlUrl, z as swr } from "./_ClRtSKMs.js";
3
3
  import path from "node:path";
4
4
  //#region src/server/github-api.ts
5
5
  /** Run a GraphQL query against one host.
@@ -229,6 +229,18 @@ var agents_default = [
229
229
  "reauth": "grok",
230
230
  "pathDirs": ["~/.grok/bin"]
231
231
  },
232
+ {
233
+ "id": "opencode",
234
+ "label": "opencode",
235
+ "bins": ["opencode"],
236
+ "install": {
237
+ "url": "https://opencode.ai/install",
238
+ "shell": "bash"
239
+ },
240
+ "icon": "M6 4.5h12v15H6V4.5zM9 7.5v9h6v-9H9zM9 13.5v3h6v-3H9z",
241
+ "reauth": "opencode auth login",
242
+ "pathDirs": ["~/.opencode/bin"]
243
+ },
232
244
  {
233
245
  "id": "pi",
234
246
  "label": "Pi",
@@ -6556,7 +6568,7 @@ function publishChange(sessionId) {
6556
6568
  const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
6557
6569
  if (row?.workspace_id) {
6558
6570
  const workspaceId = row.workspace_id;
6559
- import("./_iX5oUHA_.js").then((m) => m.notifySessionsChanged(workspaceId));
6571
+ import("./_PwfoxOUv.js").then((m) => m.notifySessionsChanged(workspaceId));
6560
6572
  return;
6561
6573
  }
6562
6574
  publish("sessions.changed");
@@ -6629,7 +6641,7 @@ function cleanSummary(text) {
6629
6641
  if (!flat) return void 0;
6630
6642
  return flat.length > 180 ? `${flat.slice(0, 177)}…` : flat;
6631
6643
  }
6632
- var meta_default$5 = {
6644
+ var meta_default$6 = {
6633
6645
  id: "claude",
6634
6646
  label: "Claude",
6635
6647
  bins: ["claude"],
@@ -6639,7 +6651,7 @@ var meta_default$5 = {
6639
6651
  },
6640
6652
  icon: "M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"
6641
6653
  };
6642
- var meta_default$4 = {
6654
+ var meta_default$5 = {
6643
6655
  id: "codex",
6644
6656
  label: "Codex",
6645
6657
  bins: ["codex"],
@@ -6651,7 +6663,7 @@ var meta_default$4 = {
6651
6663
  reauth: "codex login",
6652
6664
  pathDirs: ["~/.codex/bin"]
6653
6665
  };
6654
- var meta_default$3 = {
6666
+ var meta_default$4 = {
6655
6667
  id: "copilot",
6656
6668
  label: "Copilot",
6657
6669
  bins: ["copilot"],
@@ -6662,7 +6674,7 @@ var meta_default$3 = {
6662
6674
  icon: "M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z",
6663
6675
  reauth: "gh auth login"
6664
6676
  };
6665
- var meta_default$2 = {
6677
+ var meta_default$3 = {
6666
6678
  id: "cursor",
6667
6679
  label: "Cursor",
6668
6680
  bins: ["cursor-agent"],
@@ -6673,7 +6685,7 @@ var meta_default$2 = {
6673
6685
  icon: "M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",
6674
6686
  reauth: "cursor-agent login"
6675
6687
  };
6676
- var meta_default$1 = {
6688
+ var meta_default$2 = {
6677
6689
  id: "grok",
6678
6690
  label: "Grok",
6679
6691
  bins: ["grok"],
@@ -6685,6 +6697,18 @@ var meta_default$1 = {
6685
6697
  reauth: "grok",
6686
6698
  pathDirs: ["~/.grok/bin"]
6687
6699
  };
6700
+ var meta_default$1 = {
6701
+ id: "opencode",
6702
+ label: "opencode",
6703
+ bins: ["opencode"],
6704
+ install: {
6705
+ "url": "https://opencode.ai/install",
6706
+ "shell": "bash"
6707
+ },
6708
+ icon: "M6 4.5h12v15H6V4.5zM9 7.5v9h6v-9H9zM9 13.5v3h6v-3H9z",
6709
+ reauth: "opencode auth login",
6710
+ pathDirs: ["~/.opencode/bin"]
6711
+ };
6688
6712
  var meta_default = {
6689
6713
  id: "pi",
6690
6714
  label: "Pi",
@@ -6700,6 +6724,7 @@ var meta_default = {
6700
6724
  //#region src/agents/meta.ts
6701
6725
  /** Alphabetical, which is also the order every picker shows. */
6702
6726
  var AGENT_METAS = [
6727
+ meta_default$6,
6703
6728
  meta_default$5,
6704
6729
  meta_default$4,
6705
6730
  meta_default$3,
@@ -7115,7 +7140,7 @@ async function claudeRow(account) {
7115
7140
  * Its Notification hook fires for permission prompts and questions —
7116
7141
  * and for the idle nudge, which readClaudeStyle downgrades. */
7117
7142
  var claude = {
7118
- meta: meta_default$5,
7143
+ meta: meta_default$6,
7119
7144
  launchFlags: () => ["--settings", JSON.stringify({ hooks: claudeStyleHooks([
7120
7145
  ["UserPromptSubmit", "working"],
7121
7146
  ["PreToolUse", "working"],
@@ -7203,7 +7228,7 @@ async function codexRow() {
7203
7228
  }
7204
7229
  //#endregion
7205
7230
  //#region src/agents/codex/index.ts
7206
- var meta$4 = meta_default$4;
7231
+ var meta$5 = meta_default$5;
7207
7232
  /** Codex hook events → state. PermissionRequest fires just before the
7208
7233
  * approval prompt (PostToolUse clears it once the approved call has run,
7209
7234
  * or the next PreToolUse does if a reviewer auto-decided). */
@@ -7261,7 +7286,7 @@ function launchFlags() {
7261
7286
  flags.push("-c", `hooks.state={${state.join(",")}}`);
7262
7287
  return flags;
7263
7288
  }
7264
- function readHook$2(p, reported) {
7289
+ function readHook$3(p, reported) {
7265
7290
  const read = readClaudeStyle(p, reported);
7266
7291
  if (!read.summary && p.hook_event_name === "PermissionRequest") {
7267
7292
  const input = p.tool_input;
@@ -7271,11 +7296,11 @@ function readHook$2(p, reported) {
7271
7296
  return read;
7272
7297
  }
7273
7298
  var codex = {
7274
- meta: meta$4,
7299
+ meta: meta$5,
7275
7300
  launchFlags,
7276
7301
  reportsWorking: () => true,
7277
7302
  envPrefixes: ["CODEX_"],
7278
- readHook: readHook$2,
7303
+ readHook: readHook$3,
7279
7304
  usage: () => codexRow().then((row) => [row])
7280
7305
  };
7281
7306
  //#endregion
@@ -7409,7 +7434,7 @@ async function copilotRow() {
7409
7434
  }
7410
7435
  //#endregion
7411
7436
  //#region src/agents/copilot/index.ts
7412
- var meta$3 = meta_default$3;
7437
+ var meta$4 = meta_default$4;
7413
7438
  /** Copilot hook events (Claude-format names, which make it emit Claude's
7414
7439
  * snake_case payloads) → state. Notification rather than PermissionRequest
7415
7440
  * for "needs input": the latter fires before Copilot's own allow rules, the
@@ -7461,7 +7486,7 @@ var CHATTER = /* @__PURE__ */ new Set([
7461
7486
  "factory_completed",
7462
7487
  "unclassified"
7463
7488
  ]);
7464
- function readHook$1(p, reported) {
7489
+ function readHook$2(p, reported) {
7465
7490
  if (CHATTER.has(notificationType(p))) return { ignore: true };
7466
7491
  const read = readClaudeStyle(p, reported);
7467
7492
  if (!read.summary && reported === "done") read.summary = lastMessageFromTranscript(p);
@@ -7494,11 +7519,11 @@ function lastMessageFromTranscript(p) {
7494
7519
  } catch {}
7495
7520
  }
7496
7521
  var copilot = {
7497
- meta: meta$3,
7522
+ meta: meta$4,
7498
7523
  launchFlags: () => ["--plugin-dir", pluginDir()],
7499
7524
  reportsWorking: () => true,
7500
7525
  envPrefixes: ["COPILOT_"],
7501
- readHook: readHook$1,
7526
+ readHook: readHook$2,
7502
7527
  usage: () => copilotRow().then((row) => [row])
7503
7528
  };
7504
7529
  //#endregion
@@ -7613,7 +7638,7 @@ async function cursorRow() {
7613
7638
  * so its sessions get working/idle from pane activity (see scraper.ts) and
7614
7639
  * nothing else — a stopped turn and a question look the same. */
7615
7640
  var cursor = {
7616
- meta: meta_default$2,
7641
+ meta: meta_default$3,
7617
7642
  usage: () => cursorRow().then((row) => [row])
7618
7643
  };
7619
7644
  //#endregion
@@ -7718,7 +7743,7 @@ async function grokRow() {
7718
7743
  }
7719
7744
  //#endregion
7720
7745
  //#region src/agents/grok/index.ts
7721
- var meta$1 = meta_default$1;
7746
+ var meta$2 = meta_default$2;
7722
7747
  /** Grok hook events → state. Payloads are camelCase (hookEventName,
7723
7748
  * notificationType, lastAssistantMessage). Notification is matched to the
7724
7749
  * two kinds that mean a prompt is on screen; Stop fires on shutdown too,
@@ -7778,7 +7803,7 @@ function registerHooks() {
7778
7803
  }
7779
7804
  return registered;
7780
7805
  }
7781
- function readHook(p, reported) {
7806
+ function readHook$1(p, reported) {
7782
7807
  if (str$1(p.subagentType)) return { ignore: true };
7783
7808
  if (p.hookEventName === "stop" && str$1(p.reason) && p.reason !== "end_turn") return { ignore: true };
7784
7809
  const read = readClaudeStyle(p, reported);
@@ -7788,6 +7813,124 @@ function readHook(p, reported) {
7788
7813
  }
7789
7814
  return read;
7790
7815
  }
7816
+ var grok = {
7817
+ meta: meta$2,
7818
+ launchFlags: () => {
7819
+ registerHooks();
7820
+ return [];
7821
+ },
7822
+ reportsWorking: () => registered,
7823
+ promptAsArgv: true,
7824
+ envPrefixes: ["GROK_"],
7825
+ readHook: readHook$1,
7826
+ usage: () => grokRow().then((row) => [row])
7827
+ };
7828
+ //#endregion
7829
+ //#region src/agents/opencode/index.ts
7830
+ var meta$1 = meta_default$1;
7831
+ /** opencode has no command hooks: state comes from a plugin, a JS module
7832
+ * subscribed to the same event bus its TUI renders from. The plugin posts
7833
+ * the reports itself rather than shelling out to curl, so this is the one
7834
+ * family whose payload work wrote — `readHook` only has to unwrap it. */
7835
+ var PLUGIN = (appPort) => `// Generated by work. Reports this
7836
+ // session's working / needs-input / done state to the app; edits are
7837
+ // overwritten. Port and session id come from the env tmux gave the pane.
7838
+ const post = async (state, reason, summary) => {
7839
+ const session = process.env.WORK_SESSION_ID;
7840
+ if (!session) return;
7841
+ const port = process.env.WORK_APP_PORT || "${appPort}";
7842
+ const qs =
7843
+ \`session=\${encodeURIComponent(session)}&state=\${state}\` +
7844
+ (reason ? \`&reason=\${reason}\` : "");
7845
+ try {
7846
+ await fetch(\`http://127.0.0.1:\${port}/api/agent-state?\${qs}\`, {
7847
+ method: "POST",
7848
+ headers: { "content-type": "application/json" },
7849
+ body: JSON.stringify({ summary }),
7850
+ signal: AbortSignal.timeout(3000),
7851
+ });
7852
+ } catch {}
7853
+ };
7854
+
7855
+ export const WorkSessionState = async () => {
7856
+ // A subagent's turn is not the pane's: task sessions carry a parentID,
7857
+ // and their busy/idle would otherwise end the turn the user is watching.
7858
+ const children = new Set();
7859
+ const roles = new Map();
7860
+ const lastText = new Map();
7861
+ const mine = (id) => !!id && !children.has(id);
7862
+ return {
7863
+ event: async ({ event }) => {
7864
+ const type = event?.type;
7865
+ const p = event?.properties || {};
7866
+ if (type === "session.created" || type === "session.updated") {
7867
+ if (p.info?.parentID) children.add(p.info.id);
7868
+ return;
7869
+ }
7870
+ // Text parts carry no role; the message they belong to does, and a
7871
+ // summary must not quote the user's own prompt back at them.
7872
+ if (type === "message.updated" && p.info?.id) {
7873
+ roles.set(p.info.id, p.info.role);
7874
+ return;
7875
+ }
7876
+ if (type === "message.part.updated" && p.part?.type === "text") {
7877
+ if (roles.get(p.part.messageID) === "assistant" && p.part.text)
7878
+ lastText.set(p.part.sessionID, p.part.text);
7879
+ return;
7880
+ }
7881
+ if (!mine(p.sessionID)) return;
7882
+ if (type === "session.status" && p.status?.type === "busy")
7883
+ return post("working");
7884
+ if (type === "session.idle") {
7885
+ const summary = lastText.get(p.sessionID);
7886
+ lastText.delete(p.sessionID);
7887
+ roles.clear();
7888
+ return post("waiting", "done", summary);
7889
+ }
7890
+ if (type === "session.error")
7891
+ return post(
7892
+ "waiting",
7893
+ "attention",
7894
+ p.error?.data?.message || p.error?.name,
7895
+ );
7896
+ // A prompt is on screen and nothing moves until it is answered.
7897
+ if (type === "permission.asked")
7898
+ return post(
7899
+ "waiting",
7900
+ "attention",
7901
+ [p.permission, p.metadata?.command || p.patterns?.[0]]
7902
+ .filter(Boolean)
7903
+ .join(": "),
7904
+ );
7905
+ if (type === "permission.replied") return post("working");
7906
+ },
7907
+ };
7908
+ };
7909
+ `;
7910
+ /** Whether the plugin is on disk for opencode to load — without it the
7911
+ * screen has to speak for the session. */
7912
+ var installed = false;
7913
+ /** opencode resolves a `plugin` entry that looks like a path as a local
7914
+ * file, and reads `OPENCODE_CONFIG_CONTENT` as one more config layer that
7915
+ * merges over the user's own. Together that loads work's plugin from
7916
+ * work's data dir without writing a line into ~/.config/opencode. */
7917
+ function pluginConfig() {
7918
+ const file = path.join(config.dataDir, "opencode-plugin.js");
7919
+ try {
7920
+ writeIfChanged(file, PLUGIN(config.appPort));
7921
+ installed = true;
7922
+ } catch {
7923
+ installed = false;
7924
+ }
7925
+ return JSON.stringify({ plugin: [file] });
7926
+ }
7927
+ function readHook(p, reported) {
7928
+ const summary = str$1(p.summary);
7929
+ return {
7930
+ reason: reported,
7931
+ summary: summary ? cleanSummary(summary) : void 0
7932
+ };
7933
+ }
7791
7934
  //#endregion
7792
7935
  //#region src/agents/index.ts
7793
7936
  /** Every agent family work integrates with, one folder each. Order is the
@@ -7798,17 +7941,13 @@ var AGENTS = [
7798
7941
  codex,
7799
7942
  copilot,
7800
7943
  cursor,
7944
+ grok,
7801
7945
  {
7802
7946
  meta: meta$1,
7803
- launchFlags: () => {
7804
- registerHooks();
7805
- return [];
7806
- },
7807
- reportsWorking: () => registered,
7808
- promptAsArgv: true,
7809
- envPrefixes: ["GROK_"],
7810
- readHook,
7811
- usage: () => grokRow().then((row) => [row])
7947
+ launchEnv: () => ({ OPENCODE_CONFIG_CONTENT: pluginConfig() }),
7948
+ reportsWorking: () => installed,
7949
+ envPrefixes: ["OPENCODE_"],
7950
+ readHook
7812
7951
  },
7813
7952
  {
7814
7953
  meta: meta_default,
@@ -7824,6 +7963,11 @@ function agentFor(id) {
7824
7963
  function agentLaunchFlags(id) {
7825
7964
  return agentFor(id)?.launchFlags?.() ?? [];
7826
7965
  }
7966
+ /** Env for a spawned pane so the agent CLI reports state — the families
7967
+ * configured by environment rather than argv. */
7968
+ function agentLaunchEnv(id) {
7969
+ return agentFor(id)?.launchEnv?.() ?? {};
7970
+ }
7827
7971
  /** Whether the agent says when it *starts* working, not just when it stops
7828
7972
  * — believing the screen over that costs it the state its own hook just
7829
7973
  * reported, so the pane scraper leaves these alone. */
@@ -8148,7 +8292,7 @@ function newSessionArgs(session, wsPath, mode, initialPrompt, size) {
8148
8292
  tmuxName(session.id),
8149
8293
  "-c",
8150
8294
  wsPath,
8151
- ...sessionEnvArgs(session.id),
8295
+ ...sessionEnvArgs(session.id, session.agent),
8152
8296
  ...loginShellCommand(session.agent, initialPrompt)
8153
8297
  ];
8154
8298
  }
@@ -8212,13 +8356,15 @@ function sessionCommand(agent) {
8212
8356
  return command ? [command] : [];
8213
8357
  }
8214
8358
  /** tmux new-session env flags so the agent's hooks can report back which
8215
- * session they belong to. */
8216
- function sessionEnvArgs(sessionId) {
8359
+ * session they belong to, plus whatever the family needs to load its own
8360
+ * hooks (opencode names its plugin here — tmux quotes it, not the shell). */
8361
+ function sessionEnvArgs(sessionId, agent) {
8217
8362
  return [
8218
8363
  "-e",
8219
8364
  `WORK_SESSION_ID=${sessionId}`,
8220
8365
  "-e",
8221
- `WORK_APP_PORT=${config.appPort}`
8366
+ `WORK_APP_PORT=${config.appPort}`,
8367
+ ...Object.entries(agentLaunchEnv(agent)).flatMap(([key, value]) => ["-e", `${key}=${value}`])
8222
8368
  ];
8223
8369
  }
8224
8370
  function tmuxName(sessionId) {
@@ -0,0 +1,2 @@
1
+ import { n as muteAutoPush } from "./_ClRtSKMs.js";
2
+ export { muteAutoPush };
@@ -1,4 +1,4 @@
1
- import { $ as setSetting, V as publish, Y as getSetting, _t as git, bt as config, c as killWorkspaceSessions, dt as all, ft as db, gt as gh, i as disposeSessions, l as listSessions, nt as ghKnownHosts, ot as DEFAULT_GITHUB_HOST, p as panePids, pt as get, vt as run } from "./_DOBRRnfU.js";
1
+ import { $ as setSetting, V as publish, Y as getSetting, _t as git, bt as config, c as killWorkspaceSessions, dt as all, ft as db, gt as gh, i as disposeSessions, l as listSessions, nt as ghKnownHosts, ot as DEFAULT_GITHUB_HOST, p as panePids, pt as get, vt as run } from "./_BerH0QBf.js";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -1005,7 +1005,7 @@ async function materializeWorkspace(id) {
1005
1005
  repo.default_branch = defaultBranch;
1006
1006
  db.prepare("UPDATE repos SET base_branch = ?, default_branch = ? WHERE workspace_id = ? AND full_name = ?").run(repo.base_branch, defaultBranch, id, repo.full_name);
1007
1007
  }
1008
- (await import("./_CrVv317N.js")).muteAutoPush(repo.full_name, ws.branch);
1008
+ (await import("./_Bhd3BMas.js")).muteAutoPush(repo.full_name, ws.branch);
1009
1009
  await addWorkspaceWorktree(bare, path.join(ws.path, repo.worktree), ws.branch, repo.base_branch);
1010
1010
  added.push(repo);
1011
1011
  });
@@ -1639,7 +1639,7 @@ async function noteRemoteRef(fullName, branch, oid) {
1639
1639
  if (await revParse(barePath(fullName), `refs/heads/${branch}`) !== oid) return;
1640
1640
  rememberPushed(k, oid);
1641
1641
  if (failures.delete(k)) {
1642
- const { pokeStatusWatch } = await import("./_8GaDFTzQ.js");
1642
+ const { pokeStatusWatch } = await import("./_DLULQXOg.js");
1643
1643
  pokeStatusWatch();
1644
1644
  }
1645
1645
  }
@@ -1704,7 +1704,7 @@ async function pushOnce(fullName, branch, bases) {
1704
1704
  }
1705
1705
  async function fail(k, why) {
1706
1706
  failures.set(k, why);
1707
- const { pokeStatusWatch } = await import("./_8GaDFTzQ.js");
1707
+ const { pokeStatusWatch } = await import("./_DLULQXOg.js");
1708
1708
  pokeStatusWatch();
1709
1709
  return why;
1710
1710
  }
@@ -0,0 +1,2 @@
1
+ import { n as pokeStatusWatch } from "./_B30PhyQg.js";
2
+ export { pokeStatusWatch };
@@ -2027,7 +2027,7 @@ var diff_file_default = _template("h", (input) => {
2027
2027
  _scope_reason();
2028
2028
  const $scope0_id = _scope_id();
2029
2029
  _el($scope0_id, "h0");
2030
- _html(`<div${_attr_class(["_h3", input.class])}></div>${_el_resume($scope0_id, "a")}`);
2030
+ _html(`<div${_attr_class(["_h1", input.class])}></div>${_el_resume($scope0_id, "a")}`);
2031
2031
  _script($scope0_id, "h1");
2032
2032
  writeScope($scope0_id, {
2033
2033
  e: input.file,
@@ -2434,7 +2434,7 @@ var review_section_default = _template("w", (input) => {
2434
2434
  });
2435
2435
  _resume_branch($scope0_id);
2436
2436
  });
2437
- var fileFilter = "_h2 _l";
2437
+ var fileFilter = "_h3 _l";
2438
2438
  //#endregion
2439
2439
  //#region src/tags/file-filter.marko
2440
2440
  var file_filter_default = _template("n", (input) => {
@@ -2464,7 +2464,7 @@ var file_filter_default = _template("n", (input) => {
2464
2464
  pending = v;
2465
2465
  box.timer = setTimeout(flush, 150);
2466
2466
  }, "n2", $scope0_id);
2467
- _html(`<div${_attr_class("_h1")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
2467
+ _html(`<div${_attr_class("_h2")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
2468
2468
  type(v);
2469
2469
  }, "n0", $scope0_id))}${_attr_class(fileFilter)} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
2470
2470
  _script($scope0_id, "n3");
@@ -2792,9 +2792,9 @@ var diff_file_sheet_default = _template("g", (input) => {
2792
2792
  _if(() => {
2793
2793
  if (open) {
2794
2794
  const $scope1_id = _scope_id();
2795
- _html(`<div${_attr_class("_gJ")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_gK")} role=dialog aria-label="Jump to file"><div${_attr_class("_gL")}><strong${_attr_class("_gI")}>Files</strong><span${_attr_class("_gM")}>${_escape(input.files.length)}${_el_resume($scope1_id, "f", $sg__input_files_length)}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "g", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class([iconBtnLg, "_gH"])} title=Close aria-label=Close>`);
2795
+ _html(`<div${_attr_class("_gH")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_gI")} role=dialog aria-label="Jump to file"><div${_attr_class("_gJ")}><strong${_attr_class("_gG")}>Files</strong><span${_attr_class("_gK")}>${_escape(input.files.length)}${_el_resume($scope1_id, "f", $sg__input_files_length)}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "g", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class([iconBtnLg, "_gF"])} title=Close aria-label=Close>`);
2796
2796
  icon_xmark_default({ size: 16 });
2797
- _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_gU")}>`);
2797
+ _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_gS")}>`);
2798
2798
  _set_serialize_reason(2);
2799
2799
  const $childScope = _peek_scope_id();
2800
2800
  file_filter_default({
@@ -2803,28 +2803,28 @@ var diff_file_sheet_default = _template("g", (input) => {
2803
2803
  filter = _new_filter;
2804
2804
  }, "g1", $scope1_id)
2805
2805
  });
2806
- _html(`</div><div${_attr_class("_gN")}>`);
2806
+ _html(`</div><div${_attr_class("_gL")}>`);
2807
2807
  _for_of(groups, (group) => {
2808
2808
  const $scope2_id = _scope_id();
2809
- _html(`<div${_attr_class("_gO")}><div${_attr_class("_gP")}>${_escape(group.repo)}${_el_resume($scope2_id, "c", $sg__input_files)}</div>`);
2809
+ _html(`<div${_attr_class("_gM")}><div${_attr_class("_gN")}>${_escape(group.repo)}${_el_resume($scope2_id, "c", $sg__input_files)}</div>`);
2810
2810
  _for_of(group.dirs, ({ dir, files }) => {
2811
2811
  const $scope3_id = _scope_id();
2812
- _html(`<div${_attr_class("_gQ")}>`);
2812
+ _html(`<div${_attr_class("_gO")}>`);
2813
2813
  _if(() => {
2814
2814
  if (dir) {
2815
2815
  const $scope5_id = _scope_id();
2816
- _html(`<div${_attr_class("_gS")}${_attr("title", dir)}><bdi>${_escape(dir)}${_el_resume($scope5_id, "b", $sg__input_files)}/</bdi></div>${_el_resume($scope5_id, "a", $sg__input_files)}`);
2816
+ _html(`<div${_attr_class("_gQ")}${_attr("title", dir)}><bdi>${_escape(dir)}${_el_resume($scope5_id, "b", $sg__input_files)}/</bdi></div>${_el_resume($scope5_id, "a", $sg__input_files)}`);
2817
2817
  $si__input_files && writeScope($scope5_id, { _: _scope_with_id($scope3_id) });
2818
2818
  return 0;
2819
2819
  }
2820
2820
  }, $scope3_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, 0, 1);
2821
2821
  _for_of(files, ({ file, name }) => {
2822
2822
  const $scope4_id = _scope_id();
2823
- _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_gR", "_w"])}><span${_attr_class("_gY")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope4_id, "c", $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_gT")}><bdi>${_escape(name)}${_el_resume($scope4_id, "e", $sg__input_files)}</bdi></span>`);
2823
+ _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_gP", "_w"])}><span${_attr_class("_gW")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope4_id, "c", $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_gR")}><bdi>${_escape(name)}${_el_resume($scope4_id, "e", $sg__input_files)}</bdi></span>`);
2824
2824
  _if(() => {
2825
2825
  if (newKeys.has(file.key)) {
2826
2826
  const $scope6_id = _scope_id();
2827
- _html(`<span${_attr_class(["_y", "_gW"])} title="Changed since your last visit"></span>`);
2827
+ _html(`<span${_attr_class(["_y", "_gU"])} title="Changed since your last visit"></span>`);
2828
2828
  _serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
2829
2829
  return 0;
2830
2830
  }
@@ -2834,7 +2834,7 @@ var diff_file_sheet_default = _template("g", (input) => {
2834
2834
  const $scope7_id = _scope_id();
2835
2835
  icon_comment_default({
2836
2836
  size: 12,
2837
- class: "_gX"
2837
+ class: "_gV"
2838
2838
  });
2839
2839
  _serialize_if($scope0_reason, 0) && writeScope($scope7_id, {});
2840
2840
  return 0;
@@ -2859,7 +2859,7 @@ var diff_file_sheet_default = _template("g", (input) => {
2859
2859
  _if(() => {
2860
2860
  if (!input.files.length) {
2861
2861
  const $scope8_id = _scope_id();
2862
- _html(`<p${_attr_class("_gV")}>No files match.</p>`);
2862
+ _html(`<p${_attr_class("_gT")}>No files match.</p>`);
2863
2863
  $si__input_files_length && writeScope($scope8_id, {});
2864
2864
  return 0;
2865
2865
  }
@@ -0,0 +1,2 @@
1
+ import { f as notifySessionsChanged } from "./_BerH0QBf.js";
2
+ export { notifySessionsChanged };