@camstack/types 1.2.250 → 1.2.252

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,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-CvwUEq16.js");
2
+ const require_sleep = require("./sleep-BAgDk7I9.js");
3
3
  const require_event_category = require("./event-category-BVfsrBYA.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as DeviceType, At as DATAPLANE_SECRET_HEADER, Dt as PEER_BYTES_STALL_MS, Et as PEER_BYTES_MAX_OUTSTANDING, G as readNodePin, J as ReadinessTimeoutError, L as expandCapMethods, Lt as emitReadiness, Mt as DisposerChain, Nt as BaseAddon, Ot as PEER_BYTES_TICKET_TTL_MS, Pt as normalizeAddonInitResult, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as PEER_BYTES_CHUNK_BYTES, W as nodePin, Z as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, q as ReadinessRegistry, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-pM_J7YnY.mjs";
1
+ import { A as DeviceType, At as DATAPLANE_SECRET_HEADER, Dt as PEER_BYTES_STALL_MS, Et as PEER_BYTES_MAX_OUTSTANDING, G as readNodePin, J as ReadinessTimeoutError, L as expandCapMethods, Lt as emitReadiness, Mt as DisposerChain, Nt as BaseAddon, Ot as PEER_BYTES_TICKET_TTL_MS, Pt as normalizeAddonInitResult, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as PEER_BYTES_CHUNK_BYTES, W as nodePin, Z as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, q as ReadinessRegistry, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-D_4W7xuQ.mjs";
2
2
  import { t as EventCategory } from "./event-category-BVDXG4tB.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
@@ -1360,6 +1360,25 @@ export declare const deviceManagerCapability: {
1360
1360
  nativeAddonId: z.ZodString;
1361
1361
  }, z.core.$strip>>;
1362
1362
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
1363
+ /**
1364
+ * The ids of every device bound to AT LEAST ONE of `capNames` — ids only,
1365
+ * ascending (D636).
1366
+ *
1367
+ * The targeted form of "which devices are openings / carry a battery":
1368
+ * before it, the alarm's household scan and the battery section's picker
1369
+ * read the whole fleet (~433 KB slim) and then `getBindingsBatch` over
1370
+ * ~900 ids in five calls. Same resolver as `getBindings` (so a WRAPPED
1371
+ * binding counts exactly as the routing does), walked server-side like
1372
+ * `getAllBindings`; only the matching ids cross the wire. Names are the
1373
+ * caller's to resolve with the targeted `listAll({ deviceIds })`.
1374
+ *
1375
+ * Tier: `protected`, like its siblings `getBindings` / `getBindingsBatch` /
1376
+ * `getAllBindings` — which devices carry a cap is routing metadata every
1377
+ * signed-in client already reads, and it reveals nothing those do not.
1378
+ */
1379
+ readonly listDeviceIdsByCaps: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1380
+ capNames: z.ZodArray<z.ZodString>;
1381
+ }, z.core.$strip>, z.ZodArray<z.ZodNumber>, import("./capability-definition.js").CapabilityMethodKind>;
1363
1382
  /**
1364
1383
  * Activate (or deactivate) a wrapper addon for a (device, cap) pair — the
1365
1384
  * per-camera function switch's ONE authority (D62).
@@ -82,7 +82,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
82
82
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
83
83
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
84
84
  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';
85
- export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_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 NcClipRetentionAsk, NcClipRetentionAskSchema, type NcClipRetentionPlan, NcClipRetentionPlanSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcLinkedCameraMode, NcLinkedCameraModeSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleClearableKey, NcRuleClearableKeySchema, type NcRuleInput, NcRuleInputSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, NC_RULE_CLEARABLE_KEYS, NcRuleKindSchema, 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 NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, NcTemplatePreviewSchema, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
85
+ export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_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 NcClipRetentionAsk, NcClipRetentionAskSchema, type NcClipRetentionPlan, NcClipRetentionPlanSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcLinkedCameraMode, NcLinkedCameraModeSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleClearableKey, NcRuleClearableKeySchema, type NcRuleInput, NcRuleInputSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, NC_RULE_CLEARABLE_KEYS, NcRuleKindSchema, 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 NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, NcTemplatePreviewSchema, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
86
86
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
87
87
  export { AnalyticsLtsSeriesSchema, type AudioEvent, type AudioEventDraft, AudioEventSchema, type DetectionSource, DetectionSourceSchema, EVENT_DENSITY_BATCH_MAX, type EventDensityBucket, EventDensityBucketSchema, type EventDensityForDevice, EventDensityForDeviceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, LTS_SCOPE_CLASS_SEPARATOR, type LtsBucket, LtsBucketSchema, MAX_TRACK_DEBUG_NOTE_LEN, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, type MotionEventDraft, MotionEventSchema, type ObjectEvent, type ObjectEventDraft, ObjectEventSchema, occupancyScope, parseOccupancyScope, pipelineAnalyticsCapability, type 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, type SummaryListItem, 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';
88
88
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -122,7 +122,7 @@ export type { Clip, ClipBytes, ClipBytesOffer, ClipPlayback, ClipPlaybackOptions
122
122
  export { CLIP_BROKER_PACED_RATES, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, ClipBytesOfferSchema, ClipBytesSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, clipReasonHeaderValue, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, videoclipsCapability, } from './videoclips.cap.js';
123
123
  export type { IViewerUiProvider } from './viewer-ui.cap.js';
124
124
  export { viewerUiCapability } from './viewer-ui.cap.js';
125
- export { type IWebrtcSessionProvider, type WebrtcClientHints, type WebrtcLadderDecision, WebrtcLadderDecisionSchema, type WebrtcSessionDebug, WebrtcSessionDebugSchema, type WebrtcStreamChoice, WebrtcStreamChoiceSchema, type WebrtcStreamTarget, WebrtcStreamTargetSchema, type WebrtcTierFailure, WebrtcTierFailureSchema, webrtcClientHintsSchema, webrtcSessionCapability, } from './webrtc-session.cap.js';
125
+ export { type IWebrtcSessionProvider, type WebrtcClientHints, type WebrtcClimbHold, type WebrtcClimbHoldCode, type WebrtcTryBlocker, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_TRY_BLOCKERS, WebrtcClimbHoldSchema, type WebrtcLadderDecision, WebrtcLadderDecisionSchema, type WebrtcSessionDebug, WebrtcSessionDebugSchema, type WebrtcStreamChoice, WebrtcStreamChoiceSchema, type WebrtcStreamTarget, WebrtcStreamTargetSchema, type WebrtcTierFailure, WebrtcTierFailureSchema, webrtcClientHintsSchema, webrtcSessionCapability, } from './webrtc-session.cap.js';
126
126
  export { type AccessoriesStatus, AccessoriesStatusSchema, accessoriesCapability, type IAccessoriesProvider, } from './accessories.cap.js';
127
127
  export { AddonAutoUpdateSchema, AddonListItemSchema, AutoUpdateSettingsSchema, addonsCapability, type BulkUpdateItem, type BulkUpdateItemStatus, type BulkUpdatePhase, type BulkUpdateState, CustomActionInputSchema, type IAddonsProvider, InstalledPackageSchema, LogStreamEntrySchema, PackageUpdateSchema, PackageVersionInfoSchema, SearchResultSchema, } from './addons.cap.js';
128
128
  export { type AirQualitySensorStatus, AirQualitySensorStatusSchema, airQualitySensorCapability, type IAirQualitySensorProvider, } from './air-quality-sensor.cap.js';
@@ -26,6 +26,8 @@ declare const ClientNetworkStatsSchema: z.ZodObject<{
26
26
  jitterMs: z.ZodNumber;
27
27
  estimatedBandwidthKbps: z.ZodNumber;
28
28
  packetLossPercent: z.ZodNumber;
29
+ downlinkMbps: z.ZodOptional<z.ZodNumber>;
30
+ downlinkAgeMs: z.ZodOptional<z.ZodNumber>;
29
31
  lastUpdated: z.ZodNumber;
30
32
  }, z.core.$strip>;
31
33
  declare const DeviceNetworkStatsSchema: z.ZodObject<{
@@ -42,6 +44,8 @@ declare const DeviceNetworkStatsSchema: z.ZodObject<{
42
44
  jitterMs: z.ZodNumber;
43
45
  estimatedBandwidthKbps: z.ZodNumber;
44
46
  packetLossPercent: z.ZodNumber;
47
+ downlinkMbps: z.ZodOptional<z.ZodNumber>;
48
+ downlinkAgeMs: z.ZodOptional<z.ZodNumber>;
45
49
  lastUpdated: z.ZodNumber;
46
50
  }, z.core.$strip>>;
47
51
  }, z.core.$strip>;
@@ -66,6 +70,8 @@ export declare const networkQualityCapability: {
66
70
  jitterMs: z.ZodNumber;
67
71
  estimatedBandwidthKbps: z.ZodNumber;
68
72
  packetLossPercent: z.ZodNumber;
73
+ downlinkMbps: z.ZodOptional<z.ZodNumber>;
74
+ downlinkAgeMs: z.ZodOptional<z.ZodNumber>;
69
75
  lastUpdated: z.ZodNumber;
70
76
  }, z.core.$strip>>;
71
77
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -83,6 +89,8 @@ export declare const networkQualityCapability: {
83
89
  jitterMs: z.ZodNumber;
84
90
  estimatedBandwidthKbps: z.ZodNumber;
85
91
  packetLossPercent: z.ZodNumber;
92
+ downlinkMbps: z.ZodOptional<z.ZodNumber>;
93
+ downlinkAgeMs: z.ZodOptional<z.ZodNumber>;
86
94
  lastUpdated: z.ZodNumber;
87
95
  }, z.core.$strip>>;
88
96
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -92,6 +100,8 @@ export declare const networkQualityCapability: {
92
100
  jitterMs: z.ZodNumber;
93
101
  estimatedBandwidthKbps: z.ZodNumber;
94
102
  packetLossPercent: z.ZodNumber;
103
+ downlinkMbps: z.ZodOptional<z.ZodNumber>;
104
+ downlinkAgeMs: z.ZodOptional<z.ZodNumber>;
95
105
  }, z.core.$strip>, z.ZodVoid, "mutation">;
96
106
  };
97
107
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
@@ -308,6 +308,7 @@ export declare const TargetKindSchema: z.ZodObject<{
308
308
  iconUrl: z.ZodOptional<z.ZodString>;
309
309
  iconMediaType: z.ZodOptional<z.ZodString>;
310
310
  configSchema: z.ZodUnknown;
311
+ destinationKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
312
  supportsDiscovery: z.ZodBoolean;
312
313
  caps: z.ZodObject<{
313
314
  attachments: z.ZodObject<{
@@ -438,6 +439,7 @@ export declare const notificationOutputCapability: {
438
439
  iconUrl: z.ZodOptional<z.ZodString>;
439
440
  iconMediaType: z.ZodOptional<z.ZodString>;
440
441
  configSchema: z.ZodUnknown;
442
+ destinationKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
441
443
  supportsDiscovery: z.ZodBoolean;
442
444
  caps: z.ZodObject<{
443
445
  attachments: z.ZodObject<{
@@ -122,6 +122,16 @@ export declare const NC_AUTHORABLE_SYSTEM_EVENT_KINDS: readonly NcSystemEventKin
122
122
  * a person experiences them — not the order they were added.
123
123
  */
124
124
  export declare const NC_ALARM_SYSTEM_EVENT_KINDS: readonly NcSystemEventKind[];
125
+ /**
126
+ * The SUSTAINED device-health family — a battery or a consumable below the
127
+ * operator's threshold, and its recovery. Named once because three readers
128
+ * need the same four: the viewer's dedicated "battery and consumables" rule
129
+ * section (a stored system rule whose kinds are ALL in this family is shown
130
+ * there), both editors' warning when these kinds meet a `deviceTypes` filter
131
+ * (the filter that silenced the live rule for two weeks — D636), and the
132
+ * catalog parity spec.
133
+ */
134
+ export declare const NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS: readonly NcSystemEventKind[];
125
135
  /**
126
136
  * One coherent system-event condition. `kinds` is the required opt-in safety
127
137
  * gate; the remaining lists are optional narrowing filters relevant to the
@@ -167,6 +177,7 @@ export declare const NcSystemEventConditionSchema: z.ZodObject<{
167
177
  }>>;
168
178
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
169
179
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
180
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
170
181
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
171
182
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
183
  }, z.core.$strip>;
@@ -657,6 +668,7 @@ export declare const NcConditionsSchema: z.ZodObject<{
657
668
  }>>;
658
669
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
659
670
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
671
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
660
672
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
661
673
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
662
674
  }, z.core.$strip>>;
@@ -972,6 +984,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
972
984
  }>>;
973
985
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
974
986
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
987
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
975
988
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
976
989
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
977
990
  }, z.core.$strip>>;
@@ -1334,6 +1347,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1334
1347
  }>>;
1335
1348
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1336
1349
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1350
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1337
1351
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1338
1352
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1339
1353
  }, z.core.$strip>>;
@@ -1625,6 +1639,7 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
1625
1639
  }>>;
1626
1640
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1627
1641
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1642
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1628
1643
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1629
1644
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1630
1645
  }, z.core.$strip>>;
@@ -1816,6 +1831,7 @@ export declare const NcRuleSchema: z.ZodObject<{
1816
1831
  }>>;
1817
1832
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1818
1833
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1834
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1819
1835
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1820
1836
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1821
1837
  }, z.core.$strip>>;
@@ -3080,6 +3096,7 @@ export declare const notificationRulesCapability: {
3080
3096
  }>>;
3081
3097
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3082
3098
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3099
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3083
3100
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3084
3101
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
3085
3102
  }, z.core.$strip>>;
@@ -3353,6 +3370,7 @@ export declare const notificationRulesCapability: {
3353
3370
  }>>;
3354
3371
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3355
3372
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3373
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3356
3374
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3357
3375
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
3358
3376
  }, z.core.$strip>>;
@@ -3624,6 +3642,7 @@ export declare const notificationRulesCapability: {
3624
3642
  }>>;
3625
3643
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3626
3644
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3645
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3627
3646
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3628
3647
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
3629
3648
  }, z.core.$strip>>;
@@ -3889,6 +3908,7 @@ export declare const notificationRulesCapability: {
3889
3908
  }>>;
3890
3909
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3891
3910
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3911
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3892
3912
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3893
3913
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
3894
3914
  }, z.core.$strip>>;
@@ -4251,6 +4271,7 @@ export declare const notificationRulesCapability: {
4251
4271
  }>>;
4252
4272
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4253
4273
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4274
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4254
4275
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4255
4276
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
4256
4277
  }, z.core.$strip>>;
@@ -4440,6 +4461,7 @@ export declare const notificationRulesCapability: {
4440
4461
  }>>;
4441
4462
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4442
4463
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4464
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4443
4465
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4444
4466
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
4445
4467
  }, z.core.$strip>>;
@@ -4793,6 +4815,7 @@ export declare const notificationRulesCapability: {
4793
4815
  }>>;
4794
4816
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4795
4817
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4818
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4796
4819
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4797
4820
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
4798
4821
  }, z.core.$strip>>;
@@ -183,6 +183,7 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
183
183
  }>>;
184
184
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
185
185
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
186
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
186
187
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
187
188
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
188
189
  }, z.core.$strip>>;
@@ -358,6 +359,7 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
358
359
  }>>;
359
360
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
360
361
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
362
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
361
363
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
362
364
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
363
365
  }, z.core.$strip>>;
@@ -605,6 +607,7 @@ export declare const osdManagerCapability: {
605
607
  }>>;
606
608
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
607
609
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
610
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
608
611
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
609
612
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
610
613
  }, z.core.$strip>>;
@@ -869,6 +872,7 @@ export declare const osdManagerCapability: {
869
872
  }>>;
870
873
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
871
874
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
875
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
872
876
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
873
877
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
874
878
  }, z.core.$strip>>;
@@ -1043,6 +1047,7 @@ export declare const osdManagerCapability: {
1043
1047
  }>>;
1044
1048
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1045
1049
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1050
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1046
1051
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1047
1052
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1048
1053
  }, z.core.$strip>>;
@@ -1249,6 +1254,7 @@ export declare const osdManagerCapability: {
1249
1254
  }>>;
1250
1255
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1251
1256
  deviceTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1257
+ excludeDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1252
1258
  nodeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1253
1259
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
1254
1260
  }, z.core.$strip>>;
@@ -127,6 +127,16 @@ declare const CollectionIndexSchema: z.ZodObject<{
127
127
  * namespace, or none. Making the door enforce it is tracked separately —
128
128
  * it renames tables, so it needs a migration.
129
129
  *
130
+ * **So every method is `auth: 'admin'` (D634).** Because nothing scopes a
131
+ * call to its caller, a `protected` method here was a raw, unredacted read
132
+ * (and write) of every addon's collections for any role holding
133
+ * `category:system` — which is every role: a `viewer` could read every
134
+ * notifier token in plaintext from `notifiers:notification-targets`. No
135
+ * browser or app client calls this cap. Addons are not affected: an
136
+ * addon's `ctx.api` cap call is resolved to the provider directly and never
137
+ * enters the tRPC router (so the tier gates sessions and tokens, never
138
+ * addons), and the hub itself calls it through the capability registry.
139
+ *
130
140
  * - `{ collection: 'addon-settings' }` → table `addon-settings`
131
141
  * - `{ namespace: 'my-addon', collection: 'addon-settings' }` →
132
142
  * table `my-addon:addon-settings`
@@ -102,8 +102,63 @@ export declare const WebrtcLadderDecisionSchema: z.ZodObject<{
102
102
  stalledForMs: z.ZodNullable<z.ZodNumber>;
103
103
  serverSending: z.ZodNullable<z.ZodBoolean>;
104
104
  at: z.ZodNumber;
105
+ causeDetail: z.ZodOptional<z.ZodString>;
105
106
  }, z.core.$strip>;
106
107
  export type WebrtcLadderDecision = z.infer<typeof WebrtcLadderDecisionSchema>;
108
+ /**
109
+ * Why the adaptive ladder is NOT climbing on this session right now (D635).
110
+ * Before this, a session held on its rung for a reason and a session with no
111
+ * ladder at all both read "never moved". Every number is one the controller
112
+ * used; `null` is unknown, never zero (D393).
113
+ */
114
+ /**
115
+ * The hold codes this build knows. The WIRE carries `code` as a plain string:
116
+ * this output is validated by the router, so a closed enum would make a server
117
+ * built before the NEXT code reject the whole debug answer (review m1). A
118
+ * consumer maps an unknown code to a generic "held" and shows `summary`.
119
+ */
120
+ export declare const WEBRTC_CLIMB_HOLD_CODES: readonly ["stall-building", "delivery", "no-evidence", "warming", "cooldown", "capacity", "try-unclean", "try-backoff", "trial", "suspended"];
121
+ export type WebrtcClimbHoldCode = (typeof WEBRTC_CLIMB_HOLD_CODES)[number];
122
+ /** Clean-path conditions a try-climb can be refused on (`tryBlockedBy`). */
123
+ export declare const WEBRTC_TRY_BLOCKERS: readonly ["delivery", "loss", "rtt", "shared-telemetry"];
124
+ export type WebrtcTryBlocker = (typeof WEBRTC_TRY_BLOCKERS)[number];
125
+ export declare const WebrtcClimbHoldSchema: z.ZodObject<{
126
+ code: z.ZodString;
127
+ nextTier: z.ZodEnum<{
128
+ high: "high";
129
+ mid: "mid";
130
+ low: "low";
131
+ }>;
132
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
133
+ deliveryWindowMs: z.ZodNullable<z.ZodNumber>;
134
+ climbDeliveryRatio: z.ZodNumber;
135
+ capacityKbps: z.ZodNullable<z.ZodNumber>;
136
+ probeKbps: z.ZodNullable<z.ZodNumber>;
137
+ nextTierKbps: z.ZodNullable<z.ZodNumber>;
138
+ capacityMargin: z.ZodNumber;
139
+ neededKbps: z.ZodNullable<z.ZodNumber>;
140
+ tryBlockedBy: z.ZodNullable<z.ZodString>;
141
+ tryDeliveryRatio: z.ZodOptional<z.ZodNumber>;
142
+ tryMaxLossRatio: z.ZodOptional<z.ZodNumber>;
143
+ retryInMs: z.ZodNullable<z.ZodNumber>;
144
+ lastRevert: z.ZodNullable<z.ZodObject<{
145
+ tier: z.ZodEnum<{
146
+ high: "high";
147
+ mid: "mid";
148
+ low: "low";
149
+ }>;
150
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
151
+ stalled: z.ZodBoolean;
152
+ at: z.ZodNumber;
153
+ }, z.core.$strip>>;
154
+ trialForMs: z.ZodNullable<z.ZodNumber>;
155
+ trialMs: z.ZodNullable<z.ZodNumber>;
156
+ healthyForMs: z.ZodNullable<z.ZodNumber>;
157
+ requiredHealthyMs: z.ZodNullable<z.ZodNumber>;
158
+ since: z.ZodNumber;
159
+ summary: z.ZodString;
160
+ }, z.core.$strip>;
161
+ export type WebrtcClimbHold = z.infer<typeof WebrtcClimbHoldSchema>;
107
162
  /** Per-tier count of MEASURED downgrades this viewer session has suffered. */
108
163
  export declare const WebrtcTierFailureSchema: z.ZodObject<{
109
164
  tier: z.ZodEnum<{
@@ -171,6 +226,7 @@ export declare const WebrtcSessionDebugSchema: z.ZodObject<{
171
226
  stalledForMs: z.ZodNullable<z.ZodNumber>;
172
227
  serverSending: z.ZodNullable<z.ZodBoolean>;
173
228
  at: z.ZodNumber;
229
+ causeDetail: z.ZodOptional<z.ZodString>;
174
230
  }, z.core.$strip>>;
175
231
  tierFailures: z.ZodArray<z.ZodObject<{
176
232
  tier: z.ZodEnum<{
@@ -181,6 +237,42 @@ export declare const WebrtcSessionDebugSchema: z.ZodObject<{
181
237
  failures: z.ZodNumber;
182
238
  }, z.core.$strip>>;
183
239
  upgradeCount: z.ZodNullable<z.ZodNumber>;
240
+ climbHold: z.ZodOptional<z.ZodNullable<z.ZodObject<{
241
+ code: z.ZodString;
242
+ nextTier: z.ZodEnum<{
243
+ high: "high";
244
+ mid: "mid";
245
+ low: "low";
246
+ }>;
247
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
248
+ deliveryWindowMs: z.ZodNullable<z.ZodNumber>;
249
+ climbDeliveryRatio: z.ZodNumber;
250
+ capacityKbps: z.ZodNullable<z.ZodNumber>;
251
+ probeKbps: z.ZodNullable<z.ZodNumber>;
252
+ nextTierKbps: z.ZodNullable<z.ZodNumber>;
253
+ capacityMargin: z.ZodNumber;
254
+ neededKbps: z.ZodNullable<z.ZodNumber>;
255
+ tryBlockedBy: z.ZodNullable<z.ZodString>;
256
+ tryDeliveryRatio: z.ZodOptional<z.ZodNumber>;
257
+ tryMaxLossRatio: z.ZodOptional<z.ZodNumber>;
258
+ retryInMs: z.ZodNullable<z.ZodNumber>;
259
+ lastRevert: z.ZodNullable<z.ZodObject<{
260
+ tier: z.ZodEnum<{
261
+ high: "high";
262
+ mid: "mid";
263
+ low: "low";
264
+ }>;
265
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
266
+ stalled: z.ZodBoolean;
267
+ at: z.ZodNumber;
268
+ }, z.core.$strip>>;
269
+ trialForMs: z.ZodNullable<z.ZodNumber>;
270
+ trialMs: z.ZodNullable<z.ZodNumber>;
271
+ healthyForMs: z.ZodNullable<z.ZodNumber>;
272
+ requiredHealthyMs: z.ZodNullable<z.ZodNumber>;
273
+ since: z.ZodNumber;
274
+ summary: z.ZodString;
275
+ }, z.core.$strip>>>;
184
276
  }, z.core.$strip>;
185
277
  export type WebrtcSessionDebug = z.infer<typeof WebrtcSessionDebugSchema>;
186
278
  /**
@@ -539,6 +631,7 @@ export declare const webrtcSessionCapability: {
539
631
  stalledForMs: z.ZodNullable<z.ZodNumber>;
540
632
  serverSending: z.ZodNullable<z.ZodBoolean>;
541
633
  at: z.ZodNumber;
634
+ causeDetail: z.ZodOptional<z.ZodString>;
542
635
  }, z.core.$strip>>;
543
636
  tierFailures: z.ZodArray<z.ZodObject<{
544
637
  tier: z.ZodEnum<{
@@ -549,6 +642,42 @@ export declare const webrtcSessionCapability: {
549
642
  failures: z.ZodNumber;
550
643
  }, z.core.$strip>>;
551
644
  upgradeCount: z.ZodNullable<z.ZodNumber>;
645
+ climbHold: z.ZodOptional<z.ZodNullable<z.ZodObject<{
646
+ code: z.ZodString;
647
+ nextTier: z.ZodEnum<{
648
+ high: "high";
649
+ mid: "mid";
650
+ low: "low";
651
+ }>;
652
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
653
+ deliveryWindowMs: z.ZodNullable<z.ZodNumber>;
654
+ climbDeliveryRatio: z.ZodNumber;
655
+ capacityKbps: z.ZodNullable<z.ZodNumber>;
656
+ probeKbps: z.ZodNullable<z.ZodNumber>;
657
+ nextTierKbps: z.ZodNullable<z.ZodNumber>;
658
+ capacityMargin: z.ZodNumber;
659
+ neededKbps: z.ZodNullable<z.ZodNumber>;
660
+ tryBlockedBy: z.ZodNullable<z.ZodString>;
661
+ tryDeliveryRatio: z.ZodOptional<z.ZodNumber>;
662
+ tryMaxLossRatio: z.ZodOptional<z.ZodNumber>;
663
+ retryInMs: z.ZodNullable<z.ZodNumber>;
664
+ lastRevert: z.ZodNullable<z.ZodObject<{
665
+ tier: z.ZodEnum<{
666
+ high: "high";
667
+ mid: "mid";
668
+ low: "low";
669
+ }>;
670
+ deliveryRatio: z.ZodNullable<z.ZodNumber>;
671
+ stalled: z.ZodBoolean;
672
+ at: z.ZodNumber;
673
+ }, z.core.$strip>>;
674
+ trialForMs: z.ZodNullable<z.ZodNumber>;
675
+ trialMs: z.ZodNullable<z.ZodNumber>;
676
+ healthyForMs: z.ZodNullable<z.ZodNumber>;
677
+ requiredHealthyMs: z.ZodNullable<z.ZodNumber>;
678
+ since: z.ZodNumber;
679
+ summary: z.ZodString;
680
+ }, z.core.$strip>>>;
552
681
  }, z.core.$strip>, "query">;
553
682
  };
554
683
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
@@ -2530,6 +2530,13 @@ export type AppRouter = TrpcCoreRouter<{
2530
2530
  output: z.infer<typeof deviceManagerCapability.methods.getAllBindings.output>;
2531
2531
  meta: object;
2532
2532
  }>;
2533
+ listDeviceIdsByCaps: TRPCQueryProcedure<{
2534
+ input: {
2535
+ [x: string]: unknown;
2536
+ } & z.input<typeof deviceManagerCapability.methods.listDeviceIdsByCaps.input>;
2537
+ output: z.infer<typeof deviceManagerCapability.methods.listDeviceIdsByCaps.output>;
2538
+ meta: object;
2539
+ }>;
2533
2540
  setWrapperActive: TRPCMutationProcedure<{
2534
2541
  input: {
2535
2542
  [x: string]: unknown;
@@ -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: 1172 method paths across 160 capabilities.
9
+ * Coverage: 1173 method paths across 160 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -68,7 +68,7 @@ export interface SystemProxy {
68
68
  readonly decoder: Pick<InferProvider<typeof decoderCapability>, 'supportsCodec' | 'getInfo' | 'createSession' | 'destroySession' | 'pushPacket' | 'openStream' | 'pullFrames' | 'pullHandles' | 'getFrame' | 'getShmStats' | 'updateConfig' | 'getStats' | 'listActiveSessions' | 'reprobeHwaccel'>;
69
69
  readonly deviceAdoption: Pick<InferProvider<typeof deviceAdoptionCapability>, 'listCandidateFilters' | 'listCandidates' | 'getCandidate' | 'refresh' | 'adopt' | 'release' | 'resync'>;
70
70
  readonly deviceExport: Pick<InferProvider<typeof deviceExportCapability>, 'getStatus' | 'listSupportedDeviceKinds' | 'listExposedDevices' | 'exposeDevice' | 'unexposeDevice'>;
71
- readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'migrateDevice' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'getRoleDisplayDefaults' | 'setRoleDisplayDefaults' | 'listLocations' | 'addLocation' | 'removeLocation' | 'renameLocation' | 'listLocationIcons' | 'setLocationIcon' | 'listLocationDescriptions' | 'setLocationDescription' | 'listSiteZones' | 'setSiteZone' | 'removeSiteZone' | 'renameSiteZone' | 'setLocationZone' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'getChildrenBatch' | 'getLinkedDevicesBatch' | 'removeByIntegration' | 'getBindingsBatch' | 'getAllBindings' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField' | 'adoptionListCandidateFilters' | 'adoptionListCandidates' | 'adoptionRefresh' | 'adoptionAdopt' | 'adoptionRelease' | 'adoptionStartJob' | 'adoptionListJobs' | 'adoptionCancelJob' | 'adoptionResync' | 'discoveryProviders' | 'discoverAllProviders' | 'discoverProvider' | 'providerCreationType' | 'providerDiscoveryParamsSchema' | 'getDeviceStatusAggregateBatch'>;
71
+ readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'migrateDevice' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'getRoleDisplayDefaults' | 'setRoleDisplayDefaults' | 'listLocations' | 'addLocation' | 'removeLocation' | 'renameLocation' | 'listLocationIcons' | 'setLocationIcon' | 'listLocationDescriptions' | 'setLocationDescription' | 'listSiteZones' | 'setSiteZone' | 'removeSiteZone' | 'renameSiteZone' | 'setLocationZone' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'getChildrenBatch' | 'getLinkedDevicesBatch' | 'removeByIntegration' | 'getBindingsBatch' | 'getAllBindings' | 'listDeviceIdsByCaps' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField' | 'adoptionListCandidateFilters' | 'adoptionListCandidates' | 'adoptionRefresh' | 'adoptionAdopt' | 'adoptionRelease' | 'adoptionStartJob' | 'adoptionListJobs' | 'adoptionCancelJob' | 'adoptionResync' | 'discoveryProviders' | 'discoverAllProviders' | 'discoverProvider' | 'providerCreationType' | 'providerDiscoveryParamsSchema' | 'getDeviceStatusAggregateBatch'>;
72
72
  readonly deviceProvider: Pick<InferProvider<typeof deviceProviderCapability>, 'start' | 'stop' | 'getStatus' | 'getDevices' | 'supportsDiscovery' | 'discoverDevices' | 'getDiscoveryParamsSchema' | 'getManualCreationType' | 'adoptDiscoveredDevice' | 'supportsManualCreation' | 'getChildCreationSchema' | 'createDevice' | 'testCreationField'>;
73
73
  readonly deviceState: Pick<InferProvider<typeof deviceStateCapability>, 'getAllSnapshots'>;
74
74
  readonly faceGallery: Pick<InferProvider<typeof faceGalleryCapability>, 'listIdentities' | 'createIdentity' | 'renameIdentity' | 'deleteIdentity' | 'listIdentitySamples' | 'auditIdentitySamples' | 'removeSample' | 'getFaceMedia' | 'assignFace' | 'unassignFace' | 'deleteFace' | 'assignFaces' | 'unassignFaces' | 'suggestFaceClusters'>;