@camstack/addon-pipeline 1.2.197 → 1.2.198
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/{default-detection-model-CM-8U0Bb.js → default-detection-model-B5v8qEI0.js} +1 -1
- package/dist/{default-detection-model-CplzzTmN.mjs → default-detection-model-CASpAESz.mjs} +1 -1
- package/dist/detection-pipeline/index.js +5 -5
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-CBa1j3On.js → dist-BxP0SvPz.js} +74 -23
- package/dist/{dist-Y4BsF_EC.mjs → dist-oFIHnD88.mjs} +69 -24
- package/dist/{lazy-sharp-CS5WE9mI.js → lazy-sharp-VKOG3WW4.js} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-B5ouEQYN.mjs → node-B4zETsJ9.mjs} +1 -1
- package/dist/{node-C-B8VuGi.js → node-BIKrNEtS.js} +1 -1
- package/dist/pipeline-runner/index.js +5 -5
- package/dist/pipeline-runner/index.mjs +4 -4
- package/dist/{retire-root-keys-Csb8z2f3.js → prebuffer-DmBYRQWg.mjs} +64 -12
- package/dist/{retire-root-keys-DZvlso2l.mjs → prebuffer-DqdeLSsk.js} +99 -1
- package/dist/{process-memory-CmeKr_MZ.js → process-memory-CMHOmj75.js} +1 -1
- package/dist/{process-memory-DeO2OZ3-.mjs → process-memory-D9xYwm6L.mjs} +1 -1
- package/dist/recorder/index.js +26 -18
- package/dist/recorder/index.mjs +22 -14
- package/dist/{segment-demux-js-DiIsywGz.js → segment-demux-js-DLwL1vmq.js} +1 -1
- package/dist/{segment-demux-js-DXPgq2cf.mjs → segment-demux-js-DZysrgdC.mjs} +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/_stub.js +28 -31
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Q-6HzWJ0.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-C2eTdxvd.mjs} +3 -3
- package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cv5McbTI.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BcjLrxhF.mjs} +1 -1
- 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-C-2Eo_nr.mjs → hostInit-C8tu7NS4.mjs} +3 -3
- package/dist/stream-broker/index.js +452 -541
- package/dist/stream-broker/index.mjs +448 -537
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-CXsdriRX.js → worker-protocol-D2mMjUXv.js} +1 -1
- package/dist/{worker-protocol-_7zrToTo.mjs → worker-protocol-DFlZm_wr.mjs} +1 -1
- package/package.json +1 -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-BxP0SvPz.js");
|
|
6
|
+
const require_process_memory = require("../process-memory-CMHOmj75.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 {
|
|
3
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { Bt as hydrateSchema, Ft as BaseAddon, M as audioAnalyzerCapability, Ot as errMsg, S as PoolMemoryWatchdog, bt as resolvePoolMemoryPolicy, j as audioAnalysisCapability, n as AUDIO_BACKEND_CHOICES, rt as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL } from "../dist-oFIHnD88.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-D9xYwm6L.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 { N as audioKindId, Q as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { N as audioKindId, Q as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-oFIHnD88.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,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_default_detection_model = require("../default-detection-model-
|
|
8
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-BxP0SvPz.js");
|
|
6
|
+
const require_node = require("../node-BIKrNEtS.js");
|
|
7
|
+
const require_default_detection_model = require("../default-detection-model-B5v8qEI0.js");
|
|
8
|
+
const require_lazy_sharp = require("../lazy-sharp-VKOG3WW4.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-CMHOmj75.js");
|
|
11
11
|
let node_os = require("node:os");
|
|
12
12
|
node_os = require_dist.__toESM(node_os);
|
|
13
13
|
let node_fs = require("node:fs");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { $ as inferModelProvider, B as defaultDeviceFor$1,
|
|
3
|
-
import { a as readProcessCost } from "../node-
|
|
4
|
-
import { a as ALL_PIPELINE_STEPS, c as getStep, d as landmarkPrecisionVerdict, l as getStepDefinition, n as resolveDefaultDetectionModel, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as resolveModelForFormat } from "../default-detection-model-
|
|
2
|
+
import { $ as inferModelProvider, B as defaultDeviceFor$1, Bt as hydrateSchema, Et as supportedRuntimes$1, Ft as BaseAddon, G as detectionPipelineCapability, Gt as parseJsonUnknown, J as enumerateInferenceDevices, Jt as sleep, Ot as errMsg, S as PoolMemoryWatchdog, St as runtimeDevices$1, Wt as nodePin, X as evaluateZoneRules, Xt as array, an as string, bt as resolvePoolMemoryPolicy, c as DEFAULT_CLUSTER_STEP_MODELS, k as YAMNET_TO_MACRO, l as DEFAULT_CLUSTER_STEP_SETTINGS, lt as pickClusterStepModels, m as DEVICE_BACKEND_TO_FORMAT, nn as object, on as union, pt as pipelineExecutorCapability, sn as EventCategory, st as overlayClusterStepSettings, t as APPLE_SA_TO_MACRO, tt as loadContributionCapability, ut as pickClusterStepSettings, vt as resolveClusterStepModelId, zt as createEvent } from "../dist-oFIHnD88.mjs";
|
|
3
|
+
import { a as readProcessCost } from "../node-B4zETsJ9.mjs";
|
|
4
|
+
import { a as ALL_PIPELINE_STEPS, c as getStep, d as landmarkPrecisionVerdict, l as getStepDefinition, n as resolveDefaultDetectionModel, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as resolveModelForFormat } from "../default-detection-model-CASpAESz.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-D9xYwm6L.mjs";
|
|
8
8
|
import * as os from "node:os";
|
|
9
9
|
import * as fs from "node:fs";
|
|
10
10
|
import * as path$1 from "node:path";
|
|
@@ -9212,6 +9212,24 @@ var RecordingBandSchema = object({
|
|
|
9212
9212
|
end: string().regex(HHMM),
|
|
9213
9213
|
mode: RecordingBandModeSchema,
|
|
9214
9214
|
triggers: RecordingBandTriggersSchema.optional(),
|
|
9215
|
+
/**
|
|
9216
|
+
* RETIRED (D381). A band no longer carries a pre-buffer of its own.
|
|
9217
|
+
*
|
|
9218
|
+
* It was the retroactive KEEP bound — which already-written segments survive
|
|
9219
|
+
* a trigger — and it had to be at least as wide as the widest pre-roll the
|
|
9220
|
+
* broker could serve, or the gate would delete the seconds the ring had just
|
|
9221
|
+
* handed the writer. That "at least as wide as" is the tell: it was a second
|
|
9222
|
+
* expression of the broker's retention, in different units, in a different
|
|
9223
|
+
* addon, with an invariant the operator had to maintain by hand. The keep
|
|
9224
|
+
* bound is now derived from the one prebuffer ceiling and there is nothing
|
|
9225
|
+
* left to configure here.
|
|
9226
|
+
*
|
|
9227
|
+
* The key survives in the SHAPE so a config written before that record still
|
|
9228
|
+
* parses and can be migrated deliberately — `RecordingBandSchema` is not
|
|
9229
|
+
* strict, so simply deleting it would strip an operator's value in silence on
|
|
9230
|
+
* the next save (the failure D380 came one commit from shipping). Nothing
|
|
9231
|
+
* reads it: {@link stripRetiredBandPreBufferSec} removes it on load.
|
|
9232
|
+
*/
|
|
9215
9233
|
preBufferSec: number().min(0).optional(),
|
|
9216
9234
|
postBufferSec: number().min(0).optional()
|
|
9217
9235
|
});
|
|
@@ -9229,29 +9247,56 @@ var RecordingBandSchema = object({
|
|
|
9229
9247
|
* `postBufferSec` must therefore exceed one segment length plus the attach
|
|
9230
9248
|
* latency (ffmpeg spawn + RTSP dial), or the window closes before the first
|
|
9231
9249
|
* segment is ever finalized and the camera records nothing anyway. At the 10 s
|
|
9232
|
-
* default segment length, 30 s leaves room for two full segments.
|
|
9233
|
-
*
|
|
9234
|
-
*
|
|
9235
|
-
*
|
|
9236
|
-
*
|
|
9237
|
-
*
|
|
9238
|
-
*
|
|
9239
|
-
*
|
|
9240
|
-
*
|
|
9241
|
-
*
|
|
9242
|
-
*
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
* `
|
|
9247
|
-
*
|
|
9248
|
-
*
|
|
9249
|
-
*
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9250
|
+
* default segment length, 30 s leaves room for two full segments.
|
|
9251
|
+
*
|
|
9252
|
+
* ## There is no `preBufferSec` here any more (D381)
|
|
9253
|
+
*
|
|
9254
|
+
* There used to be, at 15 s, and its whole justification was that it had to
|
|
9255
|
+
* cover the widest pre-roll the broker could serve. A number whose only
|
|
9256
|
+
* correct value is another subsystem's ceiling is not a setting; it is that
|
|
9257
|
+
* ceiling, restated where it can drift. The keep bound is derived from the
|
|
9258
|
+
* prebuffer ceiling directly now, in `band-decision.ts`, so an operator
|
|
9259
|
+
* raising the prebuffer cannot walk past the gate at all rather than merely
|
|
9260
|
+
* being warned not to.
|
|
9261
|
+
*/
|
|
9262
|
+
var DEFAULT_EVENTS_BAND_BUFFER_SEC = { postBufferSec: 30 };
|
|
9263
|
+
/**
|
|
9264
|
+
* Drop the RETIRED band `preBufferSec` from a persisted recording config.
|
|
9265
|
+
*
|
|
9266
|
+
* Explicit, and it reports what it removed, because the alternative is a
|
|
9267
|
+
* silent strip: `RecordingBandSchema` is a plain `z.object`, so the key
|
|
9268
|
+
* survives a parse and disappears on the next save with no line anywhere. An
|
|
9269
|
+
* operator who had typed a number would find it gone and nothing would say
|
|
9270
|
+
* when or why.
|
|
9271
|
+
*
|
|
9272
|
+
* Nothing is carried forward: the value it held was always required to be at
|
|
9273
|
+
* least the broker's widest pre-roll, and the gate is now derived from exactly
|
|
9274
|
+
* that ceiling. Every configuration that was legal therefore keeps a keep-gate
|
|
9275
|
+
* at least as wide as the one it had — including an explicit `0`, which widens.
|
|
9276
|
+
* That is deliberate and it is the only behaviour change: a band that kept
|
|
9277
|
+
* nothing before its trigger now keeps up to the prebuffer ceiling of
|
|
9278
|
+
* already-written footage, which is media that exists either way.
|
|
9279
|
+
*/
|
|
9280
|
+
function stripRetiredBandPreBufferSec(config) {
|
|
9281
|
+
const strippedBands = [];
|
|
9282
|
+
const bands = config.bands.map((band, index) => {
|
|
9283
|
+
if (band.preBufferSec === void 0) return band;
|
|
9284
|
+
strippedBands.push(index);
|
|
9285
|
+
const { preBufferSec: _retired, ...rest } = band;
|
|
9286
|
+
return rest;
|
|
9287
|
+
});
|
|
9288
|
+
if (strippedBands.length === 0) return {
|
|
9289
|
+
config,
|
|
9290
|
+
strippedBands
|
|
9291
|
+
};
|
|
9292
|
+
return {
|
|
9293
|
+
config: {
|
|
9294
|
+
...config,
|
|
9295
|
+
bands
|
|
9296
|
+
},
|
|
9297
|
+
strippedBands
|
|
9298
|
+
};
|
|
9299
|
+
}
|
|
9255
9300
|
DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
|
|
9256
9301
|
/**
|
|
9257
9302
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
@@ -43014,6 +43059,12 @@ Object.defineProperty(exports, "string", {
|
|
|
43014
43059
|
return string;
|
|
43015
43060
|
}
|
|
43016
43061
|
});
|
|
43062
|
+
Object.defineProperty(exports, "stripRetiredBandPreBufferSec", {
|
|
43063
|
+
enumerable: true,
|
|
43064
|
+
get: function() {
|
|
43065
|
+
return stripRetiredBandPreBufferSec;
|
|
43066
|
+
}
|
|
43067
|
+
});
|
|
43017
43068
|
Object.defineProperty(exports, "supportedRuntimes", {
|
|
43018
43069
|
enumerable: true,
|
|
43019
43070
|
get: function() {
|
|
@@ -9189,6 +9189,24 @@ var RecordingBandSchema = object({
|
|
|
9189
9189
|
end: string().regex(HHMM),
|
|
9190
9190
|
mode: RecordingBandModeSchema,
|
|
9191
9191
|
triggers: RecordingBandTriggersSchema.optional(),
|
|
9192
|
+
/**
|
|
9193
|
+
* RETIRED (D381). A band no longer carries a pre-buffer of its own.
|
|
9194
|
+
*
|
|
9195
|
+
* It was the retroactive KEEP bound — which already-written segments survive
|
|
9196
|
+
* a trigger — and it had to be at least as wide as the widest pre-roll the
|
|
9197
|
+
* broker could serve, or the gate would delete the seconds the ring had just
|
|
9198
|
+
* handed the writer. That "at least as wide as" is the tell: it was a second
|
|
9199
|
+
* expression of the broker's retention, in different units, in a different
|
|
9200
|
+
* addon, with an invariant the operator had to maintain by hand. The keep
|
|
9201
|
+
* bound is now derived from the one prebuffer ceiling and there is nothing
|
|
9202
|
+
* left to configure here.
|
|
9203
|
+
*
|
|
9204
|
+
* The key survives in the SHAPE so a config written before that record still
|
|
9205
|
+
* parses and can be migrated deliberately — `RecordingBandSchema` is not
|
|
9206
|
+
* strict, so simply deleting it would strip an operator's value in silence on
|
|
9207
|
+
* the next save (the failure D380 came one commit from shipping). Nothing
|
|
9208
|
+
* reads it: {@link stripRetiredBandPreBufferSec} removes it on load.
|
|
9209
|
+
*/
|
|
9192
9210
|
preBufferSec: number().min(0).optional(),
|
|
9193
9211
|
postBufferSec: number().min(0).optional()
|
|
9194
9212
|
});
|
|
@@ -9206,29 +9224,56 @@ var RecordingBandSchema = object({
|
|
|
9206
9224
|
* `postBufferSec` must therefore exceed one segment length plus the attach
|
|
9207
9225
|
* latency (ffmpeg spawn + RTSP dial), or the window closes before the first
|
|
9208
9226
|
* segment is ever finalized and the camera records nothing anyway. At the 10 s
|
|
9209
|
-
* default segment length, 30 s leaves room for two full segments.
|
|
9210
|
-
*
|
|
9211
|
-
*
|
|
9212
|
-
*
|
|
9213
|
-
*
|
|
9214
|
-
*
|
|
9215
|
-
*
|
|
9216
|
-
*
|
|
9217
|
-
*
|
|
9218
|
-
*
|
|
9219
|
-
*
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
* `
|
|
9224
|
-
*
|
|
9225
|
-
*
|
|
9226
|
-
*
|
|
9227
|
-
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
|
-
|
|
9231
|
-
|
|
9227
|
+
* default segment length, 30 s leaves room for two full segments.
|
|
9228
|
+
*
|
|
9229
|
+
* ## There is no `preBufferSec` here any more (D381)
|
|
9230
|
+
*
|
|
9231
|
+
* There used to be, at 15 s, and its whole justification was that it had to
|
|
9232
|
+
* cover the widest pre-roll the broker could serve. A number whose only
|
|
9233
|
+
* correct value is another subsystem's ceiling is not a setting; it is that
|
|
9234
|
+
* ceiling, restated where it can drift. The keep bound is derived from the
|
|
9235
|
+
* prebuffer ceiling directly now, in `band-decision.ts`, so an operator
|
|
9236
|
+
* raising the prebuffer cannot walk past the gate at all rather than merely
|
|
9237
|
+
* being warned not to.
|
|
9238
|
+
*/
|
|
9239
|
+
var DEFAULT_EVENTS_BAND_BUFFER_SEC = { postBufferSec: 30 };
|
|
9240
|
+
/**
|
|
9241
|
+
* Drop the RETIRED band `preBufferSec` from a persisted recording config.
|
|
9242
|
+
*
|
|
9243
|
+
* Explicit, and it reports what it removed, because the alternative is a
|
|
9244
|
+
* silent strip: `RecordingBandSchema` is a plain `z.object`, so the key
|
|
9245
|
+
* survives a parse and disappears on the next save with no line anywhere. An
|
|
9246
|
+
* operator who had typed a number would find it gone and nothing would say
|
|
9247
|
+
* when or why.
|
|
9248
|
+
*
|
|
9249
|
+
* Nothing is carried forward: the value it held was always required to be at
|
|
9250
|
+
* least the broker's widest pre-roll, and the gate is now derived from exactly
|
|
9251
|
+
* that ceiling. Every configuration that was legal therefore keeps a keep-gate
|
|
9252
|
+
* at least as wide as the one it had — including an explicit `0`, which widens.
|
|
9253
|
+
* That is deliberate and it is the only behaviour change: a band that kept
|
|
9254
|
+
* nothing before its trigger now keeps up to the prebuffer ceiling of
|
|
9255
|
+
* already-written footage, which is media that exists either way.
|
|
9256
|
+
*/
|
|
9257
|
+
function stripRetiredBandPreBufferSec(config) {
|
|
9258
|
+
const strippedBands = [];
|
|
9259
|
+
const bands = config.bands.map((band, index) => {
|
|
9260
|
+
if (band.preBufferSec === void 0) return band;
|
|
9261
|
+
strippedBands.push(index);
|
|
9262
|
+
const { preBufferSec: _retired, ...rest } = band;
|
|
9263
|
+
return rest;
|
|
9264
|
+
});
|
|
9265
|
+
if (strippedBands.length === 0) return {
|
|
9266
|
+
config,
|
|
9267
|
+
strippedBands
|
|
9268
|
+
};
|
|
9269
|
+
return {
|
|
9270
|
+
config: {
|
|
9271
|
+
...config,
|
|
9272
|
+
bands
|
|
9273
|
+
},
|
|
9274
|
+
strippedBands
|
|
9275
|
+
};
|
|
9276
|
+
}
|
|
9232
9277
|
DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
|
|
9233
9278
|
/**
|
|
9234
9279
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
@@ -42313,4 +42358,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
42313
42358
|
return out;
|
|
42314
42359
|
}
|
|
42315
42360
|
//#endregion
|
|
42316
|
-
export { inferModelProvider as $,
|
|
42361
|
+
export { inferModelProvider as $, lazy as $t, addonWidgetsSourceCapability as A, Fmp4BoxSplitter as At, defaultDeviceFor as B, hydrateSchema as Bt, RATE_CONTROL_RELAXED as C, storageEvictableCapability as Ct, RecordingSignalStatusSchema as D, webrtcSessionCapability as Dt, RecordingConfigSchema as E, supportedRuntimes as Et, cameraStreamsCapability as F, BaseAddon as Ft, detectionPipelineCapability as G, parseJsonUnknown as Gt, deriveBatteryPresence as H, makeProfileBrokerId as Ht, createHwAccelCache as I, CAM_PROFILE_ORDER as It, enumerateInferenceDevices as J, sleep as Jt, egressTranscodeSharingKey as K, parseProfileBrokerId as Kt, createLogChannelsProvider as L, DeviceFeature as Lt, audioAnalyzerCapability as M, invocationFromEncodeProfile as Mt, audioKindId as N, isSoftwareDecode as Nt, RingBuffer as O, errMsg as Ot, batteryCapability as P, BOOT_RECOVERY_BACKOFF_MS as Pt, hfModelUrl as Q, discriminatedUnion as Qt, customAction as R, DeviceType as Rt, PoolMemoryWatchdog as S, runtimeDevices as St, RECORDING_EXPORT_MAX_READ_BYTES as T, stripRetiredBandPreBufferSec as Tt, deriveDetailCropRect as U, makeSourceBrokerId as Ut, defineCustomActions as V, isEvent as Vt, deriveRecordingMode as W, nodePin as Wt, evaluateZoneRules as X, array as Xt, evaluateSensorEdge as Y, _enum as Yt, failureContributionCapability as Z, boolean as Zt, FailureCounters as _, recordingSignalCapability as _t, COCO_80_LABELS as a, string as an, migrateLegacyDeviceSignalConfig as at, NativeLeaseSettingsSchema as b, resolvePoolMemoryPolicy as bt, DEFAULT_CLUSTER_STEP_MODELS as c, parseProcStatus as ct, DEFAULT_EVENTS_BAND_BUFFER_SEC as d, pickDetailCropConvention as dt, literal as en, isFirstLevelMacroClass as et, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as f, pickNativeLeaseOverride as ft, ExportRecordSchema as g, recordingExportCapability as gt, EncodeProfileSchema as h, recordingCapability as ht, BatteryStatusSchema as i, record as in, maskUrlCredentials as it, audioAnalysisCapability as j, buildFfmpegArgs as jt, YAMNET_TO_MACRO as k, AUDIO_PRESETS as kt, DEFAULT_CLUSTER_STEP_SETTINGS as l, pickClusterStepModels as lt, DEVICE_BACKEND_TO_FORMAT as m, pipelineRunnerCapability as mt, AUDIO_BACKEND_CHOICES as n, object as nn, logChannelsCapability as nt, COCO_TO_MACRO as o, union as on, motionDetectionCapability as ot, DEFAULT_NATIVE_LEASE_SETTINGS as p, pipelineExecutorCapability as pt, egressTransportFromRequest as q, selectAssignedProfileSlots as qt, AUDIO_MACRO_LABELS as r, preprocess as rn, mapAudioLabelToMacro as rt, DEFAULT_AUDIO_ANALYZER_CONFIG as s, EventCategory as sn, overlayClusterStepSettings as st, APPLE_SA_TO_MACRO as t, number as tn, loadContributionCapability as tt, DEFAULT_DETAIL_CROP_CONVENTION as u, pickClusterStepSettings as ut, HF_BASE_URL as v, resolveClusterStepModelId as vt, RATE_CONTROL_TIGHT as w, streamBrokerCapability as wt, OpsLogEntrySchema as x, resolveRecordingProfiles as xt, NativeLeaseAdmissionSchema as y, resolveEgressDecodeHwAccel as yt, declareLogChannel as z, createEvent as zt };
|
|
@@ -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-BxP0SvPz.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-VKOG3WW4.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 {
|
|
1
|
+
import { Bt as hydrateSchema, Ft as BaseAddon, Rt as DeviceType, X as evaluateZoneRules, ot as motionDetectionCapability } from "../dist-oFIHnD88.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 { At as
|
|
1
|
+
import { At as Fmp4BoxSplitter, Nt as isSoftwareDecode, Ot as errMsg, jt as buildFfmpegArgs } from "./dist-oFIHnD88.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_default_detection_model = require("../default-detection-model-
|
|
8
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
5
|
+
const require_dist = require("../dist-BxP0SvPz.js");
|
|
6
|
+
const require_node = require("../node-BIKrNEtS.js");
|
|
7
|
+
const require_default_detection_model = require("../default-detection-model-B5v8qEI0.js");
|
|
8
|
+
const require_worker_protocol = require("../worker-protocol-D2mMjUXv.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-VKOG3WW4.js");
|
|
11
11
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
12
12
|
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
|
|
13
13
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { $t as
|
|
2
|
-
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-
|
|
3
|
-
import { i as resolveFrameViewGeometry, l as getStepDefinition, r as localFrameRegistry } from "../default-detection-model-
|
|
4
|
-
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-
|
|
1
|
+
import { $t as lazy, Ft as BaseAddon, Ot as errMsg, R as customAction, U as deriveDetailCropRect, V as defineCustomActions, Wt as nodePin, Xt as array, Yt as _enum, Z as failureContributionCapability, Zt as boolean, _ as FailureCounters, an as string, dt as pickDetailCropConvention, en as literal, ft as pickNativeLeaseOverride, m as DEVICE_BACKEND_TO_FORMAT, mt as pipelineRunnerCapability, nn as object, p as DEFAULT_NATIVE_LEASE_SETTINGS, sn as EventCategory, tn as number, tt as loadContributionCapability, u as DEFAULT_DETAIL_CROP_CONVENTION, zt as createEvent } from "../dist-oFIHnD88.mjs";
|
|
2
|
+
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-B4zETsJ9.mjs";
|
|
3
|
+
import { i as resolveFrameViewGeometry, l as getStepDefinition, r as localFrameRegistry } from "../default-detection-model-CASpAESz.mjs";
|
|
4
|
+
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-DFlZm_wr.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";
|
|
@@ -323,16 +323,68 @@ function isRecord(value) {
|
|
|
323
323
|
function errText(err) {
|
|
324
324
|
return err instanceof Error ? err.message : String(err);
|
|
325
325
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
326
|
+
/** {@link PREBUFFER_MAX_SEC} in ms — the widest window any consumer can be served. */
|
|
327
|
+
var PREBUFFER_MAX_MS = 15 * 1e3;
|
|
328
|
+
/** Clamp an enabled window's seconds into `[MIN, MAX]`; `0`/invalid means off. */
|
|
329
|
+
function clampSeconds(value) {
|
|
330
|
+
if (value === void 0) return 5;
|
|
331
|
+
if (!Number.isFinite(value) || value <= 0) return 0;
|
|
332
|
+
return Math.min(15, Math.max(1, value));
|
|
333
|
+
}
|
|
334
|
+
/** `enabled: false` is the only representation of off — never `seconds: 0` alone. */
|
|
335
|
+
var OFF = {
|
|
336
|
+
enabled: false,
|
|
337
|
+
seconds: 0
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* The ONE prebuffer decision.
|
|
341
|
+
*
|
|
342
|
+
* Precedence: explicit per-stream override -> battery / terminal relay (off) ->
|
|
343
|
+
* the profile's warm default -> off. Every layer that used to make this
|
|
344
|
+
* decision somewhere else — `isDefaultWarm`, `applyPreBufferConfig`,
|
|
345
|
+
* `getEffectivePreBufferSec`, `resolvePreRollMs`, `resolveRecordingPreRollMs` —
|
|
346
|
+
* is this function now, so the four of them cannot disagree about one camera.
|
|
347
|
+
*/
|
|
348
|
+
function resolvePrebuffer(input) {
|
|
349
|
+
const override = input.overrides?.[input.camStreamId];
|
|
350
|
+
if (override !== void 0) {
|
|
351
|
+
if (!override.enabled) return OFF;
|
|
352
|
+
const seconds = clampSeconds(override.seconds);
|
|
353
|
+
return seconds > 0 ? {
|
|
354
|
+
enabled: true,
|
|
355
|
+
seconds
|
|
356
|
+
} : OFF;
|
|
337
357
|
}
|
|
338
|
-
|
|
358
|
+
if (input.batteryOperated === true) return OFF;
|
|
359
|
+
if (input.terminalRelay === true) return OFF;
|
|
360
|
+
if (input.defaultWarm !== true) return OFF;
|
|
361
|
+
const seconds = clampSeconds(input.clusterSeconds);
|
|
362
|
+
return seconds > 0 ? {
|
|
363
|
+
enabled: true,
|
|
364
|
+
seconds
|
|
365
|
+
} : OFF;
|
|
366
|
+
}
|
|
367
|
+
/** The retention, in ms — the single number the ring is trimmed to. */
|
|
368
|
+
function prebufferRetentionMs(config) {
|
|
369
|
+
return config.enabled ? config.seconds * 1e3 : 0;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* What a consumer asking for `requestedMs` of history is actually served.
|
|
373
|
+
*
|
|
374
|
+
* The cap is the point of the record: a consumer states a WISH and the ring
|
|
375
|
+
* states the truth. `undefined` means "whatever you have", which is what a
|
|
376
|
+
* consumer that configures nothing asks for — and is why the recorder no
|
|
377
|
+
* longer carries a duration of its own.
|
|
378
|
+
*
|
|
379
|
+
* A nonsense request resolves to `0`, never to the whole window: an
|
|
380
|
+
* unparseable number arriving on a dial path must not be able to widen a burst.
|
|
381
|
+
*/
|
|
382
|
+
function capPreRollRequestMs(requestedMs, retainedMs) {
|
|
383
|
+
const retained = Number.isFinite(retainedMs) && retainedMs > 0 ? retainedMs : 0;
|
|
384
|
+
if (retained === 0) return 0;
|
|
385
|
+
if (requestedMs === void 0) return retained;
|
|
386
|
+
if (!Number.isFinite(requestedMs) || requestedMs <= 0) return 0;
|
|
387
|
+
return Math.min(requestedMs, retained);
|
|
388
|
+
}
|
|
389
|
+
//#endregion
|
|
390
|
+
export { retireRootKeys as a, resolvePrebuffer as i, capPreRollRequestMs as n, RowMapStore as o, prebufferRetentionMs as r, PREBUFFER_MAX_MS as t };
|
|
@@ -323,5 +323,103 @@ function isRecord(value) {
|
|
|
323
323
|
function errText(err) {
|
|
324
324
|
return err instanceof Error ? err.message : String(err);
|
|
325
325
|
}
|
|
326
|
+
/** {@link PREBUFFER_MAX_SEC} in ms — the widest window any consumer can be served. */
|
|
327
|
+
var PREBUFFER_MAX_MS = 15 * 1e3;
|
|
328
|
+
/** Clamp an enabled window's seconds into `[MIN, MAX]`; `0`/invalid means off. */
|
|
329
|
+
function clampSeconds(value) {
|
|
330
|
+
if (value === void 0) return 5;
|
|
331
|
+
if (!Number.isFinite(value) || value <= 0) return 0;
|
|
332
|
+
return Math.min(15, Math.max(1, value));
|
|
333
|
+
}
|
|
334
|
+
/** `enabled: false` is the only representation of off — never `seconds: 0` alone. */
|
|
335
|
+
var OFF = {
|
|
336
|
+
enabled: false,
|
|
337
|
+
seconds: 0
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* The ONE prebuffer decision.
|
|
341
|
+
*
|
|
342
|
+
* Precedence: explicit per-stream override -> battery / terminal relay (off) ->
|
|
343
|
+
* the profile's warm default -> off. Every layer that used to make this
|
|
344
|
+
* decision somewhere else — `isDefaultWarm`, `applyPreBufferConfig`,
|
|
345
|
+
* `getEffectivePreBufferSec`, `resolvePreRollMs`, `resolveRecordingPreRollMs` —
|
|
346
|
+
* is this function now, so the four of them cannot disagree about one camera.
|
|
347
|
+
*/
|
|
348
|
+
function resolvePrebuffer(input) {
|
|
349
|
+
const override = input.overrides?.[input.camStreamId];
|
|
350
|
+
if (override !== void 0) {
|
|
351
|
+
if (!override.enabled) return OFF;
|
|
352
|
+
const seconds = clampSeconds(override.seconds);
|
|
353
|
+
return seconds > 0 ? {
|
|
354
|
+
enabled: true,
|
|
355
|
+
seconds
|
|
356
|
+
} : OFF;
|
|
357
|
+
}
|
|
358
|
+
if (input.batteryOperated === true) return OFF;
|
|
359
|
+
if (input.terminalRelay === true) return OFF;
|
|
360
|
+
if (input.defaultWarm !== true) return OFF;
|
|
361
|
+
const seconds = clampSeconds(input.clusterSeconds);
|
|
362
|
+
return seconds > 0 ? {
|
|
363
|
+
enabled: true,
|
|
364
|
+
seconds
|
|
365
|
+
} : OFF;
|
|
366
|
+
}
|
|
367
|
+
/** The retention, in ms — the single number the ring is trimmed to. */
|
|
368
|
+
function prebufferRetentionMs(config) {
|
|
369
|
+
return config.enabled ? config.seconds * 1e3 : 0;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* What a consumer asking for `requestedMs` of history is actually served.
|
|
373
|
+
*
|
|
374
|
+
* The cap is the point of the record: a consumer states a WISH and the ring
|
|
375
|
+
* states the truth. `undefined` means "whatever you have", which is what a
|
|
376
|
+
* consumer that configures nothing asks for — and is why the recorder no
|
|
377
|
+
* longer carries a duration of its own.
|
|
378
|
+
*
|
|
379
|
+
* A nonsense request resolves to `0`, never to the whole window: an
|
|
380
|
+
* unparseable number arriving on a dial path must not be able to widen a burst.
|
|
381
|
+
*/
|
|
382
|
+
function capPreRollRequestMs(requestedMs, retainedMs) {
|
|
383
|
+
const retained = Number.isFinite(retainedMs) && retainedMs > 0 ? retainedMs : 0;
|
|
384
|
+
if (retained === 0) return 0;
|
|
385
|
+
if (requestedMs === void 0) return retained;
|
|
386
|
+
if (!Number.isFinite(requestedMs) || requestedMs <= 0) return 0;
|
|
387
|
+
return Math.min(requestedMs, retained);
|
|
388
|
+
}
|
|
326
389
|
//#endregion
|
|
327
|
-
|
|
390
|
+
Object.defineProperty(exports, "PREBUFFER_MAX_MS", {
|
|
391
|
+
enumerable: true,
|
|
392
|
+
get: function() {
|
|
393
|
+
return PREBUFFER_MAX_MS;
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
Object.defineProperty(exports, "RowMapStore", {
|
|
397
|
+
enumerable: true,
|
|
398
|
+
get: function() {
|
|
399
|
+
return RowMapStore;
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
Object.defineProperty(exports, "capPreRollRequestMs", {
|
|
403
|
+
enumerable: true,
|
|
404
|
+
get: function() {
|
|
405
|
+
return capPreRollRequestMs;
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
Object.defineProperty(exports, "prebufferRetentionMs", {
|
|
409
|
+
enumerable: true,
|
|
410
|
+
get: function() {
|
|
411
|
+
return prebufferRetentionMs;
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
Object.defineProperty(exports, "resolvePrebuffer", {
|
|
415
|
+
enumerable: true,
|
|
416
|
+
get: function() {
|
|
417
|
+
return resolvePrebuffer;
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
Object.defineProperty(exports, "retireRootKeys", {
|
|
421
|
+
enumerable: true,
|
|
422
|
+
get: function() {
|
|
423
|
+
return retireRootKeys;
|
|
424
|
+
}
|
|
425
|
+
});
|