@camstack/types 1.2.209 → 1.2.211
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 +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/camera-grid-layout.cap.d.ts +262 -0
- package/dist/capabilities/index.d.ts +4 -2
- package/dist/capabilities/ptz.cap.d.ts +37 -6
- package/dist/capabilities/stream-broker.cap.d.ts +2 -0
- package/dist/generated/addon-api.d.ts +28 -6
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/device-proxy.d.ts +2 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/index.js +229 -10
- package/dist/index.mjs +226 -11
- package/dist/{sleep-vl6nBE8d.mjs → sleep-Bs3xPtSh.mjs} +8 -3
- package/dist/{sleep-WeJUxTv-.js → sleep-OPlow2a9.js} +8 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-OPlow2a9.js");
|
|
3
3
|
const require_event_category = require("./event-category-BVfsrBYA.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as DeviceType, Et as normalizeAddonInitResult, G as ReadinessRegistry, H as nodePin, I as expandCapMethods, K as ReadinessTimeoutError, S as DEVICE_CHILDREN_BATCH_MAX, St as DATAPLANE_SECRET_HEADER, T as describeCustomActions, Tt as BaseAddon, U as readNodePin, Y as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, kt as emitReadiness, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as DisposerChain, x as viewerUiCapability } from "./sleep-
|
|
1
|
+
import { A as DeviceType, Et as normalizeAddonInitResult, G as ReadinessRegistry, H as nodePin, I as expandCapMethods, K as ReadinessTimeoutError, S as DEVICE_CHILDREN_BATCH_MAX, St as DATAPLANE_SECRET_HEADER, T as describeCustomActions, Tt as BaseAddon, U as readNodePin, Y as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, kt as emitReadiness, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as DisposerChain, x as viewerUiCapability } from "./sleep-Bs3xPtSh.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-BVDXG4tB.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DeviceType } from '../device/device-type.js';
|
|
3
|
+
import { type InferNativeProvider } from './capability-definition.js';
|
|
4
|
+
/**
|
|
5
|
+
* camera-grid-layout — the geometry of a COMPOSITE camera, on the camera's own
|
|
6
|
+
* page.
|
|
7
|
+
*
|
|
8
|
+
* ## Why this is a capability and not an addon settings schema
|
|
9
|
+
*
|
|
10
|
+
* It was one, and it did not render. The addon declared the editor as a
|
|
11
|
+
* `type: 'widget'` field inside its own `deviceSettingsSchema()`; the hub
|
|
12
|
+
* returned that section correctly and `ConfigFormField` renders `type:'widget'`
|
|
13
|
+
* perfectly well — and nothing ever asked camera-grid for it. The Cluster →
|
|
14
|
+
* Pipeline → Device Overrides page interrogates a HAND-WRITTEN list of four
|
|
15
|
+
* addons (`PIPELINE_CLUSTER_DEVICE_ADDONS`), whose own comment says an addon
|
|
16
|
+
* not on it "falls off silently".
|
|
17
|
+
*
|
|
18
|
+
* Adding a fifth name to that list would have been the wrong fix twice over:
|
|
19
|
+
* that page is per-camera DETECTION tuning, and a grid's geometry belongs
|
|
20
|
+
* beside PTZ and motion zones on the camera itself — which is exactly where the
|
|
21
|
+
* framework already puts a widget, when the widget is declared on a CAPABILITY.
|
|
22
|
+
* `deviceConfig.ui` is the mechanism (`motion-zones`, `ptz`, `ptz-autotrack`
|
|
23
|
+
* all use it): the framework emits the structural section and the widget
|
|
24
|
+
* self-persists through the cap's own mutations.
|
|
25
|
+
*
|
|
26
|
+
* ## Why one addon may implement it
|
|
27
|
+
*
|
|
28
|
+
* It is a device-scoped NATIVE cap, registered by the grid camera device
|
|
29
|
+
* itself. Nothing else declares a composite camera, so nothing else has a
|
|
30
|
+
* layout — and the device-scoped route means the widget asks THE camera, not
|
|
31
|
+
* "the camera-grid addon", which is what let the old custom-action pair be
|
|
32
|
+
* reached only by a caller that already knew the addon id.
|
|
33
|
+
*
|
|
34
|
+
* ## The tab
|
|
35
|
+
*
|
|
36
|
+
* `streaming`, not a top-tab of its own. A grid's geometry IS what its stream
|
|
37
|
+
* is, so the Streaming tab is where it belongs; a `grid` top-tab would need an
|
|
38
|
+
* entry in `WELL_KNOWN_TAB_MAP` or the device page renders the raw id as the
|
|
39
|
+
* label (measured on the robot camera, 2026-09-06 — a tab called "navigation"
|
|
40
|
+
* next to "PTZ").
|
|
41
|
+
*/
|
|
42
|
+
/** A rectangle in normalized [0,1] coordinates of whatever contains it. */
|
|
43
|
+
declare const GridNormalizedRectSchema: z.ZodObject<{
|
|
44
|
+
x: z.ZodNumber;
|
|
45
|
+
y: z.ZodNumber;
|
|
46
|
+
width: z.ZodNumber;
|
|
47
|
+
height: z.ZodNumber;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
/**
|
|
50
|
+
* One source camera, the part of its picture taken, and where that part lands.
|
|
51
|
+
*
|
|
52
|
+
* Both rectangles are NORMALIZED (D519): a source camera can change resolution
|
|
53
|
+
* — a profile switch, a firmware update, a substream that comes back different
|
|
54
|
+
* — and a stored PIXEL rectangle would quietly start cutting the wrong region,
|
|
55
|
+
* which is the class of bug nobody files.
|
|
56
|
+
*/
|
|
57
|
+
declare const GridLayoutCellSchema: z.ZodObject<{
|
|
58
|
+
deviceId: z.ZodNumber;
|
|
59
|
+
source: z.ZodObject<{
|
|
60
|
+
x: z.ZodNumber;
|
|
61
|
+
y: z.ZodNumber;
|
|
62
|
+
width: z.ZodNumber;
|
|
63
|
+
height: z.ZodNumber;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
cell: z.ZodObject<{
|
|
66
|
+
x: z.ZodNumber;
|
|
67
|
+
y: z.ZodNumber;
|
|
68
|
+
width: z.ZodNumber;
|
|
69
|
+
height: z.ZodNumber;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
/**
|
|
73
|
+
* Which profiles this grid can actually compose, and why not.
|
|
74
|
+
*
|
|
75
|
+
* A grid's `high` composes its sources' `high` and its `low` their `low`, so a
|
|
76
|
+
* profile is on offer only when EVERY source can serve it. The refusal NAMES
|
|
77
|
+
* the sources, because "this grid has no low" is not a finding — "615 has no
|
|
78
|
+
* low" is, and it is the one an operator can act on.
|
|
79
|
+
*/
|
|
80
|
+
declare const GridProfileOfferSchema: z.ZodObject<{
|
|
81
|
+
profile: z.ZodEnum<{
|
|
82
|
+
high: "high";
|
|
83
|
+
mid: "mid";
|
|
84
|
+
low: "low";
|
|
85
|
+
}>;
|
|
86
|
+
offered: z.ZodBoolean;
|
|
87
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
export declare const GridLayoutViewSchema: z.ZodObject<{
|
|
90
|
+
instanceId: z.ZodString;
|
|
91
|
+
deviceId: z.ZodNumber;
|
|
92
|
+
name: z.ZodString;
|
|
93
|
+
width: z.ZodNumber;
|
|
94
|
+
height: z.ZodNumber;
|
|
95
|
+
fps: z.ZodNumber;
|
|
96
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
97
|
+
deviceId: z.ZodNumber;
|
|
98
|
+
source: z.ZodObject<{
|
|
99
|
+
x: z.ZodNumber;
|
|
100
|
+
y: z.ZodNumber;
|
|
101
|
+
width: z.ZodNumber;
|
|
102
|
+
height: z.ZodNumber;
|
|
103
|
+
}, z.core.$strip>;
|
|
104
|
+
cell: z.ZodObject<{
|
|
105
|
+
x: z.ZodNumber;
|
|
106
|
+
y: z.ZodNumber;
|
|
107
|
+
width: z.ZodNumber;
|
|
108
|
+
height: z.ZodNumber;
|
|
109
|
+
}, z.core.$strip>;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
112
|
+
profile: z.ZodEnum<{
|
|
113
|
+
high: "high";
|
|
114
|
+
mid: "mid";
|
|
115
|
+
low: "low";
|
|
116
|
+
}>;
|
|
117
|
+
offered: z.ZodBoolean;
|
|
118
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
}, z.core.$strip>;
|
|
121
|
+
export type GridNormalizedRect = z.infer<typeof GridNormalizedRectSchema>;
|
|
122
|
+
export type GridLayoutCell = z.infer<typeof GridLayoutCellSchema>;
|
|
123
|
+
export type GridProfileOffer = z.infer<typeof GridProfileOfferSchema>;
|
|
124
|
+
export type GridLayoutView = z.infer<typeof GridLayoutViewSchema>;
|
|
125
|
+
export declare const GridLayoutPatchSchema: z.ZodObject<{
|
|
126
|
+
deviceId: z.ZodNumber;
|
|
127
|
+
name: z.ZodOptional<z.ZodString>;
|
|
128
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
129
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
130
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
131
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
132
|
+
deviceId: z.ZodNumber;
|
|
133
|
+
source: z.ZodObject<{
|
|
134
|
+
x: z.ZodNumber;
|
|
135
|
+
y: z.ZodNumber;
|
|
136
|
+
width: z.ZodNumber;
|
|
137
|
+
height: z.ZodNumber;
|
|
138
|
+
}, z.core.$strip>;
|
|
139
|
+
cell: z.ZodObject<{
|
|
140
|
+
x: z.ZodNumber;
|
|
141
|
+
y: z.ZodNumber;
|
|
142
|
+
width: z.ZodNumber;
|
|
143
|
+
height: z.ZodNumber;
|
|
144
|
+
}, z.core.$strip>;
|
|
145
|
+
}, z.core.$strip>>;
|
|
146
|
+
}, z.core.$strip>;
|
|
147
|
+
export type GridLayoutPatch = z.infer<typeof GridLayoutPatchSchema>;
|
|
148
|
+
export declare const cameraGridLayoutCapability: {
|
|
149
|
+
readonly name: "camera-grid-layout";
|
|
150
|
+
readonly scope: "device";
|
|
151
|
+
readonly deviceNative: true;
|
|
152
|
+
readonly mode: "singleton";
|
|
153
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
154
|
+
readonly deviceConfig: {
|
|
155
|
+
readonly ui: {
|
|
156
|
+
readonly kind: "widget";
|
|
157
|
+
readonly widgetId: "host/camera-grid-layout";
|
|
158
|
+
readonly tab: "streaming";
|
|
159
|
+
readonly label: "Grid layout";
|
|
160
|
+
readonly order: 20;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
readonly methods: {
|
|
164
|
+
/**
|
|
165
|
+
* The grid behind this device.
|
|
166
|
+
*
|
|
167
|
+
* `null` means ANSWERED and this camera is not a grid — not "not yet
|
|
168
|
+
* known". The widget renders its "this is not a grid camera" state only
|
|
169
|
+
* from this answer, never from an unresolved query (D315).
|
|
170
|
+
*/
|
|
171
|
+
readonly getLayout: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
172
|
+
deviceId: z.ZodNumber;
|
|
173
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
174
|
+
instanceId: z.ZodString;
|
|
175
|
+
deviceId: z.ZodNumber;
|
|
176
|
+
name: z.ZodString;
|
|
177
|
+
width: z.ZodNumber;
|
|
178
|
+
height: z.ZodNumber;
|
|
179
|
+
fps: z.ZodNumber;
|
|
180
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
181
|
+
deviceId: z.ZodNumber;
|
|
182
|
+
source: z.ZodObject<{
|
|
183
|
+
x: z.ZodNumber;
|
|
184
|
+
y: z.ZodNumber;
|
|
185
|
+
width: z.ZodNumber;
|
|
186
|
+
height: z.ZodNumber;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
cell: z.ZodObject<{
|
|
189
|
+
x: z.ZodNumber;
|
|
190
|
+
y: z.ZodNumber;
|
|
191
|
+
width: z.ZodNumber;
|
|
192
|
+
height: z.ZodNumber;
|
|
193
|
+
}, z.core.$strip>;
|
|
194
|
+
}, z.core.$strip>>;
|
|
195
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
196
|
+
profile: z.ZodEnum<{
|
|
197
|
+
high: "high";
|
|
198
|
+
mid: "mid";
|
|
199
|
+
low: "low";
|
|
200
|
+
}>;
|
|
201
|
+
offered: z.ZodBoolean;
|
|
202
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
203
|
+
}, z.core.$strip>>;
|
|
204
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
205
|
+
/** Write the geometry back. Returns the grid as it now stands, profiles included. */
|
|
206
|
+
readonly saveLayout: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
207
|
+
deviceId: z.ZodNumber;
|
|
208
|
+
name: z.ZodOptional<z.ZodString>;
|
|
209
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
210
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
211
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
212
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
213
|
+
deviceId: z.ZodNumber;
|
|
214
|
+
source: z.ZodObject<{
|
|
215
|
+
x: z.ZodNumber;
|
|
216
|
+
y: z.ZodNumber;
|
|
217
|
+
width: z.ZodNumber;
|
|
218
|
+
height: z.ZodNumber;
|
|
219
|
+
}, z.core.$strip>;
|
|
220
|
+
cell: z.ZodObject<{
|
|
221
|
+
x: z.ZodNumber;
|
|
222
|
+
y: z.ZodNumber;
|
|
223
|
+
width: z.ZodNumber;
|
|
224
|
+
height: z.ZodNumber;
|
|
225
|
+
}, z.core.$strip>;
|
|
226
|
+
}, z.core.$strip>>;
|
|
227
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
228
|
+
instanceId: z.ZodString;
|
|
229
|
+
deviceId: z.ZodNumber;
|
|
230
|
+
name: z.ZodString;
|
|
231
|
+
width: z.ZodNumber;
|
|
232
|
+
height: z.ZodNumber;
|
|
233
|
+
fps: z.ZodNumber;
|
|
234
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
235
|
+
deviceId: z.ZodNumber;
|
|
236
|
+
source: z.ZodObject<{
|
|
237
|
+
x: z.ZodNumber;
|
|
238
|
+
y: z.ZodNumber;
|
|
239
|
+
width: z.ZodNumber;
|
|
240
|
+
height: z.ZodNumber;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
cell: z.ZodObject<{
|
|
243
|
+
x: z.ZodNumber;
|
|
244
|
+
y: z.ZodNumber;
|
|
245
|
+
width: z.ZodNumber;
|
|
246
|
+
height: z.ZodNumber;
|
|
247
|
+
}, z.core.$strip>;
|
|
248
|
+
}, z.core.$strip>>;
|
|
249
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
250
|
+
profile: z.ZodEnum<{
|
|
251
|
+
high: "high";
|
|
252
|
+
mid: "mid";
|
|
253
|
+
low: "low";
|
|
254
|
+
}>;
|
|
255
|
+
offered: z.ZodBoolean;
|
|
256
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
257
|
+
}, z.core.$strip>>;
|
|
258
|
+
}, z.core.$strip>, "mutation">;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
export type ICameraGridLayoutProvider = InferNativeProvider<typeof cameraGridLayoutCapability>;
|
|
262
|
+
export {};
|
|
@@ -169,6 +169,7 @@ export { type IMediaPlayerProvider, type MediaInfo, type MediaPlayerRepeat, Medi
|
|
|
169
169
|
export { type IMeshNetworkProvider, type MeshEndpoint, type MeshPeer, MeshPeerSchema, type MeshStatus, MeshStatusSchema, meshNetworkCapability, } from './mesh-network.cap.js';
|
|
170
170
|
export { type IMotionProvider, MOTION_CLOSE_AFTER_MS, type MotionOnMotionChangedData, MotionOnMotionChangedDataSchema, type MotionStatus, MotionStatusSchema, motionCapability, } from './motion.cap.js';
|
|
171
171
|
export { type IMotionTriggerProvider, type MotionTriggerRuntimeState, MotionTriggerRuntimeStateSchema, type MotionTriggerStatus, MotionTriggerStatusSchema, motionTriggerCapability, } from './motion-trigger.cap.js';
|
|
172
|
+
export { type GridLayoutCell, type GridLayoutPatch, GridLayoutPatchSchema, type GridNormalizedRect, type GridProfileOffer, type GridLayoutView, GridLayoutViewSchema, type ICameraGridLayoutProvider, cameraGridLayoutCapability, } from './camera-grid-layout.cap.js';
|
|
172
173
|
export { type IMotionZonesProvider, type MotionZoneOptions, MotionZoneOptionsSchema, type MotionZonePatch, MotionZonePatchSchema, type MotionZoneRegion, MotionZoneRegionSchema, type MotionZoneStatus, MotionZoneStatusSchema, motionZonesCapability, } from './motion-zones.cap.js';
|
|
173
174
|
export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetectionSchema, type NativeObjectClass, NativeObjectClassEnum, type NativeObjectDetectionOptions, NativeObjectDetectionOptionsSchema, type NativeObjectDetectionRuntimeState, NativeObjectDetectionRuntimeStateSchema, type NativeObjectDetectionSettingsPatch, NativeObjectDetectionSettingsPatchSchema, type NativeObjectDetectionStatus, NativeObjectDetectionStatusSchema, type NativeObjectGeometry, NativeObjectGeometryEnum, nativeObjectDetectionCapability, } from './native-object-detection.cap.js';
|
|
174
175
|
export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, type NavigationActionEntry, NavigationActionEntrySchema, type NavigationActionId, NavigationActionIdSchema, type NavigationEntryKind, NavigationEntryKindSchema, type NavigationFeatures, NavigationFeaturesSchema, type NavigationLightMode, NavigationLightModeSchema, type NavigationMode, NavigationModeSchema, type NavigationMoveCommand, NavigationMoveCommandSchema, type NavigationPoint, NavigationPointSchema, type NavigationRuntimeState, NavigationRuntimeStateSchema, type NavigationStatus, NavigationStatusSchema, navigationCapability, } from './navigation.cap.js';
|
|
@@ -186,7 +187,7 @@ export { type IPowerMeterProvider, type PowerMeterStatus, PowerMeterStatusSchema
|
|
|
186
187
|
export { type GpsLocation, type IPresenceProvider, type PresenceStatus, PresenceStatusSchema, presenceCapability, } from './presence.cap.js';
|
|
187
188
|
export { type IPressureSensorProvider, type PressureSensorStatus, PressureSensorStatusSchema, pressureSensorCapability, } from './pressure-sensor.cap.js';
|
|
188
189
|
export { type IPrivacyMaskProvider, type PrivacyMaskOptions, PrivacyMaskOptionsSchema, type PrivacyMaskPatch, PrivacyMaskPatchSchema, type PrivacyMaskRegion, PrivacyMaskRegionSchema, type PrivacyMaskShape, PrivacyMaskShapeSchema, type PrivacyMaskStatus, PrivacyMaskStatusSchema, privacyMaskCapability, summarisePrivacyAudio, } from './privacy-mask.cap.js';
|
|
189
|
-
export { type IPtzProvider, type PtzHomePreset, PtzHomePresetSchema, PtzMoveCommandSchema, type PtzOptions, PtzOptionsSchema, PtzPositionSchema, type PtzPreset, type PtzPresetFunction, PtzPresetFunctionSchema, PtzPresetSchema, type PtzStatus, PtzStatusSchema, ptzCapability, } from './ptz.cap.js';
|
|
190
|
+
export { type IPtzProvider, type PtzHomePreset, PtzHomePresetSchema, type PtzHomeReturn, PtzHomeReturnSchema, PtzMoveCommandSchema, type PtzOptions, PtzOptionsSchema, PtzPositionSchema, type PtzPreset, type PtzPresetFunction, PtzPresetFunctionSchema, PtzPresetSchema, type PtzStatus, PtzStatusSchema, ptzCapability, } from './ptz.cap.js';
|
|
190
191
|
export { type IPtzAutotrackProvider, type PtzAutotrackRuntimeState, PtzAutotrackRuntimeStateSchema, type PtzAutotrackSettings, PtzAutotrackSettingsSchema, type PtzAutotrackStatus, PtzAutotrackStatusSchema, type PtzAutotrackTargetOption, PtzAutotrackTargetOptionSchema, ptzAutotrackCapability, } from './ptz-autotrack.cap.js';
|
|
191
192
|
export { type IRebootProvider, rebootCapability } from './reboot.cap.js';
|
|
192
193
|
export { type IRecordingProvider, type LocateSegmentResult, LocateSegmentResultSchema, RECORDING_TIMELINE_BATCH_MAX, type ReadGopBytesResult, ReadGopBytesResultSchema, type ReadSegmentBytesResult, ReadSegmentBytesResultSchema, type ReadWindowBytesResult, ReadWindowBytesResultSchema, type RecordingAvailability, type RecordingAvailabilityForDevice, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, type RecordingDays, type RecordingDaysForDevice, RecordingDaysForDeviceSchema, RecordingDaysSchema, type RecordingDeviceUsage, RecordingDeviceUsageSchema, type RecordingLocationUsage, RecordingLocationUsageSchema, type RecordingManifest, RecordingManifestSchema, RecordingRangeSchema, type RecordingRebalanceInput, RecordingRebalanceInputSchema, type RecordingRebalanceMove, RecordingRebalanceMoveSchema, type RecordingRebalancePlan, RecordingRebalancePlanSchema, type RecordingRebalanceSkip, type RecordingRebalanceSkipReason, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, type RecordingStatus, RecordingStatusSchema, type RecordingStorageUsage, RecordingStorageUsageSchema, recordingCapability, } from './recording.cap.js';
|
|
@@ -302,6 +303,7 @@ import type { modelDistributorCapability } from './model-distributor.cap.js';
|
|
|
302
303
|
import type { motionCapability } from './motion.cap.js';
|
|
303
304
|
import type { motionDetectionCapability } from './motion-detection.cap.js';
|
|
304
305
|
import type { motionTriggerCapability } from './motion-trigger.cap.js';
|
|
306
|
+
import type { cameraGridLayoutCapability } from './camera-grid-layout.cap.js';
|
|
305
307
|
import type { motionZonesCapability } from './motion-zones.cap.js';
|
|
306
308
|
import type { mqttBrokerCapability } from './mqtt-broker.cap.js';
|
|
307
309
|
import type { nativeObjectDetectionCapability } from './native-object-detection.cap.js';
|
|
@@ -372,6 +374,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
|
|
|
372
374
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
373
375
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
374
376
|
import type { zonesCapability } from './zones.cap.js';
|
|
375
|
-
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 logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | 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 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 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 eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | 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 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 streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | 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;
|
|
377
|
+
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 logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | 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 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 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 eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | 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 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 streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof cameraGridLayoutCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | 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;
|
|
376
378
|
export type CapabilityName = AnyCapability['name'];
|
|
377
379
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -143,6 +143,27 @@ export declare const PtzHomePresetSchema: z.ZodObject<{
|
|
|
143
143
|
}>;
|
|
144
144
|
}, z.core.$strip>;
|
|
145
145
|
export type PtzHomePreset = z.infer<typeof PtzHomePresetSchema>;
|
|
146
|
+
/**
|
|
147
|
+
* The camera's own idle-return behaviour: whether it goes home by itself, and
|
|
148
|
+
* after how long.
|
|
149
|
+
*
|
|
150
|
+
* ONE shape, not two scalars, because on the camera they are ONE fact —
|
|
151
|
+
* Reolink's guard point carries `benable` and `timeout` in the same element,
|
|
152
|
+
* written by the same command. Reading them apart means two round-trips that
|
|
153
|
+
* can disagree.
|
|
154
|
+
*
|
|
155
|
+
* `enabled` and `seconds` are INDEPENDENT: a camera can hold a 68 s delay with
|
|
156
|
+
* the behaviour switched off, which is exactly what the vendor app leaves when
|
|
157
|
+
* you turn the guard point off without clearing it. The first version of this
|
|
158
|
+
* cap reported only the delay, so that state was invisible — a camera could be
|
|
159
|
+
* configured to return after 68 seconds with no way to say whether it should
|
|
160
|
+
* return at all.
|
|
161
|
+
*/
|
|
162
|
+
export declare const PtzHomeReturnSchema: z.ZodObject<{
|
|
163
|
+
enabled: z.ZodBoolean;
|
|
164
|
+
seconds: z.ZodNumber;
|
|
165
|
+
}, z.core.$strip>;
|
|
166
|
+
export type PtzHomeReturn = z.infer<typeof PtzHomeReturnSchema>;
|
|
146
167
|
export declare const ptzCapability: {
|
|
147
168
|
readonly name: "ptz";
|
|
148
169
|
readonly scope: "device";
|
|
@@ -270,20 +291,30 @@ export declare const ptzCapability: {
|
|
|
270
291
|
deviceId: z.ZodNumber;
|
|
271
292
|
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
272
293
|
/**
|
|
273
|
-
*
|
|
274
|
-
* `null` when it has no such behaviour.
|
|
294
|
+
* Whether the camera returns home on its own when left idle, and after how
|
|
295
|
+
* long. `null` when it has no such behaviour at all.
|
|
275
296
|
*
|
|
276
297
|
* Reolink's guard point carries one (`timeout`, freely settable in
|
|
277
298
|
* seconds). It is a real function of the camera that we did not expose at
|
|
278
299
|
* all, and it belongs next to the home it governs rather than in a vendor
|
|
279
300
|
* settings page nobody associates with Home.
|
|
280
301
|
*/
|
|
281
|
-
readonly
|
|
302
|
+
readonly getHomeReturn: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
282
303
|
deviceId: z.ZodNumber;
|
|
283
|
-
}, z.core.$strip>, z.ZodNullable<z.
|
|
284
|
-
|
|
285
|
-
|
|
304
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
305
|
+
enabled: z.ZodBoolean;
|
|
306
|
+
seconds: z.ZodNumber;
|
|
307
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
308
|
+
/**
|
|
309
|
+
* Set both together. Refused by a camera with no idle-return behaviour.
|
|
310
|
+
*
|
|
311
|
+
* They travel together for the same reason they are read together: the
|
|
312
|
+
* underlying write carries both, so setting one alone means reading the
|
|
313
|
+
* other back first and racing whoever else is writing.
|
|
314
|
+
*/
|
|
315
|
+
readonly setHomeReturn: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
286
316
|
deviceId: z.ZodNumber;
|
|
317
|
+
enabled: z.ZodBoolean;
|
|
287
318
|
seconds: z.ZodNumber;
|
|
288
319
|
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
289
320
|
/**
|
|
@@ -346,6 +346,7 @@ export declare const GetStreamWithCodecInputSchema: z.ZodObject<{
|
|
|
346
346
|
export type GetStreamWithCodecInput = z.infer<typeof GetStreamWithCodecInputSchema>;
|
|
347
347
|
export declare const RtpSourceSchema: z.ZodObject<{
|
|
348
348
|
url: z.ZodString;
|
|
349
|
+
sentryUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
349
350
|
videoCodec: z.ZodEnum<{
|
|
350
351
|
H264: "H264";
|
|
351
352
|
H265: "H265";
|
|
@@ -1095,6 +1096,7 @@ export declare const streamBrokerCapability: {
|
|
|
1095
1096
|
tag: z.ZodOptional<z.ZodString>;
|
|
1096
1097
|
}, z.core.$strip>, z.ZodObject<{
|
|
1097
1098
|
url: z.ZodString;
|
|
1099
|
+
sentryUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1098
1100
|
videoCodec: z.ZodEnum<{
|
|
1099
1101
|
H264: "H264";
|
|
1100
1102
|
H265: "H265";
|
|
@@ -23,6 +23,7 @@ import type { brightnessCapability } from '../capabilities/brightness.cap.js';
|
|
|
23
23
|
import type { brokerCapability } from '../capabilities/broker.cap.js';
|
|
24
24
|
import type { buttonCapability } from '../capabilities/button.cap.js';
|
|
25
25
|
import type { cameraCredentialsCapability } from '../capabilities/camera-credentials.cap.js';
|
|
26
|
+
import type { cameraGridLayoutCapability } from '../capabilities/camera-grid-layout.cap.js';
|
|
26
27
|
import type { cameraStreamsCapability } from '../capabilities/camera-streams.cap.js';
|
|
27
28
|
import type { climateControlCapability } from '../capabilities/climate-control.cap.js';
|
|
28
29
|
import type { colorCapability } from '../capabilities/color.cap.js';
|
|
@@ -1192,6 +1193,27 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
1192
1193
|
meta: object;
|
|
1193
1194
|
}>;
|
|
1194
1195
|
}>>;
|
|
1196
|
+
cameraGridLayout: TRPCBuiltRouter<{
|
|
1197
|
+
ctx: TrpcContext;
|
|
1198
|
+
meta: object;
|
|
1199
|
+
errorShape: AugmentedErrorShape;
|
|
1200
|
+
transformer: true;
|
|
1201
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
1202
|
+
getLayout: TRPCQueryProcedure<{
|
|
1203
|
+
input: {
|
|
1204
|
+
[x: string]: unknown;
|
|
1205
|
+
} & z.input<typeof cameraGridLayoutCapability.methods.getLayout.input>;
|
|
1206
|
+
output: z.infer<typeof cameraGridLayoutCapability.methods.getLayout.output>;
|
|
1207
|
+
meta: object;
|
|
1208
|
+
}>;
|
|
1209
|
+
saveLayout: TRPCMutationProcedure<{
|
|
1210
|
+
input: {
|
|
1211
|
+
[x: string]: unknown;
|
|
1212
|
+
} & z.input<typeof cameraGridLayoutCapability.methods.saveLayout.input>;
|
|
1213
|
+
output: z.infer<typeof cameraGridLayoutCapability.methods.saveLayout.output>;
|
|
1214
|
+
meta: object;
|
|
1215
|
+
}>;
|
|
1216
|
+
}>>;
|
|
1195
1217
|
cameraPipelineConfig: TRPCBuiltRouter<{
|
|
1196
1218
|
ctx: TrpcContext;
|
|
1197
1219
|
meta: object;
|
|
@@ -6687,18 +6709,18 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6687
6709
|
output: z.infer<typeof ptzCapability.methods.captureHomeHere.output>;
|
|
6688
6710
|
meta: object;
|
|
6689
6711
|
}>;
|
|
6690
|
-
|
|
6712
|
+
getHomeReturn: TRPCQueryProcedure<{
|
|
6691
6713
|
input: {
|
|
6692
6714
|
[x: string]: unknown;
|
|
6693
|
-
} & z.input<typeof ptzCapability.methods.
|
|
6694
|
-
output: z.infer<typeof ptzCapability.methods.
|
|
6715
|
+
} & z.input<typeof ptzCapability.methods.getHomeReturn.input>;
|
|
6716
|
+
output: z.infer<typeof ptzCapability.methods.getHomeReturn.output>;
|
|
6695
6717
|
meta: object;
|
|
6696
6718
|
}>;
|
|
6697
|
-
|
|
6719
|
+
setHomeReturn: TRPCMutationProcedure<{
|
|
6698
6720
|
input: {
|
|
6699
6721
|
[x: string]: unknown;
|
|
6700
|
-
} & z.input<typeof ptzCapability.methods.
|
|
6701
|
-
output: z.infer<typeof ptzCapability.methods.
|
|
6722
|
+
} & z.input<typeof ptzCapability.methods.setHomeReturn.input>;
|
|
6723
|
+
output: z.infer<typeof ptzCapability.methods.setHomeReturn.output>;
|
|
6702
6724
|
meta: object;
|
|
6703
6725
|
}>;
|
|
6704
6726
|
getPosition: TRPCQueryProcedure<{
|
|
@@ -24,6 +24,7 @@ export { brightnessCapability } from '../capabilities/brightness.cap.js';
|
|
|
24
24
|
export { brokerCapability } from '../capabilities/broker.cap.js';
|
|
25
25
|
export { buttonCapability } from '../capabilities/button.cap.js';
|
|
26
26
|
export { cameraCredentialsCapability } from '../capabilities/camera-credentials.cap.js';
|
|
27
|
+
export { cameraGridLayoutCapability } from '../capabilities/camera-grid-layout.cap.js';
|
|
27
28
|
export { cameraPipelineConfigCapability } from '../capabilities/camera-pipeline-config.cap.js';
|
|
28
29
|
export { cameraStreamsCapability } from '../capabilities/camera-streams.cap.js';
|
|
29
30
|
export { carbonMonoxideCapability } from '../capabilities/carbon-monoxide.cap.js';
|
|
@@ -182,6 +183,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
182
183
|
readonly broker: "broker";
|
|
183
184
|
readonly button: "button";
|
|
184
185
|
readonly cameraCredentials: "camera-credentials";
|
|
186
|
+
readonly cameraGridLayout: "camera-grid-layout";
|
|
185
187
|
readonly cameraPipelineConfig: "camera-pipeline-config";
|
|
186
188
|
readonly cameraStreams: "camera-streams";
|
|
187
189
|
readonly carbonMonoxide: "carbon-monoxide";
|
|
@@ -353,6 +355,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
353
355
|
readonly broker: TRouter;
|
|
354
356
|
readonly button: TRouter;
|
|
355
357
|
readonly cameraCredentials: TRouter;
|
|
358
|
+
readonly cameraGridLayout: TRouter;
|
|
356
359
|
readonly cameraPipelineConfig: TRouter;
|
|
357
360
|
readonly cameraStreams: TRouter;
|
|
358
361
|
readonly carbonMonoxide: TRouter;
|
|
@@ -485,8 +488,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
485
488
|
readonly zoneRules: TRouter;
|
|
486
489
|
readonly zones: TRouter;
|
|
487
490
|
}
|
|
488
|
-
/** Capability names whose mode is `singleton` (
|
|
489
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
|
|
491
|
+
/** Capability names whose mode is `singleton` (130 caps). */
|
|
492
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-grid-layout", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
|
|
490
493
|
/** Union of singleton capability names (literal string union). */
|
|
491
494
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
492
495
|
/** Capability names whose mode is `collection` (28 caps). */
|
|
@@ -14,6 +14,7 @@ import type { binaryCapability } from '../capabilities/binary.cap.js';
|
|
|
14
14
|
import type { brightnessCapability } from '../capabilities/brightness.cap.js';
|
|
15
15
|
import type { buttonCapability } from '../capabilities/button.cap.js';
|
|
16
16
|
import type { cameraCredentialsCapability } from '../capabilities/camera-credentials.cap.js';
|
|
17
|
+
import type { cameraGridLayoutCapability } from '../capabilities/camera-grid-layout.cap.js';
|
|
17
18
|
import type { cameraStreamsCapability } from '../capabilities/camera-streams.cap.js';
|
|
18
19
|
import type { carbonMonoxideCapability } from '../capabilities/carbon-monoxide.cap.js';
|
|
19
20
|
import type { climateControlCapability } from '../capabilities/climate-control.cap.js';
|
|
@@ -209,6 +210,7 @@ export interface DeviceProxy {
|
|
|
209
210
|
readonly brightness?: InferDeviceProxyCap<typeof brightnessCapability>;
|
|
210
211
|
readonly button?: InferDeviceProxyCap<typeof buttonCapability>;
|
|
211
212
|
readonly cameraCredentials?: InferDeviceProxyCap<typeof cameraCredentialsCapability>;
|
|
213
|
+
readonly cameraGridLayout?: InferDeviceProxyCap<typeof cameraGridLayoutCapability>;
|
|
212
214
|
readonly cameraStreams?: InferDeviceProxyCap<typeof cameraStreamsCapability>;
|
|
213
215
|
readonly carbonMonoxide?: InferDeviceProxyCap<typeof carbonMonoxideCapability>;
|
|
214
216
|
readonly climateControl?: InferDeviceProxyCap<typeof climateControlCapability>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
6
6
|
* (~144MB RSS per runner, D28).
|
|
7
7
|
*
|
|
8
|
-
* Coverage:
|
|
8
|
+
* Coverage: 85 device-scoped capabilities.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
|
|
11
11
|
/**
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1055 method paths across 131 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* system-scope cap that takes a deviceId was previously never device-filtered
|
|
7
7
|
* — see the generator header).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 387 methods carry a device reference, of which
|
|
10
10
|
* 141 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|