@camstack/addon-pipeline 1.2.88 → 1.2.90

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 (28) hide show
  1. package/dist/{addon-utils-B8tPjc8F.js → addon-utils-yc-chXuC.js} +1 -1
  2. package/dist/audio-analyzer/index.js +2 -2
  3. package/dist/audio-analyzer/index.mjs +1 -1
  4. package/dist/detection-pipeline/index.js +4 -4
  5. package/dist/detection-pipeline/index.mjs +2 -2
  6. package/dist/{dist-DCnOL8bz.mjs → dist-BJYwWEZ9.mjs} +54 -11
  7. package/dist/{dist-CMHxEH6s.js → dist-n4Nbnxx5.js} +54 -11
  8. package/dist/{event-loop-stall-monitor-BLJ0S3w2.mjs → event-loop-stall-monitor-BiPffk0D.mjs} +1 -1
  9. package/dist/{event-loop-stall-monitor-asYJVMb1.js → event-loop-stall-monitor-DG7QY00k.js} +1 -1
  10. package/dist/{lazy-sharp-1s0ymn1V.js → lazy-sharp-EoSOHgoj.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/recorder/index.js +735 -67
  16. package/dist/recorder/index.mjs +734 -66
  17. package/dist/session-decode/decode-worker-child.js +2 -2
  18. package/dist/session-decode/decode-worker-child.mjs +1 -1
  19. package/dist/stream-broker/_stub.js +1 -1
  20. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BeSS5V2H.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CsrMZYLB.mjs} +1 -1
  21. package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B2scqOH7.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DNSELPGi.mjs} +1 -1
  22. package/dist/stream-broker/{hostInit-BC9QIyzJ.mjs → hostInit-DoFovQmc.mjs} +1 -1
  23. package/dist/stream-broker/index.js +3 -2
  24. package/dist/stream-broker/index.mjs +3 -2
  25. package/dist/stream-broker/remoteEntry.js +1 -1
  26. package/dist/{worker-protocol-BzvA7rx4.js → worker-protocol-DjuxhGo3.js} +1 -1
  27. package/dist/{worker-protocol-CBTyzyds.mjs → worker-protocol-XZ1e36rM.mjs} +1 -1
  28. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CMHxEH6s.js");
1
+ const require_dist = require("./dist-n4Nbnxx5.js");
2
2
  require("node:crypto");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path, 1);
@@ -2,9 +2,9 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CMHxEH6s.js");
5
+ const require_dist = require("../dist-n4Nbnxx5.js");
6
6
  const require_node_topology_platform = require("../node-topology-platform-CFZ7F4xW.js");
7
- const require_addon_utils = require("../addon-utils-B8tPjc8F.js");
7
+ const require_addon_utils = require("../addon-utils-yc-chXuC.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_dist.__toESM(node_path);
10
10
  let node_fs = require("node:fs");
@@ -1,5 +1,5 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { D as audioAnalyzerCapability, E as audioAnalysisCapability, U as mapAudioLabelToMacro, h as HF_BASE_URL, ht as hydrateSchema, it as errMsg, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, ut as BaseAddon } from "../dist-DCnOL8bz.mjs";
2
+ import { D as audioAnalyzerCapability, E as audioAnalysisCapability, U as mapAudioLabelToMacro, h as HF_BASE_URL, ht as hydrateSchema, it as errMsg, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, ut as BaseAddon } from "../dist-BJYwWEZ9.mjs";
3
3
  import { t as pickNodePlatformArch } from "../node-topology-platform-BkR_k6WT.mjs";
4
4
  import { i as downloadFile } from "../addon-utils-A2S9D7pu.mjs";
5
5
  import * as path$1 from "node:path";
@@ -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-CMHxEH6s.js");
6
- const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-asYJVMb1.js");
7
- const require_lazy_sharp = require("../lazy-sharp-1s0ymn1V.js");
5
+ const require_dist = require("../dist-n4Nbnxx5.js");
6
+ const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DG7QY00k.js");
7
+ const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.js");
8
8
  const require_node_topology_platform = require("../node-topology-platform-CFZ7F4xW.js");
9
- const require_addon_utils = require("../addon-utils-B8tPjc8F.js");
9
+ const require_addon_utils = require("../addon-utils-yc-chXuC.js");
10
10
  let sharp = require("sharp");
11
11
  sharp = require_dist.__toESM(sharp);
12
12
  let node_child_process = require("node:child_process");
@@ -1,6 +1,6 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $ as runtimeDevices$1, B as enumerateInferenceDevices, Ct as sleep, Ft as EventCategory, J as pipelineExecutorCapability, L as detectionPipelineCapability, M as defaultDeviceFor$1, Nt as string, Pt as union, Tt as array, V as evaluateZoneRules, bt as parseJsonUnknown, d as DEVICE_BACKEND_TO_FORMAT, ht as hydrateSchema, it as errMsg, jt as object, mt as createEvent, nt as supportedRuntimes$1, t as APPLE_SA_TO_MACRO, ut as BaseAddon, w as YAMNET_TO_MACRO, yt as nodePin } from "../dist-DCnOL8bz.mjs";
3
- import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, n as startEventLoopStallMonitor, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep } from "../event-loop-stall-monitor-BLJ0S3w2.mjs";
2
+ import { $ as runtimeDevices$1, B as enumerateInferenceDevices, Ct as sleep, Ft as EventCategory, J as pipelineExecutorCapability, L as detectionPipelineCapability, M as defaultDeviceFor$1, Nt as string, Pt as union, Tt as array, V as evaluateZoneRules, bt as parseJsonUnknown, d as DEVICE_BACKEND_TO_FORMAT, ht as hydrateSchema, it as errMsg, jt as object, mt as createEvent, nt as supportedRuntimes$1, t as APPLE_SA_TO_MACRO, ut as BaseAddon, w as YAMNET_TO_MACRO, yt as nodePin } from "../dist-BJYwWEZ9.mjs";
3
+ import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, n as startEventLoopStallMonitor, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep } from "../event-loop-stall-monitor-BiPffk0D.mjs";
4
4
  import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
5
5
  import { t as pickNodePlatformArch } from "../node-topology-platform-BkR_k6WT.mjs";
6
6
  import { a as ensureModel, o as isModelDownloaded, r as deleteModelFromDisk } from "../addon-utils-A2S9D7pu.mjs";
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- //#region ../types/dist/event-category-Bxo5yJjt.mjs
2
+ //#region ../types/dist/event-category-C0lyLd5U.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -16,9 +16,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
16
16
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
17
17
  /**
18
18
  * A newer addon or server-root package version was found by the
19
- * authoritative registry check. Emitted once per
20
- * `(target, packageName, currentVersion, latestVersion)` transition; repeated
21
- * polling of the same result is deduplicated by the checker.
19
+ * authoritative registry check. Emitted once when any observed
20
+ * `latestVersion` changes (or a package/node first appears behind);
21
+ * the payload carries the full currently-available list. Repeated
22
+ * polling of the same latests is silent.
22
23
  */
23
24
  EventCategory["UpdateAvailable"] = "update.available";
24
25
  /**
@@ -8536,6 +8537,7 @@ var DEFAULT_EVENTS_BAND_BUFFER_SEC = {
8536
8537
  preBufferSec: 10,
8537
8538
  postBufferSec: 30
8538
8539
  };
8540
+ DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
8539
8541
  /**
8540
8542
  * Per-device retention overrides. Every field is optional; an unset or `0`
8541
8543
  * value inherits the node-wide recorder default. Only footage-lifetime limits
@@ -16042,6 +16044,9 @@ var NcSystemEventKindSchema = _enum([
16042
16044
  "alarm-disarmed",
16043
16045
  "alarm-arming",
16044
16046
  "alarm-arm-refused",
16047
+ "addon-updated",
16048
+ "server-updated",
16049
+ "export-completed",
16045
16050
  "camera-online",
16046
16051
  "camera-offline",
16047
16052
  "camera-disabled",
@@ -17935,13 +17940,19 @@ var RetrainStatusSchema = _enum([
17935
17940
  * "never marked" from "already trained" must read `retrainStatus`.
17936
17941
  *
17937
17942
  * `debug` does NOT pin; it is attention, not durability.
17943
+ *
17944
+ * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
17945
+ * A favourited track is skipped by retention the same way `staging` is, but
17946
+ * it does not enter `none|staging|trained` and has no staging budget.
17938
17947
  */
17939
17948
  var TrackFlagFields = {
17940
17949
  /** Operator marked this track as training material — i.e. `retrainStatus` is
17941
17950
  * `'staging'`. */
17942
17951
  markForTrain: boolean().optional(),
17943
17952
  /** Operator marked this track for diagnostic attention. */
17944
- debug: boolean().optional()
17953
+ debug: boolean().optional(),
17954
+ /** Operator favourited this track. Pins it against pruning. */
17955
+ favourited: boolean().optional()
17945
17956
  };
17946
17957
  /**
17947
17958
  * The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
@@ -17966,6 +17977,7 @@ var TrackFlagsSchema = object({
17966
17977
  trackId: string(),
17967
17978
  markForTrain: boolean(),
17968
17979
  debug: boolean(),
17980
+ favourited: boolean(),
17969
17981
  /** The lifecycle state the boolean was derived from. Required here (unlike on
17970
17982
  * a track row) because this shape is only ever produced by the write body,
17971
17983
  * which always knows it — and a surface that has just written needs to render
@@ -21927,8 +21939,28 @@ var ClipSchema = object({
21927
21939
  startMs: number(),
21928
21940
  endMs: number()
21929
21941
  }),
21930
- /** Thumbnail URL (lazy; e.g. analytics `getEventMedia`). Never inlined. */
21931
- thumbnail: string().optional()
21942
+ /**
21943
+ * Lazy thumbnail URL, never inlined.
21944
+ *
21945
+ * Recording-derived clips (events-mode keep-window, and the prepared
21946
+ * continuous event+fragment visit) MUST use the snapshot of the **main
21947
+ * event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
21948
+ * of the event that owns `kind` (object > motion > audio). Do not extract
21949
+ * a keyframe from the recorded segments. Other providers (onboard, HKSV)
21950
+ * mint their own stills.
21951
+ */
21952
+ thumbnail: string().optional(),
21953
+ /** Analytics event ids that overlap this visit. Empty on footage-only clips.
21954
+ * The default provider's visit grain puts many motion heartbeats on one clip
21955
+ * instead of minting one clip per marker. */
21956
+ eventIds: array(string()).optional(),
21957
+ /** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
21958
+ * than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
21959
+ * bar keeps showing them via `recording.getAvailability`. */
21960
+ holes: array(object({
21961
+ startMs: number(),
21962
+ endMs: number()
21963
+ })).optional()
21932
21964
  });
21933
21965
  var ClipPlaybackSchema = object({
21934
21966
  /** HLS master URL through the hub data-plane (Range + token in path). */
@@ -26771,7 +26803,9 @@ var ExportOptionsSchema = object({
26771
26803
  includeAudio: boolean(),
26772
26804
  maxLifeMs: number().int().positive(),
26773
26805
  deleteAfterDownload: boolean(),
26774
- title: string().max(200).optional()
26806
+ title: string().max(200).optional(),
26807
+ /** Notification-output target ids to ping when this export becomes ready. */
26808
+ notifyTargetIds: array(string().min(1)).max(20).optional()
26775
26809
  }).superRefine((v, ctx) => {
26776
26810
  if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
26777
26811
  code: ZodIssueCode.custom,
@@ -26852,14 +26886,23 @@ var recordingExportCapability = {
26852
26886
  scope: "system",
26853
26887
  mode: "singleton",
26854
26888
  methods: {
26855
- /** Queue a render of `[fromMs,toMs)` for `deviceId`/`profile`. Fails fast
26856
- * when no footage covers the range. Returns the queued record. */
26889
+ /** Queue a render of `[fromMs,toMs)` for `deviceId`/`profiles` (legacy
26890
+ * singular `profile` still accepted). Fails fast when no footage covers
26891
+ * the range. One job per profile; returns the first queued record. */
26857
26892
  createExport: method(object({
26858
26893
  deviceId: number(),
26859
- profile: string(),
26894
+ /** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
26895
+ profile: string().optional(),
26896
+ profiles: array(string()).min(1).optional(),
26860
26897
  fromMs: number(),
26861
26898
  toMs: number(),
26862
26899
  options: ExportOptionsSchema
26900
+ }).superRefine((v, ctx) => {
26901
+ if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
26902
+ code: ZodIssueCode.custom,
26903
+ message: "pass profiles[] (min 1) or legacy profile",
26904
+ path: ["profiles"]
26905
+ });
26863
26906
  }), ExportRecordSchema, {
26864
26907
  kind: "mutation",
26865
26908
  auth: "protected"
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  }) : target, mod));
23
23
  //#endregion
24
24
  let node_crypto = require("node:crypto");
25
- //#region ../types/dist/event-category-Bxo5yJjt.mjs
25
+ //#region ../types/dist/event-category-C0lyLd5U.mjs
26
26
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
27
27
  EventCategory["SystemBoot"] = "system.boot";
28
28
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -39,9 +39,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
39
39
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
40
40
  /**
41
41
  * A newer addon or server-root package version was found by the
42
- * authoritative registry check. Emitted once per
43
- * `(target, packageName, currentVersion, latestVersion)` transition; repeated
44
- * polling of the same result is deduplicated by the checker.
42
+ * authoritative registry check. Emitted once when any observed
43
+ * `latestVersion` changes (or a package/node first appears behind);
44
+ * the payload carries the full currently-available list. Repeated
45
+ * polling of the same latests is silent.
45
46
  */
46
47
  EventCategory["UpdateAvailable"] = "update.available";
47
48
  /**
@@ -8559,6 +8560,7 @@ var DEFAULT_EVENTS_BAND_BUFFER_SEC = {
8559
8560
  preBufferSec: 10,
8560
8561
  postBufferSec: 30
8561
8562
  };
8563
+ DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
8562
8564
  /**
8563
8565
  * Per-device retention overrides. Every field is optional; an unset or `0`
8564
8566
  * value inherits the node-wide recorder default. Only footage-lifetime limits
@@ -16065,6 +16067,9 @@ var NcSystemEventKindSchema = _enum([
16065
16067
  "alarm-disarmed",
16066
16068
  "alarm-arming",
16067
16069
  "alarm-arm-refused",
16070
+ "addon-updated",
16071
+ "server-updated",
16072
+ "export-completed",
16068
16073
  "camera-online",
16069
16074
  "camera-offline",
16070
16075
  "camera-disabled",
@@ -17958,13 +17963,19 @@ var RetrainStatusSchema = _enum([
17958
17963
  * "never marked" from "already trained" must read `retrainStatus`.
17959
17964
  *
17960
17965
  * `debug` does NOT pin; it is attention, not durability.
17966
+ *
17967
+ * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
17968
+ * A favourited track is skipped by retention the same way `staging` is, but
17969
+ * it does not enter `none|staging|trained` and has no staging budget.
17961
17970
  */
17962
17971
  var TrackFlagFields = {
17963
17972
  /** Operator marked this track as training material — i.e. `retrainStatus` is
17964
17973
  * `'staging'`. */
17965
17974
  markForTrain: boolean().optional(),
17966
17975
  /** Operator marked this track for diagnostic attention. */
17967
- debug: boolean().optional()
17976
+ debug: boolean().optional(),
17977
+ /** Operator favourited this track. Pins it against pruning. */
17978
+ favourited: boolean().optional()
17968
17979
  };
17969
17980
  /**
17970
17981
  * The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
@@ -17989,6 +18000,7 @@ var TrackFlagsSchema = object({
17989
18000
  trackId: string(),
17990
18001
  markForTrain: boolean(),
17991
18002
  debug: boolean(),
18003
+ favourited: boolean(),
17992
18004
  /** The lifecycle state the boolean was derived from. Required here (unlike on
17993
18005
  * a track row) because this shape is only ever produced by the write body,
17994
18006
  * which always knows it — and a surface that has just written needs to render
@@ -21950,8 +21962,28 @@ var ClipSchema = object({
21950
21962
  startMs: number(),
21951
21963
  endMs: number()
21952
21964
  }),
21953
- /** Thumbnail URL (lazy; e.g. analytics `getEventMedia`). Never inlined. */
21954
- thumbnail: string().optional()
21965
+ /**
21966
+ * Lazy thumbnail URL, never inlined.
21967
+ *
21968
+ * Recording-derived clips (events-mode keep-window, and the prepared
21969
+ * continuous event+fragment visit) MUST use the snapshot of the **main
21970
+ * event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
21971
+ * of the event that owns `kind` (object > motion > audio). Do not extract
21972
+ * a keyframe from the recorded segments. Other providers (onboard, HKSV)
21973
+ * mint their own stills.
21974
+ */
21975
+ thumbnail: string().optional(),
21976
+ /** Analytics event ids that overlap this visit. Empty on footage-only clips.
21977
+ * The default provider's visit grain puts many motion heartbeats on one clip
21978
+ * instead of minting one clip per marker. */
21979
+ eventIds: array(string()).optional(),
21980
+ /** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
21981
+ * than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
21982
+ * bar keeps showing them via `recording.getAvailability`. */
21983
+ holes: array(object({
21984
+ startMs: number(),
21985
+ endMs: number()
21986
+ })).optional()
21955
21987
  });
21956
21988
  var ClipPlaybackSchema = object({
21957
21989
  /** HLS master URL through the hub data-plane (Range + token in path). */
@@ -26794,7 +26826,9 @@ var ExportOptionsSchema = object({
26794
26826
  includeAudio: boolean(),
26795
26827
  maxLifeMs: number().int().positive(),
26796
26828
  deleteAfterDownload: boolean(),
26797
- title: string().max(200).optional()
26829
+ title: string().max(200).optional(),
26830
+ /** Notification-output target ids to ping when this export becomes ready. */
26831
+ notifyTargetIds: array(string().min(1)).max(20).optional()
26798
26832
  }).superRefine((v, ctx) => {
26799
26833
  if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
26800
26834
  code: ZodIssueCode.custom,
@@ -26875,14 +26909,23 @@ var recordingExportCapability = {
26875
26909
  scope: "system",
26876
26910
  mode: "singleton",
26877
26911
  methods: {
26878
- /** Queue a render of `[fromMs,toMs)` for `deviceId`/`profile`. Fails fast
26879
- * when no footage covers the range. Returns the queued record. */
26912
+ /** Queue a render of `[fromMs,toMs)` for `deviceId`/`profiles` (legacy
26913
+ * singular `profile` still accepted). Fails fast when no footage covers
26914
+ * the range. One job per profile; returns the first queued record. */
26880
26915
  createExport: method(object({
26881
26916
  deviceId: number(),
26882
- profile: string(),
26917
+ /** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
26918
+ profile: string().optional(),
26919
+ profiles: array(string()).min(1).optional(),
26883
26920
  fromMs: number(),
26884
26921
  toMs: number(),
26885
26922
  options: ExportOptionsSchema
26923
+ }).superRefine((v, ctx) => {
26924
+ if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
26925
+ code: ZodIssueCode.custom,
26926
+ message: "pass profiles[] (min 1) or legacy profile",
26927
+ path: ["profiles"]
26928
+ });
26886
26929
  }), ExportRecordSchema, {
26887
26930
  kind: "mutation",
26888
26931
  auth: "protected"
@@ -1,4 +1,4 @@
1
- import { H as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-DCnOL8bz.mjs";
1
+ import { H as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-BJYwWEZ9.mjs";
2
2
  import { PerformanceObserver } from "node:perf_hooks";
3
3
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
4
  var HF_REPO = "camstack/camstack-models";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CMHxEH6s.js");
1
+ const require_dist = require("./dist-n4Nbnxx5.js");
2
2
  let node_perf_hooks = require("node:perf_hooks");
3
3
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
4
  var HF_REPO = "camstack/camstack-models";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CMHxEH6s.js");
1
+ const require_dist = require("./dist-n4Nbnxx5.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-CMHxEH6s.js");
6
- const require_lazy_sharp = require("../lazy-sharp-1s0ymn1V.js");
5
+ const require_dist = require("../dist-n4Nbnxx5.js");
6
+ const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.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 { G as motionDetectionCapability, V as evaluateZoneRules, ht as hydrateSchema, pt as DeviceType, ut as BaseAddon } from "../dist-DCnOL8bz.mjs";
1
+ import { G as motionDetectionCapability, V as evaluateZoneRules, ht as hydrateSchema, pt as DeviceType, ut as BaseAddon } from "../dist-BJYwWEZ9.mjs";
2
2
  import { t as getSharp } from "../lazy-sharp-6oymT_yf.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-CMHxEH6s.js");
6
- const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-asYJVMb1.js");
7
- const require_worker_protocol = require("../worker-protocol-BzvA7rx4.js");
5
+ const require_dist = require("../dist-n4Nbnxx5.js");
6
+ const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DG7QY00k.js");
7
+ const require_worker_protocol = require("../worker-protocol-DjuxhGo3.js");
8
8
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
9
- const require_lazy_sharp = require("../lazy-sharp-1s0ymn1V.js");
9
+ const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.js");
10
10
  const require_remote_restream = require("../remote-restream-BYbAsgUf.js");
11
11
  let sharp = require("sharp");
12
12
  sharp = require_dist.__toESM(sharp);
@@ -1,6 +1,6 @@
1
- import { At as number, Et as boolean, F as deriveDetailCropRect, Ft as EventCategory, K as pickDetailCropConvention, N as defineCustomActions, Nt as string, Ot as lazy, Tt as array, Y as pipelineRunnerCapability, c as DEFAULT_DETAIL_CROP_CONVENTION, d as DEVICE_BACKEND_TO_FORMAT, it as errMsg, j as customAction, jt as object, kt as literal, mt as createEvent, q as pickNativeLeaseOverride, ut as BaseAddon, wt as _enum, yt as nodePin } from "../dist-DCnOL8bz.mjs";
2
- import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-BLJ0S3w2.mjs";
3
- import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-CBTyzyds.mjs";
1
+ import { At as number, Et as boolean, F as deriveDetailCropRect, Ft as EventCategory, K as pickDetailCropConvention, N as defineCustomActions, Nt as string, Ot as lazy, Tt as array, Y as pipelineRunnerCapability, c as DEFAULT_DETAIL_CROP_CONVENTION, d as DEVICE_BACKEND_TO_FORMAT, it as errMsg, j as customAction, jt as object, kt as literal, mt as createEvent, q as pickNativeLeaseOverride, ut as BaseAddon, wt as _enum, yt as nodePin } from "../dist-BJYwWEZ9.mjs";
2
+ import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-BiPffk0D.mjs";
3
+ import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-XZ1e36rM.mjs";
4
4
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
6
6
  import { i as withDetectionIntent, n as profileForStreamId, t as isRemoteRestream } from "../remote-restream-Ci7RXNGb.mjs";