@fkn/lib 0.4.8 → 0.5.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/account.cjs +1 -0
- package/account.d.ts +17 -0
- package/account.js +28 -0
- package/api-ByfayMm1.js +67 -0
- package/api-CDb2pv7C.cjs +1 -0
- package/background-Dk_vaVP1.cjs +1 -0
- package/{background-CTsVv_a0.js → background-TtzKw6g0.js} +5 -4
- package/chunk-B6C_zzib.cjs +1 -0
- package/chunk-CPXzm0be.js +11 -0
- package/cloud/dgram.cjs +1 -0
- package/cloud/dgram.d.ts +537 -0
- package/cloud/dgram.js +4 -0
- package/cloud/dns.cjs +1 -0
- package/cloud/dns.d.ts +12 -0
- package/cloud/dns.js +3 -0
- package/cloud/fs/promises.cjs +1 -0
- package/cloud/fs/promises.d.ts +45 -0
- package/cloud/fs/promises.js +8 -0
- package/cloud/fs.cjs +1 -0
- package/cloud/fs.d.ts +75 -0
- package/cloud/fs.js +20 -0
- package/cloud/http.cjs +1 -0
- package/cloud/http.d.ts +767 -0
- package/cloud/http.js +5 -0
- package/cloud/net.cjs +1 -0
- package/cloud/net.d.ts +606 -0
- package/cloud/net.js +4 -0
- package/cloud-BVnscun4.js +33 -0
- package/cloud-DTL2B5pW.cjs +1 -0
- package/cloud.cjs +1 -0
- package/cloud.d.ts +1048 -0
- package/cloud.js +12 -0
- package/desktop.cjs +1 -0
- package/desktop.d.ts +49 -0
- package/desktop.js +51 -0
- package/dgram-5YUb70O2.js +326 -0
- package/dgram-Cdi6Y7zJ.cjs +1 -0
- package/dgram.cjs +1 -0
- package/dgram.d.ts +537 -0
- package/dgram.js +4 -0
- package/dns.cjs +1 -0
- package/dns.d.ts +12 -0
- package/dns.js +6 -0
- package/extension-9Uv_0HdS.cjs +1 -0
- package/extension-Dgz0UTy0.js +245 -0
- package/extension.cjs +1 -0
- package/extension.d.ts +853 -0
- package/extension.js +5 -0
- package/fs/promises.cjs +1 -0
- package/fs/promises.d.ts +46 -0
- package/fs/promises.js +8 -0
- package/fs-B7JumDCn.js +78 -0
- package/fs-DrwvwtqC.cjs +1 -0
- package/fs.cjs +1 -0
- package/fs.d.ts +84 -0
- package/fs.js +5 -0
- package/http.cjs +9 -0
- package/http.d.ts +767 -0
- package/http.js +541 -0
- package/index.cjs +1 -9
- package/index.d.ts +495 -268
- package/index.js +27 -1569
- package/locator-Cf7M3QKN.cjs +53 -0
- package/{locator-Q5m8i40Z.js → locator-DxAsGV_o.js} +331 -337
- package/net-Bl6_W3bd.js +275 -0
- package/net-C5kWnI4C.cjs +1 -0
- package/net.cjs +1 -0
- package/net.d.ts +606 -0
- package/net.js +4 -0
- package/node-fs-Bd_UUx1m.js +361 -0
- package/node-fs-lrlD_zqB.cjs +1 -0
- package/opfs/promises.cjs +1 -0
- package/opfs/promises.d.ts +46 -0
- package/opfs/promises.js +6 -0
- package/opfs-BfcYLPGb.js +55 -0
- package/opfs-Dsi4FkJU.cjs +1 -0
- package/opfs.cjs +1 -0
- package/opfs.d.ts +83 -0
- package/opfs.js +35 -0
- package/package.json +91 -1
- package/proxy-A9UvWUaF.cjs +1 -0
- package/proxy-wiZN4eTR.js +14 -0
- package/storage-BadvHtv0.cjs +1 -0
- package/storage-z0q3iena.js +13 -0
- package/utils-BsNRWMfl.cjs +1 -0
- package/utils-CNydj3OT.js +52 -0
- package/background-BqRFQggD.cjs +0 -1
- package/locator-Cjl21Nkt.cjs +0 -53
package/dgram.d.ts
ADDED
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
import { Socket as Socket$1, SocketOptions, BindOptions, SocketType, RemoteInfo } from 'dgram';
|
|
2
|
+
import { AddressInfo } from 'net';
|
|
3
|
+
import * as ip_address from 'ip-address';
|
|
4
|
+
import { Address4, Address6 } from 'ip-address';
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
import { Buffer } from 'buffer';
|
|
7
|
+
|
|
8
|
+
declare const parseServerMetadataUdpSocketBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
9
|
+
readonly _type: "ServerMetadataUdpSocketBoundPacket";
|
|
10
|
+
readonly offset: number;
|
|
11
|
+
readonly id: number;
|
|
12
|
+
readonly socketId: number;
|
|
13
|
+
readonly localAddressType: 0 | 1;
|
|
14
|
+
readonly localAddress: ip_address.Address4 | ip_address.Address6;
|
|
15
|
+
readonly localPort: number;
|
|
16
|
+
readonly errorLength: number;
|
|
17
|
+
readonly error: string;
|
|
18
|
+
};
|
|
19
|
+
type ServerMetadataUdpSocketBoundPacket = ReturnType<typeof parseServerMetadataUdpSocketBoundPacket>;
|
|
20
|
+
declare const parseServerMetadataUdpSocketUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
21
|
+
readonly _type: "ServerMetadataUdpSocketUnboundPacket";
|
|
22
|
+
readonly offset: number;
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly socketId: number;
|
|
25
|
+
};
|
|
26
|
+
type ServerMetadataUdpSocketUnboundPacket = ReturnType<typeof parseServerMetadataUdpSocketUnboundPacket>;
|
|
27
|
+
declare const parseServerMetadataUdpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
28
|
+
readonly _type: "ServerMetadataUdpSocketConnectedPacket";
|
|
29
|
+
readonly offset: number;
|
|
30
|
+
readonly id: number;
|
|
31
|
+
readonly socketId: number;
|
|
32
|
+
readonly remoteAddressType: 0 | 1;
|
|
33
|
+
readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
|
|
34
|
+
readonly remotePort: number;
|
|
35
|
+
readonly errorLength: number;
|
|
36
|
+
readonly error: string;
|
|
37
|
+
};
|
|
38
|
+
type ServerMetadataUdpSocketConnectedPacket = ReturnType<typeof parseServerMetadataUdpSocketConnectedPacket>;
|
|
39
|
+
declare const UDP_OPTION_BROADCAST: 0;
|
|
40
|
+
declare const UDP_OPTION_TTL: 1;
|
|
41
|
+
declare const UDP_OPTION_MULTICAST_TTL_V4: 2;
|
|
42
|
+
declare const UDP_OPTION_MULTICAST_LOOP_V4: 3;
|
|
43
|
+
declare const UDP_OPTION_MULTICAST_LOOP_V6: 4;
|
|
44
|
+
declare const UDP_OPTION_ADD_MEMBERSHIP_V4: 5;
|
|
45
|
+
declare const UDP_OPTION_DROP_MEMBERSHIP_V4: 6;
|
|
46
|
+
declare const UDP_OPTION_ADD_MEMBERSHIP_V6: 7;
|
|
47
|
+
declare const UDP_OPTION_DROP_MEMBERSHIP_V6: 8;
|
|
48
|
+
declare const UDP_OPTION_SEND_BUFFER_SIZE: 9;
|
|
49
|
+
declare const UDP_OPTION_RECV_BUFFER_SIZE: 10;
|
|
50
|
+
type UdpSocketOption = {
|
|
51
|
+
type: typeof UDP_OPTION_BROADCAST;
|
|
52
|
+
value: boolean;
|
|
53
|
+
} | {
|
|
54
|
+
type: typeof UDP_OPTION_TTL;
|
|
55
|
+
value: number;
|
|
56
|
+
} | {
|
|
57
|
+
type: typeof UDP_OPTION_MULTICAST_TTL_V4;
|
|
58
|
+
value: number;
|
|
59
|
+
} | {
|
|
60
|
+
type: typeof UDP_OPTION_MULTICAST_LOOP_V4;
|
|
61
|
+
value: boolean;
|
|
62
|
+
} | {
|
|
63
|
+
type: typeof UDP_OPTION_MULTICAST_LOOP_V6;
|
|
64
|
+
value: boolean;
|
|
65
|
+
} | {
|
|
66
|
+
type: typeof UDP_OPTION_ADD_MEMBERSHIP_V4;
|
|
67
|
+
group: Uint8Array;
|
|
68
|
+
interface: Uint8Array;
|
|
69
|
+
} | {
|
|
70
|
+
type: typeof UDP_OPTION_DROP_MEMBERSHIP_V4;
|
|
71
|
+
group: Uint8Array;
|
|
72
|
+
interface: Uint8Array;
|
|
73
|
+
} | {
|
|
74
|
+
type: typeof UDP_OPTION_ADD_MEMBERSHIP_V6;
|
|
75
|
+
group: Uint8Array;
|
|
76
|
+
ifIndex: number;
|
|
77
|
+
} | {
|
|
78
|
+
type: typeof UDP_OPTION_DROP_MEMBERSHIP_V6;
|
|
79
|
+
group: Uint8Array;
|
|
80
|
+
ifIndex: number;
|
|
81
|
+
} | {
|
|
82
|
+
type: typeof UDP_OPTION_SEND_BUFFER_SIZE;
|
|
83
|
+
value: number;
|
|
84
|
+
} | {
|
|
85
|
+
type: typeof UDP_OPTION_RECV_BUFFER_SIZE;
|
|
86
|
+
value: number;
|
|
87
|
+
};
|
|
88
|
+
declare const parseServerMetadataUdpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
89
|
+
_type: "ServerMetadataUdpSetOptionAckPacket";
|
|
90
|
+
offset: number;
|
|
91
|
+
id: number;
|
|
92
|
+
socketId: number;
|
|
93
|
+
errorLength: number;
|
|
94
|
+
error: string;
|
|
95
|
+
};
|
|
96
|
+
type ServerMetadataUdpSetOptionAckPacket = ReturnType<typeof parseServerMetadataUdpSetOptionAckPacket>;
|
|
97
|
+
|
|
98
|
+
declare const parseServerMetadataTcpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
99
|
+
readonly _type: "ServerMetadataTcpSocketConnectedPacket";
|
|
100
|
+
readonly offset: number;
|
|
101
|
+
readonly id: number;
|
|
102
|
+
readonly socketId: number;
|
|
103
|
+
readonly localAddressType: 0 | 1;
|
|
104
|
+
readonly localAddress: ip_address.Address4 | ip_address.Address6;
|
|
105
|
+
readonly localPort: number;
|
|
106
|
+
readonly remoteAddressType: 0 | 1;
|
|
107
|
+
readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
|
|
108
|
+
readonly remotePort: number;
|
|
109
|
+
readonly errorLength: number;
|
|
110
|
+
readonly error: string;
|
|
111
|
+
};
|
|
112
|
+
type ServerMetadataTcpSocketConnectedPacket = ReturnType<typeof parseServerMetadataTcpSocketConnectedPacket>;
|
|
113
|
+
declare const parseServerMetadataTcpSocketShutdownPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
114
|
+
readonly _type: "ServerMetadataTcpSocketShutdownPacket";
|
|
115
|
+
readonly offset: number;
|
|
116
|
+
readonly id: number;
|
|
117
|
+
readonly socketId: number;
|
|
118
|
+
};
|
|
119
|
+
type ServerMetadataTcpSocketShutdownPacket = ReturnType<typeof parseServerMetadataTcpSocketShutdownPacket>;
|
|
120
|
+
declare const TCP_OPTION_NODELAY: 0;
|
|
121
|
+
declare const TCP_OPTION_TTL: 1;
|
|
122
|
+
declare const TCP_OPTION_KEEPALIVE: 2;
|
|
123
|
+
declare const TCP_OPTION_SEND_BUFFER_SIZE: 3;
|
|
124
|
+
declare const TCP_OPTION_RECV_BUFFER_SIZE: 4;
|
|
125
|
+
type TcpSocketOption = {
|
|
126
|
+
type: typeof TCP_OPTION_NODELAY;
|
|
127
|
+
value: boolean;
|
|
128
|
+
} | {
|
|
129
|
+
type: typeof TCP_OPTION_TTL;
|
|
130
|
+
value: number;
|
|
131
|
+
} | {
|
|
132
|
+
type: typeof TCP_OPTION_KEEPALIVE;
|
|
133
|
+
enabled: boolean;
|
|
134
|
+
initialDelaySeconds: number;
|
|
135
|
+
} | {
|
|
136
|
+
type: typeof TCP_OPTION_SEND_BUFFER_SIZE;
|
|
137
|
+
value: number;
|
|
138
|
+
} | {
|
|
139
|
+
type: typeof TCP_OPTION_RECV_BUFFER_SIZE;
|
|
140
|
+
value: number;
|
|
141
|
+
};
|
|
142
|
+
declare const parseServerMetadataTcpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
143
|
+
_type: "ServerMetadataTcpSetOptionAckPacket";
|
|
144
|
+
offset: number;
|
|
145
|
+
id: number;
|
|
146
|
+
socketId: number;
|
|
147
|
+
errorLength: number;
|
|
148
|
+
error: string;
|
|
149
|
+
};
|
|
150
|
+
type ServerMetadataTcpSetOptionAckPacket = ReturnType<typeof parseServerMetadataTcpSetOptionAckPacket>;
|
|
151
|
+
|
|
152
|
+
declare const parseServerMetadataTcpSocketListenerBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
153
|
+
readonly _type: "ServerMetadataTcpSocketListenerBoundPacket";
|
|
154
|
+
readonly offset: number;
|
|
155
|
+
readonly id: number;
|
|
156
|
+
readonly socketId: number;
|
|
157
|
+
readonly localAddressType: 0 | 1;
|
|
158
|
+
readonly localAddress: ip_address.Address4 | ip_address.Address6;
|
|
159
|
+
readonly localPort: number;
|
|
160
|
+
readonly errorLength: number;
|
|
161
|
+
readonly error: string;
|
|
162
|
+
};
|
|
163
|
+
type ServerMetadataTcpSocketListenerBoundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerBoundPacket>;
|
|
164
|
+
declare const parseServerMetadataTcpSocketListenerUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
165
|
+
readonly _type: "ServerMetadataTcpSocketListenerUnboundPacket";
|
|
166
|
+
readonly offset: number;
|
|
167
|
+
readonly id: number;
|
|
168
|
+
readonly socketId: number;
|
|
169
|
+
};
|
|
170
|
+
type ServerMetadataTcpSocketListenerUnboundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerUnboundPacket>;
|
|
171
|
+
|
|
172
|
+
declare const parseServerMetadataHeaderPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
|
|
173
|
+
readonly _type: "ServerMetadataHeaderPacket";
|
|
174
|
+
readonly offset: number;
|
|
175
|
+
readonly agentLength: number;
|
|
176
|
+
readonly agent: string;
|
|
177
|
+
readonly versionLength: number;
|
|
178
|
+
readonly version: string;
|
|
179
|
+
};
|
|
180
|
+
type ServerMetadataHeaderPacket = ReturnType<typeof parseServerMetadataHeaderPacket>;
|
|
181
|
+
type ServerMetadataPacket = ServerMetadataHeaderPacket | ServerMetadataTcpSocketConnectedPacket | ServerMetadataTcpSocketShutdownPacket | ServerMetadataTcpSocketListenerBoundPacket | ServerMetadataTcpSocketListenerUnboundPacket | ServerMetadataUdpSocketBoundPacket | ServerMetadataUdpSocketUnboundPacket | ServerMetadataUdpSocketConnectedPacket | ServerMetadataTcpSetOptionAckPacket | ServerMetadataUdpSetOptionAckPacket;
|
|
182
|
+
|
|
183
|
+
type BidirectionalStreams = {
|
|
184
|
+
readable: ReadableStream<Uint8Array>;
|
|
185
|
+
writable: WritableStream<Uint8Array>;
|
|
186
|
+
};
|
|
187
|
+
declare const makeWebVPNWebTransport: () => Promise<{
|
|
188
|
+
webtransport: WebTransport;
|
|
189
|
+
isClosed: () => boolean;
|
|
190
|
+
getNewPacketId: () => number;
|
|
191
|
+
getTcpDataReadableStreamForSocketId: (socketId: number, options?: {
|
|
192
|
+
signal?: AbortSignal;
|
|
193
|
+
}) => Promise<BidirectionalStreams>;
|
|
194
|
+
getUdpDataReadableStreamForSocketId: (socketId: number) => ReadableStream<{
|
|
195
|
+
readonly _type: "ServerUdpDataPacket";
|
|
196
|
+
readonly offset: number;
|
|
197
|
+
readonly socketId: number;
|
|
198
|
+
readonly remoteAddressType: 0 | 1 | 2;
|
|
199
|
+
readonly remoteAddress: Address4 | Address6 | undefined;
|
|
200
|
+
readonly remotePort: number | undefined;
|
|
201
|
+
readonly dataLength: number;
|
|
202
|
+
readonly data: ArrayBuffer;
|
|
203
|
+
}>;
|
|
204
|
+
claimUdpRawStream: (socketId: number, sink: (packetBytes: Uint8Array) => void) => void;
|
|
205
|
+
releaseUdpRawStream: (socketId: number) => void;
|
|
206
|
+
getPacketForId: (packetId: number) => Promise<ServerMetadataPacket>;
|
|
207
|
+
getMetadataReadableStreamForSocketId: (socketId: number) => ReadableStream<ServerMetadataPacket>;
|
|
208
|
+
getMetadataReadableStreamForLocalAddress: (address: Address4 | Address6) => ReadableStream<ServerMetadataPacket>;
|
|
209
|
+
getMetadataReadableStreamForLocalPort: (port: number) => ReadableStream<ServerMetadataPacket>;
|
|
210
|
+
getMetadataWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
211
|
+
getDatagramWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
212
|
+
presentRateToken: () => Promise<void>;
|
|
213
|
+
}>;
|
|
214
|
+
type WebVPNWebTransport = Awaited<ReturnType<typeof makeWebVPNWebTransport>>;
|
|
215
|
+
|
|
216
|
+
declare const processTcpSocket: ({ connectedPacket, dataReadableStream, dataWritableStream, metadataReadableStream, metadataWriter, dataStreamAbort, webVpnWebTransport }: {
|
|
217
|
+
connectedPacket: ServerMetadataTcpSocketConnectedPacket;
|
|
218
|
+
dataReadableStream: ReadableStream<Uint8Array>;
|
|
219
|
+
dataWritableStream: WritableStream<Uint8Array>;
|
|
220
|
+
metadataReadableStream: ReadableStream<ServerMetadataPacket>;
|
|
221
|
+
metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
|
|
222
|
+
dataStreamAbort?: AbortController;
|
|
223
|
+
webVpnWebTransport: WebVPNWebTransport;
|
|
224
|
+
}) => Promise<{
|
|
225
|
+
localAddress: string;
|
|
226
|
+
localFamily: "IPv4" | "IPv6";
|
|
227
|
+
localPort: number;
|
|
228
|
+
remoteAddress: string;
|
|
229
|
+
remoteFamily: "IPv4" | "IPv6";
|
|
230
|
+
remotePort: number;
|
|
231
|
+
dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
232
|
+
dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
233
|
+
end: () => Promise<void>;
|
|
234
|
+
destroy: () => Promise<void>;
|
|
235
|
+
destroySoon: () => Promise<void>;
|
|
236
|
+
resetAndDestroy: () => Promise<void>;
|
|
237
|
+
setOption: (option: TcpSocketOption) => Promise<void>;
|
|
238
|
+
}>;
|
|
239
|
+
type TcpSocketResult = Awaited<ReturnType<typeof processTcpSocket>>;
|
|
240
|
+
|
|
241
|
+
type StorageEntry = {
|
|
242
|
+
path: string;
|
|
243
|
+
size: number;
|
|
244
|
+
contentType: string | null;
|
|
245
|
+
updatedAt: string;
|
|
246
|
+
};
|
|
247
|
+
type StorageQuota = {
|
|
248
|
+
usedBytes: number;
|
|
249
|
+
limitBytes: number;
|
|
250
|
+
remaining: number;
|
|
251
|
+
objects: number;
|
|
252
|
+
maxObjects: number;
|
|
253
|
+
};
|
|
254
|
+
type WriteData = Blob | ArrayBuffer | Uint8Array | string;
|
|
255
|
+
|
|
256
|
+
type Account = {
|
|
257
|
+
name: string;
|
|
258
|
+
image: string | null;
|
|
259
|
+
premium: boolean;
|
|
260
|
+
premiumUntil: string | null;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
type AddressLookupResult = {
|
|
264
|
+
address: string;
|
|
265
|
+
family: 0 | 4 | 6;
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
type Quota = {
|
|
269
|
+
overQuota: boolean;
|
|
270
|
+
remaining: number;
|
|
271
|
+
usedBytes: number;
|
|
272
|
+
limitBytes: number;
|
|
273
|
+
premium: boolean;
|
|
274
|
+
bytesPerSecond: number;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
declare const resolvers: {
|
|
278
|
+
readonly cloud: {
|
|
279
|
+
readonly fetch: (input: string | URL | Request, init?: (RequestInit | undefined) & {
|
|
280
|
+
render?: boolean;
|
|
281
|
+
}) => Promise<Response>;
|
|
282
|
+
readonly quota: () => Promise<Quota>;
|
|
283
|
+
readonly dns: {
|
|
284
|
+
readonly lookup: <T extends boolean = false>(hostname: string, options?: {
|
|
285
|
+
all?: T;
|
|
286
|
+
family: 0 | 4 | 6;
|
|
287
|
+
}) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
|
|
288
|
+
};
|
|
289
|
+
readonly fs: {
|
|
290
|
+
readonly available: () => Promise<boolean>;
|
|
291
|
+
readonly list: () => Promise<StorageEntry[]>;
|
|
292
|
+
readonly quota: () => Promise<StorageQuota>;
|
|
293
|
+
readonly readFile: (path: string) => Promise<Blob>;
|
|
294
|
+
readonly writeFile: (path: string, data: WriteData, contentType: string | null) => Promise<void>;
|
|
295
|
+
readonly remove: (path: string) => Promise<void>;
|
|
296
|
+
};
|
|
297
|
+
readonly webvpn: {
|
|
298
|
+
readonly tcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
|
|
299
|
+
remoteAddress: string;
|
|
300
|
+
remotePort: number;
|
|
301
|
+
}) => Promise<{
|
|
302
|
+
localAddress: string;
|
|
303
|
+
localFamily: "IPv4" | "IPv6";
|
|
304
|
+
localPort: number;
|
|
305
|
+
remoteAddress: string;
|
|
306
|
+
remoteFamily: "IPv4" | "IPv6";
|
|
307
|
+
remotePort: number;
|
|
308
|
+
dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
309
|
+
dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
310
|
+
end: () => Promise<void>;
|
|
311
|
+
destroy: () => Promise<void>;
|
|
312
|
+
destroySoon: () => Promise<void>;
|
|
313
|
+
resetAndDestroy: () => Promise<void>;
|
|
314
|
+
setOption: (option: TcpSocketOption) => Promise<void>;
|
|
315
|
+
}>;
|
|
316
|
+
readonly tcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
|
|
317
|
+
localAddress: string;
|
|
318
|
+
localPort: number;
|
|
319
|
+
onConnection: (connection: TcpSocketResult) => void;
|
|
320
|
+
}) => Promise<{
|
|
321
|
+
localAddress: string;
|
|
322
|
+
localFamily: "IPv4" | "IPv6";
|
|
323
|
+
localPort: number;
|
|
324
|
+
close: () => Promise<void>;
|
|
325
|
+
}>;
|
|
326
|
+
readonly udpSocket: ({ type, port, address, dataPort }: {
|
|
327
|
+
type: "udp4" | "udp6";
|
|
328
|
+
port: number;
|
|
329
|
+
address: string;
|
|
330
|
+
dataPort?: boolean;
|
|
331
|
+
}) => Promise<{
|
|
332
|
+
socketId: number;
|
|
333
|
+
dataPort: MessagePort | undefined;
|
|
334
|
+
localAddress: string;
|
|
335
|
+
localFamily: "IPv4" | "IPv6";
|
|
336
|
+
localPort: number;
|
|
337
|
+
dataReadableStream: ReadableStream<{
|
|
338
|
+
data: ArrayBuffer;
|
|
339
|
+
size: number;
|
|
340
|
+
family: "IPv4" | "IPv6";
|
|
341
|
+
address: string;
|
|
342
|
+
port: number;
|
|
343
|
+
}>;
|
|
344
|
+
connect: ({ remoteAddress: _remoteAddress, remotePort }: {
|
|
345
|
+
remoteAddress: string;
|
|
346
|
+
remotePort: number;
|
|
347
|
+
}) => Promise<void>;
|
|
348
|
+
send: ({ message, address: _remoteAddress, port: remotePort }: {
|
|
349
|
+
message: ArrayBuffer;
|
|
350
|
+
address?: string;
|
|
351
|
+
port?: number;
|
|
352
|
+
}) => Promise<void>;
|
|
353
|
+
close: () => Promise<void>;
|
|
354
|
+
setOption: (option: UdpSocketOption) => Promise<void>;
|
|
355
|
+
}>;
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
readonly overlay: {
|
|
359
|
+
readonly setHost: (push: (state: {
|
|
360
|
+
modal: boolean;
|
|
361
|
+
rects: {
|
|
362
|
+
x: number;
|
|
363
|
+
y: number;
|
|
364
|
+
width: number;
|
|
365
|
+
height: number;
|
|
366
|
+
}[];
|
|
367
|
+
}) => unknown) => void;
|
|
368
|
+
};
|
|
369
|
+
readonly installPrompt: {
|
|
370
|
+
readonly show: (reason?: string) => Promise<void>;
|
|
371
|
+
readonly hide: () => void;
|
|
372
|
+
};
|
|
373
|
+
readonly connect: {
|
|
374
|
+
readonly prompt: (consumerOrigin: string) => Promise<boolean>;
|
|
375
|
+
};
|
|
376
|
+
readonly account: {
|
|
377
|
+
readonly info: () => Promise<Account | null>;
|
|
378
|
+
readonly login: (consumerOrigin: string) => Promise<boolean>;
|
|
379
|
+
readonly logout: () => void;
|
|
380
|
+
readonly onChange: (listener: () => void) => (() => void);
|
|
381
|
+
};
|
|
382
|
+
readonly proxyFetch: (input: string | URL | Request, init?: (RequestInit | undefined) & {
|
|
383
|
+
render?: boolean;
|
|
384
|
+
}) => Promise<Response>;
|
|
385
|
+
readonly webVpnTcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
|
|
386
|
+
remoteAddress: string;
|
|
387
|
+
remotePort: number;
|
|
388
|
+
}) => Promise<{
|
|
389
|
+
localAddress: string;
|
|
390
|
+
localFamily: "IPv4" | "IPv6";
|
|
391
|
+
localPort: number;
|
|
392
|
+
remoteAddress: string;
|
|
393
|
+
remoteFamily: "IPv4" | "IPv6";
|
|
394
|
+
remotePort: number;
|
|
395
|
+
dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
396
|
+
dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
397
|
+
end: () => Promise<void>;
|
|
398
|
+
destroy: () => Promise<void>;
|
|
399
|
+
destroySoon: () => Promise<void>;
|
|
400
|
+
resetAndDestroy: () => Promise<void>;
|
|
401
|
+
setOption: (option: TcpSocketOption) => Promise<void>;
|
|
402
|
+
}>;
|
|
403
|
+
readonly webVpnTcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
|
|
404
|
+
localAddress: string;
|
|
405
|
+
localPort: number;
|
|
406
|
+
onConnection: (connection: TcpSocketResult) => void;
|
|
407
|
+
}) => Promise<{
|
|
408
|
+
localAddress: string;
|
|
409
|
+
localFamily: "IPv4" | "IPv6";
|
|
410
|
+
localPort: number;
|
|
411
|
+
close: () => Promise<void>;
|
|
412
|
+
}>;
|
|
413
|
+
readonly webVpnUdpSocket: ({ type, port, address, dataPort }: {
|
|
414
|
+
type: "udp4" | "udp6";
|
|
415
|
+
port: number;
|
|
416
|
+
address: string;
|
|
417
|
+
dataPort?: boolean;
|
|
418
|
+
}) => Promise<{
|
|
419
|
+
socketId: number;
|
|
420
|
+
dataPort: MessagePort | undefined;
|
|
421
|
+
localAddress: string;
|
|
422
|
+
localFamily: "IPv4" | "IPv6";
|
|
423
|
+
localPort: number;
|
|
424
|
+
dataReadableStream: ReadableStream<{
|
|
425
|
+
data: ArrayBuffer;
|
|
426
|
+
size: number;
|
|
427
|
+
family: "IPv4" | "IPv6";
|
|
428
|
+
address: string;
|
|
429
|
+
port: number;
|
|
430
|
+
}>;
|
|
431
|
+
connect: ({ remoteAddress: _remoteAddress, remotePort }: {
|
|
432
|
+
remoteAddress: string;
|
|
433
|
+
remotePort: number;
|
|
434
|
+
}) => Promise<void>;
|
|
435
|
+
send: ({ message, address: _remoteAddress, port: remotePort }: {
|
|
436
|
+
message: ArrayBuffer;
|
|
437
|
+
address?: string;
|
|
438
|
+
port?: number;
|
|
439
|
+
}) => Promise<void>;
|
|
440
|
+
close: () => Promise<void>;
|
|
441
|
+
setOption: (option: UdpSocketOption) => Promise<void>;
|
|
442
|
+
}>;
|
|
443
|
+
readonly dnsLookup: <T extends boolean = false>(hostname: string, options?: {
|
|
444
|
+
all?: T;
|
|
445
|
+
family: 0 | 4 | 6;
|
|
446
|
+
}) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
|
|
447
|
+
readonly setOverlayHost: (push: (state: {
|
|
448
|
+
modal: boolean;
|
|
449
|
+
rects: {
|
|
450
|
+
x: number;
|
|
451
|
+
y: number;
|
|
452
|
+
width: number;
|
|
453
|
+
height: number;
|
|
454
|
+
}[];
|
|
455
|
+
}) => unknown) => void;
|
|
456
|
+
readonly showInstallPrompt: (reason?: string) => Promise<void>;
|
|
457
|
+
readonly hideInstallPrompt: () => void;
|
|
458
|
+
};
|
|
459
|
+
type Resolvers = typeof resolvers;
|
|
460
|
+
|
|
461
|
+
type WebVpnUdpSocket = Resolvers['cloud']['webvpn']['udpSocket'];
|
|
462
|
+
interface EventEmitterOptions {
|
|
463
|
+
/**
|
|
464
|
+
* Enables automatic capturing of promise rejection.
|
|
465
|
+
*/
|
|
466
|
+
captureRejections?: boolean | undefined;
|
|
467
|
+
}
|
|
468
|
+
declare class Socket extends EventEmitter implements Socket$1 {
|
|
469
|
+
_type: 'udp4' | 'udp6';
|
|
470
|
+
_localAddress?: {
|
|
471
|
+
address: string;
|
|
472
|
+
family: string;
|
|
473
|
+
port: number;
|
|
474
|
+
};
|
|
475
|
+
_remoteAddress?: {
|
|
476
|
+
address: string;
|
|
477
|
+
family: string;
|
|
478
|
+
port: number;
|
|
479
|
+
};
|
|
480
|
+
_webVPNUdpSocketPromise?: Promise<Awaited<ReturnType<WebVpnUdpSocket>> | undefined>;
|
|
481
|
+
_dataPort?: MessagePort;
|
|
482
|
+
_socketId?: number;
|
|
483
|
+
_sendQueue: Uint8Array[];
|
|
484
|
+
_sendQueueBytes: number;
|
|
485
|
+
_sendFlushScheduled: boolean;
|
|
486
|
+
_peerTailCache: Map<string, Uint8Array<ArrayBufferLike>>;
|
|
487
|
+
constructor(options: SocketOptions & EventEmitterOptions & {
|
|
488
|
+
connection?: ReturnType<WebVpnUdpSocket>;
|
|
489
|
+
});
|
|
490
|
+
_lastRecvBufferSize: number;
|
|
491
|
+
_lastSendBufferSize: number;
|
|
492
|
+
_lastTtl: number;
|
|
493
|
+
_lastMulticastTtl: number;
|
|
494
|
+
_lastMulticastLoopback: boolean;
|
|
495
|
+
_setUdpOption(option: UdpSocketOption): void;
|
|
496
|
+
_onDataPortBatch(buffer: ArrayBuffer): void;
|
|
497
|
+
_peerTail(address: string | undefined, port: number | undefined): Uint8Array;
|
|
498
|
+
_portSend(message: Uint8Array, address: string | undefined, port: number | undefined): void;
|
|
499
|
+
addMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
|
|
500
|
+
address(): AddressInfo;
|
|
501
|
+
bind(port?: number | undefined, address?: string | undefined, callback?: (() => void) | undefined): this;
|
|
502
|
+
bind(port?: number | undefined, callback?: (() => void) | undefined): this;
|
|
503
|
+
bind(callback?: (() => void) | undefined): this;
|
|
504
|
+
bind(options: BindOptions, callback?: (() => void) | undefined): this;
|
|
505
|
+
close(callback?: (() => void) | undefined): this;
|
|
506
|
+
connect(port: number, address?: string, callback?: () => void): void;
|
|
507
|
+
connect(port: number, callback: () => void): void;
|
|
508
|
+
disconnect(): void;
|
|
509
|
+
dropMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
|
|
510
|
+
getRecvBufferSize(): number;
|
|
511
|
+
getSendBufferSize(): number;
|
|
512
|
+
getSendQueueSize(): number;
|
|
513
|
+
getSendQueueCount(): number;
|
|
514
|
+
ref(): this;
|
|
515
|
+
remoteAddress(): AddressInfo;
|
|
516
|
+
send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
517
|
+
send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
518
|
+
send(msg: string | readonly any[] | Uint8Array, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
519
|
+
send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
520
|
+
send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
521
|
+
send(msg: string | Uint8Array, offset: number, length: number, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
|
|
522
|
+
send(msg: unknown, offset?: unknown, length?: unknown, port?: unknown, address?: unknown, callback?: unknown): void;
|
|
523
|
+
setBroadcast(flag: boolean): void;
|
|
524
|
+
setMulticastInterface(multicastInterface: string): void;
|
|
525
|
+
setMulticastLoopback(flag: boolean): boolean;
|
|
526
|
+
setMulticastTTL(ttl: number): number;
|
|
527
|
+
setRecvBufferSize(size: number): void;
|
|
528
|
+
setSendBufferSize(size: number): void;
|
|
529
|
+
setTTL(ttl: number): number;
|
|
530
|
+
unref(): this;
|
|
531
|
+
addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
|
|
532
|
+
dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
|
|
533
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
534
|
+
}
|
|
535
|
+
declare const createSocket: (options: SocketType | SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void) => Socket;
|
|
536
|
+
|
|
537
|
+
export { Socket, createSocket };
|
package/dgram.js
ADDED
package/dns.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-B6C_zzib.cjs`),t=require(`./api-CDb2pv7C.cjs`);var n=e.n({lookup:()=>r}),r=(e,n)=>t.t.then(t=>t.cloud.dns.lookup(e,n));exports.lookup=r,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
package/dns.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type AddressLookupResult = {
|
|
2
|
+
address: string;
|
|
3
|
+
family: 0 | 4 | 6;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
declare const lookup: <T extends boolean = false>(hostname: string, options?: {
|
|
7
|
+
all?: T;
|
|
8
|
+
family: 0 | 4 | 6;
|
|
9
|
+
}) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
|
|
10
|
+
|
|
11
|
+
export { lookup };
|
|
12
|
+
export type { AddressLookupResult };
|
package/dns.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./chunk-B6C_zzib.cjs`),t=require(`./locator-Cf7M3QKN.cjs`),n=require(`./api-CDb2pv7C.cjs`),r=require(`./proxy-A9UvWUaF.cjs`),i=require(`./desktop.cjs`);let a=require(`osra`);var o=`FKN_WEB_EXTENSION_MAIN_WORLD_CONTENT_SCRIPT_ENABLED_EVENT_KEY`,s=`fknExtension`,c=(0,a.createTypedEventTarget)();typeof document<`u`&&document.addEventListener(o,()=>{c.dispatchEvent(new CustomEvent(`statuschange`,{detail:{enabled:l()}}))});var l=()=>typeof document>`u`?!1:document.documentElement.dataset[s]===`true`,u=null,d=e=>{u=e},f=150,p=(e=1e3)=>new Promise((t,n)=>{if(l())return t();let r,i=e=>{clearTimeout(r),s.disconnect(),document.removeEventListener(`readystatechange`,c),e()},a=()=>i(async()=>{if(u&&(await u().catch(()=>{}),l()))return t();n(Error(`The FKN WebExtension is not installed, enabled or not exposed on this page.`))}),o=()=>{clearTimeout(r),r=setTimeout(()=>l()?i(t):a(),f)},s=new MutationObserver(()=>{l()&&i(t)}),c=()=>{document.readyState===`complete`&&!l()&&o()};if(r=setTimeout(a,e),s.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,c),document.readyState===`complete`)return o();l()&&i(t)}),m,h=new Proxy({},{get:(e,n)=>async(...e)=>{await p(),m??=(0,a.expose)({},{transport:window,revivableModules:t.l});let r=(await m)[n];return r(...e)}}),g={scope:`network.fetch`,category:`network`,severity:0,title:`Fetch data from other sites`,description:`Lets the app download public data from other websites directly, past the usual cross-origin limits.`},_={scope:`network.fetchCredentialed`,category:`network`,severity:3,unsafe:!0,title:`Fetch from other sites, signed in as you`,description:`Lets the app fetch other sites using your logged-in session cookies, so it can read data only you should see.`},v={scope:`network.fetchLocal`,category:`network`,severity:3,unsafe:!0,title:`Access devices on your local network`,description:`Lets the app reach devices and services on your home or work network, which websites normally cannot touch.`},y=e=>{let t=e.match(/^(\d+)\.(\d+)\.\d+\.\d+$/);if(!t)return!1;let[n,r]=[Number(t[1]),Number(t[2])];return n===10||n===127||n===0||n===169&&r===254||n===172&&r>=16&&r<=31||n===192&&r===168},b=e=>{let t;try{t=new URL(e)}catch{return!1}let n=t.hostname.replace(/^\[|\]$/g,``).toLowerCase().replace(/\.$/,``);return n===`localhost`||n.endsWith(`.localhost`)||n.endsWith(`.local`)||n.endsWith(`.internal`)||n.endsWith(`.home.arpa`)?!0:n.includes(`:`)?n===`::`||n===`::1`||n.startsWith(`fc`)||n.startsWith(`fd`)||/^fe[89ab]/.test(n)||n.startsWith(`::ffff:`):y(n)},x=[`fkn.app`,`fkn.dev`],S=e=>{let t;try{t=new URL(e)}catch{return!1}if(t.protocol===`chrome-extension:`||t.protocol===`moz-extension:`)return!0;let n=t.hostname;return x.some(e=>n===e||n.endsWith(`.${e}`))},C=e=>{if(S(e))throw Error(`fetch: refusing to target the extension's own pages or FKN platform domains`)},w=[`origin`,`referer`],T=e=>{if(!e?.headers)return;let t=new Headers(e.headers),n=w.map(e=>{let n=t.get(e);return n===null?void 0:[e,n]}).filter(e=>e!==void 0);return n.length?n:void 0},E=async(e,t)=>{let n=new Request(e,t);C(n.url);let r=n.body?await n.arrayBuffer():null;return h.proxyFetch({url:n.url,method:n.method,headers:[...n.headers],body:r,credentials:t?.credentials===`include`?`include`:`omit`,redirect:n.redirect,unsafeHeaders:T(t),reason:t?.reason,signal:t?.signal??void 0})},D={scope:`network.readCookie`,category:`network`,severity:3,unsafe:!0,title:`Read a site’s cookie`,description:`Lets the app read a named cookie from another site, which can include the login token only that site should see.`},O={get:e=>h.getCookie(e)},k={scope:`network.modifyRequestHeaders`,category:`network`,severity:2,unsafe:!0,title:`Rewrite request headers to other sites`,description:`Lets the app set or remove headers (like Origin and Referer) on this page’s own requests to the listed sites.`},A=e=>h.setRequestHeaderRule(e),j=e=>h.removeRequestHeaderRule({ruleId:e});(()=>{let e={},n=[...t.t.selectorModules,...t.i.selectorModules];for(let t of n)t.render&&!(t.type in e)&&(e[t.type]=t.render);return e})();var M=`FKN_WEB_EXTENSION_ATTACH_FRAME_EVENT_KEY`,N=e=>{if(!e||e===`about:blank`)return!1;let t;try{t=new URL(e,location.href)}catch{return!1}if(t.protocol===`chrome-extension:`||t.protocol===`moz-extension:`)return!0;if(t.protocol===`about:`)return!1;let n=t.hostname;return n===`fkn.app`||n.endsWith(`.fkn.app`)},P=e=>{if(N(e))throw Error(`attachFrame: refusing to target the extension's own pages or fkn.app`)},F={scope:`embed.iframe`,category:`embed`,severity:0,title:`Load another website inside this app`,description:`Lets the app embed external pages directly inside its own view.`},I={scope:`embed.open`,category:`embed`,severity:0,title:`Open a website inside this app`,description:`Lets the app navigate to another site without leaving its window.`},L={scope:`embed.evaluate`,category:`embed`,severity:0,title:`Run app code inside an embedded frame`,description:`Lets the app execute its own code inside a page it embedded, to read back a computed result.`},R=async({iframe:e,domains:n=[],syncCookies:r=!0,lockdown:i=!1})=>{let a=crypto.randomUUID();if(P(e.src),await p(),!e.isConnected)throw Error(`attachFrame: the iframe must be connected to the document before attaching`);e.dispatchEvent(new CustomEvent(M,{detail:a}));let{executeLocator:o,ensureLocatorPermission:s,goto:c,evaluate:l}=await h.attachFrame({marker:a,domains:n,syncCookies:r,lockdown:i}),u=t.r(o,s),d=(e,t={})=>(P(e),c({url:e,...t})),f=((e,t)=>l(e,t)),m=()=>e.src;return{...u,goto:d,evaluate:f,url:m}},z={request:e=>h.requestPermissions(e.map(e=>({key:e.key,scope:e.scope??``,reason:e.reason})))},B=async e=>{if(typeof window>`u`)return!1;if(l())return!0;let t=await n.t,r=null,i=new Promise(e=>{r=()=>{l()&&e(!0)},c.addEventListener(`statuschange`,r)}),a=t.installPrompt.show(e).then(()=>!1),o=await Promise.race([i,a]);return r&&c.removeEventListener(`statuschange`,r),await t.installPrompt.hide().catch(()=>{}),o},V=null;d(()=>(V||=B().then(()=>void 0).finally(()=>{V=null}),V));var H=()=>typeof document<`u`&&l(),U=async(e,t)=>{if(r.n(e),t?.credentials===`include`){if(typeof document>`u`)throw Error(`fetch with credentials needs the FKN extension, which only exists in window realms`);return E(e,t)}return H()?E(e,{...t,credentials:`omit`}):i.available()?i.fetch(e,t):r.t(e,t)},W=e.n({ATTACH_FRAME_EVENT_KEY:()=>M,assertAttachableFrameUrl:()=>P,assertFetchableUrl:()=>C,attachFrame:()=>R,attachFramePermission:()=>F,available:()=>H,box:()=>t.u,cookies:()=>O,createVideoElementHandle:()=>t.d,evaluatePermission:()=>L,events:()=>c,extension:()=>c,fetch:()=>E,fetchCredentialedPermission:()=>_,fetchLocalPermission:()=>v,fetchPermission:()=>g,gotoPermission:()=>I,handleRevivableModules:()=>t.l,isBlockedFetchUrl:()=>S,isBlockedFrameUrl:()=>N,isExtensionExposed:()=>l,isLocalNetworkUrl:()=>b,isType:()=>t.f,modifyRequestHeadersPermission:()=>k,permissions:()=>z,promptInstall:()=>B,readCookiePermission:()=>D,removeRequestHeaderRule:()=>j,revive:()=>t.p,setMissingExtensionHandler:()=>d,setRequestHeaderRule:()=>A,type:()=>t.m,waitForExtensionExposure:()=>p});Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return E}});
|