sliccy 6.110.2 → 6.110.3

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 (144) hide show
  1. package/README.md +1 -1
  2. package/dist/node-server/_cloud_core/src/cone-config/index.d.ts.map +1 -1
  3. package/dist/node-server/_cloud_core/src/cone-config/index.js +9 -6
  4. package/dist/node-server/electron-runtime.d.ts +9 -0
  5. package/dist/node-server/electron-runtime.js +3 -3
  6. package/dist/ui/.vite/manifest.json +173 -165
  7. package/dist/ui/assets/{account-store-Bg1KKHOx.js → account-store-8BBweMEe.js} +3 -3
  8. package/dist/ui/assets/{account-store-8sKKUZ8J.js → account-store-DaG5fzPt.js} +1 -1
  9. package/dist/ui/assets/{adobe-0CWIpyju.js → adobe-ShrE3fLm.js} +1 -1
  10. package/dist/ui/assets/{adobe-ChXsF6gw.js → adobe-lW1zO2xc.js} +2 -2
  11. package/dist/ui/assets/{agent-bridge-B43SVYcu.js → agent-bridge-DnjqW2rF.js} +1 -1
  12. package/dist/ui/assets/{agent-panels-9uCI5yeM.js → agent-panels-BUwuB3TG.js} +1 -1
  13. package/dist/ui/assets/{apply-layout-Bz-0rXhV.js → apply-layout-z0iSraqj.js} +1 -1
  14. package/dist/ui/assets/{apps-C16RztyU.js → apps-BJxy_wtK.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-BCKGDF-y.js → azure-openai-BfsbnpvG.js} +1 -1
  16. package/dist/ui/assets/{azure-openai-DoQszniP.js → azure-openai-CtT9zy2b.js} +1 -1
  17. package/dist/ui/assets/{bsh-watchdog--Df_ThJG.js → bsh-watchdog-COvv_9Ni.js} +1 -1
  18. package/dist/ui/assets/{cdp-BzUC7d2h.js → cdp-D8RM1G3G.js} +1 -1
  19. package/dist/ui/assets/{cerebras-kH_bQsg2.js → cerebras-DPUsdgrQ.js} +1 -1
  20. package/dist/ui/assets/{cerebras-CQwhL4Ig.js → cerebras-b6VkvqMq.js} +1 -1
  21. package/dist/ui/assets/{connect-surface-BMrb-EnN.js → connect-surface-RDU90Juf.js} +1 -1
  22. package/dist/ui/assets/{directed-approval-zeD_orXz.js → directed-approval-DONBhcot.js} +1 -1
  23. package/dist/ui/assets/{follower-navigate-watcher-BoAzVfrf.js → follower-navigate-watcher-DKoozuvB.js} +1 -1
  24. package/dist/ui/assets/fs-CsuRlf5M.js +2 -0
  25. package/dist/ui/assets/{fs-DKRiXKHo.js → fs-DJCrdGnR.js} +1 -1
  26. package/dist/ui/assets/github-CAiprKij.js +1 -0
  27. package/dist/ui/assets/github-DWOc5kg-.js +2 -0
  28. package/dist/ui/assets/{github-copilot-DJf8cE1K.js → github-copilot-Bil4uk_l.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-Xp2l1YxD.js → github-copilot-CJL7AnKr.js} +1 -1
  30. package/dist/ui/assets/{github-install-DRa8AaBY.js → github-install-CndOdb4D.js} +1 -1
  31. package/dist/ui/assets/{github-zip-BpPiUirA.js → github-zip-BY8CZlGS.js} +1 -1
  32. package/dist/ui/assets/intercepted-oauth-B0tP4D7f.js +1 -0
  33. package/dist/ui/assets/{js-realm-worker-D6DSLfXh.js → js-realm-worker-DlEUeX9A.js} +4 -4
  34. package/dist/ui/assets/{kernel-worker-DQDT4Cud.js → kernel-worker-bde26G1-.js} +645 -645
  35. package/dist/ui/assets/{lick-urls-51I5JBZv.js → lick-urls-CLl4eksX.js} +1 -1
  36. package/dist/ui/assets/lick-ws-bridge-BD2lQGbd.js +1 -0
  37. package/dist/ui/assets/{lick-ws-bridge-rxCk9AYw.js → lick-ws-bridge-HrxtV3Ht.js} +1 -1
  38. package/dist/ui/assets/{local-llm-OBHKAcNH.js → local-llm-C62wy8Df.js} +2 -2
  39. package/dist/ui/assets/local-llm-CWREzZ3O.js +2 -0
  40. package/dist/ui/assets/main-Cj0dR__R.js +22 -0
  41. package/dist/ui/assets/main-cherry-DR23QV8d.js +1 -0
  42. package/dist/ui/assets/{mount-BrQpW9eO.js → mount-DOTTHKHC.js} +1 -1
  43. package/dist/ui/assets/{mount-Rb9VVKip.js → mount-DPQd6tzy.js} +2 -2
  44. package/dist/ui/assets/{mount-recovery-Cb-AXW35.js → mount-recovery-VYeNQaYC.js} +1 -1
  45. package/dist/ui/assets/navigation-watcher-DLdGNtAZ.js +1 -0
  46. package/dist/ui/assets/new-session-CSBZYMGL.js +2 -0
  47. package/dist/ui/assets/oauth-bootstrap-DexuY7VO.js +2 -0
  48. package/dist/ui/assets/oauth-service-NaEg6KHx.js +1 -0
  49. package/dist/ui/assets/{oauth-service-CUpgufjo.js → oauth-service-TDESX_tk.js} +1 -1
  50. package/dist/ui/assets/{onboarding-orchestrator-Dmh6rOJl.js → onboarding-orchestrator-D0go0maQ.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-DY_L0KSA.js → openai-codex-CHbj2YKL.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-84EHUcAD.js → openai-codex-CO0FHasF.js} +1 -1
  53. package/dist/ui/assets/{openrouter-z7GGvxCM.js → openrouter-581ltIhi.js} +1 -1
  54. package/dist/ui/assets/{openrouter-meLV8ehE.js → openrouter-mBQeNixz.js} +1 -1
  55. package/dist/ui/assets/{openrouter-oauth-DudFNSW4.js → openrouter-oauth-GybmBe0R.js} +1 -1
  56. package/dist/ui/assets/{openrouter-oauth-CblQ27-K.js → openrouter-oauth-TZF0LEyZ.js} +1 -1
  57. package/dist/ui/assets/{panel-rpc-handlers-DmiAyTiy.js → panel-rpc-handlers-CRRp4c_O.js} +2 -2
  58. package/dist/ui/assets/{panelize-shell-65i9Hq7n.js → panelize-shell-Cqfllxbd.js} +1 -1
  59. package/dist/ui/assets/{provider-BE0mTIGf.js → provider-1riqfMR-.js} +1 -1
  60. package/dist/ui/assets/provider-CSdxYAI8.js +2 -0
  61. package/dist/ui/assets/provider-settings-ZgbgciKR.js +1 -0
  62. package/dist/ui/assets/provider-store-access-D_fJtNHf.js +1 -0
  63. package/dist/ui/assets/provider-store-access-YJf60jWB.js +1 -0
  64. package/dist/ui/assets/{providers-BlPz5ou6.js → providers-BZF0GlsK.js} +1 -1
  65. package/dist/ui/assets/providers-DpEbKMV3.js +2 -0
  66. package/dist/ui/assets/{quick-llm-CcFoANd_.js → quick-llm-Bs6a9ohB.js} +1 -1
  67. package/dist/ui/assets/{recovery-screen-44Uu5Cgy.js → recovery-screen-GaJzi_nj.js} +1 -1
  68. package/dist/ui/assets/{redirect-uri-C_VlH29S.js → redirect-uri-LEkhAfJa.js} +1 -1
  69. package/dist/ui/assets/{remote-terminal-view-vsJYhJKi.js → remote-terminal-view-HlQtiCdZ.js} +1 -1
  70. package/dist/ui/assets/{run-BQu73khp.js → run-BBmtyuxB.js} +1 -1
  71. package/dist/ui/assets/{secret-env-Hwyj0iR1.js → secret-env-CvkpMxjz.js} +1 -1
  72. package/dist/ui/assets/secrets-bridge-client-H8-Z1RVR.js +1 -0
  73. package/dist/ui/assets/{setup-feature-flags-remote-ITlSmr_i.js → setup-feature-flags-remote-CAAIusTL.js} +1 -1
  74. package/dist/ui/assets/sidecar-repair-CEmls84u.js +1 -0
  75. package/dist/ui/assets/{skills-B0o8gPTv.js → skills-C1BCxtxJ.js} +2 -2
  76. package/dist/ui/assets/slicc-version-CE2qd08F.js +1 -0
  77. package/dist/ui/assets/state-Cf1Y6pFo.js +42 -0
  78. package/dist/ui/assets/{store-C3RMRz9d.js → store-C5WIQl6U.js} +1 -1
  79. package/dist/ui/assets/{store-CzQ9Fvfr.js → store-DrDjrRj2.js} +1 -1
  80. package/dist/ui/assets/{sudo-CPH7ANoV.js → sudo-CCTcrBIJ.js} +1 -1
  81. package/dist/ui/assets/{sync-dialog-vSEl3KxP.js → sync-dialog-BRwkEszT.js} +1 -1
  82. package/dist/ui/assets/tool-ui-DCY2mIe9.js +1 -0
  83. package/dist/ui/assets/tray-leader-CHHSfFEB.js +1 -0
  84. package/dist/ui/assets/{tray-leave-runtime-3_wlFPFU.js → tray-leave-runtime-OxVT1X8O.js} +1 -1
  85. package/dist/ui/assets/tray-runtime-config-CjsIUSv2.js +1 -0
  86. package/dist/ui/assets/tray-runtime-config-CluPgaPA.js +1 -0
  87. package/dist/ui/assets/{tray-sidecar-BIcoXTJN.js → tray-sidecar-Bnp-I8VZ.js} +1 -1
  88. package/dist/ui/assets/tray-url-config-Cx0gvYq6.js +1 -0
  89. package/dist/ui/assets/{upgrade-detection-TsOPChOa.js → upgrade-detection-B-ic_s-w.js} +1 -1
  90. package/dist/ui/assets/{voice-reply-O_Z2C0eg.js → voice-reply-vHjs6Lwz.js} +1 -1
  91. package/dist/ui/assets/{wc-attach-DM5yRZRS.js → wc-attach-D1Wbe7BQ.js} +2 -2
  92. package/dist/ui/assets/wc-extension-K69BtExa.js +2 -0
  93. package/dist/ui/assets/{wc-float-label-Bmp3gmHN.js → wc-float-label-BLvU2814.js} +1 -1
  94. package/dist/ui/assets/wc-floatbar-online-WxVLXUuL.js +1 -0
  95. package/dist/ui/assets/wc-follower-MBwg6NpZ.js +17 -0
  96. package/dist/ui/assets/{wc-follower-oauth-D15d_vbh.js → wc-follower-oauth-DL2btuX4.js} +1 -1
  97. package/dist/ui/assets/{wc-live-CiwhsK8i.js → wc-live-D9C2qb2I.js} +6 -6
  98. package/dist/ui/assets/wc-nav-CUf1Z_Tr.js +2 -0
  99. package/dist/ui/assets/{wc-onboarding-DUBWYyMl.js → wc-onboarding-BOIXS806.js} +2 -2
  100. package/dist/ui/assets/{wc-permissions-CCJrTH49.js → wc-permissions-BxpV8lGq.js} +2 -2
  101. package/dist/ui/assets/{wc-placeholder-CPMV2eO3.js → wc-placeholder-CUfZIfzI.js} +3 -3
  102. package/dist/ui/assets/{wc-settings-M8e_JWQh.js → wc-settings-DhhxNWv_.js} +3 -3
  103. package/dist/ui/assets/{wc-shell-WlrdsROD.js → wc-shell-BU2i4AQi.js} +3 -3
  104. package/dist/ui/assets/{wc-shortcut-config-BftmZXGf.js → wc-shortcut-config-CtIiNVQ9.js} +1 -1
  105. package/dist/ui/assets/{wc-sprinkles-DhXJLTUO.js → wc-sprinkles-C9wtNI-h.js} +2 -2
  106. package/dist/ui/assets/wc-transcript-export-By3cf4BN.js +2 -0
  107. package/dist/ui/assets/{wc-tray-BdgbNPhM.js → wc-tray-BLqE4RP_.js} +4 -4
  108. package/dist/ui/assets/welcome-detection-e5PqkJPl.js +1 -0
  109. package/dist/ui/assets/{xai-grok-CVEtAfJK.js → xai-grok-B-Ekm4Mp.js} +1 -1
  110. package/dist/ui/assets/{xai-grok-DH1oX2E5.js → xai-grok-CHr7urYe.js} +1 -1
  111. package/dist/ui/index.html +6 -5
  112. package/dist/ui/packages/webapp/index.html +6 -5
  113. package/package.json +5 -4
  114. package/dist/ui/assets/fs-BsqtoiKD.js +0 -2
  115. package/dist/ui/assets/github-DGUqMidV.js +0 -1
  116. package/dist/ui/assets/github-DqsEulTB.js +0 -2
  117. package/dist/ui/assets/intercepted-oauth-BIKnTjZm.js +0 -1
  118. package/dist/ui/assets/lick-ws-bridge-1UPwiSVX.js +0 -1
  119. package/dist/ui/assets/local-llm-Cjzjpqa1.js +0 -2
  120. package/dist/ui/assets/logger-DQgFbfwx.js +0 -1
  121. package/dist/ui/assets/main-BK-7ArIz.js +0 -22
  122. package/dist/ui/assets/main-cherry-C6fqCnLL.js +0 -1
  123. package/dist/ui/assets/navigation-watcher-DrWMx-B4.js +0 -1
  124. package/dist/ui/assets/new-session-CF4YpiQ9.js +0 -2
  125. package/dist/ui/assets/oauth-bootstrap-YFOy1SIX.js +0 -2
  126. package/dist/ui/assets/oauth-service-DJuzPXsg.js +0 -1
  127. package/dist/ui/assets/provider-BLbTGk-_.js +0 -2
  128. package/dist/ui/assets/provider-settings-Dq-yRgMh.js +0 -1
  129. package/dist/ui/assets/provider-store-access-CJdYrcvf.js +0 -1
  130. package/dist/ui/assets/provider-store-access-NHOQWINx.js +0 -1
  131. package/dist/ui/assets/providers-B3OPYf2o.js +0 -2
  132. package/dist/ui/assets/secrets-bridge-client-CHZomqvU.js +0 -1
  133. package/dist/ui/assets/sidecar-repair-Ddcz9Mvv.js +0 -1
  134. package/dist/ui/assets/slicc-version-BrPYMXS9.js +0 -1
  135. package/dist/ui/assets/state-BSTmV4yO.js +0 -42
  136. package/dist/ui/assets/tray-leader-B_FxjW0d.js +0 -1
  137. package/dist/ui/assets/tray-runtime-config-Bpo7AZhY.js +0 -1
  138. package/dist/ui/assets/tray-runtime-config-Dv3NVv5v.js +0 -1
  139. package/dist/ui/assets/wc-extension-Dg5dOqTK.js +0 -2
  140. package/dist/ui/assets/wc-floatbar-online-B8ug4UwE.js +0 -1
  141. package/dist/ui/assets/wc-follower-G03aUmAn.js +0 -17
  142. package/dist/ui/assets/wc-nav-D8Bi3zRA.js +0 -2
  143. package/dist/ui/assets/wc-transcript-export-DjpmBvLP.js +0 -2
  144. package/dist/ui/assets/welcome-detection-0SaDZUV0.js +0 -1
@@ -1 +0,0 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{t}from"./handoff-link-BObMRgsx.js";function n(e){for(let t of e)if(t.rel.includes(`ai-catalog`))return{kind:`ai-catalog`,url:t.href};return null}var r=[{kind:`ai-catalog`,path:`/.well-known/ai-catalog.json`},{kind:`llms-txt`,path:`/llms.txt`}],i=3e3;async function a(e,t,n={}){let a=n.timeoutMs??i,s;try{s=new URL(e).origin}catch{return[]}return(await Promise.all(r.map(e=>o(s,e,t,a)))).filter(e=>e!==null)}async function o(e,t,n,r){let i=e+t.path,a=new AbortController,o=setTimeout(()=>a.abort(Error(`timeout`)),r);try{let e=await n(i,{method:`GET`,signal:a.signal,redirect:`manual`,credentials:`omit`});return e.status!==200||!s(e.headers.get(`content-type`),t.kind)?null:{kind:t.kind,url:i}}catch{return null}finally{clearTimeout(o)}}function s(e,t){if(e==null)return!0;let n=e.toLowerCase();return n.length===0?!0:n.includes(`text/html`)||n.includes(`application/xhtml`)?!1:t===`ai-catalog`?n.includes(`json`)||n.includes(`text/plain`)||n.includes(`octet-stream`):n.includes(`text/plain`)||n.includes(`markdown`)||n.includes(`octet-stream`)}var c=e(`navigation-watcher`);function l(e,n){return t(e,n)}var u=class{transport;onEvent;sessions=new Map;started=!1;onDiscovery;probeFetch;isDiscoveryEnabled;probeTimeoutMs;probedOrigins=new Set;onAttachedToTarget=e=>{this.handleAttachedToTarget(e)};onDetachedFromTarget=e=>{let t=e.sessionId;t&&this.sessions.delete(t)};onTargetInfoChanged=e=>{let t=e.targetInfo;if(t?.targetId)for(let e of this.sessions.values())e.targetId===t.targetId&&(typeof t.title==`string`&&(e.title=t.title),typeof t.url==`string`&&(e.url=t.url))};onTargetCreated=e=>{this.handleTargetCreated(e)};onFrameNavigated=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n)return;let r=e.frame;r?.id&&(r.parentId||(n.rootFrameId=r.id,typeof r.url==`string`&&(n.url=r.url)))};onResponseReceived=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n||e.type!==`Document`)return;let r=e.frameId;if(!r||r!==n.rootFrameId)return;let i=e.response;if(!i)return;let a=typeof i.url==`string`&&i.url.length>0?i.url:n.url;if(!a)return;let{match:o,links:s}=l(i.headers,a);if(o){let e={url:a,verb:o.verb,target:o.target,links:s,targetId:n.targetId};o.instruction!=null&&(e.instruction=o.instruction),o.branch!=null&&(e.branch=o.branch),o.path!=null&&(e.path=o.path),n.title!=null&&(e.title=n.title),this.onEvent(e)}this.maybeRunDiscovery(a,s,n.targetId)};constructor(e,t,n={}){this.transport=e,this.onEvent=t,this.onDiscovery=n.onDiscovery,this.probeFetch=n.probeFetch,this.isDiscoveryEnabled=n.isDiscoveryEnabled??(()=>!0),this.probeTimeoutMs=n.probeTimeoutMs}maybeRunDiscovery(e,t,r){if(!this.onDiscovery||!this.isDiscoveryEnabled())return;let i;try{i=new URL(e).origin}catch{return}let a=n(t);a&&this.onDiscovery({origin:i,kind:a.kind,url:a.url,targetId:r}),this.probeFetch&&!this.probedOrigins.has(i)&&(this.probedOrigins.add(i),this.runWellKnownProbe(i,r))}async runWellKnownProbe(e,t){if(!(!this.probeFetch||!this.onDiscovery))try{let n=await a(e,this.probeFetch,{timeoutMs:this.probeTimeoutMs});for(let r of n)this.onDiscovery({origin:e,kind:r.kind,url:r.url,targetId:t})}catch(t){c.debug(`Well-known discovery probe failed`,{origin:e,error:t instanceof Error?t.message:String(t)})}}async start(){if(!this.started){this.transport.on(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.on(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.on(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.on(`Target.targetCreated`,this.onTargetCreated),this.transport.on(`Page.frameNavigated`,this.onFrameNavigated),this.transport.on(`Network.responseReceived`,this.onResponseReceived);try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!0})}catch(e){c.error(`Failed to enable target discovery`,{error:e instanceof Error?e.message:String(e)}),this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived);return}this.started=!0;try{let e=(await this.transport.send(`Target.getTargets`)).targetInfos??[];for(let t of e){if(t.type!==`page`)continue;let e=t.attached===!0,n=t.targetId;if(!(e||typeof n!=`string`))try{await this.transport.send(`Target.attachToTarget`,{targetId:n,flatten:!0})}catch(e){c.debug(`Failed to attach to preexisting target`,{targetId:n,error:e instanceof Error?e.message:String(e)})}}}catch(e){c.debug(`Failed to enumerate preexisting targets`,{error:e instanceof Error?e.message:String(e)})}}}async stop(){if(this.started){this.started=!1,this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived),this.sessions.clear();try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!1})}catch(e){c.debug(`Failed to disable target discovery on stop`,{error:e instanceof Error?e.message:String(e)})}}}async handleTargetCreated(e){let t=e.targetInfo;if(t?.type===`page`&&typeof t.targetId==`string`&&!t.attached)try{await this.transport.send(`Target.attachToTarget`,{targetId:t.targetId,flatten:!0})}catch(e){c.debug(`Failed to attach to discovered target`,{targetId:t.targetId,error:e instanceof Error?e.message:String(e)})}}async handleAttachedToTarget(e){let t=e.sessionId,n=e.targetInfo;if(!(!t||!n||n.type!==`page`||typeof n.targetId!=`string`)){this.sessions.set(t,{targetId:n.targetId,rootFrameId:null,title:n.title,url:n.url});try{await this.transport.send(`Page.enable`,{},t),await this.transport.send(`Network.enable`,{},t);let e=(await this.transport.send(`Page.getFrameTree`,{},t)).frameTree?.frame;if(e?.id&&typeof e.id==`string`){let n=this.sessions.get(t);n&&(n.rootFrameId=e.id)}}catch(e){c.debug(`Failed to enable Page/Network on attached target`,{sessionId:t,error:e instanceof Error?e.message:String(e)})}}}};export{l as n,u as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-CcFoANd_.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-Bg1KKHOx.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-ZLR7gmJ4.js"])))=>i.map(i=>d[i]);
2
- import{L as e,m as t}from"./account-store-Bg1KKHOx.js";import{t as n}from"./preload-helper-Czpn1I53.js";import{t as r}from"./logger-DDBAeTLF.js";import{A as i,M as a,O as o,R as s,j as c,k as l}from"./wc-live-CiwhsK8i.js";import{r as u}from"./feature-flags-ByMXaIc4.js";import"./main-BK-7ArIz.js";import{t as d}from"./llm-session-id-bZQs6gBN.js";var f=r(`new-session`),p=`ui-new-session`,m=2e4,h=250;async function g(n){try{let r=await n.openVfs(),i=t()??void 0;if(!i)return;let o;try{o=e()}catch{return}let s=o.provider===`adobe`?{"X-Session-Id":d(p)}:void 0;await a({vfs:r,model:o,apiKey:i,headers:s}),n.onComplete?.()}catch(e){f.warn(`Pending session catch-up failed (boot continues)`,{error:e instanceof Error?e.message:String(e)})}}function _(e){(e.schedule??v)(()=>{g(e)})}function v(e){if(typeof globalThis.requestIdleCallback==`function`){globalThis.requestIdleCallback(e,{timeout:5e3});return}setTimeout(e,0)}function y(e){if(u(`agentic-memory`)){if(!e.agenticMemorySpawn){f.info(`Agentic memory enabled but agent bridge unavailable — using legacy enrichment`);return}return e.agenticMemorySpawn}}async function b(e,t,n,r,a,o){let s=await i({sessionStore:t,vfs:e.vfs,mode:`quick`,agenticMemorySpawn:o,cone:e.cone});if(!s)return null;if(e.captureCompleteSnapshot)try{await e.captureCompleteSnapshot(s)}catch(t){let n=t?.code??`unknown`;f.warn(`captureCompleteSnapshot failed`,{code:n}),s.completeSnapshotUnavailable=!0;try{await c(e.vfs,s.filename)}catch{}}return x(e,t,n,r,a,o,s),s}async function x(e,t,r,i,a,s,c){let u=c;try{let t=await l(e.vfs,c,{model:r,apiKey:i,headers:a,skipMemory:!0,pickIcon:e=>n(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcFoANd_.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({pickLucideIcon:t})=>t(e))});t&&(u={...t,archive:c.archive},e.onBackgroundEnriched?.(t))}catch(e){f.warn(`Agentic title enrichment threw (draft stays pending)`,{filename:c.filename,error:e instanceof Error?e.message:String(e)})}let d=await o({sessionStore:t,vfs:e.vfs,mode:`full`,model:r,apiKey:i,headers:a,agenticMemorySpawn:s,cone:e.cone},u).catch(e=>(f.warn(`Agentic memory curator threw (entry stays pending)`,{filename:u.filename,error:e instanceof Error?e.message:String(e)}),null));f.info(`Agentic memory curator finished`,{filename:u.filename,memoryPending:!d||d.memoryPending===!0}),e.onBackgroundEnriched?.(d)}function S(e){return e?.code===`ENOENT`}function C(e,t){return e===t||t.startsWith(e.endsWith(`/`)?e:`${e}/`)}async function w(e,t,n,r){for(let i of n){let n=`${t}/${i.name}`;if(!r.has(n)){if(i.type===`directory`){let t;try{t=await e.readDir(n)}catch(e){if(S(e))continue;throw e}if(await w(e,n,t,r),[...r].some(e=>e.startsWith(`${n}/`)))continue}try{await e.rm(n)}catch(e){if(!S(e))throw e}}}}async function T(e,t){let n=(await e.listMountPoints()).map(({path:e})=>e);if(n.some(e=>C(e,t)))return;let r=new Set(n.filter(e=>e.startsWith(`${t}/`))),i;try{i=await e.readDir(t)}catch(n){if(n?.code!==`ENOENT`)throw n;await e.mkdir(t,{recursive:!0});return}await w(e,t,i,r),await e.mkdir(t,{recursive:!0})}async function E(r){let a=r.enrichmentRaceMs??m,o=t()??void 0,u;try{u=e()}catch(e){f.info(`No active model — freezing without LLM enrichment`,{error:e instanceof Error?e.message:String(e)})}let h=u?.provider===`adobe`?{"X-Session-Id":d(p)}:void 0,g=new s;try{await g.init()}catch(e){return f.warn(`SessionStore init failed — cannot freeze`,{error:e instanceof Error?e.message:String(e)}),null}let _=o&&u?y(r):void 0;if(_)return await b(r,g,u,o,h,_);let v=await i({sessionStore:g,vfs:r.vfs,mode:`quick`,cone:r.cone});if(!v)return null;if(r.captureCompleteSnapshot)try{await r.captureCompleteSnapshot(v)}catch(e){let t=e?.code??`unknown`;f.warn(`captureCompleteSnapshot failed`,{code:t}),v.completeSnapshotUnavailable=!0;try{await c(r.vfs,v.filename)}catch{}}if(!o||!u)return f.info(`Frozen without enrichment (no LLM credentials) — left pending`,{filename:v.filename}),v;let x=u,S=l(r.vfs,v,{model:x,apiKey:o,headers:h,pickIcon:e=>n(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcFoANd_.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({pickLucideIcon:t})=>t(e))}).catch(e=>(f.warn(`Single-click enrichment threw (entry stays pending)`,{filename:v.filename,error:e instanceof Error?e.message:String(e)}),null)),C=await D(S,a,r.onProgress);return C.kind===`llm`?C.updated?{...C.updated,archive:v.archive}:v:(S.then(e=>{f.info(`Background enrichment resolved after race window`,{filename:v.filename,enriched:e?.filename??null}),r.onBackgroundEnriched?.(e)}),v)}async function D(e,t,n){let r=Date.now(),i,a;n?.(0),n&&(i=setInterval(()=>{n(Math.min(1,(Date.now()-r)/t))},h));let o=new Promise(e=>{a=setTimeout(()=>e({kind:`timer`}),t)}),s=e.then(e=>({kind:`llm`,updated:e}));try{return await Promise.race([s,o])}finally{i&&clearInterval(i),a&&clearTimeout(a),n?.(null)}}async function O(e){return A(e,void 0)}async function k(e){return A(e,`skip`)}async function A(e,t){let n=new s;try{await n.init()}catch(e){return f.warn(`SessionStore init failed — cannot quick-freeze`,{error:e instanceof Error?e.message:String(e)}),null}let r=await i({sessionStore:n,vfs:e.vfs,mode:`quick`,cone:e.cone,...t?{memory:t}:{}});if(r&&e.captureCompleteSnapshot)try{await e.captureCompleteSnapshot(r)}catch(t){let n=t?.code??`unknown`;f.warn(`captureCompleteSnapshot failed (quick-freeze)`,{code:n}),r.completeSnapshotUnavailable=!0;try{await c(e.vfs,r.filename)}catch{}}return r}export{T as resetNewSessionTmp,k as runNewSessionArchiveOnly,E as runNewSessionFreeze,O as runNewSessionFreezeQuick,_ as schedulePendingSessionCatchup};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-BLbTGk-_.js","assets/account-store-Bg1KKHOx.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/global-db-CbuLl-zx.js","assets/pkce-hGf_TEnP.js","assets/types-idfTVsM8.js"])))=>i.map(i=>d[i]);
2
- import{H as e,d as t}from"./account-store-Bg1KKHOx.js";import{t as n}from"./preload-helper-Czpn1I53.js";import{t as r}from"./logger-DDBAeTLF.js";import{t as i}from"./providers-B3OPYf2o.js";import"./main-BK-7ArIz.js";import"./logger-BoSvu4mW.js";var a=r(`oauth-bootstrap`),o=6e4;function s(e){return e instanceof Error?e.message:String(e)}async function c(){try{let{ensureAllMcpProvidersRegistered:e}=await n(async()=>{let{ensureAllMcpProvidersRegistered:e}=await import(`./provider-BLbTGk-_.js`);return{ensureAllMcpProvidersRegistered:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),t=await e();t.length>0&&a.debug(`Pre-registered MCP providers for OAuth bootstrap`,{count:t.length})}catch(e){a.warn(`Failed to pre-register MCP providers for OAuth bootstrap`,{error:s(e)})}}function l(e){return(e.tokenExpiresAt??1/0)-Date.now()<=o}async function u(e){let t=i(e.providerId);if(!t?.onSilentRenew){a.debug(`Skipping expired account (no silent-renew hook)`,{providerId:e.providerId});return}try{if(await t.onSilentRenew()){a.info(`Silently renewed OAuth token`,{providerId:e.providerId});return}a.warn(`Silent renewal yielded no token; user must re-authenticate`,{providerId:e.providerId})}catch(t){a.warn(`Silent renewal failed`,{providerId:e.providerId,error:s(t)})}}async function d(t,n){try{await e({providerId:t.providerId,accessToken:n,refreshToken:t.refreshToken,tokenExpiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar}),a.debug(`Bootstrapped OAuth replica`,{providerId:t.providerId})}catch(e){a.error(`OAuth bootstrap failed`,{providerId:t.providerId,error:s(e)})}}async function f(e){let t=e.accessToken;if(!t){a.debug(`Skipping account without token`,{providerId:e.providerId});return}if(l(e)){await u(e);return}await d(e,t)}async function p(){await c();let e=t();a.info(`Bootstrap OAuth replicas`,{count:e.length});for(let t of e)await f(t)}export{p as bootstrapOAuthReplicas};
@@ -1 +0,0 @@
1
- import{t as e}from"./preload-helper-Czpn1I53.js";import"./proxied-fetch-CFWkfPNA.js";import{n as t}from"./runtime-env-Dlaokqg1.js";import{i as n,t as r}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{t as i}from"./panel-rpc-B3MSVImO.js";import{t as a}from"./permissions-surface-registry-CilCRwhh.js";var o=12e4;function s(e,t){return t.endsWith(`*`)?e.startsWith(t.slice(0,-1)):e===t||e.startsWith(`${t}?`)||e.startsWith(`${t}#`)}function c(e){return e.endsWith(`*`)?e:`${e}*`}function l(e,t){if(!t||t.length===0)return e;let n=e;for(let e of t)if(n.includes(e.match)){if(e.replaceUrl){n=e.replaceUrl;continue}if(e.appendParams)try{let t=new URL(n);for(let[n,r]of Object.entries(e.appendParams))t.searchParams.set(n,r);n=t.toString()}catch{}}return n}function u(e){return async t=>{let n=t.timeoutMs??o,r=t.rewrite??[],i=t.onCapture??`close`,a,u,d=!1,f=null,p=async()=>{if(u){try{await e.send(`Fetch.disable`,{},u)}catch{}try{await e.send(`Target.detachFromTarget`,{sessionId:u})}catch{}}if(a&&i===`close`)try{await e.send(`Target.closeTarget`,{targetId:a})}catch{}};return await new Promise(i=>{let o=async t=>{d||(d=!0,clearTimeout(h),e.off(`Fetch.requestPaused`,m),await p(),i(t))},m=n=>{let i=n;if(!i?.request?.url||!u||(typeof n.sessionId==`string`?n.sessionId:void 0)!==u)return;if(s(i.request.url,t.redirectUriPattern)){f=i.request.url,e.send(`Fetch.failRequest`,{requestId:i.requestId,errorReason:`Aborted`},u).catch(()=>{}),o(f);return}let a=l(i.request.url,r);if(a!==i.request.url){e.send(`Fetch.continueRequest`,{requestId:i.requestId,url:a},u).catch(e=>{console.warn(`[intercepted-oauth] continueRequest (rewrite) failed:`,e instanceof Error?e.message:String(e))});return}e.send(`Fetch.continueRequest`,{requestId:i.requestId},u).catch(()=>{})},h=setTimeout(()=>{o(null)},n);(async()=>{try{a=(await e.send(`Target.createTarget`,{url:`about:blank`})).targetId,u=(await e.send(`Target.attachToTarget`,{targetId:a,flatten:!0})).sessionId,e.on(`Fetch.requestPaused`,m),await e.send(`Fetch.enable`,{patterns:[{urlPattern:c(t.redirectUriPattern),requestStage:`Request`},...r.map(e=>({urlPattern:`*${e.match}*`,requestStage:`Request`}))]},u),await e.send(`Page.navigate`,{url:t.authorizeUrl},u)}catch(e){console.error(`[intercepted-oauth] setup failed:`,e instanceof Error?e.message:String(e)),o(null)}})()})}}var d=t(),f=class extends Error{constructor(e){super(e),this.name=`OAuthLaunchError`}};async function p(){if(typeof window<`u`)return!1;let e=i();if(!e)return!1;try{return(await e.call(`oauth-route`,{},{timeoutMs:5e3})).delegate===!0}catch{return!1}}function m(){return d?w:typeof window>`u`?v:y}async function h(){let e=await g();return e?u(e):null}async function g(){try{let{getActiveCdpTransport:t}=await e(async()=>{let{getActiveCdpTransport:e}=await import(`./active-transport-BIjzxdwv.js`);return{getActiveCdpTransport:e}},[]);return await t()}catch(e){return console.warn(`[oauth-service] could not resolve active CDP transport:`,e instanceof Error?e.message:String(e)),null}}async function _(){if(typeof window<`u`)return{origin:window.location.origin,href:window.location.href};let e=i();if(!e)throw Error(`OAuth from worker context requires the panel-RPC bridge (no page-info available)`);let t=await e.call(`page-info`,void 0);return{origin:t.origin,href:t.href}}async function v(e){let t=i();if(!t)return console.error(`[oauth-service] panel-RPC client unavailable in worker`),null;try{let n=await t.call(`oauth-popup`,{url:e},{timeoutMs:13e4});if(!n.redirectUrl&&n.error)throw new f(n.error);return n.redirectUrl}catch(e){if(e instanceof f)throw e;return console.error(`[oauth-service] oauth-popup RPC failed:`,e instanceof Error?e.message:String(e)),null}}async function y(e){if(b())return x(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let t=a();if(t){let n=await S(t,e);return n===void 0?null:x(n)}return x(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function b(){return(typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0}function x(e){return new Promise(t=>{let i=!1,a=null,o=null,s=()=>{i||(i=!0,window.removeEventListener(`message`,c),clearTimeout(l),a&&clearInterval(a),o&&clearInterval(o))},c=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(s(),n.data.error){console.error(`[oauth-service] CLI OAuth error:`,n.data.error),t(null);return}let r=n.data.redirectUrl;(typeof r==`string`||r==null)&&t(r??null)};window.addEventListener(`message`,c),a=setInterval(async()=>{if(!i)try{let e=await fetch(n(`/api/oauth-result`),{headers:r()});if(e.status===204||!e.ok)return;let a=await e.json();if(i)return;if(s(),a.error){console.error(`[oauth-service] Server relay OAuth error:`,a.error),t(null);return}t(a.redirectUrl??null)}catch(e){console.warn(`[oauth-service] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3),e&&(o=setInterval(()=>{e.closed&&(clearInterval(o),o=null,setTimeout(()=>{i||(s(),t(null))},1500))},500));let l=setTimeout(()=>{s();try{e?.close()}catch{}t(null)},12e4)})}async function S(e,t){let n=await e.prompt({kinds:[`popup`],description:`Continue to sign in. A new window will open to the provider.`,grantLabel:`Continue`,requestOptions:{popup:{url:t}}});if(n.status!==`granted`)return;let r=n.grants.find(e=>e.kind===`popup`);return r&&r.kind===`popup`?r.window:null}async function C(e,t=18e4){if(typeof window>`u`||d)return;let n=window.open(e,`_blank`,`width=500,height=600,popup=yes`);if(!n){console.warn(`[oauth-service] Could not open IdP logout popup — popups may be blocked`);return}await new Promise(e=>{let r=setTimeout(()=>{clearInterval(i);try{n.close()}catch{}e()},t),i=setInterval(()=>{n.closed&&(clearTimeout(r),clearInterval(i),e())},500)})}async function w(e,t){let n=chrome.runtime;return new Promise(r=>{let i=!1,a=()=>{i||(i=!0,n.onMessage.removeListener(o),clearTimeout(s))},o=e=>{if(typeof e!=`object`||!e)return;let t=e;if(t.source===`service-worker`&&t.payload?.type===`oauth-result`){if(a(),t.payload.error){console.error(`[oauth-service] Extension OAuth error:`,t.payload.error),r(null);return}r(t.payload.redirectUrl??null)}};n.onMessage.addListener(o),n.sendMessage({source:`panel`,payload:{type:`oauth-request`,providerId:`oauth`,authorizeUrl:e,interactive:t?.interactive??!0}}).catch(e=>{console.error(`[oauth-service] Failed to send OAuth request to service worker:`,e)});let s=setTimeout(()=>{a(),r(null)},12e4)})}export{h as createInterceptingOAuthLauncherForCurrentRuntime,m as createOAuthLauncher,_ as getOAuthPageOrigin,C as openIdpLogoutUrl,p as resolveOAuthDelegation};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-BsqtoiKD.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/tool-ui-DfXu6quJ.js","assets/path-utils-DNJG-zQf.js","assets/types-idfTVsM8.js","assets/virtual-device-paths-D45tpPP6.js","assets/picker-approval-D89YhXsA.js","assets/html-B_Hg2WOy.js","assets/mount-picker-popup-C4q1Q3pK.js","assets/picker-popup-bwFI7R4q.js","assets/runtime-env-Dlaokqg1.js","assets/runtime-env-E-i2SW1s.js","assets/src-CAWTvdAa.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/oauth-service-DJuzPXsg.js","assets/runtime-env-CgsZ7LTp.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
- import{H as e,S as t,d as n}from"./account-store-Bg1KKHOx.js";import{t as r}from"./preload-helper-Czpn1I53.js";import{t as i}from"./logger-DDBAeTLF.js";import{n as a}from"./float-topology-BYb7rxY5.js";import{i as o}from"./providers-B3OPYf2o.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./pkce-hGf_TEnP.js";import{t as d}from"./types-idfTVsM8.js";var f=i(`mcp-store`),p=`/workspace/.mcp/servers.json`,m=1,h=null,g=null;async function _(){return h||=await r(()=>import(`./fs-BsqtoiKD.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])),h}async function v(e){if(e)return e;if(g&&g.dbName===`slicc-fs-global`)return g.instance;let{VirtualFS:t}=await _(),n=await t.create({dbName:s});return g={instance:n,dbName:s},n}function y(){return{version:m,servers:{}}}function b(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function x(e){if(!b(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function S(e){if(!b(e))return y();let t=e,n=typeof t.version==`number`?t.version:m,r={};if(b(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=x(n);t&&(r[e]=t)}return{version:n,servers:r}}async function C(e){try{let t=await(await v(e)).readFile(p,{encoding:`utf-8`});try{return S(JSON.parse(t))}catch(e){return f.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),y()}}catch(e){return e instanceof d&&e.code===`ENOENT`||f.warn(`Failed to read servers.json`,{error:e instanceof Error?e.message:String(e)}),y()}}async function w(e){return(await C(e)).servers}async function T(){let e=await w(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}var E=i(`mcp-oauth`);function D(e,t){let{discoveryPath:n,prmUrl:r,prmReason:i,asmUrl:a,asmReason:o}=t;if(!e)throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}): ${o}.`:`ASM fetch failed: ${o} (${a})`);if(!(e.authorization_endpoint&&e.token_endpoint))throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${a} is missing required endpoints`)}async function O(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;E.debug(`Fetching PRM`,{prmUrl:i});try{let e=await n(i,{headers:{Accept:`application/json`}});if(!e.ok)o=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?o=`lists no authorization_servers`:a=t}}catch(e){o=e instanceof Error?e.message:String(e)}let s,c,l;a?.authorization_servers&&a.authorization_servers.length>0?(s=a.authorization_servers[0].replace(/\/+$/,``),c=`${s}/.well-known/oauth-authorization-server`,l=`prm`,E.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,E.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;E.debug(`Fetching ASM`,{asmUrl:c});try{let e=await n(c,{headers:{Accept:`application/json`}});e.ok?u=await e.json():d=`${e.status} ${e.statusText}`}catch(e){d=e instanceof Error?e.message:String(e)}return D(u,{discoveryPath:l,prmUrl:i,prmReason:o,asmUrl:c,asmReason:d}),{issuer:u.issuer||s,authorizationEndpoint:u.authorization_endpoint,tokenEndpoint:u.token_endpoint,registrationEndpoint:u.registration_endpoint,supportedScopes:u.scopes_supported??a?.scopes_supported,codeChallengeMethods:u.code_challenge_methods_supported,grantTypes:u.grant_types_supported,discoveryPath:l}}function k(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function A(e){let t=c();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await u(t),method:e}}function j(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function M(e){let t=await A(k(e.asMetadata.codeChallengeMethods)),n=l(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let i=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,a=await e.launcher(i);if(!a)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:o,state:s}=j(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return P({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function N(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function P(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return N(r)}async function F(e){let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return N(r)}var I=`/auth/mcp-callback`;async function L(){let e=a();if(e===`extension-direct`){let e=chrome;return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime?.id??``}.chromiumapp.org/mcp-callback`}if(e===`node-rest`){let{getLocalApiBaseUrl:e}=await r(async()=>{let{getLocalApiBaseUrl:e}=await import(`./proxied-fetch-CFWkfPNA.js`).then(e=>e.n);return{getLocalApiBaseUrl:e}},__vite__mapDeps([16,1,2,17,14,12,18,19])),t=e();if(t)return`${t}/auth/callback`}let{getOAuthPageOrigin:t}=await r(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-DJuzPXsg.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([20,2,16,1,17,14,12,18,19,21,13,22,23])),{origin:n}=await t();return`${n}${e===`extension-delegate`?I:`/auth/callback`}`}var R=i(`mcp-provider`),z=`mcp:`;function B(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function V(e){return`${z}${e}`}var H=new Map,U=new Set;async function W(e){if(e)return e;let{createProxiedFetch:t}=await r(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-CFWkfPNA.js`).then(e=>e.n);return{createProxiedFetch:e}},__vite__mapDeps([16,1,2,17,14,12,18,19])),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function G(e){let t=H.get(V(e.name));if(t)return t;let n=await W(e.fetchImpl),r=await O(e.serverUrl,void 0,n);return H.set(V(e.name),r),r}function K(r){let i=V(r.name),a=(()=>{try{return new URL(r.serverUrl).host}catch{return``}})();return{id:i,name:`MCP: ${r.name}`,description:`MCP server at ${r.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:a?[a]:[],getModelIds:()=>[],onOAuthLogin:async(t,n)=>{let a=r.launcher??t,o=await W(r.fetchImpl),s=await M({asMetadata:await G(r),clientId:r.auth.clientId,scope:r.auth.scope,redirectUri:r.auth.redirectUri??await L(),launcher:a,fetchImpl:o});await e({providerId:i,accessToken:s.accessToken,refreshToken:s.refreshToken,tokenExpiresAt:s.expiresAt,scopes:s.scope}),n()},onSilentRenew:async()=>{if(!t(i))return null;let a=n().find(e=>e.providerId===i),o=a?.refreshToken;if(!o)return R.info(`No refresh token for MCP provider, skipping silent renewal`,{id:i}),null;try{let t=await G(r),n=t.grantTypes??[];if(n.length>0&&!n.includes(`refresh_token`))return R.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:i}),null;let s=await W(r.fetchImpl),c=await F({tokenEndpoint:t.tokenEndpoint,clientId:r.auth.clientId,refreshToken:o,scope:r.auth.scope,fetchImpl:s});return await e({providerId:i,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return R.warn(`MCP silent renewal failed`,{id:i,error:e instanceof Error?e.message:String(e)}),null}}}}function q(e){let t=V(e.name);if(U.has(t))return;let n=K(e);o(n),U.add(t),R.debug(`Registered MCP provider`,{id:t})}async function J(){if(!B())return[];let{readMcpAuthEntries:e}=await r(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-CJdYrcvf.js`);return{readMcpAuthEntries:e}},[]),t=await e(),n=[];for(let e of t)q({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),n.push(V(e.name));return n}export{J as ensureAllMcpProvidersRegistered,T as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./src-CcFD5QfS.js";import"./account-store-8sKKUZ8J.js";import"./core-DpOt0gTq.js";import"./tray-runtime-config-Dv3NVv5v.js";import"./telemetry-BwapcULJ.js";e(`provider-settings`);
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-BLbTGk-_.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-CzQ9Fvfr.js";export{e as readMcpAuthEntries};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-DoQszniP.js","assets/account-store-Bg1KKHOx.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/transform-messages-BsQjTIEJ.js","assets/bedrock-camp-CXENmlAs.js","assets/temperature-support-BZ2SNscA.js","assets/local-llm-OBHKAcNH.js","assets/legacy-api-aliases-7-tLus57.js","assets/adobe-ChXsF6gw.js","assets/silent-renew-backoff-t_Cd4Zw7.js","assets/main-BK-7ArIz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/runtime-env-CgsZ7LTp.js","assets/telemetry-BVzuNdvW.js","assets/messages-BD4p8GuF.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/oauth-service-DJuzPXsg.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-kH_bQsg2.js","assets/github-copilot-DJf8cE1K.js","assets/github-DqsEulTB.js","assets/global-db-CbuLl-zx.js","assets/openai-codex-DY_L0KSA.js","assets/pkce-hGf_TEnP.js","assets/openrouter-models-2yZlHiFX.js","assets/openrouter-oauth-CblQ27-K.js","assets/openrouter-z7GGvxCM.js","assets/xai-grok-CVEtAfJK.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";var n={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-DoQszniP.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-CgBMwna8.js`).then(e=>e.n),__vite__mapDeps([26,2])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-CXENmlAs.js`),__vite__mapDeps([28,6,5,3,4,7,8,2,9,27,29])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-OBHKAcNH.js`),__vite__mapDeps([30,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-ChXsF6gw.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,33,34,35,36,37,38,39,40,41,42,43,44,45,29,46])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-kH_bQsg2.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-DJf8cE1K.js`),__vite__mapDeps([48,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,34,35,36,37,38,39,40,41,42,43])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-DqsEulTB.js`),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,40,38,34,35,36,37,39,41,42,43,44,45,50])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-DY_L0KSA.js`),__vite__mapDeps([51,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,34,35,36,37,38,39,40,41,42,43,52])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-2yZlHiFX.js`),__vite__mapDeps([53,9])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-CblQ27-K.js`),__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,34,35,36,37,38,39,40,41,42,43,52])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-z7GGvxCM.js`),__vite__mapDeps([55,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,34,35,36,37,38,39,40,41,42,43,53,54,52])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-CVEtAfJK.js`),__vite__mapDeps([56,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,34,35,36,37,38,39,40,41,42,43,52,57]))}),c=new Map,l=null;function u(){return l===null&&(l=(async()=>{let e=await Promise.all(Object.values(o).map(e=>e()));for(let t of e)t.config&&a(t.config.id)&&(c.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(s).map(e=>e()));for(let e of t)e.config&&(c.set(e.config.id,e.config),e.register?.())})()),l}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./port-bridge-client-Cti-DmEY.js";var n=e({callSecretsBridge:()=>i}),r=t({portName:`secrets.crud`,panelRpcOp:`secrets-bridge`,timeoutMs:1e4,onUnavailable:`resolve-undefined`,makeError:e=>Error(e),logNamespace:`secrets-bridge`,toPortMessage:({type:e,payload:t})=>({type:e,...t}),toPanelRpcPayload:({type:e,payload:t})=>({type:e,payload:t})});function i(e,t){return r({type:e,payload:t})}export{n,i as t};
@@ -1 +0,0 @@
1
- import{a as e,r as t}from"./fs-BsqtoiKD.js";export{t as repairOpfsMetadataSidecar,e as resolveWithSidecarRepair};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.110.2`,releasedAt:`2026-08-29T09:48:14Z`,buildId:`6.110.2-mte76qn3`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
@@ -1,42 +0,0 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./logger-DQgFbfwx.js";import{n as t}from"./panel-rpc-BPwAqRch.js";import{t as n}from"./base64-DzRgusa4.js";import"./src-CcFD5QfS.js";import{t as r}from"./types-idfTVsM8.js";import"./tray-runtime-config-Dv3NVv5v.js";import"./fs-DKRiXKHo.js";function i(e){return e==null?[]:Array.isArray(e)?e:[e]}function a(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function o(e,t){e||=[],t||={};var n,r,o,s,c,l={_:[]},u=0,d=0,f=0,p=e.length;let m=t.alias!==void 0,h=t.unknown!==void 0,g=t.default!==void 0;if(t.alias=t.alias||{},t.string=i(t.string),t.boolean=i(t.boolean),m)for(n in t.alias)for(r=t.alias[n]=i(t.alias[n]),u=0;u<r.length;u++)(t.alias[r[u]]=r.concat(n)).splice(u,1);for(u=t.boolean.length;u-->0;)for(r=t.alias[t.boolean[u]]||[],d=r.length;d-->0;)t.boolean.push(r[d]);for(u=t.string.length;u-->0;)for(r=t.alias[t.string[u]]||[],d=r.length;d-->0;)t.string.push(r[d]);if(g){for(n in t.default)if(s=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],t[s]!==void 0)for(t[s].push(n),u=0;u<r.length;u++)t[s].push(r[u])}let _=h?Object.keys(t.alias):[];for(u=0;u<p;u++){if(o=e[u],o===`--`){l._=l._.concat(e.slice(++u));break}for(d=0;d<o.length&&o.charCodeAt(d)===45;d++);if(d===0)l._.push(o);else if(o.substring(d,d+3)===`no-`){if(s=o.substring(d+3),h&&!~_.indexOf(s))return t.unknown(o);l[s]=!1}else{for(f=d+1;f<o.length&&o.charCodeAt(f)!==61;f++);for(s=o.substring(d,f),c=o.substring(++f)||u+1===p||(``+e[u+1]).charCodeAt(0)===45||e[++u],r=d===2?[s]:s,f=0;f<r.length;f++){if(s=r[f],h&&!~_.indexOf(s))return t.unknown(`-`.repeat(d)+s);a(l,s,f+1<r.length||c,t)}}}if(g)for(n in t.default)l[n]===void 0&&(l[n]=t.default[n]);if(m)for(n in l)for(r=t.alias[n]||[];r.length>0;)l[r.shift()]=l[n];return l}function s(e,t){let n=[],r=new Map,i=new Set;for(let a=0;a<e.length;a++){let o=e[a];o.startsWith(`-`)?t.has(o)?r.set(o,e[++a]??``):i.add(o):n.push(o)}return{positionals:n,flags:r,bools:i}}function c(e){let t=new Set(e.string??[]),n=e.alias??{};for(let[e,r]of Object.entries(n)){let n=[e,...Array.isArray(r)?r:[r]];if(n.some(e=>t.has(e)))for(let e of n)t.add(e)}return t}const l=/^(--?)([^=]+)(=.*)?$/;function u(e){let t=new Set(e.string??[]);for(let n of e.boolean??[])t.add(n),t.add(`no-${n}`);for(let[n,r]of Object.entries(e.alias??{})){t.add(n);for(let e of Array.isArray(r)?r:[r])t.add(e)}return t}function d(e,t,n){let r=0;for(;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)||i===`-`)break;let a=l.exec(i);if(!a||!n.has(a[2]))break;!a[3]&&t.has(a[2])&&r+1<e.length&&r++}return r}function f(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=l.exec(i);a&&!a[3]&&t.has(a[2])&&r+1<e.length?(n.push(`${i}=${e[r+1]}`),r++):n.push(i)}return n}function p(e,t={}){let n=e,r=[];if(t[`--`]){let t=e.indexOf(`--`);t!==-1&&(n=e.slice(0,t),r=e.slice(t+1))}let i=c(t),a=n,s=[];if(t.stopEarly){let e=d(n,i,u(t));a=n.slice(0,e),s=n.slice(e)}let{_:l,...p}=o(f(a,i),{string:t.string?[...t.string]:void 0,boolean:t.boolean?[...t.boolean]:void 0,alias:t.alias,default:t.default}),m=t.stopEarly?s:l;return{_:m,positionals:m,flags:p,doubleDashRest:r}}function m(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...Array.from(e.subarray(r,r+n)));return btoa(t)}async function h(e){let t=[];for(let[n,r]of e.entries()){if(typeof r==`string`){t.push({name:n,value:r});continue}let e=new Uint8Array(await r.arrayBuffer());t.push({name:n,file:{data:m(e),filename:typeof r.name==`string`?r.name:`blob`,type:r.type||``}})}return{kind:`formdata`,entries:t}}async function g(e,t){let n=()=>Object.keys(t).some(e=>e.toLowerCase()===`content-type`);return typeof e==`string`?{body:e}:e instanceof URLSearchParams?(n()||(t[`Content-Type`]=`application/x-www-form-urlencoded;charset=UTF-8`),{body:e.toString()}):e instanceof Blob?{descriptor:{kind:`blob`,data:m(new Uint8Array(await e.arrayBuffer())),type:e.type||``}}:e instanceof ArrayBuffer?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e))}}:ArrayBuffer.isView(e)?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}:e instanceof FormData?{descriptor:await h(e)}:(n()||(t[`Content-Type`]=`application/json`),{body:JSON.stringify(e)})}function _(e){return e?`const __b64 = (s) => { const bin = atob(s); const n = bin.length; const u = new Uint8Array(n); for (let i = 0; i < n; i++) u[i] = bin.charCodeAt(i); return u; };const __body = `+JSON.stringify(e)+`;if (__body.kind === 'bytes') { __init.body = __b64(__body.data); }else if (__body.kind === 'blob') { __init.body = new Blob([__b64(__body.data)], { type: __body.type }); }else if (__body.kind === 'formdata') { const __fd = new FormData(); for (const e of __body.entries) { if (e.file) { __fd.append(e.name, new Blob([__b64(e.file.data)], { type: e.file.type }), e.file.filename); } else { __fd.append(e.name, e.value); } } __init.body = __fd; }`:``}function v(e){return`const h = {};r.headers.forEach((v, k) => { h[k] = v; });const ct = r.headers.get('content-type') || '';const __rt = `+JSON.stringify(e??null)+`;const __ctl = ct.toLowerCase();const __binPrefixes = ['image/','audio/','video/','application/octet-stream','application/pdf','application/protobuf','application/x-protobuf','application/wasm','application/zip'];const __isXml = __ctl.indexOf('+xml') !== -1 || __ctl.indexOf('application/xml') === 0 || __ctl.indexOf('text/xml') === 0;const __isBinary = __rt === 'binary' || (__rt !== 'text' && __rt !== 'json' && !__isXml && __binPrefixes.some((p) => __ctl.indexOf(p) === 0));const __meta = { ok: r.ok, status: r.status, statusText: r.statusText, url: r.url, redirected: !!r.redirected, headers: h };if (__isBinary) {const __u = new Uint8Array(await r.arrayBuffer());let __s = ''; const __cs = 0x8000;for (let __i = 0; __i < __u.length; __i += __cs) { __s += String.fromCharCode.apply(null, __u.subarray(__i, __i + __cs)); }return Object.assign(__meta, { body: btoa(__s), bodyEncoding: 'base64' });}const t = await r.text();let b;const __jsonWanted = __rt === 'json' || (__rt !== 'text' && ct.indexOf('application/json') !== -1);if (__jsonWanted) { if (!t) { b = null; } else { try { b = JSON.parse(t); } catch (e) { b = t; } } }else { b = t; }return Object.assign(__meta, { body: b });`}async function y(e,t={}){let n={},r=t.headers??{};for(let[e,t]of Object.entries(r))typeof t==`string`&&(n[e]=t);let i=typeof t.method==`string`?t.method:`GET`,a=t.credentials===`same-origin`||t.credentials===`omit`?t.credentials:`include`,o=t.body,{body:s,descriptor:c}=o==null?{}:await g(o,n),l={method:i,credentials:a,headers:n};s!==void 0&&(l.body=s),t.mode!==void 0&&(l.mode=t.mode),t.cache!==void 0&&(l.cache=t.cache),t.redirect!==void 0&&(l.redirect=t.redirect),t.referrer!==void 0&&(l.referrer=t.referrer),t.referrerPolicy!==void 0&&(l.referrerPolicy=t.referrerPolicy),t.integrity!==void 0&&(l.integrity=t.integrity),t.keepalive!==void 0&&(l.keepalive=t.keepalive);let u=_(c),d=v(t.responseType),f=typeof t.timeoutMs==`number`&&Number.isFinite(t.timeoutMs)&&t.timeoutMs>0?Math.round(t.timeoutMs):0,p=f>0?`__init.signal = AbortSignal.timeout(${f});`:``;return`(async () => {const __init = `+JSON.stringify(l)+`;`+p+u+`const r = await fetch(`+JSON.stringify(e)+`, __init);`+d+`})()`}const b=[`playwright-cli`,`playwright`,`puppeteer`],x=new WeakMap,S=e(`playwright`);function C(e,t){let n=x.get(e);n||(n=new WeakMap,x.set(e,n));let r=n.get(t);return r||(r={snapshots:new Map,appTabId:null,harRecorder:null,sessionDirsCreated:!1,teleportWatchers:new Map,consoleMessages:new Map,consoleCleanup:new Map,networkRequests:new Map,networkRequestIndex:new Map,networkCleanup:new Map,routes:new Map,routeCleanup:new Map,lastMousePosition:new Map},n.set(t,r)),r}function w(e){let t=e.match(/^(f[0-9]+)(e[0-9]+)$/);return t?{framePrefix:t[1],isIframe:!0}:{framePrefix:``,isIframe:!1}}const T=n,E=new Set([`click`,`dblclick`,`fill`,`type`,`press`,`goto`,`navigate`,`select`,`check`,`uncheck`,`drag`,`dialog-accept`,`dialog-dismiss`,`drop`]);function D(e){return e.toISOString().replace(/:/g,`-`)}function O(e){return e instanceof r||typeof e==`object`&&e&&`code`in e?e.code===`EEXIST`:e instanceof Error&&e.message.includes(`EEXIST`)}const k=`function(text) {
2
- const el = this;
3
- const tag = el.tagName;
4
- const proto = tag === 'TEXTAREA' ? window.HTMLTextAreaElement.prototype : window.HTMLInputElement.prototype;
5
- const nativeSetter = Object.getOwnPropertyDescriptor(proto, 'value')?.set;
6
- if (nativeSetter) {
7
- nativeSetter.call(el, text);
8
- } else {
9
- el.value = text;
10
- }
11
- el.dispatchEvent(new Event('input', { bubbles: true }));
12
- el.dispatchEvent(new Event('change', { bubbles: true }));
13
- }`,A=`function() {
14
- const el = this;
15
- if (el.isContentEditable) return el.textContent || '';
16
- return el.value ?? '';
17
- }`,j=`function() {
18
- const el = this;
19
- if (!(el instanceof HTMLElement)) return false;
20
- el.focus();
21
- const emitInput = () => el.dispatchEvent(new Event('input', { bubbles: true }));
22
- if (el.isContentEditable) {
23
- el.textContent = '';
24
- const selection = window.getSelection();
25
- if (selection) {
26
- const range = document.createRange();
27
- range.selectNodeContents(el);
28
- range.collapse(false);
29
- selection.removeAllRanges();
30
- selection.addRange(range);
31
- }
32
- emitInput();
33
- return true;
34
- }
35
- if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || 'value' in el) {
36
- el.value = '';
37
- emitInput();
38
- return true;
39
- }
40
- return false;
41
- }`;async function M(e){let t=await e.evaluate(`JSON.stringify({ href: location.href, hostname: location.hostname, pathname: location.pathname })`);return JSON.parse(t)}const N={string:`tab.frame.filename.max-width.runtime.timeout.filter.output.start.return.teleport-start.teleport-return.teleport-runtime.domain.path.expires.method.depth.modifiers.sameSite.data.status.body.content-type.header.style`.split(`.`),boolean:[`boxes`,`clear`,`discover`,`foreground`,`fg`,`full-page`,`fullPage`,`hide`,`httpOnly`,`list`,`off`,`secure`,`static`,`submit`],alias:{foreground:`fg`,"full-page":`fullPage`}};function P(e){let t=p(e.map(e=>e===`--no-iframes`||e.startsWith(`--no-iframes=`)?e.replace(`--no-iframes`,`--_noiframes`):e),N),n={};for(let[e,r]of Object.entries(t.flags)){let t=e===`_noiframes`?`no-iframes`:e;if(r===!0)n[t]=`true`;else if(r===!1)continue;else r!==void 0&&(n[t]=String(r))}return{positional:t.positionals,flags:n}}function F(e){let t=e.tab;return t?{targetId:t}:{error:`Error: --tab <targetId> is required. Run 'playwright-cli tab-list' to get tab IDs.
42
- `}}async function I(e,t){let n=t.frame;if(!n)return null;let r=(await e.getFrameTree()).find(e=>e.frameId===n);if(r)return r;let i=t.tab??`<targetId>`;throw Error(`Unknown frame ID "${n}" for tab ${i}. Run 'playwright-cli frames --tab=${i}' to list frame IDs.`)}function L(){try{let e=globalThis.localStorage;return e?!!(e.getItem(`slicc.trayWorkerBaseUrl`)||e.getItem(`slicc.trayJoinUrl`)):!1}catch{return!1}}async function R(e){if(typeof e.listAllTargets!=`function`)return e.listPages();let n=await e.listAllTargets(),r=L()?t():null;if(!r)return n;try{let{targets:e}=await r.call(`list-remote-targets`,void 0,{timeoutMs:3e3}),t=new Set(n.map(e=>e.targetId));for(let r of e)t.has(r.targetId)||(t.add(r.targetId),n.push({targetId:r.targetId,title:r.title,url:r.url}))}catch(e){S.debug(`panel-rpc list-remote-targets failed`,{err:String(e)})}return n}async function z(e){try{return await R(e)}catch{return[]}}async function B(e,t,n){if(!(n instanceof Error?n.message:String(n)).includes(`No target with given id found`))return null;for(let n of await z(e))try{if((await e.withTab(n.targetId,async()=>e.getFrameTree())).some(e=>e.frameId===t))return`"${t}" is a frame ID, not a tab target ID. Use --tab=${n.targetId} --frame=${t}; run 'playwright-cli frames --tab=${n.targetId}' to list frame IDs.`}catch{}return null}export{I as _,k as a,s as b,D as c,C as d,O as f,F as g,w as h,N as i,B as l,P as m,j as n,A as o,R as p,b as r,T as s,E as t,M as u,y as v,p as y};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-DDBAeTLF.js";import{i as n,r}from"./proxied-fetch-CFWkfPNA.js";import{n as i}from"./runtime-env-Dlaokqg1.js";import{i as a,t as o}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{o as s}from"./tray-runtime-config-Bpo7AZhY.js";var c=e({getAllCronTasks:()=>T,getAllWebhooks:()=>w,getState:()=>S,setState:()=>C}),l=`slicc-groups`,u=3,d={SCOOPS:`scoops`,MESSAGES:`messages`,SESSIONS:`sessions`,TASKS:`tasks`,STATE:`state`,WEBHOOKS:`webhooks`,CRONTASKS:`crontasks`},f=null;function p(e){if(!e.objectStoreNames.contains(d.MESSAGES)){let t=e.createObjectStore(d.MESSAGES,{keyPath:`id`});t.createIndex(`chatJid`,`chatJid`),t.createIndex(`timestamp`,`timestamp`),t.createIndex(`chatJid_timestamp`,[`chatJid`,`timestamp`])}e.objectStoreNames.contains(d.SESSIONS)||e.createObjectStore(d.SESSIONS,{keyPath:`groupFolder`}),e.objectStoreNames.contains(d.TASKS)||e.createObjectStore(d.TASKS,{keyPath:`id`}).createIndex(`groupFolder`,`groupFolder`),e.objectStoreNames.contains(d.STATE)||e.createObjectStore(d.STATE,{keyPath:`key`})}function m(e,t){let n=e.isMain??!1;return{jid:e.jid,name:e.name,folder:e.folder,trigger:n?void 0:e.trigger||`@${e.folder}`,requiresTrigger:!n&&(e.requiresTrigger??!0),parentJid:n?null:t??null,assistantLabel:n?`sliccy`:e.config?.assistantName||e.folder,addedAt:e.addedAt,config:e.config?{systemPromptAppend:e.config.systemPromptAppend,timeout:e.config.timeout,assistantName:e.config.assistantName}:void 0}}function h(e,t){if(t.objectStoreNames.contains(`groups`)){let n=e.target.transaction.objectStore(`groups`).getAll();n.onsuccess=()=>{let e=n.result;t.deleteObjectStore(`groups`);let r=t.createObjectStore(d.SCOOPS,{keyPath:`jid`});r.createIndex(`type`,`type`);let i=e.find(e=>e.isMain)?.jid;for(let t of e)r.put(m(t,i))};return}t.objectStoreNames.contains(d.SCOOPS)||t.createObjectStore(d.SCOOPS,{keyPath:`jid`}).createIndex(`type`,`type`)}function g(e){e.objectStoreNames.contains(d.WEBHOOKS)||e.createObjectStore(d.WEBHOOKS,{keyPath:`id`}),e.objectStoreNames.contains(d.CRONTASKS)||e.createObjectStore(d.CRONTASKS,{keyPath:`id`})}function _(e){let t=e.target.result,n=e.oldVersion;n<1&&p(t),n<2&&h(e,t),n<3&&g(t)}function v(){if(!f)return null;let e=Object.values(d).every(e=>f.objectStoreNames.contains(e));return f.version===u&&e?f:(f.close(),f=null,null)}function y(e){e.onversionchange=()=>{e.close(),f===e&&(f=null)},e.onclose=()=>{f===e&&(f=null)}}async function b(){return v()||new Promise((e,t)=>{let n=indexedDB.open(l,u);n.onupgradeneeded=_,n.onsuccess=()=>{let t=n.result;y(t),f=t,e(t)},n.onerror=()=>t(n.error)})}async function x(e,t=`readonly`){return(await b()).transaction(e,t).objectStore(e)}async function S(e){let t=await x(d.STATE);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result?.value??null),i.onerror=()=>r(i.error)})}async function C(e,t){let n=await x(d.STATE,`readwrite`);return new Promise((r,i)=>{let a=n.put({key:e,value:t});a.onsuccess=()=>r(),a.onerror=()=>i(a.error)})}async function w(){try{let e=await x(d.WEBHOOKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}async function T(){try{let e=await x(d.CRONTASKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}var E=e({IndexedDbLeaderTraySessionStore:()=>V,LEADER_STATUS_STORAGE_KEY:()=>LEADER_STATUS_STORAGE_KEY,LeaderTrayManager:()=>U,TrayProxyFetchError:()=>G,createTrayFetch:()=>J,getLeaderTrayRuntimeStatus:()=>L,parseLeaderTraySession:()=>H,setLeaderTrayRuntimeStatus:()=>B,subscribeToLeaderTrayRuntimeStatus:()=>z}),D=t(`tray-leader`),O=`leader-tray-session`,k=3e4,A=1e4,j=1e3,M=3e4,N=2,P=20,F=1e4,I={state:`inactive`,session:null,error:null};function L(){return{...I,session:I.session?{...I.session}:null}}var R=new Set;function z(e){return R.add(e),()=>{R.delete(e)}}function B(e){if(I={...e,session:e.session?{...e.session}:null},R.size!==0)for(let e of[...R])try{e(L())}catch{}}var V=class{key;constructor(e=O){this.key=e}async load(){return H(await S(this.key))}async save(e){await C(this.key,JSON.stringify(e))}async clear(){await C(this.key,``)}};function H(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.workerBaseUrl!=`string`||typeof t.trayId!=`string`||typeof t.createdAt!=`string`||typeof t.controllerId!=`string`||typeof t.controllerUrl!=`string`||typeof t.joinUrl!=`string`||typeof t.webhookUrl!=`string`||typeof t.runtime!=`string`?null:{workerBaseUrl:t.workerBaseUrl,trayId:t.trayId,createdAt:t.createdAt,controllerId:t.controllerId,controllerUrl:t.controllerUrl,joinUrl:t.joinUrl,webhookUrl:t.webhookUrl,leaderKey:typeof t.leaderKey==`string`?t.leaderKey:void 0,leaderWebSocketUrl:typeof t.leaderWebSocketUrl==`string`?t.leaderWebSocketUrl:null,runtime:t.runtime}}catch{return null}}var U=class{options;store;fetchImpl;webSocketFactory;pingIntervalMs;connectTimeoutMs;reconnectEnabled;reconnectBaseDelayMs;reconnectMaxDelayMs;reconnectBackoffMultiplier;reconnectMaxAttempts;reconnectSleep;socket=null;pingTimer=null;currentSession=null;stopped=!1;reconnecting=!1;reconnectGeneration=0;constructor(e){this.options=e,this.store=e.store??new V,this.fetchImpl=e.fetchImpl??J(),this.webSocketFactory=e.webSocketFactory??(e=>new WebSocket(e)),this.pingIntervalMs=e.pingIntervalMs??k,this.connectTimeoutMs=e.connectTimeoutMs??A;let t=e.reconnect;this.reconnectEnabled=t!==!1;let n=t===!1||!t?{}:t;this.reconnectBaseDelayMs=n.baseDelayMs??j,this.reconnectMaxDelayMs=n.maxDelayMs??M,this.reconnectBackoffMultiplier=n.backoffMultiplier??N,this.reconnectMaxAttempts=n.maxAttempts??P,this.reconnectSleep=n.sleep??(e=>new Promise(t=>setTimeout(t,e)))}async start(){if(this.stopped=!1,this.currentSession&&this.socket)return B({state:`leader`,session:this.currentSession,error:null}),this.currentSession;B({state:`connecting`,session:null,error:null}),this.currentSession=null;try{let e=await this.connectOnce();D.info(`Leader joined tray`,{trayId:e.trayId,controllerId:e.controllerId,runtime:e.runtime});try{this.options.onLeaderReady?.(e)}catch(e){D.warn(`onLeaderReady callback threw`,{error:e instanceof Error?e.message:String(e)})}return e}catch(e){throw B({state:`error`,session:this.currentSession,error:e instanceof Error?e.message:String(e)}),e}}stop(){this.stopped=!0,this.reconnecting=!1,this.reconnectGeneration++,this.tearDownSocket(),this.currentSession=null,B({state:`inactive`,session:null,error:null})}tearDownSocket(){this.pingTimer&&=(clearInterval(this.pingTimer),null);let e=this.socket;if(this.socket=null,e)try{e.close()}catch{}}async connectOnce(){let e=await this.store.load(),t=e?.workerBaseUrl===this.options.workerBaseUrl?e:null,n=await this.attachWithRecovery(t);this.currentSession=n;let r=await this.openLeaderSocket(n.leaderWebSocketUrl);return this.socket=r,this.startPingLoop(r),B({state:`leader`,session:n,error:null}),n}async handleUnexpectedDisconnect(e){if(this.stopped)return;if(!this.reconnectEnabled){D.warn(`Leader WebSocket dropped and auto-reconnect is disabled`,{reason:e}),this.tearDownSocket(),this.currentSession=null,B({state:`error`,session:null,error:`Leader WebSocket dropped: ${e}`});return}if(this.reconnecting)return;this.reconnecting=!0;let t=++this.reconnectGeneration;D.warn(`Leader WebSocket dropped — starting reconnect loop`,{reason:e}),this.tearDownSocket();let n=0,r=this.reconnectBaseDelayMs,i=e;for(;!this.stopped&&t===this.reconnectGeneration&&n<this.reconnectMaxAttempts&&(n++,B({state:`reconnecting`,session:this.currentSession,error:null,reconnectAttempts:n}),this.options.onReconnecting?.(n,i),D.info(`Leader reconnect attempt`,{attempt:n,delay:r}),await this.reconnectSleep(r),!(this.stopped||t!==this.reconnectGeneration));){try{let e=await this.connectOnce();if(this.stopped||t!==this.reconnectGeneration){this.tearDownSocket();break}this.reconnecting=!1,D.info(`Leader reconnect successful`,{attempt:n,trayId:e.trayId}),this.options.onReconnected?.(e);try{this.options.onLeaderReady?.(e)}catch(e){D.warn(`onLeaderReady callback threw`,{error:e instanceof Error?e.message:String(e)})}return}catch(e){i=e instanceof Error?e.message:String(e),D.warn(`Leader reconnect attempt failed`,{attempt:n,error:i}),this.tearDownSocket()}r=Math.min(r*this.reconnectBackoffMultiplier,this.reconnectMaxDelayMs)}!this.stopped&&t===this.reconnectGeneration&&(this.reconnecting=!1,this.currentSession=null,B({state:`error`,session:null,error:`Leader reconnect failed after ${n} attempts: ${i}`,reconnectAttempts:n}),D.warn(`Leader reconnect gave up`,{attempts:n,lastError:i}),this.options.onReconnectGaveUp?.(i,n))}async clearSession(){await this.store.clear()}sendControlMessage(e){if(!this.socket)throw Error(`Tray leader WebSocket is not connected`);this.socket.send(JSON.stringify(e))}async attachWithRecovery(e){try{return await this.claimLeaderSession(e)}catch(t){if(!e||!K(t))throw t;D.warn(`Stored tray session is stale, creating a fresh tray`,{trayId:e.trayId,error:t instanceof Error?t.message:String(t)}),await this.store.clear();let n=await this.claimLeaderSession(null);return this.notifyTraySuperseded(e,n.joinUrl),n}}async notifyTraySuperseded(e,t){try{let n=new URL(e.controllerUrl).pathname.split(`/`).pop();if(!n)return;let r=s(e.workerBaseUrl,`api/tray/${e.trayId}/supersede`);await this.fetchImpl(r,{method:`POST`,headers:{"content-type":`application/json`,authorization:`Bearer ${n}`},body:JSON.stringify({joinUrl:t}),signal:AbortSignal.timeout(F)})}catch(t){D.warn(`Failed to notify old tray of supersession (best-effort)`,{oldTrayId:e.trayId,error:t instanceof Error?t.message:String(t)})}}async claimLeaderSession(e){let t=e??await this.createTraySession(),n=await this.fetchJson(t.controllerUrl,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({controllerId:t.controllerId,leaderKey:t.leaderKey,runtime:this.options.runtime})});if(n.role!==`leader`||!n.leaderKey||!n.websocket?.url)throw Error(`Tray attach did not return leader access for controller ${n.controllerId}`);let r={...t,trayId:n.trayId,controllerId:n.controllerId,leaderKey:n.leaderKey,leaderWebSocketUrl:n.websocket.url,runtime:this.options.runtime};return await this.store.save(r),r}async createTraySession(){let e=this.options.kind?JSON.stringify({kind:this.options.kind}):void 0,t=await this.fetchJson(s(this.options.workerBaseUrl,`tray`),{method:`POST`,...e?{headers:{"content-type":`application/json`}}:{},...e?{body:e}:{}});return{workerBaseUrl:this.options.workerBaseUrl,trayId:t.trayId,createdAt:t.createdAt,controllerId:crypto.randomUUID(),controllerUrl:t.capabilities.controller.url,joinUrl:t.capabilities.join.url,webhookUrl:t.capabilities.webhook.url,runtime:this.options.runtime}}async openLeaderSocket(e){return await new Promise((t,n)=>{let r=this.webSocketFactory(e),i=!1,a=setTimeout(()=>{o(`Tray leader WebSocket timed out after ${this.connectTimeoutMs}ms waiting for leader.connected`);try{r.close(1e3,`leader.connected timeout`)}catch{}},this.connectTimeoutMs),o=e=>{i||(i=!0,clearTimeout(a),n(Error(e)))};r.addEventListener(`message`,e=>{let n=q(e.data);if(n){if(n.type===`leader.connected`){i||(i=!0,clearTimeout(a),t(r));return}if(n.type===`pong`){D.debug(`Tray leader heartbeat acknowledged`,{trayId:this.currentSession?.trayId});return}this.options.onControlMessage?.(n)}}),r.addEventListener(`close`,()=>o(`Tray leader WebSocket closed before leader.connected`)),r.addEventListener(`error`,()=>o(`Tray leader WebSocket failed before leader.connected`))})}startPingLoop(e){this.pingTimer&&clearInterval(this.pingTimer);let t=t=>{this.stopped||this.socket!==e||this.handleUnexpectedDisconnect(t).catch(e=>{D.warn(`Leader reconnect loop crashed`,{error:e instanceof Error?e.message:String(e)})})},n=()=>{try{e.send(JSON.stringify({type:`ping`}))}catch(e){t(`Leader ping send failed: ${e instanceof Error?e.message:String(e)}`)}};n(),this.pingTimer=setInterval(n,this.pingIntervalMs),e.addEventListener(`close`,()=>t(`Leader WebSocket closed`)),e.addEventListener(`error`,()=>t(`Leader WebSocket errored`))}async fetchJson(e,t){let n=await this.fetchImpl(e,t);if(!n.ok)throw await W.fromResponse(n);return await n.json()}},W=class e extends Error{status;code;constructor(e,t,n){super(n),this.status=e,this.code=t,this.name=`LeaderTrayHttpError`}static async fromResponse(t){try{let n=await t.json();return new e(t.status,n.code??null,n.error??`Tray request failed (${t.status})`)}catch{return new e(t.status,null,`Tray request failed (${t.status})`)}}},G=class extends Error{constructor(e){super(e),this.name=`TrayProxyFetchError`}};function K(e){return e instanceof G?!0:e instanceof W?e.status===403||e.status===404||e.status===410||e.status>=500:!1}function q(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function J(e=fetch){return i()?(t,n)=>e(t,n):async(t,i={})=>{let s=typeof t==`string`?t:t.toString();try{if(new URL(s).origin===window.location.origin)return e(s,{...i,cache:`no-store`})}catch{}let c=new Headers(i.headers);c.set(`X-Target-URL`,s);for(let[e,t]of Object.entries(o()))c.set(e,t);let l=await e(a(`/api/fetch-proxy`),{...i,headers:c,cache:`no-store`});if(r(l))throw new G(await n(l));return l}}export{E as a,z as i,L as n,c as o,B as r,U as t};
@@ -1 +0,0 @@
1
- import{l as e,u as t}from"./src-CAWTvdAa.js";import"./proxied-fetch-CFWkfPNA.js";import{i as n,t as r}from"./api-endpoint-GRCyib6X.js";import"./messages-BD4p8GuF.js";var i=`tray`,a=`trayWorkerUrl`,o=`lead`;function s(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}function c(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.toString(),r=t.pathname.split(`/`).filter(Boolean);if(r.length<2||r.at(-2)!==`join`)return null;let[i,a,...o]=decodeURIComponent(r.at(-1)).split(`.`);if(!i||!a||o.length>0)return null;r.splice(-2,2),t.pathname=r.length>0?`/${r.join(`/`)}`:`/`;let c=s(t.toString());return c?{workerBaseUrl:c,trayId:i,joinUrl:n}:null}catch{return null}}function l(e,t){let n=new URL(e);return n.searchParams.delete(a),n.searchParams.delete(o),n.searchParams.set(i,t),n.toString()}var u=`slicc.trayWorkerBaseUrl`,d=`slicc.trayJoinUrl`,f=e,p=t;function m(e,t){let n=s(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t.replace(/^\/+/,``);return new URL(r,`${n}/`).toString()}function h(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.pathname.split(`/`).filter(Boolean),r=null;if(n.length>=2&&n.at(-2)===`tray`)r=decodeURIComponent(n.at(-1)),n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`;else if(n.length>=2&&n.at(-2)===`join`)return c(t.toString());let i=s(t.toString());return i?{workerBaseUrl:i,trayId:r,joinUrl:null}:null}catch{return null}}function g(e){let t=h(e);return t?.joinUrl?t:null}function _(e,t){let n=g(t);return n?(e.setItem(d,n.joinUrl),e.setItem(u,n.workerBaseUrl),n):null}function v(e){return!!g(e?.getItem(`slicc.trayJoinUrl`)??null)}function y(e,t){let n=!1;try{let t=new URL(e),r=t.searchParams.get(i);if(r!==null){n=!0;let e=h(r);if(e?.joinUrl)return e.joinUrl}t.searchParams.get(`slicc`)===`leader`&&(n=!0)}catch{}let r=h(e);return r?.joinUrl?r.joinUrl:(r?.trayId&&(n=!0),n?null:g(t?.getItem(`slicc.trayJoinUrl`)??null)?.joinUrl??null)}function b(e){try{let t=new URL(e);t.searchParams.delete(i);let n=t.pathname.split(`/`).filter(Boolean);return n.length>=2&&n.at(-2)===`join`&&(n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`),t.toString()}catch{return e}}function x(e,t){let n=s(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t?.trim();return r?new URL(`tray/${encodeURIComponent(r)}`,`${n}/`).toString():n}function S(e,t,n){return l(e,x(t,n))}async function C(e){let t=E(e.locationHref);if(t)return e.storage&&(t.joinUrl&&e.storage.setItem(d,t.joinUrl),e.storage.setItem(u,t.workerBaseUrl)),t;let n=g(e.storage?.getItem(`slicc.trayJoinUrl`)??null);if(n)return e.storage&&e.storage.setItem(u,n.workerBaseUrl),n;let r=e.runtimeConfigFetcher?await D(e.runtimeConfigFetcher):null;if(r?.joinConfig)return e.storage&&(e.storage.setItem(d,r.joinConfig.joinUrl),e.storage.setItem(u,r.joinConfig.workerBaseUrl)),r.joinConfig;let i=r?.workerBaseUrl??null,a=s(e.storage?.getItem(`slicc.trayWorkerBaseUrl`)??null),o=s(e.envBaseUrl??null),c=s(e.defaultWorkerBaseUrl??null),l=i??a??o??c;return l?(e.storage&&e.storage.setItem(u,l),{workerBaseUrl:l,trayId:null,joinUrl:null}):null}async function w(e){return(await C(e))?.workerBaseUrl??null}async function T(e=fetch){try{let t=await e(n(`/api/runtime-config`),{cache:`no-store`,headers:r()});return t.ok?await t.json():null}catch{return null}}function E(e){try{let t=new URL(e),n=h(t.searchParams.get(i));if(n)return n;let r=h(t.searchParams.get(o));if(r)return r;let l=s(t.searchParams.get(a));return l?{workerBaseUrl:l,trayId:null,joinUrl:null}:c(e)||null}catch{return null}}async function D(e){let t=await e();if(!t)return null;let n=g(t.trayJoinUrl??null);return{workerBaseUrl:s(t.trayWorkerBaseUrl??null),joinConfig:n}}export{S as a,v as c,C as d,w as f,s as h,u as i,g as l,b as m,p as n,m as o,_ as p,d as r,T as s,f as t,y as u};
@@ -1 +0,0 @@
1
- import{s as e}from"./src-CcFD5QfS.js";import"./proxied-fetch-BduXImRw.js";function t(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}function n(e){if(!e)return null;try{let n=new URL(e.trim());n.search=``,n.hash=``;let r=n.toString(),i=n.pathname.split(`/`).filter(Boolean);if(i.length<2||i.at(-2)!==`join`)return null;let[a,o,...s]=decodeURIComponent(i.at(-1)).split(`.`);if(!a||!o||s.length>0)return null;i.splice(-2,2),n.pathname=i.length>0?`/${i.join(`/`)}`:`/`;let c=t(n.toString());return c?{workerBaseUrl:c,trayId:a,joinUrl:r}:null}catch{return null}}const r=`slicc.trayWorkerBaseUrl`,i=`slicc.trayJoinUrl`,a=e;function o(e){if(!e)return null;try{let r=new URL(e.trim());r.search=``,r.hash=``;let i=r.pathname.split(`/`).filter(Boolean),a=null;if(i.length>=2&&i.at(-2)===`tray`)a=decodeURIComponent(i.at(-1)),i.splice(-2,2),r.pathname=i.length>0?`/${i.join(`/`)}`:`/`;else if(i.length>=2&&i.at(-2)===`join`)return n(r.toString());let o=t(r.toString());return o?{workerBaseUrl:o,trayId:a,joinUrl:null}:null}catch{return null}}function s(e){let t=o(e);return t?.joinUrl?t:null}export{t as a,s as i,i as n,r,a as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-BK-7ArIz.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-Bg1KKHOx.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/runtime-env-CgsZ7LTp.js","assets/telemetry-BVzuNdvW.js","assets/messages-BD4p8GuF.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t,t as n,v as r,y as i}from"./wc-live-CiwhsK8i.js";import{wireWcDetached as a}from"./wc-detached-B3WCbbZT.js";import{floatLabelForKind as o}from"./wc-float-label-Bmp3gmHN.js";import{installFloatbarStatus as s}from"./wc-floatbar-online-B8ug4UwE.js";async function c(c,l,u=!1){let d=`extension`,f=t(c,o(d));s(f.refs.floatbar,{floatKind:d});let p=new i(r(f.wiring));n(f,p,l),a({client:p,isDetachedSelf:u});let{setupSudoExtension:m}=await e(async()=>{let{setupSudoExtension:e}=await import(`./main-BK-7ArIz.js`).then(e=>e.i);return{setupSudoExtension:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]));await m({log:l}),p.requestState(),l.info(`WC extension shell connected to offscreen engine`)}export{c as mountWcUiExtension};
@@ -1 +0,0 @@
1
- import{a as e,t}from"./tray-follower-status-BAjnN7Ar.js";import{i as n,n as r}from"./tray-leader-B_FxjW0d.js";import{floatLabelForKind as i}from"./wc-float-label-Bmp3gmHN.js";function a(a,s){let c=s.label??i(s.floatKind);a.setAttribute(`label`,c),a.setAttribute(`float-kind`,s.floatKind);let l=r(),u=t(),d=()=>{let e=o(l,u);a.setAttribute(`connection`,e.connection),e.trayRole===`none`?a.removeAttribute(`tray-role`):a.setAttribute(`tray-role`,e.trayRole)},f=n(e=>{l=e,d()}),p=e(e=>{u=e,d()});return d(),()=>{f(),p()}}function o(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:c(t),trayRole:`follower`}:{connection:s(e),trayRole:`leader`}}function s(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function c(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}export{a as installFloatbarStatus};
@@ -1,17 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-WlrdsROD.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-k2E6ulyv.js","assets/base64-DJRlyqZu.js","assets/src-CAWTvdAa.js","assets/image-markers-CxJ9ZBgw.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-Dlaokqg1.js","assets/runtime-env-CgsZ7LTp.js","assets/runtime-env-E-i2SW1s.js","assets/html-B_Hg2WOy.js","assets/icons-ZLR7gmJ4.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/panelize-shell-65i9Hq7n.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-live-CiwhsK8i.js","assets/account-store-Bg1KKHOx.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/proxied-fetch-CFWkfPNA.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-BK-7ArIz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-idfTVsM8.js","assets/hid-device-registry-B2R-0rNt.js","assets/browser-DGwroBSO.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/tray-leader-B_FxjW0d.js","assets/record-D153M47x.js","assets/shared-2T6O01rS.js","assets/sprinkle-renderer-C9L5ZRvl.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-D4YmJlZ6.js","assets/wc-unit-context-BaavrvD8.js","assets/legacy-styles-DcRu2WCJ.js","assets/follower-navigate-watcher-BoAzVfrf.js","assets/navigation-watcher-DrWMx-B4.js","assets/handoff-link-BObMRgsx.js","assets/discovery-preference-cJij_YcT.js","assets/wc-transcript-export-DjpmBvLP.js","assets/export-spool-Eul4J1RP.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{T as n,a as r,n as i,o as a}from"./wc-shell-WlrdsROD.js";import{r as o}from"./src-CAWTvdAa.js";import{_ as s,a as c,c as l,n as u,t as ee}from"./wc-follower-oauth-D15d_vbh.js";import{r as te}from"./remote-cdp-transport-DeDqT7I4.js";import{F as ne,I as re,f as ie,n as ae,p as oe}from"./wc-live-CiwhsK8i.js";import{r as d,t as se}from"./feature-flags-ByMXaIc4.js";import{i as f,m as p,p as ce,r as m,u as le}from"./tray-runtime-config-Bpo7AZhY.js";import{a as ue,t as de}from"./tray-follower-status-BAjnN7Ar.js";import{r as fe}from"./main-BK-7ArIz.js";import{n as pe}from"./theme-engine-By4GU_Wc.js";import{d as me,f as he}from"./wc-unit-context-BaavrvD8.js";import{WcSprinkleZone as ge}from"./wc-sprinkles-DhXJLTUO.js";import{wireWcAttach as _e}from"./wc-attach-DM5yRZRS.js";import{floatLabelForKind as ve}from"./wc-float-label-Bmp3gmHN.js";import{installFloatbarStatus as ye}from"./wc-floatbar-online-B8ug4UwE.js";import{installLeaderPermissionsSurface as be}from"./wc-permissions-CCJrTH49.js";var h=t(`follower-switch-out`);function xe(e,t){t.stopFollower();try{t.storage.removeItem(m),e.workerBaseUrl===null?t.storage.removeItem(f):t.storage.setItem(f,e.workerBaseUrl)}catch(e){h.error(`follower switch-out: storage write failed — state may revert on reload`,{error:e instanceof Error?e.message:String(e)})}try{let e=t.getHref(),n=p(e);n!==e&&t.replaceHref(n)}catch(e){h.error(`follower switch-out: URL normalize failed — may re-enter follower on reload`,{error:e instanceof Error?e.message:String(e)})}t.reload()}var g=1e4,Se=class{deps;units=[];selectedId=null;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;earlySnapshots=new Map;pendingSnapshots=new Map;constructor(e){this.deps=e}get selectedUnitId(){return this.selectedId}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){for(let e of this.listListeners)e(this.units)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}summaryOf(e){return this.units.find(t=>t.id===e)}publishSnapshot(e,t){this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainEarlySnapshots(){for(let[e,t]of this.earlySnapshots){let n=this.summaryOf(e);n&&(this.earlySnapshots.delete(e),this.publishSnapshot(e,{messages:t,summary:n}))}}wrapOptions(e){return{...e,onScoopsList:(t,n)=>{this.units=t.map(u),(!this.selectedId||!this.units.some(e=>e.id===this.selectedId))&&(this.selectedId=n),this.drainEarlySnapshots(),this.emitList(),e.onScoopsList?.(t,n)},onSnapshot:(t,n)=>{this.selectedId=n;let r=t,i=this.summaryOf(n);i?this.publishSnapshot(n,{messages:r,summary:i}):this.earlySnapshots.set(n,r),e.onSnapshot?.(t,n)},onStatus:(t,n)=>{let r=n??this.selectedId;if(r&&l(n,this.selectedId)){let e=t===`processing`?`working`:`idle`;this.emit(r,{state:e,type:`status`}),this.applyState(r,e)}e.onStatus?.(t,n)}}}applyState(e,t){let n=this.summaryOf(e);!n||n.state===t||(this.units=this.units.map(n=>n.id===e?{...n,state:t,phase:void 0,awaiting:void 0}:n),this.emitList())}currentUnits(){return this.units}list(){return Promise.resolve(this.units)}subscribeList(e){return this.listListeners.add(e),e(this.units),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return r&&t({snapshot:r,type:`snapshot`}),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getSync();if(!t)return Promise.reject(Error(`not connected to a leader`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});this.selectedId=e,t.selectScoop(e);let a=new Promise(t=>{setTimeout(()=>{this.forgetWaiter(e,r);let n=this.summaryOf(e);t(n?{messages:[],summary:n}:null)},g)});return Promise.race([i,a]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getSync();return n?(this.selectedId!==e&&(this.selectedId=e,n.selectScoop(e)),n.sendMessage(t.text,void 0,t.attachments,t.steer?{steer:!0}:void 0),Promise.resolve()):Promise.reject(Error(`not connected to a leader`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getSync();return n?(this.selectedId!==e&&(this.selectedId=e,n.selectScoop(e)),n.stop(),Promise.resolve()):Promise.resolve()}},_=6;function Ce(e){let{refs:t,getSync:n,getTargets:r,hasCdpBrowser:i,log:a}=e;if(t.overlaySurfaces.has(`browser`))return{overlay:document.createElement(`slicc-tab-overlay`),refresh:()=>{}};let o=document.createElement(`slicc-tab-overlay`);o.setAttribute(`heading`,`Browser · tabs in this tray`),document.body.append(o);let s=()=>{o.tabs=r().map(e=>({id:e.targetId,title:e.title||e.url||e.targetId,url:e.url}))};return t.overlaySurfaces.add(`browser`),t.dock.addEventListener(`slicc-dock-select`,e=>{e.detail?.id===`browser`&&(s(),o.show(),t.dock.collapse?.())}),o.addEventListener(`tab-activate`,t=>{let r=t.detail.id,s=n(),c=s?.getLeaderProtocolVersion()??0;if(!(s&&i()&&c>=_)){let t=o.tabs.find(e=>e.id===r)?.url;if(!t){a.warn(`WC follower browser: no URL for tab`,{id:r});return}e.window.open(t,`_blank`,`noopener`)||a.warn(`WC follower browser: window.open was blocked`,{id:r}),o.hide();return}s.requestTabTeleport(r).then(e=>{a.info(`WC follower browser: leader teleported a tab here`,{source:r,targetId:e}),o.hide()}).catch(e=>{a.error(`WC follower browser: tab teleport failed`,e)})}),{overlay:o,refresh:s}}var v=new Set([`oauth-attempt`,`connect-attempt`,`device-code-decision`]);function we(e){return v.has(e)}var y=`slicc-signin-redirect-style`,b=`wc-signin-redirect`,x=`
3
- .${b}{display:flex;gap:10px;align-items:flex-start;margin:10px 12px;padding:12px 14px;
4
- border:1px solid var(--line);border-radius:12px;background:var(--ghost);color:var(--ink);
5
- font-family:var(--ui);font-size:13px;line-height:1.4;}
6
- .${b}__body{flex:1;min-width:0;}
7
- .${b}__title{font-weight:600;margin-bottom:2px;}
8
- .${b}__sub{color:var(--txt-2);}
9
- .${b}__open{appearance:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;
10
- background:var(--canvas);color:var(--ink);font:inherit;font-weight:600;padding:6px 12px;white-space:nowrap;}
11
- .${b}__open:hover{background:var(--ghost);}
12
- .${b}__x{appearance:none;background:none;border:none;cursor:pointer;color:var(--txt-3);
13
- font:inherit;font-size:16px;line-height:1;padding:0 2px;}
14
- .${b}__x:hover{color:var(--ink);}
15
- `;function S(e){if(e.getElementById(y))return;let t=e.createElement(`style`);t.id=y,t.textContent=x,e.head.appendChild(t)}function C(e,t){S(e);let n=e.createElement(`div`);n.className=b,n.setAttribute(`role`,`status`);let r=e.createElement(`div`);r.className=`${b}__body`;let i=e.createElement(`div`);i.className=`${b}__title`,i.textContent=t.title;let a=e.createElement(`div`);a.className=`${b}__sub`,a.textContent=t.sub,r.append(i,a);let o=e.createElement(`button`);if(o.type=`button`,o.className=`${b}__open`,o.textContent=t.buttonLabel,o.addEventListener(`click`,()=>t.onOpenTab()),n.append(r,o),t.dismissible){let t=e.createElement(`button`);t.type=`button`,t.className=`${b}__x`,t.setAttribute(`aria-label`,`Dismiss`),t.textContent=`×`,t.addEventListener(`click`,()=>n.remove()),n.append(t)}return n}function Te(e,t){let n=e.ownerDocument;t.onOpenTab();let r=e.querySelector(`.${b}`);if(r)return r.scrollIntoView?.({block:`nearest`}),r;let i=C(n,{title:`Sign in from the SLICC tab`,sub:`The side panel can't complete a provider login — we've switched you to the main SLICC tab. Finish signing in there (Settings › Providers), then come back.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!0});return e.append(i),i.scrollIntoView?.({block:`nearest`}),i}function Ee(e,t){return C(e,{title:`Set up SLICC in the main tab`,sub:`SLICC needs a model connected before it can help. Open the main SLICC tab to finish setup and sign in, then come back to the side panel.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!1})}var w=t(`wc-follower`),T=`/shared/sprinkles/welcome/`,E={sendMessage:()=>{},onEvent:()=>()=>{},stop:()=>{}};function D(e){return e===void 0||e===`active`?{kind:`active`}:e.trim()===``?null:{kind:`frozen`,sessionId:e}}function De(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.style.color=`var(--s2-negative, #e34850)`,r.textContent=`Could not start follower`;let i=document.createElement(`p`);i.style.color=`var(--s2-content-tertiary, #717171)`,i.textContent=t,n.append(r,i),e.appendChild(n)}function Oe(e,t,n,r,i){let a=e=>{let t=document.createElement(`div`);return t.className=`wcui-placeholder`,t.textContent=e,t};i.files?(e.style.display=`none`,e.parentElement?.append(a(`Files live on the leader. A follower mirrors the leader's chat, sprinkles, and browser tabs - not its filesystem.`))):e.closest(`slicc-surface`)?.remove(),i.terminal?t.append(a(`The shell runs on the leader. A follower has no local terminal - drive the session through chat.`)):t.closest(`slicc-surface`)?.remove(),i.memory?n.append(a(`Memory lives on the leader. A follower has no local memory store.`)):n.closest(`slicc-surface`)?.remove(),i.monitor?(r.style.display=`none`,r.parentElement?.append(a(`Monitor reads the leader's kernel state. A follower has no local kernel.`))):r.closest(`slicc-surface`)?.remove()}var O={terminal:!0,files:!0,memory:!0,browser:!0,modelPicker:!0,history:!0,nav:!0,newSprinkle:!0,monitor:!0,showTimestamps:!0};function ke(e){let t=[];for(let[n,r]of[[`terminal`,`term`],[`files`,`files`],[`memory`,`memory`],[`browser`,`browser`],[`monitor`,`monitor`],[`newSprinkle`,`new`]])e[n]||t.push(`slicc-dock-item[data-t="${r}"]`);if(e.modelPicker||t.push(`slicc-composer-meta`),e.history||t.push(`slicc-freezer`),e.nav||t.push(`slicc-nav`),!e.terminal&&!e.files&&!e.memory&&!e.browser&&!e.monitor&&t.push(`slicc-dock .div`,`slicc-dock .grow`),t.length||!e.history){let n=document.createElement(`style`),r=t.length?`${t.join(`,
16
- `)}{display:none!important;}`:``;e.history||(r+=`
17
- .wcui-appcol{padding-left:0!important;}`),n.textContent=r,document.head.append(n)}}function k(e,t){return e&&!t}async function A(t,n,r){let[{parseLayoutDocument:i},{panelizeShell:a}]=await Promise.all([e(()=>import(`./wc-shell-WlrdsROD.js`).then(e=>e.j),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])),e(()=>import(`./panelize-shell-65i9Hq7n.js`),__vite__mapDeps([17,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19]))]),o=i(n);if(`error`in o){r.warn(`follower: host-pushed layout failed validation — keeping the default`,{error:o.error});return}a(t.refs,o),r.info(`follower: applied host-pushed layout document`,{id:o.id,locked:o.locked===!0})}async function j(t,u,f){let p=f===`cherry`,m=p&&new URLSearchParams(window.location.search).get(`ui-only`)===`1`,h=window.location.ancestorOrigins?.[0],g=p&&(h?.startsWith(`chrome-extension://`)??!1),_;try{_=await fe({runtimeMode:f,envBaseUrl:null,window,log:u})}catch(e){let n=e instanceof Error?e.message:String(e);w.error(`follower prelude failed`,{runtimeMode:f,error:n}),De(t,n);return}let v=p?_.cherryJoinUrl:le(window.location.href,window.localStorage);if(!v){w.error(`follower mount with no join URL - falling back to live boot`);let{mountWcUiLive:n}=await e(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-CiwhsK8i.js`).then(e=>e.r);return{mountWcUiLive:e}},__vite__mapDeps([20,1,21,2,22,23,24,25,26,27,28,3,6,29,5,9,30,31,32,11,33,34,35,7,36,37,38,39,0,4,8,10,12,13,14,15,16,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]));return n(t,u,`standalone`)}let y=p?`cherry`:g?`extension`:`standalone`,b=ae(t,ve(y));if(p&&_.cherryTransport?.theme&&pe(_.cherryTransport.theme),p&&_.cherryTransport?.flags)try{let e=JSON.parse(_.cherryTransport.flags);e&&typeof e==`object`&&!Array.isArray(e)&&se(e)}catch(e){w.warn(`follower: host-pushed flags were not valid JSON — ignoring`,e)}let x=d(`panel-layouts`);if(b.refs.dockTree.tilesMovable=x,p&&_.cherryTransport?.layout)try{let e=JSON.parse(_.cherryTransport.layout);e&&typeof e==`object`&&`base`in e?x?await A(b,e,w):w.warn(`follower: ignoring host-pushed layout — the panel-layouts flag is off`):b.refs.dockTree.setTree(e)}catch(e){w.warn(`follower: host-pushed layout was not valid JSON — keeping the default`,e)}let S=p&&_.cherryTransport?.effortLevel;S?localStorage.setItem(`slicc_locked_effort_level`,S):localStorage.removeItem(`slicc_locked_effort_level`);let C=p&&_.cherryTransport?{...O,..._.cherryTransport.features}:O,j=b.refs.composerMeta;Oe(b.refs.fileTree,b.refs.termSurface,b.refs.memoryHost,b.refs.monitor,C),ke(C),e(async()=>{let{applyTimestampVisibility:e,initTimestampPreference:t}=await import(`./wc-shell-WlrdsROD.js`).then(e=>e.H);return{applyTimestampVisibility:e,initTimestampPreference:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(({applyTimestampVisibility:e,initTimestampPreference:t})=>{C.showTimestamps?t():e(!1)}),e(async()=>{let{loadDipStyles:e,loadSprinkleStyles:t}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadDipStyles:e,loadSprinkleStyles:t}},__vite__mapDeps([64,2])).then(({loadDipStyles:e,loadSprinkleStyles:t})=>Promise.all([e(),t()])).catch(()=>void 0);let M=new Map,N=()=>_.cherryTransport?.emitSliccEventToHost(`slicc.open-leader-tab`),P=()=>{g&&Te(b.refs.thread,{onOpenTab:N})},Ae=e=>{let t=e.querySelectorAll(`img[src^="${T}"]`);return t.length!==0&&(t.forEach((t,n)=>{n===0?t.replaceWith(Ee(e.ownerDocument,{onOpenTab:N})):t.remove()}),!0)},je=(e,t)=>{q.currentSync?.sendSprinkleLick(`inline`,{action:e,data:t}),we(e)&&P()},F=new ie({thread:b.refs.thread,agent:E,onQueuedChange:e=>{b.refs.queuedStack.setMessages(e)},onMessageRendered:(e,t)=>{let n=t[0];n&&(g&&Ae(n),M.set(e.id,re(n,je)))},onMessageDisposed:e=>{let t=M.get(e);t&&(ne(t),M.delete(e))},readOnlyToolUi:!0});if(b.setController(F),g)for(let e of[`slicc-error-open-settings`,`slicc-error-login`,`slicc-error-change-model`])b.refs.thread.addEventListener(e,()=>P());let I=`Connecting to leader…`,L=`Ask the leader, or describe a change…`,R=!1,z=!1,B=I,V=(e,t)=>{z=e,B=t,b.refs.inputCard.setAttribute(`placeholder`,t),e&&!R?b.refs.inputCard.removeAttribute(`disabled`):b.refs.inputCard.setAttribute(`disabled`,``)};V(!1,I),ye(b.refs.floatbar,{floatKind:y}),ue(e=>{try{window.localStorage.setItem(s,JSON.stringify(e))}catch{}});try{window.localStorage.setItem(s,JSON.stringify(de()))}catch{}m||b.refs.composer.setAttribute(`ptt`,``);let Me=_e({inputCard:b.refs.inputCard,freezer:b.refs.freezer,composer:b.refs.composer,noCamera:m,log:w});b.refs.switcher.setAttribute(`gaze-target`,`slicc-input-card`),b.refs.inputCard.addEventListener(`input`,()=>{b.refs.switcher.scrutinize(),b.refs.switcher.wake()}),b.refs.inputCard.addEventListener(`submit`,e=>{let t=a(e)??``,n=Me.take();(t.trim()||n.length)&&(F.sendUserMessage(t,n,{steer:r(e)}),b.refs.inputCard.clear?.())});let H=new ge(b.refs).callbacks(),U=null,W=new Se({getSync:()=>q?.currentSync??null}),G=()=>{b.refs.switcher.scoops=he(W.currentUnits(),U,n)},K=()=>{let e=W.currentUnits().find(e=>e.id===U);R=e?me(e):!1,i(b.refs,R),b.getController()?.setReadOnly(R),V(z,B)};b.refs.switcher.connection=`disconnected`;let q,J=null,Ne=()=>(J||=be({runtimeMode:f})?.element??null,J),Y=[],Pe=Ce({refs:b.refs,getSync:()=>q.currentSync,getTargets:()=>Y,hasCdpBrowser:()=>k(_.hasLocalCdpSurface,m),window,log:w}),X=oe({composerMeta:j,getSync:()=>q.currentSync,getSelectedScoopJid:()=>U,modelPickerEnabled:C.modelPicker,getLockedEffortLevel:()=>localStorage.getItem(`slicc_locked_effort_level`)});q=c(W.wrapOptions({joinUrl:v,runtime:p?te:`slicc-standalone`,advertisesCdpTargets:k(_.hasLocalCdpSurface,m),onTargetsUpdated:e=>{Y=e,Pe.refresh()},...p||m?{}:{onOAuthPopupRequest:(e,t)=>ee(e,t,{getPermissionsSurface:Ne,window})},browserAPI:_.browser,onSnapshot:(e,t)=>{U=t,F.loadMessages(e),F.setProcessing(e.some(e=>e.isStreaming))},onUserMessage:(e,t,n,r)=>F.addUserMessage(e,r),onBiscottoMessageState:(e,t)=>{switch(t){case`pending`:F.addAssistantMessage(`_Sent for review — waiting for the host._`);break;case`rejected`:F.addAssistantMessage(`_The host did not forward that message._`);break;case`unanswered`:F.addAssistantMessage(`_No one reviewed that message in time, so it was not forwarded._`)}},onStatus:(e,t)=>{l(t,U)&&F.setProcessing(e===`processing`)},setChatAgent:e=>{F.setAgent(e),e.onEvent(e=>{e.type===`tool_result`&&e.isError&&b.refs.switcher.glower()})},onSudoApprovalRequest:async t=>{let{openSudoApprovalDialog:n}=await e(async()=>{let{openSudoApprovalDialog:e}=await import(`./wc-sudo-approval-BE35g6ia.js`);return{openSudoApprovalDialog:e}},[]),r=p?_.cherryTransport?.hostOrigin:void 0;return{decision:(await n({kind:t.kind,detail:t.detail,...t.suggestedPattern?{suggestedPattern:t.suggestedPattern}:{}},{allowAlways:!1,signal:t.signal,expiresAt:t.expiresAt,requester:t.requester??t.scoopName??(r?`via ${r}`:void 0)})).decision,attestation:`none`}},onConnectionChange:e=>{b.refs.switcher.connection=e?`connected`:`disconnected`,V(e,e?L:I),e||X.reset(),p&&_.cherryTransport?.emitSliccEventToHost(e?`slicc.follower.ready`:`slicc.follower.disconnected`)},getSelectedScoopJid:()=>U,onLeaderStalled:e=>{V(!e,e?`The leader is busy — hang on…`:L)},onGaveUp:e=>{w.error(`follower gave up reaching the leader`,{error:e}),b.refs.switcher.connection=`disconnected`,V(!1,`Couldn't reach the leader. Reload to retry.`),X.reset(),p&&_.cherryTransport?.emitSliccEventToHost(`slicc.follower.disconnected`)},...p?{}:{onJoinUrlChanged:e=>{w.info(`follower joinUrl superseded, persisting replacement`,{newJoinUrl:e}),ce(window.localStorage,e)}},addSprinkle:H.addSprinkle,removeSprinkle:H.removeSprinkle,onOpen:e=>{/^https?:\/\//.test(e)?window.open(e,`_blank`,`noopener`):w.warn(`follower sprinkle open() of a local path is unavailable`,{path:e})},onScoopsList:(e,t)=>{(!U||!e.some(e=>e.jid===U))&&(U=t),G(),K(),b.refs.switcher.setAttribute(`active`,U??t)},onModelsList:X.onModelsList,onModelState:X.onModelState,...p?{onCherrySliccEvent:(e,t)=>_.cherryTransport?.emitSliccEventToHost(e,t)}:{}}));for(let e of[`save`,`skip`,`erase`])b.refs.freezer.addEventListener(`new-chat-${e}`,()=>{q.currentSync?.requestNewSession(e)});d(`agentic-memory`)&&b.refs.freezer.querySelector(`slicc-freezer-new`)?.setAttribute(`no-skip`,``),b.refs.switcher.addEventListener(`slicc-scoop-select`,e=>{let t=e.detail?.key;t&&(U=t,G(),K(),b.refs.switcher.setAttribute(`active`,t),q.currentSync?.selectScoop(t))}),p&&_.cherryTransport&&(_.cherryTransport.onHostEvent=(e,t)=>q.currentSync?.sendCherryHostEvent(e,t),_.cherryTransport.onExportRequest=(e,t,n,r)=>{let i=q.currentSync;if(!i)return Promise.reject(new o(`transfer-aborted`));let a=D(t);return a?i.requestTranscriptExport(a,n,r):Promise.reject(new o(`session-not-found`))});let Z=null;if(!p){let{startFollowerNavigateWatcher:t}=await e(async()=>{let{startFollowerNavigateWatcher:e}=await import(`./follower-navigate-watcher-BoAzVfrf.js`);return{startFollowerNavigateWatcher:e}},__vite__mapDeps([65,3,29,1,2,5,6,9,30,31,66,67,68]));Z=t(_.realCdpTransport,()=>q.currentSync)}let Q=!1,$=()=>{b.refs.avatarMenu.items=[{kind:`separator`},...g?[{id:`focus-leader-tab`,label:`Bring leader to front`,icon:`external-link`}]:[],{id:`export-transcript`,label:Q?`Exporting…`:`Export transcript`,icon:`download`,disabled:Q||void 0},{id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0}]};$(),b.refs.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n===`focus-leader-tab`){_.cherryTransport?.emitSliccEventToHost(`slicc.focus-leader-tab`);return}if(n===`tray-stop`){window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}}));return}if(n===`export-transcript`&&!Q){Q=!0,$();let t=q.currentSync;if(!t){Q=!1,$();return}let n=new AbortController;t.requestTranscriptExport({kind:`active`},n.signal).then(async t=>{let{downloadTranscriptBlob:n}=await e(async()=>{let{downloadTranscriptBlob:e}=await import(`./wc-transcript-export-DjpmBvLP.js`);return{downloadTranscriptBlob:e}},__vite__mapDeps([69,2,70,6,48,1]));await n(t,`slicc-transcript-${new Date().toISOString().slice(0,10)}.zip`)}).catch(e=>{w.error(`follower transcript export failed`,{error:String(e)})}).finally(()=>{Q=!1,$()})}}),window.addEventListener(`slicc:tray-leave`,e=>{xe({workerBaseUrl:(e.detail??{}).workerBaseUrl??null},{storage:window.localStorage,stopFollower:()=>{Z?.(),q.stop()},getHref:()=>window.location.href,replaceHref:e=>window.history.replaceState(null,``,e),reload:()=>window.location.reload()})}),w.info(`follower mounted`,{runtimeMode:f,isCherry:p})}export{j as mountWcUiFollower};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-BK-7ArIz.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-Bg1KKHOx.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/runtime-env-CgsZ7LTp.js","assets/telemetry-BVzuNdvW.js","assets/messages-BD4p8GuF.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-detached-B3WCbbZT.js","assets/wc-settings-M8e_JWQh.js","assets/wc-shell-WlrdsROD.js","assets/mime-types-k2E6ulyv.js","assets/html-B_Hg2WOy.js","assets/icons-ZLR7gmJ4.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/theme-engine-By4GU_Wc.js","assets/theme-CXRqxpw6.js","assets/discovery-preference-cJij_YcT.js","assets/legacy-styles-DcRu2WCJ.js","assets/sync-dialog-vSEl3KxP.js","assets/wc-live-CiwhsK8i.js","assets/src-BWaKqLvQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-idfTVsM8.js","assets/hid-device-registry-B2R-0rNt.js","assets/browser-DGwroBSO.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/tray-leader-B_FxjW0d.js","assets/record-D153M47x.js","assets/shared-2T6O01rS.js","assets/sprinkle-renderer-C9L5ZRvl.js","assets/sprinkle-bridge-D4YmJlZ6.js","assets/wc-unit-context-BaavrvD8.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-Dlaokqg1.js";import{_ as n,a as r,g as i,o as a}from"./wc-live-CiwhsK8i.js";import"./runtime-env-CgsZ7LTp.js";import{r as o}from"./feature-flags-ByMXaIc4.js";import{f as s,t as c}from"./tray-runtime-config-Bpo7AZhY.js";import{t as l}from"./tray-follower-status-BAjnN7Ar.js";import{n as u}from"./clipboard-eqmn97SP.js";import{t as d}from"./tray-join-url-BIvzbiFR.js";import{n as f}from"./tray-leader-B_FxjW0d.js";import{a as p}from"./wc-unit-context-BaavrvD8.js";function m(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function h(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function g(e,t){try{let n=t();e.setAttribute(`model`,n.name??n.id)}catch{}}function _(e,t){let n=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...t?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return o(`experimental-settings`)&&n.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),n}function v(e,t){return()=>{e.models=h(t()),n()}}async function y(n){let{refs:r,client:i,log:a,onExportTranscript:o}=n,{getAllAvailableModels:s,getAccounts:c,resolveCurrentModel:u}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel:n}=await import(`./main-BK-7ArIz.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),p=v(r.composerMeta,s),h=()=>g(r.composerMeta,u);p();let y=null;await k(r,i,()=>{let e=y;y=null,e!=null&&r.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let w=t(),A=()=>{let e=m(c()),t=r.avatarMenu.querySelector(`slicc-avatar`),n=r.inputCard.querySelector(`slicc-send-button`);e?(t?.removeAttribute(`initials`),t?.setAttribute(`name`,e.name),e.avatarUrl&&(t?.setAttribute(`src`,e.avatarUrl),n?.setAttribute(`src`,e.avatarUrl)),r.avatarMenu.user={name:e.name,provider:e.provider}):(t?.removeAttribute(`name`),t?.removeAttribute(`src`),t?.removeAttribute(`initials`),n?.removeAttribute(`src`),r.avatarMenu.user={name:`SLICC`,provider:w?`extension`:`standalone`})};A();let M=()=>{if(w)return[];let e=d(f(),l()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},N=new URLSearchParams(window.location.search).has(`detached`),P=()=>w&&!N?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],F=!1,I=()=>{r.avatarMenu.items=[..._(F,!!n.shortcuts),...P(),...M()]};I(),r.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&I()});let L=b(a,p,A,()=>i.updateModel());n.shortcuts?.setAction(`accounts`,L);let R=x(a),z=S(a);C(r,a),r.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let r=t.detail?.id;if(r&&T(r,a)){I();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-B3WCbbZT.js`);return{requestDetachedPopout:e}},__vite__mapDeps([37,31])).then(({requestDetachedPopout:e})=>e()).catch(e=>a.error(`detached popout request failed`,e));return}r===`shortcuts`&&n.shortcuts?.showHelp(),r===`settings`&&L(),r===`theme`&&R(),r===`experimental-settings`&&z(),r===`export-transcript`&&o&&(F=!0,I(),o().finally(()=>{F=!1,I()}))}),r.composerMeta.addEventListener(`add-ai`,L),E(r,L),D({refs:r,log:a,openSettings:L,setPendingReplayMessageId:e=>{y=e}}),await O({refs:r,log:a,openSettings:L,refreshModels:p,applyIdentity:A,client:i}),await j({refreshModels:p,refreshModelPill:h,applyIdentity:A,client:i})}function b(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-M8e_JWQh.js`);return{showWcSettings:e}},__vite__mapDeps([38,4,39,1,12,40,15,13,24,30,16,29,20,41,42,43,44,45,32,46,47,48,14,17,18])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function x(t){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-M8e_JWQh.js`);return{showThemeSettings:e}},__vite__mapDeps([38,4,39,1,12,40,15,13,24,30,16,29,20,41,42,43,44,45,32,46,47,48,14,17,18])).then(({showThemeSettings:e})=>e(t)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function S(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-M8e_JWQh.js`);return{showExperimentalSettings:e}},__vite__mapDeps([38,4,39,1,12,40,15,13,24,30,16,29,20,41,42,43,44,45,32,46,47,48,14,17,18])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function C(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{w(t,{copy:!1,initialTab:`status`})})}function w(t,n){let i=f().session?.joinUrl;i&&(n.copy&&u(i).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([49,4])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-vSEl3KxP.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([50,13,51,1,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,39,40,30,29,41,42,43,44,45,32,33,31,34,0,2,35,36,52,53,54,55,56,57,58,59,60,61,62,63,47,46,64,65]));t({joinUrl:i,copied:n.copy,initialTab:n.initialTab,followers:r(),onReset:a()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function T(e,t){return e===`tray-enable`?(s({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:c}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(w(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function E(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function D(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function O(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-BK-7ArIz.js`).then(e=>e.t);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function k(t,n,r){let{resolveModelById:i,resolveCurrentModel:a,setSelectedModelId:o}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-BK-7ArIz.js`).then(e=>e.t);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),s=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},c=e=>{try{let n=e?i(s(e)):a();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};c(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,i=t?.id;i&&t?.source!==`follower`&&(o(i),c(i),A(n,i),r?.())})}async function A(e,t,n=i){let r=t.indexOf(`:`);if(r<=0)return!1;let a={provider:t.slice(0,r),id:t.slice(r+1)},o=e.selectedScoopJid,s=o?e.getScoop(o)??null:null,c=p(e.getScoops(),s);if(!c)return!1;let l=await e.setScoopModel(c.jid,a);return l&&n(),l}async function j(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-BK-7ArIz.js`).then(e=>e.t);return{getAccounts:e,getProviderConfig:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{y as wireWcNav};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-live-CiwhsK8i.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-Bg1KKHOx.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/wc-shell-WlrdsROD.js","assets/mime-types-k2E6ulyv.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-CgsZ7LTp.js","assets/html-B_Hg2WOy.js","assets/icons-ZLR7gmJ4.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-BK-7ArIz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-idfTVsM8.js","assets/hid-device-registry-B2R-0rNt.js","assets/browser-DGwroBSO.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/tray-leader-B_FxjW0d.js","assets/record-D153M47x.js","assets/shared-2T6O01rS.js","assets/sprinkle-renderer-C9L5ZRvl.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-D4YmJlZ6.js","assets/wc-unit-context-BaavrvD8.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./export-spool-Eul4J1RP.js";async function n(e){let n=t(`local-${crypto.randomUUID()}`);try{let t=0;for await(let r of e.chunks)await n.append(r,t++);let r=await e.completion;return await n.finalize(t,r.byteLength,r.sha256)}catch(e){throw await n.cancel(),e}}async function r(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.setAttribute(`data-transcript-dl`,``),r.style.display=`none`,document.body.appendChild(r);try{r.click()}finally{r.remove(),URL.revokeObjectURL(n)}}async function i(t,n,r){let{getTranscriptExportService:i}=await e(async()=>{let{getTranscriptExportService:e}=await import(`./wc-live-CiwhsK8i.js`).then(e=>e.L);return{getTranscriptExportService:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60])),a=i(),o=t.kind===`frozen`?{kind:`frozen`,sessionId:t.sessionId}:{kind:`active`};return a.export(o,{signal:n})}export{r as downloadTranscriptBlob,i as runTranscriptExportForFollower,n as transcriptZipToBlob};
@@ -1 +0,0 @@
1
- import{n as e}from"./wc-onboarding-DUBWYyMl.js";export{e as hasOnboardingFinalLickInHistory};