@fkn/lib 0.5.5 → 0.6.0

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 (190) hide show
  1. package/account.cjs +1 -1
  2. package/account.js +2 -2
  3. package/api/account.d.ts +7 -0
  4. package/api/broker-bridge.d.ts +12 -0
  5. package/api/connect-store.d.ts +9 -0
  6. package/api/connect.d.ts +2 -0
  7. package/api/data-plane.d.ts +28 -0
  8. package/api/dns/index.d.ts +1 -0
  9. package/{cloud/dns.d.ts → api/dns/lookup.d.ts} +2 -6
  10. package/api/index.d.ts +78 -0
  11. package/api/install-prompt.d.ts +2 -0
  12. package/api/local-net/index.d.ts +43 -0
  13. package/api/overlay-mount.d.ts +2 -0
  14. package/api/overlay.d.ts +17 -0
  15. package/api/packages/host.d.ts +12 -0
  16. package/api/packages/identity.d.ts +1 -0
  17. package/api/packages/index.d.ts +34 -0
  18. package/api/packages/picker.d.ts +28 -0
  19. package/api/packages/registry.d.ts +20 -0
  20. package/api/packages/store.d.ts +6 -0
  21. package/api/packages/types.d.ts +56 -0
  22. package/api/preconnect.d.ts +1 -0
  23. package/api/proxy/index.d.ts +1 -0
  24. package/api/proxy/proxy-fetch.d.ts +5 -0
  25. package/api/quota.d.ts +10 -0
  26. package/api/rate-token.d.ts +3 -0
  27. package/api/session-limit.d.ts +1 -0
  28. package/api/storage.d.ts +20 -0
  29. package/api/toast.d.ts +1 -0
  30. package/api/token-source.d.ts +4 -0
  31. package/api/ui-events.d.ts +8 -0
  32. package/api/ui-host.d.ts +2 -0
  33. package/api/webvpn/index.d.ts +3 -0
  34. package/api/webvpn/packets/metadata.d.ts +31 -0
  35. package/api/webvpn/packets/tcp-listener.d.ts +39 -0
  36. package/api/webvpn/packets/tcp.d.ts +88 -0
  37. package/api/webvpn/packets/udp.d.ts +183 -0
  38. package/api/webvpn/packets/utils.d.ts +24 -0
  39. package/api/webvpn/tcp-listener.d.ts +11 -0
  40. package/api/webvpn/tcp.d.ts +33 -0
  41. package/api/webvpn/udp.d.ts +33 -0
  42. package/api/webvpn/utils.d.ts +26 -0
  43. package/api/webvpn/webtransport.d.ts +62 -0
  44. package/api/worker/client.d.ts +3 -0
  45. package/api/worker/protocol.d.ts +15 -0
  46. package/{api-CDb2pv7C.cjs → api-DD5v1qP9.cjs} +1 -1
  47. package/{background-DvQm1JHR.js → background-BVBbBOmL.js} +41 -68
  48. package/background-B_VgpARk.cjs +1 -0
  49. package/cloud/dgram.cjs +1 -1
  50. package/cloud/dgram.js +1 -3
  51. package/cloud/dns.cjs +1 -1
  52. package/cloud/dns.js +0 -1
  53. package/cloud/fs/promises.cjs +1 -1
  54. package/cloud/fs/promises.js +0 -3
  55. package/cloud/fs.cjs +1 -1
  56. package/cloud/fs.js +3 -4
  57. package/cloud/http.cjs +1 -1
  58. package/cloud/http.js +0 -3
  59. package/cloud/net.cjs +1 -1
  60. package/cloud/net.js +2 -3
  61. package/cloud-5o7yJHeX.cjs +1 -0
  62. package/cloud-BFyf2uC7.js +112 -0
  63. package/cloud.cjs +1 -1
  64. package/cloud.js +8 -12
  65. package/{connect-button-poDZVmq2.cjs → connect-button-BBEjXzB3.cjs} +1 -1
  66. package/desktop.cjs +1 -1
  67. package/desktop.js +1 -1
  68. package/dgram-CE43gJq9.cjs +1 -0
  69. package/{dgram-c_Xk7ckJ.js → dgram-wtjARbt0.js} +3 -3
  70. package/dgram.cjs +1 -1
  71. package/dgram.js +1 -3
  72. package/dns.cjs +1 -1
  73. package/dns.js +2 -2
  74. package/extension-CPj10qwa.js +67 -0
  75. package/extension-D-NUXxzF.cjs +1 -0
  76. package/extension.cjs +1 -1
  77. package/extension.js +3 -5
  78. package/fs/promises.cjs +1 -1
  79. package/fs/promises.js +1 -4
  80. package/fs-BfmfMBiw.cjs +1 -0
  81. package/{fs-BQs-x3_j.js → fs-D6nNf1mR.js} +4 -4
  82. package/fs.cjs +1 -1
  83. package/fs.js +1 -4
  84. package/http.cjs +2 -2
  85. package/http.js +7 -7
  86. package/index.cjs +1 -1
  87. package/index.js +23 -26
  88. package/{account.d.ts → lib/account.d.ts} +5 -8
  89. package/lib/api.d.ts +300 -0
  90. package/lib/auto.d.ts +5 -0
  91. package/lib/cloud/dgram.d.ts +2 -0
  92. package/lib/cloud/dns.d.ts +1 -0
  93. package/lib/cloud/frame.d.ts +3 -0
  94. package/lib/cloud/fs-promises.d.ts +5 -0
  95. package/lib/cloud/fs.d.ts +22 -0
  96. package/lib/cloud/http.d.ts +2 -0
  97. package/lib/cloud/net.d.ts +2 -0
  98. package/lib/cloud.d.ts +10 -0
  99. package/lib/connect-button.d.ts +1 -0
  100. package/lib/connect.d.ts +1 -0
  101. package/{desktop.d.ts → lib/desktop.d.ts} +6 -8
  102. package/lib/dns.d.ts +6 -0
  103. package/lib/dom.d.ts +2 -0
  104. package/lib/extension-prompt.d.ts +1 -0
  105. package/lib/extension.d.ts +4 -0
  106. package/lib/fkn-target.d.ts +1 -0
  107. package/lib/frame.d.ts +2 -0
  108. package/lib/fs/content-type.d.ts +1 -0
  109. package/lib/fs/hybrid.d.ts +10 -0
  110. package/lib/fs/index.d.ts +87 -0
  111. package/lib/fs/opfs.d.ts +8 -0
  112. package/lib/fs/promises.d.ts +8 -0
  113. package/lib/fs/types.d.ts +16 -0
  114. package/lib/index.d.ts +18 -0
  115. package/lib/node-fs/index.d.ts +95 -0
  116. package/lib/node-fs/shared.d.ts +39 -0
  117. package/lib/node-fs/store.d.ts +21 -0
  118. package/lib/opfs/index.d.ts +84 -0
  119. package/lib/opfs/promises.d.ts +8 -0
  120. package/lib/overlay.d.ts +14 -0
  121. package/lib/packages.d.ts +69 -0
  122. package/lib/proxy.d.ts +5 -0
  123. package/lib/quota.d.ts +20 -0
  124. package/lib/react.d.ts +7 -0
  125. package/lib/relay.d.ts +5 -0
  126. package/lib/storage.d.ts +22 -0
  127. package/lib/webvpn/dgram.d.ts +86 -0
  128. package/lib/webvpn/http.d.ts +180 -0
  129. package/lib/webvpn/index.d.ts +1 -0
  130. package/lib/webvpn/net.d.ts +132 -0
  131. package/lib/webvpn/utils.d.ts +32 -0
  132. package/net-CpuAhaQC.cjs +1 -0
  133. package/{net-Bl6_W3bd.js → net-DKMWPXb_.js} +3 -3
  134. package/net.cjs +1 -1
  135. package/net.js +2 -3
  136. package/{node-fs-DQn1TGJz.cjs → node-fs-C0eKnboT.cjs} +1 -1
  137. package/{node-fs-CdKPXPtW.js → node-fs-Dbf93qP7.js} +1 -1
  138. package/opfs/promises.cjs +1 -1
  139. package/opfs/promises.js +0 -1
  140. package/{opfs-BfcYLPGb.js → opfs-7_GmzQ93.js} +1 -1
  141. package/opfs-uClkgnb5.cjs +1 -0
  142. package/opfs.cjs +1 -1
  143. package/opfs.js +3 -3
  144. package/package.json +27 -22
  145. package/packages.cjs +1 -0
  146. package/packages.js +150 -0
  147. package/{locator-9s7jNIA2.js → proxy-C8SG1Beo.js} +542 -344
  148. package/proxy-bPaU3-Cz.cjs +53 -0
  149. package/react.cjs +1 -1
  150. package/react.js +1 -1
  151. package/{chunk-CPXzm0be.js → rolldown-runtime-DF993M8W.js} +1 -1
  152. package/rolldown-runtime-Doa5O59j.cjs +1 -0
  153. package/sandbox.d.ts +7 -0
  154. package/storage-OkwsFLN1.cjs +1 -0
  155. package/{storage-BcJfnkm3.js → storage-TmeyhZGt.js} +2 -2
  156. package/{utils-BsNRWMfl.cjs → utils-CoimMjf9.cjs} +1 -1
  157. package/background-CbU8TkWo.cjs +0 -1
  158. package/chunk-B6C_zzib.cjs +0 -1
  159. package/cloud/dgram.d.ts +0 -541
  160. package/cloud/fs/promises.d.ts +0 -45
  161. package/cloud/fs.d.ts +0 -75
  162. package/cloud/http.d.ts +0 -767
  163. package/cloud/net.d.ts +0 -606
  164. package/cloud-CWg9zCWm.cjs +0 -1
  165. package/cloud-eLyGYzbA.js +0 -33
  166. package/cloud.d.ts +0 -1053
  167. package/dgram-B3WC4VdJ.cjs +0 -1
  168. package/dgram.d.ts +0 -541
  169. package/dns.d.ts +0 -12
  170. package/extension-BLkZiaAP.js +0 -253
  171. package/extension-DAiRg5ny.cjs +0 -1
  172. package/extension.d.ts +0 -859
  173. package/fs/promises.d.ts +0 -67
  174. package/fs-DI1maxcZ.cjs +0 -1
  175. package/fs.d.ts +0 -142
  176. package/http.d.ts +0 -767
  177. package/index.d.ts +0 -2316
  178. package/locator-CHfEe3Jv.cjs +0 -53
  179. package/net-C5kWnI4C.cjs +0 -1
  180. package/net.d.ts +0 -606
  181. package/opfs/promises.d.ts +0 -67
  182. package/opfs-Dsi4FkJU.cjs +0 -1
  183. package/opfs.d.ts +0 -140
  184. package/proxy-A9UvWUaF.cjs +0 -1
  185. package/proxy-wiZN4eTR.js +0 -14
  186. package/react.d.ts +0 -12
  187. package/storage-C2-_-bTO.cjs +0 -1
  188. /package/{api-ByfayMm1.js → api--bnCFd4w.js} +0 -0
  189. /package/{connect-button-B_63ldmg.js → connect-button-Ds9KpXHe.js} +0 -0
  190. /package/{utils-CNydj3OT.js → utils-DPtyxGQu.js} +0 -0
package/extension.js CHANGED
@@ -1,5 +1,3 @@
1
- import { d as e, f as t, l as n, m as r, p as i, u as a } from "./locator-9s7jNIA2.js";
2
- import { C as o, D as s, E as c, O as l, S as u, T as d, _ as f, a as p, b as m, c as h, d as g, f as _, g as v, h as y, i as b, k as x, l as S, m 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 } from "./extension-BLkZiaAP.js";
3
- import "./api-ByfayMm1.js";
4
- import "./proxy-wiZN4eTR.js";
5
- export { w as ATTACH_FRAME_EVENT_KEY, D as assertAttachableFrameUrl, M as assertFetchableUrl, h as assertLockdownApplicable, S as attachFrame, O as attachFramePermission, E as available, a as box, f as cookies, e as createVideoElementHandle, g as evaluatePermission, c as events, c as extension, m as fetch, j as fetchCredentialedPermission, u as fetchLocalPermission, o as fetchPermission, _ as gotoPermission, n as handleRevivableModules, A as isBlockedFetchUrl, T as isBlockedFrameUrl, s as isExtensionExposed, d as isLocalNetworkUrl, t as isType, C as modifyRequestHeadersPermission, p as permissions, b as promptInstall, k as readCookiePermission, y as removeRequestHeaderRule, i as revive, l as setMissingExtensionHandler, v as setRequestHeaderRule, r as type, x as waitForExtensionExposure };
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, L as c, M as l, N as u, O as d, P as f, R as p, S as m, T as h, V as g, a as _, c as v, d as y, i as b, j as x, k as S, l as C, o as w, r as T, s as E, u as D, w as O, x as k, z as A } from "./proxy-C8SG1Beo.js";
2
+ import { i as j, r as M } from "./extension-CPj10qwa.js";
3
+ export { b as ATTACH_FRAME_EVENT_KEY, C as assertAttachableFrameUrl, i as assertFetchableUrl, D as assertLockdownApplicable, _ as attachFrame, w as attachFramePermission, M as available, p as box, O as cookies, E as createFrame, A as createVideoElementHandle, u as events, u as extension, r as fetch, d as fetchCredentialedPermission, S as fetchLocalPermission, e as fetchPermission, v as gotoPermission, c as handleRevivableModules, x as isBlockedFetchUrl, y as isBlockedFrameUrl, f as isExtensionExposed, l as isLocalNetworkUrl, t as isType, k as modifyRequestHeadersPermission, T as permissions, j as promptInstall, h as readCookiePermission, m as removeRequestHeaderRule, g as revive, a as setMissingExtensionHandler, n as setRequestHeaderRule, o as type, s as waitForExtensionExposure };
package/fs/promises.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../api-CDb2pv7C.cjs`),require(`../node-fs-DQn1TGJz.cjs`),require(`../storage-C2-_-bTO.cjs`);const e=require(`../fs-DI1maxcZ.cjs`);var{readFile:t,writeFile:n,appendFile:r,unlink:i,rename:a,readdir:o,mkdir:s,rm:c,rmdir:l,stat:u,lstat:d,access:f}=e.p,p=e.p;exports.access=f,exports.appendFile=r,exports.default=p,exports.lstat=d,exports.mkdir=s,exports.readFile=t,exports.readdir=o,exports.rename=a,exports.rm=c,exports.rmdir=l,exports.stat=u,exports.unlink=i,exports.writeFile=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../fs-BfmfMBiw.cjs");var{readFile:t,writeFile:n,appendFile:r,unlink:i,rename:a,readdir:o,mkdir:s,rm:c,rmdir:l,stat:u,lstat:d,access:f}=e.p,p=e.p;exports.access=f,exports.appendFile=r,exports.default=p,exports.lstat=d,exports.mkdir=s,exports.readFile=t,exports.readdir=o,exports.rename=a,exports.rm=c,exports.rmdir=l,exports.stat=u,exports.unlink=i,exports.writeFile=n;
package/fs/promises.js CHANGED
@@ -1,7 +1,4 @@
1
- import "../api-ByfayMm1.js";
2
- import "../node-fs-CdKPXPtW.js";
3
- import "../storage-BcJfnkm3.js";
4
- import { p as e } from "../fs-BQs-x3_j.js";
1
+ import { p as e } from "../fs-D6nNf1mR.js";
5
2
  //#region src/lib/fs/promises.ts
6
3
  var { readFile: t, writeFile: n, appendFile: r, unlink: i, rename: a, readdir: o, mkdir: s, rm: c, rmdir: l, stat: u, lstat: d, access: f } = e, p = e;
7
4
  //#endregion
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-C0eKnboT.cjs"),n=require("./storage-OkwsFLN1.cjs"),r=require("./opfs-uClkgnb5.cjs");var i=e.n({available:()=>c,list:()=>l,pull:()=>p,readFile:()=>u,remove:()=>f,writeFile:()=>d}),a,o=async()=>await(a??=r.t().catch(()=>!1))?!0:(a=void 0,!1),s=()=>n.t().catch(()=>!1),c=async()=>await o()||await s(),l=async()=>{let[e,t]=await Promise.all([o().then(e=>e?r.n():[]).catch(()=>[]),s().then(e=>e?n.n():[]).catch(()=>[])]),i=new Map,a=e=>{let t=Date.parse(e.updatedAt??``);return Number.isFinite(t)?t:0},c=e=>{let t=i.get(e.path);(!t||a(e)>=a(t))&&i.set(e.path,e)};for(let t of e)c(t);for(let e of t)c(e);return[...i.values()]},u=async e=>{if(await o())try{return await r.i(e)}catch(e){if(e?.name!==`NotFoundError`)throw e}let t=await n.i(e);return await o()&&r.o(e,t).catch(()=>{}),t},d=async(e,t,i)=>{let a=t instanceof Blob?t:new Blob([t],i?.contentType?{type:i.contentType}:void 0);if(await o()){await r.o(e,a,i),await s()&&n.s(e,a,i).catch(e=>console.warn(`fs: cloud replicate failed`,e));return}if(await s())return n.s(e,a,i);throw Error(`fs: no storage backend available`)},f=async e=>{let t=[];if(await o()&&t.push(r.a(e).catch(()=>{})),await s()&&t.push(n.a(e).catch(()=>{})),!t.length)throw Error(`fs: no storage backend available`);await Promise.all(t)},p=async e=>{let t=await n.i(e);return await o()&&await r.o(e,t),t},m=e.n({appendFile:()=>j,appendFileSync:()=>y,available:()=>g,default:()=>W,exists:()=>R,existsSync:()=>b,flush:()=>V,lstatSync:()=>S,mkdir:()=>P,mkdirSync:()=>w,mount:()=>B,promises:()=>z,pull:()=>U,readFile:()=>k,readFileSync:()=>_,readdir:()=>N,readdirSync:()=>C,remount:()=>H,rename:()=>L,renameSync:()=>O,rm:()=>F,rmSync:()=>T,rmdirSync:()=>E,stat:()=>M,statSync:()=>x,unlink:()=>I,unlinkSync:()=>D,writeFile:()=>A,writeFileSync:()=>v}),h=t.t(i,{memfs:!0}),{available:g,readFileSync:_,writeFileSync:v,appendFileSync:y,existsSync:b,statSync:x,lstatSync:S,readdirSync:C,mkdirSync:w,rmSync:T,rmdirSync:E,unlinkSync:D,renameSync:O,readFile:k,writeFile:A,appendFile:j,stat:M,readdir:N,mkdir:P,rm:F,unlink:I,rename:L,exists:R,promises:z,mount:B,flush:V,remount:H}=h,U=p,W={...h,pull:U};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return H}});
@@ -1,7 +1,7 @@
1
- import { n as e } from "./chunk-CPXzm0be.js";
2
- import { t } from "./node-fs-CdKPXPtW.js";
3
- import { a as n, i as r, n as i, s as a, t as o } from "./storage-BcJfnkm3.js";
4
- import { a as s, i as c, n as l, o as u, t as d } from "./opfs-BfcYLPGb.js";
1
+ import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
+ import { t } from "./node-fs-Dbf93qP7.js";
3
+ import { a as n, i as r, n as i, s as a, t as o } from "./storage-TmeyhZGt.js";
4
+ import { a as s, i as c, n as l, o as u, t as d } from "./opfs-7_GmzQ93.js";
5
5
  //#region src/lib/fs/hybrid.ts
6
6
  var f = /* @__PURE__ */ e({
7
7
  available: () => g,
package/fs.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`./api-CDb2pv7C.cjs`),require(`./node-fs-DQn1TGJz.cjs`),require(`./storage-C2-_-bTO.cjs`);const e=require(`./fs-DI1maxcZ.cjs`);exports.appendFile=e.t,exports.appendFileSync=e.n,exports.available=e.r,exports.default=e.s,exports.exists=e.i,exports.existsSync=e.a,exports.flush=e.o,exports.lstatSync=e.l,exports.mkdir=e.u,exports.mkdirSync=e.d,exports.mount=e.f,exports.promises=e.p,exports.pull=e.m,exports.readFile=e.h,exports.readFileSync=e.g,exports.readdir=e._,exports.readdirSync=e.v,exports.remount=e.y,exports.rename=e.b,exports.renameSync=e.x,exports.rm=e.S,exports.rmSync=e.C,exports.rmdirSync=e.w,exports.stat=e.T,exports.statSync=e.E,exports.unlink=e.D,exports.unlinkSync=e.O,exports.writeFile=e.k,exports.writeFileSync=e.A;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-BfmfMBiw.cjs");exports.appendFile=e.t,exports.appendFileSync=e.n,exports.available=e.r,exports.default=e.s,exports.exists=e.i,exports.existsSync=e.a,exports.flush=e.o,exports.lstatSync=e.l,exports.mkdir=e.u,exports.mkdirSync=e.d,exports.mount=e.f,exports.promises=e.p,exports.pull=e.m,exports.readFile=e.h,exports.readFileSync=e.g,exports.readdir=e._,exports.readdirSync=e.v,exports.remount=e.y,exports.rename=e.b,exports.renameSync=e.x,exports.rm=e.S,exports.rmSync=e.C,exports.rmdirSync=e.w,exports.stat=e.T,exports.statSync=e.E,exports.unlink=e.D,exports.unlinkSync=e.O,exports.writeFile=e.k,exports.writeFileSync=e.A;
package/fs.js CHANGED
@@ -1,5 +1,2 @@
1
- import "./api-ByfayMm1.js";
2
- import "./node-fs-CdKPXPtW.js";
3
- import "./storage-BcJfnkm3.js";
4
- import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, d as u, f as d, g as f, h as p, i as m, k as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, w as E, x as D, y as O } from "./fs-BQs-x3_j.js";
1
+ import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, d as u, f as d, g as f, h as p, i as m, k as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, w as E, x as D, y as O } from "./fs-D6nNf1mR.js";
5
2
  export { C as appendFile, v as appendFileSync, x as available, S as default, m as exists, c as existsSync, y as flush, g as lstatSync, w as mkdir, u as mkdirSync, d as mount, b as promises, _ as pull, p as readFile, f as readFileSync, s as readdir, T as readdirSync, O as remount, l as rename, D as renameSync, a as rm, t as rmSync, E as rmdirSync, o as stat, r as statSync, n as unlink, i as unlinkSync, h as writeFile, e as writeFileSync };
package/http.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./chunk-B6C_zzib.cjs`);require(`./api-CDb2pv7C.cjs`),require(`./utils-BsNRWMfl.cjs`);const t=require(`./net-C5kWnI4C.cjs`);let n=require(`buffer`),r=require(`stream`);var i=e.n({Agent:()=>T,ClientRequest:()=>S,HTTPParser:()=>g,IncomingMessage:()=>v,METHODS:()=>o,STATUS_CODES:()=>s,Server:()=>w,ServerResponse:()=>b,_default:()=>A,createServer:()=>k,default:()=>A,get:()=>O,globalAgent:()=>E,request:()=>D}),a=new TextDecoder(`latin1`),o=`ACL.BIND.CHECKOUT.CONNECT.COPY.DELETE.GET.HEAD.LINK.LOCK.M-SEARCH.MERGE.MKACTIVITY.MKCALENDAR.MKCOL.MOVE.NOTIFY.OPTIONS.PATCH.POST.PROPFIND.PROPPATCH.PURGE.PUT.REBIND.REPORT.SEARCH.SOURCE.SUBSCRIBE.TRACE.UNBIND.UNLINK.UNLOCK.UNSUBSCRIBE`.split(`.`),s={100:`Continue`,101:`Switching Protocols`,102:`Processing`,103:`Early Hints`,200:`OK`,201:`Created`,202:`Accepted`,203:`Non-Authoritative Information`,204:`No Content`,205:`Reset Content`,206:`Partial Content`,207:`Multi-Status`,208:`Already Reported`,226:`IM Used`,300:`Multiple Choices`,301:`Moved Permanently`,302:`Found`,303:`See Other`,304:`Not Modified`,305:`Use Proxy`,307:`Temporary Redirect`,308:`Permanent Redirect`,400:`Bad Request`,401:`Unauthorized`,402:`Payment Required`,403:`Forbidden`,404:`Not Found`,405:`Method Not Allowed`,406:`Not Acceptable`,407:`Proxy Authentication Required`,408:`Request Timeout`,409:`Conflict`,410:`Gone`,411:`Length Required`,412:`Precondition Failed`,413:`Payload Too Large`,414:`URI Too Long`,415:`Unsupported Media Type`,416:`Range Not Satisfiable`,417:`Expectation Failed`,418:`I'm a Teapot`,421:`Misdirected Request`,422:`Unprocessable Entity`,423:`Locked`,424:`Failed Dependency`,425:`Too Early`,426:`Upgrade Required`,428:`Precondition Required`,429:`Too Many Requests`,431:`Request Header Fields Too Large`,451:`Unavailable For Legal Reasons`,500:`Internal Server Error`,501:`Not Implemented`,502:`Bad Gateway`,503:`Service Unavailable`,504:`Gateway Timeout`,505:`HTTP Version Not Supported`,506:`Variant Also Negotiates`,507:`Insufficient Storage`,508:`Loop Detected`,509:`Bandwidth Limit Exceeded`,510:`Not Extended`,511:`Network Authentication Required`},c=new Set([`content-type`,`content-length`,`user-agent`,`referer`,`host`,`authorization`,`proxy-authorization`,`if-modified-since`,`if-unmodified-since`,`from`,`location`,`max-forwards`,`retry-after`,`etag`,`last-modified`,`server`,`age`,`expires`]),l=13,u=10,d=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,f=(e,t)=>(e.code=t,e),p=(e,t)=>{if(e.length===0)return t;if(t.length===0)return e;let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n},m=(e,t)=>{for(let n=t;n+1<e.length;n++)if(e[n]===l&&e[n+1]===u)return n;return-1},h=e=>{for(let t=0;t+3<e.length;t++)if(e[t]===l&&e[t+1]===u&&e[t+2]===l&&e[t+3]===u)return t;return-1},g=class{buf=new Uint8Array;state=`HEAD`;framing=`none`;bodyRemaining=0;chunkState=`size`;skipBody=!1;constructor(e,t){this.mode=e,this.handlers=t}execute(e){this.buf=p(this.buf,e);let t=!0;for(;t;)if(t=!1,this.state===`HEAD`){let e=h(this.buf);if(e===-1)return;let n=this.buf.subarray(0,e);this.buf=this.buf.subarray(e+4);let r=this.parseHead(n);this.handlers.onHeaders(r),this.setupBody(r),this.framing===`none`?(this.handlers.onComplete(),this.reset(),t=this.buf.length>0):(this.state=`BODY`,t=!0)}else this.consumeBody()&&(this.handlers.onComplete(),this.reset(),t=this.buf.length>0)}finish(){this.state===`BODY`&&this.framing===`eof`&&(this.handlers.onComplete(),this.reset())}reset(){this.state=`HEAD`,this.framing=`none`,this.bodyRemaining=0,this.chunkState=`size`,this.skipBody=!1}parseHead(e){let t=a.decode(e).split(`\r
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./net-CpuAhaQC.cjs");let n=require("buffer"),r=require("stream");var i=e.n({Agent:()=>T,ClientRequest:()=>S,HTTPParser:()=>g,IncomingMessage:()=>v,METHODS:()=>o,STATUS_CODES:()=>s,Server:()=>w,ServerResponse:()=>b,_default:()=>A,createServer:()=>k,default:()=>A,get:()=>O,globalAgent:()=>E,request:()=>D}),a=new TextDecoder(`latin1`),o=`ACL.BIND.CHECKOUT.CONNECT.COPY.DELETE.GET.HEAD.LINK.LOCK.M-SEARCH.MERGE.MKACTIVITY.MKCALENDAR.MKCOL.MOVE.NOTIFY.OPTIONS.PATCH.POST.PROPFIND.PROPPATCH.PURGE.PUT.REBIND.REPORT.SEARCH.SOURCE.SUBSCRIBE.TRACE.UNBIND.UNLINK.UNLOCK.UNSUBSCRIBE`.split(`.`),s={100:`Continue`,101:`Switching Protocols`,102:`Processing`,103:`Early Hints`,200:`OK`,201:`Created`,202:`Accepted`,203:`Non-Authoritative Information`,204:`No Content`,205:`Reset Content`,206:`Partial Content`,207:`Multi-Status`,208:`Already Reported`,226:`IM Used`,300:`Multiple Choices`,301:`Moved Permanently`,302:`Found`,303:`See Other`,304:`Not Modified`,305:`Use Proxy`,307:`Temporary Redirect`,308:`Permanent Redirect`,400:`Bad Request`,401:`Unauthorized`,402:`Payment Required`,403:`Forbidden`,404:`Not Found`,405:`Method Not Allowed`,406:`Not Acceptable`,407:`Proxy Authentication Required`,408:`Request Timeout`,409:`Conflict`,410:`Gone`,411:`Length Required`,412:`Precondition Failed`,413:`Payload Too Large`,414:`URI Too Long`,415:`Unsupported Media Type`,416:`Range Not Satisfiable`,417:`Expectation Failed`,418:`I'm a Teapot`,421:`Misdirected Request`,422:`Unprocessable Entity`,423:`Locked`,424:`Failed Dependency`,425:`Too Early`,426:`Upgrade Required`,428:`Precondition Required`,429:`Too Many Requests`,431:`Request Header Fields Too Large`,451:`Unavailable For Legal Reasons`,500:`Internal Server Error`,501:`Not Implemented`,502:`Bad Gateway`,503:`Service Unavailable`,504:`Gateway Timeout`,505:`HTTP Version Not Supported`,506:`Variant Also Negotiates`,507:`Insufficient Storage`,508:`Loop Detected`,509:`Bandwidth Limit Exceeded`,510:`Not Extended`,511:`Network Authentication Required`},c=new Set([`content-type`,`content-length`,`user-agent`,`referer`,`host`,`authorization`,`proxy-authorization`,`if-modified-since`,`if-unmodified-since`,`from`,`location`,`max-forwards`,`retry-after`,`etag`,`last-modified`,`server`,`age`,`expires`]),l=13,u=10,d=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,f=(e,t)=>(e.code=t,e),p=(e,t)=>{if(e.length===0)return t;if(t.length===0)return e;let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n},m=(e,t)=>{for(let n=t;n+1<e.length;n++)if(e[n]===l&&e[n+1]===u)return n;return-1},h=e=>{for(let t=0;t+3<e.length;t++)if(e[t]===l&&e[t+1]===u&&e[t+2]===l&&e[t+3]===u)return t;return-1},g=class{mode;handlers;buf=new Uint8Array;state=`HEAD`;framing=`none`;bodyRemaining=0;chunkState=`size`;skipBody=!1;constructor(e,t){this.mode=e,this.handlers=t}execute(e){this.buf=p(this.buf,e);let t=!0;for(;t;)if(t=!1,this.state===`HEAD`){let e=h(this.buf);if(e===-1)return;let n=this.buf.subarray(0,e);this.buf=this.buf.subarray(e+4);let r=this.parseHead(n);this.handlers.onHeaders(r),this.setupBody(r),this.framing===`none`?(this.handlers.onComplete(),this.reset(),t=this.buf.length>0):(this.state=`BODY`,t=!0)}else this.consumeBody()&&(this.handlers.onComplete(),this.reset(),t=this.buf.length>0)}finish(){this.state===`BODY`&&this.framing===`eof`&&(this.handlers.onComplete(),this.reset())}reset(){this.state=`HEAD`,this.framing=`none`,this.bodyRemaining=0,this.chunkState=`size`,this.skipBody=!1}parseHead(e){let t=a.decode(e).split(`\r
2
2
  `),n=t.shift()??``,r=[];for(let e of t)(e.startsWith(` `)||e.startsWith(` `))&&r.length>0?r[r.length-1]+=` `+e.trim():r.push(e);let i=[],o={};for(let e of r){if(!e)continue;let t=e.indexOf(`:`);if(t===-1)continue;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim();i.push(n,r),this.addHeader(o,n,r)}let s={httpVersionMajor:1,httpVersionMinor:1,httpVersion:`1.1`,headers:o,rawHeaders:i};if(this.mode===`request`){let[e,t,r]=n.split(` `);s.method=(e??`GET`).toUpperCase(),s.url=t??`/`,this.applyVersion(s,r)}else{let e=n.indexOf(` `),t=n.slice(0,e),r=n.slice(e+1),i=r.indexOf(` `),a=i===-1?r:r.slice(0,i);s.statusCode=parseInt(a,10)||0,s.statusMessage=i===-1?``:r.slice(i+1),this.applyVersion(s,t)}return s}applyVersion(e,t){let n=/HTTP\/(\d)\.(\d)/i.exec(t??``);n&&(e.httpVersionMajor=parseInt(n[1],10),e.httpVersionMinor=parseInt(n[2],10),e.httpVersion=`${e.httpVersionMajor}.${e.httpVersionMinor}`)}addHeader(e,t,n){let r=t.toLowerCase();if(r===`set-cookie`){let t=e[`set-cookie`];Array.isArray(t)?t.push(n):e[`set-cookie`]=[n];return}let i=e[r];i===void 0?e[r]=n:c.has(r)||(e[r]=`${i}, ${n}`)}setupBody(e){if(this.skipBody){this.framing=`none`;return}let t=e.headers[`transfer-encoding`];if(typeof t==`string`&&t.toLowerCase().includes(`chunked`)){this.framing=`chunked`,this.chunkState=`size`;return}let n=e.headers[`content-length`];if(typeof n==`string`&&n!==``){let e=parseInt(n,10);e>0?(this.framing=`length`,this.bodyRemaining=e):this.framing=`none`;return}if(this.mode===`response`){let t=e.statusCode??0;t>=100&&t<200||t===204||t===304?this.framing=`none`:this.framing=`eof`}else this.framing=`none`}consumeBody(){if(this.framing===`length`){if(this.buf.length===0)return!1;let e=Math.min(this.bodyRemaining,this.buf.length);return this.handlers.onBody(this.buf.subarray(0,e)),this.buf=this.buf.subarray(e),this.bodyRemaining-=e,this.bodyRemaining===0}return this.framing===`eof`?(this.buf.length>0&&(this.handlers.onBody(this.buf),this.buf=new Uint8Array),!1):this.framing===`chunked`?this.consumeChunked():!0}consumeChunked(){for(;;)if(this.chunkState===`size`){let e=m(this.buf,0);if(e===-1)return!1;let t=a.decode(this.buf.subarray(0,e)),n=parseInt(t.split(`;`)[0].trim(),16);if(this.buf=this.buf.subarray(e+2),Number.isNaN(n))return!0;n===0?this.chunkState=`trailer`:(this.bodyRemaining=n,this.chunkState=`data`)}else if(this.chunkState===`data`){if(this.buf.length===0)return!1;let e=Math.min(this.bodyRemaining,this.buf.length);this.handlers.onBody(this.buf.subarray(0,e)),this.buf=this.buf.subarray(e),this.bodyRemaining-=e,this.bodyRemaining===0&&(this.chunkState=`dataCRLF`)}else if(this.chunkState===`dataCRLF`){if(this.buf.length<2)return!1;this.buf=this.buf.subarray(2),this.chunkState=`size`}else{let e=m(this.buf,0);if(e===-1)return!1;let t=e===0;if(this.buf=this.buf.subarray(e+2),t)return!0}}},_=(e,t)=>n.Buffer.isBuffer(e)?e:typeof e==`string`?n.Buffer.from(e,t??`utf8`):e instanceof Uint8Array?n.Buffer.from(e):e instanceof ArrayBuffer?n.Buffer.from(new Uint8Array(e)):n.Buffer.from(String(e)),v=class extends r.Stream.Readable{httpVersion=`1.1`;httpVersionMajor=1;httpVersionMinor=1;headers={};rawHeaders=[];trailers={};rawTrailers=[];method;url;statusCode;statusMessage;complete=!1;socket;constructor(e){super(),this.socket=e}get connection(){return this.socket}_applyHead(e){this.httpVersion=e.httpVersion,this.httpVersionMajor=e.httpVersionMajor,this.httpVersionMinor=e.httpVersionMinor,this.headers=e.headers,this.rawHeaders=e.rawHeaders,this.method=e.method,this.url=e.url,this.statusCode=e.statusCode,this.statusMessage=e.statusMessage}_read(){}setTimeout(e,t){return this.socket.setTimeout(e,t),this}},y=class extends r.Stream.Writable{_headerStore=new Map;headersSent=!1;chunkedEncoding=!1;finished=!1;_bodyWritten=!1;setHeader(e,t){if(this.headersSent)throw f(Error(`Cannot set headers after they are sent to the client`),`ERR_HTTP_HEADERS_SENT`);if(typeof e!=`string`||!d.test(e))throw f(TypeError(`Header name must be a valid HTTP token [${JSON.stringify(String(e))}]`),`ERR_INVALID_HTTP_TOKEN`);if(t===void 0)throw f(TypeError(`Invalid value "undefined" for header "${e}"`),`ERR_HTTP_INVALID_HEADER_VALUE`);return this._headerStore.set(e.toLowerCase(),[e,Array.isArray(t)?[...t]:t]),this}getHeader(e){return this._headerStore.get(e.toLowerCase())?.[1]}getHeaderNames(){return[...this._headerStore.values()].map(([e])=>e)}getHeaders(){let e={};for(let[t,n]of this._headerStore.values())e[t]=n;return e}hasHeader(e){return this._headerStore.has(e.toLowerCase())}removeHeader(e){if(this.headersSent)throw Error(`Cannot remove headers after they are sent to the client`);this._headerStore.delete(e.toLowerCase())}_storeHeader(e){let t=this.hasHeader(`content-length`),n=this.getHeader(`transfer-encoding`);typeof n==`string`&&n.toLowerCase().includes(`chunked`)?this.chunkedEncoding=!0:!t&&this._shouldSendBody()&&(this.chunkedEncoding=!0,this.setHeader(`Transfer-Encoding`,`chunked`));let r=e+`\r
3
3
  `;for(let[e,t]of this._headerStore.values())if(Array.isArray(t))for(let n of t)r+=`${e}: ${n}\r\n`;else r+=`${e}: ${t}\r\n`;return r+=`\r
4
4
  `,r}_writeToSocket(e,t){if(!this.socket){t(Error(`Socket is not available`));return}this.socket.write(e,t)}write(e,t,n){return this._bodyWritten=!0,super.write(e,t,n)}_write(e,t,r){let i=_(e),a=[];if(this.headersSent||=(this._implicitHeader(),a.push(n.Buffer.from(this._headBlock,`latin1`)),!0),this.chunkedEncoding?i.length>0&&(a.push(n.Buffer.from(`${i.length.toString(16)}\r\n`,`latin1`)),a.push(i),a.push(n.Buffer.from(`\r
@@ -6,4 +6,4 @@ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{val
6
6
  \r
7
7
  `,`latin1`)),this.finished=!0,t.length===0){e();return}this._writeToSocket(n.Buffer.concat(t),e)}end(e,t,n){if(e!=null&&typeof e!=`function`&&!this._bodyWritten&&!this.headersSent&&!this.chunkedEncoding&&!this.hasHeader(`content-length`)){let n=typeof t==`string`?t:void 0;this.setHeader(`Content-Length`,_(e,n).length)}return super.end(e,t,n)}_headBlock},b=class extends y{statusCode=200;statusMessage;_writeHeadCalled=!1;sendDate=!0;req;socket;_keepAlive=!0;constructor(e){super(),this.req=e,this.socket=e.socket}_shouldSendBody(){if(this.req.method===`HEAD`)return!1;let e=this.statusCode;return!(e>=100&&e<200||e===204||e===304)}writeHead(e,t,n){if(this._writeHeadCalled||this.headersSent)throw f(Error(`Cannot render headers after they are sent to the client`),`ERR_HTTP_HEADERS_SENT`);this._writeHeadCalled=!0,this.statusCode=e;let r=n;if(typeof t==`string`?this.statusMessage=t:t!=null&&(r=t),Array.isArray(r)){let e=Array.isArray(r[0])?r:Array.from({length:Math.floor(r.length/2)},(e,t)=>[r[t*2],r[t*2+1]]);for(let[t,n]of e)n!==void 0&&this._appendHeader(t,n)}else if(r)for(let[e,t]of Object.entries(r))t!==void 0&&this.setHeader(e,t);return this}_appendHeader(e,t){let n=this.getHeader(e);if(n===void 0)this.setHeader(e,t);else{let r=[...Array.isArray(n)?n:[n],...Array.isArray(t)?t:[t]].map(String);this.setHeader(e,r)}}_implicitHeader(){let e=this.statusMessage??s[this.statusCode]??`unknown`;this.sendDate&&!this.hasHeader(`date`)&&this.setHeader(`Date`,new Date().toUTCString()),this.hasHeader(`connection`)||this.setHeader(`Connection`,this._keepAlive?`keep-alive`:`close`),this._headBlock=this._storeHeader(`HTTP/1.1 ${this.statusCode} ${e}`)}writeContinue(){this._writeToSocket(n.Buffer.from(`HTTP/1.1 100 Continue\r
8
8
  \r
9
- `,`latin1`),()=>{})}setTimeout(e,t){return this.socket?.setTimeout(e,t),this}},x=(...e)=>{let t={},n={},r,i=[...e],a=i.shift();if(typeof a==`string`||a instanceof URL){let e=typeof a==`string`?new URL(a):a;t={protocol:e.protocol,hostname:e.hostname,host:e.hostname,port:e.port,path:`${e.pathname}${e.search}`,auth:e.username?`${e.username}:${e.password}`:void 0};let o=i.shift();typeof o==`function`?r=o:o&&typeof o==`object`&&(n=o,r=i.shift())}else a&&typeof a==`object`&&(n=a,r=i.shift());return{options:{...t,...n},callback:r}},S=class extends y{method;path;host;protocol;socket;get connection(){return this.socket}res=null;aborted=!1;_aborted=!1;constructor(e,r){super(),this.method=(e.method??`GET`).toUpperCase(),this.path=e.path??`/`,this.protocol=e.protocol??`http:`;let i=e.hostname??e.host??`localhost`;this.host=i;let a=Number(e.port??(this.protocol===`https:`?443:80));if(r&&this.once(`response`,r),e.headers)for(let[t,n]of Object.entries(e.headers))n!==void 0&&this.setHeader(t,n);if(!this.hasHeader(`host`)){let e=this.protocol===`https:`&&a===443||this.protocol!==`https:`&&a===80;this.setHeader(`Host`,e?i:`${i}:${a}`)}e.auth&&!this.hasHeader(`authorization`)&&this.setHeader(`Authorization`,`Basic ${n.Buffer.from(e.auth).toString(`base64`)}`),this.socket=new t.n,this.emit(`socket`,this.socket),this.socket.on(`error`,e=>{this._aborted||this.emit(`error`,e)}),this._attachResponseParser(),this.socket.connect({host:i,port:a},()=>{this.emit(`connect`)})}_shouldSendBody(){return this.method!==`GET`&&this.method!==`HEAD`&&this.method!==`DELETE`}_implicitHeader(){this._headBlock=this._storeHeader(`${this.method} ${this.path} HTTP/1.1`)}_attachResponseParser(){let e=new v(this.socket),t=new g(`response`,{onHeaders:n=>{e._applyHead(n),this.method===`HEAD`&&(t.skipBody=!0),this.res=e,this.emit(`response`,e)},onBody:t=>{e.push(n.Buffer.from(t))},onComplete:()=>{e.complete=!0,e.push(null)}});this.socket.on(`data`,e=>{this._aborted||t.execute(e)}),this.socket.on(`end`,()=>{t.finish()}),this.socket.on(`close`,()=>{this.emit(`close`)})}abort(){this._aborted||(this._aborted=!0,this.aborted=!0,this.emit(`abort`),this.socket.destroy())}destroy(e){return this._aborted?this:(this._aborted=!0,this.socket.destroy(e),super.destroy(e),this)}end(e,t,n){return this._aborted?this:super.end(e,t,n)}_writeToSocket(e,t){if(this._aborted){t();return}super._writeToSocket(e,t)}setTimeout(e,t){return this.socket.setTimeout(e,t),this}setNoDelay(e){this.socket.setNoDelay(e)}setSocketKeepAlive(e,t){this.socket.setKeepAlive(e,t)}},C=class extends t.t{constructor(e,t){let n={},r=t;typeof e==`function`?r=e:e&&(n=e),super(n),r&&this.on(`request`,r),this.on(`connection`,e=>this._handleConnection(e))}_handleConnection(e){let t=null,r=new g(`request`,{onHeaders:n=>{t=new v(e),t._applyHead(n),n.method===`HEAD`&&(r.skipBody=!0);let i=new b(t),a=String(n.headers.connection??``).toLowerCase();i._keepAlive=n.httpVersionMinor>=1?a!==`close`:a===`keep-alive`,i.on(`finish`,()=>{i._keepAlive||e.end()}),this.emit(`request`,t,i)},onBody:e=>{t?.push(n.Buffer.from(e))},onComplete:()=>{t&&(t.complete=!0,t.push(null)),t=null}});e.on(`data`,e=>r.execute(e)),e.on(`end`,()=>{r.finish(),t&&t.push(null)}),e.on(`error`,t=>this.emit(`clientError`,t,e))}},w=new Proxy(C,{apply:(e,t,n)=>new e(...n)}),T=class{maxSockets;maxFreeSockets;keepAlive;options;constructor(e={}){this.options=e,this.keepAlive=!!e.keepAlive,this.maxSockets=e.maxSockets??1/0,this.maxFreeSockets=e.maxFreeSockets??256}getName(e={}){return`${e.host??`localhost`}:${e.port??``}:${e.localAddress??``}`}destroy(){}},E=new T,D=(...e)=>{let{options:t,callback:n}=x(...e);return new S(t,n)},O=(...e)=>{let t=D(...e);return t.end(),t},k=(e,t)=>new w(e,t),A={METHODS:o,STATUS_CODES:s,Agent:T,globalAgent:E,Server:w,ServerResponse:b,IncomingMessage:v,ClientRequest:S,OutgoingMessage:y,createServer:k,request:D,get:O};exports.Agent=T,exports.ClientRequest=S,exports.HTTPParser=g,exports.IncomingMessage=v,exports.METHODS=o,exports.STATUS_CODES=s,exports.Server=w,exports.ServerResponse=b,exports._default=A,exports.default=A,exports.createServer=k,exports.get=O,exports.globalAgent=E,exports.request=D,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
9
+ `,`latin1`),()=>{})}setTimeout(e,t){return this.socket?.setTimeout(e,t),this}},x=(...e)=>{let t={},n={},r,i=[...e],a=i.shift();if(typeof a==`string`||a instanceof URL){let e=typeof a==`string`?new URL(a):a;t={protocol:e.protocol,hostname:e.hostname,host:e.hostname,port:e.port,path:`${e.pathname}${e.search}`,auth:e.username?`${e.username}:${e.password}`:void 0};let o=i.shift();typeof o==`function`?r=o:o&&typeof o==`object`&&(n=o,r=i.shift())}else a&&typeof a==`object`&&(n=a,r=i.shift());return{options:{...t,...n},callback:r}},S=class extends y{method;path;host;protocol;socket;get connection(){return this.socket}res=null;aborted=!1;_aborted=!1;constructor(e,r){super(),this.method=(e.method??`GET`).toUpperCase(),this.path=e.path??`/`,this.protocol=e.protocol??`http:`;let i=e.hostname??e.host??`localhost`;this.host=i;let a=Number(e.port??(this.protocol===`https:`?443:80));if(r&&this.once(`response`,r),e.headers)for(let[t,n]of Object.entries(e.headers))n!==void 0&&this.setHeader(t,n);if(!this.hasHeader(`host`)){let e=this.protocol===`https:`&&a===443||this.protocol!==`https:`&&a===80;this.setHeader(`Host`,e?i:`${i}:${a}`)}e.auth&&!this.hasHeader(`authorization`)&&this.setHeader(`Authorization`,`Basic ${n.Buffer.from(e.auth).toString(`base64`)}`),this.socket=new t.n,this.emit(`socket`,this.socket),this.socket.on(`error`,e=>{this._aborted||this.emit(`error`,e)}),this._attachResponseParser(),this.socket.connect({host:i,port:a},()=>{this.emit(`connect`)})}_shouldSendBody(){return this.method!==`GET`&&this.method!==`HEAD`&&this.method!==`DELETE`}_implicitHeader(){this._headBlock=this._storeHeader(`${this.method} ${this.path} HTTP/1.1`)}_attachResponseParser(){let e=new v(this.socket),t=new g(`response`,{onHeaders:n=>{e._applyHead(n),this.method===`HEAD`&&(t.skipBody=!0),this.res=e,this.emit(`response`,e)},onBody:t=>{e.push(n.Buffer.from(t))},onComplete:()=>{e.complete=!0,e.push(null)}});this.socket.on(`data`,e=>{this._aborted||t.execute(e)}),this.socket.on(`end`,()=>{t.finish()}),this.socket.on(`close`,()=>{this.emit(`close`)})}abort(){this._aborted||(this._aborted=!0,this.aborted=!0,this.emit(`abort`),this.socket.destroy())}destroy(e){return this._aborted?this:(this._aborted=!0,this.socket.destroy(e),super.destroy(e),this)}end(e,t,n){return this._aborted?this:super.end(e,t,n)}_writeToSocket(e,t){if(this._aborted){t();return}super._writeToSocket(e,t)}setTimeout(e,t){return this.socket.setTimeout(e,t),this}setNoDelay(e){this.socket.setNoDelay(e)}setSocketKeepAlive(e,t){this.socket.setKeepAlive(e,t)}},C=class extends t.t{constructor(e,t){let n={},r=t;typeof e==`function`?r=e:e&&(n=e),super(n),r&&this.on(`request`,r),this.on(`connection`,e=>this._handleConnection(e))}_handleConnection(e){let t=null,r=new g(`request`,{onHeaders:n=>{t=new v(e),t._applyHead(n),n.method===`HEAD`&&(r.skipBody=!0);let i=new b(t),a=String(n.headers.connection??``).toLowerCase();i._keepAlive=n.httpVersionMinor>=1?a!==`close`:a===`keep-alive`,i.on(`finish`,()=>{i._keepAlive||e.end()}),this.emit(`request`,t,i)},onBody:e=>{t?.push(n.Buffer.from(e))},onComplete:()=>{t&&(t.complete=!0,t.push(null)),t=null}});e.on(`data`,e=>r.execute(e)),e.on(`end`,()=>{r.finish(),t&&t.push(null)}),e.on(`error`,t=>this.emit(`clientError`,t,e))}},w=new Proxy(C,{apply:(e,t,n)=>new e(...n)}),T=class{maxSockets;maxFreeSockets;keepAlive;options;constructor(e={}){this.options=e,this.keepAlive=!!e.keepAlive,this.maxSockets=e.maxSockets??1/0,this.maxFreeSockets=e.maxFreeSockets??256}getName(e={}){return`${e.host??`localhost`}:${e.port??``}:${e.localAddress??``}`}destroy(){}},E=new T,D=(...e)=>{let{options:t,callback:n}=x(...e);return new S(t,n)},O=(...e)=>{let t=D(...e);return t.end(),t},k=(e,t)=>new w(e,t),A={METHODS:o,STATUS_CODES:s,Agent:T,globalAgent:E,Server:w,ServerResponse:b,IncomingMessage:v,ClientRequest:S,OutgoingMessage:y,createServer:k,request:D,get:O};exports.Agent=T,exports.ClientRequest=S,exports.HTTPParser=g,exports.IncomingMessage=v,exports.METHODS=o,exports.STATUS_CODES=s,exports.Server=w,exports.ServerResponse=b,exports._default=A,exports.default=A,exports.createServer=k,exports.get=O,exports.globalAgent=E,exports.request=D,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
package/http.js CHANGED
@@ -1,7 +1,5 @@
1
- import { n as e } from "./chunk-CPXzm0be.js";
2
- import "./api-ByfayMm1.js";
3
- import "./utils-CNydj3OT.js";
4
- import { n as t, t as n } from "./net-Bl6_W3bd.js";
1
+ import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
+ import { n as t, t as n } from "./net-DKMWPXb_.js";
5
3
  import { Buffer as r } from "buffer";
6
4
  import { Stream as i } from "stream";
7
5
  //#region src/lib/webvpn/http.ts
@@ -84,7 +82,7 @@ var a = /* @__PURE__ */ e({
84
82
  509: "Bandwidth Limit Exceeded",
85
83
  510: "Not Extended",
86
84
  511: "Network Authentication Required"
87
- }, l = new Set([
85
+ }, l = /* @__PURE__ */ new Set([
88
86
  "content-type",
89
87
  "content-length",
90
88
  "user-agent",
@@ -115,7 +113,9 @@ var a = /* @__PURE__ */ e({
115
113
  for (let t = 0; t + 3 < e.length; t++) if (e[t] === u && e[t + 1] === d && e[t + 2] === u && e[t + 3] === d) return t;
116
114
  return -1;
117
115
  }, _ = class {
118
- buf = new Uint8Array();
116
+ mode;
117
+ handlers;
118
+ buf = /* @__PURE__ */ new Uint8Array();
119
119
  state = "HEAD";
120
120
  framing = "none";
121
121
  bodyRemaining = 0;
@@ -210,7 +210,7 @@ var a = /* @__PURE__ */ e({
210
210
  let e = Math.min(this.bodyRemaining, this.buf.length);
211
211
  return this.handlers.onBody(this.buf.subarray(0, e)), this.buf = this.buf.subarray(e), this.bodyRemaining -= e, this.bodyRemaining === 0;
212
212
  }
213
- return this.framing === "eof" ? (this.buf.length > 0 && (this.handlers.onBody(this.buf), this.buf = new Uint8Array()), !1) : this.framing === "chunked" ? this.consumeChunked() : !0;
213
+ return this.framing === "eof" ? (this.buf.length > 0 && (this.handlers.onBody(this.buf), this.buf = /* @__PURE__ */ new Uint8Array()), !1) : this.framing === "chunked" ? this.consumeChunked() : !0;
214
214
  }
215
215
  consumeChunked() {
216
216
  for (;;) if (this.chunkState === "size") {
package/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./locator-CHfEe3Jv.cjs`),t=require(`./extension-DAiRg5ny.cjs`),n=require(`./api-CDb2pv7C.cjs`);require(`./proxy-A9UvWUaF.cjs`);const r=require(`./cloud-CWg9zCWm.cjs`),i=require(`./dns.cjs`);require(`./node-fs-DQn1TGJz.cjs`),require(`./storage-C2-_-bTO.cjs`),require(`./utils-BsNRWMfl.cjs`);const a=require(`./net-C5kWnI4C.cjs`),o=require(`./dgram-B3WC4VdJ.cjs`),s=require(`./http.cjs`),c=require(`./desktop.cjs`),l=require(`./fs-DI1maxcZ.cjs`),u=require(`./opfs.cjs`),d=require(`./account.cjs`),f=require(`./connect-button-poDZVmq2.cjs`);let p=require(`osra`);var m=`https://fkn.app`,h=(e,t)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);if(!n.r?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,p.relay)({receive:window,emit:n.r.contentWindow},e,{key:`fkn-api`,originA:t?.originA??m,originB:t?.originB??`*`,unregisterSignal:t?.unregisterSignal})},g=async()=>typeof window>`u`?!1:(await n.t).connect.prompt(location.origin).catch(()=>!1);exports.ATTACH_FRAME_EVENT_KEY=t.o,Object.defineProperty(exports,`account`,{enumerable:!0,get:function(){return d.t}}),exports.assertAttachableFrameUrl=t.s,exports.assertFetchableUrl=t.y,exports.assertLockdownApplicable=t.c,exports.attachFrame=t.l,exports.attachFramePermission=t.u,exports.box=e.u,Object.defineProperty(exports,`cloud`,{enumerable:!0,get:function(){return r.n}}),exports.connect=g,exports.connectButtonUrl=f.t,exports.cookies=t._,exports.createVideoElementHandle=e.d,Object.defineProperty(exports,`desktop`,{enumerable:!0,get:function(){return c.t}}),Object.defineProperty(exports,`dgram`,{enumerable:!0,get:function(){return o.i}}),Object.defineProperty(exports,`dns`,{enumerable:!0,get:function(){return i.t}}),exports.evaluatePermission=t.d,Object.defineProperty(exports,`extension`,{enumerable:!0,get:function(){return t.t}}),exports.fetch=t.n,exports.fetchCredentialedPermission=t.x,exports.fetchLocalPermission=t.S,exports.fetchPermission=t.C,Object.defineProperty(exports,`fs`,{enumerable:!0,get:function(){return l.c}}),exports.gotoPermission=t.f,exports.handleRevivableModules=e.l,Object.defineProperty(exports,`http`,{enumerable:!0,get:function(){return s.t}}),exports.isBlockedFetchUrl=t.w,exports.isBlockedFrameUrl=t.p,exports.isExtensionExposed=t.D,exports.isLocalNetworkUrl=t.T,exports.isType=e.f,exports.modifyRequestHeadersPermission=t.m,Object.defineProperty(exports,`net`,{enumerable:!0,get:function(){return a.s}}),Object.defineProperty(exports,`opfs`,{enumerable:!0,get:function(){return u.t}}),exports.permissions=t.a,exports.promptInstall=t.i,exports.readCookiePermission=t.v,exports.relayWorker=h,exports.removeRequestHeaderRule=t.h,exports.revive=e.p,exports.setMissingExtensionHandler=t.O,exports.setRequestHeaderRule=t.g,exports.type=e.m,exports.waitForExtensionExposure=t.k;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-bPaU3-Cz.cjs"),t=require("./api-DD5v1qP9.cjs"),n=require("./cloud-5o7yJHeX.cjs"),r=require("./dns.cjs"),i=require("./net-CpuAhaQC.cjs"),a=require("./dgram-CE43gJq9.cjs"),o=require("./http.cjs"),s=require("./extension-D-NUXxzF.cjs"),c=require("./desktop.cjs"),l=require("./fs-BfmfMBiw.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=t=>s.r()||t.syncCookies!==!1?e.a(t):n.i(t),g=`https://fkn.app`,_=(e,n)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);if(!t.r?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,m.relay)({receive:window,emit:t.r.contentWindow},e,{key:`fkn-api`,originA:n?.originA??g,originB:n?.originB??`*`,unregisterSignal:n?.unregisterSignal})},v=async()=>typeof window>`u`?!1:(await t.t).connect.prompt(location.origin).catch(()=>!1);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=h,exports.attachFramePermission=e.o,exports.box=e.R,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=v,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.c}}),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.readCookiePermission=e.T,exports.relayWorker=_,exports.removeRequestHeaderRule=e.S,exports.revive=e.V,exports.setMissingExtensionHandler=e.F,exports.setRequestHeaderRule=e.C,exports.type=e.H,exports.waitForExtensionExposure=e.I;
package/index.js CHANGED
@@ -1,34 +1,31 @@
1
- import { d as e, f as t, l as n, m as r, p as i, u as a } from "./locator-9s7jNIA2.js";
2
- import { C as o, D as s, O as c, S as l, T as u, _ as d, a as f, c as p, d as m, f as h, g, h as _, i as v, k as y, l as b, m as x, n as S, o as C, p as w, s as T, t as E, u as D, v as O, w as k, x as A, y as j } from "./extension-BLkZiaAP.js";
3
- import { r as M, t as N } from "./api-ByfayMm1.js";
4
- import "./proxy-wiZN4eTR.js";
5
- import { n as P } from "./cloud-eLyGYzbA.js";
6
- import { t as F } from "./dns.js";
7
- import "./node-fs-CdKPXPtW.js";
8
- import "./storage-BcJfnkm3.js";
9
- import "./utils-CNydj3OT.js";
10
- import { s as I } from "./net-Bl6_W3bd.js";
11
- import { i as L } from "./dgram-c_Xk7ckJ.js";
12
- import { t as R } from "./http.js";
13
- import { t as z } from "./desktop.js";
14
- import { c as B } from "./fs-BQs-x3_j.js";
15
- import { t as V } from "./opfs.js";
16
- import { t as H } from "./account.js";
17
- import { t as U } from "./connect-button-B_63ldmg.js";
18
- import { relay as W } from "osra";
19
- //#region src/lib/relay.ts
20
- var G = "https://fkn.app", K = (e, t) => {
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-C8SG1Beo.js";
2
+ import { r as k, t as A } from "./api--bnCFd4w.js";
3
+ import { i as j, n as M } from "./cloud-BFyf2uC7.js";
4
+ import { t as N } from "./dns.js";
5
+ import { s as P } from "./net-DKMWPXb_.js";
6
+ import { i as F } from "./dgram-wtjARbt0.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-CPj10qwa.js";
9
+ import { t as V } from "./desktop.js";
10
+ import { c as H } from "./fs-D6nNf1mR.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";
16
+ //#region src/lib/frame.ts
17
+ var J = (e) => z() || e.syncCookies !== !1 ? h(e) : j(e), Y = "https://fkn.app", X = (e, t) => {
21
18
  if (typeof window > "u") throw Error("FKN @fkn/lib: relayWorker must be called from the main thread");
22
- if (!M?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
23
- W({
19
+ if (!k?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
20
+ q({
24
21
  receive: window,
25
- emit: M.contentWindow
22
+ emit: k.contentWindow
26
23
  }, e, {
27
24
  key: "fkn-api",
28
- originA: t?.originA ?? G,
25
+ originA: t?.originA ?? Y,
29
26
  originB: t?.originB ?? "*",
30
27
  unregisterSignal: t?.unregisterSignal
31
28
  });
32
- }, q = async () => typeof window > "u" ? !1 : (await N).connect.prompt(location.origin).catch(() => !1);
29
+ }, Z = async () => typeof window > "u" ? !1 : (await A).connect.prompt(location.origin).catch(() => !1);
33
30
  //#endregion
34
- export { C as ATTACH_FRAME_EVENT_KEY, H as account, T as assertAttachableFrameUrl, j as assertFetchableUrl, p as assertLockdownApplicable, b as attachFrame, D as attachFramePermission, a as box, P as cloud, q as connect, U as connectButtonUrl, d as cookies, e as createVideoElementHandle, z as desktop, L as dgram, F as dns, m as evaluatePermission, E as extension, S as fetch, A as fetchCredentialedPermission, l as fetchLocalPermission, o as fetchPermission, B as fs, h as gotoPermission, n as handleRevivableModules, R as http, k as isBlockedFetchUrl, w as isBlockedFrameUrl, s as isExtensionExposed, u as isLocalNetworkUrl, t as isType, x as modifyRequestHeadersPermission, I as net, V as opfs, f as permissions, v as promptInstall, O as readCookiePermission, K as relayWorker, _ as removeRequestHeaderRule, i as revive, c as setMissingExtensionHandler, g as setRequestHeaderRule, r as type, y as waitForExtensionExposure };
31
+ export { v as ATTACH_FRAME_EVENT_KEY, G as account, x as assertAttachableFrameUrl, r as assertFetchableUrl, T as assertLockdownApplicable, J as attachFrame, S as attachFramePermission, d as box, M as cloud, Z 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, p as readCookiePermission, X as relayWorker, f as removeRequestHeaderRule, m as revive, i as setMissingExtensionHandler, n as setRequestHeaderRule, a as type, o as waitForExtensionExposure };
@@ -1,4 +1,4 @@
1
- type AccountInfo = {
1
+ export type AccountInfo = {
2
2
  /** the account's display name (a username, not necessarily a real name) */
3
3
  name: string;
4
4
  /** profile image URL, or null if none is set */
@@ -8,10 +8,7 @@ type AccountInfo = {
8
8
  /** when the current subscription lapses, as a ms epoch, or null when not subscribed */
9
9
  premiumUntil: number | null;
10
10
  };
11
- declare const login: () => Promise<boolean>;
12
- declare const logout: () => Promise<void>;
13
- declare const info: () => Promise<AccountInfo | null>;
14
- declare const onChange: (callback: () => void) => Promise<() => void>;
15
-
16
- export { info, login, logout, onChange };
17
- export type { AccountInfo };
11
+ export declare const login: () => Promise<boolean>;
12
+ export declare const logout: () => Promise<void>;
13
+ export declare const info: () => Promise<AccountInfo | null>;
14
+ export declare const onChange: (callback: () => void) => Promise<() => void>;
package/lib/api.d.ts ADDED
@@ -0,0 +1,300 @@
1
+ export type { Resolvers } from '../api';
2
+ export declare const hasTransport: boolean;
3
+ export declare const apiPromise: Promise<{
4
+ readonly cloud: {
5
+ readonly fetch: (input: string | Request | URL, init?: (RequestInit & {
6
+ render?: boolean;
7
+ }) | undefined) => Promise<Response>;
8
+ readonly quota: () => Promise<{
9
+ overQuota: boolean;
10
+ remaining: number;
11
+ usedBytes: number;
12
+ limitBytes: number;
13
+ premium: boolean;
14
+ bytesPerSecond: number;
15
+ }>;
16
+ readonly dns: {
17
+ readonly lookup: (hostname: string, options?: {
18
+ all?: boolean | undefined;
19
+ family?: 0 | 4 | 6;
20
+ } | undefined) => Promise<{
21
+ address: string;
22
+ family: 0 | 4 | 6;
23
+ }[] | {
24
+ address: string;
25
+ family: 0 | 4 | 6;
26
+ } | undefined>;
27
+ };
28
+ readonly fs: {
29
+ readonly available: () => Promise<boolean>;
30
+ readonly list: () => Promise<{
31
+ path: string;
32
+ size: number;
33
+ contentType: string | null;
34
+ updatedAt: string;
35
+ }[]>;
36
+ readonly quota: () => Promise<{
37
+ usedBytes: number;
38
+ limitBytes: number;
39
+ remaining: number;
40
+ objects: number;
41
+ maxObjects: number;
42
+ }>;
43
+ readonly readFile: (path: string) => Promise<Uint8Array<ArrayBufferLike>>;
44
+ readonly writeFile: (path: string, data: import("../api/storage").WriteData, contentType: string | null) => Promise<void>;
45
+ readonly remove: (path: string) => Promise<void>;
46
+ };
47
+ readonly webvpn: {
48
+ readonly tcpSocket: (args_0: {
49
+ remoteAddress: string;
50
+ remotePort: number;
51
+ }) => Promise<{
52
+ localAddress: string;
53
+ localFamily: 'IPv4' | 'IPv6';
54
+ localPort: number;
55
+ remoteAddress: string;
56
+ remoteFamily: 'IPv4' | 'IPv6';
57
+ remotePort: number;
58
+ dataReadableStream: ReadableStream<Uint8Array>;
59
+ dataWritableStream: WritableStream<Uint8Array>;
60
+ end: () => Promise<void>;
61
+ destroy: () => Promise<void>;
62
+ destroySoon: () => Promise<void>;
63
+ resetAndDestroy: () => Promise<void>;
64
+ setOption: (option: import("../api/webvpn/tcp").TcpSocketOption) => Promise<void>;
65
+ }>;
66
+ readonly tcpSocketListener: (args_0: {
67
+ localAddress: string;
68
+ localPort: number;
69
+ onConnection: (connection: import("../api/webvpn/tcp").TcpSocketResult) => void;
70
+ }) => Promise<{
71
+ localAddress: string;
72
+ localFamily: "IPv4" | "IPv6";
73
+ localPort: number;
74
+ close: () => Promise<void>;
75
+ }>;
76
+ readonly udpSocket: (args_0: {
77
+ type: 'udp4' | 'udp6';
78
+ port: number;
79
+ address: string;
80
+ dataPort?: boolean;
81
+ }) => Promise<{
82
+ socketId: number;
83
+ dataPort: MessagePort | undefined;
84
+ localAddress: string;
85
+ localFamily: "IPv4" | "IPv6";
86
+ localPort: number;
87
+ dataReadableStream: ReadableStream<{
88
+ data: ArrayBuffer;
89
+ size: number;
90
+ family: 'IPv4' | 'IPv6';
91
+ address: string;
92
+ port: number;
93
+ }>;
94
+ connect: (args_0: {
95
+ remoteAddress: string;
96
+ remotePort: number;
97
+ }) => Promise<void>;
98
+ send: (args_0: {
99
+ message: ArrayBuffer;
100
+ address?: string;
101
+ port?: number;
102
+ }) => Promise<void>;
103
+ close: () => Promise<void>;
104
+ setOption: (option: import("../api/webvpn/udp").UdpSocketOption) => Promise<void>;
105
+ }>;
106
+ };
107
+ };
108
+ readonly overlay: {
109
+ readonly setHost: (push: (state: {
110
+ modal: boolean;
111
+ rects: {
112
+ x: number;
113
+ y: number;
114
+ width: number;
115
+ height: number;
116
+ }[];
117
+ }) => unknown) => Promise<void>;
118
+ };
119
+ readonly installPrompt: {
120
+ readonly show: (reason?: string | undefined) => Promise<void>;
121
+ readonly hide: () => Promise<void>;
122
+ };
123
+ readonly connect: {
124
+ readonly prompt: (consumerOrigin: string) => Promise<boolean>;
125
+ };
126
+ readonly packages: {
127
+ search: (query: import("./packages").PackageQuery) => Promise<{
128
+ error: import("./packages").PackagesErrorCode;
129
+ message: string;
130
+ } | {
131
+ results: {
132
+ uri: string;
133
+ origin: 'npm';
134
+ name: string;
135
+ version: string;
136
+ description: string;
137
+ keywords: string[];
138
+ publisher: string | null;
139
+ downloadsMonthly: number | null;
140
+ links: {
141
+ npm?: string;
142
+ homepage?: string;
143
+ repository?: string;
144
+ };
145
+ installed: boolean;
146
+ }[];
147
+ }>;
148
+ pick: (query: import("./packages").PackageQuery, options?: import("./packages").PickOptions | undefined) => Promise<{
149
+ error: import("./packages").PackagesErrorCode;
150
+ message: string;
151
+ } | {
152
+ results: {
153
+ uri: string;
154
+ origin: 'npm';
155
+ name: string;
156
+ version: string;
157
+ description: string;
158
+ keywords: string[];
159
+ publisher: string | null;
160
+ downloadsMonthly: number | null;
161
+ links: {
162
+ npm?: string;
163
+ homepage?: string;
164
+ repository?: string;
165
+ };
166
+ installed: boolean;
167
+ }[];
168
+ failed: string[];
169
+ } | {
170
+ declined: true;
171
+ }>;
172
+ install: (uri: string, options?: import("./packages").InstallOptions | undefined) => Promise<{
173
+ error: import("./packages").PackagesErrorCode;
174
+ message: string;
175
+ } | {
176
+ installed: {
177
+ uri: string;
178
+ name: string;
179
+ version: string;
180
+ installedAt: number;
181
+ };
182
+ } | {
183
+ declined: true;
184
+ }>;
185
+ list: () => Promise<{
186
+ results: {
187
+ uri: string;
188
+ name: string;
189
+ version: string;
190
+ installedAt: number;
191
+ }[];
192
+ }>;
193
+ uninstall: (uri: string) => Promise<{
194
+ error: import("./packages").PackagesErrorCode;
195
+ message: string;
196
+ } | {
197
+ ok: true;
198
+ }>;
199
+ connect: (uri: string, options?: import("./packages").ConnectOptions | undefined) => Promise<{
200
+ error: import("./packages").PackagesErrorCode;
201
+ message: string;
202
+ } | {
203
+ port: MessagePort;
204
+ closed: Promise<void>;
205
+ }>;
206
+ };
207
+ readonly account: {
208
+ readonly info: () => Promise<{
209
+ name: string;
210
+ image: string | null;
211
+ premium: boolean;
212
+ premiumUntil: string | null;
213
+ } | null>;
214
+ readonly login: (consumerOrigin: string) => Promise<boolean>;
215
+ readonly logout: () => Promise<void>;
216
+ readonly onChange: (listener: () => void) => Promise<() => Promise<void>>;
217
+ };
218
+ readonly proxyFetch: (input: string | Request | URL, init?: (RequestInit & {
219
+ render?: boolean;
220
+ }) | undefined) => Promise<Response>;
221
+ readonly webVpnTcpSocket: (args_0: {
222
+ remoteAddress: string;
223
+ remotePort: number;
224
+ }) => Promise<{
225
+ localAddress: string;
226
+ localFamily: 'IPv4' | 'IPv6';
227
+ localPort: number;
228
+ remoteAddress: string;
229
+ remoteFamily: 'IPv4' | 'IPv6';
230
+ remotePort: number;
231
+ dataReadableStream: ReadableStream<Uint8Array>;
232
+ dataWritableStream: WritableStream<Uint8Array>;
233
+ end: () => Promise<void>;
234
+ destroy: () => Promise<void>;
235
+ destroySoon: () => Promise<void>;
236
+ resetAndDestroy: () => Promise<void>;
237
+ setOption: (option: import("../api/webvpn/tcp").TcpSocketOption) => Promise<void>;
238
+ }>;
239
+ readonly webVpnTcpSocketListener: (args_0: {
240
+ localAddress: string;
241
+ localPort: number;
242
+ onConnection: (connection: import("../api/webvpn/tcp").TcpSocketResult) => void;
243
+ }) => Promise<{
244
+ localAddress: string;
245
+ localFamily: "IPv4" | "IPv6";
246
+ localPort: number;
247
+ close: () => Promise<void>;
248
+ }>;
249
+ readonly webVpnUdpSocket: (args_0: {
250
+ type: 'udp4' | 'udp6';
251
+ port: number;
252
+ address: string;
253
+ dataPort?: boolean;
254
+ }) => Promise<{
255
+ socketId: number;
256
+ dataPort: MessagePort | undefined;
257
+ localAddress: string;
258
+ localFamily: "IPv4" | "IPv6";
259
+ localPort: number;
260
+ dataReadableStream: ReadableStream<{
261
+ data: ArrayBuffer;
262
+ size: number;
263
+ family: 'IPv4' | 'IPv6';
264
+ address: string;
265
+ port: number;
266
+ }>;
267
+ connect: (args_0: {
268
+ remoteAddress: string;
269
+ remotePort: number;
270
+ }) => Promise<void>;
271
+ send: (args_0: {
272
+ message: ArrayBuffer;
273
+ address?: string;
274
+ port?: number;
275
+ }) => Promise<void>;
276
+ close: () => Promise<void>;
277
+ setOption: (option: import("../api/webvpn/udp").UdpSocketOption) => Promise<void>;
278
+ }>;
279
+ readonly dnsLookup: (hostname: string, options?: {
280
+ all?: boolean | undefined;
281
+ family?: 0 | 4 | 6;
282
+ } | undefined) => Promise<{
283
+ address: string;
284
+ family: 0 | 4 | 6;
285
+ }[] | {
286
+ address: string;
287
+ family: 0 | 4 | 6;
288
+ } | undefined>;
289
+ readonly setOverlayHost: (push: (state: {
290
+ modal: boolean;
291
+ rects: {
292
+ x: number;
293
+ y: number;
294
+ width: number;
295
+ height: number;
296
+ }[];
297
+ }) => unknown) => Promise<void>;
298
+ readonly showInstallPrompt: (reason?: string | undefined) => Promise<void>;
299
+ readonly hideInstallPrompt: () => Promise<void>;
300
+ }>;
package/lib/auto.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare const isExtensionAvailable: () => boolean;
2
+ export declare const fetch: (input: RequestInfo | URL, init?: RequestInit & {
3
+ reason?: string;
4
+ render?: boolean;
5
+ }) => Promise<Response>;
@@ -0,0 +1,2 @@
1
+ export * from '../webvpn/dgram';
2
+ export { default } from '../webvpn/dgram';
@@ -0,0 +1 @@
1
+ export * from '../dns';
@@ -0,0 +1,3 @@
1
+ import type { AttachFrameOptions, Frame } from '@mfkn/web-extension';
2
+ export declare const attachFrame: ({ iframe, domains, syncCookies, lockdown }: AttachFrameOptions) => Promise<Frame>;
3
+ export declare const available: () => boolean;
@@ -0,0 +1,5 @@
1
+ export declare const readFile: (path: import("node:fs").PathLike, options?: import("../node-fs/shared").ReadOptions) => Promise<Buffer | string>, writeFile: (path: import("node:fs").PathLike, data: import("../node-fs/shared").WriteData, options?: import("../node-fs/shared").WriteOptions) => Promise<void>, unlink: (path: import("node:fs").PathLike) => Promise<void>, rename: (from: import("node:fs").PathLike, to: import("node:fs").PathLike) => Promise<void>, readdir: (path: import("node:fs").PathLike) => Promise<string[]>, mkdir: (_path?: import("node:fs").PathLike, _options?: import("../node-fs/shared").MakeOptions) => Promise<void>, rm: (path: import("node:fs").PathLike, options?: {
2
+ recursive?: boolean;
3
+ }) => Promise<void>, rmdir: (path: import("node:fs").PathLike, options?: {
4
+ recursive?: boolean;
5
+ }) => Promise<void>, stat: (path: import("node:fs").PathLike) => Promise<import("./fs").Stats>, lstat: (path: import("node:fs").PathLike) => Promise<import("./fs").Stats>, access: (path: import("node:fs").PathLike) => Promise<void>;