@s2-dev/streamstore 0.2.17 → 0.3.2

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 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
  }>>;
@@ -28,26 +32,31 @@ declare class S2Account {
28
32
  declare class S2Basin {
29
33
  private _basin;
30
34
  private _stream;
31
- private readonly basinURLSuffx;
32
35
  private requestOptions;
33
36
  private basinName;
37
+ private authToken;
38
+ private readonly basinURLSuffx;
39
+ private get basinURL();
34
40
  constructor(authToken: string, basinName: string);
35
41
  stream(streamName: string): Stream;
36
42
  listStreams(request: ListStreamsRequest): Promise<PageIterator<ListStreamsResponse, {
37
43
  cursor: string;
38
44
  }>>;
39
45
  getStreamConfig(stream: string): Promise<StreamConfig | undefined>;
40
- createStream(stream: string, request: CreateStreamRequest): Promise<StreamInfo | undefined>;
46
+ createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined>;
41
47
  deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined>;
42
48
  reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined>;
43
49
  }
44
50
  declare class Stream {
45
51
  private _stream;
46
- private streamName;
47
52
  private basinName;
53
+ private streamName;
48
54
  private readonly basinURLSuffx;
49
- constructor(streamName: string, basinName: string);
55
+ private get basinURL();
56
+ constructor(basinName: string, streamName: string, authToken: string);
50
57
  checkTail(): Promise<CheckTailResponse | undefined>;
58
+ readStream(request: ReadRequest): Promise<EventStream<ReadResponse> | undefined>;
59
+ read(request: ReadRequest): Promise<Output | undefined>;
60
+ append(request: AppendRequest): Promise<AppendOutput | undefined>;
51
61
  }
52
- export {};
53
62
  //# sourceMappingURL=index.extras.d.ts.map
@@ -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;AAEnJ,OAAO,EAEH,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EAItB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AASvC,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,qBAAa,QAAQ;IACjB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,IAAI,OAAO,IAAI,SAAS,CAEvB;IAED,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;gBAIrB,SAAS,EAAE,MAAM;CAGhC;AAED,cAAM,SAAS;IACX,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,cAAc,CAAiB;gBAE3B,SAAS,EAAE,MAAM;IAkB7B;;MAEE;IACI,UAAU,CACZ,OAAO,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI1D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAO/D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IASxF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAO1E,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAO/F;AAED,cAAM,OAAO;IACT,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAmBhD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI5B,WAAW,CACb,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK3D,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAOlE,YAAY,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAa5B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAQ5E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CASnG;AAED,cAAM,MAAM;IACR,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;gBAE5C,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,SAAS,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAK5D"}
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
@@ -10,7 +10,7 @@ const account_1 = require("./sdk/account");
10
10
  const uuid_1 = require("uuid");
11
11
  const basinDeleteStream_1 = require("./funcs/basinDeleteStream");
12
12
  function genS2RequestToken() {
13
- return (0, uuid_1.v4)().replace(/-/g, '');
13
+ return (0, uuid_1.v4)().replace(/-/g, "");
14
14
  }
15
15
  class S2Client {
16
16
  get account() {
@@ -27,10 +27,11 @@ 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: {
33
- strategy: 'backoff',
34
+ strategy: "backoff",
34
35
  backoff: {
35
36
  initialInterval: 100,
36
37
  maxInterval: 3000,
@@ -39,19 +40,17 @@ class S2Account {
39
40
  },
40
41
  retryConnectionErrors: true,
41
42
  },
42
- retryCodes: ['500', '503', '504'],
43
+ retryCodes: ["500", "503", "504"],
43
44
  };
44
45
  }
45
- /**
46
- * List basins.
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
  }
51
52
  async getBasinConfig(basin) {
52
- const _request = {
53
- basin,
54
- };
53
+ const _request = { basin };
55
54
  return (await this._account.getBasinConfig(_request, this.requestOptions)).basinConfig;
56
55
  }
57
56
  async createBasin(basin, request) {
@@ -71,22 +70,23 @@ class S2Account {
71
70
  return;
72
71
  }
73
72
  async reconfigureBasin(basin, config) {
74
- const _request = {
75
- basin,
76
- basinConfig: config,
77
- };
73
+ const _request = { basin, basinConfig: config };
78
74
  return (await this._account.reconfigureBasin(_request, this.requestOptions)).basinConfig;
79
75
  }
80
76
  }
81
77
  class S2Basin {
78
+ get basinURL() {
79
+ return `https://${this.basinName}.${this.basinURLSuffx}`;
80
+ }
82
81
  constructor(authToken, basinName) {
83
- this.basinURLSuffx = 'b.aws.s2.dev/v1alpha';
82
+ this.basinURLSuffx = "b.aws.s2.dev/v1alpha";
84
83
  this._basin = new basin_1.Basin({ bearerAuth: authToken });
84
+ this.authToken = authToken;
85
85
  this.basinName = basinName;
86
86
  this.requestOptions = {
87
87
  timeoutMs: 3000,
88
88
  retries: {
89
- strategy: 'backoff',
89
+ strategy: "backoff",
90
90
  backoff: {
91
91
  initialInterval: 100,
92
92
  maxInterval: 3000,
@@ -95,32 +95,31 @@ class S2Basin {
95
95
  },
96
96
  retryConnectionErrors: true,
97
97
  },
98
- retryCodes: ['500', '503', '504'],
98
+ retryCodes: ["500", "503", "504"],
99
99
  };
100
100
  }
101
101
  stream(streamName) {
102
- return (this._stream ?? (this._stream = new Stream(streamName, this.basinName)));
102
+ return (this._stream ?? (this._stream = new Stream(this.basinName, streamName, this.authToken)));
103
103
  }
104
104
  async listStreams(request) {
105
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
106
- return this._basin.listStreams(request, { serverURL: basinURL, ...this.requestOptions });
105
+ return this._basin.listStreams(request, { serverURL: this.basinURL, ...this.requestOptions });
107
106
  }
108
107
  async getStreamConfig(stream) {
109
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
110
- return (await this._basin.getStreamConfig({ stream }, { serverURL: basinURL, ...this.requestOptions })).streamConfig;
108
+ return (await this._basin.getStreamConfig({ stream }, { serverURL: this.basinURL, ...this.requestOptions })).streamConfig;
111
109
  }
112
110
  async createStream(stream, request) {
113
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
114
111
  const _request = {
115
112
  stream,
116
113
  s2RequestToken: genS2RequestToken(),
117
- createStreamRequest: request,
114
+ createStreamRequest: request ?? {},
118
115
  };
119
- return (await this._basin.createStream(_request, { serverURL: basinURL, ...this.requestOptions })).streamInfo;
116
+ return (await this._basin.createStream(_request, { serverURL: this.basinURL, ...this.requestOptions })).streamInfo;
120
117
  }
121
118
  async deleteStream(stream, if_exists) {
122
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
123
- const response = await (0, basinDeleteStream_1.basinDeleteStream)(this._basin, { stream }, { serverURL: basinURL, ...this.requestOptions });
119
+ const response = await (0, basinDeleteStream_1.basinDeleteStream)(this._basin, { stream }, {
120
+ serverURL: this.basinURL,
121
+ ...this.requestOptions,
122
+ });
124
123
  if (if_exists && response instanceof errors_1.NotFoundError)
125
124
  return;
126
125
  if (response.error)
@@ -128,21 +127,30 @@ class S2Basin {
128
127
  return;
129
128
  }
130
129
  async reconfigureStream(stream, config) {
131
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
132
- return (await this._basin.reconfigureStream({ stream, streamConfig: config }, { serverURL: basinURL, ...this.requestOptions })).streamConfig;
130
+ return (await this._basin.reconfigureStream({ stream, streamConfig: config }, { serverURL: this.basinURL, ...this.requestOptions })).streamConfig;
133
131
  }
134
132
  }
135
133
  class Stream {
136
- constructor(streamName, basinName) {
137
- this.basinURLSuffx = 'b.aws.s2.dev/v1alpha';
138
- this.streamName = streamName;
134
+ get basinURL() {
135
+ return `https://${this.basinName}.${this.basinURLSuffx}`;
136
+ }
137
+ constructor(basinName, streamName, authToken) {
138
+ this.basinURLSuffx = "b.aws.s2.dev/v1alpha";
139
139
  this.basinName = basinName;
140
- this._stream = new stream_1.Stream();
140
+ this.streamName = streamName;
141
+ this._stream = new stream_1.Stream({ bearerAuth: authToken });
141
142
  }
142
143
  async checkTail() {
143
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
144
- return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
145
- .checkTailResponse;
144
+ return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: this.basinURL })).checkTailResponse;
145
+ }
146
+ async readStream(request) {
147
+ return (await this._stream.read({ ...request, stream: this.streamName }, { serverURL: this.basinURL, acceptHeaderOverride: stream_1.ReadAcceptEnum.textEventStream })).readResponse;
148
+ }
149
+ async read(request) {
150
+ return (await this._stream.read({ ...request, stream: this.streamName }, { serverURL: this.basinURL })).output;
151
+ }
152
+ async append(request) {
153
+ return (await this._stream.append({ ...request, stream: this.streamName }, { serverURL: this.basinURL })).appendOutput;
146
154
  }
147
155
  }
148
156
  //# sourceMappingURL=index.extras.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.extras.js","sourceRoot":"","sources":["src/index.extras.ts"],"names":[],"mappings":"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"}
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@s2-dev/streamstore",
5
- "version": "0.2.17",
5
+ "version": "0.3.2",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
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.2.17";
31
- readonly genVersion: "2.503.2";
32
- readonly userAgent: "speakeasy-sdk/typescript 0.2.17 2.503.2 1.0.0 @s2-dev/streamstore";
30
+ readonly sdkVersion: "0.3.2";
31
+ readonly genVersion: "2.505.0";
32
+ readonly userAgent: "speakeasy-sdk/typescript 0.3.2 2.505.0 1.0.0 @s2-dev/streamstore";
33
33
  };
34
34
  //# sourceMappingURL=config.d.ts.map
@@ -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;;;;;;CAOf,CAAC"}
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.2.17",
32
- genVersion: "2.503.2",
33
- userAgent: "speakeasy-sdk/typescript 0.2.17 2.503.2 1.0.0 @s2-dev/streamstore",
31
+ sdkVersion: "0.3.2",
32
+ genVersion: "2.505.0",
33
+ userAgent: "speakeasy-sdk/typescript 0.3.2 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,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,SAAS,EACP,mEAAmE;CAC7D,CAAC"}
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.2.17",
3
+ "version": "0.3.2",
4
4
  "author": "Speakeasy",
5
5
  "main": "./index.js",
6
6
  "sideEffects": false,
@@ -1,8 +1,19 @@
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 {
4
+ AppendOutput,
5
+ BasinConfig,
6
+ BasinInfo,
7
+ CheckTailResponse,
8
+ CreateBasinRequest,
9
+ CreateStreamRequest,
10
+ Output,
11
+ ReadResponse,
12
+ StreamConfig,
13
+ StreamInfo,
14
+ } from "./models/components";
4
15
  import { NotFoundError } from "./models/errors";
5
- import {
16
+ import {
6
17
  GetBasinConfigRequest,
7
18
  ListBasinsRequest,
8
19
  ListBasinsResponse,
@@ -10,19 +21,44 @@ import {
10
21
  ListStreamsResponse,
11
22
  ReconfigureBasinRequest,
12
23
  CreateBasinRequest as CreateBasinRequestInner,
13
- CreateStreamRequest as CreateStreamRequestInner
24
+ CreateStreamRequest as CreateStreamRequestInner,
25
+ ReadRequest as ReadRequestInner,
26
+ AppendRequest as AppendRequestInner,
14
27
  } from "./models/operations";
15
28
  import { PageIterator } from "./types";
16
29
 
17
- import { Stream as InnerStream } from "./sdk/stream";
30
+ import { Stream as InnerStream, ReadAcceptEnum } from "./sdk/stream";
18
31
  import { Basin as InnerBasin } from "./sdk/basin";
19
32
  import { Account as InnerAccount } from "./sdk/account";
20
33
 
21
- import { v4 } from 'uuid';
34
+ import { v4 } from "uuid";
22
35
  import { basinDeleteStream } from "./funcs/basinDeleteStream";
36
+ import { EventStream } from "./lib/event-streams";
37
+
38
+ export type ReadRequest = Omit<ReadRequestInner, "stream">;
39
+ export type AppendRequest = Omit<AppendRequestInner, "stream">;
40
+ export type {
41
+ GetBasinConfigRequest,
42
+ ListBasinsRequest,
43
+ ListBasinsResponse,
44
+ ListStreamsRequest,
45
+ ListStreamsResponse,
46
+ ReconfigureBasinRequest,
47
+ } from "./models/operations";
48
+ export type {
49
+ BasinConfig,
50
+ BasinInfo,
51
+ CheckTailResponse,
52
+ CreateBasinRequest,
53
+ CreateStreamRequest,
54
+ Output,
55
+ ReadResponse,
56
+ StreamConfig,
57
+ StreamInfo,
58
+ } from "./models/components";
23
59
 
24
60
  export function genS2RequestToken(): string {
25
- return v4().replace(/-/g, '');
61
+ return v4().replace(/-/g, "");
26
62
  }
27
63
 
28
64
  export class S2Client {
@@ -45,13 +81,15 @@ export class S2Client {
45
81
  class S2Account {
46
82
  private _account: InnerAccount;
47
83
  private requestOptions: RequestOptions;
84
+ private authToken: string;
48
85
 
49
86
  constructor(authToken: string) {
50
87
  this._account = new InnerAccount({ bearerAuth: authToken });
88
+ this.authToken = authToken;
51
89
  this.requestOptions = {
52
90
  timeoutMs: 3000,
53
91
  retries: {
54
- strategy: 'backoff',
92
+ strategy: "backoff",
55
93
  backoff: {
56
94
  initialInterval: 100,
57
95
  maxInterval: 3000,
@@ -60,23 +98,22 @@ class S2Account {
60
98
  },
61
99
  retryConnectionErrors: true,
62
100
  },
63
- retryCodes: ['500', '503', '504'],
101
+ retryCodes: ["500", "503", "504"],
64
102
  };
65
103
  }
66
104
 
67
- /**
68
- * List basins.
69
- */
105
+ basin(basinName: string): S2Basin {
106
+ return new S2Basin(this.authToken, basinName);
107
+ }
108
+
70
109
  async listBasins(
71
- request?: ListBasinsRequest,
110
+ request?: ListBasinsRequest
72
111
  ): Promise<PageIterator<ListBasinsResponse, { cursor: string }>> {
73
112
  return this._account.listBasins(request ?? {}, this.requestOptions);
74
113
  }
75
114
 
76
115
  async getBasinConfig(basin: string): Promise<BasinConfig | undefined> {
77
- const _request: GetBasinConfigRequest = {
78
- basin,
79
- };
116
+ const _request: GetBasinConfigRequest = { basin };
80
117
  return (await this._account.getBasinConfig(_request, this.requestOptions)).basinConfig;
81
118
  }
82
119
 
@@ -97,10 +134,7 @@ class S2Account {
97
134
  }
98
135
 
99
136
  async reconfigureBasin(basin: string, config: BasinConfig): Promise<BasinConfig | undefined> {
100
- const _request: ReconfigureBasinRequest = {
101
- basin,
102
- basinConfig: config,
103
- };
137
+ const _request: ReconfigureBasinRequest = { basin, basinConfig: config };
104
138
  return (await this._account.reconfigureBasin(_request, this.requestOptions)).basinConfig;
105
139
  }
106
140
  }
@@ -108,17 +142,23 @@ class S2Account {
108
142
  class S2Basin {
109
143
  private _basin: InnerBasin;
110
144
  private _stream!: Stream;
111
- private readonly basinURLSuffx = 'b.aws.s2.dev/v1alpha';
112
145
  private requestOptions: RequestOptions;
113
146
  private basinName: string;
147
+ private authToken: string;
148
+ private readonly basinURLSuffx = "b.aws.s2.dev/v1alpha";
149
+
150
+ private get basinURL(): string {
151
+ return `https://${this.basinName}.${this.basinURLSuffx}`;
152
+ }
114
153
 
115
154
  constructor(authToken: string, basinName: string) {
116
155
  this._basin = new InnerBasin({ bearerAuth: authToken });
156
+ this.authToken = authToken;
117
157
  this.basinName = basinName;
118
158
  this.requestOptions = {
119
159
  timeoutMs: 3000,
120
160
  retries: {
121
- strategy: 'backoff',
161
+ strategy: "backoff",
122
162
  backoff: {
123
163
  initialInterval: 100,
124
164
  maxInterval: 3000,
@@ -127,58 +167,52 @@ class S2Basin {
127
167
  },
128
168
  retryConnectionErrors: true,
129
169
  },
130
- retryCodes: ['500', '503', '504'],
170
+ retryCodes: ["500", "503", "504"],
131
171
  };
132
172
  }
133
173
 
134
174
  stream(streamName: string): Stream {
135
- return (this._stream ??= new Stream(streamName, this.basinName));
175
+ return (this._stream ??= new Stream(this.basinName, streamName, this.authToken));
136
176
  }
137
177
 
138
178
  async listStreams(
139
- request: ListStreamsRequest,
179
+ request: ListStreamsRequest
140
180
  ): Promise<PageIterator<ListStreamsResponse, { cursor: string }>> {
141
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
142
- return this._basin.listStreams(request, { serverURL: basinURL, ...this.requestOptions });
181
+ return this._basin.listStreams(request, { serverURL: this.basinURL, ...this.requestOptions });
143
182
  }
144
183
 
145
184
  async getStreamConfig(stream: string): Promise<StreamConfig | undefined> {
146
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
147
185
  return (
148
- await this._basin.getStreamConfig({ stream }, { serverURL: basinURL, ...this.requestOptions })
186
+ await this._basin.getStreamConfig({ stream }, { serverURL: this.basinURL, ...this.requestOptions })
149
187
  ).streamConfig;
150
188
  }
151
189
 
152
- async createStream(
153
- stream: string,
154
- request: CreateStreamRequest,
155
- ): Promise<StreamInfo | undefined> {
156
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
190
+ async createStream(stream: string, request?: CreateStreamRequest): Promise<StreamInfo | undefined> {
157
191
  const _request: CreateStreamRequestInner = {
158
192
  stream,
159
193
  s2RequestToken: genS2RequestToken(),
160
- createStreamRequest: request,
194
+ createStreamRequest: request ?? {},
161
195
  };
162
-
163
196
  return (
164
- await this._basin.createStream(_request, { serverURL: basinURL, ...this.requestOptions })
197
+ await this._basin.createStream(_request, { serverURL: this.basinURL, ...this.requestOptions })
165
198
  ).streamInfo;
166
199
  }
167
200
 
168
201
  async deleteStream(stream: string, if_exists?: boolean): Promise<void | undefined> {
169
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
170
- const response = await basinDeleteStream(this._basin, { stream }, { serverURL: basinURL, ...this.requestOptions });
202
+ const response = await basinDeleteStream(this._basin, { stream }, {
203
+ serverURL: this.basinURL,
204
+ ...this.requestOptions,
205
+ });
171
206
  if (if_exists && response instanceof NotFoundError) return;
172
207
  if (response.error) throw new Error(response.error.message);
173
- return;
208
+ return;
174
209
  }
175
210
 
176
211
  async reconfigureStream(stream: string, config: StreamConfig): Promise<StreamConfig | undefined> {
177
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
178
212
  return (
179
213
  await this._basin.reconfigureStream(
180
214
  { stream, streamConfig: config },
181
- { serverURL: basinURL, ...this.requestOptions },
215
+ { serverURL: this.basinURL, ...this.requestOptions }
182
216
  )
183
217
  ).streamConfig;
184
218
  }
@@ -186,19 +220,44 @@ class S2Basin {
186
220
 
187
221
  class Stream {
188
222
  private _stream: InnerStream;
189
- private streamName: string;
190
223
  private basinName: string;
191
- private readonly basinURLSuffx = 'b.aws.s2.dev/v1alpha';
224
+ private streamName: string;
225
+ private readonly basinURLSuffx = "b.aws.s2.dev/v1alpha";
192
226
 
193
- constructor(streamName: string, basinName: string) {
194
- this.streamName = streamName;
227
+ private get basinURL(): string {
228
+ return `https://${this.basinName}.${this.basinURLSuffx}`;
229
+ }
230
+
231
+ constructor(basinName: string, streamName: string, authToken: string) {
195
232
  this.basinName = basinName;
196
- this._stream = new InnerStream();
233
+ this.streamName = streamName;
234
+ this._stream = new InnerStream({ bearerAuth: authToken });
197
235
  }
198
236
 
199
237
  async checkTail(): Promise<CheckTailResponse | undefined> {
200
- const basinURL = `${this.basinName}.${this.basinURLSuffx}`;
201
- return (await this._stream.checkTail({ stream: this.streamName }, { serverURL: basinURL }))
202
- .checkTailResponse;
238
+ return (
239
+ await this._stream.checkTail({ stream: this.streamName }, { serverURL: this.basinURL })
240
+ ).checkTailResponse;
241
+ }
242
+
243
+ async readStream(request: ReadRequest): Promise<EventStream<ReadResponse> | undefined> {
244
+ return (
245
+ await this._stream.read(
246
+ { ...request, stream: this.streamName },
247
+ { serverURL: this.basinURL, acceptHeaderOverride: ReadAcceptEnum.textEventStream }
248
+ )
249
+ ).readResponse;
250
+ }
251
+
252
+ async read(request: ReadRequest): Promise<Output | undefined> {
253
+ return (
254
+ await this._stream.read({ ...request, stream: this.streamName }, { serverURL: this.basinURL })
255
+ ).output;
256
+ }
257
+
258
+ async append(request: AppendRequest): Promise<AppendOutput | undefined> {
259
+ return (
260
+ await this._stream.append({ ...request, stream: this.streamName }, { serverURL: this.basinURL })
261
+ ).appendOutput;
203
262
  }
204
263
  }
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.2.17",
58
- genVersion: "2.503.2",
59
- userAgent:
60
- "speakeasy-sdk/typescript 0.2.17 2.503.2 1.0.0 @s2-dev/streamstore",
57
+ sdkVersion: "0.3.2",
58
+ genVersion: "2.505.0",
59
+ userAgent: "speakeasy-sdk/typescript 0.3.2 2.505.0 1.0.0 @s2-dev/streamstore",
61
60
  } as const;