@synnaxlabs/client 0.56.2 → 0.57.1
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.
- package/dist/client-DDACDVZ-.js +14505 -0
- package/dist/client-DDACDVZ-.js.map +1 -0
- package/dist/client.js +1128 -14876
- package/dist/client.js.map +1 -0
- package/dist/src/access/client.d.ts +10 -1
- package/dist/src/access/client.d.ts.map +1 -1
- package/dist/src/access/enforce.d.ts.map +1 -1
- package/dist/src/access/external.d.ts +1 -0
- package/dist/src/access/external.d.ts.map +1 -1
- package/dist/src/access/granted.d.ts +39 -0
- package/dist/src/access/granted.d.ts.map +1 -0
- package/dist/src/access/policy/client.d.ts +136 -147
- package/dist/src/access/policy/client.d.ts.map +1 -1
- package/dist/src/access/policy/types.gen.d.ts +15 -68
- package/dist/src/access/policy/types.gen.d.ts.map +1 -1
- package/dist/src/access/role/client.d.ts +77 -58
- package/dist/src/access/role/client.d.ts.map +1 -1
- package/dist/src/access/role/types.gen.d.ts +8 -14
- package/dist/src/access/role/types.gen.d.ts.map +1 -1
- package/dist/src/actions/actions.d.ts +5 -6
- package/dist/src/actions/actions.d.ts.map +1 -1
- package/dist/src/actions/controller.d.ts +194 -0
- package/dist/src/actions/controller.d.ts.map +1 -0
- package/dist/src/actions/external.d.ts +1 -0
- package/dist/src/actions/external.d.ts.map +1 -1
- package/dist/src/arc/actions.d.ts +575 -0
- package/dist/src/arc/actions.d.ts.map +1 -0
- package/dist/src/arc/actions.gen.d.ts +1439 -0
- package/dist/src/arc/actions.gen.d.ts.map +1 -0
- package/dist/src/arc/client.d.ts +97 -13
- package/dist/src/arc/client.d.ts.map +1 -1
- package/dist/src/arc/compiler/types.gen.d.ts +3 -3
- package/dist/src/arc/compiler/types.gen.d.ts.map +1 -1
- package/dist/src/arc/external.d.ts +2 -0
- package/dist/src/arc/external.d.ts.map +1 -1
- package/dist/src/arc/graph/types.gen.d.ts +45 -597
- package/dist/src/arc/graph/types.gen.d.ts.map +1 -1
- package/dist/src/arc/ir/index.d.ts +1 -1
- package/dist/src/arc/ir/index.d.ts.map +1 -1
- package/dist/src/arc/ir/ir.d.ts +2 -0
- package/dist/src/arc/ir/ir.d.ts.map +1 -0
- package/dist/src/arc/ir/types.gen.d.ts +58 -2807
- package/dist/src/arc/ir/types.gen.d.ts.map +1 -1
- package/dist/src/arc/module/types.gen.d.ts +18 -1090
- package/dist/src/arc/module/types.gen.d.ts.map +1 -1
- package/dist/src/arc/program/types.gen.d.ts +18 -1090
- package/dist/src/arc/program/types.gen.d.ts.map +1 -1
- package/dist/src/arc/text/types.gen.d.ts +54 -1
- package/dist/src/arc/text/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types/types.gen.d.ts +35 -153
- package/dist/src/arc/types/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types.gen.d.ts +98 -2278
- package/dist/src/arc/types.gen.d.ts.map +1 -1
- package/dist/src/auth/auth.d.ts +14 -2
- package/dist/src/auth/auth.d.ts.map +1 -1
- package/dist/src/channel/client.d.ts +113 -75
- package/dist/src/channel/client.d.ts.map +1 -1
- package/dist/src/channel/external.d.ts +0 -1
- package/dist/src/channel/external.d.ts.map +1 -1
- package/dist/src/channel/payload.d.ts +65 -56
- package/dist/src/channel/payload.d.ts.map +1 -1
- package/dist/src/channel/types.gen.d.ts +26 -73
- package/dist/src/channel/types.gen.d.ts.map +1 -1
- package/dist/src/channel/writer.d.ts +1 -3
- package/dist/src/channel/writer.d.ts.map +1 -1
- package/dist/src/client.d.ts +55 -27
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/connection/client.d.ts +146 -0
- package/dist/src/connection/client.d.ts.map +1 -0
- package/dist/src/connection/external.d.ts +3 -0
- package/dist/src/connection/external.d.ts.map +1 -0
- package/dist/src/connection/index.d.ts +1 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/status.d.ts +252 -0
- package/dist/src/connection/status.d.ts.map +1 -0
- package/dist/src/control/client.d.ts +31 -7
- package/dist/src/control/client.d.ts.map +1 -1
- package/dist/src/control/state.d.ts +47 -16
- package/dist/src/control/state.d.ts.map +1 -1
- package/dist/src/device/client.d.ts +59 -17
- package/dist/src/device/client.d.ts.map +1 -1
- package/dist/src/device/types.gen.d.ts +17 -67
- package/dist/src/device/types.gen.d.ts.map +1 -1
- package/dist/src/errors.d.ts +17 -20
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/ethercat/external.d.ts +2 -0
- package/dist/src/ethercat/external.d.ts.map +1 -0
- package/dist/src/ethercat/index.d.ts +2 -0
- package/dist/src/ethercat/index.d.ts.map +1 -0
- package/dist/src/ethercat/types.gen.d.ts +243 -0
- package/dist/src/ethercat/types.gen.d.ts.map +1 -0
- package/dist/src/framer/adapter.d.ts +8 -5
- package/dist/src/framer/adapter.d.ts.map +1 -1
- package/dist/src/framer/benchutil.d.ts +19 -0
- package/dist/src/framer/benchutil.d.ts.map +1 -0
- package/dist/src/framer/cache/cache.d.ts +38 -0
- package/dist/src/framer/cache/cache.d.ts.map +1 -0
- package/dist/src/framer/cache/dynamic.d.ts +91 -0
- package/dist/src/framer/cache/dynamic.d.ts.map +1 -0
- package/dist/src/framer/cache/reader.d.ts +57 -0
- package/dist/src/framer/cache/reader.d.ts.map +1 -0
- package/dist/src/framer/cache/static.d.ts +66 -0
- package/dist/src/framer/cache/static.d.ts.map +1 -0
- package/dist/src/framer/cache/streamer.d.ts +86 -0
- package/dist/src/framer/cache/streamer.d.ts.map +1 -0
- package/dist/src/framer/cache/transform.d.ts +18 -0
- package/dist/src/framer/cache/transform.d.ts.map +1 -0
- package/dist/src/framer/cache/unary.d.ts +39 -0
- package/dist/src/framer/cache/unary.d.ts.map +1 -0
- package/dist/src/framer/client.d.ts +35 -14
- package/dist/src/framer/client.d.ts.map +1 -1
- package/dist/src/framer/codec.d.ts.map +1 -1
- package/dist/src/framer/deleter.d.ts +3 -2
- package/dist/src/framer/deleter.d.ts.map +1 -1
- package/dist/src/framer/external.d.ts +6 -0
- package/dist/src/framer/external.d.ts.map +1 -1
- package/dist/src/framer/feed.d.ts +40 -0
- package/dist/src/framer/feed.d.ts.map +1 -0
- package/dist/src/framer/frame.d.ts +16 -20
- package/dist/src/framer/frame.d.ts.map +1 -1
- package/dist/src/framer/hardened.d.ts +70 -0
- package/dist/src/framer/hardened.d.ts.map +1 -0
- package/dist/src/framer/iterator.d.ts +36 -43
- package/dist/src/framer/iterator.d.ts.map +1 -1
- package/dist/src/framer/reader.d.ts +3 -2
- package/dist/src/framer/reader.d.ts.map +1 -1
- package/dist/src/framer/streamer.d.ts +132 -205
- package/dist/src/framer/streamer.d.ts.map +1 -1
- package/dist/src/framer/writer.d.ts +130 -161
- package/dist/src/framer/writer.d.ts.map +1 -1
- package/dist/src/group/client.d.ts +66 -9
- package/dist/src/group/client.d.ts.map +1 -1
- package/dist/src/group/types.gen.d.ts +2 -2
- package/dist/src/http/external.d.ts +2 -0
- package/dist/src/http/external.d.ts.map +1 -0
- package/dist/src/http/index.d.ts +2 -0
- package/dist/src/http/index.d.ts.map +1 -0
- package/dist/src/http/types.gen.d.ts +451 -0
- package/dist/src/http/types.gen.d.ts.map +1 -0
- package/dist/src/imex/client.d.ts +88 -0
- package/dist/src/imex/client.d.ts.map +1 -0
- package/dist/src/imex/index.d.ts +2 -0
- package/dist/src/imex/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +18 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/label/client.d.ts +55 -36
- package/dist/src/label/client.d.ts.map +1 -1
- package/dist/src/label/external.d.ts +2 -0
- package/dist/src/label/external.d.ts.map +1 -1
- package/dist/src/label/payload.d.ts +4 -46
- package/dist/src/label/payload.d.ts.map +1 -1
- package/dist/src/label/store.d.ts +8 -0
- package/dist/src/label/store.d.ts.map +1 -0
- package/dist/src/label/types.gen.d.ts +45 -0
- package/dist/src/label/types.gen.d.ts.map +1 -0
- package/dist/src/labjack/external.d.ts +2 -0
- package/dist/src/labjack/external.d.ts.map +1 -0
- package/dist/src/labjack/index.d.ts +2 -0
- package/dist/src/labjack/index.d.ts.map +1 -0
- package/dist/src/labjack/types.gen.d.ts +442 -0
- package/dist/src/labjack/types.gen.d.ts.map +1 -0
- package/dist/src/lineplot/actions.d.ts +914 -0
- package/dist/src/lineplot/actions.d.ts.map +1 -0
- package/dist/src/lineplot/actions.gen.d.ts +4208 -0
- package/dist/src/lineplot/actions.gen.d.ts.map +1 -0
- package/dist/src/lineplot/client.d.ts +66 -16
- package/dist/src/lineplot/client.d.ts.map +1 -1
- package/dist/src/lineplot/external.d.ts +3 -0
- package/dist/src/lineplot/external.d.ts.map +1 -1
- package/dist/src/lineplot/line.d.ts +16 -0
- package/dist/src/lineplot/line.d.ts.map +1 -0
- package/dist/src/lineplot/types.gen.d.ts +837 -14
- package/dist/src/lineplot/types.gen.d.ts.map +1 -1
- package/dist/src/log/actions.d.ts +271 -0
- package/dist/src/log/actions.d.ts.map +1 -0
- package/dist/src/log/actions.gen.d.ts +1529 -0
- package/dist/src/log/actions.gen.d.ts.map +1 -0
- package/dist/src/log/client.d.ts +66 -16
- package/dist/src/log/client.d.ts.map +1 -1
- package/dist/src/log/external.d.ts +2 -0
- package/dist/src/log/external.d.ts.map +1 -1
- package/dist/src/log/types.gen.d.ts +139 -14
- package/dist/src/log/types.gen.d.ts.map +1 -1
- package/dist/src/modbus/external.d.ts +2 -0
- package/dist/src/modbus/external.d.ts.map +1 -0
- package/dist/src/modbus/index.d.ts +2 -0
- package/dist/src/modbus/index.d.ts.map +1 -0
- package/dist/src/modbus/types.gen.d.ts +280 -0
- package/dist/src/modbus/types.gen.d.ts.map +1 -0
- package/dist/src/ni/external.d.ts +2 -0
- package/dist/src/ni/external.d.ts.map +1 -0
- package/dist/src/ni/index.d.ts +2 -0
- package/dist/src/ni/index.d.ts.map +1 -0
- package/dist/src/ni/types.gen.d.ts +21029 -0
- package/dist/src/ni/types.gen.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +2 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/types.gen.d.ts +4 -0
- package/dist/src/node/types.gen.d.ts.map +1 -0
- package/dist/src/ontology/client.d.ts +314 -67
- package/dist/src/ontology/client.d.ts.map +1 -1
- package/dist/src/ontology/external.d.ts +1 -0
- package/dist/src/ontology/external.d.ts.map +1 -1
- package/dist/src/ontology/payload.d.ts +60 -18
- package/dist/src/ontology/payload.d.ts.map +1 -1
- package/dist/src/ontology/store.d.ts +32 -0
- package/dist/src/ontology/store.d.ts.map +1 -0
- package/dist/src/ontology/types.gen.d.ts +3 -2
- package/dist/src/ontology/types.gen.d.ts.map +1 -1
- package/dist/src/ontology/writer.d.ts +16 -10
- package/dist/src/ontology/writer.d.ts.map +1 -1
- package/dist/src/opcua/external.d.ts +2 -0
- package/dist/src/opcua/external.d.ts.map +1 -0
- package/dist/src/opcua/index.d.ts +2 -0
- package/dist/src/opcua/index.d.ts.map +1 -0
- package/dist/src/opcua/types.gen.d.ts +82 -0
- package/dist/src/opcua/types.gen.d.ts.map +1 -0
- package/dist/src/pagerduty/external.d.ts +2 -0
- package/dist/src/pagerduty/external.d.ts.map +1 -0
- package/dist/src/pagerduty/index.d.ts +2 -0
- package/dist/src/pagerduty/index.d.ts.map +1 -0
- package/dist/src/pagerduty/types.gen.d.ts +30 -0
- package/dist/src/pagerduty/types.gen.d.ts.map +1 -0
- package/dist/src/panel/actions.d.ts +273 -0
- package/dist/src/panel/actions.d.ts.map +1 -0
- package/dist/src/panel/actions.gen.d.ts +1255 -0
- package/dist/src/panel/actions.gen.d.ts.map +1 -0
- package/dist/src/panel/client.d.ts +148 -0
- package/dist/src/panel/client.d.ts.map +1 -0
- package/dist/src/panel/external.d.ts +6 -0
- package/dist/src/panel/external.d.ts.map +1 -0
- package/dist/src/panel/index.d.ts +2 -0
- package/dist/src/panel/index.d.ts.map +1 -0
- package/dist/src/panel/tree.d.ts +50 -0
- package/dist/src/panel/tree.d.ts.map +1 -0
- package/dist/src/panel/types.gen.d.ts +370 -0
- package/dist/src/panel/types.gen.d.ts.map +1 -0
- package/dist/src/project/client.d.ts +89 -0
- package/dist/src/project/client.d.ts.map +1 -0
- package/dist/src/project/external.d.ts.map +1 -0
- package/dist/src/project/index.d.ts +2 -0
- package/dist/src/project/index.d.ts.map +1 -0
- package/dist/src/project/types.gen.d.ts +27 -0
- package/dist/src/project/types.gen.d.ts.map +1 -0
- package/dist/src/query/cache.d.ts +132 -0
- package/dist/src/query/cache.d.ts.map +1 -0
- package/dist/src/query/deleted.d.ts +20 -0
- package/dist/src/query/deleted.d.ts.map +1 -0
- package/dist/src/query/derived.d.ts +33 -0
- package/dist/src/query/derived.d.ts.map +1 -0
- package/dist/src/query/external.d.ts +10 -0
- package/dist/src/query/external.d.ts.map +1 -0
- package/dist/src/query/index.d.ts +2 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/query.d.ts +235 -0
- package/dist/src/query/query.d.ts.map +1 -0
- package/dist/src/query/retriever.d.ts +135 -0
- package/dist/src/query/retriever.d.ts.map +1 -0
- package/dist/src/query/streamer.d.ts +67 -0
- package/dist/src/query/streamer.d.ts.map +1 -0
- package/dist/src/query/table.d.ts +219 -0
- package/dist/src/query/table.d.ts.map +1 -0
- package/dist/src/query/types.d.ts +35 -0
- package/dist/src/query/types.d.ts.map +1 -0
- package/dist/src/query/write.d.ts +21 -0
- package/dist/src/query/write.d.ts.map +1 -0
- package/dist/src/rack/client.d.ts +58 -20
- package/dist/src/rack/client.d.ts.map +1 -1
- package/dist/src/rack/types.gen.d.ts +11 -12
- package/dist/src/rack/types.gen.d.ts.map +1 -1
- package/dist/src/range/alias/types.gen.d.ts +2 -3
- package/dist/src/range/alias/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/client.d.ts +138 -27
- package/dist/src/ranger/client.d.ts.map +1 -1
- package/dist/src/ranger/kv/client.d.ts +7 -4
- package/dist/src/ranger/kv/client.d.ts.map +1 -1
- package/dist/src/ranger/payload.d.ts +3 -0
- package/dist/src/ranger/payload.d.ts.map +1 -1
- package/dist/src/ranger/types.gen.d.ts +45 -101
- package/dist/src/ranger/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/writer.d.ts +2 -74
- package/dist/src/ranger/writer.d.ts.map +1 -1
- package/dist/src/schematic/actions.d.ts +90 -33
- package/dist/src/schematic/actions.d.ts.map +1 -1
- package/dist/src/schematic/actions.gen.d.ts +207 -114
- package/dist/src/schematic/actions.gen.d.ts.map +1 -1
- package/dist/src/schematic/client.d.ts +70 -68
- package/dist/src/schematic/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/client.d.ts +133 -27
- package/dist/src/schematic/symbol/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/types.gen.d.ts +258 -153
- package/dist/src/schematic/symbol/types.gen.d.ts.map +1 -1
- package/dist/src/schematic/types.gen.d.ts +17 -96
- package/dist/src/schematic/types.gen.d.ts.map +1 -1
- package/dist/src/status/client.d.ts +69 -14
- package/dist/src/status/client.d.ts.map +1 -1
- package/dist/src/status/external.d.ts +2 -0
- package/dist/src/status/external.d.ts.map +1 -1
- package/dist/src/status/payload.d.ts +2 -36
- package/dist/src/status/payload.d.ts.map +1 -1
- package/dist/src/status/status.d.ts +65 -0
- package/dist/src/status/status.d.ts.map +1 -0
- package/dist/src/status/types.gen.d.ts +58 -0
- package/dist/src/status/types.gen.d.ts.map +1 -0
- package/dist/src/table/actions.d.ts +72 -13
- package/dist/src/table/actions.d.ts.map +1 -1
- package/dist/src/table/actions.gen.d.ts +221 -137
- package/dist/src/table/actions.gen.d.ts.map +1 -1
- package/dist/src/table/client.d.ts +64 -40
- package/dist/src/table/client.d.ts.map +1 -1
- package/dist/src/table/types.gen.d.ts +20 -55
- package/dist/src/table/types.gen.d.ts.map +1 -1
- package/dist/src/task/client.d.ts +149 -28
- package/dist/src/task/client.d.ts.map +1 -1
- package/dist/src/task/types.gen.d.ts +71 -89
- package/dist/src/task/types.gen.d.ts.map +1 -1
- package/dist/src/testutil/access.d.ts +27 -1
- package/dist/src/testutil/access.d.ts.map +1 -1
- package/dist/src/testutil/channels.d.ts +2 -0
- package/dist/src/testutil/channels.d.ts.map +1 -1
- package/dist/src/testutil/client.d.ts +5 -0
- package/dist/src/testutil/client.d.ts.map +1 -1
- package/dist/src/testutil/connection.d.ts +10 -0
- package/dist/src/testutil/connection.d.ts.map +1 -0
- package/dist/src/testutil/index.d.ts +9 -0
- package/dist/src/testutil/index.d.ts.map +1 -0
- package/dist/src/testutil/panels.d.ts +8 -0
- package/dist/src/testutil/panels.d.ts.map +1 -0
- package/dist/src/testutil/proxy.d.ts +29 -0
- package/dist/src/testutil/proxy.d.ts.map +1 -0
- package/dist/src/testutil/query.d.ts +7 -0
- package/dist/src/testutil/query.d.ts.map +1 -0
- package/dist/src/testutil/telem.d.ts +4 -0
- package/dist/src/testutil/telem.d.ts.map +1 -1
- package/dist/src/transport.d.ts +10 -4
- package/dist/src/transport.d.ts.map +1 -1
- package/dist/src/user/client.d.ts +29 -28
- package/dist/src/user/client.d.ts.map +1 -1
- package/dist/src/user/external.d.ts +1 -1
- package/dist/src/user/external.d.ts.map +1 -1
- package/dist/src/user/types.gen.d.ts +4 -4
- package/dist/src/util/retrieve.d.ts +2 -2
- package/dist/src/util/retrieve.d.ts.map +1 -1
- package/dist/src/util/telem.d.ts.map +1 -1
- package/dist/src/view/client.d.ts +30 -14
- package/dist/src/view/client.d.ts.map +1 -1
- package/dist/src/view/types.gen.d.ts +7 -15
- package/dist/src/view/types.gen.d.ts.map +1 -1
- package/dist/testutil.js +189 -0
- package/dist/testutil.js.map +1 -0
- package/package.json +39 -16
- package/src/access/client.ts +14 -3
- package/src/access/enforce.ts +0 -3
- package/src/access/external.ts +1 -0
- package/src/access/granted.ts +114 -0
- package/src/access/policy/client.ts +135 -43
- package/src/access/policy/types.gen.ts +9 -11
- package/src/access/role/client.ts +160 -38
- package/src/access/role/types.gen.ts +8 -12
- package/src/actions/actions.ts +5 -6
- package/src/actions/controller.ts +626 -0
- package/src/actions/external.ts +11 -0
- package/src/arc/actions.gen.ts +313 -0
- package/src/arc/actions.ts +192 -0
- package/src/arc/client.ts +424 -41
- package/src/arc/compiler/types.gen.ts +5 -6
- package/src/arc/external.ts +2 -0
- package/src/arc/graph/types.gen.ts +24 -22
- package/src/arc/ir/index.ts +1 -1
- package/{eslint.config.ts → src/arc/ir/ir.ts} +1 -4
- package/src/arc/ir/types.gen.ts +42 -41
- package/src/arc/text/types.gen.ts +21 -2
- package/src/arc/types/types.gen.ts +40 -32
- package/src/arc/types.gen.ts +31 -29
- package/src/auth/auth.ts +40 -8
- package/src/channel/client.ts +529 -132
- package/src/channel/external.ts +0 -1
- package/src/channel/payload.ts +30 -3
- package/src/channel/types.gen.ts +37 -48
- package/src/channel/writer.ts +2 -11
- package/src/client.ts +215 -91
- package/src/connection/client.ts +495 -0
- package/src/connection/external.ts +34 -0
- package/src/connection/index.ts +1 -1
- package/src/connection/status.ts +442 -0
- package/src/control/client.ts +84 -12
- package/src/control/state.ts +17 -36
- package/src/device/client.ts +293 -41
- package/src/device/types.gen.ts +15 -26
- package/src/errors.ts +45 -22
- package/src/{workspace → ethercat}/external.ts +1 -2
- package/src/{workspace → ethercat}/index.ts +1 -1
- package/src/ethercat/types.gen.ts +151 -0
- package/src/framer/adapter.ts +60 -37
- package/src/framer/benchutil.ts +67 -0
- package/src/framer/cache/cache.ts +115 -0
- package/src/framer/cache/dynamic.ts +340 -0
- package/src/framer/cache/reader.ts +231 -0
- package/src/framer/cache/static.ts +215 -0
- package/src/framer/cache/streamer.ts +391 -0
- package/src/framer/cache/transform.ts +31 -0
- package/src/framer/cache/unary.ts +108 -0
- package/src/framer/client.ts +71 -43
- package/src/framer/codec.ts +55 -18
- package/src/framer/deleter.ts +4 -6
- package/src/framer/external.ts +10 -0
- package/src/framer/feed.ts +108 -0
- package/src/framer/frame.ts +13 -23
- package/src/framer/hardened.ts +283 -0
- package/src/framer/iterator.ts +31 -42
- package/src/framer/reader.ts +11 -11
- package/src/framer/streamer.ts +18 -178
- package/src/framer/writer.ts +39 -59
- package/src/group/client.ts +158 -23
- package/src/http/external.ts +10 -0
- package/src/{cluster → http}/index.ts +1 -1
- package/src/http/types.gen.ts +245 -0
- package/src/imex/client.ts +125 -0
- package/src/imex/index.ts +10 -0
- package/src/index.ts +19 -6
- package/src/label/client.ts +193 -54
- package/src/label/external.ts +2 -0
- package/src/label/payload.ts +4 -9
- package/src/label/store.ts +28 -0
- package/src/label/types.gen.ts +31 -0
- package/src/labjack/external.ts +10 -0
- package/src/labjack/index.ts +10 -0
- package/src/labjack/types.gen.ts +251 -0
- package/src/lineplot/actions.gen.ts +880 -0
- package/src/lineplot/actions.ts +535 -0
- package/src/lineplot/client.ts +224 -52
- package/src/lineplot/external.ts +3 -0
- package/src/lineplot/line.ts +80 -0
- package/src/lineplot/types.gen.ts +225 -12
- package/src/log/actions.gen.ts +474 -0
- package/src/log/actions.ts +242 -0
- package/src/log/client.ts +223 -52
- package/src/log/external.ts +2 -0
- package/src/log/types.gen.ts +45 -14
- package/src/modbus/external.ts +10 -0
- package/src/modbus/index.ts +10 -0
- package/src/modbus/types.gen.ts +185 -0
- package/src/ni/external.ts +10 -0
- package/src/ni/index.ts +10 -0
- package/src/ni/types.gen.ts +1632 -0
- package/src/node/index.ts +10 -0
- package/src/{cluster → node}/types.gen.ts +2 -2
- package/src/ontology/client.ts +408 -99
- package/src/ontology/external.ts +7 -0
- package/src/ontology/payload.ts +48 -7
- package/src/ontology/store.ts +83 -0
- package/src/ontology/types.gen.ts +2 -1
- package/src/ontology/writer.ts +1 -0
- package/src/opcua/external.ts +10 -0
- package/src/opcua/index.ts +10 -0
- package/src/opcua/types.gen.ts +65 -0
- package/src/pagerduty/external.ts +10 -0
- package/src/pagerduty/index.ts +10 -0
- package/src/pagerduty/types.gen.ts +41 -0
- package/src/panel/actions.gen.ts +267 -0
- package/src/panel/actions.ts +357 -0
- package/src/panel/client.ts +327 -0
- package/src/panel/external.ts +14 -0
- package/src/panel/index.ts +10 -0
- package/src/panel/tree.ts +163 -0
- package/src/panel/types.gen.ts +164 -0
- package/src/project/client.ts +273 -0
- package/src/project/external.ts +11 -0
- package/src/project/index.ts +10 -0
- package/src/project/types.gen.ts +40 -0
- package/src/query/cache.ts +326 -0
- package/src/query/deleted.ts +38 -0
- package/src/query/derived.ts +101 -0
- package/src/query/external.ts +51 -0
- package/src/query/index.ts +10 -0
- package/src/query/query.ts +865 -0
- package/src/query/retriever.ts +308 -0
- package/src/query/streamer.ts +207 -0
- package/src/query/table.ts +625 -0
- package/src/query/types.ts +54 -0
- package/src/query/write.ts +42 -0
- package/src/rack/client.ts +233 -45
- package/src/rack/types.gen.ts +15 -16
- package/src/range/alias/types.gen.ts +2 -3
- package/src/ranger/client.ts +581 -70
- package/src/ranger/kv/client.ts +52 -21
- package/src/ranger/payload.ts +3 -0
- package/src/ranger/types.gen.ts +21 -23
- package/src/ranger/writer.ts +4 -8
- package/src/schematic/actions.gen.ts +62 -53
- package/src/schematic/actions.ts +44 -42
- package/src/schematic/client.ts +226 -70
- package/src/schematic/symbol/client.ts +277 -48
- package/src/schematic/symbol/types.gen.ts +22 -34
- package/src/schematic/types.gen.ts +22 -29
- package/src/status/client.ts +321 -44
- package/src/status/external.ts +2 -0
- package/src/status/payload.ts +1 -23
- package/src/status/status.ts +241 -0
- package/src/status/types.gen.ts +108 -0
- package/src/table/actions.gen.ts +96 -63
- package/src/table/actions.ts +44 -19
- package/src/table/client.ts +220 -56
- package/src/table/types.gen.ts +24 -31
- package/src/task/client.ts +580 -101
- package/src/task/types.gen.ts +68 -75
- package/src/testutil/access.ts +102 -6
- package/src/testutil/channels.ts +29 -0
- package/src/testutil/client.ts +27 -2
- package/src/testutil/connection.ts +47 -0
- package/src/testutil/index.ts +17 -0
- package/src/testutil/panels.ts +26 -0
- package/src/testutil/proxy.ts +106 -0
- package/src/testutil/query.ts +28 -0
- package/src/testutil/telem.ts +17 -1
- package/src/transport.ts +18 -7
- package/src/user/client.ts +165 -64
- package/src/user/external.ts +1 -1
- package/src/user/types.gen.ts +5 -5
- package/src/util/retrieve.ts +4 -4
- package/src/util/telem.ts +0 -1
- package/src/view/client.ts +120 -37
- package/src/view/types.gen.ts +8 -11
- package/.turbo/turbo-build.log +0 -20
- package/.vscode/settings.json +0 -3
- package/CONTRIBUTING.md +0 -47
- package/dist/client.cjs +0 -118
- package/dist/eslint.config.d.ts +0 -4
- package/dist/eslint.config.d.ts.map +0 -1
- package/dist/src/access/enforce.spec.d.ts +0 -2
- package/dist/src/access/enforce.spec.d.ts.map +0 -1
- package/dist/src/access/policy/access.spec.d.ts +0 -2
- package/dist/src/access/policy/access.spec.d.ts.map +0 -1
- package/dist/src/access/role/role.spec.d.ts +0 -2
- package/dist/src/access/role/role.spec.d.ts.map +0 -1
- package/dist/src/actions/actions.spec.d.ts +0 -2
- package/dist/src/actions/actions.spec.d.ts.map +0 -1
- package/dist/src/arc/access.spec.d.ts +0 -2
- package/dist/src/arc/access.spec.d.ts.map +0 -1
- package/dist/src/arc/arc.spec.d.ts +0 -2
- package/dist/src/arc/arc.spec.d.ts.map +0 -1
- package/dist/src/arc/lsp.spec.d.ts +0 -2
- package/dist/src/arc/lsp.spec.d.ts.map +0 -1
- package/dist/src/auth/auth.spec.d.ts +0 -2
- package/dist/src/auth/auth.spec.d.ts.map +0 -1
- package/dist/src/channel/access.spec.d.ts +0 -2
- package/dist/src/channel/access.spec.d.ts.map +0 -1
- package/dist/src/channel/batchRetriever.spec.d.ts +0 -2
- package/dist/src/channel/batchRetriever.spec.d.ts.map +0 -1
- package/dist/src/channel/channel.spec.d.ts +0 -2
- package/dist/src/channel/channel.spec.d.ts.map +0 -1
- package/dist/src/channel/payload.spec.d.ts +0 -2
- package/dist/src/channel/payload.spec.d.ts.map +0 -1
- package/dist/src/channel/retriever.d.ts +0 -64
- package/dist/src/channel/retriever.d.ts.map +0 -1
- package/dist/src/cluster/index.d.ts +0 -2
- package/dist/src/cluster/index.d.ts.map +0 -1
- package/dist/src/cluster/types.gen.d.ts +0 -4
- package/dist/src/cluster/types.gen.d.ts.map +0 -1
- package/dist/src/connection/checker.d.ts +0 -86
- package/dist/src/connection/checker.d.ts.map +0 -1
- package/dist/src/connection/connection.spec.d.ts +0 -2
- package/dist/src/connection/connection.spec.d.ts.map +0 -1
- package/dist/src/connection.spec.d.ts +0 -2
- package/dist/src/connection.spec.d.ts.map +0 -1
- package/dist/src/control/state.spec.d.ts +0 -2
- package/dist/src/control/state.spec.d.ts.map +0 -1
- package/dist/src/device/access.spec.d.ts +0 -2
- package/dist/src/device/access.spec.d.ts.map +0 -1
- package/dist/src/device/device.spec.d.ts +0 -2
- package/dist/src/device/device.spec.d.ts.map +0 -1
- package/dist/src/device/payload.spec.d.ts +0 -2
- package/dist/src/device/payload.spec.d.ts.map +0 -1
- package/dist/src/errors.spec.d.ts +0 -2
- package/dist/src/errors.spec.d.ts.map +0 -1
- package/dist/src/framer/adapter.spec.d.ts +0 -2
- package/dist/src/framer/adapter.spec.d.ts.map +0 -1
- package/dist/src/framer/client.spec.d.ts +0 -2
- package/dist/src/framer/client.spec.d.ts.map +0 -1
- package/dist/src/framer/codec.spec.d.ts +0 -2
- package/dist/src/framer/codec.spec.d.ts.map +0 -1
- package/dist/src/framer/deleter.spec.d.ts +0 -2
- package/dist/src/framer/deleter.spec.d.ts.map +0 -1
- package/dist/src/framer/frame.spec.d.ts +0 -2
- package/dist/src/framer/frame.spec.d.ts.map +0 -1
- package/dist/src/framer/iterator.spec.d.ts +0 -2
- package/dist/src/framer/iterator.spec.d.ts.map +0 -1
- package/dist/src/framer/reader.spec.d.ts +0 -2
- package/dist/src/framer/reader.spec.d.ts.map +0 -1
- package/dist/src/framer/streamer.spec.d.ts +0 -2
- package/dist/src/framer/streamer.spec.d.ts.map +0 -1
- package/dist/src/framer/writer.spec.d.ts +0 -2
- package/dist/src/framer/writer.spec.d.ts.map +0 -1
- package/dist/src/group/access.spec.d.ts +0 -2
- package/dist/src/group/access.spec.d.ts.map +0 -1
- package/dist/src/group/group.spec.d.ts +0 -2
- package/dist/src/group/group.spec.d.ts.map +0 -1
- package/dist/src/label/access.spec.d.ts +0 -2
- package/dist/src/label/access.spec.d.ts.map +0 -1
- package/dist/src/label/label.spec.d.ts +0 -2
- package/dist/src/label/label.spec.d.ts.map +0 -1
- package/dist/src/lineplot/access.spec.d.ts +0 -2
- package/dist/src/lineplot/access.spec.d.ts.map +0 -1
- package/dist/src/lineplot/lineplot.spec.d.ts +0 -2
- package/dist/src/lineplot/lineplot.spec.d.ts.map +0 -1
- package/dist/src/log/access.spec.d.ts +0 -2
- package/dist/src/log/access.spec.d.ts.map +0 -1
- package/dist/src/log/log.spec.d.ts +0 -2
- package/dist/src/log/log.spec.d.ts.map +0 -1
- package/dist/src/ontology/ontology.spec.d.ts +0 -2
- package/dist/src/ontology/ontology.spec.d.ts.map +0 -1
- package/dist/src/rack/access.spec.d.ts +0 -2
- package/dist/src/rack/access.spec.d.ts.map +0 -1
- package/dist/src/rack/rack.spec.d.ts +0 -2
- package/dist/src/rack/rack.spec.d.ts.map +0 -1
- package/dist/src/ranger/access.spec.d.ts +0 -2
- package/dist/src/ranger/access.spec.d.ts.map +0 -1
- package/dist/src/ranger/alias/payload.spec.d.ts +0 -2
- package/dist/src/ranger/alias/payload.spec.d.ts.map +0 -1
- package/dist/src/ranger/ranger.spec.d.ts +0 -2
- package/dist/src/ranger/ranger.spec.d.ts.map +0 -1
- package/dist/src/schematic/access.spec.d.ts +0 -2
- package/dist/src/schematic/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/actions.spec.d.ts +0 -2
- package/dist/src/schematic/actions.spec.d.ts.map +0 -1
- package/dist/src/schematic/schematic.spec.d.ts +0 -2
- package/dist/src/schematic/schematic.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/access.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/client.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/client.spec.d.ts.map +0 -1
- package/dist/src/status/access.spec.d.ts +0 -2
- package/dist/src/status/access.spec.d.ts.map +0 -1
- package/dist/src/status/status.spec.d.ts +0 -2
- package/dist/src/status/status.spec.d.ts.map +0 -1
- package/dist/src/table/access.spec.d.ts +0 -2
- package/dist/src/table/access.spec.d.ts.map +0 -1
- package/dist/src/table/table.spec.d.ts +0 -2
- package/dist/src/table/table.spec.d.ts.map +0 -1
- package/dist/src/task/access.spec.d.ts +0 -2
- package/dist/src/task/access.spec.d.ts.map +0 -1
- package/dist/src/task/payload.spec.d.ts +0 -2
- package/dist/src/task/payload.spec.d.ts.map +0 -1
- package/dist/src/task/task.spec.d.ts +0 -2
- package/dist/src/task/task.spec.d.ts.map +0 -1
- package/dist/src/user/access.spec.d.ts +0 -2
- package/dist/src/user/access.spec.d.ts.map +0 -1
- package/dist/src/user/user.spec.d.ts +0 -2
- package/dist/src/user/user.spec.d.ts.map +0 -1
- package/dist/src/util/retrieve.spec.d.ts +0 -2
- package/dist/src/util/retrieve.spec.d.ts.map +0 -1
- package/dist/src/view/view.spec.d.ts +0 -2
- package/dist/src/view/view.spec.d.ts.map +0 -1
- package/dist/src/workspace/access.spec.d.ts +0 -2
- package/dist/src/workspace/access.spec.d.ts.map +0 -1
- package/dist/src/workspace/client.d.ts +0 -36
- package/dist/src/workspace/client.d.ts.map +0 -1
- package/dist/src/workspace/external.d.ts.map +0 -1
- package/dist/src/workspace/index.d.ts +0 -2
- package/dist/src/workspace/index.d.ts.map +0 -1
- package/dist/src/workspace/types.gen.d.ts +0 -34
- package/dist/src/workspace/types.gen.d.ts.map +0 -1
- package/dist/src/workspace/workspace.spec.d.ts +0 -2
- package/dist/src/workspace/workspace.spec.d.ts.map +0 -1
- package/examples/node/basicReadWrite.js +0 -86
- package/examples/node/createChannels.js +0 -50
- package/examples/node/createRange.js +0 -67
- package/examples/node/package-lock.json +0 -133
- package/examples/node/package.json +0 -17
- package/examples/node/readLatest.js +0 -76
- package/examples/node/seriesAndFrames.js +0 -173
- package/examples/node/streamRead.js +0 -50
- package/examples/node/streamWrite.js +0 -87
- package/src/access/enforce.spec.ts +0 -188
- package/src/access/policy/access.spec.ts +0 -147
- package/src/access/role/role.spec.ts +0 -95
- package/src/actions/actions.spec.ts +0 -229
- package/src/arc/access.spec.ts +0 -149
- package/src/arc/arc.spec.ts +0 -44
- package/src/arc/lsp.spec.ts +0 -717
- package/src/auth/auth.spec.ts +0 -101
- package/src/channel/access.spec.ts +0 -116
- package/src/channel/batchRetriever.spec.ts +0 -115
- package/src/channel/channel.spec.ts +0 -352
- package/src/channel/payload.spec.ts +0 -117
- package/src/channel/retriever.ts +0 -252
- package/src/connection/checker.ts +0 -203
- package/src/connection/connection.spec.ts +0 -152
- package/src/connection.spec.ts +0 -145
- package/src/control/state.spec.ts +0 -22
- package/src/device/access.spec.ts +0 -159
- package/src/device/device.spec.ts +0 -461
- package/src/device/payload.spec.ts +0 -142
- package/src/errors.spec.ts +0 -71
- package/src/framer/adapter.spec.ts +0 -620
- package/src/framer/client.spec.ts +0 -180
- package/src/framer/codec.spec.ts +0 -383
- package/src/framer/deleter.spec.ts +0 -103
- package/src/framer/frame.spec.ts +0 -973
- package/src/framer/iterator.spec.ts +0 -169
- package/src/framer/reader.spec.ts +0 -865
- package/src/framer/streamer.spec.ts +0 -871
- package/src/framer/writer.spec.ts +0 -486
- package/src/group/access.spec.ts +0 -77
- package/src/group/group.spec.ts +0 -65
- package/src/label/access.spec.ts +0 -109
- package/src/label/label.spec.ts +0 -83
- package/src/lineplot/access.spec.ts +0 -134
- package/src/lineplot/lineplot.spec.ts +0 -120
- package/src/log/access.spec.ts +0 -132
- package/src/log/log.spec.ts +0 -106
- package/src/ontology/ontology.spec.ts +0 -521
- package/src/rack/access.spec.ts +0 -102
- package/src/rack/rack.spec.ts +0 -171
- package/src/ranger/access.spec.ts +0 -115
- package/src/ranger/alias/payload.spec.ts +0 -52
- package/src/ranger/ranger.spec.ts +0 -343
- package/src/schematic/access.spec.ts +0 -134
- package/src/schematic/actions.spec.ts +0 -699
- package/src/schematic/schematic.spec.ts +0 -340
- package/src/schematic/symbol/access.spec.ts +0 -172
- package/src/schematic/symbol/client.spec.ts +0 -160
- package/src/status/access.spec.ts +0 -129
- package/src/status/status.spec.ts +0 -448
- package/src/table/access.spec.ts +0 -128
- package/src/table/table.spec.ts +0 -651
- package/src/task/access.spec.ts +0 -131
- package/src/task/payload.spec.ts +0 -113
- package/src/task/task.spec.ts +0 -657
- package/src/user/access.spec.ts +0 -107
- package/src/user/user.spec.ts +0 -290
- package/src/util/retrieve.spec.ts +0 -49
- package/src/view/view.spec.ts +0 -165
- package/src/workspace/access.spec.ts +0 -108
- package/src/workspace/client.ts +0 -112
- package/src/workspace/types.gen.ts +0 -46
- package/src/workspace/workspace.spec.ts +0 -111
- package/tsconfig.json +0 -5
- package/tsconfig.vite.json +0 -4
- package/vite.config.ts +0 -29
- /package/dist/src/{workspace → project}/external.d.ts +0 -0
|
@@ -7,114 +7,291 @@
|
|
|
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
|
-
import {
|
|
11
|
-
|
|
10
|
+
import {
|
|
11
|
+
type FileTransport,
|
|
12
|
+
type UnaryClient,
|
|
13
|
+
type UploadBody,
|
|
14
|
+
} from "@synnaxlabs/freighter";
|
|
15
|
+
import { array, primitive } from "@synnaxlabs/x";
|
|
12
16
|
import { z } from "zod";
|
|
13
17
|
|
|
14
18
|
import { group } from "@/group";
|
|
19
|
+
import { imex } from "@/imex";
|
|
15
20
|
import { ontology } from "@/ontology";
|
|
21
|
+
import { query } from "@/query";
|
|
16
22
|
import {
|
|
17
23
|
type Key,
|
|
18
24
|
keyZ,
|
|
19
25
|
type New,
|
|
20
|
-
|
|
26
|
+
ontologyID,
|
|
21
27
|
type Symbol,
|
|
22
28
|
symbolZ,
|
|
23
29
|
} from "@/schematic/symbol/types.gen";
|
|
24
|
-
import { checkForMultipleOrNoResults } from "@/util/retrieve";
|
|
25
30
|
|
|
26
|
-
const
|
|
31
|
+
export const SET_CHANNEL_NAME = "sy_schematic_symbol_set";
|
|
32
|
+
export const DELETE_CHANNEL_NAME = "sy_schematic_symbol_delete";
|
|
33
|
+
|
|
34
|
+
const createReqZ = z.object({ symbols: symbolZ.array(), parent: ontology.idZ });
|
|
27
35
|
const renameReqZ = z.object({ key: keyZ, name: z.string() });
|
|
28
36
|
const deleteReqZ = z.object({ keys: keyZ.array() });
|
|
29
37
|
|
|
30
|
-
|
|
38
|
+
// The server only understands keys and searchTerm; parent scoping is resolved
|
|
39
|
+
// client-side through the ontology, so it never reaches the wire.
|
|
40
|
+
const wireRetrieveRequestZ = z.object({
|
|
31
41
|
keys: keyZ.array().optional(),
|
|
32
42
|
searchTerm: z.string().optional(),
|
|
33
43
|
});
|
|
34
44
|
|
|
35
|
-
const
|
|
45
|
+
const retrieveRequestZ = wireRetrieveRequestZ.extend({
|
|
46
|
+
parent: ontology.idZ.optional(),
|
|
47
|
+
});
|
|
48
|
+
const retrieveMultiParamsZ = retrieveRequestZ.or(query.keyListZ(keyZ));
|
|
49
|
+
|
|
50
|
+
const singleRetrieveParamsZ = z
|
|
36
51
|
.object({ key: keyZ })
|
|
37
52
|
.transform(({ key }) => ({ keys: [key] }));
|
|
38
53
|
|
|
39
|
-
const
|
|
54
|
+
const retrieveParamsZ = z.union([singleRetrieveParamsZ, wireRetrieveRequestZ]);
|
|
40
55
|
|
|
41
|
-
export type
|
|
42
|
-
export type RetrieveSingleParams = z.input<typeof singleRetrieveArgsZ>;
|
|
56
|
+
export type RetrieveSingleParams = z.input<typeof singleRetrieveParamsZ>;
|
|
43
57
|
export type RetrieveMultipleParams = z.input<typeof retrieveRequestZ>;
|
|
58
|
+
export type RetrieveParams = RetrieveSingleParams | RetrieveMultipleParams;
|
|
59
|
+
|
|
60
|
+
interface RetrieveRequest extends z.infer<typeof retrieveRequestZ> {}
|
|
44
61
|
|
|
45
|
-
const retrieveResZ = z.object({ symbols: array.
|
|
62
|
+
const retrieveResZ = z.object({ symbols: symbolZ.array().default(() => []) });
|
|
46
63
|
const createResZ = z.object({ symbols: symbolZ.array() });
|
|
47
64
|
const emptyResZ = z.object({});
|
|
48
65
|
const retrieveGroupReqZ = z.object({});
|
|
49
66
|
const retrieveGroupResZ = z.object({ group: group.groupZ });
|
|
67
|
+
const exportGroupReqZ = z.object({ key: group.keyZ, encoding: imex.encodingZ });
|
|
68
|
+
const importGroupResZ = z.object({ group: group.groupZ });
|
|
69
|
+
const deleteGroupReqZ = z.object({ key: group.keyZ });
|
|
50
70
|
|
|
51
|
-
export
|
|
52
|
-
export const DELETE_CHANNEL_NAME = "sy_schematic_symbol_delete";
|
|
53
|
-
|
|
54
|
-
export interface CreateArgs extends New {
|
|
71
|
+
export interface CreateParams extends New {
|
|
55
72
|
parent: ontology.ID;
|
|
56
73
|
}
|
|
57
74
|
|
|
58
|
-
export interface
|
|
75
|
+
export interface CreateMultipleParams {
|
|
59
76
|
symbols: New[];
|
|
60
77
|
parent: ontology.ID;
|
|
61
78
|
}
|
|
62
79
|
|
|
63
|
-
|
|
64
|
-
|
|
80
|
+
/** Query fields only the server can evaluate. */
|
|
81
|
+
const SERVER_FIELDS = ["searchTerm"] as const;
|
|
65
82
|
|
|
66
|
-
|
|
67
|
-
|
|
83
|
+
const childRel = (parent: ontology.ID, key: Key): ontology.Relationship => ({
|
|
84
|
+
from: parent,
|
|
85
|
+
type: ontology.PARENT_OF_RELATIONSHIP_TYPE,
|
|
86
|
+
to: ontologyID(key),
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const matchChildRel = (rel: ontology.Relationship, parent: ontology.ID): boolean =>
|
|
90
|
+
ontology.matchRelationship(rel, {
|
|
91
|
+
from: parent,
|
|
92
|
+
type: ontology.PARENT_OF_RELATIONSHIP_TYPE,
|
|
93
|
+
to: { type: "schematic_symbol" },
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
export interface ClientConfig {
|
|
97
|
+
unary: UnaryClient;
|
|
98
|
+
file: FileTransport;
|
|
99
|
+
ontology: ontology.Client;
|
|
100
|
+
cache: query.Cache;
|
|
101
|
+
groupStore: query.Table<group.Key, group.Group>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export class Client extends query.Retriever<typeof retrieveMultiParamsZ, Key, Symbol> {
|
|
105
|
+
private readonly cfg: ClientConfig;
|
|
106
|
+
private readonly store: query.Table<Key, Symbol>;
|
|
107
|
+
|
|
108
|
+
constructor(cfg: ClientConfig) {
|
|
109
|
+
const { cache, ontology: ontologyClient } = cfg;
|
|
110
|
+
const store = cache.createTable<Key, Symbol>({
|
|
111
|
+
name: "schematicSymbols",
|
|
112
|
+
fetch: async (keys) => await this.execRetrieve({ keys }),
|
|
113
|
+
listen: [
|
|
114
|
+
query.createSetListener(SET_CHANNEL_NAME, symbolZ),
|
|
115
|
+
query.createDeleteListener(DELETE_CHANNEL_NAME, keyZ),
|
|
116
|
+
],
|
|
117
|
+
});
|
|
118
|
+
super(cache, {
|
|
119
|
+
name: "schematic symbol",
|
|
120
|
+
table: store,
|
|
121
|
+
request: {
|
|
122
|
+
schema: retrieveMultiParamsZ,
|
|
123
|
+
fetch: async (req) => await this.fetchRequest(req),
|
|
124
|
+
matches: (sym, req) => this.requestFilter(req)(sym),
|
|
125
|
+
serverFields: SERVER_FIELDS,
|
|
126
|
+
watch: [
|
|
127
|
+
query.watch(
|
|
128
|
+
ontologyClient.cache.relationships,
|
|
129
|
+
(event, req: RetrieveRequest) => {
|
|
130
|
+
if (req.parent == null) return null;
|
|
131
|
+
const rel =
|
|
132
|
+
event.variant === "set"
|
|
133
|
+
? event.value
|
|
134
|
+
: ontology.relationshipZ.parse(event.key);
|
|
135
|
+
if (!matchChildRel(rel, req.parent)) return null;
|
|
136
|
+
return [rel.to.key];
|
|
137
|
+
},
|
|
138
|
+
),
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
this.cfg = cfg;
|
|
143
|
+
this.store = store;
|
|
68
144
|
}
|
|
69
145
|
|
|
70
|
-
async create(options:
|
|
71
|
-
async create(options:
|
|
72
|
-
async create(
|
|
146
|
+
async create(options: CreateParams): Promise<Symbol>;
|
|
147
|
+
async create(options: CreateMultipleParams): Promise<Symbol[]>;
|
|
148
|
+
async create(
|
|
149
|
+
options: CreateParams | CreateMultipleParams,
|
|
150
|
+
): Promise<Symbol | Symbol[]> {
|
|
73
151
|
const isMany = "symbols" in options;
|
|
74
152
|
const symbols = isMany ? options.symbols : [options];
|
|
75
|
-
const res = await this.
|
|
153
|
+
const res = await this.cfg.unary.send(
|
|
76
154
|
"/schematic/symbol/create",
|
|
77
155
|
{ symbols, parent: options.parent },
|
|
78
156
|
createReqZ,
|
|
79
157
|
createResZ,
|
|
80
158
|
);
|
|
159
|
+
// Relationships first: parent-scoped answers check membership when the
|
|
160
|
+
// symbol write lands.
|
|
161
|
+
const rels = this.cfg.ontology.cache.relationships;
|
|
162
|
+
res.symbols.forEach((s) => {
|
|
163
|
+
const rel = childRel(options.parent, s.key);
|
|
164
|
+
rels.set(ontology.relationshipToString(rel), rel);
|
|
165
|
+
});
|
|
166
|
+
this.store.set(res.symbols);
|
|
81
167
|
return isMany ? res.symbols : res.symbols[0];
|
|
82
168
|
}
|
|
83
169
|
|
|
84
|
-
async rename(key: Key, name: string): Promise<void> {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
170
|
+
async rename(key: Key, name: string, opts: query.WriteOptions = {}): Promise<void> {
|
|
171
|
+
const rename = () => query.partialUpdate(this.store, key, { name });
|
|
172
|
+
await query.optimistic({
|
|
173
|
+
rollbacks: [rename()],
|
|
174
|
+
onOptimistic: opts.onOptimistic,
|
|
175
|
+
commit: async () =>
|
|
176
|
+
await this.cfg.unary.send(
|
|
177
|
+
"/schematic/symbol/rename",
|
|
178
|
+
{ key, name },
|
|
179
|
+
renameReqZ,
|
|
180
|
+
emptyResZ,
|
|
181
|
+
),
|
|
182
|
+
});
|
|
183
|
+
rename();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
async delete(keys: Key | Key[], opts: query.WriteOptions = {}): Promise<void> {
|
|
187
|
+
const keysArr = array.toArray(keys);
|
|
188
|
+
const drop = () => this.store.delete(keysArr);
|
|
189
|
+
await query.optimistic({
|
|
190
|
+
rollbacks: [drop()],
|
|
191
|
+
onOptimistic: opts.onOptimistic,
|
|
192
|
+
commit: async () =>
|
|
193
|
+
await this.cfg.unary.send(
|
|
194
|
+
"/schematic/symbol/delete",
|
|
195
|
+
{ keys: keysArr },
|
|
196
|
+
deleteReqZ,
|
|
197
|
+
emptyResZ,
|
|
198
|
+
),
|
|
199
|
+
});
|
|
200
|
+
drop();
|
|
201
|
+
this.cfg.ontology.cache.relationships.delete(
|
|
202
|
+
(r) =>
|
|
203
|
+
r.type === ontology.PARENT_OF_RELATIONSHIP_TYPE &&
|
|
204
|
+
r.to.type === "schematic_symbol" &&
|
|
205
|
+
keysArr.includes(r.to.key),
|
|
90
206
|
);
|
|
91
207
|
}
|
|
92
208
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Exports every symbol in the group as a bundle: a zip archive holding one JSON file
|
|
211
|
+
* per symbol beside a manifest.json naming the group. Two symbols that take the same
|
|
212
|
+
* file name keep distinct names through a numeric suffix, and children that are not
|
|
213
|
+
* symbols are skipped. The caller pipes the stream wherever it likes without the
|
|
214
|
+
* client buffering the whole archive.
|
|
215
|
+
* @param options - the export options, including the serialization member files are
|
|
216
|
+
* written in.
|
|
217
|
+
* @returns the bundle as a stream of zip bytes.
|
|
218
|
+
*/
|
|
219
|
+
async exportGroup(
|
|
220
|
+
key: group.Key,
|
|
221
|
+
options: imex.Options,
|
|
222
|
+
): Promise<ReadableStream<Uint8Array>> {
|
|
223
|
+
return await this.cfg.file.download(
|
|
224
|
+
"/schematic/symbol/group/export",
|
|
225
|
+
{ key, encoding: options.encoding },
|
|
226
|
+
exportGroupReqZ,
|
|
227
|
+
{ encoding: "ZIP" },
|
|
102
228
|
);
|
|
103
|
-
checkForMultipleOrNoResults("Schematic Symbol", args, res.symbols, isSingle);
|
|
104
|
-
return isSingle ? res.symbols[0] : res.symbols;
|
|
105
229
|
}
|
|
106
230
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
231
|
+
/**
|
|
232
|
+
* Imports a symbol group bundle: a zip archive holding one JSON envelope per symbol
|
|
233
|
+
* beside a manifest.json naming the group. The Core creates a fresh group under the
|
|
234
|
+
* permanent symbol group and imports every member in a single transaction, so a
|
|
235
|
+
* failure leaves nothing behind.
|
|
236
|
+
* @returns the created group.
|
|
237
|
+
* @throws {ValidationError} if the manifest is missing, malformed, or of another
|
|
238
|
+
* bundle kind, if two member names collide, or if a member is not a symbol.
|
|
239
|
+
*/
|
|
240
|
+
async importGroup(data: UploadBody): Promise<group.Group> {
|
|
241
|
+
const res = await this.cfg.file.upload(
|
|
242
|
+
"/schematic/symbol/group/import",
|
|
243
|
+
data,
|
|
244
|
+
{ encoding: "ZIP" },
|
|
245
|
+
importGroupResZ,
|
|
113
246
|
);
|
|
247
|
+
const parent = await this.retrieveGroup();
|
|
248
|
+
this.cfg.groupStore.set(res.group);
|
|
249
|
+
const rel: ontology.Relationship = {
|
|
250
|
+
from: group.ontologyID(parent.key),
|
|
251
|
+
type: ontology.PARENT_OF_RELATIONSHIP_TYPE,
|
|
252
|
+
to: group.ontologyID(res.group.key),
|
|
253
|
+
};
|
|
254
|
+
this.cfg.ontology.cache.relationships.set(ontology.relationshipToString(rel), rel);
|
|
255
|
+
return res.group;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Deletes the group and every symbol in it. The Core removes both in a single
|
|
260
|
+
* transaction, so a failure leaves the group and its symbols untouched. A child that
|
|
261
|
+
* is not a symbol survives: the Core moves it to the permanent symbol group.
|
|
262
|
+
*/
|
|
263
|
+
async deleteGroup(key: group.Key, opts: query.WriteOptions = {}): Promise<void> {
|
|
264
|
+
const groupID = group.ontologyID(key);
|
|
265
|
+
const rels = this.cfg.ontology.cache.relationships;
|
|
266
|
+
// Read the members before the delete drops the relationships naming them.
|
|
267
|
+
const memberKeys = rels.get((r) => matchChildRel(r, groupID)).map((r) => r.to.key);
|
|
268
|
+
const drop = () => [
|
|
269
|
+
this.store.delete(memberKeys),
|
|
270
|
+
this.cfg.groupStore.delete(key),
|
|
271
|
+
// Both the relationships to the group's children and the one naming the group as
|
|
272
|
+
// its parent's child: the group and every symbol in it are gone.
|
|
273
|
+
rels.delete(
|
|
274
|
+
(r) =>
|
|
275
|
+
r.type === ontology.PARENT_OF_RELATIONSHIP_TYPE &&
|
|
276
|
+
(ontology.idsEqual(r.from, groupID) || ontology.idsEqual(r.to, groupID)),
|
|
277
|
+
),
|
|
278
|
+
];
|
|
279
|
+
await query.optimistic({
|
|
280
|
+
rollbacks: drop(),
|
|
281
|
+
onOptimistic: opts.onOptimistic,
|
|
282
|
+
commit: async () =>
|
|
283
|
+
await this.cfg.unary.send(
|
|
284
|
+
"/schematic/symbol/group/delete",
|
|
285
|
+
{ key },
|
|
286
|
+
deleteGroupReqZ,
|
|
287
|
+
emptyResZ,
|
|
288
|
+
),
|
|
289
|
+
});
|
|
290
|
+
drop();
|
|
114
291
|
}
|
|
115
292
|
|
|
116
293
|
async retrieveGroup(): Promise<group.Group> {
|
|
117
|
-
const res = await this.
|
|
294
|
+
const res = await this.cfg.unary.send(
|
|
118
295
|
"/schematic/symbol/retrieve-group",
|
|
119
296
|
{},
|
|
120
297
|
retrieveGroupReqZ,
|
|
@@ -122,4 +299,56 @@ export class Client {
|
|
|
122
299
|
);
|
|
123
300
|
return res.group;
|
|
124
301
|
}
|
|
302
|
+
|
|
303
|
+
private async execRetrieve(
|
|
304
|
+
params: RetrieveSingleParams | z.input<typeof wireRetrieveRequestZ>,
|
|
305
|
+
): Promise<Symbol[]> {
|
|
306
|
+
const res = await this.cfg.unary.send(
|
|
307
|
+
"/schematic/symbol/retrieve",
|
|
308
|
+
params,
|
|
309
|
+
retrieveParamsZ,
|
|
310
|
+
retrieveResZ,
|
|
311
|
+
);
|
|
312
|
+
return res.symbols;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/** Resolves a parent scope to its symbol children's keys via the ontology. */
|
|
316
|
+
private async resolveChildKeys(parent: ontology.ID): Promise<Key[]> {
|
|
317
|
+
// The children space writes the parent relationships through, so
|
|
318
|
+
// membership checks in requestFilter see them.
|
|
319
|
+
const children = await this.cfg.ontology.children.retrieve({
|
|
320
|
+
ids: parent,
|
|
321
|
+
types: ["schematic_symbol"],
|
|
322
|
+
});
|
|
323
|
+
return children.map(({ id: { key } }) => key);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
private async fetchRequest(req: RetrieveRequest): Promise<Symbol[]> {
|
|
327
|
+
const { parent, ...rest } = req;
|
|
328
|
+
if (parent == null) return await this.execRetrieve(rest);
|
|
329
|
+
const keys = await this.resolveChildKeys(parent);
|
|
330
|
+
if (keys.length === 0) return [];
|
|
331
|
+
if (primitive.isZero(rest.searchTerm)) return await this.store.retrieve(keys);
|
|
332
|
+
return await this.execRetrieve({ keys, searchTerm: rest.searchTerm });
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Client-side matching for a request: exact for key sets and parent
|
|
337
|
+
* membership via the relationship table. Server-computed shapes (search)
|
|
338
|
+
* never reach this filter; they refetch instead.
|
|
339
|
+
*/
|
|
340
|
+
private requestFilter(req: RetrieveRequest): (s: Symbol) => boolean {
|
|
341
|
+
const keySet = primitive.isNonZero(req.keys) ? new Set(req.keys) : undefined;
|
|
342
|
+
return (s) => {
|
|
343
|
+
if (keySet != null && !keySet.has(s.key)) return false;
|
|
344
|
+
if (req.parent != null && !this.isChildOf(req.parent, s.key)) return false;
|
|
345
|
+
return true;
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
private isChildOf(parent: ontology.ID, key: Key): boolean {
|
|
350
|
+
return this.cfg.ontology.cache.relationships.has(
|
|
351
|
+
ontology.relationshipToString(childRel(parent, key)),
|
|
352
|
+
);
|
|
353
|
+
}
|
|
125
354
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
// Code generated by Oracle. DO NOT EDIT.
|
|
11
11
|
|
|
12
|
-
import {
|
|
12
|
+
import { color, spatial, uuid } from "@synnaxlabs/x";
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
|
|
15
15
|
import { ontology } from "@/ontology";
|
|
@@ -24,11 +24,14 @@ export const regionZ = z.object({
|
|
|
24
24
|
/** name is a human-readable name for the region. */
|
|
25
25
|
name: z.string(),
|
|
26
26
|
/** selectors contains CSS selectors targeting SVG elements within the symbol. */
|
|
27
|
-
selectors:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
selectors: z
|
|
28
|
+
.string()
|
|
29
|
+
.array()
|
|
30
|
+
.default(() => []),
|
|
31
|
+
/** strokeColor is an optional stroke color override for the region. */
|
|
32
|
+
strokeColor: color.colorZ.optional(),
|
|
33
|
+
/** fillColor is an optional fill color override for the region. */
|
|
34
|
+
fillColor: color.colorZ.optional(),
|
|
32
35
|
});
|
|
33
36
|
export interface Region extends z.infer<typeof regionZ> {}
|
|
34
37
|
|
|
@@ -53,7 +56,7 @@ export const stateZ = z.object({
|
|
|
53
56
|
/** name is a human-readable name for this state. */
|
|
54
57
|
name: z.string(),
|
|
55
58
|
/** regions contains style regions defining visual appearance for this state. */
|
|
56
|
-
regions: array.
|
|
59
|
+
regions: regionZ.array().default(() => []),
|
|
57
60
|
});
|
|
58
61
|
export interface State extends z.infer<typeof stateZ> {}
|
|
59
62
|
|
|
@@ -65,51 +68,36 @@ export const specZ = z.object({
|
|
|
65
68
|
/** svg is the SVG markup defining the symbol's visual geometry. */
|
|
66
69
|
svg: z.string().min(1),
|
|
67
70
|
/** states contains available visual states with regional styling configurations. */
|
|
68
|
-
states: array.
|
|
69
|
-
/** variant is the symbol variant
|
|
71
|
+
states: stateZ.array().default(() => []),
|
|
72
|
+
/** variant is the symbol variant: 'static' or 'actuator'. */
|
|
70
73
|
variant: z.string().min(1),
|
|
71
74
|
/** handles contains connection points for linking to other diagram elements. */
|
|
72
|
-
handles: array.
|
|
75
|
+
handles: handleZ.array().default(() => []),
|
|
73
76
|
/** scale is the symbol scale factor. */
|
|
74
77
|
scale: z.number().default(1),
|
|
75
|
-
/**
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
+
/** strokeScaled is true when stroke width scales with the symbol size. */
|
|
79
|
+
strokeScaled: z.boolean().default(false),
|
|
80
|
+
/**
|
|
81
|
+
* previewViewport is an optional viewport configuration for symbol preview rendering.
|
|
82
|
+
*/
|
|
78
83
|
previewViewport: spatial.viewportZ.optional(),
|
|
79
84
|
});
|
|
80
85
|
export interface Spec extends z.infer<typeof specZ> {}
|
|
81
86
|
|
|
82
87
|
/**
|
|
83
|
-
* Symbol is a persisted schematic symbol
|
|
84
|
-
*
|
|
88
|
+
* Symbol is a persisted schematic symbol defining reusable visual components for
|
|
89
|
+
* diagrams.
|
|
85
90
|
*/
|
|
86
91
|
export const symbolZ = z.object({
|
|
87
92
|
/** key is the unique identifier for this symbol. */
|
|
88
|
-
key: keyZ,
|
|
89
|
-
/** version is the symbol schema version for migration support. */
|
|
90
|
-
version: z.uint32().default(1),
|
|
93
|
+
key: keyZ.default(uuid.create),
|
|
91
94
|
/** name is a human-readable name for the symbol. */
|
|
92
95
|
name: z.string().min(1),
|
|
93
96
|
/** data is the complete symbol specification. */
|
|
94
97
|
data: specZ,
|
|
95
98
|
});
|
|
96
99
|
export interface Symbol extends z.infer<typeof symbolZ> {}
|
|
97
|
-
|
|
98
|
-
/** New contains parameters for creating a new schematic symbol. */
|
|
99
|
-
export const newZ = z.object({
|
|
100
|
-
/**
|
|
101
|
-
* key is an optional key for the symbol. If not provided, one will be
|
|
102
|
-
* automatically assigned.
|
|
103
|
-
*/
|
|
104
|
-
key: keyZ.optional(),
|
|
105
|
-
/** version is the symbol schema version. */
|
|
106
|
-
version: z.uint32().default(1),
|
|
107
|
-
/** name is a human-readable name for the symbol. */
|
|
108
|
-
name: z.string().min(1),
|
|
109
|
-
/** data is the complete symbol specification. */
|
|
110
|
-
data: specZ,
|
|
111
|
-
});
|
|
112
|
-
export interface New extends z.input<typeof newZ> {}
|
|
100
|
+
export interface New extends z.input<typeof symbolZ> {}
|
|
113
101
|
|
|
114
102
|
export const ontologyID = ontology.createIDFactory<Key>("schematic_symbol");
|
|
115
103
|
export const TYPE_ONTOLOGY_ID = ontologyID("");
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
// Code generated by Oracle. DO NOT EDIT.
|
|
11
11
|
|
|
12
|
-
import {
|
|
12
|
+
import { caseconv, record, spatial, uuid, zod } from "@synnaxlabs/x";
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
|
|
15
15
|
import { ontology } from "@/ontology";
|
|
@@ -21,23 +21,16 @@ export const nodeZ = z.object({
|
|
|
21
21
|
/** position is the top-left position of the node. */
|
|
22
22
|
position: spatial.xyZ,
|
|
23
23
|
/**
|
|
24
|
-
* zIndex is the stacking order of the node within the schematic. Higher
|
|
25
|
-
*
|
|
26
|
-
* send-to-back / bring-to-front actions.
|
|
24
|
+
* zIndex is the stacking order of the node within the schematic. Higher values render
|
|
25
|
+
* above lower values. Set by the user via send-to-back / bring-to-front actions.
|
|
27
26
|
*/
|
|
28
|
-
zIndex: zod.int16.
|
|
29
|
-
/**
|
|
30
|
-
* measured is the rendered pixel size of the node. Populated by the
|
|
31
|
-
* renderer after the node is mounted and used to keep diagram
|
|
32
|
-
* measurements consistent across re-renders.
|
|
33
|
-
*/
|
|
34
|
-
measured: spatial.dimensionsZ.optional(),
|
|
27
|
+
zIndex: zod.int16.default(0),
|
|
35
28
|
});
|
|
36
29
|
export interface Node extends z.infer<typeof nodeZ> {}
|
|
37
30
|
|
|
38
31
|
/**
|
|
39
|
-
* Handle is a reference to a specific connection point on a specific node.
|
|
40
|
-
*
|
|
32
|
+
* Handle is a reference to a specific connection point on a specific node. For
|
|
33
|
+
* schematics, param is the symbol handle key (e.g. inlet, outlet).
|
|
41
34
|
*/
|
|
42
35
|
export const handleZ = z.object({
|
|
43
36
|
/** node is the node identifier. */
|
|
@@ -62,32 +55,32 @@ export const edgeZ = z.object({
|
|
|
62
55
|
export interface Edge extends z.infer<typeof edgeZ> {}
|
|
63
56
|
|
|
64
57
|
/**
|
|
65
|
-
* Schematic is a visual diagram editor component for drawing system schematics,
|
|
66
|
-
*
|
|
67
|
-
*
|
|
58
|
+
* Schematic is a visual diagram editor component for drawing system schematics, control
|
|
59
|
+
* flows, and process diagrams. Schematics support interactive symbols, connection
|
|
60
|
+
* handles, and dynamic state visualization.
|
|
68
61
|
*/
|
|
69
62
|
export const schematicZ = z.object({
|
|
70
63
|
/** key is the unique identifier for this schematic. */
|
|
71
|
-
key: keyZ,
|
|
64
|
+
key: keyZ.default(uuid.create),
|
|
72
65
|
/** name is a human-readable name for the schematic. */
|
|
73
|
-
name: z.string(),
|
|
74
|
-
/** snapshot
|
|
75
|
-
snapshot: z.boolean(),
|
|
66
|
+
name: z.string().min(1, "name is required"),
|
|
67
|
+
/** snapshot is true if this schematic is an immutable snapshot copy. */
|
|
68
|
+
snapshot: z.boolean().default(false),
|
|
76
69
|
/** nodes contains all diagram nodes in the schematic. */
|
|
77
|
-
nodes: array.
|
|
70
|
+
nodes: nodeZ.array().default(() => []),
|
|
78
71
|
/** edges contains all connections between nodes. */
|
|
79
|
-
edges: array.
|
|
72
|
+
edges: edgeZ.array().default(() => []),
|
|
80
73
|
/**
|
|
81
|
-
* configs contains per-element configuration keyed by node or edge key. The
|
|
82
|
-
*
|
|
83
|
-
*
|
|
74
|
+
* configs contains per-element configuration keyed by node or edge key. The shape of
|
|
75
|
+
* each value is determined by the element's variant; the wire format intentionally
|
|
76
|
+
* stores it as an opaque record.
|
|
84
77
|
*/
|
|
85
|
-
configs: caseconv.preserveCase(
|
|
78
|
+
configs: caseconv.preserveCase(
|
|
79
|
+
z.record(z.string(), record.unknownZ()).default(() => ({})),
|
|
80
|
+
),
|
|
86
81
|
});
|
|
87
82
|
export interface Schematic extends z.infer<typeof schematicZ> {}
|
|
88
|
-
|
|
89
|
-
export const newZ = schematicZ.partial({ key: true, snapshot: true });
|
|
90
|
-
export interface New extends z.input<typeof newZ> {}
|
|
83
|
+
export interface New extends z.input<typeof schematicZ> {}
|
|
91
84
|
|
|
92
85
|
export const ontologyID = ontology.createIDFactory<Key>("schematic");
|
|
93
86
|
export const TYPE_ONTOLOGY_ID = ontologyID("");
|