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,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/findings-page-CACW9nw2.js","assets/jsx-runtime-C7oxC63R.js","assets/client-DRYsuOGl.js","assets/format-PoISqsES.js","assets/operations-D8nUP5_m.js","assets/operations-BKE8T-vY.css","assets/dist-CmX-h7a4.js","assets/bot-yILPnRgD.js","assets/tabs-DivxbhQy.js","assets/copy-Bi5vzoF9.js","assets/dist-DAwYQmf_.js","assets/search-CiooTLck.js","assets/table-BYS-nIVA.js","assets/meta-tile-CcskIV_o.js","assets/page-header-MFVvEtZW.js","assets/live-page-DrgQqQK5.js","assets/chevron-down-BeDJ-Vka.js","assets/overview-page-DTGS8dPo.js","assets/circle-alert-BEnMBMT-.js","assets/play-Dwo-9xt6.js","assets/siren-CCBwTSuk.js","assets/scans-page-ChVtq8Us.js"])))=>i.map(i=>d[i]);
2
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{_ as r,a as i,i as a,n as o,o as s,s as c,u as l,y as u}from"./format-PoISqsES.js";import{C as d,D as f,S as p,b as m,i as h,l as g,m as _,n as v,p as y,s as b,t as x,v as S,w as C,x as w,y as T}from"./operations-D8nUP5_m.js";import{_ as E,a as D,f as O,g as ee,h as k,i as A,m as j,r as M,t as te,u as ne}from"./dist-CmX-h7a4.js";import{a as N,c as re,i as ie,l as ae,n as oe,o as P,r as F,s as se,t as ce,u as I}from"./dist-DAwYQmf_.js";var le=class extends S{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),y(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&b(t.mutationKey)!==b(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??v();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){h.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},L=e(t(),1);function R(e,t){let n=x(t),[r]=L.useState(()=>new le(n,e));L.useEffect(()=>{r.setOptions(e)},[r,e]);let i=L.useSyncExternalStore(L.useCallback(e=>r.subscribe(h.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=L.useCallback((e,t)=>{r.mutate(e,t).catch(g)},[r]);if(i.error&&_(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var ue=E(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),de=E(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),fe=E(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),pe=E(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),me=E(`file-search`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`,key:`1bq0ko`}],[`path`,{d:`M13.3 16.3 15 18`,key:`2quom7`}]]),he=E(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),ge=E(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),_e=E(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),ve=E(`radar`,[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`,key:`z3du51`}],[`path`,{d:`M4 6h.01`,key:`oypzma`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`,key:`qzzz0`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`,key:`1yjesh`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`,key:`1u2y91`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`m13.41 10.59 5.66-5.66`,key:`mhq4k0`}]]),ye=E(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),be=E(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),xe=E(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),Se=E(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);function Ce(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ce(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function we(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ce(e))&&(r&&(r+=` `),r+=t);return r}var z=n(),Te=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Ee=we,De=(e,t)=>n=>{if(t?.variants==null)return Ee(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Te(t)||Te(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Ee(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Oe=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},ke=(e,t)=>({classGroupId:e,validator:t}),Ae=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),je=`-`,Me=[],Ne=`arbitrary..`,Pe=e=>{let t=Le(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ie(e);let n=e.split(je);return Fe(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Oe(i,t):t:i||Me}return n[e]||Me}}},Fe=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Fe(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(je):e.slice(t).join(je),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ie=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Ne+r:void 0})(),Le=e=>{let{theme:t,classGroups:n}=e;return Re(n,t)},Re=(e,t)=>{let n=Ae();for(let r in e){let i=e[r];ze(i,n,r,t)}return n},ze=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Be(i,t,n,r)}},Be=(e,t,n,r)=>{if(typeof e==`string`){Ve(e,t,n);return}if(typeof e==`function`){He(e,t,n,r);return}Ue(e,t,n,r)},Ve=(e,t,n)=>{let r=e===``?t:We(t,e);r.classGroupId=n},He=(e,t,n,r)=>{if(Ge(e)){ze(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(ke(n,e))},Ue=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];ze(o,We(t,a),n,r)}},We=(e,t)=>{let n=e,r=t.split(je),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Ae(),n.nextPart.set(t,i)),n=i}return n},Ge=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ke=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},qe=`!`,Je=`:`,Ye=[],Xe=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Ze=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Je){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(qe)?(c=s.slice(0,-1),l=!0):s.startsWith(qe)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Xe(t,l,c,u)};if(t){let e=t+Je,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Xe(Ye,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Qe=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},$e=e=>({cache:Ke(e.cacheSize),parseClassName:Ze(e),sortModifiers:Qe(e),postfixLookupClassGroupIds:et(e),...Pe(e)}),et=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},tt=/\s+/,nt=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(tt),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+qe:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},rt=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=it(n))&&(i&&(i+=` `),i+=r);return i},it=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=it(e[r]))&&(n&&(n+=` `),n+=t);return n},at=(e,...t)=>{let n,r,i,a,o=o=>(n=$e(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=nt(e,n);return i(e,a),a};return a=o,(...e)=>a(rt(...e))},ot=[],B=e=>{let t=t=>t[e]||ot;return t.isThemeGetter=!0,t},st=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ct=/^\((?:(\w[\w-]*):)?(.+)\)$/i,lt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ut=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ft=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,pt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,V=e=>lt.test(e),H=e=>!!e&&!Number.isNaN(Number(e)),U=e=>!!e&&Number.isInteger(Number(e)),ht=e=>e.endsWith(`%`)&&H(e.slice(0,-1)),W=e=>ut.test(e),gt=()=>!0,_t=e=>dt.test(e)&&!ft.test(e),vt=()=>!1,yt=e=>pt.test(e),bt=e=>mt.test(e),xt=e=>!G(e)&&!q(e),St=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ct=e=>J(e,zt,vt),G=e=>st.test(e),K=e=>J(e,Bt,_t),wt=e=>J(e,Vt,H),Tt=e=>J(e,Ut,gt),Et=e=>J(e,Ht,vt),Dt=e=>J(e,Lt,vt),Ot=e=>J(e,Rt,bt),kt=e=>J(e,Wt,yt),q=e=>ct.test(e),At=e=>Y(e,Bt),jt=e=>Y(e,Ht),Mt=e=>Y(e,Lt),Nt=e=>Y(e,zt),Pt=e=>Y(e,Rt),Ft=e=>Y(e,Wt,!0),It=e=>Y(e,Ut,!0),J=(e,t,n)=>{let r=st.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Y=(e,t,n=!1)=>{let r=ct.exec(e);return r?r[1]?t(r[1]):n:!1},Lt=e=>e===`position`||e===`percentage`,Rt=e=>e===`image`||e===`url`,zt=e=>e===`length`||e===`size`||e===`bg-size`,Bt=e=>e===`length`,Vt=e=>e===`number`,Ht=e=>e===`family-name`,Ut=e=>e===`number`||e===`weight`,Wt=e=>e===`shadow`,Gt=at(()=>{let e=B(`color`),t=B(`font`),n=B(`text`),r=B(`font-weight`),i=B(`tracking`),a=B(`leading`),o=B(`breakpoint`),s=B(`container`),c=B(`spacing`),l=B(`radius`),u=B(`shadow`),d=B(`inset-shadow`),f=B(`text-shadow`),p=B(`drop-shadow`),m=B(`blur`),h=B(`perspective`),g=B(`aspect`),_=B(`ease`),v=B(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,G],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,G,c],T=()=>[V,`full`,`auto`,...w()],E=()=>[U,`none`,`subgrid`,q,G],D=()=>[`auto`,{span:[`full`,U,q,G]},U,q,G],O=()=>[U,`auto`,q,G],ee=()=>[`auto`,`min`,`max`,`fr`,q,G],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[V,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[V,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ne=()=>[V,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,q,G],re=()=>[...b(),Mt,Dt,{position:[q,G]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,Nt,Ct,{size:[q,G]}],oe=()=>[ht,At,K],P=()=>[``,`none`,`full`,l,q,G],F=()=>[``,H,At,K],se=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],I=()=>[H,ht,Mt,Dt],le=()=>[``,`none`,m,q,G],L=()=>[`none`,H,q,G],R=()=>[`none`,H,q,G],ue=()=>[H,q,G],de=()=>[V,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[W],breakpoint:[W],color:[gt],container:[W],"drop-shadow":[W],ease:[`in`,`out`,`in-out`],font:[xt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[W],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[W],shadow:[W],spacing:[`px`,H],text:[W],"text-shadow":[W],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,V,G,q,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,q,G]}],"container-named":[St],columns:[{columns:[H,G,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[U,`auto`,q,G]}],basis:[{basis:[V,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[H,V,`auto`,`initial`,`none`,G]}],grow:[{grow:[``,H,q,G]}],shrink:[{shrink:[``,H,q,G]}],order:[{order:[U,`first`,`last`,`none`,q,G]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...ne()]}],"min-block-size":[{"min-block":[`auto`,...ne()]}],"max-block-size":[{"max-block":[`none`,...ne()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,At,K]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,It,Tt]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ht,G]}],"font-family":[{font:[jt,Et,t]}],"font-features":[{"font-features":[G]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,G]}],"line-clamp":[{"line-clamp":[H,`none`,q,wt]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,G]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...se(),`wavy`]}],"text-decoration-thickness":[{decoration:[H,`from-font`,`auto`,q,K]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[H,`auto`,q,G]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[U,q,G]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,G]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},U,q,G],radial:[``,q,G],conic:[U,q,G]},Pt,Ot]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-bs":[{"border-bs":F()}],"border-w-be":[{"border-be":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...se(),`hidden`,`none`]}],"divide-style":[{divide:[...se(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...se(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[H,q,G]}],"outline-w":[{outline:[``,H,At,K]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,Ft,kt]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ft,kt]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[H,K]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Ft,kt]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[H,q,G]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[H]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[q,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[H]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,G]}],filter:[{filter:[``,`none`,q,G]}],blur:[{blur:le()}],brightness:[{brightness:[H,q,G]}],contrast:[{contrast:[H,q,G]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ft,kt]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,H,q,G]}],"hue-rotate":[{"hue-rotate":[H,q,G]}],invert:[{invert:[``,H,q,G]}],saturate:[{saturate:[H,q,G]}],sepia:[{sepia:[``,H,q,G]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,G]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[H,q,G]}],"backdrop-contrast":[{"backdrop-contrast":[H,q,G]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,H,q,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[H,q,G]}],"backdrop-invert":[{"backdrop-invert":[``,H,q,G]}],"backdrop-opacity":[{"backdrop-opacity":[H,q,G]}],"backdrop-saturate":[{"backdrop-saturate":[H,q,G]}],"backdrop-sepia":[{"backdrop-sepia":[``,H,q,G]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,G]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[H,`initial`,q,G]}],ease:[{ease:[`linear`,`initial`,_,q,G]}],delay:[{delay:[H,q,G]}],animate:[{animate:[`none`,v,q,G]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,G]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:L()}],"rotate-x":[{"rotate-x":L()}],"rotate-y":[{"rotate-y":L()}],"rotate-z":[{"rotate-z":L()}],scale:[{scale:R()}],"scale-x":[{"scale-x":R()}],"scale-y":[{"scale-y":R()}],"scale-z":[{"scale-z":R()}],"scale-3d":[`scale-3d`],skew:[{skew:ue()}],"skew-x":[{"skew-x":ue()}],"skew-y":[{"skew-y":ue()}],transform:[{transform:[q,G,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":[`translate-none`],zoom:[{zoom:[U,q,G]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,G]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,G]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[H,At,K,wt]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function X(...e){return Gt(we(e))}function Kt({className:e,size:t=`default`,...n}){return(0,z.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:X(`group/card flex flex-col gap-6 overflow-hidden rounded-lg border border-border bg-card py-6 text-sm text-card-foreground has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg`,e),...n})}function qt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-header`,className:X(`group/card-header @container/card-header grid auto-rows-min items-start gap-1.5 rounded-t-lg px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4`,e),...t})}function Jt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-title`,className:X(`font-heading text-base font-medium`,e),...t})}function Yt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-description`,className:X(`text-sm text-muted-foreground`,e),...t})}function Xt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-content`,className:X(`px-6 group-data-[size=sm]/card:px-4`,e),...t})}function Zt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-eyebrow`,className:X(`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,e),...t})}function Qt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-list`,className:X(`divide-y divide-border`,e),...t})}var $t=De(`px-4 py-3 text-sm transition-colors`,{variants:{interactive:{true:`hover:bg-primary/5 hover:text-foreground`,false:``},selected:{true:`bg-primary/8 text-foreground`,false:``}},defaultVariants:{interactive:!1,selected:!1}});function en({className:e,interactive:t,selected:n,...r}){return(0,z.jsx)(`div`,{"data-slot":`card-list-item`,className:X($t({interactive:t,selected:n}),e),...r})}function tn({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-empty`,className:X(`rounded-md border border-dashed border-border bg-muted/30 px-4 py-10 text-center text-sm text-muted-foreground`,e),...t})}var nn=De(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-sm border border-transparent px-2 py-0.5 text-[11px] font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/40 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,neutral:`border-border bg-muted text-foreground [a]:hover:bg-secondary/80`,accent:`bg-primary/12 text-primary dark:bg-primary/18 dark:text-primary-foreground`,success:`bg-emerald-500/12 text-emerald-700 dark:bg-emerald-500/18 dark:text-emerald-200`,warning:`bg-amber-500/12 text-amber-700 dark:bg-amber-500/18 dark:text-amber-200`,danger:`bg-destructive/12 text-destructive dark:bg-destructive/18 dark:text-destructive`,info:`bg-sky-500/12 text-sky-700 dark:bg-sky-500/18 dark:text-sky-200`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border bg-background text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function rn({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?te:`span`,{"data-slot":`badge`,"data-variant":t,className:X(nn({variant:t}),e),...r})}var an=(0,L.createContext)(null);function on({children:e}){let[t,n]=(0,L.useState)(null),r=(0,L.useRef)(null);(0,L.useEffect)(()=>{r.current=t},[t]);let i=(0,L.useCallback)(e=>{r.current=e,n(e)},[]),a=(0,L.useCallback)(()=>{r.current=null,n(null)},[]),o=(0,L.useCallback)(()=>{let e=r.current;r.current=null,n(null),e?.onClose?.()},[]),s=(0,L.useMemo)(()=>({panel:t,openPanel:i,clearPanel:a,dismissPanel:o}),[a,o,i,t]);return(0,z.jsx)(an.Provider,{value:s,children:e})}function sn(){let e=(0,L.useContext)(an);if(!e)throw Error(`useDashboardPanel must be used within a DashboardPanelProvider.`);return e}function cn({label:e}){return(0,z.jsx)(Kt,{className:`border border-border`,children:(0,z.jsxs)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:[(0,z.jsx)(ge,{className:`size-8 animate-spin text-primary`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:e}),(0,z.jsx)(Yt,{children:`Fetching the latest scan and triage state.`})]})]})})}function ln({title:e,body:t}){return(0,z.jsx)(Kt,{className:`border border-dashed border-border bg-muted/20`,children:(0,z.jsx)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:e}),(0,z.jsx)(Yt,{children:t})]})})})}function un({error:e}){return(0,z.jsx)(Kt,{className:`border border-destructive/25`,children:(0,z.jsxs)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:[(0,z.jsx)(Se,{className:`size-8 text-destructive`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:`Dashboard error`}),(0,z.jsx)(Yt,{children:e.message})]})]})})}var dn=De(`group/button inline-flex shrink-0 items-center justify-center rounded-sm border border-transparent text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/92`,outline:`border-border bg-background hover:border-primary/20 hover:bg-primary/6 hover:text-foreground aria-expanded:border-primary/20 aria-expanded:bg-primary/8 aria-expanded:text-foreground dark:bg-transparent`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-primary/6 hover:text-foreground aria-expanded:bg-primary/8 aria-expanded:text-foreground`,accent:`bg-primary text-primary-foreground hover:bg-primary/92`,success:`border-emerald-500/20 bg-emerald-500/10 text-emerald-700 hover:bg-emerald-500/16 dark:bg-emerald-500/18 dark:text-emerald-200 dark:hover:bg-emerald-500/24`,warning:`border-amber-500/20 bg-amber-500/10 text-amber-700 hover:bg-amber-500/16 dark:bg-amber-500/18 dark:text-amber-200 dark:hover:bg-amber-500/24`,danger:`border-destructive/20 bg-destructive/10 text-destructive hover:bg-destructive/16 dark:bg-destructive/20 dark:text-destructive`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/92 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5`,xs:`h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,lg:`h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-9`,"icon-xs":`size-6 [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Z({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?te:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:X(dn({variant:t,size:n,className:e})),...i})}function fn({className:e,type:t,...n}){return(0,z.jsx)(`input`,{type:t,"data-slot":`input`,className:X(`h-9 w-full min-w-0 rounded-md border border-input bg-background px-3 py-1 text-base transition-[color,box-shadow,border-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none 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),...n})}function pn({...e}){return(0,z.jsx)(P,{"data-slot":`sheet`,...e})}function mn({...e}){return(0,z.jsx)(re,{"data-slot":`sheet-trigger`,...e})}function hn({...e}){return(0,z.jsx)(N,{"data-slot":`sheet-portal`,...e})}function gn({className:e,...t}){return(0,z.jsx)(ie,{"data-slot":`sheet-overlay`,className:X(`fixed inset-0 z-50 bg-background/80 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function _n({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,z.jsxs)(hn,{children:[(0,z.jsx)(gn,{}),(0,z.jsxs)(oe,{"data-slot":`sheet-content`,"data-side":n,className:X(`fixed z-50 flex flex-col border-border bg-popover text-sm text-popover-foreground shadow-sm transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,e),...i,children:[t,r&&(0,z.jsx)(ce,{"data-slot":`sheet-close`,asChild:!0,children:(0,z.jsxs)(Z,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`,children:[(0,z.jsx)(ae,{className:`size-4`}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function vn({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sheet-header`,className:X(`flex flex-col gap-1.5 p-6`,e),...t})}function yn({className:e,...t}){return(0,z.jsx)(se,{"data-slot":`sheet-title`,className:X(`font-heading text-base font-medium text-foreground`,e),...t})}function bn({className:e,...t}){return(0,z.jsx)(F,{"data-slot":`sheet-description`,className:X(`text-sm text-muted-foreground`,e),...t})}function xn(e,[t,n]){return Math.min(n,Math.max(t,e))}function Sn(e,t){return L.useReducer((e,n)=>t[e][n]??e,e)}var Cn=`ScrollArea`,[wn,Tn]=O(Cn),[En,Q]=wn(Cn),Dn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:o=600,...s}=e,[c,l]=L.useState(null),[u,d]=L.useState(null),[f,p]=L.useState(null),[m,h]=L.useState(null),[g,_]=L.useState(null),[v,y]=L.useState(0),[b,x]=L.useState(0),[S,C]=L.useState(!1),[w,T]=L.useState(!1),E=j(t,e=>l(e)),O=a(i);return(0,z.jsx)(En,{scope:n,type:r,dir:O,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,z.jsx)(D.div,{dir:O,...s,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});Dn.displayName=Cn;var On=`ScrollAreaViewport`,kn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=Q(On,n),s=L.useRef(null),c=j(t,s,o.onViewportChange);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,z.jsx)(D.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,z.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});kn.displayName=On;var $=`ScrollAreaScrollbar`,An=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return L.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,z.jsx)(jn,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,z.jsx)(Mn,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,z.jsx)(Nn,{...r,ref:t,forceMount:n}):i.type===`always`?(0,z.jsx)(Pn,{...r,ref:t}):null});An.displayName=$;var jn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),[a,o]=L.useState(!1);return L.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,z.jsx)(M,{present:n||a,children:(0,z.jsx)(Nn,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),Mn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=er(()=>c(`SCROLL_END`),100),[s,c]=Sn(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return L.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),L.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,z.jsx)(M,{present:n||s!==`hidden`,children:(0,z.jsx)(Pn,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:k(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:k(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),Nn=L.forwardRef((e,t)=>{let n=Q($,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=L.useState(!1),s=e.orientation===`horizontal`,c=er(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return tr(n.viewport,c),tr(n.content,c),(0,z.jsx)(M,{present:r||a,children:(0,z.jsx)(Pn,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),Pn=L.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=Q($,e.__scopeScrollArea),a=L.useRef(null),o=L.useRef(0),[s,c]=L.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=qn(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Yn(e,o.current,s,t)}return n===`horizontal`?(0,z.jsx)(Fn,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Xn(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,z.jsx)(In,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Xn(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),Fn=L.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q($,e.__scopeScrollArea),[o,s]=L.useState(),c=L.useRef(null),l=j(t,c,a.onScrollbarXChange);return L.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(zn,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Jn(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Qn(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Kn(o.paddingLeft),paddingEnd:Kn(o.paddingRight)}})}})}),In=L.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q($,e.__scopeScrollArea),[o,s]=L.useState(),c=L.useRef(null),l=j(t,c,a.onScrollbarYChange);return L.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(zn,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Jn(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Qn(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Kn(o.paddingTop),paddingEnd:Kn(o.paddingBottom)}})}})}),[Ln,Rn]=wn($),zn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=Q($,n),[m,h]=L.useState(null),g=j(t,e=>h(e)),_=L.useRef(null),v=L.useRef(``),y=p.viewport,b=r.content-r.viewport,x=A(u),S=A(c),C=er(d,10);function w(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return L.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),L.useEffect(S,[r,S]),tr(m,C),tr(p.content,C),(0,z.jsx)(Ln,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:A(a),onThumbPointerUp:A(o),onThumbPositionChange:S,onThumbPointerDown:A(s),children:(0,z.jsx)(D.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:k(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),w(e))}),onPointerMove:k(e.onPointerMove,w),onPointerUp:k(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Bn=`ScrollAreaThumb`,Vn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Rn(Bn,e.__scopeScrollArea);return(0,z.jsx)(M,{present:n||i.hasThumb,children:(0,z.jsx)(Hn,{ref:t,...r})})}),Hn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=Q(Bn,n),o=Rn(Bn,n),{onThumbPositionChange:s}=o,c=j(t,e=>o.onThumbChange(e)),l=L.useRef(void 0),u=er(()=>{l.current&&=(l.current(),void 0)},100);return L.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{if(u(),!l.current){let t=$n(e,s);l.current=t,s()}};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,z.jsx)(D.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:k(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:k(e.onPointerUp,o.onThumbPointerUp)})});Vn.displayName=Bn;var Un=`ScrollAreaCorner`,Wn=L.forwardRef((e,t)=>{let n=Q(Un,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,z.jsx)(Gn,{...e,ref:t}):null});Wn.displayName=Un;var Gn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=Q(Un,n),[a,o]=L.useState(0),[s,c]=L.useState(0),l=!!(a&&s);return tr(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),tr(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,z.jsx)(D.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Kn(e){return e?parseInt(e,10):0}function qn(e,t){let n=e/t;return isNaN(n)?0:n}function Jn(e){let t=qn(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Yn(e,t,n,r=`ltr`){let i=Jn(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Zn([c,l],d)(e)}function Xn(e,t,n=`ltr`){let r=Jn(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=xn(e,n===`ltr`?[0,o]:[o*-1,0]);return Zn([0,o],[0,s])(c)}function Zn(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Qn(e,t){return e>0&&e<t}var $n=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function er(e,t){let n=A(e),r=L.useRef(0);return L.useEffect(()=>()=>window.clearTimeout(r.current),[]),L.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function tr(e,t){let n=A(t);ne(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var nr=Dn,rr=kn,ir=Wn;function ar({className:e,children:t,...n}){return(0,z.jsxs)(nr,{"data-slot":`scroll-area`,className:X(`relative`,e),...n,children:[(0,z.jsx)(rr,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,z.jsx)(or,{}),(0,z.jsx)(ir,{})]})}function or({className:e,orientation:t=`vertical`,...n}){return(0,z.jsx)(An,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:X(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,z.jsx)(Vn,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}var sr=`/assets/0sec-icon-66SreztZ.gif`;function cr({compact:e=!1,animated:t=!1,className:n}){return e?(0,z.jsx)(`img`,{alt:`0sec`,src:sr,className:X(`size-9 object-contain`,n)}):(0,z.jsxs)(`div`,{className:X(`flex items-center gap-3`,n),children:[(0,z.jsx)(`img`,{alt:`0sec`,src:sr,className:`size-10 object-contain`}),(0,z.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,z.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-primary`,children:`0sec`}),(0,z.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`0sec operator shell`})]})]})}function lr({className:e,...t}){return(0,z.jsx)(`nav`,{"aria-label":`breadcrumb`,"data-slot":`breadcrumb`,className:X(e),...t})}function ur({className:e,...t}){return(0,z.jsx)(`ol`,{"data-slot":`breadcrumb-list`,className:X(`flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5`,e),...t})}function dr({className:e,...t}){return(0,z.jsx)(`li`,{"data-slot":`breadcrumb-item`,className:X(`inline-flex items-center gap-1.5`,e),...t})}function fr({className:e,...t}){return(0,z.jsx)(`span`,{"data-slot":`breadcrumb-page`,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:X(`font-normal text-foreground`,e),...t})}function pr({children:e,className:t,...n}){return(0,z.jsx)(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:X(`[&>svg]:size-3.5`,t),...n,children:e??(0,z.jsx)(de,{})})}function mr(e){return e.startsWith(`/dashboard`)?`Operations center`:e.startsWith(`/threads`)||e.startsWith(`/findings`)?`Findings workspace`:e.startsWith(`/runs`)||e.startsWith(`/scans`)?`Run dossier`:`Operations center`}function hr(e){return e.startsWith(`/dashboard`)?`Operations`:e.startsWith(`/threads`)||e.startsWith(`/findings`)?`Findings`:e.startsWith(`/runs`)||e.startsWith(`/scans`)?`Runs`:`Control`}function gr(e=`default`){return e===`success`?`text-emerald-700 dark:text-emerald-300`:e===`warning`?`text-amber-700 dark:text-amber-300`:e===`danger`?`text-destructive`:`text-foreground`}function _r(e,t){let n=new Map((t??[]).map(e=>[e.id,e.runtime]));return e.filter(e=>{if([`agent_error`,`scan_error`,`worker_failed`].includes(e.eventType))return!0;let t=e.payload??{},n=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.summary;return[`stage_complete`,`agent_complete`,`runtime_incompatible`].includes(e.eventType)&&/max turns|did not emit required tool_call/i.test(n)}).sort((e,t)=>t.timestamp-e.timestamp).map(e=>{let t=e.payload??{},r=n.get(e.scanId),i=typeof t.error==`string`&&t.error.trim()?t.error.trim():typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.summary;return{scanId:e.scanId,scanTarget:e.scanTarget,stage:r?`${e.stage} · ${r}`:e.stage,actor:e.agentRole??null,headline:i,timestamp:e.timestamp}})}function vr({pathname:e,dashboard:t,scans:n,incidents:r}){let i=t?.groups??[],a=n??[],s=t?.workers.filter(e=>e.isActive&&e.status!==`stopped`).length??0,c=t?.queue.runnable??0,l=i.filter(e=>e.workflow.phase===`blocked`).length,u=i.filter(e=>e.workflow.reviewGate===`human_review`).length,d=i.filter(e=>e.workflow.reviewGate===`agent_review`).length,f=i.filter(e=>!e.workflow.assignee).length,p=i.filter(e=>e.latest.triageStatus===`new`).length,m=i.filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0).length,h=i.filter(e=>e.workflow.consensus===`verified`).length,g=a.filter(e=>e.status===`running`).length,_=a.filter(e=>e.status===`completed`).length,v=new Set(a.map(e=>e.target)).size,y=[...new Set(a.map(e=>e.runtime))],b=[...a].sort((e,t)=>t.startedAt.localeCompare(e.startedAt))[0]??null,x=r[0]??null,S=r.filter(e=>/quota|provider|model|rate limit|openai|anthropic|gemini|claude/i.test(`${e.headline} ${e.stage} ${e.actor??``}`)).length;return e.startsWith(`/threads`)||e.startsWith(`/findings`)?{title:`Findings workspace`,summary:`Review deduplicated evidence, continue the cases that need judgment, and return to the scoped chat workspace when execution needs direction.`,sections:[{label:`Queue`,items:[{label:`Finding families`,value:String(i.length),meta:`deduplicated observations across runs`},{label:`New`,value:String(p),meta:`awaiting a first decision or investigation`},{label:`Human review`,value:String(u),meta:`ready for operator disposition`,tone:u>0?`warning`:`default`},{label:`Agent review`,value:String(d),meta:`needs another evidence pass`}]},{label:`Execution`,items:[{label:`In progress`,value:String(m),meta:`families with active worker movement`,tone:m>0?`success`:`default`},{label:`Blocked`,value:String(l),meta:`needs access, context, or stronger proof`,tone:l>0?`danger`:`default`},{label:`Unassigned`,value:String(f),meta:`no explicit owner attached yet`},{label:`Verified`,value:String(h),meta:`consensus supports a true positive`}],note:x?`Runtime pressure is visible elsewhere too: ${x.scanTarget} failed ${o(x.timestamp)}.`:`Open a finding to copy a context-preserving console handoff.`}]}:e.startsWith(`/runs`)||e.startsWith(`/scans`)?{title:`Run dossiers`,summary:`Inspect provenance by target, then drill into a selected execution and its output findings.`,sections:[{label:`Inventory`,items:[{label:`Targets`,value:String(v),meta:`unique targets in local history`},{label:`Runs`,value:String(a.length),meta:`persisted executions across all targets`},{label:`Active`,value:String(g),meta:`runs still executing now`,tone:g>0?`success`:`default`},{label:`Completed`,value:String(_),meta:`finished without staying in running state`}]},{label:`Runtime`,items:[{label:`Incidents`,value:String(r.length),meta:S>0?`${S} provider/runtime failures`:`no recent failures`,tone:r.length>0?`danger`:`success`},{label:`Workers`,value:String(s),meta:c>0?`${c} runnable work items queued`:`no runnable backlog`},{label:`Runtimes`,value:y.length>0?y.slice(0,3).join(`, `):`none`,meta:y.length>3?`${y.length} runtimes observed`:`runtime mix in run history`},{label:`Latest target`,value:b?.target??`none`,meta:b?o(b.startedAt):`launch a target to create the first dossier`}],note:x?`${x.scanTarget}: ${x.headline}`:`Provider and worker failures should surface here before you dive into a single run.`}]}:{title:`Operations control`,summary:`Run the autonomous control plane, watch queue health, and intervene only when automation hits a real boundary.`,sections:[{label:`Runtime`,items:[{label:`Daemon`,value:s>0?`live`:`offline`,meta:s>0?`${s} active workers heartbeating`:`launch a target or start a daemon`,tone:s>0?`success`:`warning`},{label:`Runnable`,value:String(c),meta:`work items ready to claim next`},{label:`Active runs`,value:String(g),meta:`pipeline executions still in flight`,tone:g>0?`success`:`default`},{label:`Incidents`,value:String(r.length),meta:S>0?`${S} provider/runtime failures`:`clean recent event window`,tone:r.length>0?`danger`:`success`}]},{label:`Review`,items:[{label:`Human review`,value:String(u),meta:`findings waiting on operator sign-off`,tone:u>0?`warning`:`default`},{label:`Blocked`,value:String(l),meta:`access or context gap in execution`,tone:l>0?`danger`:`default`},{label:`Unassigned`,value:String(f),meta:`findings without a named owner`},{label:`Targets`,value:String(v),meta:`real target history in this workspace`}],note:x?`${x.scanTarget}: ${x.headline}`:`No recent runtime failures. Launch the next target from operations.`}]}}function yr({children:e,dashboard:t,scans:n,onOpenPalette:r}){let i=d(),{panel:a,dismissPanel:o}=sn(),[s,l]=(0,L.useState)(()=>typeof window>`u`||window.matchMedia(`(min-width: 1280px)`).matches),f=t?.groups.filter(e=>e.latest.triageStatus===`new`).length??0,p=n?.filter(e=>e.status===`running`).length??0,m=t?.workers.filter(e=>e.isActive).length??0,h=t?.queue.runnable??0,g=u({queryKey:[`shell-recent-events`],queryFn:()=>c(18),refetchInterval:5e3}),_=(0,L.useMemo)(()=>_r(g.data?.events??[],n).slice(0,6),[g.data?.events,n]),v=_[0]??null,y=(0,L.useMemo)(()=>vr({pathname:i.pathname,dashboard:t,scans:n,incidents:_}),[t,i.pathname,_,n]),b=_.filter(e=>/quota|provider|model|rate limit|openai|anthropic|gemini|claude/i.test(`${e.headline} ${e.stage} ${e.actor??``}`)).length;return(0,L.useEffect)(()=>{let e=window.matchMedia(`(min-width: 1280px)`),t=()=>l(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,z.jsxs)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,z.jsxs)(`div`,{className:`flex min-h-screen`,children:[(0,z.jsxs)(`aside`,{className:`sticky top-0 hidden h-screen w-[22rem] shrink-0 border-r border-border bg-background xl:grid xl:grid-cols-[4.5rem_minmax(0,1fr)]`,children:[(0,z.jsxs)(`div`,{className:`flex h-screen flex-col items-center border-r border-border px-2 py-3`,children:[(0,z.jsx)(cr,{compact:!0,className:`size-9`}),(0,z.jsxs)(`nav`,{className:`mt-6 flex flex-1 flex-col items-center gap-2`,children:[(0,z.jsx)(br,{to:`/desktop.html`,label:`Chat`,icon:I,reloadDocument:!0}),(0,z.jsx)(br,{to:`/dashboard`,label:`Operations`,icon:he}),(0,z.jsx)(br,{to:`/findings`,label:`Findings`,icon:ee,badge:f}),(0,z.jsx)(br,{to:`/runs`,label:`Runs`,icon:ve,badge:p}),(0,z.jsx)(br,{to:`/live`,label:`Live workflow`,icon:ye})]}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,z.jsx)(Z,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:r,"aria-label":`Open launchpad`,children:(0,z.jsx)(pe,{className:`size-4`})}),(0,z.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.2em] text-muted-foreground`,children:`Cmd K`})]}),(0,z.jsxs)(`div`,{className:`w-full rounded-md bg-muted/40 px-2 py-2 text-center`,children:[(0,z.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.2em] text-muted-foreground`,children:`Queue`}),(0,z.jsx)(`div`,{className:`mt-1 text-sm font-medium text-foreground`,children:h})]})]})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-border px-4 py-4`,children:[(0,z.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:hr(i.pathname)}),(0,z.jsx)(`div`,{className:`mt-2 text-base font-medium text-foreground`,children:y.title}),(0,z.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:y.summary})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-3`,children:(0,z.jsxs)(`div`,{className:`space-y-5`,children:[y.sections.map(e=>(0,z.jsxs)(Sr,{label:e.label,children:[e.items.map(e=>(0,z.jsx)(Cr,{label:e.label,value:e.value,meta:e.meta,tone:e.tone},e.label)),e.note?(0,z.jsx)(Tr,{text:e.note}):null]},e.label)),(0,z.jsxs)(Sr,{label:`Hotkeys`,children:[(0,z.jsx)(wr,{text:`Cmd/Ctrl+K launchpad`}),(0,z.jsx)(wr,{text:`/ search`}),(0,z.jsx)(wr,{text:`Esc close overlays`})]})]})})]})]}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-20 border-b border-border bg-background/95 backdrop-blur`,children:(0,z.jsxs)(`div`,{className:`mx-auto flex max-w-[1800px] flex-col gap-3 px-4 py-3 sm:px-6 xl:flex-row xl:items-center xl:justify-between`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 xl:hidden`,children:[(0,z.jsxs)(pn,{children:[(0,z.jsx)(mn,{asChild:!0,children:(0,z.jsx)(Z,{variant:`ghost`,size:`icon-sm`,"aria-label":`Open navigation`,children:(0,z.jsx)(_e,{className:`size-4`})})}),(0,z.jsxs)(_n,{side:`left`,className:`w-72 p-0`,children:[(0,z.jsxs)(vn,{className:`border-b border-border px-4 py-4 pr-12 text-left`,children:[(0,z.jsx)(`div`,{className:`mb-2`,children:(0,z.jsx)(cr,{})}),(0,z.jsx)(yn,{className:`text-base font-semibold text-foreground`,children:`Operator shell`}),(0,z.jsx)(bn,{className:`text-sm text-muted-foreground`,children:`Navigation, runtime posture, and route-specific context.`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-5 px-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,z.jsx)(xr,{to:`/desktop.html`,reloadDocument:!0,label:`Chat`,meta:`Scoped operator workspace`,icon:I}),(0,z.jsx)(xr,{to:`/dashboard`,label:`Operations`,meta:`Launch, queue, worker control`,icon:he}),(0,z.jsx)(xr,{to:`/findings`,label:`Findings`,meta:`Evidence, review, chat context`,icon:ee,badge:f}),(0,z.jsx)(xr,{to:`/runs`,label:`Runs`,meta:`Runs, provenance, timelines`,icon:ve,badge:p}),(0,z.jsx)(xr,{to:`/live`,label:`Live workflow`,meta:`GemmaForge probe → leads → hunt`,icon:ye})]}),y.sections.map(e=>(0,z.jsxs)(Sr,{label:e.label,children:[e.items.map(e=>(0,z.jsx)(Cr,{label:e.label,value:e.value,meta:e.meta,tone:e.tone},e.label)),e.note?(0,z.jsx)(Tr,{text:e.note}):null]},e.label))]})]})]}),(0,z.jsx)(cr,{compact:!0,className:`size-8 rounded-sm`})]}),(0,z.jsx)(lr,{children:(0,z.jsxs)(ur,{children:[(0,z.jsx)(dr,{children:(0,z.jsx)(fr,{children:mr(i.pathname)})}),(0,z.jsx)(pr,{}),(0,z.jsx)(dr,{children:(0,z.jsx)(fr,{children:hr(i.pathname)})})]})})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`div`,{className:`hidden flex-wrap items-center gap-2 lg:flex`,children:[(0,z.jsxs)(Er,{tone:m>0?`success`:`warning`,children:[(0,z.jsx)(ue,{className:`size-3.5`}),m>0?`${m} daemon live`:`daemon offline`]}),(0,z.jsx)(Er,{tone:_.length>0?`danger`:`success`,children:_.length>0?`${_.length} incidents`:`runtime clean`}),b>0?(0,z.jsxs)(Er,{tone:`danger`,children:[b,` provider`]}):null,v?(0,z.jsxs)(`div`,{className:`max-w-[24rem] truncate text-sm text-muted-foreground`,children:[v.scanTarget,`: `,v.headline]}):(0,z.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[t?.groups.length??0,` finding families tracked`]})]}),(0,z.jsxs)(Z,{variant:`default`,onClick:r,children:[(0,z.jsx)(pe,{className:`size-4`}),`Launchpad`]})]})]})}),(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1800px] flex-1 min-h-0`,children:[(0,z.jsx)(`main`,{className:`min-w-0 flex-1 px-4 py-5 sm:px-6`,children:(0,z.jsx)(`div`,{className:`flex min-h-full min-w-0 flex-col gap-5`,children:e})}),a?(0,z.jsx)(`aside`,{className:`hidden w-[32rem] shrink-0 border-l border-border bg-background xl:flex xl:flex-col`,children:(0,z.jsxs)(`div`,{className:`sticky top-[4.5625rem] flex h-[calc(100vh-4.5625rem)] flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-border px-6 py-6 pr-12`,children:[(0,z.jsx)(`div`,{className:`font-heading text-base font-medium text-foreground`,children:a.title}),(0,z.jsx)(`div`,{className:`mt-1 text-sm text-muted-foreground`,children:a.description})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:a.content}),(0,z.jsx)(`div`,{className:`border-t border-border p-4`,children:(0,z.jsx)(Z,{variant:`outline`,size:`sm`,onClick:o,children:`Close panel`})})]})}):null]})]})]}),(0,z.jsx)(pn,{open:!!a&&!s,onOpenChange:e=>{e||o()},children:(0,z.jsx)(_n,{side:`right`,className:`w-full overflow-y-auto p-0 sm:max-w-2xl`,children:a?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(vn,{className:`border-b border-border pr-12`,children:[(0,z.jsx)(yn,{children:a.title}),(0,z.jsx)(bn,{children:a.description})]}),a.content]}):null})})]})}function br({to:e,label:t,icon:n,badge:r=0,reloadDocument:i=!1}){return(0,z.jsx)(T,{to:e,"aria-label":t,reloadDocument:i,children:({isActive:e})=>(0,z.jsxs)(`div`,{className:X(`relative flex size-11 items-center justify-center rounded-md transition-colors`,e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,z.jsx)(n,{className:`size-4`}),r>0?(0,z.jsx)(`span`,{className:`absolute right-1 top-1 min-w-4 rounded-sm bg-destructive px-1 text-center text-[9px] font-semibold leading-4 text-destructive-foreground`,children:r}):null,(0,z.jsx)(`span`,{className:`sr-only`,children:t})]})})}function xr({to:e,label:t,meta:n,icon:r,badge:i=0,reloadDocument:a=!1}){return(0,z.jsx)(T,{to:e,reloadDocument:a,children:({isActive:e})=>(0,z.jsxs)(`div`,{className:X(`flex items-start gap-2.5 rounded-sm px-3 py-2 text-[13px] font-medium transition-colors`,e?`bg-primary/8 text-foreground`:`text-foreground/80 hover:bg-primary/6 hover:text-foreground`),children:[(0,z.jsx)(r,{className:X(`mt-0.5 size-4 shrink-0`,e&&`text-primary`)}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate`,children:t}),(0,z.jsx)(`div`,{className:X(`truncate text-xs`,e?`text-foreground/70`:`text-muted-foreground`),children:n})]}),i>0?(0,z.jsx)(`span`,{className:`mt-0.5 rounded-sm bg-primary px-1.5 py-0.5 text-[10px] leading-none text-primary-foreground`,children:i}):null]})})}function Sr({label:e,children:t}){return(0,z.jsxs)(`section`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`px-3 text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,z.jsx)(`div`,{className:`flex flex-col gap-1`,children:t})]})}function Cr({label:e,value:t,meta:n,tone:r=`default`}){return(0,z.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 px-3 py-3`,children:(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-sm text-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:n})]}),(0,z.jsx)(`div`,{className:X(`shrink-0 text-sm font-medium`,gr(r)),children:t})]})})}function wr({text:e}){return(0,z.jsx)(`div`,{className:`px-3 py-2 text-sm text-muted-foreground`,children:e})}function Tr({text:e}){return(0,z.jsx)(`div`,{className:`rounded-md border border-dashed border-border px-3 py-3 text-xs leading-5 text-muted-foreground`,children:e})}function Er({children:e,tone:t=`default`}){return(0,z.jsx)(rn,{variant:t===`success`?`success`:t===`warning`?`warning`:t===`danger`?`danger`:`neutral`,className:`gap-1.5`,children:e})}function Dr({...e}){return(0,z.jsx)(P,{"data-slot":`dialog`,...e})}function Or({...e}){return(0,z.jsx)(N,{"data-slot":`dialog-portal`,...e})}function kr({className:e,...t}){return(0,z.jsx)(ie,{"data-slot":`dialog-overlay`,className:X(`fixed inset-0 isolate z-50 bg-background/80 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function Ar({className:e,children:t,showCloseButton:n=!0,...r}){return(0,z.jsxs)(Or,{children:[(0,z.jsx)(kr,{}),(0,z.jsxs)(oe,{"data-slot":`dialog-content`,className:X(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl border border-border bg-popover p-6 text-sm text-popover-foreground shadow-sm duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r,children:[t,n&&(0,z.jsx)(ce,{"data-slot":`dialog-close`,asChild:!0,children:(0,z.jsxs)(Z,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`,children:[(0,z.jsx)(ae,{className:`size-4`}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function jr({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`dialog-header`,className:X(`flex flex-col gap-1.5`,e),...t})}function Mr({className:e,...t}){return(0,z.jsx)(se,{"data-slot":`dialog-title`,className:X(`font-heading text-base leading-none font-medium`,e),...t})}function Nr({className:e,...t}){return(0,z.jsx)(F,{"data-slot":`dialog-description`,className:X(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}var Pr=[`Actions`,`Pages`,`Findings`,`Runs`];function Fr({open:e,onOpenChange:t,dashboard:n,scans:i}){let a=C(),o=d(),c=x(),[l,f]=(0,L.useState)(``),p=(0,L.useDeferredValue)(l),m=o.pathname.match(/^\/(?:threads|findings)\/([^/]+)/)?.[1]??null,h=o.pathname.match(/^\/(?:runs|scans)\/([^/]+)/)?.[1]??null,g=u({queryKey:[`finding-family`,m],queryFn:()=>s(m),enabled:e&&!!m}),_=R({mutationFn:({triageStatus:e,triageNote:t})=>r(m,e,t),onSuccess:async()=>{await Promise.all([c.invalidateQueries({queryKey:[`dashboard`]}),c.invalidateQueries({queryKey:[`finding-family`,m]})])}}),v=(0,L.useMemo)(()=>{let e=[{id:`page-chat`,group:`Pages`,label:`Open chat workspace`,meta:`Scoped operator conversation and approvals`,icon:I,keywords:[`chat operator workspace session scope approvals`],run:()=>window.location.assign(`/desktop.html`)},{id:`page-findings`,group:`Pages`,label:`Open findings workspace`,meta:`Evidence, chat handoff, disposition`,icon:me,keywords:[`findings families review evidence console handoff`],run:()=>a(`/findings`)},{id:`page-control`,group:`Pages`,label:`Open operations home`,meta:`Launch, queue, worker control`,icon:he,keywords:[`operations dashboard overview launch workers queue`],run:()=>a(`/dashboard`)},{id:`page-scans`,group:`Pages`,label:`Open runs`,meta:`Run history and provenance`,icon:fe,keywords:[`scans runs timeline history`],run:()=>a(`/runs`)}];m&&e.unshift({id:`triage-accept`,group:`Actions`,label:`Accept selected finding`,meta:`Mark the finding family as accepted`,icon:be,keywords:[`accept finding triage`],shortcut:`Enter`,run:()=>_.mutate({triageStatus:`accepted`,triageNote:g.data?.latest.triageNote??``})},{id:`triage-suppress`,group:`Actions`,label:`Suppress selected finding`,meta:`Suppress the finding family`,icon:xe,keywords:[`suppress finding triage`],shortcut:`Shift+S`,run:()=>_.mutate({triageStatus:`suppressed`,triageNote:g.data?.latest.triageNote??``})}),h&&e.unshift({id:`scan-detail`,group:`Actions`,label:`Focus selected scan timeline`,meta:`Open current run detail`,icon:fe,keywords:[`scan timeline detail current`],run:()=>a(`/runs/${h}`)});for(let t of n?.groups.slice(0,14)??[])e.push({id:`finding-${t.fingerprint}`,group:`Findings`,label:t.latest.title,meta:`${t.latest.severity} · ${t.latest.triageStatus}`,icon:me,keywords:[t.latest.title,t.latest.category,t.latest.severity,t.latest.triageStatus],run:()=>a(`/findings/${t.fingerprint}`)});for(let t of i?.slice(0,14)??[])e.push({id:`scan-${t.id}`,group:`Runs`,label:t.target,meta:`${t.status} · ${t.depth} · ${t.runtime}`,icon:fe,keywords:[t.target,t.status,t.depth,t.runtime,t.mode],run:()=>a(`/runs/${t.id}`)});return e},[n?.groups,a,c,i,m,g.data?.latest.triageNote,h,_]),y=(0,L.useMemo)(()=>{let e=p.trim().toLowerCase();return e?v.filter(t=>[t.label,t.meta,...t.keywords].join(` `).toLowerCase().includes(e)):v},[p,v]);return(0,L.useEffect)(()=>{e||f(``)},[e]),(0,z.jsx)(Dr,{open:e,onOpenChange:t,children:(0,z.jsxs)(Ar,{className:`overflow-hidden p-0 sm:max-w-2xl`,showCloseButton:!1,children:[(0,z.jsxs)(jr,{className:`border-b border-border px-5 py-4 pr-12`,children:[(0,z.jsx)(Mr,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:`Mission command`}),(0,z.jsx)(Nr,{className:`pt-2 text-sm text-muted-foreground`,children:`Search operations views, findings, runs, and control actions.`})]}),(0,z.jsx)(`div`,{className:`border-b border-border px-4 py-3`,children:(0,z.jsx)(fn,{autoFocus:!0,value:l,onChange:e=>f(e.target.value),placeholder:`Jump to a page, run, finding, or action`})}),(0,z.jsx)(ar,{className:`max-h-[60vh]`,children:(0,z.jsxs)(`div`,{className:`space-y-1 p-2`,children:[Pr.map(e=>{let n=y.filter(t=>t.group===e);return n.length===0?null:(0,z.jsxs)(`section`,{className:`space-y-1`,children:[(0,z.jsx)(`div`,{className:`px-3 py-2 text-[10px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:e}),n.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>{e.run(),t(!1)},className:`flex w-full items-center gap-3 rounded-md px-3 py-2 text-left transition-colors hover:bg-accent`,children:[(0,z.jsx)(`div`,{className:`inline-flex size-9 items-center justify-center rounded-md border border-border bg-muted text-primary`,children:(0,z.jsx)(e.icon,{className:`size-4`})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`font-medium text-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.meta})]}),e.shortcut?(0,z.jsx)(`div`,{className:`text-xs tracking-widest text-muted-foreground`,children:e.shortcut}):null]},e.id))]},e)}),y.length===0?(0,z.jsx)(`div`,{className:`px-4 py-8 text-center text-sm text-muted-foreground`,children:`No matching commands.`}):null]})})]})})}var Ir=(0,L.lazy)(async()=>({default:(await f(async()=>{let{FindingsPage:e}=await import(`./findings-page-CACW9nw2.js`);return{FindingsPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))).FindingsPage})),Lr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{LivePage:e}=await import(`./live-page-DrgQqQK5.js`);return{LivePage:e}},__vite__mapDeps([15,1,4,2,5,6,7,16,14]))).LivePage})),Rr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{OverviewPage:e}=await import(`./overview-page-DTGS8dPo.js`);return{OverviewPage:e}},__vite__mapDeps([17,1,3,4,2,5,6,7,18,8,19,20,12,14]))).OverviewPage})),zr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{ScansPage:e}=await import(`./scans-page-ChVtq8Us.js`);return{ScansPage:e}},__vite__mapDeps([21,1,3,4,2,5,6,7,18,11,20,12,13]))).ScansPage}));function Br(e){let t=e;return t?[`INPUT`,`TEXTAREA`,`SELECT`].includes(t.tagName)||t.isContentEditable:!1}function Vr({dashboard:e,scans:t}){return(0,z.jsx)(L.Suspense,{fallback:(0,z.jsx)(cn,{label:`Loading workspace`}),children:(0,z.jsxs)(p,{children:[(0,z.jsx)(w,{path:`/`,element:(0,z.jsx)(m,{to:`/dashboard`,replace:!0})}),(0,z.jsx)(w,{path:`/dashboard`,element:(0,z.jsx)(Rr,{data:e})}),(0,z.jsx)(w,{path:`/threads`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/threads/:fingerprint`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/runs`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/runs/:scanId`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/findings`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/findings/:fingerprint`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/scans`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/scans/:scanId`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/live`,element:(0,z.jsx)(Lr,{})}),(0,z.jsx)(w,{path:`*`,element:(0,z.jsx)(ln,{title:`Unknown route`,body:`This dashboard view does not exist yet.`})})]})})}function Hr(){let[e,t]=(0,L.useState)(!1),n=u({queryKey:[`dashboard`],queryFn:i,refetchInterval:5e3}),r=u({queryKey:[`scans`],queryFn:l,refetchInterval:5e3}),a=(0,L.useEffectEvent)(n=>{if((n.metaKey||n.ctrlKey)&&n.key.toLowerCase()===`k`){n.preventDefault(),t(e=>!e);return}!e&&n.key===`/`&&!Br(n.target)&&(n.preventDefault(),t(!0))});return(0,L.useEffect)(()=>{let e=e=>a(e);return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a]),(0,z.jsx)(on,{children:(0,z.jsxs)(yr,{dashboard:n.data,scans:r.data,onOpenPalette:()=>t(!0),children:[(0,z.jsx)(Fr,{open:e,onOpenChange:t,dashboard:n.data,scans:r.data}),n.isLoading||r.isLoading?(0,z.jsx)(cn,{label:`Operations`}):n.error?(0,z.jsx)(un,{error:n.error}):r.error?(0,z.jsx)(un,{error:r.error}):n.data&&r.data?(0,z.jsx)(Vr,{dashboard:n.data,scans:r.data}):(0,z.jsx)(ln,{title:`No scan data available`,body:`Run a scan first, then reopen Operations.`})]})})}export{me as A,X as C,be as D,xe as E,R as M,ye as O,Hr as OperationsApp,Jt as S,Se as T,tn as _,vn as a,Qt as b,Z as c,cn as d,sn as f,Yt as g,Xt as h,bn as i,ue as j,ve as k,ln as l,Kt as m,pn as n,yn as o,rn as p,_n as r,fn as s,ar as t,un as u,Zt as v,De as w,en as x,qt as y};
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{d as r,f as i,g as ee,h as te,m as ne,n as a,p as re,s as ie,t as ae,y as oe}from"./format-PoISqsES.js";import{t as se,y as o}from"./operations-D8nUP5_m.js";import{_ as s}from"./dist-CmX-h7a4.js";import{t as ce}from"./bot-yILPnRgD.js";import{t as c}from"./circle-alert-BEnMBMT-.js";import{a as le,i as l,r as u,t as d}from"./tabs-DivxbhQy.js";import{t as f}from"./play-Dwo-9xt6.js";import{t as ue}from"./siren-CCBwTSuk.js";import{a as p,c as m,f as h,i as g,l as de,n as _,o as v,r as y,s as b,t as x,u as S}from"./table-BYS-nIVA.js";import{t as fe}from"./page-header-MFVvEtZW.js";import{M as C,S as w,_ as T,c as E,g as D,h as O,j as pe,m as k,s as A,v as j,y as M}from"./operations-app-CQQhG54n.js";var me=s(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),N=s(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),he=s(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),P=s(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),ge=s(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),F=e(t(),1),I=n();function L({data:e}){let t=se(),[n,s]=(0,F.useState)(null),[l,u]=(0,F.useState)(``),[d,L]=(0,F.useState)(`deep`),[V,H]=(0,F.useState)(`default`),[U,W]=(0,F.useState)(`auto`),G=oe({queryKey:[`recent-events`],queryFn:()=>ie(12),refetchInterval:5e3}),_e=e.groups.filter(e=>e.workflow.reviewGate!==`none`),ve=e.groups.filter(e=>e.workflow.phase===`blocked`),ye=e.groups.filter(e=>e.workflow.phase===`in_progress`),be=e.groups.filter(e=>!e.workflow.assignee),xe=e.scans.filter(e=>e.status===`running`),K=e.workers.filter(e=>e.isActive&&e.status!==`stopped`),Se=e.workers.filter(e=>e.status===`stopped`),q=K.length>0,Ce=e.scans.length===0&&e.groups.length===0&&e.workers.length===0,J=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`dashboard`]}),t.invalidateQueries({queryKey:[`scans`]}),t.invalidateQueries({queryKey:[`recent-events`]})])},we=C({mutationFn:()=>re(),onSuccess:async e=>{s(e.recovered>0?`Recovered ${e.recovered} stale work item${e.recovered===1?``:`s`}.`:`No stale worker claims needed recovery.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Te=C({mutationFn:()=>i(),onSuccess:async e=>{s(e.deleted>0?`Pruned ${e.deleted} stopped worker row${e.deleted===1?``:`s`}.`:`No stopped worker rows were left to prune.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Ee=C({mutationFn:()=>ne(`empty`),onSuccess:async e=>{s(`Reset local state at ${e.path}.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Y=C({mutationFn:()=>te({label:`control-plane-1`,pollIntervalMs:2e3}),onSuccess:async()=>{s(`Started local control-plane daemon.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),X=C({mutationFn:()=>ee(),onSuccess:async e=>{s(e.stopped>0?`Stopped ${e.stopped} local daemon process${e.stopped===1?``:`es`}.`:`No live local daemon process needed stopping.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Z=C({mutationFn:()=>r({target:l.trim(),depth:V,mode:d,runtime:U,ensureDaemon:!0}),onSuccess:async()=>{s(`Launched ${d} run for ${l.trim()}.`),u(``),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Q=we.isPending||Te.isPending||Ee.isPending||Y.isPending||X.isPending||Z.isPending,De=[...e.groups].filter(e=>e.workflow.reviewGate!==`none`||e.workflow.phase===`blocked`||!e.workflow.assignee).sort((e,t)=>t.latest.timestamp-e.latest.timestamp).slice(0,8),Oe=[...e.groups].filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0).sort((e,t)=>t.latest.timestamp-e.latest.timestamp).slice(0,8),ke=[...e.scans].sort((e,t)=>t.startedAt.localeCompare(e.startedAt)).slice(0,8),Ae=(0,F.useMemo)(()=>{let e=G.data?.events??[],t=new Map;for(let n of e){let e=n.payload??{},r=typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():n.summary,i=[`stage_complete`,`agent_complete`,`runtime_incompatible`].includes(n.eventType)&&/max turns|did not emit required tool_call/i.test(r);if(![`agent_error`,`scan_error`,`worker_failed`].includes(n.eventType)&&!i||t.has(n.scanId))continue;let ee=typeof e.error==`string`&&e.error.trim()?e.error.trim():typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():n.summary;t.set(n.scanId,{scanId:n.scanId,scanTarget:n.scanTarget,stage:n.stage,actor:n.agentRole??null,headline:ee,timestamp:n.timestamp})}return[...t.values()].slice(0,4)},[G.data?.events]),$=[...e.groups].sort((e,t)=>Number(new Date(t.workflow.updatedAt??t.latest.timestamp))-Number(new Date(e.workflow.updatedAt??e.latest.timestamp))).slice(0,8);return(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(fe,{eyebrow:`Control`,title:`Operations control`,summary:`Launch new targets, watch the autonomous queue, and jump to the findings or runs that actually need intervention.`,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(E,{asChild:!0,variant:`outline`,children:(0,I.jsx)(o,{to:`/runs`,children:`Open runs`})}),(0,I.jsx)(E,{asChild:!0,variant:`accent`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings workspace`})})]})}),Ce?(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.15fr_0.85fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`First run`}),(0,I.jsx)(w,{className:`mt-2`,children:`Launch the first target`}),(0,I.jsx)(D,{children:`A finding family is the clustered underlying issue behind repeated observations across runs. Start a target, let the pipeline collect proof, then review only the families that survive automation.`})]})}),(0,I.jsxs)(O,{className:`space-y-5`,children:[(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:`Target`}),(0,I.jsx)(A,{value:l,onChange:e=>u(e.target.value),placeholder:d===`mcp`?`mcp://assistant-endpoint`:d===`web`?`https://app.example.com`:`https://api.example.com`})]}),(0,I.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-3`,children:[(0,I.jsx)(B,{label:`Mode`,value:d,onValueChange:e=>L(e),options:[{value:`deep`,label:`API/URL`},{value:`web`,label:`Web app`},{value:`mcp`,label:`MCP`}]}),(0,I.jsx)(B,{label:`Depth`,value:V,onValueChange:e=>H(e),options:[{value:`quick`,label:`Quick`},{value:`default`,label:`Default`},{value:`deep`,label:`Deep`}]}),(0,I.jsx)(B,{label:`Runtime`,value:U,onValueChange:e=>W(e),options:[{value:`auto`,label:`Auto`},{value:`api`,label:`API`},{value:`codex`,label:`Codex`},{value:`claude`,label:`Claude`},{value:`gemini`,label:`Gemini`}]})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,I.jsxs)(E,{variant:`accent`,onClick:()=>Z.mutate(),disabled:!l.trim()||Q,children:[(0,I.jsx)(f,{}),`Launch target`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>Y.mutate(),disabled:q||Q,children:[(0,I.jsx)(N,{}),`Start daemon`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>X.mutate(),disabled:!q||Q,children:[(0,I.jsx)(N,{}),`Stop daemon`]})]})]})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Execution model`}),(0,I.jsx)(w,{className:`mt-2`,children:`How the system works`}),(0,I.jsx)(D,{children:`This is not meant to be a human-driven kanban first. The control plane should run autonomously until a thread needs review, override, or more access.`})]})}),(0,I.jsxs)(O,{className:`space-y-3 text-sm text-muted-foreground`,children:[(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `run` is one pipeline execution against a target."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `thread` is one underlying issue clustered across repeated hits or follow-up evidence."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `worker` is a local autonomous daemon claiming runnable stages from persisted state."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:`Humans should mostly work the review inbox, blocked access, and final disposition.`})]})]})]}):null,Ce?null:(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.15fr_0.85fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Launch`}),(0,I.jsx)(w,{className:`mt-2`,children:`Control strip`}),(0,I.jsx)(D,{children:`Launch a new target, keep the daemon healthy, and clear local state without dropping to the CLI.`})]})}),(0,I.jsxs)(O,{className:`space-y-5`,children:[(0,I.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.2fr)_repeat(3,minmax(0,0.8fr))]`,children:[(0,I.jsxs)(`label`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:`Target`}),(0,I.jsx)(A,{value:l,onChange:e=>u(e.target.value),placeholder:d===`mcp`?`mcp://assistant-endpoint`:d===`web`?`https://app.example.com`:`https://api.example.com`})]}),(0,I.jsx)(B,{label:`Mode`,value:d,onValueChange:e=>L(e),options:[{value:`deep`,label:`API/URL`},{value:`web`,label:`Web app`},{value:`mcp`,label:`MCP`}]}),(0,I.jsx)(B,{label:`Depth`,value:V,onValueChange:e=>H(e),options:[{value:`quick`,label:`Quick`},{value:`default`,label:`Default`},{value:`deep`,label:`Deep`}]}),(0,I.jsx)(B,{label:`Runtime`,value:U,onValueChange:e=>W(e),options:[{value:`auto`,label:`Auto`},{value:`api`,label:`API`},{value:`codex`,label:`Codex`},{value:`claude`,label:`Claude`},{value:`gemini`,label:`Gemini`}]})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,I.jsxs)(E,{variant:`accent`,onClick:()=>Z.mutate(),disabled:!l.trim()||Q,children:[(0,I.jsx)(f,{}),`Launch target`]}),(0,I.jsxs)(E,{variant:q?`outline`:`default`,onClick:()=>q?X.mutate():Y.mutate(),disabled:Q,children:[(0,I.jsx)(N,{}),q?`Stop daemon`:`Start daemon`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>we.mutate(),disabled:Q,children:[(0,I.jsx)(he,{}),`Recover stale`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>Te.mutate(),disabled:Q,children:[(0,I.jsx)(P,{}),`Prune stopped`]}),(0,I.jsxs)(E,{variant:`warning`,onClick:()=>Ee.mutate(),disabled:Q||q,children:[(0,I.jsx)(me,{}),`Reset local state`]})]}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 px-4 py-3 text-sm text-muted-foreground`,children:n??`The daemon can be started from here. Local state reset stays guarded while a live daemon is heartbeating.`})]})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Situation`}),(0,I.jsx)(w,{className:`mt-2`,children:`Live system state`}),(0,I.jsx)(D,{children:`Read the queue, worker fleet, and review backlog at a glance before drilling into findings or runs.`})]})}),(0,I.jsxs)(O,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,I.jsx)(R,{icon:ge,label:`Runnable now`,value:e.queue.runnable,hint:`Work items ready to claim.`}),(0,I.jsx)(R,{icon:pe,label:`Workers`,value:K.length,hint:`Live orchestration daemons.`}),(0,I.jsx)(R,{icon:c,label:`Review`,value:_e.length,hint:`Finding families waiting on sign-off.`}),(0,I.jsx)(R,{icon:ue,label:`Blocked`,value:ve.length,hint:`Finding families outside the happy path.`}),(0,I.jsx)(R,{icon:ce,label:`Running findings`,value:ye.length,hint:`Finding families with live worker activity.`}),(0,I.jsx)(R,{icon:le,label:`Unassigned`,value:be.length,hint:`Finding families without an owner.`}),(0,I.jsx)(R,{icon:f,label:`Active runs`,value:xe.length,hint:`Runs still executing.`}),(0,I.jsx)(R,{icon:P,label:`Stopped workers`,value:Se.length,hint:`Rows safe to prune.`})]})]})]}),(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.05fr_0.95fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Findings`}),(0,I.jsx)(w,{className:`mt-2`,children:`Decision queue`}),(0,I.jsx)(D,{children:`Finding families that most likely need a human decision next: blocked execution, review gates, or ownership gaps.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings`})})]}),(0,I.jsx)(O,{children:De.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No findings currently need intervention.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Finding`}),(0,I.jsx)(g,{children:`Ownership`}),(0,I.jsx)(g,{children:`Signal`}),(0,I.jsx)(g,{className:`w-[14rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:De.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-foreground hover:text-primary`,children:e.latest.title})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.workflow.assignee??`Unassigned`}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(S,{severity:e.latest.severity}),(0,I.jsx)(b,{value:e.workflow.consensus})]})}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(m,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,I.jsx)(de,{value:e.workflow.reviewGate}),(0,I.jsx)(h,{value:e.latest.triageStatus})]})})]},e.fingerprint))})]})})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Execution`}),(0,I.jsx)(w,{className:`mt-2`,children:`Queue and daemons`}),(0,I.jsx)(D,{children:`Use this column to understand what automation is doing right now and where the queue is getting stuck.`})]})}),(0,I.jsxs)(O,{className:`space-y-6`,children:[Oe.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No live worker activity right now.`}):(0,I.jsx)(`div`,{className:`space-y-3`,children:Oe.map(e=>(0,I.jsx)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-sm font-medium text-foreground hover:text-primary`,children:e.latest.title}),(0,I.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`Waiting for worker activity`})]}),(0,I.jsx)(m,{value:e.workflow.phase})]})},e.fingerprint))}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Autonomous queue`}),(0,I.jsx)(w,{className:`mt-2`,children:`Worker-ready state`}),(0,I.jsx)(D,{children:`Real queue health from persisted work items, not inferred status labels.`})]}),(0,I.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,I.jsx)(z,{label:`Runnable now`,value:e.queue.runnable,hint:`Dependencies satisfied and no sibling claim is active.`}),(0,I.jsx)(z,{label:`Active claims`,value:e.queue.active,hint:`Currently held by a running case worker.`}),(0,I.jsx)(z,{label:`Blocked by deps`,value:e.queue.blockedByDependency,hint:`Waiting on an earlier stage to complete first.`}),(0,I.jsx)(z,{label:`Manual review`,value:e.queue.manualReview,hint:`Queued for operator sign-off, not autonomous execution.`}),(0,I.jsx)(z,{label:`Recovered claims`,value:e.queue.recoveredClaims,hint:`Requeued after a stale worker heartbeat expired.`}),(0,I.jsx)(z,{label:`Stale workers`,value:e.queue.staleWorkers,hint:`Workers marked errored after heartbeat expiry.`})]})]}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Autonomous workers`}),(0,I.jsx)(w,{className:`mt-2`,children:`Daemon state`})]}),K.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No orchestration daemons are heartbeating right now.`}):(0,I.jsx)(`div`,{className:`space-y-3`,children:K.slice(0,4).map(e=>(0,I.jsx)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,I.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[e.currentWorkItemTitle??e.currentWorkItemId??`Idle`,e.currentCaseTarget?` · ${e.currentCaseTarget}`:``,` · heartbeat ${a(e.heartbeatAt)}`]}),e.lastError?(0,I.jsx)(`div`,{className:`mt-1 text-xs text-destructive`,children:e.lastError}):null]}),(0,I.jsx)(h,{value:e.status})]})},e.id))})]})]})]})]}),(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[0.95fr_1.05fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Runs`}),(0,I.jsx)(w,{className:`mt-2`,children:`Recent execution`}),(0,I.jsx)(D,{children:`Recent and still-running runs. Use this to jump into provenance without leaving operations.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/runs`,children:`Open runs`})})]}),(0,I.jsx)(O,{children:ke.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No runs recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Target`}),(0,I.jsx)(g,{children:`Started`}),(0,I.jsx)(g,{children:`Profile`}),(0,I.jsx)(g,{className:`w-[12rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:ke.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/runs/${e.id}`,className:`text-foreground hover:text-primary`,children:e.target})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.startedAt)}),(0,I.jsxs)(y,{className:`text-muted-foreground`,children:[e.runtime,` · `,e.mode,` · `,e.depth]}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(h,{value:e.status}),(0,I.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:ae(e.durationMs)})]})})]},e.id))})]})})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Findings`}),(0,I.jsx)(w,{className:`mt-2`,children:`Latest movement`}),(0,I.jsx)(D,{children:`Most recent finding-family changes across automation, triage, and review.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings`})})]}),(0,I.jsx)(O,{children:$.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No findings recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Finding`}),(0,I.jsx)(g,{children:`Updated`}),(0,I.jsx)(g,{children:`Coverage`}),(0,I.jsx)(g,{className:`w-[16rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:$.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-foreground hover:text-primary`,children:e.latest.title})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.workflow.updatedAt??e.latest.timestamp)}),(0,I.jsxs)(y,{className:`text-muted-foreground`,children:[e.count,` hits · `,e.scanCount,` scans`]}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(m,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,I.jsx)(de,{value:e.workflow.reviewGate}),(0,I.jsx)(S,{severity:e.latest.severity}),(0,I.jsx)(b,{value:e.workflow.consensus})]})})]},e.fingerprint))})]})})]})]}),Ae.length>0?(0,I.jsxs)(k,{className:`overflow-hidden border-destructive/20`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Incidents`}),(0,I.jsx)(w,{className:`mt-2`,children:`Runtime incidents`}),(0,I.jsx)(D,{children:`Provider failures, worker crashes, and stalled agent executions that need operator attention.`})]})}),(0,I.jsx)(O,{className:`space-y-3`,children:Ae.map(e=>(0,I.jsx)(`div`,{className:`rounded-md border border-destructive/20 bg-destructive/5 px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(o,{to:`/runs/${e.scanId}`,className:`text-sm font-medium text-foreground hover:text-primary`,children:e.scanTarget}),(0,I.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:e.headline}),(0,I.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,I.jsx)(S,{severity:`high`}),(0,I.jsx)(`span`,{children:e.stage}),e.actor?(0,I.jsx)(`span`,{children:e.actor}):null,(0,I.jsx)(`span`,{children:a(e.timestamp)})]})]}),(0,I.jsx)(c,{className:`mt-0.5 size-5 shrink-0 text-destructive`})]})},`${e.scanId}:${e.timestamp}`))})]}):null,(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Events`}),(0,I.jsx)(w,{className:`mt-2`,children:`Recent pipeline activity`}),(0,I.jsx)(D,{children:`Live audit events across runs, useful for seeing where the system is actually spending time.`})]})}),(0,I.jsx)(O,{children:G.isLoading?(0,I.jsx)(T,{children:`Loading recent events...`}):G.error?(0,I.jsx)(T,{children:G.error instanceof Error?G.error.message:`Failed to load recent events.`}):(G.data?.events.length??0)===0?(0,I.jsx)(T,{children:`No pipeline events recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Target`}),(0,I.jsx)(g,{children:`Summary`}),(0,I.jsx)(g,{children:`Stage`}),(0,I.jsx)(g,{children:`Event`}),(0,I.jsx)(g,{children:`Actor`}),(0,I.jsx)(g,{className:`w-[12rem]`,children:`Time`})]})}),(0,I.jsx)(_,{children:G.data?.events.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsx)(o,{to:`/runs/${e.scanId}`,className:`text-foreground hover:text-primary`,children:e.scanTarget}),e.findingFingerprint?(0,I.jsx)(`div`,{children:(0,I.jsx)(o,{to:`/findings/${e.findingFingerprint}`,className:`text-xs text-muted-foreground hover:text-primary`,children:`Open finding`})}):null]})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.summary}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.stage}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.eventType}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.agentRole??`system`}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.timestamp)})]},e.id))})]})})]})]})}function R({icon:e,label:t,value:n,hint:r}){return(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[(0,I.jsx)(e,{className:`size-3.5`}),t]}),(0,I.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:n}),(0,I.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:r})]})}function z({label:e,value:t,hint:n}){return(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:[(0,I.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,I.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:t}),(0,I.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:n})]})}function B({label:e,value:t,onValueChange:n,options:r}){return(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:e}),(0,I.jsx)(d,{value:t,onValueChange:n,children:(0,I.jsx)(u,{className:`w-full flex-wrap justify-start`,children:r.map(e=>(0,I.jsx)(l,{value:e.value,className:`flex-1`,children:e.label},e.value))})})]})}export{L as OverviewPage};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-C7oxC63R.js";import{C as t}from"./operations-app-CQQhG54n.js";var n=e();function r({eyebrow:e,title:r,summary:i,actions:a,className:o}){return(0,n.jsxs)(`header`,{className:t(`flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between`,o),children:[(0,n.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,n.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground`,children:e}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h1`,{className:`text-[2rem] font-bold tracking-tight text-foreground`,children:r}),(0,n.jsx)(`p`,{className:`mt-1.5 max-w-3xl text-sm leading-6 text-muted-foreground`,children:i})]})]}),a?(0,n.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:a}):null]})}export{r as t};
@@ -0,0 +1 @@
1
+ import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{c as r,l as i,n as a,r as o,t as s,y as c}from"./format-PoISqsES.js";import{T as l,w as u,y as d}from"./operations-D8nUP5_m.js";import{_ as f,g as p}from"./dist-CmX-h7a4.js";import{t as m}from"./bot-yILPnRgD.js";import{t as h}from"./circle-alert-BEnMBMT-.js";import{t as g}from"./search-CiooTLck.js";import{t as _}from"./siren-CCBwTSuk.js";import{a as v,c as y,f as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D,u as O}from"./table-BYS-nIVA.js";import{n as k,t as A}from"./meta-tile-CcskIV_o.js";import{C as j,S as M,_ as N,b as P,c as ee,d as te,f as F,g as I,h as L,j as R,k as ne,l as z,m as B,p as V,s as re,t as ie,u as H,v as U,x as W,y as G}from"./operations-app-CQQhG54n.js";var K=f(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),q=f(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),J=e(t(),1),Y=n();function ae({title:e,description:t,searchValue:n,onSearchChange:r,searchPlaceholder:i,children:a}){return(0,Y.jsxs)(B,{className:`flex min-h-[36rem] flex-col overflow-hidden`,children:[(0,Y.jsxs)(G,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Queue`}),(0,Y.jsx)(M,{className:`mt-2`,children:e}),(0,Y.jsx)(I,{children:t})]}),(0,Y.jsxs)(`label`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(g,{className:`size-4 text-muted-foreground`}),(0,Y.jsx)(re,{value:n,onChange:e=>r(e.target.value),placeholder:i,className:`h-9`})]})]}),(0,Y.jsx)(L,{className:`flex min-h-0 flex-1 flex-col pt-3`,children:(0,Y.jsx)(ie,{className:`min-h-0 flex-1`,children:(0,Y.jsx)(P,{children:a})})})]})}function X({title:e,description:t,meta:n,badges:r,selected:i=!1}){return(0,Y.jsx)(W,{interactive:!0,selected:i,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-semibold leading-5 text-foreground`,children:e}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:t}),n?(0,Y.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n}):null]}),r?(0,Y.jsx)(`div`,{className:`flex max-w-[12rem] flex-wrap justify-end gap-2`,children:r}):null]})})}function oe({events:e}){return(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Activity`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Timeline`})]})}),(0,Y.jsx)(L,{className:`space-y-4`,children:e.length===0?(0,Y.jsx)(N,{children:`No pipeline events recorded.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Event`}),(0,Y.jsx)(x,{children:`Summary`}),(0,Y.jsx)(x,{className:`w-[10rem]`,children:`Time`}),(0,Y.jsx)(x,{className:`w-[14rem]`,children:`Payload`})]})}),(0,Y.jsx)(C,{children:e.map(e=>{let t=se(e.stage,e.eventType);return(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{children:(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(`div`,{className:`mt-0.5 inline-flex size-8 items-center justify-center rounded-md border border-border bg-muted text-primary`,children:(0,Y.jsx)(t,{className:`size-4`})}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`font-medium text-foreground`,children:[e.stage,` · `,e.eventType]}),e.agentRole?(0,Y.jsx)(b,{value:e.agentRole}):null]})]})}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{children:o(e.payload)}),e.findingId?(0,Y.jsxs)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[`finding `,e.findingId.slice(0,8)]}):null]})}),(0,Y.jsx)(T,{className:`text-xs text-muted-foreground`,children:a(e.timestamp)}),(0,Y.jsx)(T,{children:e.payload?(0,Y.jsxs)(`details`,{className:`rounded-md border border-border bg-muted/50 p-2 text-sm text-muted-foreground`,children:[(0,Y.jsx)(`summary`,{className:`cursor-pointer list-none font-medium text-foreground`,children:`View raw`}),(0,Y.jsx)(`pre`,{className:`mt-3 text-xs text-muted-foreground`,children:JSON.stringify(e.payload,null,2)})]}):(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No payload`})})]},e.id)})})]})})]})}function se(e,t){let n=`${e}:${t}`.toLowerCase();return n.includes(`attack`)?p:n.includes(`agent`)?m:n.includes(`verify`)?K:n.includes(`finding`)?h:n.includes(`scan`)?ne:n.includes(`analysis`)?q:R}function Z({icon:e,label:t,value:n,hint:r,tone:i=`neutral`}){return(0,Y.jsx)(B,{className:`overflow-hidden`,children:(0,Y.jsxs)(L,{className:`space-y-4 p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:t}),(0,Y.jsx)(`div`,{className:j(`inline-flex size-9 items-center justify-center rounded-md border border-border bg-muted text-muted-foreground`,i===`danger`&&`border-destructive/20 bg-destructive/10 text-destructive`,i===`warning`&&`border-amber-500/20 bg-amber-500/10 text-amber-300`,i===`success`&&`border-emerald-500/20 bg-emerald-500/10 text-emerald-300`,i===`accent`&&`border-primary/20 bg-primary/12 text-primary`),children:(0,Y.jsx)(e,{className:`size-5`})})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-3xl font-bold tracking-tight text-foreground`,children:n}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:r})]})]})})}function Q({children:e,className:t}){return(0,Y.jsx)(`section`,{className:j(`grid gap-4 xl:grid-cols-[22rem_minmax(0,1fr)_20rem]`,t),children:e})}function ce({children:e,className:t}){return(0,Y.jsx)(`div`,{className:j(`min-w-0 min-h-0`,t),children:e})}function $({children:e,className:t,span:n=!1}){return(0,Y.jsx)(`div`,{className:j(`min-w-0 min-h-0`,n&&`xl:col-span-2`,t),children:e})}function le({scans:e}){let{scanId:t}=l(),n=u(),[o,s]=(0,J.useState)(``),f=(0,J.useDeferredValue)(o),p=(0,J.useMemo)(()=>{let t=new Map;for(let n of e){let e=t.get(n.target)??[];e.push(n),t.set(n.target,e)}return[...t.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.startedAt.localeCompare(e.startedAt));return{target:e,scans:n,latestScan:n[0],activeRunCount:n.filter(e=>e.status===`running`).length,totalFindings:n.reduce((e,t)=>e+t.summary.totalFindings,0)}}).sort((e,t)=>t.latestScan.startedAt.localeCompare(e.latestScan.startedAt))},[e]),m=(0,J.useMemo)(()=>{let e=f.trim().toLowerCase();return e?p.filter(t=>[t.target,...t.scans.flatMap(e=>[e.depth,e.runtime,e.mode,e.status,e.id])].join(` `).toLowerCase().includes(e)):p},[f,p]),h=(0,J.useMemo)(()=>e.find(e=>e.id===t)??m[0]?.latestScan??null,[m,t,e]),g=h?.id??null,_=(0,J.useMemo)(()=>h?p.find(e=>e.target===h.target)??null:null,[p,h]);(0,J.useEffect)(()=>{!t&&g&&n(`/runs/${g}`,{replace:!0})},[n,t,g]);let v=c({queryKey:[`scan-events`,g],queryFn:()=>r(g),enabled:!!g}),y=c({queryKey:[`scan-findings`,g],queryFn:()=>i(g),enabled:!!g});return(0,Y.jsx)(`div`,{className:`space-y-6`,children:(0,Y.jsxs)(Q,{className:`xl:grid-cols-[22rem_minmax(0,1fr)]`,children:[(0,Y.jsx)(ce,{children:(0,Y.jsx)(ae,{title:`${p.length} targets`,description:`Search by target, runtime, mode, depth, status, or run id.`,searchValue:o,onSearchChange:s,searchPlaceholder:`Filter targets and runs`,children:m.length===0?(0,Y.jsx)(N,{className:`py-8`,children:`No targets match the current filter.`}):m.map(e=>(0,Y.jsx)(d,{to:`/runs/${e.latestScan.id}`,children:({isActive:t})=>(0,Y.jsx)(X,{selected:t,title:e.target,description:`${e.scans.length} runs · latest ${e.latestScan.runtime} · ${e.latestScan.mode}`,meta:a(e.latestScan.startedAt),badges:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(b,{value:e.latestScan.status}),e.activeRunCount>0?(0,Y.jsxs)(V,{variant:`accent`,children:[e.activeRunCount,` active`]}):null,(0,Y.jsxs)(V,{children:[e.totalFindings,` findings`]})]})})},e.target))})}),g?v.isLoading||y.isLoading?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(te,{label:`Scan detail`})}):v.error?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(H,{error:v.error})}):y.error?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(H,{error:y.error})}):v.data&&y.data?(0,Y.jsx)(ue,{events:v.data,findings:y.data,targetRuns:_?.scans??[]}):(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(z,{title:`Scan unavailable`,body:`The selected run could not be loaded from the local database.`})}):(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(z,{title:`No scan selected`,body:`Choose a run from the run history to inspect details.`})})]})})}function ue({events:e,findings:t,targetRuns:n}){let r=e.scan,i=u(),{openPanel:o,clearPanel:c}=F(),l=(0,J.useMemo)(()=>n.filter(e=>e.id!==r.id),[r.id,n]),f=(0,J.useMemo)(()=>n.filter(e=>e.status===`running`).length,[n]),p=(0,J.useMemo)(()=>de(e.events),[e.events]),m=(0,J.useMemo)(()=>(0,Y.jsxs)(`div`,{className:`space-y-4 p-6`,children:[(0,Y.jsx)(k,{eyebrow:`Target`,title:`Target dossier`,description:`Shared context for the selected run across the full target history.`,children:(0,Y.jsxs)(P,{children:[(0,Y.jsx)(A,{label:`Target`,value:r.target}),(0,Y.jsx)(A,{label:`Runs on target`,value:String(n.length)}),(0,Y.jsx)(A,{label:`Running now`,value:String(f)}),(0,Y.jsx)(A,{label:`Scan id`,value:r.id,mono:!0}),(0,Y.jsx)(A,{label:`Started`,value:a(r.startedAt)}),(0,Y.jsx)(A,{label:`Completed`,value:r.completedAt?a(r.completedAt):`In progress`}),(0,Y.jsx)(A,{label:`Mode`,value:`${r.mode} / ${r.depth}`}),(0,Y.jsx)(A,{label:`Runtime`,value:r.runtime})]})}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Target history`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Recent passes`}),(0,Y.jsx)(I,{children:`Open another run on the same target without leaving the current dossier.`})]})}),(0,Y.jsx)(L,{className:`px-0 pb-0`,children:l.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(N,{children:`No other runs for this target yet.`})}):(0,Y.jsx)(P,{children:l.slice(0,5).map(e=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(`/runs/${e.id}`),className:`w-full text-left`,children:(0,Y.jsx)(X,{title:a(e.startedAt),description:`${e.runtime} · ${e.mode} · ${e.depth}`,meta:e.id.slice(0,8),badges:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(b,{value:e.status}),(0,Y.jsx)(V,{children:e.summary.totalFindings})]})})},e.id))})})]})]}),[f,i,l,r.completedAt,r.depth,r.id,r.mode,r.runtime,r.startedAt,r.target,n.length]);(0,J.useEffect)(()=>(c(),()=>c()),[c,r.id]);let g=(0,J.useCallback)(()=>{o({title:`${r.target} target dossier`,description:`Shared context for the selected run across the full target history.`,content:m})},[o,m,r.target]);return(0,Y.jsx)($,{span:!0,className:`space-y-4`,children:(0,Y.jsxs)(k,{eyebrow:`Run dossier`,title:r.target,description:`Started ${a(r.startedAt)} · ${r.runtime} runtime · ${r.mode} mode · ${n.length} total runs on this target`,actions:(0,Y.jsx)(ee,{variant:`outline`,size:`sm`,onClick:g,children:`Open target dossier`}),children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(b,{value:r.status}),(0,Y.jsx)(V,{children:r.depth}),(0,Y.jsx)(V,{children:r.runtime}),(0,Y.jsx)(V,{children:r.mode})]}),p?(0,Y.jsx)(B,{className:`border-destructive/25 bg-destructive/5`,children:(0,Y.jsx)(L,{className:`space-y-3 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(h,{className:`mt-0.5 size-5 text-destructive`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Execution incident`}),(0,Y.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:p.headline}),(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,Y.jsx)(V,{variant:`outline`,children:p.stage}),p.actor?(0,Y.jsx)(V,{variant:`outline`,children:p.actor}):null,(0,Y.jsx)(`span`,{children:a(p.timestamp)})]})]})]})})}):null,(0,Y.jsxs)(`section`,{className:`grid gap-4 lg:grid-cols-2 2xl:grid-cols-4`,children:[(0,Y.jsx)(Z,{icon:R,label:`Findings`,value:r.summary.totalFindings,hint:`Grouped and raw findings`,tone:`accent`}),(0,Y.jsx)(Z,{icon:_,label:`Critical`,value:r.summary.critical,hint:`Critical-severity findings`,tone:`danger`}),(0,Y.jsx)(Z,{icon:h,label:`High`,value:r.summary.high,hint:`High-severity findings`,tone:`warning`}),(0,Y.jsx)(Z,{icon:q,label:`Duration`,value:s(r.durationMs),hint:`Elapsed runtime`,tone:`success`})]}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Run output`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Finding families in this run`}),(0,Y.jsx)(I,{children:`Deduplicated finding families produced by the selected run.`})]})}),(0,Y.jsx)(L,{children:t.groups.length===0?(0,Y.jsx)(N,{children:`No finding families recorded for this run.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Finding`}),(0,Y.jsx)(x,{children:`Category`}),(0,Y.jsx)(x,{children:`Count`}),(0,Y.jsx)(x,{className:`w-[12rem]`,children:`Posture`})]})}),(0,Y.jsx)(C,{children:t.groups.map(e=>(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{className:`font-medium text-foreground`,children:e.latest.title}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.latest.category}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.count}),(0,Y.jsx)(T,{children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(O,{severity:e.latest.severity}),(0,Y.jsx)(y,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,Y.jsx)(S,{value:e.workflow.reviewGate}),(0,Y.jsx)(b,{value:e.latest.triageStatus}),(0,Y.jsx)(E,{value:e.workflow.consensus})]})})]},e.fingerprint))})]})})]}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Target provenance`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Other runs on this target`}),(0,Y.jsx)(I,{children:`Use neighboring runs to understand whether this run is the first hit, a regression, or another pass over the same surface.`})]})}),(0,Y.jsx)(L,{children:n.length<=1?(0,Y.jsx)(N,{children:`No adjacent runs recorded for this target yet.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Started`}),(0,Y.jsx)(x,{children:`Mode`}),(0,Y.jsx)(x,{children:`Runtime`}),(0,Y.jsx)(x,{children:`Findings`}),(0,Y.jsx)(x,{className:`w-[10rem]`,children:`Status`})]})}),(0,Y.jsx)(C,{children:n.slice(0,6).map(e=>(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{className:`font-medium`,children:(0,Y.jsx)(d,{to:`/runs/${e.id}`,className:`text-foreground hover:text-primary`,children:a(e.startedAt)})}),(0,Y.jsxs)(T,{className:`text-muted-foreground`,children:[e.mode,` · `,e.depth]}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.runtime}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.summary.totalFindings}),(0,Y.jsx)(T,{children:(0,Y.jsx)(b,{value:e.status})})]},e.id))})]})})]}),(0,Y.jsx)(oe,{events:e.events})]})})}function de(e){let t=e=>{let t=e.payload??{},n=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.eventType;return/max turns|did not emit required tool_call/i.test(n)},n=[...e].reverse().find(e=>[`agent_error`,`scan_error`,`worker_failed`].includes(e.eventType)||(e.eventType===`stage_complete`||e.eventType===`agent_complete`)&&t(e));if(!n)return null;let r=n.payload??{},i=typeof r.error==`string`&&r.error.trim()?r.error.trim():typeof r.summary==`string`&&r.summary.trim()?r.summary.trim():`${n.stage} ${n.eventType}`.replaceAll(`_`,` `);return{stage:n.stage,actor:n.agentRole??null,headline:i,timestamp:n.timestamp}}export{le as ScansPage};
@@ -0,0 +1 @@
1
+ import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`siren`,[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`,key:`pcx96s`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`,key:`1b4s83`}],[`path`,{d:`M21 12h1`,key:`jtio3y`}],[`path`,{d:`M18.5 4.5 18 5`,key:`g5sp9y`}],[`path`,{d:`M2 12h1`,key:`1uaihz`}],[`path`,{d:`M12 2v1`,key:`11qlp1`}],[`path`,{d:`m4.929 4.929.707.707`,key:`1i51kw`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./jsx-runtime-C7oxC63R.js";import{C as n,p as r}from"./operations-app-CQQhG54n.js";var i=t();function a(e){return e.replaceAll(`_`,` `)}function o({severity:e}){let t=e.toLowerCase();return(0,i.jsx)(r,{variant:t===`critical`||t===`high`?`danger`:t===`medium`?`warning`:t===`low`?`info`:`neutral`,children:e})}function s({value:e}){let t=e.toLowerCase();return(0,i.jsx)(r,{variant:t===`accepted`||t===`complete`||t===`completed`?`success`:t===`suppressed`?`warning`:t===`running`||t===`claiming`?`accent`:t===`failed`||t===`critical`||t===`error`?`danger`:t===`sleeping`?`warning`:`neutral`,children:e})}function c({value:e}){return(0,i.jsx)(r,{variant:e===`done`?`success`:e===`cancelled`||e===`blocked`?`danger`:e===`human_review`?`warning`:e===`agent_review`||e===`in_progress`?`accent`:`neutral`,children:a(e)})}function l({value:e}){return(0,i.jsx)(r,{variant:e===`done`?`success`:e===`cancelled`||e===`blocked`?`danger`:e===`in_progress`?`accent`:`neutral`,children:a(e)})}function u({value:e}){return e===`none`?(0,i.jsx)(r,{variant:`neutral`,children:`no review gate`}):(0,i.jsx)(r,{variant:e===`human_review`?`warning`:`accent`,children:a(e)})}function d({value:e}){return(0,i.jsx)(r,{variant:e===`verified`?`success`:e===`false-positive`?`danger`:e===`disputed`?`warning`:`neutral`,children:e.replaceAll(`-`,` `)})}function f({value:e}){return(0,i.jsxs)(r,{variant:e===`strong`?`success`:e===`medium`?`warning`:`neutral`,children:[e,` signal`]})}e();function p({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,i.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function m({className:e,...t}){return(0,i.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function h({className:e,...t}){return(0,i.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function g({className:e,...t}){return(0,i.jsx)(`tr`,{"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-primary/5 has-aria-expanded:bg-primary/5 data-[state=selected]:bg-primary/8`,e),...t})}function _({className:e,...t}){return(0,i.jsx)(`th`,{"data-slot":`table-head`,className:n(`h-12 px-3 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function v({className:e,...t}){return(0,i.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-3 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}export{m as a,l as c,f as d,s as f,_ as i,u as l,h as n,g as o,c as p,v as r,d as s,p as t,o as u};
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{i as r}from"./format-PoISqsES.js";import{_ as i,a,c as o,f as s,h as c,i as l,l as u,m as d,r as f,s as p}from"./dist-CmX-h7a4.js";import{C as m,w as h}from"./operations-app-CQQhG54n.js";var g=i(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),_=e(t(),1),v=n();function y(e){let t=e+`CollectionProvider`,[n,r]=s(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=_.useRef(null),a=_.useRef(new Map).current;return(0,v.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let c=e+`CollectionSlot`,l=p(c),u=_.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=a(c,n),o=d(t,i.collectionRef);return(0,v.jsx)(l,{ref:o,children:r})});u.displayName=c;let f=e+`CollectionItemSlot`,m=`data-radix-collection-item`,h=p(f),g=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),s=d(t,o),c=a(f,n);return _.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,v.jsx)(h,{[m]:``,ref:s,children:r})});g.displayName=f;function y(t){let n=a(e+`CollectionConsumer`,t);return _.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:u,ItemSlot:g},y,r]}var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S=`RovingFocusGroup`,[C,w,T]=y(S),[E,D]=s(S,[T]),[O,k]=E(S),A=_.forwardRef((e,t)=>(0,v.jsx)(C.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(C.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(j,{...e,ref:t})})}));A.displayName=S;var j=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:i,loop:s=!1,dir:u,currentTabStopId:f,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:m,onEntryFocus:h,preventScrollOnEntryFocus:g=!1,...y}=e,C=_.useRef(null),T=d(t,C),E=r(u),[D,k]=o({prop:f,defaultProp:p??null,onChange:m,caller:S}),[A,j]=_.useState(!1),M=l(h),N=w(n),P=_.useRef(!1),[F,I]=_.useState(0);return _.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(b,M),()=>e.removeEventListener(b,M)},[M]),(0,v.jsx)(O,{scope:n,orientation:i,dir:E,loop:s,currentTabStopId:D,onItemFocus:_.useCallback(e=>k(e),[k]),onItemShiftTab:_.useCallback(()=>j(!0),[]),onFocusableItemAdd:_.useCallback(()=>I(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>I(e=>e-1),[]),children:(0,v.jsx)(a.div,{tabIndex:A||F===0?-1:0,"data-orientation":i,...y,ref:T,style:{outline:`none`,...e.style},onMouseDown:c(e.onMouseDown,()=>{P.current=!0}),onFocus:c(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=N().filter(e=>e.focusable);L([e.find(e=>e.active),e.find(e=>e.id===D),...e].filter(Boolean).map(e=>e.ref.current),g)}}P.current=!1}),onBlur:c(e.onBlur,()=>j(!1))})})}),M=`RovingFocusGroupItem`,N=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,children:s,...l}=e,d=u(),f=o||d,p=k(M,n),m=p.currentTabStopId===f,h=w(n),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:b}=p;return _.useEffect(()=>{if(r)return g(),()=>y()},[r,g,y]),(0,v.jsx)(C.ItemSlot,{scope:n,id:f,focusable:r,active:i,children:(0,v.jsx)(a.span,{tabIndex:m?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:c(e.onMouseDown,e=>{r?p.onItemFocus(f):e.preventDefault()}),onFocus:c(e.onFocus,()=>p.onItemFocus(f)),onKeyDown:c(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){p.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=I(e,p.orientation,p.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=h().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=p.loop?R(n,r+1):n.slice(r+1)}setTimeout(()=>L(n))}}),children:typeof s==`function`?s({isCurrentTabStop:m,hasTabStop:b!=null}):s})})});N.displayName=M;var P={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function F(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function I(e,t,n){let r=F(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return P[r]}function L(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function R(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ee=A,te=N,z=`Tabs`,[B,ne]=s(z,[D]),V=D(),[H,U]=B(z),W=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,onValueChange:s,defaultValue:c,orientation:l=`horizontal`,dir:d,activationMode:f=`automatic`,...p}=e,m=r(d),[h,g]=o({prop:i,onChange:s,defaultProp:c??``,caller:z});return(0,v.jsx)(H,{scope:n,baseId:u(),value:h,onValueChange:g,orientation:l,dir:m,activationMode:f,children:(0,v.jsx)(a.div,{dir:m,"data-orientation":l,...p,ref:t})})});W.displayName=z;var G=`TabsList`,K=_.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,o=U(G,n),s=V(n);return(0,v.jsx)(ee,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:r,children:(0,v.jsx)(a.div,{role:`tablist`,"aria-orientation":o.orientation,...i,ref:t})})});K.displayName=G;var q=`TabsTrigger`,J=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...o}=e,s=U(q,n),l=V(n),u=Z(s.baseId,r),d=Q(s.baseId,r),f=r===s.value;return(0,v.jsx)(te,{asChild:!0,...l,focusable:!i,active:f,children:(0,v.jsx)(a.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:u,...o,ref:t,onMouseDown:c(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?s.onValueChange(r):e.preventDefault()}),onKeyDown:c(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&s.onValueChange(r)}),onFocus:c(e.onFocus,()=>{let e=s.activationMode!==`manual`;!f&&!i&&e&&s.onValueChange(r)})})})});J.displayName=q;var Y=`TabsContent`,X=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:o,...s}=e,c=U(Y,n),l=Z(c.baseId,r),u=Q(c.baseId,r),d=r===c.value,p=_.useRef(d);return _.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,v.jsx)(f,{present:i||d,children:({present:n})=>(0,v.jsx)(a.div,{"data-state":d?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:u,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&o})})});X.displayName=Y;function Z(e,t){return`${e}-trigger-${t}`}function Q(e,t){return`${e}-content-${t}`}var re=W,$=K,ie=J,ae=X;function oe({className:e,orientation:t=`horizontal`,...n}){return(0,v.jsx)(re,{"data-slot":`tabs`,"data-orientation":t,className:m(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var se=h(`group/tabs-list inline-flex w-fit items-center justify-center rounded-md border border-border bg-muted/40 p-1 text-muted-foreground group-data-horizontal/tabs:h-9 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:rounded-lg data-[variant=line]:rounded-none data-[variant=line]:border-0 data-[variant=line]:bg-transparent data-[variant=line]:p-0`,{variants:{variant:{default:``,line:`gap-1`}},defaultVariants:{variant:`default`}});function ce({className:e,variant:t=`default`,...n}){return(0,v.jsx)($,{"data-slot":`tabs-list`,"data-variant":t,className:m(se({variant:t}),e),...n})}function le({className:e,...t}){return(0,v.jsx)(ie,{"data-slot":`tabs-trigger`,className:m(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-2 rounded-md border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap text-foreground/70 transition-[background-color,border-color,color] group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:rounded-md group-data-vertical/tabs:px-3 group-data-vertical/tabs:py-1.5 hover:text-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-2 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:border-border data-active:bg-background data-active:text-foreground dark:data-active:bg-card`,`after:absolute after:bg-primary after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function ue({className:e,...t}){return(0,v.jsx)(ae,{"data-slot":`tabs-content`,className:m(`flex-1 text-sm outline-none`,e),...t})}export{g as a,le as i,ue as n,ce as r,oe as t};
@@ -0,0 +1,21 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="color-scheme" content="light dark" />
7
+ <title>0sec</title>
8
+ <script type="module" crossorigin src="/assets/desktop-CXTQonNm.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-C7oxC63R.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/client-DRYsuOGl.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/dist-CmX-h7a4.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/chevron-down-BeDJ-Vka.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/circle-alert-BEnMBMT-.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/copy-Bi5vzoF9.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/dist-DAwYQmf_.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/play-Dwo-9xt6.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/search-CiooTLck.js">
18
+ <link rel="stylesheet" crossorigin href="/assets/desktop-NOekk4QS.css">
19
+ </head>
20
+ <body><div id="root"></div></body>
21
+ </html>
@@ -0,0 +1,15 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>0sec</title>
7
+ <script type="module" crossorigin src="/assets/operations-D8nUP5_m.js"></script>
8
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-C7oxC63R.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/client-DRYsuOGl.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/operations-BKE8T-vY.css">
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ </body>
15
+ </html>
package/package.json CHANGED
@@ -1,26 +1,18 @@
1
1
  {
2
2
  "name": "0sec-cli",
3
- "version": "0.15.0",
4
- "description": "0sec npm launcher — downloads and runs the standalone binary on first invocation. Installs the `0` command.",
3
+ "version": "0.17.0",
4
+ "type": "module",
5
+ "description": "The open cybersecurity harness — evidence-first, agent-driven security research for authorized targets.",
5
6
  "bin": {
6
- "0": "bin/0sec.cjs",
7
- "0sec": "bin/0sec.cjs",
8
- "0sec-cli": "bin/0sec.cjs"
7
+ "0": "0sec.js",
8
+ "0sec": "0sec.js"
9
9
  },
10
10
  "files": [
11
- "bin",
12
- "README.md",
13
- "LICENSE"
11
+ "0sec.js",
12
+ "chunks",
13
+ "attacks",
14
+ "dashboard"
14
15
  ],
15
- "homepage": "https://github.com/0sec-labs/0sec",
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/0sec-labs/0sec.git"
19
- },
20
- "bugs": {
21
- "url": "https://github.com/0sec-labs/0sec/issues"
22
- },
23
- "license": "MIT OR Apache-2.0",
24
16
  "keywords": [
25
17
  "security",
26
18
  "cybersecurity",
@@ -41,7 +33,27 @@
41
33
  "security-research"
42
34
  ],
43
35
  "author": "0sec Labs",
36
+ "homepage": "https://0.security",
37
+ "bugs": {
38
+ "url": "https://0.security/contact"
39
+ },
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/0sec-labs/0sec.git"
43
+ },
44
+ "license": "MIT OR Apache-2.0",
44
45
  "engines": {
45
- "node": ">=18"
46
+ "node": ">=24.0.0",
47
+ "pnpm": ">=9"
48
+ },
49
+ "dependencies": {
50
+ "@opentui/core": "0.5.4",
51
+ "@opentui/react": "0.5.4",
52
+ "drizzle-orm": "^0.45.2",
53
+ "node-sqlite3-wasm": "^0.8.55",
54
+ "pdfkit": "^0.15.2",
55
+ "react": "^19.2.4",
56
+ "tree-sitter": "0.21.1",
57
+ "tree-sitter-c": "0.21.4"
46
58
  }
47
59
  }