@camstack/types 1.2.162 → 1.2.164

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/addon.js +4 -3
  2. package/dist/addon.mjs +4 -3
  3. package/dist/capabilities/alerts.cap.d.ts +5 -5
  4. package/dist/capabilities/index.d.ts +7 -5
  5. package/dist/capabilities/motion.cap.d.ts +2 -0
  6. package/dist/capabilities/notifier.cap.d.ts +3 -3
  7. package/dist/capabilities/pet-feeder.cap.d.ts +4 -4
  8. package/dist/capabilities/pipeline-runner.cap.d.ts +19 -0
  9. package/dist/capabilities/snapshot.cap.d.ts +2 -2
  10. package/dist/capabilities/storage-occupancy.cap.d.ts +72 -0
  11. package/dist/capabilities/storage-provider.cap.d.ts +110 -0
  12. package/dist/capabilities/storage.cap.d.ts +43 -0
  13. package/dist/capabilities/stream-broker.cap.d.ts +1 -1
  14. package/dist/device/device-profile.d.ts +1 -1
  15. package/dist/enums/event-category.d.ts +13 -0
  16. package/dist/enums.js +1 -1
  17. package/dist/enums.mjs +1 -1
  18. package/dist/{event-category-b8kBSOTT.js → event-category-BVo6ta6_.js} +13 -0
  19. package/dist/{event-category-zAv7pMUz.mjs → event-category-CnLqLOKs.mjs} +13 -0
  20. package/dist/generated/addon-api.d.ts +22 -0
  21. package/dist/generated/capability-router-map.d.ts +5 -2
  22. package/dist/generated/collection-array-methods.d.ts +1 -1
  23. package/dist/generated/method-access-map.d.ts +1 -1
  24. package/dist/generated/system-proxy.d.ts +1 -1
  25. package/dist/index.d.ts +4 -2
  26. package/dist/index.js +914 -561
  27. package/dist/index.mjs +895 -562
  28. package/dist/interfaces/event-bus.d.ts +23 -2
  29. package/dist/interfaces/storage-location-mode.d.ts +135 -0
  30. package/dist/interfaces/storage-location.d.ts +54 -6
  31. package/dist/interfaces/stream-broker.d.ts +15 -0
  32. package/dist/node.d.ts +13 -11
  33. package/dist/node.js +935 -876
  34. package/dist/node.mjs +936 -879
  35. package/dist/{sleep-DDIFZGbc.js → sleep-BZtO-eFY.js} +1 -1
  36. package/dist/{sleep-Cfij6Jj9.mjs → sleep-Bd-Y4RUt.mjs} +1 -1
  37. package/dist/storage/physical-root.d.ts +25 -0
  38. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_event_category = require("./event-category-b8kBSOTT.js");
3
- const require_sleep = require("./sleep-DDIFZGbc.js");
2
+ const require_event_category = require("./event-category-BVo6ta6_.js");
3
+ const require_sleep = require("./sleep-BZtO-eFY.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
@@ -287,7 +287,7 @@ function materialise(defaults) {
287
287
  * barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
288
288
  * forked runner. See docs/decisions/adr-0028.md.
289
289
  *
290
- * Coverage: 20 collection caps, 33 array methods.
290
+ * Coverage: 21 collection caps, 34 array methods.
291
291
  */
292
292
  var COLLECTION_ARRAY_METHODS = Object.freeze({
293
293
  "addon-pages-source": ["listPages"],
@@ -320,6 +320,7 @@ var COLLECTION_ARRAY_METHODS = Object.freeze({
320
320
  "listTargetKinds",
321
321
  "listTargets"
322
322
  ],
323
+ "storage-occupancy": ["getOccupancy"],
323
324
  "storage-provider": ["list"],
324
325
  "turn-provider": ["getTurnServers"],
325
326
  "user-passkeys": ["listPasskeys"]
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
2
- import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-Cfij6Jj9.mjs";
1
+ import { t as EventCategory } from "./event-category-CnLqLOKs.mjs";
2
+ import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-Bd-Y4RUt.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -286,7 +286,7 @@ function materialise(defaults) {
286
286
  * barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
287
287
  * forked runner. See docs/decisions/adr-0028.md.
288
288
  *
289
- * Coverage: 20 collection caps, 33 array methods.
289
+ * Coverage: 21 collection caps, 34 array methods.
290
290
  */
291
291
  var COLLECTION_ARRAY_METHODS = Object.freeze({
292
292
  "addon-pages-source": ["listPages"],
@@ -319,6 +319,7 @@ var COLLECTION_ARRAY_METHODS = Object.freeze({
319
319
  "listTargetKinds",
320
320
  "listTargets"
321
321
  ],
322
+ "storage-occupancy": ["getOccupancy"],
322
323
  "storage-provider": ["list"],
323
324
  "turn-provider": ["getTurnServers"],
324
325
  "user-passkeys": ["listPasskeys"]
@@ -15,8 +15,8 @@ export declare const AlertSeveritySchema: z.ZodEnum<{
15
15
  }>;
16
16
  export declare const AlertStatusSchema: z.ZodEnum<{
17
17
  failed: "failed";
18
- completed: "completed";
19
18
  active: "active";
19
+ completed: "completed";
20
20
  "in-progress": "in-progress";
21
21
  dismissed: "dismissed";
22
22
  }>;
@@ -37,8 +37,8 @@ export declare const AlertSchema: z.ZodObject<{
37
37
  message: z.ZodString;
38
38
  status: z.ZodEnum<{
39
39
  failed: "failed";
40
- completed: "completed";
41
40
  active: "active";
41
+ completed: "completed";
42
42
  "in-progress": "in-progress";
43
43
  dismissed: "dismissed";
44
44
  }>;
@@ -73,8 +73,8 @@ export declare const alertsCapability: {
73
73
  message: z.ZodString;
74
74
  status: z.ZodEnum<{
75
75
  failed: "failed";
76
- completed: "completed";
77
76
  active: "active";
77
+ completed: "completed";
78
78
  "in-progress": "in-progress";
79
79
  dismissed: "dismissed";
80
80
  }>;
@@ -103,8 +103,8 @@ export declare const alertsCapability: {
103
103
  message: z.ZodOptional<z.ZodString>;
104
104
  status: z.ZodOptional<z.ZodEnum<{
105
105
  failed: "failed";
106
- completed: "completed";
107
106
  active: "active";
107
+ completed: "completed";
108
108
  "in-progress": "in-progress";
109
109
  dismissed: "dismissed";
110
110
  }>>;
@@ -135,8 +135,8 @@ export declare const alertsCapability: {
135
135
  message: z.ZodString;
136
136
  status: z.ZodEnum<{
137
137
  failed: "failed";
138
- completed: "completed";
139
138
  active: "active";
139
+ completed: "completed";
140
140
  "in-progress": "in-progress";
141
141
  dismissed: "dismissed";
142
142
  }>;
@@ -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, 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, MAX_TRACK_DEBUG_NOTE_LEN, 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, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, SummarySchema, type Summary, type SummariesPage, type SummaryDetail, } 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, MAX_TRACK_DEBUG_NOTE_LEN, 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, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, type SummariesPage, type Summary, type SummaryDetail, SummarySchema, 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';
@@ -104,6 +104,7 @@ export { SsoBridgeClaimsSchema, ssoBridgeCapability } from './sso-bridge.cap.js'
104
104
  export { type IStorageCapProvider, StorageLocationTypeSchema, storageCapability, } from './storage.cap.js';
105
105
  export { type EvictableUsage, type EvictResult, type IStorageEvictableProvider, storageEvictableCapability, } from './storage-evictable.cap.js';
106
106
  export { type IStorageMigrationProvider, storageMigrationCapability, } from './storage-migration.cap.js';
107
+ export { type IStorageOccupancyProvider, type StorageOccupancyReport, StorageOccupancyReportSchema, storageOccupancyCapability, } from './storage-occupancy.cap.js';
107
108
  export { AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, type IStorageProviderImpl, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, storageProviderCapability, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, } from './storage-provider.cap.js';
108
109
  export type { AudioCodecTarget, BrokerAudioClient, BrokerClients, BrokerConsumerAttribution, BrokerConsumerKind, BrokerDecodedClient, BrokerEncodedClient, BrokerRtspClient, GetStreamWithCodecInput, PlaceholderReason, RtpSource, VideoCodecTarget, } from './stream-broker.cap.js';
109
110
  export { BrokerAudioClientSchema, BrokerClientsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, BrokerRtspClientSchema, type EgressEncode, EgressEncodeSchema, type EgressRateControl, EgressRateControlSchema, type EgressTranscode, type EgressTranscodeRequest, EgressTranscodeRequestSchema, EgressTranscodeSchema, type EventMediaArtifact, EventMediaArtifactSchema, type EventMediaCoverage, EventMediaCoverageSchema, type EventMediaKind, EventMediaKindSchema, type EventMediaProduction, EventMediaProductionSchema, GetStreamWithCodecInputSchema, PlaceholderReasonSchema, RtpSourceSchema, RtspRestreamEntrySchema, type StreamBrokerClient, type StreamFormat, StreamFormatSchema, streamBrokerCapability, } from './stream-broker.cap.js';
@@ -127,7 +128,6 @@ export { type AmbientLightSensorStatus, AmbientLightSensorStatusSchema, ambientL
127
128
  export { type AudioClassSummary, AudioClassSummarySchema, type AudioMetricsHistory, type AudioMetricsHistoryPoint, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, type AudioMetricsSnapshot, AudioMetricsSnapshotSchema, audioMetricsCapability, type IAudioMetricsProvider, } from './audio-metrics.cap.js';
128
129
  export { type AutomationControlStatus, AutomationControlStatusSchema, automationControlCapability, type IAutomationControlProvider, } from './automation-control.cap.js';
129
130
  export { type BatteryStatus, BatteryStatusSchema, batteryCapability, type IBatteryProvider, } from './battery.cap.js';
130
- export { NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, type NetworkLinkType, type NetworkLinkStatus, NetworkLinkStatusSchema, networkLinkCapability, type INetworkLinkProvider, signalPercentFromBars, signalPercentFromRssi, } from './network-link.cap.js';
131
131
  export { type BinaryStatus, BinaryStatusSchema, binaryCapability, type IBinaryProvider, } from './binary.cap.js';
132
132
  export { type BrightnessStatus, BrightnessStatusSchema, brightnessCapability, type IBrightnessProvider, } from './brightness.cap.js';
133
133
  export { buttonCapability, type IButtonProvider } from './button.cap.js';
@@ -170,6 +170,8 @@ export { type IMotionProvider, type MotionOnMotionChangedData, MotionOnMotionCha
170
170
  export { type IMotionTriggerProvider, type MotionTriggerRuntimeState, MotionTriggerRuntimeStateSchema, type MotionTriggerStatus, MotionTriggerStatusSchema, motionTriggerCapability, } from './motion-trigger.cap.js';
171
171
  export { type IMotionZonesProvider, type MotionZoneOptions, MotionZoneOptionsSchema, type MotionZonePatch, MotionZonePatchSchema, type MotionZoneRegion, MotionZoneRegionSchema, type MotionZoneStatus, MotionZoneStatusSchema, motionZonesCapability, } from './motion-zones.cap.js';
172
172
  export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetectionSchema, type NativeObjectClass, NativeObjectClassEnum, type NativeObjectDetectionRuntimeState, NativeObjectDetectionRuntimeStateSchema, type NativeObjectDetectionStatus, NativeObjectDetectionStatusSchema, nativeObjectDetectionCapability, } from './native-object-detection.cap.js';
173
+ export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, type NavigationActionEntry, NavigationActionEntrySchema, type NavigationActionId, NavigationActionIdSchema, type NavigationEntryKind, NavigationEntryKindSchema, type NavigationFeatures, NavigationFeaturesSchema, type NavigationLightMode, NavigationLightModeSchema, type NavigationMode, NavigationModeSchema, type NavigationMoveCommand, NavigationMoveCommandSchema, type NavigationPoint, NavigationPointSchema, type NavigationRuntimeState, NavigationRuntimeStateSchema, type NavigationStatus, NavigationStatusSchema, navigationCapability, } from './navigation.cap.js';
174
+ export { type INetworkLinkProvider, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, type NetworkLinkStatus, NetworkLinkStatusSchema, type NetworkLinkType, networkLinkCapability, signalPercentFromBars, signalPercentFromRssi, } from './network-link.cap.js';
173
175
  export { ClientNetworkStatsSchema, DeviceNetworkStatsSchema, type INetworkQualityProvider, networkQualityCapability, StreamNetworkStatsSchema, } from './network-quality.cap.js';
174
176
  export { ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, type INodesProvider, nodesCapability, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, } from './nodes.cap.js';
175
177
  export { type INotifierProvider, type NotifierAction, type NotifierPriority, type NotifierSendInput, type NotifierSendResult, type NotifierStatus, NotifierStatusSchema, type NotifierSupports, notifierCapability, } from './notifier.cap.js';
@@ -185,7 +187,6 @@ export { type IPressureSensorProvider, type PressureSensorStatus, PressureSensor
185
187
  export { type IPrivacyMaskProvider, type PrivacyMaskOptions, PrivacyMaskOptionsSchema, type PrivacyMaskPatch, PrivacyMaskPatchSchema, type PrivacyMaskRegion, PrivacyMaskRegionSchema, type PrivacyMaskShape, PrivacyMaskShapeSchema, type PrivacyMaskStatus, PrivacyMaskStatusSchema, privacyMaskCapability, summarisePrivacyAudio, } from './privacy-mask.cap.js';
186
188
  export { type IPtzProvider, PtzMoveCommandSchema, type PtzOptions, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, type PtzStatus, PtzStatusSchema, ptzCapability, } from './ptz.cap.js';
187
189
  export { type IPtzAutotrackProvider, type PtzAutotrackRuntimeState, PtzAutotrackRuntimeStateSchema, type PtzAutotrackSettings, PtzAutotrackSettingsSchema, type PtzAutotrackStatus, PtzAutotrackStatusSchema, type PtzAutotrackTargetOption, PtzAutotrackTargetOptionSchema, ptzAutotrackCapability, } from './ptz-autotrack.cap.js';
188
- export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, type NavigationActionEntry, NavigationActionEntrySchema, type NavigationActionId, NavigationActionIdSchema, navigationCapability, type NavigationEntryKind, NavigationEntryKindSchema, type NavigationFeatures, NavigationFeaturesSchema, type NavigationLightMode, NavigationLightModeSchema, type NavigationMode, NavigationModeSchema, type NavigationMoveCommand, NavigationMoveCommandSchema, type NavigationPoint, NavigationPointSchema, type NavigationRuntimeState, NavigationRuntimeStateSchema, type NavigationStatus, NavigationStatusSchema, } from './navigation.cap.js';
189
190
  export { type IRebootProvider, rebootCapability } from './reboot.cap.js';
190
191
  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';
191
192
  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';
@@ -234,7 +235,6 @@ import type { authProviderCapability } from './auth-provider.cap.js';
234
235
  import type { automationControlCapability } from './automation-control.cap.js';
235
236
  import type { backupCapability } from './backup.cap.js';
236
237
  import type { batteryCapability } from './battery.cap.js';
237
- import type { networkLinkCapability } from './network-link.cap.js';
238
238
  import type { binaryCapability } from './binary.cap.js';
239
239
  import type { brightnessCapability } from './brightness.cap.js';
240
240
  import type { brokerCapability } from './broker.cap.js';
@@ -305,6 +305,7 @@ import type { mqttBrokerCapability } from './mqtt-broker.cap.js';
305
305
  import type { nativeObjectDetectionCapability } from './native-object-detection.cap.js';
306
306
  import type { navigationCapability } from './navigation.cap.js';
307
307
  import type { networkAccessCapability } from './network-access.cap.js';
308
+ import type { networkLinkCapability } from './network-link.cap.js';
308
309
  import type { networkQualityCapability } from './network-quality.cap.js';
309
310
  import type { nodesCapability } from './nodes.cap.js';
310
311
  import type { notificationOutputCapability } from './notification-output.cap.js';
@@ -342,6 +343,7 @@ import type { ssoBridgeCapability } from './sso-bridge.cap.js';
342
343
  import type { storageCapability } from './storage.cap.js';
343
344
  import type { storageEvictableCapability } from './storage-evictable.cap.js';
344
345
  import type { storageMigrationCapability } from './storage-migration.cap.js';
346
+ import type { storageOccupancyCapability } from './storage-occupancy.cap.js';
345
347
  import type { storageProviderCapability } from './storage-provider.cap.js';
346
348
  import type { streamBrokerCapability } from './stream-broker.cap.js';
347
349
  import type { streamCatalogCapability } from './stream-catalog.cap.js';
@@ -368,6 +370,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
368
370
  import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
369
371
  import type { zoneRulesCapability } from './zone-rules.cap.js';
370
372
  import type { zonesCapability } from './zones.cap.js';
371
- type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability;
373
+ type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability;
372
374
  export type CapabilityName = AnyCapability['name'];
373
375
  export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
@@ -32,6 +32,7 @@ export declare const MotionOnMotionChangedDataSchema: z.ZodObject<{
32
32
  source: z.ZodEnum<{
33
33
  onboard: "onboard";
34
34
  analyzer: "analyzer";
35
+ "device-activity": "device-activity";
35
36
  }>;
36
37
  regions: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
37
38
  bbox: z.ZodObject<{
@@ -96,6 +97,7 @@ export declare const motionCapability: {
96
97
  source: z.ZodEnum<{
97
98
  onboard: "onboard";
98
99
  analyzer: "analyzer";
100
+ "device-activity": "device-activity";
99
101
  }>;
100
102
  regions: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
101
103
  bbox: z.ZodObject<{
@@ -24,8 +24,8 @@ import { DeviceType } from '../device/device-type.js';
24
24
  declare const NotifierPrioritySchema: z.ZodEnum<{
25
25
  high: "high";
26
26
  low: "low";
27
- min: "min";
28
27
  normal: "normal";
28
+ min: "min";
29
29
  }>;
30
30
  export type NotifierPriority = z.infer<typeof NotifierPrioritySchema>;
31
31
  declare const NotifierActionSchema: z.ZodObject<{
@@ -64,8 +64,8 @@ declare const NotifierSendInputSchema: z.ZodObject<{
64
64
  priority: z.ZodOptional<z.ZodEnum<{
65
65
  high: "high";
66
66
  low: "low";
67
- min: "min";
68
67
  normal: "normal";
68
+ min: "min";
69
69
  }>>;
70
70
  channel: z.ZodOptional<z.ZodString>;
71
71
  recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -98,8 +98,8 @@ export declare const notifierCapability: {
98
98
  priority: z.ZodOptional<z.ZodEnum<{
99
99
  high: "high";
100
100
  low: "low";
101
- min: "min";
102
101
  normal: "normal";
102
+ min: "min";
103
103
  }>>;
104
104
  channel: z.ZodOptional<z.ZodString>;
105
105
  recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -39,8 +39,8 @@ export declare const PET_FEEDER_MANUAL_FEED_MAX = 200;
39
39
  * `on_batteries` (running on battery backup). `null` until first reported.
40
40
  */
41
41
  export declare const PetFeederDeviceStatusSchema: z.ZodEnum<{
42
- offline: "offline";
43
42
  normal: "normal";
43
+ offline: "offline";
44
44
  on_batteries: "on_batteries";
45
45
  }>;
46
46
  export type PetFeederDeviceStatus = z.infer<typeof PetFeederDeviceStatusSchema>;
@@ -53,8 +53,8 @@ export declare const PetFeederStatusSchema: z.ZodObject<{
53
53
  desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
54
54
  feeding: z.ZodBoolean;
55
55
  status: z.ZodNullable<z.ZodEnum<{
56
- offline: "offline";
57
56
  normal: "normal";
57
+ offline: "offline";
58
58
  on_batteries: "on_batteries";
59
59
  }>>;
60
60
  error: z.ZodNullable<z.ZodString>;
@@ -139,8 +139,8 @@ export declare const petFeederCapability: {
139
139
  desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
140
140
  feeding: z.ZodBoolean;
141
141
  status: z.ZodNullable<z.ZodEnum<{
142
- offline: "offline";
143
142
  normal: "normal";
143
+ offline: "offline";
144
144
  on_batteries: "on_batteries";
145
145
  }>>;
146
146
  error: z.ZodNullable<z.ZodString>;
@@ -168,8 +168,8 @@ export declare const petFeederCapability: {
168
168
  desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
169
169
  feeding: z.ZodBoolean;
170
170
  status: z.ZodNullable<z.ZodEnum<{
171
- offline: "offline";
172
171
  normal: "normal";
172
+ offline: "offline";
173
173
  on_batteries: "on_batteries";
174
174
  }>>;
175
175
  error: z.ZodNullable<z.ZodString>;
@@ -93,10 +93,24 @@ export type StatelessStepRefusal = z.infer<typeof StatelessStepRefusalSchema>;
93
93
  * (analyzer attaches detected `regions[]`; onboard does not — the
94
94
  * camera typically only reports a binary signal plus an optional
95
95
  * channel/AI class which lives in dedicated event channels).
96
+ *
97
+ * - `onboard` — the camera's firmware said something moved.
98
+ * - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
99
+ * - `device-activity` — the DEVICE said it is doing its job: the
100
+ * `recording-signal` LEVEL the same device raises for the recorder
101
+ * ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
102
+ * republished as a motion source. It attaches **nothing** — no regions, no
103
+ * class: the only fact it carries is that the device is active, and a robot
104
+ * vacuum that is itself the moving object has no region worth sending. It is
105
+ * a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
106
+ * `analyzer` it must not open the frame-diff side-channel — the runner's
107
+ * `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
108
+ * way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
96
109
  */
97
110
  export declare const MotionSourceEnum: z.ZodEnum<{
98
111
  onboard: "onboard";
99
112
  analyzer: "analyzer";
113
+ "device-activity": "device-activity";
100
114
  }>;
101
115
  export type MotionSource = z.infer<typeof MotionSourceEnum>;
102
116
  /**
@@ -116,6 +130,7 @@ export type MotionSource = z.infer<typeof MotionSourceEnum>;
116
130
  export declare const MotionSourcesSchema: z.ZodArray<z.ZodEnum<{
117
131
  onboard: "onboard";
118
132
  analyzer: "analyzer";
133
+ "device-activity": "device-activity";
119
134
  }>>;
120
135
  export type MotionSources = z.infer<typeof MotionSourcesSchema>;
121
136
  /**
@@ -130,6 +145,7 @@ export declare const ReportMotionInputSchema: z.ZodObject<{
130
145
  source: z.ZodDefault<z.ZodEnum<{
131
146
  onboard: "onboard";
132
147
  analyzer: "analyzer";
148
+ "device-activity": "device-activity";
133
149
  }>>;
134
150
  regions: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
135
151
  bbox: z.ZodObject<{
@@ -218,6 +234,7 @@ declare const RunnerCameraConfigSchema: z.ZodObject<{
218
234
  motionSources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
219
235
  onboard: "onboard";
220
236
  analyzer: "analyzer";
237
+ "device-activity": "device-activity";
221
238
  }>>>;
222
239
  pipelineEnabled: z.ZodDefault<z.ZodBoolean>;
223
240
  steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>>;
@@ -477,6 +494,7 @@ export declare const pipelineRunnerCapability: {
477
494
  motionSources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
478
495
  onboard: "onboard";
479
496
  analyzer: "analyzer";
497
+ "device-activity": "device-activity";
480
498
  }>>>;
481
499
  pipelineEnabled: z.ZodDefault<z.ZodBoolean>;
482
500
  steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>>;
@@ -545,6 +563,7 @@ export declare const pipelineRunnerCapability: {
545
563
  source: z.ZodDefault<z.ZodEnum<{
546
564
  onboard: "onboard";
547
565
  analyzer: "analyzer";
566
+ "device-activity": "device-activity";
548
567
  }>>;
549
568
  regions: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
550
569
  bbox: z.ZodObject<{
@@ -101,10 +101,10 @@ export declare const snapshotCapability: {
101
101
  state: z.ZodObject<{
102
102
  isBattery: z.ZodBoolean;
103
103
  reason: z.ZodNullable<z.ZodEnum<{
104
+ disabled: "disabled";
104
105
  sleeping: "sleeping";
105
106
  unreachable: "unreachable";
106
107
  offline: "offline";
107
- disabled: "disabled";
108
108
  waking: "waking";
109
109
  }>>;
110
110
  }, z.core.$strip>;
@@ -174,10 +174,10 @@ export declare const snapshotCapability: {
174
174
  neverCaptured: z.ZodBoolean;
175
175
  sleeping: z.ZodBoolean;
176
176
  stateReason: z.ZodNullable<z.ZodEnum<{
177
+ disabled: "disabled";
177
178
  sleeping: "sleeping";
178
179
  unreachable: "unreachable";
179
180
  offline: "offline";
180
- disabled: "disabled";
181
181
  waking: "waking";
182
182
  }>>;
183
183
  battery: z.ZodBoolean;
@@ -0,0 +1,72 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ /**
4
+ * `storage-occupancy` — how many bytes an addon actually HOLDS on a storage
5
+ * location (D388).
6
+ *
7
+ * ## Why this is not `storage-evictable`
8
+ *
9
+ * `storage-evictable.getEvictableUsage` looks like the same question and is
10
+ * not, in two ways that both matter and both bite hardest on the locations an
11
+ * operator most wants a figure for:
12
+ *
13
+ * - it reports the whole eviction DOMAIN, not the location. `recordings:default`
14
+ * and `recordingsLow:default` deliberately share one root and evict as one
15
+ * oldest-first pool, so both answer with the SAME combined total. As an
16
+ * occupancy figure that double-counts the disk.
17
+ * - it reports ZERO for a location whose eviction policy is `never` (D385) —
18
+ * a `readonly` or `disabled` disk. Those are exactly the disks an operator
19
+ * is retiring and staring at.
20
+ *
21
+ * So this is its own contract with its own quantity, and the quantity is
22
+ * OCCUPIED: every byte the addon holds on that location, whether or not it
23
+ * would ever be willing to delete it. A provider that can only answer
24
+ * "evictable" must not register here — a number that silently means different
25
+ * things per class is worse than no number.
26
+ *
27
+ * ## Absence is an answer
28
+ *
29
+ * A location nobody reports for is UNKNOWN, never zero (D315). The orchestrator
30
+ * stamps `StorageLocation.owned` only for locations it has a report for, and
31
+ * the field is an OBJECT rather than a bare number so that a `?? 0` on the
32
+ * consuming side has to be written out loud instead of appearing by accident.
33
+ *
34
+ * `internal: true` — consumed by the orchestrator's `listLocations` stamp, never
35
+ * a public client surface. Clients read the stamped `StorageLocation.owned`.
36
+ */
37
+ /** One provider's occupancy answer for one location. */
38
+ export declare const StorageOccupancyReportSchema: z.ZodObject<{
39
+ locationId: z.ZodString;
40
+ ownedBytes: z.ZodNumber;
41
+ measuredAtMs: z.ZodNumber;
42
+ }, z.core.$strip>;
43
+ export type StorageOccupancyReport = z.infer<typeof StorageOccupancyReportSchema>;
44
+ export declare const storageOccupancyCapability: {
45
+ readonly name: "storage-occupancy";
46
+ readonly scope: "system";
47
+ readonly mode: "collection";
48
+ readonly internal: true;
49
+ readonly methods: {
50
+ /**
51
+ * Occupancy for the given locations, in ONE round trip.
52
+ *
53
+ * A provider answers only for the locations it actually holds bytes on and
54
+ * OMITS the rest — an omitted location is "I hold nothing measurable here",
55
+ * which the orchestrator merges as a contribution of nothing rather than as
56
+ * a claim that the location is empty. Only a location no provider reports
57
+ * at all stays unknown.
58
+ *
59
+ * This must be CHEAP and must never walk a filesystem: it is on the admin
60
+ * UI's `listLocations` path. The owner keeps its own figure fresh (D224) and
61
+ * answers from what it already has.
62
+ */
63
+ readonly getOccupancy: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
64
+ locationIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
65
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
66
+ locationId: z.ZodString;
67
+ ownedBytes: z.ZodNumber;
68
+ measuredAtMs: z.ZodNumber;
69
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
70
+ };
71
+ };
72
+ export type IStorageOccupancyProvider = InferProvider<typeof storageOccupancyCapability>;