@fkn/lib 0.9.7 → 0.9.9
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-BU8zNmQI.js → api-B53pjQqI.js} +45 -38
- package/{api-9O1SM4CR.d.ts → api-BYRsWdwB.d.ts} +9 -1
- package/api-dp9SlXVw.cjs +1 -0
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.d.ts +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs.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 → cloud-BeDLKtWQ.cjs} +1 -1
- package/{cloud-wrRNWHAn.d.ts → cloud-CWJO6Q8h.d.ts} +2 -2
- package/{cloud-OAvwgd_r.js → cloud-z1HEs2sx.js} +4 -4
- package/cloud.cjs +1 -1
- package/cloud.d.ts +3 -3
- package/cloud.js +4 -4
- package/{dgram-ocGNUMpo.cjs → dgram-Bsqy2Smh.cjs} +1 -1
- package/{dgram-DNbgOMoK.js → dgram-u3bxngZw.js} +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-DmKxv-br.cjs → extension-CPtq-Ehy.cjs} +1 -1
- package/{extension-DQZmGSuX.js → extension-JM3WFAy9.js} +2 -2
- package/extension.cjs +1 -1
- package/extension.js +1 -1
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-D-pDr8fW.cjs → fs-D6ebMpHf.cjs} +1 -1
- package/{fs-BYMGoFir.js → fs-D95VtxiL.js} +2 -2
- package/fs.cjs +1 -1
- package/fs.js +1 -1
- package/http.cjs +1 -1
- package/http.d.ts +1 -1
- package/http.js +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +3 -3
- package/index.js +6 -6
- package/{net-uN5eXX3L.cjs → net-8e2vCDx-.cjs} +1 -1
- package/{net-BDjZxAEZ.d.ts → net-BKkf8QK3.d.ts} +1 -1
- package/{net-Bi82weSE.js → net-D4bNkPEp.js} +1 -1
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/{packages-CSZGUtem.d.ts → packages-BtbLwrrW.d.ts} +51 -2
- package/packages.cjs +1 -1
- package/packages.d.ts +2 -2
- package/packages.js +128 -24
- package/{proxy-pCTWR0E6.d.ts → proxy-BypE6RbM.d.ts} +1 -1
- package/{proxy-CMtPeuvd.js → proxy-iMrHM2Ek.js} +1 -1
- package/{proxy-DbcJMUcm.cjs → proxy-vg2oj6bT.cjs} +1 -1
- package/{storage-BVWaXq8X.js → storage-DctWaXn9.js} +1 -1
- package/{storage-DG1Ac1FK.cjs → storage-Dk5EOZtT.cjs} +1 -1
- package/api-C9Mh5v0z.cjs +0 -1
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-D6ebMpHf.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-D95VtxiL.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-8e2vCDx-.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-BKkf8QK3.js";
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import { Stream } from "stream";
|
|
4
4
|
import { IncomingHttpHeaders, OutgoingHttpHeaders, RequestOptions } from "http";
|
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-D4bNkPEp.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
|
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib-CQqdCndr.cjs"),t=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib-CQqdCndr.cjs"),t=require("./api-dp9SlXVw.cjs"),n=require("./cloud-BeDLKtWQ.cjs"),r=require("./dns.cjs"),i=require("./net-8e2vCDx-.cjs"),a=require("./dgram-Bsqy2Smh.cjs"),o=require("./http.cjs"),s=require("./extension-CPtq-Ehy.cjs"),c=require("./desktop.cjs"),l=require("./fs-D6ebMpHf.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,9 +1,9 @@
|
|
|
1
1
|
import { t as account_d_exports } from "./account.js";
|
|
2
|
-
import {
|
|
2
|
+
import { y as packages_d_exports } from "./packages-BtbLwrrW.js";
|
|
3
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-
|
|
4
|
+
import { n as cloud_d_exports } from "./cloud-CWJO6Q8h.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-BKkf8QK3.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";
|
package/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
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-
|
|
3
|
-
import { a as z, i as B, n as V } from "./cloud-
|
|
2
|
+
import { i as L, t as R } from "./api-B53pjQqI.js";
|
|
3
|
+
import { a as z, i as B, n as V } from "./cloud-z1HEs2sx.js";
|
|
4
4
|
import { t as H } from "./dns.js";
|
|
5
|
-
import { s as U } from "./net-
|
|
6
|
-
import { i as W } from "./dgram-
|
|
5
|
+
import { s as U } from "./net-D4bNkPEp.js";
|
|
6
|
+
import { i as W } from "./dgram-u3bxngZw.js";
|
|
7
7
|
import { t as G } from "./http.js";
|
|
8
|
-
import { i as K, n as q, r as J, t as Y } from "./extension-
|
|
8
|
+
import { i as K, n as q, r as J, t as Y } from "./extension-JM3WFAy9.js";
|
|
9
9
|
import { t as X } from "./desktop.js";
|
|
10
|
-
import { u as Z } from "./fs-
|
|
10
|
+
import { u as Z } from "./fs-D95VtxiL.js";
|
|
11
11
|
import { t as Q } from "./opfs.js";
|
|
12
12
|
import { t as ne } from "./packages.js";
|
|
13
13
|
import { t as re } from "./account.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-dp9SlXVw.cjs"),n=require("./utils-QfNXtEhb.cjs");let r=require("stream"),i=require("events");var a=e.t({Server:()=>s,Socket:()=>o,_default:()=>d,connect:()=>c,createConnection:()=>l,createServer:()=>u,default:()=>d,isIP:()=>n.r,isIPv4:()=>n.i,isIPv6:()=>n.a}),o=class extends r.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;constructor(e){if(e?.fd!==void 0)throw Error(`FKN WebVPN does not support file descriptors`);super(e),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}__webvpn_tcp_socket_init__(e){if(this._webVPNTcpSocketPromise=e.then(e=>{let t=e.dataReadableStream.getReader(),n=e.dataWritableStream.getWriter();return this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},this._remoteAddress={address:e.remoteAddress,family:e.remoteFamily,port:e.remotePort},{...e,reader:t,writer:n}}).catch(e=>{this.emit(`error`,e)}),!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);return this._webVPNTcpSocketPromise.then(e=>{e&&this.emit(`connect`)}),this._webVPNTcpSocketPromise}_read(e){if(!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);this._webVPNTcpSocketPromise.then(e=>{if(!e){this.push(null);return}e.reader.read().then(({value:e,done:t})=>{if(t){this.push(null);return}this._restartTimeoutTimer(),this.push(e)}).catch(e=>{this.destroy(e)})})}_write(e,t,n){if(!this._webVPNTcpSocketPromise){n(Error(`Socket not connected`));return}this._webVPNTcpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not connected`);await t.writer.ready,await t.writer.write(e),this._restartTimeoutTimer(),n()}).catch(n)}connect(...e){let r=n.c(...e),i=this.__webvpn_tcp_socket_init__(t.t.then(e=>e.cloud.webvpn.tcpSocket({remoteAddress:r.host??`localhost`,remotePort:r.port})));return r.callback&&i.then(e=>{e&&r.callback.call(this)}),this}_final(e){if(!this._webVPNTcpSocketPromise){e();return}this._webVPNTcpSocketPromise.then(async e=>{e&&await e.writer.close()}).then(()=>e(),t=>e(t))}_destroy(e,t){if(this._timeoutTimer&&clearTimeout(this._timeoutTimer),!this._webVPNTcpSocketPromise){t(e);return}this._webVPNTcpSocketPromise.then(async e=>{e&&await(this._resetRequested?e.resetAndDestroy():e.destroy())}).then(()=>t(e),()=>t(e))}destroySoon(){if(this.writableFinished){this.destroy();return}this.once(`finish`,()=>this.destroy()),this.end()}_resetRequested=!1;resetAndDestroy(){return this._resetRequested=!0,this.destroy(),this}_timeoutMs;_timeoutTimer;_restartTimeoutTimer(){this._timeoutTimer&&clearTimeout(this._timeoutTimer),this._timeoutMs&&(this._timeoutTimer=setTimeout(()=>this.emit(`timeout`),this._timeoutMs))}setTimeout(e,t){return t&&this.on(`timeout`,t),this._timeoutMs=e,this._restartTimeoutTimer(),this}setNoDelay(e){let t=e??!0;return this._setTcpOption({type:0,value:t}),this}setKeepAlive(e,t){let n=e??!1,r=t!==void 0&&t>0?Math.max(1,Math.round(t/1e3)):0;return this._setTcpOption({type:2,enabled:n,initialDelaySeconds:r}),this}setSendBufferSize(e){return this._setTcpOption({type:3,value:e}),this}setRecvBufferSize(e){return this._setTcpOption({type:4,value:e}),this}_typeOfService;getTypeOfService(){return this._typeOfService??0}setTypeOfService(e){return this._typeOfService=e,this}_setTcpOption(e){if(!this._webVPNTcpSocketPromise){this.emit(`error`,Error(`Cannot set socket option before connect`));return}this._webVPNTcpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.emit(`error`,e)}})}write(e,t,...n){return super.write(e,t,...n)}address(){return this._localAddress??{}}unref(){return this}ref(){return this}autoSelectFamilyAttemptedAddresses;bufferSize;bytesRead;bytesWritten;connecting;pending;get localAddress(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.address}get localPort(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.port}get localFamily(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.family}readyState;get remoteAddress(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.address}get remotePort(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.port}get remoteFamily(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.family}timeout},s=class extends i.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;constructor(e,t){super(e),t&&this.on(`connection`,t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}__webvpn_tcp_socket_listener_init__(e){return this._webVPNTcpSocketListenerPromise=e.then(e=>(this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},e)).catch(e=>{this.emit(`error`,e)}),this._webVPNTcpSocketListenerPromise.then(e=>{e&&this.emit(`listening`)}),this._webVPNTcpSocketListenerPromise}listen(...e){let r=n.c(...e);this._closeEmitted=!1;let i=e=>{let t=new o({connection:Promise.resolve(e)});this.emit(`connection`,t)},a=e=>{this._localAddress=void 0;try{e&&this.listenerCount(`error`)>0&&this.emit(`error`,e)}finally{this._emitClose()}},s=e=>t.t.then(t=>t.cloud.webvpn.tcpSocketListener({localAddress:e,localPort:r.port,onConnection:i,onClose:a})),c=r.host?s(r.host):s(`::`).catch(()=>s(`0.0.0.0`)),l=this.__webvpn_tcp_socket_listener_init__(c);return r.callback&&l.then(e=>{e&&r.callback.call(this)}),this}_closeEmitted=!1;_emitClose(){this._closeEmitted||(this._closeEmitted=!0,this.emit(`close`))}close(e){return this._webVPNTcpSocketListenerPromise&&this._webVPNTcpSocketListenerPromise.then(async t=>{if(t)try{await t.close(),this._localAddress=void 0,this._emitClose(),e&&e()}catch(t){this._localAddress=void 0,this._emitClose(),e&&e(t)}}),this}address(){return this._localAddress??null}getConnections(e){throw Error(`Method not implemented.`)}ref(){return this}unref(){return this}maxConnections;connections;listening;async[Symbol.asyncDispose](){}},c=(e,t)=>new o().connect(e,t),l=(e,t)=>new o().connect(e,t),u=(e,t)=>{typeof e==`function`&&(t=e,e=void 0);let n=new s(e);return t&&n.on(`connection`,t),n},d={Socket:o,Server:s,connect:c,createConnection:l,createServer:u,isIP:n.r,isIPv4:n.i,isIPv6:n.a};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as TcpSocketOption, r as LocalTcpSocket, t as Resolvers } from "./api-
|
|
1
|
+
import { i as TcpSocketOption, r as LocalTcpSocket, t as Resolvers } from "./api-BYRsWdwB.js";
|
|
2
2
|
import { AddressInfo, ListenOptions, Server, ServerOpts, Socket, SocketConnectOpts, SocketConstructorOpts } from "net";
|
|
3
3
|
import { DuplexOptions, Stream } from "stream";
|
|
4
4
|
import { EventEmitter } from "events";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { t } from "./api-
|
|
2
|
+
import { t } from "./api-B53pjQqI.js";
|
|
3
3
|
import { a as n, c as r, i, r as a } from "./utils-DVlbuXmW.js";
|
|
4
4
|
import { Stream as o } from "stream";
|
|
5
5
|
import { EventEmitter as s } from "events";
|
package/net.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./utils-QfNXtEhb.cjs"),t=require("./net-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./utils-QfNXtEhb.cjs"),t=require("./net-8e2vCDx-.cjs");exports.Server=t.t,exports.Socket=t.n,exports._default=t.r,exports.default=t.r,exports.connect=t.i,exports.createConnection=t.a,exports.createServer=t.o,exports.isIP=e.r,exports.isIPv4=e.i,exports.isIPv6=e.a;
|
package/net.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-
|
|
1
|
+
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-BKkf8QK3.js";
|
|
2
2
|
export { Server, Socket, _default, _default as default, connect, createConnection, createServer, isIP, isIPv4, isIPv6 };
|
package/net.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { a as e, i as t, r as n } from "./utils-DVlbuXmW.js";
|
|
2
|
-
import { a as r, i, n as a, o, r as s, t as c } from "./net-
|
|
2
|
+
import { a as r, i, n as a, o, r as s, t as c } from "./net-D4bNkPEp.js";
|
|
3
3
|
export { c as Server, a as Socket, s as _default, s as default, i as connect, r as createConnection, o as createServer, n as isIP, t as isIPv4, e as isIPv6 };
|
package/package.json
CHANGED
|
@@ -41,6 +41,20 @@ type InstallOptions = {
|
|
|
41
41
|
type ConnectOptions = {
|
|
42
42
|
/** opaque contract tag delivered to the package's onConnect, e.g. 'stub-source@1' */protocol?: string;
|
|
43
43
|
};
|
|
44
|
+
/** viewport coordinates, the space both the app and the broker frame measure in */
|
|
45
|
+
type SurfaceRect = {
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
width: number;
|
|
49
|
+
height: number;
|
|
50
|
+
};
|
|
51
|
+
/** corner radii in css order: top-left, top-right, bottom-right, bottom-left */
|
|
52
|
+
type Radii = [number, number, number, number];
|
|
53
|
+
type Placement = {
|
|
54
|
+
/** where the package frame sits, so its own layout gets the full box */rect: SurfaceRect; /** the part of `rect` still visible after the placeholder's scroll ancestors clip it */
|
|
55
|
+
clip?: SurfaceRect; /** the placeholder's corner radii, so the frame follows a rounded container */
|
|
56
|
+
radius?: Radii;
|
|
57
|
+
};
|
|
44
58
|
type PackagesErrorCode = 'invalid' | 'not-installed' | 'unaddressable' | 'timeout' | 'unavailable' | 'denied';
|
|
45
59
|
type PackagesFail = {
|
|
46
60
|
error: PackagesErrorCode;
|
|
@@ -59,7 +73,7 @@ type Caller = {
|
|
|
59
73
|
origin: string;
|
|
60
74
|
};
|
|
61
75
|
declare namespace packages_d_exports {
|
|
62
|
-
export { AppConnectOptions, Connect, ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, InstallOptions, InstalledPackage, PackageConnection, PackageQuery, PackageResult, PackagesError, PackagesErrorCode, PickOptions, RawPackageConnection, attach, connect, install, list, onConnect, pick, search, uninstall };
|
|
76
|
+
export { AppConnectOptions, Connect, ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, InstallOptions, InstalledPackage, PackageConnection, PackageQuery, PackageResult, PackageView, PackagesError, PackagesErrorCode, PickOptions, Placement, Radii, RawPackageConnection, ShowOptions, SurfaceRect, attach, connect, hide, install, isVisible, list, onConnect, onVisibilityChange, pick, search, show, uninstall };
|
|
63
77
|
}
|
|
64
78
|
type PackagesError = Error & {
|
|
65
79
|
code: PackagesErrorCode;
|
|
@@ -74,6 +88,32 @@ declare const install: (uri: string, options?: InstallOptions) => Promise<Instal
|
|
|
74
88
|
declare const list: () => Promise<InstalledPackage[]>;
|
|
75
89
|
/** Uninstall a package from this app; its frames and connections are torn down. */
|
|
76
90
|
declare const uninstall: (uri: string) => Promise<void>;
|
|
91
|
+
type ShowOptions = {
|
|
92
|
+
/**
|
|
93
|
+
* A placeholder the package frame is aligned to for as long as the view lives. The frame tracks its
|
|
94
|
+
* rect every animation frame, is clipped by its scrolling ancestors, and follows its border-radius,
|
|
95
|
+
* so it reads as inline content even though it renders in FKN's overlay.
|
|
96
|
+
*/
|
|
97
|
+
element?: HTMLElement; /** an explicit viewport rect, for a caller that tracks placement itself */
|
|
98
|
+
rect?: SurfaceRect;
|
|
99
|
+
};
|
|
100
|
+
type PackageView = {
|
|
101
|
+
/** release this view; equivalent to `packages.hide(uri, { element })` */hide: () => void; /** force a re-measure, e.g. right after a layout change the tracker cannot observe */
|
|
102
|
+
refresh: () => void;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Show an installed, connected package's frame over this page, aligned to `element` (or an explicit
|
|
106
|
+
* `rect`). The package renders its own UI there; the app keeps the space in its own layout. Take it
|
|
107
|
+
* back down with `hide()` on the returned view, or with `packages.hide(uri)`. Throws a PackagesError
|
|
108
|
+
* with code 'not-installed' when the package has not been connected by this app.
|
|
109
|
+
*/
|
|
110
|
+
declare const show: (uri: string, options: ShowOptions) => Promise<PackageView>;
|
|
111
|
+
/**
|
|
112
|
+
* Hide a package's frame again, the counterpart to `show()`. Pass the same `element` to release only
|
|
113
|
+
* the view bound to it; with no element every view of this package is released. The connection is
|
|
114
|
+
* untouched, so the package can be shown again.
|
|
115
|
+
*/
|
|
116
|
+
declare const hide: (uri: string, options?: ShowOptions) => Promise<void>;
|
|
77
117
|
type PackageConnection<T = unknown> = {
|
|
78
118
|
/** the package's exposed payload */remote: Remote<T>; /** settles when the package side of the connection dies (uninstall, reload, crash) - reconnect by calling connect() again */
|
|
79
119
|
closed: Promise<void>; /** the raw channel under `remote`, for direct messaging (osra envelopes ride it too - filter by your own message shape) */
|
|
@@ -117,5 +157,14 @@ type ConnectPayload = (info: IncomingConnectionInfo) => unknown;
|
|
|
117
157
|
declare const onConnect: <T = unknown>(createPayload: ConnectPayload, handler?: (connection: IncomingConnection<T>) => void) => {
|
|
118
158
|
unsubscribe: () => void;
|
|
119
159
|
};
|
|
160
|
+
/** True while a host app is showing this package's frame. Packages start hidden. */
|
|
161
|
+
declare const isVisible: () => boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Observe whether a host app is showing this package's frame, so it can render its UI only while on
|
|
164
|
+
* screen. The handler is called immediately with the current state, and on every change after.
|
|
165
|
+
*/
|
|
166
|
+
declare const onVisibilityChange: (handler: (visible: boolean) => void) => {
|
|
167
|
+
unsubscribe: () => void;
|
|
168
|
+
};
|
|
120
169
|
//#endregion
|
|
121
|
-
export {
|
|
170
|
+
export { PackagesErrorCode as A, uninstall as C, InstalledPackage as D, InstallOptions as E, SurfaceRect as F, PickOptions as M, Placement as N, PackageQuery as O, Radii as P, show as S, ConnectOptions as T, onConnect as _, IncomingConnectionInfo as a, pick as b, PackagesError as c, attach as d, connect as f, list as g, isVisible as h, IncomingConnection as i, PackagesFail as j, PackageResult as k, RawPackageConnection as l, install as m, Connect as n, PackageConnection as o, hide as p, ConnectPayload as r, PackageView as s, AppConnectOptions as t, ShowOptions as u, onVisibilityChange as v, Caller as w, search as x, packages_d_exports as y };
|
package/packages.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-dp9SlXVw.cjs");let n=require("osra");var r=e.t({attach:()=>E,connect:()=>T,hide:()=>w,install:()=>p,isVisible:()=>B,list:()=>m,onConnect:()=>z,onVisibilityChange:()=>V,pick:()=>f,search:()=>d,show:()=>C,uninstall:()=>h}),i=`https://fkn.app`,a=`fkn-packages-connection`,o=3e4,s=(e,t)=>Object.assign(Error(t),{code:e}),c=async()=>{if(!t.r)throw s(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.t},l=(e,t,r)=>(0,n.expose)(e??{},{transport:t,key:a,unregisterSignal:r}),u=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw s(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let c=new AbortController,u=new Promise((e,n)=>{let a=setTimeout(()=>n(s(`timeout`,`packages.connect: the package did not complete the connection`)),o);c.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(s(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:c.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(s(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:c.signal}),i?.then(()=>n(s(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([l(e,t,a.signal),u])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{c.abort()}},d=async e=>{let t=await(await c()).packages.search(e);if(`error`in t)throw s(t.error,t.message);return t.results},f=async(e,t)=>{let n=await(await c()).packages.pick(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?[]:n.results},p=async(e,t)=>{let n=await(await c()).packages.install(e,t);if(`error`in n)throw s(n.error,n.message);return`declined`in n?null:n.installed},m=async()=>(await(await c()).packages.list()).results,h=async e=>{let t=await(await c()).packages.uninstall(e);if(`error`in t)throw s(t.error,t.message)},g=({x:e,y:t,width:n,height:r})=>({x:Math.round(e),y:Math.round(t),width:Math.round(n),height:Math.round(r)}),_=(e,t)=>{let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y);return{x:n,y:r,width:Math.max(0,Math.min(e.x+e.width,t.x+t.width)-n),height:Math.max(0,Math.min(e.y+e.height,t.y+t.height)-r)}},v=(e,t)=>{let n=t;for(let t=e.parentElement;t;t=t.parentElement){let e=getComputedStyle(t);if(!(e.overflowX===`visible`&&e.overflowY===`visible`)&&(n=_(n,g(t.getBoundingClientRect())),n.width===0||n.height===0))break}return n},y=e=>{let t=getComputedStyle(e),n=[t.borderTopLeftRadius,t.borderTopRightRadius,t.borderBottomRightRadius,t.borderBottomLeftRadius];if(n.some(e=>e.includes(`%`)||e.includes(` `)))return;let r=n.map(e=>{let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:0});return r.some(e=>e>0)?r:void 0},b=(e,t)=>{if(!e)return!1;let n=(e,t)=>e===t||!!e&&!!t&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height;return n(e.rect,t.rect)&&n(e.clip,t.clip)&&((e,t)=>e===t||!!e&&!!t&&e.every((e,n)=>e===t[n]))(e.radius,t.radius)},x=new Map,S=async(e,t)=>{let n=x.get(e);if(n){for(let e of n)t&&e.element!==t||(e.stop(),n.delete(e));if(n.size>0)return;x.delete(e)}let r=await(await c()).packages.hide(e);if(`error`in r)throw s(r.error,r.message)},C=async(e,t)=>{let{element:n,rect:r}=t;if(!n&&!r)throw s(`invalid`,`packages.show: pass an element or a rect`);let i=(await c()).packages,a=()=>{if(!n)return{rect:g(r)};let e=g(n.getBoundingClientRect());return{rect:e,clip:v(n,e),radius:y(n)}},o=!0,l,u=0,d=async t=>{l=t;let n=await i.show(e,t);if(`error`in n)throw o=!1,s(n.error,n.message)};await d(a());let f=()=>{if(!o)return;let e=a();b(l,e)||d(e).catch(()=>{}),u=requestAnimationFrame(f)};n&&(u=requestAnimationFrame(f));let p={element:n,stop:()=>{o=!1,cancelAnimationFrame(u)}},m=x.get(e)??new Set;return m.add(p),x.set(e,m),{hide:()=>{S(e,n).catch(()=>{})},refresh:()=>{if(!o)return;let e=a();b(l,e)||d(e).catch(()=>{})}}},w=async(e,t={})=>S(e,t.element),T=(async(e,t={})=>{let n=await(await c()).packages.connect(e,{protocol:t.protocol});if(`error`in n)throw s(n.error,n.message);let{port:r,closed:i}=n;if(t.raw)return{closed:i,port:r};let a=await u(t.payload,r,{signal:t.signal,closed:i});return t.signal&&t.signal.addEventListener(`abort`,()=>{try{r.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:a,closed:i,port:r}}),E=(e,t,n)=>u(t,e,{signal:n?.signal}),D=null,O=!1,k=new Set,A=[],j=new Map,M=!1,N=!1,P=e=>{let t=j.get(e);t&&(j.delete(e),t())},F=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},I=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&P(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw F(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>j.set(e.port,t)),o=await l(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},L=()=>{M||typeof window>`u`||window.parent===window||(M=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent||e.origin!==i)return;let t=e.data;if(t?.type===`fkn-packages-port`){let n=e.ports[0];if(!n)return;let r={port:n,from:typeof t.from==`string`?t.from:``,protocol:typeof t.protocol==`string`?t.protocol:null,uri:typeof t.uri==`string`?t.uri:``,name:typeof t.name==`string`?t.name:``,version:typeof t.version==`string`?t.version:``};D?I(r,D).catch(e=>console.warn(`packages.onConnect:`,e)):A.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...j.keys()])P(e);if(t?.type===`fkn-packages-visibility`){O=t.visible===!0;for(let e of k)try{e(O)}catch{}}}))},R=()=>{N||typeof window>`u`||window.parent===window||(N=!0,window.parent.postMessage({type:`fkn-packages-ready`},i))},z=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};L();let n={createPayload:e,handler:t};for(D=n,R();A.length&&D===n;)I(A.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{D===n&&(D=null)}}},B=()=>O,V=e=>{if(typeof window>`u`)return{unsubscribe:()=>{}};L(),k.add(e);try{e(O)}catch{}return{unsubscribe:()=>{k.delete(e)}}};exports.attach=E,exports.connect=T,exports.hide=w,exports.install=p,exports.isVisible=B,exports.list=m,exports.onConnect=z,exports.onVisibilityChange=V,exports.pick=f,exports.search=d,exports.show=C,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.uninstall=h;
|
package/packages.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
export { AppConnectOptions, Connect, type ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, type InstallOptions, type InstalledPackage, PackageConnection, type PackageQuery, type PackageResult, PackagesError, type PackagesErrorCode, type PickOptions, RawPackageConnection, attach, connect, install, list, onConnect, pick, search, uninstall };
|
|
1
|
+
import { A as PackagesErrorCode, C as uninstall, D as InstalledPackage, E as InstallOptions, F as SurfaceRect, M as PickOptions, N as Placement, O as PackageQuery, P as Radii, S as show, T as ConnectOptions, _ as onConnect, a as IncomingConnectionInfo, b as pick, c as PackagesError, d as attach, f as connect, g as list, h as isVisible, i as IncomingConnection, k as PackageResult, l as RawPackageConnection, m as install, n as Connect, o as PackageConnection, p as hide, r as ConnectPayload, s as PackageView, t as AppConnectOptions, u as ShowOptions, v as onVisibilityChange, x as search } from "./packages-BtbLwrrW.js";
|
|
2
|
+
export { AppConnectOptions, Connect, type ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, type InstallOptions, type InstalledPackage, PackageConnection, type PackageQuery, type PackageResult, PackageView, PackagesError, type PackagesErrorCode, type PickOptions, type Placement, type Radii, RawPackageConnection, ShowOptions, type SurfaceRect, attach, connect, hide, install, isVisible, list, onConnect, onVisibilityChange, pick, search, show, uninstall };
|
package/packages.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { r as t, t as n } from "./api-
|
|
2
|
+
import { r as t, t as n } from "./api-B53pjQqI.js";
|
|
3
3
|
import { expose as r } from "osra";
|
|
4
4
|
//#region src/lib/packages.ts
|
|
5
5
|
var i = /* @__PURE__ */ e({
|
|
6
|
-
attach: () =>
|
|
7
|
-
connect: () =>
|
|
6
|
+
attach: () => D,
|
|
7
|
+
connect: () => E,
|
|
8
|
+
hide: () => T,
|
|
8
9
|
install: () => m,
|
|
10
|
+
isVisible: () => V,
|
|
9
11
|
list: () => h,
|
|
10
|
-
onConnect: () =>
|
|
12
|
+
onConnect: () => B,
|
|
13
|
+
onVisibilityChange: () => H,
|
|
11
14
|
pick: () => p,
|
|
12
15
|
search: () => f,
|
|
16
|
+
show: () => w,
|
|
13
17
|
uninstall: () => g
|
|
14
18
|
}), a = "https://fkn.app", o = "fkn-packages-connection", s = 3e4, c = (e, t) => Object.assign(Error(t), { code: e }), l = async () => {
|
|
15
19
|
if (!t) throw c("unavailable", "packages: no FKN transport in this realm - use relayWorker to bridge workers");
|
|
@@ -61,7 +65,92 @@ var i = /* @__PURE__ */ e({
|
|
|
61
65
|
}, h = async () => (await (await l()).packages.list()).results, g = async (e) => {
|
|
62
66
|
let t = await (await l()).packages.uninstall(e);
|
|
63
67
|
if ("error" in t) throw c(t.error, t.message);
|
|
64
|
-
}, _ = (
|
|
68
|
+
}, _ = ({ x: e, y: t, width: n, height: r }) => ({
|
|
69
|
+
x: Math.round(e),
|
|
70
|
+
y: Math.round(t),
|
|
71
|
+
width: Math.round(n),
|
|
72
|
+
height: Math.round(r)
|
|
73
|
+
}), v = (e, t) => {
|
|
74
|
+
let n = Math.max(e.x, t.x), r = Math.max(e.y, t.y);
|
|
75
|
+
return {
|
|
76
|
+
x: n,
|
|
77
|
+
y: r,
|
|
78
|
+
width: Math.max(0, Math.min(e.x + e.width, t.x + t.width) - n),
|
|
79
|
+
height: Math.max(0, Math.min(e.y + e.height, t.y + t.height) - r)
|
|
80
|
+
};
|
|
81
|
+
}, y = (e, t) => {
|
|
82
|
+
let n = t;
|
|
83
|
+
for (let t = e.parentElement; t; t = t.parentElement) {
|
|
84
|
+
let e = getComputedStyle(t);
|
|
85
|
+
if (!(e.overflowX === "visible" && e.overflowY === "visible") && (n = v(n, _(t.getBoundingClientRect())), n.width === 0 || n.height === 0)) break;
|
|
86
|
+
}
|
|
87
|
+
return n;
|
|
88
|
+
}, b = (e) => {
|
|
89
|
+
let t = getComputedStyle(e), n = [
|
|
90
|
+
t.borderTopLeftRadius,
|
|
91
|
+
t.borderTopRightRadius,
|
|
92
|
+
t.borderBottomRightRadius,
|
|
93
|
+
t.borderBottomLeftRadius
|
|
94
|
+
];
|
|
95
|
+
if (n.some((e) => e.includes("%") || e.includes(" "))) return;
|
|
96
|
+
let r = n.map((e) => {
|
|
97
|
+
let t = Number.parseFloat(e);
|
|
98
|
+
return Number.isFinite(t) && t > 0 ? t : 0;
|
|
99
|
+
});
|
|
100
|
+
return r.some((e) => e > 0) ? r : void 0;
|
|
101
|
+
}, x = (e, t) => {
|
|
102
|
+
if (!e) return !1;
|
|
103
|
+
let n = (e, t) => e === t || !!e && !!t && e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
|
|
104
|
+
return n(e.rect, t.rect) && n(e.clip, t.clip) && ((e, t) => e === t || !!e && !!t && e.every((e, n) => e === t[n]))(e.radius, t.radius);
|
|
105
|
+
}, S = /* @__PURE__ */ new Map(), C = async (e, t) => {
|
|
106
|
+
let n = S.get(e);
|
|
107
|
+
if (n) {
|
|
108
|
+
for (let e of n) t && e.element !== t || (e.stop(), n.delete(e));
|
|
109
|
+
if (n.size > 0) return;
|
|
110
|
+
S.delete(e);
|
|
111
|
+
}
|
|
112
|
+
let r = await (await l()).packages.hide(e);
|
|
113
|
+
if ("error" in r) throw c(r.error, r.message);
|
|
114
|
+
}, w = async (e, t) => {
|
|
115
|
+
let { element: n, rect: r } = t;
|
|
116
|
+
if (!n && !r) throw c("invalid", "packages.show: pass an element or a rect");
|
|
117
|
+
let i = (await l()).packages, a = () => {
|
|
118
|
+
if (!n) return { rect: _(r) };
|
|
119
|
+
let e = _(n.getBoundingClientRect());
|
|
120
|
+
return {
|
|
121
|
+
rect: e,
|
|
122
|
+
clip: y(n, e),
|
|
123
|
+
radius: b(n)
|
|
124
|
+
};
|
|
125
|
+
}, o = !0, s, u = 0, d = async (t) => {
|
|
126
|
+
s = t;
|
|
127
|
+
let n = await i.show(e, t);
|
|
128
|
+
if ("error" in n) throw o = !1, c(n.error, n.message);
|
|
129
|
+
};
|
|
130
|
+
await d(a());
|
|
131
|
+
let f = () => {
|
|
132
|
+
if (!o) return;
|
|
133
|
+
let e = a();
|
|
134
|
+
x(s, e) || d(e).catch(() => {}), u = requestAnimationFrame(f);
|
|
135
|
+
};
|
|
136
|
+
n && (u = requestAnimationFrame(f));
|
|
137
|
+
let p = {
|
|
138
|
+
element: n,
|
|
139
|
+
stop: () => {
|
|
140
|
+
o = !1, cancelAnimationFrame(u);
|
|
141
|
+
}
|
|
142
|
+
}, m = S.get(e) ?? /* @__PURE__ */ new Set();
|
|
143
|
+
return m.add(p), S.set(e, m), {
|
|
144
|
+
hide: () => {
|
|
145
|
+
C(e, n).catch(() => {});
|
|
146
|
+
},
|
|
147
|
+
refresh: () => {
|
|
148
|
+
if (!o) return;
|
|
149
|
+
let e = a();
|
|
150
|
+
x(s, e) || d(e).catch(() => {});
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}, T = async (e, t = {}) => C(e, t.element), E = (async (e, t = {}) => {
|
|
65
154
|
let n = await (await l()).packages.connect(e, { protocol: t.protocol });
|
|
66
155
|
if ("error" in n) throw c(n.error, n.message);
|
|
67
156
|
let { port: r, closed: i } = n;
|
|
@@ -82,10 +171,10 @@ var i = /* @__PURE__ */ e({
|
|
|
82
171
|
closed: i,
|
|
83
172
|
port: r
|
|
84
173
|
};
|
|
85
|
-
}),
|
|
86
|
-
let t =
|
|
87
|
-
t && (
|
|
88
|
-
},
|
|
174
|
+
}), D = (e, t, n) => d(t, e, { signal: n?.signal }), O = null, k = !1, A = /* @__PURE__ */ new Set(), j = [], M = /* @__PURE__ */ new Map(), N = !1, P = !1, F = (e) => {
|
|
175
|
+
let t = M.get(e);
|
|
176
|
+
t && (M.delete(e), t());
|
|
177
|
+
}, I = (e, t) => {
|
|
89
178
|
try {
|
|
90
179
|
e.postMessage({
|
|
91
180
|
type: "fkn-packages-nack",
|
|
@@ -95,26 +184,26 @@ var i = /* @__PURE__ */ e({
|
|
|
95
184
|
try {
|
|
96
185
|
e.close();
|
|
97
186
|
} catch {}
|
|
98
|
-
},
|
|
187
|
+
}, L = async (e, t) => {
|
|
99
188
|
let { port: n, ...r } = e;
|
|
100
189
|
e.port.addEventListener("message", (t) => {
|
|
101
|
-
t.data?.type === "fkn-packages-disconnect" &&
|
|
190
|
+
t.data?.type === "fkn-packages-disconnect" && F(e.port);
|
|
102
191
|
});
|
|
103
192
|
let i;
|
|
104
193
|
try {
|
|
105
194
|
i = await t.createPayload(r);
|
|
106
195
|
} catch (t) {
|
|
107
|
-
throw
|
|
196
|
+
throw I(e.port, t instanceof Error ? t.message : "the package failed to produce a connection"), t;
|
|
108
197
|
}
|
|
109
|
-
let a = new Promise((t) =>
|
|
198
|
+
let a = new Promise((t) => M.set(e.port, t)), o = await u(i, e.port);
|
|
110
199
|
t.handler?.({
|
|
111
200
|
...r,
|
|
112
201
|
remote: o,
|
|
113
202
|
closed: a,
|
|
114
203
|
port: e.port
|
|
115
204
|
});
|
|
116
|
-
},
|
|
117
|
-
|
|
205
|
+
}, R = () => {
|
|
206
|
+
N || typeof window > "u" || window.parent === window || (N = !0, window.addEventListener("message", (e) => {
|
|
118
207
|
if (e.source !== window.parent || e.origin !== a) return;
|
|
119
208
|
let t = e.data;
|
|
120
209
|
if (t?.type === "fkn-packages-port") {
|
|
@@ -128,23 +217,38 @@ var i = /* @__PURE__ */ e({
|
|
|
128
217
|
name: typeof t.name == "string" ? t.name : "",
|
|
129
218
|
version: typeof t.version == "string" ? t.version : ""
|
|
130
219
|
};
|
|
131
|
-
|
|
220
|
+
O ? L(r, O).catch((e) => console.warn("packages.onConnect:", e)) : j.push(r);
|
|
221
|
+
}
|
|
222
|
+
if (t?.type === "fkn-packages-close") for (let e of [...M.keys()]) F(e);
|
|
223
|
+
if (t?.type === "fkn-packages-visibility") {
|
|
224
|
+
k = t.visible === !0;
|
|
225
|
+
for (let e of A) try {
|
|
226
|
+
e(k);
|
|
227
|
+
} catch {}
|
|
132
228
|
}
|
|
133
|
-
if (t?.type === "fkn-packages-close") for (let e of [...x.keys()]) w(e);
|
|
134
229
|
}));
|
|
135
|
-
},
|
|
136
|
-
|
|
137
|
-
},
|
|
230
|
+
}, z = () => {
|
|
231
|
+
P || typeof window > "u" || window.parent === window || (P = !0, window.parent.postMessage({ type: "fkn-packages-ready" }, a));
|
|
232
|
+
}, B = (e, t) => {
|
|
138
233
|
if (typeof window > "u") return { unsubscribe: () => {} };
|
|
139
|
-
|
|
234
|
+
R();
|
|
140
235
|
let n = {
|
|
141
236
|
createPayload: e,
|
|
142
237
|
handler: t
|
|
143
238
|
};
|
|
144
|
-
for (
|
|
239
|
+
for (O = n, z(); j.length && O === n;) L(j.shift(), n).catch((e) => console.warn("packages.onConnect:", e));
|
|
240
|
+
return { unsubscribe: () => {
|
|
241
|
+
O === n && (O = null);
|
|
242
|
+
} };
|
|
243
|
+
}, V = () => k, H = (e) => {
|
|
244
|
+
if (typeof window > "u") return { unsubscribe: () => {} };
|
|
245
|
+
R(), A.add(e);
|
|
246
|
+
try {
|
|
247
|
+
e(k);
|
|
248
|
+
} catch {}
|
|
145
249
|
return { unsubscribe: () => {
|
|
146
|
-
|
|
250
|
+
A.delete(e);
|
|
147
251
|
} };
|
|
148
252
|
};
|
|
149
253
|
//#endregion
|
|
150
|
-
export {
|
|
254
|
+
export { D as attach, E as connect, T as hide, m as install, V as isVisible, h as list, B as onConnect, H as onVisibilityChange, p as pick, f as search, w as show, i as t, g as uninstall };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./api-
|
|
1
|
+
const e=require("./api-dp9SlXVw.cjs");var t=[`fkn.app`,`fkn.dev`],n=e=>{let n=typeof e==`string`?e:e instanceof URL?e.href:e.url,r;try{r=new URL(n)}catch{return}let i=r.hostname;if(t.some(e=>i===e||i.endsWith(`.${e}`)))throw Error(`fetch refuses FKN platform domains (${i})`)},r=async e=>{if(e!=null)return typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e:new Request(`https://body.invalid/`,{method:`POST`,body:e,duplex:`half`}).arrayBuffer()},i=async e=>{if(e.method===`GET`||e.method===`HEAD`)return;let t=await e.clone().arrayBuffer();return t.byteLength?t:void 0},a=async(t,a)=>{if(n(t),typeof t==`object`&&t&&!(t instanceof URL)&&typeof t.url==`string`){let n=t,o={};n.headers.forEach((e,t)=>{o[t]=e});let s=await r(a?.body===void 0?await i(n):a.body);return e.t.then(e=>e.cloud.fetch(n.url,{...a,method:a?.method??n.method,headers:a?.headers??o,body:s}))}let o=t instanceof URL?t.href:t,s=await r(a?.body);return e.t.then(e=>e.cloud.fetch(o,a?.body===void 0?a:{...a,body:s}))};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-dp9SlXVw.cjs");var n=e.t({StorageLockedError:()=>r,available:()=>a,encryption:()=>d,list:()=>o,quota:()=>s,readFile:()=>c,remove:()=>u,unlock:()=>f,writeFile:()=>l}),r=class extends Error{code=`FKN_E2E_LOCKED`;constructor(){super(`storage locked: this app stores encrypted data, unlock it from the FKN card or unlock()`)}},i=e=>{throw e instanceof Error&&e.message.startsWith(`fkn:e2e-locked`)?new r:e},a=()=>t.t.then(e=>e.cloud.fs.available()).catch(()=>!1),o=()=>t.t.then(e=>e.cloud.fs.list()),s=()=>t.t.then(e=>e.cloud.fs.quota()),c=async e=>{let n=await(await t.t).cloud.fs.readFile(e).catch(i);return new Blob([n])},l=async(e,n,r)=>{let a=await t.t,o=n instanceof Blob?new Uint8Array(await n.arrayBuffer()):n;await a.cloud.fs.writeFile(e,o,r?.contentType??null).catch(i)},u=e=>t.t.then(t=>t.cloud.fs.remove(e)).then(()=>void 0),d=()=>t.t.then(e=>e.cloud.fs.encryption()),f=()=>t.t.then(e=>e.cloud.fs.unlock());Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return l}});
|
package/api-C9Mh5v0z.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs");let t=require("osra");var n=32,r=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),i=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,`normal`),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},a=({x:e,y:t,width:n,height:r})=>`M${e} ${t}h${n}v${r}h${-n}Z`,o=(e,{modal:t,rects:n})=>{if(!r){let r=t||n.length>0;e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let i=t?`none`:n.length===0?`inset(100%)`:`path('${n.map(a).join(``)}')`,o=i===`none`||CSS.supports(`clip-path`,i)?i:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`)},s=e=>{if(typeof e!=`object`||!e)return null;let{x:t,y:n,width:r,height:i}=e;if(![t,n,r,i].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let a=window.innerWidth,o=window.innerHeight,s=Math.max(0,Math.min(Math.round(t),a)),c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(s,Math.min(Math.round(t+r),a)),u=Math.max(c,Math.min(Math.round(n+i),o));return{x:s,y:c,width:l-s,height:u-c}},c=e=>{if(typeof e!=`object`||!e)return null;let t=e,r=(Array.isArray(t.rects)?t.rects.slice(0,n):[]).map(s).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:t.modal===!0,rects:r}},l=null,u=()=>l!==null,d=e=>{i(e),o(e,{modal:!1,rects:[]}),l=e},f=e=>{if(!l)return;let t=c(e);t&&o(l,t)},p=`https://fkn.app`,m=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,h=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,g=`${p}/api${h?`?coi=1`:``}`,_=`fkn-api-port`,v=`fkn-api-port-ack`,y=2e3,b=()=>{if(!m||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===v&&r(t.port1)},a=setTimeout(()=>r(void 0),y);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:_},p,[t.port2])}catch{r(void 0)}})},x,S=()=>{if(x||!m)return x;let e=m.querySelector(`iframe[src="${g}"]`);if(e)x=e;else{let e=m.createElement(`iframe`);h&&e.setAttribute(`allow`,`cross-origin-isolated`),e.src=g,m.body.appendChild(e),x=e}return d(x),x},C=(async()=>{if(!m)return;let e=await b();if(e)return{receive:e,emit:e};let t=S()?.contentWindow;return t?{receive:window,emit:t}:void 0})(),w=()=>x,T=e.t({apiPromise:()=>D,hasTransport:()=>E}),E=typeof window<`u`||typeof self<`u`,D=(async()=>{if(typeof window<`u`)return C;if(typeof self<`u`)return{receive:self,emit:self}})().then(e=>e?(0,t.expose)({},{key:`fkn-api`,transport:e}):new Promise(()=>{}));D.then(e=>{u()&&e.overlay.setHost(f)},()=>{}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return D}});
|