@camstack/addon-pipeline 1.2.221 → 1.2.223
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 +55 -16
- package/dist/audio-analyzer/index.mjs +55 -16
- package/dist/{default-detection-model-B1NT1A38.js → default-detection-model-B7kn9xHR.js} +1 -1
- package/dist/{default-detection-model-DkVFgubU.mjs → default-detection-model-BSX8cVHY.mjs} +1 -1
- package/dist/detection-pipeline/index.js +4 -4
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-CEFC3PkP.mjs → dist-BNzfbpF6.mjs} +31 -2
- package/dist/{dist-ATDfcxgL.js → dist-DZsjVFey.js} +31 -2
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-C5jnTgpv.js → node-BhQ8dDQC.js} +1 -1
- package/dist/{node-DR3fHqUq.mjs → node-uYIx2aZF.mjs} +1 -1
- package/dist/pipeline-runner/index.js +139 -20
- package/dist/pipeline-runner/index.mjs +139 -20
- package/dist/{process-memory-DQbCPnMA.js → process-memory-BozKb5-g.js} +1 -1
- package/dist/{process-memory-DqYj5IAb.mjs → process-memory-CkoLpOV-.mjs} +1 -1
- package/dist/recorder/index.js +90 -27
- package/dist/recorder/index.mjs +90 -27
- package/dist/{segment-demux-js-o9KBAz9p.js → segment-demux-js-Cvszh55p.js} +1 -1
- package/dist/{segment-demux-js-CddDwD69.mjs → segment-demux-js-Dh1dn_AT.mjs} +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-D5XnLZWR.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BZG3prqU.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-C-VdcJS2.mjs → hostInit-Cyo0CFo3.mjs} +3 -3
- package/dist/stream-broker/index.js +96 -54
- package/dist/stream-broker/index.mjs +96 -54
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
7
|
-
const require_process_memory = require("../process-memory-
|
|
6
|
+
const require_dist = require("../dist-DZsjVFey.js");
|
|
7
|
+
const require_process_memory = require("../process-memory-BozKb5-g.js");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
10
10
|
let node_path = require("node:path");
|
|
@@ -397,8 +397,20 @@ function resampleMono16k(chunk) {
|
|
|
397
397
|
}
|
|
398
398
|
return out;
|
|
399
399
|
}
|
|
400
|
-
/**
|
|
401
|
-
|
|
400
|
+
/**
|
|
401
|
+
* How many times one tick may re-poll immediately after a FULL batch (D465).
|
|
402
|
+
*
|
|
403
|
+
* A batch that comes back full is not a drain, it is a backlog: there is more
|
|
404
|
+
* waiting and the next chunk is already older than the window it belongs to.
|
|
405
|
+
* Continuing bounds the damage for any producer cadence — including one this
|
|
406
|
+
* file cannot know — without adding a single request when there is no backlog.
|
|
407
|
+
* The broker's FIFO holds 64, so two continuations clear a completely full
|
|
408
|
+
* queue; four is margin, and the bound is what stops a permanently faster
|
|
409
|
+
* producer from turning this into a spin.
|
|
410
|
+
*/
|
|
411
|
+
var MAX_DRAIN_CONTINUATIONS = 4;
|
|
412
|
+
/** Re-state a standing backlog at most this often. */
|
|
413
|
+
var BACKLOG_RELOG_MS = 3e4;
|
|
402
414
|
/**
|
|
403
415
|
* Consecutive pull failures before we attempt to re-subscribe. A single failed
|
|
404
416
|
* poll is treated as a blip (re-subscribing would leak a broker-side FIFO); a
|
|
@@ -441,7 +453,9 @@ function startAudioChunkPoller(options) {
|
|
|
441
453
|
stopped: false,
|
|
442
454
|
retryTimer: void 0,
|
|
443
455
|
pollTimer: void 0,
|
|
444
|
-
activeSubscriptionId: null
|
|
456
|
+
activeSubscriptionId: null,
|
|
457
|
+
backlogged: false,
|
|
458
|
+
lastBacklogLogAt: 0
|
|
445
459
|
};
|
|
446
460
|
const teardown = () => {
|
|
447
461
|
if (lifecycle.stopped) return;
|
|
@@ -567,19 +581,44 @@ function startPolling(options, lifecycle) {
|
|
|
567
581
|
const subId = lifecycle.activeSubscriptionId;
|
|
568
582
|
if (!subId) return;
|
|
569
583
|
try {
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
584
|
+
let continuations = 0;
|
|
585
|
+
let drained = 0;
|
|
586
|
+
for (;;) {
|
|
587
|
+
const chunks = await api.streamBroker.pullAudioChunks.query({
|
|
588
|
+
subscriptionId: subId,
|
|
589
|
+
maxCount: 32
|
|
590
|
+
}, pin);
|
|
591
|
+
if (consecutiveFailures > 0) logger.info("audio-chunk poller: stream recovered", { meta: {
|
|
592
|
+
brokerId,
|
|
593
|
+
subscriptionId: subId
|
|
594
|
+
} });
|
|
595
|
+
consecutiveFailures = 0;
|
|
596
|
+
drained += chunks.length;
|
|
597
|
+
for (const chunk of chunks) {
|
|
598
|
+
if (lifecycle.stopped) break;
|
|
599
|
+
await onChunk(chunk);
|
|
600
|
+
}
|
|
580
601
|
if (lifecycle.stopped) break;
|
|
581
|
-
|
|
602
|
+
if (chunks.length < 32) break;
|
|
603
|
+
if (continuations >= MAX_DRAIN_CONTINUATIONS) break;
|
|
604
|
+
continuations += 1;
|
|
582
605
|
}
|
|
606
|
+
if (continuations > 0) {
|
|
607
|
+
const now = Date.now();
|
|
608
|
+
if (!lifecycle.backlogged || now - lifecycle.lastBacklogLogAt >= BACKLOG_RELOG_MS) {
|
|
609
|
+
lifecycle.lastBacklogLogAt = now;
|
|
610
|
+
logger.warn("audio-chunk poller: backlog — a full batch is not a drain", { meta: {
|
|
611
|
+
brokerId,
|
|
612
|
+
subscriptionId: subId,
|
|
613
|
+
drained,
|
|
614
|
+
maxCount: 32,
|
|
615
|
+
continuations,
|
|
616
|
+
pollIntervalMs: options.pollIntervalMs ?? 200,
|
|
617
|
+
hint: "this camera produces chunks faster than one poll of this cadence can carry — the broker FIFO is overwriting next"
|
|
618
|
+
} });
|
|
619
|
+
}
|
|
620
|
+
lifecycle.backlogged = true;
|
|
621
|
+
} else lifecycle.backlogged = false;
|
|
583
622
|
} catch (err) {
|
|
584
623
|
consecutiveFailures += 1;
|
|
585
624
|
if (consecutiveFailures === 1) logger.warn("audio-chunk poller: pullAudioChunks failed — attempting recovery", { meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { C as PoolMemoryWatchdog, Jt as audioChunkBytesPerSample, Lt as errMsg, M as audioAnalysisCapability, N as audioAnalyzerCapability, Ot as resolvePoolMemoryPolicy, Wt as BaseAddon, Xt as expandAudioChunkToF32le, Zt as hydrateSchema, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, st as mapAudioLabelToMacro, tn as nodePin, vn as EventCategory, y as HF_BASE_URL } from "../dist-
|
|
3
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { C as PoolMemoryWatchdog, Jt as audioChunkBytesPerSample, Lt as errMsg, M as audioAnalysisCapability, N as audioAnalyzerCapability, Ot as resolvePoolMemoryPolicy, Wt as BaseAddon, Xt as expandAudioChunkToF32le, Zt as hydrateSchema, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, st as mapAudioLabelToMacro, tn as nodePin, vn as EventCategory, y as HF_BASE_URL } from "../dist-BNzfbpF6.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-CkoLpOV-.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";
|
|
@@ -391,8 +391,20 @@ function resampleMono16k(chunk) {
|
|
|
391
391
|
}
|
|
392
392
|
return out;
|
|
393
393
|
}
|
|
394
|
-
/**
|
|
395
|
-
|
|
394
|
+
/**
|
|
395
|
+
* How many times one tick may re-poll immediately after a FULL batch (D465).
|
|
396
|
+
*
|
|
397
|
+
* A batch that comes back full is not a drain, it is a backlog: there is more
|
|
398
|
+
* waiting and the next chunk is already older than the window it belongs to.
|
|
399
|
+
* Continuing bounds the damage for any producer cadence — including one this
|
|
400
|
+
* file cannot know — without adding a single request when there is no backlog.
|
|
401
|
+
* The broker's FIFO holds 64, so two continuations clear a completely full
|
|
402
|
+
* queue; four is margin, and the bound is what stops a permanently faster
|
|
403
|
+
* producer from turning this into a spin.
|
|
404
|
+
*/
|
|
405
|
+
var MAX_DRAIN_CONTINUATIONS = 4;
|
|
406
|
+
/** Re-state a standing backlog at most this often. */
|
|
407
|
+
var BACKLOG_RELOG_MS = 3e4;
|
|
396
408
|
/**
|
|
397
409
|
* Consecutive pull failures before we attempt to re-subscribe. A single failed
|
|
398
410
|
* poll is treated as a blip (re-subscribing would leak a broker-side FIFO); a
|
|
@@ -435,7 +447,9 @@ function startAudioChunkPoller(options) {
|
|
|
435
447
|
stopped: false,
|
|
436
448
|
retryTimer: void 0,
|
|
437
449
|
pollTimer: void 0,
|
|
438
|
-
activeSubscriptionId: null
|
|
450
|
+
activeSubscriptionId: null,
|
|
451
|
+
backlogged: false,
|
|
452
|
+
lastBacklogLogAt: 0
|
|
439
453
|
};
|
|
440
454
|
const teardown = () => {
|
|
441
455
|
if (lifecycle.stopped) return;
|
|
@@ -561,19 +575,44 @@ function startPolling(options, lifecycle) {
|
|
|
561
575
|
const subId = lifecycle.activeSubscriptionId;
|
|
562
576
|
if (!subId) return;
|
|
563
577
|
try {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
578
|
+
let continuations = 0;
|
|
579
|
+
let drained = 0;
|
|
580
|
+
for (;;) {
|
|
581
|
+
const chunks = await api.streamBroker.pullAudioChunks.query({
|
|
582
|
+
subscriptionId: subId,
|
|
583
|
+
maxCount: 32
|
|
584
|
+
}, pin);
|
|
585
|
+
if (consecutiveFailures > 0) logger.info("audio-chunk poller: stream recovered", { meta: {
|
|
586
|
+
brokerId,
|
|
587
|
+
subscriptionId: subId
|
|
588
|
+
} });
|
|
589
|
+
consecutiveFailures = 0;
|
|
590
|
+
drained += chunks.length;
|
|
591
|
+
for (const chunk of chunks) {
|
|
592
|
+
if (lifecycle.stopped) break;
|
|
593
|
+
await onChunk(chunk);
|
|
594
|
+
}
|
|
574
595
|
if (lifecycle.stopped) break;
|
|
575
|
-
|
|
596
|
+
if (chunks.length < 32) break;
|
|
597
|
+
if (continuations >= MAX_DRAIN_CONTINUATIONS) break;
|
|
598
|
+
continuations += 1;
|
|
576
599
|
}
|
|
600
|
+
if (continuations > 0) {
|
|
601
|
+
const now = Date.now();
|
|
602
|
+
if (!lifecycle.backlogged || now - lifecycle.lastBacklogLogAt >= BACKLOG_RELOG_MS) {
|
|
603
|
+
lifecycle.lastBacklogLogAt = now;
|
|
604
|
+
logger.warn("audio-chunk poller: backlog — a full batch is not a drain", { meta: {
|
|
605
|
+
brokerId,
|
|
606
|
+
subscriptionId: subId,
|
|
607
|
+
drained,
|
|
608
|
+
maxCount: 32,
|
|
609
|
+
continuations,
|
|
610
|
+
pollIntervalMs: options.pollIntervalMs ?? 200,
|
|
611
|
+
hint: "this camera produces chunks faster than one poll of this cadence can carry — the broker FIFO is overwriting next"
|
|
612
|
+
} });
|
|
613
|
+
}
|
|
614
|
+
lifecycle.backlogged = true;
|
|
615
|
+
} else lifecycle.backlogged = false;
|
|
577
616
|
} catch (err) {
|
|
578
617
|
consecutiveFailures += 1;
|
|
579
618
|
if (consecutiveFailures === 1) logger.warn("audio-chunk poller: pullAudioChunks failed — attempting recovery", { meta: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as audioKindId, a as COCO_80_LABELS, nt as hfModelUrl, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { P as audioKindId, a as COCO_80_LABELS, nt as hfModelUrl, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-BNzfbpF6.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
//#region src/detection-pipeline/pipeline/landmark-precision-gate.ts
|
|
4
4
|
/**
|
|
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
7
|
-
const require_node = require("../node-
|
|
8
|
-
const require_default_detection_model = require("../default-detection-model-
|
|
6
|
+
const require_dist = require("../dist-DZsjVFey.js");
|
|
7
|
+
const require_node = require("../node-BhQ8dDQC.js");
|
|
8
|
+
const require_default_detection_model = require("../default-detection-model-B7kn9xHR.js");
|
|
9
9
|
const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
|
|
10
|
-
const require_process_memory = require("../process-memory-
|
|
10
|
+
const require_process_memory = require("../process-memory-BozKb5-g.js");
|
|
11
11
|
let node_os = require("node:os");
|
|
12
12
|
node_os = require_chunk.__toESM(node_os);
|
|
13
13
|
let node_fs = require("node:fs");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { A as YAMNET_TO_MACRO, At as runtimeDevices$1, C as PoolMemoryWatchdog, Ft as supportedRuntimes$1, K as detectionPipelineCapability, Lt as errMsg, Ot as resolvePoolMemoryPolicy, Tt as resolveClusterStepModelId, V as defaultDeviceFor$1, Wt as BaseAddon, Y as enumerateInferenceDevices, Yt as createEvent, Z as evaluateZoneRules, Zt as hydrateSchema, _n as union, _t as pickClusterStepSettings, an as sleep, at as loadContributionCapability, bt as pipelineExecutorCapability, c as DEFAULT_CLUSTER_STEP_MODELS, gn as string, gt as pickClusterStepModels, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, mt as overlayClusterStepSettings, nn as parseJsonUnknown, pn as object, rt as inferModelProvider, sn as array, t as APPLE_SA_TO_MACRO, tn as nodePin, vn as EventCategory } from "../dist-
|
|
3
|
-
import { o 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 { A as YAMNET_TO_MACRO, At as runtimeDevices$1, C as PoolMemoryWatchdog, Ft as supportedRuntimes$1, K as detectionPipelineCapability, Lt as errMsg, Ot as resolvePoolMemoryPolicy, Tt as resolveClusterStepModelId, V as defaultDeviceFor$1, Wt as BaseAddon, Y as enumerateInferenceDevices, Yt as createEvent, Z as evaluateZoneRules, Zt as hydrateSchema, _n as union, _t as pickClusterStepSettings, an as sleep, at as loadContributionCapability, bt as pipelineExecutorCapability, c as DEFAULT_CLUSTER_STEP_MODELS, gn as string, gt as pickClusterStepModels, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, mt as overlayClusterStepSettings, nn as parseJsonUnknown, pn as object, rt as inferModelProvider, sn as array, t as APPLE_SA_TO_MACRO, tn as nodePin, vn as EventCategory } from "../dist-BNzfbpF6.mjs";
|
|
3
|
+
import { o as readProcessCost } from "../node-uYIx2aZF.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-BSX8cVHY.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
6
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
6
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-CkoLpOV-.mjs";
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import * as fs from "node:fs";
|
|
9
9
|
import * as path$1 from "node:path";
|
|
@@ -23091,6 +23091,14 @@ var NativeCropResultSchema = object({
|
|
|
23091
23091
|
* set `encodeJpeg: true`; `bytes` is then absent.
|
|
23092
23092
|
*/
|
|
23093
23093
|
jpeg: string().optional(),
|
|
23094
|
+
/**
|
|
23095
|
+
* The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
|
|
23096
|
+
* `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
|
|
23097
|
+
* `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
|
|
23098
|
+
* `bytes` above has crossed this boundary as a `Uint8Array` all along — so
|
|
23099
|
+
* base64 was buying nothing but a multi-megabyte string in the relay's heap.
|
|
23100
|
+
*/
|
|
23101
|
+
jpegBytes: _instanceof(Uint8Array).optional(),
|
|
23094
23102
|
width: number().int().positive(),
|
|
23095
23103
|
height: number().int().positive(),
|
|
23096
23104
|
/**
|
|
@@ -23157,7 +23165,14 @@ var ParkTrackFrameResultSchema = discriminatedUnion("parked", [object({
|
|
|
23157
23165
|
})]);
|
|
23158
23166
|
/** A retrieved parcel — the runner's own JPEG, base64 for the wire. */
|
|
23159
23167
|
var ParkedTrackFrameSchema = object({
|
|
23160
|
-
|
|
23168
|
+
/**
|
|
23169
|
+
* Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
|
|
23170
|
+
* `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
|
|
23171
|
+
* Exactly one of the two is present.
|
|
23172
|
+
*/
|
|
23173
|
+
jpeg: string().optional(),
|
|
23174
|
+
/** The same JPEG as bytes, for a caller that declared it reads them (D462). */
|
|
23175
|
+
jpegBytes: _instanceof(Uint8Array).optional(),
|
|
23161
23176
|
width: number().int().positive(),
|
|
23162
23177
|
height: number().int().positive(),
|
|
23163
23178
|
/** The frame instant the parcel shows (the caller's clock, echoed back). */
|
|
@@ -23808,6 +23823,13 @@ var pipelineRunnerCapability = {
|
|
|
23808
23823
|
bbox: NativeCropBboxSchema,
|
|
23809
23824
|
maxWidth: number().int().positive().optional(),
|
|
23810
23825
|
/**
|
|
23826
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
23827
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
23828
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
23829
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
23830
|
+
*/
|
|
23831
|
+
acceptJpegBytes: boolean().optional(),
|
|
23832
|
+
/**
|
|
23811
23833
|
* When `true`, the runner encodes the resolved crop to JPEG ON THE
|
|
23812
23834
|
* OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
|
|
23813
23835
|
* Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
|
|
@@ -23980,7 +24002,14 @@ var pipelineRunnerCapability = {
|
|
|
23980
24002
|
getParkedTrackFrame: method(object({
|
|
23981
24003
|
deviceId: number(),
|
|
23982
24004
|
trackId: string(),
|
|
23983
|
-
kind: ParkedFrameKindSchema
|
|
24005
|
+
kind: ParkedFrameKindSchema,
|
|
24006
|
+
/**
|
|
24007
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
24008
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
24009
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
24010
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
24011
|
+
*/
|
|
24012
|
+
acceptJpegBytes: boolean().optional()
|
|
23984
24013
|
}), ParkedTrackFrameSchema.nullable()),
|
|
23985
24014
|
/**
|
|
23986
24015
|
* Drop every parcel of a track — the hub closed it. Idempotent. A track
|
|
@@ -23091,6 +23091,14 @@ var NativeCropResultSchema = object({
|
|
|
23091
23091
|
* set `encodeJpeg: true`; `bytes` is then absent.
|
|
23092
23092
|
*/
|
|
23093
23093
|
jpeg: string().optional(),
|
|
23094
|
+
/**
|
|
23095
|
+
* The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
|
|
23096
|
+
* `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
|
|
23097
|
+
* `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
|
|
23098
|
+
* `bytes` above has crossed this boundary as a `Uint8Array` all along — so
|
|
23099
|
+
* base64 was buying nothing but a multi-megabyte string in the relay's heap.
|
|
23100
|
+
*/
|
|
23101
|
+
jpegBytes: _instanceof(Uint8Array).optional(),
|
|
23094
23102
|
width: number().int().positive(),
|
|
23095
23103
|
height: number().int().positive(),
|
|
23096
23104
|
/**
|
|
@@ -23157,7 +23165,14 @@ var ParkTrackFrameResultSchema = discriminatedUnion("parked", [object({
|
|
|
23157
23165
|
})]);
|
|
23158
23166
|
/** A retrieved parcel — the runner's own JPEG, base64 for the wire. */
|
|
23159
23167
|
var ParkedTrackFrameSchema = object({
|
|
23160
|
-
|
|
23168
|
+
/**
|
|
23169
|
+
* Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
|
|
23170
|
+
* `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
|
|
23171
|
+
* Exactly one of the two is present.
|
|
23172
|
+
*/
|
|
23173
|
+
jpeg: string().optional(),
|
|
23174
|
+
/** The same JPEG as bytes, for a caller that declared it reads them (D462). */
|
|
23175
|
+
jpegBytes: _instanceof(Uint8Array).optional(),
|
|
23161
23176
|
width: number().int().positive(),
|
|
23162
23177
|
height: number().int().positive(),
|
|
23163
23178
|
/** The frame instant the parcel shows (the caller's clock, echoed back). */
|
|
@@ -23808,6 +23823,13 @@ var pipelineRunnerCapability = {
|
|
|
23808
23823
|
bbox: NativeCropBboxSchema,
|
|
23809
23824
|
maxWidth: number().int().positive().optional(),
|
|
23810
23825
|
/**
|
|
23826
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
23827
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
23828
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
23829
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
23830
|
+
*/
|
|
23831
|
+
acceptJpegBytes: boolean().optional(),
|
|
23832
|
+
/**
|
|
23811
23833
|
* When `true`, the runner encodes the resolved crop to JPEG ON THE
|
|
23812
23834
|
* OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
|
|
23813
23835
|
* Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
|
|
@@ -23980,7 +24002,14 @@ var pipelineRunnerCapability = {
|
|
|
23980
24002
|
getParkedTrackFrame: method(object({
|
|
23981
24003
|
deviceId: number(),
|
|
23982
24004
|
trackId: string(),
|
|
23983
|
-
kind: ParkedFrameKindSchema
|
|
24005
|
+
kind: ParkedFrameKindSchema,
|
|
24006
|
+
/**
|
|
24007
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
24008
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
24009
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
24010
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
24011
|
+
*/
|
|
24012
|
+
acceptJpegBytes: boolean().optional()
|
|
23984
24013
|
}), ParkedTrackFrameSchema.nullable()),
|
|
23985
24014
|
/**
|
|
23986
24015
|
* Drop every parcel of a track — the hub closed it. Idempotent. A track
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-DZsjVFey.js");
|
|
6
6
|
const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Wt as BaseAddon, Z as evaluateZoneRules, Zt as hydrateSchema, pt as motionDetectionCapability, qt as DeviceType } from "../dist-
|
|
1
|
+
import { Wt as BaseAddon, Z as evaluateZoneRules, Zt as hydrateSchema, pt as motionDetectionCapability, qt as DeviceType } from "../dist-BNzfbpF6.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,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-emK7D4bc.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-DZsjVFey.js");
|
|
3
3
|
let node_crypto = require("node:crypto");
|
|
4
4
|
let node_fs = require("node:fs");
|
|
5
5
|
node_fs = require_chunk.__toESM(node_fs, 1);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bt as buildFfmpegArgs, Ht as isSoftwareDecode, Lt as errMsg, zt as Fmp4BoxSplitter } from "./dist-
|
|
1
|
+
import { Bt as buildFfmpegArgs, Ht as isSoftwareDecode, Lt as errMsg, zt as Fmp4BoxSplitter } from "./dist-BNzfbpF6.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { realpathSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|