@openc3/vue-common 7.1.1 → 7.2.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.
Files changed (448) hide show
  1. package/dist/{ArrayWidget-CmKZQfWB.js → ArrayWidget-D1PArcGr.js} +5 -5
  2. package/dist/{ArrayWidget-CmKZQfWB.js.map → ArrayWidget-D1PArcGr.js.map} +1 -1
  3. package/dist/{ArrayWidget-D_zfyp9k.cjs → ArrayWidget-sQ40q9fv.cjs} +2 -2
  4. package/dist/{ArrayWidget-D_zfyp9k.cjs.map → ArrayWidget-sQ40q9fv.cjs.map} +1 -1
  5. package/dist/{ArrayplotWidget-CK5o4lO8.cjs → ArrayplotWidget-CEBmTpZH.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-CK5o4lO8.cjs.map → ArrayplotWidget-CEBmTpZH.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-D5McM1rY.js → ArrayplotWidget-DPUPy0qM.js} +5 -5
  8. package/dist/{ArrayplotWidget-D5McM1rY.js.map → ArrayplotWidget-DPUPy0qM.js.map} +1 -1
  9. package/dist/{BarColumn-BsS8Fdyl.cjs → BarColumn-BHCgIHhm.cjs} +2 -2
  10. package/dist/{BarColumn-BsS8Fdyl.cjs.map → BarColumn-BHCgIHhm.cjs.map} +1 -1
  11. package/dist/{BarColumn-BtP1cQcf.js → BarColumn-BpdscDQf.js} +3 -3
  12. package/dist/{BarColumn-BtP1cQcf.js.map → BarColumn-BpdscDQf.js.map} +1 -1
  13. package/dist/{BlockWidget-CtBgkMYu.cjs → BlockWidget-BzUgw2-i.cjs} +2 -2
  14. package/dist/{BlockWidget-CtBgkMYu.cjs.map → BlockWidget-BzUgw2-i.cjs.map} +1 -1
  15. package/dist/{BlockWidget-BKMse4hP.js → BlockWidget-_VUsK5T9.js} +5 -5
  16. package/dist/{BlockWidget-BKMse4hP.js.map → BlockWidget-_VUsK5T9.js.map} +1 -1
  17. package/dist/{ButtonWidget-hNa6zzSd.cjs → ButtonWidget-D8BhMKz_.cjs} +3 -3
  18. package/dist/{ButtonWidget-hNa6zzSd.cjs.map → ButtonWidget-D8BhMKz_.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-BLNVL46w.js → ButtonWidget-DE41o-cg.js} +7 -7
  20. package/dist/{ButtonWidget-BLNVL46w.js.map → ButtonWidget-DE41o-cg.js.map} +1 -1
  21. package/dist/{CanvasWidget-1jy1JskS.js → CanvasWidget-BEi8h3Mq.js} +2 -2
  22. package/dist/{CanvasWidget-1jy1JskS.js.map → CanvasWidget-BEi8h3Mq.js.map} +1 -1
  23. package/dist/{CanvasWidget-BldZDkOl.cjs → CanvasWidget-DplsGt-k.cjs} +2 -2
  24. package/dist/{CanvasWidget-BldZDkOl.cjs.map → CanvasWidget-DplsGt-k.cjs.map} +1 -1
  25. package/dist/{CanvasdotWidget-D1yQLRDN.cjs → CanvasdotWidget-CLzrz9dr.cjs} +2 -2
  26. package/dist/{CanvasdotWidget-D1yQLRDN.cjs.map → CanvasdotWidget-CLzrz9dr.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-DxuFGoWt.js → CanvasdotWidget-eZuMgkhL.js} +2 -2
  28. package/dist/{CanvasdotWidget-DxuFGoWt.js.map → CanvasdotWidget-eZuMgkhL.js.map} +1 -1
  29. package/dist/{CanvasimageWidget-D8DConb8.cjs → CanvasimageWidget-66HcpffG.cjs} +2 -2
  30. package/dist/{CanvasimageWidget-D8DConb8.cjs.map → CanvasimageWidget-66HcpffG.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-B_JxCI_f.js → CanvasimageWidget-COv_Qnc8.js} +3 -3
  32. package/dist/{CanvasimageWidget-B_JxCI_f.js.map → CanvasimageWidget-COv_Qnc8.js.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-DwHIZzWo.js → CanvasimagevalueWidget-BhuUqLOo.js} +3 -3
  34. package/dist/{CanvasimagevalueWidget-DwHIZzWo.js.map → CanvasimagevalueWidget-BhuUqLOo.js.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-BL08pdLh.cjs → CanvasimagevalueWidget-DcoH1Rzz.cjs} +2 -2
  36. package/dist/{CanvasimagevalueWidget-BL08pdLh.cjs.map → CanvasimagevalueWidget-DcoH1Rzz.cjs.map} +1 -1
  37. package/dist/CanvaslabelWidget-DtvbgeYH.js +27 -0
  38. package/dist/CanvaslabelWidget-DtvbgeYH.js.map +1 -0
  39. package/dist/CanvaslabelWidget-wcraOzwr.cjs +2 -0
  40. package/dist/CanvaslabelWidget-wcraOzwr.cjs.map +1 -0
  41. package/dist/{CanvaslabelvalueWidget-D1-kZsi-.js → CanvaslabelvalueWidget-C_FRIeNb.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-D1-kZsi-.js.map → CanvaslabelvalueWidget-C_FRIeNb.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-BhL55tjO.cjs → CanvaslabelvalueWidget-CkkDoL8i.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-BhL55tjO.cjs.map → CanvaslabelvalueWidget-CkkDoL8i.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-Din8LMyF.js → CanvaslineWidget-D1K_6mAY.js} +2 -2
  46. package/dist/{CanvaslineWidget-Din8LMyF.js.map → CanvaslineWidget-D1K_6mAY.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-DtkdP3Bb.cjs → CanvaslineWidget-Da1Bf4Df.cjs} +2 -2
  48. package/dist/{CanvaslineWidget-DtkdP3Bb.cjs.map → CanvaslineWidget-Da1Bf4Df.cjs.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-ELgzjZeY.cjs → CanvaslinevalueWidget-ChY93jQz.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-ELgzjZeY.cjs.map → CanvaslinevalueWidget-ChY93jQz.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-DOrasE2j.js → CanvaslinevalueWidget-D4eaxWhR.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-DOrasE2j.js.map → CanvaslinevalueWidget-D4eaxWhR.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-A07FryqU.js → CheckbuttonWidget-ByxMDkiS.js} +2 -2
  54. package/dist/{CheckbuttonWidget-A07FryqU.js.map → CheckbuttonWidget-ByxMDkiS.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-BFjaAmt-.cjs → CheckbuttonWidget-C1iDNOXO.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-BFjaAmt-.cjs.map → CheckbuttonWidget-C1iDNOXO.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-ClraI2Ns.js → ClassificationBanners-By6aaadq.js} +2 -2
  58. package/dist/{ClassificationBanners-ClraI2Ns.js.map → ClassificationBanners-By6aaadq.js.map} +1 -1
  59. package/dist/{ClassificationBanners-DCL0KBCW.cjs → ClassificationBanners-D0wqqFTp.cjs} +2 -2
  60. package/dist/{ClassificationBanners-DCL0KBCW.cjs.map → ClassificationBanners-D0wqqFTp.cjs.map} +1 -1
  61. package/dist/{ComboboxWidget-CqZ79bCh.cjs → ComboboxWidget-B6kRwkHm.cjs} +2 -2
  62. package/dist/{ComboboxWidget-CqZ79bCh.cjs.map → ComboboxWidget-B6kRwkHm.cjs.map} +1 -1
  63. package/dist/{ComboboxWidget-xayce-aY.js → ComboboxWidget-CAGxGv2r.js} +2 -2
  64. package/dist/{ComboboxWidget-xayce-aY.js.map → ComboboxWidget-CAGxGv2r.js.map} +1 -1
  65. package/dist/{CriticalCmdDialog-ne9rOh2L.js → CriticalCmdDialog-BOA6-qrE.js} +4 -4
  66. package/dist/{CriticalCmdDialog-ne9rOh2L.js.map → CriticalCmdDialog-BOA6-qrE.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-DmhxVXdn.cjs → CriticalCmdDialog-DB9iMK3r.cjs} +2 -2
  68. package/dist/{CriticalCmdDialog-DmhxVXdn.cjs.map → CriticalCmdDialog-DB9iMK3r.cjs.map} +1 -1
  69. package/dist/{DateWidget-xU2zuIE3.cjs → DateWidget-C3iCuWog.cjs} +2 -2
  70. package/dist/{DateWidget-xU2zuIE3.cjs.map → DateWidget-C3iCuWog.cjs.map} +1 -1
  71. package/dist/{DateWidget-DrYZJta_.js → DateWidget-DkNWx28s.js} +4 -4
  72. package/dist/{DateWidget-DrYZJta_.js.map → DateWidget-DkNWx28s.js.map} +1 -1
  73. package/dist/{DetailsDialog-V6X078bY.cjs → DetailsDialog-C0q3d_JF.cjs} +2 -2
  74. package/dist/{DetailsDialog-V6X078bY.cjs.map → DetailsDialog-C0q3d_JF.cjs.map} +1 -1
  75. package/dist/{DetailsDialog-CFCaJZWz.js → DetailsDialog-F4KgYM6m.js} +10 -10
  76. package/dist/{DetailsDialog-CFCaJZWz.js.map → DetailsDialog-F4KgYM6m.js.map} +1 -1
  77. package/dist/EventListDialog-CDZFdKNU.cjs +2 -0
  78. package/dist/EventListDialog-CDZFdKNU.cjs.map +1 -0
  79. package/dist/{EventListDialog-CIc8RCyY.js → EventListDialog-g0Y3PS7i.js} +26 -23
  80. package/dist/EventListDialog-g0Y3PS7i.js.map +1 -0
  81. package/dist/{FilechecksumWidget-CTf0XGST.js → FilechecksumWidget-DSfNEnDJ.js} +6 -6
  82. package/dist/{FilechecksumWidget-CTf0XGST.js.map → FilechecksumWidget-DSfNEnDJ.js.map} +1 -1
  83. package/dist/{FilechecksumWidget-JeWqA6dh.cjs → FilechecksumWidget-DxpkQwol.cjs} +2 -2
  84. package/dist/{FilechecksumWidget-JeWqA6dh.cjs.map → FilechecksumWidget-DxpkQwol.cjs.map} +1 -1
  85. package/dist/{FiledisplayWidget-DLJuesmU.js → FiledisplayWidget-D2cxMmrP.js} +5 -5
  86. package/dist/{FiledisplayWidget-DLJuesmU.js.map → FiledisplayWidget-D2cxMmrP.js.map} +1 -1
  87. package/dist/{FiledisplayWidget-B6XFz4P6.cjs → FiledisplayWidget-DZ186686.cjs} +2 -2
  88. package/dist/{FiledisplayWidget-B6XFz4P6.cjs.map → FiledisplayWidget-DZ186686.cjs.map} +1 -1
  89. package/dist/{FormatvalueWidget-DODmUWPH.js → FormatvalueWidget-6-bj_PJO.js} +3 -3
  90. package/dist/{FormatvalueWidget-DODmUWPH.js.map → FormatvalueWidget-6-bj_PJO.js.map} +1 -1
  91. package/dist/{FormatvalueWidget-DHHKnH8A.cjs → FormatvalueWidget-DYvEvnXQ.cjs} +2 -2
  92. package/dist/{FormatvalueWidget-DHHKnH8A.cjs.map → FormatvalueWidget-DYvEvnXQ.cjs.map} +1 -1
  93. package/dist/{Graph-Cwghj5Pc.js → Graph-Cz0Ns1FD.js} +9 -9
  94. package/dist/{Graph-Cwghj5Pc.js.map → Graph-Cz0Ns1FD.js.map} +1 -1
  95. package/dist/{Graph-BtMRutcx.cjs → Graph-Dz9GecGm.cjs} +2 -2
  96. package/dist/{Graph-BtMRutcx.cjs.map → Graph-Dz9GecGm.cjs.map} +1 -1
  97. package/dist/{GraphWidget-Rc-fnHCt.js → GraphWidget-COXK3Dab.js} +5 -5
  98. package/dist/{GraphWidget-Rc-fnHCt.js.map → GraphWidget-COXK3Dab.js.map} +1 -1
  99. package/dist/{GraphWidget-CROq9BtI.cjs → GraphWidget-Duz0GLrA.cjs} +2 -2
  100. package/dist/{GraphWidget-CROq9BtI.cjs.map → GraphWidget-Duz0GLrA.cjs.map} +1 -1
  101. package/dist/{HorizontalWidget-CZqN6UYp.js → HorizontalWidget-C9UFBPsk.js} +2 -2
  102. package/dist/{HorizontalWidget-CZqN6UYp.js.map → HorizontalWidget-C9UFBPsk.js.map} +1 -1
  103. package/dist/{HorizontalWidget-TdOhYEM1.cjs → HorizontalWidget-DXqgBfii.cjs} +2 -2
  104. package/dist/{HorizontalWidget-TdOhYEM1.cjs.map → HorizontalWidget-DXqgBfii.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-JzKHl3o_.cjs → HorizontalboxWidget-B-7LJM-K.cjs} +2 -2
  106. package/dist/{HorizontalboxWidget-JzKHl3o_.cjs.map → HorizontalboxWidget-B-7LJM-K.cjs.map} +1 -1
  107. package/dist/{HorizontalboxWidget-BV7cyhwN.js → HorizontalboxWidget-CWLfmRtr.js} +5 -5
  108. package/dist/{HorizontalboxWidget-BV7cyhwN.js.map → HorizontalboxWidget-CWLfmRtr.js.map} +1 -1
  109. package/dist/{HorizontallineWidget-Bln3Q-pv.cjs → HorizontallineWidget-CQ_PbiXH.cjs} +2 -2
  110. package/dist/{HorizontallineWidget-Bln3Q-pv.cjs.map → HorizontallineWidget-CQ_PbiXH.cjs.map} +1 -1
  111. package/dist/{HorizontallineWidget-ChDLR_8D.js → HorizontallineWidget-DeFkOaYO.js} +2 -2
  112. package/dist/{HorizontallineWidget-ChDLR_8D.js.map → HorizontallineWidget-DeFkOaYO.js.map} +1 -1
  113. package/dist/{IframeWidget-DmCr3YW6.cjs → IframeWidget-BAIs-bzc.cjs} +2 -2
  114. package/dist/{IframeWidget-DmCr3YW6.cjs.map → IframeWidget-BAIs-bzc.cjs.map} +1 -1
  115. package/dist/{IframeWidget-BdOS5sm_.js → IframeWidget-Bn9eGzrq.js} +2 -2
  116. package/dist/{IframeWidget-BdOS5sm_.js.map → IframeWidget-Bn9eGzrq.js.map} +1 -1
  117. package/dist/{ImageLoader-D0-l7mY3.cjs → ImageLoader-C8ZJSOzF.cjs} +2 -2
  118. package/dist/{ImageLoader-D0-l7mY3.cjs.map → ImageLoader-C8ZJSOzF.cjs.map} +1 -1
  119. package/dist/{ImageLoader-CnlQ4xLd.js → ImageLoader-_gAudhVo.js} +2 -2
  120. package/dist/{ImageLoader-CnlQ4xLd.js.map → ImageLoader-_gAudhVo.js.map} +1 -1
  121. package/dist/{ImageviewerWidget-B-TRYlMs.cjs → ImageviewerWidget-BDxMpWzy.cjs} +2 -2
  122. package/dist/{ImageviewerWidget-B-TRYlMs.cjs.map → ImageviewerWidget-BDxMpWzy.cjs.map} +1 -1
  123. package/dist/{ImageviewerWidget-DoJBe5eZ.js → ImageviewerWidget-BUWhF32Z.js} +2 -2
  124. package/dist/{ImageviewerWidget-DoJBe5eZ.js.map → ImageviewerWidget-BUWhF32Z.js.map} +1 -1
  125. package/dist/{InterfacesTab-CITUnMac.js → InterfacesTab-CZsnR6xB.js} +4 -4
  126. package/dist/{InterfacesTab-CITUnMac.js.map → InterfacesTab-CZsnR6xB.js.map} +1 -1
  127. package/dist/{InterfacesTab-CIg-DS_I.cjs → InterfacesTab-oFTUZfti.cjs} +2 -2
  128. package/dist/{InterfacesTab-CIg-DS_I.cjs.map → InterfacesTab-oFTUZfti.cjs.map} +1 -1
  129. package/dist/{LabelWidget-DYwcB_S4.js → LabelWidget-BhzkN06D.js} +2 -2
  130. package/dist/{LabelWidget-DYwcB_S4.js.map → LabelWidget-BhzkN06D.js.map} +1 -1
  131. package/dist/{LabelWidget-B695rUxB.cjs → LabelWidget-agzCO9Rx.cjs} +2 -2
  132. package/dist/{LabelWidget-B695rUxB.cjs.map → LabelWidget-agzCO9Rx.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-ubrlqe_n.cjs → LabelledWidget-CmlB3Yd-.cjs} +2 -2
  134. package/dist/{LabelledWidget-ubrlqe_n.cjs.map → LabelledWidget-CmlB3Yd-.cjs.map} +1 -1
  135. package/dist/{LabelledWidget-D4N2gPxJ.js → LabelledWidget-vx8NvW1b.js} +4 -4
  136. package/dist/{LabelledWidget-D4N2gPxJ.js.map → LabelledWidget-vx8NvW1b.js.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-y__BgVQk.cjs → LabelprogressbarWidget-BB-420i0.cjs} +2 -2
  138. package/dist/{LabelprogressbarWidget-y__BgVQk.cjs.map → LabelprogressbarWidget-BB-420i0.cjs.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-CRnteLAo.js → LabelprogressbarWidget-t5PvKuS4.js} +4 -4
  140. package/dist/{LabelprogressbarWidget-CRnteLAo.js.map → LabelprogressbarWidget-t5PvKuS4.js.map} +1 -1
  141. package/dist/{LabelsparklineWidget-B7h0ndrm.cjs → LabelsparklineWidget-CGg51THo.cjs} +2 -2
  142. package/dist/{LabelsparklineWidget-B7h0ndrm.cjs.map → LabelsparklineWidget-CGg51THo.cjs.map} +1 -1
  143. package/dist/{LabelsparklineWidget-Bbjjio1S.js → LabelsparklineWidget-CebbEH-j.js} +4 -4
  144. package/dist/{LabelsparklineWidget-Bbjjio1S.js.map → LabelsparklineWidget-CebbEH-j.js.map} +1 -1
  145. package/dist/{LabelvalueWidget-Bc6HtTMO.js → LabelvalueWidget-Cbs1DBK2.js} +4 -4
  146. package/dist/{LabelvalueWidget-Bc6HtTMO.js.map → LabelvalueWidget-Cbs1DBK2.js.map} +1 -1
  147. package/dist/{LabelvalueWidget-BE8r18n2.cjs → LabelvalueWidget-xIp1W4ZB.cjs} +2 -2
  148. package/dist/{LabelvalueWidget-BE8r18n2.cjs.map → LabelvalueWidget-xIp1W4ZB.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-D5aDNr1o.js → LabelvaluedescWidget-B7OIOGc0.js} +5 -5
  150. package/dist/{LabelvaluedescWidget-D5aDNr1o.js.map → LabelvaluedescWidget-B7OIOGc0.js.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-CEZeqLAB.cjs → LabelvaluedescWidget-DE5cZcfN.cjs} +2 -2
  152. package/dist/{LabelvaluedescWidget-CEZeqLAB.cjs.map → LabelvaluedescWidget-DE5cZcfN.cjs.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-CMnJoNKz.js → LabelvaluelimitsbarWidget-C57kf-oQ.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-CMnJoNKz.js.map → LabelvaluelimitsbarWidget-C57kf-oQ.js.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-BhLZsBy5.cjs → LabelvaluelimitsbarWidget-RlJt1ReS.cjs} +2 -2
  156. package/dist/{LabelvaluelimitsbarWidget-BhLZsBy5.cjs.map → LabelvaluelimitsbarWidget-RlJt1ReS.cjs.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-7MEUPhe4.cjs → LabelvaluelimitscolumnWidget-B-TbUVpY.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-7MEUPhe4.cjs.map → LabelvaluelimitscolumnWidget-B-TbUVpY.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-R5ofG4q1.js → LabelvaluelimitscolumnWidget-BRlNDEqp.js} +5 -5
  160. package/dist/{LabelvaluelimitscolumnWidget-R5ofG4q1.js.map → LabelvaluelimitscolumnWidget-BRlNDEqp.js.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-49fO9s25.cjs → LabelvaluerangebarWidget-BK08A6_N.cjs} +2 -2
  162. package/dist/{LabelvaluerangebarWidget-49fO9s25.cjs.map → LabelvaluerangebarWidget-BK08A6_N.cjs.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-Qa3R2_4p.js → LabelvaluerangebarWidget-Pt_evm3v.js} +4 -4
  164. package/dist/{LabelvaluerangebarWidget-Qa3R2_4p.js.map → LabelvaluerangebarWidget-Pt_evm3v.js.map} +1 -1
  165. package/dist/{Layout-BBLYT0gE.js → Layout-CKmC50QZ.js} +2 -2
  166. package/dist/{Layout-BBLYT0gE.js.map → Layout-CKmC50QZ.js.map} +1 -1
  167. package/dist/{Layout-CilReWuB.cjs → Layout-CkSElGRo.cjs} +2 -2
  168. package/dist/{Layout-CilReWuB.cjs.map → Layout-CkSElGRo.cjs.map} +1 -1
  169. package/dist/{LedWidget-CL2dOxb7.js → LedWidget-D1lmNXpi.js} +5 -5
  170. package/dist/{LedWidget-CL2dOxb7.js.map → LedWidget-D1lmNXpi.js.map} +1 -1
  171. package/dist/{LedWidget-CioTReXJ.cjs → LedWidget-DaFZrKbt.cjs} +2 -2
  172. package/dist/{LedWidget-CioTReXJ.cjs.map → LedWidget-DaFZrKbt.cjs.map} +1 -1
  173. package/dist/{LimitsBar-Akh9OBX8.cjs → LimitsBar-Bkv0A0XE.cjs} +2 -2
  174. package/dist/{LimitsBar-Akh9OBX8.cjs.map → LimitsBar-Bkv0A0XE.cjs.map} +1 -1
  175. package/dist/{LimitsBar-59_qNqi8.js → LimitsBar-D5IZu7eX.js} +2 -2
  176. package/dist/{LimitsBar-59_qNqi8.js.map → LimitsBar-D5IZu7eX.js.map} +1 -1
  177. package/dist/{LimitsbarWidget-Bs2svA1K.cjs → LimitsbarWidget-B_cIeVXW.cjs} +2 -2
  178. package/dist/{LimitsbarWidget-Bs2svA1K.cjs.map → LimitsbarWidget-B_cIeVXW.cjs.map} +1 -1
  179. package/dist/{LimitsbarWidget-C0N2611W.js → LimitsbarWidget-VpxQXE-e.js} +3 -3
  180. package/dist/{LimitsbarWidget-C0N2611W.js.map → LimitsbarWidget-VpxQXE-e.js.map} +1 -1
  181. package/dist/{LimitscolorWidget-GfNCPo3i.js → LimitscolorWidget-79P41CX7.js} +5 -5
  182. package/dist/{LimitscolorWidget-GfNCPo3i.js.map → LimitscolorWidget-79P41CX7.js.map} +1 -1
  183. package/dist/{LimitscolorWidget-G_3Sc7Y3.cjs → LimitscolorWidget-z2tnAyFH.cjs} +2 -2
  184. package/dist/{LimitscolorWidget-G_3Sc7Y3.cjs.map → LimitscolorWidget-z2tnAyFH.cjs.map} +1 -1
  185. package/dist/{LimitscolumnWidget-ut6NX68S.js → LimitscolumnWidget-BFDXhJeZ.js} +2 -2
  186. package/dist/{LimitscolumnWidget-ut6NX68S.js.map → LimitscolumnWidget-BFDXhJeZ.js.map} +1 -1
  187. package/dist/{LimitscolumnWidget-B3OcZYau.cjs → LimitscolumnWidget-ClnN8sMJ.cjs} +2 -2
  188. package/dist/{LimitscolumnWidget-B3OcZYau.cjs.map → LimitscolumnWidget-ClnN8sMJ.cjs.map} +1 -1
  189. package/dist/{LinegraphWidget-BDda9hjY.cjs → LinegraphWidget-C-yffvsK.cjs} +2 -2
  190. package/dist/{LinegraphWidget-BDda9hjY.cjs.map → LinegraphWidget-C-yffvsK.cjs.map} +1 -1
  191. package/dist/{LinegraphWidget-DaCyvdnI.js → LinegraphWidget-VqkpOlws.js} +5 -5
  192. package/dist/{LinegraphWidget-DaCyvdnI.js.map → LinegraphWidget-VqkpOlws.js.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-Cni63alW.js → MatrixbycolumnsWidget--ihvirDP.js} +3 -3
  194. package/dist/{MatrixbycolumnsWidget-Cni63alW.js.map → MatrixbycolumnsWidget--ihvirDP.js.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-DibzZkF7.cjs → MatrixbycolumnsWidget-DGqVDsdg.cjs} +2 -2
  196. package/dist/{MatrixbycolumnsWidget-DibzZkF7.cjs.map → MatrixbycolumnsWidget-DGqVDsdg.cjs.map} +1 -1
  197. package/dist/{MicroservicesTab-CV_35ag8.cjs → MicroservicesTab-BEGNdUG3.cjs} +3 -3
  198. package/dist/{MicroservicesTab-CV_35ag8.cjs.map → MicroservicesTab-BEGNdUG3.cjs.map} +1 -1
  199. package/dist/{MicroservicesTab-gCXt9Jlh.js → MicroservicesTab-CQPpb7j1.js} +15 -15
  200. package/dist/{MicroservicesTab-gCXt9Jlh.js.map → MicroservicesTab-CQPpb7j1.js.map} +1 -1
  201. package/dist/{OpenC3TimePicker-WVlNQdKk.js → OpenC3TimePicker-B0lAIU91.js} +3 -3
  202. package/dist/{OpenC3TimePicker-WVlNQdKk.js.map → OpenC3TimePicker-B0lAIU91.js.map} +1 -1
  203. package/dist/{OpenC3TimePicker-BAzvaP-g.cjs → OpenC3TimePicker-DXhyDkOv.cjs} +2 -2
  204. package/dist/{OpenC3TimePicker-BAzvaP-g.cjs.map → OpenC3TimePicker-DXhyDkOv.cjs.map} +1 -1
  205. package/dist/{Openc3Screen-GLWnn7RG.cjs → Openc3Screen-051vwmN8.cjs} +5 -5
  206. package/dist/{Openc3Screen-GLWnn7RG.cjs.map → Openc3Screen-051vwmN8.cjs.map} +1 -1
  207. package/dist/{Openc3Screen-C4DL3LBY.js → Openc3Screen-Bew5BPgc.js} +8 -8
  208. package/dist/{Openc3Screen-C4DL3LBY.js.map → Openc3Screen-Bew5BPgc.js.map} +1 -1
  209. package/dist/{OutputDialog-DN4Qy6LH.cjs → OutputDialog-CgnRA-f-.cjs} +2 -2
  210. package/dist/{OutputDialog-DN4Qy6LH.cjs.map → OutputDialog-CgnRA-f-.cjs.map} +1 -1
  211. package/dist/{OutputDialog-wOewjnk2.js → OutputDialog-DtrpwjGL.js} +3 -3
  212. package/dist/{OutputDialog-wOewjnk2.js.map → OutputDialog-DtrpwjGL.js.map} +1 -1
  213. package/dist/{PackagesTab-D6UNkpw9.cjs → PackagesTab-BBFiRQN-.cjs} +2 -2
  214. package/dist/{PackagesTab-D6UNkpw9.cjs.map → PackagesTab-BBFiRQN-.cjs.map} +1 -1
  215. package/dist/{PackagesTab-DmsuQSmU.js → PackagesTab-DQ5s3nfh.js} +21 -21
  216. package/dist/{PackagesTab-DmsuQSmU.js.map → PackagesTab-DQ5s3nfh.js.map} +1 -1
  217. package/dist/{PluginsTab-CLQ0EbDl.js → PluginsTab-1tlTx4k1.js} +7 -7
  218. package/dist/{PluginsTab-CLQ0EbDl.js.map → PluginsTab-1tlTx4k1.js.map} +1 -1
  219. package/dist/{PluginsTab-D_cFEd7L.cjs → PluginsTab-DN_iK1D9.cjs} +4 -4
  220. package/dist/{PluginsTab-D_cFEd7L.cjs.map → PluginsTab-DN_iK1D9.cjs.map} +1 -1
  221. package/dist/{ProgressbarWidget-CYyOjBLI.cjs → ProgressbarWidget-B-ScYWwv.cjs} +2 -2
  222. package/dist/{ProgressbarWidget-CYyOjBLI.cjs.map → ProgressbarWidget-B-ScYWwv.cjs.map} +1 -1
  223. package/dist/{ProgressbarWidget-BWqCsk87.js → ProgressbarWidget-BIB3r9SL.js} +2 -2
  224. package/dist/{ProgressbarWidget-BWqCsk87.js.map → ProgressbarWidget-BIB3r9SL.js.map} +1 -1
  225. package/dist/{RadiobuttonWidget-Dza2r34f.js → RadiobuttonWidget-C5rxLM7K.js} +2 -2
  226. package/dist/{RadiobuttonWidget-Dza2r34f.js.map → RadiobuttonWidget-C5rxLM7K.js.map} +1 -1
  227. package/dist/{RadiobuttonWidget-zyCcviRt.cjs → RadiobuttonWidget-EBzI13by.cjs} +2 -2
  228. package/dist/{RadiobuttonWidget-zyCcviRt.cjs.map → RadiobuttonWidget-EBzI13by.cjs.map} +1 -1
  229. package/dist/{RadiogroupWidget-BK-b4dDV.cjs → RadiogroupWidget-BnT62bxt.cjs} +2 -2
  230. package/dist/{RadiogroupWidget-BK-b4dDV.cjs.map → RadiogroupWidget-BnT62bxt.cjs.map} +1 -1
  231. package/dist/{RadiogroupWidget-DWmZMNmr.js → RadiogroupWidget-CciTCv1U.js} +2 -2
  232. package/dist/{RadiogroupWidget-DWmZMNmr.js.map → RadiogroupWidget-CciTCv1U.js.map} +1 -1
  233. package/dist/{RangebarWidget-BKTLrzKd.cjs → RangebarWidget-Can_BQBL.cjs} +2 -2
  234. package/dist/{RangebarWidget-BKTLrzKd.cjs.map → RangebarWidget-Can_BQBL.cjs.map} +1 -1
  235. package/dist/{RangebarWidget-DsGCC1x7.js → RangebarWidget-MPQYi2Km.js} +2 -2
  236. package/dist/{RangebarWidget-DsGCC1x7.js.map → RangebarWidget-MPQYi2Km.js.map} +1 -1
  237. package/dist/{RedisTab-2wFbDYIY.cjs → RedisTab-Bkj57lOf.cjs} +2 -2
  238. package/dist/{RedisTab-2wFbDYIY.cjs.map → RedisTab-Bkj57lOf.cjs.map} +1 -1
  239. package/dist/{RedisTab-9hUKvLT7.js → RedisTab-DAeGow_e.js} +2 -2
  240. package/dist/{RedisTab-9hUKvLT7.js.map → RedisTab-DAeGow_e.js.map} +1 -1
  241. package/dist/{RollupWidget-DGElKXm3.js → RollupWidget-CfjGAhzg.js} +2 -2
  242. package/dist/{RollupWidget-DGElKXm3.js.map → RollupWidget-CfjGAhzg.js.map} +1 -1
  243. package/dist/{RollupWidget-B7x7pcGm.cjs → RollupWidget-IDDWGLom.cjs} +2 -2
  244. package/dist/{RollupWidget-B7x7pcGm.cjs.map → RollupWidget-IDDWGLom.cjs.map} +1 -1
  245. package/dist/{RoutersTab-PRDpocd3.cjs → RoutersTab-BtfVCL1C.cjs} +2 -2
  246. package/dist/{RoutersTab-PRDpocd3.cjs.map → RoutersTab-BtfVCL1C.cjs.map} +1 -1
  247. package/dist/{RoutersTab-Dpq_F5it.js → RoutersTab-G4WKtUOo.js} +4 -4
  248. package/dist/{RoutersTab-Dpq_F5it.js.map → RoutersTab-G4WKtUOo.js.map} +1 -1
  249. package/dist/{ScriptChooser-BIPvMV1Z.cjs → ScriptChooser-B6qtMbkx.cjs} +2 -2
  250. package/dist/{ScriptChooser-BIPvMV1Z.cjs.map → ScriptChooser-B6qtMbkx.cjs.map} +1 -1
  251. package/dist/{ScriptChooser-DSb-nUOY.js → ScriptChooser-BwYB6FOa.js} +16 -16
  252. package/dist/{ScriptChooser-DSb-nUOY.js.map → ScriptChooser-BwYB6FOa.js.map} +1 -1
  253. package/dist/{ScrollwindowWidget-CxCp6zl7.cjs → ScrollwindowWidget-BPTaWCGg.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-CxCp6zl7.cjs.map → ScrollwindowWidget-BPTaWCGg.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-BvKT59rV.js → ScrollwindowWidget-CupaygNN.js} +2 -2
  256. package/dist/{ScrollwindowWidget-BvKT59rV.js.map → ScrollwindowWidget-CupaygNN.js.map} +1 -1
  257. package/dist/{SecretsTab-DAZeb63H.js → SecretsTab-C9xAxuwO.js} +4 -4
  258. package/dist/{SecretsTab-DAZeb63H.js.map → SecretsTab-C9xAxuwO.js.map} +1 -1
  259. package/dist/{SecretsTab-CY-73DBl.cjs → SecretsTab-CRC8DUz8.cjs} +2 -2
  260. package/dist/{SecretsTab-CY-73DBl.cjs.map → SecretsTab-CRC8DUz8.cjs.map} +1 -1
  261. package/dist/{SettingsTab-CHcHYnay.js → SettingsTab-BUdeAh4o.js} +5 -5
  262. package/dist/{SettingsTab-CHcHYnay.js.map → SettingsTab-BUdeAh4o.js.map} +1 -1
  263. package/dist/{SettingsTab-BBi3rofi.cjs → SettingsTab-CXoTKykc.cjs} +2 -2
  264. package/dist/{SettingsTab-BBi3rofi.cjs.map → SettingsTab-CXoTKykc.cjs.map} +1 -1
  265. package/dist/{SignalWidget-NxN9VFAv.cjs → SignalWidget-BbXnGcy9.cjs} +2 -2
  266. package/dist/{SignalWidget-NxN9VFAv.cjs.map → SignalWidget-BbXnGcy9.cjs.map} +1 -1
  267. package/dist/{SignalWidget-DRAFunW0.js → SignalWidget-C-qecoTO.js} +2 -2
  268. package/dist/{SignalWidget-DRAFunW0.js.map → SignalWidget-C-qecoTO.js.map} +1 -1
  269. package/dist/{SimpleTextDialog-B9KuFMP5.cjs → SimpleTextDialog-5wMXYOXj.cjs} +2 -2
  270. package/dist/{SimpleTextDialog-B9KuFMP5.cjs.map → SimpleTextDialog-5wMXYOXj.cjs.map} +1 -1
  271. package/dist/{SimpleTextDialog-B7XASoZh.js → SimpleTextDialog-C-0ZC2bs.js} +2 -2
  272. package/dist/{SimpleTextDialog-B7XASoZh.js.map → SimpleTextDialog-C-0ZC2bs.js.map} +1 -1
  273. package/dist/{SpacerWidget-DnRV7NSQ.cjs → SpacerWidget-BSJsjARt.cjs} +2 -2
  274. package/dist/{SpacerWidget-DnRV7NSQ.cjs.map → SpacerWidget-BSJsjARt.cjs.map} +1 -1
  275. package/dist/{SpacerWidget-CUGpXBpA.js → SpacerWidget-VVkOCb6N.js} +2 -2
  276. package/dist/{SpacerWidget-CUGpXBpA.js.map → SpacerWidget-VVkOCb6N.js.map} +1 -1
  277. package/dist/{SparklineWidget-XWxWkTZw.cjs → SparklineWidget-COGPJfbo.cjs} +2 -2
  278. package/dist/{SparklineWidget-XWxWkTZw.cjs.map → SparklineWidget-COGPJfbo.cjs.map} +1 -1
  279. package/dist/{SparklineWidget-SBWjRrqq.js → SparklineWidget-Dsmn38z_.js} +5 -5
  280. package/dist/{SparklineWidget-SBWjRrqq.js.map → SparklineWidget-Dsmn38z_.js.map} +1 -1
  281. package/dist/{TabbookWidget-yfZK_n_2.cjs → TabbookWidget-B2geV2Qi.cjs} +2 -2
  282. package/dist/{TabbookWidget-yfZK_n_2.cjs.map → TabbookWidget-B2geV2Qi.cjs.map} +1 -1
  283. package/dist/{TabbookWidget-7l6fPoRA.js → TabbookWidget-CXklff-l.js} +2 -2
  284. package/dist/{TabbookWidget-7l6fPoRA.js.map → TabbookWidget-CXklff-l.js.map} +1 -1
  285. package/dist/{TargetPacketItemChooser-QPHy-p2u.js → TargetPacketItemChooser-DDHuygCl.js} +3 -3
  286. package/dist/{TargetPacketItemChooser-QPHy-p2u.js.map → TargetPacketItemChooser-DDHuygCl.js.map} +1 -1
  287. package/dist/{TargetPacketItemChooser-CvDABqt7.cjs → TargetPacketItemChooser-DgO3VgdY.cjs} +2 -2
  288. package/dist/{TargetPacketItemChooser-CvDABqt7.cjs.map → TargetPacketItemChooser-DgO3VgdY.cjs.map} +1 -1
  289. package/dist/{TargetsTab-DcHwCcSU.js → TargetsTab-Ci4cOsIa.js} +13 -13
  290. package/dist/{TargetsTab-DcHwCcSU.js.map → TargetsTab-Ci4cOsIa.js.map} +1 -1
  291. package/dist/{TargetsTab-GpduFeiA.cjs → TargetsTab-DSSFGLD_.cjs} +2 -2
  292. package/dist/{TargetsTab-GpduFeiA.cjs.map → TargetsTab-DSSFGLD_.cjs.map} +1 -1
  293. package/dist/{TextboxWidget-CcvPtdyE.cjs → TextboxWidget-B9vBiTFU.cjs} +2 -2
  294. package/dist/{TextboxWidget-CcvPtdyE.cjs.map → TextboxWidget-B9vBiTFU.cjs.map} +1 -1
  295. package/dist/{TextboxWidget-Qb0TNt4Y.js → TextboxWidget-CHs2VYIv.js} +5 -5
  296. package/dist/{TextboxWidget-Qb0TNt4Y.js.map → TextboxWidget-CHs2VYIv.js.map} +1 -1
  297. package/dist/{TextfieldWidget-D5v1Endh.cjs → TextfieldWidget-CHf6ER_G.cjs} +2 -2
  298. package/dist/{TextfieldWidget-D5v1Endh.cjs.map → TextfieldWidget-CHf6ER_G.cjs.map} +1 -1
  299. package/dist/{TextfieldWidget-DcSGRfnF.js → TextfieldWidget-CdANAW-6.js} +2 -2
  300. package/dist/{TextfieldWidget-DcSGRfnF.js.map → TextfieldWidget-CdANAW-6.js.map} +1 -1
  301. package/dist/{TimeWidget-j18gWgF-.cjs → TimeWidget-C8Za7zUx.cjs} +2 -2
  302. package/dist/{TimeWidget-j18gWgF-.cjs.map → TimeWidget-C8Za7zUx.cjs.map} +1 -1
  303. package/dist/{TimeWidget-aoMkDgRR.js → TimeWidget-D0xT1wXR.js} +5 -5
  304. package/dist/{TimeWidget-aoMkDgRR.js.map → TimeWidget-D0xT1wXR.js.map} +1 -1
  305. package/dist/{TitleWidget-C8b9Vp5r.js → TitleWidget-68NWCcXB.js} +2 -2
  306. package/dist/{TitleWidget-C8b9Vp5r.js.map → TitleWidget-68NWCcXB.js.map} +1 -1
  307. package/dist/{TitleWidget-CNZqa48C.cjs → TitleWidget-D0PYh7V7.cjs} +2 -2
  308. package/dist/{TitleWidget-CNZqa48C.cjs.map → TitleWidget-D0PYh7V7.cjs.map} +1 -1
  309. package/dist/{ToolsTab-MCjy5Bf6.js → ToolsTab-BCvmMDIZ.js} +4 -4
  310. package/dist/{ToolsTab-MCjy5Bf6.js.map → ToolsTab-BCvmMDIZ.js.map} +1 -1
  311. package/dist/{ToolsTab-C7ldaGOD.cjs → ToolsTab-UwVIeP-J.cjs} +2 -2
  312. package/dist/{ToolsTab-C7ldaGOD.cjs.map → ToolsTab-UwVIeP-J.cjs.map} +1 -1
  313. package/dist/{TopBar-Dv9AvR6L.cjs → TopBar-BhrJBXut.cjs} +2 -2
  314. package/dist/{TopBar-Dv9AvR6L.cjs.map → TopBar-BhrJBXut.cjs.map} +1 -1
  315. package/dist/{TopBar-S3ydRxjf.js → TopBar-Cg0kJvmG.js} +2 -2
  316. package/dist/{TopBar-S3ydRxjf.js.map → TopBar-Cg0kJvmG.js.map} +1 -1
  317. package/dist/{TsdbTab-4OaejSum.js → TsdbTab-BytqwnkN.js} +2 -2
  318. package/dist/{TsdbTab-4OaejSum.js.map → TsdbTab-BytqwnkN.js.map} +1 -1
  319. package/dist/{TsdbTab-d1l9Ak2R.cjs → TsdbTab-DatsFS_R.cjs} +2 -2
  320. package/dist/{TsdbTab-d1l9Ak2R.cjs.map → TsdbTab-DatsFS_R.cjs.map} +1 -1
  321. package/dist/{UpgradeToEnterpriseDialog-CkHl-BAB.js → UpgradeToEnterpriseDialog-B0lZup6_.js} +2 -2
  322. package/dist/{UpgradeToEnterpriseDialog-CkHl-BAB.js.map → UpgradeToEnterpriseDialog-B0lZup6_.js.map} +1 -1
  323. package/dist/{UpgradeToEnterpriseDialog-Cd1ulQkq.cjs → UpgradeToEnterpriseDialog-BFhTiNXm.cjs} +2 -2
  324. package/dist/{UpgradeToEnterpriseDialog-Cd1ulQkq.cjs.map → UpgradeToEnterpriseDialog-BFhTiNXm.cjs.map} +1 -1
  325. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-hv0QWZ6Z.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DOidODWT.cjs} +76 -76
  326. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-hv0QWZ6Z.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DOidODWT.cjs.map} +1 -1
  327. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-C6eLx1ow.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-JHbHqvBt.js} +1862 -1862
  328. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-C6eLx1ow.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-JHbHqvBt.js.map} +1 -1
  329. package/dist/{VWidget-CMHOOByt.cjs → VWidget-BZqlpdEk.cjs} +2 -2
  330. package/dist/{VWidget-CMHOOByt.cjs.map → VWidget-BZqlpdEk.cjs.map} +1 -1
  331. package/dist/{VWidget-BgNciXK1.js → VWidget-oMbywhLA.js} +5 -5
  332. package/dist/{VWidget-BgNciXK1.js.map → VWidget-oMbywhLA.js.map} +1 -1
  333. package/dist/{ValueWidget-B1OvCmXK.js → ValueWidget-B1aGUBP7.js} +5 -5
  334. package/dist/{ValueWidget-B1OvCmXK.js.map → ValueWidget-B1aGUBP7.js.map} +1 -1
  335. package/dist/{ValueWidget-C3T9tAUT.cjs → ValueWidget-CuMPXR-z.cjs} +2 -2
  336. package/dist/{ValueWidget-C3T9tAUT.cjs.map → ValueWidget-CuMPXR-z.cjs.map} +1 -1
  337. package/dist/{ValuelimitsbarWidget-CUd9P_Xg.js → ValuelimitsbarWidget-B7KcRjLS.js} +4 -4
  338. package/dist/{ValuelimitsbarWidget-CUd9P_Xg.js.map → ValuelimitsbarWidget-B7KcRjLS.js.map} +1 -1
  339. package/dist/{ValuelimitsbarWidget-DzJYkWOa.cjs → ValuelimitsbarWidget-elJnDGWA.cjs} +2 -2
  340. package/dist/{ValuelimitsbarWidget-DzJYkWOa.cjs.map → ValuelimitsbarWidget-elJnDGWA.cjs.map} +1 -1
  341. package/dist/{ValuelimitscolumnWidget-CbThSMma.js → ValuelimitscolumnWidget-BVt6nLXq.js} +4 -4
  342. package/dist/{ValuelimitscolumnWidget-CbThSMma.js.map → ValuelimitscolumnWidget-BVt6nLXq.js.map} +1 -1
  343. package/dist/{ValuelimitscolumnWidget-Dx_im9Qk.cjs → ValuelimitscolumnWidget-DyQjC-h-.cjs} +2 -2
  344. package/dist/{ValuelimitscolumnWidget-Dx_im9Qk.cjs.map → ValuelimitscolumnWidget-DyQjC-h-.cjs.map} +1 -1
  345. package/dist/{ValuerangebarWidget-C8n2hb3N.cjs → ValuerangebarWidget-E1xvTwhi.cjs} +2 -2
  346. package/dist/{ValuerangebarWidget-C8n2hb3N.cjs.map → ValuerangebarWidget-E1xvTwhi.cjs.map} +1 -1
  347. package/dist/{ValuerangebarWidget-DjL4ze3d.js → ValuerangebarWidget-uVZEI32U.js} +4 -4
  348. package/dist/{ValuerangebarWidget-DjL4ze3d.js.map → ValuerangebarWidget-uVZEI32U.js.map} +1 -1
  349. package/dist/{VerticalWidget-C81rZFvu.cjs → VerticalWidget-BxL_5yEC.cjs} +2 -2
  350. package/dist/{VerticalWidget-C81rZFvu.cjs.map → VerticalWidget-BxL_5yEC.cjs.map} +1 -1
  351. package/dist/{VerticalWidget-V5-vGq7l.js → VerticalWidget-DlftYBjH.js} +2 -2
  352. package/dist/{VerticalWidget-V5-vGq7l.js.map → VerticalWidget-DlftYBjH.js.map} +1 -1
  353. package/dist/{VerticalboxWidget-DQerkhfd.cjs → VerticalboxWidget-BHP0SPpV.cjs} +2 -2
  354. package/dist/{VerticalboxWidget-DQerkhfd.cjs.map → VerticalboxWidget-BHP0SPpV.cjs.map} +1 -1
  355. package/dist/{VerticalboxWidget-OigMLjH8.js → VerticalboxWidget-C7RrkfY0.js} +5 -5
  356. package/dist/{VerticalboxWidget-OigMLjH8.js.map → VerticalboxWidget-C7RrkfY0.js.map} +1 -1
  357. package/dist/{Widget-BiaunQ83.js → Widget-D_HaosJK.js} +3 -3
  358. package/dist/{Widget-BiaunQ83.js.map → Widget-D_HaosJK.js.map} +1 -1
  359. package/dist/{Widget-D23R5IBP.cjs → Widget-a5Y50rAX.cjs} +2 -2
  360. package/dist/{Widget-D23R5IBP.cjs.map → Widget-a5Y50rAX.cjs.map} +1 -1
  361. package/dist/{addMonths-DI1YMeKj.js → addMonths-8x2Zqxlu.js} +2 -2
  362. package/dist/{addMonths-DI1YMeKj.js.map → addMonths-8x2Zqxlu.js.map} +1 -1
  363. package/dist/{addMonths-SOmDn5_g.cjs → addMonths-BKZ-wlfT.cjs} +2 -2
  364. package/dist/{addMonths-SOmDn5_g.cjs.map → addMonths-BKZ-wlfT.cjs.map} +1 -1
  365. package/dist/components.cjs +1 -1
  366. package/dist/components.js +71 -71
  367. package/dist/{format-DMO5vfrX.cjs → format-MMgAFAGt.cjs} +10 -10
  368. package/dist/format-MMgAFAGt.cjs.map +1 -0
  369. package/dist/{format-BJTVXrSU.js → format-mcuVCYue.js} +921 -911
  370. package/dist/format-mcuVCYue.js.map +1 -0
  371. package/dist/getDefaultOptions-DFvSlHOQ.cjs +2 -0
  372. package/dist/{getDefaultOptions-DM-1w6JL.cjs.map → getDefaultOptions-DFvSlHOQ.cjs.map} +1 -1
  373. package/dist/getDefaultOptions-iOY0zDuv.js +8 -0
  374. package/dist/{getDefaultOptions-CK1Ea9CA.js.map → getDefaultOptions-iOY0zDuv.js.map} +1 -1
  375. package/dist/{index-0c3bHqHD.js → index-AU71Em-T.js} +683 -681
  376. package/dist/index-AU71Em-T.js.map +1 -0
  377. package/dist/{index-fyIAHTXk.js → index-CbFUkAzJ.js} +482 -471
  378. package/dist/index-CbFUkAzJ.js.map +1 -0
  379. package/dist/index-DpGzPeGX.cjs +10 -0
  380. package/dist/index-DpGzPeGX.cjs.map +1 -0
  381. package/dist/index-jFVMElAV.cjs +7 -0
  382. package/dist/index-jFVMElAV.cjs.map +1 -0
  383. package/dist/{parse-DVpJm282.cjs → parse-VYeg4sm9.cjs} +2 -2
  384. package/dist/parse-VYeg4sm9.cjs.map +1 -0
  385. package/dist/{parse-BDajhNCa.js → parse-tBX2kWMh.js} +3 -3
  386. package/dist/parse-tBX2kWMh.js.map +1 -0
  387. package/dist/plugins.cjs +2 -2
  388. package/dist/plugins.cjs.map +1 -1
  389. package/dist/plugins.js +362 -376
  390. package/dist/plugins.js.map +1 -1
  391. package/dist/purify.es-BgN5W7Gm.cjs +4 -0
  392. package/dist/purify.es-BgN5W7Gm.cjs.map +1 -0
  393. package/dist/purify.es-XBlcheTS.js +663 -0
  394. package/dist/purify.es-XBlcheTS.js.map +1 -0
  395. package/dist/{settings-TnQjO9IR.cjs → settings-CekhMYoq.cjs} +2 -2
  396. package/dist/{settings-TnQjO9IR.cjs.map → settings-CekhMYoq.cjs.map} +1 -1
  397. package/dist/{settings-08OS6cx2.js → settings-DZ910lLo.js} +2 -2
  398. package/dist/{settings-08OS6cx2.js.map → settings-DZ910lLo.js.map} +1 -1
  399. package/dist/settingsCache-BTZ8CWTD.js +28 -0
  400. package/dist/{settingsCache-CriaPeNM.js.map → settingsCache-BTZ8CWTD.js.map} +1 -1
  401. package/dist/{settingsCache-Bm4JOm9j.cjs → settingsCache-DmIdInSd.cjs} +2 -2
  402. package/dist/{settingsCache-Bm4JOm9j.cjs.map → settingsCache-DmIdInSd.cjs.map} +1 -1
  403. package/dist/{timeFilters-BacGikeM.cjs → timeFilters-DdEvgzim.cjs} +2 -2
  404. package/dist/{timeFilters-BacGikeM.cjs.map → timeFilters-DdEvgzim.cjs.map} +1 -1
  405. package/dist/{timeFilters-BjNif-pu.js → timeFilters-a8Cma3bj.js} +10 -10
  406. package/dist/{timeFilters-BjNif-pu.js.map → timeFilters-a8Cma3bj.js.map} +1 -1
  407. package/dist/tools/admin.cjs +1 -1
  408. package/dist/tools/admin.js +1 -1
  409. package/dist/tools/base.cjs +1 -1
  410. package/dist/tools/base.cjs.map +1 -1
  411. package/dist/tools/base.js +18 -18
  412. package/dist/tools/base.js.map +1 -1
  413. package/dist/tools/calendar.cjs +1 -1
  414. package/dist/tools/calendar.js +1 -1
  415. package/dist/tools/scriptrunner.cjs +8 -8
  416. package/dist/tools/scriptrunner.cjs.map +1 -1
  417. package/dist/tools/scriptrunner.js +1443 -1389
  418. package/dist/tools/scriptrunner.js.map +1 -1
  419. package/dist/util.cjs +1 -1
  420. package/dist/util.js +2 -2
  421. package/dist/vue-common.css +1 -1
  422. package/dist/widgets.cjs +1 -1
  423. package/dist/widgets.js +64 -64
  424. package/package.json +11 -11
  425. package/dist/CanvaslabelWidget-SuEi9yf4.cjs +0 -2
  426. package/dist/CanvaslabelWidget-SuEi9yf4.cjs.map +0 -1
  427. package/dist/CanvaslabelWidget-Tt4dmAOI.js +0 -23
  428. package/dist/CanvaslabelWidget-Tt4dmAOI.js.map +0 -1
  429. package/dist/EventListDialog-C57w2AlC.cjs +0 -2
  430. package/dist/EventListDialog-C57w2AlC.cjs.map +0 -1
  431. package/dist/EventListDialog-CIc8RCyY.js.map +0 -1
  432. package/dist/format-BJTVXrSU.js.map +0 -1
  433. package/dist/format-DMO5vfrX.cjs.map +0 -1
  434. package/dist/getDefaultOptions-CK1Ea9CA.js +0 -8
  435. package/dist/getDefaultOptions-DM-1w6JL.cjs +0 -2
  436. package/dist/index-0c3bHqHD.js.map +0 -1
  437. package/dist/index-BwjFEWGT.cjs +0 -10
  438. package/dist/index-BwjFEWGT.cjs.map +0 -1
  439. package/dist/index-D3OfXI7H.cjs +0 -7
  440. package/dist/index-D3OfXI7H.cjs.map +0 -1
  441. package/dist/index-fyIAHTXk.js.map +0 -1
  442. package/dist/parse-BDajhNCa.js.map +0 -1
  443. package/dist/parse-DVpJm282.cjs.map +0 -1
  444. package/dist/purify.es-C8CCt8xk.cjs +0 -3
  445. package/dist/purify.es-C8CCt8xk.cjs.map +0 -1
  446. package/dist/purify.es-cZjWcAUR.js +0 -595
  447. package/dist/purify.es-cZjWcAUR.js.map +0 -1
  448. package/dist/settingsCache-CriaPeNM.js +0 -28
@@ -1,9 +1,9 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Ve=require("vue-router"),N=require("../format-DMO5vfrX.cjs");require("../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-hv0QWZ6Z.cjs");const ye=require("../timeFilters-BacGikeM.cjs");require("../store-CiS35N-w.cjs");const ie=require("../CustomIcon-8F08upeg.cjs");require("single-spa");const fe=require("../OutputDialog-DN4Qy6LH.cjs"),Ne=require("../index-BwjFEWGT.cjs"),Se=require("../useContainerHeight-BEd4f2Lr.cjs"),re=require("../TopBar-Dv9AvR6L.cjs"),ve=require("../ScriptChooser-BIPvMV1Z.cjs"),Ee=require("../fileIcon-BduOQcTc.cjs"),Be=require("../CriticalCmdDialog-DmhxVXdn.cjs"),Z=require("../Openc3Screen-GLWnn7RG.cjs"),Te=require("../SimpleTextDialog-B9KuFMP5.cjs"),Me=require("../ClassificationBanners-DCL0KBCW.cjs");require("../purify.es-C8CCt8xk.cjs");const Re=require("../EventListDialog-C57w2AlC.cjs"),pe=t=>{const o="(^|[{\\(\\s])",i="((\\s.+)|(\\(.+\\)))";return new RegExp(`${o}${t}${i}`)},Oe=/\{/,De=/['"],\s?['"]/;class Ue{constructor(){this.api=new N.ji,this.targets={},this.api.get_target_names().then(o=>{o.forEach(i=>{this.targets[i]={cmd:null,tlm:null}})}),this.cmdKeywordExpressions=[],Z.getKeywords("cmd").then(o=>{this.cmdKeywordExpressions=o.data.map(pe)}),this.tlmKeywordExpressions=[],Z.getKeywords("tlm").then(o=>{this.tlmKeywordExpressions=o.data.map(pe)})}async checkText(o){const{linesToCheck:i,linesToSkip:a}=o.split(`
2
- `).reduce((s,g,p)=>{if(g=g.trim(),g.match(/^#/))return s;const m=g.match(/^([^#'"]*(?:(?:"[^"]*"|'[^']*')[^#'"]*)*)(#.*)$/),k=m?m[1].trim():g,d=this.cmdKeywordExpressions.reduce((O,U)=>O||k.match(U),null),v=this.tlmKeywordExpressions.reduce((O,U)=>O||k.match(U),null);if(!d&&!v)return s;const V=(d||v)[2];if(!V)return s;const _=V.match(/[\(\s)]/);if(!_)return s;let B=V.substring(_.index+1).replace(/\)+.*$/,"");if(B.match(Oe))return s.linesToSkip.push(p+1),s;const x=!!B.match(De);if(!x){const O=B.match(/^['"]/);if(O){const U=O[0],T=B.indexOf(U,1);T>0&&(B=B.substring(1,T))}}const R=B.split(x?",":" ");if(R.length<2)return s;const E={target:R[0],packet:R[1]};if(v)E.item=R[2];else{const O=R.slice(2);x?E.params=O.map(U=>U.split("=>")[0]):E.params=O.filter((U,T)=>T%2)}for(const O in E)typeof E[O]=="string"?E[O]=E[O].replace(/['"]/g,"").trim():E[O]=E[O].map(U=>U.replace(/['"]/g,"").trim());return s.linesToCheck.push({line:g,mnemonic:E,lineNumber:p+1}),s},{linesToCheck:[],linesToSkip:[]}),n=await this._checkLines(i);return{skipped:a.sort(),problems:n.sort((s,g)=>s.lineNumber-g.lineNumber)}}async _checkLines(o){const i=[],a=Z.groupBy(o,n=>n.mnemonic.target);for(const n in a){if(!this.targets[n]){for(const g of a[n])i.push({...g,error:`Target "${n}" does not exist.`});continue}const s=Z.groupBy(a[n],g=>g.mnemonic.packet);for(const g in s)for(const p of s[g]){const m=p.mnemonic.item?"tlm":"cmd";if(!this.targets[n][m]){const d=p.mnemonic.item?"get_all_tlm":"get_all_cmds",v=await this.api[d](n);this.targets[n][m]=v.reduce((b,V)=>(b[V.packet_name]=V.items.map(_=>_.name),b),{})}const k=this.targets[n][m][g];if(!k){i.push({...p,error:`${m==="tlm"?"Packet":"Command"} "${n} ${g}" does not exist.`});continue}if(p.mnemonic.item){if(!k.some(d=>d===p.mnemonic.item)){i.push({...p,error:`Item "${n} ${g} ${p.mnemonic.item}" does not exist.`});continue}}else for(const d of p.mnemonic.params)if(!k.some(v=>v===d)){i.push({...p,error:`Command "${n} ${g}" param "${d}" does not exist.`});continue}}}return i}}const ze={key:0},Pe={key:1},ge={__name:"RunningScripts",props:{tabId:{type:Number,default:null},curTab:{type:Number,default:null},connectInNewTab:Boolean},emits:["disconnect","close"],setup(t,{emit:o}){const i=t,a=o,n=Ve.useRouter(),s=e.inject("notify"),g=e.inject("dialog"),{formatDateTimeHMS:p}=ye.TimeFilters.methods,m=new N.ji,k=e.ref("local"),d=e.ref("completed"),v=e.ref(null),b=e.ref(null),V=e.ref(""),_=e.ref([]),B=e.ref(0),x=e.ref(!1),R=e.ref(1),E=e.ref(10),O=[{title:"Connect",key:"connect",sortable:!1,filterable:!1},{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Stop",key:"stop",sortable:!1,filterable:!1}],U=e.ref(""),T=e.ref([]),y=e.ref(0),A=e.ref(!1),D=e.ref(1),w=e.ref(10),q=[{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Log",key:"log",sortable:!1,filterable:!1},{title:"Report",key:"report",sortable:!1,filterable:!1}],P=e.ref(!1),z=e.ref(""),L=e.ref(""),J=e.ref("");e.watch(d,l=>{l==="running"?M():l==="completed"&&Q()}),e.onMounted(async()=>{try{const l=await m.get_setting("time_zone");l&&(k.value=l)}catch{}M(),Q(),b.value=setInterval(()=>{d.value==="running"&&M()},5e3)}),e.onBeforeUnmount(()=>{b.value&&clearInterval(b.value)});function G(l){if(l<0)return"N/A";if(l<1e3)return"< 1s";if(l<6e4)return`${Math.round(l/1e3)}s`;if(l<36e5){const r=Math.floor(l/6e4),h=Math.round(l%6e4/1e3);return`${r}m ${h}s`}else{const r=Math.floor(l/36e5),h=Math.floor(l%36e5/6e4),u=Math.round(l%6e4/1e3);return`${r}h ${h}m ${u}s`}}async function M(){x.value=!0;const l=(R.value-1)*E.value;try{const r=await N.es.get(`/script-api/running-script?scope=DEFAULT&offset=${l}&limit=${E.value}`),h=r.data.items||[],u=new Date;h.forEach(f=>{if(f.user_display=`${f.user_full_name} (${f.username})`,f.start_time){const C=new Date(f.start_time),S=u-C;f.start_time_formatted=p(C,k.value),f.duration=G(S)}else f.duration="N/A"}),_.value=h,B.value=r.data.total||h.length,x.value=!1}catch(r){x.value=!1,s.caution({title:"Error Loading Running Scripts",body:r.message})}}function H(l){R.value=l,M()}function se(l){E.value=l,R.value=1,M()}async function Q(){A.value=!0;const l=(D.value-1)*w.value;try{const r=await N.es.get(`/script-api/completed-scripts?scope=DEFAULT&offset=${l}&limit=${w.value}`),h=r.data.items||[];h.forEach(u=>{if(u.user_display=`${u.user_full_name} (${u.username})`,u.start_time&&u.end_time){const f=new Date(u.start_time),S=new Date(u.end_time)-f;u.start_time_formatted=p(f,k.value),u.duration=G(S)}else u.duration="N/A"}),T.value=h,y.value=r.data.total||h.length,A.value=!1}catch(r){A.value=!1,s.caution({title:"Error Loading Completed Scripts",body:r.message})}}function $(l){D.value=l,Q()}function le(l){w.value=l,D.value=1,Q()}function ne(l){L.value=JSON.stringify(l,null,2),z.value="Script: "+l.name,J.value="",P.value=!0}function ae(l){a("disconnect");const r={name:"ScriptRunner",params:{id:l.name}};if(i.connectInNewTab){const{href:h}=n.resolve(r);window.open(h,"_blank")}else n.push(r),a("close")}async function ee(l){try{await g.confirm(`Are you sure you want to stop script: ${l.name} ${l.filename}?
3
- `,{okText:"Stop",cancelText:"Cancel"}),await N.es.post(`/script-api/running-script/${l.name}/delete`),s.normal({body:`Stopped script: ${l.name} ${l.filename}`}),M()}catch(r){r!==!0&&s.caution({body:`Failed to stop script: ${l.name} ${l.filename}`})}}async function j(l,r){let h=null;r==="report"?(z.value="Report",h=l.report):(z.value="Log",h=l.log);const u=await N.es.get(`/openc3-api/storage/download_file/${encodeURIComponent(h)}?bucket=OPENC3_LOGS_BUCKET`),f=h.split("/");J.value=f[f.length-1],L.value=window.atob(u.data.contents),P.value=!0}async function te(l,r,h="text"){let u=null;r==="report"?(z.value="Report",u=l.report):(z.value="Log",u=l.log),v.value=l;try{if(h==="ctrf"&&r==="report"){const f=await N.es.get(`/openc3-api/storage/download_file/${encodeURIComponent(u)}?bucket=OPENC3_LOGS_BUCKET&format=ctrf`),C=new Blob([window.atob(f.data.contents)],{type:"application/json"}),S=document.createElement("a");S.href=URL.createObjectURL(C),S.setAttribute("download",f.data.filename),S.click(),v.value=null}else{const f=await N.es.get(`/openc3-api/storage/download/${encodeURIComponent(u)}?bucket=OPENC3_LOGS_BUCKET`),C=u.split("/"),S=C[C.length-1],F=document.createElement("a");F.href=f.data.url,F.setAttribute("download",S),F.click(),v.value=null}}catch{s.caution({title:`Unable to download log ${u}`,body:`You may be able to download this log manually from the 'logs' bucket at ${u}`}),v.value=null}}return(l,r)=>{const h=e.resolveComponent("v-tab"),u=e.resolveComponent("v-tabs"),f=e.resolveComponent("v-spacer"),C=e.resolveComponent("v-btn"),S=e.resolveComponent("v-text-field"),F=e.resolveComponent("v-row"),K=e.resolveComponent("v-card-title"),oe=e.resolveComponent("v-icon"),c=e.resolveComponent("v-data-table-server"),W=e.resolveComponent("v-window-item"),ue=e.resolveComponent("v-list-item-title"),me=e.resolveComponent("v-list-item"),_e=e.resolveComponent("v-list"),ke=e.resolveComponent("v-menu"),be=e.resolveComponent("v-window"),xe=e.resolveComponent("v-card");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(xe,{flat:"",class:"tab-card"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=I=>d.value=I),"bg-color":"var(--color-background-base-default)"},{default:e.withCtx(()=>[e.createVNode(h,{value:"running"},{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createTextVNode("Running Scripts",-1)])]),_:1}),e.createVNode(h,{value:"completed"},{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode("Completed Scripts",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(be,{modelValue:d.value,"onUpdate:modelValue":r[3]||(r[3]=I=>d.value=I)},{default:e.withCtx(()=>[e.createVNode(W,{value:"running"},{default:e.withCtx(()=>[e.createVNode(K,null,{default:e.withCtx(()=>[e.createVNode(F,{dense:""},{default:e.withCtx(()=>[e.createVNode(f),e.createVNode(C,{class:"mr-3",color:"primary",onClick:M},{default:e.withCtx(()=>[...r[8]||(r[8]=[e.createTextVNode(" Refresh ",-1)])]),_:1}),e.createVNode(S,{modelValue:V.value,"onUpdate:modelValue":r[1]||(r[1]=I=>V.value=I),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"running-search",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(c,{headers:O,items:_.value,"items-length":B.value,loading:x.value,search:V.value,density:"compact","data-test":"running-scripts","items-per-page":E.value,page:R.value,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":H,"onUpdate:itemsPerPage":se},{"item.name":e.withCtx(({item:I})=>[e.createVNode(C,{color:"primary",density:"comfortable",onClick:X=>ne(I)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.name),1)]),_:2},1032,["onClick"])]),"item.connect":e.withCtx(({item:I})=>[e.createVNode(C,{color:"primary",onClick:X=>ae(I)},{default:e.withCtx(()=>[r[10]||(r[10]=e.createElementVNode("span",null,"Connect",-1)),e.withDirectives(e.createVNode(oe,{end:""},{default:e.withCtx(()=>[...r[9]||(r[9]=[e.createTextVNode(" mdi-open-in-new ",-1)])]),_:1},512),[[e.vShow,t.connectInNewTab]])]),_:1},8,["onClick"])]),"item.stop":e.withCtx(({item:I})=>[e.createVNode(C,{color:"primary",onClick:X=>ee(I)},{default:e.withCtx(()=>[r[12]||(r[12]=e.createElementVNode("span",null,"Stop",-1)),e.createVNode(oe,{end:""},{default:e.withCtx(()=>[...r[11]||(r[11]=[e.createTextVNode(" mdi-close-circle-outline ",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1},8,["items","items-length","loading","search","items-per-page","page"])]),_:1}),e.createVNode(W,{value:"completed"},{default:e.withCtx(()=>[e.createVNode(K,null,{default:e.withCtx(()=>[e.createVNode(F,{dense:""},{default:e.withCtx(()=>[e.createVNode(f),e.createVNode(C,{class:"mr-3",color:"primary",onClick:Q},{default:e.withCtx(()=>[...r[13]||(r[13]=[e.createTextVNode(" Refresh ",-1)])]),_:1}),e.createVNode(S,{modelValue:U.value,"onUpdate:modelValue":r[2]||(r[2]=I=>U.value=I),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(c,{headers:q,items:T.value,"items-length":y.value,loading:A.value,search:U.value,density:"compact","data-test":"completed-scripts","items-per-page":w.value,page:D.value,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":$,"onUpdate:itemsPerPage":le},{"item.name":e.withCtx(({item:I})=>[e.createVNode(C,{color:"primary",density:"comfortable",onClick:X=>ne(I)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.name),1)]),_:2},1032,["onClick"])]),"item.log":e.withCtx(({item:I})=>[e.createVNode(C,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:X=>j(I,"log")},null,8,["onClick"]),e.createVNode(C,{color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:v.value,loading:v.value&&v.value.name===I.name,onClick:X=>te(I,"log")},null,8,["disabled","loading","onClick"])]),"item.report":e.withCtx(({item:I})=>[I.report?(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(C,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:X=>j(I,"report")},null,8,["onClick"]),e.createVNode(ke,null,{activator:e.withCtx(({props:X})=>[e.createVNode(C,e.mergeProps({color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:v.value,loading:v.value&&v.value.name===I.name},X),null,16,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(me,{onClick:X=>te(I,"report","text")},{default:e.withCtx(()=>[e.createVNode(ue,null,{default:e.withCtx(()=>[...r[15]||(r[15]=[e.createTextVNode("Download as Text",-1)])]),_:1})]),_:1},8,["onClick"]),e.createVNode(me,{onClick:X=>te(I,"report","ctrf")},{default:e.withCtx(()=>[e.createVNode(ue,null,{default:e.withCtx(()=>[...r[16]||(r[16]=[e.createTextVNode("Download as CTRF",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",ze,[...r[14]||(r[14]=[e.createElementVNode("span",null,"N/A",-1)])]))]),_:1},8,["items","items-length","loading","search","items-per-page","page"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),P.value?(e.openBlock(),e.createBlock(e.unref(fe.OutputDialog),{key:0,modelValue:P.value,"onUpdate:modelValue":r[4]||(r[4]=I=>P.value=I),content:L.value,type:"Script",name:z.value,filename:J.value,onSubmit:r[5]||(r[5]=I=>P.value=!1)},null,8,["modelValue","content","name","filename"])):e.createCommentVNode("",!0)])}}},we={__name:"ScriptLogMessages",props:{modelValue:{type:Array,required:!0},modelModifiers:{}},emits:e.mergeModels(["sort"],["update:modelValue"]),setup(t,{emit:o}){const i=e.useModel(t,"modelValue"),a=o,n=e.inject("dialog"),s=e.ref(""),g=[{title:"Message",value:"message",sortable:!1}],p=["Newest on Top","Newest on Bottom"],m=e.ref("Newest on Top");e.watch(m,b=>{a("sort",b)});function k(b){return b.match(/(CHECK|WAIT): .*(success|was within range.*) with value/)?"openc3-green":b.match(/(CHECK|WAIT): .*(failed|failed to be within range.*) with value/)?"openc3-red":""}function d(){const b=i.value.map(B=>B.message).join(`
4
- `),V=new Blob([b],{type:"text/plain"}),_=document.createElement("a");_.href=URL.createObjectURL(V),_.setAttribute("download",N.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_sr_message_log.txt"),_.click()}async function v(){try{await n.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}),i.value=[]}catch{}}return(b,V)=>{const _=e.resolveComponent("v-btn"),B=e.resolveComponent("v-spacer"),x=e.resolveComponent("v-select"),R=e.resolveComponent("v-text-field"),E=e.resolveComponent("v-card-title"),O=e.resolveComponent("v-data-table"),U=e.resolveComponent("v-card-text"),T=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(T,{class:"d-flex flex-column h-100"},{default:e.withCtx(()=>[e.createVNode(E,{class:"d-flex align-center"},{default:e.withCtx(()=>[e.createVNode(_,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-log","aria-label":"Download Log",onClick:d}),V[2]||(V[2]=e.createTextVNode(" Script Messages ",-1)),e.createVNode(B),e.createVNode(x,{modelValue:m.value,"onUpdate:modelValue":V[0]||(V[0]=y=>m.value=y),density:"compact","hide-details":"",variant:"outlined",items:p,class:"mr-2",style:{"max-width":"200px"},"data-test":"message-order"},null,8,["modelValue"]),e.createVNode(B),e.createVNode(R,{modelValue:s.value,"onUpdate:modelValue":V[1]||(V[1]=y=>s.value=y),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search","data-test":"search-messages"},null,8,["modelValue"]),e.createVNode(_,{class:"mx-2",icon:"mdi-delete-sweep",variant:"text",density:"compact","data-test":"clear-log","aria-label":"Clear Log",onClick:v})]),_:1}),e.createVNode(U,{class:"overflow-auto"},{default:e.withCtx(()=>[e.createVNode(O,{id:"script-log-messages",headers:g,items:i.value,search:s.value,"items-per-page":-1,"hide-default-footer":"",density:"compact","data-test":"output-messages"},{"item.message":e.withCtx(({item:y})=>[e.createElementVNode("div",{class:e.normalizeClass(k(y.message))},e.toDisplayString(y.message),3)]),_:1},8,["items","search"])]),_:1})]),_:1})}}},Ie={__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick"],setup(t,{emit:o}){const i=o,a=t,n=e.useSlots(),s=e.ref([]),g=e.computed(()=>s.value.reduce((l,r)=>(l[~~r.id]=r)&&l,{})),p=e.computed(()=>s.value.length),m=e.ref(null),k=e.ref(!1),d=e.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),v=e.ref({splitter:null,timeoutId:null}),b=e.computed(()=>({[`splitpanes splitpanes--${a.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":d.value.dragging})),V=()=>{document.addEventListener("mousemove",x,{passive:!1}),document.addEventListener("mouseup",R),"ontouchstart"in window&&(document.addEventListener("touchmove",x,{passive:!1}),document.addEventListener("touchend",R))},_=()=>{document.removeEventListener("mousemove",x,{passive:!1}),document.removeEventListener("mouseup",R),"ontouchstart"in window&&(document.removeEventListener("touchmove",x,{passive:!1}),document.removeEventListener("touchend",R))},B=(l,r)=>{const h=l.target.closest(".splitpanes__splitter");if(h){const{left:u,top:f}=h.getBoundingClientRect(),{clientX:C,clientY:S}="ontouchstart"in window&&l.touches?l.touches[0]:l;d.value.cursorOffset=a.horizontal?S-f:C-u}V(),d.value.mouseDown=!0,d.value.activeSplitter=r},x=l=>{d.value.mouseDown&&(l.preventDefault(),d.value.dragging=!0,requestAnimationFrame(()=>{A(T(l)),j("resize",{event:l},!0)}))},R=l=>{d.value.dragging&&(window.getSelection().removeAllRanges(),j("resized",{event:l},!0)),d.value.mouseDown=!1,d.value.activeSplitter=null,setTimeout(()=>{d.value.dragging=!1,_()},100)},E=(l,r)=>{"ontouchstart"in window&&(l.preventDefault(),v.value.splitter===r?(clearTimeout(v.value.timeoutId),v.value.timeoutId=null,O(l,r),v.value.splitter=null):(v.value.splitter=r,v.value.timeoutId=setTimeout(()=>v.value.splitter=null,500))),d.value.dragging||j("splitter-click",{event:l,index:r},!0)},O=(l,r)=>{if(j("splitter-dblclick",{event:l,index:r},!0),a.maximizePanes){let h=0;s.value=s.value.map((u,f)=>(u.size=f===r?u.max:u.min,f!==r&&(h+=u.min),u)),s.value[r].size-=h,j("pane-maximize",{event:l,index:r,pane:s.value[r]}),j("resized",{event:l,index:r},!0)}},U=(l,r)=>{j("pane-click",{event:l,index:g.value[r].index,pane:g.value[r]})},T=l=>{const r=m.value.getBoundingClientRect(),{clientX:h,clientY:u}="ontouchstart"in window&&l.touches?l.touches[0]:l;return{x:h-(a.horizontal?0:d.value.cursorOffset)-r.left,y:u-(a.horizontal?d.value.cursorOffset:0)-r.top}},y=l=>{l=l[a.horizontal?"y":"x"];const r=m.value[a.horizontal?"clientHeight":"clientWidth"];return a.rtl&&!a.horizontal&&(l=r-l),l*100/r},A=l=>{const r=d.value.activeSplitter;let h={prevPanesSize:w(r),nextPanesSize:q(r),prevReachedMinPanes:0,nextReachedMinPanes:0};const u=0+(a.pushOtherPanes?0:h.prevPanesSize),f=100-(a.pushOtherPanes?0:h.nextPanesSize),C=Math.max(Math.min(y(l),f),u);let S=[r,r+1],F=s.value[S[0]]||null,K=s.value[S[1]]||null;const oe=F.max<100&&C>=F.max+h.prevPanesSize,c=K.max<100&&C<=100-(K.max+q(r+1));if(oe||c){oe?(F.size=F.max,K.size=Math.max(100-F.max-h.prevPanesSize-h.nextPanesSize,0)):(F.size=Math.max(100-K.max-h.prevPanesSize-q(r+1),0),K.size=K.max);return}if(a.pushOtherPanes){const W=D(h,C);if(!W)return;({sums:h,panesToResize:S}=W),F=s.value[S[0]]||null,K=s.value[S[1]]||null}F!==null&&(F.size=Math.min(Math.max(C-h.prevPanesSize-h.prevReachedMinPanes,F.min),F.max)),K!==null&&(K.size=Math.min(Math.max(100-C-h.nextPanesSize-h.nextReachedMinPanes,K.min),K.max))},D=(l,r)=>{const h=d.value.activeSplitter,u=[h,h+1];return r<l.prevPanesSize+s.value[u[0]].min&&(u[0]=P(h).index,l.prevReachedMinPanes=0,u[0]<h&&s.value.forEach((f,C)=>{C>u[0]&&C<=h&&(f.size=f.min,l.prevReachedMinPanes+=f.min)}),l.prevPanesSize=w(u[0]),u[0]===void 0)?(l.prevReachedMinPanes=0,s.value[0].size=s.value[0].min,s.value.forEach((f,C)=>{C>0&&C<=h&&(f.size=f.min,l.prevReachedMinPanes+=f.min)}),s.value[u[1]].size=100-l.prevReachedMinPanes-s.value[0].min-l.prevPanesSize-l.nextPanesSize,null):r>100-l.nextPanesSize-s.value[u[1]].min&&(u[1]=z(h).index,l.nextReachedMinPanes=0,u[1]>h+1&&s.value.forEach((f,C)=>{C>h&&C<u[1]&&(f.size=f.min,l.nextReachedMinPanes+=f.min)}),l.nextPanesSize=q(u[1]-1),u[1]===void 0)?(l.nextReachedMinPanes=0,s.value.forEach((f,C)=>{C<p.value-1&&C>=h+1&&(f.size=f.min,l.nextReachedMinPanes+=f.min)}),s.value[u[0]].size=100-l.prevPanesSize-q(u[0]-1),null):{sums:l,panesToResize:u}},w=l=>s.value.reduce((r,h,u)=>r+(u<l?h.size:0),0),q=l=>s.value.reduce((r,h,u)=>r+(u>l+1?h.size:0),0),P=l=>[...s.value].reverse().find(r=>r.index<l&&r.size>r.min)||{},z=l=>s.value.find(r=>r.index>l+1&&r.size>r.min)||{},L=()=>{var l;const r=Array.from(((l=m.value)==null?void 0:l.children)||[]);for(const h of r){const u=h.classList.contains("splitpanes__pane"),f=h.classList.contains("splitpanes__splitter");!u&&!f&&(h.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},J=(l,r,h=!1)=>{const u=l-1,f=document.createElement("div");f.classList.add("splitpanes__splitter"),h||(f.onmousedown=C=>B(C,u),typeof window<"u"&&"ontouchstart"in window&&(f.ontouchstart=C=>B(C,u)),f.onclick=C=>E(C,u+1)),f.ondblclick=C=>O(C,u+1),r.parentNode.insertBefore(f,r)},G=l=>{l.onmousedown=void 0,l.onclick=void 0,l.ondblclick=void 0,l.remove()},M=()=>{var l;const r=Array.from(((l=m.value)==null?void 0:l.children)||[]);for(const u of r)u.className.includes("splitpanes__splitter")&&G(u);let h=0;for(const u of r)u.className.includes("splitpanes__pane")&&(!h&&a.firstSplitter?J(h,u,!0):h&&J(h,u),h++)},H=({uid:l,...r})=>{const h=g.value[l];for(const[u,f]of Object.entries(r))h[u]=f},se=l=>{var r;let h=-1;Array.from(((r=m.value)==null?void 0:r.children)||[]).some(u=>(u.className.includes("splitpanes__pane")&&h++,u.isSameNode(l.el))),s.value.splice(h,0,{...l,index:h}),s.value.forEach((u,f)=>u.index=f),k.value&&e.nextTick(()=>{M(),$({addedPane:s.value[h]}),j("pane-add",{pane:s.value[h]})})},Q=l=>{const r=s.value.findIndex(u=>u.id===l);s.value[r].el=null;const h=s.value.splice(r,1)[0];s.value.forEach((u,f)=>u.index=f),e.nextTick(()=>{M(),j("pane-remove",{pane:h}),$({removedPane:{...h}})})},$=(l={})=>{!l.addedPane&&!l.removedPane?ne():s.value.some(r=>r.givenSize!==null||r.min||r.max<100)?ae(l):le(),k.value&&j("resized")},le=()=>{const l=100/p.value;let r=0;const h=[],u=[];for(const f of s.value)f.size=Math.max(Math.min(l,f.max),f.min),r-=f.size,f.size>=f.max&&h.push(f.id),f.size<=f.min&&u.push(f.id);r>.1&&ee(r,h,u)},ne=()=>{let l=100;const r=[],h=[];let u=0;for(const C of s.value)l-=C.size,C.givenSize!==null&&u++,C.size>=C.max&&r.push(C.id),C.size<=C.min&&h.push(C.id);let f=100;if(l>.1){for(const C of s.value)C.givenSize===null&&(C.size=Math.max(Math.min(l/(p.value-u),C.max),C.min)),f-=C.size;f>.1&&ee(f,r,h)}},ae=({addedPane:l,removedPane:r}={})=>{let h=100/p.value,u=0;const f=[],C=[];(l?.givenSize??null)!==null&&(h=(100-l.givenSize)/(p.value-1));for(const S of s.value)u-=S.size,S.size>=S.max&&f.push(S.id),S.size<=S.min&&C.push(S.id);if(!(Math.abs(u)<.1)){for(const S of s.value)l?.givenSize!==null&&l?.id===S.id||(S.size=Math.max(Math.min(h,S.max),S.min)),u-=S.size,S.size>=S.max&&f.push(S.id),S.size<=S.min&&C.push(S.id);u>.1&&ee(u,f,C)}},ee=(l,r,h)=>{let u;l>0?u=l/(p.value-r.length):u=l/(p.value-h.length),s.value.forEach((f,C)=>{if(l>0&&!r.includes(f.id)){const S=Math.max(Math.min(f.size+u,f.max),f.min),F=S-f.size;l-=F,f.size=S}else if(!h.includes(f.id)){const S=Math.max(Math.min(f.size+u,f.max),f.min),F=S-f.size;l-=F,f.size=S}}),Math.abs(l)>.1&&e.nextTick(()=>{k.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})},j=(l,r=void 0,h=!1)=>{const u=r?.index??d.value.activeSplitter??null;i(l,{...r,...u!==null&&{index:u},...h&&u!==null&&{prevPane:s.value[u-(a.firstSplitter?1:0)],nextPane:s.value[u+(a.firstSplitter?0:1)]},panes:s.value.map(f=>({min:f.min,max:f.max,size:f.size}))})};e.watch(()=>a.firstSplitter,()=>M()),e.onMounted(()=>{L(),M(),$(),j("ready"),k.value=!0}),e.onBeforeUnmount(()=>k.value=!1);const te=()=>{var l;return e.h("div",{ref:m,class:b.value},(l=n.default)==null?void 0:l.call(n))};return e.provide("panes",s),e.provide("indexedPanes",g),e.provide("horizontal",e.computed(()=>a.horizontal)),e.provide("requestUpdate",H),e.provide("onPaneAdd",se),e.provide("onPaneRemove",Q),e.provide("onPaneClick",U),(l,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(te)))}},Fe={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(t){var o;const i=t,a=e.inject("requestUpdate"),n=e.inject("onPaneAdd"),s=e.inject("horizontal"),g=e.inject("onPaneRemove"),p=e.inject("onPaneClick"),m=(o=e.getCurrentInstance())==null?void 0:o.uid,k=e.inject("indexedPanes"),d=e.computed(()=>k.value[m]),v=e.ref(null),b=e.computed(()=>{const x=isNaN(i.size)||i.size===void 0?0:parseFloat(i.size);return Math.max(Math.min(x,_.value),V.value)}),V=e.computed(()=>{const x=parseFloat(i.minSize);return isNaN(x)?0:x}),_=e.computed(()=>{const x=parseFloat(i.maxSize);return isNaN(x)?100:x}),B=e.computed(()=>{var x;return`${s.value?"height":"width"}: ${(x=d.value)==null?void 0:x.size}%`});return e.watch(()=>b.value,x=>a({uid:m,size:x})),e.watch(()=>V.value,x=>a({uid:m,min:x})),e.watch(()=>_.value,x=>a({uid:m,max:x})),e.onMounted(()=>{n({id:m,el:v.value,min:V.value,max:_.value,givenSize:i.size===void 0?null:b.value,size:b.value})}),e.onBeforeUnmount(()=>g(m)),(x,R)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"paneEl",ref:v,class:"splitpanes__pane",onClick:R[0]||(R[0]=E=>e.unref(p)(E,x._.uid)),style:e.normalizeStyle(B.value)},[e.renderSlot(x.$slots,"default")],4))}},Le={class:"pa-2"},Ae={class:"question"},qe={__name:"AskDialog",props:e.mergeModels({question:{type:String,required:!0},default:{type:String,default:null},password:{type:Boolean,default:!1},answerRequired:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const i=t,a=o,n=e.useModel(t,"modelValue"),s=e.ref(i.default||""),g=e.ref(!!i.default||!i.answerRequired),p=e.computed(()=>i.answerRequired?[d=>!!d||"Required"]:[d=>!0]);function m(){a("response",s.value)}function k(){a("response","COSMOS__CANCEL")}return(d,v)=>{const b=e.resolveComponent("v-spacer"),V=e.resolveComponent("v-toolbar"),_=e.resolveComponent("v-text-field"),B=e.resolveComponent("v-card-text"),x=e.resolveComponent("v-btn"),R=e.resolveComponent("v-card-actions"),E=e.resolveComponent("v-form"),O=e.resolveComponent("v-card"),U=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(U,{modelValue:n.value,"onUpdate:modelValue":v[2]||(v[2]=T=>n.value=T),persistent:"",width:"600",onKeydown:e.withKeys(k,["esc"])},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[e.createVNode(E,{modelValue:g.value,"onUpdate:modelValue":v[1]||(v[1]=T=>g.value=T),onSubmit:e.withModifiers(m,["prevent"])},{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(b),v[3]||(v[3]=e.createElementVNode("span",null," User Input Required ",-1)),e.createVNode(b)]),_:1}),e.createElementVNode("div",Le,[e.createVNode(B,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ae,e.toDisplayString(t.question),1),e.createVNode(_,{modelValue:s.value,"onUpdate:modelValue":v[0]||(v[0]=T=>s.value=T),autofocus:"","data-test":"ask-value-input",type:t.password?"password":"text",rules:p.value},null,8,["modelValue","type","rules"])]),_:1})]),e.createVNode(R,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(b),e.createVNode(x,{variant:"outlined","data-test":"ask-cancel",onClick:k},{default:e.withCtx(()=>[...v[4]||(v[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(x,{variant:"flat",type:"submit","data-test":"ask-ok",disabled:!g.value,onClick:e.withModifiers(m,["prevent"])},{default:e.withCtx(()=>[...v[5]||(v[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])}}},He=ie._export_sfc(qe,[["__scopeId","data-v-97451a95"]]),Ge={props:{title:{type:String,required:!0},message:{type:String,default:null},defaultPath:{type:String,default:null},filter:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","response"],data(){return{buckets:[],selectedBucket:null,path:"",files:[],selectedFile:null,search:"",loading:!1,pendingPreselect:null}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},breadcrumbPath(){if(!this.path)return[];const t=this.path.split("/").filter(o=>!!o);return t.map((o,i)=>({name:o,path:t.slice(0,i+1).join("/")+"/"}))},filteredFiles(){let t=this.files;if(this.filter){const i=this.filter.split(",").map(a=>a.trim().toLowerCase()).filter(a=>!!a);i.length>0&&(t=t.filter(a=>a.icon==="mdi-folder"||i.some(n=>a.name.toLowerCase().endsWith(n))))}if(!this.search)return t;const o=this.search.toLowerCase();return t.filter(i=>i.name.toLowerCase().includes(o))}},created(){N.es.get("/openc3-api/storage/buckets").then(t=>{this.buckets=t.data,this.applyDefaultPath()})},methods:{formatSize(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`},applyDefaultPath(){if(!this.defaultPath)return;const o=this.defaultPath.replace(/^\/+/,"").split("/").filter(m=>!!m);if(o.length===0||o.includes(".."))return;const i=o.filter(m=>m!=="."),a=i.shift().toLowerCase(),n=this.buckets.find(m=>m.toLowerCase()===a);if(!n)return;this.selectedBucket=n;const s=i.length>0&&this.defaultPath.endsWith("/");let g=null,p=i;i.length>0&&!s&&(g=i[i.length-1],p=i.slice(0,-1)),this.path=p.length>0?p.join("/")+"/":"",this.pendingPreselect=g,this.updateFiles()},selectBucket(t){this.selectedBucket=t,this.path="",this.selectedFile=null,this.pendingPreselect=null,this.updateFiles()},backArrow(){if(this.path==="")return;const t=this.path.split("/");this.path=t.slice(0,-2).join("/"),this.path&&(this.path+="/"),this.selectedFile=null,this.updateFiles()},gotoPath(t){this.path=t,this.selectedFile=null,this.updateFiles()},itemClick(t){t.icon==="mdi-folder"?(this.path+=`${t.name}/`,this.selectedFile=null,this.updateFiles()):this.selectedFile=t.name},itemDblClick(t){t.icon==="mdi-file"&&(this.selectedFile=t.name,this.submitHandler())},updateFiles(){this.loading=!0;const t=this.selectedBucket.toUpperCase();N.es.get(`/openc3-api/storage/files/OPENC3_${t}_BUCKET/${this.path}`).then(o=>{if(this.files=o.data[0].map(i=>({name:i,icon:"mdi-folder"})),this.files=this.files.concat(o.data[1].map(i=>({name:i.name,icon:"mdi-file",size:i.size}))),this.loading=!1,this.pendingPreselect){const i=this.pendingPreselect;this.pendingPreselect=null,this.files.find(n=>n.name===i&&n.icon==="mdi-file")&&(this.selectedFile=i)}}).catch(()=>{this.files=[],this.loading=!1,this.pendingPreselect=null})},submitHandler(){this.$emit("response",{bucket:`OPENC3_${this.selectedBucket.toUpperCase()}_BUCKET`,path:`${this.path}${this.selectedFile}`,filename:this.selectedFile})},cancelHandler(){this.$emit("response","COSMOS__CANCEL")}}},je={class:"pa-2"},Ke={class:"text-h6"},We=["textContent"],Je={class:"ma-2",style:{"font-size":"0.875rem"},"data-test":"bucket-path"},Ye=["onClick"],Xe={class:"text-caption"};function Qe(t,o,i,a,n,s){const g=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),k=e.resolveComponent("v-icon"),d=e.resolveComponent("v-chip"),v=e.resolveComponent("v-btn"),b=e.resolveComponent("v-text-field"),V=e.resolveComponent("v-progress-circular"),_=e.resolveComponent("v-list-item"),B=e.resolveComponent("v-list-item-title"),x=e.resolveComponent("v-list"),R=e.resolveComponent("v-col"),E=e.resolveComponent("v-card-text"),O=e.resolveComponent("v-card-actions"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(T,{modelValue:s.show,"onUpdate:modelValue":o[1]||(o[1]=y=>s.show=y),persistent:"",width:"800",onKeydown:e.withKeys(s.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(g),o[2]||(o[2]=e.createElementVNode("span",null," Bucket Dialog ",-1)),e.createVNode(g)]),_:1}),e.createElementVNode("div",je,[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createElementVNode("span",Ke,e.toDisplayString(i.title),1)]),_:1}),i.message?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(i.message)},null,8,We)]),_:1})):e.createCommentVNode("",!0),e.createVNode(m,{class:"my-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.buckets,(y,A)=>(e.openBlock(),e.createBlock(d,{key:A,variant:n.selectedBucket===y?"elevated":"outlined",color:"primary",class:"ma-2","data-test":"bucket-chip",onClick:e.withModifiers(D=>s.selectBucket(y),["stop"])},{default:e.withCtx(()=>[e.createVNode(k,{start:""},{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode("mdi-bucket",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(y),1)]),_:2},1032,["variant","onClick"]))),128))]),_:1}),n.selectedBucket?(e.openBlock(),e.createBlock(m,{key:1,class:"my-1"},{default:e.withCtx(()=>[e.createVNode(R,{class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(m,{class:"ma-0 align-center",style:{"background-color":"var(--color-background-surface-header)"}},{default:e.withCtx(()=>[e.createVNode(v,{icon:"mdi-chevron-left-box-outline",variant:"text",density:"compact",class:"ml-2","data-test":"bucket-nav-back","aria-label":"Navigate Back",onClick:e.withModifiers(s.backArrow,["stop"])},null,8,["onClick"]),e.createElementVNode("div",Je,[e.createTextVNode(e.toDisplayString(n.selectedBucket)+"/",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.breadcrumbPath,(y,A)=>(e.openBlock(),e.createElementBlock("span",{key:A},[e.createElementVNode("a",{style:{cursor:"pointer"},onClick:e.withModifiers(D=>s.gotoPath(y.path),["prevent"])},e.toDisplayString(y.name),9,Ye),o[4]||(o[4]=e.createTextVNode("/",-1))]))),128))])]),_:1}),e.createVNode(b,{modelValue:n.search,"onUpdate:modelValue":o[0]||(o[0]=y=>n.search=y),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"mx-2 mt-2","data-test":"bucket-search"},null,8,["modelValue"]),e.createVNode(x,{density:"compact",class:"bucket-file-list","data-test":"bucket-file-list"},{default:e.withCtx(()=>[n.loading?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createVNode(V,{indeterminate:"",size:"20",class:"mr-2"}),o[5]||(o[5]=e.createTextVNode(" Loading... ",-1))]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.filteredFiles,y=>(e.openBlock(),e.createBlock(_,{key:y.name,class:e.normalizeClass({"selected-file":n.selectedFile===y.name&&y.icon==="mdi-file"}),"data-test":`bucket-item-${y.name}`,onClick:A=>s.itemClick(y),onDblclick:A=>s.itemDblClick(y)},e.createSlots({prepend:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.icon),1)]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.name),1)]),_:2},1024)]),_:2},[y.size?{name:"append",fn:e.withCtx(()=>[e.createElementVNode("span",Xe,e.toDisplayString(s.formatSize(y.size)),1)]),key:"0"}:void 0]),1032,["class","data-test","onClick","onDblclick"]))),128)),!n.loading&&s.filteredFiles.length===0?(e.openBlock(),e.createBlock(_,{key:1},{default:e.withCtx(()=>[e.createVNode(B,{class:"text-caption text-grey"},{default:e.withCtx(()=>[...o[6]||(o[6]=[e.createTextVNode(" No files found ",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1})]),e.createVNode(O,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(g),e.createVNode(v,{variant:"outlined","data-test":"bucket-cancel",onClick:s.cancelHandler},{default:e.withCtx(()=>[...o[7]||(o[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(v,{variant:"flat","data-test":"bucket-ok",disabled:!n.selectedFile,onClick:e.withModifiers(s.submitHandler,["prevent"])},{default:e.withCtx(()=>[...o[8]||(o[8]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"])}const Ze=ie._export_sfc(Ge,[["render",Qe],["__scopeId","data-v-e83c6aaa"]]),$e={class:"pa-2"},et={class:"text-h6"},tt=["textContent"],ot={__name:"FileDialog",props:e.mergeModels({title:{type:String,required:!0},message:{type:String,default:null},filter:{type:String,default:"*"},multiple:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const i=t,a=e.useModel(t,"modelValue"),n=o,s=e.ref(null),g=e.ref(null),p=e.computed(()=>[d=>i.multiple?d.length!=0||"Required":!!d||"Required"]),m=()=>{let d=s.value;Array.isArray(d)||(d=[d]),n("response",d)},k=()=>{n("response","COSMOS__CANCEL")};return(d,v)=>{const b=e.resolveComponent("v-spacer"),V=e.resolveComponent("v-toolbar"),_=e.resolveComponent("v-row"),B=e.resolveComponent("v-file-input"),x=e.resolveComponent("v-card-text"),R=e.resolveComponent("v-btn"),E=e.resolveComponent("v-card-actions"),O=e.resolveComponent("v-form"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(T,{modelValue:a.value,"onUpdate:modelValue":v[2]||(v[2]=y=>a.value=y),persistent:"",width:"600",onKeydown:e.withKeys(k,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(O,{modelValue:g.value,"onUpdate:modelValue":v[1]||(v[1]=y=>g.value=y),onSubmit:e.withModifiers(m,["prevent"])},{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(b),v[3]||(v[3]=e.createElementVNode("span",null," File Dialog ",-1)),e.createVNode(b)]),_:1}),e.createElementVNode("div",$e,[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("span",et,e.toDisplayString(t.title),1)]),_:1}),t.message?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(t.message)},null,8,tt)]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{class:"my-1"},{default:e.withCtx(()=>[e.createVNode(B,{modelValue:s.value,"onUpdate:modelValue":v[0]||(v[0]=y=>s.value=y),label:"Choose File",rules:p.value,autofocus:"","data-test":"file-input",accept:t.filter,"small-chips":"",multiple:t.multiple},null,8,["modelValue","rules","accept","multiple"])]),_:1})]),_:1})]),e.createVNode(E,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(b),e.createVNode(R,{variant:"outlined","data-test":"file-cancel",onClick:k},{default:e.withCtx(()=>[...v[4]||(v[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(R,{variant:"flat",type:"submit","data-test":"file-ok",disabled:!g.value,onClick:e.withModifiers(m,["prevent"])},{default:e.withCtx(()=>[...v[5]||(v[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])}}},nt=ie._export_sfc(ot,[["__scopeId","data-v-db719031"]]),it=["textContent"],st={class:"pa-2"},lt=["textContent"],at={__name:"InformationDialog",props:e.mergeModels({title:{type:String,required:!0},text:{type:String,required:!0},width:{type:String,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(i,a)=>{const n=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-toolbar"),g=e.resolveComponent("v-row"),p=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-btn"),k=e.resolveComponent("v-card-actions"),d=e.resolveComponent("v-card"),v=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(v,{modelValue:o.value,"onUpdate:modelValue":a[1]||(a[1]=b=>o.value=b),width:t.width},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(s,{height:"24"},{default:e.withCtx(()=>[e.createVNode(n),e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(t.title)},null,8,it),e.createVNode(n)]),_:1}),e.createElementVNode("div",st,[e.createVNode(p,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.text,(b,V)=>(e.openBlock(),e.createBlock(g,{key:V,"no-gutters":""},{default:e.withCtx(()=>[e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(b)},null,8,lt)]),_:2},1024))),128))]),_:1})]),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(n),e.createVNode(m,{variant:"flat",onClick:a[0]||(a[0]=b=>o.value=!o.value)},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}}},rt={class:"pa-2"},dt={__name:"OverridesDialog",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),i=new N.ji,a=e.ref([]),n=e.ref(""),s=[{title:"Target",key:"target_name"},{title:"Packet",key:"packet_name"},{title:"Item",key:"item_name"},{title:"Type",key:"value_type"},{title:"Value",key:"value"},{title:"Delete",key:"delete"}];async function g(){const k=await i.get_overrides();a.value=k}async function p(){const k=[...new Map(a.value.map(d=>[`${d.target_name}__${d.packet_name}__${d.item_name}`,d])).values()];for(const d of k)await i.normalize_tlm(d.target_name,d.packet_name,d.item_name,"ALL"),a.value=[]}async function m(k){await i.normalize_tlm(k.target_name,k.packet_name,k.item_name,k.value_type);const d=a.value.indexOf(k);a.value.splice(d,1)}return e.onMounted(()=>{g()}),(k,d)=>{const v=e.resolveComponent("v-spacer"),b=e.resolveComponent("v-toolbar"),V=e.resolveComponent("v-btn"),_=e.resolveComponent("v-text-field"),B=e.resolveComponent("v-row"),x=e.resolveComponent("v-data-table"),R=e.resolveComponent("v-card-text"),E=e.resolveComponent("v-card-actions"),O=e.resolveComponent("v-card"),U=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":d[2]||(d[2]=T=>o.value=T),width:"1000"},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[e.createVNode(b,{height:"24"},{default:e.withCtx(()=>[e.createVNode(v),d[3]||(d[3]=e.createElementVNode("span",null,"Overrides",-1)),e.createVNode(v)]),_:1}),e.createElementVNode("div",rt,[e.createVNode(R,null,{default:e.withCtx(()=>[e.createVNode(B,{class:"ma-1"},{default:e.withCtx(()=>[e.createVNode(V,{color:"primary","data-test":"overrides-dialog-clear-all",onClick:p},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" Clear All Overrides ",-1)])]),_:1}),e.createVNode(v),e.createVNode(_,{modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=T=>n.value=T),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(x,{headers:s,items:a.value,search:n.value,"items-per-page-options":[100],"multi-sort":"",density:"compact"},{"item.delete":e.withCtx(({item:T})=>[e.createVNode(V,{icon:"mdi-delete",variant:"text","aria-label":"Delete Override",onClick:y=>m(T)},null,8,["onClick"])]),_:1},8,["items","search"])]),_:1})]),e.createVNode(E,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(v),e.createVNode(V,{variant:"flat","data-test":"overrides-dialog-ok",onClick:d[1]||(d[1]=T=>o.value=!o.value)},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},ct=["textContent"],ut={class:"pa-2",style:{"max-height":"60vh",overflow:"auto"}},mt=["textContent"],pt=["textContent"],ht={key:0},ft={key:1},vt={key:2},gt={__name:"PromptDialog",props:e.mergeModels({title:{type:String,default:"Prompt Dialog"},subtitle:{type:String,default:""},message:{type:String,required:!0},details:{type:String,default:""},buttons:{type:Array,default:()=>[]},layout:{type:String,default:"horizontal",validator(t){return["horizontal","vertical","combo","check"].includes(t)}},multiple:{type:Boolean,default:!1,required:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const i=t,a=e.useModel(t,"modelValue"),n=o,s=e.ref([]),g=e.ref(!0),p=e.ref(null),m=e.computed(()=>{const V="px-2 d-flex align-start";return i.layout==="vertical"?`${V} flex-column prompt-buttons-vertical`:`${V} flex-row flex-wrap prompt-buttons-horizontal`});function k(V){p.value=V,d()}function d(){n("response",p.value)}function v(){n("response",s.value)}function b(){n("response","COSMOS__CANCEL")}return(V,_)=>{const B=e.resolveComponent("v-spacer"),x=e.resolveComponent("v-toolbar"),R=e.resolveComponent("v-card-subtitle"),E=e.resolveComponent("v-row"),O=e.resolveComponent("v-card-text"),U=e.resolveComponent("v-select"),T=e.resolveComponent("v-btn"),y=e.resolveComponent("v-card-actions"),A=e.resolveComponent("v-checkbox"),D=e.resolveComponent("v-col"),w=e.resolveComponent("v-card"),q=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":_[3]||(_[3]=P=>a.value=P),persistent:"",scrollable:"",width:"600",onKeydown:e.withKeys(b,["esc"])},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(x,{height:"24"},{default:e.withCtx(()=>[e.createVNode(B),e.createElementVNode("span",{class:"text",textContent:e.toDisplayString(t.title)},null,8,ct),e.createVNode(B)]),_:1}),e.createElementVNode("div",ut,[e.createVNode(O,{class:"text"},{default:e.withCtx(()=>[t.subtitle?(e.openBlock(),e.createBlock(E,{key:0,class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(E,{class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(t.message)},null,8,mt)]),_:1}),t.details?(e.openBlock(),e.createBlock(E,{key:1,class:"mt-3"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(t.details)},null,8,pt)]),_:1})):e.createCommentVNode("",!0)]),_:1})]),t.layout==="combo"?(e.openBlock(),e.createElementBlock("div",ht,[e.createVNode(E,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(U,{modelValue:p.value,"onUpdate:modelValue":[_[0]||(_[0]=P=>p.value=P),_[1]||(_[1]=P=>g.value=!1)],label:"Select",color:"secondary",class:"ma-1","data-test":"prompt-select",items:t.buttons,multiple:t.multiple===!0},null,8,["modelValue","items","multiple"])]),_:1}),e.createVNode(y,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(B),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:b},{default:e.withCtx(()=>[..._[4]||(_[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(T,{variant:"flat","data-test":"prompt-ok",disabled:g.value,onClick:d},{default:e.withCtx(()=>[..._[5]||(_[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})])):t.layout==="check"?(e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(E,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(P,z)=>(e.openBlock(),e.createBlock(A,{key:z,modelValue:s.value,"onUpdate:modelValue":_[2]||(_[2]=L=>s.value=L),label:P.title,value:P.value,color:"secondary",density:"compact","hide-details":"","data-test":`prompt-check-${P.value}`},null,8,["modelValue","label","value","data-test"]))),128))]),_:1})]),_:1}),e.createVNode(y,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(B),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:b},{default:e.withCtx(()=>[..._[6]||(_[6]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(T,{variant:"flat","data-test":"prompt-ok",disabled:s.value.length===0,onClick:v},{default:e.withCtx(()=>[..._[7]||(_[7]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})])):(e.openBlock(),e.createElementBlock("div",vt,[e.createVNode(y,{class:e.normalizeClass(m.value)},{default:e.withCtx(()=>[t.layout!=="vertical"?(e.openBlock(),e.createBlock(B,{key:0})):e.createCommentVNode("",!0),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:b},{default:e.withCtx(()=>[..._[8]||(_[8]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(P,z)=>(e.openBlock(),e.createElementBlock("div",{key:z},[e.createVNode(T,{variant:"flat","data-test":`prompt-${P.text}`,onClick:L=>k(P.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(P.text),1)]),_:2},1032,["data-test","onClick"])]))),128))]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue"])}}},wt=ie._export_sfc(gt,[["__scopeId","data-v-11ef54cb"]]),Ct={class:"pa-2"},_t={__name:"ResultsDialog",props:e.mergeModels({text:{type:String,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,i=e.useModel(t,"modelValue"),a=e.ref(null);function n(){const s=new Blob([o.text],{type:"text/plain"}),g=document.createElement("a");g.href=URL.createObjectURL(s),g.setAttribute("download",N.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_suite_results.txt"),g.click()}return e.onMounted(()=>{setTimeout(()=>{a.value?.$el?.focus()})}),(s,g)=>{const p=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),k=e.resolveComponent("v-textarea"),d=e.resolveComponent("v-card-text"),v=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),V=e.resolveComponent("v-card"),_=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(_,{modelValue:i.value,"onUpdate:modelValue":g[1]||(g[1]=B=>i.value=B),scrollable:"",width:"800"},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(m,{height:"24"},{default:e.withCtx(()=>[e.createVNode(p),g[2]||(g[2]=e.createElementVNode("span",null," Script Results ",-1)),e.createVNode(p)]),_:1}),e.createElementVNode("div",Ct,[e.createVNode(d,{style:{width:"100%","max-height":"80vh",overflow:"auto"}},{default:e.withCtx(()=>[e.createVNode(k,{readonly:"","hide-details":"",density:"compact","auto-grow":"","model-value":t.text},null,8,["model-value"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(p),e.createVNode(v,{variant:"outlined",onClick:n},{default:e.withCtx(()=>[...g[3]||(g[3]=[e.createTextVNode(" Download ",-1)])]),_:1}),e.createVNode(v,{ref_key:"okButton",ref:a,variant:"flat",onClick:g[0]||(g[0]=B=>i.value=!i.value)},{default:e.withCtx(()=>[...g[4]||(g[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},kt={class:"pa-2"},bt={__name:"ScriptEnvironmentDialog",props:e.mergeModels({inputEnvironment:{type:Array,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["environment"],["update:modelValue"]),setup(t,{emit:o}){const i=t,a=e.useModel(t,"modelValue"),n=o,s=e.ref([]);function g(){s.value=[...i.inputEnvironment]}function p(){n("environment",s.value),a.value=!a.value}function m(){a.value=!a.value}return e.onMounted(()=>{g()}),(k,d)=>{const v=e.resolveComponent("v-spacer"),b=e.resolveComponent("v-toolbar"),V=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),B=e.resolveComponent("v-card-actions"),x=e.resolveComponent("v-card"),R=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(R,{modelValue:a.value,"onUpdate:modelValue":d[1]||(d[1]=E=>a.value=E),persistent:"",width:"600",onKeydown:e.withKeys(m,["esc"])},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(b,{height:"24"},{default:e.withCtx(()=>[e.createVNode(v),d[2]||(d[2]=e.createElementVNode("span",null,"Script Environment Variables",-1)),e.createVNode(v)]),_:1}),e.createElementVNode("div",kt,[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(e.unref(ve.EnvironmentChooser),{modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=E=>s.value=E)},null,8,["modelValue"])]),_:1})]),e.createVNode(B,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(v),e.createVNode(_,{variant:"outlined","data-test":"environment-dialog-cancel",onClick:m},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(_,{variant:"flat","data-test":"environment-dialog-save",onClick:p},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" Save ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},xt={id:"tr-container"},Vt={__name:"SuiteRunner",props:{suiteMap:{type:Object,required:!0},disableButtons:{type:Boolean,required:!0},filename:{type:String,required:!0}},emits:["button","loaded"],setup(t,{emit:o}){const i=t,a=o,n=e.ref([]),s=e.ref([]),g=e.ref([]),p=e.ref(""),m=e.ref(""),k=e.ref(""),d=e.ref(["pauseOnError","manual","continueAfterError"]),v=e.ref({}),b=e.computed(()=>i.filename.endsWith(".py")?"Checked sets the RunningScript.manual variable to True":"Checked sets the $manual variable to true"),V=e.computed(()=>i.filename.endsWith(".py")?"Unchecked sets the RunningScript.manual variable to False":"Unchecked sets the $manual variable to false"),_=e.computed(()=>!!(p.value&&i.suiteMap[p.value]?.setup)),B=e.computed(()=>!!(p.value&&i.suiteMap[p.value]?.teardown)),x=e.computed(()=>!!(p.value&&m.value&&i.suiteMap[p.value]?.groups[m.value]?.setup)),R=e.computed(()=>!!(p.value&&m.value&&i.suiteMap[p.value]?.groups[m.value]?.teardown)),E=e.computed(()=>g.value.map(D=>({title:D.replace(/^(script_|test_)/,""),value:D})));e.watch(()=>i.suiteMap,()=>{O()},{deep:!0});function O(){n.value=Object.keys(i.suiteMap),i.suiteMap[p.value]==null||i.suiteMap[p.value].groups[m.value]==null?U():(s.value=Object.keys(i.suiteMap[p.value].groups),g.value=i.suiteMap[p.value].groups[m.value].scripts)}function U(){n.value=Object.keys(i.suiteMap),T(n.value[0])}function T(D){!D||i.suiteMap[D]==null||(p.value=D,m.value="",k.value="",s.value=Object.keys(i.suiteMap[D].groups),y(s.value[0]))}function y(D){!D||i.suiteMap[p.value]==null||i.suiteMap[p.value].groups[D]==null||(m.value=D,k.value="",g.value=i.suiteMap[p.value].groups[D].scripts,A(g.value[0]))}function A(D){k.value=D}return e.onMounted(()=>{v.value=JSON.parse(localStorage.script_runner__userinfo),U(),a("loaded")}),(D,w)=>{const q=e.resolveComponent("v-checkbox"),P=e.resolveComponent("v-tooltip"),z=e.resolveComponent("v-col"),L=e.resolveComponent("v-row"),J=e.resolveComponent("v-select"),G=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",xt,[e.createVNode(L,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(z,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[0]||(w[0]=H=>d.value=H),label:"Pause on Error",value:"pauseOnError","hide-details":"","data-test":"pause-on-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[16]||(w[16]=e.createElementVNode("span",null,[e.createTextVNode(" Checked pauses the script when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked continues without user interaction ")],-1))]),_:1})]),_:1}),e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[1]||(w[1]=H=>d.value=H),label:"Manual",value:"manual","hide-details":"","data-test":"manual"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(b.value),1),w[17]||(w[17]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" "+e.toDisplayString(V.value),1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(z,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(z,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(J,{modelValue:p.value,"onUpdate:modelValue":[w[2]||(w[2]=M=>p.value=M),T],label:"Suite:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:n.value,"data-test":"select-suite"},null,8,["modelValue","items"])]),_:1}),e.createVNode(z,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(G,{color:"primary",class:"mr-2",disabled:t.disableButtons||!v.value.execute,"data-test":"start-suite",onClick:w[3]||(w[3]=M=>D.$emit("button",{method:"start",suite:p.value,options:d.value}))},{default:e.withCtx(()=>[...w[18]||(w[18]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(G,{color:"primary",class:"mr-2","data-test":"setup-suite",disabled:t.disableButtons||!_.value||!v.value.execute,onClick:w[4]||(w[4]=M=>D.$emit("button",{method:"setup",suite:p.value,options:d.value}))},{default:e.withCtx(()=>[...w[19]||(w[19]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(G,{color:"primary","data-test":"teardown-suite",disabled:t.disableButtons||!B.value||!v.value.execute,onClick:w[5]||(w[5]=M=>D.$emit("button",{method:"teardown",suite:p.value,options:d.value}))},{default:e.withCtx(()=>[...w[20]||(w[20]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(L,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(z,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[6]||(w[6]=H=>d.value=H),label:"Continue after Error",value:"continueAfterError","hide-details":"","data-test":"continue-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[21]||(w[21]=e.createElementVNode("span",null,[e.createTextVNode(" Checked allows the script to continue when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked forces the current script to end ")],-1))]),_:1})]),_:1}),e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[7]||(w[7]=H=>d.value=H),label:"Loop",value:"loop","hide-details":"","data-test":"loop"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[22]||(w[22]=e.createElementVNode("span",null,[e.createTextVNode(" Checked continuously executes until explicitly stopped"),e.createElementVNode("br"),e.createTextVNode(" Unchecked executes only the started script(s) ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(z,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(z,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(J,{modelValue:m.value,"onUpdate:modelValue":[w[8]||(w[8]=M=>m.value=M),y],label:"Group:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:s.value,"data-test":"select-group"},null,8,["modelValue","items"])]),_:1}),e.createVNode(z,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(G,{color:"primary",class:"mr-2",disabled:t.disableButtons||!v.value.execute,"data-test":"start-group",onClick:w[9]||(w[9]=M=>D.$emit("button",{method:"start",suite:p.value,group:m.value,options:d.value}))},{default:e.withCtx(()=>[...w[23]||(w[23]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(G,{color:"primary",class:"mr-2","data-test":"setup-group",disabled:t.disableButtons||!x.value||!v.value.execute,onClick:w[10]||(w[10]=M=>D.$emit("button",{method:"setup",suite:p.value,group:m.value,options:d.value}))},{default:e.withCtx(()=>[...w[24]||(w[24]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(G,{color:"primary","data-test":"teardown-group",disabled:t.disableButtons||!R.value||!v.value.execute,onClick:w[11]||(w[11]=M=>D.$emit("button",{method:"teardown",suite:p.value,group:m.value,options:d.value}))},{default:e.withCtx(()=>[...w[25]||(w[25]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(L,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(z,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[12]||(w[12]=H=>d.value=H),label:"Abort after Error",value:"abortAfterError","hide-details":"","data-test":"abort-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[26]||(w[26]=e.createElementVNode("span",null,[e.createTextVNode(" Checked stops additional script execution when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows additional scripts to execute ")],-1))]),_:1})]),_:1}),e.createVNode(z,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(P,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:M})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(M)),[e.createVNode(q,{modelValue:d.value,"onUpdate:modelValue":w[13]||(w[13]=H=>d.value=H),disabled:!d.value.includes("loop"),label:"Break Loop on Error",value:"breakLoopOnError","hide-details":"","data-test":"break-loop-on-error"},null,8,["modelValue","disabled"])],16)]),default:e.withCtx(()=>[w[27]||(w[27]=e.createElementVNode("span",null,[e.createTextVNode(" Checked breaks the loop option when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows the loop to run continuously"),e.createElementVNode("br"),e.createTextVNode(" Note: Abort after Error still breaks the loop ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(z,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(L,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(z,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(J,{modelValue:k.value,"onUpdate:modelValue":[w[14]||(w[14]=M=>k.value=M),A],label:"Script:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:E.value,"item-title":"title","item-value":"value","data-test":"select-script"},null,8,["modelValue","items"])]),_:1}),e.createVNode(z,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(G,{color:"primary",class:"mr-2",disabled:t.disableButtons||!v.value.execute,"data-test":"start-script",onClick:w[15]||(w[15]=M=>D.$emit("button",{method:"start",suite:p.value,group:m.value,script:k.value,options:d.value}))},{default:e.withCtx(()=>[...w[28]||(w[28]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(G,{color:"primary",class:"mr-2 invisible"},{default:e.withCtx(()=>[...w[29]||(w[29]=[e.createTextVNode(" Setup ",-1)])]),_:1}),e.createVNode(G,{color:"primary",class:"invisible"},{default:e.withCtx(()=>[...w[30]||(w[30]=[e.createTextVNode(" Teardown ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])])}}},Ce=ie._export_sfc(Vt,[["__scopeId","data-v-9cca3314"]]);class yt{#e;#t;#o;#n;#i;constructor(o,{pattern:i,text:a,type:n}){this.#e=`regexAnnotator-${Math.floor(Math.random()*1e7)}`,this.#t=o,this.#o=i,this.#n=a,this.#i=n}refresh=()=>{const o=this.#t.session;this.#r(o);const i={lines:o.doc.$lines,action:"insert",start:{row:0},end:{row:o.doc.$lines.length}};this.annotate(i,o)};annotate=(o,i)=>{if(o.lines.length>1)switch(o.action){case"insert":this.#l(i,o.start.row,o.lines.length-1);break;case"remove":this.#l(i,o.start.row+1,-o.lines.length+1);break}for(let a=o.start.row;a<=o.end.row;a++){let n=i.doc.$lines[a]?.match(this.#o)?.index;n!==void 0?(n!==0&&(n+=1),this.#a(i,{row:a,column:n,text:this.#n,type:this.#i,openc3Id:this.#e})):o.action==="remove"&&this.#s(i,a)}};#a=(o,i)=>{this.#s(o,i.row),o.setAnnotations([...o.getAnnotations(),i])};#s=(o,i)=>{o.setAnnotations(o.getAnnotations().filter(a=>a.openc3Id!==this.#e||a.row!==i))};#l=(o,i,a)=>{o.setAnnotations(o.getAnnotations().map(n=>(n.row>i&&(n.row+=a),n)))};#r=o=>{o.setAnnotations(o.getAnnotations().filter(i=>i.openc3Id!==this.#e))}}class Nt extends yt{constructor(o){const i="(^|[{\\s])",a="sleep",n="[\\(\\s]";super(o,{pattern:new RegExp(`${i}${a}${n}`),text:"Use `wait` instead of `sleep` in OpenC3 scripts",type:"warning"})}}const he="__TEMP__",Y="<Untitled>",ce="Start",St="Go",de="Pause",Et="Retry",Bt={components:{FileOpenSaveDialog:Z.FileOpenSaveDialog,Openc3Screen:Z.Openc3Screen,EnvironmentDialog:Z.EnvironmentDialog,Splitpanes:Ie,Pane:Fe,TopBar:re.TopBar,AskDialog:He,BucketDialog:Ze,FileDialog:nt,InformationDialog:at,EventListDialog:Re.EventListDialog,OverridesDialog:dt,PromptDialog:wt,ResultsDialog:_t,ScriptEnvironmentDialog:bt,SimpleTextDialog:Te.SimpleTextDialog,SuiteRunner:Ce,RunningScripts:ge,ScriptLogMessages:we,CriticalCmdDialog:Be.CriticalCmdDialog,CommandEditor:ve.CommandEditor},mixins:[fe.AceEditorModes,Me._sfc_main],beforeRouteUpdate:function(t,o,i){t.params.id?this.tryLoadRunningScript(t.params.id).then(i):i()},props:{inline:{type:Boolean,default:!1},body:{type:String,default:null},initialFilename:{type:String,default:null}},emits:["alert","script-id"],setup(){return{containerHeight:Se.useContainerHeight()}},data(){return{title:"Script Runner",suiteRunner:!1,disableSuiteButtons:!1,suiteMap:{},filenameSelect:null,currentFilename:null,showSave:!1,showAlert:!1,alertType:null,alertText:"",state:null,scriptId:null,startOrGoButton:ce,startOrGoDisabled:!1,envDisabled:!1,pauseOrRetryButton:de,pauseOrRetryDisabled:!1,stopDisabled:!1,showEnvironment:!1,showDebug:!1,debug:"",debugHistory:[],debugHistoryIndex:0,showDisconnect:!1,files:{},breakpoints:{},enableStackTraces:!1,filename:Y,readOnlyUser:!1,executeUser:!0,saveAllowed:!0,tempFilename:null,fileModified:"",fileOpen:!1,lockedBy:null,showEditingToast:!1,showSaveAs:!1,areYouSure:!1,subscription:null,cable:null,fatal:!1,updateInterval:null,receivedEvents:[],messages:[],messagesNewestOnTop:!0,inlineTab:"script",maxArrayLength:200,Range:ace.require("ace/range").Range,ask:{show:!1,question:"",default:null,password:!1,answerRequired:!0,callback:()=>{}},file:{show:!1,message:"",directory:null,filter:"*",multiple:!1,callback:()=>{}},bucket:{show:!1,title:"",message:"",defaultPath:null,filter:null},prompt:{show:!1,title:"",subtitle:"",message:"",details:"",buttons:null,layout:"horizontal",callback:()=>{}},information:{show:!1,title:"",text:[],width:"600"},inputMetadata:{show:!1,events:[],callback:()=>{}},results:{show:!1,text:""},scriptEnvironment:{show:!1,env:[]},showSuiteError:!1,suiteError:"",executeSelectionMenu:!1,menuX:0,menuY:0,mnemonicChecker:new Ue,showScripts:!1,showOverrides:!1,overridesCount:0,commandEditor:{show:!1,targetName:null,commandName:null,dialogError:null,cmdString:null,isEditing:!1,editLine:null},currentLineHasCommand:!1,activePromptId:"",api:null,timeZone:"local",screens:[],screenKeywords:null,idCounter:0,updateCounter:0,recent:[],waitingInterval:null,waitingTime:0,waitingStart:0,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1,editorBoxSize:50,lockingEnabled:!0}},computed:{stateTimer:function(){return this.state==="waiting"||this.state==="paused"?`${this.state} ${this.waitingTime}s`:this.state==="completed_errors"?"completed":this.state},stateColorClass:function(){return this.state==="error"||this.state==="crashed"||this.state==="killed"?"script-state-red":this.state==="completed_errors"?"script-state-orange":this.state==="completed"?"script-state-green":""},fileList:function(){const t=Object.keys(this.files);return t.push(this.fullFilename),[...new Set(t)]},environmentModified:function(){return this.scriptEnvironment.env.length>0},isLocked:function(){return this.lockingEnabled?!!this.lockedBy:!1},fullFilename:function(){return this.currentFilename?this.currentFilename:this.filename===Y?Y:`${this.filename} ${this.fileModified}`.trim()},filenameOrBlank:function(){return this.filename===Y?"":this.filename},menus:function(){return[{label:"File",items:[{label:"New File",icon:"mdi-file-plus",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.newFileWithConfirm()}},{label:"New Suite",icon:"mdi-file-document-plus",disabled:this.scriptId||this.readOnlyUser,subMenu:[{label:"Ruby",icon:"mdi-language-ruby",command:()=>{this.newRubyTestSuite()}},{label:"Python",icon:"mdi-language-python",command:()=>{this.newPythonTestSuite()}}]},{label:"Open File",icon:"mdi-folder-open",disabled:this.scriptId,command:()=>{this.openFileWithConfirm()}},{label:"Open Recent",icon:"mdi-folder-open",disabled:this.scriptId,subMenu:this.recent},{divider:!0},{label:"Save File",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveFile()}},{label:"Save As...",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveAs()}},{divider:!0},{label:"Download",icon:"mdi-cloud-download",disabled:this.scriptId,command:()=>{this.download()}},{divider:!0},{label:"Delete File",icon:"mdi-delete",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.delete()}}]},{label:"Edit",items:[{label:"Find",icon:"mdi-magnify",command:()=>{this.editor.execCommand("find")}},{label:"Replace",icon:"mdi-find-replace",disabled:this.scriptId,command:()=>{this.editor.execCommand("replace")}},{label:"Set Line Delay",icon:"mdi-invoice-text-clock",disabled:this.scriptId,command:()=>{this.$dialog.open({title:"Info",text:"You can set the line delay in seconds using the api method set_line_delay().<br/><br/>The default line delay is 0.1 seconds between lines. Adding set_line_delay(0) to the top of your script will execute the script at maximum speed. However, this can make it difficult to see and pause the script. Executing set_line_delay(1) will cause a 1 second delay between lines.",okText:"OK",okClass:"primary",validateText:null,cancelText:null,html:!0})}}]},{label:"Script",items:[{label:"Execution Status",icon:"mdi-run",command:()=>{this.showScripts=!0}},{divider:!0},{label:"Global Environment",icon:"mdi-library",disabled:this.scriptId,command:()=>{this.showEnvironment=!this.showEnvironment}},{label:"Metadata",icon:"mdi-calendar",disabled:this.scriptId,command:()=>{this.inputMetadata.callback=()=>{},this.showMetadata()}},{label:"Overrides",icon:"mdi-swap-horizontal",command:()=>{this.showOverrides=!0}},{divider:!0},{label:"Syntax Check",icon:"mdi-file-check",disabled:this.scriptId,command:()=>{this.syntaxCheck()}},{label:"Mnemonic Check",icon:"mdi-spellcheck",disabled:this.scriptId,command:()=>{this.checkMnemonics()}},{label:"Instrumented Script",icon:"mdi-code-braces-box",disabled:this.scriptId,command:()=>{this.showInstrumented()}},{label:"Call Stack",icon:"mdi-format-list-numbered",disabled:!this.scriptId,command:()=>{this.showCallStack()}},{divider:!0},{label:"Toggle Debug",icon:"mdi-bug",command:()=>{this.toggleDebug()}},{label:"Toggle Disconnect",icon:"mdi-connection",disabled:this.scriptId,command:()=>{this.toggleDisconnect()}},{label:"Enable Stack Traces",checkbox:!0,checked:this.enableStackTraces,disabled:this.scriptId,command:()=>{this.enableStackTraces=!this.enableStackTraces}},{divider:!0},{label:"Delete All Breakpoints",icon:"mdi-delete-circle-outline",disabled:this.scriptId,command:()=>{this.deleteAllBreakpoints()}}]}]}},watch:{isLocked:function(t){this.showEditingToast=t,this.suiteRunner||(this.startOrGoDisabled=t),this.readOnlyUser==!1&&t==!1&&!this.inline?this.editor.setReadOnly(t):this.editor.setReadOnly(!0)},fullFilename:function(t){this.filenameSelect=t,this.inline||(t===Y?localStorage.removeItem("script_runner__filename"):localStorage.script_runner__filename=t)},readOnlyUser:function(t){this.editor&&(t?(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none"):(this.inline||this.editor.setReadOnly(!1),this.editor.renderer.$cursorLayer.element.style.display=null))},showOverrides:function(t,o){o&&!t&&this.updateOverridesCount()}},created:async function(){this.api=new N.ji,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(i=>{i&&(this.timeZone=i)}).catch(i=>{});try{const i=await this.api.get_setting("script_runner_locking");i!=null&&(this.lockingEnabled=i)}catch{}this.updateOverridesCount(),this.NEW_FILENAME=Y;let t=OpenC3Auth.user(),o=OpenC3Auth.userroles();this.readOnlyUser=!0,this.executeUser=!1;for(let i of o)i!="viewer"&&(i=="admin"||i=="operator"?(this.readOnlyUser=!1,this.executeUser=!0):i=="runner"?this.executeUser=!0:await N.es.get(`/openc3-api/roles/${i}`).then(a=>{a.data!==null&&a.data.permissions!==void 0&&(a.data.permissions.some(n=>n.permission=="script_edit")&&(this.readOnlyUser=!1),a.data.permissions.some(n=>n.permission=="script_run")&&(this.executeUser=!0))}));if(this.inline||(localStorage.script_runner__userinfo=JSON.stringify({name:t.preferred_username,readOnly:this.readOnlyUser,execute:this.executeUser})),this.readOnlyUser==!0){this.alertType="info";let i=`User ${t.preferred_username} is read only`;this.executeUser&&(i+=" but can execute scripts"),this.alertText=i,this.showAlert=!0}N.es.get("/openc3-api/autocomplete/keywords/screen").then(i=>{this.screenKeywords=i.data}),this.inline&&(this.readOnly=!0)},mounted:async function(){this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const t=this.buildRubyMode(),o=this.buildPythonMode();this.rubyMode=new t,this.pythonMode=new o,re.AceEditorUtils.getDefaultScriptingLanguage()==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new Z.CmdCompleter,new Z.TlmCompleter],this.editor.setHighlightActiveLine(!1),re.AceEditorUtils.applyVimModeIfEnabled(this.editor,{saveFn:this.saveFile}),this.editor.focus(),this.editor.on("guttermousedown",this.toggleBreakpoint),this.editor.session.on("tokenizerUpdate",this.onChange),(this.readOnlyUser||this.inline)&&(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none");const a=new Nt(this.editor);this.editor.session.on("change",(n,s)=>{a.annotate(n,s),this.updateBreakpoints(n,s)}),this.editor.container.addEventListener("resize",this.doResize),this.editor.container.addEventListener("keydown",this.keydown),this.cable=new N.vi("/script-api/cable"),!this.inline&&localStorage.script_runner__recent&&(this.recent=JSON.parse(localStorage.script_runner__recent),this.recent=this.recent.map(n=>({...n,command:async s=>{this.filename=s.label,await this.reloadFile()}}))),this.inline?this.body&&(this.editor.setValue(this.body),this.editor.clearSelection(),this.initialFilename&&(this.filename=this.initialFilename)):this.$route.query?.file?(this.filename=this.$route.query.file,await this.reloadFile()):this.$route.params?.id?await this.tryLoadRunningScript(this.$route.params.id):(this.scriptId=sessionStorage.getItem("script_runner__script_id"),this.scriptId?await this.tryLoadRunningScript(this.scriptId):localStorage.script_runner__filename&&(this.filename=localStorage.script_runner__filename,await this.reloadFile(!1))),this.updateInterval=setInterval(async()=>{this.processReceived()},100)},beforeUnmount(){this.scriptId&&!this.inline&&sessionStorage.setItem("script_runner__script_id",this.scriptId),this.editor.destroy(),this.editor.container.remove()},unmounted(){this.unlockFile(),this.updateInterval!=null&&clearInterval(this.updateInterval),this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.cable.disconnect()},methods:{updateOverridesCount:function(){this.api.get_overrides().then(t=>{this.overridesCount=t.length})},toggleVimMode(){re.AceEditorUtils.toggleVimMode(this.editor)},openCommandEditor(){this.executeSelectionMenu=!1;const t=this.editor.getCursorPosition(),o=this.editor.session.getLine(t.row);if(this.currentLineHasCommand){const i=this.parseCommandFromLine(o);this.commandEditor.cmdString=i,this.commandEditor.isEditing=!0,this.commandEditor.editLine=t.row}else this.commandEditor.cmdString=null,this.commandEditor.isEditing=!1,this.commandEditor.editLine=null;this.commandEditor.show=!0,this.commandEditor.dialogError=null},insertCommand(t){let o="";try{o=this.$refs.commandEditor.getCmdString();let i=o.split(" ");this.commandEditor.targetName=i[0],this.commandEditor.commandName=i[1]}catch(i){this.commandEditor.dialogError=i.message||"Please fix command parameters";return}if(this.commandEditor.isEditing&&this.commandEditor.editLine!==null){const i=this.editor.session.getLine(this.commandEditor.editLine),a=i.match(/^\s*/)[0],n=i.match(/\s+#.*$/),s=n?n[0]:"",g=`${a}cmd("${o}")${s}`,p=this.Range;this.editor.session.replace(new p(this.commandEditor.editLine,0,this.commandEditor.editLine,i.length),g)}else{const i=this.editor.getCursorPosition();this.editor.session.insert(i,`cmd("${o}")
5
- `)}this.fileModified=!0,this.commandEditor.show=!1},closeCommandDialog:function(){this.commandEditor.show=!1},doResize(){this.editor.resize()},scriptDisconnect(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0},showMetadata(){N.es.get("/openc3-api/metadata").then(t=>{this.inputMetadata.events=t.data.map(o=>({name:"Metadata",start:new Date(o.start*1e3),end:new Date(o.start*1e3),color:o.color,type:o.type,timed:!0,metadata:o})),this.inputMetadata.show=!0})},messageSortOrder(t){t==="Newest on Top"&&this.messagesNewestOnTop===!1?(this.messagesNewestOnTop=!0,this.messages.reverse()):t==="Newest on Bottom"&&this.messagesNewestOnTop===!0&&(this.messagesNewestOnTop=!1,this.messages.reverse())},fileNameChanged(t){t=t.split("*")[0],this.editor.setValue(this.files[t].content),this.restoreBreakpoints(t),this.editor.clearSelection(),this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(this.files[t].lineNo-1,0,this.files[t].lineNo-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(this.files[t].lineNo)},tryLoadRunningScript:function(t){return N.es.get(`/script-api/running-script/${t}`).then(o=>{if(o.data){let i=o.data.state;i!=="completed"&&i!=="completed_errors"&&i!=="stopped"&&i!=="crashed"&&i!=="killed"?(this.filename=o.data.filename,this.tryLoadSuites(o),this.initScriptStart(),this.scriptStart(t)):(this.$notify.caution({title:`Script ${t} has already completed`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0)}else throw new Error(`Unable to load state for running script ${t}`)}).catch(o=>{this.$notify.caution({title:`Running Script ${t} not found`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0})},tryLoadSuites:function(t){t.data.suites&&(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(t.data.suites)),this.doResize()},showExecuteSelectionMenu:function(t){this.menuX=t.pageX,this.menuY=t.pageY;const o=this.editor.getCursorPosition(),i=this.editor.session.getLine(o.row);this.currentLineHasCommand=this.isCommandLine(i),this.executeSelectionMenu=!0},isCommandLine:function(t){const o=t.trim();return/^\s*cmd(_\w+)?\s*\(/.test(o)},parseCommandFromLine:function(t){const o=t.match(/cmd(_\w+)?\s*\(\s*["'](.+?)["']\s*\)/);return o?o[2]:null},runFromCursor:function(){const t=this.editor.getCursorPosition().row+1;this.scriptId?N.es.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,t]}}):this.start(null,null,t)},executeSelection:function(){const t=this.editor.getSelectionRange();let o=t.start.row+1,i=t.end.row+1;t.end.column===0&&(i-=1),this.scriptId?N.es.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,o,i]}}):this.start(null,null,o,i)},clearBreakpoints:function(){this.editor.session.clearBreakpoints()},toggleBreakpoint:function(t){if(!this.scriptId){const o=t.getDocumentPosition().row;t.editor.session.getBreakpoints(o,0)[o]?t.editor.session.clearBreakpoint(o):t.editor.session.setBreakpoint(o)}},updateBreakpoints:function(t,o){if(t.lines.length<=1)return;const i=this.getBreakpointRows(o).filter(s=>t.start.column===0&&s===t.start.row||s>t.start.row);let a=[],n=0;switch(t.action){case"insert":n=t.lines.length-1,i.reverse();break;case"remove":n=-t.lines.length+1,a=[...Array(t.lines.length).keys()].map(s=>s+t.start.row);break}i.forEach(s=>{o.clearBreakpoint(s),a.includes(s)||o.setBreakpoint(s+n)})},getBreakpointRows:function(t=this.editor.session){return t.getBreakpoints().map((o,i)=>o&&i).filter(Number.isInteger)},restoreBreakpoints:function(t){this.clearBreakpoints(),this.breakpoints[t]?.forEach(o=>{this.editor.session.setBreakpoint(o)})},deleteAllBreakpoints:function(){this.$dialog.confirm("Permanently delete all breakpoints for ALL scripts?",{okText:"Delete",cancelText:"Cancel"}).then(t=>N.es.delete("/script-api/breakpoints/delete/all")).then(t=>{this.clearBreakpoints()})},suiteRunnerButton(t){this.startOrGoButton===ce?this.start(t,"suiteRunner"):this.go(t,"suiteRunner")},async keydown(t){this.scriptId||this.editor.getReadOnly()===!0||(t.metaKey||t.ctrlKey)&&t.keyCode===83&&(t.shiftKey?(t.preventDefault(),this.saveAs()):(t.preventDefault(),await this.saveFile()))},onChange(t){this.scriptId||this.editor.getReadOnly()===!0||(this.editor.session.getUndoManager().canUndo()?this.fileModified="*":this.fileModified="")},checkMnemonics:function(){let t=this.filename;this.filename!==Y&&(t.endsWith(".rb")||t.endsWith(".py")||N.es.post(`/script-api/scripts/${this.filename}/mnemonics`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(o=>{let i="";i+=`<strong>${o.data.title}</strong><br/><br/>`,i+=JSON.parse(o.data.description),this.$dialog.alert(i.trim(),{html:!0})})),this.mnemonicChecker.checkText(this.editor.getValue()).then(({skipped:o,problems:i})=>{let a="";if(i.length){const n=i.map(s=>`${s.lineNumber}: ${s.error}`).join("<br/>");a+=`<strong>The following lines have problems:</strong><br/>${n}<br/><br/>`}o.length&&(a+="<strong>Mnemonics with string interpolation were not checked.</strong>"),a===""&&(a="<strong>Everything looks good!</strong>"),this.$dialog.alert(a.trim(),{html:!0})})},initScriptStart(){this.disableSuiteButtons=!0,this.startOrGoDisabled=!0,this.envDisabled=!0,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.state="Connecting...",this.startOrGoButton=St,this.editor.setReadOnly(!0)},scriptStart(t){this.$emit("script-id",t),this.scriptId=t,this.cable.createSubscription("RunningScriptChannel",window.openc3Scope,{received:o=>this.received(o)},{id:this.scriptId}).then(o=>{this.subscription=o})},async scriptComplete(){this.subscription&&(await this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0,await this.reloadFile(),this.editor.session.getUndoManager().reset(),this.readOnlyUser==!1&&!this.inline&&this.editor.setReadOnly(!1),this.scriptId=null,sessionStorage.removeItem("script_runner__script_id"),this.disableSuiteButtons=!1,this.startOrGoButton=ce,this.pauseOrRetryButton=de,this.startOrGoDisabled=this.suiteRunner,this.envDisabled=!1,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.updateOverridesCount()},environmentHandler:function(t){this.scriptEnvironment.env=t},startHandler:function(){this.start()},async start(t=null,o=null,i=null,a=null){this.initScriptStart(),await this.saveFile("start"),this.saveAllowed=!1;let n=this.filename;this.filename===Y&&(n=this.tempFilename);let s=`/script-api/scripts/${n}/run`;this.showDisconnect&&(s+="/disconnect");let g=this.scriptEnvironment.env;this.enableStackTraces&&(g=g.concat({key:"OPENC3_FULL_BACKTRACE",value:"1"}));let p={environment:g};o&&(p.suiteRunner=t),i!==null&&(p.line_no=i),a!==null&&(p.end_line_no=a),N.es.post(s,{data:p}).then(m=>{this.scriptStart(m.data)}).catch(m=>{this.scriptComplete()})},go(){this.filenameSelect=this.currentFilename,this.fileNameChanged(this.currentFilename),N.es.post(`/script-api/running-script/${this.scriptId}/go`)},pauseOrRetry(){this.pauseOrRetryButton===de?N.es.post(`/script-api/running-script/${this.scriptId}/pause`):(this.pauseOrRetryButton=de,N.es.post(`/script-api/running-script/${this.scriptId}/retry`))},stop(){N.es.post(`/script-api/running-script/${this.scriptId}/stop`)},step(){N.es.post(`/script-api/running-script/${this.scriptId}/step`)},handleWaiting(){if(this.state!=="waiting"&&this.state!=="paused")this.clearWaiting();else if(this.waitingInterval!==null)return;this.waitingStart=Date.now(),this.waitingInterval=setInterval(()=>{this.waitingTime=Math.round((Date.now()-this.waitingStart)/1e3)},1e3)},clearWaiting(){this.waitingTime=0,clearInterval(this.waitingInterval),this.waitingInterval=null},processLine(t){t.filename&&t.filename!==this.currentFilename&&(this.files[t.filename]?(this.currentFilename=t.filename,this.editor.setValue(this.files[t.filename].content),this.restoreBreakpoints(t.filename),this.editor.clearSelection()):(this.files[t.filename]={content:"",lineNo:0},N.es.get(`/script-api/scripts/${t.filename}`).then(i=>{this.files[t.filename]={content:i.data.contents,lineNo:0},this.breakpoints[t.filename]=i.data.breakpoints,this.restoreBreakpoints(t.filename),this.currentFilename=null}).catch(i=>{this.files[t.filename]=null}))),this.state=t.state;const o=this.editor.session.getMarkers();switch(this.state){case"running":this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,this.pauseOrRetryButton=de,this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(t.line_no-1,0,t.line_no-1,1),"runningMarker","fullLine"),this.editor.gotoLine(t.line_no),this.files[t.filename].lineNo=t.line_no;break;case"error":this.pauseOrRetryButton=Et;case"spawning":case"init":case"paused":case"waiting":case"breakpoint":if(this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,Object.keys(o).filter(a=>o[a].clazz===`${this.state}Marker`).length===0){this.removeAllMarkers();let a=t.line_no>0?t.line_no:1;this.editor.session.addMarker(new this.Range(a-1,0,a-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(a),t.filename&&(this.files[t.filename].lineNo=a)}break;case"completed":case"completed_errors":case"stopped":case"crashed":case"killed":this.removeAllMarkers();break}},processReceived(){let t=0;for(let o of this.receivedEvents){t+=1;let i=0;switch(o.type){case"file":this.files[o.filename]={content:o.text,lineNo:0},this.breakpoints[o.filename]=o.breakpoints,this.currentFilename===o.filename&&this.restoreBreakpoints(o.filename);break;case"line":this.processLine(o);break;case"output":let a=o.line;a==null?a="":typeof a=="object"?a=JSON.stringify(a):a=String(a);for(const p of a.split(`
6
- `))p&&(this.messagesNewestOnTop?this.messages.unshift({message:p}):this.messages.push({message:p}));for(;this.messages.length>this.maxArrayLength;)this.messages.pop();break;case"script":this.handleScript(o);break;case"report":this.results.text=o.report,this.results.show=!0;break;case"complete":o.report&&(this.results.text=o.report,this.results.show=!0),this.removeAllMarkers(),this.scriptComplete();break;case"step":this.showDebug=!0;break;case"screen":let n=!1,s={};for(screen of this.screens){if(screen.target==o.target_name&&screen.screen==o.screen_name){s=screen,n=!0;break}i+=1}s.target=o.target_name,s.screen=o.screen_name,s.definition=o.definition,o.x?s.left=o.x:s.left=0,o.y?s.top=o.y:s.top=0,s.count=this.updateCounter++,n?this.screens[i]=s:(s.id=this.idCounter++,this.screens[this.screens.length]=s);break;case"clearscreen":for(screen of this.screens){if(screen.target==o.target_name&&screen.screen==o.screen_name){this.screens.splice(i,1);break}i+=1}break;case"clearallscreens":this.screens=[];break;case"downloadfile":const g=document.createElement("a");g.href=window.location.origin+o.url,g.setAttribute("download",o.filename),g.click();break;case"opentab":window.open(o.url,"_blank");break}}this.receivedEvents.splice(0,t)},received(t){this.cable.recordPing(),this.receivedEvents.push(t)},promptDialogCallback(t){this.prompt.show=!1,N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.prompt.method,answer:t,prompt_id:this.activePromptId,multiple:this.prompt.multiple}})},handleScript(t){if(t.prompt_complete){this.activePromptId="",this.prompt.show=!1,this.ask.show=!1,this.file.show=!1,this.bucket.show=!1;return}switch(this.activePromptId=t.prompt_id,this.prompt.method=t.method,this.prompt.layout="horizontal",this.prompt.title="Prompt",this.prompt.subtitle="",this.prompt.details="",this.prompt.buttons=[],this.prompt.multiple=null,t.method){case"ask":case"ask_string":this.ask.default=null,this.ask.answerRequired=!0,this.ask.password=!1,this.ask.question=t.args[0],t.args[1]&&t.args[1]!==!0&&t.args[1]!==!1?this.ask.default=t.args[1].toString():t.args[1]===!0&&(this.ask.answerRequired=!1),t.args[2]===!0&&(this.ask.password=!0),this.ask.callback=o=>{this.ask.show=!1,this.ask.password?N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,password:o,prompt_id:this.activePromptId}}):N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,answer:o,prompt_id:this.activePromptId}})},this.ask.show=!0;break;case"prompt_for_hazardous":this.prompt.title="Hazardous Command",this.prompt.message=`Warning: Command ${t.args[0]} ${t.args[1]} is Hazardous. `,t.args[2]&&(this.prompt.message+=t.args[2]+" "),this.prompt.message+="Send?",this.prompt.buttons=[{text:"Send",value:"Send"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"prompt_for_critical_cmd":this.criticalCmdUuid=t.args[0],this.criticalCmdString=t.args[5],this.criticalCmdUser=t.args[1],this.displayCriticalCmd=!0;break;case"prompt":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),this.prompt.message=t.args[0],this.prompt.buttons=[{text:"Ok",value:"Ok"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"combo_box":case"check_box":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),(t.method==="check_box"||t.kwargs&&t.kwargs.multiple)&&(this.prompt.multiple=!0),this.prompt.message=t.args[0],t.args.slice(1).forEach(o=>{this.prompt.buttons.push({title:o,value:o})}),this.prompt.layout=t.method.split("_")[0],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"message_box":case"vertical_message_box":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),this.prompt.message=t.args[0],t.args.slice(1).forEach(o=>{this.prompt.buttons.push({text:o,value:o})}),t.method.includes("vertical")&&(this.prompt.layout="vertical"),this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"backtrace":this.information.title="Call Stack",this.information.text=t.args,this.information.show=!0,this.information.width="600";break;case"metadata_input":this.inputMetadata.callback=o=>{this.inputMetadata.show=!1,N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,answer:o,prompt_id:this.activePromptId}})},this.showMetadata();break;case"open_bucket_dialog":this.bucket.title=t.args[0],this.bucket.message=t.args[1],this.bucket.defaultPath=t.kwargs&&t.kwargs.default_path||null,this.bucket.filter=t.kwargs&&t.kwargs.filter||null,this.bucket.show=!0;break;case"open_file_dialog":case"open_files_dialog":this.file.title=t.args[0],this.file.message=t.args[1],t.kwargs&&t.kwargs.filter&&(this.file.filter=t.kwargs.filter),t.method=="open_files_dialog"&&(this.file.multiple=!0),this.file.show=!0;break}},async fileDialogCallback(t){let o="COSMOS__CANCEL",i=[];t!="COSMOS__CANCEL"&&(o=[],t.forEach(a=>{o.push(a.name),i.push(N.es.get(`/openc3-api/storage/upload/${encodeURIComponent(`${window.openc3Scope}/tmp/${a.name}`)}?bucket=OPENC3_CONFIG_BUCKET`).then(n=>{i.push(Ne.axios({...n.data,data:a}))}))})),Promise.all(i).then(a=>{N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.file.multiple?"open_files_dialog":"open_file_dialog",answer:o,prompt_id:this.activePromptId}}),this.file.show=!1})},bucketDialogCallback(t){this.bucket.show=!1,N.es.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:"open_bucket_dialog",answer:t,prompt_id:this.activePromptId}})},setError(t){this.alertType="error",this.alertText=`Error: ${t}`,this.showAlert=!0},async confirmUnsavedChanges(){return this.fileModified==="*"?await this.$dialog.confirm("You have unsaved changes. Are you sure you want to continue?",{okText:"Continue",cancelText:"Cancel"}):!0},async newFileWithConfirm(){await this.confirmUnsavedChanges()&&this.newFile()},newFile(){this.unlockFile(),this.filename=Y,this.currentFilename=null,this.tempFilename=null,this.files={},this.editor.session.setValue(""),this.saveAllowed=!0,this.fileModified="",this.suiteRunner=!1,this.startOrGoDisabled=!1,this.envDisabled=!1,this.inline||(this.$router.replace({name:"ScriptRunner"}).catch(t=>{}),document.title="Script Runner"),this.doResize()},async newRubyTestSuite(){await this.confirmUnsavedChanges()&&(this.newFile(),this.editor.session.setValue(`require 'openc3/script/suite.rb'
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ye=require("vue-router"),E=require("../format-MMgAFAGt.cjs");require("../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DOidODWT.cjs");const Ve=require("../timeFilters-DdEvgzim.cjs");require("../store-CiS35N-w.cjs");const le=require("../CustomIcon-8F08upeg.cjs");require("single-spa");const ve=require("../OutputDialog-CgnRA-f-.cjs"),Ne=require("../index-DpGzPeGX.cjs"),Se=require("../useContainerHeight-BEd4f2Lr.cjs"),ce=require("../TopBar-BhrJBXut.cjs"),ge=require("../ScriptChooser-B6qtMbkx.cjs"),Ee=require("../fileIcon-BduOQcTc.cjs"),Be=require("../CriticalCmdDialog-DB9iMK3r.cjs"),$=require("../Openc3Screen-051vwmN8.cjs"),Te=require("../SimpleTextDialog-5wMXYOXj.cjs"),Me=require("../ClassificationBanners-D0wqqFTp.cjs");require("../purify.es-BgN5W7Gm.cjs");const Re=require("../EventListDialog-CDZFdKNU.cjs"),he=t=>{const o="(^|[{\\(\\s])",n="((\\s.+)|(\\(.+\\)))";return new RegExp(`${o}${t}${n}`)},Oe=/\{/,De=/['"],\s?['"]/;class Fe{constructor(){this.api=new E.qi,this.targets={},this.api.get_target_names().then(o=>{o.forEach(n=>{this.targets[n]={cmd:null,tlm:null}})}),this.cmdKeywordExpressions=[],$.getKeywords("cmd").then(o=>{this.cmdKeywordExpressions=o.data.map(he)}),this.tlmKeywordExpressions=[],$.getKeywords("tlm").then(o=>{this.tlmKeywordExpressions=o.data.map(he)})}async checkText(o){const{linesToCheck:n,linesToSkip:l}=o.split(`
2
+ `).reduce((s,d,p)=>{if(d=d.trim(),d.match(/^#/))return s;const h=d.match(/^([^#'"]*(?:(?:"[^"]*"|'[^']*')[^#'"]*)*)(#.*)$/),x=h?h[1].trim():d,u=this.cmdKeywordExpressions.reduce((O,U)=>O||x.match(U),null),m=this.tlmKeywordExpressions.reduce((O,U)=>O||x.match(U),null);if(!u&&!m)return s;const N=(u||m)[2];if(!N)return s;const _=N.match(/[\(\s)]/);if(!_)return s;let b=N.substring(_.index+1).replace(/\)+.*$/,"");if(b.match(Oe))return s.linesToSkip.push(p+1),s;const I=!!b.match(De);if(!I){const O=b.match(/^['"]/);if(O){const U=O[0],T=b.indexOf(U,1);T>0&&(b=b.substring(1,T))}}const R=b.split(I?",":" ");if(R.length<2)return s;const B={target:R[0],packet:R[1]};if(m)B.item=R[2];else{const O=R.slice(2);I?B.params=O.map(U=>U.split("=>")[0]):B.params=O.filter((U,T)=>T%2)}for(const O in B)typeof B[O]=="string"?B[O]=B[O].replace(/['"]/g,"").trim():B[O]=B[O].map(U=>U.replace(/['"]/g,"").trim());return s.linesToCheck.push({line:d,mnemonic:B,lineNumber:p+1}),s},{linesToCheck:[],linesToSkip:[]}),i=await this._checkLines(n);return{skipped:l.sort(),problems:i.sort((s,d)=>s.lineNumber-d.lineNumber)}}async _checkLines(o){const n=[],l=$.groupBy(o,i=>i.mnemonic.target);for(const i in l){if(!this.targets[i]){for(const d of l[i])n.push({...d,error:`Target "${i}" does not exist.`});continue}const s=$.groupBy(l[i],d=>d.mnemonic.packet);for(const d in s)for(const p of s[d]){const h=p.mnemonic.item?"tlm":"cmd";if(!this.targets[i][h]){const u=p.mnemonic.item?"get_all_tlm":"get_all_cmds",m=await this.api[u](i);this.targets[i][h]=m.reduce((k,N)=>(k[N.packet_name]=N.items.map(_=>_.name),k),{})}const x=this.targets[i][h][d];if(!x){n.push({...p,error:`${h==="tlm"?"Packet":"Command"} "${i} ${d}" does not exist.`});continue}if(p.mnemonic.item){if(!x.some(u=>u===p.mnemonic.item)){n.push({...p,error:`Item "${i} ${d} ${p.mnemonic.item}" does not exist.`});continue}}else for(const u of p.mnemonic.params)if(!x.some(m=>m===u)){n.push({...p,error:`Command "${i} ${d}" param "${u}" does not exist.`});continue}}}return n}}const ze={key:0},Ue={key:1},we={__name:"RunningScripts",props:{tabId:{type:Number,default:null},curTab:{type:Number,default:null},connectInNewTab:Boolean},emits:["disconnect","close"],setup(t,{emit:o}){const n=t,l=o,i=ye.useRouter(),s=e.inject("notify"),d=e.inject("dialog"),{formatDateTimeHMS:p}=Ve.TimeFilters.methods,h=new E.qi,x=e.ref("local"),u=e.ref("completed"),m=e.ref(null),k=e.ref(null),N=e.ref(""),_=e.ref([]),b=e.ref(0),I=e.ref(!1),R=e.ref(1),B=e.ref(10),O=[{title:"Connect",key:"connect",sortable:!1,filterable:!1},{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Stop",key:"stop",sortable:!1,filterable:!1}],U=e.ref(""),T=e.ref([]),S=e.ref(0),j=e.ref(!1),P=e.ref(1),w=e.ref(10),J=[{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Log",key:"log",sortable:!1,filterable:!1},{title:"Report",key:"report",sortable:!1,filterable:!1}],L=e.ref(!1),D=e.ref(""),G=e.ref(""),Y=e.ref("");e.watch(u,V=>{V==="running"?F():V==="completed"&&X()}),e.onMounted(async()=>{try{const V=await h.get_setting("time_zone");V&&(x.value=V)}catch{}F(),X(),k.value=setInterval(()=>{u.value==="running"&&F()},5e3)}),e.onBeforeUnmount(()=>{k.value&&clearInterval(k.value)});function W(V){if(V<0)return"N/A";if(V<1e3)return"< 1s";if(V<6e4)return`${Math.round(V/1e3)}s`;if(V<36e5){const C=Math.floor(V/6e4),M=Math.round(V%6e4/1e3);return`${C}m ${M}s`}else{const C=Math.floor(V/36e5),M=Math.floor(V%36e5/6e4),A=Math.round(V%6e4/1e3);return`${C}h ${M}m ${A}s`}}async function F(){I.value=!0;const V=(R.value-1)*B.value;try{const C=await E.Fi.get(`/script-api/running-script?scope=DEFAULT&offset=${V}&limit=${B.value}`),M=C.data.items||[],A=new Date;M.forEach(a=>{if(a.user_display=`${a.user_full_name} (${a.username})`,a.start_time){const c=new Date(a.start_time),f=A-c;a.start_time_formatted=p(c,x.value),a.duration=W(f)}else a.duration="N/A"}),_.value=M,b.value=C.data.total||M.length,I.value=!1}catch(C){I.value=!1,s.caution({title:"Error Loading Running Scripts",body:C.message})}}function K(V){R.value=V,F()}function ae(V){B.value=V,R.value=1,F()}async function X(){j.value=!0;const V=(P.value-1)*w.value;try{const C=await E.Fi.get(`/script-api/completed-scripts?scope=DEFAULT&offset=${V}&limit=${w.value}`),M=C.data.items||[];M.forEach(A=>{if(A.user_display=`${A.user_full_name} (${A.username})`,A.start_time&&A.end_time){const a=new Date(A.start_time),f=new Date(A.end_time)-a;A.start_time_formatted=p(a,x.value),A.duration=W(f)}else A.duration="N/A"}),T.value=M,S.value=C.data.total||M.length,j.value=!1}catch(C){j.value=!1,s.caution({title:"Error Loading Completed Scripts",body:C.message})}}function re(V){P.value=V,X()}function ee(V){w.value=V,P.value=1,X()}function ne(V){G.value=JSON.stringify(V,null,2),D.value="Script: "+V.name,Y.value="",L.value=!0}function de(V){l("disconnect");const C={name:"ScriptRunner",params:{id:V.name}};if(n.connectInNewTab){const{href:M}=i.resolve(C);window.open(M,"_blank")}else i.push(C),l("close")}async function te(V){try{await d.confirm(`Are you sure you want to stop script: ${V.name} ${V.filename}?
3
+ `,{okText:"Stop",cancelText:"Cancel"}),await E.Fi.post(`/script-api/running-script/${V.name}/delete`),s.normal({body:`Stopped script: ${V.name} ${V.filename}`}),F()}catch(C){C!==!0&&s.caution({body:`Failed to stop script: ${V.name} ${V.filename}`})}}async function se(V,C){let M=null;C==="report"?(D.value="Report",M=V.report):(D.value="Log",M=V.log);const A=await E.Fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(M)}?bucket=OPENC3_LOGS_BUCKET`),a=M.split("/");Y.value=a[a.length-1],G.value=window.atob(A.data.contents),L.value=!0}async function oe(V,C,M="text"){let A=null;C==="report"?(D.value="Report",A=V.report):(D.value="Log",A=V.log),m.value=V;try{if(M==="ctrf"&&C==="report"){const a=await E.Fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(A)}?bucket=OPENC3_LOGS_BUCKET&format=ctrf`),c=new Blob([window.atob(a.data.contents)],{type:"application/json"}),f=document.createElement("a");f.href=URL.createObjectURL(c),f.setAttribute("download",a.data.filename),f.click(),m.value=null}else{const a=await E.Fi.get(`/openc3-api/storage/download/${encodeURIComponent(A)}?bucket=OPENC3_LOGS_BUCKET`),c=A.split("/"),f=c[c.length-1],v=document.createElement("a");v.href=a.data.url,v.setAttribute("download",f),v.click(),m.value=null}}catch{s.caution({title:`Unable to download log ${A}`,body:`You may be able to download this log manually from the 'logs' bucket at ${A}`}),m.value=null}}return(V,C)=>{const M=e.resolveComponent("v-tab"),A=e.resolveComponent("v-tabs"),a=e.resolveComponent("v-spacer"),c=e.resolveComponent("v-btn"),f=e.resolveComponent("v-text-field"),v=e.resolveComponent("v-row"),g=e.resolveComponent("v-card-title"),y=e.resolveComponent("v-icon"),r=e.resolveComponent("v-data-table-server"),z=e.resolveComponent("v-window-item"),H=e.resolveComponent("v-list-item-title"),ie=e.resolveComponent("v-list-item"),me=e.resolveComponent("v-list"),_e=e.resolveComponent("v-menu"),be=e.resolveComponent("v-window"),xe=e.resolveComponent("v-card");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(xe,{flat:"",class:"tab-card"},{default:e.withCtx(()=>[e.createVNode(A,{modelValue:u.value,"onUpdate:modelValue":C[0]||(C[0]=q=>u.value=q),"bg-color":"var(--color-background-base-default)"},{default:e.withCtx(()=>[e.createVNode(M,{value:"running"},{default:e.withCtx(()=>[...C[6]||(C[6]=[e.createTextVNode("Running Scripts",-1)])]),_:1}),e.createVNode(M,{value:"completed"},{default:e.withCtx(()=>[...C[7]||(C[7]=[e.createTextVNode("Completed Scripts",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(be,{modelValue:u.value,"onUpdate:modelValue":C[3]||(C[3]=q=>u.value=q)},{default:e.withCtx(()=>[e.createVNode(z,{value:"running"},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(v,{dense:""},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(c,{class:"mr-3",color:"primary",onClick:F},{default:e.withCtx(()=>[...C[8]||(C[8]=[e.createTextVNode(" Refresh ",-1)])]),_:1}),e.createVNode(f,{modelValue:N.value,"onUpdate:modelValue":C[1]||(C[1]=q=>N.value=q),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"running-search",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(r,{headers:O,items:_.value,"items-length":b.value,loading:I.value,search:N.value,density:"compact","data-test":"running-scripts","items-per-page":B.value,page:R.value,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":K,"onUpdate:itemsPerPage":ae},{"item.name":e.withCtx(({item:q})=>[e.createVNode(c,{color:"primary",density:"comfortable",onClick:Z=>ne(q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(q.name),1)]),_:2},1032,["onClick"])]),"item.connect":e.withCtx(({item:q})=>[e.createVNode(c,{color:"primary",onClick:Z=>de(q)},{default:e.withCtx(()=>[C[10]||(C[10]=e.createElementVNode("span",null,"Connect",-1)),e.withDirectives(e.createVNode(y,{end:""},{default:e.withCtx(()=>[...C[9]||(C[9]=[e.createTextVNode(" mdi-open-in-new ",-1)])]),_:1},512),[[e.vShow,t.connectInNewTab]])]),_:1},8,["onClick"])]),"item.stop":e.withCtx(({item:q})=>[e.createVNode(c,{color:"primary",onClick:Z=>te(q)},{default:e.withCtx(()=>[C[12]||(C[12]=e.createElementVNode("span",null,"Stop",-1)),e.createVNode(y,{end:""},{default:e.withCtx(()=>[...C[11]||(C[11]=[e.createTextVNode(" mdi-close-circle-outline ",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1},8,["items","items-length","loading","search","items-per-page","page"])]),_:1}),e.createVNode(z,{value:"completed"},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(v,{dense:""},{default:e.withCtx(()=>[e.createVNode(a),e.createVNode(c,{class:"mr-3",color:"primary",onClick:X},{default:e.withCtx(()=>[...C[13]||(C[13]=[e.createTextVNode(" Refresh ",-1)])]),_:1}),e.createVNode(f,{modelValue:U.value,"onUpdate:modelValue":C[2]||(C[2]=q=>U.value=q),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(r,{headers:J,items:T.value,"items-length":S.value,loading:j.value,search:U.value,density:"compact","data-test":"completed-scripts","items-per-page":w.value,page:P.value,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":re,"onUpdate:itemsPerPage":ee},{"item.name":e.withCtx(({item:q})=>[e.createVNode(c,{color:"primary",density:"comfortable",onClick:Z=>ne(q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(q.name),1)]),_:2},1032,["onClick"])]),"item.log":e.withCtx(({item:q})=>[e.createVNode(c,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:Z=>se(q,"log")},null,8,["onClick"]),e.createVNode(c,{color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:m.value,loading:m.value&&m.value.name===q.name,onClick:Z=>oe(q,"log")},null,8,["disabled","loading","onClick"])]),"item.report":e.withCtx(({item:q})=>[q.report?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(c,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:Z=>se(q,"report")},null,8,["onClick"]),e.createVNode(_e,null,{activator:e.withCtx(({props:Z})=>[e.createVNode(c,e.mergeProps({color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:m.value,loading:m.value&&m.value.name===q.name},Z),null,16,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(me,null,{default:e.withCtx(()=>[e.createVNode(ie,{onClick:Z=>oe(q,"report","text")},{default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[...C[15]||(C[15]=[e.createTextVNode("Download as Text",-1)])]),_:1})]),_:1},8,["onClick"]),e.createVNode(ie,{onClick:Z=>oe(q,"report","ctrf")},{default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[...C[16]||(C[16]=[e.createTextVNode("Download as CTRF",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",ze,[...C[14]||(C[14]=[e.createElementVNode("span",null,"N/A",-1)])]))]),_:1},8,["items","items-length","loading","search","items-per-page","page"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),L.value?(e.openBlock(),e.createBlock(e.unref(ve.OutputDialog),{key:0,modelValue:L.value,"onUpdate:modelValue":C[4]||(C[4]=q=>L.value=q),content:G.value,type:"Script",name:D.value,filename:Y.value,onSubmit:C[5]||(C[5]=q=>L.value=!1)},null,8,["modelValue","content","name","filename"])):e.createCommentVNode("",!0)])}}},Ce={__name:"ScriptLogMessages",props:{modelValue:{type:Array,required:!0},modelModifiers:{}},emits:e.mergeModels(["sort"],["update:modelValue"]),setup(t,{emit:o}){const n=e.useModel(t,"modelValue"),l=o,i=e.inject("dialog"),s=e.ref(""),d=[{title:"Message",value:"message",sortable:!1}],p=["Newest on Top","Newest on Bottom"],h=e.ref("Newest on Top");e.watch(h,k=>{l("sort",k)});function x(k){return k.match(/(CHECK|WAIT): .*(success|was within range.*) with value/)?"openc3-green":k.match(/(CHECK|WAIT): .*(failed|failed to be within range.*) with value/)?"openc3-red":""}function u(){const k=n.value.map(b=>b.message).join(`
4
+ `),N=new Blob([k],{type:"text/plain"}),_=document.createElement("a");_.href=URL.createObjectURL(N),_.setAttribute("download",E.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_sr_message_log.txt"),_.click()}async function m(){try{await i.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}),n.value=[]}catch{}}return(k,N)=>{const _=e.resolveComponent("v-btn"),b=e.resolveComponent("v-spacer"),I=e.resolveComponent("v-select"),R=e.resolveComponent("v-text-field"),B=e.resolveComponent("v-card-title"),O=e.resolveComponent("v-data-table"),U=e.resolveComponent("v-card-text"),T=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(T,{class:"d-flex flex-column h-100"},{default:e.withCtx(()=>[e.createVNode(B,{class:"d-flex align-center"},{default:e.withCtx(()=>[e.createVNode(_,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-log","aria-label":"Download Log",onClick:u}),N[2]||(N[2]=e.createTextVNode(" Script Messages ",-1)),e.createVNode(b),e.createVNode(I,{modelValue:h.value,"onUpdate:modelValue":N[0]||(N[0]=S=>h.value=S),density:"compact","hide-details":"",variant:"outlined",items:p,class:"mr-2",style:{"max-width":"200px"},"data-test":"message-order"},null,8,["modelValue"]),e.createVNode(b),e.createVNode(R,{modelValue:s.value,"onUpdate:modelValue":N[1]||(N[1]=S=>s.value=S),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search","data-test":"search-messages"},null,8,["modelValue"]),e.createVNode(_,{class:"mx-2",icon:"mdi-delete-sweep",variant:"text",density:"compact","data-test":"clear-log","aria-label":"Clear Log",onClick:m})]),_:1}),e.createVNode(U,{class:"overflow-auto"},{default:e.withCtx(()=>[e.createVNode(O,{id:"script-log-messages",headers:d,items:n.value,search:s.value,"items-per-page":-1,"hide-default-footer":"",density:"compact","data-test":"output-messages"},{"item.message":e.withCtx(({item:S})=>[e.createElementVNode("div",{class:e.normalizeClass(x(S.message))},e.toDisplayString(S.message),3)]),_:1},8,["items","search"])]),_:1})]),_:1})}}};var Pe=Object.assign({inheritAttrs:!1},{__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1},keyboardStep:{type:Number,default:5}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick","direction-changed"],setup(t,{emit:o}){let n=o,l=t,i=e.useAttrs(),s=e.useSlots(),d=e.ref([]),p=e.computed(()=>d.value.reduce((a,c)=>(a[~~c.id]=c)&&a,{})),h=e.computed(()=>d.value.length),x=e.ref(null),u=e.ref(!1),m=e.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),k=e.ref({splitter:null,timeoutId:null}),N=e.computed(()=>({[`splitpanes splitpanes--${l.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":m.value.dragging,"splitpanes--ready":u.value})),_=()=>{document.addEventListener("mousemove",R,{passive:!1}),document.addEventListener("mouseup",B),"ontouchstart"in window&&(document.addEventListener("touchmove",R,{passive:!1}),document.addEventListener("touchend",B))},b=()=>{document.removeEventListener("mousemove",R,{passive:!1}),document.removeEventListener("mouseup",B),"ontouchstart"in window&&(document.removeEventListener("touchmove",R,{passive:!1}),document.removeEventListener("touchend",B))},I=(a,c)=>{let f=a.target.closest(".splitpanes__splitter");if(f){let{left:v,top:g}=f.getBoundingClientRect(),{clientX:y,clientY:r}="ontouchstart"in window&&a.touches?a.touches[0]:a;m.value.cursorOffset=l.horizontal?r-g:y-v}_(),m.value.mouseDown=!0,m.value.activeSplitter=c,document.documentElement.style.cursor=l.horizontal?"row-resize":"col-resize"},R=a=>{m.value.mouseDown&&(a.preventDefault(),m.value.dragging||(window.getSelection()?.removeAllRanges(),m.value.dragging=!0),requestAnimationFrame(()=>{w(j(a)),M("resize",{event:a},!0)}))},B=a=>{m.value.dragging&&(window.getSelection()?.removeAllRanges(),M("resized",{event:a},!0)),m.value.mouseDown=!1,m.value.activeSplitter=null,setTimeout(()=>{m.value.dragging=!1,b(),document.documentElement.style.cursor=""},100)},O=(a,c)=>{"ontouchstart"in window&&(a.preventDefault(),k.value.splitter===c?(clearTimeout(k.value.timeoutId),k.value.timeoutId=null,U(a,c),k.value.splitter=null):(k.value.splitter=c,k.value.timeoutId=setTimeout(()=>k.value.splitter=null,500))),m.value.dragging||M("splitter-click",{event:a,index:c},!0)},U=(a,c)=>{if(M("splitter-dblclick",{event:a,index:c},!0),l.maximizePanes){let f=0;d.value=d.value.map((v,g)=>(v.size=g===c?v.max:v.min,g!==c&&(f+=v.min),v)),d.value[c].size-=f,M("pane-maximize",{event:a,index:c,pane:d.value[c]}),M("resized",{event:a,index:c},!0)}},T=(a,c)=>{if(!l.keyboardStep)return;let f=l.horizontal?a.key==="ArrowDown":a.key==="ArrowRight",v=l.horizontal?a.key==="ArrowUp":a.key==="ArrowLeft";if(!f&&!v)return;a.preventDefault(),m.value.activeSplitter=c;let g=(f?1:-1)*(l.rtl&&!l.horizontal?-1:1),y=D(c)+d.value[c].size;J(Math.min(Math.max(y+g*l.keyboardStep,0),100)),M("resize",{event:a},!0),M("resized",{event:a},!0),m.value.activeSplitter=null},S=(a,c)=>{let f=p.value[c];f&&M("pane-click",{event:a,index:f.index,pane:f})},j=a=>{let c=x.value.getBoundingClientRect(),{clientX:f,clientY:v}="ontouchstart"in window&&a.touches?a.touches[0]:a;return{x:f-(l.horizontal?0:m.value.cursorOffset)-c.left,y:v-(l.horizontal?m.value.cursorOffset:0)-c.top}},P=a=>{a=a[l.horizontal?"y":"x"];let c=x.value[l.horizontal?"clientHeight":"clientWidth"];return l.rtl&&!l.horizontal&&(a=c-a),a*100/c},w=a=>{J(P(a))},J=a=>{let c=m.value.activeSplitter;if(c===null||c>=d.value.length-1)return;let f={prevPanesSize:D(c),nextPanesSize:G(c),prevReachedMinPanes:0,nextReachedMinPanes:0},v=0+(l.pushOtherPanes?0:f.prevPanesSize),g=100-(l.pushOtherPanes?0:f.nextPanesSize);a=Math.max(Math.min(a,g),v);let y=[c,c+1],r=d.value[y[0]]||null,z=d.value[y[1]]||null,H=r!==null&&r.max<100&&a>=r.max+f.prevPanesSize,ie=z!==null&&z.max<100&&a<=100-(z.max+G(c+1));if(H||ie){H?(r.size=r.max,z.size=Math.min(Math.max(100-r.max-f.prevPanesSize-f.nextPanesSize,z.min),z.max)):(r.size=Math.min(Math.max(100-z.max-f.prevPanesSize-G(c+1),r.min),r.max),z.size=z.max);return}if(l.pushOtherPanes){let me=L(f,a);if(!me)return;({sums:f,panesToResize:y}=me),r=d.value[y[0]]||null,z=d.value[y[1]]||null}r!==null&&(r.size=Math.min(Math.max(a-f.prevPanesSize-f.prevReachedMinPanes,r.min),r.max)),z!==null&&(z.size=Math.min(Math.max(100-a-f.nextPanesSize-f.nextReachedMinPanes,z.min),z.max))},L=(a,c)=>{let f=m.value.activeSplitter,v=[f,f+1];if(c<a.prevPanesSize+d.value[v[0]].min){if(v[0]=Y(f).index,a.prevReachedMinPanes=0,v[0]<f&&d.value.forEach((g,y)=>{y>v[0]&&y<=f&&(g.size=g.min,a.prevReachedMinPanes+=g.min)}),v[0]===void 0)return a.prevReachedMinPanes=0,d.value[0].size=d.value[0].min,d.value.forEach((g,y)=>{y>0&&y<=f&&(g.size=g.min,a.prevReachedMinPanes+=g.min)}),d.value[v[1]].size=100-a.prevReachedMinPanes-d.value[0].min-a.prevPanesSize-a.nextPanesSize,null;a.prevPanesSize=D(v[0])}return c>100-a.nextPanesSize-d.value[v[1]].min&&(v[1]=W(f).index,a.nextReachedMinPanes=0,v[1]>f+1&&d.value.forEach((g,y)=>{y>f&&y<v[1]&&(g.size=g.min,a.nextReachedMinPanes+=g.min)}),a.nextPanesSize=v[1]===void 0?0:G(v[1]-1),v[1]===void 0)?(a.nextReachedMinPanes=0,d.value.forEach((g,y)=>{y>=f+1&&(g.size=g.min,a.nextReachedMinPanes+=g.min)}),v[0]!==void 0&&(d.value[v[0]].size=100-a.prevPanesSize-G(v[0]-1)),null):{sums:a,panesToResize:v}},D=a=>d.value.reduce((c,f,v)=>c+(v<a?f.size:0),0),G=a=>d.value.reduce((c,f,v)=>c+(v>a+1?f.size:0),0),Y=a=>[...d.value].reverse().find(c=>c.index<a&&c.size>c.min)||{},W=a=>d.value.find(c=>c.index>a+1&&c.size>c.min)||{},F=()=>{let a=Array.from(x.value?.children||[]);for(let c of a){let f=c.classList.contains("splitpanes__pane"),v=c.classList.contains("splitpanes__splitter");!f&&!v&&(c.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},K=(a,c,f=!1)=>{let v=a-1,g=document.createElement("div");g.classList.add("splitpanes__splitter"),f||(g.onmousedown=y=>I(y,v),typeof window<"u"&&"ontouchstart"in window&&(g.ontouchstart=y=>I(y,v)),g.onclick=y=>O(y,v+1),l.keyboardStep&&(g.setAttribute("tabindex","0"),g.setAttribute("role","separator"),g.setAttribute("aria-orientation",l.horizontal?"horizontal":"vertical"),g.onkeydown=y=>T(y,v))),g.ondblclick=y=>U(y,v+1),c.parentNode.insertBefore(g,c)},ae=a=>{a.onmousedown=null,a.onclick=null,a.ondblclick=null,a.onkeydown=null,a.remove()},X=()=>{let a=Array.from(x.value?.children||[]);for(let f of a)f.className.includes("splitpanes__splitter")&&ae(f);let c=0;for(let f of a)f.className.includes("splitpanes__pane")&&(!c&&l.firstSplitter?K(c,f,!0):c&&K(c,f),c++)},re=({uid:a,...c})=>{let f=p.value[a];for(let[v,g]of Object.entries(c))f[v]=g},ee=!1,ne=a=>{let c=-1;Array.from(x.value?.children||[]).some(f=>(f.className.includes("splitpanes__pane")&&c++,f.isSameNode(a.el))),d.value.splice(c,0,{...a,index:c}),d.value.forEach((f,v)=>f.index=v),u.value&&!ee&&(ee=!0,e.nextTick(()=>{X(),te({addedPane:d.value[c]}),M("pane-add",{pane:d.value[c]}),ee=!1}))},de=a=>{let c=d.value.findIndex(v=>v.id===a);d.value[c].el=null;let f=d.value.splice(c,1)[0];d.value.forEach((v,g)=>v.index=g),e.nextTick(()=>{X(),M("pane-remove",{pane:f}),te({removedPane:{...f}})})},te=(a={})=>{!a.addedPane&&!a.removedPane?oe():d.value.some(c=>c.givenSize!==null||c.min||c.max<100)?V(a):se(),u.value&&M("resized")},se=()=>{let a=100/h.value,c=100,f=[],v=[];for(let g of d.value)g.size=Math.max(Math.min(a,g.max),g.min),c-=g.size,g.size>=g.max&&f.push(g.id),g.size<=g.min&&v.push(g.id);Math.abs(c)>.1&&C(c,f,v)},oe=()=>{let a=100,c=[],f=[],v=0;for(let y of d.value)a-=y.size,y.givenSize!==null&&v++,y.size>=y.max&&c.push(y.id),y.size<=y.min&&f.push(y.id);let g=100;if(a>.1){for(let y of d.value)y.givenSize===null&&(y.size=Math.max(Math.min(a/(h.value-v),y.max),y.min)),g-=y.size;g>.1&&C(g,c,f)}},V=({addedPane:a,removedPane:c}={})=>{let f=d.value.reduce((H,ie)=>H+(ie.givenSize===null?0:ie.givenSize),0),v=d.value.filter(H=>H.givenSize===null).length,g=v>0?(100-f)/v:0,y=0,r=[],z=[];for(let H of d.value)y-=H.size,H.size>=H.max&&r.push(H.id),H.size<=H.min&&z.push(H.id);if(!(Math.abs(y)<.1)){y=100;for(let H of d.value)H.givenSize===null&&(H.size=Math.max(Math.min(g,H.max),H.min)),y-=H.size,H.size>=H.max&&r.push(H.id),H.size<=H.min&&z.push(H.id);Math.abs(y)>.1&&C(y,r,z)}},C=(a,c,f)=>{let v;v=a>0?a/(h.value-c.length):a/(h.value-f.length),d.value.forEach((g,y)=>{if(a>0&&!c.includes(g.id)){let r=Math.max(Math.min(g.size+v,g.max),g.min),z=r-g.size;a-=z,g.size=r}else if(!f.includes(g.id)){let r=Math.max(Math.min(g.size+v,g.max),g.min),z=r-g.size;a-=z,g.size=r}}),Math.abs(a)>.1&&u.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")},M=(a,c=void 0,f=!1)=>{let v=c?.index??m.value.activeSplitter??null;n(a,{...c,...v!==null&&{index:v},...f&&v!==null&&{prevPane:d.value[v-+!!l.firstSplitter],nextPane:d.value[v+ +!l.firstSplitter]},panes:d.value.map(g=>({min:g.min,max:g.max,size:g.size}))})};e.watch(()=>l.firstSplitter,()=>X()),e.watch(()=>l.horizontal,a=>e.nextTick(()=>{n("direction-changed",{horizontal:a,panes:d.value.map(c=>({min:c.min,max:c.max,size:c.size}))})})),e.onMounted(()=>{F(),X(),te(),M("ready"),u.value=!0}),e.onBeforeUnmount(()=>u.value=!1);let A=()=>{let{class:a,...c}=i;return e.h("div",{ref:x,class:[N.value,a],...c},s.default?.())};return e.provide("panes",d),e.provide("indexedPanes",p),e.provide("horizontal",e.computed(()=>l.horizontal)),e.provide("requestUpdate",re),e.provide("onPaneAdd",ne),e.provide("onPaneRemove",de),e.provide("onPaneClick",S),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A)))}}),Ie={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(t){let o=t,n=e.inject("requestUpdate"),l=e.inject("onPaneAdd"),i=e.inject("horizontal"),s=e.inject("onPaneRemove"),d=e.inject("onPaneClick"),p=e.getCurrentInstance()?.uid,h=e.inject("indexedPanes"),x=e.computed(()=>h.value[p]),u=e.ref(null),m=e.computed(()=>{let b=isNaN(o.size)||o.size===void 0?0:parseFloat(o.size);return Math.max(Math.min(b,N.value),k.value)}),k=e.computed(()=>{let b=parseFloat(o.minSize);return isNaN(b)?0:b}),N=e.computed(()=>{let b=parseFloat(o.maxSize);return isNaN(b)?100:b}),_=e.computed(()=>{let b=x.value?.size??(o.size===void 0?void 0:m.value);return b===void 0?"":`${i.value?"height":"width"}: ${b}%`});return e.watch(()=>m.value,b=>n({uid:p,size:b})),e.watch(()=>k.value,b=>n({uid:p,min:b})),e.watch(()=>N.value,b=>n({uid:p,max:b})),e.onMounted(()=>{l({id:p,el:u.value,min:k.value,max:N.value,givenSize:o.size===void 0?null:m.value,size:m.value})}),e.onBeforeUnmount(()=>s(p)),(b,I)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"paneEl",ref:u,class:"splitpanes__pane",onClick:I[0]||=R=>e.unref(d)(R,b._.uid),style:e.normalizeStyle(_.value)},[e.renderSlot(b.$slots,"default")],4))}};const Le={class:"pa-2"},Ae={class:"question"},qe={__name:"AskDialog",props:e.mergeModels({question:{type:String,required:!0},default:{type:String,default:null},password:{type:Boolean,default:!1},answerRequired:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=o,i=e.useModel(t,"modelValue"),s=e.ref(n.default||""),d=e.ref(!!n.default||!n.answerRequired),p=e.computed(()=>n.answerRequired?[u=>!!u||"Required"]:[u=>!0]);function h(){l("response",s.value)}function x(){l("response","COSMOS__CANCEL")}return(u,m)=>{const k=e.resolveComponent("v-spacer"),N=e.resolveComponent("v-toolbar"),_=e.resolveComponent("v-text-field"),b=e.resolveComponent("v-card-text"),I=e.resolveComponent("v-btn"),R=e.resolveComponent("v-card-actions"),B=e.resolveComponent("v-form"),O=e.resolveComponent("v-card"),U=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(U,{modelValue:i.value,"onUpdate:modelValue":m[2]||(m[2]=T=>i.value=T),persistent:"",width:"600",onKeydown:e.withKeys(x,["esc"])},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[e.createVNode(B,{modelValue:d.value,"onUpdate:modelValue":m[1]||(m[1]=T=>d.value=T),onSubmit:e.withModifiers(h,["prevent"])},{default:e.withCtx(()=>[e.createVNode(N,{height:"24"},{default:e.withCtx(()=>[e.createVNode(k),m[3]||(m[3]=e.createElementVNode("span",null," User Input Required ",-1)),e.createVNode(k)]),_:1}),e.createElementVNode("div",Le,[e.createVNode(b,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ae,e.toDisplayString(t.question),1),e.createVNode(_,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=T=>s.value=T),autofocus:"","data-test":"ask-value-input",type:t.password?"password":"text",rules:p.value},null,8,["modelValue","type","rules"])]),_:1})]),e.createVNode(R,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(k),e.createVNode(I,{variant:"outlined","data-test":"ask-cancel",onClick:x},{default:e.withCtx(()=>[...m[4]||(m[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(I,{variant:"flat",type:"submit","data-test":"ask-ok",disabled:!d.value,onClick:e.withModifiers(h,["prevent"])},{default:e.withCtx(()=>[...m[5]||(m[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])}}},He=le._export_sfc(qe,[["__scopeId","data-v-97451a95"]]),Ge={props:{title:{type:String,required:!0},message:{type:String,default:null},defaultPath:{type:String,default:null},filter:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue","response"],data(){return{buckets:[],selectedBucket:null,path:"",files:[],selectedFile:null,search:"",loading:!1,pendingPreselect:null}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},breadcrumbPath(){if(!this.path)return[];const t=this.path.split("/").filter(o=>!!o);return t.map((o,n)=>({name:o,path:t.slice(0,n+1).join("/")+"/"}))},filteredFiles(){let t=this.files;if(this.filter){const n=this.filter.split(",").map(l=>l.trim().toLowerCase()).filter(l=>!!l);n.length>0&&(t=t.filter(l=>l.icon==="mdi-folder"||n.some(i=>l.name.toLowerCase().endsWith(i))))}if(!this.search)return t;const o=this.search.toLowerCase();return t.filter(n=>n.name.toLowerCase().includes(o))}},created(){E.Fi.get("/openc3-api/storage/buckets").then(t=>{this.buckets=t.data,this.applyDefaultPath()})},methods:{formatSize(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`},applyDefaultPath(){if(!this.defaultPath)return;const o=this.defaultPath.replace(/^\/+/,"").split("/").filter(h=>!!h);if(o.length===0||o.includes(".."))return;const n=o.filter(h=>h!=="."),l=n.shift().toLowerCase(),i=this.buckets.find(h=>h.toLowerCase()===l);if(!i)return;this.selectedBucket=i;const s=n.length>0&&this.defaultPath.endsWith("/");let d=null,p=n;n.length>0&&!s&&(d=n[n.length-1],p=n.slice(0,-1)),this.path=p.length>0?p.join("/")+"/":"",this.pendingPreselect=d,this.updateFiles()},selectBucket(t){this.selectedBucket=t,this.path="",this.selectedFile=null,this.pendingPreselect=null,this.updateFiles()},backArrow(){if(this.path==="")return;const t=this.path.split("/");this.path=t.slice(0,-2).join("/"),this.path&&(this.path+="/"),this.selectedFile=null,this.updateFiles()},gotoPath(t){this.path=t,this.selectedFile=null,this.updateFiles()},itemClick(t){t.icon==="mdi-folder"?(this.path+=`${t.name}/`,this.selectedFile=null,this.updateFiles()):this.selectedFile=t.name},itemDblClick(t){t.icon==="mdi-file"&&(this.selectedFile=t.name,this.submitHandler())},updateFiles(){this.loading=!0;const t=this.selectedBucket.toUpperCase();E.Fi.get(`/openc3-api/storage/files/OPENC3_${t}_BUCKET/${this.path}`).then(o=>{if(this.files=o.data[0].map(n=>({name:n,icon:"mdi-folder"})),this.files=this.files.concat(o.data[1].map(n=>({name:n.name,icon:"mdi-file",size:n.size}))),this.loading=!1,this.pendingPreselect){const n=this.pendingPreselect;this.pendingPreselect=null,this.files.find(i=>i.name===n&&i.icon==="mdi-file")&&(this.selectedFile=n)}}).catch(()=>{this.files=[],this.loading=!1,this.pendingPreselect=null})},submitHandler(){this.$emit("response",{bucket:`OPENC3_${this.selectedBucket.toUpperCase()}_BUCKET`,path:`${this.path}${this.selectedFile}`,filename:this.selectedFile})},cancelHandler(){this.$emit("response","COSMOS__CANCEL")}}},je={class:"pa-2"},Ke={class:"text-h6"},We=["textContent"],Je={class:"ma-2",style:{"font-size":"0.875rem"},"data-test":"bucket-path"},Ye=["onClick"],Xe={class:"text-caption"};function Qe(t,o,n,l,i,s){const d=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-row"),x=e.resolveComponent("v-icon"),u=e.resolveComponent("v-chip"),m=e.resolveComponent("v-btn"),k=e.resolveComponent("v-text-field"),N=e.resolveComponent("v-progress-circular"),_=e.resolveComponent("v-list-item"),b=e.resolveComponent("v-list-item-title"),I=e.resolveComponent("v-list"),R=e.resolveComponent("v-col"),B=e.resolveComponent("v-card-text"),O=e.resolveComponent("v-card-actions"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(T,{modelValue:s.show,"onUpdate:modelValue":o[1]||(o[1]=S=>s.show=S),persistent:"",width:"800",onKeydown:e.withKeys(s.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(d),o[2]||(o[2]=e.createElementVNode("span",null," Bucket Dialog ",-1)),e.createVNode(d)]),_:1}),e.createElementVNode("div",je,[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createElementVNode("span",Ke,e.toDisplayString(n.title),1)]),_:1}),n.message?(e.openBlock(),e.createBlock(h,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(n.message)},null,8,We)]),_:1})):e.createCommentVNode("",!0),e.createVNode(h,{class:"my-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.buckets,(S,j)=>(e.openBlock(),e.createBlock(u,{key:j,variant:i.selectedBucket===S?"elevated":"outlined",color:"primary",class:"ma-2","data-test":"bucket-chip",onClick:e.withModifiers(P=>s.selectBucket(S),["stop"])},{default:e.withCtx(()=>[e.createVNode(x,{start:""},{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode("mdi-bucket",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(S),1)]),_:2},1032,["variant","onClick"]))),128))]),_:1}),i.selectedBucket?(e.openBlock(),e.createBlock(h,{key:1,class:"my-1"},{default:e.withCtx(()=>[e.createVNode(R,{class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(h,{class:"ma-0 align-center",style:{"background-color":"var(--color-background-surface-header)"}},{default:e.withCtx(()=>[e.createVNode(m,{icon:"mdi-chevron-left-box-outline",variant:"text",density:"compact",class:"ml-2","data-test":"bucket-nav-back","aria-label":"Navigate Back",onClick:e.withModifiers(s.backArrow,["stop"])},null,8,["onClick"]),e.createElementVNode("div",Je,[e.createTextVNode(e.toDisplayString(i.selectedBucket)+"/",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.breadcrumbPath,(S,j)=>(e.openBlock(),e.createElementBlock("span",{key:j},[e.createElementVNode("a",{style:{cursor:"pointer"},onClick:e.withModifiers(P=>s.gotoPath(S.path),["prevent"])},e.toDisplayString(S.name),9,Ye),o[4]||(o[4]=e.createTextVNode("/",-1))]))),128))])]),_:1}),e.createVNode(k,{modelValue:i.search,"onUpdate:modelValue":o[0]||(o[0]=S=>i.search=S),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"mx-2 mt-2","data-test":"bucket-search"},null,8,["modelValue"]),e.createVNode(I,{density:"compact",class:"bucket-file-list","data-test":"bucket-file-list"},{default:e.withCtx(()=>[i.loading?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createVNode(N,{indeterminate:"",size:"20",class:"mr-2"}),o[5]||(o[5]=e.createTextVNode(" Loading... ",-1))]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.filteredFiles,S=>(e.openBlock(),e.createBlock(_,{key:S.name,class:e.normalizeClass({"selected-file":i.selectedFile===S.name&&S.icon==="mdi-file"}),"data-test":`bucket-item-${S.name}`,onClick:j=>s.itemClick(S),onDblclick:j=>s.itemDblClick(S)},e.createSlots({prepend:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.icon),1)]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1024)]),_:2},[S.size?{name:"append",fn:e.withCtx(()=>[e.createElementVNode("span",Xe,e.toDisplayString(s.formatSize(S.size)),1)]),key:"0"}:void 0]),1032,["class","data-test","onClick","onDblclick"]))),128)),!i.loading&&s.filteredFiles.length===0?(e.openBlock(),e.createBlock(_,{key:1},{default:e.withCtx(()=>[e.createVNode(b,{class:"text-caption text-grey"},{default:e.withCtx(()=>[...o[6]||(o[6]=[e.createTextVNode(" No files found ",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1})]),e.createVNode(O,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d),e.createVNode(m,{variant:"outlined","data-test":"bucket-cancel",onClick:s.cancelHandler},{default:e.withCtx(()=>[...o[7]||(o[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(m,{variant:"flat","data-test":"bucket-ok",disabled:!i.selectedFile,onClick:e.withModifiers(s.submitHandler,["prevent"])},{default:e.withCtx(()=>[...o[8]||(o[8]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"])}const Ze=le._export_sfc(Ge,[["render",Qe],["__scopeId","data-v-e83c6aaa"]]),$e={class:"pa-2"},et={class:"text-h6"},tt=["textContent"],ot={__name:"FileDialog",props:e.mergeModels({title:{type:String,required:!0},message:{type:String,default:null},filter:{type:String,default:"*"},multiple:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),i=o,s=e.ref(null),d=e.ref(null),p=e.computed(()=>[u=>n.multiple?u.length!=0||"Required":!!u||"Required"]),h=()=>{let u=s.value;Array.isArray(u)||(u=[u]),i("response",u)},x=()=>{i("response","COSMOS__CANCEL")};return(u,m)=>{const k=e.resolveComponent("v-spacer"),N=e.resolveComponent("v-toolbar"),_=e.resolveComponent("v-row"),b=e.resolveComponent("v-file-input"),I=e.resolveComponent("v-card-text"),R=e.resolveComponent("v-btn"),B=e.resolveComponent("v-card-actions"),O=e.resolveComponent("v-form"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(T,{modelValue:l.value,"onUpdate:modelValue":m[2]||(m[2]=S=>l.value=S),persistent:"",width:"600",onKeydown:e.withKeys(x,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(O,{modelValue:d.value,"onUpdate:modelValue":m[1]||(m[1]=S=>d.value=S),onSubmit:e.withModifiers(h,["prevent"])},{default:e.withCtx(()=>[e.createVNode(N,{height:"24"},{default:e.withCtx(()=>[e.createVNode(k),m[3]||(m[3]=e.createElementVNode("span",null," File Dialog ",-1)),e.createVNode(k)]),_:1}),e.createElementVNode("div",$e,[e.createVNode(I,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("span",et,e.toDisplayString(t.title),1)]),_:1}),t.message?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(t.message)},null,8,tt)]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{class:"my-1"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=S=>s.value=S),label:"Choose File",rules:p.value,autofocus:"","data-test":"file-input",accept:t.filter,"small-chips":"",multiple:t.multiple},null,8,["modelValue","rules","accept","multiple"])]),_:1})]),_:1})]),e.createVNode(B,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(k),e.createVNode(R,{variant:"outlined","data-test":"file-cancel",onClick:x},{default:e.withCtx(()=>[...m[4]||(m[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(R,{variant:"flat",type:"submit","data-test":"file-ok",disabled:!d.value,onClick:e.withModifiers(h,["prevent"])},{default:e.withCtx(()=>[...m[5]||(m[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])}}},it=le._export_sfc(ot,[["__scopeId","data-v-db719031"]]),nt=["textContent"],st={class:"pa-2"},lt=["textContent"],at={__name:"InformationDialog",props:e.mergeModels({title:{type:String,required:!0},text:{type:String,required:!0},width:{type:String,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(n,l)=>{const i=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),p=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-btn"),x=e.resolveComponent("v-card-actions"),u=e.resolveComponent("v-card"),m=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(m,{modelValue:o.value,"onUpdate:modelValue":l[1]||(l[1]=k=>o.value=k),width:t.width},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(s,{height:"24"},{default:e.withCtx(()=>[e.createVNode(i),e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(t.title)},null,8,nt),e.createVNode(i)]),_:1}),e.createElementVNode("div",st,[e.createVNode(p,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.text,(k,N)=>(e.openBlock(),e.createBlock(d,{key:N,"no-gutters":""},{default:e.withCtx(()=>[e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(k)},null,8,lt)]),_:2},1024))),128))]),_:1})]),e.createVNode(x,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(i),e.createVNode(h,{variant:"flat",onClick:l[0]||(l[0]=k=>o.value=!o.value)},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}}},rt={class:"pa-2"},dt={__name:"OverridesDialog",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=new E.qi,l=e.ref([]),i=e.ref(""),s=[{title:"Target",key:"target_name"},{title:"Packet",key:"packet_name"},{title:"Item",key:"item_name"},{title:"Type",key:"value_type"},{title:"Value",key:"value"},{title:"Delete",key:"delete"}];async function d(){const x=await n.get_overrides();l.value=x}async function p(){const x=[...new Map(l.value.map(u=>[`${u.target_name}__${u.packet_name}__${u.item_name}`,u])).values()];for(const u of x)await n.normalize_tlm(u.target_name,u.packet_name,u.item_name,"ALL"),l.value=[]}async function h(x){await n.normalize_tlm(x.target_name,x.packet_name,x.item_name,x.value_type);const u=l.value.indexOf(x);l.value.splice(u,1)}return e.onMounted(()=>{d()}),(x,u)=>{const m=e.resolveComponent("v-spacer"),k=e.resolveComponent("v-toolbar"),N=e.resolveComponent("v-btn"),_=e.resolveComponent("v-text-field"),b=e.resolveComponent("v-row"),I=e.resolveComponent("v-data-table"),R=e.resolveComponent("v-card-text"),B=e.resolveComponent("v-card-actions"),O=e.resolveComponent("v-card"),U=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":u[2]||(u[2]=T=>o.value=T),width:"1000"},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[e.createVNode(k,{height:"24"},{default:e.withCtx(()=>[e.createVNode(m),u[3]||(u[3]=e.createElementVNode("span",null,"Overrides",-1)),e.createVNode(m)]),_:1}),e.createElementVNode("div",rt,[e.createVNode(R,null,{default:e.withCtx(()=>[e.createVNode(b,{class:"ma-1"},{default:e.withCtx(()=>[e.createVNode(N,{color:"primary","data-test":"overrides-dialog-clear-all",onClick:p},{default:e.withCtx(()=>[...u[4]||(u[4]=[e.createTextVNode(" Clear All Overrides ",-1)])]),_:1}),e.createVNode(m),e.createVNode(_,{modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=T=>i.value=T),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(I,{headers:s,items:l.value,search:i.value,"items-per-page-options":[100],"multi-sort":"",density:"compact"},{"item.delete":e.withCtx(({item:T})=>[e.createVNode(N,{icon:"mdi-delete",variant:"text","aria-label":"Delete Override",onClick:S=>h(T)},null,8,["onClick"])]),_:1},8,["items","search"])]),_:1})]),e.createVNode(B,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(N,{variant:"flat","data-test":"overrides-dialog-ok",onClick:u[1]||(u[1]=T=>o.value=!o.value)},{default:e.withCtx(()=>[...u[5]||(u[5]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},ct=["textContent"],ut={class:"pa-2",style:{"max-height":"60vh",overflow:"auto"}},mt=["textContent"],pt=["textContent"],ht={key:0},ft={key:1},vt={key:2},gt={__name:"PromptDialog",props:e.mergeModels({title:{type:String,default:"Prompt Dialog"},subtitle:{type:String,default:""},message:{type:String,required:!0},details:{type:String,default:""},buttons:{type:Array,default:()=>[]},layout:{type:String,default:"horizontal",validator(t){return["horizontal","vertical","combo","check"].includes(t)}},multiple:{type:Boolean,default:!1,required:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["response"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),i=o,s=e.ref([]),d=e.ref(!0),p=e.ref(null),h=e.computed(()=>{const N="px-2 d-flex align-start";return n.layout==="vertical"?`${N} flex-column prompt-buttons-vertical`:`${N} flex-row flex-wrap prompt-buttons-horizontal`});function x(N){p.value=N,u()}function u(){i("response",p.value)}function m(){i("response",s.value)}function k(){i("response","COSMOS__CANCEL")}return(N,_)=>{const b=e.resolveComponent("v-spacer"),I=e.resolveComponent("v-toolbar"),R=e.resolveComponent("v-card-subtitle"),B=e.resolveComponent("v-row"),O=e.resolveComponent("v-card-text"),U=e.resolveComponent("v-select"),T=e.resolveComponent("v-btn"),S=e.resolveComponent("v-card-actions"),j=e.resolveComponent("v-checkbox"),P=e.resolveComponent("v-col"),w=e.resolveComponent("v-card"),J=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(J,{modelValue:l.value,"onUpdate:modelValue":_[3]||(_[3]=L=>l.value=L),persistent:"",scrollable:"",width:"600",onKeydown:e.withKeys(k,["esc"])},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(I,{height:"24"},{default:e.withCtx(()=>[e.createVNode(b),e.createElementVNode("span",{class:"text",textContent:e.toDisplayString(t.title)},null,8,ct),e.createVNode(b)]),_:1}),e.createElementVNode("div",ut,[e.createVNode(O,{class:"text"},{default:e.withCtx(()=>[t.subtitle?(e.openBlock(),e.createBlock(B,{key:0,class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(B,{class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(t.message)},null,8,mt)]),_:1}),t.details?(e.openBlock(),e.createBlock(B,{key:1,class:"mt-3"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(t.details)},null,8,pt)]),_:1})):e.createCommentVNode("",!0)]),_:1})]),t.layout==="combo"?(e.openBlock(),e.createElementBlock("div",ht,[e.createVNode(B,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(U,{modelValue:p.value,"onUpdate:modelValue":[_[0]||(_[0]=L=>p.value=L),_[1]||(_[1]=L=>d.value=!1)],label:"Select",color:"secondary",class:"ma-1","data-test":"prompt-select",items:t.buttons,multiple:t.multiple===!0},null,8,["modelValue","items","multiple"])]),_:1}),e.createVNode(S,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(b),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:k},{default:e.withCtx(()=>[..._[4]||(_[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(T,{variant:"flat","data-test":"prompt-ok",disabled:d.value,onClick:u},{default:e.withCtx(()=>[..._[5]||(_[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})])):t.layout==="check"?(e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(B,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(P,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(L,D)=>(e.openBlock(),e.createBlock(j,{key:D,modelValue:s.value,"onUpdate:modelValue":_[2]||(_[2]=G=>s.value=G),label:L.title,value:L.value,color:"secondary",density:"compact","hide-details":"","data-test":`prompt-check-${L.value}`},null,8,["modelValue","label","value","data-test"]))),128))]),_:1})]),_:1}),e.createVNode(S,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(b),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:k},{default:e.withCtx(()=>[..._[6]||(_[6]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(T,{variant:"flat","data-test":"prompt-ok",disabled:s.value.length===0,onClick:m},{default:e.withCtx(()=>[..._[7]||(_[7]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})])):(e.openBlock(),e.createElementBlock("div",vt,[e.createVNode(S,{class:e.normalizeClass(h.value)},{default:e.withCtx(()=>[t.layout!=="vertical"?(e.openBlock(),e.createBlock(b,{key:0})):e.createCommentVNode("",!0),e.createVNode(T,{variant:"outlined","data-test":"prompt-cancel",onClick:k},{default:e.withCtx(()=>[..._[8]||(_[8]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(L,D)=>(e.openBlock(),e.createElementBlock("div",{key:D},[e.createVNode(T,{variant:"flat","data-test":`prompt-${L.text}`,onClick:G=>x(L.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L.text),1)]),_:2},1032,["data-test","onClick"])]))),128))]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue"])}}},wt=le._export_sfc(gt,[["__scopeId","data-v-11ef54cb"]]),Ct={class:"pa-2"},kt={__name:"ResultsDialog",props:e.mergeModels({text:{type:String,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),l=e.ref(null);function i(){const s=new Blob([o.text],{type:"text/plain"}),d=document.createElement("a");d.href=URL.createObjectURL(s),d.setAttribute("download",E.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_suite_results.txt"),d.click()}return e.onMounted(()=>{setTimeout(()=>{l.value?.$el?.focus()})}),(s,d)=>{const p=e.resolveComponent("v-spacer"),h=e.resolveComponent("v-toolbar"),x=e.resolveComponent("v-textarea"),u=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-btn"),k=e.resolveComponent("v-card-actions"),N=e.resolveComponent("v-card"),_=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(_,{modelValue:n.value,"onUpdate:modelValue":d[1]||(d[1]=b=>n.value=b),scrollable:"",width:"800"},{default:e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(h,{height:"24"},{default:e.withCtx(()=>[e.createVNode(p),d[2]||(d[2]=e.createElementVNode("span",null," Script Results ",-1)),e.createVNode(p)]),_:1}),e.createElementVNode("div",Ct,[e.createVNode(u,{style:{width:"100%","max-height":"80vh",overflow:"auto"}},{default:e.withCtx(()=>[e.createVNode(x,{readonly:"","hide-details":"",density:"compact","auto-grow":"","model-value":t.text},null,8,["model-value"])]),_:1})]),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(p),e.createVNode(m,{variant:"outlined",onClick:i},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode(" Download ",-1)])]),_:1}),e.createVNode(m,{ref_key:"okButton",ref:l,variant:"flat",onClick:d[0]||(d[0]=b=>n.value=!n.value)},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},_t={class:"pa-2"},bt={__name:"ScriptEnvironmentDialog",props:e.mergeModels({inputEnvironment:{type:Array,required:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["environment"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),i=o,s=e.ref([]);function d(){s.value=[...n.inputEnvironment]}function p(){i("environment",s.value),l.value=!l.value}function h(){l.value=!l.value}return e.onMounted(()=>{d()}),(x,u)=>{const m=e.resolveComponent("v-spacer"),k=e.resolveComponent("v-toolbar"),N=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),I=e.resolveComponent("v-card"),R=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(R,{modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=B=>l.value=B),persistent:"",width:"600",onKeydown:e.withKeys(h,["esc"])},{default:e.withCtx(()=>[e.createVNode(I,null,{default:e.withCtx(()=>[e.createVNode(k,{height:"24"},{default:e.withCtx(()=>[e.createVNode(m),u[2]||(u[2]=e.createElementVNode("span",null,"Script Environment Variables",-1)),e.createVNode(m)]),_:1}),e.createElementVNode("div",_t,[e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(e.unref(ge.EnvironmentChooser),{modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=B=>s.value=B)},null,8,["modelValue"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(_,{variant:"outlined","data-test":"environment-dialog-cancel",onClick:h},{default:e.withCtx(()=>[...u[3]||(u[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(_,{variant:"flat","data-test":"environment-dialog-save",onClick:p},{default:e.withCtx(()=>[...u[4]||(u[4]=[e.createTextVNode(" Save ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}}},xt={id:"tr-container"},yt={__name:"SuiteRunner",props:{suiteMap:{type:Object,required:!0},disableButtons:{type:Boolean,required:!0},filename:{type:String,required:!0}},emits:["button","loaded"],setup(t,{emit:o}){const n=t,l=o,i=e.ref([]),s=e.ref([]),d=e.ref([]),p=e.ref(""),h=e.ref(""),x=e.ref(""),u=e.ref(["pauseOnError","manual","continueAfterError"]),m=e.ref({}),k=e.computed(()=>n.filename.endsWith(".py")?"Checked sets the RunningScript.manual variable to True":"Checked sets the $manual variable to true"),N=e.computed(()=>n.filename.endsWith(".py")?"Unchecked sets the RunningScript.manual variable to False":"Unchecked sets the $manual variable to false"),_=e.computed(()=>!!(p.value&&n.suiteMap[p.value]?.setup)),b=e.computed(()=>!!(p.value&&n.suiteMap[p.value]?.teardown)),I=e.computed(()=>!!(p.value&&h.value&&n.suiteMap[p.value]?.groups[h.value]?.setup)),R=e.computed(()=>!!(p.value&&h.value&&n.suiteMap[p.value]?.groups[h.value]?.teardown)),B=e.computed(()=>d.value.map(P=>({title:P.replace(/^(script_|test_)/,""),value:P})));e.watch(()=>n.suiteMap,()=>{O()},{deep:!0});function O(){i.value=Object.keys(n.suiteMap),n.suiteMap[p.value]==null||n.suiteMap[p.value].groups[h.value]==null?U():(s.value=Object.keys(n.suiteMap[p.value].groups),d.value=n.suiteMap[p.value].groups[h.value].scripts)}function U(){i.value=Object.keys(n.suiteMap),T(i.value[0])}function T(P){!P||n.suiteMap[P]==null||(p.value=P,h.value="",x.value="",s.value=Object.keys(n.suiteMap[P].groups),S(s.value[0]))}function S(P){!P||n.suiteMap[p.value]==null||n.suiteMap[p.value].groups[P]==null||(h.value=P,x.value="",d.value=n.suiteMap[p.value].groups[P].scripts,j(d.value[0]))}function j(P){x.value=P}return e.onMounted(()=>{m.value=JSON.parse(localStorage.script_runner__userinfo),U(),l("loaded")}),(P,w)=>{const J=e.resolveComponent("v-checkbox"),L=e.resolveComponent("v-tooltip"),D=e.resolveComponent("v-col"),G=e.resolveComponent("v-row"),Y=e.resolveComponent("v-select"),W=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",xt,[e.createVNode(G,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(D,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[0]||(w[0]=K=>u.value=K),label:"Pause on Error",value:"pauseOnError","hide-details":"","data-test":"pause-on-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[16]||(w[16]=e.createElementVNode("span",null,[e.createTextVNode(" Checked pauses the script when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked continues without user interaction ")],-1))]),_:1})]),_:1}),e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=K=>u.value=K),label:"Manual",value:"manual","hide-details":"","data-test":"manual"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(k.value),1),w[17]||(w[17]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" "+e.toDisplayString(N.value),1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(D,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(D,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(Y,{modelValue:p.value,"onUpdate:modelValue":[w[2]||(w[2]=F=>p.value=F),T],label:"Suite:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:i.value,"data-test":"select-suite"},null,8,["modelValue","items"])]),_:1}),e.createVNode(D,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(W,{color:"primary",class:"mr-2",disabled:t.disableButtons||!m.value.execute,"data-test":"start-suite",onClick:w[3]||(w[3]=F=>P.$emit("button",{method:"start",suite:p.value,options:u.value}))},{default:e.withCtx(()=>[...w[18]||(w[18]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(W,{color:"primary",class:"mr-2","data-test":"setup-suite",disabled:t.disableButtons||!_.value||!m.value.execute,onClick:w[4]||(w[4]=F=>P.$emit("button",{method:"setup",suite:p.value,options:u.value}))},{default:e.withCtx(()=>[...w[19]||(w[19]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(W,{color:"primary","data-test":"teardown-suite",disabled:t.disableButtons||!b.value||!m.value.execute,onClick:w[5]||(w[5]=F=>P.$emit("button",{method:"teardown",suite:p.value,options:u.value}))},{default:e.withCtx(()=>[...w[20]||(w[20]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(G,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(D,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[6]||(w[6]=K=>u.value=K),label:"Continue after Error",value:"continueAfterError","hide-details":"","data-test":"continue-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[21]||(w[21]=e.createElementVNode("span",null,[e.createTextVNode(" Checked allows the script to continue when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked forces the current script to end ")],-1))]),_:1})]),_:1}),e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[7]||(w[7]=K=>u.value=K),label:"Loop",value:"loop","hide-details":"","data-test":"loop"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[22]||(w[22]=e.createElementVNode("span",null,[e.createTextVNode(" Checked continuously executes until explicitly stopped"),e.createElementVNode("br"),e.createTextVNode(" Unchecked executes only the started script(s) ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(D,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(D,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(Y,{modelValue:h.value,"onUpdate:modelValue":[w[8]||(w[8]=F=>h.value=F),S],label:"Group:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:s.value,"data-test":"select-group"},null,8,["modelValue","items"])]),_:1}),e.createVNode(D,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(W,{color:"primary",class:"mr-2",disabled:t.disableButtons||!m.value.execute,"data-test":"start-group",onClick:w[9]||(w[9]=F=>P.$emit("button",{method:"start",suite:p.value,group:h.value,options:u.value}))},{default:e.withCtx(()=>[...w[23]||(w[23]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(W,{color:"primary",class:"mr-2","data-test":"setup-group",disabled:t.disableButtons||!I.value||!m.value.execute,onClick:w[10]||(w[10]=F=>P.$emit("button",{method:"setup",suite:p.value,group:h.value,options:u.value}))},{default:e.withCtx(()=>[...w[24]||(w[24]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(W,{color:"primary","data-test":"teardown-group",disabled:t.disableButtons||!R.value||!m.value.execute,onClick:w[11]||(w[11]=F=>P.$emit("button",{method:"teardown",suite:p.value,group:h.value,options:u.value}))},{default:e.withCtx(()=>[...w[25]||(w[25]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(G,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(D,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[12]||(w[12]=K=>u.value=K),label:"Abort after Error",value:"abortAfterError","hide-details":"","data-test":"abort-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[w[26]||(w[26]=e.createElementVNode("span",null,[e.createTextVNode(" Checked stops additional script execution when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows additional scripts to execute ")],-1))]),_:1})]),_:1}),e.createVNode(D,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(L,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:F})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(F)),[e.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":w[13]||(w[13]=K=>u.value=K),disabled:!u.value.includes("loop"),label:"Break Loop on Error",value:"breakLoopOnError","hide-details":"","data-test":"break-loop-on-error"},null,8,["modelValue","disabled"])],16)]),default:e.withCtx(()=>[w[27]||(w[27]=e.createElementVNode("span",null,[e.createTextVNode(" Checked breaks the loop option when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows the loop to run continuously"),e.createElementVNode("br"),e.createTextVNode(" Note: Abort after Error still breaks the loop ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(D,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(G,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(D,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(Y,{modelValue:x.value,"onUpdate:modelValue":[w[14]||(w[14]=F=>x.value=F),j],label:"Script:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:B.value,"item-title":"title","item-value":"value","data-test":"select-script"},null,8,["modelValue","items"])]),_:1}),e.createVNode(D,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(W,{color:"primary",class:"mr-2",disabled:t.disableButtons||!m.value.execute,"data-test":"start-script",onClick:w[15]||(w[15]=F=>P.$emit("button",{method:"start",suite:p.value,group:h.value,script:x.value,options:u.value}))},{default:e.withCtx(()=>[...w[28]||(w[28]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(W,{color:"primary",class:"mr-2 invisible"},{default:e.withCtx(()=>[...w[29]||(w[29]=[e.createTextVNode(" Setup ",-1)])]),_:1}),e.createVNode(W,{color:"primary",class:"invisible"},{default:e.withCtx(()=>[...w[30]||(w[30]=[e.createTextVNode(" Teardown ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])])}}},ke=le._export_sfc(yt,[["__scopeId","data-v-9cca3314"]]);class Vt{#e;#t;#o;#i;#n;constructor(o,{pattern:n,text:l,type:i}){this.#e=`regexAnnotator-${Math.floor(Math.random()*1e7)}`,this.#t=o,this.#o=n,this.#i=l,this.#n=i}refresh=()=>{const o=this.#t.session;this.#r(o);const n={lines:o.doc.$lines,action:"insert",start:{row:0},end:{row:o.doc.$lines.length}};this.annotate(n,o)};annotate=(o,n)=>{if(o.lines.length>1)switch(o.action){case"insert":this.#l(n,o.start.row,o.lines.length-1);break;case"remove":this.#l(n,o.start.row+1,-o.lines.length+1);break}for(let l=o.start.row;l<=o.end.row;l++){let i=n.doc.$lines[l]?.match(this.#o)?.index;i!==void 0?(i!==0&&(i+=1),this.#a(n,{row:l,column:i,text:this.#i,type:this.#n,openc3Id:this.#e})):o.action==="remove"&&this.#s(n,l)}};#a=(o,n)=>{this.#s(o,n.row),o.setAnnotations([...o.getAnnotations(),n])};#s=(o,n)=>{o.setAnnotations(o.getAnnotations().filter(l=>l.openc3Id!==this.#e||l.row!==n))};#l=(o,n,l)=>{o.setAnnotations(o.getAnnotations().map(i=>(i.row>n&&(i.row+=l),i)))};#r=o=>{o.setAnnotations(o.getAnnotations().filter(n=>n.openc3Id!==this.#e))}}class Nt extends Vt{constructor(o){const n="(^|[{\\s])",l="sleep",i="[\\(\\s]";super(o,{pattern:new RegExp(`${n}${l}${i}`),text:"Use `wait` instead of `sleep` in OpenC3 scripts",type:"warning"})}}const fe="__TEMP__",Q="<Untitled>",pe="Start",St="Go",ue="Pause",Et="Retry",Bt={components:{FileOpenSaveDialog:$.FileOpenSaveDialog,Openc3Screen:$.Openc3Screen,EnvironmentDialog:$.EnvironmentDialog,Splitpanes:Pe,Pane:Ie,TopBar:ce.TopBar,AskDialog:He,BucketDialog:Ze,FileDialog:it,InformationDialog:at,EventListDialog:Re.EventListDialog,OverridesDialog:dt,PromptDialog:wt,ResultsDialog:kt,ScriptEnvironmentDialog:bt,SimpleTextDialog:Te.SimpleTextDialog,SuiteRunner:ke,RunningScripts:we,ScriptLogMessages:Ce,CriticalCmdDialog:Be.CriticalCmdDialog,CommandEditor:ge.CommandEditor},mixins:[ve.AceEditorModes,Me._sfc_main],beforeRouteUpdate:function(t,o,n){t.params.id?this.tryLoadRunningScript(t.params.id).then(n):n()},props:{inline:{type:Boolean,default:!1},body:{type:String,default:null},initialFilename:{type:String,default:null}},emits:["alert","script-id"],setup(){return{containerHeight:Se.useContainerHeight()}},data(){return{title:"Script Runner",suiteRunner:!1,disableSuiteButtons:!1,suiteMap:{},filenameSelect:null,currentFilename:null,showSave:!1,showAlert:!1,alertType:null,alertText:"",state:null,scriptId:null,startOrGoButton:pe,startOrGoDisabled:!1,envDisabled:!1,pauseOrRetryButton:ue,pauseOrRetryDisabled:!1,stopDisabled:!1,showEnvironment:!1,showDebug:!1,debug:"",debugHistory:[],debugHistoryIndex:0,showDisconnect:!1,files:{},breakpoints:{},enableStackTraces:!1,filename:Q,readOnlyUser:!1,executeUser:!0,saveAllowed:!0,tempFilename:null,fileModified:"",fileOpen:!1,lockedBy:null,showEditingToast:!1,showSaveAs:!1,areYouSure:!1,subscription:null,cable:null,fatal:!1,updateInterval:null,receivedEvents:[],messages:[],messagesNewestOnTop:!0,inlineTab:"script",maxArrayLength:200,Range:ace.require("ace/range").Range,ask:{show:!1,question:"",default:null,password:!1,answerRequired:!0,callback:()=>{}},file:{show:!1,message:"",directory:null,filter:"*",multiple:!1,callback:()=>{}},bucket:{show:!1,title:"",message:"",defaultPath:null,filter:null},prompt:{show:!1,title:"",subtitle:"",message:"",details:"",buttons:null,layout:"horizontal",callback:()=>{}},information:{show:!1,title:"",text:[],width:"600"},inputMetadata:{show:!1,events:[],callback:()=>{}},results:{show:!1,text:""},scriptEnvironment:{show:!1,env:[]},showSuiteError:!1,suiteError:"",executeSelectionMenu:!1,menuX:0,menuY:0,mnemonicChecker:new Fe,showScripts:!1,showOverrides:!1,overridesCount:0,commandEditor:{show:!1,targetName:null,commandName:null,dialogError:null,cmdString:null,isEditing:!1,editLine:null},currentLineHasCommand:!1,activePromptId:"",api:null,timeZone:"local",screens:[],screenKeywords:null,idCounter:0,updateCounter:0,recent:[],waitingInterval:null,waitingTime:0,waitingStart:0,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1,editorBoxSize:50,lockingEnabled:!0}},computed:{stateTimer:function(){return this.state==="waiting"||this.state==="paused"?`${this.state} ${this.waitingTime}s`:this.state==="completed_errors"?"completed":this.state},stateColorClass:function(){return this.state==="error"||this.state==="crashed"||this.state==="killed"?"script-state-red":this.state==="completed_errors"?"script-state-orange":this.state==="completed"?"script-state-green":""},fileList:function(){const t=Object.keys(this.files);return t.push(this.fullFilename),[...new Set(t)]},environmentModified:function(){return this.scriptEnvironment.env.length>0},isLocked:function(){return this.lockingEnabled?!!this.lockedBy:!1},fullFilename:function(){return this.currentFilename?this.currentFilename:this.filename===Q?Q:`${this.filename} ${this.fileModified}`.trim()},filenameOrBlank:function(){return this.filename===Q?"":this.filename},menus:function(){return[{label:"File",items:[{label:"New File",icon:"mdi-file-plus",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.newFileWithConfirm()}},{label:"New Suite",icon:"mdi-file-document-plus",disabled:this.scriptId||this.readOnlyUser,subMenu:[{label:"Ruby",icon:"mdi-language-ruby",command:()=>{this.newRubyTestSuite()}},{label:"Python",icon:"mdi-language-python",command:()=>{this.newPythonTestSuite()}}]},{label:"Open File",icon:"mdi-folder-open",disabled:this.scriptId,command:()=>{this.openFileWithConfirm()}},{label:"Open Recent",icon:"mdi-folder-open",disabled:this.scriptId,subMenu:this.recent},{divider:!0},{label:"Save File",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveFile()}},{label:"Save As...",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveAs()}},{divider:!0},{label:"Download",icon:"mdi-cloud-download",disabled:this.scriptId,command:()=>{this.download()}},{divider:!0},{label:"Delete File",icon:"mdi-delete",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.delete()}}]},{label:"Edit",items:[{label:"Find",icon:"mdi-magnify",command:()=>{this.editor.execCommand("find")}},{label:"Replace",icon:"mdi-find-replace",disabled:this.scriptId,command:()=>{this.editor.execCommand("replace")}},{label:"Set Line Delay",icon:"mdi-invoice-text-clock",disabled:this.scriptId,command:()=>{this.$dialog.open({title:"Info",text:"You can set the line delay in seconds using the api method set_line_delay().<br/><br/>The default line delay is 0.1 seconds between lines. Adding set_line_delay(0) to the top of your script will execute the script at maximum speed. However, this can make it difficult to see and pause the script. Executing set_line_delay(1) will cause a 1 second delay between lines.",okText:"OK",okClass:"primary",validateText:null,cancelText:null,html:!0})}}]},{label:"Script",items:[{label:"Execution Status",icon:"mdi-run",command:()=>{this.showScripts=!0}},{divider:!0},{label:"Global Environment",icon:"mdi-library",disabled:this.scriptId,command:()=>{this.showEnvironment=!this.showEnvironment}},{label:"Metadata",icon:"mdi-calendar",disabled:this.scriptId,command:()=>{this.inputMetadata.callback=()=>{},this.showMetadata()}},{label:"Overrides",icon:"mdi-swap-horizontal",command:()=>{this.showOverrides=!0}},{divider:!0},{label:"Syntax Check",icon:"mdi-file-check",disabled:this.scriptId,command:()=>{this.syntaxCheck()}},{label:"Mnemonic Check",icon:"mdi-spellcheck",disabled:this.scriptId,command:()=>{this.checkMnemonics()}},{label:"Instrumented Script",icon:"mdi-code-braces-box",disabled:this.scriptId,command:()=>{this.showInstrumented()}},{label:"Call Stack",icon:"mdi-format-list-numbered",disabled:!this.scriptId,command:()=>{this.showCallStack()}},{divider:!0},{label:"Toggle Debug",icon:"mdi-bug",command:()=>{this.toggleDebug()}},{label:"Toggle Disconnect",icon:"mdi-connection",disabled:this.scriptId,command:()=>{this.toggleDisconnect()}},{label:"Enable Stack Traces",checkbox:!0,checked:this.enableStackTraces,disabled:this.scriptId,command:()=>{this.enableStackTraces=!this.enableStackTraces}},{divider:!0},{label:"Delete All Breakpoints",icon:"mdi-delete-circle-outline",disabled:this.scriptId,command:()=>{this.deleteAllBreakpoints()}}]}]}},watch:{isLocked:function(t){this.showEditingToast=t,this.suiteRunner||(this.startOrGoDisabled=t),this.readOnlyUser==!1&&t==!1&&!this.inline?this.editor.setReadOnly(t):this.editor.setReadOnly(!0)},fullFilename:function(t){this.filenameSelect=t,this.inline||(t===Q?localStorage.removeItem("script_runner__filename"):localStorage.script_runner__filename=t)},readOnlyUser:function(t){this.editor&&(t?(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none"):(this.inline||this.editor.setReadOnly(!1),this.editor.renderer.$cursorLayer.element.style.display=null))},showOverrides:function(t,o){o&&!t&&this.updateOverridesCount()}},created:async function(){this.api=new E.qi,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(n=>{n&&(this.timeZone=n)}).catch(n=>{});try{const n=await this.api.get_setting("script_runner_locking");n!=null&&(this.lockingEnabled=n)}catch{}this.updateOverridesCount(),this.NEW_FILENAME=Q;let t=OpenC3Auth.user(),o=OpenC3Auth.userroles();this.readOnlyUser=!0,this.executeUser=!1;for(let n of o)n!="viewer"&&(n=="admin"||n=="operator"?(this.readOnlyUser=!1,this.executeUser=!0):n=="runner"?this.executeUser=!0:await E.Fi.get(`/openc3-api/roles/${n}`).then(l=>{l.data!==null&&l.data.permissions!==void 0&&(l.data.permissions.some(i=>i.permission=="script_edit")&&(this.readOnlyUser=!1),l.data.permissions.some(i=>i.permission=="script_run")&&(this.executeUser=!0))}));if(this.inline||(localStorage.script_runner__userinfo=JSON.stringify({name:t.preferred_username,readOnly:this.readOnlyUser,execute:this.executeUser})),this.readOnlyUser==!0){this.alertType="info";let n=`User ${t.preferred_username} is read only`;this.executeUser&&(n+=" but can execute scripts"),this.alertText=n,this.showAlert=!0}E.Fi.get("/openc3-api/autocomplete/keywords/screen").then(n=>{this.screenKeywords=n.data}),this.inline&&(this.readOnly=!0)},mounted:async function(){this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const t=this.buildRubyMode(),o=this.buildPythonMode();this.rubyMode=new t,this.pythonMode=new o,ce.AceEditorUtils.getDefaultScriptingLanguage()==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new $.CmdCompleter,new $.TlmCompleter],this.editor.setHighlightActiveLine(!1),ce.AceEditorUtils.applyVimModeIfEnabled(this.editor,{saveFn:this.saveFile}),this.editor.focus(),this.editor.on("guttermousedown",this.toggleBreakpoint),this.editor.session.on("tokenizerUpdate",this.onChange),(this.readOnlyUser||this.inline)&&(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none");const l=new Nt(this.editor);this.editor.session.on("change",(i,s)=>{l.annotate(i,s),this.updateBreakpoints(i,s)}),this.editor.container.addEventListener("resize",this.doResize),this.editor.container.addEventListener("keydown",this.keydown),this.cable=new E.$i("/script-api/cable"),!this.inline&&localStorage.script_runner__recent&&(this.recent=JSON.parse(localStorage.script_runner__recent),this.recent=this.recent.map(i=>({...i,command:async s=>{this.filename=s.label,await this.reloadFile()}}))),this.inline?this.body&&(this.editor.setValue(this.body),this.editor.clearSelection(),this.initialFilename&&(this.filename=this.initialFilename)):this.$route.query?.file?(this.filename=this.$route.query.file,await this.reloadFile()):this.$route.params?.id?await this.tryLoadRunningScript(this.$route.params.id):(this.scriptId=sessionStorage.getItem("script_runner__script_id"),this.scriptId?await this.tryLoadRunningScript(this.scriptId):localStorage.script_runner__filename&&(this.filename=localStorage.script_runner__filename,await this.reloadFile(!1))),this.updateInterval=setInterval(async()=>{this.processReceived()},100)},beforeUnmount(){this.scriptId&&!this.inline&&sessionStorage.setItem("script_runner__script_id",this.scriptId),this.editor.destroy(),this.editor.container.remove()},unmounted(){this.unlockFile(),this.updateInterval!=null&&clearInterval(this.updateInterval),this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.cable.disconnect()},methods:{updateOverridesCount:function(){this.api.get_overrides().then(t=>{this.overridesCount=t.length})},toggleVimMode(){ce.AceEditorUtils.toggleVimMode(this.editor)},openCommandEditor(){this.executeSelectionMenu=!1;const t=this.editor.getCursorPosition(),o=this.editor.session.getLine(t.row);if(this.currentLineHasCommand){const n=this.parseCommandFromLine(o);this.commandEditor.cmdString=n,this.commandEditor.isEditing=!0,this.commandEditor.editLine=t.row}else this.commandEditor.cmdString=null,this.commandEditor.isEditing=!1,this.commandEditor.editLine=null;this.commandEditor.show=!0,this.commandEditor.dialogError=null},insertCommand(t){let o="";try{o=this.$refs.commandEditor.getCmdString();let n=o.split(" ");this.commandEditor.targetName=n[0],this.commandEditor.commandName=n[1]}catch(n){this.commandEditor.dialogError=n.message||"Please fix command parameters";return}if(this.commandEditor.isEditing&&this.commandEditor.editLine!==null){const n=this.editor.session.getLine(this.commandEditor.editLine),l=n.match(/^\s*/)[0],i=n.match(/\s+#.*$/),s=i?i[0]:"",d=`${l}cmd("${o}")${s}`,p=this.Range;this.editor.session.replace(new p(this.commandEditor.editLine,0,this.commandEditor.editLine,n.length),d)}else{const n=this.editor.getCursorPosition();this.editor.session.insert(n,`cmd("${o}")
5
+ `)}this.fileModified=!0,this.commandEditor.show=!1},closeCommandDialog:function(){this.commandEditor.show=!1},doResize(){this.editor.resize()},scriptDisconnect(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0},showMetadata(){E.Fi.get("/openc3-api/metadata").then(t=>{this.inputMetadata.events=t.data.map(o=>({name:"Metadata",start:new Date(o.start*1e3),end:new Date(o.start*1e3),color:o.color,type:o.type,timed:!0,metadata:o})),this.inputMetadata.show=!0})},messageSortOrder(t){t==="Newest on Top"&&this.messagesNewestOnTop===!1?(this.messagesNewestOnTop=!0,this.messages.reverse()):t==="Newest on Bottom"&&this.messagesNewestOnTop===!0&&(this.messagesNewestOnTop=!1,this.messages.reverse())},fileNameChanged(t){t=t.split("*")[0],this.editor.setValue(this.files[t].content),this.restoreBreakpoints(t),this.editor.clearSelection(),this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(this.files[t].lineNo-1,0,this.files[t].lineNo-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(this.files[t].lineNo)},tryLoadRunningScript:function(t){return E.Fi.get(`/script-api/running-script/${t}`).then(o=>{if(o.data){let n=o.data.state;n!=="completed"&&n!=="completed_errors"&&n!=="stopped"&&n!=="crashed"&&n!=="killed"?(this.filename=o.data.filename,this.tryLoadSuites(o),this.initScriptStart(),this.scriptStart(t)):(this.$notify.caution({title:`Script ${t} has already completed`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0)}else throw new Error(`Unable to load state for running script ${t}`)}).catch(o=>{this.$notify.caution({title:`Running Script ${t} not found`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0})},tryLoadSuites:function(t){t.data.suites&&(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(t.data.suites)),this.doResize()},showExecuteSelectionMenu:function(t){this.menuX=t.pageX,this.menuY=t.pageY;const o=this.editor.getCursorPosition(),n=this.editor.session.getLine(o.row);this.currentLineHasCommand=this.isCommandLine(n),this.executeSelectionMenu=!0},isCommandLine:function(t){const o=t.trim();return/^\s*cmd(_\w+)?\s*\(/.test(o)},parseCommandFromLine:function(t){const o=t.match(/cmd(_\w+)?\s*\(\s*["'](.+?)["']\s*\)/);return o?o[2]:null},runFromCursor:function(){const t=this.editor.getCursorPosition().row+1;this.scriptId?E.Fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,t]}}):this.start(null,null,t)},executeSelection:function(){const t=this.editor.getSelectionRange();let o=t.start.row+1,n=t.end.row+1;t.end.column===0&&(n-=1),this.scriptId?E.Fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,o,n]}}):this.start(null,null,o,n)},clearBreakpoints:function(){this.editor.session.clearBreakpoints()},toggleBreakpoint:function(t){if(!this.scriptId){const o=t.getDocumentPosition().row;t.editor.session.getBreakpoints(o,0)[o]?t.editor.session.clearBreakpoint(o):t.editor.session.setBreakpoint(o)}},updateBreakpoints:function(t,o){if(t.lines.length<=1)return;const n=this.getBreakpointRows(o).filter(s=>t.start.column===0&&s===t.start.row||s>t.start.row);let l=[],i=0;switch(t.action){case"insert":i=t.lines.length-1,n.reverse();break;case"remove":i=-t.lines.length+1,l=[...Array(t.lines.length).keys()].map(s=>s+t.start.row);break}n.forEach(s=>{o.clearBreakpoint(s),l.includes(s)||o.setBreakpoint(s+i)})},getBreakpointRows:function(t=this.editor.session){return t.getBreakpoints().map((o,n)=>o&&n).filter(Number.isInteger)},restoreBreakpoints:function(t){this.clearBreakpoints(),this.breakpoints[t]?.forEach(o=>{this.editor.session.setBreakpoint(o)})},deleteAllBreakpoints:function(){this.$dialog.confirm("Permanently delete all breakpoints for ALL scripts?",{okText:"Delete",cancelText:"Cancel"}).then(t=>E.Fi.delete("/script-api/breakpoints/delete/all")).then(t=>{this.clearBreakpoints()})},suiteRunnerButton(t){this.startOrGoButton===pe?this.start(t,"suiteRunner"):this.go(t,"suiteRunner")},async keydown(t){this.scriptId||this.editor.getReadOnly()===!0||(t.metaKey||t.ctrlKey)&&t.keyCode===83&&(t.shiftKey?(t.preventDefault(),this.saveAs()):(t.preventDefault(),await this.saveFile()))},onChange(t){this.scriptId||this.editor.getReadOnly()===!0||(this.editor.session.getUndoManager().canUndo()?this.fileModified="*":this.fileModified="")},checkMnemonics:function(){let t=this.filename;this.filename!==Q&&(t.endsWith(".rb")||t.endsWith(".py")||E.Fi.post(`/script-api/scripts/${this.filename}/mnemonics`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(o=>{let n="";n+=`<strong>${o.data.title}</strong><br/><br/>`,n+=JSON.parse(o.data.description),this.$dialog.alert(n.trim(),{html:!0})})),this.mnemonicChecker.checkText(this.editor.getValue()).then(({skipped:o,problems:n})=>{let l="";if(n.length){const i=n.map(s=>`${s.lineNumber}: ${s.error}`).join("<br/>");l+=`<strong>The following lines have problems:</strong><br/>${i}<br/><br/>`}o.length&&(l+="<strong>Mnemonics with string interpolation were not checked.</strong>"),l===""&&(l="<strong>Everything looks good!</strong>"),this.$dialog.alert(l.trim(),{html:!0})})},initScriptStart(){this.disableSuiteButtons=!0,this.startOrGoDisabled=!0,this.envDisabled=!0,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.state="Connecting...",this.startOrGoButton=St,this.editor.setReadOnly(!0)},async scriptStart(t){this.$emit("script-id",t),this.scriptId=t,this.subscription&&(await this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0,this.subscription=await this.cable.createSubscription("RunningScriptChannel",window.openc3Scope,{received:o=>this.received(o)},{id:this.scriptId})},async scriptComplete(){this.subscription&&(await this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0,await this.reloadFile(),this.editor.session.getUndoManager().reset(),this.readOnlyUser==!1&&!this.inline&&this.editor.setReadOnly(!1),this.scriptId=null,sessionStorage.removeItem("script_runner__script_id"),this.disableSuiteButtons=!1,this.startOrGoButton=pe,this.pauseOrRetryButton=ue,this.startOrGoDisabled=this.suiteRunner,this.envDisabled=!1,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.updateOverridesCount()},environmentHandler:function(t){this.scriptEnvironment.env=t},startHandler:function(){this.start()},async start(t=null,o=null,n=null,l=null){this.initScriptStart(),await this.saveFile("start"),this.saveAllowed=!1;let i=this.filename;this.filename===Q&&(i=this.tempFilename);let s=`/script-api/scripts/${i}/run`;this.showDisconnect&&(s+="/disconnect");let d=this.scriptEnvironment.env;this.enableStackTraces&&(d=d.concat({key:"OPENC3_FULL_BACKTRACE",value:"1"}));let p={environment:d};o&&(p.suiteRunner=t),n!==null&&(p.line_no=n),l!==null&&(p.end_line_no=l),E.Fi.post(s,{data:p}).then(h=>{this.scriptStart(h.data)}).catch(h=>{this.scriptComplete()})},go(){this.currentFilename&&(this.filenameSelect=this.currentFilename,this.fileNameChanged(this.currentFilename)),E.Fi.post(`/script-api/running-script/${this.scriptId}/go`)},pauseOrRetry(){this.pauseOrRetryButton===ue?E.Fi.post(`/script-api/running-script/${this.scriptId}/pause`):(this.pauseOrRetryButton=ue,E.Fi.post(`/script-api/running-script/${this.scriptId}/retry`))},stop(){E.Fi.post(`/script-api/running-script/${this.scriptId}/stop`)},step(){E.Fi.post(`/script-api/running-script/${this.scriptId}/step`)},handleWaiting(){if(this.state!=="waiting"&&this.state!=="paused")this.clearWaiting();else if(this.waitingInterval!==null)return;this.waitingStart=Date.now(),this.waitingInterval=setInterval(()=>{this.waitingTime=Math.round((Date.now()-this.waitingStart)/1e3)},1e3)},clearWaiting(){this.waitingTime=0,clearInterval(this.waitingInterval),this.waitingInterval=null},processLine(t){t.filename&&t.filename!==this.currentFilename&&(this.files[t.filename]?(this.currentFilename=t.filename,this.editor.setValue(this.files[t.filename].content),this.restoreBreakpoints(t.filename),this.editor.clearSelection()):(this.files[t.filename]={content:"",lineNo:0},E.Fi.get(`/script-api/scripts/${t.filename}`).then(n=>{this.files[t.filename]={content:n.data.contents,lineNo:0},this.breakpoints[t.filename]=n.data.breakpoints,this.restoreBreakpoints(t.filename),this.currentFilename=null}).catch(n=>{this.files[t.filename]=null}))),this.state=t.state;const o=this.editor.session.getMarkers();switch(this.state){case"running":this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,this.pauseOrRetryButton=ue,this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(t.line_no-1,0,t.line_no-1,1),"runningMarker","fullLine"),this.editor.gotoLine(t.line_no),this.files[t.filename].lineNo=t.line_no;break;case"error":this.pauseOrRetryButton=Et;case"spawning":case"init":case"paused":case"waiting":case"breakpoint":if(this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,Object.keys(o).filter(l=>o[l].clazz===`${this.state}Marker`).length===0){this.removeAllMarkers();let l=t.line_no>0?t.line_no:1;this.editor.session.addMarker(new this.Range(l-1,0,l-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(l),t.filename&&(this.files[t.filename].lineNo=l)}break;case"completed":case"completed_errors":case"stopped":case"crashed":case"killed":this.removeAllMarkers();break}},processReceived(){let t=0;for(let o of this.receivedEvents){t+=1;let n=0;switch(o.type){case"file":this.files[o.filename]={content:o.text,lineNo:0},this.breakpoints[o.filename]=o.breakpoints,this.currentFilename===o.filename&&this.restoreBreakpoints(o.filename);break;case"line":this.processLine(o);break;case"output":let l=o.line;l==null?l="":typeof l=="object"?l=JSON.stringify(l):l=String(l);for(const p of l.split(`
6
+ `))p&&(this.messagesNewestOnTop?this.messages.unshift({message:p}):this.messages.push({message:p}));for(;this.messages.length>this.maxArrayLength;)this.messages.pop();break;case"script":this.handleScript(o);break;case"report":this.results.text=o.report,this.results.show=!0;break;case"complete":o.report&&(this.results.text=o.report,this.results.show=!0),this.removeAllMarkers(),this.scriptComplete();break;case"step":this.showDebug=!0;break;case"screen":let i=!1,s={};for(screen of this.screens){if(screen.target==o.target_name&&screen.screen==o.screen_name){s=screen,i=!0;break}n+=1}s.target=o.target_name,s.screen=o.screen_name,s.definition=o.definition,o.x?s.left=o.x:s.left=0,o.y?s.top=o.y:s.top=0,s.count=this.updateCounter++,i?this.screens[n]=s:(s.id=this.idCounter++,this.screens[this.screens.length]=s);break;case"clearscreen":for(screen of this.screens){if(screen.target==o.target_name&&screen.screen==o.screen_name){this.screens.splice(n,1);break}n+=1}break;case"clearallscreens":this.screens=[];break;case"downloadfile":const d=document.createElement("a");d.href=window.location.origin+o.url,d.setAttribute("download",o.filename),d.click();break;case"opentab":window.open(o.url,"_blank");break}}this.receivedEvents.splice(0,t)},received(t){this.cable.recordPing(),this.receivedEvents.push(t)},promptDialogCallback(t){this.prompt.show=!1,E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.prompt.method,answer:t,prompt_id:this.activePromptId,multiple:this.prompt.multiple}})},handleScript(t){if(t.prompt_complete){this.activePromptId="",this.prompt.show=!1,this.ask.show=!1,this.file.show=!1,this.bucket.show=!1;return}switch(this.activePromptId=t.prompt_id,this.prompt.method=t.method,this.prompt.layout="horizontal",this.prompt.title="Prompt",this.prompt.subtitle="",this.prompt.details="",this.prompt.buttons=[],this.prompt.multiple=null,t.method){case"ask":case"ask_string":this.ask.default=null,this.ask.answerRequired=!0,this.ask.password=!1,this.ask.question=t.args[0],t.args[1]&&t.args[1]!==!0&&t.args[1]!==!1?this.ask.default=t.args[1].toString():t.args[1]===!0&&(this.ask.answerRequired=!1),t.args[2]===!0&&(this.ask.password=!0),this.ask.callback=o=>{this.ask.show=!1,this.ask.password?E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,password:o,prompt_id:this.activePromptId}}):E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,answer:o,prompt_id:this.activePromptId}})},this.ask.show=!0;break;case"prompt_for_hazardous":this.prompt.title="Hazardous Command",this.prompt.message=`Warning: Command ${t.args[0]} ${t.args[1]} is Hazardous. `,t.args[2]&&(this.prompt.message+=t.args[2]+" "),this.prompt.message+="Send?",this.prompt.buttons=[{text:"Send",value:"Send"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"prompt_for_critical_cmd":this.criticalCmdUuid=t.args[0],this.criticalCmdString=t.args[5],this.criticalCmdUser=t.args[1],this.displayCriticalCmd=!0;break;case"prompt":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),this.prompt.message=t.args[0],this.prompt.buttons=[{text:"Ok",value:"Ok"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"combo_box":case"check_box":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),(t.method==="check_box"||t.kwargs&&t.kwargs.multiple)&&(this.prompt.multiple=!0),this.prompt.message=t.args[0],t.args.slice(1).forEach(o=>{this.prompt.buttons.push({title:o,value:o})}),this.prompt.layout=t.method.split("_")[0],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"message_box":case"vertical_message_box":t.kwargs&&t.kwargs.informative&&(this.prompt.subtitle=t.kwargs.informative),t.kwargs&&t.kwargs.details&&(this.prompt.details=t.kwargs.details),this.prompt.message=t.args[0],t.args.slice(1).forEach(o=>{this.prompt.buttons.push({text:o,value:o})}),t.method.includes("vertical")&&(this.prompt.layout="vertical"),this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"backtrace":this.information.title="Call Stack",this.information.text=t.args,this.information.show=!0,this.information.width="600";break;case"metadata_input":this.inputMetadata.callback=o=>{this.inputMetadata.show=!1,E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:t.method,answer:o,prompt_id:this.activePromptId}})},this.showMetadata();break;case"open_bucket_dialog":this.bucket.title=t.args[0],this.bucket.message=t.args[1],this.bucket.defaultPath=t.kwargs&&t.kwargs.default_path||null,this.bucket.filter=t.kwargs&&t.kwargs.filter||null,this.bucket.show=!0;break;case"open_file_dialog":case"open_files_dialog":this.file.title=t.args[0],this.file.message=t.args[1],t.kwargs&&t.kwargs.filter&&(this.file.filter=t.kwargs.filter),t.method=="open_files_dialog"&&(this.file.multiple=!0),this.file.show=!0;break}},async fileDialogCallback(t){let o="COSMOS__CANCEL",n=[];t!="COSMOS__CANCEL"&&(o=[],t.forEach(l=>{o.push(l.name),n.push(E.Fi.get(`/openc3-api/storage/upload/${encodeURIComponent(`${window.openc3Scope}/tmp/${l.name}`)}?bucket=OPENC3_CONFIG_BUCKET`).then(i=>Ne.axios({...i.data,data:l})))})),Promise.all(n).then(l=>{E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.file.multiple?"open_files_dialog":"open_file_dialog",answer:o,prompt_id:this.activePromptId}}),this.file.show=!1})},bucketDialogCallback(t){this.bucket.show=!1,E.Fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:"open_bucket_dialog",answer:t,prompt_id:this.activePromptId}})},setError(t){this.alertType="error",this.alertText=`Error: ${t}`,this.showAlert=!0},async confirmUnsavedChanges(){return this.fileModified==="*"?await this.$dialog.confirm("You have unsaved changes. Are you sure you want to continue?",{okText:"Continue",cancelText:"Cancel"}):!0},async newFileWithConfirm(){await this.confirmUnsavedChanges()&&this.newFile()},newFile(){this.unlockFile(),this.filename=Q,this.currentFilename=null,this.tempFilename=null,this.files={},this.editor.session.setValue(""),this.saveAllowed=!0,this.fileModified="",this.suiteRunner=!1,this.startOrGoDisabled=!1,this.envDisabled=!1,this.inline||(this.$router.replace({name:"ScriptRunner"}).catch(t=>{}),document.title="Script Runner"),this.doResize()},async newRubyTestSuite(){await this.confirmUnsavedChanges()&&(this.newFile(),this.editor.session.setValue(`require 'openc3/script/suite.rb'
7
7
 
8
8
  # Group class name should indicate what the scripts are testing
9
9
  class Power < OpenC3::Group
@@ -81,6 +81,6 @@ class TestSuite(Suite):
81
81
  # Run when Suite Teardown button is pressed
82
82
  # Run after all groups when Suite Start is pressed
83
83
  pass
84
- `),await this.saveFile("auto"))},addToRecent(t){let o=this.recent.findIndex(i=>i.label===t);o!==-1&&this.recent.splice(o,1),this.recent.unshift({label:t,icon:Ee.fileIcon(t),command:async i=>{await this.confirmUnsavedChanges()&&(this.filename=i.label,await this.reloadFile())}}),this.recent.length>8&&this.recent.pop(),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},removeFromRecent(t){this.recent=this.recent.filter(o=>o.label!==t),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent),localStorage.script_runner__filename===t&&localStorage.removeItem("script_runner__filename"))},async openFileWithConfirm(){await this.confirmUnsavedChanges()&&this.openFile()},openFile(){this.fileOpen=!0},async reloadFile(t=!0){this.saveAllowed=!1,this.startOrGoDisabled=!0,await N.es.get(`/script-api/scripts/${this.filename}`,{headers:{Accept:"application/json","Ignore-Errors":"404"}}).then(o=>{const i={name:this.filename,contents:o.data.contents};o.data.suites&&(i.suites=JSON.parse(o.data.suites)),o.data.error&&(i.error=o.data.error),o.data.success&&(i.success=o.data.success);const a=o.data.locked,n=o.data.breakpoints;this.setFile({file:i,locked:a,breakpoints:n},!0),this.saveAllowed=!0}).catch(o=>{t===!0&&this.$notify.caution({title:"File Open Error",body:`Failed to open ${this.filename} due to ${o}`}),this.removeFromRecent(this.filename),this.newFile()})},setFile({file:t,locked:o,breakpoints:i},a=!1){this.files={};let n=t.name.split("*")[0];if(a===!1&&this.filename!==n&&(this.unlockFile(),this.lockedBy=o),this.filename=n,!this.inline){this.$router.replace({name:"ScriptRunner",query:{file:this.filename}}).catch(g=>{});let s=this.filename.split("/");document.title=`${s.pop()} (${s.join("/")})`}this.filename.split(".").pop()==="py"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.currentFilename=null,this.editor.session.setValue(t.contents),this.breakpoints[this.filename]=i,this.restoreBreakpoints(this.filename),this.fileModified="",this.envDisabled=!1,this.addToRecent(this.filename),t.suites?(this.suiteRunner=!0,this.suiteMap=t.suites,this.startOrGoDisabled=!0):(this.suiteRunner=!1,this.startOrGoDisabled=!1),t.error&&(this.suiteError=t.error,this.showSuiteError=!0),this.disableSuiteButtons=t.success==!1,this.doResize()},clearTemp(){this.recent=this.recent.filter(t=>!t.label.includes("__TEMP__")),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},detectLanguage(){let t=new RegExp("^\\s*(require|load|puts) "),o=new RegExp("^\\s*(import|from) "),i=new RegExp("^\\s*end\\s*$"),a=new RegExp("^\\s*(if|def|while|else|elif|class).*:\\s*$"),n=/\(f"/,s=/\(.*\w+:\s+.+\)(?!:)$/,p=this.editor.getValue().split(`
85
- `);for(let m of p){if(m.match(t))return"ruby";if(m.match(o))return"python";if(m.match(i))return"ruby";if(m.match(a)||m.match(n))return"python";if(m.match(s))return"ruby"}return"unknown"},async saveFile(t="menu"){if(!this.readOnlyUser)if(this.saveAllowed){const o=this.getBreakpointRows();if(this.filename===Y){if(t==="menu"){this.saveAs();return}else if(this.tempFilename===null){let i=this.detectLanguage();i==="unknown"&&(i=re.AceEditorUtils.getDefaultScriptingLanguage());const a=crypto.randomUUID().split("-")[0];if(i==="ruby")this.tempFilename=he+"/"+N.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_"+a+"_temp.rb";else if(i==="python")this.tempFilename=he+"/"+N.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_"+a+"_temp.py";else return;this.filename=this.tempFilename,this.addToRecent(this.filename)}}this.showSave=!0,await N.es.post(`/script-api/scripts/${this.filename}`,{data:{text:this.editor.getValue(),breakpoints:o}}).then(i=>{i.status==200?(i.data.suites?(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(i.data.suites)):(this.startOrGoDisabled=!1,this.suiteRunner=!1,this.suiteMap={}),i.data.error&&(this.suiteError=i.data.error,this.showSuiteError=!0),this.fileModified="",setTimeout(()=>{this.showSave=!1},2e3)):(this.showSave=!1,this.alertType="error",this.alertText=`Error saving file. Code: ${i.status} Text: ${i.statusText}`,this.showAlert=!0),this.lockFile(),this.doResize()}).catch(({response:i})=>{this.showSave=!1,i.status==422?(this.alertType="error",this.alertText=i.data.suites):(this.alertType="error",this.alertText=`Error saving file. Code: ${i.status} Text: ${i.statusText}`),this.showAlert=!0})}else this.setError("Attempt to save file when not allowed")},saveAs(){this.showSaveAs=!0},async saveAsFilename(t){this.filename=t.split("*")[0],this.currentFilename=null,this.tempFilename&&(N.es.post(`/script-api/scripts/${this.tempFilename}/delete`),this.tempFilename=null),await this.saveFile("menu")},delete(){let t=this.filename;this.tempFilename&&(t=this.tempFilename),this.$dialog.confirm(`Permanently delete file: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then(o=>N.es.post(`/script-api/scripts/${t}/delete`,{data:{}})).then(o=>{this.removeFromRecent(t),this.newFile()}).catch(o=>{if(o!==!0){const i={text:`Failed Multi-Delete. ${o}`,type:"error"};this.$emit("alert",i)}})},download(){const t=new Blob([this.editor.getValue()],{type:"text/plain"}),o=document.createElement("a");o.href=URL.createObjectURL(t),o.setAttribute("download",this.filename),o.click()},syntaxCheck(){N.es.post(`/script-api/scripts/${this.filename}/syntax`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(t=>{this.information.title=t.data.title,this.information.text=JSON.parse(t.data.description),this.information.show=!0,this.information.width="600"})},showInstrumented(){N.es.post(`/script-api/scripts/${this.filename}/instrumented`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(t=>{this.information.title=t.data.title,this.information.text=JSON.parse(t.data.description),this.information.show=!0,this.information.width="90vw"})},showCallStack(){N.es.post(`/script-api/running-script/${this.scriptId}/backtrace`)},toggleDebug(){this.showDebug=!this.showDebug,this.showDebug&&this.$nextTick(()=>{this.$refs.debug.focus()})},toggleDisconnect(){this.showDisconnect=!this.showDisconnect},debugKeydown(t){t.key==="Escape"?(this.debug="",this.debugHistoryIndex=this.debugHistory.length):t.key==="Enter"?(this.debugHistory.push(this.debug),this.debugHistoryIndex=this.debugHistory.length,N.es.post(`/script-api/running-script/${this.scriptId}/debug`,{data:{args:this.debug}}),this.debug=""):t.key==="ArrowUp"?(this.debugHistoryIndex-=1,this.debugHistoryIndex<0&&(this.debugHistoryIndex=this.debugHistory.length-1),this.debug=this.debugHistory[this.debugHistoryIndex],t.preventDefault()):t.key==="ArrowDown"&&(this.debugHistoryIndex+=1,this.debugHistoryIndex>=this.debugHistory.length&&(this.debugHistoryIndex=0),this.debug=this.debugHistory[this.debugHistoryIndex])},removeAllMarkers:function(){const t=this.editor.session.getMarkers();Object.keys(t).filter(o=>t[o].type==="fullLine").forEach(o=>this.editor.session.removeMarker(o))},confirmLocalUnlock:function(){this.$dialog.confirm("Are you sure you want to unlock this script for editing? If another user is editing this script, your changes might conflict with each other.",{okText:"Force Unlock",cancelText:"Cancel"}).then(()=>(this.lockedBy=null,this.lockFile()))},lockFile:function(){if(!this.readOnlyUser)return N.es.post(`/script-api/scripts/${this.filename}/lock`)},unlockFile:function(){this.filename!==Y&&!this.readOnly&&!this.readOnlyUser&&N.es.post(`/script-api/scripts/${this.filename}/unlock`)},backToNewScript:async function(){this.scriptDisconnect(),this.removeAllMarkers(),await this.scriptComplete(),this.newFile()},screenId(t){return"scriptRunnerScreen"+t},closeScreen(t){let o=0;for(screen of this.screens){if(screen.id==t){this.screens.splice(o,1);break}o+=1}}}},Tt={class:"grid"},Mt=["id"],Rt={class:"item-content"},Ot={id:"sr-controls"},Dt={class:"d-flex align-center mr-1"},Ut={key:0},zt={key:1},Pt={key:2,style:{width:"40px",height:"40px"},class:"mx-2"},It={key:3},Ft={key:4},Lt={key:0,id:"debug",class:"pa-0"},At={key:1,style:{"background-color":"var(--color-background-base-default)",margin:"0px",padding:"0px"}},qt={key:0},Ht={key:1},Gt={style:{height:"200px",overflow:"hidden"}},jt={key:0,class:"error-message"},Kt={class:"flex-grow-1"};function Wt(t,o,i,a,n,s){const g=e.resolveComponent("top-bar"),p=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),k=e.resolveComponent("v-snackbar"),d=e.resolveComponent("openc3-screen"),v=e.resolveComponent("suite-runner"),b=e.resolveComponent("v-tooltip"),V=e.resolveComponent("v-select"),_=e.resolveComponent("v-text-field"),B=e.resolveComponent("v-progress-circular"),x=e.resolveComponent("v-spacer"),R=e.resolveComponent("v-badge"),E=e.resolveComponent("v-row"),O=e.resolveComponent("v-card-text"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-list-item"),y=e.resolveComponent("v-divider"),A=e.resolveComponent("v-list"),D=e.resolveComponent("v-menu"),w=e.resolveComponent("pane"),q=e.resolveComponent("script-log-messages"),P=e.resolveComponent("splitpanes"),z=e.resolveComponent("v-tab"),L=e.resolveComponent("v-tabs"),J=e.resolveComponent("v-col"),G=e.resolveComponent("v-tabs-window-item"),M=e.resolveComponent("v-tabs-window"),H=e.resolveComponent("file-open-save-dialog"),se=e.resolveComponent("environment-dialog"),Q=e.resolveComponent("ask-dialog"),$=e.resolveComponent("file-dialog"),le=e.resolveComponent("bucket-dialog"),ne=e.resolveComponent("information-dialog"),ae=e.resolveComponent("event-list-dialog"),ee=e.resolveComponent("overrides-dialog"),j=e.resolveComponent("prompt-dialog"),te=e.resolveComponent("results-dialog"),l=e.resolveComponent("script-environment-dialog"),r=e.resolveComponent("simple-text-dialog"),h=e.resolveComponent("critical-cmd-dialog"),u=e.resolveComponent("v-card-title"),f=e.resolveComponent("command-editor"),C=e.resolveComponent("v-card-actions"),S=e.resolveComponent("v-dialog"),F=e.resolveComponent("running-scripts"),K=e.resolveComponent("v-sheet"),oe=e.resolveComponent("v-bottom-sheet");return e.openBlock(),e.createElementBlock(e.Fragment,null,[i.inline?(e.openBlock(),e.createElementBlock("div",At,[e.createVNode(E,{"no-gutters":"",justify:"right"},{default:e.withCtx(()=>[e.createVNode(L,{modelValue:n.inlineTab,"onUpdate:modelValue":o[16]||(o[16]=c=>n.inlineTab=c),density:"compact"},{default:e.withCtx(()=>[e.createVNode(z,{value:"script",text:"Script","data-test":"script-tab"}),e.createVNode(z,{value:"messages",text:"Messages","data-test":"messages-tab"})]),_:1},8,["modelValue"]),e.createVNode(b,{location:"bottom",text:n.filenameSelect,disabled:!n.filenameSelect||n.filenameSelect.length<=45},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.mergeProps(c,{style:{width:"32rem"}}),[e.createVNode(V,{id:"inline-filename",modelValue:n.filenameSelect,"onUpdate:modelValue":[o[17]||(o[17]=W=>n.filenameSelect=W),s.fileNameChanged],items:s.fileList,disabled:s.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(_,{modelValue:n.scriptId,"onUpdate:modelValue":o[18]||(o[18]=c=>n.scriptId=c),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(_,{modelValue:s.stateTimer,"onUpdate:modelValue":o[19]||(o[19]=c=>s.stateTimer=c),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",s.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),n.state==="Connecting..."?(e.openBlock(),e.createBlock(B,{key:0,size:40,class:"mx-2",indeterminate:"",color:"primary"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(M,{modelValue:n.inlineTab,"onUpdate:modelValue":o[22]||(o[22]=c=>n.inlineTab=c)},{default:e.withCtx(()=>[e.createVNode(G,{value:"script"},{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(J,{class:"v-col-10",style:{margin:"15px 0px 0px 0px",padding:"0px"}},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"editor",style:{height:"200px"},onContextmenu:o[20]||(o[20]=e.withModifiers((...c)=>s.showExecuteSelectionMenu&&s.showExecuteSelectionMenu(...c),["prevent"]))},null,544)]),_:1}),e.createVNode(J,{class:"v-col-2",style:{display:"flex","justify-content":"center","align-items":"center","background-color":"var(--color-background-surface-default)"}},{default:e.withCtx(()=>[n.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",qt,[e.createVNode(m,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:n.startOrGoDisabled||!n.executeUser,hidden:n.suiteRunner,onClick:s.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(m,{color:"primary",class:"ma-2",text:"Go",disabled:n.startOrGoDisabled,"data-test":"go-button",onClick:s.go},null,8,["disabled","onClick"]),e.createVNode(m,{color:"primary",class:"ma-2",text:n.pauseOrRetryButton,disabled:n.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:s.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(m,{color:"primary",class:"ma-2",text:"Stop","data-test":"stop-button",disabled:n.stopDisabled,onClick:s.stop},null,8,["disabled","onClick"])]))]),_:1})]),_:1})]),_:1}),e.createVNode(G,{value:"messages"},{default:e.withCtx(()=>[e.createElementVNode("div",Gt,[e.createVNode(q,{modelValue:n.messages,"onUpdate:modelValue":o[21]||(o[21]=c=>n.messages=c),"newest-on-top":n.messagesNewestOnTop,onMessageOrderChanged:t.messageOrderChanged},null,8,["modelValue","newest-on-top","onMessageOrderChanged"])])]),_:1})]),_:1},8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"d-flex flex-column overflow-hidden",style:e.normalizeStyle({height:a.containerHeight})},[e.createVNode(g,{menus:s.menus,title:n.title},null,8,["menus","title"]),e.createVNode(k,{modelValue:n.showAlert,"onUpdate:modelValue":o[1]||(o[1]=c=>n.showAlert=c),absolute:"",color:n.alertType,timeout:3e3,class:"apply-top",style:e.normalizeStyle(t.classificationStyles)},{actions:e.withCtx(({attrs:c})=>[e.createVNode(m,e.mergeProps({variant:"text",text:"Close"},c,{onClick:o[0]||(o[0]=W=>n.showAlert=!1)}),null,16)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(" mdi-"+e.toDisplayString(n.alertType),1)]),_:1}),e.createTextVNode(" "+e.toDisplayString(n.alertText)+" ",1)]),_:1},8,["modelValue","color","style"]),e.createVNode(k,{modelValue:n.showEditingToast,"onUpdate:modelValue":o[3]||(o[3]=c=>n.showEditingToast=c),absolute:"",class:"apply-top",style:e.normalizeStyle(t.classificationStyles),timeout:-1,color:"orange"},{actions:e.withCtx(({attrs:c})=>[e.createVNode(m,e.mergeProps({variant:"text"},c,{color:"danger",text:"Unlock","data-test":"unlock-button",onClick:s.confirmLocalUnlock}),null,16,["onClick"]),e.createVNode(m,e.mergeProps({variant:"text",text:"Dismiss"},c,{onClick:o[2]||(o[2]=()=>{n.showEditingToast=!1})}),null,16)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[...o[49]||(o[49]=[e.createTextVNode(" mdi-pencil-off ",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(n.lockedBy)+" is editing this script. Editor is in read-only mode ",1)]),_:1},8,["modelValue","style"]),e.createElementVNode("div",Tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.screens,c=>(e.openBlock(),e.createElementBlock("div",{id:s.screenId(c.id),key:c.id,ref_for:!0,ref:"gridItem",class:"item"},[e.createElementVNode("div",Rt,[e.createVNode(d,{target:c.target,screen:c.screen,definition:c.definition,keywords:n.screenKeywords,"initial-floated":!0,"initial-top":c.top,"initial-left":c.left,"initial-z":3,"min-z":3,"fix-floated":!0,count:c.count,onCloseScreen:W=>s.closeScreen(c.id),onDeleteScreen:W=>s.closeScreen(c.id)},null,8,["target","screen","definition","keywords","initial-top","initial-left","count","onCloseScreen","onDeleteScreen"])])],8,Mt))),128))]),e.createVNode(U,{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[n.suiteRunner?(e.openBlock(),e.createBlock(v,{key:0,class:"suite-runner","suite-map":n.suiteMap,"disable-buttons":n.disableSuiteButtons,filename:s.fullFilename,onButton:s.suiteRunnerButton,onLoaded:s.doResize},null,8,["suite-map","disable-buttons","filename","onButton","onLoaded"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ot,[e.createVNode(E,{"no-gutters":"",justify:"space-between"},{default:e.withCtx(()=>[n.showDisconnect?(e.openBlock(),e.createBlock(p,{key:0,class:"mt-2",color:"red"},{default:e.withCtx(()=>[...o[50]||(o[50]=[e.createTextVNode(" mdi-connection ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",Dt,[e.createVNode(b,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[n.scriptId?(e.openBlock(),e.createBlock(m,e.mergeProps({key:1},c,{icon:"mdi-arrow-left",variant:"text",density:"compact",onClick:s.backToNewScript}),null,16,["onClick"])):(e.openBlock(),e.createBlock(m,e.mergeProps({key:0},c,{icon:"mdi-cached",variant:"text",density:"compact",disabled:n.filename===t.NEW_FILENAME,"aria-label":"Reload File",onClick:s.reloadFile}),null,16,["disabled","onClick"]))]),default:e.withCtx(()=>[n.scriptId?(e.openBlock(),e.createElementBlock("span",zt," Back to New Script ")):(e.openBlock(),e.createElementBlock("span",Ut," Reload File "))]),_:1})]),e.createVNode(b,{location:"bottom",text:n.filenameSelect,disabled:!n.filenameSelect||n.filenameSelect.length<=45},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.mergeProps(c,{style:{width:"32rem"}}),[e.createVNode(V,{id:"filename",modelValue:n.filenameSelect,"onUpdate:modelValue":[o[4]||(o[4]=W=>n.filenameSelect=W),s.fileNameChanged],items:s.fileList,disabled:s.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(_,{modelValue:n.scriptId,"onUpdate:modelValue":o[5]||(o[5]=c=>n.scriptId=c),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(_,{modelValue:s.stateTimer,"onUpdate:modelValue":o[6]||(o[6]=c=>s.stateTimer=c),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",s.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),n.state==="Connecting..."?(e.openBlock(),e.createBlock(B,{key:1,size:40,class:"mx-2",indeterminate:"",color:"primary"})):(e.openBlock(),e.createElementBlock("div",Pt)),e.createVNode(x),n.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",It,[n.overridesCount>0?(e.openBlock(),e.createBlock(b,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{class:"mr-4",icon:"",variant:"text",density:"compact","data-test":"tlm-override-button","aria-label":"TLM Overrides",onClick:o[7]||(o[7]=W=>n.showOverrides=!n.showOverrides)}),{default:e.withCtx(()=>[e.createVNode(R,{content:n.overridesCount>99?"99+":n.overridesCount,floating:"",color:"primary"},{default:e.withCtx(()=>[e.createVNode(p,{icon:"mdi-application-cog-outline"})]),_:1},8,["content"])]),_:1},16)]),default:e.withCtx(()=>[e.createElementVNode("span",null," TLM Overrides ("+e.toDisplayString(n.overridesCount)+") ",1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{class:"mr-2",icon:"",variant:"text",density:"compact",disabled:n.envDisabled,"data-test":"env-button","aria-label":"Script Environment",onClick:o[9]||(o[9]=W=>n.scriptEnvironment.show=!n.scriptEnvironment.show)}),{default:e.withCtx(()=>[e.createVNode(R,{modelValue:s.environmentModified,"onUpdate:modelValue":o[8]||(o[8]=W=>s.environmentModified=W),floating:"",dot:""},{default:e.withCtx(()=>[e.createVNode(p,{icon:"mdi-application-variable"})]),_:1},8,["modelValue"])]),_:1},16,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,[o[51]||(o[51]=e.createTextVNode(" Script Environment ",-1)),s.environmentModified?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" (modified) ")],64)):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(m,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:n.startOrGoDisabled||!n.executeUser,hidden:n.suiteRunner,onClick:s.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",Ft,[e.createVNode(m,{color:"primary",class:"mr-2",text:"Go",disabled:n.startOrGoDisabled,"data-test":"go-button",onClick:s.go},null,8,["disabled","onClick"]),e.createVNode(m,{color:"primary",class:"mr-2",text:n.pauseOrRetryButton,disabled:n.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:s.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(m,{color:"primary",text:"Stop","data-test":"stop-button",disabled:n.stopDisabled,onClick:s.stop},null,8,["disabled","onClick"])]))]),_:1})])]),_:1})]),_:1}),e.createVNode(P,{horizontal:"",class:"flex-grow-1 overflow-hidden",onResize:o[15]||(o[15]=({prevPane:c})=>n.editorBoxSize=c.size)},{default:e.withCtx(()=>[e.createVNode(w,{class:"editorbox",size:n.editorBoxSize},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:n.showSave,"onUpdate:modelValue":o[10]||(o[10]=c=>n.showSave=c),absolute:"",location:"right",timeout:-1,class:"saving apply-top",style:e.normalizeStyle(t.classificationStyles)},{default:e.withCtx(()=>[...o[52]||(o[52]=[e.createTextVNode(" Saving... ",-1)])]),_:1},8,["modelValue","style"]),e.createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:o[11]||(o[11]=e.withModifiers((...c)=>s.showExecuteSelectionMenu&&s.showExecuteSelectionMenu(...c),["prevent"]))},null,544),e.createVNode(D,{modelValue:n.executeSelectionMenu,"onUpdate:modelValue":o[12]||(o[12]=c=>n.executeSelectionMenu=c),target:[n.menuX,n.menuY]},{default:e.withCtx(()=>[e.createVNode(A,null,{default:e.withCtx(()=>[e.createVNode(T,{title:n.currentLineHasCommand?"Edit Command":"Insert Command",onClick:s.openCommandEditor},null,8,["title","onClick"]),e.createVNode(y),e.createVNode(T,{title:"Execute Selection",onClick:s.executeSelection},null,8,["onClick"]),n.scriptId?(e.openBlock(),e.createBlock(T,{key:0,title:"Goto Line",onClick:s.runFromCursor},null,8,["onClick"])):e.createCommentVNode("",!0),n.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:1,title:"Run From Line",onClick:s.runFromCursor},null,8,["onClick"])),n.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:2,title:"Clear Local Breakpoints",onClick:s.clearBreakpoints},null,8,["onClick"])),e.createVNode(y),e.createVNode(T,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:s.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1},8,["size"]),e.createVNode(w,{id:"messages",class:"mt-2",size:100-n.editorBoxSize},{default:e.withCtx(()=>[n.showDebug?(e.openBlock(),e.createElementBlock("div",Lt,[e.createVNode(E,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(m,{color:"primary",style:{width:"100px"},class:"mr-4",text:"Step","append-icon":"mdi-step-forward",disabled:!n.scriptId,"data-test":"step-button",onClick:s.step},null,8,["disabled","onClick"]),e.createVNode(_,{ref:"debug",modelValue:n.debug,"onUpdate:modelValue":o[13]||(o[13]=c=>n.debug=c),class:"mb-2",variant:"outlined",density:"compact","hide-details":"",label:"Debug","data-test":"debug-text",onKeydown:s.debugKeydown},null,8,["modelValue","onKeydown"])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(q,{id:"log-messages",modelValue:n.messages,"onUpdate:modelValue":o[14]||(o[14]=c=>n.messages=c),onSort:s.messageSortOrder},null,8,["modelValue","onSort"])]),_:1},8,["size"])]),_:1})],4)),n.fileOpen?(e.openBlock(),e.createBlock(H,{key:2,modelValue:n.fileOpen,"onUpdate:modelValue":o[23]||(o[23]=c=>n.fileOpen=c),type:"open","api-url":"/script-api/scripts",onFile:o[24]||(o[24]=c=>s.setFile(c)),onError:o[25]||(o[25]=c=>s.setError(c)),onClearTemp:o[26]||(o[26]=c=>s.clearTemp(c))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.showSaveAs?(e.openBlock(),e.createBlock(H,{key:3,modelValue:n.showSaveAs,"onUpdate:modelValue":o[27]||(o[27]=c=>n.showSaveAs=c),type:"save","api-url":"/script-api/scripts","require-target-parent-dir":"","input-filename":s.filenameOrBlank,onFilename:o[28]||(o[28]=c=>s.saveAsFilename(c)),onError:o[29]||(o[29]=c=>s.setError(c)),onClearTemp:o[30]||(o[30]=c=>s.clearTemp(c))},null,8,["modelValue","input-filename"])):e.createCommentVNode("",!0),n.showEnvironment?(e.openBlock(),e.createBlock(se,{key:4,modelValue:n.showEnvironment,"onUpdate:modelValue":o[31]||(o[31]=c=>n.showEnvironment=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),n.ask.show?(e.openBlock(),e.createBlock(Q,{key:5,modelValue:n.ask.show,"onUpdate:modelValue":o[32]||(o[32]=c=>n.ask.show=c),question:n.ask.question,default:n.ask.default,password:n.ask.password,"answer-required":n.ask.answerRequired,onResponse:n.ask.callback},null,8,["modelValue","question","default","password","answer-required","onResponse"])):e.createCommentVNode("",!0),n.file.show?(e.openBlock(),e.createBlock($,{key:6,modelValue:n.file.show,"onUpdate:modelValue":o[33]||(o[33]=c=>n.file.show=c),title:n.file.title,message:n.file.message,multiple:n.file.multiple,filter:n.file.filter,onResponse:s.fileDialogCallback},null,8,["modelValue","title","message","multiple","filter","onResponse"])):e.createCommentVNode("",!0),n.bucket.show?(e.openBlock(),e.createBlock(le,{key:7,modelValue:n.bucket.show,"onUpdate:modelValue":o[34]||(o[34]=c=>n.bucket.show=c),title:n.bucket.title,message:n.bucket.message,"default-path":n.bucket.defaultPath,filter:n.bucket.filter,onResponse:s.bucketDialogCallback},null,8,["modelValue","title","message","default-path","filter","onResponse"])):e.createCommentVNode("",!0),n.information.show?(e.openBlock(),e.createBlock(ne,{key:8,modelValue:n.information.show,"onUpdate:modelValue":o[35]||(o[35]=c=>n.information.show=c),title:n.information.title,text:n.information.text,width:n.information.width},null,8,["modelValue","title","text","width"])):e.createCommentVNode("",!0),n.inputMetadata.show?(e.openBlock(),e.createBlock(ae,{key:9,modelValue:n.inputMetadata.show,"onUpdate:modelValue":o[36]||(o[36]=c=>n.inputMetadata.show=c),events:n.inputMetadata.events,"time-zone":n.timeZone,"new-metadata":"",onClose:n.inputMetadata.callback},null,8,["modelValue","events","time-zone","onClose"])):e.createCommentVNode("",!0),n.showOverrides?(e.openBlock(),e.createBlock(ee,{key:10,modelValue:n.showOverrides,"onUpdate:modelValue":o[37]||(o[37]=c=>n.showOverrides=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),n.prompt.show?(e.openBlock(),e.createBlock(j,{key:11,modelValue:n.prompt.show,"onUpdate:modelValue":o[38]||(o[38]=c=>n.prompt.show=c),title:n.prompt.title,subtitle:n.prompt.subtitle,message:n.prompt.message,details:n.prompt.details,buttons:n.prompt.buttons,layout:n.prompt.layout,multiple:n.prompt.multiple,onResponse:n.prompt.callback},null,8,["modelValue","title","subtitle","message","details","buttons","layout","multiple","onResponse"])):e.createCommentVNode("",!0),n.results.show?(e.openBlock(),e.createBlock(te,{key:12,modelValue:n.results.show,"onUpdate:modelValue":o[39]||(o[39]=c=>n.results.show=c),text:n.results.text},null,8,["modelValue","text"])):e.createCommentVNode("",!0),n.scriptEnvironment.show?(e.openBlock(),e.createBlock(l,{key:13,modelValue:n.scriptEnvironment.show,"onUpdate:modelValue":o[40]||(o[40]=c=>n.scriptEnvironment.show=c),"input-environment":n.scriptEnvironment.env,onEnvironment:s.environmentHandler},null,8,["modelValue","input-environment","onEnvironment"])):e.createCommentVNode("",!0),e.createVNode(r,{modelValue:n.showSuiteError,"onUpdate:modelValue":o[41]||(o[41]=c=>n.showSuiteError=c),title:"Suite Analysis Error",text:n.suiteError,width:1e3},null,8,["modelValue","text"]),e.createVNode(h,{modelValue:n.displayCriticalCmd,"onUpdate:modelValue":o[42]||(o[42]=c=>n.displayCriticalCmd=c),uuid:n.criticalCmdUuid,"cmd-string":n.criticalCmdString,"cmd-user":n.criticalCmdUser,persistent:!0,onStatus:s.promptDialogCallback},null,8,["modelValue","uuid","cmd-string","cmd-user","onStatus"]),e.createVNode(S,{modelValue:n.commandEditor.show,"onUpdate:modelValue":o[46]||(o[46]=c=>n.commandEditor.show=c),"max-width":"1200",persistent:"",scrollable:"",onKeydown:e.withKeys(s.closeCommandDialog,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(u,{class:"d-flex align-center"},{default:e.withCtx(()=>[o[53]||(o[53]=e.createElementVNode("span",null,"Insert Command",-1)),e.createVNode(x),e.createVNode(m,{icon:"mdi-close",variant:"text",onClick:s.closeCommandDialog},null,8,["onClick"])]),_:1}),e.createVNode(O,{class:"pa-0"},{default:e.withCtx(()=>[n.commandEditor.dialogError?(e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(p,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...o[54]||(o[54]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",Kt,e.toDisplayString(n.commandEditor.dialogError),1),e.createVNode(m,{icon:"mdi-close",size:"small",variant:"text",color:"error",class:"ml-2",onClick:o[43]||(o[43]=c=>n.commandEditor.dialogError=null)})])):e.createCommentVNode("",!0),e.createVNode(f,{ref:"commandEditor","initial-target-name":n.commandEditor.targetName,"initial-packet-name":n.commandEditor.packetName,"cmd-string":n.commandEditor.cmdString,"send-disabled":!1,"show-command-button":!1,onBuildCmd:o[44]||(o[44]=c=>s.insertCommand(c))},null,8,["initial-target-name","initial-packet-name","cmd-string"])]),_:1}),e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(x),e.createVNode(m,{variant:"outlined",onClick:s.closeCommandDialog},{default:e.withCtx(()=>[...o[55]||(o[55]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(m,{color:"primary",variant:"flat",onClick:o[45]||(o[45]=c=>s.insertCommand())},{default:e.withCtx(()=>[...o[56]||(o[56]=[e.createTextVNode(" Insert Command ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"]),e.createVNode(oe,{modelValue:n.showScripts,"onUpdate:modelValue":o[48]||(o[48]=c=>n.showScripts=c)},{default:e.withCtx(()=>[e.createVNode(K,{class:"pb-11 pt-5 px-5"},{default:e.withCtx(()=>[n.showScripts?(e.openBlock(),e.createBlock(F,{key:0,"connect-in-new-tab":!!n.fileModified,onDisconnect:s.scriptDisconnect,onClose:o[47]||(o[47]=()=>{n.showScripts=!1})},null,8,["connect-in-new-tab","onDisconnect"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])],64)}const Jt=ie._export_sfc(Bt,[["render",Wt],["__scopeId","data-v-4dc1025f"]]);exports.RunningScripts=ge;exports.ScriptLogMessages=we;exports.ScriptRunner=Jt;exports.SuiteRunner=Ce;
84
+ `),await this.saveFile("auto"))},addToRecent(t){let o=this.recent.findIndex(n=>n.label===t);o!==-1&&this.recent.splice(o,1),this.recent.unshift({label:t,icon:Ee.fileIcon(t),command:async n=>{await this.confirmUnsavedChanges()&&(this.filename=n.label,await this.reloadFile())}}),this.recent.length>8&&this.recent.pop(),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},removeFromRecent(t){this.recent=this.recent.filter(o=>o.label!==t),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent),localStorage.script_runner__filename===t&&localStorage.removeItem("script_runner__filename"))},async openFileWithConfirm(){await this.confirmUnsavedChanges()&&this.openFile()},openFile(){this.fileOpen=!0},async reloadFile(t=!0){this.saveAllowed=!1,this.startOrGoDisabled=!0,await E.Fi.get(`/script-api/scripts/${this.filename}`,{headers:{Accept:"application/json","Ignore-Errors":"404"}}).then(o=>{const n={name:this.filename,contents:o.data.contents};o.data.suites&&(n.suites=JSON.parse(o.data.suites)),o.data.error&&(n.error=o.data.error),o.data.success&&(n.success=o.data.success);const l=o.data.locked,i=o.data.breakpoints;this.setFile({file:n,locked:l,breakpoints:i},!0),this.saveAllowed=!0}).catch(o=>{t===!0&&this.$notify.caution({title:"File Open Error",body:`Failed to open ${this.filename} due to ${o}`}),this.removeFromRecent(this.filename),this.newFile()})},setFile({file:t,locked:o,breakpoints:n},l=!1){this.files={};let i=t.name.split("*")[0];if(l===!1&&this.filename!==i&&(this.unlockFile(),this.lockedBy=o),this.filename=i,!this.inline){this.$router.replace({name:"ScriptRunner",query:{file:this.filename}}).catch(d=>{});let s=this.filename.split("/");document.title=`${s.pop()} (${s.join("/")})`}this.filename.split(".").pop()==="py"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.currentFilename=null,this.editor.session.setValue(t.contents),this.breakpoints[this.filename]=n,this.restoreBreakpoints(this.filename),this.fileModified="",this.envDisabled=!1,this.addToRecent(this.filename),t.suites?(this.suiteRunner=!0,this.suiteMap=t.suites,this.startOrGoDisabled=!0):(this.suiteRunner=!1,this.startOrGoDisabled=!1),t.error&&(this.suiteError=t.error,this.showSuiteError=!0),this.disableSuiteButtons=t.success==!1,this.doResize()},clearTemp(){this.recent=this.recent.filter(t=>!t.label.includes("__TEMP__")),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},detectLanguage(){let t=new RegExp("^\\s*(require|load|puts) "),o=new RegExp("^\\s*(import|from) "),n=new RegExp("^\\s*end\\s*$"),l=new RegExp("^\\s*(if|def|while|else|elif|class).*:\\s*$"),i=/\(f"/,s=/\(.*\w+:\s+.+\)(?!:)$/,p=this.editor.getValue().split(`
85
+ `);for(let h of p){if(h.match(t))return"ruby";if(h.match(o))return"python";if(h.match(n))return"ruby";if(h.match(l)||h.match(i))return"python";if(h.match(s))return"ruby"}return"unknown"},async saveFile(t="menu"){if(!this.readOnlyUser)if(this.saveAllowed){const o=this.getBreakpointRows();if(this.filename===Q){if(t==="menu"){this.saveAs();return}else if(this.tempFilename===null){let n=this.detectLanguage();n==="unknown"&&(n=ce.AceEditorUtils.getDefaultScriptingLanguage());const l=crypto.randomUUID().split("-")[0];if(n==="ruby")this.tempFilename=fe+"/"+E.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_"+l+"_temp.rb";else if(n==="python")this.tempFilename=fe+"/"+E.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_"+l+"_temp.py";else return;this.filename=this.tempFilename,this.addToRecent(this.filename)}}this.showSave=!0,await E.Fi.post(`/script-api/scripts/${this.filename}`,{data:{text:this.editor.getValue(),breakpoints:o}}).then(n=>{n.status==200?(n.data.suites?(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(n.data.suites)):(this.startOrGoDisabled=!1,this.suiteRunner=!1,this.suiteMap={}),n.data.error&&(this.suiteError=n.data.error,this.showSuiteError=!0),this.fileModified="",setTimeout(()=>{this.showSave=!1},2e3)):(this.showSave=!1,this.alertType="error",this.alertText=`Error saving file. Code: ${n.status} Text: ${n.statusText}`,this.showAlert=!0),this.lockFile(),this.doResize()}).catch(({response:n})=>{this.showSave=!1,n.status==422?(this.alertType="error",this.alertText=n.data.suites):(this.alertType="error",this.alertText=`Error saving file. Code: ${n.status} Text: ${n.statusText}`),this.showAlert=!0})}else this.setError("Attempt to save file when not allowed")},saveAs(){this.showSaveAs=!0},async saveAsFilename(t){this.filename=t.split("*")[0],this.currentFilename=null,this.tempFilename&&(E.Fi.post(`/script-api/scripts/${this.tempFilename}/delete`),this.tempFilename=null),await this.saveFile("menu")},delete(){let t=this.filename;this.tempFilename&&(t=this.tempFilename),this.$dialog.confirm(`Permanently delete file: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then(o=>E.Fi.post(`/script-api/scripts/${t}/delete`,{data:{}})).then(o=>{this.removeFromRecent(t),this.newFile()}).catch(o=>{if(o!==!0){const n={text:`Failed Multi-Delete. ${o}`,type:"error"};this.$emit("alert",n)}})},download(){const t=new Blob([this.editor.getValue()],{type:"text/plain"}),o=document.createElement("a");o.href=URL.createObjectURL(t),o.setAttribute("download",this.filename),o.click()},syntaxCheck(){E.Fi.post(`/script-api/scripts/${this.filename}/syntax`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(t=>{this.information.title=t.data.title,this.information.text=JSON.parse(t.data.description),this.information.show=!0,this.information.width="600"})},showInstrumented(){E.Fi.post(`/script-api/scripts/${this.filename}/instrumented`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(t=>{this.information.title=t.data.title,this.information.text=JSON.parse(t.data.description),this.information.show=!0,this.information.width="90vw"})},showCallStack(){E.Fi.post(`/script-api/running-script/${this.scriptId}/backtrace`)},toggleDebug(){this.showDebug=!this.showDebug,this.showDebug&&this.$nextTick(()=>{this.$refs.debug.focus()})},toggleDisconnect(){this.showDisconnect=!this.showDisconnect},debugKeydown(t){t.key==="Escape"?(this.debug="",this.debugHistoryIndex=this.debugHistory.length):t.key==="Enter"?(this.debugHistory.push(this.debug),this.debugHistoryIndex=this.debugHistory.length,E.Fi.post(`/script-api/running-script/${this.scriptId}/debug`,{data:{args:this.debug}}),this.debug=""):t.key==="ArrowUp"?(this.debugHistoryIndex-=1,this.debugHistoryIndex<0&&(this.debugHistoryIndex=this.debugHistory.length-1),this.debug=this.debugHistory[this.debugHistoryIndex],t.preventDefault()):t.key==="ArrowDown"&&(this.debugHistoryIndex+=1,this.debugHistoryIndex>=this.debugHistory.length&&(this.debugHistoryIndex=0),this.debug=this.debugHistory[this.debugHistoryIndex])},removeAllMarkers:function(){const t=this.editor.session.getMarkers();Object.keys(t).filter(o=>t[o].type==="fullLine").forEach(o=>this.editor.session.removeMarker(o))},confirmLocalUnlock:function(){this.$dialog.confirm("Are you sure you want to unlock this script for editing? If another user is editing this script, your changes might conflict with each other.",{okText:"Force Unlock",cancelText:"Cancel"}).then(()=>(this.lockedBy=null,this.lockFile()))},lockFile:function(){if(!this.readOnlyUser)return E.Fi.post(`/script-api/scripts/${this.filename}/lock`)},unlockFile:function(){this.filename!==Q&&!this.readOnly&&!this.readOnlyUser&&E.Fi.post(`/script-api/scripts/${this.filename}/unlock`)},backToNewScript:async function(){this.scriptDisconnect(),this.removeAllMarkers(),await this.scriptComplete(),this.newFile()},screenId(t){return"scriptRunnerScreen"+t},closeScreen(t){let o=0;for(screen of this.screens){if(screen.id==t){this.screens.splice(o,1);break}o+=1}}}},Tt={class:"grid"},Mt=["id"],Rt={class:"item-content"},Ot={id:"sr-controls"},Dt={class:"d-flex align-center mr-1"},Ft={key:0},zt={key:1},Ut={key:2,style:{width:"40px",height:"40px"},class:"mx-2"},Pt={key:3},It={key:4},Lt={key:0,id:"debug",class:"pa-0"},At={key:1,style:{"background-color":"var(--color-background-base-default)",margin:"0px",padding:"0px"}},qt={key:0},Ht={key:1},Gt={style:{height:"200px",overflow:"hidden"}},jt={key:0,class:"error-message"},Kt={class:"flex-grow-1"};function Wt(t,o,n,l,i,s){const d=e.resolveComponent("top-bar"),p=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),x=e.resolveComponent("v-snackbar"),u=e.resolveComponent("openc3-screen"),m=e.resolveComponent("suite-runner"),k=e.resolveComponent("v-tooltip"),N=e.resolveComponent("v-select"),_=e.resolveComponent("v-text-field"),b=e.resolveComponent("v-progress-circular"),I=e.resolveComponent("v-spacer"),R=e.resolveComponent("v-badge"),B=e.resolveComponent("v-row"),O=e.resolveComponent("v-card-text"),U=e.resolveComponent("v-card"),T=e.resolveComponent("v-list-item"),S=e.resolveComponent("v-divider"),j=e.resolveComponent("v-list"),P=e.resolveComponent("v-menu"),w=e.resolveComponent("pane"),J=e.resolveComponent("script-log-messages"),L=e.resolveComponent("splitpanes"),D=e.resolveComponent("v-tab"),G=e.resolveComponent("v-tabs"),Y=e.resolveComponent("v-col"),W=e.resolveComponent("v-tabs-window-item"),F=e.resolveComponent("v-tabs-window"),K=e.resolveComponent("file-open-save-dialog"),ae=e.resolveComponent("environment-dialog"),X=e.resolveComponent("ask-dialog"),re=e.resolveComponent("file-dialog"),ee=e.resolveComponent("bucket-dialog"),ne=e.resolveComponent("information-dialog"),de=e.resolveComponent("event-list-dialog"),te=e.resolveComponent("overrides-dialog"),se=e.resolveComponent("prompt-dialog"),oe=e.resolveComponent("results-dialog"),V=e.resolveComponent("script-environment-dialog"),C=e.resolveComponent("simple-text-dialog"),M=e.resolveComponent("critical-cmd-dialog"),A=e.resolveComponent("v-card-title"),a=e.resolveComponent("command-editor"),c=e.resolveComponent("v-card-actions"),f=e.resolveComponent("v-dialog"),v=e.resolveComponent("running-scripts"),g=e.resolveComponent("v-sheet"),y=e.resolveComponent("v-bottom-sheet");return e.openBlock(),e.createElementBlock(e.Fragment,null,[n.inline?(e.openBlock(),e.createElementBlock("div",At,[e.createVNode(B,{"no-gutters":"",justify:"right"},{default:e.withCtx(()=>[e.createVNode(G,{modelValue:i.inlineTab,"onUpdate:modelValue":o[16]||(o[16]=r=>i.inlineTab=r),density:"compact"},{default:e.withCtx(()=>[e.createVNode(D,{value:"script",text:"Script","data-test":"script-tab"}),e.createVNode(D,{value:"messages",text:"Messages","data-test":"messages-tab"})]),_:1},8,["modelValue"]),e.createVNode(k,{location:"bottom",text:i.filenameSelect,disabled:!i.filenameSelect||i.filenameSelect.length<=45},{activator:e.withCtx(({props:r})=>[e.createElementVNode("div",e.mergeProps(r,{style:{width:"32rem"}}),[e.createVNode(N,{id:"inline-filename",modelValue:i.filenameSelect,"onUpdate:modelValue":[o[17]||(o[17]=z=>i.filenameSelect=z),s.fileNameChanged],items:s.fileList,disabled:s.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(_,{modelValue:i.scriptId,"onUpdate:modelValue":o[18]||(o[18]=r=>i.scriptId=r),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(_,{modelValue:s.stateTimer,"onUpdate:modelValue":o[19]||(o[19]=r=>s.stateTimer=r),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",s.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),i.state==="Connecting..."?(e.openBlock(),e.createBlock(b,{key:0,size:40,class:"mx-2",indeterminate:"",color:"primary"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(F,{modelValue:i.inlineTab,"onUpdate:modelValue":o[22]||(o[22]=r=>i.inlineTab=r)},{default:e.withCtx(()=>[e.createVNode(W,{value:"script"},{default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(Y,{class:"v-col-10",style:{margin:"15px 0px 0px 0px",padding:"0px"}},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"editor",style:{height:"200px"},onContextmenu:o[20]||(o[20]=e.withModifiers((...r)=>s.showExecuteSelectionMenu&&s.showExecuteSelectionMenu(...r),["prevent"]))},null,544)]),_:1}),e.createVNode(Y,{class:"v-col-2",style:{display:"flex","justify-content":"center","align-items":"center","background-color":"var(--color-background-surface-default)"}},{default:e.withCtx(()=>[i.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",qt,[e.createVNode(h,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:i.startOrGoDisabled||!i.executeUser,hidden:i.suiteRunner,onClick:s.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(h,{color:"primary",class:"ma-2",text:"Go",disabled:i.startOrGoDisabled,"data-test":"go-button",onClick:s.go},null,8,["disabled","onClick"]),e.createVNode(h,{color:"primary",class:"ma-2",text:i.pauseOrRetryButton,disabled:i.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:s.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(h,{color:"primary",class:"ma-2",text:"Stop","data-test":"stop-button",disabled:i.stopDisabled,onClick:s.stop},null,8,["disabled","onClick"])]))]),_:1})]),_:1})]),_:1}),e.createVNode(W,{value:"messages"},{default:e.withCtx(()=>[e.createElementVNode("div",Gt,[e.createVNode(J,{modelValue:i.messages,"onUpdate:modelValue":o[21]||(o[21]=r=>i.messages=r),"newest-on-top":i.messagesNewestOnTop,onMessageOrderChanged:t.messageOrderChanged},null,8,["modelValue","newest-on-top","onMessageOrderChanged"])])]),_:1})]),_:1},8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"d-flex flex-column overflow-hidden",style:e.normalizeStyle({height:l.containerHeight})},[e.createVNode(d,{menus:s.menus,title:i.title},null,8,["menus","title"]),e.createVNode(x,{modelValue:i.showAlert,"onUpdate:modelValue":o[1]||(o[1]=r=>i.showAlert=r),absolute:"",color:i.alertType,timeout:3e3,class:"apply-top",style:e.normalizeStyle(t.classificationStyles)},{actions:e.withCtx(({attrs:r})=>[e.createVNode(h,e.mergeProps({variant:"text",text:"Close"},r,{onClick:o[0]||(o[0]=z=>i.showAlert=!1)}),null,16)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(" mdi-"+e.toDisplayString(i.alertType),1)]),_:1}),e.createTextVNode(" "+e.toDisplayString(i.alertText)+" ",1)]),_:1},8,["modelValue","color","style"]),e.createVNode(x,{modelValue:i.showEditingToast,"onUpdate:modelValue":o[3]||(o[3]=r=>i.showEditingToast=r),absolute:"",class:"apply-top",style:e.normalizeStyle(t.classificationStyles),timeout:-1,color:"orange"},{actions:e.withCtx(({attrs:r})=>[e.createVNode(h,e.mergeProps({variant:"text"},r,{color:"danger",text:"Unlock","data-test":"unlock-button",onClick:s.confirmLocalUnlock}),null,16,["onClick"]),e.createVNode(h,e.mergeProps({variant:"text",text:"Dismiss"},r,{onClick:o[2]||(o[2]=()=>{i.showEditingToast=!1})}),null,16)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[...o[49]||(o[49]=[e.createTextVNode(" mdi-pencil-off ",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(i.lockedBy)+" is editing this script. Editor is in read-only mode ",1)]),_:1},8,["modelValue","style"]),e.createElementVNode("div",Tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.screens,r=>(e.openBlock(),e.createElementBlock("div",{id:s.screenId(r.id),key:r.id,ref_for:!0,ref:"gridItem",class:"item"},[e.createElementVNode("div",Rt,[e.createVNode(u,{target:r.target,screen:r.screen,definition:r.definition,keywords:i.screenKeywords,"initial-floated":!0,"initial-top":r.top,"initial-left":r.left,"initial-z":3,"min-z":3,"fix-floated":!0,count:r.count,onCloseScreen:z=>s.closeScreen(r.id),onDeleteScreen:z=>s.closeScreen(r.id)},null,8,["target","screen","definition","keywords","initial-top","initial-left","count","onCloseScreen","onDeleteScreen"])])],8,Mt))),128))]),e.createVNode(U,{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(O,null,{default:e.withCtx(()=>[i.suiteRunner?(e.openBlock(),e.createBlock(m,{key:0,class:"suite-runner","suite-map":i.suiteMap,"disable-buttons":i.disableSuiteButtons,filename:s.fullFilename,onButton:s.suiteRunnerButton,onLoaded:s.doResize},null,8,["suite-map","disable-buttons","filename","onButton","onLoaded"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ot,[e.createVNode(B,{"no-gutters":"",justify:"space-between"},{default:e.withCtx(()=>[i.showDisconnect?(e.openBlock(),e.createBlock(p,{key:0,class:"mt-2",color:"red"},{default:e.withCtx(()=>[...o[50]||(o[50]=[e.createTextVNode(" mdi-connection ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",Dt,[e.createVNode(k,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:r})=>[i.scriptId?(e.openBlock(),e.createBlock(h,e.mergeProps({key:1},r,{icon:"mdi-arrow-left",variant:"text",density:"compact",onClick:s.backToNewScript}),null,16,["onClick"])):(e.openBlock(),e.createBlock(h,e.mergeProps({key:0},r,{icon:"mdi-cached",variant:"text",density:"compact",disabled:i.filename===t.NEW_FILENAME,"aria-label":"Reload File",onClick:s.reloadFile}),null,16,["disabled","onClick"]))]),default:e.withCtx(()=>[i.scriptId?(e.openBlock(),e.createElementBlock("span",zt," Back to New Script ")):(e.openBlock(),e.createElementBlock("span",Ft," Reload File "))]),_:1})]),e.createVNode(k,{location:"bottom",text:i.filenameSelect,disabled:!i.filenameSelect||i.filenameSelect.length<=45},{activator:e.withCtx(({props:r})=>[e.createElementVNode("div",e.mergeProps(r,{style:{width:"32rem"}}),[e.createVNode(N,{id:"filename",modelValue:i.filenameSelect,"onUpdate:modelValue":[o[4]||(o[4]=z=>i.filenameSelect=z),s.fileNameChanged],items:s.fileList,disabled:s.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(_,{modelValue:i.scriptId,"onUpdate:modelValue":o[5]||(o[5]=r=>i.scriptId=r),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(_,{modelValue:s.stateTimer,"onUpdate:modelValue":o[6]||(o[6]=r=>s.stateTimer=r),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",s.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),i.state==="Connecting..."?(e.openBlock(),e.createBlock(b,{key:1,size:40,class:"mx-2",indeterminate:"",color:"primary"})):(e.openBlock(),e.createElementBlock("div",Ut)),e.createVNode(I),i.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",Pt,[i.overridesCount>0?(e.openBlock(),e.createBlock(k,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:r})=>[e.createVNode(h,e.mergeProps(r,{class:"mr-4",icon:"",variant:"text",density:"compact","data-test":"tlm-override-button","aria-label":"TLM Overrides",onClick:o[7]||(o[7]=z=>i.showOverrides=!i.showOverrides)}),{default:e.withCtx(()=>[e.createVNode(R,{content:i.overridesCount>99?"99+":i.overridesCount,floating:"",color:"primary"},{default:e.withCtx(()=>[e.createVNode(p,{icon:"mdi-application-cog-outline"})]),_:1},8,["content"])]),_:1},16)]),default:e.withCtx(()=>[e.createElementVNode("span",null," TLM Overrides ("+e.toDisplayString(i.overridesCount)+") ",1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(k,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:r})=>[e.createVNode(h,e.mergeProps(r,{class:"mr-2",icon:"",variant:"text",density:"compact",disabled:i.envDisabled,"data-test":"env-button","aria-label":"Script Environment",onClick:o[9]||(o[9]=z=>i.scriptEnvironment.show=!i.scriptEnvironment.show)}),{default:e.withCtx(()=>[e.createVNode(R,{modelValue:s.environmentModified,"onUpdate:modelValue":o[8]||(o[8]=z=>s.environmentModified=z),floating:"",dot:""},{default:e.withCtx(()=>[e.createVNode(p,{icon:"mdi-application-variable"})]),_:1},8,["modelValue"])]),_:1},16,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,[o[51]||(o[51]=e.createTextVNode(" Script Environment ",-1)),s.environmentModified?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" (modified) ")],64)):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(h,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:i.startOrGoDisabled||!i.executeUser,hidden:i.suiteRunner,onClick:s.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",It,[e.createVNode(h,{color:"primary",class:"mr-2",text:"Go",disabled:i.startOrGoDisabled,"data-test":"go-button",onClick:s.go},null,8,["disabled","onClick"]),e.createVNode(h,{color:"primary",class:"mr-2",text:i.pauseOrRetryButton,disabled:i.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:s.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(h,{color:"primary",text:"Stop","data-test":"stop-button",disabled:i.stopDisabled,onClick:s.stop},null,8,["disabled","onClick"])]))]),_:1})])]),_:1})]),_:1}),e.createVNode(L,{horizontal:"",class:"flex-grow-1 overflow-hidden",onResize:o[15]||(o[15]=({prevPane:r})=>i.editorBoxSize=r.size)},{default:e.withCtx(()=>[e.createVNode(w,{class:"editorbox",size:i.editorBoxSize},{default:e.withCtx(()=>[e.createVNode(x,{modelValue:i.showSave,"onUpdate:modelValue":o[10]||(o[10]=r=>i.showSave=r),absolute:"",location:"right",timeout:-1,class:"saving apply-top",style:e.normalizeStyle(t.classificationStyles)},{default:e.withCtx(()=>[...o[52]||(o[52]=[e.createTextVNode(" Saving... ",-1)])]),_:1},8,["modelValue","style"]),e.createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:o[11]||(o[11]=e.withModifiers((...r)=>s.showExecuteSelectionMenu&&s.showExecuteSelectionMenu(...r),["prevent"]))},null,544),e.createVNode(P,{modelValue:i.executeSelectionMenu,"onUpdate:modelValue":o[12]||(o[12]=r=>i.executeSelectionMenu=r),target:[i.menuX,i.menuY]},{default:e.withCtx(()=>[e.createVNode(j,null,{default:e.withCtx(()=>[e.createVNode(T,{title:i.currentLineHasCommand?"Edit Command":"Insert Command",onClick:s.openCommandEditor},null,8,["title","onClick"]),e.createVNode(S),e.createVNode(T,{title:"Execute Selection",onClick:s.executeSelection},null,8,["onClick"]),i.scriptId?(e.openBlock(),e.createBlock(T,{key:0,title:"Goto Line",onClick:s.runFromCursor},null,8,["onClick"])):e.createCommentVNode("",!0),i.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:1,title:"Run From Line",onClick:s.runFromCursor},null,8,["onClick"])),i.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:2,title:"Clear Local Breakpoints",onClick:s.clearBreakpoints},null,8,["onClick"])),e.createVNode(S),e.createVNode(T,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:s.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1},8,["size"]),e.createVNode(w,{id:"messages",class:"mt-2",size:100-i.editorBoxSize},{default:e.withCtx(()=>[i.showDebug?(e.openBlock(),e.createElementBlock("div",Lt,[e.createVNode(B,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(h,{color:"primary",style:{width:"100px"},class:"mr-4",text:"Step","append-icon":"mdi-step-forward",disabled:!i.scriptId,"data-test":"step-button",onClick:s.step},null,8,["disabled","onClick"]),e.createVNode(_,{ref:"debug",modelValue:i.debug,"onUpdate:modelValue":o[13]||(o[13]=r=>i.debug=r),class:"mb-2",variant:"outlined",density:"compact","hide-details":"",label:"Debug","data-test":"debug-text",onKeydown:s.debugKeydown},null,8,["modelValue","onKeydown"])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(J,{id:"log-messages",modelValue:i.messages,"onUpdate:modelValue":o[14]||(o[14]=r=>i.messages=r),onSort:s.messageSortOrder},null,8,["modelValue","onSort"])]),_:1},8,["size"])]),_:1})],4)),i.fileOpen?(e.openBlock(),e.createBlock(K,{key:2,modelValue:i.fileOpen,"onUpdate:modelValue":o[23]||(o[23]=r=>i.fileOpen=r),type:"open","api-url":"/script-api/scripts",onFile:o[24]||(o[24]=r=>s.setFile(r)),onError:o[25]||(o[25]=r=>s.setError(r)),onClearTemp:o[26]||(o[26]=r=>s.clearTemp(r))},null,8,["modelValue"])):e.createCommentVNode("",!0),i.showSaveAs?(e.openBlock(),e.createBlock(K,{key:3,modelValue:i.showSaveAs,"onUpdate:modelValue":o[27]||(o[27]=r=>i.showSaveAs=r),type:"save","api-url":"/script-api/scripts","require-target-parent-dir":"","input-filename":s.filenameOrBlank,onFilename:o[28]||(o[28]=r=>s.saveAsFilename(r)),onError:o[29]||(o[29]=r=>s.setError(r)),onClearTemp:o[30]||(o[30]=r=>s.clearTemp(r))},null,8,["modelValue","input-filename"])):e.createCommentVNode("",!0),i.showEnvironment?(e.openBlock(),e.createBlock(ae,{key:4,modelValue:i.showEnvironment,"onUpdate:modelValue":o[31]||(o[31]=r=>i.showEnvironment=r)},null,8,["modelValue"])):e.createCommentVNode("",!0),i.ask.show?(e.openBlock(),e.createBlock(X,{key:5,modelValue:i.ask.show,"onUpdate:modelValue":o[32]||(o[32]=r=>i.ask.show=r),question:i.ask.question,default:i.ask.default,password:i.ask.password,"answer-required":i.ask.answerRequired,onResponse:i.ask.callback},null,8,["modelValue","question","default","password","answer-required","onResponse"])):e.createCommentVNode("",!0),i.file.show?(e.openBlock(),e.createBlock(re,{key:6,modelValue:i.file.show,"onUpdate:modelValue":o[33]||(o[33]=r=>i.file.show=r),title:i.file.title,message:i.file.message,multiple:i.file.multiple,filter:i.file.filter,onResponse:s.fileDialogCallback},null,8,["modelValue","title","message","multiple","filter","onResponse"])):e.createCommentVNode("",!0),i.bucket.show?(e.openBlock(),e.createBlock(ee,{key:7,modelValue:i.bucket.show,"onUpdate:modelValue":o[34]||(o[34]=r=>i.bucket.show=r),title:i.bucket.title,message:i.bucket.message,"default-path":i.bucket.defaultPath,filter:i.bucket.filter,onResponse:s.bucketDialogCallback},null,8,["modelValue","title","message","default-path","filter","onResponse"])):e.createCommentVNode("",!0),i.information.show?(e.openBlock(),e.createBlock(ne,{key:8,modelValue:i.information.show,"onUpdate:modelValue":o[35]||(o[35]=r=>i.information.show=r),title:i.information.title,text:i.information.text,width:i.information.width},null,8,["modelValue","title","text","width"])):e.createCommentVNode("",!0),i.inputMetadata.show?(e.openBlock(),e.createBlock(de,{key:9,modelValue:i.inputMetadata.show,"onUpdate:modelValue":o[36]||(o[36]=r=>i.inputMetadata.show=r),events:i.inputMetadata.events,"time-zone":i.timeZone,"new-metadata":"",onClose:i.inputMetadata.callback},null,8,["modelValue","events","time-zone","onClose"])):e.createCommentVNode("",!0),i.showOverrides?(e.openBlock(),e.createBlock(te,{key:10,modelValue:i.showOverrides,"onUpdate:modelValue":o[37]||(o[37]=r=>i.showOverrides=r)},null,8,["modelValue"])):e.createCommentVNode("",!0),i.prompt.show?(e.openBlock(),e.createBlock(se,{key:11,modelValue:i.prompt.show,"onUpdate:modelValue":o[38]||(o[38]=r=>i.prompt.show=r),title:i.prompt.title,subtitle:i.prompt.subtitle,message:i.prompt.message,details:i.prompt.details,buttons:i.prompt.buttons,layout:i.prompt.layout,multiple:i.prompt.multiple,onResponse:i.prompt.callback},null,8,["modelValue","title","subtitle","message","details","buttons","layout","multiple","onResponse"])):e.createCommentVNode("",!0),i.results.show?(e.openBlock(),e.createBlock(oe,{key:12,modelValue:i.results.show,"onUpdate:modelValue":o[39]||(o[39]=r=>i.results.show=r),text:i.results.text},null,8,["modelValue","text"])):e.createCommentVNode("",!0),i.scriptEnvironment.show?(e.openBlock(),e.createBlock(V,{key:13,modelValue:i.scriptEnvironment.show,"onUpdate:modelValue":o[40]||(o[40]=r=>i.scriptEnvironment.show=r),"input-environment":i.scriptEnvironment.env,onEnvironment:s.environmentHandler},null,8,["modelValue","input-environment","onEnvironment"])):e.createCommentVNode("",!0),e.createVNode(C,{modelValue:i.showSuiteError,"onUpdate:modelValue":o[41]||(o[41]=r=>i.showSuiteError=r),title:"Suite Analysis Error",text:i.suiteError,width:1e3},null,8,["modelValue","text"]),e.createVNode(M,{modelValue:i.displayCriticalCmd,"onUpdate:modelValue":o[42]||(o[42]=r=>i.displayCriticalCmd=r),uuid:i.criticalCmdUuid,"cmd-string":i.criticalCmdString,"cmd-user":i.criticalCmdUser,persistent:!0,onStatus:s.promptDialogCallback},null,8,["modelValue","uuid","cmd-string","cmd-user","onStatus"]),e.createVNode(f,{modelValue:i.commandEditor.show,"onUpdate:modelValue":o[46]||(o[46]=r=>i.commandEditor.show=r),"max-width":"1200",persistent:"",scrollable:"",onKeydown:e.withKeys(s.closeCommandDialog,["esc"])},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(A,{class:"d-flex align-center"},{default:e.withCtx(()=>[o[53]||(o[53]=e.createElementVNode("span",null,"Insert Command",-1)),e.createVNode(I),e.createVNode(h,{icon:"mdi-close",variant:"text",onClick:s.closeCommandDialog},null,8,["onClick"])]),_:1}),e.createVNode(O,{class:"pa-0"},{default:e.withCtx(()=>[i.commandEditor.dialogError?(e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(p,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...o[54]||(o[54]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",Kt,e.toDisplayString(i.commandEditor.dialogError),1),e.createVNode(h,{icon:"mdi-close",size:"small",variant:"text",color:"error",class:"ml-2",onClick:o[43]||(o[43]=r=>i.commandEditor.dialogError=null)})])):e.createCommentVNode("",!0),e.createVNode(a,{ref:"commandEditor","initial-target-name":i.commandEditor.targetName,"initial-packet-name":i.commandEditor.packetName,"cmd-string":i.commandEditor.cmdString,"send-disabled":!1,"show-command-button":!1,onBuildCmd:o[44]||(o[44]=r=>s.insertCommand(r))},null,8,["initial-target-name","initial-packet-name","cmd-string"])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(I),e.createVNode(h,{variant:"outlined",onClick:s.closeCommandDialog},{default:e.withCtx(()=>[...o[55]||(o[55]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(h,{color:"primary",variant:"flat",onClick:o[45]||(o[45]=r=>s.insertCommand())},{default:e.withCtx(()=>[...o[56]||(o[56]=[e.createTextVNode(" Insert Command ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"]),e.createVNode(y,{modelValue:i.showScripts,"onUpdate:modelValue":o[48]||(o[48]=r=>i.showScripts=r)},{default:e.withCtx(()=>[e.createVNode(g,{class:"pb-11 pt-5 px-5"},{default:e.withCtx(()=>[i.showScripts?(e.openBlock(),e.createBlock(v,{key:0,"connect-in-new-tab":!!i.fileModified,onDisconnect:s.scriptDisconnect,onClose:o[47]||(o[47]=()=>{i.showScripts=!1})},null,8,["connect-in-new-tab","onDisconnect"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])],64)}const Jt=le._export_sfc(Bt,[["render",Wt],["__scopeId","data-v-c0d3e5cc"]]);exports.RunningScripts=we;exports.ScriptLogMessages=Ce;exports.ScriptRunner=Jt;exports.SuiteRunner=ke;
86
86
  //# sourceMappingURL=scriptrunner.cjs.map