@camstack/addon-pipeline 1.2.5 → 1.2.6

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 (32) 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 +499 -30
  4. package/dist/detection-pipeline/index.mjs +493 -24
  5. package/dist/{dist-CtQsET1Q.js → dist-Bh0H8jM6.js} +37 -2
  6. package/dist/{dist-ZB-B8UrH.mjs → dist-Bw_V5L0r.mjs} +37 -2
  7. package/dist/motion-wasm/index.js +1 -1
  8. package/dist/motion-wasm/index.mjs +1 -1
  9. package/dist/pipeline-runner/index.js +19 -9
  10. package/dist/pipeline-runner/index.mjs +19 -9
  11. package/dist/recorder/index.js +1 -1
  12. package/dist/recorder/index.mjs +1 -1
  13. package/dist/{step-definitions-BKJI5CXI.mjs → step-definitions-aY4D9Loy.mjs} +70 -2
  14. package/dist/{step-definitions-DrRnEQPM.js → step-definitions-xxdpJX9-.js} +70 -2
  15. package/dist/stream-broker/_stub.js +1 -1
  16. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DPvS4Ex7.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DX-Ef8CP.mjs} +1 -1
  17. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-gchR4WlX.mjs +26 -0
  18. package/dist/stream-broker/{hostInit-CG0IeE_e.mjs → hostInit-DUL71Vjq.mjs} +1 -1
  19. package/dist/stream-broker/index.js +1 -1
  20. package/dist/stream-broker/index.mjs +1 -1
  21. package/dist/stream-broker/remoteEntry.js +1 -1
  22. package/embed-dist/assets/{MaskShapeCanvas-DI4BY7W2-C-rkQ2rg.js → MaskShapeCanvas-DI4BY7W2-CGWEeRkz.js} +1 -1
  23. package/embed-dist/assets/{MotionZonesSettings-NcxxQN8r-BtbCLveu.js → MotionZonesSettings-NcxxQN8r-4YbTa3Wp.js} +1 -1
  24. package/embed-dist/assets/{PrivacyMaskSettings-APgPLF7p-C9CEgSlA.js → PrivacyMaskSettings-APgPLF7p-DL_tAs9-.js} +1 -1
  25. package/embed-dist/assets/{index-CgJ1frQY.js → index-CvBwcYl_.js} +13 -13
  26. package/embed-dist/index.html +1 -1
  27. package/package.json +1 -1
  28. package/python/postprocessors/ctc.py +228 -4
  29. package/python/postprocessors/test_ctc.py +312 -0
  30. package/python/postprocessors/testdata/ctc_degenerate_lowres_logits.npy.gz.b64 +1 -0
  31. package/python/postprocessors/testdata/ctc_dwro309_logits.npy.gz.b64 +1 -0
  32. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CQC_f4Yv.mjs +0 -26
@@ -11731,6 +11731,22 @@ var CameraMetricsSchema = object({
11731
11731
  ])
11732
11732
  });
11733
11733
  var CameraMetricsWithDeviceIdSchema = CameraMetricsSchema.extend({ deviceId: number() });
11734
+ /**
11735
+ * Reference to the frame's retained NATIVE surface + the parent crop's placement
11736
+ * within the frame, so the executor can re-cut a leaf child ROI at native
11737
+ * resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
11738
+ */
11739
+ var NativeCropRefSchema = object({
11740
+ /** Handle keying the retained native surface (node-pinned to its owner). */
11741
+ handle: FrameHandleSchema,
11742
+ /** The parent crop's padded/clamped rectangle in FRAME-space pixels. */
11743
+ cropFrameSpace: object({
11744
+ x: number(),
11745
+ y: number(),
11746
+ w: number(),
11747
+ h: number()
11748
+ })
11749
+ });
11734
11750
  var ModelFormatSchema$1 = _enum([
11735
11751
  "onnx",
11736
11752
  "coreml",
@@ -12104,7 +12120,22 @@ var pipelineExecutorCapability = {
12104
12120
  * Omitted ⇒ the runner's default device (current single-engine
12105
12121
  * behaviour). Selects WHICH device pool of the node runs the call.
12106
12122
  */
12107
- deviceKey: string().optional()
12123
+ deviceKey: string().optional(),
12124
+ /**
12125
+ * Two-plane NATIVE child-crop reference. Set by `runDetailSubtree` ONLY
12126
+ * when the parent crop was resolved from the frame's retained NATIVE
12127
+ * surface (a frameHandle HIT). Lets the executor re-cut a LEAF crop
12128
+ * child's ROI (plate-ocr, face-embedding, leaf classifiers) at native
12129
+ * resolution from that surface — the SAME quality path faces already
12130
+ * had — instead of the downscaled parent tile. `handle` keys the native
12131
+ * surface (node-pinned to its owner); `cropFrameSpace` is the parent
12132
+ * crop's padded/clamped rectangle in FRAME-space pixels, used to compose
12133
+ * the executor's crop-normalized child ROI back into frame-normalized
12134
+ * coordinates. Auxiliary to the image source (`image`/`frame`/…), NOT one
12135
+ * of the mutually-exclusive image inputs. Absent ⇒ tile-crop children
12136
+ * (today's behaviour on the fallback path).
12137
+ */
12138
+ nativeCropRef: NativeCropRefSchema.optional()
12108
12139
  }), PipelineRunResultBridge, { kind: "mutation" }),
12109
12140
  /**
12110
12141
  * Batched run — N raw frames packed into one cap call. The provider
@@ -12374,7 +12405,11 @@ var DetailResultSchema = object({
12374
12405
  bbox: NativeCropBboxSchema.optional(),
12375
12406
  embedding: string().optional(),
12376
12407
  label: string().optional(),
12377
- alignedCropJpeg: string().optional()
12408
+ alignedCropJpeg: string().optional(),
12409
+ /** Face short side (px) measured on the NATIVE crop surface. The `bbox`
12410
+ * above is detection-frame px (≈6× smaller on a 4K camera) — min-face-size
12411
+ * consumers MUST prefer this when present (2026-07-22 native-gate fix). */
12412
+ nativeFaceShortSidePx: number().optional()
12378
12413
  });
12379
12414
  /**
12380
12415
  * Per-camera tunable ranges + defaults. Single source of truth used
@@ -11731,6 +11731,22 @@ var CameraMetricsSchema = object({
11731
11731
  ])
11732
11732
  });
11733
11733
  var CameraMetricsWithDeviceIdSchema = CameraMetricsSchema.extend({ deviceId: number() });
11734
+ /**
11735
+ * Reference to the frame's retained NATIVE surface + the parent crop's placement
11736
+ * within the frame, so the executor can re-cut a leaf child ROI at native
11737
+ * resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
11738
+ */
11739
+ var NativeCropRefSchema = object({
11740
+ /** Handle keying the retained native surface (node-pinned to its owner). */
11741
+ handle: FrameHandleSchema,
11742
+ /** The parent crop's padded/clamped rectangle in FRAME-space pixels. */
11743
+ cropFrameSpace: object({
11744
+ x: number(),
11745
+ y: number(),
11746
+ w: number(),
11747
+ h: number()
11748
+ })
11749
+ });
11734
11750
  var ModelFormatSchema$1 = _enum([
11735
11751
  "onnx",
11736
11752
  "coreml",
@@ -12104,7 +12120,22 @@ var pipelineExecutorCapability = {
12104
12120
  * Omitted ⇒ the runner's default device (current single-engine
12105
12121
  * behaviour). Selects WHICH device pool of the node runs the call.
12106
12122
  */
12107
- deviceKey: string().optional()
12123
+ deviceKey: string().optional(),
12124
+ /**
12125
+ * Two-plane NATIVE child-crop reference. Set by `runDetailSubtree` ONLY
12126
+ * when the parent crop was resolved from the frame's retained NATIVE
12127
+ * surface (a frameHandle HIT). Lets the executor re-cut a LEAF crop
12128
+ * child's ROI (plate-ocr, face-embedding, leaf classifiers) at native
12129
+ * resolution from that surface — the SAME quality path faces already
12130
+ * had — instead of the downscaled parent tile. `handle` keys the native
12131
+ * surface (node-pinned to its owner); `cropFrameSpace` is the parent
12132
+ * crop's padded/clamped rectangle in FRAME-space pixels, used to compose
12133
+ * the executor's crop-normalized child ROI back into frame-normalized
12134
+ * coordinates. Auxiliary to the image source (`image`/`frame`/…), NOT one
12135
+ * of the mutually-exclusive image inputs. Absent ⇒ tile-crop children
12136
+ * (today's behaviour on the fallback path).
12137
+ */
12138
+ nativeCropRef: NativeCropRefSchema.optional()
12108
12139
  }), PipelineRunResultBridge, { kind: "mutation" }),
12109
12140
  /**
12110
12141
  * Batched run — N raw frames packed into one cap call. The provider
@@ -12374,7 +12405,11 @@ var DetailResultSchema = object({
12374
12405
  bbox: NativeCropBboxSchema.optional(),
12375
12406
  embedding: string().optional(),
12376
12407
  label: string().optional(),
12377
- alignedCropJpeg: string().optional()
12408
+ alignedCropJpeg: string().optional(),
12409
+ /** Face short side (px) measured on the NATIVE crop surface. The `bbox`
12410
+ * above is detection-frame px (≈6× smaller on a 4K camera) — min-face-size
12411
+ * consumers MUST prefer this when present (2026-07-22 native-gate fix). */
12412
+ nativeFaceShortSidePx: number().optional()
12378
12413
  });
12379
12414
  /**
12380
12415
  * Per-camera tunable ranges + defaults. Single source of truth used
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CtQsET1Q.js");
5
+ const require_dist = require("../dist-Bh0H8jM6.js");
6
6
  let node_fs = require("node:fs");
7
7
  let node_path = require("node:path");
8
8
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -1,4 +1,4 @@
1
- import { A as motionDetectionCapability, J as hydrateSchema, K as DeviceType, T as evaluateZoneRules, U as BaseAddon } from "../dist-ZB-B8UrH.mjs";
1
+ import { A as motionDetectionCapability, J as hydrateSchema, K as DeviceType, T as evaluateZoneRules, U as BaseAddon } from "../dist-Bw_V5L0r.mjs";
2
2
  import { readFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-D6vf50IK.js");
6
- const require_dist = require("../dist-CtQsET1Q.js");
6
+ const require_dist = require("../dist-Bh0H8jM6.js");
7
7
  const require_remote_restream = require("../remote-restream-CO36Sr30.js");
8
8
  const require_sheet_geometry = require("../sheet-geometry-BR-ip0CP.js");
9
9
  const require_worker_protocol = require("../worker-protocol-DextwlTX.js");
10
- const require_step_definitions = require("../step-definitions-DrRnEQPM.js");
10
+ const require_step_definitions = require("../step-definitions-xxdpJX9-.js");
11
11
  let node_child_process = require("node:child_process");
12
12
  let node_url = require("node:url");
13
13
  let sharp = require("sharp");
@@ -2210,14 +2210,18 @@ function toDetailResult(detection, stepId, crop) {
2210
2210
  bbox: mapBboxToFrameSpace(detection.bbox, crop),
2211
2211
  ...detection.embedding !== void 0 ? { embedding: encodeEmbeddingBase64(detection.embedding) } : {},
2212
2212
  ...label !== void 0 ? { label } : {},
2213
- ...detection.faceAlignedCrop !== void 0 ? { alignedCropJpeg: detection.faceAlignedCrop } : {}
2213
+ ...detection.faceAlignedCrop !== void 0 ? { alignedCropJpeg: detection.faceAlignedCrop } : {},
2214
+ ...detection.nativeFaceShortSidePx !== void 0 ? { nativeFaceShortSidePx: detection.nativeFaceShortSidePx } : {}
2214
2215
  };
2215
2216
  }
2216
2217
  async function resolveCrop(deps, input) {
2217
2218
  if (input.frameHandle) {
2218
2219
  const normalized = normalizeRect(padAndClampFrameBbox(input.parent.bbox, input.frameHandle.width, input.frameHandle.height), input.frameHandle.width, input.frameHandle.height);
2219
2220
  const native = await deps.getNativeCrop(input.deviceId, input.frameHandle, normalized);
2220
- if (native) return native;
2221
+ if (native) return {
2222
+ ...native,
2223
+ source: "native"
2224
+ };
2221
2225
  }
2222
2226
  if (input.cropJpeg) {
2223
2227
  const jpeg = Buffer.from(input.cropJpeg, "base64");
@@ -2230,7 +2234,8 @@ async function resolveCrop(deps, input) {
2230
2234
  jpeg,
2231
2235
  width,
2232
2236
  height,
2233
- frameSpace: input.parent.bbox
2237
+ frameSpace: input.parent.bbox,
2238
+ source: "fallback"
2234
2239
  };
2235
2240
  }
2236
2241
  return null;
@@ -2258,10 +2263,14 @@ async function runDetailSubtree(deps, input) {
2258
2263
  const steps = requested === void 0 ? matched : matched.map((step) => pruneChildStepsToRequested(step, requested));
2259
2264
  const crop = await resolveCrop(deps, input);
2260
2265
  if (!crop) return null;
2266
+ const nativeCropRef = input.frameHandle !== void 0 && crop.source === "native" ? {
2267
+ handle: input.frameHandle,
2268
+ cropFrameSpace: crop.frameSpace
2269
+ } : void 0;
2261
2270
  const details = [];
2262
2271
  for (const step of steps) {
2263
2272
  const deviceKey = deps.resolveStepDevice?.(input.deviceId, step);
2264
- const result = await deps.runPipeline([step], crop.jpeg, input.deviceId, deviceKey);
2273
+ const result = await deps.runPipeline([step], crop.jpeg, input.deviceId, deviceKey, nativeCropRef);
2265
2274
  if (!result) continue;
2266
2275
  for (const detection of result.detections) details.push(toDetailResult(detection, step.addonId, crop));
2267
2276
  }
@@ -3367,7 +3376,7 @@ var PipelineRunnerAddon = class extends require_dist.BaseAddon {
3367
3376
  return runDetailSubtree({
3368
3377
  resolveChildSteps: (deviceId, parentClassName, filter) => this.resolveDetailChildSteps(deviceId, parentClassName, filter),
3369
3378
  getNativeCrop: (deviceId, handle, paddedBbox) => this.getNativeCropForDetail(deviceId, handle, paddedBbox),
3370
- runPipeline: (steps, imageJpeg, deviceId, deviceKey) => this.runDetailPipeline(steps, imageJpeg, deviceId, deviceKey),
3379
+ runPipeline: (steps, imageJpeg, deviceId, deviceKey, nativeCropRef) => this.runDetailPipeline(steps, imageJpeg, deviceId, deviceKey, nativeCropRef),
3371
3380
  resolveStepDevice: (deviceId, step) => this.resolveDetailStepDevice(deviceId, step)
3372
3381
  }, input);
3373
3382
  }
@@ -3519,7 +3528,7 @@ var PipelineRunnerAddon = class extends require_dist.BaseAddon {
3519
3528
  })();
3520
3529
  }
3521
3530
  /** Real `runPipeline` dep: node-local `pipelineExecutor.runPipeline` on the `'full'` plane. */
3522
- async runDetailPipeline(steps, imageJpeg, deviceId, stepDeviceKey) {
3531
+ async runDetailPipeline(steps, imageJpeg, deviceId, stepDeviceKey, nativeCropRef) {
3523
3532
  const api = this.ctxIfReady?.api;
3524
3533
  if (!api) return null;
3525
3534
  const detailDeviceKey = stepDeviceKey ?? this.attached.get(deviceId)?.config?.deviceKey;
@@ -3529,7 +3538,8 @@ var PipelineRunnerAddon = class extends require_dist.BaseAddon {
3529
3538
  image: new Uint8Array(imageJpeg),
3530
3539
  deviceId,
3531
3540
  ...detailDeviceKey ? { deviceKey: detailDeviceKey } : {},
3532
- plane: "full"
3541
+ plane: "full",
3542
+ ...nativeCropRef ? { nativeCropRef } : {}
3533
3543
  });
3534
3544
  } catch (err) {
3535
3545
  this.ctxIfReady?.logger.warn("runDetailSubtree: runPipeline failed", {
@@ -1,8 +1,8 @@
1
- import { H as errMsg, N as pipelineRunnerCapability, S as defineCustomActions, U as BaseAddon, b as customAction, ct as number, dt as string, it as boolean, j as nodePin, lt as object, nt as _enum, ot as lazy, pt as EventCategory, q as createEvent, rt as array, s as DEVICE_BACKEND_TO_FORMAT } from "../dist-ZB-B8UrH.mjs";
1
+ import { H as errMsg, N as pipelineRunnerCapability, S as defineCustomActions, U as BaseAddon, b as customAction, ct as number, dt as string, it as boolean, j as nodePin, lt as object, nt as _enum, ot as lazy, pt as EventCategory, q as createEvent, rt as array, s as DEVICE_BACKEND_TO_FORMAT } from "../dist-Bw_V5L0r.mjs";
2
2
  import { n as profileForStreamId, t as isRemoteRestream } from "../remote-restream-BeHi78PZ.mjs";
3
3
  import { r as resolveHubHostname } from "../sheet-geometry-DcpuGTCm.mjs";
4
4
  import { t as isWorkerReply } from "../worker-protocol-D7RzZIla.mjs";
5
- import { a as getStepDefinition } from "../step-definitions-BKJI5CXI.mjs";
5
+ import { a as getStepDefinition } from "../step-definitions-aY4D9Loy.mjs";
6
6
  import { fork } from "node:child_process";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import sharp from "sharp";
@@ -2204,14 +2204,18 @@ function toDetailResult(detection, stepId, crop) {
2204
2204
  bbox: mapBboxToFrameSpace(detection.bbox, crop),
2205
2205
  ...detection.embedding !== void 0 ? { embedding: encodeEmbeddingBase64(detection.embedding) } : {},
2206
2206
  ...label !== void 0 ? { label } : {},
2207
- ...detection.faceAlignedCrop !== void 0 ? { alignedCropJpeg: detection.faceAlignedCrop } : {}
2207
+ ...detection.faceAlignedCrop !== void 0 ? { alignedCropJpeg: detection.faceAlignedCrop } : {},
2208
+ ...detection.nativeFaceShortSidePx !== void 0 ? { nativeFaceShortSidePx: detection.nativeFaceShortSidePx } : {}
2208
2209
  };
2209
2210
  }
2210
2211
  async function resolveCrop(deps, input) {
2211
2212
  if (input.frameHandle) {
2212
2213
  const normalized = normalizeRect(padAndClampFrameBbox(input.parent.bbox, input.frameHandle.width, input.frameHandle.height), input.frameHandle.width, input.frameHandle.height);
2213
2214
  const native = await deps.getNativeCrop(input.deviceId, input.frameHandle, normalized);
2214
- if (native) return native;
2215
+ if (native) return {
2216
+ ...native,
2217
+ source: "native"
2218
+ };
2215
2219
  }
2216
2220
  if (input.cropJpeg) {
2217
2221
  const jpeg = Buffer.from(input.cropJpeg, "base64");
@@ -2224,7 +2228,8 @@ async function resolveCrop(deps, input) {
2224
2228
  jpeg,
2225
2229
  width,
2226
2230
  height,
2227
- frameSpace: input.parent.bbox
2231
+ frameSpace: input.parent.bbox,
2232
+ source: "fallback"
2228
2233
  };
2229
2234
  }
2230
2235
  return null;
@@ -2252,10 +2257,14 @@ async function runDetailSubtree(deps, input) {
2252
2257
  const steps = requested === void 0 ? matched : matched.map((step) => pruneChildStepsToRequested(step, requested));
2253
2258
  const crop = await resolveCrop(deps, input);
2254
2259
  if (!crop) return null;
2260
+ const nativeCropRef = input.frameHandle !== void 0 && crop.source === "native" ? {
2261
+ handle: input.frameHandle,
2262
+ cropFrameSpace: crop.frameSpace
2263
+ } : void 0;
2255
2264
  const details = [];
2256
2265
  for (const step of steps) {
2257
2266
  const deviceKey = deps.resolveStepDevice?.(input.deviceId, step);
2258
- const result = await deps.runPipeline([step], crop.jpeg, input.deviceId, deviceKey);
2267
+ const result = await deps.runPipeline([step], crop.jpeg, input.deviceId, deviceKey, nativeCropRef);
2259
2268
  if (!result) continue;
2260
2269
  for (const detection of result.detections) details.push(toDetailResult(detection, step.addonId, crop));
2261
2270
  }
@@ -3361,7 +3370,7 @@ var PipelineRunnerAddon = class extends BaseAddon {
3361
3370
  return runDetailSubtree({
3362
3371
  resolveChildSteps: (deviceId, parentClassName, filter) => this.resolveDetailChildSteps(deviceId, parentClassName, filter),
3363
3372
  getNativeCrop: (deviceId, handle, paddedBbox) => this.getNativeCropForDetail(deviceId, handle, paddedBbox),
3364
- runPipeline: (steps, imageJpeg, deviceId, deviceKey) => this.runDetailPipeline(steps, imageJpeg, deviceId, deviceKey),
3373
+ runPipeline: (steps, imageJpeg, deviceId, deviceKey, nativeCropRef) => this.runDetailPipeline(steps, imageJpeg, deviceId, deviceKey, nativeCropRef),
3365
3374
  resolveStepDevice: (deviceId, step) => this.resolveDetailStepDevice(deviceId, step)
3366
3375
  }, input);
3367
3376
  }
@@ -3513,7 +3522,7 @@ var PipelineRunnerAddon = class extends BaseAddon {
3513
3522
  })();
3514
3523
  }
3515
3524
  /** Real `runPipeline` dep: node-local `pipelineExecutor.runPipeline` on the `'full'` plane. */
3516
- async runDetailPipeline(steps, imageJpeg, deviceId, stepDeviceKey) {
3525
+ async runDetailPipeline(steps, imageJpeg, deviceId, stepDeviceKey, nativeCropRef) {
3517
3526
  const api = this.ctxIfReady?.api;
3518
3527
  if (!api) return null;
3519
3528
  const detailDeviceKey = stepDeviceKey ?? this.attached.get(deviceId)?.config?.deviceKey;
@@ -3523,7 +3532,8 @@ var PipelineRunnerAddon = class extends BaseAddon {
3523
3532
  image: new Uint8Array(imageJpeg),
3524
3533
  deviceId,
3525
3534
  ...detailDeviceKey ? { deviceKey: detailDeviceKey } : {},
3526
- plane: "full"
3535
+ plane: "full",
3536
+ ...nativeCropRef ? { nativeCropRef } : {}
3527
3537
  });
3528
3538
  } catch (err) {
3529
3539
  this.ctxIfReady?.logger.warn("runDetailSubtree: runPipeline failed", {
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("../chunk-D6vf50IK.js");
2
- const require_dist = require("../dist-CtQsET1Q.js");
2
+ const require_dist = require("../dist-Bh0H8jM6.js");
3
3
  const require_sheet_geometry = require("../sheet-geometry-BR-ip0CP.js");
4
4
  const require_model_download_service_Cp9f4dk6 = require("../model-download-service-Cp9f4dk6-Dv-oFwjN.js");
5
5
  let node_child_process = require("node:child_process");
@@ -1,4 +1,4 @@
1
- import { F as recordingExportCapability, H as errMsg, I as resolveScrubThumbnailGeometry, J as hydrateSchema, K as DeviceType, P as recordingCapability, R as storageEvictableCapability, U as BaseAddon, Y as isEvent, c as EVENT_PAD_MS, dt as string, et as selectAssignedProfileSlots, f as OpsLogEntrySchema, j as nodePin, k as migrateConfigToBands, p as RecordingConfigSchema, pt as EventCategory, rt as array, u as ExportRecordSchema, ut as record } from "../dist-ZB-B8UrH.mjs";
1
+ import { F as recordingExportCapability, H as errMsg, I as resolveScrubThumbnailGeometry, J as hydrateSchema, K as DeviceType, P as recordingCapability, R as storageEvictableCapability, U as BaseAddon, Y as isEvent, c as EVENT_PAD_MS, dt as string, et as selectAssignedProfileSlots, f as OpsLogEntrySchema, j as nodePin, k as migrateConfigToBands, p as RecordingConfigSchema, pt as EventCategory, rt as array, u as ExportRecordSchema, ut as record } from "../dist-Bw_V5L0r.mjs";
2
2
  import { n as computeSheetGeometry, r as resolveHubHostname, t as allTilePlacements } from "../sheet-geometry-DcpuGTCm.mjs";
3
3
  import { n as createFileDataPlaneHandler, s as parseRangeHeader, t as contentTypeFor } from "../model-download-service-Cp9f4dk6-CwUb5v3Y.mjs";
4
4
  import { spawn } from "node:child_process";
@@ -1,4 +1,4 @@
1
- import { E as hfModelUrl, a as COCO_TO_MACRO, i as COCO_80_LABELS, r as AUDIO_MACRO_LABELS } from "./dist-ZB-B8UrH.mjs";
1
+ import { E as hfModelUrl, a as COCO_TO_MACRO, i as COCO_80_LABELS, r as AUDIO_MACRO_LABELS } from "./dist-Bw_V5L0r.mjs";
2
2
  //#region src/detection-pipeline/registry/model-catalogs.ts
3
3
  var HF_REPO = "camstack/camstack-models";
4
4
  var HF_SCRYPTED = "scrypted/plugin-models";
@@ -1458,6 +1458,71 @@ var ClassifierWithMinConfidence = class extends PipelineStepBase {
1458
1458
  }];
1459
1459
  }
1460
1460
  };
1461
+ var PLATE_OCR_DEFAULT_REGION = "DE";
1462
+ var PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH = 3;
1463
+ var PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE = 0;
1464
+ var PLATE_OCR_REGION_OPTIONS = [{
1465
+ value: "off",
1466
+ label: "Off (no format correction)"
1467
+ }, {
1468
+ value: "DE",
1469
+ label: "Germany"
1470
+ }];
1471
+ /**
1472
+ * Plate OCR step — exposes a `rectify` toggle (default ON) that deskews the
1473
+ * plate crop (rotation rectification) before the CTC recognizer reads it.
1474
+ * Oblique cameras (steeply angled plates) skew the text baseline and collapse
1475
+ * CTC beyond ~10-15°; a frontal camera loses nothing at 0° because the executor
1476
+ * skips the warp when the estimated angle is ~0. Per-camera configurable.
1477
+ *
1478
+ * Also exposes the format-aware rescoring controls (`plateRegion` grammar +
1479
+ * plausibility-gate thresholds) forwarded to the Python CTC postprocessor.
1480
+ */
1481
+ var PlateOcrStep = class extends PipelineStepBase {
1482
+ getConfigSchema() {
1483
+ return [
1484
+ {
1485
+ type: "boolean",
1486
+ key: "rectify",
1487
+ label: "Deskew Plate Crop",
1488
+ description: "Rotate the plate crop to level the text baseline before OCR. Recommended for oblique/angled cameras; a frontal camera is unaffected (no rotation applied at ~0°).",
1489
+ default: true,
1490
+ style: "switch"
1491
+ },
1492
+ {
1493
+ type: "select",
1494
+ key: "plateRegion",
1495
+ label: "Plate Format",
1496
+ description: "Validate each read against a country plate grammar and repair OCR confusables (0↔O, 1↔I, 8↔B, …) to the highest-scoring conforming read. Never drops a plausible read — only fixes or annotates it. \"Off\" disables correction.",
1497
+ options: PLATE_OCR_REGION_OPTIONS,
1498
+ default: PLATE_OCR_DEFAULT_REGION,
1499
+ immediate: true
1500
+ },
1501
+ {
1502
+ type: "slider",
1503
+ key: "minTextLength",
1504
+ label: "Min Plate Length",
1505
+ description: "Suppress reads shorter than this many characters as low-resolution noise (never stored as a plate).",
1506
+ min: 1,
1507
+ max: 8,
1508
+ step: 1,
1509
+ default: PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH,
1510
+ showValue: true
1511
+ },
1512
+ {
1513
+ type: "slider",
1514
+ key: "minTextConfidence",
1515
+ label: "Min OCR Confidence",
1516
+ description: "Suppress reads whose mean character confidence is below this floor. 0 disables the confidence gate (length is the primary discriminator).",
1517
+ min: 0,
1518
+ max: 1,
1519
+ step: .05,
1520
+ default: PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE,
1521
+ showValue: true
1522
+ }
1523
+ ];
1524
+ }
1525
+ };
1461
1526
  var STEP_FACE_DETECTION = new PipelineStepBase({
1462
1527
  id: "face-detection",
1463
1528
  name: "Face Detection",
@@ -1531,7 +1596,7 @@ var STEP_PLATE_DETECTION = new PipelineStepBase({
1531
1596
  maxPerTrack: 5
1532
1597
  }
1533
1598
  });
1534
- var STEP_PLATE_OCR = new PipelineStepBase({
1599
+ var STEP_PLATE_OCR = new PlateOcrStep({
1535
1600
  id: "plate-ocr",
1536
1601
  name: "Plate OCR",
1537
1602
  slot: "classifier",
@@ -1543,6 +1608,9 @@ var STEP_PLATE_OCR = new PipelineStepBase({
1543
1608
  defaultModelId: "vgg-english-g2",
1544
1609
  defaultConfidence: 0,
1545
1610
  charset: [...VGG_G2_CHARSET],
1611
+ plateRegion: PLATE_OCR_DEFAULT_REGION,
1612
+ minTextLength: PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH,
1613
+ minTextConfidence: PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE,
1546
1614
  cadence: {
1547
1615
  trigger: "once",
1548
1616
  maxPerTrack: 5
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CtQsET1Q.js");
1
+ const require_dist = require("./dist-Bh0H8jM6.js");
2
2
  //#region src/detection-pipeline/registry/model-catalogs.ts
3
3
  var HF_REPO = "camstack/camstack-models";
4
4
  var HF_SCRYPTED = "scrypted/plugin-models";
@@ -1458,6 +1458,71 @@ var ClassifierWithMinConfidence = class extends PipelineStepBase {
1458
1458
  }];
1459
1459
  }
1460
1460
  };
1461
+ var PLATE_OCR_DEFAULT_REGION = "DE";
1462
+ var PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH = 3;
1463
+ var PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE = 0;
1464
+ var PLATE_OCR_REGION_OPTIONS = [{
1465
+ value: "off",
1466
+ label: "Off (no format correction)"
1467
+ }, {
1468
+ value: "DE",
1469
+ label: "Germany"
1470
+ }];
1471
+ /**
1472
+ * Plate OCR step — exposes a `rectify` toggle (default ON) that deskews the
1473
+ * plate crop (rotation rectification) before the CTC recognizer reads it.
1474
+ * Oblique cameras (steeply angled plates) skew the text baseline and collapse
1475
+ * CTC beyond ~10-15°; a frontal camera loses nothing at 0° because the executor
1476
+ * skips the warp when the estimated angle is ~0. Per-camera configurable.
1477
+ *
1478
+ * Also exposes the format-aware rescoring controls (`plateRegion` grammar +
1479
+ * plausibility-gate thresholds) forwarded to the Python CTC postprocessor.
1480
+ */
1481
+ var PlateOcrStep = class extends PipelineStepBase {
1482
+ getConfigSchema() {
1483
+ return [
1484
+ {
1485
+ type: "boolean",
1486
+ key: "rectify",
1487
+ label: "Deskew Plate Crop",
1488
+ description: "Rotate the plate crop to level the text baseline before OCR. Recommended for oblique/angled cameras; a frontal camera is unaffected (no rotation applied at ~0°).",
1489
+ default: true,
1490
+ style: "switch"
1491
+ },
1492
+ {
1493
+ type: "select",
1494
+ key: "plateRegion",
1495
+ label: "Plate Format",
1496
+ description: "Validate each read against a country plate grammar and repair OCR confusables (0↔O, 1↔I, 8↔B, …) to the highest-scoring conforming read. Never drops a plausible read — only fixes or annotates it. \"Off\" disables correction.",
1497
+ options: PLATE_OCR_REGION_OPTIONS,
1498
+ default: PLATE_OCR_DEFAULT_REGION,
1499
+ immediate: true
1500
+ },
1501
+ {
1502
+ type: "slider",
1503
+ key: "minTextLength",
1504
+ label: "Min Plate Length",
1505
+ description: "Suppress reads shorter than this many characters as low-resolution noise (never stored as a plate).",
1506
+ min: 1,
1507
+ max: 8,
1508
+ step: 1,
1509
+ default: PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH,
1510
+ showValue: true
1511
+ },
1512
+ {
1513
+ type: "slider",
1514
+ key: "minTextConfidence",
1515
+ label: "Min OCR Confidence",
1516
+ description: "Suppress reads whose mean character confidence is below this floor. 0 disables the confidence gate (length is the primary discriminator).",
1517
+ min: 0,
1518
+ max: 1,
1519
+ step: .05,
1520
+ default: PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE,
1521
+ showValue: true
1522
+ }
1523
+ ];
1524
+ }
1525
+ };
1461
1526
  var STEP_FACE_DETECTION = new PipelineStepBase({
1462
1527
  id: "face-detection",
1463
1528
  name: "Face Detection",
@@ -1531,7 +1596,7 @@ var STEP_PLATE_DETECTION = new PipelineStepBase({
1531
1596
  maxPerTrack: 5
1532
1597
  }
1533
1598
  });
1534
- var STEP_PLATE_OCR = new PipelineStepBase({
1599
+ var STEP_PLATE_OCR = new PlateOcrStep({
1535
1600
  id: "plate-ocr",
1536
1601
  name: "Plate OCR",
1537
1602
  slot: "classifier",
@@ -1543,6 +1608,9 @@ var STEP_PLATE_OCR = new PipelineStepBase({
1543
1608
  defaultModelId: "vgg-english-g2",
1544
1609
  defaultConfidence: 0,
1545
1610
  charset: [...VGG_G2_CHARSET],
1611
+ plateRegion: PLATE_OCR_DEFAULT_REGION,
1612
+ minTextLength: PLATE_OCR_DEFAULT_MIN_TEXT_LENGTH,
1613
+ minTextConfidence: PLATE_OCR_DEFAULT_MIN_TEXT_CONFIDENCE,
1546
1614
  cadence: {
1547
1615
  trigger: "once",
1548
1616
  maxPerTrack: 5
@@ -2,7 +2,7 @@ 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
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-CQC_f4Yv.mjs";
5
+ import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-gchR4WlX.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.5",
21
+ version: "1.2.7",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  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.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, 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.AutomationControlStatusSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, 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.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.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.CameraStatusSchema, e.CameraStreamSchema, 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.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, 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.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_RETENTION, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceLinkModeSchema, 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.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, 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.EventSourceType, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionEvalError, e.ExpressionParseError, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, 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.LabelDefinitionSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, 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_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.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.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationHistoryEntrySchema, e.NotificationRuleSchema, 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.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, 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.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RESERVED_BINDING_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, 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.RecordingModeSchema, e.RecordingRangeSchema, e.RecordingRetentionSchema, e.RecordingRuleSchema, e.RecordingScheduleSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, 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.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.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TestConnectionResultSchema, e.TestResultSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, 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.VibrationStatusSchema, e.VideoEncodeSchema, 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.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.advancedNotifierCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.applyTransform, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioMetricsCapability, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildEventKindDescriptor, e.buildModelVariantGroups, e.buildStreamParamsConfigSchema, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.carbonMonoxideCapability, e.cellsToRects, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.cosineSimilarity, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dayNightCapability, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, 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.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateLinkExpression, 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.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.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDeviceConfigCap, e.isEvent, e.isNode, e.isObjectInput, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logDestinationCapability, 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.metricsProviderCapability, e.migrateConfigToBands, 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.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickPreferredRtspEntry, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readNodePin, 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.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.runInferenceStep, e.runtimeDevices, e.sceneMonitorCapability, e.scopeKey, 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.storageCapability, e.storageEvictableCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.supportedRuntimes, e.switchCapability, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, 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.valveCapability, 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 };
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.5",
39
+ version: "1.2.7",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-D6vf50IK.js");
6
- const require_dist = require("../dist-CtQsET1Q.js");
6
+ const require_dist = require("../dist-Bh0H8jM6.js");
7
7
  const require_remote_restream = require("../remote-restream-CO36Sr30.js");
8
8
  const require_model_download_service_Cp9f4dk6 = require("../model-download-service-Cp9f4dk6-Dv-oFwjN.js");
9
9
  let node_child_process = require("node:child_process");
@@ -1,5 +1,5 @@
1
1
  import { t as __require } from "../chunk-BdkLduGY.mjs";
2
- import { $ as parseProfileBrokerId, G as DeviceFeature, H as errMsg, K as DeviceType, O as maskUrlCredentials, U as BaseAddon, V as webrtcSessionCapability, W as CAM_PROFILE_ORDER, X as makeProfileBrokerId, Y as isEvent, Z as makeSourceBrokerId, at as discriminatedUnion, ct as number, dt as string, ft as union, g as addonWidgetsSourceCapability, it as boolean, j as nodePin, l as EncodeProfileSchema, lt as object, m as RingBuffer, nt as _enum, pt as EventCategory, q as createEvent, rt as array, st as literal, ut as record, y as cameraStreamsCapability, z as streamBrokerCapability } from "../dist-ZB-B8UrH.mjs";
2
+ import { $ as parseProfileBrokerId, G as DeviceFeature, H as errMsg, K as DeviceType, O as maskUrlCredentials, U as BaseAddon, V as webrtcSessionCapability, W as CAM_PROFILE_ORDER, X as makeProfileBrokerId, Y as isEvent, Z as makeSourceBrokerId, at as discriminatedUnion, ct as number, dt as string, ft as union, g as addonWidgetsSourceCapability, it as boolean, j as nodePin, l as EncodeProfileSchema, lt as object, m as RingBuffer, nt as _enum, pt as EventCategory, q as createEvent, rt as array, st as literal, ut as record, y as cameraStreamsCapability, z as streamBrokerCapability } from "../dist-Bw_V5L0r.mjs";
3
3
  import { n as profileForStreamId } from "../remote-restream-BeHi78PZ.mjs";
4
4
  import { n as createFileDataPlaneHandler } from "../model-download-service-Cp9f4dk6-CwUb5v3Y.mjs";
5
5
  import { createRequire } from "node:module";