@fkn/lib 0.3.11 → 0.4.0

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/index.d.ts CHANGED
@@ -1,15 +1,9 @@
1
- import * as ip_address from 'ip-address';
2
- import { Address4, Address6 } from 'ip-address';
3
- import { Socket as Socket$2, SocketConstructorOpts, SocketConnectOpts, AddressInfo, Server as Server$2, ServerOpts, ListenOptions } from 'net';
4
- import { Stream, DuplexOptions } from 'stream';
5
- import { EventEmitter } from 'events';
6
- import { Socket as Socket$3, SocketOptions, BindOptions, SocketType, RemoteInfo } from 'dgram';
7
- import { Buffer } from 'buffer';
8
- import { OutgoingHttpHeaders, IncomingHttpHeaders, RequestOptions } from 'http';
9
1
  import * as osra from 'osra';
10
2
  import { BoxBase, Capable, UnderlyingType, RevivableContext } from 'osra';
11
3
  import * as osra_build_revivables_event_target from 'osra/build/revivables/event-target';
12
4
  import * as osra_build_revivables_fallbacks from 'osra/build/revivables/fallbacks';
5
+ import * as osra_build_revivables_json_primitives from 'osra/build/revivables/json-primitives';
6
+ import * as osra_build_revivables_async_iterator from 'osra/build/revivables/async-iterator';
13
7
  import * as osra_build_revivables_event from 'osra/build/revivables/event';
14
8
  import * as osra_build_revivables_symbol from 'osra/build/revivables/symbol';
15
9
  import * as osra_build_revivables_bigint from 'osra/build/revivables/bigint';
@@ -31,1211 +25,456 @@ import * as osra_build_revivables_date from 'osra/build/revivables/date';
31
25
  import * as osra_build_revivables_array_buffer from 'osra/build/revivables/array-buffer';
32
26
  import * as osra_build_revivables_identity from 'osra/build/revivables/identity';
33
27
  import * as osra_build_revivables_transfer from 'osra/build/revivables/transfer';
28
+ import * as ip_address from 'ip-address';
29
+ import { Address4, Address6 } from 'ip-address';
30
+ import { Socket as Socket$2, SocketConstructorOpts, SocketConnectOpts, AddressInfo, Server as Server$2, ServerOpts, ListenOptions } from 'net';
31
+ import { Stream, DuplexOptions } from 'stream';
32
+ import { EventEmitter } from 'events';
33
+ import { Socket as Socket$3, SocketOptions, BindOptions, SocketType, RemoteInfo } from 'dgram';
34
+ import { Buffer } from 'buffer';
35
+ import { OutgoingHttpHeaders, IncomingHttpHeaders, RequestOptions } from 'http';
34
36
 
35
- declare const parseServerMetadataUdpSocketBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
36
- readonly _type: "ServerMetadataUdpSocketBoundPacket";
37
- readonly offset: number;
38
- readonly id: number;
39
- readonly socketId: number;
40
- readonly localAddressType: 0 | 1;
41
- readonly localAddress: ip_address.Address4 | ip_address.Address6;
42
- readonly localPort: number;
43
- readonly errorLength: number;
44
- readonly error: string;
45
- };
46
- type ServerMetadataUdpSocketBoundPacket = ReturnType<typeof parseServerMetadataUdpSocketBoundPacket>;
47
- declare const parseServerMetadataUdpSocketUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
48
- readonly _type: "ServerMetadataUdpSocketUnboundPacket";
49
- readonly offset: number;
50
- readonly id: number;
51
- readonly socketId: number;
37
+ declare const fetchPermission: {
38
+ readonly scope: "network.fetch";
39
+ readonly category: "network";
40
+ readonly severity: 0;
41
+ readonly title: "Fetch data from other sites";
42
+ readonly description: "Lets the app download public data from other websites directly, past the usual cross-origin limits.";
52
43
  };
53
- type ServerMetadataUdpSocketUnboundPacket = ReturnType<typeof parseServerMetadataUdpSocketUnboundPacket>;
54
- declare const parseServerMetadataUdpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
55
- readonly _type: "ServerMetadataUdpSocketConnectedPacket";
56
- readonly offset: number;
57
- readonly id: number;
58
- readonly socketId: number;
59
- readonly remoteAddressType: 0 | 1;
60
- readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
61
- readonly remotePort: number;
62
- readonly errorLength: number;
63
- readonly error: string;
44
+ declare const fetchCredentialedPermission: {
45
+ readonly scope: "network.fetchCredentialed";
46
+ readonly category: "network";
47
+ readonly severity: 3;
48
+ readonly unsafe: true;
49
+ readonly title: "Fetch from other sites, signed in as you";
50
+ readonly description: "Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.";
64
51
  };
65
- type ServerMetadataUdpSocketConnectedPacket = ReturnType<typeof parseServerMetadataUdpSocketConnectedPacket>;
66
- declare const UDP_OPTION_BROADCAST: 0;
67
- declare const UDP_OPTION_TTL: 1;
68
- declare const UDP_OPTION_MULTICAST_TTL_V4: 2;
69
- declare const UDP_OPTION_MULTICAST_LOOP_V4: 3;
70
- declare const UDP_OPTION_MULTICAST_LOOP_V6: 4;
71
- declare const UDP_OPTION_ADD_MEMBERSHIP_V4: 5;
72
- declare const UDP_OPTION_DROP_MEMBERSHIP_V4: 6;
73
- declare const UDP_OPTION_ADD_MEMBERSHIP_V6: 7;
74
- declare const UDP_OPTION_DROP_MEMBERSHIP_V6: 8;
75
- declare const UDP_OPTION_SEND_BUFFER_SIZE: 9;
76
- declare const UDP_OPTION_RECV_BUFFER_SIZE: 10;
77
- type UdpSocketOption = {
78
- type: typeof UDP_OPTION_BROADCAST;
79
- value: boolean;
80
- } | {
81
- type: typeof UDP_OPTION_TTL;
82
- value: number;
83
- } | {
84
- type: typeof UDP_OPTION_MULTICAST_TTL_V4;
85
- value: number;
86
- } | {
87
- type: typeof UDP_OPTION_MULTICAST_LOOP_V4;
88
- value: boolean;
89
- } | {
90
- type: typeof UDP_OPTION_MULTICAST_LOOP_V6;
91
- value: boolean;
92
- } | {
93
- type: typeof UDP_OPTION_ADD_MEMBERSHIP_V4;
94
- group: Uint8Array;
95
- interface: Uint8Array;
96
- } | {
97
- type: typeof UDP_OPTION_DROP_MEMBERSHIP_V4;
98
- group: Uint8Array;
99
- interface: Uint8Array;
100
- } | {
101
- type: typeof UDP_OPTION_ADD_MEMBERSHIP_V6;
102
- group: Uint8Array;
103
- ifIndex: number;
104
- } | {
105
- type: typeof UDP_OPTION_DROP_MEMBERSHIP_V6;
106
- group: Uint8Array;
107
- ifIndex: number;
108
- } | {
109
- type: typeof UDP_OPTION_SEND_BUFFER_SIZE;
110
- value: number;
111
- } | {
112
- type: typeof UDP_OPTION_RECV_BUFFER_SIZE;
113
- value: number;
52
+ type ProxyFetchRequest = {
53
+ url: string;
54
+ method: string;
55
+ headers: [string, string][];
56
+ body: ArrayBuffer | null;
57
+ credentials: 'include' | 'omit';
58
+ redirect: RequestRedirect;
59
+ unsafeHeaders?: [string, string][];
60
+ reason?: string;
61
+ signal?: AbortSignal;
114
62
  };
115
- declare const parseServerMetadataUdpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
116
- _type: "ServerMetadataUdpSetOptionAckPacket";
117
- offset: number;
118
- id: number;
119
- socketId: number;
120
- errorLength: number;
121
- error: string;
63
+ type FetchInit = RequestInit & {
64
+ reason?: string;
122
65
  };
123
- type ServerMetadataUdpSetOptionAckPacket = ReturnType<typeof parseServerMetadataUdpSetOptionAckPacket>;
66
+ declare const isBlockedFetchUrl: (raw: string) => boolean;
67
+ declare const assertFetchableUrl: (raw: string) => void;
68
+ declare const fetch$2: (input: URL | RequestInfo, init?: FetchInit | undefined) => Promise<Response>;
124
69
 
125
- declare const parseServerMetadataTcpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
126
- readonly _type: "ServerMetadataTcpSocketConnectedPacket";
127
- readonly offset: number;
128
- readonly id: number;
129
- readonly socketId: number;
130
- readonly localAddressType: 0 | 1;
131
- readonly localAddress: ip_address.Address4 | ip_address.Address6;
132
- readonly localPort: number;
133
- readonly remoteAddressType: 0 | 1;
134
- readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
135
- readonly remotePort: number;
136
- readonly errorLength: number;
137
- readonly error: string;
70
+ declare const readCookiePermission: {
71
+ readonly scope: "network.readCookie";
72
+ readonly category: "network";
73
+ readonly severity: 3;
74
+ readonly unsafe: true;
75
+ readonly title: "Read a site’s cookie";
76
+ readonly description: "Lets the app read a named cookie from another site, which can include the login token only that site should see.";
138
77
  };
139
- type ServerMetadataTcpSocketConnectedPacket = ReturnType<typeof parseServerMetadataTcpSocketConnectedPacket>;
140
- declare const parseServerMetadataTcpSocketShutdownPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
141
- readonly _type: "ServerMetadataTcpSocketShutdownPacket";
142
- readonly offset: number;
143
- readonly id: number;
144
- readonly socketId: number;
78
+ type CookieDetails = {
79
+ url: string;
80
+ name: string;
145
81
  };
146
- type ServerMetadataTcpSocketShutdownPacket = ReturnType<typeof parseServerMetadataTcpSocketShutdownPacket>;
147
- declare const TCP_OPTION_NODELAY: 0;
148
- declare const TCP_OPTION_TTL: 1;
149
- declare const TCP_OPTION_KEEPALIVE: 2;
150
- declare const TCP_OPTION_SEND_BUFFER_SIZE: 3;
151
- declare const TCP_OPTION_RECV_BUFFER_SIZE: 4;
152
- type TcpSocketOption = {
153
- type: typeof TCP_OPTION_NODELAY;
154
- value: boolean;
155
- } | {
156
- type: typeof TCP_OPTION_TTL;
157
- value: number;
158
- } | {
159
- type: typeof TCP_OPTION_KEEPALIVE;
160
- enabled: boolean;
161
- initialDelaySeconds: number;
162
- } | {
163
- type: typeof TCP_OPTION_SEND_BUFFER_SIZE;
164
- value: number;
165
- } | {
166
- type: typeof TCP_OPTION_RECV_BUFFER_SIZE;
167
- value: number;
82
+ type SiteCookie = {
83
+ name: string;
84
+ value: string;
168
85
  };
169
- declare const parseServerMetadataTcpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
170
- _type: "ServerMetadataTcpSetOptionAckPacket";
171
- offset: number;
172
- id: number;
173
- socketId: number;
174
- errorLength: number;
175
- error: string;
86
+ declare const cookies: {
87
+ get: (details: CookieDetails) => Promise<SiteCookie | null>;
176
88
  };
177
- type ServerMetadataTcpSetOptionAckPacket = ReturnType<typeof parseServerMetadataTcpSetOptionAckPacket>;
178
89
 
179
- declare const parseServerMetadataTcpSocketListenerBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
180
- readonly _type: "ServerMetadataTcpSocketListenerBoundPacket";
181
- readonly offset: number;
182
- readonly id: number;
183
- readonly socketId: number;
184
- readonly localAddressType: 0 | 1;
185
- readonly localAddress: ip_address.Address4 | ip_address.Address6;
186
- readonly localPort: number;
187
- readonly errorLength: number;
188
- readonly error: string;
90
+ declare const modifyRequestHeadersPermission: {
91
+ readonly scope: "network.modifyRequestHeaders";
92
+ readonly category: "network";
93
+ readonly severity: 2;
94
+ readonly unsafe: true;
95
+ readonly title: "Rewrite request headers to other sites";
96
+ readonly description: "Lets the app set or remove headers (like Origin and Referer) on this page’s own requests to the listed sites.";
189
97
  };
190
- type ServerMetadataTcpSocketListenerBoundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerBoundPacket>;
191
- declare const parseServerMetadataTcpSocketListenerUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
192
- readonly _type: "ServerMetadataTcpSocketListenerUnboundPacket";
193
- readonly offset: number;
194
- readonly id: number;
195
- readonly socketId: number;
98
+ type HeaderOperation = {
99
+ header: string;
100
+ operation: 'set' | 'remove';
101
+ value?: string;
196
102
  };
197
- type ServerMetadataTcpSocketListenerUnboundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerUnboundPacket>;
198
-
199
- declare const parseServerMetadataHeaderPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
200
- readonly _type: "ServerMetadataHeaderPacket";
201
- readonly offset: number;
202
- readonly agentLength: number;
203
- readonly agent: string;
204
- readonly versionLength: number;
205
- readonly version: string;
103
+ type RequestHeaderRule = {
104
+ domains: string[];
105
+ requestHeaders: HeaderOperation[];
106
+ reason?: string;
206
107
  };
207
- type ServerMetadataHeaderPacket = ReturnType<typeof parseServerMetadataHeaderPacket>;
208
- type ServerMetadataPacket = ServerMetadataHeaderPacket | ServerMetadataTcpSocketConnectedPacket | ServerMetadataTcpSocketShutdownPacket | ServerMetadataTcpSocketListenerBoundPacket | ServerMetadataTcpSocketListenerUnboundPacket | ServerMetadataUdpSocketBoundPacket | ServerMetadataUdpSocketUnboundPacket | ServerMetadataUdpSocketConnectedPacket | ServerMetadataTcpSetOptionAckPacket | ServerMetadataUdpSetOptionAckPacket;
108
+ declare const setRequestHeaderRule: (rule: RequestHeaderRule) => Promise<{
109
+ ruleId: number;
110
+ }>;
111
+ declare const removeRequestHeaderRule: (ruleId: number) => Promise<void>;
209
112
 
210
- type BidirectionalStreams = {
211
- readable: ReadableStream<Uint8Array>;
212
- writable: WritableStream<Uint8Array>;
213
- };
214
- declare const makeWebVPNWebTransport: () => Promise<{
215
- webtransport: WebTransport;
216
- getNewPacketId: () => number;
217
- getTcpDataReadableStreamForSocketId: (socketId: number, options?: {
218
- signal?: AbortSignal;
219
- }) => Promise<BidirectionalStreams>;
220
- getUdpDataReadableStreamForSocketId: (socketId: number) => ReadableStream<{
221
- readonly _type: "ServerUdpDataPacket";
222
- readonly offset: number;
223
- readonly socketId: number;
224
- readonly remoteAddressType: 0 | 1 | 2;
225
- readonly remoteAddress: Address4 | Address6 | undefined;
226
- readonly remotePort: number | undefined;
227
- readonly dataLength: number;
228
- readonly data: ArrayBuffer;
229
- }>;
230
- getPacketForId: (packetId: number) => Promise<ServerMetadataPacket>;
231
- getMetadataReadableStreamForSocketId: (socketId: number) => ReadableStream<ServerMetadataPacket>;
232
- getMetadataReadableStreamForLocalAddress: (address: Address4 | Address6) => ReadableStream<ServerMetadataPacket>;
233
- getMetadataReadableStreamForLocalPort: (port: number) => ReadableStream<ServerMetadataPacket>;
234
- getMetadataWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
235
- getDatagramWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
236
- }>;
237
- type WebVPNWebTransport = Awaited<ReturnType<typeof makeWebVPNWebTransport>>;
113
+ type ExtractType<M> = M extends {
114
+ type: infer T extends string;
115
+ } ? T : never;
116
+ type ExtractResolverArgs<M> = M extends {
117
+ resolve: (context: any, ...args: infer A) => Element[];
118
+ } ? A : never;
119
+ type ExtractOperationArgs<M> = M extends {
120
+ resolve: (context: any, ...args: infer A) => any;
121
+ } ? A : never;
122
+ type ExtractResolverReturn<M> = M extends {
123
+ resolve: (context: any, ...args: any[]) => infer R;
124
+ } ? R : never;
238
125
 
239
- declare const processTcpSocket: ({ connectedPacket, dataReadableStream, dataWritableStream, metadataReadableStream, metadataWriter, dataStreamAbort, webVpnWebTransport }: {
240
- connectedPacket: ServerMetadataTcpSocketConnectedPacket;
241
- dataReadableStream: ReadableStream<Uint8Array>;
242
- dataWritableStream: WritableStream<Uint8Array>;
243
- metadataReadableStream: ReadableStream<ServerMetadataPacket>;
244
- metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
245
- dataStreamAbort?: AbortController;
246
- webVpnWebTransport: WebVPNWebTransport;
247
- }) => Promise<{
248
- localAddress: string;
249
- localFamily: "IPv4" | "IPv6";
250
- localPort: number;
251
- remoteAddress: string;
252
- remoteFamily: "IPv4" | "IPv6";
253
- remotePort: number;
254
- dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
255
- dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
256
- end: () => Promise<void>;
257
- destroy: () => Promise<void>;
258
- destroySoon: () => Promise<void>;
259
- resetAndDestroy: () => Promise<void>;
260
- setOption: (option: TcpSocketOption) => Promise<void>;
261
- }>;
262
- type TcpSocketResult = Awaited<ReturnType<typeof processTcpSocket>>;
126
+ declare const type$i: "locator";
127
+ declare const resolve$h: (context: LocatorContext, selector: string) => Element[];
128
+ declare const render$7: SelectorRenderer;
263
129
 
264
- type AddressLookupResult = {
265
- address: string;
266
- family: 0 | 4 | 6;
130
+ declare namespace locatorSel {
131
+ export {
132
+ render$7 as render,
133
+ resolve$h as resolve,
134
+ type$i as type,
135
+ };
136
+ }
137
+
138
+ declare const type$h: "getByRole";
139
+ declare const resolve$g: (context: LocatorContext, role: string) => Element[];
140
+ declare const render$6: SelectorRenderer;
141
+
142
+ declare namespace getByRole {
143
+ export {
144
+ render$6 as render,
145
+ resolve$g as resolve,
146
+ type$h as type,
147
+ };
148
+ }
149
+
150
+ declare const type$g: "getByText";
151
+ declare const resolve$f: (context: LocatorContext, text: string) => Element[];
152
+ declare const render$5: SelectorRenderer;
153
+
154
+ declare namespace getByText {
155
+ export {
156
+ render$5 as render,
157
+ resolve$f as resolve,
158
+ type$g as type,
159
+ };
160
+ }
161
+
162
+ declare const type$f: "getByTestId";
163
+ declare const resolve$e: (context: LocatorContext, testId: string) => Element[];
164
+ declare const render$4: SelectorRenderer;
165
+
166
+ declare namespace getByTestId {
167
+ export {
168
+ render$4 as render,
169
+ resolve$e as resolve,
170
+ type$f as type,
171
+ };
172
+ }
173
+
174
+ declare const type$e: "first";
175
+ declare const resolve$d: (context: LocatorContext) => Element[];
176
+ declare const render$3: SelectorRenderer;
177
+
178
+ declare namespace first {
179
+ export {
180
+ render$3 as render,
181
+ resolve$d as resolve,
182
+ type$e as type,
183
+ };
184
+ }
185
+
186
+ declare const type$d: "nth";
187
+ declare const resolve$c: (context: LocatorContext, index: number) => Element[];
188
+ declare const render$2: SelectorRenderer;
189
+
190
+ declare namespace nth {
191
+ export {
192
+ render$2 as render,
193
+ resolve$c as resolve,
194
+ type$d as type,
195
+ };
196
+ }
197
+
198
+ declare const type$c: "click";
199
+ declare const permission$9: {
200
+ readonly scope: "act.click";
201
+ readonly category: "act";
202
+ readonly severity: 3;
203
+ readonly title: "Click on the page";
204
+ readonly description: "Lets the app press buttons or links for you.";
267
205
  };
206
+ declare const resolve$b: (context: LocatorContext, options?: OperationTimeoutOptions & {
207
+ position?: {
208
+ x?: number | undefined;
209
+ y?: number | undefined;
210
+ } | undefined;
211
+ }) => void;
268
212
 
269
- declare const resolvers: {
270
- readonly setOverlayHost: (push: (state: {
271
- modal: boolean;
272
- rects: {
273
- x: number;
274
- y: number;
275
- width: number;
276
- height: number;
277
- }[];
278
- }) => unknown) => void;
279
- readonly showInstallPrompt: (reason?: string) => Promise<void>;
280
- readonly hideInstallPrompt: () => void;
281
- readonly dnsLookup: <T extends boolean = false>(hostname: string, options?: {
282
- all?: T;
283
- family: 0 | 4 | 6;
284
- }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
285
- readonly webVpnTcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
286
- remoteAddress: string;
287
- remotePort: number;
288
- }) => Promise<{
289
- localAddress: string;
290
- localFamily: "IPv4" | "IPv6";
291
- localPort: number;
292
- remoteAddress: string;
293
- remoteFamily: "IPv4" | "IPv6";
294
- remotePort: number;
295
- dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
296
- dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
297
- end: () => Promise<void>;
298
- destroy: () => Promise<void>;
299
- destroySoon: () => Promise<void>;
300
- resetAndDestroy: () => Promise<void>;
301
- setOption: (option: TcpSocketOption) => Promise<void>;
302
- }>;
303
- readonly webVpnTcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
304
- localAddress: string;
305
- localPort: number;
306
- onConnection: (connection: TcpSocketResult) => void;
307
- }) => Promise<{
308
- localAddress: string;
309
- localFamily: "IPv4" | "IPv6";
310
- localPort: number;
311
- close: () => Promise<void>;
312
- }>;
313
- readonly webVpnUdpSocket: ({ type, port, address }: {
314
- type: "udp4" | "udp6";
315
- port: number;
316
- address: string;
317
- }) => Promise<{
318
- localAddress: string;
319
- localFamily: "IPv4" | "IPv6";
320
- localPort: number;
321
- dataReadableStream: ReadableStream<{
322
- data: ArrayBuffer;
323
- size: number;
324
- family: "IPv4" | "IPv6";
325
- address: string;
326
- port: number;
327
- }>;
328
- connect: ({ remoteAddress: _remoteAddress, remotePort }: {
329
- remoteAddress: string;
330
- remotePort: number;
331
- }) => Promise<void>;
332
- send: ({ message, address: _remoteAddress, port: remotePort }: {
333
- message: ArrayBuffer;
334
- address?: string;
335
- port?: number;
336
- }) => Promise<void>;
337
- close: () => Promise<void>;
338
- setOption: (option: UdpSocketOption) => Promise<void>;
339
- }>;
340
- readonly proxyFetch: (input: string | URL | Request, init?: (RequestInit | undefined) & {
341
- render?: boolean;
342
- }) => Promise<Response>;
213
+ declare namespace click {
214
+ export {
215
+ permission$9 as permission,
216
+ resolve$b as resolve,
217
+ type$c as type,
218
+ };
219
+ }
220
+
221
+ declare const type$b: "fill";
222
+ declare const permission$8: {
223
+ readonly scope: "act.type";
224
+ readonly category: "act";
225
+ readonly severity: 1;
226
+ readonly title: "Type into a text field";
227
+ readonly description: "Lets the app fill in form fields on your behalf.";
343
228
  };
344
- type Resolvers = typeof resolvers;
229
+ declare const resolve$a: (context: LocatorContext, value: string, _options?: OperationTimeoutOptions) => void;
345
230
 
346
- type ProxyFetch = Resolvers['proxyFetch'];
347
- type FetchParameters = Parameters<ProxyFetch>;
348
- declare const serverProxyFetch: (input: FetchParameters[0], init?: FetchParameters[1]) => Promise<Response>;
231
+ declare namespace fill {
232
+ export {
233
+ permission$8 as permission,
234
+ resolve$a as resolve,
235
+ type$b as type,
236
+ };
237
+ }
349
238
 
350
- declare const relayWorker: (worker: Worker, options?: {
351
- unregisterSignal?: AbortSignal;
352
- originA?: string;
353
- originB?: string;
239
+ declare const type$a: "hover";
240
+ declare const permission$7: {
241
+ readonly scope: "act.hover";
242
+ readonly category: "act";
243
+ readonly severity: 1;
244
+ readonly title: "Hover over the page";
245
+ readonly description: "Lets the app point at things to reveal menus or tooltips.";
246
+ };
247
+ declare const resolve$9: (context: LocatorContext, options?: OperationTimeoutOptions & {
248
+ position?: {
249
+ x?: number | undefined;
250
+ y?: number | undefined;
251
+ } | undefined;
354
252
  }) => void;
355
253
 
356
- declare const promptInstall: (reason?: string) => Promise<boolean>;
254
+ declare namespace hover {
255
+ export {
256
+ permission$7 as permission,
257
+ resolve$9 as resolve,
258
+ type$a as type,
259
+ };
260
+ }
357
261
 
358
- declare const isIPv4: (input: string) => boolean;
359
- declare const isIPv6: (input: string) => boolean;
360
- declare const isIP: (input: string) => 0 | 4 | 6;
262
+ declare const type$9: "textContent";
263
+ declare const permission$6: {
264
+ readonly scope: "read.text";
265
+ readonly category: "read";
266
+ readonly severity: 1;
267
+ readonly title: "Read text from the page";
268
+ readonly description: "Lets the app see the text shown on this page.";
269
+ };
270
+ declare const resolve$8: (context: LocatorContext, _options?: OperationTimeoutOptions) => string;
361
271
 
362
- declare class Socket$1 extends Stream.Duplex implements Socket$2 {
363
- _localAddress?: {
364
- address: string;
365
- family: string;
366
- port: number;
367
- };
368
- _remoteAddress?: {
369
- address: string;
370
- family: string;
371
- port: number;
372
- };
373
- _webVPNTcpSocketPromise?: Promise<(Awaited<ReturnType<Resolvers['webVpnTcpSocket']>> & {
374
- reader: ReadableStreamDefaultReader<Uint8Array>;
375
- writer: WritableStreamDefaultWriter<Uint8Array>;
376
- }) | undefined>;
377
- constructor(options?: SocketConstructorOpts & DuplexOptions & {
378
- connection?: ReturnType<Resolvers['webVpnTcpSocket']>;
379
- });
380
- __webvpn_tcp_socket_init__(connection: ReturnType<Resolvers['webVpnTcpSocket']>): Promise<({
381
- localAddress: string;
382
- localFamily: "IPv4" | "IPv6";
383
- localPort: number;
384
- remoteAddress: string;
385
- remoteFamily: "IPv4" | "IPv6";
386
- remotePort: number;
387
- dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
388
- dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
389
- end: () => Promise<void>;
390
- destroy: () => Promise<void>;
391
- destroySoon: () => Promise<void>;
392
- resetAndDestroy: () => Promise<void>;
393
- setOption: (option: TcpSocketOption) => Promise<void>;
394
- } & {
395
- reader: ReadableStreamDefaultReader<Uint8Array>;
396
- writer: WritableStreamDefaultWriter<Uint8Array>;
397
- }) | undefined>;
398
- /** STREAM IMPL */
399
- _read(size: number): void;
400
- _write(chunk: Uint8Array, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
401
- /** SOCKET IMPL */
402
- connect(options: SocketConnectOpts, connectionListener?: (() => void) | undefined): this;
403
- connect(port: number, host: string, connectionListener?: (() => void) | undefined): this;
404
- connect(port: number, connectionListener?: (() => void) | undefined): this;
405
- connect(path: string, connectionListener?: (() => void) | undefined): this;
406
- connect(port: unknown, host?: unknown, connectionListener?: unknown): this;
407
- _end(chunk: any, cb?: () => void): this;
408
- _end(chunk: any, encoding?: BufferEncoding, cb?: () => void): this;
409
- _destroy(error?: Error | null | undefined): this;
410
- destroySoon(): void;
411
- resetAndDestroy(): this;
412
- _timeoutMs?: number;
413
- _timeoutTimer?: ReturnType<typeof setTimeout>;
414
- _restartTimeoutTimer(): void;
415
- setTimeout(timeout: number, callback?: (() => void) | undefined): this;
416
- setNoDelay(noDelay?: boolean | undefined): this;
417
- setKeepAlive(enable?: boolean | undefined, initialDelay?: number | undefined): this;
418
- setSendBufferSize(size: number): this;
419
- setRecvBufferSize(size: number): this;
420
- _typeOfService?: number;
421
- getTypeOfService(): number;
422
- setTypeOfService(tos: number): this;
423
- _setTcpOption(option: TcpSocketOption): void;
424
- write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
425
- write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
426
- address(): AddressInfo | {};
427
- unref(): this;
428
- ref(): this;
429
- autoSelectFamilyAttemptedAddresses: string[];
430
- bufferSize: number;
431
- bytesRead: number;
432
- bytesWritten: number;
433
- connecting: boolean;
434
- pending: boolean;
435
- get localAddress(): string;
436
- get localPort(): number;
437
- get localFamily(): string;
438
- readyState: 'opening' | 'open' | 'readOnly' | 'writeOnly' | 'closed';
439
- get remoteAddress(): string;
440
- get remotePort(): number;
441
- get remoteFamily(): string;
442
- timeout?: number | undefined;
443
- }
444
- interface EventEmitterOptions$1 {
445
- /**
446
- * Enables automatic capturing of promise rejection.
447
- */
448
- captureRejections?: boolean | undefined;
449
- }
450
- declare class Server$1 extends EventEmitter implements Server$2 {
451
- _localAddress?: {
452
- address: string;
453
- family: string;
454
- port: number;
455
- };
456
- _webVPNTcpSocketListenerPromise?: Promise<Awaited<ReturnType<Resolvers['webVpnTcpSocketListener']>> | undefined>;
457
- constructor(options?: ServerOpts & EventEmitterOptions$1 & {
458
- connection?: ReturnType<Resolvers['webVpnTcpSocketListener']>;
459
- }, connectionListener?: (socket: Socket$1) => void);
460
- __webvpn_tcp_socket_listener_init__(connection: ReturnType<Resolvers['webVpnTcpSocketListener']>): Promise<{
461
- localAddress: string;
462
- localFamily: "IPv4" | "IPv6";
463
- localPort: number;
464
- close: () => Promise<void>;
465
- } | undefined>;
466
- listen(port?: number | undefined, hostname?: string | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
467
- listen(port?: number | undefined, hostname?: string | undefined, listeningListener?: (() => void) | undefined): this;
468
- listen(port?: number | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
469
- listen(port?: number | undefined, listeningListener?: (() => void) | undefined): this;
470
- listen(path: string, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
471
- listen(path: string, listeningListener?: (() => void) | undefined): this;
472
- listen(options: ListenOptions, listeningListener?: (() => void) | undefined): this;
473
- listen(handle: any, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
474
- listen(handle: any, listeningListener?: (() => void) | undefined): this;
475
- listen(port?: unknown, hostname?: unknown, backlog?: unknown, listeningListener?: unknown): this;
476
- close(callback?: ((err?: Error | undefined) => void) | undefined): this;
477
- address(): string | AddressInfo | null;
478
- getConnections(cb: (error: Error | null, count: number) => void): this;
479
- ref(): this;
480
- unref(): this;
481
- maxConnections: number;
482
- connections: number;
483
- listening: boolean;
484
- [Symbol.asyncDispose](): Promise<void>;
272
+ declare namespace textContent {
273
+ export {
274
+ permission$6 as permission,
275
+ resolve$8 as resolve,
276
+ type$9 as type,
277
+ };
485
278
  }
486
- declare const connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
487
- declare const createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
488
- declare const createServer$1: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
489
279
 
490
- declare const _default$1: {
491
- Socket: typeof Socket$1;
492
- Server: typeof Server$1;
493
- connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
494
- createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
495
- createServer: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
496
- isIP: (input: string) => 0 | 4 | 6;
497
- isIPv4: (input: string) => boolean;
498
- isIPv6: (input: string) => boolean;
280
+ declare const type$8: "isVisible";
281
+ declare const permission$5: {
282
+ readonly scope: "read.visible";
283
+ readonly category: "read";
284
+ readonly severity: 0;
285
+ readonly title: "See what’s visible on the page";
286
+ readonly description: "Lets the app check which elements are currently on screen.";
499
287
  };
288
+ declare const resolve$7: (context: LocatorContext, _options?: OperationTimeoutOptions) => boolean;
500
289
 
501
- declare const net_connect: typeof connect;
502
- declare const net_createConnection: typeof createConnection;
503
- declare const net_isIP: typeof isIP;
504
- declare const net_isIPv4: typeof isIPv4;
505
- declare const net_isIPv6: typeof isIPv6;
506
- declare namespace net {
290
+ declare namespace isVisible {
507
291
  export {
508
- Server$1 as Server,
509
- Socket$1 as Socket,
510
- _default$1 as _default,
511
- net_connect as connect,
512
- net_createConnection as createConnection,
513
- createServer$1 as createServer,
514
- _default$1 as default,
515
- net_isIP as isIP,
516
- net_isIPv4 as isIPv4,
517
- net_isIPv6 as isIPv6,
292
+ permission$5 as permission,
293
+ resolve$7 as resolve,
294
+ type$8 as type,
518
295
  };
519
296
  }
520
297
 
521
- interface EventEmitterOptions {
522
- /**
523
- * Enables automatic capturing of promise rejection.
524
- */
525
- captureRejections?: boolean | undefined;
526
- }
527
- declare class Socket extends EventEmitter implements Socket$3 {
528
- _type: 'udp4' | 'udp6';
529
- _localAddress?: {
530
- address: string;
531
- family: string;
532
- port: number;
533
- };
534
- _remoteAddress?: {
535
- address: string;
536
- family: string;
537
- port: number;
538
- };
539
- _webVPNUdpSocketPromise?: Promise<Awaited<ReturnType<Resolvers['webVpnUdpSocket']>> | undefined>;
540
- constructor(options: SocketOptions & EventEmitterOptions & {
541
- connection?: ReturnType<Resolvers['webVpnUdpSocket']>;
542
- });
543
- _lastRecvBufferSize: number;
544
- _lastSendBufferSize: number;
545
- _lastTtl: number;
546
- _lastMulticastTtl: number;
547
- _lastMulticastLoopback: boolean;
548
- _setUdpOption(option: UdpSocketOption): void;
549
- addMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
550
- address(): AddressInfo;
551
- bind(port?: number | undefined, address?: string | undefined, callback?: (() => void) | undefined): this;
552
- bind(port?: number | undefined, callback?: (() => void) | undefined): this;
553
- bind(callback?: (() => void) | undefined): this;
554
- bind(options: BindOptions, callback?: (() => void) | undefined): this;
555
- close(callback?: (() => void) | undefined): this;
556
- connect(port: number, address?: string, callback?: () => void): void;
557
- connect(port: number, callback: () => void): void;
558
- disconnect(): void;
559
- dropMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
560
- getRecvBufferSize(): number;
561
- getSendBufferSize(): number;
562
- getSendQueueSize(): number;
563
- getSendQueueCount(): number;
564
- ref(): this;
565
- remoteAddress(): AddressInfo;
566
- send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
567
- send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
568
- send(msg: string | readonly any[] | Uint8Array, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
569
- send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
570
- send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
571
- send(msg: string | Uint8Array, offset: number, length: number, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
572
- send(msg: unknown, offset?: unknown, length?: unknown, port?: unknown, address?: unknown, callback?: unknown): void;
573
- setBroadcast(flag: boolean): void;
574
- setMulticastInterface(multicastInterface: string): void;
575
- setMulticastLoopback(flag: boolean): boolean;
576
- setMulticastTTL(ttl: number): number;
577
- setRecvBufferSize(size: number): void;
578
- setSendBufferSize(size: number): void;
579
- setTTL(ttl: number): number;
580
- unref(): this;
581
- addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
582
- dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
583
- [Symbol.asyncDispose](): Promise<void>;
298
+ declare const type$7: "count";
299
+ declare const permission$4: {
300
+ readonly scope: "read.count";
301
+ readonly category: "read";
302
+ readonly severity: 0;
303
+ readonly title: "Count items on the page";
304
+ readonly description: "Lets the app count how many matching elements are present.";
305
+ };
306
+ declare const resolve$6: (context: LocatorContext, _options?: OperationTimeoutOptions) => number;
307
+
308
+ declare namespace count {
309
+ export {
310
+ permission$4 as permission,
311
+ resolve$6 as resolve,
312
+ type$7 as type,
313
+ };
584
314
  }
585
- declare const createSocket: (options: SocketType | SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void) => Socket;
586
315
 
587
- type dgram_Socket = Socket;
588
- declare const dgram_Socket: typeof Socket;
589
- declare const dgram_createSocket: typeof createSocket;
590
- declare namespace dgram {
316
+ declare const type$6: "exists";
317
+ declare const permission$3: {
318
+ readonly scope: "read.check";
319
+ readonly category: "read";
320
+ readonly severity: 0;
321
+ readonly title: "Check if something is on the page";
322
+ readonly description: "Lets the app test whether a specific element exists.";
323
+ };
324
+ declare const resolve$5: (context: LocatorContext, _options?: OperationTimeoutOptions) => boolean;
325
+
326
+ declare namespace exists {
591
327
  export {
592
- dgram_Socket as Socket,
593
- dgram_createSocket as createSocket,
328
+ permission$3 as permission,
329
+ resolve$5 as resolve,
330
+ type$6 as type,
594
331
  };
595
332
  }
596
333
 
597
- declare const METHODS: string[];
598
- declare const STATUS_CODES: Record<number, string>;
599
- interface ParsedHead {
600
- /** request only */
601
- method?: string;
602
- /** request only */
603
- url?: string;
604
- /** response only */
605
- statusCode?: number;
606
- /** response only */
607
- statusMessage?: string;
608
- httpVersionMajor: number;
609
- httpVersionMinor: number;
610
- httpVersion: string;
611
- headers: IncomingHttpHeaders;
612
- rawHeaders: string[];
613
- }
614
- interface ParserHandlers {
615
- onHeaders: (head: ParsedHead) => void;
616
- onBody: (chunk: Uint8Array) => void;
617
- onComplete: () => void;
618
- }
619
- declare class HTTPParser {
620
- private readonly mode;
621
- private readonly handlers;
622
- private buf;
623
- private state;
624
- private framing;
625
- private bodyRemaining;
626
- private chunkState;
627
- skipBody: boolean;
628
- constructor(mode: 'request' | 'response', handlers: ParserHandlers);
629
- execute(chunk: Uint8Array): void;
630
- finish(): void;
631
- private reset;
632
- private parseHead;
633
- private applyVersion;
634
- private addHeader;
635
- private setupBody;
636
- private consumeBody;
637
- private consumeChunked;
638
- }
639
- declare class IncomingMessage extends Stream.Readable {
640
- httpVersion: string;
641
- httpVersionMajor: number;
642
- httpVersionMinor: number;
643
- headers: IncomingHttpHeaders;
644
- rawHeaders: string[];
645
- trailers: Record<string, string>;
646
- rawTrailers: string[];
647
- /** request only */
648
- method?: string;
649
- /** request only */
650
- url?: string;
651
- /** response only */
652
- statusCode?: number;
653
- /** response only */
654
- statusMessage?: string;
655
- complete: boolean;
656
- socket: Socket$1;
657
- constructor(socket: Socket$1);
658
- get connection(): Socket$1;
659
- _applyHead(head: ParsedHead): void;
660
- _read(): void;
661
- setTimeout(msecs: number, callback?: () => void): this;
662
- }
663
- declare abstract class OutgoingMessage extends Stream.Writable {
664
- private _headerStore;
665
- headersSent: boolean;
666
- chunkedEncoding: boolean;
667
- finished: boolean;
668
- protected _bodyWritten: boolean;
669
- abstract socket: Socket$1 | null;
670
- setHeader(name: string, value: number | string | readonly string[]): this;
671
- getHeader(name: string): number | string | string[] | undefined;
672
- getHeaderNames(): string[];
673
- getHeaders(): OutgoingHttpHeaders;
674
- hasHeader(name: string): boolean;
675
- removeHeader(name: string): void;
676
- protected _storeHeader(startLine: string): string;
677
- protected abstract _shouldSendBody(): boolean;
678
- protected abstract _implicitHeader(): void;
679
- protected _writeToSocket(data: Buffer, callback: (error?: Error | null) => void): void;
680
- write(chunk: unknown, encoding?: BufferEncoding | ((error: Error | null | undefined) => void), callback?: (error: Error | null | undefined) => void): boolean;
681
- _write(chunk: Buffer, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
682
- _final(callback: (error?: Error | null) => void): void;
683
- end(chunk?: unknown, encoding?: BufferEncoding | (() => void), callback?: () => void): this;
684
- protected _headBlock?: string;
685
- }
686
- interface ServerResponseOptions {
687
- req: IncomingMessage;
688
- }
689
- declare class ServerResponse extends OutgoingMessage {
690
- statusCode: number;
691
- statusMessage?: string;
692
- private _writeHeadCalled;
693
- sendDate: boolean;
694
- req: IncomingMessage;
695
- socket: Socket$1 | null;
696
- _keepAlive: boolean;
697
- constructor(req: IncomingMessage);
698
- protected _shouldSendBody(): boolean;
699
- writeHead(statusCode: number, statusMessage?: string | OutgoingHttpHeaders | OutgoingHttpHeaders[keyof OutgoingHttpHeaders][], headers?: OutgoingHttpHeaders): this;
700
- private _appendHeader;
701
- protected _implicitHeader(): void;
702
- writeContinue(): void;
703
- setTimeout(msecs: number, callback?: () => void): this;
704
- }
705
- interface ClientRequestArgs extends RequestOptions {
706
- host?: string;
707
- hostname?: string;
708
- port?: number | string;
709
- path?: string;
710
- }
711
- declare class ClientRequest extends OutgoingMessage {
712
- method: string;
713
- path: string;
714
- host: string;
715
- protocol: string;
716
- socket: Socket$1;
717
- /** alias retained for Node compatibility */
718
- get connection(): Socket$1;
719
- res: IncomingMessage | null;
720
- aborted: boolean;
721
- private _aborted;
722
- constructor(options: ClientRequestArgs, callback?: (res: IncomingMessage) => void);
723
- protected _shouldSendBody(): boolean;
724
- protected _implicitHeader(): void;
725
- private _attachResponseParser;
726
- abort(): void;
727
- destroy(error?: Error): this;
728
- end(chunk?: unknown, encoding?: unknown, callback?: unknown): this;
729
- protected _writeToSocket(data: Buffer, callback: (error?: Error | null) => void): void;
730
- setTimeout(timeout: number, callback?: () => void): this;
731
- setNoDelay(noDelay?: boolean): void;
732
- setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
733
- }
734
- type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;
735
- declare class ServerImpl extends Server$1 {
736
- constructor(options?: object | RequestListener, requestListener?: RequestListener);
737
- private _handleConnection;
738
- }
739
- declare const Server: typeof ServerImpl;
740
- type Server = ServerImpl;
741
- declare class Agent {
742
- maxSockets: number;
743
- maxFreeSockets: number;
744
- keepAlive: boolean;
745
- options: Record<string, unknown>;
746
- constructor(options?: Record<string, unknown>);
747
- getName(options?: {
748
- host?: string;
749
- port?: number;
750
- localAddress?: string;
751
- }): string;
752
- destroy(): void;
753
- }
754
- declare const globalAgent: Agent;
755
- declare const request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
756
- declare const get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
757
- declare const createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
758
- declare const _default: {
759
- METHODS: string[];
760
- STATUS_CODES: Record<number, string>;
761
- Agent: typeof Agent;
762
- globalAgent: Agent;
763
- Server: typeof ServerImpl;
764
- ServerResponse: typeof ServerResponse;
765
- IncomingMessage: typeof IncomingMessage;
766
- ClientRequest: typeof ClientRequest;
767
- OutgoingMessage: typeof OutgoingMessage;
768
- createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
769
- request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
770
- get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
334
+ declare const type$5: "getAttribute";
335
+ declare const permission$2: {
336
+ readonly scope: "read.info";
337
+ readonly category: "read";
338
+ readonly severity: 1;
339
+ readonly title: "Read info from the page";
340
+ readonly description: "Lets the app read the href value from a part of the page.";
771
341
  };
342
+ declare const resolve$4: (context: LocatorContext, name: string, _options?: OperationTimeoutOptions) => string | null;
772
343
 
773
- type http_Agent = Agent;
774
- declare const http_Agent: typeof Agent;
775
- type http_ClientRequest = ClientRequest;
776
- declare const http_ClientRequest: typeof ClientRequest;
777
- type http_ClientRequestArgs = ClientRequestArgs;
778
- type http_HTTPParser = HTTPParser;
779
- declare const http_HTTPParser: typeof HTTPParser;
780
- type http_IncomingMessage = IncomingMessage;
781
- declare const http_IncomingMessage: typeof IncomingMessage;
782
- declare const http_METHODS: typeof METHODS;
783
- type http_ParsedHead = ParsedHead;
784
- type http_RequestListener = RequestListener;
785
- declare const http_STATUS_CODES: typeof STATUS_CODES;
786
- type http_Server = Server;
787
- type http_ServerResponse = ServerResponse;
788
- declare const http_ServerResponse: typeof ServerResponse;
789
- type http_ServerResponseOptions = ServerResponseOptions;
790
- declare const http__default: typeof _default;
791
- declare const http_createServer: typeof createServer;
792
- declare const http_get: typeof get;
793
- declare const http_globalAgent: typeof globalAgent;
794
- declare const http_request: typeof request;
795
- declare namespace http {
796
- export { http_Agent as Agent, http_ClientRequest as ClientRequest, http_HTTPParser as HTTPParser, http_IncomingMessage as IncomingMessage, http_METHODS as METHODS, http_STATUS_CODES as STATUS_CODES, http_ServerResponse as ServerResponse, http__default as _default, http_createServer as createServer, _default as default, http_get as get, http_globalAgent as globalAgent, http_request as request };
797
- export type { http_ClientRequestArgs as ClientRequestArgs, http_ParsedHead as ParsedHead, http_RequestListener as RequestListener, http_Server as Server, http_ServerResponseOptions as ServerResponseOptions };
344
+ declare namespace getAttribute {
345
+ export {
346
+ permission$2 as permission,
347
+ resolve$4 as resolve,
348
+ type$5 as type,
349
+ };
798
350
  }
799
351
 
800
- declare const fetchPermission: {
801
- readonly scope: "network.fetch";
802
- readonly category: "network";
352
+ declare const type$4: "videoElement";
353
+ declare const permission$1: {
354
+ readonly scope: "media.video";
355
+ readonly category: "media";
803
356
  readonly severity: 0;
804
- readonly title: "Fetch data from other sites";
805
- readonly description: "Lets the app download public data from other websites directly, past the usual cross-origin limits.";
806
- };
807
- declare const fetchCredentialedPermission: {
808
- readonly scope: "network.fetchCredentialed";
809
- readonly category: "network";
810
- readonly severity: 3;
811
- readonly unsafe: true;
812
- readonly title: "Fetch from other sites — signed in as you";
813
- readonly description: "Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.";
814
- };
815
- type ProxyFetchRequest = {
816
- url: string;
817
- method: string;
818
- headers: [string, string][];
819
- body: ArrayBuffer | null;
820
- credentials: 'include' | 'omit';
821
- redirect: RequestRedirect;
822
- unsafeHeaders?: [string, string][];
823
- reason?: string;
824
- signal?: AbortSignal;
825
- };
826
- type FetchInit = RequestInit & {
827
- reason?: string;
357
+ readonly title: "Control video playback";
358
+ readonly description: "Lets the app play, pause, seek, and read the video on the page.";
828
359
  };
829
- declare const fetch: (input: URL | RequestInfo, init?: FetchInit | undefined) => Promise<Response>;
360
+ declare const resolve$3: (context: LocatorContext, _options?: OperationTimeoutOptions) => RemoteVideoElement;
830
361
 
831
- declare const readCookiePermission: {
832
- readonly scope: "network.readCookie";
833
- readonly category: "network";
834
- readonly severity: 3;
835
- readonly unsafe: true;
836
- readonly title: "Read a site’s cookie";
837
- readonly description: "Lets the app read a named cookie from another site, which can include the login token only that site should see.";
838
- };
839
- type CookieDetails = {
840
- url: string;
841
- name: string;
842
- };
843
- type SiteCookie = {
844
- name: string;
845
- value: string;
846
- };
847
- declare const cookies: {
848
- get: (details: CookieDetails) => Promise<SiteCookie | null>;
849
- };
850
-
851
- declare const modifyRequestHeadersPermission: {
852
- readonly scope: "network.modifyRequestHeaders";
853
- readonly category: "network";
854
- readonly severity: 2;
855
- readonly unsafe: true;
856
- readonly title: "Rewrite request headers to other sites";
857
- readonly description: "Lets the app set or remove headers (like Origin and Referer) on this page’s own requests to the listed sites.";
858
- };
859
- type HeaderOperation = {
860
- header: string;
861
- operation: 'set' | 'remove';
862
- value?: string;
863
- };
864
- type RequestHeaderRule = {
865
- domains: string[];
866
- requestHeaders: HeaderOperation[];
867
- reason?: string;
868
- };
869
- declare const setRequestHeaderRule: (rule: RequestHeaderRule) => Promise<{
870
- ruleId: number;
871
- }>;
872
- declare const removeRequestHeaderRule: (ruleId: number) => Promise<void>;
873
-
874
- type ExtractType<M> = M extends {
875
- type: infer T extends string;
876
- } ? T : never;
877
- type ExtractResolverArgs<M> = M extends {
878
- resolve: (context: any, ...args: infer A) => Element[];
879
- } ? A : never;
880
- type ExtractOperationArgs<M> = M extends {
881
- resolve: (context: any, ...args: infer A) => any;
882
- } ? A : never;
883
- type ExtractResolverReturn<M> = M extends {
884
- resolve: (context: any, ...args: any[]) => infer R;
885
- } ? R : never;
886
-
887
- declare const type$i: "locator";
888
- declare const resolve$h: (context: LocatorContext, selector: string) => Element[];
889
- declare const render$7: SelectorRenderer;
890
-
891
- declare namespace locatorSel {
892
- export {
893
- render$7 as render,
894
- resolve$h as resolve,
895
- type$i as type,
896
- };
897
- }
898
-
899
- declare const type$h: "getByRole";
900
- declare const resolve$g: (context: LocatorContext, role: string) => Element[];
901
- declare const render$6: SelectorRenderer;
902
-
903
- declare namespace getByRole {
904
- export {
905
- render$6 as render,
906
- resolve$g as resolve,
907
- type$h as type,
908
- };
909
- }
910
-
911
- declare const type$g: "getByText";
912
- declare const resolve$f: (context: LocatorContext, text: string) => Element[];
913
- declare const render$5: SelectorRenderer;
914
-
915
- declare namespace getByText {
362
+ declare namespace videoElement$1 {
916
363
  export {
917
- render$5 as render,
918
- resolve$f as resolve,
919
- type$g as type,
364
+ permission$1 as permission,
365
+ resolve$3 as resolve,
366
+ type$4 as type,
920
367
  };
921
368
  }
922
369
 
923
- declare const type$f: "getByTestId";
924
- declare const resolve$e: (context: LocatorContext, testId: string) => Element[];
925
- declare const render$4: SelectorRenderer;
926
-
927
- declare namespace getByTestId {
928
- export {
929
- render$4 as render,
930
- resolve$e as resolve,
931
- type$f as type,
932
- };
370
+ declare const locatorModule: {
371
+ readonly type: "locator";
372
+ readonly selectorModules: readonly [typeof locatorSel, {
373
+ readonly type: "frameLocator";
374
+ readonly resolve: (context: LocatorContext, selector: string) => HTMLIFrameElement[];
375
+ readonly resolvePeer: BarrierResolver;
376
+ readonly render: SelectorRenderer;
377
+ readonly nextLocatorType: "frameLocator";
378
+ }, typeof getByRole, typeof getByText, typeof getByTestId, typeof first, typeof nth];
379
+ readonly operationModules: readonly [typeof click, typeof fill, typeof hover, typeof textContent, typeof isVisible, typeof count, typeof exists, typeof getAttribute, typeof videoElement$1];
380
+ };
381
+ type LocatorModule = typeof locatorModule;
382
+ interface Locator extends LocatorChain<LocatorModule, Locator> {
933
383
  }
934
384
 
935
- declare const type$e: "first";
936
- declare const resolve$d: (context: LocatorContext) => Element[];
937
- declare const render$3: SelectorRenderer;
385
+ declare const type$3: "frameLocator";
386
+ declare const resolve$2: (context: LocatorContext, selector: string) => HTMLIFrameElement[];
387
+ declare const resolvePeer$1: BarrierResolver;
388
+ declare const render$1: SelectorRenderer;
938
389
 
939
- declare namespace first {
390
+ declare namespace frameLocatorSel {
940
391
  export {
941
- render$3 as render,
942
- resolve$d as resolve,
943
- type$e as type,
392
+ render$1 as render,
393
+ resolve$2 as resolve,
394
+ resolvePeer$1 as resolvePeer,
395
+ type$3 as type,
944
396
  };
945
397
  }
946
398
 
947
- declare const type$d: "nth";
948
- declare const resolve$c: (context: LocatorContext, index: number) => Element[];
949
- declare const render$2: SelectorRenderer;
399
+ declare const type$2: "owner";
400
+ declare const resolve$1: (_: LocatorContext) => never;
401
+ declare const resolvePeer: BarrierResolver;
402
+ declare const render: SelectorRenderer;
950
403
 
951
- declare namespace nth {
404
+ declare const owner_render: typeof render;
405
+ declare const owner_resolvePeer: typeof resolvePeer;
406
+ declare namespace owner {
952
407
  export {
953
- render$2 as render,
954
- resolve$c as resolve,
955
- type$d as type,
408
+ owner_render as render,
409
+ resolve$1 as resolve,
410
+ owner_resolvePeer as resolvePeer,
411
+ type$2 as type,
956
412
  };
957
413
  }
958
414
 
959
- declare const type$c: "click";
960
- declare const permission$9: {
961
- readonly scope: "act.click";
962
- readonly category: "act";
963
- readonly severity: 3;
964
- readonly title: "Click on the page";
965
- readonly description: "Lets the app press buttons or links for you.";
415
+ declare const type$1: "addStyleTag";
416
+ type AddStyleTagOptions = OperationTimeoutOptions & {
417
+ content: string;
418
+ noSanitize?: boolean;
966
419
  };
967
- declare const resolve$b: (context: LocatorContext, options?: OperationTimeoutOptions & {
968
- position?: {
969
- x?: number | undefined;
970
- y?: number | undefined;
971
- } | undefined;
972
- }) => void;
973
-
974
- declare namespace click {
975
- export {
976
- permission$9 as permission,
977
- resolve$b as resolve,
978
- type$c as type,
979
- };
980
- }
981
-
982
- declare const type$b: "fill";
983
- declare const permission$8: {
984
- readonly scope: "act.type";
985
- readonly category: "act";
986
- readonly severity: 1;
987
- readonly title: "Type into a text field";
988
- readonly description: "Lets the app fill in form fields on your behalf.";
420
+ declare const appearPermission: {
421
+ readonly scope: "media.appear";
422
+ readonly category: "media";
423
+ readonly severity: 0;
424
+ readonly title: "Change page appearance";
425
+ readonly description: "Lets the app restyle parts of the page (safely filtered).";
989
426
  };
990
- declare const resolve$a: (context: LocatorContext, value: string, _options?: OperationTimeoutOptions) => void;
427
+ declare const appearUnsafePermission: {
428
+ readonly scope: "media.appearU";
429
+ readonly category: "media";
430
+ readonly severity: 2;
431
+ readonly unsafe: true;
432
+ readonly title: "Change page appearance (unsafe)";
433
+ readonly description: "Lets the app restyle the page WITHOUT safety filtering. Could be used to leak data over the network.";
434
+ };
435
+ declare const permission: (options?: AddStyleTagOptions | undefined) => {
436
+ readonly scope: "media.appear";
437
+ readonly category: "media";
438
+ readonly severity: 0;
439
+ readonly title: "Change page appearance";
440
+ readonly description: "Lets the app restyle parts of the page (safely filtered).";
441
+ } | {
442
+ readonly scope: "media.appearU";
443
+ readonly category: "media";
444
+ readonly severity: 2;
445
+ readonly unsafe: true;
446
+ readonly title: "Change page appearance (unsafe)";
447
+ readonly description: "Lets the app restyle the page WITHOUT safety filtering. Could be used to leak data over the network.";
448
+ };
449
+ declare const setInjectedStylesDisabled: (disabled: boolean) => void;
450
+ declare const resolve: (_context: LocatorContext, options: AddStyleTagOptions) => Promise<void>;
991
451
 
992
- declare namespace fill {
993
- export {
994
- permission$8 as permission,
995
- resolve$a as resolve,
996
- type$b as type,
997
- };
452
+ type addStyleTag_AddStyleTagOptions = AddStyleTagOptions;
453
+ declare const addStyleTag_appearPermission: typeof appearPermission;
454
+ declare const addStyleTag_appearUnsafePermission: typeof appearUnsafePermission;
455
+ declare const addStyleTag_permission: typeof permission;
456
+ declare const addStyleTag_resolve: typeof resolve;
457
+ declare const addStyleTag_setInjectedStylesDisabled: typeof setInjectedStylesDisabled;
458
+ declare namespace addStyleTag {
459
+ export { addStyleTag_appearPermission as appearPermission, addStyleTag_appearUnsafePermission as appearUnsafePermission, addStyleTag_permission as permission, addStyleTag_resolve as resolve, addStyleTag_setInjectedStylesDisabled as setInjectedStylesDisabled, type$1 as type };
460
+ export type { addStyleTag_AddStyleTagOptions as AddStyleTagOptions };
998
461
  }
999
462
 
1000
- declare const type$a: "hover";
1001
- declare const permission$7: {
1002
- readonly scope: "act.hover";
1003
- readonly category: "act";
1004
- readonly severity: 1;
1005
- readonly title: "Hover over the page";
1006
- readonly description: "Lets the app point at things to reveal menus or tooltips.";
463
+ declare const frameLocatorModule: {
464
+ readonly type: "frameLocator";
465
+ readonly selectorModules: readonly [{
466
+ readonly type: "locator";
467
+ readonly resolve: (context: LocatorContext, selector: string) => Element[];
468
+ readonly render: SelectorRenderer;
469
+ readonly nextLocatorType: "locator";
470
+ }, typeof frameLocatorSel, typeof owner];
471
+ readonly operationModules: readonly [typeof addStyleTag];
1007
472
  };
1008
- declare const resolve$9: (context: LocatorContext, options?: OperationTimeoutOptions & {
1009
- position?: {
1010
- x?: number | undefined;
1011
- y?: number | undefined;
1012
- } | undefined;
1013
- }) => void;
1014
-
1015
- declare namespace hover {
1016
- export {
1017
- permission$7 as permission,
1018
- resolve$9 as resolve,
1019
- type$a as type,
1020
- };
473
+ type FrameLocatorModule = typeof frameLocatorModule;
474
+ interface FrameLocator extends LocatorChain<FrameLocatorModule, FrameLocator> {
1021
475
  }
1022
476
 
1023
- declare const type$9: "textContent";
1024
- declare const permission$6: {
1025
- readonly scope: "read.text";
1026
- readonly category: "read";
1027
- readonly severity: 1;
1028
- readonly title: "Read text from the page";
1029
- readonly description: "Lets the app see the text shown on this page.";
1030
- };
1031
- declare const resolve$8: (context: LocatorContext, _options?: OperationTimeoutOptions) => string;
1032
-
1033
- declare namespace textContent {
1034
- export {
1035
- permission$6 as permission,
1036
- resolve$8 as resolve,
1037
- type$9 as type,
1038
- };
1039
- }
1040
-
1041
- declare const type$8: "isVisible";
1042
- declare const permission$5: {
1043
- readonly scope: "read.visible";
1044
- readonly category: "read";
1045
- readonly severity: 0;
1046
- readonly title: "See what’s visible on the page";
1047
- readonly description: "Lets the app check which elements are currently on screen.";
1048
- };
1049
- declare const resolve$7: (context: LocatorContext, _options?: OperationTimeoutOptions) => boolean;
1050
-
1051
- declare namespace isVisible {
1052
- export {
1053
- permission$5 as permission,
1054
- resolve$7 as resolve,
1055
- type$8 as type,
1056
- };
1057
- }
1058
-
1059
- declare const type$7: "count";
1060
- declare const permission$4: {
1061
- readonly scope: "read.count";
1062
- readonly category: "read";
1063
- readonly severity: 0;
1064
- readonly title: "Count items on the page";
1065
- readonly description: "Lets the app count how many matching elements are present.";
1066
- };
1067
- declare const resolve$6: (context: LocatorContext, _options?: OperationTimeoutOptions) => number;
1068
-
1069
- declare namespace count {
1070
- export {
1071
- permission$4 as permission,
1072
- resolve$6 as resolve,
1073
- type$7 as type,
1074
- };
1075
- }
1076
-
1077
- declare const type$6: "exists";
1078
- declare const permission$3: {
1079
- readonly scope: "read.check";
1080
- readonly category: "read";
1081
- readonly severity: 0;
1082
- readonly title: "Check if something is on the page";
1083
- readonly description: "Lets the app test whether a specific element exists.";
1084
- };
1085
- declare const resolve$5: (context: LocatorContext, _options?: OperationTimeoutOptions) => boolean;
1086
-
1087
- declare namespace exists {
1088
- export {
1089
- permission$3 as permission,
1090
- resolve$5 as resolve,
1091
- type$6 as type,
1092
- };
1093
- }
1094
-
1095
- declare const type$5: "getAttribute";
1096
- declare const permission$2: {
1097
- readonly scope: "read.info";
1098
- readonly category: "read";
1099
- readonly severity: 1;
1100
- readonly title: "Read info from the page";
1101
- readonly description: "Lets the app read the href value from a part of the page.";
1102
- };
1103
- declare const resolve$4: (context: LocatorContext, name: string, _options?: OperationTimeoutOptions) => string | null;
1104
-
1105
- declare namespace getAttribute {
1106
- export {
1107
- permission$2 as permission,
1108
- resolve$4 as resolve,
1109
- type$5 as type,
1110
- };
1111
- }
1112
-
1113
- declare const type$4: "videoElement";
1114
- declare const permission$1: {
1115
- readonly scope: "media.video";
1116
- readonly category: "media";
1117
- readonly severity: 0;
1118
- readonly title: "Control video playback";
1119
- readonly description: "Lets the app play, pause, seek, and read the video on the page.";
1120
- };
1121
- declare const resolve$3: (context: LocatorContext, _options?: OperationTimeoutOptions) => RemoteVideoElement;
1122
-
1123
- declare namespace videoElement$1 {
1124
- export {
1125
- permission$1 as permission,
1126
- resolve$3 as resolve,
1127
- type$4 as type,
1128
- };
1129
- }
1130
-
1131
- declare const locatorModule: {
1132
- readonly type: "locator";
1133
- readonly selectorModules: readonly [typeof locatorSel, {
1134
- readonly type: "frameLocator";
1135
- readonly resolve: (context: LocatorContext, selector: string) => HTMLIFrameElement[];
1136
- readonly resolvePeer: BarrierResolver;
1137
- readonly render: SelectorRenderer;
1138
- readonly nextLocatorType: "frameLocator";
1139
- }, typeof getByRole, typeof getByText, typeof getByTestId, typeof first, typeof nth];
1140
- readonly operationModules: readonly [typeof click, typeof fill, typeof hover, typeof textContent, typeof isVisible, typeof count, typeof exists, typeof getAttribute, typeof videoElement$1];
1141
- };
1142
- type LocatorModule = typeof locatorModule;
1143
- interface Locator extends LocatorChain<LocatorModule, Locator> {
1144
- }
1145
-
1146
- declare const type$3: "frameLocator";
1147
- declare const resolve$2: (context: LocatorContext, selector: string) => HTMLIFrameElement[];
1148
- declare const resolvePeer$1: BarrierResolver;
1149
- declare const render$1: SelectorRenderer;
1150
-
1151
- declare namespace frameLocatorSel {
1152
- export {
1153
- render$1 as render,
1154
- resolve$2 as resolve,
1155
- resolvePeer$1 as resolvePeer,
1156
- type$3 as type,
1157
- };
1158
- }
1159
-
1160
- declare const type$2: "owner";
1161
- declare const resolve$1: (_: LocatorContext) => never;
1162
- declare const resolvePeer: BarrierResolver;
1163
- declare const render: SelectorRenderer;
1164
-
1165
- declare const owner_render: typeof render;
1166
- declare const owner_resolvePeer: typeof resolvePeer;
1167
- declare namespace owner {
1168
- export {
1169
- owner_render as render,
1170
- resolve$1 as resolve,
1171
- owner_resolvePeer as resolvePeer,
1172
- type$2 as type,
1173
- };
1174
- }
1175
-
1176
- declare const type$1: "addStyleTag";
1177
- type AddStyleTagOptions = OperationTimeoutOptions & {
1178
- content: string;
1179
- noSanitize?: boolean;
1180
- };
1181
- declare const appearPermission: {
1182
- readonly scope: "media.appear";
1183
- readonly category: "media";
1184
- readonly severity: 0;
1185
- readonly title: "Change page appearance";
1186
- readonly description: "Lets the app restyle parts of the page — safely filtered.";
1187
- };
1188
- declare const appearUnsafePermission: {
1189
- readonly scope: "media.appearU";
1190
- readonly category: "media";
1191
- readonly severity: 2;
1192
- readonly unsafe: true;
1193
- readonly title: "Change page appearance (unsafe)";
1194
- readonly description: "Lets the app restyle the page WITHOUT safety filtering — could be used to leak data over the network.";
1195
- };
1196
- declare const permission: (options?: AddStyleTagOptions | undefined) => {
1197
- readonly scope: "media.appear";
1198
- readonly category: "media";
1199
- readonly severity: 0;
1200
- readonly title: "Change page appearance";
1201
- readonly description: "Lets the app restyle parts of the page — safely filtered.";
1202
- } | {
1203
- readonly scope: "media.appearU";
1204
- readonly category: "media";
1205
- readonly severity: 2;
1206
- readonly unsafe: true;
1207
- readonly title: "Change page appearance (unsafe)";
1208
- readonly description: "Lets the app restyle the page WITHOUT safety filtering — could be used to leak data over the network.";
1209
- };
1210
- declare const setInjectedStylesDisabled: (disabled: boolean) => void;
1211
- declare const resolve: (_context: LocatorContext, options: AddStyleTagOptions) => Promise<void>;
1212
-
1213
- type addStyleTag_AddStyleTagOptions = AddStyleTagOptions;
1214
- declare const addStyleTag_appearPermission: typeof appearPermission;
1215
- declare const addStyleTag_appearUnsafePermission: typeof appearUnsafePermission;
1216
- declare const addStyleTag_permission: typeof permission;
1217
- declare const addStyleTag_resolve: typeof resolve;
1218
- declare const addStyleTag_setInjectedStylesDisabled: typeof setInjectedStylesDisabled;
1219
- declare namespace addStyleTag {
1220
- export { addStyleTag_appearPermission as appearPermission, addStyleTag_appearUnsafePermission as appearUnsafePermission, addStyleTag_permission as permission, addStyleTag_resolve as resolve, addStyleTag_setInjectedStylesDisabled as setInjectedStylesDisabled, type$1 as type };
1221
- export type { addStyleTag_AddStyleTagOptions as AddStyleTagOptions };
1222
- }
1223
-
1224
- declare const frameLocatorModule: {
1225
- readonly type: "frameLocator";
1226
- readonly selectorModules: readonly [{
1227
- readonly type: "locator";
1228
- readonly resolve: (context: LocatorContext, selector: string) => Element[];
1229
- readonly render: SelectorRenderer;
1230
- readonly nextLocatorType: "locator";
1231
- }, typeof frameLocatorSel, typeof owner];
1232
- readonly operationModules: readonly [typeof addStyleTag];
1233
- };
1234
- type FrameLocatorModule = typeof frameLocatorModule;
1235
- interface FrameLocator extends LocatorChain<FrameLocatorModule, FrameLocator> {
1236
- }
1237
-
1238
- type FrameId = `${number}-${number}`;
477
+ type FrameId = `${number}-${number}`;
1239
478
 
1240
479
  type PermissionCategory = 'read' | 'act' | 'media' | 'embed' | 'network';
1241
480
  type PermissionSeverity = 0 | 1 | 2 | 3 | 4;
@@ -1341,253 +580,1288 @@ type AttachFrameOptions = {
1341
580
  };
1342
581
  declare const attachFrame: ({ iframe, domains }: AttachFrameOptions) => Promise<Frame>;
1343
582
 
1344
- declare const PERMISSIONS: readonly [{
1345
- readonly scope: "read.text";
1346
- readonly category: "read";
1347
- readonly severity: 1;
1348
- readonly title: "Read text from the page";
1349
- readonly description: "Lets the app see the text shown on this page.";
1350
- }, {
1351
- readonly scope: "read.info";
1352
- readonly category: "read";
1353
- readonly severity: 1;
1354
- readonly title: "Read info from the page";
1355
- readonly description: "Lets the app read the href value from a part of the page.";
1356
- }, {
1357
- readonly scope: "read.visible";
1358
- readonly category: "read";
1359
- readonly severity: 0;
1360
- readonly title: "See what’s visible on the page";
1361
- readonly description: "Lets the app check which elements are currently on screen.";
1362
- }, {
1363
- readonly scope: "read.check";
1364
- readonly category: "read";
1365
- readonly severity: 0;
1366
- readonly title: "Check if something is on the page";
1367
- readonly description: "Lets the app test whether a specific element exists.";
1368
- }, {
1369
- readonly scope: "read.count";
1370
- readonly category: "read";
1371
- readonly severity: 0;
1372
- readonly title: "Count items on the page";
1373
- readonly description: "Lets the app count how many matching elements are present.";
1374
- }, {
1375
- readonly scope: "act.click";
1376
- readonly category: "act";
1377
- readonly severity: 3;
1378
- readonly title: "Click on the page";
1379
- readonly description: "Lets the app press buttons or links for you.";
1380
- }, {
1381
- readonly scope: "act.type";
1382
- readonly category: "act";
1383
- readonly severity: 1;
1384
- readonly title: "Type into a text field";
1385
- readonly description: "Lets the app fill in form fields on your behalf.";
1386
- }, {
1387
- readonly scope: "act.hover";
1388
- readonly category: "act";
1389
- readonly severity: 1;
1390
- readonly title: "Hover over the page";
1391
- readonly description: "Lets the app point at things to reveal menus or tooltips.";
1392
- }, {
1393
- readonly scope: "media.video";
1394
- readonly category: "media";
1395
- readonly severity: 0;
1396
- readonly title: "Control video playback";
1397
- readonly description: "Lets the app play, pause, seek, and read the video on the page.";
1398
- }, {
1399
- readonly scope: "media.appear";
1400
- readonly category: "media";
1401
- readonly severity: 0;
1402
- readonly title: "Change page appearance";
1403
- readonly description: "Lets the app restyle parts of the page safely filtered.";
1404
- }, {
1405
- readonly scope: "media.appearU";
1406
- readonly category: "media";
1407
- readonly severity: 2;
1408
- readonly unsafe: true;
1409
- readonly title: "Change page appearance (unsafe)";
1410
- readonly description: "Lets the app restyle the page WITHOUT safety filtering could be used to leak data over the network.";
1411
- }, {
1412
- readonly scope: "embed.iframe";
1413
- readonly category: "embed";
1414
- readonly severity: 0;
1415
- readonly title: "Load another website inside this app";
1416
- readonly description: "Lets the app embed external pages directly inside its own view.";
1417
- }, {
1418
- readonly scope: "embed.open";
1419
- readonly category: "embed";
1420
- readonly severity: 0;
1421
- readonly title: "Open a website inside this app";
1422
- readonly description: "Lets the app navigate to another site without leaving its window.";
1423
- }, {
1424
- readonly scope: "network.fetch";
1425
- readonly category: "network";
1426
- readonly severity: 0;
1427
- readonly title: "Fetch data from other sites";
1428
- readonly description: "Lets the app download public data from other websites directly, past the usual cross-origin limits.";
1429
- }, {
1430
- readonly scope: "network.fetchCredentialed";
1431
- readonly category: "network";
1432
- readonly severity: 3;
1433
- readonly unsafe: true;
1434
- readonly title: "Fetch from other sites signed in as you";
1435
- readonly description: "Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.";
1436
- }, {
1437
- readonly scope: "network.readCookie";
1438
- readonly category: "network";
1439
- readonly severity: 3;
1440
- readonly unsafe: true;
1441
- readonly title: "Read a site’s cookie";
1442
- readonly description: "Lets the app read a named cookie from another site, which can include the login token only that site should see.";
1443
- }, {
1444
- readonly scope: "network.modifyRequestHeaders";
1445
- readonly category: "network";
1446
- readonly severity: 2;
1447
- readonly unsafe: true;
1448
- readonly title: "Rewrite request headers to other sites";
1449
- readonly description: "Lets the app set or remove headers (like Origin and Referer) on this page’s own requests to the listed sites.";
1450
- }];
1451
- type PermissionScope = (typeof PERMISSIONS)[number]['scope'];
583
+ declare const PERMISSIONS: readonly [{
584
+ readonly scope: "read.text";
585
+ readonly category: "read";
586
+ readonly severity: 1;
587
+ readonly title: "Read text from the page";
588
+ readonly description: "Lets the app see the text shown on this page.";
589
+ }, {
590
+ readonly scope: "read.info";
591
+ readonly category: "read";
592
+ readonly severity: 1;
593
+ readonly title: "Read info from the page";
594
+ readonly description: "Lets the app read the href value from a part of the page.";
595
+ }, {
596
+ readonly scope: "read.visible";
597
+ readonly category: "read";
598
+ readonly severity: 0;
599
+ readonly title: "See what’s visible on the page";
600
+ readonly description: "Lets the app check which elements are currently on screen.";
601
+ }, {
602
+ readonly scope: "read.check";
603
+ readonly category: "read";
604
+ readonly severity: 0;
605
+ readonly title: "Check if something is on the page";
606
+ readonly description: "Lets the app test whether a specific element exists.";
607
+ }, {
608
+ readonly scope: "read.count";
609
+ readonly category: "read";
610
+ readonly severity: 0;
611
+ readonly title: "Count items on the page";
612
+ readonly description: "Lets the app count how many matching elements are present.";
613
+ }, {
614
+ readonly scope: "act.click";
615
+ readonly category: "act";
616
+ readonly severity: 3;
617
+ readonly title: "Click on the page";
618
+ readonly description: "Lets the app press buttons or links for you.";
619
+ }, {
620
+ readonly scope: "act.type";
621
+ readonly category: "act";
622
+ readonly severity: 1;
623
+ readonly title: "Type into a text field";
624
+ readonly description: "Lets the app fill in form fields on your behalf.";
625
+ }, {
626
+ readonly scope: "act.hover";
627
+ readonly category: "act";
628
+ readonly severity: 1;
629
+ readonly title: "Hover over the page";
630
+ readonly description: "Lets the app point at things to reveal menus or tooltips.";
631
+ }, {
632
+ readonly scope: "media.video";
633
+ readonly category: "media";
634
+ readonly severity: 0;
635
+ readonly title: "Control video playback";
636
+ readonly description: "Lets the app play, pause, seek, and read the video on the page.";
637
+ }, {
638
+ readonly scope: "media.appear";
639
+ readonly category: "media";
640
+ readonly severity: 0;
641
+ readonly title: "Change page appearance";
642
+ readonly description: "Lets the app restyle parts of the page (safely filtered).";
643
+ }, {
644
+ readonly scope: "media.appearU";
645
+ readonly category: "media";
646
+ readonly severity: 2;
647
+ readonly unsafe: true;
648
+ readonly title: "Change page appearance (unsafe)";
649
+ readonly description: "Lets the app restyle the page WITHOUT safety filtering. Could be used to leak data over the network.";
650
+ }, {
651
+ readonly scope: "embed.iframe";
652
+ readonly category: "embed";
653
+ readonly severity: 0;
654
+ readonly title: "Load another website inside this app";
655
+ readonly description: "Lets the app embed external pages directly inside its own view.";
656
+ }, {
657
+ readonly scope: "embed.open";
658
+ readonly category: "embed";
659
+ readonly severity: 0;
660
+ readonly title: "Open a website inside this app";
661
+ readonly description: "Lets the app navigate to another site without leaving its window.";
662
+ }, {
663
+ readonly scope: "network.fetch";
664
+ readonly category: "network";
665
+ readonly severity: 0;
666
+ readonly title: "Fetch data from other sites";
667
+ readonly description: "Lets the app download public data from other websites directly, past the usual cross-origin limits.";
668
+ }, {
669
+ readonly scope: "network.fetchCredentialed";
670
+ readonly category: "network";
671
+ readonly severity: 3;
672
+ readonly unsafe: true;
673
+ readonly title: "Fetch from other sites, signed in as you";
674
+ readonly description: "Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.";
675
+ }, {
676
+ readonly scope: "network.readCookie";
677
+ readonly category: "network";
678
+ readonly severity: 3;
679
+ readonly unsafe: true;
680
+ readonly title: "Read a site’s cookie";
681
+ readonly description: "Lets the app read a named cookie from another site, which can include the login token only that site should see.";
682
+ }, {
683
+ readonly scope: "network.modifyRequestHeaders";
684
+ readonly category: "network";
685
+ readonly severity: 2;
686
+ readonly unsafe: true;
687
+ readonly title: "Rewrite request headers to other sites";
688
+ readonly description: "Lets the app set or remove headers (like Origin and Referer) on this page’s own requests to the listed sites.";
689
+ }];
690
+ type PermissionScope = (typeof PERMISSIONS)[number]['scope'];
691
+
692
+ type PermissionRequest = {
693
+ key: PermissionScope;
694
+ scope?: string;
695
+ reason?: string;
696
+ };
697
+ type PermissionGrant = {
698
+ key: PermissionScope;
699
+ scope: string;
700
+ allow: boolean;
701
+ };
702
+ declare const permissions: {
703
+ request: (requests: PermissionRequest[]) => Promise<PermissionGrant[]>;
704
+ };
705
+
706
+ declare const type: "videoElement";
707
+ type TimeRangesTuple = [number, number][];
708
+ type VideoElementState = {
709
+ currentTime: number;
710
+ volume: number;
711
+ muted: boolean;
712
+ playbackRate: number;
713
+ src: string;
714
+ loop: boolean;
715
+ autoplay: boolean;
716
+ preload: string;
717
+ poster: string;
718
+ disableRemotePlayback: boolean;
719
+ duration: number;
720
+ paused: boolean;
721
+ ended: boolean;
722
+ seeking: boolean;
723
+ readyState: number;
724
+ currentSrc: string;
725
+ buffered: TimeRangesTuple;
726
+ seekable: TimeRangesTuple;
727
+ error: {
728
+ code: number;
729
+ message: string;
730
+ } | null;
731
+ };
732
+ type RemoteVideoElement = EventTarget & {
733
+ currentTime: number;
734
+ volume: number;
735
+ muted: boolean;
736
+ playbackRate: number;
737
+ src: string;
738
+ loop: boolean;
739
+ autoplay: boolean;
740
+ preload: string;
741
+ poster: string;
742
+ disableRemotePlayback: boolean;
743
+ readonly duration: number;
744
+ readonly paused: boolean;
745
+ readonly ended: boolean;
746
+ readonly seeking: boolean;
747
+ readonly readyState: number;
748
+ readonly currentSrc: string;
749
+ readonly error: MediaError | null;
750
+ readonly buffered: TimeRanges;
751
+ readonly seekable: TimeRanges;
752
+ play(): Promise<void>;
753
+ pause(): void;
754
+ load(): void;
755
+ requestPictureInPicture(): Promise<void>;
756
+ exitPictureInPicture(): Promise<void>;
757
+ readonly HAVE_FUTURE_DATA: 3;
758
+ readonly HAVE_ENOUGH_DATA: 4;
759
+ };
760
+ type BoxedVideoElement = BoxBase<typeof type> & {
761
+ initialState: VideoElementState;
762
+ controller: Capable;
763
+ } & {
764
+ [UnderlyingType]: RemoteVideoElement;
765
+ };
766
+ declare const createVideoElementHandle: (element: HTMLVideoElement) => RemoteVideoElement;
767
+ declare const isType: (value: unknown) => value is RemoteVideoElement;
768
+ declare const box: <T extends RemoteVideoElement, T2 extends RevivableContext>(value: T, context: T2) => BoxedVideoElement;
769
+ declare const revive: <T extends BoxedVideoElement, T2 extends RevivableContext>(value: T, context: T2) => T[typeof UnderlyingType];
770
+
771
+ type videoElement_BoxedVideoElement = BoxedVideoElement;
772
+ type videoElement_RemoteVideoElement = RemoteVideoElement;
773
+ type videoElement_VideoElementState = VideoElementState;
774
+ declare const videoElement_box: typeof box;
775
+ declare const videoElement_createVideoElementHandle: typeof createVideoElementHandle;
776
+ declare const videoElement_isType: typeof isType;
777
+ declare const videoElement_revive: typeof revive;
778
+ declare const videoElement_type: typeof type;
779
+ declare namespace videoElement {
780
+ export { videoElement_box as box, videoElement_createVideoElementHandle as createVideoElementHandle, videoElement_isType as isType, videoElement_revive as revive, videoElement_type as type };
781
+ export type { videoElement_BoxedVideoElement as BoxedVideoElement, videoElement_RemoteVideoElement as RemoteVideoElement, videoElement_VideoElementState as VideoElementState };
782
+ }
783
+
784
+ declare const handleRevivableModules: (defaults: readonly [typeof osra_build_revivables_transfer, typeof osra_build_revivables_identity, typeof osra_build_revivables_array_buffer, typeof osra_build_revivables_date, typeof osra_build_revivables_headers, typeof osra_build_revivables_error, typeof osra_build_revivables_typed_array, typeof osra_build_revivables_blob, typeof osra_build_revivables_promise, typeof osra_build_revivables_function, typeof osra_build_revivables_message_port, typeof osra_build_revivables_readable_stream, typeof osra_build_revivables_writable_stream, typeof osra_build_revivables_abort_signal, typeof osra_build_revivables_response, typeof osra_build_revivables_request, typeof osra_build_revivables_map, typeof osra_build_revivables_set, typeof osra_build_revivables_bigint, typeof osra_build_revivables_symbol, typeof osra_build_revivables_event, typeof osra_build_revivables_async_iterator, {
785
+ readonly type: "nonFiniteNumber";
786
+ readonly isType: (value: unknown) => value is number;
787
+ readonly box: (value: number, context: osra.RevivableContext<any>) => number | osra_build_revivables_json_primitives.BoxedNonFiniteNumber;
788
+ readonly revive: (value: osra_build_revivables_json_primitives.BoxedNonFiniteNumber, _context: osra.RevivableContext<any>) => number;
789
+ }, {
790
+ readonly type: "undefined";
791
+ readonly isType: (value: unknown) => value is undefined;
792
+ readonly box: (value: undefined, context: osra.RevivableContext<any>) => osra_build_revivables_json_primitives.BoxedUndefined | undefined;
793
+ readonly revive: (_value: osra_build_revivables_json_primitives.BoxedUndefined, _context: osra.RevivableContext<any>) => undefined;
794
+ }, {
795
+ readonly type: "clonable";
796
+ readonly capableOnly: true;
797
+ readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Clonable;
798
+ readonly box: (value: osra_build_revivables_fallbacks.Clonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
799
+ readonly revive: (value: osra_build_revivables_fallbacks.BoxedClonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
800
+ }, {
801
+ readonly type: "transferable";
802
+ readonly capableOnly: true;
803
+ readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Transferable;
804
+ readonly box: (value: osra_build_revivables_fallbacks.Transferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
805
+ readonly revive: (value: osra_build_revivables_fallbacks.BoxedTransferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
806
+ }, typeof osra_build_revivables_event_target, {
807
+ readonly type: "unclonable";
808
+ readonly isType: (value: unknown) => value is never;
809
+ readonly box: (_value: never, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.BoxedUnclonable;
810
+ readonly revive: (_value: osra_build_revivables_fallbacks.BoxedUnclonable, _context: osra.RevivableContext<any>) => Record<string, never>;
811
+ }]) => readonly [typeof videoElement, typeof osra_build_revivables_transfer, typeof osra_build_revivables_identity, typeof osra_build_revivables_array_buffer, typeof osra_build_revivables_date, typeof osra_build_revivables_headers, typeof osra_build_revivables_error, typeof osra_build_revivables_typed_array, typeof osra_build_revivables_blob, typeof osra_build_revivables_promise, typeof osra_build_revivables_function, typeof osra_build_revivables_message_port, typeof osra_build_revivables_readable_stream, typeof osra_build_revivables_writable_stream, typeof osra_build_revivables_abort_signal, typeof osra_build_revivables_response, typeof osra_build_revivables_request, typeof osra_build_revivables_map, typeof osra_build_revivables_set, typeof osra_build_revivables_bigint, typeof osra_build_revivables_symbol, typeof osra_build_revivables_event, typeof osra_build_revivables_async_iterator, {
812
+ readonly type: "nonFiniteNumber";
813
+ readonly isType: (value: unknown) => value is number;
814
+ readonly box: (value: number, context: osra.RevivableContext<any>) => number | osra_build_revivables_json_primitives.BoxedNonFiniteNumber;
815
+ readonly revive: (value: osra_build_revivables_json_primitives.BoxedNonFiniteNumber, _context: osra.RevivableContext<any>) => number;
816
+ }, {
817
+ readonly type: "undefined";
818
+ readonly isType: (value: unknown) => value is undefined;
819
+ readonly box: (value: undefined, context: osra.RevivableContext<any>) => osra_build_revivables_json_primitives.BoxedUndefined | undefined;
820
+ readonly revive: (_value: osra_build_revivables_json_primitives.BoxedUndefined, _context: osra.RevivableContext<any>) => undefined;
821
+ }, {
822
+ readonly type: "clonable";
823
+ readonly capableOnly: true;
824
+ readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Clonable;
825
+ readonly box: (value: osra_build_revivables_fallbacks.Clonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
826
+ readonly revive: (value: osra_build_revivables_fallbacks.BoxedClonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
827
+ }, {
828
+ readonly type: "transferable";
829
+ readonly capableOnly: true;
830
+ readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Transferable;
831
+ readonly box: (value: osra_build_revivables_fallbacks.Transferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
832
+ readonly revive: (value: osra_build_revivables_fallbacks.BoxedTransferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
833
+ }, typeof osra_build_revivables_event_target, {
834
+ readonly type: "unclonable";
835
+ readonly isType: (value: unknown) => value is never;
836
+ readonly box: (_value: never, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.BoxedUnclonable;
837
+ readonly revive: (_value: osra_build_revivables_fallbacks.BoxedUnclonable, _context: osra.RevivableContext<any>) => Record<string, never>;
838
+ }];
839
+
840
+ type ExtensionEventMap = {
841
+ statuschange: CustomEvent<{
842
+ enabled: boolean;
843
+ }>;
844
+ };
845
+ declare const extension$1: osra.TypedEventTarget<ExtensionEventMap>;
846
+ declare const isExtensionExposed: () => boolean;
847
+ type MissingExtensionHandler = () => Promise<void>;
848
+ declare const setMissingExtensionHandler: (handler: MissingExtensionHandler | null) => void;
849
+ declare const waitForExtensionExposure: (timeout?: number) => Promise<void>;
850
+
851
+ declare const parseServerMetadataUdpSocketBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
852
+ readonly _type: "ServerMetadataUdpSocketBoundPacket";
853
+ readonly offset: number;
854
+ readonly id: number;
855
+ readonly socketId: number;
856
+ readonly localAddressType: 0 | 1;
857
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
858
+ readonly localPort: number;
859
+ readonly errorLength: number;
860
+ readonly error: string;
861
+ };
862
+ type ServerMetadataUdpSocketBoundPacket = ReturnType<typeof parseServerMetadataUdpSocketBoundPacket>;
863
+ declare const parseServerMetadataUdpSocketUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
864
+ readonly _type: "ServerMetadataUdpSocketUnboundPacket";
865
+ readonly offset: number;
866
+ readonly id: number;
867
+ readonly socketId: number;
868
+ };
869
+ type ServerMetadataUdpSocketUnboundPacket = ReturnType<typeof parseServerMetadataUdpSocketUnboundPacket>;
870
+ declare const parseServerMetadataUdpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
871
+ readonly _type: "ServerMetadataUdpSocketConnectedPacket";
872
+ readonly offset: number;
873
+ readonly id: number;
874
+ readonly socketId: number;
875
+ readonly remoteAddressType: 0 | 1;
876
+ readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
877
+ readonly remotePort: number;
878
+ readonly errorLength: number;
879
+ readonly error: string;
880
+ };
881
+ type ServerMetadataUdpSocketConnectedPacket = ReturnType<typeof parseServerMetadataUdpSocketConnectedPacket>;
882
+ declare const UDP_OPTION_BROADCAST: 0;
883
+ declare const UDP_OPTION_TTL: 1;
884
+ declare const UDP_OPTION_MULTICAST_TTL_V4: 2;
885
+ declare const UDP_OPTION_MULTICAST_LOOP_V4: 3;
886
+ declare const UDP_OPTION_MULTICAST_LOOP_V6: 4;
887
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V4: 5;
888
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V4: 6;
889
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V6: 7;
890
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V6: 8;
891
+ declare const UDP_OPTION_SEND_BUFFER_SIZE: 9;
892
+ declare const UDP_OPTION_RECV_BUFFER_SIZE: 10;
893
+ type UdpSocketOption = {
894
+ type: typeof UDP_OPTION_BROADCAST;
895
+ value: boolean;
896
+ } | {
897
+ type: typeof UDP_OPTION_TTL;
898
+ value: number;
899
+ } | {
900
+ type: typeof UDP_OPTION_MULTICAST_TTL_V4;
901
+ value: number;
902
+ } | {
903
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V4;
904
+ value: boolean;
905
+ } | {
906
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V6;
907
+ value: boolean;
908
+ } | {
909
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V4;
910
+ group: Uint8Array;
911
+ interface: Uint8Array;
912
+ } | {
913
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V4;
914
+ group: Uint8Array;
915
+ interface: Uint8Array;
916
+ } | {
917
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V6;
918
+ group: Uint8Array;
919
+ ifIndex: number;
920
+ } | {
921
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V6;
922
+ group: Uint8Array;
923
+ ifIndex: number;
924
+ } | {
925
+ type: typeof UDP_OPTION_SEND_BUFFER_SIZE;
926
+ value: number;
927
+ } | {
928
+ type: typeof UDP_OPTION_RECV_BUFFER_SIZE;
929
+ value: number;
930
+ };
931
+ declare const parseServerMetadataUdpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
932
+ _type: "ServerMetadataUdpSetOptionAckPacket";
933
+ offset: number;
934
+ id: number;
935
+ socketId: number;
936
+ errorLength: number;
937
+ error: string;
938
+ };
939
+ type ServerMetadataUdpSetOptionAckPacket = ReturnType<typeof parseServerMetadataUdpSetOptionAckPacket>;
940
+
941
+ declare const parseServerMetadataTcpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
942
+ readonly _type: "ServerMetadataTcpSocketConnectedPacket";
943
+ readonly offset: number;
944
+ readonly id: number;
945
+ readonly socketId: number;
946
+ readonly localAddressType: 0 | 1;
947
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
948
+ readonly localPort: number;
949
+ readonly remoteAddressType: 0 | 1;
950
+ readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
951
+ readonly remotePort: number;
952
+ readonly errorLength: number;
953
+ readonly error: string;
954
+ };
955
+ type ServerMetadataTcpSocketConnectedPacket = ReturnType<typeof parseServerMetadataTcpSocketConnectedPacket>;
956
+ declare const parseServerMetadataTcpSocketShutdownPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
957
+ readonly _type: "ServerMetadataTcpSocketShutdownPacket";
958
+ readonly offset: number;
959
+ readonly id: number;
960
+ readonly socketId: number;
961
+ };
962
+ type ServerMetadataTcpSocketShutdownPacket = ReturnType<typeof parseServerMetadataTcpSocketShutdownPacket>;
963
+ declare const TCP_OPTION_NODELAY: 0;
964
+ declare const TCP_OPTION_TTL: 1;
965
+ declare const TCP_OPTION_KEEPALIVE: 2;
966
+ declare const TCP_OPTION_SEND_BUFFER_SIZE: 3;
967
+ declare const TCP_OPTION_RECV_BUFFER_SIZE: 4;
968
+ type TcpSocketOption = {
969
+ type: typeof TCP_OPTION_NODELAY;
970
+ value: boolean;
971
+ } | {
972
+ type: typeof TCP_OPTION_TTL;
973
+ value: number;
974
+ } | {
975
+ type: typeof TCP_OPTION_KEEPALIVE;
976
+ enabled: boolean;
977
+ initialDelaySeconds: number;
978
+ } | {
979
+ type: typeof TCP_OPTION_SEND_BUFFER_SIZE;
980
+ value: number;
981
+ } | {
982
+ type: typeof TCP_OPTION_RECV_BUFFER_SIZE;
983
+ value: number;
984
+ };
985
+ declare const parseServerMetadataTcpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
986
+ _type: "ServerMetadataTcpSetOptionAckPacket";
987
+ offset: number;
988
+ id: number;
989
+ socketId: number;
990
+ errorLength: number;
991
+ error: string;
992
+ };
993
+ type ServerMetadataTcpSetOptionAckPacket = ReturnType<typeof parseServerMetadataTcpSetOptionAckPacket>;
994
+
995
+ declare const parseServerMetadataTcpSocketListenerBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
996
+ readonly _type: "ServerMetadataTcpSocketListenerBoundPacket";
997
+ readonly offset: number;
998
+ readonly id: number;
999
+ readonly socketId: number;
1000
+ readonly localAddressType: 0 | 1;
1001
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
1002
+ readonly localPort: number;
1003
+ readonly errorLength: number;
1004
+ readonly error: string;
1005
+ };
1006
+ type ServerMetadataTcpSocketListenerBoundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerBoundPacket>;
1007
+ declare const parseServerMetadataTcpSocketListenerUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
1008
+ readonly _type: "ServerMetadataTcpSocketListenerUnboundPacket";
1009
+ readonly offset: number;
1010
+ readonly id: number;
1011
+ readonly socketId: number;
1012
+ };
1013
+ type ServerMetadataTcpSocketListenerUnboundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerUnboundPacket>;
1014
+
1015
+ declare const parseServerMetadataHeaderPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
1016
+ readonly _type: "ServerMetadataHeaderPacket";
1017
+ readonly offset: number;
1018
+ readonly agentLength: number;
1019
+ readonly agent: string;
1020
+ readonly versionLength: number;
1021
+ readonly version: string;
1022
+ };
1023
+ type ServerMetadataHeaderPacket = ReturnType<typeof parseServerMetadataHeaderPacket>;
1024
+ type ServerMetadataPacket = ServerMetadataHeaderPacket | ServerMetadataTcpSocketConnectedPacket | ServerMetadataTcpSocketShutdownPacket | ServerMetadataTcpSocketListenerBoundPacket | ServerMetadataTcpSocketListenerUnboundPacket | ServerMetadataUdpSocketBoundPacket | ServerMetadataUdpSocketUnboundPacket | ServerMetadataUdpSocketConnectedPacket | ServerMetadataTcpSetOptionAckPacket | ServerMetadataUdpSetOptionAckPacket;
1025
+
1026
+ type BidirectionalStreams = {
1027
+ readable: ReadableStream<Uint8Array>;
1028
+ writable: WritableStream<Uint8Array>;
1029
+ };
1030
+ declare const makeWebVPNWebTransport: () => Promise<{
1031
+ webtransport: WebTransport;
1032
+ isClosed: () => boolean;
1033
+ getNewPacketId: () => number;
1034
+ getTcpDataReadableStreamForSocketId: (socketId: number, options?: {
1035
+ signal?: AbortSignal;
1036
+ }) => Promise<BidirectionalStreams>;
1037
+ getUdpDataReadableStreamForSocketId: (socketId: number) => ReadableStream<{
1038
+ readonly _type: "ServerUdpDataPacket";
1039
+ readonly offset: number;
1040
+ readonly socketId: number;
1041
+ readonly remoteAddressType: 0 | 1 | 2;
1042
+ readonly remoteAddress: Address4 | Address6 | undefined;
1043
+ readonly remotePort: number | undefined;
1044
+ readonly dataLength: number;
1045
+ readonly data: ArrayBuffer;
1046
+ }>;
1047
+ getPacketForId: (packetId: number) => Promise<ServerMetadataPacket>;
1048
+ getMetadataReadableStreamForSocketId: (socketId: number) => ReadableStream<ServerMetadataPacket>;
1049
+ getMetadataReadableStreamForLocalAddress: (address: Address4 | Address6) => ReadableStream<ServerMetadataPacket>;
1050
+ getMetadataReadableStreamForLocalPort: (port: number) => ReadableStream<ServerMetadataPacket>;
1051
+ getMetadataWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
1052
+ getDatagramWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
1053
+ }>;
1054
+ type WebVPNWebTransport = Awaited<ReturnType<typeof makeWebVPNWebTransport>>;
1055
+
1056
+ declare const processTcpSocket: ({ connectedPacket, dataReadableStream, dataWritableStream, metadataReadableStream, metadataWriter, dataStreamAbort, webVpnWebTransport }: {
1057
+ connectedPacket: ServerMetadataTcpSocketConnectedPacket;
1058
+ dataReadableStream: ReadableStream<Uint8Array>;
1059
+ dataWritableStream: WritableStream<Uint8Array>;
1060
+ metadataReadableStream: ReadableStream<ServerMetadataPacket>;
1061
+ metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
1062
+ dataStreamAbort?: AbortController;
1063
+ webVpnWebTransport: WebVPNWebTransport;
1064
+ }) => Promise<{
1065
+ localAddress: string;
1066
+ localFamily: "IPv4" | "IPv6";
1067
+ localPort: number;
1068
+ remoteAddress: string;
1069
+ remoteFamily: "IPv4" | "IPv6";
1070
+ remotePort: number;
1071
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
1072
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
1073
+ end: () => Promise<void>;
1074
+ destroy: () => Promise<void>;
1075
+ destroySoon: () => Promise<void>;
1076
+ resetAndDestroy: () => Promise<void>;
1077
+ setOption: (option: TcpSocketOption) => Promise<void>;
1078
+ }>;
1079
+ type TcpSocketResult = Awaited<ReturnType<typeof processTcpSocket>>;
1080
+
1081
+ type AddressLookupResult = {
1082
+ address: string;
1083
+ family: 0 | 4 | 6;
1084
+ };
1085
+
1086
+ type Quota = {
1087
+ overQuota: boolean;
1088
+ remaining: number;
1089
+ usedBytes: number;
1090
+ limitBytes: number;
1091
+ premium: boolean;
1092
+ bytesPerSecond: number;
1093
+ };
1094
+
1095
+ declare const resolvers: {
1096
+ readonly cloud: {
1097
+ readonly fetch: (input: string | Request | URL, init?: (RequestInit | undefined) & {
1098
+ render?: boolean;
1099
+ }) => Promise<Response>;
1100
+ readonly quota: () => Promise<Quota>;
1101
+ readonly dns: {
1102
+ readonly lookup: <T extends boolean = false>(hostname: string, options?: {
1103
+ all?: T;
1104
+ family: 0 | 4 | 6;
1105
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
1106
+ };
1107
+ readonly webvpn: {
1108
+ readonly tcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
1109
+ remoteAddress: string;
1110
+ remotePort: number;
1111
+ }) => Promise<{
1112
+ localAddress: string;
1113
+ localFamily: "IPv4" | "IPv6";
1114
+ localPort: number;
1115
+ remoteAddress: string;
1116
+ remoteFamily: "IPv4" | "IPv6";
1117
+ remotePort: number;
1118
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
1119
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
1120
+ end: () => Promise<void>;
1121
+ destroy: () => Promise<void>;
1122
+ destroySoon: () => Promise<void>;
1123
+ resetAndDestroy: () => Promise<void>;
1124
+ setOption: (option: TcpSocketOption) => Promise<void>;
1125
+ }>;
1126
+ readonly tcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
1127
+ localAddress: string;
1128
+ localPort: number;
1129
+ onConnection: (connection: TcpSocketResult) => void;
1130
+ }) => Promise<{
1131
+ localAddress: string;
1132
+ localFamily: "IPv4" | "IPv6";
1133
+ localPort: number;
1134
+ close: () => Promise<void>;
1135
+ }>;
1136
+ readonly udpSocket: ({ type, port, address }: {
1137
+ type: "udp4" | "udp6";
1138
+ port: number;
1139
+ address: string;
1140
+ }) => Promise<{
1141
+ localAddress: string;
1142
+ localFamily: "IPv4" | "IPv6";
1143
+ localPort: number;
1144
+ dataReadableStream: ReadableStream<{
1145
+ data: ArrayBuffer;
1146
+ size: number;
1147
+ family: "IPv4" | "IPv6";
1148
+ address: string;
1149
+ port: number;
1150
+ }>;
1151
+ connect: ({ remoteAddress: _remoteAddress, remotePort }: {
1152
+ remoteAddress: string;
1153
+ remotePort: number;
1154
+ }) => Promise<void>;
1155
+ send: ({ message, address: _remoteAddress, port: remotePort }: {
1156
+ message: ArrayBuffer;
1157
+ address?: string;
1158
+ port?: number;
1159
+ }) => Promise<void>;
1160
+ close: () => Promise<void>;
1161
+ setOption: (option: UdpSocketOption) => Promise<void>;
1162
+ }>;
1163
+ };
1164
+ };
1165
+ readonly overlay: {
1166
+ readonly setHost: (push: (state: {
1167
+ modal: boolean;
1168
+ rects: {
1169
+ x: number;
1170
+ y: number;
1171
+ width: number;
1172
+ height: number;
1173
+ }[];
1174
+ }) => unknown) => void;
1175
+ };
1176
+ readonly installPrompt: {
1177
+ readonly show: (reason?: string) => Promise<void>;
1178
+ readonly hide: () => void;
1179
+ };
1180
+ readonly proxyFetch: (input: string | Request | URL, init?: (RequestInit | undefined) & {
1181
+ render?: boolean;
1182
+ }) => Promise<Response>;
1183
+ readonly webVpnTcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
1184
+ remoteAddress: string;
1185
+ remotePort: number;
1186
+ }) => Promise<{
1187
+ localAddress: string;
1188
+ localFamily: "IPv4" | "IPv6";
1189
+ localPort: number;
1190
+ remoteAddress: string;
1191
+ remoteFamily: "IPv4" | "IPv6";
1192
+ remotePort: number;
1193
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
1194
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
1195
+ end: () => Promise<void>;
1196
+ destroy: () => Promise<void>;
1197
+ destroySoon: () => Promise<void>;
1198
+ resetAndDestroy: () => Promise<void>;
1199
+ setOption: (option: TcpSocketOption) => Promise<void>;
1200
+ }>;
1201
+ readonly webVpnTcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
1202
+ localAddress: string;
1203
+ localPort: number;
1204
+ onConnection: (connection: TcpSocketResult) => void;
1205
+ }) => Promise<{
1206
+ localAddress: string;
1207
+ localFamily: "IPv4" | "IPv6";
1208
+ localPort: number;
1209
+ close: () => Promise<void>;
1210
+ }>;
1211
+ readonly webVpnUdpSocket: ({ type, port, address }: {
1212
+ type: "udp4" | "udp6";
1213
+ port: number;
1214
+ address: string;
1215
+ }) => Promise<{
1216
+ localAddress: string;
1217
+ localFamily: "IPv4" | "IPv6";
1218
+ localPort: number;
1219
+ dataReadableStream: ReadableStream<{
1220
+ data: ArrayBuffer;
1221
+ size: number;
1222
+ family: "IPv4" | "IPv6";
1223
+ address: string;
1224
+ port: number;
1225
+ }>;
1226
+ connect: ({ remoteAddress: _remoteAddress, remotePort }: {
1227
+ remoteAddress: string;
1228
+ remotePort: number;
1229
+ }) => Promise<void>;
1230
+ send: ({ message, address: _remoteAddress, port: remotePort }: {
1231
+ message: ArrayBuffer;
1232
+ address?: string;
1233
+ port?: number;
1234
+ }) => Promise<void>;
1235
+ close: () => Promise<void>;
1236
+ setOption: (option: UdpSocketOption) => Promise<void>;
1237
+ }>;
1238
+ readonly dnsLookup: <T extends boolean = false>(hostname: string, options?: {
1239
+ all?: T;
1240
+ family: 0 | 4 | 6;
1241
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
1242
+ readonly setOverlayHost: (push: (state: {
1243
+ modal: boolean;
1244
+ rects: {
1245
+ x: number;
1246
+ y: number;
1247
+ width: number;
1248
+ height: number;
1249
+ }[];
1250
+ }) => unknown) => void;
1251
+ readonly showInstallPrompt: (reason?: string) => Promise<void>;
1252
+ readonly hideInstallPrompt: () => void;
1253
+ };
1254
+ type Resolvers = typeof resolvers;
1255
+
1256
+ type ProxyFetch = Resolvers['cloud']['fetch'];
1257
+ type FetchParameters = Parameters<ProxyFetch>;
1258
+ declare const serverProxyFetch: (input: FetchParameters[0], init?: FetchParameters[1]) => Promise<Response>;
1259
+
1260
+ type QuotaStatus = {
1261
+ /** the user has a paid subscription, throttle never applies */
1262
+ premium: boolean;
1263
+ /** today's free-tier volume is spent (true even for premium, see `throttled`) */
1264
+ overQuota: boolean;
1265
+ /** transfers are actually being rate-limited right now (overQuota and not premium) */
1266
+ throttled: boolean;
1267
+ /** bytes egressed through FKN relays today (per anonymized IP), saturates at limitBytes:
1268
+ * consumption past the free-tier volume is private and never reported */
1269
+ usedBytes: number;
1270
+ /** free-tier daily volume before throttling kicks in */
1271
+ limitBytes: number;
1272
+ /** bytes of free-tier volume left today */
1273
+ remainingBytes: number;
1274
+ /** current effective egress rate cap, bytes per second */
1275
+ bytesPerSecond: number;
1276
+ /** current effective egress rate cap, bits per second (for display) */
1277
+ bitsPerSecond: number;
1278
+ };
1279
+ declare const quota: () => Promise<QuotaStatus>;
1280
+
1281
+ declare const lookup: <T extends boolean = false>(hostname: string, options?: {
1282
+ all?: T;
1283
+ family: 0 | 4 | 6;
1284
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
1285
+
1286
+ type dns$1_AddressLookupResult = AddressLookupResult;
1287
+ declare const dns$1_lookup: typeof lookup;
1288
+ declare namespace dns$1 {
1289
+ export { dns$1_lookup as lookup };
1290
+ export type { dns$1_AddressLookupResult as AddressLookupResult };
1291
+ }
1292
+
1293
+ declare const isIPv4: (input: string) => boolean;
1294
+ declare const isIPv6: (input: string) => boolean;
1295
+ declare const isIP: (input: string) => 0 | 4 | 6;
1296
+
1297
+ type WebVpnTcpSocket = Resolvers['cloud']['webvpn']['tcpSocket'];
1298
+ type WebVpnTcpSocketListener = Resolvers['cloud']['webvpn']['tcpSocketListener'];
1299
+
1300
+ declare class Socket$1 extends Stream.Duplex implements Socket$2 {
1301
+ _localAddress?: {
1302
+ address: string;
1303
+ family: string;
1304
+ port: number;
1305
+ };
1306
+ _remoteAddress?: {
1307
+ address: string;
1308
+ family: string;
1309
+ port: number;
1310
+ };
1311
+ _webVPNTcpSocketPromise?: Promise<(Awaited<ReturnType<WebVpnTcpSocket>> & {
1312
+ reader: ReadableStreamDefaultReader<Uint8Array>;
1313
+ writer: WritableStreamDefaultWriter<Uint8Array>;
1314
+ }) | undefined>;
1315
+ constructor(options?: SocketConstructorOpts & DuplexOptions & {
1316
+ connection?: ReturnType<WebVpnTcpSocket>;
1317
+ });
1318
+ __webvpn_tcp_socket_init__(connection: ReturnType<WebVpnTcpSocket>): Promise<({
1319
+ localAddress: string;
1320
+ localFamily: "IPv4" | "IPv6";
1321
+ localPort: number;
1322
+ remoteAddress: string;
1323
+ remoteFamily: "IPv4" | "IPv6";
1324
+ remotePort: number;
1325
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
1326
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
1327
+ end: () => Promise<void>;
1328
+ destroy: () => Promise<void>;
1329
+ destroySoon: () => Promise<void>;
1330
+ resetAndDestroy: () => Promise<void>;
1331
+ setOption: (option: TcpSocketOption) => Promise<void>;
1332
+ } & {
1333
+ reader: ReadableStreamDefaultReader<Uint8Array>;
1334
+ writer: WritableStreamDefaultWriter<Uint8Array>;
1335
+ }) | undefined>;
1336
+ /** STREAM IMPL */
1337
+ _read(size: number): void;
1338
+ _write(chunk: Uint8Array, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
1339
+ /** SOCKET IMPL */
1340
+ connect(options: SocketConnectOpts, connectionListener?: (() => void) | undefined): this;
1341
+ connect(port: number, host: string, connectionListener?: (() => void) | undefined): this;
1342
+ connect(port: number, connectionListener?: (() => void) | undefined): this;
1343
+ connect(path: string, connectionListener?: (() => void) | undefined): this;
1344
+ connect(port: unknown, host?: unknown, connectionListener?: unknown): this;
1345
+ _end(chunk: any, cb?: () => void): this;
1346
+ _end(chunk: any, encoding?: BufferEncoding, cb?: () => void): this;
1347
+ _destroy(error?: Error | null | undefined): this;
1348
+ destroySoon(): void;
1349
+ resetAndDestroy(): this;
1350
+ _timeoutMs?: number;
1351
+ _timeoutTimer?: ReturnType<typeof setTimeout>;
1352
+ _restartTimeoutTimer(): void;
1353
+ setTimeout(timeout: number, callback?: (() => void) | undefined): this;
1354
+ setNoDelay(noDelay?: boolean | undefined): this;
1355
+ setKeepAlive(enable?: boolean | undefined, initialDelay?: number | undefined): this;
1356
+ setSendBufferSize(size: number): this;
1357
+ setRecvBufferSize(size: number): this;
1358
+ _typeOfService?: number;
1359
+ getTypeOfService(): number;
1360
+ setTypeOfService(tos: number): this;
1361
+ _setTcpOption(option: TcpSocketOption): void;
1362
+ write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
1363
+ write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
1364
+ address(): AddressInfo | {};
1365
+ unref(): this;
1366
+ ref(): this;
1367
+ autoSelectFamilyAttemptedAddresses: string[];
1368
+ bufferSize: number;
1369
+ bytesRead: number;
1370
+ bytesWritten: number;
1371
+ connecting: boolean;
1372
+ pending: boolean;
1373
+ get localAddress(): string;
1374
+ get localPort(): number;
1375
+ get localFamily(): string;
1376
+ readyState: 'opening' | 'open' | 'readOnly' | 'writeOnly' | 'closed';
1377
+ get remoteAddress(): string;
1378
+ get remotePort(): number;
1379
+ get remoteFamily(): string;
1380
+ timeout?: number | undefined;
1381
+ }
1382
+ interface EventEmitterOptions$1 {
1383
+ /**
1384
+ * Enables automatic capturing of promise rejection.
1385
+ */
1386
+ captureRejections?: boolean | undefined;
1387
+ }
1388
+ declare class Server$1 extends EventEmitter implements Server$2 {
1389
+ _localAddress?: {
1390
+ address: string;
1391
+ family: string;
1392
+ port: number;
1393
+ };
1394
+ _webVPNTcpSocketListenerPromise?: Promise<Awaited<ReturnType<WebVpnTcpSocketListener>> | undefined>;
1395
+ constructor(options?: ServerOpts & EventEmitterOptions$1 & {
1396
+ connection?: ReturnType<WebVpnTcpSocketListener>;
1397
+ }, connectionListener?: (socket: Socket$1) => void);
1398
+ __webvpn_tcp_socket_listener_init__(connection: ReturnType<WebVpnTcpSocketListener>): Promise<{
1399
+ localAddress: string;
1400
+ localFamily: "IPv4" | "IPv6";
1401
+ localPort: number;
1402
+ close: () => Promise<void>;
1403
+ } | undefined>;
1404
+ listen(port?: number | undefined, hostname?: string | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
1405
+ listen(port?: number | undefined, hostname?: string | undefined, listeningListener?: (() => void) | undefined): this;
1406
+ listen(port?: number | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
1407
+ listen(port?: number | undefined, listeningListener?: (() => void) | undefined): this;
1408
+ listen(path: string, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
1409
+ listen(path: string, listeningListener?: (() => void) | undefined): this;
1410
+ listen(options: ListenOptions, listeningListener?: (() => void) | undefined): this;
1411
+ listen(handle: any, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
1412
+ listen(handle: any, listeningListener?: (() => void) | undefined): this;
1413
+ listen(port?: unknown, hostname?: unknown, backlog?: unknown, listeningListener?: unknown): this;
1414
+ close(callback?: ((err?: Error | undefined) => void) | undefined): this;
1415
+ address(): string | AddressInfo | null;
1416
+ getConnections(cb: (error: Error | null, count: number) => void): this;
1417
+ ref(): this;
1418
+ unref(): this;
1419
+ maxConnections: number;
1420
+ connections: number;
1421
+ listening: boolean;
1422
+ [Symbol.asyncDispose](): Promise<void>;
1423
+ }
1424
+ declare const connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
1425
+ declare const createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
1426
+ declare const createServer$1: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
1427
+
1428
+ declare const _default$1: {
1429
+ Socket: typeof Socket$1;
1430
+ Server: typeof Server$1;
1431
+ connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
1432
+ createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
1433
+ createServer: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
1434
+ isIP: (input: string) => 0 | 4 | 6;
1435
+ isIPv4: (input: string) => boolean;
1436
+ isIPv6: (input: string) => boolean;
1437
+ };
1438
+
1439
+ declare const net$1_connect: typeof connect;
1440
+ declare const net$1_createConnection: typeof createConnection;
1441
+ declare const net$1_isIP: typeof isIP;
1442
+ declare const net$1_isIPv4: typeof isIPv4;
1443
+ declare const net$1_isIPv6: typeof isIPv6;
1444
+ declare namespace net$1 {
1445
+ export {
1446
+ Server$1 as Server,
1447
+ Socket$1 as Socket,
1448
+ _default$1 as _default,
1449
+ net$1_connect as connect,
1450
+ net$1_createConnection as createConnection,
1451
+ createServer$1 as createServer,
1452
+ _default$1 as default,
1453
+ net$1_isIP as isIP,
1454
+ net$1_isIPv4 as isIPv4,
1455
+ net$1_isIPv6 as isIPv6,
1456
+ };
1457
+ }
1458
+
1459
+ type WebVpnUdpSocket = Resolvers['cloud']['webvpn']['udpSocket'];
1460
+ interface EventEmitterOptions {
1461
+ /**
1462
+ * Enables automatic capturing of promise rejection.
1463
+ */
1464
+ captureRejections?: boolean | undefined;
1465
+ }
1466
+ declare class Socket extends EventEmitter implements Socket$3 {
1467
+ _type: 'udp4' | 'udp6';
1468
+ _localAddress?: {
1469
+ address: string;
1470
+ family: string;
1471
+ port: number;
1472
+ };
1473
+ _remoteAddress?: {
1474
+ address: string;
1475
+ family: string;
1476
+ port: number;
1477
+ };
1478
+ _webVPNUdpSocketPromise?: Promise<Awaited<ReturnType<WebVpnUdpSocket>> | undefined>;
1479
+ constructor(options: SocketOptions & EventEmitterOptions & {
1480
+ connection?: ReturnType<WebVpnUdpSocket>;
1481
+ });
1482
+ _lastRecvBufferSize: number;
1483
+ _lastSendBufferSize: number;
1484
+ _lastTtl: number;
1485
+ _lastMulticastTtl: number;
1486
+ _lastMulticastLoopback: boolean;
1487
+ _setUdpOption(option: UdpSocketOption): void;
1488
+ addMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
1489
+ address(): AddressInfo;
1490
+ bind(port?: number | undefined, address?: string | undefined, callback?: (() => void) | undefined): this;
1491
+ bind(port?: number | undefined, callback?: (() => void) | undefined): this;
1492
+ bind(callback?: (() => void) | undefined): this;
1493
+ bind(options: BindOptions, callback?: (() => void) | undefined): this;
1494
+ close(callback?: (() => void) | undefined): this;
1495
+ connect(port: number, address?: string, callback?: () => void): void;
1496
+ connect(port: number, callback: () => void): void;
1497
+ disconnect(): void;
1498
+ dropMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
1499
+ getRecvBufferSize(): number;
1500
+ getSendBufferSize(): number;
1501
+ getSendQueueSize(): number;
1502
+ getSendQueueCount(): number;
1503
+ ref(): this;
1504
+ remoteAddress(): AddressInfo;
1505
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1506
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1507
+ send(msg: string | readonly any[] | Uint8Array, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1508
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1509
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1510
+ send(msg: string | Uint8Array, offset: number, length: number, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
1511
+ send(msg: unknown, offset?: unknown, length?: unknown, port?: unknown, address?: unknown, callback?: unknown): void;
1512
+ setBroadcast(flag: boolean): void;
1513
+ setMulticastInterface(multicastInterface: string): void;
1514
+ setMulticastLoopback(flag: boolean): boolean;
1515
+ setMulticastTTL(ttl: number): number;
1516
+ setRecvBufferSize(size: number): void;
1517
+ setSendBufferSize(size: number): void;
1518
+ setTTL(ttl: number): number;
1519
+ unref(): this;
1520
+ addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
1521
+ dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
1522
+ [Symbol.asyncDispose](): Promise<void>;
1523
+ }
1524
+ declare const createSocket: (options: SocketType | SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void) => Socket;
1525
+
1526
+ type dgram$1_Socket = Socket;
1527
+ declare const dgram$1_Socket: typeof Socket;
1528
+ declare const dgram$1_createSocket: typeof createSocket;
1529
+ declare namespace dgram$1 {
1530
+ export {
1531
+ dgram$1_Socket as Socket,
1532
+ dgram$1_createSocket as createSocket,
1533
+ };
1534
+ }
1535
+
1536
+ declare const METHODS: string[];
1537
+ declare const STATUS_CODES: Record<number, string>;
1538
+ interface ParsedHead {
1539
+ /** request only */
1540
+ method?: string;
1541
+ /** request only */
1542
+ url?: string;
1543
+ /** response only */
1544
+ statusCode?: number;
1545
+ /** response only */
1546
+ statusMessage?: string;
1547
+ httpVersionMajor: number;
1548
+ httpVersionMinor: number;
1549
+ httpVersion: string;
1550
+ headers: IncomingHttpHeaders;
1551
+ rawHeaders: string[];
1552
+ }
1553
+ interface ParserHandlers {
1554
+ onHeaders: (head: ParsedHead) => void;
1555
+ onBody: (chunk: Uint8Array) => void;
1556
+ onComplete: () => void;
1557
+ }
1558
+ declare class HTTPParser {
1559
+ private readonly mode;
1560
+ private readonly handlers;
1561
+ private buf;
1562
+ private state;
1563
+ private framing;
1564
+ private bodyRemaining;
1565
+ private chunkState;
1566
+ skipBody: boolean;
1567
+ constructor(mode: 'request' | 'response', handlers: ParserHandlers);
1568
+ execute(chunk: Uint8Array): void;
1569
+ finish(): void;
1570
+ private reset;
1571
+ private parseHead;
1572
+ private applyVersion;
1573
+ private addHeader;
1574
+ private setupBody;
1575
+ private consumeBody;
1576
+ private consumeChunked;
1577
+ }
1578
+ declare class IncomingMessage extends Stream.Readable {
1579
+ httpVersion: string;
1580
+ httpVersionMajor: number;
1581
+ httpVersionMinor: number;
1582
+ headers: IncomingHttpHeaders;
1583
+ rawHeaders: string[];
1584
+ trailers: Record<string, string>;
1585
+ rawTrailers: string[];
1586
+ /** request only */
1587
+ method?: string;
1588
+ /** request only */
1589
+ url?: string;
1590
+ /** response only */
1591
+ statusCode?: number;
1592
+ /** response only */
1593
+ statusMessage?: string;
1594
+ complete: boolean;
1595
+ socket: Socket$1;
1596
+ constructor(socket: Socket$1);
1597
+ get connection(): Socket$1;
1598
+ _applyHead(head: ParsedHead): void;
1599
+ _read(): void;
1600
+ setTimeout(msecs: number, callback?: () => void): this;
1601
+ }
1602
+ declare abstract class OutgoingMessage extends Stream.Writable {
1603
+ private _headerStore;
1604
+ headersSent: boolean;
1605
+ chunkedEncoding: boolean;
1606
+ finished: boolean;
1607
+ protected _bodyWritten: boolean;
1608
+ abstract socket: Socket$1 | null;
1609
+ setHeader(name: string, value: number | string | readonly string[]): this;
1610
+ getHeader(name: string): number | string | string[] | undefined;
1611
+ getHeaderNames(): string[];
1612
+ getHeaders(): OutgoingHttpHeaders;
1613
+ hasHeader(name: string): boolean;
1614
+ removeHeader(name: string): void;
1615
+ protected _storeHeader(startLine: string): string;
1616
+ protected abstract _shouldSendBody(): boolean;
1617
+ protected abstract _implicitHeader(): void;
1618
+ protected _writeToSocket(data: Buffer, callback: (error?: Error | null) => void): void;
1619
+ write(chunk: unknown, encoding?: BufferEncoding | ((error: Error | null | undefined) => void), callback?: (error: Error | null | undefined) => void): boolean;
1620
+ _write(chunk: Buffer, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
1621
+ _final(callback: (error?: Error | null) => void): void;
1622
+ end(chunk?: unknown, encoding?: BufferEncoding | (() => void), callback?: () => void): this;
1623
+ protected _headBlock?: string;
1624
+ }
1625
+ interface ServerResponseOptions {
1626
+ req: IncomingMessage;
1627
+ }
1628
+ declare class ServerResponse extends OutgoingMessage {
1629
+ statusCode: number;
1630
+ statusMessage?: string;
1631
+ private _writeHeadCalled;
1632
+ sendDate: boolean;
1633
+ req: IncomingMessage;
1634
+ socket: Socket$1 | null;
1635
+ _keepAlive: boolean;
1636
+ constructor(req: IncomingMessage);
1637
+ protected _shouldSendBody(): boolean;
1638
+ writeHead(statusCode: number, statusMessage?: string | OutgoingHttpHeaders | OutgoingHttpHeaders[keyof OutgoingHttpHeaders][], headers?: OutgoingHttpHeaders): this;
1639
+ private _appendHeader;
1640
+ protected _implicitHeader(): void;
1641
+ writeContinue(): void;
1642
+ setTimeout(msecs: number, callback?: () => void): this;
1643
+ }
1644
+ interface ClientRequestArgs extends RequestOptions {
1645
+ host?: string;
1646
+ hostname?: string;
1647
+ port?: number | string;
1648
+ path?: string;
1649
+ }
1650
+ declare class ClientRequest extends OutgoingMessage {
1651
+ method: string;
1652
+ path: string;
1653
+ host: string;
1654
+ protocol: string;
1655
+ socket: Socket$1;
1656
+ /** alias retained for Node compatibility */
1657
+ get connection(): Socket$1;
1658
+ res: IncomingMessage | null;
1659
+ aborted: boolean;
1660
+ private _aborted;
1661
+ constructor(options: ClientRequestArgs, callback?: (res: IncomingMessage) => void);
1662
+ protected _shouldSendBody(): boolean;
1663
+ protected _implicitHeader(): void;
1664
+ private _attachResponseParser;
1665
+ abort(): void;
1666
+ destroy(error?: Error): this;
1667
+ end(chunk?: unknown, encoding?: unknown, callback?: unknown): this;
1668
+ protected _writeToSocket(data: Buffer, callback: (error?: Error | null) => void): void;
1669
+ setTimeout(timeout: number, callback?: () => void): this;
1670
+ setNoDelay(noDelay?: boolean): void;
1671
+ setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
1672
+ }
1673
+ type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;
1674
+ declare class ServerImpl extends Server$1 {
1675
+ constructor(options?: object | RequestListener, requestListener?: RequestListener);
1676
+ private _handleConnection;
1677
+ }
1678
+ declare const Server: typeof ServerImpl;
1679
+ type Server = ServerImpl;
1680
+ declare class Agent {
1681
+ maxSockets: number;
1682
+ maxFreeSockets: number;
1683
+ keepAlive: boolean;
1684
+ options: Record<string, unknown>;
1685
+ constructor(options?: Record<string, unknown>);
1686
+ getName(options?: {
1687
+ host?: string;
1688
+ port?: number;
1689
+ localAddress?: string;
1690
+ }): string;
1691
+ destroy(): void;
1692
+ }
1693
+ declare const globalAgent: Agent;
1694
+ declare const request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1695
+ declare const get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1696
+ declare const createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
1697
+ declare const _default: {
1698
+ METHODS: string[];
1699
+ STATUS_CODES: Record<number, string>;
1700
+ Agent: typeof Agent;
1701
+ globalAgent: Agent;
1702
+ Server: typeof ServerImpl;
1703
+ ServerResponse: typeof ServerResponse;
1704
+ IncomingMessage: typeof IncomingMessage;
1705
+ ClientRequest: typeof ClientRequest;
1706
+ OutgoingMessage: typeof OutgoingMessage;
1707
+ createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
1708
+ request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1709
+ get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1710
+ };
1711
+
1712
+ type http_Agent = Agent;
1713
+ declare const http_Agent: typeof Agent;
1714
+ type http_ClientRequest = ClientRequest;
1715
+ declare const http_ClientRequest: typeof ClientRequest;
1716
+ type http_ClientRequestArgs = ClientRequestArgs;
1717
+ type http_HTTPParser = HTTPParser;
1718
+ declare const http_HTTPParser: typeof HTTPParser;
1719
+ type http_IncomingMessage = IncomingMessage;
1720
+ declare const http_IncomingMessage: typeof IncomingMessage;
1721
+ declare const http_METHODS: typeof METHODS;
1722
+ type http_ParsedHead = ParsedHead;
1723
+ type http_RequestListener = RequestListener;
1724
+ declare const http_STATUS_CODES: typeof STATUS_CODES;
1725
+ type http_Server = Server;
1726
+ type http_ServerResponse = ServerResponse;
1727
+ declare const http_ServerResponse: typeof ServerResponse;
1728
+ type http_ServerResponseOptions = ServerResponseOptions;
1729
+ declare const http__default: typeof _default;
1730
+ declare const http_createServer: typeof createServer;
1731
+ declare const http_get: typeof get;
1732
+ declare const http_globalAgent: typeof globalAgent;
1733
+ declare const http_request: typeof request;
1734
+ declare namespace http {
1735
+ export { http_Agent as Agent, http_ClientRequest as ClientRequest, http_HTTPParser as HTTPParser, http_IncomingMessage as IncomingMessage, http_METHODS as METHODS, http_STATUS_CODES as STATUS_CODES, http_ServerResponse as ServerResponse, http__default as _default, http_createServer as createServer, _default as default, http_get as get, http_globalAgent as globalAgent, http_request as request };
1736
+ export type { http_ClientRequestArgs as ClientRequestArgs, http_ParsedHead as ParsedHead, http_RequestListener as RequestListener, http_Server as Server, http_ServerResponseOptions as ServerResponseOptions };
1737
+ }
1738
+
1739
+ declare const available$1: () => boolean;
1452
1740
 
1453
- type PermissionRequest = {
1454
- key: PermissionScope;
1455
- scope?: string;
1741
+ type cloud_QuotaStatus = QuotaStatus;
1742
+ declare const cloud_http: typeof http;
1743
+ declare const cloud_quota: typeof quota;
1744
+ declare namespace cloud {
1745
+ export { available$1 as available, dgram$1 as dgram, dns$1 as dns, serverProxyFetch as fetch, cloud_http as http, net$1 as net, cloud_quota as quota };
1746
+ export type { cloud_QuotaStatus as QuotaStatus };
1747
+ }
1748
+
1749
+ declare const promptInstall: (reason?: string) => Promise<boolean>;
1750
+
1751
+ declare const isExtensionAvailable: () => boolean;
1752
+ declare const fetch$1: (input: RequestInfo | URL, init?: RequestInit & {
1456
1753
  reason?: string;
1457
- };
1458
- type PermissionGrant = {
1459
- key: PermissionScope;
1460
- scope: string;
1461
- allow: boolean;
1462
- };
1463
- declare const permissions: {
1464
- request: (requests: PermissionRequest[]) => Promise<PermissionGrant[]>;
1465
- };
1754
+ render?: boolean;
1755
+ }) => Promise<Response>;
1756
+
1757
+ declare const extension_ATTACH_FRAME_EVENT_KEY: typeof ATTACH_FRAME_EVENT_KEY;
1758
+ type extension_AttachFrameOptions = AttachFrameOptions;
1759
+ type extension_BoxedVideoElement = BoxedVideoElement;
1760
+ type extension_CookieDetails = CookieDetails;
1761
+ type extension_FetchInit = FetchInit;
1762
+ type extension_Frame = Frame;
1763
+ type extension_GotoOptions = GotoOptions;
1764
+ type extension_HeaderOperation = HeaderOperation;
1765
+ type extension_PermissionGrant = PermissionGrant;
1766
+ type extension_PermissionRequest = PermissionRequest;
1767
+ type extension_ProxyFetchRequest = ProxyFetchRequest;
1768
+ type extension_RemoteVideoElement = RemoteVideoElement;
1769
+ type extension_RequestHeaderRule = RequestHeaderRule;
1770
+ type extension_SiteCookie = SiteCookie;
1771
+ type extension_VideoElementState = VideoElementState;
1772
+ declare const extension_assertAttachableFrameUrl: typeof assertAttachableFrameUrl;
1773
+ declare const extension_assertFetchableUrl: typeof assertFetchableUrl;
1774
+ declare const extension_attachFrame: typeof attachFrame;
1775
+ declare const extension_attachFramePermission: typeof attachFramePermission;
1776
+ declare const extension_box: typeof box;
1777
+ declare const extension_cookies: typeof cookies;
1778
+ declare const extension_createVideoElementHandle: typeof createVideoElementHandle;
1779
+ declare const extension_fetchCredentialedPermission: typeof fetchCredentialedPermission;
1780
+ declare const extension_fetchPermission: typeof fetchPermission;
1781
+ declare const extension_gotoPermission: typeof gotoPermission;
1782
+ declare const extension_handleRevivableModules: typeof handleRevivableModules;
1783
+ declare const extension_isBlockedFetchUrl: typeof isBlockedFetchUrl;
1784
+ declare const extension_isBlockedFrameUrl: typeof isBlockedFrameUrl;
1785
+ declare const extension_isExtensionExposed: typeof isExtensionExposed;
1786
+ declare const extension_isType: typeof isType;
1787
+ declare const extension_modifyRequestHeadersPermission: typeof modifyRequestHeadersPermission;
1788
+ declare const extension_permissions: typeof permissions;
1789
+ declare const extension_promptInstall: typeof promptInstall;
1790
+ declare const extension_readCookiePermission: typeof readCookiePermission;
1791
+ declare const extension_removeRequestHeaderRule: typeof removeRequestHeaderRule;
1792
+ declare const extension_revive: typeof revive;
1793
+ declare const extension_setMissingExtensionHandler: typeof setMissingExtensionHandler;
1794
+ declare const extension_setRequestHeaderRule: typeof setRequestHeaderRule;
1795
+ declare const extension_type: typeof type;
1796
+ declare const extension_waitForExtensionExposure: typeof waitForExtensionExposure;
1797
+ declare namespace extension {
1798
+ export { extension_ATTACH_FRAME_EVENT_KEY as ATTACH_FRAME_EVENT_KEY, extension_assertAttachableFrameUrl as assertAttachableFrameUrl, extension_assertFetchableUrl as assertFetchableUrl, extension_attachFrame as attachFrame, extension_attachFramePermission as attachFramePermission, isExtensionAvailable as available, extension_box as box, extension_cookies as cookies, extension_createVideoElementHandle as createVideoElementHandle, extension$1 as events, extension$1 as extension, fetch$2 as fetch, extension_fetchCredentialedPermission as fetchCredentialedPermission, extension_fetchPermission as fetchPermission, extension_gotoPermission as gotoPermission, extension_handleRevivableModules as handleRevivableModules, extension_isBlockedFetchUrl as isBlockedFetchUrl, extension_isBlockedFrameUrl as isBlockedFrameUrl, extension_isExtensionExposed as isExtensionExposed, extension_isType as isType, extension_modifyRequestHeadersPermission as modifyRequestHeadersPermission, extension_permissions as permissions, extension_promptInstall as promptInstall, extension_readCookiePermission as readCookiePermission, extension_removeRequestHeaderRule as removeRequestHeaderRule, extension_revive as revive, extension_setMissingExtensionHandler as setMissingExtensionHandler, extension_setRequestHeaderRule as setRequestHeaderRule, extension_type as type, extension_waitForExtensionExposure as waitForExtensionExposure };
1799
+ export type { extension_AttachFrameOptions as AttachFrameOptions, extension_BoxedVideoElement as BoxedVideoElement, extension_CookieDetails as CookieDetails, extension_FetchInit as FetchInit, extension_Frame as Frame, extension_GotoOptions as GotoOptions, extension_HeaderOperation as HeaderOperation, extension_PermissionGrant as PermissionGrant, extension_PermissionRequest as PermissionRequest, extension_ProxyFetchRequest as ProxyFetchRequest, extension_RemoteVideoElement as RemoteVideoElement, extension_RequestHeaderRule as RequestHeaderRule, extension_SiteCookie as SiteCookie, extension_VideoElementState as VideoElementState };
1800
+ }
1466
1801
 
1467
- declare const type: "videoElement";
1468
- type TimeRangesTuple = [number, number][];
1469
- type VideoElementState = {
1470
- currentTime: number;
1471
- volume: number;
1472
- muted: boolean;
1473
- playbackRate: number;
1474
- src: string;
1475
- loop: boolean;
1476
- autoplay: boolean;
1477
- preload: string;
1478
- poster: string;
1479
- disableRemotePlayback: boolean;
1480
- duration: number;
1481
- paused: boolean;
1482
- ended: boolean;
1483
- seeking: boolean;
1484
- readyState: number;
1485
- currentSrc: string;
1486
- buffered: TimeRangesTuple;
1487
- seekable: TimeRangesTuple;
1488
- error: {
1489
- code: number;
1490
- message: string;
1491
- } | null;
1802
+ declare const available: () => boolean;
1803
+ declare const fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
1804
+ declare const dns: {
1805
+ lookup: (..._args: unknown[]) => never;
1492
1806
  };
1493
- type RemoteVideoElement = EventTarget & {
1494
- currentTime: number;
1495
- volume: number;
1496
- muted: boolean;
1497
- playbackRate: number;
1498
- src: string;
1499
- loop: boolean;
1500
- autoplay: boolean;
1501
- preload: string;
1502
- poster: string;
1503
- disableRemotePlayback: boolean;
1504
- readonly duration: number;
1505
- readonly paused: boolean;
1506
- readonly ended: boolean;
1507
- readonly seeking: boolean;
1508
- readonly readyState: number;
1509
- readonly currentSrc: string;
1510
- readonly error: MediaError | null;
1511
- readonly buffered: TimeRanges;
1512
- readonly seekable: TimeRanges;
1513
- play(): Promise<void>;
1514
- pause(): void;
1515
- load(): void;
1516
- requestPictureInPicture(): Promise<void>;
1517
- exitPictureInPicture(): Promise<void>;
1518
- readonly HAVE_FUTURE_DATA: 3;
1519
- readonly HAVE_ENOUGH_DATA: 4;
1807
+ declare const net: {
1808
+ connect: (..._args: unknown[]) => never;
1809
+ createConnection: (..._args: unknown[]) => never;
1810
+ createServer: (..._args: unknown[]) => never;
1520
1811
  };
1521
- type BoxedVideoElement = BoxBase<typeof type> & {
1522
- initialState: VideoElementState;
1523
- controller: Capable;
1524
- } & {
1525
- [UnderlyingType]: RemoteVideoElement;
1812
+ declare const dgram: {
1813
+ createSocket: (..._args: unknown[]) => never;
1814
+ };
1815
+ declare const fs$1: {
1816
+ isLocalDirectorySupported: () => boolean;
1817
+ pickLocalDirectory: (..._args: unknown[]) => never;
1818
+ queryDirectoryPermission: (..._args: unknown[]) => never;
1819
+ ensureDirectoryPermission: (..._args: unknown[]) => never;
1526
1820
  };
1527
- declare const createVideoElementHandle: (element: HTMLVideoElement) => RemoteVideoElement;
1528
- declare const isType: (value: unknown) => value is RemoteVideoElement;
1529
- declare const box: <T extends RemoteVideoElement, T2 extends RevivableContext>(value: T, context: T2) => BoxedVideoElement;
1530
- declare const revive: <T extends BoxedVideoElement, T2 extends RevivableContext>(value: T, context: T2) => T[typeof UnderlyingType];
1531
1821
 
1532
- type videoElement_BoxedVideoElement = BoxedVideoElement;
1533
- type videoElement_RemoteVideoElement = RemoteVideoElement;
1534
- type videoElement_VideoElementState = VideoElementState;
1535
- declare const videoElement_box: typeof box;
1536
- declare const videoElement_createVideoElementHandle: typeof createVideoElementHandle;
1537
- declare const videoElement_isType: typeof isType;
1538
- declare const videoElement_revive: typeof revive;
1539
- declare const videoElement_type: typeof type;
1540
- declare namespace videoElement {
1541
- export { videoElement_box as box, videoElement_createVideoElementHandle as createVideoElementHandle, videoElement_isType as isType, videoElement_revive as revive, videoElement_type as type };
1542
- export type { videoElement_BoxedVideoElement as BoxedVideoElement, videoElement_RemoteVideoElement as RemoteVideoElement, videoElement_VideoElementState as VideoElementState };
1822
+ declare const desktop_available: typeof available;
1823
+ declare const desktop_dgram: typeof dgram;
1824
+ declare const desktop_dns: typeof dns;
1825
+ declare const desktop_fetch: typeof fetch;
1826
+ declare const desktop_net: typeof net;
1827
+ declare namespace desktop {
1828
+ export {
1829
+ desktop_available as available,
1830
+ desktop_dgram as dgram,
1831
+ desktop_dns as dns,
1832
+ desktop_fetch as fetch,
1833
+ fs$1 as fs,
1834
+ desktop_net as net,
1835
+ };
1543
1836
  }
1544
1837
 
1545
- declare const handleRevivableModules: (defaults: readonly [typeof osra_build_revivables_transfer, typeof osra_build_revivables_identity, typeof osra_build_revivables_array_buffer, typeof osra_build_revivables_date, typeof osra_build_revivables_headers, typeof osra_build_revivables_error, typeof osra_build_revivables_typed_array, typeof osra_build_revivables_blob, typeof osra_build_revivables_promise, typeof osra_build_revivables_function, typeof osra_build_revivables_message_port, typeof osra_build_revivables_readable_stream, typeof osra_build_revivables_writable_stream, typeof osra_build_revivables_abort_signal, typeof osra_build_revivables_response, typeof osra_build_revivables_request, typeof osra_build_revivables_map, typeof osra_build_revivables_set, typeof osra_build_revivables_bigint, typeof osra_build_revivables_symbol, typeof osra_build_revivables_event, {
1546
- readonly type: "clonable";
1547
- readonly capableOnly: true;
1548
- readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Clonable;
1549
- readonly box: (value: osra_build_revivables_fallbacks.Clonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
1550
- readonly revive: (value: osra_build_revivables_fallbacks.BoxedClonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
1551
- }, {
1552
- readonly type: "transferable";
1553
- readonly capableOnly: true;
1554
- readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Transferable;
1555
- readonly box: (value: osra_build_revivables_fallbacks.Transferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
1556
- readonly revive: (value: osra_build_revivables_fallbacks.BoxedTransferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
1557
- }, typeof osra_build_revivables_event_target, {
1558
- readonly type: "unclonable";
1559
- readonly isType: (value: unknown) => value is never;
1560
- readonly box: (_value: never, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.BoxedUnclonable;
1561
- readonly revive: (_value: osra_build_revivables_fallbacks.BoxedUnclonable, _context: osra.RevivableContext<any>) => Record<string, never>;
1562
- }]) => readonly [typeof videoElement, typeof osra_build_revivables_transfer, typeof osra_build_revivables_identity, typeof osra_build_revivables_array_buffer, typeof osra_build_revivables_date, typeof osra_build_revivables_headers, typeof osra_build_revivables_error, typeof osra_build_revivables_typed_array, typeof osra_build_revivables_blob, typeof osra_build_revivables_promise, typeof osra_build_revivables_function, typeof osra_build_revivables_message_port, typeof osra_build_revivables_readable_stream, typeof osra_build_revivables_writable_stream, typeof osra_build_revivables_abort_signal, typeof osra_build_revivables_response, typeof osra_build_revivables_request, typeof osra_build_revivables_map, typeof osra_build_revivables_set, typeof osra_build_revivables_bigint, typeof osra_build_revivables_symbol, typeof osra_build_revivables_event, {
1563
- readonly type: "clonable";
1564
- readonly capableOnly: true;
1565
- readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Clonable;
1566
- readonly box: (value: osra_build_revivables_fallbacks.Clonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
1567
- readonly revive: (value: osra_build_revivables_fallbacks.BoxedClonable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Clonable;
1568
- }, {
1569
- readonly type: "transferable";
1570
- readonly capableOnly: true;
1571
- readonly isType: (value: unknown) => value is osra_build_revivables_fallbacks.Transferable;
1572
- readonly box: (value: osra_build_revivables_fallbacks.Transferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
1573
- readonly revive: (value: osra_build_revivables_fallbacks.BoxedTransferable, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.Transferable;
1574
- }, typeof osra_build_revivables_event_target, {
1575
- readonly type: "unclonable";
1576
- readonly isType: (value: unknown) => value is never;
1577
- readonly box: (_value: never, _context: osra.RevivableContext<any>) => osra_build_revivables_fallbacks.BoxedUnclonable;
1578
- readonly revive: (_value: osra_build_revivables_fallbacks.BoxedUnclonable, _context: osra.RevivableContext<any>) => Record<string, never>;
1579
- }];
1838
+ type DirectoryPermissionMode = 'read' | 'readwrite';
1839
+ type PickLocalDirectoryOptions = {
1840
+ id?: string;
1841
+ mode?: DirectoryPermissionMode;
1842
+ startIn?: 'desktop' | 'documents' | 'downloads' | 'music' | 'pictures' | 'videos';
1843
+ };
1844
+ declare const isLocalDirectorySupported: () => boolean;
1845
+ declare const pickLocalDirectory: (options?: PickLocalDirectoryOptions) => Promise<FileSystemDirectoryHandle | undefined>;
1846
+ declare const queryDirectoryPermission: (handle: FileSystemDirectoryHandle, mode?: DirectoryPermissionMode) => Promise<PermissionState>;
1847
+ declare const ensureDirectoryPermission: (handle: FileSystemDirectoryHandle, mode?: DirectoryPermissionMode) => Promise<boolean>;
1848
+
1849
+ type fs_DirectoryPermissionMode = DirectoryPermissionMode;
1850
+ type fs_PickLocalDirectoryOptions = PickLocalDirectoryOptions;
1851
+ declare const fs_ensureDirectoryPermission: typeof ensureDirectoryPermission;
1852
+ declare const fs_isLocalDirectorySupported: typeof isLocalDirectorySupported;
1853
+ declare const fs_pickLocalDirectory: typeof pickLocalDirectory;
1854
+ declare const fs_queryDirectoryPermission: typeof queryDirectoryPermission;
1855
+ declare namespace fs {
1856
+ export { fs_ensureDirectoryPermission as ensureDirectoryPermission, fs_isLocalDirectorySupported as isLocalDirectorySupported, fs_pickLocalDirectory as pickLocalDirectory, fs_queryDirectoryPermission as queryDirectoryPermission };
1857
+ export type { fs_DirectoryPermissionMode as DirectoryPermissionMode, fs_PickLocalDirectoryOptions as PickLocalDirectoryOptions };
1858
+ }
1580
1859
 
1581
- type ExtensionEventMap = {
1582
- statuschange: CustomEvent<{
1583
- enabled: boolean;
1584
- }>;
1585
- };
1586
- declare const extension: osra.TypedEventTarget<ExtensionEventMap>;
1587
- declare const isExtensionExposed: () => boolean;
1588
- type MissingExtensionHandler = () => Promise<void>;
1589
- declare const setMissingExtensionHandler: (handler: MissingExtensionHandler | null) => void;
1590
- declare const waitForExtensionExposure: (timeout?: number) => Promise<void>;
1860
+ declare const relayWorker: (worker: Worker, options?: {
1861
+ unregisterSignal?: AbortSignal;
1862
+ originA?: string;
1863
+ originB?: string;
1864
+ }) => void;
1591
1865
 
1592
- export { ATTACH_FRAME_EVENT_KEY, assertAttachableFrameUrl, attachFrame, attachFramePermission, box, cookies, createVideoElementHandle, dgram, extension, fetch, fetchCredentialedPermission, fetchPermission, gotoPermission, handleRevivableModules, http, isBlockedFrameUrl, isExtensionExposed, isType, modifyRequestHeadersPermission, net, permissions, promptInstall, readCookiePermission, relayWorker, removeRequestHeaderRule, revive, serverProxyFetch, setMissingExtensionHandler, setRequestHeaderRule, type, waitForExtensionExposure };
1866
+ export { ATTACH_FRAME_EVENT_KEY, assertAttachableFrameUrl, assertFetchableUrl, attachFrame, attachFramePermission, box, cloud, cookies, createVideoElementHandle, desktop, dgram$1 as dgram, dns$1 as dns, extension, fetch$1 as fetch, fetchCredentialedPermission, fetchPermission, fs, gotoPermission, handleRevivableModules, http, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isType, modifyRequestHeadersPermission, net$1 as net, permissions, promptInstall, readCookiePermission, relayWorker, removeRequestHeaderRule, revive, serverProxyFetch, setMissingExtensionHandler, setRequestHeaderRule, type, waitForExtensionExposure };
1593
1867
  export type { AttachFrameOptions, BoxedVideoElement, CookieDetails, FetchInit, Frame, GotoOptions, HeaderOperation, PermissionGrant, PermissionRequest, ProxyFetchRequest, RemoteVideoElement, RequestHeaderRule, SiteCookie, VideoElementState };