@fkn/lib 0.6.0 → 0.6.2

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 (127) hide show
  1. package/account.d.ts +15 -0
  2. package/api-B0jZnr_N.d.ts +554 -0
  3. package/cloud/dgram.d.ts +2 -0
  4. package/cloud/dns.d.ts +3 -0
  5. package/cloud/fs/promises.d.ts +9 -0
  6. package/cloud/fs.d.ts +3 -0
  7. package/cloud/http.d.ts +2 -0
  8. package/cloud/net.d.ts +2 -0
  9. package/cloud-B4KIFGwa.cjs +1 -0
  10. package/{cloud-BFyf2uC7.js → cloud-Dsb33tl6.js} +29 -15
  11. package/cloud-jJi2d0cs.d.ts +41 -0
  12. package/cloud.cjs +1 -1
  13. package/cloud.d.ts +7 -0
  14. package/cloud.js +1 -1
  15. package/connect-button-D8KXSL6s.d.ts +4 -0
  16. package/desktop.d.ts +52 -0
  17. package/dgram.d.ts +91 -0
  18. package/dns.d.ts +12 -0
  19. package/extension-3pxUYwrA.d.ts +16 -0
  20. package/extension.d.ts +3 -0
  21. package/fs/promises.d.ts +12 -0
  22. package/fs-K7ROdxDx.d.ts +41 -0
  23. package/fs.d.ts +92 -0
  24. package/http.d.ts +186 -0
  25. package/index-BJztAQIP.d.ts +721 -0
  26. package/index-C6ZoDJg8.d.ts +31 -0
  27. package/index.cjs +1 -1
  28. package/index.d.ts +28 -0
  29. package/index.js +1 -1
  30. package/lookup-BtwWaCZJ.d.ts +7 -0
  31. package/net-5SVFcuzM.d.ts +140 -0
  32. package/net.d.ts +2 -0
  33. package/opfs/promises.d.ts +12 -0
  34. package/opfs.d.ts +90 -0
  35. package/package.json +23 -23
  36. package/packages-D36R2vBv.d.ts +108 -0
  37. package/packages.d.ts +2 -0
  38. package/react.d.ts +14 -0
  39. package/api/account.d.ts +0 -7
  40. package/api/broker-bridge.d.ts +0 -12
  41. package/api/connect-store.d.ts +0 -9
  42. package/api/connect.d.ts +0 -2
  43. package/api/data-plane.d.ts +0 -28
  44. package/api/dns/index.d.ts +0 -1
  45. package/api/dns/lookup.d.ts +0 -8
  46. package/api/index.d.ts +0 -78
  47. package/api/install-prompt.d.ts +0 -2
  48. package/api/local-net/index.d.ts +0 -43
  49. package/api/overlay-mount.d.ts +0 -2
  50. package/api/overlay.d.ts +0 -17
  51. package/api/packages/host.d.ts +0 -12
  52. package/api/packages/identity.d.ts +0 -1
  53. package/api/packages/index.d.ts +0 -34
  54. package/api/packages/picker.d.ts +0 -28
  55. package/api/packages/registry.d.ts +0 -20
  56. package/api/packages/store.d.ts +0 -6
  57. package/api/packages/types.d.ts +0 -56
  58. package/api/preconnect.d.ts +0 -1
  59. package/api/proxy/index.d.ts +0 -1
  60. package/api/proxy/proxy-fetch.d.ts +0 -5
  61. package/api/quota.d.ts +0 -10
  62. package/api/rate-token.d.ts +0 -3
  63. package/api/session-limit.d.ts +0 -1
  64. package/api/storage.d.ts +0 -20
  65. package/api/toast.d.ts +0 -1
  66. package/api/token-source.d.ts +0 -4
  67. package/api/ui-events.d.ts +0 -8
  68. package/api/ui-host.d.ts +0 -2
  69. package/api/webvpn/index.d.ts +0 -3
  70. package/api/webvpn/packets/metadata.d.ts +0 -31
  71. package/api/webvpn/packets/tcp-listener.d.ts +0 -39
  72. package/api/webvpn/packets/tcp.d.ts +0 -88
  73. package/api/webvpn/packets/udp.d.ts +0 -183
  74. package/api/webvpn/packets/utils.d.ts +0 -24
  75. package/api/webvpn/tcp-listener.d.ts +0 -11
  76. package/api/webvpn/tcp.d.ts +0 -33
  77. package/api/webvpn/udp.d.ts +0 -33
  78. package/api/webvpn/utils.d.ts +0 -26
  79. package/api/webvpn/webtransport.d.ts +0 -62
  80. package/api/worker/client.d.ts +0 -3
  81. package/api/worker/protocol.d.ts +0 -15
  82. package/cloud-5o7yJHeX.cjs +0 -1
  83. package/lib/account.d.ts +0 -14
  84. package/lib/api.d.ts +0 -300
  85. package/lib/auto.d.ts +0 -5
  86. package/lib/cloud/dgram.d.ts +0 -2
  87. package/lib/cloud/dns.d.ts +0 -1
  88. package/lib/cloud/frame.d.ts +0 -3
  89. package/lib/cloud/fs-promises.d.ts +0 -5
  90. package/lib/cloud/fs.d.ts +0 -22
  91. package/lib/cloud/http.d.ts +0 -2
  92. package/lib/cloud/net.d.ts +0 -2
  93. package/lib/cloud.d.ts +0 -10
  94. package/lib/connect-button.d.ts +0 -1
  95. package/lib/connect.d.ts +0 -1
  96. package/lib/desktop.d.ts +0 -47
  97. package/lib/dns.d.ts +0 -6
  98. package/lib/dom.d.ts +0 -2
  99. package/lib/extension-prompt.d.ts +0 -1
  100. package/lib/extension.d.ts +0 -4
  101. package/lib/fkn-target.d.ts +0 -1
  102. package/lib/frame.d.ts +0 -2
  103. package/lib/fs/content-type.d.ts +0 -1
  104. package/lib/fs/hybrid.d.ts +0 -10
  105. package/lib/fs/index.d.ts +0 -87
  106. package/lib/fs/opfs.d.ts +0 -8
  107. package/lib/fs/promises.d.ts +0 -8
  108. package/lib/fs/types.d.ts +0 -16
  109. package/lib/index.d.ts +0 -18
  110. package/lib/node-fs/index.d.ts +0 -95
  111. package/lib/node-fs/shared.d.ts +0 -39
  112. package/lib/node-fs/store.d.ts +0 -21
  113. package/lib/opfs/index.d.ts +0 -84
  114. package/lib/opfs/promises.d.ts +0 -8
  115. package/lib/overlay.d.ts +0 -14
  116. package/lib/packages.d.ts +0 -69
  117. package/lib/proxy.d.ts +0 -5
  118. package/lib/quota.d.ts +0 -20
  119. package/lib/react.d.ts +0 -7
  120. package/lib/relay.d.ts +0 -5
  121. package/lib/storage.d.ts +0 -22
  122. package/lib/webvpn/dgram.d.ts +0 -86
  123. package/lib/webvpn/http.d.ts +0 -180
  124. package/lib/webvpn/index.d.ts +0 -1
  125. package/lib/webvpn/net.d.ts +0 -132
  126. package/lib/webvpn/utils.d.ts +0 -32
  127. package/sandbox.d.ts +0 -7
package/account.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ declare namespace account_d_exports {
2
+ export { AccountInfo, info, login, logout, onChange };
3
+ }
4
+ type AccountInfo = {
5
+ /** the account's display name (a username, not necessarily a real name) */name: string; /** profile image URL, or null if none is set */
6
+ image: string | null; /** the account has an active paid subscription */
7
+ premium: boolean; /** when the current subscription lapses, as a ms epoch, or null when not subscribed */
8
+ premiumUntil: number | null;
9
+ };
10
+ declare const login: () => Promise<boolean>;
11
+ declare const logout: () => Promise<void>;
12
+ declare const info: () => Promise<AccountInfo | null>;
13
+ declare const onChange: (callback: () => void) => Promise<() => void>;
14
+ //#endregion
15
+ export { AccountInfo, info, login, logout, onChange, account_d_exports as t };
@@ -0,0 +1,554 @@
1
+ import { C as PackagesFail, _ as ConnectOptions, b as PackageQuery, v as InstallOptions, w as PickOptions, x as PackageResult, y as InstalledPackage } from "./packages-D36R2vBv.js";
2
+ import { t as AddressLookupResult } from "./lookup-BtwWaCZJ.js";
3
+ import { Address4, Address6 } from "ip-address";
4
+
5
+ //#region src/api/storage.d.ts
6
+ type StorageEntry = {
7
+ path: string;
8
+ size: number;
9
+ contentType: string | null;
10
+ updatedAt: string;
11
+ };
12
+ type StorageQuota = {
13
+ usedBytes: number;
14
+ limitBytes: number;
15
+ remaining: number;
16
+ objects: number;
17
+ maxObjects: number;
18
+ };
19
+ type WriteData = ArrayBuffer | Uint8Array | string;
20
+ //#endregion
21
+ //#region src/api/webvpn/packets/tcp.d.ts
22
+ declare const parseServerMetadataTcpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
23
+ readonly _type: 'ServerMetadataTcpSocketConnectedPacket';
24
+ readonly offset: number;
25
+ readonly id: number;
26
+ readonly socketId: number;
27
+ readonly localAddressType: 0 | 1;
28
+ readonly localAddress: import("ip-address").Address4 | import("ip-address").Address6;
29
+ readonly localPort: number;
30
+ readonly remoteAddressType: 0 | 1;
31
+ readonly remoteAddress: import("ip-address").Address4 | import("ip-address").Address6;
32
+ readonly remotePort: number;
33
+ readonly errorLength: number;
34
+ readonly error: string;
35
+ };
36
+ type ServerMetadataTcpSocketConnectedPacket = ReturnType<typeof parseServerMetadataTcpSocketConnectedPacket>;
37
+ declare const parseServerMetadataTcpSocketShutdownPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
38
+ readonly _type: 'ServerMetadataTcpSocketShutdownPacket';
39
+ readonly offset: number;
40
+ readonly id: number;
41
+ readonly socketId: number;
42
+ };
43
+ type ServerMetadataTcpSocketShutdownPacket = ReturnType<typeof parseServerMetadataTcpSocketShutdownPacket>;
44
+ declare const TCP_OPTION_NODELAY: 0;
45
+ declare const TCP_OPTION_TTL: 1;
46
+ declare const TCP_OPTION_KEEPALIVE: 2;
47
+ declare const TCP_OPTION_SEND_BUFFER_SIZE: 3;
48
+ declare const TCP_OPTION_RECV_BUFFER_SIZE: 4;
49
+ type TcpSocketOption = {
50
+ type: typeof TCP_OPTION_NODELAY;
51
+ value: boolean;
52
+ } | {
53
+ type: typeof TCP_OPTION_TTL;
54
+ value: number;
55
+ } | {
56
+ type: typeof TCP_OPTION_KEEPALIVE;
57
+ enabled: boolean;
58
+ initialDelaySeconds: number;
59
+ } | {
60
+ type: typeof TCP_OPTION_SEND_BUFFER_SIZE;
61
+ value: number;
62
+ } | {
63
+ type: typeof TCP_OPTION_RECV_BUFFER_SIZE;
64
+ value: number;
65
+ };
66
+ declare const parseServerMetadataTcpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
67
+ _type: 'ServerMetadataTcpSetOptionAckPacket';
68
+ offset: number;
69
+ id: number;
70
+ socketId: number;
71
+ errorLength: number;
72
+ error: string;
73
+ };
74
+ type ServerMetadataTcpSetOptionAckPacket = ReturnType<typeof parseServerMetadataTcpSetOptionAckPacket>;
75
+ //#endregion
76
+ //#region src/api/local-net/index.d.ts
77
+ type LocalTcpSocket = {
78
+ localAddress: string;
79
+ localFamily: 'IPv4' | 'IPv6';
80
+ localPort: number;
81
+ remoteAddress: string;
82
+ remoteFamily: 'IPv4' | 'IPv6';
83
+ remotePort: number;
84
+ dataReadableStream: ReadableStream<Uint8Array>;
85
+ dataWritableStream: WritableStream<Uint8Array>;
86
+ end: () => Promise<void>;
87
+ destroy: () => Promise<void>;
88
+ destroySoon: () => Promise<void>;
89
+ resetAndDestroy: () => Promise<void>;
90
+ setOption: (option: TcpSocketOption) => Promise<void>;
91
+ };
92
+ //#endregion
93
+ //#region src/api/webvpn/packets/udp.d.ts
94
+ declare const parseServerMetadataUdpSocketBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
95
+ readonly _type: 'ServerMetadataUdpSocketBoundPacket';
96
+ readonly offset: number;
97
+ readonly id: number;
98
+ readonly socketId: number;
99
+ readonly localAddressType: 0 | 1;
100
+ readonly localAddress: import("ip-address").Address4 | import("ip-address").Address6;
101
+ readonly localPort: number;
102
+ readonly errorLength: number;
103
+ readonly error: string;
104
+ };
105
+ type ServerMetadataUdpSocketBoundPacket = ReturnType<typeof parseServerMetadataUdpSocketBoundPacket>;
106
+ declare const parseServerMetadataUdpSocketUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
107
+ readonly _type: 'ServerMetadataUdpSocketUnboundPacket';
108
+ readonly offset: number;
109
+ readonly id: number;
110
+ readonly socketId: number;
111
+ };
112
+ type ServerMetadataUdpSocketUnboundPacket = ReturnType<typeof parseServerMetadataUdpSocketUnboundPacket>;
113
+ declare const parseServerMetadataUdpSocketConnectedPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
114
+ readonly _type: 'ServerMetadataUdpSocketConnectedPacket';
115
+ readonly offset: number;
116
+ readonly id: number;
117
+ readonly socketId: number;
118
+ readonly remoteAddressType: 0 | 1;
119
+ readonly remoteAddress: import("ip-address").Address4 | import("ip-address").Address6;
120
+ readonly remotePort: number;
121
+ readonly errorLength: number;
122
+ readonly error: string;
123
+ };
124
+ type ServerMetadataUdpSocketConnectedPacket = ReturnType<typeof parseServerMetadataUdpSocketConnectedPacket>;
125
+ declare const parseServerUdpDataPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
126
+ readonly _type: 'ServerUdpDataPacket';
127
+ readonly offset: number;
128
+ readonly socketId: number;
129
+ readonly remoteAddressType: 0 | 1 | 2;
130
+ readonly remoteAddress: import("ip-address").Address4 | import("ip-address").Address6 | undefined;
131
+ readonly remotePort: number | undefined;
132
+ readonly dataLength: number;
133
+ readonly data: ArrayBuffer;
134
+ };
135
+ type ServerUdpDataPacket = ReturnType<typeof parseServerUdpDataPacket>;
136
+ declare const UDP_OPTION_BROADCAST: 0;
137
+ declare const UDP_OPTION_TTL: 1;
138
+ declare const UDP_OPTION_MULTICAST_TTL_V4: 2;
139
+ declare const UDP_OPTION_MULTICAST_LOOP_V4: 3;
140
+ declare const UDP_OPTION_MULTICAST_LOOP_V6: 4;
141
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V4: 5;
142
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V4: 6;
143
+ declare const UDP_OPTION_ADD_MEMBERSHIP_V6: 7;
144
+ declare const UDP_OPTION_DROP_MEMBERSHIP_V6: 8;
145
+ declare const UDP_OPTION_SEND_BUFFER_SIZE: 9;
146
+ declare const UDP_OPTION_RECV_BUFFER_SIZE: 10;
147
+ type UdpSocketOption = {
148
+ type: typeof UDP_OPTION_BROADCAST;
149
+ value: boolean;
150
+ } | {
151
+ type: typeof UDP_OPTION_TTL;
152
+ value: number;
153
+ } | {
154
+ type: typeof UDP_OPTION_MULTICAST_TTL_V4;
155
+ value: number;
156
+ } | {
157
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V4;
158
+ value: boolean;
159
+ } | {
160
+ type: typeof UDP_OPTION_MULTICAST_LOOP_V6;
161
+ value: boolean;
162
+ } | {
163
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V4;
164
+ group: Uint8Array;
165
+ interface: Uint8Array;
166
+ } | {
167
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V4;
168
+ group: Uint8Array;
169
+ interface: Uint8Array;
170
+ } | {
171
+ type: typeof UDP_OPTION_ADD_MEMBERSHIP_V6;
172
+ group: Uint8Array;
173
+ ifIndex: number;
174
+ } | {
175
+ type: typeof UDP_OPTION_DROP_MEMBERSHIP_V6;
176
+ group: Uint8Array;
177
+ ifIndex: number;
178
+ } | {
179
+ type: typeof UDP_OPTION_SEND_BUFFER_SIZE;
180
+ value: number;
181
+ } | {
182
+ type: typeof UDP_OPTION_RECV_BUFFER_SIZE;
183
+ value: number;
184
+ };
185
+ declare const parseServerMetadataUdpSetOptionAckPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
186
+ _type: 'ServerMetadataUdpSetOptionAckPacket';
187
+ offset: number;
188
+ id: number;
189
+ socketId: number;
190
+ errorLength: number;
191
+ error: string;
192
+ };
193
+ type ServerMetadataUdpSetOptionAckPacket = ReturnType<typeof parseServerMetadataUdpSetOptionAckPacket>;
194
+ //#endregion
195
+ //#region src/api/webvpn/packets/tcp-listener.d.ts
196
+ declare const parseServerMetadataTcpSocketListenerBoundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
197
+ readonly _type: 'ServerMetadataTcpSocketListenerBoundPacket';
198
+ readonly offset: number;
199
+ readonly id: number;
200
+ readonly socketId: number;
201
+ readonly localAddressType: 0 | 1;
202
+ readonly localAddress: import("ip-address").Address4 | import("ip-address").Address6;
203
+ readonly localPort: number;
204
+ readonly errorLength: number;
205
+ readonly error: string;
206
+ };
207
+ type ServerMetadataTcpSocketListenerBoundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerBoundPacket>;
208
+ declare const parseServerMetadataTcpSocketListenerUnboundPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
209
+ readonly _type: 'ServerMetadataTcpSocketListenerUnboundPacket';
210
+ readonly offset: number;
211
+ readonly id: number;
212
+ readonly socketId: number;
213
+ };
214
+ type ServerMetadataTcpSocketListenerUnboundPacket = ReturnType<typeof parseServerMetadataTcpSocketListenerUnboundPacket>;
215
+ //#endregion
216
+ //#region src/api/webvpn/packets/metadata.d.ts
217
+ declare const parseServerMetadataHeaderPacket: (offset: number, buffer: ArrayBuffer, view: DataView) => {
218
+ readonly _type: 'ServerMetadataHeaderPacket';
219
+ readonly offset: number;
220
+ readonly agentLength: number;
221
+ readonly agent: string;
222
+ readonly versionLength: number;
223
+ readonly version: string;
224
+ };
225
+ type ServerMetadataHeaderPacket = ReturnType<typeof parseServerMetadataHeaderPacket>;
226
+ type ServerMetadataPacket = ServerMetadataHeaderPacket | ServerMetadataTcpSocketConnectedPacket | ServerMetadataTcpSocketShutdownPacket | ServerMetadataTcpSocketListenerBoundPacket | ServerMetadataTcpSocketListenerUnboundPacket | ServerMetadataUdpSocketBoundPacket | ServerMetadataUdpSocketUnboundPacket | ServerMetadataUdpSocketConnectedPacket | ServerMetadataTcpSetOptionAckPacket | ServerMetadataUdpSetOptionAckPacket;
227
+ //#endregion
228
+ //#region src/api/webvpn/session-core.d.ts
229
+ type BidirectionalStreams = {
230
+ readable: ReadableStream<Uint8Array>;
231
+ writable: WritableStream<Uint8Array>;
232
+ };
233
+ type TransportPrimitives = {
234
+ metadataReadable: ReadableStream<Uint8Array>;
235
+ metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
236
+ datagramWriter: WritableStreamDefaultWriter<Uint8Array>;
237
+ incomingBidi: ReadableStream<BidirectionalStreams>;
238
+ incomingUni: ReadableStream<ReadableStream<Uint8Array>>;
239
+ serverDatagrams?: ReadableStream<ServerUdpDataPacket>;
240
+ closed: Promise<{
241
+ reason: string;
242
+ }>;
243
+ close: (reason: string) => void;
244
+ };
245
+ declare const makeWebVpnSession: (primitives: TransportPrimitives) => Promise<{
246
+ closed: Promise<{
247
+ reason: string;
248
+ }>;
249
+ isClosed: () => boolean;
250
+ getNewPacketId: () => number;
251
+ getTcpDataReadableStreamForSocketId: (socketId: number, options?: {
252
+ signal?: AbortSignal;
253
+ }) => Promise<BidirectionalStreams>;
254
+ getUdpDataReadableStreamForSocketId: (socketId: number) => ReadableStream<{
255
+ readonly _type: 'ServerUdpDataPacket';
256
+ readonly offset: number;
257
+ readonly socketId: number;
258
+ readonly remoteAddressType: 0 | 1 | 2;
259
+ readonly remoteAddress: Address4 | Address6 | undefined;
260
+ readonly remotePort: number | undefined;
261
+ readonly dataLength: number;
262
+ readonly data: ArrayBuffer;
263
+ }>;
264
+ claimUdpRawStream: (socketId: number, sink: (packetBytes: Uint8Array) => void) => void;
265
+ releaseUdpRawStream: (socketId: number) => void;
266
+ getPacketForId: (packetId: number) => Promise<ServerMetadataPacket>;
267
+ getMetadataReadableStreamForSocketId: (socketId: number) => ReadableStream<ServerMetadataPacket>;
268
+ getMetadataReadableStreamForLocalAddress: (address: Address4 | Address6) => ReadableStream<ServerMetadataPacket>;
269
+ getMetadataReadableStreamForLocalPort: (port: number) => ReadableStream<ServerMetadataPacket>;
270
+ getMetadataWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
271
+ getDatagramWritableStream: () => WritableStream<Uint8Array<ArrayBufferLike>>;
272
+ presentRateToken: () => Promise<void>;
273
+ }>;
274
+ type WebVPNSession = Awaited<ReturnType<typeof makeWebVpnSession>>;
275
+ //#endregion
276
+ //#region src/api/webvpn/transport.d.ts
277
+ type WebVPNWebTransport = WebVPNSession;
278
+ //#endregion
279
+ //#region src/api/webvpn/tcp.d.ts
280
+ declare const processTcpSocket: ({
281
+ connectedPacket,
282
+ dataReadableStream,
283
+ dataWritableStream,
284
+ metadataReadableStream,
285
+ metadataWriter,
286
+ dataStreamAbort,
287
+ webVpnWebTransport,
288
+ ownsMetadataWriter
289
+ }: {
290
+ connectedPacket: ServerMetadataTcpSocketConnectedPacket;
291
+ dataReadableStream: ReadableStream<Uint8Array>;
292
+ dataWritableStream: WritableStream<Uint8Array>;
293
+ metadataReadableStream: ReadableStream<ServerMetadataPacket>;
294
+ metadataWriter: WritableStreamDefaultWriter<Uint8Array>;
295
+ dataStreamAbort?: AbortController;
296
+ webVpnWebTransport: WebVPNWebTransport;
297
+ ownsMetadataWriter?: boolean;
298
+ }) => Promise<{
299
+ localAddress: string;
300
+ localFamily: "IPv4" | "IPv6";
301
+ localPort: number;
302
+ remoteAddress: string;
303
+ remoteFamily: "IPv4" | "IPv6";
304
+ remotePort: number;
305
+ dataReadableStream: ReadableStream<Uint8Array<ArrayBufferLike>>;
306
+ dataWritableStream: WritableStream<Uint8Array<ArrayBufferLike>>;
307
+ end: () => Promise<void>;
308
+ destroy: () => Promise<void>;
309
+ destroySoon: () => Promise<void>;
310
+ resetAndDestroy: () => Promise<void>;
311
+ setOption: (option: TcpSocketOption) => Promise<void>;
312
+ }>;
313
+ type TcpSocketResult = Awaited<ReturnType<typeof processTcpSocket>>;
314
+ //#endregion
315
+ //#region src/api/quota.d.ts
316
+ type Quota = {
317
+ overQuota: boolean;
318
+ remaining: number;
319
+ usedBytes: number;
320
+ limitBytes: number;
321
+ premium: boolean;
322
+ bytesPerSecond: number;
323
+ };
324
+ //#endregion
325
+ //#region src/api/account.d.ts
326
+ type Account = {
327
+ name: string;
328
+ image: string | null;
329
+ premium: boolean;
330
+ premiumUntil: string | null;
331
+ };
332
+ //#endregion
333
+ //#region src/api/index.d.ts
334
+ declare const resolvers: {
335
+ readonly cloud: {
336
+ readonly fetch: (input: string | Request | URL, init?: (RequestInit | undefined) & {
337
+ render?: boolean;
338
+ }) => Promise<Response>;
339
+ readonly quota: () => Promise<Quota>;
340
+ readonly dns: {
341
+ readonly lookup: <T extends boolean = false>(hostname: string, options?: {
342
+ all?: T;
343
+ family?: 0 | 4 | 6;
344
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
345
+ };
346
+ readonly fs: {
347
+ readonly available: () => Promise<boolean>;
348
+ readonly list: () => Promise<StorageEntry[]>;
349
+ readonly quota: () => Promise<StorageQuota>;
350
+ readonly readFile: (path: string) => Promise<Uint8Array>;
351
+ readonly writeFile: (path: string, data: WriteData, contentType: string | null) => Promise<void>;
352
+ readonly remove: (path: string) => Promise<void>;
353
+ };
354
+ readonly webvpn: {
355
+ readonly tcpSocket: ({
356
+ remoteAddress: _remoteAddress,
357
+ remotePort
358
+ }: {
359
+ remoteAddress: string;
360
+ remotePort: number;
361
+ }) => Promise<LocalTcpSocket>;
362
+ readonly tcpSocketListener: ({
363
+ localAddress: _localAddress,
364
+ localPort,
365
+ onConnection
366
+ }: {
367
+ localAddress: string;
368
+ localPort: number;
369
+ onConnection: (connection: TcpSocketResult) => void;
370
+ }) => Promise<{
371
+ localAddress: string;
372
+ localFamily: "IPv4" | "IPv6";
373
+ localPort: number;
374
+ close: () => Promise<void>;
375
+ }>;
376
+ readonly udpSocket: ({
377
+ type,
378
+ port,
379
+ address,
380
+ dataPort
381
+ }: {
382
+ type: 'udp4' | 'udp6';
383
+ port: number;
384
+ address: string;
385
+ dataPort?: boolean;
386
+ }) => Promise<{
387
+ socketId: number;
388
+ dataPort: MessagePort | undefined;
389
+ localAddress: string;
390
+ localFamily: "IPv4" | "IPv6";
391
+ localPort: number;
392
+ dataReadableStream: ReadableStream<{
393
+ data: ArrayBuffer;
394
+ size: number;
395
+ family: 'IPv4' | 'IPv6';
396
+ address: string;
397
+ port: number;
398
+ }>;
399
+ connect: ({
400
+ remoteAddress: _remoteAddress,
401
+ remotePort
402
+ }: {
403
+ remoteAddress: string;
404
+ remotePort: number;
405
+ }) => Promise<void>;
406
+ send: ({
407
+ message,
408
+ address: _remoteAddress,
409
+ port: remotePort
410
+ }: {
411
+ message: ArrayBuffer;
412
+ address?: string;
413
+ port?: number;
414
+ }) => Promise<void>;
415
+ close: () => Promise<void>;
416
+ setOption: (option: UdpSocketOption) => Promise<void>;
417
+ }>;
418
+ };
419
+ };
420
+ readonly overlay: {
421
+ readonly setHost: (push: (state: {
422
+ modal: boolean;
423
+ rects: {
424
+ x: number;
425
+ y: number;
426
+ width: number;
427
+ height: number;
428
+ }[];
429
+ }) => unknown) => void;
430
+ };
431
+ readonly installPrompt: {
432
+ readonly show: (reason?: string) => Promise<void>;
433
+ readonly hide: () => void;
434
+ };
435
+ readonly connect: {
436
+ readonly prompt: (consumerOrigin: string) => Promise<boolean>;
437
+ };
438
+ readonly packages: {
439
+ search: (query: PackageQuery) => Promise<{
440
+ results: PackageResult[];
441
+ } | PackagesFail>;
442
+ pick: (query: PackageQuery, options?: PickOptions) => Promise<{
443
+ results: PackageResult[];
444
+ failed: string[];
445
+ } | {
446
+ declined: true;
447
+ } | PackagesFail>;
448
+ install: (uri: string, options?: InstallOptions) => Promise<{
449
+ installed: InstalledPackage;
450
+ } | {
451
+ declined: true;
452
+ } | PackagesFail>;
453
+ list: () => Promise<{
454
+ results: InstalledPackage[];
455
+ }>;
456
+ uninstall: (uri: string) => Promise<{
457
+ ok: true;
458
+ } | PackagesFail>;
459
+ connect: (uri: string, options?: ConnectOptions) => Promise<{
460
+ port: MessagePort;
461
+ closed: Promise<void>;
462
+ } | PackagesFail>;
463
+ };
464
+ readonly account: {
465
+ readonly info: () => Promise<Account | null>;
466
+ readonly login: (consumerOrigin: string) => Promise<boolean>;
467
+ readonly logout: () => void;
468
+ readonly onChange: (listener: () => void) => (() => void);
469
+ };
470
+ readonly proxyFetch: (input: string | Request | URL, init?: (RequestInit | undefined) & {
471
+ render?: boolean;
472
+ }) => Promise<Response>;
473
+ readonly webVpnTcpSocket: ({
474
+ remoteAddress: _remoteAddress,
475
+ remotePort
476
+ }: {
477
+ remoteAddress: string;
478
+ remotePort: number;
479
+ }) => Promise<LocalTcpSocket>;
480
+ readonly webVpnTcpSocketListener: ({
481
+ localAddress: _localAddress,
482
+ localPort,
483
+ onConnection
484
+ }: {
485
+ localAddress: string;
486
+ localPort: number;
487
+ onConnection: (connection: TcpSocketResult) => void;
488
+ }) => Promise<{
489
+ localAddress: string;
490
+ localFamily: "IPv4" | "IPv6";
491
+ localPort: number;
492
+ close: () => Promise<void>;
493
+ }>;
494
+ readonly webVpnUdpSocket: ({
495
+ type,
496
+ port,
497
+ address,
498
+ dataPort
499
+ }: {
500
+ type: 'udp4' | 'udp6';
501
+ port: number;
502
+ address: string;
503
+ dataPort?: boolean;
504
+ }) => Promise<{
505
+ socketId: number;
506
+ dataPort: MessagePort | undefined;
507
+ localAddress: string;
508
+ localFamily: "IPv4" | "IPv6";
509
+ localPort: number;
510
+ dataReadableStream: ReadableStream<{
511
+ data: ArrayBuffer;
512
+ size: number;
513
+ family: 'IPv4' | 'IPv6';
514
+ address: string;
515
+ port: number;
516
+ }>;
517
+ connect: ({
518
+ remoteAddress: _remoteAddress,
519
+ remotePort
520
+ }: {
521
+ remoteAddress: string;
522
+ remotePort: number;
523
+ }) => Promise<void>;
524
+ send: ({
525
+ message,
526
+ address: _remoteAddress,
527
+ port: remotePort
528
+ }: {
529
+ message: ArrayBuffer;
530
+ address?: string;
531
+ port?: number;
532
+ }) => Promise<void>;
533
+ close: () => Promise<void>;
534
+ setOption: (option: UdpSocketOption) => Promise<void>;
535
+ }>;
536
+ readonly dnsLookup: <T extends boolean = false>(hostname: string, options?: {
537
+ all?: T;
538
+ family?: 0 | 4 | 6;
539
+ }) => Promise<T extends true ? AddressLookupResult[] : AddressLookupResult | undefined>;
540
+ readonly setOverlayHost: (push: (state: {
541
+ modal: boolean;
542
+ rects: {
543
+ x: number;
544
+ y: number;
545
+ width: number;
546
+ height: number;
547
+ }[];
548
+ }) => unknown) => void;
549
+ readonly showInstallPrompt: (reason?: string) => Promise<void>;
550
+ readonly hideInstallPrompt: () => void;
551
+ };
552
+ type Resolvers = typeof resolvers;
553
+ //#endregion
554
+ export { TcpSocketOption as i, UdpSocketOption as n, LocalTcpSocket as r, Resolvers as t };
@@ -0,0 +1,2 @@
1
+ import _default, { Socket, createSocket } from "../dgram.js";
2
+ export { Socket, createSocket, _default as default };
package/cloud/dns.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { t as AddressLookupResult } from "../lookup-BtwWaCZJ.js";
2
+ import { lookup } from "../dns.js";
3
+ export { type AddressLookupResult, lookup };
@@ -0,0 +1,9 @@
1
+ import { a as WriteData, i as Stats, n as MakeOptions, o as WriteOptions, r as ReadOptions } from "../../index-C6ZoDJg8.js";
2
+ //#region src/lib/cloud/fs-promises.d.ts
3
+ declare const readFile: (path: import("node:fs").PathLike, options?: ReadOptions) => Promise<Buffer | string>, writeFile: (path: import("node:fs").PathLike, data: WriteData, options?: WriteOptions) => Promise<void>, unlink: (path: import("node:fs").PathLike) => Promise<void>, rename: (from: import("node:fs").PathLike, to: import("node:fs").PathLike) => Promise<void>, readdir: (path: import("node:fs").PathLike) => Promise<string[]>, mkdir: (_path?: import("node:fs").PathLike, _options?: MakeOptions) => Promise<void>, rm: (path: import("node:fs").PathLike, options?: {
4
+ recursive?: boolean;
5
+ }) => Promise<void>, rmdir: (path: import("node:fs").PathLike, options?: {
6
+ recursive?: boolean;
7
+ }) => Promise<void>, stat: (path: import("node:fs").PathLike) => Promise<Stats>, lstat: (path: import("node:fs").PathLike) => Promise<Stats>, access: (path: import("node:fs").PathLike) => Promise<void>;
8
+ //#endregion
9
+ export { access, lstat, mkdir, readFile, readdir, rename, rm, rmdir, stat, unlink, writeFile };
package/cloud/fs.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { i as Stats } from "../index-C6ZoDJg8.js";
2
+ import { a as readFile, c as rm, d as writeFile, f as FileEntry, i as promises, l as stat, m as quota, o as readdir, p as StorageQuota, r as mkdir, s as rename, t as available, u as unlink } from "../fs-K7ROdxDx.js";
3
+ export { type FileEntry, type Stats, type StorageQuota, available, mkdir, promises, quota, readFile, readdir, rename, rm, stat, unlink, writeFile };
@@ -0,0 +1,2 @@
1
+ import { Agent, ClientRequest, ClientRequestArgs, HTTPParser, IncomingMessage, METHODS, ParsedHead, RequestListener, STATUS_CODES, Server, ServerResponse, ServerResponseOptions, _default, createServer, get, globalAgent, request } from "../http.js";
2
+ export { Agent, ClientRequest, ClientRequestArgs, HTTPParser, IncomingMessage, METHODS, ParsedHead, RequestListener, STATUS_CODES, Server, ServerResponse, ServerResponseOptions, _default, _default as default, createServer, get, globalAgent, request };
package/cloud/net.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "../net-5SVFcuzM.js";
2
+ export { Server, Socket, _default, _default as default, connect, createConnection, createServer, isIP, isIPv4, isIPv6 };
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./proxy-bPaU3-Cz.cjs"),n=require("./api-DD5v1qP9.cjs"),r=require("./dns.cjs"),i=require("./cloud/fs.cjs"),a=require("./net-CpuAhaQC.cjs"),o=require("./dgram-CE43gJq9.cjs"),s=require("./http.cjs");let c=require("osra");var l=`autoplay; fullscreen; encrypted-media; picture-in-picture; clipboard-read; clipboard-write`,u=2e4,d=65e3,f=3e4,p=5e3,m=new Set([`videoElement`]),h=()=>`https://fkn.app`,g=e=>!e||e===`about:blank`,_=e=>e?``:`incognito-${crypto.randomUUID()}`,v=({target:e,session:t})=>{let n=new URL(`/attach-frame`,h());return e&&n.searchParams.set(`url`,e),t&&n.searchParams.set(`session`,t),n.href},y=(e,t,n)=>{let r,i=new Promise((e,i)=>{r=setTimeout(()=>i(Error(n)),t)});return Promise.race([e,i]).finally(()=>clearTimeout(r))},b=(e,t)=>{let n=()=>{a(),t()},r=e.parentNode,i=new MutationObserver(()=>{(!e.isConnected||e.parentNode!==r)&&(a(),t())}),a=()=>{window.removeEventListener(`pagehide`,n),i.disconnect()};window.addEventListener(`pagehide`,n,{once:!0}),r&&i.observe(r,{childList:!0}),e.isConnected||(a(),t())},x=()=>Object.assign(Error(`cloud.attachFrame: the attached iframe left the document or was reloaded; attach a fresh iframe`),{name:t.v}),S=(e,t)=>{let n=[...e.split(`;`),...t.split(`;`)].map(e=>e.trim()).filter(Boolean);return[...new Set(n)].join(`; `)},C=[300,1200,4e3],w=e=>{let t=()=>{if(!e.isConnected)return;let t=e.style.height,n=e.getBoundingClientRect();n.height&&(e.style.height=`${n.height-1}px`,setTimeout(()=>{e.style.height=t},50))};t();for(let e of C)setTimeout(t,e)},T=e=>{let t=e.getAttribute(`sandbox`);if(t===null)return;let n=new Set(t.toLowerCase().split(/\s+/).filter(Boolean)),r=[`allow-scripts`,`allow-same-origin`].filter(e=>!n.has(e));if(r.length)throw Error(`cloud.attachFrame: the iframe's sandbox attribute must include ${r.join(` and `)} for the render proxy to load`)},E=async({iframe:e,domains:n=[],syncCookies:r=!0,lockdown:i=!1})=>{if(typeof window>`u`)throw Error(`cloud.attachFrame needs a window realm`);if(i)throw Error(`cloud.attachFrame does not support lockdown; use the extension backend for a sealed frame`);if(!e.isConnected)throw Error(`cloud.attachFrame: the iframe must be connected to the document before attaching`);T(e);let a=e.getAttribute(`src`)??``,o=(()=>{if(g(a))return null;try{return new URL(e.src||a,location.href)}catch{throw Error(`cloud.attachFrame: the iframe src is not a valid URL: ${a}`)}})();if(o){let e=new URL(`/attach-frame`,h());if(o.origin===e.origin&&o.pathname===e.pathname)throw Error(`cloud.attachFrame: this iframe is already attached; navigate with the Frame returned by that attach or use a fresh iframe`)}let s=o?.href??``;s&&t.l(s);let C=s,E=_(r),D=new AbortController;if(e.referrerPolicy=`origin`,e.allow=S(l,e.allow),e.src=v({target:s,session:E}),!e.contentWindow)throw Error(`cloud.attachFrame: the iframe window is not available`);try{let n=await y((0,c.expose)({},{key:`fkn-attach-frame`,origin:h(),transport:{receive:window,emit:e.contentWindow},unregisterSignal:D.signal}),u,`cloud.attachFrame: timed out connecting to the render proxy page`);await y(n.ready(),d,`cloud.attachFrame: the render proxy never became ready`),s&&w(e),b(e,()=>D.abort());let r=e.contentWindow,i=()=>{if(!(!D.signal.aborted&&e.isConnected&&e.contentWindow===r))throw D.abort(),x()};return t.s({executeLocator:(e,r,a)=>m.has(r)?Promise.reject(t.y(r,`cloud`)):(i(),n.executeLocator(e,r,a)),ensurePermission:async()=>{},goto:async(t,r={})=>{let a=new URL(t,location.href).href;i();let{timeoutMs:o}=r;await y(n.goto(a,r),(o??f)+p,`cloud.attachFrame: the render proxy did not answer goto; the frame may have been detached or its page reloaded`),C=a,w(e)},url:()=>C})}catch(t){throw D.abort(),e.src=s||`about:blank`,t}},D=async()=>{let e=await n.t.then(e=>e.cloud.quota());return{premium:e.premium,overQuota:e.overQuota,throttled:e.overQuota&&!e.premium,usedBytes:e.usedBytes,limitBytes:e.limitBytes,remainingBytes:e.remaining,bytesPerSecond:e.bytesPerSecond,bitsPerSecond:e.bytesPerSecond*8}},O=e.n({attachFrame:()=>E,available:()=>k,dgram:()=>o.i,dns:()=>r.t,fetch:()=>t.t,fs:()=>i.t,http:()=>s.t,net:()=>a.s,quota:()=>D}),k=()=>n.n;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return k}});