@chrisjowen/wheelhouse 0.2.0 → 0.2.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 (836) hide show
  1. package/README.md +0 -5
  2. package/build/client/_app/immutable/assets/0.CF4I5T-G.css +1 -0
  3. package/build/client/_app/immutable/assets/0.CF4I5T-G.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.CF4I5T-G.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/-F7frqRp.js +1 -0
  6. package/build/client/_app/immutable/chunks/-F7frqRp.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/-F7frqRp.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/127nenIp.js +1 -0
  9. package/build/client/_app/immutable/chunks/127nenIp.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/127nenIp.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/2Frsddx8.js +1 -0
  12. package/build/client/_app/immutable/chunks/2Frsddx8.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/2Frsddx8.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/4nLjU3dc.js +1 -0
  15. package/build/client/_app/immutable/chunks/4nLjU3dc.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/4nLjU3dc.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/6IjAKxKZ.js +1 -0
  18. package/build/client/_app/immutable/chunks/6IjAKxKZ.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/6IjAKxKZ.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/6JIb870c.js +1 -0
  21. package/build/client/_app/immutable/chunks/6JIb870c.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/6JIb870c.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/B8szyIrI.js +1 -0
  24. package/build/client/_app/immutable/chunks/B8szyIrI.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/B8szyIrI.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BDL2L18I.js +1 -0
  27. package/build/client/_app/immutable/chunks/BDL2L18I.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BDL2L18I.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BJ_boZ6o.js +1 -0
  30. package/build/client/_app/immutable/chunks/BJ_boZ6o.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BJ_boZ6o.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BMOWf_e5.js +1 -0
  33. package/build/client/_app/immutable/chunks/BMOWf_e5.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BMOWf_e5.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js +6 -0
  36. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BPEcp4vD.js +1 -0
  39. package/build/client/_app/immutable/chunks/BPEcp4vD.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BPEcp4vD.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BTcSoYfa.js +1 -0
  42. package/build/client/_app/immutable/chunks/BTcSoYfa.js.br +2 -0
  43. package/build/client/_app/immutable/chunks/BTcSoYfa.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/BV_Ro843.js +1 -0
  45. package/build/client/_app/immutable/chunks/BV_Ro843.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/BV_Ro843.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BboI5NX2.js +1 -0
  48. package/build/client/_app/immutable/chunks/BboI5NX2.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BboI5NX2.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/BnqQNG8I.js +1 -0
  51. package/build/client/_app/immutable/chunks/BnqQNG8I.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/BnqQNG8I.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/Bo3sLJjL.js +3 -0
  54. package/build/client/_app/immutable/chunks/Bo3sLJjL.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/Bo3sLJjL.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/Bpgn0RyM.js +1 -0
  57. package/build/client/_app/immutable/chunks/Bpgn0RyM.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/Bpgn0RyM.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/BrGclueo.js +1 -0
  60. package/build/client/_app/immutable/chunks/BrGclueo.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/BrGclueo.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/C-Ka3szt.js +1 -0
  63. package/build/client/_app/immutable/chunks/C-Ka3szt.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/C-Ka3szt.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/C-YySHlv.js +1 -0
  66. package/build/client/_app/immutable/chunks/C-YySHlv.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/C-YySHlv.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/C27rbWKB.js +1 -0
  69. package/build/client/_app/immutable/chunks/C27rbWKB.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/C27rbWKB.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/CA1hL-S6.js +1 -0
  72. package/build/client/_app/immutable/chunks/CA1hL-S6.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/CA1hL-S6.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/CFdPbSqS.js +1 -0
  75. package/build/client/_app/immutable/chunks/CFdPbSqS.js.br +1 -0
  76. package/build/client/_app/immutable/chunks/CFdPbSqS.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/CJGygju8.js +1 -0
  78. package/build/client/_app/immutable/chunks/CJGygju8.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/CJGygju8.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/CLdaRjQZ.js +1 -0
  81. package/build/client/_app/immutable/chunks/CLdaRjQZ.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/CLdaRjQZ.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/CS3TvEHF.js +1 -0
  84. package/build/client/_app/immutable/chunks/CS3TvEHF.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/CS3TvEHF.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/CSfYMiqF.js +8 -0
  87. package/build/client/_app/immutable/chunks/CSfYMiqF.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/CSfYMiqF.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/CW_pu1E1.js +1 -0
  90. package/build/client/_app/immutable/chunks/CW_pu1E1.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/CW_pu1E1.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/CZYAayp0.js +2 -0
  93. package/build/client/_app/immutable/chunks/CZYAayp0.js.br +0 -0
  94. package/build/client/_app/immutable/chunks/CZYAayp0.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/Cap_NU8Z.js +1 -0
  96. package/build/client/_app/immutable/chunks/Cap_NU8Z.js.br +0 -0
  97. package/build/client/_app/immutable/chunks/Cap_NU8Z.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js +1 -0
  99. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/Ch8_zhFw.js +1 -0
  102. package/build/client/_app/immutable/chunks/Ch8_zhFw.js.br +0 -0
  103. package/build/client/_app/immutable/chunks/Ch8_zhFw.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/Cjji8YKo.js +1 -0
  105. package/build/client/_app/immutable/chunks/Cjji8YKo.js.br +0 -0
  106. package/build/client/_app/immutable/chunks/Cjji8YKo.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/Ckfspn2s.js +1 -0
  108. package/build/client/_app/immutable/chunks/Ckfspn2s.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/Ckfspn2s.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/CpkLqQ7l.js +1 -0
  111. package/build/client/_app/immutable/chunks/CpkLqQ7l.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/CpkLqQ7l.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/Crzhp-x5.js +5 -0
  114. package/build/client/_app/immutable/chunks/Crzhp-x5.js.br +0 -0
  115. package/build/client/_app/immutable/chunks/Crzhp-x5.js.gz +0 -0
  116. package/build/client/_app/immutable/chunks/Cwah_dMw.js +1 -0
  117. package/build/client/_app/immutable/chunks/Cwah_dMw.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/Cwah_dMw.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/CzsfD4hc.js +1 -0
  120. package/build/client/_app/immutable/chunks/CzsfD4hc.js.br +2 -0
  121. package/build/client/_app/immutable/chunks/CzsfD4hc.js.gz +0 -0
  122. package/build/client/_app/immutable/chunks/D32oVJ_N.js +1 -0
  123. package/build/client/_app/immutable/chunks/D32oVJ_N.js.br +1 -0
  124. package/build/client/_app/immutable/chunks/D32oVJ_N.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/D4sWXBG7.js +1 -0
  126. package/build/client/_app/immutable/chunks/D4sWXBG7.js.br +0 -0
  127. package/build/client/_app/immutable/chunks/D4sWXBG7.js.gz +0 -0
  128. package/build/client/_app/immutable/chunks/DBs-gHlm.js +2 -0
  129. package/build/client/_app/immutable/chunks/DBs-gHlm.js.br +0 -0
  130. package/build/client/_app/immutable/chunks/DBs-gHlm.js.gz +0 -0
  131. package/build/client/_app/immutable/chunks/DEFXAgPm.js +1 -0
  132. package/build/client/_app/immutable/chunks/DEFXAgPm.js.br +0 -0
  133. package/build/client/_app/immutable/chunks/DEFXAgPm.js.gz +0 -0
  134. package/build/client/_app/immutable/chunks/DHbme8uq.js +1 -0
  135. package/build/client/_app/immutable/chunks/DHbme8uq.js.br +0 -0
  136. package/build/client/_app/immutable/chunks/DHbme8uq.js.gz +0 -0
  137. package/build/client/_app/immutable/chunks/DMkU8x7K.js +1 -0
  138. package/build/client/_app/immutable/chunks/DMkU8x7K.js.br +0 -0
  139. package/build/client/_app/immutable/chunks/DMkU8x7K.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/DRIYWZlo.js +1 -0
  141. package/build/client/_app/immutable/chunks/DRIYWZlo.js.br +1 -0
  142. package/build/client/_app/immutable/chunks/DRIYWZlo.js.gz +0 -0
  143. package/build/client/_app/immutable/chunks/DUCO61Nb.js +1 -0
  144. package/build/client/_app/immutable/chunks/DUCO61Nb.js.br +0 -0
  145. package/build/client/_app/immutable/chunks/DUCO61Nb.js.gz +0 -0
  146. package/build/client/_app/immutable/chunks/DXz8WA1c.js +1 -0
  147. package/build/client/_app/immutable/chunks/DXz8WA1c.js.br +0 -0
  148. package/build/client/_app/immutable/chunks/DXz8WA1c.js.gz +0 -0
  149. package/build/client/_app/immutable/chunks/D_4WLGwX.js +1 -0
  150. package/build/client/_app/immutable/chunks/D_4WLGwX.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/D_4WLGwX.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/D_5WjoQx.js +1 -0
  153. package/build/client/_app/immutable/chunks/D_5WjoQx.js.br +0 -0
  154. package/build/client/_app/immutable/chunks/D_5WjoQx.js.gz +0 -0
  155. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js +1 -0
  156. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js.br +0 -0
  157. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/De5PDvrQ.js +1 -0
  159. package/build/client/_app/immutable/chunks/De5PDvrQ.js.br +0 -0
  160. package/build/client/_app/immutable/chunks/De5PDvrQ.js.gz +0 -0
  161. package/build/client/_app/immutable/chunks/DhWdMQ8J.js +1 -0
  162. package/build/client/_app/immutable/chunks/DhWdMQ8J.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/DhWdMQ8J.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/DiCw6gM6.js +1 -0
  165. package/build/client/_app/immutable/chunks/DiCw6gM6.js.br +0 -0
  166. package/build/client/_app/immutable/chunks/DiCw6gM6.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/JhgT3vN-.js +1 -0
  168. package/build/client/_app/immutable/chunks/JhgT3vN-.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/JhgT3vN-.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/KA4C2mxd.js +1 -0
  171. package/build/client/_app/immutable/chunks/KA4C2mxd.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/KA4C2mxd.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/MoZXz26A.js +2 -0
  174. package/build/client/_app/immutable/chunks/MoZXz26A.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/MoZXz26A.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/PMi1c_Z5.js +2 -0
  177. package/build/client/_app/immutable/chunks/PMi1c_Z5.js.br +0 -0
  178. package/build/client/_app/immutable/chunks/PMi1c_Z5.js.gz +0 -0
  179. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js +1 -0
  180. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js.br +0 -0
  181. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/RXXzt1fg.js +1 -0
  183. package/build/client/_app/immutable/chunks/RXXzt1fg.js.br +0 -0
  184. package/build/client/_app/immutable/chunks/RXXzt1fg.js.gz +0 -0
  185. package/build/client/_app/immutable/chunks/WfixpLtG.js +1 -0
  186. package/build/client/_app/immutable/chunks/WfixpLtG.js.br +2 -0
  187. package/build/client/_app/immutable/chunks/WfixpLtG.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/YB3ysJRI.js +1 -0
  189. package/build/client/_app/immutable/chunks/YB3ysJRI.js.br +0 -0
  190. package/build/client/_app/immutable/chunks/YB3ysJRI.js.gz +0 -0
  191. package/build/client/_app/immutable/chunks/YUajk67G.js +1 -0
  192. package/build/client/_app/immutable/chunks/YUajk67G.js.br +0 -0
  193. package/build/client/_app/immutable/chunks/YUajk67G.js.gz +0 -0
  194. package/build/client/_app/immutable/chunks/a2ZeDrXd.js +1 -0
  195. package/build/client/_app/immutable/chunks/a2ZeDrXd.js.br +0 -0
  196. package/build/client/_app/immutable/chunks/a2ZeDrXd.js.gz +0 -0
  197. package/build/client/_app/immutable/chunks/is3b6W5i.js +1 -0
  198. package/build/client/_app/immutable/chunks/is3b6W5i.js.br +0 -0
  199. package/build/client/_app/immutable/chunks/is3b6W5i.js.gz +0 -0
  200. package/build/client/_app/immutable/chunks/kM8ObZQs.js +62 -0
  201. package/build/client/_app/immutable/chunks/kM8ObZQs.js.br +0 -0
  202. package/build/client/_app/immutable/chunks/kM8ObZQs.js.gz +0 -0
  203. package/build/client/_app/immutable/chunks/qep4C0YL.js +2 -0
  204. package/build/client/_app/immutable/chunks/qep4C0YL.js.br +0 -0
  205. package/build/client/_app/immutable/chunks/qep4C0YL.js.gz +0 -0
  206. package/build/client/_app/immutable/chunks/sSJbwAI9.js +1 -0
  207. package/build/client/_app/immutable/chunks/sSJbwAI9.js.br +0 -0
  208. package/build/client/_app/immutable/chunks/sSJbwAI9.js.gz +0 -0
  209. package/build/client/_app/immutable/chunks/vAxbu4w9.js +1 -0
  210. package/build/client/_app/immutable/chunks/vAxbu4w9.js.br +0 -0
  211. package/build/client/_app/immutable/chunks/vAxbu4w9.js.gz +0 -0
  212. package/build/client/_app/immutable/chunks/zfjlAER1.js +1 -0
  213. package/build/client/_app/immutable/chunks/zfjlAER1.js.br +0 -0
  214. package/build/client/_app/immutable/chunks/zfjlAER1.js.gz +0 -0
  215. package/build/client/_app/immutable/chunks/zrknQfzW.js +1 -0
  216. package/build/client/_app/immutable/chunks/zrknQfzW.js.br +0 -0
  217. package/build/client/_app/immutable/chunks/zrknQfzW.js.gz +0 -0
  218. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js +2 -0
  219. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js.br +0 -0
  220. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js.gz +0 -0
  221. package/build/client/_app/immutable/entry/start.DfAhzzBh.js +1 -0
  222. package/build/client/_app/immutable/entry/start.DfAhzzBh.js.br +0 -0
  223. package/build/client/_app/immutable/entry/start.DfAhzzBh.js.gz +0 -0
  224. package/build/client/_app/immutable/nodes/0.CByWY48H.js +8 -0
  225. package/build/client/_app/immutable/nodes/0.CByWY48H.js.br +0 -0
  226. package/build/client/_app/immutable/nodes/0.CByWY48H.js.gz +0 -0
  227. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js +1 -0
  228. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js.br +0 -0
  229. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js.gz +0 -0
  230. package/build/client/_app/immutable/nodes/10.DF_JvWer.js +3 -0
  231. package/build/client/_app/immutable/nodes/10.DF_JvWer.js.br +0 -0
  232. package/build/client/_app/immutable/nodes/10.DF_JvWer.js.gz +0 -0
  233. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js +1 -0
  234. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js.br +0 -0
  235. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js.gz +0 -0
  236. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js +14 -0
  237. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js.br +0 -0
  238. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js.gz +0 -0
  239. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js +150 -0
  240. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js.br +0 -0
  241. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js.gz +0 -0
  242. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js +11 -0
  243. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js.br +0 -0
  244. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js.gz +0 -0
  245. package/build/client/_app/immutable/nodes/16.PXR5gryE.js +9 -0
  246. package/build/client/_app/immutable/nodes/16.PXR5gryE.js.br +0 -0
  247. package/build/client/_app/immutable/nodes/16.PXR5gryE.js.gz +0 -0
  248. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js +2 -0
  249. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js.br +0 -0
  250. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js.gz +0 -0
  251. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js +6 -0
  252. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js.br +0 -0
  253. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js.gz +0 -0
  254. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js +1 -0
  255. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js.br +0 -0
  256. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js.gz +0 -0
  257. package/build/client/_app/immutable/nodes/2.iGkQWI53.js +14 -0
  258. package/build/client/_app/immutable/nodes/2.iGkQWI53.js.br +0 -0
  259. package/build/client/_app/immutable/nodes/2.iGkQWI53.js.gz +0 -0
  260. package/build/client/_app/immutable/nodes/20.COEvYhSn.js +6 -0
  261. package/build/client/_app/immutable/nodes/20.COEvYhSn.js.br +0 -0
  262. package/build/client/_app/immutable/nodes/20.COEvYhSn.js.gz +0 -0
  263. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js +5 -0
  264. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js.br +0 -0
  265. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js.gz +0 -0
  266. package/build/client/_app/immutable/nodes/4.BFV94RXa.js +1 -0
  267. package/build/client/_app/immutable/nodes/4.BFV94RXa.js.br +0 -0
  268. package/build/client/_app/immutable/nodes/4.BFV94RXa.js.gz +0 -0
  269. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js +1 -0
  270. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js.br +0 -0
  271. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js.gz +0 -0
  272. package/build/client/_app/immutable/nodes/6.BVvx9mug.js +7 -0
  273. package/build/client/_app/immutable/nodes/6.BVvx9mug.js.br +0 -0
  274. package/build/client/_app/immutable/nodes/6.BVvx9mug.js.gz +0 -0
  275. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js +4 -0
  276. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js.br +0 -0
  277. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js.gz +0 -0
  278. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js +1 -0
  279. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js.br +0 -0
  280. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js.gz +0 -0
  281. package/build/client/_app/version.json +1 -1
  282. package/build/client/_app/version.json.br +0 -0
  283. package/build/client/_app/version.json.gz +0 -0
  284. package/build/handler.js +4 -4
  285. package/build/index.js +4 -4
  286. package/build/server/chunks/chunks/DecisionCard.js-CvR7ULLC.js +461 -0
  287. package/build/server/chunks/chunks/EtaLine.js-CtcOSLzV.js +79 -0
  288. package/build/server/chunks/chunks/EveryProjectSwitch.js-DWet6DU1.js +200 -0
  289. package/build/server/chunks/chunks/ProjectBanner.js-19PQF0LD.js +111 -0
  290. package/build/server/chunks/chunks/ResizableRail.js-BmMh1aVL.js +801 -0
  291. package/build/server/chunks/chunks/chat.svelte.js-b0uQXOge.js +545 -0
  292. package/build/server/chunks/chunks/detail.js-9VHqIqfd.js +121 -0
  293. package/build/server/chunks/chunks/internal.js-CxWYnS4m.js +146 -0
  294. package/build/server/chunks/chunks/keys.js-iHygUPeb.js +20 -0
  295. package/build/server/chunks/chunks/live.svelte.js-DavJCZVs.js +238 -0
  296. package/build/server/chunks/chunks/pullrequests.js-CWGxTy8C.js +68 -0
  297. package/build/server/chunks/chunks/pullrequests2.js-CCzk2sqm.js +12 -0
  298. package/build/server/chunks/chunks/repo.js-DU-pK5Nw.js +33 -0
  299. package/build/server/chunks/chunks/runtime.js-4msnOWzY.js +15335 -0
  300. package/build/server/chunks/chunks/service.js-DZR6CoEI.js +914 -0
  301. package/build/server/chunks/chunks/slots.svelte.js-CLIV5nwM.js +34 -0
  302. package/build/server/chunks/chunks/store.js-ByNV-OHV.js +323 -0
  303. package/build/server/chunks/chunks/uploads.js-4OZ09onz.js +107 -0
  304. package/build/server/chunks/chunks/view.js-BPycofxX.js +76 -0
  305. package/build/server/chunks/entries/endpoints/api/apps/_op_/_server.ts.js-DqDt7aNN.js +90 -0
  306. package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-D-mwPJ4E.js +100 -0
  307. package/build/server/chunks/entries/endpoints/api/files/_server.ts.js-DTl4eBah.js +49 -0
  308. package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-HFyCRRIx.js +83 -0
  309. package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-CO7kITUs.js +119 -0
  310. package/build/server/chunks/entries/endpoints/api/firstmate/dismiss/_server.ts.js-CTdaQTFX.js +45 -0
  311. package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-DKxlZSX3.js +51 -0
  312. package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-Bp4CsZQ9.js +44 -0
  313. package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js--Ti6GfKf.js +66 -0
  314. package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-DudckFen.js +54 -0
  315. package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-H09D-uaY.js +44 -0
  316. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_day_/_id_/_name_/_server.ts.js-B1jFlBJC.js +31 -0
  317. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_server.ts.js-B2h2nWSK.js +39 -0
  318. package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-BMcNM7_1.js +36 -0
  319. package/build/server/chunks/entries/endpoints/api/gateway/_server.ts.js-CVc8gLps.js +100 -0
  320. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BcVLJq4f.js +36 -0
  321. package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-DKqY2sWJ.js +60 -0
  322. package/build/server/chunks/entries/endpoints/api/inbox/report/_server.ts.js-a4l41m0P.js +51 -0
  323. package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js-Cr_YrS6N.js +36 -0
  324. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/config/_server.ts.js-CZUfk-OY.js +71 -0
  325. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/load/_server.ts.js-CPBW7xEV.js +23 -0
  326. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/ui/_...path_/_server.ts.js-Dg2Sbcgq.js +59 -0
  327. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/update/_server.ts.js-C9LXRfKc.js +35 -0
  328. package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-C7RCx22P.js +36 -0
  329. package/build/server/chunks/entries/endpoints/api/plugins/inspect/_server.ts.js-CSPS_3gF.js +35 -0
  330. package/build/server/chunks/entries/endpoints/api/plugins/install/_server.ts.js-DWxejv3K.js +38 -0
  331. package/build/server/chunks/entries/endpoints/api/plugins/updates/_server.ts.js-BYYXspMy.js +23 -0
  332. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-BAPnLV-3.js +41 -0
  333. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-OYV-kJGk.js +50 -0
  334. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-DovNLcSw.js +62 -0
  335. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-CYU1VGUf.js +49 -0
  336. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-CgCzXBIB.js +72 -0
  337. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-BZ2S7d9x.js +55 -0
  338. package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-CMVRpWqZ.js +55 -0
  339. package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-BhhLjW17.js +44 -0
  340. package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-Bukv4dSq.js +41 -0
  341. package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-BsHRnnS7.js +60 -0
  342. package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-B9eygpXJ.js +48 -0
  343. package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-o7w8BRpJ.js +93 -0
  344. package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-BaXho4qD.js +110 -0
  345. package/build/server/chunks/entries/endpoints/api/vault/_server.ts.js-CagOXKfp.js +54 -0
  346. package/build/server/chunks/entries/endpoints/api/wheelhouse/update/_server.ts.js-CAcsCtS9.js +23 -0
  347. package/build/server/chunks/entries/endpoints/api/wheelhouse/upgrade/_server.ts.js-CSlKdXcw.js +23 -0
  348. package/build/server/chunks/entries/endpoints/tasks/_id_/review/_server.ts.js-OEWlGF9d.js +40 -0
  349. package/build/server/chunks/entries/hooks.server.js-BeVVnKyB.js +54 -0
  350. package/build/server/chunks/entries/pages/_layout.server.ts.js-CFzh0bb7.js +24 -0
  351. package/build/server/chunks/entries/pages/_layout.svelte.js-BQyvY_vc.js +8746 -0
  352. package/build/server/chunks/entries/pages/_page.server.ts.js-DqT-OIkV.js +16 -0
  353. package/build/server/chunks/entries/pages/_page.svelte.js-DMDSI7Tw.js +2220 -0
  354. package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-CGjy1S4B.js +11 -0
  355. package/build/server/chunks/entries/pages/files/_page.server.ts.js-D6VF_7EK.js +17 -0
  356. package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-Cbei7bFp.js +46 -0
  357. package/build/server/chunks/entries/pages/harbour/_page.svelte.js-D8RsASWB.js +580 -0
  358. package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-DtFxpkIR.js +11 -0
  359. package/build/server/chunks/entries/pages/inbox/_page.svelte.js-Bn5pWt__.js +185 -0
  360. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-CybSuVD4.js +16 -0
  361. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DMPiRdLN.js +52 -0
  362. package/build/server/chunks/entries/pages/projects/_id_/_page.server.ts.js-CroKCV4u.js +23 -0
  363. package/build/server/chunks/entries/pages/projects/_id_/_page.svelte.js-_DNqdqJc.js +976 -0
  364. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-Vb8907y2.js +21 -0
  365. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-BLTTCa_O.js +74 -0
  366. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-Cor2JYpv.js +27 -0
  367. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-BTgNmS_4.js +433 -0
  368. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-Dtvwihv0.js +15 -0
  369. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-DuitNXlV.js +1880 -0
  370. package/build/server/chunks/entries/pages/settings/gateway/_page.server.ts.js-BqNGCjSG.js +11 -0
  371. package/build/server/chunks/entries/pages/settings/plugins/_page.server.ts.js-CQ9DVI4s.js +19 -0
  372. package/build/server/chunks/entries/pages/settings/plugins/_page.svelte.js-U1GPMY59.js +1847 -0
  373. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.server.ts.js-C_YGnjmx.js +17 -0
  374. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.svelte.js-C_gSykyo.js +220 -0
  375. package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-C-lePqYN.js +25 -0
  376. package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-Ds1ivkgU.js +2142 -0
  377. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-DH7nAB6U.js +24 -0
  378. package/build/server/chunks/entries/pages/time/_page.server.ts.js-Bfe-SSUC.js +11 -0
  379. package/build/server/chunks/handler-CViJcHBG.js +1474 -0
  380. package/build/server/chunks/index.js-DO8YdJ_5.js +4296 -0
  381. package/build/server/chunks/manifest.js-DJYckUS-.js +501 -0
  382. package/build/server/chunks/nodes/0.js-DZ4kFPNe.js +41 -0
  383. package/build/server/chunks/nodes/1.js-CLGjQTlS.js +9 -0
  384. package/build/server/chunks/nodes/10.js-BN4Clcbg.js +43 -0
  385. package/build/server/chunks/nodes/11.js-DWB1yiJ6.js +42 -0
  386. package/build/server/chunks/nodes/12.js-CA99401F.js +43 -0
  387. package/build/server/chunks/nodes/13.js-YsHE2JFx.js +42 -0
  388. package/build/server/chunks/nodes/15.js-CLdnAt4r.js +41 -0
  389. package/build/server/chunks/nodes/16.js-B-2Iq3Ye.js +41 -0
  390. package/build/server/chunks/nodes/17.js-BTM2TsmR.js +44 -0
  391. package/build/server/chunks/nodes/18.js-D3m0ATU2.js +42 -0
  392. package/build/server/chunks/nodes/19.js-C3dO33LH.js +42 -0
  393. package/build/server/chunks/nodes/2.js-51wjL-91.js +41 -0
  394. package/build/server/chunks/nodes/20.js-e41qDeY7.js +41 -0
  395. package/build/server/chunks/nodes/3.js-3JUV-tiI.js +41 -0
  396. package/build/server/chunks/nodes/4.js-CI6WGOXE.js +41 -0
  397. package/build/server/chunks/nodes/5.js-tZ-lWwlu.js +45 -0
  398. package/build/server/chunks/nodes/6.js-BgQesykU.js +41 -0
  399. package/build/server/chunks/nodes/7.js-CFXzqkNQ.js +9 -0
  400. package/build/server/chunks/nodes/9.js-CUQI6T4W.js +41 -0
  401. package/dist/cli.js +2 -12
  402. package/dist/wh-vault.js +1 -1
  403. package/package.json +1 -1
  404. package/build/client/_app/immutable/assets/0.CKUND0qa.css +0 -1
  405. package/build/client/_app/immutable/assets/0.CKUND0qa.css.br +0 -0
  406. package/build/client/_app/immutable/assets/0.CKUND0qa.css.gz +0 -0
  407. package/build/client/_app/immutable/assets/20.KLSHp5Yu.css +0 -1
  408. package/build/client/_app/immutable/assets/20.KLSHp5Yu.css.br +0 -0
  409. package/build/client/_app/immutable/assets/20.KLSHp5Yu.css.gz +0 -0
  410. package/build/client/_app/immutable/chunks/08Q01-Mc.js +0 -1
  411. package/build/client/_app/immutable/chunks/08Q01-Mc.js.br +0 -0
  412. package/build/client/_app/immutable/chunks/08Q01-Mc.js.gz +0 -0
  413. package/build/client/_app/immutable/chunks/0TvUxbRv.js +0 -1
  414. package/build/client/_app/immutable/chunks/0TvUxbRv.js.br +0 -2
  415. package/build/client/_app/immutable/chunks/0TvUxbRv.js.gz +0 -0
  416. package/build/client/_app/immutable/chunks/3Of2kn6M.js +0 -5
  417. package/build/client/_app/immutable/chunks/3Of2kn6M.js.br +0 -0
  418. package/build/client/_app/immutable/chunks/3Of2kn6M.js.gz +0 -0
  419. package/build/client/_app/immutable/chunks/5fVeMNeJ.js +0 -1
  420. package/build/client/_app/immutable/chunks/5fVeMNeJ.js.br +0 -0
  421. package/build/client/_app/immutable/chunks/5fVeMNeJ.js.gz +0 -0
  422. package/build/client/_app/immutable/chunks/A8GZ5Uuc.js +0 -1
  423. package/build/client/_app/immutable/chunks/A8GZ5Uuc.js.br +0 -0
  424. package/build/client/_app/immutable/chunks/A8GZ5Uuc.js.gz +0 -0
  425. package/build/client/_app/immutable/chunks/AHy1Hzhf.js +0 -1
  426. package/build/client/_app/immutable/chunks/AHy1Hzhf.js.br +0 -0
  427. package/build/client/_app/immutable/chunks/AHy1Hzhf.js.gz +0 -0
  428. package/build/client/_app/immutable/chunks/B3jXa2LJ.js +0 -1
  429. package/build/client/_app/immutable/chunks/B3jXa2LJ.js.br +0 -0
  430. package/build/client/_app/immutable/chunks/B3jXa2LJ.js.gz +0 -0
  431. package/build/client/_app/immutable/chunks/BEDHe9fo.js +0 -1
  432. package/build/client/_app/immutable/chunks/BEDHe9fo.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/BEDHe9fo.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/BJ_s8GdZ.js +0 -2
  435. package/build/client/_app/immutable/chunks/BJ_s8GdZ.js.br +0 -0
  436. package/build/client/_app/immutable/chunks/BJ_s8GdZ.js.gz +0 -0
  437. package/build/client/_app/immutable/chunks/BKd0HUNP.js +0 -1
  438. package/build/client/_app/immutable/chunks/BKd0HUNP.js.br +0 -1
  439. package/build/client/_app/immutable/chunks/BKd0HUNP.js.gz +0 -0
  440. package/build/client/_app/immutable/chunks/BLL4xbEj.js +0 -1
  441. package/build/client/_app/immutable/chunks/BLL4xbEj.js.br +0 -0
  442. package/build/client/_app/immutable/chunks/BLL4xbEj.js.gz +0 -0
  443. package/build/client/_app/immutable/chunks/BUUcNufp.js +0 -1
  444. package/build/client/_app/immutable/chunks/BUUcNufp.js.br +0 -0
  445. package/build/client/_app/immutable/chunks/BUUcNufp.js.gz +0 -0
  446. package/build/client/_app/immutable/chunks/BY5XjwMm.js +0 -1
  447. package/build/client/_app/immutable/chunks/BY5XjwMm.js.br +0 -0
  448. package/build/client/_app/immutable/chunks/BY5XjwMm.js.gz +0 -0
  449. package/build/client/_app/immutable/chunks/BdZ-2OIO.js +0 -1
  450. package/build/client/_app/immutable/chunks/BdZ-2OIO.js.br +0 -0
  451. package/build/client/_app/immutable/chunks/BdZ-2OIO.js.gz +0 -0
  452. package/build/client/_app/immutable/chunks/BdvB_H6l.js +0 -1
  453. package/build/client/_app/immutable/chunks/BdvB_H6l.js.br +0 -0
  454. package/build/client/_app/immutable/chunks/BdvB_H6l.js.gz +0 -0
  455. package/build/client/_app/immutable/chunks/Bm8huziG.js +0 -1
  456. package/build/client/_app/immutable/chunks/Bm8huziG.js.br +0 -0
  457. package/build/client/_app/immutable/chunks/Bm8huziG.js.gz +0 -0
  458. package/build/client/_app/immutable/chunks/BnMEvq-8.js +0 -1
  459. package/build/client/_app/immutable/chunks/BnMEvq-8.js.br +0 -0
  460. package/build/client/_app/immutable/chunks/BnMEvq-8.js.gz +0 -0
  461. package/build/client/_app/immutable/chunks/BngQrigD.js +0 -1
  462. package/build/client/_app/immutable/chunks/BngQrigD.js.br +0 -0
  463. package/build/client/_app/immutable/chunks/BngQrigD.js.gz +0 -0
  464. package/build/client/_app/immutable/chunks/BqQtpLRF.js +0 -5
  465. package/build/client/_app/immutable/chunks/BqQtpLRF.js.br +0 -0
  466. package/build/client/_app/immutable/chunks/BqQtpLRF.js.gz +0 -0
  467. package/build/client/_app/immutable/chunks/Bx2K4OII.js +0 -1
  468. package/build/client/_app/immutable/chunks/Bx2K4OII.js.br +0 -0
  469. package/build/client/_app/immutable/chunks/Bx2K4OII.js.gz +0 -0
  470. package/build/client/_app/immutable/chunks/Bypc6r1_.js +0 -1
  471. package/build/client/_app/immutable/chunks/Bypc6r1_.js.br +0 -0
  472. package/build/client/_app/immutable/chunks/Bypc6r1_.js.gz +0 -0
  473. package/build/client/_app/immutable/chunks/C16DfZ5a.js +0 -1
  474. package/build/client/_app/immutable/chunks/C16DfZ5a.js.br +0 -1
  475. package/build/client/_app/immutable/chunks/C16DfZ5a.js.gz +0 -0
  476. package/build/client/_app/immutable/chunks/C3Yi7wCu.js +0 -1
  477. package/build/client/_app/immutable/chunks/C3Yi7wCu.js.br +0 -0
  478. package/build/client/_app/immutable/chunks/C3Yi7wCu.js.gz +0 -0
  479. package/build/client/_app/immutable/chunks/C3e5IrpE.js +0 -1
  480. package/build/client/_app/immutable/chunks/C3e5IrpE.js.br +0 -0
  481. package/build/client/_app/immutable/chunks/C3e5IrpE.js.gz +0 -0
  482. package/build/client/_app/immutable/chunks/C3o9xHsB.js +0 -1
  483. package/build/client/_app/immutable/chunks/C3o9xHsB.js.br +0 -0
  484. package/build/client/_app/immutable/chunks/C3o9xHsB.js.gz +0 -0
  485. package/build/client/_app/immutable/chunks/C6q0X9xa.js +0 -1
  486. package/build/client/_app/immutable/chunks/C6q0X9xa.js.br +0 -0
  487. package/build/client/_app/immutable/chunks/C6q0X9xa.js.gz +0 -0
  488. package/build/client/_app/immutable/chunks/C74jQQYs.js +0 -1
  489. package/build/client/_app/immutable/chunks/C74jQQYs.js.br +0 -0
  490. package/build/client/_app/immutable/chunks/C74jQQYs.js.gz +0 -0
  491. package/build/client/_app/immutable/chunks/CBHYGBBU.js +0 -4
  492. package/build/client/_app/immutable/chunks/CBHYGBBU.js.br +0 -0
  493. package/build/client/_app/immutable/chunks/CBHYGBBU.js.gz +0 -0
  494. package/build/client/_app/immutable/chunks/CD3hbDYc.js +0 -1
  495. package/build/client/_app/immutable/chunks/CD3hbDYc.js.br +0 -0
  496. package/build/client/_app/immutable/chunks/CD3hbDYc.js.gz +0 -0
  497. package/build/client/_app/immutable/chunks/CE3Ue5FU.js +0 -1
  498. package/build/client/_app/immutable/chunks/CE3Ue5FU.js.br +0 -0
  499. package/build/client/_app/immutable/chunks/CE3Ue5FU.js.gz +0 -0
  500. package/build/client/_app/immutable/chunks/CGGuNYjO.js +0 -1
  501. package/build/client/_app/immutable/chunks/CGGuNYjO.js.br +0 -0
  502. package/build/client/_app/immutable/chunks/CGGuNYjO.js.gz +0 -0
  503. package/build/client/_app/immutable/chunks/CH_9Gtej.js +0 -1
  504. package/build/client/_app/immutable/chunks/CH_9Gtej.js.br +0 -0
  505. package/build/client/_app/immutable/chunks/CH_9Gtej.js.gz +0 -0
  506. package/build/client/_app/immutable/chunks/CIj4gWfs.js +0 -1
  507. package/build/client/_app/immutable/chunks/CIj4gWfs.js.br +0 -0
  508. package/build/client/_app/immutable/chunks/CIj4gWfs.js.gz +0 -0
  509. package/build/client/_app/immutable/chunks/CJ3NIasv.js +0 -1
  510. package/build/client/_app/immutable/chunks/CJ3NIasv.js.br +0 -0
  511. package/build/client/_app/immutable/chunks/CJ3NIasv.js.gz +0 -0
  512. package/build/client/_app/immutable/chunks/CKEJURpk.js +0 -1
  513. package/build/client/_app/immutable/chunks/CKEJURpk.js.br +0 -0
  514. package/build/client/_app/immutable/chunks/CKEJURpk.js.gz +0 -0
  515. package/build/client/_app/immutable/chunks/CPmGhju_.js +0 -1
  516. package/build/client/_app/immutable/chunks/CPmGhju_.js.br +0 -1
  517. package/build/client/_app/immutable/chunks/CPmGhju_.js.gz +0 -0
  518. package/build/client/_app/immutable/chunks/CXcL7cOb.js +0 -1
  519. package/build/client/_app/immutable/chunks/CXcL7cOb.js.br +0 -0
  520. package/build/client/_app/immutable/chunks/CXcL7cOb.js.gz +0 -0
  521. package/build/client/_app/immutable/chunks/CXgAyvD-.js +0 -1
  522. package/build/client/_app/immutable/chunks/CXgAyvD-.js.br +0 -0
  523. package/build/client/_app/immutable/chunks/CXgAyvD-.js.gz +0 -0
  524. package/build/client/_app/immutable/chunks/CZBcpBnY.js +0 -1
  525. package/build/client/_app/immutable/chunks/CZBcpBnY.js.br +0 -0
  526. package/build/client/_app/immutable/chunks/CZBcpBnY.js.gz +0 -0
  527. package/build/client/_app/immutable/chunks/Cb-gOV5k.js +0 -1
  528. package/build/client/_app/immutable/chunks/Cb-gOV5k.js.br +0 -0
  529. package/build/client/_app/immutable/chunks/Cb-gOV5k.js.gz +0 -0
  530. package/build/client/_app/immutable/chunks/Cl7r7DFs.js +0 -1
  531. package/build/client/_app/immutable/chunks/Cl7r7DFs.js.br +0 -0
  532. package/build/client/_app/immutable/chunks/Cl7r7DFs.js.gz +0 -0
  533. package/build/client/_app/immutable/chunks/Cm8CSK8p.js +0 -1
  534. package/build/client/_app/immutable/chunks/Cm8CSK8p.js.br +0 -0
  535. package/build/client/_app/immutable/chunks/Cm8CSK8p.js.gz +0 -0
  536. package/build/client/_app/immutable/chunks/Cng04DK0.js +0 -1
  537. package/build/client/_app/immutable/chunks/Cng04DK0.js.br +0 -0
  538. package/build/client/_app/immutable/chunks/Cng04DK0.js.gz +0 -0
  539. package/build/client/_app/immutable/chunks/CqOnPLsz.js +0 -1
  540. package/build/client/_app/immutable/chunks/CqOnPLsz.js.br +0 -0
  541. package/build/client/_app/immutable/chunks/CqOnPLsz.js.gz +0 -0
  542. package/build/client/_app/immutable/chunks/Cqy1lT7e.js +0 -1
  543. package/build/client/_app/immutable/chunks/Cqy1lT7e.js.br +0 -0
  544. package/build/client/_app/immutable/chunks/Cqy1lT7e.js.gz +0 -0
  545. package/build/client/_app/immutable/chunks/CrjvgIhR.js +0 -1
  546. package/build/client/_app/immutable/chunks/CrjvgIhR.js.br +0 -0
  547. package/build/client/_app/immutable/chunks/CrjvgIhR.js.gz +0 -0
  548. package/build/client/_app/immutable/chunks/CsRBDrRN.js +0 -1
  549. package/build/client/_app/immutable/chunks/CsRBDrRN.js.br +0 -0
  550. package/build/client/_app/immutable/chunks/CsRBDrRN.js.gz +0 -0
  551. package/build/client/_app/immutable/chunks/CwwFbl61.js +0 -62
  552. package/build/client/_app/immutable/chunks/CwwFbl61.js.br +0 -0
  553. package/build/client/_app/immutable/chunks/CwwFbl61.js.gz +0 -0
  554. package/build/client/_app/immutable/chunks/D0JSbOCt.js +0 -1
  555. package/build/client/_app/immutable/chunks/D0JSbOCt.js.br +0 -0
  556. package/build/client/_app/immutable/chunks/D0JSbOCt.js.gz +0 -0
  557. package/build/client/_app/immutable/chunks/D25j-NnT.js +0 -1
  558. package/build/client/_app/immutable/chunks/D25j-NnT.js.br +0 -0
  559. package/build/client/_app/immutable/chunks/D25j-NnT.js.gz +0 -0
  560. package/build/client/_app/immutable/chunks/D5hwKKRv.js +0 -1
  561. package/build/client/_app/immutable/chunks/D5hwKKRv.js.br +0 -0
  562. package/build/client/_app/immutable/chunks/D5hwKKRv.js.gz +0 -0
  563. package/build/client/_app/immutable/chunks/DBxUIz0k.js +0 -1
  564. package/build/client/_app/immutable/chunks/DBxUIz0k.js.br +0 -0
  565. package/build/client/_app/immutable/chunks/DBxUIz0k.js.gz +0 -0
  566. package/build/client/_app/immutable/chunks/DH7t4M9x.js +0 -1
  567. package/build/client/_app/immutable/chunks/DH7t4M9x.js.br +0 -0
  568. package/build/client/_app/immutable/chunks/DH7t4M9x.js.gz +0 -0
  569. package/build/client/_app/immutable/chunks/DIsXG5DF.js +0 -1
  570. package/build/client/_app/immutable/chunks/DIsXG5DF.js.br +0 -0
  571. package/build/client/_app/immutable/chunks/DIsXG5DF.js.gz +0 -0
  572. package/build/client/_app/immutable/chunks/DNgh8jh8.js +0 -1
  573. package/build/client/_app/immutable/chunks/DNgh8jh8.js.br +0 -0
  574. package/build/client/_app/immutable/chunks/DNgh8jh8.js.gz +0 -0
  575. package/build/client/_app/immutable/chunks/DOWSzKHL.js +0 -1
  576. package/build/client/_app/immutable/chunks/DOWSzKHL.js.br +0 -0
  577. package/build/client/_app/immutable/chunks/DOWSzKHL.js.gz +0 -0
  578. package/build/client/_app/immutable/chunks/DSbOoIPC.js +0 -1
  579. package/build/client/_app/immutable/chunks/DSbOoIPC.js.br +0 -0
  580. package/build/client/_app/immutable/chunks/DSbOoIPC.js.gz +0 -0
  581. package/build/client/_app/immutable/chunks/DUYBhCSA.js +0 -1
  582. package/build/client/_app/immutable/chunks/DUYBhCSA.js.br +0 -0
  583. package/build/client/_app/immutable/chunks/DUYBhCSA.js.gz +0 -0
  584. package/build/client/_app/immutable/chunks/DfDxKk91.js +0 -2
  585. package/build/client/_app/immutable/chunks/DfDxKk91.js.br +0 -0
  586. package/build/client/_app/immutable/chunks/DfDxKk91.js.gz +0 -0
  587. package/build/client/_app/immutable/chunks/DhfQd5fc.js +0 -1
  588. package/build/client/_app/immutable/chunks/DhfQd5fc.js.br +0 -0
  589. package/build/client/_app/immutable/chunks/DhfQd5fc.js.gz +0 -0
  590. package/build/client/_app/immutable/chunks/DmYFgZ4g.js +0 -6
  591. package/build/client/_app/immutable/chunks/DmYFgZ4g.js.br +0 -0
  592. package/build/client/_app/immutable/chunks/DmYFgZ4g.js.gz +0 -0
  593. package/build/client/_app/immutable/chunks/Dn-83VwV.js +0 -1
  594. package/build/client/_app/immutable/chunks/Dn-83VwV.js.br +0 -1
  595. package/build/client/_app/immutable/chunks/Dn-83VwV.js.gz +0 -0
  596. package/build/client/_app/immutable/chunks/Dnnuh6qK.js +0 -1
  597. package/build/client/_app/immutable/chunks/Dnnuh6qK.js.br +0 -0
  598. package/build/client/_app/immutable/chunks/Dnnuh6qK.js.gz +0 -0
  599. package/build/client/_app/immutable/chunks/DocaGLjv.js +0 -1
  600. package/build/client/_app/immutable/chunks/DocaGLjv.js.br +0 -0
  601. package/build/client/_app/immutable/chunks/DocaGLjv.js.gz +0 -0
  602. package/build/client/_app/immutable/chunks/Dqlbq2bD.js +0 -2
  603. package/build/client/_app/immutable/chunks/Dqlbq2bD.js.br +0 -0
  604. package/build/client/_app/immutable/chunks/Dqlbq2bD.js.gz +0 -0
  605. package/build/client/_app/immutable/chunks/Dy07EIjs.js +0 -1
  606. package/build/client/_app/immutable/chunks/Dy07EIjs.js.br +0 -0
  607. package/build/client/_app/immutable/chunks/Dy07EIjs.js.gz +0 -0
  608. package/build/client/_app/immutable/chunks/Dy_X9Fgu.js +0 -1
  609. package/build/client/_app/immutable/chunks/Dy_X9Fgu.js.br +0 -0
  610. package/build/client/_app/immutable/chunks/Dy_X9Fgu.js.gz +0 -0
  611. package/build/client/_app/immutable/chunks/I26VQaTs.js +0 -2
  612. package/build/client/_app/immutable/chunks/I26VQaTs.js.br +0 -0
  613. package/build/client/_app/immutable/chunks/I26VQaTs.js.gz +0 -0
  614. package/build/client/_app/immutable/chunks/IsTbwoyV.js +0 -1
  615. package/build/client/_app/immutable/chunks/IsTbwoyV.js.br +0 -0
  616. package/build/client/_app/immutable/chunks/IsTbwoyV.js.gz +0 -0
  617. package/build/client/_app/immutable/chunks/Km1CymxJ.js +0 -1
  618. package/build/client/_app/immutable/chunks/Km1CymxJ.js.br +0 -0
  619. package/build/client/_app/immutable/chunks/Km1CymxJ.js.gz +0 -0
  620. package/build/client/_app/immutable/chunks/Me06-nC7.js +0 -1
  621. package/build/client/_app/immutable/chunks/Me06-nC7.js.br +0 -0
  622. package/build/client/_app/immutable/chunks/Me06-nC7.js.gz +0 -0
  623. package/build/client/_app/immutable/chunks/PQApLOOr.js +0 -1
  624. package/build/client/_app/immutable/chunks/PQApLOOr.js.br +0 -0
  625. package/build/client/_app/immutable/chunks/PQApLOOr.js.gz +0 -0
  626. package/build/client/_app/immutable/chunks/WcvPAxq7.js +0 -1
  627. package/build/client/_app/immutable/chunks/WcvPAxq7.js.br +0 -0
  628. package/build/client/_app/immutable/chunks/WcvPAxq7.js.gz +0 -0
  629. package/build/client/_app/immutable/chunks/ZoG8qKMx.js +0 -1
  630. package/build/client/_app/immutable/chunks/ZoG8qKMx.js.br +0 -0
  631. package/build/client/_app/immutable/chunks/ZoG8qKMx.js.gz +0 -0
  632. package/build/client/_app/immutable/chunks/qb_JS6rP.js +0 -1
  633. package/build/client/_app/immutable/chunks/qb_JS6rP.js.br +0 -0
  634. package/build/client/_app/immutable/chunks/qb_JS6rP.js.gz +0 -0
  635. package/build/client/_app/immutable/chunks/riwaJFkb.js +0 -3
  636. package/build/client/_app/immutable/chunks/riwaJFkb.js.br +0 -0
  637. package/build/client/_app/immutable/chunks/riwaJFkb.js.gz +0 -0
  638. package/build/client/_app/immutable/chunks/wDLVOANX.js +0 -2
  639. package/build/client/_app/immutable/chunks/wDLVOANX.js.br +0 -0
  640. package/build/client/_app/immutable/chunks/wDLVOANX.js.gz +0 -0
  641. package/build/client/_app/immutable/entry/app.CNnpPQtw.js +0 -2
  642. package/build/client/_app/immutable/entry/app.CNnpPQtw.js.br +0 -0
  643. package/build/client/_app/immutable/entry/app.CNnpPQtw.js.gz +0 -0
  644. package/build/client/_app/immutable/entry/start.BGpEqKH0.js +0 -1
  645. package/build/client/_app/immutable/entry/start.BGpEqKH0.js.br +0 -0
  646. package/build/client/_app/immutable/entry/start.BGpEqKH0.js.gz +0 -0
  647. package/build/client/_app/immutable/nodes/0.CGlGdRWB.js +0 -8
  648. package/build/client/_app/immutable/nodes/0.CGlGdRWB.js.br +0 -0
  649. package/build/client/_app/immutable/nodes/0.CGlGdRWB.js.gz +0 -0
  650. package/build/client/_app/immutable/nodes/1.B4M0q1v4.js +0 -1
  651. package/build/client/_app/immutable/nodes/1.B4M0q1v4.js.br +0 -0
  652. package/build/client/_app/immutable/nodes/1.B4M0q1v4.js.gz +0 -0
  653. package/build/client/_app/immutable/nodes/10.LJhhE6c8.js +0 -3
  654. package/build/client/_app/immutable/nodes/10.LJhhE6c8.js.br +0 -0
  655. package/build/client/_app/immutable/nodes/10.LJhhE6c8.js.gz +0 -0
  656. package/build/client/_app/immutable/nodes/11.CM_xAozz.js +0 -1
  657. package/build/client/_app/immutable/nodes/11.CM_xAozz.js.br +0 -0
  658. package/build/client/_app/immutable/nodes/11.CM_xAozz.js.gz +0 -0
  659. package/build/client/_app/immutable/nodes/12.UENbuJYy.js +0 -14
  660. package/build/client/_app/immutable/nodes/12.UENbuJYy.js.br +0 -0
  661. package/build/client/_app/immutable/nodes/12.UENbuJYy.js.gz +0 -0
  662. package/build/client/_app/immutable/nodes/13.NbAfy9an.js +0 -150
  663. package/build/client/_app/immutable/nodes/13.NbAfy9an.js.br +0 -0
  664. package/build/client/_app/immutable/nodes/13.NbAfy9an.js.gz +0 -0
  665. package/build/client/_app/immutable/nodes/15.BgyPK-jf.js +0 -11
  666. package/build/client/_app/immutable/nodes/15.BgyPK-jf.js.br +0 -0
  667. package/build/client/_app/immutable/nodes/15.BgyPK-jf.js.gz +0 -0
  668. package/build/client/_app/immutable/nodes/16.DcgniGJK.js +0 -9
  669. package/build/client/_app/immutable/nodes/16.DcgniGJK.js.br +0 -0
  670. package/build/client/_app/immutable/nodes/16.DcgniGJK.js.gz +0 -0
  671. package/build/client/_app/immutable/nodes/17.CB9DXHxS.js +0 -2
  672. package/build/client/_app/immutable/nodes/17.CB9DXHxS.js.br +0 -0
  673. package/build/client/_app/immutable/nodes/17.CB9DXHxS.js.gz +0 -0
  674. package/build/client/_app/immutable/nodes/18.BHa-KoGE.js +0 -6
  675. package/build/client/_app/immutable/nodes/18.BHa-KoGE.js.br +0 -0
  676. package/build/client/_app/immutable/nodes/18.BHa-KoGE.js.gz +0 -0
  677. package/build/client/_app/immutable/nodes/19._VaGaWBD.js +0 -1
  678. package/build/client/_app/immutable/nodes/19._VaGaWBD.js.br +0 -0
  679. package/build/client/_app/immutable/nodes/19._VaGaWBD.js.gz +0 -0
  680. package/build/client/_app/immutable/nodes/2.DKxd0T79.js +0 -14
  681. package/build/client/_app/immutable/nodes/2.DKxd0T79.js.br +0 -0
  682. package/build/client/_app/immutable/nodes/2.DKxd0T79.js.gz +0 -0
  683. package/build/client/_app/immutable/nodes/20.C10FVhEw.js +0 -10
  684. package/build/client/_app/immutable/nodes/20.C10FVhEw.js.br +0 -0
  685. package/build/client/_app/immutable/nodes/20.C10FVhEw.js.gz +0 -0
  686. package/build/client/_app/immutable/nodes/21.BhyJIr3P.js +0 -6
  687. package/build/client/_app/immutable/nodes/21.BhyJIr3P.js.br +0 -0
  688. package/build/client/_app/immutable/nodes/21.BhyJIr3P.js.gz +0 -0
  689. package/build/client/_app/immutable/nodes/3.CcRoRYc-.js +0 -5
  690. package/build/client/_app/immutable/nodes/3.CcRoRYc-.js.br +0 -0
  691. package/build/client/_app/immutable/nodes/3.CcRoRYc-.js.gz +0 -0
  692. package/build/client/_app/immutable/nodes/4.BulJqGnt.js +0 -1
  693. package/build/client/_app/immutable/nodes/4.BulJqGnt.js.br +0 -0
  694. package/build/client/_app/immutable/nodes/4.BulJqGnt.js.gz +0 -0
  695. package/build/client/_app/immutable/nodes/5.BT3hraTU.js +0 -1
  696. package/build/client/_app/immutable/nodes/5.BT3hraTU.js.br +0 -0
  697. package/build/client/_app/immutable/nodes/5.BT3hraTU.js.gz +0 -0
  698. package/build/client/_app/immutable/nodes/6.DtNMha3Y.js +0 -7
  699. package/build/client/_app/immutable/nodes/6.DtNMha3Y.js.br +0 -0
  700. package/build/client/_app/immutable/nodes/6.DtNMha3Y.js.gz +0 -0
  701. package/build/client/_app/immutable/nodes/7.Bv6Vn8eC.js +0 -4
  702. package/build/client/_app/immutable/nodes/7.Bv6Vn8eC.js.br +0 -0
  703. package/build/client/_app/immutable/nodes/7.Bv6Vn8eC.js.gz +0 -0
  704. package/build/client/_app/immutable/nodes/9.DgQz7-Cb.js +0 -1
  705. package/build/client/_app/immutable/nodes/9.DgQz7-Cb.js.br +0 -0
  706. package/build/client/_app/immutable/nodes/9.DgQz7-Cb.js.gz +0 -0
  707. package/build/server/chunks/chunks/DecisionCard.js-B1YgF5EF.js +0 -446
  708. package/build/server/chunks/chunks/DictateTextarea.js-CbkGsd1h.js +0 -415
  709. package/build/server/chunks/chunks/EtaLine.js-5SCP9O1f.js +0 -79
  710. package/build/server/chunks/chunks/EveryProjectSwitch.js-DzcwkHh4.js +0 -200
  711. package/build/server/chunks/chunks/ProjectBanner.js-ByPp7Y_e.js +0 -111
  712. package/build/server/chunks/chunks/ResizableRail.js-BS8hRLV0.js +0 -395
  713. package/build/server/chunks/chunks/chat.svelte.js--pRzj_Xo.js +0 -545
  714. package/build/server/chunks/chunks/compass.js-k2sRSGWn.js +0 -23
  715. package/build/server/chunks/chunks/detail.js-DDoqeh1A.js +0 -144
  716. package/build/server/chunks/chunks/git-pull-request.js-BMzktlcs.js +0 -20
  717. package/build/server/chunks/chunks/http2.js-fIdVBJaD.js +0 -26
  718. package/build/server/chunks/chunks/internal.js-BlgsFxfY.js +0 -146
  719. package/build/server/chunks/chunks/keys.js-CdtCzv-v.js +0 -20
  720. package/build/server/chunks/chunks/live.svelte.js-By2dseJB.js +0 -253
  721. package/build/server/chunks/chunks/message-square-text.js-CyRiNGB8.js +0 -25
  722. package/build/server/chunks/chunks/monitor-play.js-4ed3ghDf.js +0 -28
  723. package/build/server/chunks/chunks/prreview.js-Cg9LDxJp.js +0 -92
  724. package/build/server/chunks/chunks/repo.js-CuWUNKbP.js +0 -33
  725. package/build/server/chunks/chunks/runtime.js-BuGWYyZZ.js +0 -16470
  726. package/build/server/chunks/chunks/service.js-DQK1kj-4.js +0 -914
  727. package/build/server/chunks/chunks/slots.svelte.js-0Ejhe-hS.js +0 -34
  728. package/build/server/chunks/chunks/store.js-XXOawxPN.js +0 -317
  729. package/build/server/chunks/chunks/uploads.js-D45pIvPk.js +0 -107
  730. package/build/server/chunks/chunks/view.js-CrOFjYk4.js +0 -76
  731. package/build/server/chunks/entries/endpoints/api/apps/_op_/_server.ts.js-DSkVUNdc.js +0 -90
  732. package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-CYnLRjOH.js +0 -106
  733. package/build/server/chunks/entries/endpoints/api/files/_server.ts.js-CG8IGmSp.js +0 -49
  734. package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-fmzKkrXb.js +0 -83
  735. package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-BgIU3add.js +0 -119
  736. package/build/server/chunks/entries/endpoints/api/firstmate/dismiss/_server.ts.js-Ba9E_53E.js +0 -45
  737. package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-BQZBERsR.js +0 -51
  738. package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-BnT3VHSx.js +0 -44
  739. package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js-DRYHwJ7R.js +0 -66
  740. package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-BD2B1ByG.js +0 -54
  741. package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-DB-m2WWH.js +0 -44
  742. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_day_/_id_/_name_/_server.ts.js-CK3swjFX.js +0 -32
  743. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_server.ts.js-WCE63uer.js +0 -40
  744. package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-D5-3acjK.js +0 -36
  745. package/build/server/chunks/entries/endpoints/api/gateway/_server.ts.js-B2I7jHdc.js +0 -100
  746. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BFSqEG5B.js +0 -36
  747. package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-BpUaHfsf.js +0 -60
  748. package/build/server/chunks/entries/endpoints/api/inbox/report/_server.ts.js-BNRD4HyF.js +0 -51
  749. package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js-7808SNDM.js +0 -36
  750. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/config/_server.ts.js-B-cQTShG.js +0 -71
  751. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/load/_server.ts.js-CPAHSih2.js +0 -23
  752. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/ui/_...path_/_server.ts.js-DW3M1pzH.js +0 -59
  753. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/update/_server.ts.js-DDTSw0pX.js +0 -35
  754. package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-BlD-1l6V.js +0 -36
  755. package/build/server/chunks/entries/endpoints/api/plugins/inspect/_server.ts.js-IT-jeApI.js +0 -35
  756. package/build/server/chunks/entries/endpoints/api/plugins/install/_server.ts.js-DQqKN2MF.js +0 -38
  757. package/build/server/chunks/entries/endpoints/api/plugins/updates/_server.ts.js-D7rx-bwI.js +0 -23
  758. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-BC0HjK9M.js +0 -41
  759. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-aVmcjStV.js +0 -50
  760. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-BuHN_WYU.js +0 -62
  761. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-Dx0x7sws.js +0 -49
  762. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-CcCDMmmF.js +0 -72
  763. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-BsOOyTNM.js +0 -55
  764. package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-DGyU8Zmu.js +0 -55
  765. package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-1B8fEiat.js +0 -44
  766. package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-D4CKazw-.js +0 -41
  767. package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-CUKo26Ia.js +0 -60
  768. package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-BOa2lgvP.js +0 -48
  769. package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-BmI8Ofms.js +0 -93
  770. package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-C2mJi22c.js +0 -110
  771. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/_server.ts.js-8pN6fHl8.js +0 -43
  772. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/ask/_server.ts.js-D6D9O8Su.js +0 -49
  773. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/check/_server.ts.js-BAaCwzOf.js +0 -48
  774. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/guide/_server.ts.js-DfP2iNta.js +0 -48
  775. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/runs/_run_/stop/_server.ts.js-DZDaSSYT.js +0 -41
  776. package/build/server/chunks/entries/endpoints/api/vault/_server.ts.js-CJNUplXf.js +0 -54
  777. package/build/server/chunks/entries/endpoints/api/wheelhouse/update/_server.ts.js-CVqjWsw8.js +0 -23
  778. package/build/server/chunks/entries/endpoints/api/wheelhouse/upgrade/_server.ts.js-CE2zzWtC.js +0 -23
  779. package/build/server/chunks/entries/hooks.server.js-FjSdw_QS.js +0 -54
  780. package/build/server/chunks/entries/pages/_layout.server.ts.js-BkWAC802.js +0 -22
  781. package/build/server/chunks/entries/pages/_layout.svelte.js-DstinFjN.js +0 -8746
  782. package/build/server/chunks/entries/pages/_page.server.ts.js-BXkuWJh7.js +0 -16
  783. package/build/server/chunks/entries/pages/_page.svelte.js-ehBbQlco.js +0 -2194
  784. package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-B2YZfjBk.js +0 -11
  785. package/build/server/chunks/entries/pages/files/_page.server.ts.js-CT3pm5a6.js +0 -17
  786. package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-CcLkegHq.js +0 -46
  787. package/build/server/chunks/entries/pages/harbour/_page.svelte.js-hBC6QUHZ.js +0 -580
  788. package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-BazCFIuz.js +0 -11
  789. package/build/server/chunks/entries/pages/inbox/_page.svelte.js-rjm303kf.js +0 -185
  790. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-BRQpg3kQ.js +0 -16
  791. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DazeLLT8.js +0 -52
  792. package/build/server/chunks/entries/pages/projects/_id_/_page.server.ts.js-BIypd_XU.js +0 -23
  793. package/build/server/chunks/entries/pages/projects/_id_/_page.svelte.js-DJajtLup.js +0 -945
  794. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-BwAOIwUv.js +0 -21
  795. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-Cm8mxt61.js +0 -74
  796. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-CnfqlJgl.js +0 -27
  797. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-CuMA-rCM.js +0 -433
  798. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-CG14M19O.js +0 -15
  799. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-mtGQO-dJ.js +0 -1880
  800. package/build/server/chunks/entries/pages/settings/gateway/_page.server.ts.js-Zgfe-LX9.js +0 -11
  801. package/build/server/chunks/entries/pages/settings/plugins/_page.server.ts.js-DZ4oJmnj.js +0 -19
  802. package/build/server/chunks/entries/pages/settings/plugins/_page.svelte.js-gBZCjZlg.js +0 -1847
  803. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.server.ts.js-Dm-tgyir.js +0 -17
  804. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.svelte.js-BFGxdrrb.js +0 -220
  805. package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-Llp3a0Fb.js +0 -25
  806. package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-LgJMZ2RE.js +0 -2107
  807. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-DuWuEdZ2.js +0 -24
  808. package/build/server/chunks/entries/pages/tasks/_id_/review/_page.server.ts.js-BMQF9I9c.js +0 -15
  809. package/build/server/chunks/entries/pages/tasks/_id_/review/_page.svelte.js-k659tqiw.js +0 -657
  810. package/build/server/chunks/entries/pages/time/_page.server.ts.js-DstGu3ji.js +0 -11
  811. package/build/server/chunks/handler-BRidfBIY.js +0 -1474
  812. package/build/server/chunks/index.js-Dhoi5wa_.js +0 -4296
  813. package/build/server/chunks/manifest.js-CF4aVg77.js +0 -537
  814. package/build/server/chunks/nodes/0.js-B2yTHeOL.js +0 -41
  815. package/build/server/chunks/nodes/1.js-BoD2_1or.js +0 -9
  816. package/build/server/chunks/nodes/10.js-C2XmTW8j.js +0 -43
  817. package/build/server/chunks/nodes/11.js-CAJnQkWH.js +0 -42
  818. package/build/server/chunks/nodes/12.js-Cu57dOUj.js +0 -43
  819. package/build/server/chunks/nodes/13.js-1g1BRnk_.js +0 -42
  820. package/build/server/chunks/nodes/15.js-BqL5jpLU.js +0 -41
  821. package/build/server/chunks/nodes/16.js-DibdTAKZ.js +0 -41
  822. package/build/server/chunks/nodes/17.js-BUFA5Avk.js +0 -44
  823. package/build/server/chunks/nodes/18.js-cxLrKmMx.js +0 -42
  824. package/build/server/chunks/nodes/19.js-DMbI3mDp.js +0 -42
  825. package/build/server/chunks/nodes/2.js-8QSIq2KZ.js +0 -41
  826. package/build/server/chunks/nodes/20.js-BNXpftag.js +0 -42
  827. package/build/server/chunks/nodes/21.js-DdJK6h7p.js +0 -41
  828. package/build/server/chunks/nodes/3.js-DHT7fiTy.js +0 -41
  829. package/build/server/chunks/nodes/4.js-DvjrLz8n.js +0 -41
  830. package/build/server/chunks/nodes/5.js-CvUGUQbi.js +0 -45
  831. package/build/server/chunks/nodes/6.js-ptKHsAn6.js +0 -41
  832. package/build/server/chunks/nodes/7.js-BigF9SYG.js +0 -9
  833. package/build/server/chunks/nodes/9.js-DkS4HHqV.js +0 -41
  834. /package/build/client/_app/immutable/assets/{DictateTextarea.Dga9zAug.css → checks.Dga9zAug.css} +0 -0
  835. /package/build/client/_app/immutable/assets/{DictateTextarea.Dga9zAug.css.br → checks.Dga9zAug.css.br} +0 -0
  836. /package/build/client/_app/immutable/assets/{DictateTextarea.Dga9zAug.css.gz → checks.Dga9zAug.css.gz} +0 -0
@@ -1,14 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{o as Xa}from"../chunks/BngQrigD.js";import{l as de,m as ua,g as e,v as j,k as Yt,p as Rt,f as ne,i as u,o as C,s as a,r as o,t as g,d as w,a as r,b as jt,h,x as te,z as ea,bD as wn,c as d,n as We,bA as Qa,Q as Za,w as sa,ah as kn,j as oa,u as aa,y as yn,bp as zn,af as Jt,q as Sn,$ as An}from"../chunks/BJ_s8GdZ.js";import{s as ut,r as vt,p as gt,i as f}from"../chunks/CD3hbDYc.js";import{e as $e,s as L,a as Fe,i as Mn,h as In}from"../chunks/DfDxKk91.js";import{p as la}from"../chunks/C16DfZ5a.js";import{c as Br,a as Tn,l as za}from"../chunks/Bm8huziG.js";import{a as Cn,d as Ka,p as Aa,f as zt,b as Da,c as En}from"../chunks/3Of2kn6M.js";import{s as vr,a as fr}from"../chunks/CE3Ue5FU.js";import{a as pr,f as Rn,h as Hr,p as jn,A as Dn}from"../chunks/DH7t4M9x.js";import{h as Wr,m as Ur}from"../chunks/CwwFbl61.js";import{c as Fa}from"../chunks/Dy_X9Fgu.js";import{S as mr,B as gr,a as hr,G as xr}from"../chunks/C6q0X9xa.js";import{b as ma}from"../chunks/CJ3NIasv.js";import{S as Fn}from"../chunks/BXN538J3.js";import{a as $n,L as Ln,M as Yr,o as qn,e as On,S as Nn}from"../chunks/CGGuNYjO.js";import{F as Ja}from"../chunks/DNgh8jh8.js";import{f as _r}from"../chunks/BkLV0FAz.js";import{A as Pn,l as br,a as Bn,m as Hn,B as Wn,e as Un,M as Yn,S as Kn}from"../chunks/DmYFgZ4g.js";import{i as ca}from"../chunks/DhfQd5fc.js";import{a as $a}from"../chunks/DKQe4Tss.js";import{L as Gn}from"../chunks/IsTbwoyV.js";import{C as Ma}from"../chunks/DUYBhCSA.js";import{L as Nt}from"../chunks/Cl7r7DFs.js";import{C as Kr}from"../chunks/D25j-NnT.js";import{I as ft}from"../chunks/Bypc6r1_.js";import{I as Vn,A as Xn}from"../chunks/Km1CymxJ.js";import{S as Qn}from"../chunks/Cm8CSK8p.js";import{S as ga}from"../chunks/Me06-nC7.js";import{b as Zn}from"../chunks/D0JSbOCt.js";import{O as Gr,P as Jn,R as es}from"../chunks/Cqy1lT7e.js";import{C as Ia}from"../chunks/ZoG8qKMx.js";import{M as ts}from"../chunks/D5hwKKRv.js";import{R as er}from"../chunks/CXcL7cOb.js";import{A as Vr,a as as}from"../chunks/DIsXG5DF.js";import{C as rs}from"../chunks/CH_9Gtej.js";import{M as ns}from"../chunks/DBxUIz0k.js";import{E as ss}from"../chunks/0TvUxbRv.js";import{G as tr}from"../chunks/C3e5IrpE.js";import{i as os}from"../chunks/Dy07EIjs.js";import{X as ha}from"../chunks/BdZ-2OIO.js";import{M as is,e as ls,d as ds,a as cs}from"../chunks/B3jXa2LJ.js";import{M as us}from"../chunks/Bx2K4OII.js";import{C as Ra}from"../chunks/DOWSzKHL.js";import{_ as wr}from"../chunks/CZPeboo-.js";import{B as vs}from"../chunks/PQApLOOr.js";import{T as fs}from"../chunks/CKEJURpk.js";import{H as Xr}from"../chunks/BUUcNufp.js";import{t as ps,s as ms,a as gs}from"../chunks/CR7y1ULG.js";import{C as hs,E as xs}from"../chunks/BdvB_H6l.js";import{T as _s}from"../chunks/A8GZ5Uuc.js";import{A as Qr}from"../chunks/Cng04DK0.js";import{S as bs}from"../chunks/qb_JS6rP.js";import{M as ws}from"../chunks/5fVeMNeJ.js";import{O as ks}from"../chunks/I26VQaTs.js";import{M as ys}from"../chunks/Cb-gOV5k.js";import{r as zs}from"../chunks/wDLVOANX.js";var Ss=new Set(["$$slots","$$events","$$legacy"]);function Zr(n,t){let i=vt(t,Ss);const s={name:"app-window",size:24,node:[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}],["path",{d:"M10 4v4"}],["path",{d:"M2 8h20"}],["path",{d:"M6 4v4"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var As=new Set(["$$slots","$$events","$$legacy"]);function Ms(n,t){let i=vt(t,As);const s={name:"arrow-left-right",size:24,node:[["path",{d:"M8 3 4 7l4 4"}],["path",{d:"M4 7h16"}],["path",{d:"m16 21 4-4-4-4"}],["path",{d:"M20 17H4"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Is=new Set(["$$slots","$$events","$$legacy"]);function Ts(n,t){let i=vt(t,Is);const s={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10"}],["path",{d:"M7 17 17 7"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Cs=new Set(["$$slots","$$events","$$legacy"]);function kr(n,t){let i=vt(t,Cs);const s={name:"bot",size:24,node:[["path",{d:"M12 8V4H8"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"}],["path",{d:"M2 14h2"}],["path",{d:"M20 14h2"}],["path",{d:"M15 13v2"}],["path",{d:"M9 13v2"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Es=new Set(["$$slots","$$events","$$legacy"]);function Rs(n,t){let i=vt(t,Es);const s={name:"brain",size:24,node:[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var js=new Set(["$$slots","$$events","$$legacy"]);function xa(n,t){let i=vt(t,js);const s={name:"circle-x",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m15 9-6 6"}],["path",{d:"m9 9 6 6"}]],aliases:["x-circle"]};ft(n,ut(()=>i,{get icon(){return s}}))}var Ds=new Set(["$$slots","$$events","$$legacy"]);function Pa(n,t){let i=vt(t,Ds);const s={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z"}]],aliases:["file-edit"]};ft(n,ut(()=>i,{get icon(){return s}}))}var Fs=new Set(["$$slots","$$events","$$legacy"]);function yr(n,t){let i=vt(t,Fs);const s={name:"git-merge",size:24,node:[["circle",{cx:"18",cy:"18",r:"3"}],["circle",{cx:"6",cy:"6",r:"3"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var $s=new Set(["$$slots","$$events","$$legacy"]);function zr(n,t){let i=vt(t,$s);const s={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Ls=new Set(["$$slots","$$events","$$legacy"]);function qs(n,t){let i=vt(t,Ls);const s={name:"hash",size:24,node:[["line",{x1:"4",x2:"20",y1:"9",y2:"9"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Os=new Set(["$$slots","$$events","$$legacy"]);function Ns(n,t){let i=vt(t,Os);const s={name:"list-todo",size:24,node:[["path",{d:"M13 5h8"}],["path",{d:"M13 12h8"}],["path",{d:"M13 19h8"}],["path",{d:"m3 17 2 2 4-4"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Ps=new Set(["$$slots","$$events","$$legacy"]);function Bs(n,t){let i=vt(t,Ps);const s={name:"panel-left",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M9 3v18"}]],aliases:["sidebar"]};ft(n,ut(()=>i,{get icon(){return s}}))}var Hs=new Set(["$$slots","$$events","$$legacy"]);function Ws(n,t){let i=vt(t,Hs);const s={name:"panel-right",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M15 3v18"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Us=new Set(["$$slots","$$events","$$legacy"]);function Ys(n,t){let i=vt(t,Us);const s={name:"paperclip",size:24,node:[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Ks=new Set(["$$slots","$$events","$$legacy"]);function Jr(n,t){let i=vt(t,Ks);const s={name:"reply",size:24,node:[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4"}],["path",{d:"m9 17-5-5 5-5"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Gs=new Set(["$$slots","$$events","$$legacy"]);function Vs(n,t){let i=vt(t,Gs);const s={name:"square-slash",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9"}]],aliases:["slash-square"]};ft(n,ut(()=>i,{get icon(){return s}}))}var Xs=new Set(["$$slots","$$events","$$legacy"]);function Qs(n,t){let i=vt(t,Xs);const s={name:"unplug",size:24,node:[["path",{d:"m19 5 3-3"}],["path",{d:"m2 22 3-3"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"}],["path",{d:"M7.5 13.5 10 11"}],["path",{d:"M10.5 16.5 13 14"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var Zs=new Set(["$$slots","$$events","$$legacy"]);function Js(n,t){let i=vt(t,Zs);const s={name:"upload",size:24,node:[["path",{d:"M12 3v12"}],["path",{d:"m17 8-5-5-5 5"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var eo=new Set(["$$slots","$$events","$$legacy"]);function to(n,t){let i=vt(t,eo);const s={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}],["circle",{cx:"9",cy:"7",r:"4"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}var ao=new Set(["$$slots","$$events","$$legacy"]);function Sr(n,t){let i=vt(t,ao);const s={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]]};ft(n,ut(()=>i,{get icon(){return s}}))}function ro(n){if(n.stepFailed.length||n.trouble.some(i=>i.status==="failed"))return{label:"Something failed",tone:"danger"};const t=n.needsYou.length;return t?{label:`${t} need${t===1?"s":""} you`,tone:"sea"}:n.trouble.length?{label:"Keeping an eye on a problem",tone:"warning"}:{label:"All well",tone:"success"}}function no(){let n=null;return(t,i)=>{const s=t.searchParams.get("chat");if(!s)return n=null,null;if(t.href===n)return null;const v=i?.tasks.find(M=>M.id===s);return v?(n=t.href,{kind:"task",id:v.id,title:v.shortTitle,project:i?.projects.find(M=>M.id===v.projectId)?.name??null,url:null}):null}}function so(){let n=null;return(t,i)=>{const s=t.searchParams.get("draft");return s?t.href===n||t.searchParams.get("chat")&&!i?null:(n=t.href,s):(n=null,null)}}const oo="x-wheelhouse-filename",io="x-wheelhouse-filetype",La=25*1024*1024;function ar(n){return n<1024?`${n} B`:n<1024*1024?`${Math.round(n/1024)} KB`:`${(n/(1024*1024)).toFixed(1)} MB`}function lo(n){return`[attached file ${n.path} — ${n.name}, ${ar(n.size)}, ${n.type||"unknown type"}]`}const co=/^\[attached file (\/[^\n]*?\/([^/\n]+)) — \2, ([\d.]+) (B|KB|MB), ([^\]\n,]+)\][ \t]*$/gm,uo={B:1,KB:1024,MB:1024*1024};function Ba(n){const t=[],i=n.replace(co,(s,v,M,b,k,z)=>(t.push({path:v,name:M,size:Math.round(Number(b)*uo[k]),type:z==="unknown type"?"":z}),""));return t.length?{text:i.trim(),files:t}:{text:n,files:t}}const Ga=n=>/^image\/(png|jpeg|gif|webp|avif)$/.test(n);function en(n){if(n.type==="application/pdf")return"PDF";if(n.type.startsWith("image/"))return"Image";const t=/\.([A-Za-z0-9]{1,6})$/.exec(n.name)?.[1];return t?t.toUpperCase():n.type.startsWith("text/")?"Text":"File"}function vo(n){if(!Ga(n.type))return null;const t=/\/uploads\/(\d{4}-\d{2}-\d{2})\/([a-f0-9]{12})\/([^/]+)$/.exec(n.path);return t?`/api/firstmate/uploads/${t[1]}/${t[2]}/${encodeURIComponent(t[3])}`:null}function fo(n,t=new Date){const i=/^image\/(png|jpeg|gif|webp|avif)$/.exec(n)?.[1]?.replace("jpeg","jpg")??"png";return`Pasted image ${t.toISOString().slice(0,19).replace("T"," ").replace(/:/g,".")}.${i}`}const Ar=`Too large · ${La/(1024*1024)} MB at most`;class po{#e=de(ua([]));get drafts(){return e(this.#e)}set drafts(t){j(this.#e,t,!0)}#t=de([]);get dropped(){return e(this.#t)}set dropped(t){j(this.#t,t)}inflight=new Map;add(t,i,s=!1){for(const v of t){const b=s&&Ga(v.type)&&/^image\.\w+$/.test(v.name)||!v.name?fo(v.type):v.name;this.drafts.push({id:crypto.randomUUID(),name:b,size:v.size,type:v.type,preview:Ga(v.type)?URL.createObjectURL(v):null,state:"uploading",progress:0,error:null,upload:null});const k=this.drafts[this.drafts.length-1];v.size>La?this.fail(k,Ar):v.size===0?this.fail(k,"Empty file"):this.send(k,v,i)}}remove(t){this.inflight.get(t)?.abort(),this.inflight.delete(t);const i=this.drafts.find(s=>s.id===t);i?.preview&&URL.revokeObjectURL(i.preview),this.drafts=this.drafts.filter(s=>s.id!==t)}take(){const t=this.drafts.filter(i=>i.state==="ready"&&i.upload);for(const i of t)i.preview&&URL.revokeObjectURL(i.preview);return this.drafts=this.drafts.filter(i=>!t.includes(i)),t.map(i=>i.upload)}get uploading(){return this.drafts.some(t=>t.state==="uploading")}get ready(){return this.drafts.some(t=>t.state==="ready")}fail(t,i){t.state="failed",t.error=i}send(t,i,s){const v=new XMLHttpRequest;this.inflight.set(t.id,v),v.open("POST","/api/firstmate/uploads"),v.setRequestHeader(Fn,s),v.setRequestHeader(oo,encodeURIComponent(t.name)),v.setRequestHeader(io,i.type),v.setRequestHeader("content-type","application/octet-stream"),v.upload.onprogress=M=>{M.lengthComputable&&(t.progress=M.loaded/M.total)},v.onload=()=>{this.inflight.delete(t.id);let M={};try{M=JSON.parse(v.responseText)}catch{}v.status===201&&typeof M.path=="string"?(t.upload={path:M.path,name:M.name??t.name,size:M.size??t.size,type:M.type??""},t.progress=1,t.state="ready"):v.status===413?this.fail(t,Ar):this.fail(t,M.message??`Not uploaded · Wheelhouse answered ${v.status}`)},v.onerror=()=>{this.inflight.delete(t.id),this.fail(t,"Could not reach the Wheelhouse server")},v.send(i)}}const bt=new po;var mo=d('<button type="button" class="shrink-0 cursor-zoom-in rounded"><img alt="" loading="lazy" class="size-10 rounded border border-hair bg-muted object-cover"/></button>'),go=d('<span class="flex size-10 shrink-0 items-center justify-center rounded bg-sea/10 text-sea" aria-hidden="true"><!></span>'),ho=d('<li class="flex items-center gap-2.5 py-1.5 text-sm"><!> <span class="min-w-0 truncate font-medium"> </span> <span class="ml-auto shrink-0 pl-2 text-xs text-muted-foreground"> </span></li>'),xo=d('<div data-sent-files=""><p class="mb-0.5 text-[0.8rem] font-semibold tracking-[0.08em] text-muted-foreground" style="font-variant-caps: all-small-caps"> </p> <ul class="flex flex-col divide-y divide-hair"></ul></div> <!>',1);function Mr(n,t){Rt(t,!0);let i=gt(t,"pending",3,!1),s=ua({});const v=R=>s[R.path]?null:vo(R),M=h(()=>t.files.filter(R=>v(R)));let b=de(null);var k=xo(),z=ne(k),T=u(z),O=C(T,!0),N=a(T,2);$e(N,21,()=>t.files,R=>R.path,(R,E)=>{const Y=h(()=>v(e(E)));var K=ho(),V=u(K);{var he=ee=>{var Q=mo(),re=C(Q);g(()=>{L(Q,"aria-label",`Enlarge ${e(E).name??""}`),L(re,"src",e(Y))}),te("click",Q,()=>j(b,e(M).indexOf(e(E)),!0)),ea("error",re,()=>s[e(E).path]=!0),wn(re),r(ee,Q)},J=ee=>{var Q=go(),re=u(Q);Ja(re,{class:"size-4"}),o(Q),r(ee,Q)};f(V,ee=>{e(Y)?ee(he):ee(J,-1)})}var I=a(V,2),y=C(I,!0),x=a(I,2),S=C(x);o(K),g((ee,Q)=>{L(I,"title",e(E).name),w(y,e(E).name),w(S,`${ee??""} · ${Q??""}`)},[()=>en(e(E)),()=>ar(e(E).size)]),r(R,K)}),o(N),o(z);var A=a(z,2);{var F=R=>{{let E=h(()=>e(M).map(Y=>({name:Y.name,url:v(Y)??""})));$n(R,{get shots(){return e(E)},get index(){return e(b)},set index(Y){j(b,Y,!0)}})}};f(A,R=>{e(M).length&&R(F)})}g(()=>{Fe(z,1,`mt-1.5 w-full max-w-[min(85%,62ch)] min-w-0 rounded-lg border border-hair bg-card px-3 py-2 sm:min-w-72 ${i()?"border-dashed opacity-60":""}`),w(O,t.files.length===1?"1 file attached":`${t.files.length} files attached`)}),r(n,k),jt()}Yt(["click"]);const _o=n=>({cardId:n.id,taskId:n.taskId,taskTitle:n.taskTitle,projectId:n.projectId,kind:n.kind,key:n.key,question:n.choices?.intro||n.question,askedAt:n.askedAt});function bo(n,t,i){const s=[],v=new Set;for(const b of n){const k=_o(b),z=i[b.id]?.question===b.question?i[b.id]:null,T=b.sent&&b.sent.delivery!=="failed"?b.sent:null;z&&!(z.posted&&T)?s.push({id:b.id,head:k,card:b,answer:{choice:z.choice,label:_r(b,z.choice),picks:z.picks,note:z.note,at:null,delivery:z.posted?null:"sending"}}):T?(v.add(T.requestId),s.push({id:b.id,head:k,card:b,answer:{choice:T.choice,label:_r(b,T.choice),picks:T.picks,note:T.note,at:T.at,delivery:T.delivery}})):s.push({id:b.id,head:k,card:b,answer:null})}const M=new Map(s.map(b=>[b.id,b]));for(const b of t)v.has(b.requestId)||b.delivery==="failed"||M.get(b.cardId)?.head.question!==b.question&&s.push({id:`answer:${b.requestId}`,head:{cardId:b.cardId,taskId:b.taskId,taskTitle:b.taskTitle,projectId:b.projectId,kind:b.kind,key:b.key,question:b.question,askedAt:b.askedAt},card:null,answer:{choice:b.choice,label:b.label,picks:b.picks,note:b.note,at:b.answeredAt,delivery:b.delivery}});return s}const Va=n=>{const t=n?Date.parse(n):NaN;return Number.isNaN(t)?null:t},wo=n=>Va(n.head.askedAt)??Va(n.answer?.at);function ko(n,t){const i=new Map,s=[],v=n.map(k=>Va(k.at)),M=v.find(k=>k!==null)??null,b=t.map(k=>({d:k,at:wo(k)})).sort((k,z)=>(k.at??1/0)-(z.at??1/0)||k.d.id.localeCompare(z.d.id));for(const{d:k,at:z}of b){if(z===null){s.push(k);continue}if(k.answer&&!k.card&&(M===null||z<M))continue;const T=v.findIndex(O=>O!==null&&O>z);T<0?s.push(k):i.set(T,[...i.get(T)??[],k])}return{before:i,end:s}}function tn(n){return n.kind==="pr"&&n.url?`[PR ${n.url} — task ${n.id}: ${n.title}]`:`[task ${n.id}: ${n.title}]`}function yo(n){return n.map(t=>typeof t=="string"?t:tn(t)).join("").replace(/\u00a0/g," ").trim()}function ja(n,t=34){const i=n.title.length>t?`${n.title.slice(0,t-1)}…`:n.title,s=n.url?.match(/\/pull\/(\d+)/)?.[1];return n.kind==="pr"?`PR${s?` #${s}`:""} ${i}`:`# ${i}`}const zo=/\[(?:PR (https?:\/\/\S+) — )?task ([A-Za-z0-9][A-Za-z0-9._-]*): ([^\]\n]+)\]/g;function an(n){const t=[];let i=0;for(const s of n.matchAll(zo))s.index>i&&t.push(n.slice(i,s.index)),t.push({kind:s[1]?"pr":"task",id:s[2],title:s[3].trim(),project:null,url:s[1]??null}),i=s.index+s[0].length;return i<n.length&&t.push(n.slice(i)),t}const So=140,Ao={firstmate:"Firstmate",captain:"my message"};function rn(n){const t=n.replace(/```[^\n]*\n([\s\S]*?)```/g,"$1").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(?:#{1,6}\s+|>\s?|[-*+]\s+|\d+[.)]\s+)/gm,"").replace(/(\*\*|__|~~|`)/g,"").replace(/(^|[\s(])[*_]([^*_\n]+)[*_](?=[\s).,!?:;]|$)/g,"$1$2");return an(t).map(i=>typeof i=="string"?i:ja(i,60)).join("").replace(/\s+/g," ").trim()}function nn(n,t=So){const i=rn(n);if(i.length<=t)return i;const s=i.slice(0,t-1),v=s.lastIndexOf(" ");return`${(v>t/2?s.slice(0,v):s).replace(/[\s.,;:]+$/,"")}…`}function Mo(n,t){const i=t.trim();return i&&`> Replying to ${Ao[n.who]}: “${n.snippet.replace(/\s+/g," ").trim()}”
2
-
3
- ${i}`}const Io=/^> Replying to (Firstmate|my message): “(.*)”\n\n([\s\S]+)$/;function Ha(n){const t=n.replace(/\r\n?/g,`
4
- `).match(Io);return!t||!t[3].trim()?{to:null,body:n}:{to:{who:t[1]==="Firstmate"?"firstmate":"captain",snippet:t[2]},body:t[3]}}function Ir(n,t){const i=rn(t);if(!i)return!1;const s=n.snippet.endsWith("…")?n.snippet.slice(0,-1):n.snippet;return n.snippet.endsWith("…")?i.startsWith(s):i===s}const Tr=/^[^\s()]+$/,To=/^> About the decision on ([^\s()]+) \(key ([^\s()]+)\), not an answer yet: “(.*)”\n\n([\s\S]+)$/,Co=n=>`${n.taskId}:${n.key}`,sn=n=>Tr.test(n.taskId)&&Tr.test(n.key);function Eo(n,t){const i=t.trim();return!i||!sn(n)?"":`> About the decision on ${n.taskId} (key ${n.key}), not an answer yet: “${nn(n.question)}”
5
-
6
- ${i}`}function rr(n){const t=n.replace(/\r\n?/g,`
7
- `).match(To);return!t||!t[4].trim()?null:{cardId:Co({taskId:t[1],key:t[2]}),body:t[4].trim()}}function Ro(n,t){const i=new Map,s=new Set;for(let v=0;v<n.length;v++){const M=n[v];if(M.kind!=="user")continue;const b=rr(M.text);if(!b||!t.has(b.cardId))continue;const k=i.get(b.cardId)??{messages:[],answering:!1};i.set(b.cardId,k),k.messages.push({id:M.id,who:"captain",text:b.body,at:M.at}),k.answering=!1,s.add(M.id);const z=n[v+1];if(!(z?.kind!=="turn"||z.trigger!=="captain")&&!z.parts.some(T=>T.kind==="question")){s.add(z.id);for(const T of z.parts)T.kind==="text"&&k.messages.push({id:T.id,who:"firstmate",text:T.text,at:z.at});k.answering=!z.done&&!z.interrupted,v++}}return{byCard:i,hidden:s}}function jo(n){const t=new Map;for(const i of n){const s=rr(i.text);s&&t.set(s.cardId,[...t.get(s.cardId)??[],{pending:i,body:s.body}])}return t}const Cr=2*6e4,Er=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function Do(n,t){return new RegExp(`(?<![\\w-])${Er(t.id)}(?![\\w-])`).test(n)?!0:[t.pr?.url,t.preview?.url].filter(s=>!!s).map(s=>s.replace(/\/+$/,"")).some(s=>new RegExp(`${Er(s)}(?![\\w-])`).test(n))}const Wa=n=>{const t=n?Date.parse(n):NaN;return Number.isNaN(t)?null:t};function Fo(n,t){const i=new Map;for(const s of t){if(!s.preview)continue;const v=Wa(s.preview.reportedAt),M=s.status==="landed",b=M?Wa(s.mergedAt):null;let k=null,z=null;for(const O of n){if(O.kind!=="turn")continue;const N=Wa(O.at);if(v!==null&&(N===null||N<v-Cr))continue;const A=O.parts.find(F=>F.kind==="text"&&Do(F.text,s));if(A&&(k??=A.id,M&&(b===null||N!==null&&N>=b-Cr))){z=A.id;break}}const T=z??k;T&&i.set(T,[...i.get(T)??[],{task:s,landed:M}])}return i}var $o=d('<!> <span class="truncate"> </span>',1),Lo=d('<span class="truncate"> </span>'),qo=d('<span class="min-w-0 truncate text-muted-foreground"> </span>'),Oo=d('<span class="flex shrink-0 items-center gap-1 text-xs text-danger"><!>failed</span>'),No=d('<p class="text-muted-foreground">Claude Code keeps only a sealed signature for its thinking, not the words.</p>'),Po=d('<button class="self-start text-sea hover:underline">Show all</button>'),Bo=d('<pre class="no-scrollbar max-h-72 overflow-auto rounded-md bg-muted p-3 font-mono whitespace-pre-wrap text-muted-foreground"> </pre> <!>',1),Ho=d('<p class="text-muted-foreground">Still running…</p>'),Wo=d('<p class="text-muted-foreground">No output.</p>'),Uo=d('<button class="mt-1 text-sea hover:underline"> </button>'),Yo=d("<pre> </pre> <!>",1),Ko=d('<div><div class="mb-1 text-muted-foreground">Input</div> <pre> </pre></div> <div><div class="mb-1 text-muted-foreground"> </div> <!></div>',1),Go=d('<div class="mt-1 mb-2 ml-8 flex flex-col gap-2 text-xs"><!></div>'),Vo=d('<li class="py-0.5"><button class="flex w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors hover:bg-muted"><!> <span class="shrink-0 text-foreground/80"> </span> <!> <!> <!></button> <!></li>'),Xo=d('<ol class="mt-1.5 flex max-w-[80ch] flex-col rounded-lg border border-hair bg-bubble-firstmate px-2 py-1.5"></ol>'),Qo=d('<div><button class="flex max-w-full cursor-pointer items-center gap-2 rounded-md border border-hair bg-muted/50 px-2.5 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"><!> <!></button> <!></div>');function Zo(n,t){Rt(t,!0);let i=gt(t,"live",3,!1),s=de(!1),v=ua({}),M=ua({});const b={Bash:ga,Read:Ja,Edit:Pa,MultiEdit:Pa,Write:Pa,Grep:mr,Glob:mr,WebSearch:zr,WebFetch:zr,Skill:Qn,ToolSearch:Sr,Agent:kr,Task:kr,TodoWrite:Ns},k=I=>I.kind==="thinking"?Rs:I.kind==="context"?Vn:b[I.name]??Sr;function z(I){return I.kind==="thinking"?{verb:I.ms!=null&&I.ms>=1e3?`Thought for ${Ka(I.ms)}`:"Thought",summary:""}:I.kind==="context"?{verb:I.label,summary:""}:{verb:I.verb,summary:I.summary}}const T=h(()=>z(t.steps[t.steps.length-1])),O=1600,N=(I,y)=>M[I]||y.length<=O?y:y.slice(0,O);function A(I){const y=I.input??{};return I.name==="Bash"&&typeof y.command=="string"?{code:y.command,mono:!0}:(I.name==="Agent"||I.name==="Task")&&typeof y.prompt=="string"?{code:y.prompt,mono:!1}:{code:JSON.stringify(y,null,2),mono:!0}}var F=Qo(),R=u(F),E=u(R);{var Y=I=>{var y=$o(),x=ne(y);Nt(x,{class:"size-3.5 shrink-0 animate-spin text-sea","aria-hidden":"true"});var S=a(x,2),ee=C(S);g(()=>w(ee,`${e(T).verb??""} ${e(T).summary??""}`)),r(I,y)},K=I=>{var y=Lo(),x=C(y,!0);g(S=>w(x,S),[()=>Cn(t.steps)]),r(I,y)};f(E,I=>{i()?I(Y):I(K,-1)})}var V=a(E,2);{let I=h(()=>e(s)?"rotate-90":"");Ma(V,{get class(){return`size-3.5 shrink-0 transition-transform ${e(I)??""}`},"aria-hidden":"true"})}o(R);var he=a(R,2);{var J=I=>{var y=Xo();$e(y,21,()=>t.steps,x=>x.id,(x,S)=>{const ee=h(()=>k(e(S))),Q=h(()=>z(e(S)));var re=Vo(),se=u(re),oe=u(se);Fa(oe,()=>e(ee),(W,U)=>{U(W,{class:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"})});var be=a(oe,2),Xe=C(be,!0),Ae=a(be,2);{var at=W=>{var U=qo(),Se=C(U,!0);g(()=>w(Se,e(Q).summary)),r(W,U)};f(Ae,W=>{e(Q).summary&&W(at)})}var Ue=a(Ae,2);{var ht=W=>{var U=Oo(),Se=u(U);Kr(Se,{class:"size-3.5","aria-hidden":"true"}),We(),o(U),r(W,U)},$=W=>{Nt(W,{class:"size-3.5 shrink-0 animate-spin text-muted-foreground","aria-label":"Running"})};f(Ue,W=>{e(S).kind==="tool"&&e(S).isError?W(ht):e(S).kind==="tool"&&e(S).result==null&&W($,1)})}var X=a(Ue,2);{let W=h(()=>v[e(S).id]?"rotate-90":"");Ma(X,{get class(){return`ml-auto size-3.5 shrink-0 text-muted-foreground transition-transform ${e(W)??""}`},"aria-hidden":"true"})}o(se);var ae=a(se,2);{var _e=W=>{var U=Go(),Se=u(U);{var Oe=Ee=>{var Re=No();r(Ee,Re)},Ce=Ee=>{var Re=Bo(),Ye=ne(Re),p=C(Ye,!0),_=a(Ye,2);{var q=P=>{var ce=Po();te("click",ce,()=>M[e(S).id]=!0),r(P,ce)};f(_,P=>{e(S).detail.length>O&&!M[e(S).id]&&P(q)})}g(P=>w(p,P),[()=>N(e(S).id,e(S).detail)]),r(Ee,Re)},st=Ee=>{const Re=h(()=>A(e(S)));var Ye=Ko(),p=ne(Ye),_=a(u(p),2),q=C(_,!0);o(p);var P=a(p,2),ce=u(P),xe=C(ce,!0),we=a(ce,2);{var H=St=>{var Dt=Ho();r(St,Dt)},pe=St=>{var Dt=Wo();r(St,Dt)},Qe=h(()=>!e(S).result.trim()),Tt=St=>{var Dt=Yo(),rt=ne(Dt),At=C(rt,!0),pt=a(rt,2);{var Kt=m=>{var D=Uo(),ve=C(D);g(Me=>w(ve,`Show all (${Me??""}k characters)`),[()=>Math.round(e(S).result.length/1e3)]),te("click",D,()=>M[e(S).id]=!0),r(m,D)};f(pt,m=>{e(S).result.length>O&&!M[e(S).id]&&m(Kt)})}g(m=>{Fe(rt,1,`no-scrollbar max-h-72 overflow-auto rounded-md bg-muted p-3 font-mono whitespace-pre-wrap ${e(S).isError?"text-danger":""}`),w(At,m)},[()=>N(e(S).id,e(S).result)]),r(St,Dt)};f(we,St=>{e(S).result==null?St(H):e(Qe)?St(pe,1):St(Tt,-1)})}o(P),g(()=>{Fe(_,1,`no-scrollbar max-h-60 overflow-auto rounded-md bg-muted p-3 whitespace-pre-wrap ${e(Re).mono?"font-mono":"font-sans"}`),w(q,e(Re).code),w(xe,e(S).isError?"Error":"Result")}),r(Ee,Ye)};f(Se,Ee=>{e(S).kind==="thinking"?Ee(Oe):e(S).kind==="context"?Ee(Ce,1):Ee(st,-1)})}o(U),r(W,U)};f(ae,W=>{v[e(S).id]&&W(_e)})}o(re),g(()=>{L(se,"aria-expanded",!!v[e(S).id]),w(Xe,e(Q).verb)}),te("click",se,()=>v[e(S).id]=!v[e(S).id]),r(x,re)}),o(y),r(I,y)};f(he,I=>{e(s)&&I(J)})}o(F),g(()=>L(R,"aria-expanded",e(s))),te("click",R,()=>j(s,!e(s))),r(n,F),jt()}Yt(["click"]);var Jo=Qa('<line x1="16" y1="12.4" x2="16" y2="5.6" stroke-width="1.3"></line>'),ei=Qa('<circle cx="16" cy="5.2" r="1.3" class="fill-primary-foreground"></circle>'),ti=Qa('<svg viewBox="0 0 32 32" role="img" aria-label="Firstmate" xmlns="http://www.w3.org/2000/svg"><circle cx="16" cy="16" r="15.25" class="fill-primary stroke-brass" stroke-width="1.5"></circle><g class="fill-none stroke-primary-foreground" stroke-linecap="round"><circle cx="16" cy="16" r="7" stroke-width="1.6"></circle><!></g><circle cx="16" cy="16" r="2.4" class="fill-primary-foreground"></circle><!></svg>');function on(n,t){let i=gt(t,"class",3,"");const s=[0,45,90,135,180,225,270,315];var v=ti(),M=a(u(v)),b=a(u(M));$e(b,16,()=>s,z=>z,(z,T)=>{var O=Jo();g(()=>L(O,"transform",`rotate(${T??""} 16 16)`)),r(z,O)}),o(M);var k=a(M,2);$e(k,16,()=>s,z=>z,(z,T)=>{var O=ei();g(()=>L(O,"transform",`rotate(${T??""} 16 16)`)),r(z,O)}),o(v),g(()=>Fe(v,0,`shrink-0 ${i()??""}`)),r(n,v)}var ai=d('<div class="border-t px-4 pt-3 pb-3"><!></div>'),ri=d('<div class="max-w-[80ch] rounded-xl border bg-card"><button class="flex w-full min-w-0 cursor-pointer items-center gap-2 rounded-xl px-4 py-2.5 text-left text-sm transition-colors hover:bg-muted/60"><!> <span class="shrink-0 font-medium"> </span> <span class="min-w-0 truncate text-muted-foreground"> </span> <span class="ml-auto shrink-0 text-xs text-muted-foreground"> </span> <!></button> <!></div>');function ni(n,t){Rt(t,!0);let i=de(!1);var s=ri(),v=u(s),M=u(v);Zr(M,{class:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"});var b=a(M,2),k=C(b,!0),z=a(b,2),T=C(z),O=a(z,2),N=C(O,!0),A=a(O,2);{let E=h(()=>e(i)?"rotate-90":"");Ma(A,{get class(){return`size-3.5 shrink-0 text-muted-foreground transition-transform ${e(E)??""}`},"aria-hidden":"true"})}o(v);var F=a(v,2);{var R=E=>{var Y=ai(),K=u(Y);{let V=h(()=>({chat:t.id}));Pn(K,{get ref(){return e(V)},get title(){return t.app.title},get plugin(){return t.app.plugin}})}o(Y),r(E,Y)};f(F,E=>{e(i)&&E(R)})}o(s),g(()=>{L(s,"data-chat-app",t.id),L(v,"aria-expanded",e(i)),w(k,t.app.title),w(T,`· an app from ${t.app.server.title??""}`),w(N,e(i)?"Close":"Open")}),te("click",v,()=>j(i,!e(i))),r(n,s),jt()}Yt(["click"]);var si=d('<span class="text-xs tabular-nums"> </span>'),oi=d('<button data-discuss=""><!>Discuss<!></button>'),ii=d('<span class="rounded-sm border px-1.5 text-[0.95rem] leading-[1.15rem] font-semibold tracking-[0.08em] text-muted-foreground [font-variant-caps:all-small-caps]"> </span>'),li=d('<span class="ml-auto text-xs text-muted-foreground tabular-nums"> </span>'),di=d(`You
8
- picked <span class="font-semibold"> </span>`,1),ci=d('You answered <span class="font-semibold"> </span>',1),ui=d('<p class="mt-1 border-l-2 border-hair pl-2.5 text-sm whitespace-pre-line text-muted-foreground"> </p>'),vi=d('<article class="rounded-lg border border-l-[3px] border-l-success/70 bg-card px-4 pt-3 pb-2 sm:px-5" data-answered=""><header class="flex flex-wrap items-center gap-x-2 gap-y-1"><!> <span class="rounded bg-muted px-1.5 text-xs leading-[1.15rem] font-medium text-foreground/80"> </span> <span class="flex items-center gap-1 text-xs text-success"><!>Answered</span> <!></header> <p class="mt-1.5 text-sm leading-snug text-muted-foreground"> </p> <a class="block text-xs text-muted-foreground hover:text-foreground hover:underline"> </a> <p class="mt-1.5 text-sm leading-snug"><!></p> <!> <div class="mt-1 flex flex-wrap items-center gap-2 text-xs text-muted-foreground"><span role="status" class="inline-flex items-center gap-1"><!> </span> <span class="ml-auto"><!></span></div></article>'),fi=d('<span class="captain-avatar mt-0.5 !size-5 !text-[0.7rem]">C</span>'),pi=d('<div class="chat-md mt-0.5 text-sm"></div>'),mi=d('<p class="mt-0.5 text-sm leading-relaxed whitespace-pre-line"> </p>'),gi=d('<li class="flex gap-2.5"><!> <div class="min-w-0 flex-1"><p class="text-xs text-muted-foreground"><span class="font-medium text-foreground"> </span><!></p> <!></div></li>'),hi=d('<!> <button class="ml-1 inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 font-medium text-foreground hover:bg-muted"><!>Retry</button> <button class="cursor-pointer rounded px-1.5 py-0.5 text-muted-foreground hover:bg-muted">Discard</button>',1),xi=d("<!> ",1),_i=d('<li class="flex gap-2.5"><span class="captain-avatar mt-0.5 !size-5 !text-[0.7rem]">C</span> <div class="min-w-0 flex-1"><p class="text-sm leading-relaxed whitespace-pre-line opacity-60"> </p> <p role="status"><!></p></div></li>'),bi=d('<ul class="flex flex-col gap-3 pb-1"><!> <!></ul>'),wi=d(`<p class="text-xs text-muted-foreground">Ask Firstmate anything about this question. Asking answers nothing; the answer stays yours
9
- to give.</p>`),ki=d('<div class="flex gap-1 py-2 pl-7" role="status" aria-label="Firstmate is answering"><span class="size-1.5 animate-bounce rounded-full bg-muted-foreground [animation-delay:-0.3s]"></span> <span class="size-1.5 animate-bounce rounded-full bg-muted-foreground [animation-delay:-0.15s]"></span> <span class="size-1.5 animate-bounce rounded-full bg-muted-foreground"></span></div>'),yi=d('<button class="cursor-pointer rounded-full border border-hair bg-card px-2.5 py-0.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground"> </button>'),zi=d('<div class="mt-2 flex flex-wrap gap-1.5"></div>'),Si=d('<!> <form class="mt-2 flex items-end gap-2 rounded-lg border border-input bg-background px-2.5 py-1.5 focus-within:ring-2 focus-within:ring-ring"><textarea rows="1" maxlength="2000" placeholder="Ask about this question…" aria-label="Ask Firstmate about this question" class="field-sizing-content max-h-32 min-h-7 flex-1 resize-none bg-transparent py-0.5 text-sm placeholder:text-muted-foreground focus:outline-none"></textarea> <button type="submit" class="flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-sea text-white disabled:cursor-not-allowed disabled:opacity-40 dark:text-slate-950" aria-label="Ask"><!></button></form>',1),Ai=d('<div class="mt-1 ml-4 border-l-2 border-hair pt-2 pl-4" role="region" aria-label="Discussion with Firstmate about this question" data-discussion=""><!> <!> <!></div>'),Mi=d('<div class="flex w-full max-w-[min(100%,40rem)] flex-col"><!> <!></div>');function Ii(n,t){Rt(t,!0);const i=re=>{var se=oi(),oe=u(se);ts(oe,{class:"size-3.5","aria-hidden":"true"});var be=a(oe,2);{var Xe=Ae=>{var at=si(),Ue=C(at);g(()=>w(Ue,`· ${e(O)??""}`)),r(Ae,at)};f(be,Ae=>{e(O)&&Ae(Xe)})}o(se),g(()=>{Fe(se,1,`inline-flex min-h-10 cursor-pointer items-center gap-1.5 rounded-md px-2.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50 sm:min-h-9 ${e(R)?"bg-accent text-foreground":""}`),L(se,"aria-expanded",e(R)),se.disabled=!e(N)||!t.canAsk&&!e(O),L(se,"title",e(N)?t.canAsk?"Ask Firstmate about this question; it answers nothing":"Firstmate cannot be messaged from here right now":"This question’s task or key has spaces or brackets, so Firstmate cannot be asked about it here")}),te("click",se,he),r(re,se)};let s=gt(t,"project",3,null),v=gt(t,"thread",3,null),M=gt(t,"pending",19,()=>[]);const b={review:"Review question",decision:"Decision",blocked:"Stuck",hold:"Your call",merge:"Merge call",preview:"Preview sign-off"},k=["What’s the risk?","What would you pick?","What if I leave it?"],z=h(()=>t.decision.head),T=h(()=>t.decision.answer),O=h(()=>(v()?.messages.length??0)+M().length),N=h(()=>sn(e(z))),A=h(()=>t.canAsk&&e(N));let F=de(null);const R=h(()=>e(F)??(!e(T)&&e(O)>0));let E=de(""),Y=de(null);const K=re=>re?new Date(re).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",V=h(()=>e(T)?e(T).delivery==="sending"?"Sending to Firstmate…":e(T).delivery==="delivered"?"Firstmate has your answer":e(T).delivery==="failed"?"Firstmate did not take it":e(T).delivery==="uncertain"?"Sent; Firstmate has not confirmed it yet":"Sent to Firstmate":"");async function he(){j(F,!e(R)),e(F)&&(await Za(),e(Y)?.focus())}function J(re=e(E)){const se=re.trim();!se||!e(A)||t.onAsk(se)&&j(E,"")}var I=Mi(),y=u(I);{var x=re=>{Gr(re,{get card(){return t.decision.card},get project(){return s()},get now(){return t.now},get extra(){return i}})},S=re=>{var se=vi(),oe=u(se),be=u(oe);{var Xe=H=>{var pe=ii(),Qe=C(pe,!0);g(()=>w(Qe,s())),r(H,pe)};f(be,H=>{s()&&H(Xe)})}var Ae=a(be,2),at=C(Ae,!0),Ue=a(Ae,2),ht=u(Ue);Ia(ht,{class:"size-3.5","aria-hidden":"true"}),We(),o(Ue);var $=a(Ue,2);{var X=H=>{var pe=li(),Qe=C(pe,!0);g(Tt=>w(Qe,Tt),[()=>$a(e(T).at,t.now)]),r(H,pe)};f($,H=>{e(T).at&&H(X)})}o(oe);var ae=a(oe,2),_e=C(ae,!0),W=a(ae,2),U=C(W,!0),Se=a(W,2),Oe=u(Se);{var Ce=H=>{var pe=sa("You closed it without an answer");r(H,pe)},st=H=>{var pe=di(),Qe=a(ne(pe)),Tt=C(Qe,!0);g(()=>w(Tt,e(T).picks)),r(H,pe)},Ee=H=>{var pe=ci(),Qe=a(ne(pe)),Tt=C(Qe,!0);g(()=>w(Tt,e(T).label)),r(H,pe)};f(Oe,H=>{e(T).choice==="close"?H(Ce):e(T).picks?H(st,1):H(Ee,-1)})}o(Se);var Re=a(Se,2);{var Ye=H=>{var pe=ui(),Qe=C(pe,!0);g(()=>w(Qe,e(T).note)),r(H,pe)};f(Re,H=>{e(T).note&&H(Ye)})}var p=a(Re,2),_=u(p),q=u(_);{var P=H=>{Nt(H,{class:"size-3 animate-spin","aria-hidden":"true"})};f(q,H=>{e(T).delivery==="sending"&&H(P)})}var ce=a(q);o(_);var xe=a(_,2),we=u(xe);i(we),o(xe),o(p),o(se),g((H,pe)=>{w(at,b[e(z).kind]),w(_e,e(z).question),L(W,"href",`/tasks/${H??""}`),w(U,e(z).taskTitle),w(ce,`${e(V)??""}${pe??""}`)},[()=>encodeURIComponent(e(z).taskId),()=>e(T).at?` · ${K(e(T).at)}`:""]),r(re,se)};f(y,re=>{t.decision.card&&!e(T)?re(x):e(T)&&re(S,1)})}var ee=a(y,2);{var Q=re=>{var se=Ai(),oe=u(se);{var be=$=>{var X=bi(),ae=u(X);$e(ae,17,()=>v()?.messages??[],W=>W.id,(W,U)=>{var Se=gi(),Oe=u(Se);{var Ce=we=>{on(we,{class:"mt-0.5 size-5"})},st=we=>{var H=fi();r(we,H)};f(Oe,we=>{e(U).who==="firstmate"?we(Ce):we(st,-1)})}var Ee=a(Oe,2),Re=u(Ee),Ye=u(Re),p=C(Ye,!0),_=a(Ye);{var q=we=>{var H=sa();g(pe=>w(H,`· ${pe??""}`),[()=>K(e(U).at)]),r(we,H)};f(_,we=>{e(U).at&&we(q)})}o(Re);var P=a(Re,2);{var ce=we=>{var H=pi();Wr(H,()=>Ur(e(U).text,{docLinks:!0}),!0),o(H),r(we,H)},xe=we=>{var H=mi(),pe=C(H,!0);g(()=>w(pe,e(U).text)),r(we,H)};f(P,we=>{e(U).who==="firstmate"?we(ce):we(xe,-1)})}o(Ee),o(Se),g(()=>w(p,e(U).who==="firstmate"?"Firstmate":"You")),r(W,Se)});var _e=a(ae,2);$e(_e,17,M,W=>W.pending.id,(W,U)=>{var Se=_i(),Oe=a(u(Se),2),Ce=u(Oe),st=C(Ce,!0),Ee=a(Ce,2),Re=u(Ee);{var Ye=_=>{var q=hi(),P=ne(q);xa(P,{class:"size-3.5","aria-hidden":"true"});var ce=a(P),xe=a(ce),we=u(xe);er(we,{class:"size-3","aria-hidden":"true"}),We(),o(xe);var H=a(xe,2);g(pe=>w(ce,`${pe??""} `),[()=>Aa(e(U).pending)]),te("click",xe,()=>t.onRetry(e(U).pending.id)),te("click",H,()=>t.onDismiss(e(U).pending.id)),r(_,q)},p=_=>{var q=xi(),P=ne(q);Nt(P,{class:"size-3 animate-spin","aria-hidden":"true"});var ce=a(P,1,!0);g(xe=>w(ce,xe),[()=>Aa(e(U).pending)]),r(_,q)};f(Re,_=>{e(U).pending.state==="failed"?_(Ye):_(p,-1)})}o(Ee),o(Oe),o(Se),g(()=>{L(Se,"data-pending",e(U).pending.state),w(st,e(U).body),Fe(Ee,1,`mt-0.5 flex flex-wrap items-center gap-1.5 text-xs ${e(U).pending.state==="failed"?"text-danger":"text-muted-foreground"}`)}),r(W,Se)}),o(X),r($,X)},Xe=$=>{var X=wi();r($,X)};f(oe,$=>{v()?.messages.length||M().length?$(be):$(Xe,-1)})}var Ae=a(oe,2);{var at=$=>{var X=ki();r($,X)};f(Ae,$=>{v()?.answering&&$(at)})}var Ue=a(Ae,2);{var ht=$=>{var X=Si(),ae=ne(X);{var _e=Ce=>{var st=zi();$e(st,20,()=>k,Ee=>Ee,(Ee,Re)=>{var Ye=yi(),p=C(Ye,!0);g(()=>w(p,Re)),te("click",Ye,()=>J(Re)),r(Ee,Ye)}),o(st),r(Ce,st)};f(ae,Ce=>{!e(O)&&!e(T)&&Ce(_e)})}var W=a(ae,2),U=u(W);kn(U),ma(U,Ce=>j(Y,Ce),()=>e(Y));var Se=a(U,2),Oe=u(Se);Vr(Oe,{class:"size-4"}),o(Se),o(W),g(Ce=>Se.disabled=Ce,[()=>!e(E).trim()]),ea("submit",W,Ce=>{Ce.preventDefault(),J()}),te("keydown",U,Ce=>{Ce.key==="Enter"&&!Ce.shiftKey&&!Ce.isComposing&&(Ce.preventDefault(),J())}),Zn(U,()=>e(E),Ce=>j(E,Ce)),r($,X)};f(Ue,$=>{e(A)&&$(ht)})}o(se),r(re,se)};f(ee,re=>{e(R)&&re(Q)})}o(I),g(()=>L(I,"data-chat-decision",t.decision.id)),r(n,I),jt()}Yt(["click","keydown"]);var Ti=d("<!>Landed",1),Ci=d("<!>Live preview",1),Ei=d('<span class="shrink-0 rounded-sm border px-1.5 text-[0.95rem] leading-[1.15rem] font-semibold tracking-[0.08em] text-muted-foreground [font-variant-caps:all-small-caps]"> </span>'),Ri=d('<span class="ml-auto shrink-0 text-xs text-muted-foreground tabular-nums"> </span>'),ji=d('<a target="_blank" rel="noreferrer" class="inline-flex min-w-0 items-center gap-1 text-sea hover:underline"><!><span class="truncate"> </span></a>'),Di=d("<span><!> </span>"),Fi=d('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-muted-foreground hover:bg-accent hover:text-foreground">New tab<!></a>'),$i=d('<div class="w-full max-w-[min(100%,40rem)] overflow-hidden rounded-xl border border-hair bg-card"><header class="flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 px-4 pt-2.5 pb-2 text-sm"><span><!></span> <!> <a class="order-last min-w-0 basis-full truncate font-medium hover:underline sm:order-none sm:basis-auto"> </a> <!></header> <div class="border-y border-hair"><!></div> <footer class="flex flex-wrap items-center gap-x-3 gap-y-1 px-4 py-2 text-xs"><!> <!> <span class="ml-auto flex items-center gap-1"><button type="button" class="inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 font-medium hover:bg-accent"><!>Full size</button> <!></span></footer></div> <!>',1);function Li(n,t){Rt(t,!0);let i=gt(t,"project",3,null);const s=h(()=>t.preview.task),v=h(()=>e(s).preview?.url??null);let M=de(!1);const b={green:{icon:Ia,text:"Checks passed",tone:"text-success"},pending:{icon:rs,text:"Checks running",tone:"text-muted-foreground"},red:{icon:xa,text:"Checks failed",tone:"text-danger"}},k=h(()=>e(s).pipeline?.ci?b[e(s).pipeline.ci]:null),z=h(()=>t.preview.landed?e(s).mergedAt??e(s).preview?.reportedAt:e(s).preview?.reportedAt);var T=$i(),O=ne(T),N=u(O),A=u(N),F=u(A);{var R=$=>{var X=Ti(),ae=ne(X);yr(ae,{class:"size-3","aria-hidden":"true"}),We(),r($,X)},E=$=>{var X=Ci(),ae=ne(X);ns(ae,{class:"size-3","aria-hidden":"true"}),We(),r($,X)};f(F,$=>{t.preview.landed?$(R):$(E,-1)})}o(A);var Y=a(A,2);{var K=$=>{var X=Ei(),ae=C(X,!0);g(()=>w(ae,i())),r($,X)};f(Y,$=>{i()&&$(K)})}var V=a(Y,2),he=C(V,!0),J=a(V,2);{var I=$=>{var X=Ri(),ae=C(X,!0);g(_e=>w(ae,_e),[()=>$a(e(z),t.now)]),r($,X)};f(J,$=>{e(z)&&$(I)})}o(N);var y=a(N,2),x=u(y);Ln(x,{get taskId(){return e(s).id},compact:!0,toolbar:!1,feedback:!1,onopen:()=>j(M,!0)}),o(y);var S=a(y,2),ee=u(S);{var Q=$=>{var X=ji(),ae=u(X);{var _e=Oe=>{yr(Oe,{class:"size-3.5 shrink-0","aria-hidden":"true"})},W=Oe=>{tr(Oe,{class:"size-3.5 shrink-0","aria-hidden":"true"})};f(ae,Oe=>{t.preview.landed?Oe(_e):Oe(W,-1)})}var U=a(ae),Se=C(U,!0);o(X),g(()=>{L(X,"href",e(s).pr.url),w(Se,e(s).pr.number?`Pull request #${e(s).pr.number}`:"Pull request")}),r($,X)};f(ee,$=>{e(s).pr&&$(Q)})}var re=a(ee,2);{var se=$=>{var X=Di(),ae=u(X);Fa(ae,()=>e(k).icon,(W,U)=>{U(W,{class:"size-3.5","aria-hidden":"true"})});var _e=a(ae,1,!0);o(X),g(()=>{Fe(X,1,`inline-flex items-center gap-1 ${e(k).tone??""}`),w(_e,e(k).text)}),r($,X)};f(re,$=>{e(k)&&$(se)})}var oe=a(re,2),be=u(oe),Xe=u(be);Yr(Xe,{class:"size-3.5","aria-hidden":"true"}),We(),o(be);var Ae=a(be,2);{var at=$=>{var X=Fi(),ae=a(u(X));ss(ae,{class:"size-3.5","aria-hidden":"true"}),o(X),g(()=>{L(X,"href",e(v)),L(X,"title",e(v))}),r($,X)};f(Ae,$=>{e(v)&&$(at)})}o(oe),o(S),o(O);var Ue=a(O,2);{var ht=$=>{{let X=h(()=>!t.preview.landed);Jn($,{get taskId(){return e(s).id},get title(){return e(s).shortTitle},get url(){return e(v)},get feedback(){return e(X)},onclose:()=>j(M,!1)})}};f(Ue,$=>{e(M)&&e(v)&&$(ht)})}g($=>{L(O,"data-chat-preview",t.preview.landed?"landed":"live"),Fe(A,1,`flex shrink-0 items-center gap-1 rounded px-1.5 text-xs leading-[1.15rem] font-medium ${t.preview.landed?"bg-success/10 text-success":"bg-sea/10 text-sea"}`),L(V,"href",`/tasks/${$??""}`),w(he,e(s).shortTitle)},[()=>encodeURIComponent(e(s).id)]),te("click",be,()=>j(M,!0)),r(n,T),jt()}Yt(["click"]);var qi=d('<img alt="" class="size-7 shrink-0 rounded border border-hair object-cover"/>'),Oi=d('<span class="flex size-7 shrink-0 items-center justify-center rounded bg-sea/10 text-sea" aria-hidden="true"><!></span>'),Rr=d("<!> ",1),Ni=d('<li class="flex items-center gap-2.5 px-1.5 py-1.5 text-sm"><!> <span class="min-w-0 truncate font-medium"> </span> <span><!></span> <button type="button" class="ml-auto flex size-7 shrink-0 cursor-pointer items-center justify-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground" title="Remove"><!></button></li>'),Pi=d('<ul class="mx-2 mb-1 flex flex-col divide-y divide-hair border-t border-hair" aria-label="Attached files"></ul>');function Bi(n,t){Rt(t,!1),os();var i=oa(),s=ne(i);{var v=M=>{var b=Pi();$e(b,5,()=>bt.drafts,k=>k.id,(k,z)=>{var T=Ni(),O=u(T);{var N=y=>{var x=qi();g(()=>L(x,"src",e(z).preview)),r(y,x)},A=y=>{var x=Oi(),S=u(x);Ja(S,{class:"size-3.5"}),o(x),r(y,x)};f(O,y=>{e(z).preview?y(N):y(A,-1)})}var F=a(O,2),R=C(F,!0),E=a(F,2),Y=u(E);{var K=y=>{var x=Rr(),S=ne(x);Nt(S,{class:"size-3 animate-spin","aria-hidden":"true"});var ee=a(S);g(Q=>w(ee,`Uploading ${Q??""}%`),[()=>Math.round(e(z).progress*100)]),r(y,x)},V=y=>{var x=Rr(),S=ne(x);Kr(S,{class:"size-3","aria-hidden":"true"});var ee=a(S,1,!0);g(()=>w(ee,e(z).error)),r(y,x)},he=y=>{var x=sa();g((S,ee)=>w(x,`${S??""} · ${ee??""}`),[()=>en(e(z)),()=>ar(e(z).size)]),r(y,x)};f(Y,y=>{e(z).state==="uploading"?y(K):e(z).state==="failed"?y(V,1):y(he,-1)})}o(E);var J=a(E,2),I=u(J);ha(I,{class:"size-3.5"}),o(J),o(T),g(()=>{L(T,"data-attachment",e(z).state),L(F,"title",e(z).name),w(R,e(z).name),Fe(E,1,`flex shrink-0 items-center gap-1 text-xs ${e(z).state==="failed"?"text-danger":"text-muted-foreground"}`),L(E,"role",e(z).state==="failed"?"alert":void 0),L(J,"aria-label",`Remove ${e(z).name??""}`)}),te("click",J,()=>bt.remove(e(z).id)),r(k,T)}),o(b),r(M,b)};f(s,M=>{bt.drafts.length&&M(v)})}r(n,i),jt()}Yt(["click"]);const da=ua({pending:null,draft:null});var Hi=d('<div class="px-2.5 pt-1.5 pb-1 text-xs font-medium text-muted-foreground"> </div>'),Wi=d('<!> <span class="shrink-0 font-medium"> </span> <span class="min-w-0 truncate text-muted-foreground"> </span>',1),Ui=d('<span class="ml-auto shrink-0 text-xs text-muted-foreground"> </span>'),Yi=d('<!> <span class="min-w-0 truncate"> </span> <!>',1),Ki=d('<!> <button role="option"><!></button>',1),Gi=d('<div class="absolute right-0 bottom-full left-0 z-20 mb-2 no-scrollbar max-h-80 overflow-y-auto rounded-xl border bg-popover p-1.5 shadow-lg" role="listbox"></div>'),Vi=d('<div class="reply-draft" role="group" aria-label="Replying to a message"><!> <div class="min-w-0 flex-1"><p class="text-xs font-medium text-sea"> </p> <p class="truncate text-sm text-muted-foreground"> </p></div> <button class="flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground" aria-label="Cancel the reply" title="Cancel the reply (Esc)"><!></button></div>'),Xi=d('<button aria-label="Stop Firstmate" title="Stop what Firstmate is doing (Escape)" class="flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full bg-foreground text-background transition-opacity disabled:opacity-40"><!></button>'),Qi=d('<button aria-label="Send" class="flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full bg-foreground text-background transition-opacity disabled:cursor-not-allowed disabled:opacity-30"><!></button>'),Zi=d('<p class="mt-2 text-sm text-danger" role="alert"> </p>'),Ji=d('<p class="mt-2 text-xs text-muted-foreground" data-held=""> </p>'),el=d('<p class="mt-2 text-xs text-muted-foreground">Send waits until the files finish uploading.</p>'),tl=d('<p class="mt-2 text-xs text-muted-foreground"> </p>'),al=d('<div class="relative"><!> <!> <div><div class="flex items-end gap-2 p-2 pl-1.5"><input type="file" multiple="" class="hidden" tabindex="-1" aria-hidden="true"/> <button type="button" aria-label="Attach files" class="flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40"><!></button> <div role="textbox" aria-multiline="true" aria-label="Message Firstmate"></div> <!> <!></div> <!></div> <!></div>');function rl(n,t){Rt(t,!0);let i=gt(t,"held",3,null),s=gt(t,"reply",3,null);aa(()=>{s()&&e(k)&&e(v)&&e(k).focus()});const v=h(()=>t.via!==null);let M=de(void 0);aa(()=>{const p=bt.dropped;p.length&&e(v)&&(bt.dropped=[],bt.add(p,t.token),e(k)?.focus())});let b=de(!1),k=de(void 0),z=de(!0),T=de(!1),O=de(null),N=de(null),A=de(0);const F=h(Br),R=h(()=>{const p=q=>e(F)?.projects.find(P=>P.id===q)?.name??null,_=[];for(const q of e(F)?.tasks??[]){const P=p(q.projectId);_.push({kind:"task",id:q.id,title:q.shortTitle,project:P,url:null});const ce=q.attention?.url??q.pr?.url;ce&&_.push({kind:"pr",id:q.id,title:q.shortTitle,project:P,url:ce})}return _}),E=h(()=>{if(!e(N))return[];const p=e(N).query.toLowerCase();return e(N).kind==="/"?t.via!=="session"?[]:t.commands.filter(_=>_.name.toLowerCase().includes(p)).sort((_,q)=>+!_.name.startsWith(p)-+!q.name.startsWith(p)).map(_=>({kind:"command",c:_})):e(R).filter(_=>`${_.title} ${_.project??""} ${_.id} ${_.url??""}`.toLowerCase().includes(p)).slice(0,8).map(_=>({kind:"ref",r:_}))});function Y(){if(!e(k))return;j(z,!e(k).textContent?.trim()&&!e(k).querySelector("[data-ref]"),!0);const p=window.getSelection(),_=p?.anchorNode;if(!p||!p.isCollapsed||!(_ instanceof Text)||!e(k).contains(_)){j(N,null);return}const P=_.data.slice(0,p.anchorOffset).match(/(?:^|[\s\u00a0])([/#])([\w.:-]*)$/);if(!P){j(N,null);return}const ce=p.anchorOffset-P[2].length-1;if(P[1]==="/"){const we=document.createRange();if(we.setStart(e(k),0),we.setEnd(_,ce),we.toString().trim()||we.cloneContents().querySelector("[data-ref]")){j(N,null);return}}const xe=P[1];(!e(N)||e(N).kind!==xe||e(N).query!==P[2])&&j(A,0),j(N,{kind:xe,query:P[2],node:_,start:ce,end:p.anchorOffset},!0)}function K(p){const _=document.createRange();_.setStartAfter(p),_.collapse(!0);const q=window.getSelection();q?.removeAllRanges(),q?.addRange(_)}function V(p){const _=document.createElement("span");return _.contentEditable="false",_.dataset.ref=JSON.stringify(p),_.className="ref-chip",_.textContent=ja(p),_.title=tn(p),_}function he(p){if(!e(N)||!e(k))return;const{node:_,start:q,end:P}=e(N),ce=document.createRange();ce.setStart(_,q),ce.setEnd(_,P),ce.deleteContents();let xe;p.kind==="command"?(xe=document.createTextNode(`/${p.c.name} `),ce.insertNode(xe)):(xe=document.createTextNode(" "),ce.insertNode(xe),ce.insertNode(V(p.r))),K(xe),j(N,null),Y()}async function J(p,_=null){if(!e(k)||!e(v))return;e(k).focus();const q=e(k).textContent??"";q&&!/[\s\u00a0]$/.test(q)&&e(k).append(document.createTextNode(" "));const P=p?[V(p),document.createTextNode(" ")]:[];_&&P.push(document.createTextNode(_)),P.length&&(e(k).append(...P),await Za(),K(P[P.length-1]),Y())}aa(()=>{const p=da.pending,_=da.draft;(p||_)&&e(k)&&e(v)&&(da.pending=null,da.draft=null,J(p,_))});function I(p,_){if(p instanceof Text)return[p.data];if(!(p instanceof HTMLElement))return[];if(p.dataset.ref)return[JSON.parse(p.dataset.ref)];if(p.tagName==="BR")return[`
10
- `];const q=[...p.childNodes].flatMap(P=>I(P,_));return p!==_&&p.tagName==="DIV"?[`
11
- `,...q]:q}async function y(p){return!t.via||(j(O,null),!(await zt.send(p,t.via,t.token,t.working)).ok)?!1:(j(b,t.via==="inbox"),!0)}async function x(){if(e(k)?.querySelector("[data-dictation]")&&ds.commit(),!e(k)||e(z)&&!bt.ready||!e(v)||i()||bt.uploading)return;const p=yo(I(e(k),e(k))),_=[p,...bt.take().map(lo)].filter(Boolean).join(`
12
- `);if(!_)return;const q=s()&&!p.startsWith("/")?Mo(s(),_):_;t.oncancelreply?.(),e(k).innerHTML="",j(z,!0),j(N,null),e(k).focus(),await y(q)}async function S(){j(T,!0),j(O,null);const p=await Da("/api/firstmate/interrupt",t.token);j(T,!1),p.ok||j(O,p.error,!0)}function ee(p){if(e(N)&&e(E).length){if(p.key==="ArrowDown"||p.key==="ArrowUp"){p.preventDefault(),j(A,(e(A)+(p.key==="ArrowDown"?1:e(E).length-1))%e(E).length);return}if(p.key==="Enter"||p.key==="Tab"){p.preventDefault(),he(e(E)[e(A)]);return}}if(e(N)&&p.key==="Escape"){p.preventDefault(),j(N,null);return}if(s()&&p.key==="Escape"){p.preventDefault(),t.oncancelreply?.();return}p.key==="Enter"&&!p.shiftKey&&!p.isComposing&&(p.preventDefault(),x())}function Q(p){p.preventDefault();const _=p.clipboardData?.getData("text/plain")??"",q=[...p.clipboardData?.files??[]];if(!_&&q.length&&e(v)){bt.add(q,t.token,!0);return}document.execCommand("insertText",!1,_)}const re=h(()=>t.via==="session"?"Message Firstmate · / for commands · # to mention a task":t.via==="inbox"?"Message Firstmate’s inbox · # to mention a task":t.reason??"Firstmate is not running here.");var se=al(),oe=u(se);{var be=p=>{var _=Gi();$e(_,23,()=>e(E),q=>q.kind==="command"?q.c.name:`${q.r.kind}:${q.r.id}`,(q,P,ce)=>{const xe=h(()=>e(E)[e(ce)-1]);var we=Ki(),H=ne(we);{var pe=rt=>{var At=Hi(),pt=C(At,!0);g(()=>w(pt,e(P).c.source==="firstmate"?"Firstmate":"Claude Code")),r(rt,At)};f(H,rt=>{e(P).kind==="command"&&(!e(xe)||e(xe).kind==="command"&&e(xe).c.source!==e(P).c.source)&&rt(pe)})}var Qe=a(H,2),Tt=u(Qe);{var St=rt=>{var At=Wi(),pt=ne(At);Vs(pt,{class:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"});var Kt=a(pt,2),m=C(Kt),D=a(Kt,2),ve=C(D,!0);g(()=>{w(m,`/${e(P).c.name??""}`),w(ve,e(P).c.description)}),r(rt,At)},Dt=rt=>{var At=Yi(),pt=ne(At);{var Kt=Ke=>{tr(Ke,{class:"size-4 shrink-0 text-sea","aria-hidden":"true"})},m=Ke=>{qs(Ke,{class:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"})};f(pt,Ke=>{e(P).r.kind==="pr"?Ke(Kt):Ke(m,-1)})}var D=a(pt,2),ve=C(D,!0),Me=a(D,2);{var ot=Ke=>{var Je=Ui(),ie=C(Je,!0);g(()=>w(ie,e(P).r.project)),r(Ke,Je)};f(Me,Ke=>{e(P).r.project&&Ke(ot)})}g(()=>w(ve,e(P).r.kind==="pr"?`Pull request · ${e(P).r.title}`:e(P).r.title)),r(rt,At)};f(Tt,rt=>{e(P).kind==="command"?rt(St):rt(Dt,-1)})}o(Qe),g(()=>{L(Qe,"aria-selected",e(ce)===e(A)),Fe(Qe,1,`flex w-full cursor-pointer items-center gap-3 rounded-lg px-2.5 py-2 text-left text-sm ${e(ce)===e(A)?"bg-muted":""}`)}),te("mousedown",Qe,rt=>{rt.preventDefault(),he(e(P))}),ea("mouseenter",Qe,()=>j(A,e(ce),!0)),r(q,we)}),o(_),g(()=>L(_,"aria-label",e(N).kind==="/"?"Commands":"Tasks and pull requests")),r(p,_)};f(oe,p=>{e(N)&&e(E).length&&p(be)})}var Xe=a(oe,2);{var Ae=p=>{var _=Vi(),q=u(_);Jr(q,{class:"size-4 shrink-0 text-sea","aria-hidden":"true"});var P=a(q,2),ce=u(P),xe=C(ce),we=a(ce,2),H=C(we,!0);o(P);var pe=a(P,2),Qe=u(pe);ha(Qe,{class:"size-4"}),o(pe),o(_),g(()=>{w(xe,`Replying to ${s().who==="firstmate"?"Firstmate":"yourself"}`),w(H,s().snippet)}),te("click",pe,()=>t.oncancelreply?.()),r(p,_)};f(Xe,p=>{s()&&p(Ae)})}var at=a(Xe,2),Ue=u(at),ht=u(Ue);ma(ht,p=>j(M,p),()=>e(M));var $=a(ht,2),X=u($);Ys(X,{class:"size-4"}),o($);var ae=a($,2);ma(ae,p=>j(k,p),()=>e(k));var _e=a(ae,2);{let p=h(()=>!e(v));is(_e,{get field(){return e(k)},target:()=>ls(e(k),Y),label:"Dictate a message",get disabled(){return e(p)}})}var W=a(_e,2);{var U=p=>{var _=Xi(),q=u(_);{var P=xe=>{Nt(xe,{class:"size-4 animate-spin"})},ce=xe=>{cs(xe,{class:"size-3.5 fill-current"})};f(q,xe=>{e(T)?xe(P):xe(ce,-1)})}o(_),g(()=>_.disabled=e(T)),te("click",_,S),r(p,_)},Se=p=>{var _=Qi(),q=u(_);Vr(q,{class:"size-4"}),o(_),g(()=>_.disabled=e(z)&&!bt.ready||!e(v)||!!i()||bt.uploading),te("click",_,x),r(p,_)};f(W,p=>{t.working&&e(z)&&!bt.drafts.length&&t.via==="session"?p(U):p(Se,-1)})}o(Ue);var Oe=a(Ue,2);Bi(Oe,{}),o(at);var Ce=a(at,2);{var st=p=>{var _=Zi(),q=C(_,!0);g(()=>w(q,e(O))),r(p,_)},Ee=p=>{var _=Ji(),q=C(_,!0);g(()=>w(q,i())),r(p,_)},Re=p=>{var _=el();r(p,_)},Ye=p=>{var _=tl(),q=C(_,!0);g(()=>w(q,e(b)?"Sent to Firstmate’s inbox. It reads it at its next turn, and its reply appears here.":"Firstmate runs in another terminal, so messages go to its inbox.")),r(p,_)};f(Ce,p=>{e(O)?p(st):i()?p(Ee,1):bt.uploading?p(Re,2):t.via==="inbox"&&p(Ye,3)})}o(se),g(()=>{Fe(at,1,`rounded-lg border border-input bg-card shadow-sm focus-within:ring-2 focus-within:ring-ring/30 ${e(v)?"":"opacity-70"} ${s()?"rounded-t-none":""}`),L($,"title",`Attach files (or drop them on the chat, or paste an image), up to ${La/(1024*1024)} MB each`),$.disabled=!e(v),L(ae,"contenteditable",e(v)?"true":"false"),L(ae,"tabindex",e(v)?0:-1),L(ae,"aria-disabled",!e(v)),L(ae,"data-placeholder",e(re)),Fe(ae,1,`editor no-scrollbar max-h-48 min-h-10 flex-1 overflow-y-auto py-2 text-base leading-relaxed whitespace-pre-wrap outline-none ${e(z)?"is-empty":""} ${e(v)?"":"cursor-not-allowed"}`,"svelte-w61w6e")}),te("change",ht,p=>{bt.add([...p.currentTarget.files??[]],t.token),p.currentTarget.value="",e(k)?.focus()}),te("click",$,()=>e(M)?.click()),te("input",ae,Y),te("keyup",ae,p=>{["ArrowDown","ArrowUp","Enter","Tab","Escape"].includes(p.key)||Y()}),te("click",ae,Y),ea("blur",ae,()=>setTimeout(()=>j(N,null),100)),te("keydown",ae,ee),ea("paste",ae,Q),r(n,se),jt()}Yt(["mousedown","click","change","input","keyup","keydown"]);var nl=d('<span class="font-medium text-foreground"> </span>'),sl=d('<p class="w-full text-danger" role="alert"> </p>'),ol=d(`<div class="max-w-[80ch] rounded-lg border border-t-2 border-t-sea bg-card p-4" role="group" aria-label="A Claude Code menu is open"><p class="mb-2 flex items-center gap-2 font-display text-[1.15rem] font-medium"><!>A Claude Code menu is open</p> <p class="mb-3 text-sm text-muted-foreground"><!> is open in Firstmate’s session, and the chat can’t use it. Close it to carry on chatting, or use it
13
- in Firstmate’s terminal.</p> <div class="flex flex-wrap items-center gap-3 text-sm"><button class="flex cursor-pointer items-center gap-1.5 rounded-lg bg-foreground px-3 py-1.5 font-medium text-background disabled:opacity-40"><!>Close menu</button> <button class="flex cursor-pointer items-center gap-1.5 text-muted-foreground hover:text-foreground"><!>Use it in the terminal</button> <!></div></div>`);function il(n,t){Rt(t,!0);let i=de(!1),s=de(null);async function v(){j(i,!0),j(s,null);const I=await Da("/api/firstmate/dismiss",t.token);j(i,!1),I.ok||j(s,I.error,!0)}var M=ol(),b=u(M),k=u(b);Zr(k,{class:"size-4 text-sea","aria-hidden":"true"}),We(),o(b);var z=a(b,2),T=u(z);{var O=I=>{var y=nl(),x=C(y,!0);g(()=>w(x,t.menu.title)),r(I,y)},N=I=>{var y=sa("A menu");r(I,y)};f(T,I=>{t.menu.title?I(O):I(N,-1)})}We(),o(z);var A=a(z,2),F=u(A),R=u(F);{var E=I=>{Nt(I,{class:"size-4 animate-spin","aria-hidden":"true"})},Y=I=>{ha(I,{class:"size-4","aria-hidden":"true"})};f(R,I=>{e(i)?I(E):I(Y,-1)})}We(),o(F);var K=a(F,2),V=u(K);ga(V,{class:"size-4","aria-hidden":"true"}),We(),o(K);var he=a(K,2);{var J=I=>{var y=sl(),x=C(y,!0);g(()=>w(x,e(s))),r(I,y)};f(he,I=>{e(s)&&I(J)})}o(A),o(M),g(()=>F.disabled=e(i)),te("click",F,v),te("click",K,function(...I){t.onterminal?.apply(this,I)}),r(n,M),jt()}Yt(["click"]);var ll=d("<span><!> </span>"),dl=d('<div class="mb-3 flex flex-wrap gap-1.5 text-xs"></div>'),cl=d('<p class="mb-3 text-base whitespace-pre-line"> </p>'),ul=d('<button class="flex w-full cursor-pointer items-center gap-3 rounded-lg border border-dashed bg-background px-3 py-2 text-left text-sm text-muted-foreground hover:border-sea/60"><!> <span>Type an answer in Firstmate’s terminal</span></button>'),vl=d('<span class="block text-xs text-muted-foreground"> </span>'),fl=d('<button><span class="tabular w-4 shrink-0 text-muted-foreground"><!></span> <span class="min-w-0"><span class="font-medium"> </span> <!></span></button>'),pl=d('<button class="cursor-pointer rounded-lg bg-foreground px-3 py-1.5 font-medium text-background disabled:opacity-40">Done</button>'),ml=d('<p class="w-full text-danger" role="alert"> </p>'),gl=d('<div class="max-w-[80ch] rounded-lg border border-t-2 border-t-sea bg-card p-4" role="group" aria-label="Firstmate is asking you"><p class="mb-2 flex items-center gap-2 font-display text-[1.15rem] font-medium"><!>Firstmate is asking you <!></p> <!> <!> <div class="flex flex-col gap-1.5"></div> <div class="mt-3 flex flex-wrap items-center gap-3 text-sm"><!> <button class="flex cursor-pointer items-center gap-1.5 text-muted-foreground hover:text-foreground"><!>Answer in the terminal instead</button> <!></div></div>');function hl(n,t){Rt(t,!0);let i=de(!1),s=de(null);async function v(y){j(i,!0),j(s,null);const x=await Da("/api/firstmate/pick",t.token,{signature:t.picker.signature,...y});j(i,!1),x.ok||j(s,x.error,!0)}var M=gl(),b=u(M),k=u(b);us(k,{class:"size-4 text-sea","aria-hidden":"true"});var z=a(k,2);{var T=y=>{Nt(y,{class:"size-4 animate-spin text-sea","aria-label":"Sending"})};f(z,y=>{e(i)&&y(T)})}o(b);var O=a(b,2);{var N=y=>{var x=dl();$e(x,21,()=>t.picker.tabs,S=>S.label,(S,ee)=>{var Q=ll(),re=u(Q);{var se=be=>{Ra(be,{class:"size-3","aria-label":"Answered"})};f(re,be=>{e(ee).done&&be(se)})}var oe=a(re,1,!0);o(Q),g(()=>{Fe(Q,1,`flex items-center gap-1 rounded border px-1.5 py-0.5 ${e(ee).done?"text-muted-foreground":"border-sea/50 text-foreground"}`),w(oe,e(ee).label)}),r(S,Q)}),o(x),r(y,x)};f(O,y=>{t.picker.tabs.length>1&&y(N)})}var A=a(O,2);{var F=y=>{var x=cl(),S=C(x,!0);g(()=>w(S,t.picker.title)),r(y,x)};f(A,y=>{t.picker.title&&y(F)})}var R=a(A,2);$e(R,21,()=>t.picker.options,y=>y.n,(y,x)=>{var S=oa(),ee=ne(S);{var Q=se=>{var oe=ul(),be=u(oe);ga(be,{class:"size-4 shrink-0","aria-hidden":"true"}),We(2),o(oe),te("click",oe,function(...Xe){t.onterminal?.apply(this,Xe)}),r(se,oe)},re=se=>{var oe=fl(),be=u(oe),Xe=u(be);{var Ae=_e=>{Ra(_e,{class:"size-4 text-sea","aria-label":"Chosen"})},at=_e=>{var W=sa();g(()=>w(W,e(x).n)),r(_e,W)};f(Xe,_e=>{e(x).checked?_e(Ae):_e(at,-1)})}o(be);var Ue=a(be,2),ht=u(Ue),$=C(ht,!0),X=a(ht,2);{var ae=_e=>{var W=vl(),U=C(W,!0);g(()=>w(U,e(x).description)),r(_e,W)};f(X,_e=>{e(x).description&&_e(ae)})}o(Ue),o(oe),g(()=>{Fe(oe,1,`flex w-full cursor-pointer items-start gap-3 rounded-lg border px-3 py-2 text-left text-sm transition-colors disabled:cursor-default ${e(x).checked?"border-sea bg-sea/10":"bg-background hover:border-sea/60"}`),oe.disabled=e(i),L(oe,"aria-pressed",e(x).checked===null?void 0:e(x).checked),w($,e(x).label)}),te("click",oe,()=>v({press:e(x).n})),r(se,oe)};f(ee,se=>{e(x).freeText?se(Q):se(re,-1)})}r(y,S)}),o(R);var E=a(R,2),Y=u(E);{var K=y=>{var x=pl();g(S=>x.disabled=S,[()=>e(i)||!t.picker.options.some(S=>S.checked)]),te("click",x,()=>v({submit:!0})),r(y,x)};f(Y,y=>{t.picker.multiSelect&&t.picker.submitMoves!==null&&y(K)})}var V=a(Y,2),he=u(V);ga(he,{class:"size-4","aria-hidden":"true"}),We(),o(V);var J=a(V,2);{var I=y=>{var x=ml(),S=C(x,!0);g(()=>w(S,e(s))),r(y,x)};f(J,y=>{e(s)&&y(I)})}o(E),o(M),te("click",V,function(...y){t.onterminal?.apply(this,y)}),r(n,M),jt()}Yt(["click"]);var xl=d('<p class="flex items-start gap-2"><!> <span> <span class="font-medium text-foreground"> </span></span></p>'),_l=d('<div class="flex max-w-[80ch] flex-col gap-1 text-sm text-muted-foreground"></div>');function bl(n,t){Rt(t,!0);var i=oa(),s=ne(i);{var v=M=>{var b=_l();$e(b,21,()=>t.part.questions,k=>k.question,(k,z)=>{var T=xl(),O=u(T);Ia(O,{class:"mt-0.5 size-4 shrink-0 text-success","aria-hidden":"true"});var N=a(O,2),A=u(N),F=a(A),R=C(F,!0);o(N),o(T),g(()=>{w(A,`${e(z).question??""} `),w(R,t.part.answers[e(z).question]??"No answer")}),r(k,T)}),o(b),r(M,b)};f(s,M=>{t.part.answers&&M(v)})}r(n,i),jt()}const wl="wheelhouse.terminal.v1",kl="wheelhouse.token.",yl="/api/firstmate/terminal",jr={detached:4e3,shutdown:4002};var zl=d("<!> <span>Connecting to the session…</span>",1),Sl=d("<!>Reconnect",1),Al=d('<span class="min-w-0 flex-1"> </span> <!>',1),Ml=d('<div class="absolute inset-x-0 bottom-0 flex flex-wrap items-center gap-3 border-t border-white/10 bg-console/95 px-4 py-3 text-sm text-slate-300" role="status"><!></div>'),Il=d('<div class="relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl bg-console"><div class="session-terminal min-h-0 flex-1 font-mono svelte-v7bqws" aria-label="Firstmate’s terminal"></div> <!></div>');function Tl(n,t){Rt(t,!0);let i,s=de("connecting"),v=de(null),M=de(()=>{});const b=13,k=()=>{const A=getComputedStyle(document.documentElement).getPropertyValue("--console").trim()||"#0b1120";return{background:A,foreground:"#cbd5e1",cursor:"#cbd5e1",cursorAccent:A,selectionBackground:"#334155",scrollbarSliderBackground:"transparent",scrollbarSliderHoverBackground:"transparent",scrollbarSliderActiveBackground:"transparent"}};Xa(()=>{let A=!1,F=null,R=null,E=null,Y=null,K=null;const V=J=>{F?.readyState===WebSocket.OPEN&&F.send(JSON.stringify(J))},he=()=>{if(!R||A)return;const J=R;F?.close(),J.reset(),j(s,"connecting"),j(v,null);const y=`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}${yl}?cols=${J.cols}&rows=${J.rows}`,x=new WebSocket(y,[wl,kl+t.token]);x.binaryType="arraybuffer",F=x,x.onopen=()=>{j(s,"open"),V({type:"resize",cols:J.cols,rows:J.rows}),J.focus()},x.onmessage=S=>{S.data instanceof ArrayBuffer&&J.write(new Uint8Array(S.data))},x.onclose=S=>{F!==x||A||(j(s,"closed"),j(v,S.code===jr.detached?"The session ended or was detached.":S.code===jr.shutdown?"Wheelhouse closed.":S.reason||"Wheelhouse refused or lost the connection. If the session is still running, reconnect; if Wheelhouse restarted, reload the page.",!0),t.onclosed?.())}};return j(M,he),(async()=>{const[{Terminal:J},{FitAddon:I}]=await Promise.all([wr(()=>import("../chunks/B-qIQCd3.js"),[],import.meta.url),wr(()=>import("../chunks/DX4qG4td.js"),[],import.meta.url)]),y=getComputedStyle(i).fontFamily;await document.fonts?.load(`${b}px ${y}`).catch(()=>{}),!A&&(R=new J({fontFamily:y,fontSize:b,lineHeight:1.15,cursorBlink:!0,scrollback:0,macOptionClickForcesSelection:!0,allowProposedApi:!1,theme:k()}),E=new I,R.loadAddon(E),R.open(i),E.fit(),R.onData(x=>V({type:"input",data:x})),R.onBinary(x=>V({type:"input",data:x})),R.onResize(({cols:x,rows:S})=>V({type:"resize",cols:x,rows:S})),R.attachCustomKeyEventHandler(x=>x.key==="Enter"&&x.shiftKey&&!x.altKey&&!x.ctrlKey&&!x.metaKey?(x.type==="keydown"&&V({type:"input",data:"\x1B\r"}),!1):!0),Y=new ResizeObserver(()=>E?.fit()),Y.observe(i),K=new MutationObserver(()=>{R&&(R.options.theme=k())}),K.observe(document.documentElement,{attributeFilter:["class"]}),he())})(),()=>{A=!0,Y?.disconnect(),K?.disconnect(),F?.close(),R?.dispose()}});var z=Il(),T=u(z);ma(T,A=>i=A,()=>i);var O=a(T,2);{var N=A=>{var F=Ml(),R=u(F);{var E=K=>{var V=zl(),he=ne(V);Nt(he,{class:"size-4 animate-spin","aria-hidden":"true"}),We(2),r(K,V)},Y=K=>{var V=Al(),he=ne(V),J=C(he,!0),I=a(he,2);vs(I,{size:"sm",variant:"secondary",onclick:()=>e(M)(),children:(y,x)=>{var S=Sl(),ee=ne(S);er(ee,{}),We(),r(y,S)},$$slots:{default:!0}}),g(()=>w(J,e(v))),r(K,V)};f(R,K=>{e(s)==="connecting"?K(E):K(Y,-1)})}o(F),r(A,F)};f(O,A=>{e(s)!=="open"&&A(N)})}o(z),r(n,z),jt()}const Dr=(n,t=Jt,i=Jt)=>{var s=oa(),v=ne(s);$e(v,17,()=>an(t()),Mn,(M,b)=>{var k=oa(),z=ne(k);{var T=A=>{var F=sa();g(()=>w(F,e(b))),r(A,F)},O=A=>{var F=jl(),R=C(F,!0);g((E,Y)=>{L(F,"href",`/tasks/${E??""}`),L(F,"title",e(b).url??e(b).title),w(R,Y)},[()=>encodeURIComponent(e(b).id),()=>ja(e(b))]),r(A,F)},N=A=>{var F=Dl(),R=C(F,!0);g(E=>w(R,E),[()=>ja(e(b))]),r(A,F)};f(z,A=>{typeof e(b)=="string"?A(T):i()?A(O,1):A(N,-1)})}r(M,k)}),r(n,s)};var Cl=d('<button title="Reply"><!></button>'),El=d('<button><span class="reply-quote-who"> </span> <span class="reply-quote-text"> </span></button>'),Rl=d('<div class="msg msg-firstmate msg-grouped"><span class="msg-gutter" aria-hidden="true"></span> <div class="min-w-0 flex-1"><!></div></div>'),jl=d('<a class="mx-px inline-block rounded-md bg-sea/15 px-1.5 text-[0.875em] font-medium whitespace-nowrap text-sea no-underline hover:bg-sea/25"> </a>'),Dl=d('<span class="mx-px inline-block rounded-md bg-sea/15 px-1.5 text-[0.875em] font-medium whitespace-nowrap text-sea"> </span>'),Fl=d('<div class="pointer-events-none absolute inset-3 z-40 flex items-center justify-center rounded-xl border-2 border-dashed border-sea/60 bg-panel/80"><div class="flex flex-col items-center gap-2 rounded-xl border border-hair bg-card px-8 py-6 text-center shadow-sm"><!> <p class="font-display text-lg font-medium">Drop to attach</p> <p class="text-sm text-muted-foreground"> </p></div></div>'),$l=d('<span class="hidden truncate text-muted-foreground sm:inline"> </span>'),Ll=d('<span class="inline-flex items-center gap-1"><!>checking now</span>'),ql=d("<!>Checking now",1),Ol=d("<!>All quiet",1),Nl=d("<!>Reported back in the chat",1),Pl=d('<span class="ml-auto text-muted-foreground"> </span>'),Bl=d('<li class="flex items-center gap-2"><span class="tabular w-11 shrink-0 text-muted-foreground"> </span> <!> <!></li>'),Hl=d('<ul class="flex flex-col gap-1"></ul>'),Wl=d('<p class="text-muted-foreground">No background checks in this conversation yet.</p>'),Ul=d('<div class="absolute top-full right-0 z-30 mt-2 w-72 rounded-xl border bg-popover p-3 text-xs shadow-lg" role="dialog" aria-label="Background checks"><div class="mb-2 flex items-center justify-between"><p class="font-medium">Background checks</p> <button class="cursor-pointer rounded p-0.5 text-muted-foreground hover:bg-muted" aria-label="Close"><!></button></div> <p class="mb-2 text-muted-foreground">Firstmate wakes when the crew report in. Quiet checks are kept out of the chat.</p> <!></div>'),Yl=d('<button title="Firstmate’s own terminal, for anything the chat cannot show"><!></button>'),Kl=d('<button class="hidden size-9 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground lg:flex"><!></button>'),Gl=d('<span class="absolute top-1.5 right-1.5 size-2 rounded-full bg-sea"></span>'),Vl=d('<p class="text-xs text-muted-foreground">Earlier messages are not shown here; the full conversation is in Firstmate’s terminal.</p>'),Xl=d('<p class="text-sm text-muted-foreground"> </p>'),Ql=d('<p class="text-sm text-danger" role="alert"> </p>'),Zl=d('<button class="flex cursor-pointer items-center gap-2 rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background disabled:opacity-50"><!>Start Firstmate here</button> <p class="text-xs text-muted-foreground"> </p> <!>',1),Jl=d('<div class="my-8 flex max-w-md flex-col items-start gap-3"><p class="font-medium"> </p> <!> <!></div>'),ed=d('<p class="py-20 text-sm text-muted-foreground"> </p>'),Ua=d('<span class="msg-gutter" aria-hidden="true"></span>'),Fr=d('<span class="captain-avatar">C</span>'),td=d("<span>· sent while Firstmate was working</span>"),ad=d('<header class="msg-head"><span class="msg-name">You</span><time> </time> <!></header>'),rd=d('<div class="bubble-row"><div><!><!></div> <!></div>'),nd=d('<article><!> <div class="min-w-0 flex-1"><!> <!> <!></div></article>'),sd=d('<pre class="no-scrollbar max-h-80 max-w-[80ch] overflow-auto rounded-lg bg-muted/60 p-3 font-mono text-xs whitespace-pre-wrap text-muted-foreground"> </pre>'),od=d('<div class="mt-2 w-full max-w-[80ch] rounded-lg border bg-card px-4 py-3 text-sm whitespace-pre-wrap text-muted-foreground"><!></div>'),id=d('<div class="flex flex-col items-start"><button class="-ml-3 flex max-w-full cursor-pointer items-center gap-2 rounded-full px-3 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"><!> <span class="truncate"> </span> <!></button> <!></div>'),ld=d('<header class="msg-head"><span class="msg-name">Firstmate</span><time> </time></header>'),dd=d('<div class="max-w-[80ch] rounded-xl border bg-card p-4" data-slot="bridge.card"><p class="font-medium"> </p> <div class="mt-2"><!></div></div>'),cd=d('<div class="bubble-row"><div class="chat-md bubble bubble-firstmate"></div> <!></div> <!> <!>',1),$r=d("<!> <!>",1),ud=d('<span class="text-xs text-muted-foreground">Stopped</span>'),vd=d('<span class="text-xs text-muted-foreground"> </span>'),fd=d('<article><!> <div class="flex min-w-0 flex-1 flex-col gap-2"><!> <!> <!></div></article>'),pd=d('<header class="msg-head"><span class="msg-name">You</span></header>'),md=d("<div><!><!></div>"),gd=d('<!> <button class="ml-1 inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 font-medium text-foreground hover:bg-muted"><!>Retry</button> <button class="cursor-pointer rounded px-1.5 py-0.5 text-muted-foreground hover:bg-muted">Discard</button>',1),hd=d("<!> ",1),xd=d('<article><!> <div class="min-w-0 flex-1"><!> <!> <!> <p role="status"><!></p></div></article>'),_d=d('<div class="flex gap-1 py-1" aria-label="Firstmate is working" role="status"><span class="size-1.5 animate-bounce rounded-full bg-muted-foreground [animation-delay:-0.3s]"></span> <span class="size-1.5 animate-bounce rounded-full bg-muted-foreground [animation-delay:-0.15s]"></span> <span class="size-1.5 animate-bounce rounded-full bg-muted-foreground"></span></div>'),bd=d('<button class="absolute bottom-3 left-1/2 flex -translate-x-1/2 cursor-pointer items-center gap-1.5 rounded-full border bg-background px-3 py-1.5 text-xs shadow-sm transition-colors hover:bg-muted"><!>Latest</button>'),wd=d('<span class="ml-auto hidden text-xs text-muted-foreground sm:inline"> </span>'),kd=d('<div><div class="flex h-10 shrink-0 items-center gap-2 px-4 text-sm sm:px-6 lg:px-10"><!> <span class="font-medium">Firstmate’s terminal</span> <span class="hidden text-muted-foreground sm:inline">· for anything the chat cannot show</span> <!> <button><!></button> <button class="-mr-2 flex size-8 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground" aria-label="Hide the terminal"><!></button></div> <div class="flex min-h-0 flex-1 flex-col px-2 pb-2"><!></div></div>'),yd=d('<section class="chat-grid relative flex min-h-0 min-w-0 flex-1 flex-col bg-panel" aria-label="Firstmate"><!> <div class="border-b"><div class="flex h-11 items-center gap-3 px-4 text-sm sm:px-6 lg:px-10"><span class="font-medium">Firstmate</span> <!> <div class="relative ml-auto shrink-0"><button class="flex cursor-pointer items-center gap-1.5 rounded-full border px-2.5 py-1 text-xs transition-colors hover:bg-muted" aria-haspopup="dialog"><!> <span class="font-medium"> </span> <span class="hidden text-muted-foreground md:inline">· <!></span></button> <!></div> <span class="hidden shrink-0 items-center gap-2 text-muted-foreground md:flex"><span aria-hidden="true"></span> </span> <!> <!> <button class="relative -mr-2 flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"><!> <!></button></div></div> <div class="relative min-h-0 flex-1"><div class="no-scrollbar h-full overflow-y-auto"><div class="flex flex-col gap-6 px-4 pt-8 pb-10 sm:px-6 lg:px-10"><!> <!> <!> <!> <!> <!></div></div> <!> <!></div> <div class="bg-panel px-4 pb-4 sm:px-6 lg:px-10"><!></div></section>');function zd(n,t){Rt(t,!0);const i=(l,c=Jt,B=Jt,G=Jt)=>{var ue=Cl(),ye=u(ue);Jr(ye,{class:"size-4","aria-hidden":"true"}),o(ue),g(()=>{Fe(ue,1,`reply-btn ${e(pt)===c()?"is-revealed":""}`),L(ue,"aria-label",B()==="firstmate"?"Reply to this message from Firstmate":"Reply to your message")}),te("click",ue,()=>{j(pt,null),Dt(B(),G())}),r(l,ue)},s=(l,c=Jt,B=Jt)=>{var G=El(),ue=u(G),ye=C(ue,!0),Le=a(ue,2),kt=C(Le,!0);o(G),g(()=>{Fe(G,1,`reply-quote reply-quote-${c().who??""}`),G.disabled=!B(),L(G,"title",B()?"Show the message this replies to":"That message is no longer in the chat"),w(ye,c().who==="firstmate"?"Firstmate":"You"),w(kt,c().snippet)}),te("click",G,()=>At(B())),r(l,G)},v=(l,c=Jt)=>{var B=Rl(),G=a(u(B),2),ue=u(G);{let ye=h(()=>X(c().head.projectId)),Le=h(()=>e(Ue).get(c().head.cardId)===c().id?e(Ae).byCard.get(c().head.cardId)??null:null),kt=h(()=>e(Ue).get(c().head.cardId)===c().id?e(at).get(c().head.cardId)??[]:[]),Ze=h(()=>!!e(Q));Ii(ue,{get decision(){return c()},get project(){return e(ye)},get now(){return t.now},get thread(){return e(Le)},get pending(){return e(kt)},get canAsk(){return e(Ze)},onAsk:Be=>ae(c(),Be),onRetry:Be=>zt.retry(Be,t.token,e(Y)&&!e(he)),onDismiss:Be=>zt.dismiss(Be)})}o(G),o(B),r(l,B)};let M=gt(t,"railSide",3,"right"),b=gt(t,"waiting",3,0),k=gt(t,"pluginEntries",19,()=>[]),z=gt(t,"tasks",19,()=>[]),T=gt(t,"projects",19,()=>[]);const O={success:Ia,sea:Xr,warning:fs,danger:xa},N={success:"text-success",sea:"text-sea",warning:"text-warning",danger:"text-danger"},A=h(()=>zt.session),F=h(()=>zt.chat),R=h(()=>e(F).items),E=h(()=>e(R)[e(R).length-1]),Y=h(()=>e(A)?.busy===!0||e(E)?.kind==="turn"&&!e(E).done&&!e(E).interrupted),K=h(()=>e(A)?.canSend?e(A).picker:null),V=h(()=>e(A)?.canSend?e(A).menu:null),he=h(()=>!!e(K)||!!e(V)),J=h(()=>e(K)?"Answer the question above to send your message.":e(V)?"Close the Claude Code menu above to send your message.":null),I=h(()=>e(F).checks[e(F).checks.length-1]),y=h(()=>!!e(I)&&!e(I).done),x=h(()=>e(F).checks.slice(-8).reverse()),S=h(()=>O[t.health.tone]),ee=h(()=>e(A)?.canSend===!0),Q=h(()=>e(ee)?"session":e(A)?.state==="external"&&Tn()?.messaging.available?"inbox":null),re=h(()=>ca.view(la.data.inbox)),se=h(()=>e(re)?.available?bo(e(re).cards,e(re).answered??[],ca.pending):[]),oe=h(()=>ko(e(R),e(se))),be=h(()=>[...[...e(oe).before.values()].flat(),...e(oe).end]),Xe=h(()=>new Set(e(be).map(l=>l.head.cardId))),Ae=h(()=>Ro(e(R),e(Xe))),at=h(()=>jo(zt.pending)),Ue=h(()=>{const l=new Map;for(const c of e(be)){const B=l.get(c.head.cardId);(!B||!e(be).find(G=>G.id===B)?.card)&&l.set(c.head.cardId,c.id)}return l}),ht=h(()=>zt.pending.filter(l=>{const c=rr(l.text);return!c||!e(Xe).has(c.cardId)})),$=h(()=>Fo(e(R),z())),X=l=>!l||l==="unassigned"?null:T().find(c=>c.id===l)?.name??l;function ae(l,c){const B=Eo({taskId:l.head.taskId,key:l.head.key,question:l.head.question},c);return!B||!e(Q)?!1:(zt.send(B,e(Q),t.token,e(Y)&&!e(he)),!0)}let _e=de(!1),W=de(!1),U=de(!1),Se=de(null),Oe=de(null);async function Ce(l){if(j(U,l,!0),!l)return br(e(Se));if(!e(Se))return;const c=await Un(e(Se),{keepEscape:!0});j(Oe,c.full?c.escapeKept?"hold":"press":null,!0)}aa(()=>{const l=e(Se);if(!l)return;const c=()=>{document.fullscreenElement!==l&&(j(Oe,null),j(U,!1))};return l.addEventListener("fullscreenchange",c),()=>{l.removeEventListener("fullscreenchange",c),br(l)}});let st=de(ua({}));const Ee=new Set;aa(()=>{const l=En(e(R)).filter(c=>!Ee.has(c));if(!(!l.length||!t.token)){for(const c of l)Ee.add(c);Bn(l,t.token).then(c=>{Object.keys(c.apps).length&&j(st,{...e(st),...c.apps},!0)},()=>{for(const c of l)Ee.delete(c)})}});let Re=ua({}),Ye=de(!1),p=de(null),_=de(void 0),q=de(!0);const P=()=>!e(_)||e(_).scrollHeight-e(_).scrollTop-e(_).clientHeight<80;let ce=!0;yn(()=>{e(R).length,e(E),e(K),e(V),zt.pending.length,bt.drafts.length,e(oe).end.length,e(Ae).hidden.size,ce=P()}),aa(()=>{e(R),e(K),e(V),zt.pending.length,bt.drafts.length,e(oe),e(Ae),zt.resets,ce&&Za().then(()=>e(_)?.scrollTo({top:e(_).scrollHeight}))});const xe=5*6e4;function we(l){let c=l-1;for(;c>=0&&e(Ae).hidden.has(e(R)[c].id);)c--;for(let ue=c+1;ue<=l;ue++)if(e(oe).before.has(ue))return!1;const B=e(R)[c],G=e(R)[l];return!B||!G||B.kind!==G.kind||G.kind!=="user"&&G.kind!=="turn"?!1:Date.parse(G.at)-Date.parse(B.at)<=xe}const H=l=>new Date(l).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),pe=h(()=>zt.connection==="lost"?{dot:"bg-danger",label:"Reconnecting"}:e(A)?e(A).state==="external"?{dot:"bg-muted-foreground",label:"Read-only"}:e(A).state==="starting"?{dot:"animate-pulse bg-sea",label:"Starting"}:e(A).state!=="ours"?{dot:"bg-muted-foreground",label:"Not running"}:e(K)?{dot:"bg-sea",label:"Asking you"}:e(V)?{dot:"bg-sea",label:"Menu open"}:e(Y)?{dot:"animate-pulse bg-sea",label:"Working"}:{dot:"bg-success",label:"Waiting for you"}:{dot:"bg-muted-foreground",label:"Connecting"});async function Qe(){j(Ye,!0),j(p,null);const l=await Da("/api/firstmate/start",t.token);j(Ye,!1),l.ok||j(p,l.error,!0)}let Tt=de(null);const St=l=>Ba(Ha(l).body).text;function Dt(l,c){if(!e(Q))return;const B=nn(l==="captain"?St(c):c);B&&j(Tt,{who:l,snippet:B},!0)}function rt(l,c=e(R).length){for(let B=Math.min(c,e(R).length)-1;B>=0;B--){const G=e(R)[B];if(l.who==="captain"&&G.kind==="user"&&Ir(l,St(G.text)))return G.id;if(l.who==="firstmate"&&G.kind==="turn")for(let ue=G.parts.length-1;ue>=0;ue--){const ye=G.parts[ue];if(ye.kind==="text"&&Ir(l,ye.text))return ye.id}}return null}function At(l){const c=l?e(_)?.querySelector(`[data-bubble="${CSS.escape(l)}"]`):null;c&&(c.scrollIntoView({block:"center",behavior:"smooth"}),c.classList.remove("reply-flash"),requestAnimationFrame(()=>c.classList.add("reply-flash")),setTimeout(()=>c.classList.remove("reply-flash"),1800))}let pt=de(null);function Kt(l,c){let B=0,G=0,ue=0,ye="idle",Le;const kt=qe=>{l.style.transform=qe?`translateX(${qe}px)`:"",l.style.setProperty("--swipe",String(Math.min(qe/56,1)))},Ze=qe=>{for(let me=qe instanceof Element?qe:null;me&&me!==l;me=me.parentElement){const{overflowX:le}=getComputedStyle(me);if((le==="auto"||le==="scroll")&&me.scrollWidth>me.clientWidth)return!0}return!1},Be=qe=>{e(pt)&&e(pt)!==l.dataset.bubble&&j(pt,null),!(!c||qe.touches.length!==1||Ze(qe.target))&&(B=qe.touches[0].clientX,G=qe.touches[0].clientY,ue=0,ye="maybe",l.style.transition="none",Le=setTimeout(()=>{ye==="maybe"&&j(pt,l.dataset.bubble??null,!0)},450))},tt=qe=>{if(ye==="idle"||ye==="scroll")return;const me=qe.touches[0].clientX-B,le=qe.touches[0].clientY-G;ye==="maybe"&&(Math.abs(le)>10?ye="scroll":me>12&&(ye="swipe"),ye!=="maybe"&&clearTimeout(Le)),ye==="swipe"&&(ue=Math.max(0,Math.min(me,80)),kt(ue))},mt=()=>{clearTimeout(Le),ye==="swipe"&&ue>=56&&(navigator.vibrate?.(10),c?.()),ye="idle",l.style.transition="transform 180ms ease-out",kt(0)};return l.addEventListener("touchstart",Be,{passive:!0}),l.addEventListener("touchmove",tt,{passive:!0}),l.addEventListener("touchend",mt),l.addEventListener("touchcancel",mt),{update(qe){c=qe},destroy(){clearTimeout(Le),l.removeEventListener("touchstart",Be),l.removeEventListener("touchmove",tt),l.removeEventListener("touchend",mt),l.removeEventListener("touchcancel",mt)}}}let m=de(0);const D=l=>!!l.dataTransfer?.types.includes("Files"),ve=(l,c)=>e(Y)&&l===e(E)&&l.kind==="turn"&&c===l.parts.length-1;var Me=yd(),ot=u(Me);{var Ke=l=>{var c=Fl(),B=u(c),G=u(B);Js(G,{class:"size-6 text-sea","aria-hidden":"true"});var ue=a(G,4),ye=C(ue);o(B),o(c),g(()=>w(ye,`Kept on this machine for Firstmate to open · up to ${La/1048576} MB each`)),r(l,c)};f(ot,l=>{e(m)&&l(Ke)})}var Je=a(ot,2),ie=u(Je),fe=a(u(ie),2);{var Te=l=>{var c=$l(),B=C(c,!0);g(()=>w(B,e(F).title)),r(l,c)};f(fe,l=>{e(F).title&&l(Te)})}var Ne=a(fe,2),it=u(Ne),et=u(it);Fa(et,()=>e(S),(l,c)=>{c(l,{get class(){return`size-3.5 ${N[t.health.tone]??""}`},"aria-hidden":"true"})});var Pe=a(et,2),Ge=C(Pe,!0),lt=a(Pe,2),Mt=a(u(lt));{var wt=l=>{var c=Ll(),B=u(c);Nt(B,{class:"size-3 animate-spin","aria-hidden":"true"}),We(),o(c),r(l,c)},Ct=l=>{var c=sa();g(B=>w(c,`checked ${B??""}`),[()=>$a(e(I).at,t.now)]),r(l,c)},xt=l=>{var c=sa("no checks yet");r(l,c)};f(Mt,l=>{e(y)?l(wt):e(I)?l(Ct,1):l(xt,-1)})}o(lt),o(it);var Ft=a(it,2);{var Pt=l=>{var c=Ul(),B=u(c),G=a(u(B),2),ue=u(G);ha(ue,{class:"size-3.5"}),o(G),o(B);var ye=a(B,4);{var Le=Ze=>{var Be=Hl();$e(Be,21,()=>e(x),tt=>tt.id,(tt,mt)=>{var qe=Bl(),me=u(qe),le=C(me,!0),He=a(me,2);{var _t=Z=>{var ge=ql(),Ve=ne(ge);Nt(Ve,{class:"size-3 animate-spin text-sea","aria-hidden":"true"}),We(),r(Z,ge)},nt=Z=>{var ge=Ol(),Ve=ne(ge);Ia(Ve,{class:"size-3 text-success","aria-hidden":"true"}),We(),r(Z,ge)},Ot=Z=>{var ge=Nl(),Ve=ne(ge);gr(Ve,{class:"size-3 text-sea","aria-hidden":"true"}),We(),r(Z,ge)};f(He,Z=>{e(mt).done?e(mt).outcome==="quiet"?Z(nt,1):Z(Ot,-1):Z(_t)})}var Wt=a(He,2);{var Zt=Z=>{var ge=Pl(),Ve=C(ge,!0);g(Lt=>w(Ve,Lt),[()=>Ka(e(mt).durationMs)]),r(Z,ge)};f(Wt,Z=>{e(mt).durationMs&&Z(Zt)})}o(qe),g(Z=>w(le,Z),[()=>H(e(mt).at)]),r(tt,qe)}),o(Be),r(Ze,Be)},kt=Ze=>{var Be=Wl();r(Ze,Be)};f(ye,Ze=>{e(x).length?Ze(Le):Ze(kt,-1)})}o(c),te("click",G,()=>j(_e,!1)),r(l,c)};f(Ft,l=>{e(_e)&&l(Pt)})}o(Ne);var $t=a(Ne,2),Xt=u($t),ra=a(Xt,1,!0);o($t);var Bt=a($t,2);{var Qt=l=>{var c=Yl(),B=u(c);ga(B,{class:"size-4"}),o(c),g(()=>{Fe(c,1,`flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-md transition-colors hover:bg-muted ${e(W)?"text-foreground":"text-muted-foreground"}`),L(c,"aria-label",e(W)?"Hide Firstmate’s terminal":"Show Firstmate’s terminal"),L(c,"aria-pressed",e(W))}),te("click",c,()=>j(W,!e(W))),r(l,c)};f(Bt,l=>{e(ee)&&l(Qt)})}var na=a(Bt,2);{var va=l=>{var c=Kl(),B=u(c);Ms(B,{class:"size-4"}),o(c),g(()=>{L(c,"aria-label",M()==="left"?"Move On deck to the right":"Move On deck to the left"),L(c,"title",M()==="left"?"Move On deck to the right":"Move On deck to the left")}),te("click",c,function(...G){t.onSwapRail?.apply(this,G)}),r(l,c)};f(na,l=>{t.onSwapRail&&t.railOpen&&l(va)})}var Ht=a(na,2),Ta=u(Ht);{var _a=l=>{Bs(l,{class:"size-4"})},qa=l=>{Ws(l,{class:"size-4"})};f(Ta,l=>{M()==="left"?l(_a):l(qa,-1)})}var ke=a(Ta,2);{var ze=l=>{var c=Gl();g(()=>L(c,"aria-label",`${b()??""} waiting on you`)),r(l,c)};f(ke,l=>{b()&&!t.railOpen&&l(ze)})}o(Ht),o(ie),o(Je);var dt=a(Je,2),Gt=u(dt),fa=u(Gt),Ca=u(fa);{var ln=l=>{var c=Vl();r(l,c)};f(Ca,l=>{zt.source?.truncated&&l(ln)})}var nr=a(Ca,2);{var dn=l=>{var c=Jl(),B=u(c),G=C(B,!0),ue=a(B,2);{var ye=Ze=>{var Be=Xl(),tt=C(Be,!0);g(()=>w(tt,e(A).reason)),r(Ze,Be)};f(ue,Ze=>{e(A).reason&&e(A).state!=="starting"&&Ze(ye)})}var Le=a(ue,2);{var kt=Ze=>{var Be=Zl(),tt=ne(Be),mt=u(tt);{var qe=nt=>{Nt(nt,{class:"size-4 animate-spin","aria-hidden":"true"})};f(mt,nt=>{e(Ye)&&nt(qe)})}We(),o(tt);var me=a(tt,2),le=C(me),He=a(me,2);{var _t=nt=>{var Ot=Ql(),Wt=C(Ot,!0);g(()=>w(Wt,e(p))),r(nt,Ot)};f(He,nt=>{e(p)&&nt(_t)})}g(()=>{tt.disabled=e(Ye),w(le,`It runs in Firstmate’s checkout${e(A).skipPermissions?" with --dangerously-skip-permissions":""}, inside a tmux session that keeps going when you close Wheelhouse.`)}),te("click",tt,Qe),r(Ze,Be)};f(Le,Ze=>{e(A).state==="none"&&Ze(kt)})}o(c),g(()=>w(G,e(A).state==="starting"?"Starting Firstmate…":"Firstmate is not running")),r(l,c)},cn=l=>{var c=ed(),B=C(c,!0);g(()=>w(B,e(A)?"No messages yet. Say hello to Firstmate.":"Reading the conversation…")),r(l,c)};f(nr,l=>{e(A)&&e(A).state!=="ours"&&e(A).state!=="external"?l(dn):e(R).length||l(cn,1)})}var sr=a(nr,2);$e(sr,19,()=>e(R),l=>l.id,(l,c,B)=>{const G=h(()=>we(e(B)));var ue=$r(),ye=ne(ue);$e(ye,17,()=>e(oe).before.get(e(B))??[],me=>me.id,(me,le)=>{v(me,()=>e(le))});var Le=a(ye,2);{var kt=me=>{},Ze=h(()=>e(Ae).hidden.has(e(c).id)),Be=me=>{const le=h(()=>Ha(e(c).text)),He=h(()=>Ba(e(le).body));var _t=nd(),nt=u(_t);{var Ot=De=>{var ct=Ua();r(De,ct)},Wt=De=>{var ct=Fr();r(De,ct)};f(nt,De=>{e(G)?De(Ot):De(Wt,-1)})}var Zt=a(nt,2),Z=u(Zt);{var ge=De=>{var ct=ad(),qt=a(u(ct)),pa=C(qt,!0),ba=a(qt,2);{var wa=yt=>{var ta=td();r(yt,ta)};f(ba,yt=>{e(c).queued&&yt(wa)})}o(ct),g(yt=>{L(qt,"datetime",e(c).at),w(pa,yt)},[()=>H(e(c).at)]),r(De,ct)};f(Z,De=>{e(G)||De(ge)})}var Ve=a(Z,2);{var Lt=De=>{var ct=rd(),qt=u(ct),pa=u(qt);{var ba=It=>{{let Vt=h(()=>rt(e(le).to,e(B)));s(It,()=>e(le).to,()=>e(Vt))}};f(pa,It=>{e(le).to&&It(ba)})}var wa=a(pa);Dr(wa,()=>e(He).text,()=>!0),o(qt),hr(qt,(It,Vt)=>Kt?.(It,Vt),()=>e(Q)&&!e(c).command?()=>Dt("captain",e(c).text):null);var yt=a(qt,2);{var ta=It=>{i(It,()=>e(c).id,()=>"captain",()=>e(c).text)};f(yt,It=>{e(Q)&&!e(c).command&&It(ta)})}o(ct),g(()=>{Fe(qt,1,`bubble bubble-captain ${e(c).command?"font-mono text-sm":""}`),L(qt,"data-bubble",e(c).id)}),r(De,ct)};f(Ve,De=>{(e(le).to||e(He).text)&&De(Lt)})}var Ie=a(Ve,2);{var je=De=>{Mr(De,{get files(){return e(He).files}})};f(Ie,De=>{e(He).files.length&&De(je)})}o(Zt),o(_t),g(De=>{Fe(_t,1,`msg msg-captain ${e(G)?"msg-grouped":""}`),L(_t,"aria-label",`You, ${De??""}`)},[()=>H(e(c).at)]),r(me,_t)},tt=me=>{var le=sd(),He=C(le,!0);g(()=>w(He,e(c).text)),r(me,le)},mt=me=>{var le=id(),He=u(le),_t=u(He);gr(_t,{class:"size-3.5 shrink-0","aria-hidden":"true"});var nt=a(_t,2),Ot=C(nt),Wt=a(nt,2);{let ge=h(()=>Re[e(c).id]?"rotate-90":"");Ma(Wt,{get class(){return`size-3.5 shrink-0 transition-transform ${e(ge)??""}`},"aria-hidden":"true"})}o(He);var Zt=a(He,2);{var Z=ge=>{var Ve=od(),Lt=u(Ve);Gn(Lt,{get text(){return e(c).detail}}),o(Ve),r(ge,Ve)};f(Zt,ge=>{Re[e(c).id]&&ge(Z)})}o(le),g(ge=>{L(He,"aria-expanded",!!Re[e(c).id]),w(Ot,`${e(c).title??""} · ${ge??""}`)},[()=>H(e(c).at)]),te("click",He,()=>Re[e(c).id]=!Re[e(c).id]),r(me,le)},qe=me=>{var le=fd(),He=u(le);{var _t=Ie=>{var je=Ua();r(Ie,je)},nt=Ie=>{on(Ie,{class:"size-8"})};f(He,Ie=>{e(G)?Ie(_t):Ie(nt,-1)})}var Ot=a(He,2),Wt=u(Ot);{var Zt=Ie=>{var je=ld(),De=a(u(je)),ct=C(De,!0);o(je),g(qt=>{L(De,"datetime",e(c).at),w(ct,qt)},[()=>H(e(c).at)]),r(Ie,je)};f(Wt,Ie=>{e(G)||Ie(Zt)})}var Z=a(Wt,2);$e(Z,19,()=>e(c).parts,Ie=>Ie.id,(Ie,je,De)=>{var ct=oa(),qt=ne(ct);{var pa=yt=>{var ta=cd(),It=ne(ta),Vt=u(It);Wr(Vt,()=>Ur(e(je).text,{docLinks:!0}),!0),o(Vt),hr(Vt,(Et,Ut)=>Kt?.(Et,Ut),()=>e(Q)?()=>Dt("firstmate",e(je).text):null);var ia=a(Vt,2);{var ka=Et=>{i(Et,()=>e(je).id,()=>"firstmate",()=>e(je).text)};f(ia,Et=>{e(Q)&&Et(ka)})}o(It);var ya=a(It,2);$e(ya,17,()=>Hn(e(je).text,k()),({entry:Et,card:Ut})=>`${Et.key}:${Ut.key}`,(Et,Ut)=>{let Ea=()=>e(Ut).card;var Na=dd(),cr=u(Na),_n=C(cr,!0),ur=a(cr,2),bn=u(ur);Wn(bn,{get blocks(){return Ea().blocks}}),o(ur),o(Na),g(()=>w(_n,Ea().title)),r(Et,Na)});var Oa=a(ya,2);$e(Oa,17,()=>e($).get(e(je).id)??[],Et=>Et.task.id,(Et,Ut)=>{{let Ea=h(()=>X(e(Ut).task.projectId));Li(Et,{get preview(){return e(Ut)},get project(){return e(Ea)},get now(){return t.now}})}}),g(()=>L(Vt,"data-bubble",e(je).id)),r(yt,ta)},ba=yt=>{bl(yt,{get part(){return e(je)}})},wa=yt=>{var ta=$r(),It=ne(ta);{let ia=h(()=>ve(e(c),e(De)));Zo(It,{get steps(){return e(je).steps},get live(){return e(ia)}})}var Vt=a(It,2);$e(Vt,17,()=>e(je).steps,ia=>ia.id,(ia,ka)=>{var ya=oa(),Oa=ne(ya);{var Et=Ut=>{ni(Ut,{get id(){return e(ka).id},get app(){return e(st)[e(ka).id]}})};f(Oa,Ut=>{e(st)[e(ka).id]&&Ut(Et)})}r(ia,ya)}),r(yt,ta)};f(qt,yt=>{e(je).kind==="text"?yt(pa):e(je).kind==="question"?yt(ba,1):yt(wa,-1)})}r(Ie,ct)});var ge=a(Z,2);{var Ve=Ie=>{var je=ud();r(Ie,je)},Lt=Ie=>{var je=vd(),De=C(je);g(ct=>w(De,`Worked for ${ct??""}`),[()=>Ka(e(c).durationMs)]),r(Ie,je)};f(ge,Ie=>{e(c).interrupted?Ie(Ve):e(c).done&&e(c).durationMs&&Ie(Lt,1)})}o(Ot),o(le),g(Ie=>{Fe(le,1,`msg msg-firstmate ${e(G)?"msg-grouped":""}`),L(le,"aria-label",`Firstmate, ${Ie??""}`)},[()=>H(e(c).at)]),r(me,le)};f(Le,me=>{e(Ze)?me(kt):e(c).kind==="user"?me(Be,1):e(c).kind==="output"?me(tt,2):e(c).kind==="notice"?me(mt,3):me(qe,-1)})}r(l,ue)});var or=a(sr,2);$e(or,17,()=>e(oe).end,l=>l.id,(l,c)=>{v(l,()=>e(c))});var ir=a(or,2);$e(ir,19,()=>e(ht),l=>l.id,(l,c,B)=>{const G=h(()=>e(B)>0||e(E)?.kind==="user"),ue=h(()=>Ha(e(c).text)),ye=h(()=>Ba(e(ue).body));var Le=xd(),kt=u(Le);{var Ze=Z=>{var ge=Ua();r(Z,ge)},Be=Z=>{var ge=Fr();r(Z,ge)};f(kt,Z=>{e(G)?Z(Ze):Z(Be,-1)})}var tt=a(kt,2),mt=u(tt);{var qe=Z=>{var ge=pd();r(Z,ge)};f(mt,Z=>{e(G)||Z(qe)})}var me=a(mt,2);{var le=Z=>{var ge=md(),Ve=u(ge);{var Lt=je=>{{let De=h(()=>rt(e(ue).to));s(je,()=>e(ue).to,()=>e(De))}};f(Ve,je=>{e(ue).to&&je(Lt)})}var Ie=a(Ve);Dr(Ie,()=>e(ye).text,()=>!1),o(ge),g(()=>Fe(ge,1,`bubble bubble-captain border-dashed ${e(c).state==="failed"?"border-danger/60":"opacity-60"}`)),r(Z,ge)};f(me,Z=>{(e(ue).to||e(ye).text)&&Z(le)})}var He=a(me,2);{var _t=Z=>{Mr(Z,{get files(){return e(ye).files},pending:!0})};f(He,Z=>{e(ye).files.length&&Z(_t)})}var nt=a(He,2),Ot=u(nt);{var Wt=Z=>{var ge=gd(),Ve=ne(ge);xa(Ve,{class:"size-3.5","aria-hidden":"true"});var Lt=a(Ve),Ie=a(Lt),je=u(Ie);er(je,{class:"size-3","aria-hidden":"true"}),We(),o(Ie);var De=a(Ie,2);g(ct=>w(Lt,`${ct??""} `),[()=>Aa(e(c))]),te("click",Ie,()=>zt.retry(e(c).id,t.token,e(Y)&&!e(he))),te("click",De,()=>zt.dismiss(e(c).id)),r(Z,ge)},Zt=Z=>{var ge=hd(),Ve=ne(ge);Nt(Ve,{class:"size-3 animate-spin","aria-hidden":"true"});var Lt=a(Ve,1,!0);g(Ie=>w(Lt,Ie),[()=>Aa(e(c))]),r(Z,ge)};f(Ot,Z=>{e(c).state==="failed"?Z(Wt):Z(Zt,-1)})}o(nt),o(tt),o(Le),g(Z=>{Fe(Le,1,`msg msg-captain ${e(G)?"msg-grouped":""}`),L(Le,"data-pending",e(c).state),L(Le,"aria-label",`You, ${Z??""}`),Fe(nt,1,`mt-1.5 flex flex-wrap items-center gap-1.5 text-xs ${e(c).state==="failed"?"text-danger":"text-muted-foreground"}`)},[()=>Aa(e(c))]),r(l,Le)});var un=a(ir,2);{var vn=l=>{hl(l,{get picker(){return e(K)},get token(){return t.token},onterminal:()=>j(W,!0)})},fn=l=>{il(l,{get menu(){return e(V)},get token(){return t.token},onterminal:()=>j(W,!0)})},pn=l=>{var c=_d();r(l,c)};f(un,l=>{e(K)?l(vn):e(V)?l(fn,1):e(Y)&&l(pn,2)})}o(fa),o(Gt),ma(Gt,l=>j(_,l),()=>e(_));var lr=a(Gt,2);{var mn=l=>{var c=bd(),B=u(c);as(B,{class:"size-3.5","aria-hidden":"true"}),We(),o(c),te("click",c,()=>e(_)?.scrollTo({top:e(_).scrollHeight,behavior:"smooth"})),r(l,c)};f(lr,l=>{e(q)||l(mn)})}var gn=a(lr,2);{var hn=l=>{var c=kd(),B=u(c),G=u(B);ga(G,{class:"size-4 text-muted-foreground","aria-hidden":"true"});var ue=a(G,6);{var ye=le=>{var He=wd(),_t=C(He);g(()=>w(_t,`${e(Oe)==="hold"?"Hold Esc":"Esc"} to leave full screen`)),r(le,He)};f(ue,le=>{e(U)&&e(Oe)&&le(ye)})}var Le=a(ue,2),kt=u(Le);{var Ze=le=>{Yn(le,{class:"size-4"})},Be=le=>{Yr(le,{class:"size-4"})};f(kt,le=>{e(U)?le(Ze):le(Be,-1)})}o(Le);var tt=a(Le,2),mt=u(tt);ha(mt,{class:"size-4"}),o(tt),o(B);var qe=a(B,2),me=u(qe);Tl(me,{get token(){return t.token}}),o(qe),o(c),ma(c,le=>j(Se,le),()=>e(Se)),g(()=>{Fe(c,1,`${e(U)?"fixed inset-0 z-50":"absolute inset-x-0 bottom-0 z-20 h-[min(70%,36rem)] border-t shadow-lg"} flex flex-col bg-panel`),L(c,"data-firstmate-terminal",e(U)?"full":"docked"),Fe(Le,1,`${e(U)&&e(Oe)?"sm:ml-2":""} ml-auto flex size-8 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground`),L(Le,"aria-label",e(U)?"Restore the terminal":"Open the terminal full screen"),L(Le,"title",e(U)?"Restore":"Full screen")}),te("click",Le,()=>Ce(!e(U))),te("click",tt,()=>{Ce(!1),j(W,!1)}),r(l,c)};f(gn,l=>{e(W)&&e(ee)&&l(hn)})}o(dt);var dr=a(dt,2),xn=u(dr);{let l=h(()=>e(A)?.reason??null),c=h(()=>e(Y)&&!e(he));rl(xn,{get via(){return e(Q)},get reason(){return e(l)},get working(){return e(c)},get held(){return e(J)},get token(){return t.token},get commands(){return zt.commands},get reply(){return e(Tt)},oncancelreply:()=>j(Tt,null)})}o(dr),o(Me),g(()=>{L(it,"aria-expanded",e(_e)),w(Ge,t.health.label),Fe(Xt,1,`size-2 rounded-full ${e(pe).dot??""}`),w(ra,e(pe).label),L(Ht,"aria-label",t.railOpen?"Hide tasks and decisions":"Show tasks and decisions"),L(Ht,"aria-pressed",t.railOpen)}),ea("dragenter",Me,l=>{!D(l)||!e(Q)||(l.preventDefault(),zn(m))}),ea("dragover",Me,l=>{D(l)&&e(Q)&&l.preventDefault()}),ea("dragleave",Me,l=>{D(l)&&e(Q)&&j(m,Math.max(0,e(m)-1),!0)}),ea("drop",Me,l=>{!D(l)||!e(Q)||(l.preventDefault(),j(m,0),bt.dropped=[...l.dataTransfer?.files??[]])}),te("click",it,()=>j(_e,!e(_e))),te("click",Ht,function(...l){t.onToggleRail?.apply(this,l)}),ea("scroll",Gt,()=>j(q,P(),!0)),r(n,Me),jt()}Yt(["click"]);var Sd=d("<li><!></li>"),Ad=d('<a href="/inbox" class="-mt-4 mb-6 flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground"> <!></a>'),Md=d('<div class="mb-2 flex items-baseline justify-between gap-2"><h2 class="section-label flex-1">Decisions</h2> <a href="/inbox" class="text-xs text-muted-foreground hover:text-foreground"> </a></div> <ul class="mb-6 flex flex-col gap-2"></ul> <!>',1);function Id(n,t){Rt(t,!0);let i=gt(t,"scope",3,null),s=gt(t,"limit",3,3);const v=h(()=>la.data.inbox),M=h(()=>ca.view(e(v))),b=h(()=>ca.shown(t.now,e(v)).shown.filter(A=>!i()||A.projectId===i())),k=h(()=>e(b).slice(0,s())),z=A=>!A||A==="unassigned"?null:t.projects.find(F=>F.id===A)?.name??A;var T=oa(),O=ne(T);{var N=A=>{var F=Md(),R=ne(F),E=a(u(R),2),Y=C(E,!0);o(R);var K=a(R,2);$e(K,21,()=>e(k),J=>J.id,(J,I)=>{var y=Sd(),x=u(y);{let S=h(()=>z(e(I).projectId));Gr(x,{get card(){return e(I)},get project(){return e(S)},get now(){return t.now},onLater:()=>ca.later(e(I).id)})}o(y),r(J,y)}),o(K);var V=a(K,2);{var he=J=>{var I=Ad(),y=u(I),x=a(y);Qr(x,{class:"size-3.5"}),o(I),g(()=>w(y,`${e(b).length-e(k).length} more in Decisions `)),r(J,I)};f(V,J=>{e(b).length>e(k).length&&J(he)})}g(()=>w(Y,e(b).length>e(k).length?`All ${e(b).length}`:"Open")),r(A,F)};f(O,A=>{e(M)?.available&&e(k).length&&A(N)})}r(n,T),jt()}var Td=d('<span class="rounded-sm border px-1.5 text-[0.95rem] leading-[1.15rem] font-semibold tracking-[0.08em] text-muted-foreground [font-variant-caps:all-small-caps]"> </span>'),Cd=d("<span><!> </span>"),Ed=d('<span class="flex items-center gap-1.5 text-xs text-muted-foreground"><span class="size-1.5 animate-pulse rounded-full bg-sea" aria-hidden="true"></span>Working</span>'),Lr=d('<p class="mt-0.5 line-clamp-2 text-xs leading-snug text-muted-foreground"> </p>'),Rd=d('<div class="mt-1.5"><!></div>'),jd=d('<a target="_blank" rel="noreferrer" class="mt-1 block text-xs break-all text-sea hover:underline"> </a>'),Dd=d('<div class="mt-2.5"><!></div>'),Fd=d('<div class="mt-2"><!></div>'),$d=d('<li><div class="flex flex-wrap items-center gap-1.5"><!> <!></div> <a class="mt-1.5 line-clamp-2 block text-sm leading-snug font-medium hover:underline"> </a> <!> <!> <!> <!> <!> <div class="mt-1.5 -mr-1.5 flex justify-end gap-0.5"><a class="flex items-center gap-1 rounded-md px-1.5 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground"><!>Open</a> <button class="flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground"><!>Chat about this</button></div></li>'),Ld=d('<button class="-mr-2 ml-auto flex size-9 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground" aria-label="Close"><!></button>'),qd=d('<span class="mt-1.5 block text-xs text-warning"> </span>'),Od=d('<a href="/headroom" class="mb-6 block rounded-lg border bg-card px-3 py-2.5 hover:border-foreground/20"><span class="flex items-center gap-1.5 text-xs font-medium"><!>Claude headroom</span> <span class="mt-2 flex flex-col gap-1"></span> <!></a>'),Nd=d('<a href="/headroom" class="mb-6 flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground"><!>Connect your Claude usage to see what is left</a>'),Pd=d("<span> </span>"),Bd=d('<button role="tab" aria-controls="rail-panel"> <!></button>'),Hd=d('<ul class="mb-6 flex flex-col gap-2"><!> <!></ul>'),Wd=d('<p class="mb-6 flex items-center gap-2 text-sm text-muted-foreground"><!>Nothing needs you right now.</p>'),Ud=d('<p class="mb-2 text-xs text-muted-foreground"> </p>'),Yd=d('<li><a class="block px-3 py-2.5 hover:bg-muted/60"><span class="flex items-center gap-2 text-xs"><!> <span class="shrink-0 font-medium whitespace-nowrap"> </span> <span class="min-w-0 truncate text-muted-foreground"> </span> <span class="ml-auto shrink-0 text-muted-foreground"> </span></span> <span class="mt-1 line-clamp-2 block text-xs text-muted-foreground"> </span></a></li>'),Kd=d('<div class="mb-2 flex items-baseline justify-between gap-2"><h2 class="section-label flex-1">Decided for you</h2> <a href="/decisions" class="text-xs text-muted-foreground hover:text-foreground">See all</a></div> <!> <ul class="mb-6 divide-y rounded-lg border bg-card"></ul>',1),Gd=d("<!> <!> <!>",1),Vd=d('<ul class="mb-6 flex flex-col gap-2"></ul>'),Xd=d('<p class="mb-6 text-sm text-muted-foreground">Nothing under way.</p>'),qr=d('<span class="shrink-0 rounded border px-1 font-mono text-xs leading-4"> </span>'),Qd=d('<li><a class="flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-muted hover:text-foreground"><!><span class="truncate"> </span></a></li>'),Zd=d('<ul class="mb-4 flex flex-col"></ul>'),Jd=d('<button class="mb-2 flex w-full cursor-pointer items-center gap-1.5 text-xs font-medium text-muted-foreground hover:text-foreground"> <!></button> <!>',1),Or=d("<!> <!>",1),ec=d('<li><a class="flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-muted hover:text-foreground"><!><!><span class="truncate"> </span></a></li>'),tc=d('<ul class="mb-6 flex flex-col"></ul>'),ac=d('<p class="mb-6 text-sm text-muted-foreground">Nothing landed in the last day.</p>'),rc=d('<div class="mb-2 flex items-baseline justify-between gap-2"><h2 class="section-label flex-1">Where time went today</h2> <a href="/time" class="text-xs text-muted-foreground hover:text-foreground">Details</a></div> <a href="/time" class="block rounded-lg border bg-card p-3 hover:border-foreground/20"><span class="block text-sm"><span class="font-medium"> </span> <span class="text-muted-foreground"> </span></span> <span class="mt-2 block"><!></span> <span class="mt-2 block text-xs text-muted-foreground"> </span></a>',1),nc=d('<div data-slot="home.card"><!></div>'),sc=d('<aside class="flex h-full min-h-0 flex-col" aria-label="Tasks and decisions"><div class="flex h-11 shrink-0 items-center gap-2 border-b px-4 text-sm"><span class="font-display text-[1.15rem] font-medium">On deck</span> <!></div> <div class="no-scrollbar min-h-0 flex-1 overflow-y-auto px-4 py-4"><p class="mb-5 text-sm leading-relaxed text-muted-foreground"> </p> <!> <div class="sticky -top-4 z-10 -mx-4 mb-4 no-scrollbar flex justify-between gap-0.5 overflow-x-auto border-b bg-panel px-2.5" role="tablist" aria-label="On deck" tabindex="-1"></div> <div id="rail-panel" role="tabpanel"><!></div> <a class="mt-4 flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground"> <!></a></div></aside>');function Nr(n,t){Rt(t,!0);const i=(m,D=Jt,ve=Jt)=>{const Me=h(()=>Se(D())),ot=h(()=>U(D())),Ke=h(()=>e(Me)?.icon);var Je=$d(),ie=u(Je),fe=u(ie);{var Te=ke=>{var ze=Td(),dt=C(ze,!0);g((Gt,fa)=>{L(ze,"title",Gt),w(dt,fa)},[()=>$(D()),()=>ae(D())]),r(ke,ze)},Ne=h(()=>$(D()));f(fe,ke=>{e(Ne)&&ke(Te)})}var it=a(fe,2);{var et=ke=>{var ze=Cd(),dt=u(ze);Fa(dt,()=>e(Ke),(fa,Ca)=>{Ca(fa,{class:"size-3","aria-hidden":"true"})});var Gt=a(dt,1,!0);o(ze),g(()=>{Fe(ze,1,`flex items-center gap-1 rounded px-1.5 text-xs leading-[1.15rem] font-medium ${Oe[e(Me).tone]??""}`),w(Gt,e(Me).label)}),r(ke,ze)},Pe=ke=>{var ze=Ed();r(ke,ze)};f(it,ke=>{e(Me)&&e(Ke)?ke(et):D().busy&&ke(Pe,1)})}o(ie);var Ge=a(ie,2),lt=C(Ge,!0),Mt=a(Ge,2);{var wt=ke=>{var ze=Lr(),dt=C(ze,!0);g(()=>w(dt,D().shortTitle)),r(ke,ze)};f(Mt,ke=>{ve()&&ke(wt)})}var Ct=a(Mt,2);{var xt=ke=>{var ze=Rd(),dt=u(ze);hs(dt,{get pipeline(){return D().pipeline},get busy(){return D().busy},size:"rail"}),o(ze),r(ke,ze)},Ft=h(()=>On(D())),Pt=ke=>{var ze=Lr(),dt=C(ze,!0);g(Gt=>w(dt,Gt),[()=>W(D())]),r(ke,ze)};f(Ct,ke=>{e(Ft)?ke(xt):ve()||ke(Pt,1)})}var $t=a(Ct,2);{var Xt=ke=>{var ze=jd(),dt=C(ze,!0);g(()=>{L(ze,"href",e(ot)),w(dt,e(ot))}),r(ke,ze)};f($t,ke=>{e(ot)&&ke(Xt)})}var ra=a($t,2);{var Bt=ke=>{var ze=Dd(),dt=u(ze);Nn(dt,{get task(){return D()}}),o(ze),r(ke,ze)};f(ra,ke=>{D().passage.steps.length>1&&ke(Bt)})}var Qt=a(ra,2);{var na=ke=>{var ze=Fd(),dt=u(ze);xs(dt,{get eta(){return D().eta}}),o(ze),r(ke,ze)};f(Qt,ke=>{D().eta&&ke(na)})}var va=a(Qt,2),Ht=u(va),Ta=u(Ht);Ts(Ta,{class:"size-3.5"}),We(),o(Ht);var _a=a(Ht,2),qa=u(_a);ws(qa,{class:"size-3.5"}),We(),o(_a),o(va),o(Je),g((ke,ze)=>{Fe(Je,1,`rounded-lg border border-l-[3px] bg-card px-3 pt-2.5 pb-1.5 ${(e(Me)?Ce[e(Me).tone]:"border-l-border")??""}`),L(Ge,"href",ke),w(lt,ve()??D().shortTitle),L(Ht,"href",ze)},[()=>_e(D()),()=>_e(D())]),te("click",_a,()=>st(D())),r(m,Je)};let s=gt(t,"insights",3,null),v=gt(t,"scope",3,null),M=gt(t,"cards",19,()=>[]);const b=m=>!v()||m===v(),k=h(()=>(s()?.decisions??[]).filter(m=>b(m.projectId))),z=h(()=>new Date(new Date(t.now).toDateString()).getTime()),T=h(()=>e(k).filter(m=>Date.parse(m.decidedAt)>=e(z)).length),O=h(()=>ms((s()?.today??[]).filter(m=>b(m.projectId)))),N=h(()=>ps(e(O))),A=h(()=>(s()?.today??[]).filter(m=>b(m.projectId)).length),F=m=>e(N)?Math.round(e(O)[m]/e(N)*100):0,R=h(()=>s()?.allowance??null),E=h(()=>Hr(t.tasks,t.now)),Y=h(()=>new Set(e(E).stepFailed.map(m=>m.id))),K=h(()=>e(E).stepFailed.filter(m=>!e(E).needsYou.includes(m))),V=h(()=>[...e(E).waitingOnFirstmate,...e(E).waitingOnReviewers,...e(E).underWay].filter(m=>!e(Y).has(m.id)));let he=de(!1);const J=3,I=h(()=>la.data.inbox),y=h(()=>ca.view(e(I))),x=h(()=>e(y)?.available?ca.shown(t.now,e(I)).shown.filter(m=>b(m.projectId)):[]),S=m=>new Set(m.filter(D=>D.kind==="hold").map(D=>D.taskId)),ee=h(()=>S(e(y)?.available?e(y).cards:[])),Q=h(()=>S(e(x).slice(J))),re=h(()=>e(E).needsYou.filter(m=>!(m.attention?.kind==="decision"&&e(ee).has(m.id)&&!e(Q).has(m.id)))),se=h(()=>e(x).slice(0,J).filter(m=>m.kind==="hold").length),oe="wheelhouse-rail-tab",be=h(()=>[{id:"under",label:"Under way",count:e(V).length,strong:!1},{id:"needs",label:"Needs you",count:e(K).length+e(re).length+e(se),strong:!0},{id:"landed",label:"Landed",count:e(E).landedRecent.length,strong:!1},...M().map(m=>({id:m.key,label:m.title,count:m.badge??0,strong:!1}))]);let Xe=de("under");const Ae=h(()=>e(be).some(m=>m.id===e(Xe))?e(Xe):"under"),at=h(()=>M().find(m=>m.key===e(Ae))??null);Xa(()=>{pr.load();try{j(Xe,localStorage.getItem(oe)||"under",!0)}catch{}});function Ue(m){j(Xe,m,!0);try{localStorage.setItem(oe,m)}catch{}}function ht(m){if(m.key!=="ArrowLeft"&&m.key!=="ArrowRight")return;m.preventDefault();const D=e(be).findIndex(Me=>Me.id===e(Ae)),ve=e(be)[(D+(m.key==="ArrowRight"?1:e(be).length-1))%e(be).length];Ue(ve.id),document.getElementById(`rail-tab-${ve.id}`)?.focus()}const $=m=>t.projects.find(D=>D.id===m.projectId)?.name??(m.projectId==="unassigned"?null:m.projectId),X=h(()=>jn(t.projects,pr.names)),ae=m=>e(X).get(m.projectId)?.label??$(m),_e=m=>`/tasks/${encodeURIComponent(m.id)}`,W=m=>m.activity?.text||m.summary||m.statusLabel,U=m=>m.attention?.url??m.pr?.url??null;function Se(m){const D=m.passage.steps[m.passage.current];return D?.failed?{label:`${D.label} failed`,icon:xa,tone:"danger"}:m.status==="failed"?{label:"Failed",icon:xa,tone:"danger"}:m.status==="blocked"?{label:"Stuck",icon:ks,tone:"danger"}:m.status==="lost"||m.status==="unknown"?{label:"Not responding",icon:Qs,tone:"warning"}:m.attention?.owner==="captain"?m.attention.kind==="review"?{label:m.attention.approved?"Your merge":"Your review",icon:tr,tone:"sea"}:{label:"Your call",icon:Xr,tone:"sea"}:m.attention?.owner==="reviewers"?{label:"With reviewers",icon:to,tone:"muted"}:m.addressingReview?{label:qn(m)??"Changes requested",icon:ys,tone:"muted"}:m.status==="with-firstmate"?{label:"Firstmate deciding",icon:Dn,tone:"muted"}:null}const Oe={danger:"bg-danger/10 text-danger",warning:"bg-warning/10 text-warning",sea:"bg-sea/10 text-sea",muted:"bg-muted text-muted-foreground"},Ce={danger:"border-l-danger",warning:"border-l-warning",sea:"border-l-sea",muted:"border-l-border"};function st(m){da.pending={kind:"task",id:m.id,title:m.shortTitle,project:$(m),url:null},t.onChat?.()}var Ee=sc(),Re=u(Ee),Ye=a(u(Re),2);{var p=m=>{var D=Ld(),ve=u(D);ha(ve,{class:"size-4"}),o(D),te("click",D,function(...Me){t.onClose?.apply(this,Me)}),r(m,D)};f(Ye,m=>{t.onClose&&m(p)})}o(Re);var _=a(Re,2),q=u(_),P=C(q,!0),ce=a(q,2);{var xe=m=>{var D=Od(),ve=u(D),Me=u(ve);xr(Me,{class:"size-3.5 text-muted-foreground","aria-hidden":"true"}),We(),o(ve);var ot=a(ve,2);$e(ot,21,()=>e(R).windows.slice(0,2),ie=>ie.id,(ie,fe)=>{Xn(ie,{get w(){return e(fe)},get now(){return t.now},compact:!0})}),o(ot);var Ke=a(ot,2);{var Je=ie=>{var fe=qd(),Te=C(fe);g(()=>w(Te,`${s().atRisk.label??""} may run out before it resets.`)),r(ie,fe)};f(Ke,ie=>{s()?.atRisk&&ie(Je)})}o(D),r(m,D)},we=m=>{var D=Nd(),ve=u(D);xr(ve,{class:"size-3.5","aria-hidden":"true"}),We(),o(D),r(m,D)};f(ce,m=>{e(R)?.state==="ok"&&e(R).windows.length?m(xe):e(R)?.state==="connect"&&m(we,1)})}var H=a(ce,2);$e(H,21,()=>e(be),m=>m.id,(m,D)=>{var ve=Bd(),Me=u(ve,!0),ot=a(Me);{var Ke=Je=>{var ie=Pd(),fe=C(ie,!0);g(()=>{Fe(ie,1,`tabular rounded-full px-1.5 text-xs leading-4 font-semibold ${e(D).strong?"bg-sea text-white dark:text-slate-950":"bg-muted text-muted-foreground"}`),w(fe,e(D).count)}),r(Je,ie)};f(ot,Je=>{e(D).count&&Je(Ke)})}o(ve),g(()=>{L(ve,"id",`rail-tab-${e(D).id??""}`),L(ve,"aria-selected",e(Ae)===e(D).id),L(ve,"tabindex",e(Ae)===e(D).id?0:-1),Fe(ve,1,`-mb-px flex shrink-0 cursor-pointer items-center gap-1 border-b-2 px-1.5 py-2 text-[0.85rem] whitespace-nowrap transition-colors duration-200 focus-visible:outline-2 focus-visible:outline-ring ${e(Ae)===e(D).id?"border-brass font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`),w(Me,e(D).label)}),te("click",ve,()=>Ue(e(D).id)),r(m,ve)}),o(H);var pe=a(H,2),Qe=u(pe);{var Tt=m=>{var D=Gd(),ve=ne(D);Id(ve,{get projects(){return t.projects},get now(){return t.now},get scope(){return v()},limit:J});var Me=a(ve,2);{var ot=fe=>{var Te=Hd(),Ne=u(Te);$e(Ne,17,()=>e(K),et=>et.id,(et,Pe)=>{i(et,()=>e(Pe),()=>`${e(Pe).passage.steps[e(Pe).passage.current].label} failed: ${e(Pe).shortTitle}`)});var it=a(Ne,2);$e(it,17,()=>e(re),et=>et.id,(et,Pe)=>{i(et,()=>e(Pe),()=>e(Pe).attention?.text||null)}),o(Te),r(fe,Te)},Ke=fe=>{var Te=Wd(),Ne=u(Te);Ra(Ne,{class:"size-4 text-success"}),We(),o(Te),r(fe,Te)};f(Me,fe=>{e(K).length||e(re).length?fe(ot):e(x).length||fe(Ke,1)})}var Je=a(Me,2);{var ie=fe=>{var Te=Kd(),Ne=a(ne(Te),2);{var it=Pe=>{var Ge=Ud(),lt=C(Ge);g(()=>w(lt,`Firstmate settled ${e(T)??""} review ${e(T)===1?"question":"questions"} for you today.`)),r(Pe,Ge)};f(Ne,Pe=>{e(T)&&Pe(it)})}var et=a(Ne,2);$e(et,21,()=>e(k).slice(0,3),Pe=>Pe.id,(Pe,Ge)=>{var lt=Yd(),Mt=u(lt),wt=u(Mt),Ct=u(wt);bs(Ct,{class:"size-3.5 shrink-0 text-muted-foreground","aria-hidden":"true"});var xt=a(Ct,2),Ft=C(xt,!0),Pt=a(xt,2),$t=C(Pt),Xt=a(Pt,2),ra=C(Xt,!0);o(wt);var Bt=a(wt,2),Qt=C(Bt,!0);o(Mt),o(lt),g(na=>{L(Mt,"href",`/decisions#${e(Ge).id??""}`),w(Ft,e(Ge).verdict),w($t,`· ${e(Ge).taskTitle??""}`),w(ra,na),w(Qt,e(Ge).question)},[()=>$a(e(Ge).decidedAt,t.now)]),r(Pe,lt)}),o(et),r(fe,Te)};f(Je,fe=>{e(k).length&&fe(ie)})}r(m,D)},St=m=>{var D=Or(),ve=ne(D);{var Me=ie=>{var fe=Vd();$e(fe,21,()=>e(V),Te=>Te.id,(Te,Ne)=>{i(Te,()=>e(Ne),()=>null)}),o(fe),r(ie,fe)},ot=ie=>{var fe=Xd();r(ie,fe)};f(ve,ie=>{e(V).length?ie(Me):ie(ot,-1)})}var Ke=a(ve,2);{var Je=ie=>{var fe=Jd(),Te=ne(fe),Ne=u(Te),it=a(Ne);{let Ge=h(()=>e(he)?"rotate-90":"");Ma(it,{get class(){return`size-3.5 transition-transform ${e(Ge)??""}`}})}o(Te);var et=a(Te,2);{var Pe=Ge=>{var lt=Zd();$e(lt,21,()=>e(E).queued,Mt=>Mt.id,(Mt,wt)=>{var Ct=Qd(),xt=u(Ct),Ft=u(xt);{var Pt=Bt=>{var Qt=qr(),na=C(Qt,!0);g((va,Ht)=>{L(Qt,"title",va),w(na,Ht)},[()=>$(e(wt)),()=>ae(e(wt))]),r(Bt,Qt)},$t=h(()=>$(e(wt)));f(Ft,Bt=>{e($t)&&Bt(Pt)})}var Xt=a(Ft),ra=C(Xt,!0);o(xt),o(Ct),g(Bt=>{L(xt,"href",Bt),w(ra,e(wt).shortTitle)},[()=>_e(e(wt))]),r(Mt,Ct)}),o(lt),r(Ge,lt)};f(et,Ge=>{e(he)&&Ge(Pe)})}g(()=>{L(Te,"aria-expanded",e(he)),w(Ne,`Up next · ${e(E).queued.length??""} `)}),te("click",Te,()=>j(he,!e(he))),r(ie,fe)};f(Ke,ie=>{e(E).queued.length&&ie(Je)})}r(m,D)},Dt=m=>{var D=Or(),ve=ne(D);{var Me=ie=>{var fe=tc();$e(fe,21,()=>e(E).landedRecent,Te=>Te.id,(Te,Ne)=>{var it=ec(),et=u(it),Pe=u(et);Ra(Pe,{class:"size-3.5 shrink-0 text-success","aria-label":"Landed"});var Ge=a(Pe);{var lt=xt=>{var Ft=qr(),Pt=C(Ft,!0);g(($t,Xt)=>{L(Ft,"title",$t),w(Pt,Xt)},[()=>$(e(Ne)),()=>ae(e(Ne))]),r(xt,Ft)},Mt=h(()=>$(e(Ne)));f(Ge,xt=>{e(Mt)&&xt(lt)})}var wt=a(Ge),Ct=C(wt,!0);o(et),o(it),g(xt=>{L(et,"href",xt),w(Ct,e(Ne).shortTitle)},[()=>_e(e(Ne))]),r(Te,it)}),o(fe),r(ie,fe)},ot=ie=>{var fe=ac();r(ie,fe)};f(ve,ie=>{e(E).landedRecent.length?ie(Me):ie(ot,-1)})}var Ke=a(ve,2);{var Je=ie=>{var fe=rc(),Te=a(ne(fe),2),Ne=u(Te),it=u(Ne),et=C(it,!0),Pe=a(it,2),Ge=C(Pe);o(Ne);var lt=a(Ne,2),Mt=u(lt);_s(Mt,{get seconds(){return e(O)},label:"Today"}),o(lt);var wt=a(lt,2),Ct=C(wt);o(Te),g((xt,Ft,Pt,$t)=>{w(et,xt),w(Ge,`of crew time on ${e(A)??""}
14
- ${e(A)===1?"task":"tasks"}`),w(Ct,`${Ft??""}% building · ${Pt??""}% automated review · ${$t??""}% waiting on you`)},[()=>gs(e(N)),()=>F("build"),()=>F("review"),()=>F("captain")]),r(ie,fe)};f(Ke,ie=>{e(N)>0&&ie(Je)})}r(m,D)},rt=m=>{var D=nc(),ve=u(D);Kn(ve,{get entry(){return e(at)},get now(){return t.now}}),o(D),r(m,D)};f(Qe,m=>{e(Ae)==="needs"?m(Tt):e(Ae)==="under"?m(St,1):e(Ae)==="landed"?m(Dt,2):e(at)&&m(rt,3)})}o(pe);var At=a(pe,2),pt=u(At),Kt=a(pt);Qr(Kt,{class:"size-3.5"}),o(At),o(_),o(Ee),g((m,D)=>{w(P,m),L(pe,"aria-labelledby",`rail-tab-${e(Ae)??""}`),L(At,"href",D),w(pt,`${v()?"Open the project’s page":"Open every project in Harbour"} `)},[()=>Rn(e(E)),()=>v()?`/projects/${encodeURIComponent(v())}`:"/harbour"]),te("keydown",H,ht),r(n,Ee),jt()}Yt(["click","keydown"]);const Pr="wheelhouse-ondeck-side";function oc(n){return n==="right"?"right":"left"}class ic{#e=de("left");get side(){return e(this.#e)}set side(t){j(this.#e,t,!0)}load(){try{this.side=oc(localStorage.getItem(Pr))}catch{}}swap(){this.side=this.side==="left"?"right":"left";try{localStorage.setItem(Pr,this.side)}catch{}}}const Sa=new ic,lc=6e4;class dc{#e=de(null);get value(){return e(this.#e)}set value(t){j(this.#e,t,!0)}seed(t){t&&(this.value=t)}connect(){let t=!1;const s=setInterval(async()=>{try{const v=await fetch("/api/insights");v.ok&&!t&&(this.value=await v.json())}catch{}},lc);return()=>{t=!0,clearInterval(s)}}}const Ya=new dc;var cc=d('<button class="fixed inset-0 z-40 bg-black/40" aria-label="Close tasks and decisions"></button> <div class="fixed inset-y-0 right-0 z-50 w-[min(24rem,90vw)] border-l bg-panel shadow-xl"><!></div>',1),uc=d("<main><!> <!></main> <!>",1);function mu(n,t){Rt(t,!0);const i=h(Br),s=h(()=>la.url.searchParams.get("project")),v=h(()=>(e(i)?.tasks??[]).filter(x=>!e(s)||x.projectId===e(s))),M=h(()=>Hr(e(v),za.now)),b=h(()=>ro(e(M))),k=h(()=>e(M).needsYou.length+e(M).stepFailed.length),z=h(()=>vr.entries(fr.fleet,t.data.slots,t.data.slotsAt)),T=h(()=>e(z).filter(x=>x.slot==="home.card"));aa(()=>Ya.seed(t.data.insights));const O=h(()=>Ya.value??t.data.insights);aa(()=>{za.revision,vr.refresh(fr.fleet,t.data.slotsAt)});const N=no(),A=so();let F=de(!1);aa(()=>{if(!e(F))return;const x=N(la.url,e(i)),S=A(la.url,e(i));if(!x&&!S)return;x&&(da.pending=x),S&&(da.draft=S);const ee=new URL(la.url);ee.searchParams.delete("chat"),ee.searchParams.delete("draft"),zs(ee,{})});let R=de(!0),E=de(!0);Xa(()=>{j(F,!0),Sa.load();const x=window.matchMedia("(min-width: 1024px)"),S=()=>{j(R,x.matches,!0),j(E,x.matches,!0)};S(),x.addEventListener("change",S);const ee=zt.connect(),Q=Ya.connect();return()=>{x.removeEventListener("change",S),ee(),Q()}});var Y=uc();In("1uha8ag",x=>{Sn(()=>{An.title="Firstmate · Wheelhouse"})});var K=ne(Y),V=u(K);{let x=h(()=>e(i)?.tasks??[]),S=h(()=>e(i)?.projects??[]);zd(V,{get token(){return t.data.sessionToken},get railOpen(){return e(E)},get waiting(){return e(k)},get health(){return e(b)},get now(){return za.now},get pluginEntries(){return e(z)},get tasks(){return e(x)},get projects(){return e(S)},get railSide(){return Sa.side},onToggleRail:()=>j(E,!e(E)),onSwapRail:()=>Sa.swap()})}var he=a(V,2);{var J=x=>{es(x,{storageKey:"wheelhouse-rail-width",label:"Resize the rail",defaultWidth:460,get side(){return Sa.side},class:"bg-panel",children:(S,ee)=>{{let Q=h(()=>e(i)?.projects??[]);Nr(S,{get tasks(){return e(v)},get projects(){return e(Q)},get now(){return za.now},get insights(){return e(O)},get scope(){return e(s)},get cards(){return e(T)}})}},$$slots:{default:!0}})};f(he,x=>{e(E)&&e(R)&&x(J)})}o(K);var I=a(K,2);{var y=x=>{var S=cc(),ee=ne(S),Q=a(ee,2),re=u(Q);{let se=h(()=>e(i)?.projects??[]);Nr(re,{get tasks(){return e(v)},get projects(){return e(se)},get now(){return za.now},get insights(){return e(O)},get scope(){return e(s)},get cards(){return e(T)},onClose:()=>j(E,!1),onChat:()=>j(E,!1)})}o(Q),te("click",ee,()=>j(E,!1)),r(x,S)};f(I,x=>{e(E)&&!e(R)&&x(y)})}g(()=>Fe(K,1,`flex min-h-0 flex-1 ${Sa.side==="left"?"flex-row-reverse":""}`)),r(n,Y),jt()}Yt(["click"]);export{mu as component};
@@ -1,10 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{o as Mt}from"../chunks/BngQrigD.js";import{k as $e,aN as Xt,p as et,i as f,s as a,r as u,o as m,v as P,g as e,t as h,d as c,z as Yt,x as qe,a as r,b as tt,l as fe,h as I,f as ce,n as Ce,c as i,j as Pt,u as gt,e as Zt,$ as $t}from"../chunks/BJ_s8GdZ.js";import{s as Ge,r as At,p as We,i as k}from"../chunks/CD3hbDYc.js";import{s as N,a as Le,e as Te,i as ea,h as ta,k as mt,l as xt}from"../chunks/DfDxKk91.js";import{b as aa}from"../chunks/CJ3NIasv.js";import{p as ra}from"../chunks/C16DfZ5a.js";import{S as na}from"../chunks/BEDHe9fo.js";import{l as Xe,c as sa}from"../chunks/Bm8huziG.js";import{s as oa}from"../chunks/3Of2kn6M.js";import{S as _t}from"../chunks/BXN538J3.js";import{c as lt,a as bt}from"../chunks/DKQe4Tss.js";import{B as Ze}from"../chunks/PQApLOOr.js";import{D as ia,S as da,a as Wt}from"../chunks/B3jXa2LJ.js";import{M as la}from"../chunks/Bx2K4OII.js";import{I as Ct}from"../chunks/Bypc6r1_.js";import{h as ua,m as va}from"../chunks/CwwFbl61.js";import{L as ut}from"../chunks/Cl7r7DFs.js";import{C as qt}from"../chunks/DUYBhCSA.js";import{M as ca}from"../chunks/Cb-gOV5k.js";import{A as fa}from"../chunks/C3Yi7wCu.js";import{C as kt}from"../chunks/CsRBDrRN.js";import{G as ha}from"../chunks/C3e5IrpE.js";import{E as pa}from"../chunks/0TvUxbRv.js";var ga=new Set(["$$slots","$$events","$$legacy"]);function ma(d,t){let o=At(t,ga);const b={name:"refresh-ccw",size:24,node:[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}],["path",{d:"M16 16h5v5"}]]};Ct(d,Ge(()=>o,{get icon(){return b}}))}var xa=new Set(["$$slots","$$events","$$legacy"]);function _a(d,t){let o=At(t,xa);const b={name:"scan-search",size:24,node:[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"}],["circle",{cx:"12",cy:"12",r:"3"}],["path",{d:"m16 16-1.9-1.9"}]]};Ct(d,Ge(()=>o,{get icon(){return b}}))}const ba={lockfile:"Lockfile",generated:"Generated file",snapshot:"Test snapshot",formatting:"Formatting only",binary:"Binary file"},ka={behaviour:"Behaviour change",risk:"Risky area",api:"Public API",test:"Tests",docs:"Docs",other:"Change"},wt=d=>d>=1e3?`${(d/1e3).toFixed(d>=1e4?0:1)}k`:`${d}`;function Et(d,t){const o=d.costUsd===null?null:d.costUsd<.01?"under 1¢":`$${d.costUsd.toFixed(d.costUsd<1?3:2)}`;return[o?`${o} at list price`:null,`${wt(d.inputTokens+d.cachedTokens)} tokens in, ${wt(d.outputTokens)} out`,`${d.model}${t?`, ${t} effort`:""}`,`${Math.max(1,Math.round(d.durationMs/1e3))} s`].filter(Boolean).join(" · ")}function wa(d){let t=0,o=0;for(const b of d)b.usage&&(o++,t+=b.usage.costUsd??0);return{usd:t,runs:o}}function ya(d,t){const o=d.flatMap(R=>R.hunks),b=new Map(o.map(R=>[R.id,R])),w=[],S=new Set;for(const R of["key","notable"])for(const K of t?.items??[]){const ee=b.get(K.hunk);K.importance!==R||!ee||ee.boilerplate||S.has(ee.id)||(w.push(ee),S.add(ee.id))}const H=o.filter(R=>!S.has(R.id)&&!R.boilerplate),L=o.filter(R=>R.boilerplate);return{start:w,rest:H,boilerplate:L}}const Sa=d=>`${d.path}, line ${d.newStart}`;function Ra(d,t,o){const b=t?` at ${Sa(t)}`:"";return`Change requested from the PR review${d?` (${d.url})`:""}${b}:
2
- ${o.trim()}`}function Ye(d,t){if(!d.available||t.taskId!==d.taskId||t.head!==d.head)return d;if(t.type==="guide")return{...d,guide:t.guide,staleGuide:null};if(t.type==="text")return{...d,runs:d.runs.map(w=>w.id===t.runId&&w.status==="running"?{...w,text:t.text}:w)};const o=d.runs.findIndex(w=>w.id===t.run.id),b=o<0?[...d.runs,t.run]:d.runs.map((w,S)=>S===o?Ia(w,t.run):w);return{...d,runs:b}}function Ia(d,t){return d.status!=="running"&&t.status==="running"?d:t.status==="running"&&d.text.length>t.text.length?{...t,text:d.text}:t}const it=(d,t)=>d.filter(o=>o.kind!=="guide"&&o.hunk===t);var yt=i("<!> ",1),Ta=i("<!>Request review",1),za=i("<!> <!>",1),Ma=i('<p class="text-xs text-danger" role="alert"> </p>'),Pa=i('<p class="text-xs text-muted-foreground" role="status" data-change-sent=""> </p>'),St=i('<p class="text-xs text-muted-foreground"> </p>'),Aa=i('<form class="space-y-2" data-ask-box=""><div class="flex flex-wrap items-center gap-1 text-xs" role="radiogroup" aria-label="What to send"><button type="button" role="radio">Ask the review agent</button> <button type="button" role="radio">Ask Firstmate for a change</button></div> <label class="sr-only"> </label> <!> <div class="flex flex-wrap items-center gap-2"><!> <!></div></form>');function Ft(d,t){const o=Xt();et(t,!0);let b=We(t,"agentProblem",3,null),w=We(t,"busy",3,!1),S=fe("ask"),H=fe(""),L=fe(!1),R=fe(null),K=fe(null);async function ee(){if(!(!e(H).trim()||e(L))){if(P(L,!0),P(R,null),P(K,null),e(S)==="ask")P(R,await t.onask(e(H)),!0),e(R)||P(H,"");else{const _=await t.onchange(e(H));_.ok?(P(K,{at:new Date().toISOString(),pending:!!_.pending},!0),P(H,"")):P(R,_.error??"Not sent.",!0)}P(L,!1)}}async function n(){P(L,!0),P(R,await t.onreview(),!0),P(L,!1)}function xe(_){_.key==="Enter"&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),ee())}var X=Aa(),ae=f(X),Y=f(ae),be=a(Y,2);u(ae);var ie=a(ae,2),Re=m(ie,!0),Ie=a(ie,2);{let _=I(()=>e(S)==="ask"?`Why was ${t.scope} done this way? What happens when…?`:`What should change in ${t.scope}? Firstmate passes it to the worker.`);ia(Ie,{get id(){return`ask-${o}`},onkeydown:xe,rows:2,maxlength:4e3,get placeholder(){return e(_)},class:"min-h-14 text-sm",get value(){return e(H)},set value(q){P(H,q,!0)}})}var x=a(Ie,2),y=f(x);{var C=_=>{var q=za(),F=ce(q);{let he=I(()=>!e(H).trim()||e(L)||w()||!!b());Ze(F,{type:"submit",size:"sm",get disabled(){return e(he)},children:(we,ze)=>{var ne=yt(),Me=ce(ne);la(Me,{});var Pe=a(Me,1,!0);h(()=>c(Pe,e(L)?"Asking…":"Ask")),r(we,ne)},$$slots:{default:!0}})}var de=a(F,2);{let he=I(()=>e(L)||w()||!!b());Ze(de,{type:"button",size:"sm",variant:"outline",get disabled(){return e(he)},onclick:n,get title(){return`A focused review of ${t.scope??""}: bugs, risks, missing tests`},children:(we,ze)=>{var ne=Ta(),Me=ce(ne);_a(Me,{}),Ce(),r(we,ne)},$$slots:{default:!0}})}r(_,q)},te=_=>{{let q=I(()=>!e(H).trim()||e(L));Ze(_,{type:"submit",size:"sm",get disabled(){return e(q)},children:(F,de)=>{var he=yt(),we=ce(he);da(we,{});var ze=a(we,1,!0);h(()=>c(ze,e(L)?"Sending…":"Send to Firstmate")),r(F,he)},$$slots:{default:!0}})}};k(y,_=>{e(S)==="ask"?_(C):_(te,-1)})}var Z=a(y,2);{var V=_=>{var q=Ma(),F=m(q,!0);h(()=>c(F,e(R))),r(_,q)},A=_=>{var q=Pa(),F=m(q,!0);h(de=>c(F,de),[()=>e(K).pending?`Saved at ${lt(e(K).at)}; Wheelhouse is confirming Firstmate has it.`:`Sent at ${lt(e(K).at)}. Firstmate passes it to the worker.`]),r(_,q)},re=_=>{var q=St(),F=m(q,!0);h(()=>c(F,b())),r(_,q)},ke=_=>{var q=St(),F=m(q,!0);h(()=>c(F,e(S)==="ask"?"The agent reads the diff and the task’s records; it never changes code.":"Goes to Firstmate as a note about this task.")),r(_,q)};k(Z,_=>{e(R)?_(V):e(K)?_(A,1):e(S)==="ask"&&b()?_(re,2):_(ke,-1)})}u(x),u(X),h(()=>{N(Y,"aria-checked",e(S)==="ask"),Le(Y,1,`rounded-full border px-2.5 py-0.5 ${e(S)==="ask"?"border-foreground/30 bg-accent font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`),N(be,"aria-checked",e(S)==="change"),Le(be,1,`rounded-full border px-2.5 py-0.5 ${e(S)==="change"?"border-foreground/30 bg-accent font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`),N(ie,"for",`ask-${o}`),c(Re,e(S)==="ask"?`Question about ${t.scope}`:`Change to ${t.scope}`)}),Yt("submit",X,_=>{_.preventDefault(),ee()}),qe("click",Y,()=>P(S,"ask")),qe("click",be,()=>P(S,"change")),r(d,X),tt()}$e(["click"]);var Wa=i('<div class="ml-auto w-fit max-w-[92%] rounded-lg border border-[var(--bubble-captain-border)] bg-[var(--bubble-captain)] px-3 py-2 text-sm whitespace-pre-line"> </div>'),Ca=i('<p class="text-xs font-medium tracking-wide text-muted-foreground uppercase"> </p>'),qa=i('<p class="whitespace-pre-line"> </p>'),Ea=i('<div class="review-answer text-sm leading-relaxed svelte-oggmuf"><!></div>'),Fa=i('<p class="flex items-center gap-2 text-sm text-muted-foreground"><!> </p>'),La=i('<p class="mt-1 text-sm text-danger" role="alert"> </p>'),Da=i('<p class="mt-1 text-xs text-muted-foreground">Stopped before it finished.</p>'),Oa=i('<button type="button" class="inline-flex items-center gap-1 rounded border px-1.5 py-0.5 hover:bg-accent hover:text-foreground"><!>Stop</button>'),Ba=i('<span class="flex items-center gap-1.5"><!> </span> <!>',1),Na=i('<span data-usage=""> </span>'),Ua=i('<article class="space-y-2"><!> <div class="rounded-lg border bg-card px-3 py-2.5"><!> <!> <div class="mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground"><!> <span class="ml-auto tabular-nums"> </span></div></div></article>');function Lt(d,t){et(t,!0);let o=fe(!1);Mt(()=>P(o,!0));var b=Ua(),w=f(b);{var S=x=>{var y=Wa(),C=m(y,!0);h(()=>c(C,t.run.question)),r(x,y)},H=x=>{var y=Ca(),C=m(y,!0);h(()=>c(C,t.run.hunk?"Review of this hunk":"Review of the whole pull request")),r(x,y)};k(w,x=>{t.run.kind==="ask"?x(S):x(H,-1)})}var L=a(w,2),R=f(L);{var K=x=>{var y=Ea(),C=f(y);{var te=V=>{var A=Pt(),re=ce(A);ua(re,()=>va(t.run.text)),r(V,A)},Z=V=>{var A=qa(),re=m(A,!0);h(()=>c(re,t.run.text)),r(V,A)};k(C,V=>{e(o)?V(te):V(Z,-1)})}u(y),h(()=>N(y,"aria-live",t.run.status==="running"?"polite":"off")),r(x,y)},ee=x=>{var y=Fa(),C=f(y);ut(C,{class:"size-3.5 animate-spin","aria-hidden":"true"});var te=a(C);u(y),h(()=>c(te,` ${t.run.kind==="review"?"Reviewing…":"Reading the diff and the records…"}`)),r(x,y)};k(R,x=>{t.run.text?x(K):t.run.status==="running"&&x(ee,1)})}var n=a(R,2);{var xe=x=>{var y=La(),C=m(y,!0);h(()=>c(C,t.run.error)),r(x,y)},X=x=>{var y=Da();r(x,y)};k(n,x=>{t.run.error?x(xe):t.run.status==="stopped"&&x(X,1)})}var ae=a(n,2),Y=f(ae);{var be=x=>{var y=Ba(),C=ce(y),te=f(C);ut(te,{class:"size-3 animate-spin","aria-hidden":"true"});var Z=a(te);u(C);var V=a(C,2);{var A=re=>{var ke=Oa(),_=f(ke);Wt(_,{class:"size-3","aria-hidden":"true"}),Ce(),u(ke),qe("click",ke,()=>t.onstop(t.run)),r(re,ke)};k(V,re=>{t.onstop&&re(A)})}h(()=>c(Z,`Answering, ${t.run.model??""}, ${t.run.effort??""}
3
- effort`)),r(x,y)},ie=x=>{var y=Na(),C=m(y,!0);h(te=>c(C,te),[()=>Et(t.run.usage,t.run.effort)]),r(x,y)};k(Y,x=>{t.run.status==="running"?x(be):t.run.usage&&(t.run.usage.inputTokens||t.run.usage.outputTokens)&&x(ie,1)})}var Re=a(Y,2),Ie=m(Re,!0);u(ae),u(L),u(b),h(x=>{N(b,"data-run",t.run.id),N(b,"data-run-kind",t.run.kind),N(b,"data-run-status",t.run.status),c(Ie,x)},[()=>lt(t.run.startedAt)]),r(d,b),tt()}$e(["click"]);var Ga=i('<span class="grid size-6 shrink-0 place-items-center self-center rounded-full border border-[var(--brass)] text-xs font-medium tabular-nums"> </span>'),ja=i('<p class="font-display text-base leading-snug"> </p>'),Ha=i("<span> </span>"),Rt=i('<span class="rounded border px-1.5 py-0.5 text-muted-foreground"> </span>'),It=i("<p> </p>"),Ka=i('<p class="mt-0.5">No recorded reason.</p>'),Va=i('<li><span class="inline-block max-w-72 truncate rounded border bg-background px-1.5 py-0.5 text-xs text-muted-foreground"> </span></li>'),Qa=i('<ul class="mt-1.5 flex flex-wrap gap-1.5" aria-label="Records this rests on"></ul>'),Ja=i('<div><p class="text-xs font-medium text-muted-foreground"> </p> <!> <!></div>'),Xa=i('<div class="space-y-2 px-4 pt-3 text-sm leading-relaxed"><!> <!></div>'),Ya=i('<p class="px-4 pt-3 text-xs text-warning">The diff was too large for the guide to read this hunk; ask about it directly.</p>'),Za=i("<div> </div>"),$a=i('<div class="mx-4 mt-2 overflow-x-auto rounded-md border bg-background"><div class="min-w-max py-1.5 font-mono text-xs leading-relaxed" role="presentation"><div class="bg-sea/10 px-3 whitespace-pre text-sea"> </div> <!></div></div>'),er=i('<div class="space-y-3 border-t pt-3"><!> <!></div>'),tr=i(`<button type="button" class="inline-flex items-center gap-1.5 text-xs text-sea hover:underline" data-ask-hunk=""><!>Ask, review or request a change
4
- here</button>`),ar=i('<section class="scroll-mt-20 overflow-hidden rounded-lg border bg-card"><header class="flex flex-wrap items-baseline gap-x-3 gap-y-1 border-b bg-[var(--panel)] px-4 py-2.5"><!> <div class="min-w-0 flex-1"><!> <p class="truncate font-mono text-xs text-muted-foreground"> <span class="text-muted-foreground/80"> </span></p></div> <div class="flex flex-wrap items-center gap-1.5 text-xs"><!> <!> <!> <span class="tabular-nums"><span class="text-success"> </span> <span class="text-danger"> </span></span></div></header> <!> <!> <div class="px-4 pt-3"><button type="button" class="flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground"><!> </button></div> <!> <div class="px-4 pt-3 pb-3"><!></div></section>');function dt(d,t){et(t,!0);let o=We(t,"item",3,null),b=We(t,"rank",3,null),w=We(t,"open",3,!0),S=We(t,"agentProblem",3,null),H=We(t,"busy",3,!1),L=fe(null);const R=I(()=>e(L)??w());let K=fe(!1);const ee=I(()=>e(K)||t.runs.length>0),n=l=>l.startsWith("+")?"bg-success/10 text-success":l.startsWith("-")?"bg-danger/10 text-danger":l.startsWith("\\")?"text-muted-foreground italic":"",xe={key:"Read first",notable:"Worth a look",routine:"Routine"};var X=ar(),ae=f(X),Y=f(ae);{var be=l=>{var p=Ga(),z=m(p,!0);h(()=>{N(p,"aria-label",`Number ${b()??""} in the reading order`),c(z,b())}),r(l,p)};k(Y,l=>{b()!==null&&l(be)})}var ie=a(Y,2),Re=f(ie);{var Ie=l=>{var p=ja(),z=m(p,!0);h(()=>c(z,o().title)),r(l,p)};k(Re,l=>{o()&&l(Ie)})}var x=a(Re,2),y=f(x,!0),C=a(y),te=m(C);u(x),u(ie);var Z=a(ie,2),V=f(Z);{var A=l=>{var p=Ha(),z=m(p,!0);h(()=>{Le(p,1,`rounded border px-1.5 py-0.5 ${o().importance==="key"?"border-sea/50 text-sea":"text-muted-foreground"}`),c(z,xe[o().importance])}),r(l,p)};k(V,l=>{o()&&o().importance!=="routine"&&l(A)})}var re=a(V,2);{var ke=l=>{var p=Rt(),z=m(p,!0);h(()=>c(z,ka[o().kind])),r(l,p)};k(re,l=>{o()&&o().kind!=="other"&&l(ke)})}var _=a(re,2);{var q=l=>{var p=Rt(),z=m(p,!0);h(()=>c(z,ba[t.hunk.boilerplate])),r(l,p)};k(_,l=>{t.hunk.boilerplate&&l(q)})}var F=a(_,2),de=f(F),he=m(de),we=a(de,2),ze=m(we);u(F),u(Z),u(ae);var ne=a(ae,2);{var Me=l=>{var p=Xa(),z=f(p);{var le=$=>{var W=It(),O=m(W,!0);h(()=>c(O,o().what)),r($,W)};k(z,$=>{o().what&&$(le)})}var G=a(z,2);{var Se=$=>{var W=Ja(),O=f(W),Q=m(O,!0),ue=a(O,2);{var ve=pe=>{var ge=Ka();r(pe,ge)},nt=pe=>{var ge=It(),Ae=m(ge,!0);h(()=>{Le(ge,1,`mt-0.5 ${o().basis==="inferred"?"text-muted-foreground":""}`),c(Ae,o().why)}),r(pe,ge)};k(ue,pe=>{o().basis==="none"?pe(ve):pe(nt,-1)})}var Ke=a(ue,2);{var st=pe=>{var ge=Qa();Te(ge,20,()=>o().sources,Ae=>Ae,(Ae,Be)=>{const Fe=I(()=>t.records.get(Be));var Ne=Va(),Ve=f(Ne),Qe=m(Ve);u(Ne),h(()=>{N(Ve,"title",e(Fe)?`${e(Fe).name}: ${e(Fe).excerpt}`:Be),c(Qe,`${Be??""} · ${e(Fe)?.name??"record"??""}`)}),r(Ae,Ne)}),u(ge),r(pe,ge)};k(Ke,pe=>{o().sources.length&&pe(st)})}u(W),h(()=>{Le(W,1,`border-l-2 pl-3 ${o().basis==="recorded"?"border-sea/60":"border-[var(--hair)]"}`),N(W,"data-basis",o().basis),c(Q,o().basis==="recorded"?"Why, from the task’s records":o().basis==="inferred"?"Why: not recorded":"Why")}),r($,W)};k(G,$=>{o().importance!=="routine"&&$(Se)})}u(p),r(l,p)};k(ne,l=>{o()&&(o().what||o().importance!=="routine")&&l(Me)})}var Pe=a(ne,2);{var De=l=>{var p=Ya();r(l,p)};k(Pe,l=>{t.hunk.unseen&&l(De)})}var Ee=a(Pe,2),ye=f(Ee),Oe=f(ye);{let l=I(()=>e(R)?"rotate-90":"");qt(Oe,{get class(){return`size-3.5 transition-transform ${e(l)??""}`},"aria-hidden":"true"})}var at=a(Oe);u(ye),u(Ee);var je=a(Ee,2);{var rt=l=>{var p=$a(),z=f(p),le=f(z),G=m(le,!0),Se=a(le,2);Te(Se,17,()=>t.hunk.lines,ea,($,W)=>{var O=Za(),Q=m(O,!0);h(ue=>{Le(O,1,`px-3 whitespace-pre ${ue??""}`),c(Q,e(W)||" ")},[()=>n(e(W))]),r($,O)}),u(z),u(p),h(()=>{N(p,"id",`diff-${t.hunk.id??""}`),c(G,t.hunk.header)}),r(l,p)};k(je,l=>{e(R)&&l(rt)})}var He=a(je,2),s=f(He);{var T=l=>{var p=er(),z=f(p);Te(z,17,()=>t.runs,G=>G.id,(G,Se)=>{Lt(G,{get run(){return e(Se)},get onstop(){return t.onstop}})});var le=a(z,2);Ft(le,{scope:"this hunk",get agentProblem(){return S()},get busy(){return H()},onask:G=>t.onask(t.hunk,G),onreview:()=>t.onreview(t.hunk),onchange:G=>t.onchange(t.hunk,G)}),u(p),r(l,p)},E=l=>{var p=tr(),z=f(p);ca(z,{class:"size-3.5","aria-hidden":"true"}),Ce(),u(p),qe("click",p,()=>P(K,!0)),r(l,p)};k(s,l=>{e(ee)?l(T):l(E,-1)})}u(He),u(X),h(()=>{N(X,"id",`hunk-${t.hunk.id??""}`),N(X,"data-hunk",t.hunk.id),N(X,"data-importance",o()?.importance??(t.hunk.boilerplate?"boilerplate":"unranked")),N(x,"title",t.hunk.path),c(y,t.hunk.path),c(te,` · line ${t.hunk.newStart??""}`),c(he,`+${t.hunk.additions??""}`),c(ze,`−${t.hunk.deletions??""}`),N(ye,"aria-expanded",e(R)),N(ye,"aria-controls",`diff-${t.hunk.id??""}`),c(at,` ${e(R)?"Hide the diff":`Show the diff (${t.hunk.lines.length} lines)`}`)}),qe("click",ye,()=>P(L,!e(R))),r(d,X),tt()}$e(["click"]);var Tt=i("<option> </option>"),rr=i('<label class="text-xs text-muted-foreground">Model <select class="mt-1 block rounded-md border bg-background px-2 py-1 text-sm text-foreground"></select></label> <label class="text-xs text-muted-foreground">Effort <select class="mt-1 block rounded-md border bg-background px-2 py-1 text-sm text-foreground"></select></label>',1),nr=i('<p class="mt-6 rounded-lg border border-dashed p-6 text-sm text-muted-foreground" data-review="unavailable"> </p>'),sr=i('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline"><!> <!></a>'),or=i('<span data-usage=""> </span>'),ir=i('<button type="button" class="mt-2 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground hover:underline"><!>Write it again</button>'),dr=i('<p class="mt-2 max-w-prose text-sm leading-relaxed"> </p> <p class="mt-2 text-xs text-muted-foreground"> <!></p> <!>',1),lr=i('<p class="mt-2 text-xs text-warning"> </p>'),ur=i(`<p class="mt-2 max-w-prose text-sm leading-relaxed text-muted-foreground">The review agent reads this pull request with the task’s records (the brief, the
5
- commits, the automated review’s findings and Firstmate’s calls, the description) and
6
- puts the important changes first, with why each was done this way. It says so when
7
- nothing records a reason. It runs only when you ask, once for this version.</p> <!>`,1),vr=i('<div class="mt-3 flex flex-wrap items-center gap-3 text-sm text-muted-foreground" role="status"><!> <span> </span> <button type="button" class="inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-xs hover:bg-accent hover:text-foreground"><!>Stop</button></div>'),cr=i("<!>Prepare the guide",1),fr=i('<p class="mt-2 text-xs text-muted-foreground"> </p>'),hr=i('<p class="mt-2 text-xs text-muted-foreground">Its cost and token use show here once it has run.</p>'),pr=i('<div class="mt-4 flex flex-wrap items-end gap-3"><!> <!></div> <!>',1),zt=i('<p class="mt-2 text-sm text-danger" role="alert"> </p>'),gr=i('<p class="text-sm text-warning">This pull request is large: only its first files are shown.</p>'),mr=i('<section aria-labelledby="start-h" class="space-y-3"><h2 id="start-h" class="text-lg">Read these first</h2> <!></section>'),xr=i('<p class="text-xs text-muted-foreground">Routine changes, in file order, folded. Open any to see its diff.</p>'),_r=i('<section aria-labelledby="rest-h" class="space-y-3"><h2 id="rest-h" class="text-lg"> </h2> <!> <!></section>'),br=i('<details class="group rounded-lg border bg-card" data-boilerplate=""><summary class="flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm [&amp;::-webkit-details-marker]:hidden"><!> <span class="font-medium">Boilerplate, folded away</span> <span class="text-muted-foreground"> </span></summary> <div class="space-y-3 border-t p-4"></div></details>'),kr=i(`<p class="mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground"><!> <span>Version <span class="font-mono text-xs"> </span> </span> <span> </span></p> <div class="mt-6 grid gap-6 xl:grid-cols-[minmax(0,1fr)_minmax(20rem,26rem)]"><div class="min-w-0 space-y-6"><section class="rounded-lg border bg-card p-5" aria-labelledby="guide-h"><h2 id="guide-h" class="flex items-center gap-2 text-lg"><!>The review guide</h2> <!> <!> <!></section> <!> <!> <!> <!></div> <aside class="min-w-0"><section class="space-y-3 rounded-lg border bg-[var(--panel)] p-4 xl:sticky xl:top-20 xl:flex xl:max-h-[calc(100vh-6rem)] xl:flex-col" aria-labelledby="ask-h"><h2 id="ask-h" class="text-lg">Ask about this pull request</h2> <p class="text-xs text-muted-foreground">Questions and reviews here are about the whole change; each hunk has its own. Answers
8
- come from the diff and the task’s records, live as they are written.</p> <div class="max-h-[60vh] space-y-3 overflow-y-auto xl:max-h-none xl:min-h-0 xl:flex-1" data-thread="pr"></div> <!> <div class="flex flex-wrap items-end gap-3 border-t pt-3"><!></div> <p class="text-xs text-muted-foreground" data-spent=""> </p></section></aside></div> <p class="mt-6 text-xs text-muted-foreground"> </p>`,1),wr=i('<main class="px-4 py-6 sm:px-6 lg:px-10"><div class="surface px-5 py-6 sm:px-8 sm:py-8"><a class="inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground"><!> </a> <h1 class="mt-4 text-2xl">Pull request review</h1> <!></div></main>');function Vr(d,t){et(t,!0);const o=s=>{var T=Pt(),E=ce(T);{var l=p=>{var z=rr(),le=ce(z),G=a(f(le));Te(G,20,()=>e(n).config.models,W=>W,(W,O)=>{var Q=Tt(),ue=m(Q),ve={};h(()=>{c(ue,`${O??""}${O===e(n).config.model?" (default)":""}`),ve!==(ve=O)&&(Q.value=(Q.__value=ve)??"")}),r(W,Q)}),u(G),mt(G),u(le);var Se=a(le,2),$=a(f(Se));Te($,20,()=>e(n).config.efforts,W=>W,(W,O)=>{var Q=Tt(),ue=m(Q),ve={};h(()=>{c(ue,`${O??""}${O===e(n).config.effort?" (default)":""}`),ve!==(ve=O)&&(Q.value=(Q.__value=ve)??"")}),r(W,Q)}),u($),mt($),u(Se),xt(G,()=>e(xe).model,W=>P(K,W,!0)),xt($,()=>e(xe).effort,W=>P(ee,W,!0)),r(p,z)};k(E,p=>{e(n)&&p(l)})}r(s,T)};let b=fe(null);const w=I(()=>e(b)?.taskId===t.data.id?e(b):t.data.view),S=I(()=>t.data.id),H=I(()=>sa()?.tasks.find(s=>s.id===e(S))??null),L=I(()=>e(H)?.title??t.data.title??e(S)),R=()=>ra.data.sessionToken;let K=fe(null),ee=fe(null);const n=I(()=>e(w).available?e(w):null),xe=I(()=>({model:e(K)??e(n)?.config.model??"sonnet",effort:e(ee)??e(n)?.config.effort??"low"}));async function X(){const s=e(S),T=await fetch(`/api/tasks/${encodeURIComponent(s)}/review`).catch(()=>null);if(!T?.ok)return null;const E=await T.json().catch(()=>null);return E?.taskId!==e(S)?null:(P(b,E,!0),E)}const ae=new na;let Y=null;Mt(()=>Xe.onReview(s=>{if(s.taskId===e(S)){if(e(w).available&&s.head!==e(w).head){if(Y?.head===s.head)return void Y.events.push(s);if(s.type==="text"||ae.has(s.head))return;ae.add(s.head);const T=Y={head:s.head,events:[]};return void X().then(E=>{Y===T&&(Y=null),E?.available&&E.head===T.head?P(b,T.events.reduce(Ye,E),!0):ae.delete(T.head)})}P(b,Ye(e(w),s),!0)}}));let be=Date.now();gt(()=>{Xe.revision,!(Date.now()-be<3e4)&&(be=Date.now(),X())});async function ie(s,T){try{const E=await fetch(`/api/tasks/${encodeURIComponent(e(S))}/review/${s}`,{method:"POST",headers:{"content-type":"application/json",[_t]:R()},body:JSON.stringify(T)}),l=await E.json().catch(()=>null);return E.ok?(e(w).available&&l?.run&&P(b,Ye(e(w),{taskId:e(S),head:e(w).head,type:"run",run:l.run}),!0),e(w).available&&l?.guide&&P(b,Ye(e(w),{taskId:e(S),head:e(w).head,type:"guide",guide:l.guide}),!0),null):l?.message??`Wheelhouse answered ${E.status}.`}catch{return"Could not reach the Wheelhouse server."}}const Re=(s,T)=>ie("ask",{question:T,hunk:s?.id??null,...e(xe)}),Ie=s=>ie("check",{hunk:s?.id??null,...e(xe)}),x=(s,T)=>oa(Ra(e(n)?.pr??null,s,T),R(),e(S)),y=s=>{fetch(`/api/tasks/${encodeURIComponent(e(S))}/review/runs/${encodeURIComponent(s.id)}/stop`,{method:"POST",headers:{[_t]:R()}}).catch(()=>{})};let C=fe(null);async function te(s=!1){s&&!confirm("Write the guide again? It runs the review agent once more for this version.")||P(C,await ie("guide",{force:s,...e(xe)}),!0)}const Z=I(()=>e(n)?[...e(n).runs].reverse().find(s=>s.kind==="guide")??null:null),V=I(()=>e(Z)?.status==="running"),A=I(()=>e(n)?ya(e(n).files,e(n).guide):null),re=I(()=>new Map((e(n)?.guide?.items??[]).map(s=>[s.hunk,s]))),ke=I(()=>new Map((e(n)?.guide?.records??[]).map(s=>[s.label,s]))),_=I(()=>e(n)?e(n).runs.filter(s=>s.status==="running").length:0),q=I(()=>e(_)>=2),F=I(()=>e(n)?.config.unavailable??null),de=I(()=>e(n)?wa(e(n).runs):{usd:0,runs:0}),he=I(()=>e(n)?e(n).files.reduce((s,T)=>s+T.hunks.length,0):0),we=I(()=>e(A)?new Set(e(A).boilerplate.map(s=>s.path)).size:0),ze=s=>s.slice(0,7);let ne=fe(void 0);const Me=I(()=>e(n)?it(e(n).runs,null).length:0);gt(()=>{e(Me),e(ne)&&(e(ne).scrollTop=e(ne).scrollHeight)});const Pe=(s,T,E)=>({hunk:s,item:e(re).get(s.id)??null,rank:T,records:e(ke),runs:e(n)?it(e(n).runs,s.id):[],open:E,agentProblem:e(F),busy:e(q),onask:Re,onreview:Ie,onchange:x,onstop:y});var De=wr();ta("sgaraa",s=>{Zt(()=>{$t.title=`Review · ${e(L)??""} · Wheelhouse`})});var Ee=f(De),ye=f(Ee),Oe=f(ye);fa(Oe,{class:"size-4","aria-hidden":"true"});var at=a(Oe,1,!0);u(ye);var je=a(ye,4);{var rt=s=>{var T=nr(),E=m(T,!0);h(()=>c(E,e(w).available?"":e(w).reason)),r(s,T)},He=s=>{var T=kr(),E=ce(T),l=f(E);{var p=v=>{var g=sr(),M=f(g);ha(M,{class:"size-4","aria-hidden":"true"});var D=a(M),B=a(D);pa(B,{class:"size-3","aria-hidden":"true"}),u(g),h(()=>{N(g,"href",e(n).pr.url),c(D,`${e(n).pr.number?`#${e(n).pr.number}`:"Pull request"}${e(n).pr.title?` ${e(n).pr.title}`:""}`)}),r(v,g)};k(l,v=>{e(n).pr&&v(p)})}var z=a(l,2),le=a(f(z)),G=m(le,!0),Se=a(le);u(z);var $=a(z,2),W=m($);u(E);var O=a(E,2),Q=f(O),ue=f(Q),ve=f(ue),nt=f(ve);kt(nt,{class:"size-5 text-[var(--brass)]","aria-hidden":"true"}),Ce(),u(ve);var Ke=a(ve,2);{var st=v=>{var g=dr(),M=ce(g),D=m(M,!0),B=a(M,2),J=f(B),se=a(J);{var U=oe=>{var _e=or(),Ue=m(_e);h((Qt,Jt)=>c(Ue,`Written ${Qt??""}: ${Jt??""}.`),[()=>bt(e(n).guide.at,Xe.now),()=>Et(e(n).guide.usage,e(n).guide.effort)]),r(oe,_e)};k(se,oe=>{e(n).guide.usage&&oe(U)})}u(B);var j=a(B,2);{var me=oe=>{var _e=ir(),Ue=f(_e);ma(Ue,{class:"size-3","aria-hidden":"true"}),Ce(),u(_e),h(()=>_e.disabled=!!e(F)),qe("click",_e,()=>te(!0)),r(oe,_e)};k(j,oe=>{e(V)||oe(me)})}h(oe=>{c(D,e(n).guide.summary),c(J,`${oe??""} of ${e(he)??""} hunks
9
- to read first, drawing on ${e(n).guide.records.length??""} of the task’s records. `)},[()=>e(n).guide.items.filter(oe=>oe.importance!=="routine").length]),r(v,g)},pe=v=>{var g=ur(),M=a(ce(g),2);{var D=B=>{var J=lr(),se=m(J);h((U,j)=>c(se,`A guide was written for an earlier version (${U??""}, ${j??""}); the pull request has changed since.`),[()=>ze(e(n).staleGuide.head),()=>bt(e(n).staleGuide.at,Xe.now)]),r(B,J)};k(M,B=>{e(n).staleGuide&&B(D)})}r(v,g)};k(Ke,v=>{e(n).guide?v(st):v(pe,-1)})}var ge=a(Ke,2);{var Ae=v=>{var g=vr(),M=f(g);ut(M,{class:"size-4 animate-spin","aria-hidden":"true"});var D=a(M,2),B=m(D),J=a(D,2),se=f(J);Wt(se,{class:"size-3","aria-hidden":"true"}),Ce(),u(J),u(g),h(U=>c(B,`Reading ${e(he)??""} hunks and the records${U??""}…`),[()=>e(Z).text?`, ${e(Z).text.length.toLocaleString()} characters written`:""]),qe("click",J,()=>y(e(Z))),r(v,g)},Be=v=>{var g=pr(),M=ce(g),D=f(M);o(D);var B=a(D,2);{let j=I(()=>!!e(F)||e(q));Ze(B,{size:"sm",onclick:()=>te(!1),get disabled(){return e(j)},"data-prepare-guide":!0,children:(me,oe)=>{var _e=cr(),Ue=ce(_e);kt(Ue,{}),Ce(),r(me,_e)},$$slots:{default:!0}})}u(M);var J=a(M,2);{var se=j=>{var me=fr(),oe=m(me,!0);h(()=>c(oe,e(F))),r(j,me)},U=j=>{var me=hr();r(j,me)};k(J,j=>{e(F)?j(se):j(U,-1)})}r(v,g)};k(ge,v=>{e(V)&&e(Z)?v(Ae):e(n).guide||v(Be,1)})}var Fe=a(ge,2);{var Ne=v=>{var g=zt(),M=m(g,!0);h(()=>c(M,e(C))),r(v,g)},Ve=v=>{var g=zt(),M=m(g,!0);h(()=>c(M,e(Z).error)),r(v,g)};k(Fe,v=>{e(C)?v(Ne):e(Z)?.status==="failed"&&!e(n).guide&&v(Ve,1)})}u(ue);var Qe=a(ue,2);{var Dt=v=>{var g=gr();r(v,g)};k(Qe,v=>{e(n).truncated&&v(Dt)})}var vt=a(Qe,2);{var Ot=v=>{var g=mr(),M=a(f(g),2);Te(M,19,()=>e(A).start,D=>D.id,(D,B,J)=>{{let se=I(()=>Pe(e(B),e(J)+1,!0));dt(D,Ge(()=>e(se)))}}),u(g),r(v,g)};k(vt,v=>{e(A)&&e(A).start.length&&v(Ot)})}var ct=a(vt,2);{var Bt=v=>{var g=_r(),M=f(g),D=m(M,!0),B=a(M,2);{var J=U=>{var j=xr();r(U,j)};k(B,U=>{e(n).guide&&U(J)})}var se=a(B,2);Te(se,17,()=>e(A).rest,U=>U.id,(U,j)=>{{let me=I(()=>Pe(e(j),null,!e(n).guide));dt(U,Ge(()=>e(me)))}}),u(g),h(()=>c(D,e(A).start.length?"Everything else":"The changes")),r(v,g)};k(ct,v=>{e(A)&&e(A).rest.length&&v(Bt)})}var Nt=a(ct,2);{var Ut=v=>{var g=br(),M=f(g),D=f(M);qt(D,{class:"size-4 text-muted-foreground transition-transform group-open:rotate-90","aria-hidden":"true"});var B=a(D,4),J=m(B);u(M);var se=a(M,2);Te(se,21,()=>e(A).boilerplate,U=>U.id,(U,j)=>{{let me=I(()=>Pe(e(j),null,!1));dt(U,Ge(()=>e(me)))}}),u(se),u(g),h(()=>c(J,`${e(A).boilerplate.length??""} hunks in ${e(we)??""} files: lockfiles, generated files,
10
- snapshots, formatting`)),r(v,g)};k(Nt,v=>{e(A)&&e(A).boilerplate.length&&v(Ut)})}u(Q);var ft=a(Q,2),ht=f(ft),Je=a(f(ht),4);Te(Je,21,()=>it(e(n).runs,null),v=>v.id,(v,g)=>{Lt(v,{get run(){return e(g)},onstop:y})}),u(Je),aa(Je,v=>P(ne,v),()=>e(ne));var pt=a(Je,2);Ft(pt,{scope:"this pull request",get agentProblem(){return e(F)},get busy(){return e(q)},onask:v=>Re(null,v),onreview:()=>Ie(null),onchange:v=>x(null,v)});var ot=a(pt,2),Gt=f(ot);o(Gt),u(ot);var jt=a(ot,2),Ht=m(jt,!0);u(ht),u(ft),u(O);var Kt=a(O,2),Vt=m(Kt);h((v,g)=>{c(G,v),c(Se,` against ${e(n).base??""}`),c(W,`${e(n).files.length??""} files, ${e(he)??""} hunks`),N(ue,"data-guide",e(n).guide?"ready":e(V)?"running":"none"),c(Ht,g),c(Vt,`From ${e(n).source??""}.`)},[()=>ze(e(n).head),()=>e(de).runs?`The review agent has spent ${e(de).usd<.01?"under 1¢":`$${e(de).usd.toFixed(3)}`} at list price on this version, over ${e(de).runs} run${e(de).runs===1?"":"s"}.`:"Nothing has run for this version yet."]),r(s,T)};k(je,s=>{e(n)?s(He,-1):s(rt)})}u(Ee),u(De),h(s=>{N(ye,"href",`/tasks/${s??""}`),c(at,e(L))},[()=>encodeURIComponent(e(S))]),r(d,De),tt()}$e(["click"]);export{Vr as component};
@@ -1,6 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{k as De,p as Le,a as c,b as Me,q as Ne,c as _,s as r,$ as Ce,i as n,o as g,t as f,g as e,d as l,x as Ee,v as Re,r as o,l as We,h as b,f as qe,w as Z,n as Be}from"../chunks/BJ_s8GdZ.js";import{i as ee}from"../chunks/CD3hbDYc.js";import{h as Ge,e as A,s as te,a as He}from"../chunks/DfDxKk91.js";import{d as Oe,a as S,t as $,s as ae,m as Ue,S as ze}from"../chunks/CR7y1ULG.js";import{I as Fe}from"../chunks/WcvPAxq7.js";import{T as W}from"../chunks/A8GZ5Uuc.js";import{T as Je}from"../chunks/BLL4xbEj.js";var Ke=_('<button role="radio"> </button>'),Pe=_('<p class="mt-8 rounded-lg border border-dashed p-6 text-sm text-muted-foreground"> </p>'),Qe=_('<p class="mt-8 rounded-lg border border-dashed p-8 text-sm text-muted-foreground">No work started in this range.</p>'),Ve=_('<li><a class="grid gap-x-4 gap-y-1.5 px-4 py-3 hover:bg-accent/40 sm:grid-cols-[minmax(0,19rem)_minmax(0,1fr)_4.5rem] sm:items-center"><div class="min-w-0"><p class="truncate text-sm"> </p> <p class="text-xs text-muted-foreground"> </p></div> <!> <p class="text-sm tabular-nums sm:text-right"> </p></a></li>'),Xe=_('<section class="mt-10"><div class="flex flex-wrap items-baseline justify-between gap-2"><h2 class="text-base font-semibold"> </h2> <p class="text-sm text-muted-foreground"> <!></p></div> <div class="mt-3"><!></div> <ul class="mt-4 divide-y rounded-lg border bg-card"></ul></section>'),Ye=_(`<section class="mt-8 rounded-xl border bg-card p-5"><p class="text-base"><span class="font-semibold"> </span> <span class="text-muted-foreground"> </span></p> <div class="mt-4"><!></div> <div class="mt-3"><!></div></section> <!> <p class="mt-10 text-xs leading-relaxed text-muted-foreground">Bars share one scale, so a longer bar took longer. Times come from the crew’s status updates
2
- and the automated review’s step logs.<!></p>`,1),Ze=_(`<main class="px-4 py-6 sm:px-6 lg:px-10"><div class="surface px-5 py-6 sm:px-8 sm:py-8"><!> <div class="mt-6 flex flex-wrap items-end justify-between gap-4"><div><h1 class="text-2xl">Where time went</h1> <p class="mt-1 max-w-prose text-sm text-muted-foreground">How long each piece of work spent being built, in automated review and fixes, in CI, and
3
- waiting on you.</p></div> <div class="flex rounded-lg border p-0.5 text-sm" role="radiogroup" aria-label="Range"></div></div> <!></div></main>`);function lt(se,w){Le(w,!0);const re=[{key:"today",label:"Today"},{key:"week",label:"Last 7 days"},{key:"month",label:"Last 30 days"}];let I=We("week");const j=Date.now(),oe=t=>t==="today"?new Date(new Date(j).toDateString()).getTime():j-(t==="week"?7:30)*864e5,h=b(()=>w.data.view.tasks.filter(t=>Date.parse(t.startedAt)>=oe(e(I)))),y=b(()=>ae(e(h))),D=b(()=>$(e(y))),q=b(()=>ze.map(t=>({...t,v:e(y)[t.key]})).sort((t,a)=>a.v-t.v)[0]),B=t=>e(D)?Math.round(t/e(D)*100):0,ne=b(()=>Math.max(1,...e(h).map(t=>t.total))),de=b(()=>{const t={};for(const a of e(h))(t[a.projectId]??=[]).push(a);return Object.entries(t).map(([a,s])=>{const u=s.filter(x=>x.kind==="ship"&&x.readyAfter!==null);return{name:a,list:s,s:ae(s),usual:u.length?Ue(u.map(x=>x.readyAfter)):null}}).sort((a,s)=>$(s.s)-$(a.s))});var L=Ze();Ge("dyupmq",t=>{Ne(()=>{Ce.title="Where time went · Wheelhouse"})});var G=n(L),H=n(G);Fe(H,{});var M=r(H,2),O=r(n(M),2);A(O,21,()=>re,t=>t.key,(t,a)=>{var s=Ke(),u=g(s,!0);f(()=>{te(s,"aria-checked",e(I)===e(a).key),He(s,1,`rounded-md px-3 py-1 ${e(I)===e(a).key?"bg-accent font-medium":"text-muted-foreground hover:text-foreground"}`),l(u,e(a).label)}),Ee("click",s,()=>Re(I,e(a).key,!0)),c(t,s)}),o(O),o(M);var le=r(M,2);{var ie=t=>{var a=Pe(),s=g(a,!0);f(()=>l(s,w.data.view.reason)),c(t,a)},ve=t=>{var a=Qe();c(t,a)},me=t=>{var a=Ye(),s=qe(a),u=n(s),x=n(u),ce=g(x,!0),U=r(x),ue=r(U),pe=g(ue);o(u);var N=r(u,2),ge=n(N);W(ge,{get seconds(){return e(y)},height:"h-4",label:"All work"}),o(N);var z=r(N,2),xe=n(z);Je(xe,{get seconds(){return e(y)}}),o(z),o(s);var F=r(s,2);A(F,17,()=>e(de),v=>v.name,(v,d)=>{var p=Xe(),k=n(p),K=n(k),_e=g(K,!0),P=r(K,2),Q=n(P),he=r(Q);{var be=m=>{var i=Z();f(T=>l(i,T),[()=>` · usually ${S(e(d).usual)} from start to ready for you`]),c(m,i)};ee(he,m=>{e(d).usual!==null&&m(be)})}o(P),o(k);var C=r(k,2),we=n(C);W(we,{get seconds(){return e(d).s},get label(){return e(d).name}}),o(C);var V=r(C,2);A(V,21,()=>e(d).list,m=>m.taskId,(m,i)=>{var T=Ve(),E=n(T),R=n(E),X=n(R),ye=g(X,!0),ke=r(X,2),Te=g(ke);o(R);var Y=r(R,2);W(Y,{get seconds(){return e(i).seconds},get scale(){return e(ne)},get label(){return e(i).title}});var Ie=r(Y,2),Ae=g(Ie,!0);o(E),o(T),f((Se,$e,je)=>{te(E,"href",`/tasks/${Se??""}`),l(ye,e(i).title),l(Te,`${$e??""}${e(i).ongoing?" · still going":""}`),l(Ae,je)},[()=>encodeURIComponent(e(i).taskId),()=>Oe(e(i).startedAt,j),()=>S(e(i).total)]),c(m,T)}),o(V),o(p),f(m=>{l(_e,e(d).name),l(Q,`${m??""} on ${e(d).list.length??""}
4
- ${e(d).list.length===1?"task":"tasks"}`)},[()=>S($(e(d).s))]),c(v,p)});var J=r(F,2),fe=r(n(J));A(fe,16,()=>w.data.view.notes,v=>v,(v,d)=>{Be();var p=Z();f(()=>l(p,` ${d}`)),c(v,p)}),o(J),f((v,d,p,k)=>{l(ce,v),l(U,` across ${e(h).length??""}
5
- ${e(h).length===1?"task":"tasks"}. `),l(pe,`Most of it went to ${d??""} (${p??""}%); you were the wait
6
- for ${k??""}%.`)},[()=>S(e(D)),()=>e(q).label.toLowerCase(),()=>B(e(q).v),()=>B(e(y).captain)]),c(t,a)};ee(le,t=>{w.data.view.available?e(h).length===0?t(ve,1):t(me,-1):t(ie)})}o(G),o(L),c(se,L),Me()}De(["click"]);export{lt as component};
@@ -1,5 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{k as ct,p as mt,a as c,b as vt,q as ut,c as m,i as n,$ as xt,s as a,g as e,r,h as $,o as l,t as x,d,f as ge,x as ft,v as ht,n as we,l as _t,D as gt}from"../chunks/BJ_s8GdZ.js";import{s as B,r as G,i as C}from"../chunks/CD3hbDYc.js";import{h as wt,e as M,s as S,a as be,i as bt,c as yt}from"../chunks/DfDxKk91.js";import{c as $t}from"../chunks/Dy_X9Fgu.js";import{p as kt}from"../chunks/C16DfZ5a.js";import{c as ye}from"../chunks/DKQe4Tss.js";import{a as It,c as Dt}from"../chunks/CR7y1ULG.js";import{I as Ct}from"../chunks/WcvPAxq7.js";import{H as zt,L as At}from"../chunks/IsTbwoyV.js";import{C as Ft}from"../chunks/C3o9xHsB.js";import{I as J}from"../chunks/Bypc6r1_.js";import{M as Mt}from"../chunks/5fVeMNeJ.js";import{S as St}from"../chunks/qb_JS6rP.js";import{C as qt}from"../chunks/CIj4gWfs.js";var Tt=new Set(["$$slots","$$events","$$legacy"]);function $e(h,v){let _=G(v,Tt);const g={name:"shield",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}]]};J(h,B(()=>_,{get icon(){return g}}))}var Lt=new Set(["$$slots","$$events","$$legacy"]);function Nt(h,v){let _=G(v,Lt);const g={name:"split",size:24,node:[["path",{d:"M16 3h5v5"}],["path",{d:"M8 3H3v5"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"}],["path",{d:"m15 9 6-6"}]]};J(h,B(()=>_,{get icon(){return g}}))}var Ht=new Set(["$$slots","$$events","$$legacy"]);function Rt(h,v){let _=G(v,Ht);const g={name:"thumbs-down",size:24,node:[["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"}],["path",{d:"M17 14V2"}]]};J(h,B(()=>_,{get icon(){return g}}))}var jt=m('<p class="mt-8 rounded-lg border border-dashed p-6 text-sm text-muted-foreground"> </p>'),Et=m('<p class="mt-8 rounded-lg border border-dashed p-6 text-sm text-muted-foreground">Firstmate has not had to answer a review question for you yet.</p>'),Kt=m('<button role="radio"> </button>'),Ut=m('<span class="rounded border px-1.5 text-xs text-muted-foreground"> </span>'),Vt=m('<span class="text-muted-foreground"> </span>'),Ot=m('<p class="mt-1 font-mono text-xs"> </p>'),Qt=m('<details class="mt-2 text-xs text-muted-foreground"><summary class="cursor-pointer hover:text-foreground">The reviewer’s full note</summary> <p class="mt-1.5 leading-relaxed"><!></p> <!></details>'),Wt=m(`<li><p class="text-xs text-muted-foreground"> </p> <p class="mt-1 text-sm leading-relaxed font-medium"> </p> <div class="mt-2.5 border-l-2 border-sea/60 pl-3"><p class="text-xs text-muted-foreground">Firstmate decided: <span class="font-medium text-foreground"> </span></p> <p class="mt-1 text-sm leading-relaxed whitespace-pre-line"> <span class="text-muted-foreground"> </span></p></div> <!> <div class="mt-2 flex flex-wrap gap-2"><a class="inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1.5 text-xs font-medium hover:bg-accent"><!>I'd decide
2
- differently</a> <a class="inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground"><!>Chat about this</a></div></li>`),Zt=m('<li class="scroll-mt-20"><details class="group rounded-lg border bg-card open:shadow-sm"><summary class="flex cursor-pointer list-none gap-3 p-4 [&amp;::-webkit-details-marker]:hidden"><span class="mt-0.5 grid size-7 shrink-0 place-items-center rounded-full bg-muted text-foreground/70" aria-hidden="true"><!></span> <div class="min-w-0 flex-1"><p class="flex flex-wrap items-baseline gap-x-2 text-sm"><span class="font-medium whitespace-nowrap"> </span> <span class="text-muted-foreground">·</span> <span class="min-w-0 truncate"> </span> <!></p> <p class="mt-1.5 line-clamp-2 text-sm text-muted-foreground"> <!></p></div> <div class="flex shrink-0 flex-col items-end gap-1 text-xs text-muted-foreground"><span class="tabular-nums"> </span> <span> </span></div> <!></summary> <div class="border-t px-4 pt-3 pb-4 sm:pl-14"><ol class="space-y-5"></ol> <p class="mt-4 text-xs text-muted-foreground"> </p></div></details></li>'),Bt=m('<h2 class="mt-8 mb-3 text-xs font-medium text-muted-foreground"> </h2> <ol class="space-y-3"></ol>',1),Gt=m('<div class="mt-6 flex flex-wrap items-center gap-2" role="radiogroup" aria-label="Filter"><!> <span class="ml-auto text-xs text-muted-foreground"> </span></div> <!>',1),Jt=m(`<main class="px-4 py-6 sm:px-6 lg:px-10"><div class="surface px-5 py-6 sm:px-8 sm:py-8"><!> <h1 class="mt-6 text-2xl">Decided for you</h1> <p class="mt-1 max-w-prose text-sm text-muted-foreground">Questions the automated review raised that Firstmate answered on your behalf, so the work did
3
- not wait. If you would have called one differently, say so and Firstmate will look at it
4
- again.</p> <!></div></main>`);function ma(h,v){mt(v,!0);const _={"Fix it":zt,"Keep as is":$e,"No change":$e,Defer:qt,Mixed:Nt,Decided:St},g=["All","Fix it","Keep as is","No change","Defer"];let z=_t("All");const q=$(()=>v.data.view.decisions),ke=(t,i)=>i==="All"||t.verdict===i||t.calls.some(w=>w.verdict===i),P=$(()=>e(q).filter(t=>ke(t,e(z)))),Ie=$(()=>Dt(e(P),t=>t.decidedAt,Date.now())),De=$(()=>kt.url.hash.slice(1)),Ce=t=>t==="test"?"automated tests":t==="ci"?"CI":"automated review",ze=t=>t.length>90?t.slice(0,87).trimEnd()+"…":t,X=(t,i)=>`/?chat=${encodeURIComponent(t.taskId)}${i?`&draft=${encodeURIComponent(i)}`:""}`,Ae=t=>{const i=(Date.parse(t.decidedAt)-Date.parse(t.askedAt))/1e3;return i<60?"within a minute":`${It(i)} later`};var T=Jt();wt("95cwzc",t=>{ut(()=>{xt.title="Decided for you · Wheelhouse"})});var Y=n(T),ee=n(Y);Ct(ee,{});var Fe=a(ee,6);{var Me=t=>{var i=jt(),w=l(i,!0);x(()=>d(w,v.data.view.reason)),c(t,i)},Se=t=>{var i=Et();c(t,i)},qe=t=>{var i=Gt(),w=ge(i),te=n(w);M(te,16,()=>g,b=>b,(b,y)=>{var f=Kt(),L=l(f,!0);x(()=>{S(f,"aria-checked",e(z)===y),be(f,1,`rounded-full border px-3 py-1 text-sm ${e(z)===y?"border-foreground/30 bg-accent font-medium":"text-muted-foreground hover:text-foreground"}`),d(L,y)}),ft("click",f,()=>ht(z,y,!0)),c(b,f)});var Te=a(te,2),Le=l(Te);r(w);var Ne=a(w,2);M(Ne,17,()=>e(Ie),([b,y])=>b,(b,y)=>{var f=$(()=>gt(e(y),2));let L=()=>e(f)[0],He=()=>e(f)[1];var ae=Bt(),re=ge(ae),Re=l(re,!0),se=a(re,2);M(se,21,He,N=>N.id,(N,o)=>{const je=$(()=>_[e(o).verdict]);var A=Zt(),H=n(A),R=n(H),j=n(R),Ee=n(j);$t(Ee,()=>e(je),(p,s)=>{s(p,{class:"size-3.5"})}),r(j);var E=a(j,2),K=n(E),oe=n(K),Ke=l(oe,!0),ne=a(oe,4),Ue=l(ne,!0),Ve=a(ne,2);{var Oe=p=>{var s=Ut(),u=l(s,!0);x(()=>d(u,e(o).projectId)),c(p,s)};C(Ve,p=>{e(o).projectId&&p(Oe)})}r(K);var de=a(K,2),ie=n(de,!0),Qe=a(ie);{var We=p=>{var s=Vt(),u=l(s,!0);x(()=>d(u,` and ${e(o).calls.length-1} more`)),c(p,s)};C(Qe,p=>{e(o).calls.length>1&&p(We)})}r(de),r(E);var U=a(E,2),le=n(U),Ze=l(le,!0),pe=a(le,2),Be=l(pe,!0);r(U);var Ge=a(U,2);Ft(Ge,{class:"mt-1 size-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180","aria-hidden":"true"}),r(R);var ce=a(R,2),V=n(ce);M(V,21,()=>e(o).calls,bt,(p,s)=>{var u=Wt(),me=n(u),Xe=l(me),ve=a(me,2),Ye=l(ve,!0),O=a(ve,2),Q=n(O),et=a(n(Q)),tt=l(et,!0);r(Q);var ue=a(Q,2),xe=n(ue,!0),at=a(xe),rt=l(at,!0);r(ue),r(O);var fe=a(O,2);{var st=k=>{var I=Qt(),D=a(n(I),2),dt=n(D);At(dt,{get text(){return e(s).detail}}),r(D);var it=a(D,2);{var lt=Z=>{var _e=Ot(),pt=l(_e,!0);x(()=>d(pt,e(s).file)),c(Z,_e)};C(it,Z=>{e(s).file&&Z(lt)})}r(I),c(k,I)};C(fe,k=>{e(s).detail&&e(s).detail!==e(s).question&&k(st)})}var he=a(fe,2),F=n(he),ot=n(F);Rt(ot,{class:"size-3.5","aria-hidden":"true"}),we(),r(F);var W=a(F,2),nt=n(W);Mt(nt,{class:"size-3.5","aria-hidden":"true"}),we(),r(W),r(he),r(u),x((k,I,D)=>{d(Xe,`Raised in ${k??""}${e(s).serious?" · marked serious":""}`),d(Ye,e(s).question),d(tt,e(s).verdict),d(xe,e(s).reason||"No reason was recorded."),d(rt,e(o).answerCut?" (the rest of the answer was not kept)":""),S(F,"href",I),S(W,"href",D)},[()=>Ce(e(o).step),()=>X(e(o),`I'd decide differently on "${ze(e(s).question)}" (Firstmate's call: ${e(s).verdict}). `),()=>X(e(o),"")]),c(p,u)}),r(V);var Je=a(V,2),Pe=l(Je);r(ce),r(H),r(A),x((p,s,u)=>{S(A,"id",e(o).id),H.open=e(De)===e(o).id,d(Ke,e(o).verdict),d(Ue,e(o).taskTitle),d(ie,e(o).calls[0].question),d(Ze,p),be(pe,1,yt(e(o).landed?"":"text-sea")),d(Be,e(o).landed?"Landed":"Not landed"),d(Pe,`Asked ${s??""}, decided ${u??""}.
5
- ${e(o).landed?"This has landed, so a different call would be a follow-up change.":"The work has not landed, so a different call can still go into it."}`)},[()=>ye(e(o).decidedAt),()=>ye(e(o).askedAt),()=>Ae(e(o))]),c(N,A)}),r(se),x(()=>d(Re,L())),c(b,ae)}),x(()=>d(Le,`${e(P).length??""} of ${e(q).length??""}`)),c(t,i)};C(Fe,t=>{v.data.view.available?e(q).length===0?t(Se,1):t(qe,-1):t(Me)})}r(Y),r(T),c(h,T),vt()}ct(["click"]);export{ma as component};
@@ -1 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{k as H,p as I,x as J,a as i,b as K,e as L,i as l,c as u,$ as M,g as e,n as w,r as m,s as f,h as D,o as x,t as q,d as h,j as N,f as S}from"../chunks/BJ_s8GdZ.js";import{i as z}from"../chunks/CD3hbDYc.js";import{h as O}from"../chunks/DfDxKk91.js";import{r as P}from"../chunks/CwwFbl61.js";import{D as Q}from"../chunks/CrjvgIhR.js";import{A as U}from"../chunks/C3Yi7wCu.js";import{F as V}from"../chunks/DNgh8jh8.js";var X=u('<p class="flex items-center gap-2 font-display text-[1.05rem] tracking-[0.1em] text-muted-foreground [font-variant-caps:all-small-caps]"><!>Document</p> <h1 id="doc-title" class="mt-2 text-[2.4rem] leading-[1.15] text-balance"> </h1> <p class="mt-3 font-mono text-xs break-all text-muted-foreground" data-doc-source=""> </p>',1),Y=u('<p class="mt-8 text-sm text-muted-foreground">This document is long, so only its start is shown here.</p>'),Z=u('<p class="mt-3 font-mono text-xs break-all text-muted-foreground"> </p>'),$=u('<div class="max-w-[70ch] px-5 py-10 sm:px-8"><p class="font-medium">This document cannot be shown</p> <p class="mt-1 text-sm text-muted-foreground"> </p> <!></div>'),ee=u('<main class="px-4 pt-6 pb-20 sm:px-6 lg:px-10"><div class="surface overflow-hidden"><div class="flex flex-wrap items-center gap-x-4 gap-y-2 border-b border-hair bg-panel px-5 py-3 text-sm sm:px-8"><a href="/" class="inline-flex items-center gap-1.5 text-muted-foreground hover:text-foreground"><!>Back</a> <span class="ml-auto text-xs text-muted-foreground">Read only</span></div> <!></div></main>');function le(T,c){I(c,!0);const a=D(()=>c.data.doc),A=D(()=>e(a)?e(a).markdown.replace(/^(?:---\n[\s\S]*?\n---\n)?\s*#\s+(.+)\n/,(t,s)=>s.trim()===e(a).title?"":t):"");function j(t){history.length>1&&(t.preventDefault(),history.back())}var _=ee();O("5hf2uo",t=>{L(()=>{M.title=`${e(a)?.title??"Document"??""} · Wheelhouse`})});var F=l(_),g=l(F),b=l(g),B=l(b);U(B,{class:"size-4","aria-hidden":"true"}),w(),m(b),w(2),m(g);var R=f(g,2);{var W=t=>{{const s=p=>{var n=X(),r=S(n),d=l(r);V(d,{class:"size-4","aria-hidden":"true"}),w(),m(r);var o=f(r,2),y=x(o,!0),E=f(o,2),G=x(E,!0);q(()=>{h(y,e(a).title),h(G,e(a).shown)}),i(p,n)},v=p=>{var n=N(),r=S(n);{var d=o=>{var y=Y();i(o,y)};z(r,o=>{e(a).truncated&&o(d)})}i(p,n)};let k=D(()=>P(e(A),e(a).path));Q(t,{get html(){return e(k)},get text(){return e(A)},header:s,footer:v,$$slots:{header:!0,footer:!0}})}},C=t=>{var s=$(),v=f(l(s),2),k=x(v,!0),p=f(v,2);{var n=r=>{var d=Z(),o=x(d,!0);q(()=>h(o,c.data.requested)),i(r,d)};z(p,r=>{c.data.requested&&r(n)})}m(s),q(()=>h(k,c.data.problem)),i(t,s)};z(R,t=>{e(a)?t(W):t(C,-1)})}m(F),m(_),J("click",b,j),i(T,_),K()}H(["click"]);export{le as component};