0sec-cli 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/0sec.js +322 -0
  2. package/README.md +63 -52
  3. package/attacks/data-exfiltration/pii-leakage.yaml +27 -0
  4. package/attacks/encoding-bypass/base64-encoding.yaml +24 -0
  5. package/attacks/jailbreak/dan-roleplay.yaml +27 -0
  6. package/attacks/jailbreak/hypothetical-scenario.yaml +25 -0
  7. package/attacks/jailbreak/multilingual-bypass.yaml +22 -0
  8. package/attacks/output-manipulation/harmful-content.yaml +25 -0
  9. package/attacks/prompt-injection/context-manipulation.yaml +32 -0
  10. package/attacks/prompt-injection/direct-injection.yaml +28 -0
  11. package/attacks/prompt-injection/indirect-injection.yaml +33 -0
  12. package/attacks/system-prompt-extraction/direct-ask.yaml +30 -0
  13. package/attacks/system-prompt-extraction/markdown-exfil.yaml +26 -0
  14. package/attacks/tool-misuse/ssrf-via-tools.yaml +27 -0
  15. package/chunks/adapt-loop-ECQG7454.js +18 -0
  16. package/chunks/adgraph-JLGA6RYI.js +54 -0
  17. package/chunks/agent/skills/frameworks/entra-id.yaml +63 -0
  18. package/chunks/agent/skills/frameworks/graphql-introspection.yaml +116 -0
  19. package/chunks/agent/skills/frameworks/nextjs.yaml +82 -0
  20. package/chunks/agent/skills/frameworks/python-web.yaml +85 -0
  21. package/chunks/agent/skills/frameworks/supabase.yaml +83 -0
  22. package/chunks/agent/skills/frameworks/wordpress-deep.yaml +122 -0
  23. package/chunks/agent/skills/techniques/ad-attack-paths.yaml +57 -0
  24. package/chunks/agent/skills/techniques/advisory-disclosure.yaml +59 -0
  25. package/chunks/agent/skills/techniques/assumption-mining.yaml +53 -0
  26. package/chunks/agent/skills/techniques/blind-exploitation.yaml +143 -0
  27. package/chunks/agent/skills/techniques/crypto-misuse.yaml +88 -0
  28. package/chunks/agent/skills/techniques/cve-poc-adaptation.yaml +82 -0
  29. package/chunks/agent/skills/techniques/entra-attack-paths.yaml +55 -0
  30. package/chunks/agent/skills/techniques/http-conformance-diff.yaml +48 -0
  31. package/chunks/agent/skills/techniques/jwt-attacks.yaml +137 -0
  32. package/chunks/agent/skills/techniques/kernel-weaponization.yaml +53 -0
  33. package/chunks/agent/skills/techniques/llm-excessive-agency.yaml +55 -0
  34. package/chunks/agent/skills/techniques/llm-insecure-output-handling.yaml +56 -0
  35. package/chunks/agent/skills/techniques/llm-prompt-injection.yaml +54 -0
  36. package/chunks/agent/skills/techniques/llm-prompt-layer-write.yaml +68 -0
  37. package/chunks/agent/skills/techniques/llm-rag-poisoning.yaml +57 -0
  38. package/chunks/agent/skills/techniques/llm-safety-eval.yaml +51 -0
  39. package/chunks/agent/skills/techniques/npm-ecosystem.yaml +51 -0
  40. package/chunks/agent/skills/techniques/poc-verification.yaml +55 -0
  41. package/chunks/agent/skills/techniques/race-condition.yaml +122 -0
  42. package/chunks/agent/skills/techniques/scoped-fix.yaml +49 -0
  43. package/chunks/agent/skills/techniques/seedless-depth-review.yaml +59 -0
  44. package/chunks/agent/skills/techniques/spec-differential.yaml +48 -0
  45. package/chunks/agent/skills/techniques/variant-hunting.yaml +55 -0
  46. package/chunks/agent/skills/vulnerabilities/cardano-eutxo-validators.yaml +72 -0
  47. package/chunks/agent/skills/vulnerabilities/command-injection.yaml +99 -0
  48. package/chunks/agent/skills/vulnerabilities/deserialization-chains.yaml +106 -0
  49. package/chunks/agent/skills/vulnerabilities/native-memory-safety.yaml +93 -0
  50. package/chunks/agent/skills/vulnerabilities/path-traversal.yaml +78 -0
  51. package/chunks/agent/skills/vulnerabilities/prototype-pollution.yaml +132 -0
  52. package/chunks/agent/skills/vulnerabilities/request-smuggling.yaml +129 -0
  53. package/chunks/agent/skills/vulnerabilities/sqli-advanced.yaml +102 -0
  54. package/chunks/agent/skills/vulnerabilities/ssrf-bypass.yaml +84 -0
  55. package/chunks/agent/skills/vulnerabilities/ssti-exploitation.yaml +112 -0
  56. package/chunks/agent/skills/vulnerabilities/structural-sqli.yaml +91 -0
  57. package/chunks/appsec-catalog-CBWHGTEL.js +24 -0
  58. package/chunks/artifact-scraper-GJEZMOHF.js +34 -0
  59. package/chunks/assumption-mining-BVMMUZHB.js +79 -0
  60. package/chunks/chunk-2CJ776PV.js +2430 -0
  61. package/chunks/chunk-2RMLOJVB.js +47 -0
  62. package/chunks/chunk-2SANI5RH.js +4728 -0
  63. package/chunks/chunk-3MOLBTLS.js +953 -0
  64. package/chunks/chunk-3QFDYBZQ.js +5108 -0
  65. package/chunks/chunk-47TQJWDH.js +3729 -0
  66. package/chunks/chunk-4Y4KQJXE.js +600 -0
  67. package/chunks/chunk-53G27VPS.js +136 -0
  68. package/chunks/chunk-57ZENEX2.js +169 -0
  69. package/chunks/chunk-5G3ZXFBW.js +182 -0
  70. package/chunks/chunk-6LKRLK2R.js +542 -0
  71. package/chunks/chunk-7DQEV5QI.js +287 -0
  72. package/chunks/chunk-A6CLR72I.js +235 -0
  73. package/chunks/chunk-BKZFDZ23.js +361 -0
  74. package/chunks/chunk-CLHCDHP4.js +471 -0
  75. package/chunks/chunk-D6S3IIPG.js +518 -0
  76. package/chunks/chunk-DN25OQQA.js +1070 -0
  77. package/chunks/chunk-DW5UWPFY.js +275 -0
  78. package/chunks/chunk-F3WBKITT.js +687 -0
  79. package/chunks/chunk-H2FFLZNK.js +3 -0
  80. package/chunks/chunk-H44E2CRN.js +193 -0
  81. package/chunks/chunk-HDWV7PGI.js +596 -0
  82. package/chunks/chunk-HE7LCA7G.js +381 -0
  83. package/chunks/chunk-HT6P7RY3.js +2597 -0
  84. package/chunks/chunk-IOL7D5YV.js +515 -0
  85. package/chunks/chunk-IORC6MQX.js +72828 -0
  86. package/chunks/chunk-IR537GON.js +49 -0
  87. package/chunks/chunk-K26SZ37E.js +5735 -0
  88. package/chunks/chunk-KKGE5RQE.js +1094 -0
  89. package/chunks/chunk-KLTNTE2Z.js +121 -0
  90. package/chunks/chunk-KTQDLNSR.js +1732 -0
  91. package/chunks/chunk-LOHTE223.js +2572 -0
  92. package/chunks/chunk-LP3HHYQU.js +245 -0
  93. package/chunks/chunk-MMLDQR4H.js +852 -0
  94. package/chunks/chunk-MYVT64FN.js +16 -0
  95. package/chunks/chunk-O462Y7P2.js +33019 -0
  96. package/chunks/chunk-OEFNRYI2.js +150 -0
  97. package/chunks/chunk-P6WKNFWX.js +1968 -0
  98. package/chunks/chunk-QI233I24.js +333 -0
  99. package/chunks/chunk-QJQKHO7G.js +917 -0
  100. package/chunks/chunk-QKICO43A.js +808 -0
  101. package/chunks/chunk-QOKTUOU2.js +102 -0
  102. package/chunks/chunk-RDZYQQLW.js +596 -0
  103. package/chunks/chunk-RJWOYEOG.js +271 -0
  104. package/chunks/chunk-RRMJC3ZE.js +105 -0
  105. package/chunks/chunk-RWONANDA.js +973 -0
  106. package/chunks/chunk-SAFFWQW4.js +5921 -0
  107. package/chunks/chunk-SF4KZ4O3.js +502 -0
  108. package/chunks/chunk-SNKTC4BP.js +1422 -0
  109. package/chunks/chunk-SOG2U7B3.js +662 -0
  110. package/chunks/chunk-SZJCPG2I.js +110 -0
  111. package/chunks/chunk-UJ4IK5PO.js +2010 -0
  112. package/chunks/chunk-UM3ZNQIM.js +9329 -0
  113. package/chunks/chunk-VGRDNSHA.js +3249 -0
  114. package/chunks/chunk-VQG4FT5D.js +685 -0
  115. package/chunks/chunk-WKNNZVJS.js +2798 -0
  116. package/chunks/chunk-WU6AFRAZ.js +1167 -0
  117. package/chunks/chunk-WVTBZEQO.js +1531 -0
  118. package/chunks/chunk-YLMN3N25.js +4054 -0
  119. package/chunks/commands-U3AMV5ZU.js +16795 -0
  120. package/chunks/corpus-v1.json +403 -0
  121. package/chunks/cost-ledger-ZCKMBJEN.js +13 -0
  122. package/chunks/data/appsec-archetypes.json +102 -0
  123. package/chunks/data/chromium-archetypes.json +204 -0
  124. package/chunks/data/freebsd-archetypes.json +171 -0
  125. package/chunks/data/kernel-archetypes.json +611 -0
  126. package/chunks/db-26NGQFKO.js +16 -0
  127. package/chunks/disclose-A6AEIEDA.js +132 -0
  128. package/chunks/dist-FDKALV4R.js +2772 -0
  129. package/chunks/dist-GL66KMUX.js +74 -0
  130. package/chunks/dist-JR67XKYO.js +159 -0
  131. package/chunks/eval-runner-DDLE5RQ3.js +27 -0
  132. package/chunks/example-manifest.json +95 -0
  133. package/chunks/exploit-agent-XP23ISN7.js +98 -0
  134. package/chunks/exploit-autoclimb-E6T7RRSC.js +81 -0
  135. package/chunks/exploit-climb-2FAUP6XU.js +358 -0
  136. package/chunks/fix-IG7LYXH3.js +12 -0
  137. package/chunks/github-issues-MJ6OYOOU.js +157 -0
  138. package/chunks/harness-HWOYFKFY.js +22 -0
  139. package/chunks/http-conformance-DU66MZIU.js +11 -0
  140. package/chunks/http-sender-GWH2IYEA.js +10 -0
  141. package/chunks/hunt-scan-XPELSPQQ.js +38 -0
  142. package/chunks/identity-6ZAIIWOR.js +191 -0
  143. package/chunks/kernel-primitive-TENE3R7T.js +44 -0
  144. package/chunks/kernel-vm-runner-4F6QSNFY.js +62 -0
  145. package/chunks/memsafety-scan-J7SECV5W.js +16 -0
  146. package/chunks/native-loop-NTONUDP7.js +54 -0
  147. package/chunks/npm-detectors-KB5Y5ZFX.js +69 -0
  148. package/chunks/npm-dynamic-discovery-AHROOZDB.js +13 -0
  149. package/chunks/orchestrate-ZUWAUWBC.js +62 -0
  150. package/chunks/pipeline-FCARFZU3.js +14 -0
  151. package/chunks/pre-recon-cve-66EB6G4M.js +351 -0
  152. package/chunks/prepare-MYY743TK.js +13 -0
  153. package/chunks/process-3Q7QJIOZ.js +13 -0
  154. package/chunks/replay-runner-RRR4E2A7.js +39 -0
  155. package/chunks/run-ESNN4V5W.js +32632 -0
  156. package/chunks/runtime-62ZQAH7H.js +43 -0
  157. package/chunks/runtime-J7PLXZNM.js +12 -0
  158. package/chunks/scan-stream-FHI2FYZE.js +96 -0
  159. package/chunks/scope-BI7BF4ZY.js +18 -0
  160. package/chunks/session-store-BCFQYDCE.js +28 -0
  161. package/chunks/source-files-PWRQR6LY.js +12 -0
  162. package/chunks/specdrift-WCLH6TTQ.js +19 -0
  163. package/chunks/variant-candidates-6KM6F6MD.js +13 -0
  164. package/chunks/web-recon-prepass-DPVCBRZA.js +1148 -0
  165. package/dashboard/assets/0sec-icon-66SreztZ.gif +0 -0
  166. package/dashboard/assets/bot-yILPnRgD.js +1 -0
  167. package/dashboard/assets/chevron-down-BeDJ-Vka.js +1 -0
  168. package/dashboard/assets/circle-alert-BEnMBMT-.js +1 -0
  169. package/dashboard/assets/client-DRYsuOGl.js +9 -0
  170. package/dashboard/assets/copy-Bi5vzoF9.js +1 -0
  171. package/dashboard/assets/desktop-CXTQonNm.js +32 -0
  172. package/dashboard/assets/desktop-NOekk4QS.css +1 -0
  173. package/dashboard/assets/dist-CmX-h7a4.js +1 -0
  174. package/dashboard/assets/dist-DAwYQmf_.js +45 -0
  175. package/dashboard/assets/findings-page-CACW9nw2.js +5 -0
  176. package/dashboard/assets/format-PoISqsES.js +1 -0
  177. package/dashboard/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  178. package/dashboard/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  179. package/dashboard/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  180. package/dashboard/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  181. package/dashboard/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  182. package/dashboard/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  183. package/dashboard/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  184. package/dashboard/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  185. package/dashboard/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  186. package/dashboard/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  187. package/dashboard/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  188. package/dashboard/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  189. package/dashboard/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  190. package/dashboard/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  191. package/dashboard/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  192. package/dashboard/assets/jsx-runtime-C7oxC63R.js +1 -0
  193. package/dashboard/assets/live-page-DrgQqQK5.js +1 -0
  194. package/dashboard/assets/meta-tile-CcskIV_o.js +1 -0
  195. package/dashboard/assets/operations-BKE8T-vY.css +2 -0
  196. package/dashboard/assets/operations-D8nUP5_m.js +4 -0
  197. package/dashboard/assets/operations-app-CQQhG54n.js +2 -0
  198. package/dashboard/assets/overview-page-DTGS8dPo.js +1 -0
  199. package/dashboard/assets/page-header-MFVvEtZW.js +1 -0
  200. package/dashboard/assets/play-Dwo-9xt6.js +1 -0
  201. package/dashboard/assets/scans-page-ChVtq8Us.js +1 -0
  202. package/dashboard/assets/search-CiooTLck.js +1 -0
  203. package/dashboard/assets/siren-CCBwTSuk.js +1 -0
  204. package/dashboard/assets/table-BYS-nIVA.js +1 -0
  205. package/dashboard/assets/tabs-DivxbhQy.js +1 -0
  206. package/dashboard/desktop.html +21 -0
  207. package/dashboard/index.html +15 -0
  208. package/package.json +30 -18
  209. package/bin/0sec.cjs +0 -361
@@ -0,0 +1 @@
1
+ @font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.conversation-panel{background:var(--surface);flex-direction:column;height:100%;display:flex;position:relative}.conversation-scroll{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;overflow-y:auto}@media (prefers-reduced-motion:reduce){.conversation-scroll{scroll-behavior:auto}}.conversation-empty{flex-direction:column;justify-content:center;align-items:flex-start;max-width:540px;height:100%;margin:0 auto;padding:48px 32px;display:flex}.conversation-empty h2{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:500}.conversation-empty p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.5}.conversation-empty .empty-btn{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s;display:inline-flex}.conversation-empty .empty-btn:hover{background:var(--hover)}.turn-block{padding:0 16px}.turn-block:first-child{margin-top:12px}.turn-block+.turn-block{margin-top:4px}.user-message{justify-content:flex-end;padding:4px 0;display:flex}.user-message .bubble{background:var(--hover);border:1px solid var(--line);max-width:75%;color:var(--text);word-wrap:break-word;white-space:pre-wrap;border-radius:12px;padding:8px 14px;font-size:14px;line-height:1.45}.assistant-message{padding:8px 0 4px}.assistant-message .message-body{color:var(--text);font-size:15px;line-height:1.6}.system-notice{color:var(--muted);align-items:flex-start;gap:6px;padding:3px 16px;font-size:12px;line-height:1.4;display:flex}.system-notice svg{opacity:.7;flex-shrink:0;margin-top:1px}.reasoning-block{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:6px 0;overflow:hidden}.reasoning-block summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;list-style:none;display:flex}.reasoning-block summary::-webkit-details-marker{display:none}.reasoning-block summary .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.reasoning-block[open] summary .chevron{transform:rotate(180deg)}.reasoning-block .reasoning-content{color:var(--muted);white-space:pre-wrap;padding:0 10px 8px;font-size:12px;line-height:1.5}.tool-call{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:4px 0;transition:border-color .2s;overflow:hidden}.tool-call.running{border-color:var(--accent);opacity:.85}.tool-call.error{border-color:var(--danger)}.tool-call-header{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.tool-call-header:hover{background:var(--hover)}.tool-call-header .tool-name{font-weight:500;font-family:var(--mono);color:var(--accent);font-size:11px}.tool-call-header .tool-status{color:var(--muted);margin-left:4px;font-size:10px}.tool-call-header .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.tool-call-header .chevron.open{transform:rotate(180deg)}.tool-call-body{border-top:1px solid var(--line);padding:8px 10px}.tool-call-body .section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.tool-call-body pre{background:var(--surface-raised);font-size:11px;line-height:1.4;font-family:var(--mono);border-radius:6px;margin:0 0 8px;padding:8px;overflow-x:auto}.tool-call-body pre:last-child{margin-bottom:0}.tool-call-body code{color:var(--text);font-family:inherit}.code-block-wrapper{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;margin:12px 0;position:relative;overflow:hidden}.code-block-header{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.code-block-header .copy-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:10px;transition:background .1s;display:inline-flex}.code-block-header .copy-btn:hover{background:var(--hover);color:var(--text)}.code-block-header .copy-btn.copied{color:var(--accent)}.code-block-wrapper pre{font-size:12px;line-height:1.5;font-family:var(--mono);color:var(--text);margin:0;padding:12px 14px;overflow-x:auto}.code-block-wrapper code{font-family:inherit}.message-body p{margin:6px 0}.message-body p:first-child{margin-top:0}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:6px 0;padding-left:20px}.message-body li{margin:2px 0}.message-body a{color:var(--accent);text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding:4px 12px}.message-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.message-body th,.message-body td{border:1px solid var(--line);text-align:left;padding:6px 10px}.message-body th{background:var(--surface-raised);font-weight:500}.message-body hr{border:none;border-top:1px solid var(--line);margin:12px 0}.message-body img{border-radius:6px;max-width:100%}.approval-panel{border:1px solid var(--accent);background:var(--surface-raised);border-radius:10px;margin:8px 0;padding:12px 14px}.approval-panel.resolved{border-color:var(--line);opacity:.7}.approval-panel.resolved.approved{opacity:1;border-color:#22c55e}.approval-panel.resolved.declined{opacity:.5;border-color:var(--danger)}.approval-header{align-items:flex-start;gap:8px;display:flex}.approval-header .approval-icon{flex-shrink:0;margin-top:1px}.approval-header .approval-title{color:var(--text);font-size:13px;font-weight:500}.approval-header .approval-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-left:auto;font-size:10px}.approval-detail{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.45}.approval-tool-preview{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px}.approval-tool-preview pre{font-size:11px;line-height:1.4;font-family:var(--mono);margin:0;overflow-x:auto}.approval-tool-preview code{color:var(--text)}.approval-actions{gap:8px;margin-top:10px;display:flex}.approval-actions button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:background .1s}.approval-actions button:hover{background:var(--hover)}.approval-actions .approve-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.approval-actions .approve-btn:hover{opacity:.9}.approval-actions .decline-btn:hover{border-color:var(--danger);color:var(--danger)}.approval-resolved-badge{color:var(--muted);align-items:center;gap:4px;margin-top:8px;font-size:12px;display:inline-flex}.approval-resolved-badge.approved{color:#22c55e}.approval-resolved-badge.declined{color:var(--danger)}.question-group{margin:8px 0}.question-item{margin:6px 0}.question-header{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:500}.question-text{color:var(--muted);margin-bottom:6px;font-size:12px;line-height:1.4}.question-options{flex-wrap:wrap;gap:4px;display:flex}.question-option{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;padding:3px 10px;font-family:inherit;font-size:11px;transition:all .1s}.question-option:hover{background:var(--hover)}.question-option.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.question-custom-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;min-height:36px;margin-top:6px;padding:6px 10px;font-family:inherit;font-size:12px}.question-custom-input:focus{border-color:var(--accent);outline:none}.turn-error{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger);border-radius:8px;margin:6px 0;padding:8px 12px;font-size:13px;line-height:1.4}.turn-error.warning{color:#a16207;background:#eab30814;border-color:#eab308}.conversation-composer{border-top:1px solid var(--line);background:var(--surface);padding:8px 16px}.composer-row{align-items:flex-end;gap:6px;display:flex}.composer-textarea{resize:none;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);border-radius:10px;outline:none;flex:1;min-height:36px;max-height:200px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.45;transition:border-color .15s}.composer-textarea:focus{border-color:var(--accent)}.composer-textarea:disabled{opacity:.5;cursor:not-allowed}.composer-textarea::placeholder{color:var(--faint)}.composer-actions{flex-shrink:0;gap:4px;padding-bottom:2px;display:flex}.composer-action-btn{border:1px solid var(--line);background:var(--surface-raised);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .1s;display:flex}.composer-action-btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.composer-action-btn:disabled{opacity:.35;cursor:not-allowed}.composer-action-btn.send-btn:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.composer-action-btn.stop-btn{color:var(--danger);border-color:var(--danger)}.composer-action-btn.stop-btn:hover{background:var(--danger);color:#fff}.bottom-context-row{color:var(--faint);border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:4px 16px 6px;font-size:11px;display:flex}.bottom-context-row .context-left{align-items:center;gap:8px;display:flex}.bottom-context-row .context-badge{background:var(--surface-raised);border:1px solid var(--line);text-transform:capitalize;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.bottom-context-row .context-actions{align-items:center;gap:4px;display:flex}.bottom-context-row .context-action-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-family:inherit;font-size:10px;transition:all .1s;display:inline-flex}.bottom-context-row .context-action-btn:hover{color:var(--text);background:var(--hover)}.jump-to-latest{z-index:10;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.jump-to-latest button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:background .1s;display:inline-flex;box-shadow:0 2px 8px #00000014}.jump-to-latest button:hover{background:var(--hover)}.inspector{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;width:280px;height:100%;display:flex}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.inspector-header h3{color:var(--text);margin:0;font-size:13px;font-weight:500}.inspector-header .close-btn{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.inspector-header .close-btn:hover{background:var(--hover);color:var(--text)}.inspector-tabs{border-bottom:1px solid var(--line);display:flex}.inspector-tab{color:var(--faint);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:500;transition:all .1s}.inspector-tab:hover{color:var(--text);background:var(--hover)}.inspector-tab.active{color:var(--text);border-bottom-color:var(--accent)}.inspector-content{flex:1;padding:12px;overflow-y:auto}.inspect-section{margin-bottom:14px}.inspect-section:last-child{margin-bottom:0}.inspect-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:6px;font-size:10px;font-weight:600}.inspect-row{color:var(--text);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.inspect-row .inspect-label{color:var(--muted)}.inspect-row .inspect-value{text-transform:capitalize;font-weight:500}.inspect-row .inspect-badge{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.inspect-badge.ready{color:#22c55e;background:#22c55e20}.inspect-badge.working{background:var(--accent);color:#fff}.inspect-badge.waiting{color:#a16207;background:#eab30820}.inspect-badge.closed{background:var(--surface-raised);color:var(--muted)}.inspect-badge.failed{background:var(--danger);color:#fff}.inspect-bar{background:var(--surface-raised);border-radius:2px;height:4px;margin:4px 0;overflow:hidden}.inspect-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.evidence-list{flex-direction:column;gap:6px;display:flex}.evidence-item{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:11px;line-height:1.4}.evidence-item .ev-tool-name{font-family:var(--mono);color:var(--accent);font-weight:500}.evidence-item .ev-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.evidence-item .ev-result{font-family:var(--mono);color:var(--muted);background:var(--surface-raised);border-radius:4px;max-height:60px;margin-top:4px;padding:3px 6px;font-size:10px;overflow-y:auto}@media (width<=760px){.turn-block{padding:0 10px}.conversation-composer{padding:6px 10px}.user-message .bubble{max-width:90%}.inspector{width:220px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}:root{--background:#f5f5f3;--surface:#fff;--surface-raised:#fff;--line:#e5e5e3;--text:#161615;--muted:#8a8a88;--faint:#c0c0be;--hover:#eaeae8;--selected:#d4d4d2;--accent:#0059b3;--accent-fg:#fff;--danger:#d13838;--danger-bg:#fef2f2;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:22px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--titlebar-height:44px;--tab-height:32px;--sidebar-width:220px;--inspector-width:320px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--background:#161615;--surface:#1c1c1b;--surface-raised:#222221;--line:#2a2a28;--text:#e8e8e6;--muted:#a1a19d;--faint:#8a8a86;--hover:#282827;--selected:#333332;--accent:#4d9eff;--accent-fg:#fff;--danger:#e54848;--danger-bg:#2d1515;--shadow-sm:0 1px 2px #0000001f;--shadow-md:0 2px 8px #0003;--shadow-lg:0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;line-height:1.5}[contenteditable],input,textarea,select,.selectable{-webkit-user-select:text;user-select:text}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.titlebar{height:var(--titlebar-height);-webkit-app-region:drag;background:var(--background);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;padding:0 8px;display:flex}.titlebar-title{text-align:center;width:100%;font-size:12px;font-weight:600}.titlebar.macos{padding-inline:96px}.titlebar-leading{flex-shrink:0;width:96px}.titlebar-center{-webkit-app-region:drag;flex:1;justify-content:center;align-items:center;display:flex}.titlebar-trailing{-webkit-app-region:no-drag;align-items:center;gap:4px;display:flex}.tab-bar{height:var(--tab-height);background:var(--background);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-app-region:no-drag;flex-shrink:0;align-items:stretch;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab{font-size:var(--fs-sm);color:var(--muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;white-space:nowrap;-webkit-app-region:no-drag;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-bottom:none;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;transition:color .12s,background .12s;display:flex;position:relative}.tab:hover{color:var(--text);background:var(--hover)}.tab.active{color:var(--text);background:var(--surface);border-color:var(--line)}.tab.active:after{content:"";background:var(--surface);height:1px;position:absolute;bottom:-1px;left:0;right:0}.tab.home-tab{padding:0 12px}.tab .tab-icon{opacity:.6;flex-shrink:0;width:14px;height:14px}.tab.active .tab-icon{opacity:.9}.tab>[role=tab]{max-width:220px;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}.tab>[role=tab] span{text-overflow:ellipsis;overflow:hidden}.workspace-toolbar{align-items:center;gap:4px;margin-left:auto;padding-left:12px;display:flex}.tab-close:focus-visible{opacity:1}.tab-close{width:16px;height:16px;color:var(--faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:var(--hover);color:var(--text)}.tab-close svg{width:10px;height:10px}.new-tab-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--faint);cursor:pointer;-webkit-app-region:no-drag;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;transition:color .12s,background .12s;display:flex}.new-tab-btn:hover{color:var(--text);background:var(--hover)}.new-tab-btn svg{width:14px;height:14px}.workspace{background:var(--surface);flex:1;display:flex;overflow:hidden}.session-sidebar{width:var(--sidebar-width);background:var(--background);border-right:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.session-sidebar.collapsed{border-right:none;width:0}.sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.sidebar-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.sidebar-scroll{flex:1;padding:4px 8px;overflow-y:auto}.target-group{margin-bottom:8px}.target-group-header{font-size:var(--fs-xs);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 4px 4px 8px;font-weight:500;transition:background .1s;display:flex}.target-group-header:hover{background:var(--hover)}.target-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:4px 8px;font-family:inherit;transition:background .1s;display:flex}.target-item.active{background:var(--hover);font-weight:500}.session-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-empty{color:var(--muted);padding:16px}.sidebar-operations{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px;text-decoration:none;display:flex}.home-recent-item{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0}.target-item:hover{background:var(--hover)}.target-item .target-status{border-radius:50%;flex-shrink:0;width:6px;height:6px}.target-status.ready{background:#22c55e}.target-status.working{background:#f59e0b}.target-status.waiting{background:#6366f1}.target-status.closed{background:var(--faint)}.target-status.failed{background:var(--danger)}.sidebar-filter{padding:0 8px 8px}.sidebar-filter input{width:100%;font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);outline:none;padding:4px 8px}.sidebar-filter input:focus{border-color:var(--accent)}.session-content{flex:1;min-width:0;display:flex;overflow:hidden}.session-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.session-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.session-title-area{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.session-title-area .session-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-title-input{font-size:var(--fs-md);color:var(--text);min-width:40px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-sm);background:0 0;border:none;outline:none;flex:1;padding:2px 4px;transition:background .1s}.session-title-input:hover{background:var(--hover)}.session-title-input:focus{background:var(--surface);box-shadow:0 0 0 1px var(--accent)}.session-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.session-header-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.session-header-btn:hover{color:var(--text);background:var(--hover)}.session-header-btn svg{width:15px;height:15px}.session-header-btn.active{color:var(--accent);background:var(--selected)}.inspector-panel{width:var(--inspector-width);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.inspector-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.inspector-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.inspector-close{width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.inspector-close:hover{color:var(--text);background:var(--hover)}.inspector-close svg{width:13px;height:13px}.home-page{flex:1;display:flex;overflow:hidden}.home-projects{border-right:1px solid var(--line);background:var(--background);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.home-projects-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:14px 14px 8px;font-weight:600}.home-projects-list{flex:1;padding:4px 8px;overflow-y:auto}.home-project-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex;overflow:hidden}.home-project-item:hover{background:var(--hover)}.home-project-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.home-project-add{color:var(--muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:color .1s,background .1s;display:flex}.home-project-add:hover{color:var(--text);background:var(--hover)}.home-project-add svg{width:12px;height:12px}.home-main{flex-direction:column;flex:1;min-width:0;padding:24px 32px;display:flex;overflow:hidden auto}.home-greeting{font-size:var(--fs-2xl);margin-bottom:4px;font-weight:500}.home-subtitle{font-size:var(--fs-md);color:var(--muted);margin-bottom:24px}.home-actions{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.home-section-title{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:600}.home-search{margin-bottom:12px;padding:8px 12px}.home-search-input{width:100%;font-size:var(--fs-base);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);outline:none;padding:7px 12px;transition:border-color .1s}.home-search-input:focus{border-color:var(--accent)}.home-search-input::placeholder{color:var(--faint)}.home-recent-list{flex-direction:column;gap:2px;display:flex}.home-recent-item{border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.home-recent-item:hover{background:var(--hover)}.home-recent-item .recent-title{font-size:var(--fs-base);color:var(--text);font-weight:450}.home-recent-item .recent-meta{font-size:var(--fs-xs);color:var(--muted)}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.empty-state-icon{width:32px;height:32px;color:var(--faint)}.empty-state h2{font-size:var(--fs-xl);color:var(--text);font-weight:500}.empty-state p{font-size:var(--fs-sm);color:var(--muted);max-width:320px;line-height:1.5}.empty-state .home-actions{margin-bottom:0}.btn{font-size:var(--fs-sm);font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:500;line-height:1.4;transition:background .1s,border-color .1s,box-shadow .1s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:active{background:var(--selected)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{filter:brightness(.95)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);border-color:#0000}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-sm{font-size:var(--fs-xs);padding:4px 10px}.btn-icon{min-width:28px;height:28px;padding:4px}.dialog-overlay{z-index:100;background:#0000004d;justify-content:center;align-items:center;animation:.1s ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .dialog-overlay{background:#00000080}.dialog-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:101;flex-direction:column;width:480px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);animation:.12s ease-out scaleIn;display:flex;position:fixed;top:50%;left:50%;overflow:auto;translate:-50% -50%}.auth-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;font:11px var(--font-mono);background:var(--background);border-radius:6px;margin-block:12px;padding:12px;overflow:auto}.dialog-content:focus{outline:none}.dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.dialog-header h2{font-size:var(--fs-lg);color:var(--text);font-weight:550}.dialog-close{width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.dialog-close:hover{color:var(--text);background:var(--hover)}.dialog-close svg{width:14px;height:14px}.dialog-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 16px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.form-label .required{color:var(--danger);margin-left:2px}.form-hint{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.form-warning{font-size:var(--fs-xs);color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:6px 10px;line-height:1.4}.form-warning strong{font-weight:600}.form-input,.form-select{font-size:var(--fs-base);font-family:var(--font-sans);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);outline:none;padding:7px 10px;transition:border-color .1s}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0059b31a}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus{box-shadow:0 0 0 2px #4d9eff26}.form-input::placeholder{color:var(--faint)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8a88' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a7a78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.input-with-action{gap:6px;display:flex}.input-with-action .form-input{flex:1}.settings-dialog .dialog-content{width:560px}.settings-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:0;padding:0 20px;display:flex}.settings-tab{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;font-weight:450;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;transition:color .1s,border-color .1s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-section{flex-direction:column;gap:16px;padding:0;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.settings-row-info{flex:1;min-width:0}.settings-row-label{font-size:var(--fs-base);color:var(--text);font-weight:450}.settings-row-desc{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.theme-options{gap:4px;display:flex}.theme-option{font-size:var(--fs-sm);font-family:var(--font-sans);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:4px 12px;transition:background .1s,border-color .1s}.theme-option:hover{background:var(--hover)}.theme-option.active{border-color:var(--accent);background:var(--selected)}.codex-status{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.codex-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.codex-dot.idle{background:var(--faint)}.codex-dot.running{background:#f59e0b}.codex-dot.connected{background:#22c55e}.codex-dot.cancelled{background:var(--muted)}.codex-dot.failed{background:var(--danger)}.shortcuts-list{flex-direction:column;gap:2px;display:flex}.shortcut-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.shortcut-keys{align-items:center;gap:4px;display:flex}kbd{font-size:var(--fs-xs);font-family:var(--font-mono);background:var(--hover);border:1px solid var(--line);min-width:20px;height:20px;color:var(--text);border-radius:3px;justify-content:center;align-items:center;padding:2px 6px;line-height:1;display:inline-flex}.cmdk-overlay{z-index:200;background:#00000040;justify-content:center;align-items:flex-start;padding-top:80px;animation:80ms ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .cmdk-overlay{background:#00000073}.cmdk-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:520px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg);animation:.1s ease-out scaleIn;overflow:hidden}.cmdk-input{width:100%;font-size:var(--fs-lg);font-family:var(--font-sans);border:none;border-bottom:1px solid var(--line);color:var(--text);background:0 0;outline:none;padding:12px 16px}.cmdk-input::placeholder{color:var(--faint)}.cmdk-list{max-height:320px;padding:4px;overflow-y:auto}.cmdk-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 12px 4px;font-weight:600}.cmdk-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;transition:background 60ms;display:flex}.cmdk-item[data-highlighted]{background:var(--hover)}.cmdk-item[data-disabled]{color:var(--faint);pointer-events:none}.cmdk-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.cmdk-item .cmdk-item-shortcut{font-size:var(--fs-xs);color:var(--faint);margin-left:auto}.cmdk-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:16px}.error-banner{background:var(--danger-bg);border-bottom:1px solid var(--danger);font-size:var(--fs-sm);color:var(--danger);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;animation:.15s ease-out slideDown;display:flex}.error-banner svg{flex-shrink:0;width:14px;height:14px}.error-banner-text{flex:1;min-width:0}.error-banner-actions{flex-shrink:0;gap:6px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.spinner-sm{border-width:1.5px;width:12px;height:12px}.loading-shell,.error-shell{height:100%;color:var(--muted);font-size:var(--fs-sm);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.error-shell{color:var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (width<=900px){.inspector-panel{width:280px}}@media (width<=760px){.session-sidebar:not(.collapsed){width:180px}.home-projects{display:none}.home-main{padding:16px 20px}.dialog-content{width:calc(100vw - 24px);max-height:calc(100vh - 40px)}}
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";var i=e(t(),1),a=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),o=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),s=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},l={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},u=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},d=(0,i.createContext)({}),f=()=>(0,i.useContext)(d),p=(0,i.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:o=``,children:s,iconNode:c,...d},p)=>{let{size:m=24,strokeWidth:h=2,absoluteStrokeWidth:g=!1,color:_=`currentColor`,className:v=``}=f()??{},y=r??g?Number(n??h)*24/Number(t??m):n??h;return(0,i.createElement)(`svg`,{ref:p,...l,width:t??m??l.width,height:t??m??l.height,stroke:e??_,strokeWidth:y,className:a(`lucide`,v,o),...!s&&!u(d)&&{"aria-hidden":`true`},...d},[...c.map(([e,t])=>(0,i.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),m=(e,t)=>{let n=(0,i.forwardRef)(({className:n,...r},s)=>(0,i.createElement)(p,{ref:s,iconNode:t,className:a(`lucide-${o(c(e))}`,`lucide-${e}`,n),...r}));return n.displayName=c(e),n},h=m(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]);typeof window<`u`&&window.document&&window.document.createElement;function g(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var _=e(r(),1),v=n();function y(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function b(...e){return t=>{let n=!1,r=e.map(e=>{let r=y(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():y(e[t],null)}}}}function x(...e){return i.useCallback(b(...e),e)}function S(e,t){let n=i.createContext(t),r=e=>{let{children:t,...r}=e,a=i.useMemo(()=>r,Object.values(r));return(0,v.jsx)(n.Provider,{value:a,children:t})};r.displayName=e+`Provider`;function a(r){let a=i.useContext(n);if(a)return a;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,a]}function C(e,t=[]){let n=[];function r(t,r){let a=i.createContext(r),o=n.length;n=[...n,r];let s=t=>{let{scope:n,children:r,...s}=t,c=n?.[e]?.[o]||a,l=i.useMemo(()=>s,Object.values(s));return(0,v.jsx)(c.Provider,{value:l,children:r})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[o]||a,l=i.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let a=()=>{let t=n.map(e=>i.createContext(e));return function(n){let r=n?.[e]||t;return i.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return a.scopeName=e,[r,w(a,...t)]}function w(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var T=globalThis?.document?i.useLayoutEffect:()=>{},E=i.useId||(()=>void 0),D=0;function O(e){let[t,n]=i.useState(E());return T(()=>{e||n(e=>e??String(D++))},[e]),e||(t?`radix-${t}`:``)}var k=i.useInsertionEffect||T;function A({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,o,s]=j({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:a;{let t=i.useRef(e!==void 0);i.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,i.useCallback(t=>{if(c){let n=M(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s])]}function j({defaultProp:e,onChange:t}){let[n,r]=i.useState(e),a=i.useRef(n),o=i.useRef(t);return k(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,r,o]}function M(e){return typeof e==`function`}function N(e){let t=P(e),n=i.forwardRef((e,n)=>{let{children:r,...a}=e,o=i.Children.toArray(r),s=o.find(I);if(s){let e=s.props.children,r=o.map(t=>t===s?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,v.jsx)(t,{...a,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,v.jsx)(t,{...a,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function P(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(i.isValidElement(n)){let e=R(n),a=L(r,n.props);return n.type!==i.Fragment&&(a.ref=t?b(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var F=Symbol(`radix.slottable`);function I(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===F}function L(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function R(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var z=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=N(`Primitive.${t}`),r=i.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,v.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function B(e,t){e&&_.flushSync(()=>e.dispatchEvent(t))}function V(e){let t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...e)=>t.current?.(...e),[])}function H(e,t){return i.useReducer((e,n)=>t[e][n]??e,e)}var U=e=>{let{present:t,children:n}=e,r=W(t),a=typeof n==`function`?n({present:r.isPresent}):i.Children.only(n),o=x(r.ref,K(a));return typeof n==`function`||r.isPresent?i.cloneElement(a,{ref:o}):null};U.displayName=`Presence`;function W(e){let[t,n]=i.useState(),r=i.useRef(null),a=i.useRef(e),o=i.useRef(`none`),[s,c]=H(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return i.useEffect(()=>{let e=G(r.current);o.current=s===`mounted`?e:`none`},[s]),T(()=>{let t=r.current,n=a.current;if(n!==e){let r=o.current,i=G(t);e?c(`MOUNT`):i===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==i?`ANIMATION_OUT`:`UNMOUNT`),a.current=e}},[e,c]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,i=i=>{let o=G(r.current).includes(CSS.escape(i.animationName));if(i.target===t&&o&&(c(`ANIMATION_END`),!a.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=G(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,i),t.addEventListener(`animationend`,i),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,i),t.removeEventListener(`animationend`,i)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:i.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function G(e){return e?.animationName||`none`}function K(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var q=Symbol.for(`react.lazy`),J=i.use;function Y(e){return typeof e==`object`&&!!e&&`then`in e}function X(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===q&&`_payload`in e&&Y(e._payload)}function Z(e){let t=$(e),n=i.forwardRef((e,n)=>{let{children:r,...a}=e;X(r)&&typeof J==`function`&&(r=J(r._payload));let o=i.Children.toArray(r),s=o.find(te);if(s){let e=s.props.children,r=o.map(t=>t===s?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,v.jsx)(t,{...a,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,v.jsx)(t,{...a,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var Q=Z(`Slot`);function $(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(X(n)&&typeof J==`function`&&(n=J(n._payload)),i.isValidElement(n)){let e=re(n),a=ne(r,n.props);return n.type!==i.Fragment&&(a.ref=t?b(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ee=Symbol(`radix.slottable`);function te(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===ee}function ne(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function re(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{m as _,z as a,A as c,S as d,C as f,h as g,g as h,V as i,O as l,x as m,Z as n,B as o,b as p,U as r,N as s,Q as t,T as u};
@@ -0,0 +1,45 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";import{_ as i,a,c as o,d as s,f as c,h as l,i as u,l as d,m as f,o as p,r as m,s as h,u as g}from"./dist-CmX-h7a4.js";var _=i(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),v=i(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),y=e(t(),1);function ee(e,t=globalThis?.document){let n=u(e);y.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var b=n(),x=`DismissableLayer`,S=`dismissableLayer.update`,C=`dismissableLayer.pointerDownOutside`,w=`dismissableLayer.focusOutside`,te,ne=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),T=y.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...u}=e,d=y.useContext(ne),[p,m]=y.useState(null),h=p?.ownerDocument??globalThis?.document,[,g]=y.useState({}),_=f(t,e=>m(e)),v=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),C=v.indexOf(x),w=p?v.indexOf(p):-1,T=d.layersWithOutsidePointerEventsDisabled.size>0,E=w>=C,re=ie(e=>{let t=e.target,n=[...d.branches].some(e=>e.contains(t));!E||n||(i?.(e),s?.(e),e.defaultPrevented||c?.())},h),D=ae(e=>{let t=e.target;[...d.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},h);return ee(e=>{w===d.layers.size-1&&(r?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},h),y.useEffect(()=>{if(p)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(te=h.body.style.pointerEvents,h.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(p)),d.layers.add(p),oe(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=te)}},[p,h,n,d]),y.useEffect(()=>()=>{p&&(d.layers.delete(p),d.layersWithOutsidePointerEventsDisabled.delete(p),oe())},[p,d]),y.useEffect(()=>{let e=()=>g({});return document.addEventListener(S,e),()=>document.removeEventListener(S,e)},[]),(0,b.jsx)(a.div,{...u,ref:_,style:{pointerEvents:T?E?`auto`:`none`:void 0,...e.style},onFocusCapture:l(e.onFocusCapture,D.onFocusCapture),onBlurCapture:l(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:l(e.onPointerDownCapture,re.onPointerDownCapture)})});T.displayName=x;var E=`DismissableLayerBranch`,re=y.forwardRef((e,t)=>{let n=y.useContext(ne),r=y.useRef(null),i=f(t,r);return y.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,b.jsx)(a.div,{...e,ref:i})});re.displayName=E;function ie(e,t=globalThis?.document){let n=u(e),r=y.useRef(!1),i=y.useRef(()=>{});return y.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){D(C,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ae(e,t=globalThis?.document){let n=u(e),r=y.useRef(!1);return y.useEffect(()=>{let e=e=>{e.target&&!r.current&&D(w,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function oe(){let e=new CustomEvent(S);document.dispatchEvent(e)}function D(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?p(i,a):i.dispatchEvent(a)}var O=`focusScope.autoFocusOnMount`,k=`focusScope.autoFocusOnUnmount`,se={bubbles:!1,cancelable:!0},ce=`FocusScope`,le=y.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[c,l]=y.useState(null),d=u(i),p=u(o),m=y.useRef(null),h=f(t,e=>l(e)),g=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(g.paused||!c)return;let t=e.target;c.contains(t)?m.current=t:A(m.current,{select:!0})},t=function(e){if(g.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||A(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&A(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,c,g.paused]),y.useEffect(()=>{if(c){ge.add(g);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(O,se);c.addEventListener(O,d),c.dispatchEvent(t),t.defaultPrevented||(ue(ye(fe(c)),{select:!0}),document.activeElement===e&&A(c))}return()=>{c.removeEventListener(O,d),setTimeout(()=>{let t=new CustomEvent(k,se);c.addEventListener(k,p),c.dispatchEvent(t),t.defaultPrevented||A(e??document.body,{select:!0}),c.removeEventListener(k,p),ge.remove(g)},0)}}},[c,d,p,g]);let _=y.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=de(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&A(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&A(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,b.jsx)(a.div,{tabIndex:-1,...s,ref:h,onKeyDown:_})});le.displayName=ce;function ue(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(A(r,{select:t}),document.activeElement!==n)return}function de(e){let t=fe(e);return[pe(t,e),pe(t.reverse(),e)]}function fe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function pe(e,t){for(let n of e)if(!me(n,{upTo:t}))return n}function me(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function he(e){return e instanceof HTMLInputElement&&`select`in e}function A(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&he(e)&&t&&e.select()}}var ge=_e();function _e(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ve(e,t),e.unshift(t)},remove(t){e=ve(e,t),e[0]?.resume()}}}function ve(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ye(e){return e.filter(e=>e.tagName!==`A`)}var be=e(r(),1),xe=`Portal`,Se=y.forwardRef((e,t)=>{let{container:n,...r}=e,[i,o]=y.useState(!1);g(()=>o(!0),[]);let s=n||i&&globalThis?.document?.body;return s?be.createPortal((0,b.jsx)(a.div,{...r,ref:t}),s):null});Se.displayName=xe;var Ce=0;function we(){y.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Te()),document.body.insertAdjacentElement(`beforeend`,e[1]??Te()),Ce++,()=>{Ce===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Ce--}},[])}function Te(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var j=function(){return j=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},j.apply(this,arguments)};function Ee(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function De(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var M=`right-scroll-bar-position`,N=`width-before-scroll-bar`,Oe=`with-scroll-bars-hidden`,ke=`--removed-body-scroll-bar-size`;function P(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Ae(e,t){var n=(0,y.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var je=typeof window<`u`?y.useLayoutEffect:y.useEffect,Me=new WeakMap;function Ne(e,t){var n=Ae(t||null,function(t){return e.forEach(function(e){return P(e,t)})});return je(function(){var t=Me.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||P(e,null)}),i.forEach(function(e){r.has(e)||P(e,a)})}Me.set(n,e)},[e]),n}function Pe(e){return e}function Fe(e,t){t===void 0&&(t=Pe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ie(e){e===void 0&&(e={});var t=Fe(null);return t.options=j({async:!0,ssr:!1},e),t}var Le=function(e){var t=e.sideCar,n=Ee(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return y.createElement(r,j({},n))};Le.isSideCarExport=!0;function Re(e,t){return e.useMedium(t),Le}var ze=Ie(),F=function(){},I=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:F,onWheelCapture:F,onTouchMoveCapture:F}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,b=Ee(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Ne([n,t]),C=j(j({},b),i);return y.createElement(y.Fragment,null,u&&y.createElement(x,{sideCar:ze,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?y.cloneElement(y.Children.only(s),j(j({},C),{ref:S})):y.createElement(v,j({},C,{className:c,ref:S}),s))});I.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},I.classNames={fullWidth:N,zeroRight:M};var Be=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ve(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Be();return t&&e.setAttribute(`nonce`,t),e}function He(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ue(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var We=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ve())&&(He(t,n),Ue(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ge=function(){var e=We();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ke=function(){var e=Ge();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},qe={left:0,top:0,right:0,gap:0},L=function(e){return parseInt(e||``,10)||0},Je=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[L(n),L(r),L(i)]},Ye=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return qe;var t=Je(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Xe=Ke(),R=`data-scroll-locked`,Ze=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${Oe} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${R}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${M} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${N} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${M} .${M} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${N} .${N} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${R}] {
36
+ ${ke}: ${s}px;
37
+ }
38
+ `},Qe=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},$e=function(){y.useEffect(function(){return document.body.setAttribute(R,(Qe()+1).toString()),function(){var e=Qe()-1;e<=0?document.body.removeAttribute(R):document.body.setAttribute(R,e.toString())}},[])},et=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;$e();var a=y.useMemo(function(){return Ye(i)},[i]);return y.createElement(Xe,{styles:Ze(a,!t,i,n?``:`!important`)})},z=!1;if(typeof window<`u`)try{var B=Object.defineProperty({},"passive",{get:function(){return z=!0,!0}});window.addEventListener(`test`,B,B),window.removeEventListener(`test`,B,B)}catch{z=!1}var V=z?{passive:!1}:!1,tt=function(e){return e.tagName===`TEXTAREA`},nt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!tt(e)&&n[t]===`visible`)},rt=function(e){return nt(e,`overflowY`)},it=function(e){return nt(e,`overflowX`)},at=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),ct(e,r)){var i=lt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ot=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},st=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},ct=function(e,t){return e===`v`?rt(t):it(t)},lt=function(e,t){return e===`v`?ot(t):st(t)},ut=function(e,t){return e===`h`&&t===`rtl`?-1:1},dt=function(e,t,n,r,i){var a=ut(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=lt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&ct(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},H=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ft=function(e){return[e.deltaX,e.deltaY]},pt=function(e){return e&&`current`in e?e.current:e},mt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ht=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},gt=0,U=[];function _t(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(gt++)[0],a=y.useState(Ke)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=De([e.lockRef.current],(e.shards||[]).map(pt),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=H(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=at(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=at(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return dt(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!U.length||U[U.length-1]!==a)){var r=`deltaY`in n?ft(n):H(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&mt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(pt).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:vt(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=H(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,ft(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,H(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return U.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,V),document.addEventListener(`touchmove`,c,V),document.addEventListener(`touchstart`,u,V),function(){U=U.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,V),document.removeEventListener(`touchmove`,c,V),document.removeEventListener(`touchstart`,u,V)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:ht(i)}):null,p?y.createElement(et,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function vt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var yt=Re(ze,_t),bt=y.forwardRef(function(e,t){return y.createElement(I,j({},e,{ref:t,sideCar:yt}))});bt.classNames=I.classNames;var xt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},W=new WeakMap,G=new WeakMap,K={},q=0,St=function(e){return e&&(e.host||St(e.parentNode))},Ct=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=St(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},wt=function(e,t,n,r){var i=Ct(t,Array.isArray(e)?e:[e]);K[n]||(K[n]=new WeakMap);var a=K[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(W.get(e)||0)+1,l=(a.get(e)||0)+1;W.set(e,c),a.set(e,l),o.push(e),c===1&&i&&G.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),q++,function(){o.forEach(function(e){var t=W.get(e)-1,i=a.get(e)-1;W.set(e,t),a.set(e,i),t||(G.has(e)||e.removeAttribute(r),G.delete(e)),i||e.removeAttribute(n)}),q--,q||(W=new WeakMap,W=new WeakMap,G=new WeakMap,K={})}},Tt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||xt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),wt(r,i,n,`aria-hidden`)):function(){return null}},J=`Dialog`,[Et,Dt]=c(J),[Ot,Y]=Et(J),kt=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,c=y.useRef(null),l=y.useRef(null),[u,f]=o({prop:r,defaultProp:i??!1,onChange:a,caller:J});return(0,b.jsx)(Ot,{scope:t,triggerRef:c,contentRef:l,contentId:d(),titleId:d(),descriptionId:d(),open:u,onOpenChange:f,onOpenToggle:y.useCallback(()=>f(e=>!e),[f]),modal:s,children:n})};kt.displayName=J;var At=`DialogTrigger`,jt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(At,n),o=f(t,i.triggerRef);return(0,b.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...r,ref:o,onClick:l(e.onClick,i.onOpenToggle)})});jt.displayName=At;var X=`DialogPortal`,[Mt,Nt]=Et(X,{forceMount:void 0}),Pt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Y(X,t);return(0,b.jsx)(Mt,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,b.jsx)(m,{present:n||a.open,children:(0,b.jsx)(Se,{asChild:!0,container:i,children:e})}))})};Pt.displayName=X;var Z=`DialogOverlay`,Ft=y.forwardRef((e,t)=>{let n=Nt(Z,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(Z,e.__scopeDialog);return a.modal?(0,b.jsx)(m,{present:r||a.open,children:(0,b.jsx)(Lt,{...i,ref:t})}):null});Ft.displayName=Z;var It=h(`DialogOverlay.RemoveScroll`),Lt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Z,n);return(0,b.jsx)(bt,{as:It,allowPinchZoom:!0,shards:[i.contentRef],children:(0,b.jsx)(a.div,{"data-state":$(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),Q=`DialogContent`,Rt=y.forwardRef((e,t)=>{let n=Nt(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(Q,e.__scopeDialog);return(0,b.jsx)(m,{present:r||a.open,children:a.modal?(0,b.jsx)(zt,{...i,ref:t}):(0,b.jsx)(Bt,{...i,ref:t})})});Rt.displayName=Q;var zt=y.forwardRef((e,t)=>{let n=Y(Q,e.__scopeDialog),r=y.useRef(null),i=f(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return Tt(e)},[]),(0,b.jsx)(Vt,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:l(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:l(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault())})}),Bt=y.forwardRef((e,t)=>{let n=Y(Q,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,b.jsx)(Vt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Vt=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=Y(Q,n),c=y.useRef(null),l=f(t,c);return we(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(le,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,b.jsx)(T,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":$(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Zt,{titleId:s.titleId}),(0,b.jsx)($t,{contentRef:c,descriptionId:s.descriptionId})]})]})}),Ht=`DialogTitle`,Ut=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Ht,n);return(0,b.jsx)(a.h2,{id:i.titleId,...r,ref:t})});Ut.displayName=Ht;var Wt=`DialogDescription`,Gt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Wt,n);return(0,b.jsx)(a.p,{id:i.descriptionId,...r,ref:t})});Gt.displayName=Wt;var Kt=`DialogClose`,qt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Kt,n);return(0,b.jsx)(a.button,{type:`button`,...r,ref:t,onClick:l(e.onClick,()=>i.onOpenChange(!1))})});qt.displayName=Kt;function $(e){return e?`open`:`closed`}var Jt=`DialogTitleWarning`,[Yt,Xt]=s(Jt,{contentName:Q,titleName:Ht,docsSlug:`dialog`}),Zt=({titleId:e})=>{let t=Xt(Jt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
42
+
43
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
44
+
45
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Qt=`DialogDescriptionWarning`,$t=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Xt(Qt).contentName}}.`;return y.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},en=kt,tn=jt,nn=Pt,rn=Ft,an=Rt,on=Ut,sn=Gt,cn=qt;export{nn as a,tn as c,rn as i,v as l,an as n,en as o,sn as r,on as s,cn as t,_ as u};
@@ -0,0 +1,5 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";import{_ as i,n as a,o,v as s,y as c}from"./format-PoISqsES.js";import{T as l,t as u,w as d}from"./operations-D8nUP5_m.js";import{_ as f}from"./dist-CmX-h7a4.js";import{t as p}from"./bot-yILPnRgD.js";import{a as m,i as h,n as g,r as _,t as v}from"./tabs-DivxbhQy.js";import{t as y}from"./copy-Bi5vzoF9.js";import{u as b}from"./dist-DAwYQmf_.js";import{t as x}from"./search-CiooTLck.js";import{a as S,c as C,d as w,f as T,i as E,l as D,n as ee,o as O,p as k,r as te,s as A,t as j,u as ne}from"./table-BYS-nIVA.js";import{n as re,t as M}from"./meta-tile-CcskIV_o.js";import{t as N}from"./page-header-MFVvEtZW.js";import{C as P,D as F,E as I,M as ie,S as L,a as ae,b as R,c as z,d as B,f as oe,g as V,h as H,i as se,l as U,m as W,n as ce,o as le,p as G,r as ue,s as de,t as fe,u as pe,v as K,x as me,y as he}from"./operations-app-CQQhG54n.js";var ge=f(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),_e=f(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ve=f(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),ye=f(`user-round`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),q=f(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),J=e(t()),Y=n();function be({request:e,response:t,analysis:n}){return(0,Y.jsxs)(v,{defaultValue:`request`,className:`space-y-4`,children:[(0,Y.jsx)(_,{children:[[`request`,`Evidence request`],[`response`,`Evidence response`],[`analysis`,`Analysis`]].map(([e,t])=>(0,Y.jsx)(h,{value:e,children:t},e))}),(0,Y.jsx)(g,{value:`request`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:e})})})}),(0,Y.jsx)(g,{value:`response`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:t})})})}),(0,Y.jsx)(g,{value:`analysis`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:n??`No evidence analysis recorded.`})})})})]})}var xe=e(r());function Se(){var e=[...arguments];return(0,J.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ce=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function we(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Te(e){return`nodeType`in e}function X(e){return e?we(e)?e:Te(e)?e.ownerDocument?.defaultView??window:window:window}function Ee(e){let{Document:t}=X(e);return e instanceof t}function De(e){return!we(e)&&e instanceof X(e).HTMLElement}function Oe(e){return e instanceof X(e).SVGElement}function ke(e){return e?we(e)?e.document:Te(e)?Ee(e)?e:De(e)||Oe(e)?e.ownerDocument:document:document:document}var Ae=Ce?J.useLayoutEffect:J.useEffect;function je(e){let t=(0,J.useRef)(e);return Ae(()=>{t.current=e}),(0,J.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Me(){let e=(0,J.useRef)(null);return[(0,J.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,J.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ne(e,t){t===void 0&&(t=[e]);let n=(0,J.useRef)(e);return Ae(()=>{n.current!==e&&(n.current=e)},t),n}function Pe(e,t){let n=(0,J.useRef)();return(0,J.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Fe(e){let t=je(e),n=(0,J.useRef)(null);return[n,(0,J.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ie(e){let t=(0,J.useRef)();return(0,J.useEffect)(()=>{t.current=e},[e]),t.current}var Le={};function Re(e,t){return(0,J.useMemo)(()=>{if(t)return t;let n=Le[e]==null?0:Le[e]+1;return Le[e]=n,e+`-`+n},[e,t])}function ze(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var Be=ze(1),Ve=ze(-1);function He(e){return`clientX`in e&&`clientY`in e}function Ue(e){if(!e)return!1;let{KeyboardEvent:t}=X(e.target);return t&&e instanceof t}function We(e){if(!e)return!1;let{TouchEvent:t}=X(e.target);return t&&e instanceof t}function Ge(e){if(We(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return He(e)?{x:e.clientX,y:e.clientY}:null}var Ke=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Ke.Translate.toString(e),Ke.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),qe=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Je(e){return e.matches(qe)?e:e.querySelector(qe)}var Ye={display:`none`};function Xe(e){let{id:t,value:n}=e;return J.createElement(`div`,{id:t,style:Ye},n)}function Ze(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return J.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Qe(){let[e,t]=(0,J.useState)(``);return{announce:(0,J.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var $e=(0,J.createContext)(null);function et(e){let t=(0,J.useContext)($e);(0,J.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function tt(){let[e]=(0,J.useState)(()=>new Set),t=(0,J.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,J.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var nt={draggable:`
2
+ To pick up a draggable item, press the space bar.
3
+ While dragging, use the arrow keys to move the item.
4
+ Press space again to drop the item in its new position, or press escape to cancel.
5
+ `},rt={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function it(e){let{announcements:t=rt,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=nt}=e,{announce:a,announcement:o}=Qe(),s=Re(`DndLiveRegion`),[c,l]=(0,J.useState)(!1);if((0,J.useEffect)(()=>{l(!0)},[]),et((0,J.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=J.createElement(J.Fragment,null,J.createElement(Xe,{id:r,value:i.draggable}),J.createElement(Ze,{id:s,announcement:o}));return n?(0,xe.createPortal)(u,n):u}var Z;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(Z||={});function at(){}function ot(e,t){return(0,J.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function st(){var e=[...arguments];return(0,J.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var ct=Object.freeze({x:0,y:0});function lt(e,t){let n=Ge(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function ut(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function dt(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function ft(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var pt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=ft(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(ut)};function mt(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ht(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ct}function gt(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var _t=gt(1);function vt(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function yt(e,t,n){let r=vt(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var bt={ignoreTransform:!1};function xt(e,t){t===void 0&&(t=bt);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=X(e).getComputedStyle(e);t&&(n=yt(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function St(e){return xt(e,{ignoreTransform:!0})}function Ct(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function wt(e,t){return t===void 0&&(t=X(e).getComputedStyle(e)),t.position===`fixed`}function Tt(e,t){t===void 0&&(t=X(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Et(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ee(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!De(i)||Oe(i)||n.includes(i))return n;let a=X(e).getComputedStyle(i);return i!==e&&Tt(i,a)&&n.push(i),wt(i,a)?n:r(i.parentNode)}return e?r(e):n}function Dt(e){let[t]=Et(e,1);return t??null}function Ot(e){return!Ce||!e?null:we(e)?e:Te(e)?Ee(e)||e===ke(e).scrollingElement?window:De(e)?e:null:null}function kt(e){return we(e)?e.scrollX:e.scrollLeft}function At(e){return we(e)?e.scrollY:e.scrollTop}function jt(e){return{x:kt(e),y:At(e)}}var Q;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Q||={});function Mt(e){return!Ce||!e?!1:e===document.scrollingElement}function Nt(e){let t={x:0,y:0},n=Mt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Pt={x:.2,y:.2};function Ft(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Pt);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Nt(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Q.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Q.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Q.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Q.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function It(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Lt(e){return e.reduce((e,t)=>Be(e,jt(t)),ct)}function Rt(e){return e.reduce((e,t)=>e+kt(t),0)}function zt(e){return e.reduce((e,t)=>e+At(t),0)}function Bt(e,t){if(t===void 0&&(t=xt),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Dt(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Vt=[[`x`,[`left`,`right`],Rt],[`y`,[`top`,`bottom`],zt]],Ht=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Et(t),r=Lt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Vt)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},Ut=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Wt(e){let{EventTarget:t}=X(e);return e instanceof t?e:ke(e)}function Gt(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var Kt;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Kt||={});function qt(e){e.preventDefault()}function Jt(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var Yt={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},Xt=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},Zt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new Ut(ke(t)),this.windowListeners=new Ut(X(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Kt.Resize,this.handleCancel),this.windowListeners.add(Kt.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Kt.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Bt(n),t(ct)}handleKeyDown(e){if(Ue(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Yt,coordinateGetter:a=Xt,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:ct;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Ve(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Nt(n),p=It(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Be(Ve(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Zt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Yt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Qt(e){return!!(e&&`distance`in e)}function $t(e){return!!(e&&`delay`in e)}var en=class{constructor(e,t,n){n===void 0&&(n=Wt(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=ke(i),this.documentListeners=new Ut(this.document),this.listeners=new Ut(n),this.windowListeners=new Ut(X(i)),this.initialCoordinates=Ge(r)??ct,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Kt.Resize,this.handleCancel),this.windowListeners.add(Kt.DragStart,qt),this.windowListeners.add(Kt.VisibilityChange,this.handleCancel),this.windowListeners.add(Kt.ContextMenu,qt),this.documentListeners.add(Kt.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if($t(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Qt(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Kt.Click,Jt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Kt.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ge(e)??ct,s=Ve(n,o);if(!t&&a){if(Qt(a)){if(a.tolerance!=null&&Gt(s,a.tolerance))return this.handleCancel();if(Gt(s,a.distance))return this.handleStart()}if($t(a)&&Gt(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},tn={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},nn=class extends en{constructor(e){let{event:t}=e,n=ke(t.target);super(e,tn,n)}};nn.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var rn={move:{name:`mousemove`},end:{name:`mouseup`}},an;(function(e){e[e.RightClick=2]=`RightClick`})(an||={});var on=class extends en{constructor(e){super(e,rn,ke(e.event.target))}};on.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==an.RightClick&&(r?.({event:n}),!0)}}];var sn={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},cn=class extends en{constructor(e){super(e,sn)}static setup(){return window.addEventListener(sn.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(sn.move.name,e)};function e(){}}};cn.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var ln;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(ln||={});var un;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(un||={});function dn(e){let{acceleration:t,activator:n=ln.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=un.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=pn({delta:d,disabled:!a}),[m,h]=Me(),g=(0,J.useRef)({x:0,y:0}),_=(0,J.useRef)({x:0,y:0}),v=(0,J.useMemo)(()=>{switch(n){case ln.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case ln.DraggableRect:return i}},[n,i,c]),y=(0,J.useRef)(null),b=(0,J.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,J.useMemo)(()=>s===un.TreeOrder?[...l].reverse():l,[s,l]);(0,J.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=Ft(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var fn={x:{[Q.Backward]:!1,[Q.Forward]:!1},y:{[Q.Backward]:!1,[Q.Forward]:!1}};function pn(e){let{delta:t,disabled:n}=e,r=Ie(t);return Pe(e=>{if(n||!r||!e)return fn;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Q.Backward]:e.x[Q.Backward]||i.x===-1,[Q.Forward]:e.x[Q.Forward]||i.x===1},y:{[Q.Backward]:e.y[Q.Backward]||i.y===-1,[Q.Forward]:e.y[Q.Forward]||i.y===1}}},[n,t,r])}function mn(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Pe(e=>t==null?null:r??e??null,[r,t])}function hn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var gn;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(gn||={});var _n;(function(e){e.Optimized=`optimized`})(_n||={});var vn=new Map;function yn(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,J.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,J.useRef)(e),d=g(),f=Ne(d),p=(0,J.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,J.useRef)(null),h=Pe(t=>{if(d&&!n)return vn;if(!t||t===vn||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new Ht(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,J.useEffect)(()=>{u.current=e},[e]),(0,J.useEffect)(()=>{d||p()},[n,d]),(0,J.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,J.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case gn.Always:return!1;case gn.BeforeDragging:return n;default:return!n}}}function bn(e,t){return Pe(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function xn(e,t){return bn(e,t)}function Sn(e){let{callback:t,disabled:n}=e,r=je(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Cn(e){let{callback:t,disabled:n}=e,r=je(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function wn(e){return new Ht(xt(e),e)}function Tn(e,t,n){t===void 0&&(t=wn);let[r,i]=(0,J.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Sn({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Cn({callback:a});return Ae(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function En(e){return ht(e,bn(e))}var Dn=[];function On(e){let t=(0,J.useRef)(e),n=Pe(n=>e?n&&n!==Dn&&e&&t.current&&e.parentNode===t.current.parentNode?n:Et(e):Dn,[e]);return(0,J.useEffect)(()=>{t.current=e},[e]),n}function kn(e){let[t,n]=(0,J.useState)(null),r=(0,J.useRef)(e),i=(0,J.useCallback)(e=>{let t=Ot(e.target);t&&n(e=>e?(e.set(t,jt(t)),new Map(e)):null)},[]);return(0,J.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Ot(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,jt(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Ot(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,J.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Be(e,t),ct):Lt(e):ct,[e,t])}function An(e,t){t===void 0&&(t=[]);let n=(0,J.useRef)(null);return(0,J.useEffect)(()=>{n.current=null},t),(0,J.useEffect)(()=>{let t=e!==ct;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Ve(e,n.current):ct}function jn(e){(0,J.useEffect)(()=>{if(!Ce)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Mn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Nn(e){return(0,J.useMemo)(()=>e?Ct(e):null,[e])}var Pn=[];function Fn(e,t){t===void 0&&(t=xt);let[n]=e,r=Nn(n?X(n):null),[i,a]=(0,J.useState)(Pn);function o(){a(()=>e.length?e.map(e=>Mt(e)?r:new Ht(t(e),e)):Pn)}let s=Cn({callback:o});return Ae(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function In(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return De(t)?t:e}function Ln(e){let{measure:t}=e,[n,r]=(0,J.useState)(null),i=Cn({callback:(0,J.useCallback)(e=>{for(let{target:n}of e)if(De(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Fe((0,J.useCallback)(e=>{let n=In(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,J.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Rn=[{sensor:nn,options:{}},{sensor:Zt,options:{}}],zn={current:{}},Bn={draggable:{measure:St},droppable:{measure:St,strategy:gn.WhileDragging,frequency:_n.Optimized},dragOverlay:{measure:xt}},Vn=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},Hn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Vn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:at},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Bn,measureDroppableContainers:at,windowRect:null,measuringScheduled:!1},Un={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:at,draggableNodes:new Map,over:null,measureDroppableContainers:at},Wn=(0,J.createContext)(Un),Gn=(0,J.createContext)(Hn);function Kn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Vn}}}function qn(e,t){switch(t.type){case Z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Z.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Z.DragEnd:case Z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Z.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Vn(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Z.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new Vn(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Z.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Vn(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Jn(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,J.useContext)(Wn),a=Ie(r),o=Ie(n?.id);return(0,J.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Ue(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=Je(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Yn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Xn(e){return(0,J.useMemo)(()=>({draggable:{...Bn.draggable,...e?.draggable},droppable:{...Bn.droppable,...e?.droppable},dragOverlay:{...Bn.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Zn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,J.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Ae(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=ht(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Dt(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Qn=(0,J.createContext)({...ct,scaleX:1,scaleY:1}),$n;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})($n||={});var er=(0,J.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Rn,collisionDetection:o=pt,measuring:s,modifiers:c,...l}=e,[u,d]=(0,J.useReducer)(qn,void 0,Kn),[f,p]=tt(),[m,h]=(0,J.useState)($n.Uninitialized),g=m===$n.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,J.useRef)({initial:null,translated:null}),C=(0,J.useMemo)(()=>_==null?null:{id:_,data:x?.data??zn,rect:S},[_,x]),w=(0,J.useRef)(null),[T,E]=(0,J.useState)(null),[D,ee]=(0,J.useState)(null),O=Ne(l,Object.values(l)),k=Re(`DndDescribedBy`,t),te=(0,J.useMemo)(()=>b.getEnabled(),[b]),A=Xn(s),{droppableRects:j,measureDroppableContainers:ne,measuringScheduled:re}=yn(te,{dragging:g,dependencies:[y.x,y.y],config:A.droppable}),M=mn(v,_),N=(0,J.useMemo)(()=>D?Ge(D):null,[D]),P=be(),F=xn(M,A.draggable.measure);Zn({activeNode:_==null?null:v.get(_),config:P.layoutShiftCompensation,initialRect:F,measure:A.draggable.measure});let I=Tn(M,A.draggable.measure,F),ie=Tn(M?M.parentElement:null),L=(0,J.useRef)({activatorEvent:null,active:null,activeNode:M,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ae=b.getNodeFor(L.current.over?.id),R=Ln({measure:A.dragOverlay.measure}),z=R.nodeRef.current??M,B=g?R.rect??I:null,oe=!!(R.nodeRef.current&&R.rect),V=En(oe?null:I),H=Nn(z?X(z):null),se=On(g?ae??M:null),U=Fn(se),W=Yn(c,{transform:{x:y.x-V.x,y:y.y-V.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:I,containerNodeRect:ie,draggingNodeRect:B,over:L.current.over,overlayNodeRect:R.rect,scrollableAncestors:se,scrollableAncestorRects:U,windowRect:H}),ce=N?Be(N,y):null,le=kn(se),G=An(le),ue=An(le,[I]),de=Be(W,G),fe=B?_t(B,W):null,pe=C&&fe?o({active:C,collisionRect:fe,droppableRects:j,droppableContainers:te,pointerCoordinates:ce}):null,K=dt(pe,`id`),[me,he]=(0,J.useState)(null),ge=mt(oe?W:Be(W,ue),me?.rect??null,I),_e=(0,J.useRef)(null),ve=(0,J.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:L,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,xe.unstable_batchedUpdates)(()=>{r?.(i),h($n.Initializing),d({type:Z.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(_e.current),ee(a)})},onMove(e){d({type:Z.DragMove,coordinates:e})},onEnd:s(Z.DragEnd),onCancel:s(Z.DragCancel)});_e.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=L.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===Z.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=Z.DragCancel)}w.current=null,(0,xe.unstable_batchedUpdates)(()=>{d({type:e}),h($n.Uninitialized),he(null),E(null),ee(null),_e.current=null;let t=e===Z.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),ye=hn(a,(0,J.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,ve(n,t))},[v,ve]));jn(a),Ae(()=>{I&&m===$n.Initializing&&h($n.Initialized)},[I,m]),(0,J.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=L.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:de.x,y:de.y},over:i};(0,xe.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[de.x,de.y]),(0,J.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=L.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(K),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,xe.unstable_batchedUpdates)(()=>{he(s),a?.(c),f({type:`onDragOver`,event:c})})},[K]),Ae(()=>{L.current={activatorEvent:D,active:C,activeNode:M,collisionRect:fe,collisions:pe,droppableRects:j,draggableNodes:v,draggingNode:z,draggingNodeRect:B,droppableContainers:b,over:me,scrollableAncestors:se,scrollAdjustedTranslate:de},S.current={initial:B,translated:fe}},[C,M,pe,fe,v,z,B,j,b,me,se,de]),dn({...P,delta:y,draggingRect:fe,pointerCoordinates:ce,scrollableAncestors:se,scrollableAncestorRects:U});let q=(0,J.useMemo)(()=>({active:C,activeNode:M,activeNodeRect:I,activatorEvent:D,collisions:pe,containerNodeRect:ie,dragOverlay:R,draggableNodes:v,droppableContainers:b,droppableRects:j,over:me,measureDroppableContainers:ne,scrollableAncestors:se,scrollableAncestorRects:U,measuringConfiguration:A,measuringScheduled:re,windowRect:H}),[C,M,I,D,pe,ie,R,v,b,j,me,ne,se,U,A,re,H]),Y=(0,J.useMemo)(()=>({activatorEvent:D,activators:ye,active:C,activeNodeRect:I,ariaDescribedById:{draggable:k},dispatch:d,draggableNodes:v,over:me,measureDroppableContainers:ne}),[D,ye,C,I,d,k,v,me,ne]);return J.createElement($e.Provider,{value:p},J.createElement(Wn.Provider,{value:Y},J.createElement(Gn.Provider,{value:q},J.createElement(Qn.Provider,{value:ge},i)),J.createElement(Jn,{disabled:n?.restoreFocus===!1})),J.createElement(it,{...n,hiddenTextDescribedById:k}));function be(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),tr=(0,J.createContext)(null),nr=`button`,rr=`Draggable`;function ir(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Re(rr),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,J.useContext)(Wn),{role:p=nr,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,J.useContext)(g?Qn:tr),[v,y]=Fe(),[b,x]=Fe(),S=Mn(o,t),C=Ne(n);return Ae(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,J.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===nr?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function ar(){return(0,J.useContext)(Gn)}var or=`Droppable`,sr={timeout:25};function cr(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Re(or),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,J.useContext)(Wn),u=(0,J.useRef)({disabled:n}),d=(0,J.useRef)(!1),f=(0,J.useRef)(null),p=(0,J.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...sr,...i},_=Ne(h??r),v=Cn({callback:(0,J.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Fe((0,J.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Ne(t);return(0,J.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,J.useEffect)(()=>(s({type:Z.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:Z.UnregisterDroppable,key:a,id:r})),[r]),(0,J.useEffect)(()=>{n!==u.current.disabled&&(s({type:Z.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function lr(e){let{animation:t,children:n}=e,[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null),s=Ie(n);return!n&&!r&&s&&i(s),Ae(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),J.createElement(J.Fragment,null,n,r?(0,J.cloneElement)(r,{ref:o}):null)}var ur={x:0,y:0,scaleX:1,scaleY:1};function dr(e){let{children:t}=e;return J.createElement(Wn.Provider,{value:Un},J.createElement(Qn.Provider,{value:ur},t))}var fr={position:`fixed`,touchAction:`none`},pr=e=>Ue(e)?`transform 250ms ease`:void 0,mr=(0,J.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=pr}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...fr,width:s.width,height:s.height,top:s.top,left:s.left,transform:Ke.Transform.toString(d),transformOrigin:i&&r?lt(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return J.createElement(n,{className:o,style:f,ref:t},a)}),hr={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Ke.Transform.toString(t)},{transform:Ke.Transform.toString(n)}]},sideEffects:(e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}})({styles:{active:{opacity:`0`}}})};function gr(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return je((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=In(a);if(!c)return;let{transform:l}=X(a).getComputedStyle(a),u=vt(l);if(!u)return;let d=typeof t==`function`?t:_r(t);return Bt(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function _r(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...hr,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var vr=0;function yr(e){return(0,J.useMemo)(()=>{if(e!=null)return vr++,vr},[e])}var br=J.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=ar(),S=(0,J.useContext)(Qn),C=yr(d?.id),w=Yn(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:S,windowRect:x}),T=bn(f),E=gr({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),D=T?g.setRef:void 0;return J.createElement(dr,null,J.createElement(lr,{animation:E},d&&C?J.createElement(mr,{key:C,id:d.id,ref:D,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:T,style:{zIndex:l,...i},transform:w},n):null))});function xr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Sr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Cr(e){return e!==null&&e>=0}function wr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Tr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Er=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=xr(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Dr={scaleX:1,scaleY:1},Or=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Dr}:null}let s=kr(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Dr}:r<t&&r>=a?{x:0,y:o.height+s,...Dr}:{x:0,y:0,...Dr}};function kr(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Ar=`Sortable`,jr=J.createContext({activeIndex:-1,containerId:Ar,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Er,disabled:{draggable:!1,droppable:!1}});function Mr(e){let{children:t,id:n,items:r,strategy:i=Er,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=ar(),d=Re(Ar,n),f=s.rect!==null,p=(0,J.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,J.useRef)(p),v=!wr(p,_.current),y=g!==-1&&h===-1||v,b=Tr(a);Ae(()=>{v&&m&&u(p)},[v,p,m,u]),(0,J.useEffect)(()=>{_.current=p},[p]);let x=(0,J.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Sr(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return J.createElement(jr.Provider,{value:x},t)}var Nr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return xr(n,r,i).indexOf(t)},Pr=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Fr={duration:200,easing:`ease`},Ir=`transform`,Lr=Ke.Transition.toString({property:Ir,duration:0,easing:`linear`}),Rr={roleDescription:`sortable`};function zr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,J.useState)(null),s=(0,J.useRef)(n);return Ae(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=xt(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,J.useEffect)(()=>{a&&o(null)},[a]),a}function Br(e){let{animateLayoutChanges:t=Pr,attributes:n,disabled:r,data:i,getNewIndex:a=Nr,id:o,strategy:s,resizeObserverConfig:c,transition:l=Fr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,J.useContext)(jr),y=Vr(r,p),b=u.indexOf(o),x=(0,J.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,J.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:E}=cr({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:D,activatorEvent:ee,activeNodeRect:O,attributes:k,setNodeRef:te,listeners:A,isDragging:j,over:ne,setActivatorNodeRef:re,transform:M}=ir({id:o,data:x,attributes:{...Rr,...n},disabled:y.draggable}),N=Se(E,te),P=!!D,F=P&&!m&&Cr(f)&&Cr(g),I=!_&&j,ie=F?(I&&F?M:null)??(s??v)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:g,index:b}):null,L=Cr(f)&&Cr(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ae=D?.id,R=(0,J.useRef)({activeId:ae,items:u,newIndex:L,containerId:d}),z=u!==R.current.items,B=t({active:D,containerId:d,isDragging:j,isSorting:P,id:o,index:b,items:u,newIndex:R.current.newIndex,previousItems:R.current.items,previousContainerId:R.current.containerId,transition:l,wasDragging:R.current.activeId!=null}),oe=zr({disabled:!B,index:b,node:w,rect:C});return(0,J.useEffect)(()=>{P&&R.current.newIndex!==L&&(R.current.newIndex=L),d!==R.current.containerId&&(R.current.containerId=d),u!==R.current.items&&(R.current.items=u)},[P,L,d,u]),(0,J.useEffect)(()=>{if(ae===R.current.activeId)return;if(ae!=null&&R.current.activeId==null){R.current.activeId=ae;return}let e=setTimeout(()=>{R.current.activeId=ae},50);return()=>clearTimeout(e)},[ae]),{active:D,activeIndex:f,attributes:k,data:x,rect:C,index:b,newIndex:L,items:u,isOver:T,isSorting:P,isDragging:j,listeners:A,node:w,overIndex:g,over:ne,setNodeRef:N,setActivatorNodeRef:re,setDroppableNodeRef:E,setDraggableNodeRef:te,transform:oe??ie,transition:V()};function V(){if(oe||z&&R.current.newIndex===b)return Lr;if(!(I&&!Ue(ee)||!l)&&(P||B))return Ke.Transition.toString({...l,property:Ir})}}function Vr(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}$.Down,$.Right,$.Up,$.Left;var Hr=[{status:`backlog`,label:`Backlog`,description:`New finding families discovered by the pipeline.`},{status:`todo`,label:`Todo`,description:`Queued for a worker or follow-up pass.`},{status:`in_progress`,label:`In Progress`,description:`Autonomous execution is actively running now.`},{status:`blocked`,label:`Blocked`,description:`Needs more access, context, or a better PoC.`},{status:`done`,label:`Done`,description:`Accepted, verified, or reported.`},{status:`cancelled`,label:`Cancelled`,description:`Suppressed or resolved as false positive.`}];function Ur({groups:e,selectedFingerprint:t,pendingFingerprint:n,onSelect:r,onMove:i}){let[a,o]=(0,J.useState)(null),s=st(ot(nn,{activationConstraint:{distance:6}})),c=(0,J.useMemo)(()=>{let t=new Map;for(let e of Hr)t.set(e.status,[]);for(let n of e)t.get(n.workflow.phase)?.push(n);return t},[e]),l=(0,J.useMemo)(()=>a?e.find(e=>e.fingerprint===a)??null:null,[a,e]);function u(e){o(String(e.active.id))}function d(t){o(null);let{active:n,over:r}=t;if(!r)return;let a=String(n.id),s=e.find(e=>e.fingerprint===a);if(!s)return;let c=null,l=String(r.id);if(Hr.some(e=>e.status===l))c=l;else{let t=e.find(e=>e.fingerprint===l);t&&(c=t.workflow.phase)}c&&c!==s.workflow.phase&&i(a,c)}return(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{className:`border-b border-border`,children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Finding board`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Finding workflow board`}),(0,Y.jsx)(V,{children:`Use this secondary view only when the queue does not make the next action clear.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:(0,Y.jsxs)(er,{sensors:s,onDragStart:u,onDragEnd:d,children:[(0,Y.jsx)(`div`,{className:`overflow-x-auto pb-4`,children:(0,Y.jsx)(`div`,{className:`flex min-w-max gap-4 px-6 pb-6`,children:Hr.map(e=>(0,Y.jsx)(Wr,{column:e,groups:c.get(e.status)??[],selectedFingerprint:t,pendingFingerprint:n??null,onSelect:r},e.status))})}),(0,Y.jsx)(br,{children:l?(0,Y.jsx)(Gr,{group:l,selected:t===l.fingerprint,onSelect:r,isOverlay:!0}):null})]})})]})}function Wr({column:e,groups:t,selectedFingerprint:n,pendingFingerprint:r,onSelect:i}){let{setNodeRef:a,isOver:o}=cr({id:e.status});return(0,Y.jsxs)(`section`,{className:`flex w-[20rem] shrink-0 flex-col gap-3`,children:[(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-muted/25 px-3 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:e.label}),(0,Y.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.description})]}),(0,Y.jsx)(`div`,{className:`rounded-sm border border-border bg-background px-2 py-1 text-xs text-muted-foreground`,children:t.length})]})}),(0,Y.jsxs)(`div`,{ref:a,className:P(`flex min-h-[20rem] flex-col gap-3 rounded-md border border-dashed border-border bg-muted/15 p-2 transition-colors`,o&&`border-primary/40 bg-primary/7`),children:[(0,Y.jsx)(Mr,{items:t.map(e=>e.fingerprint),strategy:Or,children:t.map(e=>(0,Y.jsx)(Gr,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,onSelect:i},e.fingerprint))}),t.length===0?(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center rounded-md border border-dashed border-border/70 bg-background/70 px-4 py-8 text-center text-xs text-muted-foreground`,children:`Drop a finding family here.`}):null]})]})}function Gr({group:e,selected:t,saving:n=!1,onSelect:r,isOverlay:i=!1}){let{attributes:a,listeners:o,setNodeRef:s,transform:c,transition:l,isDragging:u}=Br({id:e.fingerprint,data:{group:e}}),d={transform:Ke.Transform.toString(c),transition:l},f=n?`Syncing workflow update...`:e.workflow.updatedAt?`Updated ${new Date(e.workflow.updatedAt).toLocaleString()}`:`No workflow activity yet`,p=e.workflow.assignee??e.workflow.activeAgentRoles[0]??`Unassigned`,h=e.workflow.persistedStatus!==e.workflow.phase&&e.workflow.persistedStatus!==e.workflow.reviewGate,g=e.workflow.reviewGate===`human_review`?`Waiting on human review`:e.workflow.reviewGate===`agent_review`?`Waiting on agent review`:e.workflow.phase===`in_progress`?`Execution running`:e.workflow.phase===`blocked`?`Blocked`:`${e.count} hit${e.count>1?`s`:``} · ${e.scanCount} scan${e.scanCount>1?`s`:``}`;return(0,Y.jsxs)(`button`,{ref:s,type:`button`,style:d,onClick:()=>r(e.fingerprint),...a,...o,className:P(`rounded-md border border-border bg-card p-3 text-left transition-[border-color,background-color,box-shadow]`,`cursor-grab active:cursor-grabbing hover:border-primary/20 hover:bg-primary/4 hover:shadow-sm`,t&&`border-primary/35 bg-primary/6 shadow-sm ring-1 ring-primary/15`,u&&!i&&`opacity-30`,i&&`shadow-lg ring-1 ring-primary/20`,n&&`border-primary/30 bg-primary/6`),children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:[(0,Y.jsx)(ge,{className:`size-3.5`}),e.latest.category,t?(0,Y.jsx)(`span`,{className:`rounded-sm bg-primary/10 px-1.5 py-0.5 text-primary`,children:`Open`}):null]}),(0,Y.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-foreground`,children:e.latest.title}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:g})]}),(0,Y.jsx)(ne,{severity:e.latest.severity})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[e.workflow.reviewGate===`none`?null:(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),h?(0,Y.jsx)(k,{value:e.workflow.persistedStatus}):null]}),(0,Y.jsxs)(`div`,{className:`mt-3 grid gap-2 text-xs text-muted-foreground sm:grid-cols-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(_e,{className:`size-3.5`}),(0,Y.jsxs)(`span`,{children:[e.count,` hit`,e.count>1?`s`:``]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(ye,{className:`size-3.5`}),(0,Y.jsx)(`span`,{children:p})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(m,{className:`size-3.5`}),(0,Y.jsx)(`span`,{children:f})]})]})]})}function Kr({className:e,...t}){return(0,Y.jsx)(`textarea`,{"data-slot":`textarea`,className:P(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-background px-3 py-3 text-base transition-[color,box-shadow,border-color] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function qr(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch{return t}}function Jr(e,t){let[n,r]=(0,J.useState)(()=>qr(e,t));return(0,J.useEffect)(()=>{try{window.localStorage.setItem(e,JSON.stringify(n))}catch{}},[e,n]),[n,r]}var Yr=[{value:`backlog`,label:`Backlog`},{value:`todo`,label:`Todo`},{value:`in_progress`,label:`In progress`},{value:`blocked`,label:`Blocked`},{value:`done`,label:`Done`},{value:`cancelled`,label:`Cancelled`}],Xr=[{value:`all`,label:`All consensus`},{value:`pending`,label:`Pending`},{value:`verified`,label:`Verified`},{value:`disputed`,label:`Disputed`},{value:`false-positive`,label:`False positive`}],Zr={search:``,workflowFilter:`all`,reviewFilter:`all`,severityFilter:`all`,consensusFilter:`all`,assigneeFilter:`all`,activeOnly:!1,viewMode:`inbox`,queueSort:`attention`};function Qr(e,t){return[e.latest.title,e.latest.category,e.latest.severity,e.latest.triageStatus,e.workflow.status,e.workflow.phase,e.workflow.reviewGate,e.workflow.persistedStatus,e.workflow.recommendedStatus,e.workflow.reviewReason??``,e.workflow.consensus,e.workflow.assignee??``,e.workflow.activeAgentRoles.join(` `),e.fingerprint].join(` `).toLowerCase().includes(t)}function $r(e,t){let n=t.workflowAssignee.trim()||null,r=t.workflowStatus===`done`||t.workflowStatus===`cancelled`?t.workflowStatus:e.recommendedStatus,i=t.optimisticStatus??(t.workflowStatus===`done`||t.workflowStatus===`cancelled`?t.workflowStatus:e.status),a=_i(t.workflowStatus);return{...e,status:i,persistedStatus:t.workflowStatus,recommendedStatus:r,phase:a,assignee:n,updatedAt:new Date().toISOString()}}function ei(e,t){return{...e,groups:e.groups.map(e=>e.fingerprint===t.fingerprint?{...e,latest:{...e.latest,workflowStatus:t.workflowStatus,workflowAssignee:t.workflowAssignee.trim()||null,workflowUpdatedAt:new Date().toISOString()},workflow:$r(e.workflow,t)}:e)}}function ti(e,t){return e.fingerprint===t.fingerprint?{...e,latest:{...e.latest,workflowStatus:t.workflowStatus,workflowAssignee:t.workflowAssignee.trim()||null,workflowUpdatedAt:new Date().toISOString()},workflow:$r(e.workflow,t)}:e}function ni({dashboard:e}){let{fingerprint:t}=l(),n=d(),r=u(),{openPanel:a,clearPanel:f}=oe(),[m,g]=(0,J.useState)(null),[y,b]=Jr(`0sec:threads:console-state`,Zr),{search:S,workflowFilter:C,reviewFilter:w,severityFilter:T,consensusFilter:E,assigneeFilter:D,activeOnly:ee,viewMode:O,queueSort:k}=y,[te,A]=(0,J.useState)(!1),j=(0,J.useDeferredValue)(S),ne=(0,J.useMemo)(()=>[`all`,...new Set(e.groups.map(e=>e.latest.severity.toLowerCase()))],[e.groups]),re=(0,J.useMemo)(()=>[`all`,...new Set(e.groups.map(e=>e.workflow.assignee).filter(Boolean))],[e.groups]),M=(0,J.useMemo)(()=>{let t=new Set;for(let n of e.groups){n.workflow.assignee&&t.add(n.workflow.assignee);for(let e of n.workflow.activeAgentRoles)t.add(e)}return[...t].sort((e,t)=>e.localeCompare(t))},[e.groups]),P=(0,J.useMemo)(()=>{let t=j.trim().toLowerCase();return e.groups.filter(e=>!(t&&!Qr(e,t)||C!==`all`&&e.workflow.phase!==C||w!==`all`&&e.workflow.reviewGate!==w||T!==`all`&&e.latest.severity.toLowerCase()!==T||E!==`all`&&e.workflow.consensus!==E||D!==`all`&&(e.workflow.assignee??``)!==D&&!e.workflow.activeAgentRoles.includes(D)||ee&&e.workflow.activeAgentRoles.length===0))},[ee,D,E,e.groups,j,w,T,C]),F=(0,J.useMemo)(()=>P.filter(e=>e.workflow.reviewGate!==`none`),[P]),I=(0,J.useMemo)(()=>{let e=[...P];return e.sort((e,t)=>k===`newest`?t.latest.timestamp-e.latest.timestamp:k===`severity`?hi(t.latest.severity)-hi(e.latest.severity):gi(t)-gi(e)),e},[P,k]),R=(0,J.useMemo)(()=>I.filter(e=>e.workflow.reviewGate===`none`&&(e.workflow.phase===`todo`||e.workflow.phase===`backlog`)),[I]),fe=(0,J.useMemo)(()=>I.filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0),[I]),me=(0,J.useMemo)(()=>I.filter(e=>e.workflow.phase===`blocked`),[I]),ge=(0,J.useMemo)(()=>F.filter(e=>e.workflow.reviewGate===`agent_review`),[F]),_e=(0,J.useMemo)(()=>F.filter(e=>e.workflow.reviewGate===`human_review`),[F]),ye=O===`review`?F:O===`board`?P:I,q=t??null,be=c({queryKey:[`finding-family`,q],queryFn:()=>o(q),enabled:!!q}),xe=ie({mutationFn:({triageStatus:e,triageNote:t})=>i(q,e,t),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:[`dashboard`]}),r.invalidateQueries({queryKey:[`finding-family`,q]})])}}),Se=ie({mutationFn:({fingerprint:e,workflowStatus:t,workflowAssignee:n})=>s(e,t,n),onMutate:async e=>{await Promise.all([r.cancelQueries({queryKey:[`dashboard`]}),r.cancelQueries({queryKey:[`finding-family`,e.fingerprint]})]);let t=r.getQueryData([`dashboard`]),n=r.getQueryData([`finding-family`,e.fingerprint]);return r.setQueryData([`dashboard`],t=>t&&ei(t,e)),r.setQueryData([`finding-family`,e.fingerprint],t=>t&&ti(t,e)),{previousDashboard:t,previousFamily:n,fingerprint:e.fingerprint}},onError:(e,t,n)=>{n?.previousDashboard&&r.setQueryData([`dashboard`],n.previousDashboard),n?.previousFamily&&r.setQueryData([`finding-family`,n.fingerprint],n.previousFamily)},onSettled:async(e,t,n)=>{await Promise.all([r.invalidateQueries({queryKey:[`dashboard`]}),r.invalidateQueries({queryKey:[`finding-family`,n.fingerprint]})])}}),Ce=e.groups.find(e=>e.fingerprint===q)??null,we=ye.some(e=>e.fingerprint===q),Te=S.trim().length>0||C!==`all`||w!==`all`||T!==`all`||E!==`all`||D!==`all`||ee,X=[C===`all`?null:Yr.find(e=>e.value===C)?.label??C,w===`all`?null:w.replaceAll(`_`,` `),T===`all`?null:T,E===`all`?null:E.replaceAll(`-`,` `),D===`all`?null:D,ee?`active agents`:null].filter(Boolean),Ee=O===`review`?`${F.length} review families`:O===`board`?`${P.length} board families`:`${I.length} queued families`;function De(){b(e=>({...e,search:``,workflowFilter:`all`,reviewFilter:`all`,severityFilter:`all`,consensusFilter:`all`,assigneeFilter:`all`,activeOnly:!1}))}return(0,J.useEffect)(()=>{q!==m&&g(null)},[m,q]),(0,J.useEffect)(()=>{if(!q||q===m){f();return}let e;return e=be.isLoading?(0,Y.jsx)(B,{label:`Finding detail`}):be.error?(0,Y.jsx)(pe,{error:be.error}):be.data?(0,Y.jsx)(ri,{data:be.data,assigneeSuggestions:M,selectedSummary:Ce?.workflow??null,reviewMode:O===`review`,isSaving:xe.isPending||Se.isPending,onTriage:(e,t)=>xe.mutate({triageStatus:e,triageNote:t}),onWorkflow:(e,t,n,r)=>Se.mutate({fingerprint:e,workflowStatus:t,workflowAssignee:n,optimisticStatus:r})}):(0,Y.jsx)(U,{title:`Finding unavailable`,body:`The selected finding family could not be loaded from the local database.`}),a({title:Ce?.latest.title??`Finding detail`,description:`Inspect this finding family as one execution record with ownership, evidence, chat handoff, and review posture.`,content:(0,Y.jsx)(`div`,{className:`p-6`,children:e}),onClose:()=>{g(q),n(`/findings`)}}),()=>{f()}},[M,f,be.data,be.error,be.isLoading,n,a,q,Ce?.latest.title,Ce?.workflow,m,xe.isPending,Se.isPending,O]),(0,Y.jsxs)(`div`,{className:`space-y-6`,children:[(0,Y.jsx)(N,{eyebrow:`Findings`,title:`Findings workspace`,summary:`A finding family groups repeated observations across runs. Start from evidence and the recommended next action; use the scoped chat workspace when the case needs judgment.`,actions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>A(!0),children:[(0,Y.jsx)(ve,{className:`size-4`}),`Filters`,Te?(0,Y.jsx)(G,{variant:`neutral`,children:X.length+ +!!S.trim()}):null]}),q?(0,Y.jsx)(z,{variant:`outline`,onClick:()=>n(`/findings`),children:`Close finding`}):null]})}),(0,Y.jsxs)(W,{children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Work queues`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Start with what needs a decision`}),(0,Y.jsx)(V,{children:`Keep autonomous execution separate from evidence review. The board remains a secondary view, not a second workflow to maintain.`})]}),(0,Y.jsx)(v,{value:O,onValueChange:e=>b(t=>({...t,viewMode:e})),children:(0,Y.jsxs)(_,{children:[(0,Y.jsx)(h,{value:`inbox`,children:`Queue`}),(0,Y.jsx)(h,{value:`review`,children:`Review`}),(0,Y.jsx)(h,{value:`board`,children:`Board`})]})})]})}),(0,Y.jsxs)(H,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,Y.jsx)(ci,{label:`Ready now`,value:`${R.length}`,meta:`Queued for the next autonomous step.`}),(0,Y.jsx)(ci,{label:`Running now`,value:`${fe.length}`,meta:`Finding families with live worker activity.`}),(0,Y.jsx)(ci,{label:`Blocked`,value:`${me.length}`,meta:`Need more access, context, or a better PoC.`}),(0,Y.jsx)(ci,{label:`Review`,value:`${F.length}`,meta:`Waiting on agent or human sign-off.`})]})]}),(0,Y.jsx)(W,{size:`sm`,children:(0,Y.jsxs)(H,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-center`,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(x,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground`}),(0,Y.jsx)(de,{value:S,onChange:e=>b(t=>({...t,search:e.target.value})),placeholder:`Search findings, workflow state, assignee, severity, consensus, or fingerprint`,className:`pl-9`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(p,{className:`size-4`}),Ee]}),(0,Y.jsxs)(G,{variant:`neutral`,children:[e.groups.length,` total`]}),q?(0,Y.jsx)(G,{variant:we?`accent`:`warning`,children:we?`Finding open`:`Selected finding hidden by filters`}):null]})]}),Te||S.trim()?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[S.trim()?(0,Y.jsxs)(G,{variant:`outline`,children:[`query: `,S.trim()]}):null,X.map(e=>(0,Y.jsx)(G,{variant:`outline`,children:e},e)),(0,Y.jsx)(z,{variant:`ghost`,size:`sm`,onClick:De,children:`Clear filters`})]}):null]})}),(0,Y.jsx)(`div`,{className:`min-w-0 space-y-4`,children:O===`board`?(0,Y.jsx)(Ur,{groups:P,selectedFingerprint:q,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSelect:e=>n(`/findings/${e}`),onMove:(t,r)=>{q!==t&&n(`/findings/${t}`),Se.mutate({fingerprint:t,workflowStatus:r,workflowAssignee:e.groups.find(e=>e.fingerprint===t)?.workflow.assignee??``,optimisticStatus:r})}}):O===`review`?(0,Y.jsx)(ai,{agentReviewGroups:ge,humanReviewGroups:_e,selectedFingerprint:q,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSelect:e=>n(`/findings/${e}`)}):(0,Y.jsx)(ii,{groups:I,readyGroups:R,activeGroups:fe,blockedGroups:me,selectedFingerprint:q,queueSort:k,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSortChange:e=>b(t=>({...t,queueSort:e})),onSelect:e=>n(`/findings/${e}`)})}),(0,Y.jsx)(ce,{open:te,onOpenChange:A,children:(0,Y.jsxs)(ue,{side:`right`,className:`w-full overflow-y-auto p-0 sm:max-w-xl`,children:[(0,Y.jsxs)(ae,{className:`border-b border-border pr-12`,children:[(0,Y.jsx)(le,{children:`Finding filters`}),(0,Y.jsx)(se,{children:`Scope finding families by phase, review gate, severity, ownership, or live worker activity.`})]}),(0,Y.jsxs)(`div`,{className:`space-y-5 p-6`,children:[(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Search`}),(0,Y.jsx)(de,{value:S,onChange:e=>b(t=>({...t,search:e.target.value})),placeholder:`Search workflow, evidence, assignee, or fingerprint`})]}),(0,Y.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,Y.jsxs)(vi,{label:`Workflow`,children:[(0,Y.jsx)(yi,{active:C===`all`,onClick:()=>b(e=>({...e,workflowFilter:`all`})),children:`All phases`}),Yr.map(e=>(0,Y.jsx)(yi,{active:C===e.value,onClick:()=>b(t=>({...t,workflowFilter:e.value})),children:e.label},e.value))]}),(0,Y.jsxs)(vi,{label:`Review gate`,children:[(0,Y.jsx)(yi,{active:w===`all`,onClick:()=>b(e=>({...e,reviewFilter:`all`})),children:`All review states`}),(0,Y.jsx)(yi,{active:w===`agent_review`,onClick:()=>b(e=>({...e,reviewFilter:`agent_review`})),children:`Agent review`}),(0,Y.jsx)(yi,{active:w===`human_review`,onClick:()=>b(e=>({...e,reviewFilter:`human_review`})),children:`Human review`})]}),(0,Y.jsx)(vi,{label:`Severity`,children:ne.map(e=>(0,Y.jsx)(yi,{active:T===e,onClick:()=>b(t=>({...t,severityFilter:e})),children:e===`all`?`All severities`:e[0]?.toUpperCase()+e.slice(1)},e))}),(0,Y.jsx)(vi,{label:`Consensus`,children:Xr.map(e=>(0,Y.jsx)(yi,{active:E===e.value,onClick:()=>b(t=>({...t,consensusFilter:e.value})),children:e.label},e.value))}),(0,Y.jsxs)(vi,{label:`Ownership`,className:`md:col-span-2`,children:[(0,Y.jsx)(yi,{active:D===`all`,onClick:()=>b(e=>({...e,assigneeFilter:`all`})),children:`All assignees`}),re.filter(e=>e!==`all`).map(e=>(0,Y.jsx)(yi,{active:D===e,onClick:()=>b(t=>({...t,assigneeFilter:e})),children:e},e)),(0,Y.jsx)(yi,{active:ee,onClick:()=>b(e=>({...e,activeOnly:!e.activeOnly})),children:`Active agents only`})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border pt-4`,children:[(0,Y.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[ye.length,` of `,e.groups.length,` finding families visible`]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(z,{variant:`ghost`,size:`sm`,onClick:De,children:`Reset`}),(0,Y.jsx)(z,{size:`sm`,onClick:()=>A(!1),children:`Apply`})]})]})]})]})})]})}function ri({data:e,assigneeSuggestions:t,selectedSummary:n,reviewMode:r,onTriage:i,onWorkflow:o,isSaving:s}){let[c,l]=(0,J.useState)(e.latest.triageNote??``),[u,d]=(0,J.useState)(e.workflow.assignee??``),[f,p]=(0,J.useState)(null),m=`assignee-suggestions-${e.fingerprint}`,x=(0,J.useMemo)(()=>{let n=new Set;e.workflow.assignee&&n.add(e.workflow.assignee);for(let t of e.workflow.activeAgentRoles)n.add(t);for(let e of t)n.add(e);return[...n].slice(0,8)},[t,e.workflow.activeAgentRoles,e.workflow.assignee]),k=e.workItems.find(e=>e.status===`in_progress`)??null,N=e.workItems.find(e=>e.status===`blocked`)??null,P=e.workItems.find(e=>e.status===`todo`||e.status===`backlog`)??null,ie=k?.owner??e.workflow.assignee??e.workflow.activeAgentRoles[0]??N?.owner??`Unassigned`,ae=N?`Execution is blocked.`:k?`Execution is actively running.`:P?`Execution is queued for the next step.`:e.workflow.reviewGate===`none`?`Execution has no active work item yet.`:`Execution is waiting on review.`,R=N?N.summary||e.workflow.reviewReason||`A blocked step needs operator intervention.`:k?k.summary||e.workflow.reviewReason||`An agent-owned execution step is in progress.`:P?P.summary||`The next queued step is ready to run.`:e.workflow.reviewReason||`No explicit runbook activity is available yet.`,B=e.case?.targetType===`repository`&&e.workflow.consensus===`verified`?`draft_fix`:e.workflow.reviewGate===`human_review`?`verify`:`investigate`,oe=e.consoleCommand.replace(`--finding-intent investigate`,`--finding-intent ${B}`),se=B===`draft_fix`?`Plan a source fix in chat`:B===`verify`?`Review the evidence in chat`:`Investigate in chat`,U=B===`draft_fix`?`The chat will establish root cause and propose a patch and regression test. It cannot apply a patch from this handoff.`:B===`verify`?`The chat will independently assess the evidence before you accept or suppress this finding.`:`The chat starts with this finding's evidence and asks for the next smallest authorized step.`,ce=async()=>{try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard access is unavailable.`);await navigator.clipboard.writeText(oe),p(`Copied. Run the command in a terminal to continue with the same finding context.`)}catch{p(`Copy is unavailable here. Select the command below and run it in a terminal.`)}};return(0,J.useEffect)(()=>{l(e.latest.triageNote??``)},[e.fingerprint,e.latest.triageNote]),(0,J.useEffect)(()=>{d(e.workflow.assignee??``)},[e.fingerprint,e.workflow.assignee]),(0,J.useEffect)(()=>{p(null)},[e.fingerprint]),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsxs)(re,{className:r?`order-2`:`order-1`,eyebrow:r?`Review`:`Operator`,title:r?e.workflow.reviewGate===`human_review`?`Evidence and disposition`:`Evidence and next action`:`Finding controls`,description:r?`Inspect the evidence first. Operator controls remain available after the review record.`:`Review evidence, route the next action into the console, and make a final disposition only when the proof is sufficient.`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(ne,{severity:e.latest.severity}),(0,Y.jsx)(C,{value:e.workflow.phase}),(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),(0,Y.jsx)(T,{value:e.latest.triageStatus})]}),(0,Y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:[(0,Y.jsx)(di,{label:`Case`,value:e.case?.target??`Unlinked`}),(0,Y.jsx)(di,{label:`Case type`,value:e.case?mi(e.case.targetType):`Unknown`}),(0,Y.jsx)(di,{label:`Fingerprint`,value:e.fingerprint,mono:!0}),(0,Y.jsx)(di,{label:`Category`,value:e.latest.category}),(0,Y.jsx)(di,{label:`Occurrences`,value:String(e.rows.length)}),(0,Y.jsx)(di,{label:`Review gate`,value:e.workflow.reviewGate.replaceAll(`_`,` `)}),(0,Y.jsx)(di,{label:`Active agents`,value:e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`None`})]}),(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-muted/20 p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(K,{children:`Execution snapshot`}),(0,Y.jsx)(`div`,{className:`mt-2 text-sm font-medium text-foreground`,children:ae}),(0,Y.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:R}),P?(0,Y.jsx)(`div`,{className:`mt-3 text-xs leading-5 text-muted-foreground`,children:"Queued autonomous stages are claimed automatically by a live daemon once dependencies clear. If a finding stalls here, check `Operations` for queue health or worker heartbeats."}):null]}),N?(0,Y.jsx)(li,{value:N.status}):k?(0,Y.jsx)(li,{value:k.status}):null]}),(0,Y.jsxs)(`div`,{className:`mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,Y.jsx)(di,{label:`Current step`,value:k?k.title:N?N.title:`No live step`}),(0,Y.jsx)(di,{label:`Owner`,value:ie}),(0,Y.jsx)(di,{label:`Next step`,value:P?P.title:e.workflow.reviewGate===`none`?`No queued step`:`Review gate`}),(0,Y.jsx)(di,{label:`Blocked by`,value:N?N.title:e.workflow.phase===`blocked`?e.workflow.reviewReason??`Operator input`:`Clear`})]})]}),(0,Y.jsx)(`div`,{className:`rounded-md border border-primary/30 bg-primary/5 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(b,{className:`size-4 text-primary`}),(0,Y.jsx)(K,{children:`Continue in console`})]}),(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:se}),(0,Y.jsx)(`div`,{className:`text-sm leading-6 text-muted-foreground`,children:U}),(0,Y.jsx)(`code`,{className:`block overflow-x-auto rounded bg-background/80 px-3 py-2 font-mono text-xs text-foreground`,children:oe}),f?(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:f}):null]}),(0,Y.jsxs)(z,{variant:`outline`,size:`sm`,onClick:()=>void ce(),children:[(0,Y.jsx)(y,{className:`size-4`}),`Copy command`]})]})}),(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Finding owner`}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(de,{list:m,value:u,onChange:e=>d(e.target.value),placeholder:`security-verifier / model owner / person`}),(0,Y.jsx)(`datalist`,{id:m,children:x.map(e=>(0,Y.jsx)(`option`,{value:e},e))}),(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>o(e.fingerprint,e.workflow.phase,u),disabled:s,children:[(0,Y.jsx)(ye,{className:`size-4`}),`Assign`]})]})]}),x.length>0?(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:x.map(e=>(0,Y.jsx)(z,{variant:u===e?`default`:`outline`,size:`sm`,onClick:()=>d(e),disabled:s,children:e},e))}):null,(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`max-w-2xl space-y-2`,children:[(0,Y.jsx)(K,{children:`Operator disposition`}),(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Keep execution state derived from real work.`}),(0,Y.jsx)(`div`,{className:`text-sm leading-6 text-muted-foreground`,children:`The queue and console own investigation and remediation planning. Use a disposition only after the evidence is sufficient to accept or suppress this finding family.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsxs)(z,{variant:`success`,onClick:()=>i(`accepted`,c),disabled:s,children:[(0,Y.jsx)(F,{className:`size-4`}),`Accept`]}),(0,Y.jsxs)(z,{variant:`warning`,onClick:()=>i(`suppressed`,c),disabled:s,children:[(0,Y.jsx)(I,{className:`size-4`}),`Suppress`]}),(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>i(`new`,c),disabled:s,children:[(0,Y.jsx)(_e,{className:`size-4`}),`Reset triage`]})]})]})}),e.workflow.reviewGate!==`none`||e.workflow.persistedStatus!==e.workflow.phase?(0,Y.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/35 px-3 py-3 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 font-medium text-foreground`,children:[(0,Y.jsx)(q,{className:`size-4 text-primary`}),`Autonomous workflow signal`]}),(0,Y.jsxs)(`div`,{className:`mt-1`,children:[`Live execution is currently in `,(0,Y.jsx)(`span`,{className:`text-foreground`,children:e.workflow.phase}),e.workflow.reviewGate===`none`?`.`:` with ${e.workflow.reviewGate.replaceAll(`_`,` `)}.`,e.workflow.reviewReason?` ${e.workflow.reviewReason}`:``,n&&n.persistedStatus!==n.phase?` The saved operator workflow is ${n.persistedStatus}.`:``]})]}):null,(0,Y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,Y.jsx)(M,{label:`Consensus`,value:e.workflow.consensus}),(0,Y.jsx)(M,{label:`Evidence signal`,value:e.workflow.evidenceSignal}),(0,Y.jsx)(M,{label:`True positive votes`,value:String(e.workflow.verdictCounts.truePositive)}),(0,Y.jsx)(M,{label:`False positive votes`,value:String(e.workflow.verdictCounts.falsePositive)}),(0,Y.jsx)(M,{label:`Unsure votes`,value:String(e.workflow.verdictCounts.unsure)}),(0,Y.jsx)(M,{label:`Assignee`,value:e.workflow.assignee??`Unassigned`})]}),(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Triage note`}),(0,Y.jsx)(Kr,{value:c,onChange:e=>l(e.target.value),placeholder:`Capture why this finding is actionable, benign, needs another agent pass, or is waiting on a human call.`})]})]}),(0,Y.jsx)(re,{className:r?`order-1`:`order-2`,eyebrow:r?`Review evidence`:`Execution`,title:r?`Evidence before disposition`:`Execution record`,description:r?`Start with the captured proof, then inspect the work chain or make a disposition.`:`Open the runbook, evidence, and occurrence detail only when this finding needs deeper inspection.`,children:(0,Y.jsxs)(v,{defaultValue:r?`evidence`:`runbook`,className:`gap-4`,children:[(0,Y.jsxs)(_,{children:[(0,Y.jsx)(h,{value:`runbook`,children:`Runbook`}),(0,Y.jsx)(h,{value:`evidence`,children:`Evidence`}),(0,Y.jsx)(h,{value:`occurrences`,children:`Occurrences`})]}),(0,Y.jsxs)(g,{value:`runbook`,className:`space-y-5`,children:[(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Work chain`}),e.workItems.length===0?(0,Y.jsx)(`div`,{className:`rounded-md border border-dashed border-border bg-muted/20 px-4 py-8 text-sm text-muted-foreground`,children:`No persisted work graph exists yet for this finding.`}):(0,Y.jsx)(ui,{items:e.workItems,activeWorkItemId:k?.id??null,blockedWorkItemId:N?.id??null})]}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Shared artifacts`}),e.artifacts.length===0?(0,Y.jsx)(`div`,{className:`rounded-md border border-dashed border-border bg-muted/20 px-4 py-8 text-sm text-muted-foreground`,children:`No shared artifacts have been persisted for this finding yet.`}):(0,Y.jsx)(`div`,{className:`grid gap-3`,children:e.artifacts.map(e=>(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.summary})]}),(0,Y.jsx)(G,{variant:`outline`,children:fi(e.kind)})]})},e.id))})]})]}),(0,Y.jsx)(g,{value:`evidence`,children:(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Finding evidence`}),(0,Y.jsx)(be,{request:e.latest.evidenceRequest,response:e.latest.evidenceResponse,analysis:e.latest.evidenceAnalysis})]})}),(0,Y.jsx)(g,{value:`occurrences`,children:(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Occurrences`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Matching findings`}),(0,Y.jsx)(V,{children:`Each row is an occurrence grouped into this finding family.`})]})}),(0,Y.jsx)(H,{children:(0,Y.jsxs)(j,{children:[(0,Y.jsx)(S,{children:(0,Y.jsxs)(O,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(E,{children:`Finding`}),(0,Y.jsx)(E,{children:`Scan`}),(0,Y.jsx)(E,{children:`Time`}),(0,Y.jsx)(E,{className:`w-[8rem]`,children:`Status`})]})}),(0,Y.jsx)(ee,{children:e.rows.map(e=>(0,Y.jsxs)(O,{children:[(0,Y.jsx)(te,{className:`font-mono text-xs text-foreground`,children:e.id.slice(0,8)}),(0,Y.jsx)(te,{className:`font-mono text-xs text-muted-foreground`,children:e.scanId.slice(0,8)}),(0,Y.jsx)(te,{className:`text-xs text-muted-foreground`,children:a(e.timestamp)}),(0,Y.jsx)(te,{children:(0,Y.jsx)(T,{value:e.status})})]},e.id))})]})})]})})]})})]})}function ii({groups:e,readyGroups:t,activeGroups:n,blockedGroups:r,selectedFingerprint:i,queueSort:a,pendingFingerprint:o,onSortChange:s,onSelect:c}){return(0,Y.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsxs)(he,{children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Autonomous queue`}),(0,Y.jsx)(L,{className:`mt-2`,children:`What can move next`}),(0,Y.jsx)(V,{children:`This queue separates runnable work from active execution. Open a finding when evidence needs a human decision or chat handoff.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(z,{variant:a===`attention`?`default`:`outline`,size:`xs`,onClick:()=>s(`attention`),children:`Needs attention`}),(0,Y.jsx)(z,{variant:a===`newest`?`default`:`outline`,size:`xs`,onClick:()=>s(`newest`),children:`Newest`}),(0,Y.jsx)(z,{variant:a===`severity`?`default`:`outline`,size:`xs`,onClick:()=>s(`severity`),children:`Severity`})]})]}),(0,Y.jsx)(H,{className:`space-y-4`,children:e.length===0?(0,Y.jsx)(U,{title:`No finding families in the queue`,body:`Adjust filters or launch a run to populate the finding queue.`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oi,{eyebrow:`Ready`,title:`Ready to claim`,description:`Runnable finding families with no review gate. These are the next autonomous work candidates.`,count:t.length,emptyLabel:`No ready finding families under the active filters.`,children:t.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`inbox`,onSelect:c},e.fingerprint))}),(0,Y.jsx)(oi,{eyebrow:`Running`,title:`Live execution`,description:`Finding families currently owned by a worker or marked in progress.`,count:n.length,emptyLabel:`No live execution right now.`,children:n.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`inbox`,onSelect:c},e.fingerprint))})]})})]}),(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Blocked work`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Needs intervention`}),(0,Y.jsx)(V,{children:`Finding families that need context, access, or a better exploit path before the worker can continue.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:r.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`Nothing is blocked`,body:`The current finding set has no blocked execution paths.`})}):(0,Y.jsx)(fe,{className:`max-h-[38rem]`,children:(0,Y.jsx)(R,{children:r.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`review`,onSelect:c},e.fingerprint))})})})]}),(0,Y.jsxs)(W,{children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Reading model`}),(0,Y.jsx)(L,{className:`mt-2`,children:`How to use findings`}),(0,Y.jsx)(V,{children:`Runs create evidence. Finding families group related observations over time. Workers claim runnable work until a review gate or blocker stops them.`})]})}),(0,Y.jsxs)(H,{className:`grid gap-3`,children:[(0,Y.jsx)(ci,{label:`Filtered families`,value:`${e.length}`,meta:`Current queue scope after search and filters.`}),(0,Y.jsx)(ci,{label:`Ready plus running`,value:`${t.length+n.length}`,meta:`Work automation can touch without human sign-off.`}),(0,Y.jsx)(ci,{label:`Blocked plus review`,value:`${r.length}`,meta:`Cases outside the autonomous happy path.`})]})]})]})]})}function ai({agentReviewGroups:e,humanReviewGroups:t,selectedFingerprint:n,pendingFingerprint:r,onSelect:i}){return(0,Y.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Agent review`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Consensus and replication`}),(0,Y.jsx)(V,{children:`Finding families that need another autonomous pass, conflict resolution, or a stronger PoC before operator review.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:e.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`No agent-review families`,body:`Nothing currently needs another agent pass under the active filters.`})}):(0,Y.jsx)(fe,{className:`max-h-[70vh]`,children:(0,Y.jsx)(R,{children:e.map(e=>(0,Y.jsx)(si,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,mode:`review`,onSelect:i},e.fingerprint))})})})]}),(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Human review`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Operator sign-off`}),(0,Y.jsx)(V,{children:`Finding families with enough signal for a final human disposition or report.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:t.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`No human-review families`,body:`No finding families currently require operator sign-off under the active filters.`})}):(0,Y.jsx)(fe,{className:`max-h-[70vh]`,children:(0,Y.jsx)(R,{children:t.map(e=>(0,Y.jsx)(si,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,mode:`review`,onSelect:i},e.fingerprint))})})})]})]})}function oi({eyebrow:e,title:t,description:n,count:r,emptyLabel:i,children:a}){return(0,Y.jsxs)(W,{className:`overflow-hidden`,size:`sm`,children:[(0,Y.jsx)(he,{className:`border-b border-border`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:e}),(0,Y.jsx)(L,{className:`mt-2`,children:t}),(0,Y.jsx)(V,{children:n})]}),(0,Y.jsx)(G,{variant:`neutral`,children:r})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:r===0?(0,Y.jsx)(`div`,{className:`px-4 pb-4`,children:(0,Y.jsx)(U,{title:i,body:`The queue will repopulate here as runs produce finding work.`})}):(0,Y.jsx)(R,{children:a})})]})}function si({group:e,selected:t,saving:n,mode:r,onSelect:i}){let o=r===`review`?e.workflow.reviewGate===`agent_review`?`Needs agent replication or conflict resolution.`:`Needs operator decision before final disposition.`:e.workflow.reviewReason?e.workflow.reviewReason:e.workflow.phase===`in_progress`?`Execution is active now.`:e.workflow.phase===`blocked`?`Execution is blocked and needs intervention.`:`Ready for the next autonomous step.`;return(0,Y.jsx)(me,{interactive:!0,selected:t,className:`p-0`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>i(e.fingerprint),className:`w-full px-4 py-4 text-left`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-semibold leading-5 text-foreground`,children:e.latest.title}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:o})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap justify-end gap-2`,children:[e.workflow.reviewGate===`none`?null:(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(ne,{severity:e.latest.severity})]})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,Y.jsx)(C,{value:e.workflow.phase}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),(0,Y.jsx)(T,{value:e.latest.triageStatus}),e.workflow.persistedStatus!==e.workflow.phase&&e.workflow.persistedStatus!==e.workflow.reviewGate?(0,Y.jsx)(k,{value:e.workflow.persistedStatus}):null]}),(0,Y.jsxs)(`div`,{className:`mt-3 grid gap-2 text-xs text-muted-foreground md:grid-cols-4`,children:[(0,Y.jsxs)(`div`,{children:[`Owner: `,e.workflow.assignee??`Unassigned`]}),(0,Y.jsxs)(`div`,{children:[`Coverage: `,e.count,` hits · `,e.scanCount,` scans`]}),(0,Y.jsxs)(`div`,{children:[`Agents: `,e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`None`]}),(0,Y.jsxs)(`div`,{className:`inline-flex items-center gap-1.5`,children:[(0,Y.jsx)(m,{className:`size-3.5`}),n?`Saving workflow...`:`Updated ${a(e.workflow.updatedAt??e.latest.timestamp)}`]})]})]})})}function ci({label:e,value:t,meta:n}){return(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,Y.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:t}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:n})]})}function li({value:e}){return(0,Y.jsx)(G,{variant:e===`done`?`success`:e===`blocked`||e===`cancelled`?`danger`:e===`in_progress`?`accent`:e===`todo`?`warning`:`neutral`,children:e.replaceAll(`_`,` `)})}function ui({items:e,activeWorkItemId:t,blockedWorkItemId:n}){return(0,Y.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:e.map(e=>{let r=t===e.id,i=n===e.id;return(0,Y.jsxs)(`div`,{className:`rounded-md border px-4 py-3 ${i?`border-destructive/30 bg-destructive/5`:r?`border-primary/30 bg-primary/5`:`border-border bg-card`}`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.title}),r?(0,Y.jsx)(G,{variant:`accent`,children:`Current`}):null,i?(0,Y.jsx)(G,{variant:`danger`,children:`Blocked`}):null]}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.summary})]}),(0,Y.jsx)(li,{value:e.status})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,Y.jsx)(G,{variant:`outline`,children:pi(e.kind)}),(0,Y.jsx)(G,{variant:`outline`,children:e.owner??`Unassigned`})]})]},e.id)})})}function di({label:e,value:t,mono:n=!1}){return(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,Y.jsx)(`div`,{className:n?`mt-2 truncate font-mono text-xs text-foreground`:`mt-2 text-sm font-medium text-foreground`,children:t})]})}function fi(e){return e.replaceAll(`_`,` `)}function pi(e){return e.replaceAll(`_`,` `)}function mi(e){return e.replaceAll(`-`,` `)}function hi(e){let t=e.toLowerCase();return t===`critical`?5:t===`high`?4:t===`medium`?3:t===`low`?2:1}function gi(e){let t=0;return e.workflow.reviewGate===`human_review`?t+=100:e.workflow.reviewGate===`agent_review`?t+=90:e.workflow.phase===`blocked`?t+=80:e.workflow.phase===`in_progress`?t+=70:e.workflow.phase===`todo`?t+=60:e.workflow.phase===`backlog`&&(t+=50),e.workflow.assignee||(t+=15),e.workflow.consensus===`disputed`&&(t+=12),e.workflow.activeAgentRoles.length>0&&(t+=8),t*1e6+e.latest.timestamp+hi(e.latest.severity)*1e3}function _i(e){return e===`done`||e===`cancelled`||e===`blocked`||e===`in_progress`||e===`todo`?e:`backlog`}function vi({label:e,className:t,children:n}){return(0,Y.jsxs)(`div`,{className:`space-y-3 rounded-md border border-border bg-card px-4 py-4 ${t??``}`,children:[(0,Y.jsx)(K,{children:e}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:n})]})}function yi({active:e,onClick:t,children:n}){return(0,Y.jsx)(z,{variant:e?`default`:`outline`,size:`xs`,onClick:t,children:n})}export{ni as FindingsPage};
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{_ as r,a as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,o as p,p as m,r as h,t as g,u as _,v}from"./operations-D8nUP5_m.js";var y=class extends v{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=i(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof o(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!m(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||o(this.options.enabled,this.#t)!==o(t.enabled,this.#t)||s(this.options.staleTime,this.#t)!==s(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||o(this.options.enabled,this.#t)!==o(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(d)),t}#g(){this.#b();let e=s(this.options.staleTime,this.#t);if(p.isServer()||this.#r.isStale||!a(e))return;let t=l(this.#r.dataUpdatedAt,e)+1;this.#d=c.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(p.isServer()||o(this.options.enabled,this.#t)===!1||!a(this.#p)||this.#p===0)&&(this.#f=c.setInterval(()=>{(this.options.refetchIntervalInBackground||r.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(c.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(c.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,a=this.#r,s=this.#i,c=this.#a,l=e===n?this.#n:e.state,{state:u}=e,d={...u},f=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(d={...d,...h(u.data,e.options)}),t._optimisticResults===`isRestoring`&&(d.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:g,status:v}=d;p=d.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;a?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=a.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=_(a?.data,e,t),f=!0)}if(t.select&&p!==void 0&&!y){if(a&&p===s?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=_(a?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}}this.#s&&(m=this.#s,p=this.#l,g=Date.now(),v=`error`);let b=d.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:d.fetchStatus===`paused`,isPlaceholderData:f,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:o(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,a=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},o=()=>{let e=this.#o=O.promise=i();a(e)},s=this.#o;switch(s.status){case`pending`:e.queryHash===n.queryHash&&a(s);break;case`fulfilled`:(r||O.data!==s.value)&&o();break;case`rejected`:(!r||O.error!==s.reason)&&o()}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!m(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){u.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return o(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||o(t.retryOnMount,e)!==!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(o(t.enabled,e)!==!1&&s(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||o(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return o(t.enabled,e)!==!1&&e.isStaleByTime(s(t.staleTime,e))}function T(e,t){return!m(e.getCurrentResult(),t)}n();var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider;function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),ee=()=>E.useContext(A),j=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?f(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},M=e=>{E.useEffect(()=>{e.clearReset()},[e])},N=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||f(n,[e.error,r])),P=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},F=(e,t)=>e.isLoading&&e.isFetching&&!t,I=(e,t)=>e?.suspense&&t.isPending,L=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function R(e,t,n){let r=O(),i=ee(),a=g(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,P(o),j(o,i,s),M(i);let l=!a.getQueryCache().get(o.queryHash),[f]=E.useState(()=>new t(a,o)),m=f.getOptimisticResult(o),h=!r&&c;if(E.useSyncExternalStore(E.useCallback(e=>{let t=h?f.subscribe(u.batchCalls(e)):d;return f.updateResult(),t},[f,h]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),E.useEffect(()=>{f.setOptions(o)},[o,f]),I(o,m))throw L(o,f,i);if(N({result:m,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw m.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,m),o.experimental_prefetchInRender&&!p.isServer()&&F(m,r)&&(l?L(o,f,i):s?.promise)?.catch(d).finally(()=>{f.updateResult()}),o.notifyOnChangeProps?m:f.trackResult(m)}function z(e,t){return R(e,y,t)}function B(){return document.querySelector(`meta[name="0sec-control-token"]`)?.getAttribute(`content`)??null}async function V(e,t){let n={"Content-Type":`application/json`,...t?.headers??{}},r=B();r&&(n[`X-0sec-Control-Token`]=r);let i=await fetch(e,{...t,headers:n});if(!i.ok){let e=`${i.status} ${i.statusText}`;try{let t=await i.json();t.error&&(e=t.error)}catch{}throw Error(e)}let a=i.headers.get(`content-type`)??``;if(!a.includes(`json`))throw Error(`Dashboard API returned ${a||`non-JSON content`} for ${e}. Serve the UI through \`0sec dashboard\`.`);return i.json()}function H(){return V(`/api/dashboard`)}async function U(){return(await V(`/api/scans`)).scans}function W(e){return V(`/api/scans/${encodeURIComponent(e)}/events`)}function G(e=20){return V(`/api/events/recent?limit=${encodeURIComponent(String(e))}`)}function K(e){return V(`/api/scans/${encodeURIComponent(e)}/findings`)}function q(e){return V(`/api/finding-family/${encodeURIComponent(e)}`)}function J(e,t,n){return V(`/api/finding-family/${encodeURIComponent(e)}/triage`,{method:`POST`,body:JSON.stringify({triageStatus:t,triageNote:n})})}function Y(e,t,n){return V(`/api/finding-family/${encodeURIComponent(e)}/workflow`,{method:`POST`,body:JSON.stringify({workflowStatus:t,workflowAssignee:n})})}function X(e=3e4){return V(`/api/control/recover-stale-workers`,{method:`POST`,body:JSON.stringify({staleAfterMs:e})})}function Z(){return V(`/api/control/prune-stopped-workers`,{method:`POST`,body:JSON.stringify({})})}function Q(e){return V(`/api/control/reset-database`,{method:`POST`,body:JSON.stringify({seed:e})})}function te(e){return V(`/api/control/start-daemon`,{method:`POST`,body:JSON.stringify(e??{})})}function ne(){return V(`/api/control/stop-daemon`,{method:`POST`,body:JSON.stringify({})})}function re(e){return V(`/api/control/launch-run`,{method:`POST`,body:JSON.stringify(e)})}var $=E.createContext(void 0);function ie(e){let t=E.useContext($);return e||t||`ltr`}function ae(e){return new Date(e).toLocaleString()}function oe(e){if(!e||e<=0)return`n/a`;if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return n===0?`${t}s`:`${n}m ${r}s`}function se(e){return!e||Object.keys(e).length===0?`No payload`:typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():Array.isArray(e.tools)&&e.tools.length>0?`${typeof e.turn==`number`?`turn ${e.turn} · `:``}tools: ${e.tools.join(`, `)}`:typeof e.excerpt==`string`&&e.excerpt.trim()?`${typeof e.turn==`number`?`turn ${e.turn} · `:``}no tool calls · ${e.excerpt.trim().slice(0,120)}`:Object.entries(e).slice(0,3).map(([e,t])=>`${e}: ${ce(t)}`).join(` · `)}function ce(e){return typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):Array.isArray(e)?`${e.length} items`:e&&typeof e==`object`?`${Object.keys(e).length} fields`:`n/a`}export{J as _,H as a,W as c,re as d,Z as f,ne as g,te as h,ie as i,K as l,Q as m,ae as n,q as o,X as p,se as r,G as s,oe as t,U as u,Y as v,z as y};
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),p=o(((e,t)=>{t.exports=f()}));export{l as a,s as i,d as n,o as r,p as t};