@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.
Files changed (224) hide show
  1. package/README.md +115 -2
  2. package/bin/mcp-server.js +50283 -0
  3. package/bin/mcp-server.js.map +347 -0
  4. package/funcs/accountCreateBasin.d.ts +2 -1
  5. package/funcs/accountCreateBasin.d.ts.map +1 -1
  6. package/funcs/accountCreateBasin.js +11 -6
  7. package/funcs/accountCreateBasin.js.map +1 -1
  8. package/funcs/accountDeleteBasin.d.ts +2 -1
  9. package/funcs/accountDeleteBasin.d.ts.map +1 -1
  10. package/funcs/accountDeleteBasin.js +11 -6
  11. package/funcs/accountDeleteBasin.js.map +1 -1
  12. package/funcs/accountGetBasinConfig.d.ts +2 -1
  13. package/funcs/accountGetBasinConfig.d.ts.map +1 -1
  14. package/funcs/accountGetBasinConfig.js +11 -6
  15. package/funcs/accountGetBasinConfig.js.map +1 -1
  16. package/funcs/accountListBasins.d.ts +2 -1
  17. package/funcs/accountListBasins.d.ts.map +1 -1
  18. package/funcs/accountListBasins.js +19 -6
  19. package/funcs/accountListBasins.js.map +1 -1
  20. package/funcs/accountReconfigureBasin.d.ts +2 -1
  21. package/funcs/accountReconfigureBasin.d.ts.map +1 -1
  22. package/funcs/accountReconfigureBasin.js +11 -6
  23. package/funcs/accountReconfigureBasin.js.map +1 -1
  24. package/funcs/basinCreateStream.d.ts +2 -1
  25. package/funcs/basinCreateStream.d.ts.map +1 -1
  26. package/funcs/basinCreateStream.js +11 -6
  27. package/funcs/basinCreateStream.js.map +1 -1
  28. package/funcs/basinDeleteStream.d.ts +2 -1
  29. package/funcs/basinDeleteStream.d.ts.map +1 -1
  30. package/funcs/basinDeleteStream.js +11 -6
  31. package/funcs/basinDeleteStream.js.map +1 -1
  32. package/funcs/basinGetStreamConfig.d.ts +2 -1
  33. package/funcs/basinGetStreamConfig.d.ts.map +1 -1
  34. package/funcs/basinGetStreamConfig.js +11 -6
  35. package/funcs/basinGetStreamConfig.js.map +1 -1
  36. package/funcs/basinListStreams.d.ts +2 -1
  37. package/funcs/basinListStreams.d.ts.map +1 -1
  38. package/funcs/basinListStreams.js +19 -6
  39. package/funcs/basinListStreams.js.map +1 -1
  40. package/funcs/basinReconfigureStream.d.ts +2 -1
  41. package/funcs/basinReconfigureStream.d.ts.map +1 -1
  42. package/funcs/basinReconfigureStream.js +11 -6
  43. package/funcs/basinReconfigureStream.js.map +1 -1
  44. package/funcs/streamAppend.d.ts +2 -1
  45. package/funcs/streamAppend.d.ts.map +1 -1
  46. package/funcs/streamAppend.js +11 -6
  47. package/funcs/streamAppend.js.map +1 -1
  48. package/funcs/streamCheckTail.d.ts +2 -1
  49. package/funcs/streamCheckTail.d.ts.map +1 -1
  50. package/funcs/streamCheckTail.js +11 -6
  51. package/funcs/streamCheckTail.js.map +1 -1
  52. package/funcs/streamRead.d.ts +2 -1
  53. package/funcs/streamRead.d.ts.map +1 -1
  54. package/funcs/streamRead.js +11 -6
  55. package/funcs/streamRead.js.map +1 -1
  56. package/hooks/types.d.ts +1 -0
  57. package/hooks/types.d.ts.map +1 -1
  58. package/index.extras.d.ts +38 -15
  59. package/index.extras.d.ts.map +1 -1
  60. package/index.extras.js +91 -46
  61. package/index.extras.js.map +1 -1
  62. package/jsr.json +1 -1
  63. package/lib/config.d.ts +6 -6
  64. package/lib/config.d.ts.map +1 -1
  65. package/lib/config.js +3 -3
  66. package/lib/config.js.map +1 -1
  67. package/lib/files.js.map +1 -1
  68. package/lib/primitives.d.ts +3 -0
  69. package/lib/primitives.d.ts.map +1 -1
  70. package/lib/primitives.js +7 -0
  71. package/lib/primitives.js.map +1 -1
  72. package/lib/sdks.d.ts +1 -1
  73. package/lib/sdks.d.ts.map +1 -1
  74. package/lib/security.d.ts.map +1 -1
  75. package/lib/security.js.map +1 -1
  76. package/mcp-server/build.d.mts.map +1 -0
  77. package/mcp-server/build.mjs +14 -0
  78. package/mcp-server/build.mjs.map +1 -0
  79. package/mcp-server/cli/start/command.d.ts +2 -0
  80. package/mcp-server/cli/start/command.d.ts.map +1 -0
  81. package/mcp-server/cli/start/command.js +129 -0
  82. package/mcp-server/cli/start/command.js.map +1 -0
  83. package/mcp-server/cli/start/impl.d.ts +17 -0
  84. package/mcp-server/cli/start/impl.d.ts.map +1 -0
  85. package/mcp-server/cli/start/impl.js +102 -0
  86. package/mcp-server/cli/start/impl.js.map +1 -0
  87. package/mcp-server/cli.d.ts +6 -0
  88. package/mcp-server/cli.d.ts.map +1 -0
  89. package/mcp-server/cli.js +10 -0
  90. package/mcp-server/cli.js.map +1 -0
  91. package/mcp-server/console-logger.d.ts +7 -0
  92. package/mcp-server/console-logger.d.ts.map +1 -0
  93. package/mcp-server/console-logger.js +59 -0
  94. package/mcp-server/console-logger.js.map +1 -0
  95. package/mcp-server/mcp-server.d.ts +2 -0
  96. package/mcp-server/mcp-server.d.ts.map +1 -0
  97. package/mcp-server/mcp-server.js +29 -0
  98. package/mcp-server/mcp-server.js.map +1 -0
  99. package/mcp-server/resources.d.ts +27 -0
  100. package/mcp-server/resources.d.ts.map +1 -0
  101. package/mcp-server/resources.js +51 -0
  102. package/mcp-server/resources.js.map +1 -0
  103. package/mcp-server/scopes.d.ts +3 -0
  104. package/mcp-server/scopes.d.ts.map +1 -0
  105. package/mcp-server/scopes.js +11 -0
  106. package/mcp-server/scopes.js.map +1 -0
  107. package/mcp-server/server.d.ts +12 -0
  108. package/mcp-server/server.d.ts.map +1 -0
  109. package/mcp-server/server.js +51 -0
  110. package/mcp-server/server.js.map +1 -0
  111. package/mcp-server/shared.d.ts +7 -0
  112. package/mcp-server/shared.d.ts.map +1 -0
  113. package/mcp-server/shared.js +98 -0
  114. package/mcp-server/shared.js.map +1 -0
  115. package/mcp-server/tools/accountCreateBasin.d.ts +8 -0
  116. package/mcp-server/tools/accountCreateBasin.d.ts.map +1 -0
  117. package/mcp-server/tools/accountCreateBasin.js +63 -0
  118. package/mcp-server/tools/accountCreateBasin.js.map +1 -0
  119. package/mcp-server/tools/accountDeleteBasin.d.ts +8 -0
  120. package/mcp-server/tools/accountDeleteBasin.d.ts.map +1 -0
  121. package/mcp-server/tools/accountDeleteBasin.js +62 -0
  122. package/mcp-server/tools/accountDeleteBasin.js.map +1 -0
  123. package/mcp-server/tools/accountGetBasinConfig.d.ts +8 -0
  124. package/mcp-server/tools/accountGetBasinConfig.d.ts.map +1 -0
  125. package/mcp-server/tools/accountGetBasinConfig.js +63 -0
  126. package/mcp-server/tools/accountGetBasinConfig.js.map +1 -0
  127. package/mcp-server/tools/accountListBasins.d.ts +8 -0
  128. package/mcp-server/tools/accountListBasins.d.ts.map +1 -0
  129. package/mcp-server/tools/accountListBasins.js +63 -0
  130. package/mcp-server/tools/accountListBasins.js.map +1 -0
  131. package/mcp-server/tools/accountReconfigureBasin.d.ts +8 -0
  132. package/mcp-server/tools/accountReconfigureBasin.d.ts.map +1 -0
  133. package/mcp-server/tools/accountReconfigureBasin.js +63 -0
  134. package/mcp-server/tools/accountReconfigureBasin.js.map +1 -0
  135. package/mcp-server/tools/basinCreateStream.d.ts +8 -0
  136. package/mcp-server/tools/basinCreateStream.d.ts.map +1 -0
  137. package/mcp-server/tools/basinCreateStream.js +63 -0
  138. package/mcp-server/tools/basinCreateStream.js.map +1 -0
  139. package/mcp-server/tools/basinDeleteStream.d.ts +8 -0
  140. package/mcp-server/tools/basinDeleteStream.d.ts.map +1 -0
  141. package/mcp-server/tools/basinDeleteStream.js +62 -0
  142. package/mcp-server/tools/basinDeleteStream.js.map +1 -0
  143. package/mcp-server/tools/basinGetStreamConfig.d.ts +8 -0
  144. package/mcp-server/tools/basinGetStreamConfig.d.ts.map +1 -0
  145. package/mcp-server/tools/basinGetStreamConfig.js +63 -0
  146. package/mcp-server/tools/basinGetStreamConfig.js.map +1 -0
  147. package/mcp-server/tools/basinListStreams.d.ts +8 -0
  148. package/mcp-server/tools/basinListStreams.d.ts.map +1 -0
  149. package/mcp-server/tools/basinListStreams.js +63 -0
  150. package/mcp-server/tools/basinListStreams.js.map +1 -0
  151. package/mcp-server/tools/basinReconfigureStream.d.ts +8 -0
  152. package/mcp-server/tools/basinReconfigureStream.d.ts.map +1 -0
  153. package/mcp-server/tools/basinReconfigureStream.js +63 -0
  154. package/mcp-server/tools/basinReconfigureStream.js.map +1 -0
  155. package/mcp-server/tools/streamAppend.d.ts +8 -0
  156. package/mcp-server/tools/streamAppend.d.ts.map +1 -0
  157. package/mcp-server/tools/streamAppend.js +65 -0
  158. package/mcp-server/tools/streamAppend.js.map +1 -0
  159. package/mcp-server/tools/streamCheckTail.d.ts +8 -0
  160. package/mcp-server/tools/streamCheckTail.d.ts.map +1 -0
  161. package/mcp-server/tools/streamCheckTail.js +65 -0
  162. package/mcp-server/tools/streamCheckTail.js.map +1 -0
  163. package/mcp-server/tools/streamRead.d.ts +8 -0
  164. package/mcp-server/tools/streamRead.d.ts.map +1 -0
  165. package/mcp-server/tools/streamRead.js +65 -0
  166. package/mcp-server/tools/streamRead.js.map +1 -0
  167. package/mcp-server/tools.d.ts +25 -0
  168. package/mcp-server/tools.d.ts.map +1 -0
  169. package/mcp-server/tools.js +74 -0
  170. package/mcp-server/tools.js.map +1 -0
  171. package/models/components/endpoints.d.ts +67 -0
  172. package/models/components/endpoints.d.ts.map +1 -0
  173. package/models/components/endpoints.js +126 -0
  174. package/models/components/endpoints.js.map +1 -0
  175. package/package.json +16 -2
  176. package/src/funcs/accountCreateBasin.ts +38 -7
  177. package/src/funcs/accountDeleteBasin.ts +39 -7
  178. package/src/funcs/accountGetBasinConfig.ts +38 -7
  179. package/src/funcs/accountListBasins.ts +49 -7
  180. package/src/funcs/accountReconfigureBasin.ts +38 -7
  181. package/src/funcs/basinCreateStream.ts +38 -7
  182. package/src/funcs/basinDeleteStream.ts +39 -7
  183. package/src/funcs/basinGetStreamConfig.ts +38 -7
  184. package/src/funcs/basinListStreams.ts +49 -7
  185. package/src/funcs/basinReconfigureStream.ts +38 -7
  186. package/src/funcs/streamAppend.ts +38 -7
  187. package/src/funcs/streamCheckTail.ts +38 -7
  188. package/src/funcs/streamRead.ts +38 -7
  189. package/src/hooks/types.ts +1 -0
  190. package/src/index.extras.ts +113 -49
  191. package/src/lib/config.ts +6 -7
  192. package/src/lib/files.ts +1 -1
  193. package/src/lib/primitives.ts +14 -0
  194. package/src/lib/sdks.ts +1 -1
  195. package/src/lib/security.ts +0 -1
  196. package/src/mcp-server/cli/start/command.ts +98 -0
  197. package/src/mcp-server/cli/start/impl.ts +131 -0
  198. package/src/mcp-server/cli.ts +13 -0
  199. package/src/mcp-server/console-logger.ts +71 -0
  200. package/src/mcp-server/mcp-server.ts +26 -0
  201. package/src/mcp-server/resources.ts +96 -0
  202. package/src/mcp-server/scopes.ts +10 -0
  203. package/src/mcp-server/server.ts +60 -0
  204. package/src/mcp-server/shared.ts +75 -0
  205. package/src/mcp-server/tools/accountCreateBasin.ts +36 -0
  206. package/src/mcp-server/tools/accountDeleteBasin.ts +34 -0
  207. package/src/mcp-server/tools/accountGetBasinConfig.ts +36 -0
  208. package/src/mcp-server/tools/accountListBasins.ts +36 -0
  209. package/src/mcp-server/tools/accountReconfigureBasin.ts +36 -0
  210. package/src/mcp-server/tools/basinCreateStream.ts +36 -0
  211. package/src/mcp-server/tools/basinDeleteStream.ts +34 -0
  212. package/src/mcp-server/tools/basinGetStreamConfig.ts +36 -0
  213. package/src/mcp-server/tools/basinListStreams.ts +36 -0
  214. package/src/mcp-server/tools/basinReconfigureStream.ts +36 -0
  215. package/src/mcp-server/tools/streamAppend.ts +38 -0
  216. package/src/mcp-server/tools/streamCheckTail.ts +38 -0
  217. package/src/mcp-server/tools/streamRead.ts +38 -0
  218. package/src/mcp-server/tools.ts +116 -0
  219. package/src/models/components/endpoints.ts +159 -0
  220. package/src/types/async.ts +68 -0
  221. package/types/async.d.ts +23 -0
  222. package/types/async.d.ts.map +1 -0
  223. package/types/async.js +44 -0
  224. 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 also be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
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