@camstack/types 1.2.246 → 1.2.247

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.
@@ -55,7 +55,6 @@ export { doorbellCapability } from '../capabilities/doorbell.cap.js';
55
55
  export { embeddingEncoderCapability } from '../capabilities/embedding-encoder.cap.js';
56
56
  export { enumSensorCapability } from '../capabilities/enum-sensor.cap.js';
57
57
  export { eventEmitterCapability } from '../capabilities/event-emitter.cap.js';
58
- export { eventsCapability } from '../capabilities/events.cap.js';
59
58
  export { faceGalleryCapability } from '../capabilities/face-gallery.cap.js';
60
59
  export { failureContributionCapability } from '../capabilities/failure-contribution.cap.js';
61
60
  export { fanControlCapability } from '../capabilities/fan-control.cap.js';
@@ -116,6 +115,7 @@ export { ptzCapability } from '../capabilities/ptz.cap.js';
116
115
  export { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
117
116
  export { rebootCapability } from '../capabilities/reboot.cap.js';
118
117
  export { recordingCapability } from '../capabilities/recording.cap.js';
118
+ export { recordingArchiveCapability } from '../capabilities/recording-archive.cap.js';
119
119
  export { recordingExportCapability } from '../capabilities/recording-export.cap.js';
120
120
  export { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
121
121
  export { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
@@ -216,7 +216,6 @@ export declare const CAPABILITY_NAMES: {
216
216
  readonly embeddingEncoder: "embedding-encoder";
217
217
  readonly enumSensor: "enum-sensor";
218
218
  readonly eventEmitter: "event-emitter";
219
- readonly events: "events";
220
219
  readonly faceGallery: "face-gallery";
221
220
  readonly failureContribution: "failure-contribution";
222
221
  readonly fanControl: "fan-control";
@@ -277,6 +276,7 @@ export declare const CAPABILITY_NAMES: {
277
276
  readonly ptzAutotrack: "ptz-autotrack";
278
277
  readonly reboot: "reboot";
279
278
  readonly recording: "recording";
279
+ readonly recordingArchive: "recording-archive";
280
280
  readonly recordingExport: "recording-export";
281
281
  readonly recordingOnboard: "recording-onboard";
282
282
  readonly recordingSignal: "recording-signal";
@@ -390,7 +390,6 @@ export interface CapabilityRouterMap<TRouter = unknown> {
390
390
  readonly embeddingEncoder: TRouter;
391
391
  readonly enumSensor: TRouter;
392
392
  readonly eventEmitter: TRouter;
393
- readonly events: TRouter;
394
393
  readonly faceGallery: TRouter;
395
394
  readonly failureContribution: TRouter;
396
395
  readonly fanControl: TRouter;
@@ -451,6 +450,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
451
450
  readonly ptzAutotrack: TRouter;
452
451
  readonly reboot: TRouter;
453
452
  readonly recording: TRouter;
453
+ readonly recordingArchive: TRouter;
454
454
  readonly recordingExport: TRouter;
455
455
  readonly recordingOnboard: TRouter;
456
456
  readonly recordingSignal: TRouter;
@@ -494,12 +494,12 @@ export interface CapabilityRouterMap<TRouter = unknown> {
494
494
  readonly zoneRules: TRouter;
495
495
  readonly zones: TRouter;
496
496
  }
497
- /** Capability names whose mode is `singleton` (131 caps). */
498
- export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-grid-layout", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-admin-link", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
497
+ /** Capability names whose mode is `singleton` (130 caps). */
498
+ export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-grid-layout", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-admin-link", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording-archive", "recording-export", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
499
499
  /** Union of singleton capability names (literal string union). */
500
500
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
501
- /** Capability names whose mode is `collection` (29 caps). */
502
- export declare const COLLECTION_CAPABILITY_NAMES: readonly ["addon-pages-source", "addon-routes", "addon-widgets-source", "auth-provider", "broker", "connection-test", "custom-model-registry", "data-store-provider", "device-export", "device-provider", "embedding-encoder", "failure-contribution", "llm", "load-contribution", "log-channels", "log-destination", "login-method", "mesh-network", "mqtt-broker", "network-access", "notification-output", "oauth-integration", "smtp-provider", "storage-evictable", "storage-occupancy", "storage-provider", "turn-provider", "user-passkeys", "videoclips"];
501
+ /** Capability names whose mode is `collection` (30 caps). */
502
+ export declare const COLLECTION_CAPABILITY_NAMES: readonly ["addon-pages-source", "addon-routes", "addon-widgets-source", "auth-provider", "broker", "connection-test", "custom-model-registry", "data-store-provider", "device-export", "device-provider", "embedding-encoder", "failure-contribution", "llm", "load-contribution", "log-channels", "log-destination", "login-method", "mesh-network", "mqtt-broker", "network-access", "notification-output", "oauth-integration", "recording", "smtp-provider", "storage-evictable", "storage-occupancy", "storage-provider", "turn-provider", "user-passkeys", "videoclips"];
503
503
  /** Union of collection capability names (literal string union). */
504
504
  export type CollectionCapabilityName = typeof COLLECTION_CAPABILITY_NAMES[number];
505
505
  /** Capability mode lookup at runtime — mirrors the `.cap.ts` definitions. */
@@ -8,7 +8,7 @@
8
8
  * barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
9
9
  * forked runner. See docs/decisions/adr-0028.md.
10
10
  *
11
- * Coverage: 22 collection caps, 36 array methods.
11
+ * Coverage: 23 collection caps, 37 array methods.
12
12
  */
13
13
  export declare const COLLECTION_ARRAY_METHODS: Readonly<Record<string, readonly string[]>>;
14
14
  /**
@@ -33,7 +33,6 @@ import type { deviceStatusCapability } from '../capabilities/device-status.cap.j
33
33
  import type { doorbellCapability } from '../capabilities/doorbell.cap.js';
34
34
  import type { enumSensorCapability } from '../capabilities/enum-sensor.cap.js';
35
35
  import type { eventEmitterCapability } from '../capabilities/event-emitter.cap.js';
36
- import type { eventsCapability } from '../capabilities/events.cap.js';
37
36
  import type { fanControlCapability } from '../capabilities/fan-control.cap.js';
38
37
  import type { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
39
38
  import type { floodCapability } from '../capabilities/flood.cap.js';
@@ -66,6 +65,7 @@ import type { privacyMaskCapability } from '../capabilities/privacy-mask.cap.js'
66
65
  import type { ptzCapability } from '../capabilities/ptz.cap.js';
67
66
  import type { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
68
67
  import type { rebootCapability } from '../capabilities/reboot.cap.js';
68
+ import type { recordingCapability } from '../capabilities/recording.cap.js';
69
69
  import type { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
70
70
  import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
71
71
  import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
@@ -104,7 +104,7 @@ import type { pipelineExecutorCapability } from '../capabilities/pipeline-execut
104
104
  import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
105
105
  import type { pipelineRunnerCapability } from '../capabilities/pipeline-runner.cap.js';
106
106
  import type { plateGalleryCapability } from '../capabilities/plate-gallery.cap.js';
107
- import type { recordingCapability } from '../capabilities/recording.cap.js';
107
+ import type { recordingArchiveCapability } from '../capabilities/recording-archive.cap.js';
108
108
  import type { recordingExportCapability } from '../capabilities/recording-export.cap.js';
109
109
  import type { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
110
110
  /**
@@ -232,7 +232,6 @@ export interface DeviceProxy {
232
232
  readonly doorbell?: InferDeviceProxyCap<typeof doorbellCapability>;
233
233
  readonly enumSensor?: InferDeviceProxyCap<typeof enumSensorCapability>;
234
234
  readonly eventEmitter?: InferDeviceProxyCap<typeof eventEmitterCapability>;
235
- readonly events?: InferDeviceProxyCap<typeof eventsCapability>;
236
235
  readonly fanControl?: InferDeviceProxyCap<typeof fanControlCapability>;
237
236
  readonly featureProbe?: InferDeviceProxyCap<typeof featureProbeCapability>;
238
237
  readonly flood?: InferDeviceProxyCap<typeof floodCapability>;
@@ -265,6 +264,7 @@ export interface DeviceProxy {
265
264
  readonly ptz?: InferDeviceProxyCap<typeof ptzCapability>;
266
265
  readonly ptzAutotrack?: InferDeviceProxyCap<typeof ptzAutotrackCapability>;
267
266
  readonly reboot?: InferDeviceProxyCap<typeof rebootCapability>;
267
+ readonly recording?: InferDeviceProxyCap<typeof recordingCapability>;
268
268
  readonly recordingOnboard?: InferDeviceProxyCap<typeof recordingOnboardCapability>;
269
269
  readonly recordingSignal?: InferDeviceProxyCap<typeof recordingSignalCapability>;
270
270
  readonly sceneMonitor?: InferDeviceProxyCap<typeof sceneMonitorCapability>;
@@ -303,7 +303,7 @@ export interface DeviceProxy {
303
303
  readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'setPipelineDevicePin' | 'getPipelineDevicePin' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getAudioAssignments' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getCameraSwitches' | 'setCameraSwitch' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
304
304
  readonly pipelineRunner: Pick<InferDeviceProxyCap<typeof pipelineRunnerCapability>, 'detachCamera' | 'getCameraMetrics' | 'requestOccupancyBurst' | 'runDetailSubtree' | 'parkTrackFrame' | 'getParkedTrackFrame' | 'releaseParkedTrackFrames'>;
305
305
  readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
306
- readonly recording: Pick<InferDeviceProxyCap<typeof recordingCapability>, 'getAvailability' | 'getDaysWithRecordings' | 'getPlaybackManifest' | 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'readGopBytes' | 'readWindowBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'renderGif' | 'renderClip' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
306
+ readonly recordingArchive: Pick<InferDeviceProxyCap<typeof recordingArchiveCapability>, 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'readGopBytes' | 'readWindowBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'renderGif' | 'renderClip' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
307
307
  readonly recordingExport: Pick<InferDeviceProxyCap<typeof recordingExportCapability>, 'listExports'>;
308
308
  readonly streamBroker: Pick<InferDeviceProxyCap<typeof streamBrokerCapability>, 'reportStreamSignal' | 'publishCameraStream' | 'retractCameraStream' | 'assignProfile' | 'unassignProfile' | 'forgetDeviceHardware' | 'renderPreBufferClip' | 'produceEventMedia' | 'restartProfile' | 'getDeviceAudioMute' | 'setDeviceAudioMute' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
309
309
  }
@@ -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: 1171 method paths across 160 capabilities.
9
+ * Coverage: 1170 method paths across 160 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: 397 methods carry a device reference, of which
10
- * 141 are on SYSTEM-scope caps.
9
+ * Coverage: 396 methods carry a device reference, of which
10
+ * 138 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
@@ -33,7 +33,7 @@ import type { pipelineExecutorCapability } from '../capabilities/pipeline-execut
33
33
  import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
34
34
  import type { pipelineRunnerCapability } from '../capabilities/pipeline-runner.cap.js';
35
35
  import type { plateGalleryCapability } from '../capabilities/plate-gallery.cap.js';
36
- import type { recordingCapability } from '../capabilities/recording.cap.js';
36
+ import type { recordingArchiveCapability } from '../capabilities/recording-archive.cap.js';
37
37
  import type { recordingExportCapability } from '../capabilities/recording-export.cap.js';
38
38
  import type { serverManagementCapability } from '../capabilities/server-management.cap.js';
39
39
  import type { settingsStoreCapability } from '../capabilities/settings-store.cap.js';
@@ -87,7 +87,7 @@ export interface SystemProxy {
87
87
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
88
88
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
89
89
  readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
90
- readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getAvailabilityBatch' | 'getDaysWithRecordingsBatch' | 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
90
+ 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'>;
91
91
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'createExport' | 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl' | 'readExportBytes'>;
92
92
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'rollbackServerUpdate' | 'restartServer'>;
93
93
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'upsert' | 'insert' | 'insertMany' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;