@camstack/types 1.2.282 → 1.2.284

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.
Files changed (39) hide show
  1. package/dist/addon.js +2 -2
  2. package/dist/addon.mjs +2 -2
  3. package/dist/capabilities/device-extension.cap.d.ts +8 -25
  4. package/dist/capabilities/device-manager.cap.d.ts +2 -2
  5. package/dist/capabilities/device-state.cap.d.ts +2 -2
  6. package/dist/capabilities/doorbell.cap.d.ts +13 -64
  7. package/dist/capabilities/index.d.ts +2 -2
  8. package/dist/capabilities/motion.cap.d.ts +9 -8
  9. package/dist/capabilities/notification-rules.cap.d.ts +97 -2
  10. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +147 -15
  11. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -0
  12. package/dist/capabilities/ptz-autotrack.cap.d.ts +2 -3
  13. package/dist/catalogs/sensor-active-state.d.ts +8 -10
  14. package/dist/composition/presets/doorbell-feature.d.ts +1 -1
  15. package/dist/{composition-Dq42XWp0.mjs → composition-43aqsZQj.mjs} +6 -7
  16. package/dist/{composition-DG4jVTfB.js → composition-w3gBWMer.js} +6 -7
  17. package/dist/device/hub-motion-read.d.ts +22 -0
  18. package/dist/device-extension/slot-descriptor.d.ts +3 -3
  19. package/dist/enums/event-category.d.ts +9 -0
  20. package/dist/enums.js +1 -1
  21. package/dist/enums.mjs +1 -1
  22. package/dist/{event-category-C5xZWqz6.mjs → event-category-BGmz_oxW.mjs} +9 -0
  23. package/dist/{event-category-MbnB-6AN.js → event-category-DmS_tLsU.js} +9 -0
  24. package/dist/generated/extension-slots.d.ts +2 -6
  25. package/dist/index.d.ts +5 -2
  26. package/dist/index.js +302 -205
  27. package/dist/index.mjs +290 -203
  28. package/dist/interfaces/event-bus.d.ts +5 -3
  29. package/dist/interfaces/pipeline-runner-capability.d.ts +2 -0
  30. package/dist/node.js +1 -1
  31. package/dist/node.mjs +1 -1
  32. package/dist/notification/system-event-summary.d.ts +7 -1
  33. package/dist/pipeline/camera-sensors.d.ts +133 -9
  34. package/dist/pipeline/motion-ownership.d.ts +13 -0
  35. package/dist/pipeline/provider-motion.d.ts +33 -0
  36. package/dist/{sleep-gU6hqv4_.mjs → sleep-CDCONfkt.mjs} +1 -1
  37. package/dist/{sleep-DCbD8sdg.js → sleep-G4F3X9X_.js} +1 -1
  38. package/dist/utils/addon-id.d.ts +2 -2
  39. package/package.json +2 -2
package/dist/addon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-DCbD8sdg.js");
3
- const require_event_category = require("./event-category-MbnB-6AN.js");
2
+ const require_sleep = require("./sleep-G4F3X9X_.js");
3
+ const require_event_category = require("./event-category-DmS_tLsU.js");
4
4
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { At as normalizeAddonInitResult, B as nodePin, Ct as PEER_BYTES_STALL_MS, D as adminUiCapability, Et as DATAPLANE_SECRET_HEADER, N as expandCapMethods, Ot as DisposerChain, Pt as emitReadiness, S as DEVICE_CHILDREN_BATCH_MAX, St as PEER_BYTES_MAX_OUTSTANDING, T as describeCustomActions, U as ReadinessRegistry, V as readNodePin, W as ReadinessTimeoutError, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, kt as BaseAddon, m as createDeviceProxy, p as isDeviceScopedCap, q as scopeKey, s as asString, t as sleep, u as parseJsonUnknown, wt as PEER_BYTES_TICKET_TTL_MS, x as viewerUiCapability, xt as PEER_BYTES_CHUNK_BYTES } from "./sleep-gU6hqv4_.mjs";
2
- import { t as EventCategory } from "./event-category-C5xZWqz6.mjs";
1
+ import { At as normalizeAddonInitResult, B as nodePin, Ct as PEER_BYTES_STALL_MS, D as adminUiCapability, Et as DATAPLANE_SECRET_HEADER, N as expandCapMethods, Ot as DisposerChain, Pt as emitReadiness, S as DEVICE_CHILDREN_BATCH_MAX, St as PEER_BYTES_MAX_OUTSTANDING, T as describeCustomActions, U as ReadinessRegistry, V as readNodePin, W as ReadinessTimeoutError, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, kt as BaseAddon, m as createDeviceProxy, p as isDeviceScopedCap, q as scopeKey, s as asString, t as sleep, u as parseJsonUnknown, wt as PEER_BYTES_TICKET_TTL_MS, x as viewerUiCapability, xt as PEER_BYTES_CHUNK_BYTES } from "./sleep-CDCONfkt.mjs";
2
+ import { t as EventCategory } from "./event-category-BGmz_oxW.mjs";
3
3
  import { a as DeviceType, t as errMsg } from "./err-msg-DX6i_MY4.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -2,8 +2,8 @@
2
2
  * `device-extension` — ONE place to see and author what a device is extended
3
3
  * with by OTHER devices (D648).
4
4
  *
5
- * **A contract, not a store.** Every slot (`linked-devices`, `doorbell-source`)
6
- * is declared by the cap that owns the function (`extensionSlots` in its
5
+ * **A contract, not a store.** Every slot (today one: `linked-devices`) is
6
+ * declared by the cap that owns the function (`extensionSlots` in its
7
7
  * `*.cap.ts`, D4) and SERVED by the addon that already owns its store, over
8
8
  * that store and its existing write path. This cap persists nothing and has no config method (guarded by
9
9
  * `scripts/check-extension-slots.ts`): D62 applied to the whole feature, and
@@ -12,7 +12,7 @@
12
12
  * **Shape.** A device-scoped wrapper COLLECTION, the D554 shape `videoclips`
13
13
  * uses: `resolveCapMount` gives it the `device-scoped` mount and
14
14
  * `requireDeviceCollection` dispatches it. Its providers are the slot owners
15
- * (device-manager, virtual-doorbell, …), and a device's sources are its
15
+ * (today device-manager alone), and a device's sources are its
16
16
  * bindings (step 0 of `getBindings`, derived, persisted nowhere).
17
17
  *
18
18
  * - `listSources` — one row per provider, the D554 source-listing convention
@@ -87,10 +87,11 @@ export declare const ExtensionSlotSourceSchema: z.ZodObject<{
87
87
  export type ExtensionSlotSource = z.infer<typeof ExtensionSlotSourceSchema>;
88
88
  /**
89
89
  * A DIFFERENT authority that gates whether the slot's sources do anything —
90
- * reported read-only, named, never written through this contract (D62). The
91
- * virtual doorbell's sources ring only while the wrapper is bound to the
92
- * camera, and that binding belongs to `deviceManager.setWrapperActive`.
93
- * `unknown` means the gate could not be read; it is not "inactive" (D315).
90
+ * reported read-only, named, never written through this contract (D62) — e.g.
91
+ * a slot whose sources act only while a wrapper is bound to the host, a
92
+ * binding that belongs to `deviceManager.setWrapperActive`. No slot reports
93
+ * one today (`linked-devices` answers `null`). `unknown` means the gate could
94
+ * not be read; it is not "inactive" (D315).
94
95
  */
95
96
  export declare const ExtensionSlotActivationSchema: z.ZodObject<{
96
97
  state: z.ZodEnum<{
@@ -108,7 +109,6 @@ export declare const ExtensionSlotStateSchema: z.ZodObject<{
108
109
  slotRef: z.ZodString;
109
110
  slot: z.ZodEnum<{
110
111
  "linked-devices": "linked-devices";
111
- "doorbell-source": "doorbell-source";
112
112
  }>;
113
113
  authority: z.ZodString;
114
114
  activation: z.ZodNullable<z.ZodObject<{
@@ -121,9 +121,6 @@ export declare const ExtensionSlotStateSchema: z.ZodObject<{
121
121
  detail: z.ZodOptional<z.ZodString>;
122
122
  }, z.core.$strip>>;
123
123
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
- deviceIds: z.ZodArray<z.ZodNumber>;
125
- slot: z.ZodLiteral<"doorbell-source">;
126
- }, z.core.$strip>, z.ZodObject<{
127
124
  deviceIds: z.ZodArray<z.ZodNumber>;
128
125
  trackedDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
129
126
  slot: z.ZodLiteral<"linked-devices">;
@@ -168,7 +165,6 @@ export declare const ExtensionSlotRowSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
168
165
  slotRef: z.ZodString;
169
166
  slot: z.ZodEnum<{
170
167
  "linked-devices": "linked-devices";
171
- "doorbell-source": "doorbell-source";
172
168
  }>;
173
169
  authority: z.ZodString;
174
170
  activation: z.ZodNullable<z.ZodObject<{
@@ -181,9 +177,6 @@ export declare const ExtensionSlotRowSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
181
177
  detail: z.ZodOptional<z.ZodString>;
182
178
  }, z.core.$strip>>;
183
179
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
184
- deviceIds: z.ZodArray<z.ZodNumber>;
185
- slot: z.ZodLiteral<"doorbell-source">;
186
- }, z.core.$strip>, z.ZodObject<{
187
180
  deviceIds: z.ZodArray<z.ZodNumber>;
188
181
  trackedDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
189
182
  slot: z.ZodLiteral<"linked-devices">;
@@ -265,9 +258,6 @@ export declare const ExtensionSetSlotInputSchema: z.ZodObject<{
265
258
  deviceId: z.ZodNumber;
266
259
  slotRef: z.ZodString;
267
260
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
268
- deviceIds: z.ZodArray<z.ZodNumber>;
269
- slot: z.ZodLiteral<"doorbell-source">;
270
- }, z.core.$strip>, z.ZodObject<{
271
261
  deviceIds: z.ZodArray<z.ZodNumber>;
272
262
  trackedDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
273
263
  slot: z.ZodLiteral<"linked-devices">;
@@ -316,7 +306,6 @@ export declare const deviceExtensionCapability: {
316
306
  slotRef: z.ZodString;
317
307
  slot: z.ZodEnum<{
318
308
  "linked-devices": "linked-devices";
319
- "doorbell-source": "doorbell-source";
320
309
  }>;
321
310
  authority: z.ZodString;
322
311
  activation: z.ZodNullable<z.ZodObject<{
@@ -329,9 +318,6 @@ export declare const deviceExtensionCapability: {
329
318
  detail: z.ZodOptional<z.ZodString>;
330
319
  }, z.core.$strip>>;
331
320
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
332
- deviceIds: z.ZodArray<z.ZodNumber>;
333
- slot: z.ZodLiteral<"doorbell-source">;
334
- }, z.core.$strip>, z.ZodObject<{
335
321
  deviceIds: z.ZodArray<z.ZodNumber>;
336
322
  trackedDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
337
323
  slot: z.ZodLiteral<"linked-devices">;
@@ -387,9 +373,6 @@ export declare const deviceExtensionCapability: {
387
373
  deviceId: z.ZodNumber;
388
374
  slotRef: z.ZodString;
389
375
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
390
- deviceIds: z.ZodArray<z.ZodNumber>;
391
- slot: z.ZodLiteral<"doorbell-source">;
392
- }, z.core.$strip>, z.ZodObject<{
393
376
  deviceIds: z.ZodArray<z.ZodNumber>;
394
377
  trackedDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
395
378
  slot: z.ZodLiteral<"linked-devices">;
@@ -1491,8 +1491,8 @@ export declare const deviceManagerCapability: {
1491
1491
  * (`value` / `missing` / `failed`, see {@link WrapperActivationReadSchema}).
1492
1492
  *
1493
1493
  * The narrow read of the durable authority behind `getBindings`: a
1494
- * consumer that must know what the operator PERSISTED (virtual-doorbell,
1495
- * before it drops a press) asks this instead of pulling device-manager's
1494
+ * consumer that must know what the operator PERSISTED (before it drops
1495
+ * work on the strength of an unbind) asks this instead of pulling device-manager's
1496
1496
  * whole addon store through `addonSettingsRaw.getGlobal` — which answered
1497
1497
  * `{}` on every isolated-engine hub and so never worked (D675). It reads
1498
1498
  * ONE row (the activation map, ~1.6 KB), never the ~625 KB store.
@@ -119,8 +119,8 @@ export declare const deviceStateCapability: {
119
119
  * Canonical cross-layer WRITE for one cap-keyed slice. Used by
120
120
  * everyone who needs to publish runtime state for a device:
121
121
  * device providers (via `BaseDevice.runtimeState.setCapState`
122
- * which delegates here), system-scope addons (e.g. the pipeline
123
- * runner writing the `motion` slice on phase transitions), and
122
+ * which delegates here), system-scope addons (e.g. the orchestrator
123
+ * writing a camera's effective `motion` slice, D696), and
124
124
  * direct cap-router callers in tests.
125
125
  *
126
126
  * Behavior on the hub:
@@ -1,29 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { type InferProvider } from './capability-definition.js';
3
3
  import { DeviceType } from '../device/device-type.js';
4
- /**
5
- * Doorbell button cap. Two kinds of providers coexist behind this cap
6
- * name (same pattern as `snapshot`):
7
- *
8
- * - **Native** providers: registered per-device by device-driver
9
- * addons via `ctx.registerNativeCap` — either on a
10
- * `DeviceType.Button` accessory with `role: DeviceRole.Doorbell`,
11
- * or directly on the camera (Reolink registers at camera level).
12
- * Emits an `onPressed` event every time the firmware pushes a
13
- * ring; status tracks the last press and a pressCount since start
14
- * (diagnostic).
15
- *
16
- * - **Wrapper** provider: the `virtual-doorbell` system builtin
17
- * (`@camstack/system/builtins/doorbell`). Turns ANY binary-ish
18
- * device (contact / switch / event-emitter …) into a doorbell for
19
- * a camera. `defaultActive: false` — the operator explicitly binds
20
- * it per camera in the device-bindings UI, then picks the source
21
- * device + trigger in the per-device settings.
22
- *
23
- * The DeviceEventPropagator re-emits `onPressed` on the camera parent
24
- * — subscribers listening at the camera level receive ring events
25
- * with `via[]` populated. No code on the parent needed.
26
- */
27
4
  export declare const DoorbellStatusSchema: z.ZodObject<{
28
5
  lastPressedAt: z.ZodNullable<z.ZodNumber>;
29
6
  pressCountSinceStart: z.ZodNumber;
@@ -35,54 +12,26 @@ export declare const DoorbellPressEventSchema: z.ZodObject<{
35
12
  }, z.core.$strip>;
36
13
  export type DoorbellPressEvent = z.infer<typeof DoorbellPressEventSchema>;
37
14
  /**
38
- * The `doorbell-source` extension slot's editable value (D648): the camera's
39
- * virtual-doorbell trigger devices, exactly what the wrapper's
40
- * `doorbellSources` persists (as `{ deviceId }` records).
41
- */
42
- export declare const DoorbellSourceSlotValueSchema: z.ZodObject<{
43
- deviceIds: z.ZodArray<z.ZodNumber>;
44
- }, z.core.$strip>;
45
- export type DoorbellSourceSlotValue = z.infer<typeof DoorbellSourceSlotValueSchema>;
46
- /**
47
- * The `doorbell-source` slot — which devices ring this camera's VIRTUAL
48
- * doorbell, owned by the `virtual-doorbell` wrapper over its
49
- * `doorbellSources` store (D648). A source rings when one of its
50
- * `SOURCE_CAPS` rises. Whether the wrapper is bound to the camera at all is a
51
- * different authority (`deviceManager.setWrapperActive`, D62) — the slot
52
- * reports it, it never writes it.
15
+ * Doorbell button cap. Two kinds of provider serve it, and to every consumer
16
+ * they are the same cap:
17
+ *
18
+ * - **Native** providers, registered per device by a driver addon through
19
+ * `ctx.registerNativeCap` — a `DeviceType.Button` accessory with
20
+ * `role: DeviceRole.Doorbell`, or the camera itself (Reolink registers at
21
+ * camera level). They emit `onPressed` on every firmware ring.
22
+ * - **A composed doorbell** (D670, D671): a camera's customization gives it
23
+ * the cap, its `lastPressedAt` rising from the sources the operator
24
+ * assigned in Customize → Doorbell, and the composer emits `onPressed`
25
+ * from that field's advance (`fromState`).
26
+ *
27
+ * The DeviceEventPropagator re-emits `onPressed` on the camera parent.
53
28
  */
54
- export declare const DOORBELL_SOURCE_SLOT: {
55
- readonly id: "doorbell-source";
56
- readonly label: "Doorbell trigger devices";
57
- readonly description: string;
58
- readonly shape: "association";
59
- readonly hostDeviceTypes: readonly [DeviceType.Camera];
60
- readonly sourceCaps: readonly string[];
61
- readonly cardinality: "many";
62
- readonly value: z.ZodObject<{
63
- deviceIds: z.ZodArray<z.ZodNumber>;
64
- }, z.core.$strip>;
65
- };
66
29
  export declare const doorbellCapability: {
67
30
  readonly name: "doorbell";
68
31
  readonly scope: "device";
69
32
  readonly deviceNative: true;
70
33
  readonly mode: "singleton";
71
- readonly kind: "wrapper";
72
- readonly defaultActive: false;
73
34
  readonly deviceTypes: readonly [DeviceType.Button, DeviceType.Camera];
74
- readonly extensionSlots: readonly [{
75
- readonly id: "doorbell-source";
76
- readonly label: "Doorbell trigger devices";
77
- readonly description: string;
78
- readonly shape: "association";
79
- readonly hostDeviceTypes: readonly [DeviceType.Camera];
80
- readonly sourceCaps: readonly string[];
81
- readonly cardinality: "many";
82
- readonly value: z.ZodObject<{
83
- deviceIds: z.ZodArray<z.ZodNumber>;
84
- }, z.core.$strip>;
85
- }];
86
35
  readonly methods: {};
87
36
  readonly events: {
88
37
  /**
@@ -86,7 +86,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
86
86
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
87
87
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
88
88
  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';
89
- export { consumableLowPercentOf, type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, 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_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_RULE_CLEARABLE_KEYS, NC_SNOOZE_MAX_MINUTES, NC_TANK_SYSTEM_EVENT_KINDS, 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, NcRuleKindSchema, type NcRuleLastRun, NcRuleLastRunSchema, type NcRuleLastRuns, NcRuleLastRunsSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, 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 NcStateSummaryPreview, NcStateSummaryPreviewSchema, type NcStateSummaryPreviewSection, NcStateSummaryPreviewSectionSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventDelivery, type NcSystemEventDeliveryMode, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTemplateVarKind, NcTemplateVarKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
89
+ export { consumableLowPercentOf, type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, 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_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_RULE_CLEARABLE_KEYS, NC_SNOOZE_MAX_MINUTES, NC_TANK_SYSTEM_EVENT_KINDS, 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, NcRuleKindSchema, type NcRuleLastRun, NcRuleLastRunSchema, type NcRuleLastRuns, NcRuleLastRunsSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, 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 NcStateSummaryPreview, type NcStateSummaryPreviewRow, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, type NcStateSummaryPreviewSection, NcStateSummaryPreviewSectionSchema, type NcStateSummarySplit, NcStateSummarySplitSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventDelivery, type NcSystemEventDeliveryMode, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTemplateVarKind, NcTemplateVarKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
90
90
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
91
91
  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 RebuildObjectEmbeddingsRefusal, RebuildObjectEmbeddingsRefusalSchema, 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, 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';
92
92
  export type { EffectiveTuning, EffectiveTuningInput, NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -154,7 +154,7 @@ export { type DayNightMode, DayNightModeSchema, type DayNightOptions, DayNightOp
154
154
  export { type DeviceDiscoveryStatus, DeviceDiscoveryStatusSchema, type DiscoveredChildDevice, DiscoveredChildDeviceSchema, type DiscoveredChildStatus, DiscoveredChildStatusSchema, deviceDiscoveryCapability, type IDeviceDiscoveryNativeProvider, type IDeviceDiscoveryProvider, } from './device-discovery.cap.js';
155
155
  export { deviceOpsCapability, type IDeviceOpsProvider, type RawStateResult, RawStateResultSchema, } from './device-ops.cap.js';
156
156
  export { type DeviceStatus, DeviceStatusSchema, deviceStatusCapability, type IDeviceStatusProvider, } from './device-status.cap.js';
157
- export { DOORBELL_SOURCE_SLOT, type DoorbellPressEvent, DoorbellPressEventSchema, type DoorbellSourceSlotValue, DoorbellSourceSlotValueSchema, type DoorbellStatus, DoorbellStatusSchema, doorbellCapability, type IDoorbellProvider, } from './doorbell.cap.js';
157
+ export { type DoorbellPressEvent, DoorbellPressEventSchema, type DoorbellStatus, DoorbellStatusSchema, doorbellCapability, type IDoorbellProvider, } from './doorbell.cap.js';
158
158
  export { type EnumSensorDateTimeFormat, EnumSensorDateTimeFormatSchema, type EnumSensorStatus, EnumSensorStatusSchema, enumSensorCapability, type IEnumSensorProvider, } from './enum-sensor.cap.js';
159
159
  export { type EventEmitterStatus, EventEmitterStatusSchema, type EventFire, EventFireSchema, eventEmitterCapability, type IEventEmitterProvider, } from './event-emitter.cap.js';
160
160
  export { type FaceCluster, type FaceInfo, type FaceSortDirection, type FaceSortField, faceGalleryCapability, type Identity, type IdentitySampleAudit, type IdentitySampleAuditRow, type IdentitySampleInfo, type IFaceGalleryProvider, type ListRecentFacesInput, type SuggestFaceClustersInput, } from './face-gallery.cap.js';
@@ -16,11 +16,11 @@ import { type InferProvider } from './capability-definition.js';
16
16
  /**
17
17
  * How long after a camera's last rising edge `pipeline-analytics` closes the
18
18
  * motion EPISODE row it kept open for it (D475) — "il delay della cap", in
19
- * the operator's words. One authority for the whole system: every provider
20
- * that seeds `autoClearAfterMs` on a `Camera` device writes this SAME
21
- * constant while `detected: true` (never its own number — Hikvision used to
22
- * seed its internal 3 s inactivity timer here, which is a different clock for
23
- * a different purpose), and `MotionEpisodeTracker` imports it directly rather
19
+ * the operator's words. One authority for the whole system: the writer of a
20
+ * `Camera` device's slice (the orchestrator, D696) writes this SAME constant
21
+ * in `autoClearAfterMs` while `detected: true` (never a camera's own clock —
22
+ * Hikvision used to seed its internal 3 s inactivity timer here, a different
23
+ * clock for a different purpose), and `MotionEpisodeTracker` imports it directly rather
24
24
  * than reading the live cap value on the hot path. A `Sensor` device (HA
25
25
  * binary sensor, Homematic) gets a genuine push both ways and has no episode
26
26
  * to close on a timer, so it writes `null`, never this constant.
@@ -157,11 +157,12 @@ export declare const motionCapability: {
157
157
  autoClearAfterMs: z.ZodNullable<z.ZodNumber>;
158
158
  }, z.core.$strip>;
159
159
  /**
160
- * Runtime-state durability: **session** — every writer of this slice
160
+ * Runtime-state durability: **session** — the writer of this slice
161
161
  * writes only on an EDGE, so a restored `detected: true` would stay
162
162
  * frozen until the next one instead of being corrected. The next edge
163
- * re-publishes the real state. (On who the writers are, and why there
164
- * is more than one, see `autoClearAfterMs` above.)
163
+ * re-publishes the real state, and the orchestrator re-publishes every
164
+ * camera when it starts writing (D696; on who writes it, see
165
+ * `autoClearAfterMs` above).
165
166
  *
166
167
  * See `RuntimeStateDurability`. Enforced by
167
168
  * `scripts/check-runtime-state-durability.ts`.
@@ -262,11 +262,22 @@ export declare const NcSystemEventDeliveryModeSchema: z.ZodEnum<{
262
262
  instant: "instant";
263
263
  }>;
264
264
  export type NcSystemEventDeliveryMode = z.infer<typeof NcSystemEventDeliveryModeSchema>;
265
+ /**
266
+ * How a summary window is SENT (D698): `rule` (absent) = ONE notification with
267
+ * every section; `section` = one notification per section with something to
268
+ * say (an unavailable section included), each titled by its section.
269
+ */
270
+ export declare const NcStateSummarySplitSchema: z.ZodEnum<{
271
+ section: "section";
272
+ rule: "rule";
273
+ }>;
274
+ export type NcStateSummarySplit = z.infer<typeof NcStateSummarySplitSchema>;
265
275
  /**
266
276
  * `summary`: the rule sends NOTHING per event. When a window of `schedule`
267
277
  * CLOSES, it sends one notification with the current state of its kinds
268
278
  * (low batteries, consumables to replace, devices offline, updates
269
- * available, ...), after its own filters. Nothing to report sends nothing.
279
+ * available, ...), after its own filters — or, with `split: 'section'`
280
+ * (D698), one notification per section. Nothing to report sends nothing.
270
281
  * The schedule is the ordinary `NcSchedule` (weekly windows, IANA timezone,
271
282
  * midnight crossing); the send time is each window's END. Refused on the
272
283
  * `alarm` family, which stays instant (`systemEventDeliveryProblems`).
@@ -284,6 +295,10 @@ export declare const NcSystemEventDeliverySchema: z.ZodDiscriminatedUnion<[z.Zod
284
295
  timezone: z.ZodOptional<z.ZodString>;
285
296
  invert: z.ZodOptional<z.ZodBoolean>;
286
297
  }, z.core.$strip>;
298
+ split: z.ZodOptional<z.ZodEnum<{
299
+ section: "section";
300
+ rule: "rule";
301
+ }>>;
287
302
  }, z.core.$strip>], "mode">;
288
303
  export type NcSystemEventDelivery = z.infer<typeof NcSystemEventDeliverySchema>;
289
304
  /** Fuzzy plate matcher — OCR noise makes exact match useless (spec row 12/13). */
@@ -1154,6 +1169,10 @@ export declare const NcRuleInputSchema: z.ZodObject<{
1154
1169
  timezone: z.ZodOptional<z.ZodString>;
1155
1170
  invert: z.ZodOptional<z.ZodBoolean>;
1156
1171
  }, z.core.$strip>;
1172
+ split: z.ZodOptional<z.ZodEnum<{
1173
+ section: "section";
1174
+ rule: "rule";
1175
+ }>>;
1157
1176
  }, z.core.$strip>], "mode">>;
1158
1177
  targets: z.ZodArray<z.ZodObject<{
1159
1178
  targetId: z.ZodString;
@@ -1315,6 +1334,10 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1315
1334
  timezone: z.ZodOptional<z.ZodString>;
1316
1335
  invert: z.ZodOptional<z.ZodBoolean>;
1317
1336
  }, z.core.$strip>;
1337
+ split: z.ZodOptional<z.ZodEnum<{
1338
+ section: "section";
1339
+ rule: "rule";
1340
+ }>>;
1318
1341
  }, z.core.$strip>], "mode">>>;
1319
1342
  targets: z.ZodOptional<z.ZodArray<z.ZodObject<{
1320
1343
  targetId: z.ZodString;
@@ -1630,6 +1653,10 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
1630
1653
  timezone: z.ZodOptional<z.ZodString>;
1631
1654
  invert: z.ZodOptional<z.ZodBoolean>;
1632
1655
  }, z.core.$strip>;
1656
+ split: z.ZodOptional<z.ZodEnum<{
1657
+ section: "section";
1658
+ rule: "rule";
1659
+ }>>;
1633
1660
  }, z.core.$strip>], "mode">>>;
1634
1661
  targets: z.ZodOptional<z.ZodArray<z.ZodObject<{
1635
1662
  targetId: z.ZodString;
@@ -2070,6 +2097,10 @@ export declare const NcRuleSchema: z.ZodObject<{
2070
2097
  timezone: z.ZodOptional<z.ZodString>;
2071
2098
  invert: z.ZodOptional<z.ZodBoolean>;
2072
2099
  }, z.core.$strip>;
2100
+ split: z.ZodOptional<z.ZodEnum<{
2101
+ section: "section";
2102
+ rule: "rule";
2103
+ }>>;
2073
2104
  }, z.core.$strip>], "mode">>;
2074
2105
  targets: z.ZodArray<z.ZodObject<{
2075
2106
  targetId: z.ZodString;
@@ -2207,12 +2238,24 @@ export declare const NcStateSummaryPreviewSectionSchema: z.ZodObject<{
2207
2238
  reason: z.ZodOptional<z.ZodString>;
2208
2239
  }, z.core.$strip>;
2209
2240
  export type NcStateSummaryPreviewSection = z.infer<typeof NcStateSummaryPreviewSectionSchema>;
2241
+ /**
2242
+ * One notification a previewed summary would send (D698): the whole summary on
2243
+ * a `rule` split (no `section`), one section's on a `section` split.
2244
+ */
2245
+ export declare const NcStateSummaryPreviewRowSchema: z.ZodObject<{
2246
+ section: z.ZodOptional<z.ZodString>;
2247
+ title: z.ZodString;
2248
+ text: z.ZodString;
2249
+ count: z.ZodNumber;
2250
+ }, z.core.$strip>;
2251
+ export type NcStateSummaryPreviewRow = z.infer<typeof NcStateSummaryPreviewRowSchema>;
2210
2252
  /**
2211
2253
  * The summary a rule would send now. `empty` = nothing to report and every
2212
2254
  * section read: such a summary is NOT sent. `dropped` counts the open states
2213
2255
  * the rule's own filters (or a camera mute) left out, by reason.
2214
2256
  * `excludedGroups` names the kind groups selected that have no state to report
2215
- * (backups & exports).
2257
+ * (backups & exports). `split` and `rows` (D698) say how it would be sent —
2258
+ * optional, so an older hub's answer still parses.
2216
2259
  */
2217
2260
  export declare const NcStateSummaryPreviewSchema: z.ZodObject<{
2218
2261
  empty: z.ZodBoolean;
@@ -2229,6 +2272,16 @@ export declare const NcStateSummaryPreviewSchema: z.ZodObject<{
2229
2272
  }, z.core.$strip>>;
2230
2273
  dropped: z.ZodRecord<z.ZodString, z.ZodNumber>;
2231
2274
  excludedGroups: z.ZodArray<z.ZodString>;
2275
+ split: z.ZodOptional<z.ZodEnum<{
2276
+ section: "section";
2277
+ rule: "rule";
2278
+ }>>;
2279
+ rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
2280
+ section: z.ZodOptional<z.ZodString>;
2281
+ title: z.ZodString;
2282
+ text: z.ZodString;
2283
+ count: z.ZodNumber;
2284
+ }, z.core.$strip>>>;
2232
2285
  }, z.core.$strip>;
2233
2286
  export type NcStateSummaryPreview = z.infer<typeof NcStateSummaryPreviewSchema>;
2234
2287
  export declare const NcTestResultSchema: z.ZodObject<{
@@ -3497,6 +3550,10 @@ export declare const notificationRulesCapability: {
3497
3550
  timezone: z.ZodOptional<z.ZodString>;
3498
3551
  invert: z.ZodOptional<z.ZodBoolean>;
3499
3552
  }, z.core.$strip>;
3553
+ split: z.ZodOptional<z.ZodEnum<{
3554
+ section: "section";
3555
+ rule: "rule";
3556
+ }>>;
3500
3557
  }, z.core.$strip>], "mode">>;
3501
3558
  targets: z.ZodArray<z.ZodObject<{
3502
3559
  targetId: z.ZodString;
@@ -3794,6 +3851,10 @@ export declare const notificationRulesCapability: {
3794
3851
  timezone: z.ZodOptional<z.ZodString>;
3795
3852
  invert: z.ZodOptional<z.ZodBoolean>;
3796
3853
  }, z.core.$strip>;
3854
+ split: z.ZodOptional<z.ZodEnum<{
3855
+ section: "section";
3856
+ rule: "rule";
3857
+ }>>;
3797
3858
  }, z.core.$strip>], "mode">>;
3798
3859
  targets: z.ZodArray<z.ZodObject<{
3799
3860
  targetId: z.ZodString;
@@ -4089,6 +4150,10 @@ export declare const notificationRulesCapability: {
4089
4150
  timezone: z.ZodOptional<z.ZodString>;
4090
4151
  invert: z.ZodOptional<z.ZodBoolean>;
4091
4152
  }, z.core.$strip>;
4153
+ split: z.ZodOptional<z.ZodEnum<{
4154
+ section: "section";
4155
+ rule: "rule";
4156
+ }>>;
4092
4157
  }, z.core.$strip>], "mode">>;
4093
4158
  targets: z.ZodArray<z.ZodObject<{
4094
4159
  targetId: z.ZodString;
@@ -4378,6 +4443,10 @@ export declare const notificationRulesCapability: {
4378
4443
  timezone: z.ZodOptional<z.ZodString>;
4379
4444
  invert: z.ZodOptional<z.ZodBoolean>;
4380
4445
  }, z.core.$strip>;
4446
+ split: z.ZodOptional<z.ZodEnum<{
4447
+ section: "section";
4448
+ rule: "rule";
4449
+ }>>;
4381
4450
  }, z.core.$strip>], "mode">>;
4382
4451
  targets: z.ZodArray<z.ZodObject<{
4383
4452
  targetId: z.ZodString;
@@ -4539,6 +4608,10 @@ export declare const notificationRulesCapability: {
4539
4608
  timezone: z.ZodOptional<z.ZodString>;
4540
4609
  invert: z.ZodOptional<z.ZodBoolean>;
4541
4610
  }, z.core.$strip>;
4611
+ split: z.ZodOptional<z.ZodEnum<{
4612
+ section: "section";
4613
+ rule: "rule";
4614
+ }>>;
4542
4615
  }, z.core.$strip>], "mode">>>;
4543
4616
  targets: z.ZodOptional<z.ZodArray<z.ZodObject<{
4544
4617
  targetId: z.ZodString;
@@ -4977,6 +5050,10 @@ export declare const notificationRulesCapability: {
4977
5050
  timezone: z.ZodOptional<z.ZodString>;
4978
5051
  invert: z.ZodOptional<z.ZodBoolean>;
4979
5052
  }, z.core.$strip>;
5053
+ split: z.ZodOptional<z.ZodEnum<{
5054
+ section: "section";
5055
+ rule: "rule";
5056
+ }>>;
4980
5057
  }, z.core.$strip>], "mode">>;
4981
5058
  targets: z.ZodArray<z.ZodObject<{
4982
5059
  targetId: z.ZodString;
@@ -5354,6 +5431,10 @@ export declare const notificationRulesCapability: {
5354
5431
  timezone: z.ZodOptional<z.ZodString>;
5355
5432
  invert: z.ZodOptional<z.ZodBoolean>;
5356
5433
  }, z.core.$strip>;
5434
+ split: z.ZodOptional<z.ZodEnum<{
5435
+ section: "section";
5436
+ rule: "rule";
5437
+ }>>;
5357
5438
  }, z.core.$strip>], "mode">>;
5358
5439
  targets: z.ZodArray<z.ZodObject<{
5359
5440
  targetId: z.ZodString;
@@ -5668,6 +5749,10 @@ export declare const notificationRulesCapability: {
5668
5749
  timezone: z.ZodOptional<z.ZodString>;
5669
5750
  invert: z.ZodOptional<z.ZodBoolean>;
5670
5751
  }, z.core.$strip>;
5752
+ split: z.ZodOptional<z.ZodEnum<{
5753
+ section: "section";
5754
+ rule: "rule";
5755
+ }>>;
5671
5756
  }, z.core.$strip>], "mode">>;
5672
5757
  targets: z.ZodArray<z.ZodObject<{
5673
5758
  targetId: z.ZodString;
@@ -5803,6 +5888,16 @@ export declare const notificationRulesCapability: {
5803
5888
  }, z.core.$strip>>;
5804
5889
  dropped: z.ZodRecord<z.ZodString, z.ZodNumber>;
5805
5890
  excludedGroups: z.ZodArray<z.ZodString>;
5891
+ split: z.ZodOptional<z.ZodEnum<{
5892
+ section: "section";
5893
+ rule: "rule";
5894
+ }>>;
5895
+ rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
5896
+ section: z.ZodOptional<z.ZodString>;
5897
+ title: z.ZodString;
5898
+ text: z.ZodString;
5899
+ count: z.ZodNumber;
5900
+ }, z.core.$strip>>>;
5806
5901
  }, z.core.$strip>, "mutation">;
5807
5902
  /**
5808
5903
  * The machine-readable condition surface a rule editor renders from, plus