@camstack/addon-pipeline 1.2.342 → 1.2.343
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio-analyzer/index.js +5 -4
- package/dist/audio-analyzer/index.mjs +5 -4
- package/dist/{custom-model-catalog-DPBG06HE.js → custom-model-catalog-CC8vgYZ8.js} +3 -3
- package/dist/{custom-model-catalog-BjPZrWX3.mjs → custom-model-catalog-m7EBV9wu.mjs} +3 -3
- package/dist/detection-pipeline/index.js +4 -4
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-BWzBHFEB.mjs → dist-BAHBDujp.mjs} +33 -347
- package/dist/{dist-w_gA9z8W.js → dist-BwipY6K1.js} +33 -347
- package/dist/{model-catalogs-Dseq1bmN.mjs → model-catalogs-CUU_L1ec.mjs} +1 -1
- package/dist/{model-catalogs-ll-ggTUb.js → model-catalogs-Dotb1OFs.js} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-BTsWSPyQ.js → node-BHYEkNaS.js} +1 -1
- package/dist/{node-B7gAWBnv.mjs → node-BPwelwyj.mjs} +1 -1
- package/dist/pipeline-runner/index.js +11 -13
- package/dist/pipeline-runner/index.mjs +11 -13
- package/dist/{process-memory-Nq3qwp-q.js → process-memory-BRCKXa-P.js} +1 -1
- package/dist/{process-memory-BYs3sxnT.mjs → process-memory-_8o1iZnL.mjs} +1 -1
- package/dist/recorder/index.js +2 -13
- package/dist/recorder/index.mjs +2 -13
- package/dist/{segment-demux-js-C7Bk1l_R.mjs → segment-demux-js-DK8jbZy6.mjs} +1 -1
- package/dist/{segment-demux-js-D4kTUDck.js → segment-demux-js-DveVPFl9.js} +1 -1
- package/dist/stream-broker/_stub.js +48 -130
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-By8a97Br.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CF-T-9YU.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BUfCTcDV.mjs +26 -0
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-uAQqU5lv.mjs +26 -0
- 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-BU65uPCY.mjs → hostInit-C6jr8fSt.mjs} +3 -3
- package/dist/stream-broker/index.js +49 -1693
- package/dist/stream-broker/index.mjs +54 -1696
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/package.json +1 -6
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B204qFeL.mjs +0 -26
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Czhfk3hD.mjs +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
let node_crypto = require("node:crypto");
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-B_0XEcLF.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -500,15 +500,6 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
500
500
|
EventCategory["AgentWsDisconnected"] = "agent.ws.disconnected";
|
|
501
501
|
EventCategory["AgentBackupActivated"] = "agent.backup.activated";
|
|
502
502
|
EventCategory["OrchestrationSettingsUpdated"] = "orchestration.settings-updated";
|
|
503
|
-
/**
|
|
504
|
-
* Per-agent hwaccel preference changed (user override set, cleared, or
|
|
505
|
-
* re-probed). Observability event — decoders pull the current pref at
|
|
506
|
-
* `createSession`, so running sessions keep their current backend until
|
|
507
|
-
* they rotate naturally (camera add/remove, stream restart). Future
|
|
508
|
-
* work can wire a listener in stream-broker that force-rotates live
|
|
509
|
-
* sessions; for now this event powers logs + admin-UI toast feedback.
|
|
510
|
-
*/
|
|
511
|
-
EventCategory["PipelineAgentHwaccelChanged"] = "pipeline.agent-hwaccel-changed";
|
|
512
503
|
EventCategory["MotionAnalysis"] = "detection.motion-analysis";
|
|
513
504
|
/** All raw motion zones from CCL before minArea filter — for UI debug overlay. */
|
|
514
505
|
EventCategory["MotionZonesRaw"] = "detection.motion-zones-raw";
|
|
@@ -5379,7 +5370,7 @@ var ZodIssueCode = {
|
|
|
5379
5370
|
var ZodFirstPartyTypeKind;
|
|
5380
5371
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5381
5372
|
//#endregion
|
|
5382
|
-
//#region ../types/dist/sleep-
|
|
5373
|
+
//#region ../types/dist/sleep-BNeXenvr.mjs
|
|
5383
5374
|
/**
|
|
5384
5375
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5385
5376
|
* window to float samples (D455).
|
|
@@ -6857,32 +6848,12 @@ object({
|
|
|
6857
6848
|
audioCodec: string().optional(),
|
|
6858
6849
|
metadata: record(string(), unknown()).readonly().optional()
|
|
6859
6850
|
});
|
|
6860
|
-
var EncodedPacketSchema = object({
|
|
6861
|
-
type: _enum(["video", "audio"]),
|
|
6862
|
-
data: _instanceof(Uint8Array),
|
|
6863
|
-
pts: number(),
|
|
6864
|
-
dts: number(),
|
|
6865
|
-
keyframe: boolean(),
|
|
6866
|
-
codec: string()
|
|
6867
|
-
});
|
|
6868
|
-
var DecodedFrameSchema = object({
|
|
6869
|
-
data: _instanceof(Uint8Array),
|
|
6870
|
-
width: number(),
|
|
6871
|
-
height: number(),
|
|
6872
|
-
format: _enum([
|
|
6873
|
-
"jpeg",
|
|
6874
|
-
"rgb",
|
|
6875
|
-
"bgr",
|
|
6876
|
-
"yuv420",
|
|
6877
|
-
"gray"
|
|
6878
|
-
]),
|
|
6879
|
-
timestamp: number()
|
|
6880
|
-
});
|
|
6881
6851
|
/**
|
|
6882
6852
|
* Wire schema for `FrameHandle` — a zero-pixel, serialisable reference to a
|
|
6883
6853
|
* frame in a shared-memory ring (Phase 5 / D9). Mirrors the `FrameHandle` TS
|
|
6884
|
-
* interface in `interfaces/frame-handle.ts` field-for-field so a
|
|
6885
|
-
*
|
|
6854
|
+
* interface in `interfaces/frame-handle.ts` field-for-field so a cap method
|
|
6855
|
+
* (the runner's native-crop and pipeline-executor inputs) can carry handles
|
|
6856
|
+
* over tRPC / Moleculer.
|
|
6886
6857
|
*
|
|
6887
6858
|
* The `satisfies` assertion below pins this schema to the interface: if a
|
|
6888
6859
|
* field is added to / removed from `FrameHandle` without a matching schema
|
|
@@ -6908,50 +6879,6 @@ var FrameHandleSchema = object({
|
|
|
6908
6879
|
slotCount: number().int().positive()
|
|
6909
6880
|
});
|
|
6910
6881
|
/**
|
|
6911
|
-
* Pixel format a frame-handle subscriber can request from the broker
|
|
6912
|
-
* (Phase 5 / D9). The packed, raster subset of `FrameFormat` — the formats a
|
|
6913
|
-
* `frameSink: 'shm'` decoder session can write into a `FrameRing` slot.
|
|
6914
|
-
* `jpeg` is excluded: a variable-length stream is not a fixed-stride ring
|
|
6915
|
-
* payload, and no decoded-frame consumer requests it over the shm plane.
|
|
6916
|
-
*/
|
|
6917
|
-
var FrameHandleFormatSchema = _enum([
|
|
6918
|
-
"rgb",
|
|
6919
|
-
"bgr",
|
|
6920
|
-
"yuv420",
|
|
6921
|
-
"gray"
|
|
6922
|
-
]);
|
|
6923
|
-
/**
|
|
6924
|
-
* Input for `stream-broker.subscribeFrames` (Phase 5 / D9). A consumer asks the
|
|
6925
|
-
* broker for a `FrameHandle` stream of one `format`; the broker maintains one
|
|
6926
|
-
* shared-memory ring per `(brokerId, format)` actually requested, so a `gray`
|
|
6927
|
-
* subscriber (motion) and an `rgb` subscriber (detection) each read the format
|
|
6928
|
-
* they asked for with no broker-side conversion.
|
|
6929
|
-
*/
|
|
6930
|
-
var SubscribeFramesInputSchema = object({
|
|
6931
|
-
brokerId: string(),
|
|
6932
|
-
format: FrameHandleFormatSchema,
|
|
6933
|
-
/**
|
|
6934
|
-
* Optional reader-side cadence hint in frames per second. The broker does
|
|
6935
|
-
* NOT throttle — latest-wins ring reads drop frames implicitly for a slow
|
|
6936
|
-
* consumer. The value is echoed back in `SubscribeFramesResult.maxFps` so
|
|
6937
|
-
* the consumer can pace its own `pullFrameHandles` polling.
|
|
6938
|
-
*/
|
|
6939
|
-
maxFps: number().positive().optional(),
|
|
6940
|
-
/** Short caller-identity tag (`motion`, `detection`, …) for diagnostics. */
|
|
6941
|
-
tag: string().optional()
|
|
6942
|
-
});
|
|
6943
|
-
/**
|
|
6944
|
-
* Result of `stream-broker.subscribeFrames`. The consumer then polls
|
|
6945
|
-
* `pullFrameHandles({ subscriptionId, maxCount })` and feeds each returned
|
|
6946
|
-
* `FrameHandle` to a `FrameRingReader`.
|
|
6947
|
-
*/
|
|
6948
|
-
var SubscribeFramesResultSchema = object({
|
|
6949
|
-
/** Opaque id the consumer passes to `pullFrameHandles` / `unsubscribeFrames`. */
|
|
6950
|
-
subscriptionId: string(),
|
|
6951
|
-
/** Reader-side cadence hint (frames/s) — echoes `SubscribeFramesInput.maxFps`. */
|
|
6952
|
-
maxFps: number().nonnegative()
|
|
6953
|
-
});
|
|
6954
|
-
/**
|
|
6955
6882
|
* Wire schema for a decoded audio chunk (Phase 5 / D9). Mirrors the
|
|
6956
6883
|
* `DecodedAudioChunk` TS interface in `interfaces/stream-broker.ts`: PCM
|
|
6957
6884
|
* sample bytes plus the track parameters a consumer needs to interpret them.
|
|
@@ -6959,8 +6886,8 @@ var SubscribeFramesResultSchema = object({
|
|
|
6959
6886
|
* Audio chunks are tiny (a ~500ms AudioCodecSession window is a few KB of
|
|
6960
6887
|
* Float32 PCM), so unlike video frames they ship their bytes INLINE over
|
|
6961
6888
|
* tRPC / Moleculer — no shared-memory plane. `data` is typed `Uint8Array`
|
|
6962
|
-
* (the wire-serialisable supertype of `Buffer`)
|
|
6963
|
-
*
|
|
6889
|
+
* (the wire-serialisable supertype of `Buffer`); a `Buffer` is assignable to
|
|
6890
|
+
* it.
|
|
6964
6891
|
*/
|
|
6965
6892
|
var AudioChunkFormatSchema = _enum(AUDIO_CHUNK_FORMATS);
|
|
6966
6893
|
var DecodedAudioChunkSchema = object({
|
|
@@ -6978,11 +6905,10 @@ var DecodedAudioChunkSchema = object({
|
|
|
6978
6905
|
format: AudioChunkFormatSchema.optional()
|
|
6979
6906
|
});
|
|
6980
6907
|
/**
|
|
6981
|
-
* Input for `stream-broker.subscribeAudioChunks` (Phase 5 / D9).
|
|
6982
|
-
*
|
|
6983
|
-
*
|
|
6984
|
-
*
|
|
6985
|
-
* `pullAudioChunks`.
|
|
6908
|
+
* Input for `stream-broker.subscribeAudioChunks` (Phase 5 / D9). Audio ships
|
|
6909
|
+
* its bytes inline: a consumer asks the broker for the decoded audio-chunk
|
|
6910
|
+
* stream of one broker; the broker keeps a per-subscription bounded FIFO queue
|
|
6911
|
+
* the consumer drains via `pullAudioChunks`.
|
|
6986
6912
|
*/
|
|
6987
6913
|
var SubscribeAudioChunksInputSchema = object({
|
|
6988
6914
|
brokerId: string(),
|
|
@@ -7013,9 +6939,7 @@ var BrokerStatsSchema = object({
|
|
|
7013
6939
|
"stopped"
|
|
7014
6940
|
]),
|
|
7015
6941
|
inputFps: number(),
|
|
7016
|
-
decodeFps: number(),
|
|
7017
6942
|
encodedSubscribers: number(),
|
|
7018
|
-
decodedSubscribers: number(),
|
|
7019
6943
|
uptimeMs: number(),
|
|
7020
6944
|
bitrateKbps: number(),
|
|
7021
6945
|
idrIntervalMs: number(),
|
|
@@ -7028,14 +6952,6 @@ var BrokerStatsSchema = object({
|
|
|
7028
6952
|
preBufferMs: number(),
|
|
7029
6953
|
preBufferPackets: number(),
|
|
7030
6954
|
/**
|
|
7031
|
-
* Moleculer node id of the decoder provider currently servicing this
|
|
7032
|
-
* stream's decoded subscribers. `null` until the deferred decoder is
|
|
7033
|
-
* created (no decoded clients yet, or codec not detected). Surfaces the
|
|
7034
|
-
* runtime decoder placement so the UI can show "Decoder: <agent>" without
|
|
7035
|
-
* a separate cap call per broker.
|
|
7036
|
-
*/
|
|
7037
|
-
decoderNodeId: string().nullable(),
|
|
7038
|
-
/**
|
|
7039
6955
|
* Detected audio track parameters from the RTSP DESCRIBE / SDP. `null`
|
|
7040
6956
|
* when the stream has no audio track or the broker is in cold start.
|
|
7041
6957
|
* `supported = false` means the codec was detected but the local
|
|
@@ -12009,70 +11925,6 @@ var StorageLocationDeclarationSchema = object({
|
|
|
12009
11925
|
"backup"
|
|
12010
11926
|
]).optional()
|
|
12011
11927
|
});
|
|
12012
|
-
var DecoderStatsSchema = object({
|
|
12013
|
-
inputFps: number(),
|
|
12014
|
-
outputFps: number(),
|
|
12015
|
-
avgDecodeTimeMs: number(),
|
|
12016
|
-
droppedFrames: number(),
|
|
12017
|
-
/**
|
|
12018
|
-
* Pull-mode adaptive-fps telemetry (optional — only pull sessions run the
|
|
12019
|
-
* lag-driven controller; push sessions omit these). `lagMs` is the EWMA of
|
|
12020
|
-
* the decoder's real-time drift (rising = falling behind live); `adaptiveFps`
|
|
12021
|
-
* is the current lag-throttled emit rate (≤ `effectiveFps` ceiling).
|
|
12022
|
-
*/
|
|
12023
|
-
lagMs: number().optional(),
|
|
12024
|
-
effectiveFps: number().optional(),
|
|
12025
|
-
adaptiveFps: number().optional()
|
|
12026
|
-
});
|
|
12027
|
-
var DecoderSessionConfigSchema = object({
|
|
12028
|
-
codec: string(),
|
|
12029
|
-
maxFps: number().default(0),
|
|
12030
|
-
outputFormat: _enum([
|
|
12031
|
-
"jpeg",
|
|
12032
|
-
"rgb",
|
|
12033
|
-
"bgr",
|
|
12034
|
-
"yuv420",
|
|
12035
|
-
"gray"
|
|
12036
|
-
]).default("jpeg"),
|
|
12037
|
-
scale: number().default(1),
|
|
12038
|
-
width: number().optional(),
|
|
12039
|
-
height: number().optional(),
|
|
12040
|
-
/**
|
|
12041
|
-
* Identifier of the camera this decoder session serves. Optional
|
|
12042
|
-
* because the cap is generic (any caller could request decode), but
|
|
12043
|
-
* stream-broker passes it so decoder logs include `deviceId` for
|
|
12044
|
-
* per-camera filtering when diagnosing failures (e.g. node-av
|
|
12045
|
-
* sendPacket errors on a single hung camera).
|
|
12046
|
-
*/
|
|
12047
|
-
deviceId: number().int().nonnegative().optional(),
|
|
12048
|
-
/**
|
|
12049
|
-
* Free-form tag for log scoping. Stream-broker uses
|
|
12050
|
-
* `broker:<deviceId>/<profile>`. Decoder session logger surfaces it
|
|
12051
|
-
* on every line so `grep tag=broker:5/high` filters one camera
|
|
12052
|
-
* profile cleanly.
|
|
12053
|
-
*/
|
|
12054
|
-
tag: string().optional(),
|
|
12055
|
-
/**
|
|
12056
|
-
* Where the session delivers decoded frames (Phase 5 / D9):
|
|
12057
|
-
*
|
|
12058
|
-
* - `'callback'` (default) — the legacy pixel path: decoded frames are
|
|
12059
|
-
* buffered as `DecodedFrame`s and drained via `pullFrames`.
|
|
12060
|
-
* - `'shm'` — the shared-memory frame plane: decoded frames are written
|
|
12061
|
-
* into an OS shared-memory ring and drained as zero-pixel
|
|
12062
|
-
* `FrameHandle`s via `pullHandles`. A session is one mode or the
|
|
12063
|
-
* other — `pullFrames` returns nothing for an `'shm'` session and
|
|
12064
|
-
* `pullHandles` returns nothing for a `'callback'` session.
|
|
12065
|
-
*/
|
|
12066
|
-
frameSink: _enum(["callback", "shm"]).default("callback"),
|
|
12067
|
-
/**
|
|
12068
|
-
* Per-camera decoder DEBUG facility. When `true`, a pull-mode session emits
|
|
12069
|
-
* a throttled (~1Hz) structured `decoder debug` line (effective/adaptive fps,
|
|
12070
|
-
* real-time lag, dropped-frame delta, avg decode time, hwaccel). Mirrors the
|
|
12071
|
-
* stream-broker's `streamingDebug` gate — off by default so production logs
|
|
12072
|
-
* stay quiet and the emit path pays zero per-frame cost when disabled.
|
|
12073
|
-
*/
|
|
12074
|
-
debug: boolean().optional()
|
|
12075
|
-
});
|
|
12076
11928
|
/**
|
|
12077
11929
|
* Per-component log CHANNELS — the gate a hot path consults, and the registry
|
|
12078
11930
|
* an addon declares its channels in.
|
|
@@ -14995,13 +14847,6 @@ var BrokerRtspClientSchema = object({
|
|
|
14995
14847
|
lastRtpAt: number(),
|
|
14996
14848
|
bytesSent: number()
|
|
14997
14849
|
});
|
|
14998
|
-
var BrokerDecodedClientSchema = object({
|
|
14999
|
-
tag: string(),
|
|
15000
|
-
subscribedAt: number(),
|
|
15001
|
-
maxFps: number(),
|
|
15002
|
-
framesDelivered: number(),
|
|
15003
|
-
framesDropped: number()
|
|
15004
|
-
});
|
|
15005
14850
|
var BrokerAudioClientSchema = object({
|
|
15006
14851
|
tag: string(),
|
|
15007
14852
|
subscribedAt: number(),
|
|
@@ -15093,7 +14938,6 @@ var BrokerEncodedClientSchema = object({
|
|
|
15093
14938
|
});
|
|
15094
14939
|
var BrokerClientsSchema = object({
|
|
15095
14940
|
rtsp: array(BrokerRtspClientSchema).readonly(),
|
|
15096
|
-
decoded: array(BrokerDecodedClientSchema).readonly(),
|
|
15097
14941
|
audio: array(BrokerAudioClientSchema).readonly(),
|
|
15098
14942
|
encoded: array(BrokerEncodedClientSchema).readonly(),
|
|
15099
14943
|
pipeClients: number(),
|
|
@@ -15585,11 +15429,7 @@ var streamBrokerCapability = {
|
|
|
15585
15429
|
listClients: method(object({ brokerId: string() }), BrokerClientsSchema),
|
|
15586
15430
|
killClient: method(object({
|
|
15587
15431
|
brokerId: string(),
|
|
15588
|
-
channel: _enum([
|
|
15589
|
-
"rtsp",
|
|
15590
|
-
"decoded",
|
|
15591
|
-
"audio"
|
|
15592
|
-
]),
|
|
15432
|
+
channel: _enum(["rtsp", "audio"]),
|
|
15593
15433
|
handle: string()
|
|
15594
15434
|
}), object({ killed: boolean() }), {
|
|
15595
15435
|
kind: "mutation",
|
|
@@ -15688,31 +15528,6 @@ var streamBrokerCapability = {
|
|
|
15688
15528
|
maxCount: number().int().positive().default(8)
|
|
15689
15529
|
}), array(DecodedAudioChunkSchema).readonly()),
|
|
15690
15530
|
unsubscribeAudioChunks: method(object({ subscriptionId: string() }), object({ released: boolean() }), { kind: "mutation" }),
|
|
15691
|
-
/**
|
|
15692
|
-
* ── Shared-memory frame plane (Phase 5 / D9) ──────────────────────
|
|
15693
|
-
*
|
|
15694
|
-
* The handle-based replacement for the live-object `IStreamBroker.
|
|
15695
|
-
* onDecodedFrame` callback path. A consumer:
|
|
15696
|
-
*
|
|
15697
|
-
* 1. `subscribeFrames({ brokerId, format })` — the broker spins up
|
|
15698
|
-
* (or reuses) a `frameSink: 'shm'` decoder session producing that
|
|
15699
|
-
* `format` and returns a `subscriptionId`.
|
|
15700
|
-
* 2. polls `pullFrameHandles({ subscriptionId, maxCount })` — drains
|
|
15701
|
-
* zero-pixel `FrameHandle[]`; each handle is fed to a
|
|
15702
|
-
* `FrameRingReader` that opens the named shm segment and reads the
|
|
15703
|
-
* pixels back zero-copy.
|
|
15704
|
-
* 3. `unsubscribeFrames({ subscriptionId })` on teardown.
|
|
15705
|
-
*
|
|
15706
|
-
* The broker keeps one shm ring per `(brokerId, format)` actually
|
|
15707
|
-
* requested — no broker-side `sharp` conversion. fps throttling is
|
|
15708
|
-
* implicit (latest-wins ring reads drop frames for a slow consumer).
|
|
15709
|
-
*/
|
|
15710
|
-
subscribeFrames: method(SubscribeFramesInputSchema, SubscribeFramesResultSchema, { kind: "mutation" }),
|
|
15711
|
-
pullFrameHandles: method(object({
|
|
15712
|
-
subscriptionId: string(),
|
|
15713
|
-
maxCount: number().int().positive().default(4)
|
|
15714
|
-
}), array(FrameHandleSchema).readonly()),
|
|
15715
|
-
unsubscribeFrames: method(object({ subscriptionId: string() }), object({ released: boolean() }), { kind: "mutation" }),
|
|
15716
15531
|
setPreBufferDuration: method(object({
|
|
15717
15532
|
brokerId: string(),
|
|
15718
15533
|
seconds: number().min(0).max(30)
|
|
@@ -17015,54 +16830,12 @@ id: union([string(), number()]) }), {
|
|
|
17015
16830
|
kind: "mutation",
|
|
17016
16831
|
auth: "admin"
|
|
17017
16832
|
});
|
|
17018
|
-
|
|
17019
|
-
* shm ring usage stats for a `frameSink: 'shm'` decoder session —
|
|
17020
|
-
* exposed via `decoder.getShmStats` so downstream consumers can
|
|
17021
|
-
* observe ring pressure (slot count, byte budget, hit/miss ratio).
|
|
17022
|
-
*/
|
|
17023
|
-
var ShmRingStatsSchema = object({
|
|
17024
|
-
sessionId: string(),
|
|
17025
|
-
slotCount: number().int(),
|
|
17026
|
-
slotByteLength: number().int(),
|
|
17027
|
-
segmentBytes: number().int(),
|
|
17028
|
-
budgetMb: number().int(),
|
|
17029
|
-
framesWritten: number().int(),
|
|
17030
|
-
getFrameHits: number().int(),
|
|
17031
|
-
getFrameMisses: number().int()
|
|
17032
|
-
});
|
|
17033
|
-
method(object({ codec: string() }), boolean()), method(_void(), object({
|
|
16833
|
+
method(_void(), object({
|
|
17034
16834
|
id: string(),
|
|
17035
16835
|
name: string(),
|
|
17036
|
-
isPullMode: boolean().optional(),
|
|
17037
|
-
priority: number().optional(),
|
|
17038
16836
|
hwaccel: string().optional(),
|
|
17039
16837
|
probedBestHwaccel: string().optional()
|
|
17040
|
-
})), method(
|
|
17041
|
-
sessionId: string(),
|
|
17042
|
-
nodeId: string()
|
|
17043
|
-
})), method(object({ sessionId: string() }), _void()), method(object({
|
|
17044
|
-
sessionId: string(),
|
|
17045
|
-
packet: EncodedPacketSchema
|
|
17046
|
-
}), _void()), method(object({
|
|
17047
|
-
sessionId: string(),
|
|
17048
|
-
url: string()
|
|
17049
|
-
}), _void()), method(object({
|
|
17050
|
-
sessionId: string(),
|
|
17051
|
-
maxCount: number().default(1),
|
|
17052
|
-
waitMs: number().optional()
|
|
17053
|
-
}), array(DecodedFrameSchema)), method(object({
|
|
17054
|
-
sessionId: string(),
|
|
17055
|
-
maxCount: number().default(1),
|
|
17056
|
-
waitMs: number().optional()
|
|
17057
|
-
}), array(FrameHandleSchema)), method(object({ handle: FrameHandleSchema }), DecodedFrameSchema.nullable()), method(object({ sessionId: string() }), ShmRingStatsSchema.nullable()), method(object({
|
|
17058
|
-
sessionId: string(),
|
|
17059
|
-
config: DecoderSessionConfigSchema.partial()
|
|
17060
|
-
}), _void()), method(object({ sessionId: string() }), DecoderStatsSchema), method(_void(), array(object({
|
|
17061
|
-
sessionId: string(),
|
|
17062
|
-
codec: string(),
|
|
17063
|
-
outputFormat: string(),
|
|
17064
|
-
createdAtMs: number()
|
|
17065
|
-
})).readonly()), method(_void(), object({ backend: string() }), {
|
|
16838
|
+
})), method(_void(), object({ backend: string() }), {
|
|
17066
16839
|
kind: "mutation",
|
|
17067
16840
|
auth: "admin"
|
|
17068
16841
|
});
|
|
@@ -24540,8 +24313,8 @@ function resolveClusterStepModelId(stepId, models) {
|
|
|
24540
24313
|
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
24541
24314
|
stepId: "face-embedding",
|
|
24542
24315
|
key: "minLandmarkFaceSize",
|
|
24543
|
-
label: "Min face size
|
|
24544
|
-
description: "
|
|
24316
|
+
label: "Min face size to embed (detection-frame px)",
|
|
24317
|
+
description: "Faces smaller than this in the small frame the detector sees are not embedded, so they can never be recognised. Below it the face cannot be aligned reliably and a bad embedding matches everyone. Same value on every node. 0 = no limit.",
|
|
24545
24318
|
type: "slider",
|
|
24546
24319
|
min: 0,
|
|
24547
24320
|
max: 64,
|
|
@@ -28433,14 +28206,15 @@ var RunnerLocalLoadSchema = object({
|
|
|
28433
28206
|
* Per-inference-device live load (multi-device C4). One entry per deviceKey
|
|
28434
28207
|
* this runner currently has attached cameras on, so the orchestrator's second
|
|
28435
28208
|
* `balance()` pass (over a node's devices) weights on real per-pool session
|
|
28436
|
-
* counts. Empty on single-device / pre-multi-device runners.
|
|
28437
|
-
* per
|
|
28209
|
+
* counts. Empty on single-device / pre-multi-device runners. There is no
|
|
28210
|
+
* per-device queue depth: the inference pool's backlog has no accessor, and
|
|
28211
|
+
* a field that always read 0 was removed rather than shown as a measurement
|
|
28212
|
+
* (D762).
|
|
28438
28213
|
*/
|
|
28439
28214
|
devices: array(object({
|
|
28440
28215
|
deviceKey: string(),
|
|
28441
28216
|
backend: string(),
|
|
28442
|
-
attachedCameras: number()
|
|
28443
|
-
queueDepthTotal: number()
|
|
28217
|
+
attachedCameras: number()
|
|
28444
28218
|
})).default([]),
|
|
28445
28219
|
/** Hardware capability flags reported by this node. */
|
|
28446
28220
|
hardware: object({
|
|
@@ -28955,7 +28729,10 @@ var PipelineAssignmentSchema = object({
|
|
|
28955
28729
|
});
|
|
28956
28730
|
/**
|
|
28957
28731
|
* Per-agent load summary surfaced to the load balancer + dashboards.
|
|
28958
|
-
* Aggregated from each runner's `getLocalLoad` cap call.
|
|
28732
|
+
* Aggregated from each runner's `getLocalLoad` cap call. In the
|
|
28733
|
+
* `getAgentLoad` report, a single-device node's default-pool sessions (no
|
|
28734
|
+
* `deviceKey`) are credited to its one eligible device in `load.devices` —
|
|
28735
|
+
* the default pool IS that device (D745); the balancer's census stays raw.
|
|
28959
28736
|
*/
|
|
28960
28737
|
var AgentLoadSummarySchema = object({
|
|
28961
28738
|
nodeId: string(),
|
|
@@ -29044,8 +28821,14 @@ var CameraBrokerStatusSchema = object({
|
|
|
29044
28821
|
width: number(),
|
|
29045
28822
|
height: number(),
|
|
29046
28823
|
subscribers: number(),
|
|
29047
|
-
|
|
29048
|
-
|
|
28824
|
+
/**
|
|
28825
|
+
* Encoded packets/s the broker receives from the camera. null when the
|
|
28826
|
+
* broker's stats read failed — unknown, never 0 (a 0 here reads as a stall).
|
|
28827
|
+
* There is no output rate: decoding runs in the session decode workers, not
|
|
28828
|
+
* in the broker, so the broker's own decoded-frame rate is 0 on every live
|
|
28829
|
+
* camera and is not served (D758).
|
|
28830
|
+
*/
|
|
28831
|
+
inFps: number().nullable()
|
|
29049
28832
|
})).readonly(),
|
|
29050
28833
|
webrtcSessions: number(),
|
|
29051
28834
|
rtspRestream: boolean()
|
|
@@ -32027,8 +31810,6 @@ var WebrtcStreamChoiceSchema = object({
|
|
|
32027
31810
|
]).nullable(),
|
|
32028
31811
|
/** Input FPS from the camera (null for adaptive). */
|
|
32029
31812
|
inputFps: number().nullable(),
|
|
32030
|
-
/** Decoded FPS (null for adaptive). */
|
|
32031
|
-
decodeFps: number().nullable(),
|
|
32032
31813
|
/** Bitrate in kbps (null for adaptive). */
|
|
32033
31814
|
bitrateKbps: number().nullable()
|
|
32034
31815
|
});
|
|
@@ -42903,90 +42684,18 @@ Object.freeze({
|
|
|
42903
42684
|
addonId: null,
|
|
42904
42685
|
access: "create"
|
|
42905
42686
|
},
|
|
42906
|
-
"decoder.createSession": {
|
|
42907
|
-
capName: "decoder",
|
|
42908
|
-
capScope: "system",
|
|
42909
|
-
addonId: null,
|
|
42910
|
-
access: "view"
|
|
42911
|
-
},
|
|
42912
|
-
"decoder.destroySession": {
|
|
42913
|
-
capName: "decoder",
|
|
42914
|
-
capScope: "system",
|
|
42915
|
-
addonId: null,
|
|
42916
|
-
access: "delete"
|
|
42917
|
-
},
|
|
42918
|
-
"decoder.getFrame": {
|
|
42919
|
-
capName: "decoder",
|
|
42920
|
-
capScope: "system",
|
|
42921
|
-
addonId: null,
|
|
42922
|
-
access: "view"
|
|
42923
|
-
},
|
|
42924
42687
|
"decoder.getInfo": {
|
|
42925
42688
|
capName: "decoder",
|
|
42926
42689
|
capScope: "system",
|
|
42927
42690
|
addonId: null,
|
|
42928
42691
|
access: "view"
|
|
42929
42692
|
},
|
|
42930
|
-
"decoder.getShmStats": {
|
|
42931
|
-
capName: "decoder",
|
|
42932
|
-
capScope: "system",
|
|
42933
|
-
addonId: null,
|
|
42934
|
-
access: "view"
|
|
42935
|
-
},
|
|
42936
|
-
"decoder.getStats": {
|
|
42937
|
-
capName: "decoder",
|
|
42938
|
-
capScope: "system",
|
|
42939
|
-
addonId: null,
|
|
42940
|
-
access: "view"
|
|
42941
|
-
},
|
|
42942
|
-
"decoder.listActiveSessions": {
|
|
42943
|
-
capName: "decoder",
|
|
42944
|
-
capScope: "system",
|
|
42945
|
-
addonId: null,
|
|
42946
|
-
access: "view"
|
|
42947
|
-
},
|
|
42948
|
-
"decoder.openStream": {
|
|
42949
|
-
capName: "decoder",
|
|
42950
|
-
capScope: "system",
|
|
42951
|
-
addonId: null,
|
|
42952
|
-
access: "view"
|
|
42953
|
-
},
|
|
42954
|
-
"decoder.pullFrames": {
|
|
42955
|
-
capName: "decoder",
|
|
42956
|
-
capScope: "system",
|
|
42957
|
-
addonId: null,
|
|
42958
|
-
access: "view"
|
|
42959
|
-
},
|
|
42960
|
-
"decoder.pullHandles": {
|
|
42961
|
-
capName: "decoder",
|
|
42962
|
-
capScope: "system",
|
|
42963
|
-
addonId: null,
|
|
42964
|
-
access: "view"
|
|
42965
|
-
},
|
|
42966
|
-
"decoder.pushPacket": {
|
|
42967
|
-
capName: "decoder",
|
|
42968
|
-
capScope: "system",
|
|
42969
|
-
addonId: null,
|
|
42970
|
-
access: "view"
|
|
42971
|
-
},
|
|
42972
42693
|
"decoder.reprobeHwaccel": {
|
|
42973
42694
|
capName: "decoder",
|
|
42974
42695
|
capScope: "system",
|
|
42975
42696
|
addonId: null,
|
|
42976
42697
|
access: "create"
|
|
42977
42698
|
},
|
|
42978
|
-
"decoder.supportsCodec": {
|
|
42979
|
-
capName: "decoder",
|
|
42980
|
-
capScope: "system",
|
|
42981
|
-
addonId: null,
|
|
42982
|
-
access: "view"
|
|
42983
|
-
},
|
|
42984
|
-
"decoder.updateConfig": {
|
|
42985
|
-
capName: "decoder",
|
|
42986
|
-
capScope: "system",
|
|
42987
|
-
addonId: null,
|
|
42988
|
-
access: "view"
|
|
42989
|
-
},
|
|
42990
42699
|
"detectionPipeline.applyDeviceSettingsPatch": {
|
|
42991
42700
|
capName: "detection-pipeline",
|
|
42992
42701
|
capScope: "device",
|
|
@@ -48033,12 +47742,6 @@ Object.freeze({
|
|
|
48033
47742
|
addonId: null,
|
|
48034
47743
|
access: "view"
|
|
48035
47744
|
},
|
|
48036
|
-
"streamBroker.pullFrameHandles": {
|
|
48037
|
-
capName: "stream-broker",
|
|
48038
|
-
capScope: "system",
|
|
48039
|
-
addonId: null,
|
|
48040
|
-
access: "view"
|
|
48041
|
-
},
|
|
48042
47745
|
"streamBroker.regenerateRtspToken": {
|
|
48043
47746
|
capName: "stream-broker",
|
|
48044
47747
|
capScope: "system",
|
|
@@ -48105,12 +47808,6 @@ Object.freeze({
|
|
|
48105
47808
|
addonId: null,
|
|
48106
47809
|
access: "create"
|
|
48107
47810
|
},
|
|
48108
|
-
"streamBroker.subscribeFrames": {
|
|
48109
|
-
capName: "stream-broker",
|
|
48110
|
-
capScope: "system",
|
|
48111
|
-
addonId: null,
|
|
48112
|
-
access: "create"
|
|
48113
|
-
},
|
|
48114
47811
|
"streamBroker.unassignProfile": {
|
|
48115
47812
|
capName: "stream-broker",
|
|
48116
47813
|
capScope: "system",
|
|
@@ -48123,12 +47820,6 @@ Object.freeze({
|
|
|
48123
47820
|
addonId: null,
|
|
48124
47821
|
access: "create"
|
|
48125
47822
|
},
|
|
48126
|
-
"streamBroker.unsubscribeFrames": {
|
|
48127
|
-
capName: "stream-broker",
|
|
48128
|
-
capScope: "system",
|
|
48129
|
-
addonId: null,
|
|
48130
|
-
access: "create"
|
|
48131
|
-
},
|
|
48132
47823
|
"streamCatalog.getCatalog": {
|
|
48133
47824
|
capName: "stream-catalog",
|
|
48134
47825
|
capScope: "device",
|
|
@@ -50642,11 +50333,6 @@ Object.freeze({
|
|
|
50642
50333
|
form: "single",
|
|
50643
50334
|
optional: false
|
|
50644
50335
|
}],
|
|
50645
|
-
"decoder.createSession": [{
|
|
50646
|
-
name: "deviceId",
|
|
50647
|
-
form: "single",
|
|
50648
|
-
optional: true
|
|
50649
|
-
}],
|
|
50650
50336
|
"detectionPipeline.applyDeviceSettingsPatch": [{
|
|
50651
50337
|
name: "deviceId",
|
|
50652
50338
|
form: "single",
|
|
@@ -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-BwipY6K1.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 { En as DeviceType, Ln as hydrateSchema, Vt as motionDetectionCapability, _t as evaluateZoneRules, kn as BaseAddon } from "../dist-
|
|
1
|
+
import { En as DeviceType, Ln as hydrateSchema, Vt as motionDetectionCapability, _t as evaluateZoneRules, kn as BaseAddon } from "../dist-BAHBDujp.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-BwipY6K1.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 { Dn as errMsg, bn as Fmp4BoxSplitter, wn as isSoftwareDecode, xn as buildFfmpegArgs } from "./dist-
|
|
1
|
+
import { Dn as errMsg, bn as Fmp4BoxSplitter, wn as isSoftwareDecode, xn as buildFfmpegArgs } from "./dist-BAHBDujp.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { realpathSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|