@chrisjowen/wheelhouse 0.1.0 → 0.1.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 (226) hide show
  1. package/README.md +75 -54
  2. package/build/client/_app/immutable/chunks/{DPTtvukI.js → B1bNvkZf.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B1bNvkZf.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B1bNvkZf.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{CHoQMvOZ.js → BORDV711.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BORDV711.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BORDV711.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{BZm5e4fE.js → BWJa0dU7.js} +1 -1
  9. package/build/client/_app/immutable/chunks/BWJa0dU7.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BWJa0dU7.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{CewXGI4o.js → CIfcjhKg.js} +1 -1
  12. package/build/client/_app/immutable/chunks/CIfcjhKg.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CIfcjhKg.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{DmcreR7o.js → CKhg4Tm6.js} +1 -1
  15. package/build/client/_app/immutable/chunks/CKhg4Tm6.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/CKhg4Tm6.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{Ewrw42Vq.js → CdOazBBu.js} +1 -1
  18. package/build/client/_app/immutable/chunks/CdOazBBu.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/CdOazBBu.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{BAurN1n6.js → _7N5fmOy.js} +2 -2
  21. package/build/client/_app/immutable/chunks/_7N5fmOy.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/_7N5fmOy.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{D8Hx-_mj.js → euRlC7pA.js} +1 -1
  24. package/build/client/_app/immutable/chunks/euRlC7pA.js.br +1 -0
  25. package/build/client/_app/immutable/chunks/euRlC7pA.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{bvY4yrzM.js → hBAvbyDe.js} +1 -1
  27. package/build/client/_app/immutable/chunks/hBAvbyDe.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/hBAvbyDe.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.D22_AlD8.js → app.Dzyng0dn.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.Dzyng0dn.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.Dzyng0dn.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js +1 -0
  33. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js.br +0 -0
  34. package/build/client/_app/immutable/entry/start.9fa7Jj4n.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{0.DsfUbybd.js → 0.CaNaBMzB.js} +1 -1
  36. package/build/client/_app/immutable/nodes/0.CaNaBMzB.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/0.CaNaBMzB.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.9tnApS8T.js → 1.BCMmEnhe.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.BCMmEnhe.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/1.BCMmEnhe.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{10.CbyVViLq.js → 10.BO2VoEpn.js} +1 -1
  42. package/build/client/_app/immutable/nodes/10.BO2VoEpn.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.BO2VoEpn.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{11.xg5UTCOx.js → 11.BOR5Lt2T.js} +1 -1
  45. package/build/client/_app/immutable/nodes/11.BOR5Lt2T.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/11.BOR5Lt2T.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{12.C6hLGaov.js → 12.BGnaA6g1.js} +1 -1
  48. package/build/client/_app/immutable/nodes/12.BGnaA6g1.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/12.BGnaA6g1.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{13.DHbTeLkm.js → 13.BMHoWbLt.js} +1 -1
  51. package/build/client/_app/immutable/nodes/13.BMHoWbLt.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/13.BMHoWbLt.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{15.DYSMqa5A.js → 15.BDQ6GGok.js} +1 -1
  54. package/build/client/_app/immutable/nodes/15.BDQ6GGok.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/15.BDQ6GGok.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{16.B0mX0t_j.js → 16.BYZHF6Y1.js} +1 -1
  57. package/build/client/_app/immutable/nodes/16.BYZHF6Y1.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/16.BYZHF6Y1.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{2.CSYV0jmk.js → 2.DmiGTHZF.js} +1 -1
  60. package/build/client/_app/immutable/nodes/2.DmiGTHZF.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/2.DmiGTHZF.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/{3.X5qqsIUa.js → 3.qyqfVtUJ.js} +1 -1
  63. package/build/client/_app/immutable/nodes/3.qyqfVtUJ.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/3.qyqfVtUJ.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/{4.Di4k8SR2.js → 4.DMxs5dS-.js} +1 -1
  66. package/build/client/_app/immutable/nodes/4.DMxs5dS-.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/4.DMxs5dS-.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/{5.DMFYTxVa.js → 5.pFV6qgYd.js} +1 -1
  69. package/build/client/_app/immutable/nodes/5.pFV6qgYd.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/5.pFV6qgYd.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/{6.6yDAURLV.js → 6.DKZQPZQe.js} +1 -1
  72. package/build/client/_app/immutable/nodes/6.DKZQPZQe.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/6.DKZQPZQe.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/{7.xxvMU05c.js → 7.DmCbsQpY.js} +1 -1
  75. package/build/client/_app/immutable/nodes/7.DmCbsQpY.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/7.DmCbsQpY.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/{8.GSaWotW8.js → 8.C5_-lQ12.js} +1 -1
  78. package/build/client/_app/immutable/nodes/8.C5_-lQ12.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/8.C5_-lQ12.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/{9.CEiUwDDg.js → 9.DdS_3rh5.js} +1 -1
  81. package/build/client/_app/immutable/nodes/9.DdS_3rh5.js.br +0 -0
  82. package/build/client/_app/immutable/nodes/9.DdS_3rh5.js.gz +0 -0
  83. package/build/client/_app/version.json +1 -1
  84. package/build/client/_app/version.json.br +0 -0
  85. package/build/client/_app/version.json.gz +0 -0
  86. package/build/handler.js +4 -4
  87. package/build/index.js +4 -4
  88. package/build/server/chunks/chunks/{access.js-CS2pJasF.js → access.js-XFAczbHS.js} +2 -2
  89. package/build/server/chunks/chunks/{detail.js-CSjOmiVi.js → detail.js-COMRu1TY.js} +2 -2
  90. package/build/server/chunks/chunks/{http2.js-Cr9xuMRL.js → http2.js-BO84xGO4.js} +2 -2
  91. package/build/server/chunks/chunks/{internal.js-Co-6PAQm.js → internal.js-C_uDXIpd.js} +3 -3
  92. package/build/server/chunks/chunks/{runtime.js-C0n924wq.js → runtime.js-fVZqJsqU.js} +2 -2
  93. package/build/server/chunks/chunks/{view.js-BtcLmKUY.js → view.js-tvgxW0fE.js} +2 -2
  94. package/build/server/chunks/entries/endpoints/api/events/{_server.ts.js-DNHG661Q.js → _server.ts.js-gil57_h5.js} +2 -2
  95. package/build/server/chunks/entries/endpoints/api/firstmate/chat/{_server.ts.js-XBUQePMq.js → _server.ts.js-CWFdWS2r.js} +2 -2
  96. package/build/server/chunks/entries/endpoints/api/firstmate/commands/{_server.ts.js-D1tzpRWy.js → _server.ts.js-0h1duDYU.js} +2 -2
  97. package/build/server/chunks/entries/endpoints/api/firstmate/input/{_server.ts.js-DqhQUZUA.js → _server.ts.js-DUtAFI8B.js} +2 -2
  98. package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/{_server.ts.js-LsZer0Bi.js → _server.ts.js-BVjvk1Kr.js} +2 -2
  99. package/build/server/chunks/entries/endpoints/api/firstmate/messages/{_server.ts.js-DQob0XkJ.js → _server.ts.js-CZKuOhTq.js} +2 -2
  100. package/build/server/chunks/entries/endpoints/api/firstmate/pick/{_server.ts.js-DgFjtYYL.js → _server.ts.js-DbYNDgMY.js} +2 -2
  101. package/build/server/chunks/entries/endpoints/api/firstmate/start/{_server.ts.js-DOoA4rRW.js → _server.ts.js-Dez_V83F.js} +2 -2
  102. package/build/server/chunks/entries/endpoints/api/fleet/{_server.ts.js-DZQsFY87.js → _server.ts.js-XScFl7NC.js} +2 -2
  103. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-DuSzTlq5.js → _server.ts.js-BOvoz2OJ.js} +2 -2
  104. package/build/server/chunks/entries/endpoints/api/inbox/{_server.ts.js-C15XwPXH.js → _server.ts.js-DuUHrmV4.js} +2 -2
  105. package/build/server/chunks/entries/endpoints/api/insights/{_server.ts.js--gavJO4f.js → _server.ts.js-P-j2jdcu.js} +2 -2
  106. package/build/server/chunks/entries/endpoints/api/plugins/{_server.ts.js-CsTy_jT6.js → _server.ts.js-BuaL2gbp.js} +2 -2
  107. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/{_server.ts.js-BWOcGtOU.js → _server.ts.js-Dwoaon5p.js} +3 -3
  108. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/{_server.ts.js-Kjwbc2wm.js → _server.ts.js-CpRObQnb.js} +3 -3
  109. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/{_server.ts.js-BTIb8CUb.js → _server.ts.js-Dml05WPU.js} +3 -3
  110. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/{_server.ts.js-Vh52yDJ9.js → _server.ts.js-rp9RtX4F.js} +3 -3
  111. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/{_server.ts.js-LJDJLrpB.js → _server.ts.js-DLdJWcj-.js} +3 -3
  112. package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/{_server.ts.js-CdDBYH6K.js → _server.ts.js-Co_h1q_m.js} +3 -3
  113. package/build/server/chunks/entries/endpoints/api/services/{_server.ts.js-DoElFmWK.js → _server.ts.js-SRzfx-2h.js} +2 -2
  114. package/build/server/chunks/entries/endpoints/api/slots/{_server.ts.js-KiiPnPLF.js → _server.ts.js-lFuRL8QC.js} +2 -2
  115. package/build/server/chunks/entries/endpoints/api/specs/_id_/{_server.ts.js-LMXTPr04.js → _server.ts.js-D-QFRPpb.js} +3 -3
  116. package/build/server/chunks/entries/endpoints/api/specs/_id_/build-request/{_server.ts.js-bqjJGIjt.js → _server.ts.js-CEZLC3cJ.js} +3 -3
  117. package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_comment_/{_server.ts.js-DD1qQE9w.js → _server.ts.js-BHNzMZ7H.js} +3 -3
  118. package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/{_server.ts.js-Bby1xkpH.js → _server.ts.js-DHMiene7.js} +3 -3
  119. package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_name_/{_server.ts.js-CPX8OLQa.js → _server.ts.js-BxmqxnuG.js} +3 -3
  120. package/build/server/chunks/entries/endpoints/api/specs/_id_/images/{_server.ts.js-BjBV4SVl.js → _server.ts.js-CvRTk1JX.js} +3 -3
  121. package/build/server/chunks/entries/endpoints/api/specs/_id_/sent/{_server.ts.js-BAqm0IW0.js → _server.ts.js-VHXvHVC9.js} +3 -3
  122. package/build/server/chunks/entries/endpoints/api/specs/_id_/turn/{_server.ts.js-CNFIHA70.js → _server.ts.js-BjbvOskQ.js} +3 -3
  123. package/build/server/chunks/entries/endpoints/api/specs/{_server.ts.js-Bix9PKKr.js → _server.ts.js-CUNgX4FQ.js} +3 -3
  124. package/build/server/chunks/entries/endpoints/api/tasks/_id_/{_server.ts.js-CT7cLDQU.js → _server.ts.js-CTJxYuKH.js} +3 -3
  125. package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/{_server.ts.js-zCsm8UJT.js → _server.ts.js-BsDmTo5q.js} +2 -2
  126. package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/{_server.ts.js-ccyEPbua.js → _server.ts.js-DmDd31bm.js} +2 -2
  127. package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/{_server.ts.js-eZPQtK6T.js → _server.ts.js-xNagO0jC.js} +2 -2
  128. package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/{_server.ts.js-CW76hSLW.js → _server.ts.js-fNh7CbDX.js} +2 -2
  129. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/{_server.ts.js-Cjuig1dr.js → _server.ts.js-DL1M1PqI.js} +3 -3
  130. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/ask/{_server.ts.js-C04r1OFS.js → _server.ts.js-G8t4mipV.js} +4 -4
  131. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/check/{_server.ts.js-Ca5VNJtJ.js → _server.ts.js-B0ymV1Pa.js} +4 -4
  132. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/guide/{_server.ts.js-BKLIKSUM.js → _server.ts.js-Bi08FNu1.js} +4 -4
  133. package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/runs/_run_/stop/{_server.ts.js-C-D9zXgK.js → _server.ts.js-C_TftzeG.js} +2 -2
  134. package/build/server/chunks/entries/{hooks.server.js-Cgq1_RNe.js → hooks.server.js-IwCMs7or.js} +2 -2
  135. package/build/server/chunks/entries/pages/{_layout.server.ts.js-B7EWMhm1.js → _layout.server.ts.js-DQI-pH0T.js} +2 -2
  136. package/build/server/chunks/entries/pages/{_page.server.ts.js-CrjekE3C.js → _page.server.ts.js-PgqrVobO.js} +2 -2
  137. package/build/server/chunks/entries/pages/decisions/{_page.server.ts.js-Olm_zS-k.js → _page.server.ts.js-SL6FScVj.js} +2 -2
  138. package/build/server/chunks/entries/pages/harbour/{_page.server.ts.js-CVhhNUGy.js → _page.server.ts.js-DIvSuIkZ.js} +2 -2
  139. package/build/server/chunks/entries/pages/headroom/{_page.server.ts.js-Bv8GukD1.js → _page.server.ts.js-CGLa7Yrr.js} +2 -2
  140. package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/{_page.server.ts.js-BJRmRxez.js → _page.server.ts.js-BoG4CT_l.js} +2 -2
  141. package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/{_page.server.ts.js-DawJ61h-.js → _page.server.ts.js-BVTs44zi.js} +2 -2
  142. package/build/server/chunks/entries/pages/projects/_id_/passage/{_page.server.ts.js-Cm-4qkeb.js → _page.server.ts.js-CER4deq2.js} +2 -2
  143. package/build/server/chunks/entries/pages/projects/_id_/passage/edit/{_page.server.ts.js-DWNW8L5o.js → _page.server.ts.js-DiCdDip4.js} +2 -2
  144. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BVDM5Frg.js → _page.server.ts.js-BH_VcZlY.js} +2 -2
  145. package/build/server/chunks/entries/pages/spec/{_page.server.ts.js-B3atEUDm.js → _page.server.ts.js-CTzZ3jGx.js} +2 -2
  146. package/build/server/chunks/entries/pages/tasks/_id_/{_page.server.ts.js-BDQIO7Ft.js → _page.server.ts.js-YgQ9nhRn.js} +3 -3
  147. package/build/server/chunks/entries/pages/tasks/_id_/doc/{_page.server.ts.js-Bw-3fcQ6.js → _page.server.ts.js-DdBsWj8_.js} +2 -2
  148. package/build/server/chunks/entries/pages/tasks/_id_/review/{_page.server.ts.js-CJek9uLa.js → _page.server.ts.js-DY0lh_8-.js} +2 -2
  149. package/build/server/chunks/entries/pages/time/{_page.server.ts.js-An6F-Ydg.js → _page.server.ts.js-kriWArLo.js} +2 -2
  150. package/build/server/chunks/{handler-BnRz5A8m.js → handler-BZ-YqSXJ.js} +3 -3
  151. package/build/server/chunks/{index.js-C8djlQGs.js → index.js-CmcXVwBU.js} +2 -2
  152. package/build/server/chunks/{manifest.js-YAglwkb0.js → manifest.js-DqwS7AJB.js} +59 -59
  153. package/build/server/chunks/nodes/{0.js-lkzICUiD.js → 0.js-DS2IDkUW.js} +4 -4
  154. package/build/server/chunks/nodes/{1.js-BJHI215Q.js → 1.js-_0OBbjVP.js} +2 -2
  155. package/build/server/chunks/nodes/{10.js-BWB-fD67.js → 10.js-CMSpRrcc.js} +5 -5
  156. package/build/server/chunks/nodes/{11.js-DWkXu85W.js → 11.js-D1M01GlQ.js} +5 -5
  157. package/build/server/chunks/nodes/{12.js-CKTx5eRx.js → 12.js-DaC2vk2U.js} +5 -5
  158. package/build/server/chunks/nodes/{13.js-C9YUj8Wf.js → 13.js-BSWYX8Ak.js} +5 -5
  159. package/build/server/chunks/nodes/{14.js-CvfRHrCy.js → 14.js-CY9oBxXM.js} +4 -4
  160. package/build/server/chunks/nodes/{15.js-D_eEoMQb.js → 15.js-Bg9hD2dR.js} +5 -5
  161. package/build/server/chunks/nodes/{16.js-BQhgpvij.js → 16.js-qlcIEvV6.js} +4 -4
  162. package/build/server/chunks/nodes/{2.js-C-3t-e-a.js → 2.js-CW_-me_g.js} +4 -4
  163. package/build/server/chunks/nodes/{3.js-DgwKYi6C.js → 3.js-CUCcQUgI.js} +4 -4
  164. package/build/server/chunks/nodes/{4.js-DRDQ1cZ6.js → 4.js-CSYxmBts.js} +4 -4
  165. package/build/server/chunks/nodes/{5.js-Bn5aoN6C.js → 5.js-CHwpTnZj.js} +4 -4
  166. package/build/server/chunks/nodes/{6.js-lazTWxVv.js → 6.js-XHZwJGEg.js} +2 -2
  167. package/build/server/chunks/nodes/{7.js-PUjlFfxr.js → 7.js-DK_vuZQs.js} +4 -4
  168. package/build/server/chunks/nodes/{8.js-DYPhaWV-.js → 8.js-Crd93Nlx.js} +4 -4
  169. package/build/server/chunks/nodes/{9.js-C2q_Jaiu.js → 9.js-CWqhWBb9.js} +4 -4
  170. package/dist/cli.js +1 -1
  171. package/package.json +1 -1
  172. package/build/client/_app/immutable/chunks/BAurN1n6.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/BAurN1n6.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/BZm5e4fE.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/BZm5e4fE.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/CHoQMvOZ.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/CHoQMvOZ.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/CewXGI4o.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/CewXGI4o.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/D8Hx-_mj.js.br +0 -3
  181. package/build/client/_app/immutable/chunks/D8Hx-_mj.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/DPTtvukI.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/DPTtvukI.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/DmcreR7o.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/DmcreR7o.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/Ewrw42Vq.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/Ewrw42Vq.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/bvY4yrzM.js.br +0 -0
  189. package/build/client/_app/immutable/chunks/bvY4yrzM.js.gz +0 -0
  190. package/build/client/_app/immutable/entry/app.D22_AlD8.js.br +0 -0
  191. package/build/client/_app/immutable/entry/app.D22_AlD8.js.gz +0 -0
  192. package/build/client/_app/immutable/entry/start.xwa7znED.js +0 -1
  193. package/build/client/_app/immutable/entry/start.xwa7znED.js.br +0 -0
  194. package/build/client/_app/immutable/entry/start.xwa7znED.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/0.DsfUbybd.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/0.DsfUbybd.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/1.9tnApS8T.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/1.9tnApS8T.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/10.CbyVViLq.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/10.CbyVViLq.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/12.C6hLGaov.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/12.C6hLGaov.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.br +0 -0
  216. package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.gz +0 -0
  217. package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.br +0 -0
  218. package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.gz +0 -0
  219. package/build/client/_app/immutable/nodes/6.6yDAURLV.js.br +0 -0
  220. package/build/client/_app/immutable/nodes/6.6yDAURLV.js.gz +0 -0
  221. package/build/client/_app/immutable/nodes/7.xxvMU05c.js.br +0 -0
  222. package/build/client/_app/immutable/nodes/7.xxvMU05c.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/8.GSaWotW8.js.br +0 -0
  224. package/build/client/_app/immutable/nodes/8.GSaWotW8.js.gz +0 -0
  225. package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.br +0 -0
  226. package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.gz +0 -0
package/README.md CHANGED
@@ -2,107 +2,128 @@
2
2
 
3
3
  # Wheelhouse
4
4
 
5
- **Run a crew of AI coding agents without living in their terminals.**
5
+ **Run a crew of AI coding agents without living in their terminals.** ⚓
6
6
 
7
- Wheelhouse is the bridge for [Firstmate](https://github.com/kunchenguid/firstmate). Talk to Firstmate, see at a glance what your crew is doing and what is waiting on you, and review real results (screenshots, live previews, green CI) from one calm page on your own machine.
7
+ One calm page on your own machine to talk to [Firstmate](https://github.com/kunchenguid/firstmate), see what your crew is doing, and review real results.
8
8
 
9
- ![Wheelhouse: the conversation with Firstmate on the left, with a question asked as buttons, and on the right, in tabs, what needs you, what is under way, what landed and the harness's health](docs/screenshots/home.webp)
9
+ ## 🚀 Getting started
10
10
 
11
- <sub>Screenshots show a demo crew working on made-up projects.</sub>
11
+ 1. Clone Firstmate:
12
+
13
+ ```bash
14
+ git clone https://github.com/kunchenguid/firstmate.git
15
+ ```
16
+
17
+ 2. Install Wheelhouse:
18
+
19
+ ```bash
20
+ npm install -g @chrisjowen/wheelhouse
21
+ ```
12
22
 
13
- ## Why Wheelhouse
23
+ 3. Open it from your Firstmate folder:
14
24
 
15
- Firstmate runs a whole crew of Claude Code workers for you. Keeping up with them usually means hopping between terminals, reading status logs and wondering what is stuck on you. Wheelhouse turns all of that into one page you can glance at: the people-shaped parts (questions, reviews, decisions) come to you, and everything else stays quietly visible.
25
+ ```bash
26
+ cd firstmate
27
+ wheelhouse open
28
+ ```
29
+
30
+ Wheelhouse opens in your browser at the local URL it prints.
31
+
32
+ ![Wheelhouse: projects in the side panel, the conversation with Firstmate in the middle with a question asked as buttons, and on the right the decisions waiting on you with one-tap answers](docs/screenshots/home.webp)
33
+
34
+ <sub>Screenshots show a demo crew working on made-up projects.</sub>
16
35
 
17
- ## Talk to Firstmate like a teammate
36
+ ## ✨ What you get
18
37
 
19
- Chat with Firstmate the way you would with a lead engineer. Its replies read as a conversation, its work folds into a single line you can open, and when it needs a call from you it asks with buttons. Mention any task with `#`, run Firstmate's commands with `/`, and see everything that needs you in the rail beside the chat.
38
+ - 💬 **Talk to Firstmate like a teammate.** Chat, answer with buttons, mention tasks with `#`, run commands with `/`, or just dictate.
39
+ - 🗺️ **Harbour.** What needs you first, then every task in flight with a live console.
20
40
 
21
- Rather talk than type? Click the microphone (or press Ctrl/⌘+Shift+Space, and hold it for push-to-talk) to dictate into the chat, the Spec tab or preview feedback. Your words appear in the box as you speak, ready to edit, and nothing is sent until you send it. Dictation uses your browser's built-in speech recognition, so it needs no setup; in Chrome and Edge that means your voice is sent to the browser maker's speech service (Google, in Chrome) while the microphone is on, and Wheelhouse says so before you first use it.
41
+ ![Harbour: work waiting on you first, with screenshots, a live preview link and the pull request, then work under way](docs/screenshots/harbour.webp)
22
42
 
23
- ## See the whole fleet at a glance
43
+ - 📡 **Radar.** Watch the whole fleet flow from Queued to Landed, live.
24
44
 
25
- ![Harbour: work waiting on you first, with screenshots, a live preview link and the pull request, then work under way](docs/screenshots/harbour.webp)
45
+ ![Fleet radar: every task as a dot moving from Queued through Building, Testing and Pull request to Landed](docs/screenshots/radar.webp)
26
46
 
27
- **Harbour** puts what needs you first: pull requests ready for review, with their screenshots, live preview and checks, and decisions only you can make. Below that, every piece of work says who is on it and what they are doing right now in plain words, with a live view of the worker's console and an honest estimate of the time left. Switch to **Radar** to watch the whole fleet flow from Queued to Landed as it happens: one dot per task, pulsing while its worker is busy, amber when it is waiting on you and red when it is stuck.
47
+ - 🔔 **The ship's bell.** Rings for green PRs, questions, stuck workers and landed merges.
28
48
 
29
- ## Clear every open question in one place
49
+ ![The ship's bell: a question waiting and a pull request gone green, each with a one-click answer](docs/screenshots/bell.webp)
30
50
 
31
- **Decisions** gathers everything waiting on a call into one stack: the automated review's questions, decisions the crew raised, work held for you, live previews waiting for your sign-off and pull requests waiting for the word to merge. Each card shows the evidence (findings, the pull request, the preview, screenshots) and Firstmate's recommendation when it recorded one, with **Approve**, **Fix** (**Request changes** on a preview), **Skip** and **Ask me later**; a preview opens in the task's **Live preview** tab or at its own address. Your answer goes to Firstmate as a message, so it reaches the worker the way Firstmate relays it; the card reads "sent to Firstmate" until the question closes, or says why if Firstmate did not take it so you can answer again. Press `j`/`k` to move, `a`/`f`/`s` to answer, `l` to ask later and Enter for the evidence; on a phone the cards stack with full-size buttons. The next few also sit at the top of the home page's rail.
51
+ - ✅ **Decisions.** Every open question in one stack, answered in one tap.
32
52
 
33
- ## Know exactly where every task is
53
+ ![Decisions: every open question as a card, with Approve, Fix, Skip and Ask me later, and keyboard shortcuts](docs/screenshots/inbox.webp)
34
54
 
35
- ![A task page: the automated checks step by step, with two failing tests and the start of their output](docs/screenshots/task.webp)
55
+ - 🧭 **Task pages.** Every check, file, PR and log for a task in one place.
36
56
 
37
- Every piece of work moves along a passage, from **Queued** to **Landed**. Open a task to see the files it changed, each automated check as it runs (what the review found, what got fixed, how long each step took), the pull request and its CI, and the full log.
57
+ ![A task page: the automated checks step by step, with two failing tests and the start of their output](docs/screenshots/task.webp)
38
58
 
39
- ## Follow the build while you are away
59
+ - 📜 **The conversation.** Every question a worker asked and how it was answered.
40
60
 
41
- ![The conversation between a worker and Firstmate: an instruction the worker has read, and the automated review's two questions with Firstmate's call on each](docs/screenshots/conversation.webp)
61
+ ![The conversation between a worker and Firstmate: an instruction the worker has read, and the automated review's two questions with Firstmate's call on each](docs/screenshots/conversation.webp)
42
62
 
43
- Every question the worker raised and every answer Firstmate gave for you is there in plain words, with who asked, who answered and how it ended. **Checks** shows what each automated step found: tests passed and failed, each failure with its output, and which docs changed. **Docs** lists every decision record and doc the work read or changed, readable right in Wheelhouse.
63
+ - 🛠️ **Passage editor.** Add your own steps, like a local deploy after merge.
44
64
 
45
- ## Shape each project's passage
65
+ ![The passage editor testing a new Deployed locally step on a landed task: where the task would be, and the local deploy's output](docs/screenshots/passage-editor.webp)
46
66
 
47
- ![The passage editor testing a new Deployed locally step on a landed task: where the task would be, and the local deploy's output](docs/screenshots/passage-editor.webp)
67
+ - 🔍 **Guided PR review.** The important changes first, with why each was made.
48
68
 
49
- Add your own steps to a project's passage, such as a local Kubernetes deploy once work merges, in Wheelhouse's **passage editor**: steps in order, a form for each check, and a YAML view. **Test** shows where a real task would be with your edits before you save. Checks that run a command stay off until you allow exactly those commands.
69
+ ![Pull request review: the review guide's summary, the changes to read first with why each was made, and a box to ask the review agent](docs/screenshots/review.webp)
50
70
 
51
- ## Review the pull request with a guide
71
+ - 🖥️ **Live preview.** Click around the real app and send feedback to the worker.
52
72
 
53
- Open a task's pull request in Wheelhouse and, when you ask, a read-only review agent (your own `claude`, with no tools) reads it with the task's records and puts the important changes first: behaviour changes, risky areas and public APIs, each with why it was done that way, taken from the brief, the commits, the review's findings and Firstmate's calls. When nothing records a reason, it says so. Lockfiles, generated files and formatting fold away. Ask about the whole PR or any hunk, or request a focused review, and the answer streams in where you asked; a change you want goes to Firstmate. Each run shows what it cost, and a guide is kept per PR version, so reopening it is free.
73
+ ![A live preview of the app under review, with feedback sent to the worker and Firstmate's reply beside it](docs/screenshots/preview.webp)
54
74
 
55
- ## Review the real thing, not just the diff
75
+ - 📝 **Spec interview.** Get grilled on what you want, watch the spec write itself, send it to build.
56
76
 
57
- ![A live preview of the app under review, with feedback sent to the worker and Firstmate's reply beside it](docs/screenshots/preview.webp)
77
+ ![The Spec tab: the interviewer's questions and suggested answers on the left, the spec filling in on the right with what just changed marked](docs/screenshots/spec.webp)
58
78
 
59
- When a worker has the app running, Wheelhouse embeds it right in the task. Click around the actual change, type what should be different, and your feedback goes straight to the worker through Firstmate. Replies appear next to the page, so nothing covers what you are looking at.
79
+ - 🤝 **Decided for you.** Every call Firstmate made on your behalf, with its reason.
60
80
 
61
- ## Write the spec before the work starts
81
+ ![Decided for you: review questions Firstmate answered on your behalf, grouped by day, with each call and its reason](docs/screenshots/decisions.webp)
62
82
 
63
- ![The Spec tab: the interviewer's questions and suggested answers on the left, the spec filling in on the right with a resolved comment](docs/screenshots/spec.webp)
83
+ - ⏱️ **Where time went & Headroom.** Spot the bottleneck and never run out of allowance.
64
84
 
65
- On the **Spec** tab, say what you want built and an interviewer grills you on it, one question at a time, in the style of the `grill-me` skill: it pushes back on vague answers, offers a few answers to pick from with the one it recommends, and knows when to stop. The spec fills in beside the conversation as you answer (the problem and goal, who it is for, their journeys, what is in and out, the requirements as a checklist, the risks and what is still open), with what your last answer changed marked. Select any words in it, or use a section's comment button, to leave a comment; the interviewer works each one in and marks it resolved. Answers can be typed or dictated, and specs save as you go, so you can come back to one later. When it reads right, **Send to build** sends it to Firstmate as one build request for the project you chose.
85
+ ![Where time went: each task's time split into building, review, CI and waiting on you](docs/screenshots/time.webp)
66
86
 
67
- The interviewer is your local `claude` CLI, run headless and read-only (it can read the project's checkout, never change it) with your own `grilling` skill if you have one. It uses Sonnet at low effort unless you choose otherwise with `--spec-model` and `--spec-effort`, and the page shows what the interview has used so far. Prefer to write it yourself? **Quick form** fills in the same spec section by section.
87
+ ![Headroom: Claude allowance left this session and this week, and each task's share of recent use](docs/screenshots/headroom.webp)
68
88
 
69
- ## Calls made while you were away, out in the open
89
+ - 📈 **Improvements.** Your harness gets better, only with your approval.
70
90
 
71
- ![Decided for you: review questions Firstmate answered on your behalf, grouped by day, with each call and its reason](docs/screenshots/decisions.webp)
91
+ ![Improvements: a harness review is due, proposals waiting for your call, the patterns improve spotted and the size of the harness](docs/screenshots/improvements.webp)
72
92
 
73
- Firstmate answers routine review questions for you so the work never stalls waiting on you. **Decided for you** lists every one of those calls with its reasoning. Disagree? One click drafts the message that sets it right.
93
+ - 🌙 **Day or night.** A calm logbook look in light, deep navy after dark.
74
94
 
75
- ## Know where the time and the tokens go
95
+ ![Wheelhouse in dark mode: the same home page on deep navy](docs/screenshots/home-dark.webp)
76
96
 
77
- ![Where time went: each task's time split into building, review, CI and waiting on you](docs/screenshots/time.webp)
97
+ ## 🔒 Yours, and only yours
78
98
 
79
- **Where time went** shows how long each task spent being built, in review and fixes, in CI and waiting on you, so you can see whether the crew or the queue is the bottleneck. **Headroom** shows how much of your Claude allowance is left, when it resets and who on your machine is using it, and warns you before the crew runs dry. All three live under the **Logbook** tab.
99
+ - **Runs on your machine.** Wheelhouse serves only your own computer.
100
+ - **Firstmate stays in charge.** Close Wheelhouse and your crew keeps working.
80
101
 
81
- ![Headroom: Claude allowance left this session and this week, and each task's share of recent use](docs/screenshots/headroom.webp)
102
+ ## Details
82
103
 
83
- ## Yours, and only yours
104
+ ### Requirements
84
105
 
85
- - **Runs on your machine.** Wheelhouse listens on `127.0.0.1` only, and refuses requests from anywhere else.
86
- - **Firstmate stays in charge.** Everything you type goes to Firstmate; Wheelhouse never stops, reconfigures or bypasses it, and closing Wheelhouse leaves your crew working.
87
- - **Your voice only when you ask.** The microphone is on only while you dictate. The browser's speech service turns it into text (in Chrome, Google's servers do), and Wheelhouse itself never records or stores audio.
88
- - **Honest about what it can't see.** Anything Firstmate doesn't record is labelled as unknown, never guessed.
106
+ Node.js 22 or newer, a Firstmate home, and `tmux` and Claude Code on your `PATH`. Run `wheelhouse open --help` for options, such as a different Firstmate home or port. Wheelhouse starts Firstmate, or finds the session already running.
89
107
 
90
- ## Get started
108
+ ### Privacy and safety
91
109
 
92
- You need Node.js 22 or newer, a [Firstmate](https://github.com/kunchenguid/firstmate) home, and `tmux` and Claude Code on your `PATH`.
110
+ - Wheelhouse listens on `127.0.0.1` only and refuses requests from anywhere else.
111
+ - Everything you type goes to Firstmate; Wheelhouse never stops, reconfigures or bypasses it.
112
+ - Dictation (Ctrl/⌘+Shift+Space, hold for push-to-talk) uses the browser's built-in speech recognition. The microphone is on only while you dictate; in Chrome and Edge your voice goes to the browser maker's speech service (Google, in Chrome). Wheelhouse never records or stores audio, and says so before first use.
113
+ - Anything Firstmate doesn't record is labelled as unknown, never guessed.
93
114
 
94
- ```bash
95
- npm install -g @chrisjowen/wheelhouse
96
- cd ~/firstmate # your Firstmate checkout
97
- wheelhouse open
98
- ```
115
+ ### How the agents run
99
116
 
100
- Wheelhouse starts Firstmate (or finds the session already running) and opens in your browser. Run `wheelhouse open --help` for options, such as a different Firstmate home or port.
117
+ - **Decisions** answers go to Firstmate as messages; a card reads "sent to Firstmate" until the question closes. Keys: `j`/`k` move, `a`/`f`/`s` answer, `l` ask later, Enter for evidence.
118
+ - **PR review** runs your own `claude` read-only with no tools, on request. Each run shows its cost, and a guide is cached per PR version.
119
+ - **Spec interview** runs your local `claude` CLI headless and read-only, with your `grilling` skill if you have one. It uses Sonnet at low effort unless you set `--spec-model` and `--spec-effort`. **Quick form** fills the same spec by hand.
120
+ - **Passage** checks that run a command stay off until you allow exactly those commands.
121
+ - **Improvements** needs the improve plugin.
101
122
 
102
- ## Learn more
123
+ ### Learn more
103
124
 
104
125
  - [Guide](docs/guide.md): every page in detail, the Firstmate session, options and security.
105
- - [Passage files](docs/passages.md): add steps such as **Deployed**, **Released** or a local deploy to a project's passage, in a file or in Wheelhouse's passage editor.
126
+ - [Passage files](docs/passages.md): add steps such as **Deployed**, **Released** or a local deploy.
106
127
  - [Plugins](docs/plugins.md): the built-in plugins and how to write one.
107
128
  - [How Wheelhouse reads Firstmate](docs/architecture.md): its data sources, messaging and HTTP API.
108
129
  - [Developing Wheelhouse](docs/development.md): running from a clone, tests and releases.
@@ -1 +1 @@
1
- import"./DsnmJJEf.js";import{k as B,p as I,m as j,t as d,a as c,h as n,r as q,s as _,b as O,q as z,o as v,d as x,n as G,c as u}from"./L-6wuY5f.js";import{p as h,i as D}from"./COiIt96y.js";import{e as J,a as E,s as p,b as K}from"./DGy76IbW.js";import{l as M}from"./BZm5e4fE.js";import{s as P,c as Q}from"./BEAYWcbT.js";import{e as R,C as U}from"./CR7y1ULG.js";import{C as V}from"./CLs9Rkbg.js";const X={done:"bg-foreground/45",active:"bg-foreground",fixing:"bg-foreground",waiting:"bg-warning",failed:"bg-danger",skipped:"border border-dashed border-muted-foreground/50",todo:"bg-border"},H={done:"done",active:"under way",fixing:"fixing",waiting:"waiting on Firstmate",failed:"failed",skipped:"skipped",todo:"not reached"};var Y=u("<li></li>"),Z=u("<span> </span>"),$=u('<button type="button" class="relative z-10 cursor-pointer text-left text-foreground/80 underline decoration-foreground/30 underline-offset-2 hover:text-foreground hover:decoration-foreground" data-checks-questions=""> </button>'),ee=u('<span class="text-foreground/80"> </span>'),te=u('<div data-checks=""><ol class="grid gap-0.5"></ol> <p data-checks-line=""><!> <!></p></div>');function fe(L,a){I(a,!0);let r=h(a,"busy",3,!1),s=h(a,"lead",3,null),k=h(a,"leadClass",3,""),C=h(a,"size",3,"card"),i=h(a,"questions",3,null);const f=z(()=>a.pipeline.steps.map(e=>({s:e,tone:P(e,a.pipeline)}))),w=z(()=>Q(a.pipeline,M.now)),F=z(()=>`Checks: ${n(f).map(({s:e,tone:t})=>`${e.label} ${H[t]}`).join(", ")}`);var b=te(),o=j(b);J(o,21,()=>n(f),({s:e,tone:t})=>e.key,(e,t)=>{let l=()=>n(t).s,m=()=>n(t).tone;var S=Y();d(()=>{E(S,1,`h-1 rounded-full ${X[m()]??""} ${r()&&(m()==="active"||m()==="fixing")?"motion-safe:animate-pulse":""}`),p(S,"title",`${l().label??""}: ${H[m()]??""}`)}),c(e,S)}),q(o);var g=_(o,2),y=j(g);{var N=e=>{var t=Z(),l=v(t);d(()=>{E(t,1,`font-medium ${k()??""}`),x(l,`${s()??""}.`)}),c(e,t)};D(y,e=>{s()&&e(N)})}var T=_(y,2);{var W=e=>{var t=$(),l=v(t,!0);d(()=>{p(t,"aria-expanded",i().expanded),p(t,"aria-controls",i().controls),p(t,"title",i().expanded?"Hide the questions":"Show the questions"),x(l,n(w))}),G("click",t,function(...m){i().toggle?.apply(this,m)}),c(e,t)},A=e=>{var t=ee(),l=v(t,!0);d(()=>x(l,n(w))),c(e,t)};D(T,e=>{i()?e(W):e(A,-1)})}q(g),q(b),d(()=>{K(o,`grid-template-columns: repeat(${n(f).length??""}, minmax(0, 1fr))`),p(o,"aria-label",n(F)),E(g,1,`tabular line-clamp-2 text-muted-foreground ${C()==="rail"?"mt-1 text-xs leading-snug":"mt-1.5 text-sm"}`)}),c(L,b),O()}B(["click"]);var ae=u('<span class="shrink-0 text-muted-foreground"> </span>'),ne=u('<p><!> <span class="truncate font-medium"> </span> <!> <span class="sr-only"> </span></p>');function ge(L,a){I(a,!0);const r=z(()=>R(a.eta));var s=ne(),k=j(s);V(k,{class:"size-3.5 shrink-0","aria-hidden":"true"});var C=_(k,2),i=v(C,!0),f=_(C,2);{var w=o=>{var g=ae(),y=v(g);d(N=>x(y,`· ${N??""}`),[()=>U[a.eta.confidence].toLowerCase()]),c(o,g)};D(f,o=>{n(r).tone==="normal"&&a.eta.confidence!=="none"&&o(w)})}var F=_(f,2),b=v(F,!0);q(s),d(()=>{E(s,1,`flex min-w-0 items-center gap-1.5 text-xs ${n(r).tone==="warning"?"text-warning":n(r).tone==="muted"?"text-muted-foreground":"text-foreground"}`),p(s,"title",n(r).note),x(i,n(r).text),x(b,n(r).note)}),c(L,s),O()}export{fe as C,ge as E};
1
+ import"./DsnmJJEf.js";import{k as B,p as I,m as j,t as d,a as c,h as n,r as q,s as _,b as O,q as z,o as v,d as x,n as G,c as u}from"./L-6wuY5f.js";import{p as h,i as D}from"./COiIt96y.js";import{e as J,a as E,s as p,b as K}from"./DGy76IbW.js";import{l as M}from"./BWJa0dU7.js";import{s as P,c as Q}from"./BEAYWcbT.js";import{e as R,C as U}from"./CR7y1ULG.js";import{C as V}from"./CLs9Rkbg.js";const X={done:"bg-foreground/45",active:"bg-foreground",fixing:"bg-foreground",waiting:"bg-warning",failed:"bg-danger",skipped:"border border-dashed border-muted-foreground/50",todo:"bg-border"},H={done:"done",active:"under way",fixing:"fixing",waiting:"waiting on Firstmate",failed:"failed",skipped:"skipped",todo:"not reached"};var Y=u("<li></li>"),Z=u("<span> </span>"),$=u('<button type="button" class="relative z-10 cursor-pointer text-left text-foreground/80 underline decoration-foreground/30 underline-offset-2 hover:text-foreground hover:decoration-foreground" data-checks-questions=""> </button>'),ee=u('<span class="text-foreground/80"> </span>'),te=u('<div data-checks=""><ol class="grid gap-0.5"></ol> <p data-checks-line=""><!> <!></p></div>');function fe(L,a){I(a,!0);let r=h(a,"busy",3,!1),s=h(a,"lead",3,null),k=h(a,"leadClass",3,""),C=h(a,"size",3,"card"),i=h(a,"questions",3,null);const f=z(()=>a.pipeline.steps.map(e=>({s:e,tone:P(e,a.pipeline)}))),w=z(()=>Q(a.pipeline,M.now)),F=z(()=>`Checks: ${n(f).map(({s:e,tone:t})=>`${e.label} ${H[t]}`).join(", ")}`);var b=te(),o=j(b);J(o,21,()=>n(f),({s:e,tone:t})=>e.key,(e,t)=>{let l=()=>n(t).s,m=()=>n(t).tone;var S=Y();d(()=>{E(S,1,`h-1 rounded-full ${X[m()]??""} ${r()&&(m()==="active"||m()==="fixing")?"motion-safe:animate-pulse":""}`),p(S,"title",`${l().label??""}: ${H[m()]??""}`)}),c(e,S)}),q(o);var g=_(o,2),y=j(g);{var N=e=>{var t=Z(),l=v(t);d(()=>{E(t,1,`font-medium ${k()??""}`),x(l,`${s()??""}.`)}),c(e,t)};D(y,e=>{s()&&e(N)})}var T=_(y,2);{var W=e=>{var t=$(),l=v(t,!0);d(()=>{p(t,"aria-expanded",i().expanded),p(t,"aria-controls",i().controls),p(t,"title",i().expanded?"Hide the questions":"Show the questions"),x(l,n(w))}),G("click",t,function(...m){i().toggle?.apply(this,m)}),c(e,t)},A=e=>{var t=ee(),l=v(t,!0);d(()=>x(l,n(w))),c(e,t)};D(T,e=>{i()?e(W):e(A,-1)})}q(g),q(b),d(()=>{K(o,`grid-template-columns: repeat(${n(f).length??""}, minmax(0, 1fr))`),p(o,"aria-label",n(F)),E(g,1,`tabular line-clamp-2 text-muted-foreground ${C()==="rail"?"mt-1 text-xs leading-snug":"mt-1.5 text-sm"}`)}),c(L,b),O()}B(["click"]);var ae=u('<span class="shrink-0 text-muted-foreground"> </span>'),ne=u('<p><!> <span class="truncate font-medium"> </span> <!> <span class="sr-only"> </span></p>');function ge(L,a){I(a,!0);const r=z(()=>R(a.eta));var s=ne(),k=j(s);V(k,{class:"size-3.5 shrink-0","aria-hidden":"true"});var C=_(k,2),i=v(C,!0),f=_(C,2);{var w=o=>{var g=ae(),y=v(g);d(N=>x(y,`· ${N??""}`),[()=>U[a.eta.confidence].toLowerCase()]),c(o,g)};D(f,o=>{n(r).tone==="normal"&&a.eta.confidence!=="none"&&o(w)})}var F=_(f,2),b=v(F,!0);q(s),d(()=>{E(s,1,`flex min-w-0 items-center gap-1.5 text-xs ${n(r).tone==="warning"?"text-warning":n(r).tone==="muted"?"text-muted-foreground":"text-foreground"}`),p(s,"title",n(r).note),x(i,n(r).text),x(b,n(r).note)}),c(L,s),O()}export{fe as C,ge as E};
@@ -1 +1 @@
1
- import"./DsnmJJEf.js";import{o as se}from"./BGINfGsV.js";import{p as re,x as G,f as W,h as e,a as r,r as f,b as oe,o as C,t as g,d as k,s as S,m as w,v as ae,q as V,c as d,ag as ee,ah as ne,ai as le,i as ve,e as ie,aj as de}from"./L-6wuY5f.js";import{s as ce,r as fe,i as z,p as $}from"./COiIt96y.js";import{c as me}from"./BiTivU7x.js";import{e as B,i as X,a as K,s as D}from"./DGy76IbW.js";import{a as _e}from"./DKQe4Tss.js";import{s as Z,P as ue}from"./CewXGI4o.js";import{C as xe}from"./iVpzjqp1.js";import{C as pe}from"./BR5v76-T.js";import{X as ge}from"./BUo4hMcM.js";import{C as he}from"./uD7-7yV9.js";import{L as ke}from"./Brlpgp90.js";import{I as ye}from"./CQlHU-Rx.js";import{E as we}from"./p7x6PRF0.js";var be=new Set(["$$slots","$$events","$$legacy"]);function ze(O,m){let P=fe(m,be);const J={name:"circle-question-mark",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}],["path",{d:"M12 17h.01"}]],aliases:["help-circle","circle-help"]};ye(O,ce(()=>P,{get icon(){return J}}))}var Ce=d("<a> <!></a>"),qe=d('<p data-block="text.v1"> </p>'),Le=d('<dt class="truncate text-muted-foreground"> </dt> <dd class="min-w-0 break-words"><!></dd>',1),Ne=d('<dl class="grid grid-cols-[minmax(0,8rem)_minmax(0,1fr)] gap-x-4 gap-y-1.5 text-sm" data-block="kv.v1"></dl>'),Se=d('<span class="ml-1.5 text-muted-foreground"> </span>'),Ae=d('<li class="min-w-0"><!><!></li>'),Ee=d('<ul class="flex flex-wrap gap-x-5 gap-y-1.5 text-sm" data-block="links.v1"></ul>'),Ie=d('<th class="px-3 py-2 font-medium"> </th>'),Me=d('<thead class="border-b text-left text-xs text-muted-foreground"><tr></tr></thead>'),Pe=d('<td class="px-3 py-2"><!></td>'),Te=d("<tr></tr>"),We=d('<div class="overflow-x-auto rounded-lg border" data-block="table.v1"><table class="w-full text-sm"><!><tbody class="divide-y"></tbody></table></div>'),Be=d('<a target="_blank" rel="noreferrer"><img loading="lazy" class="max-h-96 rounded-lg border"/></a>'),De=d('<img loading="lazy" class="max-h-96 rounded-lg border"/>'),je=d('<figure data-block="image.v1"><!></figure>'),Fe=d('<span class="block text-muted-foreground"> </span>'),He=d('<p class="flex items-start gap-2 text-sm" data-block="status.v1"><span aria-hidden="true"><!></span> <span class="min-w-0"><span> </span> <!></span></p>'),Xe=d('<span class="ml-1 text-muted-foreground"> </span>'),Ge=d('<li class="rounded-md bg-muted px-2 py-0.5 text-xs"> <!></li>'),Je=d("<li> </li>"),Ke=d('<ul class="mt-2 space-y-0.5 font-mono text-xs text-muted-foreground"></ul>'),Oe=d('<div class="rounded-lg border border-dashed p-3 text-sm" data-block="graph.v1"><p class="text-xs text-muted-foreground"> </p> <ul class="mt-2 flex flex-wrap gap-1.5"></ul> <!></div>'),Qe=d('<pre class="mt-2 font-mono break-all whitespace-pre-wrap text-muted-foreground"> </pre>'),Re=d('<div class="rounded-lg border border-dashed p-3 text-xs" data-block="unknown"><p class="flex items-center gap-1.5 text-muted-foreground"><!> </p> <!></div>'),Ue=d('<div class="space-y-3"></div>');function Ve(O,m){re(m,!0);const P=(I,t=ee,F=ee,R)=>{let U=ne(()=>le(R?.(),"text-sea hover:underline"));const T=V(()=>Z(F()));var q=G(),L=W(q);{var A=N=>{var b=Ce(),n=w(b,!0),s=S(n);{var a=l=>{we(l,{class:"size-3.5 shrink-0","aria-hidden":"true"})},o=V(()=>Q(e(T)));z(s,l=>{e(o)&&l(a)})}f(b),g((l,x)=>{D(b,"href",e(T)),K(b,1,`inline-flex items-center gap-1 ${e(U)??""}`),D(b,"target",l),D(b,"rel",x),k(n,t())},[()=>Q(e(T))?"_blank":void 0,()=>Q(e(T))?"noreferrer":void 0]),r(N,b)},H=N=>{var b=ae();g(()=>k(b,t())),r(N,b)};z(L,N=>{e(T)?N(A):N(H,-1)})}r(I,q)},J={ok:"text-success",warn:"text-warning",fail:"text-danger",pending:"text-muted-foreground",unknown:"text-muted-foreground"},Q=I=>!I.startsWith("/");var j=Ue();B(j,21,()=>m.blocks,X,(I,t)=>{var F=G(),R=W(F);{var U=n=>{var s=qe(),a=C(s,!0);g(()=>{K(s,1,`text-sm leading-relaxed whitespace-pre-line ${e(t).muted?"text-muted-foreground":""}`),k(a,e(t).text)}),r(n,s)},T=n=>{var s=Ne();B(s,21,()=>e(t).items,X,(a,o)=>{var l=Le(),x=W(l),u=C(x,!0),v=S(x,2),i=w(v);P(i,()=>e(o).value,()=>e(o).href),f(v),g(()=>k(u,e(o).key)),r(a,l)}),f(s),r(n,s)},q=n=>{var s=Ee();B(s,21,()=>e(t).links,X,(a,o)=>{var l=Ae(),x=w(l);P(x,()=>e(o).label,()=>e(o).href);var u=S(x);{var v=i=>{var p=Se(),_=C(p,!0);g(()=>k(_,e(o).note)),r(i,p)};z(u,i=>{e(o).note&&i(v)})}f(l),r(a,l)}),f(s),r(n,s)},L=n=>{var s=We(),a=w(s),o=w(a);{var l=u=>{var v=Me(),i=w(v);B(i,21,()=>e(t).columns,X,(p,_)=>{var h=Ie(),y=C(h,!0);g(()=>k(y,e(_))),r(p,h)}),f(i),f(v),r(u,v)};z(o,u=>{e(t).columns.length&&u(l)})}var x=S(o);B(x,21,()=>e(t).rows,X,(u,v)=>{var i=Te();B(i,21,()=>e(v),X,(p,_)=>{var h=Pe(),y=w(h);{var M=E=>{var Y=ae();g(()=>k(Y,e(_))),r(E,Y)},c=E=>{P(E,()=>e(_).text,()=>e(_).href)};z(y,E=>{typeof e(_)=="string"?E(M):E(c,-1)})}f(h),r(p,h)}),f(i),r(u,i)}),f(x),f(a),f(s),r(n,s)},A=n=>{const s=V(()=>Z(e(t).src));var a=G(),o=W(a);{var l=x=>{var u=je(),v=w(u);{var i=h=>{var y=Be(),M=C(y);g(c=>{D(y,"href",c),D(M,"src",e(s)),D(M,"alt",e(t).alt)},[()=>Z(e(t).href)]),r(h,y)},p=V(()=>Z(e(t).href)),_=h=>{var y=De();g(()=>{D(y,"src",e(s)),D(y,"alt",e(t).alt)}),r(h,y)};z(v,h=>{e(p)?h(i):h(_,-1)})}f(u),r(x,u)};z(o,x=>{e(s)&&x(l)})}r(n,a)},H=n=>{var s=He(),a=w(s),o=w(a);{var l=c=>{pe(c,{class:"size-4"})},x=c=>{ge(c,{class:"size-4"})},u=c=>{he(c,{class:"size-4"})},v=c=>{ke(c,{class:"size-4"})},i=c=>{ze(c,{class:"size-4"})};z(o,c=>{e(t).tone==="ok"?c(l):e(t).tone==="fail"?c(x,1):e(t).tone==="warn"?c(u,2):e(t).tone==="pending"?c(v,3):c(i,-1)})}f(a);var p=S(a,2),_=w(p),h=C(_,!0),y=S(_,2);{var M=c=>{var E=Fe(),Y=C(E,!0);g(()=>k(Y,e(t).detail)),r(c,E)};z(y,c=>{e(t).detail&&c(M)})}f(p),f(s),g(()=>{K(a,1,`mt-0.5 ${J[e(t).tone]??""}`),K(_,1,`font-medium ${(e(t).tone==="fail"||e(t).tone==="warn"?J[e(t).tone]:"")??""}`),k(h,e(t).label)}),r(n,s)},N=n=>{var s=Oe(),a=w(s),o=C(a,!0),l=S(a,2);B(l,21,()=>e(t).nodes,v=>v.id,(v,i)=>{var p=Ge(),_=w(p,!0),h=S(_);{var y=M=>{var c=Xe(),E=C(c,!0);g(()=>k(E,e(i).kind)),r(M,c)};z(h,M=>{e(i).kind&&M(y)})}f(p),g(()=>k(_,e(i).label)),r(v,p)}),f(l);var x=S(l,2);{var u=v=>{var i=Ke();B(i,21,()=>e(t).edges,X,(p,_)=>{var h=Je(),y=C(h);g(()=>k(y,`${e(_).from??""} → ${e(_).to??""}${e(_).label?` (${e(_).label})`:""}`)),r(p,h)}),f(i),r(v,i)};z(x,v=>{e(t).edges.length&&v(u)})}f(s),g(()=>k(o,`${e(t).nodes.length} ${e(t).nodes.length===1?"node":"nodes"}, ${e(t).edges.length} ${e(t).edges.length===1?"link":"links"}`)),r(n,s)},b=n=>{var s=Re(),a=w(s),o=w(a);xe(o,{class:"size-3.5","aria-hidden":"true"});var l=S(o);f(a);var x=S(a,2);{var u=v=>{var i=Qe(),p=C(i,!0);g(()=>k(p,e(t).preview)),r(v,i)};z(x,v=>{e(t).block==="unknown"&&v(u)})}f(s),g(()=>k(l,`This Wheelhouse cannot show a “${(e(t).block==="unknown"?e(t).type:"unknown")??""}” block.`)),r(n,s)};z(R,n=>{e(t).block==="text.v1"?n(U):e(t).block==="kv.v1"?n(T,1):e(t).block==="links.v1"?n(q,2):e(t).block==="table.v1"?n(L,3):e(t).block==="image.v1"?n(A,4):e(t).block==="status.v1"?n(H,5):e(t).block==="graph.v1"?n(N,6):n(b,-1)})}r(I,F)}),f(j),r(O,j),oe()}var Ye=d('<p class="text-sm text-muted-foreground" aria-busy="true">Loading…</p>'),te=d('<p class="text-sm text-muted-foreground"> </p>'),Ze=d("<p> </p>"),$e=d('<div class="flex min-h-0 flex-1 flex-col"><!></div>'),ea=d('<div class="min-h-0 flex-1 overflow-y-auto px-4 py-6 sm:px-6"><!></div>'),aa=d("<!> <p> </p>",1);function pa(O,m){re(m,!0);const P=(q,L=ee)=>{var A=G(),H=W(A);{var N=a=>{Ve(a,{get blocks(){return L()}})},b=a=>{var o=Ye();r(a,o)},n=a=>{var o=G(),l=W(o);de(l,{failed:u=>{var v=te(),i=C(v);g(()=>k(i,`Not available. The ${m.entry.pluginId??""} plugin’s panel could not be shown.`)),r(u,v)}},u=>{var v=G(),i=W(v);me(i,()=>e(I),(p,_)=>{_(p,{get data(){return L()},get entry(){return m.entry}})}),r(u,v)}),r(a,o)},s=a=>{var o=te(),l=C(o);g(()=>k(l,`Not available. This Wheelhouse does not include the “${m.entry.render.component??""}” panel.`)),r(a,o)};z(H,a=>{"blocks"in m.entry.render?a(N):e(I)&&!e(t)?a(b,1):e(I)?a(n,2):"component"in m.entry.render&&a(s,3)})}r(q,A)};let J=$(m,"now",19,()=>Date.now()),Q=$(m,"panels",3,ue),j=$(m,"fill",3,!1);const I=V(()=>"component"in m.entry.render?Q()[m.entry.render.component]:void 0);let t=ie(!1);se(()=>{ve(t,!0)});var F=G(),R=W(F);{var U=q=>{var L=Ze(),A=C(L);g(()=>{K(L,1,`text-sm text-muted-foreground ${j()?"px-4 py-10 sm:px-6":""}`),k(A,`Not available. ${m.entry.content.reason??""}`)}),r(q,L)},T=q=>{var L=aa(),A=W(L);{var H=a=>{P(a,()=>m.entry.content.value)},N=a=>{var o=$e(),l=w(o);P(l,()=>m.entry.content.value),f(o),r(a,o)},b=a=>{var o=ea(),l=w(o);P(l,()=>m.entry.content.value),f(o),r(a,o)};z(A,a=>{j()?e(I)&&e(t)?a(N,1):a(b,-1):a(H)})}var n=S(A,2),s=C(n);g(a=>{K(n,1,`text-xs text-muted-foreground ${j()?"shrink-0 border-t px-4 py-1.5 sm:px-6":"mt-1.5"}`),k(s,`From ${m.entry.content.source??""}${a??""}.`)},[()=>m.entry.content.observedAt?`, ${_e(m.entry.content.observedAt,J())}`:""]),r(q,L)};z(R,q=>{m.entry.content.available?q(T,-1):q(U)})}r(O,F),oe()}export{Ve as B,pa as S};
1
+ import"./DsnmJJEf.js";import{o as se}from"./BGINfGsV.js";import{p as re,x as G,f as W,h as e,a as r,r as f,b as oe,o as C,t as g,d as k,s as S,m as w,v as ae,q as V,c as d,ag as ee,ah as ne,ai as le,i as ve,e as ie,aj as de}from"./L-6wuY5f.js";import{s as ce,r as fe,i as z,p as $}from"./COiIt96y.js";import{c as me}from"./BiTivU7x.js";import{e as B,i as X,a as K,s as D}from"./DGy76IbW.js";import{a as _e}from"./DKQe4Tss.js";import{s as Z,P as ue}from"./CIfcjhKg.js";import{C as xe}from"./iVpzjqp1.js";import{C as pe}from"./BR5v76-T.js";import{X as ge}from"./BUo4hMcM.js";import{C as he}from"./uD7-7yV9.js";import{L as ke}from"./Brlpgp90.js";import{I as ye}from"./CQlHU-Rx.js";import{E as we}from"./p7x6PRF0.js";var be=new Set(["$$slots","$$events","$$legacy"]);function ze(O,m){let P=fe(m,be);const J={name:"circle-question-mark",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}],["path",{d:"M12 17h.01"}]],aliases:["help-circle","circle-help"]};ye(O,ce(()=>P,{get icon(){return J}}))}var Ce=d("<a> <!></a>"),qe=d('<p data-block="text.v1"> </p>'),Le=d('<dt class="truncate text-muted-foreground"> </dt> <dd class="min-w-0 break-words"><!></dd>',1),Ne=d('<dl class="grid grid-cols-[minmax(0,8rem)_minmax(0,1fr)] gap-x-4 gap-y-1.5 text-sm" data-block="kv.v1"></dl>'),Se=d('<span class="ml-1.5 text-muted-foreground"> </span>'),Ae=d('<li class="min-w-0"><!><!></li>'),Ee=d('<ul class="flex flex-wrap gap-x-5 gap-y-1.5 text-sm" data-block="links.v1"></ul>'),Ie=d('<th class="px-3 py-2 font-medium"> </th>'),Me=d('<thead class="border-b text-left text-xs text-muted-foreground"><tr></tr></thead>'),Pe=d('<td class="px-3 py-2"><!></td>'),Te=d("<tr></tr>"),We=d('<div class="overflow-x-auto rounded-lg border" data-block="table.v1"><table class="w-full text-sm"><!><tbody class="divide-y"></tbody></table></div>'),Be=d('<a target="_blank" rel="noreferrer"><img loading="lazy" class="max-h-96 rounded-lg border"/></a>'),De=d('<img loading="lazy" class="max-h-96 rounded-lg border"/>'),je=d('<figure data-block="image.v1"><!></figure>'),Fe=d('<span class="block text-muted-foreground"> </span>'),He=d('<p class="flex items-start gap-2 text-sm" data-block="status.v1"><span aria-hidden="true"><!></span> <span class="min-w-0"><span> </span> <!></span></p>'),Xe=d('<span class="ml-1 text-muted-foreground"> </span>'),Ge=d('<li class="rounded-md bg-muted px-2 py-0.5 text-xs"> <!></li>'),Je=d("<li> </li>"),Ke=d('<ul class="mt-2 space-y-0.5 font-mono text-xs text-muted-foreground"></ul>'),Oe=d('<div class="rounded-lg border border-dashed p-3 text-sm" data-block="graph.v1"><p class="text-xs text-muted-foreground"> </p> <ul class="mt-2 flex flex-wrap gap-1.5"></ul> <!></div>'),Qe=d('<pre class="mt-2 font-mono break-all whitespace-pre-wrap text-muted-foreground"> </pre>'),Re=d('<div class="rounded-lg border border-dashed p-3 text-xs" data-block="unknown"><p class="flex items-center gap-1.5 text-muted-foreground"><!> </p> <!></div>'),Ue=d('<div class="space-y-3"></div>');function Ve(O,m){re(m,!0);const P=(I,t=ee,F=ee,R)=>{let U=ne(()=>le(R?.(),"text-sea hover:underline"));const T=V(()=>Z(F()));var q=G(),L=W(q);{var A=N=>{var b=Ce(),n=w(b,!0),s=S(n);{var a=l=>{we(l,{class:"size-3.5 shrink-0","aria-hidden":"true"})},o=V(()=>Q(e(T)));z(s,l=>{e(o)&&l(a)})}f(b),g((l,x)=>{D(b,"href",e(T)),K(b,1,`inline-flex items-center gap-1 ${e(U)??""}`),D(b,"target",l),D(b,"rel",x),k(n,t())},[()=>Q(e(T))?"_blank":void 0,()=>Q(e(T))?"noreferrer":void 0]),r(N,b)},H=N=>{var b=ae();g(()=>k(b,t())),r(N,b)};z(L,N=>{e(T)?N(A):N(H,-1)})}r(I,q)},J={ok:"text-success",warn:"text-warning",fail:"text-danger",pending:"text-muted-foreground",unknown:"text-muted-foreground"},Q=I=>!I.startsWith("/");var j=Ue();B(j,21,()=>m.blocks,X,(I,t)=>{var F=G(),R=W(F);{var U=n=>{var s=qe(),a=C(s,!0);g(()=>{K(s,1,`text-sm leading-relaxed whitespace-pre-line ${e(t).muted?"text-muted-foreground":""}`),k(a,e(t).text)}),r(n,s)},T=n=>{var s=Ne();B(s,21,()=>e(t).items,X,(a,o)=>{var l=Le(),x=W(l),u=C(x,!0),v=S(x,2),i=w(v);P(i,()=>e(o).value,()=>e(o).href),f(v),g(()=>k(u,e(o).key)),r(a,l)}),f(s),r(n,s)},q=n=>{var s=Ee();B(s,21,()=>e(t).links,X,(a,o)=>{var l=Ae(),x=w(l);P(x,()=>e(o).label,()=>e(o).href);var u=S(x);{var v=i=>{var p=Se(),_=C(p,!0);g(()=>k(_,e(o).note)),r(i,p)};z(u,i=>{e(o).note&&i(v)})}f(l),r(a,l)}),f(s),r(n,s)},L=n=>{var s=We(),a=w(s),o=w(a);{var l=u=>{var v=Me(),i=w(v);B(i,21,()=>e(t).columns,X,(p,_)=>{var h=Ie(),y=C(h,!0);g(()=>k(y,e(_))),r(p,h)}),f(i),f(v),r(u,v)};z(o,u=>{e(t).columns.length&&u(l)})}var x=S(o);B(x,21,()=>e(t).rows,X,(u,v)=>{var i=Te();B(i,21,()=>e(v),X,(p,_)=>{var h=Pe(),y=w(h);{var M=E=>{var Y=ae();g(()=>k(Y,e(_))),r(E,Y)},c=E=>{P(E,()=>e(_).text,()=>e(_).href)};z(y,E=>{typeof e(_)=="string"?E(M):E(c,-1)})}f(h),r(p,h)}),f(i),r(u,i)}),f(x),f(a),f(s),r(n,s)},A=n=>{const s=V(()=>Z(e(t).src));var a=G(),o=W(a);{var l=x=>{var u=je(),v=w(u);{var i=h=>{var y=Be(),M=C(y);g(c=>{D(y,"href",c),D(M,"src",e(s)),D(M,"alt",e(t).alt)},[()=>Z(e(t).href)]),r(h,y)},p=V(()=>Z(e(t).href)),_=h=>{var y=De();g(()=>{D(y,"src",e(s)),D(y,"alt",e(t).alt)}),r(h,y)};z(v,h=>{e(p)?h(i):h(_,-1)})}f(u),r(x,u)};z(o,x=>{e(s)&&x(l)})}r(n,a)},H=n=>{var s=He(),a=w(s),o=w(a);{var l=c=>{pe(c,{class:"size-4"})},x=c=>{ge(c,{class:"size-4"})},u=c=>{he(c,{class:"size-4"})},v=c=>{ke(c,{class:"size-4"})},i=c=>{ze(c,{class:"size-4"})};z(o,c=>{e(t).tone==="ok"?c(l):e(t).tone==="fail"?c(x,1):e(t).tone==="warn"?c(u,2):e(t).tone==="pending"?c(v,3):c(i,-1)})}f(a);var p=S(a,2),_=w(p),h=C(_,!0),y=S(_,2);{var M=c=>{var E=Fe(),Y=C(E,!0);g(()=>k(Y,e(t).detail)),r(c,E)};z(y,c=>{e(t).detail&&c(M)})}f(p),f(s),g(()=>{K(a,1,`mt-0.5 ${J[e(t).tone]??""}`),K(_,1,`font-medium ${(e(t).tone==="fail"||e(t).tone==="warn"?J[e(t).tone]:"")??""}`),k(h,e(t).label)}),r(n,s)},N=n=>{var s=Oe(),a=w(s),o=C(a,!0),l=S(a,2);B(l,21,()=>e(t).nodes,v=>v.id,(v,i)=>{var p=Ge(),_=w(p,!0),h=S(_);{var y=M=>{var c=Xe(),E=C(c,!0);g(()=>k(E,e(i).kind)),r(M,c)};z(h,M=>{e(i).kind&&M(y)})}f(p),g(()=>k(_,e(i).label)),r(v,p)}),f(l);var x=S(l,2);{var u=v=>{var i=Ke();B(i,21,()=>e(t).edges,X,(p,_)=>{var h=Je(),y=C(h);g(()=>k(y,`${e(_).from??""} → ${e(_).to??""}${e(_).label?` (${e(_).label})`:""}`)),r(p,h)}),f(i),r(v,i)};z(x,v=>{e(t).edges.length&&v(u)})}f(s),g(()=>k(o,`${e(t).nodes.length} ${e(t).nodes.length===1?"node":"nodes"}, ${e(t).edges.length} ${e(t).edges.length===1?"link":"links"}`)),r(n,s)},b=n=>{var s=Re(),a=w(s),o=w(a);xe(o,{class:"size-3.5","aria-hidden":"true"});var l=S(o);f(a);var x=S(a,2);{var u=v=>{var i=Qe(),p=C(i,!0);g(()=>k(p,e(t).preview)),r(v,i)};z(x,v=>{e(t).block==="unknown"&&v(u)})}f(s),g(()=>k(l,`This Wheelhouse cannot show a “${(e(t).block==="unknown"?e(t).type:"unknown")??""}” block.`)),r(n,s)};z(R,n=>{e(t).block==="text.v1"?n(U):e(t).block==="kv.v1"?n(T,1):e(t).block==="links.v1"?n(q,2):e(t).block==="table.v1"?n(L,3):e(t).block==="image.v1"?n(A,4):e(t).block==="status.v1"?n(H,5):e(t).block==="graph.v1"?n(N,6):n(b,-1)})}r(I,F)}),f(j),r(O,j),oe()}var Ye=d('<p class="text-sm text-muted-foreground" aria-busy="true">Loading…</p>'),te=d('<p class="text-sm text-muted-foreground"> </p>'),Ze=d("<p> </p>"),$e=d('<div class="flex min-h-0 flex-1 flex-col"><!></div>'),ea=d('<div class="min-h-0 flex-1 overflow-y-auto px-4 py-6 sm:px-6"><!></div>'),aa=d("<!> <p> </p>",1);function pa(O,m){re(m,!0);const P=(q,L=ee)=>{var A=G(),H=W(A);{var N=a=>{Ve(a,{get blocks(){return L()}})},b=a=>{var o=Ye();r(a,o)},n=a=>{var o=G(),l=W(o);de(l,{failed:u=>{var v=te(),i=C(v);g(()=>k(i,`Not available. The ${m.entry.pluginId??""} plugin’s panel could not be shown.`)),r(u,v)}},u=>{var v=G(),i=W(v);me(i,()=>e(I),(p,_)=>{_(p,{get data(){return L()},get entry(){return m.entry}})}),r(u,v)}),r(a,o)},s=a=>{var o=te(),l=C(o);g(()=>k(l,`Not available. This Wheelhouse does not include the “${m.entry.render.component??""}” panel.`)),r(a,o)};z(H,a=>{"blocks"in m.entry.render?a(N):e(I)&&!e(t)?a(b,1):e(I)?a(n,2):"component"in m.entry.render&&a(s,3)})}r(q,A)};let J=$(m,"now",19,()=>Date.now()),Q=$(m,"panels",3,ue),j=$(m,"fill",3,!1);const I=V(()=>"component"in m.entry.render?Q()[m.entry.render.component]:void 0);let t=ie(!1);se(()=>{ve(t,!0)});var F=G(),R=W(F);{var U=q=>{var L=Ze(),A=C(L);g(()=>{K(L,1,`text-sm text-muted-foreground ${j()?"px-4 py-10 sm:px-6":""}`),k(A,`Not available. ${m.entry.content.reason??""}`)}),r(q,L)},T=q=>{var L=aa(),A=W(L);{var H=a=>{P(a,()=>m.entry.content.value)},N=a=>{var o=$e(),l=w(o);P(l,()=>m.entry.content.value),f(o),r(a,o)},b=a=>{var o=ea(),l=w(o);P(l,()=>m.entry.content.value),f(o),r(a,o)};z(A,a=>{j()?e(I)&&e(t)?a(N,1):a(b,-1):a(H)})}var n=S(A,2),s=C(n);g(a=>{K(n,1,`text-xs text-muted-foreground ${j()?"shrink-0 border-t px-4 py-1.5 sm:px-6":"mt-1.5"}`),k(s,`From ${m.entry.content.source??""}${a??""}.`)},[()=>m.entry.content.observedAt?`, ${_e(m.entry.content.observedAt,J())}`:""]),r(q,L)};z(R,q=>{m.entry.content.available?q(T,-1):q(U)})}r(O,F),oe()}export{Ve as B,pa as S};
@@ -1 +1 @@
1
- import{e as r,h as l,i,y as p}from"./L-6wuY5f.js";import{p as c}from"./D8Hx-_mj.js";const u="wheelhouse-live",f="wheelhouse-live-leader",g=2*6e4;class y{#e=r(null);get fleet(){return l(this.#e)}set fleet(e){i(this.#e,e,!0)}#t=r(null);get health(){return l(this.#t)}set health(e){i(this.#t,e,!0)}#s=r(null);get messages(){return l(this.#s)}set messages(e){i(this.#s,e,!0)}#a=r("connecting");get connection(){return l(this.#a)}set connection(e){i(this.#a,e,!0)}#n=r(p(Date.now()));get now(){return l(this.#n)}set now(e){i(this.#n,e,!0)}#r=r(0);get revision(){return l(this.#r)}set revision(e){i(this.#r,e,!0)}#l=r(!1);get leader(){return l(this.#l)}set leader(e){i(this.#l,e,!0)}claim=()=>!0;alertListeners=new Set;reviewers=new Set;latest={};recentAlerts=new Map;channel=null;source=null;stop=null;onAlert(e){return this.alertListeners.add(e),()=>this.alertListeners.delete(e)}onReview(e){return this.reviewers.add(e),()=>this.reviewers.delete(e)}connect(){if(this.stop)return()=>{};const e=setInterval(()=>this.now=Date.now(),15e3),a=typeof BroadcastChannel<"u"&&!!globalThis.navigator?.locks?this.share():this.lead();return this.stop=()=>{clearInterval(e),a(),this.stop=null},this.stop}share(){const e=new BroadcastChannel(u);this.channel=e,e.onmessage=t=>{const n=t.data;n.t==="hello"?this.leader&&this.replay():n.t==="connection"?this.leader||(this.connection=n.state):this.leader||this.apply(n.e)};const s=new AbortController;let a=()=>{};return navigator.locks.request(f,{signal:s.signal},()=>{const t=this.lead();return new Promise(n=>{a=()=>{t(),n()}})}).catch(()=>{}),e.postMessage({t:"hello"}),()=>{s.abort(),a(),e.close(),this.channel=null}}lead(){this.leader=!0;const e=new EventSource("/api/events");this.source=e;const s=t=>{this.connection=t,this.post({t:"connection",state:t})};e.addEventListener("open",()=>s("open")),e.addEventListener("error",()=>{s(e.readyState===EventSource.CLOSED?"lost":"connecting")});const a=(t,n)=>e.addEventListener(t,h=>{const o=n(JSON.parse(h.data));this.remember(o),this.apply(o),this.post({t:"event",e:o}),o.type==="fleet"&&s("open")});return a("fleet",t=>({type:"fleet",data:t})),a("health",t=>({type:"health",data:t})),a("messages",t=>({type:"messages",data:t})),a("review",t=>({type:"review",data:t})),a("alert",t=>({type:"alert",data:t,fresh:this.claim(t)})),a("settled",t=>({type:"settled",data:t})),a("alerts",t=>({type:"alerts",data:t.map(n=>{const h=this.claim(n);return{alert:n,fresh:h&&Date.now()-Date.parse(n.at)<=g}})})),()=>{e.close(),this.source=null,this.leader=!1}}remember(e){if(e.type==="alert")this.recentAlerts.set(e.data.id,e.data);else if(e.type==="settled")this.recentAlerts.delete(e.data);else if(e.type==="alerts")for(const s of e.data)this.recentAlerts.set(s.alert.id,s.alert);else{if(e.type==="review")return;this.latest[e.type]=e.data}for(const s of[...this.recentAlerts.keys()].slice(0,-40))this.recentAlerts.delete(s)}replay(){this.post({t:"connection",state:this.connection}),this.latest.fleet&&this.post({t:"event",e:{type:"fleet",data:this.latest.fleet}}),this.latest.health&&this.post({t:"event",e:{type:"health",data:this.latest.health}}),this.latest.messages&&this.post({t:"event",e:{type:"messages",data:this.latest.messages}});const e=[...this.recentAlerts.values()].map(s=>({alert:s,fresh:!1}));this.post({t:"event",e:{type:"alerts",data:e}})}apply(e){switch(e.type){case"fleet":this.fleet=e.data,this.revision++,this.connection="open";break;case"health":this.health=e.data;break;case"messages":this.messages=e.data;break;case"review":for(const s of this.reviewers)s(e.data);break;default:for(const s of this.alertListeners)s(e)}}post(e){try{this.channel?.postMessage(e)}catch{}}}const d=new y;function A(){return d.fleet??c.data.fleet??null}function L(){return d.health??c.data.health??null}export{L as a,A as c,d as l};
1
+ import{e as r,h as l,i,y as p}from"./L-6wuY5f.js";import{p as c}from"./euRlC7pA.js";const u="wheelhouse-live",f="wheelhouse-live-leader",g=2*6e4;class y{#e=r(null);get fleet(){return l(this.#e)}set fleet(e){i(this.#e,e,!0)}#t=r(null);get health(){return l(this.#t)}set health(e){i(this.#t,e,!0)}#s=r(null);get messages(){return l(this.#s)}set messages(e){i(this.#s,e,!0)}#a=r("connecting");get connection(){return l(this.#a)}set connection(e){i(this.#a,e,!0)}#n=r(p(Date.now()));get now(){return l(this.#n)}set now(e){i(this.#n,e,!0)}#r=r(0);get revision(){return l(this.#r)}set revision(e){i(this.#r,e,!0)}#l=r(!1);get leader(){return l(this.#l)}set leader(e){i(this.#l,e,!0)}claim=()=>!0;alertListeners=new Set;reviewers=new Set;latest={};recentAlerts=new Map;channel=null;source=null;stop=null;onAlert(e){return this.alertListeners.add(e),()=>this.alertListeners.delete(e)}onReview(e){return this.reviewers.add(e),()=>this.reviewers.delete(e)}connect(){if(this.stop)return()=>{};const e=setInterval(()=>this.now=Date.now(),15e3),a=typeof BroadcastChannel<"u"&&!!globalThis.navigator?.locks?this.share():this.lead();return this.stop=()=>{clearInterval(e),a(),this.stop=null},this.stop}share(){const e=new BroadcastChannel(u);this.channel=e,e.onmessage=t=>{const n=t.data;n.t==="hello"?this.leader&&this.replay():n.t==="connection"?this.leader||(this.connection=n.state):this.leader||this.apply(n.e)};const s=new AbortController;let a=()=>{};return navigator.locks.request(f,{signal:s.signal},()=>{const t=this.lead();return new Promise(n=>{a=()=>{t(),n()}})}).catch(()=>{}),e.postMessage({t:"hello"}),()=>{s.abort(),a(),e.close(),this.channel=null}}lead(){this.leader=!0;const e=new EventSource("/api/events");this.source=e;const s=t=>{this.connection=t,this.post({t:"connection",state:t})};e.addEventListener("open",()=>s("open")),e.addEventListener("error",()=>{s(e.readyState===EventSource.CLOSED?"lost":"connecting")});const a=(t,n)=>e.addEventListener(t,h=>{const o=n(JSON.parse(h.data));this.remember(o),this.apply(o),this.post({t:"event",e:o}),o.type==="fleet"&&s("open")});return a("fleet",t=>({type:"fleet",data:t})),a("health",t=>({type:"health",data:t})),a("messages",t=>({type:"messages",data:t})),a("review",t=>({type:"review",data:t})),a("alert",t=>({type:"alert",data:t,fresh:this.claim(t)})),a("settled",t=>({type:"settled",data:t})),a("alerts",t=>({type:"alerts",data:t.map(n=>{const h=this.claim(n);return{alert:n,fresh:h&&Date.now()-Date.parse(n.at)<=g}})})),()=>{e.close(),this.source=null,this.leader=!1}}remember(e){if(e.type==="alert")this.recentAlerts.set(e.data.id,e.data);else if(e.type==="settled")this.recentAlerts.delete(e.data);else if(e.type==="alerts")for(const s of e.data)this.recentAlerts.set(s.alert.id,s.alert);else{if(e.type==="review")return;this.latest[e.type]=e.data}for(const s of[...this.recentAlerts.keys()].slice(0,-40))this.recentAlerts.delete(s)}replay(){this.post({t:"connection",state:this.connection}),this.latest.fleet&&this.post({t:"event",e:{type:"fleet",data:this.latest.fleet}}),this.latest.health&&this.post({t:"event",e:{type:"health",data:this.latest.health}}),this.latest.messages&&this.post({t:"event",e:{type:"messages",data:this.latest.messages}});const e=[...this.recentAlerts.values()].map(s=>({alert:s,fresh:!1}));this.post({t:"event",e:{type:"alerts",data:e}})}apply(e){switch(e.type){case"fleet":this.fleet=e.data,this.revision++,this.connection="open";break;case"health":this.health=e.data;break;case"messages":this.messages=e.data;break;case"review":for(const s of this.reviewers)s(e.data);break;default:for(const s of this.alertListeners)s(e)}}post(e){try{this.channel?.postMessage(e)}catch{}}}const d=new y;function A(){return d.fleet??c.data.fleet??null}function L(){return d.health??c.data.health??null}export{L as a,A as c,d as l};
@@ -1,4 +1,4 @@
1
- import"./DsnmJJEf.js";import{l as ha,G as fa,p as Ve,m as d,h as e,s as a,r as n,t as f,d as v,a as c,b as Be,q as C,c as p,bE as ga,bF as ma,k as nt,e as Ge,y as Nt,i as xe,n as Te,x as rt,f as Se,o as g,w as Ye,aO as xa,bA as Xe,a7 as dt,a8 as _a,v as ut}from"./L-6wuY5f.js";import{s as $e,r as Me,i as $,p as qe}from"./COiIt96y.js";import{s as y,a as Oe,b as ht,e as Ie,c as Ut,i as st}from"./DGy76IbW.js";import{G as xt}from"./CDphfOBv.js";import{E as ba}from"./p7x6PRF0.js";import{I as ze,s as wa}from"./CQlHU-Rx.js";import{o as Mt}from"./BGINfGsV.js";import{p as Gt}from"./D8Hx-_mj.js";import{S as ya}from"./BXN538J3.js";import{L as Vt}from"./Brlpgp90.js";import{A as ft,H as gt}from"./BVVO3JPx.js";import{F as ka}from"./t4rxsdjl.js";import{C as $a}from"./BR5v76-T.js";import{c as et}from"./BiTivU7x.js";import{X as Ma}from"./BUo4hMcM.js";import{T as za,I as Bt}from"./CXfdgbLv.js";import{F as Sa}from"./DC8T2WRZ.js";import{S as Ia}from"./Bns_F-QV.js";import{S as Ca}from"./CfdzAfq2.js";import{A as Pt}from"./CeYIQAXD.js";import{M as Ft}from"./Tm9AblHs.js";import{C as Aa}from"./Bfi4vm-w.js";class zt{#e=new WeakMap;#t;#a;static entries=new WeakMap;constructor(t){this.#a=t}observe(t,r){var o=this.#e.get(t)||new Set;return o.add(r),this.#e.set(t,o),this.#r().observe(t,this.#a),()=>{var h=this.#e.get(t);h.delete(r),h.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#r(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var r of t){zt.entries.set(r.target,r);for(var o of this.#e.get(r.target)||[])o(r)}}))}}var Da=new zt({box:"border-box"});function Lt(s,t,r){var o=Da.observe(s,()=>r(s[t]));ha(()=>(fa(()=>r(s[t])),o))}const La=/https?:\/\/[^\s<>"'`]+/g,Ra=/[.,;:!?)\]}'"]+$/;function Wa(s){return[...s.matchAll(La)].map(t=>t[0].replace(Ra,""))}function Rt(s){if(typeof s!="string"||s.length>2048)return null;if(s.startsWith("/")&&!s.startsWith("//")&&!s.startsWith("/\\"))return s;try{const t=new URL(s);return t.protocol==="http:"||t.protocol==="https:"?s:null}catch{return null}}function Do(s,t){const r=new Set(Wa(s));if(!r.size)return[];const o=[];for(const h of t)if(!(h.slot!=="bridge.card"||!h.content.available))for(const _ of h.content.value)_.mentions.some(U=>r.has(U))&&o.push({entry:h,card:_});return o}var Ea=new Set(["$$slots","$$events","$$legacy"]);function vt(s,t){let r=Me(t,Ea);const o={name:"anchor",size:24,node:[["path",{d:"M12 6v16"}],["path",{d:"m19 13 2-1a9 9 0 0 1-18 0l2 1"}],["path",{d:"M9 11h6"}],["circle",{cx:"12",cy:"4",r:"2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ha=new Set(["$$slots","$$events","$$legacy"]);function qt(s,t){let r=Me(t,Ha);const o={name:"book-open",size:24,node:[["path",{d:"M12 5v16"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ja=new Set(["$$slots","$$events","$$legacy"]);function Ta(s,t){let r=Me(t,ja);const o={name:"bot",size:24,node:[["path",{d:"M12 8V4H8"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"}],["path",{d:"M2 14h2"}],["path",{d:"M20 14h2"}],["path",{d:"M15 13v2"}],["path",{d:"M9 13v2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Oa=new Set(["$$slots","$$events","$$legacy"]);function Na(s,t){let r=Me(t,Oa);const o={name:"boxes",size:24,node:[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"}],["path",{d:"m7 16.5-4.74-2.85"}],["path",{d:"m7 16.5 5-3"}],["path",{d:"M7 16.5v5.17"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"}],["path",{d:"m17 16.5-5-3"}],["path",{d:"m17 16.5 4.74-2.85"}],["path",{d:"M17 16.5v5.17"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"}],["path",{d:"M12 8 7.26 5.15"}],["path",{d:"m12 8 4.74-2.85"}],["path",{d:"M12 13.5V8"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ua=new Set(["$$slots","$$events","$$legacy"]);function Ga(s,t){let r=Me(t,Ua);const o={name:"calendar-check",size:24,node:[["path",{d:"M8 2v3"}],["path",{d:"M16 2v3"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}],["path",{d:"M3 9h18"}],["path",{d:"m9 15 2 2 4-4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Va=new Set(["$$slots","$$events","$$legacy"]);function Ba(s,t){let r=Me(t,Va);const o={name:"calendar-clock",size:24,node:[["path",{d:"M16 14v2.2l1.6 1"}],["path",{d:"M16 2v3"}],["path",{d:"M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338"}],["path",{d:"M3 9h5.859"}],["path",{d:"M8 2v3"}],["circle",{cx:"16",cy:"16",r:"6"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Pa=new Set(["$$slots","$$events","$$legacy"]);function Fa(s,t){let r=Me(t,Pa);const o={name:"calendar-off",size:24,node:[["path",{d:"M16 2v3"}],["path",{d:"m2 2 20 20"}],["path",{d:"M21 9h-5.5"}],["path",{d:"M3 9h6"}],["path",{d:"M3.586 3.586A2 2 0 003 5v14a2 2 0 002 2h14a2 2 0 001.414-.586"}],["path",{d:"M8.656 3H19a2 2 0 012 2v10.344"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var qa=new Set(["$$slots","$$events","$$legacy"]);function Xa(s,t){let r=Me(t,qa);const o={name:"circle",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ka=new Set(["$$slots","$$events","$$legacy"]);function Ya(s,t){let r=Me(t,Ka);const o={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Za=new Set(["$$slots","$$events","$$legacy"]);function Ja(s,t){let r=Me(t,Za);const o={name:"database",size:24,node:[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}],["path",{d:"M3 12A9 3 0 0 0 21 12"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Qa=new Set(["$$slots","$$events","$$legacy"]);function er(s,t){let r=Me(t,Qa);const o={name:"file-search",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5"}],["path",{d:"M13.3 16.3 15 18"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var tr=new Set(["$$slots","$$events","$$legacy"]);function _t(s,t){let r=Me(t,tr);const o={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ar=new Set(["$$slots","$$events","$$legacy"]);function rr(s,t){let r=Me(t,ar);const o={name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"}],["circle",{cx:"13",cy:"12",r:"2"}],["circle",{cx:"20",cy:"19",r:"2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var sr=new Set(["$$slots","$$events","$$legacy"]);function nr(s,t){let r=Me(t,sr);const o={name:"gavel",size:24,node:[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381"}],["path",{d:"m16 16 6-6"}],["path",{d:"m21.5 10.5-8-8"}],["path",{d:"m8 8 6-6"}],["path",{d:"m8.5 7.5 8 8"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var or=new Set(["$$slots","$$events","$$legacy"]);function ir(s,t){let r=Me(t,or);const o={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var lr=new Set(["$$slots","$$events","$$legacy"]);function dr(s,t){let r=Me(t,lr);const o={name:"library",size:24,node:[["path",{d:"m16 6 4 14"}],["path",{d:"M12 6v14"}],["path",{d:"M8 8v12"}],["path",{d:"M4 4v16"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var cr=new Set(["$$slots","$$events","$$legacy"]);function bt(s,t){let r=Me(t,cr);const o={name:"lock",size:24,node:[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ur=new Set(["$$slots","$$events","$$legacy"]);function vr(s,t){let r=Me(t,ur);const o={name:"notebook-pen",size:24,node:[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"}],["path",{d:"M2 6h4"}],["path",{d:"M2 10h4"}],["path",{d:"M2 14h4"}],["path",{d:"M2 18h4"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var pr=new Set(["$$slots","$$events","$$legacy"]);function mt(s,t){let r=Me(t,pr);const o={name:"sailboat",size:24,node:[["path",{d:"M10 2v15"}],["path",{d:"M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z"}],["path",{d:"M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var hr=new Set(["$$slots","$$events","$$legacy"]);function fr(s,t){let r=Me(t,hr);const o={name:"scroll-text",size:24,node:[["path",{d:"M15 12h-5"}],["path",{d:"M15 8h-5"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var gr=new Set(["$$slots","$$events","$$legacy"]);function mr(s,t){let r=Me(t,gr);const o={name:"settings-2",size:24,node:[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var xr=new Set(["$$slots","$$events","$$legacy"]);function _r(s,t){let r=Me(t,xr);const o={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var br=new Set(["$$slots","$$events","$$legacy"]);function wr(s,t){let r=Me(t,br);const o={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3"}],["path",{d:"M12 19H3"}],["path",{d:"M14 3v4"}],["path",{d:"M16 17v4"}],["path",{d:"M21 12h-9"}],["path",{d:"M21 19h-5"}],["path",{d:"M21 5h-7"}],["path",{d:"M8 10v4"}],["path",{d:"M8 12H3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var yr=new Set(["$$slots","$$events","$$legacy"]);function kr(s,t){let r=Me(t,yr);const o={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}],["circle",{cx:"9",cy:"7",r:"4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var $r=new Set(["$$slots","$$events","$$legacy"]);function Xt(s,t){let r=Me(t,$r);const o={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Mr=p('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline"> <!></a>'),zr=p('<span class="text-muted-foreground">No repository link</span>'),Sr=p('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 hover:underline"><!> </a>'),Ir=p('<div class="flex flex-wrap items-center gap-x-5 gap-y-1.5 text-sm"><!> <!> <span class="inline-flex items-center gap-1 text-muted-foreground"><!> </span></div>');function Cr(s,t){Ve(t,!0);const r=C(()=>t.data),o=C(()=>Rt(e(r).repoUrl)),h=C(()=>Rt(e(r).readme?.url)),_=C(()=>e(r).pulls.filter(S=>!S.landed));var U=Ir(),I=d(U);{var A=S=>{var q=Mr(),oe=d(q,!0),se=a(oe);ba(se,{class:"size-3.5","aria-hidden":"true"}),n(q),f(ue=>{y(q,"href",e(o)),v(oe,ue)},[()=>e(o).replace(/^https:\/\//,"")]),c(S,q)},P=S=>{var q=zr();c(S,q)};$(I,S=>{e(o)?S(A):S(P,-1)})}var E=a(I,2);{var G=S=>{var q=Sr(),oe=d(q);qt(oe,{class:"size-3.5 text-muted-foreground","aria-hidden":"true"});var se=a(oe,1,!0);n(q),f(()=>{y(q,"href",e(h)),v(se,e(r).readme?.title)}),c(S,q)};$(E,S=>{e(h)&&S(G)})}var T=a(E,2),Y=d(T);xt(Y,{class:"size-3.5","aria-hidden":"true"});var b=a(Y);n(T),n(U),f(()=>v(b,`${e(_).length??""}
1
+ import"./DsnmJJEf.js";import{l as ha,G as fa,p as Ve,m as d,h as e,s as a,r as n,t as f,d as v,a as c,b as Be,q as C,c as p,bE as ga,bF as ma,k as nt,e as Ge,y as Nt,i as xe,n as Te,x as rt,f as Se,o as g,w as Ye,aO as xa,bA as Xe,a7 as dt,a8 as _a,v as ut}from"./L-6wuY5f.js";import{s as $e,r as Me,i as $,p as qe}from"./COiIt96y.js";import{s as y,a as Oe,b as ht,e as Ie,c as Ut,i as st}from"./DGy76IbW.js";import{G as xt}from"./CDphfOBv.js";import{E as ba}from"./p7x6PRF0.js";import{I as ze,s as wa}from"./CQlHU-Rx.js";import{o as Mt}from"./BGINfGsV.js";import{p as Gt}from"./euRlC7pA.js";import{S as ya}from"./BXN538J3.js";import{L as Vt}from"./Brlpgp90.js";import{A as ft,H as gt}from"./BVVO3JPx.js";import{F as ka}from"./t4rxsdjl.js";import{C as $a}from"./BR5v76-T.js";import{c as et}from"./BiTivU7x.js";import{X as Ma}from"./BUo4hMcM.js";import{T as za,I as Bt}from"./CXfdgbLv.js";import{F as Sa}from"./DC8T2WRZ.js";import{S as Ia}from"./Bns_F-QV.js";import{S as Ca}from"./CfdzAfq2.js";import{A as Pt}from"./CeYIQAXD.js";import{M as Ft}from"./Tm9AblHs.js";import{C as Aa}from"./Bfi4vm-w.js";class zt{#e=new WeakMap;#t;#a;static entries=new WeakMap;constructor(t){this.#a=t}observe(t,r){var o=this.#e.get(t)||new Set;return o.add(r),this.#e.set(t,o),this.#r().observe(t,this.#a),()=>{var h=this.#e.get(t);h.delete(r),h.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#r(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var r of t){zt.entries.set(r.target,r);for(var o of this.#e.get(r.target)||[])o(r)}}))}}var Da=new zt({box:"border-box"});function Lt(s,t,r){var o=Da.observe(s,()=>r(s[t]));ha(()=>(fa(()=>r(s[t])),o))}const La=/https?:\/\/[^\s<>"'`]+/g,Ra=/[.,;:!?)\]}'"]+$/;function Wa(s){return[...s.matchAll(La)].map(t=>t[0].replace(Ra,""))}function Rt(s){if(typeof s!="string"||s.length>2048)return null;if(s.startsWith("/")&&!s.startsWith("//")&&!s.startsWith("/\\"))return s;try{const t=new URL(s);return t.protocol==="http:"||t.protocol==="https:"?s:null}catch{return null}}function Do(s,t){const r=new Set(Wa(s));if(!r.size)return[];const o=[];for(const h of t)if(!(h.slot!=="bridge.card"||!h.content.available))for(const _ of h.content.value)_.mentions.some(U=>r.has(U))&&o.push({entry:h,card:_});return o}var Ea=new Set(["$$slots","$$events","$$legacy"]);function vt(s,t){let r=Me(t,Ea);const o={name:"anchor",size:24,node:[["path",{d:"M12 6v16"}],["path",{d:"m19 13 2-1a9 9 0 0 1-18 0l2 1"}],["path",{d:"M9 11h6"}],["circle",{cx:"12",cy:"4",r:"2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ha=new Set(["$$slots","$$events","$$legacy"]);function qt(s,t){let r=Me(t,Ha);const o={name:"book-open",size:24,node:[["path",{d:"M12 5v16"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ja=new Set(["$$slots","$$events","$$legacy"]);function Ta(s,t){let r=Me(t,ja);const o={name:"bot",size:24,node:[["path",{d:"M12 8V4H8"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"}],["path",{d:"M2 14h2"}],["path",{d:"M20 14h2"}],["path",{d:"M15 13v2"}],["path",{d:"M9 13v2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Oa=new Set(["$$slots","$$events","$$legacy"]);function Na(s,t){let r=Me(t,Oa);const o={name:"boxes",size:24,node:[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"}],["path",{d:"m7 16.5-4.74-2.85"}],["path",{d:"m7 16.5 5-3"}],["path",{d:"M7 16.5v5.17"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"}],["path",{d:"m17 16.5-5-3"}],["path",{d:"m17 16.5 4.74-2.85"}],["path",{d:"M17 16.5v5.17"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"}],["path",{d:"M12 8 7.26 5.15"}],["path",{d:"m12 8 4.74-2.85"}],["path",{d:"M12 13.5V8"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ua=new Set(["$$slots","$$events","$$legacy"]);function Ga(s,t){let r=Me(t,Ua);const o={name:"calendar-check",size:24,node:[["path",{d:"M8 2v3"}],["path",{d:"M16 2v3"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}],["path",{d:"M3 9h18"}],["path",{d:"m9 15 2 2 4-4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Va=new Set(["$$slots","$$events","$$legacy"]);function Ba(s,t){let r=Me(t,Va);const o={name:"calendar-clock",size:24,node:[["path",{d:"M16 14v2.2l1.6 1"}],["path",{d:"M16 2v3"}],["path",{d:"M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338"}],["path",{d:"M3 9h5.859"}],["path",{d:"M8 2v3"}],["circle",{cx:"16",cy:"16",r:"6"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Pa=new Set(["$$slots","$$events","$$legacy"]);function Fa(s,t){let r=Me(t,Pa);const o={name:"calendar-off",size:24,node:[["path",{d:"M16 2v3"}],["path",{d:"m2 2 20 20"}],["path",{d:"M21 9h-5.5"}],["path",{d:"M3 9h6"}],["path",{d:"M3.586 3.586A2 2 0 003 5v14a2 2 0 002 2h14a2 2 0 001.414-.586"}],["path",{d:"M8.656 3H19a2 2 0 012 2v10.344"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var qa=new Set(["$$slots","$$events","$$legacy"]);function Xa(s,t){let r=Me(t,qa);const o={name:"circle",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Ka=new Set(["$$slots","$$events","$$legacy"]);function Ya(s,t){let r=Me(t,Ka);const o={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Za=new Set(["$$slots","$$events","$$legacy"]);function Ja(s,t){let r=Me(t,Za);const o={name:"database",size:24,node:[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}],["path",{d:"M3 12A9 3 0 0 0 21 12"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Qa=new Set(["$$slots","$$events","$$legacy"]);function er(s,t){let r=Me(t,Qa);const o={name:"file-search",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5"}],["path",{d:"M13.3 16.3 15 18"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var tr=new Set(["$$slots","$$events","$$legacy"]);function _t(s,t){let r=Me(t,tr);const o={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ar=new Set(["$$slots","$$events","$$legacy"]);function rr(s,t){let r=Me(t,ar);const o={name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"}],["circle",{cx:"13",cy:"12",r:"2"}],["circle",{cx:"20",cy:"19",r:"2"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var sr=new Set(["$$slots","$$events","$$legacy"]);function nr(s,t){let r=Me(t,sr);const o={name:"gavel",size:24,node:[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381"}],["path",{d:"m16 16 6-6"}],["path",{d:"m21.5 10.5-8-8"}],["path",{d:"m8 8 6-6"}],["path",{d:"m8.5 7.5 8 8"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var or=new Set(["$$slots","$$events","$$legacy"]);function ir(s,t){let r=Me(t,or);const o={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var lr=new Set(["$$slots","$$events","$$legacy"]);function dr(s,t){let r=Me(t,lr);const o={name:"library",size:24,node:[["path",{d:"m16 6 4 14"}],["path",{d:"M12 6v14"}],["path",{d:"M8 8v12"}],["path",{d:"M4 4v16"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var cr=new Set(["$$slots","$$events","$$legacy"]);function bt(s,t){let r=Me(t,cr);const o={name:"lock",size:24,node:[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var ur=new Set(["$$slots","$$events","$$legacy"]);function vr(s,t){let r=Me(t,ur);const o={name:"notebook-pen",size:24,node:[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"}],["path",{d:"M2 6h4"}],["path",{d:"M2 10h4"}],["path",{d:"M2 14h4"}],["path",{d:"M2 18h4"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var pr=new Set(["$$slots","$$events","$$legacy"]);function mt(s,t){let r=Me(t,pr);const o={name:"sailboat",size:24,node:[["path",{d:"M10 2v15"}],["path",{d:"M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z"}],["path",{d:"M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var hr=new Set(["$$slots","$$events","$$legacy"]);function fr(s,t){let r=Me(t,hr);const o={name:"scroll-text",size:24,node:[["path",{d:"M15 12h-5"}],["path",{d:"M15 8h-5"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var gr=new Set(["$$slots","$$events","$$legacy"]);function mr(s,t){let r=Me(t,gr);const o={name:"settings-2",size:24,node:[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var xr=new Set(["$$slots","$$events","$$legacy"]);function _r(s,t){let r=Me(t,xr);const o={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var br=new Set(["$$slots","$$events","$$legacy"]);function wr(s,t){let r=Me(t,br);const o={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3"}],["path",{d:"M12 19H3"}],["path",{d:"M14 3v4"}],["path",{d:"M16 17v4"}],["path",{d:"M21 12h-9"}],["path",{d:"M21 19h-5"}],["path",{d:"M21 5h-7"}],["path",{d:"M8 10v4"}],["path",{d:"M8 12H3"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var yr=new Set(["$$slots","$$events","$$legacy"]);function kr(s,t){let r=Me(t,yr);const o={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}],["circle",{cx:"9",cy:"7",r:"4"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var $r=new Set(["$$slots","$$events","$$legacy"]);function Xt(s,t){let r=Me(t,$r);const o={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]]};ze(s,$e(()=>r,{get icon(){return o}}))}var Mr=p('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 text-sea hover:underline"> <!></a>'),zr=p('<span class="text-muted-foreground">No repository link</span>'),Sr=p('<a target="_blank" rel="noreferrer" class="inline-flex items-center gap-1 hover:underline"><!> </a>'),Ir=p('<div class="flex flex-wrap items-center gap-x-5 gap-y-1.5 text-sm"><!> <!> <span class="inline-flex items-center gap-1 text-muted-foreground"><!> </span></div>');function Cr(s,t){Ve(t,!0);const r=C(()=>t.data),o=C(()=>Rt(e(r).repoUrl)),h=C(()=>Rt(e(r).readme?.url)),_=C(()=>e(r).pulls.filter(S=>!S.landed));var U=Ir(),I=d(U);{var A=S=>{var q=Mr(),oe=d(q,!0),se=a(oe);ba(se,{class:"size-3.5","aria-hidden":"true"}),n(q),f(ue=>{y(q,"href",e(o)),v(oe,ue)},[()=>e(o).replace(/^https:\/\//,"")]),c(S,q)},P=S=>{var q=zr();c(S,q)};$(I,S=>{e(o)?S(A):S(P,-1)})}var E=a(I,2);{var G=S=>{var q=Sr(),oe=d(q);qt(oe,{class:"size-3.5 text-muted-foreground","aria-hidden":"true"});var se=a(oe,1,!0);n(q),f(()=>{y(q,"href",e(h)),v(se,e(r).readme?.title)}),c(S,q)};$(E,S=>{e(h)&&S(G)})}var T=a(E,2),Y=d(T);xt(Y,{class:"size-3.5","aria-hidden":"true"});var b=a(Y);n(T),n(U),f(()=>v(b,`${e(_).length??""}
2
2
  open ${e(_).length===1?"pull request":"pull requests"}`)),c(s,U),Be()}class Ar{#e;#t;constructor(t,r){this.#e=t,this.#t=ga(r)}get current(){return this.#t(),this.#e()}}const Dr=/\(.+\)/,Lr=new Set(["all","print","screen","and","or","not","only"]);class Rr extends Ar{constructor(t,r){let o=Dr.test(t)||t.split(/[\s,]+/).some(_=>Lr.has(_.trim()))?t:`(${t})`;const h=window.matchMedia(o);super(()=>h.matches,_=>ma(h,"change",_))}}var Wr=p('<div><div role="separator" aria-orientation="vertical" tabindex="0" class="group absolute inset-y-0 -left-1.5 z-10 w-3 cursor-col-resize touch-none outline-none"><span class="absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-transparent transition-colors group-hover:bg-sea group-focus-visible:bg-sea"></span> <span class="absolute top-1/2 left-1/2 h-8 w-1 -translate-1/2 rounded-full bg-border transition-colors group-hover:bg-sea"></span></div> <!></div>');function Er(s,t){Ve(t,!0);let r=qe(t,"defaultWidth",3,368),o=qe(t,"class",3,""),h=Ge(Nt(r()));const _=T=>Math.round(Math.min(Math.max(T,280),Math.min(720,window.innerWidth*.6)));Mt(()=>{try{const T=Number(localStorage.getItem(t.storageKey));T&&xe(h,_(T),!0)}catch{}});function U(){try{localStorage.setItem(t.storageKey,String(e(h)))}catch{}}function I(T){const Y=T.currentTarget;Y.setPointerCapture(T.pointerId);const b=q=>xe(h,_(window.innerWidth-q.clientX),!0),S=()=>{Y.removeEventListener("pointermove",b),Y.removeEventListener("pointerup",S),U()};Y.addEventListener("pointermove",b),Y.addEventListener("pointerup",S)}function A(T){T.key!=="ArrowLeft"&&T.key!=="ArrowRight"||(T.preventDefault(),xe(h,_(e(h)+(T.key==="ArrowLeft"?24:-24)),!0),U())}var P=Wr(),E=d(P),G=a(E,2);wa(G,()=>t.children),n(P),f(()=>{Oe(P,1,`relative shrink-0 border-l ${o()??""}`),ht(P,`width: ${e(h)??""}px`),y(E,"aria-label",t.label),y(E,"aria-valuenow",e(h))}),Te("pointerdown",E,I),Te("keydown",E,A),Te("dblclick",E,()=>{xe(h,r()),U()}),c(s,P),Be()}nt(["pointerdown","keydown","dblclick"]);const Hr=s=>new URLSearchParams({plugin:s.plugin,service:s.service,...s.project?{project:s.project}:{}}).toString();async function jr(s){try{const t=await fetch(`/api/services?${Hr(s)}`);return t.ok?await t.json():null}catch{return null}}async function Kt(s,t,r=null){const o=window.open("","_blank");try{o?.document.write('<!doctype html><title>Starting…</title><body style="font:15px system-ui;margin:3rem;color:#14213d;background:#f6f2e9">Wheelhouse is starting it; this tab opens it when it answers.</body>')}catch{}let h=null;try{const _=await fetch("/api/services",{method:"POST",headers:{"content-type":"application/json",[ya]:t},body:JSON.stringify({plugin:s.plugin,service:s.service,project:s.project??null})});h=_.ok?await _.json():{...await _.json().catch(()=>({})),state:"failed",reason:`Wheelhouse could not start it (${_.status}).`}}catch{h=null}return h?.state==="running"&&(r??h.url)?o?o.location.href=r??h.url:window.open(r??h.url,"_blank"):o?.close(),h}var Tr=p('<span class="flex items-center gap-1.5 text-muted-foreground" role="status"><!> </span>'),Or=p('<a target="_blank" rel="noreferrer" class="inline-flex w-fit items-center gap-1 rounded-full border border-sea/40 px-2.5 py-1 font-medium text-sea hover:bg-sea/10"> <!></a>'),Nr=p('<details><summary class="cursor-pointer text-muted-foreground">What it printed</summary> <pre class="mt-1 max-h-48 overflow-auto rounded border bg-muted/60 p-2 font-mono text-[0.7rem] whitespace-pre-wrap"> </pre></details>'),Ur=p('<p class="text-warning"> </p> <!>',1),Gr=p('<span class="flex flex-wrap items-center gap-2"><button class="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-sea bg-sea px-3 py-1 font-semibold text-white transition-colors duration-200 hover:bg-sea/90 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring dark:text-slate-950"><!> </button> <span class="text-muted-foreground"> </span></span> <!>',1),Vr=p("<!>Copied",1),Br=p("<!>Copy",1),Pr=p('<span class="flex items-start gap-2 rounded-md border bg-muted/60 px-2.5 py-1.5"><code class="min-w-0 flex-1 font-mono break-all text-foreground select-all"> </code> <button class="flex shrink-0 cursor-pointer items-center gap-1 hover:text-foreground"><!></button></span>'),Fr=p('<a target="_blank" rel="noreferrer" class="inline-flex w-fit items-center gap-1 text-sea hover:underline"> <!></a>'),qr=p('<p class="text-muted-foreground"> </p> <!> <!>',1),Xr=p('<div class="flex flex-col gap-1.5 text-xs"><!></div>');function St(s,t){Ve(t,!0);let r=qe(t,"project",3,null),o=qe(t,"open",3,null),h=qe(t,"label",3,null),_=Ge(null),U=Ge(!1),I=Ge(!1);const A=C(()=>h()??e(_)?.title??"it"),P=C(()=>o()??e(_)?.url??null),E=C(()=>`${e(A)} is not running.${e(_)?.reason?` ${e(_).reason}`:""}`);Mt(()=>{jr({plugin:t.plugin,service:t.service,project:r()}).then(q=>xe(_,q,!0))});async function G(){xe(U,!0);const q=await Kt({plugin:t.plugin,service:t.service,project:r()},Gt.data.sessionToken,o());xe(_,q??e(_),!0),xe(U,!1)}async function T(q){try{await navigator.clipboard.writeText(q),xe(I,!0),setTimeout(()=>xe(I,!1),1500)}catch{}}var Y=rt(),b=Se(Y);{var S=q=>{var oe=Xr(),se=d(oe);{var ue=te=>{var m=Tr(),l=d(m);Vt(l,{class:"size-3.5 animate-spin","aria-hidden":"true"});var Q=a(l);n(m),f(()=>v(Q,`Starting ${e(A)??""}; the first
3
3
  start can take a minute.`)),c(te,m)},Ce=te=>{var m=Or(),l=d(m),Q=a(l);ft(Q,{class:"size-3.5","aria-hidden":"true"}),n(m),f(()=>{y(m,"href",e(P)),v(l,`Open ${e(A)??""}`)}),c(te,m)},Le=te=>{var m=Gr(),l=Se(m),Q=d(l),M=d(Q);ka(M,{class:"size-3.5","aria-hidden":"true"});var O=a(M);n(Q);var D=a(Q,2),L=g(D);n(l);var F=a(l,2);{var K=ae=>{var ie=Ur(),ve=Se(ie),i=g(ve,!0),z=a(ve,2);{var Z=J=>{var ne=Nr(),W=a(d(ne),2),u=g(W,!0);n(ne),f(()=>v(u,e(_).log)),c(J,ne)};$(z,J=>{e(_).log&&J(Z)})}f(()=>v(i,e(_).reason)),c(ae,ie)};$(F,ae=>{e(_).state==="failed"&&ae(K)})}f(()=>{v(O,`Launch ${e(A)??""}`),v(L,`${e(A)??""} is not running; Launch starts it on this computer.`)}),Te("click",Q,G),c(te,m)},We=te=>{var m=qr(),l=Se(m),Q=g(l,!0),M=a(l,2);{var O=F=>{var K=Pr(),ae=d(K),ie=g(ae,!0),ve=a(ae,2),i=d(ve);{var z=J=>{var ne=Vr(),W=Se(ne);$a(W,{class:"size-3.5"}),Ye(),c(J,ne)},Z=J=>{var ne=Br(),W=Se(ne);Ya(W,{class:"size-3.5"}),Ye(),c(J,ne)};$(i,J=>{e(I)?J(z):J(Z,-1)})}n(ve),n(K),f(()=>v(ie,e(_).hint)),Te("click",ve,()=>T(e(_).hint)),c(F,K)};$(M,F=>{e(_).hint&&F(O)})}var D=a(M,2);{var L=F=>{var K=Fr(),ae=d(K),ie=a(ae);ft(ie,{class:"size-3.5","aria-hidden":"true"}),n(K),f(()=>{y(K,"href",e(P)),v(ae,`Open ${e(A)??""} once it runs`)}),c(F,K)};$(D,F=>{e(P)&&e(_).state!=="occupied"&&F(L)})}f(()=>v(Q,e(E))),c(te,m)};$(se,te=>{e(U)||e(_).state==="starting"?te(ue):e(_).state==="running"&&e(P)?te(Ce,1):e(_).launchable?te(Le,2):te(We,-1)})}n(oe),f(()=>y(oe,"data-service",`${t.plugin??""}/${t.service??""}`)),c(q,oe)};$(b,q=>{e(_)&&q(S)})}c(s,Y),Be()}nt(["click"]);const Kr={bot:Ta,boxes:Na,database:Ja,flag:_t,"folder-git-2":rr,gavel:nr,globe:ir,library:dr,lock:bt,server:_r,users:kr},Yt=s=>s&&Kr[s]||Xa,kt=s=>{const t=s.replace(/[_-]+/g," ").trim();return t?t[0].toUpperCase()+t.slice(1):"Exhibit"},pt=s=>s.replace(/[_-]+/g," "),Fe={charted:{short:"",label:"Charted",means:"backed by evidence"},approximate:{short:"PA",label:"Position approximate",means:"some evidence, not conclusive"},doubtful:{short:"ED",label:"Existence doubtful",means:"stated, with no evidence yet"},unsurveyed:{short:"",label:"Unsurveyed",means:"named, but nothing describes it"}},Zt={charted:void 0,approximate:"7 4",doubtful:"1 4",unsurveyed:"1 4"};function Yr(s,t){const r=s===null?"":` (${Math.round(s*100)}%)`;return t==="evidence"?`Backed by evidence${r}`:t==="stated"?`Stated in the docket${r}`:t==="unevidenced"?"Stated, with no evidence yet":s===null?"Confidence not computed":`Confidence${r}`}const Zr=180;function $t(s,t){if(!s)return null;const r=Date.parse(`${s}T00:00:00Z`);return Number.isNaN(r)?null:t-r>Zr*864e5?"old":"fresh"}var Jr=Xe('<g><rect rx="14" class="fill-sea/[0.04] stroke-sea/20"></rect><!><text class="fill-muted-foreground text-[13px] font-medium"> </text></g>'),Qr=Xe('<rect rx="14" class="fill-sea/[0.09] stroke-sea/25"></rect><!><text class="fill-muted-foreground text-[13px] font-medium">Where code runs</text>',1),es=Xe('<g><rect rx="11" class="stroke-warning/60" stroke-dasharray="5 3"></rect><circle r="7.5" class="fill-background stroke-warning/70"></circle><text text-anchor="middle" class="fill-warning text-[9px] font-semibold"> </text></g>'),ts=Xe('<text text-anchor="middle" class="fill-muted-foreground stroke-background text-[9px] font-semibold" stroke-width="3" paint-order="stroke"> </text>'),as=Xe('<g><path fill="none" class="stroke-muted-foreground" stroke-linecap="round"><title> </title></path><!></g>'),rs=Xe('<text y="41" text-anchor="end" class="fill-muted-foreground text-[13px] italic"> <title> </title></text>'),ss=Xe("<g><title> </title><!></g>"),ns=Xe('<text x="20" y="5" class="fill-sea text-[9px] font-semibold"> </text>'),os=Xe('<g transform="translate(-7,-7)"><circle cx="9" cy="9" r="10" class="fill-sea"></circle><!><!></g>'),is=Xe('<g role="button" tabindex="0" class="cursor-pointer outline-none [&amp;:focus-visible>rect:first-child]:stroke-ring"><rect rx="9"></rect><!><text x="36" y="24" class="fill-foreground text-[14px] font-medium"> </text><text x="36" y="41" class="fill-muted-foreground text-[13px]"> </text><!><!><!></g>'),ls=Xe('<svg class="block shrink-0 select-none" role="group"><defs><pattern patternUnits="userSpaceOnUse" width="7" height="7" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="7" class="stroke-warning" stroke-width="1.6" opacity="0.45"></line></pattern><marker viewBox="0 0 8 8" refX="7.5" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,0.5 L8,4 L0,7.5 z" class="fill-muted-foreground"></path></marker></defs><!><!><!><!><!></svg>');function ds(s,t){const r=xa();Ve(t,!0);let o=qe(t,"scale",3,1);const h=`docket-hatch-${r}`,_=`docket-arrow-${r}`,U=C(()=>{const m={};for(const l of t.vessels)for(const Q of l.touched)(m[Q]??=[]).push(l);return m}),I=m=>t.highlight.size>0&&!t.highlight.has(m),A=C(()=>{const m={};for(const l of t.layout.edges)l.quiet&&(m[l.source]??=[]).push(E(l.target));return m}),P=m=>!m.quiet||t.highlight.size>0&&t.highlight.has(m.source)&&t.highlight.has(m.target),E=m=>t.layout.nodes.find(l=>l.id===m)?.exhibit?.title??m,G=(m,l)=>m.length>l?`${m.slice(0,l-1)}…`:m;function T(m){if(m.kind==="ghost")return"Unsurveyed";const l=m.exhibit;if(m.kind==="harbour"){const Q=l.attributes.find(M=>M.key==="environmentType")?.value;return Q?`Harbour · ${Q}`:"Harbour"}return kt(l.type)}function Y(m,l){(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),t.onselect(t.selected===l?null:l))}var b=ls(),S=d(b),q=d(S),oe=a(q);n(S);var se=a(S);Ie(se,17,()=>t.layout.lanes,m=>m.id??"",(m,l)=>{var Q=Jr(),M=d(Q),O=a(M);{var D=K=>{{let ae=C(()=>e(l).x+14),ie=C(()=>e(l).y+12);_t(K,{get x(){return e(ae)},get y(){return e(ie)},size:14,class:"text-sea","aria-hidden":"true"})}};$(O,K=>{e(l).id!==null&&K(D)})}var L=a(O),F=g(L,!0);n(Q),f(()=>{y(M,"x",e(l).x),y(M,"y",e(l).y),y(M,"width",e(l).w),y(M,"height",e(l).h),y(M,"stroke-dasharray",e(l).id===null?"4 4":void 0),y(L,"x",e(l).x+(e(l).id===null?14:34)),y(L,"y",e(l).y+24),v(F,e(l).title)}),c(m,Q)});var ue=a(se);{var Ce=m=>{const l=C(()=>t.layout.coast);var Q=Qr(),M=Se(Q),O=a(M);{let L=C(()=>e(l).x+14),F=C(()=>e(l).y+12);vt(O,{get x(){return e(L)},get y(){return e(F)},size:14,class:"text-sea","aria-hidden":"true"})}var D=a(O);f(()=>{y(M,"x",e(l).x),y(M,"y",e(l).y),y(M,"width",e(l).w),y(M,"height",e(l).h),y(D,"x",e(l).x+34),y(D,"y",e(l).y+24)}),c(m,Q)};$(ue,m=>{t.layout.coast&&m(Ce)})}var Le=a(ue);Ie(Le,17,()=>t.layout.halos,m=>`${m.restriction}@${m.node}`,(m,l)=>{var Q=es(),M=d(Q),O=a(M),D=a(O),L=g(D,!0);n(Q),f(F=>{y(Q,"opacity",F),y(M,"x",e(l).x),y(M,"y",e(l).y),y(M,"width",e(l).w),y(M,"height",e(l).h),y(M,"fill",`url(#${h})`),y(O,"cx",e(l).x+e(l).w-3),y(O,"cy",e(l).y+3),y(D,"x",e(l).x+e(l).w-3),y(D,"y",e(l).y+6.2),v(L,e(l).letter)},[()=>I(e(l).node)?.25:1]),c(m,Q)});var We=a(Le);Ie(We,17,()=>t.layout.edges.filter(P),m=>m.key,(m,l)=>{const Q=C(()=>I(e(l).source)||I(e(l).target));var M=as(),O=d(M),D=d(O),L=g(D);n(O);var F=a(O);{var K=ae=>{var ie=ts(),ve=g(ie,!0);f(()=>{y(ie,"x",e(l).mid.x),y(ie,"y",e(l).mid.y+3),v(ve,Fe[e(l).mark].short)}),c(ae,ie)};$(F,ae=>{Fe[e(l).mark].short&&!e(l).quiet&&ae(K)})}n(M),f((ae,ie,ve,i)=>{y(M,"opacity",e(Q)?.15:1),y(O,"d",e(l).d),y(O,"stroke-width",e(l).quiet?1:1.4),y(O,"stroke-opacity",e(l).quiet?.55:.8),y(O,"stroke-dasharray",Zt[e(l).mark]),y(O,"marker-end",`url(#${_})`),v(L,`${ae??""}
4
4
  ${ie??""}
@@ -1 +1 @@
1
- import"./DsnmJJEf.js";import{D as b,aa as v,N as p,ab as u,G as g,ac as x,h as f,ad as k,ae as y,af as w,p as D,a as h,b as I,c as _,o as N,t as G,d as H,r as L}from"./L-6wuY5f.js";import{e as W,s as m}from"./DGy76IbW.js";import{p as j}from"./D8Hx-_mj.js";function q(o=!1){const a=b,e=a.l.u;if(!e)return;let r=()=>k(a.s);if(o){let s=0,t={};const n=y(()=>{let l=!1;const c=a.s;for(const i in c)c[i]!==t[i]&&(t[i]=c[i],l=!0);return l&&s++,s});r=()=>f(n)}e.b.length&&v(()=>{d(a,r),u(e.b)}),p(()=>{const s=g(()=>e.m.map(x));return()=>{for(const t of s)typeof t=="function"&&t()}}),e.a.length&&p(()=>{d(a,r),u(e.a)})}function d(o,a){if(o.l.s)for(const e of o.l.s)f(e);a()}w();var z=_('<a class="nav-tab shrink-0"> </a>'),A=_('<nav class="-ml-2.5 no-scrollbar flex gap-1 overflow-x-auto" aria-label="Logbook"></nav>');function J(o,a){D(a,!1);const e=[{href:"/headroom",label:"Headroom"},{href:"/time",label:"Where time went"},{href:"/decisions",label:"Decided for you"}];q();var r=A();W(r,5,()=>e,s=>s.href,(s,t)=>{var n=z(),l=N(n,!0);G(()=>{m(n,"href",f(t).href),m(n,"aria-current",j.url.pathname===f(t).href?"page":void 0),H(l,f(t).label)}),h(s,n)}),L(r),h(o,r),I()}export{J as I};
1
+ import"./DsnmJJEf.js";import{D as b,aa as v,N as p,ab as u,G as g,ac as x,h as f,ad as k,ae as y,af as w,p as D,a as h,b as I,c as _,o as N,t as G,d as H,r as L}from"./L-6wuY5f.js";import{e as W,s as m}from"./DGy76IbW.js";import{p as j}from"./euRlC7pA.js";function q(o=!1){const a=b,e=a.l.u;if(!e)return;let r=()=>k(a.s);if(o){let s=0,t={};const n=y(()=>{let l=!1;const c=a.s;for(const i in c)c[i]!==t[i]&&(t[i]=c[i],l=!0);return l&&s++,s});r=()=>f(n)}e.b.length&&v(()=>{d(a,r),u(e.b)}),p(()=>{const s=g(()=>e.m.map(x));return()=>{for(const t of s)typeof t=="function"&&t()}}),e.a.length&&p(()=>{d(a,r),u(e.a)})}function d(o,a){if(o.l.s)for(const e of o.l.s)f(e);a()}w();var z=_('<a class="nav-tab shrink-0"> </a>'),A=_('<nav class="-ml-2.5 no-scrollbar flex gap-1 overflow-x-auto" aria-label="Logbook"></nav>');function J(o,a){D(a,!1);const e=[{href:"/headroom",label:"Headroom"},{href:"/time",label:"Where time went"},{href:"/decisions",label:"Decided for you"}];q();var r=A();W(r,5,()=>e,s=>s.href,(s,t)=>{var n=z(),l=N(n,!0);G(()=>{m(n,"href",f(t).href),m(n,"aria-current",j.url.pathname===f(t).href?"page":void 0),H(l,f(t).label)}),h(s,n)}),L(r),h(o,r),I()}export{J as I};
@@ -1 +1 @@
1
- import{o as y}from"./BGINfGsV.js";import{ag as b,bC as I,e as u,h as f,i as d}from"./L-6wuY5f.js";const h=[];function k(e,t=b){let n=null;const s=new Set;function r(o){if(I(e,o)&&(e=o,n)){const c=!h.length;for(const l of s)l[1](),h.push(l,e);if(c){for(let l=0;l<h.length;l+=2)h[l][0](h[l+1]);h.length=0}}}function i(o){r(o(e))}function a(o,c=b){const l=[o,c];return s.add(l),s.size===1&&(n=t(r,i)||b),o(e),()=>{s.delete(l),s.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:a}}const N="1793072232354",L=globalThis.__sveltekit_7ppixp?.base??"",O=globalThis.__sveltekit_7ppixp?.assets??L??"";new URL("sveltekit-internal://");function H(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function K(e){return e.split("%25").map(decodeURI).join("%25")}function B(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function D({href:e}){return e.split("#")[0]}function $(){}function q(...e){let t=5381;for(const n of e)if(typeof n=="string"){let s=n.length;for(;s;)t=t*33^n.charCodeAt(--s)}else if(ArrayBuffer.isView(n)){const s=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=s.length;for(;r;)t=t*33^s[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function C(e){const t=atob(e),n=new Uint8Array(t.length);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return n}const P=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&p.delete(m(e)),P(e,t));const p=new Map;function W(e,t){const n=m(e,t),s=document.querySelector(n);if(s?.textContent){s.remove();let{body:r,...i}=JSON.parse(s.textContent);s.getAttribute("data-b64")!==null&&(r=C(r));const o=s.getAttribute("data-ttl");return o&&p.set(n,{body:r,init:i,ttl:1e3*Number(o)}),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function X(e,t,n){if(p.size>0){const s=m(e,n),r=p.get(s);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(r.body,r.init);p.delete(s)}}return window.fetch(t,n)}function m(e,t){let s=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),s+=`[data-hash="${q(...r)}"]`}return s}const J="sveltekit:snapshot",M="sveltekit:scroll",F="sveltekit:states",Q="sveltekit:pageurl",Z="sveltekit:history",ee="sveltekit:navigation",v={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...E];const V=new Set([...E]);[...V];const T=location.origin;function te(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function ne(){return{x:pageXOffset,y:pageYOffset}}function g(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const S={...v,"":v.hover};function U(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function se(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=U(e)}}function re(e,t,n){let s;try{if(s=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&s.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";s.hash=`#${o}${s.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!s||!!r||j(s,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),a=s?.origin===T&&e.hasAttribute("download");return{url:s,external:i,target:r,download:a}}function oe(e){let t=null,n=null,s=null,r=null,i=null,a=null,o=e;for(;o&&o!==document.documentElement;)s===null&&(s=g(o,"preload-code")),r===null&&(r=g(o,"preload-data")),t===null&&(t=g(o,"keepfocus")),n===null&&(n=g(o,"noscroll")),i===null&&(i=g(o,"reload")),a===null&&(a=g(o,"replacestate")),o=U(o);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:S[s??"off"],preload_data:S[r??"off"],keepfocus:c(t),noscroll:c(n),reload:c(i),replace_state:c(a)}}function ae(e){const t=k(e);let n=!0;function s(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function i(a){let o;return t.subscribe(c=>{(o===void 0||n&&c!==o)&&a(o=c)})}return{notify:s,set:r,subscribe:i}}const x={v:$};function ie(){const{set:e,subscribe:t}=k(!1);let n;async function s(){clearTimeout(n);try{const r=await fetch(`${O}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==N;return a&&(e(!0),x.v(),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:s}}function j(e,t,n){return e.origin!==T||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function le(e){}let w,A,_;const G=y.toString().includes("$$")||/function \w+\(\) \{\}/.test(y.toString()),R="a:";G?(w={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(R)},A={current:null},_={current:!1}):(w=new class{#e=u({});get data(){return f(this.#e)}set data(t){d(this.#e,t)}#t=u(null);get form(){return f(this.#t)}set form(t){d(this.#t,t)}#n=u(null);get error(){return f(this.#n)}set error(t){d(this.#n,t)}#s=u({});get params(){return f(this.#s)}set params(t){d(this.#s,t)}#r=u({id:null});get route(){return f(this.#r)}set route(t){d(this.#r,t)}#o=u({});get state(){return f(this.#o)}set state(t){d(this.#o,t)}#a=u(-1);get status(){return f(this.#a)}set status(t){d(this.#a,t)}#i=u(new URL(R));get url(){return f(this.#i)}set url(t){d(this.#i,t)}},A=new class{#e=u(null);get current(){return f(this.#e)}set current(t){d(this.#e,t)}},_=new class{#e=u(!1);get current(){return f(this.#e)}set current(t){d(this.#e,t)}},x.v=()=>_.current=!0);function de(e){Object.assign(w,e)}export{Z as H,ee as N,Q as P,F as S,A as a,L as b,oe as c,D as d,B as e,se as f,re as g,H as h,j as i,ie as j,ae as k,v as l,K as m,$ as n,T as o,w as p,J as q,te as r,ne as s,X as t,de as u,W as v,k as w,M as x,le as y};
1
+ import{o as y}from"./BGINfGsV.js";import{ag as p,bC as N,e as u,h as f,i as d}from"./L-6wuY5f.js";const h=[];function k(e,t=p){let n=null;const s=new Set;function r(o){if(N(e,o)&&(e=o,n)){const c=!h.length;for(const l of s)l[1](),h.push(l,e);if(c){for(let l=0;l<h.length;l+=2)h[l][0](h[l+1]);h.length=0}}}function i(o){r(o(e))}function a(o,c=p){const l=[o,c];return s.add(l),s.size===1&&(n=t(r,i)||p),o(e),()=>{s.delete(l),s.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:a}}const L="1793073865173",O=globalThis.__sveltekit_69ivar?.base??"",x=globalThis.__sveltekit_69ivar?.assets??O??"";new URL("sveltekit-internal://");function H(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function K(e){return e.split("%25").map(decodeURI).join("%25")}function B(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function D({href:e}){return e.split("#")[0]}function $(){}function q(...e){let t=5381;for(const n of e)if(typeof n=="string"){let s=n.length;for(;s;)t=t*33^n.charCodeAt(--s)}else if(ArrayBuffer.isView(n)){const s=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=s.length;for(;r;)t=t*33^s[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function C(e){const t=atob(e),n=new Uint8Array(t.length);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return n}const P=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&b.delete(m(e)),P(e,t));const b=new Map;function W(e,t){const n=m(e,t),s=document.querySelector(n);if(s?.textContent){s.remove();let{body:r,...i}=JSON.parse(s.textContent);s.getAttribute("data-b64")!==null&&(r=C(r));const o=s.getAttribute("data-ttl");return o&&b.set(n,{body:r,init:i,ttl:1e3*Number(o)}),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function X(e,t,n){if(b.size>0){const s=m(e,n),r=b.get(s);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(r.body,r.init);b.delete(s)}}return window.fetch(t,n)}function m(e,t){let s=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),s+=`[data-hash="${q(...r)}"]`}return s}const J="sveltekit:snapshot",M="sveltekit:scroll",F="sveltekit:states",Q="sveltekit:pageurl",Z="sveltekit:history",ee="sveltekit:navigation",v={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...E];const V=new Set([...E]);[...V];const T=location.origin;function te(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function ne(){return{x:pageXOffset,y:pageYOffset}}function g(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const S={...v,"":v.hover};function U(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function se(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=U(e)}}function re(e,t,n){let s;try{if(s=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&s.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";s.hash=`#${o}${s.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!s||!!r||j(s,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),a=s?.origin===T&&e.hasAttribute("download");return{url:s,external:i,target:r,download:a}}function oe(e){let t=null,n=null,s=null,r=null,i=null,a=null,o=e;for(;o&&o!==document.documentElement;)s===null&&(s=g(o,"preload-code")),r===null&&(r=g(o,"preload-data")),t===null&&(t=g(o,"keepfocus")),n===null&&(n=g(o,"noscroll")),i===null&&(i=g(o,"reload")),a===null&&(a=g(o,"replacestate")),o=U(o);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:S[s??"off"],preload_data:S[r??"off"],keepfocus:c(t),noscroll:c(n),reload:c(i),replace_state:c(a)}}function ae(e){const t=k(e);let n=!0;function s(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function i(a){let o;return t.subscribe(c=>{(o===void 0||n&&c!==o)&&a(o=c)})}return{notify:s,set:r,subscribe:i}}const I={v:$};function ie(){const{set:e,subscribe:t}=k(!1);let n;async function s(){clearTimeout(n);try{const r=await fetch(`${x}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==L;return a&&(e(!0),I.v(),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:s}}function j(e,t,n){return e.origin!==T||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function le(e){}let w,A,_;const G=y.toString().includes("$$")||/function \w+\(\) \{\}/.test(y.toString()),R="a:";G?(w={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(R)},A={current:null},_={current:!1}):(w=new class{#e=u({});get data(){return f(this.#e)}set data(t){d(this.#e,t)}#t=u(null);get form(){return f(this.#t)}set form(t){d(this.#t,t)}#n=u(null);get error(){return f(this.#n)}set error(t){d(this.#n,t)}#s=u({});get params(){return f(this.#s)}set params(t){d(this.#s,t)}#r=u({id:null});get route(){return f(this.#r)}set route(t){d(this.#r,t)}#o=u({});get state(){return f(this.#o)}set state(t){d(this.#o,t)}#a=u(-1);get status(){return f(this.#a)}set status(t){d(this.#a,t)}#i=u(new URL(R));get url(){return f(this.#i)}set url(t){d(this.#i,t)}},A=new class{#e=u(null);get current(){return f(this.#e)}set current(t){d(this.#e,t)}},_=new class{#e=u(!1);get current(){return f(this.#e)}set current(t){d(this.#e,t)}},I.v=()=>_.current=!0);function de(e){Object.assign(w,e)}export{Z as H,ee as N,Q as P,F as S,A as a,O as b,oe as c,D as d,B as e,se as f,re as g,H as h,j as i,ie as j,ae as k,v as l,K as m,$ as n,T as o,w as p,J as q,te as r,ne as s,X as t,de as u,W as v,k as w,M as x,le as y};