@vostride/agent-qa-dashboard-ui 0.0.1 → 0.1.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 (180) hide show
  1. package/LICENSE.md +105 -0
  2. package/NOTICE.md +11 -0
  3. package/dist/assets/abap-tccnpReA.js +1 -0
  4. package/dist/assets/apex-BKVkKsbj.js +1 -0
  5. package/dist/assets/arrow-up-down-DyIZvSrC.js +1 -0
  6. package/dist/assets/azcli-BRcTI6AW.js +1 -0
  7. package/dist/assets/badge-BbhOGRC0.js +1 -0
  8. package/dist/assets/bat-CY1d4Jjr.js +1 -0
  9. package/dist/assets/batch-action-bar-CZxUcNFZ.js +1 -0
  10. package/dist/assets/bicep--LouBhCq.js +2 -0
  11. package/dist/assets/cameligo-DSekJmSA.js +1 -0
  12. package/dist/assets/chunk-CilyBKbf.js +1 -0
  13. package/dist/assets/circle-alert-pBH5T6su.js +1 -0
  14. package/dist/assets/circle-x-DLBotPS8.js +1 -0
  15. package/dist/assets/clojure-GBhsYY7r.js +1 -0
  16. package/dist/assets/codicon-ngg6Pgfi.ttf +0 -0
  17. package/dist/assets/coffee-9z_JJIkP.js +1 -0
  18. package/dist/assets/config-BfxB7vJt.js +10 -0
  19. package/dist/assets/copy-Gj5_oF-8.js +1 -0
  20. package/dist/assets/cpp-D7LwQw_o.js +1 -0
  21. package/dist/assets/csharp-Df6S3RJJ.js +1 -0
  22. package/dist/assets/csp-AyuN80rc.js +1 -0
  23. package/dist/assets/css-CYIs0S-t.js +3 -0
  24. package/dist/assets/css.worker-Wv5dxAWO.js +89 -0
  25. package/dist/assets/cssMode-BB-fH2D6.js +1 -0
  26. package/dist/assets/cypher-CWTgbj6F.js +1 -0
  27. package/dist/assets/dart-BkjNQt7D.js +1 -0
  28. package/dist/assets/display-step-CV3zilMS.js +1 -0
  29. package/dist/assets/dist-DFSjTjXY.js +1 -0
  30. package/dist/assets/dist-DZYW0-Ta.js +1 -0
  31. package/dist/assets/dist-o2A-YJGQ.js +1 -0
  32. package/dist/assets/dockerfile-jNxF4_km.js +1 -0
  33. package/dist/assets/ecl-CybE3oEZ.js +1 -0
  34. package/dist/assets/editor-Br_kD0ds.css +1 -0
  35. package/dist/assets/editor.api2-DEGvZ9jW.js +872 -0
  36. package/dist/assets/editor.worker-Bd9IXS8d.js +26 -0
  37. package/dist/assets/elixir-CdaOBnQZ.js +1 -0
  38. package/dist/assets/empty-state-Dluv5C1Q.js +1 -0
  39. package/dist/assets/external-link-BZ9gsZx_.js +1 -0
  40. package/dist/assets/eye-CZ7GiZXJ.js +1 -0
  41. package/dist/assets/file-code-GHpcb0ud.js +1 -0
  42. package/dist/assets/file-search-CIA16Vb8.js +1 -0
  43. package/dist/assets/filename-validation-BOmZP9gf.js +1 -0
  44. package/dist/assets/flow9-0HKoddfT.js +1 -0
  45. package/dist/assets/format-BpI4TiHn.js +1 -0
  46. package/dist/assets/freemarker2-BZ9nT_ca.js +3 -0
  47. package/dist/assets/fsharp-B4rCGS2D.js +1 -0
  48. package/dist/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  49. package/dist/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  50. package/dist/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  51. package/dist/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2 +0 -0
  52. package/dist/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2 +0 -0
  53. package/dist/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2 +0 -0
  54. package/dist/assets/go-BMkOAZO-.js +1 -0
  55. package/dist/assets/graphql-CT1i0Azo.js +1 -0
  56. package/dist/assets/grip-vertical-aDoBVncr.js +1 -0
  57. package/dist/assets/handlebars-CcFgORss.js +1 -0
  58. package/dist/assets/hcl-Dqo24S10.js +1 -0
  59. package/dist/assets/hook-editor-Dvrur2VR.js +1 -0
  60. package/dist/assets/hook-runtime-ChJ0-jZo.js +5 -0
  61. package/dist/assets/hook-viewer-DwQt3CRN.js +1 -0
  62. package/dist/assets/hooks-DcW2AVgE.js +1 -0
  63. package/dist/assets/html-C5cEOw4y.js +1 -0
  64. package/dist/assets/html.worker-CQP8QQsS.js +502 -0
  65. package/dist/assets/htmlMode-B54wW7aG.js +1 -0
  66. package/dist/assets/id-badge-Dzm7eQ9l.js +111 -0
  67. package/dist/assets/index-B3xPCIyH.js +57 -0
  68. package/dist/assets/index-cLLRFOsN.css +2 -0
  69. package/dist/assets/ini-B2qo6Bwi.js +1 -0
  70. package/dist/assets/insights-line-grid-G3ouKANt.js +39 -0
  71. package/dist/assets/insights-rNBE_Oot.js +1 -0
  72. package/dist/assets/java-BIPaikgB.js +1 -0
  73. package/dist/assets/javascript-jZJvS0Ev.js +1 -0
  74. package/dist/assets/json.worker-DzV-CpCQ.js +58 -0
  75. package/dist/assets/jsonMode-BJu_sWuN.js +7 -0
  76. package/dist/assets/julia-DaOMlCPl.js +1 -0
  77. package/dist/assets/kotlin-Bu1Cf0EE.js +1 -0
  78. package/dist/assets/less-CkzKMiAu.js +2 -0
  79. package/dist/assets/lexon-TKzNnbcT.js +1 -0
  80. package/dist/assets/lib-BPEPp1D-.js +4 -0
  81. package/dist/assets/liquid-B0Wk3SRC.js +1 -0
  82. package/dist/assets/live-run-C2WLFzlf.js +1 -0
  83. package/dist/assets/lspLanguageFeatures-Bn8JS-MZ.js +4 -0
  84. package/dist/assets/lua-6W3WJOvj.js +1 -0
  85. package/dist/assets/m3-B_B1XtJr.js +1 -0
  86. package/dist/assets/markdown-LT3qFBoR.js +1 -0
  87. package/dist/assets/marked.esm-Ba5AUJng.js +64 -0
  88. package/dist/assets/mdx-BE6dqG5T.js +1 -0
  89. package/dist/assets/memory-DcKox3BM.js +1 -0
  90. package/dist/assets/memory-product-oHTD8fqS.js +2 -0
  91. package/dist/assets/mips-BuZ0JnPP.js +1 -0
  92. package/dist/assets/monaco-editor-CDJrOpKK.js +2 -0
  93. package/dist/assets/monaco-editor-inner-Q9WqqJ52.js +6 -0
  94. package/dist/assets/monaco.contribution-DTHp-zXN.js +2 -0
  95. package/dist/assets/msdax-BHMmXeIF.js +1 -0
  96. package/dist/assets/mysql-B1RGnQ_F.js +1 -0
  97. package/dist/assets/objective-c-CFGQUdp0.js +1 -0
  98. package/dist/assets/observation-block-DdB7C1c0.js +1 -0
  99. package/dist/assets/observation-markdown-CvCuqq7R.js +1 -0
  100. package/dist/assets/pascal-Bunb0gdj.js +1 -0
  101. package/dist/assets/pascaligo-Ci9pazxY.js +1 -0
  102. package/dist/assets/pencil-BmkcPKBm.js +1 -0
  103. package/dist/assets/perl-Brcsz0QG.js +1 -0
  104. package/dist/assets/pgsql-BeM5icw2.js +1 -0
  105. package/dist/assets/php-D_0c0usD.js +1 -0
  106. package/dist/assets/pla-BXJXsrLp.js +1 -0
  107. package/dist/assets/plus-C6Zz9JLt.js +1 -0
  108. package/dist/assets/popover-CvQRjfg5.js +1 -0
  109. package/dist/assets/postiats-Bh7pQpS0.js +1 -0
  110. package/dist/assets/powerquery-17x2qNlN.js +1 -0
  111. package/dist/assets/powershell-BK7CP1HA.js +1 -0
  112. package/dist/assets/protobuf-BIk_BSvx.js +2 -0
  113. package/dist/assets/pug-AfVB1dqb.js +1 -0
  114. package/dist/assets/python-DYEP_Px-.js +1 -0
  115. package/dist/assets/qsharp-DdD7_Hjo.js +1 -0
  116. package/dist/assets/r-BGqTutCA.js +1 -0
  117. package/dist/assets/razor-BARiZmvH.js +1 -0
  118. package/dist/assets/redis-Dlp6Na1w.js +1 -0
  119. package/dist/assets/redshift-i2kKyIGQ.js +1 -0
  120. package/dist/assets/refresh-cw-v_0wwa0P.js +1 -0
  121. package/dist/assets/resizable-COfX_iMb.js +1 -0
  122. package/dist/assets/restructuredtext-LmY6AGSd.js +1 -0
  123. package/dist/assets/ruby-BxBoU2eR.js +1 -0
  124. package/dist/assets/run-detail-B6QhqCjq.js +1 -0
  125. package/dist/assets/runs-DO4LkmoV.js +1 -0
  126. package/dist/assets/rust-D9N2vQ1K.js +1 -0
  127. package/dist/assets/sb-BLTMTQei.js +1 -0
  128. package/dist/assets/scala-Ctl2an6m.js +1 -0
  129. package/dist/assets/scheme-DWYXU9Gm.js +1 -0
  130. package/dist/assets/scroll-area-DfPMtFw0.js +1 -0
  131. package/dist/assets/scss-Fo6PaAQp.js +3 -0
  132. package/dist/assets/select-B5gV6YUf.js +1 -0
  133. package/dist/assets/shell-gQZQk28C.js +1 -0
  134. package/dist/assets/shortcut-hints-CfVf0REF.js +1 -0
  135. package/dist/assets/solidity-np-sz1ji.js +1 -0
  136. package/dist/assets/sophia-Cpc3f9d7.js +1 -0
  137. package/dist/assets/sparql-BM_09I__.js +1 -0
  138. package/dist/assets/split-button-C7J0EKrF.js +1 -0
  139. package/dist/assets/sql-wg3M4gQ8.js +1 -0
  140. package/dist/assets/square-CvSqzenY.js +1 -0
  141. package/dist/assets/st-CRbYFk1r.js +1 -0
  142. package/dist/assets/step-name-pills-COKv64-4.js +1 -0
  143. package/dist/assets/suite-editor-CaMQ5mWb.js +5 -0
  144. package/dist/assets/suite-navbar-CnJmeIp-.js +1 -0
  145. package/dist/assets/suite-viewer-HsI0Pn4t.js +1 -0
  146. package/dist/assets/suites-Cbjz7uPI.js +1 -0
  147. package/dist/assets/swift-B8HA7HL5.js +1 -0
  148. package/dist/assets/switch-BOdp7A9U.js +1 -0
  149. package/dist/assets/systemverilog-Dm-upaoS.js +1 -0
  150. package/dist/assets/tab-console-CLKFTABo.js +1 -0
  151. package/dist/assets/table-DL0PmHAE.js +1 -0
  152. package/dist/assets/tabs-CfNQIHt-.js +1 -0
  153. package/dist/assets/tcl-BroSe0zp.js +1 -0
  154. package/dist/assets/test-editor-CIRL6zSb.js +9 -0
  155. package/dist/assets/test-navbar-CZhYoxgB.js +7 -0
  156. package/dist/assets/test-viewer-C6Rg-HeW.js +1 -0
  157. package/dist/assets/tests-C0Xhq39F.js +1 -0
  158. package/dist/assets/tests-suites-table-widths-tlOYaS72.js +1 -0
  159. package/dist/assets/textarea-ByegDm2e.js +1 -0
  160. package/dist/assets/trash-2-CawFHfTJ.js +1 -0
  161. package/dist/assets/ts.worker-METxwbDZ.js +67719 -0
  162. package/dist/assets/tsMode-DGJI_hpV.js +11 -0
  163. package/dist/assets/twig-C-LV7gG6.js +1 -0
  164. package/dist/assets/typescript-BrDOgG8S.js +1 -0
  165. package/dist/assets/typespec-DxaoVH5m.js +1 -0
  166. package/dist/assets/use-hook-run-session-Cjqu9VED.js +1 -0
  167. package/dist/assets/use-keyboard-shortcuts-BRF3cm7O.js +1 -0
  168. package/dist/assets/use-page-title-CK82kWb2.js +1 -0
  169. package/dist/assets/use-run-status-favicon-DoJZcfHz.js +1 -0
  170. package/dist/assets/use-selection-queue-CZ4rXNAT.js +1 -0
  171. package/dist/assets/vb-qvhMNncD.js +1 -0
  172. package/dist/assets/viewer-url-state-CZTYs75z.js +1 -0
  173. package/dist/assets/wgsl-CZM87x1c.js +298 -0
  174. package/dist/assets/workers-BbHjH3Kx.js +1 -0
  175. package/dist/assets/xml-6YL6VXLw.js +1 -0
  176. package/dist/assets/yaml-sHG1-XNr.js +1 -0
  177. package/dist/assets/zap-C7OZlYXQ.js +1 -0
  178. package/dist/favicon.svg +3 -0
  179. package/dist/index.html +37 -0
  180. package/package.json +81 -3
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`"`,close:`"`,notIn:[`string`,`comment`]},{open:`{`,close:`}`,notIn:[`string`,`comment`]},{open:`[`,close:`]`,notIn:[`string`,`comment`]},{open:`(`,close:`)`,notIn:[`string`,`comment`]}]},t={defaultToken:``,tokenPostfix:`.sol`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`pragma.solidity.contract.library.using.struct.function.modifier.constructor.address.string.bool.Int.Uint.Byte.Fixed.Ufixed.int.int8.int16.int24.int32.int40.int48.int56.int64.int72.int80.int88.int96.int104.int112.int120.int128.int136.int144.int152.int160.int168.int176.int184.int192.int200.int208.int216.int224.int232.int240.int248.int256.uint.uint8.uint16.uint24.uint32.uint40.uint48.uint56.uint64.uint72.uint80.uint88.uint96.uint104.uint112.uint120.uint128.uint136.uint144.uint152.uint160.uint168.uint176.uint184.uint192.uint200.uint208.uint216.uint224.uint232.uint240.uint248.uint256.byte.bytes.bytes1.bytes2.bytes3.bytes4.bytes5.bytes6.bytes7.bytes8.bytes9.bytes10.bytes11.bytes12.bytes13.bytes14.bytes15.bytes16.bytes17.bytes18.bytes19.bytes20.bytes21.bytes22.bytes23.bytes24.bytes25.bytes26.bytes27.bytes28.bytes29.bytes30.bytes31.bytes32.fixed.fixed0x8.fixed0x16.fixed0x24.fixed0x32.fixed0x40.fixed0x48.fixed0x56.fixed0x64.fixed0x72.fixed0x80.fixed0x88.fixed0x96.fixed0x104.fixed0x112.fixed0x120.fixed0x128.fixed0x136.fixed0x144.fixed0x152.fixed0x160.fixed0x168.fixed0x176.fixed0x184.fixed0x192.fixed0x200.fixed0x208.fixed0x216.fixed0x224.fixed0x232.fixed0x240.fixed0x248.fixed0x256.fixed8x8.fixed8x16.fixed8x24.fixed8x32.fixed8x40.fixed8x48.fixed8x56.fixed8x64.fixed8x72.fixed8x80.fixed8x88.fixed8x96.fixed8x104.fixed8x112.fixed8x120.fixed8x128.fixed8x136.fixed8x144.fixed8x152.fixed8x160.fixed8x168.fixed8x176.fixed8x184.fixed8x192.fixed8x200.fixed8x208.fixed8x216.fixed8x224.fixed8x232.fixed8x240.fixed8x248.fixed16x8.fixed16x16.fixed16x24.fixed16x32.fixed16x40.fixed16x48.fixed16x56.fixed16x64.fixed16x72.fixed16x80.fixed16x88.fixed16x96.fixed16x104.fixed16x112.fixed16x120.fixed16x128.fixed16x136.fixed16x144.fixed16x152.fixed16x160.fixed16x168.fixed16x176.fixed16x184.fixed16x192.fixed16x200.fixed16x208.fixed16x216.fixed16x224.fixed16x232.fixed16x240.fixed24x8.fixed24x16.fixed24x24.fixed24x32.fixed24x40.fixed24x48.fixed24x56.fixed24x64.fixed24x72.fixed24x80.fixed24x88.fixed24x96.fixed24x104.fixed24x112.fixed24x120.fixed24x128.fixed24x136.fixed24x144.fixed24x152.fixed24x160.fixed24x168.fixed24x176.fixed24x184.fixed24x192.fixed24x200.fixed24x208.fixed24x216.fixed24x224.fixed24x232.fixed32x8.fixed32x16.fixed32x24.fixed32x32.fixed32x40.fixed32x48.fixed32x56.fixed32x64.fixed32x72.fixed32x80.fixed32x88.fixed32x96.fixed32x104.fixed32x112.fixed32x120.fixed32x128.fixed32x136.fixed32x144.fixed32x152.fixed32x160.fixed32x168.fixed32x176.fixed32x184.fixed32x192.fixed32x200.fixed32x208.fixed32x216.fixed32x224.fixed40x8.fixed40x16.fixed40x24.fixed40x32.fixed40x40.fixed40x48.fixed40x56.fixed40x64.fixed40x72.fixed40x80.fixed40x88.fixed40x96.fixed40x104.fixed40x112.fixed40x120.fixed40x128.fixed40x136.fixed40x144.fixed40x152.fixed40x160.fixed40x168.fixed40x176.fixed40x184.fixed40x192.fixed40x200.fixed40x208.fixed40x216.fixed48x8.fixed48x16.fixed48x24.fixed48x32.fixed48x40.fixed48x48.fixed48x56.fixed48x64.fixed48x72.fixed48x80.fixed48x88.fixed48x96.fixed48x104.fixed48x112.fixed48x120.fixed48x128.fixed48x136.fixed48x144.fixed48x152.fixed48x160.fixed48x168.fixed48x176.fixed48x184.fixed48x192.fixed48x200.fixed48x208.fixed56x8.fixed56x16.fixed56x24.fixed56x32.fixed56x40.fixed56x48.fixed56x56.fixed56x64.fixed56x72.fixed56x80.fixed56x88.fixed56x96.fixed56x104.fixed56x112.fixed56x120.fixed56x128.fixed56x136.fixed56x144.fixed56x152.fixed56x160.fixed56x168.fixed56x176.fixed56x184.fixed56x192.fixed56x200.fixed64x8.fixed64x16.fixed64x24.fixed64x32.fixed64x40.fixed64x48.fixed64x56.fixed64x64.fixed64x72.fixed64x80.fixed64x88.fixed64x96.fixed64x104.fixed64x112.fixed64x120.fixed64x128.fixed64x136.fixed64x144.fixed64x152.fixed64x160.fixed64x168.fixed64x176.fixed64x184.fixed64x192.fixed72x8.fixed72x16.fixed72x24.fixed72x32.fixed72x40.fixed72x48.fixed72x56.fixed72x64.fixed72x72.fixed72x80.fixed72x88.fixed72x96.fixed72x104.fixed72x112.fixed72x120.fixed72x128.fixed72x136.fixed72x144.fixed72x152.fixed72x160.fixed72x168.fixed72x176.fixed72x184.fixed80x8.fixed80x16.fixed80x24.fixed80x32.fixed80x40.fixed80x48.fixed80x56.fixed80x64.fixed80x72.fixed80x80.fixed80x88.fixed80x96.fixed80x104.fixed80x112.fixed80x120.fixed80x128.fixed80x136.fixed80x144.fixed80x152.fixed80x160.fixed80x168.fixed80x176.fixed88x8.fixed88x16.fixed88x24.fixed88x32.fixed88x40.fixed88x48.fixed88x56.fixed88x64.fixed88x72.fixed88x80.fixed88x88.fixed88x96.fixed88x104.fixed88x112.fixed88x120.fixed88x128.fixed88x136.fixed88x144.fixed88x152.fixed88x160.fixed88x168.fixed96x8.fixed96x16.fixed96x24.fixed96x32.fixed96x40.fixed96x48.fixed96x56.fixed96x64.fixed96x72.fixed96x80.fixed96x88.fixed96x96.fixed96x104.fixed96x112.fixed96x120.fixed96x128.fixed96x136.fixed96x144.fixed96x152.fixed96x160.fixed104x8.fixed104x16.fixed104x24.fixed104x32.fixed104x40.fixed104x48.fixed104x56.fixed104x64.fixed104x72.fixed104x80.fixed104x88.fixed104x96.fixed104x104.fixed104x112.fixed104x120.fixed104x128.fixed104x136.fixed104x144.fixed104x152.fixed112x8.fixed112x16.fixed112x24.fixed112x32.fixed112x40.fixed112x48.fixed112x56.fixed112x64.fixed112x72.fixed112x80.fixed112x88.fixed112x96.fixed112x104.fixed112x112.fixed112x120.fixed112x128.fixed112x136.fixed112x144.fixed120x8.fixed120x16.fixed120x24.fixed120x32.fixed120x40.fixed120x48.fixed120x56.fixed120x64.fixed120x72.fixed120x80.fixed120x88.fixed120x96.fixed120x104.fixed120x112.fixed120x120.fixed120x128.fixed120x136.fixed128x8.fixed128x16.fixed128x24.fixed128x32.fixed128x40.fixed128x48.fixed128x56.fixed128x64.fixed128x72.fixed128x80.fixed128x88.fixed128x96.fixed128x104.fixed128x112.fixed128x120.fixed128x128.fixed136x8.fixed136x16.fixed136x24.fixed136x32.fixed136x40.fixed136x48.fixed136x56.fixed136x64.fixed136x72.fixed136x80.fixed136x88.fixed136x96.fixed136x104.fixed136x112.fixed136x120.fixed144x8.fixed144x16.fixed144x24.fixed144x32.fixed144x40.fixed144x48.fixed144x56.fixed144x64.fixed144x72.fixed144x80.fixed144x88.fixed144x96.fixed144x104.fixed144x112.fixed152x8.fixed152x16.fixed152x24.fixed152x32.fixed152x40.fixed152x48.fixed152x56.fixed152x64.fixed152x72.fixed152x80.fixed152x88.fixed152x96.fixed152x104.fixed160x8.fixed160x16.fixed160x24.fixed160x32.fixed160x40.fixed160x48.fixed160x56.fixed160x64.fixed160x72.fixed160x80.fixed160x88.fixed160x96.fixed168x8.fixed168x16.fixed168x24.fixed168x32.fixed168x40.fixed168x48.fixed168x56.fixed168x64.fixed168x72.fixed168x80.fixed168x88.fixed176x8.fixed176x16.fixed176x24.fixed176x32.fixed176x40.fixed176x48.fixed176x56.fixed176x64.fixed176x72.fixed176x80.fixed184x8.fixed184x16.fixed184x24.fixed184x32.fixed184x40.fixed184x48.fixed184x56.fixed184x64.fixed184x72.fixed192x8.fixed192x16.fixed192x24.fixed192x32.fixed192x40.fixed192x48.fixed192x56.fixed192x64.fixed200x8.fixed200x16.fixed200x24.fixed200x32.fixed200x40.fixed200x48.fixed200x56.fixed208x8.fixed208x16.fixed208x24.fixed208x32.fixed208x40.fixed208x48.fixed216x8.fixed216x16.fixed216x24.fixed216x32.fixed216x40.fixed224x8.fixed224x16.fixed224x24.fixed224x32.fixed232x8.fixed232x16.fixed232x24.fixed240x8.fixed240x16.fixed248x8.ufixed.ufixed0x8.ufixed0x16.ufixed0x24.ufixed0x32.ufixed0x40.ufixed0x48.ufixed0x56.ufixed0x64.ufixed0x72.ufixed0x80.ufixed0x88.ufixed0x96.ufixed0x104.ufixed0x112.ufixed0x120.ufixed0x128.ufixed0x136.ufixed0x144.ufixed0x152.ufixed0x160.ufixed0x168.ufixed0x176.ufixed0x184.ufixed0x192.ufixed0x200.ufixed0x208.ufixed0x216.ufixed0x224.ufixed0x232.ufixed0x240.ufixed0x248.ufixed0x256.ufixed8x8.ufixed8x16.ufixed8x24.ufixed8x32.ufixed8x40.ufixed8x48.ufixed8x56.ufixed8x64.ufixed8x72.ufixed8x80.ufixed8x88.ufixed8x96.ufixed8x104.ufixed8x112.ufixed8x120.ufixed8x128.ufixed8x136.ufixed8x144.ufixed8x152.ufixed8x160.ufixed8x168.ufixed8x176.ufixed8x184.ufixed8x192.ufixed8x200.ufixed8x208.ufixed8x216.ufixed8x224.ufixed8x232.ufixed8x240.ufixed8x248.ufixed16x8.ufixed16x16.ufixed16x24.ufixed16x32.ufixed16x40.ufixed16x48.ufixed16x56.ufixed16x64.ufixed16x72.ufixed16x80.ufixed16x88.ufixed16x96.ufixed16x104.ufixed16x112.ufixed16x120.ufixed16x128.ufixed16x136.ufixed16x144.ufixed16x152.ufixed16x160.ufixed16x168.ufixed16x176.ufixed16x184.ufixed16x192.ufixed16x200.ufixed16x208.ufixed16x216.ufixed16x224.ufixed16x232.ufixed16x240.ufixed24x8.ufixed24x16.ufixed24x24.ufixed24x32.ufixed24x40.ufixed24x48.ufixed24x56.ufixed24x64.ufixed24x72.ufixed24x80.ufixed24x88.ufixed24x96.ufixed24x104.ufixed24x112.ufixed24x120.ufixed24x128.ufixed24x136.ufixed24x144.ufixed24x152.ufixed24x160.ufixed24x168.ufixed24x176.ufixed24x184.ufixed24x192.ufixed24x200.ufixed24x208.ufixed24x216.ufixed24x224.ufixed24x232.ufixed32x8.ufixed32x16.ufixed32x24.ufixed32x32.ufixed32x40.ufixed32x48.ufixed32x56.ufixed32x64.ufixed32x72.ufixed32x80.ufixed32x88.ufixed32x96.ufixed32x104.ufixed32x112.ufixed32x120.ufixed32x128.ufixed32x136.ufixed32x144.ufixed32x152.ufixed32x160.ufixed32x168.ufixed32x176.ufixed32x184.ufixed32x192.ufixed32x200.ufixed32x208.ufixed32x216.ufixed32x224.ufixed40x8.ufixed40x16.ufixed40x24.ufixed40x32.ufixed40x40.ufixed40x48.ufixed40x56.ufixed40x64.ufixed40x72.ufixed40x80.ufixed40x88.ufixed40x96.ufixed40x104.ufixed40x112.ufixed40x120.ufixed40x128.ufixed40x136.ufixed40x144.ufixed40x152.ufixed40x160.ufixed40x168.ufixed40x176.ufixed40x184.ufixed40x192.ufixed40x200.ufixed40x208.ufixed40x216.ufixed48x8.ufixed48x16.ufixed48x24.ufixed48x32.ufixed48x40.ufixed48x48.ufixed48x56.ufixed48x64.ufixed48x72.ufixed48x80.ufixed48x88.ufixed48x96.ufixed48x104.ufixed48x112.ufixed48x120.ufixed48x128.ufixed48x136.ufixed48x144.ufixed48x152.ufixed48x160.ufixed48x168.ufixed48x176.ufixed48x184.ufixed48x192.ufixed48x200.ufixed48x208.ufixed56x8.ufixed56x16.ufixed56x24.ufixed56x32.ufixed56x40.ufixed56x48.ufixed56x56.ufixed56x64.ufixed56x72.ufixed56x80.ufixed56x88.ufixed56x96.ufixed56x104.ufixed56x112.ufixed56x120.ufixed56x128.ufixed56x136.ufixed56x144.ufixed56x152.ufixed56x160.ufixed56x168.ufixed56x176.ufixed56x184.ufixed56x192.ufixed56x200.ufixed64x8.ufixed64x16.ufixed64x24.ufixed64x32.ufixed64x40.ufixed64x48.ufixed64x56.ufixed64x64.ufixed64x72.ufixed64x80.ufixed64x88.ufixed64x96.ufixed64x104.ufixed64x112.ufixed64x120.ufixed64x128.ufixed64x136.ufixed64x144.ufixed64x152.ufixed64x160.ufixed64x168.ufixed64x176.ufixed64x184.ufixed64x192.ufixed72x8.ufixed72x16.ufixed72x24.ufixed72x32.ufixed72x40.ufixed72x48.ufixed72x56.ufixed72x64.ufixed72x72.ufixed72x80.ufixed72x88.ufixed72x96.ufixed72x104.ufixed72x112.ufixed72x120.ufixed72x128.ufixed72x136.ufixed72x144.ufixed72x152.ufixed72x160.ufixed72x168.ufixed72x176.ufixed72x184.ufixed80x8.ufixed80x16.ufixed80x24.ufixed80x32.ufixed80x40.ufixed80x48.ufixed80x56.ufixed80x64.ufixed80x72.ufixed80x80.ufixed80x88.ufixed80x96.ufixed80x104.ufixed80x112.ufixed80x120.ufixed80x128.ufixed80x136.ufixed80x144.ufixed80x152.ufixed80x160.ufixed80x168.ufixed80x176.ufixed88x8.ufixed88x16.ufixed88x24.ufixed88x32.ufixed88x40.ufixed88x48.ufixed88x56.ufixed88x64.ufixed88x72.ufixed88x80.ufixed88x88.ufixed88x96.ufixed88x104.ufixed88x112.ufixed88x120.ufixed88x128.ufixed88x136.ufixed88x144.ufixed88x152.ufixed88x160.ufixed88x168.ufixed96x8.ufixed96x16.ufixed96x24.ufixed96x32.ufixed96x40.ufixed96x48.ufixed96x56.ufixed96x64.ufixed96x72.ufixed96x80.ufixed96x88.ufixed96x96.ufixed96x104.ufixed96x112.ufixed96x120.ufixed96x128.ufixed96x136.ufixed96x144.ufixed96x152.ufixed96x160.ufixed104x8.ufixed104x16.ufixed104x24.ufixed104x32.ufixed104x40.ufixed104x48.ufixed104x56.ufixed104x64.ufixed104x72.ufixed104x80.ufixed104x88.ufixed104x96.ufixed104x104.ufixed104x112.ufixed104x120.ufixed104x128.ufixed104x136.ufixed104x144.ufixed104x152.ufixed112x8.ufixed112x16.ufixed112x24.ufixed112x32.ufixed112x40.ufixed112x48.ufixed112x56.ufixed112x64.ufixed112x72.ufixed112x80.ufixed112x88.ufixed112x96.ufixed112x104.ufixed112x112.ufixed112x120.ufixed112x128.ufixed112x136.ufixed112x144.ufixed120x8.ufixed120x16.ufixed120x24.ufixed120x32.ufixed120x40.ufixed120x48.ufixed120x56.ufixed120x64.ufixed120x72.ufixed120x80.ufixed120x88.ufixed120x96.ufixed120x104.ufixed120x112.ufixed120x120.ufixed120x128.ufixed120x136.ufixed128x8.ufixed128x16.ufixed128x24.ufixed128x32.ufixed128x40.ufixed128x48.ufixed128x56.ufixed128x64.ufixed128x72.ufixed128x80.ufixed128x88.ufixed128x96.ufixed128x104.ufixed128x112.ufixed128x120.ufixed128x128.ufixed136x8.ufixed136x16.ufixed136x24.ufixed136x32.ufixed136x40.ufixed136x48.ufixed136x56.ufixed136x64.ufixed136x72.ufixed136x80.ufixed136x88.ufixed136x96.ufixed136x104.ufixed136x112.ufixed136x120.ufixed144x8.ufixed144x16.ufixed144x24.ufixed144x32.ufixed144x40.ufixed144x48.ufixed144x56.ufixed144x64.ufixed144x72.ufixed144x80.ufixed144x88.ufixed144x96.ufixed144x104.ufixed144x112.ufixed152x8.ufixed152x16.ufixed152x24.ufixed152x32.ufixed152x40.ufixed152x48.ufixed152x56.ufixed152x64.ufixed152x72.ufixed152x80.ufixed152x88.ufixed152x96.ufixed152x104.ufixed160x8.ufixed160x16.ufixed160x24.ufixed160x32.ufixed160x40.ufixed160x48.ufixed160x56.ufixed160x64.ufixed160x72.ufixed160x80.ufixed160x88.ufixed160x96.ufixed168x8.ufixed168x16.ufixed168x24.ufixed168x32.ufixed168x40.ufixed168x48.ufixed168x56.ufixed168x64.ufixed168x72.ufixed168x80.ufixed168x88.ufixed176x8.ufixed176x16.ufixed176x24.ufixed176x32.ufixed176x40.ufixed176x48.ufixed176x56.ufixed176x64.ufixed176x72.ufixed176x80.ufixed184x8.ufixed184x16.ufixed184x24.ufixed184x32.ufixed184x40.ufixed184x48.ufixed184x56.ufixed184x64.ufixed184x72.ufixed192x8.ufixed192x16.ufixed192x24.ufixed192x32.ufixed192x40.ufixed192x48.ufixed192x56.ufixed192x64.ufixed200x8.ufixed200x16.ufixed200x24.ufixed200x32.ufixed200x40.ufixed200x48.ufixed200x56.ufixed208x8.ufixed208x16.ufixed208x24.ufixed208x32.ufixed208x40.ufixed208x48.ufixed216x8.ufixed216x16.ufixed216x24.ufixed216x32.ufixed216x40.ufixed224x8.ufixed224x16.ufixed224x24.ufixed224x32.ufixed232x8.ufixed232x16.ufixed232x24.ufixed240x8.ufixed240x16.ufixed248x8.event.enum.let.mapping.private.public.external.inherited.payable.true.false.var.import.constant.if.else.for.else.for.while.do.break.continue.throw.returns.return.suicide.new.is.this.super`.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})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/\[\[.*\]\]/,`annotation`],[/^\s*#\w+/,`keyword`],[/int\d*/,`keyword`],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,`number.float`],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,`number.float`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,`number.hex`],[/0[0-7']*[0-7](@integersuffix)/,`number.octal`],[/0[bB][0-1']*[0-1](@integersuffix)/,`number.binary`],[/\d[\d']*\d(@integersuffix)/,`number`],[/\d(@integersuffix)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@doccomment`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],doccomment:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`"`,close:`"`,notIn:[`string`,`comment`]},{open:`{`,close:`}`,notIn:[`string`,`comment`]},{open:`[`,close:`]`,notIn:[`string`,`comment`]},{open:`(`,close:`)`,notIn:[`string`,`comment`]}]},t={defaultToken:``,tokenPostfix:`.aes`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`contract.library.entrypoint.function.stateful.state.hash.signature.tuple.list.address.string.bool.int.record.datatype.type.option.oracle.oracle_query.Call.Bits.Bytes.Oracle.String.Crypto.Address.Auth.Chain.None.Some.bits.bytes.event.let.map.private.public.true.false.var.if.else.throw`.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})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/\[\[.*\]\]/,`annotation`],[/^\s*#\w+/,`keyword`],[/int\d*/,`keyword`],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,`number.float`],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,`number.float`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,`number.hex`],[/0[0-7']*[0-7](@integersuffix)/,`number.octal`],[/0[bB][0-1']*[0-1](@integersuffix)/,`number.binary`],[/\d[\d']*\d(@integersuffix)/,`number`],[/\d(@integersuffix)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@doccomment`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],doccomment:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`'`,close:`'`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`}]},t={defaultToken:``,tokenPostfix:`.rq`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`add.as.asc.ask.base.by.clear.construct.copy.create.data.delete.desc.describe.distinct.drop.false.filter.from.graph.group.having.in.insert.limit.load.minus.move.named.not.offset.optional.order.prefix.reduced.select.service.silent.to.true.undef.union.using.values.where.with`.split(`.`),builtinFunctions:`a.abs.avg.bind.bnode.bound.ceil.coalesce.concat.contains.count.datatype.day.encode_for_uri.exists.floor.group_concat.hours.if.iri.isblank.isiri.isliteral.isnumeric.isuri.lang.langmatches.lcase.max.md5.min.minutes.month.now.rand.regex.replace.round.sameterm.sample.seconds.sha1.sha256.sha384.sha512.str.strafter.strbefore.strdt.strends.strlang.strlen.strstarts.struuid.substr.sum.timezone.tz.ucase.uri.uuid.year`.split(`.`),ignoreCase:!0,tokenizer:{root:[[/<[^\s\u00a0>]*>?/,`tag`],{include:`@strings`},[/#.*/,`comment`],[/[{}()\[\]]/,`@brackets`],[/[;,.]/,`delimiter`],[/[_\w\d]+:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])*/,`tag`],[/:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/,`tag`],[/[$?]?[_\w\d]+/,{cases:{"@keywords":{token:`keyword`},"@builtinFunctions":{token:`predefined.sql`},"@default":`identifier`}}],[/\^\^/,`operator.sql`],[/\^[*+\-<>=&|^\/!?]*/,`operator.sql`],[/[*+\-<>=&|\/!?]/,`operator.sql`],[/@[a-z\d\-]*/,`metatag.html`],[/\s+/,`white`]],strings:[[/'([^'\\]|\\.)*$/,`string.invalid`],[/'$/,`string.sql`,`@pop`],[/'/,`string.sql`,`@stringBody`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"$/,`string.sql`,`@pop`],[/"/,`string.sql`,`@dblStringBody`]],stringBody:[[/[^\\']+/,`string.sql`],[/\\./,`string.escape`],[/'/,`string.sql`,`@pop`]],dblStringBody:[[/[^\\"]+/,`string.sql`],[/\\./,`string.escape`],[/"/,`string.sql`,`@pop`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{l as t}from"./select-B5gV6YUf.js";import{t as n}from"./shortcut-hints-CfVf0REF.js";import{t as r}from"./dist-o2A-YJGQ.js";import{r as i}from"./use-page-title-CK82kWb2.js";import{n as a,r as o,t as s}from"./dist-DZYW0-Ta.js";import{$t as c,An as l,B as u,Cn as d,En as f,Ht as p,Ln as m,On as h,Qt as g,Sn as _,Tn as v,Ut as y,Xt as ee,Yt as te,Zn as b,Zt as ne,_n as x,bn as re,dn as S,fn as ie,fr as ae,gn as oe,hn as se,jn as C,mn as w,pn as ce,qn as T,vn as E,yn as D}from"./index-B3xPCIyH.js";var O=T(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),k=T(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),A=e(ae(),1),j=b(),M=[`Enter`,` `],le=[`ArrowDown`,`PageUp`,`Home`],ue=[`ArrowUp`,`PageDown`,`End`],de=[...le,...ue],fe={ltr:[...M,`ArrowRight`],rtl:[...M,`ArrowLeft`]},N={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},P=`Menu`,[F,pe,me]=r(P),[I,he]=d(P,[me,c,o]),L=c(),ge=o(),[_e,R]=I(P),[ve,z]=I(P),ye=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:o,modal:s=!0}=e,c=L(t),[l,u]=A.useState(null),d=A.useRef(!1),f=x(o),p=i(a);return A.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,j.jsx)(g,{...c,children:(0,j.jsx)(_e,{scope:t,open:n,onOpenChange:f,content:l,onContentChange:u,children:(0,j.jsx)(ve,{scope:t,onClose:A.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:d,dir:p,modal:s,children:r})})})};ye.displayName=P;var be=`MenuAnchor`,xe=A.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,j.jsx)(te,{...i,...r,ref:t})});xe.displayName=be;var Se=`MenuPortal`,[Ce,we]=I(Se,{forceMount:void 0}),Te=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=R(Se,t);return(0,j.jsx)(Ce,{scope:t,forceMount:n,children:(0,j.jsx)(D,{present:n||a.open,children:(0,j.jsx)(w,{asChild:!0,container:i,children:r})})})};Te.displayName=Se;var B=`MenuContent`,[Ee,V]=I(B),De=A.forwardRef((e,t)=>{let n=we(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(B,e.__scopeMenu),o=z(B,e.__scopeMenu);return(0,j.jsx)(F.Provider,{scope:e.__scopeMenu,children:(0,j.jsx)(D,{present:r||a.open,children:(0,j.jsx)(F.Slot,{scope:e.__scopeMenu,children:o.modal?(0,j.jsx)(Oe,{...i,ref:t}):(0,j.jsx)(ke,{...i,ref:t})})})})}),Oe=A.forwardRef((e,t)=>{let n=R(B,e.__scopeMenu),r=A.useRef(null),i=C(t,r);return A.useEffect(()=>{let e=r.current;if(e)return S(e)},[]),(0,j.jsx)(H,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:_(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ke=A.forwardRef((e,t)=>{let n=R(B,e.__scopeMenu);return(0,j.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ae=h(`MenuContent.ScrollLock`),H=A.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:p,onDismiss:m,disableOutsideScroll:h,...g}=e,v=R(B,n),y=z(B,n),ee=L(n),te=ge(n),b=pe(n),[x,re]=A.useState(null),S=A.useRef(null),ae=C(t,S,v.onContentChange),w=A.useRef(0),T=A.useRef(``),E=A.useRef(0),D=A.useRef(null),O=A.useRef(`right`),k=A.useRef(0),M=h?ie:A.Fragment,le=h?{as:Ae,allowPinchZoom:!0}:void 0,fe=e=>{let t=T.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=ct(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){T.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};A.useEffect(()=>()=>window.clearTimeout(w.current),[]),ce();let N=A.useCallback(e=>O.current===D.current?.side&&ut(e,D.current?.area),[]);return(0,j.jsx)(Ee,{scope:n,searchRef:T,onItemEnter:A.useCallback(e=>{N(e)&&e.preventDefault()},[N]),onItemLeave:A.useCallback(e=>{N(e)||(S.current?.focus(),re(null))},[N]),onTriggerLeave:A.useCallback(e=>{N(e)&&e.preventDefault()},[N]),pointerGraceTimerRef:E,onPointerGraceIntentChange:A.useCallback(e=>{D.current=e},[]),children:(0,j.jsx)(M,{...le,children:(0,j.jsx)(se,{asChild:!0,trapped:i,onMountAutoFocus:_(o,e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,j.jsx)(oe,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:p,onDismiss:m,children:(0,j.jsx)(a,{asChild:!0,...te,dir:y.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:re,onEntryFocus:_(l,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,j.jsx)(ne,{role:`menu`,"aria-orientation":`vertical`,"data-state":it(v.open),"data-radix-menu-content":``,dir:y.dir,...ee,...g,ref:ae,style:{outline:`none`,...g.style},onKeyDown:_(g.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&fe(e.key));let i=S.current;if(e.target!==i||!de.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);ue.includes(e.key)&&a.reverse(),ot(a)}),onBlur:_(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),T.current=``)}),onPointerMove:_(e.onPointerMove,Y(e=>{let t=e.target,n=k.current!==e.clientX;e.currentTarget.contains(t)&&n&&(O.current=e.clientX>k.current?`right`:`left`,k.current=e.clientX)}))})})})})})})});De.displayName=B;var je=`MenuGroup`,U=A.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,j.jsx)(v.div,{role:`group`,...r,ref:t})});U.displayName=je;var Me=`MenuLabel`,Ne=A.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,j.jsx)(v.div,{...r,ref:t})});Ne.displayName=Me;var W=`MenuItem`,Pe=`menu.itemSelect`,G=A.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=A.useRef(null),o=z(W,e.__scopeMenu),s=V(W,e.__scopeMenu),c=C(t,a),l=A.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Pe,{bubbles:!0,cancelable:!0});e.addEventListener(Pe,e=>r?.(e),{once:!0}),f(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,j.jsx)(Fe,{...i,ref:c,disabled:n,onClick:_(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:_(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:_(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||M.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});G.displayName=W;var Fe=A.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=V(W,n),c=ge(n),l=A.useRef(null),u=C(t,l),[d,f]=A.useState(!1),[p,m]=A.useState(``);return A.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[a.children]),(0,j.jsx)(F.ItemSlot,{scope:n,disabled:r,textValue:i??p,children:(0,j.jsx)(s,{asChild:!0,...c,focusable:!r,children:(0,j.jsx)(v.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:_(e.onPointerMove,Y(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:_(e.onPointerLeave,Y(e=>o.onItemLeave(e))),onFocus:_(e.onFocus,()=>f(!0)),onBlur:_(e.onBlur,()=>f(!1))})})})}),Ie=`MenuCheckboxItem`,Le=A.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,j.jsx)(We,{scope:e.__scopeMenu,checked:n,children:(0,j.jsx)(G,{role:`menuitemcheckbox`,"aria-checked":J(n)?`mixed`:n,...i,ref:t,"data-state":at(n),onSelect:_(i.onSelect,()=>r?.(J(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Le.displayName=Ie;var Re=`MenuRadioGroup`,[ze,Be]=I(Re,{value:void 0,onValueChange:()=>{}}),Ve=A.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=x(r);return(0,j.jsx)(ze,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,j.jsx)(U,{...i,ref:t})})});Ve.displayName=Re;var He=`MenuRadioItem`,Ue=A.forwardRef((e,t)=>{let{value:n,...r}=e,i=Be(He,e.__scopeMenu),a=n===i.value;return(0,j.jsx)(We,{scope:e.__scopeMenu,checked:a,children:(0,j.jsx)(G,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":at(a),onSelect:_(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ue.displayName=He;var K=`MenuItemIndicator`,[We,Ge]=I(K,{checked:!1}),Ke=A.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Ge(K,n);return(0,j.jsx)(D,{present:r||J(a.checked)||a.checked===!0,children:(0,j.jsx)(v.span,{...i,ref:t,"data-state":at(a.checked)})})});Ke.displayName=K;var qe=`MenuSeparator`,Je=A.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,j.jsx)(v.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Je.displayName=qe;var Ye=`MenuArrow`,Xe=A.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,j.jsx)(ee,{...i,...r,ref:t})});Xe.displayName=Ye;var Ze=`MenuSub`,[Qe,$e]=I(Ze),et=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=R(Ze,t),o=L(t),[s,c]=A.useState(null),[l,u]=A.useState(null),d=x(i);return A.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,j.jsx)(g,{...o,children:(0,j.jsx)(_e,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,j.jsx)(Qe,{scope:t,contentId:E(),triggerId:E(),trigger:s,onTriggerChange:c,children:n})})})};et.displayName=Ze;var q=`MenuSubTrigger`,tt=A.forwardRef((e,t)=>{let n=R(q,e.__scopeMenu),r=z(q,e.__scopeMenu),i=$e(q,e.__scopeMenu),a=V(q,e.__scopeMenu),o=A.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,u={__scopeMenu:e.__scopeMenu},d=A.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return A.useEffect(()=>d,[d]),A.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,j.jsx)(xe,{asChild:!0,...u,children:(0,j.jsx)(Fe,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":it(n.open),...e,ref:l(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:_(e.onPointerMove,Y(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:_(e.onPointerLeave,Y(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:_(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||fe[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});tt.displayName=q;var nt=`MenuSubContent`,rt=A.forwardRef((e,t)=>{let n=we(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(B,e.__scopeMenu),o=z(B,e.__scopeMenu),s=$e(nt,e.__scopeMenu),c=A.useRef(null),l=C(t,c);return(0,j.jsx)(F.Provider,{scope:e.__scopeMenu,children:(0,j.jsx)(D,{present:r||a.open,children:(0,j.jsx)(F.Slot,{scope:e.__scopeMenu,children:(0,j.jsx)(H,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:_(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:_(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:_(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=N[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});rt.displayName=nt;function it(e){return e?`open`:`closed`}function J(e){return e===`indeterminate`}function at(e){return J(e)?`indeterminate`:e?`checked`:`unchecked`}function ot(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function st(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function ct(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=st(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function lt(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function ut(e,t){return t?lt({x:e.clientX,y:e.clientY},t):!1}function Y(e){return t=>t.pointerType===`mouse`?e(t):void 0}var dt=ye,ft=xe,pt=Te,mt=De,ht=U,gt=Ne,_t=G,vt=Le,yt=Ve,bt=Ue,xt=Ke,St=Je,Ct=Xe,wt=tt,Tt=rt,X=`DropdownMenu`,[Et,Dt]=d(X,[he]),Z=he(),[Ot,kt]=Et(X),At=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Z(t),l=A.useRef(null),[u,d]=re({prop:i,defaultProp:a??!1,onChange:o,caller:X});return(0,j.jsx)(Ot,{scope:t,triggerId:E(),triggerRef:l,contentId:E(),open:u,onOpenChange:d,onOpenToggle:A.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,j.jsx)(dt,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};At.displayName=X;var jt=`DropdownMenuTrigger`,Mt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=kt(jt,n),o=Z(n);return(0,j.jsx)(ft,{asChild:!0,...o,children:(0,j.jsx)(v.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:l(t,a.triggerRef),onPointerDown:_(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:_(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Mt.displayName=jt;var Nt=`DropdownMenuPortal`,Pt=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Z(t);return(0,j.jsx)(pt,{...r,...n})};Pt.displayName=Nt;var Ft=`DropdownMenuContent`,It=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=kt(Ft,n),a=Z(n),o=A.useRef(!1);return(0,j.jsx)(mt,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:_(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:_(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});It.displayName=Ft;var Lt=`DropdownMenuGroup`,Rt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(ht,{...i,...r,ref:t})});Rt.displayName=Lt;var zt=`DropdownMenuLabel`,Bt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(gt,{...i,...r,ref:t})});Bt.displayName=zt;var Vt=`DropdownMenuItem`,Ht=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(_t,{...i,...r,ref:t})});Ht.displayName=Vt;var Ut=`DropdownMenuCheckboxItem`,Wt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(vt,{...i,...r,ref:t})});Wt.displayName=Ut;var Gt=`DropdownMenuRadioGroup`,Kt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(yt,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuRadioItem`,Jt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(bt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuItemIndicator`,Xt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(xt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuSeparator`,Qt=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(St,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=`DropdownMenuArrow`,en=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(Ct,{...i,...r,ref:t})});en.displayName=$t;var tn=`DropdownMenuSubTrigger`,nn=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(wt,{...i,...r,ref:t})});nn.displayName=tn;var rn=`DropdownMenuSubContent`,an=A.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,j.jsx)(Tt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});an.displayName=rn;var on=At,sn=Mt,cn=Pt,ln=It,un=Ht,dn=Qt;function fn({...e}){return(0,j.jsx)(on,{"data-slot":`dropdown-menu`,...e})}function pn({...e}){return(0,j.jsx)(sn,{"data-slot":`dropdown-menu-trigger`,...e})}function mn({className:e,sideOffset:t=4,...n}){return(0,j.jsx)(cn,{children:(0,j.jsx)(ln,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:y(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function Q({className:e,inset:t,variant:n=`default`,...r}){return(0,j.jsx)(un,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:y(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function hn({className:e,...t}){return(0,j.jsx)(dn,{"data-slot":`dropdown-menu-separator`,className:y(`-mx-1 my-1 h-px bg-border`,e),...t})}var $=null,gn=null;function _n(){let[e,t]=(0,A.useState)(()=>$?{...$,isLoading:!1}:{defaultRunMode:`local`,hasFarm:!1,isLoading:!0});return(0,A.useEffect)(()=>{if($){t({...$,isLoading:!1});return}gn||=u().then(e=>{let t=e.config,n=t.farm;$={defaultRunMode:t.defaultRunMode===`farm`?`farm`:`local`,hasFarm:!!n?.provider}}).catch(()=>{$={defaultRunMode:`local`,hasFarm:!1}}).finally(()=>{gn=null}),gn.then(()=>{t({...$,isLoading:!1})})},[]),e}function vn({onRun:e,onRunNoCache:r,onPurgeCache:i,disabled:a=!1,size:o=`default`,className:s,label:c,shortcutKey:l}){let{hasFarm:u}=_n(),d=u||!!r||!!i,f=c??`Run`,h=l?(0,j.jsx)(n,{shortcut:l,className:`border-primary-foreground/20 bg-primary-foreground/10 text-primary-foreground`}):null;return d?(0,j.jsxs)(`div`,{className:y(`inline-flex items-center`,s),children:[(0,j.jsxs)(p,{size:o,disabled:a,onClick:()=>e(!0),className:`rounded-r-none`,children:[(0,j.jsx)(m,{className:`size-4`}),f,h]}),(0,j.jsxs)(fn,{children:[(0,j.jsx)(pn,{asChild:!0,children:(0,j.jsx)(p,{variant:`default`,size:o,disabled:a,className:`rounded-l-none border-l border-l-primary-foreground/20 px-2`,children:(0,j.jsx)(t,{className:`h-4 w-4`})})}),(0,j.jsxs)(mn,{align:`end`,children:[(0,j.jsxs)(Q,{onClick:()=>e(!0),children:[(0,j.jsx)(k,{className:`mr-2 h-4 w-4`}),`Run Local`]}),u&&(0,j.jsxs)(Q,{onClick:()=>e(!1),children:[(0,j.jsx)(O,{className:`mr-2 h-4 w-4`}),`Run on Farm`]}),(r||i)&&(0,j.jsx)(hn,{}),r&&(0,j.jsx)(Q,{onClick:()=>r(!0),children:`Run without cache`}),i&&(0,j.jsx)(Q,{onClick:i,children:`Purge cache`})]})]})]}):(0,j.jsxs)(p,{size:o,disabled:a,onClick:()=>e(!0),className:s,children:[(0,j.jsx)(m,{className:`size-4`}),f,h]})}export{Q as a,O as c,mn as i,_n as n,pn as o,fn as r,k as s,vn as t};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`--`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}]},t={defaultToken:``,tokenPostfix:`.sql`,ignoreCase:!0,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],keywords:`ABORT.ABSOLUTE.ACTION.ADA.ADD.AFTER.ALL.ALLOCATE.ALTER.ALWAYS.ANALYZE.AND.ANY.ARE.AS.ASC.ASSERTION.AT.ATTACH.AUTHORIZATION.AUTOINCREMENT.AVG.BACKUP.BEFORE.BEGIN.BETWEEN.BIT.BIT_LENGTH.BOTH.BREAK.BROWSE.BULK.BY.CASCADE.CASCADED.CASE.CAST.CATALOG.CHAR.CHARACTER.CHARACTER_LENGTH.CHAR_LENGTH.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLLATION.COLUMN.COMMIT.COMPUTE.CONFLICT.CONNECT.CONNECTION.CONSTRAINT.CONSTRAINTS.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CORRESPONDING.COUNT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATE.DAY.DBCC.DEALLOCATE.DEC.DECIMAL.DECLARE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DENY.DESC.DESCRIBE.DESCRIPTOR.DETACH.DIAGNOSTICS.DISCONNECT.DISK.DISTINCT.DISTRIBUTED.DO.DOMAIN.DOUBLE.DROP.DUMP.EACH.ELSE.END.END-EXEC.ERRLVL.ESCAPE.EXCEPT.EXCEPTION.EXCLUDE.EXCLUSIVE.EXEC.EXECUTE.EXISTS.EXIT.EXPLAIN.EXTERNAL.EXTRACT.FAIL.FALSE.FETCH.FILE.FILLFACTOR.FILTER.FIRST.FLOAT.FOLLOWING.FOR.FOREIGN.FORTRAN.FOUND.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GENERATED.GET.GLOB.GLOBAL.GO.GOTO.GRANT.GROUP.GROUPS.HAVING.HOLDLOCK.HOUR.IDENTITY.IDENTITYCOL.IDENTITY_INSERT.IF.IGNORE.IMMEDIATE.IN.INCLUDE.INDEX.INDEXED.INDICATOR.INITIALLY.INNER.INPUT.INSENSITIVE.INSERT.INSTEAD.INT.INTEGER.INTERSECT.INTERVAL.INTO.IS.ISNULL.ISOLATION.JOIN.KEY.KILL.LANGUAGE.LAST.LEADING.LEFT.LEVEL.LIKE.LIMIT.LINENO.LOAD.LOCAL.LOWER.MATCH.MATERIALIZED.MAX.MERGE.MIN.MINUTE.MODULE.MONTH.NAMES.NATIONAL.NATURAL.NCHAR.NEXT.NO.NOCHECK.NONCLUSTERED.NONE.NOT.NOTHING.NOTNULL.NULL.NULLIF.NULLS.NUMERIC.OCTET_LENGTH.OF.OFF.OFFSET.OFFSETS.ON.ONLY.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.OTHERS.OUTER.OUTPUT.OVER.OVERLAPS.PAD.PARTIAL.PARTITION.PASCAL.PERCENT.PIVOT.PLAN.POSITION.PRAGMA.PRECEDING.PRECISION.PREPARE.PRESERVE.PRIMARY.PRINT.PRIOR.PRIVILEGES.PROC.PROCEDURE.PUBLIC.QUERY.RAISE.RAISERROR.RANGE.READ.READTEXT.REAL.RECONFIGURE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELATIVE.RELEASE.RENAME.REPLACE.REPLICATION.RESTORE.RESTRICT.RETURN.RETURNING.REVERT.REVOKE.RIGHT.ROLLBACK.ROW.ROWCOUNT.ROWGUIDCOL.ROWS.RULE.SAVE.SAVEPOINT.SCHEMA.SCROLL.SECOND.SECTION.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION.SESSION_USER.SET.SETUSER.SHUTDOWN.SIZE.SMALLINT.SOME.SPACE.SQL.SQLCA.SQLCODE.SQLERROR.SQLSTATE.SQLWARNING.STATISTICS.SUBSTRING.SUM.SYSTEM_USER.TABLE.TABLESAMPLE.TEMP.TEMPORARY.TEXTSIZE.THEN.TIES.TIME.TIMESTAMP.TIMEZONE_HOUR.TIMEZONE_MINUTE.TO.TOP.TRAILING.TRAN.TRANSACTION.TRANSLATE.TRANSLATION.TRIGGER.TRIM.TRUE.TRUNCATE.TRY_CONVERT.TSEQUAL.UNBOUNDED.UNION.UNIQUE.UNKNOWN.UNPIVOT.UPDATE.UPDATETEXT.UPPER.USAGE.USE.USER.USING.VACUUM.VALUE.VALUES.VARCHAR.VARYING.VIEW.VIRTUAL.WAITFOR.WHEN.WHENEVER.WHERE.WHILE.WINDOW.WITH.WITHIN GROUP.WITHOUT.WORK.WRITE.WRITETEXT.YEAR.ZONE`.split(`.`),operators:`ALL.AND.ANY.BETWEEN.EXISTS.IN.LIKE.NOT.OR.SOME.EXCEPT.INTERSECT.UNION.APPLY.CROSS.FULL.INNER.JOIN.LEFT.OUTER.RIGHT.CONTAINS.FREETEXT.IS.NULL.PIVOT.UNPIVOT.MATCHED`.split(`.`),builtinFunctions:`AVG.CHECKSUM_AGG.COUNT.COUNT_BIG.GROUPING.GROUPING_ID.MAX.MIN.SUM.STDEV.STDEVP.VAR.VARP.CUME_DIST.FIRST_VALUE.LAG.LAST_VALUE.LEAD.PERCENTILE_CONT.PERCENTILE_DISC.PERCENT_RANK.COLLATE.COLLATIONPROPERTY.TERTIARY_WEIGHTS.FEDERATION_FILTERING_VALUE.CAST.CONVERT.PARSE.TRY_CAST.TRY_CONVERT.TRY_PARSE.ASYMKEY_ID.ASYMKEYPROPERTY.CERTPROPERTY.CERT_ID.CRYPT_GEN_RANDOM.DECRYPTBYASYMKEY.DECRYPTBYCERT.DECRYPTBYKEY.DECRYPTBYKEYAUTOASYMKEY.DECRYPTBYKEYAUTOCERT.DECRYPTBYPASSPHRASE.ENCRYPTBYASYMKEY.ENCRYPTBYCERT.ENCRYPTBYKEY.ENCRYPTBYPASSPHRASE.HASHBYTES.IS_OBJECTSIGNED.KEY_GUID.KEY_ID.KEY_NAME.SIGNBYASYMKEY.SIGNBYCERT.SYMKEYPROPERTY.VERIFYSIGNEDBYCERT.VERIFYSIGNEDBYASYMKEY.CURSOR_STATUS.DATALENGTH.IDENT_CURRENT.IDENT_INCR.IDENT_SEED.IDENTITY.SQL_VARIANT_PROPERTY.CURRENT_TIMESTAMP.DATEADD.DATEDIFF.DATEFROMPARTS.DATENAME.DATEPART.DATETIME2FROMPARTS.DATETIMEFROMPARTS.DATETIMEOFFSETFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SMALLDATETIMEFROMPARTS.SWITCHOFFSET.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.TIMEFROMPARTS.TODATETIMEOFFSET.YEAR.CHOOSE.COALESCE.IIF.NULLIF.ABS.ACOS.ASIN.ATAN.ATN2.CEILING.COS.COT.DEGREES.EXP.FLOOR.LOG.LOG10.PI.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.SQUARE.TAN.APP_NAME.APPLOCK_MODE.APPLOCK_TEST.ASSEMBLYPROPERTY.COL_LENGTH.COL_NAME.COLUMNPROPERTY.DATABASE_PRINCIPAL_ID.DATABASEPROPERTYEX.DB_ID.DB_NAME.FILE_ID.FILE_IDEX.FILE_NAME.FILEGROUP_ID.FILEGROUP_NAME.FILEGROUPPROPERTY.FILEPROPERTY.FULLTEXTCATALOGPROPERTY.FULLTEXTSERVICEPROPERTY.INDEX_COL.INDEXKEY_PROPERTY.INDEXPROPERTY.OBJECT_DEFINITION.OBJECT_ID.OBJECT_NAME.OBJECT_SCHEMA_NAME.OBJECTPROPERTY.OBJECTPROPERTYEX.ORIGINAL_DB_NAME.PARSENAME.SCHEMA_ID.SCHEMA_NAME.SCOPE_IDENTITY.SERVERPROPERTY.STATS_DATE.TYPE_ID.TYPE_NAME.TYPEPROPERTY.DENSE_RANK.NTILE.RANK.ROW_NUMBER.PUBLISHINGSERVERNAME.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.CERTENCODED.CERTPRIVATEKEY.CURRENT_USER.HAS_DBACCESS.HAS_PERMS_BY_NAME.IS_MEMBER.IS_ROLEMEMBER.IS_SRVROLEMEMBER.LOGINPROPERTY.ORIGINAL_LOGIN.PERMISSIONS.PWDENCRYPT.PWDCOMPARE.SESSION_USER.SESSIONPROPERTY.SUSER_ID.SUSER_NAME.SUSER_SID.SUSER_SNAME.SYSTEM_USER.USER.USER_ID.USER_NAME.ASCII.CHAR.CHARINDEX.CONCAT.DIFFERENCE.FORMAT.LEFT.LEN.LOWER.LTRIM.NCHAR.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SOUNDEX.SPACE.STR.STUFF.SUBSTRING.UNICODE.UPPER.BINARY_CHECKSUM.CHECKSUM.CONNECTIONPROPERTY.CONTEXT_INFO.CURRENT_REQUEST_ID.ERROR_LINE.ERROR_NUMBER.ERROR_MESSAGE.ERROR_PROCEDURE.ERROR_SEVERITY.ERROR_STATE.FORMATMESSAGE.GETANSINULL.GET_FILESTREAM_TRANSACTION_CONTEXT.HOST_ID.HOST_NAME.ISNULL.ISNUMERIC.MIN_ACTIVE_ROWVERSION.NEWID.NEWSEQUENTIALID.ROWCOUNT_BIG.XACT_STATE.TEXTPTR.TEXTVALID.COLUMNS_UPDATED.EVENTDATA.TRIGGER_NESTLEVEL.UPDATE.CHANGETABLE.CHANGE_TRACKING_CONTEXT.CHANGE_TRACKING_CURRENT_VERSION.CHANGE_TRACKING_IS_COLUMN_IN_MASK.CHANGE_TRACKING_MIN_VALID_VERSION.CONTAINSTABLE.FREETEXTTABLE.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.FILETABLEROOTPATH.GETFILENAMESPACEPATH.GETPATHLOCATOR.PATHNAME.GET_TRANSMISSION_STATUS`.split(`.`),builtinVariables:`@@DATEFIRST.@@DBTS.@@LANGID.@@LANGUAGE.@@LOCK_TIMEOUT.@@MAX_CONNECTIONS.@@MAX_PRECISION.@@NESTLEVEL.@@OPTIONS.@@REMSERVER.@@SERVERNAME.@@SERVICENAME.@@SPID.@@TEXTSIZE.@@VERSION.@@CURSOR_ROWS.@@FETCH_STATUS.@@DATEFIRST.@@PROCID.@@ERROR.@@IDENTITY.@@ROWCOUNT.@@TRANCOUNT.@@CONNECTIONS.@@CPU_BUSY.@@IDLE.@@IO_BUSY.@@PACKET_ERRORS.@@PACK_RECEIVED.@@PACK_SENT.@@TIMETICKS.@@TOTAL_ERRORS.@@TOTAL_READ.@@TOTAL_WRITE`.split(`.`),pseudoColumns:[`$ACTION`,`$IDENTITY`,`$ROWGUID`,`$PARTITION`],tokenizer:{root:[{include:`@comments`},{include:`@whitespace`},{include:`@pseudoColumns`},{include:`@numbers`},{include:`@strings`},{include:`@complexIdentifiers`},{include:`@scopes`},[/[;,.]/,`delimiter`],[/[()]/,`@brackets`],[/[\w@#$]+/,{cases:{"@operators":`operator`,"@builtinVariables":`predefined`,"@builtinFunctions":`predefined`,"@keywords":`keyword`,"@default":`identifier`}}],[/[<>=!%&+\-*/|~^]/,`operator`]],whitespace:[[/\s+/,`white`]],comments:[[/--+.*/,`comment`],[/\/\*/,{token:`comment.quote`,next:`@comment`}]],comment:[[/[^*/]+/,`comment`],[/\*\//,{token:`comment.quote`,next:`@pop`}],[/./,`comment`]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":`predefined`,"@default":`identifier`}}]],numbers:[[/0[xX][0-9a-fA-F]*/,`number`],[/[$][+-]*\d*(\.\d*)?/,`number`],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,`number`]],strings:[[/N'/,{token:`string`,next:`@string`}],[/'/,{token:`string`,next:`@string`}]],string:[[/[^']+/,`string`],[/''/,`string`],[/'/,{token:`string`,next:`@pop`}]],complexIdentifiers:[[/\[/,{token:`identifier.quote`,next:`@bracketedIdentifier`}],[/"/,{token:`identifier.quote`,next:`@quotedIdentifier`}]],bracketedIdentifier:[[/[^\]]+/,`identifier`],[/]]/,`identifier`],[/]/,{token:`identifier.quote`,next:`@pop`}]],quotedIdentifier:[[/[^"]+/,`identifier`],[/""/,`identifier`],[/"/,{token:`identifier.quote`,next:`@pop`}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,`keyword`],[/BEGIN\s+TRY\b/i,{token:`keyword.try`}],[/END\s+TRY\b/i,{token:`keyword.try`}],[/BEGIN\s+CATCH\b/i,{token:`keyword.catch`}],[/END\s+CATCH\b/i,{token:`keyword.catch`}],[/(BEGIN|CASE)\b/i,{token:`keyword.block`}],[/END\b/i,{token:`keyword.block`}],[/WHEN\b/i,{token:`keyword.choice`}],[/THEN\b/i,{token:`keyword.choice`}]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{qn as e}from"./index-B3xPCIyH.js";var t=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`(*`,`*)`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`var`,`end_var`],[`var_input`,`end_var`],[`var_output`,`end_var`],[`var_in_out`,`end_var`],[`var_temp`,`end_var`],[`var_global`,`end_var`],[`var_access`,`end_var`],[`var_external`,`end_var`],[`type`,`end_type`],[`struct`,`end_struct`],[`program`,`end_program`],[`function`,`end_function`],[`function_block`,`end_function_block`],[`action`,`end_action`],[`step`,`end_step`],[`initial_step`,`end_step`],[`transaction`,`end_transaction`],[`configuration`,`end_configuration`],[`tcp`,`end_tcp`],[`recource`,`end_recource`],[`channel`,`end_channel`],[`library`,`end_library`],[`folder`,`end_folder`],[`binaries`,`end_binaries`],[`includes`,`end_includes`],[`sources`,`end_sources`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`/*`,close:`*/`},{open:`'`,close:`'`,notIn:[`string_sq`]},{open:`"`,close:`"`,notIn:[`string_dq`]},{open:`var_input`,close:`end_var`},{open:`var_output`,close:`end_var`},{open:`var_in_out`,close:`end_var`},{open:`var_temp`,close:`end_var`},{open:`var_global`,close:`end_var`},{open:`var_access`,close:`end_var`},{open:`var_external`,close:`end_var`},{open:`type`,close:`end_type`},{open:`struct`,close:`end_struct`},{open:`program`,close:`end_program`},{open:`function`,close:`end_function`},{open:`function_block`,close:`end_function_block`},{open:`action`,close:`end_action`},{open:`step`,close:`end_step`},{open:`initial_step`,close:`end_step`},{open:`transaction`,close:`end_transaction`},{open:`configuration`,close:`end_configuration`},{open:`tcp`,close:`end_tcp`},{open:`recource`,close:`end_recource`},{open:`channel`,close:`end_channel`},{open:`library`,close:`end_library`},{open:`folder`,close:`end_folder`},{open:`binaries`,close:`end_binaries`},{open:`includes`,close:`end_includes`},{open:`sources`,close:`end_sources`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`var`,close:`end_var`},{open:`var_input`,close:`end_var`},{open:`var_output`,close:`end_var`},{open:`var_in_out`,close:`end_var`},{open:`var_temp`,close:`end_var`},{open:`var_global`,close:`end_var`},{open:`var_access`,close:`end_var`},{open:`var_external`,close:`end_var`},{open:`type`,close:`end_type`},{open:`struct`,close:`end_struct`},{open:`program`,close:`end_program`},{open:`function`,close:`end_function`},{open:`function_block`,close:`end_function_block`},{open:`action`,close:`end_action`},{open:`step`,close:`end_step`},{open:`initial_step`,close:`end_step`},{open:`transaction`,close:`end_transaction`},{open:`configuration`,close:`end_configuration`},{open:`tcp`,close:`end_tcp`},{open:`recource`,close:`end_recource`},{open:`channel`,close:`end_channel`},{open:`library`,close:`end_library`},{open:`folder`,close:`end_folder`},{open:`binaries`,close:`end_binaries`},{open:`includes`,close:`end_includes`},{open:`sources`,close:`end_sources`}],folding:{markers:{start:RegExp(`^\\s*#pragma\\s+region\\b`),end:RegExp(`^\\s*#pragma\\s+endregion\\b`)}}},t={defaultToken:``,tokenPostfix:`.st`,ignoreCase:!0,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:`if.end_if.elsif.else.case.of.to.__try.__catch.__finally.do.with.by.while.repeat.end_while.end_repeat.end_case.for.end_for.task.retain.non_retain.constant.with.at.exit.return.interval.priority.address.port.on_channel.then.iec.file.uses.version.packagetype.displayname.copyright.summary.vendor.common_source.from.extends.implements`.split(`.`),constant:[`false`,`true`,`null`],defineKeywords:`var.var_input.var_output.var_in_out.var_temp.var_global.var_access.var_external.end_var.type.end_type.struct.end_struct.program.end_program.function.end_function.function_block.end_function_block.interface.end_interface.method.end_method.property.end_property.namespace.end_namespace.configuration.end_configuration.tcp.end_tcp.resource.end_resource.channel.end_channel.library.end_library.folder.end_folder.binaries.end_binaries.includes.end_includes.sources.end_sources.action.end_action.step.initial_step.end_step.transaction.end_transaction`.split(`.`),typeKeywords:[`int`,`sint`,`dint`,`lint`,`usint`,`uint`,`udint`,`ulint`,`real`,`lreal`,`time`,`date`,`time_of_day`,`date_and_time`,`string`,`bool`,`byte`,`word`,`dword`,`array`,`pointer`,`lword`],operators:`=.>.<.:.:=.<=.>=.<>.&.+.-.*.**.MOD.^.or.and.not.xor.abs.acos.asin.atan.cos.exp.expt.ln.log.sin.sqrt.tan.sel.max.min.limit.mux.shl.shr.rol.ror.indexof.sizeof.adr.adrinst.bitadr.is_valid.ref.ref_to`.split(`.`),builtinVariables:[],builtinFunctions:`sr.rs.tp.ton.tof.eq.ge.le.lt.ne.round.trunc.ctd.сtu.ctud.r_trig.f_trig.move.concat.delete.find.insert.left.len.replace.right.rtc`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/(\.\.)/,`delimiter`],[/\b(16#[0-9A-Fa-f\_]*)+\b/,`number.hex`],[/\b(2#[01\_]+)+\b/,`number.binary`],[/\b(8#[0-9\_]*)+\b/,`number.octal`],[/\b\d*\.\d+([eE][\-+]?\d+)?\b/,`number.float`],[/\b(L?REAL)#[0-9\_\.e]+\b/,`number.float`],[/\b(BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT)#[0-9\_]+\b/,`number`],[/\d+/,`number`],[/\b(T|DT|TOD)#[0-9:-_shmyd]+\b/,`tag`],[/\%(I|Q|M)(X|B|W|D|L)[0-9\.]+/,`tag`],[/\%(I|Q|M)[0-9\.]*/,`tag`],[/\b[A-Za-z]{1,6}#[0-9]+\b/,`tag`],[/\b(TO_|CTU_|CTD_|CTUD_|MUX_|SEL_)[A_Za-z]+\b/,`predefined`],[/\b[A_Za-z]+(_TO_)[A_Za-z]+\b/,`predefined`],[/[;]/,`delimiter`],[/[.]/,{token:`delimiter`,next:`@params`}],[/[a-zA-Z_]\w*/,{cases:{"@operators":`operators`,"@keywords":`keyword`,"@typeKeywords":`type`,"@defineKeywords":`variable`,"@constant":`constant`,"@builtinVariables":`predefined`,"@builtinFunctions":`predefined`,"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,{token:`string.quote`,bracket:`@open`,next:`@string_dq`}],[/'/,{token:`string.quote`,bracket:`@open`,next:`@string_sq`}],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],params:[[/\b[A-Za-z0-9_]+\b(?=\()/,{token:`identifier`,next:`@pop`}],[/\b[A-Za-z0-9_]+\b/,`variable.name`,`@pop`]],comment:[[/[^\/*]+/,`comment`],[/\/\*/,`comment`,`@push`],[`\\*/`,`comment`,`@pop`],[/[\/*]/,`comment`]],comment2:[[/[^\(*]+/,`comment`],[/\(\*/,`comment`,`@push`],[`\\*\\)`,`comment`,`@pop`],[/[\(*]/,`comment`]],whitespace:[[/[ \t\r\n]+/,`white`],[/\/\/.*$/,`comment`],[/\/\*/,`comment`,`@comment`],[/\(\*/,`comment`,`@comment2`]],string_dq:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],string_sq:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{At as e,Nt as t,Ut as n,Zn as r,jt as i}from"./index-B3xPCIyH.js";var a=r(),o={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 s(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 c(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 u({step:r}){return(0,a.jsx)(`span`,{className:`flex-1 min-w-0 text-sm break-all`,children:(r.originalStepName?l(r.originalStepName,r.name,r.variableSnapshot):c(r.name)).map((c,l)=>{if(c.type===`text`)return(0,a.jsx)(`span`,{children:c.value},l);let u=r.variableSnapshot?.[c.varName],d=u?o[u.source]??u.source:o[c.namespace]??c.namespace;return(0,a.jsxs)(e,{children:[(0,a.jsx)(t,{asChild:!0,children:(0,a.jsx)(`span`,{className:n(`rounded-sm px-1 py-px cursor-default`,s(u?.source??c.namespace)),"aria-label":`variable: ${c.varName}`,children:c.resolvedValue})}),(0,a.jsx)(i,{className:`max-w-xs`,children:(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(`div`,{className:`text-xs font-medium`,children:c.varName}),(0,a.jsx)(`div`,{className:`text-[10px] font-mono text-muted-foreground`,children:c.templateSyntax}),(0,a.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:c.resolvedValue}),(0,a.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:d})]})})]},l)})})}export{u as n,s as r,o as t};
@@ -0,0 +1,5 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{c as t}from"./id-badge-Dzm7eQ9l.js";import{t as n}from"./monaco-editor-CDJrOpKK.js";import{n as r}from"./split-button-C7J0EKrF.js";import{a as i,c as a,i as o,n as s,o as ee,r as te,s as c,t as l}from"./filename-validation-BOmZP9gf.js";import{t as ne}from"./use-page-title-CK82kWb2.js";import{a as re,n as ie}from"./dist-DFSjTjXY.js";import{i as ae,n as oe,r as se,t as ce}from"./tabs-CfNQIHt-.js";import{At as le,B as ue,Bn as de,D as fe,Dt as pe,E as me,Ft as he,It as ge,Jt as _e,Lt as ve,Nt as u,Qn as d,Rt as ye,S as be,Tt as xe,Vt as Se,Zn as Ce,at as we,cr as Te,fr as f,jt as Ee,kt as p,lr as De,r as Oe,sr as ke,xt as Ae,zn as je,zt as Me}from"./index-B3xPCIyH.js";import{n as m,r as Ne,t as Pe}from"./resizable-COfX_iMb.js";import{t as Fe}from"./empty-state-Dluv5C1Q.js";import{t as Ie}from"./use-keyboard-shortcuts-BRF3cm7O.js";import{i as Le,n as Re,r as ze,t as Be}from"./suite-navbar-CnJmeIp-.js";var h=e(f(),1);function Ve(e,t){return l(e,t,`suiteMatch`)}var g=Ce(),He=`name: My Suite
2
+ target: ""
3
+ tests: []
4
+ `;function Ue(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function We(e){return e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`}function Ge({text:e}){return(0,g.jsxs)(le,{children:[(0,g.jsx)(u,{asChild:!0,children:(0,g.jsx)(je,{className:`h-3 w-3 text-muted-foreground/40 hover:text-muted-foreground/70 transition-colors cursor-help`})}),(0,g.jsx)(Ee,{className:`max-w-[250px] text-[13px]`,children:e})]})}function _(){let e=Te()[`suite-id`]??``,l=ke(),[le]=De(),u=_e(),{defaultRunMode:Ce}=r(),{targets:f,globalUse:Ee,isLoading:je}=t(),_=!e,Ke=le.get(`live`)===`1`,v=(0,h.useRef)(null),qe=(0,h.useRef)(null),Je=(0,h.useRef)(()=>{}),Ye=(0,h.useRef)(!1),y=(0,h.useRef)(null),b=(0,h.useRef)(null),[x,S]=(0,h.useState)(_?He:``),[Xe,Ze]=(0,h.useState)(``),[C,Qe]=(0,h.useState)(``),[w,$e]=(0,h.useState)(!_),[et,tt]=(0,h.useState)(!1),[nt,rt]=(0,h.useState)(!1),[it,at]=(0,h.useState)(!1),[ot,st]=(0,h.useState)(!1),[T,ct]=(0,h.useState)(null),[lt,ut]=(0,h.useState)(!1),[dt,ft]=(0,h.useState)(!1),[E,pt]=(0,h.useState)([]),[D,O]=(0,h.useState)(null),[k,A]=(0,h.useState)(null),[j,M]=(0,h.useState)(!1),[N,P]=(0,h.useState)(!1),[F,I]=(0,h.useState)(null),[mt,L]=(0,h.useState)(`reasoning`),[ht,R]=(0,h.useState)(null),[z,B]=(0,h.useState)({setup:[],teardown:[]}),[V,gt]=(0,h.useState)(``),_t=!_&&x!==Xe,vt=_&&C?Ve(C.trim(),E):null,H=_&&!!C&&!!vt,{suggestions:yt}=s(null),bt=(0,h.useMemo)(()=>yt.filter(e=>e.namespace!==`capture`),[yt]),U=(0,h.useMemo)(()=>ze(x),[x]),xt=U?.suiteId??``,W=U?.name||(_?`New Suite`:V),G=o(D,{tests:(0,h.useMemo)(()=>U?U.tests.map(e=>({draftId:e.id,testId:e.id,path:e.test,name:e.test.split(`/`).pop()??e.test,steps:[],setup:[],teardown:[]})):[],[U]),setupHooks:z.setup,teardownHooks:z.teardown,allowReconnect:!1}),K=G.terminateSession;qe.current=D,Je.current=K;let St=U?.target?.trim()??``,q=N?`connecting`:G.connectionState,J=D!==null,Y=J&&U!==null&&(!Ue(U.setup??[],z.setup)||!Ue(U.teardown??[],z.teardown)),Ct=J&&q===`connected`&&U!==null&&U.tests.length>0,wt=N||J,Tt=N||J||ot||T!==null||_||U===null||!U?.target.trim()||je;ne((0,h.useMemo)(()=>J&&k!==null?`Live #${k} — ${U?.name?.trim()||W||`Suite`}`:_?`New Suite`:`Edit Suite`,[J,k,U?.name,W,_]));let X=(0,h.useMemo)(()=>{if(U)return{suiteName:U.name,suiteContext:U.context||void 0}},[U]),Et=(0,h.useMemo)(()=>F===`ended`?{reason:`ended`,title:`Live session ended`,description:`The current draft is unchanged. Close live mode or start a fresh disposable session from this target.`}:F===`disconnected`?{reason:`disconnected`,title:`Live session disconnected`,description:`The connection dropped and the disposable session was terminated. Start a fresh session to reconnect.`}:null,[F]);(0,h.useEffect)(()=>{if(_)return;let t=!1;return we(e).then(e=>{t||(S(e.content),Ze(e.content),gt(e.path),$e(!1))}).catch(()=>{t||(tt(!0),$e(!1))}),()=>{t=!0}},[e,_]),(0,h.useEffect)(()=>{let e=!1;return ue().then(t=>{if(e)return;let n=t.config?.workspace?.suiteMatch;Array.isArray(n)&&pt(n)}).catch(()=>{}),()=>{e=!0}},[]),(0,h.useEffect)(()=>{_&&S(e=>Le(e,[`suite-id`],ie()))},[_]),(0,h.useEffect)(()=>{if(_||w)return;let e=ze(x);e&&!e.suiteId&&S(e=>Le(e,[`suite-id`],ie()))},[_,w,Xe]);let Z=(0,h.useCallback)(async()=>{rt(!0);try{if(_){let e=Ve(C.trim(),E);if(e){p.error(e);return}await fe(C.trim(),x),p.success(`Suite file created`);let t=U?.suiteId??``;if(!t){p.error(`Created suite is missing suite-id; please reload`);return}l(d.suiteEdit(t))}else await xe(e,x),Ze(x),p.success(`Saved`)}catch(e){e instanceof be&&e.missingTests&&e.missingTests.length>0?p.error(`Cannot save — referenced tests not found: ${e.missingTests.map(e=>e.test).join(`, `)}`):p.error(`Failed to save: ${e instanceof Error?e.message:String(e)}`)}finally{rt(!1)}},[_,C,E,x,e,U?.suiteId,l]),Dt=(0,h.useCallback)(async()=>{at(!0);try{let e=await pe(x);e.valid?p.success(`Valid suite`):p.error(e.errors.map(e=>e.message).join(`
5
+ `))}catch(e){p.error(`Validation failed: ${e instanceof Error?e.message:String(e)}`)}finally{at(!1)}},[x]),Ot=(0,h.useCallback)(async e=>{if(!_){st(!0);try{ct((await Ae({file:V,local:e})).runId),p.success(`Suite run started`)}catch(e){p.error(`Failed to start run: ${e instanceof Error?e.message:String(e)}`)}finally{st(!1)}}},[_,V]),kt=(0,h.useCallback)(()=>ct(null),[]),At=(0,h.useCallback)(()=>{i(`page`,`closing live mode`,{liveSessionId:D??void 0,terminalReason:F??void 0}),v.current?.abort(),v.current=null,D&&K(),P(!1),O(null),A(null),I(null),R(null),y.current=null,b.current=null,B({setup:[],teardown:[]}),M(!1)},[D,F,K]),jt=(0,h.useCallback)(()=>{i(`page`,`ending live session from UI`,{liveSessionId:D??void 0}),v.current?.abort(),v.current=null,D&&K(),P(!1),O(null),A(null),I(`ended`),R(null),y.current=null,b.current=null,B({setup:[],teardown:[]}),M(!1)},[D,K]),Q=(0,h.useCallback)(async(e,t)=>{let n=e.target.trim();if(!n){p.error(`Select a target before starting live mode`);return}let r=new AbortController;v.current?.abort(),v.current=r,M(!0),I(null),L(`reasoning`),R(null),y.current=null,b.current=null,P(!0);try{t?.replaceCurrentSession&&qe.current&&(K(),O(null),A(null));let a=te({content:x,targetName:n,targets:f,globalUse:Ee});i(`page`,`requesting live session`,{targetName:n,platform:a.platform,headless:a.headless??void 0,replacingSession:t?.replaceCurrentSession??!1});let o=[...e.setup??[]],s=[...e.teardown??[]],ee=e.suiteId?{type:`suite`,id:e.suiteId}:void 0,{sessionId:c,sessionNumber:l}=await me({...a,setupHooks:o,teardownHooks:s,entity:ee},r.signal);if(r.signal.aborted)return;B({setup:o,teardown:s}),O(c),A(l),i(`page`,`live session created`,{sessionId:c,targetName:n})}catch(e){We(e)||(i(`page`,`failed to create live session`,{error:e instanceof Error?e.message:String(e),targetName:n}),p.error(e instanceof Error?e.message:`Failed to start live session`)),t?.replaceCurrentSession||M(!1)}finally{v.current===r&&(v.current=null),P(!1)}},[x,Ee,f,K]),$=(0,h.useCallback)(async()=>{if(!Tt){if(!U){p.error(`Fix YAML errors before starting live mode`);return}await Q(U)}},[U,Q,Tt]),Mt=(0,h.useCallback)(async()=>{if(J){if(!U){p.error(`Fix YAML errors before restarting live mode`);return}await Q(U,{replaceCurrentSession:!0})}},[U,J,Q]),Nt=(0,h.useCallback)(e=>{if(e){M(!0);return}At()},[At]),Pt=(0,h.useCallback)((e,t)=>{if(!J){p.error(`Start a live session first.`);return}let n=(e===`setup`?G.setupHooks:G.teardownHooks).find(e=>e.id===t);n&&R({type:`suite-hook`,phase:e,hookId:n.id}),L(`reasoning`),G.executeHookById(e,t)},[J,G]),Ft=(0,h.useCallback)(e=>{R({type:`test`,testIndex:e}),L(`reasoning`),G.executeTestByIndex(e,X)},[X,G]);if((0,h.useEffect)(()=>()=>{v.current?.abort(),qe.current&&Je.current()},[]),(0,h.useEffect)(()=>{D&&q===`disconnected`&&(i(`page`,`live session moved to terminal state`,{liveSessionId:D,liveConnectionState:q}),O(null),A(null),P(!1),I(`disconnected`),R(null),y.current=null,b.current=null,B({setup:[],teardown:[]}),M(!0))},[q,D]),(0,h.useEffect)(()=>{if(!j||G.runningTestIndex===null)return;let e=`${G.tests[G.runningTestIndex]?.testExecutionId??`pending`}:${G.runningTestIndex}`;y.current!==e&&(y.current=e,R({type:`test`,testIndex:G.runningTestIndex}),L(`reasoning`))},[G.runningTestIndex,G.tests,j]),(0,h.useEffect)(()=>{if(!j||G.runningTestIndex!==null)return;let e=G.tests.map((e,t)=>({index:t,test:e})).filter(({test:e})=>e.status===`failed`).sort((e,t)=>(t.test.lastRunAt??``).localeCompare(e.test.lastRunAt??``))[0];if(!e)return;let t=e.test.testExecutionId??e.test.lastRunAt??`failed:${e.index}`;b.current!==t&&(b.current=t,R({type:`test`,testIndex:e.index}),L(`reasoning`))},[G.runningTestIndex,G.tests,j]),(0,h.useEffect)(()=>{!Ke||Ye.current||_||w||et||N||j||J||!U||!U.target.trim()||(Ye.current=!0,l(d.suiteEdit(e),{replace:!0}),$())},[U,$,J,_,N,w,j,l,et,e,Ke]),Ie((0,h.useMemo)(()=>({r:()=>{_||Ot(Ce===`local`)},escape:()=>{T&&kt()}}),[_,T,Ot,kt,Ce])),(0,h.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),Z())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[Z]),w)return(0,g.jsx)(Oe,{});if(et)return(0,g.jsx)(Fe,{icon:de,title:`Suite not found`,description:`This suite doesn't exist`,actionLabel:`View All Suites`,onAction:()=>l(d.suites)});let It=(0,g.jsxs)(ce,{defaultValue:`builder`,className:`flex-1 flex min-h-0 flex-col`,children:[(0,g.jsxs)(se,{variant:`line`,className:`px-4`,children:[(0,g.jsx)(ae,{value:`builder`,children:`Builder`}),(0,g.jsx)(ae,{value:`yaml`,children:`YAML`})]}),(0,g.jsx)(oe,{value:`builder`,className:`mt-2 flex-1 overflow-auto [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:bg-border [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb:hover]:bg-muted-foreground/50 [&::-webkit-scrollbar-track]:bg-transparent [scrollbar-width:thin]`,children:(0,g.jsx)(Re,{content:x,onChange:S,suggestions:bt,isCreateMode:_,liveMode:j,liveTests:G.tests,liveSetupHooks:G.setupHooks,liveTeardownHooks:G.teardownHooks,runningTestIndex:G.runningTestIndex,canRunTest:J&&G.connectionState===`connected`,canRunAll:Ct,isRunningAll:G.isRunningAllTests,isStoppingRunAll:G.isStoppingRunAllTests,onRunTest:Ft,onCancelTest:e=>{G.runningTestIndex===e&&G.cancelStep()},onRunAll:()=>void G.runAllTests(X),onStopAll:G.cancelRunAllTests,setupHooksStale:Y,onRestartSession:Y?()=>void Mt():void 0,selection:ht,onSelect:R,onRunLiveHook:Pt})}),(0,g.jsx)(oe,{value:`yaml`,className:`flex-1 min-h-0 mt-2`,children:(0,g.jsx)(n,{value:x,onChange:S,onSave:Z,className:`h-full`,filePath:V||void 0})})]}),Lt=(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[_&&(0,g.jsx)(`div`,{className:`px-4 pt-3`,children:(0,g.jsxs)(`div`,{className:`rounded-md border bg-muted/15 px-3 py-2`,children:[(0,g.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,g.jsxs)(re,{className:`flex items-center gap-1 text-xs font-medium`,children:[`File Path `,(0,g.jsx)(Ge,{text:`Path is relative to your workspace root. Must match your workspace's suiteMatch pattern. Directories are created automatically on save.`})]}),(0,g.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Created only when you save`})]}),(0,g.jsx)(Se,{placeholder:`my-suite.suite.yaml`,value:C,onChange:e=>Qe(e.target.value),className:`mt-2 max-w-md h-8 text-sm font-mono ${H?`border-red-500 focus-visible:ring-red-500`:``}`}),H&&(0,g.jsx)(`p`,{className:`mt-1 text-xs text-red-500`,children:vt})]})}),It]}),Rt=(0,g.jsx)(ee,{connectionState:G.connectionState,isLaunching:N,targetName:St||`Selected Target`,targetLabel:G.currentUrl||`Configured start URL`,liveSessionNumber:k,platform:G.platform,screenshot:G.screenshot,currentUrl:G.currentUrl,pendingNavigation:G.pendingNavigation,steps:G.steps,setupHooks:G.setupHooks,teardownHooks:G.teardownHooks,tests:G.tests,selection:ht,runningStepId:G.runningStepId,terminalState:Et,draftState:U===null?`invalid`:_t||_?`unsaved`:`saved`,ariaTree:G.ariaTree,errorMessage:G.error,devtoolsTab:mt,canRunAll:Ct,isRunningAll:G.isRunningAllTests,isStoppingRunAll:G.isStoppingRunAllTests,setupHooksStale:Y,executionUnit:`test`,runAllLabel:`Run All Tests`,stopAllLabel:`Stop Run All`,unitRowsSlot:null,onDevtoolsTabChange:L,onRunAll:()=>void G.runAllTests(X),onStopAll:G.cancelRunAllTests,onEndSession:jt,onRestartSession:Y?()=>void Mt():void 0,showEndSessionAction:u,onCloseLiveMode:At,onStartFreshSession:()=>void $(),onBack:G.goBack,onForward:G.goForward,onRefresh:G.refreshPage,onNavigate:G.navigate,onRequestAriaTree:G.requestAriaTree});return(0,g.jsxs)(`div`,{className:`flex h-screen flex-col`,children:[(0,g.jsx)(Be,{suiteName:W,suiteId:xt,unsaved:_t,isCreateMode:_,mode:`edit`,suiteHref:_?void 0:d.suiteView(e),isSaving:nt,isValidating:it,isRunning:ot,runDisabled:wt,hasInvalidFilename:H,shortcutsOpen:dt,hasLiveSession:J,liveConnectionState:q,isLiveActionDisabled:Tt,liveSessionNumber:k,onBack:()=>l(d.suites),onSave:Z,onValidate:Dt,onRun:Ot,onLiveConnect:j?void 0:$,onLiveEnd:J?jt:void 0,onSettingsOpen:()=>ut(!0),onToggleShortcuts:()=>ft(e=>!e)}),T?(0,g.jsxs)(Ne,{orientation:`horizontal`,className:`flex-1 rounded-md border border-border`,children:[(0,g.jsx)(m,{defaultSize:60,minSize:30,children:(0,g.jsx)(n,{value:x,onChange:S,onSave:Z,className:`h-full`})}),(0,g.jsx)(Pe,{withHandle:!0}),(0,g.jsx)(m,{defaultSize:40,minSize:25,children:(0,g.jsx)(c,{runId:T,onClose:kt})})]}):j&&!u?(0,g.jsxs)(Ne,{orientation:`horizontal`,className:`flex-1 rounded-md border border-border`,children:[(0,g.jsx)(m,{defaultSize:45,minSize:30,children:Lt}),(0,g.jsx)(Pe,{withHandle:!0}),(0,g.jsx)(m,{defaultSize:55,minSize:40,children:Rt})]}):Lt,(0,g.jsx)(he,{open:lt,onOpenChange:ut,children:(0,g.jsxs)(ge,{side:`right`,className:`sm:max-w-[400px] overflow-y-auto p-0`,children:[(0,g.jsxs)(ye,{className:`px-4 pt-4 pb-2`,children:[(0,g.jsx)(Me,{children:`Suite Settings`}),(0,g.jsx)(ve,{children:`Advanced configuration for this suite`})]}),(0,g.jsx)(`div`,{className:`px-4 pb-4`,children:(0,g.jsx)(a,{content:x,onChange:S,selectedTarget:U?.target,showMeta:!1})})]})}),u&&(0,g.jsx)(he,{open:j,onOpenChange:Nt,children:(0,g.jsxs)(ge,{side:`bottom`,showCloseButton:!1,className:`h-[100dvh] max-h-[100dvh] rounded-none p-0`,children:[(0,g.jsxs)(ye,{className:`sr-only`,children:[(0,g.jsx)(Me,{children:`Live Session`}),(0,g.jsx)(ve,{children:`Live execution workspace for the current suite draft.`})]}),Rt]})})]})}export{_ as default};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{i as t,n,o as r,s as i,t as a}from"./select-B5gV6YUf.js";import{t as o}from"./circle-alert-pBH5T6su.js";import{C as s,S as c,_ as l,a as u,b as d,c as f,d as p,f as m,g as h,h as g,l as _,m as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,v as E,w as D,x as ee,y as te}from"./id-badge-Dzm7eQ9l.js";import{n as ne,r as O}from"./monaco-editor-CDJrOpKK.js";import{t as re}from"./circle-x-DLBotPS8.js";import{c as ie,t as k}from"./split-button-C7J0EKrF.js";import{t as ae}from"./grip-vertical-aDoBVncr.js";import{n as A,r as j,t as M}from"./shortcut-hints-CfVf0REF.js";import{t as oe}from"./plus-C6Zz9JLt.js";import{t as N}from"./refresh-cw-v_0wwa0P.js";import{n as P,t as F}from"./textarea-ByegDm2e.js";import{t as se}from"./square-CvSqzenY.js";import{a as I,n as L}from"./dist-DFSjTjXY.js";import{n as ce,r as R,t as z}from"./popover-CvQRjfg5.js";import{At as B,Hn as V,Ht as H,Ln as U,Mn as le,Nn as W,Nt as G,Pn as ue,Rn as de,Un as fe,Ut as K,Vt as pe,Zn as q,c as J,d as me,fr as he,jt as Y,l as ge,o as _e,or as X,s as ve,u as ye,ut as be,zn as xe}from"./index-B3xPCIyH.js";import{t as Se}from"./badge-BbhOGRC0.js";import{t as Ce}from"./display-step-CV3zilMS.js";var Z=e(he(),1),Q=q();function we({text:e}){return(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsx)(xe,{className:`h-3 w-3 text-muted-foreground/40 hover:text-muted-foreground/70 transition-colors cursor-help`})}),(0,Q.jsx)(Y,{className:`max-w-[250px] text-[13px]`,children:e})]})}function Te({name:e,suiteId:o,target:c,context:l,isCreateMode:d,suggestions:p,hookLabels:m={},onChange:h,disabled:g=!1}){let{targets:v,isLoading:y}=_(),{targets:x}=f(),S=c?x[c]:void 0,w=(0,Z.useRef)(null),[T,E]=(0,Z.useState)(0),D=u({text:l,cursorPos:T,suggestions:p,anchorRef:w,onInsert:(e,t,n)=>{h(`context`,l.slice(0,t)+e+l.slice(n)),requestAnimationFrame(()=>w.current?.focus())}}),ee=!y&&v.length>0;return(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(I,{htmlFor:`suite-name`,className:`text-xs flex items-center gap-1`,children:[`Suite Name `,(0,Q.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,Q.jsx)(pe,{id:`suite-name`,value:e,onChange:e=>h(`name`,e.target.value),placeholder:`My Suite`,required:!0,disabled:g,className:`h-8 text-sm`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(I,{htmlFor:`suite-id`,className:`text-xs flex items-center gap-1`,children:[`Suite ID `,(0,Q.jsx)(we,{text:`Unique identifier used for memory and analytics. Changing this breaks the association with past runs and observations.`})]}),d?(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(pe,{id:`suite-id`,value:o,readOnly:!0,disabled:!0,className:`h-8 text-sm font-mono pr-9`}),(0,Q.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:()=>h(`suite-id`,L()),"aria-label":`Generate new ID`,disabled:g,className:`absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6`,children:(0,Q.jsx)(N,{className:`size-3.5`})})]}):(0,Q.jsx)(`p`,{className:`text-[13px] font-mono text-muted-foreground`,children:o||`No ID assigned`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(I,{htmlFor:`suite-target`,className:`text-xs flex items-center gap-1`,children:[`Target `,(0,Q.jsx)(`span`,{className:`text-destructive`,children:`*`}),` `,(0,Q.jsx)(we,{text:`A registered app target from your workspace config. Defines where the suite runs (web URL or mobile app).`})]}),ee?(0,Q.jsxs)(a,{value:c||void 0,onValueChange:e=>h(`target`,e),disabled:g,children:[(0,Q.jsx)(r,{id:`suite-target`,className:`w-full h-8 text-sm`,children:(0,Q.jsx)(i,{placeholder:`Select a target`})}),(0,Q.jsx)(n,{children:v.map(e=>(0,Q.jsx)(t,{value:e,children:e},e))})]}):y?null:(0,Q.jsxs)(`p`,{className:`text-[13px] text-muted-foreground`,children:[`No targets configured.`,` `,(0,Q.jsx)(X,{to:`/config`,className:`text-primary underline underline-offset-4 hover:text-primary/80`,children:`Add targets in Settings.`})]}),S&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted-foreground mt-1.5`,children:[S.platform===`web`?(0,Q.jsx)(ie,{className:`h-3.5 w-3.5 shrink-0`}):(0,Q.jsx)(s,{className:`h-3.5 w-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground/70 uppercase text-[11px] tracking-wider shrink-0`,children:S.platform}),(0,Q.jsxs)(`span`,{className:`font-mono truncate`,children:[S.product&&(0,Q.jsx)(`span`,{className:`mr-1.5`,children:S.product}),S.platform===`web`&&S.url,S.platform===`android`&&`${S.appPackage}${S.appActivity?` / ${S.appActivity}`:``}`,S.platform===`ios`&&S.bundleId]})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(I,{htmlFor:`suite-context`,className:`text-xs flex items-center gap-1`,children:[`Context `,(0,Q.jsx)(we,{text:`Additional instructions passed to every test in this suite before its own context. Use this for suite-wide setup notes or shared preconditions.`})]}),(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(F,{ref:w,id:`suite-context`,value:l,onChange:e=>{h(`context`,e.target.value),E(e.target.selectionStart??0)},onKeyDown:e=>{D.handleKeyDown(e)},onBlur:()=>setTimeout(()=>D.setVisible(!1),150),placeholder:`Additional instructions applied to every test in this suite...`,disabled:g,className:`min-h-[60px] resize-none text-sm`,rows:2}),D.dropdown]}),C(l)&&(0,Q.jsx)(b,{text:l,hookLabels:m})]})]})}function Ee(e){if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;return t<10?`${t.toFixed(1)}s`:`${Math.round(t)}s`}function De({status:e}){switch(e){case`running`:return(0,Q.jsx)(D,{className:`size-3 text-primary`});case`passed`:return(0,Q.jsx)(V,{className:`size-3 text-emerald-500`});case`failed`:return(0,Q.jsx)(ue,{className:`size-3 text-destructive`});default:return(0,Q.jsx)(W,{className:`size-3 text-muted-foreground`})}}function Oe({status:e}){switch(e){case`running`:case`cancelling`:return(0,Q.jsx)(D,{className:`size-3 text-primary`});case`passed`:return(0,Q.jsx)(V,{className:`size-3 text-emerald-500`});case`failed`:return(0,Q.jsx)(re,{className:`size-3 text-red-500`});case`cancelled`:return(0,Q.jsx)(se,{className:`size-3 text-amber-500`});default:return(0,Q.jsx)(D,{className:`size-3 text-muted-foreground/50`})}}function ke(e){return e.observation?e.observation:e.reasoning?e.reasoning:e.plannedAction==null?e.verifierReasoning?e.verifierReasoning:e.result:`Planned action captured`}function Ae({id:e,name:t,path:n,testId:r,isMissing:i,onRemove:a,disabled:o=!1,actionsLocked:s=!1,sortableDisabled:l=!1,liveMode:u=!1,liveStatus:d=`idle`,liveDuration:f,liveError:p=null,liveSteps:m=[],runningStepIndex:h=null,perTestSetupHooks:g=[],perTestTeardownHooks:_=[],canRunTest:y=!0,onRunTest:b,onCancelTest:x,testIndex:S,selection:C=null,onSelect:w}){let{attributes:T,listeners:E,setNodeRef:ee,transform:te,transition:ne,isDragging:O}=v({id:e,disabled:o||l}),ie={transform:c.Transform.toString(te),transition:ne,opacity:O?.55:1,zIndex:O?10:void 0},k=u&&d===`running`,A=u&&d===`passed`,j=u&&d===`failed`,M=u&&(A||j||u&&d===`cancelled`)&&f!=null,oe=u&&C?.type===`test`&&S!==void 0&&C.testIndex===S,N=u&&g.length+_.length>0,P=u?m.map(e=>({step:e,displayStep:Ce(e,e.stepIndex)})):[],F=C&&`stepId`in C?C.stepId:null,I=C?.type===`subaction`?C.subIndex:null;return(0,Q.jsxs)(`div`,{ref:ee,style:ie,className:K(`relative overflow-hidden flex flex-col gap-0.5 rounded-md border bg-card/60 px-3 py-2 hover:bg-card transition-colors`,i&&`border-amber-500/30`,i&&`bg-amber-500/[0.06]`,!i&&`border-border/70`,O&&`shadow-lg ring-2 ring-primary/20`,o&&`opacity-60`,k&&`live-running-surface border-border/60 bg-primary/5`,j&&!k&&`border-destructive/30`,j&&!k&&!oe&&`ring-1 ring-destructive/20`,oe&&!k&&`bg-primary/10 ring-1 ring-primary/30`),children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,className:`mt-0.5 flex shrink-0 items-center p-0.5 text-muted-foreground/40 hover:text-muted-foreground cursor-grab active:cursor-grabbing touch-none disabled:cursor-not-allowed`,...T,...E,"aria-label":`Reorder ${t}`,"aria-disabled":o||l,disabled:o||l,children:(0,Q.jsx)(ae,{className:`size-3.5`})}),k&&(0,Q.jsx)(D,{className:`size-4 shrink-0 mt-0.5 text-primary`}),A&&(0,Q.jsx)(V,{className:`size-3.5 text-emerald-500 shrink-0 mt-1`}),j&&(0,Q.jsx)(re,{className:`size-3.5 text-red-500 shrink-0 mt-1`}),(0,Q.jsxs)(`div`,{className:K(`flex-1 min-w-0 space-y-0.5`,u&&w&&`cursor-pointer`),onClick:u&&w&&S!==void 0?()=>w({type:`test`,testIndex:S}):void 0,children:[(0,Q.jsx)(`div`,{className:`text-sm font-medium text-foreground truncate`,children:t}),(0,Q.jsx)(`div`,{className:`text-[11px] font-mono text-muted-foreground truncate`,children:n}),(0,Q.jsx)(`div`,{className:`text-[10px] font-mono text-muted-foreground/70 truncate`,children:r}),P.length>0&&(0,Q.jsx)(`div`,{className:`mt-1.5 space-y-1.5`,children:P.map(({step:e,displayStep:t},n)=>{let r=e.status===`running`||h===e.stepIndex,i=oe&&F===null&&(r||h===null&&n===P.length-1),a=F===e.id||i,o=t.subActionsData??[];return(0,Q.jsxs)(`div`,{className:K(`relative overflow-hidden rounded-sm border bg-background/60`,r?`live-running-surface border-border/60 bg-primary/5`:a?`border-primary/20 bg-primary/10 ring-1 ring-primary/30`:`border-border/60`),children:[(0,Q.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 px-2 py-1.5 text-left`,onClick:t=>{t.stopPropagation(),w?.({type:`step`,stepId:e.id})},"aria-label":`Select step ${e.stepIndex+1} ${e.instruction}`,children:[(0,Q.jsx)(Oe,{status:e.status}),(0,Q.jsxs)(`span`,{className:`shrink-0 text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:[`Step `,e.stepIndex+1]}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-foreground`,children:e.instruction})]}),(r||a)&&(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 gap-y-0.5 px-2 pb-1 text-[11px] text-muted-foreground`,children:[r&&(0,Q.jsx)(`span`,{children:`Current step`}),a&&(0,Q.jsx)(`span`,{children:`Inspecting below`})]}),o.length>0&&(0,Q.jsx)(`div`,{className:`space-y-1 border-t border-border/50 px-2 py-1.5`,children:o.map(t=>(0,Q.jsxs)(`button`,{type:`button`,className:K(`flex w-full min-w-0 items-center gap-2 rounded-sm px-1.5 py-1 text-left text-[11px] transition-colors`,a&&I===t.index?`bg-primary/15 text-foreground`:`text-muted-foreground hover:bg-muted/40`),onClick:n=>{n.stopPropagation(),w?.({type:`subaction`,stepId:e.id,subIndex:t.index})},"aria-label":`Select sub-action ${t.index+1} for step ${e.stepIndex+1}`,children:[(0,Q.jsxs)(`span`,{className:`shrink-0 font-medium`,children:[`Sub `,t.index+1]}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:ke(t)})]},`${e.id}-sub-${t.index}`))})]},e.id)})}),i&&(0,Q.jsx)(`div`,{className:`text-[11px] text-amber-700 dark:text-amber-300`,children:`This test file no longer exists in your workspace.`})]}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex shrink-0 self-start items-center gap-1`,children:[M&&(0,Q.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground whitespace-nowrap shrink-0`,children:Ee(f)}),u&&!k&&(0,Q.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:b,disabled:!y||!b||s,className:K(`text-muted-foreground hover:text-foreground`,(!y||!b||s)&&`text-muted-foreground/30`),"aria-label":d===`idle`?`Run test ${t}`:`Re-run test ${t}`,children:(0,Q.jsx)(U,{className:`size-3.5`})}),u&&k&&x&&(0,Q.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:x,className:`text-muted-foreground hover:text-foreground`,"aria-label":`Cancel test ${t}`,children:(0,Q.jsx)(se,{className:`size-3`})}),(0,Q.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-destructive`,onClick:a,disabled:o||s,"aria-label":`Remove ${t}`,children:(0,Q.jsx)(le,{className:`size-3.5`})})]})]}),j&&p&&(0,Q.jsxs)(`p`,{className:`text-destructive text-xs mt-1 ml-7 line-clamp-2`,children:[p,` — see Reasoning tab for details`]}),N&&(0,Q.jsxs)(`ul`,{className:`mt-1.5 space-y-1 pl-5`,children:[g.map(e=>{let t=C?.type===`test-hook`&&C.hookId===e.id;return(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>S!==void 0&&w?.({type:`test-hook`,testIndex:S,phase:`setup`,hookId:e.id}),className:K(`relative flex w-full items-center gap-2 overflow-hidden rounded-sm border px-1.5 py-0.5 text-left transition-colors`,e.status===`running`?`live-running-surface border-border/60 bg-primary/5`:t?`border-primary/20 bg-primary/10 ring-1 ring-primary/30`:`border-transparent bg-transparent hover:bg-muted/40`),children:[(0,Q.jsx)(W,{className:`size-3 text-muted-foreground shrink-0`}),(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground truncate flex-1`,children:[`setup: `,e.name]}),(0,Q.jsx)(De,{status:e.status})]})},`setup-${e.id}`)}),_.map(e=>{let t=C?.type===`test-hook`&&C.hookId===e.id;return(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>S!==void 0&&w?.({type:`test-hook`,testIndex:S,phase:`teardown`,hookId:e.id}),className:K(`relative flex w-full items-center gap-2 overflow-hidden rounded-sm border px-1.5 py-0.5 text-left transition-colors`,e.status===`running`?`live-running-surface border-border/60 bg-primary/5`:t?`border-primary/20 bg-primary/10 ring-1 ring-primary/30`:`border-transparent bg-transparent hover:bg-muted/40`),children:[(0,Q.jsx)(W,{className:`size-3 text-muted-foreground shrink-0`}),(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground truncate flex-1`,children:[`teardown: `,e.name]}),(0,Q.jsx)(De,{status:e.status})]})},`teardown-${e.id}`)})]})]})}function je({availableTests:e,onAdd:t,disabled:n=!1}){return e.length===0?(0,Q.jsxs)(`div`,{className:`rounded-md border bg-card/20 p-3 text-sm text-muted-foreground`,children:[`No test files found.`,` `,(0,Q.jsx)(X,{to:`/tests/new`,className:`text-primary underline underline-offset-4 hover:text-primary/80`,children:`Create a test first.`})]}):(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(_e,{className:`rounded-md border`,children:[(0,Q.jsx)(ge,{placeholder:`Search by test name, path, or ID...`,disabled:n}),(0,Q.jsxs)(me,{className:`max-h-64`,children:[(0,Q.jsx)(ve,{children:`No tests match your query.`}),(0,Q.jsx)(J,{children:e.map(e=>(0,Q.jsx)(ye,{value:`${e.name} ${e.path} ${e.testId??``}`,onSelect:()=>t({test:e.path,id:e.testId??``}),disabled:n,className:`px-2 py-1.5`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5 w-full min-w-0`,children:[(0,Q.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e.name}),(0,Q.jsx)(`span`,{className:`text-[11px] font-mono text-muted-foreground truncate`,children:e.path}),(0,Q.jsx)(`span`,{className:`text-[10px] font-mono text-muted-foreground/70 truncate`,children:e.testId??``})]})},e.path))})]})]}),(0,Q.jsx)(`p`,{className:`text-[10px] text-muted-foreground/60`,children:`Type to filter by name, path, or test ID. Click to add. Same test can be added multiple times.`})]})}var Me=[`name`,`suite-id`,`target`,`use`,`context`,`setup`,`tests`,`teardown`];function Ne(e){function t(e,n){if(S(e)){n?e.items.sort((e,t)=>{let n=Me.indexOf(String(e.key)),r=Me.indexOf(String(t.key));return(n===-1?Me.length:n)-(r===-1?Me.length:r)}):e.items.sort((e,t)=>String(e.key).localeCompare(String(t.key)));for(let n of e.items)t(n.value,!1)}}t(e.contents,!0)}function Pe(e){return Ne(e),e.toString()}function Fe(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Ie(e){return Array.isArray(e)?e.map(e=>{if(e&&typeof e==`object`&&`test`in e&&`id`in e){let t=e;if(typeof t.test==`string`&&typeof t.id==`string`)return{test:t.test,id:t.id}}return null}).filter(e=>e!==null):[]}function Le(e){try{let t=y(e);if(t.errors.length>0)return null;let n=t.toJSON();return!n||typeof n!=`object`?null:{name:n.name??``,suiteId:n[`suite-id`]??``,target:n.target??``,context:n.context??``,setup:Fe(n.setup),teardown:Fe(n.teardown),tests:Ie(n.tests)}}catch{return null}}function Re(e,t,n){try{let r=y(e);return n===void 0||Array.isArray(n)&&n.length===0||n===``?r.deleteIn(t):r.setIn(t,n),Pe(r)}catch{return e}}function ze(e,t,n){try{if(t===n||t<0||n<0)return e;let r=y(e),i=Ie(r.toJSON()?.tests);if(t>=i.length||n>=i.length)return e;let a=[...i],[o]=a.splice(t,1);return a.splice(n,0,o),r.setIn([`tests`],a),Pe(r)}catch{return e}}function Be(e,t){try{let n=y(e),r=Ie(n.toJSON()?.tests);return n.setIn([`tests`],[...r,t]),Pe(n)}catch{return e}}function Ve(e,t){try{let n=y(e),r=Ie(n.toJSON()?.tests);if(t<0||t>=r.length)return e;let i=r.filter((e,n)=>n!==t);return i.length===0?n.deleteIn([`tests`]):n.setIn([`tests`],i),Pe(n)}catch{return e}}function He({text:e}){return(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsx)(xe,{className:`h-3 w-3 text-muted-foreground/40 hover:text-muted-foreground/70 transition-colors cursor-help`})}),(0,Q.jsx)(Y,{className:`max-w-[250px] text-[13px]`,children:e})]})}function Ue({status:e}){switch(e){case`running`:return(0,Q.jsx)(D,{className:`size-3.5 text-primary`});case`passed`:return(0,Q.jsx)(V,{className:`size-3.5 text-emerald-500`});case`failed`:return(0,Q.jsx)(ue,{className:`size-3.5 text-destructive`});default:return(0,Q.jsx)(W,{className:`size-3.5 text-muted-foreground`})}}function We(e){return e===`running`||e===`cancelling`}function Ge(e){return e===`running`||e===`cancelling`}function Ke(e){return e===`running`}function $(e){return e.some(e=>Ke(e.status))}function qe(e){return We(e.status)||e.runningStepIndex!==null||e.liveSteps.some(e=>Ge(e.status))||$(e.perTestSetupHooks)||$(e.perTestTeardownHooks)}function Je({title:e,hooks:t,selection:n,onSelect:r}){return t.length===0?null:(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider font-medium text-muted-foreground`,children:e}),(0,Q.jsx)(`ul`,{className:`space-y-1`,children:t.map(e=>{let t=n?.type===`suite-hook`&&n.hookId===e.id;return(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>r?.({type:`suite-hook`,phase:e.phase,hookId:e.id}),className:K(`relative flex w-full items-center gap-2 overflow-hidden rounded-md border px-3 py-1.5 text-left transition-colors`,e.status===`running`?`live-running-surface border-border/60 bg-primary/5`:t?`border-primary/20 bg-primary/10 ring-1 ring-primary/30`:`border-border/60 bg-card/40 hover:bg-card/60`),children:[(0,Q.jsx)(Ue,{status:e.status}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`div`,{className:`truncate text-sm`,children:e.name}),(0,Q.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.id})]})]})},e.id)})})]})}function Ye({content:e,onChange:t,disabled:n=!1,suggestions:r,isCreateMode:i=!1,liveMode:a=!1,liveTests:s=[],liveSetupHooks:c=[],liveTeardownHooks:u=[],runningTestIndex:f=null,canRunTest:_=!0,canRunAll:v=!1,isRunningAll:y=!1,isStoppingRunAll:b=!1,onRunTest:S,onCancelTest:C,onRunAll:w,onStopAll:D,onRunLiveHook:ne,setupHooksStale:re=!1,onRestartSession:ie,selection:k=null,onSelect:ae}){let A=(0,Z.useRef)(null),{hooks:j,warningCopy:M}=T(),N=j??[],P=(0,Z.useMemo)(()=>Object.fromEntries(N.map(e=>[e.id,e.name])),[N]),[F,I]=(0,Z.useState)([]),[L,ce]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{be().then(e=>I(e.files)).catch(()=>{})},[]),(0,Z.useEffect)(()=>{if(!L)return;function e(e){e.key===`Escape`&&ce(!1)}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[L]);let R=Le(e),z=R===null,B=R??A.current;R&&(A.current=R);let V=ee(d(E,{activationConstraint:{distance:8}}),d(l,{coordinateGetter:x})),U=(0,Z.useCallback)((n,r)=>{t(Re(e,[n],r))},[e,t]),le=(0,Z.useCallback)(n=>{t(Be(e,n))},[e,t]),G=(0,Z.useCallback)(n=>{t(Ve(e,n))},[e,t]),fe=B?.tests.map((e,t)=>`test-${t}`)??[],K=a&&(y||b),pe=a&&(f!==null||s.some(e=>qe(e))||$(c)||$(u)),q=K||pe,J=K,me=n||z||q,he=(0,Z.useCallback)(r=>{if(n||z||q)return;let{active:i,over:a}=r;if(!a||i.id===a.id)return;let o=parseInt(String(i.id).replace(`test-`,``),10),s=parseInt(String(a.id).replace(`test-`,``),10);if(Number.isNaN(o)||Number.isNaN(s))return;let c=ze(e,o,s);c!==e&&t(c)},[e,n,t,q,z]);return(0,Q.jsx)(`div`,{className:`flex flex-col`,children:(0,Q.jsxs)(`div`,{className:`space-y-4 p-4`,children:[z&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-destructive/50 bg-destructive/10 p-3 text-sm text-destructive`,children:[(0,Q.jsx)(o,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{children:`YAML has errors — builder shows last valid state`})]}),a&&re&&(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm text-amber-700 dark:text-amber-300`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Q.jsx)(ue,{className:`mt-0.5 size-4 shrink-0`}),(0,Q.jsx)(`span`,{children:`Setup hooks changed — restart session to re-apply the latest setup and teardown hooks.`})]}),ie&&(0,Q.jsx)(H,{type:`button`,size:`sm`,className:`shrink-0`,onClick:ie,children:`Restart Live Session`})]}),B?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Te,{name:B.name,suiteId:B.suiteId,target:B.target,context:B.context,isCreateMode:i,suggestions:r,hookLabels:P,onChange:U,disabled:n||z}),a&&(0,Q.jsx)(Je,{title:`Setup Hooks (Live)`,hooks:c,selection:k,onSelect:ae}),(0,Q.jsxs)(`div`,{className:`space-y-3 rounded-md border bg-card/20 p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(W,{className:`size-4 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:`Hooks`})]}),(0,Q.jsxs)(`span`,{className:`text-[10px] text-muted-foreground/50`,children:[B.setup.length+B.teardown.length,` `,B.setup.length+B.teardown.length===1?`hook`:`hooks`]})]}),M&&(0,Q.jsxs)(`div`,{className:`flex gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300`,children:[(0,Q.jsx)(o,{className:`mt-0.5 size-3.5 shrink-0`}),(0,Q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`font-medium`,children:M.title}),(0,Q.jsx)(`p`,{children:M.body})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Search hook names or paste an h_ ID. Saved as stable ID in YAML. Inline runHook uses the stable hook ID.`}),(0,Q.jsx)(p,{phase:`setup`,label:`Setup`,values:B.setup,suggestions:N,disabled:me,placeholder:`Search hook names or paste an h_ ID`,onChange:e=>U(`setup`,e)}),(0,Q.jsx)(p,{phase:`teardown`,label:`Teardown`,values:B.teardown,suggestions:N,disabled:me,placeholder:`Search hook names or paste an h_ ID`,onChange:e=>U(`teardown`,e)})]})]}),a&&(0,Q.jsx)(Je,{title:`Teardown Hooks (Live)`,hooks:u,selection:k,onSelect:ae}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground flex items-center gap-1`,children:[`Tests in Suite`,` `,(0,Q.jsx)(He,{text:`Tests run in the order shown. Drag to reorder. The suite fails fast if any referenced test is missing at save.`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`text-[10px] text-muted-foreground/50`,children:[B.tests.length,` `,B.tests.length===1?`test`:`tests`]}),a&&(0,Q.jsx)(H,{type:`button`,variant:`outline`,size:`sm`,onClick:y?D:w,disabled:b||!y&&!v,children:b?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(de,{className:`size-3.5 animate-spin`}),`Stopping...`]}):y?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(se,{className:`size-3.5`}),`Stop Run All`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(O,{className:`size-3.5`}),`Run All Tests`]})})]})]}),B.tests.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tests added yet. Use the picker below.`}):(0,Q.jsx)(h,{sensors:V,collisionDetection:te,onDragEnd:he,children:(0,Q.jsx)(m,{items:fe,strategy:g,children:(0,Q.jsx)(`div`,{className:`space-y-1.5`,children:B.tests.map((e,t)=>{let r=F.find(t=>t.path===e.test),i=r?.name??e.test.split(`/`).pop()??e.test,o=F.length>0&&!r,c=a?s[t]:void 0,l=a?_&&f===null&&!J:!0;return(0,Q.jsx)(Ae,{id:`test-${t}`,name:i,path:e.test,testId:e.id,isMissing:o,onRemove:()=>G(t),disabled:n||z,actionsLocked:J,sortableDisabled:q,liveMode:a,liveStatus:c?.status,liveDuration:c?.duration,liveError:c?.error??null,liveSteps:c?.liveSteps??[],runningStepIndex:c?.runningStepIndex??null,perTestSetupHooks:c?.perTestSetupHooks??[],perTestTeardownHooks:c?.perTestTeardownHooks??[],canRunTest:l,onRunTest:a&&S?()=>S(t):void 0,onCancelTest:a&&C?()=>C(t):void 0,testIndex:t,selection:k,onSelect:ae},`test-${t}`)})})})})]}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:`Available Tests`}),(0,Q.jsxs)(H,{type:`button`,variant:`outline`,size:`xs`,onClick:()=>ce(e=>!e),disabled:n||z||J,"aria-expanded":L,"aria-controls":`suite-test-picker-region`,children:[(0,Q.jsx)(oe,{className:`size-3`}),L?`Hide picker`:`Add new test`]})]}),L&&(0,Q.jsx)(`div`,{id:`suite-test-picker-region`,children:(0,Q.jsx)(je,{availableTests:F,onAdd:le,disabled:n||z||J})})]})]}):(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12 text-sm text-muted-foreground`,children:`Enter valid YAML to use the visual builder`})]})})}function Xe({suiteName:e,suiteId:t,unsaved:n,isCreateMode:r,mode:i=`view`,suiteHref:a,isSaving:o,isValidating:s,isRunning:c,runDisabled:l=!1,hasInvalidFilename:u,shortcutsOpen:d,showSuiteId:f=!0,hasLiveSession:p=!1,liveConnectionState:m=`idle`,isLiveActionDisabled:h=!1,liveSessionNumber:g=null,onSave:_,onValidate:v,onRun:y,onLiveConnect:b,onLiveEnd:x,onSettingsOpen:S,onToggleShortcuts:C}){let T=i===`view`&&!r,E=!!b||!!x||p||m===`connecting`,D=!r||E,ee=!r&&!T&&i===`edit`,te=`Start a disposable live session for this suite. Setup hooks run on connect, included tests run serially on a shared browser context, teardown hooks run when the session ends, and changes are not saved automatically.`;return(0,Q.jsxs)(`div`,{"data-testid":`suite-navbar-root`,className:`flex h-14 shrink-0 items-center justify-between border-b px-4 min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Q.jsx)(X,{to:`/suites`,className:`text-sm text-muted-foreground hover:text-foreground transition-colors shrink-0`,children:`Suites`}),(0,Q.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}),r?(0,Q.jsx)(`span`,{className:`text-sm font-medium truncate`,children:`New Suite`}):a&&!T?(0,Q.jsx)(X,{to:a,className:`truncate text-sm font-medium hover:text-primary transition-colors`,children:e}):(0,Q.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e}),ee&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}),(0,Q.jsx)(`span`,{className:`text-sm font-medium truncate`,children:`Edit`})]}),n&&(0,Q.jsx)(Se,{variant:`outline`,className:`text-xs`,children:`Unsaved`}),!T&&!r&&t&&f&&(0,Q.jsx)(w,{label:`S`,value:t})]}),(0,Q.jsx)(`div`,{className:`flex items-center gap-3 shrink-0`,children:T?(0,Q.jsxs)(Q.Fragment,{children:[a?(0,Q.jsx)(H,{variant:`outline`,size:`sm`,asChild:!0,children:(0,Q.jsxs)(X,{to:a,children:[`Edit`,(0,Q.jsx)(M,{shortcut:`E`})]})}):(0,Q.jsxs)(H,{variant:`outline`,size:`sm`,disabled:!0,children:[`Edit`,(0,Q.jsx)(M,{shortcut:`E`})]}),(0,Q.jsx)(k,{onRun:y,disabled:c||l,label:c?`Running...`:`Run`,shortcutKey:`R`,size:`sm`}),E&&(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsxs)(H,{size:`sm`,onClick:b,disabled:h||!b,children:[m===`connecting`?(0,Q.jsx)(de,{className:`h-3.5 w-3.5 animate-spin`}):(0,Q.jsx)(O,{className:`h-3.5 w-3.5`}),m===`connecting`?`Connecting...`:`Connect Live Session`,(0,Q.jsx)(M,{shortcut:`L`,className:`border-primary-foreground/20 bg-primary-foreground/10 text-primary-foreground`})]})}),(0,Q.jsx)(Y,{className:`max-w-sm text-[13px]`,children:te})]}),!r&&(0,Q.jsxs)(z,{open:d,onOpenChange:e=>{e||C()},children:[(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsx)(R,{asChild:!0,children:(0,Q.jsx)(H,{variant:`ghost`,size:`icon-sm`,onClick:C,"aria-label":`Shortcuts`,children:(0,Q.jsx)(j,{className:`h-3.5 w-3.5`})})})}),(0,Q.jsx)(Y,{children:`Shortcuts`})]}),(0,Q.jsx)(ce,{align:`end`,sideOffset:8,className:`w-72 p-4`,children:(0,Q.jsx)(`div`,{className:`space-y-3`,children:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h4`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-2`,children:`Actions`}),(0,Q.jsx)(A,{hints:[{key:`E`,label:`Edit`},{key:`R`,label:`Run`},{key:`L`,label:`Connect Live Session`}]})]})})})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(H,{variant:`ghost`,size:`sm`,onClick:v,disabled:s||u,children:[(0,Q.jsx)(V,{className:`h-3.5 w-3.5`}),s?`Validating...`:`Validate`]}),(0,Q.jsxs)(H,{variant:`ghost`,size:`sm`,onClick:_,disabled:o||u,children:[(0,Q.jsx)(ne,{className:`h-3.5 w-3.5`}),o?`Saving...`:`Save`]}),(0,Q.jsxs)(H,{variant:`ghost`,size:`sm`,onClick:S,children:[(0,Q.jsx)(P,{className:`h-3.5 w-3.5`}),`Settings`]}),D&&(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border`}),!r&&(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsx)(`span`,{className:`inline-flex`,children:(0,Q.jsx)(k,{onRun:y,disabled:c||l||p,label:c?`Running...`:`Run Suite`,size:`sm`})})}),p&&(0,Q.jsx)(Y,{children:`End the live session to queue a new suite run.`})]}),E&&(p&&m!==`connecting`?(0,Q.jsxs)(H,{variant:`destructive`,size:`sm`,onClick:x,disabled:!x,children:[(0,Q.jsx)(se,{className:`h-3.5 w-3.5`}),`End Live Session`]}):(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsxs)(H,{size:`sm`,onClick:b,disabled:h||!b,children:[m===`connecting`?(0,Q.jsx)(de,{className:`h-3.5 w-3.5 animate-spin`}):(0,Q.jsx)(O,{className:`h-3.5 w-3.5`}),m===`connecting`?`Connecting...`:`Connect Live Session`]})}),(0,Q.jsx)(Y,{className:`max-w-sm text-[13px]`,children:te})]})),!T&&p&&typeof g==`number`&&(m===`connected`||m===`executing`)&&(0,Q.jsxs)(Se,{variant:`outline`,"aria-live":`polite`,className:`text-[10px] tracking-wider font-medium text-muted-foreground bg-muted/50 border-border/50`,children:[`Session #`,g]}),!r&&(0,Q.jsxs)(z,{open:d,onOpenChange:e=>{e||C()},children:[(0,Q.jsxs)(B,{children:[(0,Q.jsx)(G,{asChild:!0,children:(0,Q.jsx)(R,{asChild:!0,children:(0,Q.jsx)(H,{variant:`ghost`,size:`icon-sm`,onClick:C,children:(0,Q.jsx)(j,{className:`h-3.5 w-3.5`})})})}),(0,Q.jsx)(Y,{children:`Shortcuts`})]}),(0,Q.jsx)(ce,{align:`end`,sideOffset:8,className:`w-72 p-4`,children:(0,Q.jsx)(`div`,{className:`space-y-3`,children:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h4`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-2`,children:`Actions`}),(0,Q.jsx)(A,{hints:[{key:`R`,label:`Run suite`},{key:`Cmd+S`,label:`Save`},{key:`Esc`,label:`Close results panel`}]})]})})})]})]})})]})}export{Re as i,Ye as n,Le as r,Xe as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./monaco-editor-CDJrOpKK.js";import{t as n}from"./file-code-GHpcb0ud.js";import{n as r}from"./split-button-C7J0EKrF.js";import{t as i}from"./zap-C7OZlYXQ.js";import{t as a}from"./use-page-title-CK82kWb2.js";import{a as o,n as s,o as ee,t as c}from"./insights-line-grid-G3ouKANt.js";import{i as l,n as u,r as d,t as f}from"./tabs-CfNQIHt-.js";import{At as p,Gt as m,Ht as h,Kt as g,Mt as te,Nt as ne,Qn as _,Wt as v,Zn as y,at as re,cr as ie,fr as b,it as ae,jt as x,kt as S,lr as oe,or as C,qt as w,r as se,sr as ce,xt as le}from"./index-B3xPCIyH.js";import{t as T}from"./badge-BbhOGRC0.js";import{a as E,i as D,n as O,o as k,r as A,t as j}from"./table-DL0PmHAE.js";import{t as ue}from"./empty-state-Dluv5C1Q.js";import{t as de}from"./use-keyboard-shortcuts-BRF3cm7O.js";import{n as fe,t as pe}from"./suite-navbar-CnJmeIp-.js";import{n as M,r as me,t as he}from"./viewer-url-state-CZTYs75z.js";var N=e(b(),1),P=y(),ge=[`builder`,`yaml`,`memory`];function _e(e){let t=e.trim();return t.length>=2&&(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))?t.slice(1,-1).trim():t}function F(e){return{suiteId:e,total:0,flakyScore:0,isFlaky:!1,runs:[],trends:{daily:[],passRate:0,totalRuns:0,avgDuration:0}}}function I(e){if(!e)return``;let t=new Date(w(e)),n=Date.now()-t.getTime(),r=Math.floor(n/1e3);if(r<60)return`just now`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);if(a<24)return`${a}h ago`;let o=Math.floor(a/24);return o<7?`${o}d ago`:v(e)}function L({status:e}){switch(e){case`passed`:return(0,P.jsx)(T,{className:`bg-emerald-500/15 text-emerald-500 border-emerald-500/20`,children:`Passed`});case`failed`:return(0,P.jsx)(T,{variant:`destructive`,children:`Failed`});case`healed`:return(0,P.jsx)(T,{className:`bg-amber-500/15 text-amber-500 border-amber-500/20`,children:`Healed`});case`flaky`:return(0,P.jsx)(T,{className:`bg-amber-500/15 text-amber-500 border-amber-500/20`,children:`Flaky`});case`running`:return(0,P.jsx)(T,{className:`bg-blue-500/15 text-blue-500 border-blue-500/20 animate-pulse`,children:`Running`});case`cancelled`:return(0,P.jsx)(T,{className:`bg-muted text-muted-foreground border-border`,children:`Cancelled`});default:return(0,P.jsx)(T,{variant:`outline`,children:e})}}function R({configured:e,mode:t,scopedCount:n,totalCount:r,onModeChange:i}){return e?(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`div`,{className:`inline-flex rounded border border-border p-0.5`,children:[`scoped`,`all`].map(e=>(0,P.jsx)(h,{type:`button`,size:`xs`,variant:t===e?`default`:`ghost`,"aria-pressed":t===e,className:`h-7 rounded-[2px] px-2 text-xs`,onClick:()=>i(e),children:e===`scoped`?`Scoped`:`All runs`},e))}),(0,P.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n,` scoped / `,r,` total runs`]})]}):(0,P.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No analytics scope configured`})}function z({runs:e,compactDate:t=!1}){return e.length===0?(0,P.jsx)(`div`,{className:`flex items-center justify-center h-16 text-sm text-muted-foreground`,children:`No runs yet`}):(0,P.jsxs)(j,{children:[(0,P.jsx)(E,{children:(0,P.jsxs)(k,{children:[(0,P.jsx)(D,{children:`Status`}),(0,P.jsx)(D,{children:`Duration`}),(0,P.jsx)(D,{children:`Date`})]})}),(0,P.jsx)(O,{children:e.map(e=>(0,P.jsxs)(k,{className:`relative cursor-pointer hover:bg-muted/50`,children:[(0,P.jsxs)(A,{children:[(0,P.jsx)(C,{to:_.runDetailOrLive(e.id,e.status),className:`absolute inset-0`,tabIndex:-1}),(0,P.jsx)(L,{status:e.status})]}),(0,P.jsx)(A,{children:e.status===`running`?(0,P.jsx)(`span`,{className:`text-blue-500 text-sm`,children:`In progress...`}):(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:g(e.duration)})}),(0,P.jsx)(A,{children:t?(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:I(e.createdAt)}):(0,P.jsxs)(p,{children:[(0,P.jsx)(ne,{asChild:!0,children:(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:v(e.createdAt)})}),(0,P.jsx)(x,{children:m(e.createdAt)})]})})]},e.id))})]})}function B(){let e=ie(),p=ce(),[m,h]=oe(),{defaultRunMode:ne}=r(),v=e[`suite-id`]??``,y=(0,N.useMemo)(()=>he(m,ge),[m]),b=(0,N.useMemo)(()=>M(y,m),[m,y]),x=y.tab,C=y.view,[w,E]=(0,N.useState)(``),[D,O]=(0,N.useState)(``),[k,A]=(0,N.useState)(!0),[j,I]=(0,N.useState)(!1),[L,B]=(0,N.useState)(()=>F(v)),[V,H]=(0,N.useState)(`all`),[U,W]=(0,N.useState)(!1),[ve,ye]=(0,N.useState)(!1),G=(0,N.useMemo)(()=>{let e=w.match(/^name:\s*(.+)$/m);return e?_e(e[1]):null},[w]);a(G||`Suite`);let K=L.scope?.configured===!0,q=V===`scoped`&&K&&L.scopedTrends?L.scopedTrends:L.trends,J=V===`scoped`&&K&&L.scopedFlakyScore!==void 0?L.scopedFlakyScore:L.flakyScore,be=V===`scoped`&&K?L.scopedRuns??[]:L.runs,xe=(0,N.useMemo)(()=>q.daily.map(e=>({date:e.date,passRate:e.total>0?Math.round(e.passed/e.total*1e3)/10:0})),[q]),Se=(0,N.useMemo)(()=>L.trends.daily.map(e=>({date:e.date,duration:e.avgDuration})),[L]),Y=be;(0,N.useEffect)(()=>{H(L.scope?.configured?`scoped`:`all`)},[L]),(0,N.useEffect)(()=>{b.toString()!==m.toString()&&h(b,{replace:!0})},[b,m,h]),(0,N.useEffect)(()=>{if(!v){I(!0),A(!1),B(F(``));return}let e=!1;return A(!0),I(!1),E(``),O(``),B(F(v)),re(v).then(t=>{e||(E(t.content),O(t.path))}).catch(()=>{e||(I(!0),S.error(`Failed to load suite file`))}).finally(()=>{e||A(!1)}),()=>{e=!0}},[v]),(0,N.useEffect)(()=>{if(!v)return;let e=!1;return ae(v,{limit:50}).then(t=>{e||B(t)}).catch(()=>{e||B(F(v))}),()=>{e=!0}},[v]);let X=async e=>{if(!(U||!D)){W(!0);try{let t=await le({file:D,local:e});S.success(`Run started`),p(_.runLive(t.runId))}catch(e){S.error(`Failed to start run: ${e instanceof Error?e.message:String(e)}`)}finally{W(!1)}}},Z=_.suiteEdit(v),Q=`${Z}?live=1`;de({e:()=>p(Z),r:()=>{D&&X(ne===`local`)},l:()=>p(Q)});let $=e=>{h(M(e,m),{replace:!0})};if(k)return(0,P.jsx)(se,{});if(j)return(0,P.jsx)(ue,{icon:n,title:`Suite not found`,description:`This suite doesn't exist`,actionLabel:`View All Suites`,onAction:()=>p(_.suites)});let Ce=(0,P.jsx)(fe,{content:w,onChange:()=>{},disabled:!0,suggestions:[]}),we=(0,P.jsx)(t,{value:w,onChange:()=>{},readOnly:!0,className:`h-full`}),Te=(0,P.jsxs)(`aside`,{"data-testid":`suite-detail-analytics-sidebar`,className:`flex flex-col gap-0 overflow-y-auto border-t border-border md:border-t-0 md:border-l md:border-border`,children:[(0,P.jsx)(`div`,{className:`border-b border-border px-3 py-2`,children:(0,P.jsx)(R,{configured:K,mode:V,scopedCount:L.scope?.scopedCount??0,totalCount:L.scope?.totalCount??L.total,onModeChange:H})}),(0,P.jsxs)(s,{className:`grid-cols-2 divide-x divide-y-0 border-x-0 border-t-0`,children:[(0,P.jsxs)(c,{className:`flex flex-col gap-0.5 px-3 py-2`,children:[(0,P.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Pass Rate`}),(0,P.jsxs)(`span`,{className:`text-xl font-semibold text-foreground`,children:[Math.round(q.passRate*100),`%`]})]}),(0,P.jsxs)(c,{className:`flex flex-col gap-0.5 px-3 py-2`,children:[(0,P.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Avg Duration`}),(0,P.jsx)(`span`,{className:`text-xl font-semibold text-foreground`,children:g(L.trends.avgDuration)})]}),(0,P.jsxs)(c,{className:`flex flex-col gap-0.5 border-t border-border px-3 py-2`,children:[(0,P.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Total Runs`}),(0,P.jsx)(`span`,{className:`text-xl font-semibold text-foreground`,children:L.total.toLocaleString()})]}),(0,P.jsxs)(c,{className:`flex flex-col gap-0.5 border-t border-border px-3 py-2`,children:[(0,P.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Flaky Score`}),(0,P.jsxs)(`span`,{className:`text-xl font-semibold text-foreground`,children:[(J*100).toFixed(0),`%`]})]})]}),(0,P.jsx)(s,{className:`border-x-0 border-y-0`,children:(0,P.jsxs)(c,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,P.jsxs)(`span`,{className:`text-sm font-medium text-foreground`,children:[V===`scoped`&&K?`Scoped Runs`:`All Runs`,` (`,Y.length,`)`]}),(0,P.jsx)(z,{runs:Y.slice(0,5),compactDate:!0})]})})]});return(0,P.jsx)(te,{children:(0,P.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,P.jsx)(pe,{suiteName:G||`Suite`,suiteId:v,unsaved:!1,isCreateMode:!1,mode:`view`,suiteHref:Z,isSaving:!1,isValidating:!1,isRunning:U,runDisabled:!D,hasInvalidFilename:!1,shortcutsOpen:ve,showSuiteId:!1,onBack:()=>p(_.suites),onSave:()=>{},onValidate:()=>{},onRun:e=>X(e),onLiveConnect:()=>p(Q),onSettingsOpen:()=>{},onToggleShortcuts:()=>ye(e=>!e)}),(0,P.jsxs)(f,{value:x,onValueChange:e=>$({tab:e,view:C}),className:`flex-1 min-h-0 flex flex-col`,children:[(0,P.jsx)(`div`,{className:`px-4 border-b border-border`,children:(0,P.jsxs)(d,{variant:`line`,children:[(0,P.jsx)(l,{value:`overview`,children:`Overview`}),(0,P.jsx)(l,{value:`insights`,children:`Insights`})]})}),(0,P.jsxs)(u,{value:`overview`,className:`flex-1 min-h-0 mt-0 grid grid-cols-1 md:grid-cols-[minmax(480px,1fr)_minmax(260px,320px)]`,children:[(0,P.jsx)(`div`,{className:`min-w-0 min-h-0 flex flex-col`,children:(0,P.jsxs)(f,{value:C,onValueChange:e=>$({tab:x,view:e}),className:`flex-1 min-h-0 flex flex-col`,children:[(0,P.jsx)(`div`,{className:`border-b border-border`,children:(0,P.jsxs)(d,{variant:`line`,className:`w-full grid grid-cols-3 px-4 md:w-fit md:inline-flex`,children:[(0,P.jsx)(l,{value:`builder`,children:`Builder`}),(0,P.jsx)(l,{value:`yaml`,children:`YAML`}),(0,P.jsx)(l,{value:`memory`,children:`Memory`})]})}),(0,P.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[(0,P.jsx)(u,{value:`builder`,className:`absolute inset-0 overflow-y-auto data-[state=inactive]:hidden`,children:Ce}),(0,P.jsx)(u,{value:`yaml`,className:`absolute inset-0 data-[state=inactive]:hidden`,children:we}),(0,P.jsx)(u,{value:`memory`,className:`absolute inset-0 overflow-y-auto data-[state=inactive]:hidden`,children:(0,P.jsx)(me,{scope:`suite`,scopeId:v,emptyTitle:`No suite memory yet`,emptyDescription:`This suite doesn't have cataloged observations in this workspace yet. Run the suite with memory enabled, then reopen this tab.`})})]})]})}),Te]}),(0,P.jsx)(u,{value:`insights`,className:`flex-1 overflow-y-auto mt-0`,children:(0,P.jsxs)(`div`,{"data-testid":`suite-detail-insights`,className:`space-y-3 px-4 py-3`,children:[L.isFlaky&&(0,P.jsxs)(T,{variant:`destructive`,children:[(0,P.jsx)(i,{className:`size-3`}),`Flaky (score: `,L.flakyScore.toFixed(2),`)`]}),(0,P.jsxs)(s,{className:`grid-cols-2 divide-x divide-y-0 md:grid-cols-4`,children:[(0,P.jsx)(c,{className:`border-b border-border md:border-b-0`,children:(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Total Runs`}),(0,P.jsx)(`p`,{className:`mt-0.5 text-2xl font-semibold`,children:L.total.toLocaleString()})]})}),(0,P.jsx)(c,{className:`border-b border-border md:border-b-0 md:border-r`,children:(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Pass Rate`}),(0,P.jsxs)(`p`,{className:`mt-0.5 text-2xl font-semibold`,children:[Math.round(q.passRate*100),`%`]})]})}),(0,P.jsx)(c,{children:(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Avg Duration`}),(0,P.jsx)(`p`,{className:`mt-0.5 text-2xl font-semibold`,children:g(L.trends.avgDuration)})]})}),(0,P.jsx)(c,{children:(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Flaky Score`}),(0,P.jsxs)(`p`,{className:`mt-0.5 text-2xl font-semibold`,children:[(J*100).toFixed(0),`%`]})]})})]}),(0,P.jsx)(s,{children:(0,P.jsx)(c,{className:`px-4 py-3`,children:(0,P.jsx)(R,{configured:K,mode:V,scopedCount:L.scope?.scopedCount??0,totalCount:L.scope?.totalCount??L.total,onModeChange:H})})}),q.daily.length>0&&(0,P.jsxs)(s,{className:`md:grid-cols-2 md:divide-x md:divide-y-0`,children:[(0,P.jsxs)(c,{className:`px-4 py-3`,children:[(0,P.jsx)(`p`,{className:`text-sm font-medium mb-2`,children:`Pass Rate`}),(0,P.jsx)(`div`,{className:`h-[160px] overflow-hidden`,children:(0,P.jsx)(ee,{data:xe})})]}),(0,P.jsxs)(c,{className:`px-4 py-3`,children:[(0,P.jsx)(`p`,{className:`text-sm font-medium mb-2`,children:`Duration`}),(0,P.jsx)(`div`,{className:`h-[160px] overflow-hidden`,children:(0,P.jsx)(o,{data:Se})})]})]}),(0,P.jsx)(s,{children:(0,P.jsxs)(c,{className:`px-4 py-3`,children:[(0,P.jsxs)(`p`,{className:`text-sm font-medium mb-2`,children:[V===`scoped`&&K?`Scoped Runs`:`All Runs`,` (`,Y.length,`)`]}),(0,P.jsx)(z,{runs:Y})]})})]})})]})]})})}export{B as default};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./arrow-up-down-DyIZvSrC.js";import{i as n,n as r,o as i,s as a,t as o}from"./select-B5gV6YUf.js";import{n as s,r as c}from"./shortcut-hints-CfVf0REF.js";import{t as ee}from"./plus-C6Zz9JLt.js";import{t as te}from"./use-page-title-CK82kWb2.js";import{t as l}from"./batch-action-bar-CZxUcNFZ.js";import{n as ne,t as re}from"./scroll-area-DfPMtFw0.js";import{At as ie,Bn as ae,Ht as u,M as oe,Mt as se,Nt as ce,Qn as d,Ut as f,Vt as p,Wt as le,Zn as m,a as ue,fr as h,jt as de,kt as g,lr as _,or as fe,ot as pe,sr as me,tt as he,xt as v}from"./index-B3xPCIyH.js";import{t as y}from"./badge-BbhOGRC0.js";import{a as ge,i as _e,n as ve,o as ye,r as be,t as b}from"./lib-BPEPp1D-.js";import{a as xe,i as Se,n as Ce,o as x,r as S,t as we}from"./table-DL0PmHAE.js";import{t as Te}from"./empty-state-Dluv5C1Q.js";import{t as C}from"./use-keyboard-shortcuts-BRF3cm7O.js";import{n as w,r as T,t as E}from"./tests-suites-table-widths-tlOYaS72.js";var D=e(h(),1);function O(){let[e,t]=_(),n=e.get(`status`)??``,r=e.get(`platform`)??``,i=e.get(`sort`)??``,a=e.get(`order`)??`desc`,o=(0,D.useCallback)((e,n)=>{t(t=>{let r=new URLSearchParams(t);return n?r.set(e,n):r.delete(e),r},{replace:!0})},[t]),s=(0,D.useMemo)(()=>i?[{id:i,desc:a===`desc`}]:[],[i,a]),c=(0,D.useRef)(s);return c.current=s,{status:n,platform:r,sort:i,order:a,sorting:s,onSortingChange:(0,D.useCallback)(e=>{let n=typeof e==`function`?e(c.current):e;t(e=>{let t=new URLSearchParams(e);return n.length>0?(t.set(`sort`,n[0].id),t.set(`order`,n[0].desc?`desc`:`asc`)):(t.delete(`sort`),t.delete(`order`)),t},{replace:!0})},[t]),setStatus:(0,D.useCallback)(e=>o(`status`,e),[o]),setPlatform:(0,D.useCallback)(e=>o(`platform`,e),[o])}}var k=m(),Ee=new Set([`passed`,`healed`]),De=new Set([`passed`,`healed`,`failed`,`flaky`,`cancelled`]),Oe=50;function ke(e){return e?e===`ios`?`iOS`:e.charAt(0).toUpperCase()+e.slice(1):`—`}function A(e){return e.createdAt||e.startedAt||e.endedAt||``}function Ae({status:e}){switch(e){case`passed`:return(0,k.jsx)(y,{className:`bg-emerald-500/15 text-emerald-500 border-emerald-500/20`,children:`Passed`});case`failed`:return(0,k.jsx)(y,{variant:`destructive`,children:`Failed`});case`healed`:return(0,k.jsx)(y,{className:`bg-amber-500/15 text-amber-500 border-amber-500/20`,children:`Healed`});case`flaky`:return(0,k.jsx)(y,{className:`bg-amber-500/15 text-amber-500 border-amber-500/20`,children:`Flaky`});case`running`:return(0,k.jsx)(y,{className:`bg-blue-500/15 text-blue-500 border-blue-500/20 animate-pulse`,children:`Running`});case`cancelled`:return(0,k.jsx)(y,{className:`bg-muted text-muted-foreground border-border`,children:`Cancelled`});default:return(0,k.jsx)(y,{variant:`outline`,children:e})}}function je(e){return f(`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 Me(e){return f(`py-2 align-top`,e===`select`&&`px-2`,e===`name`&&`max-w-0 px-3`,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 Ne({isActive:e,isBatchSelected:t}){return f(`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`)}function j(){te(`Suites`);let[e,m]=(0,D.useState)([]),[h,_]=(0,D.useState)([]),[y,j]=(0,D.useState)(!0),[M,N]=(0,D.useState)({}),[Pe,P]=(0,D.useState)(!1),[Fe,Ie]=(0,D.useState)([]),[F,I]=(0,D.useState)(-1),L=(0,D.useRef)([]),R=me(),{status:z,platform:B,sorting:Le,onSortingChange:Re,setStatus:ze,setPlatform:Be}=O();(0,D.useEffect)(()=>{let e=!1;return Promise.all([pe(),he({limit:200})]).then(([t,n])=>{e||(m(t.files),_(n.runs))}).catch(()=>{e||g.error(`Failed to load suites`)}).finally(()=>{e||j(!1)}),()=>{e=!0}},[]);let V=(0,D.useMemo)(()=>e.map(e=>{let t=[...h.filter(t=>t.suiteId&&e.suiteId?t.suiteId===e.suiteId:t.suiteId?!1:t.name===e.name)].sort((e,t)=>A(t).localeCompare(A(e))),n=t.filter(e=>De.has(e.status)),r=n.filter(e=>Ee.has(e.status)).length,i=n.length>0?Math.round(r/n.length*100):null,a=t[0]??null,o=t.find(e=>e.targetName?.trim())??null;return{path:e.path,suiteId:e.suiteId,name:e.name,platform:e.platform??o?.platform??a?.platform??null,lastRunStatus:a?.status??null,lastRun:a,targetName:o?.targetName?.trim()??a?.targetName?.trim()??null,passRate:i,passCount:r,completedRunCount:n.length}}),[e,h]),H=(0,D.useMemo)(()=>{let e=V;return z&&(e=z===`no-runs`?e.filter(e=>!e.lastRunStatus):e.filter(e=>e.lastRunStatus===z)),B&&(e=e.filter(e=>e.platform===B)),e},[V,z,B]),Ve={id:`select`,header:({table:e})=>(0,k.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,k.jsx)(T,{checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&`indeterminate`,onCheckedChange:t=>e.toggleAllPageRowsSelected(t),ariaLabel:`Select all`})}),cell:({row:e})=>(0,k.jsx)(T,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(t)}),enableSorting:!1,size:48},U=(0,D.useMemo)(()=>[{accessorKey:`name`,header:({column:e})=>(0,k.jsxs)(u,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Name`,(0,k.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,k.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,k.jsx)(`span`,{className:`block whitespace-normal break-words text-sm font-medium leading-snug text-foreground`,children:e.getValue(`name`)}),(0,k.jsx)(`span`,{className:`block whitespace-normal break-all text-xs leading-snug text-muted-foreground`,children:e.original.path})]}),size:400,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,k.jsxs)(u,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Target`,(0,k.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,k.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,k.jsxs)(u,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Platform`,(0,k.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>(0,k.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:ke(e.getValue(`platform`))})},{accessorKey:`passRate`,header:({column:e})=>(0,k.jsxs)(u,{variant:`ghost`,className:`-ml-4`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Pass rate`,(0,k.jsx)(t,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>e.original.passRate===null?(0,k.jsxs)(`div`,{className:`space-y-0.5 text-right`,children:[(0,k.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`No runs`}),(0,k.jsx)(`div`,{className:`text-xs tabular-nums text-muted-foreground`,children:`0 completed`})]}):(0,k.jsxs)(`div`,{className:`space-y-0.5 text-right`,children:[(0,k.jsxs)(`div`,{className:`text-sm font-medium tabular-nums text-foreground`,children:[e.original.passRate,`%`]}),(0,k.jsxs)(`div`,{className:`text-xs tabular-nums text-muted-foreground`,children:[e.original.passCount,`/`,e.original.completedRunCount]})]})},{id:`lastRun`,accessorFn:e=>e.lastRun?.createdAt??e.lastRun?.startedAt??e.lastRun?.endedAt??``,header:({column:e})=>(0,k.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,k.jsxs)(u,{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,k.jsx)(t,{className:`ml-2 h-4 w-4`})]})}),cell:({row:e})=>e.original.lastRun?(0,k.jsxs)(fe,{to:d.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:[(0,k.jsx)(Ae,{status:e.original.lastRun.status}),(0,k.jsx)(`span`,{className:`whitespace-normal break-words text-xs leading-snug text-muted-foreground`,children:le(A(e.original.lastRun))})]}):(0,k.jsx)(`span`,{className:`block text-sm text-muted-foreground`,children:`No runs`})}],[]),W=(0,D.useMemo)(()=>Object.keys(M).filter(e=>M[e]),[M]),G=(0,D.useMemo)(()=>H.filter(e=>W.includes(e.path)),[H,W]),K=(0,D.useCallback)(async e=>{if(G.length!==0){P(!0);try{let t=await Promise.allSettled(G.map(t=>v({file:t.path,local:e}))),n=t.filter(e=>e.status===`fulfilled`).length,r=t.length-n;r>0?g.error(`${n} runs queued, ${r} failed`):g.success(`${n} runs queued`),N({})}finally{P(!1)}}},[G]),He=(0,D.useCallback)(async e=>{if(G.length!==0){P(!0);try{let t=await Promise.allSettled(G.map(t=>v({file:t.path,noCache:!0,local:e}))),n=t.filter(e=>e.status===`fulfilled`).length,r=t.length-n;r>0?g.error(`${n} runs queued (no cache), ${r} failed`):g.success(`${n} runs queued (no cache)`),N({})}finally{P(!1)}}},[G]),Ue=(0,D.useCallback)(async()=>{if(G.length!==0){P(!0);try{let e=await Promise.allSettled(G.map(e=>oe(e.path))),t=G.filter((t,n)=>e[n]?.status===`fulfilled`),n=new Set(t.map(e=>e.path)),r=e.length-t.length;t.length>0&&(m(e=>e.filter(e=>!n.has(e.path))),N(e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e))))),r>0?g.error(`Deleted ${t.length} suite${t.length===1?``:`s`}, ${r} failed`):g.success(`Deleted ${t.length} suite${t.length===1?``:`s`}`)}finally{P(!1)}}},[G]),q=ve({data:H,columns:[Ve,...U],getCoreRowModel:be(),getSortedRowModel:ye(),getFilteredRowModel:_e(),getPaginationRowModel:ge(),onSortingChange:Re,onColumnFiltersChange:Ie,enableRowSelection:!0,onRowSelectionChange:N,getRowId:e=>e.path,state:{sorting:Le,columnFilters:Fe,rowSelection:M},initialState:{pagination:{pageSize:Oe}}}),J=q.getRowModel().rows,Y=q.getColumn(`name`)?.getFilterValue()??``,We=(0,D.useCallback)(e=>{q.getColumn(`name`)?.setFilterValue(e||void 0),q.setPageIndex(0),I(-1),N({})},[q]);C((0,D.useMemo)(()=>{let e=()=>I(e=>Math.min(e+1,J.length-1)),t=()=>I(e=>Math.max(e-1,0));return{j:e,arrowdown:e,k:t,arrowup:t,enter:e=>{if(F>=0&&J[F]){let t=J[F].original;if(!t.suiteId)return;let n=d.suiteView(t.suiteId);e.metaKey||e.ctrlKey?window.open(n,`_blank`):R(n)}}}},[J,F,R])),(0,D.useEffect)(()=>{if(F<0)return;let e=L.current[F];e&&document.activeElement!==e&&e.focus()},[F,J.length]);let X=(0,D.useCallback)((e,t)=>{e.suiteId&&(t&&t.preventDefault(),R(d.suiteView(e.suiteId)))},[R]);if(y)return(0,k.jsx)(ue,{});if(e.length===0)return(0,k.jsx)(Te,{icon:ae,title:`No suites found`,description:`Create your first suite file`,actionLabel:`New Suite`,onAction:()=>R(d.suiteNew)});let Z=q.getFilteredRowModel().rows.length,Ge=q.getState().pagination.pageIndex,Q=q.getState().pagination.pageSize,$=Ge*Q+1,Ke=Math.min($+Q-1,Z);return(0,k.jsx)(se,{children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,k.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Suites`}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsxs)(ie,{children:[(0,k.jsx)(ce,{asChild:!0,children:(0,k.jsx)(u,{variant:`ghost`,size:`icon-sm`,"aria-label":`Keyboard shortcuts`,children:(0,k.jsx)(c,{className:`h-4 w-4`})})}),(0,k.jsx)(de,{side:`bottom`,className:`p-3`,children:(0,k.jsx)(s,{hints:[{key:`J / ↓`,label:`Next row`},{key:`K / ↑`,label:`Previous row`},{key:`Enter`,label:`Open suite`},{key:`⌘+Enter`,label:`Open in new tab`}]})})]}),(0,k.jsxs)(u,{size:`sm`,onClick:()=>R(d.suiteNew),children:[(0,k.jsx)(ee,{className:`size-4`}),`New Suite`]})]})]}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,k.jsx)(p,{placeholder:`Search suites...`,value:Y,onChange:e=>We(e.target.value),className:`max-w-[220px]`}),(0,k.jsxs)(o,{value:z||`all`,onValueChange:e=>{ze(e===`all`?``:e),I(-1),N({})},children:[(0,k.jsx)(i,{className:`w-[150px]`,children:(0,k.jsx)(a,{placeholder:`All statuses`})}),(0,k.jsxs)(r,{children:[(0,k.jsx)(n,{value:`all`,children:`All statuses`}),(0,k.jsx)(n,{value:`passed`,children:`Passed`}),(0,k.jsx)(n,{value:`failed`,children:`Failed`}),(0,k.jsx)(n,{value:`running`,children:`Running`}),(0,k.jsx)(n,{value:`no-runs`,children:`No runs`})]})]}),(0,k.jsxs)(o,{value:B||`all`,onValueChange:e=>{Be(e===`all`?``:e),I(-1),N({})},children:[(0,k.jsx)(i,{className:`w-[140px]`,children:(0,k.jsx)(a,{placeholder:`All platforms`})}),(0,k.jsxs)(r,{children:[(0,k.jsx)(n,{value:`all`,children:`All platforms`}),(0,k.jsx)(n,{value:`web`,children:`Web`}),(0,k.jsx)(n,{value:`android`,children:`Android`}),(0,k.jsx)(n,{value:`ios`,children:`iOS`})]})]})]}),(0,k.jsxs)(re,{className:`rounded-md border`,children:[(0,k.jsxs)(we,{className:`min-w-full table-fixed`,children:[(0,k.jsx)(`colgroup`,{children:E.map(e=>{let t=w(e);return(0,k.jsx)(`col`,{"data-column-id":e,style:t?{width:t}:void 0},e)})}),(0,k.jsx)(xe,{children:q.getHeaderGroups().map(e=>(0,k.jsx)(x,{className:`hover:bg-transparent`,children:e.headers.map(e=>(0,k.jsx)(Se,{className:je(e.column.id),children:e.isPlaceholder?null:b(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,k.jsx)(Ce,{children:J.length?J.map((e,t)=>{let n=t===F,r=e.getIsSelected();return(0,k.jsx)(x,{ref:e=>{L.current[t]=e},"data-runs-row-surface":e.id,tabIndex:n?0:-1,"aria-selected":n,className:Ne({isActive:n,isBatchSelected:r}),onClick:()=>{I(t),X(e.original)},onFocus:()=>I(t),onKeyDown:t=>{t.key===`Enter`&&X(e.original,t)},children:e.getVisibleCells().map(e=>{let t=e.column.id===`select`;return(0,k.jsx)(S,{className:f(Me(e.column.id),t&&`relative z-10`),children:b(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)}):(0,k.jsx)(x,{children:(0,k.jsx)(S,{colSpan:U.length+1,className:`h-24 text-center`,children:`No results.`})})})]}),(0,k.jsx)(ne,{orientation:`horizontal`})]}),(0,k.jsxs)(`div`,{className:`flex items-center justify-between px-2`,children:[(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:Z>0?`Showing ${$}-${Ke} of ${Z}${Y||z||B?` (${V.length} total)`:``}`:`No suites found`}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(u,{variant:`outline`,size:`sm`,onClick:()=>q.previousPage(),disabled:!q.getCanPreviousPage(),children:`Previous`}),(0,k.jsx)(u,{variant:`outline`,size:`sm`,onClick:()=>q.nextPage(),disabled:!q.getCanNextPage(),children:`Next`})]})]}),(0,k.jsx)(l,{selectedCount:W.length,onRun:K,onRunNoCache:He,onDelete:Ue,onCancel:()=>N({}),isRunning:Pe})]})})}export{j as default};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}]},t={defaultToken:``,tokenPostfix:`.swift`,identifier:/[a-zA-Z_][\w$]*/,attributes:`@GKInspectable.@IBAction.@IBDesignable.@IBInspectable.@IBOutlet.@IBSegueAction.@NSApplicationMain.@NSCopying.@NSManaged.@Sendable.@UIApplicationMain.@autoclosure.@actorIndependent.@asyncHandler.@available.@convention.@derivative.@differentiable.@discardableResult.@dynamicCallable.@dynamicMemberLookup.@escaping.@frozen.@globalActor.@inlinable.@inline.@main.@noDerivative.@nonobjc.@noreturn.@objc.@objcMembers.@preconcurrency.@propertyWrapper.@requires_stored_property_inits.@resultBuilder.@testable.@unchecked.@unknown.@usableFromInline.@warn_unqualified_access`.split(`.`),accessmodifiers:[`open`,`public`,`internal`,`fileprivate`,`private`],keywords:`#available.#colorLiteral.#column.#dsohandle.#else.#elseif.#endif.#error.#file.#fileID.#fileLiteral.#filePath.#function.#if.#imageLiteral.#keyPath.#line.#selector.#sourceLocation.#warning.Any.Protocol.Self.Type.actor.as.assignment.associatedtype.associativity.async.await.break.case.catch.class.continue.convenience.default.defer.deinit.didSet.do.dynamic.dynamicType.else.enum.extension.fallthrough.false.fileprivate.final.for.func.get.guard.higherThan.if.import.in.indirect.infix.init.inout.internal.is.isolated.lazy.left.let.lowerThan.mutating.nil.none.nonisolated.nonmutating.open.operator.optional.override.postfix.precedence.precedencegroup.prefix.private.protocol.public.repeat.required.rethrows.return.right.safe.self.set.some.static.struct.subscript.super.switch.throw.throws.true.try.typealias.unowned.unsafe.var.weak.where.while.willSet.__consuming.__owned`.split(`.`),symbols:/[=(){}\[\].,:;@#\_&\-<>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},{include:`@attribute`},{include:`@literal`},{include:`@keyword`},{include:`@invokedmethod`},{include:`@symbol`}],whitespace:[[/\s+/,`white`],[/"""/,`string.quote`,`@endDblDocString`]],endDblDocString:[[/[^"]+/,`string`],[/\\"/,`string`],[/"""/,`string.quote`,`@popall`],[/"/,`string`]],symbol:[[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/[.]/,`delimiter`],[/@operators/,`operator`],[/@symbols/,`operator`]],comment:[[/\/\/\/.*$/,`comment.doc`],[/\/\*\*/,`comment.doc`,`@commentdocbody`],[/\/\/.*$/,`comment`],[/\/\*/,`comment`,`@commentbody`]],commentdocbody:[[/\/\*/,`comment`,`@commentbody`],[/\*\//,`comment.doc`,`@pop`],[/\:[a-zA-Z]+\:/,`comment.doc.param`],[/./,`comment.doc`]],commentbody:[[/\/\*/,`comment`,`@commentbody`],[/\*\//,`comment`,`@pop`],[/./,`comment`]],attribute:[[/@@@identifier/,{cases:{"@attributes":`keyword.control`,"@default":``}}]],literal:[[/"/,{token:`string.quote`,next:`@stringlit`}],[/0[b]([01]_?)+/,`number.binary`],[/0[o]([0-7]_?)+/,`number.octal`],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,`number.hex`],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,`number.float`],[/(\d_?)+/,`number`]],stringlit:[[/\\\(/,{token:`operator`,next:`@interpolatedexpression`}],[/@escapes/,`string`],[/\\./,`string.escape.invalid`],[/"/,{token:`string.quote`,next:`@pop`}],[/./,`string`]],interpolatedexpression:[[/\(/,{token:`operator`,next:`@interpolatedexpression`}],[/\)/,{token:`operator`,next:`@pop`}],{include:`@literal`},{include:`@keyword`},{include:`@symbol`}],keyword:[[/`/,{token:`operator`,next:`@escapedkeyword`}],[/@identifier/,{cases:{"@keywords":`keyword`,"[A-Z][a-zA-Z0-9$]*":`type.identifier`,"@default":`identifier`}}]],escapedkeyword:[[/`/,{token:`operator`,next:`@pop`}],[/./,`identifier`]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:[`delimeter`,`type.identifier`],"@default":``}}]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{c as t}from"./select-B5gV6YUf.js";import{Cn as n,Sn as r,Tn as i,Ut as a,Zn as o,bn as s,en as c,fr as l,jn as u}from"./index-B3xPCIyH.js";var d=e(l(),1),f=o(),p=`Switch`,[m,h]=n(p),[g,_]=m(p),v=d.forwardRef((e,t)=>{let{__scopeSwitch:n,name:a,checked:o,defaultChecked:c,required:l,disabled:m,value:h=`on`,onCheckedChange:_,form:v,...y}=e,[b,x]=d.useState(null),w=u(t,e=>x(e)),T=d.useRef(!1),E=b?v||!!b.closest(`form`):!0,[D,O]=s({prop:o,defaultProp:c??!1,onChange:_,caller:p});return(0,f.jsxs)(g,{scope:n,checked:D,disabled:m,children:[(0,f.jsx)(i.button,{type:`button`,role:`switch`,"aria-checked":D,"aria-required":l,"data-state":C(D),"data-disabled":m?``:void 0,disabled:m,value:h,...y,ref:w,onClick:r(e.onClick,e=>{O(e=>!e),E&&(T.current=e.isPropagationStopped(),T.current||e.stopPropagation())})}),E&&(0,f.jsx)(S,{control:b,bubbles:!T.current,name:a,value:h,checked:D,required:l,disabled:m,form:v,style:{transform:`translateX(-100%)`}})]})});v.displayName=p;var y=`SwitchThumb`,b=d.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,a=_(y,n);return(0,f.jsx)(i.span,{"data-state":C(a.checked),"data-disabled":a.disabled?``:void 0,...r,ref:t})});b.displayName=y;var x=`SwitchBubbleInput`,S=d.forwardRef(({__scopeSwitch:e,control:n,checked:r,bubbles:i=!0,...a},o)=>{let s=d.useRef(null),l=u(s,o),p=t(r),m=c(n);return d.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set;if(p!==r&&n){let t=new Event(`click`,{bubbles:i});n.call(e,r),e.dispatchEvent(t)}},[p,r,i]),(0,f.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:r,...a,tabIndex:-1,ref:l,style:{...a.style,...m,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});S.displayName=x;function C(e){return e?`checked`:`unchecked`}var w=v,T=b;function E({className:e,size:t=`default`,...n}){return(0,f.jsx)(w,{"data-slot":`switch`,"data-size":t,className:a(`peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80`,e),...n,children:(0,f.jsx)(T,{"data-slot":`switch-thumb`,className:a(`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-muted-foreground`)})})}export{E as t};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`begin`,`end`],[`case`,`endcase`],[`casex`,`endcase`],[`casez`,`endcase`],[`checker`,`endchecker`],[`class`,`endclass`],[`clocking`,`endclocking`],[`config`,`endconfig`],[`function`,`endfunction`],[`generate`,`endgenerate`],[`group`,`endgroup`],[`interface`,`endinterface`],[`module`,`endmodule`],[`package`,`endpackage`],[`primitive`,`endprimitive`],[`program`,`endprogram`],[`property`,`endproperty`],[`specify`,`endspecify`],[`sequence`,`endsequence`],[`table`,`endtable`],[`task`,`endtask`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!1,markers:{start:RegExp(`^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\b`),end:RegExp(`^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\b`)}}},t={defaultToken:``,tokenPostfix:`.sv`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`accept_on.alias.always.always_comb.always_ff.always_latch.and.assert.assign.assume.automatic.before.begin.bind.bins.binsof.bit.break.buf.bufif0.bufif1.byte.case.casex.casez.cell.chandle.checker.class.clocking.cmos.config.const.constraint.context.continue.cover.covergroup.coverpoint.cross.deassign.default.defparam.design.disable.dist.do.edge.else.end.endcase.endchecker.endclass.endclocking.endconfig.endfunction.endgenerate.endgroup.endinterface.endmodule.endpackage.endprimitive.endprogram.endproperty.endspecify.endsequence.endtable.endtask.enum.event.eventually.expect.export.extends.extern.final.first_match.for.force.foreach.forever.fork.forkjoin.function.generate.genvar.global.highz0.highz1.if.iff.ifnone.ignore_bins.illegal_bins.implements.implies.import.incdir.include.initial.inout.input.inside.instance.int.integer.interconnect.interface.intersect.join.join_any.join_none.large.let.liblist.library.local.localparam.logic.longint.macromodule.matches.medium.modport.module.nand.negedge.nettype.new.nexttime.nmos.nor.noshowcancelled.not.notif0.notif1.null.or.output.package.packed.parameter.pmos.posedge.primitive.priority.program.property.protected.pull0.pull1.pulldown.pullup.pulsestyle_ondetect.pulsestyle_onevent.pure.rand.randc.randcase.randsequence.rcmos.real.realtime.ref.reg.reject_on.release.repeat.restrict.return.rnmos.rpmos.rtran.rtranif0.rtranif1.s_always.s_eventually.s_nexttime.s_until.s_until_with.scalared.sequence.shortint.shortreal.showcancelled.signed.small.soft.solve.specify.specparam.static.string.strong.strong0.strong1.struct.super.supply0.supply1.sync_accept_on.sync_reject_on.table.tagged.task.this.throughout.time.timeprecision.timeunit.tran.tranif0.tranif1.tri.tri0.tri1.triand.trior.trireg.type.typedef.union.unique.unique0.unsigned.until.until_with.untyped.use.uwire.var.vectored.virtual.void.wait.wait_order.wand.weak.weak0.weak1.while.wildcard.wire.with.within.wor.xnor.xor`.split(`.`),builtin_gates:[`and`,`nand`,`nor`,`or`,`xor`,`xnor`,`buf`,`not`,`bufif0`,`bufif1`,`notif1`,`notif0`,`cmos`,`nmos`,`pmos`,`rcmos`,`rnmos`,`rpmos`,`tran`,`tranif1`,`tranif0`,`rtran`,`rtranif1`,`rtranif0`],operators:`=.+=.-=.*=./=.%=.&=.|=.^=.<<=.>>+.<<<=.>>>=.?.:.+.-.!.~.&.~&.|.~|.^.~^.^~.+.-.*./.%.==.!=.===.!==.==?.!=?.&&.||.**.<.<=.>.>=.&.|.^.>>.<<.>>>.<<<.++.--.->.<->.inside.dist.::.+:.-:.*>.&&&.|->.|=>.#=#`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%#]+/,escapes:/%%|\\(?:[antvf\\"']|x[0-9A-Fa-f]{1,2}|[0-7]{1,3})/,identifier:/(?:[a-zA-Z_][a-zA-Z0-9_$\.]*|\\\S+ )/,systemcall:/[$][a-zA-Z0-9_]+/,timeunits:/s|ms|us|ns|ps|fs/,tokenizer:{root:[[/^(\s*)(@identifier)/,[``,{cases:{"@builtin_gates":{token:`keyword.$2`,next:`@module_instance`},table:{token:`keyword.$2`,next:`@table`},"@keywords":{token:`keyword.$2`},"@default":{token:`identifier`,next:`@module_instance`}}}]],[/^\s*`include/,{token:`keyword.directive.include`,next:`@include`}],[/^\s*`\s*\w+/,`keyword`],{include:`@identifier_or_keyword`},{include:`@whitespace`},[/\(\*.*\*\)/,`annotation`],[/@systemcall/,`variable.predefined`],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],{include:`@numbers`},[/[;,.]/,`delimiter`],{include:`@strings`}],identifier_or_keyword:[[/@identifier/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}]],numbers:[[/\d+?[\d_]*(?:\.[\d_]+)?[eE][\-+]?\d+/,`number.float`],[/\d+?[\d_]*\.[\d_]+(?:\s*@timeunits)?/,`number.float`],[/(?:\d+?[\d_]*\s*)?'[sS]?[dD]\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/,`number`],[/(?:\d+?[\d_]*\s*)?'[sS]?[bB]\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/,`number.binary`],[/(?:\d+?[\d_]*\s*)?'[sS]?[oO]\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/,`number.octal`],[/(?:\d+?[\d_]*\s*)?'[sS]?[hH]\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/,`number.hex`],[/1step/,`number`],[/[\dxXzZ]+?[\dxXzZ_]*(?:\s*@timeunits)?/,`number`],[/'[01xXzZ]+/,`number`]],module_instance:[{include:`@whitespace`},[/(#?)(\()/,[``,{token:`@brackets`,next:`@port_connection`}]],[/@identifier\s*[;={}\[\],]/,{token:`@rematch`,next:`@pop`}],[/@symbols|[;={}\[\],]/,{token:`@rematch`,next:`@pop`}],[/@identifier/,`type`],[/;/,`delimiter`,`@pop`]],port_connection:[{include:`@identifier_or_keyword`},{include:`@whitespace`},[/@systemcall/,`variable.predefined`],{include:`@numbers`},{include:`@strings`},[/[,]/,`delimiter`],[/\(/,`@brackets`,`@port_connection`],[/\)/,`@brackets`,`@pop`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],strings:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],include:[[/(\s*)(")([\w*\/*]*)(.\w*)(")/,[``,`string.include.identifier`,`string.include.identifier`,`string.include.identifier`,{token:`string.include.identifier`,next:`@pop`}]],[/(\s*)(<)([\w*\/*]*)(.\w*)(>)/,[``,`string.include.identifier`,`string.include.identifier`,`string.include.identifier`,{token:`string.include.identifier`,next:`@pop`}]]],table:[{include:`@whitespace`},[/[()]/,`@brackets`],[/[:;]/,`delimiter`],[/[01\-*?xXbBrRfFpPnN]/,`variable.predefined`],[`endtable`,`keyword.endtable`,`@pop`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{i as t,l as n,n as r,o as i,s as a,t as o,u as s}from"./select-B5gV6YUf.js";import{t as c}from"./circle-x-DLBotPS8.js";import{t as l}from"./copy-Gj5_oF-8.js";import{t as u}from"./eye-CZ7GiZXJ.js";import{t as d}from"./refresh-cw-v_0wwa0P.js";import{t as f}from"./dist-o2A-YJGQ.js";import{r as p}from"./use-page-title-CK82kWb2.js";import{Cn as m,Hn as h,In as g,Kt as _,Ln as v,Mn as ee,Pt as y,Sn as te,Tn as b,Un as x,Ut as S,Zn as ne,bn as C,fr as re,jn as ie,qn as w,rt as ae,vn as oe,xn as se,yn as ce}from"./index-B3xPCIyH.js";import{t as T}from"./badge-BbhOGRC0.js";var E=w(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),le=w(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),ue=w(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),D=e(re(),1),O=ne(),k=`Collapsible`,[de,fe]=m(k),[pe,A]=de(k),me=D.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=C({prop:r,defaultProp:i??!1,onChange:o,caller:k});return(0,O.jsx)(pe,{scope:n,disabled:a,contentId:oe(),open:c,onOpenToggle:D.useCallback(()=>l(e=>!e),[l]),children:(0,O.jsx)(b.div,{"data-state":P(c),"data-disabled":a?``:void 0,...s,ref:t})})});me.displayName=k;var he=`CollapsibleTrigger`,j=D.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=A(he,n);return(0,O.jsx)(b.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":P(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:te(e.onClick,i.onOpenToggle)})});j.displayName=he;var M=`CollapsibleContent`,N=D.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=A(M,e.__scopeCollapsible);return(0,O.jsx)(ce,{present:n||i.open,children:({present:e})=>(0,O.jsx)(ge,{...r,ref:t,present:e})})});N.displayName=M;var ge=D.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=A(M,n),[s,c]=D.useState(r),l=D.useRef(null),u=ie(t,l),d=D.useRef(0),f=d.current,p=D.useRef(0),m=p.current,h=o.open||s,g=D.useRef(h),_=D.useRef(void 0);return D.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),se(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,O.jsx)(b.div,{"data-state":P(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function P(e){return e?`open`:`closed`}var _e=me,ve=j,ye=N,F=`Accordion`,be=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[I,xe,Se]=f(F),[L,Ce]=m(F,[Se,fe]),R=fe(),we=D.forwardRef((e,t)=>{let{type:n,...r}=e,i=r,a=r;return(0,O.jsx)(I.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,O.jsx)(ke,{...a,ref:t}):(0,O.jsx)(Oe,{...i,ref:t})})});we.displayName=F;var[z,Te]=L(F),[Ee,De]=L(F,{collapsible:!1}),Oe=D.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=C({prop:n,defaultProp:r??``,onChange:i,caller:F});return(0,O.jsx)(z,{scope:e.__scopeAccordion,value:D.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:D.useCallback(()=>a&&c(``),[a,c]),children:(0,O.jsx)(Ee,{scope:e.__scopeAccordion,collapsible:a,children:(0,O.jsx)(je,{...o,ref:t})})})}),ke=D.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=C({prop:n,defaultProp:r??[],onChange:i,caller:F}),c=D.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=D.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,O.jsx)(z,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,O.jsx)(Ee,{scope:e.__scopeAccordion,collapsible:!0,children:(0,O.jsx)(je,{...a,ref:t})})})}),[Ae,B]=L(F),je=D.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=ie(D.useRef(null),t),c=xe(n),l=p(i)===`ltr`,u=te(e.onKeyDown,e=>{if(!be.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,O.jsx)(Ae,{scope:n,disabled:r,direction:i,orientation:a,children:(0,O.jsx)(I.Slot,{scope:n,children:(0,O.jsx)(b.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),V=`AccordionItem`,[Me,H]=L(V),Ne=D.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=B(V,n),o=Te(V,n),s=R(n),c=oe(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,O.jsx)(Me,{scope:n,open:l,disabled:u,triggerId:c,children:(0,O.jsx)(_e,{"data-orientation":a.orientation,"data-state":ze(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});Ne.displayName=V;var Pe=`AccordionHeader`,Fe=D.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=B(F,n),a=H(Pe,n);return(0,O.jsx)(b.h3,{"data-orientation":i.orientation,"data-state":ze(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});Fe.displayName=Pe;var U=`AccordionTrigger`,Ie=D.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=B(F,n),a=H(U,n),o=De(U,n),s=R(n);return(0,O.jsx)(I.ItemSlot,{scope:n,children:(0,O.jsx)(ve,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});Ie.displayName=U;var Le=`AccordionContent`,Re=D.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=B(F,n),a=H(Le,n),o=R(n);return(0,O.jsx)(ye,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});Re.displayName=Le;function ze(e){return e?`open`:`closed`}var Be=we,Ve=Ne,He=Fe,Ue=Ie,We=Re;function W({...e}){return(0,O.jsx)(_e,{"data-slot":`collapsible`,...e})}function G({...e}){return(0,O.jsx)(j,{"data-slot":`collapsible-trigger`,...e})}function K({...e}){return(0,O.jsx)(N,{"data-slot":`collapsible-content`,...e})}function Ge({confidence:e}){let t=Math.round(e*100);return(0,O.jsxs)(T,{variant:`outline`,className:S(`text-xs font-mono`,t>80?`bg-emerald-500/10 text-emerald-500 border-emerald-500/20`:t>=50?`bg-amber-500/10 text-amber-500 border-amber-500/20`:`bg-red-500/10 text-red-500 border-red-500/20`),children:[t,`%`]})}function Ke({...e}){return(0,O.jsx)(Be,{"data-slot":`accordion`,...e})}function qe({className:e,...t}){return(0,O.jsx)(Ve,{"data-slot":`accordion-item`,className:S(`border-b last:border-b-0`,e),...t})}function Je({className:e,children:t,...r}){return(0,O.jsx)(He,{className:`flex`,children:(0,O.jsxs)(Ue,{"data-slot":`accordion-trigger`,className:S(`flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180`,e),...r,children:[t,(0,O.jsx)(n,{className:`pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200`})]})})}function Ye({className:e,children:t,...n}){return(0,O.jsx)(We,{"data-slot":`accordion-content`,className:`overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...n,children:(0,O.jsx)(`div`,{className:S(`pt-0 pb-4`,e),children:t})})}function Xe({attempts:e}){return!e||e.length===0?null:(0,O.jsx)(Ke,{type:`single`,collapsible:!0,className:`w-full`,children:e.map((e,t)=>(0,O.jsxs)(qe,{value:`attempt-${t}`,children:[(0,O.jsx)(Je,{className:`py-2 text-sm`,children:(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsxs)(`span`,{className:`font-medium`,children:[`Attempt `,e.attemptNumber??t+1]}),e.strategy&&(0,O.jsx)(T,{variant:`secondary`,className:`text-xs`,children:e.strategy}),e.success?(0,O.jsx)(h,{className:`h-3.5 w-3.5 text-emerald-500`}):(0,O.jsx)(c,{className:`h-3.5 w-3.5 text-red-500`})]})}),(0,O.jsxs)(Ye,{className:`space-y-2`,children:[e.reasoning&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Reasoning`}),(0,O.jsx)(`p`,{className:`text-sm`,children:e.reasoning})]}),e.observationBefore&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Observation Before`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.observationBefore.length>200?`${e.observationBefore.slice(0,200)}…`:e.observationBefore})]}),e.observationAfter&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Observation After`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.observationAfter.length>200?`${e.observationAfter.slice(0,200)}…`:e.observationAfter})]}),e.action!=null&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Action`}),(0,O.jsx)(`pre`,{className:`text-xs font-mono bg-muted/50 rounded p-2 overflow-x-auto`,children:typeof e.action==`string`?e.action:JSON.stringify(e.action,null,2)})]})]})]},t))})}var q=[{key:`observe`,label:`Observe`,icon:u},{key:`plan`,label:`Plan`,icon:E},{key:`execute`,label:`Execute`,icon:v},{key:`verify`,label:`Verify`,icon:ue},{key:`heal`,label:`Heal`,icon:d}];function Ze(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e,null,2)}function J({config:e,content:t,duration:n,outcome:r,children:i,open:a,onOpenChange:o,sectionRef:s}){let[c,l]=(0,D.useState)(!1),u=a!==void 0,d=u?a:c,f=u?o:l,p=e.icon,m=t||i;return(0,O.jsxs)(W,{open:d,onOpenChange:f,children:[(0,O.jsxs)(G,{ref:s,className:`flex w-full items-center gap-2 py-1.5 text-left group sticky top-0 z-20 bg-background`,children:[(0,O.jsx)(`div`,{className:`flex items-center justify-center h-4 w-4 rounded-full bg-background border shrink-0`,children:(0,O.jsx)(p,{className:`h-2.5 w-2.5 text-muted-foreground`})}),(0,O.jsx)(`span`,{className:`text-sm font-medium`,children:e.label}),n!=null&&(0,O.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:_(n)}),r,(0,O.jsx)(`span`,{className:`flex-1`}),m&&(0,O.jsx)(x,{className:S(`h-3 w-3 text-muted-foreground transition-transform duration-200`,d&&`rotate-90`)})]}),m&&(0,O.jsx)(K,{className:`overflow-hidden min-w-0 max-w-full`,children:(0,O.jsxs)(`div`,{className:`min-w-0 max-w-full pl-6 pb-2 space-y-2`,children:[t&&(0,O.jsx)(`div`,{"data-reasoning-content-shell":`true`,className:`min-w-0 max-w-full rounded-sm`,children:(0,O.jsx)(`div`,{"data-reasoning-prose":`true`,className:`m-0 whitespace-pre-wrap break-words text-sm text-muted-foreground [overflow-wrap:anywhere]`,children:t})}),i&&(0,O.jsx)(`div`,{"data-reasoning-children":`true`,className:`min-w-0 max-w-full`,children:i})]})})]})}function Qe(e){let t=[];return e.observation&&t.push({key:`observation`,label:`Observe`,icon:q[0].icon,content:e.observation,duration:null}),e.reasoning&&t.push({key:`reasoning`,label:`Plan`,icon:q[1].icon,content:e.reasoning,duration:null}),e.plannedAction!=null&&t.push({key:`plannedAction`,label:`Execute`,icon:q[2].icon,content:null,duration:null,children:(0,O.jsx)(`pre`,{className:`min-w-0 max-w-full text-xs font-mono bg-muted/50 rounded p-2 overflow-x-auto whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:typeof e.plannedAction==`string`?e.plannedAction:JSON.stringify(e.plannedAction,null,2)})}),t}var $e=(0,D.forwardRef)(function({step:e},t){let n=Qe(e);return n.length===0&&e.error?(0,O.jsx)(`div`,{className:`bg-destructive/10 text-destructive rounded p-2 text-sm break-words [overflow-wrap:anywhere]`,children:e.error}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(et,{ref:t,sections:n}),e.error&&(0,O.jsx)(`div`,{className:`pl-6 pb-2`,children:(0,O.jsx)(`div`,{className:`bg-destructive/10 text-destructive rounded p-2 text-sm break-words [overflow-wrap:anywhere]`,children:e.error})})]})}),et=(0,D.forwardRef)(function({sections:e},t){let[n,r]=(0,D.useState)(()=>e.map(()=>!1)),i=(0,D.useRef)([]),a=(0,D.useCallback)(e=>{r(t=>{let n=[...t],r=n[e];return n[e]=!r,r||requestAnimationFrame(()=>{i.current[e]?.scrollIntoView({block:`start`,behavior:`smooth`})}),n})},[]);return(0,D.useImperativeHandle)(t,()=>({togglePhase:a}),[a]),(0,O.jsxs)(`div`,{className:`relative space-y-0`,children:[(0,O.jsx)(`div`,{className:`absolute left-[7px] top-4 bottom-4 w-px bg-border`}),e.map((e,t)=>(0,O.jsx)(J,{config:{key:e.key,label:e.label,icon:e.icon},content:e.content,duration:e.duration,outcome:e.outcome,open:n[t],onOpenChange:e=>r(n=>{let r=[...n];return r[t]=e,r}),sectionRef:e=>{i.current[t]=e},children:e.children},e.key))]})}),tt=(0,D.forwardRef)(function({runId:e,stepOrder:t,stepData:n},r){let[i,a]=(0,D.useState)(null),[o,s]=(0,D.useState)(!0),[c,l]=(0,D.useState)(null),[u,d]=(0,D.useState)([!1,!1,!1,!1]),f=(0,D.useRef)([null,null,null,null]),p=(0,D.useCallback)(e=>{d(t=>{let n=[...t],r=n[e];return n[e]=!r,r||requestAnimationFrame(()=>{f.current[e]?.scrollIntoView({block:`start`,behavior:`smooth`})}),n})},[]);if((0,D.useImperativeHandle)(r,()=>({togglePhase:p}),[p]),(0,D.useEffect)(()=>{let n=!1;return ae(e,t).then(e=>{n||(a(e.trace),s(!1))}).catch(e=>{n||(l(e instanceof Error?e.message:`Failed to load reasoning`),s(!1))}),()=>{n=!0}},[e,t]),o)return(0,O.jsxs)(`div`,{className:`space-y-2`,children:[(0,O.jsx)(y,{className:`h-4 w-3/4`}),(0,O.jsx)(y,{className:`h-4 w-1/2`}),(0,O.jsx)(y,{className:`h-4 w-2/3`})]});if(!i&&c||!i)return(0,O.jsx)($e,{ref:r,step:n});let m=i.healAttempts&&i.healAttempts.length>0;return(0,O.jsxs)(`div`,{className:`relative space-y-0`,children:[(0,O.jsx)(`div`,{className:`absolute left-[7px] top-4 bottom-4 w-px bg-border`}),(0,O.jsx)(J,{config:q[0],content:i.observeText,duration:i.observeDuration,open:u[0],onOpenChange:e=>d(t=>{let n=[...t];return n[0]=e,n}),sectionRef:e=>{f.current[0]=e}}),(0,O.jsx)(J,{config:q[1],content:i.planReasoning,duration:i.planDuration,outcome:i.planConfidence==null?void 0:(0,O.jsx)(Ge,{confidence:i.planConfidence}),open:u[1],onOpenChange:e=>d(t=>{let n=[...t];return n[1]=e,n}),sectionRef:e=>{f.current[1]=e},children:i.planAction!=null&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Planned Action`}),(0,O.jsx)(`pre`,{className:`min-w-0 max-w-full text-xs font-mono bg-muted/50 rounded p-2 overflow-x-auto whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:Ze(i.planAction)})]})}),(0,O.jsx)(J,{config:q[2],content:null,duration:i.executeDuration,open:u[2],onOpenChange:e=>d(t=>{let n=[...t];return n[2]=e,n}),sectionRef:e=>{f.current[2]=e},children:i.executeAction!=null&&(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground font-medium mb-0.5`,children:`Executed Action`}),(0,O.jsx)(`pre`,{className:`min-w-0 max-w-full text-xs font-mono bg-muted/50 rounded p-2 overflow-x-auto whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:Ze(i.executeAction)})]})}),(0,O.jsx)(J,{config:q[3],content:i.verifyReasoning,duration:i.verifyDuration,outcome:i.verifySuccess==null?void 0:(0,O.jsx)(`span`,{className:S(`text-xs font-medium`,i.verifySuccess?`text-emerald-500`:`text-red-500`),children:i.verifySuccess?`Passed`:`Failed`}),open:u[3],onOpenChange:e=>d(t=>{let n=[...t];return n[3]=e,n}),sectionRef:e=>{f.current[3]=e}}),m&&(0,O.jsx)(J,{config:q[4],content:null,duration:null,children:(0,O.jsx)(Xe,{attempts:i.healAttempts})})]})}),nt=(0,D.forwardRef)(function(e,t){return e.mode===`static`?(0,O.jsx)(et,{sections:e.sections,ref:t}):(0,O.jsx)(tt,{runId:e.runId,stepOrder:e.stepOrder,stepData:e.stepData,ref:t})});function rt(e){switch(e){case`env`:return`bg-blue-500/15 text-blue-400 border-blue-500/20`;case`capture`:return`bg-emerald-500/15 text-emerald-400 border-emerald-500/20`;case`cli`:return`bg-purple-500/15 text-purple-400 border-purple-500/20`;case`inline`:return`bg-amber-500/15 text-amber-400 border-amber-500/20`;case`suite`:return`bg-cyan-500/15 text-cyan-400 border-cyan-500/20`;case`test`:return`bg-pink-500/15 text-pink-400 border-pink-500/20`;case`hook`:return`bg-orange-500/15 text-orange-400 border-orange-500/20`;case`step`:return`bg-teal-500/15 text-teal-400 border-teal-500/20`;default:return`bg-muted text-muted-foreground`}}function Y({title:e,count:t,defaultOpen:n,children:r}){return(0,O.jsxs)(W,{defaultOpen:n,children:[(0,O.jsxs)(G,{className:`flex items-center gap-1.5 w-full px-3 py-2 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors`,children:[(0,O.jsx)(x,{className:`h-3 w-3 transition-transform duration-200 [[data-state=open]>&]:rotate-90`}),e,(0,O.jsxs)(`span`,{className:`text-[10px] text-muted-foreground/60`,children:[`(`,t,`)`]})]}),(0,O.jsx)(K,{children:r})]})}function X({message:e}){return(0,O.jsx)(`div`,{className:`px-4 py-3 text-xs text-muted-foreground/60 italic`,children:e})}function it({step:e,executionLogs:t=[]}){let n=e.variableSnapshot,r=n?Object.entries(n):[],i=t.filter(e=>e.type===`runjs`),a=t.filter(e=>e.type===`hook`);return(0,O.jsxs)(`div`,{className:`py-1`,children:[(0,O.jsx)(Y,{title:`Env`,count:r.length,defaultOpen:r.length>0,children:r.length===0?(0,O.jsx)(X,{message:`No variables at this step`}):(0,O.jsx)(`div`,{className:`px-3 pb-2`,children:(0,O.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,O.jsx)(`thead`,{children:(0,O.jsxs)(`tr`,{className:`border-b`,children:[(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground`,children:`Variable`}),(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground`,children:`Value`}),(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground`,children:`Source`})]})}),(0,O.jsx)(`tbody`,{children:r.map(([e,t])=>(0,O.jsxs)(`tr`,{className:`border-b border-border/50`,children:[(0,O.jsx)(`td`,{className:`py-1.5 px-2 font-mono text-xs text-muted-foreground`,children:e}),(0,O.jsx)(`td`,{className:`py-1.5 px-2 font-mono text-xs break-all`,children:t.value}),(0,O.jsx)(`td`,{className:`py-1.5 px-2`,children:(0,O.jsx)(T,{className:S(`text-[10px] px-1.5 py-0 border`,rt(t.source)),children:t.source})})]},e))})]})})}),(0,O.jsx)(Y,{title:`runJS`,count:i.length,defaultOpen:i.length>0,children:i.length===0?(0,O.jsx)(X,{message:`No runJS executions for this step`}):(0,O.jsx)(`div`,{className:`px-3 pb-2 space-y-2`,children:i.map(e=>(0,O.jsxs)(`div`,{className:`rounded-md border border-border/50 p-2 text-xs`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2 mb-1.5`,children:[e.status===`passed`?(0,O.jsx)(h,{className:`h-3.5 w-3.5 text-emerald-500 shrink-0`}):(0,O.jsx)(c,{className:`h-3.5 w-3.5 text-red-500 shrink-0`}),(0,O.jsx)(`span`,{className:`font-medium truncate`,children:e.name}),(0,O.jsx)(`span`,{className:`text-muted-foreground ml-auto shrink-0`,children:_(e.duration)})]}),e.stdout&&(0,O.jsx)(`pre`,{className:`mt-1 p-1.5 rounded bg-muted/50 font-mono text-[11px] whitespace-pre-wrap break-all overflow-hidden`,children:e.stdout}),e.returnData!=null&&(0,O.jsxs)(`div`,{className:`mt-1 p-1.5 rounded bg-muted/50`,children:[(0,O.jsx)(`span`,{className:`text-muted-foreground`,children:`Return: `}),(0,O.jsx)(`span`,{className:`font-mono text-[11px]`,children:typeof e.returnData==`string`?e.returnData:JSON.stringify(e.returnData)})]})]},e.id))})}),(0,O.jsx)(Y,{title:`Hooks`,count:a.length,defaultOpen:a.length>0,children:a.length===0?(0,O.jsx)(X,{message:`No hooks ran for this step`}):(0,O.jsx)(`div`,{className:`px-3 pb-2 space-y-2`,children:a.map(e=>(0,O.jsxs)(`div`,{className:`rounded-md border border-border/50 p-2 text-xs`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[e.status===`passed`?(0,O.jsx)(h,{className:`h-3.5 w-3.5 text-emerald-500 shrink-0`}):(0,O.jsx)(c,{className:`h-3.5 w-3.5 text-red-500 shrink-0`}),(0,O.jsx)(`span`,{className:`font-medium truncate`,children:e.name}),(0,O.jsx)(`span`,{className:`text-muted-foreground ml-auto shrink-0`,children:_(e.duration)})]}),e.variables&&Object.keys(e.variables).length>0&&(0,O.jsxs)(`div`,{className:`mt-1.5 space-y-0.5`,children:[(0,O.jsx)(`span`,{className:`text-muted-foreground text-[10px]`,children:`Emitted variables:`}),Object.entries(e.variables).map(([e,t])=>(0,O.jsxs)(`div`,{className:`flex gap-2 pl-2 font-mono text-[11px]`,children:[(0,O.jsxs)(`span`,{className:`text-muted-foreground`,children:[e,`:`]}),(0,O.jsx)(`span`,{className:`break-all`,children:t})]},e))]}),e.stdout&&(0,O.jsx)(`pre`,{className:`mt-1 p-1.5 rounded bg-muted/50 font-mono text-[11px] whitespace-pre-wrap break-all overflow-hidden max-h-24 overflow-y-auto`,children:e.stdout})]},e.id))})})]})}function at(e){return e>=1e3?`+${(e/1e3).toFixed(1)}s`:`+${Math.round(e)}ms`}function ot(e){return Object.entries(e).filter(([e,t])=>e!==`startTime`&&t>0)}function st(e){return e>=200&&e<300?`text-emerald-500`:e>=300&&e<400?`text-amber-500`:e>=400?`text-red-500`:`text-muted-foreground`}function ct({headers:e}){let t=Object.entries(e);return t.length===0?(0,O.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`None`}):(0,O.jsx)(`div`,{className:`space-y-0.5`,children:t.map(([e,t])=>(0,O.jsxs)(`div`,{className:`flex gap-2 text-xs font-mono`,children:[(0,O.jsxs)(`span`,{className:`text-muted-foreground shrink-0`,children:[e,`:`]}),(0,O.jsx)(`span`,{className:`break-all`,children:t})]},e))})}function Z({label:e,children:t}){return(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`h4`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium`,children:e}),t]})}function lt({text:e}){let[t,n]=(0,D.useState)(!1);return(0,O.jsx)(`button`,{onClick:(0,D.useCallback)(t=>{t.stopPropagation(),navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)},[e]),className:`text-muted-foreground hover:text-foreground`,children:t?(0,O.jsx)(s,{className:`h-3 w-3`}):(0,O.jsx)(l,{className:`h-3 w-3`})})}function ut({body:e,contentType:t}){let n=t.toLowerCase();if(n.includes(`application/json`))try{return(0,O.jsx)(`pre`,{className:`text-xs font-mono bg-background/60 rounded-sm px-3 py-2 overflow-x-auto max-h-48 whitespace-pre-wrap break-all`,children:JSON.stringify(JSON.parse(e),null,2)})}catch{return(0,O.jsx)(`pre`,{className:`text-xs font-mono bg-background/60 rounded-sm px-3 py-2 overflow-x-auto max-h-48 whitespace-pre-wrap break-all`,children:e})}return n.includes(`image/svg+xml`)?(0,O.jsx)(`img`,{src:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,alt:`SVG response`,className:`max-h-48`}):e.startsWith(`data:image/`)?(0,O.jsx)(`img`,{src:e,alt:`Image response`,className:`max-h-48 rounded-sm`}):n.includes(`image/`)?(0,O.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Image not previewable (re-run test to capture)`}):(0,O.jsx)(`pre`,{className:`text-xs font-mono bg-background/60 rounded-sm px-3 py-2 overflow-x-auto max-h-48 whitespace-pre-wrap break-all`,children:e})}function dt({entry:e}){let t=e.method===`POST`||e.method===`PUT`||e.method===`PATCH`;return(0,O.jsx)(`tr`,{children:(0,O.jsx)(`td`,{colSpan:6,className:`px-0 py-0`,children:(0,O.jsxs)(`div`,{className:`bg-muted/20 border-b border-border/50 px-4 py-3 space-y-4`,children:[(0,O.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,O.jsx)(Z,{label:`Request Headers`,children:(0,O.jsx)(ct,{headers:e.requestHeaders??{}})}),(0,O.jsx)(Z,{label:`Response Headers`,children:(0,O.jsx)(ct,{headers:e.responseHeaders??{}})})]}),t&&(0,O.jsx)(Z,{label:`Request Body`,children:e.requestBody?(0,O.jsx)(`pre`,{className:`text-xs font-mono bg-background/60 rounded-sm px-3 py-2 overflow-x-auto max-h-48 whitespace-pre-wrap break-all`,children:e.requestBody}):(0,O.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`No request body`})}),(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,O.jsx)(`h4`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium`,children:`Response Body`}),e.body&&(0,O.jsx)(lt,{text:e.body})]}),e.body?(0,O.jsx)(ut,{body:e.body,contentType:e.responseHeaders?.[`content-type`]??``}):(0,O.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Not captured`})]}),e.timing&&(()=>{let t=ot(e.timing);return t.length===0?null:(0,O.jsx)(Z,{label:`Timing`,children:(0,O.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:t.map(([e,t])=>(0,O.jsxs)(`div`,{className:`text-xs font-mono`,children:[(0,O.jsxs)(`span`,{className:`text-muted-foreground`,children:[e,`:`]}),` `,(0,O.jsxs)(`span`,{children:[Math.round(t),`ms`]})]},e))})})})()]})})})}function Q({text:e,query:t}){if(!t)return(0,O.jsx)(O.Fragment,{children:e});let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?(0,O.jsx)(O.Fragment,{children:e}):(0,O.jsxs)(O.Fragment,{children:[e.slice(0,n),(0,O.jsx)(`mark`,{className:`bg-yellow-400/30 text-inherit rounded-sm px-0.5`,children:e.slice(n,n+t.length)}),e.slice(n+t.length)]})}function ft({step:e,allSteps:t,platform:n}){let[r,i]=(0,D.useState)(new Set),a=(0,D.useMemo)(()=>{let n=e.displayStepOrder??e.stepOrder,r=[];for(let e of t){let t=e.displayStepOrder??e.stepOrder;if(t>n)continue;let i=t===n;for(let t of e.networkLogs??[])r.push({...t,isCurrent:i})}return r.sort((e,t)=>e.startTime-t.startTime)},[e,t]),o=(0,D.useMemo)(()=>a.length===0?0:Math.min(...a.map(e=>e.startTime)),[a]),[s,c]=(0,D.useState)(``),l=(0,D.useDeferredValue)(s),u=(0,D.useMemo)(()=>{if(!l)return a;let e=l.toLowerCase();return a.filter(t=>t.url.toLowerCase().includes(e)||t.method.toLowerCase().includes(e)||String(t.status).includes(e))},[a,l]);(0,D.useEffect)(()=>{i(new Set)},[l]);let d=(0,D.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return a.length===0?(0,O.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm py-12`,children:n===`android`||n===`ios`?`Network capture is not available for mobile tests`:`No network requests captured for this step`}):(0,O.jsxs)(`div`,{children:[(0,O.jsxs)(`div`,{className:`sticky top-0 z-10 bg-background border-b border-border/50 px-3 py-1.5 flex items-center gap-2`,children:[(0,O.jsx)(g,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}),(0,O.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),placeholder:`Filter...`,className:`flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground`}),s&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[u.length,` of `,a.length]}),(0,O.jsx)(`button`,{onClick:()=>c(``),className:`text-muted-foreground hover:text-foreground`,children:(0,O.jsx)(ee,{className:`h-3.5 w-3.5`})})]})]}),(0,O.jsx)(`div`,{className:`p-3`,children:(0,O.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,O.jsx)(`thead`,{children:(0,O.jsxs)(`tr`,{className:`border-b`,children:[(0,O.jsx)(`th`,{className:`w-6`}),(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground w-16`,children:`Method`}),(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground`,children:`URL`}),(0,O.jsx)(`th`,{className:`text-left py-1.5 px-2 text-xs font-medium text-muted-foreground w-16`,children:`Status`}),(0,O.jsx)(`th`,{className:`text-right py-1.5 px-2 text-xs font-medium text-muted-foreground w-20`,children:`Time`}),(0,O.jsx)(`th`,{className:`text-right py-1.5 px-2 text-xs font-medium text-muted-foreground w-20`,children:`Duration`})]})}),(0,O.jsx)(`tbody`,{children:u.map((e,t)=>{let n=e.endTime-e.startTime,i=r.has(t);return(0,O.jsxs)(D.Fragment,{children:[(0,O.jsxs)(`tr`,{onClick:()=>d(t),className:S(`border-b border-border/50 cursor-pointer hover:bg-muted/30 transition-colors`,i&&`bg-muted/20`,!e.isCurrent&&`opacity-40`),children:[(0,O.jsx)(`td`,{className:`py-1.5 pl-2 pr-0 w-6`,children:(0,O.jsx)(x,{className:S(`h-3 w-3 text-muted-foreground transition-transform`,i&&`rotate-90`)})}),(0,O.jsx)(`td`,{className:`py-1.5 px-2`,children:(0,O.jsx)(T,{variant:`outline`,className:`text-[10px] px-1.5 py-0 font-mono`,children:(0,O.jsx)(Q,{text:e.method,query:l})})}),(0,O.jsx)(`td`,{className:`py-1.5 px-2 text-xs font-mono truncate max-w-0 min-w-0`,children:(0,O.jsx)(Q,{text:e.url,query:l})}),(0,O.jsx)(`td`,{className:`py-1.5 px-2`,children:(0,O.jsx)(`span`,{className:S(`text-xs font-mono`,st(e.status)),children:(0,O.jsx)(Q,{text:String(e.status),query:l})})}),(0,O.jsx)(`td`,{className:`py-1.5 px-2 text-xs font-mono text-muted-foreground text-right`,children:at(e.startTime-o)}),(0,O.jsxs)(`td`,{className:`py-1.5 px-2 text-xs text-muted-foreground text-right`,children:[n<1?`<1`:Math.round(n),`ms`]})]}),i&&(0,O.jsx)(dt,{entry:e})]},t)})})]})})]})}function pt(e){switch(e.toLowerCase()){case`error`:return`text-red-400`;case`warn`:case`warning`:return`text-amber-400`;case`info`:return`text-blue-400`;case`debug`:return`text-cyan-400`;default:return`text-muted-foreground`}}function mt(e){switch(e){case`setup`:return`bg-blue-500/15 text-blue-400 border-blue-500/20`;case`teardown`:return`bg-purple-500/15 text-purple-400 border-purple-500/20`;case`inline`:return`bg-emerald-500/15 text-emerald-400 border-emerald-500/20`;default:return`bg-muted text-muted-foreground`}}var $=[`error`,`warn`,`info`,`log`,`debug`];function ht({text:e,query:t}){if(!t)return(0,O.jsx)(O.Fragment,{children:e});let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?(0,O.jsx)(O.Fragment,{children:e}):(0,O.jsxs)(O.Fragment,{children:[e.slice(0,n),(0,O.jsx)(`mark`,{className:`bg-yellow-400/30 text-inherit rounded-sm px-0.5`,children:e.slice(n,n+t.length)}),e.slice(n+t.length)]})}function gt({step:e,allSteps:n,executionLogs:s,isHookStep:c}){let l=(0,D.useMemo)(()=>{let t=e.displayStepOrder??e.stepOrder,r=[];for(let e of n){let n=e.displayStepOrder??e.stepOrder;if(n>t)continue;let i=n===t;for(let t of e.consoleLogs??[])r.push({...t,isCurrent:i})}return r.sort((e,t)=>e.timestamp-t.timestamp)},[e,n]),[u,d]=(0,D.useState)(``),f=(0,D.useDeferredValue)(u),[p,m]=(0,D.useState)(`all`),h=(0,D.useMemo)(()=>{let e=l;if(p!==`all`&&(e=e.filter(e=>{let t=e.level.toLowerCase(),n=$.indexOf(p);if(n===-1)return!0;let r=$.indexOf(t);return r!==-1&&r>=n})),f){let t=f.toLowerCase();e=e.filter(e=>e.text.toLowerCase().includes(t)||e.level.toLowerCase().includes(t))}return e},[l,f,p]),_=c&&s&&s.length>0,v=l.length>0;return!_&&!v?(0,O.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm py-12`,children:`No console output captured for this step`}):(0,O.jsxs)(`div`,{className:`w-full overflow-hidden`,children:[v&&(0,O.jsxs)(`div`,{className:`sticky top-0 z-10 bg-background border-b border-border/50 px-3 py-1.5 flex items-center gap-2`,children:[(0,O.jsx)(g,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}),(0,O.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`Filter...`,className:`flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground`}),u&&(0,O.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[h.length,` of `,l.length]}),(0,O.jsx)(`div`,{className:`h-3 w-px bg-border/50 shrink-0`}),(0,O.jsxs)(o,{value:p,onValueChange:m,children:[(0,O.jsx)(i,{size:`sm`,className:`h-6 rounded-sm text-xs px-2 gap-1 border-border/50 min-w-0 w-auto`,children:(0,O.jsx)(a,{})}),(0,O.jsxs)(r,{className:`rounded-sm`,children:[(0,O.jsx)(t,{value:`all`,className:`text-xs`,children:`All levels`}),(0,O.jsx)(t,{value:`error`,className:`text-xs`,children:`Errors`}),(0,O.jsx)(t,{value:`warn`,className:`text-xs`,children:`Warnings`}),(0,O.jsx)(t,{value:`info`,className:`text-xs`,children:`Info`}),(0,O.jsx)(t,{value:`log`,className:`text-xs`,children:`Log`}),(0,O.jsx)(t,{value:`debug`,className:`text-xs`,children:`Debug`})]})]}),u&&(0,O.jsx)(`button`,{onClick:()=>d(``),className:`text-muted-foreground hover:text-foreground shrink-0`,children:(0,O.jsx)(ee,{className:`h-3.5 w-3.5`})})]}),(0,O.jsxs)(`div`,{className:`p-3 space-y-0.5 overflow-x-hidden w-full max-w-full`,children:[_&&(0,O.jsx)(`div`,{className:`space-y-2 mb-3`,children:s.map(e=>(0,O.jsxs)(`div`,{className:`border border-border/50 rounded-sm overflow-hidden`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 bg-muted/20 border-b border-border/30`,children:[(0,O.jsx)(T,{variant:`outline`,className:`text-[10px] px-1.5 py-0 font-mono`,children:e.name}),(0,O.jsx)(T,{className:S(`text-[10px] px-1.5 py-0`,mt(e.phase)),children:e.phase}),(0,O.jsx)(`span`,{className:S(`text-[10px] font-mono`,e.status===`passed`?`text-emerald-500`:`text-red-500`),children:e.status}),(0,O.jsxs)(`span`,{className:`text-[10px] text-muted-foreground ml-auto`,children:[e.duration,`ms`]})]}),e.stdout&&(0,O.jsx)(`pre`,{className:`px-3 py-2 font-mono text-xs whitespace-pre-wrap text-foreground/90`,children:e.stdout}),e.stderr&&(0,O.jsx)(`pre`,{className:`px-3 py-2 font-mono text-xs whitespace-pre-wrap text-red-400/80 border-t border-border/30`,children:e.stderr})]},e.id))}),_&&v&&(0,O.jsx)(`div`,{className:`border-t border-border/30 pt-2 mb-1`,children:(0,O.jsx)(`span`,{className:`text-[10px] text-muted-foreground uppercase tracking-wider`,children:`Browser Console`})}),v&&h.map((e,t)=>(0,O.jsxs)(`div`,{className:S(`flex items-start gap-1.5 py-0.5 px-2 hover:bg-muted/30 font-mono text-xs overflow-hidden max-w-full`,!e.isCurrent&&`opacity-40`),children:[(0,O.jsx)(`span`,{className:S(`shrink-0 text-[10px]`,pt(e.level)),children:e.level}),(0,O.jsx)(`span`,{className:`text-muted-foreground/60 shrink-0 text-[10px] tabular-nums`,children:new Date(e.timestamp).toLocaleTimeString()}),(0,O.jsx)(`span`,{className:`flex-1 min-w-0 break-all whitespace-pre-wrap overflow-hidden`,children:(0,O.jsx)(ht,{text:e.text,query:f})})]},t))]})]})}export{Xe as a,K as c,le as d,E as f,nt as i,G as l,ft as n,Ge as o,it as r,W as s,gt as t,ue as u};
@@ -0,0 +1 @@
1
+ import"./chunk-CilyBKbf.js";import{Ut as e,Zn as t,fr as n}from"./index-B3xPCIyH.js";n();var r=t();function i({className:t,...n}){return(0,r.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,r.jsx)(`table`,{"data-slot":`table`,className:e(`w-full caption-bottom text-sm`,t),...n})})}function a({className:t,...n}){return(0,r.jsx)(`thead`,{"data-slot":`table-header`,className:e(`[&_tr]:border-b`,t),...n})}function o({className:t,...n}){return(0,r.jsx)(`tbody`,{"data-slot":`table-body`,className:e(`[&_tr:last-child]:border-0`,t),...n})}function s({className:t,...n}){return(0,r.jsx)(`tr`,{"data-slot":`table-row`,className:e(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,t),...n})}function c({className:t,...n}){return(0,r.jsx)(`th`,{"data-slot":`table-head`,className:e(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t),...n})}function l({className:t,...n}){return(0,r.jsx)(`td`,{"data-slot":`table-cell`,className:e(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t),...n})}export{a,c as i,o as n,s as o,l as r,i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{r as t}from"./use-page-title-CK82kWb2.js";import{n,r,t as i}from"./dist-DZYW0-Ta.js";import{Cn as a,Jn as o,Sn as s,Tn as c,Ut as l,Zn as u,bn as d,fr as f,vn as p,yn as m}from"./index-B3xPCIyH.js";var h=e(f(),1),g=u(),_=`Tabs`,[v,y]=a(_,[r]),b=r(),[x,S]=v(_),C=h.forwardRef((e,n)=>{let{__scopeTabs:r,value:i,onValueChange:a,defaultValue:o,orientation:s=`horizontal`,dir:l,activationMode:u=`automatic`,...f}=e,m=t(l),[h,v]=d({prop:i,onChange:a,defaultProp:o??``,caller:_});return(0,g.jsx)(x,{scope:r,baseId:p(),value:h,onValueChange:v,orientation:s,dir:m,activationMode:u,children:(0,g.jsx)(c.div,{dir:m,"data-orientation":s,...f,ref:n})})});C.displayName=_;var w=`TabsList`,T=h.forwardRef((e,t)=>{let{__scopeTabs:r,loop:i=!0,...a}=e,o=S(w,r),s=b(r);return(0,g.jsx)(n,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:(0,g.jsx)(c.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})});T.displayName=w;var E=`TabsTrigger`,D=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:a=!1,...o}=e,l=S(E,n),u=b(n),d=A(l.baseId,r),f=j(l.baseId,r),p=r===l.value;return(0,g.jsx)(i,{asChild:!0,...u,focusable:!a,active:p,children:(0,g.jsx)(c.button,{type:`button`,role:`tab`,"aria-selected":p,"aria-controls":f,"data-state":p?`active`:`inactive`,"data-disabled":a?``:void 0,disabled:a,id:d,...o,ref:t,onMouseDown:s(e.onMouseDown,e=>{!a&&e.button===0&&e.ctrlKey===!1?l.onValueChange(r):e.preventDefault()}),onKeyDown:s(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&l.onValueChange(r)}),onFocus:s(e.onFocus,()=>{let e=l.activationMode!==`manual`;!p&&!a&&e&&l.onValueChange(r)})})})});D.displayName=E;var O=`TabsContent`,k=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=S(O,n),l=A(s.baseId,r),u=j(s.baseId,r),d=r===s.value,f=h.useRef(d);return h.useEffect(()=>{let e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(m,{present:i||d,children:({present:n})=>(0,g.jsx)(c.div,{"data-state":d?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:u,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:f.current?`0s`:void 0},children:n&&a})})});k.displayName=O;function A(e,t){return`${e}-trigger-${t}`}function j(e,t){return`${e}-content-${t}`}var M=C,N=T,P=D,F=k;function I({className:e,orientation:t=`horizontal`,...n}){return(0,g.jsx)(M,{"data-slot":`tabs`,"data-orientation":t,orientation:t,className:l(`group/tabs flex gap-0 data-[orientation=horizontal]:flex-col`,e),...n})}var L=o(`group/tabs-list inline-flex w-fit items-center justify-center rounded-sm p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-0 bg-transparent`}},defaultVariants:{variant:`default`}});function R({className:e,variant:t=`default`,...n}){return(0,g.jsx)(N,{"data-slot":`tabs-list`,"data-variant":t,className:l(L({variant:t}),e),...n})}function z({className:e,...t}){return(0,g.jsx)(P,{"data-slot":`tabs-trigger`,className:l(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...t})}function B({className:e,...t}){return(0,g.jsx)(F,{"data-slot":`tabs-content`,className:l(`flex-1 outline-none`,e),...t})}export{z as i,B as n,R as r,I as t};
@@ -0,0 +1 @@
1
+ var e={brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}]},t={tokenPostfix:`.tcl`,specialFunctions:[`set`,`unset`,`rename`,`variable`,`proc`,`coroutine`,`foreach`,`incr`,`append`,`lappend`,`linsert`,`lreplace`],mainFunctions:[`if`,`then`,`elseif`,`else`,`case`,`switch`,`while`,`for`,`break`,`continue`,`return`,`package`,`namespace`,`catch`,`exit`,`eval`,`expr`,`uplevel`,`upvar`],builtinFunctions:`file.info.concat.join.lindex.list.llength.lrange.lsearch.lsort.split.array.parray.binary.format.regexp.regsub.scan.string.subst.dict.cd.clock.exec.glob.pid.pwd.close.eof.fblocked.fconfigure.fcopy.fileevent.flush.gets.open.puts.read.seek.socket.tell.interp.after.auto_execok.auto_load.auto_mkindex.auto_reset.bgerror.error.global.history.load.source.time.trace.unknown.unset.update.vwait.winfo.wm.bind.event.pack.place.grid.font.bell.clipboard.destroy.focus.grab.lower.option.raise.selection.send.tk.tkwait.tk_bisque.tk_focusNext.tk_focusPrev.tk_focusFollowsMouse.tk_popup.tk_setPalette`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,brackets:[{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`}],escapes:/\\(?:[abfnrtv\\"'\[\]\{\};\$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,variables:/(?:\$+(?:(?:\:\:?)?[a-zA-Z_]\w*)+)/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@specialFunctions":{token:`keyword.flow`,next:`@specialFunc`},"@mainFunctions":`keyword`,"@builtinFunctions":`variable`,"@default":`operator.scss`}}],[/\s+\-+(?!\d|\.)\w*|{\*}/,`metatag`],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/@symbols/,`operator`],[/\$+(?:\:\:)?\{/,{token:`identifier`,next:`@nestedVariable`}],[/@variables/,`type.identifier`],[/\.(?!\d|\.)[\w\-]*/,`operator.sql`],[/\d+(\.\d+)?/,`number`],[/\d+/,`number`],[/;/,`delimiter`],[/"/,{token:`string.quote`,bracket:`@open`,next:`@dstring`}],[/'/,{token:`string.quote`,bracket:`@open`,next:`@sstring`}]],dstring:[[/\[/,{token:`@brackets`,next:`@nestedCall`}],[/\$+(?:\:\:)?\{/,{token:`identifier`,next:`@nestedVariable`}],[/@variables/,`type.identifier`],[/[^\\$\[\]"]+/,`string`],[/@escapes/,`string.escape`],[/"/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],sstring:[[/\[/,{token:`@brackets`,next:`@nestedCall`}],[/\$+(?:\:\:)?\{/,{token:`identifier`,next:`@nestedVariable`}],[/@variables/,`type.identifier`],[/[^\\$\[\]']+/,`string`],[/@escapes/,`string.escape`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,`white`],[/#.*\\$/,{token:`comment`,next:`@newlineComment`}],[/#.*(?!\\)$/,`comment`]],newlineComment:[[/.*\\$/,`comment`],[/.*(?!\\)$/,{token:`comment`,next:`@pop`}]],nestedVariable:[[/[^\{\}\$]+/,`type.identifier`],[/\}/,{token:`identifier`,next:`@pop`}]],nestedCall:[[/\[/,{token:`@brackets`,next:`@nestedCall`}],[/\]/,{token:`@brackets`,next:`@pop`}],{include:`root`}],specialFunc:[[/"/,{token:`string`,next:`@dstring`}],[/'/,{token:`string`,next:`@sstring`}],[/\S+/,{token:`type`,next:`@pop`}]]}};export{e as conf,t as language};