@fkn/lib 0.9.42 → 0.9.43

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/cloud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./proxy-Dixbk1WL.js";
2
- import { i as t, r as n, t as r } from "./cloud-f3j4s8yZ.js";
2
+ import { i as t, r as n, t as r } from "./cloud-D-vDUzzx.js";
3
3
  import { t as i } from "./dns.js";
4
4
  import { t as a } from "./cloud/fs.js";
5
5
  import { t as o } from "./net.js";
@@ -1,5 +1,34 @@
1
- import { $ as SelectorPart, u as ClearCookiesWire } from "./index-BtFiGoVQ.js";
1
+ import { D as StorageState, tt as SelectorPart, u as ClearCookiesWire } from "./index-Cgnfjh9o.js";
2
2
  import { o as TcpSocketOption, v as UdpSocketOption } from "./wire-Gbo-D74t.js";
3
+ //#region ../web-extension/lib/lib/storage-state.d.ts
4
+ /**
5
+ * A `storageState` cookie in the cloud jar's own shape (mirage's `Cookie`): `domain` always with
6
+ * its leading dot and `hostOnly` beside it, `expires` in milliseconds or absent for a session
7
+ * cookie, `sameSite` lowercase, every default filled in.
8
+ */
9
+ type JarSeedCookie = {
10
+ name: string;
11
+ value: string;
12
+ domain: string;
13
+ hostOnly: boolean;
14
+ path: string;
15
+ expires?: number;
16
+ httpOnly: boolean;
17
+ secure: boolean;
18
+ sameSite: 'strict' | 'lax' | 'none';
19
+ };
20
+ /** A `storageState` as the render proxy seeds it into an attachment's jar and storage namespace. */
21
+ type JarSeed = {
22
+ cookies: JarSeedCookie[];
23
+ origins: {
24
+ origin: string;
25
+ localStorage: {
26
+ name: string;
27
+ value: string;
28
+ }[];
29
+ }[];
30
+ };
31
+ //#endregion
3
32
  //#region src/contract.d.ts
4
33
  /**
5
34
  * What the broker's account change notification says. `switched` is true only when the account the
@@ -288,6 +317,25 @@ type ShellControl = {
288
317
  clearCookies?(filter: ClearCookiesWire, scope: {
289
318
  hosts: string[];
290
319
  }): Promise<void>;
320
+ /**
321
+ * The hosts this shell's extension carrier may send a blank page's own fetch and XHR requests to: the
322
+ * attachment's approved set, each call replacing the last. The shell drops every FKN platform host whatever it
323
+ * is told, and a shell with nothing to carry (a window, an `'ephemeral'` jar, a page that is not blank, no
324
+ * extension that announces the carrier) resolves and carries nothing. A TypeError for anything but an array of
325
+ * non-empty strings. Absent from a shell that predates the carrier, which sends every request through WebVPN.
326
+ */
327
+ carry?(hosts: string[]): Promise<void>;
328
+ /**
329
+ * Seeds this shell's jar and storage namespace: the cookies join the jar, recorded as its own,
330
+ * and each origin's localStorage items are written where that origin's pages read them, by the
331
+ * frame host serving it before the host takes a navigation. Resolves once the jar holds the
332
+ * cookies and the items of every origin a host serves now are written, so a goto sent afterwards
333
+ * carries them. Only on a jar of the attachment's own with a namespace of its own: on the shared
334
+ * jar (an empty session, a window on its opener's) a TypeError `attachFrame: storageState seeds a
335
+ * fresh jar, so it needs cookies: 'ephemeral'`, with nothing seeded. A seed of another shape is a
336
+ * TypeError from the shell's controller. Absent from a shell that predates it.
337
+ */
338
+ seed?(seed: JarSeed): Promise<void>;
291
339
  };
292
340
  /**
293
341
  * What a middle page exposes to the library, inline (`ATTACH_FRAME_KEY`) and for a window
@@ -339,6 +387,22 @@ type MiddleControl = {
339
387
  * a middle page that predates it, which the library refuses by name.
340
388
  */
341
389
  clearCookies?(filter: ClearCookiesWire): Promise<void>;
390
+ /**
391
+ * Seeds the attachment's fresh jar and storage namespace from a `storageState` in the app's own
392
+ * shape (milliseconds `expires`), which the middle page checks as the library does, turns into
393
+ * the jar's shape and hands its shell (`ShellControl.seed`). Once per attachment, before its first
394
+ * goto: the library mounts a seeded attach with no target and sends the attach url as that goto
395
+ * once this resolves. That goto is the attachment's first load, so it takes the first load's rule
396
+ * (`ShellGotoOptions.commitFallback`). Resolves `undefined`, so nothing about the jar crosses back.
397
+ *
398
+ * Refuses, before anything reaches the shell: a seed on the shared jar (the TypeError `attachFrame:
399
+ * storageState seeds a fresh jar, so it needs cookies: 'ephemeral'`), a malformed one (the
400
+ * library's own TypeErrors), a second seed, one sent once a goto was, even one still in flight, and
401
+ * one on an attachment mounted on a url, which its shell loads itself (each an Error), and a shell
402
+ * that predates seeding (LocatorUnsupportedError). Absent from a middle page that predates it,
403
+ * which the library refuses by name.
404
+ */
405
+ seed?(state: StorageState): Promise<void>;
342
406
  };
343
407
  /** What a window's middle page adds to its channel. */
344
408
  type WindowMiddleControl = MiddleControl & {
@@ -957,4 +1021,4 @@ type Resolvers = {
957
1021
  hideInstallPrompt: () => void;
958
1022
  };
959
1023
  //#endregion
960
- export { RoomHandle as $, MiddleGotoOptions as A, WINDOW_HELLO_TIMEOUT_MS as At, ProxyFetch as B, FrameMessageRelay as C, TcpSocketListenerResult as Ct, IpFamily as D, UdpSocketOptions as Dt, InstalledPackage as E, UdpDatagram as Et, PackageResult as F, Radii as G, ProxyFetchInput as H, PackagesErrorCode as I, RoomClaimOptions as J, Resolvers as K, PackagesFail as L, OverlayRect as M, WindowMiddleControl as Mt, OverlayState as N, WriteData as Nt, JAR_ANCHOR_MESSAGE as O, UdpSocketResult as Ot, PackageQuery as P, RoomEvent as Q, PickOptions as R, FrameFetchScope as S, TcpSocketListenerOptions as St, InstallOptions as T, TcpSocketResult as Tt, Quota as U, ProxyFetchInit as V, ROOM_TEMPORARY_MS as W, RoomDefaults as X, RoomCreateOptions as Y, RoomEnd as Z, DnsLookup as _, ShellGotoOptions as _t, AccountChange as a, RoomPermission as at, FrameConsentAnswer as b, StorageQuota as bt, AdoptRequest as c, RoomsFail as ct, ConflictRequest as d, SHELL_FRAME_MESSAGE as dt, RoomJoinOptions as et, ConflictSide as f, SHELL_JAR_MESSAGE as ft, DisplayLevel as g, ShellFrameMessage as gt, DisplayCause as h, ShellControl as ht, Account as i, RoomOpenOptions as it, MountDescriptor as j, WINDOW_JAR_MODE_TIMEOUT_MS as jt, MiddleControl as k, WINDOW_HANDSHAKE_TIMEOUT_MS as kt, AdoptState as l, SHELL_ATTACH_ERROR as lt, ConnectOptions as m, SetOverlayHost as mt, ATTACH_WINDOW_KEY as n, RoomMember as nt, AccountPinOptions as o, RoomPermissions as ot, ConnectAvailability as p, SHELL_JAR_UNREACHABLE as pt, RoomBacklog as q, ATTACH_WINDOW_MESSAGE as r, RoomMessage as rt, AddressLookupResult as s, RoomsErrorCode as st, ATTACH_FRAME_KEY as t, RoomMailbox as tt, ConflictChoice as u, SHELL_CONTROL_KEY as ut, EncryptionState as v, ShellJarUnreachable as vt, HiddenSurface as w, TcpSocketOptions as wt, FrameConsentRequest as x, SurfaceRect as xt, FRAME_MESSAGE as y, StorageEntry as yt, Placement as z };
1024
+ export { RoomHandle as $, MiddleGotoOptions as A, WINDOW_HELLO_TIMEOUT_MS as At, ProxyFetch as B, FrameMessageRelay as C, TcpSocketListenerResult as Ct, IpFamily as D, UdpSocketOptions as Dt, InstalledPackage as E, UdpDatagram as Et, PackageResult as F, JarSeedCookie as Ft, Radii as G, ProxyFetchInput as H, PackagesErrorCode as I, RoomClaimOptions as J, Resolvers as K, PackagesFail as L, OverlayRect as M, WindowMiddleControl as Mt, OverlayState as N, WriteData as Nt, JAR_ANCHOR_MESSAGE as O, UdpSocketResult as Ot, PackageQuery as P, JarSeed as Pt, RoomEvent as Q, PickOptions as R, FrameFetchScope as S, TcpSocketListenerOptions as St, InstallOptions as T, TcpSocketResult as Tt, Quota as U, ProxyFetchInit as V, ROOM_TEMPORARY_MS as W, RoomDefaults as X, RoomCreateOptions as Y, RoomEnd as Z, DnsLookup as _, ShellGotoOptions as _t, AccountChange as a, RoomPermission as at, FrameConsentAnswer as b, StorageQuota as bt, AdoptRequest as c, RoomsFail as ct, ConflictRequest as d, SHELL_FRAME_MESSAGE as dt, RoomJoinOptions as et, ConflictSide as f, SHELL_JAR_MESSAGE as ft, DisplayLevel as g, ShellFrameMessage as gt, DisplayCause as h, ShellControl as ht, Account as i, RoomOpenOptions as it, MountDescriptor as j, WINDOW_JAR_MODE_TIMEOUT_MS as jt, MiddleControl as k, WINDOW_HANDSHAKE_TIMEOUT_MS as kt, AdoptState as l, SHELL_ATTACH_ERROR as lt, ConnectOptions as m, SetOverlayHost as mt, ATTACH_WINDOW_KEY as n, RoomMember as nt, AccountPinOptions as o, RoomPermissions as ot, ConnectAvailability as p, SHELL_JAR_UNREACHABLE as pt, RoomBacklog as q, ATTACH_WINDOW_MESSAGE as r, RoomMessage as rt, AddressLookupResult as s, RoomsErrorCode as st, ATTACH_FRAME_KEY as t, RoomMailbox as tt, ConflictChoice as u, SHELL_CONTROL_KEY as ut, EncryptionState as v, ShellJarUnreachable as vt, HiddenSurface as w, TcpSocketOptions as wt, FrameConsentRequest as x, SurfaceRect as xt, FRAME_MESSAGE as y, StorageEntry as yt, Placement as z };
package/contract.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { d as CookieMatchWire, u as ClearCookiesWire } from "./index-BtFiGoVQ.js";
1
+ import { d as CookieMatchWire, u as ClearCookiesWire } from "./index-Cgnfjh9o.js";
2
+ import { $ as RoomHandle, A as MiddleGotoOptions, At as WINDOW_HELLO_TIMEOUT_MS, B as ProxyFetch, C as FrameMessageRelay, Ct as TcpSocketListenerResult, D as IpFamily, Dt as UdpSocketOptions, E as InstalledPackage, Et as UdpDatagram, F as PackageResult, Ft as JarSeedCookie, G as Radii, H as ProxyFetchInput, I as PackagesErrorCode, J as RoomClaimOptions, K as Resolvers, L as PackagesFail, M as OverlayRect, Mt as WindowMiddleControl, N as OverlayState, Nt as WriteData, O as JAR_ANCHOR_MESSAGE, Ot as UdpSocketResult, P as PackageQuery, Pt as JarSeed, Q as RoomEvent, R as PickOptions, S as FrameFetchScope, St as TcpSocketListenerOptions, T as InstallOptions, Tt as TcpSocketResult, U as Quota, V as ProxyFetchInit, W as ROOM_TEMPORARY_MS, X as RoomDefaults, Y as RoomCreateOptions, Z as RoomEnd, _ as DnsLookup, _t as ShellGotoOptions, a as AccountChange, at as RoomPermission, b as FrameConsentAnswer, bt as StorageQuota, c as AdoptRequest, ct as RoomsFail, d as ConflictRequest, dt as SHELL_FRAME_MESSAGE, et as RoomJoinOptions, f as ConflictSide, ft as SHELL_JAR_MESSAGE, g as DisplayLevel, gt as ShellFrameMessage, h as DisplayCause, ht as ShellControl, i as Account, it as RoomOpenOptions, j as MountDescriptor, jt as WINDOW_JAR_MODE_TIMEOUT_MS, k as MiddleControl, kt as WINDOW_HANDSHAKE_TIMEOUT_MS, l as AdoptState, lt as SHELL_ATTACH_ERROR, m as ConnectOptions, mt as SetOverlayHost, n as ATTACH_WINDOW_KEY, nt as RoomMember, o as AccountPinOptions, ot as RoomPermissions, p as ConnectAvailability, pt as SHELL_JAR_UNREACHABLE, q as RoomBacklog, r as ATTACH_WINDOW_MESSAGE, rt as RoomMessage, s as AddressLookupResult, st as RoomsErrorCode, t as ATTACH_FRAME_KEY, tt as RoomMailbox, u as ConflictChoice, ut as SHELL_CONTROL_KEY, v as EncryptionState, vt as ShellJarUnreachable, w as HiddenSurface, wt as TcpSocketOptions, x as FrameConsentRequest, xt as SurfaceRect, y as FRAME_MESSAGE, yt as StorageEntry, z as Placement } from "./contract-DJxGa8lb.js";
2
3
  import { o as TcpSocketOption, v as UdpSocketOption } from "./wire-Gbo-D74t.js";
3
- import { $ as RoomHandle, A as MiddleGotoOptions, At as WINDOW_HELLO_TIMEOUT_MS, B as ProxyFetch, C as FrameMessageRelay, Ct as TcpSocketListenerResult, D as IpFamily, Dt as UdpSocketOptions, E as InstalledPackage, Et as UdpDatagram, F as PackageResult, G as Radii, H as ProxyFetchInput, I as PackagesErrorCode, J as RoomClaimOptions, K as Resolvers, L as PackagesFail, M as OverlayRect, Mt as WindowMiddleControl, N as OverlayState, Nt as WriteData, O as JAR_ANCHOR_MESSAGE, Ot as UdpSocketResult, P as PackageQuery, Q as RoomEvent, R as PickOptions, S as FrameFetchScope, St as TcpSocketListenerOptions, T as InstallOptions, Tt as TcpSocketResult, U as Quota, V as ProxyFetchInit, W as ROOM_TEMPORARY_MS, X as RoomDefaults, Y as RoomCreateOptions, Z as RoomEnd, _ as DnsLookup, _t as ShellGotoOptions, a as AccountChange, at as RoomPermission, b as FrameConsentAnswer, bt as StorageQuota, c as AdoptRequest, ct as RoomsFail, d as ConflictRequest, dt as SHELL_FRAME_MESSAGE, et as RoomJoinOptions, f as ConflictSide, ft as SHELL_JAR_MESSAGE, g as DisplayLevel, gt as ShellFrameMessage, h as DisplayCause, ht as ShellControl, i as Account, it as RoomOpenOptions, j as MountDescriptor, jt as WINDOW_JAR_MODE_TIMEOUT_MS, k as MiddleControl, kt as WINDOW_HANDSHAKE_TIMEOUT_MS, l as AdoptState, lt as SHELL_ATTACH_ERROR, m as ConnectOptions, mt as SetOverlayHost, n as ATTACH_WINDOW_KEY, nt as RoomMember, o as AccountPinOptions, ot as RoomPermissions, p as ConnectAvailability, pt as SHELL_JAR_UNREACHABLE, q as RoomBacklog, r as ATTACH_WINDOW_MESSAGE, rt as RoomMessage, s as AddressLookupResult, st as RoomsErrorCode, t as ATTACH_FRAME_KEY, tt as RoomMailbox, u as ConflictChoice, ut as SHELL_CONTROL_KEY, v as EncryptionState, vt as ShellJarUnreachable, w as HiddenSurface, wt as TcpSocketOptions, x as FrameConsentRequest, xt as SurfaceRect, y as FRAME_MESSAGE, yt as StorageEntry, z as Placement } from "./contract-CCxPKIC7.js";
4
- export { ATTACH_FRAME_KEY, ATTACH_WINDOW_KEY, ATTACH_WINDOW_MESSAGE, Account, AccountChange, AccountPinOptions, AddressLookupResult, AdoptRequest, AdoptState, type ClearCookiesWire, ConflictChoice, ConflictRequest, ConflictSide, ConnectAvailability, ConnectOptions, type CookieMatchWire, DisplayCause, DisplayLevel, DnsLookup, EncryptionState, FRAME_MESSAGE, FrameConsentAnswer, FrameConsentRequest, FrameFetchScope, FrameMessageRelay, HiddenSurface, InstallOptions, InstalledPackage, IpFamily, JAR_ANCHOR_MESSAGE, MiddleControl, MiddleGotoOptions, MountDescriptor, OverlayRect, OverlayState, PackageQuery, PackageResult, PackagesErrorCode, PackagesFail, PickOptions, Placement, ProxyFetch, ProxyFetchInit, ProxyFetchInput, Quota, ROOM_TEMPORARY_MS, Radii, Resolvers, RoomBacklog, RoomClaimOptions, RoomCreateOptions, RoomDefaults, RoomEnd, RoomEvent, RoomHandle, RoomJoinOptions, RoomMailbox, RoomMember, RoomMessage, RoomOpenOptions, RoomPermission, RoomPermissions, RoomsErrorCode, RoomsFail, SHELL_ATTACH_ERROR, SHELL_CONTROL_KEY, SHELL_FRAME_MESSAGE, SHELL_JAR_MESSAGE, SHELL_JAR_UNREACHABLE, SetOverlayHost, ShellControl, ShellFrameMessage, ShellGotoOptions, ShellJarUnreachable, StorageEntry, StorageQuota, SurfaceRect, TcpSocketListenerOptions, TcpSocketListenerResult, type TcpSocketOption, TcpSocketOptions, TcpSocketResult, UdpDatagram, type UdpSocketOption, UdpSocketOptions, UdpSocketResult, WINDOW_HANDSHAKE_TIMEOUT_MS, WINDOW_HELLO_TIMEOUT_MS, WINDOW_JAR_MODE_TIMEOUT_MS, WindowMiddleControl, WriteData };
4
+ export { ATTACH_FRAME_KEY, ATTACH_WINDOW_KEY, ATTACH_WINDOW_MESSAGE, Account, AccountChange, AccountPinOptions, AddressLookupResult, AdoptRequest, AdoptState, type ClearCookiesWire, ConflictChoice, ConflictRequest, ConflictSide, ConnectAvailability, ConnectOptions, type CookieMatchWire, DisplayCause, DisplayLevel, DnsLookup, EncryptionState, FRAME_MESSAGE, FrameConsentAnswer, FrameConsentRequest, FrameFetchScope, FrameMessageRelay, HiddenSurface, InstallOptions, InstalledPackage, IpFamily, JAR_ANCHOR_MESSAGE, type JarSeed, type JarSeedCookie, MiddleControl, MiddleGotoOptions, MountDescriptor, OverlayRect, OverlayState, PackageQuery, PackageResult, PackagesErrorCode, PackagesFail, PickOptions, Placement, ProxyFetch, ProxyFetchInit, ProxyFetchInput, Quota, ROOM_TEMPORARY_MS, Radii, Resolvers, RoomBacklog, RoomClaimOptions, RoomCreateOptions, RoomDefaults, RoomEnd, RoomEvent, RoomHandle, RoomJoinOptions, RoomMailbox, RoomMember, RoomMessage, RoomOpenOptions, RoomPermission, RoomPermissions, RoomsErrorCode, RoomsFail, SHELL_ATTACH_ERROR, SHELL_CONTROL_KEY, SHELL_FRAME_MESSAGE, SHELL_JAR_MESSAGE, SHELL_JAR_UNREACHABLE, SetOverlayHost, ShellControl, ShellFrameMessage, ShellGotoOptions, ShellJarUnreachable, StorageEntry, StorageQuota, SurfaceRect, TcpSocketListenerOptions, TcpSocketListenerResult, type TcpSocketOption, TcpSocketOptions, TcpSocketResult, UdpDatagram, type UdpSocketOption, UdpSocketOptions, UdpSocketResult, WINDOW_HANDSHAKE_TIMEOUT_MS, WINDOW_HELLO_TIMEOUT_MS, WINDOW_JAR_MODE_TIMEOUT_MS, WindowMiddleControl, WriteData };
package/dgram.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { K as Resolvers, Ot as UdpSocketResult } from "./contract-DJxGa8lb.js";
1
2
  import { v as UdpSocketOption } from "./wire-Gbo-D74t.js";
2
- import { K as Resolvers, Ot as UdpSocketResult } from "./contract-CCxPKIC7.js";
3
- import "./api-SwxtiYVU.js";
3
+ import "./api-H1TzWitc.js";
4
4
  import { Buffer } from "buffer";
5
5
  import { AddressInfo } from "net";
6
6
  import { EventEmitter } from "events";
package/dns.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { s as AddressLookupResult } from "./contract-CCxPKIC7.js";
1
+ import { s as AddressLookupResult } from "./contract-DJxGa8lb.js";
2
2
  declare namespace dns_d_exports {
3
3
  export { AddressLookupResult, lookup };
4
4
  }
@@ -1,4 +1,4 @@
1
- import { $ as SelectorPart, A as gotoPermission, B as handleRevivableModules, C as FrameWindowRefusal, D as WindowFrame, E as Locator, F as PermissionRequest, G as createVideoElementHandle, H as RemoteVideoElement, I as permissions, J as type, K as isType, L as CATEGORIES, M as CategoryRequest, N as LegacyPermissionRequest, O as attachFramePermission, P as PermissionGrant, Q as OperationRequest, R as CategoryMeta, S as FrameWindowOptions, T as GotoOptions, U as VideoElementState, V as BoxedVideoElement, W as box, X as Gate, Y as Executor, Z as GateTools, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as CategoryGrant, k as createFrame, l as ClearCookiesOptions, m as FrameBackendEvent, n as attachFrame, o as AttachFrameOptions, p as FrameBackend, q as revive, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as PermissionCategory } from "./index-BtFiGoVQ.js";
1
+ import { $ as GateTools, A as attachFramePermission, B as CategoryMeta, C as FrameWindowRefusal, D as StorageState, E as Locator, F as LegacyPermissionRequest, G as VideoElementState, H as handleRevivableModules, I as PermissionGrant, J as isType, K as box, L as PermissionRequest, M as gotoPermission, N as CategoryGrant, O as StorageStateCookie, P as CategoryRequest, Q as Gate, R as permissions, S as FrameWindowOptions, T as GotoOptions, U as BoxedVideoElement, V as PermissionCategory, W as RemoteVideoElement, X as type, Y as revive, Z as Executor, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, et as OperationRequest, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as createFrame, k as WindowFrame, l as ClearCookiesOptions, m as FrameBackendEvent, n as attachFrame, o as AttachFrameOptions, p as FrameBackend, q as createVideoElementHandle, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, tt as SelectorPart, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as CATEGORIES } from "./index-Cgnfjh9o.js";
2
2
  //#region ../frame-locator/lib/errors.d.ts
3
3
  declare const LOCATOR_ERROR = "LocatorError";
4
4
  declare const LOCATOR_UNSUPPORTED = "LocatorUnsupportedError";
@@ -66,6 +66,8 @@ type ProxyFetchRequest = {
66
66
  body: ArrayBuffer | null;
67
67
  credentials: 'include' | 'omit';
68
68
  redirect: RequestRedirect;
69
+ /** the browser's HTTP cache mode, the browser's default when absent */
70
+ cache?: RequestCache;
69
71
  unsafeHeaders?: [string, string][];
70
72
  reason?: string;
71
73
  signal?: AbortSignal;
@@ -151,6 +153,21 @@ type PermissionDeniedError = Error & {
151
153
  };
152
154
  declare const isPermissionDenied: (error: unknown) => boolean;
153
155
  //#endregion
156
+ //#region ../web-extension/lib/utils/background-stopped.d.ts
157
+ declare const BACKGROUND_STOPPED = "BackgroundStoppedError";
158
+ /**
159
+ * What a call into the extension rejects with when Chrome stopped the extension's worker before it finished
160
+ * answering: before the call resolved, or, for a `fetch`, while its response body was still arriving.
161
+ *
162
+ * The call may or may not have run, so the extension never sends it again. Retrying is the app's decision, and a
163
+ * retry is answered by the restarted worker.
164
+ */
165
+ type BackgroundStoppedError = Error & {
166
+ name: typeof BACKGROUND_STOPPED;
167
+ };
168
+ /** Whether `error` is a `BackgroundStoppedError`, matched on `name` since it may arrive as a revived Error or a plain record. */
169
+ declare const isBackgroundStopped: (error: unknown) => boolean;
170
+ //#endregion
154
171
  //#region ../web-extension/lib/utils/extension-abi.d.ts
155
172
  /**
156
173
  * What the extension half announces about itself. Increment when the callable surface CHANGES in a
@@ -160,7 +177,7 @@ declare const isPermissionDenied: (error: unknown) => boolean;
160
177
  * nothing to do with the protocol (a dependency bump, a store resubmission), and tying the contract
161
178
  * to them would make every release look like a protocol change.
162
179
  */
163
- declare const EXTENSION_ABI = 3;
180
+ declare const EXTENSION_ABI = 4;
164
181
  /**
165
182
  * The oldest extension the page half will talk to. Raise it ONLY when the page half starts depending
166
183
  * on something older extensions cannot do, never merely because `EXTENSION_ABI` moved: an added
@@ -253,7 +270,7 @@ declare const fetch: (input: RequestInfo | URL, init?: RequestInit & {
253
270
  spread?: boolean;
254
271
  }) => Promise<Response>;
255
272
  declare namespace extension_d_exports {
256
- export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, Executor, ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, Gate, GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, OperationRequest, PERMISSION_DENIED, PermissionCategory, PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, SelectorPart, SiteCookie, TimeoutError, VideoElementState, WindowFrame, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFrame, attachFramePermission, isExtensionAvailable as available, box, cookies, createFrame, createVideoElementHandle, extension as events, extension, fetch$1 as fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, gotoPermission, handleRevivableModules, hasForgedCookie, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, supportsOperation, type, waitForExtensionExposure };
273
+ export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BACKGROUND_STOPPED, BackgroundStoppedError, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, Executor, ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, Gate, GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, OperationRequest, PERMISSION_DENIED, PermissionCategory, PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, SelectorPart, SiteCookie, StorageState, StorageStateCookie, TimeoutError, VideoElementState, WindowFrame, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFrame, attachFramePermission, isExtensionAvailable as available, box, cookies, createFrame, createVideoElementHandle, extension as events, extension, fetch$1 as fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, gotoPermission, handleRevivableModules, hasForgedCookie, isBackgroundStopped, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, supportsOperation, type, waitForExtensionExposure };
257
274
  }
258
275
  //#endregion
259
- export { readCookiePermission as A, FORGEABLE_HEADERS as B, RequestHeaderRule as C, CookieDetails as D, setRequestHeaderRule as E, fetchCredentialedPermission as F, LOCATOR_ERROR as G, assertOneCookieIdentity as H, fetchLocalPermission as I, TimeoutError as J, LOCATOR_INVALID as K, fetchPermission as L, ProxyFetchRequest as M, assertFetchableUrl as N, SiteCookie as O, fetch$1 as P, isTerminalError as Q, isBlockedFetchUrl as R, HeaderOperation as S, removeRequestHeaderRule as T, hasForgedCookie as U, assertForgeableHeaders as V, LOCATOR_DENIED as W, isLocatorInvalid as X, isLocatorDenied as Y, isLocatorUnsupported as Z, PermissionDeniedError as _, extension as a, assertLockdownApplicable as b, setMissingExtensionHandler as c, ExtensionHandshake as d, ExtensionOperationUnsupportedError as f, PERMISSION_DENIED as g, supportsOperation as h, promptInstall as i, FetchInit as j, cookies as k, waitForExtensionExposure as l, REQUIRED_EXTENSION_ABI as m, fetch as n, isExtensionExposed as o, ExtensionOutdatedError as p, LOCATOR_UNSUPPORTED as q, isExtensionAvailable as r, readExtensionHandshake as s, extension_d_exports as t, EXTENSION_ABI as u, isPermissionDenied as v, modifyRequestHeadersPermission as w, isBlockedFrameUrl as x, assertAttachableFrameUrl as y, isLocalNetworkUrl as z };
276
+ export { isLocatorInvalid as $, CookieDetails as A, fetchPermission as B, assertLockdownApplicable as C, modifyRequestHeadersPermission as D, RequestHeaderRule as E, ProxyFetchRequest as F, assertOneCookieIdentity as G, isLocalNetworkUrl as H, assertFetchableUrl as I, LOCATOR_ERROR as J, hasForgedCookie as K, fetch$1 as L, cookies as M, readCookiePermission as N, removeRequestHeaderRule as O, FetchInit as P, isLocatorDenied as Q, fetchCredentialedPermission as R, assertAttachableFrameUrl as S, HeaderOperation as T, FORGEABLE_HEADERS as U, isBlockedFetchUrl as V, assertForgeableHeaders as W, LOCATOR_UNSUPPORTED as X, LOCATOR_INVALID as Y, TimeoutError as Z, BackgroundStoppedError as _, extension as a, PermissionDeniedError as b, setMissingExtensionHandler as c, ExtensionHandshake as d, isLocatorUnsupported as et, ExtensionOperationUnsupportedError as f, BACKGROUND_STOPPED as g, supportsOperation as h, promptInstall as i, SiteCookie as j, setRequestHeaderRule as k, waitForExtensionExposure as l, REQUIRED_EXTENSION_ABI as m, fetch as n, isExtensionExposed as o, ExtensionOutdatedError as p, LOCATOR_DENIED as q, isExtensionAvailable as r, readExtensionHandshake as s, extension_d_exports as t, isTerminalError as tt, EXTENSION_ABI as u, isBackgroundStopped as v, isBlockedFrameUrl as w, isPermissionDenied as x, PERMISSION_DENIED as y, fetchLocalPermission as z };
@@ -0,0 +1,94 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, B as n, C as r, D as i, E as a, F as o, G as ee, H as te, I as ne, J as s, K as c, L as l, N as u, P as d, Q as re, R as ie, S as f, T as p, U as m, V as h, W as g, X as _, Y as v, Z as y, _ as b, a as x, at as S, b as C, ct as w, d as T, dt as E, et as D, ft as O, g as k, i as A, j, k as M, lt as N, mt as P, n as ae, nt as F, ot as I, pt as L, q as R, r as z, rt as B, t as V, tt as H, ut as U, v as W, w as G, x as K, y as q, z as J } from "./lib-C3UwxjVs.js";
3
+ import { o as oe, p as se } from "./api-DIgTslNb.js";
4
+ import { t as ce } from "./proxy-Dixbk1WL.js";
5
+ import { available as le, fetch as ue } from "./desktop.js";
6
+ //#region ../web-extension/lib/utils/background-stopped.js
7
+ var Y = "BackgroundStoppedError", X = (e) => T(e) && e.name === "BackgroundStoppedError", Z = async (e) => {
8
+ if (typeof window > "u") return !1;
9
+ if (D()) return !0;
10
+ let n = await oe, r = null, i = new Promise((e) => {
11
+ r = () => {
12
+ D() && e(!0);
13
+ }, t.addEventListener("statuschange", r);
14
+ }), a = n.installPrompt.show(e).then(() => !1), o = await Promise.race([i, a]);
15
+ return r && t.removeEventListener("statuschange", r), await n.installPrompt.hide().catch(() => {}), o;
16
+ }, Q = null;
17
+ F(() => (Q ||= Z().then(() => void 0).finally(() => {
18
+ Q = null;
19
+ }), Q));
20
+ //#endregion
21
+ //#region src/auto.ts
22
+ var $ = () => typeof document < "u" && D(), de = async (e, t) => {
23
+ if (se(e), t?.credentials === "include") {
24
+ if (typeof document > "u") throw Error("fetch with credentials needs the FKN extension, which only exists in window realms");
25
+ return m(e, t);
26
+ }
27
+ return $() ? m(e, {
28
+ ...t,
29
+ credentials: "omit"
30
+ }) : le() ? ue(e, t) : ce(e, t);
31
+ }, fe = /* @__PURE__ */ e({
32
+ ATTACH_FRAME_EVENT_KEY: () => A,
33
+ BACKGROUND_STOPPED: () => Y,
34
+ CATEGORIES: () => G,
35
+ EXTENSION_ABI: () => 4,
36
+ ExtensionOperationUnsupportedError: () => S,
37
+ ExtensionOutdatedError: () => I,
38
+ FORGEABLE_HEADERS: () => v,
39
+ FrameWindowBlockedError: () => k,
40
+ FrameWindowRefusedError: () => b,
41
+ LOCATOR_DENIED: () => M,
42
+ LOCATOR_ERROR: () => d,
43
+ LOCATOR_INVALID: () => ne,
44
+ LOCATOR_UNSUPPORTED: () => a,
45
+ PERMISSION_DENIED: () => V,
46
+ REQUIRED_EXTENSION_ABI: () => 0,
47
+ TimeoutError: () => p,
48
+ assertAttachableFrameUrl: () => K,
49
+ assertFetchableUrl: () => te,
50
+ assertForgeableHeaders: () => _,
51
+ assertLockdownApplicable: () => f,
52
+ assertOneCookieIdentity: () => y,
53
+ attachFrame: () => x,
54
+ attachFramePermission: () => W,
55
+ available: () => $,
56
+ box: () => U,
57
+ cookies: () => n,
58
+ createFrame: () => q,
59
+ createVideoElementHandle: () => E,
60
+ events: () => t,
61
+ extension: () => t,
62
+ fetch: () => m,
63
+ fetchCredentialedPermission: () => g,
64
+ fetchLocalPermission: () => ee,
65
+ fetchPermission: () => c,
66
+ gotoPermission: () => C,
67
+ handleRevivableModules: () => N,
68
+ hasForgedCookie: () => re,
69
+ isBackgroundStopped: () => X,
70
+ isBlockedFetchUrl: () => R,
71
+ isBlockedFrameUrl: () => r,
72
+ isExtensionExposed: () => D,
73
+ isLocalNetworkUrl: () => s,
74
+ isLocatorDenied: () => o,
75
+ isLocatorInvalid: () => j,
76
+ isLocatorUnsupported: () => i,
77
+ isPermissionDenied: () => ae,
78
+ isTerminalError: () => u,
79
+ isType: () => O,
80
+ modifyRequestHeadersPermission: () => l,
81
+ permissions: () => z,
82
+ promptInstall: () => Z,
83
+ readCookiePermission: () => h,
84
+ readExtensionHandshake: () => H,
85
+ removeRequestHeaderRule: () => ie,
86
+ revive: () => L,
87
+ setMissingExtensionHandler: () => F,
88
+ setRequestHeaderRule: () => J,
89
+ supportsOperation: () => w,
90
+ type: () => P,
91
+ waitForExtensionExposure: () => B
92
+ });
93
+ //#endregion
94
+ export { Y as a, Z as i, de as n, X as o, $ as r, fe as t };
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./lib-fqQfEPk6.cjs"),n=require("./api--LOXTOpv.cjs"),r=require("./proxy-CFK-KiwE.cjs"),i=require("./desktop.cjs");var a=`BackgroundStoppedError`,o=e=>t.d(e)&&e.name===`BackgroundStoppedError`,s=async e=>{if(typeof window>`u`)return!1;if(t.et())return!0;let r=await n.o,i=null,a=new Promise(e=>{i=()=>{t.et()&&e(!0)},t.$.addEventListener(`statuschange`,i)}),o=r.installPrompt.show(e).then(()=>!1),s=await Promise.race([a,o]);return i&&t.$.removeEventListener(`statuschange`,i),await r.installPrompt.hide().catch(()=>{}),s},c=null;t.nt(()=>(c||=s().then(()=>void 0).finally(()=>{c=null}),c));var l=()=>typeof document<`u`&&t.et(),u=async(e,a)=>{if(n.p(e),a?.credentials===`include`){if(typeof document>`u`)throw Error(`fetch with credentials needs the FKN extension, which only exists in window realms`);return t.U(e,a)}return l()?t.U(e,{...a,credentials:`omit`}):i.available()?i.fetch(e,a):r.t(e,a)},d=e.t({ATTACH_FRAME_EVENT_KEY:()=>t.i,BACKGROUND_STOPPED:()=>a,CATEGORIES:()=>t.w,EXTENSION_ABI:()=>4,ExtensionOperationUnsupportedError:()=>t.at,ExtensionOutdatedError:()=>t.ot,FORGEABLE_HEADERS:()=>t.Y,FrameWindowBlockedError:()=>t.g,FrameWindowRefusedError:()=>t._,LOCATOR_DENIED:()=>t.k,LOCATOR_ERROR:()=>t.P,LOCATOR_INVALID:()=>t.I,LOCATOR_UNSUPPORTED:()=>t.E,PERMISSION_DENIED:()=>t.t,REQUIRED_EXTENSION_ABI:()=>0,TimeoutError:()=>t.T,assertAttachableFrameUrl:()=>t.x,assertFetchableUrl:()=>t.H,assertForgeableHeaders:()=>t.X,assertLockdownApplicable:()=>t.S,assertOneCookieIdentity:()=>t.Z,attachFrame:()=>t.a,attachFramePermission:()=>t.v,available:()=>l,box:()=>t.ut,cookies:()=>t.B,createFrame:()=>t.y,createVideoElementHandle:()=>t.dt,events:()=>t.$,extension:()=>t.$,fetch:()=>t.U,fetchCredentialedPermission:()=>t.W,fetchLocalPermission:()=>t.G,fetchPermission:()=>t.K,gotoPermission:()=>t.b,handleRevivableModules:()=>t.lt,hasForgedCookie:()=>t.Q,isBackgroundStopped:()=>o,isBlockedFetchUrl:()=>t.q,isBlockedFrameUrl:()=>t.C,isExtensionExposed:()=>t.et,isLocalNetworkUrl:()=>t.J,isLocatorDenied:()=>t.F,isLocatorInvalid:()=>t.j,isLocatorUnsupported:()=>t.D,isPermissionDenied:()=>t.n,isTerminalError:()=>t.N,isType:()=>t.ft,modifyRequestHeadersPermission:()=>t.L,permissions:()=>t.r,promptInstall:()=>s,readCookiePermission:()=>t.V,readExtensionHandshake:()=>t.tt,removeRequestHeaderRule:()=>t.R,revive:()=>t.pt,setMissingExtensionHandler:()=>t.nt,setRequestHeaderRule:()=>t.z,supportsOperation:()=>t.ct,type:()=>t.mt,waitForExtensionExposure:()=>t.rt});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
package/extension.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib-CfdmsLoI.cjs"),t=require("./extension-hoUs5yJ7.cjs");exports.ATTACH_FRAME_EVENT_KEY=e.i,exports.CATEGORIES=e.C,exports.EXTENSION_ABI=e.rt,exports.ExtensionOperationUnsupportedError=e.it,exports.ExtensionOutdatedError=e.at,exports.FORGEABLE_HEADERS=e.J,exports.FrameWindowBlockedError=e.h,exports.FrameWindowRefusedError=e.g,exports.LOCATOR_DENIED=e.O,exports.LOCATOR_ERROR=e.N,exports.LOCATOR_INVALID=e.F,exports.LOCATOR_UNSUPPORTED=e.T,exports.PERMISSION_DENIED=e.t,exports.REQUIRED_EXTENSION_ABI=e.ot,exports.TimeoutError=e.w,exports.assertAttachableFrameUrl=e.b,exports.assertFetchableUrl=e.V,exports.assertForgeableHeaders=e.Y,exports.assertLockdownApplicable=e.x,exports.assertOneCookieIdentity=e.X,exports.attachFrame=e.a,exports.attachFramePermission=e._,exports.available=t.r,exports.box=e.lt,exports.cookies=e.z,exports.createFrame=e.v,exports.createVideoElementHandle=e.ut,exports.events=e.Q,exports.extension=e.Q,exports.fetch=e.H,exports.fetchCredentialedPermission=e.U,exports.fetchLocalPermission=e.W,exports.fetchPermission=e.G,exports.gotoPermission=e.y,exports.handleRevivableModules=e.ct,exports.hasForgedCookie=e.Z,exports.isBlockedFetchUrl=e.K,exports.isBlockedFrameUrl=e.S,exports.isExtensionExposed=e.$,exports.isLocalNetworkUrl=e.q,exports.isLocatorDenied=e.P,exports.isLocatorInvalid=e.A,exports.isLocatorUnsupported=e.E,exports.isPermissionDenied=e.n,exports.isTerminalError=e.M,exports.isType=e.dt,exports.modifyRequestHeadersPermission=e.I,exports.permissions=e.r,exports.promptInstall=t.i,exports.readCookiePermission=e.B,exports.readExtensionHandshake=e.et,exports.removeRequestHeaderRule=e.L,exports.revive=e.ft,exports.setMissingExtensionHandler=e.tt,exports.setRequestHeaderRule=e.R,exports.supportsOperation=e.st,exports.type=e.pt,exports.waitForExtensionExposure=e.nt;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib-fqQfEPk6.cjs"),t=require("./extension-DvFf7uoG.cjs");exports.ATTACH_FRAME_EVENT_KEY=e.i,exports.BACKGROUND_STOPPED=t.a,exports.CATEGORIES=e.w,exports.EXTENSION_ABI=e.it,exports.ExtensionOperationUnsupportedError=e.at,exports.ExtensionOutdatedError=e.ot,exports.FORGEABLE_HEADERS=e.Y,exports.FrameWindowBlockedError=e.g,exports.FrameWindowRefusedError=e._,exports.LOCATOR_DENIED=e.k,exports.LOCATOR_ERROR=e.P,exports.LOCATOR_INVALID=e.I,exports.LOCATOR_UNSUPPORTED=e.E,exports.PERMISSION_DENIED=e.t,exports.REQUIRED_EXTENSION_ABI=e.st,exports.TimeoutError=e.T,exports.assertAttachableFrameUrl=e.x,exports.assertFetchableUrl=e.H,exports.assertForgeableHeaders=e.X,exports.assertLockdownApplicable=e.S,exports.assertOneCookieIdentity=e.Z,exports.attachFrame=e.a,exports.attachFramePermission=e.v,exports.available=t.r,exports.box=e.ut,exports.cookies=e.B,exports.createFrame=e.y,exports.createVideoElementHandle=e.dt,exports.events=e.$,exports.extension=e.$,exports.fetch=e.U,exports.fetchCredentialedPermission=e.W,exports.fetchLocalPermission=e.G,exports.fetchPermission=e.K,exports.gotoPermission=e.b,exports.handleRevivableModules=e.lt,exports.hasForgedCookie=e.Q,exports.isBackgroundStopped=t.o,exports.isBlockedFetchUrl=e.q,exports.isBlockedFrameUrl=e.C,exports.isExtensionExposed=e.et,exports.isLocalNetworkUrl=e.J,exports.isLocatorDenied=e.F,exports.isLocatorInvalid=e.j,exports.isLocatorUnsupported=e.D,exports.isPermissionDenied=e.n,exports.isTerminalError=e.N,exports.isType=e.ft,exports.modifyRequestHeadersPermission=e.L,exports.permissions=e.r,exports.promptInstall=t.i,exports.readCookiePermission=e.V,exports.readExtensionHandshake=e.tt,exports.removeRequestHeaderRule=e.R,exports.revive=e.pt,exports.setMissingExtensionHandler=e.nt,exports.setRequestHeaderRule=e.z,exports.supportsOperation=e.ct,exports.type=e.mt,exports.waitForExtensionExposure=e.rt;
package/extension.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as SelectorPart, A as gotoPermission, B as handleRevivableModules, C as FrameWindowRefusal, D as WindowFrame, E as Locator, F as PermissionRequest, G as createVideoElementHandle, H as RemoteVideoElement, I as permissions, J as type, K as isType, L as CATEGORIES, M as CategoryRequest, N as LegacyPermissionRequest, O as attachFramePermission, P as PermissionGrant, Q as OperationRequest, R as CategoryMeta, S as FrameWindowOptions, T as GotoOptions, U as VideoElementState, V as BoxedVideoElement, W as box, X as Gate, Y as Executor, Z as GateTools, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as CategoryGrant, k as createFrame, l as ClearCookiesOptions, m as FrameBackendEvent, n as attachFrame, o as AttachFrameOptions, p as FrameBackend, q as revive, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as PermissionCategory } from "./index-BtFiGoVQ.js";
2
- import { A as readCookiePermission, B as FORGEABLE_HEADERS, C as RequestHeaderRule, D as CookieDetails, E as setRequestHeaderRule, F as fetchCredentialedPermission, G as LOCATOR_ERROR, H as assertOneCookieIdentity, I as fetchLocalPermission, J as TimeoutError, K as LOCATOR_INVALID, L as fetchPermission, M as ProxyFetchRequest, N as assertFetchableUrl, O as SiteCookie, P as fetch, Q as isTerminalError, R as isBlockedFetchUrl, S as HeaderOperation, T as removeRequestHeaderRule, U as hasForgedCookie, V as assertForgeableHeaders, W as LOCATOR_DENIED, X as isLocatorInvalid, Y as isLocatorDenied, Z as isLocatorUnsupported, _ as PermissionDeniedError, a as extension, b as assertLockdownApplicable, c as setMissingExtensionHandler, d as ExtensionHandshake, f as ExtensionOperationUnsupportedError, g as PERMISSION_DENIED, h as supportsOperation, i as promptInstall, j as FetchInit, k as cookies, l as waitForExtensionExposure, m as REQUIRED_EXTENSION_ABI, o as isExtensionExposed, p as ExtensionOutdatedError, q as LOCATOR_UNSUPPORTED, r as isExtensionAvailable, s as readExtensionHandshake, u as EXTENSION_ABI, v as isPermissionDenied, w as modifyRequestHeadersPermission, x as isBlockedFrameUrl, y as assertAttachableFrameUrl, z as isLocalNetworkUrl } from "./extension-yhwDSIiD.js";
3
- export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, type CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, type Executor, type ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, type Gate, type GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, type OperationRequest, PERMISSION_DENIED, type PermissionCategory, type PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, type SelectorPart, SiteCookie, TimeoutError, VideoElementState, WindowFrame, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFrame, attachFramePermission, isExtensionAvailable as available, box, cookies, createFrame, createVideoElementHandle, extension as events, extension, fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, gotoPermission, handleRevivableModules, hasForgedCookie, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, supportsOperation, type, waitForExtensionExposure };
1
+ import { $ as GateTools, A as attachFramePermission, B as CategoryMeta, C as FrameWindowRefusal, D as StorageState, E as Locator, F as LegacyPermissionRequest, G as VideoElementState, H as handleRevivableModules, I as PermissionGrant, J as isType, K as box, L as PermissionRequest, M as gotoPermission, N as CategoryGrant, O as StorageStateCookie, P as CategoryRequest, Q as Gate, R as permissions, S as FrameWindowOptions, T as GotoOptions, U as BoxedVideoElement, V as PermissionCategory, W as RemoteVideoElement, X as type, Y as revive, Z as Executor, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, et as OperationRequest, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as createFrame, k as WindowFrame, l as ClearCookiesOptions, m as FrameBackendEvent, n as attachFrame, o as AttachFrameOptions, p as FrameBackend, q as createVideoElementHandle, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, tt as SelectorPart, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as CATEGORIES } from "./index-Cgnfjh9o.js";
2
+ import { $ as isLocatorInvalid, A as CookieDetails, B as fetchPermission, C as assertLockdownApplicable, D as modifyRequestHeadersPermission, E as RequestHeaderRule, F as ProxyFetchRequest, G as assertOneCookieIdentity, H as isLocalNetworkUrl, I as assertFetchableUrl, J as LOCATOR_ERROR, K as hasForgedCookie, L as fetch, M as cookies, N as readCookiePermission, O as removeRequestHeaderRule, P as FetchInit, Q as isLocatorDenied, R as fetchCredentialedPermission, S as assertAttachableFrameUrl, T as HeaderOperation, U as FORGEABLE_HEADERS, V as isBlockedFetchUrl, W as assertForgeableHeaders, X as LOCATOR_UNSUPPORTED, Y as LOCATOR_INVALID, Z as TimeoutError, _ as BackgroundStoppedError, a as extension, b as PermissionDeniedError, c as setMissingExtensionHandler, d as ExtensionHandshake, et as isLocatorUnsupported, f as ExtensionOperationUnsupportedError, g as BACKGROUND_STOPPED, h as supportsOperation, i as promptInstall, j as SiteCookie, k as setRequestHeaderRule, l as waitForExtensionExposure, m as REQUIRED_EXTENSION_ABI, o as isExtensionExposed, p as ExtensionOutdatedError, q as LOCATOR_DENIED, r as isExtensionAvailable, s as readExtensionHandshake, tt as isTerminalError, u as EXTENSION_ABI, v as isBackgroundStopped, w as isBlockedFrameUrl, x as isPermissionDenied, y as PERMISSION_DENIED, z as fetchLocalPermission } from "./extension-BtDg-F2g.js";
3
+ export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BACKGROUND_STOPPED, type BackgroundStoppedError, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, type CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, type Executor, type ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, type Gate, type GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, type OperationRequest, PERMISSION_DENIED, type PermissionCategory, type PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, type SelectorPart, SiteCookie, StorageState, StorageStateCookie, TimeoutError, VideoElementState, WindowFrame, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFrame, attachFramePermission, isExtensionAvailable as available, box, cookies, createFrame, createVideoElementHandle, extension as events, extension, fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, gotoPermission, handleRevivableModules, hasForgedCookie, isBackgroundStopped, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, supportsOperation, type, waitForExtensionExposure };
package/extension.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as e, A as t, B as n, C as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as b, V as x, W as S, X as C, Y as w, Z as T, _ as ee, a as E, at as D, b as O, ct as k, dt as A, et as j, ft as M, g as N, h as P, i as F, it as I, lt as L, n as R, nt as z, ot as B, pt as V, q as H, r as U, rt as W, st as G, t as K, tt as q, ut as J, v as Y, w as X, x as Z, y as Q, z as $ } from "./lib-DppqX10G.js";
2
- import { i as te, r as ne } from "./extension-BOBuYwZc.js";
3
- export { F as ATTACH_FRAME_EVENT_KEY, r as CATEGORIES, W as EXTENSION_ABI, I as ExtensionOperationUnsupportedError, D as ExtensionOutdatedError, l as FORGEABLE_HEADERS, P as FrameWindowBlockedError, N as FrameWindowRefusedError, m as LOCATOR_DENIED, p as LOCATOR_ERROR, a as LOCATOR_INVALID, y as LOCATOR_UNSUPPORTED, K as PERMISSION_DENIED, B as REQUIRED_EXTENSION_ABI, X as TimeoutError, O as assertAttachableFrameUrl, x as assertFetchableUrl, w as assertForgeableHeaders, Z as assertLockdownApplicable, C as assertOneCookieIdentity, E as attachFrame, ee as attachFramePermission, ne as available, L as box, $ as cookies, Y as createFrame, J as createVideoElementHandle, g as events, g as extension, s as fetch, b as fetchCredentialedPermission, S as fetchLocalPermission, o as fetchPermission, Q as gotoPermission, k as handleRevivableModules, T as hasForgedCookie, u as isBlockedFetchUrl, v as isBlockedFrameUrl, e as isExtensionExposed, H as isLocalNetworkUrl, h as isLocatorDenied, t as isLocatorInvalid, i as isLocatorUnsupported, R as isPermissionDenied, f as isTerminalError, A as isType, c as modifyRequestHeadersPermission, U as permissions, te as promptInstall, n as readCookiePermission, j as readExtensionHandshake, d as removeRequestHeaderRule, M as revive, q as setMissingExtensionHandler, _ as setRequestHeaderRule, G as supportsOperation, V as type, z as waitForExtensionExposure };
1
+ import { $ as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, N as f, P as p, Q as m, R as h, S as g, T as _, U as v, V as y, W as b, X as x, Y as S, Z as C, _ as w, a as T, at as E, b as D, ct as O, dt as k, et as A, ft as j, g as M, i as N, it as P, j as F, k as I, lt as L, mt as R, n as z, nt as B, ot as V, pt as H, q as U, r as W, rt as G, st as K, t as q, tt as J, ut as Y, v as X, w as Z, x as Q, y as $, z as ee } from "./lib-C3UwxjVs.js";
2
+ import { a as te, i as ne, o as re, r as ie } from "./extension-CzZn0bY2.js";
3
+ export { N as ATTACH_FRAME_EVENT_KEY, te as BACKGROUND_STOPPED, Z as CATEGORIES, P as EXTENSION_ABI, E as ExtensionOperationUnsupportedError, V as ExtensionOutdatedError, S as FORGEABLE_HEADERS, M as FrameWindowBlockedError, w as FrameWindowRefusedError, I as LOCATOR_DENIED, p as LOCATOR_ERROR, c as LOCATOR_INVALID, i as LOCATOR_UNSUPPORTED, q as PERMISSION_DENIED, K as REQUIRED_EXTENSION_ABI, _ as TimeoutError, Q as assertAttachableFrameUrl, s as assertFetchableUrl, x as assertForgeableHeaders, g as assertLockdownApplicable, C as assertOneCookieIdentity, T as attachFrame, X as attachFramePermission, ie as available, Y as box, t as cookies, $ as createFrame, k as createVideoElementHandle, e as events, e as extension, v as fetch, b as fetchCredentialedPermission, o as fetchLocalPermission, u as fetchPermission, D as gotoPermission, L as handleRevivableModules, m as hasForgedCookie, re as isBackgroundStopped, U as isBlockedFetchUrl, n as isBlockedFrameUrl, A as isExtensionExposed, l as isLocalNetworkUrl, a as isLocatorDenied, F as isLocatorInvalid, r as isLocatorUnsupported, z as isPermissionDenied, f as isTerminalError, j as isType, d as modifyRequestHeadersPermission, W as permissions, ne as promptInstall, y as readCookiePermission, J as readExtensionHandshake, h as removeRequestHeaderRule, H as revive, B as setMissingExtensionHandler, ee as setRequestHeaderRule, O as supportsOperation, R as type, G as waitForExtensionExposure };
package/http.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { n as Socket, t as Server$1 } from "./net-DcLF-6E-.js";
1
+ import { n as Socket, t as Server$1 } from "./net-BOswhyfE.js";
2
2
  import { Buffer } from "buffer";
3
3
  import { Stream } from "stream";
4
4
  import { IncomingHttpHeaders, OutgoingHttpHeaders, RequestOptions } from "http";
@@ -1376,8 +1376,9 @@ type Frame = Omit<FrameLocator, 'owner'> & {
1376
1376
  * installed, so `frame.backend()` answers `'cloud'`. Its requests leave through WebVPN, which
1377
1377
  * keeps the cookies their answers set.
1378
1378
  * - `'ephemeral'`: a fresh jar of the attachment's own, with site storage under a namespace of its
1379
- * own, both gone with it. Always the cloud backend: the browser keeps a partition's cookies after
1380
- * its frame goes, so no extension jar ends with the attachment. Its requests leave through WebVPN.
1379
+ * own, both gone with it, seeded from `storageState` when one is given. Always the cloud backend:
1380
+ * the browser keeps a partition's cookies after its frame goes, so no extension jar ends with the
1381
+ * attachment. Its requests leave through WebVPN.
1381
1382
  * - `'native'`: the person's own browser cookies for `domains` and every goto's host, copied into
1382
1383
  * the browser's partition for the app's top-level site on the attach and on every goto. Extension
1383
1384
  * backend only, so `frame.backend()` answers `'extension'`. Without the extension the top-level
@@ -1390,7 +1391,13 @@ type Frame = Omit<FrameLocator, 'owner'> & {
1390
1391
  * the extension; false is cookies: 'ephemeral'`
1391
1392
  * - an unknown value: TypeError `attachFrame: cookies must be 'persistent', 'ephemeral' or
1392
1393
  * 'native', not "<value>"`
1393
- * - any `storageState` key: TypeError `attachFrame: storageState is not available yet`
1394
+ * - a `storageState` beside anything but `'ephemeral'`, the default included: TypeError
1395
+ * `attachFrame: storageState seeds a fresh jar, so it needs cookies: 'ephemeral'`
1396
+ * - a malformed `storageState`: TypeError `attachFrame: storageState.<path> <what is wrong>`, for
1397
+ * the first field of another shape in the order the state lists them (`StorageState`)
1398
+ * - a cookie whose `expires` is above 0 and below 100000000000: TypeError `attachFrame:
1399
+ * storageState.cookies[<i>].expires is milliseconds since the epoch, and <value> reads as a date
1400
+ * before 1974; a Playwright storageState gives seconds, so multiply it by 1000`
1394
1401
  * - then the shape of the attachment: `iframe` and `window` at once, and `lockdown` or `blank` with
1395
1402
  * a window, each a TypeError
1396
1403
  * - `lockdown` with anything but `'native'`: TypeError `attachFrame: lockdown runs on the
@@ -1407,11 +1414,64 @@ type Frame = Omit<FrameLocator, 'owner'> & {
1407
1414
  * fallback
1408
1415
  */
1409
1416
  type AttachCookies = 'persistent' | 'ephemeral' | 'native';
1417
+ /**
1418
+ * A jar's starting state, in the shape Playwright's `browser.newContext({ storageState })` takes,
1419
+ * except that a cookie's `expires` is milliseconds here where Playwright's is seconds. Seeded into
1420
+ * an `'ephemeral'` attachment's fresh jar and its storage namespace before the attachment's first
1421
+ * document is requested, so that request already carries its cookies and the page's first script
1422
+ * already reads its localStorage. With `blank`, whose empty page requests nothing and runs no code,
1423
+ * it is seeded right after that page is in place, before the attach resolves.
1424
+ *
1425
+ * Accepted only with `cookies: 'ephemeral'`: with `'persistent'` an app-written cookie would land
1426
+ * in the jar every app of the top-level site shares, and with `'native'` in the person's own
1427
+ * session. The seed travels on FKN's own channels, never in a url the app page could read. A
1428
+ * seeded HttpOnly cookie is sent to its site and never readable in the page, as any HttpOnly cookie,
1429
+ * and it never comes back to app code.
1430
+ *
1431
+ * Refused by name, before anything is attached (`AttachCookies` has the order): a field of another
1432
+ * shape; a name or value with `;` or a control character, or a name with `=`; a cookie a browser
1433
+ * does not store (SameSite=None or `__Secure-` without `secure`, `__Host-` without `secure`, a
1434
+ * host-only domain and path '/'); an origin that is not an absolute http or https origin; and an
1435
+ * `expires` that reads as seconds. Against an FKN page or render proxy that predates it, after the
1436
+ * iframe is put back on about:blank (or the window closed) and before anything is requested from
1437
+ * the site: the terminal `LocatorUnsupportedError` `attachFrame: this FKN page predates
1438
+ * storageState; reload the app to load the current one`.
1439
+ */
1440
+ type StorageState = {
1441
+ cookies?: StorageStateCookie[];
1442
+ /** Each origin's localStorage items, read by every page of that origin in the attachment. */
1443
+ origins?: {
1444
+ origin: string;
1445
+ localStorage: {
1446
+ name: string;
1447
+ value: string;
1448
+ }[];
1449
+ }[];
1450
+ };
1451
+ /** One cookie of a `StorageState`. */
1452
+ type StorageStateCookie = {
1453
+ /** Non-empty, with no `=`, `;` or control character. */
1454
+ name: string;
1455
+ /** With no `;` or control character. */
1456
+ value: string;
1457
+ /** `.youtube.com` for a cookie its subdomains also receive, `www.youtube.com` for a host-only one, as Playwright writes it. */
1458
+ domain: string;
1459
+ /** `/` when absent. */
1460
+ path?: string;
1461
+ /** Milliseconds since the epoch, where Playwright's is seconds; -1 or absent for a session cookie. */
1462
+ expires?: number;
1463
+ httpOnly?: boolean;
1464
+ secure?: boolean;
1465
+ /** `'Lax'` when absent, as a browser defaults it. */
1466
+ sameSite?: 'Strict' | 'Lax' | 'None';
1467
+ };
1410
1468
  type AttachFrameOptions = {
1411
1469
  iframe: HTMLIFrameElement;
1412
1470
  domains?: string[];
1413
1471
  /** Which jar, and with it which backend: `'persistent'` when absent. See `AttachCookies`. */
1414
1472
  cookies?: AttachCookies;
1473
+ /** Seeds an `'ephemeral'` jar before the attachment's first document; with any other value a TypeError. See `StorageState`. */
1474
+ storageState?: StorageState;
1415
1475
  /**
1416
1476
  * Replace the embedded site's CSP with a lockdown policy: the frame cannot fetch, connect, or load
1417
1477
  * any resource. Extension backend only, so it takes `cookies: 'native'`; beside any other value it
@@ -1514,11 +1574,16 @@ type AttachWindowOptions = {
1514
1574
  * The window's jar, with an iframe's values (`AttachCookies`). `'persistent'`, the default: the
1515
1575
  * jar of the app that opened it, the same as that app's inline frames; a window whose app is on
1516
1576
  * another site shares cookies only with those frames, and its site storage stays its own.
1517
- * `'ephemeral'`: a jar of the window's own that ends with it. Both run on the cloud backend
1518
- * whatever is installed. `'native'` is refused by name: a window runs on the cloud render proxy,
1519
- * and no backend serves a window on the browser's own cookies yet.
1577
+ * `'ephemeral'`: a jar of the window's own that ends with it, seeded from `storageState`. Both
1578
+ * run on the cloud backend whatever is installed. `'native'` is refused by name: a window runs on
1579
+ * the cloud render proxy, and no backend serves a window on the browser's own cookies yet.
1520
1580
  */
1521
1581
  cookies?: AttachCookies;
1582
+ /**
1583
+ * As for an iframe: only with `'ephemeral'`. The window opens at once, with the click's
1584
+ * activation, and goes to `window.url` once the seed is in place.
1585
+ */
1586
+ storageState?: StorageState;
1522
1587
  /** Whole categories asked for once the window has connected, drawn in the window on the cloud backend. */
1523
1588
  permissions?: CategoryRequest[];
1524
1589
  };
@@ -1640,4 +1705,4 @@ declare const ATTACH_FRAME_EVENT_KEY = "FKN_WEB_EXTENSION_ATTACH_FRAME_EVENT_KEY
1640
1705
  */
1641
1706
  declare const attachFrame: AttachFrameFunction;
1642
1707
  //#endregion
1643
- export { SelectorPart as $, gotoPermission as A, handleRevivableModules as B, FrameWindowRefusal as C, WindowFrame as D, Locator as E, PermissionRequest as F, createVideoElementHandle as G, RemoteVideoElement as H, permissions as I, type as J, isType as K, CATEGORIES as L, CategoryRequest as M, LegacyPermissionRequest as N, attachFramePermission as O, PermissionGrant as P, OperationRequest as Q, CategoryMeta as R, FrameWindowOptions as S, GotoOptions as T, VideoElementState as U, BoxedVideoElement as V, box as W, Gate as X, Executor as Y, GateTools as Z, FrameEventMap as _, AttachCookies as a, FramePostMessageOptions as b, BlankPage as c, CookieMatchWire as d, Frame as f, FrameEventListener as g, FrameDocumentEvent as h, AddScriptTagOptions as i, CategoryGrant as j, createFrame as k, ClearCookiesOptions as l, FrameBackendEvent as m, attachFrame as n, AttachFrameOptions as o, FrameBackend as p, revive as q, AttachFrameFunction as r, AttachWindowOptions as s, ATTACH_FRAME_EVENT_KEY as t, ClearCookiesWire as u, FrameLocator as v, FrameWindowRefusedError as w, FrameWindowBlockedError as x, FrameMessageEvent as y, PermissionCategory as z };
1708
+ export { GateTools as $, attachFramePermission as A, CategoryMeta as B, FrameWindowRefusal as C, StorageState as D, Locator as E, LegacyPermissionRequest as F, VideoElementState as G, handleRevivableModules as H, PermissionGrant as I, isType as J, box as K, PermissionRequest as L, gotoPermission as M, CategoryGrant as N, StorageStateCookie as O, CategoryRequest as P, Gate as Q, permissions as R, FrameWindowOptions as S, GotoOptions as T, BoxedVideoElement as U, PermissionCategory as V, RemoteVideoElement as W, type as X, revive as Y, Executor as Z, FrameEventMap as _, AttachCookies as a, FramePostMessageOptions as b, BlankPage as c, CookieMatchWire as d, OperationRequest as et, Frame as f, FrameEventListener as g, FrameDocumentEvent as h, AddScriptTagOptions as i, createFrame as j, WindowFrame as k, ClearCookiesOptions as l, FrameBackendEvent as m, attachFrame as n, AttachFrameOptions as o, FrameBackend as p, createVideoElementHandle as q, AttachFrameFunction as r, AttachWindowOptions as s, ATTACH_FRAME_EVENT_KEY as t, SelectorPart as tt, ClearCookiesWire as u, FrameLocator as v, FrameWindowRefusedError as w, FrameWindowBlockedError as x, FrameMessageEvent as y, CATEGORIES as z };
package/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./lib-CfdmsLoI.cjs"),n=require("./api--LOXTOpv.cjs"),r=require("./busy-Dv8wzE5M.cjs"),i=require("./cloud-868OlBKn.cjs"),a=require("./dns.cjs"),o=require("./net.cjs"),s=require("./dgram.cjs"),c=require("./http.cjs"),l=require("./extension-hoUs5yJ7.cjs"),u=require("./desktop.cjs"),d=require("./fs-p0bOOj5n.cjs"),f=require("./opfs.cjs"),p=require("./packages.cjs"),m=require("./rooms.cjs"),h=require("./account.cjs"),g=require("./connect-button-BpXDs7tw.cjs");let _=require("osra");var v=1e4,y=150,b=()=>new Promise(e=>{if(t.$())return e(!0);let n,r=setTimeout(()=>i(t.$()),v),i=t=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),e(t)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(t.$()),y)},o=new MutationObserver(()=>{t.$()&&i(!0)}),s=()=>{document.readyState===`complete`&&!t.$()&&a()};o.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,s),document.readyState===`complete`&&a()}),x=(async e=>{let{kind:n,cookies:r}=t.o(e);if(n===`window`){let n=e;return r===`native`?t.a(n):i.i(n)}let a=e;return r===`native`?S(a):i.i(a)}),S=async e=>(i.a(e),await b(),t.a(e)),C=`https://fkn.app`,w=async(e,t)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);let i=await n.f;if(!i)throw Error(`FKN @fkn/lib: relayWorker found no FKN transport in this realm`);n.d();let a=r.t(`relayed worker`);t?.unregisterSignal?.aborted?a():t?.unregisterSignal?.addEventListener(`abort`,a,{once:!0});let o=i.emit instanceof MessagePort?{}:{originA:t?.originA??C,originB:t?.originB??`*`};(0,_.relay)(i,e,{key:`fkn-api`,...o,unregisterSignal:t?.unregisterSignal})},T=async()=>typeof window>`u`?!1:(await n.o).connect.prompt(location.origin).catch(()=>!1),E=async()=>typeof window>`u`?null:(await n.o).relay.prompt().catch(()=>null),D=new Set,O=e=>(D.add(e),()=>{D.delete(e)}),k=()=>{if(D.size===0)return!1;for(let e of[...D])try{e()}catch{}return!0},A=(e,t)=>{if(typeof e?.onUpdateTaken==`function`)return Promise.resolve(e.onUpdateTaken(t))},j=e.t({applyUpdate:()=>W,busyReasons:()=>U,onUpdate:()=>R,onUpdateTaken:()=>z,updateReady:()=>M}),M=async()=>typeof window>`u`?!1:n.o.then(e=>e.shell?.updateReady()).then(e=>e===!0).catch(()=>!1),N=new Set,P=!1,F=()=>{P=!0;for(let e of[...N])try{e()}catch{}},I=0,L=()=>{let e=n.c();e&&N.size!==0&&I!==e.epoch&&(I=e.epoch,P=!1,Promise.resolve(e.remote.shell?.onUpdate(F)).catch(()=>{I===e.epoch&&(I=0)}))};typeof window<`u`&&n.u(L);var R=async e=>{if(typeof window>`u`)return()=>{};if(N.add(e),P)try{e()}catch{}return L(),()=>{N.delete(e)}},z=e=>typeof window>`u`?()=>{}:O(e),B=0,V=!1,H=()=>{if(!k()&&!V){V=!0;try{location.reload()}catch{}}};typeof window<`u`&&n.u(()=>{let e=n.c();if(!e||B===e.epoch)return;B=e.epoch;let t=A(e.remote.shell,H);if(!t){B=0;return}t.catch(()=>{B===e.epoch&&(B=0)})});var U=()=>r.n(),W=async()=>typeof window>`u`?!1:n.o.then(e=>e.shell?.applyUpdate()).then(e=>e===!0).catch(()=>!1);exports.ATTACH_FRAME_EVENT_KEY=t.i,exports.CATEGORIES=t.C,exports.EXTENSION_ABI=t.rt,exports.ExtensionOperationUnsupportedError=t.it,exports.ExtensionOutdatedError=t.at,exports.FORGEABLE_HEADERS=t.J,exports.FrameWindowBlockedError=t.h,exports.FrameWindowRefusedError=t.g,exports.LOCATOR_DENIED=t.O,exports.LOCATOR_ERROR=t.N,exports.LOCATOR_INVALID=t.F,exports.LOCATOR_UNSUPPORTED=t.T,exports.PERMISSION_DENIED=t.t,exports.REQUIRED_EXTENSION_ABI=t.ot,exports.TimeoutError=t.w,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return h.t}}),exports.assertAttachableFrameUrl=t.b,exports.assertFetchableUrl=t.V,exports.assertForgeableHeaders=t.Y,exports.assertLockdownApplicable=t.x,exports.assertOneCookieIdentity=t.X,exports.attachFrame=x,exports.attachFramePermission=t._,exports.box=t.lt,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return i.n}}),exports.connect=T,exports.connectButtonUrl=g.t,exports.cookies=t.z,exports.createFrame=t.v,exports.createVideoElementHandle=t.ut,Object.defineProperty(exports,"desktop",{enumerable:!0,get:function(){return u.t}}),Object.defineProperty(exports,"dgram",{enumerable:!0,get:function(){return s.t}}),Object.defineProperty(exports,"dns",{enumerable:!0,get:function(){return a.t}}),Object.defineProperty(exports,"extension",{enumerable:!0,get:function(){return l.t}}),exports.fetch=l.n,exports.fetchCredentialedPermission=t.U,exports.fetchLocalPermission=t.W,exports.fetchPermission=t.G,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return d.u}}),exports.gotoPermission=t.y,exports.handleRevivableModules=t.ct,exports.hasForgedCookie=t.Z,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return c.t}}),exports.isBlockedFetchUrl=t.K,exports.isBlockedFrameUrl=t.S,exports.isExtensionExposed=t.$,exports.isLocalNetworkUrl=t.q,exports.isLocatorDenied=t.P,exports.isLocatorInvalid=t.A,exports.isLocatorUnsupported=t.E,exports.isPermissionDenied=t.n,exports.isTerminalError=t.M,exports.isType=t.dt,exports.modifyRequestHeadersPermission=t.I,Object.defineProperty(exports,"net",{enumerable:!0,get:function(){return o.t}}),Object.defineProperty(exports,"opfs",{enumerable:!0,get:function(){return f.t}}),Object.defineProperty(exports,"packages",{enumerable:!0,get:function(){return p.t}}),exports.permissions=t.r,exports.promptInstall=l.i,exports.promptRelay=E,exports.readCookiePermission=t.B,exports.readExtensionHandshake=t.et,exports.relayWorker=w,exports.removeRequestHeaderRule=t.L,exports.revive=t.ft,Object.defineProperty(exports,"rooms",{enumerable:!0,get:function(){return m.t}}),exports.setMissingExtensionHandler=t.tt,exports.setRequestHeaderRule=t.R,Object.defineProperty(exports,"shell",{enumerable:!0,get:function(){return j}}),exports.supportsOperation=t.st,exports.type=t.pt,exports.waitForExtensionExposure=t.nt;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./lib-fqQfEPk6.cjs"),n=require("./extension-DvFf7uoG.cjs"),r=require("./api--LOXTOpv.cjs"),i=require("./busy-Dv8wzE5M.cjs"),a=require("./cloud-Bx64HSkQ.cjs"),o=require("./dns.cjs"),s=require("./net.cjs"),c=require("./dgram.cjs"),l=require("./http.cjs"),u=require("./desktop.cjs"),d=require("./fs-p0bOOj5n.cjs"),f=require("./opfs.cjs"),p=require("./packages.cjs"),m=require("./rooms.cjs"),h=require("./account.cjs"),g=require("./connect-button-BpXDs7tw.cjs");let _=require("osra");var v=1e4,y=150,b=()=>new Promise(e=>{if(t.et())return e(!0);let n,r=setTimeout(()=>i(t.et()),v),i=t=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),e(t)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(t.et()),y)},o=new MutationObserver(()=>{t.et()&&i(!0)}),s=()=>{document.readyState===`complete`&&!t.et()&&a()};o.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,s),document.readyState===`complete`&&a()}),x=(async e=>{let{kind:n,cookies:r}=t.o(e);if(n===`window`){let n=e;return r===`native`?t.a(n):a.i(n)}let i=e;return r===`native`?S(i):a.i(i)}),S=async e=>(a.a(e),await b(),t.a(e)),C=`https://fkn.app`,w=async(e,t)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);let n=await r.f;if(!n)throw Error(`FKN @fkn/lib: relayWorker found no FKN transport in this realm`);r.d();let a=i.t(`relayed worker`);t?.unregisterSignal?.aborted?a():t?.unregisterSignal?.addEventListener(`abort`,a,{once:!0});let o=n.emit instanceof MessagePort?{}:{originA:t?.originA??C,originB:t?.originB??`*`};(0,_.relay)(n,e,{key:`fkn-api`,...o,unregisterSignal:t?.unregisterSignal})},T=async()=>typeof window>`u`?!1:(await r.o).connect.prompt(location.origin).catch(()=>!1),E=async()=>typeof window>`u`?null:(await r.o).relay.prompt().catch(()=>null),D=new Set,O=e=>(D.add(e),()=>{D.delete(e)}),k=()=>{if(D.size===0)return!1;for(let e of[...D])try{e()}catch{}return!0},A=(e,t)=>{if(typeof e?.onUpdateTaken==`function`)return Promise.resolve(e.onUpdateTaken(t))},j=e.t({applyUpdate:()=>W,busyReasons:()=>U,onUpdate:()=>R,onUpdateTaken:()=>z,updateReady:()=>M}),M=async()=>typeof window>`u`?!1:r.o.then(e=>e.shell?.updateReady()).then(e=>e===!0).catch(()=>!1),N=new Set,P=!1,F=()=>{P=!0;for(let e of[...N])try{e()}catch{}},I=0,L=()=>{let e=r.c();e&&N.size!==0&&I!==e.epoch&&(I=e.epoch,P=!1,Promise.resolve(e.remote.shell?.onUpdate(F)).catch(()=>{I===e.epoch&&(I=0)}))};typeof window<`u`&&r.u(L);var R=async e=>{if(typeof window>`u`)return()=>{};if(N.add(e),P)try{e()}catch{}return L(),()=>{N.delete(e)}},z=e=>typeof window>`u`?()=>{}:O(e),B=0,V=!1,H=()=>{if(!k()&&!V){V=!0;try{location.reload()}catch{}}};typeof window<`u`&&r.u(()=>{let e=r.c();if(!e||B===e.epoch)return;B=e.epoch;let t=A(e.remote.shell,H);if(!t){B=0;return}t.catch(()=>{B===e.epoch&&(B=0)})});var U=()=>i.n(),W=async()=>typeof window>`u`?!1:r.o.then(e=>e.shell?.applyUpdate()).then(e=>e===!0).catch(()=>!1);exports.ATTACH_FRAME_EVENT_KEY=t.i,exports.BACKGROUND_STOPPED=n.a,exports.CATEGORIES=t.w,exports.EXTENSION_ABI=t.it,exports.ExtensionOperationUnsupportedError=t.at,exports.ExtensionOutdatedError=t.ot,exports.FORGEABLE_HEADERS=t.Y,exports.FrameWindowBlockedError=t.g,exports.FrameWindowRefusedError=t._,exports.LOCATOR_DENIED=t.k,exports.LOCATOR_ERROR=t.P,exports.LOCATOR_INVALID=t.I,exports.LOCATOR_UNSUPPORTED=t.E,exports.PERMISSION_DENIED=t.t,exports.REQUIRED_EXTENSION_ABI=t.st,exports.TimeoutError=t.T,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return h.t}}),exports.assertAttachableFrameUrl=t.x,exports.assertFetchableUrl=t.H,exports.assertForgeableHeaders=t.X,exports.assertLockdownApplicable=t.S,exports.assertOneCookieIdentity=t.Z,exports.attachFrame=x,exports.attachFramePermission=t.v,exports.box=t.ut,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return a.n}}),exports.connect=T,exports.connectButtonUrl=g.t,exports.cookies=t.B,exports.createFrame=t.y,exports.createVideoElementHandle=t.dt,Object.defineProperty(exports,"desktop",{enumerable:!0,get:function(){return u.t}}),Object.defineProperty(exports,"dgram",{enumerable:!0,get:function(){return c.t}}),Object.defineProperty(exports,"dns",{enumerable:!0,get:function(){return o.t}}),Object.defineProperty(exports,"extension",{enumerable:!0,get:function(){return n.t}}),exports.fetch=n.n,exports.fetchCredentialedPermission=t.W,exports.fetchLocalPermission=t.G,exports.fetchPermission=t.K,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return d.u}}),exports.gotoPermission=t.b,exports.handleRevivableModules=t.lt,exports.hasForgedCookie=t.Q,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return l.t}}),exports.isBackgroundStopped=n.o,exports.isBlockedFetchUrl=t.q,exports.isBlockedFrameUrl=t.C,exports.isExtensionExposed=t.et,exports.isLocalNetworkUrl=t.J,exports.isLocatorDenied=t.F,exports.isLocatorInvalid=t.j,exports.isLocatorUnsupported=t.D,exports.isPermissionDenied=t.n,exports.isTerminalError=t.N,exports.isType=t.ft,exports.modifyRequestHeadersPermission=t.L,Object.defineProperty(exports,"net",{enumerable:!0,get:function(){return s.t}}),Object.defineProperty(exports,"opfs",{enumerable:!0,get:function(){return f.t}}),Object.defineProperty(exports,"packages",{enumerable:!0,get:function(){return p.t}}),exports.permissions=t.r,exports.promptInstall=n.i,exports.promptRelay=E,exports.readCookiePermission=t.V,exports.readExtensionHandshake=t.tt,exports.relayWorker=w,exports.removeRequestHeaderRule=t.R,exports.revive=t.pt,Object.defineProperty(exports,"rooms",{enumerable:!0,get:function(){return m.t}}),exports.setMissingExtensionHandler=t.nt,exports.setRequestHeaderRule=t.z,Object.defineProperty(exports,"shell",{enumerable:!0,get:function(){return j}}),exports.supportsOperation=t.ct,exports.type=t.mt,exports.waitForExtensionExposure=t.rt;
package/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { t as account_d_exports } from "./account.js";
2
- import { $ as SelectorPart, A as gotoPermission, B as handleRevivableModules, C as FrameWindowRefusal, D as WindowFrame, E as Locator, F as PermissionRequest, G as createVideoElementHandle, H as RemoteVideoElement, I as permissions, J as type, K as isType, L as CATEGORIES, M as CategoryRequest, N as LegacyPermissionRequest, O as attachFramePermission, P as PermissionGrant, Q as OperationRequest, R as CategoryMeta, S as FrameWindowOptions, T as GotoOptions, U as VideoElementState, V as BoxedVideoElement, W as box, X as Gate, Y as Executor, Z as GateTools, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as CategoryGrant, k as createFrame, l as ClearCookiesOptions, m as FrameBackendEvent, o as AttachFrameOptions, p as FrameBackend, q as revive, r as AttachFrameFunction, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as PermissionCategory } from "./index-BtFiGoVQ.js";
3
- import { A as readCookiePermission, B as FORGEABLE_HEADERS, C as RequestHeaderRule, D as CookieDetails, E as setRequestHeaderRule, F as fetchCredentialedPermission, G as LOCATOR_ERROR, H as assertOneCookieIdentity, I as fetchLocalPermission, J as TimeoutError, K as LOCATOR_INVALID, L as fetchPermission, M as ProxyFetchRequest, N as assertFetchableUrl, O as SiteCookie, Q as isTerminalError, R as isBlockedFetchUrl, S as HeaderOperation, T as removeRequestHeaderRule, U as hasForgedCookie, V as assertForgeableHeaders, W as LOCATOR_DENIED, X as isLocatorInvalid, Y as isLocatorDenied, Z as isLocatorUnsupported, _ as PermissionDeniedError, b as assertLockdownApplicable, c as setMissingExtensionHandler, d as ExtensionHandshake, f as ExtensionOperationUnsupportedError, g as PERMISSION_DENIED, h as supportsOperation, i as promptInstall, j as FetchInit, k as cookies, l as waitForExtensionExposure, m as REQUIRED_EXTENSION_ABI, n as fetch, o as isExtensionExposed, p as ExtensionOutdatedError, q as LOCATOR_UNSUPPORTED, s as readExtensionHandshake, t as extension_d_exports, u as EXTENSION_ABI, v as isPermissionDenied, w as modifyRequestHeadersPermission, x as isBlockedFrameUrl, y as assertAttachableFrameUrl, z as isLocalNetworkUrl } from "./extension-yhwDSIiD.js";
4
- import { n as cloud_d_exports } from "./cloud-DUH-v10C.js";
2
+ import { $ as GateTools, A as attachFramePermission, B as CategoryMeta, C as FrameWindowRefusal, D as StorageState, E as Locator, F as LegacyPermissionRequest, G as VideoElementState, H as handleRevivableModules, I as PermissionGrant, J as isType, K as box, L as PermissionRequest, M as gotoPermission, N as CategoryGrant, O as StorageStateCookie, P as CategoryRequest, Q as Gate, R as permissions, S as FrameWindowOptions, T as GotoOptions, U as BoxedVideoElement, V as PermissionCategory, W as RemoteVideoElement, X as type, Y as revive, Z as Executor, _ as FrameEventMap, a as AttachCookies, b as FramePostMessageOptions, c as BlankPage, d as CookieMatchWire, et as OperationRequest, f as Frame, g as FrameEventListener, h as FrameDocumentEvent, i as AddScriptTagOptions, j as createFrame, k as WindowFrame, l as ClearCookiesOptions, m as FrameBackendEvent, o as AttachFrameOptions, p as FrameBackend, q as createVideoElementHandle, r as AttachFrameFunction, s as AttachWindowOptions, t as ATTACH_FRAME_EVENT_KEY, tt as SelectorPart, u as ClearCookiesWire, v as FrameLocator, w as FrameWindowRefusedError, x as FrameWindowBlockedError, y as FrameMessageEvent, z as CATEGORIES } from "./index-Cgnfjh9o.js";
3
+ import { $ as isLocatorInvalid, A as CookieDetails, B as fetchPermission, C as assertLockdownApplicable, D as modifyRequestHeadersPermission, E as RequestHeaderRule, F as ProxyFetchRequest, G as assertOneCookieIdentity, H as isLocalNetworkUrl, I as assertFetchableUrl, J as LOCATOR_ERROR, K as hasForgedCookie, M as cookies, N as readCookiePermission, O as removeRequestHeaderRule, P as FetchInit, Q as isLocatorDenied, R as fetchCredentialedPermission, S as assertAttachableFrameUrl, T as HeaderOperation, U as FORGEABLE_HEADERS, V as isBlockedFetchUrl, W as assertForgeableHeaders, X as LOCATOR_UNSUPPORTED, Y as LOCATOR_INVALID, Z as TimeoutError, _ as BackgroundStoppedError, b as PermissionDeniedError, c as setMissingExtensionHandler, d as ExtensionHandshake, et as isLocatorUnsupported, f as ExtensionOperationUnsupportedError, g as BACKGROUND_STOPPED, h as supportsOperation, i as promptInstall, j as SiteCookie, k as setRequestHeaderRule, l as waitForExtensionExposure, m as REQUIRED_EXTENSION_ABI, n as fetch, o as isExtensionExposed, p as ExtensionOutdatedError, q as LOCATOR_DENIED, s as readExtensionHandshake, t as extension_d_exports, tt as isTerminalError, u as EXTENSION_ABI, v as isBackgroundStopped, w as isBlockedFrameUrl, x as isPermissionDenied, y as PERMISSION_DENIED, z as fetchLocalPermission } from "./extension-BtDg-F2g.js";
4
+ import { n as cloud_d_exports } from "./cloud-Y0FzWpFT.js";
5
5
  import { t as dns_d_exports } from "./dns.js";
6
- import { s as net_d_exports } from "./net-DcLF-6E-.js";
6
+ import { s as net_d_exports } from "./net-BOswhyfE.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";
@@ -129,4 +129,4 @@ declare const busyReasons: () => string[];
129
129
  */
130
130
  declare const applyUpdate: () => Promise<boolean>;
131
131
  //#endregion
132
- export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, type CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, type Executor, type ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, type Gate, type GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, type OperationRequest, PERMISSION_DENIED, type PermissionCategory, type PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, type SelectorPart, SiteCookie, TimeoutError, VideoElementState, WindowFrame, account_d_exports as account, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFramePermission, box, cloud_d_exports as cloud, 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, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, net_d_exports as net, index_d_exports$1 as opfs, packages_d_exports as packages, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, rooms_d_exports as rooms, setMissingExtensionHandler, setRequestHeaderRule, shell_d_exports as shell, supportsOperation, type, waitForExtensionExposure };
132
+ export { ATTACH_FRAME_EVENT_KEY, AddScriptTagOptions, AttachCookies, AttachFrameOptions, AttachWindowOptions, BACKGROUND_STOPPED, type BackgroundStoppedError, BlankPage, BoxedVideoElement, CATEGORIES, CategoryGrant, type CategoryMeta, CategoryRequest, ClearCookiesOptions, ClearCookiesWire, CookieDetails, CookieMatchWire, EXTENSION_ABI, type Executor, type ExtensionHandshake, ExtensionOperationUnsupportedError, ExtensionOutdatedError, FORGEABLE_HEADERS, FetchInit, Frame, FrameBackend, FrameBackendEvent, FrameDocumentEvent, FrameEventListener, FrameEventMap, FrameLocator, FrameMessageEvent, FramePostMessageOptions, FrameWindowBlockedError, FrameWindowOptions, FrameWindowRefusal, FrameWindowRefusedError, type Gate, type GateTools, GotoOptions, HeaderOperation, LOCATOR_DENIED, LOCATOR_ERROR, LOCATOR_INVALID, LOCATOR_UNSUPPORTED, LegacyPermissionRequest, Locator, type OperationRequest, PERMISSION_DENIED, type PermissionCategory, type PermissionDeniedError, PermissionGrant, PermissionRequest, ProxyFetchRequest, REQUIRED_EXTENSION_ABI, RemoteVideoElement, RequestHeaderRule, type SelectorPart, SiteCookie, StorageState, StorageStateCookie, TimeoutError, VideoElementState, WindowFrame, account_d_exports as account, assertAttachableFrameUrl, assertFetchableUrl, assertForgeableHeaders, assertLockdownApplicable, assertOneCookieIdentity, attachFramePermission, box, cloud_d_exports as cloud, 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, isBackgroundStopped, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isLocatorDenied, isLocatorInvalid, isLocatorUnsupported, isPermissionDenied, isTerminalError, isType, modifyRequestHeadersPermission, net_d_exports as net, index_d_exports$1 as opfs, packages_d_exports as packages, permissions, promptInstall, readCookiePermission, readExtensionHandshake, removeRequestHeaderRule, revive, rooms_d_exports as rooms, setMissingExtensionHandler, setRequestHeaderRule, shell_d_exports as shell, supportsOperation, type, waitForExtensionExposure };