@s2-dev/streamstore 0.3.14 → 0.4.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 +115 -2
- package/bin/mcp-server.js +50283 -0
- package/bin/mcp-server.js.map +347 -0
- package/funcs/accountCreateBasin.d.ts +2 -1
- package/funcs/accountCreateBasin.d.ts.map +1 -1
- package/funcs/accountCreateBasin.js +11 -6
- package/funcs/accountCreateBasin.js.map +1 -1
- package/funcs/accountDeleteBasin.d.ts +2 -1
- package/funcs/accountDeleteBasin.d.ts.map +1 -1
- package/funcs/accountDeleteBasin.js +11 -6
- package/funcs/accountDeleteBasin.js.map +1 -1
- package/funcs/accountGetBasinConfig.d.ts +2 -1
- package/funcs/accountGetBasinConfig.d.ts.map +1 -1
- package/funcs/accountGetBasinConfig.js +11 -6
- package/funcs/accountGetBasinConfig.js.map +1 -1
- package/funcs/accountListBasins.d.ts +2 -1
- package/funcs/accountListBasins.d.ts.map +1 -1
- package/funcs/accountListBasins.js +19 -6
- package/funcs/accountListBasins.js.map +1 -1
- package/funcs/accountReconfigureBasin.d.ts +2 -1
- package/funcs/accountReconfigureBasin.d.ts.map +1 -1
- package/funcs/accountReconfigureBasin.js +11 -6
- package/funcs/accountReconfigureBasin.js.map +1 -1
- package/funcs/basinCreateStream.d.ts +2 -1
- package/funcs/basinCreateStream.d.ts.map +1 -1
- package/funcs/basinCreateStream.js +11 -6
- package/funcs/basinCreateStream.js.map +1 -1
- package/funcs/basinDeleteStream.d.ts +2 -1
- package/funcs/basinDeleteStream.d.ts.map +1 -1
- package/funcs/basinDeleteStream.js +11 -6
- package/funcs/basinDeleteStream.js.map +1 -1
- package/funcs/basinGetStreamConfig.d.ts +2 -1
- package/funcs/basinGetStreamConfig.d.ts.map +1 -1
- package/funcs/basinGetStreamConfig.js +11 -6
- package/funcs/basinGetStreamConfig.js.map +1 -1
- package/funcs/basinListStreams.d.ts +2 -1
- package/funcs/basinListStreams.d.ts.map +1 -1
- package/funcs/basinListStreams.js +19 -6
- package/funcs/basinListStreams.js.map +1 -1
- package/funcs/basinReconfigureStream.d.ts +2 -1
- package/funcs/basinReconfigureStream.d.ts.map +1 -1
- package/funcs/basinReconfigureStream.js +11 -6
- package/funcs/basinReconfigureStream.js.map +1 -1
- package/funcs/streamAppend.d.ts +2 -1
- package/funcs/streamAppend.d.ts.map +1 -1
- package/funcs/streamAppend.js +11 -6
- package/funcs/streamAppend.js.map +1 -1
- package/funcs/streamCheckTail.d.ts +2 -1
- package/funcs/streamCheckTail.d.ts.map +1 -1
- package/funcs/streamCheckTail.js +11 -6
- package/funcs/streamCheckTail.js.map +1 -1
- package/funcs/streamRead.d.ts +2 -1
- package/funcs/streamRead.d.ts.map +1 -1
- package/funcs/streamRead.js +11 -6
- package/funcs/streamRead.js.map +1 -1
- package/hooks/types.d.ts +1 -0
- package/hooks/types.d.ts.map +1 -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 +6 -6
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +3 -3
- package/lib/config.js.map +1 -1
- package/lib/files.js.map +1 -1
- package/lib/primitives.d.ts +3 -0
- package/lib/primitives.d.ts.map +1 -1
- package/lib/primitives.js +7 -0
- package/lib/primitives.js.map +1 -1
- package/lib/sdks.d.ts +1 -1
- package/lib/sdks.d.ts.map +1 -1
- package/lib/security.d.ts.map +1 -1
- package/lib/security.js.map +1 -1
- package/mcp-server/build.d.mts.map +1 -0
- package/mcp-server/build.mjs +14 -0
- package/mcp-server/build.mjs.map +1 -0
- package/mcp-server/cli/start/command.d.ts +2 -0
- package/mcp-server/cli/start/command.d.ts.map +1 -0
- package/mcp-server/cli/start/command.js +129 -0
- package/mcp-server/cli/start/command.js.map +1 -0
- package/mcp-server/cli/start/impl.d.ts +17 -0
- package/mcp-server/cli/start/impl.d.ts.map +1 -0
- package/mcp-server/cli/start/impl.js +102 -0
- package/mcp-server/cli/start/impl.js.map +1 -0
- package/mcp-server/cli.d.ts +6 -0
- package/mcp-server/cli.d.ts.map +1 -0
- package/mcp-server/cli.js +10 -0
- package/mcp-server/cli.js.map +1 -0
- package/mcp-server/console-logger.d.ts +7 -0
- package/mcp-server/console-logger.d.ts.map +1 -0
- package/mcp-server/console-logger.js +59 -0
- package/mcp-server/console-logger.js.map +1 -0
- package/mcp-server/mcp-server.d.ts +2 -0
- package/mcp-server/mcp-server.d.ts.map +1 -0
- package/mcp-server/mcp-server.js +29 -0
- package/mcp-server/mcp-server.js.map +1 -0
- package/mcp-server/resources.d.ts +27 -0
- package/mcp-server/resources.d.ts.map +1 -0
- package/mcp-server/resources.js +51 -0
- package/mcp-server/resources.js.map +1 -0
- package/mcp-server/scopes.d.ts +3 -0
- package/mcp-server/scopes.d.ts.map +1 -0
- package/mcp-server/scopes.js +11 -0
- package/mcp-server/scopes.js.map +1 -0
- package/mcp-server/server.d.ts +12 -0
- package/mcp-server/server.d.ts.map +1 -0
- package/mcp-server/server.js +51 -0
- package/mcp-server/server.js.map +1 -0
- package/mcp-server/shared.d.ts +7 -0
- package/mcp-server/shared.d.ts.map +1 -0
- package/mcp-server/shared.js +98 -0
- package/mcp-server/shared.js.map +1 -0
- package/mcp-server/tools/accountCreateBasin.d.ts +8 -0
- package/mcp-server/tools/accountCreateBasin.d.ts.map +1 -0
- package/mcp-server/tools/accountCreateBasin.js +63 -0
- package/mcp-server/tools/accountCreateBasin.js.map +1 -0
- package/mcp-server/tools/accountDeleteBasin.d.ts +8 -0
- package/mcp-server/tools/accountDeleteBasin.d.ts.map +1 -0
- package/mcp-server/tools/accountDeleteBasin.js +62 -0
- package/mcp-server/tools/accountDeleteBasin.js.map +1 -0
- package/mcp-server/tools/accountGetBasinConfig.d.ts +8 -0
- package/mcp-server/tools/accountGetBasinConfig.d.ts.map +1 -0
- package/mcp-server/tools/accountGetBasinConfig.js +63 -0
- package/mcp-server/tools/accountGetBasinConfig.js.map +1 -0
- package/mcp-server/tools/accountListBasins.d.ts +8 -0
- package/mcp-server/tools/accountListBasins.d.ts.map +1 -0
- package/mcp-server/tools/accountListBasins.js +63 -0
- package/mcp-server/tools/accountListBasins.js.map +1 -0
- package/mcp-server/tools/accountReconfigureBasin.d.ts +8 -0
- package/mcp-server/tools/accountReconfigureBasin.d.ts.map +1 -0
- package/mcp-server/tools/accountReconfigureBasin.js +63 -0
- package/mcp-server/tools/accountReconfigureBasin.js.map +1 -0
- package/mcp-server/tools/basinCreateStream.d.ts +8 -0
- package/mcp-server/tools/basinCreateStream.d.ts.map +1 -0
- package/mcp-server/tools/basinCreateStream.js +63 -0
- package/mcp-server/tools/basinCreateStream.js.map +1 -0
- package/mcp-server/tools/basinDeleteStream.d.ts +8 -0
- package/mcp-server/tools/basinDeleteStream.d.ts.map +1 -0
- package/mcp-server/tools/basinDeleteStream.js +62 -0
- package/mcp-server/tools/basinDeleteStream.js.map +1 -0
- package/mcp-server/tools/basinGetStreamConfig.d.ts +8 -0
- package/mcp-server/tools/basinGetStreamConfig.d.ts.map +1 -0
- package/mcp-server/tools/basinGetStreamConfig.js +63 -0
- package/mcp-server/tools/basinGetStreamConfig.js.map +1 -0
- package/mcp-server/tools/basinListStreams.d.ts +8 -0
- package/mcp-server/tools/basinListStreams.d.ts.map +1 -0
- package/mcp-server/tools/basinListStreams.js +63 -0
- package/mcp-server/tools/basinListStreams.js.map +1 -0
- package/mcp-server/tools/basinReconfigureStream.d.ts +8 -0
- package/mcp-server/tools/basinReconfigureStream.d.ts.map +1 -0
- package/mcp-server/tools/basinReconfigureStream.js +63 -0
- package/mcp-server/tools/basinReconfigureStream.js.map +1 -0
- package/mcp-server/tools/streamAppend.d.ts +8 -0
- package/mcp-server/tools/streamAppend.d.ts.map +1 -0
- package/mcp-server/tools/streamAppend.js +65 -0
- package/mcp-server/tools/streamAppend.js.map +1 -0
- package/mcp-server/tools/streamCheckTail.d.ts +8 -0
- package/mcp-server/tools/streamCheckTail.d.ts.map +1 -0
- package/mcp-server/tools/streamCheckTail.js +65 -0
- package/mcp-server/tools/streamCheckTail.js.map +1 -0
- package/mcp-server/tools/streamRead.d.ts +8 -0
- package/mcp-server/tools/streamRead.d.ts.map +1 -0
- package/mcp-server/tools/streamRead.js +65 -0
- package/mcp-server/tools/streamRead.js.map +1 -0
- package/mcp-server/tools.d.ts +25 -0
- package/mcp-server/tools.d.ts.map +1 -0
- package/mcp-server/tools.js +74 -0
- package/mcp-server/tools.js.map +1 -0
- package/models/components/endpoints.d.ts +67 -0
- package/models/components/endpoints.d.ts.map +1 -0
- package/models/components/endpoints.js +126 -0
- package/models/components/endpoints.js.map +1 -0
- package/package.json +16 -2
- package/src/funcs/accountCreateBasin.ts +38 -7
- package/src/funcs/accountDeleteBasin.ts +39 -7
- package/src/funcs/accountGetBasinConfig.ts +38 -7
- package/src/funcs/accountListBasins.ts +49 -7
- package/src/funcs/accountReconfigureBasin.ts +38 -7
- package/src/funcs/basinCreateStream.ts +38 -7
- package/src/funcs/basinDeleteStream.ts +39 -7
- package/src/funcs/basinGetStreamConfig.ts +38 -7
- package/src/funcs/basinListStreams.ts +49 -7
- package/src/funcs/basinReconfigureStream.ts +38 -7
- package/src/funcs/streamAppend.ts +38 -7
- package/src/funcs/streamCheckTail.ts +38 -7
- package/src/funcs/streamRead.ts +38 -7
- package/src/hooks/types.ts +1 -0
- package/src/index.extras.ts +113 -49
- package/src/lib/config.ts +6 -7
- package/src/lib/files.ts +1 -1
- package/src/lib/primitives.ts +14 -0
- package/src/lib/sdks.ts +1 -1
- package/src/lib/security.ts +0 -1
- package/src/mcp-server/cli/start/command.ts +98 -0
- package/src/mcp-server/cli/start/impl.ts +131 -0
- package/src/mcp-server/cli.ts +13 -0
- package/src/mcp-server/console-logger.ts +71 -0
- package/src/mcp-server/mcp-server.ts +26 -0
- package/src/mcp-server/resources.ts +96 -0
- package/src/mcp-server/scopes.ts +10 -0
- package/src/mcp-server/server.ts +60 -0
- package/src/mcp-server/shared.ts +75 -0
- package/src/mcp-server/tools/accountCreateBasin.ts +36 -0
- package/src/mcp-server/tools/accountDeleteBasin.ts +34 -0
- package/src/mcp-server/tools/accountGetBasinConfig.ts +36 -0
- package/src/mcp-server/tools/accountListBasins.ts +36 -0
- package/src/mcp-server/tools/accountReconfigureBasin.ts +36 -0
- package/src/mcp-server/tools/basinCreateStream.ts +36 -0
- package/src/mcp-server/tools/basinDeleteStream.ts +34 -0
- package/src/mcp-server/tools/basinGetStreamConfig.ts +36 -0
- package/src/mcp-server/tools/basinListStreams.ts +36 -0
- package/src/mcp-server/tools/basinReconfigureStream.ts +36 -0
- package/src/mcp-server/tools/streamAppend.ts +38 -0
- package/src/mcp-server/tools/streamCheckTail.ts +38 -0
- package/src/mcp-server/tools/streamRead.ts +38 -0
- package/src/mcp-server/tools.ts +116 -0
- package/src/models/components/endpoints.ts +159 -0
- package/src/types/async.ts +68 -0
- package/types/async.d.ts +23 -0
- package/types/async.d.ts.map +1 -0
- package/types/async.js +44 -0
- package/types/async.js.map +1 -0
package/README.md
CHANGED
|
@@ -72,6 +72,58 @@ yarn add @s2-dev/streamstore zod
|
|
|
72
72
|
# Note that Yarn does not install peer dependencies automatically. You will need
|
|
73
73
|
# to install zod as shown above.
|
|
74
74
|
```
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Model Context Protocol (MCP) Server
|
|
79
|
+
|
|
80
|
+
This SDK is also an installable MCP server where the various SDK methods are
|
|
81
|
+
exposed as tools that can be invoked by AI applications.
|
|
82
|
+
|
|
83
|
+
> Node.js v20 or greater is required to run the MCP server.
|
|
84
|
+
|
|
85
|
+
<details>
|
|
86
|
+
<summary>Claude installation steps</summary>
|
|
87
|
+
|
|
88
|
+
Add the following server definition to your `claude_desktop_config.json` file:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"mcpServers": {
|
|
93
|
+
"S2": {
|
|
94
|
+
"command": "npx",
|
|
95
|
+
"args": [
|
|
96
|
+
"-y", "--package", "@s2-dev/streamstore",
|
|
97
|
+
"--",
|
|
98
|
+
"mcp", "start",
|
|
99
|
+
"--bearer-auth", "..."
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
</details>
|
|
107
|
+
|
|
108
|
+
<details>
|
|
109
|
+
<summary>Cursor installation steps</summary>
|
|
110
|
+
|
|
111
|
+
Go to `Cursor Settings > Features > MCP Servers > Add new MCP server` and use the following settings:
|
|
112
|
+
|
|
113
|
+
- Name: S2
|
|
114
|
+
- Type: `command`
|
|
115
|
+
- Command:
|
|
116
|
+
```sh
|
|
117
|
+
npx -y --package @s2-dev/streamstore -- mcp start --bearer-auth ...
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
</details>
|
|
121
|
+
|
|
122
|
+
For a full list of server arguments, run:
|
|
123
|
+
|
|
124
|
+
```sh
|
|
125
|
+
npx -y --package @s2-dev/streamstore -- mcp start --help
|
|
126
|
+
```
|
|
75
127
|
<!-- End SDK Installation [installation] -->
|
|
76
128
|
|
|
77
129
|
<!-- Start Requirements [requirements] -->
|
|
@@ -88,7 +140,7 @@ The `S2Client` class provides a lot of convenience over the generated methods an
|
|
|
88
140
|
```typescript
|
|
89
141
|
import { ReadRequest, S2Client } from "@s2-dev/streamstore";
|
|
90
142
|
|
|
91
|
-
const s2 = new S2Client("<AUTH_TOKEN>");
|
|
143
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>" });
|
|
92
144
|
|
|
93
145
|
async function run() {
|
|
94
146
|
await s2.account.createBasin("my-favorite-basin");
|
|
@@ -97,6 +149,67 @@ async function run() {
|
|
|
97
149
|
|
|
98
150
|
run();
|
|
99
151
|
```
|
|
152
|
+
### Examples
|
|
153
|
+
|
|
154
|
+
- Using `S2Endpoints`
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
const endpoints = new S2Endpoints(
|
|
158
|
+
"aws.s2.dev",
|
|
159
|
+
{
|
|
160
|
+
kind: BasinEndpointKind.Direct,
|
|
161
|
+
authority: "aws.s2.dev"
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>", endpoints });
|
|
166
|
+
async function run() {
|
|
167
|
+
const allStreams = await s2.account.basin("my-favorite-basin").listStreams();
|
|
168
|
+
for await (const stream of allStreams) {
|
|
169
|
+
console.log(basin);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
run();
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
- Override Client level Auth token
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>"});
|
|
180
|
+
async function run() {
|
|
181
|
+
const refreshedToken = await fetchToken();
|
|
182
|
+
await s2.account.deleteBasin("my-favorite-basin", { authToken: refreshedToken });
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
run();
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
- Set custom user-agent
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>", userAgent: "say-cheese" });
|
|
192
|
+
async function run() {
|
|
193
|
+
const config = await s2.account.getBasinConfig("mehul-test");
|
|
194
|
+
console.log(config);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
run();
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
- List Basins
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
const s2 = new S2Client({ authToken: "<AUTH_TOKEN>" });
|
|
204
|
+
async function run() {
|
|
205
|
+
const allBasins = await s2.account.listBasins();
|
|
206
|
+
for await (const basin of allBasins) {
|
|
207
|
+
console.log(basin);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
run();
|
|
212
|
+
```
|
|
100
213
|
|
|
101
214
|
<!-- Start SDK Example Usage [usage] -->
|
|
102
215
|
## SDK Example Usage
|
|
@@ -448,7 +561,7 @@ In some rare cases, the SDK can fail to get a response from the server or even m
|
|
|
448
561
|
|
|
449
562
|
### Override Server URL Per-Client
|
|
450
563
|
|
|
451
|
-
The default server can
|
|
564
|
+
The default server can be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
|
|
452
565
|
```typescript
|
|
453
566
|
import { S2 } from "@s2-dev/streamstore";
|
|
454
567
|
|