@camstack/addon-pipeline 1.2.131 → 1.2.132
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/{addon-utils-DCQ5AP_v.js → addon-utils-DzCn6z7v.js} +1 -1
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +5 -5
- package/dist/detection-pipeline/index.mjs +3 -3
- package/dist/{dist-DO0UVhOk.mjs → dist-BZYUUBUx.mjs} +83 -2
- package/dist/{dist-CqoMNE1e.js → dist-DBP47QOz.js} +83 -2
- package/dist/{event-loop-stall-monitor-eM7_yYfn.js → event-loop-stall-monitor-CiH_MHfO.js} +1 -1
- package/dist/{event-loop-stall-monitor-D0Juf7Dn.mjs → event-loop-stall-monitor-IACE22fK.mjs} +1 -1
- package/dist/{lazy-sharp-BGrpS8yi.js → lazy-sharp-B_kETjyQ.js} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +4 -4
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-Bac3FuG6.mjs → process-memory-C7rsraCR.mjs} +1 -1
- package/dist/{process-memory-xAPjvSw9.js → process-memory-CtXQAA3d.js} +1 -1
- package/dist/recorder/index.js +233 -15
- package/dist/recorder/index.mjs +232 -14
- package/dist/{segment-demux-js-skhsAZx6.mjs → segment-demux-js-BL1UDdiI.mjs} +1 -1
- package/dist/{segment-demux-js-Cu0oDMUL.js → segment-demux-js-wTzFi5UW.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/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DGQkDEYw.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DlKJZ-_M.mjs} +3 -3
- package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bme2OZQp.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DXKTNEae.mjs} +1 -1
- package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CQKwHIHI.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BUw_aTfK.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-D7FwwZgj.mjs → hostInit-kDKgfUjp.mjs} +3 -3
- package/dist/stream-broker/index.js +2 -2
- package/dist/stream-broker/index.mjs +2 -2
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-G3HXTY8z.js → worker-protocol-C3zaz0Jv.js} +1 -1
- package/dist/{worker-protocol-_Ujvj1hl.mjs → worker-protocol-Cut8984B.mjs} +1 -1
- package/package.json +1 -1
|
@@ -2,9 +2,9 @@ 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-
|
|
7
|
-
const require_addon_utils = require("../addon-utils-
|
|
5
|
+
const require_dist = require("../dist-DBP47QOz.js");
|
|
6
|
+
const require_process_memory = require("../process-memory-CtXQAA3d.js");
|
|
7
|
+
const require_addon_utils = require("../addon-utils-DzCn6z7v.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_dist.__toESM(node_path);
|
|
10
10
|
let node_fs = require("node:fs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { A as audioAnalyzerCapability, Dt as hydrateSchema, J as mapAudioLabelToMacro, St as BaseAddon, _ as HF_BASE_URL, gt as errMsg, k as audioAnalysisCapability, lt as resolvePoolMemoryPolicy, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, x as PoolMemoryWatchdog } from "../dist-
|
|
3
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { A as audioAnalyzerCapability, Dt as hydrateSchema, J as mapAudioLabelToMacro, St as BaseAddon, _ as HF_BASE_URL, gt as errMsg, k as audioAnalysisCapability, lt as resolvePoolMemoryPolicy, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, x as PoolMemoryWatchdog } from "../dist-BZYUUBUx.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-C7rsraCR.mjs";
|
|
4
4
|
import { i as downloadFile } from "../addon-utils-CgBCF-mE.mjs";
|
|
5
5
|
import * as path$1 from "node:path";
|
|
6
6
|
import * as fs from "node:fs";
|
|
@@ -2,11 +2,11 @@ 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_event_loop_stall_monitor = require("../event-loop-stall-monitor-
|
|
7
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
8
|
-
const require_process_memory = require("../process-memory-
|
|
9
|
-
const require_addon_utils = require("../addon-utils-
|
|
5
|
+
const require_dist = require("../dist-DBP47QOz.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-CiH_MHfO.js");
|
|
7
|
+
const require_lazy_sharp = require("../lazy-sharp-B_kETjyQ.js");
|
|
8
|
+
const require_process_memory = require("../process-memory-CtXQAA3d.js");
|
|
9
|
+
const require_addon_utils = require("../addon-utils-DzCn6z7v.js");
|
|
10
10
|
let sharp = require("sharp");
|
|
11
11
|
sharp = require_dist.__toESM(sharp);
|
|
12
12
|
let node_child_process = require("node:child_process");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { $ as pickClusterStepModels, D as YAMNET_TO_MACRO, Dt as hydrateSchema, Et as createEvent, Ft as sleep, G as evaluateZoneRules, Gt as string, I as defaultDeviceFor$1, Kt as union, Lt as array, Mt as parseJsonUnknown, St as BaseAddon, Ut as object, V as detectionPipelineCapability, W as enumerateInferenceDevices, Z as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, dt as runtimeDevices$1, et as pickClusterStepSettings, gt as errMsg, jt as nodePin, l as DEFAULT_CLUSTER_STEP_SETTINGS, lt as resolvePoolMemoryPolicy, mt as supportedRuntimes$1, p as DEVICE_BACKEND_TO_FORMAT, q as inferModelProvider, qt as EventCategory, rt as pipelineExecutorCapability, st as resolveClusterStepModelId, t as APPLE_SA_TO_MACRO, x as PoolMemoryWatchdog } from "../dist-
|
|
3
|
-
import { a as ALL_PIPELINE_STEPS, c as getDefaultModelForFormatFromDef, d as resolveModelForFormat, f as landmarkPrecisionVerdict, l as getStep, n as startEventLoopStallMonitor, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as getStepDefinition } from "../event-loop-stall-monitor-
|
|
2
|
+
import { $ as pickClusterStepModels, D as YAMNET_TO_MACRO, Dt as hydrateSchema, Et as createEvent, Ft as sleep, G as evaluateZoneRules, Gt as string, I as defaultDeviceFor$1, Kt as union, Lt as array, Mt as parseJsonUnknown, St as BaseAddon, Ut as object, V as detectionPipelineCapability, W as enumerateInferenceDevices, Z as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, dt as runtimeDevices$1, et as pickClusterStepSettings, gt as errMsg, jt as nodePin, l as DEFAULT_CLUSTER_STEP_SETTINGS, lt as resolvePoolMemoryPolicy, mt as supportedRuntimes$1, p as DEVICE_BACKEND_TO_FORMAT, q as inferModelProvider, qt as EventCategory, rt as pipelineExecutorCapability, st as resolveClusterStepModelId, t as APPLE_SA_TO_MACRO, x as PoolMemoryWatchdog } from "../dist-BZYUUBUx.mjs";
|
|
3
|
+
import { a as ALL_PIPELINE_STEPS, c as getDefaultModelForFormatFromDef, d as resolveModelForFormat, f as landmarkPrecisionVerdict, l as getStep, n as startEventLoopStallMonitor, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as getStepDefinition } from "../event-loop-stall-monitor-IACE22fK.mjs";
|
|
4
4
|
import { t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
|
|
5
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
5
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-C7rsraCR.mjs";
|
|
6
6
|
import { a as ensureModel, o as isModelDownloaded, r as deleteModelFromDisk } from "../addon-utils-CgBCF-mE.mjs";
|
|
7
7
|
import sharp from "sharp";
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
@@ -17337,7 +17337,23 @@ var NcHistoryEntrySchema = object({
|
|
|
17337
17337
|
updatedAt: number(),
|
|
17338
17338
|
/** Failure detail — present on a `dead` row. */
|
|
17339
17339
|
error: string().optional(),
|
|
17340
|
-
subject: NcHistorySubjectSchema
|
|
17340
|
+
subject: NcHistorySubjectSchema,
|
|
17341
|
+
/**
|
|
17342
|
+
* Ids of the artefacts (still, then gif, then clip) this row's successful
|
|
17343
|
+
* delivery indexed in the artefact library — a REFERENCE, never the bytes
|
|
17344
|
+
* (an artefact is often megabytes; this row is durable JSON rewritten on
|
|
17345
|
+
* every delivery attempt). Absent on a row still pending/dead, a row
|
|
17346
|
+
* delivered before this field shipped, or a wiring with no artefact index.
|
|
17347
|
+
*
|
|
17348
|
+
* Resolve one to a fetchable URL with `resolveArtifactUrl` — an id
|
|
17349
|
+
* outlives any one URL's TTL, so a caller mints a fresh link on demand
|
|
17350
|
+
* rather than trusting one frozen at delivery time. `resolveArtifactUrl`
|
|
17351
|
+
* also answers `null` for an id whose artefact has since expired past the
|
|
17352
|
+
* retained shelf's own age bound — the degrade a caller (the Home
|
|
17353
|
+
* Assistant export) must render as "no image right now", never as a
|
|
17354
|
+
* broken link.
|
|
17355
|
+
*/
|
|
17356
|
+
artifactIds: array(string().min(1)).optional()
|
|
17341
17357
|
});
|
|
17342
17358
|
/**
|
|
17343
17359
|
* Query filter for `getHistory` (spec §4.2). Every field is a narrowing
|
|
@@ -17564,7 +17580,7 @@ method(object({}), object({ rules: array(NcRuleSchema) }), { auth: "admin" }), m
|
|
|
17564
17580
|
}), method(object({}), object({
|
|
17565
17581
|
catalog: array(NcConditionDescriptorSchema),
|
|
17566
17582
|
taxonomy: NcTaxonomySchema.optional()
|
|
17567
|
-
})), method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" }), method(object({}), object({ snoozes: array(NcSnoozeSchema) }), { caller: "required" }), method(object({ snooze: NcSnoozeInputSchema }), object({ snooze: NcSnoozeSchema }), {
|
|
17583
|
+
})), method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" }), method(object({ artifactId: string().min(1) }), object({ url: string().nullable() }), { auth: "admin" }), method(object({}), object({ snoozes: array(NcSnoozeSchema) }), { caller: "required" }), method(object({ snooze: NcSnoozeInputSchema }), object({ snooze: NcSnoozeSchema }), {
|
|
17568
17584
|
kind: "mutation",
|
|
17569
17585
|
caller: "required"
|
|
17570
17586
|
}), method(object({ snoozeId: string() }), object({ success: literal(true) }), {
|
|
@@ -27351,6 +27367,39 @@ var ReadGopBytesResultSchema = object({
|
|
|
27351
27367
|
/** Media ms the returned fragment covers. */
|
|
27352
27368
|
gopDurMs: number()
|
|
27353
27369
|
});
|
|
27370
|
+
/**
|
|
27371
|
+
* A time WINDOW of one finalized segment, cut by byte range — the multi-GOP
|
|
27372
|
+
* twin of {@link ReadGopBytesResultSchema}'s single instant. Built for the
|
|
27373
|
+
* replay clip's `recording` source (`docs/design/plans/2026-08-26-replay-clip-su-pipeline.md`):
|
|
27374
|
+
* a replay needs several seconds of native pixels, not one frame.
|
|
27375
|
+
*
|
|
27376
|
+
* `ok.data` is standalone-demuxable, same as a GOP read. `ok.reachesRequestedEnd`
|
|
27377
|
+
* is `false` when the returned bytes were cut short by the read's own safety
|
|
27378
|
+
* byte cap before covering `[fromMs, toMs)` — a truncation, reported, not a
|
|
27379
|
+
* silently shorter answer. `spans-multiple-segments` is a REFUSAL, not a
|
|
27380
|
+
* degradation: a window whose end falls past the covering segment would need
|
|
27381
|
+
* bytes stitched from a second segment file (its own `ftyp`+`moov`), which is
|
|
27382
|
+
* not one standalone-demuxable stream — the caller's answer is to request a
|
|
27383
|
+
* shorter window or one aligned to a single segment, not to receive spliced
|
|
27384
|
+
* bytes nothing has proven decodable.
|
|
27385
|
+
*/
|
|
27386
|
+
var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
27387
|
+
kind: literal("ok"),
|
|
27388
|
+
data: _instanceof(Uint8Array),
|
|
27389
|
+
/** Absolute epoch ms of the returned bytes' first sample — at or before
|
|
27390
|
+
* the requested `fromMs` (anchored on the nearest keyframe). */
|
|
27391
|
+
gopStartMs: number(),
|
|
27392
|
+
/** Media ms the returned bytes cover, from `gopStartMs`. */
|
|
27393
|
+
gopDurMs: number(),
|
|
27394
|
+
/** `false` ⇒ the safety byte cap cut the read short before it reached
|
|
27395
|
+
* the requested `toMs`; the caller got fewer frames than asked for. */
|
|
27396
|
+
reachesRequestedEnd: boolean()
|
|
27397
|
+
}), object({
|
|
27398
|
+
kind: literal("spans-multiple-segments"),
|
|
27399
|
+
/** Where the covering segment's own footage runs out — informational,
|
|
27400
|
+
* not a retry hint (retrying the same window would refuse again). */
|
|
27401
|
+
segmentEndMs: number()
|
|
27402
|
+
})]);
|
|
27354
27403
|
var recordingCapability = {
|
|
27355
27404
|
name: "recording",
|
|
27356
27405
|
scope: "system",
|
|
@@ -27430,6 +27479,21 @@ var recordingCapability = {
|
|
|
27430
27479
|
kind: "query",
|
|
27431
27480
|
auth: "admin"
|
|
27432
27481
|
}),
|
|
27482
|
+
/** Read a WINDOW `[fromMs, toMs)` of segment `startMs`, by mfra byte
|
|
27483
|
+
* range — the multi-GOP twin of `readGopBytes`. Refuses (does not
|
|
27484
|
+
* degrade) when the window runs past the covering segment. Used by the
|
|
27485
|
+
* replay clip's `recording` source to fetch several seconds of native
|
|
27486
|
+
* footage for its single ffmpeg decode pass. */
|
|
27487
|
+
readWindowBytes: method(object({
|
|
27488
|
+
deviceId: number(),
|
|
27489
|
+
profile: string(),
|
|
27490
|
+
startMs: number(),
|
|
27491
|
+
fromMs: number(),
|
|
27492
|
+
toMs: number()
|
|
27493
|
+
}), ReadWindowBytesResultSchema, {
|
|
27494
|
+
kind: "query",
|
|
27495
|
+
auth: "admin"
|
|
27496
|
+
}),
|
|
27433
27497
|
setDeviceConfig: method(object({
|
|
27434
27498
|
deviceId: number(),
|
|
27435
27499
|
config: RecordingConfigSchema
|
|
@@ -31991,6 +32055,12 @@ Object.freeze({
|
|
|
31991
32055
|
addonId: null,
|
|
31992
32056
|
access: "view"
|
|
31993
32057
|
},
|
|
32058
|
+
"notificationRules.resolveArtifactUrl": {
|
|
32059
|
+
capName: "notification-rules",
|
|
32060
|
+
capScope: "system",
|
|
32061
|
+
addonId: null,
|
|
32062
|
+
access: "view"
|
|
32063
|
+
},
|
|
31994
32064
|
"notificationRules.setAlarmConfig": {
|
|
31995
32065
|
capName: "notification-rules",
|
|
31996
32066
|
capScope: "system",
|
|
@@ -33395,6 +33465,12 @@ Object.freeze({
|
|
|
33395
33465
|
addonId: null,
|
|
33396
33466
|
access: "view"
|
|
33397
33467
|
},
|
|
33468
|
+
"recording.readWindowBytes": {
|
|
33469
|
+
capName: "recording",
|
|
33470
|
+
capScope: "system",
|
|
33471
|
+
addonId: null,
|
|
33472
|
+
access: "view"
|
|
33473
|
+
},
|
|
33398
33474
|
"recording.refreshStorageLocationsForMigration": {
|
|
33399
33475
|
capName: "recording",
|
|
33400
33476
|
capScope: "system",
|
|
@@ -36225,6 +36301,11 @@ Object.freeze({
|
|
|
36225
36301
|
form: "single",
|
|
36226
36302
|
optional: false
|
|
36227
36303
|
}],
|
|
36304
|
+
"recording.readWindowBytes": [{
|
|
36305
|
+
name: "deviceId",
|
|
36306
|
+
form: "single",
|
|
36307
|
+
optional: false
|
|
36308
|
+
}],
|
|
36228
36309
|
"recording.relocateFootage": [{
|
|
36229
36310
|
name: "deviceId",
|
|
36230
36311
|
form: "single",
|
|
@@ -17360,7 +17360,23 @@ var NcHistoryEntrySchema = object({
|
|
|
17360
17360
|
updatedAt: number(),
|
|
17361
17361
|
/** Failure detail — present on a `dead` row. */
|
|
17362
17362
|
error: string().optional(),
|
|
17363
|
-
subject: NcHistorySubjectSchema
|
|
17363
|
+
subject: NcHistorySubjectSchema,
|
|
17364
|
+
/**
|
|
17365
|
+
* Ids of the artefacts (still, then gif, then clip) this row's successful
|
|
17366
|
+
* delivery indexed in the artefact library — a REFERENCE, never the bytes
|
|
17367
|
+
* (an artefact is often megabytes; this row is durable JSON rewritten on
|
|
17368
|
+
* every delivery attempt). Absent on a row still pending/dead, a row
|
|
17369
|
+
* delivered before this field shipped, or a wiring with no artefact index.
|
|
17370
|
+
*
|
|
17371
|
+
* Resolve one to a fetchable URL with `resolveArtifactUrl` — an id
|
|
17372
|
+
* outlives any one URL's TTL, so a caller mints a fresh link on demand
|
|
17373
|
+
* rather than trusting one frozen at delivery time. `resolveArtifactUrl`
|
|
17374
|
+
* also answers `null` for an id whose artefact has since expired past the
|
|
17375
|
+
* retained shelf's own age bound — the degrade a caller (the Home
|
|
17376
|
+
* Assistant export) must render as "no image right now", never as a
|
|
17377
|
+
* broken link.
|
|
17378
|
+
*/
|
|
17379
|
+
artifactIds: array(string().min(1)).optional()
|
|
17364
17380
|
});
|
|
17365
17381
|
/**
|
|
17366
17382
|
* Query filter for `getHistory` (spec §4.2). Every field is a narrowing
|
|
@@ -17587,7 +17603,7 @@ method(object({}), object({ rules: array(NcRuleSchema) }), { auth: "admin" }), m
|
|
|
17587
17603
|
}), method(object({}), object({
|
|
17588
17604
|
catalog: array(NcConditionDescriptorSchema),
|
|
17589
17605
|
taxonomy: NcTaxonomySchema.optional()
|
|
17590
|
-
})), method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" }), method(object({}), object({ snoozes: array(NcSnoozeSchema) }), { caller: "required" }), method(object({ snooze: NcSnoozeInputSchema }), object({ snooze: NcSnoozeSchema }), {
|
|
17606
|
+
})), method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" }), method(object({ artifactId: string().min(1) }), object({ url: string().nullable() }), { auth: "admin" }), method(object({}), object({ snoozes: array(NcSnoozeSchema) }), { caller: "required" }), method(object({ snooze: NcSnoozeInputSchema }), object({ snooze: NcSnoozeSchema }), {
|
|
17591
17607
|
kind: "mutation",
|
|
17592
17608
|
caller: "required"
|
|
17593
17609
|
}), method(object({ snoozeId: string() }), object({ success: literal(true) }), {
|
|
@@ -27374,6 +27390,39 @@ var ReadGopBytesResultSchema = object({
|
|
|
27374
27390
|
/** Media ms the returned fragment covers. */
|
|
27375
27391
|
gopDurMs: number()
|
|
27376
27392
|
});
|
|
27393
|
+
/**
|
|
27394
|
+
* A time WINDOW of one finalized segment, cut by byte range — the multi-GOP
|
|
27395
|
+
* twin of {@link ReadGopBytesResultSchema}'s single instant. Built for the
|
|
27396
|
+
* replay clip's `recording` source (`docs/design/plans/2026-08-26-replay-clip-su-pipeline.md`):
|
|
27397
|
+
* a replay needs several seconds of native pixels, not one frame.
|
|
27398
|
+
*
|
|
27399
|
+
* `ok.data` is standalone-demuxable, same as a GOP read. `ok.reachesRequestedEnd`
|
|
27400
|
+
* is `false` when the returned bytes were cut short by the read's own safety
|
|
27401
|
+
* byte cap before covering `[fromMs, toMs)` — a truncation, reported, not a
|
|
27402
|
+
* silently shorter answer. `spans-multiple-segments` is a REFUSAL, not a
|
|
27403
|
+
* degradation: a window whose end falls past the covering segment would need
|
|
27404
|
+
* bytes stitched from a second segment file (its own `ftyp`+`moov`), which is
|
|
27405
|
+
* not one standalone-demuxable stream — the caller's answer is to request a
|
|
27406
|
+
* shorter window or one aligned to a single segment, not to receive spliced
|
|
27407
|
+
* bytes nothing has proven decodable.
|
|
27408
|
+
*/
|
|
27409
|
+
var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
27410
|
+
kind: literal("ok"),
|
|
27411
|
+
data: _instanceof(Uint8Array),
|
|
27412
|
+
/** Absolute epoch ms of the returned bytes' first sample — at or before
|
|
27413
|
+
* the requested `fromMs` (anchored on the nearest keyframe). */
|
|
27414
|
+
gopStartMs: number(),
|
|
27415
|
+
/** Media ms the returned bytes cover, from `gopStartMs`. */
|
|
27416
|
+
gopDurMs: number(),
|
|
27417
|
+
/** `false` ⇒ the safety byte cap cut the read short before it reached
|
|
27418
|
+
* the requested `toMs`; the caller got fewer frames than asked for. */
|
|
27419
|
+
reachesRequestedEnd: boolean()
|
|
27420
|
+
}), object({
|
|
27421
|
+
kind: literal("spans-multiple-segments"),
|
|
27422
|
+
/** Where the covering segment's own footage runs out — informational,
|
|
27423
|
+
* not a retry hint (retrying the same window would refuse again). */
|
|
27424
|
+
segmentEndMs: number()
|
|
27425
|
+
})]);
|
|
27377
27426
|
var recordingCapability = {
|
|
27378
27427
|
name: "recording",
|
|
27379
27428
|
scope: "system",
|
|
@@ -27453,6 +27502,21 @@ var recordingCapability = {
|
|
|
27453
27502
|
kind: "query",
|
|
27454
27503
|
auth: "admin"
|
|
27455
27504
|
}),
|
|
27505
|
+
/** Read a WINDOW `[fromMs, toMs)` of segment `startMs`, by mfra byte
|
|
27506
|
+
* range — the multi-GOP twin of `readGopBytes`. Refuses (does not
|
|
27507
|
+
* degrade) when the window runs past the covering segment. Used by the
|
|
27508
|
+
* replay clip's `recording` source to fetch several seconds of native
|
|
27509
|
+
* footage for its single ffmpeg decode pass. */
|
|
27510
|
+
readWindowBytes: method(object({
|
|
27511
|
+
deviceId: number(),
|
|
27512
|
+
profile: string(),
|
|
27513
|
+
startMs: number(),
|
|
27514
|
+
fromMs: number(),
|
|
27515
|
+
toMs: number()
|
|
27516
|
+
}), ReadWindowBytesResultSchema, {
|
|
27517
|
+
kind: "query",
|
|
27518
|
+
auth: "admin"
|
|
27519
|
+
}),
|
|
27456
27520
|
setDeviceConfig: method(object({
|
|
27457
27521
|
deviceId: number(),
|
|
27458
27522
|
config: RecordingConfigSchema
|
|
@@ -32014,6 +32078,12 @@ Object.freeze({
|
|
|
32014
32078
|
addonId: null,
|
|
32015
32079
|
access: "view"
|
|
32016
32080
|
},
|
|
32081
|
+
"notificationRules.resolveArtifactUrl": {
|
|
32082
|
+
capName: "notification-rules",
|
|
32083
|
+
capScope: "system",
|
|
32084
|
+
addonId: null,
|
|
32085
|
+
access: "view"
|
|
32086
|
+
},
|
|
32017
32087
|
"notificationRules.setAlarmConfig": {
|
|
32018
32088
|
capName: "notification-rules",
|
|
32019
32089
|
capScope: "system",
|
|
@@ -33418,6 +33488,12 @@ Object.freeze({
|
|
|
33418
33488
|
addonId: null,
|
|
33419
33489
|
access: "view"
|
|
33420
33490
|
},
|
|
33491
|
+
"recording.readWindowBytes": {
|
|
33492
|
+
capName: "recording",
|
|
33493
|
+
capScope: "system",
|
|
33494
|
+
addonId: null,
|
|
33495
|
+
access: "view"
|
|
33496
|
+
},
|
|
33421
33497
|
"recording.refreshStorageLocationsForMigration": {
|
|
33422
33498
|
capName: "recording",
|
|
33423
33499
|
capScope: "system",
|
|
@@ -36248,6 +36324,11 @@ Object.freeze({
|
|
|
36248
36324
|
form: "single",
|
|
36249
36325
|
optional: false
|
|
36250
36326
|
}],
|
|
36327
|
+
"recording.readWindowBytes": [{
|
|
36328
|
+
name: "deviceId",
|
|
36329
|
+
form: "single",
|
|
36330
|
+
optional: false
|
|
36331
|
+
}],
|
|
36251
36332
|
"recording.relocateFootage": [{
|
|
36252
36333
|
name: "deviceId",
|
|
36253
36334
|
form: "single",
|
package/dist/{event-loop-stall-monitor-D0Juf7Dn.mjs → event-loop-stall-monitor-IACE22fK.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-BZYUUBUx.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { PerformanceObserver } from "node:perf_hooks";
|
|
4
4
|
//#region src/detection-pipeline/registry/model-catalogs.ts
|
|
@@ -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-DBP47QOz.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-B_kETjyQ.js");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-
|
|
1
|
+
import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-BZYUUBUx.mjs";
|
|
2
2
|
import { t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { readFileSync } from "node:fs";
|
|
@@ -2,11 +2,11 @@ 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_event_loop_stall_monitor = require("../event-loop-stall-monitor-
|
|
7
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
5
|
+
const require_dist = require("../dist-DBP47QOz.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-CiH_MHfO.js");
|
|
7
|
+
const require_worker_protocol = require("../worker-protocol-C3zaz0Jv.js");
|
|
8
8
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
9
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
9
|
+
const require_lazy_sharp = require("../lazy-sharp-B_kETjyQ.js");
|
|
10
10
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
11
11
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
12
12
|
let sharp = require("sharp");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Bt as lazy, Et as createEvent, F as customAction, Gt as string, Ht as number, It as _enum, L as defineCustomActions, Lt as array, Rt as boolean, St as BaseAddon, Ut as object, Vt as literal, f as DEFAULT_NATIVE_LEASE_SETTINGS, gt as errMsg, it as pipelineRunnerCapability, jt as nodePin, nt as pickNativeLeaseOverride, p as DEVICE_BACKEND_TO_FORMAT, qt as EventCategory, tt as pickDetailCropConvention, u as DEFAULT_DETAIL_CROP_CONVENTION, z as deriveDetailCropRect } from "../dist-
|
|
2
|
-
import { i as resolveFrameViewGeometry, r as localFrameRegistry, t as attributeStall, u as getStepDefinition } from "../event-loop-stall-monitor-
|
|
3
|
-
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-
|
|
1
|
+
import { Bt as lazy, Et as createEvent, F as customAction, Gt as string, Ht as number, It as _enum, L as defineCustomActions, Lt as array, Rt as boolean, St as BaseAddon, Ut as object, Vt as literal, f as DEFAULT_NATIVE_LEASE_SETTINGS, gt as errMsg, it as pipelineRunnerCapability, jt as nodePin, nt as pickNativeLeaseOverride, p as DEVICE_BACKEND_TO_FORMAT, qt as EventCategory, tt as pickDetailCropConvention, u as DEFAULT_DETAIL_CROP_CONVENTION, z as deriveDetailCropRect } from "../dist-BZYUUBUx.mjs";
|
|
2
|
+
import { i as resolveFrameViewGeometry, r as localFrameRegistry, t as attributeStall, u as getStepDefinition } from "../event-loop-stall-monitor-IACE22fK.mjs";
|
|
3
|
+
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-Cut8984B.mjs";
|
|
4
4
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
|
|
6
6
|
import { n as withDetectionIntent } from "../restream-intent-B4BXZra7.mjs";
|