@camstack/types 1.2.210 → 1.2.212
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 +291 -0
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/stream-broker.cap.d.ts +2 -0
- package/dist/generated/addon-api.d.ts +43 -0
- 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 +207 -1
- package/dist/index.mjs +205 -2
- package/dist/{sleep-Dk-BdnBf.mjs → sleep-GU_us3DG.mjs} +9 -1
- package/dist/{sleep-CDG4jaLR.js → sleep-VlZxDyXq.js} +9 -1
- 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-VlZxDyXq.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-GU_us3DG.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,291 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DeviceType } from '../device/device-type.js';
|
|
3
|
+
import { type InferNativeProvider, type InferProvider } 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. The device page is
|
|
21
|
+
* BINDING-driven (D12), so the way in is a capability bound to the device —
|
|
22
|
+
* and this cap carries its section the way `recording` does, by RETURNING it
|
|
23
|
+
* from `getDeviceSettingsContribution`.
|
|
24
|
+
*
|
|
25
|
+
* Seven other widgets are still declared the other way, through a
|
|
26
|
+
* `deviceConfig.ui` block the framework derives a section from. That route
|
|
27
|
+
* gives the addon no say in where its own panel lands and no way to decline
|
|
28
|
+
* for a device the panel does not suit, which is why this one does not use it.
|
|
29
|
+
*
|
|
30
|
+
* ## Why one addon may implement it
|
|
31
|
+
*
|
|
32
|
+
* It is a device-scoped NATIVE cap, registered by the grid camera device
|
|
33
|
+
* itself. Nothing else declares a composite camera, so nothing else has a
|
|
34
|
+
* layout — and the device-scoped route means the widget asks THE camera, not
|
|
35
|
+
* "the camera-grid addon", which is what let the old custom-action pair be
|
|
36
|
+
* reached only by a caller that already knew the addon id.
|
|
37
|
+
*
|
|
38
|
+
* ## The tab
|
|
39
|
+
*
|
|
40
|
+
* `streaming`, not a top-tab of its own. A grid's geometry IS what its stream
|
|
41
|
+
* is, so the Streaming tab is where it belongs; a `grid` top-tab would need an
|
|
42
|
+
* entry in `WELL_KNOWN_TAB_MAP` or the device page renders the raw id as the
|
|
43
|
+
* label (measured on the robot camera, 2026-09-06 — a tab called "navigation"
|
|
44
|
+
* next to "PTZ").
|
|
45
|
+
*/
|
|
46
|
+
/** A rectangle in normalized [0,1] coordinates of whatever contains it. */
|
|
47
|
+
declare const GridNormalizedRectSchema: z.ZodObject<{
|
|
48
|
+
x: z.ZodNumber;
|
|
49
|
+
y: z.ZodNumber;
|
|
50
|
+
width: z.ZodNumber;
|
|
51
|
+
height: z.ZodNumber;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/**
|
|
54
|
+
* One source camera, the part of its picture taken, and where that part lands.
|
|
55
|
+
*
|
|
56
|
+
* Both rectangles are NORMALIZED (D519): a source camera can change resolution
|
|
57
|
+
* — a profile switch, a firmware update, a substream that comes back different
|
|
58
|
+
* — and a stored PIXEL rectangle would quietly start cutting the wrong region,
|
|
59
|
+
* which is the class of bug nobody files.
|
|
60
|
+
*/
|
|
61
|
+
declare const GridLayoutCellSchema: z.ZodObject<{
|
|
62
|
+
deviceId: z.ZodNumber;
|
|
63
|
+
source: z.ZodObject<{
|
|
64
|
+
x: z.ZodNumber;
|
|
65
|
+
y: z.ZodNumber;
|
|
66
|
+
width: z.ZodNumber;
|
|
67
|
+
height: z.ZodNumber;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
cell: z.ZodObject<{
|
|
70
|
+
x: z.ZodNumber;
|
|
71
|
+
y: z.ZodNumber;
|
|
72
|
+
width: z.ZodNumber;
|
|
73
|
+
height: z.ZodNumber;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
/**
|
|
77
|
+
* Which profiles this grid can actually compose, and why not.
|
|
78
|
+
*
|
|
79
|
+
* A grid's `high` composes its sources' `high` and its `low` their `low`, so a
|
|
80
|
+
* profile is on offer only when EVERY source can serve it. The refusal NAMES
|
|
81
|
+
* the sources, because "this grid has no low" is not a finding — "615 has no
|
|
82
|
+
* low" is, and it is the one an operator can act on.
|
|
83
|
+
*/
|
|
84
|
+
declare const GridProfileOfferSchema: z.ZodObject<{
|
|
85
|
+
profile: z.ZodEnum<{
|
|
86
|
+
high: "high";
|
|
87
|
+
mid: "mid";
|
|
88
|
+
low: "low";
|
|
89
|
+
}>;
|
|
90
|
+
offered: z.ZodBoolean;
|
|
91
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
export declare const GridLayoutViewSchema: z.ZodObject<{
|
|
94
|
+
instanceId: z.ZodString;
|
|
95
|
+
deviceId: z.ZodNumber;
|
|
96
|
+
name: z.ZodString;
|
|
97
|
+
width: z.ZodNumber;
|
|
98
|
+
height: z.ZodNumber;
|
|
99
|
+
fps: z.ZodNumber;
|
|
100
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
101
|
+
deviceId: z.ZodNumber;
|
|
102
|
+
source: z.ZodObject<{
|
|
103
|
+
x: z.ZodNumber;
|
|
104
|
+
y: z.ZodNumber;
|
|
105
|
+
width: z.ZodNumber;
|
|
106
|
+
height: z.ZodNumber;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
cell: z.ZodObject<{
|
|
109
|
+
x: z.ZodNumber;
|
|
110
|
+
y: z.ZodNumber;
|
|
111
|
+
width: z.ZodNumber;
|
|
112
|
+
height: z.ZodNumber;
|
|
113
|
+
}, z.core.$strip>;
|
|
114
|
+
}, z.core.$strip>>;
|
|
115
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
116
|
+
profile: z.ZodEnum<{
|
|
117
|
+
high: "high";
|
|
118
|
+
mid: "mid";
|
|
119
|
+
low: "low";
|
|
120
|
+
}>;
|
|
121
|
+
offered: z.ZodBoolean;
|
|
122
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
}, z.core.$strip>;
|
|
125
|
+
export type GridNormalizedRect = z.infer<typeof GridNormalizedRectSchema>;
|
|
126
|
+
export type GridLayoutCell = z.infer<typeof GridLayoutCellSchema>;
|
|
127
|
+
export type GridProfileOffer = z.infer<typeof GridProfileOfferSchema>;
|
|
128
|
+
export type GridLayoutView = z.infer<typeof GridLayoutViewSchema>;
|
|
129
|
+
export declare const GridLayoutPatchSchema: z.ZodObject<{
|
|
130
|
+
deviceId: z.ZodNumber;
|
|
131
|
+
name: z.ZodOptional<z.ZodString>;
|
|
132
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
133
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
134
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
135
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
136
|
+
deviceId: z.ZodNumber;
|
|
137
|
+
source: z.ZodObject<{
|
|
138
|
+
x: z.ZodNumber;
|
|
139
|
+
y: z.ZodNumber;
|
|
140
|
+
width: z.ZodNumber;
|
|
141
|
+
height: z.ZodNumber;
|
|
142
|
+
}, z.core.$strip>;
|
|
143
|
+
cell: z.ZodObject<{
|
|
144
|
+
x: z.ZodNumber;
|
|
145
|
+
y: z.ZodNumber;
|
|
146
|
+
width: z.ZodNumber;
|
|
147
|
+
height: z.ZodNumber;
|
|
148
|
+
}, z.core.$strip>;
|
|
149
|
+
}, z.core.$strip>>;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
export type GridLayoutPatch = z.infer<typeof GridLayoutPatchSchema>;
|
|
152
|
+
export declare const cameraGridLayoutCapability: {
|
|
153
|
+
readonly name: "camera-grid-layout";
|
|
154
|
+
readonly scope: "device";
|
|
155
|
+
readonly deviceNative: true;
|
|
156
|
+
readonly mode: "singleton";
|
|
157
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
158
|
+
/**
|
|
159
|
+
* The section is built by the ADDON and returned from
|
|
160
|
+
* `getDeviceSettingsContribution`, not derived by the framework from a
|
|
161
|
+
* `deviceConfig.ui` block.
|
|
162
|
+
*
|
|
163
|
+
* Both mechanisms render the same widget. This one hands the addon two
|
|
164
|
+
* things the framework-derived route cannot give it:
|
|
165
|
+
*
|
|
166
|
+
* - it chooses its own section, `tab`, `location` and `order`, the way any
|
|
167
|
+
* other setting does, instead of receiving them from a cap declaration;
|
|
168
|
+
* - it can DECLINE per device. A camera that is not a grid gets no section
|
|
169
|
+
* at all, rather than a widget that renders its own "not a grid" state.
|
|
170
|
+
*
|
|
171
|
+
* `recording` is the precedent (`recorder/recording-device-settings.ts`): it
|
|
172
|
+
* returns `null` for anything that is not a camera, so the Recording tab
|
|
173
|
+
* never appears there.
|
|
174
|
+
*/
|
|
175
|
+
readonly exposesDeviceSettings: true;
|
|
176
|
+
readonly methods: {
|
|
177
|
+
/**
|
|
178
|
+
* The grid behind this device.
|
|
179
|
+
*
|
|
180
|
+
* `null` means ANSWERED and this camera is not a grid — not "not yet
|
|
181
|
+
* known". The widget renders its "this is not a grid camera" state only
|
|
182
|
+
* from this answer, never from an unresolved query (D315).
|
|
183
|
+
*/
|
|
184
|
+
readonly getLayout: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
185
|
+
deviceId: z.ZodNumber;
|
|
186
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
187
|
+
instanceId: z.ZodString;
|
|
188
|
+
deviceId: z.ZodNumber;
|
|
189
|
+
name: z.ZodString;
|
|
190
|
+
width: z.ZodNumber;
|
|
191
|
+
height: z.ZodNumber;
|
|
192
|
+
fps: z.ZodNumber;
|
|
193
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
194
|
+
deviceId: z.ZodNumber;
|
|
195
|
+
source: z.ZodObject<{
|
|
196
|
+
x: z.ZodNumber;
|
|
197
|
+
y: z.ZodNumber;
|
|
198
|
+
width: z.ZodNumber;
|
|
199
|
+
height: z.ZodNumber;
|
|
200
|
+
}, z.core.$strip>;
|
|
201
|
+
cell: z.ZodObject<{
|
|
202
|
+
x: z.ZodNumber;
|
|
203
|
+
y: z.ZodNumber;
|
|
204
|
+
width: z.ZodNumber;
|
|
205
|
+
height: z.ZodNumber;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
}, z.core.$strip>>;
|
|
208
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
209
|
+
profile: z.ZodEnum<{
|
|
210
|
+
high: "high";
|
|
211
|
+
mid: "mid";
|
|
212
|
+
low: "low";
|
|
213
|
+
}>;
|
|
214
|
+
offered: z.ZodBoolean;
|
|
215
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
216
|
+
}, z.core.$strip>>;
|
|
217
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
218
|
+
/** Write the geometry back. Returns the grid as it now stands, profiles included. */
|
|
219
|
+
readonly saveLayout: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
220
|
+
deviceId: z.ZodNumber;
|
|
221
|
+
name: z.ZodOptional<z.ZodString>;
|
|
222
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
223
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
224
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
225
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
226
|
+
deviceId: z.ZodNumber;
|
|
227
|
+
source: z.ZodObject<{
|
|
228
|
+
x: z.ZodNumber;
|
|
229
|
+
y: z.ZodNumber;
|
|
230
|
+
width: z.ZodNumber;
|
|
231
|
+
height: z.ZodNumber;
|
|
232
|
+
}, z.core.$strip>;
|
|
233
|
+
cell: z.ZodObject<{
|
|
234
|
+
x: z.ZodNumber;
|
|
235
|
+
y: z.ZodNumber;
|
|
236
|
+
width: z.ZodNumber;
|
|
237
|
+
height: z.ZodNumber;
|
|
238
|
+
}, z.core.$strip>;
|
|
239
|
+
}, z.core.$strip>>;
|
|
240
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
241
|
+
instanceId: z.ZodString;
|
|
242
|
+
deviceId: z.ZodNumber;
|
|
243
|
+
name: z.ZodString;
|
|
244
|
+
width: z.ZodNumber;
|
|
245
|
+
height: z.ZodNumber;
|
|
246
|
+
fps: z.ZodNumber;
|
|
247
|
+
cells: z.ZodArray<z.ZodObject<{
|
|
248
|
+
deviceId: z.ZodNumber;
|
|
249
|
+
source: z.ZodObject<{
|
|
250
|
+
x: z.ZodNumber;
|
|
251
|
+
y: z.ZodNumber;
|
|
252
|
+
width: z.ZodNumber;
|
|
253
|
+
height: z.ZodNumber;
|
|
254
|
+
}, z.core.$strip>;
|
|
255
|
+
cell: z.ZodObject<{
|
|
256
|
+
x: z.ZodNumber;
|
|
257
|
+
y: z.ZodNumber;
|
|
258
|
+
width: z.ZodNumber;
|
|
259
|
+
height: z.ZodNumber;
|
|
260
|
+
}, z.core.$strip>;
|
|
261
|
+
}, z.core.$strip>>;
|
|
262
|
+
profiles: z.ZodArray<z.ZodObject<{
|
|
263
|
+
profile: z.ZodEnum<{
|
|
264
|
+
high: "high";
|
|
265
|
+
mid: "mid";
|
|
266
|
+
low: "low";
|
|
267
|
+
}>;
|
|
268
|
+
offered: z.ZodBoolean;
|
|
269
|
+
missingSources: z.ZodArray<z.ZodNumber>;
|
|
270
|
+
}, z.core.$strip>>;
|
|
271
|
+
}, z.core.$strip>, "mutation">;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
/**
|
|
275
|
+
* The DEVICE's provider: the data methods only.
|
|
276
|
+
*
|
|
277
|
+
* `InferNativeProvider` deliberately omits the device-settings contribution —
|
|
278
|
+
* the framework expects a native provider to hold the data and a WRAPPER to
|
|
279
|
+
* describe the UI, which is why `getProviderByAddon` (not
|
|
280
|
+
* `getProviderForDevice`) is what the aggregation resolves with.
|
|
281
|
+
*/
|
|
282
|
+
export type ICameraGridLayoutProvider = InferNativeProvider<typeof cameraGridLayoutCapability>;
|
|
283
|
+
/**
|
|
284
|
+
* The ADDON's provider: the same methods plus the contribution surface that
|
|
285
|
+
* `exposesDeviceSettings` adds. This is the one that carries the section, and
|
|
286
|
+
* the one that can decline for a device that is not a grid.
|
|
287
|
+
*
|
|
288
|
+
* Two types for two roles, the same split `doorbell` and `snapshot` use.
|
|
289
|
+
*/
|
|
290
|
+
export type ICameraGridLayoutSettingsProvider = InferProvider<typeof cameraGridLayoutCapability>;
|
|
291
|
+
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, type ICameraGridLayoutSettingsProvider, 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';
|
|
@@ -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>;
|
|
@@ -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,48 @@ 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
|
+
getDeviceSettingsContribution: TRPCQueryProcedure<{
|
|
1203
|
+
input: {
|
|
1204
|
+
[x: string]: unknown;
|
|
1205
|
+
} & z.input<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.getDeviceSettingsContribution.input>;
|
|
1206
|
+
output: z.infer<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.getDeviceSettingsContribution.output>;
|
|
1207
|
+
meta: object;
|
|
1208
|
+
}>;
|
|
1209
|
+
getDeviceLiveContribution: TRPCQueryProcedure<{
|
|
1210
|
+
input: {
|
|
1211
|
+
[x: string]: unknown;
|
|
1212
|
+
} & z.input<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.getDeviceLiveContribution.input>;
|
|
1213
|
+
output: z.infer<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.getDeviceLiveContribution.output>;
|
|
1214
|
+
meta: object;
|
|
1215
|
+
}>;
|
|
1216
|
+
applyDeviceSettingsPatch: TRPCMutationProcedure<{
|
|
1217
|
+
input: {
|
|
1218
|
+
[x: string]: unknown;
|
|
1219
|
+
} & z.input<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.applyDeviceSettingsPatch.input>;
|
|
1220
|
+
output: z.infer<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.applyDeviceSettingsPatch.output>;
|
|
1221
|
+
meta: object;
|
|
1222
|
+
}>;
|
|
1223
|
+
getLayout: TRPCQueryProcedure<{
|
|
1224
|
+
input: {
|
|
1225
|
+
[x: string]: unknown;
|
|
1226
|
+
} & z.input<typeof cameraGridLayoutCapability.methods.getLayout.input>;
|
|
1227
|
+
output: z.infer<typeof cameraGridLayoutCapability.methods.getLayout.output>;
|
|
1228
|
+
meta: object;
|
|
1229
|
+
}>;
|
|
1230
|
+
saveLayout: TRPCMutationProcedure<{
|
|
1231
|
+
input: {
|
|
1232
|
+
[x: string]: unknown;
|
|
1233
|
+
} & z.input<typeof cameraGridLayoutCapability.methods.saveLayout.input>;
|
|
1234
|
+
output: z.infer<typeof cameraGridLayoutCapability.methods.saveLayout.output>;
|
|
1235
|
+
meta: object;
|
|
1236
|
+
}>;
|
|
1237
|
+
}>>;
|
|
1195
1238
|
cameraPipelineConfig: TRPCBuiltRouter<{
|
|
1196
1239
|
ctx: TrpcContext;
|
|
1197
1240
|
meta: object;
|
|
@@ -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
|