@s2-dev/streamstore 0.2.17 → 0.3.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 +19 -0
- package/index.extras.d.ts +14 -9
- package/index.extras.d.ts.map +1 -1
- package/index.extras.js +19 -7
- package/index.extras.js.map +1 -1
- package/jsr.json +1 -1
- package/lib/config.d.ts +3 -3
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +3 -3
- package/lib/config.js.map +1 -1
- package/package.json +1 -1
- package/src/index.extras.ts +57 -14
- package/src/lib/config.ts +3 -4
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ S2 API: Serverless API for streaming data backed by object storage.
|
|
|
23
23
|
* [streamstore](#streamstore)
|
|
24
24
|
* [SDK Installation](#sdk-installation)
|
|
25
25
|
* [Requirements](#requirements)
|
|
26
|
+
* [SDK Recommended Usage](#sdk-recommended-usage)
|
|
26
27
|
* [SDK Example Usage](#sdk-example-usage)
|
|
27
28
|
* [Authentication](#authentication)
|
|
28
29
|
* [Available Resources and Operations](#available-resources-and-operations)
|
|
@@ -79,6 +80,24 @@ yarn add @s2-dev/streamstore zod
|
|
|
79
80
|
For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
|
|
80
81
|
<!-- End Requirements [requirements] -->
|
|
81
82
|
|
|
83
|
+
## SDK Recommended Usage
|
|
84
|
+
|
|
85
|
+
The `S2Client` class provides a lot of convenience over the generated methods and is the recommended way to interact with the SDK. If you need finer control over the internal functions, you may use [Generated functions](#available-resources-and-operations)
|
|
86
|
+
or [Standalone functions](#standalone-functions).
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { ReadRequest, S2Client } from "@s2-dev/streamstore";
|
|
90
|
+
|
|
91
|
+
const s2 = new S2Client("<AUTH_TOKEN>");
|
|
92
|
+
|
|
93
|
+
async function run() {
|
|
94
|
+
await s2.account.createBasin("my-favorite-basin");
|
|
95
|
+
await s2.account.basin("my-favorite-basin").stream("test").append({ appendInput: { records: [{ body: "hello" }] } });
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
run();
|
|
99
|
+
```
|
|
100
|
+
|
|
82
101
|
<!-- Start SDK Example Usage [usage] -->
|
|
83
102
|
## SDK Example Usage
|
|
84
103
|
|
package/index.extras.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, StreamConfig, StreamInfo } from "./models/components";
|
|
2
|
-
import { ListBasinsRequest, ListBasinsResponse, ListStreamsRequest, ListStreamsResponse } from "./models/operations";
|
|
1
|
+
import { AppendOutput, BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, Output, ReadResponse, StreamConfig, StreamInfo } from "./models/components";
|
|
2
|
+
import { ListBasinsRequest, ListBasinsResponse, ListStreamsRequest, ListStreamsResponse, ReadRequest as ReadRequestInner, AppendRequest as AppendRequestInner } from "./models/operations";
|
|
3
3
|
import { PageIterator } from "./types";
|
|
4
|
+
import { EventStream } from "./lib/event-streams";
|
|
5
|
+
export type ReadRequest = Omit<ReadRequestInner, 'stream'>;
|
|
6
|
+
export type AppendRequest = Omit<AppendRequestInner, 'stream'>;
|
|
7
|
+
export type { GetBasinConfigRequest, ListBasinsRequest, ListBasinsResponse, ListStreamsRequest, ListStreamsResponse, ReconfigureBasinRequest, } from "./models/operations";
|
|
8
|
+
export type { BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, Output, ReadResponse, StreamConfig, StreamInfo } from "./models/components";
|
|
4
9
|
export declare function genS2RequestToken(): string;
|
|
5
10
|
export declare class S2Client {
|
|
6
11
|
private authToken;
|
|
@@ -13,10 +18,9 @@ export declare class S2Client {
|
|
|
13
18
|
declare class S2Account {
|
|
14
19
|
private _account;
|
|
15
20
|
private requestOptions;
|
|
21
|
+
private authToken;
|
|
16
22
|
constructor(authToken: string);
|
|
17
|
-
|
|
18
|
-
* List basins.
|
|
19
|
-
*/
|
|
23
|
+
basin(basinName: string): S2Basin;
|
|
20
24
|
listBasins(request?: ListBasinsRequest): Promise<PageIterator<ListBasinsResponse, {
|
|
21
25
|
cursor: string;
|
|
22
26
|
}>>;
|
|
@@ -37,17 +41,18 @@ declare class S2Basin {
|
|
|
37
41
|
cursor: string;
|
|
38
42
|
}>>;
|
|
39
43
|
getStreamConfig(stream: string): Promise<StreamConfig | undefined>;
|
|
40
|
-
createStream(stream: string, request
|
|
44
|
+
createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined>;
|
|
41
45
|
deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined>;
|
|
42
46
|
reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined>;
|
|
43
47
|
}
|
|
44
48
|
declare class Stream {
|
|
45
49
|
private _stream;
|
|
46
|
-
private streamName;
|
|
47
50
|
private basinName;
|
|
51
|
+
private streamName;
|
|
48
52
|
private readonly basinURLSuffx;
|
|
49
|
-
constructor(
|
|
53
|
+
constructor(basinName: string, streamName: string);
|
|
50
54
|
checkTail(): Promise<CheckTailResponse | undefined>;
|
|
55
|
+
read(request: ReadRequest, stream?: boolean): Promise<EventStream<ReadResponse> | Output | undefined>;
|
|
56
|
+
append(request: AppendRequest): Promise<AppendOutput | undefined>;
|
|
51
57
|
}
|
|
52
|
-
export {};
|
|
53
58
|
//# 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":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
|
@@ -27,6 +27,7 @@ exports.S2Client = S2Client;
|
|
|
27
27
|
class S2Account {
|
|
28
28
|
constructor(authToken) {
|
|
29
29
|
this._account = new account_1.Account({ bearerAuth: authToken });
|
|
30
|
+
this.authToken = authToken;
|
|
30
31
|
this.requestOptions = {
|
|
31
32
|
timeoutMs: 3000,
|
|
32
33
|
retries: {
|
|
@@ -42,9 +43,9 @@ class S2Account {
|
|
|
42
43
|
retryCodes: ['500', '503', '504'],
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
basin(basinName) {
|
|
47
|
+
return new S2Basin(this.authToken, basinName);
|
|
48
|
+
}
|
|
48
49
|
async listBasins(request) {
|
|
49
50
|
return this._account.listBasins(request ?? {}, this.requestOptions);
|
|
50
51
|
}
|
|
@@ -99,7 +100,7 @@ class S2Basin {
|
|
|
99
100
|
};
|
|
100
101
|
}
|
|
101
102
|
stream(streamName) {
|
|
102
|
-
return (this._stream ?? (this._stream = new Stream(
|
|
103
|
+
return (this._stream ?? (this._stream = new Stream(this.basinName, streamName)));
|
|
103
104
|
}
|
|
104
105
|
async listStreams(request) {
|
|
105
106
|
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
@@ -114,7 +115,7 @@ class S2Basin {
|
|
|
114
115
|
const _request = {
|
|
115
116
|
stream,
|
|
116
117
|
s2RequestToken: genS2RequestToken(),
|
|
117
|
-
createStreamRequest: request,
|
|
118
|
+
createStreamRequest: request ?? {},
|
|
118
119
|
};
|
|
119
120
|
return (await this._basin.createStream(_request, { serverURL: basinURL, ...this.requestOptions })).streamInfo;
|
|
120
121
|
}
|
|
@@ -133,10 +134,10 @@ class S2Basin {
|
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
class Stream {
|
|
136
|
-
constructor(
|
|
137
|
+
constructor(basinName, streamName) {
|
|
137
138
|
this.basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
138
|
-
this.streamName = streamName;
|
|
139
139
|
this.basinName = basinName;
|
|
140
|
+
this.streamName = streamName;
|
|
140
141
|
this._stream = new stream_1.Stream();
|
|
141
142
|
}
|
|
142
143
|
async checkTail() {
|
|
@@ -144,5 +145,16 @@ class Stream {
|
|
|
144
145
|
return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
|
|
145
146
|
.checkTailResponse;
|
|
146
147
|
}
|
|
148
|
+
async read(request, stream) {
|
|
149
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
150
|
+
return (await this._stream.read({ ...request, stream: this.streamName }, stream
|
|
151
|
+
? { serverURL: basinURL, acceptHeaderOverride: stream_1.ReadAcceptEnum.textEventStream }
|
|
152
|
+
: { serverURL: basinURL }))
|
|
153
|
+
.readResponse;
|
|
154
|
+
}
|
|
155
|
+
async append(request) {
|
|
156
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
157
|
+
return (await this._stream.append({ ...request, stream: this.streamName }, { serverURL: basinURL })).appendOutput;
|
|
158
|
+
}
|
|
147
159
|
}
|
|
148
160
|
//# sourceMappingURL=index.extras.js.map
|
package/index.extras.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":";;;
|
|
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.
|
|
31
|
-
readonly genVersion: "2.
|
|
32
|
-
readonly userAgent: "speakeasy-sdk/typescript 0.
|
|
30
|
+
readonly sdkVersion: "0.3.1";
|
|
31
|
+
readonly genVersion: "2.505.0";
|
|
32
|
+
readonly userAgent: "speakeasy-sdk/typescript 0.3.1 2.505.0 1.0.0 @s2-dev/streamstore";
|
|
33
33
|
};
|
|
34
34
|
//# sourceMappingURL=config.d.ts.map
|
package/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,UAAU,yCAEb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAepE;AAED,eAAO,MAAM,YAAY;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,UAAU,yCAEb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAepE;AAED,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC"}
|
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.
|
|
32
|
-
genVersion: "2.
|
|
33
|
-
userAgent: "speakeasy-sdk/typescript 0.
|
|
31
|
+
sdkVersion: "0.3.1",
|
|
32
|
+
genVersion: "2.505.0",
|
|
33
|
+
userAgent: "speakeasy-sdk/typescript 0.3.1 2.505.0 1.0.0 @s2-dev/streamstore",
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=config.js.map
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkCH,oDAeC;AA5CD,qCAA8C;AAE9C;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,4BAA4B;CACpB,CAAC;AAsBX,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,kBAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,OAAO;IAC1B,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkCH,oDAeC;AA5CD,qCAA8C;AAE9C;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,4BAA4B;CACpB,CAAC;AAsBX,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,kBAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,OAAO;IAC1B,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,kEAAkE;CACrE,CAAC"}
|
package/package.json
CHANGED
package/src/index.extras.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { accountDeleteBasin } from "./funcs/accountDeleteBasin";
|
|
2
2
|
import { RequestOptions } from "./lib/sdks";
|
|
3
|
-
import { BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, StreamConfig, StreamInfo } from "./models/components";
|
|
3
|
+
import { AppendOutput, BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, Output, ReadResponse, StreamConfig, StreamInfo } from "./models/components";
|
|
4
4
|
import { NotFoundError } from "./models/errors";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
6
|
GetBasinConfigRequest,
|
|
7
7
|
ListBasinsRequest,
|
|
8
8
|
ListBasinsResponse,
|
|
@@ -10,16 +10,31 @@ import {
|
|
|
10
10
|
ListStreamsResponse,
|
|
11
11
|
ReconfigureBasinRequest,
|
|
12
12
|
CreateBasinRequest as CreateBasinRequestInner,
|
|
13
|
-
CreateStreamRequest as CreateStreamRequestInner
|
|
13
|
+
CreateStreamRequest as CreateStreamRequestInner,
|
|
14
|
+
ReadRequest as ReadRequestInner,
|
|
15
|
+
AppendRequest as AppendRequestInner,
|
|
14
16
|
} from "./models/operations";
|
|
15
17
|
import { PageIterator } from "./types";
|
|
16
18
|
|
|
17
|
-
import { Stream as InnerStream } from "./sdk/stream";
|
|
19
|
+
import { Stream as InnerStream, ReadAcceptEnum } from "./sdk/stream";
|
|
18
20
|
import { Basin as InnerBasin } from "./sdk/basin";
|
|
19
21
|
import { Account as InnerAccount } from "./sdk/account";
|
|
20
22
|
|
|
21
23
|
import { v4 } from 'uuid';
|
|
22
24
|
import { basinDeleteStream } from "./funcs/basinDeleteStream";
|
|
25
|
+
import { EventStream } from "./lib/event-streams";
|
|
26
|
+
|
|
27
|
+
export type ReadRequest = Omit<ReadRequestInner, 'stream'>;
|
|
28
|
+
export type AppendRequest = Omit<AppendRequestInner, 'stream'>;
|
|
29
|
+
export type {
|
|
30
|
+
GetBasinConfigRequest,
|
|
31
|
+
ListBasinsRequest,
|
|
32
|
+
ListBasinsResponse,
|
|
33
|
+
ListStreamsRequest,
|
|
34
|
+
ListStreamsResponse,
|
|
35
|
+
ReconfigureBasinRequest,
|
|
36
|
+
} from "./models/operations";
|
|
37
|
+
export type { BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, Output, ReadResponse, StreamConfig, StreamInfo } from "./models/components";
|
|
23
38
|
|
|
24
39
|
export function genS2RequestToken(): string {
|
|
25
40
|
return v4().replace(/-/g, '');
|
|
@@ -45,9 +60,11 @@ export class S2Client {
|
|
|
45
60
|
class S2Account {
|
|
46
61
|
private _account: InnerAccount;
|
|
47
62
|
private requestOptions: RequestOptions;
|
|
63
|
+
private authToken: string;
|
|
48
64
|
|
|
49
65
|
constructor(authToken: string) {
|
|
50
66
|
this._account = new InnerAccount({ bearerAuth: authToken });
|
|
67
|
+
this.authToken = authToken;
|
|
51
68
|
this.requestOptions = {
|
|
52
69
|
timeoutMs: 3000,
|
|
53
70
|
retries: {
|
|
@@ -64,9 +81,10 @@ class S2Account {
|
|
|
64
81
|
};
|
|
65
82
|
}
|
|
66
83
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
84
|
+
basin(basinName: string): S2Basin {
|
|
85
|
+
return new S2Basin(this.authToken, basinName);
|
|
86
|
+
}
|
|
87
|
+
|
|
70
88
|
async listBasins(
|
|
71
89
|
request?: ListBasinsRequest,
|
|
72
90
|
): Promise<PageIterator<ListBasinsResponse, { cursor: string }>> {
|
|
@@ -132,7 +150,7 @@ class S2Basin {
|
|
|
132
150
|
}
|
|
133
151
|
|
|
134
152
|
stream(streamName: string): Stream {
|
|
135
|
-
return (this._stream ??= new Stream(
|
|
153
|
+
return (this._stream ??= new Stream(this.basinName, streamName));
|
|
136
154
|
}
|
|
137
155
|
|
|
138
156
|
async listStreams(
|
|
@@ -151,13 +169,13 @@ class S2Basin {
|
|
|
151
169
|
|
|
152
170
|
async createStream(
|
|
153
171
|
stream: string,
|
|
154
|
-
request
|
|
172
|
+
request?: CreateStreamRequest,
|
|
155
173
|
): Promise<StreamInfo | undefined> {
|
|
156
174
|
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
157
175
|
const _request: CreateStreamRequestInner = {
|
|
158
176
|
stream,
|
|
159
177
|
s2RequestToken: genS2RequestToken(),
|
|
160
|
-
createStreamRequest: request,
|
|
178
|
+
createStreamRequest: request ?? {},
|
|
161
179
|
};
|
|
162
180
|
|
|
163
181
|
return (
|
|
@@ -170,7 +188,7 @@ class S2Basin {
|
|
|
170
188
|
const response = await basinDeleteStream(this._basin, { stream }, { serverURL: basinURL, ...this.requestOptions });
|
|
171
189
|
if (if_exists && response instanceof NotFoundError) return;
|
|
172
190
|
if (response.error) throw new Error(response.error.message);
|
|
173
|
-
return;
|
|
191
|
+
return;
|
|
174
192
|
}
|
|
175
193
|
|
|
176
194
|
async reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined> {
|
|
@@ -184,15 +202,16 @@ class S2Basin {
|
|
|
184
202
|
}
|
|
185
203
|
}
|
|
186
204
|
|
|
205
|
+
|
|
187
206
|
class Stream {
|
|
188
207
|
private _stream: InnerStream;
|
|
189
|
-
private streamName: string;
|
|
190
208
|
private basinName: string;
|
|
209
|
+
private streamName: string;
|
|
191
210
|
private readonly basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
192
211
|
|
|
193
|
-
constructor(
|
|
194
|
-
this.streamName = streamName;
|
|
212
|
+
constructor(basinName: string, streamName: string) {
|
|
195
213
|
this.basinName = basinName;
|
|
214
|
+
this.streamName = streamName;
|
|
196
215
|
this._stream = new InnerStream();
|
|
197
216
|
}
|
|
198
217
|
|
|
@@ -201,4 +220,28 @@ class Stream {
|
|
|
201
220
|
return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
|
|
202
221
|
.checkTailResponse;
|
|
203
222
|
}
|
|
223
|
+
|
|
224
|
+
async read(
|
|
225
|
+
request: ReadRequest,
|
|
226
|
+
stream?: boolean
|
|
227
|
+
): Promise<EventStream<ReadResponse> | Output | undefined> {
|
|
228
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
229
|
+
return (await this._stream.read(
|
|
230
|
+
{ ...request, stream: this.streamName },
|
|
231
|
+
stream
|
|
232
|
+
? { serverURL: basinURL, acceptHeaderOverride: ReadAcceptEnum.textEventStream }
|
|
233
|
+
: { serverURL: basinURL }
|
|
234
|
+
))
|
|
235
|
+
.readResponse;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
async append(
|
|
239
|
+
request: AppendRequest,
|
|
240
|
+
): Promise<AppendOutput | undefined> {
|
|
241
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
242
|
+
return (await this._stream.append(
|
|
243
|
+
{ ...request, stream: this.streamName },
|
|
244
|
+
{ serverURL: basinURL }
|
|
245
|
+
)).appendOutput;
|
|
246
|
+
}
|
|
204
247
|
}
|
package/src/lib/config.ts
CHANGED
|
@@ -54,8 +54,7 @@ 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.
|
|
58
|
-
genVersion: "2.
|
|
59
|
-
userAgent:
|
|
60
|
-
"speakeasy-sdk/typescript 0.2.17 2.503.2 1.0.0 @s2-dev/streamstore",
|
|
57
|
+
sdkVersion: "0.3.1",
|
|
58
|
+
genVersion: "2.505.0",
|
|
59
|
+
userAgent: "speakeasy-sdk/typescript 0.3.1 2.505.0 1.0.0 @s2-dev/streamstore",
|
|
61
60
|
} as const;
|