@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.
- package/dist/addon.js +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/camera/stream-pick.d.ts +71 -0
- package/dist/capabilities/camera-streams.cap.d.ts +10 -0
- package/dist/capabilities/index.d.ts +5 -3
- package/dist/capabilities/native-object-detection.cap.d.ts +67 -0
- package/dist/capabilities/notification-rules.cap.d.ts +60 -12
- package/dist/capabilities/osd-manager.cap.d.ts +18 -0
- package/dist/capabilities/stream-broker.cap.d.ts +37 -0
- package/dist/capabilities/stream-signals.cap.d.ts +80 -0
- package/dist/capabilities/webrtc-session.cap.d.ts +1 -0
- package/dist/enums/event-category.d.ts +14 -0
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-ZyX6jcse.mjs → event-category-BVDXG4tB.mjs} +14 -0
- package/dist/{event-category-yW4s1MGD.js → event-category-BVfsrBYA.js} +14 -0
- package/dist/generated/addon-api.d.ts +36 -0
- 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 +4 -1
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +442 -39
- package/dist/index.mjs +434 -40
- package/dist/{sleep-DXsYD0RX.js → sleep-B8nfmQ8a.js} +8 -2
- package/dist/{sleep-DBKu2-U5.mjs → sleep-BEyvfshj.mjs} +8 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
3
|
-
const require_event_category = require("./event-category-
|
|
2
|
+
const require_sleep = require("./sleep-B8nfmQ8a.js");
|
|
3
|
+
const require_event_category = require("./event-category-BVfsrBYA.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
|
-
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, St as normalizeAddonInitResult, Tt as emitReadiness, V as ReadinessRegistry, a as asJsonObject, b as deviceOpsCapability, bt as DisposerChain, 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, vt as DATAPLANE_SECRET_HEADER, x as viewerUiCapability, xt as BaseAddon, z as readNodePin } from "./sleep-
|
|
2
|
-
import { t as EventCategory } from "./event-category-
|
|
1
|
+
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, St as normalizeAddonInitResult, Tt as emitReadiness, V as ReadinessRegistry, a as asJsonObject, b as deviceOpsCapability, bt as DisposerChain, 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, vt as DATAPLANE_SECRET_HEADER, x as viewerUiCapability, xt as BaseAddon, z as readNodePin } from "./sleep-BEyvfshj.mjs";
|
|
2
|
+
import { t as EventCategory } from "./event-category-BVDXG4tB.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
5
5
|
/**
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ranking behind `cameraStreams.pickStream` — one place where "which
|
|
3
|
+
* stream should this consumer get" is answered.
|
|
4
|
+
*
|
|
5
|
+
* It is pure, and it lives here rather than inside the broker, because the
|
|
6
|
+
* point of the exercise was that there be exactly ONE of it. On 2026-09-13
|
|
7
|
+
* there were two: this picker, and a private scorer inside the Alexa exporter
|
|
8
|
+
* written the same day because the picker could not express Amazon's ceiling.
|
|
9
|
+
* A second authority for a question that already had one is the defect this
|
|
10
|
+
* repo keeps paying for — two knobs where the second outranks the first (D62),
|
|
11
|
+
* a pin no UI could show, a flag that never reached ffmpeg.
|
|
12
|
+
*
|
|
13
|
+
* Each consumer passes ITS OWN numbers. Alexa's floor is Amazon's 480p and its
|
|
14
|
+
* ceiling 1080p; HomeKit's are its own. The thresholds belong to whoever has
|
|
15
|
+
* the requirement, never to a default in here.
|
|
16
|
+
*/
|
|
17
|
+
export interface PickCandidate {
|
|
18
|
+
readonly camStreamId: string;
|
|
19
|
+
readonly codec?: string | undefined;
|
|
20
|
+
readonly height?: number | undefined;
|
|
21
|
+
readonly width?: number | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface PickRanking {
|
|
24
|
+
/** Codecs usable with no transcode. Empty ⇒ every codec is usable. */
|
|
25
|
+
readonly acceptCodecs: readonly string[];
|
|
26
|
+
/** Whether a codec outside `acceptCodecs` may win, transcoded. */
|
|
27
|
+
readonly allowTranscode: boolean;
|
|
28
|
+
/** Ordered provider prefixes; earlier wins. */
|
|
29
|
+
readonly preferredProviders: readonly string[];
|
|
30
|
+
/** `highest` / `lowest`, used when `targetHeight` is absent. */
|
|
31
|
+
readonly resolutionPreference: 'highest' | 'lowest';
|
|
32
|
+
/** The height the consumer means to deliver. See the cap's docblock. */
|
|
33
|
+
readonly targetHeight?: number | undefined;
|
|
34
|
+
}
|
|
35
|
+
export interface RankedPick {
|
|
36
|
+
readonly candidate: PickCandidate;
|
|
37
|
+
readonly transcodes: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* THE target rule: which of two sizes serves a consumer better.
|
|
41
|
+
*
|
|
42
|
+
* "Prefer at or above the target so the consumer downscales instead of
|
|
43
|
+
* upscaling; among those the SMALLEST, because the extra pixels are thrown
|
|
44
|
+
* away and the decode is not; among the rest the LARGEST, because it is the
|
|
45
|
+
* closest we can get." One sentence, and until now it was written twice — once
|
|
46
|
+
* here in lines, once in `stream-selection.ts` in pixels, for the same two
|
|
47
|
+
* exporters. The two agreed, which is luck, not a property.
|
|
48
|
+
*
|
|
49
|
+
* The `size` is whatever measure the caller ranks by: the cap ranks by LINES
|
|
50
|
+
* (a consumer's requirement is stated in p), the RTSP picker by PIXELS (it
|
|
51
|
+
* compares entries of possibly different aspect). The rule is the same either
|
|
52
|
+
* way and the measure is the caller's business.
|
|
53
|
+
*
|
|
54
|
+
* Returns a sort delta: negative when `a` should come first.
|
|
55
|
+
*/
|
|
56
|
+
export declare function compareToTarget(a: number, b: number, target: number): number;
|
|
57
|
+
export declare function codecIsAccepted(codec: string | undefined, accept: readonly string[]): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Order the candidates and return the winner, or `null` when none qualifies.
|
|
60
|
+
*
|
|
61
|
+
* The order, and every term is there for a measured reason:
|
|
62
|
+
*
|
|
63
|
+
* 1. **A stream we can take AS IS beats one we must re-encode.** A transcode
|
|
64
|
+
* is a decode plus an encode for as long as the session lasts, and on this
|
|
65
|
+
* hub a concurrent HEVC decode is what exhausted the VAAPI device.
|
|
66
|
+
* 2. **Provider preference**, unchanged — a native dial beats a relayed one.
|
|
67
|
+
* 3. **The target**, when the consumer named one: the smallest stream that
|
|
68
|
+
* reaches it, else the tallest that does not. Absent, the caller's
|
|
69
|
+
* `resolutionPreference` decides, exactly as before.
|
|
70
|
+
*/
|
|
71
|
+
export declare function rankStreams(candidates: readonly PickCandidate[], ranking: PickRanking): RankedPick | null;
|
|
@@ -22,6 +22,7 @@ export declare const PickStreamRequirementsSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
22
22
|
vp9: "vp9";
|
|
23
23
|
}>>>>;
|
|
24
24
|
minHeight: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
maxHeight: z.ZodOptional<z.ZodNumber>;
|
|
25
26
|
minWidth: z.ZodOptional<z.ZodNumber>;
|
|
26
27
|
excludeDerived: z.ZodOptional<z.ZodBoolean>;
|
|
27
28
|
requireSiblingCodec: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
@@ -33,6 +34,7 @@ export declare const PickStreamRequirementsSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
33
34
|
vp8: "vp8";
|
|
34
35
|
vp9: "vp9";
|
|
35
36
|
}>>>>;
|
|
37
|
+
allowTranscode: z.ZodOptional<z.ZodBoolean>;
|
|
36
38
|
}, z.core.$strip>>;
|
|
37
39
|
export declare const PickStreamPreferencesSchema: z.ZodReadonly<z.ZodObject<{
|
|
38
40
|
preferredProviders: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
@@ -40,7 +42,10 @@ export declare const PickStreamPreferencesSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
40
42
|
highest: "highest";
|
|
41
43
|
lowest: "lowest";
|
|
42
44
|
}>>;
|
|
45
|
+
targetHeight: z.ZodOptional<z.ZodNumber>;
|
|
43
46
|
}, z.core.$strip>>;
|
|
47
|
+
export type PickStreamRequirements = z.infer<typeof PickStreamRequirementsSchema>;
|
|
48
|
+
export type PickStreamPreferences = z.infer<typeof PickStreamPreferencesSchema>;
|
|
44
49
|
export declare const PickedCamStreamSchema: z.ZodObject<{
|
|
45
50
|
camStreamId: z.ZodString;
|
|
46
51
|
codec: z.ZodOptional<z.ZodString>;
|
|
@@ -48,6 +53,7 @@ export declare const PickedCamStreamSchema: z.ZodObject<{
|
|
|
48
53
|
width: z.ZodNumber;
|
|
49
54
|
height: z.ZodNumber;
|
|
50
55
|
}, z.core.$strip>>;
|
|
56
|
+
transcodes: z.ZodBoolean;
|
|
51
57
|
reason: z.ZodString;
|
|
52
58
|
}, z.core.$strip>;
|
|
53
59
|
export type PickedCamStream = z.infer<typeof PickedCamStreamSchema>;
|
|
@@ -213,6 +219,7 @@ export declare const cameraStreamsCapability: {
|
|
|
213
219
|
vp9: "vp9";
|
|
214
220
|
}>>>>;
|
|
215
221
|
minHeight: z.ZodOptional<z.ZodNumber>;
|
|
222
|
+
maxHeight: z.ZodOptional<z.ZodNumber>;
|
|
216
223
|
minWidth: z.ZodOptional<z.ZodNumber>;
|
|
217
224
|
excludeDerived: z.ZodOptional<z.ZodBoolean>;
|
|
218
225
|
requireSiblingCodec: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
@@ -224,6 +231,7 @@ export declare const cameraStreamsCapability: {
|
|
|
224
231
|
vp8: "vp8";
|
|
225
232
|
vp9: "vp9";
|
|
226
233
|
}>>>>;
|
|
234
|
+
allowTranscode: z.ZodOptional<z.ZodBoolean>;
|
|
227
235
|
}, z.core.$strip>>;
|
|
228
236
|
preferences: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
229
237
|
preferredProviders: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
@@ -231,6 +239,7 @@ export declare const cameraStreamsCapability: {
|
|
|
231
239
|
highest: "highest";
|
|
232
240
|
lowest: "lowest";
|
|
233
241
|
}>>;
|
|
242
|
+
targetHeight: z.ZodOptional<z.ZodNumber>;
|
|
234
243
|
}, z.core.$strip>>>;
|
|
235
244
|
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
236
245
|
camStreamId: z.ZodString;
|
|
@@ -239,6 +248,7 @@ export declare const cameraStreamsCapability: {
|
|
|
239
248
|
width: z.ZodNumber;
|
|
240
249
|
height: z.ZodNumber;
|
|
241
250
|
}, z.core.$strip>>;
|
|
251
|
+
transcodes: z.ZodBoolean;
|
|
242
252
|
reason: z.ZodString;
|
|
243
253
|
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
244
254
|
};
|
|
@@ -34,7 +34,8 @@ export { AuthResultSchema, authProviderCapability } from './auth-provider.cap.js
|
|
|
34
34
|
export { ArchiveEntrySchema, ArchiveManifestSchema, BackupDestinationInfoSchema, BackupEntrySchema, type BackupRun, type BackupRunPhase, BackupRunPhaseSchema, BackupRunSchema, type BackupRunState, BackupRunStateSchema, type BackupTriggerResult, BackupTriggerResultSchema, backupCapability, type IBackupProvider, LocationStatSchema, } from './backup.cap.js';
|
|
35
35
|
export { BrokerAddInputSchema, BrokerGetStateInputSchema, type BrokerInfo as UnifiedBrokerInfo, BrokerInfoSchema as UnifiedBrokerInfoSchema, type BrokerProviderInfo, BrokerProviderInfoSchema, BrokerPublishInputSchema, BrokerRegistryStatusSchema, type BrokerStatus as UnifiedBrokerStatus, BrokerStatusEnum, BrokerSubscribeInputSchema, BrokerSubscribeResultSchema, BrokerTestConnectionResultSchema, BrokerUnsubscribeInputSchema, brokerCapability, type IBrokerProvider, } from './broker.cap.js';
|
|
36
36
|
export { cameraPipelineConfigCapability, type ICameraPipelineConfigProvider, } from './camera-pipeline-config.cap.js';
|
|
37
|
-
export {
|
|
37
|
+
export { streamSignalsCapability, type IStreamSignalsProvider, type StreamSignal, StreamSignalSchema, type StreamSignalsStatus, StreamSignalsStatusSchema, } from './stream-signals.cap.js';
|
|
38
|
+
export { cameraStreamsCapability, type ICameraStreamsProvider, type PickedCamStream, PickedCamStreamSchema, type PickStreamPreferences, PickStreamPreferencesSchema, type PickStreamRequirements, PickStreamRequirementsSchema, type StreamCodec, StreamCodecSchema, } from './camera-streams.cap.js';
|
|
38
39
|
export { extractNestedAddonId, isArrayOutputSchema, isCollectionArrayMethod, isObjectInput, isVoidInput, kebabToCamel, looseSchema, objectInputDeclaresAddonId, procedureAuthKey, resolveMethodAuth, } from './cap-router-predicates.js';
|
|
39
40
|
export type { CapabilityDefinition, CapabilityEventSchema, CapabilityMethodAuth, CapabilityMethodCaller, CapabilityMethodKind, CapabilityMethodOptions, CapabilityMethodSchema, CapabilityMountHint, CapabilityMountKind, CapabilityStatusItemArray, CapabilityStatusKind, CapabilityStatusSchema, CapCaller, DeviceConfigDerivedFormUi, DeviceConfigSpec, DeviceConfigUiSpec, DeviceConfigWidgetUi, DeviceSettingsContribution, InferDeviceProxyCap, InferEvents, InferName, InferNativeProvider, InferProvider, InferRuntimeState, ProviderKind, RuntimeStateDurability, UiContribution, UiContributionKind, UiContributionRemote, } from './capability-definition.js';
|
|
40
41
|
export { DEFAULT_RUNTIME_STATE_DURABILITY, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, event, expandCapMethods, isDeviceConfigCap, method, resolveCapMount, } from './capability-definition.js';
|
|
@@ -169,7 +170,7 @@ export { type IMeshNetworkProvider, type MeshEndpoint, type MeshPeer, MeshPeerSc
|
|
|
169
170
|
export { type IMotionProvider, MOTION_CLOSE_AFTER_MS, type MotionOnMotionChangedData, MotionOnMotionChangedDataSchema, type MotionStatus, MotionStatusSchema, motionCapability, } from './motion.cap.js';
|
|
170
171
|
export { type IMotionTriggerProvider, type MotionTriggerRuntimeState, MotionTriggerRuntimeStateSchema, type MotionTriggerStatus, MotionTriggerStatusSchema, motionTriggerCapability, } from './motion-trigger.cap.js';
|
|
171
172
|
export { type IMotionZonesProvider, type MotionZoneOptions, MotionZoneOptionsSchema, type MotionZonePatch, MotionZonePatchSchema, type MotionZoneRegion, MotionZoneRegionSchema, type MotionZoneStatus, MotionZoneStatusSchema, motionZonesCapability, } from './motion-zones.cap.js';
|
|
172
|
-
export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetectionSchema, type NativeObjectClass, NativeObjectClassEnum, type NativeObjectDetectionRuntimeState, NativeObjectDetectionRuntimeStateSchema, type NativeObjectDetectionStatus, NativeObjectDetectionStatusSchema, nativeObjectDetectionCapability, } from './native-object-detection.cap.js';
|
|
173
|
+
export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetectionSchema, type NativeObjectClass, NativeObjectClassEnum, type NativeObjectDetectionOptions, NativeObjectDetectionOptionsSchema, type NativeObjectDetectionRuntimeState, NativeObjectDetectionRuntimeStateSchema, type NativeObjectDetectionSettingsPatch, NativeObjectDetectionSettingsPatchSchema, type NativeObjectDetectionStatus, NativeObjectDetectionStatusSchema, type NativeObjectGeometry, NativeObjectGeometryEnum, nativeObjectDetectionCapability, } from './native-object-detection.cap.js';
|
|
173
174
|
export { type INavigationProvider, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, type NavigationActionEntry, NavigationActionEntrySchema, type NavigationActionId, NavigationActionIdSchema, type NavigationEntryKind, NavigationEntryKindSchema, type NavigationFeatures, NavigationFeaturesSchema, type NavigationLightMode, NavigationLightModeSchema, type NavigationMode, NavigationModeSchema, type NavigationMoveCommand, NavigationMoveCommandSchema, type NavigationPoint, NavigationPointSchema, type NavigationRuntimeState, NavigationRuntimeStateSchema, type NavigationStatus, NavigationStatusSchema, navigationCapability, } from './navigation.cap.js';
|
|
174
175
|
export { type INetworkLinkProvider, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, type NetworkLinkStatus, NetworkLinkStatusSchema, type NetworkLinkType, networkLinkCapability, signalPercentFromBars, signalPercentFromRssi, } from './network-link.cap.js';
|
|
175
176
|
export { ClientNetworkStatsSchema, DeviceNetworkStatsSchema, type INetworkQualityProvider, networkQualityCapability, StreamNetworkStatsSchema, } from './network-quality.cap.js';
|
|
@@ -241,6 +242,7 @@ import type { brokerCapability } from './broker.cap.js';
|
|
|
241
242
|
import type { buttonCapability } from './button.cap.js';
|
|
242
243
|
import type { cameraCredentialsCapability } from './camera-credentials.cap.js';
|
|
243
244
|
import type { cameraPipelineConfigCapability } from './camera-pipeline-config.cap.js';
|
|
245
|
+
import type { streamSignalsCapability } from './stream-signals.cap.js';
|
|
244
246
|
import type { cameraStreamsCapability } from './camera-streams.cap.js';
|
|
245
247
|
import type { carbonMonoxideCapability } from './carbon-monoxide.cap.js';
|
|
246
248
|
import type { climateControlCapability } from './climate-control.cap.js';
|
|
@@ -370,6 +372,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
|
|
|
370
372
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
371
373
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
372
374
|
import type { zonesCapability } from './zones.cap.js';
|
|
373
|
-
type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | 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;
|
|
375
|
+
type AnyCapability = typeof streamSignalsCapability | typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | 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;
|
|
374
376
|
export type CapabilityName = AnyCapability['name'];
|
|
375
377
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -66,6 +66,44 @@ export declare const NativeObjectDetectionStatusSchema: z.ZodObject<{
|
|
|
66
66
|
enabled: z.ZodBoolean;
|
|
67
67
|
}, z.core.$strip>;
|
|
68
68
|
export type NativeObjectDetectionStatus = z.infer<typeof NativeObjectDetectionStatusSchema>;
|
|
69
|
+
/**
|
|
70
|
+
* What a camera's onboard detections actually CARRY.
|
|
71
|
+
*
|
|
72
|
+
* `boxed` — the firmware ships a bounding box with the class, so a detection is
|
|
73
|
+
* a subject the pipeline can track, crop and score.
|
|
74
|
+
* `flag-only` — the firmware ships the class and nothing else. The pipeline
|
|
75
|
+
* needs geometry to make a subject out of it, so such a push reaches the
|
|
76
|
+
* tracker as motion and no further. On Reolink this is every battery camera:
|
|
77
|
+
* the boxes ride the BcMedia sub-stream, which a battery camera never attaches.
|
|
78
|
+
*
|
|
79
|
+
* Reported and not inferred, because the operator's question in front of the
|
|
80
|
+
* toggle is "what do I get", and "a class with no box" and "a subject" are
|
|
81
|
+
* different answers (D14: the derived form is only as honest as `getOptions`).
|
|
82
|
+
*/
|
|
83
|
+
export declare const NativeObjectGeometryEnum: z.ZodEnum<{
|
|
84
|
+
boxed: "boxed";
|
|
85
|
+
"flag-only": "flag-only";
|
|
86
|
+
}>;
|
|
87
|
+
export type NativeObjectGeometry = z.infer<typeof NativeObjectGeometryEnum>;
|
|
88
|
+
export declare const NativeObjectDetectionOptionsSchema: z.ZodObject<{
|
|
89
|
+
supportedClasses: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
90
|
+
person: "person";
|
|
91
|
+
vehicle: "vehicle";
|
|
92
|
+
animal: "animal";
|
|
93
|
+
package: "package";
|
|
94
|
+
face: "face";
|
|
95
|
+
other: "other";
|
|
96
|
+
}>>>;
|
|
97
|
+
geometry: z.ZodEnum<{
|
|
98
|
+
boxed: "boxed";
|
|
99
|
+
"flag-only": "flag-only";
|
|
100
|
+
}>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
export type NativeObjectDetectionOptions = z.infer<typeof NativeObjectDetectionOptionsSchema>;
|
|
103
|
+
export declare const NativeObjectDetectionSettingsPatchSchema: z.ZodObject<{
|
|
104
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export type NativeObjectDetectionSettingsPatch = z.infer<typeof NativeObjectDetectionSettingsPatchSchema>;
|
|
69
107
|
export declare const NativeObjectDetectionRuntimeStateSchema: z.ZodObject<{
|
|
70
108
|
lastByClass: z.ZodRecord<z.ZodEnum<{
|
|
71
109
|
person: "person";
|
|
@@ -104,7 +142,36 @@ export declare const nativeObjectDetectionCapability: {
|
|
|
104
142
|
readonly deviceNative: true;
|
|
105
143
|
readonly mode: "singleton";
|
|
106
144
|
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
145
|
+
readonly deviceConfig: {
|
|
146
|
+
readonly ui: {
|
|
147
|
+
readonly kind: "derived-form";
|
|
148
|
+
readonly builderId: "native-object-detection";
|
|
149
|
+
readonly tab: "motion";
|
|
150
|
+
};
|
|
151
|
+
};
|
|
107
152
|
readonly methods: {
|
|
153
|
+
readonly getOptions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
154
|
+
deviceId: z.ZodNumber;
|
|
155
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
156
|
+
supportedClasses: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
157
|
+
person: "person";
|
|
158
|
+
vehicle: "vehicle";
|
|
159
|
+
animal: "animal";
|
|
160
|
+
package: "package";
|
|
161
|
+
face: "face";
|
|
162
|
+
other: "other";
|
|
163
|
+
}>>>;
|
|
164
|
+
geometry: z.ZodEnum<{
|
|
165
|
+
boxed: "boxed";
|
|
166
|
+
"flag-only": "flag-only";
|
|
167
|
+
}>;
|
|
168
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
169
|
+
readonly setSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
170
|
+
deviceId: z.ZodNumber;
|
|
171
|
+
settings: z.ZodObject<{
|
|
172
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
173
|
+
}, z.core.$strip>;
|
|
174
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
108
175
|
readonly setEnabled: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
109
176
|
deviceId: z.ZodNumber;
|
|
110
177
|
enabled: z.ZodBoolean;
|