@fkn/lib 0.9.73 → 0.9.74
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-URj9bMMj.js → account-CTOhAc2x.js} +2 -2
- package/{account-BdwCDacQ.cjs → account-DO7KokEs.cjs} +1 -1
- package/{account-generation--7m_60Fl.cjs → account-generation-6F54U_B3.cjs} +1 -1
- package/{account-generation-DgK9YHiL.js → account-generation-Cq_xRcUr.js} +1 -1
- package/{account-C9w41S0_.d.ts → account-kRplShh-.d.ts} +1 -1
- package/{account-storage-CcdeHbnj.js → account-storage-DQryXWDZ.js} +2 -2
- package/{account-storage-CQ8k71N3.cjs → account-storage-f0HN_zgo.cjs} +1 -1
- package/account.cjs +1 -1
- package/account.d.ts +2 -2
- package/account.js +1 -1
- package/{api-iKK1u-V0.d.ts → api-CXvE64Jr.d.ts} +2 -2
- package/{api-De7vAubY.js → api-DR6y3Q0Y.js} +152 -135
- package/api-RuHgAkxf.cjs +3 -0
- package/api.cjs +1 -1
- package/api.d.ts +2 -2
- package/api.js +1 -1
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.d.ts +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/dns.cjs +1 -1
- package/cloud/dns.d.ts +2 -2
- package/cloud/dns.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.d.ts +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.d.ts +1 -1
- package/cloud/http.js +1 -1
- package/cloud/net.cjs +1 -1
- package/cloud/net.d.ts +1 -1
- package/cloud/net.js +1 -1
- package/{cloud-BDTtnMtj.d.ts → cloud-C9alQ9TA.d.ts} +5 -5
- package/{cloud-Bv_GUwcG.js → cloud-Cn27x6RK.js} +8 -8
- package/{cloud-Buku7KQJ.cjs → cloud-CrKxBmgy.cjs} +1 -1
- package/cloud.cjs +1 -1
- package/cloud.d.ts +6 -6
- package/cloud.js +7 -7
- package/{contract-Cqq1vOqF.d.ts → contract-B-iUk1mJ.d.ts} +1 -1
- package/contract.d.ts +2 -2
- package/{dgram-CYegbMMa.js → dgram-Cj1vkCE9.js} +1 -1
- package/{dgram-BgWDRjw-.cjs → dgram-D7I5nP9w.cjs} +1 -1
- package/{dgram-BggVwnRp.d.ts → dgram-D9DiXmhU.d.ts} +4 -4
- package/dgram.cjs +1 -1
- package/dgram.d.ts +1 -1
- package/dgram.js +1 -1
- package/{dns-DTbLD2s6.js → dns-43gybmwY.js} +1 -1
- package/{dns-DeuTGd8C.d.ts → dns-CfUsfETG.d.ts} +1 -1
- package/{dns-CtxN7cCj.cjs → dns-D8cfGYaF.cjs} +1 -1
- package/dns.cjs +1 -1
- package/dns.d.ts +2 -2
- package/dns.js +1 -1
- package/{extension-DHx7sHE4.cjs → extension-D8Kj6rRT.cjs} +1 -1
- package/{extension-0RxQ4Bor.js → extension-DFeaP0Ou.js} +3 -3
- package/extension.cjs +1 -1
- package/extension.js +2 -2
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-BJdr72O6.js → fs-BnCWJ-jg.js} +1 -1
- package/{fs-BPfRlX_R.cjs → fs-COtIapGm.cjs} +1 -1
- package/{fs-C0RZ54fk.js → fs-DXz_TgC8.js} +3 -3
- package/{fs-1Q6VCx3d.cjs → fs-Dp_8uaZe.cjs} +1 -1
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/{http-DkvhaPVT.cjs → http-B72t08kn.cjs} +2 -2
- package/{http-LhyEQ2D8.d.ts → http-D1qvoYf6.d.ts} +1 -1
- package/{http-D-rs8b6m.js → http-DLMUTBb4.js} +2 -2
- package/http.cjs +1 -1
- package/http.d.ts +1 -1
- package/http.js +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +13 -14
- package/index.js +32 -38
- package/{lib-B4Th0aXQ.js → lib-DIxvhbhf.js} +1 -1
- package/{lib-By2YAF1s.cjs → lib-uND2BvAa.cjs} +1 -1
- package/{net-CK_1P9_C.d.ts → net-B0N6hTWu.d.ts} +4 -4
- package/net-D7oBrZbA.cjs +1 -0
- package/{net-C_R3PDi7.js → net-wirsgKVa.js} +26 -25
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/{packages-CNXf-8A8.js → packages-BAc5K4BQ.js} +1 -1
- package/{packages-FCSR6WEw.d.ts → packages-DTs-fy67.d.ts} +1 -1
- package/{packages-BwD1QMOz.cjs → packages-DkKru6li.cjs} +1 -1
- package/packages.cjs +1 -1
- package/packages.d.ts +2 -2
- package/packages.js +1 -1
- package/{proxy-Xe45WiQU.d.ts → proxy-1E6vjFKx.d.ts} +2 -2
- package/{proxy-OrF-WHyi.js → proxy-BmptuWKa.js} +1 -1
- package/{proxy-CgISk6T6.cjs → proxy-CLsTNt40.cjs} +1 -1
- package/{relay-choice-BhdjlopH.d.ts → relay-choice-BeNCw3ba.d.ts} +1 -1
- package/{rooms-lJGFgMXH.d.ts → rooms-APVrHbvL.d.ts} +1 -1
- package/{rooms-B_sM_Z93.cjs → rooms-BJ5MQq-S.cjs} +1 -1
- package/{rooms-Dz13jhtS.js → rooms-a1_jHEhL.js} +1 -1
- package/rooms.cjs +1 -1
- package/rooms.d.ts +2 -2
- package/rooms.js +1 -1
- package/{storage-Dd3miXPI.js → storage-ChE9vSDe.js} +3 -3
- package/{storage-B49NeC-h.cjs → storage-D9_L4Coi.cjs} +1 -1
- package/{storage-ngeijVxI.d.ts → storage-YQNVOwp8.d.ts} +1 -1
- package/storage.cjs +1 -1
- package/storage.d.ts +2 -2
- package/storage.js +1 -1
- package/websocket.cjs +1 -1
- package/websocket.js +1 -1
- package/{wire-DhmLnYEU.d.ts → wire-Cddfpu2U.d.ts} +12 -1
- package/wire.cjs +1 -1
- package/wire.d.ts +2 -2
- package/wire.js +6 -2
- package/api-BORAfb8e.cjs +0 -3
- package/net-B3SziNT3.cjs +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { s as t } from "./api-
|
|
2
|
+
import { s as t } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { t as n } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { t as r } from "./relay-choice-Bb3oP2gw.js";
|
|
5
5
|
import { n as i, o as a, r as o, t as s } from "./utils-DtWP-E9x.js";
|
|
6
|
-
import "./wire.js";
|
|
7
|
-
import { Stream as
|
|
8
|
-
import { EventEmitter as
|
|
6
|
+
import { siteResetError as c } from "./wire.js";
|
|
7
|
+
import { Stream as l } from "stream";
|
|
8
|
+
import { EventEmitter as u } from "events";
|
|
9
9
|
// src/webvpn/net.ts
|
|
10
|
-
var
|
|
11
|
-
Server: () =>
|
|
12
|
-
Socket: () =>
|
|
13
|
-
_default: () =>
|
|
14
|
-
connect: () =>
|
|
15
|
-
createConnection: () =>
|
|
16
|
-
createServer: () =>
|
|
17
|
-
default: () =>
|
|
10
|
+
var d = /* @__PURE__ */ e({
|
|
11
|
+
Server: () => m,
|
|
12
|
+
Socket: () => p,
|
|
13
|
+
_default: () => v,
|
|
14
|
+
connect: () => h,
|
|
15
|
+
createConnection: () => g,
|
|
16
|
+
createServer: () => _,
|
|
17
|
+
default: () => v,
|
|
18
18
|
isIP: () => s,
|
|
19
19
|
isIPv4: () => i,
|
|
20
20
|
isIPv6: () => o
|
|
21
|
-
}),
|
|
21
|
+
}), f = (e) => e?.message === "read ECONNRESET" ? c() : e, p = class extends l.Duplex {
|
|
22
22
|
_localAddress;
|
|
23
23
|
_remoteAddress;
|
|
24
24
|
_webVPNTcpSocketPromise;
|
|
@@ -69,7 +69,7 @@ var u = /* @__PURE__ */ e({
|
|
|
69
69
|
e ? e.reader.read().then(({ value: e, done: t }) => {
|
|
70
70
|
t ? (this.push(null), this.read(0)) : (this._restartTimeoutTimer(), this.push(e));
|
|
71
71
|
}).catch((e) => {
|
|
72
|
-
this.destroy(e);
|
|
72
|
+
this.destroy(f(e));
|
|
73
73
|
}) : this.push(null);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -83,6 +83,7 @@ var u = /* @__PURE__ */ e({
|
|
|
83
83
|
}
|
|
84
84
|
_fail(e) {
|
|
85
85
|
if (!this.destroyed) {
|
|
86
|
+
e = f(e);
|
|
86
87
|
for (let t of this._pendingCallbacks) t(e);
|
|
87
88
|
this.destroy(e);
|
|
88
89
|
}
|
|
@@ -256,7 +257,7 @@ var u = /* @__PURE__ */ e({
|
|
|
256
257
|
return this._remoteAddress.family;
|
|
257
258
|
}
|
|
258
259
|
timeout;
|
|
259
|
-
},
|
|
260
|
+
}, m = class extends u {
|
|
260
261
|
_localAddress;
|
|
261
262
|
_webVPNTcpSocketListenerPromise;
|
|
262
263
|
_relayChoice;
|
|
@@ -281,7 +282,7 @@ var u = /* @__PURE__ */ e({
|
|
|
281
282
|
let n = a(...e);
|
|
282
283
|
this._closeEmitted = !1;
|
|
283
284
|
let i = (e) => {
|
|
284
|
-
let t = new
|
|
285
|
+
let t = new p({ allowHalfOpen: this._allowHalfOpen });
|
|
285
286
|
t.__webvpn_tcp_socket_init__(Promise.resolve(e), e), this.emit("connection", t);
|
|
286
287
|
}, o = (e) => {
|
|
287
288
|
this._localAddress = void 0;
|
|
@@ -330,18 +331,18 @@ var u = /* @__PURE__ */ e({
|
|
|
330
331
|
connections;
|
|
331
332
|
listening;
|
|
332
333
|
async [Symbol.asyncDispose]() {}
|
|
333
|
-
},
|
|
334
|
+
}, h = (e, t) => new p({ allowHalfOpen: e?.allowHalfOpen }).connect(e, t), g = h, _ = (e, t) => {
|
|
334
335
|
typeof e == "function" && (t = e, e = void 0);
|
|
335
|
-
let n = new
|
|
336
|
+
let n = new m(e);
|
|
336
337
|
return t && n.on("connection", t), n;
|
|
337
|
-
},
|
|
338
|
-
Socket:
|
|
339
|
-
Server:
|
|
340
|
-
connect:
|
|
341
|
-
createConnection:
|
|
342
|
-
createServer:
|
|
338
|
+
}, v = {
|
|
339
|
+
Socket: p,
|
|
340
|
+
Server: m,
|
|
341
|
+
connect: h,
|
|
342
|
+
createConnection: g,
|
|
343
|
+
createServer: _,
|
|
343
344
|
isIP: s,
|
|
344
345
|
isIPv4: i,
|
|
345
346
|
isIPv6: o
|
|
346
347
|
};
|
|
347
|
-
export {
|
|
348
|
+
export { g as a, h as i, p as n, _ as o, v as r, d as s, m as t };
|
package/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-D7oBrZbA.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/net.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-
|
|
1
|
+
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-B0N6hTWu.js";
|
|
2
2
|
export { Server, Socket, _default, _default as default, connect, createConnection, createServer, isIP, isIPv4, isIPv6 };
|
package/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-wirsgKVa.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 };
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { c as t, l as n, o as r, u as i } from "./api-
|
|
2
|
+
import { c as t, l as n, o as r, u as i } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { i as a, t as o } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { expose as s } from "osra";
|
|
5
5
|
// src/packages.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as PickOptions, Bt as SurfaceRect, E as InstalledPackage, I as PackageQuery, L as PackageResult, R as PackagesErrorCode, T as InstallOptions, V as Placement, X as Radii, m as ConnectOptions } from "./contract-
|
|
1
|
+
import { B as PickOptions, Bt as SurfaceRect, E as InstalledPackage, I as PackageQuery, L as PackageResult, R as PackagesErrorCode, T as InstallOptions, V as Placement, X as Radii, m as ConnectOptions } from "./contract-B-iUk1mJ.js";
|
|
2
2
|
import { Remote } from "osra";
|
|
3
3
|
declare namespace packages_d_exports {
|
|
4
4
|
export { AppConnectOptions, Connect, ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, InstallOptions, InstalledPackage, MountOptions, MountedPackage, PackageConnection, PackageQuery, PackageResult, PackageView, PackagesError, PackagesErrorCode, PickOptions, Placement, Radii, RawPackageConnection, ShowOptions, SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, supportsTemporary, uninstall };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BORAfb8e.cjs"),n=require("./busy-BXbVH595.cjs");let r=require("osra");var i=e.t({attach:()=>N,connect:()=>D,hide:()=>E,install:()=>m,isVisible:()=>q,list:()=>g,mount:()=>M,onConnect:()=>K,onVisibilityChange:()=>J,pick:()=>p,search:()=>f,show:()=>T,supportsTemporary:()=>h,uninstall:()=>_}),a=`fkn-packages-connection`,o=`https://fkn.app`,s=3e4,c=(e,t)=>Object.assign(Error(t),{code:e}),l=async()=>{if(!t.l)throw c(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.o},u=(e,t,n)=>(0,r.expose)(e??{},{transport:t,key:a,unregisterSignal:n}),d=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw c(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let o=new AbortController,l=new Promise((e,n)=>{let a=setTimeout(()=>n(c(`timeout`,`packages.connect: the package did not complete the connection`)),s);o.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(c(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:o.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(c(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:o.signal}),i?.then(()=>n(c(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([u(e,t,a.signal),l])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{o.abort()}},f=async e=>{let t=await(await l()).packages.search(e);if(`error`in t)throw c(t.error,t.message);return t.results},p=async(e,t)=>{let n=await(await l()).packages.pick(e,t);if(`error`in n)throw c(n.error,n.message);return`declined`in n?[]:n.results},m=async(e,t)=>{let{packages:n}=await l(),r=t?.temporary?n.installTemporary:n.install;if(!r)throw c(`unsupported`,`packages.install: this fkn.app cannot install a package temporarily`);let i=await r(e,t);if(`error`in i)throw c(i.error,i.message);return`declined`in i?null:i.installed},h=async()=>typeof(await l()).packages.installTemporary==`function`,g=async()=>(await(await l()).packages.list()).results,_=async e=>{let t=await(await l()).packages.uninstall(e);if(`error`in t)throw c(t.error,t.message)},v=({x:e,y:t,width:n,height:r})=>({x:Math.round(e),y:Math.round(t),width:Math.round(n),height:Math.round(r)}),y=(e,t)=>{let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y);return{x:n,y:r,width:Math.max(0,Math.min(e.x+e.width,t.x+t.width)-n),height:Math.max(0,Math.min(e.y+e.height,t.y+t.height)-r)}},b=(e,t)=>{let n=t;for(let t=e.parentElement;t;t=t.parentElement){let e=getComputedStyle(t);if((e.overflowX!==`visible`||e.overflowY!==`visible`)&&(n=y(n,v(t.getBoundingClientRect())),n.width===0||n.height===0))break}return n},x=e=>{let t=getComputedStyle(e),n=[t.borderTopLeftRadius,t.borderTopRightRadius,t.borderBottomRightRadius,t.borderBottomLeftRadius];if(n.some(e=>e.includes(`%`)||e.includes(` `)))return;let r=n.map(e=>{let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:0});return r.some(e=>e>0)?r:void 0},S=(e,t)=>{if(!e)return!1;let n=(e,t)=>e===t||!!e&&!!t&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height;return n(e.rect,t.rect)&&n(e.clip,t.clip)&&((e,t)=>e===t||!!e&&!!t&&e.every((e,n)=>e===t[n]))(e.radius,t.radius)},C=new Map;n.i(`package view`,()=>C.size>0);var w=async(e,t)=>{let n=C.get(e);if(n){for(let e of n)t&&e.element!==t||(e.stop(),n.delete(e));if(n.size>0)return;C.delete(e)}let r=await(await l()).packages.hide(e);if(`error`in r)throw c(r.error,r.message)},T=async(e,t)=>{let{element:n,rect:r}=t;if(!n&&!r)throw c(`invalid`,`packages.show: pass an element or a rect`);let i=(await l()).packages,a=()=>{if(!n)return{rect:v(r)};let e=v(n.getBoundingClientRect());return{rect:e,clip:b(n,e),radius:x(n)}},o=!0,s,u=0,d=async t=>{s=t;let n=await i.show(e,t);if(`error`in n)throw o=!1,c(n.error,n.message)};await d(a());let f=()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{}),u=requestAnimationFrame(f)};n&&(u=requestAnimationFrame(f));let p={element:n,stop:()=>{o=!1,cancelAnimationFrame(u)}},m=C.get(e)??new Set;return m.add(p),C.set(e,m),{hide:()=>{w(e,n).catch(()=>{})},refresh:()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{})}}},E=async(e,t={})=>w(e,t.element),D=(async(e,r={})=>{let i=await(await l()).packages.connect(e,{protocol:r.protocol,...r.path===void 0?{}:{path:r.path}});if(`error`in i)throw c(i.error,i.message);let a=n.t(`package connection`),o=t.c()?.epoch??0,s=t.u((e,t)=>{t!==o&&(a(),s())});Promise.resolve(i.closed).then(()=>{a(),s()},()=>{a(),s()});let{port:u,closed:f}=i;if(r.raw)return{closed:f,port:u};let p=await d(r.payload,u,{signal:r.signal,closed:f});return r.signal&&r.signal.addEventListener(`abort`,()=>{try{u.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:p,closed:f,port:u}}),O=[`allow-scripts`,`allow-same-origin`],k=e=>{let t=e.getAttribute(`sandbox`);if(t!==null){let e=new Set(t.toLowerCase().split(/\s+/).filter(Boolean)),n=O.filter(t=>!e.has(t));if(n.length)throw c(`invalid`,`packages.mount: the iframe's sandbox attribute must include ${n.join(` and `)}, or the package cannot start`)}if(globalThis.crossOriginIsolated&&!new Set((e.getAttribute(`allow`)??``).toLowerCase().split(`;`).map(e=>e.trim().split(/\s+/)[0]).filter(Boolean)).has(`cross-origin-isolated`))throw c(`invalid`,`packages.mount: this page is cross-origin isolated, so the iframe's allow attribute must include 'cross-origin-isolated' to hand that down to the package`)},A=3e4,j=(e,t)=>new Promise((n,r)=>{let i=e=>{clearTimeout(o),window.removeEventListener(`message`,a),e?r(e):n()},a=n=>{if(n.source!==e.contentWindow||n.origin!==t)return;let r=n.data;if(r?.type===`fkn-packages-ready`)return i();r?.type===`fkn-packages-failed`&&i(c(`unavailable`,typeof r.message==`string`&&r.message?r.message:`packages.mount: the package failed to boot`))},o=setTimeout(()=>i(c(`timeout`,`packages.mount: the package did not register a connection handler`)),A);window.addEventListener(`message`,a)}),M=async(e,t)=>{let{iframe:r}=t;if(!(r instanceof HTMLIFrameElement))throw c(`invalid`,`packages.mount: pass the iframe to load the package into`);if(!r.isConnected)throw c(`invalid`,`packages.mount: the iframe must be in the document before mounting into it`);k(r);let i=await(await l()).packages.frame(e);if(`error`in i)throw c(i.error,i.message);r.src=i.url;let a={done:!1},o=()=>{},s=new Promise(e=>{o=e}),u=n.t(`mounted package`),f=()=>{if(!a.done){a.done=!0,u();try{r.contentWindow?.postMessage({type:`fkn-packages-close`},i.origin)}catch{}r.src=`about:blank`,o()}};try{await j(r,i.origin)}catch(e){throw f(),e}let p=new MessageChannel,m=r.contentWindow;if(!m)throw f(),c(`unavailable`,`packages.mount: the frame was detached before it could connect`);m.postMessage({type:`fkn-packages-port`,from:i.from,protocol:t.protocol,uri:i.uri,name:i.name,version:i.version},i.origin,[p.port2]);try{m.postMessage({type:`fkn-packages-visibility`,visible:!0},i.origin)}catch{}if(t.raw)return{closed:s,port:p.port1,frame:r,unmount:f};try{return{remote:await d(t.payload,p.port1,{signal:t.signal,closed:s}),closed:s,port:p.port1,frame:r,unmount:f}}catch(e){throw f(),e}},N=(e,t,n)=>d(t,e,{signal:n?.signal}),P=null,F=!1,I=new Set,L=[],R=new Map,z=!1,B=!1,V=e=>{let t=R.get(e);t&&(R.delete(e),t())},H=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},U=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&V(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw H(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>R.set(e.port,t)),o=await u(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},W=()=>{z||typeof window>`u`||window.parent===window||(z=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent)return;let t=e.data;if(t?.type===`fkn-packages-port`){let n=e.ports[0];if(!n)return;let r={port:n,from:typeof t.from==`string`?t.from:``,brokered:e.origin===o,protocol:typeof t.protocol==`string`?t.protocol:null,uri:typeof t.uri==`string`?t.uri:``,name:typeof t.name==`string`?t.name:``,version:typeof t.version==`string`?t.version:``};P?U(r,P).catch(e=>console.warn(`packages.onConnect:`,e)):L.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...R.keys()])V(e);if(t?.type===`fkn-packages-visibility`){F=t.visible===!0;for(let e of I)try{e(F)}catch{}}}))},G=()=>{B||typeof window>`u`||window.parent===window||(B=!0,window.parent.postMessage({type:`fkn-packages-ready`},`*`))},K=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W();let n={createPayload:e,handler:t};for(P=n,G();L.length&&P===n;)U(L.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{P===n&&(P=null)}}},q=()=>F,J=e=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W(),I.add(e);try{e(F)}catch{}return{unsubscribe:()=>{I.delete(e)}}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return i}});
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-RuHgAkxf.cjs"),n=require("./busy-BXbVH595.cjs");let r=require("osra");var i=e.t({attach:()=>N,connect:()=>D,hide:()=>E,install:()=>m,isVisible:()=>q,list:()=>g,mount:()=>M,onConnect:()=>K,onVisibilityChange:()=>J,pick:()=>p,search:()=>f,show:()=>T,supportsTemporary:()=>h,uninstall:()=>_}),a=`fkn-packages-connection`,o=`https://fkn.app`,s=3e4,c=(e,t)=>Object.assign(Error(t),{code:e}),l=async()=>{if(!t.l)throw c(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.o},u=(e,t,n)=>(0,r.expose)(e??{},{transport:t,key:a,unregisterSignal:n}),d=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw c(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let o=new AbortController,l=new Promise((e,n)=>{let a=setTimeout(()=>n(c(`timeout`,`packages.connect: the package did not complete the connection`)),s);o.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(c(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:o.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(c(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:o.signal}),i?.then(()=>n(c(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([u(e,t,a.signal),l])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{o.abort()}},f=async e=>{let t=await(await l()).packages.search(e);if(`error`in t)throw c(t.error,t.message);return t.results},p=async(e,t)=>{let n=await(await l()).packages.pick(e,t);if(`error`in n)throw c(n.error,n.message);return`declined`in n?[]:n.results},m=async(e,t)=>{let{packages:n}=await l(),r=t?.temporary?n.installTemporary:n.install;if(!r)throw c(`unsupported`,`packages.install: this fkn.app cannot install a package temporarily`);let i=await r(e,t);if(`error`in i)throw c(i.error,i.message);return`declined`in i?null:i.installed},h=async()=>typeof(await l()).packages.installTemporary==`function`,g=async()=>(await(await l()).packages.list()).results,_=async e=>{let t=await(await l()).packages.uninstall(e);if(`error`in t)throw c(t.error,t.message)},v=({x:e,y:t,width:n,height:r})=>({x:Math.round(e),y:Math.round(t),width:Math.round(n),height:Math.round(r)}),y=(e,t)=>{let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y);return{x:n,y:r,width:Math.max(0,Math.min(e.x+e.width,t.x+t.width)-n),height:Math.max(0,Math.min(e.y+e.height,t.y+t.height)-r)}},b=(e,t)=>{let n=t;for(let t=e.parentElement;t;t=t.parentElement){let e=getComputedStyle(t);if((e.overflowX!==`visible`||e.overflowY!==`visible`)&&(n=y(n,v(t.getBoundingClientRect())),n.width===0||n.height===0))break}return n},x=e=>{let t=getComputedStyle(e),n=[t.borderTopLeftRadius,t.borderTopRightRadius,t.borderBottomRightRadius,t.borderBottomLeftRadius];if(n.some(e=>e.includes(`%`)||e.includes(` `)))return;let r=n.map(e=>{let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:0});return r.some(e=>e>0)?r:void 0},S=(e,t)=>{if(!e)return!1;let n=(e,t)=>e===t||!!e&&!!t&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height;return n(e.rect,t.rect)&&n(e.clip,t.clip)&&((e,t)=>e===t||!!e&&!!t&&e.every((e,n)=>e===t[n]))(e.radius,t.radius)},C=new Map;n.i(`package view`,()=>C.size>0);var w=async(e,t)=>{let n=C.get(e);if(n){for(let e of n)t&&e.element!==t||(e.stop(),n.delete(e));if(n.size>0)return;C.delete(e)}let r=await(await l()).packages.hide(e);if(`error`in r)throw c(r.error,r.message)},T=async(e,t)=>{let{element:n,rect:r}=t;if(!n&&!r)throw c(`invalid`,`packages.show: pass an element or a rect`);let i=(await l()).packages,a=()=>{if(!n)return{rect:v(r)};let e=v(n.getBoundingClientRect());return{rect:e,clip:b(n,e),radius:x(n)}},o=!0,s,u=0,d=async t=>{s=t;let n=await i.show(e,t);if(`error`in n)throw o=!1,c(n.error,n.message)};await d(a());let f=()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{}),u=requestAnimationFrame(f)};n&&(u=requestAnimationFrame(f));let p={element:n,stop:()=>{o=!1,cancelAnimationFrame(u)}},m=C.get(e)??new Set;return m.add(p),C.set(e,m),{hide:()=>{w(e,n).catch(()=>{})},refresh:()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{})}}},E=async(e,t={})=>w(e,t.element),D=(async(e,r={})=>{let i=await(await l()).packages.connect(e,{protocol:r.protocol,...r.path===void 0?{}:{path:r.path}});if(`error`in i)throw c(i.error,i.message);let a=n.t(`package connection`),o=t.c()?.epoch??0,s=t.u((e,t)=>{t!==o&&(a(),s())});Promise.resolve(i.closed).then(()=>{a(),s()},()=>{a(),s()});let{port:u,closed:f}=i;if(r.raw)return{closed:f,port:u};let p=await d(r.payload,u,{signal:r.signal,closed:f});return r.signal&&r.signal.addEventListener(`abort`,()=>{try{u.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:p,closed:f,port:u}}),O=[`allow-scripts`,`allow-same-origin`],k=e=>{let t=e.getAttribute(`sandbox`);if(t!==null){let e=new Set(t.toLowerCase().split(/\s+/).filter(Boolean)),n=O.filter(t=>!e.has(t));if(n.length)throw c(`invalid`,`packages.mount: the iframe's sandbox attribute must include ${n.join(` and `)}, or the package cannot start`)}if(globalThis.crossOriginIsolated&&!new Set((e.getAttribute(`allow`)??``).toLowerCase().split(`;`).map(e=>e.trim().split(/\s+/)[0]).filter(Boolean)).has(`cross-origin-isolated`))throw c(`invalid`,`packages.mount: this page is cross-origin isolated, so the iframe's allow attribute must include 'cross-origin-isolated' to hand that down to the package`)},A=3e4,j=(e,t)=>new Promise((n,r)=>{let i=e=>{clearTimeout(o),window.removeEventListener(`message`,a),e?r(e):n()},a=n=>{if(n.source!==e.contentWindow||n.origin!==t)return;let r=n.data;if(r?.type===`fkn-packages-ready`)return i();r?.type===`fkn-packages-failed`&&i(c(`unavailable`,typeof r.message==`string`&&r.message?r.message:`packages.mount: the package failed to boot`))},o=setTimeout(()=>i(c(`timeout`,`packages.mount: the package did not register a connection handler`)),A);window.addEventListener(`message`,a)}),M=async(e,t)=>{let{iframe:r}=t;if(!(r instanceof HTMLIFrameElement))throw c(`invalid`,`packages.mount: pass the iframe to load the package into`);if(!r.isConnected)throw c(`invalid`,`packages.mount: the iframe must be in the document before mounting into it`);k(r);let i=await(await l()).packages.frame(e);if(`error`in i)throw c(i.error,i.message);r.src=i.url;let a={done:!1},o=()=>{},s=new Promise(e=>{o=e}),u=n.t(`mounted package`),f=()=>{if(!a.done){a.done=!0,u();try{r.contentWindow?.postMessage({type:`fkn-packages-close`},i.origin)}catch{}r.src=`about:blank`,o()}};try{await j(r,i.origin)}catch(e){throw f(),e}let p=new MessageChannel,m=r.contentWindow;if(!m)throw f(),c(`unavailable`,`packages.mount: the frame was detached before it could connect`);m.postMessage({type:`fkn-packages-port`,from:i.from,protocol:t.protocol,uri:i.uri,name:i.name,version:i.version},i.origin,[p.port2]);try{m.postMessage({type:`fkn-packages-visibility`,visible:!0},i.origin)}catch{}if(t.raw)return{closed:s,port:p.port1,frame:r,unmount:f};try{return{remote:await d(t.payload,p.port1,{signal:t.signal,closed:s}),closed:s,port:p.port1,frame:r,unmount:f}}catch(e){throw f(),e}},N=(e,t,n)=>d(t,e,{signal:n?.signal}),P=null,F=!1,I=new Set,L=[],R=new Map,z=!1,B=!1,V=e=>{let t=R.get(e);t&&(R.delete(e),t())},H=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},U=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&V(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw H(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>R.set(e.port,t)),o=await u(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},W=()=>{z||typeof window>`u`||window.parent===window||(z=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent)return;let t=e.data;if(t?.type===`fkn-packages-port`){let n=e.ports[0];if(!n)return;let r={port:n,from:typeof t.from==`string`?t.from:``,brokered:e.origin===o,protocol:typeof t.protocol==`string`?t.protocol:null,uri:typeof t.uri==`string`?t.uri:``,name:typeof t.name==`string`?t.name:``,version:typeof t.version==`string`?t.version:``};P?U(r,P).catch(e=>console.warn(`packages.onConnect:`,e)):L.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...R.keys()])V(e);if(t?.type===`fkn-packages-visibility`){F=t.visible===!0;for(let e of I)try{e(F)}catch{}}}))},G=()=>{B||typeof window>`u`||window.parent===window||(B=!0,window.parent.postMessage({type:`fkn-packages-ready`},`*`))},K=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W();let n={createPayload:e,handler:t};for(P=n,G();L.length&&P===n;)U(L.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{P===n&&(P=null)}}},q=()=>F,J=e=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W(),I.add(e);try{e(F)}catch{}return{unsubscribe:()=>{I.delete(e)}}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return i}});
|
package/packages.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./packages-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./packages-DkKru6li.cjs");exports.attach=e.t,exports.connect=e.n,exports.hide=e.r,exports.install=e.i,exports.isVisible=e.a,exports.list=e.o,exports.mount=e.s,exports.onConnect=e.c,exports.onVisibilityChange=e.l,exports.pick=e.d,exports.search=e.f,exports.show=e.p,exports.supportsTemporary=e.m,exports.uninstall=e.h;
|
package/packages.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { B as PickOptions, Bt as SurfaceRect, E as InstalledPackage, I as PackageQuery, L as PackageResult, R as PackagesErrorCode, T as InstallOptions, V as Placement, X as Radii, m as ConnectOptions } from "./contract-
|
|
2
|
-
import { C as pick, D as uninstall, E as supportsTemporary, T as show, _ as isVisible, a as IncomingConnectionInfo, b as onConnect, c as PackageConnection, d as RawPackageConnection, f as ShowOptions, g as install, h as hide, i as IncomingConnection, l as PackageView, m as connect, n as Connect, o as MountOptions, p as attach, r as ConnectPayload, s as MountedPackage, t as AppConnectOptions, u as PackagesError, v as list, w as search, x as onVisibilityChange, y as mount } from "./packages-
|
|
1
|
+
import { B as PickOptions, Bt as SurfaceRect, E as InstalledPackage, I as PackageQuery, L as PackageResult, R as PackagesErrorCode, T as InstallOptions, V as Placement, X as Radii, m as ConnectOptions } from "./contract-B-iUk1mJ.js";
|
|
2
|
+
import { C as pick, D as uninstall, E as supportsTemporary, T as show, _ as isVisible, a as IncomingConnectionInfo, b as onConnect, c as PackageConnection, d as RawPackageConnection, f as ShowOptions, g as install, h as hide, i as IncomingConnection, l as PackageView, m as connect, n as Connect, o as MountOptions, p as attach, r as ConnectPayload, s as MountedPackage, t as AppConnectOptions, u as PackagesError, v as list, w as search, x as onVisibilityChange, y as mount } from "./packages-DTs-fy67.js";
|
|
3
3
|
export { AppConnectOptions, Connect, type ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, type InstallOptions, type InstalledPackage, MountOptions, MountedPackage, PackageConnection, type PackageQuery, type PackageResult, PackageView, PackagesError, type PackagesErrorCode, type PickOptions, type Placement, type Radii, RawPackageConnection, ShowOptions, type SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, supportsTemporary, uninstall };
|
package/packages.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as attach, n as connect, r as hide, i as install, a as isVisible, o as list, s as mount, c as onConnect, l as onVisibilityChange, d as pick, f as search, p as show, m as supportsTemporary, h as uninstall } from "./packages-
|
|
1
|
+
export { t as attach, n as connect, r as hide, i as install, a as isVisible, o as list, s as mount, c as onConnect, l as onVisibilityChange, d as pick, f as search, p as show, m as supportsTemporary, h as uninstall } from "./packages-BAc5K4BQ.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Q as Resolvers } from "./contract-
|
|
2
|
-
import "./api-
|
|
1
|
+
import { Q as Resolvers } from "./contract-B-iUk1mJ.js";
|
|
2
|
+
import "./api-CXvE64Jr.js";
|
|
3
3
|
type ProxyFetch = Resolvers['cloud']['fetch'];
|
|
4
4
|
type FetchParameters = Parameters<ProxyFetch>;
|
|
5
5
|
declare const cloudFetch: (input: FetchParameters[0], init?: FetchParameters[1]) => Promise<Response>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as e } from "./broker-frame-AQDD3D9E.js";
|
|
2
|
-
import { o as t, s as n } from "./api-
|
|
2
|
+
import { o as t, s as n } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { t as r } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { t as i } from "./relay-choice-Bb3oP2gw.js";
|
|
5
5
|
// ../web-extension/lib/lib/forward-signal.js
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./broker-frame-cVEhez7A.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./broker-frame-cVEhez7A.cjs"),t=require("./api-RuHgAkxf.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./relay-choice-JC_JJY_M.cjs");var i=e=>{if(!e)return{signal:void 0,release:()=>{}};let t=new AbortController,n=()=>t.abort(e.reason);return e.aborted?n():e.addEventListener(`abort`,n,{once:!0}),{signal:t.signal,release:()=>{e.removeEventListener(`abort`,n),t.abort()}}},a=(e,t)=>{if(!e.body)return t(),e;let n=e.body.getReader(),r=new ReadableStream({pull:async e=>{try{let{done:r,value:i}=await n.read();if(!r)return e.enqueue(i);t(),e.close()}catch(n){t(),e.error(n)}},cancel:e=>n.cancel(e).finally(t)}),i=new Response(r,{status:e.status,statusText:e.statusText,headers:e.headers});return e.url&&Object.defineProperty(i,"url",{value:e.url}),e.redirected&&Object.defineProperty(i,"redirected",{value:!0}),i},o=typeof FinalizationRegistry>`u`?void 0:new FinalizationRegistry(e=>e()),s=(e,t)=>{if(!e.body)return t(),e;let r=n.t(`streamed response`),i=()=>{r(),t()},s=a(e,i);return o?.register(s.body,i),s},c=async e=>{if(e!=null)return typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e:new Request(`https://body.invalid/`,{method:`POST`,body:e,duplex:`half`}).arrayBuffer()},l=async e=>{if(e.method===`GET`||e.method===`HEAD`)return;let t=await e.clone().arrayBuffer();return t.byteLength?t:void 0},u=(e,n)=>{let{signal:a,release:o}=i(n?.signal);return(n?.relay===void 0?t.o:t.s(`a relay choice`)).then(t=>(n?.relay!==void 0&&r.t(t,`cloud.fetch`),t.cloud.fetch(e,n?.signal?{...n,signal:a}:n))).then(e=>s(e,o),e=>{throw o(),e})},d=async(t,n)=>{if(e.r(t),typeof t==`object`&&t&&!(t instanceof URL)&&typeof t.url==`string`){let e=t,r={};e.headers.forEach((e,t)=>{r[t]=e});let i=await c(n?.body===void 0?await l(e):n.body);return u(e.url,{...n,method:n?.method??e.method,headers:n?.headers??r,body:i})}let r=t instanceof URL?t.href:t,i=await c(n?.body);return u(r,n?.body===void 0?n:{...n,body:i})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { D as RelayChoice, f as Frame } from "./index-HMfzm6dF.js";
|
|
2
|
-
import { J as RELAY_UNAVAILABLE } from "./contract-
|
|
2
|
+
import { J as RELAY_UNAVAILABLE } from "./contract-B-iUk1mJ.js";
|
|
3
3
|
import { Server, Socket } from "net";
|
|
4
4
|
import { Socket as Socket$1 } from "dgram";
|
|
5
5
|
/** What `net.connect`, `net.createServer`, `dgram.createSocket` and `http.request` take beside Node's own options; Node ignores it. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as RoomBacklog, _t as RoomsErrorCode, at as RoomEvent, ct as RoomJson, dt as RoomMessage, et as RoomClaimOptions, ft as RoomOpenOptions, gt as RoomType, ht as RoomSchema, it as RoomEnvelope, lt as RoomMailbox, mt as RoomPermissions, nt as RoomDefaults, pt as RoomPermission, rt as RoomEnd, st as RoomJoinOptions, tt as RoomCreateOptions, ut as RoomMember } from "./contract-
|
|
1
|
+
import { $ as RoomBacklog, _t as RoomsErrorCode, at as RoomEvent, ct as RoomJson, dt as RoomMessage, et as RoomClaimOptions, ft as RoomOpenOptions, gt as RoomType, ht as RoomSchema, it as RoomEnvelope, lt as RoomMailbox, mt as RoomPermissions, nt as RoomDefaults, pt as RoomPermission, rt as RoomEnd, st as RoomJoinOptions, tt as RoomCreateOptions, ut as RoomMember } from "./contract-B-iUk1mJ.js";
|
|
2
2
|
declare namespace rooms_d_exports {
|
|
3
3
|
export { RoomClaimOptions as ClaimOptions, RoomCreateOptions as CreateOptions, RoomJoinOptions as JoinOptions, RoomOpenOptions as OpenOptions, Room, RoomBacklog, RoomDefaults, RoomEnd, RoomEnvelope, RoomEvent, RoomJson, RoomMailbox, RoomMember, RoomMessage, RoomPermission, RoomPermissions, RoomSchema, RoomType, RoomsError, RoomsErrorCode, available, create, join, open };
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-RuHgAkxf.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./contract.cjs");var i=e.t({available:()=>S,create:()=>T,join:()=>E,open:()=>w}),a={wrongKey:`rooms: wrong room key`,inviteNoKey:`rooms: the invite carries no key`,badName:`rooms: the name is not one a room can have`,badKeyOption:`rooms: the key is not 32 bytes base64url`,noSuchMember:`rooms: no such member`,noSuchMessage:`rooms: no such message`,roomFull:`rooms: the room is full`,tooManyConnections:`rooms: too many connections`,tooManyBlocks:`rooms: too many blocks`,tooManyClaims:`rooms: too many claims`,mailboxFull:`rooms: the mailbox is full`,outOfStorage:`rooms: the owner is out of storage`,outOfQuota:`rooms: out of daily bandwidth`,blocked:`rooms: you are blocked from this room`,cannotSend:`rooms: you cannot send here`,permissionDenied:`rooms: permission denied`,notOwner:`rooms: not the room owner`,ownerNotRemovable:`rooms: the owner cannot be removed`,ownerKeepsEvery:`rooms: the owner keeps every permission`,removeYourself:`rooms: you cannot remove yourself`,needsAccount:`rooms: claiming needs an account`,nameClaimed:`rooms: the name is claimed`,notClaimed:`rooms: the room is not claimed`,noMailbox:`rooms: the room keeps no messages`,badLimit:`rooms: the limit is out of range`,badDescription:`rooms: the description is not one a claim can carry`,notClaimer:`rooms: only the app that claimed the room can describe it`,notReleaser:`rooms: only the app that claimed the room can release it`,notClaimingApp:`rooms: only the app that claimed the room can change it`,badTemporary:`rooms: the temporary duration is not one a claim can carry`,notTemporaryClaimer:`rooms: only the app that claimed the room can set when it expires`,temporaryUnavailable:`rooms: temporary claims are not available`,mailboxUnavailable:`rooms: the mailbox switch is not available`,guestUnavailable:`rooms: guest joins are not available`,schemasUnavailable:`rooms: room schemas are not available`,badSchema:`rooms: the schema is not one a room can take`,newerSchema:`rooms: the room holds a newer schema`,noSchema:`rooms: the room has no schema`,misfit:`rooms: the message does not fit the room's schema`,ownerSends:`rooms: only the owner sends this type`,accountSends:`rooms: sending this needs an account`,perAccount:`rooms: you have as many of these here as the room allows`,tooFast:`rooms: sending too fast`,tooLarge:`rooms: the message is too large`,unavailable:`rooms: rooms are unavailable`,notEnabled:`rooms: rooms are not available`,alreadyJoined:`rooms: already joined`,notJoined:`rooms: not joined`,malformed:`rooms: malformed frame`,ended:`rooms: the room has ended`},o=(e,t)=>Object.assign(Error(t),{code:e}),s=e=>e instanceof Error&&typeof e.code==`string`,c={send:!0,receive:!0,maxMessageBytes:262144},l=2048,u=()=>({messages:0,bytes:0,cap:5e8,archived:!1}),d=async()=>{if(!t.l)return;let e=(await t.s(`a room`).catch(()=>void 0))?.rooms;return typeof e?.open==`function`?e:void 0},f=()=>{throw o(`unavailable`,a.unavailable)},p=e=>e===`blocked`?`blocked`:e===`not-found`?`ended`:`unavailable`,m=e=>{if(e!==void 0&&e!==!1)return e===!0?r.ROOM_TEMPORARY_MS.default:typeof e!=`number`||!Number.isInteger(e)?null:e>=r.ROOM_TEMPORARY_MS.min&&e<=r.ROOM_TEMPORARY_MS.max?e:null},h=(e,t)=>{let n=t?e?.guest:e;return typeof n?.join==`function`?n:void 0},g=e=>{let t;try{t=JSON.stringify(e)}catch{}let n=t===void 0?void 0:JSON.parse(t),r=typeof n==`object`&&!!n&&!Array.isArray(n)&&typeof n.type==`string`;if(t===void 0||!r||t.length>l)throw o(`invalid`,a.misfit);return t},_=e=>{let t;try{t=JSON.parse(JSON.stringify(e))}catch{}if(typeof t!=`object`||!t||Array.isArray(t))throw o(`invalid`,a.badSchema);return t},v=e=>e?.schema===void 0?e:{...e,schema:_(e.schema)},y=e=>{if(e.schemas!==!0)throw o(`unavailable`,a.schemasUnavailable);return e},b=e=>{let t=e?.guest;if(t!==void 0&&typeof t!=`boolean`)throw o(`invalid`,a.malformed);return t===!0},x=async(e,r)=>{let i=e.invite,l=e,d=0,f=e.self,v=e.owner,b=e.claimed,x=e.mailbox,S=0,C=await e.defaults().catch(()=>c),w=e.schemas===!0?await Promise.resolve(e.schema()).catch(()=>null):null,T=0,E=!1,D=new Set,O=new Set,k=n.t(`room`),A=()=>{},j=()=>{},M=new Promise(e=>{j=e}),N=e=>{let t=[...O];O.clear();for(let n of t)try{n(e)}catch{}},P=e=>{E||(E=!0,A(),D.clear(),k(),N(o(`closed`,a.ended)),j({reason:e}))},F=e=>{if(E)return;let t=e;if(t.type===`defaults`&&(C=t.defaults),t.type===`schema`&&(T+=1,w=t.schema),t.type===`message`||t.type===`edited`){let e={...t.message,envelope:t.message.envelope??null};t=t.type===`message`?{...t,message:e}:{type:`edited`,message:e}}if(t.type===`permissions`&&t.id===f.id&&(f={id:f.id,permissions:t.permissions,maxMessageBytes:t.maxMessageBytes}),t.type===`claim`){S+=1;let e=t.claimed&&t.mailbox!==!1;t={type:`claim`,claimed:t.claimed,owner:t.owner,mailbox:e},b=t.claimed,v=t.owner,x=e?u():null}for(let e of[...D])try{e(t)}catch{}},I=(e,t)=>{Promise.resolve(e.on(F)).catch(()=>{}),Promise.resolve(e.closed).then(e=>{t===d&&P(e.reason)},()=>{})},L=async(e,t)=>{let n=h(e,r);if(!n)return P(`unavailable`);let a=await n.join(i).catch(()=>void 0);if(E||t!==d)return;if(!a)return P(`unavailable`);if(`error`in a)return P(p(a.error));if(a.self.id!==f.id)return Promise.resolve(a.leave()).catch(()=>{}),P(`unavailable`);l=a,f=a.self,v=a.owner,b=a.claimed,x=a.mailbox,I(a,t);let o=await a.defaults().catch(()=>void 0);if(o&&!E&&t===d&&(C=o),a.schemas!==!0)return;let s=await Promise.resolve(a.schema()).catch(()=>void 0);s!==void 0&&!E&&t===d&&(w=s)};A=t.u((e,t)=>{let n=d;d=t,!(E||n===0||n===t)&&(N(o(`unavailable`,a.unavailable)),L(e.rooms,t))}),I(e,d);let R=async e=>{if(E)throw o(`closed`,a.ended);let t=()=>{},n=new Promise((e,n)=>{t=n});O.add(t);try{return await Promise.race([Promise.resolve(e(l)),n])}catch(e){throw s(e)?e:o(`unavailable`,a.unavailable)}finally{O.delete(t)}},z=async e=>{let t=await R(e);if(`error`in t)throw o(t.error,t.message)},B=async e=>{let t=await R(e);if(typeof t==`object`&&t&&`error`in t)throw o(t.error,t.message);return t};return{id:e.id,name:e.name,key:e.key,invite:i,get self(){return f},get owner(){return v},get claimed(){return b},get mailbox(){return x},defaults:()=>C,members:()=>R(e=>e.members()),schema:()=>w,send:async(e,t)=>{if(t===void 0)return z(t=>t.send(e));let n=g(t);return z(t=>y(t).send(e,n))},edit:async(e,t,n)=>{if(n===void 0)return z(n=>n.edit(e,t));let r=g(n);return z(n=>y(n).edit(e,t,r))},setSchema:async e=>{let t=_(e),n=T;await z(e=>y(e).setSchema(t)),T===n&&(w=t)},delete:(e,t)=>z(n=>n.delete(e,t)),backlog:(e,t)=>B(n=>n.backlog(e,t)),setDefault:(e,t)=>z(n=>n.setDefault(e,t)),limit:(e,t)=>z(n=>n.limit(e,t)),grant:(e,t)=>z(n=>n.grant(e,t)),revoke:(e,t)=>z(n=>n.revoke(e,t)),remove:e=>z(t=>t.remove(e)),block:e=>z(t=>t.block(e)),unblock:e=>z(t=>t.unblock(e)),claim:async e=>{let t=e?.description;if(t!==void 0&&typeof t!=`string`)throw o(`invalid`,a.badDescription);let n=m(e?.temporary);if(n===null)throw o(`invalid`,a.badTemporary);let r=e?.mailbox;if(r!==void 0&&typeof r!=`boolean`)throw o(`invalid`,a.malformed);let i={...t===void 0?{}:{description:t},...n===void 0?{}:{temporary:n},...r===void 0?{}:{mailbox:r}};return Object.keys(i).length===0?z(e=>e.claim()):z(e=>{if(n!==void 0&&e.temporaryClaims!==!0)throw o(`unavailable`,a.temporaryUnavailable);if(r===!1&&e.mailboxSwitch!==!0)throw o(`unavailable`,a.mailboxUnavailable);return e.claim(i)})},setMailbox:async e=>{if(typeof e!=`boolean`)throw o(`invalid`,a.malformed);let t=S;await z(t=>{if(t.mailboxSwitch!==!0)throw o(`unavailable`,a.mailboxUnavailable);return t.setMailbox(e)}),S===t&&(e?x===null&&(x=u()):x=null)},release:()=>z(e=>e.release()),usage:async()=>{let e=await B(e=>e.usage());return x=e,e},on:async e=>E?()=>{}:(D.add(e),()=>{D.delete(e)}),leave:async()=>{await Promise.resolve(l.leave()).catch(()=>{}),P(`left`)},closed:M}},S=async()=>{let e=await d();return e?e.available().catch(()=>!1):!1},C=async(e,t,n)=>{let r=await d();if(!r)throw o(`unavailable`,a.unavailable);let i=h(r,e);if(!i)throw o(`unavailable`,a.guestUnavailable);let s=await n(i).catch(f);if(`error`in s)throw o(s.error,s.message);if(t?.schema!==void 0&&s.schemas!==!0)throw await Promise.resolve(s.leave()).catch(()=>{}),o(`unavailable`,a.schemasUnavailable);return x(s,e)},w=async(e,t)=>{if(typeof e!=`string`||e.length===0||e.length>72)throw o(`invalid`,a.badName);let n=b(t),r=v(t);return C(n,r,t=>t.open(e,r))},T=async e=>{let t=b(e),n=v(e);return C(t,n,e=>e.create(n))},E=async(e,t)=>{let n=typeof e==`string`?e.indexOf(`.`):-1;if(n<=0||n===e.length-1)throw o(`invalid`,a.inviteNoKey);return C(b(t),void 0,n=>n.join(e,t))};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { l as t, s as n, u as r } from "./api-
|
|
2
|
+
import { l as t, s as n, u as r } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { t as i } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { ROOM_TEMPORARY_MS as a } from "./contract.js";
|
|
5
5
|
// src/rooms.ts
|
package/rooms.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rooms-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rooms-BJ5MQq-S.cjs");exports.available=e.t,exports.create=e.n,exports.join=e.r,exports.open=e.i;
|
package/rooms.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as RoomBacklog, _t as RoomsErrorCode, at as RoomEvent, ct as RoomJson, dt as RoomMessage, et as RoomClaimOptions, ft as RoomOpenOptions, gt as RoomType, ht as RoomSchema, it as RoomEnvelope, lt as RoomMailbox, mt as RoomPermissions, nt as RoomDefaults, pt as RoomPermission, rt as RoomEnd, st as RoomJoinOptions, tt as RoomCreateOptions, ut as RoomMember } from "./contract-
|
|
2
|
-
import { a as join, i as create, n as RoomsError, o as open, r as available, t as Room } from "./rooms-
|
|
1
|
+
import { $ as RoomBacklog, _t as RoomsErrorCode, at as RoomEvent, ct as RoomJson, dt as RoomMessage, et as RoomClaimOptions, ft as RoomOpenOptions, gt as RoomType, ht as RoomSchema, it as RoomEnvelope, lt as RoomMailbox, mt as RoomPermissions, nt as RoomDefaults, pt as RoomPermission, rt as RoomEnd, st as RoomJoinOptions, tt as RoomCreateOptions, ut as RoomMember } from "./contract-B-iUk1mJ.js";
|
|
2
|
+
import { a as join, i as create, n as RoomsError, o as open, r as available, t as Room } from "./rooms-APVrHbvL.js";
|
|
3
3
|
export { type RoomClaimOptions as ClaimOptions, type RoomCreateOptions as CreateOptions, type RoomJoinOptions as JoinOptions, type RoomOpenOptions as OpenOptions, Room, type RoomBacklog, type RoomDefaults, type RoomEnd, type RoomEnvelope, type RoomEvent, type RoomJson, type RoomMailbox, type RoomMember, type RoomMessage, type RoomPermission, type RoomPermissions, type RoomSchema, type RoomType, RoomsError, type RoomsErrorCode, available, create, join, open };
|
package/rooms.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as available, n as create, r as join, i as open } from "./rooms-
|
|
1
|
+
export { t as available, n as create, r as join, i as open } from "./rooms-a1_jHEhL.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { c as t, l as n, s as r } from "./api-
|
|
2
|
+
import { c as t, l as n, s as r } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { STORAGE_REFUSALS as i } from "./contract.js";
|
|
4
|
-
import { r as a } from "./account-generation-
|
|
5
|
-
import { l as o, m as s, s as c } from "./account-storage-
|
|
4
|
+
import { r as a } from "./account-generation-Cq_xRcUr.js";
|
|
5
|
+
import { l as o, m as s, s as c } from "./account-storage-DQryXWDZ.js";
|
|
6
6
|
// src/storage.ts
|
|
7
7
|
var l = /* @__PURE__ */ e({
|
|
8
8
|
available: () => 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-RuHgAkxf.cjs"),n=require("./contract.cjs"),r=require("./account-generation-6F54U_B3.cjs"),i=require("./account-storage-f0HN_zgo.cjs");var a=e.t({available:()=>v,delete:()=>C,get:()=>x,list:()=>S,put:()=>y}),o=new Map(Object.values(n.STORAGE_REFUSALS).map(({code:e,message:t})=>[t,e])),s=new Set(o.values()),c=(e,t)=>Object.assign(Error(t),{code:e}),l=e=>c(n.STORAGE_REFUSALS[e].code,n.STORAGE_REFUSALS[e].message),u=e=>e instanceof Error&&s.has(e.code),d=e=>{if(u(e))return e;let t=e instanceof Error?e.message:``,n=o.get(t);return n?c(n,t):l(`unavailable`)},f=async()=>{if(!t.l)return;let e=(await t.s(`storage`).catch(()=>void 0))?.storage;return typeof e?.put==`function`?e:void 0},p=()=>{throw l(`unavailable`)},m=e=>typeof e==`object`&&!!e&&typeof e.error==`string`&&typeof e.message==`string`,h=(e,t,n)=>{throw e.error===`aborted`?t?.reason??new DOMException(`The operation was aborted.`,`AbortError`):(e.error===`account-changed`&&n&&r.r(n.generation),s.has(e.error)?c(e.error,e.message):l(`unavailable`))},g=async e=>{try{return await i.m(e)}catch(e){throw i.l(e)?l(`accountChanged`):e instanceof Error&&/not connected|not signed in/i.test(e.message)?l(`needsAccount`):l(`unavailable`)}},_=(e,t)=>(e.catch(()=>{}),t?Promise.race([e,new Promise((e,n)=>t.addEventListener(`abort`,()=>n(t.reason),{once:!0}))]):e),v=async()=>{let e=await f();return e?Promise.resolve(e.available()).catch(()=>!1):!1},y=async(e,t={})=>{let n=i.s(),{signal:r,onProgress:a,key:o}=t;r?.throwIfAborted();let s=typeof Blob<`u`&&e instanceof Blob,c=typeof ReadableStream<`u`&&e instanceof ReadableStream;if(!s&&!c)throw l(`notAFile`);let u=s?e.size:t.size;if(typeof u!=`number`||!Number.isSafeInteger(u)||u<0||s&&t.size!==void 0&&t.size!==u)throw l(`badSize`);let d=await f();if(!d)throw l(`unavailable`);let v=await g(n);r?.throwIfAborted();let y=await _(Promise.resolve(d.put(e,{size:u,...o===void 0?{}:{key:o},accountPin:v,...r?{signal:r}:{},...typeof a==`function`?{onProgress:e=>{try{a(e)}catch{}}}:{}})).catch(p),r);return m(y)?h(y,r,n):y},b=(e,t,n)=>{let r=(t,n)=>{if(t===void 0)return n;let r=Math.trunc(Number.isFinite(t)?t:t>0?e:-e);return r<0?Math.max(e+r,0):Math.min(r,e)},i=r(t,0);return{from:i,to:Math.max(i,r(n,e))}},x=async(e,n,r={})=>{if(typeof e!=`string`)throw l(`badUrl`);if(typeof n!=`string`)throw l(`badKey`);let{signal:i}=r;i?.throwIfAborted();let a=async()=>{let r=await f();if(!r)throw l(`unavailable`);let a=t.c()?.epoch,o=await _(Promise.resolve(r.get(e,n,i?{signal:i}:void 0)).catch(p),i);return m(o)?h(o,i):{handle:o,epoch:a}},o=await a(),s=async()=>{let e=t.c()?.epoch;return o.epoch!==void 0&&e!==void 0&&e!==o.epoch&&(o=await a()),o.handle},c=(e,t)=>{let n;return new ReadableStream({pull:async r=>{try{if(!n){let r=await s(),i=await Promise.resolve(r.read(e,t)).catch(p);if(m(i))return h(i);n=i.getReader()}let{value:i,done:a}=await n.read();a?r.close():r.enqueue(i)}catch(e){throw d(e)}},cancel:e=>n?.cancel(e)},{highWaterMark:0})},u=(e,t)=>({size:t-e,stream:()=>c(e,t),arrayBuffer:async()=>{let n=new Uint8Array(t-e),r=c(e,t).getReader(),i=0;for(;;){let{value:e,done:t}=await r.read();if(t)break;n.set(e,i),i+=e.length}return n.buffer},slice:(n,r)=>{let i=b(t-e,n,r);return u(e+i.from,e+i.to)}});return u(0,o.handle.size)},S=async(e={})=>{let t=i.s(),n=await f();if(!n)throw l(`unavailable`);let r=await g(t),{limit:a,cursor:o}=e,s=await Promise.resolve(n.list({accountPin:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{cursor:o}})).catch(p);return m(s)?h(s,void 0,t):s},C=async e=>{let t=i.s();if(typeof e!=`string`)throw l(`badUrl`);let n=await f();if(!n)throw l(`unavailable`);let r=await g(t),a=await Promise.resolve(n.delete(e,{accountPin:r})).catch(p);m(a)&&h(a,void 0,t)};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Nt as StorageProgress, Pt as StoragePutOptions, Rt as StoredObject, jt as StorageErrorCode, zt as StoredPage } from "./contract-
|
|
1
|
+
import { Nt as StorageProgress, Pt as StoragePutOptions, Rt as StoredObject, jt as StorageErrorCode, zt as StoredPage } from "./contract-B-iUk1mJ.js";
|
|
2
2
|
declare namespace storage_d_exports {
|
|
3
3
|
export { StorageError, StorageErrorCode, StorageProgress, StoragePutOptions, StoredBlob, StoredObject, StoredPage, available, remove as delete, get, list, put };
|
|
4
4
|
}
|
package/storage.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./storage-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./storage-D9_L4Coi.cjs");exports.available=e.t,exports.delete=e.a,exports.get=e.n,exports.list=e.r,exports.put=e.i;
|
package/storage.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Nt as StorageProgress, Pt as StoragePutOptions, Rt as StoredObject, jt as StorageErrorCode, zt as StoredPage } from "./contract-
|
|
2
|
-
import { a as list, i as get, n as StoredBlob, o as put, r as available, s as remove, t as StorageError } from "./storage-
|
|
1
|
+
import { Nt as StorageProgress, Pt as StoragePutOptions, Rt as StoredObject, jt as StorageErrorCode, zt as StoredPage } from "./contract-B-iUk1mJ.js";
|
|
2
|
+
import { a as list, i as get, n as StoredBlob, o as put, r as available, s as remove, t as StorageError } from "./storage-YQNVOwp8.js";
|
|
3
3
|
export { StorageError, type StorageErrorCode, type StorageProgress, type StoragePutOptions, StoredBlob, type StoredObject, type StoredPage, available, remove as delete, get, list, put };
|
package/storage.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as available, a as delete, n as get, r as list, i as put } from "./storage-
|
|
1
|
+
export { t as available, a as delete, n as get, r as list, i as put } from "./storage-ChE9vSDe.js";
|
package/websocket.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-cVEhez7A.cjs"),t=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-cVEhez7A.cjs"),t=require("./api-RuHgAkxf.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./contract.cjs");var i=0,a=1,o=2,s=3,c=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,l=new TextEncoder,u={code:1006,reason:``,wasClean:!1,error:!1},d=e=>{let t;try{t=new URL(e,globalThis.document?.baseURI??globalThis.location?.href)}catch{throw new DOMException(`The URL '${e}' is invalid.`,`SyntaxError`)}if(t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol!==`ws:`&&t.protocol!==`wss:`)throw new DOMException(`The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${t.protocol}' is not allowed.`,`SyntaxError`);if(t.hash||t.href.endsWith(`#`))throw new DOMException(`The URL contains a fragment identifier.`,`SyntaxError`);return t},f=e=>{if(typeof e==`string`)return[e,l.encode(e).byteLength];if(e instanceof Blob)return[e,e.size];let t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e);return[t.slice().buffer,t.byteLength]},p=class extends EventTarget{static CONNECTING=i;static OPEN=a;static CLOSING=o;static CLOSED=s;url;extensions=``;#e=`blob`;#t=i;#n=``;#r=0;#i;#a;#o;#s;#c=new Map;constructor(i,a=[]){super();let o=d(i),s=typeof a==`string`?[a]:[...a];if(new Set(s).size!==s.length||s.some(e=>!c.test(e)))throw new DOMException(`The subprotocols are not unique tokens.`,`SyntaxError`);if(s.some(e=>e===`fkn-proxy`||e.startsWith(`fkn-proxy.`)))throw new DOMException(`The subprotocol '${r.PROXY_WEBSOCKET_MARKER}' and those starting '${r.PROXY_WEBSOCKET_ENTRY}' are FKN's.`,`SyntaxError`);if(e.i(o.hostname))throw Error(`websocket refuses FKN platform domains (${o.hostname})`);this.url=o.href,this.#i=o.origin,this.#s=n.t(`websocket`),t.s(`a websocket`).then(e=>e.cloud.websocket({url:this.url,protocols:s})).then(e=>this.#l(e)).catch(()=>this.#u({...u,error:!0}))}get readyState(){return this.#t}get protocol(){return this.#n}get bufferedAmount(){return this.#r}get binaryType(){return this.#e}set binaryType(e){(e===`blob`||e===`arraybuffer`)&&(this.#e=e)}send(e){if(this.#t===i)throw new DOMException(`Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.`,`InvalidStateError`);let[t,n]=f(e);this.#r+=n,this.#t===a&&this.#o.write(t).then(()=>{this.#r-=n},()=>{})}close(e,t){if(e!==void 0&&e!==1e3&&(e<3e3||e>4999))throw new DOMException(`The close code must be either 1000, or between 3000 and 4999. ${e} is neither.`,`InvalidAccessError`);if(t!==void 0&&l.encode(t).byteLength>123)throw new DOMException(`The close reason must not be greater than 123 UTF-8 bytes.`,`SyntaxError`);if(this.#t===o||this.#t===s)return;if(e===void 0&&t!==void 0&&(e=1e3),this.#t===i){this.#t=o,setTimeout(()=>this.#u({...u,error:!0}),0);return}this.#t=o;let n=this.#a;this.#o.close().catch(()=>{}).then(()=>n.close(e,t)).catch(()=>{})}async#l(e){if(this.#t!==i){e.close().catch(()=>{});return}this.#a=e,this.#n=e.protocol,this.#o=e.writable.getWriter(),this.#t=a,this.dispatchEvent(new Event(`open`));let t=e.readable.getReader();try{for(;;){let{value:e,done:n}=await t.read();if(n)break;if(this.#t!==a)continue;let r=typeof e==`string`||this.#e===`arraybuffer`?e:new Blob([e]);this.dispatchEvent(new MessageEvent(`message`,{data:r,origin:this.#i}))}}catch{return this.#u(u)}let n=await e.closed.then(e=>typeof e?.code==`number`?e:u,()=>u);this.#u(n)}#u({code:e,reason:t,wasClean:n,error:r}){this.#t!==s&&(this.#t=s,this.#s(),r&&this.dispatchEvent(new Event(`error`)),this.dispatchEvent(new CloseEvent(`close`,{code:e,reason:t,wasClean:n})))}#d(e){return this.#c.get(e)?.handler??null}#f(e,t){let n=this.#c.get(e);if(typeof t!=`function`){n&&this.removeEventListener(e,n.listener),this.#c.delete(e);return}if(n){n.handler=t;return}let r={handler:t,listener:e=>{r.handler.call(this,e)}};this.#c.set(e,r),this.addEventListener(e,r.listener)}get onopen(){return this.#d(`open`)}set onopen(e){this.#f(`open`,e)}get onmessage(){return this.#d(`message`)}set onmessage(e){this.#f(`message`,e)}get onerror(){return this.#d(`error`)}set onerror(e){this.#f(`error`,e)}get onclose(){return this.#d(`close`)}set onclose(e){this.#f(`close`,e)}};for(let[e,t]of Object.entries({CONNECTING:i,OPEN:a,CLOSING:o,CLOSED:s}))Object.defineProperty(p.prototype,e,{value:t,enumerable:!0});exports.WebSocket=p;
|
package/websocket.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as e } from "./broker-frame-AQDD3D9E.js";
|
|
2
|
-
import { s as t } from "./api-
|
|
2
|
+
import { s as t } from "./api-DR6y3Q0Y.js";
|
|
3
3
|
import { t as n } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { PROXY_WEBSOCKET_ENTRY as r, PROXY_WEBSOCKET_MARKER as i } from "./contract.js";
|
|
5
5
|
// src/websocket.ts
|
|
@@ -87,4 +87,15 @@ type UdpPortAckMessage = {
|
|
|
87
87
|
type: typeof UDP_PORT_ACK_TYPE;
|
|
88
88
|
consumedBytes: number;
|
|
89
89
|
};
|
|
90
|
-
|
|
90
|
+
/**
|
|
91
|
+
* What a socket fails with when its site resets the connection: Node's own error for it on Linux (Node 26.12.1 against
|
|
92
|
+
* a site that resets, measured 2026-11-11). The data plane fails the socket's stream with it, and since an error
|
|
93
|
+
* crossing realms keeps only its name and message, the library gives back the rest by the message.
|
|
94
|
+
*/
|
|
95
|
+
declare const SITE_RESET_MESSAGE = "read ECONNRESET";
|
|
96
|
+
declare const siteResetError: () => Error & {
|
|
97
|
+
code: string;
|
|
98
|
+
errno: number;
|
|
99
|
+
syscall: string;
|
|
100
|
+
};
|
|
101
|
+
export { siteResetError as C, UdpSocketOption as S, UDP_OPTION_SEND_BUFFER_SIZE as _, TCP_OPTION_SEND_BUFFER_SIZE as a, UDP_PORT_ACK_TYPE as b, UDP_OPTION_ADD_MEMBERSHIP_V4 as c, UDP_OPTION_DROP_MEMBERSHIP_V4 as d, UDP_OPTION_DROP_MEMBERSHIP_V6 as f, UDP_OPTION_RECV_BUFFER_SIZE as g, UDP_OPTION_MULTICAST_TTL_V4 as h, TCP_OPTION_RECV_BUFFER_SIZE as i, UDP_OPTION_ADD_MEMBERSHIP_V6 as l, UDP_OPTION_MULTICAST_LOOP_V6 as m, TCP_OPTION_KEEPALIVE as n, TCP_OPTION_TTL as o, UDP_OPTION_MULTICAST_LOOP_V4 as p, TCP_OPTION_NODELAY as r, TcpSocketOption as s, SITE_RESET_MESSAGE as t, UDP_OPTION_BROADCAST as u, UDP_OPTION_TTL as v, UdpPortAckMessage as x, UDP_PORT_ACK_INTERVAL_BYTES as y };
|
package/wire.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=0,t=1,n=2,r=3,i=4,a=0,o=1,s=2,c=3,l=4,u=5,d=6,f=7,p=8,m=9,h=10,g=`webvpn-udp-port-ack`,_=524288;exports.TCP_OPTION_KEEPALIVE=n,exports.TCP_OPTION_NODELAY=e,exports.TCP_OPTION_RECV_BUFFER_SIZE=i,exports.TCP_OPTION_SEND_BUFFER_SIZE=r,exports.TCP_OPTION_TTL=t,exports.UDP_OPTION_ADD_MEMBERSHIP_V4=u,exports.UDP_OPTION_ADD_MEMBERSHIP_V6=f,exports.UDP_OPTION_BROADCAST=a,exports.UDP_OPTION_DROP_MEMBERSHIP_V4=d,exports.UDP_OPTION_DROP_MEMBERSHIP_V6=p,exports.UDP_OPTION_MULTICAST_LOOP_V4=c,exports.UDP_OPTION_MULTICAST_LOOP_V6=l,exports.UDP_OPTION_MULTICAST_TTL_V4=s,exports.UDP_OPTION_RECV_BUFFER_SIZE=h,exports.UDP_OPTION_SEND_BUFFER_SIZE=m,exports.UDP_OPTION_TTL=o,exports.UDP_PORT_ACK_INTERVAL_BYTES=_,exports.UDP_PORT_ACK_TYPE=g;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=0,t=1,n=2,r=3,i=4,a=0,o=1,s=2,c=3,l=4,u=5,d=6,f=7,p=8,m=9,h=10,g=`webvpn-udp-port-ack`,_=524288,v=`read ECONNRESET`,y=()=>Object.assign(Error(v),{code:`ECONNRESET`,errno:-104,syscall:`read`});exports.SITE_RESET_MESSAGE=v,exports.TCP_OPTION_KEEPALIVE=n,exports.TCP_OPTION_NODELAY=e,exports.TCP_OPTION_RECV_BUFFER_SIZE=i,exports.TCP_OPTION_SEND_BUFFER_SIZE=r,exports.TCP_OPTION_TTL=t,exports.UDP_OPTION_ADD_MEMBERSHIP_V4=u,exports.UDP_OPTION_ADD_MEMBERSHIP_V6=f,exports.UDP_OPTION_BROADCAST=a,exports.UDP_OPTION_DROP_MEMBERSHIP_V4=d,exports.UDP_OPTION_DROP_MEMBERSHIP_V6=p,exports.UDP_OPTION_MULTICAST_LOOP_V4=c,exports.UDP_OPTION_MULTICAST_LOOP_V6=l,exports.UDP_OPTION_MULTICAST_TTL_V4=s,exports.UDP_OPTION_RECV_BUFFER_SIZE=h,exports.UDP_OPTION_SEND_BUFFER_SIZE=m,exports.UDP_OPTION_TTL=o,exports.UDP_PORT_ACK_INTERVAL_BYTES=_,exports.UDP_PORT_ACK_TYPE=g,exports.siteResetError=y;
|
package/wire.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
export { TCP_OPTION_KEEPALIVE, TCP_OPTION_NODELAY, TCP_OPTION_RECV_BUFFER_SIZE, TCP_OPTION_SEND_BUFFER_SIZE, TCP_OPTION_TTL, TcpSocketOption, UDP_OPTION_ADD_MEMBERSHIP_V4, UDP_OPTION_ADD_MEMBERSHIP_V6, UDP_OPTION_BROADCAST, UDP_OPTION_DROP_MEMBERSHIP_V4, UDP_OPTION_DROP_MEMBERSHIP_V6, UDP_OPTION_MULTICAST_LOOP_V4, UDP_OPTION_MULTICAST_LOOP_V6, UDP_OPTION_MULTICAST_TTL_V4, UDP_OPTION_RECV_BUFFER_SIZE, UDP_OPTION_SEND_BUFFER_SIZE, UDP_OPTION_TTL, UDP_PORT_ACK_INTERVAL_BYTES, UDP_PORT_ACK_TYPE, UdpPortAckMessage, UdpSocketOption };
|
|
1
|
+
import { C as siteResetError, S as UdpSocketOption, _ as UDP_OPTION_SEND_BUFFER_SIZE, a as TCP_OPTION_SEND_BUFFER_SIZE, b as UDP_PORT_ACK_TYPE, c as UDP_OPTION_ADD_MEMBERSHIP_V4, d as UDP_OPTION_DROP_MEMBERSHIP_V4, f as UDP_OPTION_DROP_MEMBERSHIP_V6, g as UDP_OPTION_RECV_BUFFER_SIZE, h as UDP_OPTION_MULTICAST_TTL_V4, i as TCP_OPTION_RECV_BUFFER_SIZE, l as UDP_OPTION_ADD_MEMBERSHIP_V6, m as UDP_OPTION_MULTICAST_LOOP_V6, n as TCP_OPTION_KEEPALIVE, o as TCP_OPTION_TTL, p as UDP_OPTION_MULTICAST_LOOP_V4, r as TCP_OPTION_NODELAY, s as TcpSocketOption, t as SITE_RESET_MESSAGE, u as UDP_OPTION_BROADCAST, v as UDP_OPTION_TTL, x as UdpPortAckMessage, y as UDP_PORT_ACK_INTERVAL_BYTES } from "./wire-Cddfpu2U.js";
|
|
2
|
+
export { SITE_RESET_MESSAGE, TCP_OPTION_KEEPALIVE, TCP_OPTION_NODELAY, TCP_OPTION_RECV_BUFFER_SIZE, TCP_OPTION_SEND_BUFFER_SIZE, TCP_OPTION_TTL, TcpSocketOption, UDP_OPTION_ADD_MEMBERSHIP_V4, UDP_OPTION_ADD_MEMBERSHIP_V6, UDP_OPTION_BROADCAST, UDP_OPTION_DROP_MEMBERSHIP_V4, UDP_OPTION_DROP_MEMBERSHIP_V6, UDP_OPTION_MULTICAST_LOOP_V4, UDP_OPTION_MULTICAST_LOOP_V6, UDP_OPTION_MULTICAST_TTL_V4, UDP_OPTION_RECV_BUFFER_SIZE, UDP_OPTION_SEND_BUFFER_SIZE, UDP_OPTION_TTL, UDP_PORT_ACK_INTERVAL_BYTES, UDP_PORT_ACK_TYPE, UdpPortAckMessage, UdpSocketOption, siteResetError };
|
package/wire.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
// src/wire.ts
|
|
2
|
-
var e = 0, t = 1, n = 2, r = 3, i = 4, a = 0, o = 1, s = 2, c = 3, l = 4, u = 5, d = 6, f = 7, p = 8, m = 9, h = 10, g = "webvpn-udp-port-ack", _ = 524288
|
|
3
|
-
|
|
2
|
+
var e = 0, t = 1, n = 2, r = 3, i = 4, a = 0, o = 1, s = 2, c = 3, l = 4, u = 5, d = 6, f = 7, p = 8, m = 9, h = 10, g = "webvpn-udp-port-ack", _ = 524288, v = "read ECONNRESET", y = () => Object.assign(/* @__PURE__ */ Error(v), {
|
|
3
|
+
code: "ECONNRESET",
|
|
4
|
+
errno: -104,
|
|
5
|
+
syscall: "read"
|
|
6
|
+
});
|
|
7
|
+
export { v as SITE_RESET_MESSAGE, n as TCP_OPTION_KEEPALIVE, e as TCP_OPTION_NODELAY, i as TCP_OPTION_RECV_BUFFER_SIZE, r as TCP_OPTION_SEND_BUFFER_SIZE, t as TCP_OPTION_TTL, u as UDP_OPTION_ADD_MEMBERSHIP_V4, f as UDP_OPTION_ADD_MEMBERSHIP_V6, a as UDP_OPTION_BROADCAST, d as UDP_OPTION_DROP_MEMBERSHIP_V4, p as UDP_OPTION_DROP_MEMBERSHIP_V6, c as UDP_OPTION_MULTICAST_LOOP_V4, l as UDP_OPTION_MULTICAST_LOOP_V6, s as UDP_OPTION_MULTICAST_TTL_V4, h as UDP_OPTION_RECV_BUFFER_SIZE, m as UDP_OPTION_SEND_BUFFER_SIZE, o as UDP_OPTION_TTL, _ as UDP_PORT_ACK_INTERVAL_BYTES, g as UDP_PORT_ACK_TYPE, y as siteResetError };
|
package/api-BORAfb8e.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e=require("./broker-frame-cVEhez7A.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(``)}')`},ae=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}},oe=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,se=16,v=(e,t,n)=>t===1?e*se:t===2?e*n:e,y=(e,t,n,r,i)=>{let a=t?r:0,o=n?i:0;return a||o?{target:e,left:a,top:o}:null},ce=(e,t,n)=>{let r=document.documentElement,i=getComputedStyle(r),a=i.overflowX===`visible`&&i.overflowY===`visible`&&document.body?document.body:r;for(let r=e;r&&r!==a;r=r.parentElement){let e=getComputedStyle(r),i=/auto|scroll/.test(e.overflowX)&&r.scrollWidth>r.clientWidth,a=/auto|scroll/.test(e.overflowY)&&r.scrollHeight>r.clientHeight,o=y(r,i,a,t,n);if(o)return o}let o=document.scrollingElement,s=a===r?i:getComputedStyle(a);return o&&y(o,!/hidden|clip/.test(s.overflowX),!/hidden|clip/.test(s.overflowY),t,n)},b=null,x=null,S=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),C=e=>{if(!x||!b||!oe(x,e.clientX,e.clientY))return;let t=document.fullscreenElement;if(t&&!t.contains(b))return;let n=document.elementFromPoint(e.clientX,e.clientY);if(!n||n===b)return;let r=n.closest(`:is(:modal, :popover-open)`);if(r&&!r.contains(b))return;let i=ce(n,v(e.deltaX,e.deltaMode,window.innerWidth),v(e.deltaY,e.deltaMode,window.innerHeight));i&&(i.target.scrollBy({left:i.left,top:i.top,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:ae(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.a(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&&(await a(t),t.contentWindow))return{receive:window,emit:(e,n)=>t.contentWindow?.postMessage(e,M,n)}})(),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 $}});
|
package/net-B3SziNT3.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BORAfb8e.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./relay-choice-JC_JJY_M.cjs"),i=require("./utils-BpHmMkIR.cjs");require("./wire.cjs");let a=require("stream"),o=require("events");var s=e.t({Server:()=>l,Socket:()=>c,_default:()=>p,connect:()=>u,createConnection:()=>d,createServer:()=>f,default:()=>p,isIP:()=>i.t,isIPv4:()=>i.n,isIPv6:()=>i.r}),c=class extends a.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;_relay;constructor(e){if(e?.fd!==void 0)throw Error(`FKN WebVPN does not support file descriptors`);super({...e,allowHalfOpen:!!e?.allowHalfOpen,autoDestroy:!0}),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}_busyRelease;__webvpn_tcp_socket_init__(e,t){return this._busyRelease??=n.t(`tcp socket`),t&&(this._localAddress={address:t.localAddress,family:t.localFamily,port:t.localPort},this._remoteAddress={address:t.remoteAddress,family:t.remoteFamily,port:t.remotePort},this._relay=t.relay,this._connected=!0),this._webVPNTcpSocketPromise=e.then(e=>{let t=e.dataReadableStream.getReader(),n=e.dataWritableStream.getWriter();return this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},this._remoteAddress={address:e.remoteAddress,family:e.remoteFamily,port:e.remotePort},this._relay=e.relay,{...e,reader:t,writer:n}}).catch(e=>{this.destroyed||this.destroy(e)}),this._webVPNTcpSocketPromise.then(e=>{e&&!this.destroyed&&(this._connected=!0,this.emit(`connect`),this.isPaused()||this.read(0))}),this._webVPNTcpSocketPromise}_connected=!1;_read(e){if(!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);this._webVPNTcpSocketPromise.then(e=>{e?e.reader.read().then(({value:e,done:t})=>{t?(this.push(null),this.read(0)):(this._restartTimeoutTimer(),this.push(e))}).catch(e=>{this.destroy(e)}):this.push(null)})}_write(e,t,n){this._webVPNTcpSocketPromise?this._webVPNTcpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not connected`);await t.writer.ready,await t.writer.write(e)}).then(()=>{this.destroyed||(this._restartTimeoutTimer(),n())},e=>this._fail(e)):n(Error(`Socket not connected`))}_fail(e){if(!this.destroyed){for(let t of this._pendingCallbacks)t(e);this.destroy(e)}}connect(...e){let n=i.o(...e),{relay:a}=n,o=this.__webvpn_tcp_socket_init__(t.s(`an outbound tcp socket`).then(e=>(a!==void 0&&r.t(e,`net.connect`),e.cloud.webvpn.tcpSocket({remoteAddress:n.host??`localhost`,remotePort:n.port,relay:a}))));return n.callback&&o.then(e=>{e&&!this.destroyed&&n.callback.call(this)}),this}_final(e){this._webVPNTcpSocketPromise?this._webVPNTcpSocketPromise.then(async e=>{e&&await e.writer.close()}).then(()=>{this.destroyed||e()},e=>this._fail(e)):e()}_destroyError;_destroy(e,t){this._destroyError=e??void 0,this._timeoutTimer&&clearTimeout(this._timeoutTimer),this._busyRelease?.(),this._webVPNTcpSocketPromise?this._webVPNTcpSocketPromise.then(async t=>{t&&(this._resetRequested?await t.resetAndDestroy():!e&&this._writableState.finished&&this._readableState.ended?await t.end():await t.destroy())}).then(()=>t(e),()=>t(e)):t(e)}destroy(e,t){return this.destroyed&&!t?this:(Object.assign(this,{readable:!1,writable:!1}),Reflect.apply(super.destroy,this,[e,t]))}emit(e,...t){if(e===`finish`)for(let e of this._endCallbacks.splice(0))e();if(e!==`close`||!this.destroyed)return super.emit(e,...t);let n=this._destroyError!==void 0;if(!this._connected){let e=super.emit(`close`,n);return this._settlePending(Object.assign(Error(`Socket closed before the connection was established`),{code:`ERR_SOCKET_CLOSED_BEFORE_CONNECTION`})),e}return this._settlePending(Object.assign(Error(`write ECANCELED`),{code:`ECANCELED`,syscall:`write`})),super.emit(`close`,n)}_settlePending(e){let t=e;for(let e of this._pendingCallbacks)e(t),t=this._destroyError??t}destroySoon(){this._writableState.finished?this.destroy():(this.once(`finish`,()=>this.destroy()),this.end())}_resetRequested=!1;resetAndDestroy(){return this._resetRequested=!0,this.destroy(),this}_timeoutMs;_timeoutTimer;_restartTimeoutTimer(){this._timeoutTimer&&clearTimeout(this._timeoutTimer),this._timeoutMs&&!this.destroyed&&(this._timeoutTimer=setTimeout(()=>this.emit(`timeout`),this._timeoutMs))}setTimeout(e,t){return t&&this.on(`timeout`,t),this._timeoutMs=e,this._restartTimeoutTimer(),this}setNoDelay(e){let t=e??!0;return this._setTcpOption({type:0,value:t}),this}setKeepAlive(e,t){let n=e??!1,r=t!==void 0&&t>0?Math.max(1,Math.round(t/1e3)):0;return this._setTcpOption({type:2,enabled:n,initialDelaySeconds:r}),this}setSendBufferSize(e){return this._setTcpOption({type:3,value:e}),this}setRecvBufferSize(e){return this._setTcpOption({type:4,value:e}),this}_typeOfService;getTypeOfService(){return this._typeOfService??0}setTypeOfService(e){return this._typeOfService=e,this}_setTcpOption(e){this._webVPNTcpSocketPromise?this._webVPNTcpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.destroyed||this.emit(`error`,e)}}):this.emit(`error`,Error(`Cannot set socket option before connect`))}_pendingCallbacks=new Set;_settleOnClose(e){let t=n=>{this._pendingCallbacks.delete(t)&&e(n)};return this._pendingCallbacks.add(t),t}end(e,t,n){if(typeof t==`function`&&(n=t,t=void 0),typeof e==`function`&&(n=e,e=void 0),e==null&&this._writableState.finished){let e=Object.assign(Error(`Cannot call end after a stream was finished`),{code:`ERR_STREAM_ALREADY_FINISHED`});return n&&queueMicrotask(()=>n(e)),this}return this.destroyed?(e!=null&&this.write(e,t,n),this):(n&&this._endCallbacks.push(this._settleOnClose(n)),Reflect.apply(super.end,this,[e,t]))}_endCallbacks=[];write(e,t,n){if(typeof t==`function`&&(n=t,t=void 0),this.destroyed){let e=Object.assign(Error(`Cannot call write after a stream was destroyed`),{code:`ERR_STREAM_DESTROYED`});return n&&queueMicrotask(()=>n(e)),!1}if(!n)return t?super.write(e,t):super.write(e);let r=this._settleOnClose(n);return t?super.write(e,t,r):super.write(e,r)}address(){return this._localAddress??{}}unref(){return this}ref(){return this}autoSelectFamilyAttemptedAddresses;bufferSize;bytesRead;bytesWritten;connecting;pending;get localAddress(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.address}get localPort(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.port}get localFamily(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.family}readyState;get remoteAddress(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.address}get remotePort(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.port}get remoteFamily(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.family}timeout},l=class extends o.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;_relayChoice;_allowHalfOpen;_relay;constructor(e,t){super(e),this._relayChoice=e?.relay,this._allowHalfOpen=!!e?.allowHalfOpen,t&&this.on(`connection`,t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}_busyRelease;__webvpn_tcp_socket_listener_init__(e){return this._busyRelease??=n.t(`tcp server`),this._webVPNTcpSocketListenerPromise=e.then(e=>(this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},this._relay=e.relay,e)).catch(e=>{this.emit(`error`,e)}),this._webVPNTcpSocketListenerPromise.then(e=>{e?this.emit(`listening`):this._busyRelease?.()}),this._webVPNTcpSocketListenerPromise}listen(...e){let n=i.o(...e);this._closeEmitted=!1;let a=e=>{let t=new c({allowHalfOpen:this._allowHalfOpen});t.__webvpn_tcp_socket_init__(Promise.resolve(e),e),this.emit(`connection`,t)},o=e=>{this._localAddress=void 0;try{e&&this.listenerCount(`error`)>0&&this.emit(`error`,e)}finally{this._emitClose()}},s=this._relayChoice,l=e=>t.s(`a tcp listener`).then(t=>(s!==void 0&&r.t(t,`net.createServer`),t.cloud.webvpn.tcpSocketListener({localAddress:e,localPort:n.port,onConnection:a,onClose:o,relay:s}))),u=n.host?l(n.host):l(`::`).catch(()=>l(`0.0.0.0`)),d=this.__webvpn_tcp_socket_listener_init__(u);return n.callback&&d.then(e=>{e&&n.callback.call(this)}),this}_closeEmitted=!1;_emitClose(){this._closeEmitted||(this._closeEmitted=!0,this._busyRelease?.(),this.emit(`close`))}close(e){return this._webVPNTcpSocketListenerPromise&&this._webVPNTcpSocketListenerPromise.then(async t=>{if(t)try{await t.close(),this._localAddress=void 0,this._emitClose(),e&&e()}catch(t){this._localAddress=void 0,this._emitClose(),e&&e(t)}}),this}address(){return this._localAddress??null}getConnections(e){throw Error(`Method not implemented.`)}ref(){return this}unref(){return this}maxConnections;connections;listening;async[Symbol.asyncDispose](){}},u=(e,t)=>new c({allowHalfOpen:e?.allowHalfOpen}).connect(e,t),d=u,f=(e,t)=>{typeof e==`function`&&(t=e,e=void 0);let n=new l(e);return t&&n.on(`connection`,t),n},p={Socket:c,Server:l,connect:u,createConnection:d,createServer:f,isIP:i.t,isIPv4:i.n,isIPv6:i.r};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
|