@fkn/lib 0.9.5 → 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-Bzjnrblb.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-XC1EtYP6.d.ts → extension-B0qU5XuR.d.ts} +2 -2
- 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-BQdGI3d3.d.ts → index-DQfP-Uhy.d.ts} +24 -38
- package/index.cjs +1 -1
- package/index.d.ts +6 -6
- package/index.js +26 -25
- package/{proxy-DGVOk4Q8.js → lib-BcEnB4iV.js} +332 -639
- 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-CbNYpNK8.js +0 -129
- package/cloud-mWhpmEwZ.cjs +0 -1
- package/extension-C6xmQRHj.js +0 -78
- package/extension-dmTtpkT5.cjs +0 -1
- package/proxy-C67lCEBx.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,12 +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
4
|
declare const FORGEABLE_HEADERS: string[];
|
|
5
5
|
declare const hasForgedCookie: (unsafeHeaders: [string, string][] | undefined) => boolean;
|
|
6
6
|
declare const assertOneCookieIdentity: (unsafeHeaders: [string, string][] | undefined, credentials: 'include' | 'omit') => void;
|
|
7
7
|
declare const assertForgeableHeaders: (unsafeHeaders: [string, string][] | undefined) => void;
|
|
8
8
|
//#endregion
|
|
9
|
-
//#region
|
|
9
|
+
//#region ../web-extension/lib/lib/fetch.d.ts
|
|
10
10
|
declare const fetchPermission: {
|
|
11
11
|
readonly scope: 'network.fetch';
|
|
12
12
|
readonly category: 'network';
|
|
@@ -22,14 +22,6 @@ declare const fetchCredentialedPermission: {
|
|
|
22
22
|
readonly title: 'Fetch from other sites, signed in as you';
|
|
23
23
|
readonly description: 'Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.';
|
|
24
24
|
};
|
|
25
|
-
declare const fetchForgedCookiePermission: {
|
|
26
|
-
readonly scope: 'network.fetchForgedCookie';
|
|
27
|
-
readonly category: 'network';
|
|
28
|
-
readonly severity: 2;
|
|
29
|
-
readonly unsafe: true;
|
|
30
|
-
readonly title: 'Send its own cookies to other sites';
|
|
31
|
-
readonly description: 'Lets the app attach cookies it already holds to its requests, so the other site answers as if signed in to the account the app is holding, not yours.';
|
|
32
|
-
};
|
|
33
25
|
declare const fetchLocalPermission: {
|
|
34
26
|
readonly scope: 'network.fetchLocal';
|
|
35
27
|
readonly category: 'network';
|
|
@@ -57,7 +49,7 @@ declare const isBlockedFetchUrl: (raw: string) => boolean;
|
|
|
57
49
|
declare const assertFetchableUrl: (raw: string) => void;
|
|
58
50
|
declare const fetch: (input: RequestInfo | URL, init?: FetchInit) => Promise<Response>;
|
|
59
51
|
//#endregion
|
|
60
|
-
//#region
|
|
52
|
+
//#region ../web-extension/lib/lib/cookies.d.ts
|
|
61
53
|
declare const readCookiePermission: {
|
|
62
54
|
readonly scope: 'network.readCookie';
|
|
63
55
|
readonly category: 'network';
|
|
@@ -78,7 +70,7 @@ declare const cookies: {
|
|
|
78
70
|
get: (details: CookieDetails) => Promise<SiteCookie | null>;
|
|
79
71
|
};
|
|
80
72
|
//#endregion
|
|
81
|
-
//#region
|
|
73
|
+
//#region ../web-extension/lib/lib/request-rules.d.ts
|
|
82
74
|
declare const modifyRequestHeadersPermission: {
|
|
83
75
|
readonly scope: 'network.modifyRequestHeaders';
|
|
84
76
|
readonly category: 'network';
|
|
@@ -102,7 +94,7 @@ declare const setRequestHeaderRule: (rule: RequestHeaderRule) => Promise<{
|
|
|
102
94
|
}>;
|
|
103
95
|
declare const removeRequestHeaderRule: (ruleId: number) => Promise<void>;
|
|
104
96
|
//#endregion
|
|
105
|
-
//#region node_modules/@mfkn/frame-locator/lib/types.d.ts
|
|
97
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/types.d.ts
|
|
106
98
|
type ChainKind = 'element' | 'frame';
|
|
107
99
|
type SelectorPart = {
|
|
108
100
|
kind: ChainKind;
|
|
@@ -154,7 +146,7 @@ type Executor = {
|
|
|
154
146
|
stale?: Promise<void>;
|
|
155
147
|
};
|
|
156
148
|
//#endregion
|
|
157
|
-
//#region node_modules/@mfkn/frame-locator/lib/errors.d.ts
|
|
149
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/errors.d.ts
|
|
158
150
|
declare const LOCATOR_ERROR = "LocatorError";
|
|
159
151
|
declare const LOCATOR_UNSUPPORTED = "LocatorUnsupportedError";
|
|
160
152
|
declare const LOCATOR_DENIED = "LocatorDeniedError";
|
|
@@ -162,13 +154,13 @@ declare const isLocatorUnsupported: (error: unknown) => boolean;
|
|
|
162
154
|
declare const isLocatorDenied: (error: unknown) => boolean;
|
|
163
155
|
declare const isTerminalError: (error: unknown) => boolean;
|
|
164
156
|
//#endregion
|
|
165
|
-
//#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
|
|
166
158
|
type AddStyleTagOptions$1 = OperationOptions & {
|
|
167
159
|
content: string;
|
|
168
160
|
noSanitize?: boolean;
|
|
169
161
|
};
|
|
170
162
|
//#endregion
|
|
171
|
-
//#region node_modules/@mfkn/frame-locator/lib/operations.d.ts
|
|
163
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/operations.d.ts
|
|
172
164
|
type PositionOptions$1 = OperationOptions & {
|
|
173
165
|
position?: {
|
|
174
166
|
x?: number;
|
|
@@ -176,7 +168,7 @@ type PositionOptions$1 = OperationOptions & {
|
|
|
176
168
|
};
|
|
177
169
|
};
|
|
178
170
|
//#endregion
|
|
179
|
-
//#region node_modules/@mfkn/frame-locator/lib/modules.d.ts
|
|
171
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/modules.d.ts
|
|
180
172
|
declare const defaultModules: {
|
|
181
173
|
readonly element: {
|
|
182
174
|
readonly selectors: {
|
|
@@ -323,7 +315,7 @@ type Extended<B extends Modules, S extends ModulesSpec> = {
|
|
|
323
315
|
frame: MergeKind<B['frame'], S['frame']>;
|
|
324
316
|
};
|
|
325
317
|
//#endregion
|
|
326
|
-
//#region node_modules/@mfkn/frame-locator/lib/chain.d.ts
|
|
318
|
+
//#region ../web-extension/node_modules/@mfkn/frame-locator/lib/chain.d.ts
|
|
327
319
|
type ArgsOf<M> = M extends {
|
|
328
320
|
resolve: (context: never, ...args: infer A) => unknown;
|
|
329
321
|
} ? A : never;
|
|
@@ -408,7 +400,7 @@ declare const isType: (value: unknown) => value is RemoteVideoElement;
|
|
|
408
400
|
declare const box: <T extends RemoteVideoElement, T2 extends RevivableContext>(value: T, context: T2) => BoxedVideoElement;
|
|
409
401
|
declare const revive: <T extends BoxedVideoElement, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
|
|
410
402
|
//#endregion
|
|
411
|
-
//#region
|
|
403
|
+
//#region ../web-extension/lib/lib/revivables/index.d.ts
|
|
412
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"), {
|
|
413
405
|
readonly type: 'nonFiniteNumber';
|
|
414
406
|
readonly isType: (value: unknown) => value is number;
|
|
@@ -432,10 +424,11 @@ declare const handleRevivableModules: (defaults: DefaultRevivableModules) => rea
|
|
|
432
424
|
readonly box: (value: import("osra/build/revivables/fallbacks").Transferable, _context: import("osra").RevivableContext<any>) => import("osra/build/revivables/fallbacks").Transferable;
|
|
433
425
|
readonly revive: (value: import("osra/build/revivables/fallbacks").BoxedTransferable, _context: import("osra").RevivableContext<any>) => import("osra/build/revivables/fallbacks").Transferable;
|
|
434
426
|
}, {
|
|
435
|
-
readonly type: '
|
|
436
|
-
readonly
|
|
437
|
-
readonly
|
|
438
|
-
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;
|
|
439
432
|
}, typeof import("osra/build/revivables/event-target"), {
|
|
440
433
|
readonly type: 'unclonable';
|
|
441
434
|
readonly isType: (value: unknown) => value is never;
|
|
@@ -443,7 +436,7 @@ declare const handleRevivableModules: (defaults: DefaultRevivableModules) => rea
|
|
|
443
436
|
readonly revive: (_value: import("osra/build/revivables/fallbacks").BoxedUnclonable, _context: import("osra").RevivableContext<any>) => Record<string, never>;
|
|
444
437
|
}];
|
|
445
438
|
//#endregion
|
|
446
|
-
//#region
|
|
439
|
+
//#region ../web-extension/lib/lib/locator-modules.d.ts
|
|
447
440
|
type LocatorOptions = OperationOptions & {
|
|
448
441
|
reason?: string;
|
|
449
442
|
};
|
|
@@ -621,7 +614,7 @@ declare const locatorModules: Extended<{
|
|
|
621
614
|
}>;
|
|
622
615
|
type LocatorModules = typeof locatorModules;
|
|
623
616
|
//#endregion
|
|
624
|
-
//#region
|
|
617
|
+
//#region ../web-extension/lib/lib/frame-url.d.ts
|
|
625
618
|
declare const isBlockedFrameUrl: (raw: string) => boolean;
|
|
626
619
|
declare const assertAttachableFrameUrl: (raw: string) => void;
|
|
627
620
|
declare const assertLockdownApplicable: ({
|
|
@@ -634,7 +627,7 @@ declare const assertLockdownApplicable: ({
|
|
|
634
627
|
lockdown: boolean;
|
|
635
628
|
}) => void;
|
|
636
629
|
//#endregion
|
|
637
|
-
//#region
|
|
630
|
+
//#region ../web-extension/lib/lib/frame-core.d.ts
|
|
638
631
|
type Locator = Locator$1<LocatorModules>;
|
|
639
632
|
declare const attachFramePermission: {
|
|
640
633
|
readonly scope: 'embed.iframe';
|
|
@@ -672,7 +665,7 @@ type FrameBackend = {
|
|
|
672
665
|
};
|
|
673
666
|
declare const createFrame: (backend: FrameBackend) => Frame;
|
|
674
667
|
//#endregion
|
|
675
|
-
//#region
|
|
668
|
+
//#region ../web-extension/lib/lib/frame.d.ts
|
|
676
669
|
declare const ATTACH_FRAME_EVENT_KEY = "FKN_WEB_EXTENSION_ATTACH_FRAME_EVENT_KEY";
|
|
677
670
|
declare const attachFrame: ({
|
|
678
671
|
iframe,
|
|
@@ -681,7 +674,7 @@ declare const attachFrame: ({
|
|
|
681
674
|
lockdown
|
|
682
675
|
}: AttachFrameOptions) => Promise<Frame>;
|
|
683
676
|
//#endregion
|
|
684
|
-
//#region
|
|
677
|
+
//#region ../web-extension/lib/permission/shared/registry.d.ts
|
|
685
678
|
declare const PERMISSIONS: readonly [{
|
|
686
679
|
readonly scope: 'read.text';
|
|
687
680
|
readonly category: 'read';
|
|
@@ -774,13 +767,6 @@ declare const PERMISSIONS: readonly [{
|
|
|
774
767
|
readonly unsafe: true;
|
|
775
768
|
readonly title: 'Fetch from other sites, signed in as you';
|
|
776
769
|
readonly description: 'Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.';
|
|
777
|
-
}, {
|
|
778
|
-
readonly scope: 'network.fetchForgedCookie';
|
|
779
|
-
readonly category: 'network';
|
|
780
|
-
readonly severity: 2;
|
|
781
|
-
readonly unsafe: true;
|
|
782
|
-
readonly title: 'Send its own cookies to other sites';
|
|
783
|
-
readonly description: 'Lets the app attach cookies it already holds to its requests, so the other site answers as if signed in to the account the app is holding, not yours.';
|
|
784
770
|
}, {
|
|
785
771
|
readonly scope: 'network.fetchLocal';
|
|
786
772
|
readonly category: 'network';
|
|
@@ -805,7 +791,7 @@ declare const PERMISSIONS: readonly [{
|
|
|
805
791
|
}];
|
|
806
792
|
type PermissionScope = (typeof PERMISSIONS)[number]['scope'];
|
|
807
793
|
//#endregion
|
|
808
|
-
//#region
|
|
794
|
+
//#region ../web-extension/lib/lib/permissions.d.ts
|
|
809
795
|
type PermissionRequest = {
|
|
810
796
|
key: PermissionScope;
|
|
811
797
|
scope?: string;
|
|
@@ -820,7 +806,7 @@ declare const permissions: {
|
|
|
820
806
|
request: (requests: PermissionRequest[]) => Promise<PermissionGrant[]>;
|
|
821
807
|
};
|
|
822
808
|
//#endregion
|
|
823
|
-
//#region
|
|
809
|
+
//#region ../web-extension/lib/utils/extension.d.ts
|
|
824
810
|
type ExtensionEventMap = {
|
|
825
811
|
statuschange: CustomEvent<{
|
|
826
812
|
enabled: boolean;
|
|
@@ -832,4 +818,4 @@ type MissingExtensionHandler = () => Promise<void>;
|
|
|
832
818
|
declare const setMissingExtensionHandler: (handler: MissingExtensionHandler | null) => void;
|
|
833
819
|
declare const waitForExtensionExposure: (timeout?: number) => Promise<void>;
|
|
834
820
|
//#endregion
|
|
835
|
-
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,
|
|
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, 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,
|
|
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,25 +1,25 @@
|
|
|
1
|
-
import { A as e, B as t, C as n, D as r, E as i, F as a,
|
|
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
|
|
17
|
+
var oe = 1e4, $ = 150, se = () => new Promise((e) => {
|
|
18
18
|
if (c()) return e(!0);
|
|
19
|
-
let t, n = setTimeout(() => r(c()),
|
|
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(c()),
|
|
22
|
+
clearTimeout(t), t = setTimeout(() => r(c()), $);
|
|
23
23
|
}, a = new MutationObserver(() => {
|
|
24
24
|
c() && r(!0);
|
|
25
25
|
}), o = () => {
|
|
@@ -29,18 +29,19 @@ var $ = 1e4, se = 150, ce = () => new Promise((e) => {
|
|
|
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 };
|