@camstack/types 1.2.188 → 1.2.190

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.
Files changed (30) hide show
  1. package/dist/addon.js +2 -2
  2. package/dist/addon.mjs +2 -2
  3. package/dist/camera/stream-pick.d.ts +71 -0
  4. package/dist/capabilities/camera-streams.cap.d.ts +10 -0
  5. package/dist/capabilities/index.d.ts +5 -3
  6. package/dist/capabilities/native-object-detection.cap.d.ts +67 -0
  7. package/dist/capabilities/notification-rules.cap.d.ts +60 -12
  8. package/dist/capabilities/osd-manager.cap.d.ts +18 -0
  9. package/dist/capabilities/stream-broker.cap.d.ts +37 -0
  10. package/dist/capabilities/stream-signals.cap.d.ts +80 -0
  11. package/dist/capabilities/webrtc-session.cap.d.ts +1 -0
  12. package/dist/enums/event-category.d.ts +14 -0
  13. package/dist/enums.js +1 -1
  14. package/dist/enums.mjs +1 -1
  15. package/dist/{event-category-ZyX6jcse.mjs → event-category-BVDXG4tB.mjs} +14 -0
  16. package/dist/{event-category-yW4s1MGD.js → event-category-BVfsrBYA.js} +14 -0
  17. package/dist/generated/addon-api.d.ts +36 -0
  18. package/dist/generated/capability-router-map.d.ts +5 -2
  19. package/dist/generated/device-local-state.d.ts +3 -0
  20. package/dist/generated/device-proxy.d.ts +4 -1
  21. package/dist/generated/device-scoped-caps.d.ts +1 -1
  22. package/dist/generated/method-access-map.d.ts +1 -1
  23. package/dist/generated/method-device-selectors.d.ts +2 -2
  24. package/dist/generated/runtime-state-durability.d.ts +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +442 -39
  27. package/dist/index.mjs +434 -40
  28. package/dist/{sleep-DXsYD0RX.js → sleep-B8nfmQ8a.js} +8 -2
  29. package/dist/{sleep-DBKu2-U5.mjs → sleep-BEyvfshj.mjs} +8 -2
  30. package/package.json +1 -1
@@ -615,6 +615,20 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
615
615
  * pull-reconcile from the provider's `getStatus` on reconnect. */
616
616
  EventCategory["MeshNetworkChanged"] = "network.mesh.changed";
617
617
  EventCategory["BackupCompleted"] = "backup.completed";
618
+ /**
619
+ * A whole backup RUN finished — every destination attempted, win or lose.
620
+ *
621
+ * `backup.completed` fires once per DESTINATION, which is the right grain for
622
+ * a progress UI and the wrong one for a notification: an operator with three
623
+ * destinations would be told three times. And a run where two of three
624
+ * destinations succeeded is not a clean success — a single "backup
625
+ * completed" that hid the failed one would be a lie, so the count of each is
626
+ * carried here and the message says both.
627
+ *
628
+ * Emitted by the backup orchestrator only after the destination loop, so a
629
+ * run that dies during the BUILD phase produces no completion at all.
630
+ */
631
+ EventCategory["BackupRunCompleted"] = "backup.run-completed";
618
632
  EventCategory["BackupRestored"] = "backup.restored";
619
633
  EventCategory["NotificationDispatched"] = "notification.dispatched";
620
634
  EventCategory["NotificationFailed"] = "notification.failed";
@@ -615,6 +615,20 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
615
615
  * pull-reconcile from the provider's `getStatus` on reconnect. */
616
616
  EventCategory["MeshNetworkChanged"] = "network.mesh.changed";
617
617
  EventCategory["BackupCompleted"] = "backup.completed";
618
+ /**
619
+ * A whole backup RUN finished — every destination attempted, win or lose.
620
+ *
621
+ * `backup.completed` fires once per DESTINATION, which is the right grain for
622
+ * a progress UI and the wrong one for a notification: an operator with three
623
+ * destinations would be told three times. And a run where two of three
624
+ * destinations succeeded is not a clean success — a single "backup
625
+ * completed" that hid the failed one would be a lie, so the count of each is
626
+ * carried here and the message says both.
627
+ *
628
+ * Emitted by the backup orchestrator only after the destination loop, so a
629
+ * run that dies during the BUILD phase produces no completion at all.
630
+ */
631
+ EventCategory["BackupRunCompleted"] = "backup.run-completed";
618
632
  EventCategory["BackupRestored"] = "backup.restored";
619
633
  EventCategory["NotificationDispatched"] = "notification.dispatched";
620
634
  EventCategory["NotificationFailed"] = "notification.failed";
@@ -110,6 +110,7 @@ import type { storageCapability } from '../capabilities/storage.cap.js';
110
110
  import type { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
111
111
  import type { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
112
112
  import type { streamParamsCapability } from '../capabilities/stream-params.cap.js';
113
+ import type { streamSignalsCapability } from '../capabilities/stream-signals.cap.js';
113
114
  import type { switchCapability } from '../capabilities/switch.cap.js';
114
115
  import type { systemCapability } from '../capabilities/system.cap.js';
115
116
  import type { terminalSessionCapability } from '../capabilities/terminal-session.cap.js';
@@ -4341,6 +4342,20 @@ export type AppRouter = TrpcCoreRouter<{
4341
4342
  output: z.infer<typeof DEVICE_STATUS_METHOD.getStatus.output>;
4342
4343
  meta: object;
4343
4344
  }>;
4345
+ getOptions: TRPCQueryProcedure<{
4346
+ input: {
4347
+ [x: string]: unknown;
4348
+ } & z.input<typeof nativeObjectDetectionCapability.methods.getOptions.input>;
4349
+ output: z.infer<typeof nativeObjectDetectionCapability.methods.getOptions.output>;
4350
+ meta: object;
4351
+ }>;
4352
+ setSettings: TRPCMutationProcedure<{
4353
+ input: {
4354
+ [x: string]: unknown;
4355
+ } & z.input<typeof nativeObjectDetectionCapability.methods.setSettings.input>;
4356
+ output: z.infer<typeof nativeObjectDetectionCapability.methods.setSettings.output>;
4357
+ meta: object;
4358
+ }>;
4344
4359
  setEnabled: TRPCMutationProcedure<{
4345
4360
  input: {
4346
4361
  [x: string]: unknown;
@@ -7788,6 +7803,13 @@ export type AppRouter = TrpcCoreRouter<{
7788
7803
  output: z.infer<typeof DEVICE_SETTINGS_CONTRIBUTION_METHODS.applyDeviceSettingsPatch.output>;
7789
7804
  meta: object;
7790
7805
  }>;
7806
+ reportStreamSignal: TRPCMutationProcedure<{
7807
+ input: {
7808
+ [x: string]: unknown;
7809
+ } & z.input<typeof streamBrokerCapability.methods.reportStreamSignal.input>;
7810
+ output: z.infer<typeof streamBrokerCapability.methods.reportStreamSignal.output>;
7811
+ meta: object;
7812
+ }>;
7791
7813
  publishCameraStream: TRPCMutationProcedure<{
7792
7814
  input: {
7793
7815
  [x: string]: unknown;
@@ -8090,6 +8112,20 @@ export type AppRouter = TrpcCoreRouter<{
8090
8112
  meta: object;
8091
8113
  }>;
8092
8114
  }>>;
8115
+ streamSignals: TRPCBuiltRouter<{
8116
+ ctx: TrpcContext;
8117
+ meta: object;
8118
+ errorShape: AugmentedErrorShape;
8119
+ transformer: true;
8120
+ }, TRPCDecorateCreateRouterOptions<{
8121
+ listSignals: TRPCQueryProcedure<{
8122
+ input: {
8123
+ nodeId?: string | undefined;
8124
+ } | undefined;
8125
+ output: z.infer<typeof streamSignalsCapability.methods.listSignals.output>;
8126
+ meta: object;
8127
+ }>;
8128
+ }>>;
8093
8129
  switch: TRPCBuiltRouter<{
8094
8130
  ctx: TrpcContext;
8095
8131
  meta: object;
@@ -132,6 +132,7 @@ export { storageProviderCapability } from '../capabilities/storage-provider.cap.
132
132
  export { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
133
133
  export { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
134
134
  export { streamParamsCapability } from '../capabilities/stream-params.cap.js';
135
+ export { streamSignalsCapability } from '../capabilities/stream-signals.cap.js';
135
136
  export { switchCapability } from '../capabilities/switch.cap.js';
136
137
  export { systemCapability } from '../capabilities/system.cap.js';
137
138
  export { tamperCapability } from '../capabilities/tamper.cap.js';
@@ -289,6 +290,7 @@ export declare const CAPABILITY_NAMES: {
289
290
  readonly streamBroker: "stream-broker";
290
291
  readonly streamCatalog: "stream-catalog";
291
292
  readonly streamParams: "stream-params";
293
+ readonly streamSignals: "stream-signals";
292
294
  readonly switch: "switch";
293
295
  readonly system: "system";
294
296
  readonly tamper: "tamper";
@@ -459,6 +461,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
459
461
  readonly streamBroker: TRouter;
460
462
  readonly streamCatalog: TRouter;
461
463
  readonly streamParams: TRouter;
464
+ readonly streamSignals: TRouter;
462
465
  readonly switch: TRouter;
463
466
  readonly system: TRouter;
464
467
  readonly tamper: TRouter;
@@ -482,8 +485,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
482
485
  readonly zoneRules: TRouter;
483
486
  readonly zones: TRouter;
484
487
  }
485
- /** Capability names whose mode is `singleton` (128 caps). */
486
- export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "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-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
488
+ /** Capability names whose mode is `singleton` (129 caps). */
489
+ export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "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-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", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
487
490
  /** Union of singleton capability names (literal string union). */
488
491
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
489
492
  /** Capability names whose mode is `collection` (28 caps). */
@@ -54,6 +54,7 @@ import { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
54
54
  import { smokeCapability } from '../capabilities/smoke.cap.js';
55
55
  import { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
56
56
  import { streamParamsCapability } from '../capabilities/stream-params.cap.js';
57
+ import { streamSignalsCapability } from '../capabilities/stream-signals.cap.js';
57
58
  import { switchCapability } from '../capabilities/switch.cap.js';
58
59
  import { tamperCapability } from '../capabilities/tamper.cap.js';
59
60
  import { temperatureSensorCapability } from '../capabilities/temperature-sensor.cap.js';
@@ -133,6 +134,7 @@ export interface DeviceLocalState {
133
134
  smoke: InferRuntimeState<typeof smokeCapability>;
134
135
  streamCatalog: InferRuntimeState<typeof streamCatalogCapability>;
135
136
  streamParams: InferRuntimeState<typeof streamParamsCapability>;
137
+ streamSignals: InferRuntimeState<typeof streamSignalsCapability>;
136
138
  switch: InferRuntimeState<typeof switchCapability>;
137
139
  tamper: InferRuntimeState<typeof tamperCapability>;
138
140
  temperatureSensor: InferRuntimeState<typeof temperatureSensorCapability>;
@@ -222,6 +224,7 @@ export interface CapNameToRuntimeStateMap {
222
224
  'smoke': InferRuntimeState<typeof smokeCapability>;
223
225
  'stream-catalog': InferRuntimeState<typeof streamCatalogCapability>;
224
226
  'stream-params': InferRuntimeState<typeof streamParamsCapability>;
227
+ 'stream-signals': InferRuntimeState<typeof streamSignalsCapability>;
225
228
  'switch': InferRuntimeState<typeof switchCapability>;
226
229
  'tamper': InferRuntimeState<typeof tamperCapability>;
227
230
  'temperature-sensor': InferRuntimeState<typeof temperatureSensorCapability>;
@@ -71,6 +71,7 @@ import type { smokeCapability } from '../capabilities/smoke.cap.js';
71
71
  import type { snapshotCapability } from '../capabilities/snapshot.cap.js';
72
72
  import type { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
73
73
  import type { streamParamsCapability } from '../capabilities/stream-params.cap.js';
74
+ import type { streamSignalsCapability } from '../capabilities/stream-signals.cap.js';
74
75
  import type { switchCapability } from '../capabilities/switch.cap.js';
75
76
  import type { tamperCapability } from '../capabilities/tamper.cap.js';
76
77
  import type { temperatureSensorCapability } from '../capabilities/temperature-sensor.cap.js';
@@ -164,6 +165,7 @@ export interface DeviceProxyState {
164
165
  readonly smoke: SliceHandle<InferRuntimeState<typeof smokeCapability>>;
165
166
  readonly streamCatalog: SliceHandle<InferRuntimeState<typeof streamCatalogCapability>>;
166
167
  readonly streamParams: SliceHandle<InferRuntimeState<typeof streamParamsCapability>>;
168
+ readonly streamSignals: SliceHandle<InferRuntimeState<typeof streamSignalsCapability>>;
167
169
  readonly switch: SliceHandle<InferRuntimeState<typeof switchCapability>>;
168
170
  readonly tamper: SliceHandle<InferRuntimeState<typeof tamperCapability>>;
169
171
  readonly temperatureSensor: SliceHandle<InferRuntimeState<typeof temperatureSensorCapability>>;
@@ -264,6 +266,7 @@ export interface DeviceProxy {
264
266
  readonly snapshot?: InferDeviceProxyCap<typeof snapshotCapability>;
265
267
  readonly streamCatalog?: InferDeviceProxyCap<typeof streamCatalogCapability>;
266
268
  readonly streamParams?: InferDeviceProxyCap<typeof streamParamsCapability>;
269
+ readonly streamSignals?: InferDeviceProxyCap<typeof streamSignalsCapability>;
267
270
  readonly switch?: InferDeviceProxyCap<typeof switchCapability>;
268
271
  readonly tamper?: InferDeviceProxyCap<typeof tamperCapability>;
269
272
  readonly temperatureSensor?: InferDeviceProxyCap<typeof temperatureSensorCapability>;
@@ -295,7 +298,7 @@ export interface DeviceProxy {
295
298
  readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
296
299
  readonly recording: Pick<InferDeviceProxyCap<typeof recordingCapability>, 'getAvailability' | 'getDaysWithRecordings' | 'getPlaybackManifest' | 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'readGopBytes' | 'readWindowBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'renderGif' | 'renderClip' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
297
300
  readonly recordingExport: Pick<InferDeviceProxyCap<typeof recordingExportCapability>, 'listExports'>;
298
- readonly streamBroker: Pick<InferDeviceProxyCap<typeof streamBrokerCapability>, 'publishCameraStream' | 'retractCameraStream' | 'assignProfile' | 'unassignProfile' | 'forgetDeviceHardware' | 'renderPreBufferClip' | 'produceEventMedia' | 'restartProfile' | 'getDeviceAudioMute' | 'setDeviceAudioMute' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
301
+ readonly streamBroker: Pick<InferDeviceProxyCap<typeof streamBrokerCapability>, 'reportStreamSignal' | 'publishCameraStream' | 'retractCameraStream' | 'assignProfile' | 'unassignProfile' | 'forgetDeviceHardware' | 'renderPreBufferClip' | 'produceEventMedia' | 'restartProfile' | 'getDeviceAudioMute' | 'setDeviceAudioMute' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
299
302
  }
300
303
  /**
301
304
  * Build a DeviceProxy that pre-binds deviceId + nodeId on every method call
@@ -5,7 +5,7 @@
5
5
  * can answer "may a rule actuate this?" without importing the schema barrel
6
6
  * (~144MB RSS per runner, D28).
7
7
  *
8
- * Coverage: 83 device-scoped capabilities.
8
+ * Coverage: 84 device-scoped capabilities.
9
9
  */
10
10
  export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
11
11
  /**
@@ -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: 1032 method paths across 129 capabilities.
9
+ * Coverage: 1036 method paths across 130 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: 375 methods carry a device reference, of which
10
- * 139 are on SYSTEM-scope caps.
9
+ * Coverage: 378 methods carry a device reference, of which
10
+ * 140 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
@@ -11,7 +11,7 @@ export interface RuntimeStatePolicy {
11
11
  }
12
12
  /**
13
13
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
14
- * `runtimeState`. 67 caps: 35 `restored`, 32 `session`.
14
+ * `runtimeState`. 68 caps: 35 `restored`, 33 `session`.
15
15
  *
16
16
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
17
17
  * with `durability: 'session'` has one and has decided not to keep it.
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export type { IAuthProvider } from './capabilities/auth-provider.cap.js';
11
11
  export type { DisposerChainOptions, DisposerFn } from './disposer-chain.js';
12
12
  export { DisposerChain } from './disposer-chain.js';
13
13
  export * from './encode-profile.js';
14
+ export * from './camera/stream-pick.js';
14
15
  export * from './ffmpeg/encode-defaults.js';
15
16
  export * from './ffmpeg/fmp4-box-splitter.js';
16
17
  export * from './ffmpeg/hwaccel.js';