@camstack/types 1.2.99 → 1.2.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-EY0GNjV9.js");
3
- const require_sleep = require("./sleep-C2XhJhkd.js");
3
+ const require_sleep = require("./sleep-BwXldPpA.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, 52 methods with defaults.
19
+ * Coverage: 24 caps, 53 methods with defaults.
20
20
  */
21
21
  var CAP_INPUT_DEFAULTS = Object.freeze({
22
22
  "addons": { "getLogs": { "limit": 100 } },
@@ -129,6 +129,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
129
129
  "getMotionEvents": { "limit": 1e3 },
130
130
  "getObjectEvents": { "limit": 1e3 },
131
131
  "getSensorEvents": { "limit": 1e3 },
132
+ "listGroups": { "limit": 40 },
132
133
  "listRecentTracks": { "limit": 200 },
133
134
  "searchObjectEvents": {
134
135
  "limit": 50,
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-CIa_iT6b.mjs";
2
- import { A as expandCapMethods, B as ReadinessTimeoutError, I as nodePin, L as readNodePin, T as adminUiCapability, U as scopeKey, _t as BaseAddon, a as asJsonObject, b as viewerUiCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DisposerChain, ht as DATAPLANE_SECRET_HEADER, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as normalizeAddonInitResult, w as DeviceType, xt as emitReadiness, y as deviceOpsCapability, z as ReadinessRegistry } from "./sleep-B8EIZt4h.mjs";
2
+ import { A as expandCapMethods, B as ReadinessTimeoutError, I as nodePin, L as readNodePin, T as adminUiCapability, U as scopeKey, _t as BaseAddon, a as asJsonObject, b as viewerUiCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DisposerChain, ht as DATAPLANE_SECRET_HEADER, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as normalizeAddonInitResult, w as DeviceType, xt as emitReadiness, y as deviceOpsCapability, z as ReadinessRegistry } from "./sleep-C3vjSV4H.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, 52 methods with defaults.
18
+ * Coverage: 24 caps, 53 methods with defaults.
19
19
  */
20
20
  var CAP_INPUT_DEFAULTS = Object.freeze({
21
21
  "addons": { "getLogs": { "limit": 100 } },
@@ -128,6 +128,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
128
128
  "getMotionEvents": { "limit": 1e3 },
129
129
  "getObjectEvents": { "limit": 1e3 },
130
130
  "getSensorEvents": { "limit": 1e3 },
131
+ "listGroups": { "limit": 40 },
131
132
  "listRecentTracks": { "limit": 200 },
132
133
  "searchObjectEvents": {
133
134
  "limit": 50,
@@ -137,6 +137,12 @@ export declare const CustomModelDescriptorSchema: z.ZodObject<{
137
137
  }>>;
138
138
  resolution: z.ZodOptional<z.ZodNumber>;
139
139
  }, z.core.$strip>>;
140
+ provider: z.ZodOptional<z.ZodEnum<{
141
+ custom: "custom";
142
+ camstack: "camstack";
143
+ frigate: "frigate";
144
+ scrypted: "scrypted";
145
+ }>>;
140
146
  classMap: z.ZodOptional<z.ZodObject<{
141
147
  mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
142
148
  person: "person";
@@ -275,6 +281,12 @@ export declare const customModelRegistryCapability: {
275
281
  }>>;
276
282
  resolution: z.ZodOptional<z.ZodNumber>;
277
283
  }, z.core.$strip>>;
284
+ provider: z.ZodOptional<z.ZodEnum<{
285
+ custom: "custom";
286
+ camstack: "camstack";
287
+ frigate: "frigate";
288
+ scrypted: "scrypted";
289
+ }>>;
278
290
  classMap: z.ZodOptional<z.ZodObject<{
279
291
  mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
280
292
  person: "person";
@@ -76,7 +76,7 @@ export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapabili
76
76
  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';
77
77
  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';
78
78
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
79
- export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, type MediaFile, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, 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';
79
+ export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, type MediaFile, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type AnalyticsGroupDetail, AnalyticsGroupDetailSchema, type AnalyticsGroupMember, AnalyticsGroupMemberSchema, type AnalyticsGroupRecord, AnalyticsGroupRecordSchema, type ListGroupsPage, ListGroupsPageSchema, type ListGroupsQuery, ListGroupsQueryInput, 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';
80
80
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
81
81
  export { ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, } from './pipeline-executor.cap.js';
82
82
  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';
@@ -245,6 +245,12 @@ export declare const modelConvertCapability: {
245
245
  }>>;
246
246
  resolution: z.ZodOptional<z.ZodNumber>;
247
247
  }, z.core.$strip>>;
248
+ provider: z.ZodOptional<z.ZodEnum<{
249
+ custom: "custom";
250
+ camstack: "camstack";
251
+ frigate: "frigate";
252
+ scrypted: "scrypted";
253
+ }>>;
248
254
  classMap: z.ZodOptional<z.ZodObject<{
249
255
  mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
250
256
  person: "person";
@@ -139,6 +139,12 @@ export declare const ModelDistributeInputSchema: z.ZodObject<{
139
139
  }>>;
140
140
  resolution: z.ZodOptional<z.ZodNumber>;
141
141
  }, z.core.$strip>>;
142
+ provider: z.ZodOptional<z.ZodEnum<{
143
+ custom: "custom";
144
+ camstack: "camstack";
145
+ frigate: "frigate";
146
+ scrypted: "scrypted";
147
+ }>>;
142
148
  classMap: z.ZodOptional<z.ZodObject<{
143
149
  mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
144
150
  person: "person";
@@ -291,6 +297,12 @@ export declare const modelDistributorCapability: {
291
297
  }>>;
292
298
  resolution: z.ZodOptional<z.ZodNumber>;
293
299
  }, z.core.$strip>>;
300
+ provider: z.ZodOptional<z.ZodEnum<{
301
+ custom: "custom";
302
+ camstack: "camstack";
303
+ frigate: "frigate";
304
+ scrypted: "scrypted";
305
+ }>>;
294
306
  classMap: z.ZodOptional<z.ZodObject<{
295
307
  mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
296
308
  person: "person";
@@ -243,12 +243,15 @@ export declare const NC_AUDIO_DBFS_FLOOR = -96;
243
243
  * there is no second switch that can disagree with the first and every rule
244
244
  * authored before the decision migrates for free (`audioModeOf`):
245
245
  *
246
- * - **LABEL mode — `labels` present.** The rule fires on the FIRST frame the
247
- * classifier labels with one of them. No window, no percentage:
248
- * `hitPercent` and `samplingSeconds` are ignored, and the rule's own
249
- * `throttle` cooldown is the only brake. The per-label confidence floor is
250
- * the analyzer's (`classificationMinScore`, per device) a label only
251
- * reaches this condition if the classifier was already confident enough.
246
+ * - **LABEL mode — `labels` present.** The rule fires when `confirmHits`
247
+ * labelled frames land inside `confirmWindowSec` (default 2 in 5 s).
248
+ * `hitPercent` and `samplingSeconds` are still ignored a percentage of
249
+ * frames is the wrong question for a classifier that labels 1–3 frames
250
+ * per episode. The count window is the brake that drops a single-frame
251
+ * false positive; the rule's own `throttle` cooldown is the other. The
252
+ * per-label confidence floor is the analyzer's (`classificationMinScore`,
253
+ * per device) — a label only reaches this condition if the classifier was
254
+ * already confident enough. `confirmHits: 1` restores first-frame fire.
252
255
  * - **LEVEL mode — `dbThreshold` present, no labels.** The sampling window IS
253
256
  * the condition: at least `hitPercent`% of the samples over
254
257
  * `samplingSeconds` must be at or above `dbThreshold` dBFS (see
@@ -279,6 +282,8 @@ export declare const NcAudioConditionSchema: z.ZodObject<{
279
282
  dbThreshold: z.ZodOptional<z.ZodNumber>;
280
283
  hitPercent: z.ZodDefault<z.ZodNumber>;
281
284
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
285
+ confirmHits: z.ZodOptional<z.ZodNumber>;
286
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
282
287
  }, z.core.$strip>;
283
288
  export type NcAudioCondition = z.infer<typeof NcAudioConditionSchema>;
284
289
  /**
@@ -643,6 +648,8 @@ export declare const NcConditionsSchema: z.ZodObject<{
643
648
  dbThreshold: z.ZodOptional<z.ZodNumber>;
644
649
  hitPercent: z.ZodDefault<z.ZodNumber>;
645
650
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
651
+ confirmHits: z.ZodOptional<z.ZodNumber>;
652
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
646
653
  }, z.core.$strip>>;
647
654
  }, z.core.$strip>;
648
655
  export type NcConditions = z.infer<typeof NcConditionsSchema>;
@@ -925,6 +932,8 @@ export declare const NcRuleInputSchema: z.ZodObject<{
925
932
  dbThreshold: z.ZodOptional<z.ZodNumber>;
926
933
  hitPercent: z.ZodDefault<z.ZodNumber>;
927
934
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
935
+ confirmHits: z.ZodOptional<z.ZodNumber>;
936
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
928
937
  }, z.core.$strip>>;
929
938
  }, z.core.$strip>>;
930
939
  schedule: z.ZodOptional<z.ZodObject<{
@@ -1271,6 +1280,8 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1271
1280
  dbThreshold: z.ZodOptional<z.ZodNumber>;
1272
1281
  hitPercent: z.ZodDefault<z.ZodNumber>;
1273
1282
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
1283
+ confirmHits: z.ZodOptional<z.ZodNumber>;
1284
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
1274
1285
  }, z.core.$strip>>;
1275
1286
  }, z.core.$strip>>;
1276
1287
  media: z.ZodOptional<z.ZodObject<{
@@ -1434,6 +1445,8 @@ export declare const NcRuleSchema: z.ZodObject<{
1434
1445
  dbThreshold: z.ZodOptional<z.ZodNumber>;
1435
1446
  hitPercent: z.ZodDefault<z.ZodNumber>;
1436
1447
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
1448
+ confirmHits: z.ZodOptional<z.ZodNumber>;
1449
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
1437
1450
  }, z.core.$strip>>;
1438
1451
  }, z.core.$strip>>;
1439
1452
  schedule: z.ZodOptional<z.ZodObject<{
@@ -2121,6 +2134,8 @@ export declare const notificationRulesCapability: {
2121
2134
  dbThreshold: z.ZodOptional<z.ZodNumber>;
2122
2135
  hitPercent: z.ZodDefault<z.ZodNumber>;
2123
2136
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
2137
+ confirmHits: z.ZodOptional<z.ZodNumber>;
2138
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
2124
2139
  }, z.core.$strip>>;
2125
2140
  }, z.core.$strip>>;
2126
2141
  schedule: z.ZodOptional<z.ZodObject<{
@@ -2378,6 +2393,8 @@ export declare const notificationRulesCapability: {
2378
2393
  dbThreshold: z.ZodOptional<z.ZodNumber>;
2379
2394
  hitPercent: z.ZodDefault<z.ZodNumber>;
2380
2395
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
2396
+ confirmHits: z.ZodOptional<z.ZodNumber>;
2397
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
2381
2398
  }, z.core.$strip>>;
2382
2399
  }, z.core.$strip>>;
2383
2400
  schedule: z.ZodOptional<z.ZodObject<{
@@ -2633,6 +2650,8 @@ export declare const notificationRulesCapability: {
2633
2650
  dbThreshold: z.ZodOptional<z.ZodNumber>;
2634
2651
  hitPercent: z.ZodDefault<z.ZodNumber>;
2635
2652
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
2653
+ confirmHits: z.ZodOptional<z.ZodNumber>;
2654
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
2636
2655
  }, z.core.$strip>>;
2637
2656
  }, z.core.$strip>>;
2638
2657
  schedule: z.ZodOptional<z.ZodObject<{
@@ -2882,6 +2901,8 @@ export declare const notificationRulesCapability: {
2882
2901
  dbThreshold: z.ZodOptional<z.ZodNumber>;
2883
2902
  hitPercent: z.ZodDefault<z.ZodNumber>;
2884
2903
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
2904
+ confirmHits: z.ZodOptional<z.ZodNumber>;
2905
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
2885
2906
  }, z.core.$strip>>;
2886
2907
  }, z.core.$strip>>;
2887
2908
  schedule: z.ZodOptional<z.ZodObject<{
@@ -3228,6 +3249,8 @@ export declare const notificationRulesCapability: {
3228
3249
  dbThreshold: z.ZodOptional<z.ZodNumber>;
3229
3250
  hitPercent: z.ZodDefault<z.ZodNumber>;
3230
3251
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
3252
+ confirmHits: z.ZodOptional<z.ZodNumber>;
3253
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
3231
3254
  }, z.core.$strip>>;
3232
3255
  }, z.core.$strip>>;
3233
3256
  media: z.ZodOptional<z.ZodObject<{
@@ -3390,6 +3413,8 @@ export declare const notificationRulesCapability: {
3390
3413
  dbThreshold: z.ZodOptional<z.ZodNumber>;
3391
3414
  hitPercent: z.ZodDefault<z.ZodNumber>;
3392
3415
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
3416
+ confirmHits: z.ZodOptional<z.ZodNumber>;
3417
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
3393
3418
  }, z.core.$strip>>;
3394
3419
  }, z.core.$strip>>;
3395
3420
  schedule: z.ZodOptional<z.ZodObject<{
@@ -3693,6 +3718,8 @@ export declare const notificationRulesCapability: {
3693
3718
  dbThreshold: z.ZodOptional<z.ZodNumber>;
3694
3719
  hitPercent: z.ZodDefault<z.ZodNumber>;
3695
3720
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
3721
+ confirmHits: z.ZodOptional<z.ZodNumber>;
3722
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
3696
3723
  }, z.core.$strip>>;
3697
3724
  }, z.core.$strip>>;
3698
3725
  schedule: z.ZodOptional<z.ZodObject<{
@@ -200,6 +200,8 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
200
200
  dbThreshold: z.ZodOptional<z.ZodNumber>;
201
201
  hitPercent: z.ZodDefault<z.ZodNumber>;
202
202
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
203
+ confirmHits: z.ZodOptional<z.ZodNumber>;
204
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
203
205
  }, z.core.$strip>>;
204
206
  }, z.core.$strip>>;
205
207
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -363,6 +365,8 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
363
365
  dbThreshold: z.ZodOptional<z.ZodNumber>;
364
366
  hitPercent: z.ZodDefault<z.ZodNumber>;
365
367
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
368
+ confirmHits: z.ZodOptional<z.ZodNumber>;
369
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
366
370
  }, z.core.$strip>>;
367
371
  }, z.core.$strip>>;
368
372
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -598,6 +602,8 @@ export declare const osdManagerCapability: {
598
602
  dbThreshold: z.ZodOptional<z.ZodNumber>;
599
603
  hitPercent: z.ZodDefault<z.ZodNumber>;
600
604
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
605
+ confirmHits: z.ZodOptional<z.ZodNumber>;
606
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
601
607
  }, z.core.$strip>>;
602
608
  }, z.core.$strip>>;
603
609
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -850,6 +856,8 @@ export declare const osdManagerCapability: {
850
856
  dbThreshold: z.ZodOptional<z.ZodNumber>;
851
857
  hitPercent: z.ZodDefault<z.ZodNumber>;
852
858
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
859
+ confirmHits: z.ZodOptional<z.ZodNumber>;
860
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
853
861
  }, z.core.$strip>>;
854
862
  }, z.core.$strip>>;
855
863
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -1012,6 +1020,8 @@ export declare const osdManagerCapability: {
1012
1020
  dbThreshold: z.ZodOptional<z.ZodNumber>;
1013
1021
  hitPercent: z.ZodDefault<z.ZodNumber>;
1014
1022
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
1023
+ confirmHits: z.ZodOptional<z.ZodNumber>;
1024
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
1015
1025
  }, z.core.$strip>>;
1016
1026
  }, z.core.$strip>>;
1017
1027
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -1206,6 +1216,8 @@ export declare const osdManagerCapability: {
1206
1216
  dbThreshold: z.ZodOptional<z.ZodNumber>;
1207
1217
  hitPercent: z.ZodDefault<z.ZodNumber>;
1208
1218
  samplingSeconds: z.ZodDefault<z.ZodNumber>;
1219
+ confirmHits: z.ZodOptional<z.ZodNumber>;
1220
+ confirmWindowSec: z.ZodOptional<z.ZodNumber>;
1209
1221
  }, z.core.$strip>>;
1210
1222
  }, z.core.$strip>>;
1211
1223
  fallbackText: z.ZodDefault<z.ZodString>;
@@ -1113,6 +1113,76 @@ declare const RecentTracksPageSchema: z.ZodObject<{
1113
1113
  nextCursor: z.ZodNullable<z.ZodString>;
1114
1114
  }, z.core.$strip>;
1115
1115
  export type RecentTracksPage = z.infer<typeof RecentTracksPageSchema>;
1116
+ export declare const AnalyticsGroupRecordSchema: z.ZodObject<{
1117
+ id: z.ZodString;
1118
+ deviceId: z.ZodNumber;
1119
+ openedAt: z.ZodNumber;
1120
+ closedAt: z.ZodNumber;
1121
+ timestamp: z.ZodNumber;
1122
+ memberCount: z.ZodNumber;
1123
+ memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1124
+ className: z.ZodString;
1125
+ classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1126
+ mediaUrl: z.ZodNullable<z.ZodString>;
1127
+ singleton: z.ZodBoolean;
1128
+ }, z.core.$strip>;
1129
+ export type AnalyticsGroupRecord = z.infer<typeof AnalyticsGroupRecordSchema>;
1130
+ export declare const AnalyticsGroupMemberSchema: z.ZodObject<{
1131
+ trackId: z.ZodString;
1132
+ deviceId: z.ZodNumber;
1133
+ className: z.ZodString;
1134
+ firstSeen: z.ZodNumber;
1135
+ lastSeen: z.ZodNumber;
1136
+ mediaUrl: z.ZodNullable<z.ZodString>;
1137
+ }, z.core.$strip>;
1138
+ export type AnalyticsGroupMember = z.infer<typeof AnalyticsGroupMemberSchema>;
1139
+ export declare const AnalyticsGroupDetailSchema: z.ZodObject<{
1140
+ id: z.ZodString;
1141
+ deviceId: z.ZodNumber;
1142
+ openedAt: z.ZodNumber;
1143
+ closedAt: z.ZodNumber;
1144
+ timestamp: z.ZodNumber;
1145
+ memberCount: z.ZodNumber;
1146
+ memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1147
+ className: z.ZodString;
1148
+ classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1149
+ mediaUrl: z.ZodNullable<z.ZodString>;
1150
+ singleton: z.ZodBoolean;
1151
+ members: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1152
+ trackId: z.ZodString;
1153
+ deviceId: z.ZodNumber;
1154
+ className: z.ZodString;
1155
+ firstSeen: z.ZodNumber;
1156
+ lastSeen: z.ZodNumber;
1157
+ mediaUrl: z.ZodNullable<z.ZodString>;
1158
+ }, z.core.$strip>>>;
1159
+ }, z.core.$strip>;
1160
+ export type AnalyticsGroupDetail = z.infer<typeof AnalyticsGroupDetailSchema>;
1161
+ export declare const ListGroupsQueryInput: z.ZodObject<{
1162
+ deviceIds: z.ZodArray<z.ZodNumber>;
1163
+ since: z.ZodOptional<z.ZodNumber>;
1164
+ until: z.ZodOptional<z.ZodNumber>;
1165
+ limit: z.ZodDefault<z.ZodNumber>;
1166
+ cursor: z.ZodOptional<z.ZodString>;
1167
+ }, z.core.$strip>;
1168
+ export type ListGroupsQuery = z.infer<typeof ListGroupsQueryInput>;
1169
+ export declare const ListGroupsPageSchema: z.ZodObject<{
1170
+ groups: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1171
+ id: z.ZodString;
1172
+ deviceId: z.ZodNumber;
1173
+ openedAt: z.ZodNumber;
1174
+ closedAt: z.ZodNumber;
1175
+ timestamp: z.ZodNumber;
1176
+ memberCount: z.ZodNumber;
1177
+ memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1178
+ className: z.ZodString;
1179
+ classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1180
+ mediaUrl: z.ZodNullable<z.ZodString>;
1181
+ singleton: z.ZodBoolean;
1182
+ }, z.core.$strip>>>;
1183
+ nextCursor: z.ZodNullable<z.ZodString>;
1184
+ }, z.core.$strip>;
1185
+ export type ListGroupsPage = z.infer<typeof ListGroupsPageSchema>;
1116
1186
  declare const KeyEventSchema: z.ZodObject<{
1117
1187
  retrainStatus: z.ZodOptional<z.ZodEnum<{
1118
1188
  none: "none";
@@ -1233,6 +1303,7 @@ declare const TrackCascadeCountsSchema: z.ZodObject<{
1233
1303
  faces: z.ZodNumber;
1234
1304
  plates: z.ZodNumber;
1235
1305
  embeddings: z.ZodNumber;
1306
+ groups: z.ZodNumber;
1236
1307
  }, z.core.$strip>;
1237
1308
  export type TrackCascadeCounts = z.infer<typeof TrackCascadeCountsSchema>;
1238
1309
  /** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
@@ -1707,6 +1778,57 @@ export declare const pipelineAnalyticsCapability: {
1707
1778
  }, z.core.$strip>>>;
1708
1779
  nextCursor: z.ZodNullable<z.ZodString>;
1709
1780
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
1781
+ /**
1782
+ * Batched co-moving group listing — the Groups feed. Same merge/cursor
1783
+ * contract as {@link listRecentTracks}. A group is a sealed partition of
1784
+ * one session; `getGroup` is the detail with members.
1785
+ */
1786
+ readonly listGroups: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1787
+ deviceIds: z.ZodArray<z.ZodNumber>;
1788
+ since: z.ZodOptional<z.ZodNumber>;
1789
+ until: z.ZodOptional<z.ZodNumber>;
1790
+ limit: z.ZodDefault<z.ZodNumber>;
1791
+ cursor: z.ZodOptional<z.ZodString>;
1792
+ }, z.core.$strip>, z.ZodObject<{
1793
+ groups: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1794
+ id: z.ZodString;
1795
+ deviceId: z.ZodNumber;
1796
+ openedAt: z.ZodNumber;
1797
+ closedAt: z.ZodNumber;
1798
+ timestamp: z.ZodNumber;
1799
+ memberCount: z.ZodNumber;
1800
+ memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1801
+ className: z.ZodString;
1802
+ classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1803
+ mediaUrl: z.ZodNullable<z.ZodString>;
1804
+ singleton: z.ZodBoolean;
1805
+ }, z.core.$strip>>>;
1806
+ nextCursor: z.ZodNullable<z.ZodString>;
1807
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
1808
+ readonly getGroup: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1809
+ deviceId: z.ZodNumber;
1810
+ groupId: z.ZodString;
1811
+ }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
1812
+ id: z.ZodString;
1813
+ deviceId: z.ZodNumber;
1814
+ openedAt: z.ZodNumber;
1815
+ closedAt: z.ZodNumber;
1816
+ timestamp: z.ZodNumber;
1817
+ memberCount: z.ZodNumber;
1818
+ memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1819
+ className: z.ZodString;
1820
+ classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1821
+ mediaUrl: z.ZodNullable<z.ZodString>;
1822
+ singleton: z.ZodBoolean;
1823
+ members: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1824
+ trackId: z.ZodString;
1825
+ deviceId: z.ZodNumber;
1826
+ className: z.ZodString;
1827
+ firstSeen: z.ZodNumber;
1828
+ lastSeen: z.ZodNumber;
1829
+ mediaUrl: z.ZodNullable<z.ZodString>;
1830
+ }, z.core.$strip>>>;
1831
+ }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
1710
1832
  readonly clearTracks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1711
1833
  deviceId: z.ZodNumber;
1712
1834
  }, z.core.$strip>, z.ZodVoid, "mutation">;
@@ -2061,6 +2183,7 @@ export declare const pipelineAnalyticsCapability: {
2061
2183
  faces: z.ZodNumber;
2062
2184
  plates: z.ZodNumber;
2063
2185
  embeddings: z.ZodNumber;
2186
+ groups: z.ZodNumber;
2064
2187
  }, z.core.$strip>, "mutation">;
2065
2188
  /**
2066
2189
  * Operator "clean slate" for a device (design §5.3): prune EVERY track for
@@ -2078,6 +2201,7 @@ export declare const pipelineAnalyticsCapability: {
2078
2201
  faces: z.ZodNumber;
2079
2202
  plates: z.ZodNumber;
2080
2203
  embeddings: z.ZodNumber;
2204
+ groups: z.ZodNumber;
2081
2205
  }, z.core.$strip>, "mutation">;
2082
2206
  /**
2083
2207
  * Disk-wins reconcile for one camera. Drops media index rows whose blobs
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { type InferProvider } from './capability-definition.js';
3
- import type { ConfigUISchema, ConfigField } from '../interfaces/config-ui.js';
2
+ import type { ConfigField, ConfigUISchema } from '../interfaces/config-ui.js';
4
3
  import type { InferenceCapabilities, ModelAvailability } from '../interfaces/inference-capabilities.js';
5
- import type { PipelineConfig } from '../types/pipeline.js';
6
- import type { FrameResult, AudioResult } from '../types/detection.js';
4
+ import type { AudioResult, FrameResult } from '../types/detection.js';
7
5
  import type { FrameRef, FrameViewSpec } from '../types/frame-view.js';
6
+ import type { PipelineConfig } from '../types/pipeline.js';
7
+ import { type InferProvider } from './capability-definition.js';
8
8
  /**
9
9
  * Reference to the frame's retained NATIVE surface + the parent crop's placement
10
10
  * within the frame, so the executor can re-cut a leaf child ROI at native
@@ -149,6 +149,12 @@ declare const PipelineModelOptionSchema: z.ZodObject<{
149
149
  resolution: z.ZodOptional<z.ZodNumber>;
150
150
  }, z.core.$strip>>;
151
151
  legacy: z.ZodOptional<z.ZodBoolean>;
152
+ provider: z.ZodOptional<z.ZodEnum<{
153
+ custom: "custom";
154
+ camstack: "camstack";
155
+ frigate: "frigate";
156
+ scrypted: "scrypted";
157
+ }>>;
152
158
  }, z.core.$strip>;
153
159
  declare const PipelineAddonSchemaSchema: z.ZodObject<{
154
160
  id: z.ZodString;
@@ -190,6 +196,12 @@ declare const PipelineAddonSchemaSchema: z.ZodObject<{
190
196
  resolution: z.ZodOptional<z.ZodNumber>;
191
197
  }, z.core.$strip>>;
192
198
  legacy: z.ZodOptional<z.ZodBoolean>;
199
+ provider: z.ZodOptional<z.ZodEnum<{
200
+ custom: "custom";
201
+ camstack: "camstack";
202
+ frigate: "frigate";
203
+ scrypted: "scrypted";
204
+ }>>;
193
205
  }, z.core.$strip>>>;
194
206
  defaultModelId: z.ZodString;
195
207
  defaultModelIdByFormat: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -256,6 +268,12 @@ declare const PipelineSlotSchemaSchema: z.ZodObject<{
256
268
  resolution: z.ZodOptional<z.ZodNumber>;
257
269
  }, z.core.$strip>>;
258
270
  legacy: z.ZodOptional<z.ZodBoolean>;
271
+ provider: z.ZodOptional<z.ZodEnum<{
272
+ custom: "custom";
273
+ camstack: "camstack";
274
+ frigate: "frigate";
275
+ scrypted: "scrypted";
276
+ }>>;
259
277
  }, z.core.$strip>>>;
260
278
  defaultModelId: z.ZodString;
261
279
  defaultModelIdByFormat: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -364,6 +382,12 @@ declare const PipelineSchemaSchema: z.ZodObject<{
364
382
  resolution: z.ZodOptional<z.ZodNumber>;
365
383
  }, z.core.$strip>>;
366
384
  legacy: z.ZodOptional<z.ZodBoolean>;
385
+ provider: z.ZodOptional<z.ZodEnum<{
386
+ custom: "custom";
387
+ camstack: "camstack";
388
+ frigate: "frigate";
389
+ scrypted: "scrypted";
390
+ }>>;
367
391
  }, z.core.$strip>>>;
368
392
  defaultModelId: z.ZodString;
369
393
  defaultModelIdByFormat: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -675,6 +699,12 @@ export declare const pipelineExecutorCapability: {
675
699
  resolution: z.ZodOptional<z.ZodNumber>;
676
700
  }, z.core.$strip>>;
677
701
  legacy: z.ZodOptional<z.ZodBoolean>;
702
+ provider: z.ZodOptional<z.ZodEnum<{
703
+ custom: "custom";
704
+ camstack: "camstack";
705
+ frigate: "frigate";
706
+ scrypted: "scrypted";
707
+ }>>;
678
708
  }, z.core.$strip>>>;
679
709
  defaultModelId: z.ZodString;
680
710
  defaultModelIdByFormat: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -1181,4 +1211,4 @@ export declare const pipelineExecutorCapability: {
1181
1211
  };
1182
1212
  };
1183
1213
  export type IPipelineExecutorProvider = InferProvider<typeof pipelineExecutorCapability>;
1184
- export { PipelineEngineChoiceSchema, PipelineDefaultStepSchema, PipelineSchemaSchema, PipelineAddonSchemaSchema, PipelineSlotSchemaSchema, PipelineModelOptionSchema, AvailableEngineSchema, PipelineTemplateSchema, PipelineTemplateStepSchema, EngineDeviceInfoSchema, EngineProvisioningSchema, ModelSubstitutionSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, };
1214
+ export { AvailableEngineSchema, EngineDeviceInfoSchema, EngineProvisioningSchema, ModelSubstitutionSchema, PipelineAddonSchemaSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineModelOptionSchema, PipelineSchemaSchema, PipelineSlotSchemaSchema, PipelineTemplateSchema, PipelineTemplateStepSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, };
@@ -4830,6 +4830,20 @@ export type AppRouter = TrpcCoreRouter<{
4830
4830
  output: z.infer<typeof pipelineAnalyticsCapability.methods.listRecentTracks.output>;
4831
4831
  meta: object;
4832
4832
  }>;
4833
+ listGroups: TRPCQueryProcedure<{
4834
+ input: {
4835
+ [x: string]: unknown;
4836
+ } & z.input<typeof pipelineAnalyticsCapability.methods.listGroups.input>;
4837
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.listGroups.output>;
4838
+ meta: object;
4839
+ }>;
4840
+ getGroup: TRPCQueryProcedure<{
4841
+ input: {
4842
+ [x: string]: unknown;
4843
+ } & z.input<typeof pipelineAnalyticsCapability.methods.getGroup.input>;
4844
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.getGroup.output>;
4845
+ meta: object;
4846
+ }>;
4833
4847
  clearTracks: TRPCMutationProcedure<{
4834
4848
  input: {
4835
4849
  [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, 52 methods with defaults.
14
+ * Coverage: 24 caps, 53 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
  /**
@@ -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: 951 method paths across 123 capabilities.
9
+ * Coverage: 953 method paths across 123 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: 337 methods carry a device reference, of which
9
+ * Coverage: 339 methods carry a device reference, of which
10
10
  * 124 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
package/dist/index.d.ts CHANGED
@@ -191,7 +191,7 @@ export type { AudioCodecInfo, AudioDecodeSessionConfig, AudioEncodedChunk, Audio
191
191
  export type { StreamQuality } from './interfaces/device-capabilities/camera.js';
192
192
  export { STREAM_QUALITY_LABELS, streamQualityLabel, } from './interfaces/device-capabilities/camera.js';
193
193
  export * from './lifecycle/index.js';
194
- export { audioIsFailClosed, audioKindId, audioLabelChoices, audioModeOf, audioOrDefaults, isAudioLabelSelected, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, type NcAudioLabelChoice, type NcAudioMode, type NcAudioPatch, normalizeAudioLabel, patchAudio, toggleAudioLabel, } from './notification/audio-condition.js';
194
+ export { audioIsFailClosed, audioKindId, audioLabelChoices, audioModeOf, audioOrDefaults, isAudioLabelSelected, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, type NcAudioLabelChoice, type NcAudioMode, type NcAudioPatch, normalizeAudioLabel, patchAudio, toggleAudioLabel, } from './notification/audio-condition.js';
195
195
  export { isBaseConditionKey, knownValues, NC_BASE_CONDITION_KEYS, type NcBaseConditionKey, pickerForCondition, type TaxonomyGroup, type TaxonomyOption, type TaxonomyPicker, } from './notification/condition-taxonomy.js';
196
196
  export { type PreparedAction, type PreparedAttachment, type PreparedNotification, prepareNotification, type ResolvedLevel, } from './notification/degrade-engine.js';
197
197
  export { htmlToText, markdownToHtmlLite, markdownToText, type NotificationFormat as NotificationBodyFormat, resolveFormat, textToHtml, transcodeBody, } from './notification/format-transcode.js';