@fkn/lib 0.9.68 → 0.9.69
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.
- package/{account-Uh0-1Cbp.js → account-CAX5oCUD.js} +2 -2
- package/{account-m2iCmNui.cjs → account-aaD_dWUH.cjs} +1 -1
- package/{account-generation-BKHNe-jL.js → account-generation-BElgcQwo.js} +1 -1
- package/{account-generation-ACCBzaI-.cjs → account-generation-DwMcJFGc.cjs} +1 -1
- package/{account-storage-BmCVutNL.js → account-storage-C7Lyae5Q.js} +2 -2
- package/{account-storage-dYWDpqsr.cjs → account-storage-gOL0HE6i.cjs} +1 -1
- package/account.cjs +1 -1
- package/account.js +1 -1
- package/api-BkoXMcoe.cjs +3 -0
- package/{api-DRglK7ft.js → api-DeGR_tzF.js} +62 -60
- package/api.cjs +1 -1
- package/api.js +1 -1
- package/{broker-frame-vjSpBa8d.js → broker-frame-BClLp2ZV.js} +3 -1
- package/broker-frame-BKHtDSjv.cjs +11 -0
- package/broker-frame.cjs +1 -1
- package/broker-frame.d.ts +2 -1
- package/broker-frame.js +1 -1
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/dns.cjs +1 -1
- package/cloud/dns.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs/promises.cjs +1 -1
- package/cloud/fs/promises.js +1 -1
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +2 -2
- package/cloud/http.cjs +1 -1
- package/cloud/http.js +1 -1
- package/cloud/net.cjs +1 -1
- package/cloud/net.js +1 -1
- package/{cloud-CoHrHk6t.js → cloud-B3LylTk3.js} +9 -9
- package/{cloud-r8DsgB1W.cjs → cloud-BvRWgECW.cjs} +1 -1
- package/cloud.cjs +1 -1
- package/cloud.js +7 -7
- package/{dgram-BBbLokVF.js → dgram-BMCYdn0Q.js} +1 -1
- package/{dgram-D9ljiUFh.cjs → dgram-Xrt2rPrC.cjs} +1 -1
- package/dgram.cjs +1 -1
- package/dgram.js +1 -1
- package/{dns-o8DLFjP1.js → dns-CxfA8mGU.js} +1 -1
- package/{dns-2v96zoEh.cjs → dns-ijWQw2NO.cjs} +1 -1
- package/dns.cjs +1 -1
- package/dns.js +1 -1
- package/{extension-Dn64NfoU.cjs → extension-gWkpzDKG.cjs} +1 -1
- package/{extension-CG7Qi3I0.js → extension-nTQBWRg6.js} +4 -4
- package/extension.cjs +1 -1
- package/extension.js +2 -2
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-BX_ghRy0.cjs → fs-BVISC6T6.cjs} +1 -1
- package/{fs--MLHvMW-.cjs → fs-Cu7wH1Fo.cjs} +1 -1
- package/{fs-BnWXGRik.js → fs-D16P3dtE.js} +1 -1
- package/{fs-Cw7CcUhx.js → fs-DsHrUu0O.js} +3 -3
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/{http-DIDjdm08.js → http-1ruN3pj9.js} +1 -1
- package/{http-BE3UBktN.cjs → http-CzMigExo.cjs} +1 -1
- package/http.cjs +1 -1
- package/http.js +1 -1
- package/index.cjs +1 -1
- package/index.js +13 -13
- package/{lib-D2uKjgLV.js → lib-6lykV0aT.js} +1 -1
- package/{lib-_WDKIXcj.cjs → lib-C1OPIW6F.cjs} +1 -1
- package/{net-COkJw8lV.js → net-Bj1vCk29.js} +1 -1
- package/{net-Dk2kqtgE.cjs → net-b250sYEx.cjs} +1 -1
- package/net.cjs +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/{packages-CrD5Sa28.js → packages-BqY5yoIM.js} +1 -1
- package/{packages-CTqprdnz.cjs → packages-Cb8FXQu1.cjs} +1 -1
- package/packages.cjs +1 -1
- package/packages.js +1 -1
- package/{proxy-DVgGp6A8.cjs → proxy-BFa0n5gx.cjs} +1 -1
- package/{proxy-BBAQxJmP.js → proxy-FSgMUaD3.js} +2 -2
- package/{rooms-DHFS9cwA.cjs → rooms-CYP6g-p9.cjs} +1 -1
- package/{rooms-DP5stTEr.js → rooms-GZ798oSd.js} +1 -1
- package/rooms.cjs +1 -1
- package/rooms.js +1 -1
- package/{storage-BCjYihUO.cjs → storage-CoEDsbk2.cjs} +1 -1
- package/{storage-BhfImh_2.js → storage-sCdMPRVY.js} +3 -3
- package/storage.cjs +1 -1
- package/storage.js +1 -1
- package/api-DrvhPN56.cjs +0 -3
- package/broker-frame-CF4-yXtj.cjs +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { l as t, o as n } from "./api-
|
|
3
|
-
import { i as r } from "./account-generation-
|
|
2
|
+
import { l as t, o as n } from "./api-DeGR_tzF.js";
|
|
3
|
+
import { i as r } from "./account-generation-BElgcQwo.js";
|
|
4
4
|
// src/account.ts
|
|
5
5
|
var i = /* @__PURE__ */ e({
|
|
6
6
|
info: () => s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./account-generation-DwMcJFGc.cjs");var r=e.t({info:()=>o,login:()=>i,logout:()=>a,onChange:()=>s}),i=async()=>typeof window>`u`?!1:(await t.o).account.login(location.origin).catch(()=>!1),a=async()=>{typeof window<`u`&&await(await t.o).account.logout().catch(()=>{})},o=async()=>{if(typeof window>`u`)return null;let e=await t.o.then(e=>e.account.info()).catch(()=>null);return e?{name:e.name,image:e.image,premium:e.premium,premiumUntil:e.premiumUntil?Date.parse(e.premiumUntil):null}:null},s=async e=>t.l?n.i(e):()=>{};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./api-
|
|
1
|
+
const e=require("./api-BkoXMcoe.cjs");var t=0,n=new Set,r=2e3,i=null,a=e=>{let r=e?.switched!==!1;r&&(t+=1,i&&=(clearTimeout(i.timer),null));for(let e of[...n])try{e({switched:r})}catch{}},o=!1,s=0,c=()=>{let t=e.c();t&&s!==t.epoch&&(s=t.epoch,Promise.resolve(t.remote.account.onChange(a)).catch(()=>{s===t.epoch&&(s=0)}))},l=()=>{!o&&e.l&&(o=!0,e.u(c))},u=()=>t,d=e=>(n.add(e),l(),()=>{n.delete(e)}),f=e=>{if(e!==t||i?.generation===e)return;let n=setTimeout(()=>{i?.timer===n&&(i=null,t===e&&a({switched:!0}))},r);i={generation:e,timer:n}};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { o as t } from "./api-
|
|
2
|
+
import { o as t } from "./api-DeGR_tzF.js";
|
|
3
3
|
import { STORAGE_ACCOUNT_CHANGED as n, STORAGE_ACCOUNT_PIN_UNSUPPORTED as r, STORAGE_NOT_FOUND as i } from "./messages.js";
|
|
4
|
-
import { n as a, r as o, t as s } from "./account-generation-
|
|
4
|
+
import { n as a, r as o, t as s } from "./account-generation-BElgcQwo.js";
|
|
5
5
|
// src/account-storage.ts
|
|
6
6
|
var c = /* @__PURE__ */ e({
|
|
7
7
|
StorageAccountChangedError: () => f,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./messages.cjs"),r=require("./account-generation-DwMcJFGc.cjs");var i=e.t({StorageAccountChangedError:()=>c,StorageAccountPinUnsupportedError:()=>l,StorageLockedError:()=>a,StorageNotFoundError:()=>o,availability:()=>k,available:()=>w,captureAccount:()=>p,encryption:()=>L,isAccountChanged:()=>u,isInvalidPin:()=>d,isNotFound:()=>s,knownPin:()=>y,list:()=>A,pinFor:()=>b,quota:()=>j,readFile:()=>M,readFileSealed:()=>P,remove:()=>I,unlock:()=>R,writeFile:()=>F}),a=class extends Error{code=`FKN_E2E_LOCKED`;constructor(){super(`storage locked: connect the app again to open encrypted data`)}},o=class extends Error{code=n.STORAGE_NOT_FOUND;constructor(e=`storage: no object at that path`){super(e)}},s=e=>e?.code===n.STORAGE_NOT_FOUND,c=class extends Error{code=n.STORAGE_ACCOUNT_CHANGED;constructor(e=`storage: the signed-in account changed, so this call was not made`){super(e)}},l=class extends Error{code=n.STORAGE_ACCOUNT_PIN_UNSUPPORTED;constructor(e=`storage: the FKN broker cannot pin calls to an account yet, so nothing was sent`){super(e)}},u=e=>e?.code===`FKN_ACCOUNT_CHANGED`||e instanceof Error&&e.message.startsWith(`fkn:account-changed`),d=e=>e instanceof Error&&e.message.startsWith(`fkn:account-pin-invalid`),f=e=>{throw e instanceof Error&&e.message.startsWith(`fkn:e2e-locked`)?new a:s(e)?new o(e.message):u(e)?new c:e instanceof Error&&e.message.startsWith(`fkn:account-pin-unsupported`)?new l:e instanceof Error&&(/^not found$/i.test(e.message)||/\(404\)$/.test(e.message))?new o(e.message):e},p=()=>(r.n(),{generation:r.t()}),m=new Map,h=null,g=e=>typeof e?.accountPin==`function`,_=(e,t)=>{let n=Promise.resolve(t.accountPin()).then(t=>{if(typeof t!=`string`||!t)throw Error(`storage: the broker answered no account pin`);return r.t()===e&&m.set(e,t),t});return h={generation:e,pin:n},n.catch(()=>{h?.pin===n&&(h=null)}),n},v=async(e,t)=>{let n=m.get(e.generation);if(n!==void 0)return n;if(e.generation!==r.t())throw new c;let i=await(h?.generation===e.generation?h.pin:_(e.generation,t)).catch(f);if(e.generation!==r.t())throw new c;return i},y=e=>m.get(e.generation),b=async e=>{let n=(await t.o).cloud.fs;if(!g(n))throw new l;return v(e,n)},x=e=>{for(let[t,n]of m)if(n===e)return t},S=e=>e?.pin??p(),C=async(e,n)=>{let i=(await t.o).cloud.fs;if(!g(i))throw new l;let a=`pin`in e?e.pin:await v(e,i);if(!g(i))throw new l;return n(i,{accountPin:a}).catch(t=>{if(u(t)){let t=`generation`in e?e.generation:x(a);t!==void 0&&r.r(t)}return f(t)})},w=()=>t.o.then(e=>e.cloud.fs.available()).catch(()=>!1),T=8e3,E=1e3,D=!1,O=async()=>{let e=(await t.o).cloud.fs;return typeof e.availability==`function`?e.availability():await e.available()?`connected`:`disconnected`},k=async()=>{let e=D?E:T,t=await new Promise(t=>{let n=setTimeout(()=>t(`timeout`),e);O().then(e=>{clearTimeout(n),t(e)},()=>{clearTimeout(n),t(`unknown`)})});return t===`timeout`?(D=!0,`unknown`):(D=!1,t)},A=e=>C(S(e),(e,t)=>e.list(t)),j=()=>t.o.then(e=>e.cloud.fs.quota()),M=async(e,t)=>{let n=await C(S(t),(t,n)=>t.readFile(e,n));return new Blob([n])},N=e=>{if(e===null||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()},P=async(e,t)=>C(S(t),async(t,n)=>{let r=t;if(typeof r.readFileSealed!=`function`)return{data:await t.readFile(e,n),sealedAt:null};let i=await r.readFileSealed(e,n);return{data:i.bytes,sealedAt:N(i.sealedAt)}}),F=async(e,t,n)=>{let r=S(n),i=t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t;await C(r,(t,r)=>t.writeFile(e,i,n?.contentType??null,r))},I=async(e,t)=>{await C(S(t),(t,n)=>t.remove(e,n))},L=()=>t.o.then(e=>e.cloud.fs.encryption()),R=()=>t.o.then(e=>e.cloud.fs.unlock());Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return R}});
|
package/account.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./account-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./account-aaD_dWUH.cjs");exports.info=e.n,exports.login=e.r,exports.logout=e.i,exports.onChange=e.a;
|
package/account.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as info, r as login, i as logout, a as onChange } from "./account-
|
|
1
|
+
export { n as info, r as login, i as logout, a as onChange } from "./account-CAX5oCUD.js";
|
package/api-BkoXMcoe.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const e=require("./broker-frame-BKHtDSjv.cjs");let t=require("osra");var n=1e4,r=16,i=e=>{let t;try{t=e.contentWindow}catch{return!0}if(!t)return!0;try{let e=t.location.href;return e!==``&&e!==`about:blank`}catch{return!0}},a=(e,t=n)=>new Promise(n=>{if(i(e))return n();let a=()=>{clearInterval(o),clearTimeout(s),e.removeEventListener(`load`,a),n()},o=setInterval(()=>{i(e)&&a()},r),s=setTimeout(a,t);e.addEventListener(`load`,a)}),o=5e3,s=9e4,c=(e,t,r)=>{let a=1,c,l=e.ownerDocument.defaultView,u=()=>{clearTimeout(c),l?.removeEventListener(`message`,m),e.removeEventListener(`load`,p)},d=()=>{if(e.isConnected){if(a>=4)return u(),console.error(`FKN @fkn/lib: ${t} did not load in ${a} tries; reload the page`);a+=1,e.contentWindow?.location.replace(t),f(s)}},f=e=>{clearTimeout(c),c=setTimeout(d,e)},p=()=>f(o),m=t=>{t.source===e.contentWindow&&t.origin===r&&u()};if(l?.addEventListener(`message`,m),e.addEventListener(`load`,p),i(e))return f(o);c=setTimeout(()=>i(e)?f(8e4):d(),n)},l=32,u=8,d=120,f=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),p=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),m=`light dark`,h=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`padding`,`0`,`important`),t.setProperty(`box-sizing`,`border-box`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,m),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},g=({x:e,y:t,width:n,height:r,radius:i})=>{if(!i)return`M${e} ${t}h${n}v${r}h${-n}Z`;let a=Math.min(n,r)/2,[o,s,c,l]=i.map(e=>Math.max(0,Math.min(e,a)));return`M${e+o} ${t}h${n-o-s}a${s} ${s} 0 0 1 ${s} ${s}v${r-s-c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n-c-l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r-l-o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`},ee=()=>f&&p,_=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],te=e=>{let t=e[0];if(!t)return[];let n=_(t)[0],r=[];return e.forEach((t,i)=>{r.push(..._(t)),i>0&&i<e.length-1&&r.push(n)}),r},ne=e=>`polygon(nonzero, ${te(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,re=({x:e,y:t,width:n,height:r,radius:i},a)=>{let o=`${t}px ${a.width-e-n}px ${a.height-t-r}px ${e}px`;return i?`inset(${o} round ${i.map(e=>`${e}px`).join(` `)})`:`inset(${o})`},ie=(e,t,n)=>{if(t)return`none`;if(e.length===0)return`inset(100%)`;let r=e.length===1?e[0]:void 0;return r?re(r,n):p&&e.length<=5&&!e.some(e=>e.radius)?ne(e):`path('${e.map(g).join(``)}')`},v=e=>{if(e.length<2)return null;let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y));return{x:t,y:n,width:Math.max(...e.map(e=>e.x+e.width))-t,height:Math.max(...e.map(e=>e.y+e.height))-n}},ae=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,oe=16,y=(e,t,n)=>t===1?e*oe:t===2?e*n:e,se=(e,t,n)=>{let r=getComputedStyle(e);return n!==0&&/auto|scroll/.test(r.overflowY)&&e.scrollHeight>e.clientHeight?!0:t!==0&&/auto|scroll/.test(r.overflowX)&&e.scrollWidth>e.clientWidth},ce=(e,t,n)=>{for(let r=e;r;r=r.parentElement)if(se(r,t,n))return r;return document.scrollingElement},b=null,x=null,S=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),C=e=>{if(!x||!b||!ae(x,e.clientX,e.clientY))return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t||t===b)return;let n=y(e.deltaX,e.deltaMode,window.innerWidth),r=y(e.deltaY,e.deltaMode,window.innerHeight),i=ce(t,n,r);i&&(i.scrollBy({left:n,top:r,behavior:`instant`}),e.cancelable&&e.preventDefault())},le=e=>{let t=x!==null;x=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,C,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,C,{capture:!0}))},w=0,ue=e=>{if(e===w)return;w=e;let t=document.documentElement.style;e>0?(t.setProperty(`margin-top`,`${e}px`,`important`),t.setProperty(`--fkn-inset-top`,`${e}px`)):(t.removeProperty(`margin-top`),t.removeProperty(`--fkn-inset-top`))},T=(e,t)=>{t?(e.removeAttribute(`tabindex`),e.removeAttribute(`aria-hidden`)):(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-hidden`,`true`))},E=(e,{modal:t,rects:n,inset:r},i)=>{if(ue(r),!f){let r=t||n.length>0;T(e,r),e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=ie(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),T(e,o!==`inset(100%)`),le(t||o!==a?null:v(n))},de=e=>{if(typeof e!=`object`||!e)return 0;let{top:t}=e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?0:Math.min(Math.round(t),d)},fe=e=>{if(Array.isArray(e)&&e.length===4&&e.every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0))return e.some(e=>e>0)?e:void 0},pe=(e,t)=>{if(typeof e!=`object`||!e)return null;let{x:n,y:r,width:i,height:a}=e;if(![n,r,i,a].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let o=t.width,s=t.height,c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(0,Math.min(Math.round(r),s)),u=Math.max(c,Math.min(Math.round(n+i),o)),d=Math.max(l,Math.min(Math.round(r+a),s)),f=fe(e.radius);return{x:c,y:l,width:u-c,height:d-l,...f?{radius:f}:{}}},D={"not-rendered":`this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout`,clipped:`it is clipped away or positioned outside the viewport`,"not-shown":`it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter`},me=e=>Array.isArray(e)?e.slice(0,u).flatMap(e=>{if(typeof e!=`object`||!e)return[];let{kind:t,cause:n,level:r}=e;return typeof t!=`string`||t.length>40||typeof n!=`string`||!(n in D)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],O=new Set,he=e=>{for(let{kind:t,cause:n,level:r}of e)O.has(t)||(O.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${D[n]}. Nobody using this page can see or answer it.
|
|
2
|
+
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.`+(r===`liveness`?`
|
|
3
|
+
This browser reports limited detail, so the cause above is a best guess.`:``)))},k=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,l):[]).map(e=>pe(e,t)).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r,hidden:me(n.hidden),inset:de(n.inset)}},ge=()=>b!==null,A=null,j=null,_e=()=>{if(!b||A===null)return;let e=S(b),t=k(A,e);t&&E(b,t,e)},ve=e=>{typeof ResizeObserver<`u`&&(j??=new ResizeObserver(_e),j.disconnect(),j.observe(e))},ye=e=>{h(e),E(e,{modal:!1,rects:[],hidden:[],inset:0},S(e)),b=e,ve(e)},be=e=>{if(!b)return;let t=S(b),n=k(e,t);n&&(A=e,E(b,n,t),he(n.hidden))},M=`https://fkn.app`,N=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,P=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,F=e.n(P),xe=`fkn-api-port`,Se=`fkn-api-port-ack`,Ce=2e3,we=()=>{if(!N||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===Se&&r(t.port1)},a=setTimeout(()=>r(void 0),Ce);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:xe},M,[t.port2])}catch{r(void 0)}})},I,Te=()=>{if(I||!N)return I;let t=N.querySelector(`iframe[src="${F}"]`);if(t)I=t;else{let t=N.createElement(`iframe`);t.setAttribute(`allow`,e.i(P)),t.src=F,N.body.appendChild(t),I=t}return c(I,F,M),ye(I),I},L=(async()=>{if(!N)return;let e=await we();if(e)return{receive:e,emit:e};let t=Te();if(!t)return;await a(t);let n=t.contentWindow;return n?{receive:window,emit:n}:void 0})(),Ee=(e,{boundRetired:t=e=>e}={})=>{let n,r=0,i=!1,a=()=>{},o=()=>new Promise(e=>{a=e}),s=o(),c=s,l=new Set,u=new Set,d=0,f=0,p=()=>{let e=[...u];u.clear();let t=Error(`FKN: the broker was replaced while this call was pending; retry it`);for(let n of e)try{n(t)}catch{}};(async()=>{for await(let t of e){let e=++r;n={remote:t,epoch:e};let i=a;s=o(),i(t),p();for(let n of[...l])try{n(t,e)}catch{}}})().catch(()=>{});let m=async(e,r)=>{let a=n?.remote??await(i?t(s):s);for(let t of e.slice(0,-1))a=a[t];let o=a[e[e.length-1]??``];d=Date.now(),f+=1;let c=()=>{},l=new Promise((e,t)=>{c=t});u.add(c);try{return await Promise.race([Promise.resolve(o.apply(a,r)),l])}finally{--f,u.delete(c),d=Date.now()}},h=new Map,g=e=>{let t=e.join(`\0`),r=h.get(t);if(r)return r;let i=new Proxy(function(){},{get:(t,r)=>{if(typeof r!=`string`||r===`then`)return;let i=n;if(i){let t=i.remote;for(let n of e)t=t?.[n];if(t?.[r]===void 0)return}return g([...e,r])},apply:(t,n,r)=>m(e,r)});return h.set(t,i),i};return{facade:g([]),first:c.then(()=>{}),current:()=>n,onEpoch:e=>{if(l.add(e),n)try{e(n.remote,n.epoch)}catch{}return()=>{l.delete(e)}},lastCall:()=>d,inFlight:()=>f,routable:()=>n?Promise.resolve():s.then(()=>{}),retire:()=>{i=!0,n=void 0,p()}}},R=!1,z=new Set,B=()=>R,De=()=>{if(!R){R=!0;for(let e of[...z])try{e()}catch{}z.clear()}},V=e=>{R?e():z.add(e)},Oe=typeof window<`u`||typeof self<`u`,H=async()=>{if(typeof window<`u`)return L;if(typeof self<`u`)return{receive:self,emit:self}},U=`fkn-api`,ke=`fkn-api-window`,Ae={async*[Symbol.asyncIterator](){let e=await H();if(!e)await new Promise(()=>{});else{if(!B()){let n=new AbortController;V(()=>n.abort());for await(let r of(0,t.expose)({},{key:U,transport:e,unregisterSignal:n.signal})){if(n.signal.aborted)break;yield r}}yield*(0,t.expose)({},{key:ke,transport:e})}}},W=!1,G=H().then(e=>new Promise(n=>{if(!e)return;let{receive:r}=e,i=e=>{(0,t.checkOsraMessageKey)(e.data,U)&&(r.removeEventListener(`message`,i),W=!0,n())};r.addEventListener(`message`,i)})),K=Ee(Ae,{boundRetired:e=>Promise.race([e,G.then(()=>Q(e,()=>new Z))])});V(()=>K.retire());var q=Promise.race([K.first,new Promise(e=>V(e))]).then(()=>K.facade),J=8e3,je=1e3,Y=!1,X=class extends Error{constructor(e,t){super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`),this.name=`BrokerUnreachableError`}},Z=class extends Error{constructor(){super(`FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload`),this.name=`OwnChannelUnavailableError`}},Q=(e,t)=>{let n=Y?je:J;return Promise.race([e,new Promise((e,r)=>setTimeout(()=>{Y=!0,r(t(n))},n))])},Me=e=>B()?Q(K.routable().then(()=>K.facade),t=>W?new Z:new X(e,t)):Q(q,t=>new X(e,t));V(()=>{G.then(()=>{let e=setTimeout(()=>console.error(new Z),J);K.routable().then(()=>clearTimeout(e))})});var $=K.onEpoch,Ne=K.current,Pe=K.lastCall,Fe=K.inFlight;$(e=>{ge()&&e.overlay.setHost(be,{exactClips:ee(),colorScheme:m}).catch(()=>{})}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as e, n as t } from "./broker-frame-
|
|
1
|
+
import { i as e, n as t } from "./broker-frame-BClLp2ZV.js";
|
|
2
2
|
import { checkOsraMessageKey as n, expose as r } from "osra";
|
|
3
3
|
// src/frame-ready.ts
|
|
4
4
|
var i = 1e4, a = 16, o = (e) => {
|
|
@@ -105,21 +105,23 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
105
105
|
C = e;
|
|
106
106
|
let t = document.documentElement.style;
|
|
107
107
|
e > 0 ? (t.setProperty("margin-top", `${e}px`, "important"), t.setProperty("--fkn-inset-top", `${e}px`)) : (t.removeProperty("margin-top"), t.removeProperty("--fkn-inset-top"));
|
|
108
|
-
}, w = (e,
|
|
108
|
+
}, w = (e, t) => {
|
|
109
|
+
t ? (e.removeAttribute("tabindex"), e.removeAttribute("aria-hidden")) : (e.setAttribute("tabindex", "-1"), e.setAttribute("aria-hidden", "true"));
|
|
110
|
+
}, T = (e, { modal: t, rects: n, inset: r }, i) => {
|
|
109
111
|
if (pe(r), !m) {
|
|
110
112
|
let r = t || n.length > 0;
|
|
111
|
-
e.style.setProperty("pointer-events", r ? "auto" : "none", "important"), e.style.setProperty("visibility", r ? "visible" : "hidden", "important");
|
|
113
|
+
w(e, r), e.style.setProperty("pointer-events", r ? "auto" : "none", "important"), e.style.setProperty("visibility", r ? "visible" : "hidden", "important");
|
|
112
114
|
return;
|
|
113
115
|
}
|
|
114
116
|
let a = oe(n, t, i), o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
|
|
115
|
-
e.style.setProperty("clip-path", o, "important"), fe(t || o !== a ? null : se(n));
|
|
117
|
+
e.style.setProperty("clip-path", o, "important"), w(e, o !== "inset(100%)"), fe(t || o !== a ? null : se(n));
|
|
116
118
|
}, me = (e) => {
|
|
117
119
|
if (typeof e != "object" || !e) return 0;
|
|
118
120
|
let { top: t } = e;
|
|
119
121
|
return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? 0 : Math.min(Math.round(t), p);
|
|
120
122
|
}, he = (e) => {
|
|
121
123
|
if (Array.isArray(e) && e.length === 4 && e.every((e) => typeof e == "number" && Number.isFinite(e) && e >= 0)) return e.some((e) => e > 0) ? e : void 0;
|
|
122
|
-
},
|
|
124
|
+
}, ge = (e, t) => {
|
|
123
125
|
if (typeof e != "object" || !e) return null;
|
|
124
126
|
let { x: n, y: r, width: i, height: a } = e;
|
|
125
127
|
if (![
|
|
@@ -140,7 +142,7 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
140
142
|
"not-rendered": "this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout",
|
|
141
143
|
clipped: "it is clipped away or positioned outside the viewport",
|
|
142
144
|
"not-shown": "it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter"
|
|
143
|
-
},
|
|
145
|
+
}, _e = (e) => Array.isArray(e) ? e.slice(0, f).flatMap((e) => {
|
|
144
146
|
if (typeof e != "object" || !e) return [];
|
|
145
147
|
let { kind: t, cause: n, level: r } = e;
|
|
146
148
|
return typeof t != "string" || t.length > 40 || typeof n != "string" || !(n in E) || r !== "full" && r !== "liveness" ? [] : [{
|
|
@@ -148,36 +150,36 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
148
150
|
cause: n,
|
|
149
151
|
level: r
|
|
150
152
|
}];
|
|
151
|
-
}) : [], D = /* @__PURE__ */ new Set(),
|
|
153
|
+
}) : [], D = /* @__PURE__ */ new Set(), ve = (e) => {
|
|
152
154
|
for (let { kind: t, cause: n, level: r } of e) D.has(t) || (D.add(t), console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${E[n]}. Nobody using this page can see or answer it.
|
|
153
155
|
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.` + (r === "liveness" ? "\nThis browser reports limited detail, so the cause above is a best guess." : "")));
|
|
154
156
|
}, O = (e, t) => {
|
|
155
157
|
if (typeof e != "object" || !e) return null;
|
|
156
|
-
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, d) : []).map((e) =>
|
|
158
|
+
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, d) : []).map((e) => ge(e, t)).filter((e) => e !== null && e.width > 0 && e.height > 0);
|
|
157
159
|
return {
|
|
158
160
|
modal: n.modal === !0,
|
|
159
161
|
rects: r,
|
|
160
|
-
hidden:
|
|
162
|
+
hidden: _e(n.hidden),
|
|
161
163
|
inset: me(n.inset)
|
|
162
164
|
};
|
|
163
|
-
},
|
|
165
|
+
}, ye = () => y !== null, k = null, A = null, be = () => {
|
|
164
166
|
if (!y || k === null) return;
|
|
165
167
|
let e = x(y), t = O(k, e);
|
|
166
|
-
t &&
|
|
167
|
-
}, be = (e) => {
|
|
168
|
-
typeof ResizeObserver < "u" && (A ??= new ResizeObserver(ye), A.disconnect(), A.observe(e));
|
|
168
|
+
t && T(y, t, e);
|
|
169
169
|
}, xe = (e) => {
|
|
170
|
-
|
|
170
|
+
typeof ResizeObserver < "u" && (A ??= new ResizeObserver(be), A.disconnect(), A.observe(e));
|
|
171
|
+
}, Se = (e) => {
|
|
172
|
+
ee(e), T(e, {
|
|
171
173
|
modal: !1,
|
|
172
174
|
rects: [],
|
|
173
175
|
hidden: [],
|
|
174
176
|
inset: 0
|
|
175
|
-
}, x(e)), y = e,
|
|
176
|
-
},
|
|
177
|
+
}, x(e)), y = e, xe(e);
|
|
178
|
+
}, Ce = (e) => {
|
|
177
179
|
if (!y) return;
|
|
178
180
|
let t = x(y), n = O(e, t);
|
|
179
|
-
n && (k = e,
|
|
180
|
-
}, j = "https://fkn.app", M = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, N = typeof globalThis < "u" && globalThis.crossOriginIsolated === !0, P = t(N),
|
|
181
|
+
n && (k = e, T(y, n, t), ve(n.hidden));
|
|
182
|
+
}, j = "https://fkn.app", M = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, N = typeof globalThis < "u" && globalThis.crossOriginIsolated === !0, P = t(N), we = "fkn-api-port", Te = "fkn-api-port-ack", Ee = 2e3, De = () => {
|
|
181
183
|
if (!M || typeof window > "u" || window.parent === window) return Promise.resolve(void 0);
|
|
182
184
|
let e;
|
|
183
185
|
try {
|
|
@@ -193,16 +195,16 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
193
195
|
} catch {}
|
|
194
196
|
n(e);
|
|
195
197
|
}, i = (e) => {
|
|
196
|
-
e.data?.type ===
|
|
197
|
-
}, a = setTimeout(() => r(void 0),
|
|
198
|
+
e.data?.type === Te && r(t.port1);
|
|
199
|
+
}, a = setTimeout(() => r(void 0), Ee);
|
|
198
200
|
t.port1.addEventListener("message", i), t.port1.start();
|
|
199
201
|
try {
|
|
200
|
-
e.postMessage({ type:
|
|
202
|
+
e.postMessage({ type: we }, j, [t.port2]);
|
|
201
203
|
} catch {
|
|
202
204
|
r(void 0);
|
|
203
205
|
}
|
|
204
206
|
});
|
|
205
|
-
}, F,
|
|
207
|
+
}, F, Oe = () => {
|
|
206
208
|
if (F || !M) return F;
|
|
207
209
|
let t = M.querySelector(`iframe[src="${P}"]`);
|
|
208
210
|
if (t) F = t;
|
|
@@ -210,15 +212,15 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
210
212
|
let t = M.createElement("iframe");
|
|
211
213
|
t.setAttribute("allow", e(N)), t.src = P, M.body.appendChild(t), F = t;
|
|
212
214
|
}
|
|
213
|
-
return u(F, P, j),
|
|
214
|
-
},
|
|
215
|
+
return u(F, P, j), Se(F), F;
|
|
216
|
+
}, I = (async () => {
|
|
215
217
|
if (!M) return;
|
|
216
|
-
let e = await
|
|
218
|
+
let e = await De();
|
|
217
219
|
if (e) return {
|
|
218
220
|
receive: e,
|
|
219
221
|
emit: e
|
|
220
222
|
};
|
|
221
|
-
let t =
|
|
223
|
+
let t = Oe();
|
|
222
224
|
if (!t) return;
|
|
223
225
|
await s(t);
|
|
224
226
|
let n = t.contentWindow;
|
|
@@ -226,7 +228,7 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
226
228
|
receive: window,
|
|
227
229
|
emit: n
|
|
228
230
|
} : void 0;
|
|
229
|
-
})(),
|
|
231
|
+
})(), ke = (e, { boundRetired: t = (e) => e } = {}) => {
|
|
230
232
|
let n, r = 0, i = !1, a = () => {}, o = () => new Promise((e) => {
|
|
231
233
|
a = e;
|
|
232
234
|
}), s = o(), c = s, l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = 0, f = 0, p = () => {
|
|
@@ -302,31 +304,31 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
302
304
|
i = !0, n = void 0, p();
|
|
303
305
|
}
|
|
304
306
|
};
|
|
305
|
-
},
|
|
306
|
-
if (!
|
|
307
|
-
|
|
308
|
-
for (let e of [...
|
|
307
|
+
}, L = !1, R = /* @__PURE__ */ new Set(), z = () => L, Ae = () => {
|
|
308
|
+
if (!L) {
|
|
309
|
+
L = !0;
|
|
310
|
+
for (let e of [...R]) try {
|
|
309
311
|
e();
|
|
310
312
|
} catch {}
|
|
311
|
-
|
|
313
|
+
R.clear();
|
|
312
314
|
}
|
|
313
|
-
},
|
|
314
|
-
|
|
315
|
-
},
|
|
316
|
-
if (typeof window < "u") return
|
|
315
|
+
}, B = (e) => {
|
|
316
|
+
L ? e() : R.add(e);
|
|
317
|
+
}, je = typeof window < "u" || typeof self < "u", V = async () => {
|
|
318
|
+
if (typeof window < "u") return I;
|
|
317
319
|
if (typeof self < "u") return {
|
|
318
320
|
receive: self,
|
|
319
321
|
emit: self
|
|
320
322
|
};
|
|
321
|
-
},
|
|
322
|
-
let e = await
|
|
323
|
+
}, H = "fkn-api", Me = "fkn-api-window", Ne = { async *[Symbol.asyncIterator]() {
|
|
324
|
+
let e = await V();
|
|
323
325
|
if (!e) await new Promise(() => {});
|
|
324
326
|
else {
|
|
325
|
-
if (!
|
|
327
|
+
if (!z()) {
|
|
326
328
|
let t = new AbortController();
|
|
327
|
-
|
|
329
|
+
B(() => t.abort());
|
|
328
330
|
for await (let n of r({}, {
|
|
329
|
-
key:
|
|
331
|
+
key: H,
|
|
330
332
|
transport: e,
|
|
331
333
|
unregisterSignal: t.signal
|
|
332
334
|
})) {
|
|
@@ -335,43 +337,43 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
335
337
|
}
|
|
336
338
|
}
|
|
337
339
|
yield* r({}, {
|
|
338
|
-
key:
|
|
340
|
+
key: Me,
|
|
339
341
|
transport: e
|
|
340
342
|
});
|
|
341
343
|
}
|
|
342
|
-
} },
|
|
344
|
+
} }, U = !1, W = V().then((e) => new Promise((t) => {
|
|
343
345
|
if (!e) return;
|
|
344
346
|
let { receive: r } = e, i = (e) => {
|
|
345
|
-
n(e.data,
|
|
347
|
+
n(e.data, H) && (r.removeEventListener("message", i), U = !0, t());
|
|
346
348
|
};
|
|
347
349
|
r.addEventListener("message", i);
|
|
348
|
-
})),
|
|
349
|
-
|
|
350
|
-
var
|
|
350
|
+
})), G = ke(Ne, { boundRetired: (e) => Promise.race([e, W.then(() => Z(e, () => new X()))]) });
|
|
351
|
+
B(() => G.retire());
|
|
352
|
+
var K = Promise.race([G.first, new Promise((e) => B(e))]).then(() => G.facade), q = 8e3, Pe = 1e3, J = !1, Y = class extends Error {
|
|
351
353
|
constructor(e, t) {
|
|
352
354
|
super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`), this.name = "BrokerUnreachableError";
|
|
353
355
|
}
|
|
354
|
-
},
|
|
356
|
+
}, X = class extends Error {
|
|
355
357
|
constructor() {
|
|
356
358
|
super("FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload"), this.name = "OwnChannelUnavailableError";
|
|
357
359
|
}
|
|
358
|
-
},
|
|
359
|
-
let n =
|
|
360
|
+
}, Z = (e, t) => {
|
|
361
|
+
let n = J ? Pe : q;
|
|
360
362
|
return Promise.race([e, new Promise((e, r) => setTimeout(() => {
|
|
361
|
-
|
|
363
|
+
J = !0, r(t(n));
|
|
362
364
|
}, n))]);
|
|
363
|
-
},
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
let e = setTimeout(() => console.error(new
|
|
367
|
-
|
|
365
|
+
}, Fe = (e) => z() ? Z(G.routable().then(() => G.facade), (t) => U ? new X() : new Y(e, t)) : Z(K, (t) => new Y(e, t));
|
|
366
|
+
B(() => {
|
|
367
|
+
W.then(() => {
|
|
368
|
+
let e = setTimeout(() => console.error(new X()), q);
|
|
369
|
+
G.routable().then(() => clearTimeout(e));
|
|
368
370
|
});
|
|
369
371
|
});
|
|
370
|
-
var
|
|
371
|
-
|
|
372
|
-
|
|
372
|
+
var Q = G.onEpoch, $ = G.current, Ie = G.lastCall, Le = G.inFlight;
|
|
373
|
+
Q((e) => {
|
|
374
|
+
ye() && e.overlay.setHost(Ce, {
|
|
373
375
|
exactClips: ne(),
|
|
374
376
|
colorScheme: g
|
|
375
377
|
}).catch(() => {});
|
|
376
378
|
});
|
|
377
|
-
export {
|
|
379
|
+
export { Ie as a, $ as c, Ae as d, I as f, Le as i, je as l, Y as n, K as o, X as r, Fe as s, q as t, Q as u };
|
package/api.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./api-BkoXMcoe.cjs");exports.API_DEADLINE_MS=e.t,exports.BrokerUnreachableError=e.n,exports.OwnChannelUnavailableError=e.r,exports.apiInFlight=e.i,exports.apiLastCall=e.a,exports.apiPromise=e.o,exports.apiWithin=e.s,exports.currentApiEpoch=e.c,exports.hasTransport=e.l,exports.onApiEpoch=e.u;
|
package/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as API_DEADLINE_MS, n as BrokerUnreachableError, r as OwnChannelUnavailableError, i as apiInFlight, a as apiLastCall, o as apiPromise, s as apiWithin, c as currentApiEpoch, l as hasTransport, u as onApiEpoch } from "./api-
|
|
1
|
+
export { t as API_DEADLINE_MS, n as BrokerUnreachableError, r as OwnChannelUnavailableError, i as apiInFlight, a as apiLastCall, o as apiPromise, s as apiWithin, c as currentApiEpoch, l as hasTransport, u as onApiEpoch } from "./api-DeGR_tzF.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ../platform-policy/src/index.ts
|
|
2
|
-
var e = /* @__PURE__ */ "fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev".split(","), t = (e) => e.toLowerCase().replace(/\.+$/, ""), n = ["79.127.204.69", "152.233.49.59"], r = (e) => {
|
|
2
|
+
var e = /* @__PURE__ */ "fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-26b534eb9aa04cffbe1cdbb3be3fb1d2.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev".split(","), t = (e) => e.toLowerCase().replace(/\.+$/, ""), n = ["79.127.204.69", "152.233.49.59"], r = (e) => {
|
|
3
3
|
let t;
|
|
4
4
|
try {
|
|
5
5
|
t = new URL(`http://${e.includes(":") && !e.startsWith("[") ? `[${e}]` : e}/`).hostname;
|
|
@@ -46,6 +46,8 @@ var e = /* @__PURE__ */ "fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,
|
|
|
46
46
|
frame.setAttribute('allow', ${JSON.stringify(s)}.concat(isolated ? ['cross-origin-isolated'] : []).filter(name => !known || known.includes(name)).join('; '))
|
|
47
47
|
frame.src = isolated ? ${JSON.stringify(d(!0))} : ${JSON.stringify(d(!1))}
|
|
48
48
|
frame.style.cssText = 'position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border:none!important;clip-path:inset(100%)!important'
|
|
49
|
+
frame.setAttribute('tabindex', '-1')
|
|
50
|
+
frame.setAttribute('aria-hidden', 'true')
|
|
49
51
|
document.body.appendChild(frame)
|
|
50
52
|
}`;
|
|
51
53
|
export { l as i, d as n, o as r, f as t };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var e=`fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-26b534eb9aa04cffbe1cdbb3be3fb1d2.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev`.split(`,`),t=e=>e.toLowerCase().replace(/\.+$/,``),n=[`79.127.204.69`,`152.233.49.59`],r=e=>{let t;try{t=new URL(`http://${e.includes(`:`)&&!e.startsWith(`[`)?`[${e}]`:e}/`).hostname}catch{return}let n=/^\[(?:::ffff:|64:ff9b::)([0-9a-f]{1,4}):([0-9a-f]{1,4})\]$/.exec(t);if(n){let e=parseInt(n[1],16),t=parseInt(n[2],16);return[e>>8,e&255,t>>8,t&255].join(`.`)}return/^\d+\.\d+\.\d+\.\d+$/.test(t)?t:void 0},i=n=>{let r=t(n);return e.some(e=>r===e||r.endsWith(`.${e}`))},a=e=>{if(i(e))return!0;let a=r(t(e));return a!==void 0&&n.includes(a)},o=e=>{let t=typeof e==`string`?e:e instanceof URL?e.href:e.url,n;try{n=new URL(t)}catch{return}if(a(n.hostname))throw Error(`fetch refuses FKN platform domains (${n.hostname})`)},s=`autoplay.fullscreen.picture-in-picture.encrypted-media.screen-wake-lock.speaker-selection.captured-surface-control.camera.microphone.display-capture.geolocation.midi.usb.serial.hid.bluetooth.gamepad.keyboard-map.xr-spatial-tracking.accelerometer.gyroscope.magnetometer.ambient-light-sensor.compute-pressure.clipboard-read.clipboard-write.storage-access.window-management.local-fonts.idle-detection.web-share.sync-xhr.unload.payment.publickey-credentials-get.publickey-credentials-create.otp-credentials.identity-credentials-get.digital-credentials-get.local-network.local-network-access.loopback-network`.split(`.`),c=()=>{try{let e=globalThis.document?.featurePolicy?.features?.();return e===void 0?void 0:new Set(e)}catch{return}},l=(e=!0,t=c())=>[...s,...e?[`cross-origin-isolated`]:[]].filter(e=>t===void 0||t.has(e)).join(`; `),u=`https://fkn.app`,d=e=>`${u}/api${e?`?coi=1`:``}`,f=`if (window.parent === window) {
|
|
2
|
+
const isolated = window.crossOriginIsolated === true
|
|
3
|
+
const known = document.featurePolicy?.features?.()
|
|
4
|
+
const frame = document.createElement('iframe')
|
|
5
|
+
frame.setAttribute('allow', ${JSON.stringify(s)}.concat(isolated ? ['cross-origin-isolated'] : []).filter(name => !known || known.includes(name)).join('; '))
|
|
6
|
+
frame.src = isolated ? ${JSON.stringify(d(!0))} : ${JSON.stringify(d(!1))}
|
|
7
|
+
frame.style.cssText = 'position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border:none!important;clip-path:inset(100%)!important'
|
|
8
|
+
frame.setAttribute('tabindex', '-1')
|
|
9
|
+
frame.setAttribute('aria-hidden', 'true')
|
|
10
|
+
document.body.appendChild(frame)
|
|
11
|
+
}`;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
|
package/broker-frame.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-BKHtDSjv.cjs");exports.brokerFrameScript=e.t,exports.brokerFrameSrc=e.n;
|
package/broker-frame.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ export declare const brokerFrameSrc: (isolated: boolean) => string;
|
|
|
5
5
|
* parsed, for the start of `<body>`. `@fkn/lib` adopts the frame instead of mounting its own once
|
|
6
6
|
* the bundle runs, so the broker loads alongside the bundle rather than after it.
|
|
7
7
|
*
|
|
8
|
-
* It mounts the same frame the lib would (address, `allow` list, clipped out of view
|
|
8
|
+
* It mounts the same frame the lib would (address, `allow` list, clipped out of view and out of the Tab order and the
|
|
9
|
+
* accessibility tree until FKN draws something in it), and nothing
|
|
9
10
|
* in a framed page, which asks its parent for a broker first. Every step that fails leaves the
|
|
10
11
|
* mount to the lib, as without it.
|
|
11
12
|
*/
|
package/broker-frame.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as brokerFrameScript, n as brokerFrameSrc } from "./broker-frame-
|
|
1
|
+
export { t as brokerFrameScript, n as brokerFrameSrc } from "./broker-frame-BClLp2ZV.js";
|
package/cloud/dgram.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../dgram-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../dgram-Xrt2rPrC.cjs");exports.Socket=e.t,exports.createSocket=e.n,exports.default=e.r;
|
package/cloud/dgram.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as Socket, n as createSocket, r as default } from "../dgram-
|
|
1
|
+
export { t as Socket, n as createSocket, r as default } from "../dgram-BMCYdn0Q.js";
|
package/cloud/dns.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dns-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dns-ijWQw2NO.cjs");exports.lookup=e.n;
|
package/cloud/dns.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as lookup } from "../dns-
|
|
1
|
+
export { n as lookup } from "../dns-CxfA8mGU.js";
|
package/cloud/fetch.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../proxy-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../proxy-BFa0n5gx.cjs");exports.fetch=e.t;
|
package/cloud/fetch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as fetch } from "../proxy-
|
|
1
|
+
export { t as fetch } from "../proxy-FSgMUaD3.js";
|
package/cloud/fs/promises.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var{readFile:e,writeFile:t,unlink:n,rename:r,readdir:i,mkdir:a,rm:o,rmdir:s,stat:c,lstat:l,access:u}=require("../../fs-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var{readFile:e,writeFile:t,unlink:n,rename:r,readdir:i,mkdir:a,rm:o,rmdir:s,stat:c,lstat:l,access:u}=require("../../fs-BVISC6T6.cjs").a;exports.access=u,exports.lstat=l,exports.mkdir=a,exports.readFile=e,exports.readdir=i,exports.rename=r,exports.rm=o,exports.rmdir=s,exports.stat=c,exports.unlink=n,exports.writeFile=t;
|
package/cloud/fs/promises.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e } from "../../fs-
|
|
1
|
+
import { a as e } from "../../fs-D16P3dtE.js";
|
|
2
2
|
// src/cloud/fs-promises.ts
|
|
3
3
|
var { readFile: t, writeFile: n, unlink: r, rename: i, readdir: a, mkdir: o, rm: s, rmdir: c, stat: l, lstat: u, access: d } = e;
|
|
4
4
|
export { d as access, u as lstat, o as mkdir, t as readFile, a as readdir, i as rename, s as rm, c as rmdir, l as stat, r as unlink, n as writeFile };
|
package/cloud/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../messages.cjs"),t=require("../account-storage-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../messages.cjs"),t=require("../account-storage-gOL0HE6i.cjs"),n=require("../fs-BVISC6T6.cjs");exports.STORAGE_ACCOUNT_CHANGED=e.STORAGE_ACCOUNT_CHANGED,exports.STORAGE_ACCOUNT_PIN_UNSUPPORTED=e.STORAGE_ACCOUNT_PIN_UNSUPPORTED,exports.STORAGE_NOT_FOUND=e.STORAGE_NOT_FOUND,exports.StorageAccountChangedError=t.t,exports.StorageAccountPinUnsupportedError=t.n,exports.StorageLockedError=t.r,exports.StorageNotFoundError=t.i,exports.availability=t.o,exports.available=n.t,exports.encryption=t.c,exports.isAccountChanged=t.l,exports.isNotFound=t.d,exports.list=n.r,exports.mkdir=n.i,exports.promises=n.a,exports.quota=t.h,exports.readFile=n.o,exports.readFileSealed=n.s,exports.readdir=n.c,exports.rename=n.l,exports.rm=n.u,exports.stat=n.d,exports.unlink=n.f,exports.unlock=t.y,exports.writeFile=n.p;
|
package/cloud/fs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { STORAGE_ACCOUNT_CHANGED as e, STORAGE_ACCOUNT_PIN_UNSUPPORTED as t, STORAGE_NOT_FOUND as n } from "../messages.js";
|
|
2
|
-
import { c as r, d as i, h as a, i as o, l as s, n as c, o as l, r as u, t as d, y as f } from "../account-storage-
|
|
3
|
-
import { a as p, c as m, d as h, f as g, i as _, l as v, o as y, p as b, r as x, s as S, t as C, u as w } from "../fs-
|
|
2
|
+
import { c as r, d as i, h as a, i as o, l as s, n as c, o as l, r as u, t as d, y as f } from "../account-storage-C7Lyae5Q.js";
|
|
3
|
+
import { a as p, c as m, d as h, f as g, i as _, l as v, o as y, p as b, r as x, s as S, t as C, u as w } from "../fs-D16P3dtE.js";
|
|
4
4
|
export { e as STORAGE_ACCOUNT_CHANGED, t as STORAGE_ACCOUNT_PIN_UNSUPPORTED, n as STORAGE_NOT_FOUND, d as StorageAccountChangedError, c as StorageAccountPinUnsupportedError, u as StorageLockedError, o as StorageNotFoundError, l as availability, C as available, r as encryption, s as isAccountChanged, i as isNotFound, x as list, _ as mkdir, p as promises, a as quota, y as readFile, S as readFileSealed, m as readdir, v as rename, w as rm, h as stat, g as unlink, f as unlock, b as writeFile };
|
package/cloud/http.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../http-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../http-CzMigExo.cjs");exports.Agent=e.t,exports.ClientRequest=e.n,exports.HTTPParser=e.r,exports.IncomingMessage=e.i,exports.METHODS=e.a,exports.STATUS_CODES=e.o,exports.Server=e.s,exports.ServerResponse=e.c,exports._default=e.l,exports.default=e.l,exports.createServer=e.u,exports.get=e.d,exports.globalAgent=e.f,exports.request=e.m;
|
package/cloud/http.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as Agent, n as ClientRequest, r as HTTPParser, i as IncomingMessage, a as METHODS, o as STATUS_CODES, s as Server, c as ServerResponse, l as _default, l as default, u as createServer, d as get, f as globalAgent, m as request } from "../http-
|
|
1
|
+
export { t as Agent, n as ClientRequest, r as HTTPParser, i as IncomingMessage, a as METHODS, o as STATUS_CODES, s as Server, c as ServerResponse, l as _default, l as default, u as createServer, d as get, f as globalAgent, m as request } from "../http-1ruN3pj9.js";
|
package/cloud/net.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../utils-BpHmMkIR.cjs"),t=require("../net-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../utils-BpHmMkIR.cjs"),t=require("../net-b250sYEx.cjs");exports.Server=t.t,exports.Socket=t.n,exports._default=t.r,exports.default=t.r,exports.connect=t.i,exports.createConnection=t.a,exports.createServer=t.o,exports.isIP=e.t,exports.isIPv4=e.n,exports.isIPv6=e.r;
|
package/cloud/net.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { n as e, r as t, t as n } from "../utils-DtWP-E9x.js";
|
|
2
|
-
import { a as r, i, n as a, o, r as s, t as c } from "../net-
|
|
2
|
+
import { a as r, i, n as a, o, r as s, t as c } from "../net-Bj1vCk29.js";
|
|
3
3
|
export { c as Server, a as Socket, s as _default, s as default, i as connect, r as createConnection, o as createServer, n as isIP, e as isIPv4, t as isIPv6 };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { D as t, E as n, N as r, O as i, T as a, _ as o, c as s, f as c, ft as l, g as u, h as d, j as f, k as p, l as m, m as h, o as g, p as _, s as v, u as y, x as b, y as x } from "./lib-
|
|
2
|
+
import { D as t, E as n, N as r, O as i, T as a, _ as o, c as s, f as c, ft as l, g as u, h as d, j as f, k as p, l as m, m as h, o as g, p as _, s as v, u as y, x as b, y as x } from "./lib-6lykV0aT.js";
|
|
3
3
|
import { c as S, m as C, t as w } from "./hosts-HUfgMimI.js";
|
|
4
|
-
import { i as T } from "./broker-frame-
|
|
5
|
-
import { l as E, n as D, o as O, s as k } from "./api-
|
|
4
|
+
import { i as T } from "./broker-frame-BClLp2ZV.js";
|
|
5
|
+
import { l as E, n as D, o as O, s as k } from "./api-DeGR_tzF.js";
|
|
6
6
|
import { r as A } from "./busy-C1JPjoZ_.js";
|
|
7
7
|
import { ATTACH_FRAME_KEY as j, ATTACH_WINDOW_KEY as ee, ATTACH_WINDOW_MESSAGE as M, RELAY_CHOICE_UNSUPPORTED as N, WINDOW_HANDSHAKE_TIMEOUT_MS as te } from "./contract.js";
|
|
8
8
|
import { a as P, i as F, t as I } from "./relay-choice-Bb3oP2gw.js";
|
|
9
|
-
import { t as L } from "./proxy-
|
|
9
|
+
import { t as L } from "./proxy-FSgMUaD3.js";
|
|
10
10
|
import { frameFetchVerdict as R } from "./attach-policy.js";
|
|
11
|
-
import { t as ne } from "./dns-
|
|
12
|
-
import { n as re } from "./fs-
|
|
13
|
-
import { s as ie } from "./net-
|
|
14
|
-
import { i as ae } from "./dgram-
|
|
15
|
-
import { p as oe } from "./http-
|
|
11
|
+
import { t as ne } from "./dns-CxfA8mGU.js";
|
|
12
|
+
import { n as re } from "./fs-D16P3dtE.js";
|
|
13
|
+
import { s as ie } from "./net-Bj1vCk29.js";
|
|
14
|
+
import { i as ae } from "./dgram-BMCYdn0Q.js";
|
|
15
|
+
import { p as oe } from "./http-1ruN3pj9.js";
|
|
16
16
|
import { expose as z } from "osra";
|
|
17
17
|
// src/cloud/frame-broker.ts
|
|
18
18
|
var se = async () => {
|