@synnaxlabs/client 0.56.1 → 0.57.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 (741) hide show
  1. package/dist/client-B08VDLSA.js +14463 -0
  2. package/dist/client-B08VDLSA.js.map +1 -0
  3. package/dist/client.js +1128 -14876
  4. package/dist/client.js.map +1 -0
  5. package/dist/src/access/client.d.ts +10 -1
  6. package/dist/src/access/client.d.ts.map +1 -1
  7. package/dist/src/access/enforce.d.ts.map +1 -1
  8. package/dist/src/access/external.d.ts +1 -0
  9. package/dist/src/access/external.d.ts.map +1 -1
  10. package/dist/src/access/granted.d.ts +39 -0
  11. package/dist/src/access/granted.d.ts.map +1 -0
  12. package/dist/src/access/policy/client.d.ts +136 -147
  13. package/dist/src/access/policy/client.d.ts.map +1 -1
  14. package/dist/src/access/policy/types.gen.d.ts +15 -68
  15. package/dist/src/access/policy/types.gen.d.ts.map +1 -1
  16. package/dist/src/access/role/client.d.ts +77 -58
  17. package/dist/src/access/role/client.d.ts.map +1 -1
  18. package/dist/src/access/role/types.gen.d.ts +8 -14
  19. package/dist/src/access/role/types.gen.d.ts.map +1 -1
  20. package/dist/src/actions/actions.d.ts +5 -6
  21. package/dist/src/actions/actions.d.ts.map +1 -1
  22. package/dist/src/actions/controller.d.ts +194 -0
  23. package/dist/src/actions/controller.d.ts.map +1 -0
  24. package/dist/src/actions/external.d.ts +1 -0
  25. package/dist/src/actions/external.d.ts.map +1 -1
  26. package/dist/src/arc/actions.d.ts +575 -0
  27. package/dist/src/arc/actions.d.ts.map +1 -0
  28. package/dist/src/arc/actions.gen.d.ts +1439 -0
  29. package/dist/src/arc/actions.gen.d.ts.map +1 -0
  30. package/dist/src/arc/client.d.ts +97 -13
  31. package/dist/src/arc/client.d.ts.map +1 -1
  32. package/dist/src/arc/compiler/types.gen.d.ts +3 -3
  33. package/dist/src/arc/compiler/types.gen.d.ts.map +1 -1
  34. package/dist/src/arc/external.d.ts +2 -0
  35. package/dist/src/arc/external.d.ts.map +1 -1
  36. package/dist/src/arc/graph/types.gen.d.ts +45 -597
  37. package/dist/src/arc/graph/types.gen.d.ts.map +1 -1
  38. package/dist/src/arc/ir/index.d.ts +1 -1
  39. package/dist/src/arc/ir/index.d.ts.map +1 -1
  40. package/dist/src/arc/ir/ir.d.ts +2 -0
  41. package/dist/src/arc/ir/ir.d.ts.map +1 -0
  42. package/dist/src/arc/ir/types.gen.d.ts +58 -2807
  43. package/dist/src/arc/ir/types.gen.d.ts.map +1 -1
  44. package/dist/src/arc/module/types.gen.d.ts +18 -1090
  45. package/dist/src/arc/module/types.gen.d.ts.map +1 -1
  46. package/dist/src/arc/program/types.gen.d.ts +18 -1090
  47. package/dist/src/arc/program/types.gen.d.ts.map +1 -1
  48. package/dist/src/arc/text/types.gen.d.ts +54 -1
  49. package/dist/src/arc/text/types.gen.d.ts.map +1 -1
  50. package/dist/src/arc/types/types.gen.d.ts +35 -153
  51. package/dist/src/arc/types/types.gen.d.ts.map +1 -1
  52. package/dist/src/arc/types.gen.d.ts +98 -2278
  53. package/dist/src/arc/types.gen.d.ts.map +1 -1
  54. package/dist/src/auth/auth.d.ts +14 -2
  55. package/dist/src/auth/auth.d.ts.map +1 -1
  56. package/dist/src/channel/client.d.ts +113 -75
  57. package/dist/src/channel/client.d.ts.map +1 -1
  58. package/dist/src/channel/external.d.ts +0 -1
  59. package/dist/src/channel/external.d.ts.map +1 -1
  60. package/dist/src/channel/payload.d.ts +65 -56
  61. package/dist/src/channel/payload.d.ts.map +1 -1
  62. package/dist/src/channel/types.gen.d.ts +26 -73
  63. package/dist/src/channel/types.gen.d.ts.map +1 -1
  64. package/dist/src/channel/writer.d.ts +1 -3
  65. package/dist/src/channel/writer.d.ts.map +1 -1
  66. package/dist/src/client.d.ts +55 -27
  67. package/dist/src/client.d.ts.map +1 -1
  68. package/dist/src/connection/client.d.ts +146 -0
  69. package/dist/src/connection/client.d.ts.map +1 -0
  70. package/dist/src/connection/external.d.ts +3 -0
  71. package/dist/src/connection/external.d.ts.map +1 -0
  72. package/dist/src/connection/index.d.ts +1 -1
  73. package/dist/src/connection/index.d.ts.map +1 -1
  74. package/dist/src/connection/status.d.ts +252 -0
  75. package/dist/src/connection/status.d.ts.map +1 -0
  76. package/dist/src/control/client.d.ts +31 -7
  77. package/dist/src/control/client.d.ts.map +1 -1
  78. package/dist/src/control/state.d.ts +47 -16
  79. package/dist/src/control/state.d.ts.map +1 -1
  80. package/dist/src/device/client.d.ts +59 -17
  81. package/dist/src/device/client.d.ts.map +1 -1
  82. package/dist/src/device/types.gen.d.ts +17 -67
  83. package/dist/src/device/types.gen.d.ts.map +1 -1
  84. package/dist/src/errors.d.ts +17 -20
  85. package/dist/src/errors.d.ts.map +1 -1
  86. package/dist/src/ethercat/external.d.ts +2 -0
  87. package/dist/src/ethercat/external.d.ts.map +1 -0
  88. package/dist/src/ethercat/index.d.ts +2 -0
  89. package/dist/src/ethercat/index.d.ts.map +1 -0
  90. package/dist/src/ethercat/types.gen.d.ts +243 -0
  91. package/dist/src/ethercat/types.gen.d.ts.map +1 -0
  92. package/dist/src/framer/adapter.d.ts +8 -5
  93. package/dist/src/framer/adapter.d.ts.map +1 -1
  94. package/dist/src/framer/benchutil.d.ts +19 -0
  95. package/dist/src/framer/benchutil.d.ts.map +1 -0
  96. package/dist/src/framer/cache/cache.d.ts +38 -0
  97. package/dist/src/framer/cache/cache.d.ts.map +1 -0
  98. package/dist/src/framer/cache/dynamic.d.ts +71 -0
  99. package/dist/src/framer/cache/dynamic.d.ts.map +1 -0
  100. package/dist/src/framer/cache/reader.d.ts +43 -0
  101. package/dist/src/framer/cache/reader.d.ts.map +1 -0
  102. package/dist/src/framer/cache/static.d.ts +66 -0
  103. package/dist/src/framer/cache/static.d.ts.map +1 -0
  104. package/dist/src/framer/cache/streamer.d.ts +86 -0
  105. package/dist/src/framer/cache/streamer.d.ts.map +1 -0
  106. package/dist/src/framer/cache/transform.d.ts +18 -0
  107. package/dist/src/framer/cache/transform.d.ts.map +1 -0
  108. package/dist/src/framer/cache/unary.d.ts +37 -0
  109. package/dist/src/framer/cache/unary.d.ts.map +1 -0
  110. package/dist/src/framer/client.d.ts +35 -14
  111. package/dist/src/framer/client.d.ts.map +1 -1
  112. package/dist/src/framer/codec.d.ts.map +1 -1
  113. package/dist/src/framer/deleter.d.ts +3 -2
  114. package/dist/src/framer/deleter.d.ts.map +1 -1
  115. package/dist/src/framer/external.d.ts +6 -0
  116. package/dist/src/framer/external.d.ts.map +1 -1
  117. package/dist/src/framer/feed.d.ts +40 -0
  118. package/dist/src/framer/feed.d.ts.map +1 -0
  119. package/dist/src/framer/frame.d.ts +16 -20
  120. package/dist/src/framer/frame.d.ts.map +1 -1
  121. package/dist/src/framer/hardened.d.ts +70 -0
  122. package/dist/src/framer/hardened.d.ts.map +1 -0
  123. package/dist/src/framer/iterator.d.ts +36 -43
  124. package/dist/src/framer/iterator.d.ts.map +1 -1
  125. package/dist/src/framer/reader.d.ts +3 -2
  126. package/dist/src/framer/reader.d.ts.map +1 -1
  127. package/dist/src/framer/streamer.d.ts +132 -205
  128. package/dist/src/framer/streamer.d.ts.map +1 -1
  129. package/dist/src/framer/writer.d.ts +130 -161
  130. package/dist/src/framer/writer.d.ts.map +1 -1
  131. package/dist/src/group/client.d.ts +66 -9
  132. package/dist/src/group/client.d.ts.map +1 -1
  133. package/dist/src/group/types.gen.d.ts +2 -2
  134. package/dist/src/http/external.d.ts +2 -0
  135. package/dist/src/http/external.d.ts.map +1 -0
  136. package/dist/src/http/index.d.ts +2 -0
  137. package/dist/src/http/index.d.ts.map +1 -0
  138. package/dist/src/http/types.gen.d.ts +451 -0
  139. package/dist/src/http/types.gen.d.ts.map +1 -0
  140. package/dist/src/imex/client.d.ts +88 -0
  141. package/dist/src/imex/client.d.ts.map +1 -0
  142. package/dist/src/imex/index.d.ts +2 -0
  143. package/dist/src/imex/index.d.ts.map +1 -0
  144. package/dist/src/index.d.ts +18 -5
  145. package/dist/src/index.d.ts.map +1 -1
  146. package/dist/src/label/client.d.ts +55 -36
  147. package/dist/src/label/client.d.ts.map +1 -1
  148. package/dist/src/label/external.d.ts +2 -0
  149. package/dist/src/label/external.d.ts.map +1 -1
  150. package/dist/src/label/payload.d.ts +4 -46
  151. package/dist/src/label/payload.d.ts.map +1 -1
  152. package/dist/src/label/store.d.ts +8 -0
  153. package/dist/src/label/store.d.ts.map +1 -0
  154. package/dist/src/label/types.gen.d.ts +45 -0
  155. package/dist/src/label/types.gen.d.ts.map +1 -0
  156. package/dist/src/labjack/external.d.ts +2 -0
  157. package/dist/src/labjack/external.d.ts.map +1 -0
  158. package/dist/src/labjack/index.d.ts +2 -0
  159. package/dist/src/labjack/index.d.ts.map +1 -0
  160. package/dist/src/labjack/types.gen.d.ts +442 -0
  161. package/dist/src/labjack/types.gen.d.ts.map +1 -0
  162. package/dist/src/lineplot/actions.d.ts +914 -0
  163. package/dist/src/lineplot/actions.d.ts.map +1 -0
  164. package/dist/src/lineplot/actions.gen.d.ts +4208 -0
  165. package/dist/src/lineplot/actions.gen.d.ts.map +1 -0
  166. package/dist/src/lineplot/client.d.ts +66 -16
  167. package/dist/src/lineplot/client.d.ts.map +1 -1
  168. package/dist/src/lineplot/external.d.ts +3 -0
  169. package/dist/src/lineplot/external.d.ts.map +1 -1
  170. package/dist/src/lineplot/line.d.ts +16 -0
  171. package/dist/src/lineplot/line.d.ts.map +1 -0
  172. package/dist/src/lineplot/types.gen.d.ts +837 -14
  173. package/dist/src/lineplot/types.gen.d.ts.map +1 -1
  174. package/dist/src/log/actions.d.ts +271 -0
  175. package/dist/src/log/actions.d.ts.map +1 -0
  176. package/dist/src/log/actions.gen.d.ts +1529 -0
  177. package/dist/src/log/actions.gen.d.ts.map +1 -0
  178. package/dist/src/log/client.d.ts +66 -16
  179. package/dist/src/log/client.d.ts.map +1 -1
  180. package/dist/src/log/external.d.ts +2 -0
  181. package/dist/src/log/external.d.ts.map +1 -1
  182. package/dist/src/log/types.gen.d.ts +139 -14
  183. package/dist/src/log/types.gen.d.ts.map +1 -1
  184. package/dist/src/modbus/external.d.ts +2 -0
  185. package/dist/src/modbus/external.d.ts.map +1 -0
  186. package/dist/src/modbus/index.d.ts +2 -0
  187. package/dist/src/modbus/index.d.ts.map +1 -0
  188. package/dist/src/modbus/types.gen.d.ts +280 -0
  189. package/dist/src/modbus/types.gen.d.ts.map +1 -0
  190. package/dist/src/ni/external.d.ts +2 -0
  191. package/dist/src/ni/external.d.ts.map +1 -0
  192. package/dist/src/ni/index.d.ts +2 -0
  193. package/dist/src/ni/index.d.ts.map +1 -0
  194. package/dist/src/ni/types.gen.d.ts +21029 -0
  195. package/dist/src/ni/types.gen.d.ts.map +1 -0
  196. package/dist/src/node/index.d.ts +2 -0
  197. package/dist/src/node/index.d.ts.map +1 -0
  198. package/dist/src/node/types.gen.d.ts +4 -0
  199. package/dist/src/node/types.gen.d.ts.map +1 -0
  200. package/dist/src/ontology/client.d.ts +314 -67
  201. package/dist/src/ontology/client.d.ts.map +1 -1
  202. package/dist/src/ontology/external.d.ts +1 -0
  203. package/dist/src/ontology/external.d.ts.map +1 -1
  204. package/dist/src/ontology/payload.d.ts +60 -18
  205. package/dist/src/ontology/payload.d.ts.map +1 -1
  206. package/dist/src/ontology/store.d.ts +32 -0
  207. package/dist/src/ontology/store.d.ts.map +1 -0
  208. package/dist/src/ontology/types.gen.d.ts +3 -2
  209. package/dist/src/ontology/types.gen.d.ts.map +1 -1
  210. package/dist/src/ontology/writer.d.ts +16 -10
  211. package/dist/src/ontology/writer.d.ts.map +1 -1
  212. package/dist/src/opcua/external.d.ts +2 -0
  213. package/dist/src/opcua/external.d.ts.map +1 -0
  214. package/dist/src/opcua/index.d.ts +2 -0
  215. package/dist/src/opcua/index.d.ts.map +1 -0
  216. package/dist/src/opcua/types.gen.d.ts +82 -0
  217. package/dist/src/opcua/types.gen.d.ts.map +1 -0
  218. package/dist/src/pagerduty/external.d.ts +2 -0
  219. package/dist/src/pagerduty/external.d.ts.map +1 -0
  220. package/dist/src/pagerduty/index.d.ts +2 -0
  221. package/dist/src/pagerduty/index.d.ts.map +1 -0
  222. package/dist/src/pagerduty/types.gen.d.ts +30 -0
  223. package/dist/src/pagerduty/types.gen.d.ts.map +1 -0
  224. package/dist/src/panel/actions.d.ts +273 -0
  225. package/dist/src/panel/actions.d.ts.map +1 -0
  226. package/dist/src/panel/actions.gen.d.ts +1255 -0
  227. package/dist/src/panel/actions.gen.d.ts.map +1 -0
  228. package/dist/src/panel/client.d.ts +148 -0
  229. package/dist/src/panel/client.d.ts.map +1 -0
  230. package/dist/src/panel/external.d.ts +6 -0
  231. package/dist/src/panel/external.d.ts.map +1 -0
  232. package/dist/src/panel/index.d.ts +2 -0
  233. package/dist/src/panel/index.d.ts.map +1 -0
  234. package/dist/src/panel/tree.d.ts +50 -0
  235. package/dist/src/panel/tree.d.ts.map +1 -0
  236. package/dist/src/panel/types.gen.d.ts +370 -0
  237. package/dist/src/panel/types.gen.d.ts.map +1 -0
  238. package/dist/src/project/client.d.ts +89 -0
  239. package/dist/src/project/client.d.ts.map +1 -0
  240. package/dist/src/project/external.d.ts.map +1 -0
  241. package/dist/src/project/index.d.ts +2 -0
  242. package/dist/src/project/index.d.ts.map +1 -0
  243. package/dist/src/project/types.gen.d.ts +27 -0
  244. package/dist/src/project/types.gen.d.ts.map +1 -0
  245. package/dist/src/query/cache.d.ts +132 -0
  246. package/dist/src/query/cache.d.ts.map +1 -0
  247. package/dist/src/query/deleted.d.ts +20 -0
  248. package/dist/src/query/deleted.d.ts.map +1 -0
  249. package/dist/src/query/derived.d.ts +33 -0
  250. package/dist/src/query/derived.d.ts.map +1 -0
  251. package/dist/src/query/external.d.ts +10 -0
  252. package/dist/src/query/external.d.ts.map +1 -0
  253. package/dist/src/query/index.d.ts +2 -0
  254. package/dist/src/query/index.d.ts.map +1 -0
  255. package/dist/src/query/query.d.ts +235 -0
  256. package/dist/src/query/query.d.ts.map +1 -0
  257. package/dist/src/query/retriever.d.ts +135 -0
  258. package/dist/src/query/retriever.d.ts.map +1 -0
  259. package/dist/src/query/streamer.d.ts +67 -0
  260. package/dist/src/query/streamer.d.ts.map +1 -0
  261. package/dist/src/query/table.d.ts +219 -0
  262. package/dist/src/query/table.d.ts.map +1 -0
  263. package/dist/src/query/types.d.ts +35 -0
  264. package/dist/src/query/types.d.ts.map +1 -0
  265. package/dist/src/query/write.d.ts +21 -0
  266. package/dist/src/query/write.d.ts.map +1 -0
  267. package/dist/src/rack/client.d.ts +58 -20
  268. package/dist/src/rack/client.d.ts.map +1 -1
  269. package/dist/src/rack/types.gen.d.ts +11 -12
  270. package/dist/src/rack/types.gen.d.ts.map +1 -1
  271. package/dist/src/range/alias/types.gen.d.ts +2 -3
  272. package/dist/src/range/alias/types.gen.d.ts.map +1 -1
  273. package/dist/src/ranger/client.d.ts +138 -27
  274. package/dist/src/ranger/client.d.ts.map +1 -1
  275. package/dist/src/ranger/kv/client.d.ts +7 -4
  276. package/dist/src/ranger/kv/client.d.ts.map +1 -1
  277. package/dist/src/ranger/payload.d.ts +3 -0
  278. package/dist/src/ranger/payload.d.ts.map +1 -1
  279. package/dist/src/ranger/types.gen.d.ts +45 -101
  280. package/dist/src/ranger/types.gen.d.ts.map +1 -1
  281. package/dist/src/ranger/writer.d.ts +2 -74
  282. package/dist/src/ranger/writer.d.ts.map +1 -1
  283. package/dist/src/schematic/actions.d.ts +90 -33
  284. package/dist/src/schematic/actions.d.ts.map +1 -1
  285. package/dist/src/schematic/actions.gen.d.ts +207 -114
  286. package/dist/src/schematic/actions.gen.d.ts.map +1 -1
  287. package/dist/src/schematic/client.d.ts +70 -68
  288. package/dist/src/schematic/client.d.ts.map +1 -1
  289. package/dist/src/schematic/symbol/client.d.ts +133 -27
  290. package/dist/src/schematic/symbol/client.d.ts.map +1 -1
  291. package/dist/src/schematic/symbol/types.gen.d.ts +258 -153
  292. package/dist/src/schematic/symbol/types.gen.d.ts.map +1 -1
  293. package/dist/src/schematic/types.gen.d.ts +17 -96
  294. package/dist/src/schematic/types.gen.d.ts.map +1 -1
  295. package/dist/src/status/client.d.ts +69 -14
  296. package/dist/src/status/client.d.ts.map +1 -1
  297. package/dist/src/status/external.d.ts +2 -0
  298. package/dist/src/status/external.d.ts.map +1 -1
  299. package/dist/src/status/payload.d.ts +2 -36
  300. package/dist/src/status/payload.d.ts.map +1 -1
  301. package/dist/src/status/status.d.ts +65 -0
  302. package/dist/src/status/status.d.ts.map +1 -0
  303. package/dist/src/status/types.gen.d.ts +58 -0
  304. package/dist/src/status/types.gen.d.ts.map +1 -0
  305. package/dist/src/table/actions.d.ts +72 -13
  306. package/dist/src/table/actions.d.ts.map +1 -1
  307. package/dist/src/table/actions.gen.d.ts +221 -137
  308. package/dist/src/table/actions.gen.d.ts.map +1 -1
  309. package/dist/src/table/client.d.ts +64 -40
  310. package/dist/src/table/client.d.ts.map +1 -1
  311. package/dist/src/table/types.gen.d.ts +20 -55
  312. package/dist/src/table/types.gen.d.ts.map +1 -1
  313. package/dist/src/task/client.d.ts +149 -28
  314. package/dist/src/task/client.d.ts.map +1 -1
  315. package/dist/src/task/types.gen.d.ts +71 -89
  316. package/dist/src/task/types.gen.d.ts.map +1 -1
  317. package/dist/src/testutil/access.d.ts +27 -1
  318. package/dist/src/testutil/access.d.ts.map +1 -1
  319. package/dist/src/testutil/channels.d.ts +2 -0
  320. package/dist/src/testutil/channels.d.ts.map +1 -1
  321. package/dist/src/testutil/client.d.ts +5 -0
  322. package/dist/src/testutil/client.d.ts.map +1 -1
  323. package/dist/src/testutil/connection.d.ts +10 -0
  324. package/dist/src/testutil/connection.d.ts.map +1 -0
  325. package/dist/src/testutil/index.d.ts +9 -0
  326. package/dist/src/testutil/index.d.ts.map +1 -0
  327. package/dist/src/testutil/panels.d.ts +8 -0
  328. package/dist/src/testutil/panels.d.ts.map +1 -0
  329. package/dist/src/testutil/proxy.d.ts +29 -0
  330. package/dist/src/testutil/proxy.d.ts.map +1 -0
  331. package/dist/src/testutil/query.d.ts +7 -0
  332. package/dist/src/testutil/query.d.ts.map +1 -0
  333. package/dist/src/testutil/telem.d.ts +4 -0
  334. package/dist/src/testutil/telem.d.ts.map +1 -1
  335. package/dist/src/transport.d.ts +10 -4
  336. package/dist/src/transport.d.ts.map +1 -1
  337. package/dist/src/user/client.d.ts +29 -28
  338. package/dist/src/user/client.d.ts.map +1 -1
  339. package/dist/src/user/external.d.ts +1 -1
  340. package/dist/src/user/external.d.ts.map +1 -1
  341. package/dist/src/user/types.gen.d.ts +4 -4
  342. package/dist/src/util/retrieve.d.ts +2 -2
  343. package/dist/src/util/retrieve.d.ts.map +1 -1
  344. package/dist/src/util/telem.d.ts.map +1 -1
  345. package/dist/src/view/client.d.ts +30 -14
  346. package/dist/src/view/client.d.ts.map +1 -1
  347. package/dist/src/view/types.gen.d.ts +7 -15
  348. package/dist/src/view/types.gen.d.ts.map +1 -1
  349. package/dist/testutil.js +189 -0
  350. package/dist/testutil.js.map +1 -0
  351. package/package.json +40 -17
  352. package/src/access/client.ts +14 -3
  353. package/src/access/enforce.ts +0 -3
  354. package/src/access/external.ts +1 -0
  355. package/src/access/granted.ts +114 -0
  356. package/src/access/policy/client.ts +135 -43
  357. package/src/access/policy/types.gen.ts +9 -11
  358. package/src/access/role/client.ts +160 -38
  359. package/src/access/role/types.gen.ts +8 -12
  360. package/src/actions/actions.ts +5 -6
  361. package/src/actions/controller.ts +626 -0
  362. package/src/actions/external.ts +11 -0
  363. package/src/arc/actions.gen.ts +313 -0
  364. package/src/arc/actions.ts +192 -0
  365. package/src/arc/client.ts +424 -41
  366. package/src/arc/compiler/types.gen.ts +5 -6
  367. package/src/arc/external.ts +2 -0
  368. package/src/arc/graph/types.gen.ts +24 -22
  369. package/src/arc/ir/index.ts +1 -1
  370. package/{eslint.config.ts → src/arc/ir/ir.ts} +1 -4
  371. package/src/arc/ir/types.gen.ts +42 -41
  372. package/src/arc/text/types.gen.ts +21 -2
  373. package/src/arc/types/types.gen.ts +40 -32
  374. package/src/arc/types.gen.ts +31 -29
  375. package/src/auth/auth.ts +40 -8
  376. package/src/channel/client.ts +529 -132
  377. package/src/channel/external.ts +0 -1
  378. package/src/channel/payload.ts +30 -3
  379. package/src/channel/types.gen.ts +37 -48
  380. package/src/channel/writer.ts +2 -11
  381. package/src/client.ts +215 -91
  382. package/src/connection/client.ts +495 -0
  383. package/src/connection/external.ts +34 -0
  384. package/src/connection/index.ts +1 -1
  385. package/src/connection/status.ts +442 -0
  386. package/src/control/client.ts +84 -12
  387. package/src/control/state.ts +17 -36
  388. package/src/device/client.ts +293 -41
  389. package/src/device/types.gen.ts +15 -26
  390. package/src/errors.ts +45 -22
  391. package/src/{workspace → ethercat}/external.ts +1 -2
  392. package/src/{workspace → ethercat}/index.ts +1 -1
  393. package/src/ethercat/types.gen.ts +151 -0
  394. package/src/framer/adapter.ts +60 -37
  395. package/src/framer/benchutil.ts +67 -0
  396. package/src/framer/cache/cache.ts +115 -0
  397. package/src/framer/cache/dynamic.ts +279 -0
  398. package/src/framer/cache/reader.ts +160 -0
  399. package/src/framer/cache/static.ts +215 -0
  400. package/src/framer/cache/streamer.ts +391 -0
  401. package/src/framer/cache/transform.ts +31 -0
  402. package/src/framer/cache/unary.ts +104 -0
  403. package/src/framer/client.ts +71 -43
  404. package/src/framer/codec.ts +55 -18
  405. package/src/framer/deleter.ts +4 -6
  406. package/src/framer/external.ts +10 -0
  407. package/src/framer/feed.ts +108 -0
  408. package/src/framer/frame.ts +13 -23
  409. package/src/framer/hardened.ts +283 -0
  410. package/src/framer/iterator.ts +31 -42
  411. package/src/framer/reader.ts +11 -11
  412. package/src/framer/streamer.ts +18 -178
  413. package/src/framer/writer.ts +39 -59
  414. package/src/group/client.ts +158 -23
  415. package/src/http/external.ts +10 -0
  416. package/src/{cluster → http}/index.ts +1 -1
  417. package/src/http/types.gen.ts +245 -0
  418. package/src/imex/client.ts +125 -0
  419. package/src/imex/index.ts +10 -0
  420. package/src/index.ts +18 -6
  421. package/src/label/client.ts +193 -54
  422. package/src/label/external.ts +2 -0
  423. package/src/label/payload.ts +4 -9
  424. package/src/label/store.ts +28 -0
  425. package/src/label/types.gen.ts +31 -0
  426. package/src/labjack/external.ts +10 -0
  427. package/src/labjack/index.ts +10 -0
  428. package/src/labjack/types.gen.ts +251 -0
  429. package/src/lineplot/actions.gen.ts +880 -0
  430. package/src/lineplot/actions.ts +535 -0
  431. package/src/lineplot/client.ts +224 -52
  432. package/src/lineplot/external.ts +3 -0
  433. package/src/lineplot/line.ts +80 -0
  434. package/src/lineplot/types.gen.ts +225 -12
  435. package/src/log/actions.gen.ts +474 -0
  436. package/src/log/actions.ts +242 -0
  437. package/src/log/client.ts +223 -52
  438. package/src/log/external.ts +2 -0
  439. package/src/log/types.gen.ts +45 -14
  440. package/src/modbus/external.ts +10 -0
  441. package/src/modbus/index.ts +10 -0
  442. package/src/modbus/types.gen.ts +185 -0
  443. package/src/ni/external.ts +10 -0
  444. package/src/ni/index.ts +10 -0
  445. package/src/ni/types.gen.ts +1632 -0
  446. package/src/node/index.ts +10 -0
  447. package/src/{cluster → node}/types.gen.ts +2 -2
  448. package/src/ontology/client.ts +408 -99
  449. package/src/ontology/external.ts +7 -0
  450. package/src/ontology/payload.ts +48 -7
  451. package/src/ontology/store.ts +83 -0
  452. package/src/ontology/types.gen.ts +2 -1
  453. package/src/ontology/writer.ts +1 -0
  454. package/src/opcua/external.ts +10 -0
  455. package/src/opcua/index.ts +10 -0
  456. package/src/opcua/types.gen.ts +65 -0
  457. package/src/pagerduty/external.ts +10 -0
  458. package/src/pagerduty/index.ts +10 -0
  459. package/src/pagerduty/types.gen.ts +41 -0
  460. package/src/panel/actions.gen.ts +267 -0
  461. package/src/panel/actions.ts +357 -0
  462. package/src/panel/client.ts +327 -0
  463. package/src/panel/external.ts +14 -0
  464. package/src/panel/index.ts +10 -0
  465. package/src/panel/tree.ts +163 -0
  466. package/src/panel/types.gen.ts +164 -0
  467. package/src/project/client.ts +273 -0
  468. package/src/project/external.ts +11 -0
  469. package/src/project/index.ts +10 -0
  470. package/src/project/types.gen.ts +40 -0
  471. package/src/query/cache.ts +326 -0
  472. package/src/query/deleted.ts +38 -0
  473. package/src/query/derived.ts +101 -0
  474. package/src/query/external.ts +51 -0
  475. package/src/query/index.ts +10 -0
  476. package/src/query/query.ts +865 -0
  477. package/src/query/retriever.ts +308 -0
  478. package/src/query/streamer.ts +207 -0
  479. package/src/query/table.ts +625 -0
  480. package/src/query/types.ts +54 -0
  481. package/src/query/write.ts +42 -0
  482. package/src/rack/client.ts +233 -45
  483. package/src/rack/types.gen.ts +15 -16
  484. package/src/range/alias/types.gen.ts +2 -3
  485. package/src/ranger/client.ts +581 -70
  486. package/src/ranger/kv/client.ts +52 -21
  487. package/src/ranger/payload.ts +3 -0
  488. package/src/ranger/types.gen.ts +21 -23
  489. package/src/ranger/writer.ts +4 -8
  490. package/src/schematic/actions.gen.ts +62 -53
  491. package/src/schematic/actions.ts +44 -42
  492. package/src/schematic/client.ts +226 -70
  493. package/src/schematic/symbol/client.ts +277 -48
  494. package/src/schematic/symbol/types.gen.ts +22 -34
  495. package/src/schematic/types.gen.ts +22 -29
  496. package/src/status/client.ts +321 -44
  497. package/src/status/external.ts +2 -0
  498. package/src/status/payload.ts +1 -23
  499. package/src/status/status.ts +241 -0
  500. package/src/status/types.gen.ts +108 -0
  501. package/src/table/actions.gen.ts +96 -63
  502. package/src/table/actions.ts +44 -19
  503. package/src/table/client.ts +220 -56
  504. package/src/table/types.gen.ts +24 -31
  505. package/src/task/client.ts +580 -101
  506. package/src/task/types.gen.ts +68 -75
  507. package/src/testutil/access.ts +102 -6
  508. package/src/testutil/channels.ts +29 -0
  509. package/src/testutil/client.ts +27 -2
  510. package/src/testutil/connection.ts +47 -0
  511. package/src/testutil/index.ts +17 -0
  512. package/src/testutil/panels.ts +26 -0
  513. package/src/testutil/proxy.ts +106 -0
  514. package/src/testutil/query.ts +28 -0
  515. package/src/testutil/telem.ts +17 -1
  516. package/src/transport.ts +18 -7
  517. package/src/user/client.ts +165 -64
  518. package/src/user/external.ts +1 -1
  519. package/src/user/types.gen.ts +5 -5
  520. package/src/util/retrieve.ts +4 -4
  521. package/src/util/telem.ts +0 -1
  522. package/src/view/client.ts +120 -37
  523. package/src/view/types.gen.ts +8 -11
  524. package/.turbo/turbo-build.log +0 -20
  525. package/.vscode/settings.json +0 -3
  526. package/CONTRIBUTING.md +0 -47
  527. package/dist/client.cjs +0 -118
  528. package/dist/eslint.config.d.ts +0 -4
  529. package/dist/eslint.config.d.ts.map +0 -1
  530. package/dist/src/access/enforce.spec.d.ts +0 -2
  531. package/dist/src/access/enforce.spec.d.ts.map +0 -1
  532. package/dist/src/access/policy/access.spec.d.ts +0 -2
  533. package/dist/src/access/policy/access.spec.d.ts.map +0 -1
  534. package/dist/src/access/role/role.spec.d.ts +0 -2
  535. package/dist/src/access/role/role.spec.d.ts.map +0 -1
  536. package/dist/src/actions/actions.spec.d.ts +0 -2
  537. package/dist/src/actions/actions.spec.d.ts.map +0 -1
  538. package/dist/src/arc/access.spec.d.ts +0 -2
  539. package/dist/src/arc/access.spec.d.ts.map +0 -1
  540. package/dist/src/arc/arc.spec.d.ts +0 -2
  541. package/dist/src/arc/arc.spec.d.ts.map +0 -1
  542. package/dist/src/arc/lsp.spec.d.ts +0 -2
  543. package/dist/src/arc/lsp.spec.d.ts.map +0 -1
  544. package/dist/src/auth/auth.spec.d.ts +0 -2
  545. package/dist/src/auth/auth.spec.d.ts.map +0 -1
  546. package/dist/src/channel/access.spec.d.ts +0 -2
  547. package/dist/src/channel/access.spec.d.ts.map +0 -1
  548. package/dist/src/channel/batchRetriever.spec.d.ts +0 -2
  549. package/dist/src/channel/batchRetriever.spec.d.ts.map +0 -1
  550. package/dist/src/channel/channel.spec.d.ts +0 -2
  551. package/dist/src/channel/channel.spec.d.ts.map +0 -1
  552. package/dist/src/channel/payload.spec.d.ts +0 -2
  553. package/dist/src/channel/payload.spec.d.ts.map +0 -1
  554. package/dist/src/channel/retriever.d.ts +0 -64
  555. package/dist/src/channel/retriever.d.ts.map +0 -1
  556. package/dist/src/cluster/index.d.ts +0 -2
  557. package/dist/src/cluster/index.d.ts.map +0 -1
  558. package/dist/src/cluster/types.gen.d.ts +0 -4
  559. package/dist/src/cluster/types.gen.d.ts.map +0 -1
  560. package/dist/src/connection/checker.d.ts +0 -86
  561. package/dist/src/connection/checker.d.ts.map +0 -1
  562. package/dist/src/connection/connection.spec.d.ts +0 -2
  563. package/dist/src/connection/connection.spec.d.ts.map +0 -1
  564. package/dist/src/connection.spec.d.ts +0 -2
  565. package/dist/src/connection.spec.d.ts.map +0 -1
  566. package/dist/src/control/state.spec.d.ts +0 -2
  567. package/dist/src/control/state.spec.d.ts.map +0 -1
  568. package/dist/src/device/access.spec.d.ts +0 -2
  569. package/dist/src/device/access.spec.d.ts.map +0 -1
  570. package/dist/src/device/device.spec.d.ts +0 -2
  571. package/dist/src/device/device.spec.d.ts.map +0 -1
  572. package/dist/src/device/payload.spec.d.ts +0 -2
  573. package/dist/src/device/payload.spec.d.ts.map +0 -1
  574. package/dist/src/errors.spec.d.ts +0 -2
  575. package/dist/src/errors.spec.d.ts.map +0 -1
  576. package/dist/src/framer/adapter.spec.d.ts +0 -2
  577. package/dist/src/framer/adapter.spec.d.ts.map +0 -1
  578. package/dist/src/framer/client.spec.d.ts +0 -2
  579. package/dist/src/framer/client.spec.d.ts.map +0 -1
  580. package/dist/src/framer/codec.spec.d.ts +0 -2
  581. package/dist/src/framer/codec.spec.d.ts.map +0 -1
  582. package/dist/src/framer/deleter.spec.d.ts +0 -2
  583. package/dist/src/framer/deleter.spec.d.ts.map +0 -1
  584. package/dist/src/framer/frame.spec.d.ts +0 -2
  585. package/dist/src/framer/frame.spec.d.ts.map +0 -1
  586. package/dist/src/framer/iterator.spec.d.ts +0 -2
  587. package/dist/src/framer/iterator.spec.d.ts.map +0 -1
  588. package/dist/src/framer/reader.spec.d.ts +0 -2
  589. package/dist/src/framer/reader.spec.d.ts.map +0 -1
  590. package/dist/src/framer/streamer.spec.d.ts +0 -2
  591. package/dist/src/framer/streamer.spec.d.ts.map +0 -1
  592. package/dist/src/framer/writer.spec.d.ts +0 -2
  593. package/dist/src/framer/writer.spec.d.ts.map +0 -1
  594. package/dist/src/group/access.spec.d.ts +0 -2
  595. package/dist/src/group/access.spec.d.ts.map +0 -1
  596. package/dist/src/group/group.spec.d.ts +0 -2
  597. package/dist/src/group/group.spec.d.ts.map +0 -1
  598. package/dist/src/label/access.spec.d.ts +0 -2
  599. package/dist/src/label/access.spec.d.ts.map +0 -1
  600. package/dist/src/label/label.spec.d.ts +0 -2
  601. package/dist/src/label/label.spec.d.ts.map +0 -1
  602. package/dist/src/lineplot/access.spec.d.ts +0 -2
  603. package/dist/src/lineplot/access.spec.d.ts.map +0 -1
  604. package/dist/src/lineplot/lineplot.spec.d.ts +0 -2
  605. package/dist/src/lineplot/lineplot.spec.d.ts.map +0 -1
  606. package/dist/src/log/access.spec.d.ts +0 -2
  607. package/dist/src/log/access.spec.d.ts.map +0 -1
  608. package/dist/src/log/log.spec.d.ts +0 -2
  609. package/dist/src/log/log.spec.d.ts.map +0 -1
  610. package/dist/src/ontology/ontology.spec.d.ts +0 -2
  611. package/dist/src/ontology/ontology.spec.d.ts.map +0 -1
  612. package/dist/src/rack/access.spec.d.ts +0 -2
  613. package/dist/src/rack/access.spec.d.ts.map +0 -1
  614. package/dist/src/rack/rack.spec.d.ts +0 -2
  615. package/dist/src/rack/rack.spec.d.ts.map +0 -1
  616. package/dist/src/ranger/access.spec.d.ts +0 -2
  617. package/dist/src/ranger/access.spec.d.ts.map +0 -1
  618. package/dist/src/ranger/alias/payload.spec.d.ts +0 -2
  619. package/dist/src/ranger/alias/payload.spec.d.ts.map +0 -1
  620. package/dist/src/ranger/ranger.spec.d.ts +0 -2
  621. package/dist/src/ranger/ranger.spec.d.ts.map +0 -1
  622. package/dist/src/schematic/access.spec.d.ts +0 -2
  623. package/dist/src/schematic/access.spec.d.ts.map +0 -1
  624. package/dist/src/schematic/actions.spec.d.ts +0 -2
  625. package/dist/src/schematic/actions.spec.d.ts.map +0 -1
  626. package/dist/src/schematic/schematic.spec.d.ts +0 -2
  627. package/dist/src/schematic/schematic.spec.d.ts.map +0 -1
  628. package/dist/src/schematic/symbol/access.spec.d.ts +0 -2
  629. package/dist/src/schematic/symbol/access.spec.d.ts.map +0 -1
  630. package/dist/src/schematic/symbol/client.spec.d.ts +0 -2
  631. package/dist/src/schematic/symbol/client.spec.d.ts.map +0 -1
  632. package/dist/src/status/access.spec.d.ts +0 -2
  633. package/dist/src/status/access.spec.d.ts.map +0 -1
  634. package/dist/src/status/status.spec.d.ts +0 -2
  635. package/dist/src/status/status.spec.d.ts.map +0 -1
  636. package/dist/src/table/access.spec.d.ts +0 -2
  637. package/dist/src/table/access.spec.d.ts.map +0 -1
  638. package/dist/src/table/table.spec.d.ts +0 -2
  639. package/dist/src/table/table.spec.d.ts.map +0 -1
  640. package/dist/src/task/access.spec.d.ts +0 -2
  641. package/dist/src/task/access.spec.d.ts.map +0 -1
  642. package/dist/src/task/payload.spec.d.ts +0 -2
  643. package/dist/src/task/payload.spec.d.ts.map +0 -1
  644. package/dist/src/task/task.spec.d.ts +0 -2
  645. package/dist/src/task/task.spec.d.ts.map +0 -1
  646. package/dist/src/user/access.spec.d.ts +0 -2
  647. package/dist/src/user/access.spec.d.ts.map +0 -1
  648. package/dist/src/user/user.spec.d.ts +0 -2
  649. package/dist/src/user/user.spec.d.ts.map +0 -1
  650. package/dist/src/util/retrieve.spec.d.ts +0 -2
  651. package/dist/src/util/retrieve.spec.d.ts.map +0 -1
  652. package/dist/src/view/view.spec.d.ts +0 -2
  653. package/dist/src/view/view.spec.d.ts.map +0 -1
  654. package/dist/src/workspace/access.spec.d.ts +0 -2
  655. package/dist/src/workspace/access.spec.d.ts.map +0 -1
  656. package/dist/src/workspace/client.d.ts +0 -36
  657. package/dist/src/workspace/client.d.ts.map +0 -1
  658. package/dist/src/workspace/external.d.ts.map +0 -1
  659. package/dist/src/workspace/index.d.ts +0 -2
  660. package/dist/src/workspace/index.d.ts.map +0 -1
  661. package/dist/src/workspace/types.gen.d.ts +0 -34
  662. package/dist/src/workspace/types.gen.d.ts.map +0 -1
  663. package/dist/src/workspace/workspace.spec.d.ts +0 -2
  664. package/dist/src/workspace/workspace.spec.d.ts.map +0 -1
  665. package/examples/node/basicReadWrite.js +0 -86
  666. package/examples/node/createChannels.js +0 -50
  667. package/examples/node/createRange.js +0 -67
  668. package/examples/node/package-lock.json +0 -133
  669. package/examples/node/package.json +0 -17
  670. package/examples/node/readLatest.js +0 -76
  671. package/examples/node/seriesAndFrames.js +0 -173
  672. package/examples/node/streamRead.js +0 -50
  673. package/examples/node/streamWrite.js +0 -87
  674. package/src/access/enforce.spec.ts +0 -188
  675. package/src/access/policy/access.spec.ts +0 -147
  676. package/src/access/role/role.spec.ts +0 -95
  677. package/src/actions/actions.spec.ts +0 -229
  678. package/src/arc/access.spec.ts +0 -149
  679. package/src/arc/arc.spec.ts +0 -44
  680. package/src/arc/lsp.spec.ts +0 -717
  681. package/src/auth/auth.spec.ts +0 -101
  682. package/src/channel/access.spec.ts +0 -116
  683. package/src/channel/batchRetriever.spec.ts +0 -115
  684. package/src/channel/channel.spec.ts +0 -352
  685. package/src/channel/payload.spec.ts +0 -117
  686. package/src/channel/retriever.ts +0 -252
  687. package/src/connection/checker.ts +0 -203
  688. package/src/connection/connection.spec.ts +0 -152
  689. package/src/connection.spec.ts +0 -145
  690. package/src/control/state.spec.ts +0 -22
  691. package/src/device/access.spec.ts +0 -159
  692. package/src/device/device.spec.ts +0 -461
  693. package/src/device/payload.spec.ts +0 -142
  694. package/src/errors.spec.ts +0 -71
  695. package/src/framer/adapter.spec.ts +0 -620
  696. package/src/framer/client.spec.ts +0 -180
  697. package/src/framer/codec.spec.ts +0 -383
  698. package/src/framer/deleter.spec.ts +0 -103
  699. package/src/framer/frame.spec.ts +0 -973
  700. package/src/framer/iterator.spec.ts +0 -169
  701. package/src/framer/reader.spec.ts +0 -865
  702. package/src/framer/streamer.spec.ts +0 -871
  703. package/src/framer/writer.spec.ts +0 -486
  704. package/src/group/access.spec.ts +0 -77
  705. package/src/group/group.spec.ts +0 -65
  706. package/src/label/access.spec.ts +0 -109
  707. package/src/label/label.spec.ts +0 -83
  708. package/src/lineplot/access.spec.ts +0 -134
  709. package/src/lineplot/lineplot.spec.ts +0 -120
  710. package/src/log/access.spec.ts +0 -132
  711. package/src/log/log.spec.ts +0 -106
  712. package/src/ontology/ontology.spec.ts +0 -521
  713. package/src/rack/access.spec.ts +0 -102
  714. package/src/rack/rack.spec.ts +0 -171
  715. package/src/ranger/access.spec.ts +0 -115
  716. package/src/ranger/alias/payload.spec.ts +0 -52
  717. package/src/ranger/ranger.spec.ts +0 -343
  718. package/src/schematic/access.spec.ts +0 -134
  719. package/src/schematic/actions.spec.ts +0 -699
  720. package/src/schematic/schematic.spec.ts +0 -340
  721. package/src/schematic/symbol/access.spec.ts +0 -172
  722. package/src/schematic/symbol/client.spec.ts +0 -160
  723. package/src/status/access.spec.ts +0 -129
  724. package/src/status/status.spec.ts +0 -448
  725. package/src/table/access.spec.ts +0 -128
  726. package/src/table/table.spec.ts +0 -651
  727. package/src/task/access.spec.ts +0 -131
  728. package/src/task/payload.spec.ts +0 -113
  729. package/src/task/task.spec.ts +0 -657
  730. package/src/user/access.spec.ts +0 -107
  731. package/src/user/user.spec.ts +0 -290
  732. package/src/util/retrieve.spec.ts +0 -49
  733. package/src/view/view.spec.ts +0 -165
  734. package/src/workspace/access.spec.ts +0 -108
  735. package/src/workspace/client.ts +0 -112
  736. package/src/workspace/types.gen.ts +0 -46
  737. package/src/workspace/workspace.spec.ts +0 -111
  738. package/tsconfig.json +0 -5
  739. package/tsconfig.vite.json +0 -4
  740. package/vite.config.ts +0 -29
  741. /package/dist/src/{workspace → project}/external.d.ts +0 -0
@@ -9,7 +9,7 @@
9
9
 
10
10
  // Code generated by Oracle. DO NOT EDIT.
11
11
 
12
- import { array, record, zod } from "@synnaxlabs/x";
12
+ import { zod } from "@synnaxlabs/x";
13
13
  import { z } from "zod";
14
14
 
15
15
  import { types } from "@/arc/types";
@@ -35,7 +35,10 @@ export enum Liveness {
35
35
  }
36
36
  export const livenessZ = z.enum(Liveness);
37
37
 
38
- /** Handle is a reference to a specific parameter on a specific node in the dataflow graph. */
38
+ /**
39
+ * Handle is a reference to a specific parameter on a specific node in the dataflow
40
+ * graph.
41
+ */
39
42
  export const handleZ = z.object({
40
43
  /** node is the node identifier. */
41
44
  node: z.string(),
@@ -51,17 +54,12 @@ export const bodyZ = z.object({
51
54
  });
52
55
  export interface Body extends z.infer<typeof bodyZ> {}
53
56
 
54
- /**
55
- * Node is a concrete instantiation of a function with typed parameters and
56
- * configuration values.
57
- */
57
+ /** Node is a concrete instantiation of a function with typed parameters and values. */
58
58
  export const nodeZ = z.object({
59
59
  /** key is the unique identifier for this node instance. */
60
60
  key: z.string(),
61
61
  /** type is the function type being instantiated. */
62
62
  type: z.string(),
63
- /** config contains configuration parameter values. */
64
- config: types.paramsZ,
65
63
  /** inputs contains input parameter type signatures. */
66
64
  inputs: types.paramsZ,
67
65
  /** outputs contains output parameter type signatures. */
@@ -76,7 +74,7 @@ export const authoritiesZ = z.object({
76
74
  /** default is the default authority for all write channels not explicitly listed. */
77
75
  default: zod.uint8.optional(),
78
76
  /** channels maps channel keys to their specific authority values. */
79
- channels: record.nullishToEmpty(z.uint32(), zod.uint8),
77
+ channels: z.record(z.uint32(), zod.uint8).default(() => ({})),
80
78
  });
81
79
  export interface Authorities extends z.infer<typeof authoritiesZ> {}
82
80
 
@@ -96,8 +94,8 @@ export const transitionZ = z.object({
96
94
  /** on is the dataflow handle whose truthy value fires this transition. */
97
95
  on: handleZ,
98
96
  /**
99
- * targetKey is the sibling step key to activate. Null when the transition
100
- * exits the scope, yielding to the parent.
97
+ * targetKey is the sibling step key to activate. Null when the transition exits the
98
+ * scope, yielding to the parent.
101
99
  */
102
100
  targetKey: z.string().optional(),
103
101
  });
@@ -111,9 +109,7 @@ export const functionZ = z.object({
111
109
  /** key is the function identifier (template name). */
112
110
  key: z.string(),
113
111
  /** body is raw source code for user-defined functions. */
114
- body: bodyZ.optional(),
115
- /** config contains configuration parameter definitions. */
116
- config: types.paramsZ,
112
+ body: bodyZ,
117
113
  /** inputs contains input parameter definitions. */
118
114
  inputs: types.paramsZ,
119
115
  /** outputs contains output parameter definitions. */
@@ -123,20 +119,19 @@ export const functionZ = z.object({
123
119
  });
124
120
  export interface Function extends z.infer<typeof functionZ> {}
125
121
 
126
- export const nodesZ = array.nullishToEmpty(nodeZ);
122
+ export const nodesZ = nodeZ.array().default(() => []);
127
123
  export type Nodes = z.infer<typeof nodesZ>;
128
124
 
129
- export const edgesZ = array.nullishToEmpty(edgeZ);
125
+ export const edgesZ = edgeZ.array().default(() => []);
130
126
  export type Edges = z.infer<typeof edgesZ>;
131
127
 
132
- export const functionsZ = array.nullishToEmpty(functionZ);
128
+ export const functionsZ = functionZ.array().default(() => []);
133
129
  export type Functions = z.infer<typeof functionsZ>;
134
130
 
135
131
  /**
136
- * Member is a tagged union representing a single child of a Scope. Exactly one
137
- * of nodeKey or scope is set. The member's lookup key (used as the
138
- * target of `=> name` transitions) is derived from the set variant via
139
- * Member.key().
132
+ * Member is a tagged union representing a single child of a Scope. Exactly one of
133
+ * nodeKey or scope is set. The member's lookup key (used as the target of `=> name`
134
+ * transitions) is derived from the set variant via Member.key().
140
135
  */
141
136
  export interface Member {
142
137
  nodeKey?: string;
@@ -144,8 +139,8 @@ export interface Member {
144
139
  }
145
140
  export const memberZ: z.ZodType<Member> = z.object({
146
141
  /**
147
- * nodeKey is the key of the referenced node in IR.nodes. Null when this
148
- * member is a nested scope.
142
+ * nodeKey is the key of the referenced node in IR.nodes. Null when this member is a
143
+ * nested scope.
149
144
  */
150
145
  nodeKey: z.string().optional(),
151
146
  /** scope is set when this member is a nested scope. */
@@ -155,10 +150,9 @@ export const memberZ: z.ZodType<Member> = z.object({
155
150
  });
156
151
 
157
152
  /**
158
- * Scope is the unified Layer 2 execution primitive. Parameterized by mode
159
- * (parallel or sequential) and liveness (always-live or gated). Parallel
160
- * scopes organize members into strata; sequential scopes run one step
161
- * at a time and advance via transitions.
153
+ * Scope is the unified Layer 2 execution primitive. Parameterized by mode (parallel or
154
+ * sequential) and liveness (always-live or gated). Parallel scopes organize members
155
+ * into strata; sequential scopes run one step at a time and advance via transitions.
162
156
  */
163
157
  export interface Scope {
164
158
  key: string;
@@ -174,29 +168,37 @@ export const scopeZ: z.ZodType<Scope> = z.object({
174
168
  key: z.string(),
175
169
  /** mode defines whether this scope runs steps in parallel or sequentially. */
176
170
  mode: scopeModeZ,
177
- /** liveness defines whether this scope is continuously active or must be activated. */
171
+ /**
172
+ * liveness defines whether this scope is continuously active or must be activated.
173
+ */
178
174
  liveness: livenessZ,
179
- /** activation is the handle whose truthy value activates a gated scope. Unset for always-live scopes. */
175
+ /**
176
+ * activation is the handle whose truthy value activates a gated scope. Unset for
177
+ * always-live scopes.
178
+ */
180
179
  activation: handleZ.optional(),
181
180
  /**
182
- * strata contains stratified execution layers for parallel scopes. Empty
183
- * for sequential scopes. Stratum N depends only on strata 0 to N-1.
181
+ * strata contains stratified execution layers for parallel scopes. On sequential
182
+ * scopes, strata hold variable nodes that run every pass alongside the active step.
183
+ * Stratum N depends only on strata 0 to N-1.
184
184
  */
185
185
  get strata() {
186
- return array.nullishToEmpty(membersZ);
186
+ return membersZ.array().default(() => []);
187
187
  },
188
188
  /** steps contains ordered steps for sequential scopes. Empty for parallel scopes. */
189
189
  get steps() {
190
190
  return membersZ;
191
191
  },
192
- /** transitions contains state-transition rules for sequential scopes. Empty for parallel scopes. */
193
- transitions: array.nullishToEmpty(transitionZ),
192
+ /**
193
+ * transitions contains state-transition rules for sequential scopes. Empty for
194
+ * parallel scopes.
195
+ */
196
+ transitions: transitionZ.array().default(() => []),
194
197
  });
195
198
 
196
199
  /**
197
- * IR is the intermediate representation of an Arc program as a dataflow graph
198
- * with stratified execution, bridging semantic analysis and WebAssembly
199
- * compilation.
200
+ * IR is the intermediate representation of an Arc program as a dataflow graph with
201
+ * stratified execution, bridging semantic analysis and WebAssembly compilation.
200
202
  */
201
203
  export const irZ = z.object({
202
204
  /** functions contains function template definitions. */
@@ -208,13 +210,12 @@ export const irZ = z.object({
208
210
  /** authorities contains the static authority declarations for this program. */
209
211
  authorities: authoritiesZ,
210
212
  /**
211
- * root is the top-level execution context. The root is always a
212
- * parallel, always-live Scope whose strata mix module-scope
213
- * reactive flow with top-level gated scopes.
213
+ * root is the top-level execution context. The root is always a parallel, always-live
214
+ * Scope whose strata mix module-scope reactive flow with top-level gated scopes.
214
215
  */
215
216
  root: scopeZ,
216
217
  });
217
218
  export interface IR extends z.infer<typeof irZ> {}
218
219
 
219
- export const membersZ = array.nullishToEmpty(memberZ);
220
+ export const membersZ = memberZ.array().default(() => []);
220
221
  export type Members = z.infer<typeof membersZ>;
@@ -9,11 +9,30 @@
9
9
 
10
10
  // Code generated by Oracle. DO NOT EDIT.
11
11
 
12
+ import { crdt } from "@synnaxlabs/x";
12
13
  import { z } from "zod";
13
14
 
15
+ /**
16
+ * Document is the conflict-free replicated representation of the text: the operations
17
+ * that reconstruct it when applied to an empty replica. It is the durable source of
18
+ * truth from which raw is materialized.
19
+ */
20
+ export const documentZ = z.object({
21
+ /** inserts are the operations that reconstruct the document's characters. */
22
+ inserts: crdt.insertZ.array().default(() => []),
23
+ /** deletes are the operations that tombstone deleted characters. */
24
+ deletes: crdt.deleteZ.array().default(() => []),
25
+ });
26
+ export interface Document extends z.infer<typeof documentZ> {}
27
+
14
28
  /** Text is text-based Arc source code with optional parsed AST for compilation. */
15
29
  export const textZ = z.object({
16
- /** raw is the raw Arc source code in text form. */
17
- raw: z.string(),
30
+ /**
31
+ * doc is the replicated source of truth for the text. It defaults to empty on create,
32
+ * in which case the server seeds it from raw.
33
+ */
34
+ doc: documentZ.prefault({}),
35
+ /** raw is the materialized Arc source code, derived from doc and not persisted. */
36
+ raw: z.string().default(""),
18
37
  });
19
38
  export interface Text extends z.infer<typeof textZ> {}
@@ -9,7 +9,7 @@
9
9
 
10
10
  // Code generated by Oracle. DO NOT EDIT.
11
11
 
12
- import { array, record, zod } from "@synnaxlabs/x";
12
+ import { zod } from "@synnaxlabs/x";
13
13
  import { z } from "zod";
14
14
 
15
15
  export enum Kind {
@@ -25,16 +25,18 @@ export enum Kind {
25
25
  f32 = 9,
26
26
  f64 = 10,
27
27
  string = 11,
28
- chan = 14,
29
- series = 15,
30
- variable = 16,
31
- numeric_constant = 17,
32
- integer_constant = 18,
33
- float_constant = 19,
34
- exact_integer_float_constant = 20,
35
- function = 21,
36
- sequence = 22,
37
- stage = 23,
28
+ chan = 12,
29
+ series = 13,
30
+ variable = 14,
31
+ numeric_constant = 15,
32
+ integer_constant = 16,
33
+ float_constant = 17,
34
+ exact_integer_float_constant = 18,
35
+ function = 19,
36
+ sequence = 20,
37
+ stage = 21,
38
+ var_ref = 22,
39
+ bool = 23,
38
40
  }
39
41
  export const kindZ = z.enum(Kind);
40
42
 
@@ -42,19 +44,23 @@ export enum ChanDirection {
42
44
  none = 0,
43
45
  read = 1,
44
46
  write = 2,
47
+ read_write = 3,
45
48
  }
46
49
  export const chanDirectionZ = z.enum(ChanDirection);
47
50
 
48
- /** Channels contains channel declarations for reading from and writing to Synnax channels. */
51
+ /**
52
+ * Channels contains channel declarations for reading from and writing to Synnax
53
+ * channels.
54
+ */
49
55
  export const channelsZ = z.object({
50
56
  /** read contains readable channel indices mapped to parameter names. */
51
- read: record.nullishToEmpty(z.uint32(), z.string()),
57
+ read: z.record(z.uint32(), z.string()).default(() => ({})),
52
58
  /** write contains writable channel indices mapped to parameter names. */
53
- write: record.nullishToEmpty(z.uint32(), z.string()),
59
+ write: z.record(z.uint32(), z.string()).default(() => ({})),
54
60
  });
55
61
  export interface Channels extends z.infer<typeof channelsZ> {}
56
62
 
57
- /** Dimensions contains physical dimension exponents for dimensional analysis (SI base quantities). */
63
+ /** Dimensions contains dimension exponents for dimensional analysis. */
58
64
  export const dimensionsZ = z.object({
59
65
  /** length is the length dimension exponent (meters). */
60
66
  length: zod.int8,
@@ -62,20 +68,22 @@ export const dimensionsZ = z.object({
62
68
  mass: zod.int8,
63
69
  /** time is the time dimension exponent (seconds). */
64
70
  time: zod.int8,
65
- /** current is the electric current dimension exponent (amperes). */
71
+ /** current is the electric current dimension exponent (Amperes). */
66
72
  current: zod.int8,
67
- /** temperature is the temperature dimension exponent (kelvin). */
73
+ /** temperature is the temperature dimension exponent (Kelvin). */
68
74
  temperature: zod.int8,
69
75
  /** angle is the angle dimension exponent (radians). */
70
76
  angle: zod.int8,
71
- /** count is the count dimension exponent (dimensionless quantity). */
77
+ /** count is the count dimension exponent. */
72
78
  count: zod.int8,
73
79
  /** data is the data size dimension exponent (bytes). */
74
80
  data: zod.int8,
75
81
  });
76
82
  export interface Dimensions extends z.infer<typeof dimensionsZ> {}
77
83
 
78
- /** Unit is a physical unit with dimensions and scale factor for unit-aware computation. */
84
+ /**
85
+ * Unit is a physical unit with dimensions and scale factor for unit-aware computation.
86
+ */
79
87
  export const unitZ = z.object({
80
88
  /** dimensions contains physical dimension exponents. */
81
89
  dimensions: dimensionsZ,
@@ -89,16 +97,12 @@ export interface Unit extends z.infer<typeof unitZ> {}
89
97
  /** FunctionProperties contains common parameter definitions for function-like types. */
90
98
  export const functionPropertiesZ = z.object({
91
99
  /** inputs contains input parameter definitions. */
92
- get inputs(): z.ZodOptional<typeof paramsZ> {
93
- return paramsZ.optional();
100
+ get inputs(): z.ZodDefault<typeof paramsZ> {
101
+ return paramsZ.default([]);
94
102
  },
95
103
  /** outputs contains output parameter definitions. */
96
- get outputs(): z.ZodOptional<typeof paramsZ> {
97
- return paramsZ.optional();
98
- },
99
- /** config contains configuration parameter definitions. */
100
- get config(): z.ZodOptional<typeof paramsZ> {
101
- return paramsZ.optional();
104
+ get outputs(): z.ZodDefault<typeof paramsZ> {
105
+ return paramsZ.default([]);
102
106
  },
103
107
  });
104
108
  export interface FunctionProperties extends z.infer<typeof functionPropertiesZ> {}
@@ -113,20 +117,24 @@ export const typeZ = functionPropertiesZ.extend({
113
117
  get constraint(): z.ZodOptional<typeof typeZ> {
114
118
  return typeZ.optional();
115
119
  },
116
- chanDirection: chanDirectionZ.optional(),
120
+ chanDirection: chanDirectionZ,
117
121
  });
118
122
  export interface Type extends z.infer<typeof typeZ> {}
119
123
 
120
124
  /** Param is a named, typed parameter with optional default value. */
121
- export const paramZ = z.object({
125
+ export interface Param {
126
+ name: string;
127
+ type: Type;
128
+ value: unknown;
129
+ }
130
+ export const paramZ: z.ZodType<Param> = z.object({
122
131
  /** name is the parameter name. */
123
132
  name: z.string(),
124
133
  /** type is the parameter type. */
125
134
  type: typeZ,
126
135
  /** value is an optional default value. */
127
- value: z.unknown().optional(),
136
+ value: z.unknown(),
128
137
  });
129
- export interface Param extends z.infer<typeof paramZ> {}
130
138
 
131
- export const paramsZ = array.nullishToEmpty(paramZ);
139
+ export const paramsZ = paramZ.array().default(() => []);
132
140
  export type Params = z.infer<typeof paramsZ>;
@@ -9,18 +9,31 @@
9
9
 
10
10
  // Code generated by Oracle. DO NOT EDIT.
11
11
 
12
- import { status } from "@synnaxlabs/x";
12
+ import { uuid } from "@synnaxlabs/x";
13
13
  import { z } from "zod";
14
14
 
15
15
  import { graph } from "@/arc/graph";
16
16
  import { program } from "@/arc/program";
17
17
  import { text } from "@/arc/text";
18
18
  import { ontology } from "@/ontology";
19
+ import { status } from "@/status";
20
+ import { task } from "@/task";
19
21
 
20
22
  export const MODES = ["text", "graph"] as const;
21
23
  export const modeZ = z.enum(MODES);
22
24
  export type Mode = z.infer<typeof modeZ>;
23
25
 
26
+ export const EXECUTION_MODES = [
27
+ "AUTO",
28
+ "BUSY_WAIT",
29
+ "HIGH_RATE",
30
+ "RT_EVENT",
31
+ "HYBRID",
32
+ "EVENT_DRIVEN",
33
+ ] as const;
34
+ export const executionModeZ = z.enum(EXECUTION_MODES);
35
+ export type ExecutionMode = z.infer<typeof executionModeZ>;
36
+
24
37
  /** StatusDetails contains Arc-specific status details for execution state. */
25
38
  export const statusDetailsZ = z.object({
26
39
  /** running indicates whether the Arc module is currently executing. */
@@ -34,52 +47,41 @@ export type Key = z.infer<typeof keyZ>;
34
47
  export const statusZ = status.statusZ({ details: statusDetailsZ });
35
48
  export type Status = z.infer<typeof statusZ>;
36
49
 
37
- /** New contains parameters for creating a new Arc module. */
38
- export const newZ = z.object({
39
- /**
40
- * key is an optional key for the module. If not provided, one will be
41
- * automatically assigned.
42
- */
43
- key: keyZ.optional(),
44
- /** name is a human-readable name for the module. */
45
- name: z.string(),
46
- /**
47
- * mode specifies the representation mode for this module.
48
- * Either "text" for text-based Arc code or "graph" for visual dataflow.
49
- */
50
- mode: modeZ,
51
- /** graph is the visual dataflow graph representation. */
52
- graph: graph.graphZ,
53
- /** text is the text-based Arc source code. */
54
- text: text.textZ,
50
+ export const taskConfigZ = task.persistConfigZ.extend({
51
+ arcKey: keyZ,
52
+ hash: z.string().default(""),
53
+ executionMode: executionModeZ.default("AUTO"),
54
+ rtPriority: z.int32().default(47),
55
+ cpuAffinity: z.int32().default(-1),
56
+ memoryLocked: z.boolean().default(false),
55
57
  });
56
- export interface New extends z.input<typeof newZ> {}
58
+ export interface TaskConfig extends z.infer<typeof taskConfigZ> {}
57
59
 
58
60
  /**
59
- * Arc is an Arc module combining visual graph representation and text-based
60
- * source code for reactive control systems. Compiles to WebAssembly for
61
- * sandboxed execution.
61
+ * Arc is an Arc module combining visual graph representation and text-based source code
62
+ * for reactive control systems. Compiles to WebAssembly for sandboxed execution.
62
63
  */
63
64
  export const arcZ = z.object({
64
65
  /** key is the unique identifier for this module. */
65
- key: keyZ,
66
+ key: keyZ.default(uuid.create),
66
67
  /** name is a human-readable name for the module. */
67
- name: z.string(),
68
+ name: z.string().min(1, "name is required"),
68
69
  /**
69
- * mode specifies the representation mode for this module.
70
- * Either "text" for text-based Arc code or "graph" for visual dataflow.
70
+ * mode specifies the representation mode for this module. Either "text" for
71
+ * text-based Arc code or "graph" for visual dataflow.
71
72
  */
72
73
  mode: modeZ,
73
74
  /** graph is the visual dataflow graph representation of the module. */
74
- graph: graph.graphZ,
75
+ graph: graph.graphZ.prefault({}),
75
76
  /** text is the text-based Arc source code. */
76
- text: text.textZ,
77
+ text: text.textZ.prefault({}),
77
78
  /** program is the compiled module output including IR and WebAssembly bytecode. */
78
79
  program: program.programZ.optional(),
79
80
  /** status is the current execution status of the module. */
80
81
  status: statusZ.optional(),
81
82
  });
82
83
  export interface Arc extends z.infer<typeof arcZ> {}
84
+ export interface New extends z.input<typeof arcZ> {}
83
85
 
84
86
  export const ontologyID = ontology.createIDFactory<Key>("arc");
85
87
  export const TYPE_ONTOLOGY_ID = ontologyID("");
package/src/auth/auth.ts CHANGED
@@ -11,11 +11,11 @@ import { type Middleware, type UnaryClient } from "@synnaxlabs/freighter";
11
11
  import { errors, TimeStamp } from "@synnaxlabs/x";
12
12
  import { z } from "zod";
13
13
 
14
- import { ExpiredTokenError, InvalidTokenError } from "@/errors";
14
+ import { AuthError, ExpiredTokenError, InvalidTokenError } from "@/errors";
15
15
  import { user } from "@/user";
16
16
 
17
17
  const credentialsZ = z.object({ username: z.string(), password: z.string() });
18
- interface Credentials extends z.infer<typeof credentialsZ> {}
18
+ export interface Credentials extends z.infer<typeof credentialsZ> {}
19
19
 
20
20
  const clusterInfoZ = z.object({
21
21
  clusterKey: z.string(),
@@ -30,7 +30,7 @@ const tokenResponseZ = z.object({
30
30
  clusterInfo: clusterInfoZ.optional(),
31
31
  });
32
32
 
33
- const LOGIN_ENDPOINT = "/auth/login";
33
+ export const LOGIN_ENDPOINT = "/auth/login";
34
34
 
35
35
  const MAX_RETRIES = 3;
36
36
 
@@ -44,20 +44,40 @@ const changePasswordResZ = z.object({});
44
44
  const RETRY_ON = [InvalidTokenError, ExpiredTokenError] as const;
45
45
 
46
46
  type AuthState =
47
- | { authenticated: false }
48
- | { authenticated: true; user: user.User; token: string };
47
+ { authenticated: false } | { authenticated: true; user: user.User; token: string };
48
+
49
+ /** Login outcome hooks. The connection machine is the sole consumer. */
50
+ export interface Observer {
51
+ /** Fires after every successful login. */
52
+ onSuccess?: () => void;
53
+ /** Fires on a definitive credential rejection, never on token self-heal. */
54
+ onFailure?: (error: Error) => void;
55
+ }
49
56
 
50
57
  export class Client {
51
58
  private readonly client: UnaryClient;
52
59
  private readonly credentials: Credentials;
60
+ private readonly observer: Observer;
53
61
  private authState: AuthState = { authenticated: false };
54
62
  authenticating: Promise<Error | null> | undefined;
55
63
  private retryCount: number;
64
+ private generation = 0;
56
65
 
57
- constructor(client: UnaryClient, credentials: Credentials) {
66
+ constructor(client: UnaryClient, credentials: Credentials, observer: Observer = {}) {
58
67
  this.client = client;
59
68
  this.credentials = credentials;
69
+ this.observer = observer;
70
+ this.retryCount = 0;
71
+ }
72
+
73
+ /** Replaces the stored credentials and clears auth state for a fresh login. */
74
+ setCredentials({ username, password }: Credentials): void {
75
+ this.credentials.username = username;
76
+ this.credentials.password = password;
77
+ this.authState = { authenticated: false };
78
+ this.authenticating = undefined;
60
79
  this.retryCount = 0;
80
+ this.generation += 1;
61
81
  }
62
82
 
63
83
  get authenticated(): boolean {
@@ -99,6 +119,9 @@ export class Client {
99
119
  const mw: Middleware = async (reqCtx, next) => {
100
120
  if (!this.authenticated && !reqCtx.target.endsWith(LOGIN_ENDPOINT)) {
101
121
  this.authenticating ??= (async (): Promise<Error | null> => {
122
+ // logins issued before a setCredentials are stale; their result must
123
+ // not reach the observer
124
+ const generation = this.generation;
102
125
  try {
103
126
  const res = await this.client.send(
104
127
  LOGIN_ENDPOINT,
@@ -106,18 +129,27 @@ export class Client {
106
129
  credentialsZ,
107
130
  tokenResponseZ,
108
131
  );
132
+ if (generation !== this.generation) return null;
109
133
  this.authState = {
110
134
  authenticated: true,
111
135
  user: res.user,
112
136
  token: res.token,
113
137
  };
138
+ this.observer.onSuccess?.();
114
139
  return null;
115
140
  } catch (err) {
116
- return errors.fromUnknown(err);
141
+ const parsed = errors.fromUnknown(err);
142
+ if (generation === this.generation && AuthError.matches(parsed))
143
+ this.observer.onFailure?.(parsed);
144
+ return parsed;
117
145
  }
118
146
  })();
119
147
  const err = await this.authenticating;
120
- if (err != null) throw err;
148
+ if (err != null) {
149
+ // clear the memoized failure so the next request retries the login
150
+ this.authenticating = undefined;
151
+ throw err;
152
+ }
121
153
  }
122
154
  reqCtx.params.Authorization = `Bearer ${this.token}`;
123
155
  try {