@camstack/types 1.2.133 → 1.2.135

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
  /**
@@ -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';
@@ -70,6 +70,8 @@ export declare const NcSystemEventKindSchema: z.ZodEnum<{
70
70
  "device-offline": "device-offline";
71
71
  "device-disabled": "device-disabled";
72
72
  "device-enabled": "device-enabled";
73
+ "device-battery-low": "device-battery-low";
74
+ "device-battery-normal": "device-battery-normal";
73
75
  "stream-online": "stream-online";
74
76
  "stream-offline": "stream-offline";
75
77
  "node-online": "node-online";
@@ -123,6 +125,8 @@ export declare const NcSystemEventConditionSchema: z.ZodObject<{
123
125
  "device-offline": "device-offline";
124
126
  "device-disabled": "device-disabled";
125
127
  "device-enabled": "device-enabled";
128
+ "device-battery-low": "device-battery-low";
129
+ "device-battery-normal": "device-battery-normal";
126
130
  "stream-online": "stream-online";
127
131
  "stream-offline": "stream-offline";
128
132
  "node-online": "node-online";
@@ -597,6 +601,8 @@ export declare const NcConditionsSchema: z.ZodObject<{
597
601
  "device-offline": "device-offline";
598
602
  "device-disabled": "device-disabled";
599
603
  "device-enabled": "device-enabled";
604
+ "device-battery-low": "device-battery-low";
605
+ "device-battery-normal": "device-battery-normal";
600
606
  "stream-online": "stream-online";
601
607
  "stream-offline": "stream-offline";
602
608
  "node-online": "node-online";
@@ -881,6 +887,8 @@ export declare const NcRuleInputSchema: z.ZodObject<{
881
887
  "device-offline": "device-offline";
882
888
  "device-disabled": "device-disabled";
883
889
  "device-enabled": "device-enabled";
890
+ "device-battery-low": "device-battery-low";
891
+ "device-battery-normal": "device-battery-normal";
884
892
  "stream-online": "stream-online";
885
893
  "stream-offline": "stream-offline";
886
894
  "node-online": "node-online";
@@ -1229,6 +1237,8 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1229
1237
  "device-offline": "device-offline";
1230
1238
  "device-disabled": "device-disabled";
1231
1239
  "device-enabled": "device-enabled";
1240
+ "device-battery-low": "device-battery-low";
1241
+ "device-battery-normal": "device-battery-normal";
1232
1242
  "stream-online": "stream-online";
1233
1243
  "stream-offline": "stream-offline";
1234
1244
  "node-online": "node-online";
@@ -1394,6 +1404,8 @@ export declare const NcRuleSchema: z.ZodObject<{
1394
1404
  "device-offline": "device-offline";
1395
1405
  "device-disabled": "device-disabled";
1396
1406
  "device-enabled": "device-enabled";
1407
+ "device-battery-low": "device-battery-low";
1408
+ "device-battery-normal": "device-battery-normal";
1397
1409
  "stream-online": "stream-online";
1398
1410
  "stream-offline": "stream-offline";
1399
1411
  "node-online": "node-online";
@@ -1701,6 +1713,8 @@ export declare const NcHistorySubjectSchema: z.ZodObject<{
1701
1713
  "device-offline": "device-offline";
1702
1714
  "device-disabled": "device-disabled";
1703
1715
  "device-enabled": "device-enabled";
1716
+ "device-battery-low": "device-battery-low";
1717
+ "device-battery-normal": "device-battery-normal";
1704
1718
  "stream-online": "stream-online";
1705
1719
  "stream-offline": "stream-offline";
1706
1720
  "node-online": "node-online";
@@ -1784,6 +1798,8 @@ export declare const NcHistoryEntrySchema: z.ZodObject<{
1784
1798
  "device-offline": "device-offline";
1785
1799
  "device-disabled": "device-disabled";
1786
1800
  "device-enabled": "device-enabled";
1801
+ "device-battery-low": "device-battery-low";
1802
+ "device-battery-normal": "device-battery-normal";
1787
1803
  "stream-online": "stream-online";
1788
1804
  "stream-offline": "stream-offline";
1789
1805
  "node-online": "node-online";
@@ -2084,6 +2100,8 @@ export declare const notificationRulesCapability: {
2084
2100
  "device-offline": "device-offline";
2085
2101
  "device-disabled": "device-disabled";
2086
2102
  "device-enabled": "device-enabled";
2103
+ "device-battery-low": "device-battery-low";
2104
+ "device-battery-normal": "device-battery-normal";
2087
2105
  "stream-online": "stream-online";
2088
2106
  "stream-offline": "stream-offline";
2089
2107
  "node-online": "node-online";
@@ -2343,6 +2361,8 @@ export declare const notificationRulesCapability: {
2343
2361
  "device-offline": "device-offline";
2344
2362
  "device-disabled": "device-disabled";
2345
2363
  "device-enabled": "device-enabled";
2364
+ "device-battery-low": "device-battery-low";
2365
+ "device-battery-normal": "device-battery-normal";
2346
2366
  "stream-online": "stream-online";
2347
2367
  "stream-offline": "stream-offline";
2348
2368
  "node-online": "node-online";
@@ -2600,6 +2620,8 @@ export declare const notificationRulesCapability: {
2600
2620
  "device-offline": "device-offline";
2601
2621
  "device-disabled": "device-disabled";
2602
2622
  "device-enabled": "device-enabled";
2623
+ "device-battery-low": "device-battery-low";
2624
+ "device-battery-normal": "device-battery-normal";
2603
2625
  "stream-online": "stream-online";
2604
2626
  "stream-offline": "stream-offline";
2605
2627
  "node-online": "node-online";
@@ -2851,6 +2873,8 @@ export declare const notificationRulesCapability: {
2851
2873
  "device-offline": "device-offline";
2852
2874
  "device-disabled": "device-disabled";
2853
2875
  "device-enabled": "device-enabled";
2876
+ "device-battery-low": "device-battery-low";
2877
+ "device-battery-normal": "device-battery-normal";
2854
2878
  "stream-online": "stream-online";
2855
2879
  "stream-offline": "stream-offline";
2856
2880
  "node-online": "node-online";
@@ -3199,6 +3223,8 @@ export declare const notificationRulesCapability: {
3199
3223
  "device-offline": "device-offline";
3200
3224
  "device-disabled": "device-disabled";
3201
3225
  "device-enabled": "device-enabled";
3226
+ "device-battery-low": "device-battery-low";
3227
+ "device-battery-normal": "device-battery-normal";
3202
3228
  "stream-online": "stream-online";
3203
3229
  "stream-offline": "stream-offline";
3204
3230
  "node-online": "node-online";
@@ -3363,6 +3389,8 @@ export declare const notificationRulesCapability: {
3363
3389
  "device-offline": "device-offline";
3364
3390
  "device-disabled": "device-disabled";
3365
3391
  "device-enabled": "device-enabled";
3392
+ "device-battery-low": "device-battery-low";
3393
+ "device-battery-normal": "device-battery-normal";
3366
3394
  "stream-online": "stream-online";
3367
3395
  "stream-offline": "stream-offline";
3368
3396
  "node-online": "node-online";
@@ -3668,6 +3696,8 @@ export declare const notificationRulesCapability: {
3668
3696
  "device-offline": "device-offline";
3669
3697
  "device-disabled": "device-disabled";
3670
3698
  "device-enabled": "device-enabled";
3699
+ "device-battery-low": "device-battery-low";
3700
+ "device-battery-normal": "device-battery-normal";
3671
3701
  "stream-online": "stream-online";
3672
3702
  "stream-offline": "stream-offline";
3673
3703
  "node-online": "node-online";
@@ -4020,6 +4050,8 @@ export declare const notificationRulesCapability: {
4020
4050
  "device-offline": "device-offline";
4021
4051
  "device-disabled": "device-disabled";
4022
4052
  "device-enabled": "device-enabled";
4053
+ "device-battery-low": "device-battery-low";
4054
+ "device-battery-normal": "device-battery-normal";
4023
4055
  "stream-online": "stream-online";
4024
4056
  "stream-offline": "stream-offline";
4025
4057
  "node-online": "node-online";
@@ -149,6 +149,8 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
149
149
  "device-offline": "device-offline";
150
150
  "device-disabled": "device-disabled";
151
151
  "device-enabled": "device-enabled";
152
+ "device-battery-low": "device-battery-low";
153
+ "device-battery-normal": "device-battery-normal";
152
154
  "stream-online": "stream-online";
153
155
  "stream-offline": "stream-offline";
154
156
  "node-online": "node-online";
@@ -314,6 +316,8 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
314
316
  "device-offline": "device-offline";
315
317
  "device-disabled": "device-disabled";
316
318
  "device-enabled": "device-enabled";
319
+ "device-battery-low": "device-battery-low";
320
+ "device-battery-normal": "device-battery-normal";
317
321
  "stream-online": "stream-online";
318
322
  "stream-offline": "stream-offline";
319
323
  "node-online": "node-online";
@@ -551,6 +555,8 @@ export declare const osdManagerCapability: {
551
555
  "device-offline": "device-offline";
552
556
  "device-disabled": "device-disabled";
553
557
  "device-enabled": "device-enabled";
558
+ "device-battery-low": "device-battery-low";
559
+ "device-battery-normal": "device-battery-normal";
554
560
  "stream-online": "stream-online";
555
561
  "stream-offline": "stream-offline";
556
562
  "node-online": "node-online";
@@ -805,6 +811,8 @@ export declare const osdManagerCapability: {
805
811
  "device-offline": "device-offline";
806
812
  "device-disabled": "device-disabled";
807
813
  "device-enabled": "device-enabled";
814
+ "device-battery-low": "device-battery-low";
815
+ "device-battery-normal": "device-battery-normal";
808
816
  "stream-online": "stream-online";
809
817
  "stream-offline": "stream-offline";
810
818
  "node-online": "node-online";
@@ -969,6 +977,8 @@ export declare const osdManagerCapability: {
969
977
  "device-offline": "device-offline";
970
978
  "device-disabled": "device-disabled";
971
979
  "device-enabled": "device-enabled";
980
+ "device-battery-low": "device-battery-low";
981
+ "device-battery-normal": "device-battery-normal";
972
982
  "stream-online": "stream-online";
973
983
  "stream-offline": "stream-offline";
974
984
  "node-online": "node-online";
@@ -1165,6 +1175,8 @@ export declare const osdManagerCapability: {
1165
1175
  "device-offline": "device-offline";
1166
1176
  "device-disabled": "device-disabled";
1167
1177
  "device-enabled": "device-enabled";
1178
+ "device-battery-low": "device-battery-low";
1179
+ "device-battery-normal": "device-battery-normal";
1168
1180
  "stream-online": "stream-online";
1169
1181
  "stream-offline": "stream-offline";
1170
1182
  "node-online": "node-online";
@@ -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
@@ -41,6 +41,65 @@ export declare const RecordingDaysSchema: z.ZodObject<{
41
41
  days: z.ZodArray<z.ZodNumber>;
42
42
  }, z.core.$strip>;
43
43
  export type RecordingDays = z.infer<typeof RecordingDaysSchema>;
44
+ /**
45
+ * Most cameras one `getAvailabilityBatch` / `getDaysWithRecordingsBatch` may
46
+ * name.
47
+ *
48
+ * Matches the ceiling the per-camera batches elsewhere in the system carry
49
+ * (`pipelineAnalytics.getKeyEventsBatch`, `sceneMonitor.listScenesBatch`): a
50
+ * grid is tens of cameras, never hundreds, and each id costs the recorder one
51
+ * calendar walk whose answer crosses a process boundary.
52
+ *
53
+ * The ceiling is on the SCHEMA. An over-eager ask is REFUSED, never truncated
54
+ * to the first {@link RECORDING_TIMELINE_BATCH_MAX} ids — a truncated answer
55
+ * looks exactly like a complete one, and the caller would draw an empty
56
+ * timeline for the cameras it never learned were dropped.
57
+ */
58
+ export declare const RECORDING_TIMELINE_BATCH_MAX = 200;
59
+ /**
60
+ * One camera's row in a `getAvailabilityBatch` answer.
61
+ *
62
+ * `ranges` is EXACTLY what `getAvailability` returns for that camera — the
63
+ * batch collapses the transport, not the work — plus the one thing the singular
64
+ * method never had to say:
65
+ *
66
+ * - `read: 'read'` — answered. `ranges: []` means "read, and this camera has
67
+ * no footage in the window", which is a real claim.
68
+ * - `read: 'unreadable'` — the recorder could not answer for this camera (its
69
+ * calendar rung threw, its location is unmounted). `ranges` is empty and
70
+ * that emptiness means NOTHING.
71
+ *
72
+ * A timeline that renders the second as the first tells an operator there is no
73
+ * footage when the truth is that nobody looked.
74
+ */
75
+ export declare const RecordingAvailabilityForDeviceSchema: z.ZodObject<{
76
+ deviceId: z.ZodNumber;
77
+ read: z.ZodEnum<{
78
+ read: "read";
79
+ unreadable: "unreadable";
80
+ }>;
81
+ ranges: z.ZodReadonly<z.ZodArray<z.ZodObject<{
82
+ profile: z.ZodString;
83
+ startMs: z.ZodNumber;
84
+ endMs: z.ZodNumber;
85
+ }, z.core.$strip>>>;
86
+ }, z.core.$strip>;
87
+ export type RecordingAvailabilityForDevice = z.infer<typeof RecordingAvailabilityForDeviceSchema>;
88
+ /**
89
+ * One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
90
+ * {@link RecordingAvailabilityForDeviceSchema}: `days: []` on a `'read'` row is
91
+ * "no footage in this month", `read: 'unreadable'` is "nobody could look", and
92
+ * the date-picker's day dots must not spell them the same.
93
+ */
94
+ export declare const RecordingDaysForDeviceSchema: z.ZodObject<{
95
+ deviceId: z.ZodNumber;
96
+ read: z.ZodEnum<{
97
+ read: "read";
98
+ unreadable: "unreadable";
99
+ }>;
100
+ days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
101
+ }, z.core.$strip>;
102
+ export type RecordingDaysForDevice = z.infer<typeof RecordingDaysForDeviceSchema>;
44
103
  export declare const RecordingManifestSchema: z.ZodObject<{
45
104
  deviceId: z.ZodNumber;
46
105
  localMasterPath: z.ZodNullable<z.ZodString>;
@@ -298,6 +357,40 @@ export declare const recordingCapability: {
298
357
  endMs: z.ZodNumber;
299
358
  }, z.core.$strip>>;
300
359
  }, z.core.$strip>, "query">;
360
+ /**
361
+ * `getAvailability` for a SET of cameras, in one round trip.
362
+ *
363
+ * A multi-camera timeline re-asks availability for every camera in the grid
364
+ * on every day change; fanned out that is one request per camera for N
365
+ * independent calendar walks. The per-camera work is IDENTICAL (the same
366
+ * `availabilityProfileFor` + `rangesIn`, run concurrently inside the
367
+ * recorder) — only the transport collapses.
368
+ *
369
+ * `protected` for the same reason the singular method is: every id in
370
+ * `deviceIds` is a device reference, so the F1 #3 gate refuses any camera
371
+ * outside the caller's scope — one id out of scope refuses the CALL, it
372
+ * does not quietly drop a row.
373
+ *
374
+ * Every requested id gets a row, marked — see
375
+ * {@link RecordingAvailabilityForDeviceSchema}. `deviceIds` is capped at
376
+ * {@link RECORDING_TIMELINE_BATCH_MAX} and an over-cap ask is refused.
377
+ */
378
+ readonly getAvailabilityBatch: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
379
+ deviceIds: z.ZodArray<z.ZodNumber>;
380
+ fromMs: z.ZodNumber;
381
+ toMs: z.ZodNumber;
382
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
383
+ deviceId: z.ZodNumber;
384
+ read: z.ZodEnum<{
385
+ read: "read";
386
+ unreadable: "unreadable";
387
+ }>;
388
+ ranges: z.ZodReadonly<z.ZodArray<z.ZodObject<{
389
+ profile: z.ZodString;
390
+ startMs: z.ZodNumber;
391
+ endMs: z.ZodNumber;
392
+ }, z.core.$strip>>>;
393
+ }, z.core.$strip>>>, "query">;
301
394
  /** Which calendar days in [fromMs,toMs) have ≥1 recorded segment, bucketed by
302
395
  * the client's local day (`tzOffsetMinutes` = minutes to add to UTC). Drives
303
396
  * the theater date-picker's day dots. */
@@ -310,6 +403,30 @@ export declare const recordingCapability: {
310
403
  deviceId: z.ZodNumber;
311
404
  days: z.ZodArray<z.ZodNumber>;
312
405
  }, z.core.$strip>, "query">;
406
+ /**
407
+ * `getDaysWithRecordings` for a SET of cameras, in one round trip.
408
+ *
409
+ * The cheapest question in the product, asked once per camera per month
410
+ * change. One directory read per day per camera at the owner, unchanged;
411
+ * what collapses is the N requests it took to ask.
412
+ *
413
+ * Every requested id gets a row, marked — see
414
+ * {@link RecordingDaysForDeviceSchema}. `deviceIds` is capped at
415
+ * {@link RECORDING_TIMELINE_BATCH_MAX} and an over-cap ask is refused.
416
+ */
417
+ readonly getDaysWithRecordingsBatch: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
418
+ deviceIds: z.ZodArray<z.ZodNumber>;
419
+ fromMs: z.ZodNumber;
420
+ toMs: z.ZodNumber;
421
+ tzOffsetMinutes: z.ZodNumber;
422
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
423
+ deviceId: z.ZodNumber;
424
+ read: z.ZodEnum<{
425
+ read: "read";
426
+ unreadable: "unreadable";
427
+ }>;
428
+ days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
429
+ }, z.core.$strip>>>, "query">;
313
430
  readonly getPlaybackManifest: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
314
431
  deviceId: z.ZodNumber;
315
432
  fromMs: z.ZodNumber;
@@ -5009,6 +5009,13 @@ export type AppRouter = TrpcCoreRouter<{
5009
5009
  output: z.infer<typeof pipelineAnalyticsCapability.methods.getEventDensity.output>;
5010
5010
  meta: object;
5011
5011
  }>;
5012
+ getEventDensityBatch: TRPCQueryProcedure<{
5013
+ input: {
5014
+ [x: string]: unknown;
5015
+ } & z.input<typeof pipelineAnalyticsCapability.methods.getEventDensityBatch.input>;
5016
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.getEventDensityBatch.output>;
5017
+ meta: object;
5018
+ }>;
5012
5019
  pruneEventsBefore: TRPCMutationProcedure<{
5013
5020
  input: {
5014
5021
  [x: string]: unknown;
@@ -6452,6 +6459,13 @@ export type AppRouter = TrpcCoreRouter<{
6452
6459
  output: z.infer<typeof recordingCapability.methods.getAvailability.output>;
6453
6460
  meta: object;
6454
6461
  }>;
6462
+ getAvailabilityBatch: TRPCQueryProcedure<{
6463
+ input: {
6464
+ [x: string]: unknown;
6465
+ } & z.input<typeof recordingCapability.methods.getAvailabilityBatch.input>;
6466
+ output: z.infer<typeof recordingCapability.methods.getAvailabilityBatch.output>;
6467
+ meta: object;
6468
+ }>;
6455
6469
  getDaysWithRecordings: TRPCQueryProcedure<{
6456
6470
  input: {
6457
6471
  [x: string]: unknown;
@@ -6459,6 +6473,13 @@ export type AppRouter = TrpcCoreRouter<{
6459
6473
  output: z.infer<typeof recordingCapability.methods.getDaysWithRecordings.output>;
6460
6474
  meta: object;
6461
6475
  }>;
6476
+ getDaysWithRecordingsBatch: TRPCQueryProcedure<{
6477
+ input: {
6478
+ [x: string]: unknown;
6479
+ } & z.input<typeof recordingCapability.methods.getDaysWithRecordingsBatch.input>;
6480
+ output: z.infer<typeof recordingCapability.methods.getDaysWithRecordingsBatch.output>;
6481
+ meta: object;
6482
+ }>;
6462
6483
  getPlaybackManifest: TRPCQueryProcedure<{
6463
6484
  input: {
6464
6485
  [x: string]: unknown;
@@ -9769,7 +9790,11 @@ export type AppRouter = TrpcCoreRouter<{
9769
9790
  nodeId: string;
9770
9791
  };
9771
9792
  output: {
9772
- success: boolean;
9793
+ forgotten: boolean;
9794
+ historyRemoved: boolean;
9795
+ registryRemoved: boolean;
9796
+ stillListed: boolean;
9797
+ message: string;
9773
9798
  };
9774
9799
  meta: object;
9775
9800
  }>;
@@ -9788,7 +9813,11 @@ export type AppRouter = TrpcCoreRouter<{
9788
9813
  nodeId: string;
9789
9814
  };
9790
9815
  output: {
9791
- success: boolean;
9816
+ forgotten: boolean;
9817
+ historyRemoved: boolean;
9818
+ registryRemoved: boolean;
9819
+ stillListed: boolean;
9820
+ message: string;
9792
9821
  };
9793
9822
  meta: object;
9794
9823
  }>;
@@ -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: 999 method paths across 126 capabilities.
9
+ * Coverage: 1002 method paths across 126 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: 351 methods carry a device reference, of which
10
- * 131 are on SYSTEM-scope caps.
9
+ * Coverage: 354 methods carry a device reference, of which
10
+ * 133 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
@@ -87,7 +87,7 @@ export interface SystemProxy {
87
87
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
88
88
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
89
89
  readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
90
- readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
90
+ readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getAvailabilityBatch' | 'getDaysWithRecordingsBatch' | 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
91
91
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'createExport' | 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl' | 'readExportBytes'>;
92
92
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'rollbackServerUpdate' | 'restartServer'>;
93
93
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'insert' | 'insertMany' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;