@camstack/types 1.2.284 → 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.
@@ -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';
@@ -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 the panel's state machine runs on, who hears about its
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` is re-declared WITHOUT its default: `.partial()` does not
3050
- * remove an inner `.default()`, so a patch that never named the field would
3051
- * parse to `nonBlocking: []` and wipe every mode's list on an unrelated edit
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, recipients, per-mode non-blocking lists;
6515
- * `announceArm` is accepted and ignored — D630). Returns the WHOLE config,
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>;
@@ -5123,6 +5123,13 @@ export type AppRouter = TrpcCoreRouter<{
5123
5123
  output: z.infer<typeof notificationRulesCapability.methods.setAlarmConfig.output>;
5124
5124
  meta: object;
5125
5125
  }>;
5126
+ getAlarmSensors: TRPCQueryProcedure<{
5127
+ input: {
5128
+ [x: string]: unknown;
5129
+ } & z.input<typeof notificationRulesCapability.methods.getAlarmSensors.input>;
5130
+ output: z.infer<typeof notificationRulesCapability.methods.getAlarmSensors.output>;
5131
+ meta: object;
5132
+ }>;
5126
5133
  }>>;
5127
5134
  notifier: TRPCBuiltRouter<{
5128
5135
  ctx: TrpcContext;
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1198 method paths across 163 capabilities.
9
+ * Coverage: 1199 method paths across 163 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -6,8 +6,8 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 408 methods carry a device reference, of which
10
- * 145 are on SYSTEM-scope caps.
9
+ * Coverage: 409 methods carry a device reference, of which
10
+ * 146 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
13
13
  * a numeric device field (targets[].deviceId) are all mapped; the matcher
@@ -83,7 +83,7 @@ export interface SystemProxy {
83
83
  readonly networkQuality: Pick<InferProvider<typeof networkQualityCapability>, 'getAllStats'>;
84
84
  readonly nodes: Pick<InferProvider<typeof nodesCapability>, 'topology' | 'directory' | 'deployAddon' | 'undeployAddon' | 'restartAddon' | 'restartProcess' | 'restartNode' | 'shutdownNode' | 'renameNode' | 'clusterAddonStatus' | 'getCapUsageGraph' | 'getNodeAddons' | 'setProcessLogLevel' | 'executeQuery'>;
85
85
  readonly notificationOutput: Pick<InferProvider<typeof notificationOutputCapability>, 'listTargetKinds' | 'listTargets' | 'discoverTargets' | 'send' | 'testTarget' | 'upsertTarget' | 'deleteTarget' | 'setTargetEnabled'>;
86
- readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'getClipRetentionAsks' | 'listDeviceMutes' | 'testRule' | 'previewStateSummary' | 'getConditionCatalog' | 'getTemplateCatalog' | 'previewTemplate' | 'getHistory' | 'getRuleLastRuns' | 'resolveArtifactUrl' | 'listSnoozes' | 'createSnooze' | 'cancelSnooze' | 'getAlarmConfig' | 'setAlarmConfig'>;
86
+ readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'getClipRetentionAsks' | 'listDeviceMutes' | 'testRule' | 'previewStateSummary' | 'getConditionCatalog' | 'getTemplateCatalog' | 'previewTemplate' | 'getHistory' | 'getRuleLastRuns' | 'resolveArtifactUrl' | 'listSnoozes' | 'createSnooze' | 'cancelSnooze' | 'getAlarmConfig' | 'setAlarmConfig' | 'getAlarmSensors'>;
87
87
  readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration'>;
88
88
  readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
89
89
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
package/dist/index.d.ts CHANGED
@@ -239,6 +239,7 @@ export { htmlToText, markdownToHtmlLite, markdownToText, type NotificationFormat
239
239
  export { conditionExclusionReason, conditionVisibleForKind, defaultDeliveryForSection, droppedConditionsForKind, isAudioRule, isOccupancyRule, isSystemDelivery, isSystemRuleKind, kindsForDiscriminator, NC_AUDIO_SEED, NC_CAMERA_SCOPE_CAP_NAME, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SYSTEM_DELIVERY, NC_SYSTEM_RULE_KINDS, type NcDroppedCondition, type NcKindVisibilitySubject, type NcRuleEditorSection, type NcRuleEditorSectionKey, type NcRuleKind, type NcRuleKindSpec, type NcRuleOwningSectionKey, type NcRuleSection, type NcRuleSectionKey, type NcRuleSectionSubject, type NcRuleSeed, parseRuleSection, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, systemFamilyOfKind, systemRuleKindOf, } from './notification/rule-kinds.js';
240
240
  export { isScheduleActive } from './notification/schedule.js';
241
241
  export { NC_ALARM_OPENING_EVENT_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, type NcAlarmMembershipSubject, type NcAlarmOpeningEventKind, ruleBelongsToAlarm, sensorTransitionNeverFires, } from './notification/alarm-membership.js';
242
+ export { alarmPatchLanded, applyModeDelaysEdits, applyNonBlockingEdit, NC_ALARM_DELAY_FIELDS, type NcAlarmDelayField, type NcAlarmDelaySettings, type NcAlarmDelaySource, type NcAlarmNonBlockingEditResult, type NcAlarmResolvedDelays, resolveModeDelays, } from './notification/alarm-settings.js';
242
243
  export { NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, sensorRaisedOf, sensorTransitionOffered, } from './notification/sensor-raised.js';
243
244
  export { NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, isHeldBackTemplateVar, isKnownTemplateVar, servedTemplateVars, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, } from './notification/template-vars.js';
244
245
  export { NC_SYSTEM_EVENT_FILTER_KEYS, type NcSystemEventFilterKey, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, } from './notification/system-event-filters.js';