@camstack/types 1.2.366 → 1.2.368

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/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-NZlEFYGX.js");
2
+ const require_sleep = require("./sleep-CXlc9YJ5.js");
3
3
  const require_event_category = require("./event-category-T43rdQWR.js");
4
4
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
5
5
  //#region src/generated/cap-input-defaults.ts
@@ -16,7 +16,7 @@ const require_err_msg = require("./err-msg-Dx2Kor0g.js");
16
16
  * Plain data, zero Zod: a forked runner must not import the schema barrel
17
17
  * (~144MB RSS per runner — D28).
18
18
  *
19
- * Coverage: 26 caps, 67 methods with defaults.
19
+ * Coverage: 27 caps, 69 methods with defaults.
20
20
  */
21
21
  var CAP_INPUT_DEFAULTS = Object.freeze({
22
22
  "addons": { "getLogs": { "limit": 100 } },
@@ -40,6 +40,16 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
40
40
  "pageSize": 50
41
41
  } },
42
42
  "device-credentials": { "listDeviceCredentials": { "includeRevoked": false } },
43
+ "device-history": {
44
+ "query": {
45
+ "resolution": "auto",
46
+ "maxPoints": 1e3
47
+ },
48
+ "queryNode": {
49
+ "resolution": "auto",
50
+ "maxPoints": 1e3
51
+ }
52
+ },
43
53
  "device-manager": { "adoptionListCandidates": {
44
54
  "page": 1,
45
55
  "pageSize": 50
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as viewerUiCapability, At as createSecretsAccess, Bt as PEER_BYTES_STALL_MS, C as isZodSecret, Cn as isSecretClear, Dn as makeSecretMarker, E as HF_REPO, En as isSecretMarkerLike, Ft as registerKnownSecret, Gt as DisposerChain, I as adminUiCapability, It as scrubKnownSecrets, Kt as BaseAddon, Lt as shortSecretRefHash, Mt as clearKnownSecrets, Nt as forgetKnownSecret, On as toSecretFieldView, Ot as resolveSecretViewsIn, P as describeCustomActions, Pt as knownSecretCount, Q as readNodePin, Rt as PEER_BYTES_CHUNK_BYTES, S as collectZodSecretPaths, Sn as classifySecretWrite, Tn as isSecretMarker, Ut as DATAPLANE_SECRET_HEADER, Vt as PEER_BYTES_TICKET_TTL_MS, W as expandCapMethods, Z as nodePin, _ as createEventBusSliceSource, an as formatSecretScope, at as scopeKey, c as asString, cn as normalizeSecretOwner, d as parseJsonUnknown, et as MODEL_FORMATS, f as hfModelUrl, fn as createEvent, g as createDeviceProxy, h as isDeviceScopedCap, in as buildSecretRef, j as DEVICE_CHILDREN_BATCH_MAX, jt as MIN_SCRUBBED_LENGTH, k as deviceOpsCapability, kt as REVALIDATE_AFTER_MS, ln as parseSecretRef, m as DEVICE_SCOPED_CAPS, nn as SECRET_REF_SCHEME, nt as ReadinessTimeoutError, o as asJsonObject, on as globalSecretScope, p as BOOT_RECOVERY_BACKOFF_MS, pn as emitReadiness, qt as normalizeAddonInitResult, r as maskUrlCredentials, rn as arrayItemFieldPath, sn as isSecretRef, t as sleep, tt as ReadinessRegistry, wn as isSecretFieldView, xn as SECRET_CLEAR, zt as PEER_BYTES_MAX_OUTSTANDING } from "./sleep-DxJdzHni.mjs";
1
+ import { A as viewerUiCapability, At as createSecretsAccess, Bt as PEER_BYTES_STALL_MS, C as isZodSecret, Cn as isSecretClear, Dn as makeSecretMarker, E as HF_REPO, En as isSecretMarkerLike, Ft as registerKnownSecret, Gt as DisposerChain, I as adminUiCapability, It as scrubKnownSecrets, Kt as BaseAddon, Lt as shortSecretRefHash, Mt as clearKnownSecrets, Nt as forgetKnownSecret, On as toSecretFieldView, Ot as resolveSecretViewsIn, P as describeCustomActions, Pt as knownSecretCount, Q as readNodePin, Rt as PEER_BYTES_CHUNK_BYTES, S as collectZodSecretPaths, Sn as classifySecretWrite, Tn as isSecretMarker, Ut as DATAPLANE_SECRET_HEADER, Vt as PEER_BYTES_TICKET_TTL_MS, W as expandCapMethods, Z as nodePin, _ as createEventBusSliceSource, an as formatSecretScope, at as scopeKey, c as asString, cn as normalizeSecretOwner, d as parseJsonUnknown, et as MODEL_FORMATS, f as hfModelUrl, fn as createEvent, g as createDeviceProxy, h as isDeviceScopedCap, in as buildSecretRef, j as DEVICE_CHILDREN_BATCH_MAX, jt as MIN_SCRUBBED_LENGTH, k as deviceOpsCapability, kt as REVALIDATE_AFTER_MS, ln as parseSecretRef, m as DEVICE_SCOPED_CAPS, nn as SECRET_REF_SCHEME, nt as ReadinessTimeoutError, o as asJsonObject, on as globalSecretScope, p as BOOT_RECOVERY_BACKOFF_MS, pn as emitReadiness, qt as normalizeAddonInitResult, r as maskUrlCredentials, rn as arrayItemFieldPath, sn as isSecretRef, t as sleep, tt as ReadinessRegistry, wn as isSecretFieldView, xn as SECRET_CLEAR, zt as PEER_BYTES_MAX_OUTSTANDING } from "./sleep--g-h2_c_.mjs";
2
2
  import { t as EventCategory } from "./event-category-C4hVnRo8.mjs";
3
3
  import { a as DeviceType, t as errMsg } from "./err-msg-DX6i_MY4.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
@@ -15,7 +15,7 @@ import { a as DeviceType, t as errMsg } from "./err-msg-DX6i_MY4.mjs";
15
15
  * Plain data, zero Zod: a forked runner must not import the schema barrel
16
16
  * (~144MB RSS per runner — D28).
17
17
  *
18
- * Coverage: 26 caps, 67 methods with defaults.
18
+ * Coverage: 27 caps, 69 methods with defaults.
19
19
  */
20
20
  var CAP_INPUT_DEFAULTS = Object.freeze({
21
21
  "addons": { "getLogs": { "limit": 100 } },
@@ -39,6 +39,16 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
39
39
  "pageSize": 50
40
40
  } },
41
41
  "device-credentials": { "listDeviceCredentials": { "includeRevoked": false } },
42
+ "device-history": {
43
+ "query": {
44
+ "resolution": "auto",
45
+ "maxPoints": 1e3
46
+ },
47
+ "queryNode": {
48
+ "resolution": "auto",
49
+ "maxPoints": 1e3
50
+ }
51
+ },
42
52
  "device-manager": { "adoptionListCandidates": {
43
53
  "page": 1,
44
54
  "pageSize": 50
@@ -0,0 +1,444 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ /**
4
+ * device-history — the ONE mechanism for numeric history (D850).
5
+ *
6
+ * A device value is recorded because its capability says so (the `history`
7
+ * block of a `*.cap.ts`, captured hub-side from `DeviceStateChanged`); any
8
+ * other series is DECLARED by the addon that produces it and fed with points
9
+ * (`record`) or closed five-minute buckets (`recordBuckets`). Rollups 5m / 1h /
10
+ * 1d are computed here and nowhere else. Storage is `history.db` (D851).
11
+ *
12
+ * Who the PRODUCER is: `declareSeries`, `record` and `recordBuckets` are owner
13
+ * checked against the `callerAddonId` the transport stamps into a call that
14
+ * crossed a process (never in an input schema, so a session cannot supply it).
15
+ * A call with no stamp is refused `not-owner`. The methods are `admin` so a
16
+ * non-admin session never reaches them; an addon's `ctx.api` call bypasses the
17
+ * tier by design.
18
+ */
19
+ /** Whose history: a real device, or a cluster node (load, memory). */
20
+ export declare const DeviceHistorySubjectSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
21
+ kind: z.ZodLiteral<"device">;
22
+ deviceId: z.ZodNumber;
23
+ }, z.core.$strip>, z.ZodObject<{
24
+ kind: z.ZodLiteral<"node">;
25
+ nodeId: z.ZodString;
26
+ }, z.core.$strip>], "kind">;
27
+ export type DeviceHistorySubject = z.infer<typeof DeviceHistorySubjectSchema>;
28
+ export declare const DeviceHistoryKindSchema: z.ZodEnum<{
29
+ boolean: "boolean";
30
+ counter: "counter";
31
+ gauge: "gauge";
32
+ }>;
33
+ export type DeviceHistoryKind = z.infer<typeof DeviceHistoryKindSchema>;
34
+ export declare const DeviceHistoryResolutionSchema: z.ZodEnum<{
35
+ "1d": "1d";
36
+ "1h": "1h";
37
+ "5m": "5m";
38
+ raw: "raw";
39
+ }>;
40
+ export type DeviceHistoryResolution = z.infer<typeof DeviceHistoryResolutionSchema>;
41
+ /** Why a producer's point or bucket was not stored. Counted, never silent (D391). */
42
+ export declare const DeviceHistoryRefusalReasonSchema: z.ZodEnum<{
43
+ "ingest-mismatch": "ingest-mismatch";
44
+ "not-a-real-device": "not-a-real-device";
45
+ "not-owner": "not-owner";
46
+ "opted-out": "opted-out";
47
+ "out-of-range": "out-of-range";
48
+ rate: "rate";
49
+ undeclared: "undeclared";
50
+ }>;
51
+ export type DeviceHistoryRefusalReason = z.infer<typeof DeviceHistoryRefusalReasonSchema>;
52
+ declare const IngestResultSchema: z.ZodObject<{
53
+ accepted: z.ZodNumber;
54
+ refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
55
+ key: z.ZodString;
56
+ reason: z.ZodEnum<{
57
+ "ingest-mismatch": "ingest-mismatch";
58
+ "not-a-real-device": "not-a-real-device";
59
+ "not-owner": "not-owner";
60
+ "opted-out": "opted-out";
61
+ "out-of-range": "out-of-range";
62
+ rate: "rate";
63
+ undeclared: "undeclared";
64
+ }>;
65
+ count: z.ZodNumber;
66
+ }, z.core.$strip>>>;
67
+ }, z.core.$strip>;
68
+ export type DeviceHistoryIngestResult = z.infer<typeof IngestResultSchema>;
69
+ declare const SeriesInfoSchema: z.ZodObject<{
70
+ key: z.ZodString;
71
+ scope: z.ZodString;
72
+ kind: z.ZodEnum<{
73
+ boolean: "boolean";
74
+ counter: "counter";
75
+ gauge: "gauge";
76
+ }>;
77
+ unit: z.ZodNullable<z.ZodString>;
78
+ displayName: z.ZodString;
79
+ source: z.ZodEnum<{
80
+ addon: "addon";
81
+ cap: "cap";
82
+ }>;
83
+ firstTs: z.ZodNumber;
84
+ lastTs: z.ZodNumber;
85
+ }, z.core.$strip>;
86
+ export type DeviceHistorySeriesInfo = z.infer<typeof SeriesInfoSchema>;
87
+ declare const QueryPointSchema: z.ZodObject<{
88
+ t: z.ZodNumber;
89
+ samples: z.ZodNumber;
90
+ mean: z.ZodNullable<z.ZodNumber>;
91
+ twMean: z.ZodNullable<z.ZodNumber>;
92
+ min: z.ZodNumber;
93
+ max: z.ZodNumber;
94
+ last: z.ZodNullable<z.ZodNumber>;
95
+ }, z.core.$strip>;
96
+ export type DeviceHistoryQueryPoint = z.infer<typeof QueryPointSchema>;
97
+ /** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
98
+ export declare const DeviceHistoryStatusSchema: z.ZodObject<{
99
+ startedAt: z.ZodNumber;
100
+ ready: z.ZodBoolean;
101
+ series: z.ZodNumber;
102
+ metrics: z.ZodNumber;
103
+ optedOutDevices: z.ZodNumber;
104
+ tiers: z.ZodReadonly<z.ZodArray<z.ZodObject<{
105
+ tier: z.ZodEnum<{
106
+ "1d": "1d";
107
+ "1h": "1h";
108
+ "5m": "5m";
109
+ raw: "raw";
110
+ }>;
111
+ rows: z.ZodNullable<z.ZodNumber>;
112
+ approxBytes: z.ZodNullable<z.ZodNumber>;
113
+ countedAt: z.ZodNullable<z.ZodNumber>;
114
+ }, z.core.$strip>>>;
115
+ capture: z.ZodObject<{
116
+ eventsSeen: z.ZodNumber;
117
+ pointsEmitted: z.ZodNumber;
118
+ pointsWritten: z.ZodNumber;
119
+ pointsDropped: z.ZodNumber;
120
+ bufferDepth: z.ZodNumber;
121
+ trailingEmitted: z.ZodNumber;
122
+ reconciledPoints: z.ZodNumber;
123
+ reconcileRuns: z.ZodNumber;
124
+ reconcileFailures: z.ZodNumber;
125
+ lastReconcileAt: z.ZodNullable<z.ZodNumber>;
126
+ lastFlushAt: z.ZodNullable<z.ZodNumber>;
127
+ flushFailures: z.ZodNumber;
128
+ skipped: z.ZodRecord<z.ZodString, z.ZodNumber>;
129
+ }, z.core.$strip>;
130
+ ingest: z.ZodObject<{
131
+ accepted: z.ZodNumber;
132
+ refused: z.ZodRecord<z.ZodString, z.ZodNumber>;
133
+ }, z.core.$strip>;
134
+ rollup: z.ZodObject<{
135
+ last5mAt: z.ZodNullable<z.ZodNumber>;
136
+ last1hAt: z.ZodNullable<z.ZodNumber>;
137
+ last1dAt: z.ZodNullable<z.ZodNumber>;
138
+ errors: z.ZodNumber;
139
+ dirty5m: z.ZodNumber;
140
+ dirty1h: z.ZodNumber;
141
+ dirty1d: z.ZodNumber;
142
+ }, z.core.$strip>;
143
+ retention: z.ZodObject<{
144
+ lastRunAt: z.ZodNullable<z.ZodNumber>;
145
+ deleted: z.ZodRecord<z.ZodString, z.ZodNumber>;
146
+ purgedSeries: z.ZodNumber;
147
+ }, z.core.$strip>;
148
+ directory: z.ZodObject<{
149
+ devices: z.ZodNumber;
150
+ lastRefreshAt: z.ZodNullable<z.ZodNumber>;
151
+ }, z.core.$strip>;
152
+ }, z.core.$strip>;
153
+ export type DeviceHistoryStatus = z.infer<typeof DeviceHistoryStatusSchema>;
154
+ export declare const deviceHistoryCapability: {
155
+ readonly name: 'device-history';
156
+ readonly scope: 'system';
157
+ readonly mode: 'singleton';
158
+ readonly methods: {
159
+ /**
160
+ * The series a DEVICE has, and their span. `deviceId` is a flat top-level field
161
+ * on purpose: the generated device selector (and so the scope gate) only sees
162
+ * top-level ids, and a nested `subject.deviceId` would let a principal limited
163
+ * to one device read another's history. Node series are the admin-only
164
+ * `listNodeSeries` / `queryNode`.
165
+ */
166
+ readonly listSeries: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
167
+ deviceId: z.ZodNumber;
168
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
169
+ key: z.ZodString;
170
+ scope: z.ZodString;
171
+ kind: z.ZodEnum<{
172
+ boolean: "boolean";
173
+ counter: "counter";
174
+ gauge: "gauge";
175
+ }>;
176
+ unit: z.ZodNullable<z.ZodString>;
177
+ displayName: z.ZodString;
178
+ source: z.ZodEnum<{
179
+ addon: "addon";
180
+ cap: "cap";
181
+ }>;
182
+ firstTs: z.ZodNumber;
183
+ lastTs: z.ZodNumber;
184
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
185
+ readonly listNodeSeries: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
186
+ nodeId: z.ZodString;
187
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
188
+ key: z.ZodString;
189
+ scope: z.ZodString;
190
+ kind: z.ZodEnum<{
191
+ boolean: "boolean";
192
+ counter: "counter";
193
+ gauge: "gauge";
194
+ }>;
195
+ unit: z.ZodNullable<z.ZodString>;
196
+ displayName: z.ZodString;
197
+ source: z.ZodEnum<{
198
+ addon: "addon";
199
+ cap: "cap";
200
+ }>;
201
+ firstTs: z.ZodNumber;
202
+ lastTs: z.ZodNumber;
203
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
204
+ /**
205
+ * One series (or every scope of it) at one resolution. `auto` picks the
206
+ * finest tier whose retention covers `from` and whose point count fits
207
+ * `maxPoints`; when even the coarsest tier does not fit, the newest
208
+ * `maxPoints` points are returned and `truncated` is true.
209
+ */
210
+ readonly query: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
211
+ key: z.ZodString;
212
+ scope: z.ZodOptional<z.ZodString>;
213
+ from: z.ZodNumber;
214
+ to: z.ZodNumber;
215
+ resolution: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
216
+ "1d": "1d";
217
+ "1h": "1h";
218
+ "5m": "5m";
219
+ raw: "raw";
220
+ }>, z.ZodLiteral<"auto">]>>;
221
+ maxPoints: z.ZodDefault<z.ZodNumber>;
222
+ deviceId: z.ZodNumber;
223
+ }, z.core.$strip>, z.ZodObject<{
224
+ resolution: z.ZodEnum<{
225
+ "1d": "1d";
226
+ "1h": "1h";
227
+ "5m": "5m";
228
+ raw: "raw";
229
+ }>;
230
+ series: z.ZodReadonly<z.ZodArray<z.ZodObject<{
231
+ scope: z.ZodString;
232
+ before: z.ZodNullable<z.ZodObject<{
233
+ t: z.ZodNumber;
234
+ value: z.ZodNullable<z.ZodNumber>;
235
+ }, z.core.$strip>>;
236
+ points: z.ZodReadonly<z.ZodArray<z.ZodObject<{
237
+ t: z.ZodNumber;
238
+ samples: z.ZodNumber;
239
+ mean: z.ZodNullable<z.ZodNumber>;
240
+ twMean: z.ZodNullable<z.ZodNumber>;
241
+ min: z.ZodNumber;
242
+ max: z.ZodNumber;
243
+ last: z.ZodNullable<z.ZodNumber>;
244
+ }, z.core.$strip>>>;
245
+ }, z.core.$strip>>>;
246
+ truncated: z.ZodBoolean;
247
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
248
+ readonly queryNode: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
249
+ key: z.ZodString;
250
+ scope: z.ZodOptional<z.ZodString>;
251
+ from: z.ZodNumber;
252
+ to: z.ZodNumber;
253
+ resolution: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
254
+ "1d": "1d";
255
+ "1h": "1h";
256
+ "5m": "5m";
257
+ raw: "raw";
258
+ }>, z.ZodLiteral<"auto">]>>;
259
+ maxPoints: z.ZodDefault<z.ZodNumber>;
260
+ nodeId: z.ZodString;
261
+ }, z.core.$strip>, z.ZodObject<{
262
+ resolution: z.ZodEnum<{
263
+ "1d": "1d";
264
+ "1h": "1h";
265
+ "5m": "5m";
266
+ raw: "raw";
267
+ }>;
268
+ series: z.ZodReadonly<z.ZodArray<z.ZodObject<{
269
+ scope: z.ZodString;
270
+ before: z.ZodNullable<z.ZodObject<{
271
+ t: z.ZodNumber;
272
+ value: z.ZodNullable<z.ZodNumber>;
273
+ }, z.core.$strip>>;
274
+ points: z.ZodReadonly<z.ZodArray<z.ZodObject<{
275
+ t: z.ZodNumber;
276
+ samples: z.ZodNumber;
277
+ mean: z.ZodNullable<z.ZodNumber>;
278
+ twMean: z.ZodNullable<z.ZodNumber>;
279
+ min: z.ZodNumber;
280
+ max: z.ZodNumber;
281
+ last: z.ZodNullable<z.ZodNumber>;
282
+ }, z.core.$strip>>>;
283
+ }, z.core.$strip>>>;
284
+ truncated: z.ZodBoolean;
285
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
286
+ /** Producer: declare (idempotent) a series key this addon owns: `addon:<callerAddonId>/<name>`. */
287
+ readonly declareSeries: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
288
+ name: z.ZodString;
289
+ subjectKind: z.ZodEnum<{
290
+ device: "device";
291
+ node: "node";
292
+ }>;
293
+ kind: z.ZodEnum<{
294
+ boolean: "boolean";
295
+ counter: "counter";
296
+ gauge: "gauge";
297
+ }>;
298
+ unit: z.ZodOptional<z.ZodString>;
299
+ displayName: z.ZodString;
300
+ ingest: z.ZodEnum<{
301
+ buckets: "buckets";
302
+ points: "points";
303
+ }>;
304
+ }, z.core.$strip>, z.ZodObject<{
305
+ key: z.ZodString;
306
+ }, z.core.$strip>, "mutation">;
307
+ /** Producer: points. Low rate: at most one per 10 s per series, sustained. */
308
+ readonly record: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
309
+ points: z.ZodArray<z.ZodObject<{
310
+ key: z.ZodString;
311
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
312
+ kind: z.ZodLiteral<"device">;
313
+ deviceId: z.ZodNumber;
314
+ }, z.core.$strip>, z.ZodObject<{
315
+ kind: z.ZodLiteral<"node">;
316
+ nodeId: z.ZodString;
317
+ }, z.core.$strip>], "kind">;
318
+ scope: z.ZodDefault<z.ZodString>;
319
+ ts: z.ZodNumber;
320
+ value: z.ZodNumber;
321
+ }, z.core.$strip>>;
322
+ }, z.core.$strip>, z.ZodObject<{
323
+ accepted: z.ZodNumber;
324
+ refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
325
+ key: z.ZodString;
326
+ reason: z.ZodEnum<{
327
+ "ingest-mismatch": "ingest-mismatch";
328
+ "not-a-real-device": "not-a-real-device";
329
+ "not-owner": "not-owner";
330
+ "opted-out": "opted-out";
331
+ "out-of-range": "out-of-range";
332
+ rate: "rate";
333
+ undeclared: "undeclared";
334
+ }>;
335
+ count: z.ZodNumber;
336
+ }, z.core.$strip>>>;
337
+ }, z.core.$strip>, "mutation">;
338
+ /** Producer: CLOSED five-minute buckets. Idempotent upsert keyed (series, bucketStart). */
339
+ readonly recordBuckets: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
340
+ buckets: z.ZodArray<z.ZodObject<{
341
+ key: z.ZodString;
342
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
343
+ kind: z.ZodLiteral<"device">;
344
+ deviceId: z.ZodNumber;
345
+ }, z.core.$strip>, z.ZodObject<{
346
+ kind: z.ZodLiteral<"node">;
347
+ nodeId: z.ZodString;
348
+ }, z.core.$strip>], "kind">;
349
+ scope: z.ZodDefault<z.ZodString>;
350
+ bucketStart: z.ZodNumber;
351
+ samples: z.ZodNumber;
352
+ sum: z.ZodNumber;
353
+ min: z.ZodNumber;
354
+ max: z.ZodNumber;
355
+ last: z.ZodNullable<z.ZodNumber>;
356
+ lastTs: z.ZodNullable<z.ZodNumber>;
357
+ }, z.core.$strip>>;
358
+ }, z.core.$strip>, z.ZodObject<{
359
+ accepted: z.ZodNumber;
360
+ refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
361
+ key: z.ZodString;
362
+ reason: z.ZodEnum<{
363
+ "ingest-mismatch": "ingest-mismatch";
364
+ "not-a-real-device": "not-a-real-device";
365
+ "not-owner": "not-owner";
366
+ "opted-out": "opted-out";
367
+ "out-of-range": "out-of-range";
368
+ rate: "rate";
369
+ undeclared: "undeclared";
370
+ }>;
371
+ count: z.ZodNumber;
372
+ }, z.core.$strip>>>;
373
+ }, z.core.$strip>, "mutation">;
374
+ /** Per-device opt-out. This addon IS the authority: the switch stores nothing elsewhere (D62). */
375
+ readonly getDeviceEnabled: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
376
+ deviceId: z.ZodNumber;
377
+ }, z.core.$strip>, z.ZodObject<{
378
+ enabled: z.ZodBoolean;
379
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
380
+ readonly setDeviceEnabled: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
381
+ deviceId: z.ZodNumber;
382
+ enabled: z.ZodBoolean;
383
+ }, z.core.$strip>, z.ZodObject<{
384
+ enabled: z.ZodBoolean;
385
+ }, z.core.$strip>, "mutation">;
386
+ readonly getStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
387
+ startedAt: z.ZodNumber;
388
+ ready: z.ZodBoolean;
389
+ series: z.ZodNumber;
390
+ metrics: z.ZodNumber;
391
+ optedOutDevices: z.ZodNumber;
392
+ tiers: z.ZodReadonly<z.ZodArray<z.ZodObject<{
393
+ tier: z.ZodEnum<{
394
+ "1d": "1d";
395
+ "1h": "1h";
396
+ "5m": "5m";
397
+ raw: "raw";
398
+ }>;
399
+ rows: z.ZodNullable<z.ZodNumber>;
400
+ approxBytes: z.ZodNullable<z.ZodNumber>;
401
+ countedAt: z.ZodNullable<z.ZodNumber>;
402
+ }, z.core.$strip>>>;
403
+ capture: z.ZodObject<{
404
+ eventsSeen: z.ZodNumber;
405
+ pointsEmitted: z.ZodNumber;
406
+ pointsWritten: z.ZodNumber;
407
+ pointsDropped: z.ZodNumber;
408
+ bufferDepth: z.ZodNumber;
409
+ trailingEmitted: z.ZodNumber;
410
+ reconciledPoints: z.ZodNumber;
411
+ reconcileRuns: z.ZodNumber;
412
+ reconcileFailures: z.ZodNumber;
413
+ lastReconcileAt: z.ZodNullable<z.ZodNumber>;
414
+ lastFlushAt: z.ZodNullable<z.ZodNumber>;
415
+ flushFailures: z.ZodNumber;
416
+ skipped: z.ZodRecord<z.ZodString, z.ZodNumber>;
417
+ }, z.core.$strip>;
418
+ ingest: z.ZodObject<{
419
+ accepted: z.ZodNumber;
420
+ refused: z.ZodRecord<z.ZodString, z.ZodNumber>;
421
+ }, z.core.$strip>;
422
+ rollup: z.ZodObject<{
423
+ last5mAt: z.ZodNullable<z.ZodNumber>;
424
+ last1hAt: z.ZodNullable<z.ZodNumber>;
425
+ last1dAt: z.ZodNullable<z.ZodNumber>;
426
+ errors: z.ZodNumber;
427
+ dirty5m: z.ZodNumber;
428
+ dirty1h: z.ZodNumber;
429
+ dirty1d: z.ZodNumber;
430
+ }, z.core.$strip>;
431
+ retention: z.ZodObject<{
432
+ lastRunAt: z.ZodNullable<z.ZodNumber>;
433
+ deleted: z.ZodRecord<z.ZodString, z.ZodNumber>;
434
+ purgedSeries: z.ZodNumber;
435
+ }, z.core.$strip>;
436
+ directory: z.ZodObject<{
437
+ devices: z.ZodNumber;
438
+ lastRefreshAt: z.ZodNullable<z.ZodNumber>;
439
+ }, z.core.$strip>;
440
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
441
+ };
442
+ };
443
+ export type IDeviceHistoryProvider = InferProvider<typeof deviceHistoryCapability>;
444
+ export {};
@@ -46,6 +46,7 @@ export { CustomModelDescriptorSchema, customModelRegistryCapability, ImportModel
46
46
  export { type DataStoreEngineInfo, dataStoreProviderCapability, EngineInfoSchema as DataStoreEngineInfoSchema, type IDataStoreProvider, } from './data-store-provider.cap.js';
47
47
  export { type ArchiveSqliteSnapshot, ArchiveSqliteSnapshotSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, type DatabaseSnapshotRequest, DatabaseSnapshotRequestSchema, type DatabaseSnapshotResult, DatabaseSnapshotResultSchema, type DatabaseSnapshotTable, DatabaseSnapshotTableSchema, type DatabaseSnapshotTargets, DatabaseSnapshotTargetsSchema, type DatabaseSnapshotWritten, DatabaseSnapshotWrittenSchema, databaseSnapshotCapability, type IDatabaseSnapshotProvider, } from './database-snapshot.cap.js';
48
48
  export { type IKeychainProvider, KEYCHAIN_MAX_REFS_PER_CALL, type KeychainResolveEntry, KeychainResolveEntrySchema, type KeychainResolveResult, KeychainResolveResultSchema, type KeychainSecretMeta, KeychainSecretMetaSchema, type KeychainState, KeychainStateSchema, type KeychainUnavailableReason, KeychainUnavailableReasonSchema, keychainCapability, } from './keychain.cap.js';
49
+ export { type DeviceHistoryStatus, DeviceHistoryStatusSchema, type DeviceHistoryIngestResult, type DeviceHistoryKind, DeviceHistoryKindSchema, type DeviceHistoryQueryPoint, type DeviceHistoryRefusalReason, DeviceHistoryRefusalReasonSchema, type DeviceHistoryResolution, DeviceHistoryResolutionSchema, type DeviceHistorySeriesInfo, type DeviceHistorySubject, DeviceHistorySubjectSchema, type IDeviceHistoryProvider, deviceHistoryCapability, } from './device-history.cap.js';
49
50
  export { type DeviceCaStatus, DeviceCaStatusSchema, type DeviceCertificateSettings, DeviceCertificateSettingsSchema, deviceCredentialsCapability, type IDeviceCredentialsProvider, } from './device-credentials.cap.js';
50
51
  export { type HttpsLeafInfo, HttpsLeafInfoSchema, type INodeCertificatesProvider, type MeshLeafInfo, MeshLeafInfoSchema, type NodeHttpsState, NodeHttpsStateSchema, nodeCertificatesCapability, } from './node-certificates.cap.js';
51
52
  export { type IKeychainAdminProvider, KEYCHAIN_RESET_CONFIRMATION, type KeychainAdminSecret, KeychainAdminSecretSchema, type KeychainAuditAction, KeychainAuditActionSchema, type KeychainAuditEntry, KeychainAuditEntrySchema, type KeychainKeySource, type KeychainKeySourceKind, KeychainKeySourceKindSchema, KeychainKeySourceSchema, KEYCHAIN_RESET_TRIGGER_ACTOR, type KeychainResetRecord, KeychainResetRecordSchema, type KeychainSecretUsage, KeychainSecretUsageSchema, type KeychainStatus, KeychainStatusSchema, keychainAdminCapability, type SystemHeldSecretName, SystemHeldSecretNameSchema, } from './keychain-admin.cap.js';
@@ -286,6 +287,7 @@ import type { coverCapability } from './cover.cap.js';
286
287
  import type { customModelRegistryCapability } from './custom-model-registry.cap.js';
287
288
  import type { dataStoreProviderCapability } from './data-store-provider.cap.js';
288
289
  import type { databaseSnapshotCapability } from './database-snapshot.cap.js';
290
+ import type { deviceHistoryCapability } from './device-history.cap.js';
289
291
  import type { keychainCapability } from './keychain.cap.js';
290
292
  import type { keychainAdminCapability } from './keychain-admin.cap.js';
291
293
  import type { deviceCredentialsCapability } from './device-credentials.cap.js';
@@ -413,6 +415,6 @@ import type { trainingProviderCapability } from './training-provider.cap.js';
413
415
  import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
414
416
  import type { zoneRulesCapability } from './zone-rules.cap.js';
415
417
  import type { zonesCapability } from './zones.cap.js';
416
- type AnyCapability = typeof streamSignalsCapability | typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof databaseSnapshotCapability | typeof keychainCapability | typeof keychainAdminCapability | typeof deviceCredentialsCapability | typeof nodeCertificatesCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceAdminLinkCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof calendarSourceCapability | typeof calendarsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof composerCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof trainingCapability | typeof trainingProviderCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingArchiveCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof oidcConnectionsCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof cameraGridLayoutCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof recordingOnboardCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability | typeof deviceExtensionCapability;
418
+ type AnyCapability = typeof streamSignalsCapability | typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof databaseSnapshotCapability | typeof deviceHistoryCapability | typeof keychainCapability | typeof keychainAdminCapability | typeof deviceCredentialsCapability | typeof nodeCertificatesCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceAdminLinkCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof calendarSourceCapability | typeof calendarsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof composerCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof trainingCapability | typeof trainingProviderCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingArchiveCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof oidcConnectionsCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof cameraGridLayoutCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof recordingOnboardCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability | typeof deviceExtensionCapability;
417
419
  export type CapabilityName = AnyCapability['name'];
418
420
  export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
package/dist/client.js CHANGED
@@ -26470,6 +26470,12 @@ function createDeviceProxy(api, binding, opts) {
26470
26470
  getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
26471
26471
  applyDeviceSettingsPatch: (input) => dispatchSystem("deviceExport", "applyDeviceSettingsPatch", "mutation", input)
26472
26472
  };
26473
+ const deviceHistoryInterface = {
26474
+ listSeries: (input) => dispatchSystem("deviceHistory", "listSeries", "query", input),
26475
+ query: (input) => dispatchSystem("deviceHistory", "query", "query", input),
26476
+ getDeviceEnabled: (input) => dispatchSystem("deviceHistory", "getDeviceEnabled", "query", input),
26477
+ setDeviceEnabled: (input) => dispatchSystem("deviceHistory", "setDeviceEnabled", "mutation", input)
26478
+ };
26473
26479
  const deviceManagerInterface = {
26474
26480
  loadConfig: (input) => dispatchSystem("deviceManager", "loadConfig", "query", input),
26475
26481
  loadRuntimeState: (input) => dispatchSystem("deviceManager", "loadRuntimeState", "query", input),
@@ -26781,6 +26787,7 @@ function createDeviceProxy(api, binding, opts) {
26781
26787
  audioAnalyzer: audioAnalyzerInterface,
26782
26788
  deviceAdoption: deviceAdoptionInterface,
26783
26789
  deviceExport: deviceExportInterface,
26790
+ deviceHistory: deviceHistoryInterface,
26784
26791
  deviceManager: deviceManagerInterface,
26785
26792
  deviceState: deviceStateInterface,
26786
26793
  faceGallery: faceGalleryInterface,
@@ -27663,6 +27670,14 @@ function createSystemProxy(api) {
27663
27670
  exposeDevice: (input) => dispatch("deviceExport", "exposeDevice", "mutation", input),
27664
27671
  unexposeDevice: (input) => dispatch("deviceExport", "unexposeDevice", "mutation", input)
27665
27672
  },
27673
+ deviceHistory: {
27674
+ listNodeSeries: (input) => dispatch("deviceHistory", "listNodeSeries", "query", input),
27675
+ queryNode: (input) => dispatch("deviceHistory", "queryNode", "query", input),
27676
+ declareSeries: (input) => dispatch("deviceHistory", "declareSeries", "mutation", input),
27677
+ record: (input) => dispatch("deviceHistory", "record", "mutation", input),
27678
+ recordBuckets: (input) => dispatch("deviceHistory", "recordBuckets", "mutation", input),
27679
+ getStatus: (input) => dispatch("deviceHistory", "getStatus", "query", input)
27680
+ },
27666
27681
  deviceManager: {
27667
27682
  allocateDeviceId: (input) => dispatch("deviceManager", "allocateDeviceId", "mutation", input),
27668
27683
  migrateDevice: (input) => dispatch("deviceManager", "migrateDevice", "mutation", input),
package/dist/client.mjs CHANGED
@@ -26469,6 +26469,12 @@ function createDeviceProxy(api, binding, opts) {
26469
26469
  getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
26470
26470
  applyDeviceSettingsPatch: (input) => dispatchSystem("deviceExport", "applyDeviceSettingsPatch", "mutation", input)
26471
26471
  };
26472
+ const deviceHistoryInterface = {
26473
+ listSeries: (input) => dispatchSystem("deviceHistory", "listSeries", "query", input),
26474
+ query: (input) => dispatchSystem("deviceHistory", "query", "query", input),
26475
+ getDeviceEnabled: (input) => dispatchSystem("deviceHistory", "getDeviceEnabled", "query", input),
26476
+ setDeviceEnabled: (input) => dispatchSystem("deviceHistory", "setDeviceEnabled", "mutation", input)
26477
+ };
26472
26478
  const deviceManagerInterface = {
26473
26479
  loadConfig: (input) => dispatchSystem("deviceManager", "loadConfig", "query", input),
26474
26480
  loadRuntimeState: (input) => dispatchSystem("deviceManager", "loadRuntimeState", "query", input),
@@ -26780,6 +26786,7 @@ function createDeviceProxy(api, binding, opts) {
26780
26786
  audioAnalyzer: audioAnalyzerInterface,
26781
26787
  deviceAdoption: deviceAdoptionInterface,
26782
26788
  deviceExport: deviceExportInterface,
26789
+ deviceHistory: deviceHistoryInterface,
26783
26790
  deviceManager: deviceManagerInterface,
26784
26791
  deviceState: deviceStateInterface,
26785
26792
  faceGallery: faceGalleryInterface,
@@ -27662,6 +27669,14 @@ function createSystemProxy(api) {
27662
27669
  exposeDevice: (input) => dispatch("deviceExport", "exposeDevice", "mutation", input),
27663
27670
  unexposeDevice: (input) => dispatch("deviceExport", "unexposeDevice", "mutation", input)
27664
27671
  },
27672
+ deviceHistory: {
27673
+ listNodeSeries: (input) => dispatch("deviceHistory", "listNodeSeries", "query", input),
27674
+ queryNode: (input) => dispatch("deviceHistory", "queryNode", "query", input),
27675
+ declareSeries: (input) => dispatch("deviceHistory", "declareSeries", "mutation", input),
27676
+ record: (input) => dispatch("deviceHistory", "record", "mutation", input),
27677
+ recordBuckets: (input) => dispatch("deviceHistory", "recordBuckets", "mutation", input),
27678
+ getStatus: (input) => dispatch("deviceHistory", "getStatus", "query", input)
27679
+ },
27665
27680
  deviceManager: {
27666
27681
  allocateDeviceId: (input) => dispatch("deviceManager", "allocateDeviceId", "mutation", input),
27667
27682
  migrateDevice: (input) => dispatch("deviceManager", "migrateDevice", "mutation", input),