@synnaxlabs/client 0.20.0 → 0.22.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 (262) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/.vscode/settings.json +3 -0
  3. package/README.md +13 -0
  4. package/dist/auth/auth.d.ts +7 -6
  5. package/dist/auth/auth.d.ts.map +1 -1
  6. package/dist/channel/client.d.ts +14 -11
  7. package/dist/channel/client.d.ts.map +1 -1
  8. package/dist/channel/creator.d.ts +10 -0
  9. package/dist/channel/creator.d.ts.map +1 -0
  10. package/dist/channel/payload.d.ts +6 -2
  11. package/dist/channel/payload.d.ts.map +1 -1
  12. package/dist/channel/retriever.d.ts +65 -35
  13. package/dist/channel/retriever.d.ts.map +1 -1
  14. package/dist/channel/writer.d.ts +4 -3
  15. package/dist/client.cjs +19 -22
  16. package/dist/client.cjs.map +1 -1
  17. package/dist/client.d.ts +12 -10
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +6781 -6675
  20. package/dist/client.js.map +1 -1
  21. package/dist/connection/checker.d.ts +4 -3
  22. package/dist/connection/checker.d.ts.map +1 -1
  23. package/dist/control/authority.d.ts +2 -1
  24. package/dist/control/state.d.ts +6 -4
  25. package/dist/control/state.d.ts.map +1 -1
  26. package/dist/errors.d.ts +24 -20
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/framer/adapter.d.ts +5 -4
  29. package/dist/framer/adapter.d.ts.map +1 -1
  30. package/dist/framer/client.d.ts +12 -12
  31. package/dist/framer/client.d.ts.map +1 -1
  32. package/dist/framer/frame.d.ts +13 -12
  33. package/dist/framer/frame.d.ts.map +1 -1
  34. package/dist/framer/iterator.d.ts +5 -4
  35. package/dist/framer/iterator.d.ts.map +1 -1
  36. package/dist/framer/streamProxy.d.ts +3 -2
  37. package/dist/framer/streamProxy.d.ts.map +1 -1
  38. package/dist/framer/streamer.d.ts +13 -4
  39. package/dist/framer/streamer.d.ts.map +1 -1
  40. package/dist/framer/writer.d.ts +67 -33
  41. package/dist/framer/writer.d.ts.map +1 -1
  42. package/dist/hardware/client.d.ts +4 -3
  43. package/dist/hardware/device/client.d.ts +107 -14
  44. package/dist/hardware/device/client.d.ts.map +1 -1
  45. package/dist/hardware/device/external.d.ts +0 -2
  46. package/dist/hardware/device/external.d.ts.map +1 -1
  47. package/dist/hardware/device/index.d.ts +1 -1
  48. package/dist/hardware/device/index.d.ts.map +1 -1
  49. package/dist/hardware/rack/client.d.ts +43 -20
  50. package/dist/hardware/rack/client.d.ts.map +1 -1
  51. package/dist/hardware/rack/external.d.ts +0 -2
  52. package/dist/hardware/rack/external.d.ts.map +1 -1
  53. package/dist/hardware/task/client.d.ts +197 -14
  54. package/dist/hardware/task/client.d.ts.map +1 -1
  55. package/dist/hardware/task/index.d.ts +1 -1
  56. package/dist/hardware/task/index.d.ts.map +1 -1
  57. package/dist/index.d.ts +4 -3
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/label/client.d.ts +8 -6
  60. package/dist/label/client.d.ts.map +1 -1
  61. package/dist/label/payload.d.ts +2 -1
  62. package/dist/label/retriever.d.ts +3 -2
  63. package/dist/label/writer.d.ts +4 -3
  64. package/dist/ontology/client.d.ts +82 -14
  65. package/dist/ontology/client.d.ts.map +1 -1
  66. package/dist/ontology/external.d.ts +0 -1
  67. package/dist/ontology/external.d.ts.map +1 -1
  68. package/dist/ontology/group/client.d.ts +3 -2
  69. package/dist/ontology/group/client.d.ts.map +1 -1
  70. package/dist/ontology/group/group.d.ts +1 -0
  71. package/dist/ontology/group/payload.d.ts +2 -1
  72. package/dist/ontology/group/writer.d.ts +4 -3
  73. package/dist/ontology/payload.d.ts +71 -60
  74. package/dist/ontology/payload.d.ts.map +1 -1
  75. package/dist/ontology/writer.d.ts +3 -2
  76. package/dist/ranger/active.d.ts +3 -2
  77. package/dist/ranger/alias.d.ts +7 -6
  78. package/dist/ranger/alias.d.ts.map +1 -1
  79. package/dist/ranger/client.d.ts +162 -11
  80. package/dist/ranger/client.d.ts.map +1 -1
  81. package/dist/ranger/external.d.ts +0 -1
  82. package/dist/ranger/external.d.ts.map +1 -1
  83. package/dist/ranger/kv.d.ts +5 -3
  84. package/dist/ranger/kv.d.ts.map +1 -1
  85. package/dist/ranger/payload.d.ts +57 -50
  86. package/dist/ranger/payload.d.ts.map +1 -1
  87. package/dist/ranger/range.d.ts +12 -10
  88. package/dist/ranger/range.d.ts.map +1 -1
  89. package/dist/ranger/writer.d.ts +3 -2
  90. package/dist/setupspecs.d.ts +2 -1
  91. package/dist/signals/observable.d.ts +8 -15
  92. package/dist/signals/observable.d.ts.map +1 -1
  93. package/dist/transport.d.ts +3 -2
  94. package/dist/transport.d.ts.map +1 -1
  95. package/dist/user/payload.d.ts +2 -1
  96. package/dist/util/retrieve.d.ts +24 -0
  97. package/dist/util/retrieve.d.ts.map +1 -0
  98. package/dist/util/retrieve.spec.d.ts +2 -0
  99. package/dist/util/retrieve.spec.d.ts.map +1 -0
  100. package/dist/util/telem.d.ts +2 -1
  101. package/dist/util/telem.d.ts.map +1 -1
  102. package/dist/util/zod.d.ts +4 -0
  103. package/dist/util/zod.d.ts.map +1 -0
  104. package/dist/workspace/client.d.ts +9 -6
  105. package/dist/workspace/client.d.ts.map +1 -1
  106. package/dist/workspace/lineplot/client.d.ts +6 -5
  107. package/dist/workspace/lineplot/client.d.ts.map +1 -1
  108. package/dist/workspace/lineplot/payload.d.ts +3 -2
  109. package/dist/workspace/lineplot/payload.d.ts.map +1 -1
  110. package/dist/workspace/lineplot/retriever.d.ts +3 -2
  111. package/dist/workspace/lineplot/retriever.d.ts.map +1 -1
  112. package/dist/workspace/lineplot/writer.d.ts +7 -6
  113. package/dist/workspace/lineplot/writer.d.ts.map +1 -1
  114. package/dist/workspace/payload.d.ts +3 -2
  115. package/dist/workspace/payload.d.ts.map +1 -1
  116. package/dist/workspace/retriever.d.ts +3 -2
  117. package/dist/workspace/schematic/client.d.ts +18 -0
  118. package/dist/workspace/schematic/client.d.ts.map +1 -0
  119. package/dist/workspace/schematic/external.d.ts.map +1 -0
  120. package/dist/workspace/schematic/index.d.ts +2 -0
  121. package/dist/workspace/schematic/index.d.ts.map +1 -0
  122. package/dist/workspace/{pid → schematic}/payload.d.ts +6 -5
  123. package/dist/workspace/schematic/payload.d.ts.map +1 -0
  124. package/dist/workspace/schematic/retriever.d.ts +10 -0
  125. package/dist/workspace/schematic/retriever.d.ts.map +1 -0
  126. package/dist/workspace/schematic/schematic.spec.d.ts +2 -0
  127. package/dist/workspace/schematic/schematic.spec.d.ts.map +1 -0
  128. package/dist/workspace/{pid → schematic}/writer.d.ts +11 -10
  129. package/dist/workspace/schematic/writer.d.ts.map +1 -0
  130. package/dist/workspace/writer.d.ts +5 -4
  131. package/dist/workspace/writer.d.ts.map +1 -1
  132. package/examples/node/package-lock.json +29 -12
  133. package/examples/node/package.json +2 -2
  134. package/examples/node/streamWrite.js +8 -11
  135. package/package.json +10 -9
  136. package/src/auth/auth.spec.ts +55 -15
  137. package/src/auth/auth.ts +41 -42
  138. package/src/channel/batchRetriever.spec.ts +37 -40
  139. package/src/channel/channel.spec.ts +4 -4
  140. package/src/channel/client.ts +42 -49
  141. package/src/channel/creator.ts +37 -0
  142. package/src/channel/payload.ts +2 -1
  143. package/src/channel/retriever.ts +55 -71
  144. package/src/client.ts +23 -20
  145. package/src/connection/checker.ts +1 -1
  146. package/src/connection/connection.spec.ts +1 -6
  147. package/src/control/state.ts +3 -1
  148. package/src/errors.ts +71 -67
  149. package/src/framer/adapter.spec.ts +33 -1
  150. package/src/framer/adapter.ts +10 -6
  151. package/src/framer/client.ts +13 -12
  152. package/src/framer/frame.spec.ts +1 -1
  153. package/src/framer/frame.ts +9 -6
  154. package/src/framer/iterator.spec.ts +1 -1
  155. package/src/framer/iterator.ts +1 -1
  156. package/src/framer/streamProxy.ts +12 -13
  157. package/src/framer/streamer.spec.ts +1 -1
  158. package/src/framer/streamer.ts +25 -1
  159. package/src/framer/writer.spec.ts +49 -2
  160. package/src/framer/writer.ts +27 -2
  161. package/src/hardware/device/client.ts +155 -28
  162. package/src/hardware/device/device.spec.ts +2 -2
  163. package/src/hardware/device/external.ts +0 -2
  164. package/src/hardware/device/index.ts +2 -2
  165. package/src/hardware/rack/client.ts +139 -56
  166. package/src/hardware/rack/external.ts +0 -2
  167. package/src/hardware/rack/rack.spec.ts +20 -1
  168. package/src/hardware/task/client.ts +324 -31
  169. package/src/hardware/task/index.ts +1 -1
  170. package/src/hardware/task/task.spec.ts +41 -0
  171. package/src/index.ts +3 -4
  172. package/src/label/client.ts +3 -2
  173. package/src/label/retriever.ts +1 -1
  174. package/src/label/writer.ts +1 -1
  175. package/src/ontology/client.ts +195 -41
  176. package/src/ontology/external.ts +0 -1
  177. package/src/ontology/group/client.ts +1 -2
  178. package/src/ontology/group/payload.ts +1 -1
  179. package/src/ontology/ontology.spec.ts +16 -0
  180. package/src/ontology/payload.ts +22 -13
  181. package/src/ranger/active.ts +5 -5
  182. package/src/ranger/alias.ts +2 -2
  183. package/src/ranger/client.ts +68 -17
  184. package/src/ranger/external.ts +0 -1
  185. package/src/ranger/kv.ts +6 -1
  186. package/src/ranger/payload.ts +6 -4
  187. package/src/ranger/range.ts +4 -1
  188. package/src/ranger/ranger.spec.ts +24 -2
  189. package/src/signals/observable.ts +24 -63
  190. package/src/transport.ts +2 -1
  191. package/src/util/retrieve.spec.ts +56 -0
  192. package/src/util/retrieve.ts +103 -0
  193. package/src/util/telem.ts +1 -1
  194. package/src/util/zod.ts +4 -0
  195. package/src/workspace/client.ts +6 -4
  196. package/src/workspace/lineplot/client.ts +3 -3
  197. package/src/workspace/lineplot/linePlot.spec.ts +11 -11
  198. package/src/workspace/lineplot/payload.ts +1 -1
  199. package/src/workspace/lineplot/retriever.ts +5 -13
  200. package/src/workspace/lineplot/writer.ts +8 -7
  201. package/src/workspace/payload.ts +6 -3
  202. package/src/workspace/retriever.ts +1 -1
  203. package/src/workspace/{pid → schematic}/client.ts +10 -10
  204. package/src/workspace/{pid → schematic}/external.ts +2 -2
  205. package/src/workspace/{pid → schematic}/index.ts +1 -1
  206. package/src/workspace/{pid → schematic}/payload.ts +4 -4
  207. package/src/workspace/{pid → schematic}/retriever.ts +10 -10
  208. package/src/workspace/{pid/pid.spec.ts → schematic/schematic.spec.ts} +35 -35
  209. package/src/workspace/{pid → schematic}/writer.ts +26 -25
  210. package/src/workspace/workspace.spec.ts +7 -7
  211. package/src/workspace/writer.ts +8 -2
  212. package/dist/hardware/device/payload.d.ts +0 -30
  213. package/dist/hardware/device/payload.d.ts.map +0 -1
  214. package/dist/hardware/device/retriever.d.ts +0 -10
  215. package/dist/hardware/device/retriever.d.ts.map +0 -1
  216. package/dist/hardware/device/writer.d.ts +0 -9
  217. package/dist/hardware/device/writer.d.ts.map +0 -1
  218. package/dist/hardware/rack/payload.d.ts +0 -26
  219. package/dist/hardware/rack/payload.d.ts.map +0 -1
  220. package/dist/hardware/rack/retriever.d.ts +0 -10
  221. package/dist/hardware/rack/retriever.d.ts.map +0 -1
  222. package/dist/hardware/rack/writer.d.ts +0 -9
  223. package/dist/hardware/rack/writer.d.ts.map +0 -1
  224. package/dist/hardware/task/external.d.ts +0 -4
  225. package/dist/hardware/task/external.d.ts.map +0 -1
  226. package/dist/hardware/task/payload.d.ts +0 -42
  227. package/dist/hardware/task/payload.d.ts.map +0 -1
  228. package/dist/hardware/task/retriever.d.ts +0 -29
  229. package/dist/hardware/task/retriever.d.ts.map +0 -1
  230. package/dist/hardware/task/writer.d.ts +0 -9
  231. package/dist/hardware/task/writer.d.ts.map +0 -1
  232. package/dist/ontology/retriever.d.ts +0 -13
  233. package/dist/ontology/retriever.d.ts.map +0 -1
  234. package/dist/ontology/signals.d.ts +0 -30
  235. package/dist/ontology/signals.d.ts.map +0 -1
  236. package/dist/ranger/retriever.d.ts +0 -11
  237. package/dist/ranger/retriever.d.ts.map +0 -1
  238. package/dist/workspace/pid/client.d.ts +0 -17
  239. package/dist/workspace/pid/client.d.ts.map +0 -1
  240. package/dist/workspace/pid/external.d.ts.map +0 -1
  241. package/dist/workspace/pid/index.d.ts +0 -2
  242. package/dist/workspace/pid/index.d.ts.map +0 -1
  243. package/dist/workspace/pid/payload.d.ts.map +0 -1
  244. package/dist/workspace/pid/pid.spec.d.ts +0 -2
  245. package/dist/workspace/pid/pid.spec.d.ts.map +0 -1
  246. package/dist/workspace/pid/retriever.d.ts +0 -9
  247. package/dist/workspace/pid/retriever.d.ts.map +0 -1
  248. package/dist/workspace/pid/writer.d.ts.map +0 -1
  249. package/src/hardware/device/payload.ts +0 -27
  250. package/src/hardware/device/retriever.ts +0 -60
  251. package/src/hardware/device/writer.ts +0 -59
  252. package/src/hardware/rack/payload.ts +0 -26
  253. package/src/hardware/rack/retriever.ts +0 -68
  254. package/src/hardware/rack/writer.ts +0 -59
  255. package/src/hardware/task/external.ts +0 -12
  256. package/src/hardware/task/payload.ts +0 -40
  257. package/src/hardware/task/retriever.ts +0 -70
  258. package/src/hardware/task/writer.ts +0 -65
  259. package/src/ontology/retriever.ts +0 -91
  260. package/src/ontology/signals.ts +0 -139
  261. package/src/ranger/retriever.ts +0 -50
  262. /package/dist/workspace/{pid → schematic}/external.d.ts +0 -0
@@ -1,16 +1,16 @@
1
1
 
2
- > @synnaxlabs/client@0.20.0 build /home/runner/work/synnax/synnax/client/ts
2
+ > @synnaxlabs/client@0.22.0 build /home/runner/work/synnax/synnax/client/ts
3
3
  > tsc --noEmit && vite build
4
4
 
5
- vite v5.1.2 building for production...
5
+ vite v5.2.8 building for production...
6
6
  transforming...
7
- ✓ 103 modules transformed.
7
+ ✓ 122 modules transformed.
8
8
  rendering chunks...
9
9
  
10
10
  [vite:dts] Start generate declaration files...
11
11
  computing gzip size...
12
- dist/client.js 465.47 kB │ gzip: 97.43 kB │ map: 1,062.29 kB
13
- [vite:dts] Declaration files built in 4062ms.
12
+ dist/client.js 474.36 kB │ gzip: 100.51 kB │ map: 1,083.78 kB
13
+ [vite:dts] Declaration files built in 4096ms.
14
14
  
15
- dist/client.cjs 308.94 kB │ gzip: 75.84 kB │ map: 1,010.66 kB
16
- ✓ built in 5.39s
15
+ dist/client.cjs 315.71 kB │ gzip: 78.27 kB │ map: 1,031.92 kB
16
+ ✓ built in 5.63s
@@ -0,0 +1,3 @@
1
+ {
2
+ "vitest.disableWorkspaceWarning": true
3
+ }
package/README.md CHANGED
@@ -10,3 +10,16 @@ Detailed documentation is available [here](https://docs.synnaxlabs.com/typescrip
10
10
  npm install @synnaxlabs/client
11
11
  ```
12
12
 
13
+ ## Development
14
+
15
+ Synnax's TypeScript client unit tests are written in [Vitest](https://vitest.dev/). To test the framework, run
16
+
17
+ ```bash
18
+ pnpm test
19
+ ```
20
+
21
+ Before running tests, make sure you build upstream dependencies, as specified in [this document](../../docs/tech/typescript/build.md):
22
+
23
+ ```
24
+ pnpm build:PACKAGE_NAME
25
+ ```
@@ -1,7 +1,7 @@
1
- import type { Middleware, UnaryClient } from "@synnaxlabs/freighter";
2
- import { z } from "zod";
3
1
  import { user } from '../user';
4
- export declare const tokenMiddleware: (token: () => Promise<string>) => Middleware;
2
+ import { z } from 'zod';
3
+ import { Middleware, UnaryClient } from '@synnaxlabs/freighter';
4
+
5
5
  export declare const insecureCredentialsZ: z.ZodObject<{
6
6
  username: z.ZodString;
7
7
  password: z.ZodString;
@@ -40,13 +40,14 @@ export declare const tokenResponseZ: z.ZodObject<{
40
40
  }>;
41
41
  export type TokenResponse = z.infer<typeof tokenResponseZ>;
42
42
  export declare class Client {
43
- private token;
43
+ token: string | undefined;
44
44
  private readonly client;
45
- authenticating: Promise<void> | undefined;
45
+ private readonly credentials;
46
+ private authenticating;
46
47
  authenticated: boolean;
47
48
  user: user.Payload | undefined;
49
+ private retryCount;
48
50
  constructor(client: UnaryClient, credentials: InsecureCredentials);
49
- authenticate(credentials: InsecureCredentials): void;
50
51
  middleware(): Middleware;
51
52
  }
52
53
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,eAAe,UAClB,MAAM,QAAQ,MAAM,CAAC,KAAG,UAS/B,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAI3D,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBAEnB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB;IAMjE,YAAY,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAoBpD,UAAU,IAAI,UAAU;CAQzB"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM3D,qBAAa,MAAM;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,cAAc,CAAoC;IAC1D,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB;IAOjE,UAAU,IAAI,UAAU;CAkCzB"}
@@ -1,9 +1,11 @@
1
- import { type UnaryClient } from "@synnaxlabs/freighter";
2
- import { DataType, Rate, type TypedArray, type CrudeDensity, type TimeRange, type AsyncTermSearcher, type CrudeTimeStamp, type MultiSeries } from "@synnaxlabs/x";
3
- import { type Key, type KeyOrName, type Params, type Payload, type NewPayload } from './payload';
4
- import { type Retriever } from './retriever';
5
- import { type Writer } from './writer';
6
- import { type framer } from '../framer';
1
+ import { framer } from '../framer';
2
+ import { Writer } from './writer';
3
+ import { Retriever, RetrieveOptions } from './retriever';
4
+ import { Key, KeyOrName, Params, Payload, NewPayload } from './payload';
5
+ import { DataType, Rate, TypedArray, CrudeDensity, TimeRange, CrudeTimeStamp, MultiSeries } from '@synnaxlabs/x/telem';
6
+ import { AsyncTermSearcher } from '@synnaxlabs/x/search';
7
+ import { UnaryClient } from '@synnaxlabs/freighter';
8
+
7
9
  interface CreateOptions {
8
10
  retrieveIfNameExists?: boolean;
9
11
  }
@@ -89,6 +91,7 @@ export declare class Channel {
89
91
  * through the `channels` property of an {@link Synnax} client.
90
92
  */
91
93
  export declare class Client implements AsyncTermSearcher<string, Key, Channel> {
94
+ readonly type = "channel";
92
95
  private readonly frameClient;
93
96
  private readonly client;
94
97
  readonly retriever: Retriever;
@@ -175,7 +178,7 @@ export declare class Client implements AsyncTermSearcher<string, Key, Channel> {
175
178
  * const channel = await client.channels.retrieve(1);
176
179
  * ```
177
180
  */
178
- retrieve(channel: KeyOrName, rangeKey?: string): Promise<Channel>;
181
+ retrieve(channel: KeyOrName, options?: RetrieveOptions): Promise<Channel>;
179
182
  /**
180
183
  * Retrieves multiple channels from the database using the provided keys or the
181
184
  * provided names.
@@ -188,11 +191,11 @@ export declare class Client implements AsyncTermSearcher<string, Key, Channel> {
188
191
  * @param options.notDataTypes - Limits the query to only channels without the specified
189
192
  *
190
193
  */
191
- retrieve(channels: Params, rangeKey?: string): Promise<Channel[]>;
194
+ retrieve(channels: Params, options?: RetrieveOptions): Promise<Channel[]>;
195
+ search(term: string, options?: RetrieveOptions): Promise<Channel[]>;
192
196
  delete(channels: Params): Promise<void>;
193
- search(term: string, rangeKey?: string): Promise<Channel[]>;
194
- newSearcherUnderRange(rangeKey?: string): AsyncTermSearcher<string, Key, Channel>;
195
- page(offset: number, limit: number, rangeKey?: string): Promise<Channel[]>;
197
+ newSearcherWithOptions(options: RetrieveOptions): AsyncTermSearcher<string, Key, Channel>;
198
+ page(offset: number, limit: number, options?: Omit<RetrieveOptions, "limit" | "offset">): Promise<Channel[]>;
196
199
  createDebouncedBatchRetriever(deb?: number): Retriever;
197
200
  private sugar;
198
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/channel/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/channel/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Payload, NewPayload } from './payload';
2
+ import { UnaryClient } from '@synnaxlabs/freighter';
3
+
4
+ export declare class Creator {
5
+ private static readonly ENDPOINT;
6
+ private readonly client;
7
+ constructor(client: UnaryClient);
8
+ create(channels: NewPayload[]): Promise<Payload[]>;
9
+ }
10
+ //# sourceMappingURL=creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../../src/channel/creator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,KAAK,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMvF,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,WAAW;IAIzB,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAUzD"}
@@ -1,5 +1,6 @@
1
- import { DataType, Rate } from "@synnaxlabs/x";
2
- import { z } from "zod";
1
+ import { z } from 'zod';
2
+ import { DataType, Rate } from '@synnaxlabs/x/telem';
3
+
3
4
  export declare const keyZ: z.ZodNumber;
4
5
  export type Key = number;
5
6
  export type Keys = number[];
@@ -46,10 +47,12 @@ export declare const newPayload: z.ZodObject<{
46
47
  index: z.ZodOptional<z.ZodNumber>;
47
48
  rate: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodNumber, Rate, number>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, Rate, Number>, z.ZodType<Rate, z.ZodTypeDef, Rate>]>>>;
48
49
  isIndex: z.ZodOptional<z.ZodBoolean>;
50
+ virtual: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
49
51
  }, "strip", z.ZodTypeAny, {
50
52
  name: string;
51
53
  rate: Rate;
52
54
  dataType: DataType;
55
+ virtual: boolean;
53
56
  alias?: string | undefined;
54
57
  key?: number | undefined;
55
58
  leaseholder?: number | undefined;
@@ -64,6 +67,7 @@ export declare const newPayload: z.ZodObject<{
64
67
  index?: number | undefined;
65
68
  rate?: number | Number | Rate | undefined;
66
69
  isIndex?: boolean | undefined;
70
+ virtual?: boolean | undefined;
67
71
  }>;
68
72
  export type NewPayload = z.input<typeof newPayload>;
69
73
  //# sourceMappingURL=payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/channel/payload.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;AAC7B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/channel/payload.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;AAC7B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1,17 +1,68 @@
1
- import type { UnaryClient } from "@synnaxlabs/freighter";
2
- import { type Key, type Keys, type Name, type Names, type Params, type Payload } from './payload';
1
+ import { ParamAnalysisResult } from '../util/retrieve';
2
+ import { KeyOrName, Params, Payload } from './payload';
3
+ import { z } from 'zod';
4
+ import { DataType } from '@synnaxlabs/x/telem';
5
+ import { UnaryClient } from '@synnaxlabs/freighter';
6
+
7
+ declare const reqZ: z.ZodObject<{
8
+ leaseholder: z.ZodOptional<z.ZodNumber>;
9
+ keys: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
10
+ names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ search: z.ZodOptional<z.ZodString>;
12
+ rangeKey: z.ZodOptional<z.ZodString>;
13
+ limit: z.ZodOptional<z.ZodNumber>;
14
+ offset: z.ZodOptional<z.ZodNumber>;
15
+ dataTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodString, DataType, string>, z.ZodType<DataType, z.ZodTypeDef, DataType>]>, "many">>;
16
+ notDataTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodString, DataType, string>, z.ZodType<DataType, z.ZodTypeDef, DataType>]>, "many">>;
17
+ virtual: z.ZodOptional<z.ZodBoolean>;
18
+ isIndex: z.ZodOptional<z.ZodBoolean>;
19
+ internal: z.ZodOptional<z.ZodBoolean>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ leaseholder?: number | undefined;
22
+ keys?: number[] | undefined;
23
+ names?: string[] | undefined;
24
+ search?: string | undefined;
25
+ rangeKey?: string | undefined;
26
+ limit?: number | undefined;
27
+ offset?: number | undefined;
28
+ dataTypes?: DataType[] | undefined;
29
+ notDataTypes?: DataType[] | undefined;
30
+ virtual?: boolean | undefined;
31
+ isIndex?: boolean | undefined;
32
+ internal?: boolean | undefined;
33
+ }, {
34
+ leaseholder?: number | undefined;
35
+ keys?: number[] | undefined;
36
+ names?: string[] | undefined;
37
+ search?: string | undefined;
38
+ rangeKey?: string | undefined;
39
+ limit?: number | undefined;
40
+ offset?: number | undefined;
41
+ dataTypes?: (string | DataType)[] | undefined;
42
+ notDataTypes?: (string | DataType)[] | undefined;
43
+ virtual?: boolean | undefined;
44
+ isIndex?: boolean | undefined;
45
+ internal?: boolean | undefined;
46
+ }>;
47
+ type Request = z.input<typeof reqZ>;
48
+ export type RetrieveOptions = Omit<Request, "keys" | "names" | "search">;
49
+ export type PageOptions = Omit<RetrieveOptions, "offset" | "limit">;
50
+ export declare const analyzeChannelParams: (channels: Params) => ParamAnalysisResult<KeyOrName, {
51
+ number: "keys";
52
+ string: "names";
53
+ }>;
3
54
  export interface Retriever {
4
- retrieve: (channels: Params, rangeKey?: string) => Promise<Payload[]>;
5
- search: (term: string, rangeKey?: string) => Promise<Payload[]>;
6
- page: (offset: number, limit: number, rangeKey?: string) => Promise<Payload[]>;
55
+ retrieve: (channels: Params, opts?: RetrieveOptions) => Promise<Payload[]>;
56
+ search: (term: string, opts?: RetrieveOptions) => Promise<Payload[]>;
57
+ page: (offset: number, limit: number, opts?: PageOptions) => Promise<Payload[]>;
7
58
  }
8
59
  export declare class ClusterRetriever implements Retriever {
9
60
  private static readonly ENDPOINT;
10
61
  private readonly client;
11
62
  constructor(client: UnaryClient);
12
- search(term: string, rangeKey?: string): Promise<Payload[]>;
13
- retrieve(channels: Params, rangeKey?: string): Promise<Payload[]>;
14
- page(offset: number, limit: number, rangeKey?: string): Promise<Payload[]>;
63
+ search(term: string, options?: RetrieveOptions): Promise<Payload[]>;
64
+ retrieve(channels: Params, options?: RetrieveOptions): Promise<Payload[]>;
65
+ page(offset: number, limit: number, options?: PageOptions): Promise<Payload[]>;
15
66
  private execute;
16
67
  }
17
68
  export declare class CacheRetriever implements Retriever {
@@ -19,34 +70,12 @@ export declare class CacheRetriever implements Retriever {
19
70
  private readonly namesToKeys;
20
71
  private readonly wrapped;
21
72
  constructor(wrapped: Retriever);
22
- search(term: string, rangeKey?: string): Promise<Payload[]>;
23
- page(offset: number, limit: number, rangeKey?: string): Promise<Payload[]>;
24
- retrieve(channels: Params): Promise<Payload[]>;
73
+ search(term: string, options?: RetrieveOptions): Promise<Payload[]>;
74
+ page(offset: number, limit: number, options?: PageOptions): Promise<Payload[]>;
75
+ retrieve(channels: Params, options?: RetrieveOptions): Promise<Payload[]>;
25
76
  private updateCache;
26
77
  private getFromCache;
27
78
  }
28
- export type ParamAnalysisResult = {
29
- single: true;
30
- variant: "names";
31
- normalized: Names;
32
- actual: Name;
33
- } | {
34
- single: true;
35
- variant: "keys";
36
- normalized: Keys;
37
- actual: Key;
38
- } | {
39
- single: false;
40
- variant: "keys";
41
- normalized: Keys;
42
- actual: Keys;
43
- } | {
44
- single: false;
45
- variant: "names";
46
- normalized: Names;
47
- actual: Names;
48
- };
49
- export declare const analyzeParams: (channels: Params) => ParamAnalysisResult;
50
79
  export interface PromiseFns<T> {
51
80
  resolve: (value: T) => void;
52
81
  reject: (reason?: any) => void;
@@ -57,10 +86,11 @@ export declare class DebouncedBatchRetriever implements Retriever {
57
86
  private readonly wrapped;
58
87
  private readonly debouncedRun;
59
88
  constructor(wrapped: Retriever, deb: number);
60
- search(term: string, rangeKey?: string): Promise<Payload[]>;
61
- page(offset: number, limit: number, rangeKey?: string): Promise<Payload[]>;
89
+ search(term: string, options?: RetrieveOptions): Promise<Payload[]>;
90
+ page(offset: number, limit: number, options?: RetrieveOptions): Promise<Payload[]>;
62
91
  retrieve(channels: Params): Promise<Payload[]>;
63
92
  run(): Promise<void>;
64
93
  }
65
94
  export declare const retrieveRequired: (r: Retriever, params: Params) => Promise<Payload[]>;
95
+ export {};
66
96
  //# sourceMappingURL=retriever.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/channel/retriever.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/channel/retriever.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { type UnaryClient } from "@synnaxlabs/freighter";
2
- import { z } from "zod";
3
- import { type Payload, type NewPayload } from './payload';
1
+ import { Payload, NewPayload } from './payload';
2
+ import { z } from 'zod';
3
+ import { UnaryClient } from '@synnaxlabs/freighter';
4
+
4
5
  declare const deleteReqZ: z.ZodObject<{
5
6
  keys: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
6
7
  names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;