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

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 (199) hide show
  1. package/README.md +78 -0
  2. package/dist/assets/{arrow-up-down-CKc1J6oh.js → arrow-up-down-CkXEPOSU.js} +1 -1
  3. package/dist/assets/{badge-B-yh3kbi.js → badge-MmnLIMMu.js} +1 -1
  4. package/dist/assets/batch-action-bar-Bg_1IyjJ.js +4 -0
  5. package/dist/assets/check-B2JBwjSe.js +1 -0
  6. package/dist/assets/circle-Xrl9blhh.js +1 -0
  7. package/dist/assets/{circle-dashed-WDoZ8ADk.js → circle-dashed-D2UVSTYi.js} +1 -1
  8. package/dist/assets/circle-slash-iyfIklmt.js +1 -0
  9. package/dist/assets/{circle-x-1lf_9y_c.js → circle-x-CTm-Znd9.js} +1 -1
  10. package/dist/assets/config-yByyzBwq.js +3 -0
  11. package/dist/assets/{cssMode-CIWhUqfG.js → cssMode-BBQdjXbL.js} +1 -1
  12. package/dist/assets/{display-step-opeACkeD.js → display-step-Cgs30Ul7.js} +1 -1
  13. package/dist/assets/{dist-Cy8QoEce.js → dist-DTBPY93S.js} +1 -1
  14. package/dist/assets/{empty-state-2mwYYmoQ.js → empty-state-D-rPbKI6.js} +1 -1
  15. package/dist/assets/{file-code-BTJCyvvJ.js → file-code-DJGTlQdo.js} +1 -1
  16. package/dist/assets/filename-validation-DBEhHOy2.js +1 -0
  17. package/dist/assets/{freemarker2-BiVXttLB.js → freemarker2-DrFcSVs8.js} +1 -1
  18. package/dist/assets/{grip-vertical-B87oMfre.js → grip-vertical-mXei0XVt.js} +1 -1
  19. package/dist/assets/{handlebars-C_rmhix8.js → handlebars-SaK5Z7lY.js} +1 -1
  20. package/dist/assets/hook-editor-B9JLXhOJ.js +1 -0
  21. package/dist/assets/{hook-runtime-8xwsNog-.js → hook-runtime-CdKy24OK.js} +1 -1
  22. package/dist/assets/hook-viewer-DRWIRku4.js +1 -0
  23. package/dist/assets/{hooks-BIXR5djX.js → hooks-DZxZ7qbD.js} +1 -1
  24. package/dist/assets/{html-v4GGDD2l.js → html-DUrLTy3t.js} +1 -1
  25. package/dist/assets/{htmlMode-DsnRJeF2.js → htmlMode-CpegtGCG.js} +1 -1
  26. package/dist/assets/{id-badge-CIbcJUv0.js → id-badge-NMDEQDag.js} +3 -3
  27. package/dist/assets/index-0ktcxgei.js +116 -0
  28. package/dist/assets/index-HFKr1ctG.css +2 -0
  29. package/dist/assets/{insights-CfqFVe4T.js → insights-B0435q79.js} +1 -1
  30. package/dist/assets/{insights-line-grid-EcYgqiLS.js → insights-line-grid-CtoahJE7.js} +6 -6
  31. package/dist/assets/{javascript-B12FD1Gz.js → javascript-C-l8zO8e.js} +1 -1
  32. package/dist/assets/{jsonMode-C_mhVvGR.js → jsonMode-Beeoi3Xk.js} +1 -1
  33. package/dist/assets/knowledge-view-CD1TFSLc.js +1 -0
  34. package/dist/assets/{label-CYpyu7PJ.js → label-D_Jf6y0L.js} +1 -1
  35. package/dist/assets/{liquid-l2oB7oKx.js → liquid-bJdsKvv8.js} +1 -1
  36. package/dist/assets/live-run-CyJ-cAet.js +1 -0
  37. package/dist/assets/live-step-row-CrstaK1U.js +1 -0
  38. package/dist/assets/{lspLanguageFeatures-By4f0cSm.js → lspLanguageFeatures-Cn6BXYdZ.js} +1 -1
  39. package/dist/assets/{mdx-Cyix08OW.js → mdx-LnT6x9vm.js} +1 -1
  40. package/dist/assets/{monaco-editor-BQB4vEk_.js → monaco-editor-B6mFBq9L.js} +2 -2
  41. package/dist/assets/{monaco-editor-inner-DBI8AgAJ.js → monaco-editor-inner-8PnIDLQz.js} +4 -4
  42. package/dist/assets/{monaco.contribution-C7Dknl5j.js → monaco.contribution-BBzv4yE3.js} +2 -2
  43. package/dist/assets/plus-Dat6AM-D.js +1 -0
  44. package/dist/assets/popover-DrbdiGRd.js +1 -0
  45. package/dist/assets/{python-cdSYU9zt.js → python-DPgrly9F.js} +1 -1
  46. package/dist/assets/radio-group-D7bWnAJ7.js +1 -0
  47. package/dist/assets/{razor-BWMXhgx8.js → razor-DjDnQwdx.js} +1 -1
  48. package/dist/assets/{refresh-cw-BQdOC6UA.js → refresh-cw-DpNAPQYT.js} +1 -1
  49. package/dist/assets/{resizable-om0nWp3k.js → resizable-BDrAG61s.js} +1 -1
  50. package/dist/assets/run-detail-CQ6Y6dQj.js +1 -0
  51. package/dist/assets/run-status-badge-L4mzeuUy.js +1 -0
  52. package/dist/assets/{run-stream-reducer-BXMulZq1.js → run-stream-reducer-BSkFyxB_.js} +1 -1
  53. package/dist/assets/runs-DBLAcB4A.js +1 -0
  54. package/dist/assets/scroll-area-C34fPAjC.js +1 -0
  55. package/dist/assets/select-B9PD0Kau.js +1 -0
  56. package/dist/assets/{shortcut-hints-_J-i7rAL.js → shortcut-hints-eZAIE8bW.js} +1 -1
  57. package/dist/assets/split-button-DdscN9va.js +1 -0
  58. package/dist/assets/suite-editor-YpS3BwjZ.js +5 -0
  59. package/dist/assets/suite-navbar-CFZjqNjD.js +1 -0
  60. package/dist/assets/suite-viewer-Bsz6Epuw.js +1 -0
  61. package/dist/assets/suites-BglVjv_G.js +1 -0
  62. package/dist/assets/switch-xSMwKr9Z.js +1 -0
  63. package/dist/assets/tab-console-BF977T6r.js +1 -0
  64. package/dist/assets/table-C-9N3ArO.js +1 -0
  65. package/dist/assets/{tabs-CsAJVEvt.js → tabs-BKL0XmCI.js} +1 -1
  66. package/dist/assets/test-editor-C6XNOFkP.js +9 -0
  67. package/dist/assets/test-navbar-qJSqUdYb.js +7 -0
  68. package/dist/assets/test-viewer-Bh0p09uO.js +1 -0
  69. package/dist/assets/tests-DgBSme3j.js +1 -0
  70. package/dist/assets/tests-suites-table-widths-BrDJsNpi.js +1 -0
  71. package/dist/assets/{textarea-BP7XqG3v.js → textarea-DK29qckP.js} +1 -1
  72. package/dist/assets/{trash-2-87f7wzeR.js → trash-2-2JD8nWR7.js} +1 -1
  73. package/dist/assets/{tsMode-CqMhxF8i.js → tsMode-Cajyh71r.js} +1 -1
  74. package/dist/assets/{typescript-DOy-nOZu.js → typescript-_xcF03po.js} +1 -1
  75. package/dist/assets/use-clipboard-copy-BlWDP3HN.js +1 -0
  76. package/dist/assets/{use-hook-run-session-DnSkzl1A.js → use-hook-run-session-CMEz70il.js} +1 -1
  77. package/dist/assets/{use-keyboard-shortcuts-befVnBO6.js → use-keyboard-shortcuts-Bz9HvJxb.js} +1 -1
  78. package/dist/assets/{use-page-title-fn79XYtf.js → use-page-title-qvGn8USj.js} +1 -1
  79. package/dist/assets/{use-run-status-favicon-vVlATUoT.js → use-run-status-favicon-Bt0tLQkk.js} +1 -1
  80. package/dist/assets/use-selection-queue-DE4YxhK4.js +1 -0
  81. package/dist/assets/{workers-By3SZV-o.js → workers-e5BAAjmc.js} +1 -1
  82. package/dist/assets/{wrench-y-wKZ-0A.js → wrench-Cgh_pk3j.js} +1 -1
  83. package/dist/assets/{xml-BEMkcljk.js → xml-DI6VDnOP.js} +1 -1
  84. package/dist/assets/{yaml-CfPYAxWJ.js → yaml-BzXIuQuW.js} +1 -1
  85. package/dist/assets/{zap-DKRM77fm.js → zap-B27P6HHM.js} +1 -1
  86. package/dist/index.html +2 -2
  87. package/package.json +4 -4
  88. package/dist/assets/batch-action-bar-MMUxALHz.js +0 -4
  89. package/dist/assets/check-DH5_3cK-.js +0 -1
  90. package/dist/assets/checkbox-B5x0V2a2.js +0 -1
  91. package/dist/assets/circle-DjggEctd.js +0 -1
  92. package/dist/assets/circle-slash-Baq9Dw6f.js +0 -1
  93. package/dist/assets/config-CnN4bOco.js +0 -3
  94. package/dist/assets/filename-validation-I94bcMf7.js +0 -1
  95. package/dist/assets/globe-B0WEPp3h.js +0 -1
  96. package/dist/assets/hook-editor-DetIWjh8.js +0 -1
  97. package/dist/assets/hook-viewer-C_nzb-qD.js +0 -1
  98. package/dist/assets/index-0GfHLQ0v.css +0 -2
  99. package/dist/assets/index-CXuVkD6-.js +0 -116
  100. package/dist/assets/knowledge-view-BHNh7MwX.js +0 -1
  101. package/dist/assets/live-run-DOfPiVKU.js +0 -1
  102. package/dist/assets/live-step-row-BtLYYCKS.js +0 -1
  103. package/dist/assets/plus-DNc2RueT.js +0 -1
  104. package/dist/assets/popover-DThBIgGA.js +0 -1
  105. package/dist/assets/radio-group-DDMpRS3x.js +0 -1
  106. package/dist/assets/run-detail-C9oixuvH.js +0 -1
  107. package/dist/assets/run-status-badge-DRzXddrc.js +0 -1
  108. package/dist/assets/runs-BDKh94Pq.js +0 -1
  109. package/dist/assets/scroll-area-WFIgUp-0.js +0 -1
  110. package/dist/assets/select-JI5Kadjp.js +0 -1
  111. package/dist/assets/split-button-BHdketN3.js +0 -1
  112. package/dist/assets/suite-editor-Ce16nUF9.js +0 -5
  113. package/dist/assets/suite-navbar-D8RcUReD.js +0 -1
  114. package/dist/assets/suite-viewer-Bc78bHVL.js +0 -1
  115. package/dist/assets/suites-D2VXpj7W.js +0 -1
  116. package/dist/assets/switch-BgfA6DyL.js +0 -1
  117. package/dist/assets/tab-console-CpnOoTyg.js +0 -1
  118. package/dist/assets/table-e38rtLis.js +0 -1
  119. package/dist/assets/test-editor-vZsQDd2R.js +0 -9
  120. package/dist/assets/test-navbar-BfzeL-K8.js +0 -7
  121. package/dist/assets/test-viewer-Cek_cnB3.js +0 -1
  122. package/dist/assets/tests-CzPu8CPe.js +0 -1
  123. package/dist/assets/tests-suites-table-widths-nMJHxqRN.js +0 -1
  124. package/dist/assets/use-clipboard-copy-Bmyv0FFY.js +0 -1
  125. package/dist/assets/use-selection-queue-BAssrkmC.js +0 -1
  126. /package/dist/assets/{abap-CpHUwCVK.js → abap-CK68cr9-.js} +0 -0
  127. /package/dist/assets/{apex-DlD7oJX6.js → apex-BHHyAVNb.js} +0 -0
  128. /package/dist/assets/{azcli-CmXFAbc-.js → azcli-C56lfIEP.js} +0 -0
  129. /package/dist/assets/{bat-DdNJq4hH.js → bat-BLamSaf-.js} +0 -0
  130. /package/dist/assets/{bicep-Bppz7WOA.js → bicep-lrOcEItS.js} +0 -0
  131. /package/dist/assets/{cameligo-0MRMdSmg.js → cameligo-BK_p0bgU.js} +0 -0
  132. /package/dist/assets/{clojure-B5dKj863.js → clojure-BQ7JOykv.js} +0 -0
  133. /package/dist/assets/{coffee-DSbWjzk7.js → coffee-BD3DiL5s.js} +0 -0
  134. /package/dist/assets/{cpp-SBF8SAh9.js → cpp-splnCwCh.js} +0 -0
  135. /package/dist/assets/{csharp-Lzuq_1t-.js → csharp-BCpsl-o3.js} +0 -0
  136. /package/dist/assets/{csp-BEzxZqi1.js → csp-tkCWrZmb.js} +0 -0
  137. /package/dist/assets/{css-C3D3PKln.js → css-B_xdnReq.js} +0 -0
  138. /package/dist/assets/{cypher-CQ3dEPmv.js → cypher-OL1zq-y3.js} +0 -0
  139. /package/dist/assets/{dart-DCPmxolI.js → dart-CtTlOkrm.js} +0 -0
  140. /package/dist/assets/{dockerfile-B_2_aaTO.js → dockerfile-DcQ5CNiW.js} +0 -0
  141. /package/dist/assets/{ecl-rADUeXsV.js → ecl-DZpiDRt6.js} +0 -0
  142. /package/dist/assets/{editor.api2-DXR_ThFM.js → editor.api2-S_Xxx4WR.js} +0 -0
  143. /package/dist/assets/{elixir-DOd-TuJO.js → elixir-Dzj2lqtK.js} +0 -0
  144. /package/dist/assets/{flow9-Bf7zg_j0.js → flow9-CFENCHIZ.js} +0 -0
  145. /package/dist/assets/{format-BpI4TiHn.js → format-Y_Dbfary.js} +0 -0
  146. /package/dist/assets/{fsharp-BqROZjbA.js → fsharp-D-4bv7FB.js} +0 -0
  147. /package/dist/assets/{go-oQTP5uLe.js → go-djxbTJq7.js} +0 -0
  148. /package/dist/assets/{graphql-CSHfTU3q.js → graphql-DHIFrkZ6.js} +0 -0
  149. /package/dist/assets/{hcl-CeG-RoFJ.js → hcl-CXVoowNb.js} +0 -0
  150. /package/dist/assets/{ini-B2Dv4ohc.js → ini-Crzc5kly.js} +0 -0
  151. /package/dist/assets/{java-aUDDeufb.js → java-CYLaJrdE.js} +0 -0
  152. /package/dist/assets/{julia-C5LbruO5.js → julia-BJ7tUU-T.js} +0 -0
  153. /package/dist/assets/{kotlin-C6mOuSKk.js → kotlin-CeWcU3lC.js} +0 -0
  154. /package/dist/assets/{less-D5qC3caW.js → less-CviwWNG4.js} +0 -0
  155. /package/dist/assets/{lexon-Dr2La-fj.js → lexon-Dt28jqDS.js} +0 -0
  156. /package/dist/assets/{lua-Zy6u5z6Z.js → lua-B6AOaJSi.js} +0 -0
  157. /package/dist/assets/{m3-C7XHeDz_.js → m3-VnMkHJcy.js} +0 -0
  158. /package/dist/assets/{markdown-PiF7r-2h.js → markdown-8vKNdvIM.js} +0 -0
  159. /package/dist/assets/{mips-nn07GiyE.js → mips-DoEcuzan.js} +0 -0
  160. /package/dist/assets/{msdax-DaKFVMST.js → msdax-CNzvHyEp.js} +0 -0
  161. /package/dist/assets/{mysql-C6d6xrbU.js → mysql-Buk3vUtL.js} +0 -0
  162. /package/dist/assets/{numeric-input-DcozBggQ.js → numeric-input-BfrTvhxN.js} +0 -0
  163. /package/dist/assets/{objective-c-B6KMtI-k.js → objective-c-DfOmda-5.js} +0 -0
  164. /package/dist/assets/{pascal-DYr8MPE7.js → pascal-DoAA2yjy.js} +0 -0
  165. /package/dist/assets/{pascaligo-B3pd-jJ_.js → pascaligo-C65Vn1fu.js} +0 -0
  166. /package/dist/assets/{perl-z2xUzoaL.js → perl-INlfQ_ro.js} +0 -0
  167. /package/dist/assets/{pgsql-DUvT-09-.js → pgsql-DtwRzglx.js} +0 -0
  168. /package/dist/assets/{php-CGyOmJfy.js → php-DfHqVNet.js} +0 -0
  169. /package/dist/assets/{pla-CMqgvyD0.js → pla-D3dNVRYk.js} +0 -0
  170. /package/dist/assets/{postiats-Dx5LUn4Z.js → postiats-UKXD1rM4.js} +0 -0
  171. /package/dist/assets/{powerquery-DazYxvJ6.js → powerquery-zE3E3O7s.js} +0 -0
  172. /package/dist/assets/{powershell-B3nwlDka.js → powershell-Df9b3zQl.js} +0 -0
  173. /package/dist/assets/{protobuf-BGuu2u2s.js → protobuf-BF0nUVrW.js} +0 -0
  174. /package/dist/assets/{pug-Dbte1MXA.js → pug-Bj6Yikv_.js} +0 -0
  175. /package/dist/assets/{qsharp-DJLwBOvG.js → qsharp-BI4h-raZ.js} +0 -0
  176. /package/dist/assets/{r-DmGBRSHj.js → r-DhpnmaXx.js} +0 -0
  177. /package/dist/assets/{redis-VvUYn0a4.js → redis-DwYYPr4d.js} +0 -0
  178. /package/dist/assets/{redshift-6GdDrxg3.js → redshift-D2f3Bc-4.js} +0 -0
  179. /package/dist/assets/{restructuredtext-CfAB8aRU.js → restructuredtext-Dkiif6fe.js} +0 -0
  180. /package/dist/assets/{ruby-CIYK6MXY.js → ruby-C6hLmHy0.js} +0 -0
  181. /package/dist/assets/{rust-CTHZfjj9.js → rust-X8WAGtxB.js} +0 -0
  182. /package/dist/assets/{sb-CkKTdkz_.js → sb-4M2la0Kr.js} +0 -0
  183. /package/dist/assets/{scala-Bx-Wr9TM.js → scala-CaCXz58E.js} +0 -0
  184. /package/dist/assets/{scheme-Dcfi6f83.js → scheme-CMdjpmP7.js} +0 -0
  185. /package/dist/assets/{scss-ByL-7PFQ.js → scss-QopmvPyp.js} +0 -0
  186. /package/dist/assets/{shell-Csnb9Yqd.js → shell-CDBchS00.js} +0 -0
  187. /package/dist/assets/{solidity-Dbw5-0QP.js → solidity-DvBfi5mC.js} +0 -0
  188. /package/dist/assets/{sophia-ZQ3saZQx.js → sophia-HSnXR17u.js} +0 -0
  189. /package/dist/assets/{sparql-BEtOel8u.js → sparql-DhG_ppup.js} +0 -0
  190. /package/dist/assets/{sql-DGPDbzB7.js → sql-DHeIS-tf.js} +0 -0
  191. /package/dist/assets/{st-GeW2MOgh.js → st-CMWchiRU.js} +0 -0
  192. /package/dist/assets/{swift-BVYTN8jq.js → swift-CDXvBefj.js} +0 -0
  193. /package/dist/assets/{systemverilog-Deg2a8Lr.js → systemverilog-0RTukYUE.js} +0 -0
  194. /package/dist/assets/{tcl-6DnLmROF.js → tcl-CbBF_Ttl.js} +0 -0
  195. /package/dist/assets/{twig-XbbXW9Yz.js → twig-DCcGd8FE.js} +0 -0
  196. /package/dist/assets/{typespec-CRlV8GhI.js → typespec-HTphp-Uh.js} +0 -0
  197. /package/dist/assets/{vb-BHE2izPH.js → vb-Cb_yUcVd.js} +0 -0
  198. /package/dist/assets/{viewer-url-state-BnbixmdH.js → viewer-url-state-BfJV-cGM.js} +0 -0
  199. /package/dist/assets/{wgsl-Bf5vkfmY.js → wgsl-DrKU3YXj.js} +0 -0
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ <picture>
2
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-dark.jpg">
3
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-light.png">
4
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-light.png" alt="agent-qa by vostride — a self-improving QA agent for your software factory" width="100%">
5
+ </picture>
6
+
7
+ <p align="center">
8
+ <strong>English</strong> · <a href="https://github.com/vostride/agent-qa/blob/main/README.zh-CN.md">中文</a>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/agent-qa"><img src="https://img.shields.io/npm/v/agent-qa?color=196872" alt="npm version"></a>
13
+ <a href="https://www.npmjs.com/package/agent-qa"><img src="https://img.shields.io/npm/dm/agent-qa?color=196872" alt="npm downloads per month"></a>
14
+ <a href="https://github.com/vostride/agent-qa/stargazers"><img src="https://img.shields.io/github/stars/vostride/agent-qa?color=196872" alt="GitHub stars"></a>
15
+ <a href="https://github.com/vostride/agent-qa/actions/workflows/ci.yml"><img src="https://github.com/vostride/agent-qa/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"></a>
16
+ <a href="https://vostride.com/docs/agent-qa"><img src="https://img.shields.io/badge/docs-agent--qa-196872" alt="Documentation"></a>
17
+ <a href="https://github.com/vostride/agent-qa/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/license-FSL--1.1--ALv2-196872" alt="License: FSL-1.1-ALv2"></a>
18
+ </p>
19
+
20
+ <p align="center">
21
+ <a href="https://vostride.com/agent-qa">Website</a> · <a href="https://vostride.com/docs/agent-qa">Docs</a> · <a href="https://vostride.com/demo/agent-qa">Demo</a> · <a href="https://vostride.com/blog">Blog</a> · <a href="https://vostride.com/changelog">Changelog</a>
22
+ </p>
23
+
24
+ **Your AI QA engineer, with memory.** Describe a user journey in plain language. agent-qa tests it on web, Android or iOS and keeps the evidence. Use the CLI, the dashboard, or your coding agent through MCP and skills.
25
+
26
+ - **memidex:** remembers facts and working procedures as reviewable files in your repository.
27
+ - **Self-improvement:** validates lessons from runs, retires stale knowledge, and uses your feedback to correct mistakes.
28
+
29
+ | Benchmark | Rank | Published result |
30
+ | --- | --- | --- |
31
+ | [AndroidWorld](https://vostride.com/benchmark/android-world) | **#1** | **100% pass@1** (116/116 tasks) |
32
+ | [AppControlBench](https://vostride.com/benchmark/app-control-bench) | **#1** | **99.6% completion** (114.5/115 points) |
33
+
34
+ Read the full benchmark reports, with run evidence and methodology, on [our blog](https://vostride.com/blog). Both used gpt-6-sol with memory and self-improvement off; AppControlBench gives half credit for partial completion.
35
+
36
+ ## See it in action
37
+
38
+ **Inspect a failure.** The demo catches a cart showing $29 instead of $53, with the failed step and its screenshot side by side.
39
+
40
+ <picture>
41
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-dark.png">
42
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-light.png">
43
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-light.png" alt="The dashboard shows the deliberate cart-total bug, its failed assertion, and recorded browser evidence" width="100%">
44
+ </picture>
45
+
46
+ **See what memory contributed.** Inspect the knowledge supplied to a run and trace it back to the steps that used it.
47
+
48
+ <picture>
49
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-dark.png">
50
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-light.png">
51
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-light.png" alt="The Knowledge tab shows stored facts retrieved for the demo run" width="100%">
52
+ </picture>
53
+
54
+ **Run from your terminal.** Real output from the demo suite: checkout passes; the deliberate cart-total bug fails.
55
+
56
+ <picture>
57
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-dark.png">
58
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-light.png">
59
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-light.png" alt="CLI output excerpt showing one passed test, one failed test, and eight of nine steps passing" width="100%">
60
+ </picture>
61
+
62
+ ## Get started
63
+
64
+ Requires Node.js 24+.
65
+
66
+ ```sh
67
+ npm install -D agent-qa
68
+ npx agent-qa init
69
+ ```
70
+
71
+ Follow the [quickstart](https://vostride.com/docs/agent-qa/quickstart) to connect a model and run the demo, or [set up with your coding agent](https://vostride.com/docs/agent-qa/agent-quickstart).
72
+
73
+ > [!NOTE]
74
+ > Early stage. Expect bugs. [Report an issue](https://github.com/vostride/agent-qa/issues) when something breaks.
75
+
76
+ ## License
77
+
78
+ [Functional Source License (FSL-1.1-ALv2)](https://github.com/vostride/agent-qa/blob/main/LICENSE.md).
@@ -1 +1 @@
1
- import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]);export{t};
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]);export{t};
@@ -1 +1 @@
1
- import"./chunk-CilyBKbf.js";import{B as e,Ot as t,Sc as n,Xt as r,qt as i}from"./index-CXuVkD6-.js";n();var a=r(),o=i(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-sm border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:`bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,ghost:`[a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,link:`text-primary underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function s({className:n,variant:r=`default`,asChild:i=!1,...s}){return(0,a.jsx)(i?t:`span`,{"data-slot":`badge`,"data-variant":r,className:e(o({variant:r}),n),...s})}export{s as t};
1
+ import"./chunk-CilyBKbf.js";import{Dt as e,Kt as t,Yt as n,tc as r,z as i}from"./index-0ktcxgei.js";r();var a=n(),o=t(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-sm border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:`bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,ghost:`[a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,link:`text-primary underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function s({className:t,variant:n=`default`,asChild:r=!1,...s}){return(0,a.jsx)(r?e:`span`,{"data-slot":`badge`,"data-variant":n,className:i(o({variant:n}),t),...s})}export{s as t};
@@ -0,0 +1,4 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./check-B2JBwjSe.js";import{o as n}from"./select-B9PD0Kau.js";import{t as r}from"./trash-2-2JD8nWR7.js";import{$ as i,At as a,Et as o,R as s,St as c,Yt as l,bt as u,ec as d,tc as f,wt as p,yt as m,z as h}from"./index-0ktcxgei.js";import{t as g}from"./split-button-DdscN9va.js";var _=e(f(),1),v=l(),y=`Checkbox`,[b,x]=p(y),[ee,S]=b(y);function C(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:d=`on`,internal_do_not_use_render:f}=e,[p,m]=u({prop:n,defaultProp:i??!1,onChange:c,caller:y}),[h,g]=_.useState(null),[b,x]=_.useState(null),S=_.useRef(!1),C=h?!!o||!!h.closest(`form`):!0,w={checked:p,disabled:a,setChecked:m,control:h,setControl:g,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:S,required:l,defaultChecked:T(i)?!1:i,isFormControl:C,bubbleInput:b,setBubbleInput:x};return(0,v.jsx)(ee,{scope:t,...w,children:se(f)?f(w):r})}var w=`CheckboxTrigger`,te=_.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:s,value:l,disabled:u,checked:d,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,isFormControl:g,bubbleInput:y}=S(w,e),b=a(i,p),x=_.useRef(d);return _.useEffect(()=>{let e=s?.form;if(e){let t=()=>m(x.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[s,m]),(0,v.jsx)(o.button,{type:`button`,role:`checkbox`,"aria-checked":T(d)?`mixed`:d,"aria-required":f,"data-state":ce(d),"data-disabled":u?``:void 0,disabled:u,value:l,...r,ref:b,onKeyDown:c(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:c(n,e=>{m(e=>T(e)?!0:!e),y&&g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});te.displayName=w;var ne=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(C,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(te,{...d,ref:t,__scopeCheckbox:n}),e&&(0,v.jsx)(oe,{__scopeCheckbox:n})]})})});ne.displayName=y;var re=`CheckboxIndicator`,ie=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=S(re,n);return(0,v.jsx)(m,{present:r||T(a.checked)||a.checked===!0,children:(0,v.jsx)(o.span,{"data-state":ce(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});ie.displayName=re;var ae=`CheckboxBubbleInput`,oe=_.forwardRef(({__scopeCheckbox:e,...t},r)=>{let{control:s,hasConsumerStoppedPropagationRef:c,checked:l,defaultChecked:u,required:d,disabled:f,name:p,value:m,form:h,bubbleInput:g,setBubbleInput:y}=S(ae,e),b=a(r,y),x=n(l),ee=i(s);_.useEffect(()=>{let e=g;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!c.current;if(x!==l&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=T(l),n.call(e,T(l)?!1:l),e.dispatchEvent(t)}},[g,x,l,c]);let C=_.useRef(T(l)?!1:l);return(0,v.jsx)(o.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:u??C.current,required:d,disabled:f,name:p,value:m,form:h,...t,tabIndex:-1,ref:b,style:{...t.style,...ee,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});oe.displayName=ae;function se(e){return typeof e==`function`}function T(e){return e===`indeterminate`}function ce(e){return T(e)?`indeterminate`:e?`checked`:`unchecked`}function E(e,t){return typeof e==`function`?e(t):e}function D(e,t){return n=>{t.setState(t=>({...t,[e]:E(n,t[e])}))}}function O(e){return e instanceof Function}function le(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function ue(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function k(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
2
+ font-size: .6rem;
3
+ font-weight: bold;
4
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function A(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function de(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:k(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),A(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function fe(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:k(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],A(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:k(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},A(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var j=`debugHeaders`;function pe(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var me={createTable:e=>{e.getHeaderGroups=k(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return M(t,[...a,...s,...o],e)},A(e.options,j,`getHeaderGroups`)),e.getCenterHeaderGroups=k(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),M(t,n,e,`center`)),A(e.options,j,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=k(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>M(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),A(e.options,j,`getLeftHeaderGroups`)),e.getRightHeaderGroups=k(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>M(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),A(e.options,j,`getRightHeaderGroups`)),e.getFooterGroups=k(()=>[e.getHeaderGroups()],e=>[...e].reverse(),A(e.options,j,`getFooterGroups`)),e.getLeftFooterGroups=k(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),A(e.options,j,`getLeftFooterGroups`)),e.getCenterFooterGroups=k(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),A(e.options,j,`getCenterFooterGroups`)),e.getRightFooterGroups=k(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),A(e.options,j,`getRightFooterGroups`)),e.getFlatHeaders=k(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),A(e.options,j,`getFlatHeaders`)),e.getLeftFlatHeaders=k(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),A(e.options,j,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=k(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),A(e.options,j,`getCenterFlatHeaders`)),e.getRightFlatHeaders=k(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),A(e.options,j,`getRightFlatHeaders`)),e.getCenterLeafHeaders=k(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),A(e.options,j,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=k(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),A(e.options,j,`getLeftLeafHeaders`)),e.getRightLeafHeaders=k(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),A(e.options,j,`getRightLeafHeaders`)),e.getLeafHeaders=k(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),A(e.options,j,`getLeafHeaders`))}};function M(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=pe(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>pe(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var N=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>ue(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:k(()=>[e.getAllLeafColumns()],t=>t.map(t=>de(e,s,t,t.id)),A(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:k(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),A(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},he={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},ge=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};ge.autoRemove=e=>I(e);var _e=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};_e.autoRemove=e=>I(e);var ve=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};ve.autoRemove=e=>I(e);var ye=(e,t,n)=>e.getValue(t)?.includes(n);ye.autoRemove=e=>I(e);var be=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});be.autoRemove=e=>I(e)||!(e!=null&&e.length);var xe=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));xe.autoRemove=e=>I(e)||!(e!=null&&e.length);var Se=(e,t,n)=>e.getValue(t)===n;Se.autoRemove=e=>I(e);var Ce=(e,t,n)=>e.getValue(t)==n;Ce.autoRemove=e=>I(e);var P=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};P.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},P.autoRemove=e=>I(e)||I(e[0])&&I(e[1]);var F={includesString:ge,includesStringSensitive:_e,equalsString:ve,arrIncludes:ye,arrIncludesAll:be,arrIncludesSome:xe,equals:Se,weakEquals:Ce,inNumberRange:P};function I(e){return e==null||e===``}var we={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:D(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?F.includesString:typeof n==`number`?F.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?F.equals:Array.isArray(n)?F.arrIncludes:F.weakEquals},e.getFilterFn=()=>O(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??F[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=E(n,i?i.value:void 0);if(Te(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>E(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Te(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Te(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var Ee={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!le(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},De={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:D(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return Ee.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return Ee.extent},e.getAggregationFn=()=>{if(!e)throw Error();return O(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??Ee[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Oe(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var ke={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:D(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=k(e=>[H(t,e)],t=>t.findIndex(t=>t.id===e.id),A(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>H(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=H(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=k(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Oe(i,t,n)},A(e.options,`debugTable`,`_getOrderColumnsFn`))}},L=()=>({left:[],right:[]}),Ae={getInitialState:e=>({columnPinning:L(),...e}),getDefaultOptions:e=>({onColumnPinningChange:D(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=k(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},A(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=k(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),A(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=k(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),A(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?L():e.initialState?.columnPinning??L()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=k(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),A(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=k(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),A(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=k(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},A(e.options,`debugColumns`,`getCenterLeafColumns`))}};function je(e){return e||(typeof document<`u`?document:null)}var R={size:150,minSize:20,maxSize:2**53-1},z=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Me={getDefaultColumnDef:()=>R,getInitialState:e=>({columnSizing:{},columnSizingInfo:z(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:D(`columnSizing`,e),onColumnSizingInfoChange:D(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??R.minSize,n??e.columnDef.size??R.size),e.columnDef.maxSize??R.maxSize)},e.getStart=k(e=>[e,H(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),A(t.options,`debugColumns`,`getStart`)),e.getAfter=k(e=>[e,H(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),A(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),V(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=V(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=je(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Ne()?{passive:!1}:!1;V(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?z():e.initialState.columnSizingInfo??z())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},B=null;function Ne(){if(typeof B==`boolean`)return B;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return B=e,B}function V(e){return e.type===`touchstart`}var Pe={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:D(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=k(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),A(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=k(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],A(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>k(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),A(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function H(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Fe={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Ie={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:D(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>F.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return O(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??F[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Le={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:D(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},U=0,W=10,G=()=>({pageIndex:U,pageSize:W}),Re={getInitialState:e=>({...e,pagination:{...G(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:D(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>E(t,e)),e.resetPagination=t=>{e.setPagination(t?G():e.initialState.pagination??G())},e.setPageIndex=t=>{e.setPagination(n=>{let r=E(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?U:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??U)},e.resetPageSize=t=>{var n;e.setPageSize(t?W:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??W)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,E(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=E(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=k(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},A(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},K=()=>({top:[],bottom:[]}),ze={getInitialState:e=>({rowPinning:K(),...e}),getDefaultOptions:e=>({onRowPinningChange:D(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?K():e.initialState?.rowPinning??K()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=k(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),A(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=k(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),A(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=k(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},A(e.options,`debugRows`,`getCenterRows`))}},Be={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:D(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{q(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=k(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?J(e,n):{rows:[],flatRows:[],rowsById:{}},A(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=k(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?J(e,n):{rows:[],flatRows:[],rowsById:{}},A(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=k(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?J(e,n):{rows:[],flatRows:[],rowsById:{}},A(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return q(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Y(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return X(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return X(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},q=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>q(e,t.id,n,r,i))};function J(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Y(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Y(e,t){return t[e.id]??!1}function X(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(Y(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=X(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var Ve=/([0-9]+)/gm,He=(e,t,n)=>Je(Q(e.getValue(n)).toLowerCase(),Q(t.getValue(n)).toLowerCase()),Ue=(e,t,n)=>Je(Q(e.getValue(n)),Q(t.getValue(n))),We=(e,t,n)=>Z(Q(e.getValue(n)).toLowerCase(),Q(t.getValue(n)).toLowerCase()),Ge=(e,t,n)=>Z(Q(e.getValue(n)),Q(t.getValue(n))),Ke=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},qe=(e,t,n)=>Z(e.getValue(n),t.getValue(n));function Z(e,t){return e===t?0:e>t?1:-1}function Q(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function Je(e,t){let n=e.split(Ve).filter(Boolean),r=t.split(Ve).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var $={alphanumeric:He,alphanumericCaseSensitive:Ue,text:We,textCaseSensitive:Ge,datetime:Ke,basic:qe},Ye=[me,Pe,ke,Ae,he,we,Fe,Ie,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:D(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return $.datetime;if(typeof n==`string`&&(r=!0,n.split(Ve).length>1))return $.alphanumeric}return r?$.text:$.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return O(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??$[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},De,Le,Re,ze,Be,Me];function Xe(e){let t=[...Ye,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(E(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:k(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),A(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:k(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=fe(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},A(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:k(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),A(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:k(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),A(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:k(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),A(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function Ze(){return e=>k(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=N(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},A(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function Qe(e){let t=[],n=e=>{var r;t.push(e),(r=e.subRows)!=null&&r.length&&e.getIsExpanded()&&e.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function $e(e,t,n){return n.options.filterFromLeafRows?et(e,t,n):tt(e,t,n)}function et(e,t,n){let r=[],i={},a=n.options.maxLeafRowFilterDepth??100,o=function(e,s){s===void 0&&(s=0);let c=[];for(let u=0;u<e.length;u++){var l;let d=e[u],f=N(n,d.id,d.original,d.index,d.depth,void 0,d.parentId);if(f.columnFilters=d.columnFilters,(l=d.subRows)!=null&&l.length&&s<a){if(f.subRows=o(d.subRows,s+1),d=f,t(d)&&!f.subRows.length){c.push(d),i[d.id]=d,r.push(d);continue}if(t(d)||f.subRows.length){c.push(d),i[d.id]=d,r.push(d);continue}}else d=f,t(d)&&(c.push(d),i[d.id]=d,r.push(d))}return c};return{rows:o(e),flatRows:r,rowsById:i}}function tt(e,t,n){let r=[],i={},a=n.options.maxLeafRowFilterDepth??100,o=function(e,s){s===void 0&&(s=0);let c=[];for(let u=0;u<e.length;u++){let d=e[u];if(t(d)){var l;if((l=d.subRows)!=null&&l.length&&s<a){let e=N(n,d.id,d.original,d.index,d.depth,void 0,d.parentId);e.subRows=o(d.subRows,s+1),d=e}c.push(d),r.push(d),i[d.id]=d}}return c};return{rows:o(e),flatRows:r,rowsById:i}}function nt(){return e=>k(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let e=0;e<t.flatRows.length;e++)t.flatRows[e].columnFilters={},t.flatRows[e].columnFiltersMeta={};return t}let i=[],a=[];(n??[]).forEach(t=>{let n=e.getColumn(t.id);if(!n)return;let r=n.getFilterFn();r&&i.push({id:t.id,filterFn:r,resolvedValue:(r.resolveFilterValue==null?void 0:r.resolveFilterValue(t.value))??t.value})});let o=(n??[]).map(e=>e.id),s=e.getGlobalFilterFn(),c=e.getAllLeafColumns().filter(e=>e.getCanGlobalFilter());r&&s&&c.length&&(o.push(`__global__`),c.forEach(e=>{a.push({id:e.id,filterFn:s,resolvedValue:(s.resolveFilterValue==null?void 0:s.resolveFilterValue(r))??r})}));let l,u;for(let e=0;e<t.flatRows.length;e++){let n=t.flatRows[e];if(n.columnFilters={},i.length)for(let e=0;e<i.length;e++){l=i[e];let t=l.id;n.columnFilters[t]=l.filterFn(n,t,l.resolvedValue,e=>{n.columnFiltersMeta[t]=e})}if(a.length){for(let e=0;e<a.length;e++){u=a[e];let t=u.id;if(u.filterFn(n,t,u.resolvedValue,e=>{n.columnFiltersMeta[t]=e})){n.columnFilters.__global__=!0;break}}n.columnFilters.__global__!==!0&&(n.columnFilters.__global__=!1)}}return $e(t.rows,e=>{for(let t=0;t<o.length;t++)if(e.columnFilters[o[t]]===!1)return!1;return!0},e)},A(e.options,`debugTable`,`getFilteredRowModel`,()=>e._autoResetPageIndex()))}function rt(e){return e=>k(()=>[e.getState().pagination,e.getPrePaginationRowModel(),e.options.paginateExpandedRows?void 0:e.getState().expanded],(t,n)=>{if(!n.rows.length)return n;let{pageSize:r,pageIndex:i}=t,{rows:a,flatRows:o,rowsById:s}=n,c=r*i,l=c+r;a=a.slice(c,l);let u;u=e.options.paginateExpandedRows?{rows:a,flatRows:o,rowsById:s}:Qe({rows:a,flatRows:o,rowsById:s}),u.flatRows=[];let d=e=>{u.flatRows.push(e),e.subRows.length&&e.subRows.forEach(d)};return u.rows.forEach(d),u},A(e.options,`debugTable`,`getPaginationRowModel`))}function it(){return e=>k(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;let r=e.getState().sorting,i=[],a=r.filter(t=>e.getColumn(t.id)?.getCanSort()),o={};a.forEach(t=>{let n=e.getColumn(t.id);n&&(o[t.id]={sortUndefined:n.columnDef.sortUndefined,invertSorting:n.columnDef.invertSorting,sortingFn:n.getSortingFn()})});let s=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<a.length;n+=1){let r=a[n],i=o[r.id],s=i.sortUndefined,c=r?.desc??!1,l=0;if(s){let n=e.getValue(r.id),i=t.getValue(r.id),a=n===void 0,o=i===void 0;if(a||o){if(s===`first`)return a?-1:1;if(s===`last`)return a?1:-1;l=a&&o?0:a?s:-s}}if(l===0&&(l=i.sortingFn(e,t,r.id)),l!==0)return c&&(l*=-1),i.invertSorting&&(l*=-1),l}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),(t=e.subRows)!=null&&t.length&&(e.subRows=s(e.subRows))}),t};return{rows:s(n.rows),flatRows:i,rowsById:n.rowsById}},A(e.options,`debugTable`,`getSortedRowModel`,()=>e._autoResetPageIndex()))}function at(e,t){return e?ot(e)?_.createElement(e,t):e:null}function ot(e){return st(e)||typeof e==`function`||ct(e)}function st(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function ct(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function lt(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=_.useState(()=>({current:Xe(t)})),[r,i]=_.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}function ut({className:e,...n}){return(0,v.jsx)(ne,{"data-slot":`checkbox`,className:h(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs`,`data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary`,`focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e),...n,children:(0,v.jsx)(ie,{className:`flex items-center justify-center text-current`,children:(0,v.jsx)(t,{className:`size-3.5`})})})}var dt=e(d(),1);function ft({selectedCount:e,onRun:t,onRunNoCache:n,onPurgeCache:i,onCancel:a,isRunning:o=!1,summaryMeta:c,secondaryLabel:l,secondaryIcon:u,secondaryAriaLabel:d,actionSlot:f,onDelete:p}){if(e===0)return null;let m=!l&&!!u;return(0,dt.createPortal)((0,v.jsxs)(`div`,{className:`fixed bottom-6 left-1/2 z-50 flex w-max max-w-[calc(100vw-1rem)] -translate-x-1/2 flex-wrap items-center gap-3 rounded-md border bg-background px-4 py-3 shadow-lg sm:flex-nowrap`,children:[(0,v.jsxs)(`div`,{className:`min-w-[6.5rem] shrink-0`,children:[(0,v.jsxs)(`span`,{className:`text-sm font-medium`,children:[e,` selected`]}),c?(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]}),f??(t&&n?(0,v.jsx)(g,{onRun:t,onRunNoCache:n,onPurgeCache:i,disabled:o,size:`sm`}):null),p?(0,v.jsxs)(s,{variant:`destructive`,size:`sm`,onClick:p,disabled:o,children:[(0,v.jsx)(r,{className:`size-4`}),`Delete`]}):null,(0,v.jsx)(s,{variant:m?`ghost`:`outline`,size:m?`icon-sm`:`sm`,"aria-label":d,title:d,onClick:a,disabled:o,children:u??l??`Cancel`})]}),document.body)}export{Ze as a,it as c,lt as i,ut as n,nt as o,at as r,rt as s,ft as t};
@@ -0,0 +1 @@
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{t};
@@ -1 +1 @@
1
- import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]);export{t};
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]);export{t};
@@ -1 +1 @@
1
- import{Kt as e}from"./index-CXuVkD6-.js";var t=e(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]);export{t};
1
+ import{Gt as e}from"./index-0ktcxgei.js";var t=e(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]);export{t};
@@ -0,0 +1,3 @@
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./check-B2JBwjSe.js";import{a as n,i as r,n as i,r as a,t as o}from"./select-B9PD0Kau.js";import{n as s,r as c,t as l}from"./textarea-DK29qckP.js";import{t as u}from"./circle-x-CTm-Znd9.js";import{t as d}from"./plus-Dat6AM-D.js";import{t as f}from"./trash-2-2JD8nWR7.js";import{t as p}from"./label-D_Jf6y0L.js";import{n as m,t as h}from"./radio-group-D7bWnAJ7.js";import{t as g}from"./switch-xSMwKr9Z.js";import{i as _,n as v,r as y,t as b}from"./tabs-BKL0XmCI.js";import{$a as x,$i as S,$o as C,$r as w,A as T,Aa as E,Ai as D,Ao as O,Ar as k,Ba as A,Bi as j,Bo as ee,Br as M,Ca as te,Ci as N,Co as P,Da as ne,Di as F,Dn as re,Do as ie,Ea as ae,Ei as oe,En as se,Eo as ce,Fa as le,Fi as ue,Fo as de,Fr as I,Ga as fe,Gi as pe,Go as me,Gr as he,Gt as L,Ha as ge,Hi as R,Ho as _e,Hr as z,Ht as ve,Ia as B,Ii as ye,Io as be,Ir as xe,Ja as Se,Ji as Ce,Jo as we,Jr as Te,Ka as Ee,Ki as De,Ko as Oe,Kr as V,L as H,La as ke,Li as Ae,Lo as je,Lr as Me,Lt as Ne,Ma as Pe,Mi as Fe,Mo as Ie,Mr as Le,Na as Re,Ni as ze,No as Be,Nr as Ve,Nt as He,Oa as Ue,Oi as We,Oo as Ge,Or as Ke,Pa as U,Pi as qe,Po as Je,Pr as Ye,Qa as Xe,Qi as Ze,Qo as Qe,Qr as $e,Qs as et,R as W,Ra as tt,Ri as nt,Ro as rt,Rr as it,Sa as at,Si as ot,So as st,Ta as ct,Ti as G,To as lt,Ua as ut,Ui as dt,Uo as ft,Ur as K,Va as pt,Vi as mt,Vo as ht,Vr as gt,Vt as _t,Wa as vt,Wi as yt,Wo as bt,Wr as xt,Xa as St,Xi as Ct,Xo as wt,Xr as Tt,Xs as Et,Ya as Dt,Yi as Ot,Yo as kt,Yr as At,Yt as jt,Za as Mt,Zi as Nt,Zo as Pt,Zr as Ft,Zs as It,Zt as Lt,_a as Rt,_i as zt,_n as Bt,_o as Vt,aa as Ht,ai as Ut,an as Wt,ao as Gt,as as Kt,ba as qt,bi as Jt,bo as Yt,bs as Xt,ca as Zt,ci as Qt,co as $t,cr as en,da as tn,di as nn,dn as rn,do as an,dr as on,ea as sn,ei as cn,en as ln,eo as un,es as dn,fa as fn,fi as pn,fo as mn,ga as hn,gi as gn,go as _n,ha as vn,hi as yn,hn as bn,ho as q,i as xn,ia as Sn,ii as Cn,io as wn,is as Tn,ja as En,ji as Dn,jn as On,jo as kn,jr as An,jt as jn,ka as Mn,ki as Nn,ko as Pn,kr as Fn,la as In,li as Ln,lo as Rn,lr as zn,ma as Bn,mi as Vn,mn as Hn,mo as Un,na as Wn,ni as Gn,no as Kn,ns as qn,oa as Jn,oi as Yn,oo as Xn,or as Zn,os as Qn,pa as $n,pi as er,pn as tr,po as nr,qa as rr,qi as ir,qo as ar,qr as or,ra as sr,ri as cr,ro as lr,rr as ur,rs as dr,sa as fr,si as pr,so as mr,ss as hr,ta as gr,tc as _r,ti as vr,to as yr,tr as br,ts as xr,ua as Sr,ui as Cr,uo as wr,us as Tr,va as Er,vi as Dr,vn as Or,vo as kr,wa as Ar,wi as jr,wo as Mr,xa as Nr,xi as Pr,xo as Fr,ya as Ir,yi as Lr,yo as Rr,z as zr,za as Br,zi as Vr,zo as Hr,zr as Ur}from"./index-0ktcxgei.js";import{t as Wr}from"./use-page-title-qvGn8USj.js";import{t as Gr}from"./numeric-input-BfrTvhxN.js";import{t as Kr}from"./badge-MmnLIMMu.js";import{a as qr,i as Jr,n as Yr,o as Xr,r as Zr,t as Qr}from"./table-C-9N3ArO.js";var $r=L(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),ei=L(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),J=e(_r(),1);function ti(){return{fields:{}}}function ni(e,t,n){return n===void 0?{raw:e,fieldState:t}:{raw:e,fieldState:t,error:n}}function ri(e,t){let n={...e};return delete n[t],n}function ii(e,t,n){let r={...e.fields};for(let e of t){let t=r[e];t?.fieldState===`saving`&&(r[e]=n(e,t))}return r}function ai(e){return Object.values(e).some(e=>e.fieldState===`draft`||e.fieldState===`failed`)}function oi(e,t,n){switch(t.type){case`edit`:return{...e,fields:{...e.fields,[t.fieldKey]:t.valid?ni(t.raw,`clean`):ni(t.raw,`draft`,t.error)}};case`write-started`:{let n={...e.fields};for(let e of t.fieldKeys){let t=n[e];t!==void 0&&(n[e]=ni(t.raw,`saving`))}return{...e,fields:n,write:{id:t.id,fieldKeys:[...t.fieldKeys]}}}case`write-succeeded`:{if(e.write?.id!==t.id)return e;let r=ii(e,e.write.fieldKeys,(e,t)=>ni(t.raw,`clean`)),{write:i,failure:a,...o}=e;return{...o,fields:r,savedAt:n}}case`write-failed`:{let n=e.write?.id===t.id?e.write.fieldKeys:[],r=new Map(t.issues.map(e=>[e.fieldKey,e.message])),i=ii(e,n,(e,t)=>{let n=r.get(e);return n===void 0?ni(t.raw,`draft`):ni(t.raw,`failed`,n)}),a={fieldKeys:[...n],issues:[...t.issues],...t.message===void 0?{}:{message:t.message}},o=ri(e,`savedAt`);return e.write?.id===t.id?{...ri(o,`write`),fields:i,failure:a}:{...o,fields:i,failure:a}}case`retry`:return e;case`undo-offered`:return{...e,undo:{kind:t.kind,name:t.name,token:t.token,expiresAt:t.expiresAt}};case`undo-finished`:return ri(e,`undo`);case`drafts-restored`:{let n={...e.fields};for(let e of t.entries)n[e.fieldKey]===void 0&&(n[e.fieldKey]=ni(e.raw,`draft`,e.error));return{...e,fields:n}}case`draft-cleared`:{let{[t.fieldKey]:n,...r}=e.fields,i={...e,fields:r};return ai(r)?i:ri(i,`failure`)}}}function si(e,t,n){let r=oi(e,t,n);return r.undo!==void 0&&n>=r.undo.expiresAt?ri(r,`undo`):r}function ci(e){return Object.entries(e.fields).filter(([,e])=>e.fieldState===`draft`||e.fieldState===`failed`).map(([e])=>e)}function li(e,t){let n=Object.entries(e.fields).filter(([,e])=>e.fieldState===`failed`).map(([e])=>e),r=e=>({state:e,failingFieldKeys:n});if(e.failure!==void 0){let t=e.failure.message;return t===void 0?r(`failed`):{...r(`failed`),message:t}}let i=e.undo;if(i!==void 0&&t<i.expiresAt){let e=hr(i.kind,i.name);return{...r(`undo`),undo:{line:e,name:i.name,token:i.token}}}return e.write===void 0?ci(e).length>0?r(`draft`):e.savedAt!==void 0&&t-e.savedAt<2e3?r(`saved`):r(`idle`):r(`saving`)}var ui={"use.timeout":{step:`30s`,test:`10m`,navigation:`2m`},"use.planner":{previousStepCount:5},"use.logCapture":{console:!0,network:!0},"use.browser":{name:`chromium`,headless:!0},"use.browser.viewport":{width:1280,height:720},"services.cache":{dir:`.agent-qa/cache`},"services.accessibility":{enabled:!1}};function di(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function fi(e,t){let n=e;for(let e of t){if(!di(n)||!(e in n))return!1;n=n[e]}return di(n)}function pi(e,t){return t.length<=e.length&&t.every((t,n)=>e[n]===t)}function mi(e,t){let n=[...e],r=()=>n.filter(e=>e.op===`set`||e.op===`set-if-absent`);for(let i of e)if(i.op===`set`)for(let[e,a]of Object.entries(ui)){let o=e.split(`.`);if(!(i.path.length<=o.length||!pi(i.path,o))&&!fi(t,o))for(let[e,t]of Object.entries(a)){let i=[...o,e];r().some(e=>pi(e.path,i))||n.push({op:`set-if-absent`,path:i,value:t})}}return n}var hi=/^\d+(?:\.\d+)?(?:ms|s|m|h|d|w|y)$/;function gi(e){let t=e.trim();return hi.test(t)?{valid:!0,value:t}:{valid:!1,error:Fe}}function _i(e){return Array.isArray(e)?e.map(e=>String(e)).join(`
2
+ `):``}function vi(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``)}var yi=`agent-qa:config-drafts:`;function bi(e,t){let n=si(e.machine,t.event,t.now),r=t.locations?{...e.locations,...t.locations}:e.locations;return n===e.machine&&r===e.locations?e:{machine:n,locations:r}}function xi(){return{machine:ti(),locations:{}}}function Y(e){return JSON.stringify(e)}function Si(e){return`external:${e}`}function Ci(e){return`config-field-${encodeURIComponent(e).replace(/%/g,`_`)}`}function X(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function wi(e,t){if(typeof t==`object`){if(!Array.isArray(e))return{found:!1,value:void 0};let n=e.findIndex(e=>X(e)&&e.name===t.name);return n<0?{found:!1,value:void 0}:{found:!0,value:e[n],index:n}}return typeof t==`number`?Array.isArray(e)&&t<e.length?{found:!0,value:e[t],index:t}:{found:!1,value:void 0}:X(e)&&t in e?{found:!0,value:e[t]}:{found:!1,value:void 0}}function Ti(e,t){let n=e;for(let e of t){let t=wi(n,e);if(!t.found)return{found:!1,value:void 0};n=t.value}return{found:!0,value:n}}function Ei(e,t){return Ti(e,t).value}function Di(e,t){let n=[],r=e;for(let e of t){let t=wi(r,e);if(typeof e==`object`){if(t.index===void 0)return;n.push(t.index)}else n.push(e);r=t.value}return n}function Oi(e,t){return e===t?!0:t==null?e===``:typeof e==`string`?typeof t==`string`||typeof t==`number`||typeof t==`boolean`?String(t)===e:Array.isArray(t)&&t.every(e=>typeof e==`string`)&&t.join(`
3
+ `)===e:!1}function ki(e){return typeof e==`string`?e.length>0:typeof e==`number`?Number.isInteger(e)&&e>=0:X(e)&&Object.keys(e).length===1&&typeof e.name==`string`&&e.name.length>0}function Ai(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function ji(e,t,n){if(!X(t))return;let{segments:r,tab:i,raw:a,error:o}=t;if(!(!Array.isArray(r)||r.length===0||!r.every(ki))&&Y(r)===e&&!(typeof i!=`string`||!Fn.includes(i))&&Ai(a)&&!(o!==void 0&&typeof o!=`string`)&&!Oi(a,Ei(n,r)))return{segments:r,tab:i,raw:a,...o===void 0?{}:{error:o}}}function Mi(e,t){try{let n=globalThis.localStorage?.getItem(e);if(!n)return{};let r=JSON.parse(n);if(!X(r))return{};let i={};for(let[e,n]of Object.entries(r)){let r=ji(e,n,t);r&&(i[e]=r)}return i}catch{return{}}}function Ni(e,t){let n={};for(let e of ci(t.machine)){let r=t.locations[e],i=t.machine.fields[e];!r||!i||!Ai(i.raw)||(n[e]={segments:[...r.segments],tab:r.tab,raw:i.raw,...i.error===void 0?{}:{error:i.error}})}try{Object.keys(n).length===0?globalThis.localStorage?.removeItem(e):globalThis.localStorage?.setItem(e,JSON.stringify(n))}catch{}}function Pi(e){if(!(!(e instanceof Error)||!(`payload`in e)))return X(e.payload)?e.payload:void 0}function Fi(e){return Pi(e)?.error===`field_changed`}function Ii(e){if(!(e instanceof Error)||!(`status`in e))return!1;let{status:t}=e;return typeof t==`number`&&t<500}function Li(e){let t=Pi(e)?.message;return((typeof t==`string`?t:void 0)??(e instanceof Error?e.message:String(e))).trim().replace(/[.\s]+$/,``)}var Ri=[`use`,`browser`,`headless`],zi=[`use`,`headless`];function Bi(e,t){let n=t.path.slice(0,-1),r=t.path[t.path.length-1],i=e;for(let e of n){let n=wi(i,e);if(n.found&&(X(n.value)||Array.isArray(n.value)))i=n.value;else if(t.op!==`unset`&&typeof e==`string`&&X(i))i=i[e]={};else return t.op===`unset`}let a=wi(i,r);if(t.op===`append`){if(typeof r!=`string`||!X(i))return!1;let e=a.found?a.value:i[r]=[];if(!Array.isArray(e))return!1;e.push(t.value)}else if(Array.isArray(i)){if(a.index===void 0)return t.op===`unset`;t.op===`unset`?i.splice(a.index,1):i[a.index]=t.value}else if(X(i)&&typeof r==`string`)t.op===`unset`?delete i[r]:i[r]=t.value;else return!1;return!0}function Vi(e,t){let n=JSON.parse(JSON.stringify(e));for(let e of t)if(e.op!==`expect`){if(e.op===`move`){let t=Ti(n,e.from);if(!t.found||!Bi(n,{op:`unset`,path:e.from})||!Bi(n,{op:`set`,path:e.path,value:t.value}))return;continue}if(e.op===`set-if-absent`){if(Ti(n,e.path).found)continue;if(e.path.length===Ri.length&&e.path.every((e,t)=>e===Ri[t])&&Ti(n,zi).found||!Bi(n,{op:`set`,path:e.path,value:e.value}))return;continue}if(!Bi(n,e))return}return n}function Hi(e){let t=new Map,n=new Map,r=new Map,i=!1,a,o=!1,s,c=0,l,u=!1,d,f=!1,p,m,h=new Map,g;function _(t,n){e.dispatch({event:t,now:Date.now(),...n?{locations:n}:{}})}function v(t){m=t,e.setPin(t)}function y(e){let t=r.get(e);t!==void 0&&clearTimeout(t),r.delete(e)}function b(n){n===p||t.get(n)?.dirty||e.getState().machine.fields[n]?.fieldState===`clean`&&(t.delete(n),_({type:`draft-cleared`,fieldKey:n}))}function x(e,t){let r=e instanceof Error?e.message:String(e),i=Pi(e);if(i===void 0)return{issues:[],message:r};let a=Array.isArray(i.issues)?i.issues:[],o=[],s=[];for(let e of a){if(!X(e)||!Array.isArray(e.path)||typeof e.message!=`string`)continue;let r=JSON.stringify(e.path),i=t.find(e=>{let t=n.get(e);if(!t)return e===r;let i=Di(l?.config,t.segments);return e===r||i!==void 0&&JSON.stringify(i)===r});i===void 0?s.push(e.message):o.push({fieldKey:i,message:e.message})}let c=s[0]??(o.length===0?r:void 0);return c===void 0?{issues:o}:{issues:o,message:c}}function S(t){if(!l)return!1;let n=Vi(l.config,t);return n?(l={...l,config:n,...d===void 0?{}:{revision:d}},u&&e.setLoad({kind:`ready`,answer:l}),!0):(d=void 0,!1)}async function C(e,n,r,o=!1,u){let f=`config-write-${++c}`,p=e.map(e=>h.get(e)),m;a=new Promise(e=>{m=e}),_({type:`write-started`,id:f,fieldKeys:e});let v=e=>r?Lt(e,{undoable:!0}):Lt(e);try{let a;try{a=await v(n)}catch(t){if(u===void 0||!i||!Fi(t))throw t;if(s&&await s,await P(),!i)return!1;if(!l)throw t;if(n=u(l.config),n.length===0)return _({type:`write-succeeded`,id:f}),!0;f=`config-write-${++c}`,_({type:`write-started`,id:f,fieldKeys:e}),a=await v(n)}if(!i)return!1;d=typeof a.baseRevision==`string`&&(d===void 0||a.baseRevision!==d)?void 0:a.revision;let m=S(n),g=e.filter(e=>{let n=t.get(e);return!n||n.dirty?!1:(t.delete(e),!0)});if(_({type:`write-succeeded`,id:f}),m)for(let e of g)b(e);return o&&e.forEach((e,n)=>{t.get(e)?.dirty||h.get(e)!==p[n]||(h.delete(e),_({type:`draft-cleared`,fieldKey:e}))}),r&&a.undo&&_({type:`undo-offered`,kind:r.kind,name:r.name,token:a.undo.token,expiresAt:Date.now()+O}),!0}catch(a){if(!i)return!1;for(let n of e){let e=t.get(n);e&&!e.dirty&&e.change&&(e.held=!0)}if(u===void 0?o&&e.length>0&&(g=r===void 0?{keys:e,changes:n}:{keys:e,changes:n,undoMeta:r}):g={keys:e,changes:n,compute:u,...r===void 0?{}:{undoMeta:r}},u!==void 0&&Fi(a))return d=void 0,_({type:`write-failed`,id:f,issues:[],message:qe}),!1;let{issues:s,message:c}=x(a,e);return _(c===void 0?{type:`write-failed`,id:f,issues:s}:{type:`write-failed`,id:f,issues:s,message:c}),!1}finally{a=void 0,m(),i&&w(),i&&!a&&d===void 0&&P()}}function w(){if(a)return;let e=[...t.entries()].filter(([,e])=>e.dirty&&e.change).map(([e])=>e);if(e.length===0)return;let n=[];for(let r of e){let e=t.get(r);n.push(e.change),e.dirty=!1,e.held=!1,y(r)}C(e,l?mi(n,l.config):n)}function T(e,i,a){let o=Y(e.segments),s={segments:[...e.segments],tab:e.tab};n.set(o,s),y(o),m?.fieldKey===o&&v(void 0);let c=t.get(o)??{dirty:!1,held:!1};if(a.valid){let t=[...e.segments];c.change=`unset`in a?{op:`unset`,path:t}:{op:`set`,path:t,value:a.value},c.dirty=!0,c.held=!1,r.set(o,setTimeout(()=>{r.delete(o),w()},yr))}else delete c.change,c.dirty=!1,c.held=!1;t.set(o,c),_(a.valid?{type:`edit`,fieldKey:o,raw:i,valid:!0}:{type:`edit`,fieldKey:o,raw:i,valid:!1,error:a.error},{[o]:s})}function E(e){g?.keys.includes(e)&&(g=void 0)}function D(e,r){let i=Y(e.segments),a={segments:[...e.segments],tab:e.tab};if(n.set(i,a),y(i),t.delete(i),E(i),m?.fieldKey===i&&v(void 0),l&&Oi(r,Ei(l.config,e.segments))){h.delete(i),_({type:`draft-cleared`,fieldKey:i});return}h.set(i,r),_({type:`edit`,fieldKey:i,raw:r,valid:!1},{[i]:a})}function k(e){let n=Y(e.segments);y(n),t.delete(n),h.delete(n),E(n),m?.fieldKey===n&&v(void 0),_({type:`draft-cleared`,fieldKey:n})}function A(e){y(Y(e.segments)),w()}function j(){let e=!1;for(let n of t.values())n.held&&(n.held=!1,n.dirty=!0),n.dirty&&(e=!0);let n=g;if(g=void 0,n?.compute?ie(n.compute,n.undoMeta,!0):n&&F(n.keys,n.changes,n.undoMeta),e||a){w();return}n||(_({type:`draft-cleared`,fieldKey:``}),N())}function ee(e){let t=e?Y(e.segments):void 0;if(e&&t!==void 0&&n.set(t,{segments:[...e.segments],tab:e.tab}),t===p)return;let r=p;p=t,r!==void 0&&(m?.fieldKey===r&&v(void 0),b(r))}function M(t){let r=`${yi}${t.file?.path??``}`,i=Mi(r,t.config),a=[],o={};for(let[e,t]of Object.entries(i)){let r={segments:t.segments,tab:t.tab};n.set(e,r),o[e]=r,a.push(t.error===void 0?{fieldKey:e,raw:t.raw}:{fieldKey:e,raw:t.raw,error:t.error})}a.length>0&&_({type:`drafts-restored`,entries:a},o),e.setStorageKey(r)}function te(t){let r=e.getState().machine.fields;if(p!==void 0&&r[p]===void 0&&m?.fieldKey!==p){let e=n.get(p);e&&v({fieldKey:p,value:Ei(t.config,e.segments)})}for(let e of Object.keys(r))b(e)}async function N(t){try{let n=await Bt();if(!i)return;let r=l;l=n,d=n.revision??t,f||(f=!0,M(n)),r&&te(r),u=!0,e.setLoad({kind:`ready`,answer:n})}catch(n){if(!i||u&&!Ii(n))return;t!==void 0&&(d=t),u=!1,e.setLoad({kind:`error`,reason:Li(n)})}}function P(e){return s??=N(e).finally(()=>{s=void 0}),s}async function ne(){if(!(o||a||!i)){o=!0;try{let{revision:e}=await Or();i&&!a&&e!==d&&await P(e)}catch{}finally{o=!1}}}async function F(e,t,n){for(;a;)await a;return i?C(e,t,n,!0):!1}function re(e,t,r=[]){return F(r.map(e=>{let t=Y(e.segments);return n.set(t,{segments:[...e.segments],tab:e.tab}),E(t),t}),e,t)}async function ie(e,t,n=!1){for(;a;)await a;if(!i)return!1;if(n||d===void 0||!l){for(s&&await s,await P();a;)await a;if(!i)return!1}if(!l)return!1;let r=e(l.config);return r.length===0?(n&&_({type:`draft-cleared`,fieldKey:``}),!0):C([],r,t,!0,e)}function ae(e,t){return ie(e,t)}function oe(e,t){i&&_({type:`undo-offered`,kind:t.kind,name:t.name,token:e.token,expiresAt:Date.now()+O})}function se(e){if(!i)return;let{message:t}=x(e,[]);_(t===void 0?{type:`write-failed`,id:`explicit-action`,issues:[]}:{type:`write-failed`,id:`explicit-action`,issues:[],message:t})}async function ce(){let t=e.getState().machine.undo;if(!(!t||Date.now()>=t.expiresAt))try{if(await on(t.token),!i)return;_({type:`undo-finished`}),await N(),i&&e.setRestored({kind:t.kind,name:t.name})}catch(e){if(!i)return;_({type:`undo-finished`});let{message:t}=x(e,[]);_(t===void 0?{type:`write-failed`,id:`undo`,issues:[]}:{type:`write-failed`,id:`undo`,issues:[],message:t})}}function le(){N()}function ue(){u=!1,e.setLoad({kind:`loading`}),N()}function de(){i=!0,N()}function I(){i=!1;for(let e of[...r.keys()])y(e)}return{attach:de,detach:I,edit:T,hold:D,discard:k,settle:A,retry:j,reload:ue,refresh:le,poll:ne,runExplicit:re,runComputed:ae,offerUndo:oe,failExplicit:se,undo:ce,setFocusedField:ee}}function Ui(e){let t=Object.entries(e.machine.fields).filter(([,e])=>e.fieldState===`failed`).map(([e])=>e);for(let n of[...t,...e.machine.failure?.fieldKeys??[]]){let t=e.locations[n];if(t)return{tab:t.tab,fieldKey:n}}}function Wi(e,t){let n,r=1/0;for(let e of t){let t=Fn.indexOf(e);t<r&&(n={tab:e,fieldKey:Si(e)},r=t)}for(let t of ci(e.machine)){let i=e.locations[t];if(!i)continue;let a=Fn.indexOf(i.tab);a<r&&(n={tab:i.tab,fieldKey:t},r=a)}return n}function Gi(){let[e,t]=(0,J.useReducer)(bi,void 0,xi),[n,r]=(0,J.useState)({kind:`loading`}),[i,a]=(0,J.useState)(void 0),[o,s]=(0,J.useState)(void 0),[c,l]=(0,J.useState)(void 0),[u,d]=(0,J.useState)(()=>new Set),f=(0,J.useMemo)(()=>(e,t)=>d(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),[]),[,p]=(0,J.useState)(0),m=(0,J.useRef)(e);m.current=e;let h=(0,J.useRef)(null);h.current===null&&(h.current=Hi({dispatch:t,getState:()=>m.current,setLoad:r,setStorageKey:a,setPin:s,setRestored:({kind:e,name:t})=>l(n=>({kind:e,name:t,seq:(n?.seq??0)+1}))}));let g=h.current;(0,J.useEffect)(()=>(g.attach(),()=>g.detach()),[g]),(0,J.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&g.poll()},t=setInterval(e,vt);return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{clearInterval(t),document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e)}},[g]),(0,J.useEffect)(()=>{i!==void 0&&Ni(i,e)},[e,i]);let _=li(e.machine,Date.now()),v=u.size>0&&(_.state===`saved`||_.state===`idle`)?{..._,state:`draft`}:_,y=e.machine.savedAt,b=e.machine.undo?.expiresAt;(0,J.useEffect)(()=>{let e=[];if(v.state===`saved`&&y!==void 0&&e.push(y+rr),b!==void 0&&e.push(b),e.length===0)return;let t=setTimeout(()=>p(e=>e+1),Math.max(0,Math.min(...e)-Date.now()));return()=>clearTimeout(t)},[v.state,y,b]);let x=(0,J.useMemo)(()=>{let t=new Set(u);for(let n of ci(e.machine)){let r=e.locations[n];r&&t.add(r.tab)}return t},[e,u]),S=n.kind===`ready`?n.answer.config:void 0;return{load:n,status:v,draftTabs:x,edit:g.edit,hold:g.hold,discard:g.discard,settle:g.settle,retry:g.retry,valueOf:t=>{let n=Y(t.segments),r=e.machine.fields[n];return r?r.raw:o?.fieldKey===n?o.value:Ei(S,t.segments)},stateOf:t=>e.machine.fields[Y(t.segments)]?.fieldState??`clean`,errorOf:t=>e.machine.fields[Y(t.segments)]?.error,setFocusedField:g.setFocusedField,runExplicit:g.runExplicit,runComputed:g.runComputed,offerUndo:g.offerUndo,failExplicit:g.failExplicit,undo:g.undo,restored:c,goToFirstDraft:()=>Wi(e,u),failedFieldTarget:()=>Ui(e),reload:g.reload,refresh:g.refresh,setExternalDraft:f}}var Ki=(0,J.createContext)(null);function qi({value:e,children:t}){return(0,J.createElement)(Ki.Provider,{value:e},t)}function Z(){let e=(0,J.useContext)(Ki);if(e===null)throw Error(`useConfigAutosaveContext needs a ConfigAutosaveProvider`);return e}var Q=jt();function Ji({className:e,...t}){return(0,Q.jsx)(`div`,{"data-config-line-notice":!0,className:zr(`border border-border bg-transparent rounded-none px-4 py-3 text-sm text-muted-foreground`,e),...t})}var Yi=24;function Xi(){return window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches??!1}function Zi({left:e,right:t}){if(!(!e&&!t))return`linear-gradient(to right, ${e?`transparent, black ${Yi}px`:`black`}, ${t?`black calc(100% - ${Yi}px), transparent`:`black`})`}function Qi(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();r.left<n.left||r.width>n.width?e.scrollLeft-=n.left-r.left:r.right>n.right&&(e.scrollLeft+=r.right-n.right)}function $i({tab:e,draftTabs:t,statusSlot:n}){let r=(0,J.useRef)(null),[i,a]=(0,J.useState)({left:!1,right:!1}),o=(0,J.useCallback)(()=>{let e=r.current;if(!e)return;let t=e.scrollLeft>0,n=e.scrollLeft+e.clientWidth<e.scrollWidth;a(e=>e.left===t&&e.right===n?e:{left:t,right:n})},[]),s=(0,J.useRef)(e);s.current=e,(0,J.useLayoutEffect)(()=>{o();let e=r.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{let t=e.querySelector(`[data-config-tab="${s.current}"]`);t&&Qi(e,t),o()});return t.observe(e),()=>t.disconnect()},[o]),(0,J.useEffect)(()=>{(r.current?.querySelector(`[data-config-tab="${e}"]`))?.scrollIntoView?.({inline:`nearest`,block:`nearest`,behavior:Xi()?`auto`:`smooth`}),o()},[o,e]);let c=Zi(i);return(0,Q.jsxs)(`div`,{"data-config-tabbar":!0,className:`sticky top-0 z-10 flex items-end gap-4 border-b border-border bg-background`,children:[(0,Q.jsx)(`div`,{ref:r,"data-config-tabs-scroll":!0,"data-fade-left":i.left||void 0,"data-fade-right":i.right||void 0,onScroll:o,className:`min-w-0 flex-1 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,style:c?{maskImage:c,WebkitMaskImage:c}:void 0,children:(0,Q.jsx)(y,{variant:`line`,"data-tour-id":`tour-config-nav`,"aria-label":Cr,children:Fn.map(e=>{let n=t?.has(e)??!1;return(0,Q.jsxs)(_,{value:e,"data-config-tab":e,children:[nn[e],n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"data-tab-draft":!0,"aria-hidden":!0,className:`size-2 rounded-full bg-amber-500`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:wr})]}):null]},e)})})}),(0,Q.jsx)(`div`,{"data-config-status-slot":!0,className:`shrink-0 pb-2`,children:n})]})}var ea=300,ta=`h-auto p-0 text-xs`;function na(e){switch(e.state){case`saved`:return Xe.saved;case`draft`:return Xe.draft;case`failed`:return Xe.failed;case`undo`:return e.undo?.line??``;case`saving`:case`idle`:return``}}function ra(){return(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`text-muted-foreground`,children:mr.trim()})}function ia({fading:e}){return(0,Q.jsxs)(`span`,{"data-save-status-saved":!0,"aria-hidden":e?`true`:void 0,className:`inline-flex items-center gap-1 font-medium text-muted-foreground transition-opacity duration-300 motion-reduce:transition-none ${e?`opacity-0`:`opacity-100`}`,children:[(0,Q.jsx)(t,{className:`size-3`,"aria-hidden":`true`}),Xe.saved]})}function aa({undo:e}){let t=e.name===``?-1:e.line.indexOf(e.name);return(0,Q.jsx)(`span`,{"data-save-undo-line":!0,role:`group`,"aria-label":e.line,title:e.line,className:`inline-flex min-w-0 items-baseline whitespace-pre text-muted-foreground`,children:t<0?(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:e.line}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:e.line.slice(0,t)}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,"data-save-undo-name":!0,className:`inline-block max-w-40 truncate align-bottom`,children:e.name}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:e.line.slice(t+e.name.length)})]})})}function oa({status:e,onRetry:t,onUndo:n,onGoToDraft:r}){let i=e.state,a=(0,J.useRef)(i),[o,s]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let e=a.current;if(a.current=i,e!==`saved`||i!==`idle`){s(!1);return}s(!0);let t=setTimeout(()=>s(!1),ea);return()=>clearTimeout(t)},[i]);let l=null;switch(i){case`idle`:l=o?(0,Q.jsx)(ia,{fading:!0}):null;break;case`saving`:l=(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-medium text-muted-foreground`,children:[(0,Q.jsx)(Ne,{className:`size-3 motion-safe:animate-spin`,"aria-hidden":`true`}),Xe.saving]});break;case`saved`:l=(0,Q.jsx)(ia,{fading:!1});break;case`draft`:l=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"data-save-status-dot":!0,"aria-hidden":`true`,className:`size-2 shrink-0 rounded-full bg-amber-500`}),(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`xs`,className:`${ta} font-medium`,"aria-label":at,onClick:r,children:Xe.draft})]});break;case`failed`:l=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(c,{className:`size-3 shrink-0 text-destructive`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`font-medium text-destructive`,children:Xe.failed}),(0,Q.jsx)(ra,{}),(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`xs`,className:ta,onClick:t,children:ut})]});break;case`undo`:l=e.undo===void 0?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(aa,{undo:e.undo}),(0,Q.jsx)(ra,{}),(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`xs`,className:ta,onClick:n,children:Pn})]});break}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{"data-save-status":i,className:`flex min-h-6 min-w-0 shrink-0 items-center gap-1 pb-2 text-xs`,children:l}),(0,Q.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,children:na(e)})]})}var sa={valid:!0,unset:!0};function ca(e,t,n,r){switch(e){case`duration`:return t.trim()===``?sa:gi(t);case`number`:{if(t.trim()===``)return sa;let e=Gr(t,{label:n,...r});return e.error===null?{valid:!0,value:e.value}:{valid:!1,error:e.error}}case`list`:{let e=vi(t);return e.length===0?sa:{valid:!0,value:e}}default:return t===``?sa:{valid:!0,value:t}}}function la(e,t){return typeof t==`string`?t:e===`list`?_i(t):typeof t==`number`||typeof t==`boolean`?String(t):``}function $({field:e,label:t,kind:s,help:u,placeholder:d,defaultChecked:f=!1,unsetWhenOff:m=!1,options:h=[],number:_,parse:v}){let y=Z(),b={segments:e.segments,tab:e.tab},x=Ci(Y(e.segments)),S=`${x}-help`,C=`${x}-error`,w=y.valueOf(b),T=y.stateOf(b),E=y.errorOf(b),D=[u===void 0?null:S,E===void 0?null:C].filter(e=>e!==null).join(` `),O={"aria-invalid":E===void 0?void 0:!0,"aria-describedby":D===``?void 0:D};function k(e){y.edit(b,e,v?v(e):ca(s,e,t,_))}function A(e,t){y.edit(b,e,t),y.settle(b)}function j(){y.setFocusedField(b)}function ee(){y.setFocusedField(void 0),y.settle(b)}function M(e){e.key===`Enter`&&y.settle(b)}let te=u===void 0?null:(0,Q.jsx)(`p`,{id:S,"data-field-help":!0,className:`text-xs text-muted-foreground break-words`,children:u}),N=E===void 0?null:(0,Q.jsxs)(`p`,{id:C,"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),E]});if(s===`switch`){let n=typeof w==`boolean`?w:f;return(0,Q.jsxs)(`div`,{"data-config-field":!0,"data-field-path":e.pattern,"data-field-state":T,className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex max-w-md items-center justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Q.jsx)(p,{htmlFor:x,children:t}),te]}),(0,Q.jsx)(g,{id:x,checked:n,onCheckedChange:e=>A(e,e||!m?{valid:!0,value:e}:sa),onFocus:j,onBlur:()=>y.setFocusedField(void 0),...O})]}),N]})}let P;return P=s===`select`?(0,Q.jsxs)(o,{value:typeof w==`string`?w:``,onValueChange:e=>A(e,v?v(e):{valid:!0,value:e}),children:[(0,Q.jsx)(r,{id:x,className:`w-full max-w-md`,onFocus:j,onBlur:()=>y.setFocusedField(void 0),...O,children:(0,Q.jsx)(n,{placeholder:d})}),(0,Q.jsx)(i,{children:h.map(e=>(0,Q.jsx)(a,{value:e.value,children:e.label},e.value))})]}):s===`list`?(0,Q.jsx)(l,{id:x,className:`w-full max-w-md`,placeholder:d,value:la(s,w),onChange:e=>k(e.target.value),onFocus:j,onBlur:ee,...O}):(0,Q.jsx)(H,{id:x,type:`text`,inputMode:s===`number`?`decimal`:void 0,className:zr(s===`number`||s===`duration`?`w-32 tabular-nums`:`w-full max-w-md`),placeholder:d,value:la(s,w),onChange:e=>k(e.target.value),onFocus:j,onBlur:ee,onKeyDown:M,...O}),(0,Q.jsxs)(`div`,{"data-config-field":!0,"data-field-path":e.pattern,"data-field-state":T,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:x,children:t}),P,te,N]})}function ua({state:e}){switch(e){case`testing`:return(0,Q.jsx)(Ne,{className:`size-3.5 text-muted-foreground motion-safe:animate-spin`,"aria-hidden":`true`});case`connected`:case`connected-without-key`:return(0,Q.jsx)(_t,{className:`size-3.5 text-emerald-500`,"aria-hidden":`true`});case`failed`:return(0,Q.jsx)(u,{className:`size-3.5 text-destructive`,"aria-hidden":`true`})}}function da({state:e,sentence:t}){let n=e===`failed`?t:ce[e];return(0,Q.jsxs)(`div`,{"data-test-result":e,role:`status`,"aria-live":`polite`,className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-2 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(ua,{state:e})}),(0,Q.jsx)(`p`,{className:zr(`break-words`,e===`testing`&&`text-muted-foreground`,e===`failed`?`text-destructive`:e!==`testing`&&`text-foreground`),children:n})]})}function fa(e){return e.state===`waiting`||e.state===`awaiting-code`||e.exchanging}function pa(e){if(e.state===`failed`)return{state:`failed`,sentence:Tn(e.reason??``)};if(e.state===`timed-out`)return{state:`failed`,sentence:lr}}function ma({flow:e,label:t,variant:n,size:r,onStart:i,...a}){let o=e.state===`waiting`;return(0,Q.jsxs)(W,{type:`button`,variant:n,size:r,"aria-disabled":o?!0:void 0,onClick:()=>{!o&&!e.exchanging&&i()},...a,children:[o?(0,Q.jsx)(Ne,{className:`size-3.5 motion-safe:animate-spin`,"aria-hidden":`true`}):(0,Q.jsx)($r,{className:`size-3.5`,"aria-hidden":`true`}),o?wn:t]})}function ha({flow:e}){return(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`sm`,"data-cancel-sign-in":!0,className:`h-auto px-0 text-xs text-muted-foreground underline underline-offset-4 hover:text-foreground`,onClick:e.cancel,children:Cn})}function ga({flow:e}){let t=(0,J.useId)(),[n,r]=(0,J.useState)(``);if(e.state===`waiting`&&e.mode!==`manual-code`)return(0,Q.jsxs)(`p`,{"data-sign-in-waiting":!0,className:`flex flex-wrap items-center gap-x-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:Gt}),(0,Q.jsx)(ha,{flow:e})]});if(e.state!==`awaiting-code`)return null;async function i(){if(n.trim()===``||e.exchanging)return;let t=n;r(``),await e.submitCode(t)}return(0,Q.jsxs)(`div`,{"data-sign-in-code":!0,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:t,children:K.signInCode}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(H,{id:t,type:`password`,autoComplete:`off`,spellCheck:!1,value:n,readOnly:e.exchanging,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),i())},className:`w-full max-w-md font-mono`}),(0,Q.jsxs)(W,{type:`button`,"data-sign-in-code-connect":!0,"aria-disabled":e.exchanging?!0:void 0,onClick:()=>void i(),children:[e.exchanging?(0,Q.jsx)(Ne,{className:`size-3.5 motion-safe:animate-spin`,"aria-hidden":`true`}):null,e.exchanging?pn:gn]})]}),(0,Q.jsx)(ha,{flow:e})]})}function _a({field:e,label:t,maskedText:n}){let r=Z(),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(``),[c,l]=(0,J.useState)(!1),u=(0,J.useRef)(!1),d=(0,J.useRef)(!1),f=(0,J.useRef)(null),p=(0,J.useRef)(null);(0,J.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),(0,J.useEffect)(()=>{i?p.current?.focus():d.current&&(d.current=!1,f.current?.focus())},[i]);function m(){s(``),a(!0)}function h(){s(``),d.current=!0,a(!1)}async function g(){if(o===``||c)return;l(!0);let t=await r.runExplicit([{op:`set`,path:[...e.segments],value:o}]);u.current&&(l(!1),t&&h())}function _(e){e.key===`Enter`?(e.preventDefault(),g()):e.key===`Escape`&&(e.preventDefault(),h())}return(0,Q.jsx)(`div`,{className:`space-y-1`,children:(0,Q.jsx)(`div`,{"data-secret-field":!0,"data-field-path":e.pattern,className:`flex max-w-md items-center gap-1`,children:i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(H,{ref:p,type:`password`,autoComplete:`off`,"aria-label":t,value:o,onChange:e=>s(e.target.value),onKeyDown:_,className:`h-8 min-w-0 flex-1 font-mono`}),(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,"aria-label":dr(t),disabled:o===``||c,onClick:()=>void g(),children:x}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,"aria-label":kt(t),onClick:h,children:pe})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-sm wrap-anywhere`,children:n}),(0,Q.jsx)(W,{ref:f,type:`button`,variant:`outline`,size:`xs`,"aria-label":qn(t),onClick:m,children:ge})]})})})}var va=2e3,ya=300*1e3,ba=`the sign-in could not be completed.`;function xa(e){let t=e?.payload,n=t&&typeof t.error==`string`?t.error:void 0;return{reason:(t&&typeof t.message==`string`?t.message:void 0)??(e instanceof Error&&e.message!==``?e.message:ba),...n===void 0?{}:{code:n}}}function Sa(e={}){let[t,n]=(0,J.useState)({state:`idle`}),[r,i]=(0,J.useState)(!1),a=(0,J.useRef)(void 0),o=(0,J.useRef)(void 0),s=(0,J.useRef)(void 0),c=(0,J.useRef)(0),l=(0,J.useRef)(!1),u=(0,J.useRef)(e.onCompleted);(0,J.useEffect)(()=>{u.current=e.onCompleted});let d=(0,J.useCallback)(()=>{a.current!==void 0&&window.clearInterval(a.current),o.current!==void 0&&window.clearTimeout(o.current),a.current=void 0,o.current=void 0,l.current=!1},[]);(0,J.useEffect)(()=>()=>{c.current+=1,d(),s.current=void 0},[d]);let f=(0,J.useCallback)(e=>{d(),s.current=void 0,n({state:`completed`,created:e.created}),u.current?.({provider:e.provider,name:e.name,created:e.created})},[d]),p=(0,J.useCallback)(e=>{d(),s.current=void 0,n({state:`failed`,...e})},[d]),m=(0,J.useCallback)(async(e,t)=>{d(),c.current+=1;let r=c.current;s.current=void 0,i(!1),n({state:`waiting`});let u;try{u=await en(e,t)}catch(e){c.current===r&&p(xa(e));return}if(c.current!==r)return;let m={provider:e,name:t,sessionId:u.sessionId,created:u.created===!0};if(s.current=m,window.open(u.authorizeUrl,`_blank`,`noopener,noreferrer`),u.mode===`manual-code`){n({state:`awaiting-code`,mode:`manual-code`,created:m.created});return}n({state:`waiting`,mode:`browser-poll`,created:m.created}),a.current=setInterval(()=>{l.current||(l.current=!0,ur(e,m.sessionId).then(e=>{l.current=!1,c.current===r&&(e.status===`completed`?f(m):e.status===`error`&&p({reason:e.error??ba}))},()=>{l.current=!1}))},va),o.current=setTimeout(()=>{c.current===r&&(d(),s.current=void 0,n({state:`timed-out`,mode:`browser-poll`}))},ya)},[d,f,p]),h=(0,J.useCallback)(async e=>{let t=s.current,n=e.trim();if(t===void 0||n===``)return;let r=c.current;i(!0);try{await rn(t.provider,t.sessionId,n)}catch(e){if(c.current!==r)return;i(!1),p(xa(e));return}c.current===r&&(i(!1),f(t))},[f,p]),g=(0,J.useCallback)(()=>{c.current+=1,d(),s.current=void 0,i(!1),n({state:`idle`})},[d]);return{...t,exchanging:r,start:m,submitCode:h,cancel:g}}function Ca(e,t){return[`registry`,`llms`,{name:e},t]}function wa(e){return e.type===`bearer`||e.type===`bearer-token`}function Ta(e,t){return e.configName===t.name?e.type===`oauth`?e.provider===t.provider:wa(e)?t.provider===`anthropic-compatible`&&e.provider===`anthropic-compatible`:e.provider===t.provider:!1}function Ea(e,t,n){let r=e.find(e=>Ta(e,t));return r===void 0?`not-connected`:r.type===`oauth`?r.expires!==null&&r.expires<n?`sign-in-expired`:`signed-in`:`key-saved`}function Da(e,t){let n=e.find(e=>Ta(e,t));return n!==void 0&&wa(n)?`bearer-token`:`api-key`}function Oa(e,t){let n=e.find(e=>e.id===t),r=le[t],i=t===`openai-compatible`||t===`anthropic-compatible`,a=n?n.auth.kind===`oauth-plugin`:t in $t,o=n?n.auth.kind===`api-key`&&n.auth.optional===!0:i,s=n?n.needsBaseURL===!0:i;return{label:n?.label??r,signIn:a,keyOptional:o,needsBaseURL:s,headers:t===`anthropic-compatible`}}function ka(e,t){return $t[e]??t??``}function Aa(e){return e.success?{state:e.unauthenticated?`connected-without-key`:`connected`}:{state:`failed`,sentence:e.message??Xt(`network_error`,``)}}function ja(e){let t=e?.payload;return{state:`failed`,sentence:(t&&typeof t.message==`string`?t.message:void 0)??Xt(`network_error`,``)}}var Ma=`[secret:`;function Na(e){if(e===void 0)return;let t=Object.entries(e).filter(([,e])=>!e.includes(Ma));return t.length>0?Object.fromEntries(t):void 0}function Pa(e){let[t,n]=(0,J.useState)(void 0),r=(0,J.useRef)(0);(0,J.useEffect)(()=>()=>{r.current=NaN},[]);async function i(){let t=r.current+1;r.current=t,n({state:`testing`});let i=Na(e.providerHeaders),a;try{a=Aa(await zn({provider:e.provider,model:e.model,...e.baseURL?{baseURL:e.baseURL}:{},...i?{providerHeaders:i}:{},configName:e.name}))}catch(e){a=ja(e)}r.current===t&&n(a)}return{line:t,run:i}}function Fa(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ia(e){return t=>t.trim()===``?{valid:!1,error:e}:{valid:!0,value:t}}function La(e,t){return e.some(e=>e.toLowerCase()===t.toLowerCase())}function Ra({onSave:e,onKeep:t}){let n=(0,J.useId)(),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(!1),s=(0,J.useRef)(null);(0,J.useEffect)(()=>{s.current?.focus()},[]);async function c(){r===``||a||(o(!0),!await e(r)&&o(!1))}function l(){i(``),t()}function u(e){e.key===`Enter`?(e.preventDefault(),c()):e.key===`Escape`&&(e.preventDefault(),l())}return(0,Q.jsxs)(`div`,{"data-replace-key":!0,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:n,children:qt}),(0,Q.jsx)(H,{ref:s,id:n,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),onKeyDown:u,className:`w-full max-w-md font-mono`}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(W,{type:`button`,variant:`outline`,size:`sm`,disabled:r===``||a,onClick:()=>void c(),children:[a?(0,Q.jsx)(Ne,{className:`size-3.5 motion-safe:animate-spin`,"aria-hidden":`true`}):null,St]}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:l,children:dt})]})]})}function za({segments:e,header:t,masked:n,others:r}){let i=Z(),a=(0,J.useId)(),o=`${a}-error`,[s,l]=(0,J.useState)(t),[u,d]=(0,J.useState)(void 0),f=(0,J.useRef)(t),p=(0,J.useRef)(void 0),m=(0,J.useRef)(!1);(0,J.useEffect)(()=>()=>clearTimeout(p.current),[]);function h(){f.current=t,l(t)}async function g(n){m.current=!0;try{await i.runExplicit([{op:`move`,from:[...e,t],path:[...e,n]}])||h()}catch(e){i.failExplicit(e),h()}finally{m.current=!1}}function _(){clearTimeout(p.current),p.current=void 0;let e=f.current.trim();if(m.current||e===t){d(void 0);return}if(e===``)return d(Vr);if(La(r,e))return d(ar(e));d(void 0),g(e)}function v(e){f.current=e,l(e),clearTimeout(p.current),p.current=setTimeout(_,yr)}return(0,Q.jsxs)(`div`,{"data-model-header":t,className:`grid gap-2 sm:grid-cols-[minmax(8rem,12rem)_minmax(0,1fr)] sm:items-start`,children:[(0,Q.jsxs)(`div`,{"data-field-path":`registry.llms[].providerHeaders`,className:`space-y-1`,children:[(0,Q.jsx)(H,{id:a,type:`text`,"aria-label":Oe(t),"aria-invalid":u===void 0?void 0:!0,"aria-describedby":u===void 0?void 0:o,value:s,onChange:e=>v(e.target.value),onBlur:_,onKeyDown:e=>{e.key===`Enter`&&_()},className:`h-8 font-mono`}),u===void 0?null:(0,Q.jsxs)(`p`,{id:o,"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),u]})]}),(0,Q.jsx)(_a,{field:{segments:[...e,t],pattern:`registry.llms[].providerHeaders.*`},label:wt(t),maskedText:n})]})}function Ba({segments:e,others:t,onClose:n}){let r=Z(),i=(0,J.useId)(),a=(0,J.useId)(),[o,s]=(0,J.useState)(``),[l,u]=(0,J.useState)(``),[d,f]=(0,J.useState)(void 0),[m,h]=(0,J.useState)(!1),g=(0,J.useRef)(null);(0,J.useEffect)(()=>{g.current?.focus()},[]);async function _(){let i=o.trim();if(i===``)return f(Vr);if(La(t,i))return f(ar(i));if(!(l===``||m)){if(f(void 0),h(!0),await r.runExplicit([{op:`set`,path:[...e,i],value:l}])){n();return}h(!1)}}return(0,Q.jsxs)(`div`,{"data-header-draft":!0,className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[minmax(8rem,12rem)_minmax(0,1fr)]`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(p,{htmlFor:i,children:nt.name}),(0,Q.jsx)(H,{ref:g,id:i,type:`text`,"aria-invalid":d===void 0?void 0:!0,value:o,onChange:e=>s(e.target.value),className:`h-8 font-mono`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(p,{htmlFor:a,children:nt.value}),(0,Q.jsx)(H,{id:a,type:`password`,autoComplete:`off`,value:l,onChange:e=>u(e.target.value),className:`h-8 font-mono`})]})]}),d===void 0?null:(0,Q.jsxs)(`p`,{"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),d]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,disabled:o.trim()===``||l===``||m,onClick:()=>void _(),children:Dt}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:n,children:Nn})]})]})}function Va({model:e}){let t=Z(),n=Ca(e.name,`providerHeaders`),r=t.valueOf({segments:n,tab:`models`}),i=Fa(r)?Object.entries(r).filter(e=>typeof e[1]==`string`):[],a=i.map(([e])=>e),[o,s]=(0,J.useState)(!1),c=(0,J.useRef)(null),l=(0,J.useRef)(!1);return(0,J.useEffect)(()=>{!o&&l.current&&(l.current=!1,c.current?.focus())},[o]),(0,Q.jsxs)(`fieldset`,{"data-model-headers":!0,className:`space-y-2`,children:[(0,Q.jsx)(`legend`,{className:`text-sm font-medium`,children:K.headers}),i.map(([e,t])=>(0,Q.jsx)(za,{segments:n,header:e,masked:t,others:a.filter(t=>t!==e)},e)),o?(0,Q.jsx)(Ba,{segments:n,others:a,onClose:()=>{l.current=!0,s(!1)}}):(0,Q.jsxs)(W,{ref:c,type:`button`,variant:`ghost`,size:`xs`,onClick:()=>s(!0),children:[(0,Q.jsx)(d,{className:`size-3`,"aria-hidden":`true`}),xt]})]})}function Ha({model:e,facts:t}){let n=t=>({segments:Ca(e.name,t),tab:`models`,pattern:`registry.llms[].${t}`});return(0,Q.jsxs)(`div`,{"data-model-settings":!0,className:`space-y-4`,children:[(0,Q.jsx)($,{field:n(`model`),label:K.model,kind:`text`,parse:Ia(vn)}),t.needsBaseURL?(0,Q.jsx)($,{field:n(`baseURL`),label:K.baseUrl,help:$e,kind:`text`,parse:Ia(w)}):null,t.headers?(0,Q.jsx)(Va,{model:e}):null,(0,Q.jsx)($,{field:n(`vision`),label:Rt.vision,help:hn.vision,kind:`switch`,defaultChecked:!0}),(0,Q.jsx)($,{field:n(`contextWindow`),label:Rt.contextWindow,help:hn.contextWindow,kind:`text`,placeholder:`256k`})]})}function Ua({name:e,landing:t,isDefault:n,onMakeDefault:r}){let i=t.withoutTest?Se:rt(e);return(0,Q.jsxs)(`div`,{"data-model-landing":!0,"data-test-result":t.withoutTest?void 0:`connected`,role:`status`,"aria-live":`polite`,className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-2 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(_t,{className:zr(`size-3.5`,t.withoutTest?`text-muted-foreground`:`text-emerald-500`),"aria-hidden":`true`})}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Q.jsx)(`p`,{className:`break-words text-foreground`,children:t.becameDefault?`${i} ${cn}`:i}),t.becameDefault||n?null:(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`xs`,onClick:r,children:Zt})]})]})}function Wa({id:e,model:t,status:n,facts:r,keyType:i,isDefault:a,onMakeDefault:o,header:s,landing:c,onRemoveStart:l,onRemoveEnd:u,onCredentialHidden:d,onCredentialSaved:p}){let m=Z(),h=Pa(t),g=h.line?.state===`testing`,_=Ae[t.provider]??r.label,v=r.signIn&&n!==`not-connected`,y=!r.signIn&&n===`key-saved`,[b,x]=(0,J.useState)(!1),S=(0,J.useRef)(null),C=(0,J.useRef)(!1),w=Sa({onCompleted:()=>{p(),h.run()}}),T=fa(w)||r.signIn&&(n===`not-connected`||n===`sign-in-expired`),E=pa(w)??h.line;(0,J.useEffect)(()=>{!b&&C.current&&(C.current=!1,S.current?.focus())},[b]);function D(){C.current=!0,x(!1)}async function O(e){try{await Zn(t.name,t.provider,i,e)}catch(e){return m.failExplicit(e),!1}return D(),p(),h.run(),!0}async function k(e){d(!0),s.current?.focus();try{let n=await Wt(t.name);n.undo&&m.offerUndo(n.undo,{kind:e,name:t.name})}catch(e){d(!1),m.failExplicit(e)}}async function j(){let e=!1;l(),await m.runComputed(()=>e?[]:[{op:`unset`,path:[`registry`,`llms`,{name:t.name}]}],{kind:`delete-model`,name:t.name}),e=!0,u()}return(0,Q.jsx)(`div`,{id:e,"data-model-panel":!0,className:`grid grid-cols-[0.75rem_minmax(0,1fr)] gap-x-2 bg-muted/40 px-4 py-4`,children:(0,Q.jsxs)(`div`,{className:`col-start-2 min-w-0 space-y-4`,children:[(0,Q.jsxs)(`div`,{"data-model-connection":!0,className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-sm`,children:Hr(n,ka(t.provider,r.label),{signIn:r.signIn,keyOptional:r.keyOptional})}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(W,{type:`button`,variant:`outline`,size:`sm`,"aria-disabled":g?!0:void 0,onClick:()=>{g||h.run()},children:[g?(0,Q.jsx)(Ne,{className:`size-3.5 motion-safe:animate-spin`,"aria-hidden":`true`}):null,st]}),a?null:(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{o(),s.current?.focus()},children:Zt}),r.signIn||b?null:(0,Q.jsx)(W,{ref:S,type:`button`,variant:`outline`,size:`sm`,onClick:()=>x(!0),children:pt}),T?(0,Q.jsx)(ma,{"data-sign-in-again":!0,flow:w,label:Kn,variant:`outline`,size:`sm`,onStart:()=>void w.start(t.provider,t.name)}):null,y?(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void k(`remove-key`),children:A}):null,v?(0,Q.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void k(`sign-out`),children:[(0,Q.jsx)(ei,{className:`size-3.5`,"aria-hidden":`true`}),Xn]}):null]}),b?(0,Q.jsx)(Ra,{onSave:O,onKeep:D}):null,(0,Q.jsx)(ga,{flow:w}),E===void 0&&c!==void 0?(0,Q.jsx)(Ua,{name:t.name,landing:c,isDefault:a,onMakeDefault:()=>{o(),s.current?.focus()}}):null,E===void 0?null:(0,Q.jsx)(da,{state:E.state,sentence:E.sentence})]}),(0,Q.jsx)(Ha,{model:t,facts:r}),_===void 0?null:(0,Q.jsx)(`p`,{"data-model-fixed":!0,className:`text-xs text-muted-foreground`,children:me(_)}),(0,Q.jsx)(`div`,{"data-model-footer":!0,children:a?(0,Q.jsx)(`p`,{"data-model-default-line":!0,className:`text-xs text-muted-foreground`,children:N}):(0,Q.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`text-muted-foreground hover:text-destructive`,onClick:()=>void j(),children:[(0,Q.jsx)(f,{className:`size-3.5`,"aria-hidden":`true`}),jr]})})]})})}function Ga({model:e,status:t,facts:n,keyType:r,isDefault:i,open:a,onToggle:o,onMakeDefault:s,landing:c,...l}){let u=(0,J.useId)(),d=(0,J.useRef)(null),f=n.label===void 0?e.model:Pt(e.model,n.label),p=t===`sign-in-expired`;return(0,Q.jsxs)(`li`,{"data-model-row":!0,"data-model-name":e.name,"data-model-status":t,"data-model-default":i?`true`:void 0,"data-model-open":a?`true`:`false`,children:[(0,Q.jsxs)(`button`,{ref:d,type:`button`,"data-model-row-toggle":!0,"aria-expanded":a,"aria-controls":u,onClick:o,className:`group grid min-h-12 w-full grid-cols-[0.75rem_minmax(0,1fr)_auto] items-center gap-x-2 gap-y-1 px-4 py-2 text-left outline-none hover:bg-muted/40 focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,Q.jsx)(ve,{className:`row-span-2 size-3 text-muted-foreground group-aria-expanded:rotate-90`,"aria-hidden":`true`}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{"data-model-row-name":!0,className:`font-mono text-sm font-medium wrap-anywhere`,children:e.name}),i?(0,Q.jsx)(Kr,{variant:`outline`,"data-model-default-badge":!0,children:ot}):null]}),(0,Q.jsxs)(`span`,{"data-model-row-status":!0,className:zr(`row-span-2 flex items-center gap-1 text-xs`,p?`text-foreground`:`text-muted-foreground`),children:[p?(0,Q.jsx)(He,{className:`size-3 text-amber-500`,"aria-hidden":`true`}):null,Er[t]]}),(0,Q.jsx)(`span`,{"data-model-row-model":!0,className:`col-start-2 truncate text-xs text-muted-foreground`,title:f,children:f})]}),a?(0,Q.jsx)(Wa,{id:u,model:e,status:t,facts:n,keyType:r,isDefault:i,onMakeDefault:s,header:d,landing:c,...l}):null]})}var Ka=`agent-qa:config-add-draft:`,qa=[`api-key`,`bearer-token`],Ja={choice:e=>typeof e==`string`&&k.includes(e),baseURL:e=>typeof e==`string`,model:e=>typeof e==`string`,name:e=>typeof e==`string`,nameEdited:e=>typeof e==`boolean`,keyType:e=>typeof e==`string`&&qa.includes(e),headerNames:e=>Array.isArray(e)&&e.every(e=>typeof e==`string`),createdCredential:e=>typeof e==`boolean`},Ya=Object.keys(Ja);function Xa(e){return`${Ka}${e}`}function Za(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n={};for(let e of Ya){let r=t[e];if(r!==void 0){if(!Ja[e](r))return;n[e]=Array.isArray(r)?[...r]:r}}return n}function Qa(e){return e.toLowerCase().replace(/[^a-z0-9.-]+/g,`-`).replace(/^[-.]+/,``)}function $a(e,t){try{let n=(t??globalThis.localStorage)?.getItem(Xa(e));return n?Za(JSON.parse(n)):void 0}catch{return}}function eo(e,t,n){let r=Za(t);if(r)try{(n??globalThis.localStorage)?.setItem(Xa(e),JSON.stringify(r))}catch{}}function to(e,t){try{(t??globalThis.localStorage)?.removeItem(Xa(e))}catch{}}var no=/^[a-z0-9][a-z0-9.-]*$/;function ro(e,t){if(!no.test(e))return Ir;if(t.includes(e))return C(e)}var io=[`chatgpt-sign-in`,`claude-sign-in`];function ao(e){return e!==void 0&&io.includes(e)}function oo(e){return An[e]}function so(e,t){return ao(t)?e.find(e=>e.id===oo(t))?.defaultModel??``:``}function co(...e){let t=new Set,n=[];for(let r of e.flat())t.has(r.id)||(t.add(r.id),n.push(r));return n}function lo(e,t){if(!(e.createdCredential!==!0||e.choice===void 0||!ao(e.choice)||!e.name)&&!t.includes(e.name))return{name:e.name,provider:oo(e.choice),created:!0}}function uo(e,t,n){if(t!==void 0&&e?.choice!==t){let e=so(n,t);return{draft:{choice:t,model:e,name:Qa(e),nameEdited:!1},headers:[]}}let r=e??{};return{draft:r,headers:(r.headerNames??[]).map((e,t)=>({id:t+1,name:e,value:``}))}}function fo(e){if(Array.isArray(e))return e.flatMap(e=>{let t=e?.message;return typeof t==`string`?[{message:t}]:[]})}function po(e){let t=e?.payload;if(!t)return{};let n=fo(t.issues);return{...typeof t.error==`string`?{code:t.error}:{},...typeof t.message==`string`?{message:t.message}:{},...n===void 0?{}:{issues:n}}}function mo({id:e,name:t,label:n,help:r,error:i,pattern:a,children:o}){let s=`${e}-help`,l=`${e}-error`,u=[r===void 0?null:s,i===void 0?null:l].filter(e=>e!==null).join(` `);return(0,Q.jsxs)(`div`,{"data-add-field":t,"data-field-path":a,"data-field-state":i===void 0?`clean`:`draft`,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:e,children:n}),o({...i===void 0?{}:{"aria-invalid":!0},...u===``?{}:{"aria-describedby":u}}),r===void 0?null:(0,Q.jsx)(`p`,{id:s,"data-field-help":!0,className:`text-xs text-muted-foreground break-words`,children:r}),i===void 0?null:(0,Q.jsxs)(`p`,{id:l,"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),i]})]})}function ho({configPath:e,providers:t,existingNames:n,initialChoice:r,focusRequest:i,onConnected:a,onDiscard:o}){let s=Z(),c=(0,J.useId)(),[l]=(0,J.useState)(()=>uo($a(e),r,t)),[u,f]=(0,J.useState)(l.draft.choice),[g,_]=(0,J.useState)(l.draft.baseURL??``),[v,y]=(0,J.useState)(l.draft.model??``),[b,x]=(0,J.useState)(l.draft.name??``),[S,T]=(0,J.useState)(l.draft.nameEdited??!1),[E,D]=(0,J.useState)(l.draft.keyType??`api-key`),[O,A]=(0,J.useState)(l.headers),[j,ee]=(0,J.useState)(``),[M,te]=(0,J.useState)({}),[N,P]=(0,J.useState)(!1),[ne,F]=(0,J.useState)(void 0),[ie,ae]=(0,J.useState)(!1),[oe,se]=(0,J.useState)({}),[ce,le]=(0,J.useState)([]),[ue,de]=(0,J.useState)([]),[I,fe]=(0,J.useState)(()=>lo(l.draft,n)),[pe,me]=(0,J.useState)(!1),he=(0,J.useRef)(!1),L=Sa({onCompleted:it}),ge=(0,J.useRef)(new Map),R=(0,J.useRef)(new Map),_e=(0,J.useRef)(l.headers.length+1),z=(0,J.useRef)(!0),ve=s.setExternalDraft,B=u===void 0?void 0:oo(u),ye=B===void 0?void 0:Oa(t,B),be=ao(u),xe=be&&B!==void 0&&!t.some(e=>e.id===B),Se=u!==void 0&&!be,we=Se&&ye?.needsBaseURL===!0,Te=Se&&ye?.keyOptional===!0,Ee=u===`anthropic-compatible-key`,Oe=fa(L),V=N||Oe,ke=u!==void 0&&!xe&&He(b),Ae=Se&&ke&&!pe,Me=be&&ke,Pe=pa(L)??ne,Fe=u===`openai-compatible-key`||B!==void 0&&t.find(e=>e.id===B)?.modelAdapter===`openai-responses`,Ie=N?`connecting`:Oe?`signing-in`:Pe?.state===`failed`?`failed`:u===void 0?`choosing`:`editing`,Le=O.map(e=>e.name),Re=JSON.stringify(Le),ze=co(B===void 0?[]:oe[B]??[],ce);(0,J.useEffect)(()=>(z.current=!0,()=>{z.current=!1}),[]),(0,J.useEffect)(()=>(ve(`models`,!0),()=>ve(`models`,!1)),[ve]),(0,J.useEffect)(()=>{let e=!0;return On().then(t=>{e&&se(t.catalog??{})},()=>{}),()=>{e=!1}},[]),(0,J.useEffect)(()=>{let e=!0;return bn().then(t=>{e&&de(t.credentials??[])},()=>{}),()=>{e=!1}},[]);let Be=I?.created===!0;(0,J.useEffect)(()=>{eo(e,{...u===void 0?{}:{choice:u},baseURL:g,model:v,name:b,nameEdited:S,keyType:E,headerNames:JSON.parse(Re),...Be?{createdCredential:!0}:{}})},[e,u,g,v,b,S,E,Re,Be]),(0,J.useEffect)(()=>{!pe||!he.current||(he.current=!1,R.current.get(`key`)?.focus())},[pe]),(0,J.useEffect)(()=>{if(i!==void 0){if(i.target===`field`&&u!==void 0){let e=[`baseURL`,`model`,`key`,`name`].map(e=>R.current.get(e)).find(Boolean);if(e){e.focus();return}}((u===void 0?void 0:ge.current.get(u))??ge.current.get(k[0]))?.focus()}},[i?.seq]);function Ve(e){return ue.find(t=>t.configName===e)}function He(e){return B===void 0||e===``?!1:I?.name===e?I.provider===B:Ve(e)?.provider===B}function Ue(e,n=ue){if(B===void 0||e===``)return;let r=I?.name===e?I.provider:n.find(t=>t.configName===e)?.provider;if(!(r===void 0||r===B))return Qe(e,Oa(t,r).label??r)}function Ge(e,t={}){let r=(e,n)=>t[e]??n;switch(e){case`baseURL`:return we&&r(`baseURL`,g).trim()===``?w:void 0;case`model`:return r(`model`,v).trim()===``?vn:void 0;case`key`:return Se&&!Te&&!Ae&&r(`key`,j)===``?ir:void 0;case`name`:{let e=r(`name`,b);return ro(e,n)??Ue(e)}}}function Ke(e){let t={};for(let n of e){let e=Ge(n);e!==void 0&&(t[n]=e)}te(t);let n=e.find(e=>t[e]!==void 0);return n===void 0?!0:(R.current.get(n)?.focus(),!1)}function U(e,t){te(n=>{if(n[e]===t)return n;let r={...n};return t===void 0?delete r[e]:r[e]=t,r})}function qe(e,t){M[e]!==void 0&&U(e,Ge(e,{[e]:t}))}function Je(e){let n=k.find(t=>t===e);if(n===void 0||n===u||V)return;let r=so(t,n);L.cancel(),me(!1),f(n),_(``),y(r),ee(``),D(`api-key`),A([]),le([]),te({}),F(void 0),ae(!1),S||x(Qa(r))}function Ye(e){if(y(e),qe(`model`,e),!S){let t=Qa(e);x(t),M.name!==void 0&&U(`name`,Ge(`name`,{name:t}))}}function Xe(e){x(e),T(!0),qe(`name`,e)}function Ze(){if(!Ee)return;let e=O.map(e=>[e.name.trim(),e.value]).filter(([e,t])=>e!==``&&t!==``);return e.length>0?Object.fromEntries(e):void 0}async function et(){let e=g.trim();if(!(!Fe||e===``))try{let t=await re({baseURL:e});z.current&&le(t.models??[])}catch{}}async function tt(t){if(N||u===void 0||B===void 0||!Ke([`baseURL`,`model`,`key`,`name`]))return;(L.state===`failed`||L.state===`timed-out`)&&L.cancel();let n=Ze(),r={name:b,provider:B,model:v.trim(),...we||g.trim()!==``?{baseURL:g.trim()}:{},...n?{providerHeaders:n}:{},...Se&&!Ae&&j!==``?{credential:{type:Ee?E:`api-key`,secret:j}}:{},...t?{skipTest:!0}:{}};P(!0),F(t?void 0:{state:`testing`});let i;try{i=await ln(r)}catch(e){if(!z.current)return;P(!1);let t=po(e);if(t.code===`name_taken`||t.code===`name_invalid`){F(void 0),U(`name`,t.code===`name_taken`?C(b):Ir),R.current.get(`name`)?.focus();return}if(t.code===`credential_missing`){F(void 0),U(`key`,ir),R.current.get(`key`)?.focus();return}if(t.code===`credential_provider_conflict`){F(void 0),await rt(r.name);return}F({state:`failed`,sentence:t.message??je(t.code,t.issues)});return}if(z.current){if(i.success){to(e),a({name:b,becameDefault:i.becameDefault,withoutTest:t});return}P(!1),F({state:`failed`,sentence:i.message}),ae(!0)}}async function rt(e){let t=ue;try{t=(await bn()).credentials??t}catch{}z.current&&(de(t),U(`name`,Ue(e,t)??zt.credential_provider_conflict),R.current.get(`name`)?.focus())}function it(e){let t=I?.name===e.name&&I.created;fe({name:e.name,provider:e.provider,created:e.created||t}),tt(!1)}function at(){N||L.state===`waiting`||L.exchanging||B===void 0||Ke([`model`,`name`])&&(F(void 0),ae(!1),L.start(B,b))}async function ot(){let e=Ge(`name`);U(`name`,e);let t=I,n=b;if(!(e!==void 0||t===void 0||!t.created||t.name===n||t.provider!==B)&&Ve(n)===void 0){try{await br(t.name,n,t.provider)}catch(e){if(!z.current)return;let t=po(e);t.code!==`credential_exists`&&U(`name`,t.message??Xt(`network_error`,``));return}z.current&&fe({...t,name:n})}}function st(){L.cancel(),I?.created===!0&&!n.includes(I.name)&&Wt(I.name).catch(()=>{}),to(e),o()}function ct(){he.current=!0,me(!0)}function G(e){return t=>{t?R.current.set(e,t):R.current.delete(e)}}let lt=Ee?E===`bearer-token`?K.token:K.key:K.apiKey,ut=`${c}-models`;return(0,Q.jsxs)(`li`,{"data-model-row":!0,"data-model-draft":!0,"data-add-state":Ie,children:[(0,Q.jsxs)(`div`,{className:`grid min-h-12 grid-cols-[0.75rem_minmax(0,1fr)_auto] items-center gap-x-2 px-4 py-2`,children:[(0,Q.jsx)(`span`,{id:Ci(Si(`models`)),tabIndex:-1,className:`col-start-2 rounded-sm text-sm font-medium outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:Nr}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,"data-discard-draft":!0,onClick:st,children:We})]}),(0,Q.jsx)(`div`,{className:`grid grid-cols-[0.75rem_minmax(0,1fr)] gap-x-2 bg-muted/40 px-4 py-4`,children:(0,Q.jsxs)(`div`,{className:`col-start-2 min-w-0 space-y-4`,children:[(0,Q.jsxs)(`fieldset`,{"data-add-step":`connect`,className:`space-y-2`,children:[(0,Q.jsx)(`legend`,{className:`text-sm font-medium`,children:yn}),(0,Q.jsx)(h,{className:`gap-2`,value:u??``,onValueChange:Je,disabled:V,children:k.map(e=>{let t=`${c}-${e}`,n=`${t}-hint`;return(0,Q.jsxs)(p,{htmlFor:t,"data-connection-choice":e,className:`items-start font-normal`,children:[(0,Q.jsx)(m,{ref:t=>{t?ge.current.set(e,t):ge.current.delete(e)},id:t,value:e,"aria-describedby":n,className:`mt-0.5`}),(0,Q.jsxs)(`span`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium leading-normal`,children:Vn[e]}),(0,Q.jsx)(`span`,{id:n,className:`block text-xs text-muted-foreground break-words`,children:er[e]})]})]},e)})})]}),u===void 0?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{"data-add-step":`fields`,className:`space-y-4`,children:[we?(0,Q.jsx)(mo,{id:`${c}-base-url`,name:`baseURL`,pattern:`registry.llms[].baseURL`,label:K.baseUrl,help:$e,error:M.baseURL,children:e=>(0,Q.jsx)(H,{ref:G(`baseURL`),id:`${c}-base-url`,type:`url`,inputMode:`url`,autoComplete:`off`,placeholder:t.find(e=>e.id===B)?.baseURLPlaceholder,readOnly:V,value:g,onChange:e=>{_(e.target.value),qe(`baseURL`,e.target.value)},onBlur:()=>{U(`baseURL`,Ge(`baseURL`)),et()},className:`w-full max-w-md font-mono`,...e})}):null,(0,Q.jsx)(mo,{id:`${c}-model`,name:`model`,pattern:`registry.llms[].model`,label:K.model,error:M.model,children:e=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(H,{ref:G(`model`),id:`${c}-model`,type:`text`,autoComplete:`off`,list:ze.length>0?ut:void 0,readOnly:V,value:v,onChange:e=>Ye(e.target.value),onBlur:()=>U(`model`,Ge(`model`)),className:`w-full max-w-md font-mono`,...e}),ze.length>0?(0,Q.jsx)(`datalist`,{id:ut,children:ze.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.label},e.id))}):null]})}),Ee?(0,Q.jsx)(mo,{id:`${c}-key-type`,name:`keyType`,label:K.keyType,children:()=>(0,Q.jsx)(h,{id:`${c}-key-type`,className:`flex flex-wrap gap-4`,value:E,disabled:V,onValueChange:e=>{(e===`api-key`||e===`bearer-token`)&&D(e)},children:[`api-key`,`bearer-token`].map(e=>(0,Q.jsxs)(p,{htmlFor:`${c}-key-type-${e}`,className:`font-normal`,children:[(0,Q.jsx)(m,{id:`${c}-key-type-${e}`,value:e}),Ce[e]]},e))})}):null,Ae?(0,Q.jsxs)(`div`,{"data-existing-credential":!0,className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground break-words`,children:bt(`key`,b)}),(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`sm`,className:`h-auto px-0 text-xs`,onClick:ct,children:pt})]}):Se?(0,Q.jsx)(mo,{id:`${c}-key`,name:`key`,label:lt,help:Te?De:void 0,error:M.key,children:e=>(0,Q.jsx)(H,{ref:G(`key`),id:`${c}-key`,type:`password`,autoComplete:`off`,readOnly:V,value:j,onChange:e=>{ee(e.target.value),qe(`key`,e.target.value)},onBlur:()=>U(`key`,Ge(`key`)),className:`w-full max-w-md font-mono`,...e})}):null,Ee?(0,Q.jsxs)(`fieldset`,{"data-add-headers":!0,className:`space-y-2`,children:[(0,Q.jsx)(`legend`,{className:`text-sm font-medium`,children:K.headers}),O.map(e=>(0,Q.jsxs)(`div`,{"data-add-header":!0,className:`grid gap-2 sm:grid-cols-[minmax(8rem,12rem)_minmax(0,1fr)_auto] sm:items-center`,children:[(0,Q.jsx)(H,{type:`text`,"aria-label":nt.name,autoComplete:`off`,readOnly:V,value:e.name,onChange:t=>A(n=>n.map(n=>n.id===e.id?{...n,name:t.target.value}:n)),className:`h-8 font-mono`}),(0,Q.jsx)(H,{type:`password`,"aria-label":nt.value,autoComplete:`off`,readOnly:V,value:e.value,onChange:t=>A(n=>n.map(n=>n.id===e.id?{...n,value:t.target.value}:n)),className:`h-8 font-mono`}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>A(t=>t.filter(t=>t.id!==e.id)),children:Nn})]},e.id)),(0,Q.jsxs)(W,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>{let e=_e.current++;A(t=>[...t,{id:e,name:``,value:``}])},children:[(0,Q.jsx)(d,{className:`size-3`,"aria-hidden":`true`}),xt]})]}):null]}),(0,Q.jsx)(`div`,{"data-add-step":`name`,className:`space-y-4`,children:(0,Q.jsx)(mo,{id:`${c}-name`,name:`name`,pattern:`registry.llms[].name`,label:K.name,error:M.name,children:e=>(0,Q.jsx)(H,{ref:G(`name`),id:`${c}-name`,type:`text`,autoComplete:`off`,spellCheck:!1,readOnly:V,value:b,onChange:e=>Xe(e.target.value),onBlur:()=>void ot(),className:`w-full max-w-md font-mono`,...e})})}),(0,Q.jsxs)(`div`,{"data-add-actions":!0,className:`space-y-2`,children:[xe?(0,Q.jsx)(`p`,{"data-sign-in-plugin-missing":!0,className:`text-xs text-muted-foreground break-words`,children:Kt(Vn[u])}):Se||Me?(0,Q.jsxs)(Q.Fragment,{children:[Me?(0,Q.jsx)(`p`,{"data-existing-credential":!0,className:`text-xs text-muted-foreground break-words`,children:bt(`sign-in`,b)}):null,(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,Q.jsxs)(W,{type:`button`,"data-add-connect":!0,"aria-disabled":N?!0:void 0,onClick:()=>void tt(!1),children:[N?(0,Q.jsx)(Ne,{className:`size-3.5 motion-safe:animate-spin`,"aria-hidden":`true`}):null,N?pn:gn]})})]}):be?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,Q.jsx)(ma,{"data-add-sign-in":!0,flow:L,label:Vn[u],variant:`default`,size:`default`,onStart:at})}),(0,Q.jsx)(ga,{flow:L})]}):null,Pe===void 0?null:(0,Q.jsx)(da,{state:Pe.state,sentence:Pe.sentence}),ie&&!V?(0,Q.jsx)(W,{type:`button`,variant:`link`,size:`sm`,"data-save-without-test":!0,className:zr(`h-auto px-0 text-muted-foreground`),onClick:()=>void tt(!0),children:un}):null]})]})]})})]})}var go={segments:[`registry`,`llms`],tab:`models`},_o={segments:[`use`,`llm`],tab:`models`},vo=Symbol(`add-model`);function yo(e,t,n){if(e.has(t)===n)return e;let r=new Set(e);return n?r.add(t):r.delete(t),r}function bo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xo(e){return Array.isArray(e)?e.filter(e=>bo(e)&&typeof e.name==`string`&&typeof e.provider==`string`&&typeof e.model==`string`):[]}function So(e){return k.find(t=>t===e)}function Co(e){let t=Z(),[n,r]=et(),i=n.get(`add`),a=t.load.kind===`ready`?t.load.answer.file?.path??``:``,[o,s]=(0,J.useState)(()=>$a(a)===void 0?void 0:{focus:void 0}),c=(0,J.useRef)(0),[l,u]=(0,J.useState)(void 0),f=(0,J.useRef)(void 0),[p,m]=(0,J.useState)(void 0),[h,g]=(0,J.useState)(void 0),[_,v]=(0,J.useState)(new Set),[y,b]=(0,J.useState)(new Set),x=(0,J.useRef)(null),S=(0,J.useRef)(null),C=(0,J.useRef)(void 0),w=t.restored,E=(0,J.useRef)(w?.seq),D=xo(t.valueOf(go)),O=D.filter(e=>!_.has(e.name)),k=t.valueOf(_o),A=typeof k==`string`?k:void 0,j=D.some(e=>e.name===A);function ee(e){Array.from(x.current?.querySelectorAll(`li[data-model-row]`)??[]).find(t=>t.getAttribute(`data-model-name`)===e)?.querySelector(`[data-model-row-toggle]`)?.focus()}(0,J.useEffect)(()=>{let e=f.current;if(e===void 0)return;let t=Array.from(x.current?.querySelectorAll(`li[data-model-row]`)??[]).find(t=>t.getAttribute(`data-model-name`)===e)?.querySelector(`[data-model-row-toggle]`);t&&(f.current=void 0,t.focus())}),(0,J.useEffect)(()=>{let e=C.current;e!==void 0&&(C.current=void 0,e===vo?S.current?.focus():ee(e))});function M(e){bn().then(t=>{m(e=>e===void 0?e:{...e,credentials:t.credentials??[]}),b(t=>yo(t,e,!1))},()=>b(t=>yo(t,e,!1)))}(0,J.useEffect)(()=>{w===void 0||w.seq===E.current||(E.current=w.seq,w.kind===`delete-model`?ee(w.name):(w.kind===`sign-out`||w.kind===`remove-key`)&&M(w.name))},[w]),(0,J.useEffect)(()=>{let e=!0;return Promise.all([bn().then(e=>e.credentials??[],()=>[]),se().then(e=>e.providers??[],()=>[])]).then(([t,n])=>{e&&m({credentials:t,providers:n})}),()=>{e=!1}},[]);function te(e){t.edit(_o,e,{valid:!0,value:e}),t.settle(_o)}function N(e){c.current+=1;let t=c.current;s(n=>n===void 0?{...e===void 0?{}:{initialChoice:e},focus:{seq:t,target:e?`field`:`choice`}}:{...n,focus:{seq:t,target:`choice`}})}(0,J.useEffect)(()=>{i!==null&&(N(So(i)),r(e=>{let t=new URLSearchParams(e);return t.delete(`add`),t},{replace:!0}))},[i]);function P(){N(void 0)}function F(){C.current=vo,s(void 0)}function re(e){s(void 0),u(e),g(e.name),f.current=e.name,t.refresh(),M(e.name)}if(p===void 0)return(0,Q.jsxs)(`div`,{"data-models-loading":!0,"aria-busy":`true`,className:`col-span-full space-y-2`,children:[(0,Q.jsx)(T,{className:`h-12 w-full`}),(0,Q.jsx)(T,{className:`h-12 w-full`})]});function ie(e){let t=O.map(e=>e.name),n=t.indexOf(e);C.current=t[n+1]??t[n-1]??vo,v(t=>yo(t,e,!0))}if(O.length===0&&o===void 0)return(0,Q.jsxs)(`div`,{"data-models-empty":!0,className:`col-span-full space-y-4 rounded-md border border-border px-4 py-8`,children:[(0,Q.jsx)(`p`,{className:`text-sm`,children:ne}),(0,Q.jsxs)(W,{ref:S,type:`button`,onClick:P,children:[(0,Q.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}),he]})]});let ae=Date.now(),oe=p.credentials.filter(e=>!y.has(e.configName));return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(W,{ref:S,type:`button`,variant:`outline`,size:`sm`,"data-model-add":!0,className:`justify-self-end`,onClick:P,children:[(0,Q.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}),he]}),(0,Q.jsxs)(`div`,{"data-field-path":`use.llm`,className:`col-span-full space-y-4`,children:[j?null:(0,Q.jsxs)(`p`,{"data-no-default":!0,className:`flex items-start gap-1 text-xs text-foreground`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(He,{className:`size-3 text-amber-500`,"aria-hidden":`true`})}),Ar]}),(0,Q.jsxs)(`ul`,{ref:x,"data-model-list":!0,"data-field-list":`registry.llms`,className:`divide-y divide-border rounded-md border border-border`,children:[o===void 0?null:(0,Q.jsx)(ho,{configPath:a,providers:p.providers,existingNames:D.map(e=>e.name),...o.initialChoice===void 0?{}:{initialChoice:o.initialChoice},...o.focus===void 0?{}:{focusRequest:o.focus},onConnected:re,onDiscard:F}),O.map(e=>(0,Q.jsx)(Ga,{model:e,status:Ea(oe,e,ae),facts:Oa(p.providers,e.provider),keyType:Da(oe,e),isDefault:e.name===A,open:h===e.name,landing:l?.name===e.name?l:void 0,onToggle:()=>{u(void 0),g(t=>t===e.name?void 0:e.name)},onMakeDefault:()=>te(e.name),onRemoveStart:()=>ie(e.name),onRemoveEnd:()=>v(t=>yo(t,e.name,!1)),onCredentialHidden:t=>b(n=>yo(n,e.name,t)),onCredentialSaved:()=>M(e.name)},e.name))]})]})]})}var wo=[`step`,`test`,`navigation`],To=ui[`use.timeout`],Eo=ie;function Do(e){return{segments:[`use`,`timeout`,e],tab:`execution`,pattern:`use.timeout.${e}`}}function Oo(){return(0,Q.jsx)(Q.Fragment,{children:wo.map(e=>(0,Q.jsx)($,{field:Do(e),label:Ge[e],help:Eo[e],kind:`duration`,placeholder:To[e]},e))})}var ko=ui[`services.cache`];function Ao(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:{segments:[`use`,`cache`],tab:`execution`,pattern:`use.cache`},label:cr.enabled,kind:`switch`,defaultChecked:!0}),(0,Q.jsx)($,{field:{segments:[`services`,`cache`,`dir`],tab:`execution`,pattern:`services.cache.dir`},label:cr.dir,kind:`text`,placeholder:ko.dir})]})}var jo=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}),Mo=`max-w-[220px] whitespace-normal font-mono text-xs [overflow-wrap:anywhere]`;function No(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:jo.format(t)}function Po(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Fo(e){let t=e.services,n=Po(t)?t.authState:void 0,r=Po(n)?n.dir:void 0;return typeof r==`string`?r:void 0}function Io({config:e}){let[t,n]=(0,J.useState)({kind:`loading`}),[r,i]=(0,J.useState)(0),a=Fo(e);(0,J.useEffect)(()=>{let e=!0;return n({kind:`loading`}),Hn().then(t=>{e&&n({kind:`ready`,states:t.authStates.filter(e=>e.kind===`web`)})}).catch(()=>{e&&n({kind:`error`})}),()=>{e=!1}},[r,a]);function o(e){return e.trim()===``?a===void 0?{valid:!0,unset:!0}:{valid:!1,error:Wn}:{valid:!0,value:e.trim()}}return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)($,{field:{segments:[`services`,`authState`,`dir`],tab:`targets`,pattern:`services.authState.dir`},label:sr.dir,kind:`text`,placeholder:gr,parse:o}),(0,Q.jsx)(`div`,{"data-login-states":t.kind,children:t.kind===`loading`?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:Sn}):t.kind===`error`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-destructive`,children:Ht}),(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>i(e=>e+1),children:Br})]}):t.states.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:ae}):(0,Q.jsxs)(Qr,{children:[(0,Q.jsx)(qr,{children:(0,Q.jsxs)(Xr,{children:[(0,Q.jsx)(Jr,{children:Jn.target}),(0,Q.jsx)(Jr,{children:Jn.name}),(0,Q.jsx)(Jr,{children:Jn.captured})]})}),(0,Q.jsx)(Yr,{children:t.states.map(e=>(0,Q.jsxs)(Xr,{"data-login-state":`${e.target}:${e.name}`,children:[(0,Q.jsx)(Zr,{className:Mo,children:e.target}),(0,Q.jsx)(Zr,{className:Mo,children:e.name}),(0,Q.jsx)(Zr,{className:`${Mo} text-muted-foreground`,children:(0,Q.jsx)(`time`,{dateTime:e.capturedAt,title:e.capturedAt,children:No(e.capturedAt)})})]},`${e.target}:${e.name}`))})]})})]})}var Lo=Object.entries(sn).map(([e,t])=>({value:e,label:t}));function Ro(){return(0,Q.jsx)($,{field:{segments:[`services`,`logging`,`level`],tab:`project`,pattern:`services.logging.level`},label:S.level,kind:`select`,help:Ze.level,options:Lo,placeholder:sn.warn})}function zo(...e){let t=[`use`,`browser`,...e];return{segments:t,tab:`execution`,pattern:t.join(`.`)}}var Bo=Object.entries(Gn).map(([e,t])=>({value:e,label:t})),Vo=ui[`use.browser`],Ho=ui[`use.browser.viewport`],Uo={min:1,integer:!0};function Wo(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:zo(`name`),label:vr.name,kind:`select`,options:Bo,placeholder:Gn[Vo.name]}),(0,Q.jsx)($,{field:zo(`headless`),label:vr.headless,kind:`switch`,help:j,defaultChecked:Vo.headless}),(0,Q.jsx)($,{field:zo(`viewport`,`width`),label:vr.viewportWidth,kind:`number`,number:Uo,placeholder:String(Ho.width)}),(0,Q.jsx)($,{field:zo(`viewport`,`height`),label:vr.viewportHeight,kind:`number`,number:Uo,placeholder:String(Ho.height)})]})}function Go(e){return{segments:[`services`,`recording`,e],tab:`execution`,pattern:`services.recording.${e}`}}function Ko(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:Go(`enabled`),label:ke.enabled,kind:`switch`,help:B.enabled,defaultChecked:!0}),(0,Q.jsx)($,{field:Go(`keepFailuresOnly`),label:ke.keepFailuresOnly,kind:`switch`,help:B.keepFailuresOnly,defaultChecked:!1})]})}function qo(e){return{segments:[`services`,`accessibility`,e],tab:`execution`,pattern:`services.accessibility.${e}`}}function Jo(e){return Object.entries(e).map(([e,t])=>({value:e,label:t}))}var Yo=Jo(M),Xo=Jo(Ur);function Zo(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:qo(`enabled`),label:Me.enabled,kind:`switch`,defaultChecked:ui[`services.accessibility`].enabled}),(0,Q.jsx)($,{field:qo(`standard`),label:Me.standard,kind:`select`,options:Yo,placeholder:I}),(0,Q.jsx)($,{field:qo(`runAfter`),label:Me.runAfter,kind:`select`,options:Xo,placeholder:Ur[`every-step`]}),(0,Q.jsx)($,{field:qo(`failOnViolation`),label:Me.failOnViolation,kind:`switch`,defaultChecked:!1}),(0,Q.jsx)($,{field:qo(`disableRules`),label:Me.disableRules,kind:`list`,help:xe.disableRules,placeholder:it.disableRules}),(0,Q.jsx)($,{field:qo(`exclude`),label:Me.exclude,kind:`list`,help:xe.exclude,placeholder:it.exclude})]})}var Qo=ui[`use.planner`];function $o(e){return{segments:[`use`,`planner`,e],tab:`models`,pattern:`use.planner.${e}`}}function es(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:$o(`maxActions`),label:En.maxActions,help:E.maxActions,kind:`number`,placeholder:String(Tr.maxActions),number:{min:1,integer:!0}}),(0,Q.jsx)($,{field:$o(`maxPlanningTurns`),label:En.maxPlanningTurns,help:E.maxPlanningTurns,kind:`number`,placeholder:String(Tr.maxPlanningTurns),number:{min:1,integer:!0}}),(0,Q.jsx)($,{field:$o(`previousStepCount`),label:En.previousStepCount,help:E.previousStepCount,kind:`number`,placeholder:String(Qo.previousStepCount),number:{min:0,integer:!0}})]})}function ts({field:e,label:t,explicitKind:n,help:r,placeholder:i}){let a=Z(),o=(0,J.useRef)(null),s=(0,J.useRef)(!1),l={segments:e.segments,tab:e.tab},u=Ci(Y(e.segments)),d=`${u}-help`,f=`${u}-consequence`,m=`${u}-error`,h=a.valueOf(l),g=typeof h==`string`?h:``,_=a.stateOf(l),v=a.errorOf(l),y=_!==`clean`,b=_===`saving`;(0,J.useEffect)(()=>(s.current=!0,()=>{s.current=!1}),[]);let x=[r===void 0?null:d,y?f:null,v===void 0?null:m].filter(e=>e!==null).join(` `);async function S(){let r=[...e.segments],i=g.trim(),c=i===``?{op:`unset`,path:r}:{op:`set`,path:r,value:i};await a.runExplicit([c],{kind:n,name:t},[l])&&s.current&&o.current?.focus()}function C(){a.discard(l),o.current?.focus()}return(0,Q.jsxs)(`div`,{"data-config-field":!0,"data-field-path":e.pattern,"data-apply-state":y?`pending`:`clean`,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:u,children:t}),(0,Q.jsxs)(`div`,{className:`flex max-w-md flex-wrap items-center gap-2`,children:[(0,Q.jsx)(H,{ref:o,id:u,type:`text`,className:`min-w-0 flex-1`,placeholder:i,value:g,onChange:e=>a.hold(l,e.target.value),onFocus:()=>a.setFocusedField(l),onBlur:()=>a.setFocusedField(void 0),"aria-invalid":v===void 0?void 0:!0,"aria-describedby":x===``?void 0:x}),y?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,"data-apply-path":!0,"aria-label":Be(t),disabled:b,onClick:()=>void S(),children:At}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":we(t),disabled:b,onClick:C,children:yt})]}):null]}),r===void 0?null:(0,Q.jsx)(`p`,{id:d,"data-field-help":!0,className:`text-xs text-muted-foreground break-words`,children:r}),y?(0,Q.jsx)(`p`,{id:f,"data-apply-consequence":!0,className:`text-xs text-muted-foreground break-words`,children:Te[e.pattern]}):null,v===void 0?null:(0,Q.jsxs)(`p`,{id:m,"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),v]})]})}function ns(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:{segments:[`services`,`dashboard`,`port`],tab:`project`,pattern:`services.dashboard.port`},label:Pr.port,kind:`number`,help:Pe,placeholder:`3470`,number:{min:1,max:65535,integer:!0}}),(0,Q.jsx)($,{field:{segments:[`services`,`dashboard`,`host`],tab:`project`,pattern:`services.dashboard.host`},label:Pr.host,kind:`text`,help:Jt.host,placeholder:`127.0.0.1`}),(0,Q.jsx)(ts,{field:{segments:[`services`,`dashboard`,`dbPath`],tab:`project`,pattern:`services.dashboard.dbPath`},label:Pr.dbPath,explicitKind:`change-db-path`,placeholder:`.agent-qa/runs.db`}),(0,Q.jsx)(ts,{field:{segments:[`services`,`dashboard`,`artifactsDir`],tab:`project`,pattern:`services.dashboard.artifactsDir`},label:Pr.artifactsDir,explicitKind:`change-artifacts-dir`,placeholder:`.agent-qa/artifacts`}),(0,Q.jsx)($,{field:{segments:[`services`,`dashboard`,`baseUrl`],tab:`project`,pattern:`services.dashboard.baseUrl`},label:Pr.baseUrl,kind:`text`,help:Jt.baseUrl,placeholder:`http://localhost:3470`}),(0,Q.jsx)($,{field:{segments:[`services`,`dashboard`,`workspace`],tab:`project`,pattern:`services.dashboard.workspace`},label:Pr.workspace,kind:`text`,help:Jt.workspace})]})}function rs(e){return{segments:[`workspace`,e],tab:`project`,pattern:`workspace.${e}`}}function is(e){return t=>{let n=vi(t);return n.length===0?{valid:!1,error:e}:{valid:!0,value:n}}}var as=is(lt),os=is(Rn);function ss(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:rs(`testMatch`),label:Mr.testMatch,kind:`list`,help:P.testMatch,placeholder:`tests/**/*.yaml`,parse:as}),(0,Q.jsx)($,{field:rs(`suiteMatch`),label:Mr.suiteMatch,kind:`list`,help:P.suiteMatch,placeholder:`tests/**/*.suite.yaml`,parse:os}),(0,Q.jsx)($,{field:rs(`testPathIgnore`),label:Mr.testPathIgnore,kind:`list`,help:P.testPathIgnore,placeholder:`**/node_modules/**`})]})}function cs(e){return{segments:[`workspace`,e],tab:`project`,pattern:`workspace.${e}`}}function ls(e){return t=>t.trim()===``?{valid:!1,error:e}:{valid:!0,value:t}}var us=ls(mt),ds=ls(ze),fs=`config-files-secrets-file-label`,ps=`config-files-secrets-file-help`;function ms(e){let t=e.workspace;if(typeof t!=`object`||!t)return``;let n=t.secretsFile;return typeof n==`string`?n:``}function hs({config:e}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:cs(`hooksFile`),label:ye.hooksFile,kind:`text`,help:ue.hooksFile,placeholder:`tests/hooks.ts`,parse:us}),(0,Q.jsx)($,{field:cs(`envFile`),label:ye.envFile,kind:`text`,help:ue.envFile,placeholder:`.env.local`,parse:ds}),(0,Q.jsxs)(`div`,{role:`group`,"aria-labelledby":fs,"aria-describedby":ps,className:`space-y-2`,children:[(0,Q.jsx)(`p`,{id:fs,className:`text-sm leading-none font-medium`,children:ye.secretsFile}),(0,Q.jsx)(_a,{field:{segments:[`workspace`,`secretsFile`],pattern:`workspace.secretsFile`},label:ye.secretsFile,maskedText:ms(e)}),(0,Q.jsx)(`p`,{id:ps,className:`text-xs text-muted-foreground break-words`,children:ue.secretsFile})]})]})}var gs=[`console`,`network`],_s=ui[`use.logCapture`];function vs(){return(0,Q.jsx)(Q.Fragment,{children:gs.map(e=>(0,Q.jsx)($,{field:{segments:[`use`,`logCapture`,e],tab:`execution`,pattern:`use.logCapture.${e}`},label:fr[e],kind:`switch`,defaultChecked:_s[e]},e))})}function ys(e){return{segments:[`use`,e],tab:`execution`,pattern:`use.${e}`}}var bs={min:1,integer:!0};function xs(e){let t=e.trim();return t===``?{valid:!0,unset:!0}:{valid:!0,value:t}}function Ss(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:ys(`parallel`),label:Ee.parallel,kind:`switch`,help:fe.parallel,defaultChecked:!1}),(0,Q.jsx)($,{field:ys(`workers`),label:Ee.workers,kind:`number`,number:bs,help:fe.workers,placeholder:`3`}),(0,Q.jsx)($,{field:ys(`buildTag`),label:Ee.buildTag,kind:`text`,help:fe.buildTag,parse:xs})]})}var Cs={segments:[`use`,`mobile`,`appState`],tab:`targets`},ws=Object.keys($n).map(e=>({value:e,label:$n[e]}));function Ts(e){let t=typeof Z().valueOf(Cs)!=`string`;return(0,Q.jsx)($,{field:{...Cs,pattern:`use.mobile.appState`},label:Bn.appState,kind:`select`,options:ws,help:t?fn:void 0})}function Es(){return(0,Q.jsx)(ts,{field:{segments:[`knowledge`,`dir`],tab:`project`,pattern:`knowledge.dir`},label:Ct.dir,explicitKind:`change-knowledge-dir`,help:Ot.dir,placeholder:`agent-qa-knowledge`})}function Ds(e){return{segments:[`services`,`vision`,e],tab:`models`,pattern:`services.vision.${e}`}}function Os(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:Ds(`screenshotSize`),label:Ie.screenshotSize,help:kn.screenshotSize,kind:`text`,placeholder:`256k`}),(0,Q.jsx)($,{field:Ds(`effectiveResolution`),label:Ie.effectiveResolution,help:kn.effectiveResolution,kind:`number`,placeholder:`768`,number:{min:1,integer:!0}})]})}function ks(e,t){return Array.from(e?.querySelectorAll(`[data-${t}]`)??[])}function As(e){return e?.querySelector(`[data-row-header]`)??null}function js(e,t,n){let r=As(ks(e,t).find(e=>e.getAttribute(`data-${t}`)===n));return r?.focus(),r!==null}function Ms({kind:e,attr:t,list:n,addButton:r}){let i=Z(),[a,o]=(0,J.useState)(new Set),s=i.restored,c=(0,J.useRef)(s?.seq);(0,J.useEffect)(()=>{s===void 0||s.seq===c.current||(c.current=s.seq,s.kind===e&&js(n.current,t,s.name))},[s,e,t,n]);function l(e){let i=ks(n.current,t),a=i.findIndex(n=>n.getAttribute(`data-${t}`)===e);(As(i[a+1])??As(i[a-1])??r.current)?.focus()}async function u(t,n){l(t),o(e=>new Set(e).add(t)),await i.runExplicit([{op:`unset`,path:n}],{kind:e,name:t}),o(e=>{let n=new Set(e);return n.delete(t),n})}return{removing:a,remove:u}}function Ns(e,t,n){let r=(0,J.useRef)(void 0);return(0,J.useEffect)(()=>{r.current!==void 0&&js(e.current,t,r.current)&&(r.current=void 0)}),i=>{r.current=i,n.includes(i)&&js(e.current,t,i)}}function Ps({attr:e,name:t,summary:n,open:r,onToggle:i,deleteName:a,onDelete:o,children:s}){let c=(0,J.useId)();return(0,Q.jsxs)(`li`,{[`data-${e}`]:t,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,"data-row-header":!0,"aria-expanded":r,"aria-controls":r?c:void 0,onClick:i,className:`grid min-h-12 min-w-0 flex-1 grid-cols-[0.75rem_minmax(0,1fr)] gap-x-2 rounded-sm py-2 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] items-center text-sm`,children:(0,Q.jsx)(ve,{className:zr(`size-3 text-muted-foreground`,r&&`rotate-90`),"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsx)(`span`,{className:`block font-mono text-sm font-medium wrap-anywhere`,children:t}),(0,Q.jsx)(`span`,{className:`block text-xs text-muted-foreground wrap-anywhere`,children:n})]})]}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":a,className:`mt-2 hover:text-destructive`,onClick:o,children:(0,Q.jsx)(f,{className:`size-3.5`,"aria-hidden":`true`})})]}),r?(0,Q.jsx)(`div`,{id:c,className:`grid grid-cols-[0.75rem_minmax(0,1fr)] gap-x-2 pb-4`,children:(0,Q.jsx)(`div`,{className:`col-start-2 min-w-0 space-y-4`,children:s})}):null]})}function Fs(e,t){try{let n=JSON.parse(e);if(typeof n!=`object`||!n||Array.isArray(n))return;let r={...t};for(let e of Object.keys(t)){let t=n[e];typeof t==`string`&&(r[e]=t)}return r}catch{return}}function Is(e,t){let n=Z(),r=n.stateOf(e)===`clean`?void 0:n.valueOf(e);return{restored:typeof r==`string`?Fs(r,t):void 0,hold:t=>n.hold(e,JSON.stringify(t)),discard:()=>n.discard(e)}}function Ls(e){let t=e.relatedTarget;return t instanceof Element?!e.currentTarget.contains(t)&&t.closest(`[data-radix-popper-content-wrapper]`)===null:!0}function Rs({id:e,name:t,label:n,value:r,onChange:i,onEnter:a,error:o,placeholder:s,mono:l,autoFocus:u}){let d=`${e}-error`;return(0,Q.jsxs)(`div`,{"data-draft-field":t,className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:e,children:n}),(0,Q.jsx)(H,{id:e,name:t,type:`text`,autoComplete:`off`,autoFocus:u,className:zr(`w-full max-w-md`,l&&`font-mono`),placeholder:s,value:r,"aria-invalid":o===void 0?void 0:!0,"aria-describedby":o===void 0?void 0:d,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a())}}),o===void 0?null:(0,Q.jsxs)(`p`,{id:d,"data-field-error":!0,className:`flex items-start gap-1 text-xs text-destructive break-words`,children:[(0,Q.jsx)(`span`,{className:`flex h-[1lh] shrink-0 items-center`,children:(0,Q.jsx)(c,{className:`size-3`,"aria-hidden":`true`})}),o]})]})}function zs(){let[e,t]=(0,J.useState)(new Set);return{isOpen:t=>e.has(t),toggle:e=>t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}}var Bs=[{name:`Linear`,slug:`linear`},{name:`Vercel`,slug:`vercel`},{name:`Notion`,slug:`notion`},{name:`Stripe`,slug:`stripe`},{name:`GitHub`,slug:`github`},{name:`Slack`,slug:`slack`},{name:`Figma`,slug:`figma`},{name:`Shopify`,slug:`shopify`},{name:`Datadog`,slug:`datadog`},{name:`Supabase`,slug:`supabase`}];Bs.map(e=>e.name),Bs.map(e=>e.slug);function Vs(e){let t=String(e),n=0;for(let e=0;e<t.length;e+=1)n=n*31+t.charCodeAt(e)>>>0;return n}function Hs(e){return Bs[Vs(e)%Bs.length]}function Us(e){return Hs(e).slug}var Ws={segments:[`registry`,`targets`],tab:`targets`},Gs=/^[a-z][a-z0-9-]*[a-z0-9]$/,Ks=Us(`dashboard.config.targets.product`),qs={valid:!0,unset:!0},Js=Object.keys(kr).map(e=>({value:e,label:kr[e]})),Ys=Object.keys(nr).map(e=>({value:e,label:nr[e]})),Xs=Object.keys(mn);function Zs(e){return Object.hasOwn(nr,e)}function Qs(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $s(e){let t=e.registry,n=Qs(t)?t.targets:void 0;return Qs(n)?Object.entries(n).map(([e,t])=>[e,Qs(t)?t:{}]):[]}function ec(e){return typeof e==`string`&&e in kr}function tc(e){return e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function nc(e){return/\.\./.test(e)||/[/\\]/.test(e)||e.includes(`\0`)}function rc(e){return e.trim()===``?qs:{valid:!0,value:e.trim()}}function ic(e){return e.trim()===``?qs:nc(e.trim())?{valid:!1,error:Rr}:{valid:!0,value:e.trim()}}function ac(e){return e.trim()===``?qs:tc(e.trim())?{valid:!1,error:an}:{valid:!0,value:e.trim()}}function oc(e){return e.trim()===``?{valid:!1,error:Yt}:{valid:!0,value:e.trim()}}function sc(e){let t=ec(e.platform)?e.platform:`web`,n=[kr[t]];if(t===`web`)return e.url&&n.push(e.url),n.join(` · `);if(t===`ios`&&e.bundleId&&n.push(e.bundleId),t===`android`){let t=[e.appPackage,e.appActivity].filter(Boolean).join(` / `);t&&n.push(t)}return e.app?.path&&n.push(`App: ${e.app.path}`),n.join(` · `)}function cc({config:e}){let t=Is(Ws,uc),[n,r]=(0,J.useState)(()=>t.restored!==void 0),i=(0,J.useRef)(null),a=(0,J.useRef)(null),o=(0,J.useRef)(!1),s=zs(),{removing:c,remove:l}=Ms({kind:`delete-target`,attr:`target`,list:i,addButton:a}),u=$s(e),f=u.filter(([e])=>!c.has(e)),p=Ns(i,`target`,f.map(([e])=>e));return(0,J.useEffect)(()=>{!n&&o.current&&(o.current=!1,a.current?.focus())},[n]),(0,Q.jsxs)(`div`,{ref:i,"data-field-list":`registry.targets`,className:`space-y-3`,children:[f.length>0?(0,Q.jsx)(`ul`,{className:`divide-y divide-border`,children:f.map(([e,t])=>(0,Q.jsx)(Ps,{attr:`target`,name:e,summary:sc(t),open:s.isOpen(e),onToggle:()=>s.toggle(e),deleteName:ee(`delete-target`,e),onDelete:()=>void l(e,[`registry`,`targets`,e]),children:(0,Q.jsx)(lc,{name:e,target:t})},e))}):null,n?(0,Q.jsx)(pc,{initial:t.restored??uc,takenNames:new Set(u.map(([e])=>e)),onHold:t.hold,onDiscard:()=>{t.discard(),o.current=!0,r(!1)},onAdded:e=>{r(!1),p(e)}}):null,n?null:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[f.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:Ue}):null,(0,Q.jsxs)(W,{ref:a,type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!0),children:[(0,Q.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}),or]})]})]})}function lc({name:e,target:t}){let n=Z(),r=(...t)=>({segments:[`registry`,`targets`,e,...t],tab:`targets`}),i=r(`platform`),a=n.valueOf(i),o=ec(a)?a:ec(t.platform)?t.platform:`web`,s=typeof t.url==`string`&&t.url!==``;return(0,J.useEffect)(()=>{!s||n.stateOf(i)!==`draft`||n.valueOf(i)!==`web`||(n.edit(i,`web`,{valid:!0,value:`web`}),n.settle(i))},[s]),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:{...i,pattern:`registry.targets.*.platform`},label:q.platform,kind:`select`,options:Js,parse:e=>e===`web`&&!s?{valid:!1,error:Fr}:{valid:!0,value:e}}),o===`web`?(0,Q.jsx)($,{field:{...r(`url`),pattern:`registry.targets.*.url`},label:q.url,kind:`text`,placeholder:`https://staging.example.com`,parse:oc}):null,o===`ios`?(0,Q.jsx)($,{field:{...r(`bundleId`),pattern:`registry.targets.*.bundleId`},label:q.bundleId,kind:`text`,placeholder:`com.example.ios`,parse:rc}):null,o===`android`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:{...r(`appPackage`),pattern:`registry.targets.*.appPackage`},label:q.appPackage,kind:`text`,placeholder:`com.example.android`,parse:rc}),(0,Q.jsx)($,{field:{...r(`appActivity`),pattern:`registry.targets.*.appActivity`},label:q.appActivity,kind:`text`,placeholder:`.MainActivity`,parse:rc})]}):null,o===`web`?null:(0,Q.jsx)($,{field:{...r(`app`,`path`),pattern:`registry.targets.*.app.path`},label:q.appPath,kind:`text`,placeholder:`apps/app.apk`,parse:ac}),(0,Q.jsx)($,{field:{...r(`product`),pattern:`registry.targets.*.product`},label:q.product,kind:`text`,placeholder:Ks,parse:ic}),(0,Q.jsx)($,{field:{...r(`environment`),pattern:`registry.targets.*.environment`},label:q.environment,kind:`select`,placeholder:Un,options:Ys})]})}var uc={name:``,platform:`web`,url:``,bundleId:``,appPackage:``,appActivity:``,environment:``};function dc(e,t){let n={},r=e.name.trim();return r===``?n.name=Vt:Gs.test(r)?t.has(r)&&(n.name=Qn(r)):n.name=_n,e.platform===`web`&&e.url.trim()===``&&(n.url=Yt),n}function fc(e){let t=ec(e.platform)?e.platform:`web`,n=t=>e[t].trim()===``?{}:{[t]:e[t].trim()},r=Zs(e.environment)?{environment:e.environment}:{};return t===`web`?{platform:t,...n(`url`),...r}:t===`ios`?{platform:t,...n(`bundleId`),...r}:{platform:t,...n(`appPackage`),...n(`appActivity`),...r}}function pc({initial:e,takenNames:t,onHold:s,onDiscard:c,onAdded:l}){let u=Z(),[d,f]=(0,J.useState)(e),[g,_]=(0,J.useState)(!1),v=(0,J.useRef)(!1),y=(0,J.useId)(),b=g?dc(d,t):{},x=ec(d.platform)?d.platform:`web`;(0,J.useEffect)(()=>{s(e)},[]);function S(e){f(e),s(e)}async function C(e,n){if(n&&_(!0),v.current||Object.keys(dc(e,t)).length>0)return;v.current=!0;let r=e.name.trim(),i=await u.runExplicit([{op:`set`,path:[`registry`,`targets`,r],value:fc(e)}],void 0,[Ws]);v.current=!1,i&&l(r)}function w(e){Ls(e)&&C(d,!0)}let T=(e,t,n,r={})=>(0,Q.jsx)(Rs,{id:r.id??`${y}-${e}`,name:e,label:t,value:d[e],placeholder:n,mono:e===`name`,autoFocus:r.autoFocus,error:b[e],onChange:t=>S({...d,[e]:t}),onEnter:()=>void C(d,!0)});return(0,Q.jsxs)(`div`,{"data-target-draft":!0,onBlur:w,className:`space-y-4 border-t border-border pt-3`,children:[T(`name`,q.name,`staging-web`,{autoFocus:!0,id:Ci(Y(Ws.segments))}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:`${y}-platform`,children:q.platform}),(0,Q.jsxs)(o,{value:x,onValueChange:e=>{let t={...d,platform:e};S(t),C(t,!1)},children:[(0,Q.jsx)(r,{id:`${y}-platform`,className:`w-full max-w-md`,children:(0,Q.jsx)(n,{})}),(0,Q.jsx)(i,{children:Js.map(e=>(0,Q.jsx)(a,{value:e.value,children:e.label},e.value))})]})]}),x===`web`?T(`url`,q.url,`https://staging.example.com`):null,x===`ios`?T(`bundleId`,q.bundleId,`com.example.ios`):null,x===`android`?(0,Q.jsxs)(Q.Fragment,{children:[T(`appPackage`,q.appPackage,`com.example.android`),T(`appActivity`,q.appActivity,`.MainActivity`)]}):null,(0,Q.jsxs)(`fieldset`,{"data-target-environment":!0,className:`space-y-2`,children:[(0,Q.jsx)(`legend`,{className:`text-sm font-medium`,children:q.environment}),(0,Q.jsx)(h,{className:`flex flex-wrap gap-x-6 gap-y-2`,value:Zs(d.environment)?d.environment:`undeclared`,onValueChange:e=>{let t={...d,environment:Zs(e)?e:``};S(t),C(t,!1)},children:Xs.map(e=>{let t=`${y}-environment-${e}`;return(0,Q.jsxs)(p,{htmlFor:t,"data-environment-choice":e,className:`font-normal`,children:[(0,Q.jsx)(m,{id:t,value:e}),mn[e]]},e)})})]}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:c,children:Dn})]})}var mc=[{value:`android`,label:kr.android},{value:`ios`,label:kr.ios}],hc={android:[`avd`,`serial`,`appPackage`,`appActivity`,`automationName`,`browserName`,`platformVersion`],ios:[`udid`,`bundleId`,`automationName`,`platformVersion`]},gc={segments:[`registry`,`devices`],tab:`targets`},_c=`registry.devices.*.match.*`;function vc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yc(e){let t=e.registry,n=vc(t)?t.devices:void 0;return vc(n)?Object.entries(n).map(([e,t])=>[e,vc(t)?t:{}]):[]}function bc(e){return e===`ios`?`ios`:`android`}function xc(e){return kr[bc(e.platform)]}function Sc(e){return typeof e==`string`?e:e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function Cc({config:e}){let t=Is(gc,Dc),[n,r]=(0,J.useState)(()=>t.restored!==void 0),i=(0,J.useRef)(null),a=(0,J.useRef)(null),o=(0,J.useRef)(!1),s=zs(),{removing:c,remove:l}=Ms({kind:`delete-device`,attr:`device`,list:i,addButton:a}),u=yc(e),f=u.filter(([e])=>!c.has(e)),p=Ns(i,`device`,f.map(([e])=>e));return(0,J.useEffect)(()=>{!n&&o.current&&(o.current=!1,a.current?.focus())},[n]),(0,Q.jsxs)(`div`,{ref:i,"data-field-list":`registry.devices`,className:`space-y-3`,children:[f.length>0?(0,Q.jsx)(`ul`,{className:`divide-y divide-border`,children:f.map(([e,t])=>(0,Q.jsx)(Ps,{attr:`device`,name:e,summary:xc(t),open:s.isOpen(e),onToggle:()=>s.toggle(e),deleteName:ee(`delete-device`,e),onDelete:()=>void l(e,[`registry`,`devices`,e]),children:(0,Q.jsx)(wc,{name:e,device:t})},e))}):null,n?(0,Q.jsx)(kc,{initial:t.restored??Dc,takenNames:new Set(u.map(([e])=>e)),onHold:t.hold,onDiscard:()=>{t.discard(),o.current=!0,r(!1)},onAdded:e=>{r(!1),p(e)}}):null,n?null:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[f.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:ct}):null,(0,Q.jsxs)(W,{ref:a,type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!0),children:[(0,Q.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}),z]})]})]})}function wc({name:e,device:t}){let n=Z(),[r,i]=(0,J.useState)(new Set),a=(...t)=>({segments:[`registry`,`devices`,e,...t],tab:`targets`}),o=vc(t.match)?t.match:{},s=Object.keys(o).filter(e=>!r.has(e));async function c(t){i(e=>new Set(e).add(t)),await n.runExplicit([{op:`unset`,path:[`registry`,`devices`,e,`match`,t]}]),i(e=>{let n=new Set(e);return n.delete(t),n})}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:{...a(`platform`),pattern:`registry.devices.*.platform`},label:G.platform,kind:`select`,options:mc}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[s.length>0?(0,Q.jsx)(`dl`,{"data-field-list":`registry.devices.*.match`,className:`space-y-2`,children:s.map(t=>(0,Q.jsxs)(`div`,{className:`grid items-center gap-1 sm:grid-cols-[minmax(8rem,auto)_1fr] sm:gap-3`,children:[(0,Q.jsx)(`dt`,{className:`font-mono text-xs text-muted-foreground wrap-anywhere`,children:t}),(0,Q.jsxs)(`dd`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(_a,{field:{segments:[`registry`,`devices`,e,`match`,t],pattern:_c},label:_e(e,t),maskedText:Sc(o[t])})}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":xr(e,t),className:`hover:text-destructive`,onClick:()=>void c(t),children:(0,Q.jsx)(jn,{className:`size-3.5`,"aria-hidden":`true`})})]})]},t))}):null,(0,Q.jsx)(Ec,{device:e,existingKeys:Object.keys(o),platform:bc(t.platform)})]})]})}var Tc={key:``,value:``};function Ec({device:e,existingKeys:t,platform:n}){let r=Z(),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(Tc),[c,l]=(0,J.useState)(!1),u=(0,J.useRef)(null),f=(0,J.useRef)(!1),p=(0,J.useId)(),m=o.key.trim(),h=hc[n],g=m!==``&&o.value!==``&&!t.includes(m)&&h.includes(m);(0,J.useEffect)(()=>{!i&&f.current&&(f.current=!1,u.current?.focus())},[i]);function _(){s(Tc),f.current=!0,a(!1)}async function v(){if(!g||c)return;l(!0);let t={op:`set`,path:[`registry`,`devices`,e,`match`,m],value:o.value},n=await r.runExplicit([t]);l(!1),n&&_()}function y(e){e.key===`Enter`?(e.preventDefault(),v()):e.key===`Escape`&&(e.preventDefault(),_())}if(!i)return(0,Q.jsxs)(W,{ref:u,type:`button`,variant:`ghost`,size:`xs`,onClick:()=>a(!0),children:[(0,Q.jsx)(d,{className:`size-3`,"aria-hidden":`true`}),V]});let b=kr[n];return(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(0,Q.jsx)(H,{type:`text`,autoComplete:`off`,autoFocus:!0,"aria-label":G.key,"aria-describedby":p,placeholder:G.key,value:o.key,onChange:e=>s({...o,key:e.target.value}),onKeyDown:y,className:`h-8 w-36 font-mono`}),(0,Q.jsx)(H,{type:`password`,autoComplete:`off`,"aria-label":G.value,placeholder:G.value,value:o.value,onChange:e=>s({...o,value:e.target.value}),onKeyDown:y,className:`h-8 min-w-0 flex-1 font-mono`}),(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,disabled:!g||c,onClick:()=>void v(),children:Mt}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:_,children:D})]}),(0,Q.jsx)(`p`,{id:p,className:`text-xs text-muted-foreground break-words`,children:ht(b,h)})]})}var Dc={name:``,platform:`android`};function Oc(e,t){let n=e.name.trim();if(n===``)return oe;if(t.has(n))return ft(n)}function kc({initial:e,takenNames:t,onHold:s,onDiscard:c,onAdded:l}){let u=Z(),[d,f]=(0,J.useState)(e),[m,h]=(0,J.useState)(!1),g=(0,J.useRef)(!1),_=(0,J.useId)(),v=m?Oc(d,t):void 0;(0,J.useEffect)(()=>{s(e)},[]);function y(e){f(e),s(e)}async function b(e,n){if(n&&h(!0),g.current||Oc(e,t)!==void 0)return;g.current=!0;let r=e.name.trim(),i=await u.runExplicit([{op:`set`,path:[`registry`,`devices`,r],value:{platform:bc(e.platform)}}],void 0,[gc]);g.current=!1,i&&l(r)}function x(e){Ls(e)&&b(d,!0)}function S(e,t,s){return(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(p,{htmlFor:`${_}-${e}`,children:t}),(0,Q.jsxs)(o,{value:d[e],onValueChange:t=>{let n={...d,[e]:t};y(n),b(n,!1)},children:[(0,Q.jsx)(r,{id:`${_}-${e}`,className:`w-full max-w-md`,children:(0,Q.jsx)(n,{})}),(0,Q.jsx)(i,{children:s.map(e=>(0,Q.jsx)(a,{value:e.value,children:e.label},e.value))})]})]})}return(0,Q.jsxs)(`div`,{"data-device-draft":!0,onBlur:x,className:`space-y-4 border-t border-border pt-3`,children:[(0,Q.jsx)(Rs,{id:Ci(Y(gc.segments)),name:`name`,label:G.name,value:d.name,placeholder:`pixel-8`,mono:!0,autoFocus:!0,error:v,onChange:e=>y({...d,name:e}),onEnter:()=>void b(d,!0)}),S(`platform`,G.platform,mc),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:c,children:F})]})}var Ac=[`analytics`,`passRateScope`,`attributes`],jc=`analytics.passRateScope.attributes.*`,Mc=`analytics.passRateScope.attributes.*.regex`;function Nc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Pc(e){return typeof e==`string`?e:e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function Fc(e){let t=Nc(e.analytics)?e.analytics:{},n=Nc(t.passRateScope)?t.passRateScope:{},r=Nc(n.attributes)?n.attributes:{};return Object.entries(r).map(([e,t])=>Nc(t)&&`regex`in t?{key:e,pattern:!0,segments:[...Ac,e,`regex`],maskedText:Pc(t.regex)}:{key:e,pattern:!1,segments:[...Ac,e],maskedText:Pc(t)})}function Ic(e){try{return new RegExp(e),!0}catch{return!1}}function Lc({config:e}){let t=Z(),[n,r]=(0,J.useState)(new Set),[i,a]=(0,J.useState)(!1),o=(0,J.useRef)(null),s=(0,J.useRef)(null),c=(0,J.useRef)(!1);(0,J.useEffect)(()=>{!i&&c.current&&(c.current=!1,s.current?.focus())},[i]);let l=Fc(e),u=l.filter(e=>!n.has(e.key));function p(e){let t=Array.from(o.current?.children??[]),n=t.findIndex(t=>t.dataset.passRateAttribute===e);((t[n+1]??t[n-1])?.querySelector(`button`)??s.current)?.focus()}async function m(e){p(e),r(t=>new Set(t).add(e)),await t.runExplicit([{op:`unset`,path:[...Ac,e]}]),r(t=>{let n=new Set(t);return n.delete(e),n})}function h(){c.current=!0,a(!1)}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{"data-field-list":`analytics.passRateScope.attributes`,className:`space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground break-words`,children:Mn}),u.length>0?(0,Q.jsx)(`ul`,{ref:o,className:`space-y-2`,children:u.map(e=>(0,Q.jsxs)(`li`,{"data-pass-rate-attribute":e.key,className:`grid items-center gap-1 sm:grid-cols-[minmax(8rem,auto)_1fr_auto] sm:gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 font-mono text-xs wrap-anywhere`,children:e.key}),e.pattern?(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:Ft}):null]}),(0,Q.jsx)(_a,{field:{segments:e.segments,pattern:e.pattern?Mc:jc},label:Je(e.key),maskedText:e.maskedText}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":dn(e.key),className:`hover:text-destructive`,onClick:()=>void m(e.key),children:(0,Q.jsx)(f,{className:`size-3.5`,"aria-hidden":`true`})})]},e.key))}):null,i?(0,Q.jsx)(Rc,{takenKeys:l.map(e=>e.key),onClose:h}):null,i?null:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[u.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:te}):null,(0,Q.jsxs)(W,{ref:s,type:`button`,variant:`outline`,size:`sm`,onClick:()=>a(!0),children:[(0,Q.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}),gt]})]})]}),(0,Q.jsx)($,{field:{segments:[`analytics`,`privacy`],tab:`project`,pattern:`analytics.privacy`},label:U.privacy,kind:`switch`,help:Re.privacy,unsetWhenOff:!0})]})}function Rc({takenKeys:e,onClose:t}){let n=Z(),r=(0,J.useId)(),i=(0,J.useId)(),[a,o]=(0,J.useState)(``),[s,c]=(0,J.useState)(``),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1),m=a.trim(),h=l&&s!==``&&!Ic(s),_=m!==``&&s!==``&&!e.includes(m)&&!h;async function v(){if(!_||d)return;f(!0);let e={op:`set`,path:[...Ac,m],value:l?{regex:s}:s},r=await n.runExplicit([e]);f(!1),r&&t()}function y(e){e.key===`Enter`?(e.preventDefault(),v()):e.key===`Escape`&&(e.preventDefault(),t())}return(0,Q.jsxs)(`div`,{"data-pass-rate-attribute-draft":!0,className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex max-w-md flex-wrap items-center gap-1`,children:[(0,Q.jsx)(H,{type:`text`,autoComplete:`off`,autoFocus:!0,"aria-label":Tt.key,placeholder:Tt.key,value:a,onChange:e=>o(e.target.value),onKeyDown:y,className:`h-8 w-36 font-mono`}),(0,Q.jsx)(H,{type:`password`,autoComplete:`off`,"aria-label":Tt.value,"aria-invalid":h?!0:void 0,"aria-describedby":h?i:void 0,placeholder:Tt.value,value:s,onChange:e=>c(e.target.value),onKeyDown:y,className:`h-8 min-w-0 flex-1 font-mono`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(g,{id:r,checked:l,onCheckedChange:u}),(0,Q.jsx)(p,{htmlFor:r,children:In})]}),h?(0,Q.jsx)(`p`,{id:i,className:`text-xs text-destructive`,children:R}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,disabled:!_||d,onClick:()=>void v(),children:Mt}),(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:t,children:D})]})]})}function zc(...e){return{segments:[`services`,`mcp`,...e],tab:`advanced`,pattern:[`services`,`mcp`,...e].join(`.`)}}function Bc(){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{field:zc(`enabled`),label:tn.enabled,kind:`switch`,help:Sr.enabled,defaultChecked:!0}),(0,Q.jsx)($,{field:zc(`port`),label:tn.port,kind:`number`,placeholder:`3471`,number:{min:1,max:65535,integer:!0}})]})}var Vc=2e3;function Hc({path:e}){let[n,r]=(0,J.useState)(`idle`),i=(0,J.useRef)(void 0);(0,J.useEffect)(()=>()=>clearTimeout(i.current),[]);function a(){clearTimeout(i.current),r(`idle`);let t=navigator.clipboard?.writeText(e);if(t===void 0){r(`failed`);return}t.then(()=>{r(`copied`),i.current=setTimeout(()=>r(`idle`),Vc)},()=>r(`failed`))}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":Dr,"data-copy-status":n,onClick:a,children:n===`copied`?(0,Q.jsx)(t,{"data-copy-icon":`check`,className:`size-3.5`,"aria-hidden":`true`}):(0,Q.jsx)(s,{"data-copy-icon":`copy`,className:`size-3.5`,"aria-hidden":`true`})}),(0,Q.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:`sr-only`,children:n===`idle`?``:Lr[n]})]})}function Uc(){let e=Z();if(e.load.kind!==`ready`)return null;let{path:t,lines:n}=e.load.answer.file;return(0,Q.jsxs)(Q.Fragment,{children:[t===null?null:(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(`code`,{"data-config-file-path":!0,className:`min-w-0 font-mono text-xs wrap-anywhere`,children:t}),(0,Q.jsx)(Hc,{path:t})]}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:Yn}),(0,Q.jsx)(`div`,{"data-config-file-view":!0,className:`overflow-x-auto rounded-md border border-border bg-muted/40 p-4`,children:(0,Q.jsx)(`ol`,{className:`font-mono text-xs whitespace-pre`,children:n.map(e=>(0,Q.jsx)(`li`,{"data-line":e.n,children:e.text},e.n))})})]})}var Wc={models:[Co],"screenshot-size":[Os],"planner-limits":[es],targets:[cc],devices:[Cc],"login-states":[Io],"mobile-app-state":[Ts],browser:[Wo],timeouts:[Oo],runs:[Ss],cache:[Ao],recording:[Ko],accessibility:[Zo],"log-capture":[vs],"test-discovery":[ss],files:[hs],knowledge:[Es],dashboard:[ns],logging:[Ro],"pass-rate-scope":[Lc],mcp:[Bc],"config-file":[Uc]},Gc={models:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-4`};function Kc(e){return`config-section-${e}-heading`}function qc(e,t){return Ke[e].includes(t)}function Jc(e){return e.trim().replace(/[.\s]+$/,``)}function Yc(){return window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches??!1}function Xc(){Wr(Qt);let e=Et(),{tab:t}=It(),[n]=et(),r=Gi(),i=r.load,[a,o]=(0,J.useState)(void 0),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(!1),d=Ve(t),f=d??`models`,p=n.get(`section`),m=s?`agent-qa v${s}`:`agent-qa version unavailable`;(0,J.useEffect)(()=>{let r=Ye(n);if(r.kind===`mapped`){e(Le(r.tab,r.section),{replace:!0});return}if(r.kind===`unknown`||t!==void 0&&d===void 0||d!==void 0&&p!==null&&!qc(d,p)){u(!0),e(Le(`models`),{replace:!0});return}t===void 0&&e(Le(`models`),{replace:!0})},[e,d,n,p,t]),(0,J.useEffect)(()=>{let e=!0;async function t(){try{let t=(await tr()).version.trim();e&&c(t||null)}catch{e&&c(null)}}return t(),()=>{e=!1}},[]);let h=i.kind===`ready`;(0,J.useEffect)(()=>{if(!h||d===void 0||p===null||!qc(d,p))return;let t=document.getElementById(Kc(p));t&&(t.scrollIntoView?.({block:`start`,behavior:Yc()?`auto`:`smooth`}),t.focus({preventScroll:!0})),e(Le(d),{replace:!0})},[e,h,d,p]),(0,J.useEffect)(()=>{if(a===void 0||a.tab!==f)return;let e=setTimeout(()=>{document.getElementById(Ci(a.fieldKey))?.focus(),o(void 0)},0);return()=>clearTimeout(e)},[a,f]);let g=(0,J.useRef)(void 0),_=r.status.state;(0,J.useEffect)(()=>{let e=g.current;if(e!==void 0){if(_===`saving`){e.sent=!0;return}if(_===`failed`){e.sent&&(g.current=void 0);return}g.current=void 0,!(document.activeElement!==null&&document.activeElement!==document.body)&&((e.target?.tab===f?document.getElementById(Ci(e.target.fieldKey)):null)??document.querySelector(`[data-config-tab="${f}"]`))?.focus()}},[_,f]);function y(){g.current={target:r.failedFieldTarget(),sent:!1},r.retry()}function x(t){let n=Ve(t);n===void 0||n===f||(u(!1),e(Le(n)))}function S(){let t=r.goToFirstDraft();t!==void 0&&(t.tab!==f&&(u(!1),e(Le(t.tab))),o(t))}return i.kind===`loading`?(0,Q.jsx)(`div`,{"data-config-page":!0,"data-config-state":`loading`,children:(0,Q.jsx)(xn,{})}):(0,Q.jsxs)(`div`,{"data-config-page":!0,"data-config-state":i.kind,className:`max-w-4xl`,children:[(0,Q.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:Qt}),l?(0,Q.jsx)(Ji,{"data-config-invalid-notice":!0,className:`mt-6`,children:Nt}):null,i.kind===`error`?(0,Q.jsxs)(Ji,{"data-config-load-error":!0,className:`mt-6 space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:pr}),(0,Q.jsx)(`p`,{className:`text-xs`,children:be(i.reason)}),(0,Q.jsx)(W,{type:`button`,variant:`outline`,size:`sm`,onClick:r.reload,children:tt})]}):(0,Q.jsxs)(qi,{value:r,children:[i.answer.fileIssues?.[0]?(0,Q.jsxs)(Ji,{"data-config-file-issues":!0,className:`mt-6 space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:Ut}),(0,Q.jsx)(`p`,{className:`text-xs`,children:de(Jc(i.answer.fileIssues[0].message))})]}):null,(0,Q.jsxs)(b,{value:f,onValueChange:x,className:`mt-6`,children:[(0,Q.jsx)($i,{tab:f,draftTabs:r.draftTabs,statusSlot:(0,Q.jsx)(oa,{status:r.status,onRetry:y,onUndo:()=>void r.undo(),onGoToDraft:S})}),Fn.map(e=>(0,Q.jsx)(v,{value:e,"data-config-panel":e,"data-tour-id":e===f?`tour-config-section`:void 0,className:`space-y-8 pt-6`,children:Ke[e].map(e=>{let t=Wc[e];if(!t)return null;let n=Kc(e);return(0,Q.jsxs)(`section`,{"data-config-section":e,"aria-labelledby":n,className:Gc[e]??`space-y-4`,children:[(0,Q.jsx)(`h2`,{id:n,tabIndex:-1,className:`rounded-sm text-base font-medium leading-snug outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:Ln[e]}),t.map((e,t)=>(0,Q.jsx)(e,{config:i.answer.config,onConfigChange:r.refresh},t))]},e)})},e))]})]}),(0,Q.jsx)(`p`,{"data-config-app-version":!0,className:`mt-6 border-t border-border pt-3 text-[11px] font-mono text-muted-foreground/70`,children:m})]})}export{Xc as default};
@@ -1 +1 @@
1
- import{u as e}from"./editor.api2-DXR_ThFM.js";import{t}from"./workers-By3SZV-o.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-By4f0cSm.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/assets/css.worker-Wv5dxAWO.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit};
1
+ import{u as e}from"./editor.api2-S_Xxx4WR.js";import{t}from"./workers-e5BAAjmc.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-Cn6BXYdZ.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/assets/css.worker-Wv5dxAWO.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit};
@@ -1 +1 @@
1
- import{Dr as e}from"./index-CXuVkD6-.js";var t=`:`;function n(e,n){return`${String(e)}${t}${String(n)}`}function r(e){if(e==null)return null;let t=/^(\d+):(\d+)$/.exec(e);if(t===null)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isSafeInteger(n)||!Number.isSafeInteger(r)?null:{testIndex:n,stepIndex:r}}function i(e){return e?.type===`step`||e?.type===`subaction`||e?.type===`execution`}function a(e){return e?.type===`subaction`}var o=`Untitled step`;function s(e,t){return{id:n(e.testIndex,e.stepIndex),name:e.stepText??`Untitled step`,status:e.status??(e.verifierVerdict.pass?`passed`:`failed`),duration:e.durationMs??0,error:e.error,stepOrder:e.stepIndex,rawStepOrder:e.stepIndex,displayStepOrder:e.stepIndex+1,displayStepTotal:null,testIndex:e.testIndex,stepIndex:e.stepIndex,subActions:t,cacheStatus:e.cacheStatus,verifierVerdict:e.verifierVerdict,selfHealOccurred:e.selfHealOccurred,tokenUsage:e.tokenUsage,evidence:e.evidence}}function c(e){return u(e.flatMap(e=>e.steps.map(e=>s(e.step,e.subActions))))}function l(t,n){let r=t.phases.find(e=>e.phase===`observe`),i=t.phases.find(e=>e.phase===`plan`),a=t.phases.find(e=>e.phase===`execute`),o=t.liveSubActions?.find(e=>!!(e.observation||e.reasoning||e.plannedAction!=null));return{id:t.id,name:t.instruction,status:e(t.status),duration:t.duration??0,liveSubActions:t.liveSubActions??d(t.phases),originalStepName:t.originalStepName,variableSnapshot:t.variableSnapshot,observation:r?.text??o?.observation??null,reasoning:i?.text??o?.reasoning??null,plannedAction:a?.action??o?.plannedAction??null,action:a?.action??o?.plannedAction??null,error:t.error??null,confidence:i?.confidence??o?.confidence??null,runId:null,stepOrder:n,consoleLogs:t.consoleLogs,networkLogs:t.networkLogs,accessibilityViolations:null,rawRunId:null,rawStepOrder:n,displayStepOrder:n+1,displayStepTotal:null}}function u(e){let t=e.length;return e.map((e,n)=>({...e,displayStepOrder:n+1,displayStepTotal:t}))}function d(e){if(e.length===0)return null;let t=[],n=[];for(let r of e)(r.phase===`observe`||r.phase===`heal`)&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t.map((e,n)=>{let r=e.find(e=>e.phase===`observe`),i=e.find(e=>e.phase===`plan`),a=e.find(e=>e.phase===`execute`),o=e.find(e=>e.phase===`verify`);return{index:n,observation:r?.text??``,reasoning:i?.text??``,plannedAction:a?.action??null,result:o?o.success?`success`:`failure`:n===t.length-1?`in-progress`:`failure`,error:void 0,confidence:i?.confidence,verifierReasoning:o?.text,phaseDurations:{observe:r?.duration,plan:i?.duration,execute:a?.duration,verify:o?.duration}}})}export{a,i,c as n,r as o,l as r,n as s,o as t};
1
+ import{wr as e}from"./index-0ktcxgei.js";var t=`:`;function n(e,n){return`${String(e)}${t}${String(n)}`}function r(e){if(e==null)return null;let t=/^(\d+):(\d+)$/.exec(e);if(t===null)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isSafeInteger(n)||!Number.isSafeInteger(r)?null:{testIndex:n,stepIndex:r}}function i(e){return e?.type===`step`||e?.type===`subaction`||e?.type===`execution`}function a(e){return e?.type===`subaction`}var o=`Untitled step`;function s(e,t){return{id:n(e.testIndex,e.stepIndex),name:e.stepText??`Untitled step`,status:e.status??(e.verifierVerdict.pass?`passed`:`failed`),duration:e.durationMs??0,error:e.error,stepOrder:e.stepIndex,rawStepOrder:e.stepIndex,displayStepOrder:e.stepIndex+1,displayStepTotal:null,testIndex:e.testIndex,stepIndex:e.stepIndex,subActions:t,cacheStatus:e.cacheStatus,verifierVerdict:e.verifierVerdict,selfHealOccurred:e.selfHealOccurred,tokenUsage:e.tokenUsage,evidence:e.evidence}}function c(e){return u(e.flatMap(e=>e.steps.map(e=>s(e.step,e.subActions))))}function l(t,n){let r=t.phases.find(e=>e.phase===`observe`),i=t.phases.find(e=>e.phase===`plan`),a=t.phases.find(e=>e.phase===`execute`),o=t.liveSubActions?.find(e=>!!(e.observation||e.reasoning||e.plannedAction!=null));return{id:t.id,name:t.instruction,status:e(t.status),duration:t.duration??0,liveSubActions:t.liveSubActions??d(t.phases),originalStepName:t.originalStepName,variableSnapshot:t.variableSnapshot,observation:r?.text??o?.observation??null,reasoning:i?.text??o?.reasoning??null,plannedAction:a?.action??o?.plannedAction??null,action:a?.action??o?.plannedAction??null,error:t.error??null,confidence:i?.confidence??o?.confidence??null,runId:null,stepOrder:n,consoleLogs:t.consoleLogs,networkLogs:t.networkLogs,accessibilityViolations:null,rawRunId:null,rawStepOrder:n,displayStepOrder:n+1,displayStepTotal:null}}function u(e){let t=e.length;return e.map((e,n)=>({...e,displayStepOrder:n+1,displayStepTotal:t}))}function d(e){if(e.length===0)return null;let t=[],n=[];for(let r of e)(r.phase===`observe`||r.phase===`heal`)&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t.map((e,n)=>{let r=e.find(e=>e.phase===`observe`),i=e.find(e=>e.phase===`plan`),a=e.find(e=>e.phase===`execute`),o=e.find(e=>e.phase===`verify`);return{index:n,observation:r?.text??``,reasoning:i?.text??``,plannedAction:a?.action??null,result:o?o.success?`success`:`failure`:n===t.length-1?`in-progress`:`failure`,error:void 0,confidence:i?.confidence,verifierReasoning:o?.text,phaseDurations:{observe:r?.duration,plan:i?.duration,execute:a?.duration,verify:o?.duration}}})}export{a,i,c as n,r as o,l as r,n as s,o as t};