@camstack/types 1.2.254 → 1.2.256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BAgDk7I9.js");
2
+ const require_sleep = require("./sleep-DtomDrRW.js");
3
3
  const require_event_category = require("./event-category-BVfsrBYA.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as DeviceType, At as DATAPLANE_SECRET_HEADER, Dt as PEER_BYTES_STALL_MS, Et as PEER_BYTES_MAX_OUTSTANDING, G as readNodePin, J as ReadinessTimeoutError, L as expandCapMethods, Lt as emitReadiness, Mt as DisposerChain, Nt as BaseAddon, Ot as PEER_BYTES_TICKET_TTL_MS, Pt as normalizeAddonInitResult, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as PEER_BYTES_CHUNK_BYTES, W as nodePin, Z as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, q as ReadinessRegistry, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-D_4W7xuQ.mjs";
1
+ import { A as DeviceType, At as DATAPLANE_SECRET_HEADER, Dt as PEER_BYTES_STALL_MS, Et as PEER_BYTES_MAX_OUTSTANDING, G as readNodePin, J as ReadinessTimeoutError, L as expandCapMethods, Lt as emitReadiness, Mt as DisposerChain, Nt as BaseAddon, Ot as PEER_BYTES_TICKET_TTL_MS, Pt as normalizeAddonInitResult, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as PEER_BYTES_CHUNK_BYTES, W as nodePin, Z as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, q as ReadinessRegistry, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-DU7mu4wb.mjs";
2
2
  import { t as EventCategory } from "./event-category-BVDXG4tB.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
@@ -82,7 +82,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
82
82
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
83
83
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
84
84
  export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, type NotificationActionIcon, NotificationActionIconSchema, 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';
85
- export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type NcClipRetentionAsk, NcClipRetentionAskSchema, type NcClipRetentionPlan, NcClipRetentionPlanSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcLinkedCameraMode, NcLinkedCameraModeSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleClearableKey, NcRuleClearableKeySchema, type NcRuleInput, NcRuleInputSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, NC_RULE_CLEARABLE_KEYS, NcRuleKindSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, NcTemplatePreviewSchema, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
85
+ export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type NcClipRetentionAsk, NcClipRetentionAskSchema, type NcClipRetentionPlan, NcClipRetentionPlanSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcLinkedCameraMode, NcLinkedCameraModeSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleClearableKey, NcRuleClearableKeySchema, type NcRuleInput, NcRuleInputSchema, type NcRuleLastRun, NcRuleLastRunSchema, type NcRuleLastRuns, NcRuleLastRunsSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, NC_RULE_CLEARABLE_KEYS, NcRuleKindSchema, type NcTemplateVarKind, NcTemplateVarKindSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSensorTransition, NcSensorTransitionSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, NcTemplatePreviewSchema, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
86
86
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
87
87
  export { AnalyticsLtsSeriesSchema, type AudioEvent, type AudioEventDraft, AudioEventSchema, type DetectionSource, DetectionSourceSchema, EVENT_DENSITY_BATCH_MAX, type EventDensityBucket, EventDensityBucketSchema, type EventDensityForDevice, EventDensityForDeviceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, LTS_SCOPE_CLASS_SEPARATOR, type LtsBucket, LtsBucketSchema, MAX_TRACK_DEBUG_NOTE_LEN, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, type MotionEventDraft, MotionEventSchema, type ObjectEvent, type ObjectEventDraft, ObjectEventSchema, occupancyScope, parseOccupancyScope, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, type SummariesPage, type Summary, type SummaryDetail, type SummaryListItem, SummarySchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
88
88
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -176,7 +176,7 @@ export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetect
176
176
  export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, type NavigationActionEntry, NavigationActionEntrySchema, type NavigationActionId, NavigationActionIdSchema, type NavigationEntryKind, NavigationEntryKindSchema, type NavigationFeatures, NavigationFeaturesSchema, type NavigationLightMode, NavigationLightModeSchema, type NavigationMode, NavigationModeSchema, type NavigationMoveCommand, NavigationMoveCommandSchema, type NavigationPoint, NavigationPointSchema, type NavigationRuntimeState, NavigationRuntimeStateSchema, type NavigationStatus, NavigationStatusSchema, navigationCapability, } from './navigation.cap.js';
177
177
  export { type INetworkLinkProvider, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, type NetworkLinkStatus, NetworkLinkStatusSchema, type NetworkLinkType, networkLinkCapability, signalPercentFromBars, signalPercentFromRssi, } from './network-link.cap.js';
178
178
  export { ClientNetworkStatsSchema, DeviceNetworkStatsSchema, type INetworkQualityProvider, networkQualityCapability, StreamNetworkStatsSchema, } from './network-quality.cap.js';
179
- export { ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, type INodesProvider, nodesCapability, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, } from './nodes.cap.js';
179
+ export { ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, type INodesProvider, type NodeDirectory, type NodeDirectoryEntry, NodeDirectoryEntrySchema, NodeDirectorySchema, nodesCapability, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, } from './nodes.cap.js';
180
180
  export { type INotifierProvider, type NotifierAction, type NotifierPriority, type NotifierSendInput, type NotifierSendResult, type NotifierStatus, NotifierStatusSchema, type NotifierSupports, notifierCapability, } from './notifier.cap.js';
181
181
  export { type INumericSensorProvider, type NumericSensorStatus, NumericSensorStatusSchema, numericSensorCapability, } from './numeric-sensor.cap.js';
182
182
  export { type IOsdProvider, type OsdOverlay, type OsdOverlayKind, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, type OsdPosition, OsdPositionEnum, type OsdStatus, OsdStatusSchema, osdCapability, } from './osd.cap.js';
@@ -117,6 +117,42 @@ declare const NodeAddonEntrySchema: z.ZodObject<{
117
117
  version: z.ZodOptional<z.ZodString>;
118
118
  packageName: z.ZodOptional<z.ZodString>;
119
119
  }, z.core.$strip>;
120
+ /**
121
+ * One row of the CHEAP node list (D637): what a node picker needs and nothing
122
+ * else. Read from the hub's in-memory registry plus the durable node history.
123
+ * No per-node RPC, unlike `topology`, which walks the whole cluster (32–51 s).
124
+ */
125
+ export declare const NodeDirectoryEntrySchema: z.ZodObject<{
126
+ id: z.ZodString;
127
+ name: z.ZodString;
128
+ isHub: z.ZodBoolean;
129
+ isOnline: z.ZodBoolean;
130
+ }, z.core.$strip>;
131
+ export type NodeDirectoryEntry = z.infer<typeof NodeDirectoryEntrySchema>;
132
+ /**
133
+ * The cheap node list. A consumer's rule for a STORED node id (a rule's
134
+ * `nodeIds`) that is missing from `nodes`, whatever `complete` says: render it
135
+ * as a removable chip labelled unknown, never drop it (D49). Even a complete
136
+ * list omits a node that joined and left between two history captures, so a
137
+ * missing id means "not known to the hub", never "removed". Only the operator
138
+ * removes it.
139
+ *
140
+ * `complete` changes only the WORDING: `false` = no history read has ever
141
+ * answered, so the list may be missing offline nodes the hub does know (D315).
142
+ *
143
+ * `name` is the history row's name (≤ 30 s behind a rename), or the id when
144
+ * the history has none.
145
+ */
146
+ export declare const NodeDirectorySchema: z.ZodObject<{
147
+ nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
148
+ id: z.ZodString;
149
+ name: z.ZodString;
150
+ isHub: z.ZodBoolean;
151
+ isOnline: z.ZodBoolean;
152
+ }, z.core.$strip>>>;
153
+ complete: z.ZodBoolean;
154
+ }, z.core.$strip>;
155
+ export type NodeDirectory = z.infer<typeof NodeDirectorySchema>;
120
156
  /**
121
157
  * `nodes` is a **hub-centric** cluster-management cap: the hub hosts
122
158
  * the single provider and every per-node method (`getNodeAddons`,
@@ -187,6 +223,20 @@ export declare const nodesCapability: {
187
223
  version: z.ZodString;
188
224
  }, z.core.$strip>>;
189
225
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
226
+ /**
227
+ * The cheap node list for pickers (D637): the hub's in-memory registry plus
228
+ * the durable node history, no per-node RPC. `complete: false` when the
229
+ * history could not be read.
230
+ */
231
+ readonly directory: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
232
+ nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
233
+ id: z.ZodString;
234
+ name: z.ZodString;
235
+ isHub: z.ZodBoolean;
236
+ isOnline: z.ZodBoolean;
237
+ }, z.core.$strip>>>;
238
+ complete: z.ZodBoolean;
239
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
190
240
  readonly deployAddon: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
191
241
  nodeId: z.ZodString;
192
242
  addonId: z.ZodString;
@@ -347,6 +347,20 @@ export declare const NcCrossingSchema: z.ZodEnum<{
347
347
  exit: "exit";
348
348
  }>;
349
349
  export type NcCrossing = z.infer<typeof NcCrossingSchema>;
350
+ /**
351
+ * Which edge of a BOOLEAN sensor fires a device-event rule (D640).
352
+ * - `raised` — the sensor went high: water detected, smoke, open, tampered.
353
+ * - `cleared` — it went back: dry, clear, closed.
354
+ * - absent — both edges, which is what every rule authored before this did.
355
+ *
356
+ * There is no third member for "both": absence already says it, and a value
357
+ * that means the same as absence is a second way to write one rule.
358
+ */
359
+ export declare const NcSensorTransitionSchema: z.ZodEnum<{
360
+ raised: "raised";
361
+ cleared: "cleared";
362
+ }>;
363
+ export type NcSensorTransition = z.infer<typeof NcSensorTransitionSchema>;
350
364
  /** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
351
365
  export declare const NcZoneConditionSchema: z.ZodObject<{
352
366
  ids: z.ZodArray<z.ZodString>;
@@ -588,6 +602,7 @@ export declare const NcConditionsSchema: z.ZodObject<{
588
602
  latched: z.ZodOptional<z.ZodBoolean>;
589
603
  }, z.core.$strip>>;
590
604
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
605
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
591
606
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
592
607
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
593
608
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -623,6 +638,10 @@ export declare const NcConditionsSchema: z.ZodObject<{
623
638
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
624
639
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
625
640
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
641
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
642
+ raised: "raised";
643
+ cleared: "cleared";
644
+ }>>;
626
645
  packagePhase: z.ZodOptional<z.ZodEnum<{
627
646
  both: "both";
628
647
  delivered: "delivered";
@@ -904,6 +923,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
904
923
  latched: z.ZodOptional<z.ZodBoolean>;
905
924
  }, z.core.$strip>>;
906
925
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
926
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
907
927
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
908
928
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
909
929
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -939,6 +959,10 @@ export declare const NcRuleInputSchema: z.ZodObject<{
939
959
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
940
960
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
941
961
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
962
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
963
+ raised: "raised";
964
+ cleared: "cleared";
965
+ }>>;
942
966
  packagePhase: z.ZodOptional<z.ZodEnum<{
943
967
  both: "both";
944
968
  delivered: "delivered";
@@ -1267,6 +1291,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1267
1291
  latched: z.ZodOptional<z.ZodBoolean>;
1268
1292
  }, z.core.$strip>>;
1269
1293
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1294
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1270
1295
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1271
1296
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1272
1297
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -1302,6 +1327,10 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1302
1327
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
1303
1328
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1304
1329
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1330
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
1331
+ raised: "raised";
1332
+ cleared: "cleared";
1333
+ }>>;
1305
1334
  packagePhase: z.ZodOptional<z.ZodEnum<{
1306
1335
  both: "both";
1307
1336
  delivered: "delivered";
@@ -1559,6 +1588,7 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
1559
1588
  latched: z.ZodOptional<z.ZodBoolean>;
1560
1589
  }, z.core.$strip>>;
1561
1590
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1591
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1562
1592
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1563
1593
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1564
1594
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -1594,6 +1624,10 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
1594
1624
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
1595
1625
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1596
1626
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1627
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
1628
+ raised: "raised";
1629
+ cleared: "cleared";
1630
+ }>>;
1597
1631
  packagePhase: z.ZodOptional<z.ZodEnum<{
1598
1632
  both: "both";
1599
1633
  delivered: "delivered";
@@ -1751,6 +1785,7 @@ export declare const NcRuleSchema: z.ZodObject<{
1751
1785
  latched: z.ZodOptional<z.ZodBoolean>;
1752
1786
  }, z.core.$strip>>;
1753
1787
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1788
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1754
1789
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1755
1790
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1756
1791
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -1786,6 +1821,10 @@ export declare const NcRuleSchema: z.ZodObject<{
1786
1821
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
1787
1822
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1788
1823
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1824
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
1825
+ raised: "raised";
1826
+ cleared: "cleared";
1827
+ }>>;
1789
1828
  packagePhase: z.ZodOptional<z.ZodEnum<{
1790
1829
  both: "both";
1791
1830
  delivered: "delivered";
@@ -2014,15 +2053,36 @@ export declare const NcTestResultSchema: z.ZodObject<{
2014
2053
  label: z.ZodOptional<z.ZodString>;
2015
2054
  }, z.core.$strip>;
2016
2055
  export type NcTestResult = z.infer<typeof NcTestResultSchema>;
2017
- /** The five rule kinds, as data. `NcRuleKind` in `notification/rule-kinds.ts`
2018
- * is the same union; the template-vars spec pins the two together. */
2056
+ /** The rule kinds, as data. `NcRuleKind` in `notification/rule-kinds.ts` is the
2057
+ * same union; the template-vars spec pins the two together. `mixed` is DERIVED
2058
+ * (a stored system rule whose kinds span families, D637) and never authored. */
2019
2059
  export declare const NcRuleKindSchema: z.ZodEnum<{
2020
2060
  sensor: "sensor";
2021
2061
  system: "system";
2022
2062
  detection: "detection";
2023
2063
  occupancy: "occupancy";
2024
2064
  sound: "sound";
2065
+ alarm: "alarm";
2066
+ "device-events": "device-events";
2067
+ mixed: "mixed";
2068
+ }>;
2069
+ /**
2070
+ * The kinds a SERVED template-variable descriptor may name: the five that
2071
+ * existed before D637, frozen. `getTemplateCatalog` ships `kinds` to every
2072
+ * installed viewer, and a viewer at `@camstack/types` 1.2.25x parses them with a
2073
+ * strict five-member enum — one `device-events` in one descriptor fails the
2074
+ * whole catalog parse. So the WIRE says `system`, and the MATCH widens it:
2075
+ * `templateVarKindApplies` reads a `system` descriptor as applying to every
2076
+ * system rule kind (`device-events`, `system`, `alarm`, `mixed`).
2077
+ */
2078
+ export declare const NcTemplateVarKindSchema: z.ZodEnum<{
2079
+ sensor: "sensor";
2080
+ system: "system";
2081
+ detection: "detection";
2082
+ occupancy: "occupancy";
2083
+ sound: "sound";
2025
2084
  }>;
2085
+ export type NcTemplateVarKind = z.infer<typeof NcTemplateVarKindSchema>;
2026
2086
  /** Which producer renders a template: an ordinary rule, a timelapse, a digest. */
2027
2087
  export declare const NcTemplateFamilySchema: z.ZodEnum<{
2028
2088
  summary: "summary";
@@ -2057,7 +2117,7 @@ export type NcTemplateVarGroup = z.infer<typeof NcTemplateVarGroupSchema>;
2057
2117
  *
2058
2118
  * `families` / `fields` / `kinds` / `deliveries` / `systemEventKinds` say WHERE
2059
2119
  * it has a value; absent = no restriction on that axis. `systemEventKinds` is
2060
- * read only for a `system` rule. `dynamic` declares a FAMILY of names
2120
+ * read only for a system-event rule (any family, or `mixed`). `dynamic` declares a FAMILY of names
2061
2121
  * (`count_<class>`): the descriptor's `name` is the example member.
2062
2122
  */
2063
2123
  export declare const NcTemplateVarDescriptorSchema: z.ZodObject<{
@@ -2164,6 +2224,9 @@ export declare const NcTemplateVarContextSchema: z.ZodObject<{
2164
2224
  detection: "detection";
2165
2225
  occupancy: "occupancy";
2166
2226
  sound: "sound";
2227
+ alarm: "alarm";
2228
+ "device-events": "device-events";
2229
+ mixed: "mixed";
2167
2230
  }>>;
2168
2231
  delivery: z.ZodOptional<z.ZodEnum<{
2169
2232
  "device-event": "device-event";
@@ -2231,6 +2294,9 @@ export declare const NcTemplatePreviewInputSchema: z.ZodObject<{
2231
2294
  detection: "detection";
2232
2295
  occupancy: "occupancy";
2233
2296
  sound: "sound";
2297
+ alarm: "alarm";
2298
+ "device-events": "device-events";
2299
+ mixed: "mixed";
2234
2300
  }>>;
2235
2301
  delivery: z.ZodOptional<z.ZodEnum<{
2236
2302
  "device-event": "device-event";
@@ -2312,9 +2378,11 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
2312
2378
  occupancy: "occupancy";
2313
2379
  deviceState: "deviceState";
2314
2380
  schedule: "schedule";
2381
+ sensorTransition: "sensorTransition";
2315
2382
  packagePhase: "packagePhase";
2316
2383
  systemEvent: "systemEvent";
2317
2384
  deviceIdList: "deviceIdList";
2385
+ deviceIdExcludeList: "deviceIdExcludeList";
2318
2386
  stringList: "stringList";
2319
2387
  number01: "number01";
2320
2388
  sourceSelect: "sourceSelect";
@@ -2550,6 +2618,52 @@ export declare const NcHistoryFilterSchema: z.ZodObject<{
2550
2618
  limit: z.ZodDefault<z.ZodNumber>;
2551
2619
  }, z.core.$strip>;
2552
2620
  export type NcHistoryFilter = z.infer<typeof NcHistoryFilterSchema>;
2621
+ /**
2622
+ * The newest delivery row of ONE rule — the "Last run" of a rules table.
2623
+ *
2624
+ * A projection of the same outbox rows `getHistory` returns, so it records
2625
+ * DELIVERIES only: a throttled or unmatched evaluation never produced a row
2626
+ * and is not a run here. When one fire reached several targets (several rows
2627
+ * at the same `lastAt`), `status` is the least successful of them
2628
+ * (`dead` > `pending` > `sent`): "the last run delivered" must be true for
2629
+ * every target it names.
2630
+ */
2631
+ export declare const NcRuleLastRunSchema: z.ZodObject<{
2632
+ ruleId: z.ZodString;
2633
+ lastAt: z.ZodNumber;
2634
+ status: z.ZodEnum<{
2635
+ pending: "pending";
2636
+ sent: "sent";
2637
+ dead: "dead";
2638
+ }>;
2639
+ deviceId: z.ZodNumber;
2640
+ }, z.core.$strip>;
2641
+ export type NcRuleLastRun = z.infer<typeof NcRuleLastRunSchema>;
2642
+ /**
2643
+ * Every rule's last run, in one answer.
2644
+ *
2645
+ * A rule ABSENT from `runs` produced no delivery inside `horizonMs` — how far
2646
+ * back this answer looked, in ms before the hub's now. It is the outbox prune
2647
+ * window (7 days by default, operator-configurable), NARROWED when the read hit
2648
+ * its row bound: the answer never claims a window it did not read. `null` means
2649
+ * the operator keeps the outbox forever AND the read reached its end, so absent
2650
+ * means "never on record". A UI derives its "not in the last N days" from this
2651
+ * value, never from a constant — and only when the call ANSWERED (D315).
2652
+ */
2653
+ export declare const NcRuleLastRunsSchema: z.ZodObject<{
2654
+ runs: z.ZodArray<z.ZodObject<{
2655
+ ruleId: z.ZodString;
2656
+ lastAt: z.ZodNumber;
2657
+ status: z.ZodEnum<{
2658
+ pending: "pending";
2659
+ sent: "sent";
2660
+ dead: "dead";
2661
+ }>;
2662
+ deviceId: z.ZodNumber;
2663
+ }, z.core.$strip>>;
2664
+ horizonMs: z.ZodNullable<z.ZodNumber>;
2665
+ }, z.core.$strip>;
2666
+ export type NcRuleLastRuns = z.infer<typeof NcRuleLastRunsSchema>;
2553
2667
  /**
2554
2668
  * What a snooze covers. Broader scopes win when several overlap, so one window
2555
2669
  * leaves ONE digest rather than a rule snooze and a whole-feed snooze both
@@ -2721,6 +2835,7 @@ export declare const NcAlarmModeCoverageSchema: z.ZodObject<{
2721
2835
  ruleCount: z.ZodNumber;
2722
2836
  allDevices: z.ZodBoolean;
2723
2837
  deviceIds: z.ZodArray<z.ZodNumber>;
2838
+ allDevicesExcept: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
2724
2839
  skippedDevices: z.ZodDefault<z.ZodArray<z.ZodObject<{
2725
2840
  deviceId: z.ZodNumber;
2726
2841
  reason: z.ZodEnum<{
@@ -2850,6 +2965,7 @@ export declare const NcAlarmConfigSchema: z.ZodObject<{
2850
2965
  ruleCount: z.ZodNumber;
2851
2966
  allDevices: z.ZodBoolean;
2852
2967
  deviceIds: z.ZodArray<z.ZodNumber>;
2968
+ allDevicesExcept: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
2853
2969
  skippedDevices: z.ZodDefault<z.ZodArray<z.ZodObject<{
2854
2970
  deviceId: z.ZodNumber;
2855
2971
  reason: z.ZodEnum<{
@@ -3016,6 +3132,7 @@ export declare const notificationRulesCapability: {
3016
3132
  latched: z.ZodOptional<z.ZodBoolean>;
3017
3133
  }, z.core.$strip>>;
3018
3134
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3135
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3019
3136
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3020
3137
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
3021
3138
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -3051,6 +3168,10 @@ export declare const notificationRulesCapability: {
3051
3168
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
3052
3169
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3053
3170
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3171
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
3172
+ raised: "raised";
3173
+ cleared: "cleared";
3174
+ }>>;
3054
3175
  packagePhase: z.ZodOptional<z.ZodEnum<{
3055
3176
  both: "both";
3056
3177
  delivered: "delivered";
@@ -3290,6 +3411,7 @@ export declare const notificationRulesCapability: {
3290
3411
  latched: z.ZodOptional<z.ZodBoolean>;
3291
3412
  }, z.core.$strip>>;
3292
3413
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3414
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3293
3415
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3294
3416
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
3295
3417
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -3325,6 +3447,10 @@ export declare const notificationRulesCapability: {
3325
3447
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
3326
3448
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3327
3449
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3450
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
3451
+ raised: "raised";
3452
+ cleared: "cleared";
3453
+ }>>;
3328
3454
  packagePhase: z.ZodOptional<z.ZodEnum<{
3329
3455
  both: "both";
3330
3456
  delivered: "delivered";
@@ -3562,6 +3688,7 @@ export declare const notificationRulesCapability: {
3562
3688
  latched: z.ZodOptional<z.ZodBoolean>;
3563
3689
  }, z.core.$strip>>;
3564
3690
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3691
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3565
3692
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3566
3693
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
3567
3694
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -3597,6 +3724,10 @@ export declare const notificationRulesCapability: {
3597
3724
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
3598
3725
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3599
3726
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3727
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
3728
+ raised: "raised";
3729
+ cleared: "cleared";
3730
+ }>>;
3600
3731
  packagePhase: z.ZodOptional<z.ZodEnum<{
3601
3732
  both: "both";
3602
3733
  delivered: "delivered";
@@ -3828,6 +3959,7 @@ export declare const notificationRulesCapability: {
3828
3959
  latched: z.ZodOptional<z.ZodBoolean>;
3829
3960
  }, z.core.$strip>>;
3830
3961
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3962
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3831
3963
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3832
3964
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
3833
3965
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -3863,6 +3995,10 @@ export declare const notificationRulesCapability: {
3863
3995
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
3864
3996
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3865
3997
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3998
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
3999
+ raised: "raised";
4000
+ cleared: "cleared";
4001
+ }>>;
3866
4002
  packagePhase: z.ZodOptional<z.ZodEnum<{
3867
4003
  both: "both";
3868
4004
  delivered: "delivered";
@@ -4191,6 +4327,7 @@ export declare const notificationRulesCapability: {
4191
4327
  latched: z.ZodOptional<z.ZodBoolean>;
4192
4328
  }, z.core.$strip>>;
4193
4329
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4330
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4194
4331
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4195
4332
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
4196
4333
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -4226,6 +4363,10 @@ export declare const notificationRulesCapability: {
4226
4363
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
4227
4364
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4228
4365
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4366
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
4367
+ raised: "raised";
4368
+ cleared: "cleared";
4369
+ }>>;
4229
4370
  packagePhase: z.ZodOptional<z.ZodEnum<{
4230
4371
  both: "both";
4231
4372
  delivered: "delivered";
@@ -4381,6 +4522,7 @@ export declare const notificationRulesCapability: {
4381
4522
  latched: z.ZodOptional<z.ZodBoolean>;
4382
4523
  }, z.core.$strip>>;
4383
4524
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4525
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4384
4526
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4385
4527
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
4386
4528
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -4416,6 +4558,10 @@ export declare const notificationRulesCapability: {
4416
4558
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
4417
4559
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4418
4560
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4561
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
4562
+ raised: "raised";
4563
+ cleared: "cleared";
4564
+ }>>;
4419
4565
  packagePhase: z.ZodOptional<z.ZodEnum<{
4420
4566
  both: "both";
4421
4567
  delivered: "delivered";
@@ -4735,6 +4881,7 @@ export declare const notificationRulesCapability: {
4735
4881
  latched: z.ZodOptional<z.ZodBoolean>;
4736
4882
  }, z.core.$strip>>;
4737
4883
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4884
+ devicesExclude: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4738
4885
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4739
4886
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
4740
4887
  minConfidence: z.ZodOptional<z.ZodNumber>;
@@ -4770,6 +4917,10 @@ export declare const notificationRulesCapability: {
4770
4917
  minLabelConfidence: z.ZodOptional<z.ZodNumber>;
4771
4918
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4772
4919
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4920
+ sensorTransition: z.ZodOptional<z.ZodEnum<{
4921
+ raised: "raised";
4922
+ cleared: "cleared";
4923
+ }>>;
4773
4924
  packagePhase: z.ZodOptional<z.ZodEnum<{
4774
4925
  both: "both";
4775
4926
  delivered: "delivered";
@@ -5028,9 +5179,11 @@ export declare const notificationRulesCapability: {
5028
5179
  occupancy: "occupancy";
5029
5180
  deviceState: "deviceState";
5030
5181
  schedule: "schedule";
5182
+ sensorTransition: "sensorTransition";
5031
5183
  packagePhase: "packagePhase";
5032
5184
  systemEvent: "systemEvent";
5033
5185
  deviceIdList: "deviceIdList";
5186
+ deviceIdExcludeList: "deviceIdExcludeList";
5034
5187
  stringList: "stringList";
5035
5188
  number01: "number01";
5036
5189
  sourceSelect: "sourceSelect";
@@ -5194,6 +5347,9 @@ export declare const notificationRulesCapability: {
5194
5347
  detection: "detection";
5195
5348
  occupancy: "occupancy";
5196
5349
  sound: "sound";
5350
+ alarm: "alarm";
5351
+ "device-events": "device-events";
5352
+ mixed: "mixed";
5197
5353
  }>>;
5198
5354
  delivery: z.ZodOptional<z.ZodEnum<{
5199
5355
  "device-event": "device-event";
@@ -5356,6 +5512,27 @@ export declare const notificationRulesCapability: {
5356
5512
  artifactIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5357
5513
  }, z.core.$strip>>;
5358
5514
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
5515
+ /**
5516
+ * The newest delivery of every rule, in ONE bounded read of the outbox —
5517
+ * the "Last run" column. Never a `getHistory` per rule. A rule with no
5518
+ * delivery inside `horizonMs` is absent from `runs`; see
5519
+ * {@link NcRuleLastRunsSchema} for what absent means. A store that cannot
5520
+ * answer FAILS the call rather than answering "nothing ran". Admin-only,
5521
+ * like `getHistory`, of which it is a projection.
5522
+ */
5523
+ readonly getRuleLastRuns: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
5524
+ runs: z.ZodArray<z.ZodObject<{
5525
+ ruleId: z.ZodString;
5526
+ lastAt: z.ZodNumber;
5527
+ status: z.ZodEnum<{
5528
+ pending: "pending";
5529
+ sent: "sent";
5530
+ dead: "dead";
5531
+ }>;
5532
+ deviceId: z.ZodNumber;
5533
+ }, z.core.$strip>>;
5534
+ horizonMs: z.ZodNullable<z.ZodNumber>;
5535
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
5359
5536
  /**
5360
5537
  * Mint a fresh, externally-reachable URL for one artefact a history row
5361
5538
  * named in {@link NcHistoryEntrySchema.shape.artifactIds} — the SAME
@@ -5499,6 +5676,7 @@ export declare const notificationRulesCapability: {
5499
5676
  ruleCount: z.ZodNumber;
5500
5677
  allDevices: z.ZodBoolean;
5501
5678
  deviceIds: z.ZodArray<z.ZodNumber>;
5679
+ allDevicesExcept: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
5502
5680
  skippedDevices: z.ZodDefault<z.ZodArray<z.ZodObject<{
5503
5681
  deviceId: z.ZodNumber;
5504
5682
  reason: z.ZodEnum<{
@@ -5617,6 +5795,7 @@ export declare const notificationRulesCapability: {
5617
5795
  ruleCount: z.ZodNumber;
5618
5796
  allDevices: z.ZodBoolean;
5619
5797
  deviceIds: z.ZodArray<z.ZodNumber>;
5798
+ allDevicesExcept: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
5620
5799
  skippedDevices: z.ZodDefault<z.ZodArray<z.ZodObject<{
5621
5800
  deviceId: z.ZodNumber;
5622
5801
  reason: z.ZodEnum<{