@camstack/types 1.2.278 → 1.2.280
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/capabilities/index.d.ts +2 -2
- package/dist/capabilities/notification-rules.cap.d.ts +14 -14
- package/dist/capabilities/osd-manager.cap.d.ts +6 -6
- package/dist/capabilities/pipeline-analytics.cap.d.ts +6 -0
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +62 -0
- package/dist/generated/addon-api.d.ts +7 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/i18n/state-labels.d.ts +41 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +325 -20
- package/dist/index.mjs +313 -21
- package/dist/interfaces/event-bus.d.ts +3 -0
- package/dist/notification/condition-taxonomy.d.ts +12 -0
- package/dist/types/appearance.d.ts +44 -0
- package/dist/types/detection.d.ts +12 -0
- package/package.json +1 -1
|
@@ -88,8 +88,8 @@ export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthI
|
|
|
88
88
|
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 RebuildObjectEmbeddingsRefusal, RebuildObjectEmbeddingsRefusalSchema, 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';
|
|
89
89
|
export type { EffectiveTuning, EffectiveTuningInput, NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
|
|
90
90
|
export { EffectiveTuningSchema, ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, } from './pipeline-executor.cap.js';
|
|
91
|
-
export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, ClusterModelChoice, ClusterModelChoiceUnreadableReason, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, SetCameraSensorsInput, } from './pipeline-orchestrator.cap.js';
|
|
92
|
-
export { AgentLoadSummarySchema, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, ClusterModelChoiceSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CapabilityBindingsSchema, DiskReconcileJobSchema, GlobalMetricsSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, PipelineAssignmentSchema, pipelineOrchestratorCapability, SetCameraSensorsInputSchema, } from './pipeline-orchestrator.cap.js';
|
|
91
|
+
export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, ClusterModelChoice, ClusterModelChoiceUnreadableReason, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, OccupancyLookAnswer, OccupancyLookRefusal, OccupancyLookRequest, SetCameraSensorsInput, } from './pipeline-orchestrator.cap.js';
|
|
92
|
+
export { AgentLoadSummarySchema, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, ClusterModelChoiceSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CapabilityBindingsSchema, DiskReconcileJobSchema, GlobalMetricsSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, PipelineAssignmentSchema, pipelineOrchestratorCapability, SetCameraSensorsInputSchema, } from './pipeline-orchestrator.cap.js';
|
|
93
93
|
export type { DetailParent, DetailResult, MotionSource, MotionSources, OccupancyBurstRefusal, ParkedFrameKind, ParkedTrackFrame, ParkRefusal, ParkTrackFrameResult, ReportMotionInput, RunDetailSubtreeInput, RunDetailSubtreeResult, RunnerFrameSource, RunnerInferenceDevice, RunnerJumpStepProvisioning, RunStatelessStepInput, RunStatelessStepResult, StatelessStepRefusal, } from './pipeline-runner.cap.js';
|
|
94
94
|
export { type DetectionSources, DetectionSourcesSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, MOTION_SOURCE_LABELS, MotionSourceEnum, MotionSourcesSchema, motionSourceLabel, type NativeCropBbox, NativeCropBboxSchema, NativeCropResultSchema, OccupancyBurstRefusalSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, pipelineRunnerCapability, ReportMotionInputSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, } from './pipeline-runner.cap.js';
|
|
95
95
|
export { AUDIO_NOT_CLASSIFIED_REASONS, AudioChunkInputSchema, AudioClassificationLabelSchema, AudioClassifyOutcomeSchema, AudioLevelSchema, BoundingBoxSchema, FrameInputSchema, SpatialDetectionSchema, } from './schemas/detection-shared.js';
|
|
@@ -428,7 +428,7 @@ export type NcSensorTransition = z.infer<typeof NcSensorTransitionSchema>;
|
|
|
428
428
|
/** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
|
|
429
429
|
export declare const NcZoneConditionSchema: z.ZodObject<{
|
|
430
430
|
ids: z.ZodArray<z.ZodString>;
|
|
431
|
-
match: z.
|
|
431
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
432
432
|
any: "any";
|
|
433
433
|
all: "all";
|
|
434
434
|
}>>;
|
|
@@ -672,7 +672,7 @@ export declare const NcConditionsSchema: z.ZodObject<{
|
|
|
672
672
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
673
673
|
zones: z.ZodOptional<z.ZodObject<{
|
|
674
674
|
ids: z.ZodArray<z.ZodString>;
|
|
675
|
-
match: z.
|
|
675
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
676
676
|
any: "any";
|
|
677
677
|
all: "all";
|
|
678
678
|
}>>;
|
|
@@ -1015,7 +1015,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
|
|
|
1015
1015
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1016
1016
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1017
1017
|
ids: z.ZodArray<z.ZodString>;
|
|
1018
|
-
match: z.
|
|
1018
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1019
1019
|
any: "any";
|
|
1020
1020
|
all: "all";
|
|
1021
1021
|
}>>;
|
|
@@ -1415,7 +1415,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
|
|
|
1415
1415
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1416
1416
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1417
1417
|
ids: z.ZodArray<z.ZodString>;
|
|
1418
|
-
match: z.
|
|
1418
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1419
1419
|
any: "any";
|
|
1420
1420
|
all: "all";
|
|
1421
1421
|
}>>;
|
|
@@ -1730,7 +1730,7 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
|
|
|
1730
1730
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1731
1731
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1732
1732
|
ids: z.ZodArray<z.ZodString>;
|
|
1733
|
-
match: z.
|
|
1733
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1734
1734
|
any: "any";
|
|
1735
1735
|
all: "all";
|
|
1736
1736
|
}>>;
|
|
@@ -1931,7 +1931,7 @@ export declare const NcRuleSchema: z.ZodObject<{
|
|
|
1931
1931
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1932
1932
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1933
1933
|
ids: z.ZodArray<z.ZodString>;
|
|
1934
|
-
match: z.
|
|
1934
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1935
1935
|
any: "any";
|
|
1936
1936
|
all: "all";
|
|
1937
1937
|
}>>;
|
|
@@ -3358,7 +3358,7 @@ export declare const notificationRulesCapability: {
|
|
|
3358
3358
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
3359
3359
|
zones: z.ZodOptional<z.ZodObject<{
|
|
3360
3360
|
ids: z.ZodArray<z.ZodString>;
|
|
3361
|
-
match: z.
|
|
3361
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
3362
3362
|
any: "any";
|
|
3363
3363
|
all: "all";
|
|
3364
3364
|
}>>;
|
|
@@ -3655,7 +3655,7 @@ export declare const notificationRulesCapability: {
|
|
|
3655
3655
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
3656
3656
|
zones: z.ZodOptional<z.ZodObject<{
|
|
3657
3657
|
ids: z.ZodArray<z.ZodString>;
|
|
3658
|
-
match: z.
|
|
3658
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
3659
3659
|
any: "any";
|
|
3660
3660
|
all: "all";
|
|
3661
3661
|
}>>;
|
|
@@ -3950,7 +3950,7 @@ export declare const notificationRulesCapability: {
|
|
|
3950
3950
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
3951
3951
|
zones: z.ZodOptional<z.ZodObject<{
|
|
3952
3952
|
ids: z.ZodArray<z.ZodString>;
|
|
3953
|
-
match: z.
|
|
3953
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
3954
3954
|
any: "any";
|
|
3955
3955
|
all: "all";
|
|
3956
3956
|
}>>;
|
|
@@ -4239,7 +4239,7 @@ export declare const notificationRulesCapability: {
|
|
|
4239
4239
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
4240
4240
|
zones: z.ZodOptional<z.ZodObject<{
|
|
4241
4241
|
ids: z.ZodArray<z.ZodString>;
|
|
4242
|
-
match: z.
|
|
4242
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
4243
4243
|
any: "any";
|
|
4244
4244
|
all: "all";
|
|
4245
4245
|
}>>;
|
|
@@ -4639,7 +4639,7 @@ export declare const notificationRulesCapability: {
|
|
|
4639
4639
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
4640
4640
|
zones: z.ZodOptional<z.ZodObject<{
|
|
4641
4641
|
ids: z.ZodArray<z.ZodString>;
|
|
4642
|
-
match: z.
|
|
4642
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
4643
4643
|
any: "any";
|
|
4644
4644
|
all: "all";
|
|
4645
4645
|
}>>;
|
|
@@ -4838,7 +4838,7 @@ export declare const notificationRulesCapability: {
|
|
|
4838
4838
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
4839
4839
|
zones: z.ZodOptional<z.ZodObject<{
|
|
4840
4840
|
ids: z.ZodArray<z.ZodString>;
|
|
4841
|
-
match: z.
|
|
4841
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
4842
4842
|
any: "any";
|
|
4843
4843
|
all: "all";
|
|
4844
4844
|
}>>;
|
|
@@ -5215,7 +5215,7 @@ export declare const notificationRulesCapability: {
|
|
|
5215
5215
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
5216
5216
|
zones: z.ZodOptional<z.ZodObject<{
|
|
5217
5217
|
ids: z.ZodArray<z.ZodString>;
|
|
5218
|
-
match: z.
|
|
5218
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
5219
5219
|
any: "any";
|
|
5220
5220
|
all: "all";
|
|
5221
5221
|
}>>;
|
|
@@ -5529,7 +5529,7 @@ export declare const notificationRulesCapability: {
|
|
|
5529
5529
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
5530
5530
|
zones: z.ZodOptional<z.ZodObject<{
|
|
5531
5531
|
ids: z.ZodArray<z.ZodString>;
|
|
5532
|
-
match: z.
|
|
5532
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
5533
5533
|
any: "any";
|
|
5534
5534
|
all: "all";
|
|
5535
5535
|
}>>;
|
|
@@ -109,7 +109,7 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
|
|
|
109
109
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
110
110
|
zones: z.ZodOptional<z.ZodObject<{
|
|
111
111
|
ids: z.ZodArray<z.ZodString>;
|
|
112
|
-
match: z.
|
|
112
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
113
113
|
any: "any";
|
|
114
114
|
all: "all";
|
|
115
115
|
}>>;
|
|
@@ -294,7 +294,7 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
|
|
|
294
294
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
295
295
|
zones: z.ZodOptional<z.ZodObject<{
|
|
296
296
|
ids: z.ZodArray<z.ZodString>;
|
|
297
|
-
match: z.
|
|
297
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
298
298
|
any: "any";
|
|
299
299
|
all: "all";
|
|
300
300
|
}>>;
|
|
@@ -551,7 +551,7 @@ export declare const osdManagerCapability: {
|
|
|
551
551
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
552
552
|
zones: z.ZodOptional<z.ZodObject<{
|
|
553
553
|
ids: z.ZodArray<z.ZodString>;
|
|
554
|
-
match: z.
|
|
554
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
555
555
|
any: "any";
|
|
556
556
|
all: "all";
|
|
557
557
|
}>>;
|
|
@@ -827,7 +827,7 @@ export declare const osdManagerCapability: {
|
|
|
827
827
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
828
828
|
zones: z.ZodOptional<z.ZodObject<{
|
|
829
829
|
ids: z.ZodArray<z.ZodString>;
|
|
830
|
-
match: z.
|
|
830
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
831
831
|
any: "any";
|
|
832
832
|
all: "all";
|
|
833
833
|
}>>;
|
|
@@ -1011,7 +1011,7 @@ export declare const osdManagerCapability: {
|
|
|
1011
1011
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1012
1012
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1013
1013
|
ids: z.ZodArray<z.ZodString>;
|
|
1014
|
-
match: z.
|
|
1014
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1015
1015
|
any: "any";
|
|
1016
1016
|
all: "all";
|
|
1017
1017
|
}>>;
|
|
@@ -1227,7 +1227,7 @@ export declare const osdManagerCapability: {
|
|
|
1227
1227
|
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
1228
1228
|
zones: z.ZodOptional<z.ZodObject<{
|
|
1229
1229
|
ids: z.ZodArray<z.ZodString>;
|
|
1230
|
-
match: z.
|
|
1230
|
+
match: z.ZodOptional<z.ZodEnum<{
|
|
1231
1231
|
any: "any";
|
|
1232
1232
|
all: "all";
|
|
1233
1233
|
}>>;
|
|
@@ -2890,6 +2890,11 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
2890
2890
|
*
|
|
2891
2891
|
* Operator-driven from the DI Events page (batch delete). Routes through
|
|
2892
2892
|
* the same widened track-deletion cascade (design §5.2).
|
|
2893
|
+
*
|
|
2894
|
+
* `sparedMediaIds` (D683 Task 14): media rows the cascade LEFT because a
|
|
2895
|
+
* live stationary entry vouches for them (its key frame, owned by a track
|
|
2896
|
+
* that moved and was kept). Released when the entry retires. Optional:
|
|
2897
|
+
* absent from a provider that predates it.
|
|
2893
2898
|
*/
|
|
2894
2899
|
readonly deleteTracks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2895
2900
|
deviceId: z.ZodNumber;
|
|
@@ -2897,6 +2902,7 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
2897
2902
|
}, z.core.$strip>, z.ZodObject<{
|
|
2898
2903
|
deleted: z.ZodNumber;
|
|
2899
2904
|
failed: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
2905
|
+
sparedMediaIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
|
|
2900
2906
|
}, z.core.$strip>, "mutation">;
|
|
2901
2907
|
/**
|
|
2902
2908
|
* Set the per-track operator flags (`markForTrain`, `debug`, `favourited`) on ONE track.
|
|
@@ -712,6 +712,45 @@ export declare const SetCameraSensorsInputSchema: z.ZodObject<{
|
|
|
712
712
|
}, z.core.$strip>>;
|
|
713
713
|
}, z.core.$strip>;
|
|
714
714
|
export type SetCameraSensorsInput = z.infer<typeof SetCameraSensorsInputSchema>;
|
|
715
|
+
/**
|
|
716
|
+
* Why an early occupancy look (D691) was not scheduled.
|
|
717
|
+
*
|
|
718
|
+
* - `unknown-camera` — no session was ever dispatched for it, so there is no
|
|
719
|
+
* node and no config to attach a burst with.
|
|
720
|
+
* - `out-of-range` — the ask is negative or further out than the orchestrator
|
|
721
|
+
* will hold a timer for; the parked-object cadence is the answer there.
|
|
722
|
+
* - `no-burst-producer` — this build has no burst producer at all.
|
|
723
|
+
* - `already-looked` — this camera's ONE early look since its last session has
|
|
724
|
+
* been spent. A look's own burst can re-arm a flickering flip, and a look
|
|
725
|
+
* per arm would chain a burst every ~30 s forever (review H2); the next
|
|
726
|
+
* real session re-arms the budget.
|
|
727
|
+
*/
|
|
728
|
+
export declare const OccupancyLookRefusalSchema: z.ZodEnum<{
|
|
729
|
+
"unknown-camera": "unknown-camera";
|
|
730
|
+
"out-of-range": "out-of-range";
|
|
731
|
+
"no-burst-producer": "no-burst-producer";
|
|
732
|
+
"already-looked": "already-looked";
|
|
733
|
+
}>;
|
|
734
|
+
export type OccupancyLookRefusal = z.infer<typeof OccupancyLookRefusalSchema>;
|
|
735
|
+
/** The input of `requestOccupancyLook` (D691). */
|
|
736
|
+
export declare const OccupancyLookRequestSchema: z.ZodObject<{
|
|
737
|
+
deviceId: z.ZodNumber;
|
|
738
|
+
afterMs: z.ZodNumber;
|
|
739
|
+
reason: z.ZodString;
|
|
740
|
+
}, z.core.$strip>;
|
|
741
|
+
export type OccupancyLookRequest = z.infer<typeof OccupancyLookRequestSchema>;
|
|
742
|
+
/** The answer of `requestOccupancyLook` (D691). */
|
|
743
|
+
export declare const OccupancyLookAnswerSchema: z.ZodObject<{
|
|
744
|
+
scheduled: z.ZodBoolean;
|
|
745
|
+
dueInMs: z.ZodOptional<z.ZodNumber>;
|
|
746
|
+
refusedBecause: z.ZodOptional<z.ZodEnum<{
|
|
747
|
+
"unknown-camera": "unknown-camera";
|
|
748
|
+
"out-of-range": "out-of-range";
|
|
749
|
+
"no-burst-producer": "no-burst-producer";
|
|
750
|
+
"already-looked": "already-looked";
|
|
751
|
+
}>>;
|
|
752
|
+
}, z.core.$strip>;
|
|
753
|
+
export type OccupancyLookAnswer = z.infer<typeof OccupancyLookAnswerSchema>;
|
|
715
754
|
export declare const pipelineOrchestratorCapability: {
|
|
716
755
|
readonly name: "pipeline-orchestrator";
|
|
717
756
|
readonly scope: "system";
|
|
@@ -719,6 +758,29 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
719
758
|
readonly nodeIdMode: "data";
|
|
720
759
|
readonly exposesDeviceSettings: true;
|
|
721
760
|
readonly methods: {
|
|
761
|
+
/**
|
|
762
|
+
* D691 — an occupancy flip is pending on this camera and can commit
|
|
763
|
+
* `afterMs` from now: dial ONE occupancy burst at the end of its sustain
|
|
764
|
+
* window instead of leaving the commit to the 300 s parked-object cadence.
|
|
765
|
+
* Called by the notification centre, the only component that knows a flip
|
|
766
|
+
* is pending; the dial is the recheck's own (attach on the last session
|
|
767
|
+
* node, `requestOccupancyBurst`, detach). One pending look per camera; a
|
|
768
|
+
* session open at the due time is the look, and no burst is dialled.
|
|
769
|
+
*/
|
|
770
|
+
readonly requestOccupancyLook: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
771
|
+
deviceId: z.ZodNumber;
|
|
772
|
+
afterMs: z.ZodNumber;
|
|
773
|
+
reason: z.ZodString;
|
|
774
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
775
|
+
scheduled: z.ZodBoolean;
|
|
776
|
+
dueInMs: z.ZodOptional<z.ZodNumber>;
|
|
777
|
+
refusedBecause: z.ZodOptional<z.ZodEnum<{
|
|
778
|
+
"unknown-camera": "unknown-camera";
|
|
779
|
+
"out-of-range": "out-of-range";
|
|
780
|
+
"no-burst-producer": "no-burst-producer";
|
|
781
|
+
"already-looked": "already-looked";
|
|
782
|
+
}>>;
|
|
783
|
+
}, z.core.$strip>, "mutation">;
|
|
722
784
|
/** Internal storage-migration participant lease. While held, dispatch
|
|
723
785
|
* requests are accepted as pending but no new runner attachment starts. */
|
|
724
786
|
readonly pauseForStorageMigration: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
@@ -6131,6 +6131,13 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6131
6131
|
output: z.infer<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.applyDeviceSettingsPatch.output>;
|
|
6132
6132
|
meta: object;
|
|
6133
6133
|
}>;
|
|
6134
|
+
requestOccupancyLook: TRPCMutationProcedure<{
|
|
6135
|
+
input: {
|
|
6136
|
+
[x: string]: unknown;
|
|
6137
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.requestOccupancyLook.input>;
|
|
6138
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.requestOccupancyLook.output>;
|
|
6139
|
+
meta: object;
|
|
6140
|
+
}>;
|
|
6134
6141
|
pauseForStorageMigration: TRPCMutationProcedure<{
|
|
6135
6142
|
input: {
|
|
6136
6143
|
[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:
|
|
9
|
+
* Coverage: 1196 method paths across 162 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* system-scope cap that takes a deviceId was previously never device-filtered
|
|
7
7
|
* — see the generator header).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
10
|
-
*
|
|
9
|
+
* Coverage: 408 methods carry a device reference, of which
|
|
10
|
+
* 145 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|
|
13
13
|
* a numeric device field (targets[].deviceId) are all mapped; the matcher
|
|
@@ -86,7 +86,7 @@ export interface SystemProxy {
|
|
|
86
86
|
readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'getClipRetentionAsks' | 'listDeviceMutes' | 'testRule' | 'previewStateSummary' | 'getConditionCatalog' | 'getTemplateCatalog' | 'previewTemplate' | 'getHistory' | 'getRuleLastRuns' | 'resolveArtifactUrl' | 'listSnoozes' | 'createSnooze' | 'cancelSnooze' | 'getAlarmConfig' | 'setAlarmConfig'>;
|
|
87
87
|
readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration'>;
|
|
88
88
|
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
89
|
-
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
89
|
+
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
90
90
|
readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
|
|
91
91
|
readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
|
|
92
92
|
readonly recordingArchive: Pick<InferProvider<typeof recordingArchiveCapability>, 'getAvailabilityBatch' | 'getDaysWithRecordingsBatch' | 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE dictionary of human labels for the state words the rule editors show
|
|
3
|
+
* (R7, D690).
|
|
4
|
+
*
|
|
5
|
+
* A device-state gate offers the words the engine compares against —
|
|
6
|
+
* `armed_away`, `not_home`, `unlocking` — and both rule editors printed them
|
|
7
|
+
* verbatim. The words are the WIRE vocabulary and must stay what they are (a
|
|
8
|
+
* rule stores them); what the operator reads is a label, and two editors that
|
|
9
|
+
* each translate on their own are two editors that disagree. Both the admin UI
|
|
10
|
+
* and the viewer resolve through {@link stateLabel}.
|
|
11
|
+
*
|
|
12
|
+
* Keys are the raw values themselves, flat: the vocabularies are disjoint where
|
|
13
|
+
* they differ and agree where they overlap (`open` is the same word on a cover
|
|
14
|
+
* and on a contact). An OPEN vocabulary (a presence zone the operator named,
|
|
15
|
+
* a cover state a new integration invents) falls back to the raw word — never
|
|
16
|
+
* an exception, never an empty chip.
|
|
17
|
+
*
|
|
18
|
+
* Covered, and held to their sources by the spec: the alarm panel's states,
|
|
19
|
+
* the cover's, the lock's, the boolean readers' words
|
|
20
|
+
* (`DEVICE_STATE_READERS`), presence's canonical `home`/`not_home`, and the
|
|
21
|
+
* scene gate's verdicts and read modes.
|
|
22
|
+
*/
|
|
23
|
+
/** A label in every locale both editors ship. */
|
|
24
|
+
export interface StateLabel {
|
|
25
|
+
readonly en: string;
|
|
26
|
+
readonly it: string;
|
|
27
|
+
}
|
|
28
|
+
/** The locales a {@link StateLabel} carries. */
|
|
29
|
+
export type StateLabelLocale = keyof StateLabel;
|
|
30
|
+
/** Every key the dictionary answers for, in a stable order. */
|
|
31
|
+
export declare const STATE_LABEL_KEYS: readonly ["disarmed", "armed_home", "armed_away", "armed_night", "armed_vacation", "armed_custom_bypass", "arming", "disarming", "pending", "triggered", "open", "opening", "closing", "closed", "stopped", "locked", "unlocked", "locking", "unlocking", "jammed", "on", "off", "home", "not_home", "matched", "diverged", "unknown", "latched", "live"];
|
|
32
|
+
/** A key {@link STATE_LABELS} answers for. */
|
|
33
|
+
export type StateLabelKey = (typeof STATE_LABEL_KEYS)[number];
|
|
34
|
+
export declare const STATE_LABELS: Readonly<Record<StateLabelKey, StateLabel>>;
|
|
35
|
+
/** Is `key` one the dictionary answers for? An own key only — never `toString`. */
|
|
36
|
+
export declare function isStateLabelKey(key: string): key is StateLabelKey;
|
|
37
|
+
/**
|
|
38
|
+
* The human label of a state word in `locale`, or the word itself when the
|
|
39
|
+
* dictionary does not know it. Never throws.
|
|
40
|
+
*/
|
|
41
|
+
export declare function stateLabel(key: string, locale: StateLabelLocale): string;
|
package/dist/index.d.ts
CHANGED
|
@@ -124,6 +124,7 @@ export { emitDownForOwnedCaps, ReadinessRegistry, ReadinessTimeoutError, readine
|
|
|
124
124
|
export * from './stream-selection.js';
|
|
125
125
|
export type { AgentAddonConfig, AgentPipelineSettings, CameraPipelineSettings, CameraStepOverridePatch, DeviceStepConfig, } from './types/agent-pipeline-settings.js';
|
|
126
126
|
export * from './types/analytics.js';
|
|
127
|
+
export * from './types/appearance.js';
|
|
127
128
|
export type { CameraPipelineConfig, PipelineTemplate as CameraPipelineTemplate, } from './types/camera-pipeline.js';
|
|
128
129
|
export * from './types/config.js';
|
|
129
130
|
export * from './types/detection.js';
|
|
@@ -232,7 +233,7 @@ export { STREAM_QUALITY_LABELS, streamQualityLabel, } from './interfaces/device-
|
|
|
232
233
|
export * from './lifecycle/index.js';
|
|
233
234
|
export { AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, type AudioScaleEra, audioScaleEraOf, G711_SCALE_CORRECTION_DB, type G711Law, ituDbfsFromPreEpoch, } from './audio/audio-scale-epoch.js';
|
|
234
235
|
export { audioIsFailClosed, audioKindId, audioLabelChoices, audioModeOf, audioOrDefaults, isAudioLabelSelected, 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_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';
|
|
235
|
-
export { isBaseConditionKey, knownValues, NC_BASE_CONDITION_KEYS, type NcBaseConditionKey, pickerForCondition, type TaxonomyGroup, type TaxonomyOption, type TaxonomyPicker, } from './notification/condition-taxonomy.js';
|
|
236
|
+
export { isAudioClassName, isBaseConditionKey, knownValues, NC_BASE_CONDITION_KEYS, type NcBaseConditionKey, pickerForCondition, pickerForRuleClasses, type TaxonomyGroup, type TaxonomyOption, type TaxonomyPicker, } from './notification/condition-taxonomy.js';
|
|
236
237
|
export { type PreparedAction, type PreparedAttachment, type PreparedNotification, prepareNotification, type ResolvedLevel, } from './notification/degrade-engine.js';
|
|
237
238
|
export { htmlToText, markdownToHtmlLite, markdownToText, type NotificationFormat as NotificationBodyFormat, resolveFormat, textToHtml, transcodeBody, } from './notification/format-transcode.js';
|
|
238
239
|
export { conditionExclusionReason, conditionVisibleForKind, defaultDeliveryForSection, droppedConditionsForKind, isAudioRule, isOccupancyRule, isSystemDelivery, isSystemRuleKind, kindsForDiscriminator, NC_AUDIO_SEED, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SYSTEM_DELIVERY, NC_SYSTEM_RULE_KINDS, type NcDroppedCondition, type NcKindVisibilitySubject, type NcRuleEditorSection, type NcRuleEditorSectionKey, type NcRuleKind, type NcRuleKindSpec, type NcRuleOwningSectionKey, type NcRuleSection, type NcRuleSectionKey, type NcRuleSectionSubject, type NcRuleSeed, parseRuleSection, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, systemFamilyOfKind, systemRuleKindOf, } from './notification/rule-kinds.js';
|
|
@@ -245,6 +246,8 @@ export { describeSystemEventFamilyProblem, isSystemEventFamily, NC_SYSTEM_EVENT_
|
|
|
245
246
|
export { describeSystemEventDeliveryProblem, isSystemEventSummaryRule, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, type NcSummarySendTime, type NcSystemEventDeliveryProblem, type NcSystemEventDeliverySubject, scheduleForSendTimes, sendTimesOfSchedule, systemEventDeliveryProblems, systemEventSummaryScheduleOf, templateCarriesSummary, } from './notification/system-event-summary.js';
|
|
246
247
|
export { NC_SERVER_PACKAGE_NAME, NC_UPDATE_EVENT_PACKAGE_NAMES, type NcInstalledPackageLike, type NcScopePickerItem, nodePickerItems, packagePickerItems, } from './notification/scope-picker-items.js';
|
|
247
248
|
export type { TimelapseCadencePair, TimelapsePreviewMode, TimelapseRule, TimelapseRuleInput, TimelapseRulePatch, TimelapseTemplate, } from './notification/timelapse-rule.js';
|
|
249
|
+
export type { StateLabel, StateLabelKey, StateLabelLocale } from './i18n/state-labels.js';
|
|
250
|
+
export { isStateLabelKey, STATE_LABEL_KEYS, STATE_LABELS, stateLabel, } from './i18n/state-labels.js';
|
|
248
251
|
export { assertTimelapseCadences, DEFAULT_TIMELAPSE_PREVIEW_TEXT, readTimelapseGeneratedAt, TIMELAPSE_DENSE_FLOOR_SEC, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, } from './notification/timelapse-rule.js';
|
|
249
252
|
export { CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, type ClusterModelScopedStep, type ClusterStepModels, type ClusterStepSettingField, type ClusterStepSettings, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, type HydratedClusterSection, type HydratedClusterView, interpretStoredClusterModel, type InvalidClusterStepModelEntry, invalidClusterStepModelEntries, isClusterScopedStep, overlayClusterStepSettings, pickClusterStepModels, pickClusterStepSettings, pickInvalidClusterStepModels, readClusterStepModels, readClusterStepSettings, resolveClusterStepModelId, type StepModelScope, type StoredClusterModelInterpretation, } from './pipeline/cluster-model-scope.js';
|
|
250
253
|
export { CAMERA_SENSORS_NOT_LOADED, CAMERA_SENSORS_SETTINGS_KEY, CAMERA_TRIGGER, type CameraSensorAttachment, CameraSensorAttachmentSchema, type CameraSensorRef, CameraSensorRefSchema, cameraSensorRefKey, type CameraSensorsConfig, CameraSensorsConfigSchema, type CameraSensorsMode, CameraSensorsModeSchema, type CameraSensorsNotForwarded, CameraSensorsNotForwardedSchema, type CameraSensorsStatus, CameraSensorsStatusSchema, MAX_CAMERA_SENSORS, type MotionTriggeredBy, type MotionTriggeredByReading, MotionTriggeredBySchema, readMotionTriggeredBy, } from './pipeline/camera-sensors.js';
|