@camstack/types 0.1.35 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capabilities/addon-widgets-source.cap.d.ts +73 -5
- package/dist/capabilities/addon-widgets-source.cap.d.ts.map +1 -1
- package/dist/capabilities/addon-widgets.cap.d.ts +22 -4
- package/dist/capabilities/addon-widgets.cap.d.ts.map +1 -1
- package/dist/capabilities/audio-analysis.cap.d.ts +7 -4
- package/dist/capabilities/audio-analysis.cap.d.ts.map +1 -1
- package/dist/capabilities/camera-streams.cap.d.ts +7 -5
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
- package/dist/capabilities/capability-definition.d.ts +114 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -1
- package/dist/capabilities/decoder.cap.d.ts +90 -0
- package/dist/capabilities/decoder.cap.d.ts.map +1 -1
- package/dist/capabilities/detection-pipeline.cap.d.ts +6 -4
- package/dist/capabilities/detection-pipeline.cap.d.ts.map +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +3 -3
- package/dist/capabilities/device-ops.cap.d.ts +1 -1
- package/dist/capabilities/index.d.ts +18 -11
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/motion-detection.cap.d.ts +2 -0
- package/dist/capabilities/motion-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-zones.cap.d.ts +83 -0
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -0
- package/dist/capabilities/nodes.cap.d.ts +9 -0
- package/dist/capabilities/nodes.cap.d.ts.map +1 -1
- package/dist/capabilities/oauth-integration.cap.d.ts +103 -0
- package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts +2 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz-autotrack.cap.d.ts +10 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz.cap.d.ts +57 -1
- package/dist/capabilities/ptz.cap.d.ts.map +1 -1
- package/dist/capabilities/schemas/streaming-shared.d.ts +110 -3
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
- package/dist/capabilities/snapshot.cap.d.ts +2 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
- package/dist/capabilities/sso-bridge.cap.d.ts +120 -0
- package/dist/capabilities/sso-bridge.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +97 -4
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-params-config-schema.d.ts +56 -0
- package/dist/capabilities/stream-params-config-schema.d.ts.map +1 -0
- package/dist/capabilities/stream-params.cap.d.ts +482 -0
- package/dist/capabilities/stream-params.cap.d.ts.map +1 -0
- package/dist/capabilities/user-management.cap.d.ts +198 -1
- package/dist/capabilities/user-management.cap.d.ts.map +1 -1
- package/dist/capabilities/webrtc-session.cap.d.ts +2 -0
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +1175 -51
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +7 -3
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +13 -4
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +6 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +6 -0
- package/dist/generated/device-proxy.d.ts.map +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts.map +1 -1
- package/dist/generated/system-proxy.d.ts +4 -4
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/{index-BkSgJYP7.js → index-BblD92Si.js} +600 -98
- package/dist/index-BblD92Si.js.map +1 -0
- package/dist/{index-CWhQOnm9.mjs → index-CgPd35k5.mjs} +949 -447
- package/dist/index-CgPd35k5.mjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +313 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +587 -281
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon.d.ts +123 -29
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +6 -23
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +4 -101
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/decoder.d.ts +12 -0
- package/dist/interfaces/decoder.d.ts.map +1 -1
- package/dist/interfaces/device-provider.d.ts +0 -4
- package/dist/interfaces/device-provider.d.ts.map +1 -1
- package/dist/interfaces/event-bus.d.ts +15 -0
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/frame-handle.d.ts +40 -0
- package/dist/interfaces/frame-handle.d.ts.map +1 -0
- package/dist/interfaces/kernel-abstractions.d.ts +6 -0
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +40 -21
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/package.json +1 -1
- package/dist/index-BkSgJYP7.js.map +0 -1
- package/dist/index-CWhQOnm9.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index-
|
|
3
|
+
const index = require("./index-BblD92Si.js");
|
|
4
4
|
const zod = require("zod");
|
|
5
5
|
class DisposerChain {
|
|
6
6
|
disposers = [];
|
|
@@ -70,12 +70,11 @@ class DisposerChain {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
const DEFAULT_ADDON_GROUP = "main-group";
|
|
74
73
|
const DEFAULT_ADDON_PLACEMENT = "hub-only";
|
|
75
74
|
function resolveAddonExecution(decl) {
|
|
76
75
|
return {
|
|
77
76
|
placement: decl.execution?.placement ?? DEFAULT_ADDON_PLACEMENT,
|
|
78
|
-
group: decl.execution?.group
|
|
77
|
+
group: decl.execution?.group
|
|
79
78
|
};
|
|
80
79
|
}
|
|
81
80
|
function isDeployableToAgent(decl) {
|
|
@@ -88,6 +87,9 @@ function isAgentOnlyPlacement(decl) {
|
|
|
88
87
|
function resolveAddonGroup(decl) {
|
|
89
88
|
return resolveAddonExecution(decl).group;
|
|
90
89
|
}
|
|
90
|
+
function resolveRunnerId(decl, addonId) {
|
|
91
|
+
return decl.execution?.group ?? addonId;
|
|
92
|
+
}
|
|
91
93
|
function resolveAddonPlacement(decl) {
|
|
92
94
|
return resolveAddonExecution(decl).placement;
|
|
93
95
|
}
|
|
@@ -1932,7 +1934,9 @@ const DEVICE_LOCAL_STATE_CAPS = {
|
|
|
1932
1934
|
featureProbe: index.featureProbeCapability,
|
|
1933
1935
|
motion: index.motionCapability,
|
|
1934
1936
|
motionTrigger: index.motionTriggerCapability,
|
|
1937
|
+
motionZones: index.motionZonesCapability,
|
|
1935
1938
|
ptzAutotrack: index.ptzAutotrackCapability,
|
|
1939
|
+
streamParams: index.streamParamsCapability,
|
|
1936
1940
|
switch: index.switchCapability,
|
|
1937
1941
|
zoneAnalytics: index.zoneAnalyticsCapability,
|
|
1938
1942
|
zoneRules: index.zoneRulesCapability,
|
|
@@ -2914,6 +2918,11 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2914
2918
|
setMotionTrigger: (input) => dispatch("motion-trigger", "motionTrigger", "setMotionTrigger", "mutation", input),
|
|
2915
2919
|
getStatus: (input) => dispatch("motion-trigger", "motionTrigger", "getStatus", "query", input)
|
|
2916
2920
|
};
|
|
2921
|
+
const motionZonesInterface = {
|
|
2922
|
+
getOptions: (input) => dispatch("motion-zones", "motionZones", "getOptions", "query", input),
|
|
2923
|
+
setZone: (input) => dispatch("motion-zones", "motionZones", "setZone", "mutation", input),
|
|
2924
|
+
getStatus: (input) => dispatch("motion-zones", "motionZones", "getStatus", "query", input)
|
|
2925
|
+
};
|
|
2917
2926
|
const nativeObjectDetectionInterface = {
|
|
2918
2927
|
getStatus: (input) => dispatch("native-object-detection", "nativeObjectDetection", "getStatus", "query", input)
|
|
2919
2928
|
};
|
|
@@ -2941,8 +2950,12 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2941
2950
|
stop: (input) => dispatch("ptz", "ptz", "stop", "mutation", input),
|
|
2942
2951
|
getPresets: (input) => dispatch("ptz", "ptz", "getPresets", "query", input),
|
|
2943
2952
|
goToPreset: (input) => dispatch("ptz", "ptz", "goToPreset", "mutation", input),
|
|
2953
|
+
savePreset: (input) => dispatch("ptz", "ptz", "savePreset", "mutation", input),
|
|
2954
|
+
deletePreset: (input) => dispatch("ptz", "ptz", "deletePreset", "mutation", input),
|
|
2955
|
+
getOptions: (input) => dispatch("ptz", "ptz", "getOptions", "query", input),
|
|
2944
2956
|
goHome: (input) => dispatch("ptz", "ptz", "goHome", "mutation", input),
|
|
2945
2957
|
getPosition: (input) => dispatch("ptz", "ptz", "getPosition", "query", input),
|
|
2958
|
+
setAutofocus: (input) => dispatch("ptz", "ptz", "setAutofocus", "mutation", input),
|
|
2946
2959
|
getStatus: (input) => dispatch("ptz", "ptz", "getStatus", "query", input)
|
|
2947
2960
|
};
|
|
2948
2961
|
const ptzAutotrackInterface = {
|
|
@@ -2967,6 +2980,12 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2967
2980
|
getDeviceLiveContribution: (input) => dispatch("snapshot", "snapshot", "getDeviceLiveContribution", "query", input),
|
|
2968
2981
|
applyDeviceSettingsPatch: (input) => dispatch("snapshot", "snapshot", "applyDeviceSettingsPatch", "mutation", input)
|
|
2969
2982
|
};
|
|
2983
|
+
const streamParamsInterface = {
|
|
2984
|
+
getOptions: (input) => dispatch("stream-params", "streamParams", "getOptions", "query", input),
|
|
2985
|
+
setProfile: (input) => dispatch("stream-params", "streamParams", "setProfile", "mutation", input),
|
|
2986
|
+
getConfigSchema: (input) => dispatch("stream-params", "streamParams", "getConfigSchema", "query", input),
|
|
2987
|
+
getStatus: (input) => dispatch("stream-params", "streamParams", "getStatus", "query", input)
|
|
2988
|
+
};
|
|
2970
2989
|
const switchInterface = {
|
|
2971
2990
|
setState: (input) => dispatch("switch", "switch", "setState", "mutation", input),
|
|
2972
2991
|
getStatus: (input) => dispatch("switch", "switch", "getStatus", "query", input)
|
|
@@ -3104,7 +3123,9 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3104
3123
|
featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
|
|
3105
3124
|
motion: createSliceHandle(stateSource, binding.deviceId, "motion"),
|
|
3106
3125
|
motionTrigger: createSliceHandle(stateSource, binding.deviceId, "motion-trigger"),
|
|
3126
|
+
motionZones: createSliceHandle(stateSource, binding.deviceId, "motion-zones"),
|
|
3107
3127
|
ptzAutotrack: createSliceHandle(stateSource, binding.deviceId, "ptz-autotrack"),
|
|
3128
|
+
streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
|
|
3108
3129
|
switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
|
|
3109
3130
|
zoneAnalytics: createSliceHandle(stateSource, binding.deviceId, "zone-analytics"),
|
|
3110
3131
|
zoneRules: createSliceHandle(stateSource, binding.deviceId, "zone-rules"),
|
|
@@ -3128,6 +3149,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3128
3149
|
motion: motionInterface,
|
|
3129
3150
|
motionDetection: motionDetectionInterface,
|
|
3130
3151
|
motionTrigger: motionTriggerInterface,
|
|
3152
|
+
motionZones: motionZonesInterface,
|
|
3131
3153
|
nativeObjectDetection: nativeObjectDetectionInterface,
|
|
3132
3154
|
osd: osdInterface,
|
|
3133
3155
|
pipelineAnalytics: pipelineAnalyticsInterface,
|
|
@@ -3136,6 +3158,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3136
3158
|
reboot: rebootInterface,
|
|
3137
3159
|
recording: recordingInterface,
|
|
3138
3160
|
snapshot: snapshotInterface,
|
|
3161
|
+
streamParams: streamParamsInterface,
|
|
3139
3162
|
switch: switchInterface,
|
|
3140
3163
|
webrtcSession: webrtcSessionInterface,
|
|
3141
3164
|
zoneAnalytics: zoneAnalyticsInterface,
|
|
@@ -3304,6 +3327,9 @@ function createSystemProxy(api) {
|
|
|
3304
3327
|
pushPacket: (input) => dispatch("decoder", "pushPacket", "query", input),
|
|
3305
3328
|
openStream: (input) => dispatch("decoder", "openStream", "query", input),
|
|
3306
3329
|
pullFrames: (input) => dispatch("decoder", "pullFrames", "query", input),
|
|
3330
|
+
pullHandles: (input) => dispatch("decoder", "pullHandles", "query", input),
|
|
3331
|
+
getFrame: (input) => dispatch("decoder", "getFrame", "query", input),
|
|
3332
|
+
getShmStats: (input) => dispatch("decoder", "getShmStats", "query", input),
|
|
3307
3333
|
updateConfig: (input) => dispatch("decoder", "updateConfig", "query", input),
|
|
3308
3334
|
getStats: (input) => dispatch("decoder", "getStats", "query", input),
|
|
3309
3335
|
listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
|
|
@@ -3423,6 +3449,7 @@ function createSystemProxy(api) {
|
|
|
3423
3449
|
shutdownNode: (input) => dispatch("nodes", "shutdownNode", "mutation", input),
|
|
3424
3450
|
renameNode: (input) => dispatch("nodes", "renameNode", "mutation", input),
|
|
3425
3451
|
clusterAddonStatus: (input) => dispatch("nodes", "clusterAddonStatus", "query", input),
|
|
3452
|
+
getCapUsageGraph: (input) => dispatch("nodes", "getCapUsageGraph", "query", input),
|
|
3426
3453
|
getNodeAddons: (input) => dispatch("nodes", "getNodeAddons", "query", input),
|
|
3427
3454
|
setProcessLogLevel: (input) => dispatch("nodes", "setProcessLogLevel", "mutation", input),
|
|
3428
3455
|
executeQuery: (input) => dispatch("nodes", "executeQuery", "mutation", input)
|
|
@@ -3562,7 +3589,12 @@ function createSystemProxy(api) {
|
|
|
3562
3589
|
getStreamUrl: (input) => dispatch("streamBroker", "getStreamUrl", "query", input),
|
|
3563
3590
|
getStreamWithCodec: (input) => dispatch("streamBroker", "getStreamWithCodec", "mutation", input),
|
|
3564
3591
|
releaseStreamWithCodec: (input) => dispatch("streamBroker", "releaseStreamWithCodec", "mutation", input),
|
|
3565
|
-
|
|
3592
|
+
subscribeAudioChunks: (input) => dispatch("streamBroker", "subscribeAudioChunks", "mutation", input),
|
|
3593
|
+
pullAudioChunks: (input) => dispatch("streamBroker", "pullAudioChunks", "query", input),
|
|
3594
|
+
unsubscribeAudioChunks: (input) => dispatch("streamBroker", "unsubscribeAudioChunks", "mutation", input),
|
|
3595
|
+
subscribeFrames: (input) => dispatch("streamBroker", "subscribeFrames", "mutation", input),
|
|
3596
|
+
pullFrameHandles: (input) => dispatch("streamBroker", "pullFrameHandles", "query", input),
|
|
3597
|
+
unsubscribeFrames: (input) => dispatch("streamBroker", "unsubscribeFrames", "mutation", input),
|
|
3566
3598
|
setPreBufferDuration: (input) => dispatch("streamBroker", "setPreBufferDuration", "mutation", input),
|
|
3567
3599
|
getPreBufferInfo: (input) => dispatch("streamBroker", "getPreBufferInfo", "query", input),
|
|
3568
3600
|
getRtspPort: (input) => dispatch("streamBroker", "getRtspPort", "query", input),
|
|
@@ -3607,7 +3639,13 @@ function createSystemProxy(api) {
|
|
|
3607
3639
|
confirmTotp: (input) => dispatch("userManagement", "confirmTotp", "mutation", input),
|
|
3608
3640
|
disableTotp: (input) => dispatch("userManagement", "disableTotp", "mutation", input),
|
|
3609
3641
|
getTotpStatus: (input) => dispatch("userManagement", "getTotpStatus", "query", input),
|
|
3610
|
-
verifyTotp: (input) => dispatch("userManagement", "verifyTotp", "mutation", input)
|
|
3642
|
+
verifyTotp: (input) => dispatch("userManagement", "verifyTotp", "mutation", input),
|
|
3643
|
+
oauthIssueCode: (input) => dispatch("userManagement", "oauthIssueCode", "mutation", input),
|
|
3644
|
+
oauthExchangeCode: (input) => dispatch("userManagement", "oauthExchangeCode", "mutation", input),
|
|
3645
|
+
oauthRefresh: (input) => dispatch("userManagement", "oauthRefresh", "mutation", input),
|
|
3646
|
+
oauthVerifyAccessToken: (input) => dispatch("userManagement", "oauthVerifyAccessToken", "query", input),
|
|
3647
|
+
listOauthSessions: (input) => dispatch("userManagement", "listOauthSessions", "query", input),
|
|
3648
|
+
revokeOauthSession: (input) => dispatch("userManagement", "revokeOauthSession", "mutation", input)
|
|
3611
3649
|
};
|
|
3612
3650
|
return {
|
|
3613
3651
|
addonPages: addonPagesInterface,
|
|
@@ -4398,6 +4436,205 @@ function customAction(input, output, options) {
|
|
|
4398
4436
|
scope: options?.scope ?? { kind: "system" }
|
|
4399
4437
|
};
|
|
4400
4438
|
}
|
|
4439
|
+
const STREAM_PROFILE_META = [
|
|
4440
|
+
{ profile: "main", prefix: "streamMain", label: "Main stream" },
|
|
4441
|
+
{ profile: "sub", prefix: "streamSub", label: "Sub stream" },
|
|
4442
|
+
{ profile: "ext", prefix: "streamExt", label: "Third stream" }
|
|
4443
|
+
];
|
|
4444
|
+
function buildProfileSection(meta, opt, cur) {
|
|
4445
|
+
const fields = [];
|
|
4446
|
+
if (opt.resolutions.length > 0) {
|
|
4447
|
+
const resOptions = opt.resolutions.map((r) => ({
|
|
4448
|
+
value: `${String(r.width)}x${String(r.height)}`,
|
|
4449
|
+
label: `${String(r.width)}×${String(r.height)}`
|
|
4450
|
+
}));
|
|
4451
|
+
const curResValue = cur ? `${String(cur.width)}x${String(cur.height)}` : void 0;
|
|
4452
|
+
if (curResValue && !resOptions.some((o) => o.value === curResValue)) {
|
|
4453
|
+
resOptions.unshift({ value: curResValue, label: `${curResValue.replace("x", "×")} (current)` });
|
|
4454
|
+
}
|
|
4455
|
+
fields.push({
|
|
4456
|
+
type: "select",
|
|
4457
|
+
key: `${meta.prefix}_resolution`,
|
|
4458
|
+
label: "Resolution",
|
|
4459
|
+
options: resOptions,
|
|
4460
|
+
default: curResValue ?? resOptions[0]?.value ?? ""
|
|
4461
|
+
});
|
|
4462
|
+
}
|
|
4463
|
+
if (opt.codecs.length > 0) {
|
|
4464
|
+
fields.push({
|
|
4465
|
+
type: "select",
|
|
4466
|
+
key: `${meta.prefix}_codec`,
|
|
4467
|
+
label: "Codec",
|
|
4468
|
+
options: opt.codecs.map((c) => ({ value: c, label: c === "h264" ? "H.264" : "H.265" })),
|
|
4469
|
+
default: cur?.codec ?? opt.codecs[0]
|
|
4470
|
+
});
|
|
4471
|
+
}
|
|
4472
|
+
if (opt.framerates.length > 0) {
|
|
4473
|
+
const fpsOptions = opt.framerates.map((f) => ({ value: String(f), label: `${String(f)} fps` }));
|
|
4474
|
+
const curFps = cur?.framerate;
|
|
4475
|
+
if (curFps !== void 0 && !opt.framerates.includes(curFps)) {
|
|
4476
|
+
fpsOptions.unshift({ value: String(curFps), label: `${String(curFps)} fps (current)` });
|
|
4477
|
+
}
|
|
4478
|
+
fields.push({
|
|
4479
|
+
type: "select",
|
|
4480
|
+
key: `${meta.prefix}_framerate`,
|
|
4481
|
+
label: "Frame rate",
|
|
4482
|
+
options: fpsOptions,
|
|
4483
|
+
default: curFps !== void 0 ? String(curFps) : fpsOptions[0]?.value ?? ""
|
|
4484
|
+
});
|
|
4485
|
+
}
|
|
4486
|
+
if (opt.bitrates.length > 0) {
|
|
4487
|
+
const brOptions = opt.bitrates.map((b) => ({ value: String(b), label: `${String(b)} kbps` }));
|
|
4488
|
+
const curBr = cur?.bitrate;
|
|
4489
|
+
if (curBr !== void 0 && !opt.bitrates.includes(curBr)) {
|
|
4490
|
+
brOptions.unshift({ value: String(curBr), label: `${String(curBr)} kbps (current)` });
|
|
4491
|
+
}
|
|
4492
|
+
fields.push({
|
|
4493
|
+
type: "select",
|
|
4494
|
+
key: `${meta.prefix}_bitrate`,
|
|
4495
|
+
label: "Bitrate",
|
|
4496
|
+
options: brOptions,
|
|
4497
|
+
default: curBr !== void 0 ? String(curBr) : brOptions[0]?.value ?? ""
|
|
4498
|
+
});
|
|
4499
|
+
} else {
|
|
4500
|
+
const range = opt.bitrateRange;
|
|
4501
|
+
fields.push({
|
|
4502
|
+
type: "number",
|
|
4503
|
+
key: `${meta.prefix}_bitrate`,
|
|
4504
|
+
label: "Bitrate",
|
|
4505
|
+
unit: "kbps",
|
|
4506
|
+
...range ? { min: range[0], max: range[1] } : {},
|
|
4507
|
+
default: cur?.bitrate ?? range?.[0] ?? 0
|
|
4508
|
+
});
|
|
4509
|
+
}
|
|
4510
|
+
if (opt.supportsBitrateMode) {
|
|
4511
|
+
fields.push({
|
|
4512
|
+
type: "select",
|
|
4513
|
+
key: `${meta.prefix}_bitrateMode`,
|
|
4514
|
+
label: "Bitrate mode",
|
|
4515
|
+
options: [
|
|
4516
|
+
{ value: "vbr", label: "VBR (variable)" },
|
|
4517
|
+
{ value: "cbr", label: "CBR (constant)" }
|
|
4518
|
+
],
|
|
4519
|
+
default: cur?.bitrateMode ?? "vbr"
|
|
4520
|
+
});
|
|
4521
|
+
}
|
|
4522
|
+
if (opt.supportsEncoderProfile) {
|
|
4523
|
+
fields.push({
|
|
4524
|
+
type: "select",
|
|
4525
|
+
key: `${meta.prefix}_encoderProfile`,
|
|
4526
|
+
label: "Encoder profile",
|
|
4527
|
+
options: [
|
|
4528
|
+
{ value: "baseline", label: "Baseline" },
|
|
4529
|
+
{ value: "main", label: "Main" },
|
|
4530
|
+
{ value: "high", label: "High" }
|
|
4531
|
+
],
|
|
4532
|
+
default: cur?.encoderProfile ?? "main"
|
|
4533
|
+
});
|
|
4534
|
+
}
|
|
4535
|
+
if (opt.supportsGop) {
|
|
4536
|
+
const range = opt.gop;
|
|
4537
|
+
if (range) {
|
|
4538
|
+
const gopOptions = [];
|
|
4539
|
+
for (let v = range.min; v <= range.max; v += range.step) {
|
|
4540
|
+
gopOptions.push({ value: String(v), label: `${String(v)} s` });
|
|
4541
|
+
}
|
|
4542
|
+
const curGop = cur?.gop;
|
|
4543
|
+
if (curGop !== void 0 && !gopOptions.some((o) => o.value === String(curGop))) {
|
|
4544
|
+
gopOptions.unshift({ value: String(curGop), label: `${String(curGop)} s (current)` });
|
|
4545
|
+
}
|
|
4546
|
+
fields.push({
|
|
4547
|
+
type: "select",
|
|
4548
|
+
key: `${meta.prefix}_gop`,
|
|
4549
|
+
label: "I-frame interval (GOP)",
|
|
4550
|
+
options: gopOptions,
|
|
4551
|
+
default: curGop !== void 0 ? String(curGop) : gopOptions[0]?.value ?? ""
|
|
4552
|
+
});
|
|
4553
|
+
} else {
|
|
4554
|
+
fields.push({
|
|
4555
|
+
type: "number",
|
|
4556
|
+
key: `${meta.prefix}_gop`,
|
|
4557
|
+
label: "I-frame interval (GOP)",
|
|
4558
|
+
unit: "s",
|
|
4559
|
+
min: 1,
|
|
4560
|
+
default: cur?.gop ?? 1
|
|
4561
|
+
});
|
|
4562
|
+
}
|
|
4563
|
+
}
|
|
4564
|
+
if (fields.length === 0) return null;
|
|
4565
|
+
return {
|
|
4566
|
+
id: `stream-${meta.profile}`,
|
|
4567
|
+
tab: "streaming",
|
|
4568
|
+
title: meta.label,
|
|
4569
|
+
description: "Encoder parameters pushed to the camera. Option lists are read live from the camera — fields the firmware doesn't expose are hidden.",
|
|
4570
|
+
columns: 2,
|
|
4571
|
+
fields
|
|
4572
|
+
};
|
|
4573
|
+
}
|
|
4574
|
+
function buildStreamParamsConfigSchema(options, status) {
|
|
4575
|
+
const sections = [];
|
|
4576
|
+
for (const meta of STREAM_PROFILE_META) {
|
|
4577
|
+
const opt = options[meta.profile];
|
|
4578
|
+
if (!opt) continue;
|
|
4579
|
+
const section = buildProfileSection(meta, opt, status?.[meta.profile]);
|
|
4580
|
+
if (section) sections.push(section);
|
|
4581
|
+
}
|
|
4582
|
+
if (sections.length === 0) return null;
|
|
4583
|
+
return { sections };
|
|
4584
|
+
}
|
|
4585
|
+
function parseStreamParamsFormPatch(patch, prefix) {
|
|
4586
|
+
const out = {};
|
|
4587
|
+
let touched = false;
|
|
4588
|
+
const resKey = `${prefix}_resolution`;
|
|
4589
|
+
if (resKey in patch && typeof patch[resKey] === "string") {
|
|
4590
|
+
const [w, h] = patch[resKey].split("x").map(Number);
|
|
4591
|
+
if (Number.isFinite(w) && Number.isFinite(h)) {
|
|
4592
|
+
out.width = w;
|
|
4593
|
+
out.height = h;
|
|
4594
|
+
touched = true;
|
|
4595
|
+
}
|
|
4596
|
+
}
|
|
4597
|
+
const codecKey = `${prefix}_codec`;
|
|
4598
|
+
if (codecKey in patch && (patch[codecKey] === "h264" || patch[codecKey] === "h265")) {
|
|
4599
|
+
out.codec = patch[codecKey];
|
|
4600
|
+
touched = true;
|
|
4601
|
+
}
|
|
4602
|
+
const fpsKey = `${prefix}_framerate`;
|
|
4603
|
+
if (fpsKey in patch) {
|
|
4604
|
+
const fps = Number(patch[fpsKey]);
|
|
4605
|
+
if (Number.isFinite(fps)) {
|
|
4606
|
+
out.framerate = fps;
|
|
4607
|
+
touched = true;
|
|
4608
|
+
}
|
|
4609
|
+
}
|
|
4610
|
+
const brKey = `${prefix}_bitrate`;
|
|
4611
|
+
if (brKey in patch) {
|
|
4612
|
+
const br = Number(patch[brKey]);
|
|
4613
|
+
if (Number.isFinite(br)) {
|
|
4614
|
+
out.bitrate = br;
|
|
4615
|
+
touched = true;
|
|
4616
|
+
}
|
|
4617
|
+
}
|
|
4618
|
+
const modeKey = `${prefix}_bitrateMode`;
|
|
4619
|
+
if (modeKey in patch && (patch[modeKey] === "vbr" || patch[modeKey] === "cbr")) {
|
|
4620
|
+
out.bitrateMode = patch[modeKey];
|
|
4621
|
+
touched = true;
|
|
4622
|
+
}
|
|
4623
|
+
const profKey = `${prefix}_encoderProfile`;
|
|
4624
|
+
if (profKey in patch && (patch[profKey] === "high" || patch[profKey] === "main" || patch[profKey] === "baseline")) {
|
|
4625
|
+
out.encoderProfile = patch[profKey];
|
|
4626
|
+
touched = true;
|
|
4627
|
+
}
|
|
4628
|
+
const gopKey = `${prefix}_gop`;
|
|
4629
|
+
if (gopKey in patch) {
|
|
4630
|
+
const gop = Number(patch[gopKey]);
|
|
4631
|
+
if (Number.isFinite(gop)) {
|
|
4632
|
+
out.gop = gop;
|
|
4633
|
+
touched = true;
|
|
4634
|
+
}
|
|
4635
|
+
}
|
|
4636
|
+
return touched ? out : null;
|
|
4637
|
+
}
|
|
4401
4638
|
const CAPABILITY_NAMES = {
|
|
4402
4639
|
accessories: "accessories",
|
|
4403
4640
|
addonPages: "addon-pages",
|
|
@@ -4442,12 +4679,14 @@ const CAPABILITY_NAMES = {
|
|
|
4442
4679
|
motion: "motion",
|
|
4443
4680
|
motionDetection: "motion-detection",
|
|
4444
4681
|
motionTrigger: "motion-trigger",
|
|
4682
|
+
motionZones: "motion-zones",
|
|
4445
4683
|
mqttBroker: "mqtt-broker",
|
|
4446
4684
|
nativeObjectDetection: "native-object-detection",
|
|
4447
4685
|
networkAccess: "network-access",
|
|
4448
4686
|
networkQuality: "network-quality",
|
|
4449
4687
|
nodes: "nodes",
|
|
4450
4688
|
notificationOutput: "notification-output",
|
|
4689
|
+
oauthIntegration: "oauth-integration",
|
|
4451
4690
|
osd: "osd",
|
|
4452
4691
|
pipelineAnalytics: "pipeline-analytics",
|
|
4453
4692
|
pipelineExecutor: "pipeline-executor",
|
|
@@ -4468,6 +4707,7 @@ const CAPABILITY_NAMES = {
|
|
|
4468
4707
|
storage: "storage",
|
|
4469
4708
|
storageProvider: "storage-provider",
|
|
4470
4709
|
streamBroker: "stream-broker",
|
|
4710
|
+
streamParams: "stream-params",
|
|
4471
4711
|
streamingEngine: "streaming-engine",
|
|
4472
4712
|
switch: "switch",
|
|
4473
4713
|
system: "system",
|
|
@@ -4525,12 +4765,14 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4525
4765
|
{ key: "motion", name: "motion" },
|
|
4526
4766
|
{ key: "motionDetection", name: "motion-detection" },
|
|
4527
4767
|
{ key: "motionTrigger", name: "motion-trigger" },
|
|
4768
|
+
{ key: "motionZones", name: "motion-zones" },
|
|
4528
4769
|
{ key: "mqttBroker", name: "mqtt-broker" },
|
|
4529
4770
|
{ key: "nativeObjectDetection", name: "native-object-detection" },
|
|
4530
4771
|
{ key: "networkAccess", name: "network-access" },
|
|
4531
4772
|
{ key: "networkQuality", name: "network-quality" },
|
|
4532
4773
|
{ key: "nodes", name: "nodes" },
|
|
4533
4774
|
{ key: "notificationOutput", name: "notification-output" },
|
|
4775
|
+
{ key: "oauthIntegration", name: "oauth-integration" },
|
|
4534
4776
|
{ key: "osd", name: "osd" },
|
|
4535
4777
|
{ key: "pipelineAnalytics", name: "pipeline-analytics" },
|
|
4536
4778
|
{ key: "pipelineExecutor", name: "pipeline-executor" },
|
|
@@ -4551,6 +4793,7 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4551
4793
|
{ key: "storage", name: "storage" },
|
|
4552
4794
|
{ key: "storageProvider", name: "storage-provider" },
|
|
4553
4795
|
{ key: "streamBroker", name: "stream-broker" },
|
|
4796
|
+
{ key: "streamParams", name: "stream-params" },
|
|
4554
4797
|
{ key: "streamingEngine", name: "streaming-engine" },
|
|
4555
4798
|
{ key: "switch", name: "switch" },
|
|
4556
4799
|
{ key: "system", name: "system" },
|
|
@@ -4608,12 +4851,14 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4608
4851
|
index.motionCapability,
|
|
4609
4852
|
index.motionDetectionCapability,
|
|
4610
4853
|
index.motionTriggerCapability,
|
|
4854
|
+
index.motionZonesCapability,
|
|
4611
4855
|
index.mqttBrokerCapability,
|
|
4612
4856
|
index.nativeObjectDetectionCapability,
|
|
4613
4857
|
index.networkAccessCapability,
|
|
4614
4858
|
index.networkQualityCapability,
|
|
4615
4859
|
index.nodesCapability,
|
|
4616
4860
|
index.notificationOutputCapability,
|
|
4861
|
+
index.oauthIntegrationCapability,
|
|
4617
4862
|
index.osdCapability,
|
|
4618
4863
|
index.pipelineAnalyticsCapability,
|
|
4619
4864
|
index.pipelineExecutorCapability,
|
|
@@ -4634,6 +4879,7 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4634
4879
|
index.storageCapability,
|
|
4635
4880
|
index.storageProviderCapability,
|
|
4636
4881
|
index.streamBrokerCapability,
|
|
4882
|
+
index.streamParamsCapability,
|
|
4637
4883
|
index.streamingEngineCapability,
|
|
4638
4884
|
index.switchCapability,
|
|
4639
4885
|
index.systemCapability,
|
|
@@ -4660,12 +4906,14 @@ const CAP_NAMES_WITH_STATUS = [
|
|
|
4660
4906
|
"intercom",
|
|
4661
4907
|
"motion",
|
|
4662
4908
|
"motion-trigger",
|
|
4909
|
+
"motion-zones",
|
|
4663
4910
|
"mqtt-broker",
|
|
4664
4911
|
"native-object-detection",
|
|
4665
4912
|
"osd",
|
|
4666
4913
|
"ptz",
|
|
4667
4914
|
"ptz-autotrack",
|
|
4668
4915
|
"snapshot",
|
|
4916
|
+
"stream-params",
|
|
4669
4917
|
"switch"
|
|
4670
4918
|
];
|
|
4671
4919
|
const METHOD_ACCESS_MAP = Object.freeze({
|
|
@@ -4763,11 +5011,14 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4763
5011
|
"cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
4764
5012
|
"decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4765
5013
|
"decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
|
|
5014
|
+
"decoder.getFrame": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4766
5015
|
"decoder.getInfo": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5016
|
+
"decoder.getShmStats": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4767
5017
|
"decoder.getStats": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4768
5018
|
"decoder.listActiveSessions": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4769
5019
|
"decoder.openStream": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4770
5020
|
"decoder.pullFrames": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5021
|
+
"decoder.pullHandles": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4771
5022
|
"decoder.pushPacket": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
4772
5023
|
"decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
|
|
4773
5024
|
"decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
@@ -4899,6 +5150,8 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4899
5150
|
"motionDetection.removeCamera": { capName: "motion-detection", capScope: "device", addonId: null, access: "delete" },
|
|
4900
5151
|
"motionDetection.reset": { capName: "motion-detection", capScope: "device", addonId: null, access: "delete" },
|
|
4901
5152
|
"motionTrigger.setMotionTrigger": { capName: "motion-trigger", capScope: "device", addonId: null, access: "create" },
|
|
5153
|
+
"motionZones.getOptions": { capName: "motion-zones", capScope: "device", addonId: null, access: "view" },
|
|
5154
|
+
"motionZones.setZone": { capName: "motion-zones", capScope: "device", addonId: null, access: "create" },
|
|
4902
5155
|
"mqttBroker.addBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
|
|
4903
5156
|
"mqttBroker.getBrokerConfig": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "view" },
|
|
4904
5157
|
"mqttBroker.getStatus": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "view" },
|
|
@@ -4918,6 +5171,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4918
5171
|
"nodes.clusterAddonStatus": { capName: "nodes", capScope: "system", addonId: null, access: "view" },
|
|
4919
5172
|
"nodes.deployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
4920
5173
|
"nodes.executeQuery": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
5174
|
+
"nodes.getCapUsageGraph": { capName: "nodes", capScope: "system", addonId: null, access: "view" },
|
|
4921
5175
|
"nodes.getNodeAddons": { capName: "nodes", capScope: "system", addonId: null, access: "view" },
|
|
4922
5176
|
"nodes.renameNode": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
4923
5177
|
"nodes.restartAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
@@ -4929,6 +5183,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4929
5183
|
"nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
4930
5184
|
"notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
4931
5185
|
"notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
5186
|
+
"oauthIntegration.getDescriptor": { capName: "oauth-integration", capScope: "system", addonId: null, access: "view" },
|
|
4932
5187
|
"osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
|
|
4933
5188
|
"pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
|
|
4934
5189
|
"pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
@@ -5022,11 +5277,15 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5022
5277
|
"platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5023
5278
|
"platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5024
5279
|
"ptz.continuousMove": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5280
|
+
"ptz.deletePreset": { capName: "ptz", capScope: "device", addonId: null, access: "delete" },
|
|
5281
|
+
"ptz.getOptions": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
|
|
5025
5282
|
"ptz.getPosition": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
|
|
5026
5283
|
"ptz.getPresets": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
|
|
5027
5284
|
"ptz.goHome": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5028
5285
|
"ptz.goToPreset": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5029
5286
|
"ptz.move": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5287
|
+
"ptz.savePreset": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5288
|
+
"ptz.setAutofocus": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5030
5289
|
"ptz.stop": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5031
5290
|
"ptzAutotrack.getSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "view" },
|
|
5032
5291
|
"ptzAutotrack.getStatus": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "view" },
|
|
@@ -5114,7 +5373,6 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5114
5373
|
"storageProvider.writeChunk": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
5115
5374
|
"streamBroker.assignProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5116
5375
|
"streamBroker.getAllRtspEntries": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5117
|
-
"streamBroker.getBroker": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5118
5376
|
"streamBroker.getBrokerStats": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5119
5377
|
"streamBroker.getPreBufferInfo": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5120
5378
|
"streamBroker.getRtspEntry": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5127,17 +5385,26 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5127
5385
|
"streamBroker.listAllProfileSlots": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5128
5386
|
"streamBroker.listClients": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5129
5387
|
"streamBroker.publishCameraStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5388
|
+
"streamBroker.pullAudioChunks": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5389
|
+
"streamBroker.pullFrameHandles": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
|
|
5130
5390
|
"streamBroker.regenerateRtspToken": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5131
5391
|
"streamBroker.releaseStreamWithCodec": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5132
5392
|
"streamBroker.restartProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5133
5393
|
"streamBroker.retractCameraStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5134
5394
|
"streamBroker.setPreBufferDuration": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5135
5395
|
"streamBroker.setRtspEnabled": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5396
|
+
"streamBroker.subscribeAudioChunks": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5397
|
+
"streamBroker.subscribeFrames": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5136
5398
|
"streamBroker.unassignProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5399
|
+
"streamBroker.unsubscribeAudioChunks": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5400
|
+
"streamBroker.unsubscribeFrames": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5137
5401
|
"streamingEngine.getStreamUrl": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
|
|
5138
5402
|
"streamingEngine.listStreams": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
|
|
5139
5403
|
"streamingEngine.registerStream": { capName: "streaming-engine", capScope: "system", addonId: null, access: "create" },
|
|
5140
5404
|
"streamingEngine.unregisterStream": { capName: "streaming-engine", capScope: "system", addonId: null, access: "delete" },
|
|
5405
|
+
"streamParams.getConfigSchema": { capName: "stream-params", capScope: "device", addonId: null, access: "view" },
|
|
5406
|
+
"streamParams.getOptions": { capName: "stream-params", capScope: "device", addonId: null, access: "view" },
|
|
5407
|
+
"streamParams.setProfile": { capName: "stream-params", capScope: "device", addonId: null, access: "create" },
|
|
5141
5408
|
"switch.setState": { capName: "switch", capScope: "device", addonId: null, access: "create" },
|
|
5142
5409
|
"system.featureFlags": { capName: "system", capScope: "system", addonId: null, access: "view" },
|
|
5143
5410
|
"system.forceRetentionCleanup": { capName: "system", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5156,10 +5423,16 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5156
5423
|
"userManagement.disableTotp": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
|
|
5157
5424
|
"userManagement.getTotpStatus": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5158
5425
|
"userManagement.listApiKeys": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5426
|
+
"userManagement.listOauthSessions": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5159
5427
|
"userManagement.listScopedTokens": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5160
5428
|
"userManagement.listUsers": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5429
|
+
"userManagement.oauthExchangeCode": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5430
|
+
"userManagement.oauthIssueCode": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5431
|
+
"userManagement.oauthRefresh": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5432
|
+
"userManagement.oauthVerifyAccessToken": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
|
|
5161
5433
|
"userManagement.resetPassword": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5162
5434
|
"userManagement.revokeApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
|
|
5435
|
+
"userManagement.revokeOauthSession": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
|
|
5163
5436
|
"userManagement.revokeScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
|
|
5164
5437
|
"userManagement.setupTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5165
5438
|
"userManagement.setUserScopes": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5237,11 +5510,13 @@ const KNOWN_CAP_NAMES = [
|
|
|
5237
5510
|
"motion",
|
|
5238
5511
|
"motion-detection",
|
|
5239
5512
|
"motion-trigger",
|
|
5513
|
+
"motion-zones",
|
|
5240
5514
|
"mqtt-broker",
|
|
5241
5515
|
"network-access",
|
|
5242
5516
|
"network-quality",
|
|
5243
5517
|
"nodes",
|
|
5244
5518
|
"notification-output",
|
|
5519
|
+
"oauth-integration",
|
|
5245
5520
|
"osd",
|
|
5246
5521
|
"pipeline-analytics",
|
|
5247
5522
|
"pipeline-executor",
|
|
@@ -5262,6 +5537,7 @@ const KNOWN_CAP_NAMES = [
|
|
|
5262
5537
|
"storage",
|
|
5263
5538
|
"storage-provider",
|
|
5264
5539
|
"stream-broker",
|
|
5540
|
+
"stream-params",
|
|
5265
5541
|
"streaming-engine",
|
|
5266
5542
|
"switch",
|
|
5267
5543
|
"system",
|
|
@@ -5288,6 +5564,7 @@ const DEVICE_CAP_NAMES = [
|
|
|
5288
5564
|
"motion",
|
|
5289
5565
|
"motion-detection",
|
|
5290
5566
|
"motion-trigger",
|
|
5567
|
+
"motion-zones",
|
|
5291
5568
|
"osd",
|
|
5292
5569
|
"pipeline-analytics",
|
|
5293
5570
|
"ptz",
|
|
@@ -5295,6 +5572,7 @@ const DEVICE_CAP_NAMES = [
|
|
|
5295
5572
|
"reboot",
|
|
5296
5573
|
"recording",
|
|
5297
5574
|
"snapshot",
|
|
5575
|
+
"stream-params",
|
|
5298
5576
|
"switch",
|
|
5299
5577
|
"webrtc-session",
|
|
5300
5578
|
"zone-analytics",
|
|
@@ -5332,6 +5610,7 @@ const SYSTEM_CAP_NAMES = [
|
|
|
5332
5610
|
"network-quality",
|
|
5333
5611
|
"nodes",
|
|
5334
5612
|
"notification-output",
|
|
5613
|
+
"oauth-integration",
|
|
5335
5614
|
"pipeline-executor",
|
|
5336
5615
|
"pipeline-orchestrator",
|
|
5337
5616
|
"pipeline-runner",
|
|
@@ -5549,6 +5828,7 @@ exports.DEFAULT_DECODER_HWACCEL_CONFIG = index.DEFAULT_DECODER_HWACCEL_CONFIG;
|
|
|
5549
5828
|
exports.DEVICE_PROFILES = index.DEVICE_PROFILES;
|
|
5550
5829
|
exports.DEVICE_SETTINGS_CONTRIBUTION_METHODS = index.DEVICE_SETTINGS_CONTRIBUTION_METHODS;
|
|
5551
5830
|
exports.DEVICE_STATUS_METHOD = index.DEVICE_STATUS_METHOD;
|
|
5831
|
+
exports.DecodedAudioChunkSchema = index.DecodedAudioChunkSchema;
|
|
5552
5832
|
exports.DecodedFrameSchema = index.DecodedFrameSchema;
|
|
5553
5833
|
exports.DecoderAssignmentSchema = index.DecoderAssignmentSchema;
|
|
5554
5834
|
exports.DecoderSessionConfigSchema = index.DecoderSessionConfigSchema;
|
|
@@ -5582,6 +5862,8 @@ exports.ExposedDeviceSchema = index.ExposedDeviceSchema;
|
|
|
5582
5862
|
exports.ExposedResourceSchema = index.ExposedResourceSchema;
|
|
5583
5863
|
exports.FeatureManifestSchema = index.FeatureManifestSchema;
|
|
5584
5864
|
exports.FeatureProbeStatusSchema = index.FeatureProbeStatusSchema;
|
|
5865
|
+
exports.FrameHandleFormatSchema = index.FrameHandleFormatSchema;
|
|
5866
|
+
exports.FrameHandleSchema = index.FrameHandleSchema;
|
|
5585
5867
|
exports.FrameInputSchema = index.FrameInputSchema;
|
|
5586
5868
|
exports.GetStreamWithCodecInputSchema = index.GetStreamWithCodecInputSchema;
|
|
5587
5869
|
exports.GlobalMetricsSchema = index.GlobalMetricsSchema;
|
|
@@ -5612,6 +5894,9 @@ exports.MotionSourcesSchema = index.MotionSourcesSchema;
|
|
|
5612
5894
|
exports.MotionStatusSchema = index.MotionStatusSchema;
|
|
5613
5895
|
exports.MotionTriggerRuntimeStateSchema = index.MotionTriggerRuntimeStateSchema;
|
|
5614
5896
|
exports.MotionTriggerStatusSchema = index.MotionTriggerStatusSchema;
|
|
5897
|
+
exports.MotionZoneOptionsSchema = index.MotionZoneOptionsSchema;
|
|
5898
|
+
exports.MotionZonePatchSchema = index.MotionZonePatchSchema;
|
|
5899
|
+
exports.MotionZoneStatusSchema = index.MotionZoneStatusSchema;
|
|
5615
5900
|
exports.MqttBrokerStatusSchema = index.StatusSchema;
|
|
5616
5901
|
exports.NativeDetectionSchema = index.NativeDetectionSchema;
|
|
5617
5902
|
exports.NativeObjectClassEnum = index.NativeObjectClassEnum;
|
|
@@ -5622,6 +5907,7 @@ exports.NetworkEndpointSchema = index.NetworkEndpointSchema;
|
|
|
5622
5907
|
exports.NotificationHistoryEntrySchema = index.NotificationHistoryEntrySchema;
|
|
5623
5908
|
exports.NotificationRuleSchema = index.NotificationRuleSchema;
|
|
5624
5909
|
exports.NotificationSchema = index.NotificationSchema;
|
|
5910
|
+
exports.OauthIntegrationDescriptorSchema = index.OauthIntegrationDescriptorSchema;
|
|
5625
5911
|
exports.ObjectEventSchema = index.ObjectEventSchema;
|
|
5626
5912
|
exports.OrchestratorMetricsSchema = index.OrchestratorMetricsSchema;
|
|
5627
5913
|
exports.OsdOverlayKindEnum = index.OsdOverlayKindEnum;
|
|
@@ -5653,6 +5939,7 @@ exports.PtzAutotrackTargetOptionSchema = index.PtzAutotrackTargetOptionSchema;
|
|
|
5653
5939
|
exports.PtzMoveCommandSchema = index.PtzMoveCommandSchema;
|
|
5654
5940
|
exports.PtzPositionSchema = index.PtzPositionSchema;
|
|
5655
5941
|
exports.PtzPresetSchema = index.PtzPresetSchema;
|
|
5942
|
+
exports.PtzStatusSchema = index.PtzStatusSchema;
|
|
5656
5943
|
exports.QueryFilterSchema = index.QueryFilterSchema;
|
|
5657
5944
|
exports.RegisteredStreamSchema = index.RegisteredStreamSchema;
|
|
5658
5945
|
exports.ReportMotionInputSchema = index.ReportMotionInputSchema;
|
|
@@ -5673,6 +5960,7 @@ exports.SettingsPatchSchema = index.SettingsPatchSchema;
|
|
|
5673
5960
|
exports.SettingsRecordSchema = index.SettingsRecordSchema;
|
|
5674
5961
|
exports.SettingsSchemaWithValuesSchema = index.SettingsSchemaWithValuesSchema;
|
|
5675
5962
|
exports.SettingsUpdateResultSchema = index.SettingsUpdateResultSchema;
|
|
5963
|
+
exports.ShmRingStatsSchema = index.ShmRingStatsSchema;
|
|
5676
5964
|
exports.SmtpStatusSchema = index.SmtpStatusSchema;
|
|
5677
5965
|
exports.SnapshotImageSchema = index.SnapshotImageSchema;
|
|
5678
5966
|
exports.SpatialDetectionSchema = index.SpatialDetectionSchema;
|
|
@@ -5695,8 +5983,18 @@ exports.StorageWriteChunkInputSchema = index.WriteChunkInputSchema;
|
|
|
5695
5983
|
exports.StreamFormatSchema = index.StreamFormatSchema;
|
|
5696
5984
|
exports.StreamInfoSchema = index.StreamInfoSchema;
|
|
5697
5985
|
exports.StreamNetworkStatsSchema = index.StreamNetworkStatsSchema;
|
|
5986
|
+
exports.StreamParamsOptionsSchema = index.StreamParamsOptionsSchema;
|
|
5987
|
+
exports.StreamParamsStatusSchema = index.StreamParamsStatusSchema;
|
|
5988
|
+
exports.StreamProfileConfigSchema = index.StreamProfileConfigSchema;
|
|
5989
|
+
exports.StreamProfileOptionsSchema = index.StreamProfileOptionsSchema;
|
|
5990
|
+
exports.StreamProfilePatchSchema = index.StreamProfilePatchSchema;
|
|
5991
|
+
exports.StreamProfileSchema = index.StreamProfileSchema;
|
|
5698
5992
|
exports.StreamSourceEntrySchema = index.StreamSourceEntrySchema;
|
|
5699
5993
|
exports.StreamSourceSchema = index.StreamSourceSchema;
|
|
5994
|
+
exports.SubscribeAudioChunksInputSchema = index.SubscribeAudioChunksInputSchema;
|
|
5995
|
+
exports.SubscribeAudioChunksResultSchema = index.SubscribeAudioChunksResultSchema;
|
|
5996
|
+
exports.SubscribeFramesInputSchema = index.SubscribeFramesInputSchema;
|
|
5997
|
+
exports.SubscribeFramesResultSchema = index.SubscribeFramesResultSchema;
|
|
5700
5998
|
exports.SwitchStatusSchema = index.SwitchStatusSchema;
|
|
5701
5999
|
exports.SystemMetricsSchema = index.SystemMetricsSchema;
|
|
5702
6000
|
exports.TestConnectionResultSchema = index.TestConnectionResultSchema;
|
|
@@ -5719,6 +6017,7 @@ exports.WebrtcStreamChoiceSchema = index.WebrtcStreamChoiceSchema;
|
|
|
5719
6017
|
exports.WebrtcStreamTargetSchema = index.WebrtcStreamTargetSchema;
|
|
5720
6018
|
exports.WidgetHostEnum = index.WidgetHostEnum;
|
|
5721
6019
|
exports.WidgetMetadataSchema = index.WidgetMetadataSchema;
|
|
6020
|
+
exports.WidgetRemoteSchema = index.WidgetRemoteSchema;
|
|
5722
6021
|
exports.WidgetSizeEnum = index.WidgetSizeEnum;
|
|
5723
6022
|
exports.YAMNET_TO_MACRO = index.YAMNET_TO_MACRO;
|
|
5724
6023
|
exports.ZoneKindEnum = index.ZoneKindEnum;
|
|
@@ -5771,6 +6070,7 @@ exports.getAudioMacroClassIds = index.getAudioMacroClassIds;
|
|
|
5771
6070
|
exports.hydrateSchema = index.hydrateSchema;
|
|
5772
6071
|
exports.integrationsCapability = index.integrationsCapability;
|
|
5773
6072
|
exports.intercomCapability = index.intercomCapability;
|
|
6073
|
+
exports.isDeviceConfigCap = index.isDeviceConfigCap;
|
|
5774
6074
|
exports.localNetworkCapability = index.localNetworkCapability;
|
|
5775
6075
|
exports.logDestinationCapability = index.logDestinationCapability;
|
|
5776
6076
|
exports.mapAudioLabelToMacro = index.mapAudioLabelToMacro;
|
|
@@ -5780,12 +6080,14 @@ exports.metricsProviderCapability = index.metricsProviderCapability;
|
|
|
5780
6080
|
exports.motionCapability = index.motionCapability;
|
|
5781
6081
|
exports.motionDetectionCapability = index.motionDetectionCapability;
|
|
5782
6082
|
exports.motionTriggerCapability = index.motionTriggerCapability;
|
|
6083
|
+
exports.motionZonesCapability = index.motionZonesCapability;
|
|
5783
6084
|
exports.mqttBrokerCapability = index.mqttBrokerCapability;
|
|
5784
6085
|
exports.nativeObjectDetectionCapability = index.nativeObjectDetectionCapability;
|
|
5785
6086
|
exports.networkAccessCapability = index.networkAccessCapability;
|
|
5786
6087
|
exports.networkQualityCapability = index.networkQualityCapability;
|
|
5787
6088
|
exports.nodesCapability = index.nodesCapability;
|
|
5788
6089
|
exports.notificationOutputCapability = index.notificationOutputCapability;
|
|
6090
|
+
exports.oauthIntegrationCapability = index.oauthIntegrationCapability;
|
|
5789
6091
|
exports.osdCapability = index.osdCapability;
|
|
5790
6092
|
exports.pipelineAnalyticsCapability = index.pipelineAnalyticsCapability;
|
|
5791
6093
|
exports.pipelineExecutorCapability = index.pipelineExecutorCapability;
|
|
@@ -5807,6 +6109,7 @@ exports.ssoBridgeCapability = index.ssoBridgeCapability;
|
|
|
5807
6109
|
exports.storageCapability = index.storageCapability;
|
|
5808
6110
|
exports.storageProviderCapability = index.storageProviderCapability;
|
|
5809
6111
|
exports.streamBrokerCapability = index.streamBrokerCapability;
|
|
6112
|
+
exports.streamParamsCapability = index.streamParamsCapability;
|
|
5810
6113
|
exports.streamingEngineCapability = index.streamingEngineCapability;
|
|
5811
6114
|
exports.switchCapability = index.switchCapability;
|
|
5812
6115
|
exports.systemCapability = index.systemCapability;
|
|
@@ -5831,7 +6134,6 @@ exports.CAP_NAMES_WITH_STATUS = CAP_NAMES_WITH_STATUS;
|
|
|
5831
6134
|
exports.CAP_PROVIDER_KIND_MAP = CAP_PROVIDER_KIND_MAP;
|
|
5832
6135
|
exports.COCO_80_LABELS = COCO_80_LABELS;
|
|
5833
6136
|
exports.COCO_TO_MACRO = COCO_TO_MACRO;
|
|
5834
|
-
exports.DEFAULT_ADDON_GROUP = DEFAULT_ADDON_GROUP;
|
|
5835
6137
|
exports.DEFAULT_ADDON_PLACEMENT = DEFAULT_ADDON_PLACEMENT;
|
|
5836
6138
|
exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
|
|
5837
6139
|
exports.DEFAULT_LOCATION_SUBDIRS = DEFAULT_LOCATION_SUBDIRS;
|
|
@@ -5859,6 +6161,7 @@ exports.ReadinessTimeoutError = ReadinessTimeoutError;
|
|
|
5859
6161
|
exports.RingBuffer = RingBuffer;
|
|
5860
6162
|
exports.SCOPE_PRESETS = SCOPE_PRESETS;
|
|
5861
6163
|
exports.STORAGE_LOCATION_TYPES = STORAGE_LOCATION_TYPES;
|
|
6164
|
+
exports.STREAM_PROFILE_META = STREAM_PROFILE_META;
|
|
5862
6165
|
exports.STREAM_QUALITY_LABELS = STREAM_QUALITY_LABELS;
|
|
5863
6166
|
exports.SUB_DETECTION_TYPES = SUB_DETECTION_TYPES;
|
|
5864
6167
|
exports.SYSTEM_CAP_NAMES = SYSTEM_CAP_NAMES;
|
|
@@ -5871,6 +6174,7 @@ exports.asString = asString;
|
|
|
5871
6174
|
exports.autoAssignProfiles = autoAssignProfiles;
|
|
5872
6175
|
exports.bindAddonActions = bindAddonActions;
|
|
5873
6176
|
exports.buildAddonRouteProvider = buildAddonRouteProvider;
|
|
6177
|
+
exports.buildStreamParamsConfigSchema = buildStreamParamsConfigSchema;
|
|
5874
6178
|
exports.classifyStream = classifyStream;
|
|
5875
6179
|
exports.classifyStreams = classifyStreams;
|
|
5876
6180
|
exports.cosineSimilarity = cosineSimilarity;
|
|
@@ -5899,6 +6203,7 @@ exports.parseCameraStreamConfig = parseCameraStreamConfig;
|
|
|
5899
6203
|
exports.parseJsonArray = parseJsonArray;
|
|
5900
6204
|
exports.parseJsonObject = parseJsonObject;
|
|
5901
6205
|
exports.parseJsonUnknown = parseJsonUnknown;
|
|
6206
|
+
exports.parseStreamParamsFormPatch = parseStreamParamsFormPatch;
|
|
5902
6207
|
exports.pythonScriptForBackend = pythonScriptForBackend;
|
|
5903
6208
|
exports.readinessKey = readinessKey;
|
|
5904
6209
|
exports.requiresPython = requiresPython;
|
|
@@ -5908,6 +6213,7 @@ exports.resolveAddonPlacement = resolveAddonPlacement;
|
|
|
5908
6213
|
exports.resolveAddonRuntime = resolveAddonRuntime;
|
|
5909
6214
|
exports.resolveDetectionRuntime = resolveDetectionRuntime;
|
|
5910
6215
|
exports.resolveModelFormat = resolveModelFormat;
|
|
6216
|
+
exports.resolveRunnerId = resolveRunnerId;
|
|
5911
6217
|
exports.runInferenceStep = runInferenceStep;
|
|
5912
6218
|
exports.scopeKey = scopeKey;
|
|
5913
6219
|
exports.streamPixels = streamPixels;
|