@xopcai/xopc 0.0.112 → 0.0.113

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 (102) hide show
  1. package/dist/browser-ext/icons/icon-128.png +0 -0
  2. package/dist/browser-ext/icons/icon-16.png +0 -0
  3. package/dist/browser-ext/icons/icon-32.png +0 -0
  4. package/dist/browser-ext/icons/icon-48.png +0 -0
  5. package/dist/browser-ext/manifest.json +1 -1
  6. package/dist/extensions/telegram/xopc.extension.json +1 -1
  7. package/dist/extensions/weixin/src/delivery-to.d.ts +3 -3
  8. package/dist/extensions/weixin/src/delivery-to.js.map +1 -1
  9. package/dist/gateway/static/root/apple-touch-icon.png +0 -0
  10. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-EhRp-ZMa.js → agent-avatar-dicebear-CBlklyNr.js} +1 -1
  11. package/dist/gateway/static/root/assets/{agent-browser-settings-page-H4foVCiS.js → agent-browser-settings-page-rGbKc2Hh.js} +1 -1
  12. package/dist/gateway/static/root/assets/{agent-defaults-tabbed-page-DDNw2oNU.js → agent-defaults-tabbed-page-CtwVbjOA.js} +1 -1
  13. package/dist/gateway/static/root/assets/{agents-E_X2kzS1.js → agents-CCBmGcwc.js} +3 -3
  14. package/dist/gateway/static/root/assets/{app-management-settings-panel-BIy7KEsM.js → app-management-settings-panel-28E_WfMe.js} +1 -1
  15. package/dist/gateway/static/root/assets/{appearance-settings-DGQG8NwA.js → appearance-settings-Do1z0XgJ.js} +1 -1
  16. package/dist/gateway/static/root/assets/{apps-page-BZLvInLr.js → apps-page-xwCsJS15.js} +1 -1
  17. package/dist/gateway/static/root/assets/{archive-plugin-uuQPupqx.js → archive-plugin-BAFlsov_.js} +1 -1
  18. package/dist/gateway/static/root/assets/{attachment-load-DBkv0cAv.js → attachment-load-V3qGPC3x.js} +1 -1
  19. package/dist/gateway/static/root/assets/{binary-plugins-DxxN_VAR.js → binary-plugins-DT8NvA6W.js} +1 -1
  20. package/dist/gateway/static/root/assets/{block-editor-CwnUlRmO.js → block-editor-CdLMEcHd.js} +1 -1
  21. package/dist/gateway/static/root/assets/{channels-settings-BHvUKlzw.js → channels-settings-C044DcYk.js} +1 -1
  22. package/dist/gateway/static/root/assets/{config-api-BD-NcD5d.js → config-api-Bf5mjpu7.js} +1 -1
  23. package/dist/gateway/static/root/assets/{connectors-settings-VBzXcEXL.js → connectors-settings-8VEWUOTj.js} +1 -1
  24. package/dist/gateway/static/root/assets/{cron-api-C5DoipZA.js → cron-api--pAB_rps.js} +1 -1
  25. package/dist/gateway/static/root/assets/cron-page-DqmNGNOy.js +3 -0
  26. package/dist/gateway/static/root/assets/{dreaming-settings-DSVhXTPq.js → dreaming-settings-6UZE1FSK.js} +1 -1
  27. package/dist/gateway/static/root/assets/{extension-debug-page-BDHA9o_e.js → extension-debug-page-BGhE7msg.js} +1 -1
  28. package/dist/gateway/static/root/assets/{extension-page-DmDLVSPE.js → extension-page-CvpI45WG.js} +1 -1
  29. package/dist/gateway/static/root/assets/{extension-settings-page-1124aHw_.js → extension-settings-page-DAmR5FUe.js} +1 -1
  30. package/dist/gateway/static/root/assets/{fetch-DOe56Wmy.js → fetch-NZmjSXLl.js} +1 -1
  31. package/dist/gateway/static/root/assets/{format-interval-label-tsMSvBSR.js → format-interval-label-qhth3BMV.js} +1 -1
  32. package/dist/gateway/static/root/assets/{gateway-config-api-CsD4FC9D.js → gateway-config-api-CaXBt-9R.js} +1 -1
  33. package/dist/gateway/static/root/assets/{gateway-settings-HQ8FBhY2.js → gateway-settings-DphpbLBc.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-startup-retry-C1zg7pH3.js → gateway-startup-retry-Be1omjh3.js} +1 -1
  35. package/dist/gateway/static/root/assets/{goal-detail-page-BG3Onph0.js → goal-detail-page-bv0VRDaf.js} +1 -1
  36. package/dist/gateway/static/root/assets/goals-page-1Ywnt4Cb.js +2 -0
  37. package/dist/gateway/static/root/assets/{goals-settings-B5nI6lgz.js → goals-settings-ceEBjnfc.js} +1 -1
  38. package/dist/gateway/static/root/assets/{heartbeat-config-api-CIv42nJD.js → heartbeat-config-api-BzO6G4fD.js} +1 -1
  39. package/dist/gateway/static/root/assets/{heartbeat-settings-DFcVuJ3M.js → heartbeat-settings-DCST9-du.js} +1 -1
  40. package/dist/gateway/static/root/assets/{index-BTmbp2AU.js → index-Cxm6xsps.js} +59 -58
  41. package/dist/gateway/static/root/assets/{index-5A_ZaABy.css → index-b_R4tKqt.css} +1 -1
  42. package/dist/gateway/static/root/assets/{interval-presets-DGP3S7OB.js → interval-presets-DJmshV8n.js} +1 -1
  43. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-fETaDYQP.js → keyboard-shortcuts-settings-9AUUlQ5Q.js} +1 -1
  44. package/dist/gateway/static/root/assets/{logs-page-B1-b27lK.js → logs-page-B_wrxhee.js} +1 -1
  45. package/dist/gateway/static/root/assets/{markdown-split-CgeBJMOD.js → markdown-split-CYYELqAr.js} +1 -1
  46. package/dist/gateway/static/root/assets/{media-plugins-C30GzlV2.js → media-plugins-BEcMR2M8.js} +1 -1
  47. package/dist/gateway/static/root/assets/messages-CkT-lcgP.js +3 -0
  48. package/dist/gateway/static/root/assets/{models-hub-panel-DPcTS1-u.js → models-hub-panel-D0JDSbNu.js} +1 -1
  49. package/dist/gateway/static/root/assets/{note-detail-page-xeGb4owe.js → note-detail-page-DpFV-EO6.js} +2 -2
  50. package/dist/gateway/static/root/assets/{note-image-lightbox-t1g0qZYh.js → note-image-lightbox-DNAoPcmm.js} +1 -1
  51. package/dist/gateway/static/root/assets/{notes-page-C_TdnKBe.js → notes-page-CdkjTch8.js} +1 -1
  52. package/dist/gateway/static/root/assets/{preview-open-alternatives-DeWp9x5g.js → preview-open-alternatives-BPLz0AIv.js} +1 -1
  53. package/dist/gateway/static/root/assets/{remote-access-hub-BtkPmJIN.js → remote-access-hub-DSYVAi96.js} +1 -1
  54. package/dist/gateway/static/root/assets/{save-bar-controls-BOaAOJI3.js → save-bar-controls-CrWwWRVK.js} +1 -1
  55. package/dist/gateway/static/root/assets/{schedule-field-BLWLKqgw.js → schedule-field-CF2sadvN.js} +1 -1
  56. package/dist/gateway/static/root/assets/{schema-form-plqRFYT8.js → schema-form-Di5cKjYE.js} +1 -1
  57. package/dist/gateway/static/root/assets/{sessions-page-DOUjxzJm.js → sessions-page-CenkcVjF.js} +1 -1
  58. package/dist/gateway/static/root/assets/settings-advanced-gate-D9sva86V.js +1 -0
  59. package/dist/gateway/static/root/assets/{settings-collapsible-section-BP5zRrDI.js → settings-collapsible-section-Chh282jW.js} +1 -1
  60. package/dist/gateway/static/root/assets/{settings-form-section-Bv8MZplG.js → settings-form-section-Dq-83cQd.js} +1 -1
  61. package/dist/gateway/static/root/assets/{settings-page-DmDfE1ww.js → settings-page-DL35U0x0.js} +1 -1
  62. package/dist/gateway/static/root/assets/{setup-status-panel-BEFwNcIZ.js → setup-status-panel-Ctwbp9Er.js} +1 -1
  63. package/dist/gateway/static/root/assets/{share-preview-page-4OX1YCgp.js → share-preview-page-0FXYnSUA.js} +1 -1
  64. package/dist/gateway/static/root/assets/{shares-settings-CbKmJZot.js → shares-settings-DIM3JNsr.js} +1 -1
  65. package/dist/gateway/static/root/assets/skill-reload-api-DAlNaNzL.js +1 -0
  66. package/dist/gateway/static/root/assets/skills-page-CLrHVzAt.js +2 -0
  67. package/dist/gateway/static/root/assets/{system-settings-panel-CGy4f_s2.js → system-settings-panel-W1pTcojB.js} +1 -1
  68. package/dist/gateway/static/root/assets/use-agent-defaults-form-BVRvkK7m.js +1 -0
  69. package/dist/gateway/static/root/assets/{use-channel-catalog-CjGHnDvN.js → use-channel-catalog-CgJibfMM.js} +1 -1
  70. package/dist/gateway/static/root/assets/{use-settings-tab-guard-BMMFa0oA.js → use-settings-tab-guard-Bw_qkRQE.js} +1 -1
  71. package/dist/gateway/static/root/assets/{voice-api-key-field-DnRbhMNq.js → voice-api-key-field-vYAO71Gn.js} +1 -1
  72. package/dist/gateway/static/root/assets/{voice-player-store-D5vzWwls.js → voice-player-store-C7lziaAx.js} +1 -1
  73. package/dist/gateway/static/root/assets/{workflow-page.utils-tjGpRVnw.js → workflow-page.utils-sgHjOXOm.js} +1 -1
  74. package/dist/gateway/static/root/assets/{workflows-page-DqqHKGj2.js → workflows-page-DYyOTmFx.js} +1 -1
  75. package/dist/gateway/static/root/favicon-16x16.png +0 -0
  76. package/dist/gateway/static/root/favicon-32x32.png +0 -0
  77. package/dist/gateway/static/root/favicon-icon.svg +1 -0
  78. package/dist/gateway/static/root/favicon.ico +0 -0
  79. package/dist/gateway/static/root/favicon.png +0 -0
  80. package/dist/gateway/static/root/favicon.svg +24 -17
  81. package/dist/gateway/static/root/index.html +5 -5
  82. package/dist/gateway/static/root/logo-dark.svg +23 -15
  83. package/dist/gateway/static/root/logo.svg +23 -16
  84. package/dist/package.js +1 -1
  85. package/dist/src/agent/service/process-direct-streaming.js +9 -4
  86. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  87. package/dist/src/ai-assist/text-assist.d.ts +3 -0
  88. package/dist/src/ai-assist/text-assist.js +25 -7
  89. package/dist/src/ai-assist/text-assist.js.map +1 -1
  90. package/dist/src/channels/plugins/types.adapters.d.ts +2 -2
  91. package/dist/src/cron/executor.js.map +1 -1
  92. package/dist/src/cron/types.d.ts +2 -2
  93. package/dist/src/session/store-reader.d.ts +5 -0
  94. package/dist/src/session/store-reader.js +1 -0
  95. package/package.json +1 -1
  96. package/dist/gateway/static/root/assets/cron-page-BLTpdm34.js +0 -3
  97. package/dist/gateway/static/root/assets/goals-page-DgeKn8zL.js +0 -2
  98. package/dist/gateway/static/root/assets/messages-BUUfPaZ9.js +0 -3
  99. package/dist/gateway/static/root/assets/settings-advanced-gate-qK_bnTrw.js +0 -1
  100. package/dist/gateway/static/root/assets/skill-reload-api-YdtnUHtK.js +0 -1
  101. package/dist/gateway/static/root/assets/skills-page-DwW1IzQ0.js +0 -2
  102. package/dist/gateway/static/root/assets/use-agent-defaults-form-BMuMvzl_.js +0 -1
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BUUfPaZ9.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{i as s,t as c}from"./fetch-DOe56Wmy.js";import{r as l}from"./toast-z0toXu32.js";import{B as u,Da as d,Ds as f,Go as p,Jo as m,Mo as h,Ni as g,Oa as _,Vi as v,Wo as y,Xt as b,Zo as x,_i as S,aa as C,ba as w,ca as T,ci as E,ea as D,gi as O,ka as k,ko as A,mi as j,p as M,qa as N,sa as P,ts as F,wa as I,xi as L,yo as R,za as ee,zi as z,zo as B}from"./index-BTmbp2AU.js";import{t as te}from"./settings-advanced-gate-qK_bnTrw.js";import{n as V,t as H}from"./settings-form-section-Bv8MZplG.js";import{i as U,n as W,o as G}from"./use-settings-tab-guard-BMMFa0oA.js";import{l as K}from"./config-api-BD-NcD5d.js";import{a as q,i as J,n as Y,t as ne}from"./use-agent-defaults-form-BMuMvzl_.js";import{i as re}from"./gateway-config-api-CsD4FC9D.js";var X=e(t(),1),Z=n(),Q=r();function ie(e){switch(e){case`ready`:return`bg-emerald-500`;case`not_installed`:case`checking`:return`bg-amber-500`;case`error`:return`bg-red-500`;default:return`bg-fg-subtle/60`}}function ae(e){let t=(0,Z.c)(28),{value:n,onChange:r,onOpenConfig:a,options:o,m:s}=e,c;if(t[0]!==s.browserGoToConfigure||t[1]!==s.browserPickerSubtitle||t[2]!==s.browserPickerTitle||t[3]!==r||t[4]!==a||t[5]!==o||t[6]!==n){let e=o.find(e=>e.value===n)??o[0],l;t[8]===s.browserPickerTitle?l=t[9]:(l=(0,Q.jsx)(`label`,{htmlFor:`browser-backend-select`,className:`text-sm font-medium text-fg`,children:s.browserPickerTitle}),t[8]=s.browserPickerTitle,t[9]=l);let u;t[10]===s.browserPickerSubtitle?u=t[11]:(u=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:s.browserPickerSubtitle}),t[10]=s.browserPickerSubtitle,t[11]=u);let d;t[12]!==l||t[13]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(q(),`min-w-0 flex-1 sm:max-w-md`),t[15]=f):f=t[15];let p;t[16]===r?p=t[17]:(p=e=>r(e.target.value),t[16]=r,t[17]=p);let m=s.browserPickerTitle,h;t[18]===o?h=t[19]:(h=o.map(oe),t[18]=o,t[19]=h);let g;t[20]!==s.browserPickerTitle||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,Q.jsx)(`select`,{id:`browser-backend-select`,className:f,value:n,onChange:p,"aria-label":m,children:h}),t[20]=s.browserPickerTitle,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24];let _=a?(0,Q.jsxs)(`button`,{type:`button`,className:i(`inline-flex shrink-0 items-center justify-center gap-1 rounded-lg border border-edge bg-surface-panel px-3 py-2 text-xs font-medium text-accent`,`transition-colors hover:border-edge-strong hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`),onClick:()=>a(n),"aria-label":`${e?.name??n} — ${s.browserGoToConfigure}`,children:[(0,Q.jsx)(`span`,{children:s.browserGoToConfigure}),(0,Q.jsx)(F,{className:`size-4 shrink-0`,"aria-hidden":!0})]}):null,v;t[25]!==_||t[26]!==g?(v=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:gap-2`,children:[g,_]}),t[25]=_,t[26]=g,t[27]=v):v=t[27],c=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[d,v,e?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-edge-subtle bg-surface-panel px-3 py-2.5`,children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e.statusLabel?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-medium text-fg-muted`,"aria-label":e.statusLabel,children:[(0,Q.jsx)(`span`,{className:i(`inline-block size-1.5 rounded-full`,ie(e.status)),"aria-hidden":!0}),e.statusLabel]}):null}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:e.tagline})]}):null]}),t[0]=s.browserGoToConfigure,t[1]=s.browserPickerSubtitle,t[2]=s.browserPickerTitle,t[3]=r,t[4]=a,t[5]=o,t[6]=n,t[7]=c}else c=t[7];return c}function oe(e){return(0,Q.jsx)(`option`,{value:e.value,children:e.name},e.value)}function se(e){return`browser-focus-${e}`}function ce(e){switch(e){case`connection`:case`extension`:case`local`:case`cloak`:case`cdp`:case`cloud`:case`runtime`:case`security`:return e;default:return null}}function le(e){let t=(0,Z.c)(89),{a:n,form:r,update:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=se(`runtime`),t[0]=a):a=t[0];let o;t[1]===n.browserBehaviorShow?o=t[2]:(o=(0,Q.jsx)(V,{icon:C,title:n.browserBehaviorShow}),t[1]=n.browserBehaviorShow,t[2]=o);let s;t[3]===i?s=t[4]:(s=e=>i({browserHeadless:e.target.checked}),t[3]=i,t[4]=s);let c;t[5]!==r.browserHeadless||t[6]!==s?(c=(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:r.browserHeadless,onChange:s}),t[5]=r.browserHeadless,t[6]=s,t[7]=c):c=t[7];let l;t[8]===n.browserHeadlessOn?l=t[9]:(l=(0,Q.jsx)(`span`,{children:n.browserHeadlessOn}),t[8]=n.browserHeadlessOn,t[9]=l);let u;t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==n.desc.browserHeadless||t[14]!==n.label.browserHeadless||t[15]!==u?(d=(0,Q.jsx)(K,{label:n.label.browserHeadless,description:n.desc.browserHeadless,children:u}),t[13]=n.desc.browserHeadless,t[14]=n.label.browserHeadless,t[15]=u,t[16]=d):d=t[16];let f=n.label.browserDialogPolicy,p=n.desc.browserDialogPolicy,m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=q(),t[17]=m):m=t[17];let h;t[18]===i?h=t[19]:(h=e=>i({browserDialogPolicy:e.target.value}),t[18]=i,t[19]=h);let g;t[20]===n.browserDialogPolicyMustRespond?g=t[21]:(g=(0,Q.jsx)(`option`,{value:`must_respond`,children:n.browserDialogPolicyMustRespond}),t[20]=n.browserDialogPolicyMustRespond,t[21]=g);let _;t[22]===n.browserDialogPolicyAutoDismiss?_=t[23]:(_=(0,Q.jsx)(`option`,{value:`auto_dismiss`,children:n.browserDialogPolicyAutoDismiss}),t[22]=n.browserDialogPolicyAutoDismiss,t[23]=_);let v;t[24]===n.browserDialogPolicyAutoAccept?v=t[25]:(v=(0,Q.jsx)(`option`,{value:`auto_accept`,children:n.browserDialogPolicyAutoAccept}),t[24]=n.browserDialogPolicyAutoAccept,t[25]=v);let y;t[26]!==r.browserDialogPolicy||t[27]!==h||t[28]!==g||t[29]!==_||t[30]!==v?(y=(0,Q.jsxs)(`select`,{className:m,value:r.browserDialogPolicy,onChange:h,children:[g,_,v]}),t[26]=r.browserDialogPolicy,t[27]=h,t[28]=g,t[29]=_,t[30]=v,t[31]=y):y=t[31];let b;t[32]!==n.desc.browserDialogPolicy||t[33]!==n.label.browserDialogPolicy||t[34]!==y?(b=(0,Q.jsx)(K,{label:f,description:p,children:y}),t[32]=n.desc.browserDialogPolicy,t[33]=n.label.browserDialogPolicy,t[34]=y,t[35]=b):b=t[35];let x=n.label.browserDialogTimeout,S=n.desc.browserDialogTimeout,w;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(w=J(),t[36]=w):w=t[36];let E=r.browserDialogTimeout??``,D;t[37]===i?D=t[38]:(D=e=>{let t=e.target.value;i({browserDialogTimeout:t===``?void 0:Number.parseInt(t,10)})},t[37]=i,t[38]=D);let O;t[39]!==E||t[40]!==D?(O=(0,Q.jsx)(`input`,{type:`number`,className:w,min:1,value:E,placeholder:`300`,onChange:D}),t[39]=E,t[40]=D,t[41]=O):O=t[41];let k;t[42]!==n.desc.browserDialogTimeout||t[43]!==n.label.browserDialogTimeout||t[44]!==O?(k=(0,Q.jsx)(K,{label:x,description:S,children:O}),t[42]=n.desc.browserDialogTimeout,t[43]=n.label.browserDialogTimeout,t[44]=O,t[45]=k):k=t[45];let A;t[46]!==b||t[47]!==k||t[48]!==d?(A=(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[d,b,k]}),t[46]=b,t[47]=k,t[48]=d,t[49]=A):A=t[49];let j;t[50]!==o||t[51]!==A?(j=(0,Q.jsx)(`div`,{id:a,className:`scroll-mt-24`,children:(0,Q.jsxs)(H,{children:[o,A]})}),t[50]=o,t[51]=A,t[52]=j):j=t[52];let M;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(M=se(`security`),t[53]=M):M=t[53];let N;t[54]===n.browserSecurityShow?N=t[55]:(N=(0,Q.jsx)(V,{icon:T,title:n.browserSecurityShow}),t[54]=n.browserSecurityShow,t[55]=N);let P;t[56]===i?P=t[57]:(P=e=>i({browserAllowPrivateUrls:e.target.checked}),t[56]=i,t[57]=P);let F;t[58]!==r.browserAllowPrivateUrls||t[59]!==P?(F=(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:r.browserAllowPrivateUrls,onChange:P}),t[58]=r.browserAllowPrivateUrls,t[59]=P,t[60]=F):F=t[60];let I;t[61]===n.browserAllowPrivateOn?I=t[62]:(I=(0,Q.jsx)(`span`,{children:n.browserAllowPrivateOn}),t[61]=n.browserAllowPrivateOn,t[62]=I);let L;t[63]!==F||t[64]!==I?(L=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[F,I]}),t[63]=F,t[64]=I,t[65]=L):L=t[65];let R;t[66]!==n.desc.browserAllowPrivateUrls||t[67]!==n.label.browserAllowPrivateUrls||t[68]!==L?(R=(0,Q.jsx)(K,{label:n.label.browserAllowPrivateUrls,description:n.desc.browserAllowPrivateUrls,children:L}),t[66]=n.desc.browserAllowPrivateUrls,t[67]=n.label.browserAllowPrivateUrls,t[68]=L,t[69]=R):R=t[69];let ee=n.label.browserCommandTimeout,z=n.desc.browserCommandTimeout,B;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(B=J(),t[70]=B):B=t[70];let te=r.browserCommandTimeout??``,U;t[71]===i?U=t[72]:(U=e=>{let t=e.target.value;i({browserCommandTimeout:t===``?void 0:Number.parseInt(t,10)})},t[71]=i,t[72]=U);let W;t[73]!==te||t[74]!==U?(W=(0,Q.jsx)(`input`,{type:`number`,className:B,min:5,value:te,placeholder:`30`,onChange:U}),t[73]=te,t[74]=U,t[75]=W):W=t[75];let G;t[76]!==n.desc.browserCommandTimeout||t[77]!==n.label.browserCommandTimeout||t[78]!==W?(G=(0,Q.jsx)(K,{label:ee,description:z,children:W}),t[76]=n.desc.browserCommandTimeout,t[77]=n.label.browserCommandTimeout,t[78]=W,t[79]=G):G=t[79];let Y;t[80]!==R||t[81]!==G?(Y=(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[R,G]}),t[80]=R,t[81]=G,t[82]=Y):Y=t[82];let ne;t[83]!==N||t[84]!==Y?(ne=(0,Q.jsx)(`div`,{id:M,className:`scroll-mt-24`,children:(0,Q.jsxs)(H,{className:`border border-amber-500/20`,children:[N,Y]})}),t[83]=N,t[84]=Y,t[85]=ne):ne=t[85];let re;return t[86]!==j||t[87]!==ne?(re=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[j,ne]}),t[86]=j,t[87]=ne,t[88]=re):re=t[88],re}function ue(e){let t=(0,Z.c)(9),{language:n,label:r,className:a}=e,o;t[0]===n?o=t[1]:(o=E(n),t[0]=n,t[1]=o);let s;t[2]===a?s=t[3]:(s=i(`inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,a),t[2]=a,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(A,{className:`size-3 shrink-0`,"aria-hidden":!0}),t[4]=c):c=t[4];let l;return t[5]!==r||t[6]!==o||t[7]!==s?(l=(0,Q.jsxs)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,className:s,children:[r,c]}),t[5]=r,t[6]=o,t[7]=s,t[8]=l):l=t[8],l}function de(e){let t=(0,Z.c)(27),{title:n,description:r,recommended:a,recommendedLabel:o,icon:s,onSelect:c,selectLabel:l}=e,u=`${n} — ${l}`,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=i(`group flex w-full flex-col rounded-xl border border-edge bg-surface-panel px-3 py-3 text-left transition-colors`,`hover:border-edge-strong hover:bg-surface-hover/40`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),t[0]=d):d=t[0];let f;t[1]===s?f=t[2]:(f=(0,Q.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,Q.jsx)(s,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),t[1]=s,t[2]=f);let p;t[3]===n?p=t[4]:(p=(0,Q.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n}),t[3]=n,t[4]=p);let m;t[5]!==a||t[6]!==o?(m=a&&o?(0,Q.jsx)(`span`,{className:`rounded-full bg-accent/15 px-2 py-0.5 text-[10px] font-medium text-accent`,children:o}):null,t[5]=a,t[6]=o,t[7]=m):m=t[7];let h;t[8]!==p||t[9]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m]}),t[8]=p,t[9]=m,t[10]=h):h=t[10];let g;t[11]===r?g=t[12]:(g=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-fg-muted`,children:r}),t[11]=r,t[12]=g);let _;t[13]!==h||t[14]!==g?(_=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Q.jsx)(F,{className:`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0}),t[16]=v):v=t[16];let y;t[17]!==f||t[18]!==_?(y=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[f,_,v]}),t[17]=f,t[18]=_,t[19]=y):y=t[19];let b;t[20]===l?b=t[21]:(b=(0,Q.jsx)(`span`,{className:`mt-2 text-[11px] font-medium text-accent`,children:l}),t[20]=l,t[21]=b);let x;return t[22]!==c||t[23]!==u||t[24]!==y||t[25]!==b?(x=(0,Q.jsxs)(`button`,{type:`button`,onClick:c,"aria-label":u,className:d,children:[y,b]}),t[22]=c,t[23]=u,t[24]=y,t[25]=b,t[26]=x):x=t[26],x}function fe(e){let t=(0,Z.c)(25),{m:n,onStart:r}=e,i=b(pe),a;t[0]!==n.browserBackendCloakBrowser||t[1]!==n.browserModeCloakTagline||t[2]!==n.browserSetupCloudDesc||t[3]!==n.browserSetupCloudTitle||t[4]!==n.browserSetupExtDesc||t[5]!==n.browserSetupExtTitle||t[6]!==n.browserSetupLocalDesc||t[7]!==n.browserSetupLocalTitle||t[8]!==i?(a=[{id:`extension`,icon:I,title:n.browserSetupExtTitle,description:n.browserSetupExtDesc,recommended:!0},{id:`cloakbrowser`,icon:P,title:n.browserBackendCloakBrowser,description:n.browserModeCloakTagline},{id:`local`,icon:ee,title:n.browserSetupLocalTitle,description:n.browserSetupLocalDesc},{id:`cloud`,icon:B,title:n.browserSetupCloudTitle,description:n.browserSetupCloudDesc}].filter(e=>U(e.id,i)),t[0]=n.browserBackendCloakBrowser,t[1]=n.browserModeCloakTagline,t[2]=n.browserSetupCloudDesc,t[3]=n.browserSetupCloudTitle,t[4]=n.browserSetupExtDesc,t[5]=n.browserSetupExtTitle,t[6]=n.browserSetupLocalDesc,t[7]=n.browserSetupLocalTitle,t[8]=i,t[9]=a):a=t[9];let o=a,s;t[10]===n.browserSetupTitle?s=t[11]:(s=(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:n.browserSetupTitle}),t[10]=n.browserSetupTitle,t[11]=s);let c;t[12]===n.browserSetupSubtitle?c=t[13]:(c=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-fg-muted`,children:n.browserSetupSubtitle}),t[12]=n.browserSetupSubtitle,t[13]=c);let l;t[14]!==s||t[15]!==c?(l=(0,Q.jsxs)(`div`,{children:[s,c]}),t[14]=s,t[15]=c,t[16]=l):l=t[16];let u;t[17]!==n.browserSetupRecommended||t[18]!==n.browserSetupSelect||t[19]!==o||t[20]!==r?(u=(0,Q.jsx)(`div`,{className:`flex flex-col gap-2`,children:o.map(e=>(0,Q.jsx)(de,{icon:e.icon,title:e.title,description:e.description,recommended:e.recommended,recommendedLabel:n.browserSetupRecommended,selectLabel:n.browserSetupSelect,onSelect:()=>r(e.id)},e.id))}),t[17]=n.browserSetupRecommended,t[18]=n.browserSetupSelect,t[19]=o,t[20]=r,t[21]=u):u=t[21];let d;return t[22]!==l||t[23]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-edge-subtle bg-surface-base px-4 py-4`,children:[l,u]}),t[22]=l,t[23]=u,t[24]=d):d=t[24],d}function pe(e){return e.mode}function me(e){if(e.kind===`loading`)return`checking`;if(e.kind===`error`)return`error`;if(e.kind===`ok`)return e.data.installed?`ready`:`not_installed`}function he(e,t){if(e)return{ready:t.browserStatusReady,not_installed:t.browserStatusNotInstalled,checking:t.browserStatusChecking,unknown:t.browserStatusUnknown,error:t.browserStatusError}[e]}function ge(e){if(e.kind!==`idle`)return e.kind===`loading`?`checking`:e.kind===`error`?`error`:e.data.connected?`ready`:(e.data.running,`not_installed`)}function _e(e,t){if(e.kind!==`idle`)return e.kind===`loading`?t.browserStatusChecking:e.kind===`error`?t.browserStatusError:e.data.connected?t.browserExtensionConnected:e.data.running?t.browserExtensionWaiting:t.browserExtensionServerOff}var ve=[`overview`,`extension`,`local`,`cloakbrowser`,`cdp`,`cloud`],ye=[`extension`,`local`,`cloakbrowser`,`cdp`,`cloud`],be={connection:`overview`,extension:`extension`,local:`local`,cloak:`cloakbrowser`,cdp:`cdp`,cloud:`cloud`,runtime:`overview`,security:`overview`};function xe(e){let t=(e??``).trim();return t===`behavior`?`overview`:ve.includes(t)?t:`overview`}function Se(e){return ye.includes(e)}function Ce(e){let t=(0,Z.c)(46),{icon:n,title:r,description:i,status:a,statusDetail:o,primaryAction:s,children:c,advanced:l,m:u,embedded:d,sectionTitle:f,advancedTitle:p}=e,m=d===void 0?!1:d,h;t[0]!==l||t[1]!==p?(h=l?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[p?(0,Q.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:p}):null,l]}):null,t[0]=l,t[1]=p,t[2]=h):h=t[2];let g=h;if(m){let e;t[3]!==i||t[4]!==f?(e=f?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Q.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:f}),i?(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:i}):null]}):null,t[3]=i,t[4]=f,t[5]=e):e=t[5];let n;t[6]!==u||t[7]!==s||t[8]!==a||t[9]!==o?(n=a||s?(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[a?(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(we,{kind:a,detail:o,m:u})}):(0,Q.jsx)(`span`,{}),s?(0,Q.jsx)(`div`,{className:`shrink-0`,children:s}):null]}):null,t[6]=u,t[7]=s,t[8]=a,t[9]=o,t[10]=n):n=t[10];let r;t[11]===c?r=t[12]:(r=c?(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:c}):null,t[11]=c,t[12]=r);let l;return t[13]!==g||t[14]!==e||t[15]!==n||t[16]!==r?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e,n,r,g]}),t[13]=g,t[14]=e,t[15]=n,t[16]=r,t[17]=l):l=t[17],l}let _;t[18]===n?_=t[19]:(_=(0,Q.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,Q.jsx)(n,{className:`size-4`,strokeWidth:1.75})}),t[18]=n,t[19]=_);let v;t[20]===r?v=t[21]:(v=(0,Q.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:r}),t[20]=r,t[21]=v);let y;t[22]!==u||t[23]!==a||t[24]!==o?(y=a?(0,Q.jsx)(we,{kind:a,detail:o,m:u}):null,t[22]=u,t[23]=a,t[24]=o,t[25]=y):y=t[25];let b;t[26]!==v||t[27]!==y?(b=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[v,y]}),t[26]=v,t[27]=y,t[28]=b):b=t[28];let x;t[29]===i?x=t[30]:(x=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:i}),t[29]=i,t[30]=x);let S;t[31]!==b||t[32]!==x?(S=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[b,x]}),t[31]=b,t[32]=x,t[33]=S):S=t[33];let C;t[34]===s?C=t[35]:(C=s?(0,Q.jsx)(`div`,{className:`shrink-0`,children:s}):null,t[34]=s,t[35]=C);let w;t[36]!==_||t[37]!==S||t[38]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[_,S,C]}),t[36]=_,t[37]=S,t[38]=C,t[39]=w):w=t[39];let T;t[40]===c?T=t[41]:(T=c?(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:c}):null,t[40]=c,t[41]=T);let E;return t[42]!==g||t[43]!==w||t[44]!==T?(E=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-edge bg-surface-panel p-4`,children:[w,T,g]}),t[42]=g,t[43]=w,t[44]=T,t[45]=E):E=t[45],E}function we(e){let t=(0,Z.c)(27),{kind:n,detail:r,m:a}=e,o,s,c,l;if(t[0]!==n||t[1]!==a.browserStatusChecking||t[2]!==a.browserStatusError||t[3]!==a.browserStatusNotInstalled||t[4]!==a.browserStatusReady||t[5]!==a.browserStatusUnknown){let{icon:e,color:r,label:u}={ready:{icon:x,color:`text-green-600 dark:text-green-400`,label:a.browserStatusReady},not_installed:{icon:v,color:`text-amber-600 dark:text-amber-400`,label:a.browserStatusNotInstalled},checking:{icon:N,color:`text-fg-muted`,label:a.browserStatusChecking},unknown:{icon:m,color:`text-fg-muted`,label:a.browserStatusUnknown},error:{icon:p,color:`text-red-600 dark:text-red-400`,label:a.browserStatusError}}[n];o=e,s=u,l=`inline-flex min-w-0 flex-col items-start gap-1`,c=i(`inline-flex shrink-0 items-center gap-1 whitespace-nowrap text-xs font-medium`,r),t[0]=n,t[1]=a.browserStatusChecking,t[2]=a.browserStatusError,t[3]=a.browserStatusNotInstalled,t[4]=a.browserStatusReady,t[5]=a.browserStatusUnknown,t[6]=o,t[7]=s,t[8]=c,t[9]=l}else o=t[6],s=t[7],c=t[8],l=t[9];let u=n===`checking`&&`animate-spin`,d;t[10]===u?d=t[11]:(d=i(`size-3.5 shrink-0`,u),t[10]=u,t[11]=d);let f;t[12]!==o||t[13]!==d?(f=(0,Q.jsx)(o,{className:d}),t[12]=o,t[13]=d,t[14]=f):f=t[14];let h;t[15]===s?h=t[16]:(h=(0,Q.jsx)(`span`,{children:s}),t[15]=s,t[16]=h);let g;t[17]!==c||t[18]!==f||t[19]!==h?(g=(0,Q.jsxs)(`span`,{className:c,children:[f,h]}),t[17]=c,t[18]=f,t[19]=h,t[20]=g):g=t[20];let _;t[21]===r?_=t[22]:(_=r?(0,Q.jsx)(`span`,{className:`break-all font-mono text-[11px] leading-snug text-fg-subtle`,children:r}):null,t[21]=r,t[22]=_);let y;return t[23]!==l||t[24]!==g||t[25]!==_?(y=(0,Q.jsxs)(`span`,{className:l,children:[g,_]}),t[23]=l,t[24]=g,t[25]=_,t[26]=y):y=t[26],y}function Te(e){let t=(0,Z.c)(5),{kind:n,message:r}=e,a=n===`success`?`border-green-500/30 bg-green-500/10 text-green-700 dark:text-green-300`:`border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-300`,o;t[0]===a?o=t[1]:(o=i(`rounded-lg border px-3 py-2 text-xs leading-relaxed`,a),t[0]=a,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,Q.jsx)(`div`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}var Ee={instances:[],launchStatus:`idle`,launchMessage:null,testStatus:`idle`,testMessage:null,executablePath:``};function De({m:e,cdpUrl:t,onCdpUrlChange:n,launch:r,stop:i,listInstances:a,ping:o,embedded:s=!1}){let[c,l]=(0,X.useReducer)(u,Ee),{instances:f,launchStatus:p,launchMessage:m,testStatus:h,testMessage:v,executablePath:y}=c,b=(0,X.useCallback)(async()=>{try{l({type:`patch`,patch:{instances:await a()}})}catch{}},[a]);(0,X.useEffect)(()=>{b();let e=setInterval(()=>void b(),8e3);return()=>clearInterval(e)},[b]);let x=(0,X.useCallback)(async()=>{if(p!==`pending`){l({type:`patch`,patch:{launchStatus:`pending`,launchMessage:null}});try{let t=await r(y.trim()||void 0);l({type:`patch`,patch:{launchStatus:`ok`,launchMessage:e.browserCdpLaunchedAtPort.replace(`{{port}}`,String(t.port))}}),n(t.wsEndpoint),await b()}catch(e){l({type:`patch`,patch:{launchStatus:`error`,launchMessage:e instanceof Error?e.message:String(e)}})}}},[y,r,p,e.browserCdpLaunchedAtPort,n,b]),S=(0,X.useCallback)(async e=>{await i(e),await b()},[b,i]),C=(0,X.useCallback)(async()=>{if(t.trim()){l({type:`patch`,patch:{testStatus:`pending`,testMessage:null}});try{let n=await o(t.trim());n.reachable?l({type:`patch`,patch:{testStatus:`ok`,testMessage:e.browserCdpReachable.replace(`{{browser}}`,n.browser??`—`)}}):l({type:`patch`,patch:{testStatus:`error`,testMessage:e.browserCdpUnreachable.replace(`{{error}}`,n.error??`—`)}})}catch(t){l({type:`patch`,patch:{testStatus:`error`,testMessage:e.browserCdpUnreachable.replace(`{{error}}`,t instanceof Error?t.message:String(t))}})}}},[t,e.browserCdpReachable,e.browserCdpUnreachable,o]);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(Ce,{icon:_,title:e.browserCdpLaunchLocal,description:e.browserCdpLaunchLocalDesc,m:e,embedded:s,sectionTitle:s?e.browserCdpLaunchLocal:void 0,primaryAction:(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:p===`pending`,onClick:()=>void x(),children:[p===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(_,{className:`size-3.5`}),p===`pending`?e.browserCdpLaunching:e.browserCdpLaunchLocal]}),children:[m?(0,Q.jsx)(Te,{kind:p===`error`?`error`:`success`,message:m}):null,(0,Q.jsx)(K,{label:e.browserCdpChromePath,description:e.browserCdpChromePathDesc,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:y,placeholder:`/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`,onChange:e=>l({type:`patch`,patch:{executablePath:e.target.value}}),autoComplete:`off`})}),f.length>0?(0,Q.jsx)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge bg-surface-base p-3 text-xs`,children:f.map(t=>(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsxs)(`span`,{className:`font-mono text-fg`,children:[`port `,t.port,` · pid `,t.pid]}),(0,Q.jsx)(`span`,{className:`truncate text-fg-subtle`,children:t.wsEndpoint})]}),(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md border border-edge bg-surface-panel px-2 py-1 text-xs font-medium text-fg hover:bg-surface-raised`,onClick:()=>void S(t.port),children:[(0,Q.jsx)(D,{className:`size-3`}),e.browserCdpStopLocal]})]},t.port))}):null]}),(0,Q.jsxs)(Ce,{icon:g,title:e.label.browserCdpUrl,description:e.desc.browserCdpUrl,m:e,embedded:s,sectionTitle:s?e.label.browserCdpUrl:void 0,primaryAction:(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:!t.trim()||h===`pending`,onClick:()=>void C(),children:[h===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(d,{className:`size-3.5`}),h===`pending`?e.browserCdpTesting:e.browserCdpTestConnection]}),children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:t,placeholder:`ws://127.0.0.1:9222`,onChange:e=>n(e.target.value),autoComplete:`off`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:e.browserCdpLoopbackOnly}),v?(0,Q.jsx)(Te,{kind:h===`error`?`error`:`success`,message:v}):null]})]})}function Oe(e,t){let n=t.phase;if(!n)return e.browserInstallPhaseStarting;if(n===`downloading`)return t.percent==null?e.browserInstallPhaseDownloading:e.browserInstallPhaseDownloadingPercent.replace(`{{percent}}`,String(t.percent));switch(n){case`starting`:return e.browserInstallPhaseStarting;case`verifying`:return e.browserInstallPhaseVerifying;case`extracting`:return e.browserInstallPhaseExtracting;case`running`:return t.message??e.browserInstallPhaseRunning;case`ready`:return e.browserInstallPhaseReady;default:return t.message??e.browserInstallPhaseRunning}}function ke(e){let t=(0,Z.c)(32),{m:n,progress:r,showLogs:i,onCancel:a,cancelling:o}=e,s=i===void 0?!1:i,c=o===void 0?!1:o;if(!r.phase)return null;let l;t[0]!==n||t[1]!==r?(l=Oe(n,r),t[0]=n,t[1]=r,t[2]=l):l=t[2];let u=l,d=r.percent==null?(r.phase===`extracting`||r.phase===`verifying`||r.phase===`running`||r.phase,null):Math.min(100,Math.max(0,r.percent)),f;t[3]===u?f=t[4]:(f=(0,Q.jsx)(`span`,{className:`text-fg`,children:u}),t[3]=u,t[4]=f);let p;t[5]===d?p=t[6]:(p=d==null?null:(0,Q.jsxs)(`span`,{className:`tabular-nums`,children:[d,`%`]}),t[5]=d,t[6]=p);let m;t[7]!==c||t[8]!==n||t[9]!==a?(m=a?(0,Q.jsx)(`button`,{type:`button`,className:`rounded-md border border-edge px-2 py-0.5 text-[11px] font-medium text-fg-muted hover:bg-surface-raised hover:text-fg disabled:cursor-not-allowed disabled:opacity-60`,disabled:c,onClick:()=>void a(),children:c?n.browserInstallCancelling:n.browserInstallCancel}):null,t[7]=c,t[8]=n,t[9]=a,t[10]=m):m=t[10];let h;t[11]!==p||t[12]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]!==f||t[15]!==h?(g=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs text-fg-muted`,children:[f,h]}),t[14]=f,t[15]=h,t[16]=g):g=t[16];let _;t[17]===d?_=t[18]:(_=(0,Q.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-surface-raised`,children:d==null?(0,Q.jsx)(`div`,{className:`h-full w-1/3 animate-pulse rounded-full bg-accent/70`}):(0,Q.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width] duration-300 ease-out`,style:{width:`${d}%`}})}),t[17]=d,t[18]=_);let v;t[19]!==r.lines||t[20]!==s?(v=s&&r.lines.length>0?(0,Q.jsx)(`div`,{className:`max-h-28 overflow-y-auto rounded-md border border-edge bg-surface-panel px-2 py-1.5 font-mono text-[10px] leading-relaxed text-fg-muted`,children:r.lines.map(Ae)}):null,t[19]=r.lines,t[20]=s,t[21]=v):v=t[21];let y;t[22]!==r.message||t[23]!==r.percent||t[24]!==r.phase||t[25]!==s?(y=!s&&r.phase===`downloading`&&r.message&&r.percent==null?(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:r.message}):null,t[22]=r.message,t[23]=r.percent,t[24]=r.phase,t[25]=s,t[26]=y):y=t[26];let b;return t[27]!==v||t[28]!==y||t[29]!==g||t[30]!==_?(b=(0,Q.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-edge bg-surface-base px-3 py-2.5`,children:[g,_,v,y]}),t[27]=v,t[28]=y,t[29]=g,t[30]=_,t[31]=b):b=t[31],b}function Ae(e){return(0,Q.jsx)(`div`,{className:`truncate`,children:e},e)}var je={confirmOpen:!1,installStatus:`idle`,installMessage:null,openStatus:`idle`,openMessage:null,runtime:null};function Me({m:e,doctor:t,refetch:n,applyDoctor:r,installStream:i,fetchRuntimeStatus:a,launchCloak:o,form:s,onChange:c,embedded:l=!1}){let[d,f]=(0,X.useReducer)(u,je),{confirmOpen:p,installStatus:m,installMessage:g,openStatus:v,openMessage:y,runtime:b}=d,{progress:S,running:C,cancelling:T,run:E,reset:D,cancel:O}=i,k=t.kind===`ok`?t.data:null,A=k?.installed===!0,j=m===`installing`||C,F=(0,X.useCallback)(async()=>{if(A)try{f({type:`patch`,patch:{runtime:await a()}})}catch{}},[a,A]);(0,X.useEffect)(()=>{if(!A){f({type:`patch`,patch:{runtime:null}});return}F();let e=setInterval(()=>void F(),8e3);return()=>clearInterval(e)},[A,F]);let I=(0,X.useCallback)(async()=>{f({type:`patch`,patch:{confirmOpen:!1,installStatus:`installing`,installMessage:null}}),D();let t=await E({body:{cacheDir:s.cacheDir.trim()||void 0,binaryPath:s.binaryPath.trim()||void 0},fallbackError:e.browserCloakInstallFailed});if(!t.ok){if(t.error===`busy`){f({type:`patch`,patch:{installStatus:`installing`}});return}if(t.error===`cancelled`){f({type:`patch`,patch:{installStatus:`idle`,installMessage:null}}),D();return}f({type:`patch`,patch:{installStatus:`failed`,installMessage:t.errorMessage??e.browserCloakInstallFailed}});return}t.payload&&r?.(t.payload),f({type:`patch`,patch:{installStatus:`installed`,installMessage:t.payload?.binaryPath?`${e.browserCloakInstalled}: ${t.payload.binaryPath}`:e.browserCloakInstalled}}),await n({cacheDir:s.cacheDir,binaryPath:s.binaryPath}),await F()},[r,s.binaryPath,s.cacheDir,e.browserCloakInstallFailed,e.browserCloakInstalled,n,F,D,E]),L=(0,X.useCallback)(async()=>{if(v!==`pending`){f({type:`patch`,patch:{openStatus:`pending`,openMessage:null}});try{let t=await o();f({type:`patch`,patch:{openStatus:`ok`,openMessage:t.reused?e.browserCloakOpenReused.replace(`{{port}}`,String(t.port)):e.browserCloakOpenLaunched.replace(`{{port}}`,String(t.port)),runtime:t}})}catch(e){f({type:`patch`,patch:{openStatus:`error`,openMessage:e instanceof Error?e.message:String(e)}})}}},[o,e.browserCloakOpenLaunched,e.browserCloakOpenReused,v]),R=t.kind===`loading`?`checking`:t.kind===`error`?`error`:A?`ready`:`not_installed`,ee=A&&k?.version?`v${k.version} (${k.platform})`:void 0;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Ce,{icon:P,title:e.browserCloakGuideTitle,description:e.browserCloakGuideDesc,status:R,statusDetail:ee,m:e,embedded:l,primaryAction:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[A?(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:v===`pending`,onClick:()=>void L(),children:[v===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(_,{className:`size-3.5`}),v===`pending`?e.browserCloakOpening:e.browserCloakOpen]}):null,(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:j,onClick:()=>f({type:`patch`,patch:{confirmOpen:!0}}),children:[j?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):A?(0,Q.jsx)(w,{className:`size-3.5`}):m===`installed`?(0,Q.jsx)(x,{className:`size-3.5 text-green-500`}):(0,Q.jsx)(h,{className:`size-3.5`}),j?e.browserCloakInstalling:A?e.browserReinstall:e.browserCloakDownload]})]}),children:[C?(0,Q.jsx)(ke,{m:e,progress:S,cancelling:T,onCancel:()=>void O()}):null,g?(0,Q.jsx)(Te,{kind:m===`failed`?`error`:`success`,message:g}):null,y?(0,Q.jsx)(Te,{kind:v===`error`?`error`:`success`,message:y}):null,A&&b?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge bg-surface-base p-3 text-xs`,children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:b.running?e.browserCloakRuntimeRunning.replace(`{{port}}`,String(b.port)):e.browserCloakRuntimeOff})}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:e.browserCloakProfileLabel}),(0,Q.jsx)(`span`,{className:`break-all font-mono text-[11px] text-fg-muted`,children:b.userDataDir})]}),(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-fg-subtle`,children:e.browserCloakProfileAgentHint}),b.temporaryProfile?(0,Q.jsx)(`p`,{className:`text-[11px] text-amber-600 dark:text-amber-400`,children:e.browserCloakTemporaryProfileHint}):null]}):null,(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsx)(K,{label:e.label.browserCloakKeepOpen,description:e.desc.browserCloakKeepOpen,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.keepOpen,onChange:e=>c({keepOpen:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserCloakKeepOpenOn})]})}),(0,Q.jsx)(K,{label:e.label.browserCloakTemporaryProfile,description:e.desc.browserCloakTemporaryProfile,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.temporaryProfile,onChange:e=>c({temporaryProfile:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserCloakTemporaryProfileOn})]})}),(0,Q.jsx)(K,{label:e.label.browserHumanize,description:e.desc.browserHumanize,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.humanize,onChange:e=>c({humanize:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserHumanizeOn})]})}),(0,Q.jsx)(K,{label:e.label.browserHumanPreset,description:e.desc.browserHumanPreset,children:(0,Q.jsxs)(`select`,{className:q(),value:s.humanPreset,onChange:e=>c({humanPreset:e.target.value}),children:[(0,Q.jsx)(`option`,{value:`careful`,children:e.browserHumanPresetCareful}),(0,Q.jsx)(`option`,{value:`default`,children:e.browserHumanPresetDefault})]})})]})]}),(0,Q.jsxs)(H,{className:`mt-4 border border-edge-subtle`,children:[(0,Q.jsx)(V,{icon:P,title:e.browserCloakAdvancedShow}),(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsxs)(K,{label:e.label.browserCloakCacheDir,description:e.desc.browserCloakCacheDir,children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.cacheDir,placeholder:`~/.xopc/bin/cloakbrowser`,onChange:e=>c({cacheDir:e.target.value}),autoComplete:`off`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:e.browserCacheDirHomeOnly})]}),(0,Q.jsxs)(K,{label:e.label.browserCloakBinaryPath,description:e.desc.browserCloakBinaryPath,children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.binaryPath,placeholder:`~/.xopc/bin/cloakbrowser/chromium-v.../Chromium.app/Contents/MacOS/Chromium`,onChange:e=>c({binaryPath:e.target.value}),autoComplete:`off`}),s.binaryPath.trim()?(0,Q.jsx)(`p`,{className:`text-[11px] text-amber-600 dark:text-amber-400`,children:e.browserBinaryPathWarning}):null]}),(0,Q.jsx)(K,{label:e.label.browserCloakTimezone,description:e.desc.browserCloakTimezone,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.timezone,placeholder:`America/New_York`,onChange:e=>c({timezone:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakLocale,description:e.desc.browserCloakLocale,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.locale,placeholder:`en-US`,onChange:e=>c({locale:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakWebrtcIp,description:e.desc.browserCloakWebrtcIp,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.webrtcIp,placeholder:`203.0.113.10`,onChange:e=>c({webrtcIp:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakFingerprintPlatform,description:e.desc.browserCloakFingerprintPlatform,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.fingerprintPlatform,placeholder:`macos`,onChange:e=>c({fingerprintPlatform:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(`div`,{className:`sm:col-span-2`,children:(0,Q.jsx)(K,{label:e.label.browserCloakExtraArgs,description:e.desc.browserCloakExtraArgs,children:(0,Q.jsx)(`textarea`,{className:Ne(),value:s.extraArgs,placeholder:`--disable-dev-shm-usage`,rows:3,onChange:e=>c({extraArgs:e.target.value})})})})]})]}),(0,Q.jsx)(M,{open:p,title:e.browserConfirmDownloadTitle,description:Pe(e,k),confirmLabel:e.browserConfirmDownloadConfirm,cancelLabel:e.browserConfirmDownloadCancel,onConfirm:()=>void I(),onCancel:()=>f({type:`patch`,patch:{confirmOpen:!1}})})]})}function Ne(){return`${J()} min-h-[4.5rem] resize-y font-mono text-xs`}function Pe(e,t){if(!t)return e.browserConfirmDownloadBody;let n=[e.browserConfirmDownloadBody.replace(`{{version}}`,t.version??`—`).replace(`{{platform}}`,t.platform).replace(`{{url}}`,t.downloadUrl||`—`)];return t.expectedSha256?n.push(`SHA-256: ${t.expectedSha256.slice(0,16)}…`):n.push(e.browserCloakSha256Skipped),n.join(`
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-CkT-lcgP.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{i as s,t as c}from"./fetch-NZmjSXLl.js";import{r as l}from"./toast-z0toXu32.js";import{B as u,Da as d,Ds as f,Go as p,Jo as m,Mo as h,Ni as g,Oa as _,Vi as v,Wo as y,Xt as b,Zo as x,_i as S,aa as C,ba as w,ca as T,ci as E,ea as D,gi as O,ka as k,ko as A,mi as j,p as M,qa as N,sa as P,ts as F,wa as I,xi as L,yo as R,za as ee,zi as z,zo as B}from"./index-Cxm6xsps.js";import{t as te}from"./settings-advanced-gate-D9sva86V.js";import{n as V,t as H}from"./settings-form-section-Dq-83cQd.js";import{i as U,n as W,o as G}from"./use-settings-tab-guard-Bw_qkRQE.js";import{l as K}from"./config-api-Bf5mjpu7.js";import{a as q,i as J,n as Y,t as ne}from"./use-agent-defaults-form-BVRvkK7m.js";import{i as re}from"./gateway-config-api-CaXBt-9R.js";var X=e(t(),1),Z=n(),Q=r();function ie(e){switch(e){case`ready`:return`bg-emerald-500`;case`not_installed`:case`checking`:return`bg-amber-500`;case`error`:return`bg-red-500`;default:return`bg-fg-subtle/60`}}function ae(e){let t=(0,Z.c)(28),{value:n,onChange:r,onOpenConfig:a,options:o,m:s}=e,c;if(t[0]!==s.browserGoToConfigure||t[1]!==s.browserPickerSubtitle||t[2]!==s.browserPickerTitle||t[3]!==r||t[4]!==a||t[5]!==o||t[6]!==n){let e=o.find(e=>e.value===n)??o[0],l;t[8]===s.browserPickerTitle?l=t[9]:(l=(0,Q.jsx)(`label`,{htmlFor:`browser-backend-select`,className:`text-sm font-medium text-fg`,children:s.browserPickerTitle}),t[8]=s.browserPickerTitle,t[9]=l);let u;t[10]===s.browserPickerSubtitle?u=t[11]:(u=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:s.browserPickerSubtitle}),t[10]=s.browserPickerSubtitle,t[11]=u);let d;t[12]!==l||t[13]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(q(),`min-w-0 flex-1 sm:max-w-md`),t[15]=f):f=t[15];let p;t[16]===r?p=t[17]:(p=e=>r(e.target.value),t[16]=r,t[17]=p);let m=s.browserPickerTitle,h;t[18]===o?h=t[19]:(h=o.map(oe),t[18]=o,t[19]=h);let g;t[20]!==s.browserPickerTitle||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,Q.jsx)(`select`,{id:`browser-backend-select`,className:f,value:n,onChange:p,"aria-label":m,children:h}),t[20]=s.browserPickerTitle,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24];let _=a?(0,Q.jsxs)(`button`,{type:`button`,className:i(`inline-flex shrink-0 items-center justify-center gap-1 rounded-lg border border-edge bg-surface-panel px-3 py-2 text-xs font-medium text-accent`,`transition-colors hover:border-edge-strong hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`),onClick:()=>a(n),"aria-label":`${e?.name??n} — ${s.browserGoToConfigure}`,children:[(0,Q.jsx)(`span`,{children:s.browserGoToConfigure}),(0,Q.jsx)(F,{className:`size-4 shrink-0`,"aria-hidden":!0})]}):null,v;t[25]!==_||t[26]!==g?(v=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:gap-2`,children:[g,_]}),t[25]=_,t[26]=g,t[27]=v):v=t[27],c=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[d,v,e?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-edge-subtle bg-surface-panel px-3 py-2.5`,children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e.statusLabel?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-medium text-fg-muted`,"aria-label":e.statusLabel,children:[(0,Q.jsx)(`span`,{className:i(`inline-block size-1.5 rounded-full`,ie(e.status)),"aria-hidden":!0}),e.statusLabel]}):null}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:e.tagline})]}):null]}),t[0]=s.browserGoToConfigure,t[1]=s.browserPickerSubtitle,t[2]=s.browserPickerTitle,t[3]=r,t[4]=a,t[5]=o,t[6]=n,t[7]=c}else c=t[7];return c}function oe(e){return(0,Q.jsx)(`option`,{value:e.value,children:e.name},e.value)}function se(e){return`browser-focus-${e}`}function ce(e){switch(e){case`connection`:case`extension`:case`local`:case`cloak`:case`cdp`:case`cloud`:case`runtime`:case`security`:return e;default:return null}}function le(e){let t=(0,Z.c)(89),{a:n,form:r,update:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=se(`runtime`),t[0]=a):a=t[0];let o;t[1]===n.browserBehaviorShow?o=t[2]:(o=(0,Q.jsx)(V,{icon:C,title:n.browserBehaviorShow}),t[1]=n.browserBehaviorShow,t[2]=o);let s;t[3]===i?s=t[4]:(s=e=>i({browserHeadless:e.target.checked}),t[3]=i,t[4]=s);let c;t[5]!==r.browserHeadless||t[6]!==s?(c=(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:r.browserHeadless,onChange:s}),t[5]=r.browserHeadless,t[6]=s,t[7]=c):c=t[7];let l;t[8]===n.browserHeadlessOn?l=t[9]:(l=(0,Q.jsx)(`span`,{children:n.browserHeadlessOn}),t[8]=n.browserHeadlessOn,t[9]=l);let u;t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==n.desc.browserHeadless||t[14]!==n.label.browserHeadless||t[15]!==u?(d=(0,Q.jsx)(K,{label:n.label.browserHeadless,description:n.desc.browserHeadless,children:u}),t[13]=n.desc.browserHeadless,t[14]=n.label.browserHeadless,t[15]=u,t[16]=d):d=t[16];let f=n.label.browserDialogPolicy,p=n.desc.browserDialogPolicy,m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=q(),t[17]=m):m=t[17];let h;t[18]===i?h=t[19]:(h=e=>i({browserDialogPolicy:e.target.value}),t[18]=i,t[19]=h);let g;t[20]===n.browserDialogPolicyMustRespond?g=t[21]:(g=(0,Q.jsx)(`option`,{value:`must_respond`,children:n.browserDialogPolicyMustRespond}),t[20]=n.browserDialogPolicyMustRespond,t[21]=g);let _;t[22]===n.browserDialogPolicyAutoDismiss?_=t[23]:(_=(0,Q.jsx)(`option`,{value:`auto_dismiss`,children:n.browserDialogPolicyAutoDismiss}),t[22]=n.browserDialogPolicyAutoDismiss,t[23]=_);let v;t[24]===n.browserDialogPolicyAutoAccept?v=t[25]:(v=(0,Q.jsx)(`option`,{value:`auto_accept`,children:n.browserDialogPolicyAutoAccept}),t[24]=n.browserDialogPolicyAutoAccept,t[25]=v);let y;t[26]!==r.browserDialogPolicy||t[27]!==h||t[28]!==g||t[29]!==_||t[30]!==v?(y=(0,Q.jsxs)(`select`,{className:m,value:r.browserDialogPolicy,onChange:h,children:[g,_,v]}),t[26]=r.browserDialogPolicy,t[27]=h,t[28]=g,t[29]=_,t[30]=v,t[31]=y):y=t[31];let b;t[32]!==n.desc.browserDialogPolicy||t[33]!==n.label.browserDialogPolicy||t[34]!==y?(b=(0,Q.jsx)(K,{label:f,description:p,children:y}),t[32]=n.desc.browserDialogPolicy,t[33]=n.label.browserDialogPolicy,t[34]=y,t[35]=b):b=t[35];let x=n.label.browserDialogTimeout,S=n.desc.browserDialogTimeout,w;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(w=J(),t[36]=w):w=t[36];let E=r.browserDialogTimeout??``,D;t[37]===i?D=t[38]:(D=e=>{let t=e.target.value;i({browserDialogTimeout:t===``?void 0:Number.parseInt(t,10)})},t[37]=i,t[38]=D);let O;t[39]!==E||t[40]!==D?(O=(0,Q.jsx)(`input`,{type:`number`,className:w,min:1,value:E,placeholder:`300`,onChange:D}),t[39]=E,t[40]=D,t[41]=O):O=t[41];let k;t[42]!==n.desc.browserDialogTimeout||t[43]!==n.label.browserDialogTimeout||t[44]!==O?(k=(0,Q.jsx)(K,{label:x,description:S,children:O}),t[42]=n.desc.browserDialogTimeout,t[43]=n.label.browserDialogTimeout,t[44]=O,t[45]=k):k=t[45];let A;t[46]!==b||t[47]!==k||t[48]!==d?(A=(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[d,b,k]}),t[46]=b,t[47]=k,t[48]=d,t[49]=A):A=t[49];let j;t[50]!==o||t[51]!==A?(j=(0,Q.jsx)(`div`,{id:a,className:`scroll-mt-24`,children:(0,Q.jsxs)(H,{children:[o,A]})}),t[50]=o,t[51]=A,t[52]=j):j=t[52];let M;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(M=se(`security`),t[53]=M):M=t[53];let N;t[54]===n.browserSecurityShow?N=t[55]:(N=(0,Q.jsx)(V,{icon:T,title:n.browserSecurityShow}),t[54]=n.browserSecurityShow,t[55]=N);let P;t[56]===i?P=t[57]:(P=e=>i({browserAllowPrivateUrls:e.target.checked}),t[56]=i,t[57]=P);let F;t[58]!==r.browserAllowPrivateUrls||t[59]!==P?(F=(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:r.browserAllowPrivateUrls,onChange:P}),t[58]=r.browserAllowPrivateUrls,t[59]=P,t[60]=F):F=t[60];let I;t[61]===n.browserAllowPrivateOn?I=t[62]:(I=(0,Q.jsx)(`span`,{children:n.browserAllowPrivateOn}),t[61]=n.browserAllowPrivateOn,t[62]=I);let L;t[63]!==F||t[64]!==I?(L=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[F,I]}),t[63]=F,t[64]=I,t[65]=L):L=t[65];let R;t[66]!==n.desc.browserAllowPrivateUrls||t[67]!==n.label.browserAllowPrivateUrls||t[68]!==L?(R=(0,Q.jsx)(K,{label:n.label.browserAllowPrivateUrls,description:n.desc.browserAllowPrivateUrls,children:L}),t[66]=n.desc.browserAllowPrivateUrls,t[67]=n.label.browserAllowPrivateUrls,t[68]=L,t[69]=R):R=t[69];let ee=n.label.browserCommandTimeout,z=n.desc.browserCommandTimeout,B;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(B=J(),t[70]=B):B=t[70];let te=r.browserCommandTimeout??``,U;t[71]===i?U=t[72]:(U=e=>{let t=e.target.value;i({browserCommandTimeout:t===``?void 0:Number.parseInt(t,10)})},t[71]=i,t[72]=U);let W;t[73]!==te||t[74]!==U?(W=(0,Q.jsx)(`input`,{type:`number`,className:B,min:5,value:te,placeholder:`30`,onChange:U}),t[73]=te,t[74]=U,t[75]=W):W=t[75];let G;t[76]!==n.desc.browserCommandTimeout||t[77]!==n.label.browserCommandTimeout||t[78]!==W?(G=(0,Q.jsx)(K,{label:ee,description:z,children:W}),t[76]=n.desc.browserCommandTimeout,t[77]=n.label.browserCommandTimeout,t[78]=W,t[79]=G):G=t[79];let Y;t[80]!==R||t[81]!==G?(Y=(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[R,G]}),t[80]=R,t[81]=G,t[82]=Y):Y=t[82];let ne;t[83]!==N||t[84]!==Y?(ne=(0,Q.jsx)(`div`,{id:M,className:`scroll-mt-24`,children:(0,Q.jsxs)(H,{className:`border border-amber-500/20`,children:[N,Y]})}),t[83]=N,t[84]=Y,t[85]=ne):ne=t[85];let re;return t[86]!==j||t[87]!==ne?(re=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[j,ne]}),t[86]=j,t[87]=ne,t[88]=re):re=t[88],re}function ue(e){let t=(0,Z.c)(9),{language:n,label:r,className:a}=e,o;t[0]===n?o=t[1]:(o=E(n),t[0]=n,t[1]=o);let s;t[2]===a?s=t[3]:(s=i(`inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,a),t[2]=a,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(A,{className:`size-3 shrink-0`,"aria-hidden":!0}),t[4]=c):c=t[4];let l;return t[5]!==r||t[6]!==o||t[7]!==s?(l=(0,Q.jsxs)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,className:s,children:[r,c]}),t[5]=r,t[6]=o,t[7]=s,t[8]=l):l=t[8],l}function de(e){let t=(0,Z.c)(27),{title:n,description:r,recommended:a,recommendedLabel:o,icon:s,onSelect:c,selectLabel:l}=e,u=`${n} — ${l}`,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=i(`group flex w-full flex-col rounded-xl border border-edge bg-surface-panel px-3 py-3 text-left transition-colors`,`hover:border-edge-strong hover:bg-surface-hover/40`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),t[0]=d):d=t[0];let f;t[1]===s?f=t[2]:(f=(0,Q.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,Q.jsx)(s,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),t[1]=s,t[2]=f);let p;t[3]===n?p=t[4]:(p=(0,Q.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n}),t[3]=n,t[4]=p);let m;t[5]!==a||t[6]!==o?(m=a&&o?(0,Q.jsx)(`span`,{className:`rounded-full bg-accent/15 px-2 py-0.5 text-[10px] font-medium text-accent`,children:o}):null,t[5]=a,t[6]=o,t[7]=m):m=t[7];let h;t[8]!==p||t[9]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m]}),t[8]=p,t[9]=m,t[10]=h):h=t[10];let g;t[11]===r?g=t[12]:(g=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-fg-muted`,children:r}),t[11]=r,t[12]=g);let _;t[13]!==h||t[14]!==g?(_=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Q.jsx)(F,{className:`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0}),t[16]=v):v=t[16];let y;t[17]!==f||t[18]!==_?(y=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[f,_,v]}),t[17]=f,t[18]=_,t[19]=y):y=t[19];let b;t[20]===l?b=t[21]:(b=(0,Q.jsx)(`span`,{className:`mt-2 text-[11px] font-medium text-accent`,children:l}),t[20]=l,t[21]=b);let x;return t[22]!==c||t[23]!==u||t[24]!==y||t[25]!==b?(x=(0,Q.jsxs)(`button`,{type:`button`,onClick:c,"aria-label":u,className:d,children:[y,b]}),t[22]=c,t[23]=u,t[24]=y,t[25]=b,t[26]=x):x=t[26],x}function fe(e){let t=(0,Z.c)(25),{m:n,onStart:r}=e,i=b(pe),a;t[0]!==n.browserBackendCloakBrowser||t[1]!==n.browserModeCloakTagline||t[2]!==n.browserSetupCloudDesc||t[3]!==n.browserSetupCloudTitle||t[4]!==n.browserSetupExtDesc||t[5]!==n.browserSetupExtTitle||t[6]!==n.browserSetupLocalDesc||t[7]!==n.browserSetupLocalTitle||t[8]!==i?(a=[{id:`extension`,icon:I,title:n.browserSetupExtTitle,description:n.browserSetupExtDesc,recommended:!0},{id:`cloakbrowser`,icon:P,title:n.browserBackendCloakBrowser,description:n.browserModeCloakTagline},{id:`local`,icon:ee,title:n.browserSetupLocalTitle,description:n.browserSetupLocalDesc},{id:`cloud`,icon:B,title:n.browserSetupCloudTitle,description:n.browserSetupCloudDesc}].filter(e=>U(e.id,i)),t[0]=n.browserBackendCloakBrowser,t[1]=n.browserModeCloakTagline,t[2]=n.browserSetupCloudDesc,t[3]=n.browserSetupCloudTitle,t[4]=n.browserSetupExtDesc,t[5]=n.browserSetupExtTitle,t[6]=n.browserSetupLocalDesc,t[7]=n.browserSetupLocalTitle,t[8]=i,t[9]=a):a=t[9];let o=a,s;t[10]===n.browserSetupTitle?s=t[11]:(s=(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:n.browserSetupTitle}),t[10]=n.browserSetupTitle,t[11]=s);let c;t[12]===n.browserSetupSubtitle?c=t[13]:(c=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-fg-muted`,children:n.browserSetupSubtitle}),t[12]=n.browserSetupSubtitle,t[13]=c);let l;t[14]!==s||t[15]!==c?(l=(0,Q.jsxs)(`div`,{children:[s,c]}),t[14]=s,t[15]=c,t[16]=l):l=t[16];let u;t[17]!==n.browserSetupRecommended||t[18]!==n.browserSetupSelect||t[19]!==o||t[20]!==r?(u=(0,Q.jsx)(`div`,{className:`flex flex-col gap-2`,children:o.map(e=>(0,Q.jsx)(de,{icon:e.icon,title:e.title,description:e.description,recommended:e.recommended,recommendedLabel:n.browserSetupRecommended,selectLabel:n.browserSetupSelect,onSelect:()=>r(e.id)},e.id))}),t[17]=n.browserSetupRecommended,t[18]=n.browserSetupSelect,t[19]=o,t[20]=r,t[21]=u):u=t[21];let d;return t[22]!==l||t[23]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-edge-subtle bg-surface-base px-4 py-4`,children:[l,u]}),t[22]=l,t[23]=u,t[24]=d):d=t[24],d}function pe(e){return e.mode}function me(e){if(e.kind===`loading`)return`checking`;if(e.kind===`error`)return`error`;if(e.kind===`ok`)return e.data.installed?`ready`:`not_installed`}function he(e,t){if(e)return{ready:t.browserStatusReady,not_installed:t.browserStatusNotInstalled,checking:t.browserStatusChecking,unknown:t.browserStatusUnknown,error:t.browserStatusError}[e]}function ge(e){if(e.kind!==`idle`)return e.kind===`loading`?`checking`:e.kind===`error`?`error`:e.data.connected?`ready`:(e.data.running,`not_installed`)}function _e(e,t){if(e.kind!==`idle`)return e.kind===`loading`?t.browserStatusChecking:e.kind===`error`?t.browserStatusError:e.data.connected?t.browserExtensionConnected:e.data.running?t.browserExtensionWaiting:t.browserExtensionServerOff}var ve=[`overview`,`extension`,`local`,`cloakbrowser`,`cdp`,`cloud`],ye=[`extension`,`local`,`cloakbrowser`,`cdp`,`cloud`],be={connection:`overview`,extension:`extension`,local:`local`,cloak:`cloakbrowser`,cdp:`cdp`,cloud:`cloud`,runtime:`overview`,security:`overview`};function xe(e){let t=(e??``).trim();return t===`behavior`?`overview`:ve.includes(t)?t:`overview`}function Se(e){return ye.includes(e)}function Ce(e){let t=(0,Z.c)(46),{icon:n,title:r,description:i,status:a,statusDetail:o,primaryAction:s,children:c,advanced:l,m:u,embedded:d,sectionTitle:f,advancedTitle:p}=e,m=d===void 0?!1:d,h;t[0]!==l||t[1]!==p?(h=l?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[p?(0,Q.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:p}):null,l]}):null,t[0]=l,t[1]=p,t[2]=h):h=t[2];let g=h;if(m){let e;t[3]!==i||t[4]!==f?(e=f?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Q.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:f}),i?(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:i}):null]}):null,t[3]=i,t[4]=f,t[5]=e):e=t[5];let n;t[6]!==u||t[7]!==s||t[8]!==a||t[9]!==o?(n=a||s?(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[a?(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(we,{kind:a,detail:o,m:u})}):(0,Q.jsx)(`span`,{}),s?(0,Q.jsx)(`div`,{className:`shrink-0`,children:s}):null]}):null,t[6]=u,t[7]=s,t[8]=a,t[9]=o,t[10]=n):n=t[10];let r;t[11]===c?r=t[12]:(r=c?(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:c}):null,t[11]=c,t[12]=r);let l;return t[13]!==g||t[14]!==e||t[15]!==n||t[16]!==r?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e,n,r,g]}),t[13]=g,t[14]=e,t[15]=n,t[16]=r,t[17]=l):l=t[17],l}let _;t[18]===n?_=t[19]:(_=(0,Q.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,Q.jsx)(n,{className:`size-4`,strokeWidth:1.75})}),t[18]=n,t[19]=_);let v;t[20]===r?v=t[21]:(v=(0,Q.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:r}),t[20]=r,t[21]=v);let y;t[22]!==u||t[23]!==a||t[24]!==o?(y=a?(0,Q.jsx)(we,{kind:a,detail:o,m:u}):null,t[22]=u,t[23]=a,t[24]=o,t[25]=y):y=t[25];let b;t[26]!==v||t[27]!==y?(b=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[v,y]}),t[26]=v,t[27]=y,t[28]=b):b=t[28];let x;t[29]===i?x=t[30]:(x=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:i}),t[29]=i,t[30]=x);let S;t[31]!==b||t[32]!==x?(S=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[b,x]}),t[31]=b,t[32]=x,t[33]=S):S=t[33];let C;t[34]===s?C=t[35]:(C=s?(0,Q.jsx)(`div`,{className:`shrink-0`,children:s}):null,t[34]=s,t[35]=C);let w;t[36]!==_||t[37]!==S||t[38]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[_,S,C]}),t[36]=_,t[37]=S,t[38]=C,t[39]=w):w=t[39];let T;t[40]===c?T=t[41]:(T=c?(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:c}):null,t[40]=c,t[41]=T);let E;return t[42]!==g||t[43]!==w||t[44]!==T?(E=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-edge bg-surface-panel p-4`,children:[w,T,g]}),t[42]=g,t[43]=w,t[44]=T,t[45]=E):E=t[45],E}function we(e){let t=(0,Z.c)(27),{kind:n,detail:r,m:a}=e,o,s,c,l;if(t[0]!==n||t[1]!==a.browserStatusChecking||t[2]!==a.browserStatusError||t[3]!==a.browserStatusNotInstalled||t[4]!==a.browserStatusReady||t[5]!==a.browserStatusUnknown){let{icon:e,color:r,label:u}={ready:{icon:x,color:`text-green-600 dark:text-green-400`,label:a.browserStatusReady},not_installed:{icon:v,color:`text-amber-600 dark:text-amber-400`,label:a.browserStatusNotInstalled},checking:{icon:N,color:`text-fg-muted`,label:a.browserStatusChecking},unknown:{icon:m,color:`text-fg-muted`,label:a.browserStatusUnknown},error:{icon:p,color:`text-red-600 dark:text-red-400`,label:a.browserStatusError}}[n];o=e,s=u,l=`inline-flex min-w-0 flex-col items-start gap-1`,c=i(`inline-flex shrink-0 items-center gap-1 whitespace-nowrap text-xs font-medium`,r),t[0]=n,t[1]=a.browserStatusChecking,t[2]=a.browserStatusError,t[3]=a.browserStatusNotInstalled,t[4]=a.browserStatusReady,t[5]=a.browserStatusUnknown,t[6]=o,t[7]=s,t[8]=c,t[9]=l}else o=t[6],s=t[7],c=t[8],l=t[9];let u=n===`checking`&&`animate-spin`,d;t[10]===u?d=t[11]:(d=i(`size-3.5 shrink-0`,u),t[10]=u,t[11]=d);let f;t[12]!==o||t[13]!==d?(f=(0,Q.jsx)(o,{className:d}),t[12]=o,t[13]=d,t[14]=f):f=t[14];let h;t[15]===s?h=t[16]:(h=(0,Q.jsx)(`span`,{children:s}),t[15]=s,t[16]=h);let g;t[17]!==c||t[18]!==f||t[19]!==h?(g=(0,Q.jsxs)(`span`,{className:c,children:[f,h]}),t[17]=c,t[18]=f,t[19]=h,t[20]=g):g=t[20];let _;t[21]===r?_=t[22]:(_=r?(0,Q.jsx)(`span`,{className:`break-all font-mono text-[11px] leading-snug text-fg-subtle`,children:r}):null,t[21]=r,t[22]=_);let y;return t[23]!==l||t[24]!==g||t[25]!==_?(y=(0,Q.jsxs)(`span`,{className:l,children:[g,_]}),t[23]=l,t[24]=g,t[25]=_,t[26]=y):y=t[26],y}function Te(e){let t=(0,Z.c)(5),{kind:n,message:r}=e,a=n===`success`?`border-green-500/30 bg-green-500/10 text-green-700 dark:text-green-300`:`border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-300`,o;t[0]===a?o=t[1]:(o=i(`rounded-lg border px-3 py-2 text-xs leading-relaxed`,a),t[0]=a,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,Q.jsx)(`div`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}var Ee={instances:[],launchStatus:`idle`,launchMessage:null,testStatus:`idle`,testMessage:null,executablePath:``};function De({m:e,cdpUrl:t,onCdpUrlChange:n,launch:r,stop:i,listInstances:a,ping:o,embedded:s=!1}){let[c,l]=(0,X.useReducer)(u,Ee),{instances:f,launchStatus:p,launchMessage:m,testStatus:h,testMessage:v,executablePath:y}=c,b=(0,X.useCallback)(async()=>{try{l({type:`patch`,patch:{instances:await a()}})}catch{}},[a]);(0,X.useEffect)(()=>{b();let e=setInterval(()=>void b(),8e3);return()=>clearInterval(e)},[b]);let x=(0,X.useCallback)(async()=>{if(p!==`pending`){l({type:`patch`,patch:{launchStatus:`pending`,launchMessage:null}});try{let t=await r(y.trim()||void 0);l({type:`patch`,patch:{launchStatus:`ok`,launchMessage:e.browserCdpLaunchedAtPort.replace(`{{port}}`,String(t.port))}}),n(t.wsEndpoint),await b()}catch(e){l({type:`patch`,patch:{launchStatus:`error`,launchMessage:e instanceof Error?e.message:String(e)}})}}},[y,r,p,e.browserCdpLaunchedAtPort,n,b]),S=(0,X.useCallback)(async e=>{await i(e),await b()},[b,i]),C=(0,X.useCallback)(async()=>{if(t.trim()){l({type:`patch`,patch:{testStatus:`pending`,testMessage:null}});try{let n=await o(t.trim());n.reachable?l({type:`patch`,patch:{testStatus:`ok`,testMessage:e.browserCdpReachable.replace(`{{browser}}`,n.browser??`—`)}}):l({type:`patch`,patch:{testStatus:`error`,testMessage:e.browserCdpUnreachable.replace(`{{error}}`,n.error??`—`)}})}catch(t){l({type:`patch`,patch:{testStatus:`error`,testMessage:e.browserCdpUnreachable.replace(`{{error}}`,t instanceof Error?t.message:String(t))}})}}},[t,e.browserCdpReachable,e.browserCdpUnreachable,o]);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(Ce,{icon:_,title:e.browserCdpLaunchLocal,description:e.browserCdpLaunchLocalDesc,m:e,embedded:s,sectionTitle:s?e.browserCdpLaunchLocal:void 0,primaryAction:(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:p===`pending`,onClick:()=>void x(),children:[p===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(_,{className:`size-3.5`}),p===`pending`?e.browserCdpLaunching:e.browserCdpLaunchLocal]}),children:[m?(0,Q.jsx)(Te,{kind:p===`error`?`error`:`success`,message:m}):null,(0,Q.jsx)(K,{label:e.browserCdpChromePath,description:e.browserCdpChromePathDesc,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:y,placeholder:`/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`,onChange:e=>l({type:`patch`,patch:{executablePath:e.target.value}}),autoComplete:`off`})}),f.length>0?(0,Q.jsx)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge bg-surface-base p-3 text-xs`,children:f.map(t=>(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsxs)(`span`,{className:`font-mono text-fg`,children:[`port `,t.port,` · pid `,t.pid]}),(0,Q.jsx)(`span`,{className:`truncate text-fg-subtle`,children:t.wsEndpoint})]}),(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md border border-edge bg-surface-panel px-2 py-1 text-xs font-medium text-fg hover:bg-surface-raised`,onClick:()=>void S(t.port),children:[(0,Q.jsx)(D,{className:`size-3`}),e.browserCdpStopLocal]})]},t.port))}):null]}),(0,Q.jsxs)(Ce,{icon:g,title:e.label.browserCdpUrl,description:e.desc.browserCdpUrl,m:e,embedded:s,sectionTitle:s?e.label.browserCdpUrl:void 0,primaryAction:(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:!t.trim()||h===`pending`,onClick:()=>void C(),children:[h===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(d,{className:`size-3.5`}),h===`pending`?e.browserCdpTesting:e.browserCdpTestConnection]}),children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:t,placeholder:`ws://127.0.0.1:9222`,onChange:e=>n(e.target.value),autoComplete:`off`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:e.browserCdpLoopbackOnly}),v?(0,Q.jsx)(Te,{kind:h===`error`?`error`:`success`,message:v}):null]})]})}function Oe(e,t){let n=t.phase;if(!n)return e.browserInstallPhaseStarting;if(n===`downloading`)return t.percent==null?e.browserInstallPhaseDownloading:e.browserInstallPhaseDownloadingPercent.replace(`{{percent}}`,String(t.percent));switch(n){case`starting`:return e.browserInstallPhaseStarting;case`verifying`:return e.browserInstallPhaseVerifying;case`extracting`:return e.browserInstallPhaseExtracting;case`running`:return t.message??e.browserInstallPhaseRunning;case`ready`:return e.browserInstallPhaseReady;default:return t.message??e.browserInstallPhaseRunning}}function ke(e){let t=(0,Z.c)(32),{m:n,progress:r,showLogs:i,onCancel:a,cancelling:o}=e,s=i===void 0?!1:i,c=o===void 0?!1:o;if(!r.phase)return null;let l;t[0]!==n||t[1]!==r?(l=Oe(n,r),t[0]=n,t[1]=r,t[2]=l):l=t[2];let u=l,d=r.percent==null?(r.phase===`extracting`||r.phase===`verifying`||r.phase===`running`||r.phase,null):Math.min(100,Math.max(0,r.percent)),f;t[3]===u?f=t[4]:(f=(0,Q.jsx)(`span`,{className:`text-fg`,children:u}),t[3]=u,t[4]=f);let p;t[5]===d?p=t[6]:(p=d==null?null:(0,Q.jsxs)(`span`,{className:`tabular-nums`,children:[d,`%`]}),t[5]=d,t[6]=p);let m;t[7]!==c||t[8]!==n||t[9]!==a?(m=a?(0,Q.jsx)(`button`,{type:`button`,className:`rounded-md border border-edge px-2 py-0.5 text-[11px] font-medium text-fg-muted hover:bg-surface-raised hover:text-fg disabled:cursor-not-allowed disabled:opacity-60`,disabled:c,onClick:()=>void a(),children:c?n.browserInstallCancelling:n.browserInstallCancel}):null,t[7]=c,t[8]=n,t[9]=a,t[10]=m):m=t[10];let h;t[11]!==p||t[12]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]!==f||t[15]!==h?(g=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs text-fg-muted`,children:[f,h]}),t[14]=f,t[15]=h,t[16]=g):g=t[16];let _;t[17]===d?_=t[18]:(_=(0,Q.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-surface-raised`,children:d==null?(0,Q.jsx)(`div`,{className:`h-full w-1/3 animate-pulse rounded-full bg-accent/70`}):(0,Q.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width] duration-300 ease-out`,style:{width:`${d}%`}})}),t[17]=d,t[18]=_);let v;t[19]!==r.lines||t[20]!==s?(v=s&&r.lines.length>0?(0,Q.jsx)(`div`,{className:`max-h-28 overflow-y-auto rounded-md border border-edge bg-surface-panel px-2 py-1.5 font-mono text-[10px] leading-relaxed text-fg-muted`,children:r.lines.map(Ae)}):null,t[19]=r.lines,t[20]=s,t[21]=v):v=t[21];let y;t[22]!==r.message||t[23]!==r.percent||t[24]!==r.phase||t[25]!==s?(y=!s&&r.phase===`downloading`&&r.message&&r.percent==null?(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:r.message}):null,t[22]=r.message,t[23]=r.percent,t[24]=r.phase,t[25]=s,t[26]=y):y=t[26];let b;return t[27]!==v||t[28]!==y||t[29]!==g||t[30]!==_?(b=(0,Q.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-edge bg-surface-base px-3 py-2.5`,children:[g,_,v,y]}),t[27]=v,t[28]=y,t[29]=g,t[30]=_,t[31]=b):b=t[31],b}function Ae(e){return(0,Q.jsx)(`div`,{className:`truncate`,children:e},e)}var je={confirmOpen:!1,installStatus:`idle`,installMessage:null,openStatus:`idle`,openMessage:null,runtime:null};function Me({m:e,doctor:t,refetch:n,applyDoctor:r,installStream:i,fetchRuntimeStatus:a,launchCloak:o,form:s,onChange:c,embedded:l=!1}){let[d,f]=(0,X.useReducer)(u,je),{confirmOpen:p,installStatus:m,installMessage:g,openStatus:v,openMessage:y,runtime:b}=d,{progress:S,running:C,cancelling:T,run:E,reset:D,cancel:O}=i,k=t.kind===`ok`?t.data:null,A=k?.installed===!0,j=m===`installing`||C,F=(0,X.useCallback)(async()=>{if(A)try{f({type:`patch`,patch:{runtime:await a()}})}catch{}},[a,A]);(0,X.useEffect)(()=>{if(!A){f({type:`patch`,patch:{runtime:null}});return}F();let e=setInterval(()=>void F(),8e3);return()=>clearInterval(e)},[A,F]);let I=(0,X.useCallback)(async()=>{f({type:`patch`,patch:{confirmOpen:!1,installStatus:`installing`,installMessage:null}}),D();let t=await E({body:{cacheDir:s.cacheDir.trim()||void 0,binaryPath:s.binaryPath.trim()||void 0},fallbackError:e.browserCloakInstallFailed});if(!t.ok){if(t.error===`busy`){f({type:`patch`,patch:{installStatus:`installing`}});return}if(t.error===`cancelled`){f({type:`patch`,patch:{installStatus:`idle`,installMessage:null}}),D();return}f({type:`patch`,patch:{installStatus:`failed`,installMessage:t.errorMessage??e.browserCloakInstallFailed}});return}t.payload&&r?.(t.payload),f({type:`patch`,patch:{installStatus:`installed`,installMessage:t.payload?.binaryPath?`${e.browserCloakInstalled}: ${t.payload.binaryPath}`:e.browserCloakInstalled}}),await n({cacheDir:s.cacheDir,binaryPath:s.binaryPath}),await F()},[r,s.binaryPath,s.cacheDir,e.browserCloakInstallFailed,e.browserCloakInstalled,n,F,D,E]),L=(0,X.useCallback)(async()=>{if(v!==`pending`){f({type:`patch`,patch:{openStatus:`pending`,openMessage:null}});try{let t=await o();f({type:`patch`,patch:{openStatus:`ok`,openMessage:t.reused?e.browserCloakOpenReused.replace(`{{port}}`,String(t.port)):e.browserCloakOpenLaunched.replace(`{{port}}`,String(t.port)),runtime:t}})}catch(e){f({type:`patch`,patch:{openStatus:`error`,openMessage:e instanceof Error?e.message:String(e)}})}}},[o,e.browserCloakOpenLaunched,e.browserCloakOpenReused,v]),R=t.kind===`loading`?`checking`:t.kind===`error`?`error`:A?`ready`:`not_installed`,ee=A&&k?.version?`v${k.version} (${k.platform})`:void 0;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Ce,{icon:P,title:e.browserCloakGuideTitle,description:e.browserCloakGuideDesc,status:R,statusDetail:ee,m:e,embedded:l,primaryAction:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[A?(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:v===`pending`,onClick:()=>void L(),children:[v===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(_,{className:`size-3.5`}),v===`pending`?e.browserCloakOpening:e.browserCloakOpen]}):null,(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:j,onClick:()=>f({type:`patch`,patch:{confirmOpen:!0}}),children:[j?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):A?(0,Q.jsx)(w,{className:`size-3.5`}):m===`installed`?(0,Q.jsx)(x,{className:`size-3.5 text-green-500`}):(0,Q.jsx)(h,{className:`size-3.5`}),j?e.browserCloakInstalling:A?e.browserReinstall:e.browserCloakDownload]})]}),children:[C?(0,Q.jsx)(ke,{m:e,progress:S,cancelling:T,onCancel:()=>void O()}):null,g?(0,Q.jsx)(Te,{kind:m===`failed`?`error`:`success`,message:g}):null,y?(0,Q.jsx)(Te,{kind:v===`error`?`error`:`success`,message:y}):null,A&&b?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge bg-surface-base p-3 text-xs`,children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:b.running?e.browserCloakRuntimeRunning.replace(`{{port}}`,String(b.port)):e.browserCloakRuntimeOff})}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:e.browserCloakProfileLabel}),(0,Q.jsx)(`span`,{className:`break-all font-mono text-[11px] text-fg-muted`,children:b.userDataDir})]}),(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-fg-subtle`,children:e.browserCloakProfileAgentHint}),b.temporaryProfile?(0,Q.jsx)(`p`,{className:`text-[11px] text-amber-600 dark:text-amber-400`,children:e.browserCloakTemporaryProfileHint}):null]}):null,(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsx)(K,{label:e.label.browserCloakKeepOpen,description:e.desc.browserCloakKeepOpen,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.keepOpen,onChange:e=>c({keepOpen:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserCloakKeepOpenOn})]})}),(0,Q.jsx)(K,{label:e.label.browserCloakTemporaryProfile,description:e.desc.browserCloakTemporaryProfile,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.temporaryProfile,onChange:e=>c({temporaryProfile:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserCloakTemporaryProfileOn})]})}),(0,Q.jsx)(K,{label:e.label.browserHumanize,description:e.desc.browserHumanize,children:(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5 shrink-0 rounded border-edge`,checked:s.humanize,onChange:e=>c({humanize:e.target.checked})}),(0,Q.jsx)(`span`,{children:e.browserHumanizeOn})]})}),(0,Q.jsx)(K,{label:e.label.browserHumanPreset,description:e.desc.browserHumanPreset,children:(0,Q.jsxs)(`select`,{className:q(),value:s.humanPreset,onChange:e=>c({humanPreset:e.target.value}),children:[(0,Q.jsx)(`option`,{value:`careful`,children:e.browserHumanPresetCareful}),(0,Q.jsx)(`option`,{value:`default`,children:e.browserHumanPresetDefault})]})})]})]}),(0,Q.jsxs)(H,{className:`mt-4 border border-edge-subtle`,children:[(0,Q.jsx)(V,{icon:P,title:e.browserCloakAdvancedShow}),(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsxs)(K,{label:e.label.browserCloakCacheDir,description:e.desc.browserCloakCacheDir,children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.cacheDir,placeholder:`~/.xopc/bin/cloakbrowser`,onChange:e=>c({cacheDir:e.target.value}),autoComplete:`off`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:e.browserCacheDirHomeOnly})]}),(0,Q.jsxs)(K,{label:e.label.browserCloakBinaryPath,description:e.desc.browserCloakBinaryPath,children:[(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.binaryPath,placeholder:`~/.xopc/bin/cloakbrowser/chromium-v.../Chromium.app/Contents/MacOS/Chromium`,onChange:e=>c({binaryPath:e.target.value}),autoComplete:`off`}),s.binaryPath.trim()?(0,Q.jsx)(`p`,{className:`text-[11px] text-amber-600 dark:text-amber-400`,children:e.browserBinaryPathWarning}):null]}),(0,Q.jsx)(K,{label:e.label.browserCloakTimezone,description:e.desc.browserCloakTimezone,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.timezone,placeholder:`America/New_York`,onChange:e=>c({timezone:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakLocale,description:e.desc.browserCloakLocale,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.locale,placeholder:`en-US`,onChange:e=>c({locale:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakWebrtcIp,description:e.desc.browserCloakWebrtcIp,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.webrtcIp,placeholder:`203.0.113.10`,onChange:e=>c({webrtcIp:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserCloakFingerprintPlatform,description:e.desc.browserCloakFingerprintPlatform,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:s.fingerprintPlatform,placeholder:`macos`,onChange:e=>c({fingerprintPlatform:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(`div`,{className:`sm:col-span-2`,children:(0,Q.jsx)(K,{label:e.label.browserCloakExtraArgs,description:e.desc.browserCloakExtraArgs,children:(0,Q.jsx)(`textarea`,{className:Ne(),value:s.extraArgs,placeholder:`--disable-dev-shm-usage`,rows:3,onChange:e=>c({extraArgs:e.target.value})})})})]})]}),(0,Q.jsx)(M,{open:p,title:e.browserConfirmDownloadTitle,description:Pe(e,k),confirmLabel:e.browserConfirmDownloadConfirm,cancelLabel:e.browserConfirmDownloadCancel,onConfirm:()=>void I(),onCancel:()=>f({type:`patch`,patch:{confirmOpen:!1}})})]})}function Ne(){return`${J()} min-h-[4.5rem] resize-y font-mono text-xs`}function Pe(e,t){if(!t)return e.browserConfirmDownloadBody;let n=[e.browserConfirmDownloadBody.replace(`{{version}}`,t.version??`—`).replace(`{{platform}}`,t.platform).replace(`{{url}}`,t.downloadUrl||`—`)];return t.expectedSha256?n.push(`SHA-256: ${t.expectedSha256.slice(0,16)}…`):n.push(e.browserCloakSha256Skipped),n.join(`
2
2
  `)}function Fe({m:e,form:t,onChange:n,testCloud:r,embedded:i=!1}){let[s,c]=(0,X.useState)(`idle`),[l,u]=(0,X.useState)(null),f=t.provider===`local`?`browserbase`:t.provider,p=a(o(e=>e.language)).providersSettings,m=j({show:p.show,hide:p.hide,copy:p.copy,copied:p.copied}),h=(0,X.useCallback)(()=>re().then(e=>e.apiKey??null),[]),g=(0,X.useCallback)(async()=>{c(`pending`),u(null);try{let n=await r(f,t.apiKey);n.reachable?(c(`ok`),u(e.browserCloudTestOk)):(c(`error`),u(e.browserCloudTestFailed.replace(`{{error}}`,n.error??`—`)))}catch(t){c(`error`),u(e.browserCloudTestFailed.replace(`{{error}}`,t instanceof Error?t.message:String(t)))}},[t.apiKey,e.browserCloudTestFailed,e.browserCloudTestOk,f,r]);return(0,Q.jsxs)(Ce,{icon:B,title:e.label.browserCloudProvider,description:e.desc.browserCloudProvider,m:e,embedded:i,primaryAction:(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:s===`pending`,onClick:()=>void g(),children:[s===`pending`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(d,{className:`size-3.5`}),e.browserCloudTestConnection]}),children:[(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsx)(K,{label:e.label.browserCloudProvider,description:e.desc.browserCloudProvider,children:(0,Q.jsxs)(`select`,{className:q(),value:f,onChange:e=>n({provider:e.target.value}),children:[(0,Q.jsx)(`option`,{value:`browserbase`,children:e.browserCloudProviderBrowserbase}),(0,Q.jsx)(`option`,{value:`browser-use`,children:e.browserCloudProviderBrowserUse})]})}),(0,Q.jsx)(K,{label:e.label.browserCloudApiKey,description:e.desc.browserCloudApiKey,children:(0,Q.jsx)(O,{value:t.apiKey,onChange:e=>n({apiKey:e}),placeholder:f===`browserbase`?`BROWSERBASE_API_KEY`:`BROWSER_USE_API_KEY`,labels:m,reveal:h,loadFailedLabel:`Failed to load key`})}),f===`browserbase`?(0,Q.jsx)(K,{label:e.label.browserCloudProjectId,description:e.desc.browserCloudProjectId,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:t.projectId,placeholder:`BROWSERBASE_PROJECT_ID`,onChange:e=>n({projectId:e.target.value}),autoComplete:`off`})}):null,(0,Q.jsx)(K,{label:e.label.browserCloudRegion,description:e.desc.browserCloudRegion,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:t.region,placeholder:`us-west-2`,onChange:e=>n({region:e.target.value}),autoComplete:`off`})})]}),l?(0,Q.jsx)(Te,{kind:s===`error`?`error`:`success`,message:l}):null]})}function Ie(e){let t=(0,Z.c)(48),{m:n,installed:r,extensionDir:a,connected:o,busy:s,onOpenChrome:c,onCopyPath:l,onRevealFolder:u,pathBusy:d,folderBusy:f}=e,p;t[0]!==r||t[1]!==n.browserExtensionInstallStep1?(p={id:`install`,label:n.browserExtensionInstallStep1,done:r},t[0]=r,t[1]=n.browserExtensionInstallStep1,t[2]=p):p=t[2];let m=!!a&&o,h;t[3]!==s||t[4]!==a||t[5]!==f||t[6]!==n.browserExtensionCopyPath||t[7]!==n.browserExtensionInstallStep2FolderLabel||t[8]!==n.browserExtensionInstalling||t[9]!==n.browserExtensionOpenChrome||t[10]!==n.browserExtensionRevealFolder||t[11]!==l||t[12]!==c||t[13]!==u||t[14]!==d?(h=a?(0,Q.jsxs)(`div`,{className:`mt-2 rounded-md border border-edge bg-surface-raised px-2.5 py-2`,children:[(0,Q.jsx)(`p`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:n.browserExtensionInstallStep2FolderLabel}),(0,Q.jsx)(`p`,{className:`mt-1 break-all font-mono text-[11px] text-fg`,children:a}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-3`,children:[(0,Q.jsx)(`button`,{type:`button`,className:`inline-flex items-center gap-1 text-[11px] text-accent hover:underline disabled:opacity-60`,disabled:s,onClick:c,children:n.browserExtensionOpenChrome}),(0,Q.jsx)(`button`,{type:`button`,className:`inline-flex items-center gap-1 text-[11px] text-accent hover:underline disabled:opacity-60`,disabled:s,onClick:l,title:a,children:d?n.browserExtensionInstalling:n.browserExtensionCopyPath}),(0,Q.jsx)(`button`,{type:`button`,className:`inline-flex items-center gap-1 text-[11px] text-accent hover:underline disabled:opacity-60`,disabled:s,onClick:u,title:a,children:f?n.browserExtensionInstalling:n.browserExtensionRevealFolder})]})]}):null,t[3]=s,t[4]=a,t[5]=f,t[6]=n.browserExtensionCopyPath,t[7]=n.browserExtensionInstallStep2FolderLabel,t[8]=n.browserExtensionInstalling,t[9]=n.browserExtensionOpenChrome,t[10]=n.browserExtensionRevealFolder,t[11]=l,t[12]=c,t[13]=u,t[14]=d,t[15]=h):h=t[15];let g;t[16]!==n.browserExtensionInstallStep2||t[17]!==m||t[18]!==h?(g={id:`load`,label:n.browserExtensionInstallStep2,done:m,detail:h},t[16]=n.browserExtensionInstallStep2,t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;t[20]!==o||t[21]!==n.browserExtensionInstallStep3?(_={id:`connect`,label:n.browserExtensionInstallStep3,done:o},t[20]=o,t[21]=n.browserExtensionInstallStep3,t[22]=_):_=t[22];let v;t[23]!==p||t[24]!==g||t[25]!==_?(v=[p,g,_],t[23]=p,t[24]=g,t[25]=_,t[26]=v):v=t[26];let b=v,S;t[27]===b?S=t[28]:(S=b.filter(Le),t[27]=b,t[28]=S);let C=S.length,w=n.browserExtensionInstallGuideTitle,T;t[29]===n.browserExtensionInstallGuideTitle?T=t[30]:(T=(0,Q.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:n.browserExtensionInstallGuideTitle}),t[29]=n.browserExtensionInstallGuideTitle,t[30]=T);let E;t[31]!==C||t[32]!==n.browserExtensionChecklistProgress||t[33]!==b.length?(E=n.browserExtensionChecklistProgress.replace(`{{done}}`,String(C)).replace(`{{total}}`,String(b.length)),t[31]=C,t[32]=n.browserExtensionChecklistProgress,t[33]=b.length,t[34]=E):E=t[34];let D;t[35]===E?D=t[36]:(D=(0,Q.jsx)(`span`,{className:`ml-auto text-xs font-normal text-fg-muted`,children:E}),t[35]=E,t[36]=D);let O;t[37]!==D||t[38]!==T?(O=(0,Q.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[T,D]}),t[37]=D,t[38]=T,t[39]=O):O=t[39];let k;t[40]!==n.browserExtensionChecklistDone||t[41]!==n.browserExtensionChecklistPending||t[42]!==b?(k=(0,Q.jsx)(`ol`,{className:`flex flex-col gap-3`,children:b.map((e,t)=>(0,Q.jsxs)(`li`,{className:`flex gap-2.5`,children:[(0,Q.jsx)(`span`,{className:`mt-0.5 shrink-0`,"aria-hidden":!0,children:e.done?(0,Q.jsx)(x,{className:`size-4 text-emerald-500`,strokeWidth:2}):(0,Q.jsx)(y,{className:`size-4 text-fg-subtle`,strokeWidth:1.75})}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`p`,{className:i(`text-[11px] leading-relaxed`,e.done?`text-fg-muted line-through decoration-fg-subtle/60`:`text-fg`),children:[(0,Q.jsxs)(`span`,{className:`sr-only`,children:[e.done?n.browserExtensionChecklistDone:n.browserExtensionChecklistPending,` `]}),t+1,`. `,e.label]}),e.detail]})]},e.id))}),t[40]=n.browserExtensionChecklistDone,t[41]=n.browserExtensionChecklistPending,t[42]=b,t[43]=k):k=t[43];let A;return t[44]!==n.browserExtensionInstallGuideTitle||t[45]!==O||t[46]!==k?(A=(0,Q.jsxs)(`div`,{"aria-label":w,className:`rounded-xl border border-edge bg-surface-base px-3 py-3`,children:[O,k]}),t[44]=n.browserExtensionInstallGuideTitle,t[45]=O,t[46]=k,t[47]=A):A=t[47],A}function Le(e){return e.done}var Re=19820,ze=3e4;function Be({m:e,probe:t,artifacts:n,onChange:r,startBridge:i,stopBridge:a,disconnectExtension:o,installArtifacts:s,refetchArtifacts:c,openExtensionChrome:u,revealExtensionFolder:f,form:p,embedded:m=!1}){let[g,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(null),[x,C]=(0,X.useState)(null),w=p.port??Re,T=p.host||`127.0.0.1`,E=`ws://${T}:${w}/browser-ext`,O=t.kind===`ok`&&t.data.running,A=t.kind===`ok`&&t.data.connected,j=t.kind===`ok`&&t.data.bridgeHeld===!0,M=t.kind===`ok`&&t.data.portConflict===!0,P=O||j,F=n.kind===`ok`?n.data:t.kind===`ok`?t.data.artifacts:void 0,L=F?.installed===!0,R=F?.extensionDir,ee=F?.needsChromeReload===!0,B=t.kind===`ok`?A?{icon:k,color:`text-green-500`,label:e.browserExtensionConnected}:O?{icon:d,color:`text-amber-500`,label:e.browserExtensionWaiting}:{icon:z,color:`text-fg-muted`,label:e.browserExtensionServerOff}:{icon:z,color:`text-fg-muted`,label:`…`},te=B.icon,V=(0,X.useCallback)(async()=>{if(!g){v(`start`),b(null);try{await i({host:T,port:w})}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,T,w,i]),H=(0,X.useCallback)(async()=>{if(!g){v(`stop`),b(null);try{await a()}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,a]),U=(0,X.useCallback)(async()=>{if(!g){v(`disconnect`),b(null);try{await o()}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,o]),W=(0,X.useCallback)(async()=>{if(!g){v(`install`),b(null),C(null);try{let t=await s({force:L});t?.extensionDir?C(`${e.browserExtensionInstalled}: ${t.extensionDir}`):C(e.browserExtensionInstalled),await c()}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,s,L,e.browserExtensionInstalled,c]),G=(0,X.useCallback)(async()=>{if(!g){v(`open`),b(null);try{await u()}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,u]),q=(0,X.useCallback)(async()=>{if(!(!R||g)){v(`path`),b(null),C(null);try{await S(R)?l({type:`success`,title:e.browserExtensionPathCopied}):C(e.browserExtensionPathCopyFailed)}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,R,e.browserExtensionPathCopied,e.browserExtensionPathCopyFailed]),Y=(0,X.useCallback)(async()=>{if(!(!R||g)){v(`folder`),b(null),C(null);try{await f(),l({type:`success`,title:e.browserExtensionFolderOpened})}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(null)}}},[g,R,e.browserExtensionFolderOpened,f]),ne=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:g!==null,onClick:()=>void W(),children:[g===`install`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(h,{className:`size-3.5`}),g===`install`?e.browserExtensionInstalling:e.browserExtensionInstall]}),P?(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:g!==null,onClick:()=>void H(),children:[g===`stop`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(D,{className:`size-3.5`}),e.browserExtensionStopBridge]}):(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:g!==null,onClick:()=>void V(),children:[g===`start`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(_,{className:`size-3.5`}),g===`start`?e.browserExtensionStarting:e.browserExtensionStartBridge]}),A?(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:g!==null,onClick:()=>void U(),children:[g===`disconnect`?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):(0,Q.jsx)(z,{className:`size-3.5`}),e.browserExtensionDisconnect]}):null]});return(0,Q.jsx)(Ce,{icon:I,title:e.browserBackendExtension,description:e.browserExtensionDownloadHint,m:e,embedded:m,primaryAction:ne,advancedTitle:e.browserAdvancedShow,advanced:(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[(0,Q.jsx)(K,{label:e.label.browserExtensionPort,description:e.desc.browserExtensionPort,children:(0,Q.jsx)(`input`,{type:`number`,className:J(),min:1024,max:65535,value:p.port??``,placeholder:String(Re),onChange:e=>{let t=e.target.value;r({port:t===``?void 0:Number.parseInt(t,10)})}})}),(0,Q.jsx)(K,{label:e.label.browserExtensionHost,description:e.desc.browserExtensionHost,children:(0,Q.jsx)(`input`,{type:`text`,className:J(),value:p.host,placeholder:`127.0.0.1`,onChange:e=>r({host:e.target.value}),autoComplete:`off`})}),(0,Q.jsx)(K,{label:e.label.browserExtensionConnectionTimeout,description:e.desc.browserExtensionConnectionTimeout,children:(0,Q.jsx)(`input`,{type:`number`,className:J(),min:1,step:1,value:p.connectionTimeoutMs==null?``:Math.round(p.connectionTimeoutMs/1e3),placeholder:String(ze/1e3),onChange:e=>{let t=e.target.value;r({connectionTimeoutMs:t===``?void 0:Math.max(1,Number.parseInt(t,10))*1e3})}})})]}),children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-lg border border-edge bg-surface-base px-3 py-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:E}),(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-xs ${B.color}`,children:[(0,Q.jsx)(te,{className:`size-3.5`}),(0,Q.jsx)(`span`,{children:B.label})]})]}),(0,Q.jsx)(Ie,{m:e,installed:L,extensionDir:R,connected:A,busy:g!==null,pathBusy:g===`path`,folderBusy:g===`folder`,onOpenChrome:()=>void G(),onCopyPath:()=>void q(),onRevealFolder:()=>void Y()}),ee?(0,Q.jsx)(`div`,{className:`rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs leading-relaxed text-amber-800 dark:text-amber-200`,children:e.browserExtensionNeedsChromeReload}):null,M?(0,Q.jsx)(`div`,{className:`rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs leading-relaxed text-amber-800 dark:text-amber-200`,children:e.browserExtensionPortConflict.replace(`{{port}}`,String(w))}):null,x?(0,Q.jsx)(Te,{kind:`success`,message:x}):null,y?(0,Q.jsx)(Te,{kind:`error`,message:y}):null]})})}function Ve(e){let t=(0,Z.c)(41),{m:n,doctor:r,refetch:i,applyDoctor:a,installStream:o,embedded:s}=e,c=s===void 0?!1:s,[l,u]=(0,X.useState)(`idle`),[d,f]=(0,X.useState)(null),{progress:p,running:m,cancelling:g,run:_,reset:v,cancel:y}=o,b;t[0]!==a||t[1]!==n.browserPlaywrightInstallFailed||t[2]!==n.browserPlaywrightInstalled||t[3]!==i||t[4]!==v||t[5]!==_?(b=async()=>{u(`installing`),f(null),v();let e=await _({fallbackError:n.browserPlaywrightInstallFailed});if(!e.ok){if(e.error===`busy`){u(`installing`);return}if(e.error===`cancelled`){u(`idle`),f(null),v();return}u(`failed`),f(e.errorMessage??n.browserPlaywrightInstallFailed);return}e.payload&&a?.(e.payload),u(`installed`),f(e.payload?.executablePath?`${n.browserPlaywrightInstalled}: ${e.payload.executablePath}`:n.browserPlaywrightInstalled),await i()},t[0]=a,t[1]=n.browserPlaywrightInstallFailed,t[2]=n.browserPlaywrightInstalled,t[3]=i,t[4]=v,t[5]=_,t[6]=b):b=t[6];let S=b,C=r.kind===`loading`?`checking`:r.kind===`error`?`error`:r.kind===`ok`?r.data.installed?`ready`:`not_installed`:`unknown`,T=r.kind===`ok`&&r.data.installed&&r.data.executablePath?r.data.executablePath:void 0,E=r.kind===`ok`&&r.data.installed,D=l===`installing`||m,O;t[7]===S?O=t[8]:(O=()=>void S(),t[7]=S,t[8]=O);let k;t[9]!==E||t[10]!==D||t[11]!==l?(k=D?(0,Q.jsx)(N,{className:`size-3.5 animate-spin`}):E?(0,Q.jsx)(w,{className:`size-3.5`}):l===`installed`?(0,Q.jsx)(x,{className:`size-3.5 text-green-500`}):(0,Q.jsx)(h,{className:`size-3.5`}),t[9]=E,t[10]=D,t[11]=l,t[12]=k):k=t[12];let A=D?n.browserPlaywrightInstalling:E?n.browserReinstall:n.browserPlaywrightInstall,j;t[13]!==D||t[14]!==O||t[15]!==k||t[16]!==A?(j=(0,Q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-raised disabled:cursor-not-allowed disabled:opacity-60`,disabled:D,onClick:O,children:[k,A]}),t[13]=D,t[14]=O,t[15]=k,t[16]=A,t[17]=j):j=t[17];let M;t[18]===n.browserPlaywrightManualInstall?M=t[19]:(M=(0,Q.jsx)(`p`,{className:`text-fg-muted`,children:n.browserPlaywrightManualInstall}),t[18]=n.browserPlaywrightManualInstall,t[19]=M);let P;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Q.jsx)(`code`,{className:`mt-2 block w-fit rounded-md border border-edge bg-surface-base px-2 py-1 text-xs text-fg`,children:`node node_modules/playwright-core/cli.js install chromium`}),t[20]=P):P=t[20];let F;t[21]===M?F=t[22]:(F=(0,Q.jsxs)(`div`,{className:`text-xs`,children:[M,P]}),t[21]=M,t[22]=F);let I;t[23]!==y||t[24]!==g||t[25]!==n||t[26]!==p||t[27]!==m?(I=m?(0,Q.jsx)(ke,{m:n,progress:p,showLogs:!0,cancelling:g,onCancel:()=>void y()}):null,t[23]=y,t[24]=g,t[25]=n,t[26]=p,t[27]=m,t[28]=I):I=t[28];let L;t[29]!==d||t[30]!==l?(L=d?(0,Q.jsx)(Te,{kind:l===`failed`?`error`:`success`,message:d}):null,t[29]=d,t[30]=l,t[31]=L):L=t[31];let R;return t[32]!==c||t[33]!==n||t[34]!==T||t[35]!==C||t[36]!==I||t[37]!==L||t[38]!==j||t[39]!==F?(R=(0,Q.jsxs)(Ce,{icon:ee,title:n.browserPlaywrightGuideTitle,description:n.browserPlaywrightGuideDesc,status:C,statusDetail:T,m:n,embedded:c,primaryAction:j,children:[F,I,L]}),t[32]=c,t[33]=n,t[34]=T,t[35]=C,t[36]=I,t[37]=L,t[38]=j,t[39]=F,t[40]=R):R=t[40],R}async function He(e){let t=await c(e),n=await t.json().catch(()=>({}));if(!t.ok||n.ok===!1){let e=typeof n.error==`string`?n.error:n.error?.message;throw Error(e||`Request failed: ${t.status}`)}if(n.payload===void 0)throw Error(`Empty payload`);return n.payload}async function $(e,t){let n=await c(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t??{})}),r=await n.json().catch(()=>({}));if(!n.ok||r.ok===!1){let e=typeof r.error==`string`?r.error:r.error?.message;throw Error(e||`Request failed: ${n.status}`)}if(r.payload===void 0)throw Error(`Empty payload`);return r.payload}var Ue={playwright:{kind:`idle`},cloak:{kind:`idle`},extension:{kind:`idle`},extensionArtifacts:{kind:`idle`}};function We(e,t){switch(t.type){case`playwright`:return{...e,playwright:t.state};case`cloak`:return{...e,cloak:t.state};case`extension`:return{...e,extension:t.state};case`extension-artifacts`:return{...e,extensionArtifacts:t.state};case`playwright-idle`:return{...e,playwright:{kind:`idle`}};case`cloak-idle`:return{...e,cloak:{kind:`idle`}};case`extension-idle`:return{...e,extension:{kind:`idle`},extensionArtifacts:{kind:`idle`}};case`extension-start-probe`:return{...e,extension:e.extension.kind===`ok`?e.extension:{kind:`loading`}};case`extension-artifacts-start-probe`:return{...e,extensionArtifacts:e.extensionArtifacts.kind===`ok`?e.extensionArtifacts:{kind:`loading`}}}}function Ge(e){let[t,n]=(0,X.useReducer)(We,Ue),{playwright:r,cloak:i,extension:a,extensionArtifacts:o}=t,l=(0,X.useCallback)(async()=>{n({type:`playwright`,state:{kind:`loading`}});try{n({type:`playwright`,state:{kind:`ok`,data:await He(s(`/api/browser/playwright/doctor`))}})}catch(e){n({type:`playwright`,state:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},[]),u=(0,X.useCallback)(async t=>{n({type:`cloak`,state:{kind:`loading`}});let r=(t?.cacheDir??e.cacheDir??``).trim(),i=(t?.binaryPath??e.binaryPath??``).trim(),a=new URLSearchParams;r&&a.set(`cacheDir`,r),i&&a.set(`binaryPath`,i);try{let e=await He(s(`/api/browser/cloakbrowser/doctor${a.size?`?${a}`:``}`));return n({type:`cloak`,state:{kind:`ok`,data:e}}),e}catch(e){return n({type:`cloak`,state:{kind:`error`,message:e instanceof Error?e.message:String(e)}}),null}},[e.binaryPath,e.cacheDir]),d=(0,X.useCallback)(e=>{n({type:`playwright`,state:{kind:`ok`,data:e}})},[]),f=(0,X.useCallback)(e=>{n({type:`cloak`,state:{kind:`ok`,data:e}})},[]),p=(0,X.useCallback)(async()=>He(s(`/api/browser/cloakbrowser/status`)),[]),m=(0,X.useCallback)(async()=>$(s(`/api/browser/cloakbrowser/launch`),{}),[]),h=e.browserEnabled===!0&&e.probeExtension===!0,g=e.browserEnabled===!0&&e.probeLocal===!0,_=e.browserEnabled===!0&&e.probeCloak===!0,{extensionHost:v,extensionPort:y}=e,b=(0,X.useCallback)(async()=>{let e=new URLSearchParams({probe:`1`});v&&e.set(`host`,v),y!==void 0&&e.set(`port`,String(y)),n({type:`extension-start-probe`});try{let t=await c(s(`/api/browser/extension-status?${e}`),{signal:AbortSignal.timeout(3e3)}),r=await t.json().catch(()=>({}));if(!t.ok){n({type:`extension`,state:{kind:`error`,message:`HTTP ${t.status}`}});return}n({type:`extension`,state:{kind:`ok`,data:{running:r.running===!0,connected:r.connected===!0,backend:r.backend,artifacts:r.artifacts,bridgeHeld:r.bridgeHeld===!0,refCount:typeof r.refCount==`number`?r.refCount:void 0,manualBridge:r.manualBridge===!0,portConflict:r.portConflict===!0}}})}catch(e){n({type:`extension`,state:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},[v,y]),x=(0,X.useCallback)(async()=>{n({type:`extension-artifacts-start-probe`});try{let e=await He(s(`/api/browser/extension/doctor`));return n({type:`extension-artifacts`,state:{kind:`ok`,data:e}}),e}catch(e){return n({type:`extension-artifacts`,state:{kind:`error`,message:e instanceof Error?e.message:String(e)}}),null}},[]),S=(0,X.useCallback)(async e=>{let t=(await $(s(`/api/browser/extension/install`),{force:e?.force??!1})).doctor;return n({type:`extension-artifacts`,state:{kind:`ok`,data:t}}),await b(),t},[b]),C=(0,X.useCallback)(async()=>{await $(s(`/api/browser/extension/open`),{action:`chrome`})},[]),w=(0,X.useCallback)(async()=>{await $(s(`/api/browser/extension/open`),{action:`folder`})},[]);(0,X.useEffect)(()=>{if(!g){n({type:`playwright-idle`});return}l()},[g,l]),(0,X.useEffect)(()=>{if(!_){n({type:`cloak-idle`});return}u()},[_,u]);let T=(0,X.useRef)(h);T.current!==h&&(T.current=h,h||n({type:`extension-idle`})),(0,X.useEffect)(()=>{if(!h)return;b(),x();let e=setInterval(()=>void b(),5e3);return()=>clearInterval(e)},[h,b,x]);let E=(0,X.useCallback)(async e=>{await $(s(`/api/browser/extension/start`),{host:e?.host??v,port:e?.port??y}),await b()},[v,y,b]),D=(0,X.useCallback)(async()=>{await $(s(`/api/browser/extension/stop`),{}),await b()},[b]),O=(0,X.useCallback)(async()=>{await $(s(`/api/browser/extension/disconnect`),{}),await b()},[b]),k=(0,X.useRef)(null);return(0,X.useEffect)(()=>{if(!h||e.activeBackend!==`extension`){k.current=null;return}if(a.kind!==`ok`||a.data.running||a.data.bridgeHeld)return;let t=`${v}:${y??19820}`;k.current!==t&&(k.current=t,E({host:v,port:y}).catch(()=>{k.current=null}))},[h,a,v,y,e.activeBackend,E]),{playwright:r,cloak:i,extension:a,extensionArtifacts:o,refetchPlaywright:l,applyPlaywrightDoctor:d,refetchCloak:u,applyCloakDoctor:f,fetchCloakRuntimeStatus:p,launchCloak:m,refetchExtension:b,refetchExtensionArtifacts:x,installExtensionArtifacts:S,openExtensionChrome:C,revealExtensionFolder:w,pingCdp:(0,X.useCallback)(async e=>$(s(`/api/browser/cdp/ping`),{cdpUrl:e}),[]),testCloud:(0,X.useCallback)(async(e,t)=>$(s(`/api/browser/cloud/test-connection`),{provider:e,apiKey:t}),[]),launchCdp:(0,X.useCallback)(async e=>$(s(`/api/browser/cdp/launch`),{executablePath:e}),[]),stopCdp:(0,X.useCallback)(async e=>{await $(s(`/api/browser/cdp/stop`),{port:e})},[]),listCdpInstances:(0,X.useCallback)(async()=>(await He(s(`/api/browser/cdp/instances`))).instances,[]),startExtensionBridge:E,stopExtensionBridge:D,disconnectExtension:O}}var Ke=`
3
3
 
4
4
  `,qe=/\r\n/g,Je={playwright:`/api/browser/playwright/install/stream`,cloakbrowser:`/api/browser/cloakbrowser/install/stream`},Ye={playwright:`/api/browser/playwright/install/cancel`,cloakbrowser:`/api/browser/cloakbrowser/install/cancel`},Xe=8;function Ze(){return{phase:null,message:null,percent:null,lines:[]}}function Qe(e,t){let n={phase:t.phase,message:t.message??t.line??e.message,percent:t.percent??e.percent,lines:e.lines};if(t.line){let r=[...e.lines,t.line];n.lines=r.length>Xe?r.slice(-8):r}return n}async function $e(e,t,n){let r=e.getReader(),i=new TextDecoder,a=``,o=null,s=e=>{let n=``,r=``;for(let t of e.split(`