@chrisjowen/wheelhouse 0.0.0-stage → 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +112 -2
- package/build/client/_app/immutable/assets/0.DaQhCSel.css +1 -0
- package/build/client/_app/immutable/assets/0.DaQhCSel.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DaQhCSel.css.gz +0 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css +1 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css.br +0 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css.gz +0 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css +1 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.br +0 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.gz +0 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css +1 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.br +0 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css +1 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css.br +0 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css +1 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css.br +0 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css.gz +0 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css +1 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css.br +2 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css.gz +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-ext-wght-italic.B5xAaiFk.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-wght-italic.DzZdc28x.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-ext-wght-italic.DcOpz6Lw.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-wght-italic.CILZdfAp.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-ext-wght-italic.0pjOp8NU.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-wght-italic.DpCbqKDY.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-vietnamese-wght-italic.K3WlGtc8.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-ext-wght-italic.DFS986qL.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-wght-italic.Bxi8ein9.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-wght-normal.CCVVNp6i.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-vietnamese-wght-italic.xAqemagA.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2 +0 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js +1 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js.br +0 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js +16 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js +1 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js +1 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js +2 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js +1 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js +1 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js.br +4 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js +1 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js +1 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js.br +0 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js +1 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js +1 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js.br +0 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js +1 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js.br +2 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js +1 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js +1 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js +1 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js +1 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js +1 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js +1 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js.br +0 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js +1 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js +1 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js +1 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js +7 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js +1 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js +62 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js.br +0 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js +1 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js +1 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js +1 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js.br +0 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js +1 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js +1 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js.br +0 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js +1 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js.br +0 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js +1 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js.br +2 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js +1 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js +1 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js +1 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js +1 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js.br +0 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js +14 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js.br +0 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js +1 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js +1 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js.br +0 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js +1 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js +5 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js.br +0 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js +1 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js +1 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js +1 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js +1 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js +1 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js +1 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js.br +3 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js +1 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js +2 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js +1 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js +1 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js +1 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js +1 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js +1 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js.br +1 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js +1 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js.br +0 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js +1 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js +2 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js +1 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js +1 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js +1 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js.br +2 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js +1 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js +1 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js.br +0 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js +1 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js +1 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js.br +0 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js +2 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js.br +0 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js.gz +0 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js +1 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js.br +1 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js +1 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js.br +0 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js +1 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js.br +0 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js +1 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js.br +0 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js +1 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js.br +0 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js +4 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js.br +0 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js +1 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js.br +0 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js +1 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js.br +0 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js +1 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js.br +0 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js +1 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js.br +0 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js +1 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js.br +0 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js +74 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js.br +0 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js +1 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js.br +4 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js +2 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js +1 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js.br +0 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js +5 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js +1 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js +14 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js +77 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js +32 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js +5 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js +1 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js +10 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js +6 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js +4 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js +5 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js +3 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js +7 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js +4 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js +1 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js +1 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js +1 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.gz +0 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/favicon.svg +1 -0
- package/build/client/favicon.svg.br +0 -0
- package/build/client/favicon.svg.gz +0 -0
- package/build/env.js +70 -0
- package/build/handler.js +23 -0
- package/build/index.js +146 -0
- package/build/server/chunks/chunks/AllowanceMeter.js-C9jRsAGU.js +42 -0
- package/build/server/chunks/chunks/DecisionCard.js-u1VQ9s_v.js +350 -0
- package/build/server/chunks/chunks/DictateTextarea.js-BlEnOzcN.js +85 -0
- package/build/server/chunks/chunks/EtaLine.js-Pa4_VV6V.js +79 -0
- package/build/server/chunks/chunks/Icon.js-D7CY3joB.js +129 -0
- package/build/server/chunks/chunks/InsightsNav.js-BlxFBJfj.js +22 -0
- package/build/server/chunks/chunks/MicButton.js-BZSQAyuM.js +336 -0
- package/build/server/chunks/chunks/QuestionList.js-DglKezUe.js +259 -0
- package/build/server/chunks/chunks/SlotContent.js-YqZXXtRz.js +1977 -0
- package/build/server/chunks/chunks/StageTrack.js-BaorW-yk.js +59 -0
- package/build/server/chunks/chunks/TimeBar.js-k38rc7ZI.js +32 -0
- package/build/server/chunks/chunks/TimeLegend.js-BQVvgsvs.js +29 -0
- package/build/server/chunks/chunks/access.js-CS2pJasF.js +816 -0
- package/build/server/chunks/chunks/anchor.js-ByXDBfbi.js +20 -0
- package/build/server/chunks/chunks/arrow-down.js-DXDJc9EE.js +18 -0
- package/build/server/chunks/chunks/arrow-left.js-6Yey35CE.js +18 -0
- package/build/server/chunks/chunks/arrow-right.js-CfbPWRqu.js +18 -0
- package/build/server/chunks/chunks/arrow-up.js-AhghNbhW.js +18 -0
- package/build/server/chunks/chunks/bell.js-CAlv92RY.js +143 -0
- package/build/server/chunks/chunks/blocks.js-BL9jLCe-.js +710 -0
- package/build/server/chunks/chunks/buildlog.js-BCKtSKOt.js +55 -0
- package/build/server/chunks/chunks/bus.svelte.js-DRTptEhF.js +9 -0
- package/build/server/chunks/chunks/button.js-HeBqLheH.js +7311 -0
- package/build/server/chunks/chunks/chat.svelte.js-Cgdbtjbw.js +537 -0
- package/build/server/chunks/chunks/check.js-bmUhmMEz.js +15 -0
- package/build/server/chunks/chunks/checks.js-BnIxIaus.js +175 -0
- package/build/server/chunks/chunks/chevron-down.js-D75hVSIe.js +15 -0
- package/build/server/chunks/chunks/chevron-right.js-yhLg_GaH.js +15 -0
- package/build/server/chunks/chunks/circle-dashed.js-Bm3gZCXK.js +24 -0
- package/build/server/chunks/chunks/client.js-BUNengrw.js +24 -0
- package/build/server/chunks/chunks/clock.js-D7JTvRbC.js +18 -0
- package/build/server/chunks/chunks/compass.js-Tq6uiG8I.js +23 -0
- package/build/server/chunks/chunks/detail.js-CSjOmiVi.js +133 -0
- package/build/server/chunks/chunks/exports.js-BZBK1HC9.js +161 -0
- package/build/server/chunks/chunks/external-link.js-WxVF0xXO.js +24 -0
- package/build/server/chunks/chunks/file-text.js-CAo3vdqd.js +26 -0
- package/build/server/chunks/chunks/format.js-D3lWEg6U.js +70 -0
- package/build/server/chunks/chunks/gauge.js-Dw9bgE72.js +35 -0
- package/build/server/chunks/chunks/git-pull-request.js-Cx1w8BQr.js +20 -0
- package/build/server/chunks/chunks/hammer.js-fp_Kidfj.js +24 -0
- package/build/server/chunks/chunks/hand.js-xkYPYJZj.js +37 -0
- package/build/server/chunks/chunks/harbour.js-xu7EfIHk.js +113 -0
- package/build/server/chunks/chunks/http.js-TzZuOtxn.js +25 -0
- package/build/server/chunks/chunks/http2.js-Cr9xuMRL.js +26 -0
- package/build/server/chunks/chunks/inbox.js-CW2sFmx9.js +114 -0
- package/build/server/chunks/chunks/inbox.svelte.js-OoKhjjWM.js +134 -0
- package/build/server/chunks/chunks/index-server.js-CtyUzIGY.js +17 -0
- package/build/server/chunks/chunks/index-server2.js-DMc-UvjC.js +19 -0
- package/build/server/chunks/chunks/index.js-Bn6j9diM.js +1524 -0
- package/build/server/chunks/chunks/index2.js-CXaRTuov.js +46 -0
- package/build/server/chunks/chunks/insights.js-CzzfyHGp.js +100 -0
- package/build/server/chunks/chunks/internal.js-Co-6PAQm.js +146 -0
- package/build/server/chunks/chunks/keys.js-CdtCzv-v.js +20 -0
- package/build/server/chunks/chunks/live.svelte.js-BRUTNc9D.js +196 -0
- package/build/server/chunks/chunks/loader-circle.js-IYRaUYWq.js +16 -0
- package/build/server/chunks/chunks/message-circle-question-mark.js-DwrMi0ty.js +25 -0
- package/build/server/chunks/chunks/message-square-text.js-N5uEmy8L.js +25 -0
- package/build/server/chunks/chunks/message-square.js-Hp-6BHgG.js +22 -0
- package/build/server/chunks/chunks/messages.js-CFyGKoqq.js +4 -0
- package/build/server/chunks/chunks/minus.js-bsfnwE-h.js +15 -0
- package/build/server/chunks/chunks/monitor-play.js-B7qbbPH6.js +28 -0
- package/build/server/chunks/chunks/passage-meta.js-uvNUyJkg.js +232 -0
- package/build/server/chunks/chunks/plain.js-Dc97sYaJ.js +101 -0
- package/build/server/chunks/chunks/preview.js-CVD-Kwks.js +68 -0
- package/build/server/chunks/chunks/prreview.js-C5XxDIu2.js +85 -0
- package/build/server/chunks/chunks/root.js-CQzYN4Pu.js +3105 -0
- package/build/server/chunks/chunks/runtime.js-C0n924wq.js +13280 -0
- package/build/server/chunks/chunks/scale.js-vP4G0lZM.js +21 -0
- package/build/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
- package/build/server/chunks/chunks/shield-check.js-PJLnCKD9.js +23 -0
- package/build/server/chunks/chunks/slots.svelte.js-0Ejhe-hS.js +34 -0
- package/build/server/chunks/chunks/spec.js-B0yI1XqG.js +307 -0
- package/build/server/chunks/chunks/split.js-BsCU24rQ.js +20 -0
- package/build/server/chunks/chunks/square-terminal.js-D5Z4Sl2-.js +47 -0
- package/build/server/chunks/chunks/tone.js-r2qFVrZC.js +30 -0
- package/build/server/chunks/chunks/trash.js-DYFbRevY.js +46 -0
- package/build/server/chunks/chunks/triangle-alert.js-DuE40HSU.js +38 -0
- package/build/server/chunks/chunks/utils.js-DTSGDHlH.js +2956 -0
- package/build/server/chunks/chunks/utils2.js-BQzn9ikS.js +38 -0
- package/build/server/chunks/chunks/view.js-BtcLmKUY.js +76 -0
- package/build/server/chunks/chunks/view2.js-BdUXqNlY.js +87 -0
- package/build/server/chunks/chunks/views.js-B0wP-tuB.js +137 -0
- package/build/server/chunks/chunks/waypoints.js-D3HN7bje.js +67 -0
- package/build/server/chunks/chunks/x.js-tlds9Ooz.js +18 -0
- package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-DNHG661Q.js +93 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-XBUQePMq.js +74 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-D1tzpRWy.js +110 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-DqhQUZUA.js +42 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-LsZer0Bi.js +35 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js-DQob0XkJ.js +57 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-DgFjtYYL.js +45 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-DOoA4rRW.js +35 -0
- package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-DZQsFY87.js +27 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-DuSzTlq5.js +27 -0
- package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-C15XwPXH.js +51 -0
- package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js--gavJO4f.js +27 -0
- package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-CsTy_jT6.js +27 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-BWOcGtOU.js +32 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-Kjwbc2wm.js +41 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-BTIb8CUb.js +53 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-Vh52yDJ9.js +40 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-LJDJLrpB.js +63 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-CdDBYH6K.js +46 -0
- package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-DoElFmWK.js +46 -0
- package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-KiiPnPLF.js +35 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/_server.ts.js-LMXTPr04.js +59 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/build-request/_server.ts.js-bqjJGIjt.js +47 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_comment_/_server.ts.js-DD1qQE9w.js +36 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_server.ts.js-Bby1xkpH.js +57 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_name_/_server.ts.js-CPX8OLQa.js +49 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_server.ts.js-BjBV4SVl.js +55 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/sent/_server.ts.js-BAqm0IW0.js +36 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/turn/_server.ts.js-CNFIHA70.js +82 -0
- package/build/server/chunks/entries/endpoints/api/specs/_server.ts.js-Bix9PKKr.js +40 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-CT7cLDQU.js +32 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-zCsm8UJT.js +51 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-ccyEPbua.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-eZPQtK6T.js +84 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-CW76hSLW.js +102 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/_server.ts.js-Cjuig1dr.js +34 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/ask/_server.ts.js-C04r1OFS.js +40 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/check/_server.ts.js-Ca5VNJtJ.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/guide/_server.ts.js-BKLIKSUM.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/runs/_run_/stop/_server.ts.js-C-D9zXgK.js +32 -0
- package/build/server/chunks/entries/fallbacks/error.svelte.js-DlN_tCrh.js +15 -0
- package/build/server/chunks/entries/hooks.server.js-Cgq1_RNe.js +40 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-B7EWMhm1.js +20 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-BJuZaosz.js +10454 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-CrjekE3C.js +16 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-BI4c5H0n.js +3699 -0
- package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-Olm_zS-k.js +11 -0
- package/build/server/chunks/entries/pages/decisions/_page.svelte.js-ClTz3O_K.js +167 -0
- package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-CVhhNUGy.js +20 -0
- package/build/server/chunks/entries/pages/harbour/_page.svelte.js-43FRNSVK.js +1346 -0
- package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-Bv8GukD1.js +11 -0
- package/build/server/chunks/entries/pages/headroom/_page.svelte.js-zmKQdAwy.js +135 -0
- package/build/server/chunks/entries/pages/inbox/_page.svelte.js-wTvAFPNM.js +175 -0
- package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-BJRmRxez.js +15 -0
- package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DfAqJJ3i.js +55 -0
- package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-DawJ61h-.js +15 -0
- package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-B472Pugu.js +66 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-Cm-4qkeb.js +14 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-CWjEArXY.js +394 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-DWNW8L5o.js +15 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-iHacn81K.js +1859 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BVDM5Frg.js +37 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-B_NQ-Wg3.js +270 -0
- package/build/server/chunks/entries/pages/spec/_page.server.ts.js-B3atEUDm.js +31 -0
- package/build/server/chunks/entries/pages/spec/_page.svelte.js-BJjweG9u.js +1561 -0
- package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-BDQIO7Ft.js +25 -0
- package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-Dr2wwDJG.js +2063 -0
- package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-Bw-3fcQ6.js +24 -0
- package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.svelte.js-DOyZ1QzI.js +145 -0
- package/build/server/chunks/entries/pages/tasks/_id_/review/_page.server.ts.js-CJek9uLa.js +15 -0
- package/build/server/chunks/entries/pages/tasks/_id_/review/_page.svelte.js-BDaRELgE.js +692 -0
- package/build/server/chunks/entries/pages/time/_page.server.ts.js-An6F-Ydg.js +11 -0
- package/build/server/chunks/entries/pages/time/_page.svelte.js-CSXGxvVs.js +107 -0
- package/build/server/chunks/handler-BnRz5A8m.js +1474 -0
- package/build/server/chunks/index.js-C8djlQGs.js +4296 -0
- package/build/server/chunks/manifest.js-YAglwkb0.js +434 -0
- package/build/server/chunks/nodes/0.js-lkzICUiD.js +32 -0
- package/build/server/chunks/nodes/1.js-BJHI215Q.js +9 -0
- package/build/server/chunks/nodes/10.js-BWB-fD67.js +33 -0
- package/build/server/chunks/nodes/11.js-DWkXu85W.js +33 -0
- package/build/server/chunks/nodes/12.js-CKTx5eRx.js +37 -0
- package/build/server/chunks/nodes/13.js-C9YUj8Wf.js +33 -0
- package/build/server/chunks/nodes/14.js-CvfRHrCy.js +33 -0
- package/build/server/chunks/nodes/15.js-D_eEoMQb.js +33 -0
- package/build/server/chunks/nodes/16.js-BQhgpvij.js +32 -0
- package/build/server/chunks/nodes/2.js-C-3t-e-a.js +32 -0
- package/build/server/chunks/nodes/3.js-DgwKYi6C.js +32 -0
- package/build/server/chunks/nodes/4.js-DRDQ1cZ6.js +34 -0
- package/build/server/chunks/nodes/5.js-Bn5aoN6C.js +32 -0
- package/build/server/chunks/nodes/6.js-lazTWxVv.js +9 -0
- package/build/server/chunks/nodes/7.js-PUjlFfxr.js +32 -0
- package/build/server/chunks/nodes/8.js-DYPhaWV-.js +34 -0
- package/build/server/chunks/nodes/9.js-C2q_Jaiu.js +32 -0
- package/build/shims.js +33 -0
- package/dist/cli.js +534 -0
- package/package.json +96 -5
|
@@ -0,0 +1,14 @@
|
|
|
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??""}
|
|
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
|
+
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 [&: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
|
+
${ie??""}
|
|
5
|
+
${ve??""}: ${i??""}`)},[()=>E(e(l).source),()=>pt(e(l).rel),()=>E(e(l).target),()=>Fe[e(l).mark].label.toLowerCase()]),c(m,M)});var te=a(We);Ie(te,17,()=>t.layout.nodes,m=>m.id,(m,l)=>{const Q=C(()=>e(l).kind==="harbour"?vt:Yt(t.icons[e(l).exhibit?.type??""])),M=C(()=>e(U)[e(l).id]??[]),O=C(()=>e(l).exhibit?.surveyed??null),D=C(()=>$t(e(O),t.now));var L=is(),F=d(L),K=a(F);{let k=C(()=>(e(l).h-16)/2),j=C(()=>e(l).kind==="harbour"?"text-sea":"text-muted-foreground");et(K,()=>e(Q),(N,R)=>{R(N,{x:"11",get y(){return e(k)},size:16,get class(){return e(j)},"aria-hidden":"true"})})}var ae=a(K),ie=g(ae,!0),ve=a(ae),i=g(ve,!0),z=a(ve);{var Z=k=>{var j=rs(),N=d(j,!0),R=a(N),x=g(R);n(j),f(()=>{y(j,"x",e(l).w-9),y(j,"opacity",e(D)==="old"?.45:.9),v(N,e(O)),v(x,`Surveyed ${e(O)??""}${e(D)==="old"?", over six months ago; it may have changed since.":": when evidence for this was last observed."}`)}),c(k,j)};$(z,k=>{e(O)&&k(Z)})}var J=a(z);{var ne=k=>{var j=ss(),N=d(j),R=g(N),x=a(N);vt(x,{size:11,class:"text-sea/70","aria-hidden":"true"}),n(j),f(w=>{y(j,"transform",`translate(${e(l).w-20},6)`),v(R,`Runs in ${w??""}`)},[()=>e(A)[e(l).id].join(", ")]),c(k,j)};$(J,k=>{e(A)[e(l).id]&&k(ne)})}var W=a(J);{var u=k=>{var j=os(),N=a(d(j));mt(N,{x:"3",y:"3",size:12,class:"text-background","aria-hidden":"true"});var R=a(N);{var x=w=>{var B=ns(),le=g(B,!0);f(()=>v(le,e(M).length)),c(w,B)};$(R,w=>{e(M).length>1&&w(x)})}n(j),c(k,j)};$(W,k=>{e(M).length&&k(u)})}n(L),f((k,j,N,R)=>{y(L,"transform",`translate(${e(l).x??""},${e(l).y??""})`),y(L,"aria-pressed",t.selected===e(l).id),y(L,"aria-label",`${e(l).exhibit?.title??e(l).id??""}, ${k??""}${e(M).length?`, ${e(M).length} ${e(M).length===1?"task":"tasks"} under way`:""}`),y(L,"opacity",j),y(F,"width",e(l).w),y(F,"height",e(l).h),Oe(F,0,Ut(e(l).kind==="ghost"?"fill-transparent stroke-muted-foreground/60":t.selected===e(l).id?"fill-card stroke-sea":"fill-card stroke-border hover:stroke-muted-foreground")),y(F,"stroke-width",t.selected===e(l).id?2:1.2),y(F,"stroke-dasharray",e(l).kind==="ghost"?"3 3":void 0),v(ie,N),v(i,R)},[()=>T(e(l)),()=>I(e(l).id)?.3:1,()=>G(e(l).exhibit?.title??e(l).id,19),()=>G(T(e(l)),e(O)?13:24)]),Te("click",L,()=>t.onselect(t.selected===e(l).id?null:e(l).id)),Te("keydown",L,k=>Y(k,e(l).id)),c(m,L)}),n(b),f((m,l)=>{y(b,"viewBox",`0 0 ${t.layout.width??""} ${t.layout.height??""}`),y(b,"width",m),y(b,"height",l),y(b,"aria-label",`Chart of the system: ${t.layout.nodes.length??""} places, ${t.layout.edges.length??""} routes`),y(q,"id",h),y(oe,"id",_)},[()=>Math.round(t.layout.width*o()),()=>Math.round(t.layout.height*o())]),c(s,b),Be()}nt(["click","keydown"]);var Wt=p('<p class="text-muted-foreground"> </p>'),cs=p('<dt class="text-muted-foreground">Owner</dt> <dd class="inline-flex items-center gap-1"><!> </dd>',1),us=p('<dt class="text-muted-foreground">Surveyed</dt> <dd> </dd>',1),vs=p('<dt class="text-muted-foreground"> </dt> <dd class="break-words"> </dd>',1),ps=p('<dt class="text-muted-foreground">Tags</dt> <dd> </dd>',1),hs=p('<!> <dl class="grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs"><!> <dt class="text-muted-foreground">Confidence</dt> <dd> </dd> <!> <!> <!></dl>',1),fs=p('<li class="flex items-start gap-1.5"><!> <a class="hover:underline"> </a> <span class="text-muted-foreground"> </span></li>'),gs=p('<section><h4 class="mb-1.5 text-xs font-medium text-muted-foreground">Under way here</h4> <ul class="space-y-1"></ul></section>'),ms=p('<li class="flex items-start gap-2"><span class="mt-0.5 grid size-4 shrink-0 place-items-center rounded-full border border-warning/70 text-xs font-semibold text-warning"> </span> <button class="text-left hover:underline"> </button></li>'),xs=p('<section><h4 class="mb-1.5 text-xs font-medium text-muted-foreground">Restricted waters</h4> <ul class="space-y-1"></ul></section>'),_s=p('<span class="ml-1 text-xs text-muted-foreground">superseded</span>'),bs=p("<li><button> </button><!></li>"),ws=p('<section><h4 class="mb-1.5 text-xs font-medium text-muted-foreground">Notices to mariners</h4> <ul class="space-y-1"></ul></section>'),ys=p('<span class="text-muted-foreground"> </span> <button class="hover:underline"> </button>',1),ks=p('<button class="hover:underline"> </button> <span class="text-muted-foreground"> </span>',1),$s=p('<li class="flex flex-wrap items-baseline gap-x-1.5"><!> <span class="text-xs text-muted-foreground"> </span></li>'),Ms=p('<section><h4 class="mb-1.5 text-xs font-medium text-muted-foreground">Routes</h4> <ul class="space-y-1"></ul></section>'),zs=p('<span class="ml-1 text-muted-foreground"> </span>'),Ss=p('<p class="font-mono break-words text-muted-foreground"> </p>'),Is=p('<p class="text-muted-foreground italic"> </p>'),Cs=p('<li class="text-xs"><p><span class="font-medium"> </span><!></p> <!> <!> <!></li>'),As=p('<ul class="space-y-2.5"></ul>'),Ds=p('<p class="text-xs text-muted-foreground">No evidence recorded. The docket states this without an observation behind it.</p>'),Ls=p('<p class="font-mono text-xs break-words text-muted-foreground"> </p>'),Rs=p('<div class="space-y-5 text-sm"><div class="flex items-start gap-2.5"><!> <div class="min-w-0 flex-1"><h3 class="leading-snug font-semibold"> </h3> <p class="text-xs text-muted-foreground"> <span class="font-mono"> </span></p></div> <button class="rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Close"><!></button></div> <!> <!> <!> <!> <!> <section><h4 class="mb-1.5 text-xs font-medium text-muted-foreground">Evidence</h4> <!></section> <!></div>');function Ws(s,t){Ve(t,!0);const r=C(()=>new Map(t.graph.exhibits.map(u=>[u.id,u]))),o=C(()=>e(r).get(t.id)??null),h=u=>e(r).get(u)?.title??u,_=C(()=>Yt(t.icons[e(o)?.type??""])),U=C(()=>t.graph.links.filter(u=>u.source===t.id&&u.rel!=="owned_by"&&u.rel!=="applies_to")),I=C(()=>t.graph.links.filter(u=>u.target===t.id&&u.rel!=="owned_by"&&u.rel!=="applies_to")),A=C(()=>[...e(U).map(u=>({l:u,other:u.target,dir:"out"})),...e(I).map(u=>({l:u,other:u.source,dir:"in"}))]),P=C(()=>t.layout.restrictions.filter(u=>u.targets.includes(t.id))),E=C(()=>t.layout.notices.filter(u=>u.appliesTo.includes(t.id))),G=C(()=>t.vessels.filter(u=>u.touched.includes(t.id))),T=C(()=>[...(e(o)?.evidence??[]).map(u=>({e:u,about:null})),...e(U).flatMap(u=>u.evidence.map(k=>({e:k,about:`${pt(u.rel)} ${h(u.target)}`})))]),Y=u=>[u.path?`${u.path}${u.lines?`:${u.lines}`:""}`:null,u.symbol,u.key].filter(Boolean).join(" · ");var b=Rs(),S=d(b),q=d(S);et(q,()=>e(_),(u,k)=>{k(u,{class:"mt-0.5 size-4 shrink-0 text-muted-foreground","aria-hidden":"true"})});var oe=a(q,2),se=d(oe),ue=g(se,!0),Ce=a(se,2),Le=d(Ce),We=a(Le),te=g(We);n(Ce),n(oe);var m=a(oe,2),l=d(m);Ma(l,{class:"size-4"}),n(m),n(S);var Q=a(S,2);{var M=u=>{var k=hs(),j=Se(k);{var N=H=>{var re=Wt(),fe=g(re,!0);f(()=>v(fe,e(o).summary)),c(H,re)};$(j,H=>{e(o).summary&&H(N)})}var R=a(j,2),x=d(R);{var w=H=>{var re=cs(),fe=a(Se(re),2),_e=d(fe);_t(_e,{class:"size-3 text-sea","aria-hidden":"true"});var he=a(_e,1,!0);n(fe),f(de=>v(he,de),[()=>h(e(o).owner)]),c(H,re)};$(x,H=>{e(o).owner&&H(w)})}var B=a(x,4),le=g(B,!0),ge=a(B,2);{var me=H=>{var re=us(),fe=a(Se(re),2),_e=g(fe);f((he,de)=>{Oe(fe,1,he),v(_e,`${e(o).surveyed??""}${de??""}`)},[()=>Ut($t(e(o).surveyed,t.now)==="old"?"text-warning":""),()=>$t(e(o).surveyed,t.now)==="old"?" (over six months ago)":""]),c(H,re)};$(ge,H=>{e(o).surveyed&&H(me)})}var X=a(ge,2);Ie(X,17,()=>e(o).attributes,H=>H.key,(H,re)=>{var fe=vs(),_e=Se(fe),he=g(_e,!0),de=a(_e,2),Ae=g(de,!0);f(()=>{v(he,e(re).key),v(Ae,e(re).value)}),c(H,fe)});var pe=a(X,2);{var V=H=>{var re=ps(),fe=a(Se(re),2),_e=g(fe,!0);f(he=>v(_e,he),[()=>e(o).tags.join(", ")]),c(H,re)};$(pe,H=>{e(o).tags.length&&H(V)})}n(R),f(H=>v(le,H),[()=>Yr(e(o).confidence,e(o).basis)]),c(u,k)};$(Q,u=>{e(o)&&u(M)})}var O=a(Q,2);{var D=u=>{var k=gs(),j=a(d(k),2);Ie(j,21,()=>e(G),N=>N.taskId,(N,R)=>{var x=fs(),w=d(x);mt(w,{class:"mt-0.5 size-3.5 shrink-0 text-sea","aria-hidden":"true"});var B=a(w,2),le=g(B,!0),ge=a(B,2),me=g(ge);n(x),f(X=>{y(B,"href",`/tasks/${X??""}`),v(le,e(R).title),v(me,`· ${e(R).step??""}`)},[()=>encodeURIComponent(e(R).taskId)]),c(N,x)}),n(j),n(k),c(u,k)};$(O,u=>{e(G).length&&u(D)})}var L=a(O,2);{var F=u=>{var k=xs(),j=a(d(k),2);Ie(j,21,()=>e(P),N=>N.id,(N,R)=>{var x=ms(),w=d(x),B=g(w,!0),le=a(w,2),ge=g(le,!0);n(x),f(()=>{v(B,e(R).letter),v(ge,e(R).title)}),Te("click",le,()=>t.onselect(e(R).id)),c(N,x)}),n(j),n(k),c(u,k)};$(L,u=>{e(P).length&&u(F)})}var K=a(L,2);{var ae=u=>{var k=ws(),j=a(d(k),2);Ie(j,21,()=>e(E),N=>N.exhibit.id,(N,R)=>{var x=bs(),w=d(x),B=g(w,!0),le=a(w);{var ge=me=>{var X=_s();c(me,X)};$(le,me=>{e(R).superseded&&me(ge)})}n(x),f(()=>{Oe(w,1,`text-left hover:underline ${e(R).superseded?"text-muted-foreground line-through":""}`),v(B,e(R).exhibit.title)}),Te("click",w,()=>t.onselect(e(R).exhibit.id)),c(N,x)}),n(j),n(k),c(u,k)};$(K,u=>{e(E).length&&u(ae)})}var ie=a(K,2);{var ve=u=>{var k=Ms(),j=a(d(k),2);Ie(j,21,()=>e(A),st,(N,R)=>{var x=$s(),w=d(x);{var B=X=>{var pe=ys(),V=Se(pe),H=g(V,!0),re=a(V,2),fe=g(re,!0);f((_e,he)=>{v(H,_e),v(fe,he)},[()=>pt(e(R).l.rel),()=>h(e(R).other)]),Te("click",re,()=>t.onselect(e(R).other)),c(X,pe)},le=X=>{var pe=ks(),V=Se(pe),H=g(V,!0),re=a(V,2),fe=g(re);f((_e,he)=>{v(H,_e),v(fe,`${he??""} this`)},[()=>h(e(R).other),()=>pt(e(R).l.rel)]),Te("click",V,()=>t.onselect(e(R).other)),c(X,pe)};$(w,X=>{e(R).dir==="out"?X(B):X(le,-1)})}var ge=a(w,2),me=g(ge);n(x),f(X=>{y(ge,"title",Fe[e(R).l.mark].means),v(me,`${X??""}${Fe[e(R).l.mark].short?` (${Fe[e(R).l.mark].short})`:""}`)},[()=>Fe[e(R).l.mark].label.toLowerCase()]),c(N,x)}),n(j),n(k),c(u,k)};$(ie,u=>{(e(U).length||e(I).length)&&u(ve)})}var i=a(ie,2),z=a(d(i),2);{var Z=u=>{var k=As();Ie(k,21,()=>e(T),st,(j,N)=>{let R=()=>e(N).e,x=()=>e(N).about;var w=Cs(),B=d(w),le=d(B),ge=g(le,!0),me=a(le);{var X=de=>{var Ae=zs(),ce=g(Ae);f(()=>v(ce,`for “${x()??""}”`)),c(de,Ae)};$(me,de=>{x()&&de(X)})}n(B);var pe=a(B,2);{var V=de=>{var Ae=Ss(),ce=g(Ae,!0);f(be=>v(ce,be),[()=>Y(R())]),c(de,Ae)},H=C(()=>Y(R()));$(pe,de=>{e(H)&&de(V)})}var re=a(pe,2);{var fe=de=>{var Ae=Wt(),ce=g(Ae,!0);f(()=>v(ce,R().note)),c(de,Ae)};$(re,de=>{R().note&&de(fe)})}var _e=a(re,2);{var he=de=>{var Ae=Is(),ce=g(Ae);f(be=>v(ce,`surveyed${be??""}${R().observedBy?` by ${R().observedBy}`:""}`),[()=>R().observedAt?` ${R().observedAt.slice(0,10)}`:""]),c(de,Ae)};$(_e,de=>{(R().observedAt||R().observedBy)&&de(he)})}n(w),f(de=>v(ge,de),[()=>kt(R().source)]),c(j,w)}),n(k),c(u,k)},J=u=>{var k=Ds();c(u,k)};$(z,u=>{e(T).length?u(Z):u(J,-1)})}n(i);var ne=a(i,2);{var W=u=>{var k=Ls(),j=g(k,!0);f(()=>v(j,e(o).path)),c(u,k)};$(ne,u=>{e(o)?.path&&u(W)})}n(b),f(u=>{v(ue,e(o)?.title??t.id),v(Le,`${u??""} `),v(te,`· ${t.id??""}`)},[()=>e(o)?kt(e(o).type):"Unsurveyed: nothing in the docket describes it"]),Te("click",m,()=>t.onselect(null)),c(s,b),Be()}nt(["click"]);const Es=new Set(["depends_on","uses","deployed_to"]),Hs={nodeW:176,nodeH:56,colGap:72,rowGap:32,laneTop:40,laneX:24,laneBottom:20,laneGap:16,coastGap:64,harbourW:168,margin:12,maxColumns:8},ee=Hs,js=new Set(["owned_by","applies_to","supersedes"]),Ts=new Set(["depends_on","uses","guarded_by","reads","writes","calls"]),Et=["agent","service","repository","library","feature_flag","datasource"],Os=s=>s<26?String.fromCharCode(65+s):`${String.fromCharCode(65+Math.floor(s/26)-1)}${String.fromCharCode(65+s%26)}`;function Ht(s){const t=Et.indexOf(s);return t===-1?Et.length:t}const ct=(s,t)=>s.title.localeCompare(t.title)||s.id.localeCompare(t.id);function Ns(s){const t=new Map(s.exhibits.map(i=>[i.id,i])),r=new Set,o=new Set,h=new Set;for(const i of s.links)i.rel==="owned_by"&&r.add(i.target),i.rel==="deployed_to"&&t.has(i.target)&&h.add(i.target),i.rel==="applies_to"&&t.get(i.source)?.type!=="decision"&&o.add(i.source);for(const i of s.exhibits)i.type==="team"&&r.add(i.id),i.type==="environment"&&h.add(i.id),i.type==="constraint"&&o.add(i.id);const _=i=>!r.has(i.id)&&!h.has(i.id)&&!o.has(i.id)&&i.type!=="decision",U=s.exhibits.filter(_),I=new Set(U.map(i=>i.id)),A=new Set,P=s.links.filter(i=>js.has(i.rel)||!I.has(i.source)&&!h.has(i.source)?!1:i.dangling?(A.add(i.target),!0):I.has(i.target)||h.has(i.target)),E=new Map;for(const i of[...I,...A])E.set(i,0);const G=P.filter(i=>Ts.has(i.rel)&&E.has(i.source)&&E.has(i.target));for(let i=0;i<E.size;i++){let z=!1;for(const Z of G){const J=Math.min(E.get(Z.source)+1,ee.maxColumns-1);J>E.get(Z.target)&&(E.set(Z.target,J),z=!0)}if(!z)break}const T=Math.max(1,...[...E.values()].map(i=>i+1)),Y=i=>{const z=t.get(i)?.owner??null;return z&&r.has(z)?z:null},b=new Map;for(const i of[...I,...A]){const z=A.has(i)?null:Y(i);b.set(z,[...b.get(z)??[],i])}const S=i=>i===null?"No owner on record":t.get(i)?.title??i,q=[...b.keys()].sort((i,z)=>i===null?1:z===null?-1:b.get(z).length-b.get(i).length||S(i).localeCompare(S(z))),oe=ee.laneX*2+T*ee.nodeW+(T-1)*ee.colGap,se=[],ue=[];let Ce=ee.margin;const Le=i=>{const z=t.get(i);return{type:z?.type??"~",title:z?.title??i,id:i}},We=q.map(i=>{const z=Array.from({length:T},()=>[]);for(const Z of b.get(i))z[E.get(Z)].push(Z);for(const Z of z)Z.sort((J,ne)=>{const W=Le(J),u=Le(ne);return Ht(W.type)-Ht(u.type)||W.type.localeCompare(u.type)||ct(W,u)});return z}),te=[];for(const i of We){const z=Math.max(1,...i.map(J=>J.length));te.push(Ce);const Z=ee.laneTop+z*ee.nodeH+(z-1)*ee.rowGap+ee.laneBottom;ue.push({id:q[te.length-1],title:S(q[te.length-1]),x:ee.margin,y:Ce,w:oe,h:Z}),Ce+=Z+ee.laneGap}Us(We,te,P),We.forEach((i,z)=>{i.forEach((Z,J)=>{Z.forEach((ne,W)=>{se.push({id:ne,kind:A.has(ne)?"ghost":"landmark",x:ee.margin+ee.laneX+J*(ee.nodeW+ee.colGap),y:te[z]+ee.laneTop+W*(ee.nodeH+ee.rowGap),w:ee.nodeW,h:ee.nodeH,exhibit:t.get(ne)??null})})})});let m=ue.length?Ce-ee.laneGap+ee.margin:ee.margin*2;const l=[...h].map(i=>t.get(i)).sort((i,z)=>{const Z=J=>J.attributes.some(ne=>ne.key==="environmentType"&&ne.value==="production")||/production|prod$/i.test(J.id)?0:1;return Z(i)-Z(z)||ct(i,z)});let Q=null,M=ee.margin*2+(ue.length?oe:0);if(l.length){const i=ee.margin+(ue.length?oe+ee.coastGap:0),z=l.length*ee.nodeH+(l.length-1)*ee.rowGap,Z=Math.max(m-ee.margin*2,ee.laneTop+z+ee.laneBottom);Q={x:i,y:ee.margin,w:ee.harbourW,h:Z},l.forEach((J,ne)=>{se.push({id:J.id,kind:"harbour",x:i+(ee.harbourW-ee.nodeW)/2,y:ee.margin+ee.laneTop+ne*(ee.nodeH+ee.rowGap),w:ee.nodeW,h:ee.nodeH,exhibit:J})}),M=i+ee.harbourW+ee.margin,m=Math.max(m,ee.margin*2+Z)}const O=new Map(se.map(i=>[i.id,i])),D=[],L=new Map;for(const i of P){const z=O.get(i.source),Z=O.get(i.target);if(!z||!Z||z===Z)continue;const J=`${i.source}|${i.rel}|${i.target}`,ne=L.get(J)??0;L.set(J,ne+1),D.push({key:ne?`${J}#${ne}`:J,source:i.source,target:i.target,rel:i.rel,mark:i.mark,quiet:Z.kind==="harbour"&&z.kind!=="harbour",...Gs(z,Z)})}const F=[...o].map(i=>({id:i,title:t.get(i)?.title??i,targets:s.links.filter(z=>z.rel==="applies_to"&&z.source===i).map(z=>z.target)})).sort(ct).map((i,z)=>({...i,letter:Os(z)})),K=[],ae=new Map;for(const i of F)for(const z of new Set(i.targets)){const Z=O.get(z);if(!Z)continue;const J=ae.get(z)??0;ae.set(z,J+1);const ne=5+J*5;K.push({restriction:i.id,letter:i.letter,node:z,x:Z.x-ne,y:Z.y-ne,w:Z.w+ne*2,h:Z.h+ne*2})}const ie=new Set(s.links.filter(i=>i.rel==="supersedes").map(i=>i.target)),ve=s.exhibits.filter(i=>i.type==="decision").map(i=>({exhibit:i,superseded:ie.has(i.id),appliesTo:s.links.filter(z=>z.rel==="applies_to"&&z.source===i.id).map(z=>z.target)})).sort((i,z)=>Number(i.superseded)-Number(z.superseded)||ct(i.exhibit,z.exhibit));return{width:M,height:m,lanes:ue,nodes:se,edges:D,halos:K,restrictions:F,notices:ve,coast:Q}}function Us(s,t,r){const o=new Map;for(const I of r)o.set(I.source,[...o.get(I.source)??[],I.target]),o.set(I.target,[...o.get(I.target)??[],I.source]);const h=new Map,_=()=>{s.forEach((I,A)=>I.forEach((P,E)=>P.forEach((G,T)=>h.set(G,{lane:A,col:E,y:t[A]+T*(ee.nodeH+ee.rowGap)}))))},U=s[0]?.length??0;for(let I=0;I<4;I++){const A=I%2===0,P=Array.from({length:U},(E,G)=>A?G:U-1-G);for(const E of P){_();for(const G of s){const T=G[E];if(T.length<2)continue;const Y=new Map;T.forEach(S=>{const q=h.get(S);if(!o.has(S))return Y.set(S,Number.MAX_SAFE_INTEGER);const oe=o.get(S).map(se=>h.get(se)).filter(se=>se&&se.lane===q.lane&&(A?se.col<E:se.col>E)).map(se=>se.y);Y.set(S,oe.length?oe.reduce((se,ue)=>se+ue,0)/oe.length:q.y)});const b=new Map(T.map((S,q)=>[S,q]));T.sort((S,q)=>Y.get(S)-Y.get(q)||b.get(S)-b.get(q))}}}}function Gs(s,t){const r=s.y+s.h/2,o=t.y+t.h/2;let h,_,U,I;if(t.x>=s.x+s.w){h=[s.x+s.w,r],I=[t.x,o];const G=(I[0]-h[0])/2;_=[h[0]+G,r],U=[I[0]-G,o]}else if(t.x+t.w<=s.x){h=[s.x,r],I=[t.x+t.w,o];const G=(h[0]-I[0])/2;_=[h[0]-G,r],U=[I[0]+G,o]}else{const G=Math.max(s.x+s.w,t.x+t.w),T=36+Math.min(48,Math.abs(o-r)/6);h=[s.x+s.w,r],I=[t.x+t.w,o],_=[G+T,r],U=[G+T,o]}const A=G=>Math.round(G*10)/10,P=`M${A(h[0])},${A(h[1])} C${A(_[0])},${A(_[1])} ${A(U[0])},${A(U[1])} ${A(I[0])},${A(I[1])}`,E={x:A((h[0]+3*_[0]+3*U[0]+I[0])/8),y:A((h[1]+3*_[1]+3*U[1]+I[1])/8)};return{d:P,mid:E}}var Vs=p(`<div class="m-4 rounded-xl border border-dashed px-6 py-10 text-center sm:m-6"><p class="font-medium">This project keeps no docket</p> <p class="mx-auto mt-1 max-w-md text-sm text-muted-foreground">A docket is a set of Markdown files under <span class="font-mono">.docket/</span> that
|
|
6
|
+
describes the system: its services, data, owners and the rules that apply. Run <span class="font-mono">docket init</span> in the project to start one, and the Chart draws it here.</p></div>`),Bs=p('<span class="inline-flex items-baseline gap-1 text-warning"><!> </span>'),Ps=p('<li class="flex flex-wrap items-baseline gap-x-1.5"><button><!> </button> <span class="text-muted-foreground"> </span> <!> <a class="text-xs text-muted-foreground hover:text-foreground hover:underline">Open task</a></li>'),Fs=p('<ul class="space-y-2 text-sm"></ul>'),qs=p('<p class="text-sm text-muted-foreground">No task under way touches anything on the chart.</p>'),Xs=p('<p class="mt-1.5 text-xs text-muted-foreground"> </p>'),Ks=p('<li class="flex items-center gap-2"><svg width="34" height="10" aria-hidden="true" class="shrink-0"><line x1="1" y1="5" x2="33" y2="5" class="stroke-muted-foreground" stroke-width="1.5" stroke-linecap="round"></line></svg> <span><span class="font-medium"> </span> </span></li>'),Ys=p('<li class="flex items-start gap-2"><span class="mt-0.5 grid size-4 shrink-0 place-items-center rounded-full border border-warning/70 text-xs font-semibold text-warning"> </span> <button class="text-left hover:underline"> </button></li>'),Zs=p('<section><h3 class="mb-2 text-xs font-medium text-muted-foreground">Restricted waters</h3> <ul class="space-y-1"></ul></section>'),Js=p('<span class="ml-1 text-xs text-muted-foreground">superseded</span>'),Qs=p("<li><button> </button><!></li>"),en=p('<section><h3 class="mb-2 text-xs font-medium text-muted-foreground">Notices to mariners</h3> <ul class="space-y-1"></ul></section>'),jt=p("<p> </p>"),tn=p('<section class="text-xs text-muted-foreground"><!> <!></section>'),an=p(`<div class="space-y-5 text-sm"><p class="text-muted-foreground">Select a landmark to see what the docket records about it.</p> <section aria-label="Vessels under way"><h3 class="mb-2 text-xs font-medium text-muted-foreground">Vessels under way</h3> <!> <!></section> <section><h3 class="mb-2 text-xs font-medium text-muted-foreground">Key</h3> <ul class="space-y-1.5 text-xs"><!> <li class="flex items-center gap-2"><span class="h-3 w-[34px] shrink-0 rounded-sm border border-dashed border-muted-foreground/60"></span> <span><span class="font-medium">Unsurveyed</span>: named, but nothing describes it</span></li> <li class="flex items-center gap-2"><!> <span><span class="font-medium">Waters</span>: whose team owns what sits there</span></li> <li class="flex items-center gap-2"><!> <span><span class="font-medium">Harbour</span>: an environment where code runs</span></li> <li class="flex items-center gap-2"><!> <span><span class="font-medium">Vessel</span>: a task under way that touches it</span></li> <li class="flex items-center gap-2"><span class="w-[34px] shrink-0 text-right text-xs text-muted-foreground italic">09-14</span> <span><span class="font-medium">Survey date</span>: when evidence was last observed;
|
|
7
|
+
faded after six months</span></li></ul></section> <!> <!> <!></div>`),rn=p('<aside class="h-full overflow-y-auto px-4 py-4 sm:px-5" aria-label="Inspector"><!></aside>'),sn=p('· <span class="tabular text-warning"> </span>',1),nn=p(`<p class="mt-1 text-xs text-muted-foreground">Drawn from <span class="font-mono break-words"> </span>, set in
|
|
8
|
+
Wheelhouse’s plugins file, not from this project’s clone.</p>`),on=p('<div class="border-t"><!></div>'),ln=p('<div><div><div class="shrink-0 border-b px-4 py-2 sm:px-6"><div class="flex flex-wrap items-baseline justify-between gap-x-6 gap-y-2"><p class="text-sm text-muted-foreground"><span class="tabular"> </span> · <span class="tabular"> </span> · <span class="tabular"> </span> <!> <!></p> <!></div> <!></div> <div><div class="flex min-h-full w-max min-w-full items-center justify-center p-4"><!></div></div></div> <!></div>');function dn(s,t){Ve(t,!0);let r=qe(t,"entry",3,null);const o=C(()=>t.data);let h=Ge(null),_=Ge(null),U=Ge(null),I=Ge(Nt(Date.now()));Mt(()=>{xe(I,Date.now(),!0)});const A=new Rr("min-width: 1024px",!1),P=.85,E=1.5,G=32;let T=Ge(0),Y=Ge(0);const b=C(()=>e(o).state==="chart"?e(o):null),S=C(()=>e(b)?Ns(e(b).graph):null),q=C(()=>e(S)&&e(T)>G&&e(Y)>G?Math.min(Math.max(Math.min((e(T)-G)/e(S).width,(e(Y)-G)/e(S).height),P),E):1),oe=C(()=>Object.fromEntries((e(b)?.graph.types??[]).map(D=>[D.name,D.icon]))),se=C(()=>e(b)?.vessels.find(D=>D.taskId===e(_))??null),ue=C(()=>{if(!e(b)||!e(S))return new Set;if(e(se)){const L=new Set(e(se).touched),F=e(b).graph.links.filter(K=>L.has(K.source)&&Es.has(K.rel)).map(K=>K.target);return new Set([...L,...F])}const D=e(S).restrictions.find(L=>L.id===e(U));if(D)return new Set(D.targets);if(e(h)){const L=e(b).graph.links.filter(F=>F.source===e(h)||F.target===e(h)).flatMap(F=>[F.source,F.target]);return new Set([e(h),...L])}return new Set}),Ce=C(()=>e(b)?.vessels.filter(D=>D.hazards.length)??[]),Le=D=>e(S)?.restrictions.find(L=>L.id===D)?.title??D,We=D=>e(b)?.graph.exhibits.find(L=>L.id===D)?.title??D,te=(D,L,F)=>`${D} ${D===1?L:F}`;function m(D){xe(h,D,!0),xe(_,null)}var l=rt();dt("keydown",_a,D=>{D.key==="Escape"&&(xe(h,null),xe(_,null))});var Q=Se(l);{var M=D=>{var L=Vs();c(D,L)},O=D=>{var L=ln();{const pe=V=>{var H=rn(),re=d(H);{var fe=he=>{Ws(he,{get id(){return e(h)},get graph(){return e(b).graph},get layout(){return e(S)},get icons(){return e(oe)},get vessels(){return e(b).vessels},get now(){return e(I)},onselect:m})},_e=he=>{var de=an(),Ae=a(d(de),2),ce=a(d(Ae),2);{var be=we=>{var ye=Fs();Ie(ye,21,()=>e(b).vessels,Ee=>Ee.taskId,(Ee,ke)=>{var He=Ps(),Re=d(He),De=d(Re);mt(De,{class:"size-3.5 shrink-0 self-center text-sea","aria-hidden":"true"});var Ue=a(De,1,!0);n(Re);var je=a(Re,2),Qe=g(je),at=a(je,2);{var yt=it=>{var lt=Bs(),Dt=d(lt);za(Dt,{class:"size-3.5 self-center","aria-hidden":"true"});var va=a(Dt);n(lt),f(pa=>v(va,`in
|
|
9
|
+
restricted waters: ${pa??""}`),[()=>e(ke).hazards.map(Le).join("; ")]),c(it,lt)};$(at,it=>{e(ke).hazards.length&&it(yt)})}var ua=a(at,2);n(He),f((it,lt)=>{Oe(Re,1,`inline-flex items-baseline gap-1.5 rounded text-left hover:underline ${e(_)===e(ke).taskId?"font-medium text-sea":""}`),y(Re,"aria-pressed",e(_)===e(ke).taskId),v(Ue,e(ke).title),v(Qe,`· ${e(ke).step??""} · touches ${it??""}`),y(ua,"href",`/tasks/${lt??""}`)},[()=>e(ke).touched.map(We).join(", "),()=>encodeURIComponent(e(ke).taskId)]),Te("click",Re,()=>{xe(_,e(_)===e(ke).taskId?null:e(ke).taskId,!0),xe(h,null)}),c(Ee,He)}),n(ye),c(we,ye)},Ne=we=>{var ye=qs();c(we,ye)};$(ce,we=>{e(b).vessels.length?we(be):we(Ne,-1)})}var Ze=a(ce,2);{var Ke=we=>{var ye=Xs(),Ee=g(ye);f(ke=>v(Ee,`${ke??""} under way
|
|
10
|
+
${e(b).unplaced===1?"touches":"touch"} nothing the docket has evidence for.`),[()=>te(e(b).unplaced,"other task","other tasks")]),c(we,ye)};$(Ze,we=>{e(b).unplaced&&e(b).vessels.length&&we(Ke)})}n(Ae);var Pe=a(Ae,2),Je=a(d(Pe),2),tt=d(Je);Ie(tt,16,()=>["charted","approximate","doubtful"],we=>we,(we,ye)=>{var Ee=Ks(),ke=d(Ee),He=g(ke),Re=a(ke,2),De=d(Re),Ue=g(De),je=a(De);n(Re),n(Ee),f(()=>{y(He,"stroke-dasharray",Zt[ye]),v(Ue,`${Fe[ye].label??""}${Fe[ye].short?` (${Fe[ye].short})`:""}`),v(je,`: ${Fe[ye].means??""}`)}),c(we,Ee)});var ot=a(tt,4),sa=d(ot);_t(sa,{class:"mx-[10px] size-3.5 shrink-0 text-sea","aria-hidden":"true"}),Ye(2),n(ot);var wt=a(ot,2),na=d(wt);vt(na,{class:"mx-[10px] size-3.5 shrink-0 text-sea","aria-hidden":"true"}),Ye(2),n(wt);var It=a(wt,2),oa=d(It);mt(oa,{class:"mx-[10px] size-3.5 shrink-0 text-sea","aria-hidden":"true"}),Ye(2),n(It),Ye(2),n(Je),n(Pe);var Ct=a(Pe,2);{var ia=we=>{var ye=Zs(),Ee=a(d(ye),2);Ie(Ee,21,()=>e(S).restrictions,ke=>ke.id,(ke,He)=>{var Re=Ys(),De=d(Re),Ue=g(De,!0),je=a(De,2),Qe=g(je,!0);n(Re),f(()=>{v(Ue,e(He).letter),v(Qe,e(He).title)}),dt("mouseenter",je,()=>xe(U,e(He).id,!0)),dt("mouseleave",je,()=>xe(U,null)),dt("focus",je,()=>xe(U,e(He).id,!0)),dt("blur",je,()=>xe(U,null)),Te("click",je,()=>m(e(He).id)),c(ke,Re)}),n(Ee),n(ye),c(we,ye)};$(Ct,we=>{e(S).restrictions.length&&we(ia)})}var At=a(Ct,2);{var la=we=>{var ye=en(),Ee=a(d(ye),2);Ie(Ee,21,()=>e(S).notices,ke=>ke.exhibit.id,(ke,He)=>{var Re=Qs(),De=d(Re),Ue=g(De,!0),je=a(De);{var Qe=at=>{var yt=Js();c(at,yt)};$(je,at=>{e(He).superseded&&at(Qe)})}n(Re),f(()=>{Oe(De,1,`text-left hover:underline ${e(He).superseded?"text-muted-foreground line-through":""}`),v(Ue,e(He).exhibit.title)}),Te("click",De,()=>m(e(He).exhibit.id)),c(ke,Re)}),n(Ee),n(ye),c(we,ye)};$(At,we=>{e(S).notices.length&&we(la)})}var da=a(At,2);{var ca=we=>{var ye=tn(),Ee=d(ye);{var ke=De=>{var Ue=jt(),je=g(Ue);f(Qe=>v(je,`Docket reports ${Qe??""} in
|
|
11
|
+
its files; what they describe is left off the chart.`),[()=>te(e(b).graph.diagnostics.errors,"problem","problems")]),c(De,Ue)};$(Ee,De=>{e(b).graph.diagnostics.errors&&De(ke)})}var He=a(Ee,2);{var Re=De=>{var Ue=jt(),je=g(Ue);f(()=>v(je,`The chart shows the first ${e(b).graph.exhibits.length??""} landmarks; open docket to
|
|
12
|
+
see them all.`)),c(De,Ue)};$(He,De=>{(e(b).graph.trimmed.exhibits||e(b).graph.trimmed.links)&&De(Re)})}n(ye),c(we,ye)};$(da,we=>{(e(b).graph.diagnostics.errors||e(b).graph.trimmed.exhibits||e(b).graph.trimmed.links)&&we(ca)})}n(de),c(he,de)};$(re,he=>{e(h)?he(fe):he(_e,-1)})}n(H),c(V,H)};var F=d(L),K=d(F),ae=d(K),ie=d(ae),ve=d(ie),i=g(ve,!0),z=a(ve,2),Z=g(z,!0),J=a(z,2),ne=g(J),W=a(J,2);{var u=V=>{var H=sn(),re=a(Se(H)),fe=g(re);f(_e=>v(fe,`${_e??""} on a course`),[()=>te(e(Ce).length,"hazard","hazards")]),c(V,H)};$(W,V=>{e(Ce).length&&V(u)})}var k=a(W,2);{var j=V=>{var H=ut();f(()=>v(H,`· surveyed ${e(b).graph.surveyed??""}`)),c(V,H)};$(k,V=>{e(b).graph.surveyed&&V(j)})}n(ie);var N=a(ie,2);{let V=C(()=>r()?.projectId??null);St(N,{plugin:"docket",service:"viewer",get project(){return e(V)}})}n(ae);var R=a(ae,2);{var x=V=>{var H=nn(),re=a(d(H)),fe=g(re,!0);Ye(),n(H),f(()=>v(fe,e(b).configuredRoot)),c(V,H)};$(R,V=>{e(b).configuredRoot&&V(x)})}n(K);var w=a(K,2),B=d(w),le=d(B);ds(le,{get layout(){return e(S)},get scale(){return e(q)},get icons(){return e(oe)},get vessels(){return e(b).vessels},get selected(){return e(h)},get highlight(){return e(ue)},get now(){return e(I)},onselect:m}),n(B),n(w),n(F);var ge=a(F,2);{var me=V=>{Er(V,{storageKey:"wheelhouse-chart-details-width",label:"Resize the details",children:(H,re)=>{pe(H)},$$slots:{default:!0}})},X=V=>{var H=on(),re=d(H);pe(re),n(H),c(V,H)};$(ge,V=>{A.current?V(me):V(X,-1)})}n(L),f((V,H,re)=>{Oe(F,1,`flex min-w-0 flex-1 flex-col ${A.current?"min-h-0":""}`),v(i,V),v(Z,H),v(ne,`${re??""} under way`),Oe(w,1,`bg-card/40 ${A.current?"min-h-0 flex-1":"h-[60vh] shrink-0"} overflow-auto`)},[()=>te(e(b).graph.exhibits.length,"landmark","landmarks"),()=>te(e(b).graph.links.length,"route","routes"),()=>te(e(b).vessels.length,"vessel","vessels")]),Lt(w,"clientWidth",V=>xe(T,V)),Lt(w,"clientHeight",V=>xe(Y,V))}f((pe,V,H)=>Oe(L,1,`flex min-h-0 flex-1 ${A.current?"":"flex-col overflow-y-auto"}`),[()=>te(e(b).graph.exhibits.length,"landmark","landmarks"),()=>te(e(b).graph.links.length,"route","routes"),()=>te(e(b).vessels.length,"vessel","vessels")]),c(D,L)};$(Q,D=>{e(o).state==="no-docket"?D(M):e(b)&&e(S)&&D(O,1)})}c(s,l),Be()}nt(["click"]);const cn={instructions:fr,skill:qt,script:Ia,preference:wr,memory:vr,settings:mr,docs:Sa,other:Xt},un={"captain-private":{icon:bt,cls:"border-hair bg-muted text-foreground"},"shared-tracked":{icon:xt,cls:"border-sea/40 bg-sea/10 text-sea"},mixed:{icon:Ca,cls:"border-warning/40 bg-warning/10 text-warning"}},vn={waiting:"border-sea bg-sea text-white dark:text-slate-950",drafting:"border-dashed border-input text-muted-foreground",approved:"border-success/40 bg-success/10 text-success",done:"border-success bg-success text-white dark:text-slate-950",declined:"border-hair text-muted-foreground"},Tt={ask_user_findings:"var(--seg-review)",decisions:"var(--sea)",blockers:"var(--warning)",captain_preferences:"var(--brass)",learnings:"var(--seg-ci)"},Jt=(s,t=56)=>s.length>t?`${s.slice(0,t-1).trimEnd()}…`:s;var pn=p('<span class="h-full border-r border-card last:border-r-0"></span>'),hn=p('<li class="flex items-center gap-1.5"><span class="size-2 shrink-0 rounded-full"></span> <span class="tabular font-medium text-foreground"> </span></li>'),fn=p('<div role="img"></div> <ul aria-hidden="true"></ul>',1);function Qt(s,t){Ve(t,!0);let r=qe(t,"compact",3,!1);const o=C(()=>[...t.mix].sort((P,E)=>E.value-P.value)),h=C(()=>e(o).reduce((P,E)=>P+E.value,0)),_=C(()=>e(o).map(P=>`${P.value} ${P.label.toLowerCase()}`).join(", "));var U=rt(),I=Se(U);{var A=P=>{var E=fn(),G=Se(E);Ie(G,21,()=>e(o),Y=>Y.key,(Y,b)=>{var S=pn();f(()=>ht(S,`width: ${e(b).value/e(h)*100}%; background: ${Tt[e(b).key]??"var(--muted-foreground)"??""}`)),c(Y,S)}),n(G);var T=a(G,2);Ie(T,21,()=>e(o),Y=>Y.key,(Y,b)=>{var S=hn(),q=d(S),oe=a(q),se=a(oe),ue=g(se,!0);n(S),f(()=>{ht(q,`background: ${Tt[e(b).key]??"var(--muted-foreground)"??""}`),v(oe,`${e(b).label??""} `),v(ue,e(b).value)}),c(Y,S)}),n(T),f(()=>{Oe(G,1,`flex overflow-hidden rounded-full bg-muted ${r()?"h-1.5":"h-2.5"}`),y(G,"aria-label",`What improve read: ${e(_)??""}`),Oe(T,1,`mt-2 flex flex-wrap gap-x-3 gap-y-1 text-muted-foreground ${r()?"text-[0.7rem]":"text-xs"}`)}),c(P,E)};$(I,P=>{e(h)>0&&P(A)})}c(s,U),Be()}var gn=p("<span><!> </span>");function ea(s,t){Ve(t,!0);const r=C(()=>t.review.due===!0?{icon:Ba,label:"Review due",cls:"border-sea bg-sea text-white dark:text-slate-950"}:t.review.due===!1?{icon:Ga,label:"No review due",cls:"border-success/40 bg-success/10 text-success"}:{icon:Fa,label:"Not scheduled",cls:"border-hair text-muted-foreground"}),o=C(()=>e(r).icon);var h=gn(),_=d(h);et(_,()=>e(o),(I,A)=>{A(I,{class:"size-3.5","aria-hidden":"true"})});var U=a(_,1,!0);n(h),f(()=>{Oe(h,1,`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-semibold whitespace-nowrap ${e(r).cls??""}`),y(h,"title",t.review.headline),v(U,e(r).label)}),c(s,h),Be()}const mn=[{id:"waiting",label:"Waiting for your call"},{id:"drafting",label:"Being drafted"},{id:"approved",label:"Approved, not applied yet"},{id:"done",label:"Applied"},{id:"declined",label:"Rejected or rolled back"}],Ot=(s,t,r=`${t}s`)=>`${s} ${s===1?t:r}`;function ta(s,t){const r=Math.max(0,(t-Date.parse(s))/1e3);return r<3600?"within the hour":r<86400?Ot(Math.floor(r/3600),"hour")+" ago":Ot(Math.floor(r/86400),"day")+" ago"}var xn=p('<span class="ml-auto flex flex-col items-end gap-0.5 pb-0.5 text-xs text-muted-foreground"><span class="flex items-center gap-1"><!> </span> <span class="flex items-center gap-1"><!> </span></span>'),_n=p('<div class="mt-3"><!></div>'),bn=p('<li class="flex items-center gap-1.5 rounded-full border border-hair px-2 py-0.5 text-xs"><!> <span class="min-w-0 flex-1 truncate"> </span> <span class="tabular shrink-0 font-semibold text-sea"> </span></li>'),wn=p('<ul class="mt-3 flex flex-col gap-1.5"></ul>'),yn=p('<p class="mt-2 flex gap-1.5 text-xs text-warning"><!><span class="line-clamp-2"> </span></p>'),kn=p('<div class="rounded-lg border bg-card p-3"><div class="flex items-center justify-between gap-2"><!> <span class="text-xs text-muted-foreground"> </span></div> <a href="/plugins/improve/improvements" class="-mx-1 mt-3 flex items-end gap-3 rounded-md px-1 py-1 hover:bg-muted/60"><span class="tabular font-display text-[2.4rem] leading-none font-medium"> </span> <span class="pb-0.5 text-sm leading-tight"> <br/><span class="text-muted-foreground">for your call</span></span> <!></a> <!> <!> <!> <a href="/plugins/improve/improvements" class="mt-3 flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground">Open Improvements<!></a></div>');function $n(s,t){Ve(t,!0);const r=C(()=>t.data),o=Date.now(),h=C(()=>e(r).proposals.filter(M=>M.waiting)),_=C(()=>e(h).filter(M=>M.visibility==="captain-private").length),U=C(()=>e(h).filter(M=>M.visibility==="shared-tracked").length);var I=kn(),A=d(I),P=d(A);ea(P,{get review(){return e(r).review}});var E=a(P,2),G=g(E,!0);n(A);var T=a(A,2),Y=d(T),b=g(Y,!0),S=a(Y,2),q=d(S,!0);Ye(2),n(S);var oe=a(S,2);{var se=M=>{var O=xn(),D=d(O),L=d(D);bt(L,{class:"size-3","aria-hidden":"true"});var F=a(L);n(D);var K=a(D,2),ae=d(K);xt(ae,{class:"size-3 text-sea","aria-hidden":"true"});var ie=a(ae);n(K),n(O),f(()=>{v(F,`${e(_)??""} private`),v(ie,`${e(U)??""} shared`)}),c(M,O)};$(oe,M=>{e(r).waiting&&M(se)})}n(T);var ue=a(T,2);{var Ce=M=>{var O=_n(),D=d(O);Qt(D,{get mix(){return e(r).evidence.mix},compact:!0}),n(O),c(M,O)};$(ue,M=>{e(r).evidence.mix.length&&M(Ce)})}var Le=a(ue,2);{var We=M=>{var O=wn();Ie(O,21,()=>e(r).evidence.patterns.slice(0,3),st,(D,L)=>{const F=C(()=>e(L).kind==="review"?Ft:gt);var K=bn(),ae=d(K);et(ae,()=>e(F),(Z,J)=>{J(Z,{class:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"})});var ie=a(ae,2),ve=g(ie,!0),i=a(ie,2),z=g(i);n(K),f(Z=>{y(K,"title",e(L).sentence),v(ve,Z),y(i,"aria-label",`${e(L).count??""} times`),v(z,`×${e(L).count??""}`)},[()=>Jt(e(L).example,64)]),c(D,K)}),n(O),c(M,O)};$(Le,M=>{e(r).evidence.patterns.length&&M(We)})}var te=a(Le,2);{var m=M=>{var O=yn(),D=d(O);Bt(D,{class:"mt-px size-3.5 shrink-0","aria-hidden":"true"});var L=a(D),F=g(L,!0);n(O),f(()=>v(F,e(r).problems[0])),c(M,O)};$(te,M=>{e(r).problems.length&&M(m)})}var l=a(te,2),Q=a(d(l));Pt(Q,{class:"size-3.5","aria-hidden":"true"}),n(l),n(I),f(M=>{v(G,M),v(b,e(r).waiting),v(q,e(r).waiting===1?"proposal waits":"proposals wait")},[()=>e(r).review.lastReviewedAt?`Last ${ta(e(r).review.lastReviewedAt,o)}`:"No review yet"]),c(s,I),Be()}function aa(s,t){return s.deepLinks?`${s.url}/proposals?p=${encodeURIComponent(t)}`:s.url}var Mn=p('<a target="_blank" rel="noreferrer" class="group rounded-sm hover:underline focus-visible:outline-2 focus-visible:outline-ring" title="Open in improve"> <!></a>'),zn=p('<button class="group cursor-pointer rounded-sm text-left hover:underline focus-visible:outline-2 focus-visible:outline-ring" title="Start improve’s review UI and open this proposal there"> <!></button>'),Sn=p('<p class="mt-1 text-xs text-warning" role="alert"> </p>'),In=p('<p class="mt-1 line-clamp-2 text-sm leading-relaxed text-muted-foreground"> </p>'),Cn=p('<a class="flex items-center gap-1 rounded-full border border-sea/40 px-2 py-0.5 font-medium text-sea hover:bg-sea/10" title="Open the decision task"><!> </a>'),An=p('<span class="flex items-center gap-1 rounded-full border border-hair px-2 py-0.5 text-muted-foreground"><!> </span>'),Dn=p('<span class="rounded-full border border-dashed border-input px-2 py-0.5 text-muted-foreground">Not filed yet</span>'),Ln=p('<p class="leading-relaxed"> </p>'),Rn=p('<code class="rounded border border-hair bg-muted/60 px-1.5 py-0.5 font-mono text-xs"> </code>'),Wn=p('<div class="flex flex-wrap gap-1.5"></div>'),En=p('<span class="text-muted-foreground"> </span>'),Hn=p('<p class="text-xs leading-relaxed"><span class="font-semibold">Why:</span> <!></p>'),jn=p('<li class="flex gap-3 px-3 py-2"><span class="w-28 shrink-0 text-muted-foreground"> </span> <span class="min-w-0"> </span></li>'),Tn=p('<ul class="flex flex-col divide-y divide-hair rounded-md border border-hair text-xs"></ul>'),On=p('<div class="mt-2 flex flex-col gap-3 border-t border-hair pt-3 text-sm"><!> <!> <p class="text-xs leading-relaxed text-muted-foreground"><!> <!></p> <!> <!></div>'),Nn=p('<article><div class="flex items-center gap-2"><span class="flex size-8 shrink-0 items-center justify-center rounded-full border border-hair bg-panel text-sea" aria-hidden="true"><!></span> <span class="text-[0.95rem] font-semibold tracking-[0.08em] text-muted-foreground [font-variant-caps:all-small-caps]"> </span> <span class="ml-auto flex items-center gap-1 rounded-full border border-hair px-2 py-0.5 text-xs text-muted-foreground"><!><span class="tabular font-medium"> </span></span></div> <h3 class="mt-3 font-display text-[1.15rem] leading-snug font-medium"><!></h3> <!> <!> <div class="mt-3 flex flex-wrap items-center gap-1.5 text-xs"><span> </span> <span><!> </span> <!></div> <div class="mt-auto pt-3"><button class="-mx-1 flex cursor-pointer items-center gap-1 rounded px-1 py-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring">Details<!></button></div> <!></article>');function ra(s,t){Ve(t,!0);let r=qe(t,"ui",3,null),o=qe(t,"showDecisionLink",3,!0),h=qe(t,"open",15,!1),_=Ge(!1),U=Ge(null);async function I(){if(!r())return;xe(_,!0),xe(U,null);const x=await Kt({plugin:"improve",service:"ui"},Gt.data.sessionToken,aa(r(),t.p.file));xe(_,!1),x?.state!=="running"&&xe(U,x?.reason??"Wheelhouse could not start improve’s review UI.",!0)}const A=C(()=>cn[t.p.kind]),P=C(()=>t.p.visibility?un[t.p.visibility]:null),E=C(()=>e(P)?.icon),G=C(()=>`detail-${t.p.file}`),T=C(()=>`${t.p.evidence.length} ${t.p.evidence.length===1?"piece":"pieces"} of evidence`);var Y=Nn(),b=d(Y),S=d(b),q=d(S);et(q,()=>e(A),(x,w)=>{w(x,{class:"size-4"})}),n(S);var oe=a(S,2),se=g(oe,!0),ue=a(oe,2),Ce=d(ue);er(Ce,{class:"size-3.5","aria-hidden":"true"});var Le=a(Ce),We=g(Le,!0);n(ue),n(b);var te=a(b,2),m=d(te);{var l=x=>{var w=Mn(),B=d(w,!0),le=a(B);ft(le,{class:"ml-1 inline size-3.5 align-baseline text-muted-foreground group-hover:text-foreground","aria-hidden":"true"}),n(w),f(()=>{y(w,"href",t.p.openUrl),v(B,t.p.title)}),c(x,w)},Q=x=>{var w=zn(),B=d(w,!0),le=a(B);{var ge=X=>{Vt(X,{class:"ml-1 inline size-3.5 animate-spin align-baseline text-muted-foreground","aria-label":"Starting improve’s review UI"})},me=X=>{ft(X,{class:"ml-1 inline size-3.5 align-baseline text-muted-foreground group-hover:text-foreground","aria-hidden":"true"})};$(le,X=>{e(_)?X(ge):X(me,-1)})}n(w),f(()=>{w.disabled=e(_),v(B,t.p.title)}),Te("click",w,I),c(x,w)},M=x=>{var w=ut();f(()=>v(w,t.p.title)),c(x,w)};$(m,x=>{t.p.openUrl?x(l):r()?x(Q,1):x(M,-1)})}n(te);var O=a(te,2);{var D=x=>{var w=Sn(),B=g(w,!0);f(()=>v(B,e(U))),c(x,w)};$(O,x=>{e(U)&&x(D)})}var L=a(O,2);{var F=x=>{var w=In(),B=g(w,!0);f(()=>v(B,t.p.summary)),c(x,w)};$(L,x=>{t.p.summary&&x(F)})}var K=a(L,2),ae=d(K),ie=g(ae,!0),ve=a(ae,2),i=d(ve);{var z=x=>{var w=rt(),B=Se(w);et(B,()=>e(E),(le,ge)=>{ge(le,{class:"size-3","aria-hidden":"true"})}),c(x,w)};$(i,x=>{e(E)&&x(z)})}var Z=a(i,1,!0);n(ve);var J=a(ve,2);{var ne=x=>{var w=rt(),B=Se(w);{var le=me=>{var X=Cn(),pe=d(X);gt(pe,{class:"size-3","aria-hidden":"true"});var V=a(pe,1,!0);n(X),f(()=>{y(X,"href",t.p.decision.href),v(V,t.p.decision.state)}),c(me,X)},ge=me=>{var X=An(),pe=d(X);gt(pe,{class:"size-3","aria-hidden":"true"});var V=a(pe,1,!0);n(X),f(()=>v(V,t.p.decision.state)),c(me,X)};$(B,me=>{o()&&t.p.decision.href?me(le):me(ge,-1)})}c(x,w)},W=x=>{var w=Dn();f(()=>y(w,"title",t.p.routing)),c(x,w)};$(J,x=>{t.p.decision?x(ne):t.p.routing&&t.p.waiting&&x(W,1)})}n(K);var u=a(K,2),k=d(u),j=a(d(k));{let x=C(()=>h()?"rotate-180":"");Aa(j,{get class(){return`size-3.5 transition-transform duration-200 ${e(x)??""}`},"aria-hidden":"true"})}n(k),n(u);var N=a(u,2);{var R=x=>{var w=On(),B=d(w);{var le=ce=>{var be=Ln(),Ne=g(be,!0);f(()=>v(Ne,t.p.changes)),c(ce,be)};$(B,ce=>{t.p.changes&&ce(le)})}var ge=a(B,2);{var me=ce=>{var be=Wn();Ie(be,20,()=>t.p.files,Ne=>Ne,(Ne,Ze)=>{var Ke=Rn(),Pe=g(Ke,!0);f(()=>v(Pe,Ze)),c(Ne,Ke)}),n(be),c(ce,be)};$(ge,ce=>{t.p.files.length&&ce(me)})}var X=a(ge,2),pe=d(X);{var V=ce=>{var be=ut();f(Ne=>v(be,`Changes ${Ne??""}.`),[()=>t.p.surfaces.join(", ")]),c(ce,be)};$(pe,ce=>{t.p.surfaces.length&&ce(V)})}var H=a(pe),re=a(H);{var fe=ce=>{var be=ut();f(()=>v(be,t.p.routing)),c(ce,be)};$(re,ce=>{t.p.routing&&ce(fe)})}n(X);var _e=a(X,2);{var he=ce=>{var be=Hn(),Ne=a(d(be)),Ze=a(Ne);{var Ke=Pe=>{var Je=En(),tt=g(Je);f(()=>v(tt,`(confidence ${t.p.confidence??""})`)),c(Pe,Je)};$(Ze,Pe=>{t.p.confidence&&Pe(Ke)})}n(be),f(()=>v(Ne,` ${t.p.why??""}`)),c(ce,be)};$(_e,ce=>{t.p.why&&ce(he)})}var de=a(_e,2);{var Ae=ce=>{var be=Tn();Ie(be,21,()=>t.p.evidence,st,(Ne,Ze)=>{var Ke=jn(),Pe=d(Ke),Je=g(Pe,!0),tt=a(Pe,2),ot=g(tt,!0);n(Ke),f(()=>{v(Je,e(Ze).source),v(ot,e(Ze).observation)}),c(Ne,Ke)}),n(be),c(ce,be)};$(de,ce=>{t.p.evidence.length&&ce(Ae)})}n(w),f(()=>{y(w,"id",e(G)),v(H,` ${t.p.deliveryLabel??""} `)}),c(x,w)};$(N,x=>{h()&&x(R)})}n(Y),f(()=>{y(Y,"id",t.p.file),Oe(Y,1,`flex h-full scroll-mt-24 flex-col rounded-lg border bg-card p-4 transition-colors duration-200 hover:border-foreground/25 ${t.p.waiting?"border-l-[3px] border-l-sea":""}`),v(se,t.p.kindLabel),y(ue,"title",e(T)),y(ue,"aria-label",e(T)),v(We,t.p.evidence.length),Oe(ae,1,`rounded-full border px-2 py-0.5 font-semibold ${vn[t.p.group]??""}`),v(ie,t.p.statusShort),Oe(ve,1,`flex items-center gap-1 rounded-full border px-2 py-0.5 font-medium ${e(P)?.cls??"border-hair text-muted-foreground"??""}`),y(ve,"title",t.p.visibilityLabel),v(Z,t.p.visibilityShort),y(k,"aria-expanded",h()),y(k,"aria-controls",e(G))}),Te("click",k,()=>h(!h())),c(s,Y),Be()}nt(["click"]);var Un=p('<p class="mt-3 flex flex-wrap gap-3 text-xs text-muted-foreground"><span class="flex items-center gap-1"><!><span class="tabular font-medium text-foreground"> </span> private</span> <span class="flex items-center gap-1"><!><span class="tabular font-medium text-foreground"> </span> shared</span></p>'),Gn=p('<p class="mt-2 flex items-baseline gap-2"><span class="tabular font-display text-4xl leading-none font-medium"> </span> <span class="text-sm text-muted-foreground"> </span></p> <div class="mt-3"><!></div>',1),Vn=p('<p class="mt-2 text-sm text-muted-foreground">improve’s import could not be read.</p>'),Bn=p('<li class="flex gap-2"><!> </li>'),Pn=p('<ul class="mt-4 flex flex-col gap-1 rounded-lg border border-warning/30 bg-warning/5 px-4 py-3 text-sm"></ul>'),Fn=p('<section><h2 class="section-label mb-3"> <span class="tabular rounded-full border border-hair px-2 text-sm leading-5 tracking-normal [font-variant-caps:normal]"> </span></h2> <div class="grid gap-3 md:grid-cols-2"></div></section>'),qn=p(`<p class="rounded-lg border border-dashed p-6 text-sm text-muted-foreground">improve has not proposed anything yet. Run /improve propose in Firstmate’s session to draft
|
|
13
|
+
a change.</p>`),Xn=p('<p class="mt-1 text-muted-foreground"> </p>'),Kn=p('<li><details class="group rounded-lg border bg-card"><summary class="flex cursor-pointer list-none items-center gap-2 px-3 py-2 text-sm [&::-webkit-details-marker]:hidden"><!> <span class="min-w-0 flex-1 truncate"> </span> <span class="tabular shrink-0 rounded-full bg-sea/10 px-1.5 text-xs font-semibold text-sea"> </span></summary> <div class="border-t border-hair px-3 py-2 text-xs leading-relaxed"><p> </p> <!></div></details></li>'),Yn=p('<section><h2 class="section-label mb-3">Repeated patterns</h2> <ul class="flex flex-col gap-2"></ul></section>'),Zn=p('<div class="mt-2 h-1.5 overflow-hidden rounded-full bg-muted" role="img"><span></span></div> <p class="mt-1 text-muted-foreground"> </p>',1),Jn=p('<p class="mt-2 text-muted-foreground"><span class="tabular font-medium text-foreground"> </span> </p>'),Qn=p('<section><h2 class="section-label mb-3">Harness size</h2> <div class="rounded-lg border bg-card p-3 text-xs"><p class="flex items-baseline justify-between gap-2"><span class="font-medium"> </span> <span class="tabular text-muted-foreground"> </span></p> <!> <!></div></section>'),eo=p(`<p class="-mt-3 mb-6 max-w-prose text-sm text-muted-foreground">Changes improve proposes to Firstmate’s harness from what it has seen go wrong. Nothing changes
|
|
14
|
+
until you approve.</p> <div class="grid gap-3 sm:grid-cols-3"><section class="rounded-lg border bg-card p-4" aria-label="Review"><h2 class="section-label text-[1rem]">Review</h2> <div class="mt-3"><!></div> <p class="mt-2 line-clamp-2 text-xs leading-relaxed text-muted-foreground"> </p> <p class="mt-1 text-xs text-muted-foreground"> </p></section> <section class="rounded-lg border bg-card p-4" aria-label="Waiting for you"><h2 class="section-label text-[1rem]">Waiting for you</h2> <p class="mt-2 flex items-baseline gap-2"><span class="tabular font-display text-4xl leading-none font-medium"> </span> <span class="text-sm text-muted-foreground"> </span></p> <!></section> <section class="rounded-lg border bg-card p-4" aria-label="What improve read"><h2 class="section-label text-[1rem]">What improve read</h2> <!></section></div> <div class="mt-3"><!></div> <!> <div class="mt-8 grid gap-x-10 gap-y-8 xl:grid-cols-[minmax(0,3fr)_minmax(0,1fr)]"><div class="flex min-w-0 flex-col gap-8"></div> <aside class="flex min-w-0 flex-col gap-8"><!> <!></aside></div>`,1);function to(s,t){Ve(t,!0);const r=C(()=>t.data),o=Date.now(),h=C(()=>mn.map(W=>({...W,items:e(r).proposals.filter(u=>u.group===W.id)})).filter(W=>W.items.length)),_=C(()=>e(r).proposals.filter(W=>W.waiting)),U=C(()=>e(_).filter(W=>W.visibility==="captain-private").length),I=C(()=>e(_).filter(W=>W.visibility==="shared-tracked").length),A=C(()=>e(r).evidence.counts.find(W=>W.label==="Tasks")?.value??null);var P=eo(),E=a(Se(P),2),G=d(E),T=a(d(G),2),Y=d(T);ea(Y,{get review(){return e(r).review}}),n(T);var b=a(T,2),S=g(b,!0),q=a(b,2),oe=g(q,!0);n(G);var se=a(G,2),ue=a(d(se),2),Ce=d(ue),Le=g(Ce,!0),We=a(Ce,2),te=g(We,!0);n(ue);var m=a(ue,2);{var l=W=>{var u=Un(),k=d(u),j=d(k);bt(j,{class:"size-3.5","aria-hidden":"true"});var N=a(j),R=g(N,!0);Ye(),n(k);var x=a(k,2),w=d(x);xt(w,{class:"size-3.5 text-sea","aria-hidden":"true"});var B=a(w),le=g(B,!0);Ye(),n(x),n(u),f(()=>{v(R,e(U)),v(le,e(I))}),c(W,u)};$(m,W=>{e(r).waiting&&W(l)})}n(se);var Q=a(se,2),M=a(d(Q),2);{var O=W=>{var u=Gn(),k=Se(u),j=d(k),N=g(j,!0),R=a(j,2),x=g(R,!0);n(k);var w=a(k,2),B=d(w);Qt(B,{get mix(){return e(r).evidence.mix},compact:!0}),n(w),f(()=>{v(N,e(A)),v(x,e(A)===1?"task":"tasks")}),c(W,u)},D=W=>{var u=Vn();c(W,u)};$(M,W=>{e(A)!==null?W(O):W(D,-1)})}n(Q),n(E);var L=a(E,2),F=d(L);St(F,{plugin:"improve",service:"ui",label:"improve’s review UI"}),n(L);var K=a(L,2);{var ae=W=>{var u=Pn();Ie(u,21,()=>e(r).problems,st,(k,j)=>{var N=Bn(),R=d(N);Bt(R,{class:"mt-0.5 size-4 shrink-0 text-warning"});var x=a(R,1,!0);n(N),f(()=>v(x,e(j))),c(k,N)}),n(u),c(W,u)};$(K,W=>{e(r).problems.length&&W(ae)})}var ie=a(K,2),ve=d(ie);Ie(ve,21,()=>e(h),W=>W.id,(W,u)=>{var k=Fn(),j=d(k),N=d(j,!0),R=a(N),x=g(R,!0);n(j);var w=a(j,2);Ie(w,21,()=>e(u).items,B=>B.file,(B,le)=>{ra(B,{get p(){return e(le)},get ui(){return e(r).ui}})}),n(w),n(k),f(()=>{y(k,"aria-label",e(u).label),v(N,e(u).label),v(x,e(u).items.length)}),c(W,k)},W=>{var u=qn();c(W,u)}),n(ve);var i=a(ve,2),z=d(i);{var Z=W=>{var u=Yn(),k=a(d(u),2);Ie(k,21,()=>e(r).evidence.patterns,st,(j,N)=>{const R=C(()=>e(N).kind==="review"?Ft:gt);var x=Kn(),w=d(x),B=d(w),le=d(B);et(le,()=>e(R),(he,de)=>{de(he,{class:"size-3.5 shrink-0 text-muted-foreground","aria-hidden":"true"})});var ge=a(le,2),me=g(ge,!0),X=a(ge,2),pe=g(X);n(B);var V=a(B,2),H=d(V),re=g(H,!0),fe=a(H,2);{var _e=he=>{var de=Xn(),Ae=g(de);f(ce=>v(Ae,`Answered: ${ce??""}`),[()=>e(N).answers.join("; ")]),c(he,de)};$(fe,he=>{e(N).answers.length&&he(_e)})}n(V),n(w),n(x),f(he=>{y(B,"title",e(N).sentence),v(me,he),y(X,"aria-label",`${e(N).count??""} times`),v(pe,`×${e(N).count??""}`),v(re,e(N).sentence)},[()=>Jt(e(N).example,80)]),c(j,x)}),n(k),n(u),c(W,u)};$(z,W=>{e(r).evidence.patterns.length&&W(Z)})}var J=a(z,2);{var ne=W=>{var u=Qn(),k=a(d(u),2),j=d(k),N=d(j),R=g(N,!0),x=a(N,2),w=g(x);n(j);var B=a(j,2);{var le=X=>{var pe=Zn(),V=Se(pe),H=g(V),re=a(V,2),fe=g(re);f((_e,he,de)=>{y(V,"aria-label",`${_e??""}% of the startup budget`),Oe(H,1,`block h-full rounded-full ${e(r).size.budgetShare>.8?"bg-warning":"bg-sea"}`),ht(H,`width: ${he??""}%`),v(fe,`${de??""}% of the startup budget`)},[()=>Math.round(e(r).size.budgetShare*100),()=>Math.min(100,e(r).size.budgetShare*100),()=>Math.round(e(r).size.budgetShare*100)]),c(X,pe)};$(B,X=>{e(r).size.budgetShare!==null&&X(le)})}var ge=a(B,2);{var me=X=>{var pe=Jn(),V=d(pe),H=g(V,!0),re=a(V);n(pe),f(()=>{v(H,e(r).size.skills),v(re,` ${e(r).size.skills===1?"skill":"skills"}${e(r).size.largestSkill?`, the largest ${e(r).size.largestSkill}`:""}`)}),c(X,pe)};$(ge,X=>{e(r).size.skills!==null&&X(me)})}n(k),n(u),f(X=>{v(R,e(r).size.contractFile),v(w,`${X??""} tokens`)},[()=>e(r).size.contractTokens.toLocaleString("en")]),c(W,u)};$(J,W=>{e(r).size&&W(ne)})}n(i),n(ie),f(W=>{v(S,e(r).review.due?e(r).review.reasons[0]??e(r).review.headline:e(r).review.headline),v(oe,W),v(Le,e(r).waiting),v(te,e(r).waiting===1?"proposal":"proposals")},[()=>e(r).review.lastReviewedAt?`Last review ${ta(e(r).review.lastReviewedAt,o)}`:"No review yet"]),c(s,P),Be()}var ao=p('<a href="/plugins/improve/improvements" class="hidden items-center gap-1.5 rounded-full border border-sea/40 bg-sea/10 px-3 py-1 text-xs font-medium whitespace-nowrap text-sea hover:bg-sea/15 xl:flex"><!> </a>');function ro(s,t){Ve(t,!0);const r=C(()=>t.data),o=C(()=>[e(r).review.due?"Review due":null,e(r).waiting?`${e(r).waiting} to decide`:null].filter(Boolean).join(" · "));var h=rt(),_=Se(h);{var U=I=>{var A=ao(),P=d(A);Xt(P,{class:"size-3.5","aria-hidden":"true"});var E=a(P,1,!0);n(A),f(G=>{y(A,"title",G),y(A,"aria-label",`Harness: ${e(o)??""}`),v(E,e(o))},[()=>[e(r).review.due?e(r).review.headline:null,e(r).waiting?`${e(r).waiting} harness improvements wait for your call.`:null].filter(Boolean).join(" ")]),c(I,A)};$(_,I=>{e(o)&&I(U)})}c(s,h),Be()}var so=p('<div class="mt-3"><!></div>'),no=p('<div class="max-w-3xl"><!> <!> <a class="mt-3 flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground">Every improvement<!></a></div>');function oo(s,t){Ve(t,!0);const r=C(()=>t.data);let o=Ge(!0);var h=no(),_=d(h);ra(_,{get p(){return e(r).proposal},get ui(){return e(r).ui},showDecisionLink:!1,get open(){return e(o)},set open(E){xe(o,E,!0)}});var U=a(_,2);{var I=E=>{var G=so(),T=d(G);{let Y=C(()=>aa(e(r).ui,e(r).proposal.file));St(T,{plugin:"improve",service:"ui",label:"improve’s review UI",get open(){return e(Y)}})}n(G),c(E,G)};$(U,E=>{e(r).ui.running||E(I)})}var A=a(U,2),P=a(d(A));Pt(P,{class:"size-3.5","aria-hidden":"true"}),n(A),n(h),f(()=>y(A,"href",e(r).improvementsHref)),c(s,h),Be()}const Lo={"project-links/summary":Cr,"docket/chart":dn,"improve/health":$n,"improve/improvements":to,"improve/indicator":ro,"improve/proposal":oo};export{vt as A,qt as B,ir as G,Lo as P,Er as R,Xt as W,Ta as a,Lt as b,Do as m,Rt as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as o,r}from"./COiIt96y.js";import{I as a}from"./CQlHU-Rx.js";var n=new Set(["$$slots","$$events","$$legacy"]);function m(t,s){let e=r(s,n);const p={name:"split",size:24,node:[["path",{d:"M16 3h5v5"}],["path",{d:"M8 3H3v5"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"}],["path",{d:"m15 9 6-6"}]]};a(t,o(()=>e,{get icon(){return p}}))}export{m as S};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as t,A as i,B as c,C as f}from"./L-6wuY5f.js";import{B as y}from"./COiIt96y.js";const l=Symbol("NaN");function h(r,e,n){t&&i();var o=new y(r),s=!c();f(()=>{var a=e();a!==a&&(a=l),s&&a!==null&&typeof a=="object"&&(a={}),o.ensure(a,n)})}export{h as k};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as o,r as p}from"./COiIt96y.js";import{I as r}from"./CQlHU-Rx.js";var n=new Set(["$$slots","$$events","$$legacy"]);function m(a,t){let e=p(t,n);const s={name:"scale",size:24,node:[["path",{d:"M12 3v18"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7"}],["path",{d:"M7 21h10"}]]};r(a,o(()=>e,{get icon(){return s}}))}export{m as S};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{e as g,h as f,i as p,y as A,q as T}from"./L-6wuY5f.js";import{S as W}from"./BXN538J3.js";const I=/^(captain[,.!]?\s*)?(shipshape|all (is )?well|all quiet|nothing (new )?to report)[.!]?$/i,R=/^\[Request interrupted by user/,C=/\u001b\[[0-9;?]*[A-Za-z]/g,_=n=>String(n??"").split("/").filter(Boolean).pop()??"",$=n=>String(n??"").split(`
|
|
2
|
+
`)[0].trim(),D=n=>{try{return new URL(String(n)).host}catch{return String(n??"")}};function N(n,t){switch(n){case"Bash":return{verb:"Ran",summary:t.description||$(t.command),noun:["command","commands"]};case"Read":return{verb:"Read",summary:_(t.file_path),noun:["file read","files read"]};case"Edit":case"MultiEdit":return{verb:"Edited",summary:_(t.file_path),noun:["edit","edits"]};case"Write":return{verb:"Wrote",summary:_(t.file_path),noun:["file written","files written"]};case"Grep":return{verb:"Searched code for",summary:String(t.pattern??""),noun:["code search","code searches"]};case"Glob":return{verb:"Listed files",summary:String(t.pattern??""),noun:["file listing","file listings"]};case"WebSearch":return{verb:"Searched the web for",summary:String(t.query??""),noun:["web search","web searches"]};case"WebFetch":return{verb:"Read page",summary:D(t.url),noun:["page read","pages read"]};case"Skill":return{verb:"Used skill",summary:String(t.skill??""),noun:["skill","skills"]};case"ToolSearch":return{verb:"Loaded tools",summary:$(t.query),noun:["tool lookup","tool lookups"]};case"Agent":case"Task":return{verb:"Asked a helper",summary:t.description||$(t.prompt),noun:["helper","helpers"]};case"TodoWrite":return{verb:"Updated the plan",summary:"",noun:["plan update","plan updates"]};case"SendMessage":return{verb:"Messaged",summary:String(t.to??""),noun:["message","messages"]};default:{const s=n.match(/^mcp__(.+?)__(.+)$/);return s?{verb:"Used",summary:`${s[2].replace(/_/g," ")} (${s[1]})`,noun:["tool call","tool calls"]}:{verb:"Used",summary:n,noun:["tool call","tool calls"]}}}}function F(n){return typeof n=="string"?n:Array.isArray(n)?n.map(t=>t?.type==="text"?String(t.text??""):t?.type==="image"?"[image]":t?.type==="tool_reference"?`[tool: ${t.tool_name??""}]`:`[${t?.type??"item"}]`).join(`
|
|
3
|
+
`):""}const E=n=>n.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g,"").trim();function S(n,t){const s=n.match(new RegExp(`<${t}>([\\s\\S]*?)</${t}>`));return s?s[1].trim():null}function U(n){const t=S(n,"command-name");if(!t)return null;const s=S(n,"command-args");return s?`${t} ${s}`:t}function J(n){return(Array.isArray(n?.questions)?n.questions:[]).map(s=>({header:String(s?.header??""),question:String(s?.question??""),multiSelect:s?.multiSelect===!0,options:(Array.isArray(s?.options)?s.options:[]).map(i=>({label:String(i?.label??""),description:String(i?.description??"")}))}))}function P(n,t){const s=n.toolUseResult?.answers;if(s&&typeof s=="object")return Object.fromEntries(Object.entries(s).map(([a,u])=>[a,String(u)]));const i={};for(const a of t.matchAll(/"([^"]+)"="([^"]*)"/g))i[a[1]]=a[2];return i}function B(n){const t=[],s=new Map,i=new Map;let a=null,u=null,d=null,b=null,h=!1;const k=()=>{u=null},x=e=>(u||(u={kind:"turn",id:e.uuid,parts:[],at:e.timestamp,durationMs:null,done:!1,interrupted:!1,trigger:h?"background":"captain"},h=!1,t.push(u),d=u),u),v=e=>{const m=x(e),r=m.parts[m.parts.length-1];if(r?.kind==="activity")return r;const o={kind:"activity",id:`${e.uuid}-a`,steps:[]};return m.parts.push(o),o},y=(e,m,r={})=>{k(),h=!1,t.push({kind:"user",id:e.uuid,text:m,at:e.timestamp,queued:!!r.queued,command:!!r.command})},w=(e,m,r,o=e.uuid)=>{u&&v(e).steps.push({kind:"context",id:o,label:m,detail:r})};for(const e of n){if(!e||typeof e!="object"||e.isSidechain)continue;const m=e.timestamp??null;switch(e.type){case"ai-title":a=e.aiTitle??a;break;case"user":{const r=e.message?.content;if(typeof r=="string")if(e.origin?.kind==="task-notification"||r.trimStart().startsWith("<task-notification>"))k(),h=!0;else if(e.isMeta)w(e,"Context added",r);else if(R.test(r.trim()))d&&(d.interrupted=!0);else{const o=U(r);if(o)y(e,o,{command:!0});else if(!r.includes("<local-command-stdout>")){const c=E(r);c&&y(e,c)}}else if(Array.isArray(r))for(const o of r)if(o?.type==="tool_result"){const c=F(o.content),l=s.get(o.tool_use_id);l&&(l.result=c,l.isError=!!o.is_error);const q=i.get(o.tool_use_id);q&&(q.answers=o.is_error?{}:P(e,c))}else if(o?.type==="text"){const c=String(o.text??"");if(R.test(c.trim()))d&&(d.interrupted=!0);else if(e.isMeta||e.sourceToolUseID){const l=c.startsWith("Base directory for this skill")?"Skill instructions loaded":"Context added";w(e,l,c,`${e.uuid}-${l}`)}else{const l=E(c);l&&y(e,l)}}else o?.type==="image"&&y(e,"[image]");break}case"assistant":{for(const r of e.message?.content??[])if(r?.type==="thinking"||r?.type==="redacted_thinking"){const o=b&&m?Date.parse(m)-Date.parse(b):null;v(e).steps.push({kind:"thinking",id:`${e.uuid}-th`,ms:o})}else if(r?.type==="tool_use"&&r.name==="AskUserQuestion"){const o={kind:"question",id:r.id,questions:J(r.input),answers:null};i.set(r.id,o),x(e).parts.push(o)}else if(r?.type==="tool_use"){const o=N(String(r.name),r.input??{}),c={kind:"tool",id:r.id,name:String(r.name),...o,input:r.input,result:null,isError:!1};s.set(r.id,c),v(e).steps.push(c)}else if(r?.type==="text"){if(!String(r.text??"").trim())continue;x(e).parts.push({kind:"text",id:`${e.uuid}-t`,text:r.text})}break}case"attachment":{const r=e.attachment??{};if(r.type==="queued_command"&&typeof r.prompt=="string"&&(r.commandMode??"prompt")==="prompt"){const o=E(r.prompt);o&&y(e,o,{queued:!0})}else if(r.type==="hook_additional_context"){const o=Array.isArray(r.content)?r.content.join(`
|
|
4
|
+
`):String(r.content??"");w(e,`Hook added context${r.hookEvent?` (${r.hookEvent})`:""}`,o)}break}case"system":{if(e.subtype==="turn_duration")d&&(d.durationMs=e.durationMs??null,d.done=!0),k();else if(e.subtype==="away_summary")k(),t.push({kind:"notice",id:e.uuid,title:"While you were away",detail:String(e.content??""),at:e.timestamp});else if(e.subtype==="local_command"){const r=String(e.content??""),o=S(r,"local-command-stdout")??S(r,"local-command-stderr"),c=U(r);if(c)y(e,c,{command:!0});else if(o!==null){const l=o.replace(C,"").trim();l&&t.push({kind:"output",id:e.uuid,text:l,at:e.timestamp})}}break}}m&&(b=m)}const M=[];return{items:t.filter((e,m)=>{if(e.kind!=="turn"||e.trigger!=="background")return!0;const r=e.parts.filter(l=>l.kind==="text").map(l=>l.text).join(`
|
|
5
|
+
`).trim(),c=!e.parts.some(l=>l.kind==="question")&&(!r||I.test(r));return M.push({id:e.id,at:e.at,durationMs:e.durationMs,done:e.done||m<t.length-1,outcome:c?"quiet":"reported"}),!c}),title:a,checks:M}}function tt(n){const t=new Map;let s=!1,i=0;for(const u of n){if(u.kind==="thinking"&&(s=!0,i+=u.ms??0),u.kind!=="tool")continue;const d=t.get(u.noun[0])??{n:0,noun:u.noun};d.n++,t.set(u.noun[0],d)}const a=[...t.values()].map(u=>`${u.n} ${u.n===1?u.noun[0]:u.noun[1]}`);return a.length?a.join(", "):s?i>=1e3?`Thought for ${Q(i)}`:"Thought briefly":"Read some context"}function Q(n){if(n==null||n<0)return"";const t=Math.round(n/1e3);if(t<60)return`${t}s`;const s=Math.floor(t/60);return s<60?`${s}m ${t%60}s`:`${Math.floor(s/60)}h ${s%60}m`}const j=n=>n.replace(/\s+/g," ").trim(),O=n=>n[n.length-1]?.id??null,G=(n,t)=>{const s=t===null?-1:n.findIndex(i=>i.id===t);return n.slice(s+1)};function H(n,t){const s=new Map;return n.filter(i=>{if(i.state==="sending"||i.state==="failed")return!0;const a=G(t,i.after);if(i.via==="inbox")return!a.some(h=>h.kind==="turn");const u=j(i.text),d=s.get(u)??0;return a.filter(h=>h.kind==="user"&&j(h.text)===u).length>d?(s.set(u,d+1),!1):!0})}function et(n){switch(n.state){case"sending":return"Sending…";case"queued":return"Queued · Firstmate is busy and will read it next";case"failed":return n.error?`Not sent · ${n.error}`:"Not sent";default:return n.via==="inbox"?"In Firstmate’s inbox":"Delivered · waiting for Firstmate"}}const L=6e3;class z{#t=g(null);get session(){return f(this.#t)}set session(t){p(this.#t,t,!0)}#e=g(null);get source(){return f(this.#e)}set source(t){p(this.#e,t,!0)}#s=g([]);get records(){return f(this.#s)}set records(t){p(this.#s,t)}#n=g("connecting");get connection(){return f(this.#n)}set connection(t){p(this.#n,t,!0)}#r=g(0);get resets(){return f(this.#r)}set resets(t){p(this.#r,t,!0)}#i=g(A([]));get commands(){return f(this.#i)}set commands(t){p(this.#i,t,!0)}#o=T(()=>B(this.records));get chat(){return f(this.#o)}set chat(t){p(this.#o,t)}#a=g(A([]));get outbox(){return f(this.#a)}set outbox(t){p(this.#a,t,!0)}#u=T(()=>H(this.outbox,this.chat.items));get pending(){return f(this.#u)}set pending(t){p(this.#u,t)}es=null;connect(){if(this.es)return()=>{};const t=new EventSource("/api/firstmate/chat");return this.es=t,t.addEventListener("open",()=>this.connection="open"),t.addEventListener("error",()=>{this.connection=t.readyState===EventSource.CLOSED?"lost":"connecting"}),t.addEventListener("session",s=>{this.session=JSON.parse(s.data),this.connection="open"}),t.addEventListener("reset",s=>{this.source=JSON.parse(s.data),this.records=[],this.resets++}),t.addEventListener("records",s=>{const i=[...this.records,...JSON.parse(s.data)];this.records=i.length>L?i.slice(-L):i}),this.loadCommands(),()=>{t.close(),this.es=null}}async send(t,s,i,a){return this.prune(),this.outbox.push({id:crypto.randomUUID(),text:t,via:s,state:"sending",error:null,after:O(this.chat.items)}),this.deliver(this.outbox[this.outbox.length-1],i,a)}retry(t,s,i){const a=this.outbox.find(u=>u.id===t);!a||a.state!=="failed"||(a.after=O(this.chat.items),this.deliver(a,s,i))}dismiss(t){this.outbox=this.outbox.filter(s=>s.id!==t)}async deliver(t,s,i){t.state="sending",t.error=null;const a=t.via==="inbox"?await Y(t.text,s):await X("/api/firstmate/input",s,{text:t.text});return a.ok?t.state=i&&t.via==="session"?"queued":"delivered":(t.state="failed",t.error=a.error),a}prune(){const t=new Set(this.pending.map(s=>s.id));this.outbox=this.outbox.filter(s=>t.has(s.id))}async loadCommands(){try{const t=await fetch("/api/firstmate/commands");t.ok&&(this.commands=(await t.json()).commands)}catch{}}}const st=new z;async function X(n,t,s){try{const i=await fetch(n,{method:"POST",headers:{"content-type":"application/json",[W]:t},body:JSON.stringify(s??{})});return i.ok?{ok:!0}:{ok:!1,error:(await i.json().catch(()=>null))?.message??`Wheelhouse answered ${i.status}.`}}catch{return{ok:!1,error:"Could not reach the Wheelhouse server."}}}async function Y(n,t,s=null,i=`wh-${crypto.randomUUID()}`){try{const a=await fetch("/api/firstmate/messages",{method:"POST",headers:{"content-type":"application/json","idempotency-key":i,[W]:t},body:JSON.stringify({text:n,taskId:s})});return a.ok?{ok:!0,pending:a.status===202}:{ok:!1,error:(await a.json().catch(()=>null))?.message??`Wheelhouse answered ${a.status}.`}}catch{return{ok:!1,error:"Could not reach the Wheelhouse server."}}}export{tt as a,X as b,Q as d,st as f,et as p,Y as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{y as o}from"./L-6wuY5f.js";const l=o({pending:null,draft:null,outgoing:null});export{l as c};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,h,i as d,y as c}from"./L-6wuY5f.js";import{S as b}from"./BXN538J3.js";const S={approve:"Approve",fix:"Fix",skip:"Skip"},A=(s,e)=>s.options.find(t=>t.choice===e)?.label??S[e],z=4*3600*1e3,p="wheelhouse-inbox-snoozed";function l(s,e){return Object.fromEntries(Object.entries(s).filter(([,t])=>t>e))}function O(s,e){if(!s)return{};try{const t=JSON.parse(s);if(typeof t!="object"||t===null||Array.isArray(t))return{};const n={};for(const[i,r]of Object.entries(t))typeof r=="number"&&(n[i]=r);return l(n,e)}catch{return{}}}function g(s,e,t){const n=l(e,t),i=s.filter(r=>!n[r.id]);return{shown:i,snoozed:s.length-i.length}}const y=s=>!s.sent||s.sent.delivery==="failed",k=(s,e,t)=>g(s,e,t).shown.filter(y).length;function I(s){switch(s){case"j":case"ArrowDown":return{do:"move",by:1};case"k":case"ArrowUp":return{do:"move",by:-1};case"a":return{do:"answer",choice:"approve"};case"f":return{do:"answer",choice:"fix"};case"s":return{do:"answer",choice:"skip"};case"l":return{do:"later"};case"Enter":return{do:"evidence"};default:return null}}class j{#e=a(null);get value(){return h(this.#e)}set value(e){d(this.#e,e,!0)}#t=a(c({}));get snoozed(){return h(this.#t)}set snoozed(e){d(this.#t,e,!0)}#s=a(c({}));get pending(){return h(this.#s)}set pending(e){d(this.#s,e,!0)}#n=a(c({}));get errors(){return h(this.#n)}set errors(e){d(this.#n,e,!0)}timer=null;loaded=!1;seed(e){e&&!this.value&&(this.value=e)}load(){if(!this.loaded){this.loaded=!0;try{this.snoozed=O(localStorage.getItem(p),Date.now())}catch{this.snoozed={}}}}refresh(e=400){this.timer||(this.timer=setTimeout(async()=>{this.timer=null,await this.read()},e))}async read(){try{const e=await fetch("/api/inbox");if(!e.ok)return;this.value=await e.json(),this.pending=Object.fromEntries(Object.entries(this.pending).filter(([,t])=>!t.posted))}catch{}}cards(){return(this.value?.cards??[]).map(e=>{const t=this.pending[e.id];return t&&y(e)?{...e,sent:{choice:t.choice,note:t.note,at:new Date().toISOString(),delivery:"sending",detail:null,requestId:""}}:e})}shown(e){return g(this.cards(),this.snoozed,e)}open(e){return k(this.cards(),this.snoozed,e)}later(e){this.snoozed={...l(this.snoozed,Date.now()),[e]:Date.now()+z},this.save()}wake(){this.snoozed={},this.save()}save(){try{localStorage.setItem(p,JSON.stringify(this.snoozed))}catch{}}async answer(e,t,n,i){const{[e.id]:r,...w}=this.errors;this.errors=w,this.pending={...this.pending,[e.id]:{choice:t,note:n,posted:!1}};const m=`inbox-${crypto.randomUUID()}`;try{const o=await fetch("/api/inbox",{method:"POST",headers:{"content-type":"application/json","idempotency-key":m,[b]:i},body:JSON.stringify({cardId:e.id,choice:t,note:n})});if(!o.ok){const v=await o.json().catch(()=>null);return this.fail(e.id,v?.message??`Wheelhouse could not send it (${o.status}).`),o.status===404&&this.refresh(0),!1}const u=await o.json().catch(()=>null);if(u?.message?.delivery==="failed")return this.fail(e.id,u.message.deliveryDetail??"Firstmate did not take the answer. Try again."),!1;const f=this.pending[e.id];return f&&(this.pending={...this.pending,[e.id]:{...f,posted:!0}}),this.refresh(0),!0}catch{return this.fail(e.id,"Wheelhouse could not be reached. Try again."),!1}}fail(e,t){const{[e]:n,...i}=this.pending;this.pending=i,this.errors={...this.errors,[e]:t}}}const D=new j;export{y as a,A as c,D as i,I as k};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as _,r as v,p as u}from"./COiIt96y.js";import{I as k}from"./CQlHU-Rx.js";import{p as h,a9 as D,a as w,b as y,c as $,m as f,i as g,h as r,s as T,r as b,e as p,q as x}from"./L-6wuY5f.js";import{d as C}from"./DGy76IbW.js";import{b as I}from"./DxGQT-Hz.js";import{b as M}from"./Da92_52d.js";import{c as z}from"./BHsdHLbF.js";import{M as q,f as B}from"./Db0WMrvR.js";var L=new Set(["$$slots","$$events","$$legacy"]);function V(l,e){let a=v(e,L);const n={name:"compass",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"}]]};k(l,_(()=>a,{get icon(){return n}}))}var P=new Set(["$$slots","$$events","$$legacy","ref","value","class","data-slot"]),j=$("<textarea></textarea>");function A(l,e){h(e,!0);let a=u(e,"ref",15,null),n=u(e,"value",15),s=u(e,"data-slot",3,"textarea"),o=v(e,P);var t=j();D(t),C(t,i=>({"data-slot":s(),class:i,...o}),[()=>z("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e.class)]),M(t,i=>a(i),()=>a()),I(t,n),w(l,t),y()}var E=new Set(["$$slots","$$events","$$legacy","value","class"]),F=$('<div class="relative w-full min-w-0"><!> <div class="absolute right-1.5 bottom-1.5"><!></div></div>');function W(l,e){h(e,!0);let a=u(e,"value",15),n=v(e,E),s=p(null),o=p(!1);var t=F(),i=f(t);{let c=x(()=>z(e.class,r(o)?"pr-24":"pr-10"));A(i,_({get class(){return r(c)}},()=>n,{get ref(){return r(s)},set ref(d){g(s,d,!0)},get value(){return a()},set value(d){a(d)}}))}var m=T(i,2),S=f(m);{let c=x(()=>!!e.disabled);q(S,{get field(){return r(s)},target:()=>B(r(s)),size:"sm",get disabled(){return r(c)},get listening(){return r(o)},set listening(d){g(o,d,!0)}})}b(m),b(t),w(l,t),y()}export{V as C,W as D};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as o,r}from"./COiIt96y.js";import{I as c}from"./CQlHU-Rx.js";var p=new Set(["$$slots","$$events","$$legacy"]);function m(e,s){let t=r(s,p);const a={name:"shield-check",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],["path",{d:"m9 12 2 2 4-4"}]]};c(e,o(()=>t,{get icon(){return a}}))}export{m as S};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a={"github.deployment":["success","failure","in_progress","inactive","absent"],"github.workflow":["success","failure","in_progress","absent"],"github.release":["included","not_yet"],"npm.published":["published","latest","absent"],http:["ok","mismatch","error"],"git.contains":["yes","no"],"status.note":["present","absent"],command:["passed","failed"]},l={"task.live":"a worker record exists for the task","backlog.queued":"the backlog lists it as queued","backlog.done":"the backlog marks it done","nm.run":"the automated checks (no-mistakes) are running","pr.recorded":"a pull request is recorded","pr.ready":"the pull request is CI-ready and awaits a merge","crew.done":"the worker reports done",merged:"a merge or landing is recorded","hold.captain":"Firstmate holds it for the captain","report.present":"the worker wrote its report"},s={queue:"Place in the queue",progress:"Progress",files:"Files changed",validation:"Automated checks",pr:"Pull request",report:"Report",screenshots:"Screenshots",preview:"Live preview",decision:"Decisions",landed:"Landed"},o={"github.deployment":{name:"GitHub deployment",what:"Whether a deployment to an environment (Vercel, Netlify, Render…) succeeded."},"github.workflow":{name:"GitHub workflow run",what:"Whether a GitHub Actions workflow passed for the commit."},"github.release":{name:"GitHub release",what:"Whether a release includes the commit."},"npm.published":{name:"Published on npm",what:"Whether the released version is on npm."},http:{name:"Web address",what:"Whether a URL answers as expected."},"git.contains":{name:"Commit on a branch",what:"Whether the commit is on a branch of a local checkout."},"status.note":{name:"Worker’s preview link",what:"Whether the worker reported a live preview."},command:{name:"Run a command",what:"Runs a program on this machine, in the project’s folder; passes when it exits 0."}},r={success:"succeeded",failure:"failed",in_progress:"is in progress",inactive:"succeeded and was replaced",absent:"is not there yet",included:"includes it",not_yet:"does not include it yet",published:"is published",latest:"is the latest",ok:"answers as expected",mismatch:"answers something else",error:"answers with an error",yes:"contains it",no:"does not contain it yet",present:"is reported",passed:"passed",failed:"failed"},n=e=>r[e]??e.replace(/_/g," "),t=[{value:"pr.head",label:"The pull request’s latest commit"},{value:"merge.commit",label:"The merge commit"}],i={"github.deployment":[{key:"environment",label:"Environment",kind:"text",required:!0,placeholder:"Production"},{key:"ref",label:"Commit",kind:"select",required:!0,options:t},{key:"repo",label:"Repository",kind:"text",placeholder:"owner/name",help:"Defaults to the task’s pull request repository."}],"github.workflow":[{key:"workflow",label:"Workflow file",kind:"text",required:!0,placeholder:"ci.yml"},{key:"ref",label:"Commit",kind:"select",required:!0,options:t},{key:"event",label:"Event",kind:"text",placeholder:"push"},{key:"repo",label:"Repository",kind:"text",placeholder:"owner/name"}],"github.release":[{key:"contains",label:"Commit",kind:"select",required:!0,options:t},{key:"tag_pattern",label:"Tag pattern",kind:"text",placeholder:"v*"},{key:"repo",label:"Repository",kind:"text",placeholder:"owner/name"}],"npm.published":[{key:"package",label:"Package",kind:"text",required:!0,placeholder:"@scope/name"},{key:"version_from",label:"Version from release check",kind:"check",required:!0,help:"A GitHub release check; its tag (minus a leading v) is the version."}],http:[{key:"url",label:"URL",kind:"text",required:!0,placeholder:"https://…"},{key:"method",label:"Method",kind:"select",options:[{value:"GET",label:"GET"},{value:"HEAD",label:"HEAD"}]},{key:"expect.status",label:"Expected status",kind:"number",placeholder:"200"},{key:"expect.json_pointer",label:"JSON value at",kind:"text",placeholder:"/commit"},{key:"expect.equals",label:"Equals",kind:"text",placeholder:"merge.commit",help:"merge.commit, pr.head, task.id or a literal value."},{key:"headers_from_env",label:"Headers from environment",kind:"map",captainOnly:!0,help:"Header: ENV_VAR, one per line."}],"git.contains":[{key:"repo",label:"Checkout",kind:"select",required:!0,options:[{value:"project-clone",label:"The project clone"},{value:"firstmate-root",label:"The Firstmate checkout"}]},{key:"ref",label:"Branch",kind:"text",placeholder:"the default branch"},{key:"commit",label:"Commit",kind:"select",required:!0,options:t}],"status.note":[{key:"prefix",label:"Status line",kind:"select",required:!0,options:[{value:"preview",label:"preview <url>"}]}],command:[{key:"run",label:"Program and arguments",kind:"list",required:!0,help:"One item per line: the program first, then each argument. Never run through a shell."},{key:"cwd",label:"Folder",kind:"text",placeholder:".",help:"Inside the project, relative to its top."},{key:"timeout",label:"Time limit",kind:"duration",placeholder:"5m"},{key:"env",label:"Environment to pass",kind:"list",help:"Variable names, one per line, passed from Wheelhouse’s environment."},{key:"when",label:"Run only",kind:"select",options:[{value:"merged",label:"After the merge"},{value:"pr.recorded",label:"Once a pull request is open"},{value:"crew.done",label:"Once the worker reports done"}],help:"Leave it unset to run as soon as a task can use it, even before the merge."},{key:"ref",label:"Run once per",kind:"select",options:[{value:"merge.commit",label:"Merge commit (after the merge)"},{value:"pr.head",label:"Pull request commit"}],help:"Waits for that commit; without it, it runs as soon as a task can use it."}]},d=["PATH","HOME","USER","LOGNAME","LANG","LC_ALL","TMPDIR"],c=e=>`Please commit the edited .wheelhouse.yaml in the ${e} clone and ship it as a pull request; it changes the project's passage.`;export{o as C,s as E,l as F,a as O,i as a,d as b,n as o,c as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as r}from"./Ewrw42Vq.js";const t={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}},a=t;export{a as p};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as o,r as p}from"./COiIt96y.js";import{I as r}from"./CQlHU-Rx.js";var n=new Set(["$$slots","$$events","$$legacy"]);function h(t,e){let a=p(e,n);const s={name:"file-text",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"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]]};r(t,o(()=>a,{get icon(){return s}}))}export{h as F};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ax as q,C as _e,aP as ge,z as N,T as G,ak as pe,A as He,h as B,Q as Ve,aQ as De,R as ae,U as k,W as z,an as he,aR as Fe,aS as ie,L as K,aT as w,ay as V,aU as Pe,aA as ze,ah as Ue,aV as ee,aW as re,aX as Ge,aY as Ye,aN as $e,g as ue,aZ as qe,aF as Be,au as be,aw as Ae,a_ as m,a$ as Ee,b0 as Ke,b1 as je,b2 as We,az as Xe,av as j,ao as J,b3 as me,b4 as Te,l as fe,b5 as ne,b6 as te,b7 as Qe,b8 as Se,b9 as Ze,K as Je,ba as xe,bb as er,bc as rr,bd as fr,be as ar,bf as ir,bg as ur,bh as $,bi as nr,bj as tr,n as lr,k as sr,bk as or,bl as vr,bm as dr,bn as cr,bo as _r,bp as gr}from"./L-6wuY5f.js";function Hr(e,f){return f}function pr(e,f,r){for(var a=[],u=f.length,i,n=f.length,t=0;t<u;t++){let p=f[t];Ae(p,()=>{if(i){if(i.pending.delete(p),i.done.add(p),i.pending.size===0){var c=e.outrogroups;x(e,re(i.done)),c.delete(i),c.size===0&&(e.outrogroups=null)}}else n-=1},!1)}if(n===0){var o=a.length===0&&r!==null&&e.pending.size===0;if(o){var d=r,l=d.parentNode;We(l),l.append(d),e.items.clear()}x(e,f,!o)}else i={pending:new Set(f),done:new Set},(e.outrogroups??=new Set).add(i)}function x(e,f,r=!0){var a;if(e.pending.size>0){a=new Set;for(const n of e.pending.values())for(const t of n)a.add(e.items.get(t).e)}for(var u=0;u<f.length;u++){var i=f[u];if(a?.has(i)){i.f|=w;const n=document.createDocumentFragment();Xe(i,n)}else j(f[u],r)}}var le;function Vr(e,f,r,a,u,i=null){var n=e,t=new Map,o=(f&ge)!==0;if(o){var d=e;n=N?G(pe(d)):d.appendChild(q())}N&&He();var l=null,p=Ue(()=>{var h=r();return ee(h)?h:h==null?[]:re(h)}),c=new Map,A=!0;function T(h){if((_.effect.f&Be)===0){_.pending.delete(h);var I=B(p);_.fallback=l,hr(_,I,n,f,a),l!==null&&(I.length===0?(l.f&w)===0?be(l):(l.f^=w,U(l,null,n)):Ae(l,()=>{l=null}))}}function C(h){_.pending.delete(h)}var s=_e(()=>{var h=B(p),I=h.length;let b=!1;if(N){var M=Ve(n)===De;M!==(I===0)&&(n=ae(),G(n),k(!1),b=!0)}for(var g=new Set,v=K,S=ze(),O=0;O<I;O+=1){N&&z.nodeType===he&&z.data===Fe&&(n=z,b=!0,k(!1));var E=h[O],y=a(E,O),L=A?null:t.get(y);L?(L.v&&ie(L.v,E),L.i&&ie(L.i,O),S&&v.unskip_effect(L.e)):(L=br(t,A?n:le??=q(),E,y,O,u,f,r),A||(L.e.f|=w),t.set(y,L)),g.add(y)}if(I===0&&i&&!l&&(A?l=V(()=>i(n)):(l=V(()=>i(le??=q())),l.f|=w)),I>g.size&&Pe(),N&&I>0&&G(ae()),!A)if(c.set(v,g),S){for(const[ke,ye]of t)g.has(ke)||v.skip_effect(ye.e);v.oncommit(T),v.ondiscard(C)}else T(v);b&&k(!0),B(p)}),_={effect:s,items:t,pending:c,outrogroups:null,fallback:l};A=!1,N&&(n=z)}function D(e){for(;e!==null&&(e.f&Ke)===0;)e=e.next;return e}function hr(e,f,r,a,u){var i=(a&je)!==0,n=f.length,t=e.items,o=D(e.effect.first),d,l=null,p,c=[],A=[],T,C,s,_;if(i)for(_=0;_<n;_+=1)T=f[_],C=u(T,_),s=t.get(C).e,(s.f&w)===0&&(s.nodes?.a?.measure(),(p??=new Set).add(s));for(_=0;_<n;_+=1){if(T=f[_],C=u(T,_),s=t.get(C).e,e.outrogroups!==null)for(const E of e.outrogroups)E.pending.delete(s),E.done.delete(s);if((s.f&m)!==0&&(be(s),i&&(s.nodes?.a?.unfix(),(p??=new Set).delete(s))),(s.f&w)!==0)if(s.f^=w,s===o)U(s,null,r);else{var h=l?l.next:o;s===e.effect.last&&(e.effect.last=s.prev),s.prev&&(s.prev.next=s.next),s.next&&(s.next.prev=s.prev),R(e,l,s),R(e,s,h),U(s,h,r),l=s,c=[],A=[],o=D(l.next);continue}if(s!==o){if(d!==void 0&&d.has(s)){if(c.length<A.length){var I=A[0],b;l=I.prev;var M=c[0],g=c[c.length-1];for(b=0;b<c.length;b+=1)U(c[b],I,r);for(b=0;b<A.length;b+=1)d.delete(A[b]);R(e,M.prev,g.next),R(e,l,M),R(e,g,I),o=I,l=g,_-=1,c=[],A=[]}else d.delete(s),U(s,o,r),R(e,s.prev,s.next),R(e,s,l===null?e.effect.first:l.next),R(e,l,s),l=s;continue}for(c=[],A=[];o!==null&&o!==s;)(d??=new Set).add(o),A.push(o),o=D(o.next);if(o===null)continue}(s.f&w)===0&&c.push(s),l=s,o=D(s.next)}if(e.outrogroups!==null){for(const E of e.outrogroups)E.pending.size===0&&(x(e,re(E.done)),e.outrogroups?.delete(E));e.outrogroups.size===0&&(e.outrogroups=null)}if(o!==null||d!==void 0){var v=[];if(d!==void 0)for(s of d)(s.f&m)===0&&v.push(s);for(;o!==null;)(o.f&m)===0&&o!==e.fallback&&v.push(o),o=D(o.next);var S=v.length;if(S>0){var O=(a&ge)!==0&&n===0?r:null;if(i){for(_=0;_<S;_+=1)v[_].nodes?.a?.measure();for(_=0;_<S;_+=1)v[_].nodes?.a?.fix()}pr(e,v,O)}}i&&Ee(()=>{if(p!==void 0)for(s of p)s.nodes?.a?.apply()})}function br(e,f,r,a,u,i,n,t){var o=(n&Ge)!==0?(n&Ye)===0?$e(r,!1,!1):ue(r):null,d=(n&qe)!==0?ue(u):null;return{v:o,i:d,e:V(()=>(i(f,o??r,d??u,t),()=>{e.delete(a)}))}}function U(e,f,r){if(e.nodes)for(var a=e.nodes.start,u=e.nodes.end,i=f&&(f.f&w)===0?f.nodes.start:r;a!==null;){var n=J(a);if(i.before(a),a===u)return;a=n}}function R(e,f,r){f===null?e.effect.first=r:f.next=r,r===null?e.effect.last=f:r.prev=f}function Dr(e,f){let r=null,a=N;var u;if(N){r=z;for(var i=pe(document.head);i!==null&&(i.nodeType!==he||i.data!==e);)i=J(i);if(i===null)k(!1);else{var n=J(i);i.remove(),G(n)}}N||(u=document.head.appendChild(q()));try{_e(()=>{var t=V(()=>f(u));t.f|=me,N||(t.nodes===null?t.nodes={start:u,end:u,a:null,t:null}:t.nodes.end=u)})}finally{a&&(k(!0),G(r))}}function Ar(e,f){var r=void 0,a;Te(()=>{r!==(r=f())&&(a&&(j(a),a=null),r&&(a=V(()=>{fe(()=>r(e))})))})}function Ne(e){var f,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var u=e.length;for(f=0;f<u;f++)e[f]&&(r=Ne(e[f]))&&(a&&(a+=" "),a+=r)}else for(r in e)e[r]&&(a&&(a+=" "),a+=r);return a}function Er(){for(var e,f,r=0,a="",u=arguments.length;r<u;r++)(e=arguments[r])&&(f=Ne(e))&&(a&&(a+=" "),a+=f);return a}function Tr(e){return typeof e=="object"?Er(e):e??""}const se=[...`
|
|
2
|
+
\r\f \v\uFEFF`];function Sr(e,f,r){var a=e==null?"":""+e;if(f&&(a=a?a+" "+f:f),r){for(var u of Object.keys(r))if(r[u])a=a?a+" "+u:u;else if(a.length)for(var i=u.length,n=0;(n=a.indexOf(u,n))>=0;){var t=n+i;(n===0||se.includes(a[n-1]))&&(t===a.length||se.includes(a[t]))?a=(n===0?"":a.substring(0,n))+a.substring(t+1):n=t}}return a===""?null:a}function oe(e,f=!1){var r=f?" !important;":";",a="";for(var u of Object.keys(e)){var i=e[u];i!=null&&i!==""&&(a+=" "+u+": "+i+r)}return a}function Q(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Nr(e,f){if(f){var r="",a,u;if(Array.isArray(f)?(a=f[0],u=f[1]):a=f,e){e=String(e).replaceAll(/\/\*.*?\*\//g,"").trim();var i=!1,n=0,t=!1,o=[];a&&o.push(...Object.keys(a).map(Q)),u&&o.push(...Object.keys(u).map(Q));var d=0,l=-1;const C=e.length;for(var p=0;p<C;p++){var c=e[p];if(t?c==="/"&&e[p-1]==="*"&&(t=!1):i?i===c&&(i=!1):c==="/"&&e[p+1]==="*"?t=!0:c==='"'||c==="'"?i=c:c==="("?n++:c===")"&&n--,!t&&i===!1&&n===0){if(c===":"&&l===-1)l=p;else if(c===";"||p===C-1){if(l!==-1){var A=Q(e.substring(d,l).trim());if(!o.includes(A)){c!==";"&&p++;var T=e.substring(d,p).trim();r+=" "+T+";"}}d=p+1,l=-1}}}}return a&&(r+=oe(a)),u&&(r+=oe(u,!0)),r=r.trim(),r===""?null:r}return e==null?null:String(e)}function Cr(e,f,r,a,u,i){var n=e[ne];if(N||n!==r||n===void 0){var t=Sr(r,a,i);(!N||t!==e.getAttribute("class"))&&(t==null?e.removeAttribute("class"):f?e.className=t:e.setAttribute("class",t)),e[ne]=r}else if(i&&u!==i)for(var o in i){var d=!!i[o];(u==null||d!==!!u[o])&&e.classList.toggle(o,d)}return i}function Z(e,f={},r,a){for(var u in r){var i=r[u];f[u]!==i&&(r[u]==null?e.style.removeProperty(u):e.style.setProperty(u,i,a))}}function Ir(e,f,r,a){var u=e[te];if(N||u!==f){var i=Nr(f,a);(!N||i!==e.getAttribute("style"))&&(i==null?e.removeAttribute("style"):e.style.cssText=i),e[te]=f}else a&&(Array.isArray(a)?(Z(e,r?.[0],a[0]),Z(e,r?.[1],a[1],"important")):Z(e,r,a));return a}function Ce(e,f){f?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function ve(e,f){var r=!("__defaultValue"in e);!r&&e.__defaultValue===f||(e.__defaultValue=f,Ie(e,!r||"__value"in e))}function Ie(e,f){var r=e.__defaultValue,a=e.multiple,u=a?r??[]:null;if(!(a&&!ee(u))){var i=e.selectedIndex,n=f&&a?new Set(e.selectedOptions):null;for(var t of e.options){var o=H(t);Ce(t,a?u.includes(o):Se(o,r))}if(f)if(n!==null)for(t of e.options){var d=n.has(t);t.selected!==d&&(t.selected=d)}else e.selectedIndex!==i&&(e.selectedIndex=i)}}function W(e,f,r=!1){if(e.multiple){if(f==null)return;if(!ee(f))return Qe();for(var a of e.options)a.selected=f.includes(H(a));return}for(a of e.options){var u=H(a);if(Se(u,f)){a.selected=!0;return}}(!r||f!==void 0)&&(e.selectedIndex=-1)}function Or(e){var f=new MutationObserver(r=>{r.every(Lr)||("__defaultValue"in e&&Ie(e,!1),"__value"in e&&W(e,e.__value))});f.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ze(()=>{f.disconnect()})}function Fr(e,f,r=f){var a=new WeakSet,u=!0;Je(e,"change",i=>{var n=i?"[selected]":":checked",t;if(e.multiple)t=[].map.call(e.querySelectorAll(n),H);else{var o=e.querySelector(n)??e.querySelector("option:not([disabled])");t=o&&H(o)}r(t),e.__value=t,K!==null&&a.add(K)}),fe(()=>{var i=f();if(e===document.activeElement){var n=K;if(a.has(n))return}if(W(e,i,u),u&&i===void 0){var t=e.querySelector(":checked");t!==null&&(i=H(t),r(i))}e.__value=i,u=!1})}function H(e){return"__value"in e?e.__value:e.value}function Lr(e){if(e.target.closest("selectedcontent")!==null)return!0;if(e.type==="childList"){var f=[...e.addedNodes,...e.removedNodes];return f.length>0&&f.every(r=>r.nodeName==="SELECTEDCONTENT")}return!1}const F=Symbol("class"),P=Symbol("style"),Oe=Symbol("is custom element"),Le=Symbol("is html"),wr=$?"link":"LINK",de=$?"input":"INPUT",Rr=$?"option":"OPTION",we=$?"select":"SELECT",Re=$?"progress":"PROGRESS";function Mr(e){if(N){var f=!1,r=()=>{if(!f){if(f=!0,e.hasAttribute("value")){var a=e.value;Y(e,"value",null),e.value=a}if(e.hasAttribute("checked")){var u=e.checked;Y(e,"checked",null),e.checked=u}}};e[_r]=r,Ee(r),gr()}}function Pr(e,f){var r=X(e);r.value===(r.value=f??void 0)||e.value===f&&(f!==0||e.nodeName!==Re)||(e.value=f??"")}function zr(e,f){var r=X(e);r.checked!==(r.checked=f??void 0)&&(e.checked=f)}function Y(e,f,r,a){var u=X(e);N&&(u[f]=e.getAttribute(f),f==="src"||f==="srcset"||f==="href"&&e.nodeName===wr)||u[f]!==(u[f]=r)&&(f==="loading"&&(e[er]=r),r==null?e.removeAttribute(f):typeof r!="string"&&Me(e).has(f)?e[f]=r:e.setAttribute(f,r))}function kr(e,f,r,a,u=!1,i=!1){N&&u&&e.nodeName===de&&("defaultValue"in r||"defaultChecked"in r||Mr(e));var n=X(e),t=n[Oe],o=!n[Le];let d=N&&t;d&&k(!1);var l=f||{},p=e.nodeName===Rr,c=e.nodeName===we;try{for(var A in f)!(A in r)&&A[0]+A[1]!=="$$"&&(r[A]=null);r.class?r.class=Tr(r.class):(a||r[F])&&(r.class=null),r[P]&&(r.style??=null);var T=Me(e);if(e.nodeName===de&&"type"in r&&("value"in r||"__value"in r)){var C=r.type;(C!==l.type||C===void 0&&e.hasAttribute("type"))&&(l.type=C,Y(e,"type",C,i))}for(const g in r){let v=r[g];if(p&&g==="value"&&v==null){e.value=e.__value="",l[g]=v;continue}if(g==="class"){var s=e.namespaceURI==="http://www.w3.org/1999/xhtml";Cr(e,s,v,a,f?.[F],r[F]),l[g]=v,l[F]=r[F];continue}if(g==="style"){Ir(e,v,f?.[P],r[P]),l[g]=v,l[P]=r[P];continue}var _=l[g];if(!(v===_&&!(v===void 0&&e.hasAttribute(g)))){l[g]=v;var h=g[0]+g[1];if(h!=="$$")if(h==="on"){const S={},O="$$"+g;let E=g.slice(2);var I=nr(E);if(tr(E)&&(E=E.slice(0,-7),S.capture=!0),!I&&_){if(v!=null)continue;e.removeEventListener(E,l[O],S),l[O]=null}if(I)lr(E,e,v),sr([E]);else if(v!=null){let y=function(L){l[g].call(this,L)};l[O]=or(E,e,y,S)}}else if(g==="style")Y(e,g,v);else if(g==="autofocus")vr(e,!!v);else if(!t&&(g==="__value"||g==="value"&&v!=null))e.__value=v,(_==null||e.value!==v||v===0&&e.nodeName===Re)&&(e.value=v);else if(g==="selected"&&p)Ce(e,v);else{var b=g;o||(b=dr(b));var M=b==="defaultValue"||b==="defaultChecked";if(c&&b==="defaultValue")continue;if(v==null&&!t&&!M)if(n[g]=null,b==="value"||b==="checked"){let S=e;const O=f===void 0;if(b==="value"){let E=S.defaultValue;S.removeAttribute(b),S.defaultValue=E,S.value=S.__value=O?E:null}else{let E=S.defaultChecked;S.removeAttribute(b),S.defaultChecked=E,S.checked=O?E:!1}}else e.removeAttribute(g);else M||(t||typeof v!="string")&&T.has(b)?(e[b]=v,b in n&&(n[b]=cr)):typeof v!="function"&&Y(e,b,v,i)}}}}finally{d&&k(!0)}return l}function Ur(e,f,r=[],a=[],u=[],i,n=!1,t=!1){xe(u,r,a,o=>{var d=void 0,l={},p=e.nodeName===we,c=!1;if(Te(()=>{var T=f(...o.map(B)),C=kr(e,d,T,i,n,t);if(c&&p){var s=e;"defaultValue"in T&&ve(s,T.defaultValue),"value"in T&&W(s,T.value)}for(let h of Object.getOwnPropertySymbols(l))T[h]||j(l[h]);for(let h of Object.getOwnPropertySymbols(T)){var _=T[h];h.description===ir&&(!d||_!==d[h])&&(l[h]&&j(l[h]),l[h]=V(()=>Ar(e,()=>_))),C[h]=_}d=C}),p){var A=e;fe(()=>{var T=d;"defaultValue"in T&&ve(A,T.defaultValue),W(A,T.value,!0),Or(A)})}c=!0})}function X(e){return e[rr]??={[Oe]:e.nodeName.includes("-"),[Le]:e.namespaceURI===fr}}var ce=new Map;function Me(e){var f=e.getAttribute("is")||e.nodeName,r=ce.get(f);if(r)return r;ce.set(f,r=new Set);for(var a,u=e,i=Element.prototype;i!==u;){a=ur(u);for(var n in a)a[n].set&&n!=="innerHTML"&&n!=="textContent"&&n!=="innerText"&&r.add(n);u=ar(u)}return r}export{Cr as a,Ir as b,Tr as c,Ur as d,Vr as e,Er as f,Or as g,Dr as h,Hr as i,Fr as j,W as k,Pr as l,zr as m,Mr as r,Y as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{s as t,r as a}from"./COiIt96y.js";import{I as n}from"./CQlHU-Rx.js";var p=new Set(["$$slots","$$events","$$legacy"]);function m(o,r){let e=a(r,p);const s={name:"arrow-down",size:24,node:[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]]};n(o,t(()=>e,{get icon(){return s}}))}export{m as A};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const m={working:"Working","needs-decision":"Waiting on Firstmate",paused:"Paused",parked:"Paused",blocked:"Blocked: needs Firstmate",failed:"Failed",done:"Finished",resolved:"Firstmate answered; work continues",note:"Working"},f=e=>m[e??""]??"Working",$=/(?:\b(?:PR|pull request)\s+)?https?:\/\/\S+?\/pull\/(\d+)\S*/gi,v=/\bhttps?:\/\/[^\s;,)]+/g,h=/\[(?:key|at)=[^\]]*\]/g,l=140,d=e=>e&&e[0].toUpperCase()+e.slice(1),p=(e,n,t)=>`${e} ${e===1?n:t}`;function k(e,n){const t=n,s=/\bask-user findings=(\S+)/.exec(t);if(s){const i=s[1].split(",").filter(Boolean).length;return`Review raised ${p(i,"question","questions")}; Firstmate is deciding`}const r=/\bPR\s+https?:\/\/\S+?\/pull\/(\d+)\S*\s+checks green\b/.exec(t);if(r)return`Pull request #${r[1]} ready for your review`;if(/^checks green\b/.test(t)){const i=/\/pull\/(\d+)/.exec(t)?.[1];return i?`Pull request #${i} ready for your review`:"Checks green; ready for your review"}const a=/\bmerge of (?:PR|pull request)\s+https?:\/\/\S+?\/pull\/(\d+)/i.exec(t);if(a)return`Waiting for your merge of pull request #${a[1]}`;if(/\bfix round\b/i.test(t)||/^validating \(fixing\)/.test(t)){const i=/\bfix round (\d+)\b/i.exec(t)?.[1];return`Fixing review findings${i?` (round ${i})`:""}`}const o=/^parked at ([\w-]+)(?::\s*(\d+) finding)?/.exec(t);if(o){const i=o[1]==="ci"?"CI":o[1];return o[2]?`${d(i)} found ${p(Number(o[2]),"issue","issues")}; waiting on a decision`:`Paused at the ${i} step; waiting on a decision`}if(/^ci running\b/.test(t))return"Waiting for CI checks";if(/\bno-mistakes\b.*\b(run|running|started|in progress|re-?validat)/i.test(t)||/\bre-?validat/i.test(t)||/^validating \(/.test(t)||/\bbackgrounded drive call\b/.test(t))return"Running automated review and tests";if(/^run completed\b/.test(t))return"Automated review and tests finished";if(/^run failed\b/.test(t))return"Automated review and tests failed";if(/^run cancelled\b/.test(t))return"Automated review and tests were cancelled";if(/^harness busy\b/.test(t))return"Working";if(/^harness state unavailable\b/.test(t))return"Worker state unavailable";if(/^backend (target gone|unreachable)\b/.test(t))return"Lost contact with the worker";if(/^no current-state source\b/.test(t))return"State unknown";if(e==="resolved"||/^answered:/.test(t))return m.resolved;if(/^preview:?\s+https?:\/\//i.test(t))return"Shared a live preview";const c=/^(.+?)\s+committed\b/.exec(t);if(c&&e==="done"){const i=u(c[1]);return i?`Committed: ${i}`:"Work committed"}return/^report (?:at|in|written)\b/.test(t)?"Report ready":null}function u(e){if(/\b[\w.-]+\.(?:sh|mjs|cjs|py|jq)\b/.test(e))return"";let n=e.replace(h," ").replace(/\s*\[truncated\]\s*$/,"").replace(/\bfile=.*$/," ").replace($,(t,s)=>`PR #${s}`).replace(/(?:\s+(?:left\s+)?running)?\s+(?:at|on|in)\s+https?:\/\/[^\s;,)]+/g,"").replace(v," ").replace(/(?:~|\/(?:Users|home|private|tmp|var|opt|etc))(?:\/[^\s/;,)]*)+(?:\s+\/[^\s;,)]+)*/g," ").replace(/\b(?:data|state|bin|src|docs|tests|projects|fm)\/[^\s;,)]+/g," ").replace(/\b[\w.-]+(?:\/[\w.-]+)+\.\w{1,5}\b/g," ").replace(/\b[\w.-]+\.(?:sh|mjs|cjs|js|ts|py|jq|txt|md|json|jsonl|log)\b/g," ").replace(/\b\w+=\S+/g," ").replace(/\b(?:run:?\s*)?[0-9A-Z]{26}\b/g," ").replace(/\bpid \d+\b/g," ").replace(/\b[0-9a-f]{7,40}\b/g," ").replace(/`([^`]*)`/g,"$1");return n=n.replace(/\(([^()]*)\)/g,(t,s)=>!s.trim()||/[=_/`:]|\bnm-/.test(s)?" ":t),n=n.replace(/\s+/g," ").replace(/\s+(?:on|at|in|for|via|from|to|of)\s*(?=[;,.]|$)/g,"").replace(/\s+([;,.:])/g,"$1").replace(/(?:[;,:]\s*)+(?=[;,]|$)/g,"").replace(/^[\s;,:.-]+|[\s;,:-]+$/g,"").trim(),/[=`]|\bnm-|[A-Za-z]_[A-Za-z]/.test(n)||n.length<3?"":n}function g(e){if(e.length<=l)return e;const n=e.slice(0,l-1),t=n.lastIndexOf(" ");return`${(t>l/2?n.slice(0,t):n).replace(/[\s;,:.-]+$/,"")}…`}function N(e,n){const t=e??null,r=(n??"").replace(h," ").replace(/\s+/g," ").trim().split(" · ")[0].trim();if(!r)return f(t);const a=k(t,r);if(a)return a;const o=/^setup done\b[^;]*;?\s*(.*)$/i.exec(r);if(o){const i=u(o[1]);return i?g(d(i)):"Set up and started work"}const c=u(r);return c?g(d(c)):f(t)}const x={claude:"Claude",codex:"Codex",pi:"Pi",copilot:"Copilot",cursor:"Cursor",gemini:"Gemini",opencode:"OpenCode",grok:"Grok",antigravity:"Antigravity",devin:"Devin"},w=e=>x[e.toLowerCase()]??e;function P(e){if(!e?.harness)return null;const n=e.model??(e.modelKnown?"default model":null);return[w(e.harness),n,e.name].filter(Boolean).join(" · ")}const S=new Set(["working","waiting","with-firstmate","blocked","failed","unknown","needs-decision"]),R=e=>e.outputAvailable&&S.has(e.status),y=/bypass permissions|shift\+tab|esc to interrupt|\? for shortcuts|ctrl\+[a-z]|update available|^tip:|auto-accept|context left|tokens\)?$/i,A=/^\S\s+\w+…\s*\(/,L=/^[\s─━═│┃╭╮╰╯┌┐└┘├┤┬┴┼▔▁·.\-_=*]+$/,C=/^[⏺●•◆▶]\s+(.+)$/;function q(e){let n=null;for(let t=e.length-1;t>=0;t--){const s=e[t].trim();if(!s||L.test(s)||y.test(s)||A.test(s)||/^[❯>$]\s?/.test(s)||/^⎿/.test(s))continue;const r=C.exec(s),a=r?r[1]:s,o=u(a.replace(/\s+·\s+[\dhms ]+$/,""));if(o){if(r)return b(o);n===null&&!/^\s/.test(e[t])&&(n=o)}}return n?b(n):null}const b=(e,n=120)=>e.length>n?`${e.slice(0,n-1).trimEnd()}…`:e,j=2*6e4;function E(e,n,t){const s=e.activity;if(n?.line&&e.busy){const r=s?.at?t-Date.parse(s.at):1/0;if(!s||s.source==="state"||s.source==="status"&&!(r<=j))return{text:n.line,at:n.capturedAt,source:"console"}}return s?{text:s.text,at:s.at,source:s.source}:null}function F(e,n){if(!e)return"unknown";const t=Date.parse(e);if(Number.isNaN(t))return"unknown";const s=Math.max(0,Math.round((n-t)/1e3));if(s<60)return"just now";const r=Math.round(s/60);if(r<60)return`${r} min ago`;const a=Math.round(r/60);if(a<24)return`${a} h ago`;const o=Math.round(a/24);return o===1?"yesterday":`${o} days ago`}function M(e){if(!e)return"";const n=new Date(e);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function W(e){if(!e?.harness)return null;const n=w(e.harness);return e.model?`${n}, ${e.model}`:n}const I=(e,n,t)=>e===1?n:t;export{F as a,P as b,M as c,R as d,N as e,q as m,E as n,I as p,W as w};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{p as F,m as b,h as t,r as u,t as _,a as n,b as H,q as f,x as y,f as g,c as j}from"./L-6wuY5f.js";import{p as k,i as w}from"./COiIt96y.js";import{s as x,a as M,b as S,e as I}from"./DGy76IbW.js";import{a as v,S as T}from"./CR7y1ULG.js";var J=j("<span></span>"),K=j('<div class="w-full" role="img"><div><!></div></div>');function V(E,e){F(e,!0);let q=k(e,"height",3,"h-2.5"),B=k(e,"label",3,"");const s=f(()=>Object.values(e.seconds).reduce((a,d)=>a+d,0)),G=f(()=>e.scale?Math.max(2,Math.min(100,t(s)/e.scale*100)):100),N=f(()=>T.filter(a=>e.seconds[a.key]>0).map(a=>`${a.label} ${v(e.seconds[a.key])}`).join(", "));var i=K(),l=b(i),O=b(l);{var p=a=>{var d=y(),z=g(d);I(z,17,()=>T,m=>m.key,(m,r)=>{var h=y(),A=g(h);{var C=c=>{var o=J();_(D=>{M(o,1,`seg-${t(r).key??""} h-full border-r border-card last:border-r-0`),S(o,`width: ${e.seconds[t(r).key]/t(s)*100}%`),x(o,"title",`${t(r).label??""}: ${D??""}`)},[()=>v(e.seconds[t(r).key])]),n(c,o)};w(A,c=>{e.seconds[t(r).key]>0&&c(C)})}n(m,h)}),n(a,d)};w(O,a=>{t(s)>0&&a(p)})}u(l),u(i),_(a=>{x(i,"aria-label",`${B()??""} ${a??""}: ${t(N)??""}`),M(l,1,`flex overflow-hidden rounded-full bg-muted ${q()??""}`),S(l,`width: ${t(G)??""}%`)},[()=>v(t(s))]),n(E,i),H()}export{V as T};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +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};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var p=2,c=1,d=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let i=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(i._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let i=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,s=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(s.getPropertyValue("height")),o=Math.max(0,parseInt(s.getPropertyValue("width"))),t=window.getComputedStyle(this._terminal.element),r={top:parseInt(t.getPropertyValue("padding-top")),bottom:parseInt(t.getPropertyValue("padding-bottom")),right:parseInt(t.getPropertyValue("padding-right")),left:parseInt(t.getPropertyValue("padding-left"))},a=r.top+r.bottom,n=r.right+r.left,h=l-a,m=o-n-i;return{cols:Math.max(p,Math.floor(m/e.css.cell.width)),rows:Math.max(c,Math.floor(h/e.css.cell.height))}}};export{d as FitAddon};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
� dU�?ϵ[��y�`�����djeɐ�)ɪ9uTl&�ebM~/D%6������B�ц9����3C�F����������半� ��bɿm�Iļ��);�N�E�K���3��vf&)�l���
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as w,l as u,E as S,F as e,G as h,H as l,I as E,S as T}from"./L-6wuY5f.js";function i(r,s){return r===s||r?.[T]===s}function v(r=S(),s,f,b){var c=w.r,p=l;return u(()=>{var n,a;return e(()=>{n=a,a=[],h(()=>{i(f(...a),r)||(s(r,...a),n&&i(f(...n),r)&&s(null,...n))})}),()=>{let t=p;for(;t!==c&&t.parent!==null&&t.parent.f&E;)t=t.parent;const d=()=>{a&&i(f(...a),r)&&s(null,...a)},o=t.teardown;t.teardown=()=>{d(),o?.()}}}),r}export{v as b};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DsnmJJEf.js";import{a as ce}from"./BGINfGsV.js";import{e as v,h,i as f,k as ue,p as de,aa as pe,y as he,N as E,t as D,n as _,a as C,b as fe,c as z,m as x,s as w,r as y,o as q,d as A,q as S}from"./L-6wuY5f.js";import{s as G,r as H,p as N,i as P}from"./COiIt96y.js";import{s as T,a as me}from"./DGy76IbW.js";import{I as U}from"./CQlHU-Rx.js";import{X as ge}from"./BUo4hMcM.js";var ve=new Set(["$$slots","$$events","$$legacy"]);function be(n,e){let r=H(e,ve);const t={name:"mic",size:24,node:[["path",{d:"M12 19v3"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3"}]]};U(n,G(()=>r,{get icon(){return t}}))}var xe=new Set(["$$slots","$$events","$$legacy"]);function we(n,e){let r=H(e,xe);const t={name:"square",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}]]};U(n,G(()=>r,{get icon(){return t}}))}const ye={unsupported:"This browser cannot turn speech into text. Chrome and Edge can; you can still type.",blocked:"The microphone is blocked for Wheelhouse. Allow it from the icon in the address bar, then try again.","no-microphone":"No microphone was found. Connect one, then try again.","no-speech":"Nothing was heard. Try again a little closer to the microphone.",network:"The browser’s speech service could not be reached. Check the connection and try again.",failed:"Dictation stopped unexpectedly. Try again, or type instead."};function F(){if(typeof window>"u")return null;const n=window;return n.SpeechRecognition??n.webkitSpeechRecognition??null}const _e={"not-allowed":"blocked","service-not-allowed":"blocked","audio-capture":"no-microphone","no-speech":"no-speech",network:"network","language-not-supported":"unsupported"},Se={privacyNote:"Dictation uses your browser’s speech service. In Chrome that sends what you say to Google to turn it into text, only while the microphone is on.",supported:()=>F()!==null,start(n,e){const r=F();if(!r)return e.problem("unsupported"),e.end(),{stop(){},abort(){}};const t=new r;t.lang=n,t.continuous=!0,t.interimResults=!0,t.onresult=l=>{let a="",s="";for(let o=0;o<l.results.length;o++){const c=l.results[o];c.isFinal?a+=c[0].transcript:s+=c[0].transcript}e.text(a,s)},t.onerror=l=>{l.error!=="aborted"&&e.problem(_e[l.error]??"failed")},t.onend=()=>e.end();try{t.start()}catch{e.problem("failed"),e.end()}return{stop:()=>t.stop(),abort:()=>t.abort()}}};let ke=Se;const K=()=>ke,Ee=2e3;class De{#r=v(null);get owner(){return h(this.#r)}set owner(e){f(this.#r,e)}#o=v("idle");get phase(){return h(this.#o)}set phase(e){f(this.#o,e,!0)}#a=v(0);get startedAt(){return h(this.#a)}set startedAt(e){f(this.#a,e,!0)}#i=v(null);get problem(){return h(this.#i)}set problem(e){f(this.#i,e,!0)}#t=null;#e=null;#n=null;active(e){return this.owner===e&&this.phase!=="idle"}start(e,r,t=Ce()){this.phase!=="idle"&&this.commit();const l=K();if(this.owner=e,this.problem=null,!l.supported()){this.problem="unsupported";return}this.#e=r,r.begin(),this.phase="listening",this.startedAt=Date.now();let a=null;const s=()=>a===null||this.#t===a;a=l.start(t,{text:(o,c)=>{s()&&this.#e===r&&r.show(...qe(o,c))},problem:o=>{s()&&(this.problem=o)},end:()=>{s()&&this.#e===r&&this.#s("finish")}}),this.#e===r&&(this.#t=a)}stop(){this.phase==="listening"&&(this.phase="stopping",this.#t?.stop(),this.#n=setTimeout(()=>this.#s("finish"),Ee))}commit(){this.phase!=="idle"&&this.#s("finish")}cancel(){this.phase!=="idle"&&this.#s("revert")}dismiss(){this.problem=null}#s(e){const r=this.#t,t=this.#e;this.#t=null,this.#e=null,this.#n&&clearTimeout(this.#n),this.#n=null,this.phase="idle",r?.abort(),t?.[e]()}}const d=new De;function Ce(){return typeof navigator<"u"&&navigator.language?navigator.language:"en-US"}function qe(n,e){const r=n.replace(/\s+/g," ").trim(),t=e.replace(/\s+/g," ").trim();return[r,r&&t?` ${t}`:t]}const X=n=>n&&!/\s$/.test(n)?" ":"",Ae=n=>/^[\p{L}\p{N}]/u.test(n)?" ":"";function Fe(n){let e="",r="",t="",l=!1;const a=(s,o)=>{n.value=s;try{n.setSelectionRange(o,o)}catch{}n.dispatchEvent(new Event("input",{bubbles:!0}))};return{begin(){e=n.value;const s=n.selectionStart??e.length,o=n.selectionEnd??s;r=e.slice(0,s),t=e.slice(o),l=!1},show(s,o){const c=s+o;if(!c)return;const p=r+X(r)+c;a(p+Ae(t)+t,p.length),l=!0},finish(){},revert(){l&&a(e,r.length),l=!1}}}function Ge(n,e){let r=null,t=null,l="";const a=s=>{const o=document.createRange();o.setStartAfter(s),o.collapse(!0);const c=window.getSelection();c?.removeAllRanges(),c?.addRange(o)};return{begin(){const s=window.getSelection();let o;s?.rangeCount&&n.contains(s.getRangeAt(0).startContainer)?(o=s.getRangeAt(0),t=o.extractContents()):(o=document.createRange(),o.selectNodeContents(n),o.collapse(!1),t=null);const c=document.createRange();c.setStart(n,0),c.setEnd(o.startContainer,o.startOffset),l=X(c.toString().replace(/\u00a0/g," ")),r=document.createElement("span"),r.dataset.dictation="",o.insertNode(r)},show(s,o){if(!r)return;const c=document.createTextNode(s||o?l+s:""),p=document.createElement("span");p.className="dictation-forming",p.textContent=o,r.replaceChildren(c,...o?[p]:[]),e()},finish(){if(!r)return;const s=r.textContent??"";if(s){const o=document.createTextNode(s);r.replaceWith(o),(n.contains(document.activeElement)||document.activeElement===n)&&a(o)}else r.replaceWith(t??"");r=null,t=null,e()},revert(){r?.replaceWith(t??""),r=null,t=null,e()}}}const Ne=n=>n.code==="Space"&&n.shiftKey&&(n.metaKey||n.ctrlKey)&&!n.altKey,Te=450;function ze(n,e,r){let t=0;const l=s=>{if(Ne(s)){if(s.preventDefault(),s.repeat)return;d.active(e)?(t=0,d.stop()):(t=Date.now(),r());return}d.active(e)&&(s.key==="Escape"?(s.preventDefault(),s.stopPropagation(),t=0,d.cancel()):["Shift","Control","Meta","Alt","CapsLock"].includes(s.key)||(t=0,d.commit()))},a=s=>{if(!t||!(s.code==="Space"||["Shift","Meta","Control"].includes(s.key)))return;const o=Date.now()-t;t=0,o>=Te&&d.active(e)&&d.stop()};return n.addEventListener("keydown",l),n.addEventListener("keyup",a),()=>{n.removeEventListener("keydown",l),n.removeEventListener("keyup",a)}}var Me=z('<span class="tabular text-xs text-muted-foreground svelte-1uxx7q9" data-dictation-time=""> </span>'),Re=z('<div class="absolute right-0 bottom-full z-30 mb-2 w-72 rounded-md border bg-popover p-3 text-left text-xs leading-relaxed text-popover-foreground shadow-md svelte-1uxx7q9" role="dialog" aria-label="Before you dictate" data-dictation-note=""><p class="svelte-1uxx7q9"> </p> <p class="mt-1.5 text-muted-foreground svelte-1uxx7q9">Words appear in the box for you to check; nothing is sent until you send it.</p> <div class="mt-2.5 flex justify-end gap-2 svelte-1uxx7q9"><button type="button" class="rounded-md px-2 py-1 text-muted-foreground hover:bg-muted hover:text-foreground svelte-1uxx7q9">Not now</button> <button type="button" class="rounded-md bg-primary px-2.5 py-1 font-medium text-primary-foreground svelte-1uxx7q9">Start dictating</button></div></div>'),Le=z('<div class="absolute right-0 bottom-full z-30 mb-2 flex w-72 items-start gap-2 rounded-md border bg-popover p-3 text-left text-xs leading-relaxed text-popover-foreground shadow-md svelte-1uxx7q9" role="alert" data-dictation-problem=""><p class="min-w-0 flex-1 svelte-1uxx7q9"> </p> <button type="button" class="-m-1 rounded-sm p-1 text-muted-foreground hover:text-foreground svelte-1uxx7q9" aria-label="Dismiss"><!></button></div>'),Ie=z('<span class="relative inline-flex shrink-0 items-center gap-1.5 svelte-1uxx7q9"><!> <button type="button"><!></button> <span class="sr-only svelte-1uxx7q9" aria-live="polite"> </span> <!></span>');function He(n,e){de(e,!0);let r=N(e,"label",3,"Dictate"),t=N(e,"size",3,"md"),l=N(e,"disabled",3,!1),a=N(e,"listening",15,!1);const s={};pe(()=>{a(d.active(s))});const o=S(()=>a()&&d.phase==="stopping"),c=S(()=>d.owner===s?d.problem:null);let p=v(!1),M=v(he(Date.now())),W=v("Ctrl+Shift+Space");const O="wheelhouse.voice.noted";let $=!1;function J(){if($)return!0;try{return localStorage.getItem(O)==="1"}catch{return!1}}function R(){if(l())return;const i=K();if(i.supported()&&i.privacyNote&&!J()){f(p,!0);return}d.start(s,e.target()),e.field?.focus()}function Q(){$=!0;try{localStorage.setItem(O,"1")}catch{}f(p,!1),R()}function V(){a()?d.stop():h(p)?f(p,!1):R()}const Y=S(()=>{const i=Math.max(0,Math.floor((h(M)-d.startedAt)/1e3));return`${Math.floor(i/60)}:${String(i%60).padStart(2,"0")}`});E(()=>{/Mac|iPhone|iPad/.test(navigator.platform)&&f(W,"⌘⇧Space")}),E(()=>{if(!a())return;f(M,Date.now(),!0);const i=setInterval(()=>f(M,Date.now(),!0),250);return()=>clearInterval(i)}),E(()=>{if(e.field)return ze(e.field,s,R)}),E(()=>{if(!a()&&!h(p))return;const i=u=>{u.key!=="Escape"||u.defaultPrevented||(u.preventDefault(),a()&&d.cancel(),f(p,!1))};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)}),ce(()=>{d.active(s)&&d.commit()});var L=Ie(),j=x(L);{var Z=i=>{var u=Me(),g=q(u,!0);D(()=>A(g,h(o)?"Finishing…":h(Y))),C(i,u)};P(j,i=>{a()&&i(Z)})}var m=w(j,2),ee=x(m);{var te=i=>{{let u=S(()=>t()==="md"?"size-3.5 fill-current":"size-3 fill-current");we(i,{get class(){return h(u)}})}},ne=i=>{{let u=S(()=>t()==="md"?"size-4.5":"size-4");be(i,{get class(){return h(u)}})}};P(ee,i=>{a()?i(te):i(ne,-1)})}y(m);var B=w(m,2),se=q(B,!0),re=w(B,2);{var oe=i=>{var u=Re(),g=x(u),I=q(g,!0),b=w(g,4),k=x(b),ie=w(k,2);y(b),y(u),D(le=>A(I,le),[()=>K().privacyNote]),_("click",k,()=>f(p,!1)),_("click",ie,Q),C(i,u)},ae=i=>{var u=Le(),g=x(u),I=q(g,!0),b=w(g,2),k=x(b);ge(k,{class:"size-3.5"}),y(b),y(u),D(()=>A(I,ye[h(c)])),_("click",b,()=>d.dismiss()),C(i,u)};P(re,i=>{h(p)?i(oe):h(c)&&i(ae,1)})}y(L),D(()=>{T(m,"aria-label",a()?"Stop dictating":r()),T(m,"aria-pressed",a()),T(m,"title",a()?"Stop dictating · Esc cancels":`${r()} (${h(W)}; hold for push-to-talk)`),m.disabled=l(),T(m,"data-dictating",a()?"":void 0),me(m,1,`mic flex shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors disabled:cursor-not-allowed disabled:opacity-30 ${t()==="md"?"size-9":"size-7"} ${a()?"bg-danger/10 text-danger":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,"svelte-1uxx7q9"),A(se,a()?"Listening":"")}),_("mousedown",m,i=>i.preventDefault()),_("click",m,V),C(n,L),fe()}ue(["mousedown","click"]);export{He as M,we as S,d,Ge as e,Fe as f};
|
|
Binary file
|
|
Binary file
|