@s2-dev/streamstore 0.2.11 → 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.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.extras.d.ts +58 -0
- package/index.extras.d.ts.map +1 -0
- package/index.extras.js +160 -0
- package/index.extras.js.map +1 -0
- package/index.js +1 -0
- package/index.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 +4 -2
- package/src/index.extras.ts +247 -0
- package/src/index.ts +2 -0
- 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.d.ts
CHANGED
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
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";
|
|
9
|
+
export declare function genS2RequestToken(): string;
|
|
10
|
+
export declare class S2Client {
|
|
11
|
+
private authToken;
|
|
12
|
+
private _account?;
|
|
13
|
+
get account(): S2Account;
|
|
14
|
+
private _basin?;
|
|
15
|
+
basin(basinName: string): S2Basin;
|
|
16
|
+
constructor(authToken: string);
|
|
17
|
+
}
|
|
18
|
+
declare class S2Account {
|
|
19
|
+
private _account;
|
|
20
|
+
private requestOptions;
|
|
21
|
+
private authToken;
|
|
22
|
+
constructor(authToken: string);
|
|
23
|
+
basin(basinName: string): S2Basin;
|
|
24
|
+
listBasins(request?: ListBasinsRequest): Promise<PageIterator<ListBasinsResponse, {
|
|
25
|
+
cursor: string;
|
|
26
|
+
}>>;
|
|
27
|
+
getBasinConfig(basin: string): Promise<BasinConfig | undefined>;
|
|
28
|
+
createBasin(basin: string, request?: CreateBasinRequest): Promise<BasinInfo | undefined>;
|
|
29
|
+
deleteBasin(basin: string, if_exists?: boolean): Promise<void | undefined>;
|
|
30
|
+
reconfigureBasin(basin: string, config: BasinConfig): Promise<BasinConfig | undefined>;
|
|
31
|
+
}
|
|
32
|
+
declare class S2Basin {
|
|
33
|
+
private _basin;
|
|
34
|
+
private _stream;
|
|
35
|
+
private readonly basinURLSuffx;
|
|
36
|
+
private requestOptions;
|
|
37
|
+
private basinName;
|
|
38
|
+
constructor(authToken: string, basinName: string);
|
|
39
|
+
stream(streamName: string): Stream;
|
|
40
|
+
listStreams(request: ListStreamsRequest): Promise<PageIterator<ListStreamsResponse, {
|
|
41
|
+
cursor: string;
|
|
42
|
+
}>>;
|
|
43
|
+
getStreamConfig(stream: string): Promise<StreamConfig | undefined>;
|
|
44
|
+
createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined>;
|
|
45
|
+
deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined>;
|
|
46
|
+
reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined>;
|
|
47
|
+
}
|
|
48
|
+
declare class Stream {
|
|
49
|
+
private _stream;
|
|
50
|
+
private basinName;
|
|
51
|
+
private streamName;
|
|
52
|
+
private readonly basinURLSuffx;
|
|
53
|
+
constructor(basinName: string, streamName: string);
|
|
54
|
+
checkTail(): Promise<CheckTailResponse | undefined>;
|
|
55
|
+
read(request: ReadRequest, stream?: boolean): Promise<EventStream<ReadResponse> | Output | undefined>;
|
|
56
|
+
append(request: AppendRequest): Promise<AppendOutput | undefined>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=index.extras.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.extras.d.ts","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
|
package/index.extras.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.S2Client = void 0;
|
|
4
|
+
exports.genS2RequestToken = genS2RequestToken;
|
|
5
|
+
const accountDeleteBasin_1 = require("./funcs/accountDeleteBasin");
|
|
6
|
+
const errors_1 = require("./models/errors");
|
|
7
|
+
const stream_1 = require("./sdk/stream");
|
|
8
|
+
const basin_1 = require("./sdk/basin");
|
|
9
|
+
const account_1 = require("./sdk/account");
|
|
10
|
+
const uuid_1 = require("uuid");
|
|
11
|
+
const basinDeleteStream_1 = require("./funcs/basinDeleteStream");
|
|
12
|
+
function genS2RequestToken() {
|
|
13
|
+
return (0, uuid_1.v4)().replace(/-/g, '');
|
|
14
|
+
}
|
|
15
|
+
class S2Client {
|
|
16
|
+
get account() {
|
|
17
|
+
return (this._account ?? (this._account = new S2Account(this.authToken)));
|
|
18
|
+
}
|
|
19
|
+
basin(basinName) {
|
|
20
|
+
return (this._basin ?? (this._basin = new S2Basin(this.authToken, basinName)));
|
|
21
|
+
}
|
|
22
|
+
constructor(authToken) {
|
|
23
|
+
this.authToken = authToken;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.S2Client = S2Client;
|
|
27
|
+
class S2Account {
|
|
28
|
+
constructor(authToken) {
|
|
29
|
+
this._account = new account_1.Account({ bearerAuth: authToken });
|
|
30
|
+
this.authToken = authToken;
|
|
31
|
+
this.requestOptions = {
|
|
32
|
+
timeoutMs: 3000,
|
|
33
|
+
retries: {
|
|
34
|
+
strategy: 'backoff',
|
|
35
|
+
backoff: {
|
|
36
|
+
initialInterval: 100,
|
|
37
|
+
maxInterval: 3000,
|
|
38
|
+
exponent: 2,
|
|
39
|
+
maxElapsedTime: 6000,
|
|
40
|
+
},
|
|
41
|
+
retryConnectionErrors: true,
|
|
42
|
+
},
|
|
43
|
+
retryCodes: ['500', '503', '504'],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
basin(basinName) {
|
|
47
|
+
return new S2Basin(this.authToken, basinName);
|
|
48
|
+
}
|
|
49
|
+
async listBasins(request) {
|
|
50
|
+
return this._account.listBasins(request ?? {}, this.requestOptions);
|
|
51
|
+
}
|
|
52
|
+
async getBasinConfig(basin) {
|
|
53
|
+
const _request = {
|
|
54
|
+
basin,
|
|
55
|
+
};
|
|
56
|
+
return (await this._account.getBasinConfig(_request, this.requestOptions)).basinConfig;
|
|
57
|
+
}
|
|
58
|
+
async createBasin(basin, request) {
|
|
59
|
+
const _request = {
|
|
60
|
+
basin,
|
|
61
|
+
s2RequestToken: genS2RequestToken(),
|
|
62
|
+
createBasinRequest: request ?? {},
|
|
63
|
+
};
|
|
64
|
+
return (await this._account.createBasin(_request, this.requestOptions)).basinInfo;
|
|
65
|
+
}
|
|
66
|
+
async deleteBasin(basin, if_exists) {
|
|
67
|
+
const response = await (0, accountDeleteBasin_1.accountDeleteBasin)(this._account, { basin }, this.requestOptions);
|
|
68
|
+
if (if_exists && response.error instanceof errors_1.NotFoundError)
|
|
69
|
+
return;
|
|
70
|
+
if (response.error)
|
|
71
|
+
throw new Error(response.error.message);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
async reconfigureBasin(basin, config) {
|
|
75
|
+
const _request = {
|
|
76
|
+
basin,
|
|
77
|
+
basinConfig: config,
|
|
78
|
+
};
|
|
79
|
+
return (await this._account.reconfigureBasin(_request, this.requestOptions)).basinConfig;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
class S2Basin {
|
|
83
|
+
constructor(authToken, basinName) {
|
|
84
|
+
this.basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
85
|
+
this._basin = new basin_1.Basin({ bearerAuth: authToken });
|
|
86
|
+
this.basinName = basinName;
|
|
87
|
+
this.requestOptions = {
|
|
88
|
+
timeoutMs: 3000,
|
|
89
|
+
retries: {
|
|
90
|
+
strategy: 'backoff',
|
|
91
|
+
backoff: {
|
|
92
|
+
initialInterval: 100,
|
|
93
|
+
maxInterval: 3000,
|
|
94
|
+
exponent: 2,
|
|
95
|
+
maxElapsedTime: 6000,
|
|
96
|
+
},
|
|
97
|
+
retryConnectionErrors: true,
|
|
98
|
+
},
|
|
99
|
+
retryCodes: ['500', '503', '504'],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
stream(streamName) {
|
|
103
|
+
return (this._stream ?? (this._stream = new Stream(this.basinName, streamName)));
|
|
104
|
+
}
|
|
105
|
+
async listStreams(request) {
|
|
106
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
107
|
+
return this._basin.listStreams(request, { serverURL: basinURL, ...this.requestOptions });
|
|
108
|
+
}
|
|
109
|
+
async getStreamConfig(stream) {
|
|
110
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
111
|
+
return (await this._basin.getStreamConfig({ stream }, { serverURL: basinURL, ...this.requestOptions })).streamConfig;
|
|
112
|
+
}
|
|
113
|
+
async createStream(stream, request) {
|
|
114
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
115
|
+
const _request = {
|
|
116
|
+
stream,
|
|
117
|
+
s2RequestToken: genS2RequestToken(),
|
|
118
|
+
createStreamRequest: request ?? {},
|
|
119
|
+
};
|
|
120
|
+
return (await this._basin.createStream(_request, { serverURL: basinURL, ...this.requestOptions })).streamInfo;
|
|
121
|
+
}
|
|
122
|
+
async deleteStream(stream, if_exists) {
|
|
123
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
124
|
+
const response = await (0, basinDeleteStream_1.basinDeleteStream)(this._basin, { stream }, { serverURL: basinURL, ...this.requestOptions });
|
|
125
|
+
if (if_exists && response instanceof errors_1.NotFoundError)
|
|
126
|
+
return;
|
|
127
|
+
if (response.error)
|
|
128
|
+
throw new Error(response.error.message);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
async reconfigureStream(stream, config) {
|
|
132
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
133
|
+
return (await this._basin.reconfigureStream({ stream, streamConfig: config }, { serverURL: basinURL, ...this.requestOptions })).streamConfig;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
class Stream {
|
|
137
|
+
constructor(basinName, streamName) {
|
|
138
|
+
this.basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
139
|
+
this.basinName = basinName;
|
|
140
|
+
this.streamName = streamName;
|
|
141
|
+
this._stream = new stream_1.Stream();
|
|
142
|
+
}
|
|
143
|
+
async checkTail() {
|
|
144
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
145
|
+
return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
|
|
146
|
+
.checkTailResponse;
|
|
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
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=index.extras.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -43,4 +43,5 @@ exports.files = void 0;
|
|
|
43
43
|
__exportStar(require("./lib/config.js"), exports);
|
|
44
44
|
exports.files = __importStar(require("./lib/files.js"));
|
|
45
45
|
__exportStar(require("./sdk/sdk.js"), exports);
|
|
46
|
+
__exportStar(require("./index.extras.js"), exports);
|
|
46
47
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kDAAgC;AAChC,wDAAwC;AACxC,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kDAAgC;AAChC,wDAAwC;AACxC,+CAA6B;AAE7B,oDAAkC"}
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@s2-dev/streamstore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"author": "Speakeasy",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@eslint/js": "^9.19.0",
|
|
21
21
|
"@types/jsonpath": "^0.2.4",
|
|
22
|
+
"@types/uuid": "^9.0.8",
|
|
22
23
|
"eslint": "^9.19.0",
|
|
23
24
|
"globals": "^15.14.0",
|
|
24
25
|
"typescript": "^5.4.5",
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
"zod": "^3.23.4"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
|
-
"jsonpath": "^1.1.1"
|
|
30
|
+
"jsonpath": "^1.1.1",
|
|
31
|
+
"uuid": "^9.0.1"
|
|
30
32
|
}
|
|
31
33
|
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { accountDeleteBasin } from "./funcs/accountDeleteBasin";
|
|
2
|
+
import { RequestOptions } from "./lib/sdks";
|
|
3
|
+
import { AppendOutput, BasinConfig, BasinInfo, CheckTailResponse, CreateBasinRequest, CreateStreamRequest, Output, ReadResponse, StreamConfig, StreamInfo } from "./models/components";
|
|
4
|
+
import { NotFoundError } from "./models/errors";
|
|
5
|
+
import {
|
|
6
|
+
GetBasinConfigRequest,
|
|
7
|
+
ListBasinsRequest,
|
|
8
|
+
ListBasinsResponse,
|
|
9
|
+
ListStreamsRequest,
|
|
10
|
+
ListStreamsResponse,
|
|
11
|
+
ReconfigureBasinRequest,
|
|
12
|
+
CreateBasinRequest as CreateBasinRequestInner,
|
|
13
|
+
CreateStreamRequest as CreateStreamRequestInner,
|
|
14
|
+
ReadRequest as ReadRequestInner,
|
|
15
|
+
AppendRequest as AppendRequestInner,
|
|
16
|
+
} from "./models/operations";
|
|
17
|
+
import { PageIterator } from "./types";
|
|
18
|
+
|
|
19
|
+
import { Stream as InnerStream, ReadAcceptEnum } from "./sdk/stream";
|
|
20
|
+
import { Basin as InnerBasin } from "./sdk/basin";
|
|
21
|
+
import { Account as InnerAccount } from "./sdk/account";
|
|
22
|
+
|
|
23
|
+
import { v4 } from 'uuid';
|
|
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";
|
|
38
|
+
|
|
39
|
+
export function genS2RequestToken(): string {
|
|
40
|
+
return v4().replace(/-/g, '');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export class S2Client {
|
|
44
|
+
private authToken: string;
|
|
45
|
+
private _account?: S2Account;
|
|
46
|
+
get account(): S2Account {
|
|
47
|
+
return (this._account ??= new S2Account(this.authToken));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private _basin?: S2Basin;
|
|
51
|
+
basin(basinName: string): S2Basin {
|
|
52
|
+
return (this._basin ??= new S2Basin(this.authToken, basinName));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
constructor(authToken: string) {
|
|
56
|
+
this.authToken = authToken;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
class S2Account {
|
|
61
|
+
private _account: InnerAccount;
|
|
62
|
+
private requestOptions: RequestOptions;
|
|
63
|
+
private authToken: string;
|
|
64
|
+
|
|
65
|
+
constructor(authToken: string) {
|
|
66
|
+
this._account = new InnerAccount({ bearerAuth: authToken });
|
|
67
|
+
this.authToken = authToken;
|
|
68
|
+
this.requestOptions = {
|
|
69
|
+
timeoutMs: 3000,
|
|
70
|
+
retries: {
|
|
71
|
+
strategy: 'backoff',
|
|
72
|
+
backoff: {
|
|
73
|
+
initialInterval: 100,
|
|
74
|
+
maxInterval: 3000,
|
|
75
|
+
exponent: 2,
|
|
76
|
+
maxElapsedTime: 6000,
|
|
77
|
+
},
|
|
78
|
+
retryConnectionErrors: true,
|
|
79
|
+
},
|
|
80
|
+
retryCodes: ['500', '503', '504'],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
basin(basinName: string): S2Basin {
|
|
85
|
+
return new S2Basin(this.authToken, basinName);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
async listBasins(
|
|
89
|
+
request?: ListBasinsRequest,
|
|
90
|
+
): Promise<PageIterator<ListBasinsResponse, { cursor: string }>> {
|
|
91
|
+
return this._account.listBasins(request ?? {}, this.requestOptions);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async getBasinConfig(basin: string): Promise<BasinConfig | undefined> {
|
|
95
|
+
const _request: GetBasinConfigRequest = {
|
|
96
|
+
basin,
|
|
97
|
+
};
|
|
98
|
+
return (await this._account.getBasinConfig(_request, this.requestOptions)).basinConfig;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async createBasin(basin: string, request?: CreateBasinRequest): Promise<BasinInfo | undefined> {
|
|
102
|
+
const _request: CreateBasinRequestInner = {
|
|
103
|
+
basin,
|
|
104
|
+
s2RequestToken: genS2RequestToken(),
|
|
105
|
+
createBasinRequest: request ?? {},
|
|
106
|
+
};
|
|
107
|
+
return (await this._account.createBasin(_request, this.requestOptions)).basinInfo;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
async deleteBasin(basin: string, if_exists?: boolean): Promise<void | undefined> {
|
|
111
|
+
const response = await accountDeleteBasin(this._account, { basin }, this.requestOptions);
|
|
112
|
+
if (if_exists && response.error instanceof NotFoundError) return;
|
|
113
|
+
if (response.error) throw new Error(response.error.message);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
async reconfigureBasin(basin: string, config: BasinConfig): Promise<BasinConfig | undefined> {
|
|
118
|
+
const _request: ReconfigureBasinRequest = {
|
|
119
|
+
basin,
|
|
120
|
+
basinConfig: config,
|
|
121
|
+
};
|
|
122
|
+
return (await this._account.reconfigureBasin(_request, this.requestOptions)).basinConfig;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
class S2Basin {
|
|
127
|
+
private _basin: InnerBasin;
|
|
128
|
+
private _stream!: Stream;
|
|
129
|
+
private readonly basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
130
|
+
private requestOptions: RequestOptions;
|
|
131
|
+
private basinName: string;
|
|
132
|
+
|
|
133
|
+
constructor(authToken: string, basinName: string) {
|
|
134
|
+
this._basin = new InnerBasin({ bearerAuth: authToken });
|
|
135
|
+
this.basinName = basinName;
|
|
136
|
+
this.requestOptions = {
|
|
137
|
+
timeoutMs: 3000,
|
|
138
|
+
retries: {
|
|
139
|
+
strategy: 'backoff',
|
|
140
|
+
backoff: {
|
|
141
|
+
initialInterval: 100,
|
|
142
|
+
maxInterval: 3000,
|
|
143
|
+
exponent: 2,
|
|
144
|
+
maxElapsedTime: 6000,
|
|
145
|
+
},
|
|
146
|
+
retryConnectionErrors: true,
|
|
147
|
+
},
|
|
148
|
+
retryCodes: ['500', '503', '504'],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
stream(streamName: string): Stream {
|
|
153
|
+
return (this._stream ??= new Stream(this.basinName, streamName));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
async listStreams(
|
|
157
|
+
request: ListStreamsRequest,
|
|
158
|
+
): Promise<PageIterator<ListStreamsResponse, { cursor: string }>> {
|
|
159
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
160
|
+
return this._basin.listStreams(request, { serverURL: basinURL, ...this.requestOptions });
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
async getStreamConfig(stream: string): Promise<StreamConfig | undefined> {
|
|
164
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
165
|
+
return (
|
|
166
|
+
await this._basin.getStreamConfig({ stream }, { serverURL: basinURL, ...this.requestOptions })
|
|
167
|
+
).streamConfig;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
async createStream(
|
|
171
|
+
stream: string,
|
|
172
|
+
request?: CreateStreamRequest,
|
|
173
|
+
): Promise<StreamInfo | undefined> {
|
|
174
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
175
|
+
const _request: CreateStreamRequestInner = {
|
|
176
|
+
stream,
|
|
177
|
+
s2RequestToken: genS2RequestToken(),
|
|
178
|
+
createStreamRequest: request ?? {},
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
return (
|
|
182
|
+
await this._basin.createStream(_request, { serverURL: basinURL, ...this.requestOptions })
|
|
183
|
+
).streamInfo;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
async deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined> {
|
|
187
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
188
|
+
const response = await basinDeleteStream(this._basin, { stream }, { serverURL: basinURL, ...this.requestOptions });
|
|
189
|
+
if (if_exists && response instanceof NotFoundError) return;
|
|
190
|
+
if (response.error) throw new Error(response.error.message);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
async reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined> {
|
|
195
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
196
|
+
return (
|
|
197
|
+
await this._basin.reconfigureStream(
|
|
198
|
+
{ stream, streamConfig: config },
|
|
199
|
+
{ serverURL: basinURL, ...this.requestOptions },
|
|
200
|
+
)
|
|
201
|
+
).streamConfig;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class Stream {
|
|
207
|
+
private _stream: InnerStream;
|
|
208
|
+
private basinName: string;
|
|
209
|
+
private streamName: string;
|
|
210
|
+
private readonly basinURLSuffx = 'b.aws.s2.dev/v1alpha';
|
|
211
|
+
|
|
212
|
+
constructor(basinName: string, streamName: string) {
|
|
213
|
+
this.basinName = basinName;
|
|
214
|
+
this.streamName = streamName;
|
|
215
|
+
this._stream = new InnerStream();
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
async checkTail(): Promise<CheckTailResponse | undefined> {
|
|
219
|
+
const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
|
|
220
|
+
return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
|
|
221
|
+
.checkTailResponse;
|
|
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
|
+
}
|
|
247
|
+
}
|
package/src/index.ts
CHANGED
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.11 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;
|