@dylanpiercey/work 0.0.126 → 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 (253) 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/{_DN0yiF9R.js → _CiRMn9AO.js} +2 -2
  5. package/dist/{_930ti7l4.js → _ClRtSKMs.js} +4 -4
  6. package/dist/_DLULQXOg.js +2 -0
  7. package/dist/{_BbeyxI4D.js → _DxyCe0aR.js} +6 -6
  8. package/dist/_PwfoxOUv.js +2 -0
  9. package/dist/index.mjs +96 -95
  10. package/dist/public/assets/{_Dlh45sdA.js → _0OqIY_oa.js} +1 -1
  11. package/dist/public/assets/_0OqIY_oa.js.br +0 -0
  12. package/dist/public/assets/{_DNVQ-9kk2.js → _0UBcCdXI2.js} +1 -1
  13. package/dist/public/assets/_0UBcCdXI2.js.br +0 -0
  14. package/dist/public/assets/{_BI1oLg382.js → _1l4GNsSP2.js} +1 -1
  15. package/dist/public/assets/_1l4GNsSP2.js.br +0 -0
  16. package/dist/public/assets/{_ootO_6Al.js → _B7ABFrdL.js} +1 -1
  17. package/dist/public/assets/_B7ABFrdL.js.br +0 -0
  18. package/dist/public/assets/{_BzEJqCpG.js → _B7cutdHQ.js} +1 -1
  19. package/dist/public/assets/_B7cutdHQ.js.br +0 -0
  20. package/dist/public/assets/{_DiQE2eC7.js → _BAYLyxTF.js} +1 -1
  21. package/dist/public/assets/_BAYLyxTF.js.br +0 -0
  22. package/dist/public/assets/{_aehLxum1.js → _BLfwHTyW.js} +1 -1
  23. package/dist/public/assets/_BLfwHTyW.js.br +0 -0
  24. package/dist/public/assets/{_3BRA7txp.js → _BMicSlM7.js} +1 -1
  25. package/dist/public/assets/_BMicSlM7.js.br +0 -0
  26. package/dist/public/assets/{_BxaWEtEO2.js → _BMrUCfDB2.js} +1 -1
  27. package/dist/public/assets/_BMrUCfDB2.js.br +0 -0
  28. package/dist/public/assets/{_DFgDIu2Y.js → _BOEAFiNc.js} +1 -1
  29. package/dist/public/assets/_BOEAFiNc.js.br +0 -0
  30. package/dist/public/assets/{_D6h_nzqN2.js → _BSgpkWeG2.js} +1 -1
  31. package/dist/public/assets/_BSgpkWeG2.js.br +0 -0
  32. package/dist/public/assets/{_Cm3QOMjp.js → _BW_6s178.js} +1 -1
  33. package/dist/public/assets/{_CmFgspMi2.js → _Bb4SPfXq2.js} +1 -1
  34. package/dist/public/assets/_Bb4SPfXq2.js.br +0 -0
  35. package/dist/public/assets/{_C4zv6QU4.js → _BihwC5tS.js} +1 -1
  36. package/dist/public/assets/_BihwC5tS.js.br +0 -0
  37. package/dist/public/assets/{_gpk_PSVn.js → _BosyJtbl.js} +6 -6
  38. package/dist/public/assets/_BosyJtbl.js.br +0 -0
  39. package/dist/public/assets/{_Ba-sjk5f2.js → _BuDL8K-B2.js} +1 -1
  40. package/dist/public/assets/_BuDL8K-B2.js.br +0 -0
  41. package/dist/public/assets/{_O0SjYRZ8.js → _BuLVH2X-.js} +1 -1
  42. package/dist/public/assets/_BuLVH2X-.js.br +0 -0
  43. package/dist/public/assets/{_BwczNDmk2.js → _Bx5VaawO2.js} +1 -1
  44. package/dist/public/assets/{_BEl3PsaU.js → _Bz47SoPw.js} +1 -1
  45. package/dist/public/assets/_Bz47SoPw.js.br +0 -0
  46. package/dist/public/assets/{_DoKPYHor.js → _C0h0wi_E.js} +1 -1
  47. package/dist/public/assets/_C0h0wi_E.js.br +0 -0
  48. package/dist/public/assets/{_Cm_EGitm.js → _C15_hmIx.js} +1 -1
  49. package/dist/public/assets/_C15_hmIx.js.br +0 -0
  50. package/dist/public/assets/{_W45rYmoq2.js → _C2bz1iNl2.js} +1 -1
  51. package/dist/public/assets/_C2bz1iNl2.js.br +0 -0
  52. package/dist/public/assets/{_BrQeyKxO.js → _C3JHGzvW.js} +1 -1
  53. package/dist/public/assets/_C3JHGzvW.js.br +0 -0
  54. package/dist/public/assets/{_EE2Ozl5q2.js → _C4U6CgHl2.js} +1 -1
  55. package/dist/public/assets/_C4U6CgHl2.js.br +0 -0
  56. package/dist/public/assets/{_BFqcwyCU.js → _C70vMp9x.js} +1 -1
  57. package/dist/public/assets/_C70vMp9x.js.br +0 -0
  58. package/dist/public/assets/{_CIu4BTJ42.js → _C7mf5JlF2.js} +1 -1
  59. package/dist/public/assets/_C7mf5JlF2.js.br +0 -0
  60. package/dist/public/assets/{_B_xvbOWX.js → _CBJgkhp4.js} +1 -1
  61. package/dist/public/assets/_CBJgkhp4.js.br +0 -0
  62. package/dist/public/assets/{_QMEB-AJI.js → _CIp0kFpa.js} +1 -1
  63. package/dist/public/assets/_CIp0kFpa.js.br +0 -0
  64. package/dist/public/assets/{_C9SdMpiK.js → _CKnhEM_s.js} +1 -1
  65. package/dist/public/assets/_CKnhEM_s.js.br +0 -0
  66. package/dist/public/assets/{_D9jAcnDl2.js → _CLrm4PKi2.js} +1 -1
  67. package/dist/public/assets/_CLrm4PKi2.js.br +0 -0
  68. package/dist/public/assets/{_cybjKrzf2.js → _COwh9xd62.js} +1 -1
  69. package/dist/public/assets/_COwh9xd62.js.br +0 -0
  70. package/dist/public/assets/{_DClaYPlK.js → _CQLqXTuP.js} +1 -1
  71. package/dist/public/assets/_CQLqXTuP.js.br +0 -0
  72. package/dist/public/assets/{_61JieLHZ.js → _CQwAYP8H.js} +1 -1
  73. package/dist/public/assets/_CQwAYP8H.js.br +0 -0
  74. package/dist/public/assets/_CS5NJN5T.js +89 -0
  75. package/dist/public/assets/_CS5NJN5T.js.br +0 -0
  76. package/dist/public/assets/{_DXXIdX5L.js → _CSktm2e_.js} +1 -1
  77. package/dist/public/assets/_CSktm2e_.js.br +0 -0
  78. package/dist/public/assets/{_W5FaLamO.js → _CV1b_-qF.js} +1 -1
  79. package/dist/public/assets/_CV1b_-qF.js.br +0 -0
  80. package/dist/public/assets/{_LM3iN9-P.js → _CVJwjn-3.js} +1 -1
  81. package/dist/public/assets/_CVJwjn-3.js.br +0 -0
  82. package/dist/public/assets/{_DxAipRKA.js → _CWdF1x9U.js} +1 -1
  83. package/dist/public/assets/_CWdF1x9U.js.br +0 -0
  84. package/dist/public/assets/{_CsOy-9EE.js → _CXoYOoC6.js} +1 -1
  85. package/dist/public/assets/_CXoYOoC6.js.br +0 -0
  86. package/dist/public/assets/{_DSjWzxBS.js → _CsRJlP6E.js} +1 -1
  87. package/dist/public/assets/_CsRJlP6E.js.br +0 -0
  88. package/dist/public/assets/{_DAImTOxp.js → _CvTvccCO.js} +1 -1
  89. package/dist/public/assets/_CvTvccCO.js.br +0 -0
  90. package/dist/public/assets/{_YOB_O7zw.js → _D0GM5bjt.js} +1 -1
  91. package/dist/public/assets/_D0GM5bjt.js.br +0 -0
  92. package/dist/public/assets/{_BbLGlPoc.js → _D8LywV07.js} +1 -1
  93. package/dist/public/assets/_D8LywV07.js.br +0 -0
  94. package/dist/public/assets/{_BGCxGXkk2.js → _DF2_1kBg2.js} +1 -1
  95. package/dist/public/assets/_DF2_1kBg2.js.br +0 -0
  96. package/dist/public/assets/{_6b3F5W1q2.js → _DFCkDvE32.js} +1 -1
  97. package/dist/public/assets/_DFCkDvE32.js.br +0 -0
  98. package/dist/public/assets/{_CEHp689i.js → _DGwnanjW.js} +1 -1
  99. package/dist/public/assets/_DGwnanjW.js.br +0 -0
  100. package/dist/public/assets/{_Co35m3IZ.js → _DKujArVl.js} +1 -1
  101. package/dist/public/assets/_DKujArVl.js.br +0 -0
  102. package/dist/public/assets/{_COqj49mb2.js → _DM8LWYEr2.js} +1 -1
  103. package/dist/public/assets/_DM8LWYEr2.js.br +0 -0
  104. package/dist/public/assets/{_BqbAh5gK.js → _DPj2YHTk.js} +1 -1
  105. package/dist/public/assets/_DPj2YHTk.js.br +0 -0
  106. package/dist/public/assets/{_svshX-aQ.js → _D_ZV8LlG.js} +1 -1
  107. package/dist/public/assets/_D_ZV8LlG.js.br +0 -0
  108. package/dist/public/assets/{_rOZ568Td2.js → _DgNTtTl42.js} +1 -1
  109. package/dist/public/assets/_DgNTtTl42.js.br +0 -0
  110. package/dist/public/assets/{_CSVGMOm7.js → _DipGujtJ.js} +1 -1
  111. package/dist/public/assets/_DipGujtJ.js.br +0 -0
  112. package/dist/public/assets/{_k68CcE-R.js → _Dj94fa3U.js} +1 -1
  113. package/dist/public/assets/_Dj94fa3U.js.br +0 -0
  114. package/dist/public/assets/{_D-toI9a32.js → _DkQYY8r62.js} +1 -1
  115. package/dist/public/assets/_DkQYY8r62.js.br +0 -0
  116. package/dist/public/assets/{_BjWfza3x2.js → _DkbZtm4H2.js} +1 -1
  117. package/dist/public/assets/_DkbZtm4H2.js.br +0 -0
  118. package/dist/public/assets/{_DFvrKpQ4.js → _E6Kzddef.js} +1 -1
  119. package/dist/public/assets/_E6Kzddef.js.br +0 -0
  120. package/dist/public/assets/{_DFaA-2NW.js → _ETRp4Dkx.js} +1 -1
  121. package/dist/public/assets/_ETRp4Dkx.js.br +0 -0
  122. package/dist/public/assets/{_Br-gbTtE.js → _JKJV30m7.js} +1 -1
  123. package/dist/public/assets/_JKJV30m7.js.br +0 -0
  124. package/dist/public/assets/{_D_rl5asE.js → _LFb7Eooe.js} +1 -1
  125. package/dist/public/assets/_LFb7Eooe.js.br +0 -0
  126. package/dist/public/assets/{_DzOppB-E2.js → _QesvKbOa2.js} +1 -1
  127. package/dist/public/assets/_QesvKbOa2.js.br +0 -0
  128. package/dist/public/assets/{_D_wjIaWS2.js → _RBSjxlpg2.js} +1 -1
  129. package/dist/public/assets/_RBSjxlpg2.js.br +0 -0
  130. package/dist/public/assets/{_ChysmIko.js → _RfbisAlu.js} +1 -1
  131. package/dist/public/assets/_RfbisAlu.js.br +0 -0
  132. package/dist/public/assets/{_4Sc0xkpv2.js → _SyFIuzj92.js} +1 -1
  133. package/dist/public/assets/_SyFIuzj92.js.br +0 -0
  134. package/dist/public/assets/{_CzFtzpPJ.js → _ZhayJ-qQ.js} +1 -1
  135. package/dist/public/assets/_ZhayJ-qQ.js.br +0 -0
  136. package/dist/public/assets/{_fCbASA3z.js → _cqG6c_wj.js} +1 -1
  137. package/dist/public/assets/_cqG6c_wj.js.br +0 -0
  138. package/dist/public/assets/{_CqR_fAZt2.js → _d2apwwMm2.js} +1 -1
  139. package/dist/public/assets/{_Bcc5-Afq2.js → _iQyMxbuN2.js} +1 -1
  140. package/dist/public/assets/_iQyMxbuN2.js.br +0 -0
  141. package/dist/public/assets/{_BALGRv43.js → _jwhRT4Zh.js} +1 -1
  142. package/dist/public/assets/_jwhRT4Zh.js.br +0 -0
  143. package/dist/public/assets/{_wtUaV484.js → _mkwsaBCP.js} +1 -1
  144. package/dist/public/assets/_mkwsaBCP.js.br +0 -0
  145. package/dist/public/assets/{_B-r654rs.js → _nk9Ndt8F.js} +1 -1
  146. package/dist/public/assets/_nk9Ndt8F.js.br +0 -0
  147. package/dist/public/assets/{_C4fzVfer.js → _rGnGy01d.js} +1 -1
  148. package/dist/public/assets/_rGnGy01d.js.br +0 -0
  149. package/dist/public/assets/{_BZ0Oaoke.js → _rmB_eng0.js} +1 -1
  150. package/dist/public/assets/_rmB_eng0.js.br +0 -0
  151. package/dist/public/assets/{_CYPLBNAS.js → _sn5IO56l.js} +1 -1
  152. package/dist/public/assets/_sn5IO56l.js.br +0 -0
  153. package/dist/public/assets/{_BwHsR4Hu2.js → _t1zPIDHD2.js} +1 -1
  154. package/dist/public/assets/_t1zPIDHD2.js.br +0 -0
  155. package/dist/public/assets/{_B3ZOGdCQ.js → _uay_kEL4.js} +1 -1
  156. package/dist/public/assets/_uay_kEL4.js.br +0 -0
  157. package/dist/public/assets/{_DvXw6uys.js → _wogBSoP_.js} +1 -1
  158. package/dist/public/assets/_wogBSoP_.js.br +0 -0
  159. package/dist/public/assets/{app-page-Cw_q7_9l.css → app-page-CY5YskjL.css} +1 -1
  160. package/dist/public/assets/app-page-CY5YskjL.css.br +0 -0
  161. package/dist/public/assets/{diff-view-D96qn7oa.css → diff-view-Bgr-jkmA.css} +1 -1
  162. package/dist/public/assets/diff-view-Bgr-jkmA.css.br +0 -0
  163. package/dist/public/assets/new-ClSnajcQ.js +1 -0
  164. package/dist/public/assets/settings-ClSnajcQ.js +1 -0
  165. package/dist/public/assets/w-ClSnajcQ.js +1 -0
  166. package/dist/public/assets/w._-ClSnajcQ.js +1 -0
  167. package/dist/public/assets/w._-DnNpxcOV.js +1 -0
  168. package/lib/setup/agents.json +16 -0
  169. package/package.json +1 -1
  170. package/dist/_8GaDFTzQ.js +0 -2
  171. package/dist/_CrVv317N.js +0 -2
  172. package/dist/_iX5oUHA_.js +0 -2
  173. package/dist/public/assets/_3BRA7txp.js.br +0 -0
  174. package/dist/public/assets/_4Sc0xkpv2.js.br +0 -0
  175. package/dist/public/assets/_61JieLHZ.js.br +0 -0
  176. package/dist/public/assets/_6b3F5W1q2.js.br +0 -0
  177. package/dist/public/assets/_B-r654rs.js.br +0 -0
  178. package/dist/public/assets/_B3ZOGdCQ.js.br +0 -0
  179. package/dist/public/assets/_BALGRv43.js.br +0 -0
  180. package/dist/public/assets/_BEl3PsaU.js.br +0 -0
  181. package/dist/public/assets/_BFqcwyCU.js.br +0 -0
  182. package/dist/public/assets/_BGCxGXkk2.js.br +0 -0
  183. package/dist/public/assets/_BI1oLg382.js.br +0 -0
  184. package/dist/public/assets/_BZ0Oaoke.js.br +0 -0
  185. package/dist/public/assets/_B_xvbOWX.js.br +0 -0
  186. package/dist/public/assets/_Ba-sjk5f2.js.br +0 -0
  187. package/dist/public/assets/_BbLGlPoc.js.br +0 -0
  188. package/dist/public/assets/_Bcc5-Afq2.js.br +0 -0
  189. package/dist/public/assets/_BjWfza3x2.js.br +0 -0
  190. package/dist/public/assets/_Bpt7qjjQ.js +0 -89
  191. package/dist/public/assets/_Bpt7qjjQ.js.br +0 -0
  192. package/dist/public/assets/_BqbAh5gK.js.br +0 -0
  193. package/dist/public/assets/_Br-gbTtE.js.br +0 -0
  194. package/dist/public/assets/_BrQeyKxO.js.br +0 -0
  195. package/dist/public/assets/_BwHsR4Hu2.js.br +0 -0
  196. package/dist/public/assets/_BxaWEtEO2.js.br +0 -0
  197. package/dist/public/assets/_BzEJqCpG.js.br +0 -0
  198. package/dist/public/assets/_C4fzVfer.js.br +0 -0
  199. package/dist/public/assets/_C4zv6QU4.js.br +0 -0
  200. package/dist/public/assets/_C9SdMpiK.js.br +0 -0
  201. package/dist/public/assets/_CEHp689i.js.br +0 -0
  202. package/dist/public/assets/_CIu4BTJ42.js.br +0 -0
  203. package/dist/public/assets/_COqj49mb2.js.br +0 -0
  204. package/dist/public/assets/_CSVGMOm7.js.br +0 -0
  205. package/dist/public/assets/_CYPLBNAS.js.br +0 -0
  206. package/dist/public/assets/_ChysmIko.js.br +0 -0
  207. package/dist/public/assets/_CmFgspMi2.js.br +0 -0
  208. package/dist/public/assets/_Cm_EGitm.js.br +0 -0
  209. package/dist/public/assets/_Co35m3IZ.js.br +0 -0
  210. package/dist/public/assets/_CsOy-9EE.js.br +0 -0
  211. package/dist/public/assets/_CzFtzpPJ.js.br +0 -0
  212. package/dist/public/assets/_D-toI9a32.js.br +0 -0
  213. package/dist/public/assets/_D6h_nzqN2.js.br +0 -0
  214. package/dist/public/assets/_D9jAcnDl2.js.br +0 -0
  215. package/dist/public/assets/_DAImTOxp.js.br +0 -0
  216. package/dist/public/assets/_DClaYPlK.js.br +0 -0
  217. package/dist/public/assets/_DFaA-2NW.js.br +0 -0
  218. package/dist/public/assets/_DFgDIu2Y.js.br +0 -0
  219. package/dist/public/assets/_DFvrKpQ4.js.br +0 -0
  220. package/dist/public/assets/_DNVQ-9kk2.js.br +0 -0
  221. package/dist/public/assets/_DSjWzxBS.js.br +0 -0
  222. package/dist/public/assets/_DXXIdX5L.js.br +0 -0
  223. package/dist/public/assets/_D_rl5asE.js.br +0 -0
  224. package/dist/public/assets/_D_wjIaWS2.js.br +0 -0
  225. package/dist/public/assets/_DiQE2eC7.js.br +0 -0
  226. package/dist/public/assets/_Dlh45sdA.js.br +0 -0
  227. package/dist/public/assets/_DoKPYHor.js.br +0 -0
  228. package/dist/public/assets/_DvXw6uys.js.br +0 -0
  229. package/dist/public/assets/_DxAipRKA.js.br +0 -0
  230. package/dist/public/assets/_DzOppB-E2.js.br +0 -0
  231. package/dist/public/assets/_EE2Ozl5q2.js.br +0 -0
  232. package/dist/public/assets/_LM3iN9-P.js.br +0 -0
  233. package/dist/public/assets/_O0SjYRZ8.js.br +0 -0
  234. package/dist/public/assets/_QMEB-AJI.js.br +0 -0
  235. package/dist/public/assets/_W45rYmoq2.js.br +0 -0
  236. package/dist/public/assets/_W5FaLamO.js.br +0 -0
  237. package/dist/public/assets/_YOB_O7zw.js.br +0 -0
  238. package/dist/public/assets/_aehLxum1.js.br +0 -0
  239. package/dist/public/assets/_cybjKrzf2.js.br +0 -0
  240. package/dist/public/assets/_fCbASA3z.js.br +0 -0
  241. package/dist/public/assets/_gpk_PSVn.js.br +0 -0
  242. package/dist/public/assets/_k68CcE-R.js.br +0 -0
  243. package/dist/public/assets/_ootO_6Al.js.br +0 -0
  244. package/dist/public/assets/_rOZ568Td2.js.br +0 -0
  245. package/dist/public/assets/_svshX-aQ.js.br +0 -0
  246. package/dist/public/assets/_wtUaV484.js.br +0 -0
  247. package/dist/public/assets/app-page-Cw_q7_9l.css.br +0 -0
  248. package/dist/public/assets/diff-view-D96qn7oa.css.br +0 -0
  249. package/dist/public/assets/new-CvZ_DGtP.js +0 -1
  250. package/dist/public/assets/settings-CvZ_DGtP.js +0 -1
  251. package/dist/public/assets/w-CvZ_DGtP.js +0 -1
  252. package/dist/public/assets/w._-CvZ_DGtP.js +0 -1
  253. package/dist/public/assets/w._-DnR1UpxG.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 };
@@ -2320,8 +2320,8 @@ var icon_sidebar_default = _template("kb", (input) => {
2320
2320
  });
2321
2321
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
2322
2322
  });
2323
- var findInput = "_f9 _l";
2324
- var findIconBtn = "_gb _j";
2323
+ var findInput = "_gc _l";
2324
+ var findIconBtn = "_gf _j";
2325
2325
  //#endregion
2326
2326
  //#region src/tags/icons/icon-arrow-down.marko
2327
2327
  var icon_arrow_down_default = _template("J", (input) => {
@@ -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 };
@@ -1,4 +1,4 @@
1
- import { $ as _attr_style, At as _subscribe, Ct as _scope_reason, D as toast_default, Dt as _serialize_guard, Et as _sep, G as _attr_class, H as tone, I as iconBtnLg, J as _attr_input_value, K as _attr_details_or_dialog_open, L as iconBtnRow, O as icon_xmark_default, Ot as _serialize_if, Q as _attr_select_value, R as iconBtnXs, Rt as writeScope, St as _scope_id, Tt as _script, W as _attr, X as _attr_option_value, _ as diffScope, a as fuzzy, b as setDiffPos, bt as _resume, c as icon_arrow_up_default, ct as _el_resume, d as icon_refresh_default, dt as _existing_scope, g as diffPos, gt as _html, h as diffFilter, i as icon_sidebar_default, it as _content_resume, j as repoLabel, jt as _template, k as icon_base_default, kt as _set_serialize_reason, l as icon_chevron_right_default, lt as _escape, n as findIconBtn, ot as _el, pt as _for_of, r as findInput, s as icon_search_default, st as _el_read_error, t as icon_arrow_down_default, u as icon_back_default, v as diffTreeOpen, vt as _if, wt as _scope_with_id, x as setDiffScope, xt as _resume_branch, yt as _peek_scope_id } from "./_DN0yiF9R.js";
1
+ import { $ as _attr_style, At as _subscribe, Ct as _scope_reason, D as toast_default, Dt as _serialize_guard, Et as _sep, G as _attr_class, H as tone, I as iconBtnLg, J as _attr_input_value, K as _attr_details_or_dialog_open, L as iconBtnRow, O as icon_xmark_default, Ot as _serialize_if, Q as _attr_select_value, R as iconBtnXs, Rt as writeScope, St as _scope_id, Tt as _script, W as _attr, X as _attr_option_value, _ as diffScope, a as fuzzy, b as setDiffPos, bt as _resume, c as icon_arrow_up_default, ct as _el_resume, d as icon_refresh_default, dt as _existing_scope, g as diffPos, gt as _html, h as diffFilter, i as icon_sidebar_default, it as _content_resume, j as repoLabel, jt as _template, k as icon_base_default, kt as _set_serialize_reason, l as icon_chevron_right_default, lt as _escape, n as findIconBtn, ot as _el, pt as _for_of, r as findInput, s as icon_search_default, st as _el_read_error, t as icon_arrow_down_default, u as icon_back_default, v as diffTreeOpen, vt as _if, wt as _scope_with_id, x as setDiffScope, xt as _resume_branch, yt as _peek_scope_id } from "./_CiRMn9AO.js";
2
2
  //#region src/client/router.ts
3
3
  function urlFor(r) {
4
4
  if (r.view === "settings") return "/settings";
@@ -253,7 +253,7 @@ var diff_send_default = _template("j", (input) => {
253
253
  let sendTarget = null;
254
254
  const sessions = input.sessions || [];
255
255
  const sendPick = sessions.some((s) => s.id === sendTarget) ? sendTarget : sessions[0]?.id ?? null;
256
- _html(`<span${_attr_class("_gj")}><button type=button${_attr_class("_o")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
256
+ _html(`<span${_attr_class("_f7")}><button type=button${_attr_class("_o")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
257
257
  _if(() => {
258
258
  if (sessions.length === 1) {
259
259
  const $scope1_id = _scope_id();
@@ -263,11 +263,11 @@ var diff_send_default = _template("j", (input) => {
263
263
  return 0;
264
264
  } else if (sessions.length) {
265
265
  const $scope2_id = _scope_id();
266
- _html(`<span${_attr_class("_gk")}><button type=button${_attr_class(["_p", "_gl"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
266
+ _html(`<span${_attr_class("_f8")}><button type=button${_attr_class(["_p", "_f9"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
267
267
  _attr_select_value($scope2_id, "d", sendTarget, _resume((_new_sendTarget) => {
268
268
  sendTarget = _new_sendTarget;
269
269
  }, "j0", $scope2_id), () => {
270
- _html(`<select${_attr_class("_gm")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
270
+ _html(`<select${_attr_class("_f_")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
271
271
  _for_of(sessions, (s) => {
272
272
  const $scope3_id = _scope_id();
273
273
  _html(`<option${_attr_option_value(s.id)}>${_escape(s.title || s.agent)}${_el_resume($scope3_id, "b", $sg__input_sessions)}</option>${_el_resume($scope3_id, "a", $sg__input_sessions)}`);
@@ -1849,9 +1849,9 @@ var diff_find_default = _template("i", (input) => {
1849
1849
  el.select();
1850
1850
  }, 0);
1851
1851
  }, "i5", $scope0_id);
1852
- _html(`<div${_attr_class(["_f8", !open && "_f7"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1852
+ _html(`<div${_attr_class(["_gb", !open && "_ga"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1853
1853
  type(v);
1854
- }, "i0", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_ga")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
1854
+ }, "i0", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_ge")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
1855
1855
  icon_arrow_up_default({ size: 14 });
1856
1856
  _html(`</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
1857
1857
  icon_arrow_down_default({ size: 14 });
@@ -0,0 +1,2 @@
1
+ import { f as notifySessionsChanged } from "./_BerH0QBf.js";
2
+ export { notifySessionsChanged };