@vostride/agent-qa-dashboard-ui 0.1.21 → 0.2.2

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 (216) hide show
  1. package/dist/assets/{arrow-up-down-B4k_G_pz.js → arrow-up-down-CKc1J6oh.js} +1 -1
  2. package/dist/assets/{badge-DHCU59H0.js → badge-B-yh3kbi.js} +1 -1
  3. package/dist/assets/batch-action-bar-MMUxALHz.js +4 -0
  4. package/dist/assets/check-DH5_3cK-.js +1 -0
  5. package/dist/assets/checkbox-B5x0V2a2.js +1 -0
  6. package/dist/assets/circle-DjggEctd.js +1 -0
  7. package/dist/assets/circle-dashed-WDoZ8ADk.js +1 -0
  8. package/dist/assets/circle-slash-Baq9Dw6f.js +1 -0
  9. package/dist/assets/{circle-x-ITZ_DbXH.js → circle-x-1lf_9y_c.js} +1 -1
  10. package/dist/assets/config-CnN4bOco.js +3 -0
  11. package/dist/assets/{cssMode-Ci86QdEV.js → cssMode-CIWhUqfG.js} +1 -1
  12. package/dist/assets/display-step-opeACkeD.js +1 -0
  13. package/dist/assets/dist-Cy8QoEce.js +1 -0
  14. package/dist/assets/{empty-state-3cB27tBp.js → empty-state-2mwYYmoQ.js} +1 -1
  15. package/dist/assets/{file-code-DDa3GwxK.js → file-code-BTJCyvvJ.js} +1 -1
  16. package/dist/assets/filename-validation-I94bcMf7.js +1 -0
  17. package/dist/assets/{freemarker2-BAginoYi.js → freemarker2-BiVXttLB.js} +1 -1
  18. package/dist/assets/globe-B0WEPp3h.js +1 -0
  19. package/dist/assets/{grip-vertical-MY-i_r9J.js → grip-vertical-B87oMfre.js} +1 -1
  20. package/dist/assets/{handlebars-C6jsxsLs.js → handlebars-C_rmhix8.js} +1 -1
  21. package/dist/assets/hook-editor-DetIWjh8.js +1 -0
  22. package/dist/assets/{hook-runtime-DCkWsFrF.js → hook-runtime-8xwsNog-.js} +1 -1
  23. package/dist/assets/hook-viewer-C_nzb-qD.js +1 -0
  24. package/dist/assets/hooks-BIXR5djX.js +1 -0
  25. package/dist/assets/{html-Cyb0M0oP.js → html-v4GGDD2l.js} +1 -1
  26. package/dist/assets/{htmlMode-DshMgI5s.js → htmlMode-DsnRJeF2.js} +1 -1
  27. package/dist/assets/id-badge-CIbcJUv0.js +111 -0
  28. package/dist/assets/index-0GfHLQ0v.css +2 -0
  29. package/dist/assets/index-CXuVkD6-.js +116 -0
  30. package/dist/assets/insights-CfqFVe4T.js +1 -0
  31. package/dist/assets/{insights-line-grid-eCcWaGgD.js → insights-line-grid-EcYgqiLS.js} +6 -6
  32. package/dist/assets/{javascript-BsU_m_4o.js → javascript-B12FD1Gz.js} +1 -1
  33. package/dist/assets/{jsonMode-DUKNqYzB.js → jsonMode-C_mhVvGR.js} +1 -1
  34. package/dist/assets/knowledge-view-BHNh7MwX.js +1 -0
  35. package/dist/assets/label-CYpyu7PJ.js +1 -0
  36. package/dist/assets/{liquid-BYz2oQ7r.js → liquid-l2oB7oKx.js} +1 -1
  37. package/dist/assets/live-run-DOfPiVKU.js +1 -0
  38. package/dist/assets/live-step-row-BtLYYCKS.js +1 -0
  39. package/dist/assets/{lspLanguageFeatures-CPMJ3OMK.js → lspLanguageFeatures-By4f0cSm.js} +1 -1
  40. package/dist/assets/{mdx-Bfn3OASJ.js → mdx-Cyix08OW.js} +1 -1
  41. package/dist/assets/monaco-editor-BQB4vEk_.js +2 -0
  42. package/dist/assets/{monaco-editor-inner-B2iWC3vK.js → monaco-editor-inner-DBI8AgAJ.js} +4 -4
  43. package/dist/assets/{monaco.contribution-B-XUbmv5.js → monaco.contribution-C7Dknl5j.js} +2 -2
  44. package/dist/assets/numeric-input-DcozBggQ.js +1 -0
  45. package/dist/assets/plus-DNc2RueT.js +1 -0
  46. package/dist/assets/popover-DThBIgGA.js +1 -0
  47. package/dist/assets/{python-D7QiYvsM.js → python-cdSYU9zt.js} +1 -1
  48. package/dist/assets/radio-group-DDMpRS3x.js +1 -0
  49. package/dist/assets/{razor-ByxQWcvk.js → razor-BWMXhgx8.js} +1 -1
  50. package/dist/assets/{refresh-cw-BtT1wl9S.js → refresh-cw-BQdOC6UA.js} +1 -1
  51. package/dist/assets/resizable-om0nWp3k.js +1 -0
  52. package/dist/assets/run-detail-C9oixuvH.js +1 -0
  53. package/dist/assets/run-status-badge-DRzXddrc.js +1 -0
  54. package/dist/assets/run-stream-reducer-BXMulZq1.js +1 -0
  55. package/dist/assets/runs-BDKh94Pq.js +1 -0
  56. package/dist/assets/{scroll-area-CPuygHdB.js → scroll-area-WFIgUp-0.js} +1 -1
  57. package/dist/assets/select-JI5Kadjp.js +1 -0
  58. package/dist/assets/{shortcut-hints-CUbl8p3Z.js → shortcut-hints-_J-i7rAL.js} +1 -1
  59. package/dist/assets/split-button-BHdketN3.js +1 -0
  60. package/dist/assets/suite-editor-Ce16nUF9.js +5 -0
  61. package/dist/assets/suite-navbar-D8RcUReD.js +1 -0
  62. package/dist/assets/suite-viewer-Bc78bHVL.js +1 -0
  63. package/dist/assets/suites-D2VXpj7W.js +1 -0
  64. package/dist/assets/switch-BgfA6DyL.js +1 -0
  65. package/dist/assets/tab-console-CpnOoTyg.js +1 -0
  66. package/dist/assets/table-e38rtLis.js +1 -0
  67. package/dist/assets/tabs-CsAJVEvt.js +1 -0
  68. package/dist/assets/test-editor-vZsQDd2R.js +9 -0
  69. package/dist/assets/test-navbar-BfzeL-K8.js +7 -0
  70. package/dist/assets/test-viewer-Cek_cnB3.js +1 -0
  71. package/dist/assets/tests-CzPu8CPe.js +1 -0
  72. package/dist/assets/tests-suites-table-widths-nMJHxqRN.js +1 -0
  73. package/dist/assets/textarea-BP7XqG3v.js +1 -0
  74. package/dist/assets/{trash-2-B2a3jDA4.js → trash-2-87f7wzeR.js} +1 -1
  75. package/dist/assets/{tsMode-CPlGHPm6.js → tsMode-CqMhxF8i.js} +1 -1
  76. package/dist/assets/{typescript-BAelS_Yl.js → typescript-DOy-nOZu.js} +1 -1
  77. package/dist/assets/use-clipboard-copy-Bmyv0FFY.js +1 -0
  78. package/dist/assets/use-hook-run-session-DnSkzl1A.js +1 -0
  79. package/dist/assets/use-keyboard-shortcuts-befVnBO6.js +1 -0
  80. package/dist/assets/{use-page-title-C_f72ri7.js → use-page-title-fn79XYtf.js} +1 -1
  81. package/dist/assets/use-run-status-favicon-vVlATUoT.js +1 -0
  82. package/dist/assets/use-selection-queue-BAssrkmC.js +1 -0
  83. package/dist/assets/viewer-url-state-BnbixmdH.js +1 -0
  84. package/dist/assets/{workers-Br5uqX4Z.js → workers-By3SZV-o.js} +1 -1
  85. package/dist/assets/wrench-y-wKZ-0A.js +1 -0
  86. package/dist/assets/{xml-DB-ZrZ2e.js → xml-BEMkcljk.js} +1 -1
  87. package/dist/assets/{yaml-BeKBVxAt.js → yaml-CfPYAxWJ.js} +1 -1
  88. package/dist/assets/{zap-CHRkZMyJ.js → zap-DKRM77fm.js} +1 -1
  89. package/dist/index.html +2 -2
  90. package/package.json +9 -9
  91. package/dist/assets/batch-action-bar-Dd_8W0p9.js +0 -1
  92. package/dist/assets/circle-alert-TPWM0719.js +0 -1
  93. package/dist/assets/config-DMv2WZOF.js +0 -10
  94. package/dist/assets/copy-D-NZb7QZ.js +0 -1
  95. package/dist/assets/display-step-CYKXUkbs.js +0 -1
  96. package/dist/assets/dist-_gv57K8d.js +0 -1
  97. package/dist/assets/external-link-DvyIDphy.js +0 -1
  98. package/dist/assets/eye-DkGk2gsF.js +0 -1
  99. package/dist/assets/file-search-NMd1pdjr.js +0 -1
  100. package/dist/assets/filename-validation-CaFIUcWo.js +0 -1
  101. package/dist/assets/hook-editor-Cjix8FD5.js +0 -1
  102. package/dist/assets/hook-viewer-Ca73H02j.js +0 -1
  103. package/dist/assets/hooks-3zdPj97l.js +0 -1
  104. package/dist/assets/id-badge-CIlIhfqv.js +0 -111
  105. package/dist/assets/index-Bu0wLCES.css +0 -2
  106. package/dist/assets/index-CWwAjH9Q.js +0 -58
  107. package/dist/assets/insights-_VG03kv7.js +0 -1
  108. package/dist/assets/lib-B4PNeU44.js +0 -4
  109. package/dist/assets/live-run-CL1uuNh1.js +0 -1
  110. package/dist/assets/marked.esm-DGP46SGL.js +0 -64
  111. package/dist/assets/memory-CAPirlHn.js +0 -1
  112. package/dist/assets/memory-product-CBcChlmH.js +0 -2
  113. package/dist/assets/monaco-editor-q3UYuc-5.js +0 -2
  114. package/dist/assets/observation-block-DR8MBlgg.js +0 -1
  115. package/dist/assets/observation-markdown-BOJNfOw1.js +0 -1
  116. package/dist/assets/pencil-DBjmgk_1.js +0 -1
  117. package/dist/assets/plus-DWwmmJlz.js +0 -1
  118. package/dist/assets/popover-CuqW26_E.js +0 -1
  119. package/dist/assets/resizable-C3bJVUPo.js +0 -1
  120. package/dist/assets/run-detail-Bo30AusG.js +0 -1
  121. package/dist/assets/runs-BDWggMSA.js +0 -1
  122. package/dist/assets/select-DF8sGWfv.js +0 -1
  123. package/dist/assets/split-button-BKCtgFiC.js +0 -1
  124. package/dist/assets/square-CEW9RAjr.js +0 -1
  125. package/dist/assets/step-name-pills-RalYL-ZJ.js +0 -1
  126. package/dist/assets/suite-editor-DMnWq7BC.js +0 -5
  127. package/dist/assets/suite-navbar-D9wliAeW.js +0 -1
  128. package/dist/assets/suite-viewer-D55qWO4b.js +0 -1
  129. package/dist/assets/suites-C02UROvF.js +0 -1
  130. package/dist/assets/switch-CgiZ-8Q1.js +0 -1
  131. package/dist/assets/tab-console-vamiKOKH.js +0 -1
  132. package/dist/assets/table-cLA2Rr2t.js +0 -1
  133. package/dist/assets/tabs-xxRH91gb.js +0 -1
  134. package/dist/assets/test-editor-SQG9pODg.js +0 -9
  135. package/dist/assets/test-navbar-DGyMPxYJ.js +0 -7
  136. package/dist/assets/test-viewer-D3UUL8p1.js +0 -1
  137. package/dist/assets/tests-Dz-BuO2B.js +0 -1
  138. package/dist/assets/tests-suites-table-widths-CAr7nQWt.js +0 -1
  139. package/dist/assets/textarea-wN2tIsDn.js +0 -1
  140. package/dist/assets/use-hook-run-session-RU-LfCyB.js +0 -1
  141. package/dist/assets/use-keyboard-shortcuts-O6nfytzm.js +0 -1
  142. package/dist/assets/use-run-status-favicon-CoVHCGAy.js +0 -1
  143. package/dist/assets/use-selection-queue-3FNZ4lRr.js +0 -1
  144. package/dist/assets/viewer-url-state-Dsu1DY22.js +0 -1
  145. /package/dist/assets/{abap-BEq1sfI-.js → abap-CpHUwCVK.js} +0 -0
  146. /package/dist/assets/{apex-B44QgtCx.js → apex-DlD7oJX6.js} +0 -0
  147. /package/dist/assets/{azcli-DMZ9GGL6.js → azcli-CmXFAbc-.js} +0 -0
  148. /package/dist/assets/{bat-C9UmLmb8.js → bat-DdNJq4hH.js} +0 -0
  149. /package/dist/assets/{bicep-DftblL_H.js → bicep-Bppz7WOA.js} +0 -0
  150. /package/dist/assets/{cameligo-CzLnGslK.js → cameligo-0MRMdSmg.js} +0 -0
  151. /package/dist/assets/{clojure-ByLwyAQs.js → clojure-B5dKj863.js} +0 -0
  152. /package/dist/assets/{coffee-68kO868m.js → coffee-DSbWjzk7.js} +0 -0
  153. /package/dist/assets/{cpp-DzwB3t3R.js → cpp-SBF8SAh9.js} +0 -0
  154. /package/dist/assets/{csharp-DYYXYf_U.js → csharp-Lzuq_1t-.js} +0 -0
  155. /package/dist/assets/{csp-CM2i4rGd.js → csp-BEzxZqi1.js} +0 -0
  156. /package/dist/assets/{css-DeSoHz_W.js → css-C3D3PKln.js} +0 -0
  157. /package/dist/assets/{cypher-BKNyhJD3.js → cypher-CQ3dEPmv.js} +0 -0
  158. /package/dist/assets/{dart-BQc3JPCX.js → dart-DCPmxolI.js} +0 -0
  159. /package/dist/assets/{dockerfile-BGxPbctm.js → dockerfile-B_2_aaTO.js} +0 -0
  160. /package/dist/assets/{ecl-CKjBzfQ2.js → ecl-rADUeXsV.js} +0 -0
  161. /package/dist/assets/{editor.api2-CX0IWJmc.js → editor.api2-DXR_ThFM.js} +0 -0
  162. /package/dist/assets/{elixir-BBLR1E4J.js → elixir-DOd-TuJO.js} +0 -0
  163. /package/dist/assets/{flow9-DZyS6Im9.js → flow9-Bf7zg_j0.js} +0 -0
  164. /package/dist/assets/{format-Y_Dbfary.js → format-BpI4TiHn.js} +0 -0
  165. /package/dist/assets/{fsharp-B_k18Kji.js → fsharp-BqROZjbA.js} +0 -0
  166. /package/dist/assets/{go-B5m-VPlE.js → go-oQTP5uLe.js} +0 -0
  167. /package/dist/assets/{graphql-B4NvZBRl.js → graphql-CSHfTU3q.js} +0 -0
  168. /package/dist/assets/{hcl-CXiUP62m.js → hcl-CeG-RoFJ.js} +0 -0
  169. /package/dist/assets/{ini-DIf6wU5x.js → ini-B2Dv4ohc.js} +0 -0
  170. /package/dist/assets/{java-CpjOue3Z.js → java-aUDDeufb.js} +0 -0
  171. /package/dist/assets/{julia-dxHeF5LM.js → julia-C5LbruO5.js} +0 -0
  172. /package/dist/assets/{kotlin-DRRSuc55.js → kotlin-C6mOuSKk.js} +0 -0
  173. /package/dist/assets/{less-tNOoNPeH.js → less-D5qC3caW.js} +0 -0
  174. /package/dist/assets/{lexon-zuaObGAE.js → lexon-Dr2La-fj.js} +0 -0
  175. /package/dist/assets/{lua-BDGwBzPZ.js → lua-Zy6u5z6Z.js} +0 -0
  176. /package/dist/assets/{m3-FllEI98A.js → m3-C7XHeDz_.js} +0 -0
  177. /package/dist/assets/{markdown-Dg9O28Mh.js → markdown-PiF7r-2h.js} +0 -0
  178. /package/dist/assets/{mips-BSEXxt-j.js → mips-nn07GiyE.js} +0 -0
  179. /package/dist/assets/{msdax-BUYxl4Gb.js → msdax-DaKFVMST.js} +0 -0
  180. /package/dist/assets/{mysql-CKjgZvko.js → mysql-C6d6xrbU.js} +0 -0
  181. /package/dist/assets/{objective-c-CMAdlqWg.js → objective-c-B6KMtI-k.js} +0 -0
  182. /package/dist/assets/{pascal-DnrBRw9P.js → pascal-DYr8MPE7.js} +0 -0
  183. /package/dist/assets/{pascaligo-DGZxRh0P.js → pascaligo-B3pd-jJ_.js} +0 -0
  184. /package/dist/assets/{perl-CKcCV5P6.js → perl-z2xUzoaL.js} +0 -0
  185. /package/dist/assets/{pgsql-D117QWhR.js → pgsql-DUvT-09-.js} +0 -0
  186. /package/dist/assets/{php-B7LpRV3v.js → php-CGyOmJfy.js} +0 -0
  187. /package/dist/assets/{pla-75s5EwYc.js → pla-CMqgvyD0.js} +0 -0
  188. /package/dist/assets/{postiats-FKqEVO_y.js → postiats-Dx5LUn4Z.js} +0 -0
  189. /package/dist/assets/{powerquery-D2B9xeZA.js → powerquery-DazYxvJ6.js} +0 -0
  190. /package/dist/assets/{powershell-DVyjSbmt.js → powershell-B3nwlDka.js} +0 -0
  191. /package/dist/assets/{protobuf-BBsLf-fq.js → protobuf-BGuu2u2s.js} +0 -0
  192. /package/dist/assets/{pug-CWV-ph9P.js → pug-Dbte1MXA.js} +0 -0
  193. /package/dist/assets/{qsharp-QhIGXK1X.js → qsharp-DJLwBOvG.js} +0 -0
  194. /package/dist/assets/{r-BQomAm4N.js → r-DmGBRSHj.js} +0 -0
  195. /package/dist/assets/{redis-DzIifZp4.js → redis-VvUYn0a4.js} +0 -0
  196. /package/dist/assets/{redshift-C4TPhoa0.js → redshift-6GdDrxg3.js} +0 -0
  197. /package/dist/assets/{restructuredtext-Dapr4eTe.js → restructuredtext-CfAB8aRU.js} +0 -0
  198. /package/dist/assets/{ruby-BfU5yBGC.js → ruby-CIYK6MXY.js} +0 -0
  199. /package/dist/assets/{rust-BkuRlY3p.js → rust-CTHZfjj9.js} +0 -0
  200. /package/dist/assets/{sb-C5vEAPYs.js → sb-CkKTdkz_.js} +0 -0
  201. /package/dist/assets/{scala-CUr1vafD.js → scala-Bx-Wr9TM.js} +0 -0
  202. /package/dist/assets/{scheme-wTgw6IJZ.js → scheme-Dcfi6f83.js} +0 -0
  203. /package/dist/assets/{scss-D_2qOFds.js → scss-ByL-7PFQ.js} +0 -0
  204. /package/dist/assets/{shell-CYPHnmAv.js → shell-Csnb9Yqd.js} +0 -0
  205. /package/dist/assets/{solidity-Dg-teBwM.js → solidity-Dbw5-0QP.js} +0 -0
  206. /package/dist/assets/{sophia-BZcSzYf2.js → sophia-ZQ3saZQx.js} +0 -0
  207. /package/dist/assets/{sparql-B198P2td.js → sparql-BEtOel8u.js} +0 -0
  208. /package/dist/assets/{sql-DTwIGDsL.js → sql-DGPDbzB7.js} +0 -0
  209. /package/dist/assets/{st-DRydv-vG.js → st-GeW2MOgh.js} +0 -0
  210. /package/dist/assets/{swift-DsJ-FzuB.js → swift-BVYTN8jq.js} +0 -0
  211. /package/dist/assets/{systemverilog-BfzGNA0B.js → systemverilog-Deg2a8Lr.js} +0 -0
  212. /package/dist/assets/{tcl-i-A18rYd.js → tcl-6DnLmROF.js} +0 -0
  213. /package/dist/assets/{twig-BcTx4v-O.js → twig-XbbXW9Yz.js} +0 -0
  214. /package/dist/assets/{typespec-C8pW8LGC.js → typespec-CRlV8GhI.js} +0 -0
  215. /package/dist/assets/{vb-DhhgAOPk.js → vb-BHE2izPH.js} +0 -0
  216. /package/dist/assets/{wgsl-CLi0cHxr.js → wgsl-Bf5vkfmY.js} +0 -0
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./arrow-up-down-CKc1J6oh.js";import{a as n,i as r,n as i,r as a,t as o}from"./select-JI5Kadjp.js";import{n as s,r as c}from"./shortcut-hints-_J-i7rAL.js";import{n as l}from"./split-button-BHdketN3.js";import{t as u}from"./plus-DNc2RueT.js";import{$n as d,A as f,B as p,D as ee,Mt as m,O as te,Or as h,R as ne,Sc as g,Sr as _,Tr as re,V as v,Vt as ie,Xt as y,_c as ae,a as oe,er as se,fn as ce,hc as le,k as ue,pn as de,pr as fe,sr as pe,y as b,yc as x,z as S}from"./index-CXuVkD6-.js";import{t as me}from"./use-page-title-fn79XYtf.js";import{a as he,i as ge,n as _e,o as C,r as ve,t as ye}from"./table-e38rtLis.js";import{n as be,t as xe}from"./scroll-area-WFIgUp-0.js";import{t as Se}from"./empty-state-2mwYYmoQ.js";import{t as Ce}from"./use-keyboard-shortcuts-befVnBO6.js";import{i as we,n as w,o as Te,r as Ee,s as De,t as Oe}from"./batch-action-bar-MMUxALHz.js";import{n as ke,t as Ae}from"./use-selection-queue-BAssrkmC.js";import{t as T}from"./run-status-badge-DRzXddrc.js";import{n as je,r as E,t as Me}from"./tests-suites-table-widths-nMJHxqRN.js";var D=e(g(),1),O=new Set([`asc`,`desc`]),k=50;function A(e){if(!e)return 1;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>1?t:1}function j(e){let t=new URLSearchParams;return e.search&&t.set(`search`,e.search),e.status&&t.set(`status`,e.status),e.platform&&t.set(`platform`,e.platform),e.target&&t.set(`target`,e.target),e.sort&&(t.set(`sort`,e.sort),t.set(`order`,e.order)),e.page>1&&t.set(`page`,String(e.page)),t}function Ne(){let[e,t]=x(),n=e.get(`search`)??``,r=e.get(`status`)??``,i=e.get(`platform`)??``,a=e.get(`target`)??``,o=e.get(`sort`)??``,s=e.get(`order`)??`desc`,c=O.has(s)?s:`desc`,l=A(e.get(`page`)),u=(0,D.useMemo)(()=>o?[{id:o,desc:c===`desc`}]:[],[o,c]),d=(0,D.useRef)(u);d.current=u;let f=(0,D.useMemo)(()=>({search:n,status:r,platform:i,target:a,sort:o,order:c,page:l}),[n,r,i,a,o,c,l]);(0,D.useEffect)(()=>{let n=j(f);e.toString()!==n.toString()&&t(n,{replace:!0})},[e,t,f]);let p=(0,D.useCallback)((e,n)=>{let r={...f,...e};n?.resetPage&&(r.page=1),t(j(r),{replace:!0})},[t,f]),ee=(0,D.useCallback)(e=>{let t=typeof e==`function`?e(d.current):e;t.length>0?p({sort:t[0].id,order:t[0].desc?`desc`:`asc`}):p({sort:``,order:`desc`})},[p]),m=(0,D.useMemo)(()=>({pageIndex:l-1,pageSize:k}),[l]);return{search:n,status:r,platform:i,target:a,sort:o,order:c,page:l,sorting:u,pagination:m,onSortingChange:ee,onPaginationChange:(0,D.useCallback)(e=>{p({page:(typeof e==`function`?e(m):e).pageIndex+1})},[m,p]),setSearch:(0,D.useCallback)(e=>p({search:e},{resetPage:!0}),[p]),setStatus:(0,D.useCallback)(e=>p({status:e},{resetPage:!0}),[p]),setPlatform:(0,D.useCallback)(e=>p({platform:e},{resetPage:!0}),[p]),setTarget:(0,D.useCallback)(e=>p({target:e},{resetPage:!0}),[p]),setPage:(0,D.useCallback)(e=>p({page:e}),[p])}}var M=y();function N(e){return e?e===`ios`?`iOS`:e.charAt(0).toUpperCase()+e.slice(1):`—`}function P(e){return e.replace(/\\/g,`/`)}function F(e){let t=P(e).split(`/`).filter(Boolean);return t.length>1?t.slice(1).join(`/`):t[0]??e}function I(e){return e?.createdAt||e?.startedAt||``}function Pe(e){return p(`h-10 bg-background text-[13px] font-medium text-foreground/90`,e===`select`?`px-2 text-center`:`px-3`,(e===`passRate`||e===`lastRun`)&&`text-right`)}function Fe(e){return p(`py-2 align-top`,e===`select`&&`px-2`,e===`name`&&`max-w-0 px-3`,(e===`target`||e===`targetName`)&&`max-w-0 px-3`,e===`platform`&&`px-3`,e===`passRate`&&`px-3 text-right`,e===`lastRun`&&`max-w-0 px-3 text-right`)}function Ie({isActive:e,isBatchSelected:t}){return p(`cursor-pointer outline-none hover:bg-muted/20 focus-visible:bg-primary/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary/60`,t&&!e&&`bg-muted/20`,e&&`bg-primary/10 ring-1 ring-inset ring-primary/60`)}var Le=[{accessorKey:`name`,header:({column:e})=>(0,M.jsxs)(S,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Test Name`,(0,M.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,M.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,M.jsx)(`span`,{className:`block whitespace-normal break-words text-sm font-medium leading-snug text-foreground`,children:e.getValue(`name`)}),(0,M.jsx)(`span`,{className:`block whitespace-normal break-all text-xs leading-snug text-muted-foreground`,children:F(e.original.path)})]}),filterFn:(e,t,n)=>{let r=e.getValue(`name`).toLowerCase(),i=e.original.path.toLowerCase(),a=n.toLowerCase();return r.includes(a)||i.includes(a)}},{accessorKey:`targetName`,header:({column:e})=>(0,M.jsxs)(S,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Target`,(0,M.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,M.jsx)(`span`,{className:`block whitespace-normal break-words text-sm leading-snug text-muted-foreground`,children:e.original.targetName??`No target`})},{accessorKey:`platform`,header:({column:e})=>(0,M.jsxs)(S,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Platform`,(0,M.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,M.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:N(e.getValue(`platform`))})},{accessorKey:`passRate`,header:({column:e})=>(0,M.jsxs)(S,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Pass rate`,(0,M.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>e.original.historyKnown?e.original.passRate===null?(0,M.jsxs)(`div`,{className:`space-y-0.5 text-right`,children:[(0,M.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`—`}),(0,M.jsx)(`div`,{className:`text-xs tabular-nums text-muted-foreground`,children:`0 completed`})]}):(0,M.jsxs)(`div`,{className:`space-y-0.5 text-right`,children:[(0,M.jsxs)(`div`,{className:`text-sm font-medium tabular-nums text-foreground`,children:[e.original.passRate,`%`]}),(0,M.jsxs)(`div`,{className:`text-xs tabular-nums text-muted-foreground`,children:[e.original.passCount,`/`,e.original.completedRunCount]})]}):null},{id:`lastRun`,accessorFn:e=>I(e.lastRun),header:({column:e})=>(0,M.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,M.jsxs)(S,{variant:`ghost`,className:`h-auto justify-end px-0 text-[13px] font-medium text-foreground/90 hover:bg-transparent`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Last run`,(0,M.jsx)(t,{className:`ml-2 h-4 w-4`})]})}),cell:({row:e})=>e.original.historyKnown?e.original.lastRun?(0,M.jsxs)(le,{to:_.runDetail(e.original.lastRun.id),className:`relative z-10 flex w-full flex-col items-end gap-1 rounded-sm text-right focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60`,onClick:e=>e.stopPropagation(),children:[e.original.lastRunStatus===null?(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,M.jsx)(T,{status:e.original.lastRunStatus}),(0,M.jsx)(`span`,{className:`whitespace-normal break-words text-xs leading-snug text-muted-foreground`,children:v(I(e.original.lastRun))})]}):(0,M.jsx)(`span`,{className:`block text-sm text-muted-foreground`,children:`No runs`}):null,sortingFn:(e,t)=>I(e.original.lastRun).localeCompare(I(t.original.lastRun))}];function Re(){me(`Tests`);let[e,t]=(0,D.useState)([]),[g,v]=(0,D.useState)(null),[y,le]=(0,D.useState)([]),[x,T]=(0,D.useState)(!0),[O,k]=(0,D.useState)(!1),[A,j]=(0,D.useState)(!1),[N,F]=(0,D.useState)(!0),I=ae(),{hasFarm:Re,isLoading:ze}=l();(0,D.useEffect)(()=>{let e=!1,n=se().then(e=>Array.isArray(e?.tests)?e.tests:null).catch(()=>null);return Promise.all([d(),n]).then(([n,r])=>{e||(t(n.files),le(n.targets??[]),v(r===null?null:new Map(r.map(e=>[P(e.path),e]))),r===null&&b.error(`Failed to load run history`))}).catch(()=>{e||b.error(`Failed to load test files`)}).finally(()=>{e||T(!1)}),()=>{e=!0}},[]);let{search:L,status:R,platform:z,target:B,page:Be,sorting:Ve,pagination:V,onSortingChange:He,onPaginationChange:Ue,setSearch:We,setStatus:Ge,setPlatform:Ke,setTarget:qe,setPage:Je}=Ne(),[H,U]=(0,D.useState)(-1),Ye=(0,D.useRef)([]),W=(0,D.useMemo)(()=>e.map(e=>{let t=g?.get(P(e.path)),n=t?.lastRun??null;return{path:e.path,name:e.name,testId:e.testId,targetName:e.targetName,platform:e.platform,historyKnown:t!==void 0,lastRunStatus:n?re(n.status,n.memberOutcome):null,lastRun:n,passRate:t&&t.passRate!==null?Math.round(t.passRate*100):null,passCount:t?.passed??0,completedRunCount:t?.decided??0}}),[e,g]),G=(0,D.useMemo)(()=>{let e=W;if(L){let t=L.toLowerCase();e=e.filter(e=>{let n=e.targetName?.toLowerCase()??``;return e.name.toLowerCase().includes(t)||e.path.toLowerCase().includes(t)||n.includes(t)})}if(R===`no-runs`)e=e.filter(e=>e.historyKnown&&e.lastRun===null);else if(R){let t=h(R);e=e.filter(e=>e.historyKnown&&t!==void 0&&h(e.lastRunStatus??``)===t)}return z&&(e=e.filter(e=>e.platform===z)),B&&(e=e.filter(e=>e.targetName===B)),e},[W,L,R,z,B]),K=Ae({items:W,getId:e=>e.path,visibleIds:G.map(e=>e.path)}),Xe=(0,D.useMemo)(()=>Array.from(new Set([B,...y,...W.map(e=>e.targetName??``)].filter(e=>!!e))),[W,B,y]),Ze={id:`select`,header:({table:e})=>(0,M.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,M.jsx)(E,{checked:K.getVisibleSelectionState(e.getRowModel().rows.map(e=>e.original.path)),onCheckedChange:t=>K.setItemsSelected(e.getRowModel().rows.map(e=>e.original),t),ariaLabel:`Select all`})}),cell:({row:e})=>(0,M.jsx)(E,{checked:K.isSelected(e.original.path),onCheckedChange:t=>K.setItemSelected(e.original,t)}),enableSorting:!1,size:48},q=K.selectedIds,J=K.selectedItems,Qe=(0,D.useCallback)(()=>{K.clearSelection(),j(!1),F(!0)},[K]),Y=(0,D.useCallback)(async e=>{if(q.length!==0){k(!0);try{let t=await Promise.allSettled(q.map(t=>fe({file:t,local:e,noCache:!N}))),n=t.filter(e=>e.status===`fulfilled`).length,r=t.length-n;if(r>0){let e=de(t);b.error(`${n} runs queued, ${r} failed${e===void 0?``:`. ${e}`}`)}else b.success(`${n} runs queued`);j(!1)}finally{k(!1)}}},[q,N]),$e=(0,D.useCallback)(async()=>{if(q.length!==0){k(!0);try{let e=await Promise.allSettled(q.map(e=>pe({file:e}))),t=e.filter(e=>e.status===`fulfilled`).length,n=e.filter(e=>e.status===`fulfilled`).reduce((e,t)=>e+t.value.purged,0),r=e.length-t;r>0?b.error(`Purged ${n} plans from ${t} tests, ${r} failed`):b.success(`Purged ${n} cached plan${n===1?``:`s`}`)}finally{k(!1)}}},[q]),et=(0,D.useCallback)(async()=>{if(J.length!==0){k(!0);try{let e=await Promise.allSettled(J.map(e=>e.testId?ce(e.testId):Promise.reject(Error(`Missing test id for ${e.path}`)))),n=J.filter((t,n)=>e[n]?.status===`fulfilled`),r=new Set(n.map(e=>e.path)),i=e.length-n.length;n.length>0&&(K.setItemsSelected(n,!1),t(e=>e.filter(e=>!r.has(e.path))),j(!1)),i>0?b.error(`Deleted ${n.length} test${n.length===1?``:`s`}, ${i} failed`):b.success(`Deleted ${n.length} test${n.length===1?``:`s`}`)}finally{k(!1)}}},[J,K]),X=Ee({data:G,columns:[Ze,...Le],getCoreRowModel:we(),getSortedRowModel:De(),getPaginationRowModel:Te(),onSortingChange:He,onPaginationChange:Ue,getRowId:e=>e.path,state:{sorting:Ve,pagination:V}}),Z=X.getRowModel().rows,Q=K.hiddenCount,tt=L;(0,D.useEffect)(()=>{if(x)return;let e=Math.max(1,Math.ceil(G.length/V.pageSize));Be>e&&Je(e)},[G.length,x,Be,V.pageSize,Je]);let nt=(0,D.useCallback)(e=>{We(e),U(-1)},[We]);Ce((0,D.useMemo)(()=>{let e=()=>U(e=>Math.min(e+1,Z.length-1)),t=()=>U(e=>Math.max(e-1,0));return{j:e,arrowdown:e,k:t,arrowup:t,enter:e=>{if(H>=0&&Z[H]){let t=Z[H].original,n=_.testView(t.testId??t.path);e.metaKey||e.ctrlKey?window.open(n,`_blank`):I(n)}}}},[Z,H,I])),(0,D.useEffect)(()=>{if(H<0)return;let e=Ye.current[H];e&&document.activeElement!==e&&e.focus()},[H,Z.length]);let rt=(0,D.useCallback)((e,t)=>{t&&t.preventDefault(),I(_.testView(e.testId??e.path))},[I]);if(x)return(0,M.jsx)(oe,{});if(e.length===0)return(0,M.jsx)(`div`,{"data-tour-id":`tour-tests-table`,children:(0,M.jsx)(Se,{icon:ie,title:`No tests found`,description:`Create your first test file to get started`,actionLabel:`Create Test`,onAction:()=>I(_.testNew)})});let $=G.length,it=V.pageIndex,at=V.pageSize,ot=it*at+1,st=Math.min(ot+at-1,$);return(0,M.jsx)(ue,{children:(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Tests`}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(ee,{children:[(0,M.jsx)(f,{asChild:!0,children:(0,M.jsx)(S,{variant:`ghost`,size:`icon-sm`,"aria-label":`Keyboard shortcuts`,children:(0,M.jsx)(c,{className:`h-4 w-4`})})}),(0,M.jsx)(te,{side:`bottom`,className:`p-3`,children:(0,M.jsx)(s,{hints:[{key:`J / ↓`,label:`Next row`},{key:`K / ↑`,label:`Previous row`},{key:`Enter`,label:`Open test`},{key:`⌘+Enter`,label:`Open in new tab`}]})})]}),(0,M.jsxs)(S,{size:`sm`,"data-tour-id":`tour-tests-new`,onClick:()=>I(_.testNew),children:[(0,M.jsx)(u,{className:`size-4`}),`New Test`]})]})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,M.jsx)(ne,{placeholder:`Search tests...`,value:tt,onChange:e=>nt(e.target.value),className:`max-w-[220px]`}),(0,M.jsxs)(o,{value:R||`all`,onValueChange:e=>{Ge(e===`all`?``:e),U(-1)},children:[(0,M.jsx)(r,{className:`w-[150px]`,children:(0,M.jsx)(n,{placeholder:`All statuses`})}),(0,M.jsxs)(i,{children:[(0,M.jsx)(a,{value:`all`,children:`All statuses`}),(0,M.jsx)(a,{value:`passed`,children:`Passed`}),(0,M.jsx)(a,{value:`failed`,children:`Failed`}),(0,M.jsx)(a,{value:`running`,children:`Running`}),(0,M.jsx)(a,{value:`no-runs`,children:`No runs`})]})]}),(0,M.jsxs)(o,{value:z||`all`,onValueChange:e=>{Ke(e===`all`?``:e),U(-1)},children:[(0,M.jsx)(r,{className:`w-[140px]`,children:(0,M.jsx)(n,{placeholder:`All platforms`})}),(0,M.jsxs)(i,{children:[(0,M.jsx)(a,{value:`all`,children:`All platforms`}),(0,M.jsx)(a,{value:`web`,children:`Web`}),(0,M.jsx)(a,{value:`android`,children:`Android`}),(0,M.jsx)(a,{value:`ios`,children:`iOS`})]})]}),(0,M.jsxs)(o,{value:B||`all`,onValueChange:e=>{qe(e===`all`?``:e),U(-1)},children:[(0,M.jsx)(r,{className:`w-[180px]`,children:(0,M.jsx)(n,{placeholder:`All targets`})}),(0,M.jsxs)(i,{children:[(0,M.jsx)(a,{value:`all`,children:`All targets`}),Xe.map(e=>(0,M.jsx)(a,{value:e,children:e},e))]})]})]}),(0,M.jsxs)(xe,{"data-tour-id":`tour-tests-table`,className:`rounded-md border`,children:[(0,M.jsxs)(ye,{className:`min-w-full table-fixed`,children:[(0,M.jsx)(`colgroup`,{children:Me.map(e=>{let t=je(e);return(0,M.jsx)(`col`,{"data-column-id":e,style:t?{width:t}:void 0},e)})}),(0,M.jsx)(he,{children:X.getHeaderGroups().map(e=>(0,M.jsx)(C,{className:`hover:bg-transparent`,children:e.headers.map(e=>(0,M.jsx)(ge,{className:Pe(e.column.id),children:e.isPlaceholder?null:w(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,M.jsx)(_e,{children:Z.length?Z.map((e,t)=>{let n=t===H,r=K.isSelected(e.original.path);return(0,M.jsx)(C,{ref:e=>{Ye.current[t]=e},"data-runs-row-surface":e.id,tabIndex:n?0:-1,"aria-selected":n,className:Ie({isActive:n,isBatchSelected:r}),onClick:()=>rt(e.original),onFocus:()=>U(t),onKeyDown:t=>{t.key===`Enter`&&rt(e.original,t)},children:e.getVisibleCells().map(e=>{let t=e.column.id===`select`;return(0,M.jsx)(ve,{className:p(Fe(e.column.id),t&&`relative z-10`),children:w(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)}):(0,M.jsx)(C,{children:(0,M.jsx)(ve,{colSpan:Le.length+1,className:`h-24 text-center`,children:`No tests match the current search or filters.`})})})]}),(0,M.jsx)(be,{orientation:`horizontal`})]}),(0,M.jsxs)(`div`,{className:`flex items-center justify-between px-2`,children:[(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:$>0?`Showing ${ot}-${st} of ${$}${tt||R||z||B?` (${W.length} total)`:``}`:`No tests found`}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(S,{variant:`outline`,size:`sm`,onClick:()=>X.previousPage(),disabled:!X.getCanPreviousPage(),children:`Previous`}),(0,M.jsx)(S,{variant:`outline`,size:`sm`,onClick:()=>X.nextPage(),disabled:!X.getCanNextPage(),children:`Next`})]})]}),(0,M.jsx)(Oe,{selectedCount:K.selectedCount,summaryMeta:Q>0?`${Q} hidden by filters`:void 0,secondaryIcon:(0,M.jsx)(m,{className:`size-4`}),secondaryAriaLabel:`Clear queue`,onDelete:et,actionSlot:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(ke,{selectedCount:K.selectedCount,hiddenCount:Q,useCache:N,browserStackAvailable:!ze&&Re,open:A,onOpenChange:j,onUseCacheChange:F,onRunLocal:()=>Y(!0),onRunBrowserStack:()=>Y(!1),disabled:O}),(0,M.jsx)(S,{variant:`outline`,size:`sm`,onClick:$e,disabled:O,children:`Purge cache`})]}),onCancel:Qe,isRunning:O})]})})}export{Re as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./checkbox-B5x0V2a2.js";import{Xt as t}from"./index-CXuVkD6-.js";var n=t();function r({checked:t,onCheckedChange:r,ariaLabel:i}){function a(e){e.stopPropagation(),!(e.target instanceof Element&&e.target.closest(`[data-slot="checkbox"]`))&&r(t!==!0)}function o(e){e.stopPropagation()}return(0,n.jsx)(`div`,{"data-selection-checkbox-hit-area":!0,className:`relative z-10 flex min-h-8 min-w-8 items-center justify-center -my-1 -mx-2 px-2 py-1`,onPointerDown:e=>e.stopPropagation(),onFocus:o,onClick:a,children:(0,n.jsx)(e,{checked:t,onCheckedChange:e=>r(e===!0),onClick:e=>e.stopPropagation(),"aria-label":i??`Select row`})})}var i=[`select`,`name`,`target`,`platform`,`passRate`,`lastRun`],a={select:`2.75rem`,target:`10rem`,platform:`6.25rem`,passRate:`7.25rem`,lastRun:`9rem`};function o(e){return a[e]}export{o as n,r,i as t};
@@ -0,0 +1 @@
1
+ import"./chunk-CilyBKbf.js";import{B as e,Kt as t,Sc as n,Xt as r}from"./index-CXuVkD6-.js";var i=t(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),a=t(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);n();var o=r();function s({className:t,...n}){return(0,o.jsx)(`textarea`,{"data-slot":`textarea`,className:e(`flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40`,t),...n})}export{a as n,i as r,s as t};
@@ -1 +1 @@
1
- import{Xt as e}from"./index-CWwAjH9Q.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
1
+ import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
@@ -1,4 +1,4 @@
1
- import{a as e,c as t,i as n,o as r,s as i,u as a}from"./editor.api2-CX0IWJmc.js";import{t as o}from"./workers-Br5uqX4Z.js";import{n as s}from"./monaco.contribution-B-XUbmv5.js";var c=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=o({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-METxwbDZ.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(t.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},l={};l[`lib.d.ts`]=!0,l[`lib.decorators.d.ts`]=!0,l[`lib.decorators.legacy.d.ts`]=!0,l[`lib.dom.asynciterable.d.ts`]=!0,l[`lib.dom.d.ts`]=!0,l[`lib.dom.iterable.d.ts`]=!0,l[`lib.es2015.collection.d.ts`]=!0,l[`lib.es2015.core.d.ts`]=!0,l[`lib.es2015.d.ts`]=!0,l[`lib.es2015.generator.d.ts`]=!0,l[`lib.es2015.iterable.d.ts`]=!0,l[`lib.es2015.promise.d.ts`]=!0,l[`lib.es2015.proxy.d.ts`]=!0,l[`lib.es2015.reflect.d.ts`]=!0,l[`lib.es2015.symbol.d.ts`]=!0,l[`lib.es2015.symbol.wellknown.d.ts`]=!0,l[`lib.es2016.array.include.d.ts`]=!0,l[`lib.es2016.d.ts`]=!0,l[`lib.es2016.full.d.ts`]=!0,l[`lib.es2016.intl.d.ts`]=!0,l[`lib.es2017.arraybuffer.d.ts`]=!0,l[`lib.es2017.d.ts`]=!0,l[`lib.es2017.date.d.ts`]=!0,l[`lib.es2017.full.d.ts`]=!0,l[`lib.es2017.intl.d.ts`]=!0,l[`lib.es2017.object.d.ts`]=!0,l[`lib.es2017.sharedmemory.d.ts`]=!0,l[`lib.es2017.string.d.ts`]=!0,l[`lib.es2017.typedarrays.d.ts`]=!0,l[`lib.es2018.asyncgenerator.d.ts`]=!0,l[`lib.es2018.asynciterable.d.ts`]=!0,l[`lib.es2018.d.ts`]=!0,l[`lib.es2018.full.d.ts`]=!0,l[`lib.es2018.intl.d.ts`]=!0,l[`lib.es2018.promise.d.ts`]=!0,l[`lib.es2018.regexp.d.ts`]=!0,l[`lib.es2019.array.d.ts`]=!0,l[`lib.es2019.d.ts`]=!0,l[`lib.es2019.full.d.ts`]=!0,l[`lib.es2019.intl.d.ts`]=!0,l[`lib.es2019.object.d.ts`]=!0,l[`lib.es2019.string.d.ts`]=!0,l[`lib.es2019.symbol.d.ts`]=!0,l[`lib.es2020.bigint.d.ts`]=!0,l[`lib.es2020.d.ts`]=!0,l[`lib.es2020.date.d.ts`]=!0,l[`lib.es2020.full.d.ts`]=!0,l[`lib.es2020.intl.d.ts`]=!0,l[`lib.es2020.number.d.ts`]=!0,l[`lib.es2020.promise.d.ts`]=!0,l[`lib.es2020.sharedmemory.d.ts`]=!0,l[`lib.es2020.string.d.ts`]=!0,l[`lib.es2020.symbol.wellknown.d.ts`]=!0,l[`lib.es2021.d.ts`]=!0,l[`lib.es2021.full.d.ts`]=!0,l[`lib.es2021.intl.d.ts`]=!0,l[`lib.es2021.promise.d.ts`]=!0,l[`lib.es2021.string.d.ts`]=!0,l[`lib.es2021.weakref.d.ts`]=!0,l[`lib.es2022.array.d.ts`]=!0,l[`lib.es2022.d.ts`]=!0,l[`lib.es2022.error.d.ts`]=!0,l[`lib.es2022.full.d.ts`]=!0,l[`lib.es2022.intl.d.ts`]=!0,l[`lib.es2022.object.d.ts`]=!0,l[`lib.es2022.regexp.d.ts`]=!0,l[`lib.es2022.string.d.ts`]=!0,l[`lib.es2023.array.d.ts`]=!0,l[`lib.es2023.collection.d.ts`]=!0,l[`lib.es2023.d.ts`]=!0,l[`lib.es2023.full.d.ts`]=!0,l[`lib.es2023.intl.d.ts`]=!0,l[`lib.es2024.arraybuffer.d.ts`]=!0,l[`lib.es2024.collection.d.ts`]=!0,l[`lib.es2024.d.ts`]=!0,l[`lib.es2024.full.d.ts`]=!0,l[`lib.es2024.object.d.ts`]=!0,l[`lib.es2024.promise.d.ts`]=!0,l[`lib.es2024.regexp.d.ts`]=!0,l[`lib.es2024.sharedmemory.d.ts`]=!0,l[`lib.es2024.string.d.ts`]=!0,l[`lib.es5.d.ts`]=!0,l[`lib.es6.d.ts`]=!0,l[`lib.esnext.array.d.ts`]=!0,l[`lib.esnext.collection.d.ts`]=!0,l[`lib.esnext.d.ts`]=!0,l[`lib.esnext.decorators.d.ts`]=!0,l[`lib.esnext.disposable.d.ts`]=!0,l[`lib.esnext.error.d.ts`]=!0,l[`lib.esnext.float16.d.ts`]=!0,l[`lib.esnext.full.d.ts`]=!0,l[`lib.esnext.intl.d.ts`]=!0,l[`lib.esnext.iterator.d.ts`]=!0,l[`lib.esnext.promise.d.ts`]=!0,l[`lib.esnext.sharedmemory.d.ts`]=!0,l[`lib.scripthost.d.ts`]=!0,l[`lib.webworker.asynciterable.d.ts`]=!0,l[`lib.webworker.d.ts`]=!0,l[`lib.webworker.importscripts.d.ts`]=!0,l[`lib.webworker.iterable.d.ts`]=!0;function u(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=u(i,t,n);return r}function d(e){return e?e.map(e=>e.text).join(``):``}var f=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},p=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!l[e.path.slice(1)]:!1}getOrCreateModel(e){let n=i.parse(e),r=t.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return t.createModel(this._libFiles[n.path.slice(1)],`typescript`,n);let a=s.getExtraLibs()[e];return a?t.createModel(a.content,`typescript`,n):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},m=class extends f{constructor(e,n,r,i){super(i),this._libFiles=e,this._defaults=n,this._selector=r,this._disposables=[],this._listener=Object.create(null);let a=e=>{if(e.getLanguageId()!==r)return;let n=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},i,a=e.onDidChangeContent(()=>{clearTimeout(i),i=window.setTimeout(n,500)}),o=e.onDidChangeAttached(()=>{let{onlyVisible:r}=this._defaults.getDiagnosticsOptions();r&&(e.isAttachedToEditor()?n():t.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){a.dispose(),o.dispose(),clearTimeout(i)}},n()},o=e=>{t.setModelMarkers(e,this._selector,[]);let n=e.uri.toString();this._listener[n]&&(this._listener[n].dispose(),delete this._listener[n])};this._disposables.push(t.onDidCreateModel(e=>a(e))),this._disposables.push(t.onWillDisposeModel(o)),this._disposables.push(t.onDidChangeModelLanguage(e=>{o(e.model),a(e.model)})),this._disposables.push({dispose(){for(let e of t.getModels())o(e)}});let s=()=>{for(let e of t.getModels())o(e),a(e)};this._disposables.push(this._defaults.onDidChange(s)),this._disposables.push(this._defaults.onDidExtraLibsChange(s)),t.getModels().forEach(e=>a(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let n=await this._worker(e.uri);if(e.isDisposed())return;let r=[],{noSyntaxValidation:a,noSemanticValidation:o,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();a||r.push(n.getSyntacticDiagnostics(e.uri.toString())),o||r.push(n.getSemanticDiagnostics(e.uri.toString())),s||r.push(n.getSuggestionDiagnostics(e.uri.toString()));let c=await Promise.all(r);if(!c||e.isDisposed())return;let l=c.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),u=l.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?i.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&t.setModelMarkers(e,this._selector,l.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(t,n){let r=n.start||0,i=n.length||1,{lineNumber:a,column:o}=t.getPositionAt(r),{lineNumber:s,column:c}=t.getPositionAt(r+i),l=[];return n.reportsUnnecessary&&l.push(e.Unnecessary),n.reportsDeprecated&&l.push(e.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(n.category),startLineNumber:a,startColumn:o,endLineNumber:s,endColumn:c,message:u(n.messageText,`
1
+ import{a as e,c as t,i as n,o as r,s as i,u as a}from"./editor.api2-DXR_ThFM.js";import{t as o}from"./workers-By3SZV-o.js";import{n as s}from"./monaco.contribution-C7Dknl5j.js";var c=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=o({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-METxwbDZ.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(t.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},l={};l[`lib.d.ts`]=!0,l[`lib.decorators.d.ts`]=!0,l[`lib.decorators.legacy.d.ts`]=!0,l[`lib.dom.asynciterable.d.ts`]=!0,l[`lib.dom.d.ts`]=!0,l[`lib.dom.iterable.d.ts`]=!0,l[`lib.es2015.collection.d.ts`]=!0,l[`lib.es2015.core.d.ts`]=!0,l[`lib.es2015.d.ts`]=!0,l[`lib.es2015.generator.d.ts`]=!0,l[`lib.es2015.iterable.d.ts`]=!0,l[`lib.es2015.promise.d.ts`]=!0,l[`lib.es2015.proxy.d.ts`]=!0,l[`lib.es2015.reflect.d.ts`]=!0,l[`lib.es2015.symbol.d.ts`]=!0,l[`lib.es2015.symbol.wellknown.d.ts`]=!0,l[`lib.es2016.array.include.d.ts`]=!0,l[`lib.es2016.d.ts`]=!0,l[`lib.es2016.full.d.ts`]=!0,l[`lib.es2016.intl.d.ts`]=!0,l[`lib.es2017.arraybuffer.d.ts`]=!0,l[`lib.es2017.d.ts`]=!0,l[`lib.es2017.date.d.ts`]=!0,l[`lib.es2017.full.d.ts`]=!0,l[`lib.es2017.intl.d.ts`]=!0,l[`lib.es2017.object.d.ts`]=!0,l[`lib.es2017.sharedmemory.d.ts`]=!0,l[`lib.es2017.string.d.ts`]=!0,l[`lib.es2017.typedarrays.d.ts`]=!0,l[`lib.es2018.asyncgenerator.d.ts`]=!0,l[`lib.es2018.asynciterable.d.ts`]=!0,l[`lib.es2018.d.ts`]=!0,l[`lib.es2018.full.d.ts`]=!0,l[`lib.es2018.intl.d.ts`]=!0,l[`lib.es2018.promise.d.ts`]=!0,l[`lib.es2018.regexp.d.ts`]=!0,l[`lib.es2019.array.d.ts`]=!0,l[`lib.es2019.d.ts`]=!0,l[`lib.es2019.full.d.ts`]=!0,l[`lib.es2019.intl.d.ts`]=!0,l[`lib.es2019.object.d.ts`]=!0,l[`lib.es2019.string.d.ts`]=!0,l[`lib.es2019.symbol.d.ts`]=!0,l[`lib.es2020.bigint.d.ts`]=!0,l[`lib.es2020.d.ts`]=!0,l[`lib.es2020.date.d.ts`]=!0,l[`lib.es2020.full.d.ts`]=!0,l[`lib.es2020.intl.d.ts`]=!0,l[`lib.es2020.number.d.ts`]=!0,l[`lib.es2020.promise.d.ts`]=!0,l[`lib.es2020.sharedmemory.d.ts`]=!0,l[`lib.es2020.string.d.ts`]=!0,l[`lib.es2020.symbol.wellknown.d.ts`]=!0,l[`lib.es2021.d.ts`]=!0,l[`lib.es2021.full.d.ts`]=!0,l[`lib.es2021.intl.d.ts`]=!0,l[`lib.es2021.promise.d.ts`]=!0,l[`lib.es2021.string.d.ts`]=!0,l[`lib.es2021.weakref.d.ts`]=!0,l[`lib.es2022.array.d.ts`]=!0,l[`lib.es2022.d.ts`]=!0,l[`lib.es2022.error.d.ts`]=!0,l[`lib.es2022.full.d.ts`]=!0,l[`lib.es2022.intl.d.ts`]=!0,l[`lib.es2022.object.d.ts`]=!0,l[`lib.es2022.regexp.d.ts`]=!0,l[`lib.es2022.string.d.ts`]=!0,l[`lib.es2023.array.d.ts`]=!0,l[`lib.es2023.collection.d.ts`]=!0,l[`lib.es2023.d.ts`]=!0,l[`lib.es2023.full.d.ts`]=!0,l[`lib.es2023.intl.d.ts`]=!0,l[`lib.es2024.arraybuffer.d.ts`]=!0,l[`lib.es2024.collection.d.ts`]=!0,l[`lib.es2024.d.ts`]=!0,l[`lib.es2024.full.d.ts`]=!0,l[`lib.es2024.object.d.ts`]=!0,l[`lib.es2024.promise.d.ts`]=!0,l[`lib.es2024.regexp.d.ts`]=!0,l[`lib.es2024.sharedmemory.d.ts`]=!0,l[`lib.es2024.string.d.ts`]=!0,l[`lib.es5.d.ts`]=!0,l[`lib.es6.d.ts`]=!0,l[`lib.esnext.array.d.ts`]=!0,l[`lib.esnext.collection.d.ts`]=!0,l[`lib.esnext.d.ts`]=!0,l[`lib.esnext.decorators.d.ts`]=!0,l[`lib.esnext.disposable.d.ts`]=!0,l[`lib.esnext.error.d.ts`]=!0,l[`lib.esnext.float16.d.ts`]=!0,l[`lib.esnext.full.d.ts`]=!0,l[`lib.esnext.intl.d.ts`]=!0,l[`lib.esnext.iterator.d.ts`]=!0,l[`lib.esnext.promise.d.ts`]=!0,l[`lib.esnext.sharedmemory.d.ts`]=!0,l[`lib.scripthost.d.ts`]=!0,l[`lib.webworker.asynciterable.d.ts`]=!0,l[`lib.webworker.d.ts`]=!0,l[`lib.webworker.importscripts.d.ts`]=!0,l[`lib.webworker.iterable.d.ts`]=!0;function u(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=u(i,t,n);return r}function d(e){return e?e.map(e=>e.text).join(``):``}var f=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},p=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!l[e.path.slice(1)]:!1}getOrCreateModel(e){let n=i.parse(e),r=t.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return t.createModel(this._libFiles[n.path.slice(1)],`typescript`,n);let a=s.getExtraLibs()[e];return a?t.createModel(a.content,`typescript`,n):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},m=class extends f{constructor(e,n,r,i){super(i),this._libFiles=e,this._defaults=n,this._selector=r,this._disposables=[],this._listener=Object.create(null);let a=e=>{if(e.getLanguageId()!==r)return;let n=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},i,a=e.onDidChangeContent(()=>{clearTimeout(i),i=window.setTimeout(n,500)}),o=e.onDidChangeAttached(()=>{let{onlyVisible:r}=this._defaults.getDiagnosticsOptions();r&&(e.isAttachedToEditor()?n():t.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){a.dispose(),o.dispose(),clearTimeout(i)}},n()},o=e=>{t.setModelMarkers(e,this._selector,[]);let n=e.uri.toString();this._listener[n]&&(this._listener[n].dispose(),delete this._listener[n])};this._disposables.push(t.onDidCreateModel(e=>a(e))),this._disposables.push(t.onWillDisposeModel(o)),this._disposables.push(t.onDidChangeModelLanguage(e=>{o(e.model),a(e.model)})),this._disposables.push({dispose(){for(let e of t.getModels())o(e)}});let s=()=>{for(let e of t.getModels())o(e),a(e)};this._disposables.push(this._defaults.onDidChange(s)),this._disposables.push(this._defaults.onDidExtraLibsChange(s)),t.getModels().forEach(e=>a(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let n=await this._worker(e.uri);if(e.isDisposed())return;let r=[],{noSyntaxValidation:a,noSemanticValidation:o,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();a||r.push(n.getSyntacticDiagnostics(e.uri.toString())),o||r.push(n.getSemanticDiagnostics(e.uri.toString())),s||r.push(n.getSuggestionDiagnostics(e.uri.toString()));let c=await Promise.all(r);if(!c||e.isDisposed())return;let l=c.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),u=l.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?i.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&t.setModelMarkers(e,this._selector,l.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(t,n){let r=n.start||0,i=n.length||1,{lineNumber:a,column:o}=t.getPositionAt(r),{lineNumber:s,column:c}=t.getPositionAt(r+i),l=[];return n.reportsUnnecessary&&l.push(e.Unnecessary),n.reportsDeprecated&&l.push(e.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(n.category),startLineNumber:a,startColumn:o,endLineNumber:s,endColumn:c,message:u(n.messageText,`
2
2
  `),code:n.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(t,n.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:u(t.messageText,`
3
3
  `)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return n.Error;case 3:return n.Info;case 0:return n.Warning;case 2:return n.Hint}return n.Info}},h=class e extends f{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,i,o){let s=t.getWordUntilPosition(n),c=new r(n.lineNumber,s.startColumn,n.lineNumber,s.endColumn),l=t.uri,u=t.getOffsetAt(n),d=await this._worker(l);if(t.isDisposed())return;let f=await d.getCompletionsAtPosition(l.toString(),u);if(!(!f||t.isDisposed()))return{suggestions:f.entries.map(i=>{let o=c;if(i.replacementSpan){let e=t.getPositionAt(i.replacementSpan.start),n=t.getPositionAt(i.replacementSpan.start+i.replacementSpan.length);o=new r(e.lineNumber,e.column,n.lineNumber,n.column)}let s=[];return i.kindModifiers!==void 0&&i.kindModifiers.indexOf(`deprecated`)!==-1&&s.push(a.CompletionItemTag.Deprecated),{uri:l,position:n,offset:u,range:o,label:i.name,insertText:i.name,sortText:i.sortText,kind:e.convertKind(i.kind),tags:s}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:d(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case C.primitiveType:case C.keyword:return a.CompletionItemKind.Keyword;case C.variable:case C.localVariable:return a.CompletionItemKind.Variable;case C.memberVariable:case C.memberGetAccessor:case C.memberSetAccessor:return a.CompletionItemKind.Field;case C.function:case C.memberFunction:case C.constructSignature:case C.callSignature:case C.indexSignature:return a.CompletionItemKind.Function;case C.enum:return a.CompletionItemKind.Enum;case C.module:return a.CompletionItemKind.Module;case C.class:return a.CompletionItemKind.Class;case C.interface:return a.CompletionItemKind.Interface;case C.warning:return a.CompletionItemKind.File}return a.CompletionItemKind.Property}static createDocumentationString(e){let t=d(e.documentation);if(e.tags)for(let n of e.tags)t+=`
4
4
 
@@ -1 +1 @@
1
- import{u as e}from"./editor.api2-CX0IWJmc.js";var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:e.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:e.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:e.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},n={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{t as conf,n as language};
1
+ import{u as e}from"./editor.api2-DXR_ThFM.js";var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:e.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:e.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:e.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},n={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{t as conf,n as language};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./circle-dashed-WDoZ8ADk.js";import{t as n}from"./wrench-y-wKZ-0A.js";import{A as r,B as i,D as a,Hs as o,Ht as s,Kt as c,O as l,Ps as u,Sc as d,Xt as f}from"./index-CXuVkD6-.js";var p=c(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),m=c(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),h=c(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),g=c(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),_=c(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),v=c(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),y=c(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),b=c(`text-cursor-input`,[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`,key:`1528k5`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`,key:`13ksps`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`,key:`1n9rhb`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`,key:`1mj8rg`}],[`path`,{d:`M9 6v12`,key:`velyjx`}]]),x={click:{past:`Clicked`,infinitive:`click`},doubleClick:{past:`Double-clicked`,infinitive:`double-click`},rightClick:{past:`Right-clicked`,infinitive:`right-click`},hover:{past:`Hovered over`,infinitive:`hover over`},focus:{past:`Focused`,infinitive:`focus`},tap:{past:`Tapped`,infinitive:`tap`},doubleTap:{past:`Double-tapped`,infinitive:`double-tap`},multiTap:{past:`Tapped repeatedly`,infinitive:`tap repeatedly`},longpress:{past:`Long-pressed`,infinitive:`long-press`},tapCoordinate:{past:`Tapped a position`,infinitive:`tap a position`},fill:{past:`Filled`,infinitive:`fill`},paste:{past:`Pasted`,infinitive:`paste`},copy:{past:`Copied`,infinitive:`copy`},clearText:{past:`Cleared`,infinitive:`clear`},keypress:{past:`Pressed`,infinitive:`press`},keyevent:{past:`Sent a key event`,infinitive:`send a key event`},select:{past:`Selected`,infinitive:`select`},nativeSelect:{past:`Selected`,infinitive:`select`},pickerSelect:{past:`Selected`,infinitive:`select`},fileUpload:{past:`Uploaded files`,infinitive:`upload files`},scroll:{past:`Scrolled`,infinitive:`scroll`},swipe:{past:`Swiped`,infinitive:`swipe`},drag:{past:`Dragged`,infinitive:`drag`},pinch:{past:`Pinched`,infinitive:`pinch`},swipeFromEdge:{past:`Swiped from the edge`,infinitive:`swipe from the edge`},navigate:{past:`Navigated`,infinitive:`navigate`},tab:{past:`Changed tabs`,infinitive:`change tabs`},openUniversalLink:{past:`Opened a link`,infinitive:`open a link`},assertAI:{past:`Verified`,infinitive:`verify`},assertValue:{past:`Verified a value`,infinitive:`verify a value`},extractAI:{past:`Extracted information`,infinitive:`extract information`},inspect:{past:`Inspected`,infinitive:`inspect`},reportValue:{past:`Reported a value`,infinitive:`report a value`},setVariable:{past:`Set`,infinitive:`set`},uniqueValue:{past:`Generated a unique value`,infinitive:`generate a unique value`},waitFor:{past:`Waited for`,infinitive:`wait for`},waitForUrl:{past:`Waited for a URL`,infinitive:`wait for a URL`},delay:{past:`Waited`,infinitive:`wait`},pressBack:{past:`Pressed Back`,infinitive:`press Back`},pressHome:{past:`Pressed Home`,infinitive:`press Home`},pressRecent:{past:`Opened recent apps`,infinitive:`open recent apps`},pressButton:{past:`Pressed a device button`,infinitive:`press a device button`},hideKeyboard:{past:`Hid the keyboard`,infinitive:`hide the keyboard`},setOrientation:{past:`Changed orientation`,infinitive:`change orientation`},openApp:{past:`Opened an app`,infinitive:`open an app`},stopApp:{past:`Stopped an app`,infinitive:`stop an app`},openNotifications:{past:`Opened notifications`,infinitive:`open notifications`},openQuickSettings:{past:`Opened quick settings`,infinitive:`open quick settings`},intent:{past:`Sent an intent`,infinitive:`send an intent`},setCookies:{past:`Set cookies`,infinitive:`set cookies`},setLocalStorage:{past:`Set local storage`,infinitive:`set local storage`},storageState:{past:`Updated storage state`,infinitive:`update storage state`},route:{past:`Configured a network route`,infinitive:`configure a network route`},unroute:{past:`Removed a network route`,infinitive:`remove a network route`},networkState:{past:`Changed network conditions`,infinitive:`change network conditions`},handleDialog:{past:`Handled a dialog`,infinitive:`handle a dialog`},executeScript:{past:`Ran a script`,infinitive:`run a script`}},S={pointer:_,input:b,gesture:h,navigate:m,verify:s,extract:p,wait:g,device:v,environment:n,script:y},C=t,w={passed:`passed`,failed:`failed`,healed:`healed`,"no-input":`no input sent`},T=` — failed`,E={past:`Performed an action`,infinitive:`perform an action`},D={back:{past:`Went back`,infinitive:`go back`},forward:{past:`Went forward`,infinitive:`go forward`},reload:{past:`Reloaded the page`,infinitive:`reload the page`},url:{past:`Navigated to`,infinitive:`navigate to`}},O={console:`console`,network:`network`,cookies:`cookies`,localStorage:`local storage`};function k(e){if(!(`target`in e))return;let t=e.target;if(typeof t==`string`)return t||void 0;if(t&&typeof t==`object`&&`name`in t&&typeof t.name==`string`)return t.name||void 0}function A(e){return e.replace(/[\uE000-\uF8FF\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]/gu,``).trim()}function j(e){let t=e.plannedAction,n=Object.hasOwn(x,t.type),r=n?u(t.type):void 0,i=o(e.result),a=i?`no-input`:e.result.success?`succeeded`:`failed`,s=n?x[t.type]:E;t.type===`navigate`&&Object.hasOwn(D,t.to)&&(s=D[t.to]);let c=[{kind:`text`,text:a===`succeeded`?s.past:a===`no-input`?`Did not ${s.infinitive}`:`Tried to ${s.infinitive}`}],l=e=>{c.push({kind:`text`,text:e})},d=e=>{c.push({kind:`masked`,text:e})},f=e=>{l(` '`),d(e),l(`'`)};if(t.type===`navigate`)t.to===`url`&&f(t.url);else if(t.type===`inspect`)Object.hasOwn(O,t.what)&&l(` ${O[t.what]}`);else if(t.type===`keypress`)for(let[e,n]of(t.keys??[]).entries())l(e===0?` `:` + `),d(n);else if(t.type===`setVariable`)t.name&&f(t.name),t.value!==void 0&&(l(` to `),d(t.value));else{let n=A(e.grounding?.descriptor.name||k(t)||``),r=e.grounding?.descriptor.role,i=t.type===`fill`?t.text:t.type===`select`||t.type===`paste`?t.value:void 0;(t.type===`select`||t.type===`paste`)&&(i!==void 0&&(l(` `),d(i)),(n||r)&&l(t.type===`select`?` in`:` into`)),n?f(n):r&&(l(/^[aeiou]/i.test(r)?` an `:` a `),d(r)),t.type===`fill`&&i!==void 0&&(l(` with `),d(i))}return a===`failed`&&l(T),i&&(l(` — no input sent, already `),d(i.currentState)),{family:r,outcome:a,parts:c}}function M(e){return e.parts.map(e=>e.text).join(``)}var N=f(),P={env:`env (.env file)`,inline:`inline (test config)`,suite:`suite (suite config)`,cli:`cli (--var flag)`,capture:`capture (captured from screen)`,hook:`hook (hook output)`,step:`step (set by agent)`,runJS:`runJS (inline JavaScript)`,runHook:`runHook uses the stable hook ID from the configured hooks file`,secret:`secret (runtime only)`};function F(e){switch(e){case`env`:return`bg-blue-500/15 border border-blue-500/20`;case`capture`:return`bg-emerald-500/15 border border-emerald-500/20`;case`cli`:return`bg-purple-500/15 border border-purple-500/20`;case`inline`:return`bg-amber-500/15 border border-amber-500/20`;case`suite`:return`bg-cyan-500/15 border border-cyan-500/20`;case`hook`:return`bg-orange-500/15 border border-orange-500/20`;case`step`:return`bg-teal-500/15 border border-teal-500/20`;case`runJS`:return`bg-yellow-500/15 border border-yellow-500/20`;case`runHook`:return`bg-orange-600/15 border border-orange-600/20`;case`secret`:return`bg-rose-500/15 border border-rose-500/20`;default:return`bg-accent/20 border border-accent/20`}}function I(e){let t=/\[secret:(\w+)\]/g,n=[],r=0,i;for(;(i=t.exec(e))!==null;){let[t,a]=i;i.index>r&&n.push({type:`text`,value:e.slice(r,i.index)}),n.push({type:`pill`,resolvedValue:t,varName:a,namespace:`secret`,templateSyntax:`{{secret:${a}}}`}),r=i.index+t.length}return r<e.length&&n.push({type:`text`,value:e.slice(r)}),n.length>0?n:[{type:`text`,value:e}]}function L(e,t,n){let r=/\{\{(\w+):([^}]*(?:\{[^}]*\}[^}]*)*)\}\}/g,i=[],a;for(;(a=r.exec(e))!==null;)i.push({index:a.index,fullMatch:a[0],namespace:a[1],key:a[2]});if(i.length===0)return t.length>0?[{type:`text`,value:t}]:[];let o=[],s=0;for(let t of i)t.index>s&&o.push({kind:`literal`,text:e.slice(s,t.index)}),t.namespace===`env`?o.push({kind:`env`,varName:t.key,templateSyntax:t.fullMatch}):t.namespace===`secret`?o.push({kind:`secret`,varName:t.key,templateSyntax:t.fullMatch}):o.push({kind:`other`,templateSyntax:t.fullMatch}),s=t.index+t.fullMatch.length;s<e.length&&o.push({kind:`literal`,text:e.slice(s)});let c=[],l=0;for(let e=0;e<o.length;e++){let r=o[e];if(r.kind===`literal`){let e=t.indexOf(r.text,l);e>=0&&(e>l&&c.push({type:`text`,value:t.slice(l,e)}),r.text.length>0&&c.push({type:`text`,value:r.text}),l=e+r.text.length)}else if(r.kind===`env`){let e=n?.[r.varName]?.value??null,i=e??r.templateSyntax,a=t.indexOf(i,l);a>=0&&(a>l&&c.push({type:`text`,value:t.slice(l,a)}),e===null?c.push({type:`text`,value:r.templateSyntax}):c.push({type:`pill`,resolvedValue:i,varName:r.varName,namespace:`env`,templateSyntax:r.templateSyntax}),l=a+i.length)}else if(r.kind===`secret`){let e=`[secret:${r.varName}]`,n=t.indexOf(e,l),i=t.indexOf(r.templateSyntax,l),a=n>=0&&(i===-1||n<=i)?e:r.templateSyntax,o=t.indexOf(a,l);o>=0?(o>l&&c.push({type:`text`,value:t.slice(l,o)}),c.push({type:`pill`,resolvedValue:e,varName:r.varName,namespace:`secret`,templateSyntax:r.templateSyntax}),l=o+a.length):c.push({type:`pill`,resolvedValue:e,varName:r.varName,namespace:`secret`,templateSyntax:r.templateSyntax})}else if(r.kind===`other`){let i=t.length;for(let r=e+1;r<o.length;r++){let e=o[r];if(e.kind===`literal`){let n=t.indexOf(e.text,l);if(n>=0){i=n;break}}else if(e.kind===`env`){let r=n?.[e.varName]?.value;if(r){let e=t.indexOf(r,l);if(e>=0){i=e;break}}}else if(e.kind===`secret`){let n=`[secret:${e.varName}]`,r=t.indexOf(n,l),a=t.indexOf(e.templateSyntax,l),o=r>=0&&(a===-1||r<=a)?r:a;if(o>=0){i=o;break}}}let a=t.slice(l,i),s=r.templateSyntax.match(/^\{\{(\w+):(.+)\}\}$/),u=s?.[1]??`unknown`,d=s?.[2]??r.templateSyntax;c.push({type:`pill`,resolvedValue:a,varName:d,namespace:u,templateSyntax:r.templateSyntax}),l=i}}return l<t.length&&c.push({type:`text`,value:t.slice(l)}),c}function R({step:e}){return(0,N.jsx)(`span`,{className:`flex-1 min-w-0 text-sm break-all`,children:(e.originalStepName?L(e.originalStepName,e.name,e.variableSnapshot??null):I(e.name)).map((t,n)=>{if(t.type===`text`)return(0,N.jsx)(`span`,{children:t.value},n);let o=e.variableSnapshot?.[t.varName],s=o?P[o.source]??o.source:P[t.namespace]??t.namespace;return(0,N.jsxs)(a,{children:[(0,N.jsx)(r,{asChild:!0,children:(0,N.jsx)(`span`,{className:i(`rounded-sm px-1 py-px cursor-default`,F(o?.source??t.namespace)),"aria-label":`variable: ${t.varName}`,children:t.resolvedValue})}),(0,N.jsx)(l,{className:`max-w-xs`,children:(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsx)(`div`,{className:`text-xs font-medium`,children:t.varName}),(0,N.jsx)(`div`,{className:`text-[10px] font-mono text-muted-foreground`,children:t.templateSyntax}),(0,N.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:t.resolvedValue}),(0,N.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:s})]})})]},n)})})}var z=e(d(),1);function B(){let[e,t]=(0,z.useState)(`idle`),n=(0,z.useRef)(void 0);return(0,z.useEffect)(()=>()=>{clearTimeout(n.current)},[]),{status:e,copy:e=>{clearTimeout(n.current);let r=navigator.clipboard?.writeText(e);if(r===void 0){t(`failed`);return}r.then(()=>{t(`copied`),n.current=setTimeout(()=>t(`idle`),2e3)},()=>{t(`failed`)})}}}export{S as a,M as c,y as d,v as f,F as i,j as l,P as n,w as o,g as p,R as r,C as s,B as t,A as u};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{n as t,r as n}from"./monaco-editor-BQB4vEk_.js";import{n as r,r as i,t as a}from"./shortcut-hints-_J-i7rAL.js";import{t as o}from"./plus-DNc2RueT.js";import{t as s}from"./trash-2-87f7wzeR.js";import{n as c,r as l,t as u}from"./popover-DThBIgGA.js";import{i as d,n as f,r as p,t as m}from"./tabs-CsAJVEvt.js";import{A as h,B as g,D as _,Kt as v,O as y,Pt as b,R as x,Sc as S,U as C,Ut as w,Xt as T,Zt as E,_ as D,cr as O,f as k,g as A,h as j,hc as M,m as N,nr as P,v as F,z as I}from"./index-CXuVkD6-.js";import{t as L}from"./badge-B-yh3kbi.js";import{r as R}from"./hook-runtime-8xwsNog-.js";import{t as z}from"./scroll-area-WFIgUp-0.js";import{n as B,r as V,t as H}from"./resizable-om0nWp3k.js";var U=v(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),W=T();function G({label:e,value:t,mono:n=!1}){return(0,W.jsxs)(`div`,{className:`space-y-1`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),(0,W.jsx)(`div`,{className:n?`font-mono text-xs text-foreground break-all`:`text-sm text-foreground`,children:t})]})}function K({open:e,onOpenChange:t,hook:n,isDeleting:r,deleteError:i,blockedReferences:a,onDelete:o,onForceDelete:c}){let l=R(n.runtime),u=a.length>0;return(0,W.jsx)(k,{open:e,onOpenChange:t,children:(0,W.jsxs)(N,{className:`sm:max-w-xl`,children:[(0,W.jsxs)(D,{children:[(0,W.jsx)(F,{children:u?`Hook is still in use`:`Delete hook?`}),(0,W.jsx)(j,{children:u?`These references will break if you force delete this hook.`:`This removes the hook record from the dashboard. If the hook is still referenced, those references will be shown here before force delete is allowed.`})]}),(0,W.jsxs)(`div`,{className:`grid gap-4 rounded-sm border px-4 py-3 sm:grid-cols-2`,children:[(0,W.jsx)(G,{label:`Hook`,value:n.name}),(0,W.jsx)(G,{label:`Runtime`,value:l.label}),(0,W.jsx)(G,{label:`Hook ID`,value:n.id,mono:!0}),(0,W.jsx)(G,{label:`File`,value:n.file,mono:!0})]}),i?(0,W.jsx)(`div`,{className:`rounded-sm border border-destructive/30 bg-destructive/10 px-4 py-3 text-sm text-foreground`,children:i}):null,u?(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-start gap-3 rounded-sm border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm`,children:[(0,W.jsx)(b,{className:`mt-0.5 h-4 w-4 shrink-0 text-amber-600`}),(0,W.jsxs)(`div`,{className:`space-y-1`,children:[(0,W.jsx)(`div`,{className:`font-medium text-foreground`,children:`Force delete only if you will fix these references immediately.`}),(0,W.jsx)(`div`,{className:`text-muted-foreground`,children:`Remove or replace these hook usages first when possible.`})]})]}),(0,W.jsx)(`div`,{className:`max-h-64 space-y-2 overflow-y-auto pr-1`,children:a.map(e=>(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2`,children:[(0,W.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,W.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[e.kind,` · `,e.context]}),(0,W.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground break-all`,children:e.path})]},`${e.kind}-${e.path}-${e.context}`))})]}):null,(0,W.jsxs)(A,{children:[(0,W.jsx)(I,{variant:`outline`,onClick:()=>t(!1),children:u?`Close`:`Cancel`}),(0,W.jsxs)(I,{variant:`destructive`,onClick:u?c:o,disabled:r,children:[(0,W.jsx)(s,{className:`h-4 w-4`}),r?`Deleting...`:u?`Force Delete`:`Delete Hook`]})]})]})})}function q({hookName:e,isCreateMode:o,mode:d=`view`,hookHref:f,editHref:p,unsaved:m=!1,isSaving:g=!1,isRunning:v=!1,isDeleting:b=!1,onSave:x,onRun:S,runDisabled:C=!1,onDelete:T,shortcutsOpen:E=!1,onToggleShortcuts:D}){let O=d===`view`&&!o,k=!o&&!O&&d===`edit`,A=!o&&!!S,j=!o&&!!T;return(0,W.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center justify-between border-b px-4 min-w-0`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,W.jsx)(M,{to:`/hooks`,className:`shrink-0 text-sm text-muted-foreground transition-colors hover:text-foreground`,children:`Hooks`}),(0,W.jsx)(w,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),o?(0,W.jsx)(`span`,{className:`truncate text-sm font-medium`,children:`New Hook`}):f&&!O?(0,W.jsx)(M,{to:f,className:`truncate text-sm font-medium transition-colors hover:text-primary`,children:e}):(0,W.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e}),k&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(w,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,W.jsx)(`span`,{className:`truncate text-sm font-medium`,children:`Edit`})]}),m&&(0,W.jsx)(L,{variant:`outline`,className:`text-xs`,children:`Unsaved`})]}),(0,W.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:O?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(I,{variant:`outline`,size:`sm`,asChild:!0,children:(0,W.jsxs)(M,{to:p??f??`/hooks`,children:[(0,W.jsx)(U,{className:`h-3.5 w-3.5`}),`Edit`,(0,W.jsx)(a,{shortcut:`E`})]})}),A?(0,W.jsxs)(I,{size:`sm`,onClick:S,disabled:v||C,children:[(0,W.jsx)(n,{className:`h-3.5 w-3.5`}),v?`Running...`:`Run Hook`,(0,W.jsx)(a,{shortcut:`R`,className:`border-primary-foreground/20 bg-primary-foreground/10 text-primary-foreground`})]}):null,j?(0,W.jsxs)(I,{variant:`ghost`,size:`sm`,onClick:T,disabled:b,className:`text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:[(0,W.jsx)(s,{className:`h-3.5 w-3.5`}),b?`Deleting...`:`Delete`]}):null,!o&&D?(0,W.jsxs)(u,{open:E,onOpenChange:e=>{e||D()},children:[(0,W.jsxs)(_,{children:[(0,W.jsx)(h,{asChild:!0,children:(0,W.jsx)(l,{asChild:!0,children:(0,W.jsx)(I,{variant:`ghost`,size:`icon-sm`,onClick:D,"aria-label":`Shortcuts`,children:(0,W.jsx)(i,{className:`h-3.5 w-3.5`})})})}),(0,W.jsx)(y,{children:`Shortcuts`})]}),(0,W.jsx)(c,{align:`end`,sideOffset:8,className:`w-72 p-4`,children:(0,W.jsx)(`div`,{className:`space-y-3`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h4`,{className:`mb-2 text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Actions`}),(0,W.jsx)(r,{hints:[{key:`E`,label:`Edit`},{key:`R`,label:`Run Hook`},{key:`?`,label:`Toggle shortcuts`}]})]})})})]}):null]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(I,{variant:`ghost`,size:`sm`,onClick:x,disabled:g||!x,children:[(0,W.jsx)(t,{className:`h-3.5 w-3.5`}),g?`Saving...`:`Save`]}),A?(0,W.jsxs)(I,{size:`sm`,onClick:S,disabled:v||C,children:[(0,W.jsx)(n,{className:`h-3.5 w-3.5`}),v?`Running...`:`Run Hook`]}):null,j?(0,W.jsxs)(I,{variant:`ghost`,size:`sm`,onClick:T,disabled:b,className:`text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:[(0,W.jsx)(s,{className:`h-3.5 w-3.5`}),b?`Deleting...`:`Delete`]}):null]})})]})}var J=e(S(),1);function Y(e){if(!e)return`just now`;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function X({status:e}){return e===`passed`?(0,W.jsx)(L,{className:`border-emerald-500/20 bg-emerald-500/15 text-emerald-500`,children:`Passed`}):(0,W.jsx)(L,{variant:`destructive`,children:`Failed`})}function Z(){return(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center px-6`,children:(0,W.jsxs)(`div`,{className:`max-w-sm text-center`,children:[(0,W.jsx)(`div`,{className:`text-base font-semibold text-foreground`,children:`No run selected`}),(0,W.jsx)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`Run this hook or pick a recent local result to inspect.`})]})})}function Q({rows:e}){return e.length===0?(0,W.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`None`}):(0,W.jsx)(`div`,{className:`rounded-sm border`,children:(0,W.jsx)(`table`,{className:`w-full text-sm`,children:(0,W.jsx)(`tbody`,{children:e.map(([e,t])=>(0,W.jsxs)(`tr`,{className:`border-b last:border-b-0`,children:[(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-muted-foreground`,children:e}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground break-all`,children:t})]},e))})})})}function $({selectedRun:e}){let[t,n]=(0,J.useState)(`overview`),r=e?.result??null,i=r?.sandbox.networkLogs??[],a=r?.sandbox.networkLogsAvailable===!0&&i.length>0;if((0,J.useEffect)(()=>{n(`overview`)},[e?.id]),(0,J.useEffect)(()=>{!a&&t===`network`&&n(`overview`)},[t,a]),!e)return(0,W.jsx)(Z,{});let o=e.result,s=Object.entries(o.variables),c=Object.entries(e.overrideSnapshot);return(0,W.jsxs)(m,{value:t,onValueChange:e=>n(e),className:`flex h-full min-h-0 flex-col gap-0`,children:[o.status===`failed`?null:(0,W.jsx)(`div`,{className:`border-b px-4 py-3`,children:(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,W.jsx)(X,{status:o.status}),(0,W.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Latest hook result`}),(0,W.jsxs)(`div`,{className:`ml-auto flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,W.jsx)(`span`,{children:C(o.duration)}),(0,W.jsx)(`span`,{children:Y(o.executedAt)})]})]})}),(0,W.jsxs)(p,{variant:`line`,className:`h-10 w-full justify-start rounded-none border-b px-4`,children:[(0,W.jsx)(d,{value:`overview`,className:`flex-initial rounded-none text-xs`,children:`Overview`}),(0,W.jsx)(d,{value:`output`,className:`flex-initial rounded-none text-xs`,children:`Output`}),(0,W.jsx)(d,{value:`env`,className:`flex-initial rounded-none text-xs`,children:`Env`}),(0,W.jsx)(d,{value:`sandbox`,className:`flex-initial rounded-none text-xs`,children:`Sandbox`}),a?(0,W.jsx)(d,{value:`network`,className:`flex-initial rounded-none text-xs`,children:`Network`}):null]}),(0,W.jsx)(f,{value:`overview`,className:`min-h-0 flex-1`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,W.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Status`}),(0,W.jsx)(`div`,{className:`mt-2`,children:(0,W.jsx)(X,{status:o.status})})]}),(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Duration`}),(0,W.jsx)(`div`,{className:`mt-2 text-sm text-foreground`,children:C(o.duration)})]}),(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Executed`}),(0,W.jsx)(`div`,{className:`mt-2 text-sm text-foreground`,children:new Date(o.executedAt).toLocaleString()})]}),(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Recency`}),(0,W.jsx)(`div`,{className:`mt-2 text-sm text-foreground`,children:Y(o.executedAt)})]})]}),o.status===`failed`?(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Failure summary`}),(0,W.jsx)(`div`,{className:`rounded-sm border border-destructive/30 bg-destructive/10 px-3 py-2.5 text-sm text-foreground`,children:o.error??o.stderr??`Hook run failed.`})]}):null]})})}),(0,W.jsx)(f,{value:`output`,className:`min-h-0 flex-1`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`stdout`}),(0,W.jsx)(`div`,{className:`rounded-sm border bg-muted/20 p-3 font-mono text-xs text-foreground whitespace-pre-wrap break-all`,children:o.stdout||`No stdout captured.`})]}),(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`stderr`}),(0,W.jsx)(`div`,{className:`rounded-sm border bg-destructive/5 p-3 font-mono text-xs text-foreground whitespace-pre-wrap break-all`,children:o.stderr||`No stderr captured.`})]})]})})}),(0,W.jsx)(f,{value:`env`,className:`min-h-0 flex-1`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Emitted variables`}),(0,W.jsx)(Q,{rows:s})]}),(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Applied override snapshot`}),(0,W.jsx)(Q,{rows:c})]})]})})}),(0,W.jsx)(f,{value:`sandbox`,className:`min-h-0 flex-1`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,W.jsx)(`div`,{className:`rounded-sm border`,children:(0,W.jsx)(`table`,{className:`w-full text-sm`,children:(0,W.jsxs)(`tbody`,{children:[(0,W.jsxs)(`tr`,{className:`border-b`,children:[(0,W.jsx)(`td`,{className:`px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Runtime`}),(0,W.jsx)(`td`,{className:`px-3 py-2 text-sm text-foreground`,children:R(o.sandbox.runtime).label})]}),(0,W.jsxs)(`tr`,{className:`border-b`,children:[(0,W.jsx)(`td`,{className:`px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Image`}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground break-all`,children:o.sandbox.image})]}),(0,W.jsxs)(`tr`,{className:`border-b`,children:[(0,W.jsx)(`td`,{className:`px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Docker version`}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground break-all`,children:o.sandbox.dockerVersion??`Not available`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Network`}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground`,children:o.sandbox.networkMode})]})]})})}),a?null:(0,W.jsx)(`div`,{className:`rounded-sm border bg-muted/20 px-3 py-2.5 text-sm text-muted-foreground`,children:`Network logs aren't available for this runtime yet.`})]})})}),a?(0,W.jsx)(f,{value:`network`,className:`min-h-0 flex-1`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsx)(`div`,{className:`p-4`,children:(0,W.jsx)(`div`,{className:`overflow-hidden rounded-sm border`,children:(0,W.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{className:`border-b bg-muted/30`,children:[(0,W.jsx)(`th`,{className:`px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Method`}),(0,W.jsx)(`th`,{className:`px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`URL`}),(0,W.jsx)(`th`,{className:`px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Status`}),(0,W.jsx)(`th`,{className:`px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Duration`})]})}),(0,W.jsx)(`tbody`,{children:i.map(e=>(0,W.jsxs)(`tr`,{className:`border-b last:border-b-0`,children:[(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground`,children:e.method}),(0,W.jsxs)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground break-all`,children:[(0,W.jsx)(`div`,{children:e.url}),e.error?(0,W.jsx)(`div`,{className:`mt-1 text-destructive`,children:e.error}):null]}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground`,children:e.statusCode??`—`}),(0,W.jsx)(`td`,{className:`px-3 py-2 font-mono text-xs text-foreground`,children:e.durationMs==null?`—`:C(e.durationMs)})]},e.id))})]})})})})}):null]})}function ee(e){if(!e)return`just now`;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function te({baselineCount:e,baselineFilePath:t,baselineInfo:n,isBaselineLoading:r,overrideRows:i,overridingRowIds:a,recentRuns:c,selectedRunId:l,isRunning:u,runDisabledReason:h,runError:_,onAddOverride:v,onUpdateOverride:y,onRemoveOverride:b,onRun:S,onSelectRun:w}){return(0,W.jsxs)(m,{defaultValue:`inputs`,className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,W.jsx)(`div`,{className:`border-b px-4 py-1.5`,children:(0,W.jsxs)(p,{variant:`line`,className:`h-7 w-auto justify-start rounded-none p-0`,children:[(0,W.jsx)(d,{value:`inputs`,className:`flex-initial rounded-none px-2.5 text-xs`,children:`Input`}),(0,W.jsx)(d,{value:`logs`,className:`flex-initial rounded-none px-2.5 text-xs`,children:`Run logs`})]})}),(0,W.jsx)(f,{value:`inputs`,className:`min-h-0 flex-1 overflow-hidden`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[h?(0,W.jsxs)(`div`,{className:`rounded-sm border border-amber-500/30 bg-amber-500/10 px-3 py-2.5 text-sm`,children:[(0,W.jsx)(`div`,{className:`font-medium text-foreground`,children:h===`Save this hook to run the latest changes.`?`Save required`:`Hook couldn't be executed`}),(0,W.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:h})]}):null,(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Workspace env`}),(0,W.jsxs)(`div`,{className:`rounded-sm border bg-muted/20 px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-sm text-foreground`,children:r?`Loading workspace variables...`:t?`${e} variable${e===1?``:`s`} available from ${t}`:`No workspace .env file is configured for this project.`}),n?(0,W.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:n}):(0,W.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:`Inherited workspace variables are included automatically for each run.`})]})]}),(0,W.jsxs)(`section`,{className:`space-y-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,W.jsxs)(`div`,{className:`space-y-1`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Runtime variables`}),(0,W.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Variables added for this run only. They override inherited workspace values and can model env handoff between hooks.`})]}),(0,W.jsxs)(I,{variant:`outline`,size:`sm`,onClick:v,children:[(0,W.jsx)(o,{className:`h-3.5 w-3.5`}),`Add variable`]})]}),i.length===0?(0,W.jsx)(`div`,{className:`rounded-sm border border-dashed px-3 py-4 text-sm text-muted-foreground`,children:`No runtime variables yet.`}):(0,W.jsx)(`div`,{className:`space-y-2`,children:i.map(e=>{let t=a.has(e.id);return(0,W.jsxs)(`div`,{className:`rounded-sm border px-3 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[minmax(0,0.9fr)_minmax(0,1.1fr)_auto]`,children:[(0,W.jsx)(x,{value:e.key,placeholder:`KEY`,onChange:t=>y(e.id,{key:t.target.value})}),(0,W.jsx)(x,{value:e.value,placeholder:`Value`,onChange:t=>y(e.id,{value:t.target.value})}),(0,W.jsx)(I,{variant:`ghost`,size:`icon-sm`,"aria-label":`Remove variable`,onClick:()=>b(e.id),children:(0,W.jsx)(s,{className:`h-3.5 w-3.5`})})]}),t?(0,W.jsx)(`div`,{className:`mt-2 text-xs text-primary`,children:`Overrides .env`}):null]},e.id)})})]})]})})}),(0,W.jsx)(f,{value:`logs`,className:`min-h-0 flex-1 overflow-hidden`,children:(0,W.jsx)(z,{className:`h-full`,children:(0,W.jsxs)(`div`,{className:`space-y-4 p-4`,children:[_?(0,W.jsxs)(`div`,{className:`rounded-sm border border-destructive/30 bg-destructive/10 px-3 py-2.5 text-sm`,children:[(0,W.jsx)(`div`,{className:`font-medium text-foreground`,children:`Hook couldn't be executed`}),(0,W.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`Review stderr or sandbox details, adjust runtime variables, and run again.`}),(0,W.jsx)(`div`,{className:`mt-3 font-mono text-xs text-foreground`,children:_})]}):null,(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:`Local runs`}),(0,W.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Recent hook runs stay in this browser and are not added to dashboard history.`}),c.length===0?(0,W.jsx)(`div`,{className:`rounded-sm border border-dashed px-3 py-4 text-sm text-muted-foreground`,children:`No run logs in this browser session yet.`}):(0,W.jsx)(`div`,{className:`space-y-2`,children:c.map(e=>(0,W.jsxs)(`button`,{type:`button`,onClick:()=>w(e.id),className:g(`flex w-full items-center justify-between rounded-sm border px-3 py-2.5 text-left transition-colors`,`hover:bg-muted/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,(l??c[0]?.id)===e.id&&`border-primary/50 bg-primary/10`),children:[(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.result.status===`passed`?`Passed`:`Failed`}),(0,W.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:ee(e.result.executedAt)})]}),(0,W.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:C(e.result.duration)})]},e.id))})]})]})})})]})}function ne({isMobile:e,leftPane:t,rightTopPane:n,rightBottomPane:r,className:i}){return e?(0,W.jsxs)(`div`,{className:g(`flex min-h-0 flex-1 flex-col overflow-auto`,i),children:[(0,W.jsx)(`section`,{"data-slot":`leftPane`,className:`min-h-0`,children:t}),(0,W.jsx)(`section`,{"data-slot":`rightTopPane`,className:`border-t`,children:n}),(0,W.jsx)(`section`,{"data-slot":`rightBottomPane`,className:`min-h-[360px] border-t`,children:r})]}):(0,W.jsxs)(V,{orientation:`horizontal`,className:g(`min-h-0 flex-1`,i),children:[(0,W.jsx)(B,{defaultSize:46,minSize:30,children:(0,W.jsx)(`div`,{"data-slot":`leftPane`,className:`h-full min-h-0 overflow-hidden`,children:t})}),(0,W.jsx)(H,{withHandle:!0}),(0,W.jsx)(B,{defaultSize:54,minSize:30,children:(0,W.jsxs)(V,{orientation:`vertical`,className:`h-full min-h-0`,children:[(0,W.jsx)(B,{defaultSize:42,minSize:24,children:(0,W.jsx)(`div`,{"data-slot":`rightTopPane`,className:`h-full min-h-0 overflow-hidden border-b`,children:n})}),(0,W.jsx)(H,{withHandle:!0}),(0,W.jsx)(B,{defaultSize:58,minSize:28,children:(0,W.jsx)(`div`,{"data-slot":`rightBottomPane`,className:`h-full min-h-0 overflow-hidden`,children:r})})]})})]})}function re(e={}){return{id:`override-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,key:e.key??``,value:e.value??``}}function ie(e){return e.map(e=>({key:e.key.trim(),value:e.value})).filter(e=>e.key.length>0)}function ae({hookId:e}){let[t,n]=(0,J.useState)([]),[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(!0),[l,u]=(0,J.useState)([]),[d,f]=(0,J.useState)([]),[p,m]=(0,J.useState)(null),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(null),y=(0,J.useRef)(0);(0,J.useEffect)(()=>{u([]),f([]),m(null),v(null)},[e]),(0,J.useEffect)(()=>{let e=!1;return c(!0),P().then(t=>{e||(n(t.variables),i(t.filePath),o(t.error??null))}).catch(t=>{e||(n([]),i(null),o(t instanceof Error?t.message:`Failed to load workspace variables`))}).finally(()=>{e||c(!1)}),()=>{e=!0}},[e]);let b=(0,J.useMemo)(()=>new Set(t.map(e=>e.key)),[t]),x=(0,J.useMemo)(()=>ie(l),[l]),S=(0,J.useMemo)(()=>{let e=new Set;for(let t of l){let n=t.key.trim();n&&b.has(n)&&e.add(t.id)}return e},[b,l]),C=(0,J.useMemo)(()=>d.find(e=>e.id===p)??d[0]??null,[d,p]);function w(e={}){u(t=>[...t,re(e)])}function T(e,t){u(n=>n.map(n=>n.id===e?{...n,...t}:n))}function D(e){u(t=>t.filter(t=>t.id!==e))}async function k(){if(!e||h)return null;g(!0),v(null);let t=Object.fromEntries(x.map(e=>[e.key,e.value]));try{let n=await O(e,{overrides:x});y.current+=1;let r={id:`hook-run-${y.current}`,result:n,overrideSnapshot:t};return f(e=>[r,...e].slice(0,6)),m(r.id),r}catch(e){return e instanceof E?v(e.message):v(e instanceof Error?e.message:`Hook run failed`),null}finally{g(!1)}}return{baselineVariables:t,baselineFilePath:r,baselineInfo:a,isBaselineLoading:s,overrideRows:l,normalizedOverrides:x,overridingRowIds:S,recentRuns:d,selectedRunId:p,selectedRun:C,isRunning:h,runError:_,addOverrideRow:w,updateOverrideRow:T,removeOverrideRow:D,selectRun:m,clearRunError:()=>v(null),submitRun:k}}export{q as a,$ as i,ne as n,K as o,te as r,ae as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{Sc as t}from"./index-CXuVkD6-.js";var n=e(t(),1),r=`button, a[href], summary, [role="button"], [role="link"], [role="menuitem"], [role="tab"], [role="checkbox"], [role="switch"]`;function i(e){let t=(0,n.useRef)(e);(0,n.useLayoutEffect)(()=>{t.current=e},[e]),(0,n.useEffect)(()=>{function e(e){let n=e.target,i=n.tagName;if((i===`INPUT`||i===`TEXTAREA`||i===`SELECT`||n.isContentEditable)&&!(i===`TEXTAREA`&&n.getAttribute(`aria-readonly`)===`true`&&n.closest(`.monaco-editor`))){e.key===`Escape`&&n.blur();return}if((e.key===`Enter`||e.key===` `)&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&n.closest?.(r))return;let a=e.key.toLowerCase();if(e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey){let n=`shift+${a}`,r=t.current[n];if(r){r(e)!==!1&&e.preventDefault();return}}if(e.key!==`Escape`&&(e.ctrlKey||e.metaKey||e.altKey)&&!((e.metaKey||e.ctrlKey)&&a===`enter`)||e.shiftKey&&e.key!==`Escape`)return;let o=t.current[a];o&&o(e)!==!1&&e.preventDefault()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[])}export{i as t};
@@ -1 +1 @@
1
- import{r as e}from"./chunk-CilyBKbf.js";import{Er as t}from"./index-CWwAjH9Q.js";var n=e(t(),1);function r(e){return e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?e.slice(1,-1):e}function i(e){(0,n.useEffect)(()=>(document.title=`${r(e)} | agent-qa`,()=>{document.title=`agent-qa`}),[e])}export{i as t};
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{Sc as t}from"./index-CXuVkD6-.js";var n=e(t(),1);function r(e){return e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?e.slice(1,-1):e}function i(e){(0,n.useEffect)(()=>(document.title=`${r(e)} | agent-qa`,()=>{document.title=`agent-qa`}),[e])}export{i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{B as t,Er as n,Ft as r,Kt as i,Pt as a,Sc as o,Xt as s}from"./index-CXuVkD6-.js";import{H as c,V as l}from"./knowledge-view-BHNh7MwX.js";var u=i(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),d=i(`package-open`,[[`path`,{d:`M12 22v-9`,key:`x3hkom`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`,key:`2ntwy6`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`,key:`1pmm1c`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`,key:`12ttoo`}]]),f=i(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),p=s(),m=`agent-qa doctor`;function h(e){let t=e.indexOf(m);return t<0?e:(0,p.jsxs)(p.Fragment,{children:[e.slice(0,t),(0,p.jsx)(`code`,{className:`font-mono`,children:m}),e.slice(t+15)]})}var g={"fresh-index":d,"cause-not-recorded":u,"index-problem":a,"semantic-search-unavailable":f,"by-configuration":r};function _({view:e}){let t=g[e.retrievalClass];return e.tone===`info`?(0,p.jsxs)(`p`,{"data-retrieval-statement":!0,"data-retrieval-class":e.retrievalClass,"data-retrieval-tone":`info`,"data-rung":e.rung,"data-rung-reason":e.reason,className:`flex items-start gap-1 text-xs text-muted-foreground`,children:[(0,p.jsx)(t,{className:`size-3.5 mt-0.5 shrink-0`,"aria-hidden":`true`}),(0,p.jsx)(`span`,{children:e.sentence})]}):(0,p.jsxs)(`div`,{"data-retrieval-statement":!0,"data-retrieval-class":e.retrievalClass,"data-retrieval-tone":`warning`,"data-rung":e.rung,"data-rung-reason":e.reason,role:`note`,className:`flex items-start gap-2 rounded-md border border-amber-500/20 bg-amber-500/5 px-3 py-2`,children:[(0,p.jsx)(t,{className:`size-3.5 mt-0.5 shrink-0 text-amber-500`,"aria-hidden":`true`}),(0,p.jsxs)(`div`,{className:`space-y-1`,children:[(0,p.jsx)(`p`,{className:`text-sm`,children:e.sentence}),e.pointer===void 0?null:(0,p.jsx)(`p`,{"data-doctor-pointer":!0,className:`text-xs text-muted-foreground`,children:h(e.pointer)})]})]})}function v({rung:e,reason:n,variant:r=`navbar`}){let i=e===void 0?void 0:{rung:e,...n===void 0?{}:{reason:n}},a=c(i),o=i===void 0?void 0:l(i);if(e===void 0||a===void 0||o===void 0)return null;if(r===`live`)return(0,p.jsx)(`p`,{"data-rung-banner":!0,"data-rung":e,"data-rung-reason":n,"data-retrieval-class":o,role:`status`,title:a,className:`text-amber-500`,children:h(a)});let s=g[o];return(0,p.jsxs)(`div`,{"data-rung-banner":!0,"data-rung":e,"data-rung-reason":n,"data-retrieval-class":o,role:`status`,title:a,className:t(`flex items-center gap-2 border-b border-amber-500/20 bg-amber-500/5`,`px-4 py-1.5 text-xs text-foreground/80`),children:[(0,p.jsx)(s,{className:`h-4 w-4 text-amber-500 shrink-0`,"aria-hidden":`true`}),(0,p.jsx)(`span`,{className:`truncate`,children:h(a)})]})}var y=e(o(),1),b=`/favicon.svg`,x=`link[rel="icon"][type="image/svg+xml"]`,S=`data:image/svg+xml,`,C=`#1BA8A4`,w={running:`#3B82F6`,passed:`#10B981`,failed:`#EF4444`,cancelled:`#737373`},T=`M323.737 74.0036C321.678 45.7468 307.367 20.4603 274.355 7.62753C237.635 -6.64743 193.906 0.707226 159.595 16.555C123.709 33.1301 79.4877 66.4329 68.7041 107.674C64.4889 123.793 65.8966 141.625 74.0475 156.147C84.524 174.812 105.284 186.34 126.509 188.709C155.758 191.973 186.212 179.951 208.798 161.766C221.672 151.401 233.416 137.876 240.032 122.593C245.968 108.883 247.372 92.6358 241.051 79.1C232.452 60.686 212.101 52.6385 192.81 55.6667C190.276 56.0569 187.867 56.6097 185.58 57.2681C183.292 57.9233 181.123 58.6816 179.071 59.528C174.96 61.1995 171.314 63.2018 168.074 65.329C164.839 67.4688 162.013 69.7616 159.591 72.0974C159.042 72.6512 158.503 73.1949 157.975 73.728C157.403 74.2983 156.905 74.8399 156.405 75.3741C155.412 76.4424 154.506 77.4954 153.649 78.4973C151.95 80.5145 150.496 82.3772 149.251 84.0721C146.746 87.4439 144.991 90.0845 143.806 91.8622C143.224 92.7564 142.783 93.4344 142.486 93.889C142.195 94.3472 142.047 94.5798 142.047 94.5798C141.56 95.3492 141.534 96.3676 142.066 97.1784C142.789 98.2807 144.267 98.5866 145.366 97.8607C145.366 97.8607 145.595 97.7094 146.048 97.4115C146.496 97.1104 147.164 96.6612 148.045 96.0686C149.796 94.8803 152.379 93.101 155.711 90.89C159.064 88.6975 163.129 86.0856 168.019 83.6181C169.17 83.0505 170.364 82.5052 171.643 82.0103C172.913 81.508 174.233 81.0227 175.625 80.6096C178.393 79.7611 181.387 79.0894 184.521 78.7039C186.088 78.517 187.686 78.3869 189.3 78.3476C190.915 78.312 192.544 78.3635 194.161 78.5064C199.857 79.0389 206.946 80.8278 210.393 85.7883C212.64 89.023 212.942 93.2873 212.188 97.1561C210.88 103.87 206.746 109.679 202.191 114.771C186.162 132.688 162.952 145.008 138.913 147.011C118.893 148.576 100.226 139.353 97.5544 117.418C95.6448 101.742 102.982 86.1918 113.092 74.0838C127.362 56.9936 145.131 42.6953 165.374 33.7232C172.833 30.4168 180.568 27.6382 188.491 25.5933C209.564 20.1131 234.474 18.5074 254.87 27.3737C274.418 35.8716 286.877 55.0613 286.483 76.4807C286.365 82.7505 285.206 89.1452 283.246 95.5313C281.308 101.923 278.484 108.284 275.041 114.413C271.579 120.542 267.503 126.447 262.989 132.001C240.471 159.732 205.211 180.858 172.707 194.714C133.472 211.439 58.5315 231.21 30.5129 185.239C15.9075 161.276 21.2651 130.621 29.1883 105.347C29.4747 104.433 29.1915 103.391 28.3958 102.763C27.3676 101.951 25.8789 102.129 25.07 103.16C25.07 103.16 24.3939 104.021 23.0836 105.69C22.7533 106.097 22.4023 106.602 22.0042 107.145C21.6092 107.69 21.1767 108.288 20.7066 108.937C9.05634 125.023 1.26869 144.477 0.139985 164.406C-0.898721 182.75 3.84163 201.559 14.4087 216.568C27.0823 234.568 47.3503 246.191 68.6072 251.765C102.301 260.599 139.556 257.617 172.626 247.578C180.417 245.213 188.18 242.456 195.864 239.289C203.543 236.112 211.124 232.493 218.604 228.502C245.711 214.042 271.483 194.467 290.821 170.385C311.713 144.368 326.151 107.143 323.737 74.0036Z`;function E(){let e=document.querySelector(x);if(e)return e;let t=document.createElement(`link`);return t.setAttribute(`rel`,`icon`),t.setAttribute(`type`,`image/svg+xml`),t.setAttribute(`href`,b),document.head.appendChild(t),t}function D(e){return e===`failed`?`<path d="M208 142L310 244M310 142L208 244" stroke="#EF4444" stroke-width="26" stroke-linecap="round"/>`:`<circle cx="258" cy="192" r="61" fill="${w[e]}"/>`}function O(e){switch(n(e)){case`running`:case`pending`:case`queued`:return`running`;case`passed`:case`healed`:return`passed`;case`failed`:case`timeout`:return`failed`;case`cancelled`:return`cancelled`;case`skipped`:case`unknown`:return`default`}}function k(e){if(e===`default`)return b;let t=[`<svg width="324" height="257" viewBox="0 0 324 257" fill="none" xmlns="http://www.w3.org/2000/svg">`,`<path d="${T}" fill="${C}"/>`,D(e),`</svg>`].join(``);return`${S}${encodeURIComponent(t)}`}function A(e){(0,y.useEffect)(()=>(E().setAttribute(`href`,k(e)),()=>{E().setAttribute(`href`,b)}),[e])}export{u as a,_ as i,A as n,v as r,O as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{s as t}from"./select-JI5Kadjp.js";import{t as n}from"./globe-B0WEPp3h.js";import{r}from"./split-button-BHdketN3.js";import{t as i}from"./checkbox-B5x0V2a2.js";import{n as a,r as o,t as s}from"./popover-DThBIgGA.js";import{L as c,Lt as l,S as u,Sc as d,Xt as f,b as p,w as m,x as h,z as g}from"./index-CXuVkD6-.js";var _=f();function v({selectedCount:e,hiddenCount:d,useCache:f,browserStackAvailable:v,open:y,onOpenChange:b,onUseCacheChange:x,onRunLocal:S,onRunBrowserStack:C,disabled:w=!1}){return(0,_.jsxs)(s,{open:y,onOpenChange:b,children:[(0,_.jsx)(o,{asChild:!0,children:(0,_.jsx)(g,{size:`sm`,disabled:w,children:`Run`})}),(0,_.jsxs)(a,{side:`top`,sideOffset:8,className:`w-[280px] max-w-[calc(100vw-2rem)] space-y-4`,children:[(0,_.jsxs)(`div`,{className:`space-y-1`,children:[(0,_.jsxs)(`p`,{className:`text-sm font-medium`,children:[e,` selected`]}),d>0?(0,_.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[d,` hidden by filters`]}):null]}),(0,_.jsx)(c,{}),(0,_.jsx)(`div`,{className:`space-y-3`,children:(0,_.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,_.jsx)(`span`,{children:`Use cache`}),(0,_.jsx)(i,{checked:f,onCheckedChange:e=>x(e===!0),disabled:w})]})}),(0,_.jsx)(c,{}),(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsxs)(p,{children:[(0,_.jsx)(m,{asChild:!0,children:(0,_.jsxs)(g,{size:`sm`,className:`w-full justify-between`,disabled:w,children:[(0,_.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,_.jsx)(l,{className:`size-4`}),`Run`]}),(0,_.jsx)(t,{className:`size-4`})]})}),(0,_.jsxs)(h,{align:`end`,className:`w-[240px]`,children:[(0,_.jsxs)(u,{onClick:()=>{w||(S(),b(!1))},children:[(0,_.jsx)(r,{className:`size-4`}),`Run Local`]}),(0,_.jsxs)(u,{onClick:()=>{w||!v||(C(),b(!1))},disabled:!v,children:[(0,_.jsx)(n,{className:`size-4`}),`Run on BrowserStack`]})]})]}),v?null:(0,_.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`BrowserStack is unavailable in the current config.`})]})]})]})}var y=e(d(),1);function b(e,t){return e===0?!1:e===t?!0:`indeterminate`}function x({items:e,getId:t,visibleIds:n}){let[r,i]=(0,y.useState)({ids:[],itemsById:new Map});(0,y.useEffect)(()=>{i(n=>{let r=!1,i=new Map(n.itemsById);for(let n of e){let e=t(n);i.has(e)&&i.get(e)!==n&&(i.set(e,n),r=!0)}return r?{ids:n.ids,itemsById:i}:n})},[t,e]);let a=r.ids,o=(0,y.useMemo)(()=>new Set(a),[a]),s=(0,y.useMemo)(()=>a.map(e=>r.itemsById.get(e)).filter(e=>e!==void 0),[a,r.itemsById]),c=(0,y.useMemo)(()=>n??e.map(e=>t(e)),[t,e,n]),l=(0,y.useMemo)(()=>new Set(c),[c]),u=(0,y.useMemo)(()=>a.filter(e=>!l.has(e)).length,[a,l]),d=(0,y.useCallback)(e=>o.has(e),[o]),f=(0,y.useCallback)((e,n)=>{let r=t(e);i(t=>{let i=t.ids.includes(r);if(n&&i){if(t.itemsById.get(r)===e)return t;let n=new Map(t.itemsById);return n.set(r,e),{ids:t.ids,itemsById:n}}if(!n&&!i)return t;let a=new Map(t.itemsById);return n?(a.set(r,e),{ids:[...t.ids,r],itemsById:a}):(a.delete(r),{ids:t.ids.filter(e=>e!==r),itemsById:a})})},[t]),p=(0,y.useCallback)((e,n)=>{e.length!==0&&i(r=>{let i=new Map(r.itemsById),a=[...r.ids],o=!1;for(let r of e){let e=t(r),s=a.includes(e);if(n){s||(a.push(e),o=!0),i.get(e)!==r&&(i.set(e,r),o=!0);continue}s&&(o=!0,i.delete(e),a.splice(a.indexOf(e),1))}return o?{ids:a,itemsById:i}:r})},[t]),m=(0,y.useCallback)(()=>{i(e=>e.ids.length===0?e:{ids:[],itemsById:new Map})},[]),h=(0,y.useCallback)(e=>{let t=e.filter(e=>o.has(e)).length;return b(t,e.length)},[o]);return{selectedIds:a,selectedIdSet:o,selectedItems:s,selectedCount:a.length,hiddenCount:u,isSelected:d,setItemSelected:f,setItemsSelected:p,clearSelection:m,getVisibleSelectionState:h}}export{v as n,x as t};
@@ -0,0 +1 @@
1
+ var e=[`overview`,`insights`];function t(e,t){return e!==null&&t.includes(e)}function n(n,r,i={}){let a=i.defaultTab??`overview`,o=i.defaultView??r[0],s=n.get(`tab`),c=n.get(`view`);return{tab:t(s,e)?s:a,view:t(c,r)?c:o}}function r(e,t){let n=new URLSearchParams;if(n.set(`tab`,e.tab),n.set(`view`,e.view),t)for(let[e,r]of t.entries())e===`tab`||e===`view`||e===`sub`||n.append(e,r);return n}export{r as n,n as t};
@@ -1 +1 @@
1
- import{c as e}from"./editor.api2-CX0IWJmc.js";function t(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var n=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:t(`defaultWorkerFactory`,{createScriptURL:e=>e});function r(e){let t=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker==`function`)return r.getWorker(`workerMain.js`,t);if(typeof r.getWorkerUrl==`function`){let e=r.getWorkerUrl(`workerMain.js`,t);return new Worker(n?n.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function i(t){let n=Promise.resolve(r({label:t.label??`monaco-editor-worker`,moduleId:t.moduleId,createWorker:t.createWorker})).then(e=>(e.postMessage(`ignore`),e.postMessage(t.createData),e));return e.createWebWorker({worker:n,host:t.host,keepIdleModels:t.keepIdleModels})}export{i as t};
1
+ import{c as e}from"./editor.api2-DXR_ThFM.js";function t(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var n=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:t(`defaultWorkerFactory`,{createScriptURL:e=>e});function r(e){let t=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker==`function`)return r.getWorker(`workerMain.js`,t);if(typeof r.getWorkerUrl==`function`){let e=r.getWorkerUrl(`workerMain.js`,t);return new Worker(n?n.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function i(t){let n=Promise.resolve(r({label:t.label??`monaco-editor-worker`,moduleId:t.moduleId,createWorker:t.createWorker})).then(e=>(e.postMessage(`ignore`),e.postMessage(t.createData),e));return e.createWebWorker({worker:n,host:t.host,keepIdleModels:t.keepIdleModels})}export{i as t};
@@ -0,0 +1 @@
1
+ import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);export{t};
@@ -1 +1 @@
1
- import{u as e}from"./editor.api2-CX0IWJmc.js";var t={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},n={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{t as conf,n as language};
1
+ import{u as e}from"./editor.api2-DXR_ThFM.js";var t={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},n={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{t as conf,n as language};
@@ -1 +1 @@
1
- import{u as e}from"./editor.api2-CX0IWJmc.js";var t={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},n={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{t as conf,n as language};
1
+ import{u as e}from"./editor.api2-DXR_ThFM.js";var t={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},n={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{t as conf,n as language};
@@ -1 +1 @@
1
- import{Xt as e}from"./index-CWwAjH9Q.js";var t=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{t};
1
+ import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{t};
package/dist/index.html CHANGED
@@ -22,9 +22,9 @@
22
22
  @keyframes splash-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}
23
23
  #splash svg{height:48px;width:auto;animation:splash-in .5s ease-out both}
24
24
  </style>
25
- <script type="module" crossorigin src="/assets/index-CWwAjH9Q.js"></script>
25
+ <script type="module" crossorigin src="/assets/index-CXuVkD6-.js"></script>
26
26
  <link rel="modulepreload" crossorigin href="/assets/chunk-CilyBKbf.js">
27
- <link rel="stylesheet" crossorigin href="/assets/index-Bu0wLCES.css">
27
+ <link rel="stylesheet" crossorigin href="/assets/index-0GfHLQ0v.css">
28
28
  </head>
29
29
  <body>
30
30
  <div id="splash">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vostride/agent-qa-dashboard-ui",
3
- "version": "0.1.21",
3
+ "version": "0.2.2",
4
4
  "private": false,
5
5
  "description": "Built agent-qa dashboard UI assets served by the local dashboard.",
6
6
  "keywords": [
@@ -10,7 +10,7 @@
10
10
  "react",
11
11
  "vite"
12
12
  ],
13
- "license": "SEE LICENSE IN LICENSE.md",
13
+ "license": "FSL-1.1-ALv2",
14
14
  "homepage": "https://github.com/vostride/agent-qa#readme",
15
15
  "bugs": {
16
16
  "url": "https://github.com/vostride/agent-qa/issues"
@@ -37,7 +37,7 @@
37
37
  "dev": "vite",
38
38
  "build": "vite build",
39
39
  "preview": "vite preview",
40
- "test": "vitest run --passWithNoTests",
40
+ "test": "vitest run",
41
41
  "typecheck": "tsc --noEmit",
42
42
  "clean": "rm -rf dist .turbo"
43
43
  },
@@ -48,22 +48,20 @@
48
48
  "@fontsource-variable/geist": "5.2.8",
49
49
  "@fontsource-variable/geist-mono": "5.2.7",
50
50
  "@tanstack/react-table": "8.21.3",
51
- "@vostride/agent-qa-ids": "0.1.21",
51
+ "@vostride/agent-qa-ids": "0.2.2",
52
+ "@vostride/agent-qa-schema": "0.2.2",
52
53
  "class-variance-authority": "0.7.1",
53
54
  "clsx": "2.1.1",
54
55
  "cmdk": "1.1.1",
55
- "dompurify": "3.4.2",
56
56
  "lucide-react": "1.14.0",
57
- "marked": "18.0.3",
58
57
  "monaco-editor": "0.55.1",
59
58
  "motion": "12.38.0",
60
59
  "radix-ui": "1.4.3",
61
60
  "react": "19.2.5",
62
61
  "react-dom": "19.2.5",
63
62
  "react-icons": "5.6.0",
64
- "react-is": "19.2.5",
65
63
  "react-resizable-panels": "4.11.0",
66
- "react-router": "7.14.2",
64
+ "react-router": "7.18.4",
67
65
  "recharts": "3.8.1",
68
66
  "sonner": "2.0.7",
69
67
  "tailwind-merge": "3.5.0",
@@ -77,8 +75,10 @@
77
75
  "@types/react": "~19.2.14",
78
76
  "@types/react-dom": "~19.2.3",
79
77
  "@vitejs/plugin-react": "~6.0.1",
78
+ "@vostride/agent-qa-arch": "0.2.2",
80
79
  "jsdom": "~29.1.1",
81
80
  "typescript": "~6.0.3",
82
- "vite": "~8.0.10"
81
+ "vite": "~8.0.10",
82
+ "vitest": "~4.1.5"
83
83
  }
84
84
  }
@@ -1 +0,0 @@
1
- import{r as e}from"./chunk-CilyBKbf.js";import{c as t,u as n}from"./select-DF8sGWfv.js";import{t as r}from"./split-button-BKCtgFiC.js";import{t as i}from"./trash-2-B2a3jDA4.js";import{At as a,Ct as o,Er as s,Et as c,H as l,Ot as u,Pt as d,Tr as f,U as p,en as m,rt as h,wt as g}from"./index-CWwAjH9Q.js";var _=e(s(),1),v=m(),y=`Checkbox`,[b,x]=u(y),[S,C]=b(y);function w(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=g({prop:n,defaultProp:i??!1,onChange:c,caller:y}),[m,h]=_.useState(null),[b,x]=_.useState(null),C=_.useRef(!1),w=m?!!o||!!m.closest(`form`):!0,T={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:C,required:l,defaultChecked:N(i)?!1:i,isFormControl:w,bubbleInput:b,setBubbleInput:x};return(0,v.jsx)(S,{scope:t,...T,children:M(d)?d(T):r})}var T=`CheckboxTrigger`,E=_.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:o,value:s,disabled:l,checked:u,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,isFormControl:g,bubbleInput:y}=C(T,e),b=d(i,p),x=_.useRef(u);return _.useEffect(()=>{let e=o?.form;if(e){let t=()=>m(x.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[o,m]),(0,v.jsx)(a.button,{type:`button`,role:`checkbox`,"aria-checked":N(u)?`mixed`:u,"aria-required":f,"data-state":P(u),"data-disabled":l?``:void 0,disabled:l,value:s,...r,ref:b,onKeyDown:c(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:c(n,e=>{m(e=>N(e)?!0:!e),y&&g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});E.displayName=T;var D=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(w,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(E,{...d,ref:t,__scopeCheckbox:n}),e&&(0,v.jsx)(j,{__scopeCheckbox:n})]})})});D.displayName=y;var O=`CheckboxIndicator`,k=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,s=C(O,n);return(0,v.jsx)(o,{present:r||N(s.checked)||s.checked===!0,children:(0,v.jsx)(a.span,{"data-state":P(s.checked),"data-disabled":s.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});k.displayName=O;var A=`CheckboxBubbleInput`,j=_.forwardRef(({__scopeCheckbox:e,...n},r)=>{let{control:i,hasConsumerStoppedPropagationRef:o,checked:s,defaultChecked:c,required:l,disabled:u,name:f,value:p,form:m,bubbleInput:g,setBubbleInput:y}=C(A,e),b=d(r,y),x=t(s),S=h(i);_.useEffect(()=>{let e=g;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!o.current;if(x!==s&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=N(s),n.call(e,N(s)?!1:s),e.dispatchEvent(t)}},[g,x,s,o]);let w=_.useRef(N(s)?!1:s);return(0,v.jsx)(a.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??w.current,required:l,disabled:u,name:f,value:p,form:m,...n,tabIndex:-1,ref:b,style:{...n.style,...S,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});j.displayName=A;function M(e){return typeof e==`function`}function N(e){return e===`indeterminate`}function P(e){return N(e)?`indeterminate`:e?`checked`:`unchecked`}function F({className:e,...t}){return(0,v.jsx)(D,{"data-slot":`checkbox`,className:p(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs`,`data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary`,`focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,v.jsx)(k,{className:`flex items-center justify-center text-current`,children:(0,v.jsx)(n,{className:`size-3.5`})})})}var I=e(f(),1);function L({selectedCount:e,onRun:t,onRunNoCache:n,onPurgeCache:a,onCancel:o,isRunning:s=!1,summaryMeta:c,secondaryLabel:u,secondaryIcon:d,secondaryAriaLabel:f,actionSlot:p,onDelete:m}){if(e===0)return null;let h=!u&&!!d;return(0,I.createPortal)((0,v.jsxs)(`div`,{className:`fixed bottom-6 left-1/2 z-50 flex w-max max-w-[calc(100vw-1rem)] -translate-x-1/2 flex-wrap items-center gap-3 rounded-md border bg-background px-4 py-3 shadow-lg sm:flex-nowrap`,children:[(0,v.jsxs)(`div`,{className:`min-w-[6.5rem] shrink-0`,children:[(0,v.jsxs)(`span`,{className:`text-sm font-medium`,children:[e,` selected`]}),c?(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]}),p??(t&&n?(0,v.jsx)(r,{onRun:t,onRunNoCache:n,onPurgeCache:a,disabled:s,size:`sm`}):null),m?(0,v.jsxs)(l,{variant:`destructive`,size:`sm`,onClick:m,disabled:s,children:[(0,v.jsx)(i,{className:`size-4`}),`Delete`]}):null,(0,v.jsx)(l,{variant:h?`ghost`:`outline`,size:h?`icon-sm`:`sm`,"aria-label":f,title:f,onClick:o,disabled:s,children:d??u??`Cancel`})]}),document.body)}export{F as n,L as t};
@@ -1 +0,0 @@
1
- import{Xt as e}from"./index-CWwAjH9Q.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]);export{t};