@camstack/types 1.2.154 → 1.2.156
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 +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/camera-streams.cap.d.ts +10 -0
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/recording-signal.cap.d.ts +91 -0
- package/dist/capabilities/recording.cap.d.ts +3 -0
- package/dist/capabilities/schemas/streaming-shared.d.ts +5 -0
- package/dist/capabilities/stream-broker.cap.d.ts +10 -0
- package/dist/capabilities/stream-catalog.cap.d.ts +20 -0
- package/dist/generated/addon-api.d.ts +15 -0
- package/dist/generated/cap-status-types.d.ts +3 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/device-local-state.d.ts +3 -0
- package/dist/generated/device-proxy.d.ts +3 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.js +123 -3
- package/dist/index.mjs +121 -4
- package/dist/interfaces/config-ui.d.ts +1 -1
- package/dist/interfaces/recording-config.d.ts +4 -0
- package/dist/{sleep-Dp0uukHR.js → sleep-BGiOgxye.js} +23 -0
- package/dist/{sleep-CgijQHtG.mjs → sleep-IaOr7P-z.mjs} +23 -0
- package/package.json +1 -1
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-b8kBSOTT.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
3
|
+
const require_sleep = require("./sleep-BGiOgxye.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
|
6
6
|
/**
|
package/dist/addon.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
|
|
2
|
-
import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-
|
|
2
|
+
import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-IaOr7P-z.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
5
5
|
/**
|
|
@@ -101,6 +101,11 @@ export declare const cameraStreamsCapability: {
|
|
|
101
101
|
label: z.ZodOptional<z.ZodString>;
|
|
102
102
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
103
103
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
104
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
105
|
+
high: "high";
|
|
106
|
+
mid: "mid";
|
|
107
|
+
low: "low";
|
|
108
|
+
}>>;
|
|
104
109
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
105
110
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
106
111
|
readonly getBrokerStreams: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
@@ -263,6 +268,11 @@ export declare const cameraStreamsCapability: {
|
|
|
263
268
|
label: z.ZodOptional<z.ZodString>;
|
|
264
269
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
265
270
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
271
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
272
|
+
high: "high";
|
|
273
|
+
mid: "mid";
|
|
274
|
+
low: "low";
|
|
275
|
+
}>>;
|
|
266
276
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
267
277
|
}, z.core.$strip>>>;
|
|
268
278
|
}, z.core.$strip>>;
|
|
@@ -189,6 +189,7 @@ export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_L
|
|
|
189
189
|
export { type IRebootProvider, rebootCapability } from './reboot.cap.js';
|
|
190
190
|
export { type IRecordingProvider, type LocateSegmentResult, LocateSegmentResultSchema, RECORDING_TIMELINE_BATCH_MAX, type ReadGopBytesResult, ReadGopBytesResultSchema, type ReadSegmentBytesResult, ReadSegmentBytesResultSchema, type ReadWindowBytesResult, ReadWindowBytesResultSchema, type RecordingAvailability, type RecordingAvailabilityForDevice, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, type RecordingDays, type RecordingDaysForDevice, RecordingDaysForDeviceSchema, RecordingDaysSchema, type RecordingDeviceUsage, RecordingDeviceUsageSchema, type RecordingLocationUsage, RecordingLocationUsageSchema, type RecordingManifest, RecordingManifestSchema, RecordingRangeSchema, type RecordingRebalanceInput, RecordingRebalanceInputSchema, type RecordingRebalanceMove, RecordingRebalanceMoveSchema, type RecordingRebalancePlan, RecordingRebalancePlanSchema, type RecordingRebalanceSkip, type RecordingRebalanceSkipReason, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, type RecordingStatus, RecordingStatusSchema, type RecordingStorageUsage, RecordingStorageUsageSchema, recordingCapability, } from './recording.cap.js';
|
|
191
191
|
export { EXPORT_DENSE_MAX_RANGES, type ExportBytes, ExportBytesSchema, type ExportDense, type ExportDenseRange, ExportDenseRangeSchema, ExportDenseSchema, type ExportDownload, ExportDownloadSchema, type ExportOptions, ExportOptionsSchema, type ExportRecord, ExportRecordSchema, ExportSpeedSchema, type ExportState, ExportStateSchema, ExportTimelapseSchema, type IRecordingExportProvider, RECORDING_EXPORT_MAX_READ_BYTES, recordingExportCapability, } from './recording-export.cap.js';
|
|
192
|
+
export { type IRecordingSignalProvider, type RecordingSignalRuntimeState, RecordingSignalRuntimeStateSchema, type RecordingSignalStatus, RecordingSignalStatusSchema, recordingSignalCapability, } from './recording-signal.cap.js';
|
|
192
193
|
export { type ISceneMonitorProvider, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, type SceneCheck, SceneCheckSchema, type SceneCondition, SceneConditionSchema, type SceneConfirm, SceneConfirmSchema, type SceneMonitor, SceneMonitorSchema, type SceneMonitorState, SceneMonitorStateSchema, type SceneMonitorStatus, type SceneMonitorStatusForDevice, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, type SceneReference, SceneReferenceSchema, type SceneUnavailable, SceneUnavailableSchema, type SceneUncoveredPolicy, SceneUncoveredPolicySchema, type SceneVerdict, SceneVerdictSchema, sceneMonitorCapability, } from './scene-monitor.cap.js';
|
|
193
194
|
export { type ZoneRule, type ZoneRuleMode, ZoneRuleModeEnum, ZoneRuleSchema, type ZoneRules, ZoneRulesArraySchema, } from './schemas/zone-rule.js';
|
|
194
195
|
export { type IScriptRunnerProvider, type ScriptRunnerStatus, ScriptRunnerStatusSchema, scriptRunnerCapability, } from './script-runner.cap.js';
|
|
@@ -329,6 +330,7 @@ import type { ptzAutotrackCapability } from './ptz-autotrack.cap.js';
|
|
|
329
330
|
import type { rebootCapability } from './reboot.cap.js';
|
|
330
331
|
import type { recordingCapability } from './recording.cap.js';
|
|
331
332
|
import type { recordingExportCapability } from './recording-export.cap.js';
|
|
333
|
+
import type { recordingSignalCapability } from './recording-signal.cap.js';
|
|
332
334
|
import type { sceneMonitorCapability } from './scene-monitor.cap.js';
|
|
333
335
|
import type { scriptRunnerCapability } from './script-runner.cap.js';
|
|
334
336
|
import type { serverManagementCapability } from './server-management.cap.js';
|
|
@@ -366,6 +368,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
|
|
|
366
368
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
367
369
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
368
370
|
import type { zonesCapability } from './zones.cap.js';
|
|
369
|
-
type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability;
|
|
371
|
+
type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability;
|
|
370
372
|
export type CapabilityName = AnyCapability['name'];
|
|
371
373
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* A camera's own "record me NOW" LEVEL — a signal the device raises while
|
|
6
|
+
* something it knows about is happening (a robot vacuum cleaning, a machine
|
|
7
|
+
* running, a gate open) and lowers when it stops.
|
|
8
|
+
*
|
|
9
|
+
* It is a level, not an edge. The sensor triggers the recorder already listens
|
|
10
|
+
* to (`SOURCE_CAP_ACTIVE_FIELD`) fire on a rising edge and record for a fixed
|
|
11
|
+
* post-buffer; a cleaning lasts forty minutes, and forty minutes of "this is
|
|
12
|
+
* still happening" cannot be expressed as an edge plus a post-buffer without
|
|
13
|
+
* either re-triggering on a timer (polling — D224 forbids the consumer keeping
|
|
14
|
+
* the fact fresh) or picking a post-buffer long enough to cover every job,
|
|
15
|
+
* which records the dock for that long after every short one. So the recorder
|
|
16
|
+
* reads the LEVEL: it records for as long as `active` is true, plus the band's
|
|
17
|
+
* own post-buffer once it falls.
|
|
18
|
+
*
|
|
19
|
+
* Who owns the fact: the PROVIDER of the device, which already reads the state
|
|
20
|
+
* the signal is derived from (the vacuum's lifecycle state, for Dreame). It
|
|
21
|
+
* writes this slice on every change; consumers subscribe to the kernel's
|
|
22
|
+
* `DeviceStateChanged` for it and read it back through
|
|
23
|
+
* `deviceState.getCapSlice` to reconcile — never a second copy, never a poll
|
|
24
|
+
* against the device (D224, D8/D11).
|
|
25
|
+
*
|
|
26
|
+
* Deliberately NOT a `binary` sensor on the camera: a binary sensor is exported
|
|
27
|
+
* to Home Assistant, HomeKit and the sensor picker as a thing an operator can
|
|
28
|
+
* bind, and "the camera wants to record" is not a room sensor. It is a fact
|
|
29
|
+
* about the camera, on the camera.
|
|
30
|
+
*/
|
|
31
|
+
export declare const RecordingSignalStatusSchema: z.ZodObject<{
|
|
32
|
+
active: z.ZodBoolean;
|
|
33
|
+
reason: z.ZodString;
|
|
34
|
+
lastChangedAt: z.ZodNumber;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export type RecordingSignalStatus = z.infer<typeof RecordingSignalStatusSchema>;
|
|
37
|
+
/** The runtime-state slice: the status plus the clock every slice carries. */
|
|
38
|
+
export declare const RecordingSignalRuntimeStateSchema: z.ZodObject<{
|
|
39
|
+
active: z.ZodBoolean;
|
|
40
|
+
reason: z.ZodString;
|
|
41
|
+
lastChangedAt: z.ZodNumber;
|
|
42
|
+
lastFetchedAt: z.ZodNumber;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type RecordingSignalRuntimeState = z.infer<typeof RecordingSignalRuntimeStateSchema>;
|
|
45
|
+
export declare const recordingSignalCapability: {
|
|
46
|
+
readonly name: "recording-signal";
|
|
47
|
+
readonly scope: "device";
|
|
48
|
+
readonly deviceNative: true;
|
|
49
|
+
readonly mode: "singleton";
|
|
50
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
51
|
+
readonly methods: {
|
|
52
|
+
/** The current level, straight from the slice the provider keeps fresh. */
|
|
53
|
+
readonly getStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
54
|
+
deviceId: z.ZodNumber;
|
|
55
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
56
|
+
active: z.ZodBoolean;
|
|
57
|
+
reason: z.ZodString;
|
|
58
|
+
lastChangedAt: z.ZodNumber;
|
|
59
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
60
|
+
};
|
|
61
|
+
readonly status: {
|
|
62
|
+
readonly schema: z.ZodObject<{
|
|
63
|
+
active: z.ZodBoolean;
|
|
64
|
+
reason: z.ZodString;
|
|
65
|
+
lastChangedAt: z.ZodNumber;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
readonly kind: "push";
|
|
68
|
+
readonly empty: {
|
|
69
|
+
readonly active: false;
|
|
70
|
+
readonly reason: "unknown";
|
|
71
|
+
readonly lastChangedAt: 0;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
readonly runtimeState: z.ZodObject<{
|
|
75
|
+
active: z.ZodBoolean;
|
|
76
|
+
reason: z.ZodString;
|
|
77
|
+
lastChangedAt: z.ZodNumber;
|
|
78
|
+
lastFetchedAt: z.ZodNumber;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
/**
|
|
81
|
+
* Runtime-state durability: **session** — a restored `active: true` from
|
|
82
|
+
* before a restart is exactly the stale level the recorder's reconcile bound
|
|
83
|
+
* exists to end, and the provider re-derives the true level on activation
|
|
84
|
+
* anyway. Nothing is lost by forgetting it; a lie is avoided.
|
|
85
|
+
*
|
|
86
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
87
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
88
|
+
*/
|
|
89
|
+
readonly durability: "session";
|
|
90
|
+
};
|
|
91
|
+
export type IRecordingSignalProvider = InferProvider<typeof recordingSignalCapability>;
|
|
@@ -486,6 +486,7 @@ export declare const recordingCapability: {
|
|
|
486
486
|
animal: "animal";
|
|
487
487
|
}>>>;
|
|
488
488
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
489
|
+
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
489
490
|
}, z.core.$strip>>;
|
|
490
491
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
491
492
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
@@ -587,6 +588,7 @@ export declare const recordingCapability: {
|
|
|
587
588
|
animal: "animal";
|
|
588
589
|
}>>>;
|
|
589
590
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
591
|
+
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
590
592
|
}, z.core.$strip>>;
|
|
591
593
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
592
594
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
@@ -626,6 +628,7 @@ export declare const recordingCapability: {
|
|
|
626
628
|
animal: "animal";
|
|
627
629
|
}>>>;
|
|
628
630
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
631
|
+
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
629
632
|
}, z.core.$strip>>;
|
|
630
633
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
631
634
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
@@ -44,6 +44,11 @@ export declare const CameraStreamSchema: z.ZodObject<{
|
|
|
44
44
|
label: z.ZodOptional<z.ZodString>;
|
|
45
45
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
46
46
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
48
|
+
high: "high";
|
|
49
|
+
mid: "mid";
|
|
50
|
+
low: "low";
|
|
51
|
+
}>>;
|
|
47
52
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
48
53
|
}, z.core.$strip>;
|
|
49
54
|
export type CameraStream = z.infer<typeof CameraStreamSchema>;
|
|
@@ -563,6 +563,11 @@ export declare const streamBrokerCapability: {
|
|
|
563
563
|
label: z.ZodOptional<z.ZodString>;
|
|
564
564
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
565
565
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
566
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
567
|
+
high: "high";
|
|
568
|
+
mid: "mid";
|
|
569
|
+
low: "low";
|
|
570
|
+
}>>;
|
|
566
571
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
567
572
|
sourceCamStreamId: z.ZodOptional<z.ZodString>;
|
|
568
573
|
encodeProfile: z.ZodOptional<z.ZodObject<{
|
|
@@ -826,6 +831,11 @@ export declare const streamBrokerCapability: {
|
|
|
826
831
|
label: z.ZodOptional<z.ZodString>;
|
|
827
832
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
828
833
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
834
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
835
|
+
high: "high";
|
|
836
|
+
mid: "mid";
|
|
837
|
+
low: "low";
|
|
838
|
+
}>>;
|
|
829
839
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
830
840
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
831
841
|
readonly listAllProfileSlots: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
@@ -40,6 +40,11 @@ export declare const CamStreamDescriptorSchema: z.ZodObject<{
|
|
|
40
40
|
label: z.ZodOptional<z.ZodString>;
|
|
41
41
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
42
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
44
|
+
high: "high";
|
|
45
|
+
mid: "mid";
|
|
46
|
+
low: "low";
|
|
47
|
+
}>>;
|
|
43
48
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
44
49
|
}, z.core.$strip>;
|
|
45
50
|
export type CamStreamDescriptor = z.infer<typeof CamStreamDescriptorSchema>;
|
|
@@ -94,6 +99,11 @@ declare const StreamCatalogStateSchema: z.ZodObject<{
|
|
|
94
99
|
label: z.ZodOptional<z.ZodString>;
|
|
95
100
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
96
101
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
102
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
103
|
+
high: "high";
|
|
104
|
+
mid: "mid";
|
|
105
|
+
low: "low";
|
|
106
|
+
}>>;
|
|
97
107
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
98
108
|
}, z.core.$strip>>;
|
|
99
109
|
lastFetchedAt: z.ZodNumber;
|
|
@@ -129,6 +139,11 @@ export declare const streamCatalogCapability: {
|
|
|
129
139
|
label: z.ZodOptional<z.ZodString>;
|
|
130
140
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
131
141
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
142
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
143
|
+
high: "high";
|
|
144
|
+
mid: "mid";
|
|
145
|
+
low: "low";
|
|
146
|
+
}>>;
|
|
132
147
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
133
148
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
134
149
|
};
|
|
@@ -154,6 +169,11 @@ export declare const streamCatalogCapability: {
|
|
|
154
169
|
label: z.ZodOptional<z.ZodString>;
|
|
155
170
|
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
156
171
|
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
172
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
173
|
+
high: "high";
|
|
174
|
+
mid: "mid";
|
|
175
|
+
low: "low";
|
|
176
|
+
}>>;
|
|
157
177
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
158
178
|
}, z.core.$strip>>;
|
|
159
179
|
lastFetchedAt: z.ZodNumber;
|
|
@@ -93,6 +93,7 @@ import type { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.j
|
|
|
93
93
|
import type { ptzCapability } from '../capabilities/ptz.cap.js';
|
|
94
94
|
import type { rebootCapability } from '../capabilities/reboot.cap.js';
|
|
95
95
|
import type { recordingExportCapability } from '../capabilities/recording-export.cap.js';
|
|
96
|
+
import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
|
|
96
97
|
import type { recordingCapability } from '../capabilities/recording.cap.js';
|
|
97
98
|
import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
|
|
98
99
|
import type { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
|
|
@@ -6881,6 +6882,20 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6881
6882
|
meta: object;
|
|
6882
6883
|
}>;
|
|
6883
6884
|
}>>;
|
|
6885
|
+
recordingSignal: TRPCBuiltRouter<{
|
|
6886
|
+
ctx: TrpcContext;
|
|
6887
|
+
meta: object;
|
|
6888
|
+
errorShape: AugmentedErrorShape;
|
|
6889
|
+
transformer: true;
|
|
6890
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
6891
|
+
getStatus: TRPCQueryProcedure<{
|
|
6892
|
+
input: {
|
|
6893
|
+
[x: string]: unknown;
|
|
6894
|
+
} & z.input<typeof recordingSignalCapability.methods.getStatus.input>;
|
|
6895
|
+
output: z.infer<typeof recordingSignalCapability.methods.getStatus.output>;
|
|
6896
|
+
meta: object;
|
|
6897
|
+
}>;
|
|
6898
|
+
}>>;
|
|
6884
6899
|
sceneMonitor: TRPCBuiltRouter<{
|
|
6885
6900
|
ctx: TrpcContext;
|
|
6886
6901
|
meta: object;
|
|
@@ -55,6 +55,7 @@ import type { PrivacyMaskStatusSchema } from '../capabilities/privacy-mask.cap.j
|
|
|
55
55
|
import type { PtzStatusSchema } from '../capabilities/ptz.cap.js';
|
|
56
56
|
import type { PtzAutotrackStatusSchema } from '../capabilities/ptz-autotrack.cap.js';
|
|
57
57
|
import type { RecordingStatusSchema } from '../capabilities/recording.cap.js';
|
|
58
|
+
import type { RecordingSignalStatusSchema } from '../capabilities/recording-signal.cap.js';
|
|
58
59
|
import type { SceneMonitorStatusSchema } from '../capabilities/scene-monitor.cap.js';
|
|
59
60
|
import type { ScriptRunnerStatusSchema } from '../capabilities/script-runner.cap.js';
|
|
60
61
|
import type { SmokeStatusSchema } from '../capabilities/smoke.cap.js';
|
|
@@ -131,6 +132,7 @@ export type CapStatusTypeMap = {
|
|
|
131
132
|
readonly 'ptz': z.infer<typeof PtzStatusSchema>;
|
|
132
133
|
readonly 'ptz-autotrack': z.infer<typeof PtzAutotrackStatusSchema>;
|
|
133
134
|
readonly 'recording': z.infer<typeof RecordingStatusSchema>;
|
|
135
|
+
readonly 'recording-signal': z.infer<typeof RecordingSignalStatusSchema>;
|
|
134
136
|
readonly 'scene-monitor': z.infer<typeof SceneMonitorStatusSchema>;
|
|
135
137
|
readonly 'script-runner': z.infer<typeof ScriptRunnerStatusSchema>;
|
|
136
138
|
readonly 'smoke': z.infer<typeof SmokeStatusSchema>;
|
|
@@ -153,4 +155,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
|
|
|
153
155
|
* aggregator to enumerate caps whose `status` should be polled +
|
|
154
156
|
* streamed via `subscribeDeviceStatusAggregate`.
|
|
155
157
|
*/
|
|
156
|
-
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
158
|
+
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "recording-signal", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
@@ -115,6 +115,7 @@ export { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
|
|
|
115
115
|
export { rebootCapability } from '../capabilities/reboot.cap.js';
|
|
116
116
|
export { recordingCapability } from '../capabilities/recording.cap.js';
|
|
117
117
|
export { recordingExportCapability } from '../capabilities/recording-export.cap.js';
|
|
118
|
+
export { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
|
|
118
119
|
export { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
|
|
119
120
|
export { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
|
|
120
121
|
export { serverManagementCapability } from '../capabilities/server-management.cap.js';
|
|
@@ -270,6 +271,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
270
271
|
readonly reboot: "reboot";
|
|
271
272
|
readonly recording: "recording";
|
|
272
273
|
readonly recordingExport: "recording-export";
|
|
274
|
+
readonly recordingSignal: "recording-signal";
|
|
273
275
|
readonly sceneMonitor: "scene-monitor";
|
|
274
276
|
readonly scriptRunner: "script-runner";
|
|
275
277
|
readonly serverManagement: "server-management";
|
|
@@ -438,6 +440,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
438
440
|
readonly reboot: TRouter;
|
|
439
441
|
readonly recording: TRouter;
|
|
440
442
|
readonly recordingExport: TRouter;
|
|
443
|
+
readonly recordingSignal: TRouter;
|
|
441
444
|
readonly sceneMonitor: TRouter;
|
|
442
445
|
readonly scriptRunner: TRouter;
|
|
443
446
|
readonly serverManagement: TRouter;
|
|
@@ -476,8 +479,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
476
479
|
readonly zoneRules: TRouter;
|
|
477
480
|
readonly zones: TRouter;
|
|
478
481
|
}
|
|
479
|
-
/** Capability names whose mode is `singleton` (
|
|
480
|
-
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", "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"];
|
|
482
|
+
/** Capability names whose mode is `singleton` (128 caps). */
|
|
483
|
+
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"];
|
|
481
484
|
/** Union of singleton capability names (literal string union). */
|
|
482
485
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
483
486
|
/** Capability names whose mode is `collection` (27 caps). */
|
|
@@ -48,6 +48,7 @@ import { presenceCapability } from '../capabilities/presence.cap.js';
|
|
|
48
48
|
import { pressureSensorCapability } from '../capabilities/pressure-sensor.cap.js';
|
|
49
49
|
import { privacyMaskCapability } from '../capabilities/privacy-mask.cap.js';
|
|
50
50
|
import { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
|
|
51
|
+
import { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
|
|
51
52
|
import { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
|
|
52
53
|
import { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
|
|
53
54
|
import { smokeCapability } from '../capabilities/smoke.cap.js';
|
|
@@ -126,6 +127,7 @@ export interface DeviceLocalState {
|
|
|
126
127
|
pressureSensor: InferRuntimeState<typeof pressureSensorCapability>;
|
|
127
128
|
privacyMask: InferRuntimeState<typeof privacyMaskCapability>;
|
|
128
129
|
ptzAutotrack: InferRuntimeState<typeof ptzAutotrackCapability>;
|
|
130
|
+
recordingSignal: InferRuntimeState<typeof recordingSignalCapability>;
|
|
129
131
|
sceneMonitor: InferRuntimeState<typeof sceneMonitorCapability>;
|
|
130
132
|
scriptRunner: InferRuntimeState<typeof scriptRunnerCapability>;
|
|
131
133
|
smoke: InferRuntimeState<typeof smokeCapability>;
|
|
@@ -214,6 +216,7 @@ export interface CapNameToRuntimeStateMap {
|
|
|
214
216
|
'pressure-sensor': InferRuntimeState<typeof pressureSensorCapability>;
|
|
215
217
|
'privacy-mask': InferRuntimeState<typeof privacyMaskCapability>;
|
|
216
218
|
'ptz-autotrack': InferRuntimeState<typeof ptzAutotrackCapability>;
|
|
219
|
+
'recording-signal': InferRuntimeState<typeof recordingSignalCapability>;
|
|
217
220
|
'scene-monitor': InferRuntimeState<typeof sceneMonitorCapability>;
|
|
218
221
|
'script-runner': InferRuntimeState<typeof scriptRunnerCapability>;
|
|
219
222
|
'smoke': InferRuntimeState<typeof smokeCapability>;
|
|
@@ -64,6 +64,7 @@ import type { privacyMaskCapability } from '../capabilities/privacy-mask.cap.js'
|
|
|
64
64
|
import type { ptzCapability } from '../capabilities/ptz.cap.js';
|
|
65
65
|
import type { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
|
|
66
66
|
import type { rebootCapability } from '../capabilities/reboot.cap.js';
|
|
67
|
+
import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
|
|
67
68
|
import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
|
|
68
69
|
import type { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
|
|
69
70
|
import type { smokeCapability } from '../capabilities/smoke.cap.js';
|
|
@@ -156,6 +157,7 @@ export interface DeviceProxyState {
|
|
|
156
157
|
readonly pressureSensor: SliceHandle<InferRuntimeState<typeof pressureSensorCapability>>;
|
|
157
158
|
readonly privacyMask: SliceHandle<InferRuntimeState<typeof privacyMaskCapability>>;
|
|
158
159
|
readonly ptzAutotrack: SliceHandle<InferRuntimeState<typeof ptzAutotrackCapability>>;
|
|
160
|
+
readonly recordingSignal: SliceHandle<InferRuntimeState<typeof recordingSignalCapability>>;
|
|
159
161
|
readonly sceneMonitor: SliceHandle<InferRuntimeState<typeof sceneMonitorCapability>>;
|
|
160
162
|
readonly scriptRunner: SliceHandle<InferRuntimeState<typeof scriptRunnerCapability>>;
|
|
161
163
|
readonly smoke: SliceHandle<InferRuntimeState<typeof smokeCapability>>;
|
|
@@ -254,6 +256,7 @@ export interface DeviceProxy {
|
|
|
254
256
|
readonly ptz?: InferDeviceProxyCap<typeof ptzCapability>;
|
|
255
257
|
readonly ptzAutotrack?: InferDeviceProxyCap<typeof ptzAutotrackCapability>;
|
|
256
258
|
readonly reboot?: InferDeviceProxyCap<typeof rebootCapability>;
|
|
259
|
+
readonly recordingSignal?: InferDeviceProxyCap<typeof recordingSignalCapability>;
|
|
257
260
|
readonly sceneMonitor?: InferDeviceProxyCap<typeof sceneMonitorCapability>;
|
|
258
261
|
readonly scriptRunner?: InferDeviceProxyCap<typeof scriptRunnerCapability>;
|
|
259
262
|
readonly smoke?: InferDeviceProxyCap<typeof smokeCapability>;
|
|
@@ -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: 1020 method paths across 128 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:
|
|
9
|
+
* Coverage: 367 methods carry a device reference, of which
|
|
10
10
|
* 134 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|
|
@@ -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`.
|
|
14
|
+
* `runtimeState`. 67 caps: 35 `restored`, 32 `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.
|