@camstack/types 1.2.151 → 1.2.153

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
- const require_event_category = require("./event-category-BaEgqJNv.js");
3
- const require_sleep = require("./sleep-BCUreN6s.js");
2
+ const require_event_category = require("./event-category-b8kBSOTT.js");
3
+ const require_sleep = require("./sleep-TVipGseU.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
@@ -16,7 +16,7 @@ const require_err_msg = require("./err-msg-COpsHMw2.js");
16
16
  * Plain data, zero Zod: a forked runner must not import the schema barrel
17
17
  * (~144MB RSS per runner — D28).
18
18
  *
19
- * Coverage: 24 caps, 55 methods with defaults.
19
+ * Coverage: 24 caps, 56 methods with defaults.
20
20
  */
21
21
  var CAP_INPUT_DEFAULTS = Object.freeze({
22
22
  "addons": { "getLogs": { "limit": 100 } },
@@ -131,6 +131,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
131
131
  "getObjectEvents": { "limit": 1e3 },
132
132
  "getSensorEvents": { "limit": 1e3 },
133
133
  "listRecentTracks": { "limit": 200 },
134
+ "listSummaries": { "limit": 50 },
134
135
  "reclaimDebugMedia": { "mode": "report" },
135
136
  "searchObjectEvents": {
136
137
  "limit": 50,
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { t as EventCategory } from "./event-category-BZL-fdNj.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-BQJlnUOJ.mjs";
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-BRy4r7RG.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -15,7 +15,7 @@ import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
15
15
  * Plain data, zero Zod: a forked runner must not import the schema barrel
16
16
  * (~144MB RSS per runner — D28).
17
17
  *
18
- * Coverage: 24 caps, 55 methods with defaults.
18
+ * Coverage: 24 caps, 56 methods with defaults.
19
19
  */
20
20
  var CAP_INPUT_DEFAULTS = Object.freeze({
21
21
  "addons": { "getLogs": { "limit": 100 } },
@@ -130,6 +130,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
130
130
  "getObjectEvents": { "limit": 1e3 },
131
131
  "getSensorEvents": { "limit": 1e3 },
132
132
  "listRecentTracks": { "limit": 200 },
133
+ "listSummaries": { "limit": 50 },
133
134
  "reclaimDebugMedia": { "mode": "report" },
134
135
  "searchObjectEvents": {
135
136
  "limit": 50,
@@ -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, } 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, 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';
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';
@@ -127,6 +127,7 @@ export { type AmbientLightSensorStatus, AmbientLightSensorStatusSchema, ambientL
127
127
  export { type AudioClassSummary, AudioClassSummarySchema, type AudioMetricsHistory, type AudioMetricsHistoryPoint, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, type AudioMetricsSnapshot, AudioMetricsSnapshotSchema, audioMetricsCapability, type IAudioMetricsProvider, } from './audio-metrics.cap.js';
128
128
  export { type AutomationControlStatus, AutomationControlStatusSchema, automationControlCapability, type IAutomationControlProvider, } from './automation-control.cap.js';
129
129
  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';
130
131
  export { type BinaryStatus, BinaryStatusSchema, binaryCapability, type IBinaryProvider, } from './binary.cap.js';
131
132
  export { type BrightnessStatus, BrightnessStatusSchema, brightnessCapability, type IBrightnessProvider, } from './brightness.cap.js';
132
133
  export { buttonCapability, type IButtonProvider } from './button.cap.js';
@@ -231,6 +232,7 @@ import type { authProviderCapability } from './auth-provider.cap.js';
231
232
  import type { automationControlCapability } from './automation-control.cap.js';
232
233
  import type { backupCapability } from './backup.cap.js';
233
234
  import type { batteryCapability } from './battery.cap.js';
235
+ import type { networkLinkCapability } from './network-link.cap.js';
234
236
  import type { binaryCapability } from './binary.cap.js';
235
237
  import type { brightnessCapability } from './brightness.cap.js';
236
238
  import type { brokerCapability } from './broker.cap.js';
@@ -362,6 +364,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
362
364
  import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
363
365
  import type { zoneRulesCapability } from './zone-rules.cap.js';
364
366
  import type { zonesCapability } from './zones.cap.js';
365
- 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 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 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 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;
367
+ 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 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 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;
366
368
  export type CapabilityName = AnyCapability['name'];
367
369
  export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
@@ -0,0 +1,135 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * How a device reaches the network, and how well.
6
+ *
7
+ * NOT `connectivity`: that cap is an UPSTREAM system's binary view of whether
8
+ * an entity is reachable (a Home Assistant `binary_sensor` with
9
+ * `device_class: connectivity`). This one is the device's OWN link — the
10
+ * medium it is on and the signal it sees — the way `battery` is the device's
11
+ * own charge.
12
+ *
13
+ * `'wifi'`, `'ethernet'` and `'cellular'` are links the firmware actually
14
+ * reported. `'unknown'` is the ABSENCE of an answer — the provider has
15
+ * registered the capability but has not read the link yet (D315: unknown is
16
+ * not empty). Consumers skip it rather than draw a wire or a bar.
17
+ */
18
+ export declare const NETWORK_LINK_TYPES: readonly ["wifi", "ethernet", "cellular", "unknown"];
19
+ export type NetworkLinkType = (typeof NETWORK_LINK_TYPES)[number];
20
+ /**
21
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
22
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
24
+ * one Home Assistant projection.
25
+ */
26
+ export declare const NetworkLinkStatusSchema: z.ZodObject<{
27
+ type: z.ZodEnum<{
28
+ unknown: "unknown";
29
+ wifi: "wifi";
30
+ ethernet: "ethernet";
31
+ cellular: "cellular";
32
+ }>;
33
+ signalPercent: z.ZodNullable<z.ZodNumber>;
34
+ rssiDbm: z.ZodOptional<z.ZodNumber>;
35
+ ssid: z.ZodOptional<z.ZodString>;
36
+ lastUpdated: z.ZodNumber;
37
+ }, z.core.$strip>;
38
+ export type NetworkLinkStatus = z.infer<typeof NetworkLinkStatusSchema>;
39
+ /** The slice a provider seeds before its first read: nothing is known yet. */
40
+ export declare const NETWORK_LINK_UNKNOWN: NetworkLinkStatus;
41
+ /**
42
+ * Normalise a signal the firmware reports as BARS (0..`maxBars`) to 0..100.
43
+ * Out-of-range or non-finite input is not a reading: `null`.
44
+ */
45
+ export declare function signalPercentFromBars(bars: number | undefined, maxBars: number): number | null;
46
+ /**
47
+ * Normalise an RSSI in dBm to 0..100 on the usual wifi scale: -100 dBm and
48
+ * below is 0 %, -50 dBm and above is 100 %, linear between. Non-finite or
49
+ * positive input is not an RSSI: `null`.
50
+ */
51
+ export declare function signalPercentFromRssi(rssiDbm: number | undefined): number | null;
52
+ export declare const networkLinkCapability: {
53
+ readonly name: "network-link";
54
+ readonly scope: "device";
55
+ readonly deviceNative: true;
56
+ readonly mode: "singleton";
57
+ readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren];
58
+ readonly methods: {};
59
+ readonly events: {
60
+ /**
61
+ * Emitted whenever the cached status changes (a link switch, a signal
62
+ * reading that moved). Mirrored on the parent chain by the
63
+ * DeviceEventPropagator like `battery.onStatusChanged`.
64
+ */
65
+ readonly onStatusChanged: {
66
+ readonly data: z.ZodObject<{
67
+ deviceId: z.ZodNumber;
68
+ status: z.ZodObject<{
69
+ type: z.ZodEnum<{
70
+ unknown: "unknown";
71
+ wifi: "wifi";
72
+ ethernet: "ethernet";
73
+ cellular: "cellular";
74
+ }>;
75
+ signalPercent: z.ZodNullable<z.ZodNumber>;
76
+ rssiDbm: z.ZodOptional<z.ZodNumber>;
77
+ ssid: z.ZodOptional<z.ZodString>;
78
+ lastUpdated: z.ZodNumber;
79
+ }, z.core.$strip>;
80
+ }, z.core.$strip>;
81
+ };
82
+ };
83
+ readonly status: {
84
+ readonly schema: z.ZodObject<{
85
+ type: z.ZodEnum<{
86
+ unknown: "unknown";
87
+ wifi: "wifi";
88
+ ethernet: "ethernet";
89
+ cellular: "cellular";
90
+ }>;
91
+ signalPercent: z.ZodNullable<z.ZodNumber>;
92
+ rssiDbm: z.ZodOptional<z.ZodNumber>;
93
+ ssid: z.ZodOptional<z.ZodString>;
94
+ lastUpdated: z.ZodNumber;
95
+ }, z.core.$strip>;
96
+ readonly kind: "push";
97
+ readonly empty: {
98
+ type: "unknown" | "wifi" | "ethernet" | "cellular";
99
+ signalPercent: number | null;
100
+ lastUpdated: number;
101
+ rssiDbm?: number | undefined;
102
+ ssid?: string | undefined;
103
+ };
104
+ };
105
+ /**
106
+ * Runtime-state slice — every provider stores the same shape under
107
+ * `device.runtimeState['network-link']`, read once by the badge and the
108
+ * Home Assistant projector regardless of the driver.
109
+ */
110
+ readonly runtimeState: z.ZodObject<{
111
+ type: z.ZodEnum<{
112
+ unknown: "unknown";
113
+ wifi: "wifi";
114
+ ethernet: "ethernet";
115
+ cellular: "cellular";
116
+ }>;
117
+ signalPercent: z.ZodNullable<z.ZodNumber>;
118
+ rssiDbm: z.ZodOptional<z.ZodNumber>;
119
+ ssid: z.ZodOptional<z.ZodString>;
120
+ lastUpdated: z.ZodNumber;
121
+ }, z.core.$strip>;
122
+ /**
123
+ * Runtime-state durability: **restored** — a link reading is slow to
124
+ * change and a sleeping battery camera may not report for hours; the
125
+ * restored slice is what the badge shows until the next read.
126
+ *
127
+ * See `RuntimeStateDurability`. Enforced by
128
+ * `scripts/check-runtime-state-durability.ts`.
129
+ */
130
+ readonly durability: "restored";
131
+ /** Clock fields: written, but excluded from the compare that decides
132
+ * whether persisting is worth a SQLite commit. */
133
+ readonly volatileStateFields: readonly ["lastUpdated"];
134
+ };
135
+ export type INetworkLinkProvider = InferProvider<typeof networkLinkCapability>;
@@ -1123,6 +1123,49 @@ declare const RecentTracksQueryInput: z.ZodObject<{
1123
1123
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1124
1124
  }, z.core.$strip>;
1125
1125
  export type RecentTracksQuery = z.infer<typeof RecentTracksQueryInput>;
1126
+ /**
1127
+ * A Summary (D359): the per-camera session envelope that references tracks.
1128
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
1129
+ * served by the event-media plane by key), null until the first frame with a
1130
+ * member visible has been materialised.
1131
+ */
1132
+ export declare const SummarySchema: z.ZodObject<{
1133
+ id: z.ZodString;
1134
+ deviceId: z.ZodNumber;
1135
+ openedAt: z.ZodNumber;
1136
+ lastActiveAt: z.ZodNumber;
1137
+ sealedAt: z.ZodNullable<z.ZodNumber>;
1138
+ memberCount: z.ZodNumber;
1139
+ groupShotKey: z.ZodNullable<z.ZodString>;
1140
+ }, z.core.$strip>;
1141
+ export type Summary = z.infer<typeof SummarySchema>;
1142
+ export declare const SUMMARIES_MAX_LIMIT = 200;
1143
+ export declare const SUMMARIES_DEFAULT_LIMIT = 50;
1144
+ declare const SummariesPageSchema: z.ZodObject<{
1145
+ summaries: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1146
+ id: z.ZodString;
1147
+ deviceId: z.ZodNumber;
1148
+ openedAt: z.ZodNumber;
1149
+ lastActiveAt: z.ZodNumber;
1150
+ sealedAt: z.ZodNullable<z.ZodNumber>;
1151
+ memberCount: z.ZodNumber;
1152
+ groupShotKey: z.ZodNullable<z.ZodString>;
1153
+ }, z.core.$strip>>>;
1154
+ }, z.core.$strip>;
1155
+ export type SummariesPage = z.infer<typeof SummariesPageSchema>;
1156
+ declare const SummaryDetailSchema: z.ZodObject<{
1157
+ summary: z.ZodObject<{
1158
+ id: z.ZodString;
1159
+ deviceId: z.ZodNumber;
1160
+ openedAt: z.ZodNumber;
1161
+ lastActiveAt: z.ZodNumber;
1162
+ sealedAt: z.ZodNullable<z.ZodNumber>;
1163
+ memberCount: z.ZodNumber;
1164
+ groupShotKey: z.ZodNullable<z.ZodString>;
1165
+ }, z.core.$strip>;
1166
+ trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1167
+ }, z.core.$strip>;
1168
+ export type SummaryDetail = z.infer<typeof SummaryDetailSchema>;
1126
1169
  declare const RecentTracksPageSchema: z.ZodObject<{
1127
1170
  tracks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1128
1171
  retrainStatus: z.ZodOptional<z.ZodEnum<{
@@ -2028,6 +2071,38 @@ export declare const pipelineAnalyticsCapability: {
2028
2071
  }, z.core.$strip>>>;
2029
2072
  nextCursor: z.ZodNullable<z.ZodString>;
2030
2073
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2074
+ /** Newest first by `openedAt`, for a camera set, inside an optional window. */
2075
+ readonly listSummaries: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2076
+ deviceIds: z.ZodArray<z.ZodNumber>;
2077
+ since: z.ZodOptional<z.ZodNumber>;
2078
+ until: z.ZodOptional<z.ZodNumber>;
2079
+ limit: z.ZodDefault<z.ZodNumber>;
2080
+ }, z.core.$strip>, z.ZodObject<{
2081
+ summaries: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2082
+ id: z.ZodString;
2083
+ deviceId: z.ZodNumber;
2084
+ openedAt: z.ZodNumber;
2085
+ lastActiveAt: z.ZodNumber;
2086
+ sealedAt: z.ZodNullable<z.ZodNumber>;
2087
+ memberCount: z.ZodNumber;
2088
+ groupShotKey: z.ZodNullable<z.ZodString>;
2089
+ }, z.core.$strip>>>;
2090
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2091
+ /** One summary with its member track ids; `null` for an id nobody wrote. */
2092
+ readonly getSummary: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2093
+ id: z.ZodString;
2094
+ }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
2095
+ summary: z.ZodObject<{
2096
+ id: z.ZodString;
2097
+ deviceId: z.ZodNumber;
2098
+ openedAt: z.ZodNumber;
2099
+ lastActiveAt: z.ZodNumber;
2100
+ sealedAt: z.ZodNullable<z.ZodNumber>;
2101
+ memberCount: z.ZodNumber;
2102
+ groupShotKey: z.ZodNullable<z.ZodString>;
2103
+ }, z.core.$strip>;
2104
+ trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2105
+ }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
2031
2106
  readonly clearTracks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2032
2107
  deviceId: z.ZodNumber;
2033
2108
  }, z.core.$strip>, z.ZodVoid, "mutation">;
@@ -368,6 +368,13 @@ export declare enum EventCategory {
368
368
  * polling `batteryCapability.getStatus`.
369
369
  */
370
370
  BatteryOnStatusChanged = "battery.onStatusChanged",
371
+ /**
372
+ * Cap event fired by every device that registers the `network-link`
373
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
374
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
375
+ * reading that moved.
376
+ */
377
+ NetworkLinkOnStatusChanged = "network-link.onStatusChanged",
371
378
  /**
372
379
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
373
380
  * "wake in progress" window — between the Baichuan wake-up issue and
package/dist/enums.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_event_category = require("./event-category-BaEgqJNv.js");
2
+ const require_event_category = require("./event-category-b8kBSOTT.js");
3
3
  //#region src/enums/event-source-type.ts
4
4
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
5
5
  EventSourceType["Addon"] = "addon";
package/dist/enums.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as EventCategory } from "./event-category-BZL-fdNj.mjs";
1
+ import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
2
2
  //#region src/enums/event-source-type.ts
3
3
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
4
4
  EventSourceType["Addon"] = "addon";
@@ -370,6 +370,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
370
370
  */
371
371
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
372
372
  /**
373
+ * Cap event fired by every device that registers the `network-link`
374
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
375
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
376
+ * reading that moved.
377
+ */
378
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
379
+ /**
373
380
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
374
381
  * "wake in progress" window — between the Baichuan wake-up issue and
375
382
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -370,6 +370,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
370
370
  */
371
371
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
372
372
  /**
373
+ * Cap event fired by every device that registers the `network-link`
374
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
375
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
376
+ * reading that moved.
377
+ */
378
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
379
+ /**
373
380
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
374
381
  * "wake in progress" window — between the Baichuan wake-up issue and
375
382
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -4365,6 +4365,20 @@ export type AppRouter = TrpcCoreRouter<{
4365
4365
  meta: object;
4366
4366
  }>;
4367
4367
  }>>;
4368
+ networkLink: TRPCBuiltRouter<{
4369
+ ctx: TrpcContext;
4370
+ meta: object;
4371
+ errorShape: AugmentedErrorShape;
4372
+ transformer: true;
4373
+ }, TRPCDecorateCreateRouterOptions<{
4374
+ getStatus: TRPCQueryProcedure<{
4375
+ input: {
4376
+ [x: string]: unknown;
4377
+ } & z.input<typeof DEVICE_STATUS_METHOD.getStatus.input>;
4378
+ output: z.infer<typeof DEVICE_STATUS_METHOD.getStatus.output>;
4379
+ meta: object;
4380
+ }>;
4381
+ }>>;
4368
4382
  networkQuality: TRPCBuiltRouter<{
4369
4383
  ctx: TrpcContext;
4370
4384
  meta: object;
@@ -4960,6 +4974,20 @@ export type AppRouter = TrpcCoreRouter<{
4960
4974
  output: z.infer<typeof pipelineAnalyticsCapability.methods.listRecentTracks.output>;
4961
4975
  meta: object;
4962
4976
  }>;
4977
+ listSummaries: TRPCQueryProcedure<{
4978
+ input: {
4979
+ [x: string]: unknown;
4980
+ } & z.input<typeof pipelineAnalyticsCapability.methods.listSummaries.input>;
4981
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.listSummaries.output>;
4982
+ meta: object;
4983
+ }>;
4984
+ getSummary: TRPCQueryProcedure<{
4985
+ input: {
4986
+ [x: string]: unknown;
4987
+ } & z.input<typeof pipelineAnalyticsCapability.methods.getSummary.input>;
4988
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.getSummary.output>;
4989
+ meta: object;
4990
+ }>;
4963
4991
  clearTracks: TRPCMutationProcedure<{
4964
4992
  input: {
4965
4993
  [x: string]: unknown;
@@ -11,7 +11,7 @@
11
11
  * Plain data, zero Zod: a forked runner must not import the schema barrel
12
12
  * (~144MB RSS per runner — D28).
13
13
  *
14
- * Coverage: 24 caps, 55 methods with defaults.
14
+ * Coverage: 24 caps, 56 methods with defaults.
15
15
  */
16
16
  export declare const CAP_INPUT_DEFAULTS: Readonly<Record<string, Readonly<Record<string, Readonly<Record<string, unknown>>>>>>;
17
17
  /**
@@ -42,6 +42,7 @@ import type { MotionTriggerStatusSchema } from '../capabilities/motion-trigger.c
42
42
  import type { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
43
43
  import type { MqttBrokerStatusSchema } from '../capabilities/mqtt-broker.cap.js';
44
44
  import type { NativeObjectDetectionStatusSchema } from '../capabilities/native-object-detection.cap.js';
45
+ import type { NetworkLinkStatusSchema } from '../capabilities/network-link.cap.js';
45
46
  import type { NotifierStatusSchema } from '../capabilities/notifier.cap.js';
46
47
  import type { NumericSensorStatusSchema } from '../capabilities/numeric-sensor.cap.js';
47
48
  import type { OsdStatusSchema } from '../capabilities/osd.cap.js';
@@ -116,6 +117,7 @@ export type CapStatusTypeMap = {
116
117
  readonly 'motion-zones': z.infer<(typeof motionZonesCapability)['status']['schema']>;
117
118
  readonly 'mqtt-broker': z.infer<typeof MqttBrokerStatusSchema>;
118
119
  readonly 'native-object-detection': z.infer<typeof NativeObjectDetectionStatusSchema>;
120
+ readonly 'network-link': z.infer<typeof NetworkLinkStatusSchema>;
119
121
  readonly 'notifier': z.infer<typeof NotifierStatusSchema>;
120
122
  readonly 'numeric-sensor': z.infer<typeof NumericSensorStatusSchema>;
121
123
  readonly 'osd': z.infer<typeof OsdStatusSchema>;
@@ -149,4 +151,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
149
151
  * aggregator to enumerate caps whose `status` should be polled +
150
152
  * streamed via `subscribeDeviceStatusAggregate`.
151
153
  */
152
- export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
154
+ export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
@@ -88,6 +88,7 @@ export { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
88
88
  export { mqttBrokerCapability } from '../capabilities/mqtt-broker.cap.js';
89
89
  export { nativeObjectDetectionCapability } from '../capabilities/native-object-detection.cap.js';
90
90
  export { networkAccessCapability } from '../capabilities/network-access.cap.js';
91
+ export { networkLinkCapability } from '../capabilities/network-link.cap.js';
91
92
  export { networkQualityCapability } from '../capabilities/network-quality.cap.js';
92
93
  export { nodesCapability } from '../capabilities/nodes.cap.js';
93
94
  export { notificationOutputCapability } from '../capabilities/notification-output.cap.js';
@@ -241,6 +242,7 @@ export declare const CAPABILITY_NAMES: {
241
242
  readonly mqttBroker: "mqtt-broker";
242
243
  readonly nativeObjectDetection: "native-object-detection";
243
244
  readonly networkAccess: "network-access";
245
+ readonly networkLink: "network-link";
244
246
  readonly networkQuality: "network-quality";
245
247
  readonly nodes: "nodes";
246
248
  readonly notificationOutput: "notification-output";
@@ -407,6 +409,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
407
409
  readonly mqttBroker: TRouter;
408
410
  readonly nativeObjectDetection: TRouter;
409
411
  readonly networkAccess: TRouter;
412
+ readonly networkLink: TRouter;
410
413
  readonly networkQuality: TRouter;
411
414
  readonly nodes: TRouter;
412
415
  readonly notificationOutput: TRouter;
@@ -470,8 +473,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
470
473
  readonly zoneRules: TRouter;
471
474
  readonly zones: TRouter;
472
475
  }
473
- /** Capability names whose mode is `singleton` (125 caps). */
474
- export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
476
+ /** Capability names whose mode is `singleton` (126 caps). */
477
+ export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
475
478
  /** Union of singleton capability names (literal string union). */
476
479
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
477
480
  /** Capability names whose mode is `collection` (27 caps). */
@@ -38,6 +38,7 @@ import { motionCapability } from '../capabilities/motion.cap.js';
38
38
  import { motionTriggerCapability } from '../capabilities/motion-trigger.cap.js';
39
39
  import { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
40
40
  import { nativeObjectDetectionCapability } from '../capabilities/native-object-detection.cap.js';
41
+ import { networkLinkCapability } from '../capabilities/network-link.cap.js';
41
42
  import { notifierCapability } from '../capabilities/notifier.cap.js';
42
43
  import { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
43
44
  import { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
@@ -114,6 +115,7 @@ export interface DeviceLocalState {
114
115
  motionTrigger: InferRuntimeState<typeof motionTriggerCapability>;
115
116
  motionZones: InferRuntimeState<typeof motionZonesCapability>;
116
117
  nativeObjectDetection: InferRuntimeState<typeof nativeObjectDetectionCapability>;
118
+ networkLink: InferRuntimeState<typeof networkLinkCapability>;
117
119
  notifier: InferRuntimeState<typeof notifierCapability>;
118
120
  numericSensor: InferRuntimeState<typeof numericSensorCapability>;
119
121
  petFeeder: InferRuntimeState<typeof petFeederCapability>;
@@ -200,6 +202,7 @@ export interface CapNameToRuntimeStateMap {
200
202
  'motion-trigger': InferRuntimeState<typeof motionTriggerCapability>;
201
203
  'motion-zones': InferRuntimeState<typeof motionZonesCapability>;
202
204
  'native-object-detection': InferRuntimeState<typeof nativeObjectDetectionCapability>;
205
+ 'network-link': InferRuntimeState<typeof networkLinkCapability>;
203
206
  'notifier': InferRuntimeState<typeof notifierCapability>;
204
207
  'numeric-sensor': InferRuntimeState<typeof numericSensorCapability>;
205
208
  'pet-feeder': InferRuntimeState<typeof petFeederCapability>;
@@ -49,6 +49,7 @@ import type { motionDetectionCapability } from '../capabilities/motion-detection
49
49
  import type { motionTriggerCapability } from '../capabilities/motion-trigger.cap.js';
50
50
  import type { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
51
51
  import type { nativeObjectDetectionCapability } from '../capabilities/native-object-detection.cap.js';
52
+ import type { networkLinkCapability } from '../capabilities/network-link.cap.js';
52
53
  import type { notificationRulesCapability } from '../capabilities/notification-rules.cap.js';
53
54
  import type { notifierCapability } from '../capabilities/notifier.cap.js';
54
55
  import type { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
@@ -144,6 +145,7 @@ export interface DeviceProxyState {
144
145
  readonly motionTrigger: SliceHandle<InferRuntimeState<typeof motionTriggerCapability>>;
145
146
  readonly motionZones: SliceHandle<InferRuntimeState<typeof motionZonesCapability>>;
146
147
  readonly nativeObjectDetection: SliceHandle<InferRuntimeState<typeof nativeObjectDetectionCapability>>;
148
+ readonly networkLink: SliceHandle<InferRuntimeState<typeof networkLinkCapability>>;
147
149
  readonly notifier: SliceHandle<InferRuntimeState<typeof notifierCapability>>;
148
150
  readonly numericSensor: SliceHandle<InferRuntimeState<typeof numericSensorCapability>>;
149
151
  readonly petFeeder: SliceHandle<InferRuntimeState<typeof petFeederCapability>>;
@@ -235,6 +237,7 @@ export interface DeviceProxy {
235
237
  readonly motionTrigger?: InferDeviceProxyCap<typeof motionTriggerCapability>;
236
238
  readonly motionZones?: InferDeviceProxyCap<typeof motionZonesCapability>;
237
239
  readonly nativeObjectDetection?: InferDeviceProxyCap<typeof nativeObjectDetectionCapability>;
240
+ readonly networkLink?: InferDeviceProxyCap<typeof networkLinkCapability>;
238
241
  readonly notificationRules?: InferDeviceProxyCap<typeof notificationRulesCapability>;
239
242
  readonly notifier?: InferDeviceProxyCap<typeof notifierCapability>;
240
243
  readonly numericSensor?: InferDeviceProxyCap<typeof numericSensorCapability>;
@@ -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: 1007 method paths across 126 capabilities.
9
+ * Coverage: 1009 method paths across 126 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -6,7 +6,7 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 355 methods carry a device reference, of which
9
+ * Coverage: 356 methods carry a device reference, of which
10
10
  * 134 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
@@ -11,7 +11,7 @@ export interface RuntimeStatePolicy {
11
11
  }
12
12
  /**
13
13
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
14
- * `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
14
+ * `runtimeState`. 65 caps: 35 `restored`, 30 `session`.
15
15
  *
16
16
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
17
17
  * with `durability: 'session'` has one and has decided not to keep it.