@fkn/lib 0.9.4 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/account.cjs +1 -1
- package/account.js +1 -1
- package/{api-BFqrrvzI.d.ts → api-9O1SM4CR.d.ts} +155 -77
- package/{api-Bhz3iB9m.js → api-BU8zNmQI.js} +54 -17
- package/{api-C75xqLFy.cjs → api-C9Mh5v0z.cjs} +1 -1
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/fetch.cjs +1 -0
- package/cloud/fetch.d.ts +2 -0
- package/cloud/fetch.js +2 -0
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +1 -1
- package/cloud/net.cjs +1 -1
- package/cloud/net.d.ts +1 -1
- package/cloud/net.js +1 -1
- package/cloud-DZzkfeQi.cjs +1 -0
- package/cloud-OAvwgd_r.js +283 -0
- package/{cloud-CAOIpDIH.d.ts → cloud-wrRNWHAn.d.ts} +4 -9
- package/cloud.cjs +1 -1
- package/cloud.d.ts +3 -2
- package/cloud.js +4 -4
- package/{dgram-D4JF_XW7.js → dgram-DNbgOMoK.js} +1 -1
- package/{dgram-C2LmoO0A.cjs → dgram-ocGNUMpo.cjs} +1 -1
- package/dgram.cjs +1 -1
- package/dgram.d.ts +1 -1
- package/dgram.js +1 -1
- package/dns.cjs +1 -1
- package/dns.js +1 -1
- package/extension-B0qU5XuR.d.ts +16 -0
- package/extension-DQZmGSuX.js +78 -0
- package/extension-DmKxv-br.cjs +1 -0
- package/extension.cjs +1 -1
- package/extension.d.ts +3 -3
- package/extension.js +3 -3
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-Bghx-1Hy.js → fs-BYMGoFir.js} +2 -2
- package/{fs-BXcz3BjJ.cjs → fs-D-pDr8fW.cjs} +1 -1
- package/fs.cjs +1 -1
- package/fs.js +1 -1
- package/http.cjs +1 -1
- package/http.d.ts +2 -1
- package/http.js +1 -1
- package/{index-pr5vLVVT.d.ts → index-DQfP-Uhy.d.ts} +29 -22
- package/index.cjs +1 -1
- package/index.d.ts +6 -6
- package/index.js +29 -28
- package/{proxy-Bhk4X3xo.js → lib-BcEnB4iV.js} +353 -644
- package/lib-CQqdCndr.cjs +31 -0
- package/{net-MbSFrO35.d.ts → net-BDjZxAEZ.d.ts} +1 -3
- package/{net-BgQYnATG.js → net-Bi82weSE.js} +1 -1
- package/{net-zOx2OVGc.cjs → net-uN5eXX3L.cjs} +1 -1
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +7 -2
- package/{packages-CErlrrLB.d.ts → packages-CSZGUtem.d.ts} +20 -7
- package/packages.cjs +1 -1
- package/packages.d.ts +1 -1
- package/packages.js +1 -1
- package/proxy-CMtPeuvd.js +43 -0
- package/proxy-DbcJMUcm.cjs +1 -0
- package/proxy-pCTWR0E6.d.ts +8 -0
- package/{storage-D01O3zky.js → storage-BVWaXq8X.js} +1 -1
- package/{storage-a3OhXFv2.cjs → storage-DG1Ac1FK.cjs} +1 -1
- package/cloud-BeHgCa_z.js +0 -129
- package/cloud-Cd6TzZXd.cjs +0 -1
- package/extension-C46Rp-qr.js +0 -73
- package/extension-CkPvwol3.cjs +0 -1
- package/extension-D7SSKewV.d.ts +0 -16
- package/proxy-BEz2K6e4.cjs +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./storage-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./storage-DG1Ac1FK.cjs"),r=require("./opfs-CXMESVLc.cjs");var i=e.t({adopt:()=>E,adoptable:()=>D,available:()=>c,list:()=>ie,onConflict:()=>le,pending:()=>te,pendingDeletes:()=>ne,pull:()=>ce,readFile:()=>ae,remove:()=>se,replicating:()=>x,writeFile:()=>oe}),a,o=async()=>await(a??=r.t().catch(()=>!1))?!0:(a=void 0,!1),s=()=>n.n().catch(()=>!1),c=async()=>await o()||await s(),l=`fkn:fs:pending`,u=`fkn:fs:pending-delete`,d=`fkn:fs:adopt-declined`,f=!0,p=new Map,m=e=>{try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return Array.isArray(n)?Object.fromEntries(n.filter(e=>typeof e==`string`).map(e=>[e,null])):n&&typeof n==`object`?n:{}}catch{return{}}},h=(e,t)=>{try{Object.keys(t).length?localStorage.setItem(e,JSON.stringify(t)):localStorage.removeItem(e)}catch{}},g=()=>m(l),_=e=>{let t=g();e in t||(t[e]=p.get(e)??null,h(l,t))},v=e=>{let t=g();e in t&&(delete t[e],h(l,t))},y=()=>m(u),ee=e=>{let t=y();e in t||(t[e]=p.get(e)??null,h(u,t))},b=e=>{let t=y();e in t&&(delete t[e],h(u,t))},te=()=>Object.keys(g()),ne=()=>Object.keys(y()),x=()=>f,S=null,re=null,C=()=>re??=Promise.resolve().then(()=>require("./api-C9Mh5v0z.cjs")).then(e=>e.n).then(e=>e.apiPromise),ie=async()=>{he();let e=await s(),[t,i]=await Promise.all([o().then(e=>e?r.n():[]).catch(()=>[]),e?n.i().then(e=>({ok:!0,entries:e})).catch(()=>({ok:!1,entries:[]})):Promise.resolve({ok:!0,entries:[]})]);f=i.ok,i.ok&&(p=new Map(i.entries.map(e=>[e.path,e.updatedAt])));let a=new Map,c=e=>{let t=Date.parse(e.updatedAt??``);return Number.isFinite(t)?t:0},l=e=>{let t=a.get(e.path);(!t||c(e)>=c(t))&&a.set(e.path,e)};for(let e of t)l(e);for(let e of i.entries)l(e);if(i.ok&&e){me(t,i.entries).catch(()=>{});let e=Object.keys(g()).length||Object.keys(y()).length;e&&!S?S=T(!1).catch(()=>{}).finally(()=>{S=null}):e||k({local:t,remote:i.entries}).catch(()=>{})}return[...a.values()]},ae=async e=>{if(await o())try{return await r.i(e)}catch(e){if(e?.name!==`NotFoundError`)throw e}let t=await n.o(e);return await o()&&r.o(e,t).catch(()=>{}),t},oe=async(e,t,i)=>{let a=t instanceof Blob?t:new Blob([t],i?.contentType?{type:i.contentType}:void 0);if(await o()){if(await r.o(e,a,i),!await s())return;if(!f){_(e);return}n.u(e,a,i).then(()=>v(e)).catch(t=>{_(e),console.warn(`fs: cloud replicate failed, queued for adopt()`,t)});return}if(await s())return n.u(e,a,i);throw Error(`fs: no storage backend available`)},se=async e=>{let t=[];await o()&&t.push(r.a(e).catch(()=>{}));let i=await s();if(i&&t.push(n.s(e).then(()=>b(e)).catch(t=>{ee(e),console.warn(`fs: cloud delete failed, queued for retry`,t)})),!t.length)throw Error(`fs: no storage backend available`);i&&v(e),await Promise.all(t)},ce=async e=>{let t=await n.o(e);return await o()&&await r.o(e,t),t},w=null,le=e=>(w=e,()=>{w===e&&(w=null)}),ue=async e=>(await C()).cloud.fs.promptConflict({path:e.path,local:e.local,cloud:e.cloud}).catch(()=>null),de=async e=>{if(w)try{return await w(e)}catch{return null}return ue(e)},T=async e=>{let t={uploaded:[],kept:[],resolved:[],unresolved:[],deleted:[],failed:[]};if(!await s())throw Error(`fs: this needs a signed-in account`);if(!await o())return t;let[i,a]=await Promise.all([r.n(),n.i()]),c=new Map(a.map(e=>[e.path,e])),l=g();for(let[e,r]of Object.entries(y())){let a=c.get(e);if(!a){b(e);continue}if(i.some(t=>t.path===e)){b(e);continue}if(a.updatedAt!==r){b(e);continue}try{await n.s(e),b(e),t.deleted.push(e)}catch(n){t.failed.push({path:e,error:n instanceof Error?n.message:String(n)})}}for(let a of i){let i=c.get(a.path),o=a.path in l;if(!o&&(i||!e)){i&&t.kept.push(a.path);continue}if(o&&i&&i.updatedAt!==l[a.path]){let e=await de({path:a.path,local:{size:a.size,updatedAt:a.updatedAt},cloud:{size:i.size,updatedAt:i.updatedAt},readLocal:()=>r.i(a.path),readCloud:()=>n.o(a.path)});if(!e){t.unresolved.push(a.path);continue}try{if(e===`cloud`)await r.o(a.path,await n.o(a.path));else{let t=e===`local`?await r.i(a.path):e.merged;await n.u(a.path,t,a.contentType?{contentType:a.contentType}:void 0),e!==`local`&&await r.o(a.path,t)}v(a.path),t.resolved.push({path:a.path,choice:e===`local`||e===`cloud`?e:`merged`})}catch(e){if(e?.code===`FKN_E2E_LOCKED`)throw e;t.failed.push({path:a.path,error:e instanceof Error?e.message:String(e)})}continue}try{let e=await r.i(a.path);await n.u(a.path,e,a.contentType?{contentType:a.contentType}:void 0),v(a.path),t.uploaded.push(a.path)}catch(e){if(_(a.path),e?.code===`FKN_E2E_LOCKED`)throw e;t.failed.push({path:a.path,error:e instanceof Error?e.message:String(e)})}}return t},E=()=>T(!0),D=async()=>{if(!await s()||!await o())return{paths:[],bytes:0};let[e,t]=await Promise.all([r.n(),n.i()]),i=new Set(t.map(e=>e.path)),a=e.filter(e=>!i.has(e.path));return{paths:a.map(e=>e.path),bytes:a.reduce((e,t)=>e+t.size,0)}},fe=()=>new Set(Object.keys(m(d))),pe=e=>{let t=m(d);for(let n of e)t[n]=null;h(d,t)},O=null,k=e=>O||(O=(async()=>{if(!await s())return;let t=e??(await o()?{local:await r.n(),remote:await n.i()}:null);if(!t)return;let i=new Set(t.remote.map(e=>e.path)),a=fe(),c=t.local.filter(e=>!i.has(e.path)&&!a.has(e.path));if(!c.length)return;let l=await C(),u=c.reduce((e,t)=>e+t.size,0);if(!await l.cloud.fs.promptAdopt({files:c.length,bytes:u}).catch(()=>!1)){pe(c.map(e=>e.path));return}await E()})().catch(()=>{}).finally(()=>{O=null}),O),me=async(e,t)=>{let n=new Set(t.map(e=>e.path)),r=e.filter(e=>!n.has(e.path)),i=await C(),a=async()=>{await E().catch(()=>{});let e=await D().catch(()=>({paths:[],bytes:0}));await i.cloud.fs.setAdoptSource({files:e.paths.length,bytes:e.bytes},a).catch(()=>{})};await i.cloud.fs.setAdoptSource({files:r.length,bytes:r.reduce((e,t)=>e+t.size,0)},a)},A=!1,he=()=>{A||typeof window>`u`||(A=!0,Promise.resolve().then(()=>require("./account.cjs")).then(e=>e.onChange(()=>{k().catch(()=>{})})).catch(()=>{}))},ge=e.t({adopt:()=>q,adoptable:()=>J,appendFile:()=>ye,appendFileSync:()=>F,available:()=>M,default:()=>$,exists:()=>Ee,existsSync:()=>I,flush:()=>G,lstatSync:()=>R,mkdir:()=>Se,mkdirSync:()=>B,mount:()=>Oe,onConflict:()=>Q,pending:()=>Y,pendingDeletes:()=>X,promises:()=>De,pull:()=>K,readFile:()=>W,readFileSync:()=>N,readdir:()=>xe,readdirSync:()=>z,remount:()=>ke,rename:()=>Te,renameSync:()=>U,replicating:()=>Z,rm:()=>Ce,rmSync:()=>V,rmdirSync:()=>_e,stat:()=>be,statSync:()=>L,unlink:()=>we,unlinkSync:()=>H,writeFile:()=>ve,writeFileSync:()=>P}),j=t.t(i,{memfs:!0}),{available:M,readFileSync:N,writeFileSync:P,appendFileSync:F,existsSync:I,statSync:L,lstatSync:R,readdirSync:z,mkdirSync:B,rmSync:V,rmdirSync:_e,unlinkSync:H,renameSync:U,readFile:W,writeFile:ve,appendFile:ye,stat:be,readdir:xe,mkdir:Se,rm:Ce,unlink:we,rename:Te,exists:Ee,promises:De,mount:Oe,flush:G,remount:ke}=j,K=ce,q=E,J=D,Y=te,X=ne,Z=x,Q=le,$={...j,pull:K,adopt:q,adoptable:J,pending:Y,pendingDeletes:X,replicating:Z,onConflict:Q};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return K}});
|
package/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-D-pDr8fW.cjs");exports.adopt=e.t,exports.adoptable=e.n,exports.appendFile=e.r,exports.appendFileSync=e.i,exports.available=e.a,exports.default=e.l,exports.exists=e.o,exports.existsSync=e.s,exports.flush=e.c,exports.lstatSync=e.d,exports.mkdir=e.f,exports.mkdirSync=e.p,exports.mount=e.m,exports.onConflict=e.h,exports.pending=e.g,exports.pendingDeletes=e._,exports.promises=e.v,exports.pull=e.y,exports.readFile=e.b,exports.readFileSync=e.x,exports.readdir=e.S,exports.readdirSync=e.C,exports.remount=e.w,exports.rename=e.T,exports.renameSync=e.E,exports.replicating=e.D,exports.rm=e.O,exports.rmSync=e.k,exports.rmdirSync=e.A,exports.stat=e.j,exports.statSync=e.M,exports.unlink=e.N,exports.unlinkSync=e.P,exports.writeFile=e.F,exports.writeFileSync=e.I;
|
package/fs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as e, C as t, D as n, E as r, F as i, I as a, M as o, N as s, O as c, P 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, j as x, k as S, l as C, m as w, n as T, o as E, p as D, r as O, s as k, t as A, v as j, w as M, x as N, y as P } from "./fs-
|
|
1
|
+
import { A as e, C as t, D as n, E as r, F as i, I as a, M as o, N as s, O as c, P 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, j as x, k as S, l as C, m as w, n as T, o as E, p as D, r as O, s as k, t as A, v as j, w as M, x as N, y as P } from "./fs-BYMGoFir.js";
|
|
2
2
|
export { A as adopt, T as adoptable, O as appendFile, b as appendFileSync, p as available, C as default, E as exists, k as existsSync, h as flush, g as lstatSync, _ as mkdir, D as mkdirSync, w as mount, y as onConflict, v as pending, f as pendingDeletes, j as promises, P as pull, m as readFile, N as readFileSync, u as readdir, t as readdirSync, M as remount, d as rename, r as renameSync, n as replicating, c as rm, S as rmSync, e as rmdirSync, x as stat, o as statSync, s as unlink, l as unlinkSync, i as writeFile, a as writeFileSync };
|
package/http.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./net-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./net-uN5eXX3L.cjs");let n=require("buffer"),r=require("stream");var i=e.t({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
|
package/http.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as Socket, t as Server$1 } from "./net-
|
|
1
|
+
import { n as Socket, t as Server$1 } from "./net-BDjZxAEZ.js";
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import { Stream } from "stream";
|
|
4
4
|
import { IncomingHttpHeaders, OutgoingHttpHeaders, RequestOptions } from "http";
|
|
@@ -68,6 +68,7 @@ declare class IncomingMessage extends Stream.Readable {
|
|
|
68
68
|
complete: boolean;
|
|
69
69
|
socket: Socket;
|
|
70
70
|
constructor(socket: Socket);
|
|
71
|
+
/** alias retained for Node compatibility */
|
|
71
72
|
get connection(): Socket;
|
|
72
73
|
_applyHead(head: ParsedHead): void;
|
|
73
74
|
_read(): void;
|
package/http.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { n as t, t as n } from "./net-
|
|
2
|
+
import { n as t, t as n } from "./net-Bi82weSE.js";
|
|
3
3
|
import { Buffer as r } from "buffer";
|
|
4
4
|
import { Stream as i } from "stream";
|
|
5
5
|
//#region src/lib/webvpn/http.ts
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { BoxBase, Capable, DefaultRevivableModules, RevivableContext, UnderlyingType } from "osra";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../web-extension/lib/lib/forgeable-headers.d.ts
|
|
4
|
+
declare const FORGEABLE_HEADERS: string[];
|
|
5
|
+
declare const hasForgedCookie: (unsafeHeaders: [string, string][] | undefined) => boolean;
|
|
6
|
+
declare const assertOneCookieIdentity: (unsafeHeaders: [string, string][] | undefined, credentials: 'include' | 'omit') => void;
|
|
7
|
+
declare const assertForgeableHeaders: (unsafeHeaders: [string, string][] | undefined) => void;
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region ../web-extension/lib/lib/fetch.d.ts
|
|
4
10
|
declare const fetchPermission: {
|
|
5
11
|
readonly scope: 'network.fetch';
|
|
6
12
|
readonly category: 'network';
|
|
@@ -43,7 +49,7 @@ declare const isBlockedFetchUrl: (raw: string) => boolean;
|
|
|
43
49
|
declare const assertFetchableUrl: (raw: string) => void;
|
|
44
50
|
declare const fetch: (input: RequestInfo | URL, init?: FetchInit) => Promise<Response>;
|
|
45
51
|
//#endregion
|
|
46
|
-
//#region
|
|
52
|
+
//#region ../web-extension/lib/lib/cookies.d.ts
|
|
47
53
|
declare const readCookiePermission: {
|
|
48
54
|
readonly scope: 'network.readCookie';
|
|
49
55
|
readonly category: 'network';
|
|
@@ -64,7 +70,7 @@ declare const cookies: {
|
|
|
64
70
|
get: (details: CookieDetails) => Promise<SiteCookie | null>;
|
|
65
71
|
};
|
|
66
72
|
//#endregion
|
|
67
|
-
//#region
|
|
73
|
+
//#region ../web-extension/lib/lib/request-rules.d.ts
|
|
68
74
|
declare const modifyRequestHeadersPermission: {
|
|
69
75
|
readonly scope: 'network.modifyRequestHeaders';
|
|
70
76
|
readonly category: 'network';
|
|
@@ -88,7 +94,7 @@ declare const setRequestHeaderRule: (rule: RequestHeaderRule) => Promise<{
|
|
|
88
94
|
}>;
|
|
89
95
|
declare const removeRequestHeaderRule: (ruleId: number) => Promise<void>;
|
|
90
96
|
//#endregion
|
|
91
|
-
//#region node_modules/@mfkn/frame-locator/lib/types.d.ts
|
|
97
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/types.d.ts
|
|
92
98
|
type ChainKind = 'element' | 'frame';
|
|
93
99
|
type SelectorPart = {
|
|
94
100
|
kind: ChainKind;
|
|
@@ -140,7 +146,7 @@ type Executor = {
|
|
|
140
146
|
stale?: Promise<void>;
|
|
141
147
|
};
|
|
142
148
|
//#endregion
|
|
143
|
-
//#region node_modules/@mfkn/frame-locator/lib/errors.d.ts
|
|
149
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/errors.d.ts
|
|
144
150
|
declare const LOCATOR_ERROR = "LocatorError";
|
|
145
151
|
declare const LOCATOR_UNSUPPORTED = "LocatorUnsupportedError";
|
|
146
152
|
declare const LOCATOR_DENIED = "LocatorDeniedError";
|
|
@@ -148,13 +154,13 @@ declare const isLocatorUnsupported: (error: unknown) => boolean;
|
|
|
148
154
|
declare const isLocatorDenied: (error: unknown) => boolean;
|
|
149
155
|
declare const isTerminalError: (error: unknown) => boolean;
|
|
150
156
|
//#endregion
|
|
151
|
-
//#region node_modules/@mfkn/frame-locator/lib/add-style-tag.d.ts
|
|
157
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/add-style-tag.d.ts
|
|
152
158
|
type AddStyleTagOptions$1 = OperationOptions & {
|
|
153
159
|
content: string;
|
|
154
160
|
noSanitize?: boolean;
|
|
155
161
|
};
|
|
156
162
|
//#endregion
|
|
157
|
-
//#region node_modules/@mfkn/frame-locator/lib/operations.d.ts
|
|
163
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/operations.d.ts
|
|
158
164
|
type PositionOptions$1 = OperationOptions & {
|
|
159
165
|
position?: {
|
|
160
166
|
x?: number;
|
|
@@ -162,7 +168,7 @@ type PositionOptions$1 = OperationOptions & {
|
|
|
162
168
|
};
|
|
163
169
|
};
|
|
164
170
|
//#endregion
|
|
165
|
-
//#region node_modules/@mfkn/frame-locator/lib/modules.d.ts
|
|
171
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/modules.d.ts
|
|
166
172
|
declare const defaultModules: {
|
|
167
173
|
readonly element: {
|
|
168
174
|
readonly selectors: {
|
|
@@ -309,7 +315,7 @@ type Extended<B extends Modules, S extends ModulesSpec> = {
|
|
|
309
315
|
frame: MergeKind<B['frame'], S['frame']>;
|
|
310
316
|
};
|
|
311
317
|
//#endregion
|
|
312
|
-
//#region node_modules/@mfkn/frame-locator/lib/chain.d.ts
|
|
318
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/chain.d.ts
|
|
313
319
|
type ArgsOf<M> = M extends {
|
|
314
320
|
resolve: (context: never, ...args: infer A) => unknown;
|
|
315
321
|
} ? A : never;
|
|
@@ -394,7 +400,7 @@ declare const isType: (value: unknown) => value is RemoteVideoElement;
|
|
|
394
400
|
declare const box: <T extends RemoteVideoElement, T2 extends RevivableContext>(value: T, context: T2) => BoxedVideoElement;
|
|
395
401
|
declare const revive: <T extends BoxedVideoElement, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
|
|
396
402
|
//#endregion
|
|
397
|
-
//#region
|
|
403
|
+
//#region ../web-extension/lib/lib/revivables/index.d.ts
|
|
398
404
|
declare const handleRevivableModules: (defaults: DefaultRevivableModules) => readonly [typeof video_d_exports, typeof import("osra/build/revivables/transfer"), typeof import("osra/build/revivables/identity"), typeof import("osra/build/revivables/array-buffer"), typeof import("osra/build/revivables/date"), typeof import("osra/build/revivables/headers"), typeof import("osra/build/revivables/error"), typeof import("osra/build/revivables/typed-array"), typeof import("osra/build/revivables/promise"), typeof import("osra/build/revivables/function"), typeof import("osra/build/revivables/message-port"), typeof import("osra/build/revivables/readable-stream"), typeof import("osra/build/revivables/writable-stream"), typeof import("osra/build/revivables/abort-signal"), typeof import("osra/build/revivables/response"), typeof import("osra/build/revivables/request"), typeof import("osra/build/revivables/map"), typeof import("osra/build/revivables/set"), typeof import("osra/build/revivables/bigint"), typeof import("osra/build/revivables/symbol"), typeof import("osra/build/revivables/event"), typeof import("osra/build/revivables/async-iterator"), {
|
|
399
405
|
readonly type: 'nonFiniteNumber';
|
|
400
406
|
readonly isType: (value: unknown) => value is number;
|
|
@@ -418,10 +424,11 @@ declare const handleRevivableModules: (defaults: DefaultRevivableModules) => rea
|
|
|
418
424
|
readonly box: (value: import("osra/build/revivables/fallbacks").Transferable, _context: import("osra").RevivableContext<any>) => import("osra/build/revivables/fallbacks").Transferable;
|
|
419
425
|
readonly revive: (value: import("osra/build/revivables/fallbacks").BoxedTransferable, _context: import("osra").RevivableContext<any>) => import("osra/build/revivables/fallbacks").Transferable;
|
|
420
426
|
}, {
|
|
421
|
-
readonly type: '
|
|
422
|
-
readonly
|
|
423
|
-
readonly
|
|
424
|
-
readonly
|
|
427
|
+
readonly type: 'blob';
|
|
428
|
+
readonly capableOnly: true;
|
|
429
|
+
readonly isType: (value: unknown) => value is Blob;
|
|
430
|
+
readonly box: (value: Blob, context: import("osra").RevivableContext<any>) => Blob;
|
|
431
|
+
readonly revive: (value: import("osra/build/revivables/fallbacks").BoxedBlob, _context: import("osra").RevivableContext<any>) => Blob;
|
|
425
432
|
}, typeof import("osra/build/revivables/event-target"), {
|
|
426
433
|
readonly type: 'unclonable';
|
|
427
434
|
readonly isType: (value: unknown) => value is never;
|
|
@@ -429,7 +436,7 @@ declare const handleRevivableModules: (defaults: DefaultRevivableModules) => rea
|
|
|
429
436
|
readonly revive: (_value: import("osra/build/revivables/fallbacks").BoxedUnclonable, _context: import("osra").RevivableContext<any>) => Record<string, never>;
|
|
430
437
|
}];
|
|
431
438
|
//#endregion
|
|
432
|
-
//#region
|
|
439
|
+
//#region ../web-extension/lib/lib/locator-modules.d.ts
|
|
433
440
|
type LocatorOptions = OperationOptions & {
|
|
434
441
|
reason?: string;
|
|
435
442
|
};
|
|
@@ -607,7 +614,7 @@ declare const locatorModules: Extended<{
|
|
|
607
614
|
}>;
|
|
608
615
|
type LocatorModules = typeof locatorModules;
|
|
609
616
|
//#endregion
|
|
610
|
-
//#region
|
|
617
|
+
//#region ../web-extension/lib/lib/frame-url.d.ts
|
|
611
618
|
declare const isBlockedFrameUrl: (raw: string) => boolean;
|
|
612
619
|
declare const assertAttachableFrameUrl: (raw: string) => void;
|
|
613
620
|
declare const assertLockdownApplicable: ({
|
|
@@ -620,7 +627,7 @@ declare const assertLockdownApplicable: ({
|
|
|
620
627
|
lockdown: boolean;
|
|
621
628
|
}) => void;
|
|
622
629
|
//#endregion
|
|
623
|
-
//#region
|
|
630
|
+
//#region ../web-extension/lib/lib/frame-core.d.ts
|
|
624
631
|
type Locator = Locator$1<LocatorModules>;
|
|
625
632
|
declare const attachFramePermission: {
|
|
626
633
|
readonly scope: 'embed.iframe';
|
|
@@ -658,7 +665,7 @@ type FrameBackend = {
|
|
|
658
665
|
};
|
|
659
666
|
declare const createFrame: (backend: FrameBackend) => Frame;
|
|
660
667
|
//#endregion
|
|
661
|
-
//#region
|
|
668
|
+
//#region ../web-extension/lib/lib/frame.d.ts
|
|
662
669
|
declare const ATTACH_FRAME_EVENT_KEY = "FKN_WEB_EXTENSION_ATTACH_FRAME_EVENT_KEY";
|
|
663
670
|
declare const attachFrame: ({
|
|
664
671
|
iframe,
|
|
@@ -667,7 +674,7 @@ declare const attachFrame: ({
|
|
|
667
674
|
lockdown
|
|
668
675
|
}: AttachFrameOptions) => Promise<Frame>;
|
|
669
676
|
//#endregion
|
|
670
|
-
//#region
|
|
677
|
+
//#region ../web-extension/lib/permission/shared/registry.d.ts
|
|
671
678
|
declare const PERMISSIONS: readonly [{
|
|
672
679
|
readonly scope: 'read.text';
|
|
673
680
|
readonly category: 'read';
|
|
@@ -784,7 +791,7 @@ declare const PERMISSIONS: readonly [{
|
|
|
784
791
|
}];
|
|
785
792
|
type PermissionScope = (typeof PERMISSIONS)[number]['scope'];
|
|
786
793
|
//#endregion
|
|
787
|
-
//#region
|
|
794
|
+
//#region ../web-extension/lib/lib/permissions.d.ts
|
|
788
795
|
type PermissionRequest = {
|
|
789
796
|
key: PermissionScope;
|
|
790
797
|
scope?: string;
|
|
@@ -799,7 +806,7 @@ declare const permissions: {
|
|
|
799
806
|
request: (requests: PermissionRequest[]) => Promise<PermissionGrant[]>;
|
|
800
807
|
};
|
|
801
808
|
//#endregion
|
|
802
|
-
//#region
|
|
809
|
+
//#region ../web-extension/lib/utils/extension.d.ts
|
|
803
810
|
type ExtensionEventMap = {
|
|
804
811
|
statuschange: CustomEvent<{
|
|
805
812
|
enabled: boolean;
|
|
@@ -811,4 +818,4 @@ type MissingExtensionHandler = () => Promise<void>;
|
|
|
811
818
|
declare const setMissingExtensionHandler: (handler: MissingExtensionHandler | null) => void;
|
|
812
819
|
declare const waitForExtensionExposure: (timeout?: number) => Promise<void>;
|
|
813
820
|
//#endregion
|
|
814
|
-
export { fetch as $, LOCATOR_DENIED as A, SelectorPart as B, RemoteVideoElement as C, isType as D, createVideoElementHandle as E, isTerminalError as F, setRequestHeaderRule as G, RequestHeaderRule as H, Executor as I, cookies as J, CookieDetails as K, Gate as L, LOCATOR_UNSUPPORTED as M, isLocatorDenied as N, revive as O, isLocatorUnsupported as P, assertFetchableUrl as Q, GateTools as R, BoxedVideoElement as S, box as T, modifyRequestHeadersPermission as U, HeaderOperation as V, removeRequestHeaderRule as W, FetchInit as X, readCookiePermission as Y, ProxyFetchRequest as Z, gotoPermission as _, PermissionGrant as a, isBlockedFrameUrl as b, ATTACH_FRAME_EVENT_KEY as c, Frame as d, fetchCredentialedPermission as et, FrameBackend as f, createFrame as g, attachFramePermission as h, waitForExtensionExposure as i, isLocalNetworkUrl as it, LOCATOR_ERROR as j, type as k, attachFrame as l, Locator as m, isExtensionExposed as n, fetchPermission as nt, PermissionRequest as o, GotoOptions as p, SiteCookie as q, setMissingExtensionHandler as r, isBlockedFetchUrl as rt, permissions as s, extension as t, fetchLocalPermission as tt, AttachFrameOptions as u, assertAttachableFrameUrl as v, VideoElementState as w, handleRevivableModules as x, assertLockdownApplicable as y, OperationRequest as z };
|
|
821
|
+
export { fetch as $, LOCATOR_DENIED as A, SelectorPart as B, RemoteVideoElement as C, isType as D, createVideoElementHandle as E, isTerminalError as F, setRequestHeaderRule as G, RequestHeaderRule as H, Executor as I, cookies as J, CookieDetails as K, Gate as L, LOCATOR_UNSUPPORTED as M, isLocatorDenied as N, revive as O, isLocatorUnsupported as P, assertFetchableUrl as Q, GateTools as R, BoxedVideoElement as S, box as T, modifyRequestHeadersPermission as U, HeaderOperation as V, removeRequestHeaderRule as W, FetchInit as X, readCookiePermission as Y, ProxyFetchRequest as Z, gotoPermission as _, PermissionGrant as a, FORGEABLE_HEADERS as at, isBlockedFrameUrl as b, ATTACH_FRAME_EVENT_KEY as c, hasForgedCookie as ct, Frame as d, fetchCredentialedPermission as et, FrameBackend as f, createFrame as g, attachFramePermission as h, waitForExtensionExposure as i, isLocalNetworkUrl as it, LOCATOR_ERROR as j, type as k, attachFrame as l, Locator as m, isExtensionExposed as n, fetchPermission as nt, PermissionRequest as o, assertForgeableHeaders as ot, GotoOptions as p, SiteCookie as q, setMissingExtensionHandler as r, isBlockedFetchUrl as rt, permissions as s, assertOneCookieIdentity as st, extension as t, fetchLocalPermission as tt, AttachFrameOptions as u, assertAttachableFrameUrl as v, VideoElementState as w, handleRevivableModules as x, assertLockdownApplicable as y, OperationRequest as z };
|
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib-CQqdCndr.cjs"),t=require("./api-C9Mh5v0z.cjs"),n=require("./cloud-DZzkfeQi.cjs"),r=require("./dns.cjs"),i=require("./net-uN5eXX3L.cjs"),a=require("./dgram-ocGNUMpo.cjs"),o=require("./http.cjs"),s=require("./extension-DmKxv-br.cjs"),c=require("./desktop.cjs"),l=require("./fs-D-pDr8fW.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.N())return t(!0);let n,r=setTimeout(()=>i(e.N()),h),i=e=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),t(e)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(e.N()),g)},o=new MutationObserver(()=>{e.N()&&i(!0)}),s=()=>{document.readyState===`complete`&&!e.N()&&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.r(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`);let r=t.i();if(!r?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,m.relay)({receive:window,emit:r.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.n,exports.FORGEABLE_HEADERS=e.O,exports.LOCATOR_DENIED=e.h,exports.LOCATOR_ERROR=e.u,exports.LOCATOR_UNSUPPORTED=e.m,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return f.t}}),exports.assertAttachableFrameUrl=e.s,exports.assertFetchableUrl=e.x,exports.assertForgeableHeaders=e.k,exports.assertLockdownApplicable=e.c,exports.assertOneCookieIdentity=e.A,exports.attachFrame=v,exports.attachFramePermission=e.i,exports.box=e.L,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=x,exports.connectButtonUrl=p.t,exports.cookies=e.y,exports.createFrame=e.a,exports.createVideoElementHandle=e.R,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.C,exports.fetchLocalPermission=e.w,exports.fetchPermission=e.T,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return l.u}}),exports.gotoPermission=e.o,exports.handleRevivableModules=e.I,exports.hasForgedCookie=e.j,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return o.t}}),exports.isBlockedFetchUrl=e.E,exports.isBlockedFrameUrl=e.l,exports.isExtensionExposed=e.N,exports.isLocalNetworkUrl=e.D,exports.isLocatorDenied=e.d,exports.isLocatorUnsupported=e.p,exports.isTerminalError=e.f,exports.isType=e.z,exports.modifyRequestHeadersPermission=e.g,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.t,exports.promptInstall=s.i,exports.promptRelay=S,exports.readCookiePermission=e.b,exports.relayWorker=b,exports.removeRequestHeaderRule=e._,exports.revive=e.B,exports.setMissingExtensionHandler=e.P,exports.setRequestHeaderRule=e.v,exports.type=e.V,exports.waitForExtensionExposure=e.F;
|
package/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as account_d_exports } from "./account.js";
|
|
2
|
-
import { m as packages_d_exports } from "./packages-
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
2
|
+
import { m as packages_d_exports } from "./packages-CSZGUtem.js";
|
|
3
|
+
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, at as FORGEABLE_HEADERS, b as isBlockedFrameUrl, c as ATTACH_FRAME_EVENT_KEY, ct as hasForgedCookie, 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, ot as assertForgeableHeaders, p as GotoOptions, q as SiteCookie, r as setMissingExtensionHandler, rt as isBlockedFetchUrl, s as permissions, st as assertOneCookieIdentity, tt as fetchLocalPermission, u as AttachFrameOptions, v as assertAttachableFrameUrl, w as VideoElementState, x as handleRevivableModules, y as assertLockdownApplicable, z as OperationRequest } from "./index-DQfP-Uhy.js";
|
|
4
|
+
import { n as cloud_d_exports } from "./cloud-wrRNWHAn.js";
|
|
5
5
|
import { t as dns_d_exports } from "./dns.js";
|
|
6
|
-
import { s as net_d_exports } from "./net-
|
|
6
|
+
import { s as net_d_exports } from "./net-BDjZxAEZ.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-
|
|
10
|
+
import { i as promptInstall, n as fetch, t as extension_d_exports } from "./extension-B0qU5XuR.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, 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 };
|
|
31
|
+
export { ATTACH_FRAME_EVENT_KEY, AttachFrameOptions, BoxedVideoElement, CookieDetails, type Executor, FORGEABLE_HEADERS, 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, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, 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, hasForgedCookie, 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,47 @@
|
|
|
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
|
|
2
|
-
import { i as
|
|
3
|
-
import { a as
|
|
4
|
-
import { t as
|
|
5
|
-
import { s as
|
|
6
|
-
import { i as
|
|
7
|
-
import { t as
|
|
8
|
-
import { i as
|
|
9
|
-
import { t as
|
|
10
|
-
import { u as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { relay as
|
|
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 s, N as c, O as ee, P as l, R as u, T as d, V 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, j as S, k as C, l as w, m as T, n as E, o as D, p as O, r as k, s as A, t as j, u as M, v as N, w as P, x as F, y as I, z as te } from "./lib-BcEnB4iV.js";
|
|
2
|
+
import { i as L, t as R } from "./api-BU8zNmQI.js";
|
|
3
|
+
import { a as z, i as B, n as V } from "./cloud-OAvwgd_r.js";
|
|
4
|
+
import { t as H } from "./dns.js";
|
|
5
|
+
import { s as U } from "./net-Bi82weSE.js";
|
|
6
|
+
import { i as W } from "./dgram-DNbgOMoK.js";
|
|
7
|
+
import { t as G } from "./http.js";
|
|
8
|
+
import { i as K, n as q, r as J, t as Y } from "./extension-DQZmGSuX.js";
|
|
9
|
+
import { t as X } from "./desktop.js";
|
|
10
|
+
import { u as Z } from "./fs-BYMGoFir.js";
|
|
11
|
+
import { t as Q } from "./opfs.js";
|
|
12
|
+
import { t as ne } from "./packages.js";
|
|
13
|
+
import { t as re } from "./account.js";
|
|
14
|
+
import { t as ie } from "./connect-button-Ds9KpXHe.js";
|
|
15
|
+
import { relay as ae } from "osra";
|
|
16
16
|
//#region src/lib/frame.ts
|
|
17
|
-
var
|
|
18
|
-
if (
|
|
19
|
-
let t, n = setTimeout(() => r(
|
|
17
|
+
var oe = 1e4, $ = 150, se = () => new Promise((e) => {
|
|
18
|
+
if (c()) return e(!0);
|
|
19
|
+
let t, n = setTimeout(() => r(c()), oe), 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(
|
|
22
|
+
clearTimeout(t), t = setTimeout(() => r(c()), $);
|
|
23
23
|
}, a = new MutationObserver(() => {
|
|
24
|
-
|
|
24
|
+
c() && r(!0);
|
|
25
25
|
}), o = () => {
|
|
26
|
-
document.readyState === "complete" && !
|
|
26
|
+
document.readyState === "complete" && !c() && 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
|
-
}),
|
|
32
|
+
}), ce = async (e) => J() || e.lockdown || !z() || await se() ? k(e) : B(e), le = "https://fkn.app", ue = (e, t) => {
|
|
33
33
|
if (typeof window > "u") throw Error("FKN @fkn/lib: relayWorker must be called from the main thread");
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
let n = L();
|
|
35
|
+
if (!n?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
|
|
36
|
+
ae({
|
|
36
37
|
receive: window,
|
|
37
|
-
emit:
|
|
38
|
+
emit: n.contentWindow
|
|
38
39
|
}, e, {
|
|
39
40
|
key: "fkn-api",
|
|
40
|
-
originA: t?.originA ??
|
|
41
|
+
originA: t?.originA ?? le,
|
|
41
42
|
originB: t?.originB ?? "*",
|
|
42
43
|
unregisterSignal: t?.unregisterSignal
|
|
43
44
|
});
|
|
44
|
-
},
|
|
45
|
+
}, de = async () => typeof window > "u" ? !1 : (await R).connect.prompt(location.origin).catch(() => !1), fe = async () => typeof window > "u" ? null : (await R).relay.prompt().catch(() => null);
|
|
45
46
|
//#endregion
|
|
46
|
-
export {
|
|
47
|
+
export { E as ATTACH_FRAME_EVENT_KEY, ee as FORGEABLE_HEADERS, b as LOCATOR_DENIED, M as LOCATOR_ERROR, T as LOCATOR_UNSUPPORTED, re as account, A as assertAttachableFrameUrl, F as assertFetchableUrl, C as assertForgeableHeaders, g as assertLockdownApplicable, e as assertOneCookieIdentity, ce as attachFrame, x as attachFramePermission, s as box, V as cloud, de as connect, ie as connectButtonUrl, I as cookies, m as createFrame, u as createVideoElementHandle, X as desktop, W as dgram, H as dns, Y as extension, q as fetch, n as fetchCredentialedPermission, P as fetchLocalPermission, d as fetchPermission, Z as fs, D as gotoPermission, o as handleRevivableModules, S as hasForgedCookie, G as http, i as isBlockedFetchUrl, w as isBlockedFrameUrl, c as isExtensionExposed, r as isLocalNetworkUrl, _ as isLocatorDenied, O as isLocatorUnsupported, v as isTerminalError, te as isType, y as modifyRequestHeadersPermission, U as net, Q as opfs, ne as packages, j as permissions, K as promptInstall, fe as promptRelay, h as readCookiePermission, ue as relayWorker, p as removeRequestHeaderRule, t as revive, l as setMissingExtensionHandler, N as setRequestHeaderRule, f as type, a as waitForExtensionExposure };
|