@camstack/addon-pipeline 1.2.64 → 1.2.67

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 (89) hide show
  1. package/dist/audio-analyzer/index.js +1 -1
  2. package/dist/audio-analyzer/index.mjs +1 -1
  3. package/dist/detection-pipeline/index.js +2 -2
  4. package/dist/detection-pipeline/index.mjs +2 -2
  5. package/dist/{dist-DKrqeIfS.js → dist-B6GWr9am.js} +151 -6
  6. package/dist/{dist-B9_C-QmC.mjs → dist-BEbyhqoG.mjs} +146 -7
  7. package/dist/{event-loop-stall-monitor-CnJ5JGA2.js → event-loop-stall-monitor-BHOEgVnP.js} +1 -1
  8. package/dist/{event-loop-stall-monitor-BucTbe9v.mjs → event-loop-stall-monitor-BNyf5yEt.mjs} +1 -1
  9. package/dist/motion-wasm/index.js +1 -1
  10. package/dist/motion-wasm/index.mjs +1 -1
  11. package/dist/pipeline-runner/index.js +144 -14
  12. package/dist/pipeline-runner/index.mjs +144 -14
  13. package/dist/recorder/index.js +114 -3
  14. package/dist/recorder/index.mjs +114 -3
  15. package/dist/remote-restream-BYbAsgUf.js +89 -0
  16. package/dist/remote-restream-Ci7RXNGb.mjs +66 -0
  17. package/dist/session-decode/decode-worker-child.js +1 -1
  18. package/dist/session-decode/decode-worker-child.mjs +1 -1
  19. package/dist/stream-broker/_stub.js +2 -2
  20. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DkDAcqBW.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BkKnIpb0.mjs} +2 -2
  21. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ircnzt0s.mjs +26 -0
  22. package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CJAUKSrT.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DU7u9EJt.mjs} +1 -1
  23. package/dist/stream-broker/{hostInit-C-peB-6a.mjs → hostInit-y3zWHWoe.mjs} +2 -2
  24. package/dist/stream-broker/index.js +172 -36
  25. package/dist/stream-broker/index.mjs +172 -36
  26. package/dist/stream-broker/remoteEntry.js +1 -1
  27. package/dist/{worker-protocol-CQHY2NeB.mjs → worker-protocol-CBg9bqCs.mjs} +1 -1
  28. package/dist/{worker-protocol-CDkbdSuM.js → worker-protocol-qzaozj7t.js} +1 -1
  29. package/package.json +1 -1
  30. package/dist/remote-restream-BeHi78PZ.mjs +0 -25
  31. package/dist/remote-restream-CO36Sr30.js +0 -36
  32. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C2tu4c14.mjs +0 -26
  33. package/python/__pycache__/inference_pool.cpython-312.pyc +0 -0
  34. package/python/__pycache__/inference_pool.cpython-313.pyc +0 -0
  35. package/python/__pycache__/inference_pool.cpython-314.pyc +0 -0
  36. package/python/__pycache__/test_inference_pool_backpressure.cpython-314.pyc +0 -0
  37. package/python/__pycache__/test_inference_pool_coreml_cache.cpython-314.pyc +0 -0
  38. package/python/__pycache__/test_inference_pool_device_selection.cpython-314.pyc +0 -0
  39. package/python/__pycache__/test_inference_pool_layout.cpython-314.pyc +0 -0
  40. package/python/__pycache__/test_inference_pool_preprocess.cpython-314.pyc +0 -0
  41. package/python/__pycache__/yamnet_audio.cpython-314.pyc +0 -0
  42. package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
  43. package/python/postprocessors/__pycache__/__init__.cpython-313.pyc +0 -0
  44. package/python/postprocessors/__pycache__/__init__.cpython-314.pyc +0 -0
  45. package/python/postprocessors/__pycache__/_safety.cpython-313.pyc +0 -0
  46. package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
  47. package/python/postprocessors/__pycache__/arcface.cpython-313.pyc +0 -0
  48. package/python/postprocessors/__pycache__/arcface.cpython-314.pyc +0 -0
  49. package/python/postprocessors/__pycache__/clip.cpython-312.pyc +0 -0
  50. package/python/postprocessors/__pycache__/clip.cpython-313.pyc +0 -0
  51. package/python/postprocessors/__pycache__/clip.cpython-314.pyc +0 -0
  52. package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
  53. package/python/postprocessors/__pycache__/ctc.cpython-313.pyc +0 -0
  54. package/python/postprocessors/__pycache__/ctc.cpython-314.pyc +0 -0
  55. package/python/postprocessors/__pycache__/rfdetr.cpython-312.pyc +0 -0
  56. package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
  57. package/python/postprocessors/__pycache__/saliency.cpython-313.pyc +0 -0
  58. package/python/postprocessors/__pycache__/saliency.cpython-314.pyc +0 -0
  59. package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
  60. package/python/postprocessors/__pycache__/scrfd.cpython-313.pyc +0 -0
  61. package/python/postprocessors/__pycache__/scrfd.cpython-314.pyc +0 -0
  62. package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
  63. package/python/postprocessors/__pycache__/softmax.cpython-313.pyc +0 -0
  64. package/python/postprocessors/__pycache__/softmax.cpython-314.pyc +0 -0
  65. package/python/postprocessors/__pycache__/ssd.cpython-312.pyc +0 -0
  66. package/python/postprocessors/__pycache__/ssd.cpython-313.pyc +0 -0
  67. package/python/postprocessors/__pycache__/ssd.cpython-314.pyc +0 -0
  68. package/python/postprocessors/__pycache__/test_clip.cpython-312-pytest-9.1.1.pyc +0 -0
  69. package/python/postprocessors/__pycache__/test_clip.cpython-313-pytest-9.1.1.pyc +0 -0
  70. package/python/postprocessors/__pycache__/test_ctc.cpython-312-pytest-9.1.1.pyc +0 -0
  71. package/python/postprocessors/__pycache__/test_ctc.cpython-312.pyc +0 -0
  72. package/python/postprocessors/__pycache__/test_ctc.cpython-313-pytest-9.1.1.pyc +0 -0
  73. package/python/postprocessors/__pycache__/test_ctc.cpython-313.pyc +0 -0
  74. package/python/postprocessors/__pycache__/test_rfdetr.cpython-312-pytest-9.1.1.pyc +0 -0
  75. package/python/postprocessors/__pycache__/test_saliency.cpython-312-pytest-9.1.1.pyc +0 -0
  76. package/python/postprocessors/__pycache__/test_saliency.cpython-313-pytest-9.1.1.pyc +0 -0
  77. package/python/postprocessors/__pycache__/test_softmax.cpython-312-pytest-9.1.1.pyc +0 -0
  78. package/python/postprocessors/__pycache__/test_yolo_nms.cpython-312-pytest-9.1.1.pyc +0 -0
  79. package/python/postprocessors/__pycache__/test_yolo_nms.cpython-39.pyc +0 -0
  80. package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
  81. package/python/postprocessors/__pycache__/yamnet.cpython-313.pyc +0 -0
  82. package/python/postprocessors/__pycache__/yamnet.cpython-314.pyc +0 -0
  83. package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
  84. package/python/postprocessors/__pycache__/yolo.cpython-313.pyc +0 -0
  85. package/python/postprocessors/__pycache__/yolo.cpython-314.pyc +0 -0
  86. package/python/postprocessors/__pycache__/yolo.cpython-39.pyc +0 -0
  87. package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
  88. package/python/postprocessors/__pycache__/yolo_seg.cpython-313.pyc +0 -0
  89. package/python/postprocessors/__pycache__/yolo_seg.cpython-314.pyc +0 -0
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("../chunk-emK7D4bc.js");
2
- const require_dist = require("../dist-DKrqeIfS.js");
2
+ const require_dist = require("../dist-B6GWr9am.js");
3
3
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
4
4
  const require_addon_utils = require("../addon-utils-CQs-AjTJ.js");
5
5
  let node_crypto = require("node:crypto");
@@ -3002,6 +3002,38 @@ var X264 = [
3002
3002
  "yuv420p"
3003
3003
  ];
3004
3004
  var FASTSTART = ["-movflags", "+faststart"];
3005
+ /**
3006
+ * Format a seconds value for an ffmpeg expression.
3007
+ *
3008
+ * `String(n)` and nothing else: an exponent (`1e-7`) or a locale separator
3009
+ * would both be a filter ffmpeg refuses, and the values here are bounded
3010
+ * (`everyMs` is a positive integer of ms, range bounds are window offsets in
3011
+ * seconds), so neither can arise from a valid input. Kept as one function so
3012
+ * the base cadence and the dense cadence can never format differently.
3013
+ */
3014
+ function sec(value) {
3015
+ return String(value);
3016
+ }
3017
+ /**
3018
+ * The timelapse frame-select PREDICATE — one rate, or two.
3019
+ *
3020
+ * Single rate (unchanged): `not(mod(t,every))`.
3021
+ * Two rates: `if(between(t,a,b)+…, not(mod(t,dense)), not(mod(t,base)))` — the
3022
+ * `+` is ffmpeg's expression OR (any non-zero term makes the sum non-zero), so
3023
+ * one `if` covers every range without nesting.
3024
+ *
3025
+ * An EMPTY range list degrades to the single-rate expression rather than
3026
+ * emitting `if(,…)`. `ExportDenseSchema` refuses `ranges: []` at the cap
3027
+ * boundary, but this builder is also reached from a PERSISTED export record
3028
+ * written before that boundary existed — and a malformed filter fails the
3029
+ * render for that camera forever, where a plain timelapse merely loses the
3030
+ * second rate.
3031
+ */
3032
+ function selectPredicate(everySec, dense) {
3033
+ const base = `not(mod(t,${sec(everySec)}))`;
3034
+ if (dense === void 0 || dense.ranges.length === 0) return base;
3035
+ return `if(${dense.ranges.map((r) => `between(t,${sec(r.fromSec)},${sec(r.toSec)})`).join("+")},not(mod(t,${sec(dense.everyMs / 1e3)})),${base})`;
3036
+ }
3005
3037
  /** Build the ffmpeg argv for one export render. */
3006
3038
  function buildExportArgs(input) {
3007
3039
  const { inputPlaylist, outPath, options } = input;
@@ -3012,7 +3044,7 @@ function buildExportArgs(input) {
3012
3044
  return [
3013
3045
  ...inArgs,
3014
3046
  "-vf",
3015
- `select='not(mod(t,${everySec}))',setpts=N/FRAME_RATE/TB,fps=${fps}`,
3047
+ `select='${selectPredicate(everySec, options.timelapse.dense)}',setpts=N/FRAME_RATE/TB,fps=${fps}`,
3016
3048
  "-an",
3017
3049
  ...X264,
3018
3050
  ...FASTSTART,
@@ -3259,6 +3291,23 @@ var ExportEngine = class {
3259
3291
  };
3260
3292
  //#endregion
3261
3293
  //#region src/recorder/addon/recording-export-provider.ts
3294
+ /** Content type of every rendered export — the engine only ever writes MP4. */
3295
+ var EXPORT_CONTENT_TYPE = "video/mp4";
3296
+ /** Filename bound, extension included. Long enough to stay recognisable. */
3297
+ var EXPORT_NAME_MAX = 64;
3298
+ /**
3299
+ * The filename a RECIPIENT sees on the attachment.
3300
+ *
3301
+ * Derived from the operator's own export title so a delivered video is
3302
+ * identifiable in a chat thread, but slugified and BOUNDED: the title field
3303
+ * accepts 200 characters and several notifier backends silently mangle a
3304
+ * filename that long. No usable title degrades to the export id, never to an
3305
+ * empty name.
3306
+ */
3307
+ function exportFileName(rec) {
3308
+ const slug = (rec.title ?? "").replace(/[^\p{L}\p{N}]+/gu, "-").replace(/^-+|-+$/g, "").slice(0, EXPORT_NAME_MAX - 4).replace(/-+$/g, "");
3309
+ return slug.length > 0 ? `${slug}.mp4` : `export-${rec.id}.mp4`;
3310
+ }
3262
3311
  /**
3263
3312
  * True when at least one indexed segment overlaps `[fromMs, toMs)`. Mirrors the
3264
3313
  * `buildPlaybackManifest` overlap idiom: a segment `[startMs, startMs+durMs)`
@@ -3324,6 +3373,65 @@ function buildRecordingExportProvider(deps) {
3324
3373
  url,
3325
3374
  endpoints: [url]
3326
3375
  };
3376
+ },
3377
+ readExportBytes: async ({ exportId }) => {
3378
+ const rec = await requireRecord(deps.state, exportId);
3379
+ const tags = { deviceId: rec.deviceId };
3380
+ if (rec.state !== "ready") {
3381
+ deps.logger.warn("export byte read refused: export is not ready", {
3382
+ tags,
3383
+ meta: {
3384
+ exportId,
3385
+ state: rec.state
3386
+ }
3387
+ });
3388
+ throw new Error(`recordingExport: export "${exportId}" is not ready (${rec.state})`);
3389
+ }
3390
+ if (deps.now() >= rec.expiresAt) {
3391
+ deps.logger.warn("export byte read refused: export has expired", {
3392
+ tags,
3393
+ meta: {
3394
+ exportId,
3395
+ expiresAt: rec.expiresAt
3396
+ }
3397
+ });
3398
+ throw new Error(`recordingExport: export "${exportId}" has expired`);
3399
+ }
3400
+ const file = deps.outPath(rec);
3401
+ let size;
3402
+ try {
3403
+ size = await deps.statBytes(file);
3404
+ } catch (err) {
3405
+ deps.logger.warn("export byte read refused: file is missing", {
3406
+ tags,
3407
+ meta: {
3408
+ exportId,
3409
+ error: String(err)
3410
+ }
3411
+ });
3412
+ throw new Error(`recordingExport: export "${exportId}" has no file on disk`, { cause: err });
3413
+ }
3414
+ if (size > 52428800) {
3415
+ deps.logger.warn("export byte read refused: file is too large to inline", {
3416
+ tags,
3417
+ meta: {
3418
+ exportId,
3419
+ bytes: size,
3420
+ maxBytes: require_dist.RECORDING_EXPORT_MAX_READ_BYTES
3421
+ }
3422
+ });
3423
+ throw new Error(`recordingExport: export "${exportId}" is too large to read inline (${size} > ${require_dist.RECORDING_EXPORT_MAX_READ_BYTES} bytes)`);
3424
+ }
3425
+ const bytes = await deps.readFile(file);
3426
+ return {
3427
+ base64: bytes.toString("base64"),
3428
+ contentType: EXPORT_CONTENT_TYPE,
3429
+ name: exportFileName({
3430
+ id: rec.id,
3431
+ ...rec.options.title !== void 0 ? { title: rec.options.title } : {}
3432
+ }),
3433
+ bytes: bytes.byteLength
3434
+ };
3327
3435
  }
3328
3436
  };
3329
3437
  }
@@ -5672,7 +5780,10 @@ var RecorderV2Addon = class extends require_dist.BaseAddon {
5672
5780
  createdBy: () => "operator",
5673
5781
  outPath: exportOutPath,
5674
5782
  removeFile: removeExportFile,
5675
- downloadUrlFor: (id) => `/addon/${RECORDER_ADDON_ID}/${EXPORTS_PREFIX}/${id}.mp4`
5783
+ downloadUrlFor: (id) => `/addon/${RECORDER_ADDON_ID}/${EXPORTS_PREFIX}/${id}.mp4`,
5784
+ statBytes: async (p) => (await node_fs.promises.stat(p)).size,
5785
+ readFile: (p) => node_fs.promises.readFile(p),
5786
+ logger: this.ctx.logger.child("export")
5676
5787
  });
5677
5788
  try {
5678
5789
  const handler = withDirectoryRoute({
@@ -1,4 +1,4 @@
1
- import { K as recordingCapability, M as deriveRecordingMode, Ot as record, X as storageEvictableCapability, _ as OpsLogEntrySchema, b as RecordingConfigSchema, c as DEFAULT_EVENTS_BAND_BUFFER_SEC, d as EVENT_PAD_MS, dt as hydrateSchema, et as errMsg, ht as nodePin, jt as EventCategory, kt as string, lt as DeviceType, ot as BaseAddon, p as ExportRecordSchema, q as recordingExportCapability, vt as selectAssignedProfileSlots, xt as array } from "../dist-B9_C-QmC.mjs";
1
+ import { At as string, J as recordingExportCapability, Mt as EventCategory, N as deriveRecordingMode, St as array, Z as storageEvictableCapability, _ as OpsLogEntrySchema, b as RECORDING_EXPORT_MAX_READ_BYTES, c as DEFAULT_EVENTS_BAND_BUFFER_SEC, d as EVENT_PAD_MS, ft as hydrateSchema, gt as nodePin, kt as record, p as ExportRecordSchema, q as recordingCapability, st as BaseAddon, tt as errMsg, ut as DeviceType, x as RecordingConfigSchema, yt as selectAssignedProfileSlots } from "../dist-BEbyhqoG.mjs";
2
2
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
3
3
  import { n as createFileDataPlaneHandler, s as parseRangeHeader, t as contentTypeFor } from "../addon-utils-CZ2xo67g.mjs";
4
4
  import { randomUUID } from "node:crypto";
@@ -3000,6 +3000,38 @@ var X264 = [
3000
3000
  "yuv420p"
3001
3001
  ];
3002
3002
  var FASTSTART = ["-movflags", "+faststart"];
3003
+ /**
3004
+ * Format a seconds value for an ffmpeg expression.
3005
+ *
3006
+ * `String(n)` and nothing else: an exponent (`1e-7`) or a locale separator
3007
+ * would both be a filter ffmpeg refuses, and the values here are bounded
3008
+ * (`everyMs` is a positive integer of ms, range bounds are window offsets in
3009
+ * seconds), so neither can arise from a valid input. Kept as one function so
3010
+ * the base cadence and the dense cadence can never format differently.
3011
+ */
3012
+ function sec(value) {
3013
+ return String(value);
3014
+ }
3015
+ /**
3016
+ * The timelapse frame-select PREDICATE — one rate, or two.
3017
+ *
3018
+ * Single rate (unchanged): `not(mod(t,every))`.
3019
+ * Two rates: `if(between(t,a,b)+…, not(mod(t,dense)), not(mod(t,base)))` — the
3020
+ * `+` is ffmpeg's expression OR (any non-zero term makes the sum non-zero), so
3021
+ * one `if` covers every range without nesting.
3022
+ *
3023
+ * An EMPTY range list degrades to the single-rate expression rather than
3024
+ * emitting `if(,…)`. `ExportDenseSchema` refuses `ranges: []` at the cap
3025
+ * boundary, but this builder is also reached from a PERSISTED export record
3026
+ * written before that boundary existed — and a malformed filter fails the
3027
+ * render for that camera forever, where a plain timelapse merely loses the
3028
+ * second rate.
3029
+ */
3030
+ function selectPredicate(everySec, dense) {
3031
+ const base = `not(mod(t,${sec(everySec)}))`;
3032
+ if (dense === void 0 || dense.ranges.length === 0) return base;
3033
+ return `if(${dense.ranges.map((r) => `between(t,${sec(r.fromSec)},${sec(r.toSec)})`).join("+")},not(mod(t,${sec(dense.everyMs / 1e3)})),${base})`;
3034
+ }
3003
3035
  /** Build the ffmpeg argv for one export render. */
3004
3036
  function buildExportArgs(input) {
3005
3037
  const { inputPlaylist, outPath, options } = input;
@@ -3010,7 +3042,7 @@ function buildExportArgs(input) {
3010
3042
  return [
3011
3043
  ...inArgs,
3012
3044
  "-vf",
3013
- `select='not(mod(t,${everySec}))',setpts=N/FRAME_RATE/TB,fps=${fps}`,
3045
+ `select='${selectPredicate(everySec, options.timelapse.dense)}',setpts=N/FRAME_RATE/TB,fps=${fps}`,
3014
3046
  "-an",
3015
3047
  ...X264,
3016
3048
  ...FASTSTART,
@@ -3257,6 +3289,23 @@ var ExportEngine = class {
3257
3289
  };
3258
3290
  //#endregion
3259
3291
  //#region src/recorder/addon/recording-export-provider.ts
3292
+ /** Content type of every rendered export — the engine only ever writes MP4. */
3293
+ var EXPORT_CONTENT_TYPE = "video/mp4";
3294
+ /** Filename bound, extension included. Long enough to stay recognisable. */
3295
+ var EXPORT_NAME_MAX = 64;
3296
+ /**
3297
+ * The filename a RECIPIENT sees on the attachment.
3298
+ *
3299
+ * Derived from the operator's own export title so a delivered video is
3300
+ * identifiable in a chat thread, but slugified and BOUNDED: the title field
3301
+ * accepts 200 characters and several notifier backends silently mangle a
3302
+ * filename that long. No usable title degrades to the export id, never to an
3303
+ * empty name.
3304
+ */
3305
+ function exportFileName(rec) {
3306
+ const slug = (rec.title ?? "").replace(/[^\p{L}\p{N}]+/gu, "-").replace(/^-+|-+$/g, "").slice(0, EXPORT_NAME_MAX - 4).replace(/-+$/g, "");
3307
+ return slug.length > 0 ? `${slug}.mp4` : `export-${rec.id}.mp4`;
3308
+ }
3260
3309
  /**
3261
3310
  * True when at least one indexed segment overlaps `[fromMs, toMs)`. Mirrors the
3262
3311
  * `buildPlaybackManifest` overlap idiom: a segment `[startMs, startMs+durMs)`
@@ -3322,6 +3371,65 @@ function buildRecordingExportProvider(deps) {
3322
3371
  url,
3323
3372
  endpoints: [url]
3324
3373
  };
3374
+ },
3375
+ readExportBytes: async ({ exportId }) => {
3376
+ const rec = await requireRecord(deps.state, exportId);
3377
+ const tags = { deviceId: rec.deviceId };
3378
+ if (rec.state !== "ready") {
3379
+ deps.logger.warn("export byte read refused: export is not ready", {
3380
+ tags,
3381
+ meta: {
3382
+ exportId,
3383
+ state: rec.state
3384
+ }
3385
+ });
3386
+ throw new Error(`recordingExport: export "${exportId}" is not ready (${rec.state})`);
3387
+ }
3388
+ if (deps.now() >= rec.expiresAt) {
3389
+ deps.logger.warn("export byte read refused: export has expired", {
3390
+ tags,
3391
+ meta: {
3392
+ exportId,
3393
+ expiresAt: rec.expiresAt
3394
+ }
3395
+ });
3396
+ throw new Error(`recordingExport: export "${exportId}" has expired`);
3397
+ }
3398
+ const file = deps.outPath(rec);
3399
+ let size;
3400
+ try {
3401
+ size = await deps.statBytes(file);
3402
+ } catch (err) {
3403
+ deps.logger.warn("export byte read refused: file is missing", {
3404
+ tags,
3405
+ meta: {
3406
+ exportId,
3407
+ error: String(err)
3408
+ }
3409
+ });
3410
+ throw new Error(`recordingExport: export "${exportId}" has no file on disk`, { cause: err });
3411
+ }
3412
+ if (size > 52428800) {
3413
+ deps.logger.warn("export byte read refused: file is too large to inline", {
3414
+ tags,
3415
+ meta: {
3416
+ exportId,
3417
+ bytes: size,
3418
+ maxBytes: RECORDING_EXPORT_MAX_READ_BYTES
3419
+ }
3420
+ });
3421
+ throw new Error(`recordingExport: export "${exportId}" is too large to read inline (${size} > ${RECORDING_EXPORT_MAX_READ_BYTES} bytes)`);
3422
+ }
3423
+ const bytes = await deps.readFile(file);
3424
+ return {
3425
+ base64: bytes.toString("base64"),
3426
+ contentType: EXPORT_CONTENT_TYPE,
3427
+ name: exportFileName({
3428
+ id: rec.id,
3429
+ ...rec.options.title !== void 0 ? { title: rec.options.title } : {}
3430
+ }),
3431
+ bytes: bytes.byteLength
3432
+ };
3325
3433
  }
3326
3434
  };
3327
3435
  }
@@ -5670,7 +5778,10 @@ var RecorderV2Addon = class extends BaseAddon {
5670
5778
  createdBy: () => "operator",
5671
5779
  outPath: exportOutPath,
5672
5780
  removeFile: removeExportFile,
5673
- downloadUrlFor: (id) => `/addon/${RECORDER_ADDON_ID}/${EXPORTS_PREFIX}/${id}.mp4`
5781
+ downloadUrlFor: (id) => `/addon/${RECORDER_ADDON_ID}/${EXPORTS_PREFIX}/${id}.mp4`,
5782
+ statBytes: async (p) => (await promises.stat(p)).size,
5783
+ readFile: (p) => promises.readFile(p),
5784
+ logger: this.ctx.logger.child("export")
5674
5785
  });
5675
5786
  try {
5676
5787
  const handler = withDirectoryRoute({
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Path suffix for the audio-free variant dialed by a DETECTION decode session.
3
+ * Muted in every respect (no audio, still `isMuted()`), plus exempt from the
4
+ * live-edge join withhold.
5
+ */
6
+ var DETECTION_MUTED_PATH_SUFFIX = "/muted-detection";
7
+ /**
8
+ * Split a restream request path (already stripped of `rtsp://host:port/` and of
9
+ * any `/trackID=N` control suffix) into its token, mute bit and intent.
10
+ */
11
+ function parseRestreamPath(streamPath) {
12
+ if (streamPath.endsWith("/muted-detection")) return {
13
+ lookupPath: streamPath.slice(0, -16),
14
+ muted: true,
15
+ intent: "detection"
16
+ };
17
+ if (streamPath.endsWith("/muted")) return {
18
+ lookupPath: streamPath.slice(0, -6),
19
+ muted: true,
20
+ intent: null
21
+ };
22
+ return {
23
+ lookupPath: streamPath,
24
+ muted: false,
25
+ intent: null
26
+ };
27
+ }
28
+ /**
29
+ * Rewrite an acquired restream URL to declare the detection intent.
30
+ *
31
+ * Only a MUTED url is rewritten. `resolveSourceUrl` falls back to the
32
+ * audio-bearing url when the broker has no muted variant; that session is not
33
+ * muted, the live-edge withhold never applied to it, and appending the suffix
34
+ * would only break the token lookup. Idempotent.
35
+ */
36
+ function withDetectionIntent(restreamUrl) {
37
+ if (restreamUrl.endsWith("/muted-detection")) return restreamUrl;
38
+ if (!restreamUrl.endsWith("/muted")) return restreamUrl;
39
+ return `${restreamUrl.slice(0, -6)}${DETECTION_MUTED_PATH_SUFFIX}`;
40
+ }
41
+ //#endregion
42
+ //#region src/pipeline-runner/remote-restream.ts
43
+ /**
44
+ * Runner-side mode selection (pure): whether an attach payload routes this
45
+ * camera through the remote-source leg. Absent `frameSource` (a pre-P2c
46
+ * payload) and `local-broker` both take the co-located broker path.
47
+ */
48
+ function isRemoteRestream(frameSource) {
49
+ return frameSource !== void 0 && frameSource.kind === "remote-restream";
50
+ }
51
+ /**
52
+ * Resolve WHICH broker profile a camStream id feeds for a device (pure).
53
+ *
54
+ * `getStreamWithCodec` targets a PROFILE (its assigned camStream), while the
55
+ * runner is dispatched with camStream ids (`motionStreamId` /
56
+ * `detectionStreamId`). The broker's profile slots carry the mapping
57
+ * (`sourceCamStreamId`); a stream no slot feeds returns `null` — the acquire
58
+ * fails fast and the caller's backoff retries (the assignment may still be
59
+ * propagating).
60
+ */
61
+ function profileForStreamId(slots, deviceId, streamId) {
62
+ for (const slot of slots) if (slot.deviceId === deviceId && slot.sourceCamStreamId === streamId) return slot.profile;
63
+ return null;
64
+ }
65
+ //#endregion
66
+ Object.defineProperty(exports, "isRemoteRestream", {
67
+ enumerable: true,
68
+ get: function() {
69
+ return isRemoteRestream;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "parseRestreamPath", {
73
+ enumerable: true,
74
+ get: function() {
75
+ return parseRestreamPath;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "profileForStreamId", {
79
+ enumerable: true,
80
+ get: function() {
81
+ return profileForStreamId;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "withDetectionIntent", {
85
+ enumerable: true,
86
+ get: function() {
87
+ return withDetectionIntent;
88
+ }
89
+ });
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Path suffix for the audio-free variant dialed by a DETECTION decode session.
3
+ * Muted in every respect (no audio, still `isMuted()`), plus exempt from the
4
+ * live-edge join withhold.
5
+ */
6
+ var DETECTION_MUTED_PATH_SUFFIX = "/muted-detection";
7
+ /**
8
+ * Split a restream request path (already stripped of `rtsp://host:port/` and of
9
+ * any `/trackID=N` control suffix) into its token, mute bit and intent.
10
+ */
11
+ function parseRestreamPath(streamPath) {
12
+ if (streamPath.endsWith("/muted-detection")) return {
13
+ lookupPath: streamPath.slice(0, -16),
14
+ muted: true,
15
+ intent: "detection"
16
+ };
17
+ if (streamPath.endsWith("/muted")) return {
18
+ lookupPath: streamPath.slice(0, -6),
19
+ muted: true,
20
+ intent: null
21
+ };
22
+ return {
23
+ lookupPath: streamPath,
24
+ muted: false,
25
+ intent: null
26
+ };
27
+ }
28
+ /**
29
+ * Rewrite an acquired restream URL to declare the detection intent.
30
+ *
31
+ * Only a MUTED url is rewritten. `resolveSourceUrl` falls back to the
32
+ * audio-bearing url when the broker has no muted variant; that session is not
33
+ * muted, the live-edge withhold never applied to it, and appending the suffix
34
+ * would only break the token lookup. Idempotent.
35
+ */
36
+ function withDetectionIntent(restreamUrl) {
37
+ if (restreamUrl.endsWith("/muted-detection")) return restreamUrl;
38
+ if (!restreamUrl.endsWith("/muted")) return restreamUrl;
39
+ return `${restreamUrl.slice(0, -6)}${DETECTION_MUTED_PATH_SUFFIX}`;
40
+ }
41
+ //#endregion
42
+ //#region src/pipeline-runner/remote-restream.ts
43
+ /**
44
+ * Runner-side mode selection (pure): whether an attach payload routes this
45
+ * camera through the remote-source leg. Absent `frameSource` (a pre-P2c
46
+ * payload) and `local-broker` both take the co-located broker path.
47
+ */
48
+ function isRemoteRestream(frameSource) {
49
+ return frameSource !== void 0 && frameSource.kind === "remote-restream";
50
+ }
51
+ /**
52
+ * Resolve WHICH broker profile a camStream id feeds for a device (pure).
53
+ *
54
+ * `getStreamWithCodec` targets a PROFILE (its assigned camStream), while the
55
+ * runner is dispatched with camStream ids (`motionStreamId` /
56
+ * `detectionStreamId`). The broker's profile slots carry the mapping
57
+ * (`sourceCamStreamId`); a stream no slot feeds returns `null` — the acquire
58
+ * fails fast and the caller's backoff retries (the assignment may still be
59
+ * propagating).
60
+ */
61
+ function profileForStreamId(slots, deviceId, streamId) {
62
+ for (const slot of slots) if (slot.deviceId === deviceId && slot.sourceCamStreamId === streamId) return slot.profile;
63
+ return null;
64
+ }
65
+ //#endregion
66
+ export { withDetectionIntent as i, profileForStreamId as n, parseRestreamPath as r, isRemoteRestream as t };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../chunk-emK7D4bc.js");
3
- const require_worker_protocol = require("../worker-protocol-CDkbdSuM.js");
3
+ const require_worker_protocol = require("../worker-protocol-qzaozj7t.js");
4
4
  let node_url = require("node:url");
5
5
  let node_fs = require("node:fs");
6
6
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-CQHY2NeB.mjs";
1
+ import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-CBg9bqCs.mjs";
2
2
  import { pathToFileURL } from "node:url";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1,8 +1,8 @@
1
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CJAUKSrT.mjs";
1
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DU7u9EJt.mjs";
2
2
  import { a as d, i as f, n as p, o as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.js-C9j-2lBe.mjs";
3
3
  import { n as _, r as v, t as y } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-XO0-Pyu6.mjs";
4
4
  import { n as b, t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BO7TIbJV.mjs";
5
- import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C2tu4c14.mjs";
5
+ import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ircnzt0s.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
7
7
  var C = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), w = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), T = (e) => {
8
8
  let t = w(e);
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.59",
21
+ version: "1.2.61",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_stream_broker_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.41",
36
+ version: "1.2.42",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_stream_broker_widgets",
@@ -0,0 +1,26 @@
1
+ //#region \0virtual:mf:__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js
2
+ var e = "__mf_init__virtual:mf:__mfe_internal__addon_stream_broker_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
3
+ if (!t) {
4
+ let n, r, i = new Promise((e, t) => {
5
+ n = e, r = t;
6
+ });
7
+ t = globalThis[e] = {
8
+ initPromise: i,
9
+ initResolve: n,
10
+ initReject: r
11
+ };
12
+ }
13
+ var n = t.initPromise, r = "__mf_module_cache__";
14
+ globalThis[r] ||= {
15
+ share: {},
16
+ remote: {}
17
+ }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
+ var i = globalThis[r], a, o = (e) => {
19
+ e.ACCESSORY_LABEL, e.ALEXA_EGRESS_PROFILE, e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_ANALYSIS_CAP_NAME, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AUDIO_PRESETS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionCandidateResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionJobSchema, e.AdoptionJobStateSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionOutcomeSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationActionSchema, e.AutomationConditionOperatorSchema, e.AutomationConditionSchema, e.AutomationControlStatusSchema, e.AutomationRecipeSchema, e.AutomationTriggerSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BASE_LIVE_EGRESS_PROFILE, e.BATTERY_DEVICE_PROFILE, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAMERA_SWITCH_CATALOG, e.CAMERA_SWITCH_ORDER, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CONNECTION_TEST_TIMEOUT_MS, e.CORE_BLOCKS_ADDON_ID, e.CORE_BLOCK_ADDON_PREFIX, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusDegradationReasonSchema, e.CameraStatusDegradationSchema, e.CameraStatusSchema, e.CameraStatusStageSchema, e.CameraStreamSchema, e.CameraSwitchAuthoritySchema, e.CameraSwitchGroupSchema, e.CameraSwitchIdSchema, e.CameraSwitchSchema, e.CameraSwitchUnavailableReasonSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectionTestDescriptorSchema, e.ConnectionTestInputSchema, e.ConnectionTestOutcomeSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoreBlockCompileResultSchema, e.CoreBlockInputSchema, e.CoreBlockPlacementSchema, e.CoreBlockSchema, e.CoreBlockStatusSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DECLARED_DEVICE_SWEEP_LIMIT, e.DECLARED_INTEGRATION_FIXED_KEY, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENTS_BAND_BUFFER_SEC, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_RETENTION, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DETAIL_CROP_PADDING_FIELD, e.DETAIL_CROP_PADDING_KEY, e.DETAIL_CROP_SECTION_ID, e.DETAIL_CROP_SQUARE_KEY, e.DETECTION_PIPELINE_CAP_NAME, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SCOPED_CAPS, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATE_READERS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DataStoreEngineInfoSchema, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DeclaredDevices, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetailCropConventionSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceNetworkStatsSchema, e.DeviceRole, e.DeviceRuntimeState, e.DeviceStatusSchema, e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, e.EVENT_TAXONOMY, e.EXPORT_DENSE_MAX_RANGES, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.EgressEncodeSchema, e.EgressRateControlSchema, e.EgressTranscodeRequestSchema, e.EgressTranscodeSchema, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventKindsForDeviceSchema, e.EventMediaArtifactSchema, e.EventMediaCoverageSchema, e.EventMediaKindSchema, e.EventMediaProductionSchema, e.EventSourceType, e.ExportBytesSchema, e.ExportDenseRangeSchema, e.ExportDenseSchema, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionBindingSourceSchema, e.ExpressionEvalError, e.ExpressionFieldBindingSchema, e.ExpressionGlobalBindingSchema, e.ExpressionLiteralBindingSchema, e.ExpressionParseError, e.ExpressionSourceSchema, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HAP_AUDIO_BASE, e.HAP_AUDIO_BITRATE_KBPS, e.HAP_AUDIO_VBV_KBITS, e.HAP_KEYFRAME_INTERVAL_SEC, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CONDITION_DEPTH, e.MAX_CONDITION_LEAVES, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileInfoSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.MutationFilterSchema, e.NATIVE_LEASE_ACTIVITY_FIELD, e.NATIVE_LEASE_ACTIVITY_KEY, e.NATIVE_LEASE_ADMISSION_FIELD, e.NATIVE_LEASE_ADMISSION_KEY, e.NATIVE_LEASE_BUDGET_FIELD, e.NATIVE_LEASE_BUDGET_KEY, e.NATIVE_LEASE_SECTION_ID, e.NATIVE_LEASE_TTL_FIELD, e.NATIVE_LEASE_TTL_KEY, e.NC_BASE_CONDITION_KEYS, e.NC_CONDITION_CATALOG, e.NC_HISTORY_LIMIT_DEFAULT, e.NC_HISTORY_LIMIT_MAX, e.NC_MAX_PER_TRACK_IMMEDIATE, e.NC_SNOOZE_MAX_MINUTES, e.NC_TAXONOMY, e.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeLeaseAdmissionSchema, e.NativeLeaseSettingsSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NcAlarmConfigSchema, e.NcAlarmModeCoverageSchema, e.NcAlarmSettingsPatchSchema, e.NcAlarmSettingsSchema, e.NcConditionDescriptorSchema, e.NcConditionsSchema, e.NcCrossingSchema, e.NcDeliverySchema, e.NcDeviceStateConditionSchema, e.NcHistoryEntrySchema, e.NcHistoryFilterSchema, e.NcHistoryRecordKindSchema, e.NcHistoryStatusSchema, e.NcHistorySubjectSchema, e.NcMediaFrameSchema, e.NcMediaPolicySchema, e.NcOccupancyConditionSchema, e.NcPlateMatcherSchema, e.NcRuleActionSchema, e.NcRuleActionSequenceSchema, e.NcRuleActionsSchema, e.NcRuleInputSchema, e.NcRuleNotificationButtonSchema, e.NcRulePatchSchema, e.NcRuleSchema, e.NcRuleTargetSchema, e.NcScheduleSchema, e.NcScheduleWindowSchema, e.NcSnoozeInputSchema, e.NcSnoozeSchema, e.NcSnoozeScopeSchema, e.NcSnoozeSuppressedSchema, e.NcSystemEventConditionSchema, e.NcSystemEventKindSchema, e.NcTaxonomyEntrySchema, e.NcTaxonomySchema, e.NcTestResultSchema, e.NcThrottleGranularitySchema, e.NcThrottleSchema, e.NcZoneConditionSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionIconSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdRenderOutcomeEnum, e.OsdRenderResultSchema, e.OsdSlotBindingSchema, e.OsdSlotViewSchema, e.OsdSourceOptionSchema, e.OsdSourceSchema, e.OsdSourceValueTypeEnum, e.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PRIVACY_MASK_CAP_NAME, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzOptionsSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.RATE_CONTROL_RELAXED, e.RATE_CONTROL_TIGHT, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RECORDING_EXPORT_MAX_READ_BYTES, e.RESERVED_BINDING_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingRangeSchema, e.RecordingRetentionSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RelocateFootageClassSchema, e.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RetrainAnnotationDraftSchema, e.RetrainAnnotationKindSchema, e.RetrainAnnotationSchema, e.RetrainAnnotationSourceSchema, e.RetrainAssistResultSchema, e.RetrainAssistSubjectSchema, e.RetrainCopyRefusalSchema, e.RetrainFrameCandidateSchema, e.RetrainFrameListSchema, e.RetrainFrameSchema, e.RetrainFrameSelectionSchema, e.RetrainMacroClassSchema, e.RetrainStatusSchema, e.RetrainTrackSchema, e.RetrainTransitionResultSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageMigrationClassSchema, e.StorageMigrationDestinationsSchema, e.StorageMigrationFootageMoveInputSchema, e.StorageMigrationInputSchema, e.StorageMigrationJobSchema, e.StorageMigrationLeaseInputSchema, e.StorageMigrationMediaMoveInputSchema, e.StorageMigrationMoveSchema, e.StorageMigrationParticipantSchema, e.StorageMigrationPhaseSchema, e.StorageMigrationPlanSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMEZONES, e.TRANSCODE_DOWN_MAX_BITRATE_KBPS, e.TRANSCODE_DOWN_MAX_HEIGHT, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TerminalInstanceInfoSchema, e.TerminalLegacyCameraSchema, e.TerminalOutputBatchSchema, e.TerminalOutputEventSchema, e.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, e.TestConnectionStatusEnum, e.TestResultSchema, e.TimelapseRuleInputSchema, e.TimelapseRulePatchSchema, e.TimelapseRuleSchema, e.TimelapseTemplateSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackFlagsPatchSchema, e.TrackFlagsSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackSourceSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TrainingExportDeviceTotalsSchema, e.TrainingExportSummarySchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VectorDeclareIndexInputSchema, e.VectorDeleteByFilterInputSchema, e.VectorDeleteInputSchema, e.VectorDeleteResultSchema, e.VectorFilterSchema, e.VectorGetInputSchema, e.VectorGetResultSchema, e.VectorItemSchema, e.VectorMatchSchema, e.VectorMetadataSchema, e.VectorMetricSchema, e.VectorQueryInputSchema, e.VectorQueryResultSchema, e.VectorStatsInputSchema, e.VectorStatsResultSchema, e.VectorUpsertInputSchema, e.VectorUpsertResultSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WEBRTC_EGRESS_PROFILE, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneCrossingDirectionSchema, e.ZoneCrossingSchema, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioMetricsCapability, e.audioPlanFromEncodeProfile, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.bareAddonId, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildAudioArgs, e.buildEventKindDescriptor, e.buildFfmpegArgs, e.buildInputArgs, e.buildModelVariantGroups, e.buildNcTaxonomy, e.buildStreamParamsConfigSchema, e.buildVideoArgs, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.canonicalEgressPlan, e.carbonMonoxideCapability, e.cellsToRects, e.classifyBearerPrincipal, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.composeSwitchedOff, e.conditionDepth, e.connectionTestCapability, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlockAddonId, e.coreBlockIdFromAddonId, e.coreBlocksCapability, e.cosineSimilarity, e.countConditionLeaves, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.decodeVectorBase64, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.deriveCameraSwitches, e.deriveDetailCropRect, e.deriveRecordingMode, e.describeModelVariant, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.egressTranscodeSharingKey, e.egressTransportFromRequest, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateExpressionSource, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isBaseConditionKey, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isNode, e.isObjectInput, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logDestinationCapability, e.logLevelAtMost, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, a = e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.methodAccessForHttpMethod, e.metricsProviderCapability, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeUnit, e.notificationOutputCapability, e.notificationRulesCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.osdManagerCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readTimelapseGeneratedAt, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.runInferenceStep, e.runtimeDevices, e.sceneMonitorCapability, e.scopeKey, e.scopesAllowAddon, e.scopesAllowDeviceCap, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, e.stateVocabularyFor, e.storageCapability, e.storageEvictableCapability, e.storageMigrationCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.summarisePrivacyAudio, e.supportedRuntimes, e.switchCapability, e.switchedOffIds, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.terminalSessionCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toNodeId, e.toStreamSourceEntry, e.toastCapability, e.tokenize, e.transcodeBody, e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.validateRecipeBounds, e.valveCapability, e.vectorDimFromBase64, e.vectorStoreCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
20
+ }, s = i.share["default:@camstack/types"];
21
+ s === void 0 ? n.then(() => {
22
+ if (s = i.share["default:@camstack/types"], s === void 0) throw Error("[Module Federation] Shared module @camstack/types was imported before federation bootstrap finished.");
23
+ o(s);
24
+ }) : o(s);
25
+ //#endregion
26
+ export { a as t };