@s2-dev/streamstore 0.3.14 → 0.3.17
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 +62 -1
- package/index.extras.d.ts +38 -15
- package/index.extras.d.ts.map +1 -1
- package/index.extras.js +91 -46
- package/index.extras.js.map +1 -1
- package/jsr.json +1 -1
- package/lib/config.d.ts +2 -2
- package/lib/config.js +2 -2
- package/package.json +1 -1
- package/src/index.extras.ts +113 -49
- package/src/lib/config.ts +2 -2
package/README.md
CHANGED
|
@@ -88,7 +88,7 @@ The `S2Client` class provides a lot of convenience over the generated methods an
|
|
|
88
88
|
```typescript
|
|
89
89
|
import { ReadRequest, S2Client } from "@s2-dev/streamstore";
|
|
90
90
|
|
|
91
|
-
const s2 = new S2Client("<AUTH_TOKEN>");
|
|
91
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>" });
|
|
92
92
|
|
|
93
93
|
async function run() {
|
|
94
94
|
await s2.account.createBasin("my-favorite-basin");
|
|
@@ -97,6 +97,67 @@ async function run() {
|
|
|
97
97
|
|
|
98
98
|
run();
|
|
99
99
|
```
|
|
100
|
+
### Examples
|
|
101
|
+
|
|
102
|
+
- Using `S2Endpoints`
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
const endpoints = new S2Endpoints(
|
|
106
|
+
"aws.s2.dev",
|
|
107
|
+
{
|
|
108
|
+
kind: BasinEndpointKind.Direct,
|
|
109
|
+
authority: "aws.s2.dev"
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>", endpoints });
|
|
114
|
+
async function run() {
|
|
115
|
+
const allStreams = await s2.account.basin("my-favorite-basin").listStreams();
|
|
116
|
+
for await (const stream of allStreams) {
|
|
117
|
+
console.log(basin);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
run();
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
- Override Client level Auth token
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>"});
|
|
128
|
+
async function run() {
|
|
129
|
+
const refreshedToken = await fetchToken();
|
|
130
|
+
await s2.account.deleteBasin("my-favorite-basin", { authToken: refreshedToken });
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
run();
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
- Set custom user-agent
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>", userAgent: "say-cheese" });
|
|
140
|
+
async function run() {
|
|
141
|
+
const config = await s2.account.getBasinConfig("mehul-test");
|
|
142
|
+
console.log(config);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
run();
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
- List Basins
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>" });
|
|
152
|
+
async function run() {
|
|
153
|
+
const allBasins = await s2.account.listBasins();
|
|
154
|
+
for await (const basin of allBasins) {
|
|
155
|
+
console.log(basin);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
run();
|
|
160
|
+
```
|
|
100
161
|
|
|
101
162
|
<!-- Start SDK Example Usage [usage] -->
|
|
102
163
|
## SDK Example Usage
|
package/index.extras.d.ts
CHANGED
|
@@ -19,8 +19,28 @@ export type S2ClientConfig = {
|
|
|
19
19
|
maxBackoffMs?: number;
|
|
20
20
|
httpClient?: HTTPClient;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Override the client level configuration for a specific operation.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Only `authToken` can be overridden for now.
|
|
27
|
+
*/
|
|
28
|
+
export type S2OperationConfig = {
|
|
29
|
+
authToken?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Retry policy for appends.
|
|
33
|
+
*/
|
|
22
34
|
export declare enum AppendRetryPolicy {
|
|
35
|
+
/**
|
|
36
|
+
* Retry all eligible failures encountered during an append.
|
|
37
|
+
* This could result in append batches being duplicated on the stream.
|
|
38
|
+
*/
|
|
23
39
|
All = 0,
|
|
40
|
+
/**
|
|
41
|
+
* Retry only failures with no side effects.
|
|
42
|
+
* Will not attempt to retry failures where it cannot be concluded whether an append may become durable, in order to prevent duplicates.
|
|
43
|
+
*/
|
|
24
44
|
NoSideEffects = 1
|
|
25
45
|
}
|
|
26
46
|
export declare class S2Client {
|
|
@@ -36,15 +56,16 @@ declare class S2Account {
|
|
|
36
56
|
private config;
|
|
37
57
|
private readonly accountURLSuffx;
|
|
38
58
|
constructor(config: S2ClientConfig);
|
|
39
|
-
get URL(): string
|
|
59
|
+
get URL(): string;
|
|
40
60
|
basin(basinName: string): S2Basin;
|
|
41
|
-
|
|
61
|
+
private overrideConfig;
|
|
62
|
+
listBasins(request?: ListBasinsRequest, opConfig?: S2OperationConfig): Promise<PageIterator<ListBasinsResponse, {
|
|
42
63
|
cursor: string;
|
|
43
64
|
}>>;
|
|
44
|
-
getBasinConfig(basin: string): Promise<BasinConfig | undefined>;
|
|
45
|
-
createBasin(basin: string, request?: CreateBasinRequest): Promise<BasinInfo | undefined>;
|
|
46
|
-
deleteBasin(basin: string, if_exists?: boolean): Promise<void>;
|
|
47
|
-
reconfigureBasin(basin: string, config: BasinConfig): Promise<BasinConfig | undefined>;
|
|
65
|
+
getBasinConfig(basin: string, opConfig?: S2OperationConfig): Promise<BasinConfig | undefined>;
|
|
66
|
+
createBasin(basin: string, request?: CreateBasinRequest, opConfig?: S2OperationConfig): Promise<BasinInfo | undefined>;
|
|
67
|
+
deleteBasin(basin: string, if_exists?: boolean, opConfig?: S2OperationConfig): Promise<void>;
|
|
68
|
+
reconfigureBasin(basin: string, config: BasinConfig, opConfig?: S2OperationConfig): Promise<BasinConfig | undefined>;
|
|
48
69
|
}
|
|
49
70
|
declare class S2Basin {
|
|
50
71
|
private _basin;
|
|
@@ -56,13 +77,14 @@ declare class S2Basin {
|
|
|
56
77
|
private get URL();
|
|
57
78
|
constructor(basinName: string, config: S2ClientConfig);
|
|
58
79
|
stream(streamName: string): Stream;
|
|
59
|
-
|
|
80
|
+
private overrideConfig;
|
|
81
|
+
listStreams(request?: ListStreamsRequest, opConfig?: S2OperationConfig): Promise<PageIterator<ListStreamsResponse, {
|
|
60
82
|
cursor: string;
|
|
61
83
|
}>>;
|
|
62
|
-
getStreamConfig(stream: string): Promise<StreamConfig | undefined>;
|
|
63
|
-
createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined>;
|
|
64
|
-
deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined>;
|
|
65
|
-
reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig>;
|
|
84
|
+
getStreamConfig(stream: string, opConfig?: S2OperationConfig): Promise<StreamConfig | undefined>;
|
|
85
|
+
createStream(stream: string, request?: CreateStreamRequest, opConfig?: S2OperationConfig): Promise<StreamInfo | undefined>;
|
|
86
|
+
deleteStream(stream: string, if_exists?: boolean, opConfig?: S2OperationConfig): Promise<void | undefined>;
|
|
87
|
+
reconfigureStream(stream: string, config: StreamConfig, opConfig?: S2OperationConfig): Promise<StreamConfig>;
|
|
66
88
|
}
|
|
67
89
|
declare class Stream {
|
|
68
90
|
private _stream;
|
|
@@ -71,11 +93,12 @@ declare class Stream {
|
|
|
71
93
|
private clientKind;
|
|
72
94
|
private readonly basinURLSuffx;
|
|
73
95
|
private get basinURL();
|
|
96
|
+
private overrideConfig;
|
|
74
97
|
constructor(basinName: string, streamName: string, config: S2ClientConfig);
|
|
75
|
-
checkTail(): Promise<CheckTailResponse>;
|
|
76
|
-
append(request: AppendRequest): Promise<AppendOutput>;
|
|
77
|
-
read(request: ReadRequest): Promise<Output>;
|
|
78
|
-
readStream(request: ReadRequest): AsyncGenerator<ReadResponse, void, undefined>;
|
|
98
|
+
checkTail(opConfig?: S2OperationConfig): Promise<CheckTailResponse>;
|
|
99
|
+
append(request: AppendRequest, opConfig?: S2OperationConfig): Promise<AppendOutput>;
|
|
100
|
+
read(request: ReadRequest, opConfig?: S2OperationConfig): Promise<Output>;
|
|
101
|
+
readStream(request: ReadRequest, opConfig?: S2OperationConfig): AsyncGenerator<ReadResponse, void, undefined>;
|
|
79
102
|
}
|
|
80
103
|
export declare function genS2RequestToken(): string;
|
|
81
104
|
//# sourceMappingURL=index.extras.d.ts.map
|
package/index.extras.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.extras.d.ts","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,YAAY,EAIZ,YAAY,EACZ,UAAU,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEH,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EAInB,WAAW,IAAI,gBAAgB,EAC/B,aAAa,IAAI,kBAAkB,EACtC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AASvC,OAAO,EAAuB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAC/D,YAAY,EACR,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACR,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,UAAU,GACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB;IACzB,GAAG,IAAA;IACH,aAAa,IAAA;CAChB;AAYD,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAE7B,IAAI,OAAO,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"index.extras.d.ts","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
|
package/index.extras.js
CHANGED
|
@@ -26,9 +26,20 @@ const basinDeleteStream_1 = require("./funcs/basinDeleteStream");
|
|
|
26
26
|
const endpoints_1 = require("./endpoints");
|
|
27
27
|
const http_1 = require("./lib/http");
|
|
28
28
|
__exportStar(require("./endpoints"), exports);
|
|
29
|
+
/**
|
|
30
|
+
* Retry policy for appends.
|
|
31
|
+
*/
|
|
29
32
|
var AppendRetryPolicy;
|
|
30
33
|
(function (AppendRetryPolicy) {
|
|
34
|
+
/**
|
|
35
|
+
* Retry all eligible failures encountered during an append.
|
|
36
|
+
* This could result in append batches being duplicated on the stream.
|
|
37
|
+
*/
|
|
31
38
|
AppendRetryPolicy[AppendRetryPolicy["All"] = 0] = "All";
|
|
39
|
+
/**
|
|
40
|
+
* Retry only failures with no side effects.
|
|
41
|
+
* Will not attempt to retry failures where it cannot be concluded whether an append may become durable, in order to prevent duplicates.
|
|
42
|
+
*/
|
|
32
43
|
AppendRetryPolicy[AppendRetryPolicy["NoSideEffects"] = 1] = "NoSideEffects";
|
|
33
44
|
})(AppendRetryPolicy || (exports.AppendRetryPolicy = AppendRetryPolicy = {}));
|
|
34
45
|
const defaultS2ClientConfig = {
|
|
@@ -41,9 +52,6 @@ const defaultS2ClientConfig = {
|
|
|
41
52
|
};
|
|
42
53
|
class S2Client {
|
|
43
54
|
get account() {
|
|
44
|
-
// this.httpClient.addHook("beforeRequest", (request) => {
|
|
45
|
-
// if (this.config.userAgent) request.headers.set("User-Agent", this.config.userAgent);
|
|
46
|
-
// });
|
|
47
55
|
return (this._account ?? (this._account = new S2Account(this.config)));
|
|
48
56
|
}
|
|
49
57
|
basin(basinName) {
|
|
@@ -57,12 +65,11 @@ exports.S2Client = S2Client;
|
|
|
57
65
|
class S2Account {
|
|
58
66
|
constructor(config) {
|
|
59
67
|
this.accountURLSuffx = "/v1alpha";
|
|
60
|
-
|
|
61
|
-
config.
|
|
68
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
69
|
+
if (config.userAgent !== undefined) {
|
|
62
70
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
66
73
|
this._account = new account_1.Account({
|
|
67
74
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
68
75
|
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
@@ -71,44 +78,51 @@ class S2Account {
|
|
|
71
78
|
this.config = config;
|
|
72
79
|
}
|
|
73
80
|
get URL() {
|
|
74
|
-
|
|
75
|
-
return undefined;
|
|
76
|
-
return `https://${endpoints_1.ClientKind.toAuthority({ kind: "Account" }, this.config.endpoints)}${this.accountURLSuffx}`;
|
|
81
|
+
return `https://${endpoints_1.ClientKind.toAuthority({ kind: "Account" }, this.config.endpoints ?? endpoints_1.S2Endpoints.forCloud(endpoints_1.S2Cloud.Aws))}${this.accountURLSuffx}`;
|
|
77
82
|
}
|
|
78
83
|
basin(basinName) {
|
|
79
84
|
return new S2Basin(basinName, this.config);
|
|
80
85
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
overrideConfig(config) {
|
|
87
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
88
|
+
if (config?.authToken !== undefined) {
|
|
89
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async listBasins(request, opConfig) {
|
|
94
|
+
this.overrideConfig(opConfig);
|
|
95
|
+
return retryWithExponentialBackoff(() => this._account.listBasins(request ?? {}, {
|
|
96
|
+
serverURL: this.URL,
|
|
97
|
+
}), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
84
98
|
}
|
|
85
|
-
async getBasinConfig(basin) {
|
|
99
|
+
async getBasinConfig(basin, opConfig) {
|
|
100
|
+
this.overrideConfig(opConfig);
|
|
86
101
|
const _request = { basin };
|
|
87
|
-
|
|
88
|
-
return retryWithExponentialBackoff(() => this._account.getBasinConfig(_request, url ? { serverURL: url } : {}), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
102
|
+
return retryWithExponentialBackoff(() => this._account.getBasinConfig(_request, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
89
103
|
}
|
|
90
|
-
async createBasin(basin, request) {
|
|
104
|
+
async createBasin(basin, request, opConfig) {
|
|
105
|
+
this.overrideConfig(opConfig);
|
|
91
106
|
const _request = {
|
|
92
107
|
basin,
|
|
93
108
|
s2RequestToken: genS2RequestToken(),
|
|
94
109
|
createBasinRequest: request ?? {},
|
|
95
110
|
};
|
|
96
|
-
|
|
97
|
-
return retryWithExponentialBackoff(() => this._account.createBasin(_request, url ? { serverURL: url } : {}), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
111
|
+
return retryWithExponentialBackoff(() => this._account.createBasin(_request, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
98
112
|
}
|
|
99
|
-
async deleteBasin(basin, if_exists) {
|
|
100
|
-
|
|
101
|
-
const response = await retryWithExponentialBackoff(() => (0, accountDeleteBasin_1.accountDeleteBasin)(this._account, { basin },
|
|
113
|
+
async deleteBasin(basin, if_exists, opConfig) {
|
|
114
|
+
this.overrideConfig(opConfig);
|
|
115
|
+
const response = await retryWithExponentialBackoff(() => (0, accountDeleteBasin_1.accountDeleteBasin)(this._account, { basin }, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
102
116
|
if (if_exists && response.error instanceof errors_1.NotFoundError)
|
|
103
117
|
return;
|
|
104
118
|
if (response.error)
|
|
105
119
|
throw new Error(response.error.message);
|
|
106
120
|
return;
|
|
107
121
|
}
|
|
108
|
-
async reconfigureBasin(basin, config) {
|
|
109
|
-
|
|
122
|
+
async reconfigureBasin(basin, config, opConfig) {
|
|
123
|
+
this.overrideConfig(opConfig);
|
|
110
124
|
const _request = { basin, basinConfig: config };
|
|
111
|
-
return retryWithExponentialBackoff(() => this._account.reconfigureBasin(_request,
|
|
125
|
+
return retryWithExponentialBackoff(() => this._account.reconfigureBasin(_request, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
112
126
|
}
|
|
113
127
|
}
|
|
114
128
|
class S2Basin {
|
|
@@ -117,14 +131,18 @@ class S2Basin {
|
|
|
117
131
|
}
|
|
118
132
|
constructor(basinName, config) {
|
|
119
133
|
this.basinURLSuffx = "/v1alpha";
|
|
120
|
-
|
|
121
|
-
config.
|
|
134
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
135
|
+
if (config.userAgent !== undefined) {
|
|
122
136
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
123
|
-
}
|
|
124
|
-
|
|
137
|
+
}
|
|
138
|
+
if (config.endpoints?.basin?.kind === "Direct") {
|
|
139
|
+
request.headers.set("s2-basin", basinName);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
125
142
|
this._basin = new basin_1.Basin({
|
|
126
143
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
127
|
-
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout })
|
|
144
|
+
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
145
|
+
...(config.httpClient !== undefined && { httpClient: config.httpClient }),
|
|
128
146
|
});
|
|
129
147
|
this.config = config;
|
|
130
148
|
this.clientKind = { kind: "Basin", basin: basinName };
|
|
@@ -133,13 +151,23 @@ class S2Basin {
|
|
|
133
151
|
stream(streamName) {
|
|
134
152
|
return (this._stream ?? (this._stream = new Stream(this.basinName, streamName, this.config)));
|
|
135
153
|
}
|
|
136
|
-
|
|
137
|
-
|
|
154
|
+
overrideConfig(config) {
|
|
155
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
156
|
+
if (config?.authToken !== undefined) {
|
|
157
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async listStreams(request, opConfig) {
|
|
162
|
+
this.overrideConfig(opConfig);
|
|
163
|
+
return retryWithExponentialBackoff(() => this._basin.listStreams(request ?? {}, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
138
164
|
}
|
|
139
|
-
async getStreamConfig(stream) {
|
|
165
|
+
async getStreamConfig(stream, opConfig) {
|
|
166
|
+
this.overrideConfig(opConfig);
|
|
140
167
|
return retryWithExponentialBackoff(() => this._basin.getStreamConfig({ stream }, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
141
168
|
}
|
|
142
|
-
async createStream(stream, request) {
|
|
169
|
+
async createStream(stream, request, opConfig) {
|
|
170
|
+
this.overrideConfig(opConfig);
|
|
143
171
|
const _request = {
|
|
144
172
|
stream,
|
|
145
173
|
s2RequestToken: genS2RequestToken(),
|
|
@@ -147,7 +175,8 @@ class S2Basin {
|
|
|
147
175
|
};
|
|
148
176
|
return retryWithExponentialBackoff(() => this._basin.createStream(_request, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
149
177
|
}
|
|
150
|
-
async deleteStream(stream, if_exists) {
|
|
178
|
+
async deleteStream(stream, if_exists, opConfig) {
|
|
179
|
+
this.overrideConfig(opConfig);
|
|
151
180
|
const response = await retryWithExponentialBackoff(() => (0, basinDeleteStream_1.basinDeleteStream)(this._basin, { stream }, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
152
181
|
if (if_exists && response instanceof errors_1.NotFoundError)
|
|
153
182
|
return;
|
|
@@ -155,7 +184,8 @@ class S2Basin {
|
|
|
155
184
|
throw new Error(response.error.message);
|
|
156
185
|
return;
|
|
157
186
|
}
|
|
158
|
-
async reconfigureStream(stream, config) {
|
|
187
|
+
async reconfigureStream(stream, config, opConfig) {
|
|
188
|
+
this.overrideConfig(opConfig);
|
|
159
189
|
return retryWithExponentialBackoff(() => this._basin.reconfigureStream({ stream, streamConfig: config }, { serverURL: this.URL }), this.config.maxRetries, this.config.initialBackoffMs, this.config.maxBackoffMs);
|
|
160
190
|
}
|
|
161
191
|
}
|
|
@@ -163,25 +193,38 @@ class Stream {
|
|
|
163
193
|
get basinURL() {
|
|
164
194
|
return `https://${endpoints_1.ClientKind.toAuthority(this.clientKind, this.config.endpoints ?? endpoints_1.S2Endpoints.forCloud(endpoints_1.S2Cloud.Aws))}${this.basinURLSuffx}`;
|
|
165
195
|
}
|
|
196
|
+
overrideConfig(config) {
|
|
197
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
198
|
+
if (config?.authToken !== undefined) {
|
|
199
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
166
203
|
constructor(basinName, streamName, config) {
|
|
167
204
|
this.basinURLSuffx = "/v1alpha";
|
|
168
205
|
this.config = config;
|
|
169
206
|
this.clientKind = { kind: "Basin", basin: basinName };
|
|
170
207
|
this.streamName = streamName;
|
|
171
|
-
|
|
172
|
-
config.
|
|
208
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
209
|
+
if (config.userAgent !== undefined) {
|
|
173
210
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
174
|
-
}
|
|
175
|
-
|
|
211
|
+
}
|
|
212
|
+
if (config.endpoints?.basin?.kind === "Direct") {
|
|
213
|
+
request.headers.set("s2-basin", basinName);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
176
216
|
this._stream = new stream_1.Stream({
|
|
177
217
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
178
|
-
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout })
|
|
218
|
+
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
219
|
+
...(config.httpClient !== undefined && { httpClient: config.httpClient })
|
|
179
220
|
});
|
|
180
221
|
}
|
|
181
|
-
async checkTail() {
|
|
222
|
+
async checkTail(opConfig) {
|
|
223
|
+
this.overrideConfig(opConfig);
|
|
182
224
|
return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: this.basinURL }));
|
|
183
225
|
}
|
|
184
|
-
async append(request) {
|
|
226
|
+
async append(request, opConfig) {
|
|
227
|
+
this.overrideConfig(opConfig);
|
|
185
228
|
switch (this.config.appedRetryPolicy) {
|
|
186
229
|
case AppendRetryPolicy.All:
|
|
187
230
|
case undefined:
|
|
@@ -194,10 +237,12 @@ class Stream {
|
|
|
194
237
|
throw new Error("Invalid AppendRetryPolicy");
|
|
195
238
|
}
|
|
196
239
|
}
|
|
197
|
-
async read(request) {
|
|
240
|
+
async read(request, opConfig) {
|
|
241
|
+
this.overrideConfig(opConfig);
|
|
198
242
|
return await this._stream.read({ ...request, stream: this.streamName }, { serverURL: this.basinURL });
|
|
199
243
|
}
|
|
200
|
-
async *readStream(request) {
|
|
244
|
+
async *readStream(request, opConfig) {
|
|
245
|
+
this.overrideConfig(opConfig);
|
|
201
246
|
let currentRequest = { ...request };
|
|
202
247
|
let initialBackoffMs = this.config.initialBackoffMs ?? 100;
|
|
203
248
|
const maxBackoffMs = 5000;
|
package/index.extras.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAyaA,8CAEC;AA3aD,mEAAgE;AAgBhE,4CAAgE;AAehE,yCAAqE;AACrE,uCAAkD;AAClD,2CAAwD;AAExD,+BAAoC;AACpC,iEAA8D;AAE9D,2CAA+D;AAC/D,qCAAwC;AAwBxC,8CAA4B;AAc5B,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,uDAAG,CAAA;IACH,2EAAa,CAAA;AACjB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,MAAM,qBAAqB,GAAmB;IAC1C,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,uBAAW,CAAC,QAAQ,CAAC,mBAAO,CAAC,GAAG,CAAC;IAC5C,gBAAgB,EAAE,iBAAiB,CAAC,GAAG;IACvC,UAAU,EAAE,IAAI,iBAAU,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KAC7C,CAAC;CACL,CAAC;AAGF,MAAa,QAAQ;IAIjB,IAAI,OAAO;QACP,0DAA0D;QAC1D,2FAA2F;QAC3F,MAAM;QACN,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IAC1D,CAAC;IAGD,KAAK,CAAC,SAAiB;QACnB,OAAO,CAAC,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,YAAY,MAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,CAAC;CACJ;AAnBD,4BAmBC;AAED,MAAM,SAAS;IAKX,YAAY,MAAsB;QAFjB,oBAAe,GAAG,UAAU,CAAC;QAG1C,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBACpD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAY,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;SAC5E,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,WAAW,sBAAU,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,SAAiB;QACnB,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,OAA2B;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5E,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAC9B,MAAM,QAAQ,GAA0B,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3E,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAA4B;QACzD,MAAM,QAAQ,GAA4B;YACtC,KAAK;YACL,cAAc,EAAE,iBAAiB,EAAE;YACnC,kBAAkB,EAAE,OAAO,IAAI,EAAE;SACpC,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACxE,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,SAAmB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAC9C,GAAG,EAAE,CAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACjF,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;QACF,IAAI,SAAS,IAAI,QAAQ,CAAC,KAAK,YAAY,sBAAa;YAAE,OAAO;QACjE,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO;IACX,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,MAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,QAAQ,GAA4B,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QACzE,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;CACJ;AAED,MAAM,OAAO;IAQT,IAAY,GAAG;QACX,OAAO,WAAW,sBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,uBAAW,CAAC,QAAQ,CAAC,mBAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACjJ,CAAC;IAED,YAAY,SAAiB,EAAE,MAAsB;QANpC,kBAAa,GAAG,UAAU,CAAC;QAOxC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBACpD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAU,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;SACnF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,WAAW,CACb,OAA2B;QAE3B,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAC/D,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EACtE,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAA6B;QAC5D,MAAM,QAAQ,GAA6B;YACvC,MAAM;YACN,cAAc,EAAE,iBAAiB,EAAE;YACnC,mBAAmB,EAAE,OAAO,IAAI,EAAE;SACrC,CAAC;QACF,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EACjE,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,SAAmB;QAClD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAC9C,GAAG,EAAE,CAAC,IAAA,qCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EACzE,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;QACF,IAAI,SAAS,IAAI,QAAQ,YAAY,sBAAa;YAAE,OAAO;QAC3D,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO;IACX,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,MAAoB;QACxD,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAC9F,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;CACJ;AAED,MAAM,MAAM;IAOR,IAAY,QAAQ;QAChB,OAAO,WAAW,sBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,uBAAW,CAAC,QAAQ,CAAC,mBAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACjJ,CAAC;IAED,YAAY,SAAiB,EAAE,UAAkB,EAAE,MAAsB;QANxD,kBAAa,GAAG,UAAU,CAAC;QAOxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBACpD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAW,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;SACnF,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,CACH,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAC1F,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QAC/B,QAAQ,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACnC,KAAK,iBAAiB,CAAC,GAAG,CAAC;YAC3B,KAAK,SAAS;gBACV,OAAO,2BAA2B,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAChG,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;YACN,KAAK,iBAAiB,CAAC,aAAa;gBAChC,OAAO,CACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;oBAC/D,SAAS,EAAE,IAAI,CAAC,QAAQ;iBAC3B,CAAC,CACL,CAAC;YACN;gBACI,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC3B,OACI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAChG,CAAC;IACN,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CAAC,OAAoB;QAClC,IAAI,cAAc,GAAgB,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,MAA6C,CAAC;YAClD,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAC9C;oBACI,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,SAAS,EAAE,CAAC,CAAC,EAAE,6BAA6B;oBAC5C,oBAAoB,EAAE,uBAAc,CAAC,eAAe;iBACvD,CACJ,CAAC;gBACF,MAAM,GAAG,QAAqC,CAAC;gBAC/C,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,KAAK,CAAC;oBAEZ,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAG,KAA2B,CAAC;wBAC3C,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;4BACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;4BAChC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAC3D,IAAI,UAAU,EAAE,CAAC;oCACb,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC/E,CAAC;4BACL,CAAC;4BACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gCACvB,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oCACrC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAChG,CAAC;gCACD,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oCACrC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;gCACnG,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,uBAAc,EAAE,CAAC;oBAClC,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;wBAC3B,MAAM,KAAK,CAAC;oBAChB,CAAC;oBACD,UAAU,EAAE,CAAC;oBACb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBACpE,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAED,SAAS,iBAAiB,CAAC,KAAsB;IAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAEnC,OAAO,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA2B;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,iBAAiB;IAC7B,OAAO,IAAA,SAAM,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,SAA2B,EAC3B,cAAsB,CAAC,EACvB,mBAA2B,GAAG,EAC9B,eAAuB,IAAI;IAE3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,OAAO,GAAG,WAAW,EAAE,CAAC;QAC3B,IAAI,CAAC;YACD,OAAO,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,uBAAc,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,IAAI,WAAW;oBAAE,MAAM,KAAK,CAAC;gBAExC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;gBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;gBAEzF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
|
package/jsr.json
CHANGED
package/lib/config.d.ts
CHANGED
|
@@ -27,8 +27,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
|
|
|
27
27
|
export declare const SDK_METADATA: {
|
|
28
28
|
readonly language: "typescript";
|
|
29
29
|
readonly openapiDocVersion: "1.0.0";
|
|
30
|
-
readonly sdkVersion: "0.3.
|
|
30
|
+
readonly sdkVersion: "0.3.17";
|
|
31
31
|
readonly genVersion: "2.506.0";
|
|
32
|
-
readonly userAgent: "speakeasy-sdk/typescript 0.3.
|
|
32
|
+
readonly userAgent: "speakeasy-sdk/typescript 0.3.17 2.506.0 1.0.0 @s2-dev/streamstore";
|
|
33
33
|
};
|
|
34
34
|
//# sourceMappingURL=config.d.ts.map
|
package/lib/config.js
CHANGED
|
@@ -28,8 +28,8 @@ function serverURLFromOptions(options) {
|
|
|
28
28
|
exports.SDK_METADATA = {
|
|
29
29
|
language: "typescript",
|
|
30
30
|
openapiDocVersion: "1.0.0",
|
|
31
|
-
sdkVersion: "0.3.
|
|
31
|
+
sdkVersion: "0.3.17",
|
|
32
32
|
genVersion: "2.506.0",
|
|
33
|
-
userAgent: "speakeasy-sdk/typescript 0.3.
|
|
33
|
+
userAgent: "speakeasy-sdk/typescript 0.3.17 2.506.0 1.0.0 @s2-dev/streamstore",
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=config.js.map
|
package/package.json
CHANGED
package/src/index.extras.ts
CHANGED
|
@@ -75,8 +75,29 @@ export type S2ClientConfig = {
|
|
|
75
75
|
httpClient?: HTTPClient;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Override the client level configuration for a specific operation.
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* Only `authToken` can be overridden for now.
|
|
83
|
+
*/
|
|
84
|
+
export type S2OperationConfig = {
|
|
85
|
+
authToken?: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Retry policy for appends.
|
|
90
|
+
*/
|
|
78
91
|
export enum AppendRetryPolicy {
|
|
92
|
+
/**
|
|
93
|
+
* Retry all eligible failures encountered during an append.
|
|
94
|
+
* This could result in append batches being duplicated on the stream.
|
|
95
|
+
*/
|
|
79
96
|
All,
|
|
97
|
+
/**
|
|
98
|
+
* Retry only failures with no side effects.
|
|
99
|
+
* Will not attempt to retry failures where it cannot be concluded whether an append may become durable, in order to prevent duplicates.
|
|
100
|
+
*/
|
|
80
101
|
NoSideEffects,
|
|
81
102
|
}
|
|
82
103
|
|
|
@@ -92,12 +113,9 @@ const defaultS2ClientConfig: S2ClientConfig = {
|
|
|
92
113
|
|
|
93
114
|
export class S2Client {
|
|
94
115
|
private config: S2ClientConfig;
|
|
95
|
-
private _account?: S2Account;
|
|
116
|
+
private _account?: S2Account;
|
|
96
117
|
|
|
97
118
|
get account(): S2Account {
|
|
98
|
-
// this.httpClient.addHook("beforeRequest", (request) => {
|
|
99
|
-
// if (this.config.userAgent) request.headers.set("User-Agent", this.config.userAgent);
|
|
100
|
-
// });
|
|
101
119
|
return (this._account ??= new S2Account(this.config));
|
|
102
120
|
}
|
|
103
121
|
|
|
@@ -117,12 +135,11 @@ class S2Account {
|
|
|
117
135
|
private readonly accountURLSuffx = "/v1alpha";
|
|
118
136
|
|
|
119
137
|
constructor(config: S2ClientConfig) {
|
|
120
|
-
|
|
121
|
-
config.
|
|
138
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
139
|
+
if (config.userAgent !== undefined) {
|
|
122
140
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
141
|
+
}
|
|
142
|
+
});
|
|
126
143
|
this._account = new InnerAccount({
|
|
127
144
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
128
145
|
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
@@ -131,57 +148,67 @@ class S2Account {
|
|
|
131
148
|
this.config = config;
|
|
132
149
|
}
|
|
133
150
|
|
|
134
|
-
get URL(): string
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
151
|
+
get URL(): string {
|
|
152
|
+
return `https://${ClientKind.toAuthority({ kind: "Account" }, this.config.endpoints ?? S2Endpoints.forCloud(S2Cloud.Aws))}${this.accountURLSuffx}`;
|
|
153
|
+
}
|
|
138
154
|
|
|
139
155
|
basin(basinName: string): S2Basin {
|
|
140
156
|
return new S2Basin(basinName, this.config);
|
|
141
157
|
}
|
|
142
158
|
|
|
159
|
+
private overrideConfig(config?: S2OperationConfig) {
|
|
160
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
161
|
+
if (config?.authToken !== undefined) {
|
|
162
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
143
167
|
async listBasins(
|
|
144
|
-
request?: ListBasinsRequest
|
|
168
|
+
request?: ListBasinsRequest,
|
|
169
|
+
opConfig?: S2OperationConfig,
|
|
145
170
|
): Promise<PageIterator<ListBasinsResponse, { cursor: string }>> {
|
|
146
|
-
|
|
171
|
+
this.overrideConfig(opConfig);
|
|
147
172
|
return retryWithExponentialBackoff(
|
|
148
|
-
() => this._account.listBasins(request ?? {},
|
|
173
|
+
() => this._account.listBasins(request ?? {}, {
|
|
174
|
+
serverURL: this.URL,
|
|
175
|
+
}),
|
|
149
176
|
this.config.maxRetries,
|
|
150
177
|
this.config.initialBackoffMs,
|
|
151
178
|
this.config.maxBackoffMs
|
|
152
179
|
);
|
|
153
180
|
}
|
|
154
181
|
|
|
155
|
-
async getBasinConfig(basin: string): Promise<BasinConfig | undefined> {
|
|
182
|
+
async getBasinConfig(basin: string, opConfig?: S2OperationConfig): Promise<BasinConfig | undefined> {
|
|
183
|
+
this.overrideConfig(opConfig);
|
|
156
184
|
const _request: GetBasinConfigRequest = { basin };
|
|
157
|
-
const url = this.URL;
|
|
158
185
|
return retryWithExponentialBackoff(
|
|
159
|
-
() => this._account.getBasinConfig(_request,
|
|
186
|
+
() => this._account.getBasinConfig(_request, { serverURL: this.URL }),
|
|
160
187
|
this.config.maxRetries,
|
|
161
188
|
this.config.initialBackoffMs,
|
|
162
189
|
this.config.maxBackoffMs
|
|
163
190
|
);
|
|
164
191
|
}
|
|
165
192
|
|
|
166
|
-
async createBasin(basin: string, request?: CreateBasinRequest): Promise<BasinInfo | undefined> {
|
|
193
|
+
async createBasin(basin: string, request?: CreateBasinRequest, opConfig?: S2OperationConfig): Promise<BasinInfo | undefined> {
|
|
194
|
+
this.overrideConfig(opConfig);
|
|
167
195
|
const _request: CreateBasinRequestInner = {
|
|
168
196
|
basin,
|
|
169
197
|
s2RequestToken: genS2RequestToken(),
|
|
170
198
|
createBasinRequest: request ?? {},
|
|
171
199
|
};
|
|
172
|
-
const url = this.URL;
|
|
173
200
|
return retryWithExponentialBackoff(
|
|
174
|
-
() => this._account.createBasin(_request,
|
|
201
|
+
() => this._account.createBasin(_request, { serverURL: this.URL }),
|
|
175
202
|
this.config.maxRetries,
|
|
176
203
|
this.config.initialBackoffMs,
|
|
177
204
|
this.config.maxBackoffMs
|
|
178
205
|
);
|
|
179
206
|
}
|
|
180
207
|
|
|
181
|
-
async deleteBasin(basin: string, if_exists?: boolean): Promise<void> {
|
|
182
|
-
|
|
208
|
+
async deleteBasin(basin: string, if_exists?: boolean, opConfig?: S2OperationConfig): Promise<void> {
|
|
209
|
+
this.overrideConfig(opConfig);
|
|
183
210
|
const response = await retryWithExponentialBackoff(
|
|
184
|
-
() => accountDeleteBasin(this._account, { basin },
|
|
211
|
+
() => accountDeleteBasin(this._account, { basin }, { serverURL: this.URL }),
|
|
185
212
|
this.config.maxRetries,
|
|
186
213
|
this.config.initialBackoffMs,
|
|
187
214
|
this.config.maxBackoffMs
|
|
@@ -191,11 +218,11 @@ class S2Account {
|
|
|
191
218
|
return;
|
|
192
219
|
}
|
|
193
220
|
|
|
194
|
-
async reconfigureBasin(basin: string, config: BasinConfig): Promise<BasinConfig | undefined> {
|
|
195
|
-
|
|
221
|
+
async reconfigureBasin(basin: string, config: BasinConfig, opConfig?: S2OperationConfig): Promise<BasinConfig | undefined> {
|
|
222
|
+
this.overrideConfig(opConfig);
|
|
196
223
|
const _request: ReconfigureBasinRequest = { basin, basinConfig: config };
|
|
197
224
|
return retryWithExponentialBackoff(
|
|
198
|
-
() => this._account.reconfigureBasin(_request,
|
|
225
|
+
() => this._account.reconfigureBasin(_request, { serverURL: this.URL }),
|
|
199
226
|
this.config.maxRetries,
|
|
200
227
|
this.config.initialBackoffMs,
|
|
201
228
|
this.config.maxBackoffMs
|
|
@@ -209,21 +236,25 @@ class S2Basin {
|
|
|
209
236
|
private basinName: string;
|
|
210
237
|
private config: S2ClientConfig;
|
|
211
238
|
private clientKind: ClientKind;
|
|
212
|
-
private readonly basinURLSuffx = "/v1alpha";
|
|
239
|
+
private readonly basinURLSuffx = "/v1alpha";
|
|
213
240
|
|
|
214
241
|
private get URL(): string {
|
|
215
242
|
return `https://${ClientKind.toAuthority(this.clientKind, this.config.endpoints ?? S2Endpoints.forCloud(S2Cloud.Aws))}${this.basinURLSuffx}`;
|
|
216
243
|
}
|
|
217
244
|
|
|
218
245
|
constructor(basinName: string, config: S2ClientConfig) {
|
|
219
|
-
|
|
220
|
-
config.
|
|
246
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
247
|
+
if (config.userAgent !== undefined) {
|
|
221
248
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
222
|
-
}
|
|
223
|
-
|
|
249
|
+
}
|
|
250
|
+
if (config.endpoints?.basin?.kind === "Direct") {
|
|
251
|
+
request.headers.set("s2-basin", basinName);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
224
254
|
this._basin = new InnerBasin({
|
|
225
255
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
226
|
-
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout })
|
|
256
|
+
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
257
|
+
...(config.httpClient !== undefined && { httpClient: config.httpClient }),
|
|
227
258
|
});
|
|
228
259
|
this.config = config;
|
|
229
260
|
this.clientKind = { kind: "Basin" as const, basin: basinName };
|
|
@@ -234,18 +265,32 @@ class S2Basin {
|
|
|
234
265
|
return (this._stream ??= new Stream(this.basinName, streamName, this.config));
|
|
235
266
|
}
|
|
236
267
|
|
|
268
|
+
private overrideConfig(config?: S2OperationConfig) {
|
|
269
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
270
|
+
if (config?.authToken !== undefined) {
|
|
271
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
|
|
237
276
|
async listStreams(
|
|
238
|
-
request
|
|
277
|
+
request?: ListStreamsRequest,
|
|
278
|
+
opConfig?: S2OperationConfig,
|
|
239
279
|
): Promise<PageIterator<ListStreamsResponse, { cursor: string }>> {
|
|
280
|
+
this.overrideConfig(opConfig);
|
|
240
281
|
return retryWithExponentialBackoff(
|
|
241
|
-
() => this._basin.listStreams(request, { serverURL: this.URL }),
|
|
282
|
+
() => this._basin.listStreams(request ?? {}, { serverURL: this.URL }),
|
|
242
283
|
this.config.maxRetries,
|
|
243
284
|
this.config.initialBackoffMs,
|
|
244
285
|
this.config.maxBackoffMs
|
|
245
286
|
);
|
|
246
287
|
}
|
|
247
288
|
|
|
248
|
-
async getStreamConfig(
|
|
289
|
+
async getStreamConfig(
|
|
290
|
+
stream: string,
|
|
291
|
+
opConfig?: S2OperationConfig
|
|
292
|
+
): Promise<StreamConfig | undefined> {
|
|
293
|
+
this.overrideConfig(opConfig);
|
|
249
294
|
return retryWithExponentialBackoff(
|
|
250
295
|
() => this._basin.getStreamConfig({ stream }, { serverURL: this.URL }),
|
|
251
296
|
this.config.maxRetries,
|
|
@@ -254,7 +299,8 @@ class S2Basin {
|
|
|
254
299
|
);
|
|
255
300
|
}
|
|
256
301
|
|
|
257
|
-
async createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined> {
|
|
302
|
+
async createStream(stream: string, request?: CreateStreamRequest, opConfig?: S2OperationConfig): Promise<StreamInfo | undefined> {
|
|
303
|
+
this.overrideConfig(opConfig);
|
|
258
304
|
const _request: CreateStreamRequestInner = {
|
|
259
305
|
stream,
|
|
260
306
|
s2RequestToken: genS2RequestToken(),
|
|
@@ -268,7 +314,8 @@ class S2Basin {
|
|
|
268
314
|
);
|
|
269
315
|
}
|
|
270
316
|
|
|
271
|
-
async deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined> {
|
|
317
|
+
async deleteStream(stream: string, if_exists?: boolean, opConfig?: S2OperationConfig): Promise<void | undefined> {
|
|
318
|
+
this.overrideConfig(opConfig);
|
|
272
319
|
const response = await retryWithExponentialBackoff(
|
|
273
320
|
() => basinDeleteStream(this._basin, { stream }, { serverURL: this.URL }),
|
|
274
321
|
this.config.maxRetries,
|
|
@@ -280,7 +327,8 @@ class S2Basin {
|
|
|
280
327
|
return;
|
|
281
328
|
}
|
|
282
329
|
|
|
283
|
-
async reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig> {
|
|
330
|
+
async reconfigureStream(stream: string, config: StreamConfig, opConfig?: S2OperationConfig): Promise<StreamConfig> {
|
|
331
|
+
this.overrideConfig(opConfig);
|
|
284
332
|
return retryWithExponentialBackoff(
|
|
285
333
|
() => this._basin.reconfigureStream({ stream, streamConfig: config }, { serverURL: this.URL }),
|
|
286
334
|
this.config.maxRetries,
|
|
@@ -301,28 +349,42 @@ class Stream {
|
|
|
301
349
|
return `https://${ClientKind.toAuthority(this.clientKind, this.config.endpoints ?? S2Endpoints.forCloud(S2Cloud.Aws))}${this.basinURLSuffx}`;
|
|
302
350
|
}
|
|
303
351
|
|
|
352
|
+
private overrideConfig(config?: S2OperationConfig) {
|
|
353
|
+
this.config.httpClient?.addHook("beforeRequest", (request) => {
|
|
354
|
+
if (config?.authToken !== undefined) {
|
|
355
|
+
request.headers.set("Authorization", `Bearer ${config.authToken}`);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
|
|
304
360
|
constructor(basinName: string, streamName: string, config: S2ClientConfig) {
|
|
305
361
|
this.config = config;
|
|
306
362
|
this.clientKind = { kind: "Basin" as const, basin: basinName };
|
|
307
363
|
this.streamName = streamName;
|
|
308
|
-
|
|
309
|
-
config.
|
|
364
|
+
config.httpClient?.addHook("beforeRequest", (request) => {
|
|
365
|
+
if (config.userAgent !== undefined) {
|
|
310
366
|
request.headers.set("user-agent", config.userAgent ?? "s2-sdk-typescript");
|
|
311
|
-
}
|
|
312
|
-
|
|
367
|
+
}
|
|
368
|
+
if (config.endpoints?.basin?.kind === "Direct") {
|
|
369
|
+
request.headers.set("s2-basin", basinName);
|
|
370
|
+
}
|
|
371
|
+
});
|
|
313
372
|
this._stream = new InnerStream({
|
|
314
373
|
...(config.authToken !== undefined && { bearerAuth: config.authToken }),
|
|
315
|
-
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout })
|
|
374
|
+
...(config.requestTimeout !== undefined && { timeoutMs: config.requestTimeout }),
|
|
375
|
+
...(config.httpClient !== undefined && { httpClient: config.httpClient })
|
|
316
376
|
});
|
|
317
377
|
}
|
|
318
378
|
|
|
319
|
-
async checkTail(): Promise<CheckTailResponse> {
|
|
379
|
+
async checkTail(opConfig?: S2OperationConfig): Promise<CheckTailResponse> {
|
|
380
|
+
this.overrideConfig(opConfig);
|
|
320
381
|
return (
|
|
321
382
|
await this._stream.checkTail({ stream: this.streamName }, { serverURL: this.basinURL })
|
|
322
383
|
);
|
|
323
384
|
}
|
|
324
385
|
|
|
325
|
-
async append(request: AppendRequest): Promise<AppendOutput> {
|
|
386
|
+
async append(request: AppendRequest, opConfig?: S2OperationConfig): Promise<AppendOutput> {
|
|
387
|
+
this.overrideConfig(opConfig);
|
|
326
388
|
switch (this.config.appedRetryPolicy) {
|
|
327
389
|
case AppendRetryPolicy.All:
|
|
328
390
|
case undefined:
|
|
@@ -343,13 +405,15 @@ class Stream {
|
|
|
343
405
|
}
|
|
344
406
|
}
|
|
345
407
|
|
|
346
|
-
async read(request: ReadRequest): Promise<Output> {
|
|
408
|
+
async read(request: ReadRequest, opConfig?: S2OperationConfig): Promise<Output> {
|
|
409
|
+
this.overrideConfig(opConfig);
|
|
347
410
|
return (
|
|
348
411
|
await this._stream.read({ ...request, stream: this.streamName }, { serverURL: this.basinURL }) as Output
|
|
349
412
|
);
|
|
350
413
|
}
|
|
351
414
|
|
|
352
|
-
async *readStream(request: ReadRequest): AsyncGenerator<ReadResponse, void, undefined> {
|
|
415
|
+
async *readStream(request: ReadRequest, opConfig?: S2OperationConfig): AsyncGenerator<ReadResponse, void, undefined> {
|
|
416
|
+
this.overrideConfig(opConfig);
|
|
353
417
|
let currentRequest: ReadRequest = { ...request };
|
|
354
418
|
let initialBackoffMs = this.config.initialBackoffMs ?? 100;
|
|
355
419
|
const maxBackoffMs = 5000;
|
package/src/lib/config.ts
CHANGED
|
@@ -54,8 +54,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
54
54
|
export const SDK_METADATA = {
|
|
55
55
|
language: "typescript",
|
|
56
56
|
openapiDocVersion: "1.0.0",
|
|
57
|
-
sdkVersion: "0.3.
|
|
57
|
+
sdkVersion: "0.3.17",
|
|
58
58
|
genVersion: "2.506.0",
|
|
59
59
|
userAgent:
|
|
60
|
-
"speakeasy-sdk/typescript 0.3.
|
|
60
|
+
"speakeasy-sdk/typescript 0.3.17 2.506.0 1.0.0 @s2-dev/streamstore",
|
|
61
61
|
} as const;
|