@s2-dev/streamstore 0.19.5 → 0.21.0

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 (221) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +60 -10
  3. package/dist/cjs/accessTokens.d.ts +27 -14
  4. package/dist/cjs/accessTokens.d.ts.map +1 -1
  5. package/dist/cjs/accessTokens.js +72 -8
  6. package/dist/cjs/accessTokens.js.map +1 -1
  7. package/dist/cjs/basins.d.ts +29 -19
  8. package/dist/cjs/basins.d.ts.map +1 -1
  9. package/dist/cjs/basins.js +119 -9
  10. package/dist/cjs/basins.js.map +1 -1
  11. package/dist/cjs/batch-transform.d.ts +12 -16
  12. package/dist/cjs/batch-transform.d.ts.map +1 -1
  13. package/dist/cjs/batch-transform.js +17 -21
  14. package/dist/cjs/batch-transform.js.map +1 -1
  15. package/dist/cjs/common.d.ts +31 -24
  16. package/dist/cjs/common.d.ts.map +1 -1
  17. package/dist/cjs/common.js +22 -0
  18. package/dist/cjs/common.js.map +1 -1
  19. package/dist/cjs/endpoints.d.ts +63 -0
  20. package/dist/cjs/endpoints.d.ts.map +1 -0
  21. package/dist/cjs/endpoints.js +120 -0
  22. package/dist/cjs/endpoints.js.map +1 -0
  23. package/dist/cjs/error.d.ts.map +1 -1
  24. package/dist/cjs/error.js +11 -0
  25. package/dist/cjs/error.js.map +1 -1
  26. package/dist/cjs/generated/types.gen.d.ts +11 -20
  27. package/dist/cjs/generated/types.gen.d.ts.map +1 -1
  28. package/dist/cjs/index.d.ts +30 -46
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +50 -26
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/internal/case-transform.d.ts +59 -0
  33. package/dist/cjs/internal/case-transform.d.ts.map +1 -0
  34. package/dist/cjs/internal/case-transform.js +80 -0
  35. package/dist/cjs/internal/case-transform.js.map +1 -0
  36. package/dist/cjs/internal/mappers.d.ts +51 -0
  37. package/dist/cjs/internal/mappers.d.ts.map +1 -0
  38. package/dist/cjs/internal/mappers.js +225 -0
  39. package/dist/cjs/internal/mappers.js.map +1 -0
  40. package/dist/cjs/internal/sdk-types.d.ts +127 -0
  41. package/dist/cjs/internal/sdk-types.d.ts.map +1 -0
  42. package/dist/cjs/internal/sdk-types.js +9 -0
  43. package/dist/cjs/internal/sdk-types.js.map +1 -0
  44. package/dist/cjs/lib/base64.d.ts +8 -0
  45. package/dist/cjs/lib/base64.d.ts.map +1 -1
  46. package/dist/cjs/lib/base64.js +32 -12
  47. package/dist/cjs/lib/base64.js.map +1 -1
  48. package/dist/cjs/lib/event-stream.d.ts.map +1 -1
  49. package/dist/cjs/lib/event-stream.js +2 -1
  50. package/dist/cjs/lib/event-stream.js.map +1 -1
  51. package/dist/cjs/lib/paginate.d.ts +57 -0
  52. package/dist/cjs/lib/paginate.d.ts.map +1 -0
  53. package/dist/cjs/lib/paginate.js +51 -0
  54. package/dist/cjs/lib/paginate.js.map +1 -0
  55. package/dist/cjs/lib/result.d.ts +1 -1
  56. package/dist/cjs/lib/result.d.ts.map +1 -1
  57. package/dist/cjs/lib/retry.d.ts +47 -31
  58. package/dist/cjs/lib/retry.d.ts.map +1 -1
  59. package/dist/cjs/lib/retry.js +302 -201
  60. package/dist/cjs/lib/retry.js.map +1 -1
  61. package/dist/cjs/lib/stream/runtime.d.ts +1 -1
  62. package/dist/cjs/lib/stream/transport/fetch/index.d.ts +7 -9
  63. package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
  64. package/dist/cjs/lib/stream/transport/fetch/index.js +38 -39
  65. package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
  66. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +7 -2
  67. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  68. package/dist/cjs/lib/stream/transport/fetch/shared.js +56 -110
  69. package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -1
  70. package/dist/cjs/lib/stream/transport/proto.d.ts +9 -0
  71. package/dist/cjs/lib/stream/transport/proto.d.ts.map +1 -0
  72. package/dist/cjs/lib/stream/transport/proto.js +118 -0
  73. package/dist/cjs/lib/stream/transport/proto.js.map +1 -0
  74. package/dist/cjs/lib/stream/transport/s2s/index.d.ts +3 -3
  75. package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -1
  76. package/dist/cjs/lib/stream/transport/s2s/index.js +115 -82
  77. package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
  78. package/dist/cjs/lib/stream/types.d.ts +81 -36
  79. package/dist/cjs/lib/stream/types.d.ts.map +1 -1
  80. package/dist/cjs/lib/stream/types.js +18 -0
  81. package/dist/cjs/lib/stream/types.js.map +1 -1
  82. package/dist/cjs/metrics.d.ts +18 -17
  83. package/dist/cjs/metrics.d.ts.map +1 -1
  84. package/dist/cjs/metrics.js +67 -12
  85. package/dist/cjs/metrics.js.map +1 -1
  86. package/dist/cjs/producer.d.ts +82 -0
  87. package/dist/cjs/producer.d.ts.map +1 -0
  88. package/dist/cjs/producer.js +305 -0
  89. package/dist/cjs/producer.js.map +1 -0
  90. package/dist/cjs/s2.d.ts +1 -2
  91. package/dist/cjs/s2.d.ts.map +1 -1
  92. package/dist/cjs/s2.js +11 -15
  93. package/dist/cjs/s2.js.map +1 -1
  94. package/dist/cjs/stream.d.ts +26 -12
  95. package/dist/cjs/stream.d.ts.map +1 -1
  96. package/dist/cjs/stream.js +77 -13
  97. package/dist/cjs/stream.js.map +1 -1
  98. package/dist/cjs/streams.d.ts +29 -19
  99. package/dist/cjs/streams.d.ts.map +1 -1
  100. package/dist/cjs/streams.js +120 -9
  101. package/dist/cjs/streams.js.map +1 -1
  102. package/dist/cjs/types.d.ts +624 -0
  103. package/dist/cjs/types.d.ts.map +1 -0
  104. package/dist/cjs/types.js +129 -0
  105. package/dist/cjs/types.js.map +1 -0
  106. package/dist/cjs/utils.d.ts +1 -22
  107. package/dist/cjs/utils.d.ts.map +1 -1
  108. package/dist/cjs/utils.js +0 -42
  109. package/dist/cjs/utils.js.map +1 -1
  110. package/dist/cjs/version.d.ts +1 -1
  111. package/dist/cjs/version.js +1 -1
  112. package/dist/esm/accessTokens.d.ts +27 -14
  113. package/dist/esm/accessTokens.d.ts.map +1 -1
  114. package/dist/esm/accessTokens.js +73 -9
  115. package/dist/esm/accessTokens.js.map +1 -1
  116. package/dist/esm/basins.d.ts +29 -19
  117. package/dist/esm/basins.d.ts.map +1 -1
  118. package/dist/esm/basins.js +119 -9
  119. package/dist/esm/basins.js.map +1 -1
  120. package/dist/esm/batch-transform.d.ts +12 -16
  121. package/dist/esm/batch-transform.d.ts.map +1 -1
  122. package/dist/esm/batch-transform.js +18 -22
  123. package/dist/esm/batch-transform.js.map +1 -1
  124. package/dist/esm/common.d.ts +31 -24
  125. package/dist/esm/common.d.ts.map +1 -1
  126. package/dist/esm/common.js +20 -1
  127. package/dist/esm/common.js.map +1 -1
  128. package/dist/esm/endpoints.d.ts +63 -0
  129. package/dist/esm/endpoints.d.ts.map +1 -0
  130. package/dist/esm/endpoints.js +115 -0
  131. package/dist/esm/endpoints.js.map +1 -0
  132. package/dist/esm/error.d.ts.map +1 -1
  133. package/dist/esm/error.js +11 -0
  134. package/dist/esm/error.js.map +1 -1
  135. package/dist/esm/generated/types.gen.d.ts +11 -20
  136. package/dist/esm/generated/types.gen.d.ts.map +1 -1
  137. package/dist/esm/index.d.ts +30 -46
  138. package/dist/esm/index.d.ts.map +1 -1
  139. package/dist/esm/index.js +33 -19
  140. package/dist/esm/index.js.map +1 -1
  141. package/dist/esm/internal/case-transform.d.ts +59 -0
  142. package/dist/esm/internal/case-transform.d.ts.map +1 -0
  143. package/dist/esm/internal/case-transform.js +76 -0
  144. package/dist/esm/internal/case-transform.js.map +1 -0
  145. package/dist/esm/internal/mappers.d.ts +51 -0
  146. package/dist/esm/internal/mappers.d.ts.map +1 -0
  147. package/dist/esm/internal/mappers.js +218 -0
  148. package/dist/esm/internal/mappers.js.map +1 -0
  149. package/dist/esm/internal/sdk-types.d.ts +127 -0
  150. package/dist/esm/internal/sdk-types.d.ts.map +1 -0
  151. package/dist/esm/internal/sdk-types.js +8 -0
  152. package/dist/esm/internal/sdk-types.js.map +1 -0
  153. package/dist/esm/lib/base64.d.ts +8 -0
  154. package/dist/esm/lib/base64.d.ts.map +1 -1
  155. package/dist/esm/lib/base64.js +30 -11
  156. package/dist/esm/lib/base64.js.map +1 -1
  157. package/dist/esm/lib/event-stream.d.ts.map +1 -1
  158. package/dist/esm/lib/event-stream.js +2 -1
  159. package/dist/esm/lib/event-stream.js.map +1 -1
  160. package/dist/esm/lib/paginate.d.ts +57 -0
  161. package/dist/esm/lib/paginate.d.ts.map +1 -0
  162. package/dist/esm/lib/paginate.js +48 -0
  163. package/dist/esm/lib/paginate.js.map +1 -0
  164. package/dist/esm/lib/result.d.ts +1 -1
  165. package/dist/esm/lib/result.d.ts.map +1 -1
  166. package/dist/esm/lib/retry.d.ts +47 -31
  167. package/dist/esm/lib/retry.d.ts.map +1 -1
  168. package/dist/esm/lib/retry.js +303 -201
  169. package/dist/esm/lib/retry.js.map +1 -1
  170. package/dist/esm/lib/stream/runtime.d.ts +1 -1
  171. package/dist/esm/lib/stream/transport/fetch/index.d.ts +7 -9
  172. package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
  173. package/dist/esm/lib/stream/transport/fetch/index.js +40 -41
  174. package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
  175. package/dist/esm/lib/stream/transport/fetch/shared.d.ts +7 -2
  176. package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  177. package/dist/esm/lib/stream/transport/fetch/shared.js +58 -112
  178. package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -1
  179. package/dist/esm/lib/stream/transport/proto.d.ts +9 -0
  180. package/dist/esm/lib/stream/transport/proto.d.ts.map +1 -0
  181. package/dist/esm/lib/stream/transport/proto.js +110 -0
  182. package/dist/esm/lib/stream/transport/proto.js.map +1 -0
  183. package/dist/esm/lib/stream/transport/s2s/index.d.ts +3 -3
  184. package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -1
  185. package/dist/esm/lib/stream/transport/s2s/index.js +116 -82
  186. package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
  187. package/dist/esm/lib/stream/types.d.ts +81 -36
  188. package/dist/esm/lib/stream/types.d.ts.map +1 -1
  189. package/dist/esm/lib/stream/types.js +17 -1
  190. package/dist/esm/lib/stream/types.js.map +1 -1
  191. package/dist/esm/metrics.d.ts +18 -17
  192. package/dist/esm/metrics.d.ts.map +1 -1
  193. package/dist/esm/metrics.js +66 -12
  194. package/dist/esm/metrics.js.map +1 -1
  195. package/dist/esm/producer.d.ts +82 -0
  196. package/dist/esm/producer.d.ts.map +1 -0
  197. package/dist/esm/producer.js +300 -0
  198. package/dist/esm/producer.js.map +1 -0
  199. package/dist/esm/s2.d.ts +1 -2
  200. package/dist/esm/s2.d.ts.map +1 -1
  201. package/dist/esm/s2.js +12 -16
  202. package/dist/esm/s2.js.map +1 -1
  203. package/dist/esm/stream.d.ts +26 -12
  204. package/dist/esm/stream.d.ts.map +1 -1
  205. package/dist/esm/stream.js +79 -15
  206. package/dist/esm/stream.js.map +1 -1
  207. package/dist/esm/streams.d.ts +29 -19
  208. package/dist/esm/streams.d.ts.map +1 -1
  209. package/dist/esm/streams.js +120 -9
  210. package/dist/esm/streams.js.map +1 -1
  211. package/dist/esm/types.d.ts +624 -0
  212. package/dist/esm/types.d.ts.map +1 -0
  213. package/dist/esm/types.js +126 -0
  214. package/dist/esm/types.js.map +1 -0
  215. package/dist/esm/utils.d.ts +1 -22
  216. package/dist/esm/utils.d.ts.map +1 -1
  217. package/dist/esm/utils.js +0 -41
  218. package/dist/esm/utils.js.map +1 -1
  219. package/dist/esm/version.d.ts +1 -1
  220. package/dist/esm/version.js +1 -1
  221. package/package.json +4 -3
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Type-level and runtime utilities for converting between snake_case and camelCase.
3
+ *
4
+ * These utilities allow the SDK to expose camelCase APIs to users while the
5
+ * generated types from OpenAPI use snake_case to match the wire format.
6
+ */
7
+ /**
8
+ * Convert a snake_case string literal to camelCase at the type level.
9
+ *
10
+ * @example
11
+ * type Result = SnakeToCamel<"seq_num">; // "seqNum"
12
+ * type Result2 = SnakeToCamel<"created_at">; // "createdAt"
13
+ */
14
+ export type SnakeToCamel<S extends string> = S extends `${infer Head}_${infer Tail}` ? `${Head}${Capitalize<SnakeToCamel<Tail>>}` : S;
15
+ /**
16
+ * Convert a camelCase string literal to snake_case at the type level.
17
+ *
18
+ * @example
19
+ * type Result = CamelToSnake<"seqNum">; // "seq_num"
20
+ * type Result2 = CamelToSnake<"createdAt">; // "created_at"
21
+ */
22
+ export type CamelToSnake<S extends string> = S extends `${infer Head}${infer Tail}` ? Head extends Uppercase<Head> ? Head extends Lowercase<Head> ? `${Head}${CamelToSnake<Tail>}` : `_${Lowercase<Head>}${CamelToSnake<Tail>}` : `${Head}${CamelToSnake<Tail>}` : S;
23
+ /**
24
+ * Recursively transform all keys in an object type from snake_case to camelCase.
25
+ *
26
+ * @example
27
+ * type API = { seq_num: number; created_at: string };
28
+ * type SDK = CamelCaseKeys<API>; // { seqNum: number; createdAt: string }
29
+ */
30
+ export type CamelCaseKeys<T> = T extends object ? T extends Array<infer U> ? Array<CamelCaseKeys<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<CamelCaseKeys<U>> : {
31
+ [K in keyof T as SnakeToCamel<K & string>]: CamelCaseKeys<T[K]>;
32
+ } : T;
33
+ /**
34
+ * Recursively transform all keys in an object type from camelCase to snake_case.
35
+ *
36
+ * @example
37
+ * type SDK = { seqNum: number; createdAt: string };
38
+ * type API = SnakeCaseKeys<SDK>; // { seq_num: number; created_at: string }
39
+ */
40
+ export type SnakeCaseKeys<T> = T extends object ? T extends Array<infer U> ? Array<SnakeCaseKeys<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<SnakeCaseKeys<U>> : {
41
+ [K in keyof T as CamelToSnake<K & string>]: SnakeCaseKeys<T[K]>;
42
+ } : T;
43
+ /**
44
+ * Recursively transform all keys in an object from snake_case to camelCase at runtime.
45
+ *
46
+ * @example
47
+ * const api = { seq_num: 123, created_at: "2024-01-01" };
48
+ * const sdk = toCamelCase(api); // { seqNum: 123, createdAt: "2024-01-01" }
49
+ */
50
+ export declare function toCamelCase<T>(obj: unknown): CamelCaseKeys<T>;
51
+ /**
52
+ * Recursively transform all keys in an object from camelCase to snake_case at runtime.
53
+ *
54
+ * @example
55
+ * const sdk = { seqNum: 123, createdAt: "2024-01-01" };
56
+ * const api = toSnakeCase(sdk); // { seq_num: 123, created_at: "2024-01-01" }
57
+ */
58
+ export declare function toSnakeCase<T>(obj: unknown): SnakeCaseKeys<T>;
59
+ //# sourceMappingURL=case-transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-transform.d.ts","sourceRoot":"","sources":["../../../src/internal/case-transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACpC,GAAG,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,GAC1C,CAAC,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,GACnC,IAAI,SAAS,SAAS,CAAC,IAAI,CAAC,GAC3B,IAAI,SAAS,SAAS,CAAC,IAAI,CAAC,GAC3B,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAC9B,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAC3C,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAC/B,CAAC,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC5C,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACvB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/B,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC/B;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrE,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC5C,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACvB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/B,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC/B;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrE,CAAC,CAAC;AAoBL;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAuB7D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAuB7D"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Type-level and runtime utilities for converting between snake_case and camelCase.
4
+ *
5
+ * These utilities allow the SDK to expose camelCase APIs to users while the
6
+ * generated types from OpenAPI use snake_case to match the wire format.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.toCamelCase = toCamelCase;
10
+ exports.toSnakeCase = toSnakeCase;
11
+ // =============================================================================
12
+ // Runtime Transformations
13
+ // =============================================================================
14
+ /**
15
+ * Convert a snake_case string to camelCase at runtime.
16
+ */
17
+ function snakeToCamelString(str) {
18
+ return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
19
+ }
20
+ /**
21
+ * Convert a camelCase string to snake_case at runtime.
22
+ */
23
+ function camelToSnakeString(str) {
24
+ return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
25
+ }
26
+ /**
27
+ * Recursively transform all keys in an object from snake_case to camelCase at runtime.
28
+ *
29
+ * @example
30
+ * const api = { seq_num: 123, created_at: "2024-01-01" };
31
+ * const sdk = toCamelCase(api); // { seqNum: 123, createdAt: "2024-01-01" }
32
+ */
33
+ function toCamelCase(obj) {
34
+ if (obj === null || obj === undefined) {
35
+ return obj;
36
+ }
37
+ if (typeof obj !== "object") {
38
+ return obj;
39
+ }
40
+ if (Array.isArray(obj)) {
41
+ return obj.map((item) => toCamelCase(item));
42
+ }
43
+ // Handle Uint8Array and other typed arrays - don't transform
44
+ if (ArrayBuffer.isView(obj)) {
45
+ return obj;
46
+ }
47
+ const result = {};
48
+ for (const [key, value] of Object.entries(obj)) {
49
+ result[snakeToCamelString(key)] = toCamelCase(value);
50
+ }
51
+ return result;
52
+ }
53
+ /**
54
+ * Recursively transform all keys in an object from camelCase to snake_case at runtime.
55
+ *
56
+ * @example
57
+ * const sdk = { seqNum: 123, createdAt: "2024-01-01" };
58
+ * const api = toSnakeCase(sdk); // { seq_num: 123, created_at: "2024-01-01" }
59
+ */
60
+ function toSnakeCase(obj) {
61
+ if (obj === null || obj === undefined) {
62
+ return obj;
63
+ }
64
+ if (typeof obj !== "object") {
65
+ return obj;
66
+ }
67
+ if (Array.isArray(obj)) {
68
+ return obj.map((item) => toSnakeCase(item));
69
+ }
70
+ // Handle Uint8Array and other typed arrays - don't transform
71
+ if (ArrayBuffer.isView(obj)) {
72
+ return obj;
73
+ }
74
+ const result = {};
75
+ for (const [key, value] of Object.entries(obj)) {
76
+ result[camelToSnakeString(key)] = toSnakeCase(value);
77
+ }
78
+ return result;
79
+ }
80
+ //# sourceMappingURL=case-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-transform.js","sourceRoot":"","sources":["../../../src/internal/case-transform.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyFH,kCAuBC;AASD,kCAuBC;AAhFD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,GAAY;IAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAqB,CAAC;IACjE,CAAC;IAED,6DAA6D;IAC7D,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAA0B,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,GAAY;IAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAqB,CAAC;IACjE,CAAC;IAED,6DAA6D;IAC7D,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAuB,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAA0B,CAAC;AACnC,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Internal type mappers between SDK types and generated types.
3
+ *
4
+ * Only used for hot-path types (records, append/read responses).
5
+ * Config, info, and metric types are used directly from generated types.
6
+ */
7
+ import * as API from "../generated/types.gen.js";
8
+ import type * as InternalTypes from "../lib/stream/types.js";
9
+ import * as Types from "../types.js";
10
+ /**
11
+ * Convert API StreamPosition to SDK StreamPosition.
12
+ */
13
+ export declare function fromAPIStreamPosition(pos: API.StreamPosition): Types.StreamPosition;
14
+ /**
15
+ * Convert API AppendAck to SDK AppendAck.
16
+ */
17
+ export declare function fromAPIAppendAck(ack: API.AppendAck): Types.AppendAck;
18
+ /**
19
+ * Convert API TailResponse to SDK TailResponse.
20
+ */
21
+ export declare function fromAPITailResponse(res: API.TailResponse): Types.TailResponse;
22
+ /**
23
+ * Convert SDK AppendRecord to API AppendRecord (for JSON/REST API).
24
+ */
25
+ export declare function toAPIAppendRecord(record: Types.AppendRecord): API.AppendRecord;
26
+ /** Input type for read batch mappers - accepts both API and internal types. */
27
+ type ReadBatchInput<Format extends "string" | "bytes"> = API.ReadBatch | InternalTypes.ReadBatch<Format>;
28
+ /**
29
+ * Convert API/internal ReadBatch to SDK ReadBatch (string format).
30
+ */
31
+ export declare function fromAPIReadBatchString<Format extends "string" | "bytes" = "string">(batch: ReadBatchInput<Format>): Types.ReadBatch<"string">;
32
+ /**
33
+ * Convert API/internal ReadBatch to SDK ReadBatch (bytes format).
34
+ */
35
+ export declare function fromAPIReadBatchBytes<Format extends "string" | "bytes" = "bytes">(batch: ReadBatchInput<Format>): Types.ReadBatch<"bytes">;
36
+ /**
37
+ * Convert SDK ReadInput (camelCase) to flat query parameters for the API (snake_case).
38
+ */
39
+ export declare function toAPIReadQuery(input?: Types.ReadInput): {
40
+ seq_num?: number;
41
+ timestamp?: number;
42
+ tail_offset?: number;
43
+ clamp?: boolean;
44
+ count?: number;
45
+ bytes?: number;
46
+ until?: number;
47
+ wait?: number;
48
+ ignore_command_records?: boolean;
49
+ };
50
+ export {};
51
+ //# sourceMappingURL=mappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/internal/mappers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAC;AAEjD,OAAO,KAAK,KAAK,aAAa,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAqCrC;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,GAAG,CAAC,cAAc,GACrB,KAAK,CAAC,cAAc,CAKtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAMpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAI7E;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,KAAK,CAAC,YAAY,GACxB,GAAG,CAAC,YAAY,CAqBlB;AAyED,+EAA+E;AAC/E,KAAK,cAAc,CAAC,MAAM,SAAS,QAAQ,GAAG,OAAO,IAClD,GAAG,CAAC,SAAS,GACb,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAEnC;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,SAAS,QAAQ,GAAG,OAAO,GAAG,QAAQ,EAC3C,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAO1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,SAAS,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC1C,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAOzD;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACjC,CAmDA"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * Internal type mappers between SDK types and generated types.
4
+ *
5
+ * Only used for hot-path types (records, append/read responses).
6
+ * Config, info, and metric types are used directly from generated types.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.fromAPIStreamPosition = fromAPIStreamPosition;
10
+ exports.fromAPIAppendAck = fromAPIAppendAck;
11
+ exports.fromAPITailResponse = fromAPITailResponse;
12
+ exports.toAPIAppendRecord = toAPIAppendRecord;
13
+ exports.fromAPIReadBatchString = fromAPIReadBatchString;
14
+ exports.fromAPIReadBatchBytes = fromAPIReadBatchBytes;
15
+ exports.toAPIReadQuery = toAPIReadQuery;
16
+ const base64_js_1 = require("../lib/base64.js");
17
+ // =============================================================================
18
+ // Utilities
19
+ // =============================================================================
20
+ const textEncoder = new TextEncoder();
21
+ function toBytes(value) {
22
+ return typeof value === "string" ? textEncoder.encode(value) : value;
23
+ }
24
+ function toBase64(value) {
25
+ return (0, base64_js_1.encodeToBase64)(toBytes(value));
26
+ }
27
+ function fromBase64(value) {
28
+ return (0, base64_js_1.decodeFromBase64)(value);
29
+ }
30
+ /** Convert milliseconds to Date. */
31
+ function toDate(ms) {
32
+ return new Date(ms);
33
+ }
34
+ /** Convert Date or milliseconds to milliseconds. */
35
+ function toEpochMs(value) {
36
+ if (value === undefined || value === null)
37
+ return undefined;
38
+ return typeof value === "number" ? Math.floor(value) : value.getTime();
39
+ }
40
+ // =============================================================================
41
+ // Stream Position Mapper
42
+ // =============================================================================
43
+ /**
44
+ * Convert API StreamPosition to SDK StreamPosition.
45
+ */
46
+ function fromAPIStreamPosition(pos) {
47
+ return {
48
+ seqNum: pos.seq_num,
49
+ timestamp: toDate(pos.timestamp),
50
+ };
51
+ }
52
+ /**
53
+ * Convert API AppendAck to SDK AppendAck.
54
+ */
55
+ function fromAPIAppendAck(ack) {
56
+ return {
57
+ start: fromAPIStreamPosition(ack.start),
58
+ end: fromAPIStreamPosition(ack.end),
59
+ tail: fromAPIStreamPosition(ack.tail),
60
+ };
61
+ }
62
+ /**
63
+ * Convert API TailResponse to SDK TailResponse.
64
+ */
65
+ function fromAPITailResponse(res) {
66
+ return {
67
+ tail: fromAPIStreamPosition(res.tail),
68
+ };
69
+ }
70
+ // =============================================================================
71
+ // Record Mappers - Append
72
+ // =============================================================================
73
+ /**
74
+ * Convert SDK AppendRecord to API AppendRecord (for JSON/REST API).
75
+ */
76
+ function toAPIAppendRecord(record) {
77
+ const isStringRecord = "body" in record && typeof record.body === "string";
78
+ if (isStringRecord) {
79
+ const stringRecord = record;
80
+ return {
81
+ body: stringRecord.body,
82
+ headers: stringRecord.headers?.map(([name, value]) => [name, value]),
83
+ timestamp: toEpochMs(stringRecord.timestamp),
84
+ };
85
+ }
86
+ else {
87
+ const bytesRecord = record;
88
+ return {
89
+ body: toBase64(bytesRecord.body),
90
+ headers: bytesRecord.headers?.map(([name, value]) => [
91
+ toBase64(name),
92
+ toBase64(value),
93
+ ]),
94
+ timestamp: toEpochMs(bytesRecord.timestamp),
95
+ };
96
+ }
97
+ }
98
+ // =============================================================================
99
+ // Record Mappers - Read
100
+ // =============================================================================
101
+ /**
102
+ * Convert API SequencedRecord to SDK ReadRecord (string format).
103
+ */
104
+ function fromAPISequencedRecordString(record) {
105
+ let headers = [];
106
+ if (record.headers) {
107
+ if (Array.isArray(record.headers)) {
108
+ headers = record.headers.map(([name, value]) => [name, value]);
109
+ }
110
+ else if (typeof record.headers === "object") {
111
+ headers = Object.entries(record.headers);
112
+ }
113
+ }
114
+ return {
115
+ seqNum: record.seq_num,
116
+ timestamp: toDate(record.timestamp),
117
+ body: record.body ?? "",
118
+ headers,
119
+ };
120
+ }
121
+ /**
122
+ * Convert API SequencedRecord to SDK ReadRecord (bytes format).
123
+ */
124
+ function fromAPISequencedRecordBytes(record) {
125
+ let body;
126
+ if (!record.body) {
127
+ body = new Uint8Array();
128
+ }
129
+ else if (typeof record.body === "string") {
130
+ body = fromBase64(record.body);
131
+ }
132
+ else {
133
+ body = record.body;
134
+ }
135
+ let headers = [];
136
+ if (record.headers) {
137
+ if (Array.isArray(record.headers)) {
138
+ headers = record.headers.map(([name, value]) => {
139
+ const nameBytes = typeof name === "string" ? fromBase64(name) : name;
140
+ const valueBytes = typeof value === "string" ? fromBase64(value) : value;
141
+ return [nameBytes, valueBytes];
142
+ });
143
+ }
144
+ else if (typeof record.headers === "object") {
145
+ headers = Object.entries(record.headers).map(([name, value]) => [fromBase64(name), fromBase64(value)]);
146
+ }
147
+ }
148
+ return {
149
+ seqNum: record.seq_num,
150
+ timestamp: toDate(record.timestamp),
151
+ body,
152
+ headers,
153
+ };
154
+ }
155
+ /**
156
+ * Convert API/internal ReadBatch to SDK ReadBatch (string format).
157
+ */
158
+ function fromAPIReadBatchString(batch) {
159
+ return {
160
+ records: batch.records.map((r) => fromAPISequencedRecordString(r)),
161
+ tail: batch.tail ? fromAPIStreamPosition(batch.tail) : undefined,
162
+ };
163
+ }
164
+ /**
165
+ * Convert API/internal ReadBatch to SDK ReadBatch (bytes format).
166
+ */
167
+ function fromAPIReadBatchBytes(batch) {
168
+ return {
169
+ records: batch.records.map((r) => fromAPISequencedRecordBytes(r)),
170
+ tail: batch.tail ? fromAPIStreamPosition(batch.tail) : undefined,
171
+ };
172
+ }
173
+ // =============================================================================
174
+ // Read Input Mapper
175
+ // =============================================================================
176
+ /**
177
+ * Convert SDK ReadInput (camelCase) to flat query parameters for the API (snake_case).
178
+ */
179
+ function toAPIReadQuery(input) {
180
+ if (!input) {
181
+ return {};
182
+ }
183
+ const query = {};
184
+ if (input.start?.from) {
185
+ const from = input.start.from;
186
+ if ("seqNum" in from) {
187
+ query.seq_num = Math.floor(from.seqNum);
188
+ }
189
+ else if ("timestamp" in from) {
190
+ // Convert Date to milliseconds if needed
191
+ query.timestamp =
192
+ typeof from.timestamp === "number"
193
+ ? Math.floor(from.timestamp)
194
+ : from.timestamp.getTime();
195
+ }
196
+ else if ("tailOffset" in from) {
197
+ query.tail_offset = Math.floor(from.tailOffset);
198
+ }
199
+ }
200
+ if (input.start?.clamp !== undefined) {
201
+ query.clamp = input.start.clamp;
202
+ }
203
+ if (input.stop?.limits) {
204
+ if (input.stop.limits.count !== undefined) {
205
+ query.count = Math.floor(input.stop.limits.count);
206
+ }
207
+ if (input.stop.limits.bytes !== undefined) {
208
+ query.bytes = Math.floor(input.stop.limits.bytes);
209
+ }
210
+ }
211
+ if (input.stop?.untilTimestamp !== undefined) {
212
+ query.until =
213
+ typeof input.stop.untilTimestamp === "number"
214
+ ? Math.floor(input.stop.untilTimestamp)
215
+ : input.stop.untilTimestamp.getTime();
216
+ }
217
+ if (input.stop?.waitSecs !== undefined) {
218
+ query.wait = Math.max(0, Math.floor(input.stop.waitSecs));
219
+ }
220
+ if (input.ignoreCommandRecords !== undefined) {
221
+ query.ignore_command_records = input.ignoreCommandRecords;
222
+ }
223
+ return query;
224
+ }
225
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/internal/mappers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA6CH,sDAOC;AAKD,4CAMC;AAKD,kDAIC;AASD,8CAuBC;AAiFD,wDASC;AAKD,sDASC;AASD,wCA6DC;AAnRD,gDAAoE;AAIpE,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,SAAS,OAAO,CAAC,KAA0B;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,KAA0B;IAC3C,OAAO,IAAA,0BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAChC,OAAO,IAAA,4BAAgB,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,oCAAoC;AACpC,SAAS,MAAM,CAAC,EAAU;IACzB,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,oDAAoD;AACpD,SAAS,SAAS,CACjB,KAAuC;IAEvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,qBAAqB,CACpC,GAAuB;IAEvB,OAAO;QACN,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;KAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,GAAkB;IAClD,OAAO;QACN,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;QACvC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;KACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,GAAqB;IACxD,OAAO;QACN,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;KACrC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,iBAAiB,CAChC,MAA0B;IAE1B,MAAM,cAAc,GAAG,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE3E,IAAI,cAAc,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,MAAkC,CAAC;QACxD,OAAO;YACN,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC;SAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,WAAW,GAAG,MAAiC,CAAC;QACtD,OAAO;YACN,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC;gBACd,QAAQ,CAAC,KAAK,CAAC;aACf,CAAC;YACF,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;SAC3C,CAAC;IACH,CAAC;AACF,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,4BAA4B,CACpC,MAA2B;IAE3B,IAAI,OAAO,GAA6C,EAAE,CAAC;IAC3D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAiC,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,OAAO;KACP,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CACnC,MAA2B;IAE3B,IAAI,IAAgB,CAAC;IACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,IAAkB,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,GAAqD,EAAE,CAAC;IACnE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GACd,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAmB,CAAC;gBACpE,MAAM,UAAU,GACf,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAoB,CAAC;gBACvE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;YACzC,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAiC,CAAC,CAAC,GAAG,CACrE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAU,CACjE,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI;QACJ,OAAO;KACP,CAAC;AACH,CAAC;AAWD;;GAEG;AACH,SAAgB,sBAAsB,CAEpC,KAA6B;IAC9B,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,4BAA4B,CAAC,CAAwB,CAAC,CACtD;QACD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAEnC,KAA6B;IAC9B,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,2BAA2B,CAAC,CAAwB,CAAC,CACrD;QACD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAuB;IAWrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAsC,EAAE,CAAC;IAEpD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAChC,yCAAyC;YACzC,KAAK,CAAC,SAAS;gBACd,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACjC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,KAAK;YACV,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,QAAQ;gBAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;gBACvC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * SDK Types - CamelCase wrappers around generated API types.
3
+ *
4
+ * This module re-exports generated types with all keys transformed from
5
+ * snake_case to camelCase for a more idiomatic JavaScript/TypeScript API.
6
+ */
7
+ import type * as API from "../generated/types.gen.js";
8
+ import type { CamelCaseKeys } from "./case-transform.js";
9
+ /**
10
+ * Access token information.
11
+ *
12
+ * Generated: `auto_prefix_streams`, `expires_at`
13
+ * SDK: `autoPrefixStreams`, `expiresAt`
14
+ */
15
+ export type AccessTokenInfo = CamelCaseKeys<API.AccessTokenInfo>;
16
+ /**
17
+ * Access token scope.
18
+ *
19
+ * Generated: `access_tokens`, `op_groups`
20
+ * SDK: `accessTokens`, `opGroups`
21
+ */
22
+ export type AccessTokenScope = CamelCaseKeys<API.AccessTokenScope>;
23
+ /**
24
+ * Basin configuration.
25
+ *
26
+ * Generated: `create_stream_on_append`, `create_stream_on_read`, `default_stream_config`
27
+ * SDK: `createStreamOnAppend`, `createStreamOnRead`, `defaultStreamConfig`
28
+ */
29
+ export type BasinConfig = CamelCaseKeys<API.BasinConfig>;
30
+ /**
31
+ * Basin information.
32
+ */
33
+ export type BasinInfo = CamelCaseKeys<API.BasinInfo>;
34
+ /**
35
+ * Basin reconfiguration options.
36
+ *
37
+ * Generated: `create_stream_on_append`, `create_stream_on_read`, `default_stream_config`
38
+ * SDK: `createStreamOnAppend`, `createStreamOnRead`, `defaultStreamConfig`
39
+ */
40
+ export type BasinReconfiguration = CamelCaseKeys<API.BasinReconfiguration>;
41
+ /**
42
+ * Stream configuration.
43
+ *
44
+ * Generated: `delete_on_empty`, `retention_policy`, `storage_class`
45
+ * SDK: `deleteOnEmpty`, `retentionPolicy`, `storageClass`
46
+ */
47
+ export type StreamConfig = CamelCaseKeys<API.StreamConfig>;
48
+ /**
49
+ * Stream information.
50
+ *
51
+ * Generated: `created_at`, `deleted_at`
52
+ * SDK: `createdAt`, `deletedAt`
53
+ */
54
+ export type StreamInfo = CamelCaseKeys<API.StreamInfo>;
55
+ /**
56
+ * Stream reconfiguration options.
57
+ *
58
+ * Generated: `delete_on_empty`, `retention_policy`, `storage_class`
59
+ * SDK: `deleteOnEmpty`, `retentionPolicy`, `storageClass`
60
+ */
61
+ export type StreamReconfiguration = CamelCaseKeys<API.StreamReconfiguration>;
62
+ /**
63
+ * Delete-on-empty configuration.
64
+ *
65
+ * Generated: `min_age_secs`
66
+ * SDK: `minAgeSecs`
67
+ */
68
+ export type DeleteOnEmptyConfig = CamelCaseKeys<API.DeleteOnEmptyConfig>;
69
+ /**
70
+ * Delete-on-empty reconfiguration.
71
+ *
72
+ * Generated: `min_age_secs`
73
+ * SDK: `minAgeSecs`
74
+ */
75
+ export type DeleteOnEmptyReconfiguration = CamelCaseKeys<API.DeleteOnEmptyReconfiguration>;
76
+ /**
77
+ * List access tokens response.
78
+ *
79
+ * Generated: `access_tokens`, `has_more`
80
+ * SDK: `accessTokens`, `hasMore`
81
+ */
82
+ export type ListAccessTokensResponse = CamelCaseKeys<API.ListAccessTokensResponse>;
83
+ /**
84
+ * List basins response.
85
+ *
86
+ * Generated: `has_more`
87
+ * SDK: `hasMore`
88
+ */
89
+ export type ListBasinsResponse = CamelCaseKeys<API.ListBasinsResponse>;
90
+ /**
91
+ * List streams response.
92
+ *
93
+ * Generated: `has_more`
94
+ * SDK: `hasMore`
95
+ */
96
+ export type ListStreamsResponse = CamelCaseKeys<API.ListStreamsResponse>;
97
+ /**
98
+ * Accumulation metric with interval.
99
+ *
100
+ * Generated: `interval`
101
+ * SDK: `interval`
102
+ */
103
+ export type AccumulationMetric = CamelCaseKeys<API.AccumulationMetric>;
104
+ /**
105
+ * Sequenced record (read from stream).
106
+ *
107
+ * Generated: `seq_num`
108
+ * SDK: `seqNum`
109
+ */
110
+ export type SequencedRecord = CamelCaseKeys<API.SequencedRecord>;
111
+ /**
112
+ * Timestamping configuration.
113
+ */
114
+ export type TimestampingConfig = CamelCaseKeys<API.TimestampingConfig>;
115
+ /**
116
+ * Timestamping reconfiguration.
117
+ */
118
+ export type TimestampingReconfiguration = CamelCaseKeys<API.TimestampingReconfiguration>;
119
+ /**
120
+ * Issue access token response.
121
+ *
122
+ * Generated: `access_token`
123
+ * SDK: `accessToken`
124
+ */
125
+ export type IssueAccessTokenResponse = CamelCaseKeys<API.IssueAccessTokenResponse>;
126
+ export type { AccessTokenIdStr, AccountMetricSet, BasinMetricSet, BasinScope, BasinState, CreateStreamRequest, FencingToken, GaugeMetric, Header, InfiniteRetention, LabelMetric, Metric, MetricSetResponse, MetricUnit, Operation, PermittedOperationGroups, ReadWritePermissions, ResourceSet, RetentionPolicy, ScalarMetric, StorageClass, StreamMetricSet, TimeseriesInterval, TimestampingMode, } from "../generated/types.gen.js";
127
+ //# sourceMappingURL=sdk-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../../../src/internal/sdk-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAMnE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAM3E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GACvC,aAAa,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAMjD;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GACnC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAMzE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAMvE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACtC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GACnC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAM7C,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * SDK Types - CamelCase wrappers around generated API types.
4
+ *
5
+ * This module re-exports generated types with all keys transformed from
6
+ * snake_case to camelCase for a more idiomatic JavaScript/TypeScript API.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=sdk-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-types.js","sourceRoot":"","sources":["../../../src/internal/sdk-types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Generate a random token of the specified byte length, base64 encoded.
3
+ * Uses crypto.getRandomValues() which is available in browsers and Node.js 19+.
4
+ *
5
+ * @param byteLength Number of random bytes to generate (default: 16)
6
+ * @returns Base64-encoded random string
7
+ */
8
+ export declare const randomToken: (byteLength?: number) => string;
1
9
  export declare const encodeToBase64: (bytes: Uint8Array) => string;
2
10
  export declare const decodeFromBase64: (str: string) => Uint8Array;
3
11
  export declare const stripCrlf: (str: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../../src/lib/base64.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,UAAW,UAAU,WA6B/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,UAuC9C,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,WAA+B,CAAC"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../../src/lib/base64.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,2BAAsB,MAI7C,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,UAAU,WA6B/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,UA+C9C,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,WAA+B,CAAC"}