@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.
- package/README.md +69 -1
- package/dist/cjs/accessTokens.d.ts +3 -2
- package/dist/cjs/accessTokens.d.ts.map +1 -1
- package/dist/cjs/accessTokens.js +22 -37
- package/dist/cjs/accessTokens.js.map +1 -1
- package/dist/cjs/basin.d.ts +4 -3
- package/dist/cjs/basin.d.ts.map +1 -1
- package/dist/cjs/basin.js +7 -5
- package/dist/cjs/basin.js.map +1 -1
- package/dist/cjs/basins.d.ts +10 -10
- package/dist/cjs/basins.d.ts.map +1 -1
- package/dist/cjs/basins.js +36 -64
- package/dist/cjs/basins.js.map +1 -1
- package/dist/cjs/batch-transform.d.ts +1 -1
- package/dist/cjs/batch-transform.d.ts.map +1 -1
- package/dist/cjs/batch-transform.js +36 -5
- package/dist/cjs/batch-transform.js.map +1 -1
- package/dist/cjs/common.d.ts +42 -0
- package/dist/cjs/common.d.ts.map +1 -1
- package/dist/cjs/error.d.ts +40 -2
- package/dist/cjs/error.d.ts.map +1 -1
- package/dist/cjs/error.js +268 -2
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/generated/client/types.gen.d.ts +7 -0
- package/dist/cjs/generated/client/types.gen.d.ts.map +1 -1
- package/dist/cjs/generated/client/utils.gen.d.ts +1 -0
- package/dist/cjs/generated/client/utils.gen.d.ts.map +1 -1
- package/dist/cjs/generated/client/utils.gen.js.map +1 -1
- package/dist/cjs/generated/core/types.gen.d.ts +2 -0
- package/dist/cjs/generated/core/types.gen.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +46 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +28 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/result.d.ts +57 -0
- package/dist/cjs/lib/result.d.ts.map +1 -0
- package/dist/cjs/lib/result.js +43 -0
- package/dist/cjs/lib/result.js.map +1 -0
- package/dist/cjs/lib/retry.d.ts +151 -0
- package/dist/cjs/lib/retry.d.ts.map +1 -0
- package/dist/cjs/lib/retry.js +839 -0
- package/dist/cjs/lib/retry.js.map +1 -0
- package/dist/cjs/lib/stream/factory.d.ts +0 -1
- package/dist/cjs/lib/stream/factory.d.ts.map +1 -1
- package/dist/cjs/lib/stream/factory.js +0 -1
- package/dist/cjs/lib/stream/factory.js.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts +24 -32
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.js +247 -187
- package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +1 -2
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/shared.js +49 -72
- package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -1
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts +0 -1
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -1
- package/dist/cjs/lib/stream/transport/s2s/index.js +309 -352
- package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/cjs/lib/stream/types.d.ts +102 -8
- package/dist/cjs/lib/stream/types.d.ts.map +1 -1
- package/dist/cjs/metrics.d.ts +3 -2
- package/dist/cjs/metrics.d.ts.map +1 -1
- package/dist/cjs/metrics.js +24 -39
- package/dist/cjs/metrics.js.map +1 -1
- package/dist/cjs/s2.d.ts +1 -0
- package/dist/cjs/s2.d.ts.map +1 -1
- package/dist/cjs/s2.js +14 -3
- package/dist/cjs/s2.js.map +1 -1
- package/dist/cjs/stream.d.ts +5 -3
- package/dist/cjs/stream.d.ts.map +1 -1
- package/dist/cjs/stream.js +29 -18
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/streams.d.ts +10 -10
- package/dist/cjs/streams.d.ts.map +1 -1
- package/dist/cjs/streams.js +36 -64
- package/dist/cjs/streams.js.map +1 -1
- package/dist/cjs/utils.d.ts +3 -3
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +3 -3
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/accessTokens.d.ts +3 -2
- package/dist/esm/accessTokens.d.ts.map +1 -1
- package/dist/esm/accessTokens.js +23 -38
- package/dist/esm/accessTokens.js.map +1 -1
- package/dist/esm/basin.d.ts +4 -3
- package/dist/esm/basin.d.ts.map +1 -1
- package/dist/esm/basin.js +7 -5
- package/dist/esm/basin.js.map +1 -1
- package/dist/esm/basins.d.ts +10 -10
- package/dist/esm/basins.d.ts.map +1 -1
- package/dist/esm/basins.js +37 -65
- package/dist/esm/basins.js.map +1 -1
- package/dist/esm/batch-transform.d.ts +1 -1
- package/dist/esm/batch-transform.d.ts.map +1 -1
- package/dist/esm/batch-transform.js +37 -6
- package/dist/esm/batch-transform.js.map +1 -1
- package/dist/esm/common.d.ts +42 -0
- package/dist/esm/common.d.ts.map +1 -1
- package/dist/esm/error.d.ts +40 -2
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +260 -2
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/generated/client/types.gen.d.ts +7 -0
- package/dist/esm/generated/client/types.gen.d.ts.map +1 -1
- package/dist/esm/generated/client/utils.gen.d.ts +1 -0
- package/dist/esm/generated/client/utils.gen.d.ts.map +1 -1
- package/dist/esm/generated/client/utils.gen.js.map +1 -1
- package/dist/esm/generated/core/types.gen.d.ts +2 -0
- package/dist/esm/generated/core/types.gen.d.ts.map +1 -1
- package/dist/esm/index.d.ts +46 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +23 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/result.d.ts +57 -0
- package/dist/esm/lib/result.d.ts.map +1 -0
- package/dist/esm/lib/result.js +37 -0
- package/dist/esm/lib/result.js.map +1 -0
- package/dist/esm/lib/retry.d.ts +151 -0
- package/dist/esm/lib/retry.d.ts.map +1 -0
- package/dist/esm/lib/retry.js +830 -0
- package/dist/esm/lib/retry.js.map +1 -0
- package/dist/esm/lib/stream/factory.d.ts +0 -1
- package/dist/esm/lib/stream/factory.d.ts.map +1 -1
- package/dist/esm/lib/stream/factory.js +0 -1
- package/dist/esm/lib/stream/factory.js.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.d.ts +24 -32
- package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.js +247 -187
- package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts +1 -2
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/shared.js +51 -74
- package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -1
- package/dist/esm/lib/stream/transport/s2s/index.d.ts +0 -1
- package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -1
- package/dist/esm/lib/stream/transport/s2s/index.js +310 -353
- package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/esm/lib/stream/types.d.ts +102 -8
- package/dist/esm/lib/stream/types.d.ts.map +1 -1
- package/dist/esm/metrics.d.ts +3 -2
- package/dist/esm/metrics.d.ts.map +1 -1
- package/dist/esm/metrics.js +25 -40
- package/dist/esm/metrics.js.map +1 -1
- package/dist/esm/s2.d.ts +1 -0
- package/dist/esm/s2.d.ts.map +1 -1
- package/dist/esm/s2.js +14 -3
- package/dist/esm/s2.js.map +1 -1
- package/dist/esm/stream.d.ts +5 -3
- package/dist/esm/stream.d.ts.map +1 -1
- package/dist/esm/stream.js +30 -19
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/streams.d.ts +10 -10
- package/dist/esm/streams.d.ts.map +1 -1
- package/dist/esm/streams.js +37 -65
- package/dist/esm/streams.js.map +1 -1
- package/dist/esm/utils.d.ts +3 -3
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +2 -2
- package/dist/esm/utils.js.map +1 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../../../src/generated/core/types.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,KAAK,GACL,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,MAAM,MAAM,CAChB,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,KAAK,IACX;IACF;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC,GAAG;KACD,CAAC,IAAI,UAAU,GAAG,QAAQ;CAC5B,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACtB;IAAE,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,GAAG,EAAE;SAAG,CAAC,IAAI,UAAU,GAAG,KAAK;KAAE,CAAA;CAAE,CAAC,CAAC;AAE7C,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACpE;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC;;;;;OAKG;IACH,OAAO,CAAC,EACJ,WAAW,CAAC,SAAS,CAAC,GACtB,MAAM,CACJ,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAC7B,IAAI,GACJ,SAAS,GACT,OAAO,CACV,CAAC;IACN;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAAC;IAC3D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,KAAK,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACxD,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,GAC7B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GACrB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEZ,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9D,KAAK,GACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../../../src/generated/core/types.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,KAAK,GACL,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,OAAO,CAAC;AAEZ,gBAAgB;AAChB,MAAM,MAAM,MAAM,CAChB,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,KAAK,IACX;IACF;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC,GAAG;KACD,CAAC,IAAI,UAAU,GAAG,QAAQ;CAC5B,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACtB;IAAE,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,GAAG,EAAE;SAAG,CAAC,IAAI,UAAU,GAAG,KAAK;KAAE,CAAA;CAAE,CAAC,CAAC;AAE7C,gBAAgB;AAChB,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACpE;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC;;;;;OAKG;IACH,OAAO,CAAC,EACJ,WAAW,CAAC,SAAS,CAAC,GACtB,MAAM,CACJ,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAC7B,IAAI,GACJ,SAAS,GACT,OAAO,CACV,CAAC;IACN;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAAC;IAC3D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,KAAK,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACxD,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,GAC7B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GACrB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEZ,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9D,KAAK,GACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACb,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,14 +1,57 @@
|
|
|
1
|
+
/** Access token management helpers and argument types. */
|
|
1
2
|
export type { IssueAccessTokenArgs, ListAccessTokensArgs, RevokeAccessTokenArgs, } from "./accessTokens.js";
|
|
3
|
+
export { S2AccessTokens } from "./accessTokens.js";
|
|
4
|
+
/** Basin-scoped stream options. */
|
|
5
|
+
export type { StreamOptions } from "./basin.js";
|
|
2
6
|
export { S2Basin } from "./basin.js";
|
|
7
|
+
/**
|
|
8
|
+
* Basin management argument types.
|
|
9
|
+
* Use these with {@link S2Basins} and {@link S2Basin}.
|
|
10
|
+
*/
|
|
3
11
|
export type { CreateBasinArgs, DeleteBasinArgs, GetBasinConfigArgs, ListBasinsArgs, ReconfigureBasinArgs, } from "./basins.js";
|
|
12
|
+
/** Basin management helper. */
|
|
13
|
+
export { S2Basins } from "./basins.js";
|
|
14
|
+
/** Types used with {@link BatchTransform}. */
|
|
4
15
|
export type { BatchOutput, BatchTransformArgs } from "./batch-transform.js";
|
|
16
|
+
/** High-level helper for transforming streams in batches. */
|
|
5
17
|
export { BatchTransform } from "./batch-transform.js";
|
|
18
|
+
/** Client configuration and retry-related types. */
|
|
19
|
+
export type { AppendRetryPolicy, RetryConfig, S2ClientOptions, S2RequestOptions, } from "./common.js";
|
|
20
|
+
/**
|
|
21
|
+
* Rich error types exposed by the SDK.
|
|
22
|
+
*
|
|
23
|
+
* - {@link S2Error} is the base error type.
|
|
24
|
+
* - Other types specialize common protocol errors.
|
|
25
|
+
*/
|
|
6
26
|
export { FencingTokenMismatchError, RangeNotSatisfiableError, S2Error, SeqNumMismatchError, } from "./error.js";
|
|
7
|
-
|
|
8
|
-
export type {
|
|
27
|
+
/** Low-level generated HTTP client types. */
|
|
28
|
+
export type { Client } from "./generated/client/types.gen.js";
|
|
29
|
+
/**
|
|
30
|
+
* Generated API types re-exported for convenience.
|
|
31
|
+
*
|
|
32
|
+
* These mirror the server REST resources and payloads.
|
|
33
|
+
*/
|
|
34
|
+
export type { AccessTokenIdStr, AccessTokenInfo, AccessTokenScope, AccountMetricSet, AccumulationMetric, AppendAck, AppendInput, AppendRecord as GeneratedAppendRecord, BasinConfig, BasinInfo, BasinMetricSet, BasinNameStr, BasinReconfiguration, BasinScope, BasinState, CreateStreamRequest, DeleteOnEmptyConfig, DeleteOnEmptyReconfiguration, FencingToken, GaugeMetric, Header, InfiniteRetention, IssueAccessTokenResponse, LabelMetric, ListAccessTokensResponse, ListBasinsResponse, ListStreamsResponse, Metric, MetricSetResponse, MetricUnit, Operation, PermittedOperationGroups, ReadBatch as GeneratedReadBatch, ReadData, ReadWritePermissions, ResourceSet, RetentionPolicy, S2Format, ScalarMetric, SequencedRecord, StorageClass, StreamConfig, StreamInfo, StreamMetricSet, StreamNameStr, StreamPosition, StreamReconfiguration, TailResponse, TimeseriesInterval, TimestampingConfig, TimestampingMode, TimestampingReconfiguration, U64, } from "./generated/types.gen.js";
|
|
35
|
+
/** Redacted access token wrapper type. */
|
|
36
|
+
export type { Redacted } from "./lib/redacted.js";
|
|
37
|
+
/**
|
|
38
|
+
* Streaming types used for reading from streams.
|
|
39
|
+
*/
|
|
40
|
+
export type { AcksStream, AppendArgs, AppendHeaders, AppendRecord as AppendRecordType, AppendRecordForFormat, AppendSession, AppendSessionOptions, ReadArgs, ReadBatch, ReadHeaders, ReadRecord, ReadResult, ReadSession, SessionTransports, TransportConfig, } from "./lib/stream/types.js";
|
|
9
41
|
export type { AccountMetricsArgs, BasinMetricsArgs, StreamMetricsArgs, } from "./metrics.js";
|
|
42
|
+
/** Metrics helper and argument types. */
|
|
43
|
+
export { S2Metrics } from "./metrics.js";
|
|
44
|
+
/** Top-level entrypoint for the SDK. */
|
|
10
45
|
export { S2 } from "./s2.js";
|
|
11
46
|
export { S2Stream } from "./stream.js";
|
|
12
47
|
export type { CreateStreamArgs, DeleteStreamArgs, GetStreamConfigArgs, ListStreamsArgs, ReconfigureStreamArgs, } from "./streams.js";
|
|
13
|
-
|
|
48
|
+
/** Stream management helper and argument types. */
|
|
49
|
+
export { S2Streams } from "./streams.js";
|
|
50
|
+
/**
|
|
51
|
+
* Low-level utilities for record bodies.
|
|
52
|
+
*
|
|
53
|
+
* - {@link AppendRecord} helps construct appendable records.
|
|
54
|
+
* - {@link meteredBytes} and {@link utf8ByteLength} expose sizing utilities.
|
|
55
|
+
*/
|
|
56
|
+
export { AppendRecord, meteredBytes, utf8ByteLength } from "./utils.js";
|
|
14
57
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,OAAO,EACP,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,21 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/** Access token management helpers and argument types. */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.utf8ByteLength = exports.
|
|
4
|
+
exports.utf8ByteLength = exports.meteredBytes = exports.AppendRecord = exports.S2Streams = exports.S2Stream = exports.S2 = exports.S2Metrics = exports.SeqNumMismatchError = exports.S2Error = exports.RangeNotSatisfiableError = exports.FencingTokenMismatchError = exports.BatchTransform = exports.S2Basins = exports.S2Basin = exports.S2AccessTokens = void 0;
|
|
5
|
+
var accessTokens_js_1 = require("./accessTokens.js");
|
|
6
|
+
Object.defineProperty(exports, "S2AccessTokens", { enumerable: true, get: function () { return accessTokens_js_1.S2AccessTokens; } });
|
|
4
7
|
var basin_js_1 = require("./basin.js");
|
|
5
8
|
Object.defineProperty(exports, "S2Basin", { enumerable: true, get: function () { return basin_js_1.S2Basin; } });
|
|
9
|
+
/** Basin management helper. */
|
|
10
|
+
var basins_js_1 = require("./basins.js");
|
|
11
|
+
Object.defineProperty(exports, "S2Basins", { enumerable: true, get: function () { return basins_js_1.S2Basins; } });
|
|
12
|
+
/** High-level helper for transforming streams in batches. */
|
|
6
13
|
var batch_transform_js_1 = require("./batch-transform.js");
|
|
7
14
|
Object.defineProperty(exports, "BatchTransform", { enumerable: true, get: function () { return batch_transform_js_1.BatchTransform; } });
|
|
15
|
+
/**
|
|
16
|
+
* Rich error types exposed by the SDK.
|
|
17
|
+
*
|
|
18
|
+
* - {@link S2Error} is the base error type.
|
|
19
|
+
* - Other types specialize common protocol errors.
|
|
20
|
+
*/
|
|
8
21
|
var error_js_1 = require("./error.js");
|
|
9
22
|
Object.defineProperty(exports, "FencingTokenMismatchError", { enumerable: true, get: function () { return error_js_1.FencingTokenMismatchError; } });
|
|
10
23
|
Object.defineProperty(exports, "RangeNotSatisfiableError", { enumerable: true, get: function () { return error_js_1.RangeNotSatisfiableError; } });
|
|
11
24
|
Object.defineProperty(exports, "S2Error", { enumerable: true, get: function () { return error_js_1.S2Error; } });
|
|
12
25
|
Object.defineProperty(exports, "SeqNumMismatchError", { enumerable: true, get: function () { return error_js_1.SeqNumMismatchError; } });
|
|
26
|
+
/** Metrics helper and argument types. */
|
|
27
|
+
var metrics_js_1 = require("./metrics.js");
|
|
28
|
+
Object.defineProperty(exports, "S2Metrics", { enumerable: true, get: function () { return metrics_js_1.S2Metrics; } });
|
|
29
|
+
/** Top-level entrypoint for the SDK. */
|
|
13
30
|
var s2_js_1 = require("./s2.js");
|
|
14
31
|
Object.defineProperty(exports, "S2", { enumerable: true, get: function () { return s2_js_1.S2; } });
|
|
15
32
|
var stream_js_1 = require("./stream.js");
|
|
16
33
|
Object.defineProperty(exports, "S2Stream", { enumerable: true, get: function () { return stream_js_1.S2Stream; } });
|
|
34
|
+
/** Stream management helper and argument types. */
|
|
35
|
+
var streams_js_1 = require("./streams.js");
|
|
36
|
+
Object.defineProperty(exports, "S2Streams", { enumerable: true, get: function () { return streams_js_1.S2Streams; } });
|
|
37
|
+
/**
|
|
38
|
+
* Low-level utilities for record bodies.
|
|
39
|
+
*
|
|
40
|
+
* - {@link AppendRecord} helps construct appendable records.
|
|
41
|
+
* - {@link meteredBytes} and {@link utf8ByteLength} expose sizing utilities.
|
|
42
|
+
*/
|
|
17
43
|
var utils_js_1 = require("./utils.js");
|
|
18
44
|
Object.defineProperty(exports, "AppendRecord", { enumerable: true, get: function () { return utils_js_1.AppendRecord; } });
|
|
19
|
-
Object.defineProperty(exports, "
|
|
45
|
+
Object.defineProperty(exports, "meteredBytes", { enumerable: true, get: function () { return utils_js_1.meteredBytes; } });
|
|
20
46
|
Object.defineProperty(exports, "utf8ByteLength", { enumerable: true, get: function () { return utils_js_1.utf8ByteLength; } });
|
|
21
47
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,0DAA0D;;;AAO1D,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAGvB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAYhB,+BAA+B;AAC/B,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AAGjB,6DAA6D;AAC7D,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AAQvB;;;;;GAKG;AACH,uCAKoB;AAJnB,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,mGAAA,OAAO,OAAA;AACP,+GAAA,mBAAmB,OAAA;AA2FpB,yCAAyC;AACzC,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,wCAAwC;AACxC,iCAA6B;AAApB,2FAAA,EAAE,OAAA;AACX,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AAQjB,mDAAmD;AACnD,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAElB;;;;;GAKG;AACH,uCAAwE;AAA/D,wGAAA,YAAY,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,0GAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result types for AppendSession operations.
|
|
3
|
+
* Using discriminated unions for ergonomic error handling with TypeScript control flow analysis.
|
|
4
|
+
*/
|
|
5
|
+
import { S2Error } from "../error.js";
|
|
6
|
+
import type { AppendAck } from "../generated/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* Result of an append operation.
|
|
9
|
+
* Use discriminated union pattern: check `result.ok` to access either `value` or `error`.
|
|
10
|
+
*/
|
|
11
|
+
export type AppendResult = {
|
|
12
|
+
ok: true;
|
|
13
|
+
value: AppendAck;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
error: S2Error;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Result of a close operation.
|
|
20
|
+
*/
|
|
21
|
+
export type CloseResult = {
|
|
22
|
+
ok: true;
|
|
23
|
+
} | {
|
|
24
|
+
ok: false;
|
|
25
|
+
error: S2Error;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Constructs a successful append result.
|
|
29
|
+
*/
|
|
30
|
+
export declare function ok(value: AppendAck): AppendResult;
|
|
31
|
+
/**
|
|
32
|
+
* Constructs a failed append result.
|
|
33
|
+
*/
|
|
34
|
+
export declare function err(error: S2Error): AppendResult;
|
|
35
|
+
/**
|
|
36
|
+
* Constructs a successful close result.
|
|
37
|
+
*/
|
|
38
|
+
export declare function okClose(): CloseResult;
|
|
39
|
+
/**
|
|
40
|
+
* Constructs a failed close result.
|
|
41
|
+
*/
|
|
42
|
+
export declare function errClose(error: S2Error): CloseResult;
|
|
43
|
+
/**
|
|
44
|
+
* Type guard to check if a result is successful.
|
|
45
|
+
* Mainly for internal use; prefer `result.ok` for public API.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isOk<T>(result: {
|
|
48
|
+
ok: true;
|
|
49
|
+
value: T;
|
|
50
|
+
} | {
|
|
51
|
+
ok: false;
|
|
52
|
+
error: S2Error;
|
|
53
|
+
}): result is {
|
|
54
|
+
ok: true;
|
|
55
|
+
value: T;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/lib/result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE;;GAEG;AACH,wBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAEjD;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAEhD;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,WAAW,CAErC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAEpD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACrB,MAAM,EAAE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5D,MAAM,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAElC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Result types for AppendSession operations.
|
|
4
|
+
* Using discriminated unions for ergonomic error handling with TypeScript control flow analysis.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ok = ok;
|
|
8
|
+
exports.err = err;
|
|
9
|
+
exports.okClose = okClose;
|
|
10
|
+
exports.errClose = errClose;
|
|
11
|
+
exports.isOk = isOk;
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a successful append result.
|
|
14
|
+
*/
|
|
15
|
+
function ok(value) {
|
|
16
|
+
return { ok: true, value };
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a failed append result.
|
|
20
|
+
*/
|
|
21
|
+
function err(error) {
|
|
22
|
+
return { ok: false, error };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Constructs a successful close result.
|
|
26
|
+
*/
|
|
27
|
+
function okClose() {
|
|
28
|
+
return { ok: true };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Constructs a failed close result.
|
|
32
|
+
*/
|
|
33
|
+
function errClose(error) {
|
|
34
|
+
return { ok: false, error };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Type guard to check if a result is successful.
|
|
38
|
+
* Mainly for internal use; prefer `result.ok` for public API.
|
|
39
|
+
*/
|
|
40
|
+
function isOk(result) {
|
|
41
|
+
return result.ok;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/lib/result.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAqBH,gBAEC;AAKD,kBAEC;AAKD,0BAEC;AAKD,4BAEC;AAMD,oBAIC;AApCD;;GAEG;AACH,SAAgB,EAAE,CAAC,KAAgB;IAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,GAAG,CAAC,KAAc;IACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO;IACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAc;IACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAgB,IAAI,CACnB,MAA8D;IAE9D,OAAO,MAAM,CAAC,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { RetryConfig } from "../common.js";
|
|
2
|
+
import { S2Error } from "../error.js";
|
|
3
|
+
import type { AppendAck, StreamPosition } from "../generated/index.js";
|
|
4
|
+
import type { AcksStream, AppendArgs, AppendRecord, AppendSessionOptions, AppendSession as AppendSessionType, ReadArgs, ReadRecord, ReadSession as ReadSessionType, TransportAppendSession, TransportReadSession } from "./stream/types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Default retry configuration.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_RETRY_CONFIG: Required<RetryConfig> & {
|
|
9
|
+
requestTimeoutMillis: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Determines if an error should be retried based on its characteristics.
|
|
13
|
+
* 400-level errors (except 408, 429) are non-retryable validation/client errors.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isRetryable(error: S2Error): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Calculates the delay before the next retry attempt using fixed backoff
|
|
18
|
+
* with jitter. The `attempt` parameter is currently ignored to keep a
|
|
19
|
+
* constant base delay per attempt.
|
|
20
|
+
*/
|
|
21
|
+
export declare function calculateDelay(attempt: number, baseDelayMillis: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Sleeps for the specified duration.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Executes an async function with automatic retry logic for transient failures.
|
|
28
|
+
*
|
|
29
|
+
* @param retryConfig Retry configuration (max attempts, backoff duration)
|
|
30
|
+
* @param fn The async function to execute
|
|
31
|
+
* @returns The result of the function
|
|
32
|
+
* @throws The last error if all retry attempts are exhausted
|
|
33
|
+
*/
|
|
34
|
+
export declare function withRetries<T>(retryConfig: RetryConfig | undefined, fn: () => Promise<T>, isPolicyCompliant?: (config: RetryConfig, error: S2Error) => boolean): Promise<T>;
|
|
35
|
+
export declare class RetryReadSession<Format extends "string" | "bytes" = "string"> extends ReadableStream<ReadRecord<Format>> implements ReadSessionType<Format> {
|
|
36
|
+
private _nextReadPosition;
|
|
37
|
+
private _lastObservedTail;
|
|
38
|
+
private _recordsRead;
|
|
39
|
+
private _bytesRead;
|
|
40
|
+
static create<Format extends "string" | "bytes" = "string">(generator: (args: ReadArgs<Format>) => Promise<TransportReadSession<Format>>, args?: ReadArgs<Format>, config?: RetryConfig): Promise<RetryReadSession<Format>>;
|
|
41
|
+
private constructor();
|
|
42
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
43
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<ReadRecord<Format>>;
|
|
44
|
+
lastObservedTail(): StreamPosition | undefined;
|
|
45
|
+
nextReadPosition(): StreamPosition | undefined;
|
|
46
|
+
}
|
|
47
|
+
export declare class RetryAppendSession implements AsyncDisposable, AppendSessionType {
|
|
48
|
+
private readonly generator;
|
|
49
|
+
private readonly sessionOptions?;
|
|
50
|
+
private readonly requestTimeoutMillis;
|
|
51
|
+
private readonly maxQueuedBytes;
|
|
52
|
+
private readonly maxInflightBatches?;
|
|
53
|
+
private readonly retryConfig;
|
|
54
|
+
private readonly inflight;
|
|
55
|
+
private capacityWaiter?;
|
|
56
|
+
private session?;
|
|
57
|
+
private queuedBytes;
|
|
58
|
+
private pendingBytes;
|
|
59
|
+
private consecutiveFailures;
|
|
60
|
+
private currentAttempt;
|
|
61
|
+
private pumpPromise?;
|
|
62
|
+
private pumpStopped;
|
|
63
|
+
private closing;
|
|
64
|
+
private pumpWakeup?;
|
|
65
|
+
private closed;
|
|
66
|
+
private fatalError?;
|
|
67
|
+
private _lastAckedPosition?;
|
|
68
|
+
private acksController?;
|
|
69
|
+
readonly readable: ReadableStream<AppendAck>;
|
|
70
|
+
readonly writable: WritableStream<AppendArgs>;
|
|
71
|
+
/**
|
|
72
|
+
* If the session has failed, returns the original fatal error that caused
|
|
73
|
+
* the pump to stop. Returns undefined when the session has not failed.
|
|
74
|
+
*/
|
|
75
|
+
failureCause(): S2Error | undefined;
|
|
76
|
+
constructor(generator: (options?: AppendSessionOptions) => Promise<TransportAppendSession>, sessionOptions?: AppendSessionOptions | undefined, config?: RetryConfig);
|
|
77
|
+
static create(generator: (options?: AppendSessionOptions) => Promise<TransportAppendSession>, sessionOptions?: AppendSessionOptions, config?: RetryConfig): Promise<RetryAppendSession>;
|
|
78
|
+
/**
|
|
79
|
+
* Submit an append request. Returns a promise that resolves with the ack.
|
|
80
|
+
* This method does not block on capacity (only writable.write() does).
|
|
81
|
+
*/
|
|
82
|
+
submit(records: AppendRecord | AppendRecord[], args?: Omit<AppendArgs, "records"> & {
|
|
83
|
+
precalculatedSize?: number;
|
|
84
|
+
}): Promise<AppendAck>;
|
|
85
|
+
/**
|
|
86
|
+
* Internal submit that returns discriminated union.
|
|
87
|
+
* Creates inflight entry and starts pump if needed.
|
|
88
|
+
*/
|
|
89
|
+
private submitInternal;
|
|
90
|
+
/**
|
|
91
|
+
* Wait for capacity before allowing write to proceed (writable only).
|
|
92
|
+
*/
|
|
93
|
+
private waitForCapacity;
|
|
94
|
+
/**
|
|
95
|
+
* Release capacity and wake waiter if present.
|
|
96
|
+
*/
|
|
97
|
+
private releaseCapacity;
|
|
98
|
+
/**
|
|
99
|
+
* Ensure pump loop is running.
|
|
100
|
+
*/
|
|
101
|
+
private ensurePump;
|
|
102
|
+
/**
|
|
103
|
+
* Main pump loop: processes inflight queue, handles acks, retries, and recovery.
|
|
104
|
+
*/
|
|
105
|
+
private runPump;
|
|
106
|
+
/**
|
|
107
|
+
* Wait for head entry's innerPromise with timeout.
|
|
108
|
+
* Returns either the settled result or a timeout indicator.
|
|
109
|
+
*
|
|
110
|
+
* Per-attempt ack timeout semantics:
|
|
111
|
+
* - The deadline is computed from the most recent (re)submit attempt using
|
|
112
|
+
* a monotonic clock (performance.now) to avoid issues with wall clock
|
|
113
|
+
* adjustments.
|
|
114
|
+
* - If attempt start is missing (for backward compatibility), we measure
|
|
115
|
+
* from "now" with the full timeout window.
|
|
116
|
+
*/
|
|
117
|
+
private waitForHead;
|
|
118
|
+
/**
|
|
119
|
+
* Recover from transient error: recreate session and resubmit all inflight entries.
|
|
120
|
+
*/
|
|
121
|
+
private recover;
|
|
122
|
+
/**
|
|
123
|
+
* Check if append can be retried under noSideEffects policy.
|
|
124
|
+
* For appends, idempotency requires match_seq_num.
|
|
125
|
+
*/
|
|
126
|
+
private isIdempotent;
|
|
127
|
+
/**
|
|
128
|
+
* Ensure session exists, creating it if necessary.
|
|
129
|
+
*/
|
|
130
|
+
private ensureSession;
|
|
131
|
+
/**
|
|
132
|
+
* Abort the session with a fatal error.
|
|
133
|
+
*/
|
|
134
|
+
private abort;
|
|
135
|
+
/**
|
|
136
|
+
* Close the append session.
|
|
137
|
+
* Waits for all pending appends to complete before resolving.
|
|
138
|
+
* Does not interrupt recovery - allows it to complete.
|
|
139
|
+
*/
|
|
140
|
+
close(): Promise<void>;
|
|
141
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Get a stream of acknowledgements for appends.
|
|
144
|
+
*/
|
|
145
|
+
acks(): AcksStream;
|
|
146
|
+
/**
|
|
147
|
+
* Get the last acknowledged position.
|
|
148
|
+
*/
|
|
149
|
+
lastAckedPosition(): AppendAck | undefined;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"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"}
|