@camstack/addon-pipeline 1.2.154 → 1.2.155

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 (38) hide show
  1. package/dist/audio-analyzer/index.js +2 -2
  2. package/dist/audio-analyzer/index.mjs +2 -2
  3. package/dist/detection-pipeline/index.js +5 -5
  4. package/dist/detection-pipeline/index.mjs +4 -4
  5. package/dist/{dist-B3LRtscY.mjs → dist-CBRky_dz.mjs} +232 -4
  6. package/dist/{dist-CNyaLgDE.js → dist-CmrtJ8RB.js} +232 -4
  7. package/dist/{lazy-sharp-BtcZ-K2I.js → lazy-sharp-BODx7w1t.js} +1 -1
  8. package/dist/{local-frame-registry-TkoMo5_E.js → local-frame-registry-BRG0GTmK.js} +1 -1
  9. package/dist/{local-frame-registry-C5pZ5QSM.mjs → local-frame-registry-ByKcWWPU.mjs} +1 -1
  10. package/dist/motion-wasm/index.js +2 -2
  11. package/dist/motion-wasm/index.mjs +1 -1
  12. package/dist/{node-Ctiow9ZV.js → node-BSeMUwxJ.js} +1 -1
  13. package/dist/{node-CtIkY7To.mjs → node-CQzPpwIR.mjs} +1 -1
  14. package/dist/pipeline-runner/index.js +5 -5
  15. package/dist/pipeline-runner/index.mjs +4 -4
  16. package/dist/{process-memory-C87TCFw5.mjs → process-memory-DQX-DbHx.mjs} +1 -1
  17. package/dist/{process-memory-W1prDrmt.js → process-memory-DVmHBraW.js} +1 -1
  18. package/dist/recorder/index.js +667 -100
  19. package/dist/recorder/index.mjs +667 -100
  20. package/dist/{segment-demux-js-BXma5CQd.mjs → segment-demux-js-DGX1iGLL.mjs} +1 -1
  21. package/dist/{segment-demux-js-CnRETfAK.js → segment-demux-js-DmqnujVx.js} +1 -1
  22. package/dist/session-decode/decode-worker-child.js +2 -2
  23. package/dist/session-decode/decode-worker-child.mjs +1 -1
  24. package/dist/stream-broker/_stub.js +2 -2
  25. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-oS7jpj-4.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DvfM0ofY.mjs} +3 -3
  26. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-lMPlG5w5.mjs +26 -0
  27. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CSNuIp4J.mjs +26 -0
  28. package/dist/stream-broker/demux-worker-child.js +1 -1
  29. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  30. package/dist/stream-broker/{hostInit-BMp9L2lF.mjs → hostInit-DQGeMfoN.mjs} +3 -3
  31. package/dist/stream-broker/index.js +3 -3
  32. package/dist/stream-broker/index.mjs +3 -3
  33. package/dist/stream-broker/remoteEntry.js +1 -1
  34. package/dist/{worker-protocol-DlDGOO8p.mjs → worker-protocol-C7jOjCsc.mjs} +1 -1
  35. package/dist/{worker-protocol-DOFTntiF.js → worker-protocol-S2nAdf6B.js} +1 -1
  36. package/package.json +1 -1
  37. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CVQG3RZ2.mjs +0 -26
  38. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Vtqzcp6N.mjs +0 -26
@@ -9353,6 +9353,20 @@ var RelocateJobSchema = object({
9353
9353
  * in its row, not in its name, so `MediaRelocateEngine` never reconciles one.
9354
9354
  */
9355
9355
  rowsReconciled: number().int().nonnegative().optional(),
9356
+ /**
9357
+ * Rows this run FORGOT because the file they name is not on disk.
9358
+ *
9359
+ * The mover derived the path from the row's own fields and `stat`ed it; an
9360
+ * ENOENT there is a per-path confirmation that the segment is gone (D296),
9361
+ * and the durable row is dropped through the same channel eviction uses. It
9362
+ * is reported for the same reason `rowsReconciled` is: this is a durable
9363
+ * mutation nobody asked for, and a migration that quietly erases hour rows is
9364
+ * the same failure as one that quietly skips them (D295).
9365
+ *
9366
+ * The production drain of 2026-08-30 would have reported 11 074 here — the
9367
+ * ledger claimed 5.65 GB of footage that no longer existed.
9368
+ */
9369
+ rowsForgotten: number().int().nonnegative().optional(),
9356
9370
  startedAt: number(),
9357
9371
  finishedAt: number().nullable(),
9358
9372
  error: string().nullable()
@@ -9716,6 +9730,91 @@ var RelocateResidueSchema = object({
9716
9730
  segments: number().int().nonnegative(),
9717
9731
  bytes: number().int().nonnegative()
9718
9732
  }).nullable();
9733
+ /**
9734
+ * Ask one location whether its durable hour rows describe the disk — the walk
9735
+ * (D319).
9736
+ *
9737
+ * `apply` DEFAULTS TO FALSE and that default is the product: the operator's
9738
+ * missing tool is the question, and the dry run is how they sanity-check the
9739
+ * destructive run before authorising it.
9740
+ */
9741
+ var LedgerWalkInputSchema = object({
9742
+ locationId: string().min(1),
9743
+ /** Forget the confirmed-absent rows, rather than only counting them. */
9744
+ apply: boolean().optional(),
9745
+ /** Narrow to one camera. */
9746
+ deviceId: number().int().positive().optional(),
9747
+ /** Narrow to these recording profiles; empty/absent = every profile. */
9748
+ profiles: array(string().min(1)).optional()
9749
+ });
9750
+ /** Why a whole walk did nothing. Every one leaves the ledger untouched. */
9751
+ var LedgerWalkRefusalSchema = _enum([
9752
+ "location-unknown",
9753
+ "source-writable",
9754
+ "no-ledger",
9755
+ "archive-unreadable",
9756
+ "anchor-absent",
9757
+ "anchor-unreadable",
9758
+ "anchor-moved"
9759
+ ]);
9760
+ _enum([
9761
+ "live-tail",
9762
+ "listing-error",
9763
+ "path-mismatch",
9764
+ "durable-refused"
9765
+ ]);
9766
+ /** Every skip reason, always present, always a number — so a reason that never
9767
+ * fired reports as zero rather than absent and the report shape is constant
9768
+ * between passes. Spelled out rather than `z.record` for exactly that. */
9769
+ var LedgerWalkSkipCountsSchema = object({
9770
+ "live-tail": number().int().nonnegative(),
9771
+ "listing-error": number().int().nonnegative(),
9772
+ "path-mismatch": number().int().nonnegative(),
9773
+ "durable-refused": number().int().nonnegative()
9774
+ });
9775
+ /** One camera's share of a walk, so a report names cameras and not rows. */
9776
+ var LedgerWalkDeviceReportSchema = object({
9777
+ deviceId: number().int(),
9778
+ hoursWalked: number().int().nonnegative(),
9779
+ hoursMissing: number().int().nonnegative(),
9780
+ ghostSegments: number().int().nonnegative(),
9781
+ ghostBytes: number().int().nonnegative(),
9782
+ forgottenSegments: number().int().nonnegative(),
9783
+ orphanFiles: number().int().nonnegative()
9784
+ });
9785
+ /**
9786
+ * What one walk claimed, listed, found and (only when armed) forgot.
9787
+ *
9788
+ * `archiveSegments` is the **M** and `segmentsClaimed` the **N** (D295), so a
9789
+ * walk that saw a fraction of the location is visible in its own report rather
9790
+ * than in the absence of one.
9791
+ */
9792
+ var LedgerWalkReportSchema = object({
9793
+ locationId: string(),
9794
+ applied: boolean(),
9795
+ refused: LedgerWalkRefusalSchema.nullable(),
9796
+ archiveSegments: number().int().nonnegative().nullable(),
9797
+ archiveBytes: number().int().nonnegative().nullable(),
9798
+ hoursClaimed: number().int().nonnegative(),
9799
+ hoursWalked: number().int().nonnegative(),
9800
+ hoursMissing: number().int().nonnegative(),
9801
+ /** `readdir` calls issued — the cost, stated in the unit that is paid. */
9802
+ listings: number().int().nonnegative(),
9803
+ segmentsClaimed: number().int().nonnegative(),
9804
+ ghostSegments: number().int().nonnegative(),
9805
+ ghostBytes: number().int().nonnegative(),
9806
+ ghostHoursWhole: number().int().nonnegative(),
9807
+ forgottenSegments: number().int().nonnegative(),
9808
+ forgottenBytes: number().int().nonnegative(),
9809
+ /** Files under a claimed hour that no durable row names. Never deleted. */
9810
+ orphanFiles: number().int().nonnegative(),
9811
+ orphanSample: array(string()).readonly(),
9812
+ hoursSkipped: number().int().nonnegative(),
9813
+ skippedByReason: LedgerWalkSkipCountsSchema,
9814
+ /** The walk stopped at its per-pass hour bound with claims unwalked. */
9815
+ bounded: boolean(),
9816
+ byDevice: array(LedgerWalkDeviceReportSchema).readonly()
9817
+ });
9719
9818
  /** How many rows a media pass would still act on against a given target — the
9720
9819
  * media lane's denominator AND its residue, from ONE derivation so the two can
9721
9820
  * never disagree. `null` = the count could not be taken. */
@@ -21151,13 +21250,15 @@ var ListGroupsPageSchema = object({
21151
21250
  groups: array(AnalyticsGroupRecordSchema).readonly(),
21152
21251
  nextCursor: string().nullable()
21153
21252
  });
21253
+ var KEY_EVENTS_DEFAULT_LIMIT = 50;
21254
+ var KEY_EVENTS_MAX_LIMIT = 200;
21154
21255
  var KeyEventQueryInput = object({
21155
21256
  deviceId: number(),
21156
21257
  /** Window lower bound (track firstSeen ≥ since). */
21157
21258
  since: number(),
21158
21259
  /** Window upper bound (track firstSeen ≤ until). */
21159
21260
  until: number(),
21160
- limit: number().int().min(1).max(200).default(50),
21261
+ limit: number().int().min(1).max(KEY_EVENTS_MAX_LIMIT).default(KEY_EVENTS_DEFAULT_LIMIT),
21161
21262
  /** Drop tracks scoring below this importance. */
21162
21263
  minImportance: number().min(0).max(1).optional(),
21163
21264
  /** Restrict to a single class (e.g. 'person'). */
@@ -21179,6 +21280,32 @@ var KeyEventSchema = object({
21179
21280
  ...TrackFlagFields,
21180
21281
  ...TrackRetrainFields
21181
21282
  });
21283
+ /** `getKeyEvents`' window and filters, asked of a SET of cameras at once. */
21284
+ var KeyEventBatchQueryInput = object({
21285
+ deviceIds: array(number()).min(1).max(200),
21286
+ since: number(),
21287
+ until: number(),
21288
+ /** Applied PER CAMERA, exactly as `getKeyEvents.limit` is — never a total
21289
+ * across the set, which would let a busy camera starve a quiet one of its
21290
+ * rows and change what the merged feed contains. */
21291
+ limit: number().int().min(1).max(KEY_EVENTS_MAX_LIMIT).default(KEY_EVENTS_DEFAULT_LIMIT),
21292
+ minImportance: number().min(0).max(1).optional(),
21293
+ classFilter: string().optional()
21294
+ });
21295
+ /**
21296
+ * One camera's key events in a batch answer.
21297
+ *
21298
+ * The row exists for every requested id. `getKeyEvents` degrades to `[]` on
21299
+ * error rather than throwing, so a camera whose store read failed and one with
21300
+ * no events in the window were ALREADY indistinguishable per camera — the
21301
+ * batch does not make that worse, and the row keeps the deviceId the single
21302
+ * method's output never carried (the caller used to stamp it from the fan-out
21303
+ * key, which only worked because there was one query per camera).
21304
+ */
21305
+ var KeyEventsForDeviceSchema = object({
21306
+ deviceId: number(),
21307
+ events: array(KeyEventSchema).readonly()
21308
+ });
21182
21309
  object({
21183
21310
  trackId: string(),
21184
21311
  className: string(),
@@ -21448,7 +21575,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
21448
21575
  until: number().optional(),
21449
21576
  kinds: array(string()).optional(),
21450
21577
  limit: number().int().min(1).max(MAX_EVENT_QUERY_LIMIT).default(DEFAULT_EVENT_QUERY_LIMIT)
21451
- }), array(SensorEventSchema).readonly()), method(KeyEventQueryInput, array(KeyEventSchema).readonly()), method(object({
21578
+ }), array(SensorEventSchema).readonly()), method(KeyEventQueryInput, array(KeyEventSchema).readonly()), method(KeyEventBatchQueryInput, array(KeyEventsForDeviceSchema).readonly()), method(object({
21452
21579
  deviceId: number(),
21453
21580
  since: number(),
21454
21581
  until: number(),
@@ -29519,6 +29646,23 @@ var recordingCapability = {
29519
29646
  kind: "query",
29520
29647
  auth: "admin"
29521
29648
  }),
29649
+ /**
29650
+ * Does this location's LEDGER tell the truth about its disk? (D319)
29651
+ *
29652
+ * One `readdir` per claimed hour, diffed both ways: durable rows whose file
29653
+ * is not there, and files no durable row names. `apply` defaults to FALSE —
29654
+ * the report is the product, and the dry run is how an operator
29655
+ * sanity-checks the destructive run before authorising it.
29656
+ *
29657
+ * REFUSES a source that is still a write target: a listing of a live
29658
+ * location is a lower bound, which is not the strong evidence that lets
29659
+ * this pass forget without a budget. A live location is reconciled by the
29660
+ * mover, under D318's bound.
29661
+ */
29662
+ reconcileLedgerAgainstDisk: method(LedgerWalkInputSchema, LedgerWalkReportSchema, {
29663
+ kind: "mutation",
29664
+ auth: "admin"
29665
+ }),
29522
29666
  /** Cancel a running or queued relocate job. A queued job never runs. */
29523
29667
  cancelRelocateJob: method(object({ jobId: string() }), object({ cancelled: boolean() }), {
29524
29668
  kind: "mutation",
@@ -29972,7 +30116,26 @@ var SceneMonitorStatusSchema = object({
29972
30116
  monitors: array(SceneMonitorSchema),
29973
30117
  lastFetchedAt: number()
29974
30118
  });
29975
- DeviceType.Camera, method(object({ deviceId: number() }), SceneMonitorStatusSchema), method(object({
30119
+ /**
30120
+ * One camera's row in a `listScenesBatch` answer.
30121
+ *
30122
+ * `status` is NULLABLE and the nullability is the whole point. `scene-monitor`
30123
+ * is a `defaultActive` wrapper, so every camera is asked; a camera whose
30124
+ * provider is absent (pipeline-analytics not deployed, the post-processing node
30125
+ * down) cannot answer, and that is not the same fact as a camera with no scenes
30126
+ * configured. Fanned out per camera the difference was visible — one query
30127
+ * errored while the others resolved — and a batch that returned only the rows
30128
+ * it managed would have destroyed it, silently, by making an unreachable camera
30129
+ * indistinguishable from one that answered `monitors: []`.
30130
+ *
30131
+ * So: EVERY requested deviceId gets a row. `status: null` means "this camera
30132
+ * could not be read"; `status.monitors: []` means "read, and it has none".
30133
+ */
30134
+ var SceneMonitorStatusForDeviceSchema = object({
30135
+ deviceId: number(),
30136
+ status: SceneMonitorStatusSchema.nullable()
30137
+ });
30138
+ DeviceType.Camera, method(object({ deviceId: number() }), SceneMonitorStatusSchema), method(object({ deviceIds: array(number()).min(1).max(200) }), array(SceneMonitorStatusForDeviceSchema).readonly()), method(object({
29976
30139
  deviceId: number(),
29977
30140
  label: string(),
29978
30141
  roi: MaskRectShapeSchema,
@@ -31296,6 +31459,27 @@ var CameraOccupancySnapshotSchema = object({
31296
31459
  stationaryObjects: array(StationaryObjectSchema).readonly().optional()
31297
31460
  });
31298
31461
  /**
31462
+ * One camera's row in a `getCurrentSnapshotBatch` answer.
31463
+ *
31464
+ * THREE outcomes, and the single-camera method could only express two of them
31465
+ * because `snapshot: null` was already spoken for:
31466
+ *
31467
+ * - `read: 'read'`, `snapshot` present — the live occupancy reading.
31468
+ * - `read: 'read'`, `snapshot: null` — read, and this camera has no reading
31469
+ * yet: no frame since boot, and no parked-object registry to hydrate from.
31470
+ * - `read: 'unreadable'` — the owner could not answer for this
31471
+ * camera. `snapshot` is null, and it does NOT mean "nothing parked here".
31472
+ *
31473
+ * Collapsing the last two is the failure this field exists to prevent: a
31474
+ * hydration that threw would otherwise render as an empty Stationary section,
31475
+ * which is a definite claim about a camera nobody could read.
31476
+ */
31477
+ var CameraOccupancySnapshotForDeviceSchema = object({
31478
+ deviceId: number(),
31479
+ read: _enum(["read", "unreadable"]),
31480
+ snapshot: CameraOccupancySnapshotSchema.nullable()
31481
+ });
31482
+ /**
31299
31483
  * Time-series resolution. The history methods return one bucket per
31300
31484
  * step over the requested range. Smaller resolutions cost more
31301
31485
  * memory + bandwidth; bound to discrete steps so caller cannot ask
@@ -31319,7 +31503,7 @@ var HistoryPointSchema = object({
31319
31503
  /** Object count averaged over the bucket (rounded to nearest integer). */
31320
31504
  count: number().int().nonnegative()
31321
31505
  });
31322
- DeviceType.Camera, method(object({ deviceId: number() }), CameraOccupancySnapshotSchema.nullable()), method(object({
31506
+ DeviceType.Camera, method(object({ deviceId: number() }), CameraOccupancySnapshotSchema.nullable()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(CameraOccupancySnapshotForDeviceSchema).readonly()), method(object({
31323
31507
  deviceId: number(),
31324
31508
  zoneId: string(),
31325
31509
  className: string().optional()
@@ -34783,6 +34967,12 @@ Object.freeze({
34783
34967
  addonId: null,
34784
34968
  access: "view"
34785
34969
  },
34970
+ "pipelineAnalytics.getKeyEventsBatch": {
34971
+ capName: "pipeline-analytics",
34972
+ capScope: "device",
34973
+ addonId: null,
34974
+ access: "view"
34975
+ },
34786
34976
  "pipelineAnalytics.getMotionEvents": {
34787
34977
  capName: "pipeline-analytics",
34788
34978
  capScope: "device",
@@ -35959,6 +36149,12 @@ Object.freeze({
35959
36149
  addonId: null,
35960
36150
  access: "view"
35961
36151
  },
36152
+ "recording.reconcileLedgerAgainstDisk": {
36153
+ capName: "recording",
36154
+ capScope: "system",
36155
+ addonId: null,
36156
+ access: "create"
36157
+ },
35962
36158
  "recording.refreshStorageLocationsForMigration": {
35963
36159
  capName: "recording",
35964
36160
  capScope: "system",
@@ -36085,6 +36281,12 @@ Object.freeze({
36085
36281
  addonId: null,
36086
36282
  access: "view"
36087
36283
  },
36284
+ "sceneMonitor.listScenesBatch": {
36285
+ capName: "scene-monitor",
36286
+ capScope: "device",
36287
+ addonId: null,
36288
+ access: "view"
36289
+ },
36088
36290
  "sceneMonitor.recheckNow": {
36089
36291
  capName: "scene-monitor",
36090
36292
  capScope: "device",
@@ -37441,6 +37643,12 @@ Object.freeze({
37441
37643
  addonId: null,
37442
37644
  access: "view"
37443
37645
  },
37646
+ "zoneAnalytics.getCurrentSnapshotBatch": {
37647
+ capName: "zone-analytics",
37648
+ capScope: "device",
37649
+ addonId: null,
37650
+ access: "view"
37651
+ },
37444
37652
  "zoneAnalytics.getUnzonedHistory": {
37445
37653
  capName: "zone-analytics",
37446
37654
  capScope: "device",
@@ -38445,6 +38653,11 @@ Object.freeze({
38445
38653
  form: "single",
38446
38654
  optional: false
38447
38655
  }],
38656
+ "pipelineAnalytics.getKeyEventsBatch": [{
38657
+ name: "deviceIds",
38658
+ form: "array",
38659
+ optional: false
38660
+ }],
38448
38661
  "pipelineAnalytics.getMotionEvents": [{
38449
38662
  name: "deviceId",
38450
38663
  form: "single",
@@ -38885,6 +39098,11 @@ Object.freeze({
38885
39098
  form: "single",
38886
39099
  optional: false
38887
39100
  }],
39101
+ "recording.reconcileLedgerAgainstDisk": [{
39102
+ name: "deviceId",
39103
+ form: "single",
39104
+ optional: true
39105
+ }],
38888
39106
  "recording.relocateFootage": [{
38889
39107
  name: "deviceId",
38890
39108
  form: "single",
@@ -38950,6 +39168,11 @@ Object.freeze({
38950
39168
  form: "single",
38951
39169
  optional: false
38952
39170
  }],
39171
+ "sceneMonitor.listScenesBatch": [{
39172
+ name: "deviceIds",
39173
+ form: "array",
39174
+ optional: false
39175
+ }],
38953
39176
  "sceneMonitor.recheckNow": [{
38954
39177
  name: "deviceId",
38955
39178
  form: "single",
@@ -39211,6 +39434,11 @@ Object.freeze({
39211
39434
  form: "single",
39212
39435
  optional: false
39213
39436
  }],
39437
+ "zoneAnalytics.getCurrentSnapshotBatch": [{
39438
+ name: "deviceIds",
39439
+ form: "array",
39440
+ optional: false
39441
+ }],
39214
39442
  "zoneAnalytics.getUnzonedHistory": [{
39215
39443
  name: "deviceId",
39216
39444
  form: "single",
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CNyaLgDE.js");
1
+ const require_dist = require("./dist-CmrtJ8RB.js");
2
2
  let node_path = require("node:path");
3
3
  node_path = require_dist.__toESM(node_path);
4
4
  let node_url = require("node:url");
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CNyaLgDE.js");
1
+ const require_dist = require("./dist-CmrtJ8RB.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
4
  var HF_REPO = "camstack/camstack-models";
@@ -1,4 +1,4 @@
1
- import { M as audioKindId, Z as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-B3LRtscY.mjs";
1
+ import { M as audioKindId, Z as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-CBRky_dz.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
4
  var HF_REPO = "camstack/camstack-models";
@@ -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-CNyaLgDE.js");
6
- const require_lazy_sharp = require("../lazy-sharp-BtcZ-K2I.js");
5
+ const require_dist = require("../dist-CmrtJ8RB.js");
6
+ const require_lazy_sharp = require("../lazy-sharp-BODx7w1t.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");
9
9
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -1,4 +1,4 @@
1
- import { It as hydrateSchema, Pt as DeviceType, Y as evaluateZoneRules, it as motionDetectionCapability, jt as BaseAddon } from "../dist-B3LRtscY.mjs";
1
+ import { It as hydrateSchema, Pt as DeviceType, Y as evaluateZoneRules, it as motionDetectionCapability, jt as BaseAddon } from "../dist-CBRky_dz.mjs";
2
2
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CNyaLgDE.js");
1
+ const require_dist = require("./dist-CmrtJ8RB.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  let node_fs = require("node:fs");
4
4
  node_fs = require_dist.__toESM(node_fs, 1);
@@ -1,4 +1,4 @@
1
- import { Dt as buildFfmpegArgs, Et as Fmp4BoxSplitter, kt as isSoftwareDecode, wt as errMsg } from "./dist-B3LRtscY.mjs";
1
+ import { Dt as buildFfmpegArgs, Et as Fmp4BoxSplitter, kt as isSoftwareDecode, wt as errMsg } from "./dist-CBRky_dz.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import "node:fs";
4
4
  import "node:path";
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CNyaLgDE.js");
6
- const require_node = require("../node-Ctiow9ZV.js");
7
- const require_local_frame_registry = require("../local-frame-registry-TkoMo5_E.js");
8
- const require_worker_protocol = require("../worker-protocol-DOFTntiF.js");
5
+ const require_dist = require("../dist-CmrtJ8RB.js");
6
+ const require_node = require("../node-BSeMUwxJ.js");
7
+ const require_local_frame_registry = require("../local-frame-registry-BRG0GTmK.js");
8
+ const require_worker_protocol = require("../worker-protocol-S2nAdf6B.js");
9
9
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
10
- const require_lazy_sharp = require("../lazy-sharp-BtcZ-K2I.js");
10
+ const require_lazy_sharp = require("../lazy-sharp-BODx7w1t.js");
11
11
  const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
12
12
  const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
13
13
  const require_remote_restream = require("../remote-restream-CO36Sr30.js");
@@ -1,7 +1,7 @@
1
- import { B as defineCustomActions, Bt as nodePin, Ft as createEvent, Gt as _enum, H as deriveDetailCropRect, Kt as array, L as customAction, Qt as object, X as failureContributionCapability, Xt as literal, Yt as lazy, Zt as number, _ as FailureCounters, en as string, et as loadContributionCapability, ft as pipelineRunnerCapability, jt as BaseAddon, lt as pickDetailCropConvention, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, p as DEFAULT_NATIVE_LEASE_SETTINGS, qt as boolean, u as DEFAULT_DETAIL_CROP_CONVENTION, ut as pickNativeLeaseOverride, wt as errMsg } from "../dist-B3LRtscY.mjs";
2
- import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-CtIkY7To.mjs";
3
- import { c as getStepDefinition, n as resolveFrameViewGeometry, t as localFrameRegistry } from "../local-frame-registry-C5pZ5QSM.mjs";
4
- import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-DlDGOO8p.mjs";
1
+ import { B as defineCustomActions, Bt as nodePin, Ft as createEvent, Gt as _enum, H as deriveDetailCropRect, Kt as array, L as customAction, Qt as object, X as failureContributionCapability, Xt as literal, Yt as lazy, Zt as number, _ as FailureCounters, en as string, et as loadContributionCapability, ft as pipelineRunnerCapability, jt as BaseAddon, lt as pickDetailCropConvention, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, p as DEFAULT_NATIVE_LEASE_SETTINGS, qt as boolean, u as DEFAULT_DETAIL_CROP_CONVENTION, ut as pickNativeLeaseOverride, wt as errMsg } from "../dist-CBRky_dz.mjs";
2
+ import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-CQzPpwIR.mjs";
3
+ import { c as getStepDefinition, n as resolveFrameViewGeometry, t as localFrameRegistry } from "../local-frame-registry-ByKcWWPU.mjs";
4
+ import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-C7jOjCsc.mjs";
5
5
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
6
6
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
7
7
  import { n as withDetectionIntent } from "../restream-intent-B4BXZra7.mjs";
@@ -1,4 +1,4 @@
1
- import { ot as parseProcStatus } from "./dist-B3LRtscY.mjs";
1
+ import { ot as parseProcStatus } from "./dist-CBRky_dz.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import { execFile } from "node:child_process";
4
4
  //#region src/shared/node-topology-platform.ts
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CNyaLgDE.js");
1
+ const require_dist = require("./dist-CmrtJ8RB.js");
2
2
  let node_fs = require("node:fs");
3
3
  node_fs = require_dist.__toESM(node_fs);
4
4
  let node_child_process = require("node:child_process");