@camstack/types 1.2.105 → 1.2.106
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/capabilities/addons.cap.d.ts +4 -4
- package/dist/capabilities/battery.cap.d.ts +4 -4
- package/dist/capabilities/control.cap.d.ts +4 -4
- package/dist/capabilities/core-blocks.cap.d.ts +8 -8
- package/dist/capabilities/custom-model-registry.cap.d.ts +4 -4
- package/dist/capabilities/data-store-provider.cap.d.ts +1 -0
- package/dist/capabilities/device-manager.cap.d.ts +1 -1
- package/dist/capabilities/face-gallery.cap.d.ts +3 -1
- package/dist/capabilities/llm-runtime.cap.d.ts +3 -3
- package/dist/capabilities/llm.cap.d.ts +4 -4
- package/dist/capabilities/model-convert.cap.d.ts +6 -6
- package/dist/capabilities/model-distributor.cap.d.ts +4 -4
- package/dist/capabilities/native-object-detection.cap.d.ts +15 -15
- package/dist/capabilities/notification-output.cap.d.ts +18 -18
- package/dist/capabilities/notification-rules.cap.d.ts +26 -26
- package/dist/capabilities/oauth-integration.cap.d.ts +2 -2
- package/dist/capabilities/osd-manager.cap.d.ts +14 -14
- package/dist/capabilities/pipeline-analytics.cap.d.ts +53 -53
- package/dist/capabilities/pipeline-executor.cap.d.ts +7 -7
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +19 -19
- package/dist/capabilities/plate-gallery.cap.d.ts +3 -1
- package/dist/capabilities/platform-probe.cap.d.ts +2 -2
- package/dist/capabilities/recording-export.cap.d.ts +7 -7
- package/dist/capabilities/recording.cap.d.ts +9 -30
- package/dist/capabilities/scene-monitor.cap.d.ts +8 -8
- package/dist/capabilities/settings-store.cap.d.ts +17 -2
- package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
- package/dist/capabilities/storage-migration.cap.d.ts +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +6 -6
- package/dist/capabilities/user-management.cap.d.ts +20 -20
- package/dist/capabilities/vacuum-control.cap.d.ts +13 -13
- package/dist/encode-profile.d.ts +2 -2
- package/dist/generated/addon-api.d.ts +2 -6
- package/dist/health/wiring-health.d.ts +8 -8
- package/dist/index.js +62 -97
- package/dist/index.mjs +63 -92
- package/dist/interfaces/addon.d.ts +29 -7
- package/dist/interfaces/adoption-job.d.ts +2 -2
- package/dist/interfaces/ops-log.d.ts +2 -2
- package/dist/interfaces/recording-config.d.ts +7 -57
- package/dist/interfaces/relocate.d.ts +4 -4
- package/dist/interfaces/storage.d.ts +23 -0
- package/dist/lifecycle/job.d.ts +4 -4
- package/dist/schemas/auth-records.d.ts +4 -4
- package/dist/types/models.d.ts +7 -7
- package/package.json +1 -1
|
@@ -46,9 +46,9 @@ export type VacuumState = z.infer<typeof VacuumStateSchema>;
|
|
|
46
46
|
export declare const TankStatusSchema: z.ZodObject<{
|
|
47
47
|
level: z.ZodNullable<z.ZodNumber>;
|
|
48
48
|
status: z.ZodNullable<z.ZodEnum<{
|
|
49
|
+
full: "full";
|
|
49
50
|
ok: "ok";
|
|
50
51
|
low: "low";
|
|
51
|
-
full: "full";
|
|
52
52
|
}>>;
|
|
53
53
|
}, z.core.$strip>;
|
|
54
54
|
export type TankStatus = z.infer<typeof TankStatusSchema>;
|
|
@@ -68,33 +68,33 @@ export declare const VacuumControlStatusSchema: z.ZodObject<{
|
|
|
68
68
|
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
69
69
|
level: z.ZodNullable<z.ZodNumber>;
|
|
70
70
|
status: z.ZodNullable<z.ZodEnum<{
|
|
71
|
+
full: "full";
|
|
71
72
|
ok: "ok";
|
|
72
73
|
low: "low";
|
|
73
|
-
full: "full";
|
|
74
74
|
}>>;
|
|
75
75
|
}, z.core.$strip>>;
|
|
76
76
|
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
77
77
|
level: z.ZodNullable<z.ZodNumber>;
|
|
78
78
|
status: z.ZodNullable<z.ZodEnum<{
|
|
79
|
+
full: "full";
|
|
79
80
|
ok: "ok";
|
|
80
81
|
low: "low";
|
|
81
|
-
full: "full";
|
|
82
82
|
}>>;
|
|
83
83
|
}, z.core.$strip>>;
|
|
84
84
|
detergent: z.ZodNullable<z.ZodObject<{
|
|
85
85
|
level: z.ZodNullable<z.ZodNumber>;
|
|
86
86
|
status: z.ZodNullable<z.ZodEnum<{
|
|
87
|
+
full: "full";
|
|
87
88
|
ok: "ok";
|
|
88
89
|
low: "low";
|
|
89
|
-
full: "full";
|
|
90
90
|
}>>;
|
|
91
91
|
}, z.core.$strip>>;
|
|
92
92
|
dustBin: z.ZodNullable<z.ZodObject<{
|
|
93
93
|
level: z.ZodNullable<z.ZodNumber>;
|
|
94
94
|
status: z.ZodNullable<z.ZodEnum<{
|
|
95
|
+
full: "full";
|
|
95
96
|
ok: "ok";
|
|
96
97
|
low: "low";
|
|
97
|
-
full: "full";
|
|
98
98
|
}>>;
|
|
99
99
|
}, z.core.$strip>>;
|
|
100
100
|
progressPercent: z.ZodNullable<z.ZodNumber>;
|
|
@@ -147,33 +147,33 @@ export declare const vacuumControlCapability: {
|
|
|
147
147
|
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
148
148
|
level: z.ZodNullable<z.ZodNumber>;
|
|
149
149
|
status: z.ZodNullable<z.ZodEnum<{
|
|
150
|
+
full: "full";
|
|
150
151
|
ok: "ok";
|
|
151
152
|
low: "low";
|
|
152
|
-
full: "full";
|
|
153
153
|
}>>;
|
|
154
154
|
}, z.core.$strip>>;
|
|
155
155
|
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
156
156
|
level: z.ZodNullable<z.ZodNumber>;
|
|
157
157
|
status: z.ZodNullable<z.ZodEnum<{
|
|
158
|
+
full: "full";
|
|
158
159
|
ok: "ok";
|
|
159
160
|
low: "low";
|
|
160
|
-
full: "full";
|
|
161
161
|
}>>;
|
|
162
162
|
}, z.core.$strip>>;
|
|
163
163
|
detergent: z.ZodNullable<z.ZodObject<{
|
|
164
164
|
level: z.ZodNullable<z.ZodNumber>;
|
|
165
165
|
status: z.ZodNullable<z.ZodEnum<{
|
|
166
|
+
full: "full";
|
|
166
167
|
ok: "ok";
|
|
167
168
|
low: "low";
|
|
168
|
-
full: "full";
|
|
169
169
|
}>>;
|
|
170
170
|
}, z.core.$strip>>;
|
|
171
171
|
dustBin: z.ZodNullable<z.ZodObject<{
|
|
172
172
|
level: z.ZodNullable<z.ZodNumber>;
|
|
173
173
|
status: z.ZodNullable<z.ZodEnum<{
|
|
174
|
+
full: "full";
|
|
174
175
|
ok: "ok";
|
|
175
176
|
low: "low";
|
|
176
|
-
full: "full";
|
|
177
177
|
}>>;
|
|
178
178
|
}, z.core.$strip>>;
|
|
179
179
|
progressPercent: z.ZodNullable<z.ZodNumber>;
|
|
@@ -203,33 +203,33 @@ export declare const vacuumControlCapability: {
|
|
|
203
203
|
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
204
204
|
level: z.ZodNullable<z.ZodNumber>;
|
|
205
205
|
status: z.ZodNullable<z.ZodEnum<{
|
|
206
|
+
full: "full";
|
|
206
207
|
ok: "ok";
|
|
207
208
|
low: "low";
|
|
208
|
-
full: "full";
|
|
209
209
|
}>>;
|
|
210
210
|
}, z.core.$strip>>;
|
|
211
211
|
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
212
212
|
level: z.ZodNullable<z.ZodNumber>;
|
|
213
213
|
status: z.ZodNullable<z.ZodEnum<{
|
|
214
|
+
full: "full";
|
|
214
215
|
ok: "ok";
|
|
215
216
|
low: "low";
|
|
216
|
-
full: "full";
|
|
217
217
|
}>>;
|
|
218
218
|
}, z.core.$strip>>;
|
|
219
219
|
detergent: z.ZodNullable<z.ZodObject<{
|
|
220
220
|
level: z.ZodNullable<z.ZodNumber>;
|
|
221
221
|
status: z.ZodNullable<z.ZodEnum<{
|
|
222
|
+
full: "full";
|
|
222
223
|
ok: "ok";
|
|
223
224
|
low: "low";
|
|
224
|
-
full: "full";
|
|
225
225
|
}>>;
|
|
226
226
|
}, z.core.$strip>>;
|
|
227
227
|
dustBin: z.ZodNullable<z.ZodObject<{
|
|
228
228
|
level: z.ZodNullable<z.ZodNumber>;
|
|
229
229
|
status: z.ZodNullable<z.ZodEnum<{
|
|
230
|
+
full: "full";
|
|
230
231
|
ok: "ok";
|
|
231
232
|
low: "low";
|
|
232
|
-
full: "full";
|
|
233
233
|
}>>;
|
|
234
234
|
}, z.core.$strip>>;
|
|
235
235
|
progressPercent: z.ZodNullable<z.ZodNumber>;
|
package/dist/encode-profile.d.ts
CHANGED
|
@@ -30,11 +30,11 @@ export declare const VideoEncodeSchema: z.ZodObject<{
|
|
|
30
30
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
31
31
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
32
32
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
fast: "fast";
|
|
33
34
|
ultrafast: "ultrafast";
|
|
34
35
|
superfast: "superfast";
|
|
35
36
|
veryfast: "veryfast";
|
|
36
37
|
faster: "faster";
|
|
37
|
-
fast: "fast";
|
|
38
38
|
medium: "medium";
|
|
39
39
|
}>>;
|
|
40
40
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -77,11 +77,11 @@ export declare const EncodeProfileSchema: z.ZodObject<{
|
|
|
77
77
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
78
78
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
79
79
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
fast: "fast";
|
|
80
81
|
ultrafast: "ultrafast";
|
|
81
82
|
superfast: "superfast";
|
|
82
83
|
veryfast: "veryfast";
|
|
83
84
|
faster: "faster";
|
|
84
|
-
fast: "fast";
|
|
85
85
|
medium: "medium";
|
|
86
86
|
}>>;
|
|
87
87
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -2876,9 +2876,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
2876
2876
|
transformer: true;
|
|
2877
2877
|
}, TRPCDecorateCreateRouterOptions<{
|
|
2878
2878
|
listIdentities: TRPCQueryProcedure<{
|
|
2879
|
-
input:
|
|
2880
|
-
nodeId?: string | undefined;
|
|
2881
|
-
} | undefined;
|
|
2879
|
+
input: z.input<typeof faceGalleryCapability.methods.listIdentities.input>;
|
|
2882
2880
|
output: z.infer<typeof faceGalleryCapability.methods.listIdentities.output>;
|
|
2883
2881
|
meta: object;
|
|
2884
2882
|
}>;
|
|
@@ -5919,9 +5917,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
5919
5917
|
meta: object;
|
|
5920
5918
|
}>;
|
|
5921
5919
|
listVehicles: TRPCQueryProcedure<{
|
|
5922
|
-
input:
|
|
5923
|
-
nodeId?: string | undefined;
|
|
5924
|
-
} | undefined;
|
|
5920
|
+
input: z.input<typeof plateGalleryCapability.methods.listVehicles.input>;
|
|
5925
5921
|
output: z.infer<typeof plateGalleryCapability.methods.listVehicles.output>;
|
|
5926
5922
|
meta: object;
|
|
5927
5923
|
}>;
|
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
import { z } from 'zod';
|
|
12
12
|
/** What kind of target a probe addressed. */
|
|
13
13
|
export declare const wiringProbeKindSchema: z.ZodEnum<{
|
|
14
|
-
widget: "widget";
|
|
15
14
|
device: "device";
|
|
16
15
|
singleton: "singleton";
|
|
16
|
+
widget: "widget";
|
|
17
17
|
}>;
|
|
18
18
|
export type WiringProbeKind = z.infer<typeof wiringProbeKindSchema>;
|
|
19
19
|
/** Result of probing a single (cap|widget [, device]) target. */
|
|
20
20
|
export declare const wiringProbeResultSchema: z.ZodObject<{
|
|
21
21
|
capName: z.ZodString;
|
|
22
22
|
kind: z.ZodEnum<{
|
|
23
|
-
widget: "widget";
|
|
24
23
|
device: "device";
|
|
25
24
|
singleton: "singleton";
|
|
25
|
+
widget: "widget";
|
|
26
26
|
}>;
|
|
27
27
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
28
28
|
reachable: z.ZodBoolean;
|
|
@@ -36,9 +36,9 @@ export declare const wiringAddonHealthSchema: z.ZodObject<{
|
|
|
36
36
|
caps: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
37
37
|
capName: z.ZodString;
|
|
38
38
|
kind: z.ZodEnum<{
|
|
39
|
-
widget: "widget";
|
|
40
39
|
device: "device";
|
|
41
40
|
singleton: "singleton";
|
|
41
|
+
widget: "widget";
|
|
42
42
|
}>;
|
|
43
43
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
44
44
|
reachable: z.ZodBoolean;
|
|
@@ -48,9 +48,9 @@ export declare const wiringAddonHealthSchema: z.ZodObject<{
|
|
|
48
48
|
widgets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
49
49
|
capName: z.ZodString;
|
|
50
50
|
kind: z.ZodEnum<{
|
|
51
|
-
widget: "widget";
|
|
52
51
|
device: "device";
|
|
53
52
|
singleton: "singleton";
|
|
53
|
+
widget: "widget";
|
|
54
54
|
}>;
|
|
55
55
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
56
56
|
reachable: z.ZodBoolean;
|
|
@@ -67,9 +67,9 @@ export declare const wiringNodeHealthSchema: z.ZodObject<{
|
|
|
67
67
|
caps: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
68
68
|
capName: z.ZodString;
|
|
69
69
|
kind: z.ZodEnum<{
|
|
70
|
-
widget: "widget";
|
|
71
70
|
device: "device";
|
|
72
71
|
singleton: "singleton";
|
|
72
|
+
widget: "widget";
|
|
73
73
|
}>;
|
|
74
74
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
75
75
|
reachable: z.ZodBoolean;
|
|
@@ -79,9 +79,9 @@ export declare const wiringNodeHealthSchema: z.ZodObject<{
|
|
|
79
79
|
widgets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
80
80
|
capName: z.ZodString;
|
|
81
81
|
kind: z.ZodEnum<{
|
|
82
|
-
widget: "widget";
|
|
83
82
|
device: "device";
|
|
84
83
|
singleton: "singleton";
|
|
84
|
+
widget: "widget";
|
|
85
85
|
}>;
|
|
86
86
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
87
87
|
reachable: z.ZodBoolean;
|
|
@@ -103,9 +103,9 @@ export declare const wiringHealthSnapshotSchema: z.ZodObject<{
|
|
|
103
103
|
caps: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
104
104
|
capName: z.ZodString;
|
|
105
105
|
kind: z.ZodEnum<{
|
|
106
|
-
widget: "widget";
|
|
107
106
|
device: "device";
|
|
108
107
|
singleton: "singleton";
|
|
108
|
+
widget: "widget";
|
|
109
109
|
}>;
|
|
110
110
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
111
111
|
reachable: z.ZodBoolean;
|
|
@@ -115,9 +115,9 @@ export declare const wiringHealthSnapshotSchema: z.ZodObject<{
|
|
|
115
115
|
widgets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
116
116
|
capName: z.ZodString;
|
|
117
117
|
kind: z.ZodEnum<{
|
|
118
|
-
widget: "widget";
|
|
119
118
|
device: "device";
|
|
120
119
|
singleton: "singleton";
|
|
120
|
+
widget: "widget";
|
|
121
121
|
}>;
|
|
122
122
|
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
123
123
|
reachable: z.ZodBoolean;
|
package/dist/index.js
CHANGED
|
@@ -1578,83 +1578,6 @@ var RecordingRetentionSchema = zod.z.object({
|
|
|
1578
1578
|
maxSizeGb: zod.z.number().min(0).optional()
|
|
1579
1579
|
});
|
|
1580
1580
|
/**
|
|
1581
|
-
* Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
|
|
1582
|
-
* sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
|
|
1583
|
-
* previews at. Five graduated steps; absent on a config = `standard` (the
|
|
1584
|
-
* shipped default, matching `sheet-geometry`/`sheet-composer`).
|
|
1585
|
-
*
|
|
1586
|
-
* Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
|
|
1587
|
-
* Each window's index sidecar carries its own tile dims, so a camera whose
|
|
1588
|
-
* preset changed over time renders every historical window at the dims it was
|
|
1589
|
-
* written with.
|
|
1590
|
-
*/
|
|
1591
|
-
var ScrubThumbnailPresetSchema = zod.z.enum([
|
|
1592
|
-
"minimal",
|
|
1593
|
-
"low",
|
|
1594
|
-
"standard",
|
|
1595
|
-
"high",
|
|
1596
|
-
"max"
|
|
1597
|
-
]);
|
|
1598
|
-
/** The default preset when a config omits `scrubThumbnails`. */
|
|
1599
|
-
var DEFAULT_SCRUB_THUMBNAIL_PRESET = "standard";
|
|
1600
|
-
/**
|
|
1601
|
-
* Preset → tile geometry + JPEG quality. Every step is 16:9; the graduated
|
|
1602
|
-
* ladder trades sheet size (and remote fetch cost) for scrub crispness.
|
|
1603
|
-
* `standard` matches the shipped `sheet-geometry`/`sheet-composer` defaults
|
|
1604
|
-
* (480×270 q72), so an unset config is byte-identical to today. The map is
|
|
1605
|
-
* strictly monotone in resolution AND quality across the ordered steps.
|
|
1606
|
-
*/
|
|
1607
|
-
var SCRUB_THUMBNAIL_PRESETS = {
|
|
1608
|
-
minimal: {
|
|
1609
|
-
tileWidth: 240,
|
|
1610
|
-
tileHeight: 135,
|
|
1611
|
-
quality: 55
|
|
1612
|
-
},
|
|
1613
|
-
low: {
|
|
1614
|
-
tileWidth: 320,
|
|
1615
|
-
tileHeight: 180,
|
|
1616
|
-
quality: 60
|
|
1617
|
-
},
|
|
1618
|
-
standard: {
|
|
1619
|
-
tileWidth: 480,
|
|
1620
|
-
tileHeight: 270,
|
|
1621
|
-
quality: 72
|
|
1622
|
-
},
|
|
1623
|
-
high: {
|
|
1624
|
-
tileWidth: 640,
|
|
1625
|
-
tileHeight: 360,
|
|
1626
|
-
quality: 80
|
|
1627
|
-
},
|
|
1628
|
-
max: {
|
|
1629
|
-
tileWidth: 960,
|
|
1630
|
-
tileHeight: 540,
|
|
1631
|
-
quality: 85
|
|
1632
|
-
}
|
|
1633
|
-
};
|
|
1634
|
-
/** Human labels for each preset (resolution-tagged), for settings UIs. */
|
|
1635
|
-
var SCRUB_THUMBNAIL_PRESET_LABELS = {
|
|
1636
|
-
minimal: "Minimal (240p)",
|
|
1637
|
-
low: "Low (320p)",
|
|
1638
|
-
standard: "Standard (480p)",
|
|
1639
|
-
high: "High (640p)",
|
|
1640
|
-
max: "Max (960p)"
|
|
1641
|
-
};
|
|
1642
|
-
/** Ordered low→high so a UI can render the ladder in graduated order. */
|
|
1643
|
-
var SCRUB_THUMBNAIL_PRESET_ORDER = [
|
|
1644
|
-
"minimal",
|
|
1645
|
-
"low",
|
|
1646
|
-
"standard",
|
|
1647
|
-
"high",
|
|
1648
|
-
"max"
|
|
1649
|
-
];
|
|
1650
|
-
/**
|
|
1651
|
-
* Resolve the geometry for a recording config's scrub-thumbnail preset,
|
|
1652
|
-
* defaulting to `standard` when unset. Pure — no I/O.
|
|
1653
|
-
*/
|
|
1654
|
-
function resolveScrubThumbnailGeometry(preset) {
|
|
1655
|
-
return SCRUB_THUMBNAIL_PRESETS[preset ?? "standard"];
|
|
1656
|
-
}
|
|
1657
|
-
/**
|
|
1658
1581
|
* The full per-camera recording intent — the wire shape of a RecordingTarget.
|
|
1659
1582
|
*
|
|
1660
1583
|
* `bands` is the ONLY authored recording intent: what to record, when, and on
|
|
@@ -1662,7 +1585,11 @@ function resolveScrubThumbnailGeometry(preset) {
|
|
|
1662
1585
|
* other field is a storage knob (profiles, segment length, retention, scrub).
|
|
1663
1586
|
*
|
|
1664
1587
|
* STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
|
|
1665
|
-
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30
|
|
1588
|
+
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
|
|
1589
|
+
* and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
|
|
1590
|
+
* deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
|
|
1591
|
+
* (D62: a switch that writes a store nobody reads is worse than no switch).
|
|
1592
|
+
* Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
|
|
1666
1593
|
* A stale caller must fail loudly — silently stripping its legacy intent would
|
|
1667
1594
|
* persist a band-less config, i.e. silently stop recording the camera.
|
|
1668
1595
|
*/
|
|
@@ -1685,14 +1612,7 @@ var RecordingConfigSchema = zod.z.object({
|
|
|
1685
1612
|
* "off" is the absence of a covering band, never a band value.
|
|
1686
1613
|
*/
|
|
1687
1614
|
bands: zod.z.array(RecordingBandSchema).default([]),
|
|
1688
|
-
retention: RecordingRetentionSchema.optional()
|
|
1689
|
-
/**
|
|
1690
|
-
* Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
|
|
1691
|
-
* timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
|
|
1692
|
-
* windows only — existing sheets are immutable, and each window's index
|
|
1693
|
-
* carries its own tile dims so mixed-preset history renders correctly.
|
|
1694
|
-
*/
|
|
1695
|
-
scrubThumbnails: ScrubThumbnailPresetSchema.optional()
|
|
1615
|
+
retention: RecordingRetentionSchema.optional()
|
|
1696
1616
|
}).strict();
|
|
1697
1617
|
/**
|
|
1698
1618
|
* Derive the {@link RecordingStorageModeSchema} summary from the authoritative
|
|
@@ -7307,11 +7227,26 @@ var settingsStoreCapability = {
|
|
|
7307
7227
|
key: zod.z.string(),
|
|
7308
7228
|
value: zod.z.unknown()
|
|
7309
7229
|
}), zod.z.void(), { kind: "mutation" }),
|
|
7310
|
-
/**
|
|
7230
|
+
/**
|
|
7231
|
+
* Rows matching a filter.
|
|
7232
|
+
*
|
|
7233
|
+
* `columns` is a SQL-level projection: the engine SELECTs only those
|
|
7234
|
+
* columns (plus the primary key) instead of the whole row. It is the only
|
|
7235
|
+
* way to stop paying disk for a column that is discarded — a heavy JSON
|
|
7236
|
+
* column dominates the row, and dropping it in JS after the read pays every
|
|
7237
|
+
* byte first. Measured on the live `pipeline-analytics:tracks` table: a
|
|
7238
|
+
* 501-row page is 4.6 MB whole and 0.11 MB projected, same index, same
|
|
7239
|
+
* plan.
|
|
7240
|
+
*
|
|
7241
|
+
* The engine REFUSES a column it cannot serve rather than omitting it —
|
|
7242
|
+
* see `SettingsQueryInput.columns` for why a projection may not be
|
|
7243
|
+
* forgiving the way a predicate is.
|
|
7244
|
+
*/
|
|
7311
7245
|
query: require_sleep.method(zod.z.object({
|
|
7312
7246
|
namespace: zod.z.string().optional(),
|
|
7313
7247
|
collection: zod.z.string(),
|
|
7314
|
-
filter: QueryFilterSchema.optional()
|
|
7248
|
+
filter: QueryFilterSchema.optional(),
|
|
7249
|
+
columns: zod.z.array(zod.z.string()).readonly().optional()
|
|
7315
7250
|
}), zod.z.array(SettingsRecordSchema).readonly()),
|
|
7316
7251
|
/** Insert a new record. */
|
|
7317
7252
|
insert: require_sleep.method(zod.z.object({
|
|
@@ -7478,7 +7413,17 @@ var dataStoreProviderCapability = {
|
|
|
7478
7413
|
query: require_sleep.method(zod.z.object({
|
|
7479
7414
|
namespace: zod.z.string().optional(),
|
|
7480
7415
|
collection: zod.z.string(),
|
|
7481
|
-
filter: QueryFilterSchema.optional()
|
|
7416
|
+
filter: QueryFilterSchema.optional(),
|
|
7417
|
+
/**
|
|
7418
|
+
* SQL-level column projection — MUST mirror `settings-store.query`.
|
|
7419
|
+
*
|
|
7420
|
+
* This is the second schema the same call passes through, and Zod
|
|
7421
|
+
* objects STRIP what they do not declare: a field present on the door
|
|
7422
|
+
* and absent here does not error, it silently disappears one hop before
|
|
7423
|
+
* the engine, and the caller concludes the projection does nothing.
|
|
7424
|
+
* `data-door-schema-parity.spec.ts` is what keeps the two in step.
|
|
7425
|
+
*/
|
|
7426
|
+
columns: zod.z.array(zod.z.string()).readonly().optional()
|
|
7482
7427
|
}), zod.z.array(SettingsRecordSchema).readonly()),
|
|
7483
7428
|
/** Insert a new record. */
|
|
7484
7429
|
insert: require_sleep.method(zod.z.object({
|
|
@@ -23600,7 +23545,27 @@ var faceGalleryCapability = {
|
|
|
23600
23545
|
scope: "system",
|
|
23601
23546
|
mode: "singleton",
|
|
23602
23547
|
methods: {
|
|
23603
|
-
listIdentities: require_sleep.method(zod.z.
|
|
23548
|
+
listIdentities: require_sleep.method(zod.z.object({
|
|
23549
|
+
/**
|
|
23550
|
+
* Inline {@link IdentitySchema.coverBase64} on every row.
|
|
23551
|
+
*
|
|
23552
|
+
* Default `false`, the same inversion `listRecentFaces` and
|
|
23553
|
+
* `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
|
|
23554
|
+
* why the burden belongs on the caller that WANTS the bytes). Measured
|
|
23555
|
+
* on the live hub the same day: four identities cost 40,979 B with the
|
|
23556
|
+
* covers inline, ~10 KB of base64 per row, on a query this UI mounts
|
|
23557
|
+
* four times and the viewer holds at `staleTime: 30_000`.
|
|
23558
|
+
*
|
|
23559
|
+
* Nothing loses its avatar: `coverMediaKey` is already on every row and
|
|
23560
|
+
* the `event-media` plane serves that key `immutable` with an ETag.
|
|
23561
|
+
*
|
|
23562
|
+
* **This is an INPUT field, so it does not reach the addon until the
|
|
23563
|
+
* next train** — the hub router validates cap inputs against its own
|
|
23564
|
+
* compiled Zod and strips a key it does not know. Until then the
|
|
23565
|
+
* provider sees `undefined`, which resolves to `false`: the cheap shape
|
|
23566
|
+
* is what ships, and the opt-in becomes reachable when the train lands.
|
|
23567
|
+
*/
|
|
23568
|
+
includeCrops: zod.z.boolean().optional() }).optional(), zod.z.array(IdentitySchema).readonly()),
|
|
23604
23569
|
createIdentity: require_sleep.method(zod.z.object({ name: zod.z.string().min(1) }), IdentitySchema, {
|
|
23605
23570
|
kind: "mutation",
|
|
23606
23571
|
auth: "admin"
|
|
@@ -27048,7 +27013,13 @@ var plateGalleryCapability = {
|
|
|
27048
27013
|
kind: "mutation",
|
|
27049
27014
|
auth: "admin"
|
|
27050
27015
|
}),
|
|
27051
|
-
listVehicles: require_sleep.method(zod.z.
|
|
27016
|
+
listVehicles: require_sleep.method(zod.z.object({
|
|
27017
|
+
/** Inline {@link VehicleSchema.coverBase64} on every row. Default
|
|
27018
|
+
* `false` — the vehicle twin of `faceGallery.listIdentities`'s
|
|
27019
|
+
* option; `coverMediaKey` + the `event-media` plane carry the picture.
|
|
27020
|
+
* INPUT field: stripped by the hub router until the train ships, which
|
|
27021
|
+
* resolves to `false` and is exactly the intended default. */
|
|
27022
|
+
includeCrops: zod.z.boolean().optional() }).optional(), zod.z.array(VehicleSchema).readonly()),
|
|
27052
27023
|
createVehicle: require_sleep.method(zod.z.object({ name: zod.z.string().min(1) }), VehicleSchema, {
|
|
27053
27024
|
kind: "mutation",
|
|
27054
27025
|
auth: "admin"
|
|
@@ -47860,7 +47831,6 @@ exports.DEFAULT_POOL_MEMORY_POLICY = DEFAULT_POOL_MEMORY_POLICY;
|
|
|
47860
47831
|
exports.DEFAULT_RECORDING_PROFILES = DEFAULT_RECORDING_PROFILES;
|
|
47861
47832
|
exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
|
|
47862
47833
|
exports.DEFAULT_RUNTIME_STATE_DURABILITY = require_sleep.DEFAULT_RUNTIME_STATE_DURABILITY;
|
|
47863
|
-
exports.DEFAULT_SCRUB_THUMBNAIL_PRESET = DEFAULT_SCRUB_THUMBNAIL_PRESET;
|
|
47864
47834
|
exports.DEFAULT_TIMELAPSE_PREVIEW_TEXT = DEFAULT_TIMELAPSE_PREVIEW_TEXT;
|
|
47865
47835
|
exports.DETAIL_CROP_PADDING_FIELD = DETAIL_CROP_PADDING_FIELD;
|
|
47866
47836
|
exports.DETAIL_CROP_PADDING_KEY = DETAIL_CROP_PADDING_KEY;
|
|
@@ -48384,9 +48354,6 @@ exports.SCENE_DEFAULT_UNCOVERED_POLICY = SCENE_DEFAULT_UNCOVERED_POLICY;
|
|
|
48384
48354
|
exports.SCENE_DIVERGED = SCENE_DIVERGED;
|
|
48385
48355
|
exports.SCENE_RESET_RECAPTURES = SCENE_RESET_RECAPTURES;
|
|
48386
48356
|
exports.SCOPE_PRESETS = SCOPE_PRESETS;
|
|
48387
|
-
exports.SCRUB_THUMBNAIL_PRESETS = SCRUB_THUMBNAIL_PRESETS;
|
|
48388
|
-
exports.SCRUB_THUMBNAIL_PRESET_LABELS = SCRUB_THUMBNAIL_PRESET_LABELS;
|
|
48389
|
-
exports.SCRUB_THUMBNAIL_PRESET_ORDER = SCRUB_THUMBNAIL_PRESET_ORDER;
|
|
48390
48357
|
exports.SENSOR_FEATURES = SENSOR_FEATURES;
|
|
48391
48358
|
exports.SENSOR_MAP = SENSOR_MAP;
|
|
48392
48359
|
exports.SOURCE_INFO_METADATA_KEY = SOURCE_INFO_METADATA_KEY;
|
|
@@ -48409,7 +48376,6 @@ exports.ScopedTokenSchema = ScopedTokenSchema;
|
|
|
48409
48376
|
exports.ScopedTokenSummarySchema = ScopedTokenSummarySchema;
|
|
48410
48377
|
exports.ScoredObjectEventSchema = ScoredObjectEventSchema;
|
|
48411
48378
|
exports.ScriptRunnerStatusSchema = ScriptRunnerStatusSchema;
|
|
48412
|
-
exports.ScrubThumbnailPresetSchema = ScrubThumbnailPresetSchema;
|
|
48413
48379
|
exports.SearchResultSchema = SearchResultSchema;
|
|
48414
48380
|
exports.SendEmailInputSchema = SendEmailInputSchema;
|
|
48415
48381
|
exports.SendEmailResultSchema = SendEmailResultSchema;
|
|
@@ -48907,7 +48873,6 @@ exports.resolveMutate = resolveMutate;
|
|
|
48907
48873
|
exports.resolvePoolMemoryPolicy = resolvePoolMemoryPolicy;
|
|
48908
48874
|
exports.resolveRecordingProfiles = resolveRecordingProfiles;
|
|
48909
48875
|
exports.resolveRunnerId = resolveRunnerId;
|
|
48910
|
-
exports.resolveScrubThumbnailGeometry = resolveScrubThumbnailGeometry;
|
|
48911
48876
|
exports.resolveVariantModelId = resolveVariantModelId;
|
|
48912
48877
|
exports.resolveViewableDeviceIds = resolveViewableDeviceIds;
|
|
48913
48878
|
exports.roleSpec = roleSpec;
|