@camstack/addon-pipeline 1.2.342 → 1.2.343

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 (35) hide show
  1. package/dist/audio-analyzer/index.js +5 -4
  2. package/dist/audio-analyzer/index.mjs +5 -4
  3. package/dist/{custom-model-catalog-DPBG06HE.js → custom-model-catalog-CC8vgYZ8.js} +3 -3
  4. package/dist/{custom-model-catalog-BjPZrWX3.mjs → custom-model-catalog-m7EBV9wu.mjs} +3 -3
  5. package/dist/detection-pipeline/index.js +4 -4
  6. package/dist/detection-pipeline/index.mjs +4 -4
  7. package/dist/{dist-BWzBHFEB.mjs → dist-BAHBDujp.mjs} +33 -347
  8. package/dist/{dist-w_gA9z8W.js → dist-BwipY6K1.js} +33 -347
  9. package/dist/{model-catalogs-Dseq1bmN.mjs → model-catalogs-CUU_L1ec.mjs} +1 -1
  10. package/dist/{model-catalogs-ll-ggTUb.js → model-catalogs-Dotb1OFs.js} +1 -1
  11. package/dist/motion-wasm/index.js +1 -1
  12. package/dist/motion-wasm/index.mjs +1 -1
  13. package/dist/{node-BTsWSPyQ.js → node-BHYEkNaS.js} +1 -1
  14. package/dist/{node-B7gAWBnv.mjs → node-BPwelwyj.mjs} +1 -1
  15. package/dist/pipeline-runner/index.js +11 -13
  16. package/dist/pipeline-runner/index.mjs +11 -13
  17. package/dist/{process-memory-Nq3qwp-q.js → process-memory-BRCKXa-P.js} +1 -1
  18. package/dist/{process-memory-BYs3sxnT.mjs → process-memory-_8o1iZnL.mjs} +1 -1
  19. package/dist/recorder/index.js +2 -13
  20. package/dist/recorder/index.mjs +2 -13
  21. package/dist/{segment-demux-js-C7Bk1l_R.mjs → segment-demux-js-DK8jbZy6.mjs} +1 -1
  22. package/dist/{segment-demux-js-D4kTUDck.js → segment-demux-js-DveVPFl9.js} +1 -1
  23. package/dist/stream-broker/_stub.js +48 -130
  24. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-By8a97Br.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CF-T-9YU.mjs} +3 -3
  25. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BUfCTcDV.mjs +26 -0
  26. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-uAQqU5lv.mjs +26 -0
  27. package/dist/stream-broker/demux-worker-child.js +1 -1
  28. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  29. package/dist/stream-broker/{hostInit-BU65uPCY.mjs → hostInit-C6jr8fSt.mjs} +3 -3
  30. package/dist/stream-broker/index.js +49 -1693
  31. package/dist/stream-broker/index.mjs +54 -1696
  32. package/dist/stream-broker/remoteEntry.js +1 -1
  33. package/package.json +1 -6
  34. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B204qFeL.mjs +0 -26
  35. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Czhfk3hD.mjs +0 -26
@@ -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-w_gA9z8W.js");
7
- const require_node = require("../node-BTsWSPyQ.js");
8
- const require_custom_model_catalog = require("../custom-model-catalog-DPBG06HE.js");
6
+ const require_dist = require("../dist-BwipY6K1.js");
7
+ const require_node = require("../node-BHYEkNaS.js");
8
+ const require_custom_model_catalog = require("../custom-model-catalog-CC8vgYZ8.js");
9
9
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
10
10
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
11
11
  const require_restream_intent = require("../restream-intent-7uDNqMKs.js");
@@ -4116,8 +4116,7 @@ function summarizeDeviceLoad(attachedDeviceKeys) {
4116
4116
  return Array.from(counts.entries()).map(([deviceKey, attachedCameras]) => ({
4117
4117
  deviceKey,
4118
4118
  backend: backendOf(deviceKey),
4119
- attachedCameras,
4120
- queueDepthTotal: 0
4119
+ attachedCameras
4121
4120
  })).toSorted((a, b) => a.deviceKey.localeCompare(b.deviceKey));
4122
4121
  }
4123
4122
  //#endregion
@@ -7852,7 +7851,7 @@ function rgbFrameToGrayFrame(frame) {
7852
7851
  * - `sharedWithDetection` (onboard/sensor-triggered) AND detection actually
7853
7852
  * runs (`detectionMode !== 'disabled'`) → ride the detection decode:
7854
7853
  * `rgb` on the MAIN (`detectionStreamId`) stream, converted to gray. No
7855
- * second decoder — the `FrameHandlePlane` coalesces it onto detection's session.
7854
+ * second decoder — it rides detection's session-decode worker.
7856
7855
  * - Otherwise (persistent analyzer, or detection disabled) → a dedicated
7857
7856
  * `gray` decode on the SUB (`motionStreamId`) stream, exactly as before.
7858
7857
  *
@@ -11172,8 +11171,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
11172
11171
  * analyzer is the motion source (`motionSources` includes `'analyzer'`).
11173
11172
  * - **Shared with detection** (`opts.sharedWithDetection`) — subscribes
11174
11173
  * `rgb` on `detectionStreamId` (the MAIN stream) so it rides the SAME
11175
- * decoder session detection already uses (the `FrameHandlePlane` coalesces
11176
- * same-format subscribers on a stream into ONE decode), then derives the
11174
+ * session-decode worker detection already uses, then derives the
11177
11175
  * analyzer's `gray` from that rgb frame's luma. No second decoder. Used for
11178
11176
  * onboard/sensor-triggered motion, where a decode is already active.
11179
11177
  */
@@ -12146,14 +12144,14 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
12146
12144
  id: "pipeline-runner-tuning",
12147
12145
  title: "Pipeline Runner",
12148
12146
  tab: "scheduler",
12149
- description: "Per-node detection scheduler tuning. Change only if you understand the pipeline internals.",
12147
+ description: "Values every node's detection runner uses. A node's own decode limits (Roles & nodes) take precedence over the two decode values.",
12150
12148
  columns: 2,
12151
12149
  fields: [
12152
12150
  {
12153
12151
  type: "slider",
12154
12152
  key: "maxConcurrentInferences",
12155
12153
  label: "Scheduler concurrency",
12156
- description: "Max parallel inferences the runner scheduler allows across all cameras on this node. Distinct from the detection-pipeline inference-pool worker count (Pipeline tab → \"Worker concurrency\"), which controls Python-side thread pool sizing inside a single inference job.",
12154
+ description: "Most inferences a node runs at once, across all its cameras. Not the same as the pool threads on the node Scheduler tab.",
12157
12155
  min: 1,
12158
12156
  max: 16,
12159
12157
  step: 1,
@@ -12198,7 +12196,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
12198
12196
  type: "slider",
12199
12197
  key: "maxConcurrentDecodeSpawns",
12200
12198
  label: "Max concurrent decode-worker spawns",
12201
- description: "Min floor of per-session decode-worker forks allowed to spin up CONCURRENTLY on this node. A synchronized multi-camera motion burst forks at most this many decode workers at once; the rest queue (FIFO) until an in-flight worker delivers its first frame or tears down. Keeps a burst from stampeding the shared GPU. Set >= your camera count to effectively disable the gate. Only applies when per-session decode workers are enabled.",
12199
+ description: "How many camera decoders a node may START at the same moment; the rest wait their turn. Stops a burst of motion on many cameras from overloading the GPU.",
12202
12200
  min: 1,
12203
12201
  max: 16,
12204
12202
  step: 1,
@@ -12209,7 +12207,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
12209
12207
  type: "slider",
12210
12208
  key: "maxLiveDecodeWorkers",
12211
12209
  label: "Max live decode workers",
12212
- description: "Upper CLAMP on decode workers ALIVE at once on this node. The bound that normally decides is the RAM budget below — the ceiling in force is whichever of the two is smaller. Unlike the spawn gate above, which only limits how fast workers START, this limits how many EXIST. A camera that does not fit is REFUSED and logged, then retried automatically as soon as a slot frees — it is never queued, because a queued live session would decode a moment that has already passed.",
12210
+ description: "Most camera decoders running at once on a node (the RAM budget below usually decides first). A camera that does not fit is retried as soon as one frees up.",
12213
12211
  min: 1,
12214
12212
  max: 32,
12215
12213
  step: 1,
@@ -12220,7 +12218,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
12220
12218
  type: "slider",
12221
12219
  key: "nodeDecodeBudgetMb",
12222
12220
  label: "Decode worker RAM budget (MB)",
12223
- description: "Cluster-wide fallback for the RAM a node lets live decode workers commit. Each node resolves its own number: its agent setting (decodeBudgetMb) wins; otherwise this value when moved off the default; otherwise half the node's RAM (2-16 GB). The number of workers admitted is derived from it: budget divided by one worker's worst case — what the lease store can hold (the smaller of the lease budget and held frames × 25 MB, one 4K frame), plus the tile and scene budgets, plus ~350 MB of baseline, ~660 MB at the shipped knobs. Raising held frames or the lease budget per worker therefore LOWERS how many run at once, instead of silently authorising more memory.",
12221
+ description: "RAM a node lets its camera decoders use, unless the node sets its own (Roles & nodes). Left at the default, each node uses half its RAM (2–16 GB). Each decoder counts ~660 MB with the default full-resolution crop settings, so raising those lowers how many decoders run at once.",
12224
12222
  min: 1024,
12225
12223
  max: 32768,
12226
12224
  step: 512,
@@ -1,6 +1,6 @@
1
- import { $ as cameraOwnsMotionViaSensor, A as NativeLeaseAdmissionSchema, At as linkedStepOf, Dn as errMsg, Fn as defineCustomActions, Gn as _enum, Gt as pickDetailCropConvention, Jt as pipelineRunnerCapability, Kn as array, Kt as pickNativeLeaseOverride, Nn as createEvent, Pn as customAction, Qn as object, T as FailureCounters, Vn as nodePin, Xn as literal, Yn as lazy, Zn as number, _ as DEFAULT_DETAIL_CROP_CONVENTION, a as BackgroundRunRegistry, cn as rootSuppliesOf, ft as deriveRootFaceRefineRect, in as resolveModelBoundSetting, j as NativeLeaseSettingsSchema, jt as loadContributionCapability, kn as BaseAddon, m as CROP_SUPPLY_SOURCES, q as allowedSuppliedEffect, qn as boolean, rr as EventCategory, sn as resolveRootSupply, tr as string, ut as deriveDetailCropRect, xt as failureContributionCapability, y as DEFAULT_NATIVE_LEASE_SETTINGS, z as ROOT_SUPPLIABLE_STEP_IDS } from "../dist-BWzBHFEB.mjs";
2
- import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-B7gAWBnv.mjs";
3
- import { a as stepsForElectedPool, b as getStepDefinition, d as rootObjectGate, f as localFrameRegistry, h as resolveFrameViewGeometry, i as placeDetailStep, l as resolveDefaultDetectionModel, m as createSessionDecodeCoordinator, p as isSessionDecodeReadGone, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, y as getStep } from "../custom-model-catalog-BjPZrWX3.mjs";
1
+ import { $ as cameraOwnsMotionViaSensor, A as NativeLeaseAdmissionSchema, At as linkedStepOf, Dn as errMsg, Fn as defineCustomActions, Gn as _enum, Gt as pickDetailCropConvention, Jt as pipelineRunnerCapability, Kn as array, Kt as pickNativeLeaseOverride, Nn as createEvent, Pn as customAction, Qn as object, T as FailureCounters, Vn as nodePin, Xn as literal, Yn as lazy, Zn as number, _ as DEFAULT_DETAIL_CROP_CONVENTION, a as BackgroundRunRegistry, cn as rootSuppliesOf, ft as deriveRootFaceRefineRect, in as resolveModelBoundSetting, j as NativeLeaseSettingsSchema, jt as loadContributionCapability, kn as BaseAddon, m as CROP_SUPPLY_SOURCES, q as allowedSuppliedEffect, qn as boolean, rr as EventCategory, sn as resolveRootSupply, tr as string, ut as deriveDetailCropRect, xt as failureContributionCapability, y as DEFAULT_NATIVE_LEASE_SETTINGS, z as ROOT_SUPPLIABLE_STEP_IDS } from "../dist-BAHBDujp.mjs";
2
+ import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-BPwelwyj.mjs";
3
+ import { a as stepsForElectedPool, b as getStepDefinition, d as rootObjectGate, f as localFrameRegistry, h as resolveFrameViewGeometry, i as placeDetailStep, l as resolveDefaultDetectionModel, m as createSessionDecodeCoordinator, p as isSessionDecodeReadGone, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, y as getStep } from "../custom-model-catalog-m7EBV9wu.mjs";
4
4
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
6
  import { c as withDetectionIntent, o as preRollRequestOf, t as DETECTION_PRE_ROLL_REQUEST_MS } from "../restream-intent-DyGmLAU9.mjs";
@@ -4108,8 +4108,7 @@ function summarizeDeviceLoad(attachedDeviceKeys) {
4108
4108
  return Array.from(counts.entries()).map(([deviceKey, attachedCameras]) => ({
4109
4109
  deviceKey,
4110
4110
  backend: backendOf(deviceKey),
4111
- attachedCameras,
4112
- queueDepthTotal: 0
4111
+ attachedCameras
4113
4112
  })).toSorted((a, b) => a.deviceKey.localeCompare(b.deviceKey));
4114
4113
  }
4115
4114
  //#endregion
@@ -7844,7 +7843,7 @@ function rgbFrameToGrayFrame(frame) {
7844
7843
  * - `sharedWithDetection` (onboard/sensor-triggered) AND detection actually
7845
7844
  * runs (`detectionMode !== 'disabled'`) → ride the detection decode:
7846
7845
  * `rgb` on the MAIN (`detectionStreamId`) stream, converted to gray. No
7847
- * second decoder — the `FrameHandlePlane` coalesces it onto detection's session.
7846
+ * second decoder — it rides detection's session-decode worker.
7848
7847
  * - Otherwise (persistent analyzer, or detection disabled) → a dedicated
7849
7848
  * `gray` decode on the SUB (`motionStreamId`) stream, exactly as before.
7850
7849
  *
@@ -11164,8 +11163,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
11164
11163
  * analyzer is the motion source (`motionSources` includes `'analyzer'`).
11165
11164
  * - **Shared with detection** (`opts.sharedWithDetection`) — subscribes
11166
11165
  * `rgb` on `detectionStreamId` (the MAIN stream) so it rides the SAME
11167
- * decoder session detection already uses (the `FrameHandlePlane` coalesces
11168
- * same-format subscribers on a stream into ONE decode), then derives the
11166
+ * session-decode worker detection already uses, then derives the
11169
11167
  * analyzer's `gray` from that rgb frame's luma. No second decoder. Used for
11170
11168
  * onboard/sensor-triggered motion, where a decode is already active.
11171
11169
  */
@@ -12138,14 +12136,14 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
12138
12136
  id: "pipeline-runner-tuning",
12139
12137
  title: "Pipeline Runner",
12140
12138
  tab: "scheduler",
12141
- description: "Per-node detection scheduler tuning. Change only if you understand the pipeline internals.",
12139
+ description: "Values every node's detection runner uses. A node's own decode limits (Roles & nodes) take precedence over the two decode values.",
12142
12140
  columns: 2,
12143
12141
  fields: [
12144
12142
  {
12145
12143
  type: "slider",
12146
12144
  key: "maxConcurrentInferences",
12147
12145
  label: "Scheduler concurrency",
12148
- description: "Max parallel inferences the runner scheduler allows across all cameras on this node. Distinct from the detection-pipeline inference-pool worker count (Pipeline tab → \"Worker concurrency\"), which controls Python-side thread pool sizing inside a single inference job.",
12146
+ description: "Most inferences a node runs at once, across all its cameras. Not the same as the pool threads on the node Scheduler tab.",
12149
12147
  min: 1,
12150
12148
  max: 16,
12151
12149
  step: 1,
@@ -12190,7 +12188,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
12190
12188
  type: "slider",
12191
12189
  key: "maxConcurrentDecodeSpawns",
12192
12190
  label: "Max concurrent decode-worker spawns",
12193
- description: "Min floor of per-session decode-worker forks allowed to spin up CONCURRENTLY on this node. A synchronized multi-camera motion burst forks at most this many decode workers at once; the rest queue (FIFO) until an in-flight worker delivers its first frame or tears down. Keeps a burst from stampeding the shared GPU. Set >= your camera count to effectively disable the gate. Only applies when per-session decode workers are enabled.",
12191
+ description: "How many camera decoders a node may START at the same moment; the rest wait their turn. Stops a burst of motion on many cameras from overloading the GPU.",
12194
12192
  min: 1,
12195
12193
  max: 16,
12196
12194
  step: 1,
@@ -12201,7 +12199,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
12201
12199
  type: "slider",
12202
12200
  key: "maxLiveDecodeWorkers",
12203
12201
  label: "Max live decode workers",
12204
- description: "Upper CLAMP on decode workers ALIVE at once on this node. The bound that normally decides is the RAM budget below — the ceiling in force is whichever of the two is smaller. Unlike the spawn gate above, which only limits how fast workers START, this limits how many EXIST. A camera that does not fit is REFUSED and logged, then retried automatically as soon as a slot frees — it is never queued, because a queued live session would decode a moment that has already passed.",
12202
+ description: "Most camera decoders running at once on a node (the RAM budget below usually decides first). A camera that does not fit is retried as soon as one frees up.",
12205
12203
  min: 1,
12206
12204
  max: 32,
12207
12205
  step: 1,
@@ -12212,7 +12210,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
12212
12210
  type: "slider",
12213
12211
  key: "nodeDecodeBudgetMb",
12214
12212
  label: "Decode worker RAM budget (MB)",
12215
- description: "Cluster-wide fallback for the RAM a node lets live decode workers commit. Each node resolves its own number: its agent setting (decodeBudgetMb) wins; otherwise this value when moved off the default; otherwise half the node's RAM (2-16 GB). The number of workers admitted is derived from it: budget divided by one worker's worst case — what the lease store can hold (the smaller of the lease budget and held frames × 25 MB, one 4K frame), plus the tile and scene budgets, plus ~350 MB of baseline, ~660 MB at the shipped knobs. Raising held frames or the lease budget per worker therefore LOWERS how many run at once, instead of silently authorising more memory.",
12213
+ description: "RAM a node lets its camera decoders use, unless the node sets its own (Roles & nodes). Left at the default, each node uses half its RAM (2–16 GB). Each decoder counts ~660 MB with the default full-resolution crop settings, so raising those lowers how many decoders run at once.",
12216
12214
  min: 1024,
12217
12215
  max: 32768,
12218
12216
  step: 512,
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-w_gA9z8W.js");
2
+ const require_dist = require("./dist-BwipY6K1.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");
@@ -1,4 +1,4 @@
1
- import { Ut as parseProcStatus } from "./dist-BWzBHFEB.mjs";
1
+ import { Ut as parseProcStatus } from "./dist-BAHBDujp.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
@@ -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-w_gA9z8W.js");
7
- const require_node = require("../node-BTsWSPyQ.js");
6
+ const require_dist = require("../dist-BwipY6K1.js");
7
+ const require_node = require("../node-BHYEkNaS.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");
@@ -5927,16 +5927,6 @@ Object.freeze({
5927
5927
  "pullPcm": { "maxCount": 8 }
5928
5928
  },
5929
5929
  "battery": { "wakeForStream": { "timeoutMs": 8e3 } },
5930
- "decoder": {
5931
- "createSession": {
5932
- "maxFps": 0,
5933
- "outputFormat": "jpeg",
5934
- "scale": 1,
5935
- "frameSink": "callback"
5936
- },
5937
- "pullFrames": { "maxCount": 1 },
5938
- "pullHandles": { "maxCount": 1 }
5939
- },
5940
5930
  "device-adoption": { "listCandidates": {
5941
5931
  "page": 1,
5942
5932
  "pageSize": 50
@@ -6124,7 +6114,6 @@ Object.freeze({
6124
6114
  "speed": 4
6125
6115
  },
6126
6116
  "pullAudioChunks": { "maxCount": 8 },
6127
- "pullFrameHandles": { "maxCount": 4 },
6128
6117
  "renderPreBufferClip": {
6129
6118
  "preRollSec": 3,
6130
6119
  "postRollSec": 5,
@@ -1,5 +1,5 @@
1
- import { $n as preprocess, $t as recordingSignalCapability, B as RecordingConfigSchema, Ct as gbToBytes, Dn as errMsg$1, En as DeviceType, Fn as defineCustomActions, Ft as mayReadLocation, Gn as _enum, I as RECORDING_EXPORT_MAX_READ_BYTES, It as mayWriteToLocation, Kn as array, L as RECORDING_SOURCE_CAMSTACK, Ln as hydrateSchema, Lt as memoizePinnedFfmpeg, M as OpsLogEntrySchema, Ot as isFirstLevelMacroClass, Pn as customAction, Q as batteryCapability, Qn as object, Qt as recordingExportCapability, R as RECORDING_SOURCE_CAMSTACK_ADDON, Rt as migrateLegacyDeviceSignalConfig, S as EVENT_PAD_MS, Sn as evaluateSensorEdge, Tn as DeviceFeature, U as VIDEOCLIPS_MAX_OFFER_BYTES, Un as selectAssignedProfileSlots, V as RecordingSignalStatusSchema, Vn as nodePin, W as VISIT_MERGE_GAP_MS, Wn as sleep$1, Xt as recordingArchiveCapability, Zn as number, Zt as recordingCapability, bt as exportSubjectOf, dn as storageEvictableCapability, dt as deriveRecordingMode, er as record, fn as storageOccupancyCapability, gn as videoclipsCapability, jt as loadContributionCapability, kn as BaseAddon, lt as deriveBatteryPresence, mn as stripRetiredBandPreBufferSec, nt as clipExportFailureOf, o as BatteryStatusSchema, on as resolveRecordingProfiles, qn as boolean, rn as resolveLocationMode, rr as EventCategory, s as CLIP_BROKER_PACED_RATES, tn as resolveCreateExportSubject, tr as string, tt as clipExportFailure, v as DEFAULT_EVENTS_BAND_BUFFER_SEC, vt as evictionPolicyForMode, w as ExportRecordSchema, x as EVENT_OWNER_TYPES, yt as evictionPolicyOfLocation, zt as modeMayWrite } from "../dist-BWzBHFEB.mjs";
2
- import { a as physicalRootOf, i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-B7gAWBnv.mjs";
1
+ import { $n as preprocess, $t as recordingSignalCapability, B as RecordingConfigSchema, Ct as gbToBytes, Dn as errMsg$1, En as DeviceType, Fn as defineCustomActions, Ft as mayReadLocation, Gn as _enum, I as RECORDING_EXPORT_MAX_READ_BYTES, It as mayWriteToLocation, Kn as array, L as RECORDING_SOURCE_CAMSTACK, Ln as hydrateSchema, Lt as memoizePinnedFfmpeg, M as OpsLogEntrySchema, Ot as isFirstLevelMacroClass, Pn as customAction, Q as batteryCapability, Qn as object, Qt as recordingExportCapability, R as RECORDING_SOURCE_CAMSTACK_ADDON, Rt as migrateLegacyDeviceSignalConfig, S as EVENT_PAD_MS, Sn as evaluateSensorEdge, Tn as DeviceFeature, U as VIDEOCLIPS_MAX_OFFER_BYTES, Un as selectAssignedProfileSlots, V as RecordingSignalStatusSchema, Vn as nodePin, W as VISIT_MERGE_GAP_MS, Wn as sleep$1, Xt as recordingArchiveCapability, Zn as number, Zt as recordingCapability, bt as exportSubjectOf, dn as storageEvictableCapability, dt as deriveRecordingMode, er as record, fn as storageOccupancyCapability, gn as videoclipsCapability, jt as loadContributionCapability, kn as BaseAddon, lt as deriveBatteryPresence, mn as stripRetiredBandPreBufferSec, nt as clipExportFailureOf, o as BatteryStatusSchema, on as resolveRecordingProfiles, qn as boolean, rn as resolveLocationMode, rr as EventCategory, s as CLIP_BROKER_PACED_RATES, tn as resolveCreateExportSubject, tr as string, tt as clipExportFailure, v as DEFAULT_EVENTS_BAND_BUFFER_SEC, vt as evictionPolicyForMode, w as ExportRecordSchema, x as EVENT_OWNER_TYPES, yt as evictionPolicyOfLocation, zt as modeMayWrite } from "../dist-BAHBDujp.mjs";
2
+ import { a as physicalRootOf, i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-BPwelwyj.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";
@@ -5919,16 +5919,6 @@ Object.freeze({
5919
5919
  "pullPcm": { "maxCount": 8 }
5920
5920
  },
5921
5921
  "battery": { "wakeForStream": { "timeoutMs": 8e3 } },
5922
- "decoder": {
5923
- "createSession": {
5924
- "maxFps": 0,
5925
- "outputFormat": "jpeg",
5926
- "scale": 1,
5927
- "frameSink": "callback"
5928
- },
5929
- "pullFrames": { "maxCount": 1 },
5930
- "pullHandles": { "maxCount": 1 }
5931
- },
5932
5922
  "device-adoption": { "listCandidates": {
5933
5923
  "page": 1,
5934
5924
  "pageSize": 50
@@ -6116,7 +6106,6 @@ Object.freeze({
6116
6106
  "speed": 4
6117
6107
  },
6118
6108
  "pullAudioChunks": { "maxCount": 8 },
6119
- "pullFrameHandles": { "maxCount": 4 },
6120
6109
  "renderPreBufferClip": {
6121
6110
  "preRollSec": 3,
6122
6111
  "postRollSec": 5,
@@ -1,5 +1,5 @@
1
1
  import { r as __toESM, t as __commonJSMin } from "./chunk-DnnnRqeS.mjs";
2
- import { Dn as errMsg } from "./dist-BWzBHFEB.mjs";
2
+ import { Dn as errMsg } from "./dist-BAHBDujp.mjs";
3
3
  import { spawn } from "node:child_process";
4
4
  //#region src/stream-broker/recorded/avcc-annexb.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-w_gA9z8W.js");
2
+ const require_dist = require("./dist-BwipY6K1.js");
3
3
  let node_child_process = require("node:child_process");
4
4
  //#region src/stream-broker/recorded/avcc-annexb.ts
5
5
  /**
@@ -1,7 +1,7 @@
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-Czhfk3hD.mjs";
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-uAQqU5lv.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-B204qFeL.mjs";
4
+ import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BUfCTcDV.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) => {
@@ -1461,7 +1461,7 @@ function je({ slot: t, camStreams: n, compact: a }) {
1461
1461
  brokerId: t.brokerId,
1462
1462
  ...e
1463
1463
  });
1464
- }, [D, t.brokerId]), k = (t.sourceCamStreamId ? n.get(t.sourceCamStreamId) : void 0)?.resolution ?? t.resolution, A = l?.status === "streaming", j = k ? `${q[t.profile]} (${k.width}×${k.height})` : q[t.profile], M = l ? l.encodedSubscribers + l.decodedSubscribers + (l.rtspClients ?? 0) + (l.pipeClients ?? 0) : 0;
1464
+ }, [D, t.brokerId]), k = (t.sourceCamStreamId ? n.get(t.sourceCamStreamId) : void 0)?.resolution ?? t.resolution, A = l?.status === "streaming", j = k ? `${q[t.profile]} (${k.width}×${k.height})` : q[t.profile], M = l ? l.encodedSubscribers + (l.rtspClients ?? 0) + (l.pipeClients ?? 0) : 0;
1465
1465
  return /* @__PURE__ */ b("div", {
1466
1466
  className: `@container ${a ? "px-3 py-1.5" : "px-4 py-2"}`,
1467
1467
  style: { containerType: "inline-size" },
@@ -1501,11 +1501,7 @@ function je({ slot: t, camStreams: n, compact: a }) {
1501
1501
  children: "FPS:"
1502
1502
  }), /* @__PURE__ */ b("span", {
1503
1503
  className: "text-foreground",
1504
- children: [
1505
- l.inputFps.toFixed(1),
1506
- "/",
1507
- l.decodeFps.toFixed(1)
1508
- ]
1504
+ children: [l.inputFps.toFixed(1), " fps"]
1509
1505
  })]
1510
1506
  }),
1511
1507
  /* @__PURE__ */ b("span", {
@@ -1544,7 +1540,7 @@ function je({ slot: t, camStreams: n, compact: a }) {
1544
1540
  children: "("
1545
1541
  }),
1546
1542
  /* @__PURE__ */ y(Le, {
1547
- count: l.encodedSubscribers + l.decodedSubscribers,
1543
+ count: l.encodedSubscribers,
1548
1544
  clients: d,
1549
1545
  onKill: O
1550
1546
  }),
@@ -1581,16 +1577,6 @@ function je({ slot: t, camStreams: n, compact: a }) {
1581
1577
  children: [l.inputFps.toFixed(1), " fps"]
1582
1578
  })]
1583
1579
  }),
1584
- /* @__PURE__ */ b("span", {
1585
- className: "inline-flex whitespace-nowrap gap-1",
1586
- children: [/* @__PURE__ */ y("span", {
1587
- className: "text-foreground-subtle",
1588
- children: "Dec:"
1589
- }), /* @__PURE__ */ b("span", {
1590
- className: "text-foreground",
1591
- children: [l.decodeFps.toFixed(1), " fps"]
1592
- })]
1593
- }),
1594
1580
  /* @__PURE__ */ b("span", {
1595
1581
  className: "inline-flex whitespace-nowrap gap-1",
1596
1582
  children: [/* @__PURE__ */ y("span", {
@@ -1621,19 +1607,6 @@ function je({ slot: t, camStreams: n, compact: a }) {
1621
1607
  children: l.codec?.toUpperCase() ?? "—"
1622
1608
  })]
1623
1609
  }),
1624
- /* @__PURE__ */ b("span", {
1625
- className: "hidden @[480px]:inline-flex whitespace-nowrap gap-1 max-w-full overflow-hidden",
1626
- children: [/* @__PURE__ */ y("span", {
1627
- className: "text-foreground-subtle",
1628
- children: "Decoder:"
1629
- }), /* @__PURE__ */ y("span", {
1630
- className: "text-foreground font-mono truncate",
1631
- children: l.decoderNodeId ?? /* @__PURE__ */ y("span", {
1632
- className: "text-foreground-subtle italic",
1633
- children: "deferred"
1634
- })
1635
- })]
1636
- }),
1637
1610
  /* @__PURE__ */ b("span", {
1638
1611
  className: "hidden @[640px]:inline-flex whitespace-nowrap gap-1",
1639
1612
  children: [/* @__PURE__ */ y("span", {
@@ -1772,46 +1745,28 @@ function Fe(e) {
1772
1745
  return e < 1024 ? `${e} B` : e < 1048576 ? `${(e / 1024).toFixed(1)} KB` : e < 1073741824 ? `${(e / 1048576).toFixed(1)} MB` : `${(e / 1073741824).toFixed(2)} GB`;
1773
1746
  }
1774
1747
  function Ie({ clients: e, encodedCount: t, onKill: n }) {
1775
- let r = e?.decoded ?? [], i = e?.audio ?? [], a = e?.rtsp ?? [], o = e?.encoded ?? [], s = r.length + i.length + a.length + o.length, [c, l] = g(!0);
1776
- return s === 0 ? /* @__PURE__ */ y("div", {
1748
+ let r = e?.audio ?? [], i = e?.rtsp ?? [], a = e?.encoded ?? [], o = r.length + i.length + a.length, [s, c] = g(!0);
1749
+ return o === 0 ? /* @__PURE__ */ y("div", {
1777
1750
  className: "mt-1.5 text-[10px] text-foreground-subtle italic",
1778
1751
  children: "No active subscribers"
1779
1752
  }) : /* @__PURE__ */ b("div", {
1780
1753
  className: "mt-1.5 border-t border-border/30 pt-1.5",
1781
1754
  children: [/* @__PURE__ */ b("button", {
1782
1755
  type: "button",
1783
- onClick: () => l((e) => !e),
1756
+ onClick: () => c((e) => !e),
1784
1757
  className: "flex items-center gap-1 text-[10px] text-foreground-subtle hover:text-foreground transition-colors",
1785
- children: [y(c ? P : F, { className: "h-3 w-3" }), /* @__PURE__ */ b("span", {
1758
+ children: [y(s ? P : F, { className: "h-3 w-3" }), /* @__PURE__ */ b("span", {
1786
1759
  className: "uppercase tracking-wider",
1787
1760
  children: [
1788
1761
  "Subscribers (",
1789
- s,
1762
+ o,
1790
1763
  ")"
1791
1764
  ]
1792
1765
  })]
1793
- }), c && /* @__PURE__ */ b("div", {
1766
+ }), s && /* @__PURE__ */ b("div", {
1794
1767
  className: "mt-1 divide-y divide-border/20",
1795
1768
  children: [
1796
1769
  r.map((e, t) => /* @__PURE__ */ y(Q, {
1797
- kind: "DECODED",
1798
- kindClass: "bg-success/10 text-success",
1799
- tag: e.tag || "unknown",
1800
- metrics: [
1801
- `${e.maxFps.toFixed(0)}fps`,
1802
- `${e.framesDelivered} del`,
1803
- ...e.framesDropped > 0 ? [{
1804
- text: `${e.framesDropped} drop`,
1805
- warn: !0
1806
- }] : []
1807
- ],
1808
- age: Date.now() - e.subscribedAt,
1809
- onKill: n && e.tag ? () => n({
1810
- channel: "decoded",
1811
- handle: e.tag
1812
- }) : void 0
1813
- }, `d-${t}`)),
1814
- i.map((e, t) => /* @__PURE__ */ y(Q, {
1815
1770
  kind: "AUDIO",
1816
1771
  kindClass: "bg-info/10 text-info",
1817
1772
  tag: e.tag || "unknown",
@@ -1822,7 +1777,7 @@ function Ie({ clients: e, encodedCount: t, onKill: n }) {
1822
1777
  handle: e.tag
1823
1778
  }) : void 0
1824
1779
  }, `a-${t}`)),
1825
- a.map((e) => {
1780
+ i.map((e) => {
1826
1781
  let t = Date.now() - e.lastRtpAt, r = t > 5e3, i = e.playing ? r ? "stalled" : "playing" : "paused", a = e.playing ? r ? "bg-amber-400/10 text-amber-400" : "bg-success/10 text-success" : "bg-foreground-subtle/10 text-foreground-subtle";
1827
1782
  return /* @__PURE__ */ y(Q, {
1828
1783
  kind: "RTSP",
@@ -1840,7 +1795,7 @@ function Ie({ clients: e, encodedCount: t, onKill: n }) {
1840
1795
  }) : void 0
1841
1796
  }, `r-${e.sessionId}`);
1842
1797
  }),
1843
- o.map((e) => {
1798
+ a.map((e) => {
1844
1799
  let t = e.attribution, n = we[t.kind] ?? "bg-foreground-subtle/10 text-foreground-subtle", r = t.sessionId ? t.sessionId.slice(0, 8) : null, i = [];
1845
1800
  t.label && i.push(t.label), r && i.push(`sess ${r}`), t.userId && i.push(`user ${t.userId.slice(0, 8)}`), t.remoteAddr && i.push(`@${t.remoteAddr}`), t.userAgent && i.push(K(t.userAgent));
1846
1801
  let a = i.length > 0 ? i.join(" · ") : Ee(t.kind), o = [];
@@ -1852,7 +1807,7 @@ function Ie({ clients: e, encodedCount: t, onKill: n }) {
1852
1807
  age: Date.now() - e.subscribedAt
1853
1808
  }, e.id);
1854
1809
  }),
1855
- o.length === 0 && t > 0 && /* @__PURE__ */ b("div", {
1810
+ a.length === 0 && t > 0 && /* @__PURE__ */ b("div", {
1856
1811
  className: "py-0.5 text-[10px] text-foreground-subtle",
1857
1812
  children: [
1858
1813
  /* @__PURE__ */ y("span", {
@@ -1920,81 +1875,44 @@ function Q({ kind: e, kindClass: t, tag: n, state: r, metrics: i, age: a, onKill
1920
1875
  });
1921
1876
  }
1922
1877
  function Le({ count: e, clients: t, onKill: n }) {
1923
- let r = t?.decoded ?? [], i = t?.audio ?? [], a = t ? t.encodedSubscribers : 0, o = r.length > 0 || i.length > 0 || a > 0, s = /* @__PURE__ */ y("span", {
1924
- className: `text-foreground ${o ? "underline decoration-dotted decoration-foreground-subtle/50 underline-offset-2 cursor-help" : ""}`,
1878
+ let r = t?.audio ?? [], i = t ? t.encodedSubscribers : 0, a = r.length > 0 || i > 0, o = /* @__PURE__ */ y("span", {
1879
+ className: `text-foreground ${a ? "underline decoration-dotted decoration-foreground-subtle/50 underline-offset-2 cursor-help" : ""}`,
1925
1880
  children: e
1926
1881
  });
1927
- return o ? /* @__PURE__ */ y(Pe, {
1928
- trigger: s,
1929
- content: /* @__PURE__ */ b(x, { children: [
1930
- r.length > 0 && /* @__PURE__ */ b("div", {
1931
- className: "mb-2",
1932
- children: [/* @__PURE__ */ y("div", {
1933
- className: "text-foreground-subtle uppercase text-[9px] tracking-wider mb-1",
1934
- children: "Decoded subscribers"
1935
- }), r.map((e, t) => /* @__PURE__ */ b("div", {
1936
- className: "flex items-center justify-between gap-2 py-0.5",
1937
- children: [/* @__PURE__ */ y("span", {
1938
- className: "text-foreground font-medium truncate",
1939
- children: e.tag || "unknown"
1940
- }), /* @__PURE__ */ b("span", {
1941
- className: "text-foreground-subtle text-[9px] flex items-center gap-1.5 shrink-0",
1942
- children: [
1943
- /* @__PURE__ */ b("span", { children: [e.maxFps.toFixed(0), "fps"] }),
1944
- /* @__PURE__ */ y("span", { children: "·" }),
1945
- /* @__PURE__ */ b("span", { children: [e.framesDelivered, " del"] }),
1946
- e.framesDropped > 0 && /* @__PURE__ */ b("span", {
1947
- className: "text-amber-400",
1948
- children: [
1949
- "· ",
1950
- e.framesDropped,
1951
- " drop"
1952
- ]
1953
- }),
1954
- /* @__PURE__ */ y("span", { children: "·" }),
1955
- /* @__PURE__ */ y("span", { children: Z(Date.now() - e.subscribedAt) }),
1956
- n && e.tag && /* @__PURE__ */ y($, { onClick: () => n({
1957
- channel: "decoded",
1958
- handle: e.tag
1959
- }) })
1960
- ]
1961
- })]
1962
- }, `d-${t}`))]
1963
- }),
1964
- i.length > 0 && /* @__PURE__ */ b("div", {
1965
- className: "mb-2",
1966
- children: [/* @__PURE__ */ y("div", {
1967
- className: "text-foreground-subtle uppercase text-[9px] tracking-wider mb-1",
1968
- children: "Audio subscribers"
1969
- }), i.map((e, t) => /* @__PURE__ */ b("div", {
1970
- className: "flex items-center justify-between gap-2 py-0.5",
1971
- children: [/* @__PURE__ */ y("span", {
1972
- className: "text-foreground font-medium truncate",
1973
- children: e.tag || "unknown"
1974
- }), /* @__PURE__ */ b("span", {
1975
- className: "text-foreground-subtle text-[9px] flex items-center gap-1.5 shrink-0",
1976
- children: [
1977
- /* @__PURE__ */ b("span", { children: [e.chunksDelivered, " chunks"] }),
1978
- /* @__PURE__ */ y("span", { children: "·" }),
1979
- /* @__PURE__ */ y("span", { children: Z(Date.now() - e.subscribedAt) }),
1980
- n && e.tag && /* @__PURE__ */ y($, { onClick: () => n({
1981
- channel: "audio",
1982
- handle: e.tag
1983
- }) })
1984
- ]
1985
- })]
1986
- }, `a-${t}`))]
1987
- }),
1988
- a > 0 && /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("div", {
1882
+ return a ? /* @__PURE__ */ y(Pe, {
1883
+ trigger: o,
1884
+ content: /* @__PURE__ */ b(x, { children: [r.length > 0 && /* @__PURE__ */ b("div", {
1885
+ className: "mb-2",
1886
+ children: [/* @__PURE__ */ y("div", {
1989
1887
  className: "text-foreground-subtle uppercase text-[9px] tracking-wider mb-1",
1990
- children: "Encoded"
1991
- }), /* @__PURE__ */ b("div", {
1992
- className: "text-foreground",
1993
- children: [a, " callback subscriber(s)"]
1994
- })] })
1995
- ] }),
1888
+ children: "Audio subscribers"
1889
+ }), r.map((e, t) => /* @__PURE__ */ b("div", {
1890
+ className: "flex items-center justify-between gap-2 py-0.5",
1891
+ children: [/* @__PURE__ */ y("span", {
1892
+ className: "text-foreground font-medium truncate",
1893
+ children: e.tag || "unknown"
1894
+ }), /* @__PURE__ */ b("span", {
1895
+ className: "text-foreground-subtle text-[9px] flex items-center gap-1.5 shrink-0",
1896
+ children: [
1897
+ /* @__PURE__ */ b("span", { children: [e.chunksDelivered, " chunks"] }),
1898
+ /* @__PURE__ */ y("span", { children: "·" }),
1899
+ /* @__PURE__ */ y("span", { children: Z(Date.now() - e.subscribedAt) }),
1900
+ n && e.tag && /* @__PURE__ */ y($, { onClick: () => n({
1901
+ channel: "audio",
1902
+ handle: e.tag
1903
+ }) })
1904
+ ]
1905
+ })]
1906
+ }, `a-${t}`))]
1907
+ }), i > 0 && /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("div", {
1908
+ className: "text-foreground-subtle uppercase text-[9px] tracking-wider mb-1",
1909
+ children: "Encoded"
1910
+ }), /* @__PURE__ */ b("div", {
1911
+ className: "text-foreground",
1912
+ children: [i, " callback subscriber(s)"]
1913
+ })] })] }),
1996
1914
  widthClass: "min-w-[260px] max-w-[360px]"
1997
- }) : s;
1915
+ }) : o;
1998
1916
  }
1999
1917
  function Re({ enabled: e, known: t, onToggle: n, disabled: r }) {
2000
1918
  return /* @__PURE__ */ y("button", {
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.124",
6
+ version: "1.2.125",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_stream_broker_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.322",
21
+ version: "1.2.323",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_stream_broker_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.246",
36
+ version: "1.2.247",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_stream_broker_widgets",