@chrisjowen/wheelhouse 0.1.1 → 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 (968) hide show
  1. package/README.md +36 -31
  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/assets/DocSheet.CaO2v_qh.css +1 -0
  6. package/build/client/_app/immutable/assets/DocSheet.CaO2v_qh.css.br +0 -0
  7. package/build/client/_app/immutable/assets/DocSheet.CaO2v_qh.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/-F7frqRp.js +1 -0
  9. package/build/client/_app/immutable/chunks/-F7frqRp.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/-F7frqRp.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/127nenIp.js +1 -0
  12. package/build/client/_app/immutable/chunks/127nenIp.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/127nenIp.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/2Frsddx8.js +1 -0
  15. package/build/client/_app/immutable/chunks/2Frsddx8.js.br +2 -0
  16. package/build/client/_app/immutable/chunks/2Frsddx8.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/4nLjU3dc.js +1 -0
  18. package/build/client/_app/immutable/chunks/4nLjU3dc.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/4nLjU3dc.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/6IjAKxKZ.js +1 -0
  21. package/build/client/_app/immutable/chunks/6IjAKxKZ.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/6IjAKxKZ.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/6JIb870c.js +1 -0
  24. package/build/client/_app/immutable/chunks/6JIb870c.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/6JIb870c.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/B8szyIrI.js +1 -0
  27. package/build/client/_app/immutable/chunks/B8szyIrI.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/B8szyIrI.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BDL2L18I.js +1 -0
  30. package/build/client/_app/immutable/chunks/BDL2L18I.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BDL2L18I.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BJ_boZ6o.js +1 -0
  33. package/build/client/_app/immutable/chunks/BJ_boZ6o.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BJ_boZ6o.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BMOWf_e5.js +1 -0
  36. package/build/client/_app/immutable/chunks/BMOWf_e5.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BMOWf_e5.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js +6 -0
  39. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BOOJ9_kJ.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BPEcp4vD.js +1 -0
  42. package/build/client/_app/immutable/chunks/BPEcp4vD.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BPEcp4vD.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/BTcSoYfa.js +1 -0
  45. package/build/client/_app/immutable/chunks/BTcSoYfa.js.br +2 -0
  46. package/build/client/_app/immutable/chunks/BTcSoYfa.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BVXUMEgB.js +1 -0
  48. package/build/client/_app/immutable/chunks/BVXUMEgB.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BVXUMEgB.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/BV_Ro843.js +1 -0
  51. package/build/client/_app/immutable/chunks/BV_Ro843.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/BV_Ro843.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/BboI5NX2.js +1 -0
  54. package/build/client/_app/immutable/chunks/BboI5NX2.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/BboI5NX2.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/BkLV0FAz.js +1 -0
  57. package/build/client/_app/immutable/chunks/BkLV0FAz.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/BkLV0FAz.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/BnqQNG8I.js +1 -0
  60. package/build/client/_app/immutable/chunks/BnqQNG8I.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/BnqQNG8I.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/Bo3sLJjL.js +3 -0
  63. package/build/client/_app/immutable/chunks/Bo3sLJjL.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/Bo3sLJjL.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/Bpgn0RyM.js +1 -0
  66. package/build/client/_app/immutable/chunks/Bpgn0RyM.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/Bpgn0RyM.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/BrGclueo.js +1 -0
  69. package/build/client/_app/immutable/chunks/BrGclueo.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/BrGclueo.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/C-Ka3szt.js +1 -0
  72. package/build/client/_app/immutable/chunks/C-Ka3szt.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/C-Ka3szt.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/C-YySHlv.js +1 -0
  75. package/build/client/_app/immutable/chunks/C-YySHlv.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/C-YySHlv.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/C27rbWKB.js +1 -0
  78. package/build/client/_app/immutable/chunks/C27rbWKB.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/C27rbWKB.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/CA1hL-S6.js +1 -0
  81. package/build/client/_app/immutable/chunks/CA1hL-S6.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/CA1hL-S6.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/CFdPbSqS.js +1 -0
  84. package/build/client/_app/immutable/chunks/CFdPbSqS.js.br +1 -0
  85. package/build/client/_app/immutable/chunks/CFdPbSqS.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/CJGygju8.js +1 -0
  87. package/build/client/_app/immutable/chunks/CJGygju8.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/CJGygju8.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/CLdaRjQZ.js +1 -0
  90. package/build/client/_app/immutable/chunks/CLdaRjQZ.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/CLdaRjQZ.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/CS3TvEHF.js +1 -0
  93. package/build/client/_app/immutable/chunks/CS3TvEHF.js.br +0 -0
  94. package/build/client/_app/immutable/chunks/CS3TvEHF.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/CSfYMiqF.js +8 -0
  96. package/build/client/_app/immutable/chunks/CSfYMiqF.js.br +0 -0
  97. package/build/client/_app/immutable/chunks/CSfYMiqF.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/CW_pu1E1.js +1 -0
  99. package/build/client/_app/immutable/chunks/CW_pu1E1.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/CW_pu1E1.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/CZPeboo-.js +1 -0
  102. package/build/client/_app/immutable/chunks/CZPeboo-.js.br +0 -0
  103. package/build/client/_app/immutable/chunks/CZPeboo-.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/CZYAayp0.js +2 -0
  105. package/build/client/_app/immutable/chunks/CZYAayp0.js.br +0 -0
  106. package/build/client/_app/immutable/chunks/CZYAayp0.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/Cap_NU8Z.js +1 -0
  108. package/build/client/_app/immutable/chunks/Cap_NU8Z.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/Cap_NU8Z.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js +1 -0
  111. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/Cf6ZwSDE.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/Ch8_zhFw.js +1 -0
  114. package/build/client/_app/immutable/chunks/Ch8_zhFw.js.br +0 -0
  115. package/build/client/_app/immutable/chunks/Ch8_zhFw.js.gz +0 -0
  116. package/build/client/_app/immutable/chunks/Cjji8YKo.js +1 -0
  117. package/build/client/_app/immutable/chunks/Cjji8YKo.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/Cjji8YKo.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/Ckfspn2s.js +1 -0
  120. package/build/client/_app/immutable/chunks/Ckfspn2s.js.br +0 -0
  121. package/build/client/_app/immutable/chunks/Ckfspn2s.js.gz +0 -0
  122. package/build/client/_app/immutable/chunks/Cl72MTSX.js +1 -0
  123. package/build/client/_app/immutable/chunks/Cl72MTSX.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/Cl72MTSX.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/CpkLqQ7l.js +1 -0
  126. package/build/client/_app/immutable/chunks/CpkLqQ7l.js.br +0 -0
  127. package/build/client/_app/immutable/chunks/CpkLqQ7l.js.gz +0 -0
  128. package/build/client/_app/immutable/chunks/Crzhp-x5.js +5 -0
  129. package/build/client/_app/immutable/chunks/Crzhp-x5.js.br +0 -0
  130. package/build/client/_app/immutable/chunks/Crzhp-x5.js.gz +0 -0
  131. package/build/client/_app/immutable/chunks/Cwah_dMw.js +1 -0
  132. package/build/client/_app/immutable/chunks/Cwah_dMw.js.br +0 -0
  133. package/build/client/_app/immutable/chunks/Cwah_dMw.js.gz +0 -0
  134. package/build/client/_app/immutable/chunks/CzsfD4hc.js +1 -0
  135. package/build/client/_app/immutable/chunks/CzsfD4hc.js.br +2 -0
  136. package/build/client/_app/immutable/chunks/CzsfD4hc.js.gz +0 -0
  137. package/build/client/_app/immutable/chunks/D32oVJ_N.js +1 -0
  138. package/build/client/_app/immutable/chunks/D32oVJ_N.js.br +1 -0
  139. package/build/client/_app/immutable/chunks/D32oVJ_N.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/D4sWXBG7.js +1 -0
  141. package/build/client/_app/immutable/chunks/D4sWXBG7.js.br +0 -0
  142. package/build/client/_app/immutable/chunks/D4sWXBG7.js.gz +0 -0
  143. package/build/client/_app/immutable/chunks/DBs-gHlm.js +2 -0
  144. package/build/client/_app/immutable/chunks/DBs-gHlm.js.br +0 -0
  145. package/build/client/_app/immutable/chunks/DBs-gHlm.js.gz +0 -0
  146. package/build/client/_app/immutable/chunks/DEFXAgPm.js +1 -0
  147. package/build/client/_app/immutable/chunks/DEFXAgPm.js.br +0 -0
  148. package/build/client/_app/immutable/chunks/DEFXAgPm.js.gz +0 -0
  149. package/build/client/_app/immutable/chunks/DHbme8uq.js +1 -0
  150. package/build/client/_app/immutable/chunks/DHbme8uq.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/DHbme8uq.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/DMkU8x7K.js +1 -0
  153. package/build/client/_app/immutable/chunks/DMkU8x7K.js.br +0 -0
  154. package/build/client/_app/immutable/chunks/DMkU8x7K.js.gz +0 -0
  155. package/build/client/_app/immutable/chunks/DRIYWZlo.js +1 -0
  156. package/build/client/_app/immutable/chunks/DRIYWZlo.js.br +1 -0
  157. package/build/client/_app/immutable/chunks/DRIYWZlo.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/DUCO61Nb.js +1 -0
  159. package/build/client/_app/immutable/chunks/DUCO61Nb.js.br +0 -0
  160. package/build/client/_app/immutable/chunks/DUCO61Nb.js.gz +0 -0
  161. package/build/client/_app/immutable/chunks/DXz8WA1c.js +1 -0
  162. package/build/client/_app/immutable/chunks/DXz8WA1c.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/DXz8WA1c.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/D_4WLGwX.js +1 -0
  165. package/build/client/_app/immutable/chunks/D_4WLGwX.js.br +0 -0
  166. package/build/client/_app/immutable/chunks/D_4WLGwX.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/D_5WjoQx.js +1 -0
  168. package/build/client/_app/immutable/chunks/D_5WjoQx.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/D_5WjoQx.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js +1 -0
  171. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/D_C2ZtkZ.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/De5PDvrQ.js +1 -0
  174. package/build/client/_app/immutable/chunks/De5PDvrQ.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/De5PDvrQ.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/DhWdMQ8J.js +1 -0
  177. package/build/client/_app/immutable/chunks/DhWdMQ8J.js.br +0 -0
  178. package/build/client/_app/immutable/chunks/DhWdMQ8J.js.gz +0 -0
  179. package/build/client/_app/immutable/chunks/DiCw6gM6.js +1 -0
  180. package/build/client/_app/immutable/chunks/DiCw6gM6.js.br +0 -0
  181. package/build/client/_app/immutable/chunks/DiCw6gM6.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/DugIbHkD.js +1 -0
  183. package/build/client/_app/immutable/chunks/DugIbHkD.js.br +0 -0
  184. package/build/client/_app/immutable/chunks/DugIbHkD.js.gz +0 -0
  185. package/build/client/_app/immutable/chunks/JhgT3vN-.js +1 -0
  186. package/build/client/_app/immutable/chunks/JhgT3vN-.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/JhgT3vN-.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/KA4C2mxd.js +1 -0
  189. package/build/client/_app/immutable/chunks/KA4C2mxd.js.br +0 -0
  190. package/build/client/_app/immutable/chunks/KA4C2mxd.js.gz +0 -0
  191. package/build/client/_app/immutable/chunks/MoZXz26A.js +2 -0
  192. package/build/client/_app/immutable/chunks/MoZXz26A.js.br +0 -0
  193. package/build/client/_app/immutable/chunks/MoZXz26A.js.gz +0 -0
  194. package/build/client/_app/immutable/chunks/PMi1c_Z5.js +2 -0
  195. package/build/client/_app/immutable/chunks/PMi1c_Z5.js.br +0 -0
  196. package/build/client/_app/immutable/chunks/PMi1c_Z5.js.gz +0 -0
  197. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js +1 -0
  198. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js.br +0 -0
  199. package/build/client/_app/immutable/chunks/Pd3Oo-LF.js.gz +0 -0
  200. package/build/client/_app/immutable/chunks/RXXzt1fg.js +1 -0
  201. package/build/client/_app/immutable/chunks/RXXzt1fg.js.br +0 -0
  202. package/build/client/_app/immutable/chunks/RXXzt1fg.js.gz +0 -0
  203. package/build/client/_app/immutable/chunks/WfixpLtG.js +1 -0
  204. package/build/client/_app/immutable/chunks/WfixpLtG.js.br +2 -0
  205. package/build/client/_app/immutable/chunks/WfixpLtG.js.gz +0 -0
  206. package/build/client/_app/immutable/chunks/YB3ysJRI.js +1 -0
  207. package/build/client/_app/immutable/chunks/YB3ysJRI.js.br +0 -0
  208. package/build/client/_app/immutable/chunks/YB3ysJRI.js.gz +0 -0
  209. package/build/client/_app/immutable/chunks/YUajk67G.js +1 -0
  210. package/build/client/_app/immutable/chunks/YUajk67G.js.br +0 -0
  211. package/build/client/_app/immutable/chunks/YUajk67G.js.gz +0 -0
  212. package/build/client/_app/immutable/chunks/a2ZeDrXd.js +1 -0
  213. package/build/client/_app/immutable/chunks/a2ZeDrXd.js.br +0 -0
  214. package/build/client/_app/immutable/chunks/a2ZeDrXd.js.gz +0 -0
  215. package/build/client/_app/immutable/chunks/cZnJ0mAm.js +7 -0
  216. package/build/client/_app/immutable/chunks/cZnJ0mAm.js.br +0 -0
  217. package/build/client/_app/immutable/chunks/cZnJ0mAm.js.gz +0 -0
  218. package/build/client/_app/immutable/chunks/is3b6W5i.js +1 -0
  219. package/build/client/_app/immutable/chunks/is3b6W5i.js.br +0 -0
  220. package/build/client/_app/immutable/chunks/is3b6W5i.js.gz +0 -0
  221. package/build/client/_app/immutable/chunks/kM8ObZQs.js +62 -0
  222. package/build/client/_app/immutable/chunks/kM8ObZQs.js.br +0 -0
  223. package/build/client/_app/immutable/chunks/kM8ObZQs.js.gz +0 -0
  224. package/build/client/_app/immutable/chunks/qep4C0YL.js +2 -0
  225. package/build/client/_app/immutable/chunks/qep4C0YL.js.br +0 -0
  226. package/build/client/_app/immutable/chunks/qep4C0YL.js.gz +0 -0
  227. package/build/client/_app/immutable/chunks/sSJbwAI9.js +1 -0
  228. package/build/client/_app/immutable/chunks/sSJbwAI9.js.br +0 -0
  229. package/build/client/_app/immutable/chunks/sSJbwAI9.js.gz +0 -0
  230. package/build/client/_app/immutable/chunks/vAxbu4w9.js +1 -0
  231. package/build/client/_app/immutable/chunks/vAxbu4w9.js.br +0 -0
  232. package/build/client/_app/immutable/chunks/vAxbu4w9.js.gz +0 -0
  233. package/build/client/_app/immutable/chunks/zfjlAER1.js +1 -0
  234. package/build/client/_app/immutable/chunks/zfjlAER1.js.br +0 -0
  235. package/build/client/_app/immutable/chunks/zfjlAER1.js.gz +0 -0
  236. package/build/client/_app/immutable/chunks/zrknQfzW.js +1 -0
  237. package/build/client/_app/immutable/chunks/zrknQfzW.js.br +0 -0
  238. package/build/client/_app/immutable/chunks/zrknQfzW.js.gz +0 -0
  239. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js +2 -0
  240. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js.br +0 -0
  241. package/build/client/_app/immutable/entry/app.BVW8a1Lc.js.gz +0 -0
  242. package/build/client/_app/immutable/entry/start.DfAhzzBh.js +1 -0
  243. package/build/client/_app/immutable/entry/start.DfAhzzBh.js.br +0 -0
  244. package/build/client/_app/immutable/entry/start.DfAhzzBh.js.gz +0 -0
  245. package/build/client/_app/immutable/nodes/0.CByWY48H.js +8 -0
  246. package/build/client/_app/immutable/nodes/0.CByWY48H.js.br +0 -0
  247. package/build/client/_app/immutable/nodes/0.CByWY48H.js.gz +0 -0
  248. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js +1 -0
  249. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js.br +0 -0
  250. package/build/client/_app/immutable/nodes/1.BQxkVmZR.js.gz +0 -0
  251. package/build/client/_app/immutable/nodes/10.DF_JvWer.js +3 -0
  252. package/build/client/_app/immutable/nodes/10.DF_JvWer.js.br +0 -0
  253. package/build/client/_app/immutable/nodes/10.DF_JvWer.js.gz +0 -0
  254. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js +1 -0
  255. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js.br +0 -0
  256. package/build/client/_app/immutable/nodes/11.Da20qmQ1.js.gz +0 -0
  257. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js +14 -0
  258. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js.br +0 -0
  259. package/build/client/_app/immutable/nodes/12.DeNfg3Jn.js.gz +0 -0
  260. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js +150 -0
  261. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js.br +0 -0
  262. package/build/client/_app/immutable/nodes/13.Vg3b6KJ-.js.gz +0 -0
  263. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js +11 -0
  264. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js.br +0 -0
  265. package/build/client/_app/immutable/nodes/15.DNQBbVNt.js.gz +0 -0
  266. package/build/client/_app/immutable/nodes/16.PXR5gryE.js +9 -0
  267. package/build/client/_app/immutable/nodes/16.PXR5gryE.js.br +0 -0
  268. package/build/client/_app/immutable/nodes/16.PXR5gryE.js.gz +0 -0
  269. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js +2 -0
  270. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js.br +0 -0
  271. package/build/client/_app/immutable/nodes/17.D6wwTzw0.js.gz +0 -0
  272. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js +6 -0
  273. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js.br +0 -0
  274. package/build/client/_app/immutable/nodes/18.BYPKt-Zj.js.gz +0 -0
  275. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js +1 -0
  276. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js.br +0 -0
  277. package/build/client/_app/immutable/nodes/19.eOj7WL-z.js.gz +0 -0
  278. package/build/client/_app/immutable/nodes/2.iGkQWI53.js +14 -0
  279. package/build/client/_app/immutable/nodes/2.iGkQWI53.js.br +0 -0
  280. package/build/client/_app/immutable/nodes/2.iGkQWI53.js.gz +0 -0
  281. package/build/client/_app/immutable/nodes/20.COEvYhSn.js +6 -0
  282. package/build/client/_app/immutable/nodes/20.COEvYhSn.js.br +0 -0
  283. package/build/client/_app/immutable/nodes/20.COEvYhSn.js.gz +0 -0
  284. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js +5 -0
  285. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js.br +0 -0
  286. package/build/client/_app/immutable/nodes/3.DgV1VyBd.js.gz +0 -0
  287. package/build/client/_app/immutable/nodes/4.BFV94RXa.js +1 -0
  288. package/build/client/_app/immutable/nodes/4.BFV94RXa.js.br +0 -0
  289. package/build/client/_app/immutable/nodes/4.BFV94RXa.js.gz +0 -0
  290. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js +1 -0
  291. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js.br +0 -0
  292. package/build/client/_app/immutable/nodes/5.DXQSdCv2.js.gz +0 -0
  293. package/build/client/_app/immutable/nodes/6.BVvx9mug.js +7 -0
  294. package/build/client/_app/immutable/nodes/6.BVvx9mug.js.br +0 -0
  295. package/build/client/_app/immutable/nodes/6.BVvx9mug.js.gz +0 -0
  296. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js +4 -0
  297. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/7.bgzyRDkn.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js +1 -0
  300. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js.br +0 -0
  301. package/build/client/_app/immutable/nodes/9.BjRlvbf0.js.gz +0 -0
  302. package/build/client/_app/version.json +1 -1
  303. package/build/client/_app/version.json.br +0 -0
  304. package/build/client/_app/version.json.gz +0 -0
  305. package/build/handler.js +7 -7
  306. package/build/index.js +7 -7
  307. package/build/server/chunks/chunks/AllowanceMeter.js-DBpmESX6.js +42 -0
  308. package/build/server/chunks/chunks/DecisionCard.js-CvR7ULLC.js +461 -0
  309. package/build/server/chunks/chunks/DocSheet.js-BPPDMi3P.js +50 -0
  310. package/build/server/chunks/chunks/EtaLine.js-CtcOSLzV.js +79 -0
  311. package/build/server/chunks/chunks/EveryProjectSwitch.js-DWet6DU1.js +200 -0
  312. package/build/server/chunks/chunks/Icon.js-CVZZ-yuB.js +129 -0
  313. package/build/server/chunks/chunks/InsightsNav.js-Cmn5y1to.js +18 -0
  314. package/build/server/chunks/chunks/InstallPlugin.js-B46b-IrK.js +45 -0
  315. package/build/server/chunks/chunks/LinkedText.js-COjHV297.js +43 -0
  316. package/build/server/chunks/chunks/ProjectBanner.js-19PQF0LD.js +111 -0
  317. package/build/server/chunks/chunks/ProjectStateMark.js-BkRD8cX4.js +61 -0
  318. package/build/server/chunks/chunks/QuestionList.js-CppuauNj.js +187 -0
  319. package/build/server/chunks/chunks/ResizableRail.js-BmMh1aVL.js +801 -0
  320. package/build/server/chunks/chunks/SettingsNav.js-BtJIv5cc.js +22 -0
  321. package/build/server/chunks/chunks/SlotContent.js-B4p1QLQN.js +748 -0
  322. package/build/server/chunks/chunks/StageTrack.js-DHvZX7Bl.js +111 -0
  323. package/build/server/chunks/chunks/TimeBar.js-CUFKEJW9.js +32 -0
  324. package/build/server/chunks/chunks/TimeLegend.js-B3Wl61jM.js +29 -0
  325. package/build/server/chunks/chunks/aliases.svelte.js-C_vCoKdk.js +138 -0
  326. package/build/server/chunks/chunks/arrow-down.js-Bt3fQooI.js +18 -0
  327. package/build/server/chunks/chunks/arrow-left.js-BKiSMzvI.js +18 -0
  328. package/build/server/chunks/chunks/arrow-right.js-CNYqcx0M.js +18 -0
  329. package/build/server/chunks/chunks/arrow-up.js-DHbXk79z.js +18 -0
  330. package/build/server/chunks/chunks/attachments.js-BAnnqpd-.js +48 -0
  331. package/build/server/chunks/chunks/bell.js-CXJp-3UZ.js +150 -0
  332. package/build/server/chunks/chunks/berths.js-CuAE9lHW.js +268 -0
  333. package/build/server/chunks/chunks/book-open.js-C2rohN3N.js +23 -0
  334. package/build/server/chunks/chunks/button.js-BF2PsvWw.js +7311 -0
  335. package/build/server/chunks/chunks/chat.svelte.js-b0uQXOge.js +545 -0
  336. package/build/server/chunks/chunks/check.js-32sYHVxG.js +15 -0
  337. package/build/server/chunks/chunks/checks.js-DR3fVVpO.js +242 -0
  338. package/build/server/chunks/chunks/chevron-down.js-CH53s_me.js +15 -0
  339. package/build/server/chunks/chunks/chevron-left.js-D5RHY-kD.js +15 -0
  340. package/build/server/chunks/chunks/chevron-right.js-DCBAqAae.js +15 -0
  341. package/build/server/chunks/chunks/circle-alert.js-XTuAj7ZH.js +23 -0
  342. package/build/server/chunks/chunks/circle-dashed.js-fXv_bIo-.js +24 -0
  343. package/build/server/chunks/chunks/circle-dot.js-C950Kosw.js +18 -0
  344. package/build/server/chunks/chunks/client.js-B_5mNqUe.js +24 -0
  345. package/build/server/chunks/chunks/clock.js-CHhHTWK_.js +18 -0
  346. package/build/server/chunks/chunks/detail.js-9VHqIqfd.js +121 -0
  347. package/build/server/chunks/chunks/docpath.js-D27w_pf9.js +47 -0
  348. package/build/server/chunks/chunks/external-link.js-BQs1euhR.js +24 -0
  349. package/build/server/chunks/chunks/file-text.js-CnuVvHlB.js +26 -0
  350. package/build/server/chunks/chunks/gauge.js-Cbb1aqE7.js +35 -0
  351. package/build/server/chunks/chunks/hand.js-BA9yKAan.js +25 -0
  352. package/build/server/chunks/chunks/harbour.js-PHLHOFea.js +117 -0
  353. package/build/server/chunks/chunks/html.js-FW6Ia4bL.js +8 -0
  354. package/build/server/chunks/chunks/http.js-CBM8xgUM.js +25 -0
  355. package/build/server/chunks/chunks/inbox.js-Dv8a1ecX.js +184 -0
  356. package/build/server/chunks/chunks/inbox.svelte.js-n7K3YnGB.js +171 -0
  357. package/build/server/chunks/chunks/index-server.js-DsObimPA.js +9 -0
  358. package/build/server/chunks/chunks/index-server2.js-Fb2GE8KQ.js +17 -0
  359. package/build/server/chunks/chunks/index.js-B0NFhRTN.js +1524 -0
  360. package/build/server/chunks/chunks/index2.js-Bxt1T6_K.js +46 -0
  361. package/build/server/chunks/chunks/internal.js-CxWYnS4m.js +146 -0
  362. package/build/server/chunks/chunks/keys.js-iHygUPeb.js +20 -0
  363. package/build/server/chunks/chunks/live.svelte.js-DavJCZVs.js +238 -0
  364. package/build/server/chunks/chunks/loader-circle.js-rQHvIWN7.js +16 -0
  365. package/build/server/chunks/chunks/markdown.js-CApgGpeX.js +2634 -0
  366. package/build/server/chunks/chunks/message-circle-question-mark.js-DbmaS9k_.js +25 -0
  367. package/build/server/chunks/chunks/message-square.js-XK15WVZq.js +22 -0
  368. package/build/server/chunks/chunks/messages-square.js-BXH8BHfd.js +28 -0
  369. package/build/server/chunks/chunks/minus.js-DKvkj8VD.js +15 -0
  370. package/build/server/chunks/chunks/nav.js-DwnXJgxd.js +29 -0
  371. package/build/server/chunks/chunks/plus.js-caVrjGZc.js +15 -0
  372. package/build/server/chunks/chunks/preview.js-hrimfbCG.js +69 -0
  373. package/build/server/chunks/chunks/pullrequests.js-CWGxTy8C.js +68 -0
  374. package/build/server/chunks/chunks/pullrequests2.js-CCzk2sqm.js +12 -0
  375. package/build/server/chunks/chunks/repo.js-DU-pK5Nw.js +33 -0
  376. package/build/server/chunks/chunks/requests.js-DiL4Poa9.js +42 -0
  377. package/build/server/chunks/chunks/restart.js-Dv1_ODgZ.js +12 -0
  378. package/build/server/chunks/chunks/root.js-60iebdW4.js +3105 -0
  379. package/build/server/chunks/chunks/rotate-cw.js-M4SHOpYI.js +21 -0
  380. package/build/server/chunks/chunks/runtime.js-4msnOWzY.js +15335 -0
  381. package/build/server/chunks/chunks/scale.js-S5g8YUqL.js +21 -0
  382. package/build/server/chunks/chunks/scroll-lock.js-Ci_ylINL.js +2811 -0
  383. package/build/server/chunks/chunks/service.js-DZR6CoEI.js +914 -0
  384. package/build/server/chunks/chunks/settings.js-C_6kvzhM.js +862 -0
  385. package/build/server/chunks/chunks/slots.svelte.js-CLIV5nwM.js +34 -0
  386. package/build/server/chunks/chunks/square-terminal.js-D9D9_9_V.js +30 -0
  387. package/build/server/chunks/chunks/store.js-ByNV-OHV.js +323 -0
  388. package/build/server/chunks/chunks/tone.js-Dxsl-adt.js +31 -0
  389. package/build/server/chunks/chunks/triangle-alert.js-ClLszsZE.js +25 -0
  390. package/build/server/chunks/chunks/uploads.js-4OZ09onz.js +107 -0
  391. package/build/server/chunks/chunks/urls.js-BrlC6XZ8.js +8 -0
  392. package/build/server/chunks/chunks/utils.js-BJgm9WbO.js +2985 -0
  393. package/build/server/chunks/chunks/vault.js-CTaWe09z.js +162 -0
  394. package/build/server/chunks/chunks/view.js-BPycofxX.js +76 -0
  395. package/build/server/chunks/chunks/views.js-DyGxvskG.js +124 -0
  396. package/build/server/chunks/chunks/words.js-Cte4wOB4.js +48 -0
  397. package/build/server/chunks/chunks/x.js-YxaUOlq9.js +18 -0
  398. package/build/server/chunks/entries/endpoints/api/apps/_op_/_server.ts.js-DqDt7aNN.js +90 -0
  399. package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-D-mwPJ4E.js +100 -0
  400. package/build/server/chunks/entries/endpoints/api/files/_server.ts.js-DTl4eBah.js +49 -0
  401. package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-HFyCRRIx.js +83 -0
  402. package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-CO7kITUs.js +119 -0
  403. package/build/server/chunks/entries/endpoints/api/firstmate/dismiss/_server.ts.js-CTdaQTFX.js +45 -0
  404. package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-DKxlZSX3.js +51 -0
  405. package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-Bp4CsZQ9.js +44 -0
  406. package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js--Ti6GfKf.js +66 -0
  407. package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-DudckFen.js +54 -0
  408. package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-H09D-uaY.js +44 -0
  409. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_day_/_id_/_name_/_server.ts.js-B1jFlBJC.js +31 -0
  410. package/build/server/chunks/entries/endpoints/api/firstmate/uploads/_server.ts.js-B2h2nWSK.js +39 -0
  411. package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-BMcNM7_1.js +36 -0
  412. package/build/server/chunks/entries/endpoints/api/gateway/_server.ts.js-CVc8gLps.js +100 -0
  413. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BcVLJq4f.js +36 -0
  414. package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-DKqY2sWJ.js +60 -0
  415. package/build/server/chunks/entries/endpoints/api/inbox/report/_server.ts.js-a4l41m0P.js +51 -0
  416. package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js-Cr_YrS6N.js +36 -0
  417. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/config/_server.ts.js-CZUfk-OY.js +71 -0
  418. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/load/_server.ts.js-CPBW7xEV.js +23 -0
  419. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/ui/_...path_/_server.ts.js-Dg2Sbcgq.js +59 -0
  420. package/build/server/chunks/entries/endpoints/api/plugins/_plugin_/update/_server.ts.js-C9LXRfKc.js +35 -0
  421. package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-C7RCx22P.js +36 -0
  422. package/build/server/chunks/entries/endpoints/api/plugins/inspect/_server.ts.js-CSPS_3gF.js +35 -0
  423. package/build/server/chunks/entries/endpoints/api/plugins/install/_server.ts.js-DWxejv3K.js +38 -0
  424. package/build/server/chunks/entries/endpoints/api/plugins/updates/_server.ts.js-BYYXspMy.js +23 -0
  425. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-BAPnLV-3.js +41 -0
  426. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-OYV-kJGk.js +50 -0
  427. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-DovNLcSw.js +62 -0
  428. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-CYU1VGUf.js +49 -0
  429. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-CgCzXBIB.js +72 -0
  430. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-BZ2S7d9x.js +55 -0
  431. package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-CMVRpWqZ.js +55 -0
  432. package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-BhhLjW17.js +44 -0
  433. package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-Bukv4dSq.js +41 -0
  434. package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-BsHRnnS7.js +60 -0
  435. package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-B9eygpXJ.js +48 -0
  436. package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-o7w8BRpJ.js +93 -0
  437. package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-BaXho4qD.js +110 -0
  438. package/build/server/chunks/entries/endpoints/api/vault/_server.ts.js-CagOXKfp.js +54 -0
  439. package/build/server/chunks/entries/endpoints/api/wheelhouse/update/_server.ts.js-CAcsCtS9.js +23 -0
  440. package/build/server/chunks/entries/endpoints/api/wheelhouse/upgrade/_server.ts.js-CSlKdXcw.js +23 -0
  441. package/build/server/chunks/entries/endpoints/projects/_server.ts.js-uMp6dcat.js +7 -0
  442. package/build/server/chunks/entries/endpoints/tasks/_id_/review/_server.ts.js-OEWlGF9d.js +40 -0
  443. package/build/server/chunks/entries/fallbacks/error.svelte.js-DnpcUjRk.js +15 -0
  444. package/build/server/chunks/entries/hooks.server.js-BeVVnKyB.js +54 -0
  445. package/build/server/chunks/entries/pages/_layout.server.ts.js-CFzh0bb7.js +24 -0
  446. package/build/server/chunks/entries/pages/_layout.svelte.js-BQyvY_vc.js +8746 -0
  447. package/build/server/chunks/entries/pages/_page.server.ts.js-DqT-OIkV.js +16 -0
  448. package/build/server/chunks/entries/pages/_page.svelte.js-DMDSI7Tw.js +2220 -0
  449. package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-CGjy1S4B.js +11 -0
  450. package/build/server/chunks/entries/pages/decisions/_page.svelte.js-C3NsHXP-.js +184 -0
  451. package/build/server/chunks/entries/pages/files/_page.server.ts.js-D6VF_7EK.js +17 -0
  452. package/build/server/chunks/entries/pages/files/_page.svelte.js-Bj-5ZaJn.js +61 -0
  453. package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-Cbei7bFp.js +46 -0
  454. package/build/server/chunks/entries/pages/harbour/_page.svelte.js-D8RsASWB.js +580 -0
  455. package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-DtFxpkIR.js +11 -0
  456. package/build/server/chunks/entries/pages/headroom/_page.svelte.js-BLFQjLz8.js +149 -0
  457. package/build/server/chunks/entries/pages/inbox/_page.svelte.js-Bn5pWt__.js +185 -0
  458. package/build/server/chunks/entries/pages/plugins/_page.server.ts.js-D_nxVVQ0.js +11 -0
  459. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-CybSuVD4.js +16 -0
  460. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DMPiRdLN.js +52 -0
  461. package/build/server/chunks/entries/pages/projects/_id_/_page.server.ts.js-CroKCV4u.js +23 -0
  462. package/build/server/chunks/entries/pages/projects/_id_/_page.svelte.js-_DNqdqJc.js +976 -0
  463. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-Vb8907y2.js +21 -0
  464. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-BLTTCa_O.js +74 -0
  465. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-Cor2JYpv.js +27 -0
  466. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-BTgNmS_4.js +433 -0
  467. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-Dtvwihv0.js +15 -0
  468. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-DuitNXlV.js +1880 -0
  469. package/build/server/chunks/entries/pages/settings/_page.server.ts.js-DnBg1UuM.js +11 -0
  470. package/build/server/chunks/entries/pages/settings/gateway/_page.server.ts.js-BqNGCjSG.js +11 -0
  471. package/build/server/chunks/entries/pages/settings/gateway/_page.svelte.js-BmbSSxk6.js +208 -0
  472. package/build/server/chunks/entries/pages/settings/plugins/_page.server.ts.js-CQ9DVI4s.js +19 -0
  473. package/build/server/chunks/entries/pages/settings/plugins/_page.svelte.js-U1GPMY59.js +1847 -0
  474. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.server.ts.js-C_YGnjmx.js +17 -0
  475. package/build/server/chunks/entries/pages/settings/plugins/_plugin_/_page.svelte.js-C_gSykyo.js +220 -0
  476. package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-C-lePqYN.js +25 -0
  477. package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-Ds1ivkgU.js +2142 -0
  478. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-DH7nAB6U.js +24 -0
  479. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.svelte.js-BOMmvf6G.js +80 -0
  480. package/build/server/chunks/entries/pages/time/_page.server.ts.js-Bfe-SSUC.js +11 -0
  481. package/build/server/chunks/entries/pages/time/_page.svelte.js-Ckn0YUW_.js +108 -0
  482. package/build/server/chunks/handler-CViJcHBG.js +1474 -0
  483. package/build/server/chunks/index.js-DO8YdJ_5.js +4296 -0
  484. package/build/server/chunks/manifest.js-DJYckUS-.js +501 -0
  485. package/build/server/chunks/nodes/0.js-DZ4kFPNe.js +41 -0
  486. package/build/server/chunks/nodes/1.js-CLGjQTlS.js +9 -0
  487. package/build/server/chunks/nodes/10.js-BN4Clcbg.js +43 -0
  488. package/build/server/chunks/nodes/11.js-DWB1yiJ6.js +42 -0
  489. package/build/server/chunks/nodes/12.js-CA99401F.js +43 -0
  490. package/build/server/chunks/nodes/13.js-YsHE2JFx.js +42 -0
  491. package/build/server/chunks/nodes/14.js-Cl3VZ6XR.js +12 -0
  492. package/build/server/chunks/nodes/15.js-CLdnAt4r.js +41 -0
  493. package/build/server/chunks/nodes/16.js-B-2Iq3Ye.js +41 -0
  494. package/build/server/chunks/nodes/17.js-BTM2TsmR.js +44 -0
  495. package/build/server/chunks/nodes/18.js-D3m0ATU2.js +42 -0
  496. package/build/server/chunks/nodes/19.js-C3dO33LH.js +42 -0
  497. package/build/server/chunks/nodes/2.js-51wjL-91.js +41 -0
  498. package/build/server/chunks/nodes/20.js-e41qDeY7.js +41 -0
  499. package/build/server/chunks/nodes/3.js-3JUV-tiI.js +41 -0
  500. package/build/server/chunks/nodes/4.js-CI6WGOXE.js +41 -0
  501. package/build/server/chunks/nodes/5.js-tZ-lWwlu.js +45 -0
  502. package/build/server/chunks/nodes/6.js-BgQesykU.js +41 -0
  503. package/build/server/chunks/nodes/7.js-CFXzqkNQ.js +9 -0
  504. package/build/server/chunks/nodes/8.js-D32pPbKa.js +12 -0
  505. package/build/server/chunks/nodes/9.js-CUQI6T4W.js +41 -0
  506. package/dist/cli.js +2156 -72
  507. package/dist/wh-vault.js +1007 -0
  508. package/package.json +5 -3
  509. package/plugins/github-issues/.wheelhouse-plugin/plugin.json +44 -0
  510. package/plugins/github-issues/README.md +16 -0
  511. package/plugins/github-issues/wheelhouse/server/index.js +463 -0
  512. package/plugins/project-links/.wheelhouse-plugin/plugin.json +25 -0
  513. package/plugins/project-links/README.md +17 -0
  514. package/plugins/project-links/wheelhouse/server/index.js +278 -0
  515. package/plugins/project-links/wheelhouse/ui/index.js +87 -0
  516. package/plugins/vault/.wheelhouse-plugin/plugin.json +22 -0
  517. package/plugins/vault/README.md +18 -0
  518. package/plugins/vault/wheelhouse/server/index.js +297 -0
  519. package/build/client/_app/immutable/assets/0.DaQhCSel.css +0 -1
  520. package/build/client/_app/immutable/assets/0.DaQhCSel.css.br +0 -0
  521. package/build/client/_app/immutable/assets/0.DaQhCSel.css.gz +0 -0
  522. package/build/client/_app/immutable/assets/12.DT1C9nmd.css +0 -1
  523. package/build/client/_app/immutable/assets/12.DT1C9nmd.css.br +0 -0
  524. package/build/client/_app/immutable/assets/12.DT1C9nmd.css.gz +0 -0
  525. package/build/client/_app/immutable/assets/14.CjNfSPQ6.css +0 -1
  526. package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.br +0 -0
  527. package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.gz +0 -0
  528. package/build/client/_app/immutable/assets/15.KLSHp5Yu.css +0 -1
  529. package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.br +0 -0
  530. package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.gz +0 -0
  531. package/build/client/_app/immutable/chunks/36FDwM1G.js +0 -1
  532. package/build/client/_app/immutable/chunks/36FDwM1G.js.br +0 -0
  533. package/build/client/_app/immutable/chunks/36FDwM1G.js.gz +0 -0
  534. package/build/client/_app/immutable/chunks/B1XxiJam.js +0 -1
  535. package/build/client/_app/immutable/chunks/B1XxiJam.js.br +0 -0
  536. package/build/client/_app/immutable/chunks/B1XxiJam.js.gz +0 -0
  537. package/build/client/_app/immutable/chunks/B1bNvkZf.js +0 -1
  538. package/build/client/_app/immutable/chunks/B1bNvkZf.js.br +0 -0
  539. package/build/client/_app/immutable/chunks/B1bNvkZf.js.gz +0 -0
  540. package/build/client/_app/immutable/chunks/B2wEHue2.js +0 -1
  541. package/build/client/_app/immutable/chunks/B2wEHue2.js.br +0 -0
  542. package/build/client/_app/immutable/chunks/B2wEHue2.js.gz +0 -0
  543. package/build/client/_app/immutable/chunks/BEAYWcbT.js +0 -1
  544. package/build/client/_app/immutable/chunks/BEAYWcbT.js.br +0 -0
  545. package/build/client/_app/immutable/chunks/BEAYWcbT.js.gz +0 -0
  546. package/build/client/_app/immutable/chunks/BGINfGsV.js +0 -1
  547. package/build/client/_app/immutable/chunks/BGINfGsV.js.br +0 -4
  548. package/build/client/_app/immutable/chunks/BGINfGsV.js.gz +0 -0
  549. package/build/client/_app/immutable/chunks/BHsdHLbF.js +0 -1
  550. package/build/client/_app/immutable/chunks/BHsdHLbF.js.br +0 -0
  551. package/build/client/_app/immutable/chunks/BHsdHLbF.js.gz +0 -0
  552. package/build/client/_app/immutable/chunks/BORDV711.js +0 -1
  553. package/build/client/_app/immutable/chunks/BORDV711.js.br +0 -0
  554. package/build/client/_app/immutable/chunks/BORDV711.js.gz +0 -0
  555. package/build/client/_app/immutable/chunks/BR5v76-T.js +0 -1
  556. package/build/client/_app/immutable/chunks/BR5v76-T.js.br +0 -0
  557. package/build/client/_app/immutable/chunks/BR5v76-T.js.gz +0 -0
  558. package/build/client/_app/immutable/chunks/BUo4hMcM.js +0 -1
  559. package/build/client/_app/immutable/chunks/BUo4hMcM.js.br +0 -0
  560. package/build/client/_app/immutable/chunks/BUo4hMcM.js.gz +0 -0
  561. package/build/client/_app/immutable/chunks/BVVO3JPx.js +0 -1
  562. package/build/client/_app/immutable/chunks/BVVO3JPx.js.br +0 -0
  563. package/build/client/_app/immutable/chunks/BVVO3JPx.js.gz +0 -0
  564. package/build/client/_app/immutable/chunks/BWJa0dU7.js +0 -1
  565. package/build/client/_app/immutable/chunks/BWJa0dU7.js.br +0 -0
  566. package/build/client/_app/immutable/chunks/BWJa0dU7.js.gz +0 -0
  567. package/build/client/_app/immutable/chunks/Bfi4vm-w.js +0 -1
  568. package/build/client/_app/immutable/chunks/Bfi4vm-w.js.br +0 -0
  569. package/build/client/_app/immutable/chunks/Bfi4vm-w.js.gz +0 -0
  570. package/build/client/_app/immutable/chunks/BiTivU7x.js +0 -1
  571. package/build/client/_app/immutable/chunks/BiTivU7x.js.br +0 -0
  572. package/build/client/_app/immutable/chunks/BiTivU7x.js.gz +0 -0
  573. package/build/client/_app/immutable/chunks/BiuLIp4b.js +0 -1
  574. package/build/client/_app/immutable/chunks/BiuLIp4b.js.br +0 -0
  575. package/build/client/_app/immutable/chunks/BiuLIp4b.js.gz +0 -0
  576. package/build/client/_app/immutable/chunks/Bns_F-QV.js +0 -1
  577. package/build/client/_app/immutable/chunks/Bns_F-QV.js.br +0 -0
  578. package/build/client/_app/immutable/chunks/Bns_F-QV.js.gz +0 -0
  579. package/build/client/_app/immutable/chunks/Brlpgp90.js +0 -1
  580. package/build/client/_app/immutable/chunks/Brlpgp90.js.br +0 -0
  581. package/build/client/_app/immutable/chunks/Brlpgp90.js.gz +0 -0
  582. package/build/client/_app/immutable/chunks/BunkbzFG.js +0 -1
  583. package/build/client/_app/immutable/chunks/BunkbzFG.js.br +0 -0
  584. package/build/client/_app/immutable/chunks/BunkbzFG.js.gz +0 -0
  585. package/build/client/_app/immutable/chunks/BwOfqJw9.js +0 -1
  586. package/build/client/_app/immutable/chunks/BwOfqJw9.js.br +0 -0
  587. package/build/client/_app/immutable/chunks/BwOfqJw9.js.gz +0 -0
  588. package/build/client/_app/immutable/chunks/C-xrRA1Y.js +0 -1
  589. package/build/client/_app/immutable/chunks/C-xrRA1Y.js.br +0 -0
  590. package/build/client/_app/immutable/chunks/C-xrRA1Y.js.gz +0 -0
  591. package/build/client/_app/immutable/chunks/C2_XZrIO.js +0 -7
  592. package/build/client/_app/immutable/chunks/C2_XZrIO.js.br +0 -0
  593. package/build/client/_app/immutable/chunks/C2_XZrIO.js.gz +0 -0
  594. package/build/client/_app/immutable/chunks/C2d4bDYU.js +0 -1
  595. package/build/client/_app/immutable/chunks/C2d4bDYU.js.br +0 -0
  596. package/build/client/_app/immutable/chunks/C2d4bDYU.js.gz +0 -0
  597. package/build/client/_app/immutable/chunks/C6BQPSOs.js +0 -62
  598. package/build/client/_app/immutable/chunks/C6BQPSOs.js.br +0 -0
  599. package/build/client/_app/immutable/chunks/C6BQPSOs.js.gz +0 -0
  600. package/build/client/_app/immutable/chunks/CDphfOBv.js +0 -1
  601. package/build/client/_app/immutable/chunks/CDphfOBv.js.br +0 -0
  602. package/build/client/_app/immutable/chunks/CDphfOBv.js.gz +0 -0
  603. package/build/client/_app/immutable/chunks/CIE0U5Ih.js +0 -1
  604. package/build/client/_app/immutable/chunks/CIE0U5Ih.js.br +0 -0
  605. package/build/client/_app/immutable/chunks/CIE0U5Ih.js.gz +0 -0
  606. package/build/client/_app/immutable/chunks/CIfcjhKg.js +0 -14
  607. package/build/client/_app/immutable/chunks/CIfcjhKg.js.br +0 -0
  608. package/build/client/_app/immutable/chunks/CIfcjhKg.js.gz +0 -0
  609. package/build/client/_app/immutable/chunks/CKhg4Tm6.js +0 -1
  610. package/build/client/_app/immutable/chunks/CKhg4Tm6.js.br +0 -0
  611. package/build/client/_app/immutable/chunks/CKhg4Tm6.js.gz +0 -0
  612. package/build/client/_app/immutable/chunks/CLs9Rkbg.js +0 -1
  613. package/build/client/_app/immutable/chunks/CLs9Rkbg.js.br +0 -0
  614. package/build/client/_app/immutable/chunks/CLs9Rkbg.js.gz +0 -0
  615. package/build/client/_app/immutable/chunks/COQ3aAYj.js +0 -1
  616. package/build/client/_app/immutable/chunks/COQ3aAYj.js.br +0 -0
  617. package/build/client/_app/immutable/chunks/COQ3aAYj.js.gz +0 -0
  618. package/build/client/_app/immutable/chunks/COiIt96y.js +0 -1
  619. package/build/client/_app/immutable/chunks/COiIt96y.js.br +0 -0
  620. package/build/client/_app/immutable/chunks/COiIt96y.js.gz +0 -0
  621. package/build/client/_app/immutable/chunks/CQ7gIAH8.js +0 -1
  622. package/build/client/_app/immutable/chunks/CQ7gIAH8.js.br +0 -2
  623. package/build/client/_app/immutable/chunks/CQ7gIAH8.js.gz +0 -0
  624. package/build/client/_app/immutable/chunks/CQlHU-Rx.js +0 -1
  625. package/build/client/_app/immutable/chunks/CQlHU-Rx.js.br +0 -0
  626. package/build/client/_app/immutable/chunks/CQlHU-Rx.js.gz +0 -0
  627. package/build/client/_app/immutable/chunks/CXfdgbLv.js +0 -1
  628. package/build/client/_app/immutable/chunks/CXfdgbLv.js.br +0 -0
  629. package/build/client/_app/immutable/chunks/CXfdgbLv.js.gz +0 -0
  630. package/build/client/_app/immutable/chunks/CdOazBBu.js +0 -1
  631. package/build/client/_app/immutable/chunks/CdOazBBu.js.br +0 -0
  632. package/build/client/_app/immutable/chunks/CdOazBBu.js.gz +0 -0
  633. package/build/client/_app/immutable/chunks/CeYIQAXD.js +0 -1
  634. package/build/client/_app/immutable/chunks/CeYIQAXD.js.br +0 -0
  635. package/build/client/_app/immutable/chunks/CeYIQAXD.js.gz +0 -0
  636. package/build/client/_app/immutable/chunks/CfdzAfq2.js +0 -1
  637. package/build/client/_app/immutable/chunks/CfdzAfq2.js.br +0 -0
  638. package/build/client/_app/immutable/chunks/CfdzAfq2.js.gz +0 -0
  639. package/build/client/_app/immutable/chunks/CkFDaaNz.js +0 -1
  640. package/build/client/_app/immutable/chunks/CkFDaaNz.js.br +0 -0
  641. package/build/client/_app/immutable/chunks/CkFDaaNz.js.gz +0 -0
  642. package/build/client/_app/immutable/chunks/CkLriSVx.js +0 -1
  643. package/build/client/_app/immutable/chunks/CkLriSVx.js.br +0 -0
  644. package/build/client/_app/immutable/chunks/CkLriSVx.js.gz +0 -0
  645. package/build/client/_app/immutable/chunks/Clzs_eXS.js +0 -5
  646. package/build/client/_app/immutable/chunks/Clzs_eXS.js.br +0 -0
  647. package/build/client/_app/immutable/chunks/Clzs_eXS.js.gz +0 -0
  648. package/build/client/_app/immutable/chunks/CrCQ2NNA.js +0 -1
  649. package/build/client/_app/immutable/chunks/CrCQ2NNA.js.br +0 -0
  650. package/build/client/_app/immutable/chunks/CrCQ2NNA.js.gz +0 -0
  651. package/build/client/_app/immutable/chunks/CrgqcyB_.js +0 -1
  652. package/build/client/_app/immutable/chunks/CrgqcyB_.js.br +0 -0
  653. package/build/client/_app/immutable/chunks/CrgqcyB_.js.gz +0 -0
  654. package/build/client/_app/immutable/chunks/CtlVBKf-.js +0 -1
  655. package/build/client/_app/immutable/chunks/CtlVBKf-.js.br +0 -0
  656. package/build/client/_app/immutable/chunks/CtlVBKf-.js.gz +0 -0
  657. package/build/client/_app/immutable/chunks/D4aeBIhU.js +0 -1
  658. package/build/client/_app/immutable/chunks/D4aeBIhU.js.br +0 -0
  659. package/build/client/_app/immutable/chunks/D4aeBIhU.js.gz +0 -0
  660. package/build/client/_app/immutable/chunks/DC8T2WRZ.js +0 -1
  661. package/build/client/_app/immutable/chunks/DC8T2WRZ.js.br +0 -0
  662. package/build/client/_app/immutable/chunks/DC8T2WRZ.js.gz +0 -0
  663. package/build/client/_app/immutable/chunks/DGy76IbW.js +0 -2
  664. package/build/client/_app/immutable/chunks/DGy76IbW.js.br +0 -0
  665. package/build/client/_app/immutable/chunks/DGy76IbW.js.gz +0 -0
  666. package/build/client/_app/immutable/chunks/DIABVMrA.js +0 -1
  667. package/build/client/_app/immutable/chunks/DIABVMrA.js.br +0 -0
  668. package/build/client/_app/immutable/chunks/DIABVMrA.js.gz +0 -0
  669. package/build/client/_app/immutable/chunks/DLith9Yi.js +0 -1
  670. package/build/client/_app/immutable/chunks/DLith9Yi.js.br +0 -0
  671. package/build/client/_app/immutable/chunks/DLith9Yi.js.gz +0 -0
  672. package/build/client/_app/immutable/chunks/Da92_52d.js +0 -1
  673. package/build/client/_app/immutable/chunks/Da92_52d.js.br +0 -0
  674. package/build/client/_app/immutable/chunks/Da92_52d.js.gz +0 -0
  675. package/build/client/_app/immutable/chunks/Db0WMrvR.js +0 -1
  676. package/build/client/_app/immutable/chunks/Db0WMrvR.js.br +0 -0
  677. package/build/client/_app/immutable/chunks/Db0WMrvR.js.gz +0 -0
  678. package/build/client/_app/immutable/chunks/Dlb_KqyS.js +0 -2
  679. package/build/client/_app/immutable/chunks/Dlb_KqyS.js.br +0 -0
  680. package/build/client/_app/immutable/chunks/Dlb_KqyS.js.gz +0 -0
  681. package/build/client/_app/immutable/chunks/Dq9kJk5R.js +0 -1
  682. package/build/client/_app/immutable/chunks/Dq9kJk5R.js.br +0 -0
  683. package/build/client/_app/immutable/chunks/Dq9kJk5R.js.gz +0 -0
  684. package/build/client/_app/immutable/chunks/DxGQT-Hz.js +0 -1
  685. package/build/client/_app/immutable/chunks/DxGQT-Hz.js.br +0 -0
  686. package/build/client/_app/immutable/chunks/DxGQT-Hz.js.gz +0 -0
  687. package/build/client/_app/immutable/chunks/ET-O1REu.js +0 -1
  688. package/build/client/_app/immutable/chunks/ET-O1REu.js.br +0 -0
  689. package/build/client/_app/immutable/chunks/ET-O1REu.js.gz +0 -0
  690. package/build/client/_app/immutable/chunks/FQ69txbU.js +0 -1
  691. package/build/client/_app/immutable/chunks/FQ69txbU.js.br +0 -0
  692. package/build/client/_app/immutable/chunks/FQ69txbU.js.gz +0 -0
  693. package/build/client/_app/immutable/chunks/L-6wuY5f.js +0 -2
  694. package/build/client/_app/immutable/chunks/L-6wuY5f.js.br +0 -0
  695. package/build/client/_app/immutable/chunks/L-6wuY5f.js.gz +0 -0
  696. package/build/client/_app/immutable/chunks/M201SoVK.js +0 -1
  697. package/build/client/_app/immutable/chunks/M201SoVK.js.br +0 -1
  698. package/build/client/_app/immutable/chunks/M201SoVK.js.gz +0 -0
  699. package/build/client/_app/immutable/chunks/OeqXO44y.js +0 -1
  700. package/build/client/_app/immutable/chunks/OeqXO44y.js.br +0 -0
  701. package/build/client/_app/immutable/chunks/OeqXO44y.js.gz +0 -0
  702. package/build/client/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  703. package/build/client/_app/immutable/chunks/PPVm8Dsz.js.br +0 -0
  704. package/build/client/_app/immutable/chunks/PPVm8Dsz.js.gz +0 -0
  705. package/build/client/_app/immutable/chunks/QAFSHLn2.js +0 -1
  706. package/build/client/_app/immutable/chunks/QAFSHLn2.js.br +0 -0
  707. package/build/client/_app/immutable/chunks/QAFSHLn2.js.gz +0 -0
  708. package/build/client/_app/immutable/chunks/Tm9AblHs.js +0 -1
  709. package/build/client/_app/immutable/chunks/Tm9AblHs.js.br +0 -0
  710. package/build/client/_app/immutable/chunks/Tm9AblHs.js.gz +0 -0
  711. package/build/client/_app/immutable/chunks/_7N5fmOy.js +0 -2
  712. package/build/client/_app/immutable/chunks/_7N5fmOy.js.br +0 -0
  713. package/build/client/_app/immutable/chunks/_7N5fmOy.js.gz +0 -0
  714. package/build/client/_app/immutable/chunks/eMSiEzFi.js +0 -1
  715. package/build/client/_app/immutable/chunks/eMSiEzFi.js.br +0 -0
  716. package/build/client/_app/immutable/chunks/eMSiEzFi.js.gz +0 -0
  717. package/build/client/_app/immutable/chunks/euRlC7pA.js +0 -1
  718. package/build/client/_app/immutable/chunks/euRlC7pA.js.br +0 -1
  719. package/build/client/_app/immutable/chunks/euRlC7pA.js.gz +0 -0
  720. package/build/client/_app/immutable/chunks/hBAvbyDe.js +0 -4
  721. package/build/client/_app/immutable/chunks/hBAvbyDe.js.br +0 -0
  722. package/build/client/_app/immutable/chunks/hBAvbyDe.js.gz +0 -0
  723. package/build/client/_app/immutable/chunks/iVpzjqp1.js +0 -1
  724. package/build/client/_app/immutable/chunks/iVpzjqp1.js.br +0 -0
  725. package/build/client/_app/immutable/chunks/iVpzjqp1.js.gz +0 -0
  726. package/build/client/_app/immutable/chunks/m3YfhLk1.js +0 -1
  727. package/build/client/_app/immutable/chunks/m3YfhLk1.js.br +0 -0
  728. package/build/client/_app/immutable/chunks/m3YfhLk1.js.gz +0 -0
  729. package/build/client/_app/immutable/chunks/p7x6PRF0.js +0 -1
  730. package/build/client/_app/immutable/chunks/p7x6PRF0.js.br +0 -0
  731. package/build/client/_app/immutable/chunks/p7x6PRF0.js.gz +0 -0
  732. package/build/client/_app/immutable/chunks/t4rxsdjl.js +0 -74
  733. package/build/client/_app/immutable/chunks/t4rxsdjl.js.br +0 -0
  734. package/build/client/_app/immutable/chunks/t4rxsdjl.js.gz +0 -0
  735. package/build/client/_app/immutable/chunks/uD7-7yV9.js +0 -1
  736. package/build/client/_app/immutable/chunks/uD7-7yV9.js.br +0 -4
  737. package/build/client/_app/immutable/chunks/uD7-7yV9.js.gz +0 -0
  738. package/build/client/_app/immutable/entry/app.Dzyng0dn.js +0 -2
  739. package/build/client/_app/immutable/entry/app.Dzyng0dn.js.br +0 -0
  740. package/build/client/_app/immutable/entry/app.Dzyng0dn.js.gz +0 -0
  741. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js +0 -1
  742. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js.br +0 -0
  743. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js.gz +0 -0
  744. package/build/client/_app/immutable/nodes/0.CaNaBMzB.js +0 -5
  745. package/build/client/_app/immutable/nodes/0.CaNaBMzB.js.br +0 -0
  746. package/build/client/_app/immutable/nodes/0.CaNaBMzB.js.gz +0 -0
  747. package/build/client/_app/immutable/nodes/1.BCMmEnhe.js +0 -1
  748. package/build/client/_app/immutable/nodes/1.BCMmEnhe.js.br +0 -0
  749. package/build/client/_app/immutable/nodes/1.BCMmEnhe.js.gz +0 -0
  750. package/build/client/_app/immutable/nodes/10.BO2VoEpn.js +0 -14
  751. package/build/client/_app/immutable/nodes/10.BO2VoEpn.js.br +0 -0
  752. package/build/client/_app/immutable/nodes/10.BO2VoEpn.js.gz +0 -0
  753. package/build/client/_app/immutable/nodes/11.BOR5Lt2T.js +0 -77
  754. package/build/client/_app/immutable/nodes/11.BOR5Lt2T.js.br +0 -0
  755. package/build/client/_app/immutable/nodes/11.BOR5Lt2T.js.gz +0 -0
  756. package/build/client/_app/immutable/nodes/12.BGnaA6g1.js +0 -32
  757. package/build/client/_app/immutable/nodes/12.BGnaA6g1.js.br +0 -0
  758. package/build/client/_app/immutable/nodes/12.BGnaA6g1.js.gz +0 -0
  759. package/build/client/_app/immutable/nodes/13.BMHoWbLt.js +0 -5
  760. package/build/client/_app/immutable/nodes/13.BMHoWbLt.js.br +0 -0
  761. package/build/client/_app/immutable/nodes/13.BMHoWbLt.js.gz +0 -0
  762. package/build/client/_app/immutable/nodes/14.BMIOGjF-.js +0 -1
  763. package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.br +0 -0
  764. package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.gz +0 -0
  765. package/build/client/_app/immutable/nodes/15.BDQ6GGok.js +0 -10
  766. package/build/client/_app/immutable/nodes/15.BDQ6GGok.js.br +0 -0
  767. package/build/client/_app/immutable/nodes/15.BDQ6GGok.js.gz +0 -0
  768. package/build/client/_app/immutable/nodes/16.BYZHF6Y1.js +0 -6
  769. package/build/client/_app/immutable/nodes/16.BYZHF6Y1.js.br +0 -0
  770. package/build/client/_app/immutable/nodes/16.BYZHF6Y1.js.gz +0 -0
  771. package/build/client/_app/immutable/nodes/2.DmiGTHZF.js +0 -4
  772. package/build/client/_app/immutable/nodes/2.DmiGTHZF.js.br +0 -0
  773. package/build/client/_app/immutable/nodes/2.DmiGTHZF.js.gz +0 -0
  774. package/build/client/_app/immutable/nodes/3.qyqfVtUJ.js +0 -5
  775. package/build/client/_app/immutable/nodes/3.qyqfVtUJ.js.br +0 -0
  776. package/build/client/_app/immutable/nodes/3.qyqfVtUJ.js.gz +0 -0
  777. package/build/client/_app/immutable/nodes/4.DMxs5dS-.js +0 -3
  778. package/build/client/_app/immutable/nodes/4.DMxs5dS-.js.br +0 -0
  779. package/build/client/_app/immutable/nodes/4.DMxs5dS-.js.gz +0 -0
  780. package/build/client/_app/immutable/nodes/5.pFV6qgYd.js +0 -7
  781. package/build/client/_app/immutable/nodes/5.pFV6qgYd.js.br +0 -0
  782. package/build/client/_app/immutable/nodes/5.pFV6qgYd.js.gz +0 -0
  783. package/build/client/_app/immutable/nodes/6.DKZQPZQe.js +0 -4
  784. package/build/client/_app/immutable/nodes/6.DKZQPZQe.js.br +0 -0
  785. package/build/client/_app/immutable/nodes/6.DKZQPZQe.js.gz +0 -0
  786. package/build/client/_app/immutable/nodes/7.DmCbsQpY.js +0 -1
  787. package/build/client/_app/immutable/nodes/7.DmCbsQpY.js.br +0 -0
  788. package/build/client/_app/immutable/nodes/7.DmCbsQpY.js.gz +0 -0
  789. package/build/client/_app/immutable/nodes/8.C5_-lQ12.js +0 -1
  790. package/build/client/_app/immutable/nodes/8.C5_-lQ12.js.br +0 -0
  791. package/build/client/_app/immutable/nodes/8.C5_-lQ12.js.gz +0 -0
  792. package/build/client/_app/immutable/nodes/9.DdS_3rh5.js +0 -1
  793. package/build/client/_app/immutable/nodes/9.DdS_3rh5.js.br +0 -0
  794. package/build/client/_app/immutable/nodes/9.DdS_3rh5.js.gz +0 -0
  795. package/build/server/chunks/chunks/AllowanceMeter.js-C9jRsAGU.js +0 -42
  796. package/build/server/chunks/chunks/DecisionCard.js-u1VQ9s_v.js +0 -350
  797. package/build/server/chunks/chunks/DictateTextarea.js-BlEnOzcN.js +0 -85
  798. package/build/server/chunks/chunks/EtaLine.js-Pa4_VV6V.js +0 -79
  799. package/build/server/chunks/chunks/Icon.js-D7CY3joB.js +0 -129
  800. package/build/server/chunks/chunks/InsightsNav.js-BlxFBJfj.js +0 -22
  801. package/build/server/chunks/chunks/MicButton.js-BZSQAyuM.js +0 -336
  802. package/build/server/chunks/chunks/QuestionList.js-DglKezUe.js +0 -259
  803. package/build/server/chunks/chunks/SlotContent.js-YqZXXtRz.js +0 -1977
  804. package/build/server/chunks/chunks/StageTrack.js-BaorW-yk.js +0 -59
  805. package/build/server/chunks/chunks/TimeBar.js-k38rc7ZI.js +0 -32
  806. package/build/server/chunks/chunks/TimeLegend.js-BQVvgsvs.js +0 -29
  807. package/build/server/chunks/chunks/access.js-XFAczbHS.js +0 -816
  808. package/build/server/chunks/chunks/anchor.js-ByXDBfbi.js +0 -20
  809. package/build/server/chunks/chunks/arrow-down.js-DXDJc9EE.js +0 -18
  810. package/build/server/chunks/chunks/arrow-left.js-6Yey35CE.js +0 -18
  811. package/build/server/chunks/chunks/arrow-right.js-CfbPWRqu.js +0 -18
  812. package/build/server/chunks/chunks/arrow-up.js-AhghNbhW.js +0 -18
  813. package/build/server/chunks/chunks/bell.js-CAlv92RY.js +0 -143
  814. package/build/server/chunks/chunks/blocks.js-BL9jLCe-.js +0 -710
  815. package/build/server/chunks/chunks/bus.svelte.js-DRTptEhF.js +0 -9
  816. package/build/server/chunks/chunks/button.js-HeBqLheH.js +0 -7311
  817. package/build/server/chunks/chunks/chat.svelte.js-Cgdbtjbw.js +0 -537
  818. package/build/server/chunks/chunks/check.js-bmUhmMEz.js +0 -15
  819. package/build/server/chunks/chunks/checks.js-BnIxIaus.js +0 -175
  820. package/build/server/chunks/chunks/chevron-down.js-D75hVSIe.js +0 -15
  821. package/build/server/chunks/chunks/chevron-right.js-yhLg_GaH.js +0 -15
  822. package/build/server/chunks/chunks/circle-dashed.js-Bm3gZCXK.js +0 -24
  823. package/build/server/chunks/chunks/client.js-BUNengrw.js +0 -24
  824. package/build/server/chunks/chunks/clock.js-D7JTvRbC.js +0 -18
  825. package/build/server/chunks/chunks/compass.js-Tq6uiG8I.js +0 -23
  826. package/build/server/chunks/chunks/detail.js-COMRu1TY.js +0 -133
  827. package/build/server/chunks/chunks/external-link.js-WxVF0xXO.js +0 -24
  828. package/build/server/chunks/chunks/file-text.js-CAo3vdqd.js +0 -26
  829. package/build/server/chunks/chunks/gauge.js-Dw9bgE72.js +0 -35
  830. package/build/server/chunks/chunks/git-pull-request.js-Cx1w8BQr.js +0 -20
  831. package/build/server/chunks/chunks/hammer.js-fp_Kidfj.js +0 -24
  832. package/build/server/chunks/chunks/hand.js-xkYPYJZj.js +0 -37
  833. package/build/server/chunks/chunks/harbour.js-xu7EfIHk.js +0 -113
  834. package/build/server/chunks/chunks/http.js-TzZuOtxn.js +0 -25
  835. package/build/server/chunks/chunks/http2.js-BO84xGO4.js +0 -26
  836. package/build/server/chunks/chunks/inbox.js-CW2sFmx9.js +0 -114
  837. package/build/server/chunks/chunks/inbox.svelte.js-OoKhjjWM.js +0 -134
  838. package/build/server/chunks/chunks/index-server.js-CtyUzIGY.js +0 -17
  839. package/build/server/chunks/chunks/index-server2.js-DMc-UvjC.js +0 -19
  840. package/build/server/chunks/chunks/index.js-Bn6j9diM.js +0 -1524
  841. package/build/server/chunks/chunks/index2.js-CXaRTuov.js +0 -46
  842. package/build/server/chunks/chunks/internal.js-C_uDXIpd.js +0 -146
  843. package/build/server/chunks/chunks/keys.js-CdtCzv-v.js +0 -20
  844. package/build/server/chunks/chunks/live.svelte.js-BRUTNc9D.js +0 -196
  845. package/build/server/chunks/chunks/loader-circle.js-IYRaUYWq.js +0 -16
  846. package/build/server/chunks/chunks/message-circle-question-mark.js-DwrMi0ty.js +0 -25
  847. package/build/server/chunks/chunks/message-square-text.js-N5uEmy8L.js +0 -25
  848. package/build/server/chunks/chunks/message-square.js-Hp-6BHgG.js +0 -22
  849. package/build/server/chunks/chunks/minus.js-bsfnwE-h.js +0 -15
  850. package/build/server/chunks/chunks/monitor-play.js-B7qbbPH6.js +0 -28
  851. package/build/server/chunks/chunks/preview.js-CVD-Kwks.js +0 -68
  852. package/build/server/chunks/chunks/prreview.js-C5XxDIu2.js +0 -85
  853. package/build/server/chunks/chunks/root.js-CQzYN4Pu.js +0 -3105
  854. package/build/server/chunks/chunks/runtime.js-fVZqJsqU.js +0 -13280
  855. package/build/server/chunks/chunks/scale.js-vP4G0lZM.js +0 -21
  856. package/build/server/chunks/chunks/shield-check.js-PJLnCKD9.js +0 -23
  857. package/build/server/chunks/chunks/slots.svelte.js-0Ejhe-hS.js +0 -34
  858. package/build/server/chunks/chunks/spec.js-B0yI1XqG.js +0 -307
  859. package/build/server/chunks/chunks/split.js-BsCU24rQ.js +0 -20
  860. package/build/server/chunks/chunks/square-terminal.js-D5Z4Sl2-.js +0 -47
  861. package/build/server/chunks/chunks/tone.js-r2qFVrZC.js +0 -30
  862. package/build/server/chunks/chunks/trash.js-DYFbRevY.js +0 -46
  863. package/build/server/chunks/chunks/triangle-alert.js-DuE40HSU.js +0 -38
  864. package/build/server/chunks/chunks/utils.js-DTSGDHlH.js +0 -2956
  865. package/build/server/chunks/chunks/view.js-tvgxW0fE.js +0 -76
  866. package/build/server/chunks/chunks/view2.js-BdUXqNlY.js +0 -87
  867. package/build/server/chunks/chunks/views.js-B0wP-tuB.js +0 -137
  868. package/build/server/chunks/chunks/waypoints.js-D3HN7bje.js +0 -67
  869. package/build/server/chunks/chunks/x.js-tlds9Ooz.js +0 -18
  870. package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-gil57_h5.js +0 -93
  871. package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-CWFdWS2r.js +0 -74
  872. package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-0h1duDYU.js +0 -110
  873. package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-DUtAFI8B.js +0 -42
  874. package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-BVjvk1Kr.js +0 -35
  875. package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js-CZKuOhTq.js +0 -57
  876. package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-DbYNDgMY.js +0 -45
  877. package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-Dez_V83F.js +0 -35
  878. package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-XScFl7NC.js +0 -27
  879. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BOvoz2OJ.js +0 -27
  880. package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-DuUHrmV4.js +0 -51
  881. package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js-P-j2jdcu.js +0 -27
  882. package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-BuaL2gbp.js +0 -27
  883. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-Dwoaon5p.js +0 -32
  884. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-CpRObQnb.js +0 -41
  885. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-Dml05WPU.js +0 -53
  886. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-rp9RtX4F.js +0 -40
  887. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-DLdJWcj-.js +0 -63
  888. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-Co_h1q_m.js +0 -46
  889. package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-SRzfx-2h.js +0 -46
  890. package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-lFuRL8QC.js +0 -35
  891. package/build/server/chunks/entries/endpoints/api/specs/_id_/_server.ts.js-D-QFRPpb.js +0 -59
  892. package/build/server/chunks/entries/endpoints/api/specs/_id_/build-request/_server.ts.js-CEZLC3cJ.js +0 -47
  893. package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_comment_/_server.ts.js-BHNzMZ7H.js +0 -36
  894. package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_server.ts.js-DHMiene7.js +0 -57
  895. package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_name_/_server.ts.js-BxmqxnuG.js +0 -49
  896. package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_server.ts.js-CvRTk1JX.js +0 -55
  897. package/build/server/chunks/entries/endpoints/api/specs/_id_/sent/_server.ts.js-VHXvHVC9.js +0 -36
  898. package/build/server/chunks/entries/endpoints/api/specs/_id_/turn/_server.ts.js-BjbvOskQ.js +0 -82
  899. package/build/server/chunks/entries/endpoints/api/specs/_server.ts.js-CUNgX4FQ.js +0 -40
  900. package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-CTJxYuKH.js +0 -32
  901. package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-BsDmTo5q.js +0 -51
  902. package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-DmDd31bm.js +0 -39
  903. package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-xNagO0jC.js +0 -84
  904. package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-fNh7CbDX.js +0 -102
  905. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/_server.ts.js-DL1M1PqI.js +0 -34
  906. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/ask/_server.ts.js-G8t4mipV.js +0 -40
  907. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/check/_server.ts.js-B0ymV1Pa.js +0 -39
  908. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/guide/_server.ts.js-Bi08FNu1.js +0 -39
  909. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/runs/_run_/stop/_server.ts.js-C_TftzeG.js +0 -32
  910. package/build/server/chunks/entries/fallbacks/error.svelte.js-DlN_tCrh.js +0 -15
  911. package/build/server/chunks/entries/hooks.server.js-IwCMs7or.js +0 -40
  912. package/build/server/chunks/entries/pages/_layout.server.ts.js-DQI-pH0T.js +0 -20
  913. package/build/server/chunks/entries/pages/_layout.svelte.js-BJuZaosz.js +0 -10454
  914. package/build/server/chunks/entries/pages/_page.server.ts.js-PgqrVobO.js +0 -16
  915. package/build/server/chunks/entries/pages/_page.svelte.js-BI4c5H0n.js +0 -3699
  916. package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-SL6FScVj.js +0 -11
  917. package/build/server/chunks/entries/pages/decisions/_page.svelte.js-ClTz3O_K.js +0 -167
  918. package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-DIvSuIkZ.js +0 -20
  919. package/build/server/chunks/entries/pages/harbour/_page.svelte.js-43FRNSVK.js +0 -1346
  920. package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-CGLa7Yrr.js +0 -11
  921. package/build/server/chunks/entries/pages/headroom/_page.svelte.js-zmKQdAwy.js +0 -135
  922. package/build/server/chunks/entries/pages/inbox/_page.svelte.js-wTvAFPNM.js +0 -175
  923. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-BoG4CT_l.js +0 -15
  924. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DfAqJJ3i.js +0 -55
  925. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-BVTs44zi.js +0 -15
  926. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-B472Pugu.js +0 -66
  927. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-CER4deq2.js +0 -14
  928. package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-CWjEArXY.js +0 -394
  929. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-DiCdDip4.js +0 -15
  930. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-iHacn81K.js +0 -1859
  931. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BH_VcZlY.js +0 -37
  932. package/build/server/chunks/entries/pages/projects/_page.svelte.js-B_NQ-Wg3.js +0 -270
  933. package/build/server/chunks/entries/pages/spec/_page.server.ts.js-CTzZ3jGx.js +0 -31
  934. package/build/server/chunks/entries/pages/spec/_page.svelte.js-BJjweG9u.js +0 -1561
  935. package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-YgQ9nhRn.js +0 -25
  936. package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-Dr2wwDJG.js +0 -2063
  937. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-DdBsWj8_.js +0 -24
  938. package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.svelte.js-DOyZ1QzI.js +0 -145
  939. package/build/server/chunks/entries/pages/tasks/_id_/review/_page.server.ts.js-DY0lh_8-.js +0 -15
  940. package/build/server/chunks/entries/pages/tasks/_id_/review/_page.svelte.js-BDaRELgE.js +0 -692
  941. package/build/server/chunks/entries/pages/time/_page.server.ts.js-kriWArLo.js +0 -11
  942. package/build/server/chunks/entries/pages/time/_page.svelte.js-CSXGxvVs.js +0 -107
  943. package/build/server/chunks/handler-BZ-YqSXJ.js +0 -1474
  944. package/build/server/chunks/index.js-CmcXVwBU.js +0 -4296
  945. package/build/server/chunks/manifest.js-DqwS7AJB.js +0 -434
  946. package/build/server/chunks/nodes/0.js-DS2IDkUW.js +0 -32
  947. package/build/server/chunks/nodes/1.js-_0OBbjVP.js +0 -9
  948. package/build/server/chunks/nodes/10.js-CMSpRrcc.js +0 -33
  949. package/build/server/chunks/nodes/11.js-D1M01GlQ.js +0 -33
  950. package/build/server/chunks/nodes/12.js-DaC2vk2U.js +0 -37
  951. package/build/server/chunks/nodes/13.js-BSWYX8Ak.js +0 -33
  952. package/build/server/chunks/nodes/14.js-CY9oBxXM.js +0 -33
  953. package/build/server/chunks/nodes/15.js-Bg9hD2dR.js +0 -33
  954. package/build/server/chunks/nodes/16.js-qlcIEvV6.js +0 -32
  955. package/build/server/chunks/nodes/2.js-CW_-me_g.js +0 -32
  956. package/build/server/chunks/nodes/3.js-CUCcQUgI.js +0 -32
  957. package/build/server/chunks/nodes/4.js-CSYxmBts.js +0 -34
  958. package/build/server/chunks/nodes/5.js-CHwpTnZj.js +0 -32
  959. package/build/server/chunks/nodes/6.js-XHZwJGEg.js +0 -9
  960. package/build/server/chunks/nodes/7.js-DK_vuZQs.js +0 -32
  961. package/build/server/chunks/nodes/8.js-Crd93Nlx.js +0 -34
  962. package/build/server/chunks/nodes/9.js-CWqhWBb9.js +0 -32
  963. /package/build/client/_app/immutable/assets/{4.5dJKCkOT.css → 5.5dJKCkOT.css} +0 -0
  964. /package/build/client/_app/immutable/assets/{4.5dJKCkOT.css.br → 5.5dJKCkOT.css.br} +0 -0
  965. /package/build/client/_app/immutable/assets/{4.5dJKCkOT.css.gz → 5.5dJKCkOT.css.gz} +0 -0
  966. /package/build/client/_app/immutable/assets/{MicButton.Dga9zAug.css → checks.Dga9zAug.css} +0 -0
  967. /package/build/client/_app/immutable/assets/{MicButton.Dga9zAug.css.br → checks.Dga9zAug.css.br} +0 -0
  968. /package/build/client/_app/immutable/assets/{MicButton.Dga9zAug.css.gz → checks.Dga9zAug.css.gz} +0 -0
@@ -1,2063 +0,0 @@
1
- import { af as head, aj as escape_html, ai as attr, aa as ensure_array_like, ak as stringify, ah as attr_class, _ as derived, a5 as clsx, a6 as bind_props, ae as spread_props, al as props_id, ap as attr_style } from '../../../../chunks/index.js-Bn6j9diM.js';
2
- import { p as page } from '../../../../chunks/index2.js-CXaRTuov.js';
3
- import { r as replaceState } from '../../../../chunks/client.js-BUNengrw.js';
4
- import { l as live, a as currentFleet } from '../../../../chunks/live.svelte.js-BRUTNc9D.js';
5
- import { s as slots } from '../../../../chunks/slots.svelte.js-0Ejhe-hS.js';
6
- import { s as slotKey } from '../../../../chunks/keys.js-CdtCzv-v.js';
7
- import { S as SlotContent, a as Book_open } from '../../../../chunks/SlotContent.js-YqZXXtRz.js';
8
- import { d as consoleInImage, b as agentLine, a as ago, c as clock } from '../../../../chunks/format.js-D3lWEg6U.js';
9
- import { p as plainStatus } from '../../../../chunks/plain.js-Dc97sYaJ.js';
10
- import { a as showsChecks, s as segmentTone, c as checksLine, b as stepSummary, d as duration$1, e as ciChecksLine } from '../../../../chunks/checks.js-BnIxIaus.js';
11
- import { C as Check } from '../../../../chunks/check.js-bmUhmMEz.js';
12
- import { X } from '../../../../chunks/x.js-tlds9Ooz.js';
13
- import { I as Icon } from '../../../../chunks/Icon.js-D7CY3joB.js';
14
- import { M as Minus } from '../../../../chunks/minus.js-bsfnwE-h.js';
15
- import { L as Loader_circle } from '../../../../chunks/loader-circle.js-IYRaUYWq.js';
16
- import { C as Circle_dashed } from '../../../../chunks/circle-dashed.js-Bm3gZCXK.js';
17
- import { B as Button } from '../../../../chunks/button.js-HeBqLheH.js';
18
- import { S as StageTrack, B as BusyRing } from '../../../../chunks/StageTrack.js-BaorW-yk.js';
19
- import { C as ConsoleWindow, L as Lightbox, a as awaitingReview, M as Messages_square, Q as QuestionList, b as ConsoleFullscreen, r as reviewView } from '../../../../chunks/QuestionList.js-DglKezUe.js';
20
- import '../../../../chunks/exports.js-BZBK1HC9.js';
21
- import '../../../../chunks/utils2.js-BQzn9ikS.js';
22
- import '../../../../chunks/utils.js-DTSGDHlH.js';
23
- import '../../../../chunks/root.js-CQzYN4Pu.js';
24
- import { D as DictateTextarea } from '../../../../chunks/DictateTextarea.js-BlEnOzcN.js';
25
- import { s as sendToInbox } from '../../../../chunks/chat.svelte.js-Cgdbtjbw.js';
26
- import { a as feedbackNote } from '../../../../chunks/preview.js-CVD-Kwks.js';
27
- import { C as Chevron_right } from '../../../../chunks/chevron-right.js-yhLg_GaH.js';
28
- import { M as Message_square } from '../../../../chunks/message-square.js-Hp-6BHgG.js';
29
- import { E as External_link } from '../../../../chunks/external-link.js-WxVF0xXO.js';
30
- import { C as Compass } from '../../../../chunks/compass.js-Tq6uiG8I.js';
31
- import { e as etaLine, C as CONFIDENCE, P as PHASE_LABEL, d as duration } from '../../../../chunks/insights.js-CzzfyHGp.js';
32
- import { F as File_text } from '../../../../chunks/file-text.js-CAo3vdqd.js';
33
- import { P as PARTY_LABEL, D as DOC_KIND_LABEL } from '../../../../chunks/buildlog.js-BCKtSKOt.js';
34
- import { S as Scale } from '../../../../chunks/scale.js-vP4G0lZM.js';
35
- import { T as TimeBar } from '../../../../chunks/TimeBar.js-k38rc7ZI.js';
36
- import { T as TimeLegend } from '../../../../chunks/TimeLegend.js-BQVvgsvs.js';
37
- import { t as textClass, b as tone } from '../../../../chunks/tone.js-r2qFVrZC.js';
38
- import { t as tick } from '../../../../chunks/index-server.js-CtyUzIGY.js';
39
- import { A as Arrow_left } from '../../../../chunks/arrow-left.js-6Yey35CE.js';
40
- import { M as Monitor_play } from '../../../../chunks/monitor-play.js-B7qbbPH6.js';
41
- import '../../../../chunks/blocks.js-BL9jLCe-.js';
42
- import 'yaml';
43
- import '../../../../chunks/git-pull-request.js-Cx1w8BQr.js';
44
- import '../../../../chunks/index-server2.js-DMc-UvjC.js';
45
- import '../../../../chunks/anchor.js-ByXDBfbi.js';
46
- import '../../../../chunks/triangle-alert.js-DuE40HSU.js';
47
- import '../../../../chunks/square-terminal.js-D5Z4Sl2-.js';
48
- import '../../../../chunks/split.js-BsCU24rQ.js';
49
- import '../../../../chunks/message-square-text.js-N5uEmy8L.js';
50
- import '../../../../chunks/hand.js-xkYPYJZj.js';
51
- import '../../../../chunks/arrow-right.js-CfbPWRqu.js';
52
- import '../../../../chunks/chevron-down.js-D75hVSIe.js';
53
- import '../../../../chunks/MicButton.js-BZSQAyuM.js';
54
- import '../../../../chunks/messages.js-CFyGKoqq.js';
55
-
56
- function Circle_pause($$renderer, $$props) {
57
- let { $$slots, $$events, ...props } = $$props;
58
- const iconData = {
59
- "name": "circle-pause",
60
- "size": 24,
61
- "node": [
62
- ["circle", { "cx": "12", "cy": "12", "r": "10" }],
63
- ["line", { "x1": "10", "x2": "10", "y1": "15", "y2": "9" }],
64
- ["line", { "x1": "14", "x2": "14", "y1": "15", "y2": "9" }]
65
- ],
66
- "aliases": ["pause-circle"]
67
- };
68
- Icon($$renderer, spread_props([props, { icon: iconData }]));
69
- }
70
- function Image_off($$renderer, $$props) {
71
- let { $$slots, $$events, ...props } = $$props;
72
- const iconData = {
73
- "name": "image-off",
74
- "size": 24,
75
- "node": [
76
- ["line", { "x1": "2", "x2": "22", "y1": "2", "y2": "22" }],
77
- ["path", { "d": "M10.41 10.41a2 2 0 1 1-2.83-2.83" }],
78
- [
79
- "line",
80
- { "x1": "13.5", "x2": "6", "y1": "13.5", "y2": "21" }
81
- ],
82
- ["line", { "x1": "18", "x2": "21", "y1": "12", "y2": "15" }],
83
- [
84
- "path",
85
- {
86
- "d": "M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59"
87
- }
88
- ],
89
- ["path", { "d": "M21 15V5a2 2 0 0 0-2-2H9" }]
90
- ]
91
- };
92
- Icon($$renderer, spread_props([props, { icon: iconData }]));
93
- }
94
- function Panel_right_close($$renderer, $$props) {
95
- let { $$slots, $$events, ...props } = $$props;
96
- const iconData = {
97
- "name": "panel-right-close",
98
- "size": 24,
99
- "node": [
100
- [
101
- "rect",
102
- { "width": "18", "height": "18", "x": "3", "y": "3", "rx": "2" }
103
- ],
104
- ["path", { "d": "M15 3v18" }],
105
- ["path", { "d": "m8 9 3 3-3 3" }]
106
- ]
107
- };
108
- Icon($$renderer, spread_props([props, { icon: iconData }]));
109
- }
110
- function Send($$renderer, $$props) {
111
- let { $$slots, $$events, ...props } = $$props;
112
- const iconData = {
113
- "name": "send",
114
- "size": 24,
115
- "node": [
116
- [
117
- "path",
118
- {
119
- "d": "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"
120
- }
121
- ],
122
- ["path", { "d": "m21.854 2.147-10.94 10.939" }]
123
- ]
124
- };
125
- Icon($$renderer, spread_props([props, { icon: iconData }]));
126
- }
127
- function Timer($$renderer, $$props) {
128
- let { $$slots, $$events, ...props } = $$props;
129
- const iconData = {
130
- "name": "timer",
131
- "size": 24,
132
- "node": [
133
- ["line", { "x1": "10", "x2": "14", "y1": "2", "y2": "2" }],
134
- ["line", { "x1": "12", "x2": "15", "y1": "14", "y2": "11" }],
135
- ["circle", { "cx": "12", "cy": "14", "r": "8" }]
136
- ]
137
- };
138
- Icon($$renderer, spread_props([props, { icon: iconData }]));
139
- }
140
- function PreviewFeedback($$renderer, $$props) {
141
- $$renderer.component(($$renderer2) => {
142
- const id = props_id($$renderer2);
143
- let { taskId, url, rows = 2, onsent } = $$props;
144
- let text = "";
145
- let sending = false;
146
- let error = null;
147
- let sent = null;
148
- async function send() {
149
- if (!text.trim() || sending) return;
150
- sending = true;
151
- error = null;
152
- const r = await sendToInbox(feedbackNote(url, text), page.data.sessionToken, taskId);
153
- sending = false;
154
- if (!r.ok) {
155
- error = r.error;
156
- return;
157
- }
158
- sent = { at: (/* @__PURE__ */ new Date()).toISOString(), pending: !!r.pending };
159
- text = "";
160
- onsent?.();
161
- }
162
- function onkeydown(e) {
163
- if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
164
- e.preventDefault();
165
- void send();
166
- }
167
- }
168
- let $$settled = true;
169
- let $$inner_renderer;
170
- function $$render_inner($$renderer3) {
171
- $$renderer3.push(`<form class="mt-3" data-preview-feedback=""><label class="text-xs font-medium text-muted-foreground"${attr("for", `feedback-${id}`)}>Feedback on this preview</label> `);
172
- DictateTextarea($$renderer3, {
173
- id: `feedback-${id}`,
174
- onkeydown,
175
- rows,
176
- maxlength: 8e3,
177
- placeholder: "What should change? It goes to the worker through Firstmate.",
178
- class: "mt-1 min-h-14 text-sm",
179
- get value() {
180
- return text;
181
- },
182
- set value($$value) {
183
- text = $$value;
184
- $$settled = false;
185
- }
186
- });
187
- $$renderer3.push(`<!----> <div class="mt-2 flex flex-wrap items-center gap-x-3 gap-y-1">`);
188
- Button($$renderer3, {
189
- type: "submit",
190
- size: "sm",
191
- disabled: !text.trim() || sending,
192
- children: ($$renderer4) => {
193
- Send($$renderer4, {});
194
- $$renderer4.push(`<!---->${escape_html(sending ? "Sending…" : "Send feedback")}`);
195
- },
196
- $$slots: { default: true }
197
- });
198
- $$renderer3.push(`<!----> `);
199
- if (error) {
200
- $$renderer3.push(`<!--[0--><p class="text-xs text-danger" role="alert">${escape_html(error)}</p>`);
201
- } else if (sent) {
202
- $$renderer3.push(`<!--[1--><p class="text-xs text-muted-foreground" role="status" data-feedback-sent="">${escape_html(sent.pending ? `Saved at ${clock(sent.at)}; Wheelhouse is confirming Firstmate has it.` : `Sent at ${clock(sent.at)}. Firstmate passes it to the worker.`)}</p>`);
203
- } else {
204
- $$renderer3.push(`<!--[-1--><p class="text-xs text-muted-foreground">⌘/Ctrl+Enter sends; the mic dictates.</p>`);
205
- }
206
- $$renderer3.push(`<!--]--></div></form>`);
207
- }
208
- do {
209
- $$settled = true;
210
- $$inner_renderer = $$renderer2.copy();
211
- $$render_inner($$inner_renderer);
212
- } while (!$$settled);
213
- $$renderer2.subsume($$inner_renderer);
214
- });
215
- }
216
- function LivePreview($$renderer, $$props) {
217
- $$renderer.component(($$renderer2) => {
218
- let {
219
- taskId,
220
- compact = false,
221
- fill = false,
222
- feedback = true,
223
- onfullscreen
224
- } = $$props;
225
- const url = derived(() => null);
226
- $$renderer2.push(`<div${attr_class(`min-w-0 ${fill ? "flex h-full flex-col" : ""}`)}${attr("data-live-preview", "checking")}><div class="flex items-center gap-2 text-xs text-muted-foreground"><span class="min-w-0 flex-1 truncate font-mono"${attr("title", url() ?? void 0)}>${escape_html(url() ?? "Live preview")}</span> `);
227
- {
228
- $$renderer2.push("<!--[-1-->");
229
- }
230
- $$renderer2.push(`<!--]--> `);
231
- {
232
- $$renderer2.push("<!--[-1-->");
233
- }
234
- $$renderer2.push(`<!--]--></div> <div${attr_class(`relative mt-1.5 w-full overflow-hidden rounded-lg border bg-muted/40 ${compact ? "aspect-[16/10]" : fill ? "min-h-0 flex-1" : "h-40"}`)}>`);
235
- {
236
- $$renderer2.push(`<!--[-1--><div class="grid size-full place-items-center p-4 text-center text-muted-foreground"><div>`);
237
- {
238
- $$renderer2.push(`<!--[0--><p class="text-sm">Checking the preview…</p>`);
239
- }
240
- $$renderer2.push(`<!--]--></div></div>`);
241
- }
242
- $$renderer2.push(`<!--]--></div> `);
243
- if (feedback && url()) {
244
- $$renderer2.push("<!--[0-->");
245
- PreviewFeedback($$renderer2, { taskId, url: url() });
246
- } else {
247
- $$renderer2.push("<!--[-1-->");
248
- }
249
- $$renderer2.push(`<!--]--></div>`);
250
- });
251
- }
252
- function placeTaskSections(entries, stepKeys) {
253
- const steps = new Set(stepKeys);
254
- const afterStep = {};
255
- const byOrder = [];
256
- for (const e of entries) {
257
- if (e.slot !== "task.section") continue;
258
- if (e.step !== null && steps.has(e.step)) (afterStep[e.step] ??= []).push(e);
259
- else byOrder.push(e);
260
- }
261
- return { afterStep, byOrder };
262
- }
263
- function ChecksTimeline($$renderer, $$props) {
264
- $$renderer.component(($$renderer2) => {
265
- let { pipeline, busy = false, prChecks = [] } = $$props;
266
- const rows = derived(() => {
267
- const out = [];
268
- for (const s of pipeline.steps) {
269
- const last = out.at(-1);
270
- if (s.state === "upcoming") {
271
- if (last?.kind === "later") last.labels.push(s.label);
272
- else out.push({ kind: "later", labels: [s.label] });
273
- } else out.push({ kind: "step", s });
274
- }
275
- return out;
276
- });
277
- const line = derived(() => checksLine(pipeline, live.now));
278
- const ci = derived(() => ciChecksLine(prChecks));
279
- const under = (s) => s.key === pipeline.step && pipeline.outcome === "running";
280
- function took(s) {
281
- if (under(s) && (s.state === "running" || s.state === "fixing")) {
282
- const from = Date.parse(pipeline.startedAt ?? "");
283
- if (!Number.isNaN(from)) return duration$1(live.now - from);
284
- }
285
- return s.durationMs != null && s.durationMs >= 1e3 ? duration$1(s.durationMs) : null;
286
- }
287
- function summary(s) {
288
- const text = stepSummary(s, pipeline);
289
- return s.key === "ci" && ci() ? `${text} · ${ci()}` : text;
290
- }
291
- $$renderer2.push(`<div data-checks-timeline=""><p class="tabular text-sm">${escape_html(line())}</p> <ol class="mt-3 space-y-0.5 text-sm"><!--[-->`);
292
- const each_array = ensure_array_like(rows());
293
- for (let i = 0, $$length = each_array.length; i < $$length; i++) {
294
- let r = each_array[i];
295
- if (r.kind === "step") {
296
- $$renderer2.push("<!--[0-->");
297
- const tone2 = segmentTone(r.s, pipeline);
298
- $$renderer2.push(`<li class="grid grid-cols-[1.25rem_6.5rem_minmax(0,1fr)_auto] items-start gap-x-2 py-1"><span class="flex h-5 items-center">`);
299
- if (tone2 === "done") {
300
- $$renderer2.push("<!--[0-->");
301
- Check($$renderer2, {
302
- class: `size-4 ${r.s.key === "ci" ? "text-success" : "text-muted-foreground"}`,
303
- "aria-label": "Done"
304
- });
305
- } else if (tone2 === "failed") {
306
- $$renderer2.push("<!--[1-->");
307
- X($$renderer2, { class: "size-4 text-danger", "aria-label": "Failed" });
308
- } else if (tone2 === "waiting") {
309
- $$renderer2.push("<!--[2-->");
310
- Circle_pause($$renderer2, {
311
- class: "size-4 text-warning",
312
- "aria-label": "Waiting on Firstmate"
313
- });
314
- } else if (tone2 === "skipped") {
315
- $$renderer2.push("<!--[3-->");
316
- Minus($$renderer2, {
317
- class: "size-4 text-muted-foreground",
318
- "aria-label": "Skipped"
319
- });
320
- } else {
321
- $$renderer2.push("<!--[-1-->");
322
- Loader_circle($$renderer2, {
323
- class: `size-4 text-foreground ${busy ? "motion-safe:animate-spin" : ""}`,
324
- "aria-label": tone2 === "fixing" ? "Fixing" : "Under way"
325
- });
326
- }
327
- $$renderer2.push(`<!--]--></span> <span${attr_class(`truncate leading-5 ${under(r.s) ? "font-medium" : ""}`)}>${escape_html(r.s.label)}</span> <span${attr_class(`leading-5 ${tone2 === "failed" ? "text-danger" : tone2 === "waiting" ? "text-warning" : "text-muted-foreground"}`)}>${escape_html(summary(r.s))}</span> <span class="tabular text-right text-xs leading-5 text-muted-foreground">${escape_html(took(r.s) ?? "")}</span></li>`);
328
- } else {
329
- $$renderer2.push(`<!--[-1--><li class="grid grid-cols-[1.25rem_minmax(0,1fr)] items-start gap-x-2 py-1 text-muted-foreground"><span class="flex h-5 items-center">`);
330
- Circle_dashed($$renderer2, {
331
- class: "size-4 text-muted-foreground/60",
332
- "aria-hidden": "true"
333
- });
334
- $$renderer2.push(`<!----></span> <span class="leading-5">Still to come: ${escape_html(r.labels.join(", "))}</span></li>`);
335
- }
336
- $$renderer2.push(`<!--]-->`);
337
- }
338
- $$renderer2.push(`<!--]--></ol></div>`);
339
- });
340
- }
341
- function DiffDialog($$renderer, $$props) {
342
- $$renderer.component(($$renderer2) => {
343
- let { taskId, file = null } = $$props;
344
- $$renderer2.push(`<dialog class="m-auto h-[88vh] w-[min(94vw,1100px)] max-w-none overflow-hidden rounded-xl border bg-background p-0 text-foreground shadow-xl backdrop:bg-black/60"${attr("aria-label", file ? `Changes to ${file}` : "Changes")}>`);
345
- if (file) {
346
- $$renderer2.push(`<!--[0--><div class="flex h-full flex-col"><div class="flex items-center gap-3 border-b px-4 py-2.5 text-sm"><span class="min-w-0 flex-1 truncate font-mono text-xs"${attr("title", file)}>${escape_html(file)}</span> `);
347
- {
348
- $$renderer2.push("<!--[-1-->");
349
- }
350
- $$renderer2.push(`<!--]--> <span class="text-xs text-muted-foreground">read-only</span> <button type="button" class="rounded p-1 hover:bg-accent" aria-label="Close">`);
351
- X($$renderer2, { class: "size-4" });
352
- $$renderer2.push(`<!----></button></div> <div class="min-h-0 flex-1 overflow-auto">`);
353
- {
354
- $$renderer2.push(`<!--[1--><p class="p-4 text-sm text-muted-foreground">Reading the diff…</p>`);
355
- }
356
- $$renderer2.push(`<!--]--></div> `);
357
- {
358
- $$renderer2.push("<!--[-1-->");
359
- }
360
- $$renderer2.push(`<!--]--></div>`);
361
- } else {
362
- $$renderer2.push("<!--[-1-->");
363
- }
364
- $$renderer2.push(`<!--]--></dialog>`);
365
- bind_props($$props, { file });
366
- });
367
- }
368
- function OutputInspector($$renderer, $$props) {
369
- $$renderer.component(($$renderer2) => {
370
- let { task } = $$props;
371
- let open = false;
372
- let full = false;
373
- let $$settled = true;
374
- let $$inner_renderer;
375
- function $$render_inner($$renderer3) {
376
- $$renderer3.push(`<details class="group rounded-xl border"${attr("open", open, true)}><summary class="flex list-none items-center gap-2 px-4 py-3 text-sm [&amp;::-webkit-details-marker]:hidden">`);
377
- Chevron_right($$renderer3, {
378
- class: "size-4 text-muted-foreground transition-transform group-open:rotate-90",
379
- "aria-hidden": "true"
380
- });
381
- $$renderer3.push(`<!----> <span class="font-medium">Raw terminal output</span> <span class="text-muted-foreground">read-only sample of the last 40 lines</span></summary> <div class="border-t p-4">`);
382
- if (!task.outputAvailable) {
383
- $$renderer3.push(`<!--[0--><p class="text-sm text-muted-foreground">Not available. ${escape_html(task.outputNote)}</p>`);
384
- } else {
385
- $$renderer3.push(`<!--[2--><p class="text-sm text-muted-foreground">Reading the worker’s terminal…</p>`);
386
- }
387
- $$renderer3.push(`<!--]--></div></details> `);
388
- ConsoleFullscreen($$renderer3, {
389
- task,
390
- get open() {
391
- return full;
392
- },
393
- set open($$value) {
394
- full = $$value;
395
- $$settled = false;
396
- }
397
- });
398
- $$renderer3.push(`<!---->`);
399
- }
400
- do {
401
- $$settled = true;
402
- $$inner_renderer = $$renderer2.copy();
403
- $$render_inner($$inner_renderer);
404
- } while (!$$settled);
405
- $$renderer2.subsume($$inner_renderer);
406
- });
407
- }
408
- const DEFAULT_TAB = "stages";
409
- function taskTabs(o) {
410
- const counted = (n) => n ? { count: n } : {};
411
- return [
412
- { id: "stages", label: "Stages" },
413
- ...o.preview ? [{ id: "preview", label: "Live preview" }] : [],
414
- ...o.build ? [
415
- { id: "talk", label: "Conversation", ...counted(o.build.talk) },
416
- { id: "checks", label: "Checks" },
417
- { id: "docs", label: "Docs", ...counted(o.build.docs) }
418
- ] : [],
419
- { id: "screenshots", label: "Screenshots", ...counted(o.shots) },
420
- ...o.plugins.map((p) => ({ id: `plugin:${p.key}`, label: p.title })),
421
- { id: "log", label: "Log" }
422
- ];
423
- }
424
- const pickTab = (want, tabs) => want && tabs.some((t) => t.id === want) ? want : DEFAULT_TAB;
425
- const openByDefault = (s) => s.state === "current";
426
- const hasDetail = (s) => s.state === "done" || s.state === "current" || !!s.note;
427
- const plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
428
- function stepGist(s, task, ev) {
429
- if (s.state === "skipped") return s.note;
430
- if (s.state === "upcoming") return null;
431
- const parts = [];
432
- for (const id of s.evidence) {
433
- if (id === "files" && ev?.files.available) {
434
- const n = ev.files.value.total;
435
- parts.push(n ? `${plural(n, "file")} changed` : "No changes yet");
436
- } else if (id === "pr" && (ev?.pr.available || task.pr)) {
437
- const pr = ev?.pr.available ? ev.pr.value : null;
438
- const n = pr?.number ?? task.pr?.number ?? null;
439
- const state = pr ? pr.draft ? "draft" : pr.state : null;
440
- parts.push(`Pull request${n ? ` #${n}` : ""}${state ? ` ${state}` : ""}`);
441
- } else if (id === "screenshots" && ev?.screenshots.available && ev.screenshots.value.length) {
442
- parts.push(plural(ev.screenshots.value.length, "screenshot"));
443
- } else if (id === "report" && ev?.report.available) {
444
- parts.push("Report written");
445
- } else if (id === "validation" && s.state === "done") {
446
- parts.push("Checks passed");
447
- }
448
- }
449
- return parts.length ? parts.join(" · ") : s.note;
450
- }
451
- const PREFIX = /^Review feedback on the live preview \([^)\n]*\):\n/;
452
- const STATUS = {
453
- sending: "Sending…",
454
- uncertain: "Confirming Firstmate has it…",
455
- "saved-unannounced": "Saved; Firstmate reads it at its next check",
456
- delivered: "Sent to Firstmate",
457
- failed: "Not delivered"
458
- };
459
- function previewThread(messages, taskId) {
460
- return messages.filter((m) => m.taskId === taskId && PREFIX.test(m.text)).map((m) => ({
461
- id: m.requestId,
462
- text: m.text.replace(PREFIX, ""),
463
- at: m.submittedAt,
464
- status: m.delivery === "delivered" && m.acknowledged ? "Firstmate has it" : STATUS[m.delivery],
465
- failed: m.delivery === "failed",
466
- reply: m.reply?.body ?? null
467
- }));
468
- }
469
- function PreviewStudio($$renderer, $$props) {
470
- $$renderer.component(($$renderer2) => {
471
- let { taskId, title, url, feedback = true } = $$props;
472
- let panel = true;
473
- let thread = [];
474
- let threadError = null;
475
- let list = null;
476
- async function loadThread() {
477
- try {
478
- const r = await fetch("/api/firstmate/messages");
479
- if (!r.ok) throw new Error(String(r.status));
480
- const v = await r.json();
481
- const next = previewThread(v.messages, taskId);
482
- const grew = next.length > thread.length;
483
- thread = next;
484
- threadError = v.available ? null : v.reason;
485
- if (grew) requestAnimationFrame(() => list?.scrollTo({ top: list.scrollHeight }));
486
- } catch {
487
- threadError = "Could not read what was sent; Wheelhouse will try again.";
488
- }
489
- }
490
- $$renderer2.push(`<div class="fixed inset-0 z-50 flex flex-col bg-background outline-none" role="dialog" aria-modal="true"${attr("aria-label", `Live preview of ${stringify(title)}, full screen`)} tabindex="-1" data-preview-studio=""><div class="flex h-12 shrink-0 items-center gap-3 border-b px-3 sm:px-4"><p class="min-w-0 flex-1 truncate text-sm"><span class="font-medium">${escape_html(title)}</span> <span class="text-muted-foreground">· Live preview</span></p> `);
491
- if (feedback) {
492
- $$renderer2.push("<!--[0-->");
493
- {
494
- $$renderer2.push(`<!--[0--><button type="button" class="inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground">`);
495
- Panel_right_close($$renderer2, { class: "size-4", "aria-hidden": "true" });
496
- $$renderer2.push(`<!---->Hide comments</button>`);
497
- }
498
- $$renderer2.push(`<!--]-->`);
499
- } else {
500
- $$renderer2.push("<!--[-1-->");
501
- }
502
- $$renderer2.push(`<!--]--> <button type="button" class="inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs hover:bg-accent" aria-label="Close full screen (Esc)" title="Close (Esc)">`);
503
- X($$renderer2, { class: "size-4", "aria-hidden": "true" });
504
- $$renderer2.push(`<!---->Close</button></div> <div class="relative flex min-h-0 flex-1"><div class="min-w-0 flex-1 p-3">`);
505
- LivePreview($$renderer2, { taskId, fill: true, feedback: false });
506
- $$renderer2.push(`<!----></div> `);
507
- if (feedback && panel) {
508
- $$renderer2.push(`<!--[0--><aside class="flex min-h-0 w-[22rem] shrink-0 flex-col border-l bg-panel xl:w-96" aria-label="Feedback on this preview"><div class="border-b px-4 py-3"><h2 class="flex items-center gap-2 text-sm font-medium">`);
509
- Message_square($$renderer2, { class: "size-4 text-muted-foreground", "aria-hidden": "true" });
510
- $$renderer2.push(`<!---->Feedback</h2> <p class="mt-0.5 text-xs text-muted-foreground">Goes to the worker through Firstmate.</p></div> <ol class="no-scrollbar min-h-0 flex-1 space-y-4 overflow-y-auto px-4 py-4" aria-label="Sent from this preview" data-preview-thread="">`);
511
- const each_array = ensure_array_like(thread);
512
- if (each_array.length !== 0) {
513
- $$renderer2.push("<!--[-->");
514
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
515
- let c = each_array[$$index];
516
- $$renderer2.push(`<li><p class="text-sm leading-relaxed whitespace-pre-line">${escape_html(c.text)}</p> <p${attr_class(`mt-1 text-xs ${c.failed ? "text-danger" : "text-muted-foreground"}`)}>${escape_html(clock(c.at))} · ${escape_html(c.status)}</p> `);
517
- if (c.reply) {
518
- $$renderer2.push(`<!--[0--><p class="mt-2 rounded-lg bg-muted px-3 py-2 text-sm leading-relaxed whitespace-pre-line"><span class="font-medium">Firstmate:</span> ${escape_html(c.reply)}</p>`);
519
- } else {
520
- $$renderer2.push("<!--[-1-->");
521
- }
522
- $$renderer2.push(`<!--]--></li>`);
523
- }
524
- } else {
525
- $$renderer2.push(`<!--[!--><li class="pt-6 text-sm text-muted-foreground">Nothing sent from this preview yet.<br/>Say what should change, as you look.</li>`);
526
- }
527
- $$renderer2.push(`<!--]--> `);
528
- if (threadError) {
529
- $$renderer2.push(`<!--[0--><li class="text-xs text-warning">${escape_html(threadError)}</li>`);
530
- } else {
531
- $$renderer2.push("<!--[-1-->");
532
- }
533
- $$renderer2.push(`<!--]--></ol> <div class="border-t px-4 pt-1 pb-4">`);
534
- PreviewFeedback($$renderer2, { taskId, url, rows: 3, onsent: loadThread });
535
- $$renderer2.push(`<!----></div></aside>`);
536
- } else if (feedback) {
537
- $$renderer2.push(`<!--[1--><button type="button" class="absolute right-5 bottom-5 inline-flex items-center gap-2 rounded-full border bg-background px-4 py-2 text-sm font-medium shadow-lg hover:bg-accent">`);
538
- Message_square($$renderer2, { class: "size-4", "aria-hidden": "true" });
539
- $$renderer2.push(`<!---->Comments${escape_html(thread.length ? ` (${thread.length})` : "")}</button>`);
540
- } else {
541
- $$renderer2.push("<!--[-1-->");
542
- }
543
- $$renderer2.push(`<!--]--></div></div>`);
544
- });
545
- }
546
- function RawDetails($$renderer, $$props) {
547
- $$renderer.component(($$renderer2) => {
548
- let { raw, plain = null } = $$props;
549
- const show = derived(() => !!raw?.trim() && raw.trim() !== plain?.trim());
550
- if (show()) {
551
- $$renderer2.push(`<!--[0--><details class="group mt-1 text-xs text-muted-foreground"><summary class="inline select-none hover:text-foreground">details</summary> <p class="mt-1 font-mono break-words whitespace-pre-wrap">${escape_html(raw)}</p></details>`);
552
- } else {
553
- $$renderer2.push("<!--[-1-->");
554
- }
555
- $$renderer2.push(`<!--]-->`);
556
- });
557
- }
558
- function ReviewPanel($$renderer, $$props) {
559
- $$renderer.component(($$renderer2) => {
560
- let { task, shots } = $$props;
561
- const rv = derived(() => reviewView(task, shots));
562
- let enlarged = null;
563
- let $$settled = true;
564
- let $$inner_renderer;
565
- function $$render_inner($$renderer3) {
566
- $$renderer3.push(`<section class="rounded-2xl border border-sea/40 p-3" aria-labelledby="review-evidence"><h2 id="review-evidence" class="px-1 pt-1 text-sm font-medium text-sea">Review evidence</h2> `);
567
- if (rv().shots.length) {
568
- $$renderer3.push(`<!--[0--><button type="button" class="mt-3 block w-full cursor-zoom-in"${attr("aria-label", `Enlarge ${stringify(rv().shots[0].name)}`)}><img${attr("src", rv().shots[0].url)}${attr("alt", rv().shots[0].name)} class="aspect-[16/10] w-full rounded-xl border object-cover object-top"/></button> `);
569
- if (rv().shots.length > 1) {
570
- $$renderer3.push(`<!--[0--><div class="mt-3 flex flex-wrap gap-2"><!--[-->`);
571
- const each_array = ensure_array_like(rv().shots.slice(1));
572
- for (let i = 0, $$length = each_array.length; i < $$length; i++) {
573
- let s = each_array[i];
574
- $$renderer3.push(`<button type="button" class="w-20 shrink-0 cursor-zoom-in"${attr("aria-label", `Enlarge ${stringify(s.name)}`)}><img${attr("src", s.url)}${attr("alt", s.name)} loading="lazy" class="aspect-[16/10] w-full rounded-md border object-cover object-top"/></button>`);
575
- }
576
- $$renderer3.push(`<!--]--></div>`);
577
- } else {
578
- $$renderer3.push("<!--[-1-->");
579
- }
580
- $$renderer3.push(`<!--]--> <p class="mt-2 px-1 text-xs text-muted-foreground" data-review="screenshots">${escape_html(rv().shotsText)}; select one to enlarge.</p>`);
581
- } else {
582
- $$renderer3.push(`<!--[-1--><div class="mt-3 grid aspect-[16/10] w-full place-items-center rounded-xl border border-dashed bg-muted/40 text-center" data-review="screenshots"><div class="text-muted-foreground">`);
583
- Image_off($$renderer3, { class: "mx-auto size-6", "aria-hidden": "true" });
584
- $$renderer3.push(`<!----> <p class="mt-2 text-sm font-medium">${escape_html(rv().shotsText)}</p> <p class="mt-1 text-xs">The worker has not saved any screenshots for this task.</p></div></div>`);
585
- }
586
- $$renderer3.push(`<!--]--> <div class="mt-3 flex flex-wrap items-center gap-2 px-1 pb-1">`);
587
- if (rv().preview) {
588
- $$renderer3.push("<!--[0-->");
589
- Button($$renderer3, {
590
- href: rv().preview.url,
591
- target: "_blank",
592
- rel: "noreferrer",
593
- children: ($$renderer4) => {
594
- $$renderer4.push(`<!---->Open preview`);
595
- External_link($$renderer4, {});
596
- $$renderer4.push(`<!---->`);
597
- },
598
- $$slots: { default: true }
599
- });
600
- } else {
601
- $$renderer3.push(`<!--[-1--><span class="text-sm text-muted-foreground" data-review="preview">${escape_html(rv().previewText)}</span>`);
602
- }
603
- $$renderer3.push(`<!--]--> `);
604
- if (rv().pr) {
605
- $$renderer3.push("<!--[0-->");
606
- Button($$renderer3, {
607
- variant: rv().preview ? "outline" : "default",
608
- href: rv().pr.url,
609
- target: "_blank",
610
- rel: "noreferrer",
611
- children: ($$renderer4) => {
612
- $$renderer4.push(`<!---->Review ${escape_html(rv().pr.label)}`);
613
- External_link($$renderer4, {});
614
- $$renderer4.push(`<!---->`);
615
- },
616
- $$slots: { default: true }
617
- });
618
- $$renderer3.push(`<!----> `);
619
- Button($$renderer3, {
620
- variant: "outline",
621
- href: `/tasks/${stringify(encodeURIComponent(task.id))}/review`,
622
- children: ($$renderer4) => {
623
- Compass($$renderer4, {});
624
- $$renderer4.push(`<!---->Guided review`);
625
- },
626
- $$slots: { default: true }
627
- });
628
- $$renderer3.push(`<!---->`);
629
- } else {
630
- $$renderer3.push(`<!--[-1--><span class="text-sm text-muted-foreground" data-review="pr">${escape_html(rv().prText)}</span>`);
631
- }
632
- $$renderer3.push(`<!--]--> `);
633
- if (rv().preview) {
634
- $$renderer3.push(`<!--[0--><a${attr("href", rv().preview.url)} target="_blank" rel="noreferrer" class="ml-auto truncate font-mono text-xs text-muted-foreground hover:underline">${escape_html(rv().preview.url)}</a>`);
635
- } else {
636
- $$renderer3.push("<!--[-1-->");
637
- }
638
- $$renderer3.push(`<!--]--></div></section> `);
639
- Lightbox($$renderer3, {
640
- shots: rv().shots,
641
- get index() {
642
- return enlarged;
643
- },
644
- set index($$value) {
645
- enlarged = $$value;
646
- $$settled = false;
647
- }
648
- });
649
- $$renderer3.push(`<!---->`);
650
- }
651
- do {
652
- $$settled = true;
653
- $$inner_renderer = $$renderer2.copy();
654
- $$render_inner($$inner_renderer);
655
- } while (!$$settled);
656
- $$renderer2.subsume($$inner_renderer);
657
- });
658
- }
659
- function stateIcon($$renderer, s) {
660
- if (s.state === "done") {
661
- $$renderer.push("<!--[0-->");
662
- Check($$renderer, { class: "size-4 shrink-0 text-success", "aria-label": "Done" });
663
- } else if (s.state === "failed") {
664
- $$renderer.push("<!--[1-->");
665
- X($$renderer, { class: "size-4 shrink-0 text-danger", "aria-label": "Failed" });
666
- } else if (s.state === "running" || s.state === "fixing") {
667
- $$renderer.push("<!--[2-->");
668
- Loader_circle($$renderer, {
669
- class: "size-4 shrink-0 animate-spin text-muted-foreground",
670
- "aria-label": s.state === "fixing" ? "Fixing" : "Running"
671
- });
672
- } else if (s.state === "waiting") {
673
- $$renderer.push("<!--[3-->");
674
- Circle_pause($$renderer, {
675
- class: "size-4 shrink-0 text-warning",
676
- "aria-label": "Waiting for a decision"
677
- });
678
- } else if (s.state === "skipped") {
679
- $$renderer.push("<!--[4-->");
680
- Minus($$renderer, {
681
- class: "size-4 shrink-0 text-muted-foreground",
682
- "aria-label": "Skipped"
683
- });
684
- } else {
685
- $$renderer.push("<!--[-1-->");
686
- Circle_dashed($$renderer, {
687
- class: "size-4 shrink-0 text-muted-foreground",
688
- "aria-label": "Not started"
689
- });
690
- }
691
- $$renderer.push(`<!--]-->`);
692
- }
693
- function ChecksReport($$renderer, $$props) {
694
- $$renderer.component(($$renderer2) => {
695
- let { checks, taskId } = $$props;
696
- const hasMore = (s) => s.notes.length > 0 || !!s.tests?.failures.length || !!s.tests?.scenarios.length || !!s.docs?.files.length || !!s.docs?.summary.length;
697
- let toggled = {};
698
- const isOpen = (s) => toggled[s.key] ?? (s.state === "failed" || !!s.tests?.failed || s.tests?.scenarios.some((x) => x.result === "fail"));
699
- const docHref = (p) => `/tasks/${encodeURIComponent(taskId)}/doc?path=${encodeURIComponent(p)}`;
700
- const RESULT = {
701
- pass: "Passed",
702
- fail: "Failed",
703
- untested: "Not tested",
704
- other: "Other"
705
- };
706
- function testName(full) {
707
- const parts = full.split(" › ");
708
- const last = parts.pop() ?? full;
709
- return {
710
- title: last.charAt(0).toUpperCase() + last.slice(1),
711
- where: parts.length ? parts.join(" › ") : null
712
- };
713
- }
714
- $$renderer2.push(`<section aria-labelledby="checks-report" class="max-w-4xl"><h2 id="checks-report" class="sr-only">What each check found</h2> `);
715
- if (!checks.available) {
716
- $$renderer2.push(`<!--[0--><div class="rounded-xl border border-dashed p-6 text-sm text-muted-foreground"><p class="font-medium text-foreground">No checks to show yet</p> <p class="mt-1">${escape_html(checks.reason)}</p></div>`);
717
- } else {
718
- $$renderer2.push("<!--[-1-->");
719
- const v = checks.value;
720
- $$renderer2.push(`<p class="text-sm text-muted-foreground">The automated review and tests${escape_html(v.startedAt ? `, started ${clock(v.startedAt)}` : "")}${escape_html(v.runs > 1 ? ` (the latest of ${v.runs} runs)` : "")}${escape_html(v.outcome === "passed" ? ": everything passed." : v.outcome === "failed" ? ": it failed." : v.outcome === "cancelled" ? ": it was cancelled." : ".")}</p> <ol class="mt-4 divide-y divide-hair rounded-lg border bg-card"><!--[-->`);
721
- const each_array = ensure_array_like(v.steps);
722
- for (let $$index_5 = 0, $$length = each_array.length; $$index_5 < $$length; $$index_5++) {
723
- let s = each_array[$$index_5];
724
- const more = hasMore(s);
725
- const open = more && isOpen(s);
726
- $$renderer2.push(`<li${attr("data-check-step", s.key)}><button type="button"${attr_class(`flex w-full items-start gap-3 px-4 py-3 text-left disabled:cursor-default ${more ? "hover:bg-accent/40" : ""}`)}${attr("disabled", !more, true)}${attr("aria-expanded", more ? open : void 0)}${attr("aria-controls", more ? `check-${s.key}` : void 0)}><span class="mt-0.5">`);
727
- stateIcon($$renderer2, s);
728
- $$renderer2.push(`<!----></span> <span class="min-w-0 flex-1"><span class="font-medium">${escape_html(s.label)}</span> <span${attr_class(`block text-sm ${s.state === "failed" || s.tests?.failed || s.tests?.scenarios.some((x) => x.result === "fail") ? "text-danger" : "text-muted-foreground"}`)}>${escape_html(s.summary)}</span></span> `);
729
- if (s.durationMs) {
730
- $$renderer2.push(`<!--[0--><span class="tabular shrink-0 pt-0.5 text-xs text-muted-foreground">${escape_html(duration(Math.round(s.durationMs / 1e3)))}</span>`);
731
- } else {
732
- $$renderer2.push("<!--[-1-->");
733
- }
734
- $$renderer2.push(`<!--]--> `);
735
- if (more) {
736
- $$renderer2.push("<!--[0-->");
737
- Chevron_right($$renderer2, {
738
- class: `mt-0.5 size-4 shrink-0 text-muted-foreground transition-transform ${open ? "rotate-90" : ""}`,
739
- "aria-hidden": "true"
740
- });
741
- } else {
742
- $$renderer2.push("<!--[-1-->");
743
- }
744
- $$renderer2.push(`<!--]--></button> `);
745
- if (open) {
746
- $$renderer2.push(`<!--[0--><div${attr("id", `check-${stringify(s.key)}`)} class="space-y-4 px-4 pb-4 pl-11 text-sm">`);
747
- if (s.tests) {
748
- $$renderer2.push("<!--[0-->");
749
- const t = s.tests;
750
- if (t.passed !== null || t.failed !== null) {
751
- $$renderer2.push(`<!--[0--><p class="tabular flex flex-wrap gap-x-4"><span><span class="font-medium text-success">${escape_html(t.passed ?? 0)}</span> passed</span> <span><span${attr_class(`font-medium ${t.failed ? "text-danger" : ""}`)}>${escape_html(t.failed ?? 0)}</span> failed</span> `);
752
- if (t.skipped) {
753
- $$renderer2.push(`<!--[0--><span><span class="font-medium">${escape_html(t.skipped)}</span> skipped</span>`);
754
- } else {
755
- $$renderer2.push("<!--[-1-->");
756
- }
757
- $$renderer2.push(`<!--]--></p>`);
758
- } else {
759
- $$renderer2.push("<!--[-1-->");
760
- }
761
- $$renderer2.push(`<!--]--> `);
762
- if (t.failures.length) {
763
- $$renderer2.push(`<!--[0--><ul class="space-y-2"><!--[-->`);
764
- const each_array_1 = ensure_array_like(t.failures);
765
- for (let n = 0, $$length2 = each_array_1.length; n < $$length2; n++) {
766
- let f = each_array_1[n];
767
- const name = testName(f.name);
768
- $$renderer2.push(`<li><details class="rounded-md border border-danger/30 bg-danger/5"${attr("open", n === 0, true)}><summary class="flex cursor-pointer items-start gap-2 px-3 py-2">`);
769
- X($$renderer2, {
770
- class: "mt-0.5 size-4 shrink-0 text-danger",
771
- "aria-hidden": "true"
772
- });
773
- $$renderer2.push(`<!----> <span class="min-w-0 break-words">${escape_html(name.title)}`);
774
- if (name.where) {
775
- $$renderer2.push(`<!--[0--><span class="block text-xs text-muted-foreground">${escape_html(name.where)}</span>`);
776
- } else {
777
- $$renderer2.push("<!--[-1-->");
778
- }
779
- $$renderer2.push(`<!--]--></span></summary> `);
780
- if (f.output) {
781
- $$renderer2.push(`<!--[0--><pre class="overflow-x-auto border-t border-danger/20 px-3 py-2 font-mono text-xs whitespace-pre">${escape_html(f.output)}</pre>`);
782
- } else {
783
- $$renderer2.push("<!--[-1-->");
784
- }
785
- $$renderer2.push(`<!--]--></details></li>`);
786
- }
787
- $$renderer2.push(`<!--]--></ul>`);
788
- } else {
789
- $$renderer2.push("<!--[-1-->");
790
- }
791
- $$renderer2.push(`<!--]--> `);
792
- if (t.scenarios.length) {
793
- $$renderer2.push(`<!--[0--><ul class="divide-y divide-hair rounded-md border border-hair"><!--[-->`);
794
- const each_array_2 = ensure_array_like(t.scenarios);
795
- for (let i = 0, $$length2 = each_array_2.length; i < $$length2; i++) {
796
- let sc = each_array_2[i];
797
- $$renderer2.push(`<li class="flex items-start gap-3 px-3 py-2">`);
798
- if (sc.result === "pass") {
799
- $$renderer2.push("<!--[0-->");
800
- Check($$renderer2, {
801
- class: "mt-0.5 size-4 shrink-0 text-success",
802
- "aria-hidden": "true"
803
- });
804
- } else if (sc.result === "fail") {
805
- $$renderer2.push("<!--[1-->");
806
- X($$renderer2, {
807
- class: "mt-0.5 size-4 shrink-0 text-danger",
808
- "aria-hidden": "true"
809
- });
810
- } else {
811
- $$renderer2.push("<!--[-1-->");
812
- Minus($$renderer2, {
813
- class: "mt-0.5 size-4 shrink-0 text-muted-foreground",
814
- "aria-hidden": "true"
815
- });
816
- }
817
- $$renderer2.push(`<!--]--> <span class="min-w-0 flex-1"><span class="sr-only">${escape_html(RESULT[sc.result])}:</span>${escape_html(sc.name)} `);
818
- if (sc.detail && sc.result !== "pass") {
819
- $$renderer2.push(`<!--[0--><span class="mt-0.5 block text-xs text-muted-foreground">${escape_html(sc.detail)}</span>`);
820
- } else {
821
- $$renderer2.push("<!--[-1-->");
822
- }
823
- $$renderer2.push(`<!--]--></span></li>`);
824
- }
825
- $$renderer2.push(`<!--]--></ul>`);
826
- } else {
827
- $$renderer2.push("<!--[-1-->");
828
- }
829
- $$renderer2.push(`<!--]--> `);
830
- if (v.testingNote) {
831
- $$renderer2.push(`<!--[0--><p class="leading-relaxed text-muted-foreground">${escape_html(v.testingNote)}</p>`);
832
- } else {
833
- $$renderer2.push("<!--[-1-->");
834
- }
835
- $$renderer2.push(`<!--]--> <p class="text-xs text-muted-foreground">From ${escape_html(t.basis)}.</p>`);
836
- } else {
837
- $$renderer2.push("<!--[-1-->");
838
- }
839
- $$renderer2.push(`<!--]--> `);
840
- if (s.docs) {
841
- $$renderer2.push("<!--[0-->");
842
- if (s.docs.summary.length) {
843
- $$renderer2.push(`<!--[0--><ul class="list-disc space-y-1 pl-5"><!--[-->`);
844
- const each_array_3 = ensure_array_like(s.docs.summary);
845
- for (let i = 0, $$length2 = each_array_3.length; i < $$length2; i++) {
846
- let line = each_array_3[i];
847
- $$renderer2.push(`<li>${escape_html(line)}</li>`);
848
- }
849
- $$renderer2.push(`<!--]--></ul>`);
850
- } else {
851
- $$renderer2.push("<!--[-1-->");
852
- }
853
- $$renderer2.push(`<!--]--> `);
854
- if (s.docs.files.length) {
855
- $$renderer2.push(`<!--[0--><ul class="flex flex-wrap gap-2"><!--[-->`);
856
- const each_array_4 = ensure_array_like(s.docs.files);
857
- for (let $$index_3 = 0, $$length2 = each_array_4.length; $$index_3 < $$length2; $$index_3++) {
858
- let d = each_array_4[$$index_3];
859
- $$renderer2.push(`<li><a${attr("href", docHref(d.path))} class="inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 hover:bg-accent/60">`);
860
- File_text($$renderer2, {
861
- class: "size-3.5 text-muted-foreground",
862
- "aria-hidden": "true"
863
- });
864
- $$renderer2.push(`<!---->${escape_html(d.title)}</a></li>`);
865
- }
866
- $$renderer2.push(`<!--]--></ul>`);
867
- } else {
868
- $$renderer2.push("<!--[-1-->");
869
- }
870
- $$renderer2.push(`<!--]-->`);
871
- } else {
872
- $$renderer2.push("<!--[-1-->");
873
- }
874
- $$renderer2.push(`<!--]--> `);
875
- if (s.notes.length) {
876
- $$renderer2.push(`<!--[0--><div><p class="text-xs text-muted-foreground">${escape_html(s.key === "test" || s.key === "document" ? "In its own words" : "Along the way")}</p> <ul class="mt-1 list-disc space-y-1 pl-5 text-muted-foreground"><!--[-->`);
877
- const each_array_5 = ensure_array_like(s.notes);
878
- for (let i = 0, $$length2 = each_array_5.length; i < $$length2; i++) {
879
- let n = each_array_5[i];
880
- $$renderer2.push(`<li>${escape_html(n)}</li>`);
881
- }
882
- $$renderer2.push(`<!--]--></ul></div>`);
883
- } else {
884
- $$renderer2.push("<!--[-1-->");
885
- }
886
- $$renderer2.push(`<!--]--></div>`);
887
- } else {
888
- $$renderer2.push("<!--[-1-->");
889
- }
890
- $$renderer2.push(`<!--]--></li>`);
891
- }
892
- $$renderer2.push(`<!--]--></ol> <p class="mt-2 text-xs text-muted-foreground">From ${escape_html(checks.source)}.</p>`);
893
- }
894
- $$renderer2.push(`<!--]--></section>`);
895
- });
896
- }
897
- function ConversationPanel($$renderer, $$props) {
898
- $$renderer.component(($$renderer2) => {
899
- let { talk, now } = $$props;
900
- const LONG = 280;
901
- let opened = {};
902
- function lead(e) {
903
- switch (e.kind) {
904
- case "question":
905
- return "The worker asked Firstmate";
906
- case "blocked":
907
- return "The worker asked Firstmate for help";
908
- case "review":
909
- return "The automated review asked Firstmate";
910
- case "steer":
911
- return "Firstmate told the worker";
912
- case "captain":
913
- return e.to === "worker" ? "Your feedback reached the worker" : "You wrote to Firstmate";
914
- }
915
- }
916
- const tone2 = {
917
- open: "bg-warning/10 text-warning",
918
- answered: "bg-success/10 text-success",
919
- cleared: "bg-muted text-muted-foreground",
920
- read: "bg-muted text-muted-foreground",
921
- unread: "bg-sea/10 text-sea",
922
- sent: "bg-muted text-muted-foreground"
923
- };
924
- function longText($$renderer3, id, text) {
925
- const long = text.length > LONG;
926
- $$renderer3.push(`<p${attr_class(`mt-1 text-sm leading-relaxed whitespace-pre-line ${long && !opened[id] ? "line-clamp-4" : ""}`)}>${escape_html(text)}</p> `);
927
- if (long) {
928
- $$renderer3.push(`<!--[0--><button type="button" class="mt-1 text-xs text-muted-foreground hover:text-foreground hover:underline"${attr("aria-expanded", !!opened[id])}>${escape_html(opened[id] ? "Show less" : "Show all")}</button>`);
929
- } else {
930
- $$renderer3.push("<!--[-1-->");
931
- }
932
- $$renderer3.push(`<!--]-->`);
933
- }
934
- $$renderer2.push(`<section aria-labelledby="conversation" class="max-w-4xl"><h2 id="conversation" class="sr-only">Conversation</h2> `);
935
- if (!talk.available) {
936
- $$renderer2.push(`<!--[0--><p class="text-sm text-muted-foreground">${escape_html(talk.reason)}</p>`);
937
- } else if (!talk.value.length) {
938
- $$renderer2.push(`<!--[1--><div class="rounded-xl border border-dashed p-6 text-muted-foreground">`);
939
- Messages_square($$renderer2, { class: "size-5", "aria-hidden": "true" });
940
- $$renderer2.push(`<!----> <p class="mt-2 text-sm font-medium text-foreground">Nothing has been asked yet</p> <p class="mt-1 text-sm">When the worker asks Firstmate something, or Firstmate steers the worker, it shows here.</p></div>`);
941
- } else {
942
- $$renderer2.push(`<!--[-1--><p class="text-sm text-muted-foreground">Between the worker and Firstmate, oldest first. Firstmate answers for you while you are away.</p> <ol class="mt-4 divide-y divide-hair rounded-lg border bg-card"><!--[-->`);
943
- const each_array = ensure_array_like(talk.value);
944
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
945
- let e = each_array[$$index];
946
- $$renderer2.push(`<li class="grid gap-x-4 px-4 py-4 sm:grid-cols-[4.5rem_minmax(0,1fr)]"${attr("data-talk", e.kind)}><time class="tabular pt-0.5 text-xs text-muted-foreground"${attr("datetime", e.at)}${attr("title", ago(e.at, now))}>${escape_html(clock(e.at))}</time> <div class="min-w-0"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><p class="text-xs tracking-wide text-muted-foreground">${escape_html(lead(e))}</p> <span${attr_class(`rounded-full px-2 py-0.5 text-xs font-medium ${stringify(tone2[e.outcome.state])}`)}>${escape_html(e.outcome.label)}</span></div> <p class="mt-1 font-medium">${escape_html(e.title)}</p> `);
947
- if (e.body) {
948
- $$renderer2.push("<!--[0-->");
949
- longText($$renderer2, `${e.id} body`, e.body);
950
- } else {
951
- $$renderer2.push("<!--[-1-->");
952
- }
953
- $$renderer2.push(`<!--]--> `);
954
- if (e.questions.length) {
955
- $$renderer2.push(`<!--[0--><div class="mt-3">`);
956
- QuestionList($$renderer2, { questions: e.questions });
957
- $$renderer2.push(`<!----></div>`);
958
- } else {
959
- $$renderer2.push("<!--[-1-->");
960
- }
961
- $$renderer2.push(`<!--]--> `);
962
- if (e.reply) {
963
- $$renderer2.push(`<!--[0--><div class="mt-3 border-l-2 border-brass/60 pl-3"><p class="text-xs text-muted-foreground">${escape_html(PARTY_LABEL[e.reply.from])}
964
- ${escape_html(e.reply.from === "worker" ? "noted" : "answered")}${escape_html(e.reply.at ? ` · ${clock(e.reply.at)}` : "")}</p> `);
965
- longText($$renderer2, `${e.id} reply`, e.reply.text);
966
- $$renderer2.push(`<!----></div>`);
967
- } else {
968
- $$renderer2.push("<!--[-1-->");
969
- }
970
- $$renderer2.push(`<!--]--></div></li>`);
971
- }
972
- $$renderer2.push(`<!--]--></ol> <p class="mt-2 text-xs text-muted-foreground">From ${escape_html(talk.source)}.</p>`);
973
- }
974
- $$renderer2.push(`<!--]--></section>`);
975
- });
976
- }
977
- function DocsPanel($$renderer, $$props) {
978
- $$renderer.component(($$renderer2) => {
979
- let { docs, taskId } = $$props;
980
- const href = (d) => `/tasks/${encodeURIComponent(taskId)}/doc?path=${encodeURIComponent(d.path)}`;
981
- const groups = derived(() => docs.available ? [
982
- {
983
- label: "Decision records",
984
- items: docs.value.filter((d) => d.kind === "decision")
985
- },
986
- {
987
- label: "Docs",
988
- items: docs.value.filter((d) => d.kind !== "decision")
989
- }
990
- ].filter((g) => g.items.length) : []);
991
- const how = (d) => {
992
- if (!d.changed) return "Read by the worker";
993
- if (d.additions === null) return "Changed in this task";
994
- if (!d.deletions) return `${d.additions} ${d.additions === 1 ? "line" : "lines"} added`;
995
- return `${d.additions} added, ${d.deletions} removed`;
996
- };
997
- $$renderer2.push(`<section aria-labelledby="task-docs" class="max-w-4xl"><h2 id="task-docs" class="sr-only">Docs and decisions</h2> `);
998
- if (!docs.available) {
999
- $$renderer2.push(`<!--[0--><p class="text-sm text-muted-foreground">${escape_html(docs.reason)}</p>`);
1000
- } else if (!docs.value.length) {
1001
- $$renderer2.push(`<!--[1--><div class="rounded-xl border border-dashed p-6 text-muted-foreground">`);
1002
- Book_open($$renderer2, { class: "size-5", "aria-hidden": "true" });
1003
- $$renderer2.push(`<!----> <p class="mt-2 text-sm font-medium text-foreground">No docs touched yet</p> <p class="mt-1 text-sm">Decision records and docs the worker reads or changes for this task show here.</p></div>`);
1004
- } else {
1005
- $$renderer2.push(`<!--[-1--><p class="text-sm text-muted-foreground">The decision records and docs this task’s work read or changed. Open one to read it here.</p> <!--[-->`);
1006
- const each_array = ensure_array_like(groups());
1007
- for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {
1008
- let g = each_array[$$index_1];
1009
- $$renderer2.push(`<h3 class="section-label mt-6">${escape_html(g.label)}</h3> <ul class="mt-3 divide-y divide-hair rounded-lg border bg-card"><!--[-->`);
1010
- const each_array_1 = ensure_array_like(g.items);
1011
- for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {
1012
- let d = each_array_1[$$index];
1013
- $$renderer2.push(`<li class="flex items-start gap-3 px-4 py-3"${attr("data-doc", d.kind)}>`);
1014
- if (d.kind === "decision") {
1015
- $$renderer2.push("<!--[0-->");
1016
- Scale($$renderer2, {
1017
- class: "mt-0.5 size-4 shrink-0 text-muted-foreground",
1018
- "aria-hidden": "true"
1019
- });
1020
- } else {
1021
- $$renderer2.push("<!--[-1-->");
1022
- File_text($$renderer2, {
1023
- class: "mt-0.5 size-4 shrink-0 text-muted-foreground",
1024
- "aria-hidden": "true"
1025
- });
1026
- }
1027
- $$renderer2.push(`<!--]--> <div class="min-w-0 flex-1"><a${attr("href", href(d))} class="font-medium hover:underline">${escape_html(d.title)}</a> <p class="mt-0.5 text-xs text-muted-foreground">${escape_html(DOC_KIND_LABEL[d.kind])}${escape_html(d.kind === "readme" ? "" : ` · ${d.name}`)} · <span${attr_class(clsx(d.changed ? "text-foreground/80" : ""))}>${escape_html(how(d))}</span></p></div> `);
1028
- if (d.github) {
1029
- $$renderer2.push(`<!--[0--><a${attr("href", d.github)} target="_blank" rel="noreferrer" class="inline-flex shrink-0 items-center gap-1 text-xs text-sea hover:underline"${attr("aria-label", `Open ${stringify(d.title)} on GitHub`)}>GitHub`);
1030
- External_link($$renderer2, { class: "size-3", "aria-hidden": "true" });
1031
- $$renderer2.push(`<!----></a>`);
1032
- } else {
1033
- $$renderer2.push("<!--[-1-->");
1034
- }
1035
- $$renderer2.push(`<!--]--></li>`);
1036
- }
1037
- $$renderer2.push(`<!--]--></ul>`);
1038
- }
1039
- $$renderer2.push(`<!--]--> <p class="mt-2 text-xs text-muted-foreground">From ${escape_html(docs.source)}.</p>`);
1040
- }
1041
- $$renderer2.push(`<!--]--></section>`);
1042
- });
1043
- }
1044
- function unavailable($$renderer, a) {
1045
- if (!a.available) {
1046
- $$renderer.push(`<!--[0--><p class="text-sm text-muted-foreground">Not available. ${escape_html(a.reason)}</p>`);
1047
- } else {
1048
- $$renderer.push("<!--[-1-->");
1049
- }
1050
- $$renderer.push(`<!--]-->`);
1051
- }
1052
- function source($$renderer, a) {
1053
- if (a.available) {
1054
- $$renderer.push(`<!--[0--><p class="mt-1.5 text-xs text-muted-foreground">From ${escape_html(a.source)}${escape_html(a.observedAt ? `, ${ago(a.observedAt, live.now)}` : "")}.</p>`);
1055
- } else {
1056
- $$renderer.push("<!--[-1-->");
1057
- }
1058
- $$renderer.push(`<!--]-->`);
1059
- }
1060
- function checkIcon($$renderer, c) {
1061
- if (c.state === "pass") {
1062
- $$renderer.push("<!--[0-->");
1063
- Check($$renderer, {
1064
- class: "size-4 shrink-0 text-success",
1065
- "aria-label": "Passed"
1066
- });
1067
- } else if (c.state === "fail") {
1068
- $$renderer.push("<!--[1-->");
1069
- X($$renderer, { class: "size-4 shrink-0 text-danger", "aria-label": "Failed" });
1070
- } else if (c.state === "running") {
1071
- $$renderer.push("<!--[2-->");
1072
- Loader_circle($$renderer, {
1073
- class: "size-4 shrink-0 animate-spin text-muted-foreground",
1074
- "aria-label": "Running"
1075
- });
1076
- } else if (c.state === "skipped") {
1077
- $$renderer.push("<!--[3-->");
1078
- Minus($$renderer, {
1079
- class: "size-4 shrink-0 text-muted-foreground",
1080
- "aria-label": "Skipped"
1081
- });
1082
- } else {
1083
- $$renderer.push("<!--[-1-->");
1084
- Circle_dashed($$renderer, {
1085
- class: "size-4 shrink-0 text-muted-foreground",
1086
- "aria-label": "Pending"
1087
- });
1088
- }
1089
- $$renderer.push(`<!--]-->`);
1090
- }
1091
- function progressBlock($$renderer) {
1092
- }
1093
- function timePanel($$renderer, task, detail) {
1094
- const e = task.eta ?? null;
1095
- const t = detail.time;
1096
- $$renderer.push(`<section class="space-y-6" aria-label="Work time">`);
1097
- if (e && !e.openEnded) {
1098
- $$renderer.push("<!--[0-->");
1099
- const l = etaLine(e);
1100
- $$renderer.push(`<div class="rounded-xl border bg-card p-5"><div class="flex flex-wrap items-start justify-between gap-3"><div><p class="flex items-center gap-2 text-sm text-muted-foreground">`);
1101
- Timer($$renderer, { class: "size-4", "aria-hidden": "true" });
1102
- $$renderer.push(`<!---->Until it is ready for your review</p> <p${attr_class(`mt-1 text-2xl font-semibold tracking-tight ${l.tone === "warning" ? "text-warning" : ""}`)}>${escape_html(l.text)}</p> `);
1103
- if (e.minutes !== null && !e.overdue) {
1104
- $$renderer.push(`<!--[0--><p class="mt-0.5 text-sm text-muted-foreground">Usually ${escape_html(e.low)}–${escape_html(e.high)} min, so around ${escape_html(clock(new Date(live.now + e.minutes * 6e4).toISOString()))}</p>`);
1105
- } else if (e.overdue) {
1106
- $$renderer.push(`<!--[1--><p class="mt-0.5 text-sm text-muted-foreground">Similar work had reached your review by this point.</p>`);
1107
- } else {
1108
- $$renderer.push("<!--[-1-->");
1109
- }
1110
- $$renderer.push(`<!--]--></div> `);
1111
- if (e.confidence !== "none" && !e.overdue) {
1112
- $$renderer.push(`<!--[0--><span class="rounded-full bg-muted px-2.5 py-1 text-xs font-medium">${escape_html(CONFIDENCE[e.confidence])}</span>`);
1113
- } else {
1114
- $$renderer.push("<!--[-1-->");
1115
- }
1116
- $$renderer.push(`<!--]--></div> `);
1117
- if (e.ahead.length) {
1118
- $$renderer.push(`<!--[0--><ol class="mt-5 space-y-2 border-t pt-4"><!--[-->`);
1119
- const each_array_11 = ensure_array_like(e.ahead);
1120
- for (let $$index_11 = 0, $$length = each_array_11.length; $$index_11 < $$length; $$index_11++) {
1121
- let x = each_array_11[$$index_11];
1122
- $$renderer.push(`<li class="flex items-baseline justify-between gap-4 text-sm"><span${attr_class(clsx(x.current ? "font-medium" : "text-muted-foreground"))}>${escape_html(PHASE_LABEL[x.phase])}`);
1123
- if (x.current) {
1124
- $$renderer.push(`<!--[0--><span class="font-normal text-muted-foreground">${escape_html(` · now, ${duration(x.spent)} in`)}</span>`);
1125
- } else {
1126
- $$renderer.push("<!--[-1-->");
1127
- }
1128
- $$renderer.push(`<!--]--></span> <span class="text-muted-foreground tabular-nums">${escape_html(x.usual !== null ? `usually ${duration(x.usual)}` : "no history yet")}</span></li>`);
1129
- }
1130
- $$renderer.push(`<!--]--></ol>`);
1131
- } else {
1132
- $$renderer.push("<!--[-1-->");
1133
- }
1134
- $$renderer.push(`<!--]--> <p class="mt-4 text-xs text-muted-foreground">Based on ${escape_html(e.basis)} similar ${escape_html(e.scope === "project" ? "tasks in this project" : "tasks across projects")}. A guide, not a promise: it counts work time only, not time
1135
- waiting on you.</p></div>`);
1136
- } else {
1137
- $$renderer.push("<!--[-1-->");
1138
- }
1139
- $$renderer.push(`<!--]--> `);
1140
- if (t && t.total > 0) {
1141
- $$renderer.push(`<!--[0--><div><div class="flex flex-wrap items-baseline justify-between gap-2"><h2 class="section-label flex-1">Where its time went</h2> <p class="text-sm text-muted-foreground">${escape_html(duration(t.total))}${escape_html(t.ongoing ? " so far" : "")}${escape_html(t.readyAfter !== null ? ` · ready for you after ${duration(t.readyAfter)}` : "")}</p></div> <div class="mt-3">`);
1142
- TimeBar($$renderer, { seconds: t.seconds, height: "h-3", label: "This task" });
1143
- $$renderer.push(`<!----></div> <div class="mt-3">`);
1144
- TimeLegend($$renderer, { seconds: t.seconds });
1145
- $$renderer.push(`<!----></div> `);
1146
- if (t.reviewSteps.length) {
1147
- $$renderer.push(`<!--[0--><details class="mt-4 rounded-lg border px-4 py-3 text-sm"><summary class="cursor-pointer text-muted-foreground hover:text-foreground">Inside the latest automated review</summary> <ul class="mt-3 space-y-1.5"><!--[-->`);
1148
- const each_array_12 = ensure_array_like(t.reviewSteps);
1149
- for (let $$index_12 = 0, $$length = each_array_12.length; $$index_12 < $$length; $$index_12++) {
1150
- let r = each_array_12[$$index_12];
1151
- $$renderer.push(`<li class="flex justify-between gap-4"><span>${escape_html(r.label)}</span><span class="text-muted-foreground tabular-nums">${escape_html(duration(r.seconds))}</span></li>`);
1152
- }
1153
- $$renderer.push(`<!--]--></ul></details>`);
1154
- } else {
1155
- $$renderer.push("<!--[-1-->");
1156
- }
1157
- $$renderer.push(`<!--]--></div>`);
1158
- } else {
1159
- $$renderer.push("<!--[-1-->");
1160
- }
1161
- $$renderer.push(`<!--]--> `);
1162
- if (detail.decided.length) {
1163
- $$renderer.push(`<!--[0--><div><h2 class="section-label">Decided for you on this task</h2> <ul class="mt-3 divide-y rounded-lg border"><!--[-->`);
1164
- const each_array_13 = ensure_array_like(detail.decided);
1165
- for (let $$index_13 = 0, $$length = each_array_13.length; $$index_13 < $$length; $$index_13++) {
1166
- let d = each_array_13[$$index_13];
1167
- $$renderer.push(`<li><a${attr("href", `/decisions#${stringify(d.id)}`)} class="flex gap-3 px-4 py-3 hover:bg-accent/40">`);
1168
- Scale($$renderer, {
1169
- class: "mt-0.5 size-4 shrink-0 text-muted-foreground",
1170
- "aria-hidden": "true"
1171
- });
1172
- $$renderer.push(`<!----> <span class="min-w-0 text-sm"><span class="font-medium">${escape_html(d.verdict)}</span> <span class="text-muted-foreground">· ${escape_html(d.calls[0].question)}</span></span></a></li>`);
1173
- }
1174
- $$renderer.push(`<!--]--></ul></div>`);
1175
- } else {
1176
- $$renderer.push("<!--[-1-->");
1177
- }
1178
- $$renderer.push(`<!--]--></section>`);
1179
- }
1180
- function pluginSection($$renderer, entry) {
1181
- $$renderer.push(`<section class="rounded-xl border p-4"${attr("aria-label", entry.title)} data-slot="task.section"><h2 class="mb-3 text-sm font-medium">${escape_html(entry.title)}</h2> `);
1182
- SlotContent($$renderer, { entry, now: live.now });
1183
- $$renderer.push(`<!----></section>`);
1184
- }
1185
- function _page($$renderer, $$props) {
1186
- $$renderer.component(($$renderer2) => {
1187
- let { data } = $$props;
1188
- let fetched = null;
1189
- const FILES_PREVIEW = 12;
1190
- let shotIndex = null;
1191
- let diffFile = null;
1192
- const id = derived(() => page.params.id);
1193
- const detail = derived(() => fetched?.task.id === id() ? fetched : data.detail);
1194
- const task = derived(() => currentFleet()?.tasks.find((t2) => t2.id === id()) ?? detail()?.task ?? null);
1195
- const ev = derived(() => detail()?.evidence ?? null);
1196
- const project = derived(() => currentFleet()?.projects.find((p) => p.id === task()?.projectId));
1197
- const shots = derived(() => ev()?.screenshots.available ? ev().screenshots.value : []);
1198
- const pluginEntries = derived(() => slots.entries(slotKey.task(id()), data.slots, data.slotsAt));
1199
- const stepEntries = (key) => pluginEntries().filter((e) => e.slot === "step.evidence" && e.step === key);
1200
- const t = derived(() => task() ? tone(task()) : "normal");
1201
- const back = derived(() => task() ? `/?project=${encodeURIComponent(task().projectId)}` : "/");
1202
- const blocks = {
1203
- queue: queueBlock,
1204
- progress: progressBlock,
1205
- files: filesBlock,
1206
- validation: validationBlock,
1207
- pr: prBlock,
1208
- report: reportBlock,
1209
- screenshots: screenshotsBlock,
1210
- preview: previewBlock,
1211
- decision: decisionBlock,
1212
- landed: landedBlock
1213
- };
1214
- const blockFor = (id2) => blocks[id2] ?? (id2.startsWith("check:") ? checkBlock : void 0);
1215
- const PASS = [
1216
- "success",
1217
- "inactive",
1218
- "included",
1219
- "published",
1220
- "ok",
1221
- "yes",
1222
- "present"
1223
- ];
1224
- const FAIL = ["failure", "error", "mismatch"];
1225
- const checkTone = (c) => c.state === "off" || c.state === "gave-up" ? "skipped" : c.state !== "observed" ? "unknown" : PASS.includes(c.outcome ?? "") ? "pass" : FAIL.includes(c.outcome ?? "") ? "fail" : c.outcome === "in_progress" ? "running" : "pending";
1226
- const taskSections = derived(() => placeTaskSections(pluginEntries(), task() ? task().passage.steps.map((s) => s.key) : []));
1227
- const pluginTabs = derived(() => [...taskSections().byOrder].sort((a, b) => a.order - b.order));
1228
- const hasTime = (task2, detail2) => !!(task2.eta && !task2.eta.openEnded) || !!(detail2.time && detail2.time.total > 0) || detail2.decided.length > 0;
1229
- const tabs = derived(() => task() && detail() ? taskTabs({
1230
- preview: !!task().preview,
1231
- shots: shots().length,
1232
- plugins: pluginTabs().map((e) => ({ key: e.key, title: e.title })),
1233
- build: {
1234
- // Only what is still waiting on an answer is counted.
1235
- talk: detail().build.conversation.available ? detail().build.conversation.value.filter((e) => e.outcome.state === "open").length : 0,
1236
- docs: detail().build.docs.available ? detail().build.docs.value.length : 0
1237
- }
1238
- }) : []);
1239
- let chosen = null;
1240
- const want = derived(() => chosen?.id === id() ? chosen : { tab: page.url.searchParams.get("tab"), full: false });
1241
- const active = derived(() => pickTab(want().tab, tabs()));
1242
- const full = derived(() => !!task()?.preview && (chosen?.id === id() ? chosen.full : page.url.searchParams.get("full") === "1"));
1243
- function show(tab, fullScreen = false) {
1244
- chosen = { id: id(), tab, full: fullScreen };
1245
- const url = new URL(page.url);
1246
- url.searchParams.set("tab", tab);
1247
- if (fullScreen) url.searchParams.set("full", "1");
1248
- else url.searchParams.delete("full");
1249
- replaceState();
1250
- }
1251
- async function reveal(tab) {
1252
- show(tab);
1253
- if (matchMedia("(min-width: 64rem)").matches) return;
1254
- await tick();
1255
- matchMedia("(prefers-reduced-motion: reduce)").matches;
1256
- }
1257
- let terminalOpen = true;
1258
- let toggled = {};
1259
- const isOpen = (s) => toggled[`${id()} ${s.key}`] ?? openByDefault(s);
1260
- const entryText = (e) => {
1261
- const n = /\/pull\/(\d+)/.exec(e.text)?.[1];
1262
- if (e.kind === "pr-ready") return `Pull request${n ? ` #${n}` : ""} ready`;
1263
- if (e.kind === "merged") return n ? `Merged pull request #${n}` : e.text;
1264
- return e.text;
1265
- };
1266
- const prState = (s, draft) => draft ? "draft" : s === "merged" ? "merged" : s === "closed" ? "closed" : s === "open" ? "open" : s ?? "state unknown";
1267
- function filesBlock($$renderer3) {
1268
- if (ev()?.files.available) {
1269
- $$renderer3.push("<!--[0-->");
1270
- const f = ev().files.value;
1271
- const max = Math.max(1, ...f.files.map((x) => (x.additions ?? 0) + (x.deletions ?? 0)));
1272
- $$renderer3.push(`<h4 class="mb-2 text-sm font-medium">Files changed <span class="font-normal text-muted-foreground">${escape_html(f.branch ? `on ${f.branch}` : "")} against ${escape_html(f.base)}</span></h4> `);
1273
- if (f.files.length) {
1274
- $$renderer3.push(`<!--[0--><ul class="divide-y rounded-lg border"><!--[-->`);
1275
- const each_array = ensure_array_like(f.files.slice(0, FILES_PREVIEW));
1276
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1277
- let x = each_array[$$index];
1278
- $$renderer3.push(`<li><button type="button" class="flex w-full items-center gap-3 px-3 py-2 text-left text-xs hover:bg-accent/60"${attr("aria-label", `Show the changes to ${stringify(x.path)}`)}><span class="w-3 font-mono text-muted-foreground">${escape_html(x.status)}</span> <span class="min-w-0 flex-1 truncate font-mono"${attr("title", x.path)}>${escape_html(x.path)}</span> `);
1279
- if (x.status === "?") {
1280
- $$renderer3.push(`<!--[0--><span class="text-muted-foreground">new, not committed</span>`);
1281
- } else if (x.additions === null) {
1282
- $$renderer3.push(`<!--[1--><span class="text-muted-foreground">binary</span>`);
1283
- } else {
1284
- $$renderer3.push(`<!--[-1--><span class="tabular"><span class="text-success">+${escape_html(x.additions)}</span> <span class="text-danger">−${escape_html(x.deletions)}</span></span> <span class="hidden h-1.5 w-16 overflow-hidden rounded-full bg-muted sm:flex"><span class="bg-success"${attr_style(`width:${stringify((x.additions ?? 0) / max * 100)}%`)}></span> <span class="bg-danger"${attr_style(`width:${stringify((x.deletions ?? 0) / max * 100)}%`)}></span></span>`);
1285
- }
1286
- $$renderer3.push(`<!--]--></button></li>`);
1287
- }
1288
- $$renderer3.push(`<!--]--></ul> `);
1289
- if (f.files.length > FILES_PREVIEW) {
1290
- $$renderer3.push(`<!--[0--><button class="mt-2 text-sm text-muted-foreground hover:text-foreground hover:underline">Show all ${escape_html(f.files.length)} files</button>`);
1291
- } else {
1292
- $$renderer3.push("<!--[-1-->");
1293
- }
1294
- $$renderer3.push(`<!--]--> `);
1295
- if (f.truncated) {
1296
- $$renderer3.push(`<!--[0--><p class="mt-1 text-xs text-muted-foreground">Showing the first ${escape_html(f.files.length)} of ${escape_html(f.total)} files.</p>`);
1297
- } else {
1298
- $$renderer3.push("<!--[-1-->");
1299
- }
1300
- $$renderer3.push(`<!--]--> <p class="mt-1 text-xs text-muted-foreground">Select a file to see its diff.</p>`);
1301
- } else {
1302
- $$renderer3.push(`<!--[-1--><p class="text-sm text-muted-foreground">No changes yet.</p>`);
1303
- }
1304
- $$renderer3.push(`<!--]--> `);
1305
- source($$renderer3, ev().files);
1306
- $$renderer3.push(`<!---->`);
1307
- } else if (ev()) {
1308
- $$renderer3.push("<!--[1-->");
1309
- unavailable($$renderer3, ev().files);
1310
- } else {
1311
- $$renderer3.push("<!--[-1-->");
1312
- }
1313
- $$renderer3.push(`<!--]-->`);
1314
- }
1315
- function checksLink($$renderer3) {
1316
- $$renderer3.push(`<button type="button" class="mt-2 block text-sm text-sea hover:underline">What each check found</button>`);
1317
- }
1318
- function queueBlock($$renderer3) {
1319
- if (task()) {
1320
- $$renderer3.push(`<!--[0--><p class="text-sm text-muted-foreground">${escape_html(task().since ? `Filed ${task().since}.` : "Queued by Firstmate.")} `);
1321
- if (task().blockedBy.length) {
1322
- $$renderer3.push(`<!--[0-->Waiting on ${escape_html(task().blockedBy.join(", "))}.`);
1323
- } else {
1324
- $$renderer3.push("<!--[-1-->");
1325
- }
1326
- $$renderer3.push(`<!--]--></p>`);
1327
- } else {
1328
- $$renderer3.push("<!--[-1-->");
1329
- }
1330
- $$renderer3.push(`<!--]-->`);
1331
- }
1332
- function validationBlock($$renderer3) {
1333
- if (task() && showsChecks(task())) {
1334
- $$renderer3.push("<!--[0-->");
1335
- ChecksTimeline($$renderer3, {
1336
- pipeline: task().pipeline,
1337
- busy: task().busy,
1338
- prChecks: ev()?.pr.available ? ev().pr.value.checks : []
1339
- });
1340
- $$renderer3.push(`<!----> `);
1341
- if (ev()?.validation.available) {
1342
- $$renderer3.push("<!--[0-->");
1343
- RawDetails($$renderer3, {
1344
- raw: ev().validation.value.detail,
1345
- plain: plainStatus(task().current?.state, ev().validation.value.detail)
1346
- });
1347
- } else {
1348
- $$renderer3.push("<!--[-1-->");
1349
- }
1350
- $$renderer3.push(`<!--]--> <p class="mt-1.5 text-xs text-muted-foreground">From the validation run’s own report${escape_html(task().pipeline.observedAt ? `, ${ago(task().pipeline.observedAt, live.now)}` : "")}.</p> `);
1351
- checksLink($$renderer3);
1352
- $$renderer3.push(`<!---->`);
1353
- } else if (ev()?.validation.available) {
1354
- $$renderer3.push("<!--[1-->");
1355
- const plain = plainStatus(task()?.current?.state, ev().validation.value.detail);
1356
- $$renderer3.push(`<p class="text-sm">${escape_html(plain)}</p> `);
1357
- if (task()?.pipeline && task().current?.state === "working") {
1358
- $$renderer3.push(`<!--[0--><p class="mt-1 text-sm text-muted-foreground">${escape_html(task().pipeline.label)} step${escape_html(task().pipeline.round ? `, fix round ${task().pipeline.round}` : "")}${escape_html(task().pipeline.startedAt ? `, started ${ago(task().pipeline.startedAt, live.now)}` : "")}.</p>`);
1359
- } else {
1360
- $$renderer3.push("<!--[-1-->");
1361
- }
1362
- $$renderer3.push(`<!--]--> `);
1363
- RawDetails($$renderer3, { raw: ev().validation.value.detail, plain });
1364
- $$renderer3.push(`<!----> `);
1365
- source($$renderer3, ev().validation);
1366
- $$renderer3.push(`<!---->`);
1367
- } else if (detail()?.build.checks.available) {
1368
- $$renderer3.push(`<!--[2--><ul class="space-y-1 text-sm"><!--[-->`);
1369
- const each_array_1 = ensure_array_like(detail().build.checks.value.steps.filter((x) => x.key !== "intent"));
1370
- for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
1371
- let c = each_array_1[$$index_1];
1372
- $$renderer3.push(`<li><span class="font-medium">${escape_html(c.label)}</span> · ${escape_html(c.summary)}</li>`);
1373
- }
1374
- $$renderer3.push(`<!--]--></ul> `);
1375
- checksLink($$renderer3);
1376
- $$renderer3.push(`<!---->`);
1377
- } else if (ev()) {
1378
- $$renderer3.push("<!--[3-->");
1379
- unavailable($$renderer3, ev().validation);
1380
- } else {
1381
- $$renderer3.push("<!--[-1-->");
1382
- }
1383
- $$renderer3.push(`<!--]-->`);
1384
- }
1385
- function guidedReview($$renderer3) {
1386
- $$renderer3.push(`<a${attr("href", `/tasks/${stringify(encodeURIComponent(id()))}/review`)} class="mt-2 inline-flex items-center gap-1.5 text-sm text-sea hover:underline">`);
1387
- Compass($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1388
- $$renderer3.push(`<!---->Review it with the review agent’s guide</a>`);
1389
- }
1390
- function prBlock($$renderer3) {
1391
- if (ev()?.pr.available) {
1392
- $$renderer3.push("<!--[0-->");
1393
- const pr = ev().pr.value;
1394
- $$renderer3.push(`<p class="text-sm"><a${attr("href", pr.url)} target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline">Pull request${escape_html(pr.number ? ` #${pr.number}` : "")}`);
1395
- External_link($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1396
- $$renderer3.push(`<!----></a> <span class="text-muted-foreground">${escape_html(prState(pr.state, pr.draft))}${escape_html(pr.reviewDecision ? `, ${pr.reviewDecision.toLowerCase().replace(/_/g, " ")}` : "")}</span></p> `);
1397
- if (pr.checks.length) {
1398
- $$renderer3.push(`<!--[0--><ul class="mt-3 divide-y rounded-lg border"><!--[-->`);
1399
- const each_array_2 = ensure_array_like(pr.checks);
1400
- for (let i = 0, $$length = each_array_2.length; i < $$length; i++) {
1401
- let c = each_array_2[i];
1402
- $$renderer3.push(`<li class="flex items-center gap-3 px-3 py-2 text-sm">`);
1403
- checkIcon($$renderer3, c);
1404
- $$renderer3.push(`<!----><span class="truncate">${escape_html(c.name)}</span></li>`);
1405
- }
1406
- $$renderer3.push(`<!--]--></ul>`);
1407
- } else {
1408
- $$renderer3.push(`<!--[-1--><p class="mt-2 text-sm text-muted-foreground">No CI checks reported.</p>`);
1409
- }
1410
- $$renderer3.push(`<!--]--> `);
1411
- source($$renderer3, ev().pr);
1412
- $$renderer3.push(`<!----> `);
1413
- guidedReview($$renderer3);
1414
- $$renderer3.push(`<!---->`);
1415
- } else if (ev() && !ev().pr.available && task()?.pr) {
1416
- $$renderer3.push(`<!--[1--><a${attr("href", task().pr.url)} target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sm text-sea hover:underline">Pull request${escape_html(task().pr.number ? ` #${task().pr.number}` : "")}`);
1417
- External_link($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1418
- $$renderer3.push(`<!----></a> <p class="mt-1 text-sm text-muted-foreground">Its state and checks are not available. ${escape_html(ev().pr.reason)}</p>`);
1419
- } else if (ev()) {
1420
- $$renderer3.push("<!--[2-->");
1421
- unavailable($$renderer3, ev().pr);
1422
- } else {
1423
- $$renderer3.push("<!--[-1-->");
1424
- }
1425
- $$renderer3.push(`<!--]-->`);
1426
- }
1427
- function reportBlock($$renderer3) {
1428
- if (ev()?.report.available) {
1429
- $$renderer3.push(`<!--[0--><div class="flex gap-3 rounded-lg border p-3">`);
1430
- File_text($$renderer3, {
1431
- class: "mt-0.5 size-4 shrink-0 text-muted-foreground",
1432
- "aria-hidden": "true"
1433
- });
1434
- $$renderer3.push(`<!----> <div class="min-w-0"><p class="truncate font-mono text-xs text-muted-foreground">${escape_html(ev().report.value.path)}</p> <p class="mt-1 text-sm leading-relaxed">${escape_html(ev().report.value.excerpt)}</p></div></div> `);
1435
- source($$renderer3, ev().report);
1436
- $$renderer3.push(`<!---->`);
1437
- } else if (ev()) {
1438
- $$renderer3.push("<!--[1-->");
1439
- unavailable($$renderer3, ev().report);
1440
- } else {
1441
- $$renderer3.push("<!--[-1-->");
1442
- }
1443
- $$renderer3.push(`<!--]-->`);
1444
- }
1445
- function screenshotsBlock($$renderer3) {
1446
- if (ev()?.screenshots.available) {
1447
- $$renderer3.push(`<!--[0--><div class="flex flex-wrap gap-3"><!--[-->`);
1448
- const each_array_3 = ensure_array_like(ev().screenshots.value);
1449
- for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {
1450
- let s = each_array_3[$$index_3];
1451
- $$renderer3.push(`<button type="button" class="w-48 shrink-0 cursor-zoom-in text-left"${attr("aria-label", `Enlarge ${stringify(s.name)}`)}><img${attr("src", s.url)}${attr("alt", s.name)} loading="lazy" class="aspect-[16/10] w-full rounded-lg border object-cover object-top"/> <p class="mt-1.5 truncate text-xs text-muted-foreground">${escape_html(s.name)}</p></button>`);
1452
- }
1453
- $$renderer3.push(`<!--]--></div> `);
1454
- source($$renderer3, ev().screenshots);
1455
- $$renderer3.push(`<!---->`);
1456
- } else if (ev()) {
1457
- $$renderer3.push("<!--[1-->");
1458
- unavailable($$renderer3, ev().screenshots);
1459
- } else {
1460
- $$renderer3.push("<!--[-1-->");
1461
- }
1462
- $$renderer3.push(`<!--]-->`);
1463
- }
1464
- function previewBlock($$renderer3) {
1465
- if (ev()?.preview.available) {
1466
- $$renderer3.push(`<!--[0--><a${attr("href", ev().preview.value.url)} target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sm text-sea hover:underline">Open preview`);
1467
- External_link($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1468
- $$renderer3.push(`<!----></a> `);
1469
- source($$renderer3, ev().preview);
1470
- $$renderer3.push(`<!---->`);
1471
- } else if (ev()) {
1472
- $$renderer3.push("<!--[1-->");
1473
- unavailable($$renderer3, ev().preview);
1474
- } else {
1475
- $$renderer3.push("<!--[-1-->");
1476
- }
1477
- $$renderer3.push(`<!--]-->`);
1478
- }
1479
- function decisionBlock($$renderer3, s) {
1480
- if (s.state === "current" && ev()?.decisions.length) {
1481
- $$renderer3.push(`<!--[0--><ul class="list-disc space-y-1 pl-5 text-sm"><!--[-->`);
1482
- const each_array_4 = ensure_array_like(ev().decisions);
1483
- for (let i = 0, $$length = each_array_4.length; i < $$length; i++) {
1484
- let d = each_array_4[i];
1485
- const plain = plainStatus("needs-decision", d.text);
1486
- $$renderer3.push(`<li>${escape_html(plain)}`);
1487
- RawDetails($$renderer3, { raw: d.text, plain });
1488
- $$renderer3.push(`<!----></li>`);
1489
- }
1490
- $$renderer3.push(`<!--]--></ul>`);
1491
- } else {
1492
- $$renderer3.push("<!--[-1-->");
1493
- }
1494
- $$renderer3.push(`<!--]-->`);
1495
- }
1496
- function checkBlock($$renderer3, _s, block) {
1497
- const c = task()?.passage.checks.find((x) => `check:${x.id}` === block);
1498
- if (c) {
1499
- $$renderer3.push(`<!--[0--><div class="flex items-start gap-3 rounded-lg border px-3 py-2 text-sm"${attr("data-check", c.id)}>`);
1500
- checkIcon($$renderer3, { name: c.label, state: checkTone(c) });
1501
- $$renderer3.push(`<!----> <div class="min-w-0 flex-1"><p><span class="font-medium">${escape_html(c.label)}</span> <span class="text-muted-foreground">${escape_html(c.summary)}</span></p> <p class="mt-0.5 text-xs text-muted-foreground">${escape_html(c.type === "command" ? "Command" : c.type)}${escape_html(c.observedAt ? `, ${c.type === "command" ? "ran" : "checked"} ${ago(c.observedAt, live.now)}` : "")}${escape_html(c.state === "gave-up" ? ", no longer checked" : "")} `);
1502
- if (c.url) {
1503
- $$renderer3.push(`<!--[0-->· <a${attr("href", c.url)} target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline">Open`);
1504
- External_link($$renderer3, { class: "size-3", "aria-hidden": "true" });
1505
- $$renderer3.push(`<!----></a>`);
1506
- } else {
1507
- $$renderer3.push("<!--[-1-->");
1508
- }
1509
- $$renderer3.push(`<!--]--></p> `);
1510
- if (c.command) {
1511
- $$renderer3.push(`<!--[0--><p class="mt-1 font-mono text-xs break-all text-muted-foreground">Runs ${escape_html(c.command)}</p>`);
1512
- } else {
1513
- $$renderer3.push("<!--[-1-->");
1514
- }
1515
- $$renderer3.push(`<!--]--> `);
1516
- if (c.output) {
1517
- $$renderer3.push(`<!--[0--><details class="mt-1"><summary class="cursor-pointer text-xs text-sea">Output</summary> <pre class="mt-1 max-h-80 overflow-auto rounded-md bg-terminal px-3 py-2 font-mono text-xs text-terminal-foreground">${escape_html(c.output)}</pre></details>`);
1518
- } else {
1519
- $$renderer3.push("<!--[-1-->");
1520
- }
1521
- $$renderer3.push(`<!--]--></div></div>`);
1522
- } else {
1523
- $$renderer3.push("<!--[-1-->");
1524
- }
1525
- $$renderer3.push(`<!--]-->`);
1526
- }
1527
- function landedBlock($$renderer3) {
1528
- if (task()) {
1529
- $$renderer3.push(`<!--[0--><p class="text-sm text-muted-foreground">`);
1530
- if (task().mergedAt) {
1531
- $$renderer3.push(`<!--[0-->Merged ${escape_html(ago(task().mergedAt, live.now))} (${escape_html(clock(task().mergedAt))}).`);
1532
- } else if (task().completedOn) {
1533
- $$renderer3.push(`<!--[1-->Closed on ${escape_html(task().completedOn)}; the exact time was not recorded.`);
1534
- } else if (task().status === "landed") {
1535
- $$renderer3.push(`<!--[2-->Done.`);
1536
- } else {
1537
- $$renderer3.push("<!--[-1-->");
1538
- }
1539
- $$renderer3.push(`<!--]--></p>`);
1540
- } else {
1541
- $$renderer3.push("<!--[-1-->");
1542
- }
1543
- $$renderer3.push(`<!--]-->`);
1544
- }
1545
- function overview($$renderer3, task2, ev2, detail2) {
1546
- const e = task2.eta && !task2.eta.openEnded ? task2.eta : null;
1547
- $$renderer3.push(`<p class="mt-5 text-sm text-muted-foreground">${escape_html(project()?.name ?? task2.projectId)}${escape_html(agentLine(task2.worker) ? ` · ${agentLine(task2.worker)}` : "")}</p> <h1 class="mt-1 text-[1.9rem] leading-tight text-balance">${escape_html(task2.title)}</h1> <p${attr_class(`mt-2 text-sm font-medium ${stringify(t() === "normal" || t() === "landed" ? "text-muted-foreground" : textClass[t()])}`)}>${escape_html(task2.statusLabel)}</p> `);
1548
- if (task2.activity && !task2.attention) {
1549
- $$renderer3.push(`<!--[0--><p class="mt-2 leading-relaxed"${attr("data-now", task2.activity.source)}><span class="mr-1 text-muted-foreground">Now:</span>${escape_html(task2.activity.text)}`);
1550
- if (task2.activity.at) {
1551
- $$renderer3.push(`<!--[0--><span class="text-muted-foreground">${escape_html(` · ${task2.activity.source === "pipeline" ? "started " : ""}${ago(task2.activity.at, live.now)}`)}</span>`);
1552
- } else {
1553
- $$renderer3.push("<!--[-1-->");
1554
- }
1555
- $$renderer3.push(`<!--]--></p> `);
1556
- RawDetails($$renderer3, { raw: task2.summaryRaw });
1557
- $$renderer3.push(`<!---->`);
1558
- } else if (task2.summary && !task2.attention) {
1559
- $$renderer3.push(`<!--[1--><p class="mt-2 leading-relaxed">`);
1560
- if (task2.summaryIsHistory) {
1561
- $$renderer3.push(`<!--[0--><span class="mr-1 text-muted-foreground">Latest update:</span>`);
1562
- } else {
1563
- $$renderer3.push("<!--[-1-->");
1564
- }
1565
- $$renderer3.push(`<!--]-->${escape_html(task2.summary)}</p> `);
1566
- RawDetails($$renderer3, { raw: task2.summaryRaw });
1567
- $$renderer3.push(`<!---->`);
1568
- } else {
1569
- $$renderer3.push("<!--[-1-->");
1570
- }
1571
- $$renderer3.push(`<!--]--> `);
1572
- if (task2.attention) {
1573
- $$renderer3.push(`<!--[0--><div${attr_class(`mt-5 rounded-xl p-4 ${task2.attention.owner === "captain" ? "bg-sea/10" : "bg-warning/10"}`)}><p${attr_class(`text-sm font-medium ${task2.attention.owner === "captain" ? "text-sea" : "text-warning"}`)}>${escape_html(task2.attention.owner === "firstmate" ? "Waiting on Firstmate" : task2.attention.kind === "review" ? "Ready for your review" : "Your decision is needed")}</p> <p class="mt-1 text-sm leading-relaxed whitespace-pre-line">${escape_html(task2.attention.text)}</p> `);
1574
- if (task2.attention.owner === "firstmate") {
1575
- $$renderer3.push("<!--[0-->");
1576
- RawDetails($$renderer3, { raw: task2.summaryRaw });
1577
- } else {
1578
- $$renderer3.push("<!--[-1-->");
1579
- }
1580
- $$renderer3.push(`<!--]--> `);
1581
- if (detail2.evidence.decisions.length > 1) {
1582
- $$renderer3.push(`<!--[0--><ul class="mt-2 list-disc space-y-1 pl-5 text-sm"><!--[-->`);
1583
- const each_array_5 = ensure_array_like(detail2.evidence.decisions.slice(1));
1584
- for (let i = 0, $$length = each_array_5.length; i < $$length; i++) {
1585
- let d = each_array_5[i];
1586
- const plain = plainStatus("needs-decision", d.text);
1587
- $$renderer3.push(`<li>${escape_html(plain)}`);
1588
- RawDetails($$renderer3, { raw: d.text, plain });
1589
- $$renderer3.push(`<!----></li>`);
1590
- }
1591
- $$renderer3.push(`<!--]--></ul>`);
1592
- } else {
1593
- $$renderer3.push("<!--[-1-->");
1594
- }
1595
- $$renderer3.push(`<!--]--> `);
1596
- if (task2.attention.kind === "decision") {
1597
- $$renderer3.push(`<!--[0--><p class="mt-2 text-xs text-muted-foreground">Answer through Firstmate: it passes your word to the crew.</p>`);
1598
- } else {
1599
- $$renderer3.push("<!--[-1-->");
1600
- }
1601
- $$renderer3.push(`<!--]--></div>`);
1602
- } else {
1603
- $$renderer3.push("<!--[-1-->");
1604
- }
1605
- $$renderer3.push(`<!--]--> `);
1606
- if (awaitingReview(task2)) {
1607
- $$renderer3.push(`<!--[0--><div class="mt-5">`);
1608
- ReviewPanel($$renderer3, { task: task2, shots: shots() });
1609
- $$renderer3.push(`<!----></div>`);
1610
- } else {
1611
- $$renderer3.push("<!--[-1-->");
1612
- }
1613
- $$renderer3.push(`<!--]--> <div class="mt-6">`);
1614
- StageTrack($$renderer3, { task: task2 });
1615
- $$renderer3.push(`<!----></div> `);
1616
- if (e) {
1617
- $$renderer3.push("<!--[0-->");
1618
- const l = etaLine(e);
1619
- $$renderer3.push(`<button type="button"${attr_class(`mt-4 flex items-center gap-2 text-left text-sm hover:underline ${l.tone === "warning" ? "text-warning" : "text-muted-foreground"}`)}>`);
1620
- Timer($$renderer3, { class: "size-4 shrink-0", "aria-hidden": "true" });
1621
- $$renderer3.push(`<!---->${escape_html(l.text)}</button>`);
1622
- } else {
1623
- $$renderer3.push("<!--[-1-->");
1624
- }
1625
- $$renderer3.push(`<!--]--> <div class="mt-6 flex flex-wrap gap-2">`);
1626
- if (task2.preview) {
1627
- $$renderer3.push("<!--[0-->");
1628
- Button($$renderer3, {
1629
- variant: task2.attention?.owner === "captain" && !task2.pr ? "default" : "outline",
1630
- onclick: () => reveal("preview"),
1631
- children: ($$renderer4) => {
1632
- Monitor_play($$renderer4, {});
1633
- $$renderer4.push(`<!---->Live preview`);
1634
- },
1635
- $$slots: { default: true }
1636
- });
1637
- } else {
1638
- $$renderer3.push("<!--[-1-->");
1639
- }
1640
- $$renderer3.push(`<!--]--> `);
1641
- if (task2.passage.link && task2.passage.link.url !== task2.preview?.url && !awaitingReview(task2)) {
1642
- $$renderer3.push("<!--[0-->");
1643
- Button($$renderer3, {
1644
- variant: "outline",
1645
- href: task2.passage.link.url,
1646
- target: "_blank",
1647
- rel: "noreferrer",
1648
- children: ($$renderer4) => {
1649
- $$renderer4.push(`<!---->${escape_html(task2.passage.link.label)}`);
1650
- External_link($$renderer4, {});
1651
- $$renderer4.push(`<!---->`);
1652
- },
1653
- $$slots: { default: true }
1654
- });
1655
- } else {
1656
- $$renderer3.push("<!--[-1-->");
1657
- }
1658
- $$renderer3.push(`<!--]--> `);
1659
- if (task2.pr) {
1660
- $$renderer3.push("<!--[0-->");
1661
- Button($$renderer3, {
1662
- variant: "outline",
1663
- href: `/tasks/${stringify(encodeURIComponent(task2.id))}/review`,
1664
- children: ($$renderer4) => {
1665
- Compass($$renderer4, {});
1666
- $$renderer4.push(`<!---->Review the pull request`);
1667
- },
1668
- $$slots: { default: true }
1669
- });
1670
- } else {
1671
- $$renderer3.push("<!--[-1-->");
1672
- }
1673
- $$renderer3.push(`<!--]--> `);
1674
- Button($$renderer3, {
1675
- variant: task2.attention?.owner === "captain" && task2.attention.kind === "decision" ? "default" : "outline",
1676
- href: `/?chat=${stringify(encodeURIComponent(task2.id))}`,
1677
- children: ($$renderer4) => {
1678
- Message_square($$renderer4, {});
1679
- $$renderer4.push(`<!---->Ask Firstmate about this`);
1680
- },
1681
- $$slots: { default: true }
1682
- });
1683
- $$renderer3.push(`<!----></div> <dl class="mt-6 grid grid-cols-2 gap-x-6 gap-y-3 border-t pt-5 text-sm"><div><dt class="text-muted-foreground">Pull request</dt> <dd>`);
1684
- if (task2.pr) {
1685
- $$renderer3.push(`<!--[0--><a${attr("href", task2.pr.url)} target="_blank" rel="noreferrer" class="text-sea hover:underline">${escape_html(task2.pr.number ? `#${task2.pr.number}` : "Open")}</a> `);
1686
- if (ev2.pr.available) {
1687
- $$renderer3.push(`<!--[0--><span class="text-muted-foreground">${escape_html(prState(ev2.pr.value.state, ev2.pr.value.draft))}</span>`);
1688
- } else {
1689
- $$renderer3.push("<!--[-1-->");
1690
- }
1691
- $$renderer3.push(`<!--]-->`);
1692
- } else {
1693
- $$renderer3.push(`<!--[-1--><span class="text-muted-foreground">None yet</span>`);
1694
- }
1695
- $$renderer3.push(`<!--]--></dd></div> <div><dt class="text-muted-foreground">Preview</dt> <dd>`);
1696
- if (task2.preview) {
1697
- $$renderer3.push(`<!--[0--><a${attr("href", task2.preview.url)} target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline">Reported ${escape_html(ago(task2.preview.reportedAt, live.now))}`);
1698
- External_link($$renderer3, { class: "size-3", "aria-hidden": "true" });
1699
- $$renderer3.push(`<!----></a>`);
1700
- } else {
1701
- $$renderer3.push(`<!--[-1--><span class="text-muted-foreground">None reported</span>`);
1702
- }
1703
- $$renderer3.push(`<!--]--></dd></div> <div><dt class="text-muted-foreground">Last checked</dt> <dd${attr_class(clsx(task2.current && !task2.current.fresh ? "text-warning" : ""))}>`);
1704
- if (task2.current?.observedAt) {
1705
- $$renderer3.push(`<!--[0-->${escape_html(ago(task2.current.observedAt, live.now))}${escape_html(task2.current.fresh ? "" : " (cached)")}`);
1706
- } else {
1707
- $$renderer3.push(`<!--[-1-->${escape_html(ago(currentFleet()?.collectedAt, live.now))}`);
1708
- }
1709
- $$renderer3.push(`<!--]--></dd></div> `);
1710
- if (task2.worker) {
1711
- $$renderer3.push(`<!--[0--><div><dt class="text-muted-foreground">Delivery</dt> <dd>${escape_html(task2.worker.mode ?? "Unknown")}${escape_html(task2.worker.yolo ? `, yolo ${task2.worker.yolo}` : "")}</dd></div>`);
1712
- } else {
1713
- $$renderer3.push("<!--[-1-->");
1714
- }
1715
- $$renderer3.push(`<!--]--></dl>`);
1716
- }
1717
- function stagesPanel($$renderer3, task2) {
1718
- const steps = task2.passage.steps;
1719
- const any = steps.filter(hasDetail);
1720
- $$renderer3.push(`<section aria-labelledby="passage"><div class="flex items-baseline justify-between gap-4"><h2 id="passage" class="sr-only">Passage</h2> <p class="text-xs text-muted-foreground">Placed from: ${escape_html(task2.passage.basis)}.</p> `);
1721
- if (any.length > 1) {
1722
- $$renderer3.push("<!--[0-->");
1723
- const allOpen = any.every(isOpen);
1724
- $$renderer3.push(`<button type="button" class="shrink-0 text-xs text-muted-foreground hover:text-foreground hover:underline">${escape_html(allOpen ? "Fold all" : "Open all")}</button>`);
1725
- } else {
1726
- $$renderer3.push("<!--[-1-->");
1727
- }
1728
- $$renderer3.push(`<!--]--></div> <ol class="mt-5"><!--[-->`);
1729
- const each_array_6 = ensure_array_like(steps);
1730
- for (let i = 0, $$length = each_array_6.length; i < $$length; i++) {
1731
- let s = each_array_6[i];
1732
- const done = s.state === "done";
1733
- const now = s.state === "current";
1734
- const finished = now && task2.status === "landed" && !s.failed;
1735
- const open = hasDetail(s) && isOpen(s);
1736
- const gist = open ? null : stepGist(s, task2, ev());
1737
- $$renderer3.push(`<li${attr_class(`relative flex gap-4 ${open ? "pb-8" : "pb-5"}`)}${attr("data-stage", s.key)}${attr("data-open", open)}>`);
1738
- if (i < steps.length - 1) {
1739
- $$renderer3.push(`<!--[0--><span${attr_class(`absolute top-7 bottom-0 left-[11px] ${done ? "w-0.5 bg-foreground/40" : "w-0 border-l border-dotted border-input"}`)}></span>`);
1740
- } else {
1741
- $$renderer3.push("<!--[-1-->");
1742
- }
1743
- $$renderer3.push(`<!--]--> <span${attr_class(`relative z-10 mt-0.5 grid size-6 shrink-0 place-items-center rounded-full text-xs font-medium ${done ? "bg-foreground text-background" : now ? t() === "trouble" || s.failed ? "bg-danger text-white" : t() === "you" ? "bg-sea text-white dark:text-slate-950" : finished ? "bg-success text-white dark:text-slate-950" : "bg-foreground text-background ring-4 ring-foreground/15" : s.state === "skipped" ? "border border-dashed bg-background text-muted-foreground" : "border bg-background text-muted-foreground"}`)}>`);
1744
- if (now && !finished && task2.busy) {
1745
- $$renderer3.push("<!--[0-->");
1746
- BusyRing($$renderer3, { class: "bg-foreground" });
1747
- } else {
1748
- $$renderer3.push("<!--[-1-->");
1749
- }
1750
- $$renderer3.push(`<!--]--> `);
1751
- if (done || finished) {
1752
- $$renderer3.push("<!--[0-->");
1753
- Check($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1754
- } else if (s.failed) {
1755
- $$renderer3.push("<!--[1-->");
1756
- X($$renderer3, { class: "size-3.5", "aria-hidden": "true" });
1757
- } else {
1758
- $$renderer3.push(`<!--[-1-->${escape_html(i + 1)}`);
1759
- }
1760
- $$renderer3.push(`<!--]--></span> <div class="min-w-0 flex-1"><button type="button" class="group flex w-full min-w-0 items-baseline gap-2 rounded-md text-left disabled:cursor-default"${attr("disabled", !hasDetail(s), true)}${attr("aria-expanded", hasDetail(s) ? open : void 0)}${attr("aria-controls", hasDetail(s) ? `stage-${s.key}` : void 0)}><span${attr_class(`shrink-0 font-display text-[1.12rem] font-medium group-enabled:group-hover:underline ${s.state === "upcoming" || s.state === "skipped" ? "text-muted-foreground italic" : ""}`)}>${escape_html(s.label)}</span> `);
1761
- if (s.state === "skipped") {
1762
- $$renderer3.push(`<!--[0--><span class="shrink-0 text-sm text-muted-foreground">skipped</span>`);
1763
- } else {
1764
- $$renderer3.push("<!--[-1-->");
1765
- }
1766
- $$renderer3.push(`<!--]--> `);
1767
- if (now && s.failed) {
1768
- $$renderer3.push(`<!--[0--><span class="shrink-0 text-sm text-danger">failed</span>`);
1769
- } else if (now && !finished) {
1770
- $$renderer3.push(`<!--[1--><span${attr_class(`shrink-0 text-sm ${stringify(t() === "normal" || t() === "landed" ? "text-muted-foreground" : textClass[t()])}`)}>${escape_html(t() === "trouble" ? `${task2.statusLabel.toLowerCase()} here` : t() === "you" ? "waiting on you" : t() === "firstmate" ? "waiting on Firstmate" : task2.status === "done" ? "finished, with Firstmate" : "in progress")}</span>`);
1771
- } else {
1772
- $$renderer3.push("<!--[-1-->");
1773
- }
1774
- $$renderer3.push(`<!--]--> `);
1775
- if (gist) {
1776
- $$renderer3.push(`<!--[0--><span class="min-w-0 truncate text-sm text-muted-foreground"${attr("title", gist)}>· ${escape_html(gist)}</span>`);
1777
- } else {
1778
- $$renderer3.push("<!--[-1-->");
1779
- }
1780
- $$renderer3.push(`<!--]--> `);
1781
- if (hasDetail(s)) {
1782
- $$renderer3.push("<!--[0-->");
1783
- Chevron_right($$renderer3, {
1784
- class: `ml-auto size-4 shrink-0 self-center text-muted-foreground transition-transform ${open ? "rotate-90" : ""}`,
1785
- "aria-hidden": "true"
1786
- });
1787
- } else {
1788
- $$renderer3.push("<!--[-1-->");
1789
- }
1790
- $$renderer3.push(`<!--]--></button> `);
1791
- if (open) {
1792
- $$renderer3.push(`<!--[0--><div${attr("id", `stage-${stringify(s.key)}`)}>`);
1793
- if (s.note) {
1794
- $$renderer3.push(`<!--[0--><p class="mt-1 text-xs text-muted-foreground">${escape_html(s.note)}</p>`);
1795
- } else {
1796
- $$renderer3.push("<!--[-1-->");
1797
- }
1798
- $$renderer3.push(`<!--]--> `);
1799
- if (done || now) {
1800
- $$renderer3.push(`<!--[0--><div class="mt-3 space-y-4"><!--[-->`);
1801
- const each_array_7 = ensure_array_like(s.evidence);
1802
- for (let $$index_6 = 0, $$length2 = each_array_7.length; $$index_6 < $$length2; $$index_6++) {
1803
- let id2 = each_array_7[$$index_6];
1804
- blockFor(id2)?.($$renderer3, s, id2);
1805
- $$renderer3.push(`<!---->`);
1806
- }
1807
- $$renderer3.push(`<!--]--> <!--[-->`);
1808
- const each_array_8 = ensure_array_like(stepEntries(s.key));
1809
- for (let $$index_7 = 0, $$length2 = each_array_8.length; $$index_7 < $$length2; $$index_7++) {
1810
- let e = each_array_8[$$index_7];
1811
- $$renderer3.push(`<div data-slot="step.evidence"><h4 class="mb-2 text-sm font-medium">${escape_html(e.title)}</h4> `);
1812
- SlotContent($$renderer3, { entry: e, now: live.now });
1813
- $$renderer3.push(`<!----></div>`);
1814
- }
1815
- $$renderer3.push(`<!--]--></div>`);
1816
- } else {
1817
- $$renderer3.push("<!--[-1-->");
1818
- }
1819
- $$renderer3.push(`<!--]--></div>`);
1820
- } else {
1821
- $$renderer3.push("<!--[-1-->");
1822
- }
1823
- $$renderer3.push(`<!--]--> <!--[-->`);
1824
- const each_array_9 = ensure_array_like(taskSections().afterStep[s.key] ?? []);
1825
- for (let $$index_8 = 0, $$length2 = each_array_9.length; $$index_8 < $$length2; $$index_8++) {
1826
- let e = each_array_9[$$index_8];
1827
- $$renderer3.push(`<div class="mt-4">`);
1828
- pluginSection($$renderer3, e);
1829
- $$renderer3.push(`<!----></div>`);
1830
- }
1831
- $$renderer3.push(`<!--]--></div></li>`);
1832
- }
1833
- $$renderer3.push(`<!--]--></ol></section>`);
1834
- }
1835
- function previewPanel($$renderer3, task2) {
1836
- if (task2.preview) {
1837
- $$renderer3.push(`<!--[0--><section aria-labelledby="live-preview"><h2 id="live-preview" class="sr-only">Live preview</h2> `);
1838
- if (active() === "preview" && !full()) {
1839
- $$renderer3.push("<!--[0-->");
1840
- LivePreview($$renderer3, {
1841
- taskId: task2.id,
1842
- feedback: task2.status !== "landed",
1843
- onfullscreen: () => show("preview", true)
1844
- });
1845
- } else {
1846
- $$renderer3.push("<!--[-1-->");
1847
- }
1848
- $$renderer3.push(`<!--]--></section>`);
1849
- } else {
1850
- $$renderer3.push("<!--[-1-->");
1851
- }
1852
- $$renderer3.push(`<!--]-->`);
1853
- }
1854
- function screenshotsPanel($$renderer3) {
1855
- if (shots().length) {
1856
- $$renderer3.push(`<!--[0--><div class="flex flex-wrap gap-4"><!--[-->`);
1857
- const each_array_10 = ensure_array_like(shots());
1858
- for (let i = 0, $$length = each_array_10.length; i < $$length; i++) {
1859
- let s = each_array_10[i];
1860
- $$renderer3.push(`<button type="button" class="w-48 shrink-0 cursor-zoom-in text-left"${attr("aria-label", `Enlarge ${stringify(s.name)}`)}><img${attr("src", s.url)}${attr("alt", s.name)} loading="lazy" class="aspect-[16/10] w-full rounded-lg border object-cover object-top"/> <p class="mt-1.5 truncate text-xs text-muted-foreground">${escape_html(s.name)}${escape_html(s.modifiedAt ? ` · ${ago(s.modifiedAt, live.now)}` : "")}</p></button>`);
1861
- }
1862
- $$renderer3.push(`<!--]--></div> `);
1863
- if (ev()) {
1864
- $$renderer3.push("<!--[0-->");
1865
- source($$renderer3, ev().screenshots);
1866
- } else {
1867
- $$renderer3.push("<!--[-1-->");
1868
- }
1869
- $$renderer3.push(`<!--]-->`);
1870
- } else {
1871
- $$renderer3.push(`<!--[-1--><div class="grid min-h-60 place-items-center rounded-xl border border-dashed bg-muted/30 p-6 text-center text-muted-foreground"><div>`);
1872
- Image_off($$renderer3, { class: "mx-auto size-6", "aria-hidden": "true" });
1873
- $$renderer3.push(`<!----> <p class="mt-2 text-sm font-medium">No screenshots saved</p> <p class="mt-1 text-xs">${escape_html(ev() && !ev().screenshots.available ? ev().screenshots.reason : "The worker has not saved any screenshots for this task.")}</p></div></div>`);
1874
- }
1875
- $$renderer3.push(`<!--]-->`);
1876
- }
1877
- function logPanel($$renderer3, task2, detail2) {
1878
- $$renderer3.push(`<section class="max-w-3xl space-y-4" aria-labelledby="ships-log"><div class="rounded-xl border"><div class="flex flex-wrap items-baseline gap-x-2 px-4 py-3 text-sm"><h2 id="ships-log" class="font-display text-[1.2rem] font-medium tracking-[0.1em] text-muted-foreground [font-variant-caps:all-small-caps]">Ship’s log</h2> <span class="text-muted-foreground">what the crew reported, oldest first (history, not current state)</span></div> <div class="border-t p-4">`);
1879
- if (detail2.timeline.available) {
1880
- $$renderer3.push(`<!--[0--><ol class="space-y-2 text-sm"><!--[-->`);
1881
- const each_array_14 = ensure_array_like(detail2.timeline.value);
1882
- for (let i = 0, $$length = each_array_14.length; i < $$length; i++) {
1883
- let e = each_array_14[i];
1884
- const plain = e.kind === "status" ? plainStatus(e.state, e.text) : null;
1885
- $$renderer3.push(`<li class="grid grid-cols-[5.5rem_minmax(0,1fr)] gap-3"><time class="tabular text-xs text-muted-foreground"${attr("datetime", e.at)}${attr("title", e.at)}>${escape_html(clock(e.at))}</time> <div class="min-w-0 break-words">`);
1886
- if (plain) {
1887
- $$renderer3.push(`<!--[0--><p>${escape_html(plain)}</p> `);
1888
- RawDetails($$renderer3, {
1889
- raw: e.state ? `${e.state}: ${e.text.trim()}` : e.text,
1890
- plain
1891
- });
1892
- $$renderer3.push(`<!---->`);
1893
- } else {
1894
- $$renderer3.push(`<!--[-1--><p>${escape_html(entryText(e))}</p>`);
1895
- }
1896
- $$renderer3.push(`<!--]--></div></li>`);
1897
- }
1898
- $$renderer3.push(`<!--]--></ol> `);
1899
- source($$renderer3, detail2.timeline);
1900
- $$renderer3.push(`<!---->`);
1901
- } else {
1902
- $$renderer3.push("<!--[-1-->");
1903
- unavailable($$renderer3, detail2.timeline);
1904
- }
1905
- $$renderer3.push(`<!--]--></div></div> `);
1906
- OutputInspector($$renderer3, { task: task2, live: active() === "log" });
1907
- $$renderer3.push(`<!----> `);
1908
- if (detail2.gaps.length) {
1909
- $$renderer3.push(`<!--[0--><div class="rounded-xl border border-dashed p-4 text-sm"><p class="font-medium">Not available yet</p> <ul class="mt-2 list-disc space-y-1 pl-5 text-muted-foreground"><!--[-->`);
1910
- const each_array_15 = ensure_array_like(detail2.gaps);
1911
- for (let $$index_15 = 0, $$length = each_array_15.length; $$index_15 < $$length; $$index_15++) {
1912
- let g = each_array_15[$$index_15];
1913
- $$renderer3.push(`<li>${escape_html(g)}</li>`);
1914
- }
1915
- $$renderer3.push(`<!--]--></ul></div>`);
1916
- } else {
1917
- $$renderer3.push("<!--[-1-->");
1918
- }
1919
- $$renderer3.push(`<!--]--></section>`);
1920
- }
1921
- let $$settled = true;
1922
- let $$inner_renderer;
1923
- function $$render_inner($$renderer3) {
1924
- head("13zy71l", $$renderer3, ($$renderer4) => {
1925
- $$renderer4.title(($$renderer5) => {
1926
- $$renderer5.push(`<title>${escape_html(task()?.title ?? id())} · Wheelhouse</title>`);
1927
- });
1928
- });
1929
- $$renderer3.push(`<main class="px-4 pt-4 pb-20 sm:px-6 lg:px-10">`);
1930
- if (!task() || !ev() || !detail()) {
1931
- $$renderer3.push(`<!--[0--><a${attr("href", back())} class="inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground">`);
1932
- Arrow_left($$renderer3, { class: "size-4", "aria-hidden": "true" });
1933
- $$renderer3.push(`<!---->Harbour</a> <p class="surface mt-6 max-w-3xl p-6 text-muted-foreground">${escape_html(data.problem ?? "Loading…")}</p>`);
1934
- } else {
1935
- $$renderer3.push(`<!--[-1--><div class="grid gap-8 lg:grid-cols-[minmax(19rem,25rem)_minmax(0,1fr)] xl:grid-cols-[26rem_minmax(0,1fr)] xl:gap-12"><aside class="no-scrollbar min-w-0 self-start rounded-lg border bg-panel px-6 pt-1 pb-6 lg:sticky lg:top-[4.5rem] lg:max-h-[calc(100dvh-5.5rem)] lg:overflow-y-auto lg:pb-6" aria-label="Overview"><a${attr("href", back())} class="inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground">`);
1936
- Arrow_left($$renderer3, { class: "size-4", "aria-hidden": "true" });
1937
- $$renderer3.push(`<!---->Harbour</a> `);
1938
- overview($$renderer3, task(), ev(), detail());
1939
- $$renderer3.push(`<!----> `);
1940
- if (consoleInImage(task())) {
1941
- $$renderer3.push(`<!--[0--><section class="mt-6 border-t pt-5" aria-labelledby="live-terminal" data-terminal=""><h2 id="live-terminal" class="text-sm font-medium"><button type="button" class="group flex w-full items-center gap-2 text-left"${attr("aria-expanded", terminalOpen)} aria-controls="live-terminal-body"><span class="group-hover:underline">Live terminal</span> `);
1942
- Chevron_right($$renderer3, {
1943
- class: `ml-auto size-4 shrink-0 text-muted-foreground transition-transform ${"rotate-90"}`,
1944
- "aria-hidden": "true"
1945
- });
1946
- $$renderer3.push(`<!----></button></h2> `);
1947
- {
1948
- $$renderer3.push(`<!--[0--><div id="live-terminal-body" class="mt-3">`);
1949
- ConsoleWindow($$renderer3, { task: task(), lines: 12, class: "rounded-xl" });
1950
- $$renderer3.push(`<!----></div>`);
1951
- }
1952
- $$renderer3.push(`<!--]--></section>`);
1953
- } else {
1954
- $$renderer3.push("<!--[-1-->");
1955
- }
1956
- $$renderer3.push(`<!--]--> `);
1957
- if (hasTime(task(), detail())) {
1958
- $$renderer3.push(`<!--[0--><div class="mt-6 scroll-mt-20 border-t pt-5" data-time="">`);
1959
- timePanel($$renderer3, task(), detail());
1960
- $$renderer3.push(`<!----></div>`);
1961
- } else {
1962
- $$renderer3.push("<!--[-1-->");
1963
- }
1964
- $$renderer3.push(`<!--]--></aside> <div class="surface min-w-0 scroll-mt-14 px-5 pb-8 sm:px-6"><div class="sticky top-14 z-20 -mx-5 rounded-t-lg bg-card px-5 pt-1 sm:-mx-6 sm:px-6"><div class="no-scrollbar flex items-center gap-1 overflow-x-auto border-b" role="tablist" aria-label="Task detail"><!--[-->`);
1965
- const each_array_16 = ensure_array_like(tabs());
1966
- for (let i = 0, $$length = each_array_16.length; i < $$length; i++) {
1967
- let tab = each_array_16[i];
1968
- $$renderer3.push(`<button type="button" role="tab"${attr("id", `tab-${stringify(tab.id)}`)}${attr("aria-selected", active() === tab.id)}${attr("aria-controls", `panel-${stringify(tab.id)}`)}${attr("tabindex", active() === tab.id ? 0 : -1)}${attr_class(`-mb-px inline-flex shrink-0 items-center gap-1.5 border-b-2 px-3 py-2.5 text-base font-semibold tracking-[0.1em] whitespace-nowrap transition-colors [font-variant-caps:all-small-caps] ${active() === tab.id ? "border-brass text-foreground" : "border-transparent text-muted-foreground hover:text-foreground"}`)}>${escape_html(tab.label)}`);
1969
- if (tab.count) {
1970
- $$renderer3.push(`<!--[0--><span class="rounded-full bg-muted px-1.5 text-xs text-muted-foreground tabular-nums">${escape_html(tab.count)}</span>`);
1971
- } else {
1972
- $$renderer3.push("<!--[-1-->");
1973
- }
1974
- $$renderer3.push(`<!--]--></button>`);
1975
- }
1976
- $$renderer3.push(`<!--]--></div></div> <!--[-->`);
1977
- const each_array_17 = ensure_array_like(tabs());
1978
- for (let $$index_17 = 0, $$length = each_array_17.length; $$index_17 < $$length; $$index_17++) {
1979
- let tab = each_array_17[$$index_17];
1980
- $$renderer3.push(`<div${attr("id", `panel-${stringify(tab.id)}`)} role="tabpanel"${attr("aria-labelledby", `tab-${stringify(tab.id)}`)} tabindex="0" class="pt-6 outline-none"${attr("hidden", active() !== tab.id)}>`);
1981
- if (tab.id === "stages") {
1982
- $$renderer3.push("<!--[0-->");
1983
- stagesPanel($$renderer3, task());
1984
- } else if (tab.id === "preview") {
1985
- $$renderer3.push("<!--[1-->");
1986
- previewPanel($$renderer3, task());
1987
- } else if (tab.id === "screenshots") {
1988
- $$renderer3.push("<!--[2-->");
1989
- screenshotsPanel($$renderer3);
1990
- } else if (tab.id === "log") {
1991
- $$renderer3.push("<!--[3-->");
1992
- logPanel($$renderer3, task(), detail());
1993
- } else if (tab.id === "talk") {
1994
- $$renderer3.push("<!--[4-->");
1995
- ConversationPanel($$renderer3, { talk: detail().build.conversation, now: live.now });
1996
- } else if (tab.id === "checks") {
1997
- $$renderer3.push("<!--[5-->");
1998
- ChecksReport($$renderer3, { checks: detail().build.checks, taskId: task().id });
1999
- } else if (tab.id === "docs") {
2000
- $$renderer3.push("<!--[6-->");
2001
- DocsPanel($$renderer3, { docs: detail().build.docs, taskId: task().id });
2002
- } else {
2003
- $$renderer3.push("<!--[-1-->");
2004
- const entry = pluginTabs().find((e) => `plugin:${e.key}` === tab.id);
2005
- if (entry) {
2006
- $$renderer3.push("<!--[0-->");
2007
- pluginSection($$renderer3, entry);
2008
- } else {
2009
- $$renderer3.push("<!--[-1-->");
2010
- }
2011
- $$renderer3.push(`<!--]-->`);
2012
- }
2013
- $$renderer3.push(`<!--]--></div>`);
2014
- }
2015
- $$renderer3.push(`<!--]--></div></div> `);
2016
- if (full() && task().preview) {
2017
- $$renderer3.push("<!--[0-->");
2018
- PreviewStudio($$renderer3, {
2019
- taskId: task().id,
2020
- title: task().title,
2021
- url: task().preview.url,
2022
- feedback: task().status !== "landed"
2023
- });
2024
- } else {
2025
- $$renderer3.push("<!--[-1-->");
2026
- }
2027
- $$renderer3.push(`<!--]--> `);
2028
- Lightbox($$renderer3, {
2029
- shots: shots(),
2030
- get index() {
2031
- return shotIndex;
2032
- },
2033
- set index($$value) {
2034
- shotIndex = $$value;
2035
- $$settled = false;
2036
- }
2037
- });
2038
- $$renderer3.push(`<!----> `);
2039
- DiffDialog($$renderer3, {
2040
- taskId: task().id,
2041
- get file() {
2042
- return diffFile;
2043
- },
2044
- set file($$value) {
2045
- diffFile = $$value;
2046
- $$settled = false;
2047
- }
2048
- });
2049
- $$renderer3.push(`<!---->`);
2050
- }
2051
- $$renderer3.push(`<!--]--></main>`);
2052
- }
2053
- do {
2054
- $$settled = true;
2055
- $$inner_renderer = $$renderer2.copy();
2056
- $$render_inner($$inner_renderer);
2057
- } while (!$$settled);
2058
- $$renderer2.subsume($$inner_renderer);
2059
- });
2060
- }
2061
-
2062
- export { _page as default };
2063
- //# sourceMappingURL=_page.svelte.js-Dr2wwDJG.js.map