@fkn/lib 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/account.cjs +1 -1
  2. package/account.js +2 -2
  3. package/{api-CAZo3BT0.js → api-Bhz3iB9m.js} +15 -15
  4. package/{api-BwrS6P0x.cjs → api-C75xqLFy.cjs} +1 -1
  5. package/cloud/dgram.cjs +1 -1
  6. package/cloud/dgram.js +1 -1
  7. package/cloud/fs.cjs +1 -1
  8. package/cloud/fs.js +2 -2
  9. package/cloud/net.cjs +1 -1
  10. package/cloud/net.js +1 -1
  11. package/{cloud-DArHoBaw.js → cloud-BeHgCa_z.js} +20 -18
  12. package/{cloud-CzMjj2Ne.d.ts → cloud-CAOIpDIH.d.ts} +1 -1
  13. package/{cloud-BcpPsNs3.cjs → cloud-Cd6TzZXd.cjs} +1 -1
  14. package/cloud.cjs +1 -1
  15. package/cloud.d.ts +1 -1
  16. package/cloud.js +4 -4
  17. package/desktop.cjs +1 -1
  18. package/desktop.js +1 -1
  19. package/{dgram-pCNllfov.cjs → dgram-C2LmoO0A.cjs} +1 -1
  20. package/{dgram-C1yYxLEI.js → dgram-D4JF_XW7.js} +2 -2
  21. package/dgram.cjs +1 -1
  22. package/dgram.js +1 -1
  23. package/dns.cjs +1 -1
  24. package/dns.js +2 -2
  25. package/extension-C46Rp-qr.js +73 -0
  26. package/extension-CkPvwol3.cjs +1 -0
  27. package/extension-D7SSKewV.d.ts +16 -0
  28. package/extension.cjs +1 -1
  29. package/extension.d.ts +3 -3
  30. package/extension.js +3 -3
  31. package/fs/promises.cjs +1 -1
  32. package/fs/promises.js +1 -1
  33. package/{fs-BrBsBqRz.cjs → fs-BXcz3BjJ.cjs} +1 -1
  34. package/{fs-_59wCBU2.js → fs-Bghx-1Hy.js} +4 -4
  35. package/fs.cjs +1 -1
  36. package/fs.js +1 -1
  37. package/http.cjs +1 -1
  38. package/http.js +2 -2
  39. package/{index-BJztAQIP.d.ts → index-pr5vLVVT.d.ts} +499 -406
  40. package/index.cjs +1 -1
  41. package/index.d.ts +4 -4
  42. package/index.js +28 -28
  43. package/{net-VAkfxAvn.js → net-BgQYnATG.js} +2 -2
  44. package/{net-BOyLJ3mh.cjs → net-zOx2OVGc.cjs} +1 -1
  45. package/net.cjs +1 -1
  46. package/net.js +1 -1
  47. package/{opfs-7_GmzQ93.js → opfs-BibrNGF0.js} +1 -1
  48. package/{opfs-uClkgnb5.cjs → opfs-CXMESVLc.cjs} +1 -1
  49. package/opfs.cjs +1 -1
  50. package/opfs.js +2 -2
  51. package/package.json +1 -1
  52. package/packages.cjs +1 -1
  53. package/packages.js +2 -2
  54. package/proxy-BEz2K6e4.cjs +53 -0
  55. package/{proxy-B3rliZN8.js → proxy-Bhk4X3xo.js} +505 -603
  56. package/rolldown-runtime-BIInC43l.cjs +1 -0
  57. package/{rolldown-runtime-DF993M8W.js → rolldown-runtime-Dy4uBu1J.js} +2 -2
  58. package/{storage-InqJHrkf.js → storage-D01O3zky.js} +2 -2
  59. package/{storage-C1BT8jwJ.cjs → storage-a3OhXFv2.cjs} +1 -1
  60. package/background-DMESyLZ6.cjs +0 -1
  61. package/background-DxYR_JMs.js +0 -1028
  62. package/extension-3pxUYwrA.d.ts +0 -16
  63. package/extension-CjJNj5Yl.cjs +0 -1
  64. package/extension-Qs02HPzR.js +0 -67
  65. package/proxy-g2yknq7C.cjs +0 -53
  66. package/rolldown-runtime-Doa5O59j.cjs +0 -1
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
@@ -1,5 +1,5 @@
1
1
  //#region \0rolldown/runtime.js
2
- var e = Object.defineProperty, t = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), n = (t, n) => {
2
+ var e = Object.defineProperty, t = (t, n) => {
3
3
  let r = {};
4
4
  for (var i in t) e(r, i, {
5
5
  get: t[i],
@@ -8,4 +8,4 @@ var e = Object.defineProperty, t = (e, t) => () => (t || (e((t = { exports: {} }
8
8
  return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
9
  };
10
10
  //#endregion
11
- export { n, t };
11
+ export { t };
@@ -1,5 +1,5 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
- import { t } from "./api-CAZo3BT0.js";
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { t } from "./api-Bhz3iB9m.js";
3
3
  //#endregion
4
4
  //#region src/lib/storage.ts
5
5
  var n = /* @__PURE__ */ e({
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./api-BwrS6P0x.cjs");var n=e.n({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}});
1
+ const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-C75xqLFy.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}});
@@ -1 +0,0 @@
1
- const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./proxy-g2yknq7C.cjs");let n=require("osra");var r=e.t(((e,t)=>{(function(n,r){if(typeof define==`function`&&define.amd)define(`webextension-polyfill`,[`module`],r);else if(e!==void 0)r(t);else{var i={exports:{}};r(i),n.browser=i.exports}})(typeof globalThis<`u`?globalThis:typeof self<`u`?self:e,function(e){"use strict";if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw Error(`This script should only be loaded in a browser extension.`);globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id?e.exports=globalThis.browser:e.exports=(e=>{let t={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(t).length===0)throw Error(`api-metadata.json has not been included in browser-polyfill`);class n extends WeakMap{constructor(e,t=void 0){super(t),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}let r=e=>e&&typeof e==`object`&&typeof e.then==`function`,i=(t,n)=>(...r)=>{e.runtime.lastError?t.reject(Error(e.runtime.lastError.message)):n.singleCallbackArg||r.length<=1&&n.singleCallbackArg!==!1?t.resolve(r[0]):t.resolve(r)},a=e=>e==1?`argument`:`arguments`,o=(e,t)=>function(n,...r){if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((a,o)=>{if(t.fallbackToNoCallback)try{n[e](...r,i({resolve:a,reject:o},t))}catch(i){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,i),n[e](...r),t.fallbackToNoCallback=!1,t.noCallback=!0,a()}else t.noCallback?(n[e](...r),a()):n[e](...r,i({resolve:a,reject:o},t))})},s=(e,t,n)=>new Proxy(t,{apply(t,r,i){return n.call(r,e,...i)}}),c=Function.call.bind(Object.prototype.hasOwnProperty),l=(e,t={},n={})=>{let r=Object.create(null),i={has(t,n){return n in e||n in r},get(i,a,u){if(a in r)return r[a];if(!(a in e))return;let d=e[a];if(typeof d==`function`)if(typeof t[a]==`function`)d=s(e,e[a],t[a]);else if(c(n,a)){let t=o(a,n[a]);d=s(e,e[a],t)}else d=d.bind(e);else if(typeof d==`object`&&d&&(c(t,a)||c(n,a)))d=l(d,t[a],n[a]);else if(c(n,`*`))d=l(d,t[a],n[`*`]);else return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get(){return e[a]},set(t){e[a]=t}}),d;return r[a]=d,d},set(t,n,i,a){return n in r?r[n]=i:e[n]=i,!0},defineProperty(e,t,n){return Reflect.defineProperty(r,t,n)},deleteProperty(e,t){return Reflect.deleteProperty(r,t)}},a=Object.create(e);return new Proxy(a,i)},u=e=>({addListener(t,n,...r){t.addListener(e.get(n),...r)},hasListener(t,n){return t.hasListener(e.get(n))},removeListener(t,n){t.removeListener(e.get(n))}}),d=new n(e=>typeof e==`function`?function(t){e(l(t,{},{getContent:{minArgs:0,maxArgs:0}}))}:e),f=new n(e=>typeof e==`function`?function(t,n,i){let a=!1,o,s=new Promise(e=>{o=function(t){a=!0,e(t)}}),c;try{c=e(t,n,o)}catch(e){c=Promise.reject(e)}let l=c!==!0&&r(c);return c!==!0&&!l&&!a?!1:((e=>{e.then(e=>{i(e)},e=>{let t;t=e&&(e instanceof Error||typeof e.message==`string`)?e.message:`An unexpected error occurred`,i({__mozWebExtensionPolyfillReject__:!0,message:t})}).catch(e=>{console.error(`Failed to send onMessage rejected reply`,e)})})(l?c:s),!0)}:e),p=({reject:t,resolve:n},r)=>{e.runtime.lastError?e.runtime.lastError.message===`The message port closed before a response was received.`?n():t(Error(e.runtime.lastError.message)):r&&r.__mozWebExtensionPolyfillReject__?t(Error(r.message)):n(r)},m=(e,t,n,...r)=>{if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((e,t)=>{let i=p.bind(null,{resolve:e,reject:t});r.push(i),n.sendMessage(...r)})},h={devtools:{network:{onRequestFinished:u(d)}},runtime:{onMessage:u(f),onMessageExternal:u(f),sendMessage:m.bind(null,`sendMessage`,{minArgs:1,maxArgs:3})},tabs:{sendMessage:m.bind(null,`sendMessage`,{minArgs:2,maxArgs:3})}},g={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return t.privacy={network:{"*":g},services:{"*":g},websites:{"*":g}},l(e,h,t)})(chrome)})}))(),i=`FKN_WEB_EXTENSION_BACKGROUND_COMMUNICATION_OSRA_KEY`,a=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`,o=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY`,s=e=>t.b(e)&&e.FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY===!0&&typeof e.from==`string`&&t.b(e.message),c=new Map,l=e=>{let i=c.get(e);if(i)return i;let{promise:s,resolve:l}=Promise.withResolvers(),{promise:u,resolve:d}=Promise.withResolvers(),f={resolvers:(0,n.expose)(O,{key:a,revivableModules:t.L,transport:{isJson:!0,receive:e=>l(e),emit:t=>{r.runtime.sendMessage({[o]:!0,target:e,message:t}).catch(()=>{})}}}),listener:s,stale:u,markStale:d};return c.set(e,f),f};r.runtime.onMessage.addListener((e,t)=>{s(e)&&(0,n.checkOsraMessageKey)(e.message,`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`)&&l(e.from).listener.then(n=>n(e.message,{sender:t}))}),t._(e=>{let t=c.get(e);t&&(t.markStale(),c.delete(e))});var u=async e=>{let t=l(e);return{resolvers:await Promise.race([t.resolvers,t.stale.then(()=>{throw Error(`peer ${e} became stale before connect completed`)})]),stale:t.stale}},d=[`position: fixed`,`border: 2px solid oklch(63% 0.24 25)`,`border-radius: 4px`,`background: oklch(63% 0.24 25 / 0.12)`,`box-shadow: 0 0 0 2px oklch(63% 0.24 25 / 0.5), 0 0 0 100vmax oklch(0% 0 0 / 0.5)`,`z-index: 2147483647`,`pointer-events: none`,`box-sizing: border-box`],f=(e,t)=>{let n=t.getBoundingClientRect();e.setAttribute(`style`,[...d,`left: ${n.left}px`,`top: ${n.top}px`,`width: ${n.width}px`,`height: ${n.height}px`].map(e=>`${e} !important`).join(`; `))},p=e=>{let t=e.getBoundingClientRect();return{clientX:t.left+t.width/2,clientY:t.top+t.height/2}},m=0,h=e=>{m^=1;let{clientX:t,clientY:n}=p(e),r={bubbles:!0,cancelable:!0,composed:!0,clientX:t+m,clientY:n};e.dispatchEvent(new PointerEvent(`pointermove`,{...r,pointerType:`mouse`,pointerId:1,isPrimary:!0})),e.dispatchEvent(new MouseEvent(`mousemove`,r))},g=[[PointerEvent,`pointerover`,!0],[PointerEvent,`pointerenter`,!1],[MouseEvent,`mouseover`,!0],[MouseEvent,`mouseenter`,!1]],_=[[PointerEvent,`pointerout`,!0],[PointerEvent,`pointerleave`,!1],[MouseEvent,`mouseout`,!0],[MouseEvent,`mouseleave`,!1]],v=(e,t)=>t.forEach(([t,n,r])=>e.dispatchEvent(new t(n,{bubbles:r,cancelable:!0,composed:!0,...p(e)}))),y=e=>{v(e,g),h(e)},b=e=>v(e,_),x=null,S=e=>{C();try{e.scrollIntoView({block:`center`,inline:`center`})}catch{}let t=document.createElement(`div`);(document.body??document.documentElement).appendChild(t),y(e);let n=requestAnimationFrame(function r(){f(t,e),n=requestAnimationFrame(r)}),r=window.setInterval(()=>h(e),300);x={stop:()=>{cancelAnimationFrame(n),clearInterval(r),b(e),t.remove()}}},C=()=>{x?.stop(),x=null},w={[t.p]:t.f,[t.h]:t.m},T=e=>{let t=w[e.locatorType];if(!t)throw Error(`Unknown locator kind: "${e.locatorType}"`);let n=t.selectorModules.find(t=>t.type===e.type);if(!n)throw Error(`Unknown selector: "${e.locatorType}.${e.type}"`);return n},E=e=>e.reduce((e,t)=>T(t).resolve({elements:e},...t.args),[document.documentElement]),D=e=>{for(let t=0;t<e.length;t++){let n=T(e[t]);if(n.resolvePeer)return{module:n,index:t}}return null},O={contentScriptDummy:()=>{},executeLocator:async(e,n,r)=>{let i=D(e);if(i){let t=await i.module.resolvePeer({parts:e,selfIndex:i.index,resolveLocal:E}),{resolvers:a,stale:o}=await u(t),s=e.slice(i.index+1);return Promise.race([a.executeLocator(s,n,r),o.then(()=>{throw Error(`peer ${t} became stale during call, retrying`)})])}if(n===`__fkn_highlight`){if(r[0]?.on){let n=E(e)[0];n&&(t.g(!0),S(n))}else C(),t.g(!1);return}let a=[...t.f.operationModules,...t.m.operationModules].find(e=>e.type===n);if(!a)throw Error(`Unknown operation: "${n}"`);return a.resolve({elements:E(e)},...r)}},k=(globalThis.browser??globalThis.chrome).runtime,A=(0,n.expose)(O,{key:i,transport:{isJson:!0,receive:k.onMessage,emit:k}});exports.backgroundResolvers=A;