@camstack/types 1.2.134 → 1.2.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-BaEgqJNv.js");
3
- const require_sleep = require("./sleep-DkBAyPva.js");
3
+ const require_sleep = require("./sleep-BwGJ_wL_.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-BZL-fdNj.mjs";
2
- import { B as ReadinessRegistry, E as adminUiCapability, L as nodePin, R as readNodePin, St as emitReadiness, T as DeviceType, V as ReadinessTimeoutError, W as scopeKey, _t as DisposerChain, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DATAPLANE_SECRET_HEADER, h as createEventBusSliceSource, j as expandCapMethods, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as BaseAddon, x as viewerUiCapability, yt as normalizeAddonInitResult } from "./sleep-DAxSW8cv.mjs";
2
+ import { B as ReadinessRegistry, E as adminUiCapability, L as nodePin, R as readNodePin, St as emitReadiness, T as DeviceType, V as ReadinessTimeoutError, W as scopeKey, _t as DisposerChain, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DATAPLANE_SECRET_HEADER, h as createEventBusSliceSource, j as expandCapMethods, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as BaseAddon, x as viewerUiCapability, yt as normalizeAddonInitResult } from "./sleep-C1mz-ocE.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -245,6 +245,69 @@ export declare const DevicePersistConfigPayloadSchema: z.ZodObject<{
245
245
  deviceId: z.ZodNumber;
246
246
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
247
247
  }, z.core.$strip>;
248
+ /** What a migration actually did, per switch. `unreachable` is a first-class
249
+ * answer: a camera that could not be asked is not a camera that was silenced. */
250
+ export declare const MigrateSwitchOutcomeSchema: z.ZodEnum<{
251
+ off: "off";
252
+ unreachable: "unreachable";
253
+ on: "on";
254
+ "not-offered": "not-offered";
255
+ }>;
256
+ export declare const MigrateSwitchReportSchema: z.ZodObject<{
257
+ deviceId: z.ZodNumber;
258
+ switchId: z.ZodEnum<{
259
+ "privacy-mask": "privacy-mask";
260
+ "audio-analysis": "audio-analysis";
261
+ recording: "recording";
262
+ "stream-broker": "stream-broker";
263
+ notifications: "notifications";
264
+ "object-detection": "object-detection";
265
+ "device-audio": "device-audio";
266
+ "broker-audio": "broker-audio";
267
+ }>;
268
+ outcome: z.ZodEnum<{
269
+ off: "off";
270
+ unreachable: "unreachable";
271
+ on: "on";
272
+ "not-offered": "not-offered";
273
+ }>;
274
+ detail: z.ZodOptional<z.ZodString>;
275
+ }, z.core.$strip>;
276
+ export declare const MigrateDeviceResultSchema: z.ZodObject<{
277
+ sourceId: z.ZodNumber;
278
+ targetId: z.ZodNumber;
279
+ switches: z.ZodReadonly<z.ZodArray<z.ZodObject<{
280
+ deviceId: z.ZodNumber;
281
+ switchId: z.ZodEnum<{
282
+ "privacy-mask": "privacy-mask";
283
+ "audio-analysis": "audio-analysis";
284
+ recording: "recording";
285
+ "stream-broker": "stream-broker";
286
+ notifications: "notifications";
287
+ "object-detection": "object-detection";
288
+ "device-audio": "device-audio";
289
+ "broker-audio": "broker-audio";
290
+ }>;
291
+ outcome: z.ZodEnum<{
292
+ off: "off";
293
+ unreachable: "unreachable";
294
+ on: "on";
295
+ "not-offered": "not-offered";
296
+ }>;
297
+ detail: z.ZodOptional<z.ZodString>;
298
+ }, z.core.$strip>>>;
299
+ sourceStillLive: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
300
+ "privacy-mask": "privacy-mask";
301
+ "audio-analysis": "audio-analysis";
302
+ recording: "recording";
303
+ "stream-broker": "stream-broker";
304
+ notifications: "notifications";
305
+ "object-detection": "object-detection";
306
+ "device-audio": "device-audio";
307
+ "broker-audio": "broker-audio";
308
+ }>>>;
309
+ swapped: z.ZodBoolean;
310
+ }, z.core.$strip>;
248
311
  export declare const deviceManagerCapability: {
249
312
  readonly name: "device-manager";
250
313
  readonly scope: "system";
@@ -261,6 +324,64 @@ export declare const deviceManagerCapability: {
261
324
  }, z.core.$strip>, z.ZodObject<{
262
325
  id: z.ZodNumber;
263
326
  }, z.core.$strip>, "mutation">;
327
+ /**
328
+ * Replace a camera: the new hardware inherits the number the system knows.
329
+ *
330
+ * Everything general about a camera is keyed on the numeric id and nothing
331
+ * else — the recording path on disk, the hour ledger, the media store, zone
332
+ * ownership, and all four ecosystem exports. So a replacement moves the
333
+ * NUMBER rather than the work, and the operator keeps their footage, their
334
+ * rules and their integrations.
335
+ *
336
+ * Both cameras are switched off first, then the identities are exchanged
337
+ * (children follow their parent), then the target — now answering on the
338
+ * inherited number — is switched back on.
339
+ *
340
+ * **A switch that could not be written is REPORTED, not swallowed.** The
341
+ * source is characteristically broken, and two of the eight switches write
342
+ * the camera itself, so on a dead one they cannot be written at all.
343
+ * `sourceStillLive` names what stayed live; empty is the only value that
344
+ * means the old hardware is quiet. The migration proceeds either way —
345
+ * refusing would refuse the case this exists for.
346
+ */
347
+ readonly migrateDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
348
+ sourceId: z.ZodNumber;
349
+ targetId: z.ZodNumber;
350
+ }, z.core.$strip>, z.ZodObject<{
351
+ sourceId: z.ZodNumber;
352
+ targetId: z.ZodNumber;
353
+ switches: z.ZodReadonly<z.ZodArray<z.ZodObject<{
354
+ deviceId: z.ZodNumber;
355
+ switchId: z.ZodEnum<{
356
+ "privacy-mask": "privacy-mask";
357
+ "audio-analysis": "audio-analysis";
358
+ recording: "recording";
359
+ "stream-broker": "stream-broker";
360
+ notifications: "notifications";
361
+ "object-detection": "object-detection";
362
+ "device-audio": "device-audio";
363
+ "broker-audio": "broker-audio";
364
+ }>;
365
+ outcome: z.ZodEnum<{
366
+ off: "off";
367
+ unreachable: "unreachable";
368
+ on: "on";
369
+ "not-offered": "not-offered";
370
+ }>;
371
+ detail: z.ZodOptional<z.ZodString>;
372
+ }, z.core.$strip>>>;
373
+ sourceStillLive: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
374
+ "privacy-mask": "privacy-mask";
375
+ "audio-analysis": "audio-analysis";
376
+ recording: "recording";
377
+ "stream-broker": "stream-broker";
378
+ notifications: "notifications";
379
+ "object-detection": "object-detection";
380
+ "device-audio": "device-audio";
381
+ "broker-audio": "broker-audio";
382
+ }>>>;
383
+ swapped: z.ZodBoolean;
384
+ }, z.core.$strip>, "mutation">;
264
385
  /** Register a device in the DB + in-memory registry. Called by DeviceManagerApi.register(). */
265
386
  readonly registerDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
266
387
  addonId: z.ZodString;
@@ -82,7 +82,7 @@ export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapabili
82
82
  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';
83
83
  export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type 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 NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleInput, NcRuleInputSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
84
84
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
85
- export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, 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, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, 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';
85
+ export { type AudioEvent, 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, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, 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';
86
86
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
87
87
  export { ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, } from './pipeline-executor.cap.js';
88
88
  export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, } from './pipeline-orchestrator.cap.js';
@@ -185,7 +185,7 @@ export { type IPrivacyMaskProvider, type PrivacyMaskOptions, PrivacyMaskOptionsS
185
185
  export { type IPtzProvider, PtzMoveCommandSchema, type PtzOptions, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, type PtzStatus, PtzStatusSchema, ptzCapability, } from './ptz.cap.js';
186
186
  export { type IPtzAutotrackProvider, type PtzAutotrackRuntimeState, PtzAutotrackRuntimeStateSchema, type PtzAutotrackSettings, PtzAutotrackSettingsSchema, type PtzAutotrackStatus, PtzAutotrackStatusSchema, type PtzAutotrackTargetOption, PtzAutotrackTargetOptionSchema, ptzAutotrackCapability, } from './ptz-autotrack.cap.js';
187
187
  export { type IRebootProvider, rebootCapability } from './reboot.cap.js';
188
- export { type IRecordingProvider, type LocateSegmentResult, LocateSegmentResultSchema, type ReadGopBytesResult, ReadGopBytesResultSchema, type ReadSegmentBytesResult, ReadSegmentBytesResultSchema, type ReadWindowBytesResult, ReadWindowBytesResultSchema, type RecordingAvailability, RecordingAvailabilitySchema, type RecordingDays, RecordingDaysSchema, type RecordingDeviceUsage, RecordingDeviceUsageSchema, type RecordingLocationUsage, RecordingLocationUsageSchema, type RecordingManifest, RecordingManifestSchema, RecordingRangeSchema, type RecordingRebalanceInput, RecordingRebalanceInputSchema, type RecordingRebalanceMove, RecordingRebalanceMoveSchema, type RecordingRebalancePlan, RecordingRebalancePlanSchema, type RecordingRebalanceSkip, type RecordingRebalanceSkipReason, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, type RecordingStatus, RecordingStatusSchema, type RecordingStorageUsage, RecordingStorageUsageSchema, recordingCapability, } from './recording.cap.js';
188
+ export { type IRecordingProvider, type LocateSegmentResult, LocateSegmentResultSchema, RECORDING_TIMELINE_BATCH_MAX, type ReadGopBytesResult, ReadGopBytesResultSchema, type ReadSegmentBytesResult, ReadSegmentBytesResultSchema, type ReadWindowBytesResult, ReadWindowBytesResultSchema, type RecordingAvailability, type RecordingAvailabilityForDevice, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, type RecordingDays, type RecordingDaysForDevice, RecordingDaysForDeviceSchema, RecordingDaysSchema, type RecordingDeviceUsage, RecordingDeviceUsageSchema, type RecordingLocationUsage, RecordingLocationUsageSchema, type RecordingManifest, RecordingManifestSchema, RecordingRangeSchema, type RecordingRebalanceInput, RecordingRebalanceInputSchema, type RecordingRebalanceMove, RecordingRebalanceMoveSchema, type RecordingRebalancePlan, RecordingRebalancePlanSchema, type RecordingRebalanceSkip, type RecordingRebalanceSkipReason, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, type RecordingStatus, RecordingStatusSchema, type RecordingStorageUsage, RecordingStorageUsageSchema, recordingCapability, } from './recording.cap.js';
189
189
  export { EXPORT_DENSE_MAX_RANGES, type ExportBytes, ExportBytesSchema, type ExportDense, type ExportDenseRange, ExportDenseRangeSchema, ExportDenseSchema, type ExportDownload, ExportDownloadSchema, type ExportOptions, ExportOptionsSchema, type ExportRecord, ExportRecordSchema, ExportSpeedSchema, type ExportState, ExportStateSchema, ExportTimelapseSchema, type IRecordingExportProvider, RECORDING_EXPORT_MAX_READ_BYTES, recordingExportCapability, } from './recording-export.cap.js';
190
190
  export { type ISceneMonitorProvider, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, type SceneCheck, SceneCheckSchema, type SceneCondition, SceneConditionSchema, type SceneConfirm, SceneConfirmSchema, type SceneMonitor, SceneMonitorSchema, type SceneMonitorState, SceneMonitorStateSchema, type SceneMonitorStatus, type SceneMonitorStatusForDevice, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, type SceneReference, SceneReferenceSchema, type SceneUnavailable, SceneUnavailableSchema, type SceneUncoveredPolicy, SceneUncoveredPolicySchema, type SceneVerdict, SceneVerdictSchema, sceneMonitorCapability, } from './scene-monitor.cap.js';
191
191
  export { type ZoneRule, type ZoneRuleMode, ZoneRuleModeEnum, ZoneRuleSchema, type ZoneRules, ZoneRulesArraySchema, } from './schemas/zone-rule.js';
@@ -66,9 +66,9 @@ export type NcDelivery = z.infer<typeof NcDeliverySchema>;
66
66
  * depend on a provider's raw event name or payload shape.
67
67
  */
68
68
  export declare const NcSystemEventKindSchema: z.ZodEnum<{
69
+ "device-disabled": "device-disabled";
69
70
  "device-online": "device-online";
70
71
  "device-offline": "device-offline";
71
- "device-disabled": "device-disabled";
72
72
  "device-enabled": "device-enabled";
73
73
  "device-battery-low": "device-battery-low";
74
74
  "device-battery-normal": "device-battery-normal";
@@ -121,9 +121,9 @@ export declare const NC_ALARM_SYSTEM_EVENT_KINDS: readonly NcSystemEventKind[];
121
121
  */
122
122
  export declare const NcSystemEventConditionSchema: z.ZodObject<{
123
123
  kinds: z.ZodArray<z.ZodEnum<{
124
+ "device-disabled": "device-disabled";
124
125
  "device-online": "device-online";
125
126
  "device-offline": "device-offline";
126
- "device-disabled": "device-disabled";
127
127
  "device-enabled": "device-enabled";
128
128
  "device-battery-low": "device-battery-low";
129
129
  "device-battery-normal": "device-battery-normal";
@@ -597,9 +597,9 @@ export declare const NcConditionsSchema: z.ZodObject<{
597
597
  }>>;
598
598
  systemEvent: z.ZodOptional<z.ZodObject<{
599
599
  kinds: z.ZodArray<z.ZodEnum<{
600
+ "device-disabled": "device-disabled";
600
601
  "device-online": "device-online";
601
602
  "device-offline": "device-offline";
602
- "device-disabled": "device-disabled";
603
603
  "device-enabled": "device-enabled";
604
604
  "device-battery-low": "device-battery-low";
605
605
  "device-battery-normal": "device-battery-normal";
@@ -883,9 +883,9 @@ export declare const NcRuleInputSchema: z.ZodObject<{
883
883
  }>>;
884
884
  systemEvent: z.ZodOptional<z.ZodObject<{
885
885
  kinds: z.ZodArray<z.ZodEnum<{
886
+ "device-disabled": "device-disabled";
886
887
  "device-online": "device-online";
887
888
  "device-offline": "device-offline";
888
- "device-disabled": "device-disabled";
889
889
  "device-enabled": "device-enabled";
890
890
  "device-battery-low": "device-battery-low";
891
891
  "device-battery-normal": "device-battery-normal";
@@ -1233,9 +1233,9 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1233
1233
  }>>;
1234
1234
  systemEvent: z.ZodOptional<z.ZodObject<{
1235
1235
  kinds: z.ZodArray<z.ZodEnum<{
1236
+ "device-disabled": "device-disabled";
1236
1237
  "device-online": "device-online";
1237
1238
  "device-offline": "device-offline";
1238
- "device-disabled": "device-disabled";
1239
1239
  "device-enabled": "device-enabled";
1240
1240
  "device-battery-low": "device-battery-low";
1241
1241
  "device-battery-normal": "device-battery-normal";
@@ -1400,9 +1400,9 @@ export declare const NcRuleSchema: z.ZodObject<{
1400
1400
  }>>;
1401
1401
  systemEvent: z.ZodOptional<z.ZodObject<{
1402
1402
  kinds: z.ZodArray<z.ZodEnum<{
1403
+ "device-disabled": "device-disabled";
1403
1404
  "device-online": "device-online";
1404
1405
  "device-offline": "device-offline";
1405
- "device-disabled": "device-disabled";
1406
1406
  "device-enabled": "device-enabled";
1407
1407
  "device-battery-low": "device-battery-low";
1408
1408
  "device-battery-normal": "device-battery-normal";
@@ -1709,9 +1709,9 @@ export declare const NcHistorySubjectSchema: z.ZodObject<{
1709
1709
  timestamp: z.ZodNumber;
1710
1710
  systemEvent: z.ZodOptional<z.ZodObject<{
1711
1711
  kind: z.ZodEnum<{
1712
+ "device-disabled": "device-disabled";
1712
1713
  "device-online": "device-online";
1713
1714
  "device-offline": "device-offline";
1714
- "device-disabled": "device-disabled";
1715
1715
  "device-enabled": "device-enabled";
1716
1716
  "device-battery-low": "device-battery-low";
1717
1717
  "device-battery-normal": "device-battery-normal";
@@ -1794,9 +1794,9 @@ export declare const NcHistoryEntrySchema: z.ZodObject<{
1794
1794
  timestamp: z.ZodNumber;
1795
1795
  systemEvent: z.ZodOptional<z.ZodObject<{
1796
1796
  kind: z.ZodEnum<{
1797
+ "device-disabled": "device-disabled";
1797
1798
  "device-online": "device-online";
1798
1799
  "device-offline": "device-offline";
1799
- "device-disabled": "device-disabled";
1800
1800
  "device-enabled": "device-enabled";
1801
1801
  "device-battery-low": "device-battery-low";
1802
1802
  "device-battery-normal": "device-battery-normal";
@@ -2096,9 +2096,9 @@ export declare const notificationRulesCapability: {
2096
2096
  }>>;
2097
2097
  systemEvent: z.ZodOptional<z.ZodObject<{
2098
2098
  kinds: z.ZodArray<z.ZodEnum<{
2099
+ "device-disabled": "device-disabled";
2099
2100
  "device-online": "device-online";
2100
2101
  "device-offline": "device-offline";
2101
- "device-disabled": "device-disabled";
2102
2102
  "device-enabled": "device-enabled";
2103
2103
  "device-battery-low": "device-battery-low";
2104
2104
  "device-battery-normal": "device-battery-normal";
@@ -2357,9 +2357,9 @@ export declare const notificationRulesCapability: {
2357
2357
  }>>;
2358
2358
  systemEvent: z.ZodOptional<z.ZodObject<{
2359
2359
  kinds: z.ZodArray<z.ZodEnum<{
2360
+ "device-disabled": "device-disabled";
2360
2361
  "device-online": "device-online";
2361
2362
  "device-offline": "device-offline";
2362
- "device-disabled": "device-disabled";
2363
2363
  "device-enabled": "device-enabled";
2364
2364
  "device-battery-low": "device-battery-low";
2365
2365
  "device-battery-normal": "device-battery-normal";
@@ -2616,9 +2616,9 @@ export declare const notificationRulesCapability: {
2616
2616
  }>>;
2617
2617
  systemEvent: z.ZodOptional<z.ZodObject<{
2618
2618
  kinds: z.ZodArray<z.ZodEnum<{
2619
+ "device-disabled": "device-disabled";
2619
2620
  "device-online": "device-online";
2620
2621
  "device-offline": "device-offline";
2621
- "device-disabled": "device-disabled";
2622
2622
  "device-enabled": "device-enabled";
2623
2623
  "device-battery-low": "device-battery-low";
2624
2624
  "device-battery-normal": "device-battery-normal";
@@ -2869,9 +2869,9 @@ export declare const notificationRulesCapability: {
2869
2869
  }>>;
2870
2870
  systemEvent: z.ZodOptional<z.ZodObject<{
2871
2871
  kinds: z.ZodArray<z.ZodEnum<{
2872
+ "device-disabled": "device-disabled";
2872
2873
  "device-online": "device-online";
2873
2874
  "device-offline": "device-offline";
2874
- "device-disabled": "device-disabled";
2875
2875
  "device-enabled": "device-enabled";
2876
2876
  "device-battery-low": "device-battery-low";
2877
2877
  "device-battery-normal": "device-battery-normal";
@@ -3219,9 +3219,9 @@ export declare const notificationRulesCapability: {
3219
3219
  }>>;
3220
3220
  systemEvent: z.ZodOptional<z.ZodObject<{
3221
3221
  kinds: z.ZodArray<z.ZodEnum<{
3222
+ "device-disabled": "device-disabled";
3222
3223
  "device-online": "device-online";
3223
3224
  "device-offline": "device-offline";
3224
- "device-disabled": "device-disabled";
3225
3225
  "device-enabled": "device-enabled";
3226
3226
  "device-battery-low": "device-battery-low";
3227
3227
  "device-battery-normal": "device-battery-normal";
@@ -3385,9 +3385,9 @@ export declare const notificationRulesCapability: {
3385
3385
  }>>;
3386
3386
  systemEvent: z.ZodOptional<z.ZodObject<{
3387
3387
  kinds: z.ZodArray<z.ZodEnum<{
3388
+ "device-disabled": "device-disabled";
3388
3389
  "device-online": "device-online";
3389
3390
  "device-offline": "device-offline";
3390
- "device-disabled": "device-disabled";
3391
3391
  "device-enabled": "device-enabled";
3392
3392
  "device-battery-low": "device-battery-low";
3393
3393
  "device-battery-normal": "device-battery-normal";
@@ -3692,9 +3692,9 @@ export declare const notificationRulesCapability: {
3692
3692
  }>>;
3693
3693
  systemEvent: z.ZodOptional<z.ZodObject<{
3694
3694
  kinds: z.ZodArray<z.ZodEnum<{
3695
+ "device-disabled": "device-disabled";
3695
3696
  "device-online": "device-online";
3696
3697
  "device-offline": "device-offline";
3697
- "device-disabled": "device-disabled";
3698
3698
  "device-enabled": "device-enabled";
3699
3699
  "device-battery-low": "device-battery-low";
3700
3700
  "device-battery-normal": "device-battery-normal";
@@ -4046,9 +4046,9 @@ export declare const notificationRulesCapability: {
4046
4046
  timestamp: z.ZodNumber;
4047
4047
  systemEvent: z.ZodOptional<z.ZodObject<{
4048
4048
  kind: z.ZodEnum<{
4049
+ "device-disabled": "device-disabled";
4049
4050
  "device-online": "device-online";
4050
4051
  "device-offline": "device-offline";
4051
- "device-disabled": "device-disabled";
4052
4052
  "device-enabled": "device-enabled";
4053
4053
  "device-battery-low": "device-battery-low";
4054
4054
  "device-battery-normal": "device-battery-normal";
@@ -145,9 +145,9 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
145
145
  }>>;
146
146
  systemEvent: z.ZodOptional<z.ZodObject<{
147
147
  kinds: z.ZodArray<z.ZodEnum<{
148
+ "device-disabled": "device-disabled";
148
149
  "device-online": "device-online";
149
150
  "device-offline": "device-offline";
150
- "device-disabled": "device-disabled";
151
151
  "device-enabled": "device-enabled";
152
152
  "device-battery-low": "device-battery-low";
153
153
  "device-battery-normal": "device-battery-normal";
@@ -312,9 +312,9 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
312
312
  }>>;
313
313
  systemEvent: z.ZodOptional<z.ZodObject<{
314
314
  kinds: z.ZodArray<z.ZodEnum<{
315
+ "device-disabled": "device-disabled";
315
316
  "device-online": "device-online";
316
317
  "device-offline": "device-offline";
317
- "device-disabled": "device-disabled";
318
318
  "device-enabled": "device-enabled";
319
319
  "device-battery-low": "device-battery-low";
320
320
  "device-battery-normal": "device-battery-normal";
@@ -551,9 +551,9 @@ export declare const osdManagerCapability: {
551
551
  }>>;
552
552
  systemEvent: z.ZodOptional<z.ZodObject<{
553
553
  kinds: z.ZodArray<z.ZodEnum<{
554
+ "device-disabled": "device-disabled";
554
555
  "device-online": "device-online";
555
556
  "device-offline": "device-offline";
556
- "device-disabled": "device-disabled";
557
557
  "device-enabled": "device-enabled";
558
558
  "device-battery-low": "device-battery-low";
559
559
  "device-battery-normal": "device-battery-normal";
@@ -807,9 +807,9 @@ export declare const osdManagerCapability: {
807
807
  }>>;
808
808
  systemEvent: z.ZodOptional<z.ZodObject<{
809
809
  kinds: z.ZodArray<z.ZodEnum<{
810
+ "device-disabled": "device-disabled";
810
811
  "device-online": "device-online";
811
812
  "device-offline": "device-offline";
812
- "device-disabled": "device-disabled";
813
813
  "device-enabled": "device-enabled";
814
814
  "device-battery-low": "device-battery-low";
815
815
  "device-battery-normal": "device-battery-normal";
@@ -973,9 +973,9 @@ export declare const osdManagerCapability: {
973
973
  }>>;
974
974
  systemEvent: z.ZodOptional<z.ZodObject<{
975
975
  kinds: z.ZodArray<z.ZodEnum<{
976
+ "device-disabled": "device-disabled";
976
977
  "device-online": "device-online";
977
978
  "device-offline": "device-offline";
978
- "device-disabled": "device-disabled";
979
979
  "device-enabled": "device-enabled";
980
980
  "device-battery-low": "device-battery-low";
981
981
  "device-battery-normal": "device-battery-normal";
@@ -1171,9 +1171,9 @@ export declare const osdManagerCapability: {
1171
1171
  }>>;
1172
1172
  systemEvent: z.ZodOptional<z.ZodObject<{
1173
1173
  kinds: z.ZodArray<z.ZodEnum<{
1174
+ "device-disabled": "device-disabled";
1174
1175
  "device-online": "device-online";
1175
1176
  "device-offline": "device-offline";
1176
- "device-disabled": "device-disabled";
1177
1177
  "device-enabled": "device-enabled";
1178
1178
  "device-battery-low": "device-battery-low";
1179
1179
  "device-battery-normal": "device-battery-normal";
@@ -1279,6 +1279,59 @@ declare const KeyEventsForDeviceSchema: z.ZodObject<{
1279
1279
  }, z.core.$strip>>>;
1280
1280
  }, z.core.$strip>;
1281
1281
  export type KeyEventsForDevice = z.infer<typeof KeyEventsForDeviceSchema>;
1282
+ /** One non-empty bucket of the timeline histogram. */
1283
+ export declare const EventDensityBucketSchema: z.ZodObject<{
1284
+ bucketStart: z.ZodNumber;
1285
+ motion: z.ZodNumber;
1286
+ object: z.ZodNumber;
1287
+ audio: z.ZodNumber;
1288
+ }, z.core.$strip>;
1289
+ export type EventDensityBucket = z.infer<typeof EventDensityBucketSchema>;
1290
+ /**
1291
+ * Most cameras one `getEventDensityBatch` may name.
1292
+ *
1293
+ * The same ceiling the sibling batches on this cap already carry
1294
+ * (`listEventKindsBatch`, `getKeyEventsBatch`): a tablet grid is tens of
1295
+ * cameras, never hundreds, and one call's answer is N × (window / bucketMs)
1296
+ * buckets crossing a process boundary.
1297
+ *
1298
+ * The ceiling is on the SCHEMA, not only on the caller. An over-eager ask is
1299
+ * REFUSED — never truncated to the first {@link EVENT_DENSITY_BATCH_MAX} ids,
1300
+ * because that answer is indistinguishable from a complete one and the caller
1301
+ * would never learn it asked too much. A caller with more cameras sends
1302
+ * ⌈n/max⌉ calls.
1303
+ */
1304
+ export declare const EVENT_DENSITY_BATCH_MAX = 200;
1305
+ /**
1306
+ * One camera's row in a `getEventDensityBatch` answer.
1307
+ *
1308
+ * TWO facts, and the timeline draws them differently:
1309
+ *
1310
+ * - `read: 'read'` — the histogram for this camera. `buckets: []` is a real
1311
+ * claim: read, and nothing happened in the window.
1312
+ * - `read: 'unreadable'` — nobody could answer for this camera. `buckets` is
1313
+ * empty and that emptiness means NOTHING; the timeline must render unknown,
1314
+ * not quiet.
1315
+ *
1316
+ * Fanned out per camera the difference was free — one query rejected while the
1317
+ * others resolved — and collapsing to a batch is the exact moment it is lost
1318
+ * silently. Every requested id gets a row: a caller that asked for twelve and
1319
+ * got eleven cannot tell which one is missing, or that any is.
1320
+ */
1321
+ export declare const EventDensityForDeviceSchema: z.ZodObject<{
1322
+ deviceId: z.ZodNumber;
1323
+ read: z.ZodEnum<{
1324
+ read: "read";
1325
+ unreadable: "unreadable";
1326
+ }>;
1327
+ buckets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1328
+ bucketStart: z.ZodNumber;
1329
+ motion: z.ZodNumber;
1330
+ object: z.ZodNumber;
1331
+ audio: z.ZodNumber;
1332
+ }, z.core.$strip>>>;
1333
+ }, z.core.$strip>;
1334
+ export type EventDensityForDevice = z.infer<typeof EventDensityForDeviceSchema>;
1282
1335
  declare const TrackedDetectionSchema: z.ZodObject<{
1283
1336
  trackId: z.ZodString;
1284
1337
  className: z.ZodString;
@@ -2310,6 +2363,42 @@ export declare const pipelineAnalyticsCapability: {
2310
2363
  object: z.ZodNumber;
2311
2364
  audio: z.ZodNumber;
2312
2365
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
2366
+ /**
2367
+ * The same histogram, for a SET of cameras, in one round trip.
2368
+ *
2369
+ * A multi-camera timeline (the tablet grid) re-asks this of every camera in
2370
+ * the grid on every day change — N browser → hub → post-analysis round
2371
+ * trips for N independent, already-indexed store queries. The queries are
2372
+ * unchanged and still run per camera (`densityByKind`, one per deviceId,
2373
+ * concurrently INSIDE the owner); only the transport collapses.
2374
+ *
2375
+ * Deliberately per-device rather than pre-merged: a timeline lane belongs
2376
+ * to a camera, and a caller that merged would have to un-merge.
2377
+ * `getEventDensity` stays for single-camera callers.
2378
+ *
2379
+ * Every requested id gets a row, marked — see
2380
+ * {@link EventDensityForDeviceSchema}. `deviceIds` is capped at
2381
+ * {@link EVENT_DENSITY_BATCH_MAX}, and an over-cap ask is refused rather
2382
+ * than truncated.
2383
+ */
2384
+ readonly getEventDensityBatch: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2385
+ deviceIds: z.ZodArray<z.ZodNumber>;
2386
+ since: z.ZodNumber;
2387
+ until: z.ZodNumber;
2388
+ bucketMs: z.ZodNumber;
2389
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
2390
+ deviceId: z.ZodNumber;
2391
+ read: z.ZodEnum<{
2392
+ read: "read";
2393
+ unreadable: "unreadable";
2394
+ }>;
2395
+ buckets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2396
+ bucketStart: z.ZodNumber;
2397
+ motion: z.ZodNumber;
2398
+ object: z.ZodNumber;
2399
+ audio: z.ZodNumber;
2400
+ }, z.core.$strip>>>;
2401
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
2313
2402
  /**
2314
2403
  * @deprecated Prefer `pruneTracksBefore` — the track is the ROOT of the
2315
2404
  * analytics model and retention must cascade from it (design §5.1). This
@@ -2521,6 +2610,7 @@ export declare const pipelineAnalyticsCapability: {
2521
2610
  retention: "retention";
2522
2611
  quota: "quota";
2523
2612
  maintenance: "maintenance";
2613
+ "orphaned-device": "orphaned-device";
2524
2614
  }>>;
2525
2615
  }, z.core.$strip>, z.ZodObject<{
2526
2616
  motion: z.ZodNumber;
@@ -2732,6 +2822,7 @@ export declare const pipelineAnalyticsCapability: {
2732
2822
  retention: "retention";
2733
2823
  quota: "quota";
2734
2824
  maintenance: "maintenance";
2825
+ "orphaned-device": "orphaned-device";
2735
2826
  }>;
2736
2827
  deviceId: z.ZodNullable<z.ZodNumber>;
2737
2828
  nodeId: z.ZodString;
@@ -348,8 +348,8 @@ declare const CameraStatusStageSchema: z.ZodEnum<{
348
348
  source: "source";
349
349
  broker: "broker";
350
350
  recording: "recording";
351
- detection: "detection";
352
351
  switches: "switches";
352
+ detection: "detection";
353
353
  }>;
354
354
  /**
355
355
  * WHY a stage could not be trusted.
@@ -372,8 +372,8 @@ declare const CameraStatusDegradationSchema: z.ZodObject<{
372
372
  source: "source";
373
373
  broker: "broker";
374
374
  recording: "recording";
375
- detection: "detection";
376
375
  switches: "switches";
376
+ detection: "detection";
377
377
  }>;
378
378
  reason: z.ZodEnum<{
379
379
  error: "error";
@@ -520,8 +520,8 @@ declare const CameraStatusSchema: z.ZodObject<{
520
520
  source: "source";
521
521
  broker: "broker";
522
522
  recording: "recording";
523
- detection: "detection";
524
523
  switches: "switches";
524
+ detection: "detection";
525
525
  }>;
526
526
  reason: z.ZodEnum<{
527
527
  error: "error";
@@ -1470,8 +1470,8 @@ export declare const pipelineOrchestratorCapability: {
1470
1470
  source: "source";
1471
1471
  broker: "broker";
1472
1472
  recording: "recording";
1473
- detection: "detection";
1474
1473
  switches: "switches";
1474
+ detection: "detection";
1475
1475
  }>;
1476
1476
  reason: z.ZodEnum<{
1477
1477
  error: "error";
@@ -1605,8 +1605,8 @@ export declare const pipelineOrchestratorCapability: {
1605
1605
  source: "source";
1606
1606
  broker: "broker";
1607
1607
  recording: "recording";
1608
- detection: "detection";
1609
1608
  switches: "switches";
1609
+ detection: "detection";
1610
1610
  }>;
1611
1611
  reason: z.ZodEnum<{
1612
1612
  error: "error";