@camstack/addon-pipeline 1.2.306 → 1.2.307

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 (30) hide show
  1. package/dist/audio-analyzer/index.js +2 -2
  2. package/dist/audio-analyzer/index.mjs +2 -2
  3. package/dist/{default-detection-model-CmdkU7Ik.mjs → default-detection-model-BV9bIuOo.mjs} +1 -1
  4. package/dist/{default-detection-model-CeYzI_ws.js → default-detection-model-DgdiQtQb.js} +1 -1
  5. package/dist/detection-pipeline/index.js +4 -4
  6. package/dist/detection-pipeline/index.mjs +4 -4
  7. package/dist/{dist-C2GsZSso.js → dist-CyJWk-_f.js} +117 -0
  8. package/dist/{dist-B0mdAGsn.mjs → dist-DdVMFlJ6.mjs} +100 -1
  9. package/dist/motion-wasm/index.js +1 -1
  10. package/dist/motion-wasm/index.mjs +1 -1
  11. package/dist/{node-C4FxPOmq.mjs → node-COu_tHy4.mjs} +1 -1
  12. package/dist/{node-DA9sHeo7.js → node-HsWG5fGp.js} +1 -1
  13. package/dist/pipeline-runner/index.js +3 -3
  14. package/dist/pipeline-runner/index.mjs +3 -3
  15. package/dist/{process-memory-DtcP6dwa.mjs → process-memory-Bz3oIMzl.mjs} +1 -1
  16. package/dist/{process-memory-CT7jffcr.js → process-memory-TQXG7qrJ.js} +1 -1
  17. package/dist/recorder/index.js +2 -2
  18. package/dist/recorder/index.mjs +2 -2
  19. package/dist/{segment-demux-js-C6Z9t7EK.js → segment-demux-js-BrKa7tpr.js} +1 -1
  20. package/dist/{segment-demux-js-CDDu7U5-.mjs → segment-demux-js-CEJn4BR0.mjs} +1 -1
  21. package/dist/stream-broker/_stub.js +1 -1
  22. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BRWrphBU.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DdYUVQSA.mjs} +1 -1
  23. package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DKNdMa3E.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DPHv0v3Q.mjs} +1 -1
  24. package/dist/stream-broker/demux-worker-child.js +1 -1
  25. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  26. package/dist/stream-broker/{hostInit-CdU3jJMF.mjs → hostInit-D--a9rVM.mjs} +1 -1
  27. package/dist/stream-broker/index.js +100 -151
  28. package/dist/stream-broker/index.mjs +97 -148
  29. package/dist/stream-broker/remoteEntry.js +1 -1
  30. package/package.json +1 -1
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-C2GsZSso.js");
7
- const require_process_memory = require("../process-memory-CT7jffcr.js");
6
+ const require_dist = require("../dist-CyJWk-_f.js");
7
+ const require_process_memory = require("../process-memory-TQXG7qrJ.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_path = require("node:path");
@@ -1,6 +1,6 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { A as PoolMemoryWatchdog, Rn as EventCategory, T as HF_BASE_URL, U as audioAnalysisCapability, Vt as resolvePoolMemoryPolicy, W as audioAnalyzerCapability, _n as hydrateSchema, fn as audioChunkBytesPerSample, gn as expandAudioChunkToF32le, ln as BaseAddon, n as AUDIO_BACKEND_CHOICES, p as DEFAULT_AUDIO_ANALYZER_CONFIG, sn as errMsg, vt as mapAudioLabelToMacro, xn as nodePin } from "../dist-B0mdAGsn.mjs";
3
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DtcP6dwa.mjs";
2
+ import { A as PoolMemoryWatchdog, T as HF_BASE_URL, U as audioAnalysisCapability, Vn as EventCategory, W as audioAnalyzerCapability, Wt as resolvePoolMemoryPolicy, bn as hydrateSchema, fn as BaseAddon, hn as audioChunkBytesPerSample, n as AUDIO_BACKEND_CHOICES, p as DEFAULT_AUDIO_ANALYZER_CONFIG, un as errMsg, wn as nodePin, xt as mapAudioLabelToMacro, yn as expandAudioChunkToF32le } from "../dist-DdVMFlJ6.mjs";
3
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-Bz3oIMzl.mjs";
4
4
  import * as fs from "node:fs";
5
5
  import * as path$1 from "node:path";
6
6
  import { downloadFile } from "@camstack/system/addon-utils";
@@ -1,4 +1,4 @@
1
- import { G as audioKindId, Wt as stepModelRunsOnFormat, d as COCO_80_LABELS, f as COCO_TO_MACRO, mt as inferModelProvider, pt as hfModelUrl, r as AUDIO_MACRO_LABELS, v as DEVICE_BACKEND_TO_FORMAT } from "./dist-B0mdAGsn.mjs";
1
+ import { G as audioKindId, _t as inferModelProvider, d as COCO_80_LABELS, f as COCO_TO_MACRO, gt as hfModelUrl, qt as stepModelRunsOnFormat, r as AUDIO_MACRO_LABELS, v as DEVICE_BACKEND_TO_FORMAT } from "./dist-DdVMFlJ6.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region src/detection-pipeline/registry/effective-confidence.ts
4
4
  /** The default in force: the model's own floor, else the step's. */
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-C2GsZSso.js");
1
+ const require_dist = require("./dist-CyJWk-_f.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/detection-pipeline/registry/effective-confidence.ts
4
4
  /** The default in force: the model's own floor, else the step's. */
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-C2GsZSso.js");
7
- const require_node = require("../node-DA9sHeo7.js");
8
- const require_default_detection_model = require("../default-detection-model-CeYzI_ws.js");
6
+ const require_dist = require("../dist-CyJWk-_f.js");
7
+ const require_node = require("../node-HsWG5fGp.js");
8
+ const require_default_detection_model = require("../default-detection-model-DgdiQtQb.js");
9
9
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
10
- const require_process_memory = require("../process-memory-CT7jffcr.js");
10
+ const require_process_memory = require("../process-memory-TQXG7qrJ.js");
11
11
  let node_os = require("node:os");
12
12
  node_os = require_chunk.__toESM(node_os);
13
13
  let node_fs = require("node:fs");
@@ -1,9 +1,9 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $ as defaultDeviceFor$1, A as PoolMemoryWatchdog, At as pipelineExecutorCapability, Dn as array, Dt as pickClusterStepSettings, In as string, Ln as union, Lt as resolveClusterStepModelId, Nn as object, Rn as EventCategory, Sn as parseJsonUnknown, Tn as sleep, Tt as overlayClusterStepSettings, Ut as runtimeDevices$1, V as YAMNET_TO_MACRO, Vt as resolvePoolMemoryPolicy, Wt as stepModelRunsOnFormat, Yt as supportedRuntimes$1, _n as hydrateSchema, gt as loadContributionCapability, ln as BaseAddon, m as DEFAULT_CLUSTER_STEP_SETTINGS, ot as enumerateInferenceDevices, pn as createEvent, rt as detectionPipelineCapability, sn as errMsg, st as evaluateZoneRules, t as APPLE_SA_TO_MACRO, u as CLUSTER_MODEL_SCOPED_STEPS, v as DEVICE_BACKEND_TO_FORMAT, xn as nodePin } from "../dist-B0mdAGsn.mjs";
3
- import { s as readProcessCost } from "../node-C4FxPOmq.mjs";
4
- import { _ as resolveModelForFormat, a as buildSubtreeCanRun, b as resolveModelDefaultConfidence, c as macroGateVerdict, f as ALL_PIPELINE_STEPS, g as getStepDefinition, h as getStep, i as mergeCustomModels, m as getDefaultModelForFormat, n as resolveDefaultDetectionModel, p as ALL_STEPS, r as CustomModelCatalog, u as localFrameRegistry, y as landmarkPrecisionVerdict } from "../default-detection-model-CmdkU7Ik.mjs";
2
+ import { $ as defaultDeviceFor$1, A as PoolMemoryWatchdog, An as array, At as pickClusterStepSettings, Bn as union, Bt as resolveClusterStepModelId, In as object, Kt as runtimeDevices$1, Nt as pipelineExecutorCapability, On as sleep, Ot as overlayClusterStepSettings, Qt as supportedRuntimes$1, Tn as parseJsonUnknown, V as YAMNET_TO_MACRO, Vn as EventCategory, Wt as resolvePoolMemoryPolicy, bn as hydrateSchema, fn as BaseAddon, gn as createEvent, m as DEFAULT_CLUSTER_STEP_SETTINGS, ot as enumerateInferenceDevices, qt as stepModelRunsOnFormat, rt as detectionPipelineCapability, st as evaluateZoneRules, t as APPLE_SA_TO_MACRO, u as CLUSTER_MODEL_SCOPED_STEPS, un as errMsg, v as DEVICE_BACKEND_TO_FORMAT, wn as nodePin, yt as loadContributionCapability, zn as string } from "../dist-DdVMFlJ6.mjs";
3
+ import { s as readProcessCost } from "../node-COu_tHy4.mjs";
4
+ import { _ as resolveModelForFormat, a as buildSubtreeCanRun, b as resolveModelDefaultConfidence, c as macroGateVerdict, f as ALL_PIPELINE_STEPS, g as getStepDefinition, h as getStep, i as mergeCustomModels, m as getDefaultModelForFormat, n as resolveDefaultDetectionModel, p as ALL_STEPS, r as CustomModelCatalog, u as localFrameRegistry, y as landmarkPrecisionVerdict } from "../default-detection-model-BV9bIuOo.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DtcP6dwa.mjs";
6
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-Bz3oIMzl.mjs";
7
7
  import * as os from "node:os";
8
8
  import * as fs from "node:fs";
9
9
  import * as path$1 from "node:path";
@@ -9606,6 +9606,90 @@ async function resolveEgressDecodeHwAccel(deps) {
9606
9606
  return resolved;
9607
9607
  }
9608
9608
  /**
9609
+ * The notification GIF's filter chain and argv — ONE definition for every
9610
+ * process that derives a gif from a notification video.
9611
+ *
9612
+ * ## Why this lives in `@camstack/types`
9613
+ *
9614
+ * Two addons derive a notification gif from an mp4, and they may never import
9615
+ * each other:
9616
+ *
9617
+ * - the stream broker (`addon-pipeline`), from the clip it just cut out of its
9618
+ * own ring (`gif-from-mp4.ts`);
9619
+ * - the notification centre (`addon-post-analysis`), from a clip cut out of
9620
+ * the RECORDINGS when the moment is older than any ring holds
9621
+ * ([D682](../../../../docs/decisions/adr-0682-a-pick-ups-footage-is-cut-around-the-pick-up.md)).
9622
+ *
9623
+ * Two copies of this chain would be two gifs of the same kind of moment that
9624
+ * look different depending on how old the moment was — the class of defect
9625
+ * D85/D91 already paid for once. So the chain is here, pure and dependency
9626
+ * free, and each caller owns only its own process lifecycle.
9627
+ *
9628
+ * ## The palette was never the problem
9629
+ *
9630
+ * The `split` + `palettegen(stats_mode=diff)` + `paletteuse(bayer)` pair is
9631
+ * right and stays. The measured cause of "the gif looks de-pixellated" was a
9632
+ * 640×360 substream scaled DOWN to 480 px, upstream of the palette. The `split`
9633
+ * form is a single READ of the input, not a lesser two-pass.
9634
+ */
9635
+ /**
9636
+ * Format a frame rate for an ffmpeg filter argument.
9637
+ *
9638
+ * `12 / 4` must reach the filter as `3` and `15 / 4` as `3.75`, not as a float
9639
+ * tail that `av_parse_video_rate` then has to guess at.
9640
+ */
9641
+ function ffmpegRate(rate) {
9642
+ return String(Math.round(rate * 1e3) / 1e3);
9643
+ }
9644
+ /**
9645
+ * The factor the derive must apply ON TOP of the speed the mp4 already carries.
9646
+ *
9647
+ * The gif is derived from a muxed mp4, so if that mux already ran `setpts` at
9648
+ * the caller's `speed`, applying the absolute gif rate again would compound
9649
+ * them — a 4× gif beside a 2× video would come out at 8×. Discounting here is
9650
+ * what keeps the gif rate ABSOLUTE against real time whatever the video does.
9651
+ */
9652
+ function gifDeriveSpeed(gifSpeed, videoSpeed) {
9653
+ if (!Number.isFinite(videoSpeed) || videoSpeed <= 0) return gifSpeed;
9654
+ return gifSpeed / videoSpeed;
9655
+ }
9656
+ /**
9657
+ * The filter chain. Extracted so a test can assert the palette pair without
9658
+ * spawning ffmpeg — an argv test cannot see quality, but it can see a filter
9659
+ * that somebody deleted.
9660
+ *
9661
+ * `fps` BEFORE `setpts`: decimating an already sped-up timeline yields `speed`
9662
+ * times the frames asked for, and a gif pays for every one. So the decimation
9663
+ * runs at `fps / speed` in SOURCE time and `setpts` multiplies what survived.
9664
+ * The trailing `fps` re-declares the rate, which is NOT redundant: `setpts`
9665
+ * leaves the filter link advertising the sampled rate and the gif muxer
9666
+ * believes the link — measured on 615 as a 3.01 s gif of ten frames.
9667
+ */
9668
+ function gifFilterComplex(input) {
9669
+ const speed = input.speed > 0 ? input.speed : 1;
9670
+ if (speed === 1) return `[0:v]fps=${ffmpegRate(input.fps)},scale=${input.maxWidth}:-2:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle`;
9671
+ return `[0:v]fps=${ffmpegRate(input.fps / speed)},setpts=PTS/${speed},fps=${ffmpegRate(input.fps)},scale=${input.maxWidth}:-2:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle`;
9672
+ }
9673
+ /** The full argv: mp4 in, gif on stdout. */
9674
+ function gifFromMp4Args(input) {
9675
+ return [
9676
+ "-y",
9677
+ "-v",
9678
+ "error",
9679
+ "-f",
9680
+ "mp4",
9681
+ "-i",
9682
+ input.input ?? "pipe:0",
9683
+ "-filter_complex",
9684
+ gifFilterComplex(input),
9685
+ "-loop",
9686
+ "0",
9687
+ "-f",
9688
+ "gif",
9689
+ "pipe:1"
9690
+ ];
9691
+ }
9692
+ /**
9609
9693
  * The sharing key for `streamBroker.acquireEgressTranscode`.
9610
9694
  *
9611
9695
  * **Two requesters asking for exactly the same argument set reach the same
@@ -24009,6 +24093,21 @@ var ObjectEventSchema = object({
24009
24093
  keyFrameMediaId: number().int().optional(),
24010
24094
  /** Populated by B5 (recording playback URL for this event). */
24011
24095
  mediaUrl: string().optional(),
24096
+ /**
24097
+ * When the change this row records HAPPENED, epoch ms, when that is earlier
24098
+ * than {@link timestamp} and the producer could date it (D684).
24099
+ *
24100
+ * Set on a package PICK-UP row only: its `timestamp` is when the departure
24101
+ * was CONCLUDED — five minutes of unseen observed time after the parcel went
24102
+ * — and a notification's footage has to be cut around the pick-up, not the
24103
+ * empty doormat after it (D682). Stored so every path that rebuilds a
24104
+ * notification subject from the row (the boot reconcile, a dry-run) anchors
24105
+ * on the same instant the live hook did.
24106
+ *
24107
+ * `timestamp` keeps its meaning. Absent on every other row and on every
24108
+ * pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
24109
+ */
24110
+ observedAt: number().optional(),
24012
24111
  /** The parent track's key-event importance [0,1], propagated to every object
24013
24112
  * event of the track (so an event row can be sorted by importance without a
24014
24113
  * track join). Absent on legacy rows / before the track was scored. */
@@ -52655,12 +52754,30 @@ Object.defineProperty(exports, "failureContributionCapability", {
52655
52754
  return failureContributionCapability;
52656
52755
  }
52657
52756
  });
52757
+ Object.defineProperty(exports, "ffmpegRate", {
52758
+ enumerable: true,
52759
+ get: function() {
52760
+ return ffmpegRate;
52761
+ }
52762
+ });
52658
52763
  Object.defineProperty(exports, "gbToBytes", {
52659
52764
  enumerable: true,
52660
52765
  get: function() {
52661
52766
  return gbToBytes;
52662
52767
  }
52663
52768
  });
52769
+ Object.defineProperty(exports, "gifDeriveSpeed", {
52770
+ enumerable: true,
52771
+ get: function() {
52772
+ return gifDeriveSpeed;
52773
+ }
52774
+ });
52775
+ Object.defineProperty(exports, "gifFromMp4Args", {
52776
+ enumerable: true,
52777
+ get: function() {
52778
+ return gifFromMp4Args;
52779
+ }
52780
+ });
52664
52781
  Object.defineProperty(exports, "hfModelUrl", {
52665
52782
  enumerable: true,
52666
52783
  get: function() {
@@ -9606,6 +9606,90 @@ async function resolveEgressDecodeHwAccel(deps) {
9606
9606
  return resolved;
9607
9607
  }
9608
9608
  /**
9609
+ * The notification GIF's filter chain and argv — ONE definition for every
9610
+ * process that derives a gif from a notification video.
9611
+ *
9612
+ * ## Why this lives in `@camstack/types`
9613
+ *
9614
+ * Two addons derive a notification gif from an mp4, and they may never import
9615
+ * each other:
9616
+ *
9617
+ * - the stream broker (`addon-pipeline`), from the clip it just cut out of its
9618
+ * own ring (`gif-from-mp4.ts`);
9619
+ * - the notification centre (`addon-post-analysis`), from a clip cut out of
9620
+ * the RECORDINGS when the moment is older than any ring holds
9621
+ * ([D682](../../../../docs/decisions/adr-0682-a-pick-ups-footage-is-cut-around-the-pick-up.md)).
9622
+ *
9623
+ * Two copies of this chain would be two gifs of the same kind of moment that
9624
+ * look different depending on how old the moment was — the class of defect
9625
+ * D85/D91 already paid for once. So the chain is here, pure and dependency
9626
+ * free, and each caller owns only its own process lifecycle.
9627
+ *
9628
+ * ## The palette was never the problem
9629
+ *
9630
+ * The `split` + `palettegen(stats_mode=diff)` + `paletteuse(bayer)` pair is
9631
+ * right and stays. The measured cause of "the gif looks de-pixellated" was a
9632
+ * 640×360 substream scaled DOWN to 480 px, upstream of the palette. The `split`
9633
+ * form is a single READ of the input, not a lesser two-pass.
9634
+ */
9635
+ /**
9636
+ * Format a frame rate for an ffmpeg filter argument.
9637
+ *
9638
+ * `12 / 4` must reach the filter as `3` and `15 / 4` as `3.75`, not as a float
9639
+ * tail that `av_parse_video_rate` then has to guess at.
9640
+ */
9641
+ function ffmpegRate(rate) {
9642
+ return String(Math.round(rate * 1e3) / 1e3);
9643
+ }
9644
+ /**
9645
+ * The factor the derive must apply ON TOP of the speed the mp4 already carries.
9646
+ *
9647
+ * The gif is derived from a muxed mp4, so if that mux already ran `setpts` at
9648
+ * the caller's `speed`, applying the absolute gif rate again would compound
9649
+ * them — a 4× gif beside a 2× video would come out at 8×. Discounting here is
9650
+ * what keeps the gif rate ABSOLUTE against real time whatever the video does.
9651
+ */
9652
+ function gifDeriveSpeed(gifSpeed, videoSpeed) {
9653
+ if (!Number.isFinite(videoSpeed) || videoSpeed <= 0) return gifSpeed;
9654
+ return gifSpeed / videoSpeed;
9655
+ }
9656
+ /**
9657
+ * The filter chain. Extracted so a test can assert the palette pair without
9658
+ * spawning ffmpeg — an argv test cannot see quality, but it can see a filter
9659
+ * that somebody deleted.
9660
+ *
9661
+ * `fps` BEFORE `setpts`: decimating an already sped-up timeline yields `speed`
9662
+ * times the frames asked for, and a gif pays for every one. So the decimation
9663
+ * runs at `fps / speed` in SOURCE time and `setpts` multiplies what survived.
9664
+ * The trailing `fps` re-declares the rate, which is NOT redundant: `setpts`
9665
+ * leaves the filter link advertising the sampled rate and the gif muxer
9666
+ * believes the link — measured on 615 as a 3.01 s gif of ten frames.
9667
+ */
9668
+ function gifFilterComplex(input) {
9669
+ const speed = input.speed > 0 ? input.speed : 1;
9670
+ if (speed === 1) return `[0:v]fps=${ffmpegRate(input.fps)},scale=${input.maxWidth}:-2:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle`;
9671
+ return `[0:v]fps=${ffmpegRate(input.fps / speed)},setpts=PTS/${speed},fps=${ffmpegRate(input.fps)},scale=${input.maxWidth}:-2:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle`;
9672
+ }
9673
+ /** The full argv: mp4 in, gif on stdout. */
9674
+ function gifFromMp4Args(input) {
9675
+ return [
9676
+ "-y",
9677
+ "-v",
9678
+ "error",
9679
+ "-f",
9680
+ "mp4",
9681
+ "-i",
9682
+ input.input ?? "pipe:0",
9683
+ "-filter_complex",
9684
+ gifFilterComplex(input),
9685
+ "-loop",
9686
+ "0",
9687
+ "-f",
9688
+ "gif",
9689
+ "pipe:1"
9690
+ ];
9691
+ }
9692
+ /**
9609
9693
  * The sharing key for `streamBroker.acquireEgressTranscode`.
9610
9694
  *
9611
9695
  * **Two requesters asking for exactly the same argument set reach the same
@@ -24009,6 +24093,21 @@ var ObjectEventSchema = object({
24009
24093
  keyFrameMediaId: number().int().optional(),
24010
24094
  /** Populated by B5 (recording playback URL for this event). */
24011
24095
  mediaUrl: string().optional(),
24096
+ /**
24097
+ * When the change this row records HAPPENED, epoch ms, when that is earlier
24098
+ * than {@link timestamp} and the producer could date it (D684).
24099
+ *
24100
+ * Set on a package PICK-UP row only: its `timestamp` is when the departure
24101
+ * was CONCLUDED — five minutes of unseen observed time after the parcel went
24102
+ * — and a notification's footage has to be cut around the pick-up, not the
24103
+ * empty doormat after it (D682). Stored so every path that rebuilds a
24104
+ * notification subject from the row (the boot reconcile, a dry-run) anchors
24105
+ * on the same instant the live hook did.
24106
+ *
24107
+ * `timestamp` keeps its meaning. Absent on every other row and on every
24108
+ * pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
24109
+ */
24110
+ observedAt: number().optional(),
24012
24111
  /** The parent track's key-event importance [0,1], propagated to every object
24013
24112
  * event of the track (so an event row can be sorted by importance without a
24014
24113
  * track join). Absent on legacy rows / before the track was scored. */
@@ -52133,4 +52232,4 @@ function enumerateInferenceDevices(hw) {
52133
52232
  return out;
52134
52233
  }
52135
52234
  //#endregion
52136
- export { defaultDeviceFor as $, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as $t, PoolMemoryWatchdog as A, lazy as An, pipelineExecutorCapability as At, VISIT_MERGE_GAP_MS as B, resolveLocationMode as Bt, FailureCounters as C, parseProfileBrokerId as Cn, modeMayWrite as Ct, NativeLeaseAdmissionSchema as D, array as Dn, pickClusterStepSettings as Dt, MOTION_CLOSE_AFTER_MS as E, _enum as En, parseProcStatus as Et, RECORDING_SOURCE_CAMSTACK_ADDON as F, record as Fn, recordingExportCapability as Ft, audioKindId as G, storageEvictableCapability as Gt, addonWidgetsSourceCapability as H, resolveRecordingProfiles as Ht, RecordingConfigSchema as I, string as In, recordingSignalCapability as It, clipExportFailure as J, stripRetiredBandPreBufferSec as Jt, batteryCapability as K, storageOccupancyCapability as Kt, RecordingSignalStatusSchema as L, union as Ln, resolveClusterStepModelId as Lt, RATE_CONTROL_TIGHT as M, number as Mn, rankStreams as Mt, RECORDING_EXPORT_MAX_READ_BYTES as N, object as Nn, recordingArchiveCapability as Nt, NativeLeaseSettingsSchema as O, boolean as On, pickDetailCropConvention as Ot, RECORDING_SOURCE_CAMSTACK as P, preprocess as Pn, recordingCapability as Pt, declareLogChannel as Q, AUDIO_PRESETS as Qt, RingBuffer as R, EventCategory as Rn, resolveCreateExportSubject as Rt, ExportRecordSchema as S, parseJsonUnknown as Sn, migrateLegacyDeviceSignalConfig as St, HF_BASE_URL as T, sleep as Tn, overlayClusterStepSettings as Tt, audioAnalysisCapability as U, runtimeDevices as Ut, YAMNET_TO_MACRO as V, resolvePoolMemoryPolicy as Vt, audioAnalyzerCapability as W, stepModelRunsOnFormat as Wt, createHwAccelCache as X, videoclipsCapability as Xt, clipExportFailureOf as Y, supportedRuntimes as Yt, createLogChannelsProvider as Z, webrtcSessionCapability as Zt, DEFAULT_NATIVE_LEASE_SETTINGS as _, hydrateSchema as _n, logChannelsCapability as _t, BatteryStatusSchema as a, DeviceFeature as an, egressTransportFromRequest as at, EVENT_PAD_MS as b, makeSourceBrokerId as bn, mayReadLocation as bt, CLIP_STILL_REASON_HEADER as c, BOOT_RECOVERY_BACKOFF_MS as cn, evictionPolicyForMode as ct, COCO_80_LABELS as d, CamProfileSchema as dn, failureContributionCapability as dt, Fmp4BoxSplitter as en, deriveBatteryPresence as et, COCO_TO_MACRO as f, audioChunkBytesPerSample as fn, gbToBytes as ft, DEFAULT_EVENTS_BAND_BUFFER_SEC as g, expandAudioChunkToF32le as gn, loadContributionCapability as gt, DEFAULT_DETAIL_CROP_CONVENTION as h, defineCustomActions as hn, isFirstLevelMacroClass as ht, BackgroundRunRegistry as i, isSoftwareDecode as in, egressTranscodeSharingKey as it, RATE_CONTROL_RELAXED as j, literal as jn, pipelineRunnerCapability as jt, OpsLogEntrySchema as k, discriminatedUnion as kn, pickNativeLeaseOverride as kt, CLIP_STREAM_TRANSPORT_HEADER as l, BaseAddon as ln, evictionPolicyOfLocation as lt, DEFAULT_CLUSTER_STEP_SETTINGS as m, customAction as mn, inferModelProvider as mt, AUDIO_BACKEND_CHOICES as n, evaluateSensorEdge as nn, deriveRecordingMode as nt, CLIP_BROKER_PACED_RATES as o, DeviceType as on, enumerateInferenceDevices as ot, DEFAULT_AUDIO_ANALYZER_CONFIG as p, createEvent as pn, hfModelUrl as pt, cameraStreamsCapability as q, streamBrokerCapability as qt, AUDIO_MACRO_LABELS as r, invocationFromEncodeProfile as rn, detectionPipelineCapability as rt, CLIP_STILL_REASON_CODE_HEADER as s, errMsg as sn, evaluateZoneRules as st, APPLE_SA_TO_MACRO as t, buildFfmpegArgs as tn, deriveDetailCropRect as tt, CLUSTER_MODEL_SCOPED_STEPS as u, CAM_PROFILE_ORDER as un, exportSubjectOf as ut, DEVICE_BACKEND_TO_FORMAT as v, isEvent as vn, mapAudioLabelToMacro as vt, G711_SCALE_CORRECTION_DB as w, selectAssignedProfileSlots as wn, motionDetectionCapability as wt, EncodeProfileSchema as x, nodePin as xn, mayWriteToLocation as xt, EVENT_OWNER_TYPES as y, makeProfileBrokerId as yn, maskUrlCredentials as yt, VIDEOCLIPS_MAX_OFFER_BYTES as z, resolveEgressDecodeHwAccel as zt };
52235
+ export { defaultDeviceFor as $, videoclipsCapability as $t, PoolMemoryWatchdog as A, array as An, pickClusterStepSettings as At, VISIT_MERGE_GAP_MS as B, union as Bn, resolveClusterStepModelId as Bt, FailureCounters as C, makeSourceBrokerId as Cn, mayReadLocation as Ct, NativeLeaseAdmissionSchema as D, selectAssignedProfileSlots as Dn, motionDetectionCapability as Dt, MOTION_CLOSE_AFTER_MS as E, parseProfileBrokerId as En, modeMayWrite as Et, RECORDING_SOURCE_CAMSTACK_ADDON as F, number as Fn, rankStreams as Ft, audioKindId as G, resolveRecordingProfiles as Gt, addonWidgetsSourceCapability as H, resolveEgressDecodeHwAccel as Ht, RecordingConfigSchema as I, object as In, recordingArchiveCapability as It, clipExportFailure as J, storageEvictableCapability as Jt, batteryCapability as K, runtimeDevices as Kt, RecordingSignalStatusSchema as L, preprocess as Ln, recordingCapability as Lt, RATE_CONTROL_TIGHT as M, discriminatedUnion as Mn, pickNativeLeaseOverride as Mt, RECORDING_EXPORT_MAX_READ_BYTES as N, lazy as Nn, pipelineExecutorCapability as Nt, NativeLeaseSettingsSchema as O, sleep as On, overlayClusterStepSettings as Ot, RECORDING_SOURCE_CAMSTACK as P, literal as Pn, pipelineRunnerCapability as Pt, declareLogChannel as Q, supportedRuntimes as Qt, RingBuffer as R, record as Rn, recordingExportCapability as Rt, ExportRecordSchema as S, makeProfileBrokerId as Sn, maskUrlCredentials as St, HF_BASE_URL as T, parseJsonUnknown as Tn, migrateLegacyDeviceSignalConfig as Tt, audioAnalysisCapability as U, resolveLocationMode as Ut, YAMNET_TO_MACRO as V, EventCategory as Vn, resolveCreateExportSubject as Vt, audioAnalyzerCapability as W, resolvePoolMemoryPolicy as Wt, createHwAccelCache as X, streamBrokerCapability as Xt, clipExportFailureOf as Y, storageOccupancyCapability as Yt, createLogChannelsProvider as Z, stripRetiredBandPreBufferSec as Zt, DEFAULT_NATIVE_LEASE_SETTINGS as _, customAction as _n, inferModelProvider as _t, BatteryStatusSchema as a, evaluateSensorEdge as an, egressTransportFromRequest as at, EVENT_PAD_MS as b, hydrateSchema as bn, logChannelsCapability as bt, CLIP_STILL_REASON_HEADER as c, DeviceFeature as cn, evictionPolicyForMode as ct, COCO_80_LABELS as d, BOOT_RECOVERY_BACKOFF_MS as dn, failureContributionCapability as dt, webrtcSessionCapability as en, deriveBatteryPresence as et, COCO_TO_MACRO as f, BaseAddon as fn, ffmpegRate as ft, DEFAULT_EVENTS_BAND_BUFFER_SEC as g, createEvent as gn, hfModelUrl as gt, DEFAULT_DETAIL_CROP_CONVENTION as h, audioChunkBytesPerSample as hn, gifFromMp4Args as ht, BackgroundRunRegistry as i, buildFfmpegArgs as in, egressTranscodeSharingKey as it, RATE_CONTROL_RELAXED as j, boolean as jn, pickDetailCropConvention as jt, OpsLogEntrySchema as k, _enum as kn, parseProcStatus as kt, CLIP_STREAM_TRANSPORT_HEADER as l, DeviceType as ln, evictionPolicyOfLocation as lt, DEFAULT_CLUSTER_STEP_SETTINGS as m, CamProfileSchema as mn, gifDeriveSpeed as mt, AUDIO_BACKEND_CHOICES as n, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as nn, deriveRecordingMode as nt, CLIP_BROKER_PACED_RATES as o, invocationFromEncodeProfile as on, enumerateInferenceDevices as ot, DEFAULT_AUDIO_ANALYZER_CONFIG as p, CAM_PROFILE_ORDER as pn, gbToBytes as pt, cameraStreamsCapability as q, stepModelRunsOnFormat as qt, AUDIO_MACRO_LABELS as r, Fmp4BoxSplitter as rn, detectionPipelineCapability as rt, CLIP_STILL_REASON_CODE_HEADER as s, isSoftwareDecode as sn, evaluateZoneRules as st, APPLE_SA_TO_MACRO as t, AUDIO_PRESETS as tn, deriveDetailCropRect as tt, CLUSTER_MODEL_SCOPED_STEPS as u, errMsg as un, exportSubjectOf as ut, DEVICE_BACKEND_TO_FORMAT as v, defineCustomActions as vn, isFirstLevelMacroClass as vt, G711_SCALE_CORRECTION_DB as w, nodePin as wn, mayWriteToLocation as wt, EncodeProfileSchema as x, isEvent as xn, mapAudioLabelToMacro as xt, EVENT_OWNER_TYPES as y, expandAudioChunkToF32le as yn, loadContributionCapability as yt, VIDEOCLIPS_MAX_OFFER_BYTES as z, string as zn, recordingSignalCapability as zt };
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-C2GsZSso.js");
5
+ const require_dist = require("../dist-CyJWk-_f.js");
6
6
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { _n as hydrateSchema, ln as BaseAddon, on as DeviceType, st as evaluateZoneRules, wt as motionDetectionCapability } from "../dist-B0mdAGsn.mjs";
1
+ import { Dt as motionDetectionCapability, bn as hydrateSchema, fn as BaseAddon, ln as DeviceType, st as evaluateZoneRules } from "../dist-DdVMFlJ6.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
- import { en as Fmp4BoxSplitter, in as isSoftwareDecode, sn as errMsg, tn as buildFfmpegArgs } from "./dist-B0mdAGsn.mjs";
1
+ import { in as buildFfmpegArgs, rn as Fmp4BoxSplitter, sn as isSoftwareDecode, un as errMsg } from "./dist-DdVMFlJ6.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { realpathSync } from "node:fs";
4
4
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-C2GsZSso.js");
2
+ const require_dist = require("./dist-CyJWk-_f.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs, 1);
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-C2GsZSso.js");
7
- const require_node = require("../node-DA9sHeo7.js");
8
- const require_default_detection_model = require("../default-detection-model-CeYzI_ws.js");
6
+ const require_dist = require("../dist-CyJWk-_f.js");
7
+ const require_node = require("../node-HsWG5fGp.js");
8
+ const require_default_detection_model = require("../default-detection-model-DgdiQtQb.js");
9
9
  const require_worker_protocol = require("../worker-protocol-C-G8qmye.js");
10
10
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
11
11
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
@@ -1,6 +1,6 @@
1
- import { An as lazy, C as FailureCounters, D as NativeLeaseAdmissionSchema, Dn as array, E as MOTION_CLOSE_AFTER_MS, En as _enum, In as string, Mn as number, Nn as object, O as NativeLeaseSettingsSchema, On as boolean, Ot as pickDetailCropConvention, Rn as EventCategory, _ as DEFAULT_NATIVE_LEASE_SETTINGS, dt as failureContributionCapability, gt as loadContributionCapability, h as DEFAULT_DETAIL_CROP_CONVENTION, hn as defineCustomActions, i as BackgroundRunRegistry, jn as literal, jt as pipelineRunnerCapability, kt as pickNativeLeaseOverride, ln as BaseAddon, mn as customAction, pn as createEvent, sn as errMsg, tt as deriveDetailCropRect, xn as nodePin } from "../dist-B0mdAGsn.mjs";
2
- import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-C4FxPOmq.mjs";
3
- import { c as macroGateVerdict, d as resolveFrameViewGeometry, g as getStepDefinition, l as rootObjectGate, o as placeDetailStep, r as CustomModelCatalog, s as stepsForElectedPool, u as localFrameRegistry, v as RETIRED_MODEL_IDS } from "../default-detection-model-CmdkU7Ik.mjs";
1
+ import { An as array, C as FailureCounters, D as NativeLeaseAdmissionSchema, E as MOTION_CLOSE_AFTER_MS, Fn as number, In as object, Mt as pickNativeLeaseOverride, Nn as lazy, O as NativeLeaseSettingsSchema, Pn as literal, Pt as pipelineRunnerCapability, Vn as EventCategory, _ as DEFAULT_NATIVE_LEASE_SETTINGS, _n as customAction, dt as failureContributionCapability, fn as BaseAddon, gn as createEvent, h as DEFAULT_DETAIL_CROP_CONVENTION, i as BackgroundRunRegistry, jn as boolean, jt as pickDetailCropConvention, kn as _enum, tt as deriveDetailCropRect, un as errMsg, vn as defineCustomActions, wn as nodePin, yt as loadContributionCapability, zn as string } from "../dist-DdVMFlJ6.mjs";
2
+ import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-COu_tHy4.mjs";
3
+ import { c as macroGateVerdict, d as resolveFrameViewGeometry, g as getStepDefinition, l as rootObjectGate, o as placeDetailStep, r as CustomModelCatalog, s as stepsForElectedPool, u as localFrameRegistry, v as RETIRED_MODEL_IDS } from "../default-detection-model-BV9bIuOo.mjs";
4
4
  import { t as isWorkerReply } from "../worker-protocol-D_NzPcnh.mjs";
5
5
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
6
6
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
@@ -1,4 +1,4 @@
1
- import { Et as parseProcStatus } from "./dist-B0mdAGsn.mjs";
1
+ import { kt as parseProcStatus } from "./dist-DdVMFlJ6.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,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-C2GsZSso.js");
2
+ const require_dist = require("./dist-CyJWk-_f.js");
3
3
  let node_fs = require("node:fs");
4
4
  node_fs = require_chunk.__toESM(node_fs);
5
5
  let node_child_process = require("node:child_process");
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-C2GsZSso.js");
7
- const require_node = require("../node-DA9sHeo7.js");
6
+ const require_dist = require("../dist-CyJWk-_f.js");
7
+ const require_node = require("../node-HsWG5fGp.js");
8
8
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
9
9
  const require_restream_intent = require("../restream-intent-7uDNqMKs.js");
10
10
  const require_retire_root_keys = require("../retire-root-keys-Csb8z2f3.js");
@@ -1,5 +1,5 @@
1
- import { B as VISIT_MERGE_GAP_MS, Bt as resolveLocationMode, Ct as modeMayWrite, Dn as array, En as _enum, F as RECORDING_SOURCE_CAMSTACK_ADDON, Fn as record, Ft as recordingExportCapability, Gt as storageEvictableCapability, Ht as resolveRecordingProfiles, I as RecordingConfigSchema, In as string, It as recordingSignalCapability, J as clipExportFailure, Jt as stripRetiredBandPreBufferSec, K as batteryCapability, Kt as storageOccupancyCapability, L as RecordingSignalStatusSchema, Mn as number, N as RECORDING_EXPORT_MAX_READ_BYTES, Nn as object, Nt as recordingArchiveCapability, On as boolean, P as RECORDING_SOURCE_CAMSTACK, Pn as preprocess, Pt as recordingCapability, Rn as EventCategory, Rt as resolveCreateExportSubject, S as ExportRecordSchema, St as migrateLegacyDeviceSignalConfig, Tn as sleep$1, Xt as videoclipsCapability, Y as clipExportFailureOf, _n as hydrateSchema, a as BatteryStatusSchema, an as DeviceFeature, b as EVENT_PAD_MS, bt as mayReadLocation, ct as evictionPolicyForMode, et as deriveBatteryPresence, ft as gbToBytes, g as DEFAULT_EVENTS_BAND_BUFFER_SEC, gt as loadContributionCapability, hn as defineCustomActions, ht as isFirstLevelMacroClass, k as OpsLogEntrySchema, ln as BaseAddon, lt as evictionPolicyOfLocation, mn as customAction, nn as evaluateSensorEdge, nt as deriveRecordingMode, o as CLIP_BROKER_PACED_RATES, on as DeviceType, sn as errMsg$1, ut as exportSubjectOf, wn as selectAssignedProfileSlots, xn as nodePin, xt as mayWriteToLocation, y as EVENT_OWNER_TYPES, z as VIDEOCLIPS_MAX_OFFER_BYTES } from "../dist-B0mdAGsn.mjs";
2
- import { a as physicalRootOf, i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-C4FxPOmq.mjs";
1
+ import { $t as videoclipsCapability, An as array, B as VISIT_MERGE_GAP_MS, Ct as mayReadLocation, Dn as selectAssignedProfileSlots, Et as modeMayWrite, F as RECORDING_SOURCE_CAMSTACK_ADDON, Fn as number, Gt as resolveRecordingProfiles, I as RecordingConfigSchema, In as object, It as recordingArchiveCapability, J as clipExportFailure, Jt as storageEvictableCapability, K as batteryCapability, L as RecordingSignalStatusSchema, Ln as preprocess, Lt as recordingCapability, N as RECORDING_EXPORT_MAX_READ_BYTES, On as sleep$1, P as RECORDING_SOURCE_CAMSTACK, Rn as record, Rt as recordingExportCapability, S as ExportRecordSchema, Tt as migrateLegacyDeviceSignalConfig, Ut as resolveLocationMode, Vn as EventCategory, Vt as resolveCreateExportSubject, Y as clipExportFailureOf, Yt as storageOccupancyCapability, Zt as stripRetiredBandPreBufferSec, _n as customAction, a as BatteryStatusSchema, an as evaluateSensorEdge, b as EVENT_PAD_MS, bn as hydrateSchema, cn as DeviceFeature, ct as evictionPolicyForMode, et as deriveBatteryPresence, fn as BaseAddon, g as DEFAULT_EVENTS_BAND_BUFFER_SEC, jn as boolean, k as OpsLogEntrySchema, kn as _enum, ln as DeviceType, lt as evictionPolicyOfLocation, nt as deriveRecordingMode, o as CLIP_BROKER_PACED_RATES, pt as gbToBytes, un as errMsg$1, ut as exportSubjectOf, vn as defineCustomActions, vt as isFirstLevelMacroClass, wn as nodePin, wt as mayWriteToLocation, y as EVENT_OWNER_TYPES, yt as loadContributionCapability, z as VIDEOCLIPS_MAX_OFFER_BYTES, zn as string, zt as recordingSignalCapability } from "../dist-DdVMFlJ6.mjs";
2
+ import { a as physicalRootOf, i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-COu_tHy4.mjs";
3
3
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
4
4
  import { d as PREBUFFER_MAX_MS, l as withRecordingIntent, r as RECORDING_PRE_ROLL_REQUEST_MS } from "../restream-intent-DyGmLAU9.mjs";
5
5
  import { n as RowMapStore, t as retireRootKeys } from "../retire-root-keys-DZvlso2l.mjs";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-C2GsZSso.js");
2
+ const require_dist = require("./dist-CyJWk-_f.js");
3
3
  let node_child_process = require("node:child_process");
4
4
  //#region src/stream-broker/recorded/avcc-annexb.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { r as __toESM, t as __commonJSMin } from "./chunk-DnnnRqeS.mjs";
2
- import { sn as errMsg } from "./dist-B0mdAGsn.mjs";
2
+ import { un as errMsg } from "./dist-DdVMFlJ6.mjs";
3
3
  import { spawn } from "node:child_process";
4
4
  //#region src/stream-broker/recorded/avcc-annexb.ts
5
5
  /**
@@ -1,7 +1,7 @@
1
1
  import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CdKbuxqG.mjs";
2
2
  import { a as p, i as m, n as h, o as g, r as _, t as v } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.js-C9j-2lBe.mjs";
3
3
  import { n as y, r as b, t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-XO0-Pyu6.mjs";
4
- import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DKNdMa3E.mjs";
4
+ import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DPHv0v3Q.mjs";
5
5
  import { n as C, t as w } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BO7TIbJV.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var T = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), E = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), D = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), O = (e) => {
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.273",
21
+ version: "1.2.274",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_stream_broker_widgets",