@camstack/types 1.2.283 → 1.2.285
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 +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/device-extension.cap.d.ts +8 -25
- package/dist/capabilities/device-manager.cap.d.ts +2 -2
- package/dist/capabilities/device-state.cap.d.ts +2 -2
- package/dist/capabilities/doorbell.cap.d.ts +13 -64
- package/dist/capabilities/index.d.ts +2 -2
- package/dist/capabilities/motion.cap.d.ts +9 -8
- package/dist/capabilities/notification-rules.cap.d.ts +230 -8
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +147 -15
- package/dist/capabilities/pipeline-runner.cap.d.ts +2 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts +2 -3
- package/dist/catalogs/sensor-active-state.d.ts +8 -10
- package/dist/composition/presets/doorbell-feature.d.ts +1 -1
- package/dist/{composition-Dq42XWp0.mjs → composition-43aqsZQj.mjs} +6 -7
- package/dist/{composition-DG4jVTfB.js → composition-w3gBWMer.js} +6 -7
- package/dist/device/hub-motion-read.d.ts +22 -0
- package/dist/device-extension/slot-descriptor.d.ts +3 -3
- package/dist/enums/event-category.d.ts +9 -0
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-C5xZWqz6.mjs → event-category-BGmz_oxW.mjs} +9 -0
- package/dist/{event-category-MbnB-6AN.js → event-category-DmS_tLsU.js} +9 -0
- package/dist/generated/addon-api.d.ts +7 -0
- package/dist/generated/extension-slots.d.ts +2 -6
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +548 -217
- package/dist/index.mjs +523 -215
- package/dist/interfaces/event-bus.d.ts +5 -3
- package/dist/interfaces/pipeline-runner-capability.d.ts +2 -0
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/dist/notification/alarm-settings.d.ts +58 -0
- package/dist/pipeline/camera-sensors.d.ts +133 -9
- package/dist/pipeline/motion-ownership.d.ts +13 -0
- package/dist/pipeline/provider-motion.d.ts +33 -0
- package/dist/{sleep-gU6hqv4_.mjs → sleep-CDCONfkt.mjs} +1 -1
- package/dist/{sleep-DCbD8sdg.js → sleep-G4F3X9X_.js} +1 -1
- package/dist/utils/addon-id.d.ts +2 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
3
|
-
const require_event_category = require("./event-category-
|
|
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-
|
|
2
|
-
import { t as EventCategory } from "./event-category-
|
|
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
|
|
6
|
-
*
|
|
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
|
|
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).
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* `unknown` means the gate could
|
|
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 (
|
|
1495
|
-
*
|
|
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
|
|
123
|
-
*
|
|
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
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
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, 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';
|
|
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, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_SENSORS_MAX, NC_ALARM_TRIGGERED_MAX_SEC, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmModeDelays, type NcAlarmModeDelaysEdit, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, type NcAlarmNonBlockingEdit, NcAlarmNonBlockingEditSchema, type NcAlarmSensorReading, NcAlarmSensorReadingSchema, type NcAlarmSensors, type NcAlarmSensorsInput, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, type NcAlarmSensorState, NcAlarmSensorStateSchema, 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 {
|
|
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:
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* seed its internal 3 s inactivity timer here,
|
|
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** —
|
|
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
|
|
164
|
-
*
|
|
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`.
|
|
@@ -3000,6 +3000,56 @@ export declare const NcSnoozeSuppressedSchema: z.ZodObject<{
|
|
|
3000
3000
|
lastAt: z.ZodNumber;
|
|
3001
3001
|
}, z.core.$strip>;
|
|
3002
3002
|
export type NcSnoozeSuppressed = z.infer<typeof NcSnoozeSuppressedSchema>;
|
|
3003
|
+
/** The bounds every alarm delay field carries — settings, per-mode overrides, both editors. */
|
|
3004
|
+
export declare const NC_ALARM_DELAY_MAX_SEC = 600;
|
|
3005
|
+
export declare const NC_ALARM_TRIGGERED_MAX_SEC = 3600;
|
|
3006
|
+
/** At most this many ids on one mode's non-blocking list. */
|
|
3007
|
+
export declare const NC_ALARM_NONBLOCKING_MAX = 200;
|
|
3008
|
+
/** One mode's OVERRIDES. An absent field inherits the global value (D697). */
|
|
3009
|
+
export declare const NcAlarmModeDelaysSchema: z.ZodObject<{
|
|
3010
|
+
mode: z.ZodEnum<{
|
|
3011
|
+
home: "home";
|
|
3012
|
+
away: "away";
|
|
3013
|
+
night: "night";
|
|
3014
|
+
vacation: "vacation";
|
|
3015
|
+
custom_bypass: "custom_bypass";
|
|
3016
|
+
}>;
|
|
3017
|
+
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3018
|
+
entryDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3019
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNumber>;
|
|
3020
|
+
}, z.core.$strip>;
|
|
3021
|
+
export type NcAlarmModeDelays = z.infer<typeof NcAlarmModeDelaysSchema>;
|
|
3022
|
+
/**
|
|
3023
|
+
* One mode's EDIT in a patch: a number sets the override, `null` removes it (the mode inherits
|
|
3024
|
+
* again), an absent field leaves it alone. Per field, so two editors changing two different
|
|
3025
|
+
* delays of one mode never undo each other.
|
|
3026
|
+
*/
|
|
3027
|
+
export declare const NcAlarmModeDelaysEditSchema: z.ZodObject<{
|
|
3028
|
+
mode: z.ZodEnum<{
|
|
3029
|
+
home: "home";
|
|
3030
|
+
away: "away";
|
|
3031
|
+
night: "night";
|
|
3032
|
+
vacation: "vacation";
|
|
3033
|
+
custom_bypass: "custom_bypass";
|
|
3034
|
+
}>;
|
|
3035
|
+
exitDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3036
|
+
entryDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3037
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3038
|
+
}, z.core.$strip>;
|
|
3039
|
+
export type NcAlarmModeDelaysEdit = z.infer<typeof NcAlarmModeDelaysEditSchema>;
|
|
3040
|
+
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
3041
|
+
export declare const NcAlarmNonBlockingEditSchema: z.ZodObject<{
|
|
3042
|
+
mode: z.ZodEnum<{
|
|
3043
|
+
home: "home";
|
|
3044
|
+
away: "away";
|
|
3045
|
+
night: "night";
|
|
3046
|
+
vacation: "vacation";
|
|
3047
|
+
custom_bypass: "custom_bypass";
|
|
3048
|
+
}>;
|
|
3049
|
+
deviceId: z.ZodNumber;
|
|
3050
|
+
nonBlocking: z.ZodBoolean;
|
|
3051
|
+
}, z.core.$strip>;
|
|
3052
|
+
export type NcAlarmNonBlockingEdit = z.infer<typeof NcAlarmNonBlockingEditSchema>;
|
|
3003
3053
|
/**
|
|
3004
3054
|
* One arm mode's non-blocking list: devices that may be open when that mode
|
|
3005
3055
|
* arms, without the arm being refused.
|
|
@@ -3016,8 +3066,8 @@ export declare const NcAlarmNonBlockingSchema: z.ZodObject<{
|
|
|
3016
3066
|
}, z.core.$strip>;
|
|
3017
3067
|
export type NcAlarmNonBlocking = z.infer<typeof NcAlarmNonBlockingSchema>;
|
|
3018
3068
|
/**
|
|
3019
|
-
* The three durations
|
|
3020
|
-
* transitions, and which openings each mode tolerates.
|
|
3069
|
+
* The three durations — global, and per mode since D697 — the panel's state
|
|
3070
|
+
* machine runs on, who hears about its transitions, and which openings each mode tolerates.
|
|
3021
3071
|
*
|
|
3022
3072
|
* They live on the NOTIFICATION-RULES cap, not on `alarm-panel`, on purpose:
|
|
3023
3073
|
* `alarm-panel` is `deviceNative` and its other provider mirrors somebody
|
|
@@ -3041,15 +3091,28 @@ export declare const NcAlarmSettingsSchema: z.ZodObject<{
|
|
|
3041
3091
|
}>;
|
|
3042
3092
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
3043
3093
|
}, z.core.$strip>>>;
|
|
3094
|
+
modeDelays: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
3095
|
+
mode: z.ZodEnum<{
|
|
3096
|
+
home: "home";
|
|
3097
|
+
away: "away";
|
|
3098
|
+
night: "night";
|
|
3099
|
+
vacation: "vacation";
|
|
3100
|
+
custom_bypass: "custom_bypass";
|
|
3101
|
+
}>;
|
|
3102
|
+
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3103
|
+
entryDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3104
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNumber>;
|
|
3105
|
+
}, z.core.$strip>>>;
|
|
3044
3106
|
}, z.core.$strip>;
|
|
3045
3107
|
export type NcAlarmSettings = z.infer<typeof NcAlarmSettingsSchema>;
|
|
3046
3108
|
/**
|
|
3047
3109
|
* Every field optional — a tab edits one control at a time.
|
|
3048
3110
|
*
|
|
3049
|
-
* `nonBlocking`
|
|
3050
|
-
* remove an inner `.default()`, so a patch that never
|
|
3051
|
-
* parse to `
|
|
3052
|
-
* (the same trap {@link NcRulePatchSchema} documents).
|
|
3111
|
+
* `nonBlocking` and `modeDelays` are re-declared WITHOUT their defaults:
|
|
3112
|
+
* `.partial()` does not remove an inner `.default()`, so a patch that never
|
|
3113
|
+
* named the field would parse to `[]` and wipe every mode's list on an
|
|
3114
|
+
* unrelated edit (the same trap {@link NcRulePatchSchema} documents). Here
|
|
3115
|
+
* `modeDelays` means EDITS, not the stored overrides.
|
|
3053
3116
|
*/
|
|
3054
3117
|
export declare const NcAlarmSettingsPatchSchema: z.ZodObject<{
|
|
3055
3118
|
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
@@ -3067,6 +3130,29 @@ export declare const NcAlarmSettingsPatchSchema: z.ZodObject<{
|
|
|
3067
3130
|
}>;
|
|
3068
3131
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
3069
3132
|
}, z.core.$strip>>>;
|
|
3133
|
+
modeDelays: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3134
|
+
mode: z.ZodEnum<{
|
|
3135
|
+
home: "home";
|
|
3136
|
+
away: "away";
|
|
3137
|
+
night: "night";
|
|
3138
|
+
vacation: "vacation";
|
|
3139
|
+
custom_bypass: "custom_bypass";
|
|
3140
|
+
}>;
|
|
3141
|
+
exitDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3142
|
+
entryDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3143
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3144
|
+
}, z.core.$strip>>>;
|
|
3145
|
+
nonBlockingEdit: z.ZodOptional<z.ZodObject<{
|
|
3146
|
+
mode: z.ZodEnum<{
|
|
3147
|
+
home: "home";
|
|
3148
|
+
away: "away";
|
|
3149
|
+
night: "night";
|
|
3150
|
+
vacation: "vacation";
|
|
3151
|
+
custom_bypass: "custom_bypass";
|
|
3152
|
+
}>;
|
|
3153
|
+
deviceId: z.ZodNumber;
|
|
3154
|
+
nonBlocking: z.ZodBoolean;
|
|
3155
|
+
}, z.core.$strip>>;
|
|
3070
3156
|
}, z.core.$strip>;
|
|
3071
3157
|
export type NcAlarmSettingsPatch = z.infer<typeof NcAlarmSettingsPatchSchema>;
|
|
3072
3158
|
/**
|
|
@@ -3228,6 +3314,18 @@ export declare const NcAlarmConfigSchema: z.ZodObject<{
|
|
|
3228
3314
|
}>;
|
|
3229
3315
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
3230
3316
|
}, z.core.$strip>>>;
|
|
3317
|
+
modeDelays: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
3318
|
+
mode: z.ZodEnum<{
|
|
3319
|
+
home: "home";
|
|
3320
|
+
away: "away";
|
|
3321
|
+
night: "night";
|
|
3322
|
+
vacation: "vacation";
|
|
3323
|
+
custom_bypass: "custom_bypass";
|
|
3324
|
+
}>;
|
|
3325
|
+
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3326
|
+
entryDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
3327
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNumber>;
|
|
3328
|
+
}, z.core.$strip>>>;
|
|
3231
3329
|
}, z.core.$strip>;
|
|
3232
3330
|
coverage: z.ZodArray<z.ZodObject<{
|
|
3233
3331
|
mode: z.ZodEnum<{
|
|
@@ -3304,6 +3402,55 @@ export declare const NcAlarmConfigSchema: z.ZodObject<{
|
|
|
3304
3402
|
}, z.core.$strip>>;
|
|
3305
3403
|
}, z.core.$strip>;
|
|
3306
3404
|
export type NcAlarmConfig = z.infer<typeof NcAlarmConfigSchema>;
|
|
3405
|
+
/** At most this many ids in one `getAlarmSensors` call — a validation bound, not a target. */
|
|
3406
|
+
export declare const NC_ALARM_SENSORS_MAX = 500;
|
|
3407
|
+
export declare const NcAlarmSensorReadingSchema: z.ZodEnum<{
|
|
3408
|
+
unknown: "unknown";
|
|
3409
|
+
open: "open";
|
|
3410
|
+
closed: "closed";
|
|
3411
|
+
"not-opening": "not-opening";
|
|
3412
|
+
}>;
|
|
3413
|
+
export type NcAlarmSensorReading = z.infer<typeof NcAlarmSensorReadingSchema>;
|
|
3414
|
+
/** One device's state as the alarm reads it — the classifier the arm check uses. */
|
|
3415
|
+
export declare const NcAlarmSensorStateSchema: z.ZodObject<{
|
|
3416
|
+
deviceId: z.ZodNumber;
|
|
3417
|
+
reading: z.ZodEnum<{
|
|
3418
|
+
unknown: "unknown";
|
|
3419
|
+
open: "open";
|
|
3420
|
+
closed: "closed";
|
|
3421
|
+
"not-opening": "not-opening";
|
|
3422
|
+
}>;
|
|
3423
|
+
state: z.ZodNullable<z.ZodString>;
|
|
3424
|
+
unknownWhy: z.ZodNullable<z.ZodEnum<{
|
|
3425
|
+
"read-failed": "read-failed";
|
|
3426
|
+
"unknown-word": "unknown-word";
|
|
3427
|
+
}>>;
|
|
3428
|
+
online: z.ZodNullable<z.ZodBoolean>;
|
|
3429
|
+
}, z.core.$strip>;
|
|
3430
|
+
export type NcAlarmSensorState = z.infer<typeof NcAlarmSensorStateSchema>;
|
|
3431
|
+
export declare const NcAlarmSensorsInputSchema: z.ZodObject<{
|
|
3432
|
+
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
3433
|
+
}, z.core.$strip>;
|
|
3434
|
+
export type NcAlarmSensorsInput = z.infer<typeof NcAlarmSensorsInputSchema>;
|
|
3435
|
+
export declare const NcAlarmSensorsSchema: z.ZodObject<{
|
|
3436
|
+
sensors: z.ZodArray<z.ZodObject<{
|
|
3437
|
+
deviceId: z.ZodNumber;
|
|
3438
|
+
reading: z.ZodEnum<{
|
|
3439
|
+
unknown: "unknown";
|
|
3440
|
+
open: "open";
|
|
3441
|
+
closed: "closed";
|
|
3442
|
+
"not-opening": "not-opening";
|
|
3443
|
+
}>;
|
|
3444
|
+
state: z.ZodNullable<z.ZodString>;
|
|
3445
|
+
unknownWhy: z.ZodNullable<z.ZodEnum<{
|
|
3446
|
+
"read-failed": "read-failed";
|
|
3447
|
+
"unknown-word": "unknown-word";
|
|
3448
|
+
}>>;
|
|
3449
|
+
online: z.ZodNullable<z.ZodBoolean>;
|
|
3450
|
+
}, z.core.$strip>>;
|
|
3451
|
+
readAt: z.ZodNumber;
|
|
3452
|
+
}, z.core.$strip>;
|
|
3453
|
+
export type NcAlarmSensors = z.infer<typeof NcAlarmSensorsSchema>;
|
|
3307
3454
|
/**
|
|
3308
3455
|
* The most seconds of footage any notification rule may ask a camera to retain.
|
|
3309
3456
|
*
|
|
@@ -6435,6 +6582,18 @@ export declare const notificationRulesCapability: {
|
|
|
6435
6582
|
}>;
|
|
6436
6583
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
6437
6584
|
}, z.core.$strip>>>;
|
|
6585
|
+
modeDelays: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
6586
|
+
mode: z.ZodEnum<{
|
|
6587
|
+
home: "home";
|
|
6588
|
+
away: "away";
|
|
6589
|
+
night: "night";
|
|
6590
|
+
vacation: "vacation";
|
|
6591
|
+
custom_bypass: "custom_bypass";
|
|
6592
|
+
}>;
|
|
6593
|
+
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
6594
|
+
entryDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
6595
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNumber>;
|
|
6596
|
+
}, z.core.$strip>>>;
|
|
6438
6597
|
}, z.core.$strip>;
|
|
6439
6598
|
coverage: z.ZodArray<z.ZodObject<{
|
|
6440
6599
|
mode: z.ZodEnum<{
|
|
@@ -6511,8 +6670,9 @@ export declare const notificationRulesCapability: {
|
|
|
6511
6670
|
}, z.core.$strip>>;
|
|
6512
6671
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
6513
6672
|
/**
|
|
6514
|
-
* Patch the settings (durations
|
|
6515
|
-
*
|
|
6673
|
+
* Patch the settings (durations — global and per mode —, recipients,
|
|
6674
|
+
* per-mode non-blocking lists or one membership edit; `announceArm` is
|
|
6675
|
+
* accepted and ignored — D630). Returns the WHOLE config,
|
|
6516
6676
|
* coverage and `live` included, so a
|
|
6517
6677
|
* client never has to guess what the server settled on — the panel clamps
|
|
6518
6678
|
* and normalises, and a form that re-rendered from its own input would
|
|
@@ -6535,6 +6695,29 @@ export declare const notificationRulesCapability: {
|
|
|
6535
6695
|
}>;
|
|
6536
6696
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
6537
6697
|
}, z.core.$strip>>>;
|
|
6698
|
+
modeDelays: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6699
|
+
mode: z.ZodEnum<{
|
|
6700
|
+
home: "home";
|
|
6701
|
+
away: "away";
|
|
6702
|
+
night: "night";
|
|
6703
|
+
vacation: "vacation";
|
|
6704
|
+
custom_bypass: "custom_bypass";
|
|
6705
|
+
}>;
|
|
6706
|
+
exitDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
6707
|
+
entryDelaySec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
6708
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
6709
|
+
}, z.core.$strip>>>;
|
|
6710
|
+
nonBlockingEdit: z.ZodOptional<z.ZodObject<{
|
|
6711
|
+
mode: z.ZodEnum<{
|
|
6712
|
+
home: "home";
|
|
6713
|
+
away: "away";
|
|
6714
|
+
night: "night";
|
|
6715
|
+
vacation: "vacation";
|
|
6716
|
+
custom_bypass: "custom_bypass";
|
|
6717
|
+
}>;
|
|
6718
|
+
deviceId: z.ZodNumber;
|
|
6719
|
+
nonBlocking: z.ZodBoolean;
|
|
6720
|
+
}, z.core.$strip>>;
|
|
6538
6721
|
}, z.core.$strip>;
|
|
6539
6722
|
}, z.core.$strip>, z.ZodObject<{
|
|
6540
6723
|
deviceId: z.ZodNullable<z.ZodNumber>;
|
|
@@ -6554,6 +6737,18 @@ export declare const notificationRulesCapability: {
|
|
|
6554
6737
|
}>;
|
|
6555
6738
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
6556
6739
|
}, z.core.$strip>>>;
|
|
6740
|
+
modeDelays: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
6741
|
+
mode: z.ZodEnum<{
|
|
6742
|
+
home: "home";
|
|
6743
|
+
away: "away";
|
|
6744
|
+
night: "night";
|
|
6745
|
+
vacation: "vacation";
|
|
6746
|
+
custom_bypass: "custom_bypass";
|
|
6747
|
+
}>;
|
|
6748
|
+
exitDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
6749
|
+
entryDelaySec: z.ZodOptional<z.ZodNumber>;
|
|
6750
|
+
triggeredDurationSec: z.ZodOptional<z.ZodNumber>;
|
|
6751
|
+
}, z.core.$strip>>>;
|
|
6557
6752
|
}, z.core.$strip>;
|
|
6558
6753
|
coverage: z.ZodArray<z.ZodObject<{
|
|
6559
6754
|
mode: z.ZodEnum<{
|
|
@@ -6629,6 +6824,33 @@ export declare const notificationRulesCapability: {
|
|
|
6629
6824
|
}, z.core.$strip>>;
|
|
6630
6825
|
}, z.core.$strip>>;
|
|
6631
6826
|
}, z.core.$strip>, "mutation">;
|
|
6827
|
+
/**
|
|
6828
|
+
* The CURRENT state of each asked device as the alarm reads it (D697) — open, closed,
|
|
6829
|
+
* unknown (why) or not an opening, plus liveness. Classified by the same table the arm
|
|
6830
|
+
* check uses (`alarm-openings.ts`), so the editor and the arm can never disagree. The
|
|
6831
|
+
* caller names the ids (the household openings it already holds); at most
|
|
6832
|
+
* `NC_ALARM_SENSORS_MAX`.
|
|
6833
|
+
*/
|
|
6834
|
+
readonly getAlarmSensors: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
6835
|
+
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
6836
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6837
|
+
sensors: z.ZodArray<z.ZodObject<{
|
|
6838
|
+
deviceId: z.ZodNumber;
|
|
6839
|
+
reading: z.ZodEnum<{
|
|
6840
|
+
unknown: "unknown";
|
|
6841
|
+
open: "open";
|
|
6842
|
+
closed: "closed";
|
|
6843
|
+
"not-opening": "not-opening";
|
|
6844
|
+
}>;
|
|
6845
|
+
state: z.ZodNullable<z.ZodString>;
|
|
6846
|
+
unknownWhy: z.ZodNullable<z.ZodEnum<{
|
|
6847
|
+
"read-failed": "read-failed";
|
|
6848
|
+
"unknown-word": "unknown-word";
|
|
6849
|
+
}>>;
|
|
6850
|
+
online: z.ZodNullable<z.ZodBoolean>;
|
|
6851
|
+
}, z.core.$strip>>;
|
|
6852
|
+
readAt: z.ZodNumber;
|
|
6853
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
6632
6854
|
};
|
|
6633
6855
|
};
|
|
6634
6856
|
export type INotificationRulesProvider = InferProvider<typeof notificationRulesCapability>;
|