@synnaxlabs/client 0.56.2 → 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.
- package/dist/client-B08VDLSA.js +14463 -0
- package/dist/client-B08VDLSA.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 +71 -0
- package/dist/src/framer/cache/dynamic.d.ts.map +1 -0
- package/dist/src/framer/cache/reader.d.ts +43 -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 +37 -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 +40 -17
- 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 +279 -0
- package/src/framer/cache/reader.ts +160 -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 +104 -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 +18 -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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { alamos } from '@synnaxlabs/alamos';
|
|
2
|
+
import { MultiSeries, Series, TimeSpan, TimeStamp } from '@synnaxlabs/x';
|
|
3
|
+
import { Transform } from './transform';
|
|
4
|
+
/** Response from a write to the {@link Dynamic} cache. */
|
|
5
|
+
export interface WriteResponse {
|
|
6
|
+
/** Series flushed because the write did not fit in the current buffer. */
|
|
7
|
+
flushed: MultiSeries;
|
|
8
|
+
/** A list of series that were allocated during the write. */
|
|
9
|
+
allocated: MultiSeries;
|
|
10
|
+
}
|
|
11
|
+
/** Props for the {@link Dynamic} cache. */
|
|
12
|
+
export interface DynamicProps {
|
|
13
|
+
/**
|
|
14
|
+
* Sets the maximum size of the buffer that the cache will maintain before flushing
|
|
15
|
+
* data out to the caller.
|
|
16
|
+
*/
|
|
17
|
+
dynamicBufferSize: number | TimeSpan;
|
|
18
|
+
/** Applied to every series before it enters a buffer. Defaults to identity. */
|
|
19
|
+
transform?: Transform;
|
|
20
|
+
/** Used for logging. */
|
|
21
|
+
instrumentation?: alamos.Instrumentation;
|
|
22
|
+
/** Pulls the current time. */
|
|
23
|
+
now?: () => TimeStamp;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A cache for channel data that maintains a single, rolling Series as a buffer
|
|
27
|
+
* for channel data. The buffer's data type is derived from the first written series,
|
|
28
|
+
* so the cache needs no channel metadata.
|
|
29
|
+
*/
|
|
30
|
+
export declare class Dynamic {
|
|
31
|
+
private readonly props;
|
|
32
|
+
private counter;
|
|
33
|
+
private curr;
|
|
34
|
+
/** End timestamp of the last fully written stamped series in the current buffer.
|
|
35
|
+
* Null when the buffer holds unstamped or partially written data, in which case
|
|
36
|
+
* the flush falls back to the wall clock. */
|
|
37
|
+
private currDataEnd;
|
|
38
|
+
private avgRate;
|
|
39
|
+
private timeOfLastWrite;
|
|
40
|
+
private totalWrites;
|
|
41
|
+
private readonly now;
|
|
42
|
+
constructor(props: DynamicProps);
|
|
43
|
+
/** @returns the number of samples currently held in the cache. */
|
|
44
|
+
get length(): number;
|
|
45
|
+
/**
|
|
46
|
+
* @returns the current buffer being written to by the cache. Under no circumstances
|
|
47
|
+
* should this be modified by the caller.
|
|
48
|
+
*/
|
|
49
|
+
get leadingBuffer(): Series | null;
|
|
50
|
+
/**
|
|
51
|
+
* @returns a list of buffers that were filled by the cache during the write. If the
|
|
52
|
+
* current buffer is able to fit all writes, no buffers will be returned.
|
|
53
|
+
*/
|
|
54
|
+
write(series: MultiSeries): WriteResponse;
|
|
55
|
+
private allocate;
|
|
56
|
+
private allocStart;
|
|
57
|
+
private allocCurr;
|
|
58
|
+
private flushCurr;
|
|
59
|
+
private _write;
|
|
60
|
+
private updateAvgRate;
|
|
61
|
+
private nextBufferSize;
|
|
62
|
+
/**
|
|
63
|
+
* Flushes the leading buffer, stamping its end with the last stamped write or
|
|
64
|
+
* the wall clock.
|
|
65
|
+
* @returns the flushed buffer, or null when there is none.
|
|
66
|
+
*/
|
|
67
|
+
flush(): Series | null;
|
|
68
|
+
/** Closes the cache. It must not be used afterwards. */
|
|
69
|
+
close(): void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=dynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/dynamic.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAGL,WAAW,EACX,MAAM,EACN,KAAK,QAAQ,EACb,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE9E,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;IACzC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,SAAS,CAAC;CACvB;AAYD;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAE5D,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAuB;IACnC;;iDAE6C;IAC7C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;gBAE1B,KAAK,EAAE,YAAY;IAY/B,kEAAkE;IAClE,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa;IAUzC,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,MAAM;IAmEd,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IAQtB;;;;OAIG;IACH,KAAK,IAAI,MAAM,GAAG,IAAI;IAStB,wDAAwD;IACxD,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { MultiSeries, TimeRange, TimeSpan } from '@synnaxlabs/x';
|
|
2
|
+
import { channel } from '../../channel';
|
|
3
|
+
import { Cache } from './cache';
|
|
4
|
+
import { Frame } from '../frame';
|
|
5
|
+
/** A function that reads a telemetry frame from the Synnax cluster. */
|
|
6
|
+
export interface RemoteReader {
|
|
7
|
+
(tr: TimeRange, keys: channel.Key[]): Promise<Frame>;
|
|
8
|
+
}
|
|
9
|
+
export interface ReaderProps {
|
|
10
|
+
/** Function used to read remote data from the server. */
|
|
11
|
+
readRemote: RemoteReader;
|
|
12
|
+
/** Will read from and populate the given cache with fetched data. */
|
|
13
|
+
cache: Cache;
|
|
14
|
+
/**
|
|
15
|
+
* Used to batch read requests to the server to minimize traffic. The window is not
|
|
16
|
+
* extended by later reads, so it is also the maximum wait before a batch fires.
|
|
17
|
+
* @default TimeSpan.milliseconds(50)
|
|
18
|
+
*/
|
|
19
|
+
batchDebounce?: TimeSpan;
|
|
20
|
+
/**
|
|
21
|
+
* Reads whose gap time ranges are within this threshold merge into one request.
|
|
22
|
+
* @default TimeSpan.milliseconds(5)
|
|
23
|
+
*/
|
|
24
|
+
overlapThreshold?: TimeSpan;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Reads historical telemetry, serving from the cache and batch-filling gaps from the
|
|
28
|
+
* server. A batch failure rejects only the reads whose gaps were in the failed fetch.
|
|
29
|
+
*/
|
|
30
|
+
export declare class Reader {
|
|
31
|
+
private readonly props;
|
|
32
|
+
private readonly batcher;
|
|
33
|
+
private readonly mu;
|
|
34
|
+
constructor(props: ReaderProps);
|
|
35
|
+
/**
|
|
36
|
+
* Reads the given time range for the given channel.
|
|
37
|
+
* @throws {UnexpectedError} if the reader is closed while the read is pending.
|
|
38
|
+
*/
|
|
39
|
+
read(tr: TimeRange, channel: channel.Key): Promise<MultiSeries>;
|
|
40
|
+
private batchRead;
|
|
41
|
+
close(): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/reader.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,WAAW,EAGX,SAAS,EACT,QAAQ,EACT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACtD;AAaD,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,UAAU,EAAE,YAAY,CAAC;IACzB,qEAAqE;IACrE,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAExD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoC;gBAE3C,KAAK,EAAE,WAAW;IAkB9B;;;OAGG;IACG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;YAUvD,SAAS;IAsDjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { alamos } from '@synnaxlabs/alamos';
|
|
2
|
+
import { MultiSeries, Size, TimeRange, TimeSpan } from '@synnaxlabs/x';
|
|
3
|
+
import { Transform } from './transform';
|
|
4
|
+
export interface DirtyReadResult {
|
|
5
|
+
series: MultiSeries;
|
|
6
|
+
gaps: TimeRange[];
|
|
7
|
+
}
|
|
8
|
+
export interface GCMetrics {
|
|
9
|
+
purgedSeries: number;
|
|
10
|
+
purgedBytes: Size;
|
|
11
|
+
}
|
|
12
|
+
export declare const zeroGCMetrics: () => GCMetrics;
|
|
13
|
+
/** Props for the {@link Static} cache. */
|
|
14
|
+
export interface StaticProps {
|
|
15
|
+
/** Used for logging */
|
|
16
|
+
instrumentation?: alamos.Instrumentation;
|
|
17
|
+
/** Applied to every series before it enters the cache. Defaults to identity. */
|
|
18
|
+
transform?: Transform;
|
|
19
|
+
/**
|
|
20
|
+
* Sets the amount of time that a cache entry must be in the cache before it can
|
|
21
|
+
* be marked as stale and subject to garbage collection.
|
|
22
|
+
* @default TimeSpan.seconds(20) */
|
|
23
|
+
staleEntryThreshold?: TimeSpan;
|
|
24
|
+
}
|
|
25
|
+
export declare const DEFAULT_STATIC_PROPS: Required<StaticProps>;
|
|
26
|
+
/**
|
|
27
|
+
* A cache for historical channel data that will not be modified after it is written.
|
|
28
|
+
* Fetched and streamed entries are held apart because they measure position in
|
|
29
|
+
* different spaces: a fetched sample carries its committed alignment, the same sample
|
|
30
|
+
* streamed carries a provisional leading one. Insertion and gap computation both assume
|
|
31
|
+
* a single space, so each kind gets its own list.
|
|
32
|
+
*/
|
|
33
|
+
export declare class Static {
|
|
34
|
+
private fetched;
|
|
35
|
+
private streamed;
|
|
36
|
+
private readonly props;
|
|
37
|
+
constructor(props: StaticProps);
|
|
38
|
+
/**
|
|
39
|
+
* Writes the given series to the cache, merging written series with any existing
|
|
40
|
+
* series in the cache.
|
|
41
|
+
* @param streamed - Marks the series as live-streamed data. A fetched write evicts
|
|
42
|
+
* every streamed entry whose time range it fully covers.
|
|
43
|
+
*/
|
|
44
|
+
write(series: MultiSeries, streamed?: boolean): void;
|
|
45
|
+
private evictStreamed;
|
|
46
|
+
/**
|
|
47
|
+
* Executes a 'dirty' read of the cache, retrieving any series in the cache that
|
|
48
|
+
* overlap with the given time range. The series may extend before or after the range.
|
|
49
|
+
* Gaps are computed against fetched entries only. Streamed entries carry provisional
|
|
50
|
+
* leading alignments that cannot pair with fetched data on another channel, so they
|
|
51
|
+
* never claim coverage; the fetch they provoke evicts them.
|
|
52
|
+
* @returns A list of series that overlap with the given time range and a list of
|
|
53
|
+
* gaps, representing the regions of time the fetched series do not cover.
|
|
54
|
+
*/
|
|
55
|
+
dirtyRead(tr: TimeRange): DirtyReadResult;
|
|
56
|
+
/**
|
|
57
|
+
* Garbage collects the cache, removing any stale entries.
|
|
58
|
+
* @returns metrics about the garbage collection.
|
|
59
|
+
*/
|
|
60
|
+
gc(): GCMetrics;
|
|
61
|
+
/** Closes the cache, freeing all of its resources. */
|
|
62
|
+
close(): void;
|
|
63
|
+
private writeOne;
|
|
64
|
+
private repairIntegrity;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=static.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/static.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAEL,WAAW,EAEX,IAAI,EACJ,SAAS,EACT,QAAQ,EAET,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,QAAO,SAG/B,CAAC;AAEH,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;IACzC,gFAAgF;IAChF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;uCAGmC;IACnC,mBAAmB,CAAC,EAAE,QAAQ,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAItD,CAAC;AASF;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;gBAElC,KAAK,EAAE,WAAW;IAS9B;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAY3D,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,eAAe;IAkBzC;;;OAGG;IACH,EAAE,IAAI,SAAS;IAmBf,sDAAsD;IACtD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,eAAe;CAsBxB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { alamos } from '@synnaxlabs/alamos';
|
|
2
|
+
import { breaker, CrudeTimeSpan, destructor, MultiSeries } from '@synnaxlabs/x';
|
|
3
|
+
import { channel } from '../../channel';
|
|
4
|
+
import { Cache } from './cache';
|
|
5
|
+
import { Streamer, StreamerConfig } from '../streamer';
|
|
6
|
+
import { status } from '../../status';
|
|
7
|
+
/** Stream lifecycle hooks the streamer uses to track connection health. */
|
|
8
|
+
export interface StreamHooks {
|
|
9
|
+
/** Called after every successful reconnect of the underlying stream. */
|
|
10
|
+
onReopen: () => void;
|
|
11
|
+
/** Called when the underlying stream fails and reconnection begins. */
|
|
12
|
+
onDrop: (error: Error) => void;
|
|
13
|
+
}
|
|
14
|
+
/** Opens the underlying frame stream, hardened against connection loss. */
|
|
15
|
+
export interface HardenedOpener {
|
|
16
|
+
(config: StreamerConfig, hooks: StreamHooks): Promise<Streamer>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Receives every channel that changed on the shared stream, which may include
|
|
20
|
+
* keys the handler did not subscribe to.
|
|
21
|
+
*/
|
|
22
|
+
export type StreamHandler = (data: Map<channel.Key, MultiSeries>) => void;
|
|
23
|
+
/** Receives per-key data-plane status transitions for subscribed channels. */
|
|
24
|
+
export type StatusHandler = (key: channel.Key, status: status.Status) => void;
|
|
25
|
+
/**
|
|
26
|
+
* A durable handle on streaming demand. Closing it releases the demand; until then
|
|
27
|
+
* the streamer owns converging the underlying stream to it.
|
|
28
|
+
*/
|
|
29
|
+
export interface Subscription {
|
|
30
|
+
/** Releases the subscription's demand. */
|
|
31
|
+
close: () => void;
|
|
32
|
+
/** @returns the current data-plane status for the given key. */
|
|
33
|
+
status: (key: channel.Key) => status.Status;
|
|
34
|
+
/** Registers a handler for status transitions on the subscription's keys. */
|
|
35
|
+
onStatusChange: (handler: StatusHandler) => destructor.Destructor;
|
|
36
|
+
}
|
|
37
|
+
export interface MultiplexedStreamerProps {
|
|
38
|
+
cache: Cache;
|
|
39
|
+
openStreamer: HardenedOpener;
|
|
40
|
+
instrumentation?: alamos.Instrumentation;
|
|
41
|
+
/**
|
|
42
|
+
* How long a closed subscription's keys stay on the stream, damping churn from
|
|
43
|
+
* rapid unsubscribe and resubscribe cycles.
|
|
44
|
+
* @default TimeSpan.seconds(5)
|
|
45
|
+
*/
|
|
46
|
+
removalDelay?: CrudeTimeSpan;
|
|
47
|
+
/** Retry behavior for stream open and update failures. */
|
|
48
|
+
breaker?: breaker.Config;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Multiplexes durable subscriptions onto one shared frame stream. Demand
|
|
52
|
+
* registration is synchronous and cannot fail per key; all convergence work
|
|
53
|
+
* surfaces as per-key statuses instead of thrown errors.
|
|
54
|
+
*/
|
|
55
|
+
export declare class MultiplexedStreamer {
|
|
56
|
+
private readonly props;
|
|
57
|
+
private readonly connMu;
|
|
58
|
+
private readonly breaker;
|
|
59
|
+
private readonly entries;
|
|
60
|
+
private readonly statuses;
|
|
61
|
+
private reconcileTimer;
|
|
62
|
+
private readonly removalTimers;
|
|
63
|
+
private runLoop;
|
|
64
|
+
private streamer;
|
|
65
|
+
private sentKeys;
|
|
66
|
+
constructor(props: MultiplexedStreamerProps);
|
|
67
|
+
/**
|
|
68
|
+
* Registers demand for the given keys. Registration is synchronous: the handler
|
|
69
|
+
* is called with any existing leading buffers, and the stream converges to the
|
|
70
|
+
* new demand in the background.
|
|
71
|
+
* @throws {UnexpectedError} if the streamer has been closed.
|
|
72
|
+
*/
|
|
73
|
+
stream(handler: StreamHandler, keys: channel.Key[]): Subscription;
|
|
74
|
+
close(): Promise<void>;
|
|
75
|
+
private releaseStream;
|
|
76
|
+
private remove;
|
|
77
|
+
private scheduleReconcile;
|
|
78
|
+
/** @returns the union of keys across all entries, including those pending
|
|
79
|
+
* removal, so the stream lags demand only by the removal delay. */
|
|
80
|
+
private desiredKeys;
|
|
81
|
+
private setStatus;
|
|
82
|
+
private flushBuffers;
|
|
83
|
+
private reconcile;
|
|
84
|
+
private run;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=streamer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/streamer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAEL,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,WAAW,EAKZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uEAAuE;IACvE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC;IAC5C,6EAA6E;IAC7E,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,UAAU,CAAC,UAAU,CAAC;CACnE;AASD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,cAAc,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;IACzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;CAC1B;AAYD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAIpB;IAIF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAyB;IAGzC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,KAAK,EAAE,wBAAwB;IA6B3C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY;IAmC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,aAAa;IAS3B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,iBAAiB;IAQzB;uEACmE;IACnE,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,YAAY;YAKN,SAAS;YAwET,GAAG;CAiDlB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataType, math, Series } from '@synnaxlabs/x';
|
|
2
|
+
/**
|
|
3
|
+
* Converts series into the representation the caller renders from before they enter
|
|
4
|
+
* cache buffers. Injected at construction; the cache applies it to every write.
|
|
5
|
+
*/
|
|
6
|
+
export interface Transform {
|
|
7
|
+
/** @returns the buffer data type used to hold series of the given type. */
|
|
8
|
+
resolveDataType: (dt: DataType) => DataType;
|
|
9
|
+
/**
|
|
10
|
+
* Converts the series to the resolved data type.
|
|
11
|
+
* @param offset - Subtracted from each sample before narrowing conversions to
|
|
12
|
+
* preserve precision. Omitted when the buffer anchors off the first sample.
|
|
13
|
+
*/
|
|
14
|
+
convert: (series: Series, offset?: math.Numeric) => Series;
|
|
15
|
+
}
|
|
16
|
+
/** A transform that stores every series exactly as it arrives. */
|
|
17
|
+
export declare const IDENTITY_TRANSFORM: Transform;
|
|
18
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/transform.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,eAAe,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,QAAQ,CAAC;IAC5C;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;CAC5D;AAED,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,EAAE,SAGhC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MultiSeries, Series, TimeRange } from '@synnaxlabs/x';
|
|
2
|
+
import { DynamicProps } from './dynamic';
|
|
3
|
+
import { DirtyReadResult, GCMetrics, StaticProps } from './static';
|
|
4
|
+
export interface UnaryProps extends StaticProps, Pick<DynamicProps, "dynamicBufferSize"> {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Caches data for a single channel: a dynamic leading buffer for live writes backed
|
|
8
|
+
* by a static cache for flushed and historical data.
|
|
9
|
+
* @throws {UnexpectedError} from every method after close().
|
|
10
|
+
*/
|
|
11
|
+
export declare class Unary {
|
|
12
|
+
private closed;
|
|
13
|
+
private readonly static;
|
|
14
|
+
private readonly dynamic;
|
|
15
|
+
constructor(props: UnaryProps);
|
|
16
|
+
writeDynamic(series: MultiSeries): MultiSeries;
|
|
17
|
+
get leadingBuffer(): Series | null;
|
|
18
|
+
/**
|
|
19
|
+
* Flushes the live leading buffer into the static cache with its real end time,
|
|
20
|
+
* so reads treat the span after it as a gap to fetch. Call when streaming for
|
|
21
|
+
* the channel stops.
|
|
22
|
+
*/
|
|
23
|
+
flushDynamic(): void;
|
|
24
|
+
writeStatic(series: MultiSeries): void;
|
|
25
|
+
/**
|
|
26
|
+
* Reads cached data overlapping the given time range. The result includes the
|
|
27
|
+
* live leading buffer when it overlaps, but the buffer never claims coverage:
|
|
28
|
+
* its samples carry provisional leading alignments that cannot pair with fetched
|
|
29
|
+
* data on another channel, so its span is still reported as a gap to fetch. A
|
|
30
|
+
* span may therefore return in both its streamed and fetched representation.
|
|
31
|
+
*/
|
|
32
|
+
read(tr: TimeRange): DirtyReadResult;
|
|
33
|
+
gc(): GCMetrics;
|
|
34
|
+
close(): void;
|
|
35
|
+
private checkOpen;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=unary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unary.d.ts","sourceRoot":"","sources":["../../../../src/framer/cache/unary.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,UACf,SAAQ,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC;CAAG;AAEjE;;;;GAIG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,KAAK,EAAE,UAAU;IAS7B,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IAQ9C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAGjC;IAED;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAOpB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKtC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,eAAe;IASpC,EAAE,IAAI,SAAS;IAKf,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,SAAS;CAIlB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { UnaryClient, WebSocketClient } from '@synnaxlabs/freighter';
|
|
2
2
|
import { CrudeSeries, CrudeTimeRange, CrudeTimeStamp, MultiSeries } from '@synnaxlabs/x';
|
|
3
3
|
import { channel } from '../channel';
|
|
4
|
+
import { ChannelRetriever } from './adapter';
|
|
5
|
+
import { Feed, FeedOptions } from './feed';
|
|
4
6
|
import { Frame } from './frame';
|
|
5
7
|
import { Iterator, IteratorConfig } from './iterator';
|
|
6
8
|
import { ReadRequest } from './reader';
|
|
@@ -9,22 +11,30 @@ import { Writer, WriterConfig } from './writer';
|
|
|
9
11
|
import { ontology } from '../ontology';
|
|
10
12
|
export declare const ontologyID: ontology.CreateID<string>;
|
|
11
13
|
export declare const TYPE_ONTOLOGY_ID: {
|
|
12
|
-
type: "arc" | "builtin" | "channel" | "device" | "framer" | "group" | "label" | "lineplot" | "log" | "node" | "policy" | "rack" | "range" | "range-alias" | "role" | "schematic" | "schematic_symbol" | "status" | "table" | "task" | "user" | "view"
|
|
14
|
+
type: "arc" | "builtin" | "channel" | "device" | "framer" | "group" | "label" | "lineplot" | "log" | "node" | "panel" | "policy" | "project" | "rack" | "range" | "range-alias" | "role" | "schematic" | "schematic_symbol" | "status" | "table" | "task" | "user" | "view";
|
|
13
15
|
key: string;
|
|
14
16
|
} | {
|
|
15
|
-
type: "arc" | "builtin" | "channel" | "device" | "framer" | "group" | "label" | "lineplot" | "log" | "node" | "policy" | "rack" | "range" | "range-alias" | "role" | "schematic" | "schematic_symbol" | "status" | "table" | "task" | "user" | "view"
|
|
17
|
+
type: "arc" | "builtin" | "channel" | "device" | "framer" | "group" | "label" | "lineplot" | "log" | "node" | "panel" | "policy" | "project" | "rack" | "range" | "range-alias" | "role" | "schematic" | "schematic_symbol" | "status" | "table" | "task" | "user" | "view";
|
|
16
18
|
key: string;
|
|
17
19
|
};
|
|
20
|
+
/** Config for {@link Client}. */
|
|
21
|
+
export interface ClientConfig {
|
|
22
|
+
stream: WebSocketClient;
|
|
23
|
+
unary: UnaryClient;
|
|
24
|
+
retrieveChannels: ChannelRetriever;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Reads and writes telemetry on a Core. Reach it through `client.telem` rather than
|
|
28
|
+
* building one: `read` and `write` cover one-shot access, and the `open*` methods hand
|
|
29
|
+
* back a long-lived stream the caller must close.
|
|
30
|
+
*/
|
|
18
31
|
export declare class Client {
|
|
19
|
-
private readonly
|
|
20
|
-
private readonly retriever;
|
|
32
|
+
private readonly cfg;
|
|
21
33
|
private readonly deleter;
|
|
22
34
|
private readonly reader;
|
|
23
|
-
constructor(
|
|
35
|
+
constructor(cfg: ClientConfig);
|
|
24
36
|
/**
|
|
25
37
|
* Opens a new iterator over the given channels within the provided time range.
|
|
26
|
-
*
|
|
27
|
-
* @param tr - A time range to iterate over.
|
|
28
38
|
* @param channels - A list of channels (by name or key) to iterate over.
|
|
29
39
|
* @param opts - see {@link IteratorConfig}
|
|
30
40
|
* @returns a new {@link Iterator}.
|
|
@@ -32,7 +42,6 @@ export declare class Client {
|
|
|
32
42
|
openIterator(tr: CrudeTimeRange, channels: channel.Params, opts?: IteratorConfig): Promise<Iterator>;
|
|
33
43
|
/**
|
|
34
44
|
* Opens a new writer on the given channels.
|
|
35
|
-
*
|
|
36
45
|
* @param config - The configuration for the created writer, see documentation for
|
|
37
46
|
* writerConfig for more detail.
|
|
38
47
|
* @returns a new {@link Writer}.
|
|
@@ -40,19 +49,27 @@ export declare class Client {
|
|
|
40
49
|
openWriter(config: WriterConfig): Promise<Writer>;
|
|
41
50
|
/**
|
|
42
51
|
* Opens a new streamer with the provided configuration.
|
|
43
|
-
*
|
|
44
|
-
* @param config - Configuration parameters for the streamer.
|
|
45
52
|
* @param config.channels - The channels to stream values from. Can be a key, name,
|
|
46
53
|
* list of keys, or list of names.
|
|
47
|
-
* @param config.from - If this parameter is set and is before the current time,
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
54
|
+
* @param config.from - If this parameter is set and is before the current time, the
|
|
55
|
+
* streamer will first read and receive historical data from before this point and
|
|
56
|
+
* then will start reading new values.
|
|
51
57
|
*/
|
|
52
58
|
openStreamer(config: StreamerConfig): Promise<Streamer>;
|
|
59
|
+
/**
|
|
60
|
+
* Opens a feed over this client. The underlying stream opens on first demand;
|
|
61
|
+
* the caller must close the feed.
|
|
62
|
+
*/
|
|
63
|
+
openFeed(options?: FeedOptions): Feed;
|
|
53
64
|
write(start: CrudeTimeStamp, channel: channel.Key | channel.Name, data: CrudeSeries): Promise<void>;
|
|
54
65
|
write(start: CrudeTimeStamp, channels: channel.Key[] | channel.Name[], data: CrudeSeries[]): Promise<void>;
|
|
55
66
|
write(start: CrudeTimeStamp, data: Record<channel.Key | channel.Name, CrudeSeries>): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Reads every sample in the time range from the given channels.
|
|
69
|
+
*
|
|
70
|
+
* @returns a {@link MultiSeries} for one channel, or a {@link Frame} for several.
|
|
71
|
+
* @throws {NotFoundError} if a channel does not exist.
|
|
72
|
+
*/
|
|
56
73
|
read(tr: CrudeTimeRange, channel: channel.Key | channel.Name): Promise<MultiSeries>;
|
|
57
74
|
read(tr: CrudeTimeRange, channels: channel.Params): Promise<Frame>;
|
|
58
75
|
read(request: ReadRequest): Promise<ReadableStream<Uint8Array>>;
|
|
@@ -60,6 +77,10 @@ export declare class Client {
|
|
|
60
77
|
readLatest(channel: channel.Key | channel.Name, n: number): Promise<MultiSeries>;
|
|
61
78
|
readLatest(channels: channel.Params, n: number): Promise<Frame>;
|
|
62
79
|
private readLatestNFrame;
|
|
80
|
+
/**
|
|
81
|
+
* Deletes every sample in the time range from the given channels. Deletion is
|
|
82
|
+
* permanent.
|
|
83
|
+
*/
|
|
63
84
|
delete(channels: channel.Params, timeRange: CrudeTimeRange): Promise<void>;
|
|
64
85
|
}
|
|
65
86
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/framer/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAGjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/framer/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAGjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAa,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAc,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAO,MAAM,UAAU,2BAA6C,CAAC;AACrE,eAAO,MAAM,gBAAgB;;;;;;CAAiB,CAAC;AAE/C,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,GAAG,EAAE,YAAY;IAO7B;;;;;OAKG;IACG,YAAY,CAChB,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,OAAO,CAAC,MAAM,EACxB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,QAAQ,CAAC;IAUpB;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD;;;;;;;OAOG;IACG,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7D;;;OAGG;IACH,QAAQ,CAAC,OAAO,GAAE,WAAgB,GAAG,IAAI;IAQnC,KAAK,CACT,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,EACnC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC;IAEV,KAAK,CACT,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EACxC,IAAI,EAAE,WAAW,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAEV,KAAK,CACT,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC;IAuChB;;;;;OAKG;IACG,IAAI,CACR,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAYvD,SAAS;IAcjB,UAAU,CACd,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,EACnC,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,WAAW,CAAC;IAEjB,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YAoBvD,gBAAgB;IAc9B;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAOjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/framer/codec.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,MAAM,EACN,QAAQ,EAIT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/framer/codec.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,MAAM,EACN,QAAQ,EAIT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAwE1D,qBAAa,KAAK;IAChB,WAAW,EAAE,MAAM,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAa;gBAEf,IAAI,GAAE,OAAO,CAAC,GAAG,EAAO,EAAE,SAAS,GAAE,QAAQ,EAAO;IAIhE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAmBxD,OAAO,CAAC,iBAAiB;IAQzB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,GAAE,MAAU,GAAG,UAAU,CAAC,WAAW,CAAC;IAkI1E,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO;CAuGpE;AAED,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAI1C,qBAAa,aAAc,YAAW,MAAM,CAAC,KAAK;IAChD,WAAW,SAAgB;IAC3B,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,YAAY,CAAe;gBAEvB,IAAI,EAAE,KAAK;IAKvB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAcjD,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CAUpF;AAED,qBAAa,eAAgB,YAAW,MAAM,CAAC,KAAK;IAClD,WAAW,SAAgB;IAC3B,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,YAAY,CAAe;gBAEvB,IAAI,EAAE,KAAK;IAKvB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAIjD,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CAWpF;AAED,qBAAa,eAAgB,YAAW,MAAM,CAAC,KAAK;IAClD,WAAW,SAAgB;IAC3B,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,YAAY,CAAe;gBAEvB,IAAI,EAAE,KAAK;IAKvB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAIjD,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CAgBpF"}
|
|
@@ -8,12 +8,12 @@ declare const reqZ: z.ZodObject<{
|
|
|
8
8
|
value: z.ZodBigInt;
|
|
9
9
|
}, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
|
|
10
10
|
value: bigint;
|
|
11
|
-
}>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number, number
|
|
11
|
+
}>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number, number] | [number] | [number, number, number]>>]>;
|
|
12
12
|
end: z.ZodUnion<readonly [z.ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, z.ZodPipe<z.ZodObject<{
|
|
13
13
|
value: z.ZodBigInt;
|
|
14
14
|
}, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
|
|
15
15
|
value: bigint;
|
|
16
|
-
}>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number, number
|
|
16
|
+
}>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number, number] | [number] | [number, number, number]>>]>;
|
|
17
17
|
}, z.core.$strip>, z.ZodTransform<TimeRange, {
|
|
18
18
|
start: import('@synnaxlabs/x').TimeStamp;
|
|
19
19
|
end: import('@synnaxlabs/x').TimeStamp;
|
|
@@ -22,6 +22,7 @@ declare const reqZ: z.ZodObject<{
|
|
|
22
22
|
}, z.core.$strip>;
|
|
23
23
|
interface Request extends z.infer<typeof reqZ> {
|
|
24
24
|
}
|
|
25
|
+
/** Deletes a time range of telemetry from a Core. Reach it through `client.telem`. */
|
|
25
26
|
export declare class Deleter {
|
|
26
27
|
private readonly client;
|
|
27
28
|
constructor(client: UnaryClient);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleter.d.ts","sourceRoot":"","sources":["../../../src/framer/deleter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;iBAIR,CAAC;AACH,UAAU,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;CAAG;AAIjD,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"deleter.d.ts","sourceRoot":"","sources":["../../../src/framer/deleter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;iBAIR,CAAC;AACH,UAAU,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;CAAG;AAIjD,sFAAsF;AACtF,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,WAAW;IAIzB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5C"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
export { type ChannelRetriever } from './adapter';
|
|
2
|
+
export { type RemoteReader } from './cache/reader';
|
|
3
|
+
export { type StatusHandler, type StreamHandler, type Subscription, } from './cache/streamer';
|
|
4
|
+
export { IDENTITY_TRANSFORM, type Transform } from './cache/transform';
|
|
1
5
|
export * from './client';
|
|
6
|
+
export * from './feed';
|
|
2
7
|
export * from './frame';
|
|
8
|
+
export * from './hardened';
|
|
3
9
|
export * from './iterator';
|
|
4
10
|
export * from './reader';
|
|
5
11
|
export * from './streamer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/framer/external.ts"],"names":[],"mappings":"AASA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/framer/external.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { MultiSeries, TimeRange } from '@synnaxlabs/x';
|
|
2
|
+
import { channel } from '../channel';
|
|
3
|
+
import { CacheProps } from './cache/cache';
|
|
4
|
+
import { ReaderProps } from './cache/reader';
|
|
5
|
+
import { MultiplexedStreamerProps, StreamHandler, Subscription } from './cache/streamer';
|
|
6
|
+
import { StreamOpener } from './streamer';
|
|
7
|
+
/** Props for {@link Feed}, including the transport it reads and streams through. */
|
|
8
|
+
export interface FeedProps extends CacheProps, Omit<ReaderProps, "cache">, Omit<MultiplexedStreamerProps, "cache" | "openStreamer"> {
|
|
9
|
+
openStreamer: StreamOpener;
|
|
10
|
+
}
|
|
11
|
+
/** The part of {@link FeedProps} a caller sets. The client supplies the rest. */
|
|
12
|
+
export interface FeedOptions extends Omit<FeedProps, "readRemote" | "openStreamer"> {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Cached, demand-managed access to channel telemetry: durable streaming
|
|
16
|
+
* subscriptions multiplexed onto one frame stream, and batched historical reads
|
|
17
|
+
* served through per-channel rolling buffers.
|
|
18
|
+
*/
|
|
19
|
+
export declare class Feed {
|
|
20
|
+
private readonly cache;
|
|
21
|
+
private readonly reader;
|
|
22
|
+
private readonly streamer;
|
|
23
|
+
constructor(props: FeedProps);
|
|
24
|
+
/**
|
|
25
|
+
* Registers durable streaming demand for the given keys. Returns synchronously;
|
|
26
|
+
* convergence failures surface as per-key statuses, never as rejections. The
|
|
27
|
+
* handler's first call precedes registration, so a throw from it leaves no
|
|
28
|
+
* subscription behind.
|
|
29
|
+
* @throws {UnexpectedError} if the feed has been closed.
|
|
30
|
+
*/
|
|
31
|
+
stream(handler: StreamHandler, keys: channel.Key[]): Subscription;
|
|
32
|
+
/**
|
|
33
|
+
* Reads the given time range for the given channel, serving from the cache and
|
|
34
|
+
* gap-filling from the cluster.
|
|
35
|
+
*/
|
|
36
|
+
read(tr: TimeRange, key: channel.Key): Promise<MultiSeries>;
|
|
37
|
+
/** Closes the feed, releasing the stream and all cached buffers. */
|
|
38
|
+
close(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/framer/feed.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,oFAAoF;AACpF,MAAM,WAAW,SACf,SACE,UAAU,EACV,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAC1B,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,cAAc,CAAC;IAC1D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,cAAc,CAAC;CAAG;AAEtF;;;;GAIG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAEnC,KAAK,EAAE,SAAS;IAqC5B;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY;IAIjE;;;OAGG;IACG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjE,oEAAoE;IAC9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
|