@camstack/addon-pipeline 1.2.183 → 1.2.185
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.
- package/dist/audio-analyzer/index.js +2 -2
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +5 -5
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-Bh1w7wfg.js → dist-CiVhPNTB.js} +13 -4
- package/dist/{dist-DOJIQ-sh.mjs → dist-yaetDPpW.mjs} +13 -4
- package/dist/{lazy-sharp-D8FzOY6L.js → lazy-sharp-D1PX1Psd.js} +1 -1
- package/dist/{local-frame-registry-Ct4YmN3z.mjs → local-frame-registry-BOXH34yk.mjs} +1 -1
- package/dist/{local-frame-registry-Bz2DRFK7.js → local-frame-registry-Bm_ZCVMl.js} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-C0KMHgpF.mjs → node-CCRb0fqW.mjs} +1 -1
- package/dist/{node-Cl2Sjm4s.js → node-DGzZLg-c.js} +1 -1
- package/dist/pipeline-runner/index.js +12 -14
- package/dist/pipeline-runner/index.mjs +11 -13
- package/dist/{process-memory-zLBrzuFc.mjs → process-memory-BIy4e_mZ.mjs} +1 -1
- package/dist/{process-memory-DiEghzlW.js → process-memory-C7f66zUT.js} +1 -1
- package/dist/recorder/index.js +2 -2
- package/dist/recorder/index.mjs +2 -2
- package/dist/{segment-demux-js-BtZ8kfA2.mjs → segment-demux-js-CViDx3UC.mjs} +1 -1
- package/dist/{segment-demux-js-BI5iWBgx.js → segment-demux-js-CnqYsNPt.js} +1 -1
- package/dist/session-decode/decode-worker-child.js +2 -2
- package/dist/session-decode/decode-worker-child.mjs +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-4NEhUNJS.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Bd2po-GM.mjs} +3 -3
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-BWI_flla.mjs → hostInit-R30YeWmh.mjs} +3 -3
- package/dist/stream-broker/index.js +3 -3
- package/dist/stream-broker/index.mjs +3 -3
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-DGs9jUib.mjs → worker-protocol-BcKW7xgG.mjs} +1 -1
- package/dist/{worker-protocol-BGRTG_GT.js → worker-protocol-Db6BWHr-.js} +1 -1
- package/package.json +6 -1
|
@@ -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-
|
|
6
|
-
const require_process_memory = require("../process-memory-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_process_memory = require("../process-memory-C7f66zUT.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
node_fs = require_dist.__toESM(node_fs);
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { A as audioAnalysisCapability, It as hydrateSchema, S as PoolMemoryWatchdog, _t as resolvePoolMemoryPolicy, j as audioAnalyzerCapability, jt as BaseAddon, n as AUDIO_BACKEND_CHOICES, nt as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL, wt as errMsg } from "../dist-
|
|
3
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { A as audioAnalysisCapability, It as hydrateSchema, S as PoolMemoryWatchdog, _t as resolvePoolMemoryPolicy, j as audioAnalyzerCapability, jt as BaseAddon, n as AUDIO_BACKEND_CHOICES, nt as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL, wt as errMsg } from "../dist-yaetDPpW.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-BIy4e_mZ.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";
|
|
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_node = require("../node-
|
|
7
|
-
const require_local_frame_registry = require("../local-frame-registry-
|
|
8
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_node = require("../node-DGzZLg-c.js");
|
|
7
|
+
const require_local_frame_registry = require("../local-frame-registry-Bm_ZCVMl.js");
|
|
8
|
+
const require_lazy_sharp = require("../lazy-sharp-D1PX1Psd.js");
|
|
9
9
|
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
|
|
10
|
-
const require_process_memory = require("../process-memory-
|
|
10
|
+
const require_process_memory = require("../process-memory-C7f66zUT.js");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
12
|
node_fs = require_dist.__toESM(node_fs);
|
|
13
13
|
let node_path = require("node:path");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { Bt as nodePin, Ft as createEvent, It as hydrateSchema, Kt as array, O as YAMNET_TO_MACRO, Q as inferModelProvider, Qt as object, S as PoolMemoryWatchdog, St as supportedRuntimes$1, Vt as parseJsonUnknown, W as detectionPipelineCapability, Wt as sleep, Y as evaluateZoneRules, _t as resolvePoolMemoryPolicy, at as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, ct as pickClusterStepSettings, dt as pipelineExecutorCapability, en as string, et as loadContributionCapability, ht as resolveClusterStepModelId, jt as BaseAddon, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, q as enumerateInferenceDevices, st as pickClusterStepModels, t as APPLE_SA_TO_MACRO, tn as union, wt as errMsg, yt as runtimeDevices$1, z as defaultDeviceFor$1 } from "../dist-
|
|
3
|
-
import { a as readProcessCost } from "../node-
|
|
4
|
-
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep, t as localFrameRegistry, u as landmarkPrecisionVerdict } from "../local-frame-registry-
|
|
2
|
+
import { Bt as nodePin, Ft as createEvent, It as hydrateSchema, Kt as array, O as YAMNET_TO_MACRO, Q as inferModelProvider, Qt as object, S as PoolMemoryWatchdog, St as supportedRuntimes$1, Vt as parseJsonUnknown, W as detectionPipelineCapability, Wt as sleep, Y as evaluateZoneRules, _t as resolvePoolMemoryPolicy, at as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, ct as pickClusterStepSettings, dt as pipelineExecutorCapability, en as string, et as loadContributionCapability, ht as resolveClusterStepModelId, jt as BaseAddon, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, q as enumerateInferenceDevices, st as pickClusterStepModels, t as APPLE_SA_TO_MACRO, tn as union, wt as errMsg, yt as runtimeDevices$1, z as defaultDeviceFor$1 } from "../dist-yaetDPpW.mjs";
|
|
3
|
+
import { a as readProcessCost } from "../node-CCRb0fqW.mjs";
|
|
4
|
+
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep, t as localFrameRegistry, u as landmarkPrecisionVerdict } from "../local-frame-registry-BOXH34yk.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
6
6
|
import { n as startEventLoopStallMonitor } from "../event-loop-stall-monitor-DXLNBMkY.mjs";
|
|
7
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
7
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-BIy4e_mZ.mjs";
|
|
8
8
|
import * as fs from "node:fs";
|
|
9
9
|
import * as path$1 from "node:path";
|
|
10
10
|
import { dirname, join } from "node:path";
|
|
@@ -8555,7 +8555,8 @@ var CameraSwitchAuthoritySchema = discriminatedUnion("kind", [
|
|
|
8555
8555
|
var CameraSwitchUnavailableReasonSchema = _enum([
|
|
8556
8556
|
"no-provider",
|
|
8557
8557
|
"source-unreachable",
|
|
8558
|
-
"not-configured"
|
|
8558
|
+
"not-configured",
|
|
8559
|
+
"device-disabled"
|
|
8559
8560
|
]);
|
|
8560
8561
|
/**
|
|
8561
8562
|
* One switch, resolved for one camera.
|
|
@@ -25841,12 +25842,20 @@ var BatteryStatusSchema = object({
|
|
|
25841
25842
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
25842
25843
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
25843
25844
|
* common on other battery cams). `'none'` means running on battery
|
|
25844
|
-
* alone.
|
|
25845
|
+
* alone — a NEGATIVE the firmware actually reported.
|
|
25846
|
+
*
|
|
25847
|
+
* `'unknown'` is the absence of an answer: the provider has not read the
|
|
25848
|
+
* power fields yet, or the firmware reported neither. Before it existed,
|
|
25849
|
+
* two unreadable fields produced `'none'`, and a camera nobody had reached
|
|
25850
|
+
* was drawn "on battery alone" — the same D315 defect `percentage` closed
|
|
25851
|
+
* by going nullable. Consumers SKIP it (no charger state published, no
|
|
25852
|
+
* glyph, no HomeKit ChargingState) rather than coerce it either way.
|
|
25845
25853
|
*/
|
|
25846
25854
|
charging: _enum([
|
|
25847
25855
|
"dc",
|
|
25848
25856
|
"solar",
|
|
25849
|
-
"none"
|
|
25857
|
+
"none",
|
|
25858
|
+
"unknown"
|
|
25850
25859
|
]),
|
|
25851
25860
|
/**
|
|
25852
25861
|
* True when the camera firmware has gone into low-power mode. Battery
|
|
@@ -25936,7 +25945,7 @@ onStatusChanged: { data: object({
|
|
|
25936
25945
|
kind: "push",
|
|
25937
25946
|
empty: {
|
|
25938
25947
|
percentage: 0,
|
|
25939
|
-
charging: "
|
|
25948
|
+
charging: "unknown",
|
|
25940
25949
|
sleeping: false,
|
|
25941
25950
|
lastUpdated: 0
|
|
25942
25951
|
}
|
|
@@ -8532,7 +8532,8 @@ var CameraSwitchAuthoritySchema = discriminatedUnion("kind", [
|
|
|
8532
8532
|
var CameraSwitchUnavailableReasonSchema = _enum([
|
|
8533
8533
|
"no-provider",
|
|
8534
8534
|
"source-unreachable",
|
|
8535
|
-
"not-configured"
|
|
8535
|
+
"not-configured",
|
|
8536
|
+
"device-disabled"
|
|
8536
8537
|
]);
|
|
8537
8538
|
/**
|
|
8538
8539
|
* One switch, resolved for one camera.
|
|
@@ -25818,12 +25819,20 @@ var BatteryStatusSchema = object({
|
|
|
25818
25819
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
25819
25820
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
25820
25821
|
* common on other battery cams). `'none'` means running on battery
|
|
25821
|
-
* alone.
|
|
25822
|
+
* alone — a NEGATIVE the firmware actually reported.
|
|
25823
|
+
*
|
|
25824
|
+
* `'unknown'` is the absence of an answer: the provider has not read the
|
|
25825
|
+
* power fields yet, or the firmware reported neither. Before it existed,
|
|
25826
|
+
* two unreadable fields produced `'none'`, and a camera nobody had reached
|
|
25827
|
+
* was drawn "on battery alone" — the same D315 defect `percentage` closed
|
|
25828
|
+
* by going nullable. Consumers SKIP it (no charger state published, no
|
|
25829
|
+
* glyph, no HomeKit ChargingState) rather than coerce it either way.
|
|
25822
25830
|
*/
|
|
25823
25831
|
charging: _enum([
|
|
25824
25832
|
"dc",
|
|
25825
25833
|
"solar",
|
|
25826
|
-
"none"
|
|
25834
|
+
"none",
|
|
25835
|
+
"unknown"
|
|
25827
25836
|
]),
|
|
25828
25837
|
/**
|
|
25829
25838
|
* True when the camera firmware has gone into low-power mode. Battery
|
|
@@ -25913,7 +25922,7 @@ onStatusChanged: { data: object({
|
|
|
25913
25922
|
kind: "push",
|
|
25914
25923
|
empty: {
|
|
25915
25924
|
percentage: 0,
|
|
25916
|
-
charging: "
|
|
25925
|
+
charging: "unknown",
|
|
25917
25926
|
sleeping: false,
|
|
25918
25927
|
lastUpdated: 0
|
|
25919
25928
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { M as audioKindId, Z as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { M as audioKindId, Z as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-yaetDPpW.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
//#region src/detection-pipeline/registry/model-catalogs.ts
|
|
4
4
|
var HF_REPO = "camstack/camstack-models";
|
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-D1PX1Psd.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { It as hydrateSchema, Pt as DeviceType, Y as evaluateZoneRules, it as motionDetectionCapability, jt as BaseAddon } from "../dist-
|
|
1
|
+
import { It as hydrateSchema, Pt as DeviceType, Y as evaluateZoneRules, it as motionDetectionCapability, jt as BaseAddon } from "../dist-yaetDPpW.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 { Dt as buildFfmpegArgs, Et as Fmp4BoxSplitter, kt as isSoftwareDecode, wt as errMsg } from "./dist-
|
|
1
|
+
import { Dt as buildFfmpegArgs, Et as Fmp4BoxSplitter, kt as isSoftwareDecode, wt as errMsg } from "./dist-yaetDPpW.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import "node:fs";
|
|
4
4
|
import "node:path";
|
|
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_node = require("../node-
|
|
7
|
-
const require_local_frame_registry = require("../local-frame-registry-
|
|
8
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_node = require("../node-DGzZLg-c.js");
|
|
7
|
+
const require_local_frame_registry = require("../local-frame-registry-Bm_ZCVMl.js");
|
|
8
|
+
const require_worker_protocol = require("../worker-protocol-Db6BWHr-.js");
|
|
9
9
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
10
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
10
|
+
const require_lazy_sharp = require("../lazy-sharp-D1PX1Psd.js");
|
|
11
11
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
12
12
|
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
|
|
13
13
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
@@ -302,7 +302,11 @@ var DEFAULT_NODE_DECODE_BUDGET_MB = 8192;
|
|
|
302
302
|
* default); anything absent falls back to what the worker ships with.
|
|
303
303
|
*/
|
|
304
304
|
function decodeWorkerFootprintMb(override) {
|
|
305
|
-
|
|
305
|
+
const budgetMb = override.budgetMb ?? require_dist.DEFAULT_NATIVE_LEASE_SETTINGS.budgetMb;
|
|
306
|
+
const holdFrames = override.holdFrames ?? require_dist.DEFAULT_NATIVE_LEASE_SETTINGS.holdFrames;
|
|
307
|
+
const tileBudgetMb = override.tileBudgetMb ?? require_dist.DEFAULT_NATIVE_LEASE_SETTINGS.tileBudgetMb;
|
|
308
|
+
const sceneBudgetMb = override.sceneBudgetMb ?? require_dist.DEFAULT_NATIVE_LEASE_SETTINGS.sceneBudgetMb;
|
|
309
|
+
return Math.min(budgetMb, holdFrames * 25) + tileBudgetMb + sceneBudgetMb + 350;
|
|
306
310
|
}
|
|
307
311
|
/**
|
|
308
312
|
* The node's live-decode-worker budget.
|
|
@@ -418,15 +422,9 @@ function positiveOrUndefined(value) {
|
|
|
418
422
|
}
|
|
419
423
|
//#endregion
|
|
420
424
|
//#region src/session-decode/native-crop-registry.ts
|
|
421
|
-
/**
|
|
422
|
-
* Default max entries retained across all active decode sessions on a node. Read
|
|
423
|
-
* ONCE from `CAMSTACK_NATIVE_CROP_REGISTRY_CAP`; a non-finite / non-positive
|
|
424
|
-
* value falls back to 256 (was a fixed 64 — too small for a busy multi-camera
|
|
425
|
-
* node, see class doc).
|
|
426
|
-
*/
|
|
427
425
|
var DEFAULT_NATIVE_CROP_REGISTRY_CAP = (() => {
|
|
428
426
|
const raw = Number(process.env["CAMSTACK_NATIVE_CROP_REGISTRY_CAP"]);
|
|
429
|
-
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) :
|
|
427
|
+
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : 4096;
|
|
430
428
|
})();
|
|
431
429
|
/** Invoke a requester's best-effort `release()`, swallowing any transport error. */
|
|
432
430
|
function safeRelease(request) {
|
|
@@ -8458,7 +8456,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends require_dist.BaseAdd
|
|
|
8458
8456
|
type: "slider",
|
|
8459
8457
|
key: "nodeDecodeBudgetMb",
|
|
8460
8458
|
label: "Decode worker RAM budget (MB)",
|
|
8461
|
-
description: "RAM this node lets live decode workers commit. The number of workers admitted is derived from it: budget divided by one worker's worst case
|
|
8459
|
+
description: "RAM this node lets live decode workers commit. 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. At the shipped lease knobs (8 held frames) that is ~660 MB and the default admits 8, the count cap. Raising held frames or the lease budget per worker therefore LOWERS how many run at once, instead of silently authorising more memory.",
|
|
8462
8460
|
min: 1024,
|
|
8463
8461
|
max: 32768,
|
|
8464
8462
|
step: 512,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { B as defineCustomActions, Bt as nodePin, Ft as createEvent, Gt as _enum, H as deriveDetailCropRect, Kt as array, L as customAction, Qt as object, X as failureContributionCapability, Xt as literal, Yt as lazy, Zt as number, _ as FailureCounters, en as string, et as loadContributionCapability, ft as pipelineRunnerCapability, jt as BaseAddon, lt as pickDetailCropConvention, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, p as DEFAULT_NATIVE_LEASE_SETTINGS, qt as boolean, u as DEFAULT_DETAIL_CROP_CONVENTION, ut as pickNativeLeaseOverride, wt as errMsg } from "../dist-
|
|
2
|
-
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-
|
|
3
|
-
import { c as getStepDefinition, n as resolveFrameViewGeometry, t as localFrameRegistry } from "../local-frame-registry-
|
|
4
|
-
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-
|
|
1
|
+
import { B as defineCustomActions, Bt as nodePin, Ft as createEvent, Gt as _enum, H as deriveDetailCropRect, Kt as array, L as customAction, Qt as object, X as failureContributionCapability, Xt as literal, Yt as lazy, Zt as number, _ as FailureCounters, en as string, et as loadContributionCapability, ft as pipelineRunnerCapability, jt as BaseAddon, lt as pickDetailCropConvention, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, p as DEFAULT_NATIVE_LEASE_SETTINGS, qt as boolean, u as DEFAULT_DETAIL_CROP_CONVENTION, ut as pickNativeLeaseOverride, wt as errMsg } from "../dist-yaetDPpW.mjs";
|
|
2
|
+
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-CCRb0fqW.mjs";
|
|
3
|
+
import { c as getStepDefinition, n as resolveFrameViewGeometry, t as localFrameRegistry } from "../local-frame-registry-BOXH34yk.mjs";
|
|
4
|
+
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-BcKW7xgG.mjs";
|
|
5
5
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
6
6
|
import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
7
7
|
import { n as withDetectionIntent } from "../restream-intent-B4BXZra7.mjs";
|
|
@@ -296,7 +296,11 @@ var DEFAULT_NODE_DECODE_BUDGET_MB = 8192;
|
|
|
296
296
|
* default); anything absent falls back to what the worker ships with.
|
|
297
297
|
*/
|
|
298
298
|
function decodeWorkerFootprintMb(override) {
|
|
299
|
-
|
|
299
|
+
const budgetMb = override.budgetMb ?? DEFAULT_NATIVE_LEASE_SETTINGS.budgetMb;
|
|
300
|
+
const holdFrames = override.holdFrames ?? DEFAULT_NATIVE_LEASE_SETTINGS.holdFrames;
|
|
301
|
+
const tileBudgetMb = override.tileBudgetMb ?? DEFAULT_NATIVE_LEASE_SETTINGS.tileBudgetMb;
|
|
302
|
+
const sceneBudgetMb = override.sceneBudgetMb ?? DEFAULT_NATIVE_LEASE_SETTINGS.sceneBudgetMb;
|
|
303
|
+
return Math.min(budgetMb, holdFrames * 25) + tileBudgetMb + sceneBudgetMb + 350;
|
|
300
304
|
}
|
|
301
305
|
/**
|
|
302
306
|
* The node's live-decode-worker budget.
|
|
@@ -412,15 +416,9 @@ function positiveOrUndefined(value) {
|
|
|
412
416
|
}
|
|
413
417
|
//#endregion
|
|
414
418
|
//#region src/session-decode/native-crop-registry.ts
|
|
415
|
-
/**
|
|
416
|
-
* Default max entries retained across all active decode sessions on a node. Read
|
|
417
|
-
* ONCE from `CAMSTACK_NATIVE_CROP_REGISTRY_CAP`; a non-finite / non-positive
|
|
418
|
-
* value falls back to 256 (was a fixed 64 — too small for a busy multi-camera
|
|
419
|
-
* node, see class doc).
|
|
420
|
-
*/
|
|
421
419
|
var DEFAULT_NATIVE_CROP_REGISTRY_CAP = (() => {
|
|
422
420
|
const raw = Number(process.env["CAMSTACK_NATIVE_CROP_REGISTRY_CAP"]);
|
|
423
|
-
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) :
|
|
421
|
+
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : 4096;
|
|
424
422
|
})();
|
|
425
423
|
/** Invoke a requester's best-effort `release()`, swallowing any transport error. */
|
|
426
424
|
function safeRelease(request) {
|
|
@@ -8451,7 +8449,7 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
|
|
|
8451
8449
|
type: "slider",
|
|
8452
8450
|
key: "nodeDecodeBudgetMb",
|
|
8453
8451
|
label: "Decode worker RAM budget (MB)",
|
|
8454
|
-
description: "RAM this node lets live decode workers commit. The number of workers admitted is derived from it: budget divided by one worker's worst case
|
|
8452
|
+
description: "RAM this node lets live decode workers commit. 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. At the shipped lease knobs (8 held frames) that is ~660 MB and the default admits 8, the count cap. Raising held frames or the lease budget per worker therefore LOWERS how many run at once, instead of silently authorising more memory.",
|
|
8455
8453
|
min: 1024,
|
|
8456
8454
|
max: 32768,
|
|
8457
8455
|
step: 512,
|
package/dist/recorder/index.js
CHANGED
|
@@ -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-
|
|
6
|
-
const require_node = require("../node-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_node = require("../node-DGzZLg-c.js");
|
|
7
7
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
8
8
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
9
9
|
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
|
package/dist/recorder/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as isFirstLevelMacroClass, $t as record, B as defineCustomActions, Bt as nodePin, E as RecordingConfigSchema, Gt as _enum, It as hydrateSchema, J as evaluateSensorEdge, Kt as array, L as customAction, N as batteryCapability, Nt as DeviceFeature, Pt as DeviceType, Qt as object, T as RECORDING_EXPORT_MAX_READ_BYTES, U as deriveRecordingMode, Ut as selectAssignedProfileSlots, V as deriveBatteryPresence, Wt as sleep$1, Zt as number, bt as storageEvictableCapability, d as DEFAULT_EVENTS_BAND_BUFFER_SEC, en as string, et as loadContributionCapability, g as ExportRecordSchema, i as BatteryStatusSchema, jt as BaseAddon, mt as recordingExportCapability, nn as EventCategory, pt as recordingCapability, qt as boolean, vt as resolveRecordingProfiles, wt as errMsg, x as OpsLogEntrySchema } from "../dist-
|
|
2
|
-
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-
|
|
1
|
+
import { $ as isFirstLevelMacroClass, $t as record, B as defineCustomActions, Bt as nodePin, E as RecordingConfigSchema, Gt as _enum, It as hydrateSchema, J as evaluateSensorEdge, Kt as array, L as customAction, N as batteryCapability, Nt as DeviceFeature, Pt as DeviceType, Qt as object, T as RECORDING_EXPORT_MAX_READ_BYTES, U as deriveRecordingMode, Ut as selectAssignedProfileSlots, V as deriveBatteryPresence, Wt as sleep$1, Zt as number, bt as storageEvictableCapability, d as DEFAULT_EVENTS_BAND_BUFFER_SEC, en as string, et as loadContributionCapability, g as ExportRecordSchema, i as BatteryStatusSchema, jt as BaseAddon, mt as recordingExportCapability, nn as EventCategory, pt as recordingCapability, qt as boolean, vt as resolveRecordingProfiles, wt as errMsg, x as OpsLogEntrySchema } from "../dist-yaetDPpW.mjs";
|
|
2
|
+
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-CCRb0fqW.mjs";
|
|
3
3
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
4
4
|
import { r as withRecordingIntent } from "../restream-intent-B4BXZra7.mjs";
|
|
5
5
|
import { n as startEventLoopStallMonitor } from "../event-loop-stall-monitor-DXLNBMkY.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as __toESM, t as __commonJSMin } from "./chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { wt as errMsg } from "./dist-
|
|
2
|
+
import { wt as errMsg } from "./dist-yaetDPpW.mjs";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
4
|
//#region ../../node_modules/mp4box/dist/mp4box.all.js
|
|
5
5
|
var require_mp4box_all = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_dist = require("./dist-
|
|
1
|
+
const require_dist = require("./dist-CiVhPNTB.js");
|
|
2
2
|
let node_child_process = require("node:child_process");
|
|
3
3
|
//#region ../../node_modules/mp4box/dist/mp4box.all.js
|
|
4
4
|
var require_mp4box_all = /* @__PURE__ */ require_dist.__commonJSMin(((exports) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
3
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
2
|
+
const require_worker_protocol = require("../worker-protocol-Db6BWHr-.js");
|
|
3
|
+
const require_lazy_sharp = require("../lazy-sharp-D1PX1Psd.js");
|
|
4
4
|
//#region src/session-decode/color-conversion.ts
|
|
5
5
|
/**
|
|
6
6
|
* Explicit YUV→RGB colorspace/range resolution for the session-decode worker.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-
|
|
1
|
+
import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-BcKW7xgG.mjs";
|
|
2
2
|
import { n as setSharpWarnSink, r as hostExternalEntryUrls, t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
3
3
|
//#region src/session-decode/color-conversion.ts
|
|
4
4
|
/**
|
|
@@ -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.
|
|
6
|
+
version: "1.2.69",
|
|
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.
|
|
21
|
+
version: "1.2.149",
|
|
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.
|
|
36
|
+
version: "1.2.116",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_stream_broker_widgets",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_segment_demux_js = require("../segment-demux-js-
|
|
1
|
+
const require_segment_demux_js = require("../segment-demux-js-CnqYsNPt.js");
|
|
2
2
|
let node_worker_threads = require("node:worker_threads");
|
|
3
3
|
//#region src/stream-broker/recorded/demux-worker-child.ts
|
|
4
4
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as demuxSegmentFullJs } from "../segment-demux-js-
|
|
1
|
+
import { t as demuxSegmentFullJs } from "../segment-demux-js-CViDx3UC.mjs";
|
|
2
2
|
import { parentPort } from "node:worker_threads";
|
|
3
3
|
//#region src/stream-broker/recorded/demux-worker-child.ts
|
|
4
4
|
/**
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.149",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.69",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.116",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_node = require("../node-
|
|
5
|
+
const require_dist = require("../dist-CiVhPNTB.js");
|
|
6
|
+
const require_node = require("../node-DGzZLg-c.js");
|
|
7
7
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
8
8
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
9
9
|
const require_retire_root_keys = require("../retire-root-keys-KE6D6Xh_.js");
|
|
10
|
-
const require_segment_demux_js = require("../segment-demux-js-
|
|
10
|
+
const require_segment_demux_js = require("../segment-demux-js-CnqYsNPt.js");
|
|
11
11
|
let node_crypto = require("node:crypto");
|
|
12
12
|
node_crypto = require_dist.__toESM(node_crypto);
|
|
13
13
|
let node_fs = require("node:fs");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as __toESM } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { $t as record, At as BOOT_RECOVERY_BACKOFF_MS, Bt as nodePin, C as RATE_CONTROL_RELAXED, Ct as webrtcSessionCapability, D as RingBuffer, Dt as buildFfmpegArgs$1, F as createHwAccelCache, Ft as createEvent, G as egressTranscodeSharingKey, Gt as _enum, Ht as parseProfileBrokerId, I as createLogChannelsProvider, Jt as discriminatedUnion, K as egressTransportFromRequest, Kt as array, Lt as isEvent, Mt as CAM_PROFILE_ORDER, N as batteryCapability, Nt as DeviceFeature, Ot as invocationFromEncodeProfile, P as cameraStreamsCapability, Pt as DeviceType, Qt as object, R as declareLogChannel, Rt as makeProfileBrokerId, Tt as AUDIO_PRESETS, V as deriveBatteryPresence, Xt as literal, Zt as number, en as string, et as loadContributionCapability, gt as resolveEgressDecodeHwAccel, h as EncodeProfileSchema, i as BatteryStatusSchema, jt as BaseAddon, k as addonWidgetsSourceCapability, kt as isSoftwareDecode, nn as EventCategory, qt as boolean, rt as maskUrlCredentials, tn as union, tt as logChannelsCapability, w as RATE_CONTROL_TIGHT, wt as errMsg, xt as streamBrokerCapability, zt as makeSourceBrokerId } from "../dist-
|
|
3
|
-
import { i as NO_COST_CLAIM, n as Fmp4FragmentChild, r as Fmp4FragmentPlane, t as ChildCostRegistry } from "../node-
|
|
2
|
+
import { $t as record, At as BOOT_RECOVERY_BACKOFF_MS, Bt as nodePin, C as RATE_CONTROL_RELAXED, Ct as webrtcSessionCapability, D as RingBuffer, Dt as buildFfmpegArgs$1, F as createHwAccelCache, Ft as createEvent, G as egressTranscodeSharingKey, Gt as _enum, Ht as parseProfileBrokerId, I as createLogChannelsProvider, Jt as discriminatedUnion, K as egressTransportFromRequest, Kt as array, Lt as isEvent, Mt as CAM_PROFILE_ORDER, N as batteryCapability, Nt as DeviceFeature, Ot as invocationFromEncodeProfile, P as cameraStreamsCapability, Pt as DeviceType, Qt as object, R as declareLogChannel, Rt as makeProfileBrokerId, Tt as AUDIO_PRESETS, V as deriveBatteryPresence, Xt as literal, Zt as number, en as string, et as loadContributionCapability, gt as resolveEgressDecodeHwAccel, h as EncodeProfileSchema, i as BatteryStatusSchema, jt as BaseAddon, k as addonWidgetsSourceCapability, kt as isSoftwareDecode, nn as EventCategory, qt as boolean, rt as maskUrlCredentials, tn as union, tt as logChannelsCapability, w as RATE_CONTROL_TIGHT, wt as errMsg, xt as streamBrokerCapability, zt as makeSourceBrokerId } from "../dist-yaetDPpW.mjs";
|
|
3
|
+
import { i as NO_COST_CLAIM, n as Fmp4FragmentChild, r as Fmp4FragmentPlane, t as ChildCostRegistry } from "../node-CCRb0fqW.mjs";
|
|
4
4
|
import { t as parseRestreamPath } from "../restream-intent-B4BXZra7.mjs";
|
|
5
5
|
import { n as profileForStreamId } from "../remote-restream-BeHi78PZ.mjs";
|
|
6
6
|
import { n as RowMapStore, t as retireRootKeys } from "../retire-root-keys-DMolfhsP.mjs";
|
|
7
|
-
import { i as require_mp4box_all, n as demuxSegmentPreferJs, r as runFfmpegOnce, t as demuxSegmentFullJs } from "../segment-demux-js-
|
|
7
|
+
import { i as require_mp4box_all, n as demuxSegmentPreferJs, r as runFfmpegOnce, t as demuxSegmentFullJs } from "../segment-demux-js-CViDx3UC.mjs";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import * as crypto$1 from "node:crypto";
|
|
10
10
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Bd2po-GM.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as NativeLeaseSettingsSchema, p as DEFAULT_NATIVE_LEASE_SETTINGS, y as NativeLeaseAdmissionSchema } from "./dist-
|
|
1
|
+
import { b as NativeLeaseSettingsSchema, p as DEFAULT_NATIVE_LEASE_SETTINGS, y as NativeLeaseAdmissionSchema } from "./dist-yaetDPpW.mjs";
|
|
2
2
|
//#region src/session-decode/native-lease-config.ts
|
|
3
3
|
/**
|
|
4
4
|
* Resolution of the native-frame hold / tile knobs for one decode worker.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-pipeline",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.185",
|
|
4
4
|
"description": "Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -310,5 +310,10 @@
|
|
|
310
310
|
"typescript": "~6.0.3",
|
|
311
311
|
"vite": "^8.0.11",
|
|
312
312
|
"vitest": "^3.2.4"
|
|
313
|
+
},
|
|
314
|
+
"nx": {
|
|
315
|
+
"implicitDependencies": [
|
|
316
|
+
"@camstack/shm-ring"
|
|
317
|
+
]
|
|
313
318
|
}
|
|
314
319
|
}
|