aws-delivlib 15.2.1 → 15.3.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 (52) hide show
  1. package/lib/auto-build.d.ts +7 -1
  2. package/lib/auto-build.js +2 -1
  3. package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
  4. package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
  5. package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
  6. package/lib/package-integrity/handler/validate.bundle.js +14168 -12207
  7. package/lib/publishing/github/node_modules/.yarn-integrity +3 -3
  8. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/README.md +1 -1
  9. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/async_hooks.d.ts +108 -0
  10. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/crypto.d.ts +14 -3
  11. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/events.d.ts +6 -9
  12. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs/promises.d.ts +150 -1
  13. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs.d.ts +130 -8
  14. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/http2.d.ts +16 -1
  15. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/index.d.ts +2 -0
  16. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector.generated.d.ts +5 -0
  17. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/module.d.ts +1 -0
  18. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/package.json +3 -3
  19. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/process.d.ts +54 -25
  20. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/quic.d.ts +2 -2
  21. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/repl.d.ts +15 -0
  22. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/sqlite.d.ts +54 -7
  23. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/iter.d.ts +301 -0
  24. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/web.d.ts +4 -0
  25. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream.d.ts +1 -1
  26. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/test/reporters.d.ts +1 -0
  27. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/test.d.ts +93 -16
  28. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/index.d.ts +2 -0
  29. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.7/index.d.ts +2 -0
  30. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/url.d.ts +27 -3
  31. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/vm.d.ts +55 -89
  32. package/lib/publishing/github/node_modules/@types/jsonwebtoken/node_modules/@types/node/zlib/iter.d.ts +131 -0
  33. package/lib/publishing/github/node_modules/semver/README.md +19 -4
  34. package/lib/publishing/github/node_modules/semver/bin/semver.js +14 -10
  35. package/lib/publishing/github/node_modules/semver/classes/range.js +7 -0
  36. package/lib/publishing/github/node_modules/semver/functions/truncate.js +48 -0
  37. package/lib/publishing/github/node_modules/semver/index.js +2 -0
  38. package/lib/publishing/github/node_modules/semver/internal/re.js +1 -1
  39. package/lib/publishing/github/node_modules/semver/package.json +3 -3
  40. package/lib/publishing/github/node_modules/semver/range.bnf +5 -4
  41. package/lib/publishing/github/node_modules/semver/ranges/subset.js +2 -2
  42. package/lib/publishing/github/node_modules/undici-types/client.d.ts +5 -0
  43. package/lib/publishing/github/node_modules/undici-types/connector.d.ts +2 -0
  44. package/lib/publishing/github/node_modules/undici-types/dispatcher.d.ts +8 -5
  45. package/lib/publishing/github/node_modules/undici-types/errors.d.ts +17 -1
  46. package/lib/publishing/github/node_modules/undici-types/index.d.ts +4 -1
  47. package/lib/publishing/github/node_modules/undici-types/interceptors.d.ts +7 -0
  48. package/lib/publishing/github/node_modules/undici-types/package.json +1 -1
  49. package/lib/publishing/github/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  50. package/lib/publishing/github/node_modules/undici-types/webidl.d.ts +6 -0
  51. package/lib/publishing/github/node_modules/undici-types/websocket.d.ts +2 -0
  52. package/package.json +9 -9
@@ -1242,10 +1242,14 @@ declare module "node:http2" {
1242
1242
  > extends SessionOptions {
1243
1243
  streamResetBurst?: number | undefined;
1244
1244
  streamResetRate?: number | undefined;
1245
+ /** @deprecated Use `http1Options.IncomingMessage` instead. */
1245
1246
  Http1IncomingMessage?: Http1Request | undefined;
1247
+ /** @deprecated Use `http1Options.ServerResponse` instead. */
1246
1248
  Http1ServerResponse?: Http1Response | undefined;
1249
+ http1Options?: Http1Options<Http1Request, Http1Response> | undefined;
1247
1250
  Http2ServerRequest?: Http2Request | undefined;
1248
1251
  Http2ServerResponse?: Http2Response | undefined;
1252
+ strictSingleValueFields?: boolean | undefined;
1249
1253
  }
1250
1254
  interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions {}
1251
1255
  interface SecureServerSessionOptions<
@@ -1269,6 +1273,14 @@ declare module "node:http2" {
1269
1273
  allowHTTP1?: boolean | undefined;
1270
1274
  origins?: string[] | undefined;
1271
1275
  }
1276
+ interface Http1Options<
1277
+ Request extends typeof IncomingMessage,
1278
+ Response extends typeof ServerResponse<InstanceType<Request>>,
1279
+ > {
1280
+ IncomingMessage?: Request | undefined;
1281
+ ServerResponse?: Response | undefined;
1282
+ keepAliveTimeout?: number | undefined;
1283
+ }
1272
1284
  interface Http2ServerCommon {
1273
1285
  setTimeout(msec?: number, callback?: () => void): this;
1274
1286
  /**
@@ -1286,7 +1298,10 @@ declare module "node:http2" {
1286
1298
  "checkContinue": [request: InstanceType<Http2Request>, response: InstanceType<Http2Response>];
1287
1299
  "request": [request: InstanceType<Http2Request>, response: InstanceType<Http2Response>];
1288
1300
  "session": [session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>];
1289
- "sessionError": [err: Error];
1301
+ "sessionError": [
1302
+ err: Error,
1303
+ session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1304
+ ];
1290
1305
  }
1291
1306
  interface Http2Server<
1292
1307
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
@@ -95,6 +95,7 @@
95
95
  /// <reference path="sqlite.d.ts" />
96
96
  /// <reference path="stream.d.ts" />
97
97
  /// <reference path="stream/consumers.d.ts" />
98
+ /// <reference path="stream/iter.d.ts" />
98
99
  /// <reference path="stream/promises.d.ts" />
99
100
  /// <reference path="stream/web.d.ts" />
100
101
  /// <reference path="string_decoder.d.ts" />
@@ -113,3 +114,4 @@
113
114
  /// <reference path="wasi.d.ts" />
114
115
  /// <reference path="worker_threads.d.ts" />
115
116
  /// <reference path="zlib.d.ts" />
117
+ /// <reference path="zlib/iter.d.ts" />
@@ -2035,6 +2035,9 @@ declare module "node:inspector" {
2035
2035
  autoAttach: boolean;
2036
2036
  waitForDebuggerOnStart: boolean;
2037
2037
  }
2038
+ interface GetTargetsReturnType {
2039
+ targetInfos: TargetInfo[];
2040
+ }
2038
2041
  interface TargetCreatedEventDataType {
2039
2042
  targetInfo: TargetInfo;
2040
2043
  }
@@ -2506,6 +2509,7 @@ declare module "node:inspector" {
2506
2509
  */
2507
2510
  post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void;
2508
2511
  post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void;
2512
+ post(method: "Target.getTargets", callback?: (err: Error | null, params: Target.GetTargetsReturnType) => void): void;
2509
2513
  post(method: "Target.setAutoAttach", params?: Target.SetAutoAttachParameterType, callback?: (err: Error | null) => void): void;
2510
2514
  post(method: "Target.setAutoAttach", callback?: (err: Error | null) => void): void;
2511
2515
  post(method: "DOMStorage.clear", params?: DOMStorage.ClearParameterType, callback?: (err: Error | null) => void): void;
@@ -3642,6 +3646,7 @@ declare module "node:inspector/promises" {
3642
3646
  * Detached from the worker with given sessionId.
3643
3647
  */
3644
3648
  post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType): Promise<void>;
3649
+ post(method: "Target.getTargets"): Promise<Target.GetTargetsReturnType>;
3645
3650
  post(method: "Target.setAutoAttach", params?: Target.SetAutoAttachParameterType): Promise<void>;
3646
3651
  post(method: "DOMStorage.clear", params?: DOMStorage.ClearParameterType): Promise<void>;
3647
3652
  /**
@@ -218,6 +218,7 @@ declare module "node:module" {
218
218
  * This feature requires `--allow-worker` if used with the
219
219
  * [Permission Model](https://nodejs.org/docs/latest-v25.x/api/permissions.html#permission-model).
220
220
  * @since v20.6.0, v18.19.0
221
+ * @deprecated Use `module.registerHooks()` instead.
221
222
  * @param specifier Customization hooks to be registered; this should be
222
223
  * the same string that would be passed to `import()`, except that if it is
223
224
  * relative, it is resolved relative to `parentURL`.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "25.6.0",
3
+ "version": "25.9.1",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -147,9 +147,9 @@
147
147
  },
148
148
  "scripts": {},
149
149
  "dependencies": {
150
- "undici-types": "~7.19.0"
150
+ "undici-types": ">=7.24.0 <7.24.7"
151
151
  },
152
152
  "peerDependencies": {},
153
- "typesPublisherContentHash": "753bd9272f1c86686cc2d1bb435a7f033157f700201f64f0319742347e1ca060",
153
+ "typesPublisherContentHash": "2546f5f588e15fc9aa202a3005dab2859d006fd48a8448107741e5ce184e9098",
154
154
  "typeScriptVersion": "5.3"
155
155
  }
@@ -822,6 +822,28 @@ declare module "node:process" {
822
822
  * @since v0.7.0
823
823
  */
824
824
  abort(): never;
825
+ /**
826
+ * The `process.addUncaughtExceptionCaptureCallback()` function adds a callback
827
+ * that will be invoked when an uncaught exception occurs, receiving the exception
828
+ * value as its first argument.
829
+ *
830
+ * Unlike `process.setUncaughtExceptionCaptureCallback()`, this function allows
831
+ * multiple callbacks to be registered and does not conflict with the
832
+ * [`domain`](https://nodejs.org/docs/latest-v25.x/api/domain.html) module. Callbacks are called in reverse order of registration
833
+ * (most recent first). If a callback returns `true`, subsequent callbacks
834
+ * and the default uncaught exception handling are skipped.
835
+ *
836
+ * ```js
837
+ * import process from 'node:process';
838
+ *
839
+ * process.addUncaughtExceptionCaptureCallback((err) => {
840
+ * console.error('Caught exception:', err.message);
841
+ * return true; // Indicates exception was handled
842
+ * });
843
+ * ```
844
+ * @since v25.9.0
845
+ */
846
+ addUncaughtExceptionCaptureCallback(fn: (err: unknown) => boolean): void;
825
847
  /**
826
848
  * The `process.chdir()` method changes the current working directory of the
827
849
  * Node.js process or throws an exception if doing so fails (for instance, if
@@ -1418,9 +1440,11 @@ declare module "node:process" {
1418
1440
  * method with a non-`null` argument while another capture function is set will
1419
1441
  * throw an error.
1420
1442
  *
1421
- * Using this function is mutually exclusive with using the deprecated `domain` built-in module.
1443
+ * To register multiple callbacks that can coexist, use
1444
+ * `process.addUncaughtExceptionCaptureCallback()` instead.
1422
1445
  * @since v9.3.0
1423
1446
  */
1447
+ // TODO: callback parameter should be `unknown`
1424
1448
  setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void;
1425
1449
  /**
1426
1450
  * Indicates whether a callback has been set using {@link setUncaughtExceptionCaptureCallback}.
@@ -1474,30 +1498,35 @@ declare module "node:process" {
1474
1498
  * Will generate an object similar to:
1475
1499
  *
1476
1500
  * ```console
1477
- * { node: '20.2.0',
1478
- * acorn: '8.8.2',
1479
- * ada: '2.4.0',
1480
- * ares: '1.19.0',
1481
- * base64: '0.5.0',
1482
- * brotli: '1.0.9',
1483
- * cjs_module_lexer: '1.2.2',
1484
- * cldr: '43.0',
1485
- * icu: '73.1',
1486
- * llhttp: '8.1.0',
1487
- * modules: '115',
1488
- * napi: '8',
1489
- * nghttp2: '1.52.0',
1490
- * nghttp3: '0.7.0',
1491
- * ngtcp2: '0.8.1',
1492
- * openssl: '3.0.8+quic',
1493
- * simdutf: '3.2.9',
1494
- * tz: '2023c',
1495
- * undici: '5.22.0',
1496
- * unicode: '15.0',
1497
- * uv: '1.44.2',
1498
- * uvwasi: '0.0.16',
1499
- * v8: '11.3.244.8-node.9',
1500
- * zlib: '1.2.13' }
1501
+ * { node: '26.0.0-pre',
1502
+ * acorn: '8.15.0',
1503
+ * ada: '3.4.1',
1504
+ * amaro: '1.1.5',
1505
+ * ares: '1.34.6',
1506
+ * brotli: '1.2.0',
1507
+ * merve: '1.0.0',
1508
+ * cldr: '48.0',
1509
+ * icu: '78.2',
1510
+ * llhttp: '9.3.0',
1511
+ * modules: '144',
1512
+ * napi: '10',
1513
+ * nbytes: '0.1.1',
1514
+ * ncrypto: '0.0.1',
1515
+ * nghttp2: '1.68.0',
1516
+ * nghttp3: '',
1517
+ * ngtcp2: '',
1518
+ * openssl: '3.5.4',
1519
+ * simdjson: '4.2.4',
1520
+ * simdutf: '7.3.3',
1521
+ * sqlite: '3.51.2',
1522
+ * tz: '2025c',
1523
+ * undici: '7.18.2',
1524
+ * unicode: '17.0',
1525
+ * uv: '1.51.0',
1526
+ * uvwasi: '0.0.23',
1527
+ * v8: '14.3.127.18-node.10',
1528
+ * zlib: '1.3.1-e00f703',
1529
+ * zstd: '1.5.7' }
1501
1530
  * ```
1502
1531
  * @since v0.2.0
1503
1532
  */
@@ -179,7 +179,7 @@ declare module "node:quic" {
179
179
  * The TLS crypto keys to use for sessions.
180
180
  * @since v23.8.0
181
181
  */
182
- keys?: KeyObject | webcrypto.CryptoKey | ReadonlyArray<KeyObject | webcrypto.CryptoKey> | undefined;
182
+ keys?: KeyObject | readonly KeyObject[] | undefined;
183
183
  /**
184
184
  * Specifies the maximum UDP packet payload size.
185
185
  * @since v23.8.0
@@ -653,7 +653,7 @@ declare module "node:quic" {
653
653
  /**
654
654
  * Sends an unreliable datagram to the remote peer, returning the datagram ID.
655
655
  * If the datagram payload is specified as an `ArrayBufferView`, then ownership of
656
- * that view will be transfered to the underlying stream.
656
+ * that view will be transferred to the underlying stream.
657
657
  * @since v23.8.0
658
658
  */
659
659
  sendDatagram(datagram: string | NodeJS.ArrayBufferView): bigint;
@@ -86,6 +86,21 @@ declare module "node:repl" {
86
86
  * @default false
87
87
  */
88
88
  breakEvalOnSigint?: boolean | undefined;
89
+ /**
90
+ * This function customizes error handling in the REPL.
91
+ * It receives the thrown exception as its first argument and must return one
92
+ * of the following values synchronously:
93
+ * * `'print'` to print the error to the output stream (default behavior).
94
+ * * `'ignore'` to skip all remaining error handling.
95
+ * * `'unhandled'` to treat the exception as fully unhandled. In this case,
96
+ * the error will be passed to process-wide exception handlers, such as
97
+ * the `'uncaughtException'` event.
98
+ * The `'unhandled'` value may or may not be desirable in situations
99
+ * where the `REPLServer` instance has been closed, depending on the particular
100
+ * use case.
101
+ * @since v25.9.0
102
+ */
103
+ handleError?: ((err: unknown) => "print" | "ignore" | "unhandled") | undefined;
89
104
  }
90
105
  type REPLEval = (
91
106
  this: REPLServer,
@@ -87,6 +87,29 @@ declare module "node:sqlite" {
87
87
  * @default true
88
88
  */
89
89
  defensive?: boolean | undefined;
90
+ /**
91
+ * Configuration for various SQLite limits. These limits
92
+ * can be used to prevent excessive resource consumption when handling
93
+ * potentially malicious input. See [Run-Time Limits](https://www.sqlite.org/c3ref/c_limit_attached.html) and [Limit Constants](https://www.sqlite.org/c3ref/limit.html)
94
+ * in the SQLite documentation for details. Default values are determined by
95
+ * SQLite's compile-time defaults and may vary depending on how SQLite was
96
+ * built. The following properties are supported:
97
+ * @since v25.8.0
98
+ */
99
+ limits?: NodeJS.PartialOptions<DatabaseLimits> | undefined;
100
+ }
101
+ interface DatabaseLimits {
102
+ length: number;
103
+ sqlLength: number;
104
+ column: number;
105
+ exprDepth: number;
106
+ compoundSelect: number;
107
+ vdbeOp: number;
108
+ functionArg: number;
109
+ attach: number;
110
+ likePatternLength: number;
111
+ variableNumber: number;
112
+ triggerDepth: number;
90
113
  }
91
114
  interface CreateSessionOptions {
92
115
  /**
@@ -311,18 +334,17 @@ declare module "node:sqlite" {
311
334
  * @since v22.13.0
312
335
  * @param name The name of the SQLite function to create.
313
336
  * @param options Optional configuration settings for the function.
314
- * @param func The JavaScript function to call when the SQLite
315
- * function is invoked. The return value of this function should be a valid
316
- * SQLite data type: see
317
- * [Type conversion between JavaScript and SQLite](https://nodejs.org/docs/latest-v25.x/api/sqlite.html#type-conversion-between-javascript-and-sqlite).
318
- * The result defaults to `NULL` if the return value is `undefined`.
337
+ * @param fn The JavaScript function to call when the SQLite function is
338
+ * invoked. The return value of this function should be a valid SQLite data type:
339
+ * see [Type conversion between JavaScript and SQLite](https://nodejs.org/docs/latest-v25.x/api/sqlite.html#type-conversion-between-javascript-and-sqlite). The result defaults to
340
+ * `NULL` if the return value is `undefined`.
319
341
  */
320
342
  function(
321
343
  name: string,
322
344
  options: FunctionOptions,
323
- func: (...args: SQLOutputValue[]) => SQLInputValue,
345
+ fn: (...args: SQLOutputValue[]) => SQLInputValue,
324
346
  ): void;
325
- function(name: string, func: (...args: SQLOutputValue[]) => SQLInputValue): void;
347
+ function(name: string, fn: (...args: SQLOutputValue[]) => SQLInputValue): void;
326
348
  /**
327
349
  * Sets an authorizer callback that SQLite will invoke whenever it attempts to
328
350
  * access data or modify the database schema through prepared statements.
@@ -392,6 +414,31 @@ declare module "node:sqlite" {
392
414
  * @since v24.0.0
393
415
  */
394
416
  readonly isTransaction: boolean;
417
+ /**
418
+ * An object for getting and setting SQLite database limits at runtime.
419
+ * Each property corresponds to an SQLite limit and can be read or written.
420
+ *
421
+ * ```js
422
+ * const db = new DatabaseSync(':memory:');
423
+ *
424
+ * // Read current limit
425
+ * console.log(db.limits.length);
426
+ *
427
+ * // Set a new limit
428
+ * db.limits.sqlLength = 100000;
429
+ *
430
+ * // Reset a limit to its compile-time maximum
431
+ * db.limits.sqlLength = Infinity;
432
+ * ```
433
+ *
434
+ * Available properties: `length`, `sqlLength`, `column`, `exprDepth`,
435
+ * `compoundSelect`, `vdbeOp`, `functionArg`, `attach`, `likePatternLength`,
436
+ * `variableNumber`, `triggerDepth`.
437
+ *
438
+ * Setting a property to `Infinity` resets the limit to its compile-time maximum value.
439
+ * @since v25.8.0
440
+ */
441
+ readonly limits: DatabaseLimits;
395
442
  /**
396
443
  * Opens the database specified in the `path` argument of the `DatabaseSync`constructor. This method should only be used when the database is not opened via
397
444
  * the constructor. An exception is thrown if the database is already open.
@@ -0,0 +1,301 @@
1
+ declare module "node:stream/iter" {
2
+ // Symbols and custom typedefs
3
+ const broadcastProtocol: unique symbol;
4
+ const drainableProtocol: unique symbol;
5
+ const shareProtocol: unique symbol;
6
+ const shareSyncProtocol: unique symbol;
7
+ const toAsyncStreamable: unique symbol;
8
+ const toStreamable: unique symbol;
9
+ type Source =
10
+ | string
11
+ | ArrayBufferLike
12
+ | ArrayBufferView
13
+ | Iterable<SyncSource>
14
+ | AsyncIterable<Source>
15
+ | Streamable
16
+ | AsyncStreamable;
17
+ type SyncSource = string | ArrayBufferLike | ArrayBufferView | Iterable<SyncSource> | Streamable;
18
+ type Transform = StatelessTransformFn | StatefulTransform;
19
+ type SyncTransform = SyncStatelessTransformFn | SyncStatefulTransform;
20
+ type TransformResult =
21
+ | string
22
+ | ArrayBufferLike
23
+ | ArrayBufferView
24
+ | Iterable<SyncTransformResult>
25
+ | AsyncIterable<TransformResult>;
26
+ type SyncTransformResult = string | ArrayBufferLike | ArrayBufferView | Iterable<SyncTransformResult>;
27
+ interface AsyncStreamable {
28
+ [toAsyncStreamable](): Source;
29
+ }
30
+ interface Broadcastable {
31
+ [broadcastProtocol](options: BroadcastOptions): Broadcast;
32
+ }
33
+ interface Drainable {
34
+ [drainableProtocol](): Promise<boolean> | null;
35
+ }
36
+ interface Shareable {
37
+ [shareProtocol](options: ShareOptions): Share;
38
+ }
39
+ interface Streamable {
40
+ [toStreamable](): SyncSource;
41
+ }
42
+ interface SyncShareable {
43
+ [shareSyncProtocol](options: ShareSyncOptions): SyncShare;
44
+ }
45
+ // IDL dictionaries, enums, typedefs
46
+ type BackpressurePolicy = "strict" | "block" | "drop-oldest" | "drop-newest";
47
+ type ByteReadableStream = AsyncIterable<Uint8Array[]>;
48
+ type SyncByteReadableStream = Iterable<Uint8Array[]>;
49
+ interface WriteOptions {
50
+ signal?: AbortSignal;
51
+ }
52
+ interface PushStreamOptions {
53
+ highWaterMark?: number;
54
+ backpressure?: BackpressurePolicy;
55
+ signal?: AbortSignal;
56
+ }
57
+ interface PullOptions {
58
+ signal?: AbortSignal;
59
+ }
60
+ interface PipeToOptions {
61
+ signal?: AbortSignal;
62
+ preventClose?: boolean;
63
+ preventFail?: boolean;
64
+ }
65
+ interface PipeToSyncOptions {
66
+ preventClose?: boolean;
67
+ preventFail?: boolean;
68
+ }
69
+ interface ConsumeOptions {
70
+ signal?: AbortSignal;
71
+ limit?: number;
72
+ }
73
+ interface ConsumeSyncOptions {
74
+ limit?: number;
75
+ }
76
+ interface TextConsumeOptions extends ConsumeOptions {
77
+ encoding?: string;
78
+ }
79
+ interface TextConsumeSyncOptions extends ConsumeSyncOptions {
80
+ encoding?: string;
81
+ }
82
+ interface MergeOptions {
83
+ signal?: AbortSignal;
84
+ }
85
+ interface BroadcastOptions {
86
+ highWaterMark?: number;
87
+ backpressure?: BackpressurePolicy;
88
+ signal?: AbortSignal;
89
+ }
90
+ interface ShareOptions {
91
+ highWaterMark?: number;
92
+ backpressure?: BackpressurePolicy;
93
+ signal?: AbortSignal;
94
+ }
95
+ interface ShareSyncOptions {
96
+ highWaterMark?: number;
97
+ backpressure?: BackpressurePolicy;
98
+ }
99
+ interface DuplexDirectionOptions {
100
+ highWaterMark?: number;
101
+ backpressure?: BackpressurePolicy;
102
+ }
103
+ interface DuplexOptions {
104
+ highWaterMark?: number;
105
+ backpressure?: BackpressurePolicy;
106
+ a?: DuplexDirectionOptions;
107
+ b?: DuplexDirectionOptions;
108
+ signal?: AbortSignal;
109
+ }
110
+ interface TransformCallbackOptions {
111
+ signal: AbortSignal;
112
+ }
113
+ interface StatelessTransformFn {
114
+ (
115
+ chunks: Uint8Array[] | null,
116
+ options: TransformCallbackOptions,
117
+ ): Promise<TransformResult | null> | TransformResult | null;
118
+ }
119
+ interface SyncStatelessTransformFn {
120
+ (chunks: Uint8Array[] | null): SyncTransformResult | null;
121
+ }
122
+ interface StatefulTransform {
123
+ transform(
124
+ source: AsyncIterable<Uint8Array[] | null>,
125
+ options: TransformCallbackOptions,
126
+ ): AsyncIterable<TransformResult>;
127
+ }
128
+ interface SyncStatefulTransform {
129
+ transform(source: Iterable<Uint8Array[] | null>): Iterable<SyncTransformResult>;
130
+ }
131
+ // IDL interfaces
132
+ interface PushWriter extends Writer, Drainable {}
133
+ interface PushStreamResult {
134
+ writer: PushWriter;
135
+ readable: ByteReadableStream;
136
+ }
137
+ interface BroadcastWriter extends Writer, Drainable {}
138
+ interface BroadcastResult {
139
+ writer: BroadcastWriter;
140
+ broadcast: Broadcast;
141
+ }
142
+ interface Writer extends Disposable, AsyncDisposable {
143
+ readonly desiredSize: number | null;
144
+ write(chunk: Uint8Array | string, options?: WriteOptions): Promise<void>;
145
+ writev(chunks: Array<Uint8Array | string>, options?: WriteOptions): Promise<void>;
146
+ writeSync(chunk: Uint8Array | string): boolean;
147
+ writevSync(chunks: Array<Uint8Array | string>): boolean;
148
+ end(options?: WriteOptions): Promise<number>;
149
+ endSync(): number;
150
+ fail(reason?: any): void;
151
+ }
152
+ interface PartialWriter extends Partial<Writer> {
153
+ write(chunk: Uint8Array | string, options?: WriteOptions): Promise<void>;
154
+ }
155
+ interface SyncWriter extends Disposable {
156
+ readonly desiredSize: number | null;
157
+ writeSync(chunk: Uint8Array | string): number;
158
+ writevSync(chunks: Array<Uint8Array | string>): number;
159
+ endSync(): number;
160
+ fail(reason?: any): void;
161
+ }
162
+ interface PartialSyncWriter extends Partial<SyncWriter> {
163
+ writeSync(chunk: Uint8Array | string): number;
164
+ }
165
+ interface Broadcast extends Disposable {
166
+ readonly consumerCount: number;
167
+ readonly bufferSize: number;
168
+ push(...args: any[]): ByteReadableStream;
169
+ cancel(reason?: any): void;
170
+ }
171
+ interface Share extends Disposable {
172
+ readonly consumerCount: number;
173
+ readonly bufferSize: number;
174
+ pull(...args: any[]): ByteReadableStream;
175
+ cancel(reason?: any): void;
176
+ }
177
+ interface SyncShare extends Disposable {
178
+ readonly consumerCount: number;
179
+ readonly bufferSize: number;
180
+ pull(...args: any): SyncByteReadableStream;
181
+ cancel(reason?: any): void;
182
+ }
183
+ interface DuplexChannel extends AsyncDisposable {
184
+ readonly writer: Writer;
185
+ readonly readable: ByteReadableStream;
186
+ close(): Promise<void>;
187
+ }
188
+ // Push stream creation
189
+ function push(...transforms: Transform[]): PushStreamResult;
190
+ function push(...args: [...transforms: Transform[], options: PushStreamOptions]): PushStreamResult;
191
+ // Stream factories
192
+ function from(input: Source): ByteReadableStream;
193
+ function fromSync(input: SyncSource): SyncByteReadableStream;
194
+ // Pull pipelines
195
+ function pull(source: Source, ...transforms: Transform[]): ByteReadableStream;
196
+ function pull(
197
+ source: Source,
198
+ ...args: [...transforms: Transform[], options: PullOptions]
199
+ ): ByteReadableStream;
200
+ function pullSync(source: SyncSource, ...transforms: SyncTransform[]): SyncByteReadableStream;
201
+ // Pipe operations
202
+ function pipeTo(source: Source, writer: PartialWriter, options?: PipeToOptions): Promise<number>;
203
+ function pipeTo(source: Source, ...args: [...transforms: Transform[], writer: PartialWriter]): Promise<number>;
204
+ function pipeTo(
205
+ source: Source,
206
+ ...args: [...transforms: Transform[], writer: PartialWriter, options: PipeToOptions]
207
+ ): Promise<number>;
208
+ function pipeToSync(source: SyncSource, writer: PartialSyncWriter, options?: PipeToSyncOptions): number;
209
+ function pipeToSync(
210
+ source: SyncSource,
211
+ ...args: [...transforms: SyncTransform[], writer: PartialSyncWriter]
212
+ ): number;
213
+ function pipeToSync(
214
+ source: SyncSource,
215
+ ...args: [...transforms: SyncTransform[], writer: PartialSyncWriter, options: PipeToSyncOptions]
216
+ ): number;
217
+ // Consumers
218
+ function bytes(source: Source, options?: ConsumeOptions): Promise<Uint8Array>;
219
+ function bytesSync(source: SyncSource, options?: ConsumeSyncOptions): Uint8Array;
220
+ function text(source: Source, options?: TextConsumeOptions): Promise<string>;
221
+ function textSync(source: SyncSource, options?: TextConsumeSyncOptions): string;
222
+ function arrayBuffer(source: Source, options?: ConsumeOptions): Promise<ArrayBuffer>;
223
+ function arrayBufferSync(source: SyncSource, options?: ConsumeSyncOptions): ArrayBuffer;
224
+ function array(source: Source, options?: ConsumeOptions): Promise<Uint8Array[]>;
225
+ function arraySync(source: SyncSource, options?: ConsumeSyncOptions): Uint8Array[];
226
+ // Utilities
227
+ function tap(callback: StatelessTransformFn): StatelessTransformFn;
228
+ function tapSync(callback: SyncStatelessTransformFn): SyncStatelessTransformFn;
229
+ function merge(...sources: Source[]): ByteReadableStream;
230
+ function merge(...args: [...sources: Source[], options: MergeOptions]): ByteReadableStream;
231
+ function ondrain(drainable: any): Promise<boolean> | null;
232
+ // Multi-consumer
233
+ function broadcast(options?: BroadcastOptions): BroadcastResult;
234
+ function share(source: Source, options?: ShareOptions): Share;
235
+ function shareSync(source: SyncSource, options?: ShareSyncOptions): SyncShare;
236
+ // Duplex
237
+ function duplex(options?: DuplexOptions): [DuplexChannel, DuplexChannel];
238
+ // Node.js-specific extensions
239
+ namespace Broadcast {
240
+ /**
241
+ * Create a `Broadcast` from an existing source. The source is consumed
242
+ * automatically and pushed to all subscribers.
243
+ * @since v25.9.0
244
+ * @param options Same as `broadcast()`.
245
+ */
246
+ function from(
247
+ input: ByteReadableStream | SyncByteReadableStream | Broadcastable,
248
+ options?: BroadcastOptions,
249
+ ): BroadcastResult;
250
+ }
251
+ namespace Share {
252
+ /**
253
+ * Create a `Share` from an existing source.
254
+ * @since v25.9.0
255
+ * @param options Same as `share()`.
256
+ */
257
+ function from(input: ByteReadableStream | SyncByteReadableStream | Shareable, options?: ShareOptions): Share;
258
+ }
259
+ namespace SyncShare {
260
+ /**
261
+ * @since v25.9.0
262
+ */
263
+ function from(input: SyncByteReadableStream | SyncShareable, options?: ShareSyncOptions): SyncShare;
264
+ }
265
+ namespace Stream {
266
+ export {
267
+ array,
268
+ arrayBuffer,
269
+ arrayBufferSync,
270
+ arraySync,
271
+ broadcast,
272
+ broadcastProtocol,
273
+ bytes,
274
+ bytesSync,
275
+ drainableProtocol,
276
+ duplex,
277
+ from,
278
+ fromSync,
279
+ merge,
280
+ ondrain,
281
+ pipeTo,
282
+ pipeToSync,
283
+ pull,
284
+ pullSync,
285
+ push,
286
+ share,
287
+ shareProtocol,
288
+ shareSync,
289
+ shareSyncProtocol,
290
+ tap,
291
+ tapSync,
292
+ text,
293
+ textSync,
294
+ toAsyncStreamable,
295
+ toStreamable,
296
+ };
297
+ }
298
+ }
299
+ declare module "stream/iter" {
300
+ export * from "node:stream/iter";
301
+ }
@@ -52,12 +52,16 @@ declare module "node:stream/web" {
52
52
  signal?: AbortSignal;
53
53
  }
54
54
  interface Transformer<I = any, O = any> {
55
+ cancel?: TransformerCancelCallback;
55
56
  flush?: TransformerFlushCallback<O>;
56
57
  readableType?: undefined;
57
58
  start?: TransformerStartCallback<O>;
58
59
  transform?: TransformerTransformCallback<I, O>;
59
60
  writableType?: undefined;
60
61
  }
62
+ interface TransformerCancelCallback {
63
+ (reason: any): void | PromiseLike<void>;
64
+ }
61
65
  interface TransformerFlushCallback<O> {
62
66
  (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
63
67
  }