@synnaxlabs/client 0.49.3 → 0.52.3

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 (407) hide show
  1. package/.turbo/turbo-build.log +10 -10
  2. package/CONTRIBUTING.md +1 -2
  3. package/README.md +1 -1
  4. package/dist/client.cjs +58 -34
  5. package/dist/client.js +5256 -4528
  6. package/dist/eslint.config.d.ts +2 -2
  7. package/dist/eslint.config.d.ts.map +1 -1
  8. package/dist/src/access/policy/client.d.ts +90 -76
  9. package/dist/src/access/policy/client.d.ts.map +1 -1
  10. package/dist/src/access/policy/payload.d.ts +17 -14
  11. package/dist/src/access/policy/payload.d.ts.map +1 -1
  12. package/dist/src/access/role/payload.d.ts +2 -2
  13. package/dist/src/arc/payload.d.ts +21 -20
  14. package/dist/src/arc/payload.d.ts.map +1 -1
  15. package/dist/src/channel/client.d.ts +9 -15
  16. package/dist/src/channel/client.d.ts.map +1 -1
  17. package/dist/src/channel/payload.d.ts +18 -18
  18. package/dist/src/channel/payload.d.ts.map +1 -1
  19. package/dist/src/channel/retriever.d.ts.map +1 -1
  20. package/dist/src/client.d.ts +12 -0
  21. package/dist/src/client.d.ts.map +1 -1
  22. package/dist/src/device/client.d.ts +14 -7
  23. package/dist/src/device/client.d.ts.map +1 -1
  24. package/dist/src/device/payload.d.ts +65 -32
  25. package/dist/src/device/payload.d.ts.map +1 -1
  26. package/dist/src/device/payload.spec.d.ts +2 -0
  27. package/dist/src/device/payload.spec.d.ts.map +1 -0
  28. package/dist/src/framer/adapter.d.ts.map +1 -1
  29. package/dist/src/framer/client.d.ts +2 -2
  30. package/dist/src/framer/frame.d.ts +5 -5
  31. package/dist/src/framer/frame.d.ts.map +1 -1
  32. package/dist/src/framer/streamer.d.ts +7 -17
  33. package/dist/src/framer/streamer.d.ts.map +1 -1
  34. package/dist/src/framer/writer.d.ts +9 -19
  35. package/dist/src/framer/writer.d.ts.map +1 -1
  36. package/dist/src/group/access.spec.d.ts.map +1 -0
  37. package/dist/src/{ontology/group → group}/client.d.ts +3 -2
  38. package/dist/src/group/client.d.ts.map +1 -0
  39. package/dist/src/group/external.d.ts.map +1 -0
  40. package/dist/src/group/group.spec.d.ts.map +1 -0
  41. package/dist/src/group/index.d.ts.map +1 -0
  42. package/dist/src/{ontology/group → group}/payload.d.ts +1 -1
  43. package/dist/src/group/payload.d.ts.map +1 -0
  44. package/dist/src/index.d.ts +6 -5
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/label/client.d.ts +27 -10
  47. package/dist/src/label/client.d.ts.map +1 -1
  48. package/dist/src/label/payload.d.ts +15 -1
  49. package/dist/src/label/payload.d.ts.map +1 -1
  50. package/dist/src/lineplot/access.spec.d.ts.map +1 -0
  51. package/dist/src/{workspace/lineplot → lineplot}/client.d.ts +6 -6
  52. package/dist/src/lineplot/client.d.ts.map +1 -0
  53. package/dist/src/lineplot/external.d.ts.map +1 -0
  54. package/dist/src/lineplot/index.d.ts.map +1 -0
  55. package/dist/src/lineplot/lineplot.spec.d.ts.map +1 -0
  56. package/dist/src/{workspace/lineplot → lineplot}/payload.d.ts +3 -3
  57. package/dist/src/lineplot/payload.d.ts.map +1 -0
  58. package/dist/src/log/access.spec.d.ts.map +1 -0
  59. package/dist/src/{workspace/log → log}/client.d.ts +6 -6
  60. package/dist/src/log/client.d.ts.map +1 -0
  61. package/dist/src/log/external.d.ts.map +1 -0
  62. package/dist/src/log/index.d.ts.map +1 -0
  63. package/dist/src/log/log.spec.d.ts.map +1 -0
  64. package/dist/src/{workspace/log → log}/payload.d.ts +3 -3
  65. package/dist/src/log/payload.d.ts.map +1 -0
  66. package/dist/src/ontology/client.d.ts +7 -9
  67. package/dist/src/ontology/client.d.ts.map +1 -1
  68. package/dist/src/ontology/payload.d.ts +25 -20
  69. package/dist/src/ontology/payload.d.ts.map +1 -1
  70. package/dist/src/ontology/writer.d.ts +15 -10
  71. package/dist/src/ontology/writer.d.ts.map +1 -1
  72. package/dist/src/rack/client.d.ts +2 -2
  73. package/dist/src/rack/payload.d.ts +44 -16
  74. package/dist/src/rack/payload.d.ts.map +1 -1
  75. package/dist/src/ranger/alias/client.d.ts +17 -0
  76. package/dist/src/ranger/alias/client.d.ts.map +1 -0
  77. package/dist/src/ranger/alias/external.d.ts +2 -0
  78. package/dist/src/ranger/alias/external.d.ts.map +1 -0
  79. package/dist/src/ranger/alias/index.d.ts +2 -0
  80. package/dist/src/ranger/alias/index.d.ts.map +1 -0
  81. package/dist/src/ranger/{alias.d.ts → alias/payload.d.ts} +14 -20
  82. package/dist/src/ranger/alias/payload.d.ts.map +1 -0
  83. package/dist/src/ranger/client.d.ts +10 -10
  84. package/dist/src/ranger/client.d.ts.map +1 -1
  85. package/dist/src/ranger/external.d.ts +20 -0
  86. package/dist/src/ranger/external.d.ts.map +1 -1
  87. package/dist/src/ranger/kv/client.d.ts +14 -0
  88. package/dist/src/ranger/kv/client.d.ts.map +1 -0
  89. package/dist/src/ranger/kv/external.d.ts +2 -0
  90. package/dist/src/ranger/kv/external.d.ts.map +1 -0
  91. package/dist/src/ranger/kv/index.d.ts +2 -0
  92. package/dist/src/ranger/kv/index.d.ts.map +1 -0
  93. package/dist/src/ranger/kv/payload.d.ts +26 -0
  94. package/dist/src/ranger/kv/payload.d.ts.map +1 -0
  95. package/dist/src/ranger/payload.d.ts +45 -3
  96. package/dist/src/ranger/payload.d.ts.map +1 -1
  97. package/dist/src/ranger/writer.d.ts +18 -3
  98. package/dist/src/ranger/writer.d.ts.map +1 -1
  99. package/dist/src/schematic/access.spec.d.ts.map +1 -0
  100. package/dist/src/{workspace/schematic → schematic}/client.d.ts +6 -6
  101. package/dist/src/schematic/client.d.ts.map +1 -0
  102. package/dist/src/schematic/external.d.ts.map +1 -0
  103. package/dist/src/schematic/index.d.ts.map +1 -0
  104. package/dist/src/{workspace/schematic → schematic}/payload.d.ts +3 -3
  105. package/dist/src/schematic/payload.d.ts.map +1 -0
  106. package/dist/src/schematic/schematic.spec.d.ts.map +1 -0
  107. package/dist/src/schematic/symbol/access.spec.d.ts.map +1 -0
  108. package/dist/src/{workspace/schematic → schematic}/symbol/client.d.ts +2 -2
  109. package/dist/src/schematic/symbol/client.d.ts.map +1 -0
  110. package/dist/src/schematic/symbol/client.spec.d.ts.map +1 -0
  111. package/dist/src/schematic/symbol/external.d.ts.map +1 -0
  112. package/dist/src/schematic/symbol/index.d.ts.map +1 -0
  113. package/dist/src/schematic/symbol/payload.d.ts.map +1 -0
  114. package/dist/src/status/payload.d.ts +43 -7
  115. package/dist/src/status/payload.d.ts.map +1 -1
  116. package/dist/src/table/access.spec.d.ts.map +1 -0
  117. package/dist/src/{workspace/table → table}/client.d.ts +6 -6
  118. package/dist/src/table/client.d.ts.map +1 -0
  119. package/dist/src/table/external.d.ts.map +1 -0
  120. package/dist/src/table/index.d.ts.map +1 -0
  121. package/dist/src/{workspace/table → table}/payload.d.ts +3 -3
  122. package/dist/src/table/payload.d.ts.map +1 -0
  123. package/dist/src/table/table.spec.d.ts.map +1 -0
  124. package/dist/src/task/client.d.ts +2 -2
  125. package/dist/src/task/client.d.ts.map +1 -1
  126. package/dist/src/task/payload.d.ts +5 -4
  127. package/dist/src/task/payload.d.ts.map +1 -1
  128. package/dist/src/task/payload.spec.d.ts +2 -0
  129. package/dist/src/task/payload.spec.d.ts.map +1 -0
  130. package/dist/src/user/client.d.ts +2 -2
  131. package/dist/src/view/client.d.ts +43 -0
  132. package/dist/src/view/client.d.ts.map +1 -0
  133. package/dist/src/view/external.d.ts +3 -0
  134. package/dist/src/view/external.d.ts.map +1 -0
  135. package/dist/src/view/index.d.ts +2 -0
  136. package/dist/src/view/index.d.ts.map +1 -0
  137. package/dist/src/view/payload.d.ts +20 -0
  138. package/dist/src/view/payload.d.ts.map +1 -0
  139. package/dist/src/view/view.spec.d.ts +2 -0
  140. package/dist/src/view/view.spec.d.ts.map +1 -0
  141. package/dist/src/workspace/client.d.ts +3 -11
  142. package/dist/src/workspace/client.d.ts.map +1 -1
  143. package/dist/src/workspace/payload.d.ts +3 -3
  144. package/eslint.config.ts +3 -4
  145. package/examples/node/basicReadWrite.js +1 -1
  146. package/examples/node/createChannels.js +50 -0
  147. package/examples/node/createRange.js +67 -0
  148. package/examples/node/readLatest.js +76 -0
  149. package/examples/node/seriesAndFrames.js +2 -2
  150. package/examples/node/{liveStream.js → streamRead.js} +1 -1
  151. package/examples/node/streamWrite.js +1 -1
  152. package/package.json +11 -10
  153. package/src/access/client.ts +1 -1
  154. package/src/access/enforce.spec.ts +1 -1
  155. package/src/access/enforce.ts +1 -1
  156. package/src/access/external.ts +1 -1
  157. package/src/access/index.ts +1 -1
  158. package/src/access/payload.ts +1 -1
  159. package/src/access/policy/access.spec.ts +1 -1
  160. package/src/access/policy/client.ts +1 -1
  161. package/src/access/policy/external.ts +1 -1
  162. package/src/access/policy/index.ts +1 -1
  163. package/src/access/policy/payload.ts +1 -1
  164. package/src/access/role/client.ts +1 -1
  165. package/src/access/role/external.ts +1 -1
  166. package/src/access/role/index.ts +1 -1
  167. package/src/access/role/payload.ts +1 -1
  168. package/src/access/role/role.spec.ts +1 -1
  169. package/src/arc/access.spec.ts +1 -7
  170. package/src/arc/client.ts +1 -1
  171. package/src/arc/external.ts +1 -1
  172. package/src/arc/index.ts +1 -1
  173. package/src/arc/lsp.spec.ts +156 -287
  174. package/src/arc/payload.ts +7 -12
  175. package/src/auth/auth.spec.ts +1 -1
  176. package/src/auth/auth.ts +1 -1
  177. package/src/auth/index.ts +1 -1
  178. package/src/channel/access.spec.ts +1 -1
  179. package/src/channel/batchRetriever.spec.ts +1 -3
  180. package/src/channel/channel.spec.ts +13 -20
  181. package/src/channel/client.ts +8 -41
  182. package/src/channel/external.ts +1 -1
  183. package/src/channel/index.ts +1 -1
  184. package/src/channel/payload.spec.ts +1 -58
  185. package/src/channel/payload.ts +19 -19
  186. package/src/channel/retriever.ts +7 -6
  187. package/src/channel/writer.ts +1 -1
  188. package/src/client.ts +24 -4
  189. package/src/connection/checker.ts +2 -2
  190. package/src/connection/connection.spec.ts +1 -1
  191. package/src/connection/index.ts +1 -1
  192. package/src/connection.spec.ts +1 -1
  193. package/src/control/client.ts +1 -1
  194. package/src/control/external.ts +1 -1
  195. package/src/control/index.ts +1 -1
  196. package/src/control/state.spec.ts +1 -1
  197. package/src/control/state.ts +1 -1
  198. package/src/device/access.spec.ts +1 -1
  199. package/src/device/client.ts +90 -44
  200. package/src/device/device.spec.ts +1 -1
  201. package/src/device/external.ts +1 -1
  202. package/src/device/index.ts +1 -1
  203. package/src/device/payload.spec.ts +118 -0
  204. package/src/device/payload.ts +56 -31
  205. package/src/errors.spec.ts +2 -2
  206. package/src/errors.ts +1 -1
  207. package/src/framer/adapter.spec.ts +1 -1
  208. package/src/framer/adapter.ts +6 -8
  209. package/src/framer/client.spec.ts +1 -1
  210. package/src/framer/client.ts +1 -1
  211. package/src/framer/codec.spec.ts +1 -1
  212. package/src/framer/codec.ts +1 -1
  213. package/src/framer/deleter.spec.ts +1 -1
  214. package/src/framer/deleter.ts +1 -1
  215. package/src/framer/external.ts +1 -1
  216. package/src/framer/frame.spec.ts +1 -1
  217. package/src/framer/frame.ts +9 -9
  218. package/src/framer/index.ts +1 -1
  219. package/src/framer/iterator.spec.ts +1 -1
  220. package/src/framer/iterator.ts +1 -1
  221. package/src/framer/payload.ts +1 -1
  222. package/src/framer/reader.spec.ts +1 -1
  223. package/src/framer/reader.ts +1 -1
  224. package/src/framer/streamProxy.ts +1 -1
  225. package/src/framer/streamer.spec.ts +1 -2
  226. package/src/framer/streamer.ts +4 -4
  227. package/src/framer/writer.spec.ts +1 -1
  228. package/src/framer/writer.ts +1 -1
  229. package/src/{ontology/group → group}/access.spec.ts +8 -8
  230. package/src/{ontology/group → group}/client.ts +2 -2
  231. package/src/group/external.ts +11 -0
  232. package/src/{ontology/group → group}/group.spec.ts +10 -10
  233. package/src/{workspace/log → group}/index.ts +2 -2
  234. package/src/{ontology/group → group}/payload.ts +1 -1
  235. package/src/index.ts +7 -6
  236. package/src/label/access.spec.ts +2 -2
  237. package/src/label/client.ts +2 -2
  238. package/src/label/external.ts +1 -1
  239. package/src/label/index.ts +1 -1
  240. package/src/label/label.spec.ts +5 -5
  241. package/src/label/payload.ts +1 -1
  242. package/src/{workspace/lineplot → lineplot}/access.spec.ts +15 -15
  243. package/src/{workspace/lineplot → lineplot}/client.ts +14 -14
  244. package/src/lineplot/external.ts +11 -0
  245. package/src/{ontology/group → lineplot}/index.ts +2 -2
  246. package/src/{workspace/lineplot → lineplot}/lineplot.spec.ts +13 -13
  247. package/src/{workspace/lineplot → lineplot}/payload.ts +1 -1
  248. package/src/{workspace/log → log}/access.spec.ts +17 -19
  249. package/src/{workspace/log → log}/client.ts +14 -14
  250. package/src/{workspace/schematic/index.ts → log/external.ts} +3 -2
  251. package/src/{workspace/table → log}/index.ts +2 -2
  252. package/src/{workspace/log → log}/log.spec.ts +11 -11
  253. package/src/{workspace/log → log}/payload.ts +1 -1
  254. package/src/ontology/client.ts +7 -14
  255. package/src/ontology/external.ts +1 -1
  256. package/src/ontology/index.ts +1 -1
  257. package/src/ontology/ontology.spec.ts +13 -13
  258. package/src/ontology/payload.ts +6 -3
  259. package/src/ontology/writer.ts +1 -1
  260. package/src/rack/access.spec.ts +1 -1
  261. package/src/rack/client.ts +1 -1
  262. package/src/rack/external.ts +1 -1
  263. package/src/rack/index.ts +1 -1
  264. package/src/rack/payload.ts +1 -1
  265. package/src/rack/rack.spec.ts +1 -1
  266. package/src/ranger/access.spec.ts +1 -1
  267. package/src/ranger/{alias.ts → alias/client.ts} +7 -38
  268. package/src/{workspace/lineplot → ranger/alias}/external.ts +11 -3
  269. package/src/{workspace/lineplot → ranger/alias}/index.ts +2 -2
  270. package/src/ranger/alias/payload.ts +50 -0
  271. package/src/ranger/client.ts +27 -20
  272. package/src/ranger/external.ts +23 -1
  273. package/src/ranger/index.ts +1 -1
  274. package/src/ranger/{kv.ts → kv/client.ts} +6 -20
  275. package/src/{workspace/schematic → ranger/kv}/external.ts +8 -4
  276. package/src/ranger/kv/index.ts +10 -0
  277. package/src/ranger/kv/payload.ts +32 -0
  278. package/src/ranger/payload.ts +3 -3
  279. package/src/ranger/ranger.spec.ts +2 -2
  280. package/src/ranger/writer.ts +1 -1
  281. package/src/{workspace/schematic → schematic}/access.spec.ts +15 -15
  282. package/src/{workspace/schematic → schematic}/client.ts +15 -15
  283. package/src/{workspace/log → schematic}/external.ts +4 -3
  284. package/src/schematic/index.ts +10 -0
  285. package/src/{workspace/schematic → schematic}/payload.ts +1 -1
  286. package/src/{workspace/schematic → schematic}/schematic.spec.ts +18 -18
  287. package/src/{workspace/schematic → schematic}/symbol/access.spec.ts +20 -20
  288. package/src/{workspace/schematic → schematic}/symbol/client.spec.ts +17 -17
  289. package/src/{workspace/schematic → schematic}/symbol/client.ts +9 -9
  290. package/src/{ontology/group → schematic/symbol}/external.ts +3 -3
  291. package/src/schematic/symbol/index.ts +10 -0
  292. package/src/{workspace/schematic → schematic}/symbol/payload.ts +1 -1
  293. package/src/status/access.spec.ts +1 -1
  294. package/src/status/client.ts +1 -1
  295. package/src/status/external.ts +1 -1
  296. package/src/status/index.ts +1 -1
  297. package/src/status/payload.ts +2 -2
  298. package/src/status/status.spec.ts +3 -3
  299. package/src/{workspace/table → table}/access.spec.ts +15 -15
  300. package/src/{workspace/table → table}/client.ts +16 -13
  301. package/src/table/external.ts +11 -0
  302. package/src/table/index.ts +10 -0
  303. package/src/{workspace/table → table}/payload.ts +1 -1
  304. package/src/{workspace/table → table}/table.spec.ts +13 -13
  305. package/src/task/access.spec.ts +1 -1
  306. package/src/task/client.ts +11 -6
  307. package/src/task/external.ts +1 -1
  308. package/src/task/index.ts +1 -1
  309. package/src/task/payload.spec.ts +113 -0
  310. package/src/task/payload.ts +14 -10
  311. package/src/task/task.spec.ts +1 -1
  312. package/src/testutil/access.ts +1 -1
  313. package/src/testutil/channels.ts +1 -1
  314. package/src/testutil/client.ts +1 -1
  315. package/src/testutil/telem.ts +1 -1
  316. package/src/transport.ts +1 -1
  317. package/src/user/access.spec.ts +1 -1
  318. package/src/user/client.ts +1 -1
  319. package/src/user/external.ts +1 -1
  320. package/src/user/index.ts +1 -1
  321. package/src/user/payload.ts +1 -1
  322. package/src/user/user.spec.ts +1 -1
  323. package/src/util/decodeJSONString.ts +1 -1
  324. package/src/util/parseWithoutKeyConversion.ts +1 -1
  325. package/src/util/retrieve.spec.ts +1 -1
  326. package/src/util/retrieve.ts +1 -1
  327. package/src/util/telem.ts +1 -1
  328. package/src/view/client.ts +96 -0
  329. package/src/view/external.ts +11 -0
  330. package/src/view/index.ts +10 -0
  331. package/src/view/payload.ts +25 -0
  332. package/src/view/view.spec.ts +161 -0
  333. package/src/vite-env.d.ts +1 -1
  334. package/src/workspace/access.spec.ts +1 -1
  335. package/src/workspace/client.ts +1 -13
  336. package/src/workspace/external.ts +1 -1
  337. package/src/workspace/index.ts +1 -1
  338. package/src/workspace/payload.ts +1 -1
  339. package/src/workspace/workspace.spec.ts +1 -1
  340. package/vite.config.ts +1 -1
  341. package/dist/src/ontology/group/access.spec.d.ts.map +0 -1
  342. package/dist/src/ontology/group/client.d.ts.map +0 -1
  343. package/dist/src/ontology/group/external.d.ts.map +0 -1
  344. package/dist/src/ontology/group/group.spec.d.ts.map +0 -1
  345. package/dist/src/ontology/group/index.d.ts.map +0 -1
  346. package/dist/src/ontology/group/payload.d.ts.map +0 -1
  347. package/dist/src/ranger/alias.d.ts.map +0 -1
  348. package/dist/src/ranger/kv.d.ts +0 -48
  349. package/dist/src/ranger/kv.d.ts.map +0 -1
  350. package/dist/src/workspace/lineplot/access.spec.d.ts.map +0 -1
  351. package/dist/src/workspace/lineplot/client.d.ts.map +0 -1
  352. package/dist/src/workspace/lineplot/external.d.ts.map +0 -1
  353. package/dist/src/workspace/lineplot/index.d.ts.map +0 -1
  354. package/dist/src/workspace/lineplot/lineplot.spec.d.ts.map +0 -1
  355. package/dist/src/workspace/lineplot/payload.d.ts.map +0 -1
  356. package/dist/src/workspace/log/access.spec.d.ts.map +0 -1
  357. package/dist/src/workspace/log/client.d.ts.map +0 -1
  358. package/dist/src/workspace/log/external.d.ts.map +0 -1
  359. package/dist/src/workspace/log/index.d.ts.map +0 -1
  360. package/dist/src/workspace/log/log.spec.d.ts.map +0 -1
  361. package/dist/src/workspace/log/payload.d.ts.map +0 -1
  362. package/dist/src/workspace/schematic/access.spec.d.ts.map +0 -1
  363. package/dist/src/workspace/schematic/client.d.ts.map +0 -1
  364. package/dist/src/workspace/schematic/external.d.ts.map +0 -1
  365. package/dist/src/workspace/schematic/index.d.ts.map +0 -1
  366. package/dist/src/workspace/schematic/payload.d.ts.map +0 -1
  367. package/dist/src/workspace/schematic/schematic.spec.d.ts.map +0 -1
  368. package/dist/src/workspace/schematic/symbol/access.spec.d.ts.map +0 -1
  369. package/dist/src/workspace/schematic/symbol/client.d.ts.map +0 -1
  370. package/dist/src/workspace/schematic/symbol/client.spec.d.ts.map +0 -1
  371. package/dist/src/workspace/schematic/symbol/external.d.ts.map +0 -1
  372. package/dist/src/workspace/schematic/symbol/index.d.ts.map +0 -1
  373. package/dist/src/workspace/schematic/symbol/payload.d.ts.map +0 -1
  374. package/dist/src/workspace/table/access.spec.d.ts.map +0 -1
  375. package/dist/src/workspace/table/client.d.ts.map +0 -1
  376. package/dist/src/workspace/table/external.d.ts.map +0 -1
  377. package/dist/src/workspace/table/index.d.ts.map +0 -1
  378. package/dist/src/workspace/table/payload.d.ts.map +0 -1
  379. package/dist/src/workspace/table/table.spec.d.ts.map +0 -1
  380. package/src/workspace/schematic/symbol/external.ts +0 -11
  381. package/src/workspace/schematic/symbol/index.ts +0 -10
  382. package/src/workspace/table/external.ts +0 -11
  383. /package/dist/src/{ontology/group → group}/access.spec.d.ts +0 -0
  384. /package/dist/src/{ontology/group → group}/external.d.ts +0 -0
  385. /package/dist/src/{ontology/group → group}/group.spec.d.ts +0 -0
  386. /package/dist/src/{ontology/group → group}/index.d.ts +0 -0
  387. /package/dist/src/{workspace/lineplot → lineplot}/access.spec.d.ts +0 -0
  388. /package/dist/src/{workspace/lineplot → lineplot}/external.d.ts +0 -0
  389. /package/dist/src/{workspace/lineplot → lineplot}/index.d.ts +0 -0
  390. /package/dist/src/{workspace/lineplot → lineplot}/lineplot.spec.d.ts +0 -0
  391. /package/dist/src/{workspace/log → log}/access.spec.d.ts +0 -0
  392. /package/dist/src/{workspace/log → log}/external.d.ts +0 -0
  393. /package/dist/src/{workspace/log → log}/index.d.ts +0 -0
  394. /package/dist/src/{workspace/log → log}/log.spec.d.ts +0 -0
  395. /package/dist/src/{workspace/schematic → schematic}/access.spec.d.ts +0 -0
  396. /package/dist/src/{workspace/schematic → schematic}/external.d.ts +0 -0
  397. /package/dist/src/{workspace/schematic → schematic}/index.d.ts +0 -0
  398. /package/dist/src/{workspace/schematic → schematic}/schematic.spec.d.ts +0 -0
  399. /package/dist/src/{workspace/schematic → schematic}/symbol/access.spec.d.ts +0 -0
  400. /package/dist/src/{workspace/schematic → schematic}/symbol/client.spec.d.ts +0 -0
  401. /package/dist/src/{workspace/schematic → schematic}/symbol/external.d.ts +0 -0
  402. /package/dist/src/{workspace/schematic → schematic}/symbol/index.d.ts +0 -0
  403. /package/dist/src/{workspace/schematic → schematic}/symbol/payload.d.ts +0 -0
  404. /package/dist/src/{workspace/table → table}/access.spec.d.ts +0 -0
  405. /package/dist/src/{workspace/table → table}/external.d.ts +0 -0
  406. /package/dist/src/{workspace/table → table}/index.d.ts +0 -0
  407. /package/dist/src/{workspace/table → table}/table.spec.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -22,7 +22,7 @@ describe("LinePlot", () => {
22
22
  name: "Line Plot",
23
23
  layout: { one: 1 },
24
24
  });
25
- const linePlot = await client.workspaces.lineplots.create(ws.key, {
25
+ const linePlot = await client.lineplots.create(ws.key, {
26
26
  name: "Line Plot",
27
27
  data: { one: 1 },
28
28
  });
@@ -37,12 +37,12 @@ describe("LinePlot", () => {
37
37
  name: "Line Plot",
38
38
  layout: { one: 1 },
39
39
  });
40
- const linePlot = await client.workspaces.lineplots.create(ws.key, {
40
+ const linePlot = await client.lineplots.create(ws.key, {
41
41
  name: "Line Plot",
42
42
  data: { one: 1 },
43
43
  });
44
- await client.workspaces.lineplots.rename(linePlot.key, "Line Plot2");
45
- const res = await client.workspaces.lineplots.retrieve({ key: linePlot.key });
44
+ await client.lineplots.rename(linePlot.key, "Line Plot2");
45
+ const res = await client.lineplots.retrieve({ key: linePlot.key });
46
46
  expect(res.name).toEqual("Line Plot2");
47
47
  });
48
48
  });
@@ -52,12 +52,12 @@ describe("LinePlot", () => {
52
52
  name: "Line Plot",
53
53
  layout: { one: 1 },
54
54
  });
55
- const linePlot = await client.workspaces.lineplots.create(ws.key, {
55
+ const linePlot = await client.lineplots.create(ws.key, {
56
56
  name: "Line Plot",
57
57
  data: { one: 1 },
58
58
  });
59
- await client.workspaces.lineplots.setData(linePlot.key, { two: 2 });
60
- const res = await client.workspaces.lineplots.retrieve({ key: linePlot.key });
59
+ await client.lineplots.setData(linePlot.key, { two: 2 });
60
+ const res = await client.lineplots.retrieve({ key: linePlot.key });
61
61
  expect(res.data.two).toEqual(2);
62
62
  });
63
63
  });
@@ -67,14 +67,14 @@ describe("LinePlot", () => {
67
67
  name: "Line Plot",
68
68
  layout: { one: 1 },
69
69
  });
70
- const linePlot = await client.workspaces.lineplots.create(ws.key, {
70
+ const linePlot = await client.lineplots.create(ws.key, {
71
71
  name: "Line Plot",
72
72
  data: { one: 1 },
73
73
  });
74
- await client.workspaces.lineplots.delete(linePlot.key);
75
- await expect(
76
- client.workspaces.lineplots.retrieve({ key: linePlot.key }),
77
- ).rejects.toThrow(NotFoundError);
74
+ await client.lineplots.delete(linePlot.key);
75
+ await expect(client.lineplots.retrieve({ key: linePlot.key })).rejects.toThrow(
76
+ NotFoundError,
77
+ );
78
78
  });
79
79
  });
80
80
  });
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -10,9 +10,9 @@
10
10
  import { describe, expect, it } from "vitest";
11
11
 
12
12
  import { AuthError, NotFoundError } from "@/errors";
13
+ import { log } from "@/log";
13
14
  import { createTestClientWithPolicy } from "@/testutil/access";
14
15
  import { createTestClient } from "@/testutil/client";
15
- import { log } from "@/workspace/log";
16
16
 
17
17
  const client = createTestClient();
18
18
 
@@ -28,13 +28,13 @@ describe("log", () => {
28
28
  name: "test",
29
29
  layout: {},
30
30
  });
31
- const randomLog = await client.workspaces.logs.create(ws.key, {
31
+ const randomLog = await client.logs.create(ws.key, {
32
32
  name: "test",
33
33
  data: {},
34
34
  });
35
- await expect(
36
- userClient.workspaces.logs.retrieve({ key: randomLog.key }),
37
- ).rejects.toThrow(AuthError);
35
+ await expect(userClient.logs.retrieve({ key: randomLog.key })).rejects.toThrow(
36
+ AuthError,
37
+ );
38
38
  });
39
39
 
40
40
  it("should allow the caller to retrieve logs with the correct policy", async () => {
@@ -47,11 +47,11 @@ describe("log", () => {
47
47
  name: "test",
48
48
  layout: {},
49
49
  });
50
- const randomLog = await client.workspaces.logs.create(ws.key, {
50
+ const randomLog = await client.logs.create(ws.key, {
51
51
  name: "test",
52
52
  data: {},
53
53
  });
54
- const retrieved = await userClient.workspaces.logs.retrieve({
54
+ const retrieved = await userClient.logs.retrieve({
55
55
  key: randomLog.key,
56
56
  });
57
57
  expect(retrieved.key).toBe(randomLog.key);
@@ -68,7 +68,7 @@ describe("log", () => {
68
68
  name: "test",
69
69
  layout: {},
70
70
  });
71
- await userClient.workspaces.logs.create(ws.key, {
71
+ await userClient.logs.create(ws.key, {
72
72
  name: "test",
73
73
  data: {},
74
74
  });
@@ -85,7 +85,7 @@ describe("log", () => {
85
85
  layout: {},
86
86
  });
87
87
  await expect(
88
- userClient.workspaces.logs.create(ws.key, {
88
+ userClient.logs.create(ws.key, {
89
89
  name: "test",
90
90
  data: {},
91
91
  }),
@@ -102,14 +102,14 @@ describe("log", () => {
102
102
  name: "test",
103
103
  layout: {},
104
104
  });
105
- const randomLog = await client.workspaces.logs.create(ws.key, {
105
+ const randomLog = await client.logs.create(ws.key, {
106
106
  name: "test",
107
107
  data: {},
108
108
  });
109
- await userClient.workspaces.logs.delete(randomLog.key);
110
- await expect(
111
- userClient.workspaces.logs.retrieve({ key: randomLog.key }),
112
- ).rejects.toThrow(NotFoundError);
109
+ await userClient.logs.delete(randomLog.key);
110
+ await expect(userClient.logs.retrieve({ key: randomLog.key })).rejects.toThrow(
111
+ NotFoundError,
112
+ );
113
113
  });
114
114
 
115
115
  it("should deny access when no delete policy exists", async () => {
@@ -122,13 +122,11 @@ describe("log", () => {
122
122
  name: "test",
123
123
  layout: {},
124
124
  });
125
- const randomLog = await client.workspaces.logs.create(ws.key, {
125
+ const randomLog = await client.logs.create(ws.key, {
126
126
  name: "test",
127
127
  data: {},
128
128
  });
129
- await expect(userClient.workspaces.logs.delete(randomLog.key)).rejects.toThrow(
130
- AuthError,
131
- );
129
+ await expect(userClient.logs.delete(randomLog.key)).rejects.toThrow(AuthError);
132
130
  });
133
131
  });
134
132
  });
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -11,8 +11,6 @@ import { sendRequired, type UnaryClient } from "@synnaxlabs/freighter";
11
11
  import { array, type record } from "@synnaxlabs/x";
12
12
  import { z } from "zod";
13
13
 
14
- import { ontology } from "@/ontology";
15
- import { checkForMultipleOrNoResults } from "@/util/retrieve";
16
14
  import {
17
15
  type Key,
18
16
  keyZ,
@@ -21,8 +19,10 @@ import {
21
19
  type New,
22
20
  newZ,
23
21
  type Params,
24
- } from "@/workspace/log/payload";
25
- import { type Key as WorkspaceKey, keyZ as workspaceKeyZ } from "@/workspace/payload";
22
+ } from "@/log/payload";
23
+ import { ontology } from "@/ontology";
24
+ import { checkForMultipleOrNoResults } from "@/util/retrieve";
25
+ import { workspace } from "@/workspace";
26
26
 
27
27
  const renameReqZ = z.object({ key: keyZ, name: z.string() });
28
28
 
@@ -41,7 +41,7 @@ export type RetrieveMultipleParams = z.input<typeof retrieveReqZ>;
41
41
 
42
42
  const retrieveResZ = z.object({ logs: array.nullableZ(logZ) });
43
43
 
44
- const createReqZ = z.object({ workspace: workspaceKeyZ, logs: newZ.array() });
44
+ const createReqZ = z.object({ workspace: workspace.keyZ, logs: newZ.array() });
45
45
  const createResZ = z.object({ logs: logZ.array() });
46
46
 
47
47
  const emptyResZ = z.object({});
@@ -53,13 +53,13 @@ export class Client {
53
53
  this.client = client;
54
54
  }
55
55
 
56
- async create(workspace: WorkspaceKey, log: New): Promise<Log>;
57
- async create(workspace: WorkspaceKey, logs: New[]): Promise<Log[]>;
58
- async create(workspace: WorkspaceKey, logs: New | New[]): Promise<Log | Log[]> {
56
+ async create(workspace: workspace.Key, log: New): Promise<Log>;
57
+ async create(workspace: workspace.Key, logs: New[]): Promise<Log[]>;
58
+ async create(workspace: workspace.Key, logs: New | New[]): Promise<Log | Log[]> {
59
59
  const isMany = Array.isArray(logs);
60
60
  const res = await sendRequired(
61
61
  this.client,
62
- "/workspace/log/create",
62
+ "/log/create",
63
63
  { workspace, logs: array.toArray(logs) },
64
64
  createReqZ,
65
65
  createResZ,
@@ -70,7 +70,7 @@ export class Client {
70
70
  async rename(key: Key, name: string): Promise<void> {
71
71
  await sendRequired(
72
72
  this.client,
73
- "/workspace/log/rename",
73
+ "/log/rename",
74
74
  { key, name },
75
75
  renameReqZ,
76
76
  emptyResZ,
@@ -80,7 +80,7 @@ export class Client {
80
80
  async setData(key: Key, data: record.Unknown): Promise<void> {
81
81
  await sendRequired(
82
82
  this.client,
83
- "/workspace/log/set-data",
83
+ "/log/set-data",
84
84
  { key, data: JSON.stringify(data) },
85
85
  setDataReqZ,
86
86
  emptyResZ,
@@ -95,7 +95,7 @@ export class Client {
95
95
  const isSingle = singleRetrieveArgsZ.safeParse(args).success;
96
96
  const res = await sendRequired(
97
97
  this.client,
98
- "/workspace/log/retrieve",
98
+ "/log/retrieve",
99
99
  args,
100
100
  retrieveArgsZ,
101
101
  retrieveResZ,
@@ -107,7 +107,7 @@ export class Client {
107
107
  async delete(keys: Params): Promise<void> {
108
108
  await sendRequired(
109
109
  this.client,
110
- "/workspace/log/delete",
110
+ "/log/delete",
111
111
  { keys: array.toArray(keys) },
112
112
  deleteReqZ,
113
113
  emptyResZ,
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -7,4 +7,5 @@
7
7
  // License, use of this software will be governed by the Apache License, Version 2.0,
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
- export * as schematic from "@/workspace/schematic/external";
10
+ export * from "@/log/client";
11
+ export * from "@/log/payload";
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -7,4 +7,4 @@
7
7
  // License, use of this software will be governed by the Apache License, Version 2.0,
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
- export * as table from "@/workspace/table/external";
10
+ export * as log from "@/log/external";
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -19,7 +19,7 @@ describe("Log", () => {
19
19
  describe("create", () => {
20
20
  test("create one", async () => {
21
21
  const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
22
- const log = await client.workspaces.logs.create(ws.key, {
22
+ const log = await client.logs.create(ws.key, {
23
23
  name: "Log",
24
24
  data: { one: 1 },
25
25
  });
@@ -31,36 +31,36 @@ describe("Log", () => {
31
31
  describe("rename", () => {
32
32
  test("rename one", async () => {
33
33
  const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
34
- const log = await client.workspaces.logs.create(ws.key, {
34
+ const log = await client.logs.create(ws.key, {
35
35
  name: "Log",
36
36
  data: { one: 1 },
37
37
  });
38
- await client.workspaces.logs.rename(log.key, "Log2");
39
- const res = await client.workspaces.logs.retrieve({ key: log.key });
38
+ await client.logs.rename(log.key, "Log2");
39
+ const res = await client.logs.retrieve({ key: log.key });
40
40
  expect(res.name).toEqual("Log2");
41
41
  });
42
42
  });
43
43
  describe("setData", () => {
44
44
  test("set data", async () => {
45
45
  const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
46
- const log = await client.workspaces.logs.create(ws.key, {
46
+ const log = await client.logs.create(ws.key, {
47
47
  name: "Log",
48
48
  data: { one: 1 },
49
49
  });
50
- await client.workspaces.logs.setData(log.key, { two: 2 });
51
- const res = await client.workspaces.logs.retrieve({ key: log.key });
50
+ await client.logs.setData(log.key, { two: 2 });
51
+ const res = await client.logs.retrieve({ key: log.key });
52
52
  expect(res.data.two).toEqual(2);
53
53
  });
54
54
  });
55
55
  describe("delete", () => {
56
56
  test("delete one", async () => {
57
57
  const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
58
- const log = await client.workspaces.logs.create(ws.key, {
58
+ const log = await client.logs.create(ws.key, {
59
59
  name: "Log",
60
60
  data: { one: 1 },
61
61
  });
62
- await client.workspaces.logs.delete(log.key);
63
- await expect(client.workspaces.logs.retrieve({ key: log.key })).rejects.toThrow(
62
+ await client.logs.delete(log.key);
63
+ await expect(client.logs.retrieve({ key: log.key })).rejects.toThrow(
64
64
  NotFoundError,
65
65
  );
66
66
  });
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -12,8 +12,6 @@ import { array, strings } from "@synnaxlabs/x";
12
12
  import { z } from "zod";
13
13
 
14
14
  import { QueryError } from "@/errors";
15
- import { type framer } from "@/framer";
16
- import { group } from "@/ontology/group";
17
15
  import {
18
16
  type ID,
19
17
  idToString,
@@ -37,27 +35,22 @@ const retrieveReqZ = z.object({
37
35
  });
38
36
  export interface RetrieveRequest extends z.infer<typeof retrieveReqZ> {}
39
37
 
40
- export interface RetrieveOptions
41
- extends Pick<
42
- RetrieveRequest,
43
- "excludeFieldData" | "types" | "children" | "parents"
44
- > {}
38
+ export interface RetrieveOptions extends Pick<
39
+ RetrieveRequest,
40
+ "excludeFieldData" | "types" | "children" | "parents"
41
+ > {}
45
42
 
46
43
  const retrieveResZ = z.object({ resources: resourceZ.array() });
47
44
 
48
- /** The core client class for executing queries against a Synnax cluster ontology */
45
+ /** The main client class for executing queries against a Synnax cluster ontology */
49
46
  export class Client {
50
47
  readonly type: string = "ontology";
51
- groups: group.Client;
52
48
  private readonly client: UnaryClient;
53
49
  private readonly writer: Writer;
54
- private readonly framer: framer.Client;
55
50
 
56
- constructor(unary: UnaryClient, framer: framer.Client) {
51
+ constructor(unary: UnaryClient) {
57
52
  this.client = unary;
58
53
  this.writer = new Writer(unary);
59
- this.groups = new group.Client(unary);
60
- this.framer = framer;
61
54
  }
62
55
 
63
56
  /**
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -9,8 +9,8 @@
9
9
 
10
10
  import { describe, expect, it, test } from "vitest";
11
11
 
12
+ import { group } from "@/group";
12
13
  import { ontology } from "@/ontology";
13
- import { group } from "@/ontology/group";
14
14
  import { createTestClient } from "@/testutil/client";
15
15
 
16
16
  const client = createTestClient();
@@ -126,15 +126,15 @@ describe("Ontology", () => {
126
126
  describe("retrieve", () => {
127
127
  test("retrieve", async () => {
128
128
  const name = randomName();
129
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
129
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
130
130
  const g2 = await client.ontology.retrieve(group.ontologyID(g.key));
131
131
  expect(g2.name).toEqual(name);
132
132
  });
133
133
  test("retrieve children", async () => {
134
134
  const name = randomName();
135
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
135
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
136
136
  const name2 = randomName();
137
- await client.ontology.groups.create({
137
+ await client.groups.create({
138
138
  parent: group.ontologyID(g.key),
139
139
  name: name2,
140
140
  });
@@ -144,9 +144,9 @@ describe("Ontology", () => {
144
144
  });
145
145
  test("retrieve parents", async () => {
146
146
  const name = randomName();
147
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
147
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
148
148
  const name2 = randomName();
149
- const g2 = await client.ontology.groups.create({
149
+ const g2 = await client.groups.create({
150
150
  parent: group.ontologyID(g.key),
151
151
  name: name2,
152
152
  });
@@ -159,9 +159,9 @@ describe("Ontology", () => {
159
159
  describe("write", () => {
160
160
  test("add children", async () => {
161
161
  const name = randomName();
162
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
162
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
163
163
  const name2 = randomName();
164
- const g2 = await client.ontology.groups.create({
164
+ const g2 = await client.groups.create({
165
165
  parent: ontology.ROOT_ID,
166
166
  name: name2,
167
167
  });
@@ -175,9 +175,9 @@ describe("Ontology", () => {
175
175
  });
176
176
  test("remove children", async () => {
177
177
  const name = randomName();
178
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
178
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
179
179
  const name2 = randomName();
180
- const g2 = await client.ontology.groups.create({
180
+ const g2 = await client.groups.create({
181
181
  parent: ontology.ROOT_ID,
182
182
  name: name2,
183
183
  });
@@ -194,9 +194,9 @@ describe("Ontology", () => {
194
194
  });
195
195
  test("move children", async () => {
196
196
  const name = randomName();
197
- const g = await client.ontology.groups.create({ parent: ontology.ROOT_ID, name });
197
+ const g = await client.groups.create({ parent: ontology.ROOT_ID, name });
198
198
  const name2 = randomName();
199
- const g2 = await client.ontology.groups.create({
199
+ const g2 = await client.groups.create({
200
200
  parent: ontology.ROOT_ID,
201
201
  name: name2,
202
202
  });
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -43,6 +43,7 @@ export const resourceTypeZ = z.enum([
43
43
  "arc",
44
44
  "schematic_symbol",
45
45
  "status",
46
+ "view",
46
47
  ]);
47
48
  export type ResourceType = z.infer<typeof resourceTypeZ>;
48
49
 
@@ -103,8 +104,10 @@ export const resourceZ = z
103
104
  data: record.unknownZ.optional().nullable(),
104
105
  })
105
106
  .transform((resource) => ({ key: idToString(resource.id), ...resource }));
106
- export interface Resource<T extends record.Unknown = record.Unknown>
107
- extends Omit<z.infer<typeof resourceZ>, "data"> {
107
+ export interface Resource<T extends record.Unknown = record.Unknown> extends Omit<
108
+ z.infer<typeof resourceZ>,
109
+ "data"
110
+ > {
108
111
  data?: T | null;
109
112
  }
110
113
 
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
package/src/rack/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Synnax Labs, Inc.
1
+ // Copyright 2026 Synnax Labs, Inc.
2
2
  //
3
3
  // Use of this software is governed by the Business Source License included in the file
4
4
  // licenses/BSL.txt.
@@ -8,36 +8,31 @@
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
10
  import { sendRequired, type UnaryClient } from "@synnaxlabs/freighter";
11
- import { array, type change } from "@synnaxlabs/x";
11
+ import { array } from "@synnaxlabs/x";
12
12
  import { z } from "zod";
13
13
 
14
14
  import { channel } from "@/channel";
15
15
  import { type Key, keyZ } from "@/ranger/payload";
16
16
 
17
- export const SET_ALIAS_CHANNEL_NAME = "sy_range_alias_set";
18
- export const DELETE_ALIAS_CHANNEL_NAME = "sy_range_alias_delete";
19
-
20
17
  const resolveReqZ = z.object({ range: keyZ, aliases: z.string().array() });
21
-
22
18
  const resolveResZ = z.object({ aliases: z.record(z.string(), channel.keyZ) });
23
19
 
24
- const setReqZ = z.object({ range: keyZ, aliases: z.record(channel.keyZ, z.string()) });
25
-
20
+ const setReqZ = z.object({
21
+ range: keyZ,
22
+ aliases: z.record(channel.keyZ, z.string()),
23
+ });
26
24
  const setResZ = z.unknown();
27
25
 
28
26
  const deleteReqZ = z.object({ range: keyZ, channels: channel.keyZ.array() });
29
-
30
27
  const deleteResZ = z.unknown();
31
28
 
32
29
  const listReqZ = z.object({ range: keyZ });
33
-
34
30
  const listResZ = z.object({ aliases: z.record(z.string(), z.string()) });
35
31
 
36
32
  const retrieveReqZ = z.object({ range: keyZ, channels: channel.keyZ.array() });
37
-
38
33
  const retrieveResZ = z.object({ aliases: z.record(z.string(), z.string()) });
39
34
 
40
- export class Aliaser {
35
+ export class Client {
41
36
  private readonly cache = new Map<string, channel.Key>();
42
37
  private readonly client: UnaryClient;
43
38
  private readonly rangeKey: Key;
@@ -129,29 +124,3 @@ export class Aliaser {
129
124
  );
130
125
  }
131
126
  }
132
-
133
- export const aliasZ = z.object({
134
- alias: z.string().optional(),
135
- channel: channel.keyZ,
136
- range: keyZ,
137
- });
138
- export interface Alias extends z.infer<typeof aliasZ> {}
139
-
140
- export type AliasChange = change.Change<string, Alias>;
141
-
142
- const SEPARATOR = "---";
143
-
144
- export const aliasKey = (alias: Pick<Alias, "range" | "channel">): string =>
145
- `${alias.range}${SEPARATOR}${alias.channel}`;
146
-
147
- export interface DecodedDeleteAliasChange {
148
- range: Key;
149
- channel: channel.Key;
150
- }
151
-
152
- export const decodeDeleteAliasChange = (
153
- deletedAlias: string,
154
- ): DecodedDeleteAliasChange => {
155
- const [range, channel] = deletedAlias.split(SEPARATOR);
156
- return { range, channel: Number(channel) };
157
- };