@s2-dev/streamstore 0.17.6 → 0.18.1
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 +16 -6
- 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/runtime.d.ts +14 -0
- package/dist/cjs/lib/stream/runtime.d.ts.map +1 -1
- package/dist/cjs/lib/stream/runtime.js +18 -3
- package/dist/cjs/lib/stream/runtime.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 +260 -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 +312 -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 +20 -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/cjs/version.d.ts +8 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +11 -0
- package/dist/cjs/version.js.map +1 -0
- 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 +16 -6
- 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/runtime.d.ts +14 -0
- package/dist/esm/lib/stream/runtime.d.ts.map +1 -1
- package/dist/esm/lib/stream/runtime.js +23 -3
- package/dist/esm/lib/stream/runtime.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 +260 -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 +313 -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 +20 -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/dist/esm/version.d.ts +8 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +8 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +7 -4
package/dist/esm/basins.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { DataToObject, S2RequestOptions } from "./common.js";
|
|
1
|
+
import type { DataToObject, RetryConfig, S2RequestOptions } from "./common.js";
|
|
2
2
|
import type { Client } from "./generated/client/types.gen.js";
|
|
3
|
-
import { type CreateBasinData, type DeleteBasinData, type GetBasinConfigData, type ListBasinsData, type ReconfigureBasinData } from "./generated/index.js";
|
|
3
|
+
import { type BasinConfig, type CreateBasinData, type CreateBasinResponse, type DeleteBasinData, type GetBasinConfigData, type ListBasinsData, type ListBasinsResponse, type ReconfigureBasinData, type ReconfigureBasinResponse } from "./generated/index.js";
|
|
4
4
|
export interface ListBasinsArgs extends DataToObject<ListBasinsData> {
|
|
5
5
|
}
|
|
6
6
|
export interface CreateBasinArgs extends DataToObject<CreateBasinData> {
|
|
@@ -13,7 +13,8 @@ export interface ReconfigureBasinArgs extends DataToObject<ReconfigureBasinData>
|
|
|
13
13
|
}
|
|
14
14
|
export declare class S2Basins {
|
|
15
15
|
private readonly client;
|
|
16
|
-
|
|
16
|
+
private readonly retryConfig;
|
|
17
|
+
constructor(client: Client, retryConfig: RetryConfig);
|
|
17
18
|
/**
|
|
18
19
|
* List basins.
|
|
19
20
|
*
|
|
@@ -21,7 +22,7 @@ export declare class S2Basins {
|
|
|
21
22
|
* @param args.start_after Name to start after (for pagination)
|
|
22
23
|
* @param args.limit Max results (up to 1000)
|
|
23
24
|
*/
|
|
24
|
-
list(args?: ListBasinsArgs, options?: S2RequestOptions): Promise<
|
|
25
|
+
list(args?: ListBasinsArgs, options?: S2RequestOptions): Promise<ListBasinsResponse>;
|
|
25
26
|
/**
|
|
26
27
|
* Create a basin.
|
|
27
28
|
*
|
|
@@ -29,25 +30,24 @@ export declare class S2Basins {
|
|
|
29
30
|
* @param args.config Optional basin configuration (e.g. default stream config)
|
|
30
31
|
* @param args.scope Basin scope
|
|
31
32
|
*/
|
|
32
|
-
create(args: CreateBasinArgs, options?: S2RequestOptions): Promise<
|
|
33
|
+
create(args: CreateBasinArgs, options?: S2RequestOptions): Promise<CreateBasinResponse>;
|
|
33
34
|
/**
|
|
34
35
|
* Get basin configuration.
|
|
35
36
|
*
|
|
36
37
|
* @param args.basin Basin name
|
|
37
38
|
*/
|
|
38
|
-
getConfig(args: GetBasinConfigArgs, options?: S2RequestOptions): Promise<
|
|
39
|
+
getConfig(args: GetBasinConfigArgs, options?: S2RequestOptions): Promise<BasinConfig>;
|
|
39
40
|
/**
|
|
40
41
|
* Delete a basin.
|
|
41
42
|
*
|
|
42
43
|
* @param args.basin Basin name
|
|
43
44
|
*/
|
|
44
|
-
delete(args: DeleteBasinArgs, options?: S2RequestOptions): Promise<
|
|
45
|
+
delete(args: DeleteBasinArgs, options?: S2RequestOptions): Promise<void>;
|
|
45
46
|
/**
|
|
46
47
|
* Reconfigure a basin.
|
|
47
48
|
*
|
|
48
|
-
* @param args
|
|
49
|
-
* @param args.body Configuration fields to change (e.g. default stream config)
|
|
49
|
+
* @param args Configuration for the basin to reconfigure (including basin name and fields to change)
|
|
50
50
|
*/
|
|
51
|
-
reconfigure(args: ReconfigureBasinArgs, options?: S2RequestOptions): Promise<
|
|
51
|
+
reconfigure(args: ReconfigureBasinArgs, options?: S2RequestOptions): Promise<ReconfigureBasinResponse>;
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=basins.d.ts.map
|
package/dist/esm/basins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basins.d.ts","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"basins.d.ts","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAEvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAEvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAE7B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,cAAc,CAAC;CAAG;AACvE,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;CAAG;AACzE,MAAM,WAAW,kBAAmB,SAAQ,YAAY,CAAC,kBAAkB,CAAC;CAAG;AAC/E,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;CAAG;AACzE,MAAM,WAAW,oBAChB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;CAAG;AAE9C,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKpD;;;;;;OAMG;IACU,IAAI,CAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAY9B;;;;;;OAMG;IACU,MAAM,CAClB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;OAIG;IACU,SAAS,CACrB,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC;IAYvB;;;;OAIG;IACU,MAAM,CAClB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;OAIG;IACU,WAAW,CACvB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,wBAAwB,CAAC;CAYpC"}
|
package/dist/esm/basins.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { withS2Data } from "./error.js";
|
|
2
2
|
import { createBasin, deleteBasin, getBasinConfig, listBasins, reconfigureBasin, } from "./generated/index.js";
|
|
3
|
+
import { withRetries } from "./lib/retry.js";
|
|
3
4
|
export class S2Basins {
|
|
4
5
|
client;
|
|
5
|
-
|
|
6
|
+
retryConfig;
|
|
7
|
+
constructor(client, retryConfig) {
|
|
6
8
|
this.client = client;
|
|
9
|
+
this.retryConfig = retryConfig;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
12
|
* List basins.
|
|
@@ -13,19 +16,13 @@ export class S2Basins {
|
|
|
13
16
|
* @param args.limit Max results (up to 1000)
|
|
14
17
|
*/
|
|
15
18
|
async list(args, options) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
return await withRetries(this.retryConfig, async () => {
|
|
20
|
+
return await withS2Data(() => listBasins({
|
|
21
|
+
client: this.client,
|
|
22
|
+
query: args,
|
|
23
|
+
...options,
|
|
24
|
+
}));
|
|
20
25
|
});
|
|
21
|
-
if (response.error) {
|
|
22
|
-
throw new S2Error({
|
|
23
|
-
message: response.error.message,
|
|
24
|
-
code: response.error.code ?? undefined,
|
|
25
|
-
status: response.response.status,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
return response.data;
|
|
29
26
|
}
|
|
30
27
|
/**
|
|
31
28
|
* Create a basin.
|
|
@@ -35,19 +32,13 @@ export class S2Basins {
|
|
|
35
32
|
* @param args.scope Basin scope
|
|
36
33
|
*/
|
|
37
34
|
async create(args, options) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
return await withRetries(this.retryConfig, async () => {
|
|
36
|
+
return await withS2Data(() => createBasin({
|
|
37
|
+
client: this.client,
|
|
38
|
+
body: args,
|
|
39
|
+
...options,
|
|
40
|
+
}));
|
|
42
41
|
});
|
|
43
|
-
if (response.error) {
|
|
44
|
-
throw new S2Error({
|
|
45
|
-
message: response.error.message,
|
|
46
|
-
code: response.error.code ?? undefined,
|
|
47
|
-
status: response.response.status,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return response.data;
|
|
51
42
|
}
|
|
52
43
|
/**
|
|
53
44
|
* Get basin configuration.
|
|
@@ -55,19 +46,13 @@ export class S2Basins {
|
|
|
55
46
|
* @param args.basin Basin name
|
|
56
47
|
*/
|
|
57
48
|
async getConfig(args, options) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
return await withRetries(this.retryConfig, async () => {
|
|
50
|
+
return await withS2Data(() => getBasinConfig({
|
|
51
|
+
client: this.client,
|
|
52
|
+
path: args,
|
|
53
|
+
...options,
|
|
54
|
+
}));
|
|
62
55
|
});
|
|
63
|
-
if (response.error) {
|
|
64
|
-
throw new S2Error({
|
|
65
|
-
message: response.error.message,
|
|
66
|
-
code: response.error.code ?? undefined,
|
|
67
|
-
status: response.response.status,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return response.data;
|
|
71
56
|
}
|
|
72
57
|
/**
|
|
73
58
|
* Delete a basin.
|
|
@@ -75,41 +60,28 @@ export class S2Basins {
|
|
|
75
60
|
* @param args.basin Basin name
|
|
76
61
|
*/
|
|
77
62
|
async delete(args, options) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
await withRetries(this.retryConfig, async () => {
|
|
64
|
+
return await withS2Data(() => deleteBasin({
|
|
65
|
+
client: this.client,
|
|
66
|
+
path: args,
|
|
67
|
+
...options,
|
|
68
|
+
}));
|
|
82
69
|
});
|
|
83
|
-
if (response.error) {
|
|
84
|
-
throw new S2Error({
|
|
85
|
-
message: response.error.message,
|
|
86
|
-
code: response.error.code ?? undefined,
|
|
87
|
-
status: response.response.status,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return response.data;
|
|
91
70
|
}
|
|
92
71
|
/**
|
|
93
72
|
* Reconfigure a basin.
|
|
94
73
|
*
|
|
95
|
-
* @param args
|
|
96
|
-
* @param args.body Configuration fields to change (e.g. default stream config)
|
|
74
|
+
* @param args Configuration for the basin to reconfigure (including basin name and fields to change)
|
|
97
75
|
*/
|
|
98
76
|
async reconfigure(args, options) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
77
|
+
return await withRetries(this.retryConfig, async () => {
|
|
78
|
+
return await withS2Data(() => reconfigureBasin({
|
|
79
|
+
client: this.client,
|
|
80
|
+
path: args,
|
|
81
|
+
body: args,
|
|
82
|
+
...options,
|
|
83
|
+
}));
|
|
104
84
|
});
|
|
105
|
-
if (response.error) {
|
|
106
|
-
throw new S2Error({
|
|
107
|
-
message: response.error.message,
|
|
108
|
-
code: response.error.code ?? undefined,
|
|
109
|
-
status: response.response.status,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
return response.data;
|
|
113
85
|
}
|
|
114
86
|
}
|
|
115
87
|
//# sourceMappingURL=basins.js.map
|
package/dist/esm/basins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basins.js","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"basins.js","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAIN,WAAW,EAEX,WAAW,EAEX,cAAc,EAGd,UAAU,EAGV,gBAAgB,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,MAAM,OAAO,QAAQ;IACH,MAAM,CAAS;IACf,WAAW,CAAc;IAE1C,YAAY,MAAc,EAAE,WAAwB;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAChB,IAAqB,EACrB,OAA0B;QAE1B,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,UAAU,CAAC;gBACV,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI;gBACX,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAClB,IAAqB,EACrB,OAA0B;QAE1B,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,WAAW,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACrB,IAAwB,EACxB,OAA0B;QAE1B,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,cAAc,CAAC;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAClB,IAAqB,EACrB,OAA0B;QAE1B,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC9C,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,WAAW,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CACvB,IAA0B,EAC1B,OAA0B;QAE1B,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,gBAAgB,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
@@ -26,7 +26,7 @@ export type BatchOutput = {
|
|
|
26
26
|
* @example
|
|
27
27
|
* ```typescript
|
|
28
28
|
* const batcher = new BatchTransform<"string">({
|
|
29
|
-
*
|
|
29
|
+
* lingerDurationMillis: 20,
|
|
30
30
|
* maxBatchRecords: 100,
|
|
31
31
|
* maxBatchBytes: 256 * 1024,
|
|
32
32
|
* match_seq_num: 0 // Optional: auto-increments per batch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,kBAAkB;IAClC,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,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;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,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,IAAI,CAAC,EAAE,kBAAkB;IAyDrC,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,KAAK;IAgCb,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,iBAAiB;CAMzB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S2Error } from "./error.js";
|
|
2
|
-
import { AppendRecord,
|
|
2
|
+
import { AppendRecord, meteredBytes } from "./utils.js";
|
|
3
3
|
/**
|
|
4
4
|
* A TransformStream that batches AppendRecords based on time, record count, and byte size.
|
|
5
5
|
*
|
|
@@ -9,7 +9,7 @@ import { AppendRecord, meteredSizeBytes } from "./utils.js";
|
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
11
|
* const batcher = new BatchTransform<"string">({
|
|
12
|
-
*
|
|
12
|
+
* lingerDurationMillis: 20,
|
|
13
13
|
* maxBatchRecords: 100,
|
|
14
14
|
* maxBatchBytes: 256 * 1024,
|
|
15
15
|
* match_seq_num: 0 // Optional: auto-increments per batch
|
|
@@ -55,19 +55,50 @@ export class BatchTransform extends TransformStream {
|
|
|
55
55
|
this.flush();
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
// Validate configuration
|
|
59
|
+
if (args?.maxBatchRecords !== undefined) {
|
|
60
|
+
if (args.maxBatchRecords < 1 || args.maxBatchRecords > 1000) {
|
|
61
|
+
throw new S2Error({
|
|
62
|
+
message: `maxBatchRecords must be between 1 and 1000 (inclusive); got ${args.maxBatchRecords}`,
|
|
63
|
+
status: 400,
|
|
64
|
+
origin: "sdk",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (args?.maxBatchBytes !== undefined) {
|
|
69
|
+
const max = 1024 * 1024;
|
|
70
|
+
if (args.maxBatchBytes < 1 || args.maxBatchBytes > max) {
|
|
71
|
+
throw new S2Error({
|
|
72
|
+
message: `maxBatchBytes must be between 1 and ${max} (1 MiB) bytes (inclusive); got ${args.maxBatchBytes}`,
|
|
73
|
+
status: 400,
|
|
74
|
+
origin: "sdk",
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (args?.lingerDurationMillis !== undefined) {
|
|
79
|
+
if (args.lingerDurationMillis < 0) {
|
|
80
|
+
throw new S2Error({
|
|
81
|
+
message: `lingerDurationMillis must be >= 0; got ${args.lingerDurationMillis}`,
|
|
82
|
+
status: 400,
|
|
83
|
+
origin: "sdk",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Apply defaults
|
|
88
|
+
this.maxBatchRecords = args?.maxBatchRecords ?? 1000;
|
|
89
|
+
this.maxBatchBytes = args?.maxBatchBytes ?? 1024 * 1024;
|
|
61
90
|
this.lingerDuration = args?.lingerDurationMillis ?? 5;
|
|
62
91
|
this.fencing_token = args?.fencing_token;
|
|
63
92
|
this.next_match_seq_num = args?.match_seq_num;
|
|
64
93
|
}
|
|
65
94
|
handleRecord(record) {
|
|
66
|
-
const recordSize =
|
|
95
|
+
const recordSize = meteredBytes(record);
|
|
67
96
|
// Reject individual records that exceed the max batch size
|
|
68
97
|
if (recordSize > this.maxBatchBytes) {
|
|
69
98
|
throw new S2Error({
|
|
70
99
|
message: `Record size ${recordSize} bytes exceeds maximum batch size of ${this.maxBatchBytes} bytes`,
|
|
100
|
+
status: 400,
|
|
101
|
+
origin: "sdk",
|
|
71
102
|
});
|
|
72
103
|
}
|
|
73
104
|
// Start linger timer on first record added to an empty batch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/common.d.ts
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy for retrying append operations.
|
|
3
|
+
*
|
|
4
|
+
* - `all`: Retry all append operations, including those that may have side effects (default)
|
|
5
|
+
* - `noSideEffects`: Only retry append operations that are guaranteed to have no side effects
|
|
6
|
+
*/
|
|
7
|
+
export type AppendRetryPolicy = "all" | "noSideEffects";
|
|
8
|
+
/**
|
|
9
|
+
* Retry configuration for handling transient failures.
|
|
10
|
+
*/
|
|
11
|
+
export type RetryConfig = {
|
|
12
|
+
/**
|
|
13
|
+
* Total number of attempts, including the initial try.
|
|
14
|
+
* Must be >= 1. A value of 1 means no retries.
|
|
15
|
+
* @default 3
|
|
16
|
+
*/
|
|
17
|
+
maxAttempts?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Base delay in milliseconds between retry attempts.
|
|
20
|
+
* Fixed delay per attempt with jitter applied.
|
|
21
|
+
* @default 100
|
|
22
|
+
*/
|
|
23
|
+
retryBackoffDurationMillis?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Policy for retrying append operations.
|
|
26
|
+
* @default "all"
|
|
27
|
+
*/
|
|
28
|
+
appendRetryPolicy?: AppendRetryPolicy;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum time in milliseconds to wait for an append ack before considering
|
|
31
|
+
* the attempt timed out and applying retry logic.
|
|
32
|
+
*
|
|
33
|
+
* Used by retrying append sessions. When unset, defaults to 5000ms.
|
|
34
|
+
*/
|
|
35
|
+
requestTimeoutMillis?: number;
|
|
36
|
+
};
|
|
1
37
|
/**
|
|
2
38
|
* Configuration for constructing the top-level `S2` client.
|
|
3
39
|
*
|
|
@@ -19,6 +55,12 @@ export type S2ClientOptions = {
|
|
|
19
55
|
* Defaults to `https://{basin}.b.aws.s2.dev`.
|
|
20
56
|
*/
|
|
21
57
|
makeBasinBaseUrl?: (basin: string) => string;
|
|
58
|
+
/**
|
|
59
|
+
* Retry configuration for handling transient failures.
|
|
60
|
+
* Applies to management operations (basins, streams, tokens) and stream operations (read, append).
|
|
61
|
+
* @default { maxAttempts: 3, retryBackoffDurationMillis: 100 }
|
|
62
|
+
*/
|
|
63
|
+
retry?: RetryConfig;
|
|
22
64
|
};
|
|
23
65
|
/**
|
|
24
66
|
* Per-request options that apply to all SDK operations.
|
package/dist/esm/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C;;;;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;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GACxD,CAAC,SAAS,SAAS,GAAG,KAAK,GAC1B,EAAE,GACF,CAAC,GACF,EAAE,CAAC,GACL,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAC5E,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC"}
|
package/dist/esm/error.d.ts
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
export declare function s2Error(error: any): S2Error;
|
|
2
|
+
export declare function withS2Error<T>(fn: () => Promise<T>): Promise<T>;
|
|
3
|
+
/**
|
|
4
|
+
* Execute a generated client call and return its `data` on success.
|
|
5
|
+
* Throws S2Error when the response contains `error`, or when the
|
|
6
|
+
* response has no `data` and is not a 204 No Content.
|
|
7
|
+
*/
|
|
8
|
+
export declare function withS2Data<T>(fn: () => Promise<{
|
|
9
|
+
data?: T;
|
|
10
|
+
error?: unknown;
|
|
11
|
+
response?: {
|
|
12
|
+
status?: number;
|
|
13
|
+
statusText?: string;
|
|
14
|
+
};
|
|
15
|
+
} | T>): Promise<T>;
|
|
1
16
|
/**
|
|
2
17
|
* Rich error type used by the SDK to surface HTTP and protocol errors.
|
|
3
18
|
*
|
|
@@ -7,13 +22,26 @@
|
|
|
7
22
|
*/
|
|
8
23
|
export declare class S2Error extends Error {
|
|
9
24
|
readonly code?: string;
|
|
10
|
-
|
|
11
|
-
|
|
25
|
+
/** HTTP status code. 0 for non-HTTP/internal errors. */
|
|
26
|
+
readonly status: number;
|
|
27
|
+
/** Optional structured error details for diagnostics. */
|
|
28
|
+
readonly data?: unknown;
|
|
29
|
+
/** Origin of the error: server (HTTP response) or sdk (local). */
|
|
30
|
+
readonly origin: "server" | "sdk";
|
|
31
|
+
constructor({ message, code, status, data, origin, }: {
|
|
12
32
|
message: string;
|
|
13
33
|
code?: string;
|
|
14
34
|
status?: number;
|
|
35
|
+
data?: unknown;
|
|
36
|
+
origin?: "server" | "sdk";
|
|
15
37
|
});
|
|
16
38
|
}
|
|
39
|
+
/** Helper: construct a non-retryable invariant violation error (status 0). */
|
|
40
|
+
export declare function invariantViolation(message: string, details?: unknown): S2Error;
|
|
41
|
+
/** Helper: construct an internal SDK error (status 0, never retried). */
|
|
42
|
+
export declare function internalSdkError(message: string, details?: unknown): S2Error;
|
|
43
|
+
/** Helper: construct an aborted/cancelled error (499). */
|
|
44
|
+
export declare function abortedError(message?: string): S2Error;
|
|
17
45
|
/**
|
|
18
46
|
* Thrown when an append operation fails due to a sequence number mismatch.
|
|
19
47
|
*
|
|
@@ -68,4 +96,14 @@ export declare class RangeNotSatisfiableError extends S2Error {
|
|
|
68
96
|
status?: number;
|
|
69
97
|
});
|
|
70
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Build a generic S2Error from HTTP status and optional payload.
|
|
101
|
+
* If the payload contains a structured { message, code }, those are preferred.
|
|
102
|
+
*/
|
|
103
|
+
export declare function makeServerError(response: {
|
|
104
|
+
status?: number;
|
|
105
|
+
statusText?: string;
|
|
106
|
+
}, payload?: unknown): S2Error;
|
|
107
|
+
/** Map 412 Precondition Failed append errors to rich error types. */
|
|
108
|
+
export declare function makeAppendPreconditionError(status: number, json: any): S2Error;
|
|
71
109
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/esm/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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"}
|