@synnaxlabs/client 0.2.1 → 0.13.5

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 (292) hide show
  1. package/.eslintrc.cjs +18 -0
  2. package/.pytest_cache/README.md +8 -0
  3. package/.turbo/turbo-build.log +16 -0
  4. package/LICENSE +4 -21
  5. package/{build/module/lib → dist/auth}/auth.d.ts +16 -19
  6. package/dist/auth/index.d.ts +1 -0
  7. package/dist/cdc/external.d.ts +1 -0
  8. package/dist/cdc/index.d.ts +1 -0
  9. package/dist/cdc/observable.d.ts +17 -0
  10. package/dist/channel/client.d.ts +58 -0
  11. package/dist/channel/creator.d.ts +8 -0
  12. package/dist/channel/external.d.ts +4 -0
  13. package/dist/channel/index.d.ts +1 -0
  14. package/dist/channel/payload.d.ts +63 -0
  15. package/dist/channel/retriever.d.ts +49 -0
  16. package/dist/client.cjs.js +23050 -0
  17. package/dist/client.cjs.js.map +1 -0
  18. package/dist/client.d.ts +73 -0
  19. package/dist/client.es.js +23050 -0
  20. package/dist/client.es.js.map +1 -0
  21. package/dist/connection/checker.d.ts +66 -0
  22. package/dist/connection/index.d.ts +1 -0
  23. package/dist/control/authority.d.ts +6 -0
  24. package/dist/control/external.d.ts +2 -0
  25. package/dist/control/index.d.ts +1 -0
  26. package/dist/control/state.d.ts +81 -0
  27. package/{build/main/lib → dist}/errors.d.ts +6 -3
  28. package/dist/framer/adapter.d.ts +21 -0
  29. package/dist/framer/client.d.ts +44 -0
  30. package/dist/framer/external.d.ts +5 -0
  31. package/dist/framer/frame.d.ts +251 -0
  32. package/dist/framer/index.d.ts +1 -0
  33. package/{build/module/lib/segment → dist/framer}/iterator.d.ts +32 -64
  34. package/dist/framer/streamProxy.d.ts +12 -0
  35. package/dist/framer/streamer.d.ts +17 -0
  36. package/dist/framer/writer.d.ts +257 -0
  37. package/dist/index.d.ts +16 -0
  38. package/dist/label/client.d.ts +25 -0
  39. package/dist/label/external.d.ts +4 -0
  40. package/dist/label/index.d.ts +1 -0
  41. package/dist/label/payload.d.ts +20 -0
  42. package/dist/label/retriever.d.ts +13 -0
  43. package/dist/label/writer.d.ts +26 -0
  44. package/dist/ontology/cdc.d.ts +25 -0
  45. package/dist/ontology/client.d.ts +25 -0
  46. package/dist/ontology/external.d.ts +3 -0
  47. package/dist/ontology/group/client.d.ts +11 -0
  48. package/dist/ontology/group/external.d.ts +2 -0
  49. package/dist/ontology/group/group.d.ts +7 -0
  50. package/dist/ontology/group/index.d.ts +1 -0
  51. package/dist/ontology/group/payload.d.ts +40 -0
  52. package/dist/ontology/group/writer.d.ts +13 -0
  53. package/dist/ontology/index.d.ts +1 -0
  54. package/dist/ontology/ontology.spec.d.ts +1 -0
  55. package/dist/ontology/payload.d.ts +235 -0
  56. package/dist/ontology/retriever.d.ts +12 -0
  57. package/dist/ontology/signals.d.ts +25 -0
  58. package/dist/ontology/writer.d.ts +9 -0
  59. package/dist/ranger/active.d.ts +9 -0
  60. package/dist/ranger/alias.d.ts +32 -0
  61. package/dist/ranger/client.d.ts +31 -0
  62. package/dist/ranger/external.d.ts +6 -0
  63. package/dist/ranger/index.d.ts +1 -0
  64. package/dist/ranger/kv.d.ts +50 -0
  65. package/dist/ranger/payload.d.ts +94 -0
  66. package/dist/ranger/range.d.ts +29 -0
  67. package/dist/ranger/ranger.spec.d.ts +1 -0
  68. package/dist/ranger/retriever.d.ts +10 -0
  69. package/dist/ranger/writer.d.ts +9 -0
  70. package/{build/main → dist}/setupspecs.d.ts +2 -2
  71. package/dist/signals/external.d.ts +1 -0
  72. package/dist/signals/index.d.ts +1 -0
  73. package/dist/signals/observable.d.ts +17 -0
  74. package/dist/transport.d.ts +10 -0
  75. package/dist/user/index.d.ts +1 -0
  76. package/{build/main/lib → dist}/user/payload.d.ts +3 -3
  77. package/dist/util/telem.d.ts +2 -0
  78. package/dist/workspace/client.d.ts +22 -0
  79. package/dist/workspace/external.d.ts +2 -0
  80. package/dist/workspace/index.d.ts +1 -0
  81. package/dist/workspace/lineplot/client.d.ts +15 -0
  82. package/dist/workspace/lineplot/external.d.ts +2 -0
  83. package/dist/workspace/lineplot/index.d.ts +1 -0
  84. package/dist/workspace/lineplot/linePlot.spec.d.ts +1 -0
  85. package/dist/workspace/lineplot/payload.d.ts +31 -0
  86. package/dist/workspace/lineplot/retriever.d.ts +9 -0
  87. package/dist/workspace/lineplot/writer.d.ts +39 -0
  88. package/dist/workspace/payload.d.ts +31 -0
  89. package/dist/workspace/pid/client.d.ts +16 -0
  90. package/dist/workspace/pid/external.d.ts +2 -0
  91. package/dist/workspace/pid/index.d.ts +1 -0
  92. package/dist/workspace/pid/payload.d.ts +37 -0
  93. package/dist/workspace/pid/pid.spec.d.ts +1 -0
  94. package/dist/workspace/pid/retriever.d.ts +9 -0
  95. package/dist/workspace/pid/writer.d.ts +46 -0
  96. package/dist/workspace/retriever.d.ts +12 -0
  97. package/dist/workspace/workspace.spec.d.ts +1 -0
  98. package/dist/workspace/writer.d.ts +55 -0
  99. package/package.json +27 -98
  100. package/src/auth/auth.spec.ts +46 -0
  101. package/src/auth/auth.ts +83 -0
  102. package/src/auth/index.ts +10 -0
  103. package/src/cdc/external.ts +10 -0
  104. package/src/cdc/index.ts +10 -0
  105. package/src/cdc/observable.ts +80 -0
  106. package/src/channel/channel.spec.ts +82 -0
  107. package/src/channel/client.ts +209 -0
  108. package/src/channel/creator.ts +43 -0
  109. package/src/channel/external.ts +13 -0
  110. package/src/channel/index.ts +10 -0
  111. package/src/channel/payload.ts +52 -0
  112. package/src/channel/retriever.ts +160 -0
  113. package/src/client.ts +112 -0
  114. package/src/connection/checker.ts +104 -0
  115. package/src/connection/connection.spec.ts +35 -0
  116. package/src/connection/index.ts +10 -0
  117. package/src/control/authority.ts +25 -0
  118. package/src/control/external.ts +11 -0
  119. package/src/control/index.ts +10 -0
  120. package/src/control/state.spec.ts +24 -0
  121. package/src/control/state.ts +117 -0
  122. package/src/errors.ts +153 -0
  123. package/src/framer/adapter.ts +116 -0
  124. package/src/framer/client.ts +116 -0
  125. package/src/framer/external.ts +14 -0
  126. package/src/framer/frame.spec.ts +317 -0
  127. package/src/framer/frame.ts +412 -0
  128. package/src/framer/index.ts +10 -0
  129. package/src/framer/iterator.spec.ts +62 -0
  130. package/src/framer/iterator.ts +240 -0
  131. package/src/framer/streamProxy.ts +59 -0
  132. package/src/framer/streamer.spec.ts +42 -0
  133. package/src/framer/streamer.ts +86 -0
  134. package/src/framer/writer.spec.ts +52 -0
  135. package/src/framer/writer.ts +236 -0
  136. package/src/index.ts +52 -0
  137. package/src/ontology/cdc.ts +135 -0
  138. package/src/ontology/client.ts +103 -0
  139. package/src/ontology/external.ts +12 -0
  140. package/src/ontology/group/client.ts +40 -0
  141. package/src/ontology/group/external.ts +11 -0
  142. package/src/ontology/group/group.spec.ts +46 -0
  143. package/src/ontology/group/group.ts +27 -0
  144. package/src/ontology/group/index.ts +10 -0
  145. package/src/ontology/group/payload.ts +65 -0
  146. package/src/ontology/group/writer.ts +48 -0
  147. package/src/ontology/index.ts +10 -0
  148. package/src/ontology/ontology.spec.ts +114 -0
  149. package/src/ontology/payload.ts +121 -0
  150. package/src/ontology/retriever.ts +91 -0
  151. package/src/ontology/writer.ts +49 -0
  152. package/src/ranger/active.ts +56 -0
  153. package/src/ranger/alias.ts +183 -0
  154. package/src/ranger/client.ts +124 -0
  155. package/src/ranger/external.ts +15 -0
  156. package/src/ranger/index.ts +10 -0
  157. package/src/ranger/kv.ts +91 -0
  158. package/src/ranger/payload.ts +70 -0
  159. package/src/ranger/range.ts +74 -0
  160. package/src/ranger/ranger.spec.ts +167 -0
  161. package/src/ranger/retriever.ts +50 -0
  162. package/src/ranger/writer.ts +80 -0
  163. package/src/setupspecs.ts +25 -0
  164. package/src/transport.ts +39 -0
  165. package/src/user/index.ts +10 -0
  166. package/src/user/payload.ts +17 -0
  167. package/src/util/telem.ts +19 -0
  168. package/src/vite-env.d.ts +11 -0
  169. package/src/workspace/client.ts +75 -0
  170. package/src/workspace/external.ts +11 -0
  171. package/src/workspace/index.ts +10 -0
  172. package/src/workspace/lineplot/client.ts +51 -0
  173. package/src/workspace/lineplot/external.ts +11 -0
  174. package/src/workspace/lineplot/index.ts +10 -0
  175. package/src/workspace/lineplot/linePlot.spec.ts +78 -0
  176. package/src/workspace/lineplot/payload.ts +29 -0
  177. package/src/workspace/lineplot/retriever.ts +49 -0
  178. package/src/workspace/lineplot/writer.ts +109 -0
  179. package/src/workspace/payload.ts +29 -0
  180. package/src/workspace/pid/client.ts +55 -0
  181. package/src/workspace/pid/external.ts +11 -0
  182. package/src/workspace/pid/index.ts +10 -0
  183. package/src/workspace/pid/payload.ts +31 -0
  184. package/src/workspace/pid/pid.spec.ts +111 -0
  185. package/src/workspace/pid/retriever.ts +45 -0
  186. package/src/workspace/pid/writer.ts +130 -0
  187. package/src/workspace/retriever.ts +67 -0
  188. package/src/workspace/workspace.spec.ts +62 -0
  189. package/src/workspace/writer.ts +103 -0
  190. package/tsconfig.json +7 -0
  191. package/tsconfig.vite.json +4 -0
  192. package/vite.config.ts +25 -0
  193. package/CHANGELOG.md +0 -5
  194. package/build/main/index.d.ts +0 -4
  195. package/build/main/index.js +0 -35
  196. package/build/main/lib/auth.d.ts +0 -54
  197. package/build/main/lib/auth.js +0 -62
  198. package/build/main/lib/auth.spec.js +0 -39
  199. package/build/main/lib/channel/channel.spec.js +0 -49
  200. package/build/main/lib/channel/client.d.ts +0 -94
  201. package/build/main/lib/channel/client.js +0 -134
  202. package/build/main/lib/channel/creator.d.ts +0 -19
  203. package/build/main/lib/channel/creator.js +0 -44
  204. package/build/main/lib/channel/payload.d.ts +0 -25
  205. package/build/main/lib/channel/payload.js +0 -18
  206. package/build/main/lib/channel/registry.d.ts +0 -9
  207. package/build/main/lib/channel/registry.js +0 -37
  208. package/build/main/lib/channel/retriever.d.ts +0 -11
  209. package/build/main/lib/channel/retriever.js +0 -39
  210. package/build/main/lib/client.d.ts +0 -30
  211. package/build/main/lib/client.js +0 -46
  212. package/build/main/lib/errors.js +0 -122
  213. package/build/main/lib/segment/client.d.ts +0 -62
  214. package/build/main/lib/segment/client.js +0 -95
  215. package/build/main/lib/segment/iterator.d.ts +0 -134
  216. package/build/main/lib/segment/iterator.js +0 -253
  217. package/build/main/lib/segment/iterator.spec.js +0 -73
  218. package/build/main/lib/segment/payload.d.ts +0 -16
  219. package/build/main/lib/segment/payload.js +0 -13
  220. package/build/main/lib/segment/splitter.d.ts +0 -7
  221. package/build/main/lib/segment/splitter.js +0 -25
  222. package/build/main/lib/segment/typed.d.ts +0 -15
  223. package/build/main/lib/segment/typed.js +0 -49
  224. package/build/main/lib/segment/validator.d.ts +0 -22
  225. package/build/main/lib/segment/validator.js +0 -64
  226. package/build/main/lib/segment/writer.d.ts +0 -98
  227. package/build/main/lib/segment/writer.js +0 -183
  228. package/build/main/lib/segment/writer.spec.js +0 -90
  229. package/build/main/lib/telem.d.ts +0 -395
  230. package/build/main/lib/telem.js +0 -553
  231. package/build/main/lib/telem.spec.js +0 -152
  232. package/build/main/lib/transport.d.ts +0 -10
  233. package/build/main/lib/transport.js +0 -22
  234. package/build/main/lib/user/payload.js +0 -9
  235. package/build/main/lib/util/telem.d.ts +0 -2
  236. package/build/main/lib/util/telem.js +0 -13
  237. package/build/main/setupspecs.js +0 -17
  238. package/build/module/index.d.ts +0 -4
  239. package/build/module/index.js +0 -5
  240. package/build/module/lib/auth.js +0 -63
  241. package/build/module/lib/auth.spec.js +0 -34
  242. package/build/module/lib/channel/channel.spec.js +0 -44
  243. package/build/module/lib/channel/client.d.ts +0 -94
  244. package/build/module/lib/channel/client.js +0 -134
  245. package/build/module/lib/channel/creator.d.ts +0 -19
  246. package/build/module/lib/channel/creator.js +0 -42
  247. package/build/module/lib/channel/payload.d.ts +0 -25
  248. package/build/module/lib/channel/payload.js +0 -15
  249. package/build/module/lib/channel/registry.d.ts +0 -9
  250. package/build/module/lib/channel/registry.js +0 -36
  251. package/build/module/lib/channel/retriever.d.ts +0 -11
  252. package/build/module/lib/channel/retriever.js +0 -37
  253. package/build/module/lib/client.d.ts +0 -30
  254. package/build/module/lib/client.js +0 -44
  255. package/build/module/lib/errors.d.ts +0 -53
  256. package/build/module/lib/errors.js +0 -113
  257. package/build/module/lib/segment/client.d.ts +0 -62
  258. package/build/module/lib/segment/client.js +0 -94
  259. package/build/module/lib/segment/iterator.js +0 -248
  260. package/build/module/lib/segment/iterator.spec.js +0 -68
  261. package/build/module/lib/segment/payload.d.ts +0 -16
  262. package/build/module/lib/segment/payload.js +0 -10
  263. package/build/module/lib/segment/splitter.d.ts +0 -7
  264. package/build/module/lib/segment/splitter.js +0 -26
  265. package/build/module/lib/segment/typed.d.ts +0 -15
  266. package/build/module/lib/segment/typed.js +0 -49
  267. package/build/module/lib/segment/validator.d.ts +0 -22
  268. package/build/module/lib/segment/validator.js +0 -60
  269. package/build/module/lib/segment/writer.d.ts +0 -98
  270. package/build/module/lib/segment/writer.js +0 -183
  271. package/build/module/lib/segment/writer.spec.js +0 -85
  272. package/build/module/lib/telem.d.ts +0 -395
  273. package/build/module/lib/telem.js +0 -545
  274. package/build/module/lib/telem.spec.js +0 -147
  275. package/build/module/lib/transport.d.ts +0 -10
  276. package/build/module/lib/transport.js +0 -22
  277. package/build/module/lib/user/payload.d.ts +0 -12
  278. package/build/module/lib/user/payload.js +0 -6
  279. package/build/module/lib/util/telem.d.ts +0 -2
  280. package/build/module/lib/util/telem.js +0 -9
  281. package/build/module/setupspecs.d.ts +0 -4
  282. package/build/module/setupspecs.js +0 -16
  283. /package/{build/main/lib → dist/auth}/auth.spec.d.ts +0 -0
  284. /package/{build/main/lib → dist}/channel/channel.spec.d.ts +0 -0
  285. /package/{build/main/lib/segment/iterator.spec.d.ts → dist/connection/connection.spec.d.ts} +0 -0
  286. /package/{build/main/lib/segment/writer.spec.d.ts → dist/control/state.spec.d.ts} +0 -0
  287. /package/{build/main/lib/telem.spec.d.ts → dist/framer/frame.spec.d.ts} +0 -0
  288. /package/{build/module/lib/segment → dist/framer}/iterator.spec.d.ts +0 -0
  289. /package/{build/module/lib/auth.spec.d.ts → dist/framer/streamer.spec.d.ts} +0 -0
  290. /package/{build/module/lib/segment → dist/framer}/writer.spec.d.ts +0 -0
  291. /package/{build/module/lib/channel/channel.spec.d.ts → dist/label/label.spec.d.ts} +0 -0
  292. /package/{build/module/lib/telem.spec.d.ts → dist/ontology/group/group.spec.d.ts} +0 -0
@@ -1,134 +0,0 @@
1
- /**
2
- * Represents a Channel in a Synnax database. It should not be instantiated
3
- * directly, but rather created or retrieved from a {@link ChannelClient}.
4
- */
5
- export class Channel {
6
- segmentClient;
7
- payload;
8
- constructor(payload, segmentClient) {
9
- this.payload = payload;
10
- this.segmentClient = segmentClient;
11
- }
12
- get key() {
13
- if (!this.payload.key) {
14
- throw new Error('Channel key is not set');
15
- }
16
- return this.payload.key;
17
- }
18
- get name() {
19
- if (!this.payload.name) {
20
- throw new Error('Channel name is not set');
21
- }
22
- return this.payload.name;
23
- }
24
- get nodeId() {
25
- if (this.payload.nodeId === undefined) {
26
- throw new Error('Channel nodeId is not set');
27
- }
28
- return this.payload.nodeId;
29
- }
30
- get rate() {
31
- return this.payload.rate;
32
- }
33
- get dataType() {
34
- return this.payload.dataType;
35
- }
36
- get density() {
37
- if (!this.payload.density) {
38
- throw new Error('Channel density is not set');
39
- }
40
- return this.payload.density;
41
- }
42
- /**
43
- * Reads telemetry from the channel between the two timestamps.
44
- *
45
- * @param start - The starting timestamp of the range to read from.
46
- * @param end - The ending timestamp of the range to read from.
47
- * @returns a typed array containing the retrieved
48
- */
49
- async read(start, end) {
50
- return await this.segmentClient.read(this.key, start, end);
51
- }
52
- /**
53
- * Writes telemetry to the channel starting at the given timestamp.
54
- *
55
- * @param start - The starting timestamp of the first sample in data.
56
- * @param data - THe telemetry to write to the channel.
57
- */
58
- async write(start, data) {
59
- return await this.segmentClient.write(this.key, start, data);
60
- }
61
- }
62
- /** The core client class for executing channel operations against a Synnax
63
- * database .
64
- * */
65
- export default class ChannelClient {
66
- segmentClient;
67
- retriever;
68
- creator;
69
- constructor(segmentClient, retriever, creator) {
70
- this.segmentClient = segmentClient;
71
- this.retriever = retriever;
72
- this.creator = creator;
73
- }
74
- /**
75
- * Creates a new channel with the given properties.
76
- *
77
- * @param props.rate - The rate of the channel.
78
- * @param props.dataType - The data type of the channel.
79
- * @param props.name - The name of the channel. Optional.
80
- * @param props.nodeId - The ID of the node that holds the lease on the channel.
81
- * If you don't know what this is, don't worry about it.
82
- * @returns the created channel.
83
- */
84
- async create(props) {
85
- return (await this.createMany({ ...props, count: 1 }))[0];
86
- }
87
- /**
88
- * creates N channels using the given parameters as a template.
89
- *
90
- * @param props.rate - The rate of the channel.
91
- * @param props.dataType - The data type of the channel.
92
- * @param props.name - The name of the channel. Optional.
93
- * @param props.nodeId - The ID of the node that holds the lease on the channel.
94
- * If you don't know what this is, don't worry about it.
95
- * @param props.count - The number of channels to create.
96
- * @returns the created channels.
97
- */
98
- async createMany(props) {
99
- return this.sugar(...(await this.creator.createMany(props)));
100
- }
101
- /**
102
- * Retrieves channels with the given keys.
103
- *
104
- * @param keys - The keys of the channels to retrieve.
105
- * @throws QueryError if any of the channels can't be found.
106
- * @returns the retrieved channels.
107
- */
108
- async retrieveByKeys(...keys) {
109
- return this.sugar(...(await this.retriever.retrieveByKeys(...keys)));
110
- }
111
- /**
112
- * Retrieves channels with the given names.
113
- *
114
- * @param names - The list of names to retrieve channels for.
115
- * @returns A list of retrieved channels matching the given names. If a channel
116
- * with a given name can't be found, it will be omitted from the list.
117
- */
118
- async retrieveByNames(...names) {
119
- return this.sugar(...(await this.retriever.retrieveByNames(...names)));
120
- }
121
- /**
122
- * Retrieves channels whose lease node is the given ID.
123
- *
124
- * @param nodeId - The ID of the node to retrieve channels for.
125
- * @returns A list of retrieved channels matching the given node ID.
126
- */
127
- async retrieveByNodeId(nodeId) {
128
- return this.sugar(...(await this.retriever.retrieveByNodeID(nodeId)));
129
- }
130
- sugar(...payloads) {
131
- return payloads.map((p) => new Channel(p, this.segmentClient));
132
- }
133
- }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jaGFubmVsL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNELGFBQWEsQ0FBZ0I7SUFDdEMsT0FBTyxDQUFpQjtJQUVoQyxZQUFZLE9BQXVCLEVBQUUsYUFBNEI7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEs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
@@ -1,19 +0,0 @@
1
- import { UnparsedDataType, UnparsedRate } from '../telem';
2
- import Transport from '../transport';
3
- import { ChannelPayload } from './payload';
4
- export declare type CreateChannelProps = {
5
- rate: UnparsedRate;
6
- dataType: UnparsedDataType;
7
- name?: string;
8
- nodeId?: number;
9
- };
10
- export default class Creator {
11
- private static ENDPOINT;
12
- private client;
13
- constructor(transport: Transport);
14
- create(props: CreateChannelProps): Promise<ChannelPayload>;
15
- createMany({ rate, dataType, name, nodeId, count, }: CreateChannelProps & {
16
- count: number;
17
- }): Promise<ChannelPayload[]>;
18
- private execute;
19
- }
@@ -1,42 +0,0 @@
1
- import { z } from 'zod';
2
- import { DataType, Rate } from '../telem';
3
- import { ChannelPayloadSchema } from './payload';
4
- const RequestSchema = z.object({
5
- channel: ChannelPayloadSchema,
6
- count: z.number(),
7
- });
8
- const ResponseSchema = z.object({
9
- channels: ChannelPayloadSchema.array(),
10
- });
11
- export default class Creator {
12
- static ENDPOINT = '/channel/create';
13
- client;
14
- constructor(transport) {
15
- this.client = transport.postClient();
16
- }
17
- async create(props) {
18
- const [channel] = await this.createMany({ ...props, count: 1 });
19
- return channel;
20
- }
21
- async createMany({ rate, dataType, name = '', nodeId = 0, count = 1, }) {
22
- return (await this.execute({
23
- channel: {
24
- name,
25
- nodeId,
26
- rate: new Rate(rate),
27
- dataType: new DataType(dataType),
28
- },
29
- count,
30
- })).channels;
31
- }
32
- async execute(request) {
33
- const [res, err] = await this.client.send(Creator.ENDPOINT, request,
34
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
- // @ts-ignore
36
- ResponseSchema);
37
- if (err)
38
- throw err;
39
- return res;
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY2hhbm5lbC9jcmVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWtDLE1BQU0sVUFBVSxDQUFDO0FBRzFFLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3QixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2xCLENBQUMsQ0FBQztBQUlILE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQixDQUFDLEtBQUssRUFBRTtDQUN2QyxDQUFDLENBQUM7QUFXSCxNQUFNLENBQUMsT0FBTyxPQUFPLE9BQU87SUFDbEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUNwQyxNQUFNLENBQWM7SUFFNUIsWUFBWSxTQUFvQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUF5QjtRQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFDZixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksR0FBRyxFQUFFLEVBQ1QsTUFBTSxHQUFHLENBQUMsRUFDVixLQUFLLEdBQUcsQ0FBQyxHQUM4QjtRQUN2QyxPQUFPLENBQ0wsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2pCLE9BQU8sRUFBRTtnQkFDUCxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDcEIsUUFBUSxFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQzthQUNqQztZQUNELEtBQUs7U0FDTixDQUFDLENBQ0gsQ0FBQyxRQUFRLENBQUM7SUFDYixDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFnQjtRQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZDLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU87UUFDUCw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLGNBQWMsQ0FDZixDQUFDO1FBQ0YsSUFBSSxHQUFHO1lBQUUsTUFBTSxHQUFHLENBQUM7UUFDbkIsT0FBTyxHQUFlLENBQUM7SUFDekIsQ0FBQyJ9
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import { DataType, Density, Rate } from '../telem';
3
- export declare const ChannelPayloadSchema: z.ZodObject<{
4
- rate: z.ZodEffects<z.ZodNumber, Rate, number>;
5
- dataType: z.ZodEffects<z.ZodString, DataType, string>;
6
- key: z.ZodOptional<z.ZodDefault<z.ZodString>>;
7
- name: z.ZodOptional<z.ZodDefault<z.ZodString>>;
8
- nodeId: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
9
- density: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodNumber>, Density, number | undefined>>;
10
- }, "strip", z.ZodTypeAny, {
11
- key?: string | undefined;
12
- density?: Density | undefined;
13
- name?: string | undefined;
14
- nodeId?: number | undefined;
15
- rate: Rate;
16
- dataType: DataType;
17
- }, {
18
- key?: string | undefined;
19
- density?: number | undefined;
20
- name?: string | undefined;
21
- nodeId?: number | undefined;
22
- rate: number;
23
- dataType: string;
24
- }>;
25
- export declare type ChannelPayload = z.infer<typeof ChannelPayloadSchema>;
@@ -1,15 +0,0 @@
1
- import { z } from 'zod';
2
- import { DataType, Density, Rate } from '../telem';
3
- export const ChannelPayloadSchema = z.object({
4
- rate: z.number().transform((n) => new Rate(n)),
5
- dataType: z.string().transform((s) => new DataType(s)),
6
- key: z.string().default('').optional(),
7
- name: z.string().default('').optional(),
8
- nodeId: z.number().default(0).optional(),
9
- density: z
10
- .number()
11
- .default(0)
12
- .transform((n) => new Density(n))
13
- .optional(),
14
- });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY2hhbm5lbC9wYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDVixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDLFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQyJ9
@@ -1,9 +0,0 @@
1
- import { ChannelPayload } from './payload';
2
- import Retriever from './retriever';
3
- export default class Registry {
4
- private retriever;
5
- private channels;
6
- constructor(retriever: Retriever);
7
- get(key: string): Promise<ChannelPayload>;
8
- getN(...keys: string[]): Promise<ChannelPayload[]>;
9
- }
@@ -1,36 +0,0 @@
1
- export default class Registry {
2
- retriever;
3
- channels;
4
- constructor(retriever) {
5
- this.retriever = retriever;
6
- this.channels = new Map();
7
- }
8
- async get(key) {
9
- let channel = this.channels.get(key);
10
- if (channel === undefined) {
11
- channel = (await this.retriever.retrieveByKeys(key))[0];
12
- this.channels.set(key, channel);
13
- }
14
- return channel;
15
- }
16
- async getN(...keys) {
17
- const results = [];
18
- const retrieveKeys = [];
19
- keys.forEach((key) => {
20
- const channel = this.channels.get(key);
21
- if (channel === undefined)
22
- retrieveKeys.push(key);
23
- else
24
- results.push(channel);
25
- });
26
- if (retrieveKeys.length > 0) {
27
- const channels = await this.retriever.retrieveByKeys(...retrieveKeys);
28
- channels.forEach((channel) => {
29
- this.channels.set(channel.key, channel);
30
- results.push(channel);
31
- });
32
- }
33
- return results;
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NoYW5uZWwvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE9BQU8sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBWTtJQUNyQixRQUFRLENBQThCO0lBRTlDLFlBQVksU0FBb0I7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQWM7UUFDMUIsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksT0FBTyxLQUFLLFNBQVM7Z0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Z0JBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN0RSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiJ9
@@ -1,11 +0,0 @@
1
- import Transport from '../transport';
2
- import { ChannelPayload } from './payload';
3
- export default class Retriever {
4
- private static ENDPOINT;
5
- private client;
6
- constructor(transport: Transport);
7
- private execute;
8
- retrieveByKeys(...keys: string[]): Promise<ChannelPayload[]>;
9
- retrieveByNames(...names: string[]): Promise<ChannelPayload[]>;
10
- retrieveByNodeID(nodeId: number): Promise<ChannelPayload[]>;
11
- }
@@ -1,37 +0,0 @@
1
- import { z } from 'zod';
2
- import { ChannelPayloadSchema } from './payload';
3
- const RequestSchema = z.object({
4
- keys: z.string().array().optional(),
5
- nodeId: z.number().optional(),
6
- names: z.string().array().optional(),
7
- });
8
- const ResponseSchema = z.object({
9
- channels: ChannelPayloadSchema.array(),
10
- });
11
- export default class Retriever {
12
- static ENDPOINT = '/channel/retrieve';
13
- client;
14
- constructor(transport) {
15
- this.client = transport.getClient();
16
- }
17
- async execute(request) {
18
- const [res, err] = await this.client.send(Retriever.ENDPOINT, request,
19
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
20
- // @ts-ignore
21
- ResponseSchema);
22
- if (err) {
23
- throw err;
24
- }
25
- return res?.channels;
26
- }
27
- async retrieveByKeys(...keys) {
28
- return await this.execute({ keys });
29
- }
30
- async retrieveByNames(...names) {
31
- return await this.execute({ names });
32
- }
33
- async retrieveByNodeID(nodeId) {
34
- return await this.execute({ nodeId: nodeId });
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jaGFubmVsL3JldHJpZXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBSXhCLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNyQyxDQUFDLENBQUM7QUFJSCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlCLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUU7Q0FDdkMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7SUFDdEMsTUFBTSxDQUFjO0lBRTVCLFlBQVksU0FBb0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZ0I7UUFDcEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN2QyxTQUFTLENBQUMsUUFBUSxFQUNsQixPQUFPO1FBQ1AsNkRBQTZEO1FBQzdELGFBQWE7UUFDYixjQUFjLENBQ2YsQ0FBQztRQUNGLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUNELE9BQU8sR0FBRyxFQUFFLFFBQTRCLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFjO1FBQ3BDLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEtBQWU7UUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYztRQUNuQyxPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUMifQ==
@@ -1,30 +0,0 @@
1
- import AuthenticationClient from './auth';
2
- import ChannelClient from './channel/client';
3
- import SegmentClient from './segment/client';
4
- export declare type SynnaxProps = {
5
- host: string;
6
- port: number;
7
- username?: string;
8
- password?: string;
9
- };
10
- /**
11
- * Client to perform operations against a Synnax cluster.
12
- *
13
- * @property channel - Channel client for creating and retrieving channels.
14
- * @property data - Data client for reading and writing telemetry.
15
- */
16
- export default class Synnax {
17
- private transport;
18
- data: SegmentClient;
19
- channel: ChannelClient;
20
- auth: AuthenticationClient | undefined;
21
- /**
22
- * @param props.host - Hostname of a node in the cluster.
23
- * @param props.port - Port of the node in the cluster.
24
- * @param props.username - Username for authentication. Not required if the
25
- * cluster is insecure.
26
- * @param props.password - Password for authentication. Not required if the
27
- * cluster is insecure.
28
- */
29
- constructor({ host, port, username, password }: SynnaxProps);
30
- }
@@ -1,44 +0,0 @@
1
- import { URL } from '@synnaxlabs/freighter';
2
- import AuthenticationClient from './auth';
3
- import ChannelClient from './channel/client';
4
- import ChannelCreator from './channel/creator';
5
- import Registry from './channel/registry';
6
- import ChannelRetriever from './channel/retriever';
7
- import SegmentClient from './segment/client';
8
- import Transport from './transport';
9
- /**
10
- * Client to perform operations against a Synnax cluster.
11
- *
12
- * @property channel - Channel client for creating and retrieving channels.
13
- * @property data - Data client for reading and writing telemetry.
14
- */
15
- export default class Synnax {
16
- transport;
17
- data;
18
- channel;
19
- auth;
20
- /**
21
- * @param props.host - Hostname of a node in the cluster.
22
- * @param props.port - Port of the node in the cluster.
23
- * @param props.username - Username for authentication. Not required if the
24
- * cluster is insecure.
25
- * @param props.password - Password for authentication. Not required if the
26
- * cluster is insecure.
27
- */
28
- constructor({ host, port, username, password }) {
29
- this.transport = new Transport(new URL({ host, port }));
30
- if (username && password) {
31
- this.auth = new AuthenticationClient(this.transport.httpFactory, {
32
- username,
33
- password,
34
- });
35
- this.transport.use(this.auth.middleware());
36
- }
37
- const chRetriever = new ChannelRetriever(this.transport);
38
- const chCreator = new ChannelCreator(this.transport);
39
- const chRegistry = new Registry(chRetriever);
40
- this.data = new SegmentClient(this.transport, chRegistry);
41
- this.channel = new ChannelClient(this.data, chRetriever, chCreator);
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVDLE9BQU8sb0JBQW9CLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sY0FBYyxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sUUFBUSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sZ0JBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxTQUFTLE1BQU0sYUFBYSxDQUFDO0FBU3BDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFNO0lBQ2pCLFNBQVMsQ0FBWTtJQUM3QixJQUFJLENBQWdCO0lBQ3BCLE9BQU8sQ0FBZ0I7SUFDdkIsSUFBSSxDQUFtQztJQUV2Qzs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBZTtRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLFFBQVEsSUFBSSxRQUFRLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUMvRCxRQUFRO2dCQUNSLFFBQVE7YUFDVCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDNUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGIn0=
@@ -1,53 +0,0 @@
1
- import { BaseTypedError } from '@synnaxlabs/freighter';
2
- export declare type Field = {
3
- field: string;
4
- message: string;
5
- };
6
- declare class BaseError extends BaseTypedError {
7
- constructor(message: string);
8
- }
9
- /**
10
- * Raised when a validation error occurs.
11
- */
12
- export declare class ValidationError extends BaseError {
13
- fields: Field[];
14
- constructor(fieldsOrMessage: string | Field[] | Field);
15
- }
16
- /**
17
- * GeneralError is raised when a general error occurs.
18
- */
19
- export declare class GeneralError extends BaseError {
20
- }
21
- /**
22
- * ParseError is raised when a parse error occurs.
23
- */
24
- export declare class ParseError extends BaseError {
25
- }
26
- /**
27
- * AuthError is raised when an authentication error occurs.
28
- */
29
- export declare class AuthError extends BaseError {
30
- }
31
- /**
32
- * UnexpectedError is raised when an unexpected error occurs.
33
- */
34
- export declare class UnexpectedError extends BaseError {
35
- }
36
- /**
37
- * QueryError is raised when a query error occurs.
38
- */
39
- export declare class QueryError extends BaseError {
40
- }
41
- /**
42
- * RouteError is raised when a routing error occurs.
43
- */
44
- export declare class RouteError extends BaseError {
45
- path: string;
46
- constructor(message: string, path: string);
47
- }
48
- /**
49
- * Raised when time-series data is not contiguous.
50
- */
51
- export declare class ContiguityError extends BaseError {
52
- }
53
- export {};
@@ -1,113 +0,0 @@
1
- import { BaseTypedError, registerError } from '@synnaxlabs/freighter';
2
- import { z } from 'zod';
3
- const _FREIGHTER_EXCEPTION_TYPE = 'synnax.api.errors';
4
- const APIErrorPayloadSchema = z.object({
5
- type: z.string(),
6
- error: z.record(z.unknown()),
7
- });
8
- var APIErrorType;
9
- (function (APIErrorType) {
10
- APIErrorType["General"] = "general";
11
- APIErrorType["Nil"] = "nil";
12
- APIErrorType["Parse"] = "parse";
13
- APIErrorType["Auth"] = "auth";
14
- APIErrorType["Unexpected"] = "unexpected";
15
- APIErrorType["Validation"] = "validation";
16
- APIErrorType["Query"] = "query";
17
- APIErrorType["Route"] = "route";
18
- })(APIErrorType || (APIErrorType = {}));
19
- class BaseError extends BaseTypedError {
20
- constructor(message) {
21
- super(message, _FREIGHTER_EXCEPTION_TYPE);
22
- }
23
- }
24
- /**
25
- * Raised when a validation error occurs.
26
- */
27
- export class ValidationError extends BaseError {
28
- fields;
29
- constructor(fieldsOrMessage) {
30
- if (typeof fieldsOrMessage === 'string') {
31
- super(fieldsOrMessage);
32
- this.fields = [];
33
- }
34
- else if (Array.isArray(fieldsOrMessage)) {
35
- super(fieldsOrMessage
36
- .map((field) => `${field.field}: ${field.message}`)
37
- .join('\n'));
38
- this.fields = fieldsOrMessage;
39
- }
40
- else {
41
- super(`${fieldsOrMessage.field}: ${fieldsOrMessage.message}`);
42
- this.fields = [fieldsOrMessage];
43
- }
44
- }
45
- }
46
- /**
47
- * GeneralError is raised when a general error occurs.
48
- */
49
- export class GeneralError extends BaseError {
50
- }
51
- /**
52
- * ParseError is raised when a parse error occurs.
53
- */
54
- export class ParseError extends BaseError {
55
- }
56
- /**
57
- * AuthError is raised when an authentication error occurs.
58
- */
59
- export class AuthError extends BaseError {
60
- }
61
- /**
62
- * UnexpectedError is raised when an unexpected error occurs.
63
- */
64
- export class UnexpectedError extends BaseError {
65
- }
66
- /**
67
- * QueryError is raised when a query error occurs.
68
- */
69
- export class QueryError extends BaseError {
70
- }
71
- /**
72
- * RouteError is raised when a routing error occurs.
73
- */
74
- export class RouteError extends BaseError {
75
- path;
76
- constructor(message, path) {
77
- super(message);
78
- this.path = path;
79
- }
80
- }
81
- /**
82
- * Raised when time-series data is not contiguous.
83
- */
84
- export class ContiguityError extends BaseError {
85
- }
86
- const parsePayload = (payload) => {
87
- switch (payload.type) {
88
- case APIErrorType.General:
89
- return new GeneralError(payload.error.message);
90
- case APIErrorType.Parse:
91
- return new ParseError(payload.error.message);
92
- case APIErrorType.Auth:
93
- return new AuthError(payload.error.message);
94
- case APIErrorType.Unexpected:
95
- return new UnexpectedError(JSON.stringify(payload.error));
96
- case APIErrorType.Validation:
97
- return new ValidationError(payload.error.fields);
98
- case APIErrorType.Query:
99
- return new QueryError(payload.error.message);
100
- case APIErrorType.Route:
101
- return new RouteError(payload.error.path, payload.error.message);
102
- default:
103
- return undefined;
104
- }
105
- };
106
- const decode = (encoded) => {
107
- return parsePayload(APIErrorPayloadSchema.parse(JSON.parse(encoded)));
108
- };
109
- const encode = () => {
110
- throw new Error('Not implemented');
111
- };
112
- registerError({ type: _FREIGHTER_EXCEPTION_TYPE, encode, decode });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0seUJBQXlCLEdBQUcsbUJBQW1CLENBQUM7QUFFdEQsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztDQUM3QixDQUFDLENBQUM7QUFJSCxJQUFLLFlBU0o7QUFURCxXQUFLLFlBQVk7SUFDZixtQ0FBbUIsQ0FBQTtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYix5Q0FBeUIsQ0FBQTtJQUN6Qix5Q0FBeUIsQ0FBQTtJQUN6QiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVEksWUFBWSxLQUFaLFlBQVksUUFTaEI7QUFPRCxNQUFNLFNBQVUsU0FBUSxjQUFjO0lBQ3BDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBQzVDLE1BQU0sQ0FBVTtJQUVoQixZQUFZLGVBQXlDO1FBQ25ELElBQUksT0FBTyxlQUFlLEtBQUssUUFBUSxFQUFFO1lBQ3ZDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksS0FBSyxDQUFD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
@@ -1,62 +0,0 @@
1
- import Registry from '../channel/registry';
2
- import { TimeRange, TypedArray, UnparsedTimeStamp } from '../telem';
3
- import Transport from '../transport';
4
- import { TypedIterator } from './iterator';
5
- import TypedSegment from './typed';
6
- import { TypedWriter } from './writer';
7
- export default class SegmentClient {
8
- private transport;
9
- private channels;
10
- constructor(transport: Transport, channels: Registry);
11
- /**
12
- * Opens a new iterator over the given channels within the provided time range.
13
- *
14
- * @param tr - A time range to iterate over.
15
- * @param keys - A list of channel keys to iterate over.
16
- * @param aggregate - Whether to accumulate iteration results or reset them
17
- * on every iterator method call.
18
- * @returns a new {@link TypedIterator}.
19
- */
20
- newIterator(tr: TimeRange, keys: string[], aggregate: boolean): Promise<TypedIterator>;
21
- /**
22
- * Opens a new writer on the given channels.
23
- *
24
- * @param keys - The keys of the channels to write to. A writer cannot write to
25
- * a channel that is not in this list. See the {@link TypedWriter} documentation
26
- * for more information.
27
- * @returns a new {@link TypedWriter}.
28
- */
29
- newWriter(keys: string[]): Promise<TypedWriter>;
30
- /**
31
- * Writes telemetry to the given channel starting at the given timestamp.
32
- *
33
- * @param to - The key of the channel to write to.
34
- * @param start - The starting timestamp of the first sample in data.
35
- * @param data - The telemetry to write. This telemetry must have the same
36
- * data type as the channel.
37
- * @throws if the channel does not exist.
38
- */
39
- write(to: string, start: UnparsedTimeStamp, data: TypedArray): Promise<boolean>;
40
- /**
41
- * Reads telemetry from the channel between the two timestamps.
42
- *
43
- * @param from - The key of the channel to read from.
44
- * @param start - The starting timestamp of the range to read from.
45
- * @param end - The ending timestamp of the range to read from.
46
- * @returns a typed array containing the retrieved telemetry.
47
- * @throws if the channel does not exist.
48
- * @throws if the telemetry between start and end is not contiguous.
49
- */
50
- read(from: string, start: UnparsedTimeStamp, end: UnparsedTimeStamp): Promise<TypedArray>;
51
- /**
52
- * Reads a segment from the channel between the two timestamps.
53
- *
54
- * @param from - The key of the channel to read from.
55
- * @param start - The starting timestamp of the range to read from.
56
- * @param end - The ending timestamp of the range to read from.
57
- * @returns a segment containing the retrieved telemetry.
58
- * @throws if the channel does not exist.
59
- * @throws if the telemetry between start and end is not contiguous.
60
- */
61
- readSegment(from: string, start: UnparsedTimeStamp, end: UnparsedTimeStamp): Promise<TypedSegment>;
62
- }