@camstack/types 0.1.35 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/capabilities/addon-widgets-source.cap.d.ts +73 -5
  2. package/dist/capabilities/addon-widgets-source.cap.d.ts.map +1 -1
  3. package/dist/capabilities/addon-widgets.cap.d.ts +22 -4
  4. package/dist/capabilities/addon-widgets.cap.d.ts.map +1 -1
  5. package/dist/capabilities/audio-analysis.cap.d.ts +7 -4
  6. package/dist/capabilities/audio-analysis.cap.d.ts.map +1 -1
  7. package/dist/capabilities/camera-streams.cap.d.ts +7 -5
  8. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
  9. package/dist/capabilities/capability-definition.d.ts +114 -0
  10. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  11. package/dist/capabilities/decoder.cap.d.ts +90 -0
  12. package/dist/capabilities/decoder.cap.d.ts.map +1 -1
  13. package/dist/capabilities/detection-pipeline.cap.d.ts +6 -4
  14. package/dist/capabilities/detection-pipeline.cap.d.ts.map +1 -1
  15. package/dist/capabilities/device-manager.cap.d.ts +3 -3
  16. package/dist/capabilities/device-ops.cap.d.ts +1 -1
  17. package/dist/capabilities/index.d.ts +18 -11
  18. package/dist/capabilities/index.d.ts.map +1 -1
  19. package/dist/capabilities/motion-detection.cap.d.ts +2 -0
  20. package/dist/capabilities/motion-detection.cap.d.ts.map +1 -1
  21. package/dist/capabilities/motion-zones.cap.d.ts +83 -0
  22. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -0
  23. package/dist/capabilities/nodes.cap.d.ts +9 -0
  24. package/dist/capabilities/nodes.cap.d.ts.map +1 -1
  25. package/dist/capabilities/oauth-integration.cap.d.ts +103 -0
  26. package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -0
  27. package/dist/capabilities/pipeline-analytics.cap.d.ts +2 -0
  28. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  29. package/dist/capabilities/ptz-autotrack.cap.d.ts +10 -0
  30. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  31. package/dist/capabilities/ptz.cap.d.ts +57 -1
  32. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  33. package/dist/capabilities/schemas/streaming-shared.d.ts +110 -3
  34. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  35. package/dist/capabilities/snapshot.cap.d.ts +2 -0
  36. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  37. package/dist/capabilities/sso-bridge.cap.d.ts +120 -0
  38. package/dist/capabilities/sso-bridge.cap.d.ts.map +1 -1
  39. package/dist/capabilities/stream-broker.cap.d.ts +97 -4
  40. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  41. package/dist/capabilities/stream-params-config-schema.d.ts +56 -0
  42. package/dist/capabilities/stream-params-config-schema.d.ts.map +1 -0
  43. package/dist/capabilities/stream-params.cap.d.ts +482 -0
  44. package/dist/capabilities/stream-params.cap.d.ts.map +1 -0
  45. package/dist/capabilities/user-management.cap.d.ts +198 -1
  46. package/dist/capabilities/user-management.cap.d.ts.map +1 -1
  47. package/dist/capabilities/webrtc-session.cap.d.ts +2 -0
  48. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  49. package/dist/generated/addon-api.d.ts +1175 -51
  50. package/dist/generated/addon-api.d.ts.map +1 -1
  51. package/dist/generated/cap-status-types.d.ts +7 -3
  52. package/dist/generated/cap-status-types.d.ts.map +1 -1
  53. package/dist/generated/capability-router-map.d.ts +13 -4
  54. package/dist/generated/capability-router-map.d.ts.map +1 -1
  55. package/dist/generated/device-local-state.d.ts +6 -0
  56. package/dist/generated/device-local-state.d.ts.map +1 -1
  57. package/dist/generated/device-proxy.d.ts +6 -0
  58. package/dist/generated/device-proxy.d.ts.map +1 -1
  59. package/dist/generated/method-access-map.d.ts +1 -1
  60. package/dist/generated/method-access-map.d.ts.map +1 -1
  61. package/dist/generated/system-proxy.d.ts +4 -4
  62. package/dist/generated/system-proxy.d.ts.map +1 -1
  63. package/dist/{index-BkSgJYP7.js → index-BblD92Si.js} +600 -98
  64. package/dist/index-BblD92Si.js.map +1 -0
  65. package/dist/{index-CWhQOnm9.mjs → index-CgPd35k5.mjs} +949 -447
  66. package/dist/index-CgPd35k5.mjs.map +1 -0
  67. package/dist/index.d.ts +2 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +313 -7
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.mjs +587 -281
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/interfaces/addon.d.ts +123 -29
  74. package/dist/interfaces/addon.d.ts.map +1 -1
  75. package/dist/interfaces/capability.d.ts +6 -23
  76. package/dist/interfaces/capability.d.ts.map +1 -1
  77. package/dist/interfaces/config-ui.d.ts +4 -101
  78. package/dist/interfaces/config-ui.d.ts.map +1 -1
  79. package/dist/interfaces/decoder.d.ts +12 -0
  80. package/dist/interfaces/decoder.d.ts.map +1 -1
  81. package/dist/interfaces/device-provider.d.ts +0 -4
  82. package/dist/interfaces/device-provider.d.ts.map +1 -1
  83. package/dist/interfaces/event-bus.d.ts +15 -0
  84. package/dist/interfaces/event-bus.d.ts.map +1 -1
  85. package/dist/interfaces/frame-handle.d.ts +40 -0
  86. package/dist/interfaces/frame-handle.d.ts.map +1 -0
  87. package/dist/interfaces/kernel-abstractions.d.ts +6 -0
  88. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  89. package/dist/interfaces/stream-broker.d.ts +40 -21
  90. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  91. package/dist/node.js +1 -1
  92. package/dist/node.mjs +1 -1
  93. package/package.json +1 -1
  94. package/dist/index-BkSgJYP7.js.map +0 -1
  95. 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-BkSgJYP7.js");
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 ?? DEFAULT_ADDON_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
- getBroker: (input) => dispatch("streamBroker", "getBroker", "query", input),
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;