sliccy 3.32.0 → 3.32.2

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 (98) hide show
  1. package/dist/ui/assets/adobe-0hBB-cvI.js +2 -0
  2. package/dist/ui/assets/adobe-Siq458HU.js +1 -0
  3. package/dist/ui/assets/{agent-bridge-BmPNQNyp.js → agent-bridge-B4fMRTq4.js} +1 -1
  4. package/dist/ui/assets/{agent-message-to-chat-BULzciH_.js → agent-message-to-chat-BtGucQZb.js} +1 -1
  5. package/dist/ui/assets/{anthropic-C0qwC7-w.js → anthropic-BtADBMTr.js} +2 -2
  6. package/dist/ui/assets/{anthropic-CHHtdLPy.js → anthropic-ClPBBm6O.js} +2 -2
  7. package/dist/ui/assets/{apps-YH9ldD25.js → apps-JmnZT0_d.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-DXygs5O6.js → azure-openai-BF07BSkG.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-C9P5DkS8.js → azure-openai-BadnFKYq.js} +1 -1
  10. package/dist/ui/assets/azure-openai-responses-DAwt8x-O.js +1 -0
  11. package/dist/ui/assets/{azure-openai-responses-CpWuZozQ.js → azure-openai-responses-PyfCX2VE.js} +1 -1
  12. package/dist/ui/assets/{biome_wasm-CRr4JjWn.js → biome_wasm-CwT46YkP.js} +1 -1
  13. package/dist/ui/assets/{bsh-watchdog-DaXpKHAi.js → bsh-watchdog-DOS3grX1.js} +1 -1
  14. package/dist/ui/assets/{cdp-C2e8AyZy.js → cdp-B0CbWj0b.js} +3 -3
  15. package/dist/ui/assets/{cdp-ws-page-bridge-Cj43vtty.js → cdp-ws-page-bridge-BaREToXn.js} +1 -1
  16. package/dist/ui/assets/{common-Bec07QCB.js → common-DPijqIuN.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-Ck_vQoam.js → connect-surface-B8X2BxSx.js} +1 -1
  18. package/dist/ui/assets/cost-command-CEPNh0VO.js +1 -0
  19. package/dist/ui/assets/{es-BVu1-m9n.js → es-BvNkEnLt.js} +5 -5
  20. package/dist/ui/assets/{follower-sprinkle-bridge-YKWY4PSL.js → follower-sprinkle-bridge-i8o45Iz0.js} +1 -1
  21. package/dist/ui/assets/{github-B2MUYew1.js → github-BHPt4SGX.js} +1 -1
  22. package/dist/ui/assets/{github-4lYWHWy0.js → github-D3FUw7Ft.js} +2 -2
  23. package/dist/ui/assets/{github-copilot-C52RjIpK.js → github-copilot-C1p7G_lc.js} +2 -2
  24. package/dist/ui/assets/{github-copilot-Uft2j7Oa.js → github-copilot-C7jxXCHT.js} +1 -1
  25. package/dist/ui/assets/google-DS3rVZP1.js +1 -0
  26. package/dist/ui/assets/{google-shared-BHU6i1pu.js → google-shared-Ck5bpSOw.js} +3 -3
  27. package/dist/ui/assets/{google-shared-BLw0sd3s.js → google-shared-DNHwaM2i.js} +1 -1
  28. package/dist/ui/assets/google-vertex-CkktMzxu.js +1 -0
  29. package/dist/ui/assets/{google-vertex-BOYR0o6q.js → google-vertex-CwyKiWDF.js} +1 -1
  30. package/dist/ui/assets/google-vnvvxTni.js +1 -0
  31. package/dist/ui/assets/hosted-config-apply-CAtsa6WM.js +1 -0
  32. package/dist/ui/assets/{intercepted-oauth-CkihOC6W.js → intercepted-oauth-CGJydQlU.js} +1 -1
  33. package/dist/ui/assets/{kernel-worker-thcJSaI4.js → kernel-worker-Cjl8fjr8.js} +977 -977
  34. package/dist/ui/assets/{lick-ws-bridge-DxWBoA9l.js → lick-ws-bridge-Ca7uAWlQ.js} +1 -1
  35. package/dist/ui/assets/{local-llm-CuKgZah9.js → local-llm-YcdPZyUH.js} +2 -2
  36. package/dist/ui/assets/{magick-wasm-CeJKAHiV.js → magick-wasm-C8lW0-35.js} +1 -1
  37. package/dist/ui/assets/{main-B17wOcQm.js → main-BccCPfVs.js} +120 -120
  38. package/dist/ui/assets/{main-cherry-BXAxhSxS.js → main-cherry-CfIm_qBH.js} +1 -1
  39. package/dist/ui/assets/{mistral-BAZMIGs3.js → mistral-DeuCdnLs.js} +2 -2
  40. package/dist/ui/assets/{mistral-COQuTqqc.js → mistral-Dgd8b7W0.js} +2 -2
  41. package/dist/ui/assets/{nodejs-BGy5U4JR.js → nodejs-D_wR4YhI.js} +1 -1
  42. package/dist/ui/assets/{nuke-command-DbDnIGqI.js → nuke-command-alibr6is.js} +1 -1
  43. package/dist/ui/assets/{oauth-1TWJ9Lpq.js → oauth-BvQKYNNy.js} +1 -1
  44. package/dist/ui/assets/oauth-bootstrap-BAnHB1H5.js +2 -0
  45. package/dist/ui/assets/{oauth-service-CsTUDTTA.js → oauth-service-2Bm2tu9h.js} +1 -1
  46. package/dist/ui/assets/{oauth-service-DUdG4vOP.js → oauth-service-HBkDeXXf.js} +1 -1
  47. package/dist/ui/assets/{offscreen-client-CbnPqFcd.js → offscreen-client-ijhP4Z8j.js} +1 -1
  48. package/dist/ui/assets/{onboarding-orchestrator-OseBY3e8.js → onboarding-orchestrator-VipPxQM9.js} +1 -1
  49. package/dist/ui/assets/{openai-codex-ChsSa-S2.js → openai-codex-BOCOi8v3.js} +1 -1
  50. package/dist/ui/assets/{openai-codex-CsEBtkzj.js → openai-codex-BquojmIo.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-responses-BwePkD6g.js → openai-codex-responses-2_MR5Im1.js} +5 -5
  52. package/dist/ui/assets/{openai-codex-responses-BKsBblPU.js → openai-codex-responses-XAgywVT2.js} +3 -3
  53. package/dist/ui/assets/openai-completions-aOEJoPfR.js +5 -0
  54. package/dist/ui/assets/openai-responses-CSMuG2OA.js +1 -0
  55. package/dist/ui/assets/openai-responses-DV7QYgXj.js +1 -0
  56. package/dist/ui/assets/{openai-responses-shared-CefvrRUw.js → openai-responses-shared-BK_I3ssh.js} +4 -4
  57. package/dist/ui/assets/{openai-responses-shared-DVDbpbYT.js → openai-responses-shared-CU6P3yaz.js} +5 -5
  58. package/dist/ui/assets/{openrouter-CaSZyKf5.js → openrouter-C8oMEs0J.js} +1 -1
  59. package/dist/ui/assets/{openrouter-D-MziO8t.js → openrouter-ybLvFVQF.js} +1 -1
  60. package/dist/ui/assets/{panel-rpc-handlers-ChvAu4GP.js → panel-rpc-handlers-DHlnRnNz.js} +1 -1
  61. package/dist/ui/assets/{provider-Bdb6y9pT.js → provider-CuDhBMAi.js} +1 -1
  62. package/dist/ui/assets/{provider-BiuAThHu.js → provider-DB2BpoXt.js} +2 -2
  63. package/dist/ui/assets/provider-store-access-C_cZs2wy.js +1 -0
  64. package/dist/ui/assets/provider-store-access-DGBFQqC5.js +1 -0
  65. package/dist/ui/assets/{proxied-fetch-CtGAzJEA.js → proxied-fetch-ChX8PtVt.js} +1 -1
  66. package/dist/ui/assets/{pyodide-DFilkaFa.js → pyodide-CjGywQ7Z.js} +2 -2
  67. package/dist/ui/assets/{remote-terminal-view-B4qSW6nT.js → remote-terminal-view-BYUBsOyw.js} +1 -1
  68. package/dist/ui/assets/{secret-env-BVFnqist.js → secret-env-yupQt_od.js} +1 -1
  69. package/dist/ui/assets/{slicc-editor-BoFhrpq6.js → slicc-editor-Bdty0qFW.js} +1 -1
  70. package/dist/ui/assets/{spawn-CctKIs7F.js → spawn-BQL7p7C6.js} +1 -1
  71. package/dist/ui/assets/{sql-wasm-CiP_iqtv.js → sql-wasm-D0KJBRcf.js} +1 -1
  72. package/dist/ui/assets/{store-Cb6Dcgd1.js → store-CoqxzWD_.js} +1 -1
  73. package/dist/ui/assets/{tray-leave-runtime-nxy6Ftte.js → tray-leave-runtime-DgzvG0cq.js} +1 -1
  74. package/dist/ui/assets/{typescript-C2iCtGbY.js → typescript-D8obSBRU.js} +3 -3
  75. package/dist/ui/assets/upgrade-detection-SLtjojQ6.js +1 -0
  76. package/dist/ui/assets/{web-BcJ-CPfm.js → web-2nwzshjs.js} +1 -1
  77. package/dist/ui/assets/ws-subscribers-D0P6rQ_C.js +1 -0
  78. package/dist/ui/assets/{xai-grok-BMnAJaG6.js → xai-grok-24FXuNvx.js} +1 -1
  79. package/dist/ui/assets/{xai-grok-DPkerKvQ.js → xai-grok-CGuHGhwm.js} +1 -1
  80. package/dist/ui/index.html +1 -1
  81. package/dist/ui/packages/webapp/index.html +1 -1
  82. package/package.json +1 -1
  83. package/dist/ui/assets/adobe-Bst4BHL-.js +0 -1
  84. package/dist/ui/assets/adobe-DCdXi0ew.js +0 -2
  85. package/dist/ui/assets/azure-openai-responses-Dh9R4d9u.js +0 -1
  86. package/dist/ui/assets/cost-command-B7V2Fi3m.js +0 -1
  87. package/dist/ui/assets/google-DgtutA97.js +0 -1
  88. package/dist/ui/assets/google-Dx52dHvK.js +0 -1
  89. package/dist/ui/assets/google-vertex-DRWaCSkn.js +0 -1
  90. package/dist/ui/assets/hosted-config-apply-BuSIcpqX.js +0 -1
  91. package/dist/ui/assets/oauth-bootstrap-Dchkv1Zk.js +0 -2
  92. package/dist/ui/assets/openai-completions-zkTKSpSn.js +0 -5
  93. package/dist/ui/assets/openai-responses-BDGEO7hH.js +0 -1
  94. package/dist/ui/assets/openai-responses-CUDxDKLP.js +0 -1
  95. package/dist/ui/assets/provider-store-access-CN7MwCrJ.js +0 -1
  96. package/dist/ui/assets/provider-store-access-CWJRpyK3.js +0 -1
  97. package/dist/ui/assets/upgrade-detection-DdhyD4vU.js +0 -1
  98. package/dist/ui/assets/ws-subscribers-D75-mu3V.js +0 -1
@@ -1 +1 @@
1
- import{F as e}from"./main-B17wOcQm.js";import{BrowserAPI as t}from"./cdp-C2e8AyZy.js";var n=new Set([`handshake.hello`,`handshake.welcome`,`cdp.request`,`cdp.response`,`cdp.event`,`permission.request`,`permission.response`,`host.event`,`slicc.event`]);function r(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.cherry===1&&typeof t.channelId==`string`&&typeof t.kind==`string`&&n.has(t.kind)}function i(e,t){return!(!t.allowOrigins.includes(e.origin)||t.expectedSource!==null&&e.source!==t.expectedSource||!r(e.data)||t.channelId!==null&&e.data.channelId!==t.channelId)}var a=e(`cherry-transport`),o=`cherry-session`,s=`cherry-target`,c=`cherry-frame`,l=3e4,u=class{opts;channelId=null;nextId=1;_state=`disconnected`;pending=new Map;listeners=new Map;connectResolve=null;connectTimer=null;_joinUrl=null;boundHandler=e=>this.handleMessage(e);onHostEvent=null;constructor(e){this.opts=e}get state(){return this._state}get joinUrl(){return this._joinUrl}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);this._state=`connecting`,this.channelId=`cherry-${crypto.randomUUID()}`,typeof window<`u`&&window.addEventListener(`message`,this.boundHandler);let t=e?.timeout??l;return new Promise((e,n)=>{this.connectResolve=e,this.connectTimer=setTimeout(()=>{this.connectTimer=null,typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler),this._state=`disconnected`,this.channelId=null,this.connectResolve=null,n(Error(`Cherry handshake timed out after ${t}ms`))},t),this.post({cherry:1,channelId:this.channelId,kind:`handshake.hello`,capabilities:this.opts.capabilities??{navigate:!0,screenshot:!0,openUrl:!0}})})}disconnect(){this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler);for(let[,e]of this.pending)e.reject(Error(`Cherry transport disconnected`));this.pending.clear(),this._state=`disconnected`,this.channelId=null}async send(e,t,n,r=3e4){if(this._state!==`connected`)throw Error(`Cherry transport is not connected`);let i=this.handleSynthetic(e,t);if(i)return i;let a=this.nextId++,o=await new Promise((n,i)=>{let o=setTimeout(()=>{this.pending.delete(a),i(Error(`Cherry CDP timed out after ${r}ms: ${e}`))},r);this.pending.set(a,{resolve:e=>{clearTimeout(o),n(e)},reject:e=>{clearTimeout(o),i(e)}}),this.post({cherry:1,channelId:this.channelId,kind:`cdp.request`,id:a,method:e,params:t})});return e===`Page.navigate`&&this.synthesizeNavigationLifecycle(o,t?.url),o}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}__test_receive(e){this.handleMessage(e)}emitSliccEventToHost(e,t){if(!this.channelId){a.warn(`Dropping slicc.event before handshake (no channelId yet)`,{name:e});return}this.post({cherry:1,channelId:this.channelId,kind:`slicc.event`,name:e,detail:t})}post(e){this.opts.counterpart.postMessage(e,this.opts.targetOrigin)}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of n)try{e(t)}catch{}}handleSynthetic(e,t){switch(e){case`Target.getTargets`:return Promise.resolve({targetInfos:[{targetId:s,type:`page`,title:`Cherry Host Page`,url:typeof location<`u`?location.href:`about:blank`,attached:!0}]});case`Target.attachToTarget`:return Promise.resolve({sessionId:o});case`Target.detachFromTarget`:case`Target.closeTarget`:return Promise.resolve({success:!0});case`Page.enable`:case`Runtime.enable`:case`DOM.enable`:case`Page.bringToFront`:return Promise.resolve({});case`Page.getFrameTree`:return Promise.resolve({frameTree:{frame:{id:c,loaderId:`cherry-loader`,url:typeof location<`u`?location.href:`about:blank`,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},childFrames:[]}});case`Runtime.createIsolatedWorld`:return Promise.resolve({executionContextId:1});default:return null}}synthesizeNavigationLifecycle(e,t){let n=e.frameId??c,r=t??(typeof location<`u`?location.href:`about:blank`);this.emit(`Page.frameNavigated`,{frame:{id:n,loaderId:`cherry-loader`,url:r,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},sessionId:o}),this.emit(`Page.loadEventFired`,{timestamp:Date.now()/1e3,sessionId:o})}handleMessage(e){if(!i(e,{allowOrigins:this.opts.allowOrigins,expectedSource:this.opts.counterpart,channelId:this.channelId})){r(e.data)&&a.warn(`Rejected a cherry envelope (origin/source/channel mismatch)`,{origin:e.origin,allowOrigins:this.opts.allowOrigins});return}let t=e.data;switch(t.kind){case`handshake.welcome`:this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),this._state=`connected`,this._joinUrl=t.joinUrl??null,a.info(`Cherry handshake complete`,{channelId:this.channelId}),this.connectResolve?.(),this.connectResolve=null;return;case`cdp.response`:{let e=this.pending.get(t.id);if(!e)return;this.pending.delete(t.id),t.error?e.reject(Error(`Cherry CDP error: ${t.error.message} (${t.error.code})`)):e.resolve(t.result??{});return}case`cdp.event`:this.emit(t.method,{...t.params??{},sessionId:t.sessionId??o});return;case`host.event`:this.onHostEvent?.(t.name,t.detail);return;default:return}}},d=e(`cherry-boot`);async function f(){let e=[document.referrer?new URL(document.referrer).origin:location.origin],n=e[0],r=new u({counterpart:window.parent,allowOrigins:e,targetOrigin:n});await r.connect(),d.info(`Cherry transport connected`);let i=r.joinUrl;if(!i)throw Error(`cherry boot: no joinUrl from handshake`);return{transport:r,browser:new t(r),joinUrl:i}}export{f as setupCherryFollower};
1
+ import{I as e}from"./main-BccCPfVs.js";import{BrowserAPI as t}from"./cdp-B0CbWj0b.js";var n=new Set([`handshake.hello`,`handshake.welcome`,`cdp.request`,`cdp.response`,`cdp.event`,`permission.request`,`permission.response`,`host.event`,`slicc.event`]);function r(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.cherry===1&&typeof t.channelId==`string`&&typeof t.kind==`string`&&n.has(t.kind)}function i(e,t){return!(!t.allowOrigins.includes(e.origin)||t.expectedSource!==null&&e.source!==t.expectedSource||!r(e.data)||t.channelId!==null&&e.data.channelId!==t.channelId)}var a=e(`cherry-transport`),o=`cherry-session`,s=`cherry-target`,c=`cherry-frame`,l=3e4,u=class{opts;channelId=null;nextId=1;_state=`disconnected`;pending=new Map;listeners=new Map;connectResolve=null;connectTimer=null;_joinUrl=null;boundHandler=e=>this.handleMessage(e);onHostEvent=null;constructor(e){this.opts=e}get state(){return this._state}get joinUrl(){return this._joinUrl}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);this._state=`connecting`,this.channelId=`cherry-${crypto.randomUUID()}`,typeof window<`u`&&window.addEventListener(`message`,this.boundHandler);let t=e?.timeout??l;return new Promise((e,n)=>{this.connectResolve=e,this.connectTimer=setTimeout(()=>{this.connectTimer=null,typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler),this._state=`disconnected`,this.channelId=null,this.connectResolve=null,n(Error(`Cherry handshake timed out after ${t}ms`))},t),this.post({cherry:1,channelId:this.channelId,kind:`handshake.hello`,capabilities:this.opts.capabilities??{navigate:!0,screenshot:!0,openUrl:!0}})})}disconnect(){this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler);for(let[,e]of this.pending)e.reject(Error(`Cherry transport disconnected`));this.pending.clear(),this._state=`disconnected`,this.channelId=null}async send(e,t,n,r=3e4){if(this._state!==`connected`)throw Error(`Cherry transport is not connected`);let i=this.handleSynthetic(e,t);if(i)return i;let a=this.nextId++,o=await new Promise((n,i)=>{let o=setTimeout(()=>{this.pending.delete(a),i(Error(`Cherry CDP timed out after ${r}ms: ${e}`))},r);this.pending.set(a,{resolve:e=>{clearTimeout(o),n(e)},reject:e=>{clearTimeout(o),i(e)}}),this.post({cherry:1,channelId:this.channelId,kind:`cdp.request`,id:a,method:e,params:t})});return e===`Page.navigate`&&this.synthesizeNavigationLifecycle(o,t?.url),o}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}__test_receive(e){this.handleMessage(e)}emitSliccEventToHost(e,t){if(!this.channelId){a.warn(`Dropping slicc.event before handshake (no channelId yet)`,{name:e});return}this.post({cherry:1,channelId:this.channelId,kind:`slicc.event`,name:e,detail:t})}post(e){this.opts.counterpart.postMessage(e,this.opts.targetOrigin)}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of n)try{e(t)}catch{}}handleSynthetic(e,t){switch(e){case`Target.getTargets`:return Promise.resolve({targetInfos:[{targetId:s,type:`page`,title:`Cherry Host Page`,url:typeof location<`u`?location.href:`about:blank`,attached:!0}]});case`Target.attachToTarget`:return Promise.resolve({sessionId:o});case`Target.detachFromTarget`:case`Target.closeTarget`:return Promise.resolve({success:!0});case`Page.enable`:case`Runtime.enable`:case`DOM.enable`:case`Page.bringToFront`:return Promise.resolve({});case`Page.getFrameTree`:return Promise.resolve({frameTree:{frame:{id:c,loaderId:`cherry-loader`,url:typeof location<`u`?location.href:`about:blank`,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},childFrames:[]}});case`Runtime.createIsolatedWorld`:return Promise.resolve({executionContextId:1});default:return null}}synthesizeNavigationLifecycle(e,t){let n=e.frameId??c,r=t??(typeof location<`u`?location.href:`about:blank`);this.emit(`Page.frameNavigated`,{frame:{id:n,loaderId:`cherry-loader`,url:r,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},sessionId:o}),this.emit(`Page.loadEventFired`,{timestamp:Date.now()/1e3,sessionId:o})}handleMessage(e){if(!i(e,{allowOrigins:this.opts.allowOrigins,expectedSource:this.opts.counterpart,channelId:this.channelId})){r(e.data)&&a.warn(`Rejected a cherry envelope (origin/source/channel mismatch)`,{origin:e.origin,allowOrigins:this.opts.allowOrigins});return}let t=e.data;switch(t.kind){case`handshake.welcome`:this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),this._state=`connected`,this._joinUrl=t.joinUrl??null,a.info(`Cherry handshake complete`,{channelId:this.channelId}),this.connectResolve?.(),this.connectResolve=null;return;case`cdp.response`:{let e=this.pending.get(t.id);if(!e)return;this.pending.delete(t.id),t.error?e.reject(Error(`Cherry CDP error: ${t.error.message} (${t.error.code})`)):e.resolve(t.result??{});return}case`cdp.event`:this.emit(t.method,{...t.params??{},sessionId:t.sessionId??o});return;case`host.event`:this.onHostEvent?.(t.name,t.detail);return;default:return}}},d=e(`cherry-boot`);async function f(){let e=[document.referrer?new URL(document.referrer).origin:location.origin],n=e[0],r=new u({counterpart:window.parent,allowOrigins:e,targetOrigin:n});await r.connect(),d.info(`Cherry transport connected`);let i=r.joinUrl;if(!i)throw Error(`cherry boot: no joinUrl from handshake`);return{transport:r,browser:new t(r),joinUrl:i}}export{f as setupCherryFollower};