@recombine-ai/bosun 0.16.2 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/README.md +24 -0
  2. package/bin/bosun.js +153 -20
  3. package/bin/git-mode.js +1139 -0
  4. package/build/client/_app/immutable/assets/0.D9HpHezk.css +1 -0
  5. package/build/client/_app/immutable/assets/0.D9HpHezk.css.br +0 -0
  6. package/build/client/_app/immutable/assets/0.D9HpHezk.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/{2.DtxQDOXx.css → 2.Bc0Sf3YD.css} +1 -1
  8. package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.br +0 -0
  9. package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DneQQ7D5.js → -3ZOIHDA.js} +1 -1
  11. package/build/client/_app/immutable/chunks/-3ZOIHDA.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/-3ZOIHDA.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/7hV1SZxK.js +1 -0
  14. package/build/client/_app/immutable/chunks/7hV1SZxK.js.br +2 -0
  15. package/build/client/_app/immutable/chunks/7hV1SZxK.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/B-dTD_wm.js +1 -0
  17. package/build/client/_app/immutable/chunks/B-dTD_wm.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/B-dTD_wm.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{UqjCSZmA.js → B-iasAJv.js} +1 -1
  20. package/build/client/_app/immutable/chunks/B-iasAJv.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/B-iasAJv.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BDijIo6D.js +33 -0
  23. package/build/client/_app/immutable/chunks/BDijIo6D.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/BDijIo6D.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BHB0Pj1h.js +2 -0
  26. package/build/client/_app/immutable/chunks/BHB0Pj1h.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BHB0Pj1h.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{Bog028VR.js → BKfmN1Rj.js} +1 -1
  29. package/build/client/_app/immutable/chunks/BKfmN1Rj.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BKfmN1Rj.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/{pPpIn6tB.js → BlFOg-Sd.js} +1 -1
  32. package/build/client/_app/immutable/chunks/BlFOg-Sd.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BlFOg-Sd.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/{CJcZ2GVC.js → Byg3jr1u.js} +1 -1
  35. package/build/client/_app/immutable/chunks/Byg3jr1u.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/Byg3jr1u.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/{Bmd5zhWC.js → BzxxLgHi.js} +1 -1
  38. package/build/client/_app/immutable/chunks/BzxxLgHi.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BzxxLgHi.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/{CEHsomMo.js → C4UC6AgE.js} +1 -1
  41. package/build/client/_app/immutable/chunks/C4UC6AgE.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/{CEHsomMo.js.gz → C4UC6AgE.js.gz} +0 -0
  43. package/build/client/_app/immutable/chunks/C60AG6QQ.js +1 -0
  44. package/build/client/_app/immutable/chunks/C60AG6QQ.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/C60AG6QQ.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/CAIfVN23.js +1 -0
  47. package/build/client/_app/immutable/chunks/CAIfVN23.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/CAIfVN23.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{JcG4w2gF.js → CB9iDxwI.js} +1 -1
  50. package/build/client/_app/immutable/chunks/CB9iDxwI.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CB9iDxwI.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/{DoD3q5w5.js → CD_KdWs9.js} +1 -1
  53. package/build/client/_app/immutable/chunks/CD_KdWs9.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/CD_KdWs9.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CDy1LBR5.js +1 -0
  56. package/build/client/_app/immutable/chunks/CDy1LBR5.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CDy1LBR5.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/{DCXjBDmY.js → CMFNmSvo.js} +1 -1
  59. package/build/client/_app/immutable/chunks/CMFNmSvo.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/CMFNmSvo.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{Bv1mNXs0.js → CNIn4L55.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CNIn4L55.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/CNIn4L55.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/CUKoVL36.js +1 -0
  65. package/build/client/_app/immutable/chunks/CUKoVL36.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CUKoVL36.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CYGbCr1i.js +3 -0
  68. package/build/client/_app/immutable/chunks/CYGbCr1i.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/CYGbCr1i.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/CYr0FGgn.js +1 -0
  71. package/build/client/_app/immutable/chunks/CYr0FGgn.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CYr0FGgn.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/{DtXXy94i.js → Ce6a22qU.js} +1 -1
  74. package/build/client/_app/immutable/chunks/Ce6a22qU.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/Ce6a22qU.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{DfcDjAv-.js → CeoQ-OhK.js} +1 -1
  77. package/build/client/_app/immutable/chunks/CeoQ-OhK.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/CeoQ-OhK.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/{D8mA-uZ4.js → CupXtwVS.js} +1 -1
  80. package/build/client/_app/immutable/chunks/CupXtwVS.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/CupXtwVS.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/{B5zf3x62.js → Cy2Uze-c.js} +1 -1
  83. package/build/client/_app/immutable/chunks/Cy2Uze-c.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/Cy2Uze-c.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/{Dg0A8wPA.js → D8Lmn3S5.js} +1 -1
  86. package/build/client/_app/immutable/chunks/D8Lmn3S5.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/D8Lmn3S5.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/D8doM1Y6.js +1 -0
  89. package/build/client/_app/immutable/chunks/D8doM1Y6.js.br +2 -0
  90. package/build/client/_app/immutable/chunks/D8doM1Y6.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/{BHHfrjbV.js → D9BWOD7V.js} +1 -1
  92. package/build/client/_app/immutable/chunks/D9BWOD7V.js.br +3 -0
  93. package/build/client/_app/immutable/chunks/D9BWOD7V.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{Cp_st-64.js → DBB88ZB7.js} +1 -1
  95. package/build/client/_app/immutable/chunks/DBB88ZB7.js.br +2 -0
  96. package/build/client/_app/immutable/chunks/DBB88ZB7.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/{Dm49pcMm.js → DC7lPrn4.js} +1 -1
  98. package/build/client/_app/immutable/chunks/DC7lPrn4.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/DC7lPrn4.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/DCwWNTpf.js +9 -0
  101. package/build/client/_app/immutable/chunks/DCwWNTpf.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/DCwWNTpf.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/{wcTQUnZO.js → DEnUeQNt.js} +1 -1
  104. package/build/client/_app/immutable/chunks/DEnUeQNt.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/DEnUeQNt.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/D_laxq3h.js +1 -0
  107. package/build/client/_app/immutable/chunks/D_laxq3h.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/D_laxq3h.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/{Ddv5LgEc.js → DfkYlKBk.js} +1 -1
  110. package/build/client/_app/immutable/chunks/DfkYlKBk.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/DfkYlKBk.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/DnMS2X6M.js +2 -0
  113. package/build/client/_app/immutable/chunks/DnMS2X6M.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/DnMS2X6M.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/{B1HdnQRQ.js → DrE1ro9S.js} +1 -1
  116. package/build/client/_app/immutable/chunks/DrE1ro9S.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/DrE1ro9S.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/DzY_RPb9.js +1 -0
  119. package/build/client/_app/immutable/chunks/DzY_RPb9.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/DzY_RPb9.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/PrCSpCPg.js +1 -0
  122. package/build/client/_app/immutable/chunks/PrCSpCPg.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/PrCSpCPg.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/{CN555stc.js → eMofpOrR.js} +1 -1
  125. package/build/client/_app/immutable/chunks/eMofpOrR.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/eMofpOrR.js.gz +0 -0
  127. package/build/client/_app/immutable/entry/app.BQUuHkSR.js +2 -0
  128. package/build/client/_app/immutable/entry/app.BQUuHkSR.js.br +0 -0
  129. package/build/client/_app/immutable/entry/app.BQUuHkSR.js.gz +0 -0
  130. package/build/client/_app/immutable/entry/start.DoeTycdu.js +1 -0
  131. package/build/client/_app/immutable/entry/start.DoeTycdu.js.br +2 -0
  132. package/build/client/_app/immutable/entry/start.DoeTycdu.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js +4 -0
  134. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js +1 -0
  137. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js +28 -0
  140. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{15.D2I0y3ys.js → 15.CGc3_07c.js} +1 -1
  143. package/build/client/_app/immutable/nodes/15.CGc3_07c.js.br +3 -0
  144. package/build/client/_app/immutable/nodes/15.CGc3_07c.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/17.BIba62hW.js +3 -0
  146. package/build/client/_app/immutable/nodes/17.BIba62hW.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/17.BIba62hW.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js +11 -0
  149. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/2.cbpnR8be.js +35 -0
  152. package/build/client/_app/immutable/nodes/2.cbpnR8be.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/2.cbpnR8be.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/3.DsP759xk.js +1 -0
  155. package/build/client/_app/immutable/nodes/3.DsP759xk.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/3.DsP759xk.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/{4.C8VxVbVn.js → 4.BIGLAIDe.js} +1 -1
  158. package/build/client/_app/immutable/nodes/4.BIGLAIDe.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/4.BIGLAIDe.js.gz +0 -0
  160. package/build/client/_app/immutable/nodes/{5.BjrnKYaA.js → 5.zMHOyhDv.js} +1 -1
  161. package/build/client/_app/immutable/nodes/5.zMHOyhDv.js.br +0 -0
  162. package/build/client/_app/immutable/nodes/5.zMHOyhDv.js.gz +0 -0
  163. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js +1 -0
  164. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js +2 -0
  167. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js.br +0 -0
  168. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js.gz +0 -0
  169. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js +2 -0
  170. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js.gz +0 -0
  172. package/build/client/_app/version.json +1 -1
  173. package/build/client/_app/version.json.br +0 -0
  174. package/build/client/_app/version.json.gz +0 -0
  175. package/build/server/chunks/0-BZOFUIfF.js +9 -0
  176. package/build/server/chunks/0-BZOFUIfF.js.map +1 -0
  177. package/build/server/chunks/1-XwGU5VVN.js +9 -0
  178. package/build/server/chunks/{1-C0HdTvXW.js.map → 1-XwGU5VVN.js.map} +1 -1
  179. package/build/server/chunks/10-BgFSx4ib.js +9 -0
  180. package/build/server/chunks/10-BgFSx4ib.js.map +1 -0
  181. package/build/server/chunks/15-BjTTC1jf.js +9 -0
  182. package/build/server/chunks/{15-BQcb9C_y.js.map → 15-BjTTC1jf.js.map} +1 -1
  183. package/build/server/chunks/17-BEkWCfzc.js +9 -0
  184. package/build/server/chunks/17-BEkWCfzc.js.map +1 -0
  185. package/build/server/chunks/18-C-S0wKdp.js +9 -0
  186. package/build/server/chunks/18-C-S0wKdp.js.map +1 -0
  187. package/build/server/chunks/2-o-cIkIjs.js +9 -0
  188. package/build/server/chunks/2-o-cIkIjs.js.map +1 -0
  189. package/build/server/chunks/3-B-ABlyFO.js +9 -0
  190. package/build/server/chunks/3-B-ABlyFO.js.map +1 -0
  191. package/build/server/chunks/4-joAFA_Y8.js +9 -0
  192. package/build/server/chunks/4-joAFA_Y8.js.map +1 -0
  193. package/build/server/chunks/5-DIhC9k4l.js +9 -0
  194. package/build/server/chunks/5-DIhC9k4l.js.map +1 -0
  195. package/build/server/chunks/6-CMuAQIcW.js +9 -0
  196. package/build/server/chunks/6-CMuAQIcW.js.map +1 -0
  197. package/build/server/chunks/8-CbETTVRG.js +9 -0
  198. package/build/server/chunks/8-CbETTVRG.js.map +1 -0
  199. package/build/server/chunks/9-nMV90uVU.js +9 -0
  200. package/build/server/chunks/9-nMV90uVU.js.map +1 -0
  201. package/build/server/chunks/{AgentSidebar-BWBnqHnV.js → AgentSidebar-BEbSdZdN.js} +4 -4
  202. package/build/server/chunks/{AgentSidebar-BWBnqHnV.js.map → AgentSidebar-BEbSdZdN.js.map} +1 -1
  203. package/build/server/chunks/{Button-DH7gdU0s.js → Button-Dc9CR4Wh.js} +2 -2
  204. package/build/server/chunks/{Button-DH7gdU0s.js.map → Button-Dc9CR4Wh.js.map} +1 -1
  205. package/build/server/chunks/{ChatStepTrace-BivoNYOY.js → ChatStepTrace-OM96X4g8.js} +18 -7
  206. package/build/server/chunks/ChatStepTrace-OM96X4g8.js.map +1 -0
  207. package/build/server/chunks/{Dropdown-DnARl86Q.js → Dropdown-Cgd7pG-k.js} +2 -2
  208. package/build/server/chunks/{Dropdown-DnARl86Q.js.map → Dropdown-Cgd7pG-k.js.map} +1 -1
  209. package/build/server/chunks/GitControlsButton-BLcNzrDt.js +81 -0
  210. package/build/server/chunks/GitControlsButton-BLcNzrDt.js.map +1 -0
  211. package/build/server/chunks/{Icon-DP1YKCRV.js → Icon-Bogvl2n9.js} +2 -2
  212. package/build/server/chunks/{Icon-DP1YKCRV.js.map → Icon-Bogvl2n9.js.map} +1 -1
  213. package/build/server/chunks/{Input-CUJ9Cg7b.js → Input-7hpw1WLW.js} +2 -2
  214. package/build/server/chunks/{Input-CUJ9Cg7b.js.map → Input-7hpw1WLW.js.map} +1 -1
  215. package/build/server/chunks/{Modal-CGJuNpZ0.js → Modal-7IIIfFEG.js} +5 -5
  216. package/build/server/chunks/{Modal-CGJuNpZ0.js.map → Modal-7IIIfFEG.js.map} +1 -1
  217. package/build/server/chunks/{Panel-zvjxe036.js → Panel-Cj1mXx9-.js} +2 -2
  218. package/build/server/chunks/{Panel-zvjxe036.js.map → Panel-Cj1mXx9-.js.map} +1 -1
  219. package/build/server/chunks/{Tab-CUkyLqbN.js → Tab-bf4ZDs5y.js} +4 -4
  220. package/build/server/chunks/{Tab-CUkyLqbN.js.map → Tab-bf4ZDs5y.js.map} +1 -1
  221. package/build/server/chunks/{_layout.svelte-BnrWYuLv.js → _layout.svelte-C71luIwv.js} +10 -10
  222. package/build/server/chunks/{_layout.svelte-BnrWYuLv.js.map → _layout.svelte-C71luIwv.js.map} +1 -1
  223. package/build/server/chunks/{_layout.svelte-wi6o5Ecu.js → _layout.svelte-CFhHgXI_.js} +24 -18
  224. package/build/server/chunks/_layout.svelte-CFhHgXI_.js.map +1 -0
  225. package/build/server/chunks/_layout.svelte-CJd_pmkx.js +431 -0
  226. package/build/server/chunks/_layout.svelte-CJd_pmkx.js.map +1 -0
  227. package/build/server/chunks/{_layout.svelte-B88WMyk0.js → _layout.svelte-D6rhwm98.js} +445 -70
  228. package/build/server/chunks/_layout.svelte-D6rhwm98.js.map +1 -0
  229. package/build/server/chunks/{_page.svelte-CeS_21Ho.js → _page.svelte-BBvDMiTV.js} +25 -21
  230. package/build/server/chunks/_page.svelte-BBvDMiTV.js.map +1 -0
  231. package/build/server/chunks/{_page.svelte-h_J4lNT9.js → _page.svelte-BQs9dEuq.js} +8 -7
  232. package/build/server/chunks/{_page.svelte-h_J4lNT9.js.map → _page.svelte-BQs9dEuq.js.map} +1 -1
  233. package/build/server/chunks/{_page.svelte-DhFNFMnl.js → _page.svelte-BoO2LWVX.js} +34 -14
  234. package/build/server/chunks/_page.svelte-BoO2LWVX.js.map +1 -0
  235. package/build/server/chunks/{_page.svelte-CHgQjBQj.js → _page.svelte-DUCTSdv-.js} +2 -2
  236. package/build/server/chunks/{_page.svelte-CHgQjBQj.js.map → _page.svelte-DUCTSdv-.js.map} +1 -1
  237. package/build/server/chunks/_page.svelte-FXYLKyMw.js +110 -0
  238. package/build/server/chunks/_page.svelte-FXYLKyMw.js.map +1 -0
  239. package/build/server/chunks/{_page.svelte-57pyhszV.js → _page.svelte-KA1hqKj2.js} +20 -107
  240. package/build/server/chunks/_page.svelte-KA1hqKj2.js.map +1 -0
  241. package/build/server/chunks/{_page.svelte-BSVJ2d2G.js → _page.svelte-y8CZFL8a.js} +210 -106
  242. package/build/server/chunks/_page.svelte-y8CZFL8a.js.map +1 -0
  243. package/build/server/chunks/{_page.svelte-DHSYVLoj.js → _page.svelte-yIHSIEW6.js} +21 -15
  244. package/build/server/chunks/_page.svelte-yIHSIEW6.js.map +1 -0
  245. package/build/server/chunks/_server.ts-Cp9DgLcE.js +336 -0
  246. package/build/server/chunks/_server.ts-Cp9DgLcE.js.map +1 -0
  247. package/build/server/chunks/{agents-context-CbFsZmi5.js → agents-context-owgusUPR.js} +2 -2
  248. package/build/server/chunks/{agents-context-CbFsZmi5.js.map → agents-context-owgusUPR.js.map} +1 -1
  249. package/build/server/chunks/{client-DO-hqMbT.js → client-P-7bDULt.js} +4 -4
  250. package/build/server/chunks/{client-DO-hqMbT.js.map → client-P-7bDULt.js.map} +1 -1
  251. package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js → conversation-view-memory-SdpdqTR7.js} +2 -2
  252. package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js.map → conversation-view-memory-SdpdqTR7.js.map} +1 -1
  253. package/build/server/chunks/{edit-workspace-context-tyHBPujC.js → edit-workspace-context-hanFnXR3.js} +2 -2
  254. package/build/server/chunks/{edit-workspace-context-tyHBPujC.js.map → edit-workspace-context-hanFnXR3.js.map} +1 -1
  255. package/build/server/chunks/error.svelte-yI9RS6H4.js +15 -0
  256. package/build/server/chunks/{error.svelte-DmKKN1RU.js.map → error.svelte-yI9RS6H4.js.map} +1 -1
  257. package/build/server/chunks/git-mode-context-BpNsAUGF.js +18 -0
  258. package/build/server/chunks/git-mode-context-BpNsAUGF.js.map +1 -0
  259. package/build/server/chunks/{index-LMsd1ih2.js → index-DGtbUu8Y.js} +2 -2
  260. package/build/server/chunks/{index-LMsd1ih2.js.map → index-DGtbUu8Y.js.map} +1 -1
  261. package/build/server/chunks/{index-server-BRr5mZEq.js → index-server-l8-WsVn4.js} +2 -2
  262. package/build/server/chunks/{index-server-BRr5mZEq.js.map → index-server-l8-WsVn4.js.map} +1 -1
  263. package/build/server/chunks/{index2-ClgfzZ89.js → index2-CtgLiJVO.js} +3 -3
  264. package/build/server/chunks/{index2-ClgfzZ89.js.map → index2-CtgLiJVO.js.map} +1 -1
  265. package/build/server/chunks/{index3-BdRUAffj.js → index3-4hbbCqW0.js} +2 -2
  266. package/build/server/chunks/{index3-BdRUAffj.js.map → index3-4hbbCqW0.js.map} +1 -1
  267. package/build/server/chunks/{root-4q2Pr7ck.js → root-sWPnlpi3.js} +2 -2
  268. package/build/server/chunks/{root-4q2Pr7ck.js.map → root-sWPnlpi3.js.map} +1 -1
  269. package/build/server/chunks/{source-selection-CcN1cgXc.js → source-selection-DSkaPGfZ.js} +7 -2
  270. package/build/server/chunks/source-selection-DSkaPGfZ.js.map +1 -0
  271. package/build/server/chunks/{state.svelte-Bd1i-u49.js → state.svelte-BkvaElc6.js} +3 -3
  272. package/build/server/chunks/{state.svelte-Bd1i-u49.js.map → state.svelte-BkvaElc6.js.map} +1 -1
  273. package/build/server/chunks/trpc-client-Cr8RJ4UO.js +260 -0
  274. package/build/server/chunks/trpc-client-Cr8RJ4UO.js.map +1 -0
  275. package/build/server/index.js +4 -4
  276. package/build/server/index.js.map +1 -1
  277. package/build/server/manifest.js +15 -15
  278. package/build/server/manifest.js.map +1 -1
  279. package/package.json +1 -1
  280. package/src/backend/git-mode/command.spec.ts +172 -0
  281. package/src/backend/git-mode/command.ts +405 -0
  282. package/src/backend/git-mode/config.spec.ts +45 -0
  283. package/src/backend/git-mode/config.ts +90 -0
  284. package/src/backend/git-mode/index.ts +20 -0
  285. package/src/backend/git-mode/repository-write-gate.spec.ts +116 -0
  286. package/src/backend/git-mode/repository-write-gate.ts +260 -0
  287. package/src/backend/git-mode/router.ts +59 -0
  288. package/src/backend/git-mode/service.spec.ts +1653 -0
  289. package/src/backend/git-mode/service.ts +2183 -0
  290. package/src/backend/git-mode/types.ts +82 -0
  291. package/src/backend/git-mode/write-tracker.spec.ts +46 -0
  292. package/src/backend/git-mode/write-tracker.ts +39 -0
  293. package/src/backend/lib/backend-restart.spec.ts +27 -0
  294. package/src/backend/lib/backend-restart.ts +16 -2
  295. package/src/backend/lib/middleware/cors.spec.ts +67 -0
  296. package/src/backend/lib/middleware/cors.ts +40 -12
  297. package/src/backend/roleplay/agent-loader.ts +49 -0
  298. package/src/backend/roleplay/old-server.ts +106 -56
  299. package/src/backend/roleplay/prompt-edit-proposals.ts +38 -4
  300. package/src/backend/roleplay/prompt-file.ts +59 -0
  301. package/src/backend/roleplay/router.spec.ts +75 -0
  302. package/src/backend/roleplay/router.ts +123 -69
  303. package/src/backend/roleplay/suggest-file-edit.ts +160 -0
  304. package/src/backend/roleplay/suggest-prompt-edit.ts +9 -138
  305. package/src/backend/roleplay/suggest-test-fix.spec.ts +50 -0
  306. package/src/backend/roleplay/suggest-test-fix.ts +65 -0
  307. package/src/backend/roleplay/test-fix-proposal-acceptance.spec.ts +253 -0
  308. package/src/backend/server.ts +116 -13
  309. package/src/backend/tests/academy.ts +17 -3
  310. package/src/backend/tests/data.spec.ts +81 -2
  311. package/src/backend/tests/data.ts +74 -4
  312. package/src/backend/tests/router.ts +101 -36
  313. package/src/backend/tests/suggest-test-history-edit.spec.ts +20 -0
  314. package/src/backend/tests/suggest-test-history-edit.ts +52 -0
  315. package/src/backend/tests/test-edit-source.spec.ts +61 -0
  316. package/src/backend/tests/test-edit-source.ts +34 -0
  317. package/src/backend/tests/test-history-edit-proposals.ts +69 -0
  318. package/src/backend/tests/test-history-overrides.spec.ts +24 -0
  319. package/src/backend/tests/test-selection.ts +27 -0
  320. package/src/lib/api-telescope/source-selection.spec.ts +44 -0
  321. package/src/lib/api-telescope/source-selection.ts +28 -0
  322. package/src/lib/components/Modal.svelte +1 -1
  323. package/src/lib/edit/edit-workspace-context.ts +33 -3
  324. package/src/lib/edit/test-ai-edit.spec.ts +31 -0
  325. package/src/lib/edit/test-ai-edit.ts +52 -0
  326. package/src/lib/git-mode/BlockingGitDialog.svelte +118 -0
  327. package/src/lib/git-mode/GitControlsButton.svelte +96 -0
  328. package/src/lib/git-mode/client-admission.spec.ts +304 -0
  329. package/src/lib/git-mode/client-admission.ts +343 -0
  330. package/src/lib/git-mode/errors.ts +2 -0
  331. package/src/lib/git-mode/git-mode-context.ts +70 -0
  332. package/src/lib/git-mode/refresh-policy.spec.ts +95 -0
  333. package/src/lib/git-mode/refresh-policy.ts +39 -0
  334. package/src/lib/git-mode/status-recovery.spec.ts +86 -0
  335. package/src/lib/git-mode/status-recovery.ts +33 -0
  336. package/src/lib/monaco/bosun-theme.ts +6 -83
  337. package/src/lib/monaco/editor-appearance.spec.ts +84 -0
  338. package/src/lib/monaco/editor-appearance.ts +154 -0
  339. package/src/lib/monaco/editor-decorations.spec.ts +91 -0
  340. package/src/lib/monaco/editor-decorations.ts +133 -0
  341. package/src/lib/tests/assertion-types.ts +74 -0
  342. package/src/lib/trpc-client.ts +15 -1
  343. package/src/lib/ws-client.spec.ts +208 -0
  344. package/src/lib/ws-client.ts +196 -14
  345. package/src/lib/ws-message.ts +24 -0
  346. package/build/client/_app/immutable/assets/0.Rrc0O--C.css +0 -1
  347. package/build/client/_app/immutable/assets/0.Rrc0O--C.css.br +0 -0
  348. package/build/client/_app/immutable/assets/0.Rrc0O--C.css.gz +0 -0
  349. package/build/client/_app/immutable/assets/2.DtxQDOXx.css.br +0 -0
  350. package/build/client/_app/immutable/assets/2.DtxQDOXx.css.gz +0 -0
  351. package/build/client/_app/immutable/chunks/B1HdnQRQ.js.br +0 -0
  352. package/build/client/_app/immutable/chunks/B1HdnQRQ.js.gz +0 -0
  353. package/build/client/_app/immutable/chunks/B5zf3x62.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/B5zf3x62.js.gz +0 -0
  355. package/build/client/_app/immutable/chunks/BHHfrjbV.js.br +0 -2
  356. package/build/client/_app/immutable/chunks/BHHfrjbV.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/BU7aeYn4.js +0 -1
  358. package/build/client/_app/immutable/chunks/BU7aeYn4.js.br +0 -0
  359. package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
  360. package/build/client/_app/immutable/chunks/BbGYcfPY.js +0 -3
  361. package/build/client/_app/immutable/chunks/BbGYcfPY.js.br +0 -0
  362. package/build/client/_app/immutable/chunks/BbGYcfPY.js.gz +0 -0
  363. package/build/client/_app/immutable/chunks/Bmd5zhWC.js.br +0 -0
  364. package/build/client/_app/immutable/chunks/Bmd5zhWC.js.gz +0 -0
  365. package/build/client/_app/immutable/chunks/BnqH7p3U.js +0 -33
  366. package/build/client/_app/immutable/chunks/BnqH7p3U.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/BnqH7p3U.js.gz +0 -0
  368. package/build/client/_app/immutable/chunks/Bog028VR.js.br +0 -0
  369. package/build/client/_app/immutable/chunks/Bog028VR.js.gz +0 -0
  370. package/build/client/_app/immutable/chunks/Bv1mNXs0.js.br +0 -0
  371. package/build/client/_app/immutable/chunks/Bv1mNXs0.js.gz +0 -0
  372. package/build/client/_app/immutable/chunks/BvjXTrOz.js +0 -1
  373. package/build/client/_app/immutable/chunks/BvjXTrOz.js.br +0 -0
  374. package/build/client/_app/immutable/chunks/BvjXTrOz.js.gz +0 -0
  375. package/build/client/_app/immutable/chunks/C1R-s4aD.js +0 -1
  376. package/build/client/_app/immutable/chunks/C1R-s4aD.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/C1R-s4aD.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/CC1OcqhR.js +0 -1
  379. package/build/client/_app/immutable/chunks/CC1OcqhR.js.br +0 -0
  380. package/build/client/_app/immutable/chunks/CC1OcqhR.js.gz +0 -0
  381. package/build/client/_app/immutable/chunks/CEHsomMo.js.br +0 -0
  382. package/build/client/_app/immutable/chunks/CJcZ2GVC.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/CJcZ2GVC.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/CN555stc.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/CN555stc.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/CQg2Mme0.js +0 -9
  387. package/build/client/_app/immutable/chunks/CQg2Mme0.js.br +0 -0
  388. package/build/client/_app/immutable/chunks/CQg2Mme0.js.gz +0 -0
  389. package/build/client/_app/immutable/chunks/Cp_st-64.js.br +0 -0
  390. package/build/client/_app/immutable/chunks/Cp_st-64.js.gz +0 -0
  391. package/build/client/_app/immutable/chunks/D8mA-uZ4.js.br +0 -0
  392. package/build/client/_app/immutable/chunks/D8mA-uZ4.js.gz +0 -0
  393. package/build/client/_app/immutable/chunks/DCXjBDmY.js.br +0 -0
  394. package/build/client/_app/immutable/chunks/DCXjBDmY.js.gz +0 -0
  395. package/build/client/_app/immutable/chunks/DSLyVE1P.js +0 -1
  396. package/build/client/_app/immutable/chunks/DSLyVE1P.js.br +0 -0
  397. package/build/client/_app/immutable/chunks/DSLyVE1P.js.gz +0 -0
  398. package/build/client/_app/immutable/chunks/Ddv5LgEc.js.br +0 -0
  399. package/build/client/_app/immutable/chunks/Ddv5LgEc.js.gz +0 -0
  400. package/build/client/_app/immutable/chunks/DfcDjAv-.js.br +0 -0
  401. package/build/client/_app/immutable/chunks/DfcDjAv-.js.gz +0 -0
  402. package/build/client/_app/immutable/chunks/Dg0A8wPA.js.br +0 -0
  403. package/build/client/_app/immutable/chunks/Dg0A8wPA.js.gz +0 -0
  404. package/build/client/_app/immutable/chunks/Dm49pcMm.js.br +0 -0
  405. package/build/client/_app/immutable/chunks/Dm49pcMm.js.gz +0 -0
  406. package/build/client/_app/immutable/chunks/DneQQ7D5.js.br +0 -0
  407. package/build/client/_app/immutable/chunks/DneQQ7D5.js.gz +0 -0
  408. package/build/client/_app/immutable/chunks/DoD3q5w5.js.br +0 -0
  409. package/build/client/_app/immutable/chunks/DoD3q5w5.js.gz +0 -0
  410. package/build/client/_app/immutable/chunks/DtXXy94i.js.br +0 -0
  411. package/build/client/_app/immutable/chunks/DtXXy94i.js.gz +0 -0
  412. package/build/client/_app/immutable/chunks/Dy2CFyD6.js +0 -2
  413. package/build/client/_app/immutable/chunks/Dy2CFyD6.js.br +0 -0
  414. package/build/client/_app/immutable/chunks/Dy2CFyD6.js.gz +0 -0
  415. package/build/client/_app/immutable/chunks/DyBwTDJp.js +0 -2
  416. package/build/client/_app/immutable/chunks/DyBwTDJp.js.br +0 -0
  417. package/build/client/_app/immutable/chunks/DyBwTDJp.js.gz +0 -0
  418. package/build/client/_app/immutable/chunks/ILTCveYH.js +0 -1
  419. package/build/client/_app/immutable/chunks/ILTCveYH.js.br +0 -0
  420. package/build/client/_app/immutable/chunks/ILTCveYH.js.gz +0 -0
  421. package/build/client/_app/immutable/chunks/JcG4w2gF.js.br +0 -0
  422. package/build/client/_app/immutable/chunks/JcG4w2gF.js.gz +0 -0
  423. package/build/client/_app/immutable/chunks/UqjCSZmA.js.br +0 -0
  424. package/build/client/_app/immutable/chunks/UqjCSZmA.js.gz +0 -0
  425. package/build/client/_app/immutable/chunks/_YcrHZ6P.js +0 -1
  426. package/build/client/_app/immutable/chunks/_YcrHZ6P.js.br +0 -2
  427. package/build/client/_app/immutable/chunks/_YcrHZ6P.js.gz +0 -0
  428. package/build/client/_app/immutable/chunks/i6ygh6h8.js +0 -1
  429. package/build/client/_app/immutable/chunks/i6ygh6h8.js.br +0 -2
  430. package/build/client/_app/immutable/chunks/i6ygh6h8.js.gz +0 -0
  431. package/build/client/_app/immutable/chunks/oRi68ch3.js +0 -1
  432. package/build/client/_app/immutable/chunks/oRi68ch3.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/oRi68ch3.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/pPpIn6tB.js.br +0 -0
  435. package/build/client/_app/immutable/chunks/pPpIn6tB.js.gz +0 -0
  436. package/build/client/_app/immutable/chunks/r0sHOWrM.js +0 -1
  437. package/build/client/_app/immutable/chunks/r0sHOWrM.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/r0sHOWrM.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/wcTQUnZO.js.br +0 -0
  440. package/build/client/_app/immutable/chunks/wcTQUnZO.js.gz +0 -0
  441. package/build/client/_app/immutable/entry/app.DdO0gkPg.js +0 -2
  442. package/build/client/_app/immutable/entry/app.DdO0gkPg.js.br +0 -0
  443. package/build/client/_app/immutable/entry/app.DdO0gkPg.js.gz +0 -0
  444. package/build/client/_app/immutable/entry/start.eAjDq0c9.js +0 -1
  445. package/build/client/_app/immutable/entry/start.eAjDq0c9.js.br +0 -2
  446. package/build/client/_app/immutable/entry/start.eAjDq0c9.js.gz +0 -0
  447. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js +0 -3
  448. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.br +0 -0
  449. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.gz +0 -0
  450. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js +0 -1
  451. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.br +0 -0
  452. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.gz +0 -0
  453. package/build/client/_app/immutable/nodes/10.dm2dgy31.js +0 -13
  454. package/build/client/_app/immutable/nodes/10.dm2dgy31.js.br +0 -0
  455. package/build/client/_app/immutable/nodes/10.dm2dgy31.js.gz +0 -0
  456. package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.br +0 -0
  457. package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.gz +0 -0
  458. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js +0 -3
  459. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.br +0 -0
  460. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.gz +0 -0
  461. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js +0 -11
  462. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.br +0 -0
  463. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.gz +0 -0
  464. package/build/client/_app/immutable/nodes/2.DesR2keg.js +0 -35
  465. package/build/client/_app/immutable/nodes/2.DesR2keg.js.br +0 -0
  466. package/build/client/_app/immutable/nodes/2.DesR2keg.js.gz +0 -0
  467. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js +0 -1
  468. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.br +0 -0
  469. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.gz +0 -0
  470. package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.br +0 -0
  471. package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.gz +0 -0
  472. package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.br +0 -0
  473. package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.gz +0 -0
  474. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js +0 -1
  475. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.br +0 -0
  476. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.gz +0 -0
  477. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js +0 -2
  478. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.br +0 -0
  479. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.gz +0 -0
  480. package/build/client/_app/immutable/nodes/9.DVspuDYY.js +0 -2
  481. package/build/client/_app/immutable/nodes/9.DVspuDYY.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/9.DVspuDYY.js.gz +0 -0
  483. package/build/server/chunks/0-D_duQDWy.js +0 -9
  484. package/build/server/chunks/0-D_duQDWy.js.map +0 -1
  485. package/build/server/chunks/1-C0HdTvXW.js +0 -9
  486. package/build/server/chunks/10-DcfhCR4R.js +0 -9
  487. package/build/server/chunks/10-DcfhCR4R.js.map +0 -1
  488. package/build/server/chunks/15-BQcb9C_y.js +0 -9
  489. package/build/server/chunks/17-DuVCTioj.js +0 -9
  490. package/build/server/chunks/17-DuVCTioj.js.map +0 -1
  491. package/build/server/chunks/18-CT0VFW_p.js +0 -9
  492. package/build/server/chunks/18-CT0VFW_p.js.map +0 -1
  493. package/build/server/chunks/2-DgTzKQAP.js +0 -9
  494. package/build/server/chunks/2-DgTzKQAP.js.map +0 -1
  495. package/build/server/chunks/3-eQMSMzXP.js +0 -9
  496. package/build/server/chunks/3-eQMSMzXP.js.map +0 -1
  497. package/build/server/chunks/4-OaAJtDqP.js +0 -9
  498. package/build/server/chunks/4-OaAJtDqP.js.map +0 -1
  499. package/build/server/chunks/5-CBdMutbv.js +0 -9
  500. package/build/server/chunks/5-CBdMutbv.js.map +0 -1
  501. package/build/server/chunks/6-FoEi7ggm.js +0 -9
  502. package/build/server/chunks/6-FoEi7ggm.js.map +0 -1
  503. package/build/server/chunks/8-B44yRkfX.js +0 -9
  504. package/build/server/chunks/8-B44yRkfX.js.map +0 -1
  505. package/build/server/chunks/9-eUjFpHzI.js +0 -9
  506. package/build/server/chunks/9-eUjFpHzI.js.map +0 -1
  507. package/build/server/chunks/ChatStepTrace-BivoNYOY.js.map +0 -1
  508. package/build/server/chunks/_layout.svelte-B-0DHjLB.js +0 -45
  509. package/build/server/chunks/_layout.svelte-B-0DHjLB.js.map +0 -1
  510. package/build/server/chunks/_layout.svelte-B88WMyk0.js.map +0 -1
  511. package/build/server/chunks/_layout.svelte-wi6o5Ecu.js.map +0 -1
  512. package/build/server/chunks/_page.svelte-57pyhszV.js.map +0 -1
  513. package/build/server/chunks/_page.svelte-BSVJ2d2G.js.map +0 -1
  514. package/build/server/chunks/_page.svelte-BoHt2cpr.js +0 -61
  515. package/build/server/chunks/_page.svelte-BoHt2cpr.js.map +0 -1
  516. package/build/server/chunks/_page.svelte-CeS_21Ho.js.map +0 -1
  517. package/build/server/chunks/_page.svelte-DHSYVLoj.js.map +0 -1
  518. package/build/server/chunks/_page.svelte-DhFNFMnl.js.map +0 -1
  519. package/build/server/chunks/_server.ts-D_eo_OAK.js +0 -139
  520. package/build/server/chunks/_server.ts-D_eo_OAK.js.map +0 -1
  521. package/build/server/chunks/error.svelte-DmKKN1RU.js +0 -15
  522. package/build/server/chunks/source-selection-CcN1cgXc.js.map +0 -1
  523. package/build/server/chunks/trpc-client-D8L6vWf4.js +0 -14
  524. package/build/server/chunks/trpc-client-D8L6vWf4.js.map +0 -1
@@ -0,0 +1,431 @@
1
+ import { k as escape_html, l as attr, m as attr_class, n as derived } from './index-DGtbUu8Y.js';
2
+ import { s as setAgentsContext } from './agents-context-owgusUPR.js';
3
+ import { p as page } from './index2-CtgLiJVO.js';
4
+ import { g as goto } from './client-P-7bDULt.js';
5
+ import { t as trpc } from './trpc-client-Cr8RJ4UO.js';
6
+ import { B as Button } from './Button-Dc9CR4Wh.js';
7
+ import { o as onDestroy } from './index-server-l8-WsVn4.js';
8
+ import { s as setGitModeContext, d as disabledGitModeStatus } from './git-mode-context-BpNsAUGF.js';
9
+ import '@trpc/client';
10
+ import './state.svelte-BkvaElc6.js';
11
+ import './root-sWPnlpi3.js';
12
+ import './index3-4hbbCqW0.js';
13
+ import './shared-server-DaWdgxVh.js';
14
+ import '@trpc/server/observable';
15
+
16
+ function BlockingGitDialog($$renderer, $$props) {
17
+ $$renderer.component(($$renderer2) => {
18
+ let {
19
+ open,
20
+ label,
21
+ stacked = false,
22
+ class: className = "",
23
+ children
24
+ } = $$props;
25
+ let entered = false;
26
+ let closeTimer = null;
27
+ let frame = 0;
28
+ function clearPending() {
29
+ if (closeTimer) clearTimeout(closeTimer);
30
+ closeTimer = null;
31
+ if (frame) cancelAnimationFrame(frame);
32
+ frame = 0;
33
+ }
34
+ onDestroy(clearPending);
35
+ $$renderer2.push(`<dialog${attr("aria-label", label)}${attr_class(`git-blocking-dialog m-auto max-h-[90vh] w-[min(92vw,32rem)] overflow-visible rounded-xl border border-rc-gray-600 bg-rc-gray-800 p-0 text-rc-gray-100 shadow-2xl outline-none ${className}`, "svelte-vbchqd", { "entered": entered, "stacked": stacked })}><div class="p-6">`);
36
+ children($$renderer2);
37
+ $$renderer2.push(`<!----></div></dialog>`);
38
+ });
39
+ }
40
+ function isBackgroundGitRefresh(status) {
41
+ if (!status.enabled) return false;
42
+ if (status.phase === "preparing") return status.preparationStage === "browser-writes";
43
+ return ["flushing", "refreshing", "processing", "restarting"].includes(status.phase);
44
+ }
45
+ function gitStatusPausesWrites(status) {
46
+ return isBackgroundGitRefresh(status) || status.enabled && ["awaiting-changes", "fatal"].includes(status.phase);
47
+ }
48
+ function _layout($$renderer, $$props) {
49
+ $$renderer.component(($$renderer2) => {
50
+ let { children } = $$props;
51
+ let error = "";
52
+ const gitState = disabledGitModeStatus();
53
+ const gitFlushers = /* @__PURE__ */ new Map();
54
+ const gitBlockers = /* @__PURE__ */ new Map();
55
+ let gitTabId = "";
56
+ let gitStatusRequestSequence = 0;
57
+ let activationRequestInFlight = false;
58
+ let gitWritesPaused = true;
59
+ let refreshNoticeRequested = false;
60
+ let activationRefreshVisible = false;
61
+ let manualDialog = null;
62
+ let manualDescription = "";
63
+ let manualProcessing = null;
64
+ let manualOperationId = null;
65
+ let manualOperationObserved = false;
66
+ let manualAcceptedAfterStatusSequence = 0;
67
+ let manualValidationError = null;
68
+ let activationDialog = null;
69
+ let activationDescription = "";
70
+ let activationProcessing = null;
71
+ let activationValidationError = null;
72
+ const backgroundRefreshActive = derived(() => isBackgroundGitRefresh(gitState));
73
+ const manualDialogProcessing = derived(() => manualProcessing === "save" || manualProcessing === "discard");
74
+ const showRefreshingDialog = derived(() => gitState.enabled && (gitState.phase === "fatal" || activationRefreshVisible || backgroundRefreshActive() && refreshNoticeRequested && !manualDialogProcessing()));
75
+ function requestBlockedOperationNotice() {
76
+ if (!backgroundRefreshActive() || manualDialogProcessing()) return;
77
+ refreshNoticeRequested = true;
78
+ }
79
+ function registerGitFlusher(name, flusher, options) {
80
+ const registration = { flush: flusher, final: options?.final === true };
81
+ gitFlushers.set(name, registration);
82
+ return () => {
83
+ if (gitFlushers.get(name) === registration) gitFlushers.delete(name);
84
+ };
85
+ }
86
+ function registerGitBlocker(name, blocker) {
87
+ gitBlockers.set(name, blocker);
88
+ return () => {
89
+ if (gitBlockers.get(name) === blocker) gitBlockers.delete(name);
90
+ };
91
+ }
92
+ setGitModeContext({
93
+ state: gitState,
94
+ openSaveDialog: () => {
95
+ if (!gitState.enabled || !gitState.hasChanges || gitState.phase !== "idle" || gitWritesPaused) return;
96
+ },
97
+ openDiscardDialog: () => {
98
+ if (!gitState.enabled || !gitState.hasChanges || gitState.phase !== "idle" || gitWritesPaused) return;
99
+ },
100
+ prepareRelease: () => void prepareRelease(),
101
+ manualAction: () => manualProcessing,
102
+ registerFlusher: registerGitFlusher,
103
+ registerBlocker: registerGitBlocker,
104
+ requestBlockedOperationNotice,
105
+ isActivationStarting: () => activationRequestInFlight,
106
+ isWritePaused: () => {
107
+ const locallyPaused = gitWritesPaused;
108
+ gitStatusPausesWrites(gitState);
109
+ return typeof document !== "undefined" && document.visibilityState !== "visible" || locallyPaused;
110
+ }
111
+ });
112
+ function handleError(errorMessage) {
113
+ error = errorMessage;
114
+ setTimeout(
115
+ () => {
116
+ error = "";
117
+ },
118
+ 5e3
119
+ );
120
+ console.error(errorMessage);
121
+ }
122
+ async function refreshGitStatus() {
123
+ return;
124
+ }
125
+ function broadcastGitInvalidation() {
126
+ void refreshGitStatus();
127
+ }
128
+ async function runManualAction(action) {
129
+ if (manualProcessing) return;
130
+ const description = manualDescription.trim();
131
+ if (action === "save" && !description) {
132
+ manualValidationError = "Describe your changes before saving.";
133
+ return;
134
+ }
135
+ manualValidationError = null;
136
+ manualProcessing = action;
137
+ manualOperationId = null;
138
+ manualOperationObserved = false;
139
+ manualAcceptedAfterStatusSequence = 0;
140
+ try {
141
+ const started = await trpc.gitMode.startManual.mutate({
142
+ tabId: gitTabId,
143
+ action,
144
+ description: action === "save" ? description : void 0
145
+ });
146
+ if (manualProcessing !== action) return;
147
+ if (!started.operationId) {
148
+ manualProcessing = null;
149
+ if (started.phase !== "fatal" && !started.fatal) {
150
+ manualValidationError = "There are no changes to save or discard.";
151
+ }
152
+ void refreshGitStatus();
153
+ return;
154
+ }
155
+ manualOperationId = started.operationId;
156
+ manualOperationObserved = true;
157
+ manualAcceptedAfterStatusSequence = gitStatusRequestSequence;
158
+ broadcastGitInvalidation();
159
+ } catch (manualError) {
160
+ manualProcessing = null;
161
+ manualOperationId = null;
162
+ manualOperationObserved = false;
163
+ manualAcceptedAfterStatusSequence = 0;
164
+ manualValidationError = manualError instanceof Error ? manualError.message : "Could not start the Git operation.";
165
+ void refreshGitStatus();
166
+ }
167
+ }
168
+ async function prepareRelease() {
169
+ if (manualProcessing || !gitState.enabled || gitState.hasChanges || !gitState.canPrepareRelease || gitState.phase !== "idle" || gitWritesPaused) {
170
+ return;
171
+ }
172
+ }
173
+ async function resolveActivationChanges(action) {
174
+ if (!gitState.operationId || activationProcessing) return;
175
+ const description = activationDescription.trim();
176
+ if (action === "save" && !description) {
177
+ activationValidationError = "Describe your changes before saving.";
178
+ return;
179
+ }
180
+ activationValidationError = null;
181
+ activationProcessing = action;
182
+ try {
183
+ await trpc.gitMode.resolveChanges.mutate({
184
+ tabId: gitTabId,
185
+ operationId: gitState.operationId,
186
+ action,
187
+ description: action === "save" ? description : void 0
188
+ });
189
+ broadcastGitInvalidation();
190
+ } catch (resolveError) {
191
+ activationProcessing = null;
192
+ activationValidationError = resolveError instanceof Error ? resolveError.message : "Could not continue the refresh.";
193
+ void refreshGitStatus();
194
+ }
195
+ }
196
+ setAgentsContext({
197
+ onAgentSelect: (agentId) => {
198
+ const search = new URLSearchParams(page.url.search);
199
+ search.get("step");
200
+ goto();
201
+ },
202
+ onError: handleError
203
+ });
204
+ $$renderer2.push(`<main class="h-screen overflow-hidden bg-gray-600">`);
205
+ children($$renderer2);
206
+ $$renderer2.push(`<!----> `);
207
+ if (error) {
208
+ $$renderer2.push("<!--[0-->");
209
+ $$renderer2.push(`<div class="absolute bottom-0 right-0 z-50 m-4 rounded-sm border border-red-500 bg-red-50 px-4 py-2 text-red-800 focus:outline-none focus:ring-0">${escape_html(error)}</div>`);
210
+ } else {
211
+ $$renderer2.push("<!--[-1-->");
212
+ }
213
+ $$renderer2.push(`<!--]--> `);
214
+ if (gitState.enabled && gitState.deferredReason && gitState.phase === "idle") {
215
+ $$renderer2.push("<!--[0-->");
216
+ $$renderer2.push(`<div class="fixed bottom-4 left-1/2 z-40 w-[min(92vw,38rem)] -translate-x-1/2 rounded-lg border border-amber-500/60 bg-rc-gray-800 px-4 py-3 text-sm text-amber-100 shadow-xl" role="status">Refresh paused: ${escape_html(gitState.deferredReason)} Save or close that draft to continue.</div>`);
217
+ } else {
218
+ $$renderer2.push("<!--[-1-->");
219
+ }
220
+ $$renderer2.push(`<!--]--> `);
221
+ {
222
+ $$renderer2.push("<!--[-1-->");
223
+ }
224
+ $$renderer2.push(`<!--]--> `);
225
+ BlockingGitDialog($$renderer2, {
226
+ open: showRefreshingDialog(),
227
+ label: "Bosun repository refresh",
228
+ children: ($$renderer3) => {
229
+ if (gitState.phase === "fatal" && gitState.fatal) {
230
+ $$renderer3.push("<!--[0-->");
231
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">${escape_html(gitState.fatal.title)}</h2> <p class="mt-3 whitespace-pre-line text-rc-gray-200">${escape_html(gitState.fatal.message)}</p> `);
232
+ if (gitState.fatal.prUrl) {
233
+ $$renderer3.push("<!--[0-->");
234
+ $$renderer3.push(`<a${attr("href", gitState.fatal.prUrl)} target="_blank" rel="noreferrer" class="mt-4 inline-flex text-rc-green-200 underline underline-offset-2">Open the conflict pull request</a>`);
235
+ } else {
236
+ $$renderer3.push("<!--[-1-->");
237
+ }
238
+ $$renderer3.push(`<!--]-->`);
239
+ } else {
240
+ $$renderer3.push("<!--[-1-->");
241
+ $$renderer3.push(`<div class="flex items-center gap-4"><div class="h-6 w-6 animate-spin rounded-full border-2 border-rc-gray-400 border-t-rc-green-200" aria-hidden="true"></div> <div><h2 class="text-xl font-semibold text-rc-gray-100">Refreshing...</h2></div></div>`);
242
+ }
243
+ $$renderer3.push(`<!--]-->`);
244
+ }
245
+ });
246
+ $$renderer2.push(`<!----> `);
247
+ BlockingGitDialog($$renderer2, {
248
+ open: gitState.phase === "awaiting-changes",
249
+ label: "Save or discard current changes",
250
+ stacked: true,
251
+ children: ($$renderer3) => {
252
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">To continue, save or discard your current changes</h2> <p class="mt-3 text-rc-gray-200">Bosun cannot refresh your personal branch without handling these changes first.</p> <div class="mt-5 flex justify-end gap-3">`);
253
+ Button($$renderer3, {
254
+ variant: "outlined",
255
+ disabled: !!activationProcessing,
256
+ onclick: () => {
257
+ activationValidationError = null;
258
+ activationDialog = "discard";
259
+ },
260
+ children: ($$renderer4) => {
261
+ $$renderer4.push(`<!---->Discard`);
262
+ },
263
+ $$slots: { default: true }
264
+ });
265
+ $$renderer3.push(`<!----> `);
266
+ Button($$renderer3, {
267
+ disabled: !!activationProcessing,
268
+ onclick: () => {
269
+ activationValidationError = null;
270
+ activationDialog = "save";
271
+ },
272
+ children: ($$renderer4) => {
273
+ $$renderer4.push(`<!---->Save`);
274
+ },
275
+ $$slots: { default: true }
276
+ });
277
+ $$renderer3.push(`<!----></div>`);
278
+ }
279
+ });
280
+ $$renderer2.push(`<!----> `);
281
+ BlockingGitDialog($$renderer2, {
282
+ open: activationDialog === "save" && (gitState.phase === "awaiting-changes" || activationProcessing === "save"),
283
+ label: "Save current changes",
284
+ stacked: true,
285
+ children: ($$renderer3) => {
286
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">Save changes</h2> <div class="mt-5 space-y-4"><label class="block"><span class="mb-1 block text-sm text-rc-gray-200">Describe your changes</span> <input${attr("value", activationDescription)}${attr("disabled", !!activationProcessing, true)} maxlength="500" class="w-full rounded-lg border border-rc-gray-600 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 outline-none focus:border-rc-gray-400 disabled:opacity-60"/></label> `);
287
+ if (activationValidationError) {
288
+ $$renderer3.push("<!--[0-->");
289
+ $$renderer3.push(`<p class="text-sm text-rc-red-600">${escape_html(activationValidationError)}</p>`);
290
+ } else {
291
+ $$renderer3.push("<!--[-1-->");
292
+ }
293
+ $$renderer3.push(`<!--]--> <div class="flex justify-end gap-3 pt-2">`);
294
+ Button($$renderer3, {
295
+ variant: "ghost",
296
+ disabled: !!activationProcessing,
297
+ onclick: () => {
298
+ activationValidationError = null;
299
+ activationDialog = null;
300
+ },
301
+ children: ($$renderer4) => {
302
+ $$renderer4.push(`<!---->Cancel`);
303
+ },
304
+ $$slots: { default: true }
305
+ });
306
+ $$renderer3.push(`<!----> `);
307
+ Button($$renderer3, {
308
+ disabled: !!activationProcessing,
309
+ onclick: () => resolveActivationChanges("save"),
310
+ children: ($$renderer4) => {
311
+ $$renderer4.push(`<!---->${escape_html(activationProcessing === "save" ? "Saving..." : "Save")}`);
312
+ },
313
+ $$slots: { default: true }
314
+ });
315
+ $$renderer3.push(`<!----></div></div>`);
316
+ }
317
+ });
318
+ $$renderer2.push(`<!----> `);
319
+ BlockingGitDialog($$renderer2, {
320
+ open: activationDialog === "discard" && (gitState.phase === "awaiting-changes" || activationProcessing === "discard"),
321
+ label: "Confirm discard",
322
+ stacked: true,
323
+ children: ($$renderer3) => {
324
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">Discard current changes?</h2> <p class="mt-3 text-rc-gray-200">Discarding removes all changes since your last Save. They can be recovered later if needed.</p> `);
325
+ if (activationValidationError) {
326
+ $$renderer3.push("<!--[0-->");
327
+ $$renderer3.push(`<p class="mt-4 text-sm text-rc-red-600">${escape_html(activationValidationError)}</p>`);
328
+ } else {
329
+ $$renderer3.push("<!--[-1-->");
330
+ }
331
+ $$renderer3.push(`<!--]--> <div class="mt-5 flex justify-end gap-3">`);
332
+ Button($$renderer3, {
333
+ variant: "ghost",
334
+ disabled: !!activationProcessing,
335
+ onclick: () => {
336
+ activationValidationError = null;
337
+ activationDialog = null;
338
+ },
339
+ children: ($$renderer4) => {
340
+ $$renderer4.push(`<!---->Cancel`);
341
+ },
342
+ $$slots: { default: true }
343
+ });
344
+ $$renderer3.push(`<!----> `);
345
+ Button($$renderer3, {
346
+ variant: "outlined",
347
+ disabled: !!activationProcessing,
348
+ onclick: () => resolveActivationChanges("discard"),
349
+ children: ($$renderer4) => {
350
+ $$renderer4.push(`<!---->${escape_html(activationProcessing === "discard" ? "Discarding..." : "Discard changes")}`);
351
+ },
352
+ $$slots: { default: true }
353
+ });
354
+ $$renderer3.push(`<!----></div>`);
355
+ }
356
+ });
357
+ $$renderer2.push(`<!----> `);
358
+ BlockingGitDialog($$renderer2, {
359
+ open: manualDialog === "save",
360
+ label: "Save project changes",
361
+ children: ($$renderer3) => {
362
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">Save changes</h2> <div class="mt-5 space-y-4"><label class="block"><span class="mb-1 block text-sm text-rc-gray-200">Describe your changes</span> <input${attr("value", manualDescription)}${attr("disabled", !!manualProcessing, true)} maxlength="500" class="w-full rounded-lg border border-rc-gray-600 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 outline-none focus:border-rc-gray-400 disabled:opacity-60"/></label> `);
363
+ if (manualValidationError) {
364
+ $$renderer3.push("<!--[0-->");
365
+ $$renderer3.push(`<p class="text-sm text-rc-red-600">${escape_html(manualValidationError)}</p>`);
366
+ } else {
367
+ $$renderer3.push("<!--[-1-->");
368
+ }
369
+ $$renderer3.push(`<!--]--> <div class="flex justify-end gap-3 pt-2">`);
370
+ Button($$renderer3, {
371
+ variant: "ghost",
372
+ disabled: !!manualProcessing,
373
+ onclick: () => manualDialog = null,
374
+ children: ($$renderer4) => {
375
+ $$renderer4.push(`<!---->Cancel`);
376
+ },
377
+ $$slots: { default: true }
378
+ });
379
+ $$renderer3.push(`<!----> `);
380
+ Button($$renderer3, {
381
+ disabled: !!manualProcessing,
382
+ onclick: () => runManualAction("save"),
383
+ children: ($$renderer4) => {
384
+ $$renderer4.push(`<!---->${escape_html(manualProcessing === "save" ? "Saving..." : "Save")}`);
385
+ },
386
+ $$slots: { default: true }
387
+ });
388
+ $$renderer3.push(`<!----></div></div>`);
389
+ }
390
+ });
391
+ $$renderer2.push(`<!----> `);
392
+ BlockingGitDialog($$renderer2, {
393
+ open: manualDialog === "discard",
394
+ label: "Confirm discard",
395
+ children: ($$renderer3) => {
396
+ $$renderer3.push(`<h2 class="text-xl font-semibold text-rc-gray-100">Discard current changes?</h2> <p class="mt-3 text-rc-gray-200">Discarding removes all changes since your last Save. They can be recovered later if needed.</p> `);
397
+ if (manualValidationError) {
398
+ $$renderer3.push("<!--[0-->");
399
+ $$renderer3.push(`<p class="mt-4 text-sm text-rc-red-600">${escape_html(manualValidationError)}</p>`);
400
+ } else {
401
+ $$renderer3.push("<!--[-1-->");
402
+ }
403
+ $$renderer3.push(`<!--]--> <div class="mt-5 flex justify-end gap-3">`);
404
+ Button($$renderer3, {
405
+ variant: "ghost",
406
+ disabled: !!manualProcessing,
407
+ onclick: () => manualDialog = null,
408
+ children: ($$renderer4) => {
409
+ $$renderer4.push(`<!---->Cancel`);
410
+ },
411
+ $$slots: { default: true }
412
+ });
413
+ $$renderer3.push(`<!----> `);
414
+ Button($$renderer3, {
415
+ variant: "outlined",
416
+ disabled: !!manualProcessing,
417
+ onclick: () => runManualAction("discard"),
418
+ children: ($$renderer4) => {
419
+ $$renderer4.push(`<!---->${escape_html(manualProcessing === "discard" ? "Discarding..." : "Discard changes")}`);
420
+ },
421
+ $$slots: { default: true }
422
+ });
423
+ $$renderer3.push(`<!----></div>`);
424
+ }
425
+ });
426
+ $$renderer2.push(`<!----></main>`);
427
+ });
428
+ }
429
+
430
+ export { _layout as default };
431
+ //# sourceMappingURL=_layout.svelte-CJd_pmkx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_layout.svelte-CJd_pmkx.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.svelte.js"],"sourcesContent":["import { a as attr, b as attr_class, e as escape_html, d as derived } from \"../../chunks/index.js\";\nimport { s as setAgentsContext } from \"../../chunks/agents-context.js\";\nimport { p as page } from \"../../chunks/index2.js\";\nimport { g as goto } from \"../../chunks/client.js\";\nimport { t as trpc } from \"../../chunks/trpc-client.js\";\nimport { B as Button } from \"../../chunks/Button.js\";\nimport { o as onDestroy } from \"../../chunks/index-server.js\";\nimport { s as setGitModeContext, d as disabledGitModeStatus } from \"../../chunks/git-mode-context.js\";\nimport \"@trpc/client\";\nfunction BlockingGitDialog($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open,\n label,\n stacked = false,\n class: className = \"\",\n children\n } = $$props;\n let entered = false;\n let closeTimer = null;\n let frame = 0;\n function clearPending() {\n if (closeTimer) clearTimeout(closeTimer);\n closeTimer = null;\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n }\n onDestroy(clearPending);\n $$renderer2.push(`<dialog${attr(\"aria-label\", label)}${attr_class(`git-blocking-dialog m-auto max-h-[90vh] w-[min(92vw,32rem)] overflow-visible rounded-xl border border-rc-gray-600 bg-rc-gray-800 p-0 text-rc-gray-100 shadow-2xl outline-none ${className}`, \"svelte-vbchqd\", { \"entered\": entered, \"stacked\": stacked })}><div class=\"p-6\">`);\n children($$renderer2);\n $$renderer2.push(`<!----></div></dialog>`);\n });\n}\nfunction isBackgroundGitRefresh(status) {\n if (!status.enabled) return false;\n if (status.phase === \"preparing\") return status.preparationStage === \"browser-writes\";\n return [\"flushing\", \"refreshing\", \"processing\", \"restarting\"].includes(status.phase);\n}\nfunction gitStatusPausesWrites(status) {\n return isBackgroundGitRefresh(status) || status.enabled && [\"awaiting-changes\", \"fatal\"].includes(status.phase);\n}\nfunction _layout($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { children } = $$props;\n let error = \"\";\n const gitState = disabledGitModeStatus();\n const gitFlushers = /* @__PURE__ */ new Map();\n const gitBlockers = /* @__PURE__ */ new Map();\n let gitTabId = \"\";\n let gitStatusRequestSequence = 0;\n let activationRequestInFlight = false;\n let gitWritesPaused = true;\n let refreshNoticeRequested = false;\n let activationRefreshVisible = false;\n let manualDialog = null;\n let manualDescription = \"\";\n let manualProcessing = null;\n let manualOperationId = null;\n let manualOperationObserved = false;\n let manualAcceptedAfterStatusSequence = 0;\n let manualValidationError = null;\n let activationDialog = null;\n let activationDescription = \"\";\n let activationProcessing = null;\n let activationValidationError = null;\n const backgroundRefreshActive = derived(() => isBackgroundGitRefresh(gitState));\n const manualDialogProcessing = derived(() => manualProcessing === \"save\" || manualProcessing === \"discard\");\n const showRefreshingDialog = derived(() => gitState.enabled && (gitState.phase === \"fatal\" || activationRefreshVisible || backgroundRefreshActive() && refreshNoticeRequested && !manualDialogProcessing()));\n function requestBlockedOperationNotice() {\n if (!backgroundRefreshActive() || manualDialogProcessing()) return;\n refreshNoticeRequested = true;\n }\n function registerGitFlusher(name, flusher, options) {\n const registration = { flush: flusher, final: options?.final === true };\n gitFlushers.set(name, registration);\n return () => {\n if (gitFlushers.get(name) === registration) gitFlushers.delete(name);\n };\n }\n function registerGitBlocker(name, blocker) {\n gitBlockers.set(name, blocker);\n return () => {\n if (gitBlockers.get(name) === blocker) gitBlockers.delete(name);\n };\n }\n setGitModeContext({\n state: gitState,\n openSaveDialog: () => {\n if (!gitState.enabled || !gitState.hasChanges || gitState.phase !== \"idle\" || gitWritesPaused) return;\n },\n openDiscardDialog: () => {\n if (!gitState.enabled || !gitState.hasChanges || gitState.phase !== \"idle\" || gitWritesPaused) return;\n },\n prepareRelease: () => void prepareRelease(),\n manualAction: () => manualProcessing,\n registerFlusher: registerGitFlusher,\n registerBlocker: registerGitBlocker,\n requestBlockedOperationNotice,\n isActivationStarting: () => activationRequestInFlight,\n isWritePaused: () => {\n const locallyPaused = gitWritesPaused;\n const statusPaused = gitStatusPausesWrites(gitState);\n return typeof document !== \"undefined\" && document.visibilityState !== \"visible\" || locallyPaused || statusPaused;\n }\n });\n function handleError(errorMessage) {\n error = errorMessage;\n setTimeout(\n () => {\n error = \"\";\n },\n 5e3\n );\n console.error(errorMessage);\n }\n async function refreshGitStatus() {\n return;\n }\n function broadcastGitInvalidation() {\n void refreshGitStatus();\n }\n async function runManualAction(action) {\n if (manualProcessing) return;\n const description = manualDescription.trim();\n if (action === \"save\" && !description) {\n manualValidationError = \"Describe your changes before saving.\";\n return;\n }\n manualValidationError = null;\n manualProcessing = action;\n manualOperationId = null;\n manualOperationObserved = false;\n manualAcceptedAfterStatusSequence = 0;\n try {\n const started = await trpc.gitMode.startManual.mutate({\n tabId: gitTabId,\n action,\n description: action === \"save\" ? description : void 0\n });\n if (manualProcessing !== action) return;\n if (!started.operationId) {\n manualProcessing = null;\n if (started.phase !== \"fatal\" && !started.fatal) {\n manualValidationError = \"There are no changes to save or discard.\";\n }\n void refreshGitStatus();\n return;\n }\n manualOperationId = started.operationId;\n manualOperationObserved = true;\n manualAcceptedAfterStatusSequence = gitStatusRequestSequence;\n broadcastGitInvalidation();\n } catch (manualError) {\n manualProcessing = null;\n manualOperationId = null;\n manualOperationObserved = false;\n manualAcceptedAfterStatusSequence = 0;\n manualValidationError = manualError instanceof Error ? manualError.message : \"Could not start the Git operation.\";\n void refreshGitStatus();\n }\n }\n async function prepareRelease() {\n if (manualProcessing || !gitState.enabled || gitState.hasChanges || !gitState.canPrepareRelease || gitState.phase !== \"idle\" || gitWritesPaused) {\n return;\n }\n }\n async function resolveActivationChanges(action) {\n if (!gitState.operationId || activationProcessing) return;\n const description = activationDescription.trim();\n if (action === \"save\" && !description) {\n activationValidationError = \"Describe your changes before saving.\";\n return;\n }\n activationValidationError = null;\n activationProcessing = action;\n try {\n await trpc.gitMode.resolveChanges.mutate({\n tabId: gitTabId,\n operationId: gitState.operationId,\n action,\n description: action === \"save\" ? description : void 0\n });\n broadcastGitInvalidation();\n } catch (resolveError) {\n activationProcessing = null;\n activationValidationError = resolveError instanceof Error ? resolveError.message : \"Could not continue the refresh.\";\n void refreshGitStatus();\n }\n }\n setAgentsContext({\n onAgentSelect: (agentId) => {\n const search = new URLSearchParams(page.url.search);\n search.get(\"step\");\n goto();\n },\n onError: handleError\n });\n $$renderer2.push(`<main class=\"h-screen overflow-hidden bg-gray-600\">`);\n children($$renderer2);\n $$renderer2.push(`<!----> `);\n if (error) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute bottom-0 right-0 z-50 m-4 rounded-sm border border-red-500 bg-red-50 px-4 py-2 text-red-800 focus:outline-none focus:ring-0\">${escape_html(error)}</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (gitState.enabled && gitState.deferredReason && gitState.phase === \"idle\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"fixed bottom-4 left-1/2 z-40 w-[min(92vw,38rem)] -translate-x-1/2 rounded-lg border border-amber-500/60 bg-rc-gray-800 px-4 py-3 text-sm text-amber-100 shadow-xl\" role=\"status\">Refresh paused: ${escape_html(gitState.deferredReason)} Save or close that draft to continue.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n BlockingGitDialog($$renderer2, {\n open: showRefreshingDialog(),\n label: \"Bosun repository refresh\",\n children: ($$renderer3) => {\n if (gitState.phase === \"fatal\" && gitState.fatal) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">${escape_html(gitState.fatal.title)}</h2> <p class=\"mt-3 whitespace-pre-line text-rc-gray-200\">${escape_html(gitState.fatal.message)}</p> `);\n if (gitState.fatal.prUrl) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<a${attr(\"href\", gitState.fatal.prUrl)} target=\"_blank\" rel=\"noreferrer\" class=\"mt-4 inline-flex text-rc-green-200 underline underline-offset-2\">Open the conflict pull request</a>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"flex items-center gap-4\"><div class=\"h-6 w-6 animate-spin rounded-full border-2 border-rc-gray-400 border-t-rc-green-200\" aria-hidden=\"true\"></div> <div><h2 class=\"text-xl font-semibold text-rc-gray-100\">Refreshing...</h2></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!----> `);\n BlockingGitDialog($$renderer2, {\n open: gitState.phase === \"awaiting-changes\",\n label: \"Save or discard current changes\",\n stacked: true,\n children: ($$renderer3) => {\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">To continue, save or discard your current changes</h2> <p class=\"mt-3 text-rc-gray-200\">Bosun cannot refresh your personal branch without handling these changes first.</p> <div class=\"mt-5 flex justify-end gap-3\">`);\n Button($$renderer3, {\n variant: \"outlined\",\n disabled: !!activationProcessing,\n onclick: () => {\n activationValidationError = null;\n activationDialog = \"discard\";\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Discard`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n disabled: !!activationProcessing,\n onclick: () => {\n activationValidationError = null;\n activationDialog = \"save\";\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Save`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n });\n $$renderer2.push(`<!----> `);\n BlockingGitDialog($$renderer2, {\n open: activationDialog === \"save\" && (gitState.phase === \"awaiting-changes\" || activationProcessing === \"save\"),\n label: \"Save current changes\",\n stacked: true,\n children: ($$renderer3) => {\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">Save changes</h2> <div class=\"mt-5 space-y-4\"><label class=\"block\"><span class=\"mb-1 block text-sm text-rc-gray-200\">Describe your changes</span> <input${attr(\"value\", activationDescription)}${attr(\"disabled\", !!activationProcessing, true)} maxlength=\"500\" class=\"w-full rounded-lg border border-rc-gray-600 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 outline-none focus:border-rc-gray-400 disabled:opacity-60\"/></label> `);\n if (activationValidationError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-sm text-rc-red-600\">${escape_html(activationValidationError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"flex justify-end gap-3 pt-2\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n disabled: !!activationProcessing,\n onclick: () => {\n activationValidationError = null;\n activationDialog = null;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n disabled: !!activationProcessing,\n onclick: () => resolveActivationChanges(\"save\"),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(activationProcessing === \"save\" ? \"Saving...\" : \"Save\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div></div>`);\n }\n });\n $$renderer2.push(`<!----> `);\n BlockingGitDialog($$renderer2, {\n open: activationDialog === \"discard\" && (gitState.phase === \"awaiting-changes\" || activationProcessing === \"discard\"),\n label: \"Confirm discard\",\n stacked: true,\n children: ($$renderer3) => {\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">Discard current changes?</h2> <p class=\"mt-3 text-rc-gray-200\">Discarding removes all changes since your last Save. They can be recovered later if needed.</p> `);\n if (activationValidationError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"mt-4 text-sm text-rc-red-600\">${escape_html(activationValidationError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"mt-5 flex justify-end gap-3\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n disabled: !!activationProcessing,\n onclick: () => {\n activationValidationError = null;\n activationDialog = null;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"outlined\",\n disabled: !!activationProcessing,\n onclick: () => resolveActivationChanges(\"discard\"),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(activationProcessing === \"discard\" ? \"Discarding...\" : \"Discard changes\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n });\n $$renderer2.push(`<!----> `);\n BlockingGitDialog($$renderer2, {\n open: manualDialog === \"save\",\n label: \"Save project changes\",\n children: ($$renderer3) => {\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">Save changes</h2> <div class=\"mt-5 space-y-4\"><label class=\"block\"><span class=\"mb-1 block text-sm text-rc-gray-200\">Describe your changes</span> <input${attr(\"value\", manualDescription)}${attr(\"disabled\", !!manualProcessing, true)} maxlength=\"500\" class=\"w-full rounded-lg border border-rc-gray-600 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 outline-none focus:border-rc-gray-400 disabled:opacity-60\"/></label> `);\n if (manualValidationError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-sm text-rc-red-600\">${escape_html(manualValidationError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"flex justify-end gap-3 pt-2\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n disabled: !!manualProcessing,\n onclick: () => manualDialog = null,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n disabled: !!manualProcessing,\n onclick: () => runManualAction(\"save\"),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(manualProcessing === \"save\" ? \"Saving...\" : \"Save\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div></div>`);\n }\n });\n $$renderer2.push(`<!----> `);\n BlockingGitDialog($$renderer2, {\n open: manualDialog === \"discard\",\n label: \"Confirm discard\",\n children: ($$renderer3) => {\n $$renderer3.push(`<h2 class=\"text-xl font-semibold text-rc-gray-100\">Discard current changes?</h2> <p class=\"mt-3 text-rc-gray-200\">Discarding removes all changes since your last Save. They can be recovered later if needed.</p> `);\n if (manualValidationError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"mt-4 text-sm text-rc-red-600\">${escape_html(manualValidationError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"mt-5 flex justify-end gap-3\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n disabled: !!manualProcessing,\n onclick: () => manualDialog = null,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"outlined\",\n disabled: !!manualProcessing,\n onclick: () => runManualAction(\"discard\"),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(manualProcessing === \"discard\" ? \"Discarding...\" : \"Discard changes\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n });\n $$renderer2.push(`<!----></main>`);\n });\n}\nexport {\n _layout as default\n};\n"],"names":[],"mappings":"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"}