@fkn/lib 0.4.9 → 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.
Files changed (88) hide show
  1. package/account.cjs +1 -0
  2. package/account.d.ts +17 -0
  3. package/account.js +28 -0
  4. package/api-ByfayMm1.js +67 -0
  5. package/api-CDb2pv7C.cjs +1 -0
  6. package/background-Dk_vaVP1.cjs +1 -0
  7. package/{background-CTsVv_a0.js → background-TtzKw6g0.js} +5 -4
  8. package/chunk-B6C_zzib.cjs +1 -0
  9. package/chunk-CPXzm0be.js +11 -0
  10. package/cloud/dgram.cjs +1 -0
  11. package/cloud/dgram.d.ts +537 -0
  12. package/cloud/dgram.js +4 -0
  13. package/cloud/dns.cjs +1 -0
  14. package/cloud/dns.d.ts +12 -0
  15. package/cloud/dns.js +3 -0
  16. package/cloud/fs/promises.cjs +1 -0
  17. package/cloud/fs/promises.d.ts +45 -0
  18. package/cloud/fs/promises.js +8 -0
  19. package/cloud/fs.cjs +1 -0
  20. package/cloud/fs.d.ts +75 -0
  21. package/cloud/fs.js +20 -0
  22. package/cloud/http.cjs +1 -0
  23. package/cloud/http.d.ts +767 -0
  24. package/cloud/http.js +5 -0
  25. package/cloud/net.cjs +1 -0
  26. package/cloud/net.d.ts +606 -0
  27. package/cloud/net.js +4 -0
  28. package/cloud-BVnscun4.js +33 -0
  29. package/cloud-DTL2B5pW.cjs +1 -0
  30. package/cloud.cjs +1 -0
  31. package/cloud.d.ts +1048 -0
  32. package/cloud.js +12 -0
  33. package/desktop.cjs +1 -0
  34. package/desktop.d.ts +49 -0
  35. package/desktop.js +51 -0
  36. package/dgram-5YUb70O2.js +326 -0
  37. package/dgram-Cdi6Y7zJ.cjs +1 -0
  38. package/dgram.cjs +1 -0
  39. package/dgram.d.ts +537 -0
  40. package/dgram.js +4 -0
  41. package/dns.cjs +1 -0
  42. package/dns.d.ts +12 -0
  43. package/dns.js +6 -0
  44. package/extension-9Uv_0HdS.cjs +1 -0
  45. package/extension-Dgz0UTy0.js +245 -0
  46. package/extension.cjs +1 -0
  47. package/extension.d.ts +853 -0
  48. package/extension.js +5 -0
  49. package/fs/promises.cjs +1 -0
  50. package/fs/promises.d.ts +46 -0
  51. package/fs/promises.js +8 -0
  52. package/fs-B7JumDCn.js +78 -0
  53. package/fs-DrwvwtqC.cjs +1 -0
  54. package/fs.cjs +1 -0
  55. package/fs.d.ts +84 -0
  56. package/fs.js +5 -0
  57. package/http.cjs +9 -0
  58. package/http.d.ts +767 -0
  59. package/http.js +541 -0
  60. package/index.cjs +1 -9
  61. package/index.d.ts +197 -140
  62. package/index.js +27 -1879
  63. package/locator-Cf7M3QKN.cjs +53 -0
  64. package/{locator-Q5m8i40Z.js → locator-DxAsGV_o.js} +331 -337
  65. package/net-Bl6_W3bd.js +275 -0
  66. package/net-C5kWnI4C.cjs +1 -0
  67. package/net.cjs +1 -0
  68. package/net.d.ts +606 -0
  69. package/net.js +4 -0
  70. package/node-fs-Bd_UUx1m.js +361 -0
  71. package/node-fs-lrlD_zqB.cjs +1 -0
  72. package/opfs/promises.cjs +1 -0
  73. package/opfs/promises.d.ts +46 -0
  74. package/opfs/promises.js +6 -0
  75. package/opfs-BfcYLPGb.js +55 -0
  76. package/opfs-Dsi4FkJU.cjs +1 -0
  77. package/opfs.cjs +1 -0
  78. package/opfs.d.ts +83 -0
  79. package/opfs.js +35 -0
  80. package/package.json +91 -1
  81. package/proxy-A9UvWUaF.cjs +1 -0
  82. package/proxy-wiZN4eTR.js +14 -0
  83. package/storage-BadvHtv0.cjs +1 -0
  84. package/storage-z0q3iena.js +13 -0
  85. package/utils-BsNRWMfl.cjs +1 -0
  86. package/utils-CNydj3OT.js +52 -0
  87. package/background-BqRFQggD.cjs +0 -1
  88. package/locator-Cjl21Nkt.cjs +0 -53
package/cloud.d.ts ADDED
@@ -0,0 +1,1048 @@
1
+ import * as ip_address from 'ip-address';
2
+ import { Address4, Address6 } from 'ip-address';
3
+ import * as node_fs from 'node:fs';
4
+ import { Socket as Socket$2, SocketConstructorOpts, SocketConnectOpts, AddressInfo, Server as Server$2, ServerOpts, ListenOptions } from 'net';
5
+ import { Stream, DuplexOptions } from 'stream';
6
+ import { EventEmitter } from 'events';
7
+ import { Socket as Socket$3, SocketOptions, BindOptions, SocketType, RemoteInfo } from 'dgram';
8
+ import { Buffer as Buffer$1 } from 'buffer';
9
+ import { OutgoingHttpHeaders, IncomingHttpHeaders, RequestOptions } from 'http';
10
+
11
+ declare const parseServerMetadataUdpSocketBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
12
+ readonly _type: "ServerMetadataUdpSocketBoundPacket";
13
+ readonly offset: number;
14
+ readonly id: number;
15
+ readonly socketId: number;
16
+ readonly localAddressType: 0 | 1;
17
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
18
+ readonly localPort: number;
19
+ readonly errorLength: number;
20
+ readonly error: string;
21
+ };
22
+ type ServerMetadataUdpSocketBoundPacket = ReturnType<typeof parseServerMetadataUdpSocketBoundPacket>;
23
+ declare const parseServerMetadataUdpSocketUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
24
+ readonly _type: "ServerMetadataUdpSocketUnboundPacket";
25
+ readonly offset: number;
26
+ readonly id: number;
27
+ readonly socketId: number;
28
+ };
29
+ type ServerMetadataUdpSocketUnboundPacket = ReturnType<typeof parseServerMetadataUdpSocketUnboundPacket>;
30
+ declare const parseServerMetadataUdpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
31
+ readonly _type: "ServerMetadataUdpSocketConnectedPacket";
32
+ readonly offset: number;
33
+ readonly id: number;
34
+ readonly socketId: number;
35
+ readonly remoteAddressType: 0 | 1;
36
+ readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
37
+ readonly remotePort: number;
38
+ readonly errorLength: number;
39
+ readonly error: string;
40
+ };
41
+ type ServerMetadataUdpSocketConnectedPacket = ReturnType<typeof parseServerMetadataUdpSocketConnectedPacket>;
42
+ declare const UDP_OPTION_BROADCAST: 0;
43
+ declare const UDP_OPTION_TTL: 1;
44
+ declare const UDP_OPTION_MULTICAST_TTL_V4: 2;
45
+ declare const UDP_OPTION_MULTICAST_LOOP_V4: 3;
46
+ declare const UDP_OPTION_MULTICAST_LOOP_V6: 4;
47
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V4: 5;
48
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V4: 6;
49
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V6: 7;
50
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V6: 8;
51
+ declare const UDP_OPTION_SEND_BUFFER_SIZE: 9;
52
+ declare const UDP_OPTION_RECV_BUFFER_SIZE: 10;
53
+ type UdpSocketOption = {
54
+ type: typeof UDP_OPTION_BROADCAST;
55
+ value: boolean;
56
+ } | {
57
+ type: typeof UDP_OPTION_TTL;
58
+ value: number;
59
+ } | {
60
+ type: typeof UDP_OPTION_MULTICAST_TTL_V4;
61
+ value: number;
62
+ } | {
63
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V4;
64
+ value: boolean;
65
+ } | {
66
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V6;
67
+ value: boolean;
68
+ } | {
69
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V4;
70
+ group: Uint8Array;
71
+ interface: Uint8Array;
72
+ } | {
73
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V4;
74
+ group: Uint8Array;
75
+ interface: Uint8Array;
76
+ } | {
77
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V6;
78
+ group: Uint8Array;
79
+ ifIndex: number;
80
+ } | {
81
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V6;
82
+ group: Uint8Array;
83
+ ifIndex: number;
84
+ } | {
85
+ type: typeof UDP_OPTION_SEND_BUFFER_SIZE;
86
+ value: number;
87
+ } | {
88
+ type: typeof UDP_OPTION_RECV_BUFFER_SIZE;
89
+ value: number;
90
+ };
91
+ declare const parseServerMetadataUdpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
92
+ _type: "ServerMetadataUdpSetOptionAckPacket";
93
+ offset: number;
94
+ id: number;
95
+ socketId: number;
96
+ errorLength: number;
97
+ error: string;
98
+ };
99
+ type ServerMetadataUdpSetOptionAckPacket = ReturnType<typeof parseServerMetadataUdpSetOptionAckPacket>;
100
+
101
+ declare const parseServerMetadataTcpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
102
+ readonly _type: "ServerMetadataTcpSocketConnectedPacket";
103
+ readonly offset: number;
104
+ readonly id: number;
105
+ readonly socketId: number;
106
+ readonly localAddressType: 0 | 1;
107
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
108
+ readonly localPort: number;
109
+ readonly remoteAddressType: 0 | 1;
110
+ readonly remoteAddress: ip_address.Address4 | ip_address.Address6;
111
+ readonly remotePort: number;
112
+ readonly errorLength: number;
113
+ readonly error: string;
114
+ };
115
+ type ServerMetadataTcpSocketConnectedPacket = ReturnType<typeof parseServerMetadataTcpSocketConnectedPacket>;
116
+ declare const parseServerMetadataTcpSocketShutdownPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
117
+ readonly _type: "ServerMetadataTcpSocketShutdownPacket";
118
+ readonly offset: number;
119
+ readonly id: number;
120
+ readonly socketId: number;
121
+ };
122
+ type ServerMetadataTcpSocketShutdownPacket = ReturnType<typeof parseServerMetadataTcpSocketShutdownPacket>;
123
+ declare const TCP_OPTION_NODELAY: 0;
124
+ declare const TCP_OPTION_TTL: 1;
125
+ declare const TCP_OPTION_KEEPALIVE: 2;
126
+ declare const TCP_OPTION_SEND_BUFFER_SIZE: 3;
127
+ declare const TCP_OPTION_RECV_BUFFER_SIZE: 4;
128
+ type TcpSocketOption = {
129
+ type: typeof TCP_OPTION_NODELAY;
130
+ value: boolean;
131
+ } | {
132
+ type: typeof TCP_OPTION_TTL;
133
+ value: number;
134
+ } | {
135
+ type: typeof TCP_OPTION_KEEPALIVE;
136
+ enabled: boolean;
137
+ initialDelaySeconds: number;
138
+ } | {
139
+ type: typeof TCP_OPTION_SEND_BUFFER_SIZE;
140
+ value: number;
141
+ } | {
142
+ type: typeof TCP_OPTION_RECV_BUFFER_SIZE;
143
+ value: number;
144
+ };
145
+ declare const parseServerMetadataTcpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
146
+ _type: "ServerMetadataTcpSetOptionAckPacket";
147
+ offset: number;
148
+ id: number;
149
+ socketId: number;
150
+ errorLength: number;
151
+ error: string;
152
+ };
153
+ type ServerMetadataTcpSetOptionAckPacket = ReturnType<typeof parseServerMetadataTcpSetOptionAckPacket>;
154
+
155
+ declare const parseServerMetadataTcpSocketListenerBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
156
+ readonly _type: "ServerMetadataTcpSocketListenerBoundPacket";
157
+ readonly offset: number;
158
+ readonly id: number;
159
+ readonly socketId: number;
160
+ readonly localAddressType: 0 | 1;
161
+ readonly localAddress: ip_address.Address4 | ip_address.Address6;
162
+ readonly localPort: number;
163
+ readonly errorLength: number;
164
+ readonly error: string;
165
+ };
166
+ type ServerMetadataTcpSocketListenerBoundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerBoundPacket>;
167
+ declare const parseServerMetadataTcpSocketListenerUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
168
+ readonly _type: "ServerMetadataTcpSocketListenerUnboundPacket";
169
+ readonly offset: number;
170
+ readonly id: number;
171
+ readonly socketId: number;
172
+ };
173
+ type ServerMetadataTcpSocketListenerUnboundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerUnboundPacket>;
174
+
175
+ declare const parseServerMetadataHeaderPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
176
+ readonly _type: "ServerMetadataHeaderPacket";
177
+ readonly offset: number;
178
+ readonly agentLength: number;
179
+ readonly agent: string;
180
+ readonly versionLength: number;
181
+ readonly version: string;
182
+ };
183
+ type ServerMetadataHeaderPacket = ReturnType<typeof parseServerMetadataHeaderPacket>;
184
+ type ServerMetadataPacket = ServerMetadataHeaderPacket | ServerMetadataTcpSocketConnectedPacket | ServerMetadataTcpSocketShutdownPacket | ServerMetadataTcpSocketListenerBoundPacket | ServerMetadataTcpSocketListenerUnboundPacket | ServerMetadataUdpSocketBoundPacket | ServerMetadataUdpSocketUnboundPacket | ServerMetadataUdpSocketConnectedPacket | ServerMetadataTcpSetOptionAckPacket | ServerMetadataUdpSetOptionAckPacket;
185
+
186
+ type BidirectionalStreams = {
187
+ readable: ReadableStream<Uint8Array>;
188
+ writable: WritableStream<Uint8Array>;
189
+ };
190
+ declare const makeWebVPNWebTransport: () => Promise<{
191
+ webtransport: WebTransport;
192
+ isClosed: () => boolean;
193
+ getNewPacketId: () => number;
194
+ getTcpDataReadableStreamForSocketId: (socketId: number, options?: {
195
+ signal?: AbortSignal;
196
+ }) => Promise<BidirectionalStreams>;
197
+ getUdpDataReadableStreamForSocketId: (socketId: number) => ReadableStream<{
198
+ readonly _type: "ServerUdpDataPacket";
199
+ readonly offset: number;
200
+ readonly socketId: number;
201
+ readonly remoteAddressType: 0 | 1 | 2;
202
+ readonly remoteAddress: Address4 | Address6 | undefined;
203
+ readonly remotePort: number | undefined;
204
+ readonly dataLength: number;
205
+ readonly data: ArrayBuffer;
206
+ }>;
207
+ claimUdpRawStream: (socketId: number, sink: (packetBytes: Uint8Array) => void) => void;
208
+ releaseUdpRawStream: (socketId: number) => void;
209
+ getPacketForId: (packetId: number) => Promise<ServerMetadataPacket>;
210
+ getMetadataReadableStreamForSocketId: (socketId: number) => ReadableStream<ServerMetadataPacket>;
211
+ getMetadataReadableStreamForLocalAddress: (address: Address4 | Address6) => ReadableStream<ServerMetadataPacket>;
212
+ getMetadataReadableStreamForLocalPort: (port: number) => ReadableStream<ServerMetadataPacket>;
213
+ getMetadataWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
214
+ getDatagramWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
215
+ presentRateToken: () => Promise<void>;
216
+ }>;
217
+ type WebVPNWebTransport = Awaited<ReturnType<typeof makeWebVPNWebTransport>>;
218
+
219
+ declare const processTcpSocket: ({ connectedPacket, dataReadableStream, dataWritableStream, metadataReadableStream, metadataWriter, dataStreamAbort, webVpnWebTransport }: {
220
+ connectedPacket: ServerMetadataTcpSocketConnectedPacket;
221
+ dataReadableStream: ReadableStream<Uint8Array>;
222
+ dataWritableStream: WritableStream<Uint8Array>;
223
+ metadataReadableStream: ReadableStream<ServerMetadataPacket>;
224
+ metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
225
+ dataStreamAbort?: AbortController;
226
+ webVpnWebTransport: WebVPNWebTransport;
227
+ }) => Promise<{
228
+ localAddress: string;
229
+ localFamily: "IPv4" | "IPv6";
230
+ localPort: number;
231
+ remoteAddress: string;
232
+ remoteFamily: "IPv4" | "IPv6";
233
+ remotePort: number;
234
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
235
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
236
+ end: () => Promise<void>;
237
+ destroy: () => Promise<void>;
238
+ destroySoon: () => Promise<void>;
239
+ resetAndDestroy: () => Promise<void>;
240
+ setOption: (option: TcpSocketOption) => Promise<void>;
241
+ }>;
242
+ type TcpSocketResult = Awaited<ReturnType<typeof processTcpSocket>>;
243
+
244
+ type StorageEntry = {
245
+ path: string;
246
+ size: number;
247
+ contentType: string | null;
248
+ updatedAt: string;
249
+ };
250
+ type StorageQuota$1 = {
251
+ usedBytes: number;
252
+ limitBytes: number;
253
+ remaining: number;
254
+ objects: number;
255
+ maxObjects: number;
256
+ };
257
+ type WriteData$1 = Blob | ArrayBuffer | Uint8Array | string;
258
+
259
+ type Account = {
260
+ name: string;
261
+ image: string | null;
262
+ premium: boolean;
263
+ premiumUntil: string | null;
264
+ };
265
+
266
+ type AddressLookupResult = {
267
+ address: string;
268
+ family: 0 | 4 | 6;
269
+ };
270
+
271
+ type Quota = {
272
+ overQuota: boolean;
273
+ remaining: number;
274
+ usedBytes: number;
275
+ limitBytes: number;
276
+ premium: boolean;
277
+ bytesPerSecond: number;
278
+ };
279
+
280
+ declare const resolvers: {
281
+ readonly cloud: {
282
+ readonly fetch: (input: string | URL | Request, init?: (RequestInit | undefined) & {
283
+ render?: boolean;
284
+ }) => Promise<Response>;
285
+ readonly quota: () => Promise<Quota>;
286
+ readonly dns: {
287
+ readonly lookup: <T extends boolean = false>(hostname: string, options?: {
288
+ all?: T;
289
+ family: 0 | 4 | 6;
290
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
291
+ };
292
+ readonly fs: {
293
+ readonly available: () => Promise<boolean>;
294
+ readonly list: () => Promise<StorageEntry[]>;
295
+ readonly quota: () => Promise<StorageQuota$1>;
296
+ readonly readFile: (path: string) => Promise<Blob>;
297
+ readonly writeFile: (path: string, data: WriteData$1, contentType: string | null) => Promise<void>;
298
+ readonly remove: (path: string) => Promise<void>;
299
+ };
300
+ readonly webvpn: {
301
+ readonly tcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
302
+ remoteAddress: string;
303
+ remotePort: number;
304
+ }) => Promise<{
305
+ localAddress: string;
306
+ localFamily: "IPv4" | "IPv6";
307
+ localPort: number;
308
+ remoteAddress: string;
309
+ remoteFamily: "IPv4" | "IPv6";
310
+ remotePort: number;
311
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
312
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
313
+ end: () => Promise<void>;
314
+ destroy: () => Promise<void>;
315
+ destroySoon: () => Promise<void>;
316
+ resetAndDestroy: () => Promise<void>;
317
+ setOption: (option: TcpSocketOption) => Promise<void>;
318
+ }>;
319
+ readonly tcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
320
+ localAddress: string;
321
+ localPort: number;
322
+ onConnection: (connection: TcpSocketResult) => void;
323
+ }) => Promise<{
324
+ localAddress: string;
325
+ localFamily: "IPv4" | "IPv6";
326
+ localPort: number;
327
+ close: () => Promise<void>;
328
+ }>;
329
+ readonly udpSocket: ({ type, port, address, dataPort }: {
330
+ type: "udp4" | "udp6";
331
+ port: number;
332
+ address: string;
333
+ dataPort?: boolean;
334
+ }) => Promise<{
335
+ socketId: number;
336
+ dataPort: MessagePort | undefined;
337
+ localAddress: string;
338
+ localFamily: "IPv4" | "IPv6";
339
+ localPort: number;
340
+ dataReadableStream: ReadableStream<{
341
+ data: ArrayBuffer;
342
+ size: number;
343
+ family: "IPv4" | "IPv6";
344
+ address: string;
345
+ port: number;
346
+ }>;
347
+ connect: ({ remoteAddress: _remoteAddress, remotePort }: {
348
+ remoteAddress: string;
349
+ remotePort: number;
350
+ }) => Promise<void>;
351
+ send: ({ message, address: _remoteAddress, port: remotePort }: {
352
+ message: ArrayBuffer;
353
+ address?: string;
354
+ port?: number;
355
+ }) => Promise<void>;
356
+ close: () => Promise<void>;
357
+ setOption: (option: UdpSocketOption) => Promise<void>;
358
+ }>;
359
+ };
360
+ };
361
+ readonly overlay: {
362
+ readonly setHost: (push: (state: {
363
+ modal: boolean;
364
+ rects: {
365
+ x: number;
366
+ y: number;
367
+ width: number;
368
+ height: number;
369
+ }[];
370
+ }) => unknown) => void;
371
+ };
372
+ readonly installPrompt: {
373
+ readonly show: (reason?: string) => Promise<void>;
374
+ readonly hide: () => void;
375
+ };
376
+ readonly connect: {
377
+ readonly prompt: (consumerOrigin: string) => Promise<boolean>;
378
+ };
379
+ readonly account: {
380
+ readonly info: () => Promise<Account | null>;
381
+ readonly login: (consumerOrigin: string) => Promise<boolean>;
382
+ readonly logout: () => void;
383
+ readonly onChange: (listener: () => void) => (() => void);
384
+ };
385
+ readonly proxyFetch: (input: string | URL | Request, init?: (RequestInit | undefined) & {
386
+ render?: boolean;
387
+ }) => Promise<Response>;
388
+ readonly webVpnTcpSocket: ({ remoteAddress: _remoteAddress, remotePort }: {
389
+ remoteAddress: string;
390
+ remotePort: number;
391
+ }) => Promise<{
392
+ localAddress: string;
393
+ localFamily: "IPv4" | "IPv6";
394
+ localPort: number;
395
+ remoteAddress: string;
396
+ remoteFamily: "IPv4" | "IPv6";
397
+ remotePort: number;
398
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
399
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
400
+ end: () => Promise<void>;
401
+ destroy: () => Promise<void>;
402
+ destroySoon: () => Promise<void>;
403
+ resetAndDestroy: () => Promise<void>;
404
+ setOption: (option: TcpSocketOption) => Promise<void>;
405
+ }>;
406
+ readonly webVpnTcpSocketListener: ({ localAddress: _localAddress, localPort, onConnection }: {
407
+ localAddress: string;
408
+ localPort: number;
409
+ onConnection: (connection: TcpSocketResult) => void;
410
+ }) => Promise<{
411
+ localAddress: string;
412
+ localFamily: "IPv4" | "IPv6";
413
+ localPort: number;
414
+ close: () => Promise<void>;
415
+ }>;
416
+ readonly webVpnUdpSocket: ({ type, port, address, dataPort }: {
417
+ type: "udp4" | "udp6";
418
+ port: number;
419
+ address: string;
420
+ dataPort?: boolean;
421
+ }) => Promise<{
422
+ socketId: number;
423
+ dataPort: MessagePort | undefined;
424
+ localAddress: string;
425
+ localFamily: "IPv4" | "IPv6";
426
+ localPort: number;
427
+ dataReadableStream: ReadableStream<{
428
+ data: ArrayBuffer;
429
+ size: number;
430
+ family: "IPv4" | "IPv6";
431
+ address: string;
432
+ port: number;
433
+ }>;
434
+ connect: ({ remoteAddress: _remoteAddress, remotePort }: {
435
+ remoteAddress: string;
436
+ remotePort: number;
437
+ }) => Promise<void>;
438
+ send: ({ message, address: _remoteAddress, port: remotePort }: {
439
+ message: ArrayBuffer;
440
+ address?: string;
441
+ port?: number;
442
+ }) => Promise<void>;
443
+ close: () => Promise<void>;
444
+ setOption: (option: UdpSocketOption) => Promise<void>;
445
+ }>;
446
+ readonly dnsLookup: <T extends boolean = false>(hostname: string, options?: {
447
+ all?: T;
448
+ family: 0 | 4 | 6;
449
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
450
+ readonly setOverlayHost: (push: (state: {
451
+ modal: boolean;
452
+ rects: {
453
+ x: number;
454
+ y: number;
455
+ width: number;
456
+ height: number;
457
+ }[];
458
+ }) => unknown) => void;
459
+ readonly showInstallPrompt: (reason?: string) => Promise<void>;
460
+ readonly hideInstallPrompt: () => void;
461
+ };
462
+ type Resolvers = typeof resolvers;
463
+
464
+ type ProxyFetch = Resolvers['cloud']['fetch'];
465
+ type FetchParameters = Parameters<ProxyFetch>;
466
+ declare const cloudFetch: (input: FetchParameters[0], init?: FetchParameters[1]) => Promise<Response>;
467
+
468
+ type QuotaStatus = {
469
+ /** the user has a paid subscription, throttle never applies */
470
+ premium: boolean;
471
+ /** today's free-tier volume is spent (true even for premium, see `throttled`) */
472
+ overQuota: boolean;
473
+ /** transfers are actually being rate-limited right now (overQuota and not premium) */
474
+ throttled: boolean;
475
+ /** bytes egressed through FKN relays today (per anonymized IP), saturates at limitBytes:
476
+ * consumption past the free-tier volume is private and never reported */
477
+ usedBytes: number;
478
+ /** free-tier daily volume before throttling kicks in */
479
+ limitBytes: number;
480
+ /** bytes of free-tier volume left today */
481
+ remainingBytes: number;
482
+ /** current effective egress rate cap, bytes per second */
483
+ bytesPerSecond: number;
484
+ /** current effective egress rate cap, bits per second (for display) */
485
+ bitsPerSecond: number;
486
+ };
487
+ declare const quota$1: () => Promise<QuotaStatus>;
488
+
489
+ declare const lookup: <T extends boolean = false>(hostname: string, options?: {
490
+ all?: T;
491
+ family: 0 | 4 | 6;
492
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
493
+
494
+ type dns_AddressLookupResult = AddressLookupResult;
495
+ declare const dns_lookup: typeof lookup;
496
+ declare namespace dns {
497
+ export { dns_lookup as lookup };
498
+ export type { dns_AddressLookupResult as AddressLookupResult };
499
+ }
500
+
501
+ type ReadOptions = BufferEncoding | {
502
+ encoding?: BufferEncoding | null;
503
+ flag?: string;
504
+ } | null | undefined;
505
+ type WriteOptions = BufferEncoding | {
506
+ encoding?: BufferEncoding | null;
507
+ mode?: number;
508
+ flag?: string;
509
+ contentType?: string;
510
+ } | null | undefined;
511
+ type WriteData = string | Uint8Array | ArrayBuffer | DataView;
512
+ type MakeOptions = {
513
+ recursive?: boolean;
514
+ } | number | null | undefined;
515
+ type Callback<R> = (error: NodeJS.ErrnoException | null, result?: R) => void;
516
+ type Stats = {
517
+ size: number;
518
+ mtimeMs: number;
519
+ mtime: Date;
520
+ atimeMs: number;
521
+ ctimeMs: number;
522
+ mode: number;
523
+ isFile: () => boolean;
524
+ isDirectory: () => boolean;
525
+ isSymbolicLink: () => boolean;
526
+ };
527
+
528
+ type FileEntry = {
529
+ path: string;
530
+ size: number;
531
+ contentType: string | null;
532
+ updatedAt: string;
533
+ };
534
+ type StorageQuota = {
535
+ usedBytes: number;
536
+ limitBytes: number;
537
+ remaining: number;
538
+ objects: number;
539
+ maxObjects: number;
540
+ };
541
+ declare const quota: () => Promise<StorageQuota>;
542
+
543
+ declare const available$1: () => Promise<boolean>;
544
+ declare const readFile: (path: node_fs.PathLike, a: ReadOptions | Callback<Buffer | string>, b?: Callback<Buffer | string>) => void;
545
+ declare const writeFile: (path: node_fs.PathLike, data: WriteData, a: WriteOptions | Callback<void>, b?: Callback<void>) => void;
546
+ declare const unlink: (path: node_fs.PathLike, callback: Callback<void>) => void;
547
+ declare const rename: (from: node_fs.PathLike, to: node_fs.PathLike, callback: Callback<void>) => void;
548
+ declare const readdir: (path: node_fs.PathLike, a: unknown, b?: Callback<string[]>) => void;
549
+ declare const mkdir: (path: node_fs.PathLike, a: MakeOptions | Callback<void>, b?: Callback<void>) => void;
550
+ declare const rm: (path: node_fs.PathLike, a: {
551
+ recursive?: boolean;
552
+ } | Callback<void>, b?: Callback<void>) => void;
553
+ declare const stat: (path: node_fs.PathLike, callback: Callback<Stats>) => void;
554
+ declare const promises: {
555
+ readFile: (path: node_fs.PathLike, options?: ReadOptions) => Promise<Buffer | string>;
556
+ writeFile: (path: node_fs.PathLike, data: WriteData, options?: WriteOptions) => Promise<void>;
557
+ unlink: (path: node_fs.PathLike) => Promise<void>;
558
+ rename: (from: node_fs.PathLike, to: node_fs.PathLike) => Promise<void>;
559
+ readdir: (path: node_fs.PathLike) => Promise<string[]>;
560
+ mkdir: (_path?: node_fs.PathLike, _options?: MakeOptions) => Promise<void>;
561
+ rm: (path: node_fs.PathLike, options?: {
562
+ recursive?: boolean;
563
+ }) => Promise<void>;
564
+ rmdir: (path: node_fs.PathLike, options?: {
565
+ recursive?: boolean;
566
+ }) => Promise<void>;
567
+ stat: (path: node_fs.PathLike) => Promise<Stats>;
568
+ lstat: (path: node_fs.PathLike) => Promise<Stats>;
569
+ access: (path: node_fs.PathLike) => Promise<void>;
570
+ };
571
+
572
+ type fs_FileEntry = FileEntry;
573
+ type fs_Stats = Stats;
574
+ type fs_StorageQuota = StorageQuota;
575
+ declare const fs_mkdir: typeof mkdir;
576
+ declare const fs_promises: typeof promises;
577
+ declare const fs_quota: typeof quota;
578
+ declare const fs_readFile: typeof readFile;
579
+ declare const fs_readdir: typeof readdir;
580
+ declare const fs_rename: typeof rename;
581
+ declare const fs_rm: typeof rm;
582
+ declare const fs_stat: typeof stat;
583
+ declare const fs_unlink: typeof unlink;
584
+ declare const fs_writeFile: typeof writeFile;
585
+ declare namespace fs {
586
+ export { available$1 as available, fs_mkdir as mkdir, fs_promises as promises, fs_quota as quota, fs_readFile as readFile, fs_readdir as readdir, fs_rename as rename, fs_rm as rm, fs_stat as stat, fs_unlink as unlink, fs_writeFile as writeFile };
587
+ export type { fs_FileEntry as FileEntry, fs_Stats as Stats, fs_StorageQuota as StorageQuota };
588
+ }
589
+
590
+ declare const isIPv4: (input: string) => boolean;
591
+ declare const isIPv6: (input: string) => boolean;
592
+ declare const isIP: (input: string) => 0 | 4 | 6;
593
+
594
+ type WebVpnTcpSocket = Resolvers['cloud']['webvpn']['tcpSocket'];
595
+ type WebVpnTcpSocketListener = Resolvers['cloud']['webvpn']['tcpSocketListener'];
596
+
597
+ declare class Socket$1 extends Stream.Duplex implements Socket$2 {
598
+ _localAddress?: {
599
+ address: string;
600
+ family: string;
601
+ port: number;
602
+ };
603
+ _remoteAddress?: {
604
+ address: string;
605
+ family: string;
606
+ port: number;
607
+ };
608
+ _webVPNTcpSocketPromise?: Promise<(Awaited<ReturnType<WebVpnTcpSocket>> & {
609
+ reader: ReadableStreamDefaultReader<Uint8Array>;
610
+ writer: WritableStreamDefaultWriter<Uint8Array>;
611
+ }) | undefined>;
612
+ constructor(options?: SocketConstructorOpts & DuplexOptions & {
613
+ connection?: ReturnType<WebVpnTcpSocket>;
614
+ });
615
+ __webvpn_tcp_socket_init__(connection: ReturnType<WebVpnTcpSocket>): Promise<({
616
+ localAddress: string;
617
+ localFamily: "IPv4" | "IPv6";
618
+ localPort: number;
619
+ remoteAddress: string;
620
+ remoteFamily: "IPv4" | "IPv6";
621
+ remotePort: number;
622
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
623
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
624
+ end: () => Promise<void>;
625
+ destroy: () => Promise<void>;
626
+ destroySoon: () => Promise<void>;
627
+ resetAndDestroy: () => Promise<void>;
628
+ setOption: (option: TcpSocketOption) => Promise<void>;
629
+ } & {
630
+ reader: ReadableStreamDefaultReader<Uint8Array>;
631
+ writer: WritableStreamDefaultWriter<Uint8Array>;
632
+ }) | undefined>;
633
+ /** STREAM IMPL */
634
+ _read(size: number): void;
635
+ _write(chunk: Uint8Array, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
636
+ /** SOCKET IMPL */
637
+ connect(options: SocketConnectOpts, connectionListener?: (() => void) | undefined): this;
638
+ connect(port: number, host: string, connectionListener?: (() => void) | undefined): this;
639
+ connect(port: number, connectionListener?: (() => void) | undefined): this;
640
+ connect(path: string, connectionListener?: (() => void) | undefined): this;
641
+ connect(port: unknown, host?: unknown, connectionListener?: unknown): this;
642
+ _end(chunk: any, cb?: () => void): this;
643
+ _end(chunk: any, encoding?: BufferEncoding, cb?: () => void): this;
644
+ _destroy(error?: Error | null | undefined): this;
645
+ destroySoon(): void;
646
+ resetAndDestroy(): this;
647
+ _timeoutMs?: number;
648
+ _timeoutTimer?: ReturnType<typeof setTimeout>;
649
+ _restartTimeoutTimer(): void;
650
+ setTimeout(timeout: number, callback?: (() => void) | undefined): this;
651
+ setNoDelay(noDelay?: boolean | undefined): this;
652
+ setKeepAlive(enable?: boolean | undefined, initialDelay?: number | undefined): this;
653
+ setSendBufferSize(size: number): this;
654
+ setRecvBufferSize(size: number): this;
655
+ _typeOfService?: number;
656
+ getTypeOfService(): number;
657
+ setTypeOfService(tos: number): this;
658
+ _setTcpOption(option: TcpSocketOption): void;
659
+ write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
660
+ write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
661
+ address(): AddressInfo | {};
662
+ unref(): this;
663
+ ref(): this;
664
+ autoSelectFamilyAttemptedAddresses: string[];
665
+ bufferSize: number;
666
+ bytesRead: number;
667
+ bytesWritten: number;
668
+ connecting: boolean;
669
+ pending: boolean;
670
+ get localAddress(): string;
671
+ get localPort(): number;
672
+ get localFamily(): string;
673
+ readyState: 'opening' | 'open' | 'readOnly' | 'writeOnly' | 'closed';
674
+ get remoteAddress(): string;
675
+ get remotePort(): number;
676
+ get remoteFamily(): string;
677
+ timeout?: number | undefined;
678
+ }
679
+ interface EventEmitterOptions$1 {
680
+ /**
681
+ * Enables automatic capturing of promise rejection.
682
+ */
683
+ captureRejections?: boolean | undefined;
684
+ }
685
+ declare class Server$1 extends EventEmitter implements Server$2 {
686
+ _localAddress?: {
687
+ address: string;
688
+ family: string;
689
+ port: number;
690
+ };
691
+ _webVPNTcpSocketListenerPromise?: Promise<Awaited<ReturnType<WebVpnTcpSocketListener>> | undefined>;
692
+ constructor(options?: ServerOpts & EventEmitterOptions$1 & {
693
+ connection?: ReturnType<WebVpnTcpSocketListener>;
694
+ }, connectionListener?: (socket: Socket$1) => void);
695
+ __webvpn_tcp_socket_listener_init__(connection: ReturnType<WebVpnTcpSocketListener>): Promise<{
696
+ localAddress: string;
697
+ localFamily: "IPv4" | "IPv6";
698
+ localPort: number;
699
+ close: () => Promise<void>;
700
+ } | undefined>;
701
+ listen(port?: number | undefined, hostname?: string | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
702
+ listen(port?: number | undefined, hostname?: string | undefined, listeningListener?: (() => void) | undefined): this;
703
+ listen(port?: number | undefined, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
704
+ listen(port?: number | undefined, listeningListener?: (() => void) | undefined): this;
705
+ listen(path: string, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
706
+ listen(path: string, listeningListener?: (() => void) | undefined): this;
707
+ listen(options: ListenOptions, listeningListener?: (() => void) | undefined): this;
708
+ listen(handle: any, backlog?: number | undefined, listeningListener?: (() => void) | undefined): this;
709
+ listen(handle: any, listeningListener?: (() => void) | undefined): this;
710
+ listen(port?: unknown, hostname?: unknown, backlog?: unknown, listeningListener?: unknown): this;
711
+ close(callback?: ((err?: Error | undefined) => void) | undefined): this;
712
+ address(): string | AddressInfo | null;
713
+ getConnections(cb: (error: Error | null, count: number) => void): this;
714
+ ref(): this;
715
+ unref(): this;
716
+ maxConnections: number;
717
+ connections: number;
718
+ listening: boolean;
719
+ [Symbol.asyncDispose](): Promise<void>;
720
+ }
721
+ declare const connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
722
+ declare const createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
723
+ declare const createServer$1: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
724
+
725
+ declare const _default$1: {
726
+ Socket: typeof Socket$1;
727
+ Server: typeof Server$1;
728
+ connect: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
729
+ createConnection: (options: SocketConnectOpts, connectionListener?: () => void) => Socket$1;
730
+ createServer: (options?: ServerOpts | ((socket: Socket$1) => void), connectionListener?: (socket: Socket$1) => void) => Server$1;
731
+ isIP: (input: string) => 0 | 4 | 6;
732
+ isIPv4: (input: string) => boolean;
733
+ isIPv6: (input: string) => boolean;
734
+ };
735
+
736
+ declare const net_connect: typeof connect;
737
+ declare const net_createConnection: typeof createConnection;
738
+ declare const net_isIP: typeof isIP;
739
+ declare const net_isIPv4: typeof isIPv4;
740
+ declare const net_isIPv6: typeof isIPv6;
741
+ declare namespace net {
742
+ export {
743
+ Server$1 as Server,
744
+ Socket$1 as Socket,
745
+ _default$1 as _default,
746
+ net_connect as connect,
747
+ net_createConnection as createConnection,
748
+ createServer$1 as createServer,
749
+ _default$1 as default,
750
+ net_isIP as isIP,
751
+ net_isIPv4 as isIPv4,
752
+ net_isIPv6 as isIPv6,
753
+ };
754
+ }
755
+
756
+ type WebVpnUdpSocket = Resolvers['cloud']['webvpn']['udpSocket'];
757
+ interface EventEmitterOptions {
758
+ /**
759
+ * Enables automatic capturing of promise rejection.
760
+ */
761
+ captureRejections?: boolean | undefined;
762
+ }
763
+ declare class Socket extends EventEmitter implements Socket$3 {
764
+ _type: 'udp4' | 'udp6';
765
+ _localAddress?: {
766
+ address: string;
767
+ family: string;
768
+ port: number;
769
+ };
770
+ _remoteAddress?: {
771
+ address: string;
772
+ family: string;
773
+ port: number;
774
+ };
775
+ _webVPNUdpSocketPromise?: Promise<Awaited<ReturnType<WebVpnUdpSocket>> | undefined>;
776
+ _dataPort?: MessagePort;
777
+ _socketId?: number;
778
+ _sendQueue: Uint8Array[];
779
+ _sendQueueBytes: number;
780
+ _sendFlushScheduled: boolean;
781
+ _peerTailCache: Map<string, Uint8Array<ArrayBufferLike>>;
782
+ constructor(options: SocketOptions & EventEmitterOptions & {
783
+ connection?: ReturnType<WebVpnUdpSocket>;
784
+ });
785
+ _lastRecvBufferSize: number;
786
+ _lastSendBufferSize: number;
787
+ _lastTtl: number;
788
+ _lastMulticastTtl: number;
789
+ _lastMulticastLoopback: boolean;
790
+ _setUdpOption(option: UdpSocketOption): void;
791
+ _onDataPortBatch(buffer: ArrayBuffer): void;
792
+ _peerTail(address: string | undefined, port: number | undefined): Uint8Array;
793
+ _portSend(message: Uint8Array, address: string | undefined, port: number | undefined): void;
794
+ addMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
795
+ address(): AddressInfo;
796
+ bind(port?: number | undefined, address?: string | undefined, callback?: (() => void) | undefined): this;
797
+ bind(port?: number | undefined, callback?: (() => void) | undefined): this;
798
+ bind(callback?: (() => void) | undefined): this;
799
+ bind(options: BindOptions, callback?: (() => void) | undefined): this;
800
+ close(callback?: (() => void) | undefined): this;
801
+ connect(port: number, address?: string, callback?: () => void): void;
802
+ connect(port: number, callback: () => void): void;
803
+ disconnect(): void;
804
+ dropMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
805
+ getRecvBufferSize(): number;
806
+ getSendBufferSize(): number;
807
+ getSendQueueSize(): number;
808
+ getSendQueueCount(): number;
809
+ ref(): this;
810
+ remoteAddress(): AddressInfo;
811
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
812
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
813
+ send(msg: string | readonly any[] | Uint8Array, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
814
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
815
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
816
+ send(msg: string | Uint8Array, offset: number, length: number, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
817
+ send(msg: unknown, offset?: unknown, length?: unknown, port?: unknown, address?: unknown, callback?: unknown): void;
818
+ setBroadcast(flag: boolean): void;
819
+ setMulticastInterface(multicastInterface: string): void;
820
+ setMulticastLoopback(flag: boolean): boolean;
821
+ setMulticastTTL(ttl: number): number;
822
+ setRecvBufferSize(size: number): void;
823
+ setSendBufferSize(size: number): void;
824
+ setTTL(ttl: number): number;
825
+ unref(): this;
826
+ addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
827
+ dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
828
+ [Symbol.asyncDispose](): Promise<void>;
829
+ }
830
+ declare const createSocket: (options: SocketType | SocketOptions, callback?: (msg: Buffer$1, rinfo: RemoteInfo) => void) => Socket;
831
+
832
+ type dgram_Socket = Socket;
833
+ declare const dgram_Socket: typeof Socket;
834
+ declare const dgram_createSocket: typeof createSocket;
835
+ declare namespace dgram {
836
+ export {
837
+ dgram_Socket as Socket,
838
+ dgram_createSocket as createSocket,
839
+ };
840
+ }
841
+
842
+ declare const METHODS: string[];
843
+ declare const STATUS_CODES: Record<number, string>;
844
+ interface ParsedHead {
845
+ /** request only */
846
+ method?: string;
847
+ /** request only */
848
+ url?: string;
849
+ /** response only */
850
+ statusCode?: number;
851
+ /** response only */
852
+ statusMessage?: string;
853
+ httpVersionMajor: number;
854
+ httpVersionMinor: number;
855
+ httpVersion: string;
856
+ headers: IncomingHttpHeaders;
857
+ rawHeaders: string[];
858
+ }
859
+ interface ParserHandlers {
860
+ onHeaders: (head: ParsedHead) => void;
861
+ onBody: (chunk: Uint8Array) => void;
862
+ onComplete: () => void;
863
+ }
864
+ declare class HTTPParser {
865
+ private readonly mode;
866
+ private readonly handlers;
867
+ private buf;
868
+ private state;
869
+ private framing;
870
+ private bodyRemaining;
871
+ private chunkState;
872
+ skipBody: boolean;
873
+ constructor(mode: 'request' | 'response', handlers: ParserHandlers);
874
+ execute(chunk: Uint8Array): void;
875
+ finish(): void;
876
+ private reset;
877
+ private parseHead;
878
+ private applyVersion;
879
+ private addHeader;
880
+ private setupBody;
881
+ private consumeBody;
882
+ private consumeChunked;
883
+ }
884
+ declare class IncomingMessage extends Stream.Readable {
885
+ httpVersion: string;
886
+ httpVersionMajor: number;
887
+ httpVersionMinor: number;
888
+ headers: IncomingHttpHeaders;
889
+ rawHeaders: string[];
890
+ trailers: Record<string, string>;
891
+ rawTrailers: string[];
892
+ /** request only */
893
+ method?: string;
894
+ /** request only */
895
+ url?: string;
896
+ /** response only */
897
+ statusCode?: number;
898
+ /** response only */
899
+ statusMessage?: string;
900
+ complete: boolean;
901
+ socket: Socket$1;
902
+ constructor(socket: Socket$1);
903
+ get connection(): Socket$1;
904
+ _applyHead(head: ParsedHead): void;
905
+ _read(): void;
906
+ setTimeout(msecs: number, callback?: () => void): this;
907
+ }
908
+ declare abstract class OutgoingMessage extends Stream.Writable {
909
+ private _headerStore;
910
+ headersSent: boolean;
911
+ chunkedEncoding: boolean;
912
+ finished: boolean;
913
+ protected _bodyWritten: boolean;
914
+ abstract socket: Socket$1 | null;
915
+ setHeader(name: string, value: number | string | readonly string[]): this;
916
+ getHeader(name: string): number | string | string[] | undefined;
917
+ getHeaderNames(): string[];
918
+ getHeaders(): OutgoingHttpHeaders;
919
+ hasHeader(name: string): boolean;
920
+ removeHeader(name: string): void;
921
+ protected _storeHeader(startLine: string): string;
922
+ protected abstract _shouldSendBody(): boolean;
923
+ protected abstract _implicitHeader(): void;
924
+ protected _writeToSocket(data: Buffer$1, callback: (error?: Error | null) => void): void;
925
+ write(chunk: unknown, encoding?: BufferEncoding | ((error: Error | null | undefined) => void), callback?: (error: Error | null | undefined) => void): boolean;
926
+ _write(chunk: Buffer$1, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
927
+ _final(callback: (error?: Error | null) => void): void;
928
+ end(chunk?: unknown, encoding?: BufferEncoding | (() => void), callback?: () => void): this;
929
+ protected _headBlock?: string;
930
+ }
931
+ interface ServerResponseOptions {
932
+ req: IncomingMessage;
933
+ }
934
+ declare class ServerResponse extends OutgoingMessage {
935
+ statusCode: number;
936
+ statusMessage?: string;
937
+ private _writeHeadCalled;
938
+ sendDate: boolean;
939
+ req: IncomingMessage;
940
+ socket: Socket$1 | null;
941
+ _keepAlive: boolean;
942
+ constructor(req: IncomingMessage);
943
+ protected _shouldSendBody(): boolean;
944
+ writeHead(statusCode: number, statusMessage?: string | OutgoingHttpHeaders | OutgoingHttpHeaders[keyof OutgoingHttpHeaders][], headers?: OutgoingHttpHeaders): this;
945
+ private _appendHeader;
946
+ protected _implicitHeader(): void;
947
+ writeContinue(): void;
948
+ setTimeout(msecs: number, callback?: () => void): this;
949
+ }
950
+ interface ClientRequestArgs extends RequestOptions {
951
+ host?: string;
952
+ hostname?: string;
953
+ port?: number | string;
954
+ path?: string;
955
+ }
956
+ declare class ClientRequest extends OutgoingMessage {
957
+ method: string;
958
+ path: string;
959
+ host: string;
960
+ protocol: string;
961
+ socket: Socket$1;
962
+ /** alias retained for Node compatibility */
963
+ get connection(): Socket$1;
964
+ res: IncomingMessage | null;
965
+ aborted: boolean;
966
+ private _aborted;
967
+ constructor(options: ClientRequestArgs, callback?: (res: IncomingMessage) => void);
968
+ protected _shouldSendBody(): boolean;
969
+ protected _implicitHeader(): void;
970
+ private _attachResponseParser;
971
+ abort(): void;
972
+ destroy(error?: Error): this;
973
+ end(chunk?: unknown, encoding?: unknown, callback?: unknown): this;
974
+ protected _writeToSocket(data: Buffer$1, callback: (error?: Error | null) => void): void;
975
+ setTimeout(timeout: number, callback?: () => void): this;
976
+ setNoDelay(noDelay?: boolean): void;
977
+ setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
978
+ }
979
+ type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;
980
+ declare class ServerImpl extends Server$1 {
981
+ constructor(options?: object | RequestListener, requestListener?: RequestListener);
982
+ private _handleConnection;
983
+ }
984
+ declare const Server: typeof ServerImpl;
985
+ type Server = ServerImpl;
986
+ declare class Agent {
987
+ maxSockets: number;
988
+ maxFreeSockets: number;
989
+ keepAlive: boolean;
990
+ options: Record<string, unknown>;
991
+ constructor(options?: Record<string, unknown>);
992
+ getName(options?: {
993
+ host?: string;
994
+ port?: number;
995
+ localAddress?: string;
996
+ }): string;
997
+ destroy(): void;
998
+ }
999
+ declare const globalAgent: Agent;
1000
+ declare const request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1001
+ declare const get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1002
+ declare const createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
1003
+ declare const _default: {
1004
+ METHODS: string[];
1005
+ STATUS_CODES: Record<number, string>;
1006
+ Agent: typeof Agent;
1007
+ globalAgent: Agent;
1008
+ Server: typeof ServerImpl;
1009
+ ServerResponse: typeof ServerResponse;
1010
+ IncomingMessage: typeof IncomingMessage;
1011
+ ClientRequest: typeof ClientRequest;
1012
+ OutgoingMessage: typeof OutgoingMessage;
1013
+ createServer: (options?: object | RequestListener, requestListener?: RequestListener) => Server;
1014
+ request: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1015
+ get: (...args: [options: string | URL | ClientRequestArgs, callback?: (res: IncomingMessage) => void] | [url: string | URL, options: ClientRequestArgs, callback?: (res: IncomingMessage) => void]) => ClientRequest;
1016
+ };
1017
+
1018
+ type http_Agent = Agent;
1019
+ declare const http_Agent: typeof Agent;
1020
+ type http_ClientRequest = ClientRequest;
1021
+ declare const http_ClientRequest: typeof ClientRequest;
1022
+ type http_ClientRequestArgs = ClientRequestArgs;
1023
+ type http_HTTPParser = HTTPParser;
1024
+ declare const http_HTTPParser: typeof HTTPParser;
1025
+ type http_IncomingMessage = IncomingMessage;
1026
+ declare const http_IncomingMessage: typeof IncomingMessage;
1027
+ declare const http_METHODS: typeof METHODS;
1028
+ type http_ParsedHead = ParsedHead;
1029
+ type http_RequestListener = RequestListener;
1030
+ declare const http_STATUS_CODES: typeof STATUS_CODES;
1031
+ type http_Server = Server;
1032
+ type http_ServerResponse = ServerResponse;
1033
+ declare const http_ServerResponse: typeof ServerResponse;
1034
+ type http_ServerResponseOptions = ServerResponseOptions;
1035
+ declare const http__default: typeof _default;
1036
+ declare const http_createServer: typeof createServer;
1037
+ declare const http_get: typeof get;
1038
+ declare const http_globalAgent: typeof globalAgent;
1039
+ declare const http_request: typeof request;
1040
+ declare namespace http {
1041
+ 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 };
1042
+ export type { http_ClientRequestArgs as ClientRequestArgs, http_ParsedHead as ParsedHead, http_RequestListener as RequestListener, http_Server as Server, http_ServerResponseOptions as ServerResponseOptions };
1043
+ }
1044
+
1045
+ declare const available: () => boolean;
1046
+
1047
+ export { available, dgram, dns, cloudFetch as fetch, fs, http, net, quota$1 as quota };
1048
+ export type { QuotaStatus };