@camstack/addon-pipeline 1.2.128 → 1.2.130

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 (123) hide show
  1. package/dist/{addon-utils-BnprivSs.js → addon-utils-DH78p79i.js} +1 -1
  2. package/dist/audio-analyzer/index.js +3 -3
  3. package/dist/audio-analyzer/index.mjs +2 -2
  4. package/dist/detection-pipeline/index.js +241 -95
  5. package/dist/detection-pipeline/index.mjs +239 -93
  6. package/dist/{dist-BZUXb5S5.js → dist-DOw-izoI.js} +243 -75
  7. package/dist/{dist-HLAOw6Pe.mjs → dist-Wt81pN5Y.mjs} +243 -75
  8. package/dist/{event-loop-stall-monitor-BdArVUlx.js → event-loop-stall-monitor-Bld7jNCb.js} +1 -1
  9. package/dist/{event-loop-stall-monitor-BH-cL_hg.mjs → event-loop-stall-monitor-CtQCOZqm.mjs} +1 -1
  10. package/dist/{lazy-sharp-DTDXrhMG.js → lazy-sharp-BbNI2ZD-.js} +1 -1
  11. package/dist/motion-wasm/index.js +2 -2
  12. package/dist/motion-wasm/index.mjs +1 -1
  13. package/dist/pipeline-runner/index.js +4 -4
  14. package/dist/pipeline-runner/index.mjs +3 -3
  15. package/dist/{process-memory-CDPRLalN.mjs → process-memory-1_D3EZT9.mjs} +1 -1
  16. package/dist/{process-memory-Dh1SyzdJ.js → process-memory-D9H5qjDl.js} +1 -1
  17. package/dist/recorder/index.js +467 -29
  18. package/dist/recorder/index.mjs +465 -28
  19. package/dist/{segment-demux-js-D-TLcHW5.mjs → segment-demux-js-BW-Q-j2A.mjs} +1 -1
  20. package/dist/{segment-demux-js-DRutggd6.js → segment-demux-js-C2jBBqGW.js} +1 -1
  21. package/dist/session-decode/decode-worker-child.js +2 -2
  22. package/dist/session-decode/decode-worker-child.mjs +1 -1
  23. package/dist/stream-broker/_stub.js +2 -2
  24. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BDR5z0Z9.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Dw-iwP4y.mjs} +3 -3
  25. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bme2OZQp.mjs +26 -0
  26. package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Do2DEtRt.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-D36MoVV1.mjs} +1 -1
  27. package/dist/stream-broker/demux-worker-child.js +1 -1
  28. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  29. package/dist/stream-broker/{hostInit-Dmw5LWmP.mjs → hostInit-DEVCEYgu.mjs} +3 -3
  30. package/dist/stream-broker/index.js +906 -423
  31. package/dist/stream-broker/index.mjs +906 -423
  32. package/dist/stream-broker/remoteEntry.js +1 -1
  33. package/dist/{worker-protocol-BxkCoVjw.js → worker-protocol-nAZl_Rsv.js} +1 -1
  34. package/dist/{worker-protocol-h7Smb_0i.mjs → worker-protocol-rpnr7Ldd.mjs} +1 -1
  35. package/package.json +1 -1
  36. package/python/__pycache__/inference_pool.cpython-312.pyc +0 -0
  37. package/python/__pycache__/inference_pool.cpython-313.pyc +0 -0
  38. package/python/__pycache__/inference_pool.cpython-314.pyc +0 -0
  39. package/python/__pycache__/test_inference_pool_backpressure.cpython-312-pytest-9.1.1.pyc +0 -0
  40. package/python/__pycache__/test_inference_pool_backpressure.cpython-312.pyc +0 -0
  41. package/python/__pycache__/test_inference_pool_backpressure.cpython-314.pyc +0 -0
  42. package/python/__pycache__/test_inference_pool_coreml_cache.cpython-312-pytest-9.1.1.pyc +0 -0
  43. package/python/__pycache__/test_inference_pool_coreml_cache.cpython-312.pyc +0 -0
  44. package/python/__pycache__/test_inference_pool_coreml_cache.cpython-314.pyc +0 -0
  45. package/python/__pycache__/test_inference_pool_device_selection.cpython-312-pytest-9.1.1.pyc +0 -0
  46. package/python/__pycache__/test_inference_pool_device_selection.cpython-312.pyc +0 -0
  47. package/python/__pycache__/test_inference_pool_device_selection.cpython-314.pyc +0 -0
  48. package/python/__pycache__/test_inference_pool_layout.cpython-312-pytest-9.1.1.pyc +0 -0
  49. package/python/__pycache__/test_inference_pool_layout.cpython-314.pyc +0 -0
  50. package/python/__pycache__/test_inference_pool_memstats.cpython-312-pytest-9.1.1.pyc +0 -0
  51. package/python/__pycache__/test_inference_pool_memstats.cpython-312.pyc +0 -0
  52. package/python/__pycache__/test_inference_pool_memstats.cpython-314.pyc +0 -0
  53. package/python/__pycache__/test_inference_pool_ov_ppp.cpython-312-pytest-9.1.1.pyc +0 -0
  54. package/python/__pycache__/test_inference_pool_ov_ppp.cpython-312.pyc +0 -0
  55. package/python/__pycache__/test_inference_pool_ov_ppp.cpython-314.pyc +0 -0
  56. package/python/__pycache__/test_inference_pool_preprocess.cpython-312-pytest-9.1.1.pyc +0 -0
  57. package/python/__pycache__/test_inference_pool_preprocess.cpython-314.pyc +0 -0
  58. package/python/__pycache__/test_inference_pool_reconfigure.cpython-314.pyc +0 -0
  59. package/python/__pycache__/test_inference_pool_static_batch.cpython-312-pytest-9.1.1.pyc +0 -0
  60. package/python/__pycache__/test_inference_pool_static_batch.cpython-312.pyc +0 -0
  61. package/python/__pycache__/test_inference_pool_static_batch.cpython-314.pyc +0 -0
  62. package/python/__pycache__/yamnet_audio.cpython-314.pyc +0 -0
  63. package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
  64. package/python/postprocessors/__pycache__/__init__.cpython-313.pyc +0 -0
  65. package/python/postprocessors/__pycache__/__init__.cpython-314.pyc +0 -0
  66. package/python/postprocessors/__pycache__/_safety.cpython-313.pyc +0 -0
  67. package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
  68. package/python/postprocessors/__pycache__/arcface.cpython-313.pyc +0 -0
  69. package/python/postprocessors/__pycache__/arcface.cpython-314.pyc +0 -0
  70. package/python/postprocessors/__pycache__/clip.cpython-312.pyc +0 -0
  71. package/python/postprocessors/__pycache__/clip.cpython-313.pyc +0 -0
  72. package/python/postprocessors/__pycache__/clip.cpython-314.pyc +0 -0
  73. package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
  74. package/python/postprocessors/__pycache__/ctc.cpython-313.pyc +0 -0
  75. package/python/postprocessors/__pycache__/ctc.cpython-314.pyc +0 -0
  76. package/python/postprocessors/__pycache__/plate_slots.cpython-312.pyc +0 -0
  77. package/python/postprocessors/__pycache__/plate_slots.cpython-314.pyc +0 -0
  78. package/python/postprocessors/__pycache__/rfdetr.cpython-312.pyc +0 -0
  79. package/python/postprocessors/__pycache__/rfdetr.cpython-314.pyc +0 -0
  80. package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
  81. package/python/postprocessors/__pycache__/saliency.cpython-313.pyc +0 -0
  82. package/python/postprocessors/__pycache__/saliency.cpython-314.pyc +0 -0
  83. package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
  84. package/python/postprocessors/__pycache__/scrfd.cpython-313.pyc +0 -0
  85. package/python/postprocessors/__pycache__/scrfd.cpython-314.pyc +0 -0
  86. package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
  87. package/python/postprocessors/__pycache__/softmax.cpython-313.pyc +0 -0
  88. package/python/postprocessors/__pycache__/softmax.cpython-314.pyc +0 -0
  89. package/python/postprocessors/__pycache__/ssd.cpython-312.pyc +0 -0
  90. package/python/postprocessors/__pycache__/ssd.cpython-313.pyc +0 -0
  91. package/python/postprocessors/__pycache__/ssd.cpython-314.pyc +0 -0
  92. package/python/postprocessors/__pycache__/test_clip.cpython-312-pytest-9.1.1.pyc +0 -0
  93. package/python/postprocessors/__pycache__/test_clip.cpython-313-pytest-9.1.1.pyc +0 -0
  94. package/python/postprocessors/__pycache__/test_ctc.cpython-312-pytest-9.1.1.pyc +0 -0
  95. package/python/postprocessors/__pycache__/test_ctc.cpython-312.pyc +0 -0
  96. package/python/postprocessors/__pycache__/test_ctc.cpython-313-pytest-9.1.1.pyc +0 -0
  97. package/python/postprocessors/__pycache__/test_ctc.cpython-313.pyc +0 -0
  98. package/python/postprocessors/__pycache__/test_ctc.cpython-314.pyc +0 -0
  99. package/python/postprocessors/__pycache__/test_plate_slots.cpython-312-pytest-9.1.1.pyc +0 -0
  100. package/python/postprocessors/__pycache__/test_rfdetr.cpython-312-pytest-9.1.1.pyc +0 -0
  101. package/python/postprocessors/__pycache__/test_rfdetr.cpython-314.pyc +0 -0
  102. package/python/postprocessors/__pycache__/test_saliency.cpython-312-pytest-9.1.1.pyc +0 -0
  103. package/python/postprocessors/__pycache__/test_saliency.cpython-313-pytest-9.1.1.pyc +0 -0
  104. package/python/postprocessors/__pycache__/test_saliency.cpython-314.pyc +0 -0
  105. package/python/postprocessors/__pycache__/test_softmax.cpython-312-pytest-9.1.1.pyc +0 -0
  106. package/python/postprocessors/__pycache__/test_softmax.cpython-314.pyc +0 -0
  107. package/python/postprocessors/__pycache__/test_yolo_nms.cpython-312-pytest-9.1.1.pyc +0 -0
  108. package/python/postprocessors/__pycache__/test_yolo_nms.cpython-314.pyc +0 -0
  109. package/python/postprocessors/__pycache__/test_yolo_nms.cpython-39.pyc +0 -0
  110. package/python/postprocessors/__pycache__/test_yolonas.cpython-312-pytest-9.1.1.pyc +0 -0
  111. package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
  112. package/python/postprocessors/__pycache__/yamnet.cpython-313.pyc +0 -0
  113. package/python/postprocessors/__pycache__/yamnet.cpython-314.pyc +0 -0
  114. package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
  115. package/python/postprocessors/__pycache__/yolo.cpython-313.pyc +0 -0
  116. package/python/postprocessors/__pycache__/yolo.cpython-314.pyc +0 -0
  117. package/python/postprocessors/__pycache__/yolo.cpython-39.pyc +0 -0
  118. package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
  119. package/python/postprocessors/__pycache__/yolo_seg.cpython-313.pyc +0 -0
  120. package/python/postprocessors/__pycache__/yolo_seg.cpython-314.pyc +0 -0
  121. package/python/postprocessors/__pycache__/yolonas.cpython-312.pyc +0 -0
  122. package/python/postprocessors/__pycache__/yolonas.cpython-314.pyc +0 -0
  123. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cs8bmrWP.mjs +0 -26
@@ -6769,7 +6769,7 @@ function method(input, output, options) {
6769
6769
  input,
6770
6770
  output,
6771
6771
  kind: options?.kind ?? "query",
6772
- auth: options?.auth ?? "protected",
6772
+ ...options?.auth !== void 0 ? { auth: options.auth } : {},
6773
6773
  ...options?.access !== void 0 ? { access: options.access } : {},
6774
6774
  ...options?.caller !== void 0 ? { caller: options.caller } : {},
6775
6775
  timeoutMs: options?.timeoutMs
@@ -6793,7 +6793,7 @@ function event(data) {
6793
6793
  }
6794
6794
  var StaticDirOutputSchema$1 = object({ staticDir: string() });
6795
6795
  var VersionOutputSchema$1 = object({ version: string() });
6796
- method(_void(), StaticDirOutputSchema$1), method(_void(), VersionOutputSchema$1);
6796
+ method(_void(), StaticDirOutputSchema$1, { auth: "admin" }), method(_void(), VersionOutputSchema$1, { auth: "admin" });
6797
6797
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
6798
6798
  DeviceType["Camera"] = "camera";
6799
6799
  DeviceType["Hub"] = "hub";
@@ -7114,7 +7114,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
7114
7114
  }({});
7115
7115
  var StaticDirOutputSchema = object({ staticDir: string() });
7116
7116
  var VersionOutputSchema = object({ version: string() });
7117
- method(_void(), StaticDirOutputSchema), method(_void(), VersionOutputSchema);
7117
+ method(_void(), StaticDirOutputSchema, { auth: "admin" }), method(_void(), VersionOutputSchema, { auth: "admin" });
7118
7118
  /**
7119
7119
  * device-ops — device-scoped cap that unifies the per-IDevice operations
7120
7120
  * previously routed through the `.device-ops` Moleculer bridge service.
@@ -8599,24 +8599,6 @@ var RecordingRetentionSchema = object({
8599
8599
  maxSizeGb: number().min(0).optional()
8600
8600
  });
8601
8601
  /**
8602
- * Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
8603
- * sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
8604
- * previews at. Five graduated steps; absent on a config = `standard` (the
8605
- * shipped default, matching `sheet-geometry`/`sheet-composer`).
8606
- *
8607
- * Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
8608
- * Each window's index sidecar carries its own tile dims, so a camera whose
8609
- * preset changed over time renders every historical window at the dims it was
8610
- * written with.
8611
- */
8612
- var ScrubThumbnailPresetSchema = _enum([
8613
- "minimal",
8614
- "low",
8615
- "standard",
8616
- "high",
8617
- "max"
8618
- ]);
8619
- /**
8620
8602
  * The full per-camera recording intent — the wire shape of a RecordingTarget.
8621
8603
  *
8622
8604
  * `bands` is the ONLY authored recording intent: what to record, when, and on
@@ -8624,7 +8606,11 @@ var ScrubThumbnailPresetSchema = _enum([
8624
8606
  * other field is a storage knob (profiles, segment length, retention, scrub).
8625
8607
  *
8626
8608
  * STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
8627
- * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30.
8609
+ * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
8610
+ * and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
8611
+ * deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
8612
+ * (D62: a switch that writes a store nobody reads is worse than no switch).
8613
+ * Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
8628
8614
  * A stale caller must fail loudly — silently stripping its legacy intent would
8629
8615
  * persist a band-less config, i.e. silently stop recording the camera.
8630
8616
  */
@@ -8647,14 +8633,7 @@ var RecordingConfigSchema = object({
8647
8633
  * "off" is the absence of a covering band, never a band value.
8648
8634
  */
8649
8635
  bands: array(RecordingBandSchema).default([]),
8650
- retention: RecordingRetentionSchema.optional(),
8651
- /**
8652
- * Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
8653
- * timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
8654
- * windows only — existing sheets are immutable, and each window's index
8655
- * carries its own tile dims so mixed-preset history renders correctly.
8656
- */
8657
- scrubThumbnails: ScrubThumbnailPresetSchema.optional()
8636
+ retention: RecordingRetentionSchema.optional()
8658
8637
  }).strict();
8659
8638
  /**
8660
8639
  * Derive the {@link RecordingStorageModeSchema} summary from the authoritative
@@ -8770,10 +8749,11 @@ var RelocateFootageInputSchema = object({
8770
8749
  * `RecordingConfig.enabled` or camera wrapper bindings. */
8771
8750
  var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
8772
8751
  var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
8773
- var StorageMigrationMediaMoveInputSchema = object({
8752
+ var RelocateMediaInputSchema = object({
8774
8753
  toLocationId: string(),
8775
8754
  throttleMbps: number().min(1).max(1e3).optional()
8776
- }).extend({ leaseId: string().min(1) });
8755
+ });
8756
+ var StorageMigrationMediaMoveInputSchema = RelocateMediaInputSchema.extend({ leaseId: string().min(1) });
8777
8757
  /** The independently selectable logical storage classes. `recordings`
8778
8758
  * encompasses the high and mid segment profiles; `recordingsLow` is low
8779
8759
  * segments; `eventMedia` is post-analysis blobs. */
@@ -9068,7 +9048,26 @@ var LabelDefinitionSchema = object({
9068
9048
  description: string().optional(),
9069
9049
  icon: string().optional()
9070
9050
  });
9071
- var ClassMapDefinitionSchema = object({
9051
+ /**
9052
+ * Wire schema for a per-model CATALOG classMap override
9053
+ * (`ModelCatalogEntry.classMap` / `ModelConvertMetadata.classMap`) —
9054
+ * restricted to {@link CLASS_MAP_MACRO_TARGETS}, the only macros the
9055
+ * detection pipeline executor actually routes.
9056
+ *
9057
+ * This is deliberately a DIFFERENT, narrower shape than the general-purpose
9058
+ * `ClassMapDefinition` interface above (e.g. `IDetectionAddon.getClassMap()`
9059
+ * and the audio `YAMNET_TO_MACRO` catalog both use macro targets outside this
9060
+ * enum) — the two used to share the name `ClassMapDefinition`/
9061
+ * `ClassMapDefinitionSchema`, which made the schema-type-twin guard
9062
+ * (`scripts/check-schema-type-twins.ts`) flag them as a duplicated shape. They
9063
+ * are not: it is two different concepts colliding on a name. Keep this type
9064
+ * under its own name rather than reusing `ClassMapDefinition` — reusing it
9065
+ * would either narrow every `ClassMapDefinition` consumer to the four
9066
+ * detection macros (breaking `YAMNET_TO_MACRO`) or drop the validation this
9067
+ * schema exists for (see the "rejects a classMap whose target is not a
9068
+ * detection macro" test in `model-catalog-schema.test.ts`).
9069
+ */
9070
+ var DetectionCatalogClassMapSchema = object({
9072
9071
  mapping: record(string(), _enum([
9073
9072
  "person",
9074
9073
  "vehicle",
@@ -9286,7 +9285,7 @@ var ModelCatalogEntrySchema = object({
9286
9285
  * applies (Frigate / COCO public catalog). Set on a custom model whose raw
9287
9286
  * labels already ARE the CamStack macros (Scrypted identity map).
9288
9287
  */
9289
- classMap: ClassMapDefinitionSchema.optional()
9288
+ classMap: DetectionCatalogClassMapSchema.optional()
9290
9289
  });
9291
9290
  var ConvertTargetSchema = discriminatedUnion("format", [object({
9292
9291
  format: literal("openvino"),
@@ -9316,7 +9315,7 @@ var ModelConvertMetadataSchema = object({
9316
9315
  "segmentation"
9317
9316
  ]),
9318
9317
  faceAlignment: boolean().optional(),
9319
- classMap: ClassMapDefinitionSchema.optional()
9318
+ classMap: DetectionCatalogClassMapSchema.optional()
9320
9319
  });
9321
9320
  var ConvertResultSchema = object({
9322
9321
  entry: ModelCatalogEntrySchema,
@@ -10179,7 +10178,7 @@ var AddonPageDeclarationSchema = object({
10179
10178
  /** Display label for a CUSTOM `section` id (ignored for well-known ids). */
10180
10179
  sectionLabel: string().optional()
10181
10180
  });
10182
- method(_void(), array(AddonPageDeclarationSchema).readonly());
10181
+ method(_void(), array(AddonPageDeclarationSchema).readonly(), { auth: "admin" });
10183
10182
  var AddonHttpRouteSchema = object({
10184
10183
  method: _enum([
10185
10184
  "GET",
@@ -10419,7 +10418,20 @@ var addonWidgetsSourceCapability = {
10419
10418
  scope: "system",
10420
10419
  mode: "collection",
10421
10420
  internal: true,
10422
- methods: { listWidgets: method(_void(), array(WidgetMetadataSchema).readonly()) }
10421
+ methods: {
10422
+ /**
10423
+ * `internal: true` did not gate the mount (see the 2026-08-26 note on
10424
+ * `data-store-provider`) — this was reachable on the AppRouter by ANY
10425
+ * authenticated session at the default `auth: 'protected'`. The only
10426
+ * consumer, the `addon-widgets-aggregator` builtin, reads it via
10427
+ * `ctx.capabilities.getCollection('addon-widgets-source')` — LOCAL-PROCESS
10428
+ * only, never tRPC. The public, enriched listing admin-ui actually
10429
+ * consumes is the separate `addon-widgets` cap (`listWidgets` there is
10430
+ * gated separately, and a `preAuth: true` widget is surfaced through the
10431
+ * PUBLIC `auth.listLoginMethods` contribution channel instead) —
10432
+ * neither is affected by this change.
10433
+ */
10434
+ listWidgets: method(_void(), array(WidgetMetadataSchema).readonly(), { auth: "admin" }) }
10423
10435
  };
10424
10436
  /**
10425
10437
  * `addon-widgets` — system-scoped singleton aggregator cap. Public-facing
@@ -12355,7 +12367,7 @@ var CustomModelDescriptorSchema = object({
12355
12367
  stepId: string(),
12356
12368
  entry: ModelCatalogEntrySchema
12357
12369
  });
12358
- method(_void(), array(CustomModelDescriptorSchema).readonly());
12370
+ method(_void(), array(CustomModelDescriptorSchema).readonly(), { auth: "admin" });
12359
12371
  /**
12360
12372
  * Query filter for settings-store collections.
12361
12373
  */
@@ -12442,7 +12454,8 @@ method(object({
12442
12454
  }), _void(), { kind: "mutation" }), method(object({
12443
12455
  namespace: string().optional(),
12444
12456
  collection: string(),
12445
- filter: QueryFilterSchema.optional()
12457
+ filter: QueryFilterSchema.optional(),
12458
+ columns: array(string()).readonly().optional()
12446
12459
  }), array(SettingsRecordSchema).readonly()), method(object({
12447
12460
  namespace: string().optional(),
12448
12461
  collection: string(),
@@ -12505,46 +12518,87 @@ var EngineInfoSchema = object({
12505
12518
  kind: _enum(["relational", "vector"]),
12506
12519
  displayName: string()
12507
12520
  });
12508
- method(_void(), EngineInfoSchema), method(object({
12521
+ method(_void(), EngineInfoSchema, { auth: "admin" }), method(object({
12509
12522
  namespace: string().optional(),
12510
12523
  collection: string(),
12511
12524
  key: string()
12512
- }), unknown()), method(object({
12525
+ }), unknown(), { auth: "admin" }), method(object({
12513
12526
  namespace: string().optional(),
12514
12527
  collection: string(),
12515
12528
  key: string(),
12516
12529
  value: unknown()
12517
- }), _void(), { kind: "mutation" }), method(object({
12530
+ }), _void(), {
12531
+ kind: "mutation",
12532
+ auth: "admin"
12533
+ }), method(object({
12518
12534
  namespace: string().optional(),
12519
12535
  collection: string(),
12520
- filter: QueryFilterSchema.optional()
12521
- }), array(SettingsRecordSchema).readonly()), method(object({
12536
+ filter: QueryFilterSchema.optional(),
12537
+ /**
12538
+ * SQL-level column projection — MUST mirror `settings-store.query`.
12539
+ *
12540
+ * ⚠ An earlier version of this comment blamed Zod stripping, and that
12541
+ * was wrong — corrected 2026-08-26 after the hop map
12542
+ * (`docs/design/2026-08-26-mappa-hop-argomenti.md`) traced the path.
12543
+ * There is **no Zod parse at all** between the door and the engine: the
12544
+ * dispatcher forwards the payload verbatim and UDS carries it whole. A
12545
+ * field declared here reaches `SqliteSettingsBackend` either way.
12546
+ *
12547
+ * What actually lost `columns` was the THIRD declaration of this shape:
12548
+ * `SettingsQueryInput` in `interfaces/storage.ts`, a hand-written TS
12549
+ * interface the engine destructures from. The field existed on both
12550
+ * schemas and the engine still never read it, because nothing checks a
12551
+ * registered provider against `InferProvider<cap>` —
12552
+ * `ProviderRegistration.provider` is typed `object`.
12553
+ *
12554
+ * It is declared here anyway, and must stay in step with
12555
+ * `settings-store.query`: a caller reading only the cap definitions has
12556
+ * to be able to see that this call carries a projection.
12557
+ * `data-door-schema-parity.spec.ts` keeps the two aligned.
12558
+ */
12559
+ columns: array(string()).readonly().optional()
12560
+ }), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
12522
12561
  namespace: string().optional(),
12523
12562
  collection: string(),
12524
12563
  record: SettingsRecordSchema
12525
- }), _void(), { kind: "mutation" }), method(object({
12564
+ }), _void(), {
12565
+ kind: "mutation",
12566
+ auth: "admin"
12567
+ }), method(object({
12526
12568
  namespace: string().optional(),
12527
12569
  collection: string(),
12528
12570
  id: string(),
12529
12571
  data: record(string(), unknown())
12530
- }), _void(), { kind: "mutation" }), method(object({
12572
+ }), _void(), {
12573
+ kind: "mutation",
12574
+ auth: "admin"
12575
+ }), method(object({
12531
12576
  namespace: string().optional(),
12532
12577
  collection: string(),
12533
12578
  key: string()
12534
- }), _void(), { kind: "mutation" }), method(object({
12579
+ }), _void(), {
12580
+ kind: "mutation",
12581
+ auth: "admin"
12582
+ }), method(object({
12535
12583
  namespace: string().optional(),
12536
12584
  collection: string(),
12537
12585
  filter: MutationFilterSchema
12538
- }), object({ deleted: number().int() }), { kind: "mutation" }), method(object({
12586
+ }), object({ deleted: number().int() }), {
12587
+ kind: "mutation",
12588
+ auth: "admin"
12589
+ }), method(object({
12539
12590
  namespace: string().optional(),
12540
12591
  collection: string(),
12541
12592
  filter: MutationFilterSchema,
12542
12593
  data: record(string(), unknown())
12543
- }), object({ updated: number().int() }), { kind: "mutation" }), method(object({
12594
+ }), object({ updated: number().int() }), {
12595
+ kind: "mutation",
12596
+ auth: "admin"
12597
+ }), method(object({
12544
12598
  namespace: string().optional(),
12545
12599
  collection: string(),
12546
12600
  filter: QueryFilterSchema.optional()
12547
- }), number()), method(object({
12601
+ }), number(), { auth: "admin" }), method(object({
12548
12602
  namespace: string().optional(),
12549
12603
  collection: string(),
12550
12604
  field: string(),
@@ -12554,15 +12608,18 @@ method(_void(), EngineInfoSchema), method(object({
12554
12608
  }), array(object({
12555
12609
  bucket: number().int(),
12556
12610
  count: number().int()
12557
- })).readonly()), method(object({
12611
+ })).readonly(), { auth: "admin" }), method(object({
12558
12612
  namespace: string().optional(),
12559
12613
  collection: string()
12560
- }), boolean()), method(object({
12614
+ }), boolean(), { auth: "admin" }), method(object({
12561
12615
  namespace: string().optional(),
12562
12616
  collection: string(),
12563
12617
  columns: array(CollectionColumnSchema).readonly(),
12564
12618
  indexes: array(CollectionIndexSchema).readonly().optional()
12565
- }), _void(), { kind: "mutation" });
12619
+ }), _void(), {
12620
+ kind: "mutation",
12621
+ auth: "admin"
12622
+ });
12566
12623
  /**
12567
12624
  * shm ring usage stats for a `frameSink: 'shm'` decoder session —
12568
12625
  * exposed via `decoder.getShmStats` so downstream consumers can
@@ -13721,7 +13778,7 @@ method(object({
13721
13778
  crop: _instanceof(Uint8Array),
13722
13779
  width: number(),
13723
13780
  height: number()
13724
- }), EmbeddingResultSchema), method(object({ text: string() }), EmbeddingResultSchema), method(_void(), EmbeddingInfoSchema);
13781
+ }), EmbeddingResultSchema, { auth: "admin" }), method(object({ text: string() }), EmbeddingResultSchema, { auth: "admin" }), method(_void(), EmbeddingInfoSchema, { auth: "admin" });
13725
13782
  /**
13726
13783
  * filesystem-browse — per-node capability for browsing the node's local
13727
13784
  * filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
@@ -14014,19 +14071,22 @@ method(LlmGenerateBaseInputSchema.extend({
14014
14071
  runtime: ManagedRuntimeConfigSchema,
14015
14072
  /** The managed profile's timeout, threaded by the hub provider. */
14016
14073
  timeoutMs: number().int().positive().optional()
14017
- }), LlmGenerateResultSchema, { kind: "mutation" }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14074
+ }), LlmGenerateResultSchema, {
14075
+ kind: "mutation",
14076
+ auth: "admin"
14077
+ }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14018
14078
  kind: "mutation",
14019
14079
  auth: "admin"
14020
14080
  }), method(object({}), _void(), {
14021
14081
  kind: "mutation",
14022
14082
  auth: "admin"
14023
- }), method(object({}), LlmRuntimeStatusSchema), method(object({ model: ManagedModelRefSchema }), _void(), {
14083
+ }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
14024
14084
  kind: "mutation",
14025
14085
  auth: "admin"
14026
14086
  }), method(object({ file: string() }), _void(), {
14027
14087
  kind: "mutation",
14028
14088
  auth: "admin"
14029
- }), method(object({}), array(LlmNodeModelSchema)), method(object({}), LlmRuntimeDiskUsageSchema);
14089
+ }), method(object({}), array(LlmNodeModelSchema), { auth: "admin" }), method(object({}), LlmRuntimeDiskUsageSchema, { auth: "admin" });
14030
14090
  /**
14031
14091
  * `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
14032
14092
  * methods concat-fan across providers; single-row methods route to ONE
@@ -17842,7 +17902,7 @@ var OauthIntegrationDescriptorSchema = object({
17842
17902
  */
17843
17903
  refreshTokenTtlSec: union([number().int().positive(), literal("never")]).optional()
17844
17904
  });
17845
- method(_void(), OauthIntegrationDescriptorSchema);
17905
+ method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
17846
17906
  /**
17847
17907
  * pipeline-analytics — device-scoped wrapper cap. Refines raw
17848
17908
  * per-frame detections emitted by the pipeline runner into tracked
@@ -19037,6 +19097,15 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19037
19097
  }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
19038
19098
  kind: "mutation",
19039
19099
  auth: "admin"
19100
+ }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
19101
+ kind: "mutation",
19102
+ auth: "admin"
19103
+ }), method(object({}), array(RelocateJobSchema).readonly(), {
19104
+ kind: "query",
19105
+ auth: "admin"
19106
+ }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
19107
+ kind: "mutation",
19108
+ auth: "admin"
19040
19109
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
19041
19110
  kind: "query",
19042
19111
  auth: "admin"
@@ -19191,6 +19260,11 @@ object({
19191
19260
  "jpeg"
19192
19261
  ])
19193
19262
  });
19263
+ /**
19264
+ * Process-local frame identity. It is serializable so it can ride an in-process
19265
+ * capability call, but `registryId` deliberately prevents resolution in any
19266
+ * other process or execution group.
19267
+ */
19194
19268
  var FrameRefSchema = object({
19195
19269
  registryId: string().min(1),
19196
19270
  id: string().min(1),
@@ -21650,7 +21724,7 @@ method(object({
21650
21724
  * linking rather than produce an eternal token.
21651
21725
  */
21652
21726
  ttlSec: union([number().int().positive(), literal("never")]).optional()
21653
- }), object({ token: string() })), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable());
21727
+ }), object({ token: string() }), { auth: "admin" }), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable(), { auth: "admin" });
21654
21728
  var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object({
21655
21729
  providerId: string().min(1),
21656
21730
  displayName: string().min(1),
@@ -21751,8 +21825,15 @@ var storageEvictableCapability = {
21751
21825
  mode: "collection",
21752
21826
  internal: true,
21753
21827
  methods: {
21828
+ /**
21829
+ * `internal: true` did not gate the mount (see the 2026-08-26 note on
21830
+ * `data-store-provider`) — this was reachable on the AppRouter by ANY
21831
+ * authenticated session at the default `auth: 'protected'`. The only
21832
+ * consumer is the orchestrator's `StoragePressureManager`, which calls
21833
+ * `ctx.api` — never tRPC — so `auth: 'admin'` costs it nothing.
21834
+ */
21754
21835
  /** Bytes this provider holds on the given location — drives proportional fan-out. */
21755
- getEvictableUsage: method(object({ locationId: string() }), EvictableUsageSchema),
21836
+ getEvictableUsage: method(object({ locationId: string() }), EvictableUsageSchema, { auth: "admin" }),
21756
21837
  /**
21757
21838
  * Free approximately `targetBytes` of this provider's OWN least-valuable
21758
21839
  * data on the location (oldest footage, expired clips, …). Returns what it
@@ -21761,7 +21842,10 @@ var storageEvictableCapability = {
21761
21842
  evict: method(object({
21762
21843
  locationId: string(),
21763
21844
  targetBytes: number().int().positive()
21764
- }), EvictResultSchema, { kind: "mutation" })
21845
+ }), EvictResultSchema, {
21846
+ kind: "mutation",
21847
+ auth: "admin"
21848
+ })
21765
21849
  }
21766
21850
  };
21767
21851
  method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
@@ -21823,26 +21907,50 @@ var ReadChunkInputSchema = object({
21823
21907
  length: number()
21824
21908
  });
21825
21909
  var EndDownloadInputSchema = object({ downloadId: string() });
21826
- method(_void(), ProviderInfoSchema), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
21910
+ method(_void(), ProviderInfoSchema, { auth: "admin" }), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
21827
21911
  location: StorageLocationSchema,
21828
21912
  relativePath: string()
21829
- }), string()), method(object({
21913
+ }), string(), { auth: "admin" }), method(object({
21830
21914
  location: StorageLocationSchema,
21831
21915
  relativePath: string(),
21832
21916
  data: _instanceof(Uint8Array)
21833
- }), _void(), { kind: "mutation" }), method(object({
21917
+ }), _void(), {
21918
+ kind: "mutation",
21919
+ auth: "admin"
21920
+ }), method(object({
21834
21921
  location: StorageLocationSchema,
21835
21922
  relativePath: string()
21836
- }), _instanceof(Uint8Array)), method(object({
21923
+ }), _instanceof(Uint8Array), { auth: "admin" }), method(object({
21837
21924
  location: StorageLocationSchema,
21838
21925
  relativePath: string()
21839
- }), boolean()), method(object({
21926
+ }), boolean(), { auth: "admin" }), method(object({
21840
21927
  location: StorageLocationSchema,
21841
21928
  prefix: string().optional()
21842
- }), array(string()).readonly()), method(object({
21929
+ }), array(string()).readonly(), { auth: "admin" }), method(object({
21843
21930
  location: StorageLocationSchema,
21844
21931
  relativePath: string()
21845
- }), _void(), { kind: "mutation" }), method(object({ location: StorageLocationSchema }), number().nullable()), method(BeginUploadInputSchema, BeginUploadResultSchema, { kind: "mutation" }), method(WriteChunkInputSchema, _void(), { kind: "mutation" }), method(FinalizeUploadInputSchema, _void(), { kind: "mutation" }), method(AbortUploadInputSchema, _void(), { kind: "mutation" }), method(BeginDownloadInputSchema, BeginDownloadResultSchema, { kind: "mutation" }), method(ReadChunkInputSchema, _instanceof(Uint8Array)), method(EndDownloadInputSchema, _void(), { kind: "mutation" });
21932
+ }), _void(), {
21933
+ kind: "mutation",
21934
+ auth: "admin"
21935
+ }), method(object({ location: StorageLocationSchema }), number().nullable(), { auth: "admin" }), method(BeginUploadInputSchema, BeginUploadResultSchema, {
21936
+ kind: "mutation",
21937
+ auth: "admin"
21938
+ }), method(WriteChunkInputSchema, _void(), {
21939
+ kind: "mutation",
21940
+ auth: "admin"
21941
+ }), method(FinalizeUploadInputSchema, _void(), {
21942
+ kind: "mutation",
21943
+ auth: "admin"
21944
+ }), method(AbortUploadInputSchema, _void(), {
21945
+ kind: "mutation",
21946
+ auth: "admin"
21947
+ }), method(BeginDownloadInputSchema, BeginDownloadResultSchema, {
21948
+ kind: "mutation",
21949
+ auth: "admin"
21950
+ }), method(ReadChunkInputSchema, _instanceof(Uint8Array), { auth: "admin" }), method(EndDownloadInputSchema, _void(), {
21951
+ kind: "mutation",
21952
+ auth: "admin"
21953
+ });
21846
21954
  /** Profile-exported FormBuilder schema. Shape is ConfigUISchema at the UI. */
21847
21955
  var ProfileSettingsSchemaBridge = unknown().nullable();
21848
21956
  var ProfileSettingsBagSchema = record(string(), unknown());
@@ -22100,7 +22208,8 @@ method(object({
22100
22208
  access: "create"
22101
22209
  }), method(object({ userId: string().optional() }), object({ optionsJSON: record(string(), unknown()) }), {
22102
22210
  kind: "mutation",
22103
- access: "view"
22211
+ access: "view",
22212
+ auth: "admin"
22104
22213
  }), method(object({
22105
22214
  /** Required — the user the assertion belongs to (verified). */
22106
22215
  userId: string(),
@@ -22108,10 +22217,12 @@ method(object({
22108
22217
  response: record(string(), unknown())
22109
22218
  }), object({ verified: boolean() }), {
22110
22219
  kind: "mutation",
22111
- access: "view"
22220
+ access: "view",
22221
+ auth: "admin"
22112
22222
  }), method(object({}), object({ optionsJSON: record(string(), unknown()) }), {
22113
22223
  kind: "mutation",
22114
- access: "view"
22224
+ access: "view",
22225
+ auth: "admin"
22115
22226
  }), method(object({
22116
22227
  /** AuthenticationResponseJSON from the browser. */
22117
22228
  response: record(string(), unknown()) }), object({
@@ -22119,7 +22230,8 @@ response: record(string(), unknown()) }), object({
22119
22230
  userId: string().nullable()
22120
22231
  }), {
22121
22232
  kind: "mutation",
22122
- access: "view"
22233
+ access: "view",
22234
+ auth: "admin"
22123
22235
  }), method(object({ userId: string() }), array(PasskeySummarySchema), { auth: "admin" }), method(object({
22124
22236
  userId: string(),
22125
22237
  credentialId: string()
@@ -22291,7 +22403,19 @@ var VectorStatsResultSchema = object({
22291
22403
  /** False when the backend ranks approximately. */
22292
22404
  exact: boolean()
22293
22405
  });
22294
- method(VectorDeclareIndexInputSchema, _void(), { kind: "mutation" }), method(VectorUpsertInputSchema, VectorUpsertResultSchema, { kind: "mutation" }), method(VectorQueryInputSchema, VectorQueryResultSchema), method(VectorGetInputSchema, VectorGetResultSchema), method(VectorDeleteInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorStatsInputSchema, VectorStatsResultSchema);
22406
+ method(VectorDeclareIndexInputSchema, _void(), {
22407
+ kind: "mutation",
22408
+ auth: "admin"
22409
+ }), method(VectorUpsertInputSchema, VectorUpsertResultSchema, {
22410
+ kind: "mutation",
22411
+ auth: "admin"
22412
+ }), method(VectorQueryInputSchema, VectorQueryResultSchema, { auth: "admin" }), method(VectorGetInputSchema, VectorGetResultSchema, { auth: "admin" }), method(VectorDeleteInputSchema, VectorDeleteResultSchema, {
22413
+ kind: "mutation",
22414
+ auth: "admin"
22415
+ }), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, {
22416
+ kind: "mutation",
22417
+ auth: "admin"
22418
+ }), method(VectorStatsInputSchema, VectorStatsResultSchema, { auth: "admin" });
22295
22419
  var ClipSchema = object({
22296
22420
  /** Opaque, provider-namespaced id. The default provider encodes the time
22297
22421
  * window so `getClipPlayback` is self-contained (no event re-query). */
@@ -24161,7 +24285,27 @@ var MediaFileLiteSchema$1 = object({
24161
24285
  sizeBytes: number(),
24162
24286
  timestamp: number()
24163
24287
  });
24164
- method(_void(), array(IdentitySchema).readonly()), method(object({ name: string().min(1) }), IdentitySchema, {
24288
+ method(object({
24289
+ /**
24290
+ * Inline {@link IdentitySchema.coverBase64} on every row.
24291
+ *
24292
+ * Default `false`, the same inversion `listRecentFaces` and
24293
+ * `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
24294
+ * why the burden belongs on the caller that WANTS the bytes). Measured
24295
+ * on the live hub the same day: four identities cost 40,979 B with the
24296
+ * covers inline, ~10 KB of base64 per row, on a query this UI mounts
24297
+ * four times and the viewer holds at `staleTime: 30_000`.
24298
+ *
24299
+ * Nothing loses its avatar: `coverMediaKey` is already on every row and
24300
+ * the `event-media` plane serves that key `immutable` with an ETag.
24301
+ *
24302
+ * **This is an INPUT field, so it does not reach the addon until the
24303
+ * next train** — the hub router validates cap inputs against its own
24304
+ * compiled Zod and strips a key it does not know. Until then the
24305
+ * provider sees `undefined`, which resolves to `false`: the cheap shape
24306
+ * is what ships, and the opt-in becomes reachable when the train lands.
24307
+ */
24308
+ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly()), method(object({ name: string().min(1) }), IdentitySchema, {
24165
24309
  kind: "mutation",
24166
24310
  auth: "admin"
24167
24311
  }), method(object({
@@ -26372,7 +26516,13 @@ method(object({
26372
26516
  }), method(object({ plateId: string() }), _void(), {
26373
26517
  kind: "mutation",
26374
26518
  auth: "admin"
26375
- }), method(_void(), array(VehicleSchema).readonly()), method(object({ name: string().min(1) }), VehicleSchema, {
26519
+ }), method(object({
26520
+ /** Inline {@link VehicleSchema.coverBase64} on every row. Default
26521
+ * `false` — the vehicle twin of `faceGallery.listIdentities`'s
26522
+ * option; `coverMediaKey` + the `event-media` plane carry the picture.
26523
+ * INPUT field: stripped by the hub router until the train ships, which
26524
+ * resolves to `false` and is exactly the intended default. */
26525
+ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly()), method(object({ name: string().min(1) }), VehicleSchema, {
26376
26526
  kind: "mutation",
26377
26527
  auth: "admin"
26378
26528
  }), method(object({
@@ -31921,6 +32071,12 @@ Object.freeze({
31921
32071
  addonId: null,
31922
32072
  access: "create"
31923
32073
  },
32074
+ "pipelineAnalytics.cancelRelocateMedia": {
32075
+ capName: "pipeline-analytics",
32076
+ capScope: "device",
32077
+ addonId: null,
32078
+ access: "create"
32079
+ },
31924
32080
  "pipelineAnalytics.cancelStorageMigrationMove": {
31925
32081
  capName: "pipeline-analytics",
31926
32082
  capScope: "device",
@@ -32095,6 +32251,12 @@ Object.freeze({
32095
32251
  addonId: null,
32096
32252
  access: "view"
32097
32253
  },
32254
+ "pipelineAnalytics.listRelocateMediaJobs": {
32255
+ capName: "pipeline-analytics",
32256
+ capScope: "device",
32257
+ addonId: null,
32258
+ access: "view"
32259
+ },
32098
32260
  "pipelineAnalytics.listRetrainAnnotations": {
32099
32261
  capName: "pipeline-analytics",
32100
32262
  capScope: "device",
@@ -32173,6 +32335,12 @@ Object.freeze({
32173
32335
  addonId: null,
32174
32336
  access: "create"
32175
32337
  },
32338
+ "pipelineAnalytics.relocateMedia": {
32339
+ capName: "pipeline-analytics",
32340
+ capScope: "device",
32341
+ addonId: null,
32342
+ access: "create"
32343
+ },
32176
32344
  "pipelineAnalytics.restageRetrainTrack": {
32177
32345
  capName: "pipeline-analytics",
32178
32346
  capScope: "device",
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BZUXb5S5.js");
1
+ const require_dist = require("./dist-DOw-izoI.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  let node_perf_hooks = require("node:perf_hooks");
4
4
  //#region src/detection-pipeline/registry/model-catalogs.ts
@@ -1,4 +1,4 @@
1
- import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-HLAOw6Pe.mjs";
1
+ import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-Wt81pN5Y.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { PerformanceObserver } from "node:perf_hooks";
4
4
  //#region src/detection-pipeline/registry/model-catalogs.ts
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BZUXb5S5.js");
1
+ const require_dist = require("./dist-DOw-izoI.js");
2
2
  let node_url = require("node:url");
3
3
  let node_module = require("node:module");
4
4
  let node_path = require("node:path");
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-BZUXb5S5.js");
6
- const require_lazy_sharp = require("../lazy-sharp-DTDXrhMG.js");
5
+ const require_dist = require("../dist-DOw-izoI.js");
6
+ const require_lazy_sharp = require("../lazy-sharp-BbNI2ZD-.js");
7
7
  let node_path = require("node:path");
8
8
  let node_fs = require("node:fs");
9
9
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -1,4 +1,4 @@
1
- import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-HLAOw6Pe.mjs";
1
+ import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-Wt81pN5Y.mjs";
2
2
  import { t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
3
3
  import { join } from "node:path";
4
4
  import { readFileSync } from "node:fs";
@@ -2,11 +2,11 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-BZUXb5S5.js");
6
- const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-BdArVUlx.js");
7
- const require_worker_protocol = require("../worker-protocol-BxkCoVjw.js");
5
+ const require_dist = require("../dist-DOw-izoI.js");
6
+ const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-Bld7jNCb.js");
7
+ const require_worker_protocol = require("../worker-protocol-nAZl_Rsv.js");
8
8
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
9
- const require_lazy_sharp = require("../lazy-sharp-DTDXrhMG.js");
9
+ const require_lazy_sharp = require("../lazy-sharp-BbNI2ZD-.js");
10
10
  const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
11
11
  const require_remote_restream = require("../remote-restream-CO36Sr30.js");
12
12
  let sharp = require("sharp");