@camstack/types 1.2.26 → 1.2.27

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.d.ts CHANGED
@@ -28,6 +28,7 @@ export { DATAPLANE_SECRET_HEADER } from './interfaces/addon-data-plane.js';
28
28
  export { expandCapMethods } from './capabilities/capability-definition.js';
29
29
  export { nodePin, readNodePin } from './cap-call-context.js';
30
30
  export { COLLECTION_ARRAY_METHODS, isCollectionArrayMethodName, } from './generated/collection-array-methods.js';
31
+ export { DEVICE_SCOPED_CAPS, isDeviceScopedCap } from './generated/device-scoped-caps.js';
31
32
  export { CAP_INPUT_DEFAULTS, withCapInputDefaults } from './generated/cap-input-defaults.js';
32
33
  export { deviceOpsCapability } from './capabilities/device-ops.cap.js';
33
34
  export { createDeviceProxy } from './generated/device-proxy.js';
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BvSjpsfC.js");
2
+ const require_sleep = require("./sleep-6oDIDtYV.js");
3
3
  const require_event_category = require("./event-category-BE4PDZ_3.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/collection-array-methods.ts
@@ -324,6 +324,7 @@ exports.BaseAddon = require_sleep.BaseAddon;
324
324
  exports.CAP_INPUT_DEFAULTS = CAP_INPUT_DEFAULTS;
325
325
  exports.COLLECTION_ARRAY_METHODS = COLLECTION_ARRAY_METHODS;
326
326
  exports.DATAPLANE_SECRET_HEADER = require_sleep.DATAPLANE_SECRET_HEADER;
327
+ exports.DEVICE_SCOPED_CAPS = require_sleep.DEVICE_SCOPED_CAPS;
327
328
  exports.DeviceType = require_sleep.DeviceType;
328
329
  exports.DisposerChain = require_sleep.DisposerChain;
329
330
  exports.EventCategory = require_event_category.EventCategory;
@@ -338,6 +339,7 @@ exports.emitReadiness = require_sleep.emitReadiness;
338
339
  exports.errMsg = require_err_msg.errMsg;
339
340
  exports.expandCapMethods = require_sleep.expandCapMethods;
340
341
  exports.isCollectionArrayMethodName = isCollectionArrayMethodName;
342
+ exports.isDeviceScopedCap = require_sleep.isDeviceScopedCap;
341
343
  exports.nodePin = require_sleep.nodePin;
342
344
  exports.normalizeAddonInitResult = require_sleep.normalizeAddonInitResult;
343
345
  exports.parseJsonUnknown = require_sleep.parseJsonUnknown;
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as parseJsonUnknown, Ct as DisposerChain, D as asString, F as ReadinessRegistry, I as ReadinessTimeoutError, M as nodePin, N as readNodePin, P as DATAPLANE_SECRET_HEADER, S as DeviceType, T as asJsonObject, a as viewerUiCapability, dt as BaseAddon, ft as normalizeAddonInitResult, ht as emitReadiness, i as deviceOpsCapability, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep, z as scopeKey } from "./sleep-vCXN9wNH.mjs";
1
+ import { C as DEVICE_SCOPED_CAPS, D as asJsonObject, F as readNodePin, I as DATAPLANE_SECRET_HEADER, L as ReadinessRegistry, M as parseJsonUnknown, P as nodePin, R as ReadinessTimeoutError, S as DeviceType, Tt as DisposerChain, V as scopeKey, _t as emitReadiness, a as viewerUiCapability, i as deviceOpsCapability, k as asString, m as expandCapMethods, mt as normalizeAddonInitResult, o as adminUiCapability, pt as BaseAddon, s as createDeviceProxy, t as sleep, w as isDeviceScopedCap } from "./sleep-CD2Df3i7.mjs";
2
2
  import { t as EventCategory } from "./event-category-41fKf-q9.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/collection-array-methods.ts
@@ -319,4 +319,4 @@ function materialise(defaults) {
319
319
  return out;
320
320
  }
321
321
  //#endregion
322
- export { BaseAddon, CAP_INPUT_DEFAULTS, COLLECTION_ARRAY_METHODS, DATAPLANE_SECRET_HEADER, DeviceType, DisposerChain, EventCategory, ReadinessRegistry, ReadinessTimeoutError, adminUiCapability, asJsonObject, asString, createDeviceProxy, deviceOpsCapability, emitReadiness, errMsg, expandCapMethods, isCollectionArrayMethodName, nodePin, normalizeAddonInitResult, parseJsonUnknown, readNodePin, scopeKey, sleep, viewerUiCapability, withCapInputDefaults };
322
+ export { BaseAddon, CAP_INPUT_DEFAULTS, COLLECTION_ARRAY_METHODS, DATAPLANE_SECRET_HEADER, DEVICE_SCOPED_CAPS, DeviceType, DisposerChain, EventCategory, ReadinessRegistry, ReadinessTimeoutError, adminUiCapability, asJsonObject, asString, createDeviceProxy, deviceOpsCapability, emitReadiness, errMsg, expandCapMethods, isCollectionArrayMethodName, isDeviceScopedCap, nodePin, normalizeAddonInitResult, parseJsonUnknown, readNodePin, scopeKey, sleep, viewerUiCapability, withCapInputDefaults };
@@ -74,7 +74,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
74
74
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
75
75
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
76
76
  export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
77
- export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
77
+ export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
78
78
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
79
79
  export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type MediaFile, type MediaFileKind, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
80
80
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -145,6 +145,92 @@ export type NcZoneCondition = z.infer<typeof NcZoneConditionSchema>;
145
145
  * The P1 condition set — a flat AND of groups; absent group = pass;
146
146
  * membership lists are OR within the list (spec §2.3).
147
147
  */
148
+ /**
149
+ * What a rule may actuate.
150
+ *
151
+ * **No hand-maintained allowlist** (operator decision, and the right one — a
152
+ * written list of methods is a third parallel map to keep aligned, and this
153
+ * repo has paid for those). The boundary instead comes from a property the
154
+ * capabilities already carry: an action may target only a **device-scoped**
155
+ * capability method.
156
+ *
157
+ * That is not decoration. A rule can be authored by a NON-ADMIN — personal
158
+ * rules are a supported flow — and the executor runs with the addon's
159
+ * privileges, so an unbounded action is an arbitrary RPC channel with a
160
+ * privilege escalation attached. Restricting to device scope excludes the
161
+ * system caps (`device-manager.removeDevice` and friends) by construction,
162
+ * costs nothing to maintain, and cannot rot: a cap that stops being
163
+ * device-scoped stops being actuatable in the same change.
164
+ *
165
+ * The executor enforces it; {@link NcRuleActionSchema} carries the intent.
166
+ */
167
+ /**
168
+ * One step of a sequence.
169
+ *
170
+ * `wait` is a first-class step rather than a property of the next action: it is
171
+ * what makes a sequence a SEQUENCE and not a list — "unlock, wait 5s, open"
172
+ * cannot be expressed otherwise.
173
+ */
174
+ export declare const NcRuleActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
175
+ kind: z.ZodLiteral<"wait">;
176
+ seconds: z.ZodNumber;
177
+ }, z.core.$strip>, z.ZodObject<{
178
+ kind: z.ZodLiteral<"cap">;
179
+ deviceId: z.ZodNumber;
180
+ cap: z.ZodString;
181
+ method: z.ZodString;
182
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
183
+ }, z.core.$strip>], "kind">;
184
+ export type NcRuleAction = z.infer<typeof NcRuleActionSchema>;
185
+ /**
186
+ * A named, ordered run of steps with its own throttle.
187
+ *
188
+ * `minDelaySec` exists because a noisy rule otherwise hammers a physical
189
+ * actuator — the rule's own cooldown governs NOTIFICATIONS, which is a
190
+ * different budget from "how often may this gate actually open".
191
+ */
192
+ export declare const NcRuleActionSequenceSchema: z.ZodObject<{
193
+ name: z.ZodString;
194
+ enabled: z.ZodBoolean;
195
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
196
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
197
+ kind: z.ZodLiteral<"wait">;
198
+ seconds: z.ZodNumber;
199
+ }, z.core.$strip>, z.ZodObject<{
200
+ kind: z.ZodLiteral<"cap">;
201
+ deviceId: z.ZodNumber;
202
+ cap: z.ZodString;
203
+ method: z.ZodString;
204
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
205
+ }, z.core.$strip>], "kind">>;
206
+ }, z.core.$strip>;
207
+ export type NcRuleActionSequence = z.infer<typeof NcRuleActionSequenceSchema>;
208
+ /**
209
+ * Sequences a rule runs, by hook point.
210
+ *
211
+ * ONLY `onTrigger` is here, deliberately. The reference also has activation /
212
+ * deactivation / reset / post-generation hooks, and they are wanted — but this
213
+ * repo's expensive failure mode is declaring a surface nothing produces, so a
214
+ * hook appears here in the same change that produces its edge, never before.
215
+ */
216
+ export declare const NcRuleActionsSchema: z.ZodObject<{
217
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
218
+ name: z.ZodString;
219
+ enabled: z.ZodBoolean;
220
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
221
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
222
+ kind: z.ZodLiteral<"wait">;
223
+ seconds: z.ZodNumber;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ kind: z.ZodLiteral<"cap">;
226
+ deviceId: z.ZodNumber;
227
+ cap: z.ZodString;
228
+ method: z.ZodString;
229
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
230
+ }, z.core.$strip>], "kind">>;
231
+ }, z.core.$strip>>>;
232
+ }, z.core.$strip>;
233
+ export type NcRuleActions = z.infer<typeof NcRuleActionsSchema>;
148
234
  /**
149
235
  * "This rule applies only while `deviceId` is in one of `states`."
150
236
  *
@@ -447,6 +533,23 @@ export declare const NcRuleInputSchema: z.ZodObject<{
447
533
  priority: z.ZodDefault<z.ZodNumber>;
448
534
  ownerUserId: z.ZodOptional<z.ZodString>;
449
535
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
536
+ actions: z.ZodOptional<z.ZodObject<{
537
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
538
+ name: z.ZodString;
539
+ enabled: z.ZodBoolean;
540
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
541
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
542
+ kind: z.ZodLiteral<"wait">;
543
+ seconds: z.ZodNumber;
544
+ }, z.core.$strip>, z.ZodObject<{
545
+ kind: z.ZodLiteral<"cap">;
546
+ deviceId: z.ZodNumber;
547
+ cap: z.ZodString;
548
+ method: z.ZodString;
549
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
550
+ }, z.core.$strip>], "kind">>;
551
+ }, z.core.$strip>>>;
552
+ }, z.core.$strip>>;
450
553
  }, z.core.$strip>;
451
554
  export type NcRuleInput = z.infer<typeof NcRuleInputSchema>;
452
555
  /**
@@ -588,6 +691,23 @@ export declare const NcRulePatchSchema: z.ZodObject<{
588
691
  priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
589
692
  ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
590
693
  snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
694
+ actions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
695
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
696
+ name: z.ZodString;
697
+ enabled: z.ZodBoolean;
698
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
699
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
700
+ kind: z.ZodLiteral<"wait">;
701
+ seconds: z.ZodNumber;
702
+ }, z.core.$strip>, z.ZodObject<{
703
+ kind: z.ZodLiteral<"cap">;
704
+ deviceId: z.ZodNumber;
705
+ cap: z.ZodString;
706
+ method: z.ZodString;
707
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
708
+ }, z.core.$strip>], "kind">>;
709
+ }, z.core.$strip>>>;
710
+ }, z.core.$strip>>>;
591
711
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
592
712
  }, z.core.$strip>;
593
713
  export type NcRulePatch = z.infer<typeof NcRulePatchSchema>;
@@ -722,6 +842,23 @@ export declare const NcRuleSchema: z.ZodObject<{
722
842
  priority: z.ZodDefault<z.ZodNumber>;
723
843
  ownerUserId: z.ZodOptional<z.ZodString>;
724
844
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
845
+ actions: z.ZodOptional<z.ZodObject<{
846
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
847
+ name: z.ZodString;
848
+ enabled: z.ZodBoolean;
849
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
850
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
851
+ kind: z.ZodLiteral<"wait">;
852
+ seconds: z.ZodNumber;
853
+ }, z.core.$strip>, z.ZodObject<{
854
+ kind: z.ZodLiteral<"cap">;
855
+ deviceId: z.ZodNumber;
856
+ cap: z.ZodString;
857
+ method: z.ZodString;
858
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
859
+ }, z.core.$strip>], "kind">>;
860
+ }, z.core.$strip>>>;
861
+ }, z.core.$strip>>;
725
862
  id: z.ZodString;
726
863
  createdBy: z.ZodString;
727
864
  createdAt: z.ZodNumber;
@@ -1108,6 +1245,23 @@ export declare const notificationRulesCapability: {
1108
1245
  priority: z.ZodDefault<z.ZodNumber>;
1109
1246
  ownerUserId: z.ZodOptional<z.ZodString>;
1110
1247
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1248
+ actions: z.ZodOptional<z.ZodObject<{
1249
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
1250
+ name: z.ZodString;
1251
+ enabled: z.ZodBoolean;
1252
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
1253
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1254
+ kind: z.ZodLiteral<"wait">;
1255
+ seconds: z.ZodNumber;
1256
+ }, z.core.$strip>, z.ZodObject<{
1257
+ kind: z.ZodLiteral<"cap">;
1258
+ deviceId: z.ZodNumber;
1259
+ cap: z.ZodString;
1260
+ method: z.ZodString;
1261
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1262
+ }, z.core.$strip>], "kind">>;
1263
+ }, z.core.$strip>>>;
1264
+ }, z.core.$strip>>;
1111
1265
  id: z.ZodString;
1112
1266
  createdBy: z.ZodString;
1113
1267
  createdAt: z.ZodNumber;
@@ -1248,6 +1402,23 @@ export declare const notificationRulesCapability: {
1248
1402
  priority: z.ZodDefault<z.ZodNumber>;
1249
1403
  ownerUserId: z.ZodOptional<z.ZodString>;
1250
1404
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1405
+ actions: z.ZodOptional<z.ZodObject<{
1406
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
1407
+ name: z.ZodString;
1408
+ enabled: z.ZodBoolean;
1409
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
1410
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1411
+ kind: z.ZodLiteral<"wait">;
1412
+ seconds: z.ZodNumber;
1413
+ }, z.core.$strip>, z.ZodObject<{
1414
+ kind: z.ZodLiteral<"cap">;
1415
+ deviceId: z.ZodNumber;
1416
+ cap: z.ZodString;
1417
+ method: z.ZodString;
1418
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1419
+ }, z.core.$strip>], "kind">>;
1420
+ }, z.core.$strip>>>;
1421
+ }, z.core.$strip>>;
1251
1422
  id: z.ZodString;
1252
1423
  createdBy: z.ZodString;
1253
1424
  createdAt: z.ZodNumber;
@@ -1386,6 +1557,23 @@ export declare const notificationRulesCapability: {
1386
1557
  priority: z.ZodDefault<z.ZodNumber>;
1387
1558
  ownerUserId: z.ZodOptional<z.ZodString>;
1388
1559
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1560
+ actions: z.ZodOptional<z.ZodObject<{
1561
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
1562
+ name: z.ZodString;
1563
+ enabled: z.ZodBoolean;
1564
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
1565
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1566
+ kind: z.ZodLiteral<"wait">;
1567
+ seconds: z.ZodNumber;
1568
+ }, z.core.$strip>, z.ZodObject<{
1569
+ kind: z.ZodLiteral<"cap">;
1570
+ deviceId: z.ZodNumber;
1571
+ cap: z.ZodString;
1572
+ method: z.ZodString;
1573
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1574
+ }, z.core.$strip>], "kind">>;
1575
+ }, z.core.$strip>>>;
1576
+ }, z.core.$strip>>;
1389
1577
  }, z.core.$strip>;
1390
1578
  }, z.core.$strip>, z.ZodObject<{
1391
1579
  rule: z.ZodObject<{
@@ -1518,6 +1706,23 @@ export declare const notificationRulesCapability: {
1518
1706
  priority: z.ZodDefault<z.ZodNumber>;
1519
1707
  ownerUserId: z.ZodOptional<z.ZodString>;
1520
1708
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1709
+ actions: z.ZodOptional<z.ZodObject<{
1710
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
1711
+ name: z.ZodString;
1712
+ enabled: z.ZodBoolean;
1713
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
1714
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1715
+ kind: z.ZodLiteral<"wait">;
1716
+ seconds: z.ZodNumber;
1717
+ }, z.core.$strip>, z.ZodObject<{
1718
+ kind: z.ZodLiteral<"cap">;
1719
+ deviceId: z.ZodNumber;
1720
+ cap: z.ZodString;
1721
+ method: z.ZodString;
1722
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1723
+ }, z.core.$strip>], "kind">>;
1724
+ }, z.core.$strip>>>;
1725
+ }, z.core.$strip>>;
1521
1726
  id: z.ZodString;
1522
1727
  createdBy: z.ZodString;
1523
1728
  createdAt: z.ZodNumber;
@@ -1659,6 +1864,23 @@ export declare const notificationRulesCapability: {
1659
1864
  priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1660
1865
  ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1661
1866
  snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1867
+ actions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1868
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
1869
+ name: z.ZodString;
1870
+ enabled: z.ZodBoolean;
1871
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
1872
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1873
+ kind: z.ZodLiteral<"wait">;
1874
+ seconds: z.ZodNumber;
1875
+ }, z.core.$strip>, z.ZodObject<{
1876
+ kind: z.ZodLiteral<"cap">;
1877
+ deviceId: z.ZodNumber;
1878
+ cap: z.ZodString;
1879
+ method: z.ZodString;
1880
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1881
+ }, z.core.$strip>], "kind">>;
1882
+ }, z.core.$strip>>>;
1883
+ }, z.core.$strip>>>;
1662
1884
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1663
1885
  }, z.core.$strip>;
1664
1886
  }, z.core.$strip>, z.ZodObject<{
@@ -1792,6 +2014,23 @@ export declare const notificationRulesCapability: {
1792
2014
  priority: z.ZodDefault<z.ZodNumber>;
1793
2015
  ownerUserId: z.ZodOptional<z.ZodString>;
1794
2016
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
2017
+ actions: z.ZodOptional<z.ZodObject<{
2018
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
2019
+ name: z.ZodString;
2020
+ enabled: z.ZodBoolean;
2021
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
2022
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2023
+ kind: z.ZodLiteral<"wait">;
2024
+ seconds: z.ZodNumber;
2025
+ }, z.core.$strip>, z.ZodObject<{
2026
+ kind: z.ZodLiteral<"cap">;
2027
+ deviceId: z.ZodNumber;
2028
+ cap: z.ZodString;
2029
+ method: z.ZodString;
2030
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2031
+ }, z.core.$strip>], "kind">>;
2032
+ }, z.core.$strip>>>;
2033
+ }, z.core.$strip>>;
1795
2034
  id: z.ZodString;
1796
2035
  createdBy: z.ZodString;
1797
2036
  createdAt: z.ZodNumber;
@@ -1948,6 +2187,23 @@ export declare const notificationRulesCapability: {
1948
2187
  priority: z.ZodDefault<z.ZodNumber>;
1949
2188
  ownerUserId: z.ZodOptional<z.ZodString>;
1950
2189
  snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
2190
+ actions: z.ZodOptional<z.ZodObject<{
2191
+ onTrigger: z.ZodOptional<z.ZodArray<z.ZodObject<{
2192
+ name: z.ZodString;
2193
+ enabled: z.ZodBoolean;
2194
+ minDelaySec: z.ZodOptional<z.ZodNumber>;
2195
+ actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2196
+ kind: z.ZodLiteral<"wait">;
2197
+ seconds: z.ZodNumber;
2198
+ }, z.core.$strip>, z.ZodObject<{
2199
+ kind: z.ZodLiteral<"cap">;
2200
+ deviceId: z.ZodNumber;
2201
+ cap: z.ZodString;
2202
+ method: z.ZodString;
2203
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2204
+ }, z.core.$strip>], "kind">>;
2205
+ }, z.core.$strip>>>;
2206
+ }, z.core.$strip>>;
1951
2207
  }, z.core.$strip>;
1952
2208
  lookbackMinutes: z.ZodDefault<z.ZodNumber>;
1953
2209
  }, z.core.$strip>, z.ZodObject<{
@@ -0,0 +1,20 @@
1
+ /**
2
+ * AUTO-GENERATED by scripts/generate-device-scoped-caps.ts — DO NOT EDIT.
3
+ *
4
+ * Every `scope: 'device'` capability name, as plain data — so a forked runner
5
+ * can answer "may a rule actuate this?" without importing the schema barrel
6
+ * (~144MB RSS per runner, D28).
7
+ *
8
+ * Coverage: 80 device-scoped capabilities.
9
+ */
10
+ export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
11
+ /**
12
+ * True when `capName` is a device capability.
13
+ *
14
+ * This is the ONLY boundary on what a notification rule may actuate. A rule can
15
+ * be authored by a non-admin and the runner executes with the addon's
16
+ * privileges, so an unbounded action would be an arbitrary RPC channel with a
17
+ * privilege escalation attached. Device scope excludes the system caps
18
+ * (`device-manager.removeDevice` and friends) by construction.
19
+ */
20
+ export declare function isDeviceScopedCap(capName: string): boolean;
package/dist/index.d.ts CHANGED
@@ -121,6 +121,7 @@ export { COCO_80_LABELS, COCO_TO_MACRO, MACRO_LABELS, } from './catalogs/coco-cl
121
121
  export { AUDIO_MACRO_LABELS, YAMNET_TO_MACRO, APPLE_SA_TO_MACRO, mapAudioLabelToMacro, getAudioMacroClassIds, } from './catalogs/audio-classmap.js';
122
122
  export { EVENT_TAXONOMY, TAXONOMY_COLORS, DEFAULT_EVENT_COLOR, getTaxonomyEntry, colorForKind, subKindsOf, type EventTaxonomyEntry, type EventTaxonomyCategory, type EventTaxonomyLevel, } from './catalogs/event-taxonomy.js';
123
123
  export { NcTaxonomyEntrySchema, NcTaxonomySchema, buildNcTaxonomy, NC_TAXONOMY, type NcTaxonomyEntry, type NcTaxonomy, } from './catalogs/nc-taxonomy.js';
124
+ export { DEVICE_SCOPED_CAPS, isDeviceScopedCap } from './generated/device-scoped-caps.js';
124
125
  export { DEVICE_STATE_READERS, readDeviceStateFrom, stateVocabularyFor, } from './catalogs/device-state-vocabulary.js';
125
126
  export type { CameraMotionConfig, CameraNativeDetectionConfig, CameraDetectionCapabilities, } from './types/camera-detection.js';
126
127
  export { type DeviceTypeInfo, DEVICE_TYPE_INFO } from './types/device-type.js';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BvSjpsfC.js");
2
+ const require_sleep = require("./sleep-6oDIDtYV.js");
3
3
  const require_event_category = require("./event-category-BE4PDZ_3.js");
4
4
  const require_enums = require("./enums.js");
5
5
  const require_err_msg = require("./err-msg-COpsHMw2.js");
@@ -4857,6 +4857,69 @@ var NcZoneConditionSchema = zod.z.object({
4857
4857
  * membership lists are OR within the list (spec §2.3).
4858
4858
  */
4859
4859
  /**
4860
+ * What a rule may actuate.
4861
+ *
4862
+ * **No hand-maintained allowlist** (operator decision, and the right one — a
4863
+ * written list of methods is a third parallel map to keep aligned, and this
4864
+ * repo has paid for those). The boundary instead comes from a property the
4865
+ * capabilities already carry: an action may target only a **device-scoped**
4866
+ * capability method.
4867
+ *
4868
+ * That is not decoration. A rule can be authored by a NON-ADMIN — personal
4869
+ * rules are a supported flow — and the executor runs with the addon's
4870
+ * privileges, so an unbounded action is an arbitrary RPC channel with a
4871
+ * privilege escalation attached. Restricting to device scope excludes the
4872
+ * system caps (`device-manager.removeDevice` and friends) by construction,
4873
+ * costs nothing to maintain, and cannot rot: a cap that stops being
4874
+ * device-scoped stops being actuatable in the same change.
4875
+ *
4876
+ * The executor enforces it; {@link NcRuleActionSchema} carries the intent.
4877
+ */
4878
+ /**
4879
+ * One step of a sequence.
4880
+ *
4881
+ * `wait` is a first-class step rather than a property of the next action: it is
4882
+ * what makes a sequence a SEQUENCE and not a list — "unlock, wait 5s, open"
4883
+ * cannot be expressed otherwise.
4884
+ */
4885
+ var NcRuleActionSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
4886
+ kind: zod.z.literal("wait"),
4887
+ seconds: zod.z.number().min(0).max(300)
4888
+ }), zod.z.object({
4889
+ kind: zod.z.literal("cap"),
4890
+ deviceId: zod.z.number().int(),
4891
+ /** Capability name, e.g. `alarm-panel`. */
4892
+ cap: zod.z.string().min(1),
4893
+ /** Method on it. The executor refuses a non-device-scoped cap. */
4894
+ method: zod.z.string().min(1),
4895
+ /** Method arguments, minus `deviceId` (the executor injects it). */
4896
+ args: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
4897
+ })]);
4898
+ /**
4899
+ * A named, ordered run of steps with its own throttle.
4900
+ *
4901
+ * `minDelaySec` exists because a noisy rule otherwise hammers a physical
4902
+ * actuator — the rule's own cooldown governs NOTIFICATIONS, which is a
4903
+ * different budget from "how often may this gate actually open".
4904
+ */
4905
+ var NcRuleActionSequenceSchema = zod.z.object({
4906
+ name: zod.z.string().min(1).max(120),
4907
+ enabled: zod.z.boolean(),
4908
+ minDelaySec: zod.z.number().int().min(0).max(86400).optional(),
4909
+ actions: zod.z.array(NcRuleActionSchema).min(1)
4910
+ });
4911
+ /**
4912
+ * Sequences a rule runs, by hook point.
4913
+ *
4914
+ * ONLY `onTrigger` is here, deliberately. The reference also has activation /
4915
+ * deactivation / reset / post-generation hooks, and they are wanted — but this
4916
+ * repo's expensive failure mode is declaring a surface nothing produces, so a
4917
+ * hook appears here in the same change that produces its edge, never before.
4918
+ */
4919
+ var NcRuleActionsSchema = zod.z.object({
4920
+ /** Runs when the rule MATCHES. */
4921
+ onTrigger: zod.z.array(NcRuleActionSequenceSchema).optional() });
4922
+ /**
4860
4923
  * "This rule applies only while `deviceId` is in one of `states`."
4861
4924
  *
4862
4925
  * The states are the DEVICE's own vocabulary — `AlarmState` for a panel,
@@ -5167,7 +5230,16 @@ var NcRuleInputSchema = zod.z.object({
5167
5230
  * read as `false` by {@link canSetGlobal} in the engine. Admins are not bound
5168
5231
  * by this flag — see the scope rules on that function.
5169
5232
  */
5170
- snoozeAllowGlobal: zod.z.boolean().optional()
5233
+ snoozeAllowGlobal: zod.z.boolean().optional(),
5234
+ /**
5235
+ * Devices this rule ACTUATES — arm the alarm, open a gate, turn on a light.
5236
+ *
5237
+ * This is what makes the rule set the alarm's trigger set without the alarm
5238
+ * being a special case: arming is
5239
+ * `{ cap: 'alarm-panel', method: 'arm', args: { mode: 'away' } }`, the same
5240
+ * shape as every other actuation.
5241
+ */
5242
+ actions: NcRuleActionsSchema.optional()
5171
5243
  });
5172
5244
  /**
5173
5245
  * Partial patch for `updateRule` — any subset of the input fields, plus the
@@ -34389,6 +34461,7 @@ exports.DEFAULT_SCRUB_THUMBNAIL_PRESET = DEFAULT_SCRUB_THUMBNAIL_PRESET;
34389
34461
  exports.DEVICE_BACKEND_TO_FORMAT = DEVICE_BACKEND_TO_FORMAT;
34390
34462
  exports.DEVICE_CAP_NAMES = DEVICE_CAP_NAMES;
34391
34463
  exports.DEVICE_PROFILES = DEVICE_PROFILES;
34464
+ exports.DEVICE_SCOPED_CAPS = require_sleep.DEVICE_SCOPED_CAPS;
34392
34465
  exports.DEVICE_SETTINGS_CONTRIBUTION_METHODS = require_sleep.DEVICE_SETTINGS_CONTRIBUTION_METHODS;
34393
34466
  exports.DEVICE_STATE_READERS = DEVICE_STATE_READERS;
34394
34467
  exports.DEVICE_STATUS_METHOD = require_sleep.DEVICE_STATUS_METHOD;
@@ -34612,6 +34685,9 @@ exports.NcMediaFrameSchema = NcMediaFrameSchema;
34612
34685
  exports.NcMediaPolicySchema = NcMediaPolicySchema;
34613
34686
  exports.NcOccupancyConditionSchema = NcOccupancyConditionSchema;
34614
34687
  exports.NcPlateMatcherSchema = NcPlateMatcherSchema;
34688
+ exports.NcRuleActionSchema = NcRuleActionSchema;
34689
+ exports.NcRuleActionSequenceSchema = NcRuleActionSequenceSchema;
34690
+ exports.NcRuleActionsSchema = NcRuleActionsSchema;
34615
34691
  exports.NcRuleInputSchema = NcRuleInputSchema;
34616
34692
  exports.NcRulePatchSchema = NcRulePatchSchema;
34617
34693
  exports.NcRuleSchema = NcRuleSchema;
@@ -35028,6 +35104,7 @@ exports.isBaseConditionKey = isBaseConditionKey;
35028
35104
  exports.isCollectionArrayMethod = isCollectionArrayMethod;
35029
35105
  exports.isDeployableToAgent = isDeployableToAgent;
35030
35106
  exports.isDeviceConfigCap = require_sleep.isDeviceConfigCap;
35107
+ exports.isDeviceScopedCap = require_sleep.isDeviceScopedCap;
35031
35108
  exports.isEvent = require_sleep.isEvent;
35032
35109
  exports.isNode = isNode;
35033
35110
  exports.isObjectInput = isObjectInput;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as ProfileSlotSchema, A as parseJsonUnknown, B as BrokerStatsSchema, C as asBoolean, Ct as DisposerChain, D as asString, E as asNumber, F as ReadinessRegistry, G as CamStreamResolutionSchema, H as CAM_PROFILE_ORDER, I as ReadinessTimeoutError, J as DecodedFrameSchema, K as CameraStreamSchema, L as emitDownForOwnedCaps, M as nodePin, N as readNodePin, O as parseJsonArray, P as DATAPLANE_SECRET_HEADER, Q as ProfileRtspEntrySchema, R as readinessKey, S as DeviceType, St as resolveHydratedFieldValue, T as asJsonObject, U as CamProfileSchema, V as BrokerStatusSchema, W as CamStreamKindSchema, X as FrameHandleFormatSchema, Y as EncodedPacketSchema, Z as FrameHandleSchema, _ as resolveCapMount, _t as WELL_KNOWN_TABS, a as viewerUiCapability, at as SubscribeFramesInputSchema, b as DeviceFeature, bt as collectHydratedFieldValues, c as createLazyTrpcSource, ct as makeSourceBrokerId, d as DEVICE_SETTINGS_CONTRIBUTION_METHODS, dt as BaseAddon, et as ProfileSlotStatusSchema, f as DEVICE_STATUS_METHOD, ft as normalizeAddonInitResult, g as method, gt as isEvent, h as isDeviceConfigCap, ht as emitReadiness, i as deviceOpsCapability, it as SubscribeAudioChunksResultSchema, j as CAP_NODE_PIN_CONTEXT_KEY, k as parseJsonObject, l as createMirrorSource, lt as parseProfileBrokerId, m as expandCapMethods, mt as createEvent, n as sleepCancellable, nt as StreamSourceSchema, o as adminUiCapability, ot as SubscribeFramesResultSchema, p as event, pt as createDurableState, q as DecodedAudioChunkSchema, r as RawStateResultSchema, rt as SubscribeAudioChunksInputSchema, s as createDeviceProxy, st as makeProfileBrokerId, t as sleep, tt as StreamSourceEntrySchema, u as createSliceHandle, ut as selectAssignedProfileSlots, v as systemMethod, vt as WELL_KNOWN_TAB_MAP, w as asJsonArray, x as DeviceRole, xt as hydrateSchema, y as ChargingStatus, yt as collectHydratedFieldEntries, z as scopeKey } from "./sleep-vCXN9wNH.mjs";
1
+ import { $ as FrameHandleSchema, A as parseJsonArray, B as readinessKey, C as DEVICE_SCOPED_CAPS, Ct as hydrateSchema, D as asJsonObject, E as asJsonArray, F as readNodePin, G as CamProfileSchema, H as BrokerStatsSchema, I as DATAPLANE_SECRET_HEADER, J as CameraStreamSchema, K as CamStreamKindSchema, L as ReadinessRegistry, M as parseJsonUnknown, N as CAP_NODE_PIN_CONTEXT_KEY, O as asNumber, P as nodePin, Q as FrameHandleFormatSchema, R as ReadinessTimeoutError, S as DeviceType, St as collectHydratedFieldValues, T as asBoolean, Tt as DisposerChain, U as BrokerStatusSchema, V as scopeKey, W as CAM_PROFILE_ORDER, X as DecodedFrameSchema, Y as DecodedAudioChunkSchema, Z as EncodedPacketSchema, _ as resolveCapMount, _t as emitReadiness, a as viewerUiCapability, at as SubscribeAudioChunksInputSchema, b as DeviceFeature, bt as WELL_KNOWN_TAB_MAP, c as createLazyTrpcSource, ct as SubscribeFramesResultSchema, d as DEVICE_SETTINGS_CONTRIBUTION_METHODS, dt as parseProfileBrokerId, et as ProfileRtspEntrySchema, f as DEVICE_STATUS_METHOD, ft as selectAssignedProfileSlots, g as method, gt as createEvent, h as isDeviceConfigCap, ht as createDurableState, i as deviceOpsCapability, it as StreamSourceSchema, j as parseJsonObject, k as asString, l as createMirrorSource, lt as makeProfileBrokerId, m as expandCapMethods, mt as normalizeAddonInitResult, n as sleepCancellable, nt as ProfileSlotStatusSchema, o as adminUiCapability, ot as SubscribeAudioChunksResultSchema, p as event, pt as BaseAddon, q as CamStreamResolutionSchema, r as RawStateResultSchema, rt as StreamSourceEntrySchema, s as createDeviceProxy, st as SubscribeFramesInputSchema, t as sleep, tt as ProfileSlotSchema, u as createSliceHandle, ut as makeSourceBrokerId, v as systemMethod, vt as isEvent, w as isDeviceScopedCap, wt as resolveHydratedFieldValue, x as DeviceRole, xt as collectHydratedFieldEntries, y as ChargingStatus, yt as WELL_KNOWN_TABS, z as emitDownForOwnedCaps } from "./sleep-CD2Df3i7.mjs";
2
2
  import { t as EventCategory } from "./event-category-41fKf-q9.mjs";
3
3
  import { EventSourceType } from "./enums.mjs";
4
4
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
@@ -4856,6 +4856,69 @@ var NcZoneConditionSchema = z.object({
4856
4856
  * membership lists are OR within the list (spec §2.3).
4857
4857
  */
4858
4858
  /**
4859
+ * What a rule may actuate.
4860
+ *
4861
+ * **No hand-maintained allowlist** (operator decision, and the right one — a
4862
+ * written list of methods is a third parallel map to keep aligned, and this
4863
+ * repo has paid for those). The boundary instead comes from a property the
4864
+ * capabilities already carry: an action may target only a **device-scoped**
4865
+ * capability method.
4866
+ *
4867
+ * That is not decoration. A rule can be authored by a NON-ADMIN — personal
4868
+ * rules are a supported flow — and the executor runs with the addon's
4869
+ * privileges, so an unbounded action is an arbitrary RPC channel with a
4870
+ * privilege escalation attached. Restricting to device scope excludes the
4871
+ * system caps (`device-manager.removeDevice` and friends) by construction,
4872
+ * costs nothing to maintain, and cannot rot: a cap that stops being
4873
+ * device-scoped stops being actuatable in the same change.
4874
+ *
4875
+ * The executor enforces it; {@link NcRuleActionSchema} carries the intent.
4876
+ */
4877
+ /**
4878
+ * One step of a sequence.
4879
+ *
4880
+ * `wait` is a first-class step rather than a property of the next action: it is
4881
+ * what makes a sequence a SEQUENCE and not a list — "unlock, wait 5s, open"
4882
+ * cannot be expressed otherwise.
4883
+ */
4884
+ var NcRuleActionSchema = z.discriminatedUnion("kind", [z.object({
4885
+ kind: z.literal("wait"),
4886
+ seconds: z.number().min(0).max(300)
4887
+ }), z.object({
4888
+ kind: z.literal("cap"),
4889
+ deviceId: z.number().int(),
4890
+ /** Capability name, e.g. `alarm-panel`. */
4891
+ cap: z.string().min(1),
4892
+ /** Method on it. The executor refuses a non-device-scoped cap. */
4893
+ method: z.string().min(1),
4894
+ /** Method arguments, minus `deviceId` (the executor injects it). */
4895
+ args: z.record(z.string(), z.unknown()).optional()
4896
+ })]);
4897
+ /**
4898
+ * A named, ordered run of steps with its own throttle.
4899
+ *
4900
+ * `minDelaySec` exists because a noisy rule otherwise hammers a physical
4901
+ * actuator — the rule's own cooldown governs NOTIFICATIONS, which is a
4902
+ * different budget from "how often may this gate actually open".
4903
+ */
4904
+ var NcRuleActionSequenceSchema = z.object({
4905
+ name: z.string().min(1).max(120),
4906
+ enabled: z.boolean(),
4907
+ minDelaySec: z.number().int().min(0).max(86400).optional(),
4908
+ actions: z.array(NcRuleActionSchema).min(1)
4909
+ });
4910
+ /**
4911
+ * Sequences a rule runs, by hook point.
4912
+ *
4913
+ * ONLY `onTrigger` is here, deliberately. The reference also has activation /
4914
+ * deactivation / reset / post-generation hooks, and they are wanted — but this
4915
+ * repo's expensive failure mode is declaring a surface nothing produces, so a
4916
+ * hook appears here in the same change that produces its edge, never before.
4917
+ */
4918
+ var NcRuleActionsSchema = z.object({
4919
+ /** Runs when the rule MATCHES. */
4920
+ onTrigger: z.array(NcRuleActionSequenceSchema).optional() });
4921
+ /**
4859
4922
  * "This rule applies only while `deviceId` is in one of `states`."
4860
4923
  *
4861
4924
  * The states are the DEVICE's own vocabulary — `AlarmState` for a panel,
@@ -5166,7 +5229,16 @@ var NcRuleInputSchema = z.object({
5166
5229
  * read as `false` by {@link canSetGlobal} in the engine. Admins are not bound
5167
5230
  * by this flag — see the scope rules on that function.
5168
5231
  */
5169
- snoozeAllowGlobal: z.boolean().optional()
5232
+ snoozeAllowGlobal: z.boolean().optional(),
5233
+ /**
5234
+ * Devices this rule ACTUATES — arm the alarm, open a gate, turn on a light.
5235
+ *
5236
+ * This is what makes the rule set the alarm's trigger set without the alarm
5237
+ * being a special case: arming is
5238
+ * `{ cap: 'alarm-panel', method: 'arm', args: { mode: 'away' } }`, the same
5239
+ * shape as every other actuation.
5240
+ */
5241
+ actions: NcRuleActionsSchema.optional()
5170
5242
  });
5171
5243
  /**
5172
5244
  * Partial patch for `updateRule` — any subset of the input fields, plus the
@@ -34218,4 +34290,4 @@ function enumerateInferenceDevices(hw) {
34218
34290
  return out;
34219
34291
  }
34220
34292
  //#endregion
34221
- export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceLinkModeSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventSourceType, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOG_LEVEL_RANK, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, NC_TAXONOMY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleInputSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SENSOR_FEATURES, SENSOR_MAP, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackProjectionSchema, TrackSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildEventKindDescriptor, buildModelVariantGroups, buildNcTaxonomy, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, deriveRecordingMode, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isBaseConditionKey, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isEvent, isNode, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, petFeederCapability, pickAccessoryControl, pickPreferredRtspEntry, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readDeviceStateFrom, readNodePin, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveMutate, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
34293
+ export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceLinkModeSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventSourceType, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOG_LEVEL_RANK, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, NC_TAXONOMY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleInputSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SENSOR_FEATURES, SENSOR_MAP, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackProjectionSchema, TrackSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildEventKindDescriptor, buildModelVariantGroups, buildNcTaxonomy, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, deriveRecordingMode, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isBaseConditionKey, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isDeviceScopedCap, isEvent, isNode, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, petFeederCapability, pickAccessoryControl, pickPreferredRtspEntry, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readDeviceStateFrom, readNodePin, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveMutate, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
@@ -2008,6 +2008,111 @@ function parseJsonArray(text) {
2008
2008
  }
2009
2009
  }
2010
2010
  //#endregion
2011
+ //#region src/generated/device-scoped-caps.ts
2012
+ /**
2013
+ * AUTO-GENERATED by scripts/generate-device-scoped-caps.ts — DO NOT EDIT.
2014
+ *
2015
+ * Every `scope: 'device'` capability name, as plain data — so a forked runner
2016
+ * can answer "may a rule actuate this?" without importing the schema barrel
2017
+ * (~144MB RSS per runner, D28).
2018
+ *
2019
+ * Coverage: 80 device-scoped capabilities.
2020
+ */
2021
+ var DEVICE_SCOPED_CAPS = new Set([
2022
+ "accessories",
2023
+ "air-quality-sensor",
2024
+ "alarm-panel",
2025
+ "ambient-light-sensor",
2026
+ "audio-analysis",
2027
+ "audio-metrics",
2028
+ "automation-control",
2029
+ "battery",
2030
+ "binary",
2031
+ "brightness",
2032
+ "button",
2033
+ "camera-credentials",
2034
+ "camera-pipeline-config",
2035
+ "camera-streams",
2036
+ "carbon-monoxide",
2037
+ "climate-control",
2038
+ "color",
2039
+ "connectivity",
2040
+ "consumables",
2041
+ "contact",
2042
+ "control",
2043
+ "cover",
2044
+ "day-night",
2045
+ "detection-pipeline",
2046
+ "device-discovery",
2047
+ "device-ops",
2048
+ "device-status",
2049
+ "doorbell",
2050
+ "enum-sensor",
2051
+ "event-emitter",
2052
+ "events",
2053
+ "fan-control",
2054
+ "feature-probe",
2055
+ "flood",
2056
+ "gas",
2057
+ "humidifier",
2058
+ "humidity-sensor",
2059
+ "image",
2060
+ "image-settings",
2061
+ "intercom",
2062
+ "lawn-mower-control",
2063
+ "lock-control",
2064
+ "media-player",
2065
+ "motion",
2066
+ "motion-detection",
2067
+ "motion-trigger",
2068
+ "motion-zones",
2069
+ "native-object-detection",
2070
+ "notifier",
2071
+ "numeric-sensor",
2072
+ "osd",
2073
+ "pet-feeder",
2074
+ "pipeline-analytics",
2075
+ "power-meter",
2076
+ "presence",
2077
+ "pressure-sensor",
2078
+ "privacy-mask",
2079
+ "ptz",
2080
+ "ptz-autotrack",
2081
+ "reboot",
2082
+ "scene-monitor",
2083
+ "script-runner",
2084
+ "smoke",
2085
+ "snapshot",
2086
+ "stream-catalog",
2087
+ "stream-params",
2088
+ "switch",
2089
+ "tamper",
2090
+ "temperature-sensor",
2091
+ "update",
2092
+ "vacuum-control",
2093
+ "valve",
2094
+ "vibration",
2095
+ "videoclips",
2096
+ "water-heater",
2097
+ "weather",
2098
+ "webrtc-session",
2099
+ "zone-analytics",
2100
+ "zone-rules",
2101
+ "zones"
2102
+ ]);
2103
+ /**
2104
+ * True when `capName` is a device capability.
2105
+ *
2106
+ * This is the ONLY boundary on what a notification rule may actuate. A rule can
2107
+ * be authored by a non-admin and the runner executes with the addon's
2108
+ * privileges, so an unbounded action would be an arbitrary RPC channel with a
2109
+ * privilege escalation attached. Device scope excludes the system caps
2110
+ * (`device-manager.removeDevice` and friends) by construction.
2111
+ */
2112
+ function isDeviceScopedCap(capName) {
2113
+ return DEVICE_SCOPED_CAPS.has(capName);
2114
+ }
2115
+ //#endregion
2011
2116
  //#region src/device/device-type.ts
2012
2117
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
2013
2118
  DeviceType["Camera"] = "camera";
@@ -3610,6 +3715,12 @@ Object.defineProperty(exports, "DATAPLANE_SECRET_HEADER", {
3610
3715
  return DATAPLANE_SECRET_HEADER;
3611
3716
  }
3612
3717
  });
3718
+ Object.defineProperty(exports, "DEVICE_SCOPED_CAPS", {
3719
+ enumerable: true,
3720
+ get: function() {
3721
+ return DEVICE_SCOPED_CAPS;
3722
+ }
3723
+ });
3613
3724
  Object.defineProperty(exports, "DEVICE_SETTINGS_CONTRIBUTION_METHODS", {
3614
3725
  enumerable: true,
3615
3726
  get: function() {
@@ -3886,6 +3997,12 @@ Object.defineProperty(exports, "isDeviceConfigCap", {
3886
3997
  return isDeviceConfigCap;
3887
3998
  }
3888
3999
  });
4000
+ Object.defineProperty(exports, "isDeviceScopedCap", {
4001
+ enumerable: true,
4002
+ get: function() {
4003
+ return isDeviceScopedCap;
4004
+ }
4005
+ });
3889
4006
  Object.defineProperty(exports, "isEvent", {
3890
4007
  enumerable: true,
3891
4008
  get: function() {
@@ -2008,6 +2008,111 @@ function parseJsonArray(text) {
2008
2008
  }
2009
2009
  }
2010
2010
  //#endregion
2011
+ //#region src/generated/device-scoped-caps.ts
2012
+ /**
2013
+ * AUTO-GENERATED by scripts/generate-device-scoped-caps.ts — DO NOT EDIT.
2014
+ *
2015
+ * Every `scope: 'device'` capability name, as plain data — so a forked runner
2016
+ * can answer "may a rule actuate this?" without importing the schema barrel
2017
+ * (~144MB RSS per runner, D28).
2018
+ *
2019
+ * Coverage: 80 device-scoped capabilities.
2020
+ */
2021
+ var DEVICE_SCOPED_CAPS = new Set([
2022
+ "accessories",
2023
+ "air-quality-sensor",
2024
+ "alarm-panel",
2025
+ "ambient-light-sensor",
2026
+ "audio-analysis",
2027
+ "audio-metrics",
2028
+ "automation-control",
2029
+ "battery",
2030
+ "binary",
2031
+ "brightness",
2032
+ "button",
2033
+ "camera-credentials",
2034
+ "camera-pipeline-config",
2035
+ "camera-streams",
2036
+ "carbon-monoxide",
2037
+ "climate-control",
2038
+ "color",
2039
+ "connectivity",
2040
+ "consumables",
2041
+ "contact",
2042
+ "control",
2043
+ "cover",
2044
+ "day-night",
2045
+ "detection-pipeline",
2046
+ "device-discovery",
2047
+ "device-ops",
2048
+ "device-status",
2049
+ "doorbell",
2050
+ "enum-sensor",
2051
+ "event-emitter",
2052
+ "events",
2053
+ "fan-control",
2054
+ "feature-probe",
2055
+ "flood",
2056
+ "gas",
2057
+ "humidifier",
2058
+ "humidity-sensor",
2059
+ "image",
2060
+ "image-settings",
2061
+ "intercom",
2062
+ "lawn-mower-control",
2063
+ "lock-control",
2064
+ "media-player",
2065
+ "motion",
2066
+ "motion-detection",
2067
+ "motion-trigger",
2068
+ "motion-zones",
2069
+ "native-object-detection",
2070
+ "notifier",
2071
+ "numeric-sensor",
2072
+ "osd",
2073
+ "pet-feeder",
2074
+ "pipeline-analytics",
2075
+ "power-meter",
2076
+ "presence",
2077
+ "pressure-sensor",
2078
+ "privacy-mask",
2079
+ "ptz",
2080
+ "ptz-autotrack",
2081
+ "reboot",
2082
+ "scene-monitor",
2083
+ "script-runner",
2084
+ "smoke",
2085
+ "snapshot",
2086
+ "stream-catalog",
2087
+ "stream-params",
2088
+ "switch",
2089
+ "tamper",
2090
+ "temperature-sensor",
2091
+ "update",
2092
+ "vacuum-control",
2093
+ "valve",
2094
+ "vibration",
2095
+ "videoclips",
2096
+ "water-heater",
2097
+ "weather",
2098
+ "webrtc-session",
2099
+ "zone-analytics",
2100
+ "zone-rules",
2101
+ "zones"
2102
+ ]);
2103
+ /**
2104
+ * True when `capName` is a device capability.
2105
+ *
2106
+ * This is the ONLY boundary on what a notification rule may actuate. A rule can
2107
+ * be authored by a non-admin and the runner executes with the addon's
2108
+ * privileges, so an unbounded action would be an arbitrary RPC channel with a
2109
+ * privilege escalation attached. Device scope excludes the system caps
2110
+ * (`device-manager.removeDevice` and friends) by construction.
2111
+ */
2112
+ function isDeviceScopedCap(capName) {
2113
+ return DEVICE_SCOPED_CAPS.has(capName);
2114
+ }
2115
+ //#endregion
2011
2116
  //#region src/device/device-type.ts
2012
2117
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
2013
2118
  DeviceType["Camera"] = "camera";
@@ -3544,4 +3649,4 @@ function sleepCancellable(ms, signal) {
3544
3649
  });
3545
3650
  }
3546
3651
  //#endregion
3547
- export { ProfileSlotSchema as $, parseJsonUnknown as A, BrokerStatsSchema as B, asBoolean as C, DisposerChain as Ct, asString as D, asNumber as E, ReadinessRegistry as F, CamStreamResolutionSchema as G, CAM_PROFILE_ORDER as H, ReadinessTimeoutError as I, DecodedFrameSchema as J, CameraStreamSchema as K, emitDownForOwnedCaps as L, nodePin as M, readNodePin as N, parseJsonArray as O, DATAPLANE_SECRET_HEADER as P, ProfileRtspEntrySchema as Q, readinessKey as R, DeviceType as S, resolveHydratedFieldValue as St, asJsonObject as T, CamProfileSchema as U, BrokerStatusSchema as V, CamStreamKindSchema as W, FrameHandleFormatSchema as X, EncodedPacketSchema as Y, FrameHandleSchema as Z, resolveCapMount as _, WELL_KNOWN_TABS as _t, viewerUiCapability as a, SubscribeFramesInputSchema as at, DeviceFeature as b, collectHydratedFieldValues as bt, createLazyTrpcSource as c, makeSourceBrokerId as ct, DEVICE_SETTINGS_CONTRIBUTION_METHODS as d, BaseAddon as dt, ProfileSlotStatusSchema as et, DEVICE_STATUS_METHOD as f, normalizeAddonInitResult as ft, method as g, isEvent as gt, isDeviceConfigCap as h, emitReadiness as ht, deviceOpsCapability as i, SubscribeAudioChunksResultSchema as it, CAP_NODE_PIN_CONTEXT_KEY as j, parseJsonObject as k, createMirrorSource as l, parseProfileBrokerId as lt, expandCapMethods as m, createEvent as mt, sleepCancellable as n, StreamSourceSchema as nt, adminUiCapability as o, SubscribeFramesResultSchema as ot, event as p, createDurableState as pt, DecodedAudioChunkSchema as q, RawStateResultSchema as r, SubscribeAudioChunksInputSchema as rt, createDeviceProxy as s, makeProfileBrokerId as st, sleep as t, StreamSourceEntrySchema$1 as tt, createSliceHandle as u, selectAssignedProfileSlots as ut, systemMethod as v, WELL_KNOWN_TAB_MAP as vt, asJsonArray as w, DeviceRole as x, hydrateSchema as xt, ChargingStatus as y, collectHydratedFieldEntries as yt, scopeKey as z };
3652
+ export { FrameHandleSchema as $, parseJsonArray as A, readinessKey as B, DEVICE_SCOPED_CAPS as C, hydrateSchema as Ct, asJsonObject as D, asJsonArray as E, readNodePin as F, CamProfileSchema as G, BrokerStatsSchema as H, DATAPLANE_SECRET_HEADER as I, CameraStreamSchema as J, CamStreamKindSchema as K, ReadinessRegistry as L, parseJsonUnknown as M, CAP_NODE_PIN_CONTEXT_KEY as N, asNumber as O, nodePin as P, FrameHandleFormatSchema as Q, ReadinessTimeoutError as R, DeviceType as S, collectHydratedFieldValues as St, asBoolean as T, DisposerChain as Tt, BrokerStatusSchema as U, scopeKey as V, CAM_PROFILE_ORDER as W, DecodedFrameSchema as X, DecodedAudioChunkSchema as Y, EncodedPacketSchema as Z, resolveCapMount as _, emitReadiness as _t, viewerUiCapability as a, SubscribeAudioChunksInputSchema as at, DeviceFeature as b, WELL_KNOWN_TAB_MAP as bt, createLazyTrpcSource as c, SubscribeFramesResultSchema as ct, DEVICE_SETTINGS_CONTRIBUTION_METHODS as d, parseProfileBrokerId as dt, ProfileRtspEntrySchema as et, DEVICE_STATUS_METHOD as f, selectAssignedProfileSlots as ft, method as g, createEvent as gt, isDeviceConfigCap as h, createDurableState as ht, deviceOpsCapability as i, StreamSourceSchema as it, parseJsonObject as j, asString as k, createMirrorSource as l, makeProfileBrokerId as lt, expandCapMethods as m, normalizeAddonInitResult as mt, sleepCancellable as n, ProfileSlotStatusSchema as nt, adminUiCapability as o, SubscribeAudioChunksResultSchema as ot, event as p, BaseAddon as pt, CamStreamResolutionSchema as q, RawStateResultSchema as r, StreamSourceEntrySchema$1 as rt, createDeviceProxy as s, SubscribeFramesInputSchema as st, sleep as t, ProfileSlotSchema as tt, createSliceHandle as u, makeSourceBrokerId as ut, systemMethod as v, isEvent as vt, isDeviceScopedCap as w, resolveHydratedFieldValue as wt, DeviceRole as x, collectHydratedFieldEntries as xt, ChargingStatus as y, WELL_KNOWN_TABS as yt, emitDownForOwnedCaps as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.26",
3
+ "version": "1.2.27",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",