@s2-dev/streamstore 0.17.6 → 0.18.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 (160) hide show
  1. package/README.md +69 -1
  2. package/dist/cjs/accessTokens.d.ts +3 -2
  3. package/dist/cjs/accessTokens.d.ts.map +1 -1
  4. package/dist/cjs/accessTokens.js +22 -37
  5. package/dist/cjs/accessTokens.js.map +1 -1
  6. package/dist/cjs/basin.d.ts +4 -3
  7. package/dist/cjs/basin.d.ts.map +1 -1
  8. package/dist/cjs/basin.js +7 -5
  9. package/dist/cjs/basin.js.map +1 -1
  10. package/dist/cjs/basins.d.ts +10 -10
  11. package/dist/cjs/basins.d.ts.map +1 -1
  12. package/dist/cjs/basins.js +36 -64
  13. package/dist/cjs/basins.js.map +1 -1
  14. package/dist/cjs/batch-transform.d.ts +1 -1
  15. package/dist/cjs/batch-transform.d.ts.map +1 -1
  16. package/dist/cjs/batch-transform.js +36 -5
  17. package/dist/cjs/batch-transform.js.map +1 -1
  18. package/dist/cjs/common.d.ts +42 -0
  19. package/dist/cjs/common.d.ts.map +1 -1
  20. package/dist/cjs/error.d.ts +40 -2
  21. package/dist/cjs/error.d.ts.map +1 -1
  22. package/dist/cjs/error.js +268 -2
  23. package/dist/cjs/error.js.map +1 -1
  24. package/dist/cjs/generated/client/types.gen.d.ts +7 -0
  25. package/dist/cjs/generated/client/types.gen.d.ts.map +1 -1
  26. package/dist/cjs/generated/client/utils.gen.d.ts +1 -0
  27. package/dist/cjs/generated/client/utils.gen.d.ts.map +1 -1
  28. package/dist/cjs/generated/client/utils.gen.js.map +1 -1
  29. package/dist/cjs/generated/core/types.gen.d.ts +2 -0
  30. package/dist/cjs/generated/core/types.gen.d.ts.map +1 -1
  31. package/dist/cjs/index.d.ts +46 -3
  32. package/dist/cjs/index.d.ts.map +1 -1
  33. package/dist/cjs/index.js +28 -2
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/lib/result.d.ts +57 -0
  36. package/dist/cjs/lib/result.d.ts.map +1 -0
  37. package/dist/cjs/lib/result.js +43 -0
  38. package/dist/cjs/lib/result.js.map +1 -0
  39. package/dist/cjs/lib/retry.d.ts +151 -0
  40. package/dist/cjs/lib/retry.d.ts.map +1 -0
  41. package/dist/cjs/lib/retry.js +839 -0
  42. package/dist/cjs/lib/retry.js.map +1 -0
  43. package/dist/cjs/lib/stream/factory.d.ts +0 -1
  44. package/dist/cjs/lib/stream/factory.d.ts.map +1 -1
  45. package/dist/cjs/lib/stream/factory.js +0 -1
  46. package/dist/cjs/lib/stream/factory.js.map +1 -1
  47. package/dist/cjs/lib/stream/transport/fetch/index.d.ts +24 -32
  48. package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
  49. package/dist/cjs/lib/stream/transport/fetch/index.js +247 -187
  50. package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
  51. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +1 -2
  52. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  53. package/dist/cjs/lib/stream/transport/fetch/shared.js +49 -72
  54. package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -1
  55. package/dist/cjs/lib/stream/transport/s2s/index.d.ts +0 -1
  56. package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -1
  57. package/dist/cjs/lib/stream/transport/s2s/index.js +309 -352
  58. package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
  59. package/dist/cjs/lib/stream/types.d.ts +102 -8
  60. package/dist/cjs/lib/stream/types.d.ts.map +1 -1
  61. package/dist/cjs/metrics.d.ts +3 -2
  62. package/dist/cjs/metrics.d.ts.map +1 -1
  63. package/dist/cjs/metrics.js +24 -39
  64. package/dist/cjs/metrics.js.map +1 -1
  65. package/dist/cjs/s2.d.ts +1 -0
  66. package/dist/cjs/s2.d.ts.map +1 -1
  67. package/dist/cjs/s2.js +14 -3
  68. package/dist/cjs/s2.js.map +1 -1
  69. package/dist/cjs/stream.d.ts +5 -3
  70. package/dist/cjs/stream.d.ts.map +1 -1
  71. package/dist/cjs/stream.js +29 -18
  72. package/dist/cjs/stream.js.map +1 -1
  73. package/dist/cjs/streams.d.ts +10 -10
  74. package/dist/cjs/streams.d.ts.map +1 -1
  75. package/dist/cjs/streams.js +36 -64
  76. package/dist/cjs/streams.js.map +1 -1
  77. package/dist/cjs/utils.d.ts +3 -3
  78. package/dist/cjs/utils.d.ts.map +1 -1
  79. package/dist/cjs/utils.js +3 -3
  80. package/dist/cjs/utils.js.map +1 -1
  81. package/dist/esm/accessTokens.d.ts +3 -2
  82. package/dist/esm/accessTokens.d.ts.map +1 -1
  83. package/dist/esm/accessTokens.js +23 -38
  84. package/dist/esm/accessTokens.js.map +1 -1
  85. package/dist/esm/basin.d.ts +4 -3
  86. package/dist/esm/basin.d.ts.map +1 -1
  87. package/dist/esm/basin.js +7 -5
  88. package/dist/esm/basin.js.map +1 -1
  89. package/dist/esm/basins.d.ts +10 -10
  90. package/dist/esm/basins.d.ts.map +1 -1
  91. package/dist/esm/basins.js +37 -65
  92. package/dist/esm/basins.js.map +1 -1
  93. package/dist/esm/batch-transform.d.ts +1 -1
  94. package/dist/esm/batch-transform.d.ts.map +1 -1
  95. package/dist/esm/batch-transform.js +37 -6
  96. package/dist/esm/batch-transform.js.map +1 -1
  97. package/dist/esm/common.d.ts +42 -0
  98. package/dist/esm/common.d.ts.map +1 -1
  99. package/dist/esm/error.d.ts +40 -2
  100. package/dist/esm/error.d.ts.map +1 -1
  101. package/dist/esm/error.js +260 -2
  102. package/dist/esm/error.js.map +1 -1
  103. package/dist/esm/generated/client/types.gen.d.ts +7 -0
  104. package/dist/esm/generated/client/types.gen.d.ts.map +1 -1
  105. package/dist/esm/generated/client/utils.gen.d.ts +1 -0
  106. package/dist/esm/generated/client/utils.gen.d.ts.map +1 -1
  107. package/dist/esm/generated/client/utils.gen.js.map +1 -1
  108. package/dist/esm/generated/core/types.gen.d.ts +2 -0
  109. package/dist/esm/generated/core/types.gen.d.ts.map +1 -1
  110. package/dist/esm/index.d.ts +46 -3
  111. package/dist/esm/index.d.ts.map +1 -1
  112. package/dist/esm/index.js +23 -1
  113. package/dist/esm/index.js.map +1 -1
  114. package/dist/esm/lib/result.d.ts +57 -0
  115. package/dist/esm/lib/result.d.ts.map +1 -0
  116. package/dist/esm/lib/result.js +37 -0
  117. package/dist/esm/lib/result.js.map +1 -0
  118. package/dist/esm/lib/retry.d.ts +151 -0
  119. package/dist/esm/lib/retry.d.ts.map +1 -0
  120. package/dist/esm/lib/retry.js +830 -0
  121. package/dist/esm/lib/retry.js.map +1 -0
  122. package/dist/esm/lib/stream/factory.d.ts +0 -1
  123. package/dist/esm/lib/stream/factory.d.ts.map +1 -1
  124. package/dist/esm/lib/stream/factory.js +0 -1
  125. package/dist/esm/lib/stream/factory.js.map +1 -1
  126. package/dist/esm/lib/stream/transport/fetch/index.d.ts +24 -32
  127. package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
  128. package/dist/esm/lib/stream/transport/fetch/index.js +247 -187
  129. package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
  130. package/dist/esm/lib/stream/transport/fetch/shared.d.ts +1 -2
  131. package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  132. package/dist/esm/lib/stream/transport/fetch/shared.js +51 -74
  133. package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -1
  134. package/dist/esm/lib/stream/transport/s2s/index.d.ts +0 -1
  135. package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -1
  136. package/dist/esm/lib/stream/transport/s2s/index.js +310 -353
  137. package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
  138. package/dist/esm/lib/stream/types.d.ts +102 -8
  139. package/dist/esm/lib/stream/types.d.ts.map +1 -1
  140. package/dist/esm/metrics.d.ts +3 -2
  141. package/dist/esm/metrics.d.ts.map +1 -1
  142. package/dist/esm/metrics.js +25 -40
  143. package/dist/esm/metrics.js.map +1 -1
  144. package/dist/esm/s2.d.ts +1 -0
  145. package/dist/esm/s2.d.ts.map +1 -1
  146. package/dist/esm/s2.js +14 -3
  147. package/dist/esm/s2.js.map +1 -1
  148. package/dist/esm/stream.d.ts +5 -3
  149. package/dist/esm/stream.d.ts.map +1 -1
  150. package/dist/esm/stream.js +30 -19
  151. package/dist/esm/stream.js.map +1 -1
  152. package/dist/esm/streams.d.ts +10 -10
  153. package/dist/esm/streams.d.ts.map +1 -1
  154. package/dist/esm/streams.js +37 -65
  155. package/dist/esm/streams.js.map +1 -1
  156. package/dist/esm/utils.d.ts +3 -3
  157. package/dist/esm/utils.d.ts.map +1 -1
  158. package/dist/esm/utils.js +2 -2
  159. package/dist/esm/utils.js.map +1 -1
  160. package/package.json +4 -2
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FetchTransport = exports.FetchAppendSession = exports.FetchReadSession = void 0;
4
+ const debug_1 = require("debug");
4
5
  const error_js_1 = require("../../../../error.js");
5
6
  const index_js_1 = require("../../../../generated/client/index.js");
6
7
  const index_js_2 = require("../../../../generated/index.js");
@@ -8,49 +9,98 @@ const utils_js_1 = require("../../../../utils.js");
8
9
  const base64_js_1 = require("../../../base64.js");
9
10
  const event_stream_js_1 = require("../../../event-stream.js");
10
11
  const Redacted = require("../../../redacted.js");
12
+ const result_js_1 = require("../../../result.js");
13
+ const retry_js_1 = require("../../../retry.js");
11
14
  const shared_js_1 = require("./shared.js");
12
- class FetchReadSession extends event_stream_js_1.EventStream {
15
+ const debug = (0, debug_1.default)("s2:fetch");
16
+ class FetchReadSession extends ReadableStream {
13
17
  static async create(client, name, args, options) {
18
+ debug("FetchReadSession.create stream=%s args=%o", name, args);
14
19
  const { as, ...queryParams } = args ?? {};
15
- const response = await (0, index_js_2.read)({
16
- client,
17
- path: {
18
- stream: name,
19
- },
20
- headers: {
21
- accept: "text/event-stream",
22
- ...(as === "bytes" ? { "s2-format": "base64" } : {}),
23
- },
24
- query: queryParams,
25
- parseAs: "stream",
26
- ...options,
27
- });
28
- if (response.error) {
29
- if ("message" in response.error) {
30
- throw new error_js_1.S2Error({
31
- message: response.error.message,
32
- code: response.error.code ?? undefined,
33
- status: response.response.status,
34
- });
20
+ try {
21
+ const response = await (0, index_js_2.read)({
22
+ client,
23
+ path: {
24
+ stream: name,
25
+ },
26
+ headers: {
27
+ accept: "text/event-stream",
28
+ ...(as === "bytes" ? { "s2-format": "base64" } : {}),
29
+ },
30
+ query: queryParams,
31
+ parseAs: "stream",
32
+ ...options,
33
+ });
34
+ if (response.error) {
35
+ // Convert error to S2Error and return error session
36
+ const status = response.response.status;
37
+ const error = "message" in response.error
38
+ ? new error_js_1.S2Error({
39
+ message: response.error.message,
40
+ code: response.error.code ?? undefined,
41
+ status,
42
+ })
43
+ : status === 416
44
+ ? new error_js_1.RangeNotSatisfiableError({
45
+ status,
46
+ })
47
+ : new error_js_1.S2Error({
48
+ message: response.response.statusText ?? "Request failed",
49
+ status,
50
+ });
51
+ return FetchReadSession.createErrorSession(error);
35
52
  }
36
- else {
37
- // special case for 416 - Range Not Satisfiable
38
- throw new error_js_1.RangeNotSatisfiableError({
39
- status: response.response.status,
53
+ if (!response.response.body) {
54
+ const error = new error_js_1.S2Error({
55
+ message: "No body in SSE response",
56
+ code: "INVALID_RESPONSE",
57
+ status: 502,
58
+ origin: "sdk",
40
59
  });
60
+ return FetchReadSession.createErrorSession(error);
41
61
  }
62
+ const format = (args?.as ?? "string");
63
+ return new FetchReadSession(response.response.body, format);
42
64
  }
43
- if (!response.response.body) {
44
- throw new error_js_1.S2Error({
45
- message: "No body in SSE response",
46
- });
65
+ catch (error) {
66
+ // Catch any thrown errors (network failures, DNS errors, etc.)
67
+ const s2Error = error instanceof error_js_1.S2Error
68
+ ? error
69
+ : new error_js_1.S2Error({
70
+ message: String(error),
71
+ status: 502, // Bad Gateway - network/fetch failure
72
+ });
73
+ return FetchReadSession.createErrorSession(s2Error);
47
74
  }
48
- const format = (args?.as ?? "string");
49
- return new FetchReadSession(response.response.body, format);
50
75
  }
51
- _lastReadPosition = undefined;
76
+ /**
77
+ * Create a session that immediately emits an error result and closes.
78
+ * Used when errors occur during session creation.
79
+ */
80
+ static createErrorSession(error) {
81
+ // Create a custom instance that extends ReadableStream and emits error immediately
82
+ const stream = new ReadableStream({
83
+ start(controller) {
84
+ controller.enqueue({ ok: false, error });
85
+ controller.close();
86
+ },
87
+ });
88
+ // Copy methods from stream to create a proper FetchReadSession
89
+ const session = Object.assign(Object.create(FetchReadSession.prototype), stream);
90
+ session._nextReadPosition = undefined;
91
+ session._lastObservedTail = undefined;
92
+ return session;
93
+ }
94
+ _nextReadPosition = undefined;
95
+ _lastObservedTail = undefined;
52
96
  constructor(stream, format) {
53
- super(stream, (msg) => {
97
+ // Track error from parser
98
+ let parserError = null;
99
+ // Track last ping time for timeout detection (20s without a ping = timeout)
100
+ let lastPingTimeMs = performance.now();
101
+ const PING_TIMEOUT_MS = 20000; // 20 seconds
102
+ // Create EventStream that parses SSE and yields records
103
+ const eventStream = new event_stream_js_1.EventStream(stream, (msg) => {
54
104
  // Parse SSE events according to the S2 protocol
55
105
  if (msg.event === "batch" && msg.data) {
56
106
  const rawBatch = JSON.parse(msg.data);
@@ -79,35 +129,106 @@ class FetchReadSession extends event_stream_js_1.EventStream {
79
129
  }
80
130
  })();
81
131
  if (batch.tail) {
82
- this._lastReadPosition = batch.tail;
132
+ this._lastObservedTail = batch.tail;
133
+ }
134
+ let lastRecord = batch.records?.at(-1);
135
+ if (lastRecord) {
136
+ this._nextReadPosition = {
137
+ seq_num: lastRecord.seq_num + 1,
138
+ timestamp: lastRecord.timestamp,
139
+ };
83
140
  }
84
141
  return { done: false, batch: true, value: batch.records ?? [] };
85
142
  }
86
143
  if (msg.event === "error") {
87
- // Handle error events
88
- throw new error_js_1.S2Error({ message: msg.data ?? "Unknown error" });
144
+ // Store error and signal end of stream
145
+ // SSE error events are server errors - treat as 503 (Service Unavailable) for retry logic
146
+ debug("parse event error");
147
+ parserError = new error_js_1.S2Error({
148
+ message: msg.data ?? "Unknown error",
149
+ status: 503,
150
+ });
151
+ return { done: true };
89
152
  }
153
+ lastPingTimeMs = performance.now();
90
154
  // Skip ping events and other events
91
155
  return { done: false };
92
156
  });
93
- }
94
- lastReadPosition() {
95
- return this._lastReadPosition;
96
- }
97
- }
98
- exports.FetchReadSession = FetchReadSession;
99
- class AcksStream extends ReadableStream {
100
- constructor(setController) {
157
+ // Wrap the EventStream to convert records to ReadResult and check for errors
158
+ const reader = eventStream.getReader();
159
+ let done = false;
101
160
  super({
102
- start: (controller) => {
103
- setController(controller);
161
+ pull: async (controller) => {
162
+ if (done) {
163
+ controller.close();
164
+ return;
165
+ }
166
+ // Check for ping timeout before reading
167
+ const now = performance.now();
168
+ const timeSinceLastPingMs = now - lastPingTimeMs;
169
+ if (timeSinceLastPingMs > PING_TIMEOUT_MS) {
170
+ const timeoutError = new error_js_1.S2Error({
171
+ message: `No ping received for ${Math.floor(timeSinceLastPingMs / 1000)}s (timeout: ${PING_TIMEOUT_MS / 1000}s)`,
172
+ status: 408, // Request Timeout
173
+ code: "TIMEOUT",
174
+ });
175
+ debug("ping timeout detected, elapsed=%dms", timeSinceLastPingMs);
176
+ controller.enqueue({ ok: false, error: timeoutError });
177
+ done = true;
178
+ controller.close();
179
+ return;
180
+ }
181
+ try {
182
+ // Calculate remaining time until timeout
183
+ const remainingTimeMs = PING_TIMEOUT_MS - timeSinceLastPingMs;
184
+ // Race reader.read() against timeout
185
+ // This ensures we don't wait forever if server stops sending events
186
+ const result = await Promise.race([
187
+ reader.read(),
188
+ new Promise((_, reject) => setTimeout(() => {
189
+ const elapsed = performance.now() - lastPingTimeMs;
190
+ reject(new error_js_1.S2Error({
191
+ message: `No ping received for ${Math.floor(elapsed / 1000)}s (timeout: ${PING_TIMEOUT_MS / 1000}s)`,
192
+ status: 408,
193
+ code: "TIMEOUT",
194
+ }));
195
+ }, remainingTimeMs)),
196
+ ]);
197
+ if (result.done) {
198
+ done = true;
199
+ // Check if stream ended due to error
200
+ if (parserError) {
201
+ controller.enqueue({ ok: false, error: parserError });
202
+ }
203
+ controller.close();
204
+ }
205
+ else {
206
+ // Emit successful result
207
+ controller.enqueue({ ok: true, value: result.value });
208
+ }
209
+ }
210
+ catch (error) {
211
+ // Convert unexpected errors to S2Error and emit as error result
212
+ const s2Err = error instanceof error_js_1.S2Error
213
+ ? error
214
+ : new error_js_1.S2Error({ message: String(error), status: 500 });
215
+ controller.enqueue({ ok: false, error: s2Err });
216
+ done = true;
217
+ controller.close();
218
+ }
219
+ },
220
+ cancel: async () => {
221
+ await eventStream.cancel();
104
222
  },
105
223
  });
106
224
  }
107
- async [Symbol.asyncDispose]() {
108
- await this.cancel("disposed");
225
+ nextReadPosition() {
226
+ return this._nextReadPosition;
227
+ }
228
+ lastObservedTail() {
229
+ return this._lastObservedTail;
109
230
  }
110
- // Polyfill for older browsers
231
+ // Implement AsyncIterable (for await...of support)
111
232
  [Symbol.asyncIterator]() {
112
233
  const fn = ReadableStream.prototype[Symbol.asyncIterator];
113
234
  if (typeof fn === "function")
@@ -116,177 +237,126 @@ class AcksStream extends ReadableStream {
116
237
  return {
117
238
  next: async () => {
118
239
  const r = await reader.read();
119
- if (r.done) {
120
- reader.releaseLock();
240
+ if (r.done)
121
241
  return { done: true, value: undefined };
122
- }
123
242
  return { done: false, value: r.value };
124
243
  },
125
- throw: async (e) => {
126
- await reader.cancel(e);
244
+ return: async (value) => {
127
245
  reader.releaseLock();
128
- return { done: true, value: undefined };
246
+ return { done: true, value };
129
247
  },
130
- return: async () => {
131
- await reader.cancel("done");
248
+ throw: async (e) => {
132
249
  reader.releaseLock();
133
- return { done: true, value: undefined };
250
+ throw e;
134
251
  },
135
252
  [Symbol.asyncIterator]() {
136
253
  return this;
137
254
  },
138
255
  };
139
256
  }
257
+ // Implement AsyncDisposable
258
+ async [Symbol.asyncDispose]() {
259
+ await this.cancel();
260
+ }
140
261
  }
262
+ exports.FetchReadSession = FetchReadSession;
263
+ // Removed AcksStream - transport sessions no longer expose streams
141
264
  /**
142
- * Session for appending records to a stream.
143
- * Queues append requests and ensures only one is in-flight at a time.
265
+ * Fetch-based transport session for appending records via HTTP/1.1.
266
+ * Queues append requests and ensures only one is in-flight at a time (single-flight).
267
+ * No backpressure, no retry logic, no streams - just submit/close with value-encoded errors.
144
268
  */
145
269
  class FetchAppendSession {
146
- _lastAckedPosition = undefined;
147
270
  queue = [];
148
271
  pendingResolvers = [];
149
272
  inFlight = false;
150
273
  options;
151
274
  stream;
152
- acksController;
153
- _readable;
154
- _writable;
155
275
  closed = false;
156
276
  processingPromise = null;
157
- queuedBytes = 0;
158
- maxQueuedBytes;
159
- waitingForCapacity = [];
160
277
  client;
161
- readable;
162
- writable;
163
278
  static async create(stream, transportConfig, sessionOptions, requestOptions) {
164
279
  return new FetchAppendSession(stream, transportConfig, sessionOptions, requestOptions);
165
280
  }
166
281
  constructor(stream, transportConfig, sessionOptions, requestOptions) {
167
282
  this.options = requestOptions;
168
283
  this.stream = stream;
169
- this.maxQueuedBytes = sessionOptions?.maxQueuedBytes ?? 10 * 1024 * 1024; // 10 MiB default
170
284
  this.client = (0, index_js_1.createClient)((0, index_js_1.createConfig)({
171
285
  baseUrl: transportConfig.baseUrl,
172
286
  auth: () => Redacted.value(transportConfig.accessToken),
287
+ headers: transportConfig.basinName
288
+ ? { "s2-basin": transportConfig.basinName }
289
+ : {},
173
290
  }));
174
- // Create the readable stream for acks
175
- this._readable = new AcksStream((controller) => {
176
- this.acksController = controller;
177
- });
178
- this.readable = this._readable;
179
- // Create the writable stream
180
- let writableController;
181
- this._writable = new WritableStream({
182
- start: (controller) => {
183
- writableController = controller;
184
- },
185
- write: async (chunk) => {
186
- // Calculate batch size
187
- let batchMeteredSize = 0;
188
- for (const record of chunk.records) {
189
- batchMeteredSize += (0, utils_js_1.meteredSizeBytes)(record);
190
- }
191
- // Wait for capacity if needed
192
- while (this.queuedBytes + batchMeteredSize > this.maxQueuedBytes &&
193
- !this.closed) {
194
- await new Promise((resolve) => {
195
- this.waitingForCapacity.push(resolve);
196
- });
197
- }
198
- // Submit the batch
199
- this.submit(chunk.records, {
200
- fencing_token: chunk.fencing_token ?? undefined,
201
- match_seq_num: chunk.match_seq_num ?? undefined,
202
- }, batchMeteredSize);
203
- },
204
- close: async () => {
205
- this.closed = true;
206
- await this.waitForDrain();
207
- },
208
- abort: async (reason) => {
209
- this.closed = true;
210
- this.queue = [];
211
- this.queuedBytes = 0;
212
- // Reject all pending promises
213
- const error = new error_js_1.S2Error({
214
- message: `AppendSession was aborted: ${reason}`,
215
- });
216
- for (const resolver of this.pendingResolvers) {
217
- resolver.reject(error);
218
- }
219
- this.pendingResolvers = [];
220
- // Reject all waiting for capacity
221
- for (const resolver of this.waitingForCapacity) {
222
- resolver();
223
- }
224
- this.waitingForCapacity = [];
225
- },
226
- });
227
- this.writable = this._writable;
228
- }
229
- async [Symbol.asyncDispose]() {
230
- await this.close();
231
- }
232
- /**
233
- * Get a stream of acknowledgements for appends.
234
- */
235
- acks() {
236
- return this._readable;
237
291
  }
238
292
  /**
239
293
  * Close the append session.
240
294
  * Waits for all pending appends to complete before resolving.
295
+ * Never throws - returns CloseResult.
241
296
  */
242
297
  async close() {
243
- await this.writable.close();
298
+ try {
299
+ this.closed = true;
300
+ await this.waitForDrain();
301
+ return (0, result_js_1.okClose)();
302
+ }
303
+ catch (error) {
304
+ const s2Err = error instanceof error_js_1.S2Error
305
+ ? error
306
+ : new error_js_1.S2Error({ message: String(error), status: 500 });
307
+ return (0, result_js_1.errClose)(s2Err);
308
+ }
244
309
  }
245
310
  /**
246
311
  * Submit an append request to the session.
247
312
  * The request will be queued and sent when no other request is in-flight.
248
- * Returns a promise that resolves when the append is acknowledged or rejects on error.
313
+ * Never throws - returns AppendResult discriminated union.
249
314
  */
250
- submit(records, args, precalculatedSize) {
315
+ submit(records, args) {
316
+ // Validate closed state
251
317
  if (this.closed) {
252
- return Promise.reject(new error_js_1.S2Error({ message: "AppendSession is closed" }));
318
+ return Promise.resolve((0, result_js_1.err)(new error_js_1.S2Error({ message: "AppendSession is closed", status: 400 })));
253
319
  }
254
320
  const recordsArray = Array.isArray(records) ? records : [records];
255
- // Validate batch size limits
321
+ // Validate batch size limits (non-retryable 400-level error)
256
322
  if (recordsArray.length > 1000) {
257
- return Promise.reject(new error_js_1.S2Error({
323
+ return Promise.resolve((0, result_js_1.err)(new error_js_1.S2Error({
258
324
  message: `Batch of ${recordsArray.length} exceeds maximum batch size of 1000 records`,
259
- }));
325
+ status: 400,
326
+ code: "INVALID_ARGUMENT",
327
+ })));
260
328
  }
261
329
  // Validate metered size (use precalculated if provided)
262
- let batchMeteredSize = precalculatedSize ?? 0;
330
+ let batchMeteredSize = args?.precalculatedSize ?? 0;
263
331
  if (batchMeteredSize === 0) {
264
332
  for (const record of recordsArray) {
265
- batchMeteredSize += (0, utils_js_1.meteredSizeBytes)(record);
333
+ batchMeteredSize += (0, utils_js_1.meteredBytes)(record);
266
334
  }
267
335
  }
268
336
  if (batchMeteredSize > 1024 * 1024) {
269
- return Promise.reject(new error_js_1.S2Error({
337
+ return Promise.resolve((0, result_js_1.err)(new error_js_1.S2Error({
270
338
  message: `Batch size ${batchMeteredSize} bytes exceeds maximum of 1 MiB (1048576 bytes)`,
271
- }));
339
+ status: 400,
340
+ code: "INVALID_ARGUMENT",
341
+ })));
272
342
  }
273
- return new Promise((resolve, reject) => {
343
+ return new Promise((resolve) => {
274
344
  this.queue.push({
275
345
  records: recordsArray,
276
346
  fencing_token: args?.fencing_token,
277
347
  match_seq_num: args?.match_seq_num,
278
- meteredSize: batchMeteredSize,
279
348
  });
280
- this.queuedBytes += batchMeteredSize;
281
- this.pendingResolvers.push({ resolve, reject });
349
+ this.pendingResolvers.push({ resolve });
282
350
  // Start processing if not already running
283
351
  if (!this.processingPromise) {
284
- this.processingPromise = this.processLoop();
352
+ // Attach a catch to avoid unhandled rejection warnings on hard failures
353
+ this.processingPromise = this.processLoop().catch(() => { });
285
354
  }
286
355
  });
287
356
  }
288
357
  /**
289
358
  * Main processing loop that sends queued requests one at a time.
359
+ * Single-flight: only one request in progress at a time.
290
360
  */
291
361
  async processLoop() {
292
362
  while (this.queue.length > 0) {
@@ -298,41 +368,27 @@ class FetchAppendSession {
298
368
  fencing_token: args.fencing_token,
299
369
  match_seq_num: args.match_seq_num,
300
370
  }, this.options);
301
- this._lastAckedPosition = ack;
302
- // Emit ack to the acks stream if it exists
303
- if (this.acksController) {
304
- this.acksController.enqueue(ack);
305
- }
306
- // Resolve the promise for this request
307
- resolver.resolve(ack);
308
- // Release capacity and wake up waiting writers
309
- this.queuedBytes -= args.meteredSize;
310
- while (this.waitingForCapacity.length > 0) {
311
- const waiter = this.waitingForCapacity.shift();
312
- waiter();
313
- // Only wake one at a time - let them check capacity again
314
- break;
315
- }
371
+ // Resolve with success result
372
+ resolver.resolve((0, result_js_1.ok)(ack));
316
373
  }
317
374
  catch (error) {
318
- this.inFlight = false;
319
- this.processingPromise = null;
320
- // Reject the promise for this request
321
- resolver.reject(error);
322
- // Reject all remaining pending promises
375
+ // Convert error to S2Error and resolve with error result
376
+ const s2Err = error instanceof error_js_1.S2Error
377
+ ? error
378
+ : new error_js_1.S2Error({ message: String(error), status: 502 });
379
+ // Resolve this request with error
380
+ resolver.resolve((0, result_js_1.err)(s2Err));
381
+ // Resolve all remaining pending promises with the same error
382
+ // (transport failure affects all queued requests)
323
383
  for (const pendingResolver of this.pendingResolvers) {
324
- pendingResolver.reject(error);
384
+ pendingResolver.resolve((0, result_js_1.err)(s2Err));
325
385
  }
326
386
  this.pendingResolvers = [];
327
- // Clear the queue and reset queued bytes
387
+ // Clear the queue
328
388
  this.queue = [];
329
- this.queuedBytes = 0;
330
- // Wake up all waiting writers (they'll see the closed state or retry)
331
- for (const waiter of this.waitingForCapacity) {
332
- waiter();
333
- }
334
- this.waitingForCapacity = [];
335
- // Do not rethrow here to avoid unhandled rejection; callers already received rejection
389
+ this.inFlight = false;
390
+ this.processingPromise = null;
391
+ return;
336
392
  }
337
393
  this.inFlight = false;
338
394
  }
@@ -347,13 +403,6 @@ class FetchAppendSession {
347
403
  while (this.queue.length > 0 || this.inFlight) {
348
404
  await new Promise((resolve) => setTimeout(resolve, 10));
349
405
  }
350
- // Close the acks stream if it exists
351
- if (this.acksController) {
352
- this.acksController.close();
353
- }
354
- }
355
- lastAckedPosition() {
356
- return this._lastAckedPosition;
357
406
  }
358
407
  }
359
408
  exports.FetchAppendSession = FetchAppendSession;
@@ -368,14 +417,25 @@ class FetchTransport {
368
417
  this.client = (0, index_js_1.createClient)((0, index_js_1.createConfig)({
369
418
  baseUrl: config.baseUrl,
370
419
  auth: () => Redacted.value(config.accessToken),
420
+ headers: config.basinName ? { "s2-basin": config.basinName } : {},
371
421
  }));
372
422
  this.transportConfig = config;
373
423
  }
374
424
  async makeAppendSession(stream, sessionOptions, requestOptions) {
375
- return FetchAppendSession.create(stream, this.transportConfig, sessionOptions, requestOptions);
425
+ // Fetch transport intentionally enforces single-flight submission (HTTP/1.1)
426
+ // This ensures only one batch is in-flight at a time, regardless of user setting.
427
+ const opts = {
428
+ ...sessionOptions,
429
+ maxInflightBatches: 1,
430
+ };
431
+ return retry_js_1.RetryAppendSession.create((myOptions) => {
432
+ return FetchAppendSession.create(stream, this.transportConfig, myOptions, requestOptions);
433
+ }, opts, this.transportConfig.retry);
376
434
  }
377
435
  async makeReadSession(stream, args, options) {
378
- return FetchReadSession.create(this.client, stream, args, options);
436
+ return retry_js_1.RetryReadSession.create((myArgs) => {
437
+ return FetchReadSession.create(this.client, stream, myArgs, options);
438
+ }, args, this.transportConfig.retry);
379
439
  }
380
440
  }
381
441
  exports.FetchTransport = FetchTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/stream/transport/fetch/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/stream/transport/fetch/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,mDAAyE;AACzE,oEAI+C;AAM/C,6DAAsD;AACtD,mDAAoD;AACpD,kDAAsD;AACtD,8DAAuD;AACvD,iDAAiD;AAEjD,kDAAgE;AAChE,gDAG2B;AAgB3B,2CAA2C;AAE3C,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,UAAU,CAAC,CAAC;AAEtC,MAAa,gBACZ,SAAQ,cAAkC;IAG1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,IAAY,EACZ,IAAuB,EACvB,OAA0B;QAE1B,KAAK,CAAC,2CAA2C,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1C,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC;gBAC3B,MAAM;gBACN,IAAI,EAAE;oBACL,MAAM,EAAE,IAAI;iBACZ;gBACD,OAAO,EAAE;oBACR,MAAM,EAAE,mBAAmB;oBAC3B,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD;gBACD,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,QAAQ;gBACjB,GAAG,OAAO;aACV,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,oDAAoD;gBACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxC,MAAM,KAAK,GACV,SAAS,IAAI,QAAQ,CAAC,KAAK;oBAC1B,CAAC,CAAC,IAAI,kBAAO,CAAC;wBACZ,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;wBAC/B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;wBACtC,MAAM;qBACN,CAAC;oBACH,CAAC,CAAC,MAAM,KAAK,GAAG;wBACf,CAAC,CAAC,IAAI,mCAAwB,CAAC;4BAC7B,MAAM;yBACN,CAAC;wBACH,CAAC,CAAC,IAAI,kBAAO,CAAC;4BACZ,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,gBAAgB;4BACzD,MAAM;yBACN,CAAC,CAAC;gBACP,OAAO,gBAAgB,CAAC,kBAAkB,CAAS,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,kBAAO,CAAC;oBACzB,OAAO,EAAE,yBAAyB;oBAClC,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,OAAO,gBAAgB,CAAC,kBAAkB,CAAS,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,QAAQ,CAAW,CAAC;YAChD,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,+DAA+D;YAC/D,MAAM,OAAO,GACZ,KAAK,YAAY,kBAAO;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,kBAAO,CAAC;oBACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;oBACtB,MAAM,EAAE,GAAG,EAAE,sCAAsC;iBACnD,CAAC,CAAC;YACN,OAAO,gBAAgB,CAAC,kBAAkB,CAAS,OAAO,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,kBAAkB,CAChC,KAAc;QAEd,mFAAmF;QACnF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAqB;YACrD,KAAK,CAAC,UAAU;gBACf,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzC,UAAU,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;SACD,CAAC,CAAC;QAEH,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACzC,MAAM,CACN,CAAC;QACF,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACtC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAEtC,OAAO,OAAmC,CAAC;IAC5C,CAAC;IAEO,iBAAiB,GAA+B,SAAS,CAAC;IAC1D,iBAAiB,GAA+B,SAAS,CAAC;IAElE,YAAoB,MAAkC,EAAE,MAAc;QACrE,0BAA0B;QAC1B,IAAI,WAAW,GAAmB,IAAI,CAAC;QAEvC,4EAA4E;QAC5E,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;QAE5C,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,6BAAW,CAAqB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACvE,gDAAgD;YAChD,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;oBACnB,kDAAkD;oBAClD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;wBACxB,OAAO;4BACN,GAAG,QAAQ;4BACX,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gCAC1C,GAAG,MAAM;gCACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC,CACR;6BAC/B,CAAC,CAAC;yBAC0B,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,OAAO;4BACN,GAAG,QAAQ;4BACX,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gCAC1C,GAAG,MAAM;gCACT,OAAO,EAAE,MAAM,CAAC,OAAO;oCACtB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;oCACpC,CAAC,CAAC,SAAS;6BACZ,CAAC,CAAC;yBAC2B,CAAC;oBACjC,CAAC;gBACF,CAAC,CAAC,EAAuB,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAChB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,iBAAiB,GAAG;wBACxB,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC;wBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;qBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACjE,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC3B,uCAAuC;gBACvC,0FAA0F;gBAC1F,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC3B,WAAW,GAAG,IAAI,kBAAO,CAAC;oBACzB,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,eAAe;oBACpC,MAAM,EAAE,GAAG;iBACX,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAEnC,oCAAoC;YACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,KAAK,CAAC;YACL,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC1B,IAAI,IAAI,EAAE,CAAC;oBACV,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO;gBACR,CAAC;gBAED,wCAAwC;gBACxC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,mBAAmB,GAAG,GAAG,GAAG,cAAc,CAAC;gBACjD,IAAI,mBAAmB,GAAG,eAAe,EAAE,CAAC;oBAC3C,MAAM,YAAY,GAAG,IAAI,kBAAO,CAAC;wBAChC,OAAO,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,eAAe,GAAG,IAAI,IAAI;wBAChH,MAAM,EAAE,GAAG,EAAE,kBAAkB;wBAC/B,IAAI,EAAE,SAAS;qBACf,CAAC,CAAC;oBACH,KAAK,CAAC,qCAAqC,EAAE,mBAAmB,CAAC,CAAC;oBAClE,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBACvD,IAAI,GAAG,IAAI,CAAC;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO;gBACR,CAAC;gBAED,IAAI,CAAC;oBACJ,yCAAyC;oBACzC,MAAM,eAAe,GAAG,eAAe,GAAG,mBAAmB,CAAC;oBAE9D,qCAAqC;oBACrC,oEAAoE;oBACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjC,MAAM,CAAC,IAAI,EAAE;wBACb,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAChC,UAAU,CAAC,GAAG,EAAE;4BACf,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;4BACnD,MAAM,CACL,IAAI,kBAAO,CAAC;gCACX,OAAO,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,eAAe,GAAG,IAAI,IAAI;gCACpG,MAAM,EAAE,GAAG;gCACX,IAAI,EAAE,SAAS;6BACf,CAAC,CACF,CAAC;wBACH,CAAC,EAAE,eAAe,CAAC,CACnB;qBACD,CAAC,CAAC;oBAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,IAAI,CAAC;wBACZ,qCAAqC;wBACrC,IAAI,WAAW,EAAE,CAAC;4BACjB,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;wBACvD,CAAC;wBACD,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACP,yBAAyB;wBACzB,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,gEAAgE;oBAChE,MAAM,KAAK,GACV,KAAK,YAAY,kBAAO;wBACvB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,kBAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzD,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChD,IAAI,GAAG,IAAI,CAAC;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC;YACF,CAAC;YACD,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5B,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,mDAAmD;IACnD,CAAC,MAAM,CAAC,aAAa,CAAC;QACrB,MAAM,EAAE,GAAI,cAAc,CAAC,SAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO;YACN,IAAI,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,IAAI;oBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,KAAW,EAAE,EAAE;gBAC7B,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,CAAO,EAAE,EAAE;gBACxB,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,CAAC;YACT,CAAC;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACrB,OAAO,IAAI,CAAC;YACb,CAAC;SACD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC;CACD;AAxRD,4CAwRC;AAED,mEAAmE;AAEnE;;;;GAIG;AACH,MAAa,kBAAkB;IACtB,KAAK,GAIR,EAAE,CAAC;IACA,gBAAgB,GAEnB,EAAE,CAAC;IACA,QAAQ,GAAG,KAAK,CAAC;IACR,OAAO,CAAoB;IAC3B,MAAM,CAAS;IACxB,MAAM,GAAG,KAAK,CAAC;IACf,iBAAiB,GAAyB,IAAI,CAAC;IACtC,MAAM,CAAS;IAEhC,MAAM,CAAC,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,eAAgC,EAChC,cAAqC,EACrC,cAAiC;QAEjC,OAAO,IAAI,kBAAkB,CAC5B,MAAM,EACN,eAAe,EACf,cAAc,EACd,cAAc,CACd,CAAC;IACH,CAAC;IAED,YACC,MAAc,EACd,eAAgC,EAChC,cAAqC,EACrC,cAAiC;QAEjC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAY,EACzB,IAAA,uBAAY,EAAC;YACZ,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC;YACvD,OAAO,EAAE,eAAe,CAAC,SAAS;gBACjC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE;gBAC3C,CAAC,CAAC,EAAE;SACL,CAAC,CACF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACV,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,IAAA,mBAAO,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GACV,KAAK,YAAY,kBAAO;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,kBAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACzD,OAAO,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,MAAM,CACL,OAAsC,EACtC,IAIC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,CACrB,IAAA,eAAG,EAAC,IAAI,kBAAO,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CACrE,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAElE,6DAA6D;QAC7D,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,CACrB,IAAA,eAAG,EACF,IAAI,kBAAO,CAAC;gBACX,OAAO,EAAE,YAAY,YAAY,CAAC,MAAM,6CAA6C;gBACrF,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,kBAAkB;aACxB,CAAC,CACF,CACD,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,gBAAgB,GAAG,IAAI,EAAE,iBAAiB,IAAI,CAAC,CAAC;QACpD,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBACnC,gBAAgB,IAAI,IAAA,uBAAY,EAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACF,CAAC;QAED,IAAI,gBAAgB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,OAAO,CACrB,IAAA,eAAG,EACF,IAAI,kBAAO,CAAC;gBACX,OAAO,EAAE,cAAc,gBAAgB,iDAAiD;gBACxF,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,kBAAkB;aACxB,CAAC,CACF,CACD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,IAAI,EAAE,aAAa;gBAClC,aAAa,EAAE,IAAI,EAAE,aAAa;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAExC,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,wEAAwE;gBACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC;YAEhD,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAY,EAC7B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ;oBACC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;iBACjC,EACD,IAAI,CAAC,OAAO,CACZ,CAAC;gBAEF,8BAA8B;gBAC9B,QAAQ,CAAC,OAAO,CAAC,IAAA,cAAE,EAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,yDAAyD;gBACzD,MAAM,KAAK,GACV,KAAK,YAAY,kBAAO;oBACvB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,kBAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEzD,kCAAkC;gBAClC,QAAQ,CAAC,OAAO,CAAC,IAAA,eAAG,EAAC,KAAK,CAAC,CAAC,CAAC;gBAE7B,6DAA6D;gBAC7D,kDAAkD;gBAClD,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACrD,eAAe,CAAC,OAAO,CAAC,IAAA,eAAG,EAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAE3B,kBAAkB;gBAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAEhB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,OAAO;YACR,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,YAAY;QACzB,kCAAkC;QAClC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAC9B,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;CACD;AA7MD,gDA6MC;AAED;;;GAGG;AACH,MAAa,cAAc;IACT,MAAM,CAAS;IACf,eAAe,CAAkB;IAClD,YAAY,MAAuB;QAClC,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAY,EACzB,IAAA,uBAAY,EAAC;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;SACjE,CAAC,CACF,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,MAAc,EACd,cAAqC,EACrC,cAAiC;QAEjC,6EAA6E;QAC7E,kFAAkF;QAClF,MAAM,IAAI,GAAG;YACZ,GAAG,cAAc;YACjB,kBAAkB,EAAE,CAAC;SACG,CAAC;QAC1B,OAAO,6BAAiB,CAAC,MAAM,CAC9B,CAAC,SAAS,EAAE,EAAE;YACb,OAAO,kBAAkB,CAAC,MAAM,CAC/B,MAAM,EACN,IAAI,CAAC,eAAe,EACpB,SAAS,EACT,cAAc,CACd,CAAC;QACH,CAAC,EACD,IAAI,EACJ,IAAI,CAAC,eAAe,CAAC,KAAK,CAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,MAAc,EACd,IAAuB,EACvB,OAA0B;QAE1B,OAAO,2BAAe,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE;YACV,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC,EACD,IAAI,EACJ,IAAI,CAAC,eAAe,CAAC,KAAK,CAC1B,CAAC;IACH,CAAC;CACD;AApDD,wCAoDC"}
@@ -1,7 +1,6 @@
1
1
  import type { S2RequestOptions } from "../../../../common.js";
2
2
  import type { Client } from "../../../../generated/client/index.js";
3
- import { type AppendAck } from "../../../../generated/index.js";
4
3
  import type { AppendArgs, AppendRecord, ReadArgs, ReadBatch } from "../../types.js";
5
4
  export declare function streamRead<Format extends "string" | "bytes" = "string">(stream: string, client: Client, args?: ReadArgs<Format>, options?: S2RequestOptions): Promise<ReadBatch<Format>>;
6
- export declare function streamAppend(stream: string, client: Client, records: AppendRecord | AppendRecord[], args?: Omit<AppendArgs, "records">, options?: S2RequestOptions): Promise<AppendAck>;
5
+ export declare function streamAppend(stream: string, client: Client, records: AppendRecord | AppendRecord[], args?: Omit<AppendArgs, "records">, options?: S2RequestOptions): Promise<any>;
7
6
  //# sourceMappingURL=shared.d.ts.map