@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,11 +1,12 @@
1
- import type { StreamClient } from "@synnaxlabs/freighter";
2
- import { TimeStamp, type CrudeTimeStamp, type CrudeSeries } from "@synnaxlabs/x";
3
- import { z } from "zod";
4
- import { type KeysOrNames, type Key, type KeyOrName, type Params } from '../channel/payload';
5
- import { type Retriever } from '../channel/retriever';
1
+ import { CrudeFrame } from './frame';
2
+ import { Subject as ControlSubject } from '../control/state';
6
3
  import { Authority } from '../control/authority';
7
- import { type Subject as ControlSubject } from '../control/state';
8
- import { type CrudeFrame } from './frame';
4
+ import { Retriever } from '../channel/retriever';
5
+ import { KeysOrNames, Key, KeyOrName, Params } from '../channel/payload';
6
+ import { z } from 'zod';
7
+ import { TimeStamp, CrudeTimeStamp, CrudeSeries, TimeSpan } from '@synnaxlabs/x/telem';
8
+ import { StreamClient } from '@synnaxlabs/freighter';
9
+
9
10
  declare enum Command {
10
11
  Open = 0,
11
12
  Write = 1,
@@ -19,10 +20,19 @@ export declare enum WriterMode {
19
20
  PersistOnly = 2,
20
21
  StreamOnly = 3
21
22
  }
23
+ export declare const ALWAYS_INDEX_PERSIST_ON_AUTO_COMMIT: TimeSpan;
22
24
  declare const reqZ: z.ZodObject<{
23
25
  command: z.ZodNativeEnum<typeof Command>;
24
26
  config: z.ZodOptional<z.ZodObject<{
25
27
  start: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
28
+ /**
29
+ * Commits the written frames to the database. Commit is synchronous, meaning that it
30
+ * will not return until all frames have been commited to the database.
31
+ *
32
+ * @returns false if the commit failed due to an error. In this case, the caller
33
+ * should acknowledge the error by calling the error method or closing the writer.
34
+ * After the caller acknowledges the error, they can attempt to commit again.
35
+ */
26
36
  value: z.ZodBigInt;
27
37
  }, "strip", z.ZodTypeAny, {
28
38
  value: bigint;
@@ -44,6 +54,16 @@ declare const reqZ: z.ZodObject<{
44
54
  keys: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
45
55
  authorities: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodType<Authority, z.ZodTypeDef, Authority>, z.ZodEffects<z.ZodNumber, Authority, number>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, Authority, Number>]>, "many">>;
46
56
  mode: z.ZodOptional<z.ZodNativeEnum<typeof WriterMode>>;
57
+ enableAutoCommit: z.ZodOptional<z.ZodBoolean>;
58
+ autoIndexPersistInterval: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
59
+ value: z.ZodBigInt;
60
+ }, "strip", z.ZodTypeAny, {
61
+ value: bigint;
62
+ }, {
63
+ value: bigint;
64
+ }>, TimeSpan, {
65
+ value: bigint;
66
+ }>, z.ZodEffects<z.ZodString, TimeSpan, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, TimeSpan, Number>, z.ZodEffects<z.ZodNumber, TimeSpan, number>, z.ZodType<TimeSpan, z.ZodTypeDef, TimeSpan>]>>;
47
67
  }, "strip", z.ZodTypeAny, {
48
68
  start?: TimeStamp | undefined;
49
69
  controlSubject?: {
@@ -53,6 +73,8 @@ declare const reqZ: z.ZodObject<{
53
73
  keys?: number[] | undefined;
54
74
  authorities?: Authority[] | undefined;
55
75
  mode?: WriterMode | undefined;
76
+ enableAutoCommit?: boolean | undefined;
77
+ autoIndexPersistInterval?: TimeSpan | undefined;
56
78
  }, {
57
79
  start?: string | number | Number | TimeStamp | {
58
80
  value: bigint;
@@ -64,14 +86,18 @@ declare const reqZ: z.ZodObject<{
64
86
  keys?: number[] | undefined;
65
87
  authorities?: (number | Number | Authority)[] | undefined;
66
88
  mode?: WriterMode | undefined;
89
+ enableAutoCommit?: boolean | undefined;
90
+ autoIndexPersistInterval?: string | number | Number | TimeSpan | {
91
+ value: bigint;
92
+ } | undefined;
67
93
  }>>;
68
94
  frame: z.ZodOptional<z.ZodObject<{
69
95
  keys: z.ZodUnion<[z.ZodEffects<z.ZodNull, number[], null>, z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>>]>;
70
96
  series: z.ZodUnion<[z.ZodEffects<z.ZodNull, {
71
- dataType: import("@synnaxlabs/x").DataType;
97
+ dataType: import('@synnaxlabs/x/telem').DataType;
72
98
  data: (ArrayBuffer | SharedArrayBuffer) & (ArrayBuffer | SharedArrayBuffer | undefined);
73
- timeRange?: import("@synnaxlabs/x").TimeRange | undefined;
74
- alignment?: number | undefined;
99
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | undefined;
100
+ alignment?: bigint | undefined;
75
101
  }[], null>, z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
76
102
  timeRange: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
77
103
  start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
@@ -130,7 +156,7 @@ declare const reqZ: z.ZodObject<{
130
156
  } & {
131
157
  value: bigint;
132
158
  });
133
- }>, import("@synnaxlabs/x").TimeRange, {
159
+ }>, import('@synnaxlabs/x/telem').TimeRange, {
134
160
  start: string | number | Number | TimeStamp | (string & Number) | (string & TimeStamp) | (string & {
135
161
  value: bigint;
136
162
  }) | (number & Number) | (number & TimeStamp) | (number & {
@@ -165,19 +191,19 @@ declare const reqZ: z.ZodObject<{
165
191
  } & {
166
192
  value: bigint;
167
193
  });
168
- }>, z.ZodType<import("@synnaxlabs/x").TimeRange, z.ZodTypeDef, import("@synnaxlabs/x").TimeRange>]>>;
169
- alignment: z.ZodOptional<z.ZodNumber>;
170
- dataType: z.ZodUnion<[z.ZodEffects<z.ZodString, import("@synnaxlabs/x").DataType, string>, z.ZodType<import("@synnaxlabs/x").DataType, z.ZodTypeDef, import("@synnaxlabs/x").DataType>]>;
194
+ }>, z.ZodType<import('@synnaxlabs/x/telem').TimeRange, z.ZodTypeDef, import('@synnaxlabs/x/telem').TimeRange>]>>;
195
+ alignment: z.ZodOptional<z.ZodUnion<[z.ZodBigInt, z.ZodEffects<z.ZodString, bigint, string>]>>;
196
+ dataType: z.ZodUnion<[z.ZodEffects<z.ZodString, import('@synnaxlabs/x/telem').DataType, string>, z.ZodType<import('@synnaxlabs/x/telem').DataType, z.ZodTypeDef, import('@synnaxlabs/x/telem').DataType>]>;
171
197
  data: z.ZodEffects<z.ZodString, ArrayBuffer | SharedArrayBuffer, string>;
172
198
  }, "strip", z.ZodTypeAny, {
173
- dataType: import("@synnaxlabs/x").DataType;
199
+ dataType: import('@synnaxlabs/x/telem').DataType;
174
200
  data: (ArrayBuffer | SharedArrayBuffer) & (ArrayBuffer | SharedArrayBuffer | undefined);
175
- timeRange?: import("@synnaxlabs/x").TimeRange | undefined;
176
- alignment?: number | undefined;
201
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | undefined;
202
+ alignment?: bigint | undefined;
177
203
  }, {
178
- dataType: (string | import("@synnaxlabs/x").DataType) & (string | import("@synnaxlabs/x").DataType | undefined);
204
+ dataType: (string | import('@synnaxlabs/x/telem').DataType) & (string | import('@synnaxlabs/x/telem').DataType | undefined);
179
205
  data: string;
180
- timeRange?: import("@synnaxlabs/x").TimeRange | {
206
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | {
181
207
  start: string | number | Number | TimeStamp | (string & Number) | (string & TimeStamp) | (string & {
182
208
  value: bigint;
183
209
  }) | (number & Number) | (number & TimeStamp) | (number & {
@@ -213,22 +239,22 @@ declare const reqZ: z.ZodObject<{
213
239
  value: bigint;
214
240
  });
215
241
  } | undefined;
216
- alignment?: number | undefined;
242
+ alignment?: string | bigint | undefined;
217
243
  }>, "many">>>]>;
218
244
  }, "strip", z.ZodTypeAny, {
219
245
  keys: number[];
220
246
  series: {
221
- dataType: import("@synnaxlabs/x").DataType;
247
+ dataType: import('@synnaxlabs/x/telem').DataType;
222
248
  data: (ArrayBuffer | SharedArrayBuffer) & (ArrayBuffer | SharedArrayBuffer | undefined);
223
- timeRange?: import("@synnaxlabs/x").TimeRange | undefined;
224
- alignment?: number | undefined;
249
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | undefined;
250
+ alignment?: bigint | undefined;
225
251
  }[];
226
252
  }, {
227
253
  keys?: number[] | null | undefined;
228
254
  series?: {
229
- dataType: (string | import("@synnaxlabs/x").DataType) & (string | import("@synnaxlabs/x").DataType | undefined);
255
+ dataType: (string | import('@synnaxlabs/x/telem').DataType) & (string | import('@synnaxlabs/x/telem').DataType | undefined);
230
256
  data: string;
231
- timeRange?: import("@synnaxlabs/x").TimeRange | {
257
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | {
232
258
  start: string | number | Number | TimeStamp | (string & Number) | (string & TimeStamp) | (string & {
233
259
  value: bigint;
234
260
  }) | (number & Number) | (number & TimeStamp) | (number & {
@@ -264,7 +290,7 @@ declare const reqZ: z.ZodObject<{
264
290
  value: bigint;
265
291
  });
266
292
  } | undefined;
267
- alignment?: number | undefined;
293
+ alignment?: string | bigint | undefined;
268
294
  }[] | null | undefined;
269
295
  }>>;
270
296
  }, "strip", z.ZodTypeAny, {
@@ -278,14 +304,16 @@ declare const reqZ: z.ZodObject<{
278
304
  keys?: number[] | undefined;
279
305
  authorities?: Authority[] | undefined;
280
306
  mode?: WriterMode | undefined;
307
+ enableAutoCommit?: boolean | undefined;
308
+ autoIndexPersistInterval?: TimeSpan | undefined;
281
309
  } | undefined;
282
310
  frame?: {
283
311
  keys: number[];
284
312
  series: {
285
- dataType: import("@synnaxlabs/x").DataType;
313
+ dataType: import('@synnaxlabs/x/telem').DataType;
286
314
  data: (ArrayBuffer | SharedArrayBuffer) & (ArrayBuffer | SharedArrayBuffer | undefined);
287
- timeRange?: import("@synnaxlabs/x").TimeRange | undefined;
288
- alignment?: number | undefined;
315
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | undefined;
316
+ alignment?: bigint | undefined;
289
317
  }[];
290
318
  } | undefined;
291
319
  }, {
@@ -301,13 +329,17 @@ declare const reqZ: z.ZodObject<{
301
329
  keys?: number[] | undefined;
302
330
  authorities?: (number | Number | Authority)[] | undefined;
303
331
  mode?: WriterMode | undefined;
332
+ enableAutoCommit?: boolean | undefined;
333
+ autoIndexPersistInterval?: string | number | Number | TimeSpan | {
334
+ value: bigint;
335
+ } | undefined;
304
336
  } | undefined;
305
337
  frame?: {
306
338
  keys?: number[] | null | undefined;
307
339
  series?: {
308
- dataType: (string | import("@synnaxlabs/x").DataType) & (string | import("@synnaxlabs/x").DataType | undefined);
340
+ dataType: (string | import('@synnaxlabs/x/telem').DataType) & (string | import('@synnaxlabs/x/telem').DataType | undefined);
309
341
  data: string;
310
- timeRange?: import("@synnaxlabs/x").TimeRange | {
342
+ timeRange?: import('@synnaxlabs/x/telem').TimeRange | {
311
343
  start: string | number | Number | TimeStamp | (string & Number) | (string & TimeStamp) | (string & {
312
344
  value: bigint;
313
345
  }) | (number & Number) | (number & TimeStamp) | (number & {
@@ -343,7 +375,7 @@ declare const reqZ: z.ZodObject<{
343
375
  value: bigint;
344
376
  });
345
377
  } | undefined;
346
- alignment?: number | undefined;
378
+ alignment?: string | bigint | undefined;
347
379
  }[] | null | undefined;
348
380
  } | undefined;
349
381
  }>;
@@ -383,6 +415,8 @@ export interface WriterConfig {
383
415
  controlSubject?: ControlSubject;
384
416
  authorities?: Authority | Authority[];
385
417
  mode?: WriterMode;
418
+ enableAutoCommit?: boolean;
419
+ autoIndexPersistInterval?: TimeSpan;
386
420
  }
387
421
  /**
388
422
  * Writer is used to write telemetry to a set of channels in time order.
@@ -427,7 +461,7 @@ export declare class Writer {
427
461
  private readonly stream;
428
462
  private readonly adapter;
429
463
  private constructor();
430
- static _open(retriever: Retriever, client: StreamClient, { channels, start, authorities, controlSubject: subject, mode, }: WriterConfig): Promise<Writer>;
464
+ static _open(retriever: Retriever, client: StreamClient, { channels, start, authorities, controlSubject: subject, mode, enableAutoCommit, autoIndexPersistInterval, }: WriterConfig): Promise<Writer>;
431
465
  write(channel: KeyOrName, data: CrudeSeries): Promise<boolean>;
432
466
  write(channel: KeysOrNames, data: CrudeSeries[]): Promise<boolean>;
433
467
  write(frame: CrudeFrame | Record<KeyOrName, CrudeSeries>): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/framer/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/framer/writer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { type device } from './device';
2
- import { type rack } from './rack';
3
- import { type task } from './task';
1
+ import { task } from './task';
2
+ import { rack } from './rack';
3
+ import { device } from './device';
4
+
4
5
  export declare class Client {
5
6
  readonly tasks: task.Client;
6
7
  readonly racks: rack.Client;
@@ -1,20 +1,113 @@
1
- import { AsyncTermSearcher } from "@synnaxlabs/x";
2
- import { type framer } from '../../framer';
3
- import { type Device, DeviceKey } from './payload';
4
- import { type Retriever } from './retriever';
5
- import { type Writer } from './writer';
6
1
  import { signals } from '../../signals';
2
+ import { framer } from '../../framer';
3
+ import { z } from 'zod';
4
+ import { AsyncTermSearcher } from '@synnaxlabs/x/search';
5
+ import { UnknownRecord } from '@synnaxlabs/x';
6
+ import { UnaryClient } from '@synnaxlabs/freighter';
7
+
8
+ export declare const deviceKeyZ: z.ZodString;
9
+ export declare const deviceZ: z.ZodObject<{
10
+ key: z.ZodString;
11
+ rack: z.ZodNumber;
12
+ name: z.ZodString;
13
+ make: z.ZodString;
14
+ model: z.ZodString;
15
+ location: z.ZodString;
16
+ configured: z.ZodOptional<z.ZodBoolean>;
17
+ properties: z.ZodType<UnknownRecord, z.ZodTypeDef, UnknownRecord>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ name: string;
20
+ key: string;
21
+ rack: number;
22
+ make: string;
23
+ model: string;
24
+ location: string;
25
+ properties: UnknownRecord;
26
+ configured?: boolean | undefined;
27
+ }, {
28
+ name: string;
29
+ key: string;
30
+ rack: number;
31
+ make: string;
32
+ model: string;
33
+ location: string;
34
+ properties: UnknownRecord;
35
+ configured?: boolean | undefined;
36
+ }>;
37
+ export type Device<P extends UnknownRecord = UnknownRecord> = Omit<z.output<typeof deviceZ>, "properties"> & {
38
+ properties: P;
39
+ };
40
+ export type DeviceKey = z.infer<typeof deviceKeyZ>;
41
+ export declare const newDeviceZ: z.ZodObject<{
42
+ name: z.ZodString;
43
+ key: z.ZodString;
44
+ rack: z.ZodNumber;
45
+ make: z.ZodString;
46
+ model: z.ZodString;
47
+ location: z.ZodString;
48
+ configured: z.ZodOptional<z.ZodBoolean>;
49
+ properties: z.ZodEffects<z.ZodUnknown, string, unknown>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ name: string;
52
+ key: string;
53
+ rack: number;
54
+ make: string;
55
+ model: string;
56
+ location: string;
57
+ properties: string;
58
+ configured?: boolean | undefined;
59
+ }, {
60
+ name: string;
61
+ key: string;
62
+ rack: number;
63
+ make: string;
64
+ model: string;
65
+ location: string;
66
+ configured?: boolean | undefined;
67
+ properties?: unknown;
68
+ }>;
69
+ export type NewDevice<P extends UnknownRecord = UnknownRecord> = Omit<z.input<typeof newDeviceZ>, "properties"> & {
70
+ properties: P;
71
+ };
72
+ declare const retrieveReqZ: z.ZodObject<{
73
+ search: z.ZodOptional<z.ZodString>;
74
+ limit: z.ZodOptional<z.ZodNumber>;
75
+ offset: z.ZodOptional<z.ZodNumber>;
76
+ keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
77
+ names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
+ makes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ search?: string | undefined;
81
+ limit?: number | undefined;
82
+ offset?: number | undefined;
83
+ keys?: string[] | undefined;
84
+ names?: string[] | undefined;
85
+ makes?: string[] | undefined;
86
+ }, {
87
+ search?: string | undefined;
88
+ limit?: number | undefined;
89
+ offset?: number | undefined;
90
+ keys?: string[] | undefined;
91
+ names?: string[] | undefined;
92
+ makes?: string[] | undefined;
93
+ }>;
94
+ type RetrieveRequest = z.input<typeof retrieveReqZ>;
95
+ export type RetrieveOptions = Pick<RetrieveRequest, "limit" | "offset" | "makes">;
96
+ type PageOptions = Pick<RetrieveOptions, "makes">;
7
97
  export declare class Client implements AsyncTermSearcher<string, DeviceKey, Device> {
8
- private readonly retriever;
9
- private readonly writer;
98
+ readonly type = "device";
99
+ private readonly client;
10
100
  private readonly frameClient;
11
- constructor(retriever: Retriever, writer: Writer, frameClient: framer.Client);
12
- create(device: Device): Promise<Device>;
13
- retrieve(key: string): Promise<Device>;
14
- retrieve(keys: string[]): Promise<Device[]>;
15
- search(term: string): Promise<Device[]>;
16
- page(offset: number, limit: number): Promise<Device[]>;
17
- delete(keys: string[]): Promise<void>;
101
+ constructor(client: UnaryClient, frameClient: framer.Client);
102
+ retrieve<P extends UnknownRecord = UnknownRecord>(key: string, options?: RetrieveOptions): Promise<Device<P>>;
103
+ retrieve<P extends UnknownRecord = UnknownRecord>(keys: string[], options?: RetrieveOptions): Promise<Array<Device<P>>>;
104
+ search(term: string, options?: RetrieveOptions): Promise<Device[]>;
105
+ page(offset: number, limit: number, options?: PageOptions): Promise<Device[]>;
106
+ create(device: NewDevice): Promise<Device>;
107
+ create(devices: NewDevice[]): Promise<Device[]>;
108
+ delete(keys: string | string[]): Promise<void>;
18
109
  openDeviceTracker(): Promise<signals.Observable<string, Device>>;
110
+ newSearcherWithOptions(options: RetrieveOptions): AsyncTermSearcher<string, DeviceKey, Device>;
19
111
  }
112
+ export {};
20
113
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,KAAK,MAAM,EAAW,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,qBAAa,MAAO,YAAW,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAEhC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM;IAMtE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO3C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAQvE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,2 @@
1
1
  export * from './client';
2
- export * from './retriever';
3
- export * from './writer';
4
2
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/external.ts"],"names":[],"mappings":"AASA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/external.ts"],"names":[],"mappings":"AASA,cAAc,0BAA0B,CAAC"}
@@ -1,2 +1,2 @@
1
- export * as device from './external';
1
+ export * as device from './client';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hardware/device/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC"}
@@ -1,34 +1,57 @@
1
- import { type framer } from '../../framer';
2
- import { RackKey, type NewRack } from './payload';
3
- import { type Retriever } from './retriever';
4
- import { type Writer } from './writer';
5
- import { type NewTask, type Task } from '../task/payload';
6
- import { type Retriever as TaskRetriever } from '../task/retriever';
7
- import { type Writer as TaskWriter } from '../task/writer';
8
- import { AsyncTermSearcher } from "@synnaxlabs/x";
1
+ import { task } from '../task';
2
+ import { framer } from '../../framer';
3
+ import { z } from 'zod';
4
+ import { AsyncTermSearcher } from '@synnaxlabs/x/search';
5
+ import { UnknownRecord } from '@synnaxlabs/x';
6
+ import { UnaryClient } from '@synnaxlabs/freighter';
7
+
8
+ export declare const rackKeyZ: z.ZodNumber;
9
+ export type RackKey = z.infer<typeof rackKeyZ>;
10
+ export declare const rackZ: z.ZodObject<{
11
+ key: z.ZodNumber;
12
+ name: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ name: string;
15
+ key: number;
16
+ }, {
17
+ name: string;
18
+ key: number;
19
+ }>;
20
+ export type RackPayload = z.infer<typeof rackZ>;
21
+ export declare const newRackZ: z.ZodObject<{
22
+ name: z.ZodString;
23
+ key: z.ZodOptional<z.ZodNumber>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ name: string;
26
+ key?: number | undefined;
27
+ }, {
28
+ name: string;
29
+ key?: number | undefined;
30
+ }>;
31
+ export type NewRack = z.input<typeof newRackZ>;
9
32
  export declare class Client implements AsyncTermSearcher<string, RackKey, Rack> {
10
- private readonly retriever;
11
- private readonly writer;
33
+ readonly type: string;
34
+ private readonly client;
12
35
  private readonly frameClient;
13
- private readonly taskWriter;
14
- private readonly taskRetriever;
15
- constructor(retriever: Retriever, writer: Writer, frameClient: framer.Client, taskWriter: TaskWriter, taskRetriever: TaskRetriever);
36
+ private readonly tasks;
37
+ constructor(client: UnaryClient, frameClient: framer.Client, taskClient: task.Client);
38
+ delete(keys: RackKey | RackKey[]): Promise<void>;
16
39
  create(rack: NewRack): Promise<Rack>;
40
+ create(racks: NewRack[]): Promise<Rack[]>;
17
41
  search(term: string): Promise<Rack[]>;
18
42
  page(offset: number, limit: number): Promise<Rack[]>;
19
- retrieve(key: RackKey): Promise<Rack>;
20
- retrieve(keys: RackKey[]): Promise<Rack[]>;
43
+ retrieve(key: string | RackKey): Promise<Rack>;
44
+ retrieve(keys: number[] | RackKey[]): Promise<Rack[]>;
21
45
  private sugar;
22
46
  }
23
47
  export declare class Rack {
24
48
  key: number;
25
49
  name: string;
26
- private readonly writer;
27
50
  private readonly tasks;
28
- constructor(key: number, name: string, _writer: TaskWriter, _retriever: TaskRetriever);
29
- listTasks(): Promise<Task[]>;
30
- retrieveTasks(): Promise<Task[]>;
31
- createTask(task: NewTask): Promise<Task>;
51
+ constructor(key: number, name: string, client: task.Client);
52
+ listTasks(): Promise<task.Task[]>;
53
+ retrieveTaskByName(name: string): Promise<task.Task>;
54
+ createTask<C extends UnknownRecord, D extends {} = UnknownRecord, T extends string = string>(task: task.NewTask<C, T>): Promise<task.Task<C, D, T>>;
32
55
  deleteTask(task: bigint): Promise<void>;
33
56
  }
34
57
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/rack/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,qBAAa,MAAO,YAAW,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAG5C,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa;IASxB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKrC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKpD,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQhD,OAAO,CAAC,KAAK;CAMd;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAGpC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,aAAa;IAQrB,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI5B,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIhC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/rack/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAI5C,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE/C,eAAO,MAAM,KAAK;;;;;;;;;EAGhB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD,eAAO,MAAM,QAAQ;;;;;;;;;EAA+B,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAgC/C,qBAAa,MAAO,YAAW,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAGlC,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,UAAU,EAAE,IAAI,CAAC,MAAM;IAOnB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAgBzC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAWrC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAWpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAqB3D,OAAO,CAAC,KAAK;CAGd;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAExB,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;IAMpD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAIjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAIpD,UAAU,CACd,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,EAAE,GAAG,aAAa,EAC5B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAQlD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
@@ -1,4 +1,2 @@
1
1
  export * from './client';
2
- export * from './writer';
3
- export * from './retriever';
4
2
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/hardware/rack/external.ts"],"names":[],"mappings":"AASA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/hardware/rack/external.ts"],"names":[],"mappings":"AASA,cAAc,wBAAwB,CAAC"}