@s2-dev/streamstore 0.22.5 → 0.22.6
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.
- package/dist/cjs/batch-transform.d.ts.map +1 -1
- package/dist/cjs/batch-transform.js +14 -8
- package/dist/cjs/batch-transform.js.map +1 -1
- package/dist/cjs/common.d.ts +5 -2
- package/dist/cjs/common.d.ts.map +1 -1
- package/dist/cjs/common.js.map +1 -1
- package/dist/cjs/error.d.ts +7 -0
- package/dist/cjs/error.d.ts.map +1 -1
- package/dist/cjs/error.js +25 -5
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/lib/event-stream.d.ts.map +1 -1
- package/dist/cjs/lib/event-stream.js +12 -3
- package/dist/cjs/lib/event-stream.js.map +1 -1
- package/dist/cjs/lib/redacted.d.ts +0 -8
- package/dist/cjs/lib/redacted.d.ts.map +1 -1
- package/dist/cjs/lib/redacted.js +9 -9
- package/dist/cjs/lib/redacted.js.map +1 -1
- package/dist/cjs/lib/retry.d.ts +0 -5
- package/dist/cjs/lib/retry.d.ts.map +1 -1
- package/dist/cjs/lib/retry.js +40 -11
- package/dist/cjs/lib/retry.js.map +1 -1
- package/dist/cjs/lib/stream/runtime.d.ts +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts +7 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.js +20 -1
- package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/cjs/lib/stream/transport/s2s/index.js +43 -4
- package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/cjs/lib/stream/types.d.ts +9 -0
- package/dist/cjs/lib/stream/types.d.ts.map +1 -1
- package/dist/cjs/lib/stream/types.js.map +1 -1
- package/dist/cjs/producer.d.ts +2 -0
- package/dist/cjs/producer.d.ts.map +1 -1
- package/dist/cjs/producer.js +63 -11
- package/dist/cjs/producer.js.map +1 -1
- package/dist/cjs/stream.d.ts +1 -1
- package/dist/cjs/stream.d.ts.map +1 -1
- package/dist/cjs/stream.js +15 -13
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +14 -3
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/batch-transform.d.ts.map +1 -1
- package/dist/esm/batch-transform.js +14 -8
- package/dist/esm/batch-transform.js.map +1 -1
- package/dist/esm/common.d.ts +5 -2
- package/dist/esm/common.d.ts.map +1 -1
- package/dist/esm/common.js.map +1 -1
- package/dist/esm/error.d.ts +7 -0
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +25 -5
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/lib/event-stream.d.ts.map +1 -1
- package/dist/esm/lib/event-stream.js +12 -3
- package/dist/esm/lib/event-stream.js.map +1 -1
- package/dist/esm/lib/redacted.d.ts +0 -8
- package/dist/esm/lib/redacted.d.ts.map +1 -1
- package/dist/esm/lib/redacted.js +3 -3
- package/dist/esm/lib/redacted.js.map +1 -1
- package/dist/esm/lib/retry.d.ts +0 -5
- package/dist/esm/lib/retry.d.ts.map +1 -1
- package/dist/esm/lib/retry.js +40 -11
- package/dist/esm/lib/retry.js.map +1 -1
- package/dist/esm/lib/stream/runtime.d.ts +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.d.ts +7 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.js +20 -1
- package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/esm/lib/stream/transport/s2s/index.js +43 -4
- package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/esm/lib/stream/types.d.ts +9 -0
- package/dist/esm/lib/stream/types.d.ts.map +1 -1
- package/dist/esm/lib/stream/types.js.map +1 -1
- package/dist/esm/producer.d.ts +2 -0
- package/dist/esm/producer.d.ts.map +1 -1
- package/dist/esm/producer.js +63 -11
- package/dist/esm/producer.js.map +1 -1
- package/dist/esm/stream.d.ts +1 -1
- package/dist/esm/stream.d.ts.map +1 -1
- package/dist/esm/stream.js +15 -13
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +14 -3
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACrC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CACZ;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,IAAI,CAAC,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACrC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CACZ;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,IAAI,CAAC,EAAE,qBAAqB;IA0DxC,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,KAAK;IA2Bb,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,iBAAiB;CAMzB"}
|
|
@@ -48,17 +48,18 @@ class BatchTransform extends TransformStream {
|
|
|
48
48
|
start: (c) => {
|
|
49
49
|
controller = c;
|
|
50
50
|
},
|
|
51
|
-
transform: (chunk
|
|
52
|
-
// Store controller reference on first transform
|
|
53
|
-
if (!this.controller) {
|
|
54
|
-
this.controller = c;
|
|
55
|
-
}
|
|
51
|
+
transform: (chunk) => {
|
|
56
52
|
this.handleRecord(chunk);
|
|
57
53
|
},
|
|
58
54
|
flush: () => {
|
|
59
55
|
this.flush();
|
|
60
56
|
},
|
|
57
|
+
cancel: () => {
|
|
58
|
+
this.cancelLingerTimer();
|
|
59
|
+
},
|
|
61
60
|
});
|
|
61
|
+
// Set controller reference captured during start
|
|
62
|
+
this.controller = controller;
|
|
62
63
|
// Validate configuration
|
|
63
64
|
if (args?.maxBatchRecords !== undefined) {
|
|
64
65
|
if (args.maxBatchRecords < 1 || args.maxBatchRecords > 1000) {
|
|
@@ -106,7 +107,7 @@ class BatchTransform extends TransformStream {
|
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
109
|
// Start linger timer on first record added to an empty batch
|
|
109
|
-
if (this.currentBatch.length === 0 && this.lingerDuration
|
|
110
|
+
if (this.currentBatch.length === 0 && this.lingerDuration >= 0) {
|
|
110
111
|
this.startLingerTimer();
|
|
111
112
|
}
|
|
112
113
|
// Check if adding this record would exceed limits
|
|
@@ -115,7 +116,7 @@ class BatchTransform extends TransformStream {
|
|
|
115
116
|
if (wouldExceedRecords || wouldExceedBytes) {
|
|
116
117
|
this.flush();
|
|
117
118
|
// Restart linger timer for new batch
|
|
118
|
-
if (this.lingerDuration
|
|
119
|
+
if (this.lingerDuration >= 0) {
|
|
119
120
|
this.startLingerTimer();
|
|
120
121
|
}
|
|
121
122
|
}
|
|
@@ -156,7 +157,12 @@ class BatchTransform extends TransformStream {
|
|
|
156
157
|
this.lingerTimer = setTimeout(() => {
|
|
157
158
|
this.lingerTimer = null;
|
|
158
159
|
if (this.currentBatch.length > 0) {
|
|
159
|
-
|
|
160
|
+
try {
|
|
161
|
+
this.flush();
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Stream may be closed/errored; discard silently
|
|
165
|
+
}
|
|
160
166
|
}
|
|
161
167
|
}, this.lingerDuration);
|
|
162
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,yCAA4D;AAC5D,yCAA0C;AAkB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,cAAe,SAAQ,eAA0C;IACrE,YAAY,GAAmB,EAAE,CAAC;IAClC,gBAAgB,GAAW,CAAC,CAAC;IAC7B,WAAW,GAAyC,IAAI,CAAC;IACzD,UAAU,GACjB,IAAI,CAAC;IACW,eAAe,CAAS;IACxB,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,YAAY,CAAU;IAC/B,eAAe,CAAU;IAEjC,YAAY,IAA4B;QACvC,IAAI,
|
|
1
|
+
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/common.d.ts
CHANGED
|
@@ -2,8 +2,11 @@ import { S2Endpoints, type S2EndpointsInit } from "./endpoints.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Policy for retrying append operations.
|
|
4
4
|
*
|
|
5
|
-
* - `all`: Retry all append operations, including those that may have side effects
|
|
6
|
-
*
|
|
5
|
+
* - `all`: Retry all append operations, including those that may have side effects.
|
|
6
|
+
* Use when duplicate records on the stream are acceptable.
|
|
7
|
+
* - `noSideEffects`: Retry when it can be determined that the request had no side effects.
|
|
8
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors (`ECONNREFUSED`)
|
|
9
|
+
* are safe to retry since they guarantee no mutation occurred.
|
|
7
10
|
*/
|
|
8
11
|
export type AppendRetryPolicy = "all" | "noSideEffects";
|
|
9
12
|
/**
|
package/dist/cjs/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE3D,qBAAa,aAAa;WACX,KAAK,IAAI,mBAAmB;CAoB1C;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;IAC1C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC"}
|
package/dist/cjs/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAAA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAAA,iDAAmE;AAuEnE,MAAa,aAAa;IAClB,MAAM,CAAC,KAAK;QAClB,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACpD,IAAI,eAAe,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,aAAa,GAAoB;gBACtC,OAAO,EAAE,eAAe,IAAI,SAAS;gBACrC,KAAK,EAAE,aAAa,IAAI,SAAS;aACjC,CAAC;YACF,MAAM,CAAC,SAAS,GAAG,IAAI,0BAAW,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AArBD,sCAqBC"}
|
package/dist/cjs/error.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export declare class S2Error extends Error {
|
|
|
35
35
|
data?: unknown;
|
|
36
36
|
origin?: "server" | "sdk";
|
|
37
37
|
});
|
|
38
|
+
/**
|
|
39
|
+
* Returns true if the error guarantees that no mutation occurred.
|
|
40
|
+
*
|
|
41
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors
|
|
42
|
+
* (`ECONNREFUSED`) are safe to retry since they guarantee no side effects.
|
|
43
|
+
*/
|
|
44
|
+
hasNoSideEffects(): boolean;
|
|
38
45
|
}
|
|
39
46
|
/** Helper: construct a non-retryable invariant violation error (status 0). */
|
|
40
47
|
export declare function invariantViolation(message: string, details?: unknown): S2Error;
|
package/dist/cjs/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/error.js
CHANGED
|
@@ -31,11 +31,15 @@ function isConnectionError(error) {
|
|
|
31
31
|
// Chrome: "Failed to fetch"
|
|
32
32
|
// Firefox: "NetworkError when attempting to fetch resource"
|
|
33
33
|
// Safari: "Load failed"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
// Normalize: lowercase, strip trailing punctuation/whitespace
|
|
35
|
+
const msg = error.message.toLowerCase().replace(/[\s.!]+$/, "");
|
|
36
|
+
const knownConnectionMessages = [
|
|
37
|
+
"fetch failed",
|
|
38
|
+
"failed to fetch",
|
|
39
|
+
"networkerror when attempting to fetch resource",
|
|
40
|
+
"load failed",
|
|
41
|
+
];
|
|
42
|
+
if (knownConnectionMessages.includes(msg)) {
|
|
39
43
|
return true;
|
|
40
44
|
}
|
|
41
45
|
const code = getErrorCode(error);
|
|
@@ -206,6 +210,22 @@ class S2Error extends Error {
|
|
|
206
210
|
this.origin = origin ?? "sdk";
|
|
207
211
|
this.name = "S2Error";
|
|
208
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Returns true if the error guarantees that no mutation occurred.
|
|
215
|
+
*
|
|
216
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors
|
|
217
|
+
* (`ECONNREFUSED`) are safe to retry since they guarantee no side effects.
|
|
218
|
+
*/
|
|
219
|
+
hasNoSideEffects() {
|
|
220
|
+
if (this.origin === "server") {
|
|
221
|
+
return ((this.status === 429 && this.code === "rate_limited") ||
|
|
222
|
+
(this.status === 502 && this.code === "hot_server"));
|
|
223
|
+
}
|
|
224
|
+
if (this.origin === "sdk") {
|
|
225
|
+
return this.code === "ECONNREFUSED";
|
|
226
|
+
}
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
209
229
|
}
|
|
210
230
|
exports.S2Error = S2Error;
|
|
211
231
|
/** Helper: construct a non-retryable invariant violation error (status 0). */
|
package/dist/cjs/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IACf;IACA,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACT,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,CAAC,EAAE,CAAC;CACV,CAAC;AAEL,qBAAa,WAAW,CAAC,CAAC,CACzB,SAAQ,cAAc,CAAC,CAAC,CACxB,YAAW,eAAe;gBAGzB,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IACf;IACA,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACT,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,CAAC,EAAE,CAAC;CACV,CAAC;AAEL,qBAAa,WAAW,CAAC,CAAC,CACzB,SAAQ,cAAc,CAAC,CAAC,CACxB,YAAW,eAAe;gBAGzB,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;IA2C3C,CAAC,MAAM,CAAC,YAAY,CAAC;IAK3B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CAqClD"}
|
|
@@ -33,12 +33,13 @@ class EventStream extends ReadableStream {
|
|
|
33
33
|
downstream.enqueue(chunk);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
else if (item.value) {
|
|
36
|
+
else if (item.value !== undefined) {
|
|
37
37
|
downstream.enqueue(item.value);
|
|
38
38
|
}
|
|
39
39
|
else if (item.done) {
|
|
40
40
|
await upstream.cancel("done");
|
|
41
41
|
downstream.close();
|
|
42
|
+
return;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -157,8 +158,16 @@ function parseMessage(chunk, parse) {
|
|
|
157
158
|
continue;
|
|
158
159
|
ignore = false;
|
|
159
160
|
const i = line.indexOf(":");
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
let field;
|
|
162
|
+
let value;
|
|
163
|
+
if (i === -1) {
|
|
164
|
+
field = line;
|
|
165
|
+
value = "";
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
field = line.slice(0, i);
|
|
169
|
+
value = line[i + 1] === " " ? line.slice(i + 2) : line.slice(i + 1);
|
|
170
|
+
}
|
|
162
171
|
if (field === "data")
|
|
163
172
|
dataLines.push(value);
|
|
164
173
|
else if (field === "event")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAgC;AAEhC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,iBAAiB,CAAC,CAAC;AA+B7C,MAAa,WACZ,SAAQ,cAAiB;IAGzB,YACC,YAAwC,EACxC,KAAgD;QAEhD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC;YACL,KAAK,CAAC,IAAI,CAAC,UAAU;gBACpB,IAAI,CAAC;oBACJ,OAAO,IAAI,EAAE,CAAC;wBACb,KAAK,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACpC,IAAI,KAAK,CAAC,IAAI;gCAAE,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC;4BAC1C,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC3C,SAAS;wBACV,CAAC;wBACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;wBAClD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC1C,IAAI,IAAI,EAAE,CAAC;4BACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gCAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oCAChC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC3B,CAAC;4BACF,CAAC;iCAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,7 @@ export interface Redacted<out A = string> {
|
|
|
3
3
|
export declare namespace Redacted {
|
|
4
4
|
type Value<T extends Redacted<any>> = [T] extends [Redacted<infer _A>] ? _A : never;
|
|
5
5
|
}
|
|
6
|
-
export declare const redactedRegistry: WeakMap<Redacted<any>, any>;
|
|
7
|
-
declare const NodeInspectSymbol: unique symbol;
|
|
8
|
-
export declare const proto: {
|
|
9
|
-
toString(): string;
|
|
10
|
-
toJSON(): string;
|
|
11
|
-
[NodeInspectSymbol](): string;
|
|
12
|
-
};
|
|
13
6
|
export declare const make: <T>(value: T) => Redacted<T>;
|
|
14
7
|
export declare const value: <T>(self: Redacted<T>) => T;
|
|
15
8
|
export declare const unsafeWipe: <T>(self: Redacted<T>) => boolean;
|
|
16
|
-
export {};
|
|
17
9
|
//# sourceMappingURL=redacted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redacted.d.ts","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;CAAI;AAE5C,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IACjC,KAAY,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAC1E,EAAE,GACF,KAAK,CAAC;CACT;
|
|
1
|
+
{"version":3,"file":"redacted.d.ts","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;CAAI;AAE5C,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IACjC,KAAY,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAC1E,EAAE,GACF,KAAK,CAAC;CACT;AAkBD,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,CAAC,KAAG,QAAQ,CAAC,CAAC,CAI5C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAG,CAM5C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAG,OACpB,CAAC"}
|
package/dist/cjs/lib/redacted.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unsafeWipe = exports.value = exports.make =
|
|
4
|
-
|
|
3
|
+
exports.unsafeWipe = exports.value = exports.make = void 0;
|
|
4
|
+
const redactedRegistry = new WeakMap();
|
|
5
5
|
const NodeInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
6
|
-
|
|
6
|
+
const proto = Object.freeze({
|
|
7
7
|
toString() {
|
|
8
8
|
return "<redacted>";
|
|
9
9
|
},
|
|
@@ -13,22 +13,22 @@ exports.proto = {
|
|
|
13
13
|
[NodeInspectSymbol]() {
|
|
14
14
|
return "<redacted>";
|
|
15
15
|
},
|
|
16
|
-
};
|
|
16
|
+
});
|
|
17
17
|
const make = (value) => {
|
|
18
|
-
const redacted = Object.create(
|
|
19
|
-
|
|
18
|
+
const redacted = Object.create(proto);
|
|
19
|
+
redactedRegistry.set(redacted, value);
|
|
20
20
|
return redacted;
|
|
21
21
|
};
|
|
22
22
|
exports.make = make;
|
|
23
23
|
const value = (self) => {
|
|
24
|
-
if (
|
|
25
|
-
return
|
|
24
|
+
if (redactedRegistry.has(self)) {
|
|
25
|
+
return redactedRegistry.get(self);
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
throw new Error("Unable to get redacted value");
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
exports.value = value;
|
|
32
|
-
const unsafeWipe = (self) =>
|
|
32
|
+
const unsafeWipe = (self) => redactedRegistry.delete(self);
|
|
33
33
|
exports.unsafeWipe = unsafeWipe;
|
|
34
34
|
//# sourceMappingURL=redacted.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redacted.js","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"redacted.js","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":";;;AAQA,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAsB,CAAC;AAE3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,QAAQ;QACP,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,MAAM;QACL,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,CAAC,iBAAiB,CAAC;QAClB,OAAO,YAAY,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEI,MAAM,IAAI,GAAG,CAAI,KAAQ,EAAe,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,IAAI,QAIf;AAEK,MAAM,KAAK,GAAG,CAAI,IAAiB,EAAK,EAAE;IAChD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC;AANW,QAAA,KAAK,SAMhB;AAEK,MAAM,UAAU,GAAG,CAAI,IAAiB,EAAW,EAAE,CAC3D,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AADlB,QAAA,UAAU,cACQ"}
|
package/dist/cjs/lib/retry.d.ts
CHANGED
|
@@ -136,11 +136,6 @@ export declare class RetryAppendSession implements AsyncDisposable, AppendSessio
|
|
|
136
136
|
* Recover from transient error: recreate session and resubmit all inflight entries.
|
|
137
137
|
*/
|
|
138
138
|
private recover;
|
|
139
|
-
/**
|
|
140
|
-
* Check if append can be retried under noSideEffects policy.
|
|
141
|
-
* For appends, idempotency requires match_seq_num.
|
|
142
|
-
*/
|
|
143
|
-
private isIdempotent;
|
|
144
139
|
/**
|
|
145
140
|
* Ensure session exists, creating it if necessary.
|
|
146
141
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAGN,OAAO,EAGP,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,EACX,UAAU,EAEV,oBAAoB,EACpB,aAAa,IAAI,iBAAiB,EAClC,QAAQ,EAER,WAAW,IAAI,eAAe,EAC9B,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkDtD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAOtD,CAAC;AAWF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib/retry.js
CHANGED
|
@@ -74,6 +74,10 @@ function isRetryable(error) {
|
|
|
74
74
|
if (RETRYABLE_STATUS_CODES.has(error.status)) {
|
|
75
75
|
return true;
|
|
76
76
|
}
|
|
77
|
+
// Transaction conflicts are transiently retryable
|
|
78
|
+
if (error.status === 409 && error.code === "transaction_conflict") {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
77
81
|
// 400-level errors are generally non-retryable (validation, bad request)
|
|
78
82
|
if (error.status >= 400 && error.status < 500) {
|
|
79
83
|
return false;
|
|
@@ -674,10 +678,23 @@ class RetryAppendSession {
|
|
|
674
678
|
debugSession("[%s] [PUMP] ensuring session exists", this.streamName);
|
|
675
679
|
await this.ensureSession();
|
|
676
680
|
if (!this.session) {
|
|
677
|
-
// Session creation failed -
|
|
681
|
+
// Session creation failed - check max attempts before retrying
|
|
682
|
+
const effectiveMax = Math.max(1, this.retryConfig.maxAttempts);
|
|
683
|
+
const allowedRetries = effectiveMax - 1;
|
|
684
|
+
if (this.currentAttempt >= allowedRetries) {
|
|
685
|
+
debugSession("[%s] [PUMP] session creation failed, max attempts reached (%d), aborting", this.streamName, effectiveMax);
|
|
686
|
+
const wrappedError = new error_js_1.S2Error({
|
|
687
|
+
message: `Max attempts (${effectiveMax}) exhausted: connection failed`,
|
|
688
|
+
status: 502,
|
|
689
|
+
code: "connection_failed",
|
|
690
|
+
});
|
|
691
|
+
await this.abort(wrappedError);
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
678
694
|
this.consecutiveFailures++;
|
|
695
|
+
this.currentAttempt++;
|
|
679
696
|
const delay = calculateDelay(this.consecutiveFailures - 1, this.retryConfig.minBaseDelayMillis, this.retryConfig.maxBaseDelayMillis);
|
|
680
|
-
debugSession("[%s] [PUMP] session creation failed, backing off for %dms", this.streamName, delay);
|
|
697
|
+
debugSession("[%s] [PUMP] session creation failed, backing off for %dms (retry %d/%d)", this.streamName, delay, this.currentAttempt, allowedRetries);
|
|
681
698
|
await sleep(delay);
|
|
682
699
|
continue;
|
|
683
700
|
}
|
|
@@ -769,13 +786,31 @@ class RetryAppendSession {
|
|
|
769
786
|
await this.abort(error);
|
|
770
787
|
return;
|
|
771
788
|
}
|
|
772
|
-
// Check policy compliance
|
|
789
|
+
// Check policy compliance: under noSideEffects, only retry when
|
|
790
|
+
// we can determine no mutation occurred. This is true if either:
|
|
791
|
+
// 1. The error itself guarantees no side effects (e.g. rate_limited, hot_server)
|
|
792
|
+
// 2. The transport reports no data was sent since the last dormant state
|
|
773
793
|
if (this.retryConfig.appendRetryPolicy === "noSideEffects" &&
|
|
774
|
-
!
|
|
794
|
+
!error.hasNoSideEffects() &&
|
|
795
|
+
(this.session?.effectSignalled() ?? true)) {
|
|
775
796
|
debugSession("[%s] error not policy-compliant (noSideEffects), aborting", this.streamName);
|
|
776
797
|
await this.abort(error);
|
|
777
798
|
return;
|
|
778
799
|
}
|
|
800
|
+
// Under noSideEffects, also check that all inflight entries
|
|
801
|
+
// are idempotent. Non-idempotent entries that were already
|
|
802
|
+
// sent may have been processed, and resubmitting would cause
|
|
803
|
+
// duplicates.
|
|
804
|
+
if (this.retryConfig.appendRetryPolicy === "noSideEffects") {
|
|
805
|
+
const hasNonIdempotentSent = this.inflight.some((entry, index) => index > 0 &&
|
|
806
|
+
!entry.needsSubmit &&
|
|
807
|
+
entry.input.matchSeqNum === undefined);
|
|
808
|
+
if (hasNonIdempotentSent) {
|
|
809
|
+
debugSession("[%s] non-idempotent pipelined entries already sent, aborting under noSideEffects", this.streamName);
|
|
810
|
+
await this.abort(error);
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
779
814
|
// Check max attempts (total attempts include initial; retries = max - 1)
|
|
780
815
|
const effectiveMax = Math.max(1, this.retryConfig.maxAttempts);
|
|
781
816
|
const allowedRetries = effectiveMax - 1;
|
|
@@ -869,17 +904,11 @@ class RetryAppendSession {
|
|
|
869
904
|
const attemptStarted = performance.now();
|
|
870
905
|
entry.attemptStartedMonotonicMs = attemptStarted;
|
|
871
906
|
entry.innerPromise = session.submit(entry.input);
|
|
907
|
+
delete entry.needsSubmit;
|
|
872
908
|
debugSession("[%s] resubmitted entry (%d records, %d bytes, match_seq_num=%s)", this.streamName, entry.expectedCount, entry.input.meteredBytes, entry.input.matchSeqNum ?? "none");
|
|
873
909
|
}
|
|
874
910
|
debugSession("[%s] recovery complete", this.streamName);
|
|
875
911
|
}
|
|
876
|
-
/**
|
|
877
|
-
* Check if append can be retried under noSideEffects policy.
|
|
878
|
-
* For appends, idempotency requires match_seq_num.
|
|
879
|
-
*/
|
|
880
|
-
isIdempotent(entry) {
|
|
881
|
-
return entry.input.matchSeqNum !== undefined;
|
|
882
|
-
}
|
|
883
912
|
/**
|
|
884
913
|
* Ensure session exists, creating it if necessary.
|
|
885
914
|
*/
|