@fkn/lib 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/account.cjs +1 -1
  2. package/account.js +2 -2
  3. package/{api-CAZo3BT0.js → api-CtmJlpfo.js} +1 -1
  4. package/{api-BwrS6P0x.cjs → api-UzF-KbxK.cjs} +1 -1
  5. package/cloud/dgram.cjs +1 -1
  6. package/cloud/dgram.js +1 -1
  7. package/cloud/fs.cjs +1 -1
  8. package/cloud/fs.js +2 -2
  9. package/cloud/net.cjs +1 -1
  10. package/cloud/net.js +1 -1
  11. package/{cloud-BcpPsNs3.cjs → cloud-B_Q0iiCr.cjs} +1 -1
  12. package/{cloud-CzMjj2Ne.d.ts → cloud-CAOIpDIH.d.ts} +1 -1
  13. package/{cloud-DArHoBaw.js → cloud-CnddU57R.js} +20 -18
  14. package/cloud.cjs +1 -1
  15. package/cloud.d.ts +1 -1
  16. package/cloud.js +4 -4
  17. package/desktop.cjs +1 -1
  18. package/desktop.js +1 -1
  19. package/{dgram-C1yYxLEI.js → dgram-Bq_i0wX0.js} +2 -2
  20. package/{dgram-pCNllfov.cjs → dgram-C6ADuKcR.cjs} +1 -1
  21. package/dgram.cjs +1 -1
  22. package/dgram.js +1 -1
  23. package/dns.cjs +1 -1
  24. package/dns.js +2 -2
  25. package/extension-D7SSKewV.d.ts +16 -0
  26. package/extension-H9AUHZdt.js +73 -0
  27. package/extension-QRMx3Qhh.cjs +1 -0
  28. package/extension.cjs +1 -1
  29. package/extension.d.ts +3 -3
  30. package/extension.js +3 -3
  31. package/fs/promises.cjs +1 -1
  32. package/fs/promises.js +1 -1
  33. package/{fs-_59wCBU2.js → fs-DU9rph4j.js} +4 -4
  34. package/{fs-BrBsBqRz.cjs → fs-V_Sx6o9N.cjs} +1 -1
  35. package/fs.cjs +1 -1
  36. package/fs.js +1 -1
  37. package/http.cjs +1 -1
  38. package/http.js +2 -2
  39. package/{index-BJztAQIP.d.ts → index-pr5vLVVT.d.ts} +499 -406
  40. package/index.cjs +1 -1
  41. package/index.d.ts +4 -4
  42. package/index.js +28 -28
  43. package/{net-BOyLJ3mh.cjs → net-eFlsYreG.cjs} +1 -1
  44. package/{net-VAkfxAvn.js → net-kkSsmaSz.js} +2 -2
  45. package/net.cjs +1 -1
  46. package/net.js +1 -1
  47. package/{opfs-7_GmzQ93.js → opfs-BibrNGF0.js} +1 -1
  48. package/{opfs-uClkgnb5.cjs → opfs-CXMESVLc.cjs} +1 -1
  49. package/opfs.cjs +1 -1
  50. package/opfs.js +2 -2
  51. package/package.json +1 -1
  52. package/packages.cjs +1 -1
  53. package/packages.js +2 -2
  54. package/{proxy-B3rliZN8.js → proxy-8bvtaeNn.js} +505 -603
  55. package/proxy-D2cxusWD.cjs +53 -0
  56. package/rolldown-runtime-BIInC43l.cjs +1 -0
  57. package/{rolldown-runtime-DF993M8W.js → rolldown-runtime-Dy4uBu1J.js} +2 -2
  58. package/{storage-InqJHrkf.js → storage-YL0pIVoy.js} +2 -2
  59. package/{storage-C1BT8jwJ.cjs → storage-fSj65-d5.cjs} +1 -1
  60. package/background-DMESyLZ6.cjs +0 -1
  61. package/background-DxYR_JMs.js +0 -1028
  62. package/extension-3pxUYwrA.d.ts +0 -16
  63. package/extension-CjJNj5Yl.cjs +0 -1
  64. package/extension-Qs02HPzR.js +0 -67
  65. package/proxy-g2yknq7C.cjs +0 -53
  66. package/rolldown-runtime-Doa5O59j.cjs +0 -1
package/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-g2yknq7C.cjs"),t=require("./api-BwrS6P0x.cjs"),n=require("./cloud-BcpPsNs3.cjs"),r=require("./dns.cjs"),i=require("./net-BOyLJ3mh.cjs"),a=require("./dgram-pCNllfov.cjs"),o=require("./http.cjs"),s=require("./extension-CjJNj5Yl.cjs"),c=require("./desktop.cjs"),l=require("./fs-BrBsBqRz.cjs"),u=require("./opfs.cjs"),d=require("./packages.cjs"),f=require("./account.cjs"),p=require("./connect-button-BBEjXzB3.cjs");let m=require("osra");var h=1e4,g=150,_=()=>new Promise(t=>{if(e.P())return t(!0);let n,r=setTimeout(()=>i(e.P()),h),i=e=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),t(e)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(e.P()),g)},o=new MutationObserver(()=>{e.P()&&i(!0)}),s=()=>{document.readyState===`complete`&&!e.P()&&a()};o.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,s),document.readyState===`complete`&&a()}),v=async t=>s.r()||t.lockdown||!n.a()||await _()?e.a(t):n.i(t),y=`https://fkn.app`,b=(e,n)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);if(!t.i?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,m.relay)({receive:window,emit:t.i.contentWindow},e,{key:`fkn-api`,originA:n?.originA??y,originB:n?.originB??`*`,unregisterSignal:n?.unregisterSignal})},x=async()=>typeof window>`u`?!1:(await t.t).connect.prompt(location.origin).catch(()=>!1),S=async()=>typeof window>`u`?null:(await t.t).relay.prompt().catch(()=>null);exports.ATTACH_FRAME_EVENT_KEY=e.i,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return f.t}}),exports.assertAttachableFrameUrl=e.l,exports.assertFetchableUrl=e.E,exports.assertLockdownApplicable=e.u,exports.attachFrame=v,exports.attachFramePermission=e.o,exports.box=e.R,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=x,exports.connectButtonUrl=p.t,exports.cookies=e.w,exports.createFrame=e.s,exports.createVideoElementHandle=e.z,Object.defineProperty(exports,"desktop",{enumerable:!0,get:function(){return c.t}}),Object.defineProperty(exports,"dgram",{enumerable:!0,get:function(){return a.i}}),Object.defineProperty(exports,"dns",{enumerable:!0,get:function(){return r.t}}),Object.defineProperty(exports,"extension",{enumerable:!0,get:function(){return s.t}}),exports.fetch=s.n,exports.fetchCredentialedPermission=e.O,exports.fetchLocalPermission=e.k,exports.fetchPermission=e.A,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return l.u}}),exports.gotoPermission=e.c,exports.handleRevivableModules=e.L,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return o.t}}),exports.isBlockedFetchUrl=e.j,exports.isBlockedFrameUrl=e.d,exports.isExtensionExposed=e.P,exports.isLocalNetworkUrl=e.M,exports.isType=e.B,exports.modifyRequestHeadersPermission=e.x,Object.defineProperty(exports,"net",{enumerable:!0,get:function(){return i.s}}),Object.defineProperty(exports,"opfs",{enumerable:!0,get:function(){return u.t}}),Object.defineProperty(exports,"packages",{enumerable:!0,get:function(){return d.t}}),exports.permissions=e.r,exports.promptInstall=s.i,exports.promptRelay=S,exports.readCookiePermission=e.T,exports.relayWorker=b,exports.removeRequestHeaderRule=e.S,exports.revive=e.V,exports.setMissingExtensionHandler=e.F,exports.setRequestHeaderRule=e.C,exports.type=e.H,exports.waitForExtensionExposure=e.I;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-D2cxusWD.cjs"),t=require("./api-UzF-KbxK.cjs"),n=require("./cloud-B_Q0iiCr.cjs"),r=require("./dns.cjs"),i=require("./net-eFlsYreG.cjs"),a=require("./dgram-C6ADuKcR.cjs"),o=require("./http.cjs"),s=require("./extension-QRMx3Qhh.cjs"),c=require("./desktop.cjs"),l=require("./fs-V_Sx6o9N.cjs"),u=require("./opfs.cjs"),d=require("./packages.cjs"),f=require("./account.cjs"),p=require("./connect-button-BBEjXzB3.cjs");let m=require("osra");var h=1e4,g=150,_=()=>new Promise(t=>{if(e.M())return t(!0);let n,r=setTimeout(()=>i(e.M()),h),i=e=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),t(e)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(e.M()),g)},o=new MutationObserver(()=>{e.M()&&i(!0)}),s=()=>{document.readyState===`complete`&&!e.M()&&a()};o.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,s),document.readyState===`complete`&&a()}),v=async t=>s.r()||t.lockdown||!n.a()||await _()?e.a(t):n.i(t),y=`https://fkn.app`,b=(e,n)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);if(!t.i?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,m.relay)({receive:window,emit:t.i.contentWindow},e,{key:`fkn-api`,originA:n?.originA??y,originB:n?.originB??`*`,unregisterSignal:n?.unregisterSignal})},x=async()=>typeof window>`u`?!1:(await t.t).connect.prompt(location.origin).catch(()=>!1),S=async()=>typeof window>`u`?null:(await t.t).relay.prompt().catch(()=>null);exports.ATTACH_FRAME_EVENT_KEY=e.i,exports.LOCATOR_DENIED=e.v,exports.LOCATOR_ERROR=e.f,exports.LOCATOR_UNSUPPORTED=e._,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return f.t}}),exports.assertAttachableFrameUrl=e.l,exports.assertFetchableUrl=e.w,exports.assertLockdownApplicable=e.u,exports.attachFrame=v,exports.attachFramePermission=e.o,exports.box=e.I,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=x,exports.connectButtonUrl=p.t,exports.cookies=e.S,exports.createFrame=e.s,exports.createVideoElementHandle=e.L,Object.defineProperty(exports,"desktop",{enumerable:!0,get:function(){return c.t}}),Object.defineProperty(exports,"dgram",{enumerable:!0,get:function(){return a.i}}),Object.defineProperty(exports,"dns",{enumerable:!0,get:function(){return r.t}}),Object.defineProperty(exports,"extension",{enumerable:!0,get:function(){return s.t}}),exports.fetch=s.n,exports.fetchCredentialedPermission=e.E,exports.fetchLocalPermission=e.D,exports.fetchPermission=e.O,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return l.u}}),exports.gotoPermission=e.c,exports.handleRevivableModules=e.F,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return o.t}}),exports.isBlockedFetchUrl=e.k,exports.isBlockedFrameUrl=e.d,exports.isExtensionExposed=e.M,exports.isLocalNetworkUrl=e.A,exports.isLocatorDenied=e.p,exports.isLocatorUnsupported=e.g,exports.isTerminalError=e.h,exports.isType=e.R,exports.modifyRequestHeadersPermission=e.y,Object.defineProperty(exports,"net",{enumerable:!0,get:function(){return i.s}}),Object.defineProperty(exports,"opfs",{enumerable:!0,get:function(){return u.t}}),Object.defineProperty(exports,"packages",{enumerable:!0,get:function(){return d.t}}),exports.permissions=e.r,exports.promptInstall=s.i,exports.promptRelay=S,exports.readCookiePermission=e.C,exports.relayWorker=b,exports.removeRequestHeaderRule=e.b,exports.revive=e.z,exports.setMissingExtensionHandler=e.N,exports.setRequestHeaderRule=e.x,exports.type=e.B,exports.waitForExtensionExposure=e.P;
package/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { t as account_d_exports } from "./account.js";
2
2
  import { m as packages_d_exports } from "./packages-CErlrrLB.js";
3
- import { n as cloud_d_exports } from "./cloud-CzMjj2Ne.js";
4
- import { A as RequestHeaderRule, B as assertFetchableUrl, C as attachFramePermission, D as assertLockdownApplicable, E as assertAttachableFrameUrl, F as SiteCookie, G as isBlockedFetchUrl, H as fetchCredentialedPermission, I as cookies, K as isLocalNetworkUrl, L as readCookiePermission, M as removeRequestHeaderRule, N as setRequestHeaderRule, O as isBlockedFrameUrl, P as CookieDetails, R as FetchInit, S as GotoOptions, T as gotoPermission, U as fetchLocalPermission, W as fetchPermission, _ as ATTACH_FRAME_EVENT_KEY, a as handleRevivableModules, b as Frame, c as VideoElementState, d as isType, f as revive, g as permissions, h as PermissionRequest, i as waitForExtensionExposure, j as modifyRequestHeadersPermission, k as HeaderOperation, l as box, m as PermissionGrant, n as isExtensionExposed, o as BoxedVideoElement, p as type, r as setMissingExtensionHandler, s as RemoteVideoElement, u as createVideoElementHandle, w as createFrame, x as FrameBackend, y as AttachFrameOptions, z as ProxyFetchRequest } from "./index-BJztAQIP.js";
3
+ import { n as cloud_d_exports } from "./cloud-CAOIpDIH.js";
4
+ import { A as LOCATOR_DENIED, B as SelectorPart, C as RemoteVideoElement, D as isType, E as createVideoElementHandle, F as isTerminalError, G as setRequestHeaderRule, H as RequestHeaderRule, I as Executor, J as cookies, K as CookieDetails, L as Gate, M as LOCATOR_UNSUPPORTED, N as isLocatorDenied, O as revive, P as isLocatorUnsupported, Q as assertFetchableUrl, R as GateTools, S as BoxedVideoElement, T as box, U as modifyRequestHeadersPermission, V as HeaderOperation, W as removeRequestHeaderRule, X as FetchInit, Y as readCookiePermission, Z as ProxyFetchRequest, _ as gotoPermission, a as PermissionGrant, b as isBlockedFrameUrl, c as ATTACH_FRAME_EVENT_KEY, d as Frame, et as fetchCredentialedPermission, f as FrameBackend, g as createFrame, h as attachFramePermission, i as waitForExtensionExposure, it as isLocalNetworkUrl, j as LOCATOR_ERROR, k as type, m as Locator, n as isExtensionExposed, nt as fetchPermission, o as PermissionRequest, p as GotoOptions, q as SiteCookie, r as setMissingExtensionHandler, rt as isBlockedFetchUrl, s as permissions, tt as fetchLocalPermission, u as AttachFrameOptions, v as assertAttachableFrameUrl, w as VideoElementState, x as handleRevivableModules, y as assertLockdownApplicable, z as OperationRequest } from "./index-pr5vLVVT.js";
5
5
  import { t as dns_d_exports } from "./dns.js";
6
6
  import { s as net_d_exports } from "./net-MbSFrO35.js";
7
7
  import { t as dgram_d_exports } from "./dgram.js";
8
8
  import { t as http_d_exports } from "./http.js";
9
9
  import { t as desktop_d_exports } from "./desktop.js";
10
- import { i as promptInstall, n as fetch, t as extension_d_exports } from "./extension-3pxUYwrA.js";
10
+ import { i as promptInstall, n as fetch, t as extension_d_exports } from "./extension-D7SSKewV.js";
11
11
  import { u as index_d_exports } from "./index-BIZeEsNu.js";
12
12
  import { t as index_d_exports$1 } from "./opfs.js";
13
13
  import { t as connectButtonUrl } from "./connect-button-D8KXSL6s.js";
@@ -28,4 +28,4 @@ declare const connect: () => Promise<boolean>;
28
28
  //#region src/lib/relay-prompt.d.ts
29
29
  declare const promptRelay: () => Promise<string | null>;
30
30
  //#endregion
31
- export { ATTACH_FRAME_EVENT_KEY, AttachFrameOptions, BoxedVideoElement, CookieDetails, FetchInit, Frame, FrameBackend, GotoOptions, HeaderOperation, PermissionGrant, PermissionRequest, ProxyFetchRequest, RemoteVideoElement, RequestHeaderRule, SiteCookie, VideoElementState, account_d_exports as account, assertAttachableFrameUrl, assertFetchableUrl, assertLockdownApplicable, attachFrame, attachFramePermission, box, cloud_d_exports as cloud, connect, connectButtonUrl, cookies, createFrame, createVideoElementHandle, desktop_d_exports as desktop, dgram_d_exports as dgram, dns_d_exports as dns, extension_d_exports as extension, fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, index_d_exports as fs, gotoPermission, handleRevivableModules, http_d_exports as http, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isType, modifyRequestHeadersPermission, net_d_exports as net, index_d_exports$1 as opfs, packages_d_exports as packages, permissions, promptInstall, promptRelay, readCookiePermission, relayWorker, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, type, waitForExtensionExposure };
31
+ export { ATTACH_FRAME_EVENT_KEY, AttachFrameOptions, BoxedVideoElement, CookieDetails, type Executor, FetchInit, Frame, FrameBackend, type Gate, type GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_UNSUPPORTED, Locator, type OperationRequest, PermissionGrant, PermissionRequest, ProxyFetchRequest, RemoteVideoElement, RequestHeaderRule, type SelectorPart, SiteCookie, VideoElementState, account_d_exports as account, assertAttachableFrameUrl, assertFetchableUrl, assertLockdownApplicable, attachFrame, attachFramePermission, box, cloud_d_exports as cloud, connect, connectButtonUrl, cookies, createFrame, createVideoElementHandle, desktop_d_exports as desktop, dgram_d_exports as dgram, dns_d_exports as dns, extension_d_exports as extension, fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, index_d_exports as fs, gotoPermission, handleRevivableModules, http_d_exports as http, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorUnsupported, isTerminalError, isType, modifyRequestHeadersPermission, net_d_exports as net, index_d_exports$1 as opfs, packages_d_exports as packages, permissions, promptInstall, promptRelay, readCookiePermission, relayWorker, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, type, waitForExtensionExposure };
package/index.js CHANGED
@@ -1,46 +1,46 @@
1
- import { A as e, B as t, C as n, E as r, F as i, H as a, I as o, L as s, M as c, O as l, P as u, R as d, S as f, T as p, V as m, a as h, c as g, d as _, i as v, j as y, k as b, l as x, o as S, r as C, s as w, u as T, w as E, x as D, z as O } from "./proxy-B3rliZN8.js";
2
- import { i as k, t as A } from "./api-CAZo3BT0.js";
3
- import { a as ee, i as j, n as M } from "./cloud-DArHoBaw.js";
4
- import { t as N } from "./dns.js";
5
- import { s as P } from "./net-VAkfxAvn.js";
6
- import { i as F } from "./dgram-C1yYxLEI.js";
7
- import { t as I } from "./http.js";
8
- import { i as L, n as R, r as z, t as B } from "./extension-Qs02HPzR.js";
9
- import { t as V } from "./desktop.js";
10
- import { u as H } from "./fs-_59wCBU2.js";
11
- import { t as U } from "./opfs.js";
12
- import { t as W } from "./packages.js";
13
- import { t as G } from "./account.js";
14
- import { t as K } from "./connect-button-Ds9KpXHe.js";
15
- import { relay as q } from "osra";
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, I as o, L as ee, M as s, N as c, O as l, P as u, R as d, S as f, _ as p, a as m, b as h, c as g, d as _, f as v, g as y, h as b, i as x, k as S, l as C, o as w, p as T, r as E, s as D, u as O, v as k, w as A, x as j, y as M, z as N } from "./proxy-8bvtaeNn.js";
2
+ import { i as P, t as F } from "./api-CtmJlpfo.js";
3
+ import { a as I, i as L, n as R } from "./cloud-CnddU57R.js";
4
+ import { t as z } from "./dns.js";
5
+ import { s as B } from "./net-kkSsmaSz.js";
6
+ import { i as V } from "./dgram-Bq_i0wX0.js";
7
+ import { t as H } from "./http.js";
8
+ import { i as U, n as W, r as G, t as K } from "./extension-H9AUHZdt.js";
9
+ import { t as q } from "./desktop.js";
10
+ import { u as J } from "./fs-DU9rph4j.js";
11
+ import { t as Y } from "./opfs.js";
12
+ import { t as X } from "./packages.js";
13
+ import { t as Z } from "./account.js";
14
+ import { t as Q } from "./connect-button-Ds9KpXHe.js";
15
+ import { relay as $ } from "osra";
16
16
  //#region src/lib/frame.ts
17
- var J = 1e4, Y = 150, X = () => new Promise((e) => {
18
- if (u()) return e(!0);
19
- let t, n = setTimeout(() => r(u()), J), r = (r) => {
17
+ var te = 1e4, ne = 150, re = () => new Promise((e) => {
18
+ if (s()) return e(!0);
19
+ let t, n = setTimeout(() => r(s()), te), r = (r) => {
20
20
  clearTimeout(t), clearTimeout(n), a.disconnect(), document.removeEventListener("readystatechange", o), e(r);
21
21
  }, i = () => {
22
- clearTimeout(t), t = setTimeout(() => r(u()), Y);
22
+ clearTimeout(t), t = setTimeout(() => r(s()), ne);
23
23
  }, a = new MutationObserver(() => {
24
- u() && r(!0);
24
+ s() && r(!0);
25
25
  }), o = () => {
26
- document.readyState === "complete" && !u() && i();
26
+ document.readyState === "complete" && !s() && i();
27
27
  };
28
28
  a.observe(document.documentElement, {
29
29
  attributes: !0,
30
30
  attributeFilter: ["data-fkn-extension"]
31
31
  }), document.addEventListener("readystatechange", o), document.readyState === "complete" && i();
32
- }), Z = async (e) => z() || e.lockdown || !ee() || await X() ? h(e) : j(e), Q = "https://fkn.app", $ = (e, t) => {
32
+ }), ie = async (e) => G() || e.lockdown || !I() || await re() ? m(e) : L(e), ae = "https://fkn.app", oe = (e, t) => {
33
33
  if (typeof window > "u") throw Error("FKN @fkn/lib: relayWorker must be called from the main thread");
34
- if (!k?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
35
- q({
34
+ if (!P?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
35
+ $({
36
36
  receive: window,
37
- emit: k.contentWindow
37
+ emit: P.contentWindow
38
38
  }, e, {
39
39
  key: "fkn-api",
40
- originA: t?.originA ?? Q,
40
+ originA: t?.originA ?? ae,
41
41
  originB: t?.originB ?? "*",
42
42
  unregisterSignal: t?.unregisterSignal
43
43
  });
44
- }, te = async () => typeof window > "u" ? !1 : (await A).connect.prompt(location.origin).catch(() => !1), ne = async () => typeof window > "u" ? null : (await A).relay.prompt().catch(() => null);
44
+ }, se = async () => typeof window > "u" ? !1 : (await F).connect.prompt(location.origin).catch(() => !1), ce = async () => typeof window > "u" ? null : (await F).relay.prompt().catch(() => null);
45
45
  //#endregion
46
- export { v as ATTACH_FRAME_EVENT_KEY, G as account, x as assertAttachableFrameUrl, r as assertFetchableUrl, T as assertLockdownApplicable, Z as attachFrame, S as attachFramePermission, d as box, M as cloud, te as connect, K as connectButtonUrl, E as cookies, w as createFrame, O as createVideoElementHandle, V as desktop, F as dgram, N as dns, B as extension, R as fetch, l as fetchCredentialedPermission, b as fetchLocalPermission, e as fetchPermission, H as fs, g as gotoPermission, s as handleRevivableModules, I as http, y as isBlockedFetchUrl, _ as isBlockedFrameUrl, u as isExtensionExposed, c as isLocalNetworkUrl, t as isType, D as modifyRequestHeadersPermission, P as net, U as opfs, W as packages, C as permissions, L as promptInstall, ne as promptRelay, p as readCookiePermission, $ as relayWorker, f as removeRequestHeaderRule, m as revive, i as setMissingExtensionHandler, n as setRequestHeaderRule, a as type, o as waitForExtensionExposure };
46
+ export { x as ATTACH_FRAME_EVENT_KEY, k as LOCATOR_DENIED, v as LOCATOR_ERROR, p as LOCATOR_UNSUPPORTED, Z as account, C as assertAttachableFrameUrl, A as assertFetchableUrl, O as assertLockdownApplicable, ie as attachFrame, w as attachFramePermission, o as box, R as cloud, se as connect, Q as connectButtonUrl, f as cookies, D as createFrame, ee as createVideoElementHandle, q as desktop, V as dgram, z as dns, K as extension, W as fetch, i as fetchCredentialedPermission, r as fetchLocalPermission, l as fetchPermission, J as fs, g as gotoPermission, a as handleRevivableModules, H as http, S as isBlockedFetchUrl, _ as isBlockedFrameUrl, s as isExtensionExposed, e as isLocalNetworkUrl, T as isLocatorDenied, y as isLocatorUnsupported, b as isTerminalError, d as isType, M as modifyRequestHeadersPermission, B as net, Y as opfs, X as packages, E as permissions, U as promptInstall, ce as promptRelay, n as readCookiePermission, oe as relayWorker, h as removeRequestHeaderRule, N as revive, c as setMissingExtensionHandler, j as setRequestHeaderRule, t as type, u as waitForExtensionExposure };
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./api-BwrS6P0x.cjs"),n=require("./utils-QfNXtEhb.cjs");let r=require("stream"),i=require("events");var a=e.n({Server:()=>s,Socket:()=>o,_default:()=>d,connect:()=>c,createConnection:()=>l,createServer:()=>u,default:()=>d,isIP:()=>n.r,isIPv4:()=>n.i,isIPv6:()=>n.a}),o=class extends r.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;constructor(e){if(e?.fd!==void 0)throw Error(`FKN WebVPN does not support file descriptors`);super(e),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}__webvpn_tcp_socket_init__(e){if(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},{...e,reader:t,writer:n}}).catch(e=>{this.emit(`error`,e)}),!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);return this._webVPNTcpSocketPromise.then(e=>{e&&this.emit(`connect`)}),this._webVPNTcpSocketPromise}_read(e){if(!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);this._webVPNTcpSocketPromise.then(e=>{if(!e){this.push(null);return}e.reader.read().then(({value:e,done:t})=>{if(t){this.push(null);return}this._restartTimeoutTimer(),this.push(e)}).catch(e=>{this.destroy(e)})})}_write(e,t,n){if(!this._webVPNTcpSocketPromise){n(Error(`Socket not connected`));return}this._webVPNTcpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not connected`);await t.writer.ready,await t.writer.write(e),this._restartTimeoutTimer(),n()}).catch(n)}connect(...e){let r=n.c(...e),i=this.__webvpn_tcp_socket_init__(t.t.then(e=>e.cloud.webvpn.tcpSocket({remoteAddress:r.host??`localhost`,remotePort:r.port})));return r.callback&&i.then(e=>{e&&r.callback.call(this)}),this}_final(e){if(!this._webVPNTcpSocketPromise){e();return}this._webVPNTcpSocketPromise.then(async e=>{e&&await e.writer.close()}).then(()=>e(),t=>e(t))}_destroy(e,t){if(this._timeoutTimer&&clearTimeout(this._timeoutTimer),!this._webVPNTcpSocketPromise){t(e);return}this._webVPNTcpSocketPromise.then(async e=>{e&&await(this._resetRequested?e.resetAndDestroy():e.destroy())}).then(()=>t(e),()=>t(e))}destroySoon(){if(this.writableFinished){this.destroy();return}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._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){if(!this._webVPNTcpSocketPromise){this.emit(`error`,Error(`Cannot set socket option before connect`));return}this._webVPNTcpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.emit(`error`,e)}})}write(e,t,...n){return super.write(e,t,...n)}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},s=class extends i.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;constructor(e,t){super(e),t&&this.on(`connection`,t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}__webvpn_tcp_socket_listener_init__(e){return this._webVPNTcpSocketListenerPromise=e.then(e=>(this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},e)).catch(e=>{this.emit(`error`,e)}),this._webVPNTcpSocketListenerPromise.then(e=>{e&&this.emit(`listening`)}),this._webVPNTcpSocketListenerPromise}listen(...e){let r=n.c(...e);this._closeEmitted=!1;let i=e=>{let t=new o({connection:Promise.resolve(e)});this.emit(`connection`,t)},a=e=>{this._localAddress=void 0;try{e&&this.listenerCount(`error`)>0&&this.emit(`error`,e)}finally{this._emitClose()}},s=e=>t.t.then(t=>t.cloud.webvpn.tcpSocketListener({localAddress:e,localPort:r.port,onConnection:i,onClose:a})),c=r.host?s(r.host):s(`::`).catch(()=>s(`0.0.0.0`)),l=this.__webvpn_tcp_socket_listener_init__(c);return r.callback&&l.then(e=>{e&&r.callback.call(this)}),this}_closeEmitted=!1;_emitClose(){this._closeEmitted||(this._closeEmitted=!0,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](){}},c=(e,t)=>new o().connect(e,t),l=(e,t)=>new o().connect(e,t),u=(e,t)=>{typeof e==`function`&&(t=e,e=void 0);let n=new s(e);return t&&n.on(`connection`,t),n},d={Socket:o,Server:s,connect:c,createConnection:l,createServer:u,isIP:n.r,isIPv4:n.i,isIPv6:n.a};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
1
+ const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-UzF-KbxK.cjs"),n=require("./utils-QfNXtEhb.cjs");let r=require("stream"),i=require("events");var a=e.t({Server:()=>s,Socket:()=>o,_default:()=>d,connect:()=>c,createConnection:()=>l,createServer:()=>u,default:()=>d,isIP:()=>n.r,isIPv4:()=>n.i,isIPv6:()=>n.a}),o=class extends r.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;constructor(e){if(e?.fd!==void 0)throw Error(`FKN WebVPN does not support file descriptors`);super(e),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}__webvpn_tcp_socket_init__(e){if(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},{...e,reader:t,writer:n}}).catch(e=>{this.emit(`error`,e)}),!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);return this._webVPNTcpSocketPromise.then(e=>{e&&this.emit(`connect`)}),this._webVPNTcpSocketPromise}_read(e){if(!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);this._webVPNTcpSocketPromise.then(e=>{if(!e){this.push(null);return}e.reader.read().then(({value:e,done:t})=>{if(t){this.push(null);return}this._restartTimeoutTimer(),this.push(e)}).catch(e=>{this.destroy(e)})})}_write(e,t,n){if(!this._webVPNTcpSocketPromise){n(Error(`Socket not connected`));return}this._webVPNTcpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not connected`);await t.writer.ready,await t.writer.write(e),this._restartTimeoutTimer(),n()}).catch(n)}connect(...e){let r=n.c(...e),i=this.__webvpn_tcp_socket_init__(t.t.then(e=>e.cloud.webvpn.tcpSocket({remoteAddress:r.host??`localhost`,remotePort:r.port})));return r.callback&&i.then(e=>{e&&r.callback.call(this)}),this}_final(e){if(!this._webVPNTcpSocketPromise){e();return}this._webVPNTcpSocketPromise.then(async e=>{e&&await e.writer.close()}).then(()=>e(),t=>e(t))}_destroy(e,t){if(this._timeoutTimer&&clearTimeout(this._timeoutTimer),!this._webVPNTcpSocketPromise){t(e);return}this._webVPNTcpSocketPromise.then(async e=>{e&&await(this._resetRequested?e.resetAndDestroy():e.destroy())}).then(()=>t(e),()=>t(e))}destroySoon(){if(this.writableFinished){this.destroy();return}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._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){if(!this._webVPNTcpSocketPromise){this.emit(`error`,Error(`Cannot set socket option before connect`));return}this._webVPNTcpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.emit(`error`,e)}})}write(e,t,...n){return super.write(e,t,...n)}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},s=class extends i.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;constructor(e,t){super(e),t&&this.on(`connection`,t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}__webvpn_tcp_socket_listener_init__(e){return this._webVPNTcpSocketListenerPromise=e.then(e=>(this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},e)).catch(e=>{this.emit(`error`,e)}),this._webVPNTcpSocketListenerPromise.then(e=>{e&&this.emit(`listening`)}),this._webVPNTcpSocketListenerPromise}listen(...e){let r=n.c(...e);this._closeEmitted=!1;let i=e=>{let t=new o({connection:Promise.resolve(e)});this.emit(`connection`,t)},a=e=>{this._localAddress=void 0;try{e&&this.listenerCount(`error`)>0&&this.emit(`error`,e)}finally{this._emitClose()}},s=e=>t.t.then(t=>t.cloud.webvpn.tcpSocketListener({localAddress:e,localPort:r.port,onConnection:i,onClose:a})),c=r.host?s(r.host):s(`::`).catch(()=>s(`0.0.0.0`)),l=this.__webvpn_tcp_socket_listener_init__(c);return r.callback&&l.then(e=>{e&&r.callback.call(this)}),this}_closeEmitted=!1;_emitClose(){this._closeEmitted||(this._closeEmitted=!0,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](){}},c=(e,t)=>new o().connect(e,t),l=(e,t)=>new o().connect(e,t),u=(e,t)=>{typeof e==`function`&&(t=e,e=void 0);let n=new s(e);return t&&n.on(`connection`,t),n},d={Socket:o,Server:s,connect:c,createConnection:l,createServer:u,isIP:n.r,isIPv4:n.i,isIPv6:n.a};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
@@ -1,5 +1,5 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
- import { t } from "./api-CAZo3BT0.js";
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { t } from "./api-CtmJlpfo.js";
3
3
  import { a as n, c as r, i, r as a } from "./utils-DVlbuXmW.js";
4
4
  import { Stream as o } from "stream";
5
5
  import { EventEmitter as s } from "events";
package/net.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./utils-QfNXtEhb.cjs"),t=require("./net-BOyLJ3mh.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.r,exports.isIPv4=e.i,exports.isIPv6=e.a;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./utils-QfNXtEhb.cjs"),t=require("./net-eFlsYreG.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.r,exports.isIPv4=e.i,exports.isIPv6=e.a;
package/net.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { a as e, i as t, r as n } from "./utils-DVlbuXmW.js";
2
- import { a as r, i, n as a, o, r as s, t as c } from "./net-VAkfxAvn.js";
2
+ import { a as r, i, n as a, o, r as s, t as c } from "./net-kkSsmaSz.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, t as isIPv4, e as isIPv6 };
@@ -1,4 +1,4 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
2
  //#region src/lib/fs/opfs.ts
3
3
  var t = /* @__PURE__ */ e({
4
4
  available: () => a,
@@ -1 +1 @@
1
- var e=require("./rolldown-runtime-Doa5O59j.cjs").n({available:()=>i,list:()=>c,readFile:()=>o,remove:()=>s,writeFile:()=>a}),t=()=>navigator.storage.getDirectory(),n=e=>{let t=e.split(`/`).filter(e=>e&&e!==`.`);if(t.some(e=>e===`..`)||!t.length)throw Error(`opfs: invalid path`);return t},r=async(e,n)=>{let r=await t();for(let t of e)r=await r.getDirectoryHandle(t,{create:n});return r},i=async()=>{try{return typeof navigator<`u`&&!!navigator.storage?.getDirectory&&!!await t()}catch{return!1}},a=async(e,t,i)=>{let a=n(e),o=a.pop(),s=await(await(await r(a,!0)).getFileHandle(o,{create:!0})).createWritable({keepExistingData:!1});try{let e=t instanceof Blob?t:new Blob([t],i?.contentType?{type:i.contentType}:void 0);await s.write(e)}finally{await s.close()}},o=async e=>{let t=n(e),i=t.pop();return(await(await r(t,!1)).getFileHandle(i)).getFile()},s=async e=>{let t=n(e),i=t.pop();await(await r(t,!1)).removeEntry(i,{recursive:!0})},c=async()=>{let e=[],n=async(t,r)=>{for await(let[i,a]of t.entries()){let t=r?`${r}/${i}`:i;if(a.kind===`file`){let n=await a.getFile();e.push({path:t,size:n.size,contentType:n.type||null,updatedAt:new Date(n.lastModified).toISOString()})}else await n(a,t)}};return await n(await t(),``),e};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
1
+ var e=require("./rolldown-runtime-BIInC43l.cjs").t({available:()=>i,list:()=>c,readFile:()=>o,remove:()=>s,writeFile:()=>a}),t=()=>navigator.storage.getDirectory(),n=e=>{let t=e.split(`/`).filter(e=>e&&e!==`.`);if(t.some(e=>e===`..`)||!t.length)throw Error(`opfs: invalid path`);return t},r=async(e,n)=>{let r=await t();for(let t of e)r=await r.getDirectoryHandle(t,{create:n});return r},i=async()=>{try{return typeof navigator<`u`&&!!navigator.storage?.getDirectory&&!!await t()}catch{return!1}},a=async(e,t,i)=>{let a=n(e),o=a.pop(),s=await(await(await r(a,!0)).getFileHandle(o,{create:!0})).createWritable({keepExistingData:!1});try{let e=t instanceof Blob?t:new Blob([t],i?.contentType?{type:i.contentType}:void 0);await s.write(e)}finally{await s.close()}},o=async e=>{let t=n(e),i=t.pop();return(await(await r(t,!1)).getFileHandle(i)).getFile()},s=async e=>{let t=n(e),i=t.pop();await(await r(t,!1)).removeEntry(i,{recursive:!0})},c=async()=>{let e=[],n=async(t,r)=>{for await(let[i,a]of t.entries()){let t=r?`${r}/${i}`:i;if(a.kind===`file`){let n=await a.getFile();e.push({path:t,size:n.size,contentType:n.type||null,updatedAt:new Date(n.lastModified).toISOString()})}else await n(a,t)}};return await n(await t(),``),e};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
package/opfs.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./opfs-uClkgnb5.cjs");var r=e.n({appendFile:()=>b,appendFileSync:()=>c,available:()=>a,default:()=>i,exists:()=>D,existsSync:()=>l,flush:()=>A,lstatSync:()=>d,mkdir:()=>C,mkdirSync:()=>p,mount:()=>k,promises:()=>O,readFile:()=>v,readFileSync:()=>o,readdir:()=>S,readdirSync:()=>f,remount:()=>j,rename:()=>E,renameSync:()=>_,rm:()=>w,rmSync:()=>m,rmdirSync:()=>h,stat:()=>x,statSync:()=>u,unlink:()=>T,unlinkSync:()=>g,writeFile:()=>y,writeFileSync:()=>s}),i=t.t(n.r,{memfs:!0}),{available:a,readFileSync:o,writeFileSync:s,appendFileSync:c,existsSync:l,statSync:u,lstatSync:d,readdirSync:f,mkdirSync:p,rmSync:m,rmdirSync:h,unlinkSync:g,renameSync:_,readFile:v,writeFile:y,appendFile:b,stat:x,readdir:S,mkdir:C,rm:w,unlink:T,rename:E,exists:D,promises:O,mount:k,flush:A,remount:j}=i;exports.appendFile=b,exports.appendFileSync=c,exports.available=a,exports.default=i,exports.exists=D,exports.existsSync=l,exports.flush=A,exports.lstatSync=d,exports.mkdir=C,exports.mkdirSync=p,exports.mount=k,exports.promises=O,exports.readFile=v,exports.readFileSync=o,exports.readdir=S,exports.readdirSync=f,exports.remount=j,exports.rename=E,exports.renameSync=_,exports.rm=w,exports.rmSync=m,exports.rmdirSync=h,exports.stat=x,exports.statSync=u,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.unlink=T,exports.unlinkSync=g,exports.writeFile=y,exports.writeFileSync=s;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./opfs-CXMESVLc.cjs");var r=e.t({appendFile:()=>b,appendFileSync:()=>c,available:()=>a,default:()=>i,exists:()=>D,existsSync:()=>l,flush:()=>A,lstatSync:()=>d,mkdir:()=>C,mkdirSync:()=>p,mount:()=>k,promises:()=>O,readFile:()=>v,readFileSync:()=>o,readdir:()=>S,readdirSync:()=>f,remount:()=>j,rename:()=>E,renameSync:()=>_,rm:()=>w,rmSync:()=>m,rmdirSync:()=>h,stat:()=>x,statSync:()=>u,unlink:()=>T,unlinkSync:()=>g,writeFile:()=>y,writeFileSync:()=>s}),i=t.t(n.r,{memfs:!0}),{available:a,readFileSync:o,writeFileSync:s,appendFileSync:c,existsSync:l,statSync:u,lstatSync:d,readdirSync:f,mkdirSync:p,rmSync:m,rmdirSync:h,unlinkSync:g,renameSync:_,readFile:v,writeFile:y,appendFile:b,stat:x,readdir:S,mkdir:C,rm:w,unlink:T,rename:E,exists:D,promises:O,mount:k,flush:A,remount:j}=i;exports.appendFile=b,exports.appendFileSync=c,exports.available=a,exports.default=i,exports.exists=D,exports.existsSync=l,exports.flush=A,exports.lstatSync=d,exports.mkdir=C,exports.mkdirSync=p,exports.mount=k,exports.promises=O,exports.readFile=v,exports.readFileSync=o,exports.readdir=S,exports.readdirSync=f,exports.remount=j,exports.rename=E,exports.renameSync=_,exports.rm=w,exports.rmSync=m,exports.rmdirSync=h,exports.stat=x,exports.statSync=u,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.unlink=T,exports.unlinkSync=g,exports.writeFile=y,exports.writeFileSync=s;
package/opfs.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
2
  import { t } from "./node-fs-DKfokOlh.js";
3
- import { r as n } from "./opfs-7_GmzQ93.js";
3
+ import { r as n } from "./opfs-BibrNGF0.js";
4
4
  //#region src/lib/opfs/index.ts
5
5
  var r = /* @__PURE__ */ e({
6
6
  appendFile: () => b,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fkn/lib",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
package/packages.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./api-BwrS6P0x.cjs");let n=require("osra");var r=e.n({attach:()=>_,connect:()=>g,install:()=>p,list:()=>m,onConnect:()=>O,pick:()=>f,search:()=>d,uninstall:()=>h}),i=`https://fkn.app`,a=`fkn-packages-connection`,o=3e4,s=(e,t)=>Object.assign(Error(t),{code:e}),c=async()=>{if(!t.r)throw s(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.t},l=(e,t,r)=>(0,n.expose)(e??{},{transport:t,key:a,unregisterSignal:r}),u=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw s(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let c=new AbortController,u=new Promise((e,n)=>{let a=setTimeout(()=>n(s(`timeout`,`packages.connect: the package did not complete the connection`)),o);c.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(s(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:c.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(s(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:c.signal}),i?.then(()=>n(s(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([l(e,t,a.signal),u])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{c.abort()}},d=async e=>{let t=await(await c()).packages.search(e);if(`error`in t)throw s(t.error,t.message);return t.results},f=async(e,t)=>{let n=await(await c()).packages.pick(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?[]:n.results},p=async(e,t)=>{let n=await(await c()).packages.install(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?null:n.installed},m=async()=>(await(await c()).packages.list()).results,h=async e=>{let t=await(await c()).packages.uninstall(e);if(`error`in t)throw s(t.error,t.message)},g=(async(e,t={})=>{let n=await(await c()).packages.connect(e,{protocol:t.protocol});if(`error`in n)throw s(n.error,n.message);let{port:r,closed:i}=n;if(t.raw)return{closed:i,port:r};let a=await u(t.payload,r,{signal:t.signal,closed:i});return t.signal&&t.signal.addEventListener(`abort`,()=>{try{r.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:a,closed:i,port:r}}),_=(e,t,n)=>u(t,e,{signal:n?.signal}),v=null,y=[],b=new Map,x=!1,S=!1,C=e=>{let t=b.get(e);t&&(b.delete(e),t())},w=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},T=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&C(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw w(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>b.set(e.port,t)),o=await l(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},E=()=>{x||typeof window>`u`||window.parent===window||(x=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent||e.origin!==i)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:``,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:``};v?T(r,v).catch(e=>console.warn(`packages.onConnect:`,e)):y.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...b.keys()])C(e)}))},D=()=>{S||typeof window>`u`||window.parent===window||(S=!0,window.parent.postMessage({type:`fkn-packages-ready`},i))},O=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};E();let n={createPayload:e,handler:t};for(v=n,D();y.length&&v===n;)T(y.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{v===n&&(v=null)}}};exports.attach=_,exports.connect=g,exports.install=p,exports.list=m,exports.onConnect=O,exports.pick=f,exports.search=d,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.uninstall=h;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-UzF-KbxK.cjs");let n=require("osra");var r=e.t({attach:()=>_,connect:()=>g,install:()=>p,list:()=>m,onConnect:()=>O,pick:()=>f,search:()=>d,uninstall:()=>h}),i=`https://fkn.app`,a=`fkn-packages-connection`,o=3e4,s=(e,t)=>Object.assign(Error(t),{code:e}),c=async()=>{if(!t.r)throw s(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.t},l=(e,t,r)=>(0,n.expose)(e??{},{transport:t,key:a,unregisterSignal:r}),u=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw s(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let c=new AbortController,u=new Promise((e,n)=>{let a=setTimeout(()=>n(s(`timeout`,`packages.connect: the package did not complete the connection`)),o);c.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(s(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:c.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(s(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:c.signal}),i?.then(()=>n(s(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([l(e,t,a.signal),u])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{c.abort()}},d=async e=>{let t=await(await c()).packages.search(e);if(`error`in t)throw s(t.error,t.message);return t.results},f=async(e,t)=>{let n=await(await c()).packages.pick(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?[]:n.results},p=async(e,t)=>{let n=await(await c()).packages.install(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?null:n.installed},m=async()=>(await(await c()).packages.list()).results,h=async e=>{let t=await(await c()).packages.uninstall(e);if(`error`in t)throw s(t.error,t.message)},g=(async(e,t={})=>{let n=await(await c()).packages.connect(e,{protocol:t.protocol});if(`error`in n)throw s(n.error,n.message);let{port:r,closed:i}=n;if(t.raw)return{closed:i,port:r};let a=await u(t.payload,r,{signal:t.signal,closed:i});return t.signal&&t.signal.addEventListener(`abort`,()=>{try{r.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:a,closed:i,port:r}}),_=(e,t,n)=>u(t,e,{signal:n?.signal}),v=null,y=[],b=new Map,x=!1,S=!1,C=e=>{let t=b.get(e);t&&(b.delete(e),t())},w=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},T=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&C(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw w(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>b.set(e.port,t)),o=await l(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},E=()=>{x||typeof window>`u`||window.parent===window||(x=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent||e.origin!==i)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:``,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:``};v?T(r,v).catch(e=>console.warn(`packages.onConnect:`,e)):y.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...b.keys()])C(e)}))},D=()=>{S||typeof window>`u`||window.parent===window||(S=!0,window.parent.postMessage({type:`fkn-packages-ready`},i))},O=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};E();let n={createPayload:e,handler:t};for(v=n,D();y.length&&v===n;)T(y.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{v===n&&(v=null)}}};exports.attach=_,exports.connect=g,exports.install=p,exports.list=m,exports.onConnect=O,exports.pick=f,exports.search=d,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.uninstall=h;
package/packages.js CHANGED
@@ -1,5 +1,5 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
- import { r as t, t as n } from "./api-CAZo3BT0.js";
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { r as t, t as n } from "./api-CtmJlpfo.js";
3
3
  import { expose as r } from "osra";
4
4
  //#region src/lib/packages.ts
5
5
  var i = /* @__PURE__ */ e({