@procedures/client 0.41.1 → 0.42.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 (63) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/adapters/http/client/batch.d.ts +98 -0
  4. package/dist/adapters/http/client/batch.d.ts.map +1 -0
  5. package/dist/adapters/http/client/batch.js +414 -0
  6. package/dist/adapters/http/client/batch.js.map +1 -0
  7. package/dist/adapters/http/client/index.d.ts +1 -0
  8. package/dist/adapters/http/client/index.d.ts.map +1 -1
  9. package/dist/adapters/http/client/index.js.map +1 -1
  10. package/dist/adapters/http/client/transport.d.ts +7 -0
  11. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  12. package/dist/adapters/http/client/transport.js +27 -1
  13. package/dist/adapters/http/client/transport.js.map +1 -1
  14. package/dist/adapters/http/client/types.d.ts +9 -0
  15. package/dist/adapters/http/client/types.d.ts.map +1 -1
  16. package/dist/adapters/http/server/addressing.d.ts +5 -0
  17. package/dist/adapters/http/server/addressing.d.ts.map +1 -1
  18. package/dist/adapters/http/server/addressing.js +1 -1
  19. package/dist/adapters/http/server/addressing.js.map +1 -1
  20. package/dist/adapters/http/server/batch.d.ts +105 -0
  21. package/dist/adapters/http/server/batch.d.ts.map +1 -0
  22. package/dist/adapters/http/server/batch.js +172 -0
  23. package/dist/adapters/http/server/batch.js.map +1 -0
  24. package/dist/adapters/http/server/handler.d.ts +8 -0
  25. package/dist/adapters/http/server/handler.d.ts.map +1 -1
  26. package/dist/adapters/http/server/handler.js +103 -16
  27. package/dist/adapters/http/server/handler.js.map +1 -1
  28. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  29. package/dist/adapters/http/server/transport.js +13 -2
  30. package/dist/adapters/http/server/transport.js.map +1 -1
  31. package/dist/adapters/http/server/types.d.ts +7 -0
  32. package/dist/adapters/http/server/types.d.ts.map +1 -1
  33. package/dist/adapters/http/shared/errors.d.ts +6 -8
  34. package/dist/adapters/http/shared/errors.d.ts.map +1 -1
  35. package/dist/adapters/http/shared/errors.js +10 -9
  36. package/dist/adapters/http/shared/errors.js.map +1 -1
  37. package/dist/adapters/http/shared/status-codes.d.ts +13 -9
  38. package/dist/adapters/http/shared/status-codes.d.ts.map +1 -1
  39. package/dist/adapters/http/shared/status-codes.js +21 -19
  40. package/dist/adapters/http/shared/status-codes.js.map +1 -1
  41. package/dist/browser.d.ts +1 -1
  42. package/dist/browser.d.ts.map +1 -1
  43. package/dist/browser.js.map +1 -1
  44. package/dist/client/index.d.ts +1 -1
  45. package/dist/client/index.d.ts.map +1 -1
  46. package/dist/node.d.ts +1 -0
  47. package/dist/node.d.ts.map +1 -1
  48. package/dist/node.js.map +1 -1
  49. package/package.json +3 -3
  50. package/src/adapters/http/client/batch.ts +463 -0
  51. package/src/adapters/http/client/index.ts +1 -0
  52. package/src/adapters/http/client/transport.ts +31 -1
  53. package/src/adapters/http/client/types.ts +10 -0
  54. package/src/adapters/http/server/addressing.ts +1 -1
  55. package/src/adapters/http/server/batch.ts +237 -0
  56. package/src/adapters/http/server/handler.ts +119 -17
  57. package/src/adapters/http/server/transport.ts +15 -4
  58. package/src/adapters/http/server/types.ts +8 -0
  59. package/src/adapters/http/shared/errors.ts +10 -9
  60. package/src/adapters/http/shared/status-codes.ts +21 -21
  61. package/src/browser.ts +1 -0
  62. package/src/client/index.ts +1 -1
  63. package/src/node.ts +2 -0
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { DELIVERY_METADATA_KEY, RETRY_AFTER_METADATA_KEY, isNotSentError } from "../../../client/middleware/items.js";
8
8
  import { StreamSequence, streamItemMetadata } from "../../sequence.js";
9
+ import { HttpBatcher } from "./batch.js";
9
10
  /**
10
11
  * The wait that an error response asks for, in milliseconds: `retryAfterMs` of the body of the
11
12
  * server transport, or else the Retry-After header (seconds, or an HTTP date).
@@ -76,14 +77,39 @@ export class HttpTransport {
76
77
  ...(options.credentials !== undefined ? { credentials: options.credentials } : {}),
77
78
  };
78
79
  this.fetchFn = options.fetch;
80
+ const batch = options.batch === true ? {} : options.batch || undefined;
81
+ this.batcher = batch
82
+ ? new HttpBatcher({
83
+ url: batch.url ?? this.baseUrl,
84
+ timeoutMs: this.timeout,
85
+ fetch: (url, init) => (this.fetchFn ?? fetch)(url, init),
86
+ init: () => ({ headers: this.defaultHeaders, init: this.requestInit }),
87
+ headersOf: (metadata) => this.headerConverter.metadataToHeaders(metadata),
88
+ metadataOf: (headers) => this.headerConverter.headersToMetadata(headers),
89
+ statusOf: (status, body) => this.httpStatusToUniversal(status, body),
90
+ bodyOf: (response) => this.parseResponseBody(response),
91
+ sendOne: (message) => this.sendOne(message),
92
+ }, batch)
93
+ : undefined;
79
94
  }
95
+ /** The batches of the calls (CLI-32), or undefined without the option `batch` */
96
+ batcher;
80
97
  /**
81
98
  * Send HTTP request and yield its response: one item, or the items of an NDJSON stream.
82
99
  *
83
100
  * The `timeout` option covers the time to the first item. Before, it covered a whole NDJSON
84
101
  * stream, so a long stream always failed (deep dive TRN-7).
102
+ *
103
+ * With the option `batch`, the `POST` calls that start in the same turn of the event loop go in
104
+ * one request (CLI-32). Each call still gets its own items.
85
105
  */
86
- async *send(message) {
106
+ send(message) {
107
+ if (this.batcher && this.httpMethodStrategy(message.method) === HTTPMethod.POST)
108
+ return this.batcher.send(message);
109
+ return this.sendOne(message);
110
+ }
111
+ /** The request of one call. */
112
+ async *sendOne(message) {
87
113
  // Convert Method → URL
88
114
  const url = this.urlStrategy(message.method, this.baseUrl);
89
115
  // Convert Method → HTTP method
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/client/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;GAGG;AACH,SAAS,cAAc,CAAC,MAAqB,EAAE,IAAa;IAC1D,MAAM,QAAQ,GAAI,IAAsD,EAAE,YAAY,CAAC;IACvF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,OAAO,GAAG,IAAI,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,wEAAwE;AACxE,MAAM,MAAM,GAAG,sBAAsB,CAAC;AAEtC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EAIX,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAgB,IAAI,CAAC;IAEjB,OAAO,CAAS;IAChB,WAAW,CAAc;IACzB,kBAAkB,CAAqB;IACvC,eAAe,CAAkB;IACjC,cAAc,CAAyB;IACvC,OAAO,CAAqB;IAC7C,wFAAwF;IACvE,WAAW,CAA8D;IAC1F,qFAAqF;IACpE,OAAO,CAA2B;IAEnD,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,kBAAkB;YACrB,OAAO,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe;YAClB,OAAO,CAAC,eAAe,IAAI,4BAA4B,EAAE,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,OAAO,CAAC,WAAW;YACtB,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,IAAI,CACT,OAAsB;QAEtB,uBAAuB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3D,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,yFAAyF;QACzF,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO;YAC1B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC,CAAC;QACF,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC;YACH,oFAAoF;YACpF,kCAAkC;YAClC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEjF,sBAAsB;YACtB,MAAM,YAAY,GAAgB;gBAChC,GAAG,IAAI,CAAC,WAAW;gBACnB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE;oBACP,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,kBAAkB;oBAC9C,wEAAwE;oBACxE,MAAM,EAAE,GAAG,MAAM,oBAAoB;oBACrC,oDAAoD;oBACpD,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC3C,GAAG,IAAI,CAAC,cAAc;oBACtB,GAAG,eAAe;iBACnB;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC;YAEF,yFAAyF;YACzF,4EAA4E;YAC5E,IAAI,UAAU,KAAK,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;YAED,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE1E,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtF,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAO,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;gBACtG,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5D,SAAS,EAAE,CAAC;YAEZ,wFAAwF;YACxF,yFAAyF;YACzF,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAoB,EAAE,YAAY,CAAC,CAAC;YACvF,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;gBACrF,IAAI,UAAU,KAAK,SAAS;oBAAE,QAAQ,CAAC,wBAAwB,CAAC,GAAG,UAAU,CAAC;gBAC9E,wFAAwF;gBACxF,qFAAqF;gBACrF,MAAM,IAAI,GAAG,YAAuE,CAAC;gBACrF,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/I,IAAI,MAAM,KAAK,SAAS;oBAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBACtD,iEAAiE;gBACjE,MAAM,SAAS,GAAI,YAA2D,EAAE,SAAS,CAAC;gBAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;YAClE,CAAC;YAED,6BAA6B;YAC7B,MAAM;gBACJ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM;gBACN,OAAO,EAAE,YAAoB;gBAC7B,QAAQ;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,mDAAmD;YACnD,MAAM,IAAI,GAAI,KAAwC,EAAE,IAAI,CAAC;YAC7D,MAAM,YAAY,GAAG,QAAQ;gBAC3B,CAAC,CAAC,4EAA4E;oBAC5E,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,2BAA2B,IAAI,CAAC,OAAO,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC7F,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,YAAY,KAAK;oBACvD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;oBACpD,CAAC,CAAC,KAAK,YAAY,KAAK;wBACtB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;wBAC7B,CAAC,CAAC,wBAAwB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE7D,MAAM;gBACJ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC;gBACD,OAAO,EAAE,IAAY;gBACrB,qFAAqF;gBACrF,6DAA6D;gBAC7D,QAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE;aAC5F,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,qEAAqE;YACrE,IAAI,CAAC,QAAQ;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,CAAC,UAAU,CACvB,EAAU,EACV,IAAgC,EAChC,QAAwC,EACxC,KAAiB,EACjB,WAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,IAAI,OAAe,CAAC;gBACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACnC,qDAAqD;oBACrD,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAK5B,CAAC;oBACF,WAAW,EAAE,CAAC;oBACd,oFAAoF;oBACpF,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3F,IAAI,GAAG,GAAG,CAAC;wBAAE,SAAS;oBACtB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAe,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;oBACpI,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,KAAK,EAAE,CAAC;wBACR,OAAO;oBACT,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAClC,KAAK,EAAE,CAAC;wBACR,MAAM;4BACJ,EAAE;4BACF,MAAM,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,eAAe,CAAC,CAAC,IAAI;gCAChE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe;gCAChD,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK;6BAC3C;4BACD,OAAO,EAAE,IAAY;4BACrB,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC1C,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC;YACR,MAAM;gBACJ,EAAE;gBACF,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,uCAAuC,EAAE,SAAS,EAAE,IAAI,EAAE;gBAClH,OAAO,EAAE,IAAY;gBACrB,QAAQ,EAAE,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,eAAe,EAAE;aAC3F,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,UAAsB,EACtB,IAAc;QAEd,gBAAgB;QAChB,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,WAAW,GACf,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAiE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7H,OAAO;YACL,IAAI,EAAE,OAAO;YACb,+FAA+F;YAC/F,IAAI,EAAE,OAAO,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI;YACxG,OAAO,EAAE,OAAO,WAAW,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO;YAC1F,SAAS,EAAE,OAAO,WAAW,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS;SACxG,CAAC;IACJ,CAAC;IAGD;;OAEG;IACK,eAAe,CAAC,KAAY;QAClC,kBAAkB;QAClB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QAED,kCAAkC;QAClC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,QAAkB;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEnE,2FAA2F;QAC3F,4FAA4F;QAC5F,uFAAuF;QACvF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,yFAAyF;QACzF,sBAAsB;QACtB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,0DAA0D;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/client/transport.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Uses shared HTTP utilities to avoid duplication.
6
6
  */
7
7
  import type { UrlStrategy, HttpMethodStrategy, HeaderConverter } from "../shared/index.js";
8
+ import type { HttpBatchOptions } from "./batch.js";
8
9
  import type { Duration } from "../../../duration.js";
9
10
  /**
10
11
  * HTTP Client Transport Configuration
@@ -43,5 +44,13 @@ export interface HttpTransportOptions {
43
44
  * @default globalThis.fetch
44
45
  */
45
46
  fetch?: typeof fetch;
47
+ /**
48
+ * The batches of the calls (roadmap CLI-32). With it, the `POST` calls that start in the same turn
49
+ * of the event loop go to the server in one request, and the answer is one stream of frames that
50
+ * name their call. Each call still gets its own items, and its middleware sees one call. A server
51
+ * without batches gets each call alone. `true` uses the defaults.
52
+ * @default false: one request for each call
53
+ */
54
+ batch?: boolean | HttpBatchOptions;
46
55
  }
47
56
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,kFAAkF;IAClF,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IAEjD;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IAE1E;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,kFAAkF;IAClF,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IAEjD;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IAE1E;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAErB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACpC"}
@@ -67,6 +67,11 @@ export interface BodyPathAddressingOptions {
67
67
  */
68
68
  readonly inputField?: string | undefined;
69
69
  }
70
+ /**
71
+ * The segments of a path in a body: a list of raw texts, or one text with dots. Each segment of
72
+ * the text decodes `%2E` to a dot and `%25` to `%` (roadmap CLI-75).
73
+ */
74
+ export declare function segmentsOf(value: unknown): string[] | undefined;
70
75
  /**
71
76
  * This function gives the addressing of a single endpoint with the path in the body (CLI-31), for
72
77
  * example `POST /api/proc` with `{"path": ["notes", "list"], "input": {}}`. The handler takes the
@@ -1 +1 @@
1
- {"version":3,"file":"addressing.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/addressing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC;IAC/E;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACpD;AAQD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,CAQ5E;AAED,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAYD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,UAAU,CAWtF"}
1
+ {"version":3,"file":"addressing.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/addressing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC;IAC/E;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACpD;AAQD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,CAQ5E;AAED,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAI/D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,UAAU,CAWtF"}
@@ -36,7 +36,7 @@ export function urlAddressing(options = {}) {
36
36
  * The segments of a path in a body: a list of raw texts, or one text with dots. Each segment of
37
37
  * the text decodes `%2E` to a dot and `%25` to `%` (roadmap CLI-75).
38
38
  */
39
- function segmentsOf(value) {
39
+ export function segmentsOf(value) {
40
40
  const segments = typeof value === "string" ? topicToSegments(value) : value;
41
41
  if (!Array.isArray(segments) || segments.length === 0)
42
42
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"addressing.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/addressing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addressing.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/addressing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * A batch of calls in one HTTP request (roadmap CLI-32).
3
+ *
4
+ * The client sends `POST {base}` with the header `Procedures-Batch: 1` and the body
5
+ * `{"calls": [{"id", "path", "input", "headers", "metadata"}]}`. The answer is one NDJSON stream.
6
+ * Each item of the stream is a frame that names its call: the value of a call, an item of its
7
+ * stream, the end of its stream, or its error. Each call runs through `handle()` as a call of its
8
+ * own, so the authentication, the limits and the error policy apply to each call. The frames of
9
+ * the calls come in the order of their arrival. Refer to "A batch of calls" in WIRE-PROTOCOL.md.
10
+ */
11
+ import type { IncomingMessage } from "node:http";
12
+ import type { Method, Metadata, Status } from "../../../client/types.js";
13
+ import type { RequestHandler, ServerRequest } from "../../../server/types.js";
14
+ import type { NdjsonError } from "./ndjson.js";
15
+ /** The request header of a batch, and of the answer of a server that took the batch. */
16
+ export declare const BATCH_HEADER = "Procedures-Batch";
17
+ /** The options of the batches of `procedureHandler`. */
18
+ export interface HandlerBatchOptions {
19
+ /**
20
+ * The most calls in one batch. A batch with more calls gets the status 413 and the code
21
+ * `PAYLOAD_TOO_LARGE`, and no call runs.
22
+ * @default 64
23
+ */
24
+ readonly maxCalls?: number | undefined;
25
+ /**
26
+ * The most calls of one batch that run at the same time. The next call starts when a call ends.
27
+ * @default 8
28
+ */
29
+ readonly concurrency?: number | undefined;
30
+ }
31
+ /** The options of the batches, with each default. */
32
+ export interface ResolvedBatchOptions {
33
+ readonly maxCalls: number;
34
+ readonly concurrency: number;
35
+ }
36
+ /** The defaults of `HandlerBatchOptions`. */
37
+ export declare const BATCH_DEFAULTS: {
38
+ readonly maxCalls: 64;
39
+ readonly concurrency: 8;
40
+ };
41
+ /** The longest id of a call in a batch. */
42
+ export declare const BATCH_CALL_ID_LIMIT = 128;
43
+ /** One call of a batch, as the body gives it. */
44
+ export interface BatchCall {
45
+ /** The id of the call, unique in its batch. Each frame of the call names it. */
46
+ readonly id: string;
47
+ readonly method: Method;
48
+ /** The input of the procedure. Without `input`, the input is `{}`. */
49
+ readonly input: unknown;
50
+ /** The headers of the call, as the headers of a request of one call. */
51
+ readonly headers: Readonly<Record<string, string>>;
52
+ /** The custom metadata of the call, as the `X-Metadata` header of a request of one call. */
53
+ readonly metadata: Readonly<Record<string, unknown>> | undefined;
54
+ }
55
+ /** A frame of the answer of a batch: the payload of one NDJSON item. */
56
+ export type BatchFrame = {
57
+ readonly call: string;
58
+ readonly type: "response";
59
+ readonly payload?: unknown;
60
+ } | {
61
+ readonly call: string;
62
+ readonly type: "item";
63
+ readonly seq: number;
64
+ readonly payload: unknown;
65
+ } | {
66
+ readonly call: string;
67
+ readonly type: "done";
68
+ readonly seq: number;
69
+ } | {
70
+ readonly call: string;
71
+ readonly type: "error";
72
+ readonly error: BatchError;
73
+ };
74
+ /** The error of a call of a batch: the fields of the error body of one call. */
75
+ export interface BatchError extends NdjsonError {
76
+ readonly reason?: string | undefined;
77
+ readonly retryAfterMs?: number | undefined;
78
+ readonly conflicts?: unknown[] | undefined;
79
+ }
80
+ /** True when the request is a batch: `POST` with the header `Procedures-Batch: 1`. */
81
+ export declare function isBatchRequest(req: IncomingMessage): boolean;
82
+ /** The resolved options of the batches, or undefined when the handler takes no batch. */
83
+ export declare function batchOptionsOf(option: boolean | HandlerBatchOptions | undefined): ResolvedBatchOptions | undefined;
84
+ /**
85
+ * The calls of a batch body. A body that is not a batch throws a `BodyError` with the status 400,
86
+ * and a batch above `maxCalls` throws one with the status 413. Then no call runs.
87
+ */
88
+ export declare function parseBatch(body: unknown, maxCalls: number): BatchCall[];
89
+ /** The error fields of an error response, as the error body of one call has them. */
90
+ export declare function batchErrorOf(status: Extract<Status, {
91
+ type: "error";
92
+ }>, metadata: Metadata): BatchError;
93
+ /** One call of a batch with its request. */
94
+ export interface BatchRun {
95
+ readonly call: string;
96
+ readonly request: ServerRequest;
97
+ }
98
+ /**
99
+ * The frames of each call of a batch, in the order of their arrival. At most `concurrency` calls
100
+ * run at the same time. The function takes the next frame of a call only after the reader took the
101
+ * frame before it, so a slow reader slows each stream (backpressure). When the reader stops, each
102
+ * call that runs gets `return()`.
103
+ */
104
+ export declare function batchFrames(server: RequestHandler, runs: readonly BatchRun[], concurrency: number, errorOf: (error: unknown, items: number) => NdjsonError): AsyncGenerator<BatchFrame, void, undefined>;
105
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/batch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * A batch of calls in one HTTP request (roadmap CLI-32).
3
+ *
4
+ * The client sends `POST {base}` with the header `Procedures-Batch: 1` and the body
5
+ * `{"calls": [{"id", "path", "input", "headers", "metadata"}]}`. The answer is one NDJSON stream.
6
+ * Each item of the stream is a frame that names its call: the value of a call, an item of its
7
+ * stream, the end of its stream, or its error. Each call runs through `handle()` as a call of its
8
+ * own, so the authentication, the limits and the error policy apply to each call. The frames of
9
+ * the calls come in the order of their arrival. Refer to "A batch of calls" in WIRE-PROTOCOL.md.
10
+ */
11
+ import { lastResortError } from "../../../server/last-resort.js";
12
+ import { pathToMethod } from "../../../server/method.js";
13
+ import { segmentsOf } from "./addressing.js";
14
+ import { BodyError } from "./body.js";
15
+ /** The request header of a batch, and of the answer of a server that took the batch. */
16
+ export const BATCH_HEADER = "Procedures-Batch";
17
+ /** The defaults of `HandlerBatchOptions`. */
18
+ export const BATCH_DEFAULTS = { maxCalls: 64, concurrency: 8 };
19
+ /** The longest id of a call in a batch. */
20
+ export const BATCH_CALL_ID_LIMIT = 128;
21
+ /** True when the request is a batch: `POST` with the header `Procedures-Batch: 1`. */
22
+ export function isBatchRequest(req) {
23
+ return (req.method ?? "").toUpperCase() === "POST" && req.headers[BATCH_HEADER.toLowerCase()] === "1";
24
+ }
25
+ /** The resolved options of the batches, or undefined when the handler takes no batch. */
26
+ export function batchOptionsOf(option) {
27
+ if (option === false)
28
+ return undefined;
29
+ const given = option === true || option === undefined ? {} : option;
30
+ const count = (value, fallback, name) => {
31
+ if (value === undefined)
32
+ return fallback;
33
+ if (!Number.isInteger(value) || value < 1)
34
+ throw new TypeError(`batch.${name} must be a positive integer, not ${String(value)}`);
35
+ return value;
36
+ };
37
+ return { maxCalls: count(given.maxCalls, BATCH_DEFAULTS.maxCalls, "maxCalls"), concurrency: count(given.concurrency, BATCH_DEFAULTS.concurrency, "concurrency") };
38
+ }
39
+ function isRecord(value) {
40
+ return value !== null && typeof value === "object" && !Array.isArray(value);
41
+ }
42
+ /**
43
+ * The calls of a batch body. A body that is not a batch throws a `BodyError` with the status 400,
44
+ * and a batch above `maxCalls` throws one with the status 413. Then no call runs.
45
+ */
46
+ export function parseBatch(body, maxCalls) {
47
+ const calls = isRecord(body) && Object.hasOwn(body, "calls") ? body["calls"] : undefined;
48
+ if (!Array.isArray(calls) || calls.length === 0)
49
+ throw new BodyError('A batch body is {"calls": [...]} with one call or more', 400);
50
+ if (calls.length > maxCalls)
51
+ throw new BodyError(`A batch has ${calls.length} calls, and the limit is ${maxCalls}`, 413);
52
+ const ids = new Set();
53
+ return calls.map((value, index) => {
54
+ if (!isRecord(value))
55
+ throw new BodyError(`The call ${index} of the batch is not an object`, 400);
56
+ const own = (key) => (Object.hasOwn(value, key) ? value[key] : undefined);
57
+ const id = own("id");
58
+ if (typeof id !== "string" || id === "" || id.length > BATCH_CALL_ID_LIMIT) {
59
+ throw new BodyError(`The call ${index} of the batch needs an id: a text of 1 to ${BATCH_CALL_ID_LIMIT} characters`, 400);
60
+ }
61
+ if (ids.has(id))
62
+ throw new BodyError(`Two calls of the batch have the id "${id}"`, 400);
63
+ ids.add(id);
64
+ const path = segmentsOf(own("path"));
65
+ if (!path)
66
+ throw new BodyError(`The call "${id}" of the batch has no valid path`, 400);
67
+ const headers = own("headers") ?? {};
68
+ if (!isRecord(headers) || !Object.values(headers).every((header) => typeof header === "string")) {
69
+ throw new BodyError(`The headers of the call "${id}" are not an object of texts`, 400);
70
+ }
71
+ const metadata = own("metadata");
72
+ if (metadata !== undefined && !isRecord(metadata))
73
+ throw new BodyError(`The metadata of the call "${id}" is not an object`, 400);
74
+ const input = own("input");
75
+ return { id, method: pathToMethod(path), input: input === undefined ? {} : input, headers: headers, metadata };
76
+ });
77
+ }
78
+ /** The error fields of an error response, as the error body of one call has them. */
79
+ export function batchErrorOf(status, metadata) {
80
+ const wait = metadata["retry-after"];
81
+ const reason = metadata["reason"];
82
+ const conflicts = metadata["conflicts"];
83
+ return {
84
+ code: status.code,
85
+ message: status.message,
86
+ retryable: status.retryable,
87
+ ...(typeof wait === "number" && Number.isFinite(wait) && wait >= 0 ? { retryAfterMs: wait } : {}),
88
+ ...(typeof reason === "string" ? { reason } : {}),
89
+ ...(Array.isArray(conflicts) ? { conflicts } : {}),
90
+ };
91
+ }
92
+ /** The frames of one call: its response, or the items and the end of its stream, or its error. */
93
+ async function* callFrames(server, call, request, errorOf) {
94
+ let response;
95
+ try {
96
+ response = await server.handle(request);
97
+ }
98
+ catch (error) {
99
+ // The last-resort error of a call, as the face of one call sends it (CLI-80)
100
+ const exposed = lastResortError(server, error, request);
101
+ const wait = exposed.retryAfterMs;
102
+ yield {
103
+ call,
104
+ type: "error",
105
+ error: {
106
+ code: exposed.code,
107
+ message: exposed.message,
108
+ retryable: exposed.retryable === true,
109
+ ...(typeof wait === "number" && Number.isFinite(wait) && wait >= 0 ? { retryAfterMs: wait } : {}),
110
+ },
111
+ };
112
+ return;
113
+ }
114
+ if (response.stream) {
115
+ // The seq of the frames of a stream counts within the call, as in a stream of one call
116
+ let seq = 0;
117
+ try {
118
+ for await (const item of response.stream)
119
+ yield { call, type: "item", seq: ++seq, payload: item };
120
+ }
121
+ catch (error) {
122
+ yield { call, type: "error", error: errorOf(error, seq) };
123
+ return;
124
+ }
125
+ yield { call, type: "done", seq: ++seq };
126
+ return;
127
+ }
128
+ if (response.status.type === "error") {
129
+ yield { call, type: "error", error: batchErrorOf(response.status, response.metadata) };
130
+ return;
131
+ }
132
+ // No value: the frame has no payload, as a response of one call has no body (status 204)
133
+ yield response.payload === undefined ? { call, type: "response" } : { call, type: "response", payload: response.payload };
134
+ }
135
+ /**
136
+ * The frames of each call of a batch, in the order of their arrival. At most `concurrency` calls
137
+ * run at the same time. The function takes the next frame of a call only after the reader took the
138
+ * frame before it, so a slow reader slows each stream (backpressure). When the reader stops, each
139
+ * call that runs gets `return()`.
140
+ */
141
+ export async function* batchFrames(server, runs, concurrency, errorOf) {
142
+ const running = new Map();
143
+ const pull = (key, iterator) => iterator.next().then((result) => ({ key, result }));
144
+ let started = 0;
145
+ const start = () => {
146
+ while (running.size < concurrency && started < runs.length) {
147
+ const key = started++;
148
+ const run = runs[key];
149
+ const iterator = callFrames(server, run.call, run.request, errorOf);
150
+ running.set(key, { iterator, next: pull(key, iterator) });
151
+ }
152
+ };
153
+ try {
154
+ start();
155
+ while (running.size > 0) {
156
+ const { key, result } = await Promise.race(Array.from(running.values(), (entry) => entry.next));
157
+ const entry = running.get(key);
158
+ if (result.done) {
159
+ running.delete(key);
160
+ start();
161
+ continue;
162
+ }
163
+ yield result.value;
164
+ entry.next = pull(key, entry.iterator);
165
+ }
166
+ }
167
+ finally {
168
+ for (const entry of running.values())
169
+ void Promise.resolve(entry.iterator.return?.()).catch(() => undefined);
170
+ }
171
+ }
172
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/batch.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import { type Clock } from "../../../clock.js";
23
23
  import { type Duration } from "../../../duration.js";
24
24
  import { type CorsOptions } from "./cors.js";
25
25
  import { type Addressing } from "./addressing.js";
26
+ import { type HandlerBatchOptions } from "./batch.js";
26
27
  /** The parts of a request that a URL strategy of `procedureHandler` reads. */
27
28
  export interface UrlRequest {
28
29
  /** The HTTP method, in upper case. */
@@ -93,6 +94,13 @@ export interface ProcedureHandlerOptions extends BrowserGuardOptions {
93
94
  * @default ["token"]
94
95
  */
95
96
  readonly secretQuery?: readonly string[] | undefined;
97
+ /**
98
+ * The batches of calls (roadmap CLI-32): `POST {basePath}` with the header `Procedures-Batch: 1`
99
+ * carries several calls, and the answer is one NDJSON stream of frames that name their call.
100
+ * Each call runs as a call of its own. `false` takes no batch: such a request goes on as before.
101
+ * @default { maxCalls: 64, concurrency: 8 }
102
+ */
103
+ readonly batch?: boolean | HandlerBatchOptions | undefined;
96
104
  }
97
105
  /**
98
106
  * The request handler of `procedureHandler`. A call gives `true` when the handler takes the request
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/handler.ts"],"names":[],"mappings":"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"}