@camstack/addon-pipeline 1.2.120 → 1.2.122
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-MH-YN_oH.js → addon-utils-DjiHGIRF.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-CmqBKO-v.mjs → dist-B7rIp5qQ.mjs} +76 -22
- package/dist/{dist-CvpyuIHg.js → dist-DomdkRKL.js} +76 -22
- package/dist/{event-loop-stall-monitor-BOHxP7W6.js → event-loop-stall-monitor-ChA4AQ1D.js} +1 -1
- package/dist/{event-loop-stall-monitor-kh4gmJ-6.mjs → event-loop-stall-monitor-mvxKgrNV.mjs} +1 -1
- package/dist/{lazy-sharp-BzJLgOw9.js → lazy-sharp-BSeW3qY5.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-U6kkHBR7.js → process-memory-BtpLNnXq.js} +1 -1
- package/dist/{process-memory-C2vefk7-.mjs → process-memory-XHs-umae.mjs} +1 -1
- package/dist/recorder/index.js +125 -27
- package/dist/recorder/index.mjs +124 -26
- package/dist/{segment-demux-js-CTgNaQTI.js → segment-demux-js-CFIIJsfc.js} +1 -1
- package/dist/{segment-demux-js-xjK1LW_t.mjs → segment-demux-js-Cc5Jubdu.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 +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BdP-MWLF.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-P-WP2KSi.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Do2DEtRt.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-zKdlTmuo.mjs → hostInit-D6O20fld.mjs} +3 -3
- package/dist/stream-broker/index.js +35 -5
- package/dist/stream-broker/index.mjs +35 -5
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-CElzXfEW.mjs → worker-protocol-CrHJXGHV.mjs} +1 -1
- package/dist/{worker-protocol-DGYGCx9K.js → worker-protocol-DQ5DPOFD.js} +1 -1
- package/package.json +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-D-NFPV_g.mjs +0 -26
|
@@ -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-DomdkRKL.js");
|
|
6
|
+
const require_process_memory = require("../process-memory-BtpLNnXq.js");
|
|
7
|
+
const require_addon_utils = require("../addon-utils-DjiHGIRF.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-B7rIp5qQ.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-XHs-umae.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-DomdkRKL.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-ChA4AQ1D.js");
|
|
7
|
+
const require_lazy_sharp = require("../lazy-sharp-BSeW3qY5.js");
|
|
8
|
+
const require_process_memory = require("../process-memory-BtpLNnXq.js");
|
|
9
|
+
const require_addon_utils = require("../addon-utils-DjiHGIRF.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-B7rIp5qQ.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-mvxKgrNV.mjs";
|
|
4
4
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
|
|
5
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
5
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-XHs-umae.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";
|
|
@@ -5817,6 +5817,13 @@ var BaseAddon = class {
|
|
|
5817
5817
|
_readinessGeneration = typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36).slice(2, 14);
|
|
5818
5818
|
/** Capability names this addon registered at init — used to emit matching `down` events on shutdown. */
|
|
5819
5819
|
_registeredCapNames = [];
|
|
5820
|
+
/**
|
|
5821
|
+
* True only after `readAddonStore` actually answered. Constructor
|
|
5822
|
+
* defaults look like stored config when the store is down — a forked
|
|
5823
|
+
* addon that auto-starts from those defaults (cloudflare-tunnel quick
|
|
5824
|
+
* mode, 2026-08-25) is not "the operator chose this".
|
|
5825
|
+
*/
|
|
5826
|
+
settingsStoreReady = false;
|
|
5820
5827
|
/** Default config values. Provided via constructor. */
|
|
5821
5828
|
defaults;
|
|
5822
5829
|
constructor(defaults) {
|
|
@@ -6217,7 +6224,9 @@ var BaseAddon = class {
|
|
|
6217
6224
|
];
|
|
6218
6225
|
let lastErr;
|
|
6219
6226
|
for (let attempt = 0; attempt <= delaysMs.length; attempt++) try {
|
|
6220
|
-
|
|
6227
|
+
const stored = await settings.readAddonStore() ?? {};
|
|
6228
|
+
this.settingsStoreReady = true;
|
|
6229
|
+
return stored;
|
|
6221
6230
|
} catch (err) {
|
|
6222
6231
|
lastErr = err;
|
|
6223
6232
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -6225,6 +6234,7 @@ var BaseAddon = class {
|
|
|
6225
6234
|
if (attempt === delaysMs.length) break;
|
|
6226
6235
|
await new Promise((r) => setTimeout(r, delaysMs[attempt]));
|
|
6227
6236
|
}
|
|
6237
|
+
this.settingsStoreReady = false;
|
|
6228
6238
|
this._ctx?.logger?.warn?.("readAddonStore: settings-store unavailable after retries — using defaults", { meta: { error: lastErr instanceof Error ? lastErr.message : String(lastErr) } });
|
|
6229
6239
|
return {};
|
|
6230
6240
|
}
|
|
@@ -13249,6 +13259,27 @@ var LinkedDeviceSchema = object({
|
|
|
13249
13259
|
features: array(string()),
|
|
13250
13260
|
producesTrackedEvents: boolean().optional()
|
|
13251
13261
|
});
|
|
13262
|
+
/** One camera's resolved linked set, tagged with the camera it belongs to.
|
|
13263
|
+
* The batch answer needs the tag; the single-device answer already has it
|
|
13264
|
+
* from the input, which is why `getLinkedDevices` keeps the untagged shape. */
|
|
13265
|
+
var LinkedDevicesForDeviceSchema = object({
|
|
13266
|
+
deviceId: number(),
|
|
13267
|
+
mode: LinkedDevicesModeSchema,
|
|
13268
|
+
devices: array(LinkedDeviceSchema)
|
|
13269
|
+
});
|
|
13270
|
+
/** One device's binding map — the shape `getBindings`, `getBindingsBatch` and
|
|
13271
|
+
* `getAllBindings` all answer in. Declared once: three copies of the same
|
|
13272
|
+
* object literal is exactly how the three drift apart. */
|
|
13273
|
+
var DeviceBindingsForDeviceSchema = object({
|
|
13274
|
+
deviceId: number(),
|
|
13275
|
+
entries: array(object({
|
|
13276
|
+
capName: string(),
|
|
13277
|
+
kind: _enum(["native", "wrapped"]),
|
|
13278
|
+
providerAddonId: string(),
|
|
13279
|
+
providerNodeId: string(),
|
|
13280
|
+
nativeAddonId: string()
|
|
13281
|
+
}))
|
|
13282
|
+
});
|
|
13252
13283
|
var SavedDeviceRowSchema = object({
|
|
13253
13284
|
/** Numeric id reserved at allocateDeviceId time. */
|
|
13254
13285
|
id: number(),
|
|
@@ -13474,11 +13505,25 @@ method(object({
|
|
|
13474
13505
|
projection: _enum(["full", "slim"]).optional(),
|
|
13475
13506
|
/** Return only camera devices. Filtering server-side instead of
|
|
13476
13507
|
* shipping 293 rows to find 12. */
|
|
13477
|
-
isCamera: boolean().optional()
|
|
13508
|
+
isCamera: boolean().optional(),
|
|
13509
|
+
/**
|
|
13510
|
+
* Return only these device ids. For the caller that already KNOWS the
|
|
13511
|
+
* handful it wants and needs a field the id-bearing answer does not
|
|
13512
|
+
* carry — the viewer's linked-devices panel joins `type` and `online`
|
|
13513
|
+
* onto ~8 linked ids and, unfiltered, dragged the fleet across to do
|
|
13514
|
+
* it: 433 KB slim / 958 KB full for 967 devices, on a query that
|
|
13515
|
+
* refetches on the reconcile interval, on a phone.
|
|
13516
|
+
*
|
|
13517
|
+
* Safe to send at a hub that predates it: Zod STRIPS unknown input
|
|
13518
|
+
* keys rather than rejecting them (verified against the live hub
|
|
13519
|
+
* 2026-08-25 — 967 rows came back), so an old hub answers exactly what
|
|
13520
|
+
* it answers today and the caller filters as it already does.
|
|
13521
|
+
*/
|
|
13522
|
+
deviceIds: array(number()).optional()
|
|
13478
13523
|
}), array(DeviceInfoSchema)), method(object({ deviceId: number() }), DeviceInfoSchema.nullable()), method(object({ parentDeviceId: number() }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), object({
|
|
13479
13524
|
mode: LinkedDevicesModeSchema,
|
|
13480
13525
|
devices: array(LinkedDeviceSchema)
|
|
13481
|
-
})), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
|
|
13526
|
+
})), method(object({ deviceIds: array(number()) }), array(LinkedDevicesForDeviceSchema)), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
|
|
13482
13527
|
deviceId: number(),
|
|
13483
13528
|
values: record(string(), unknown())
|
|
13484
13529
|
}), object({ success: literal(true) }), {
|
|
@@ -13505,25 +13550,7 @@ method(object({
|
|
|
13505
13550
|
}), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
|
|
13506
13551
|
kind: "mutation",
|
|
13507
13552
|
auth: "admin"
|
|
13508
|
-
}), method(object({ deviceId: number() }), object({
|
|
13509
|
-
deviceId: number(),
|
|
13510
|
-
entries: array(object({
|
|
13511
|
-
capName: string(),
|
|
13512
|
-
kind: _enum(["native", "wrapped"]),
|
|
13513
|
-
providerAddonId: string(),
|
|
13514
|
-
providerNodeId: string(),
|
|
13515
|
-
nativeAddonId: string()
|
|
13516
|
-
}))
|
|
13517
|
-
})), method(object({}), array(object({
|
|
13518
|
-
deviceId: number(),
|
|
13519
|
-
entries: array(object({
|
|
13520
|
-
capName: string(),
|
|
13521
|
-
kind: _enum(["native", "wrapped"]),
|
|
13522
|
-
providerAddonId: string(),
|
|
13523
|
-
providerNodeId: string(),
|
|
13524
|
-
nativeAddonId: string()
|
|
13525
|
-
}))
|
|
13526
|
-
}))), method(object({
|
|
13553
|
+
}), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
|
|
13527
13554
|
deviceId: number(),
|
|
13528
13555
|
capName: string(),
|
|
13529
13556
|
wrapperAddonId: string(),
|
|
@@ -30096,6 +30123,12 @@ Object.freeze({
|
|
|
30096
30123
|
addonId: null,
|
|
30097
30124
|
access: "view"
|
|
30098
30125
|
},
|
|
30126
|
+
"deviceManager.getBindingsBatch": {
|
|
30127
|
+
capName: "device-manager",
|
|
30128
|
+
capScope: "system",
|
|
30129
|
+
addonId: null,
|
|
30130
|
+
access: "view"
|
|
30131
|
+
},
|
|
30099
30132
|
"deviceManager.getChildren": {
|
|
30100
30133
|
capName: "device-manager",
|
|
30101
30134
|
capScope: "system",
|
|
@@ -30156,6 +30189,12 @@ Object.freeze({
|
|
|
30156
30189
|
addonId: null,
|
|
30157
30190
|
access: "view"
|
|
30158
30191
|
},
|
|
30192
|
+
"deviceManager.getLinkedDevicesBatch": {
|
|
30193
|
+
capName: "device-manager",
|
|
30194
|
+
capScope: "system",
|
|
30195
|
+
addonId: null,
|
|
30196
|
+
access: "view"
|
|
30197
|
+
},
|
|
30159
30198
|
"deviceManager.getRoleDisplayDefaults": {
|
|
30160
30199
|
capName: "device-manager",
|
|
30161
30200
|
capScope: "system",
|
|
@@ -34803,6 +34842,11 @@ Object.freeze({
|
|
|
34803
34842
|
form: "single",
|
|
34804
34843
|
optional: false
|
|
34805
34844
|
}],
|
|
34845
|
+
"deviceManager.getBindingsBatch": [{
|
|
34846
|
+
name: "deviceIds",
|
|
34847
|
+
form: "array",
|
|
34848
|
+
optional: false
|
|
34849
|
+
}],
|
|
34806
34850
|
"deviceManager.getChildren": [{
|
|
34807
34851
|
name: "parentDeviceId",
|
|
34808
34852
|
form: "single",
|
|
@@ -34848,6 +34892,11 @@ Object.freeze({
|
|
|
34848
34892
|
form: "single",
|
|
34849
34893
|
optional: false
|
|
34850
34894
|
}],
|
|
34895
|
+
"deviceManager.getLinkedDevicesBatch": [{
|
|
34896
|
+
name: "deviceIds",
|
|
34897
|
+
form: "array",
|
|
34898
|
+
optional: false
|
|
34899
|
+
}],
|
|
34851
34900
|
"deviceManager.getSettingsSchema": [{
|
|
34852
34901
|
name: "deviceId",
|
|
34853
34902
|
form: "single",
|
|
@@ -34868,6 +34917,11 @@ Object.freeze({
|
|
|
34868
34917
|
form: "single",
|
|
34869
34918
|
optional: false
|
|
34870
34919
|
}],
|
|
34920
|
+
"deviceManager.listAll": [{
|
|
34921
|
+
name: "deviceIds",
|
|
34922
|
+
form: "array",
|
|
34923
|
+
optional: true
|
|
34924
|
+
}],
|
|
34871
34925
|
"deviceManager.loadConfig": [{
|
|
34872
34926
|
name: "deviceId",
|
|
34873
34927
|
form: "single",
|
|
@@ -5840,6 +5840,13 @@ var BaseAddon = class {
|
|
|
5840
5840
|
_readinessGeneration = typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36).slice(2, 14);
|
|
5841
5841
|
/** Capability names this addon registered at init — used to emit matching `down` events on shutdown. */
|
|
5842
5842
|
_registeredCapNames = [];
|
|
5843
|
+
/**
|
|
5844
|
+
* True only after `readAddonStore` actually answered. Constructor
|
|
5845
|
+
* defaults look like stored config when the store is down — a forked
|
|
5846
|
+
* addon that auto-starts from those defaults (cloudflare-tunnel quick
|
|
5847
|
+
* mode, 2026-08-25) is not "the operator chose this".
|
|
5848
|
+
*/
|
|
5849
|
+
settingsStoreReady = false;
|
|
5843
5850
|
/** Default config values. Provided via constructor. */
|
|
5844
5851
|
defaults;
|
|
5845
5852
|
constructor(defaults) {
|
|
@@ -6240,7 +6247,9 @@ var BaseAddon = class {
|
|
|
6240
6247
|
];
|
|
6241
6248
|
let lastErr;
|
|
6242
6249
|
for (let attempt = 0; attempt <= delaysMs.length; attempt++) try {
|
|
6243
|
-
|
|
6250
|
+
const stored = await settings.readAddonStore() ?? {};
|
|
6251
|
+
this.settingsStoreReady = true;
|
|
6252
|
+
return stored;
|
|
6244
6253
|
} catch (err) {
|
|
6245
6254
|
lastErr = err;
|
|
6246
6255
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -6248,6 +6257,7 @@ var BaseAddon = class {
|
|
|
6248
6257
|
if (attempt === delaysMs.length) break;
|
|
6249
6258
|
await new Promise((r) => setTimeout(r, delaysMs[attempt]));
|
|
6250
6259
|
}
|
|
6260
|
+
this.settingsStoreReady = false;
|
|
6251
6261
|
this._ctx?.logger?.warn?.("readAddonStore: settings-store unavailable after retries — using defaults", { meta: { error: lastErr instanceof Error ? lastErr.message : String(lastErr) } });
|
|
6252
6262
|
return {};
|
|
6253
6263
|
}
|
|
@@ -13272,6 +13282,27 @@ var LinkedDeviceSchema = object({
|
|
|
13272
13282
|
features: array(string()),
|
|
13273
13283
|
producesTrackedEvents: boolean().optional()
|
|
13274
13284
|
});
|
|
13285
|
+
/** One camera's resolved linked set, tagged with the camera it belongs to.
|
|
13286
|
+
* The batch answer needs the tag; the single-device answer already has it
|
|
13287
|
+
* from the input, which is why `getLinkedDevices` keeps the untagged shape. */
|
|
13288
|
+
var LinkedDevicesForDeviceSchema = object({
|
|
13289
|
+
deviceId: number(),
|
|
13290
|
+
mode: LinkedDevicesModeSchema,
|
|
13291
|
+
devices: array(LinkedDeviceSchema)
|
|
13292
|
+
});
|
|
13293
|
+
/** One device's binding map — the shape `getBindings`, `getBindingsBatch` and
|
|
13294
|
+
* `getAllBindings` all answer in. Declared once: three copies of the same
|
|
13295
|
+
* object literal is exactly how the three drift apart. */
|
|
13296
|
+
var DeviceBindingsForDeviceSchema = object({
|
|
13297
|
+
deviceId: number(),
|
|
13298
|
+
entries: array(object({
|
|
13299
|
+
capName: string(),
|
|
13300
|
+
kind: _enum(["native", "wrapped"]),
|
|
13301
|
+
providerAddonId: string(),
|
|
13302
|
+
providerNodeId: string(),
|
|
13303
|
+
nativeAddonId: string()
|
|
13304
|
+
}))
|
|
13305
|
+
});
|
|
13275
13306
|
var SavedDeviceRowSchema = object({
|
|
13276
13307
|
/** Numeric id reserved at allocateDeviceId time. */
|
|
13277
13308
|
id: number(),
|
|
@@ -13497,11 +13528,25 @@ method(object({
|
|
|
13497
13528
|
projection: _enum(["full", "slim"]).optional(),
|
|
13498
13529
|
/** Return only camera devices. Filtering server-side instead of
|
|
13499
13530
|
* shipping 293 rows to find 12. */
|
|
13500
|
-
isCamera: boolean().optional()
|
|
13531
|
+
isCamera: boolean().optional(),
|
|
13532
|
+
/**
|
|
13533
|
+
* Return only these device ids. For the caller that already KNOWS the
|
|
13534
|
+
* handful it wants and needs a field the id-bearing answer does not
|
|
13535
|
+
* carry — the viewer's linked-devices panel joins `type` and `online`
|
|
13536
|
+
* onto ~8 linked ids and, unfiltered, dragged the fleet across to do
|
|
13537
|
+
* it: 433 KB slim / 958 KB full for 967 devices, on a query that
|
|
13538
|
+
* refetches on the reconcile interval, on a phone.
|
|
13539
|
+
*
|
|
13540
|
+
* Safe to send at a hub that predates it: Zod STRIPS unknown input
|
|
13541
|
+
* keys rather than rejecting them (verified against the live hub
|
|
13542
|
+
* 2026-08-25 — 967 rows came back), so an old hub answers exactly what
|
|
13543
|
+
* it answers today and the caller filters as it already does.
|
|
13544
|
+
*/
|
|
13545
|
+
deviceIds: array(number()).optional()
|
|
13501
13546
|
}), array(DeviceInfoSchema)), method(object({ deviceId: number() }), DeviceInfoSchema.nullable()), method(object({ parentDeviceId: number() }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), object({
|
|
13502
13547
|
mode: LinkedDevicesModeSchema,
|
|
13503
13548
|
devices: array(LinkedDeviceSchema)
|
|
13504
|
-
})), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
|
|
13549
|
+
})), method(object({ deviceIds: array(number()) }), array(LinkedDevicesForDeviceSchema)), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
|
|
13505
13550
|
deviceId: number(),
|
|
13506
13551
|
values: record(string(), unknown())
|
|
13507
13552
|
}), object({ success: literal(true) }), {
|
|
@@ -13528,25 +13573,7 @@ method(object({
|
|
|
13528
13573
|
}), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
|
|
13529
13574
|
kind: "mutation",
|
|
13530
13575
|
auth: "admin"
|
|
13531
|
-
}), method(object({ deviceId: number() }), object({
|
|
13532
|
-
deviceId: number(),
|
|
13533
|
-
entries: array(object({
|
|
13534
|
-
capName: string(),
|
|
13535
|
-
kind: _enum(["native", "wrapped"]),
|
|
13536
|
-
providerAddonId: string(),
|
|
13537
|
-
providerNodeId: string(),
|
|
13538
|
-
nativeAddonId: string()
|
|
13539
|
-
}))
|
|
13540
|
-
})), method(object({}), array(object({
|
|
13541
|
-
deviceId: number(),
|
|
13542
|
-
entries: array(object({
|
|
13543
|
-
capName: string(),
|
|
13544
|
-
kind: _enum(["native", "wrapped"]),
|
|
13545
|
-
providerAddonId: string(),
|
|
13546
|
-
providerNodeId: string(),
|
|
13547
|
-
nativeAddonId: string()
|
|
13548
|
-
}))
|
|
13549
|
-
}))), method(object({
|
|
13576
|
+
}), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
|
|
13550
13577
|
deviceId: number(),
|
|
13551
13578
|
capName: string(),
|
|
13552
13579
|
wrapperAddonId: string(),
|
|
@@ -30119,6 +30146,12 @@ Object.freeze({
|
|
|
30119
30146
|
addonId: null,
|
|
30120
30147
|
access: "view"
|
|
30121
30148
|
},
|
|
30149
|
+
"deviceManager.getBindingsBatch": {
|
|
30150
|
+
capName: "device-manager",
|
|
30151
|
+
capScope: "system",
|
|
30152
|
+
addonId: null,
|
|
30153
|
+
access: "view"
|
|
30154
|
+
},
|
|
30122
30155
|
"deviceManager.getChildren": {
|
|
30123
30156
|
capName: "device-manager",
|
|
30124
30157
|
capScope: "system",
|
|
@@ -30179,6 +30212,12 @@ Object.freeze({
|
|
|
30179
30212
|
addonId: null,
|
|
30180
30213
|
access: "view"
|
|
30181
30214
|
},
|
|
30215
|
+
"deviceManager.getLinkedDevicesBatch": {
|
|
30216
|
+
capName: "device-manager",
|
|
30217
|
+
capScope: "system",
|
|
30218
|
+
addonId: null,
|
|
30219
|
+
access: "view"
|
|
30220
|
+
},
|
|
30182
30221
|
"deviceManager.getRoleDisplayDefaults": {
|
|
30183
30222
|
capName: "device-manager",
|
|
30184
30223
|
capScope: "system",
|
|
@@ -34826,6 +34865,11 @@ Object.freeze({
|
|
|
34826
34865
|
form: "single",
|
|
34827
34866
|
optional: false
|
|
34828
34867
|
}],
|
|
34868
|
+
"deviceManager.getBindingsBatch": [{
|
|
34869
|
+
name: "deviceIds",
|
|
34870
|
+
form: "array",
|
|
34871
|
+
optional: false
|
|
34872
|
+
}],
|
|
34829
34873
|
"deviceManager.getChildren": [{
|
|
34830
34874
|
name: "parentDeviceId",
|
|
34831
34875
|
form: "single",
|
|
@@ -34871,6 +34915,11 @@ Object.freeze({
|
|
|
34871
34915
|
form: "single",
|
|
34872
34916
|
optional: false
|
|
34873
34917
|
}],
|
|
34918
|
+
"deviceManager.getLinkedDevicesBatch": [{
|
|
34919
|
+
name: "deviceIds",
|
|
34920
|
+
form: "array",
|
|
34921
|
+
optional: false
|
|
34922
|
+
}],
|
|
34874
34923
|
"deviceManager.getSettingsSchema": [{
|
|
34875
34924
|
name: "deviceId",
|
|
34876
34925
|
form: "single",
|
|
@@ -34891,6 +34940,11 @@ Object.freeze({
|
|
|
34891
34940
|
form: "single",
|
|
34892
34941
|
optional: false
|
|
34893
34942
|
}],
|
|
34943
|
+
"deviceManager.listAll": [{
|
|
34944
|
+
name: "deviceIds",
|
|
34945
|
+
form: "array",
|
|
34946
|
+
optional: true
|
|
34947
|
+
}],
|
|
34894
34948
|
"deviceManager.loadConfig": [{
|
|
34895
34949
|
name: "deviceId",
|
|
34896
34950
|
form: "single",
|
package/dist/{event-loop-stall-monitor-kh4gmJ-6.mjs → event-loop-stall-monitor-mvxKgrNV.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-B7rIp5qQ.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-DomdkRKL.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-BSeW3qY5.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-B7rIp5qQ.mjs";
|
|
2
2
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.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-DomdkRKL.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-ChA4AQ1D.js");
|
|
7
|
+
const require_worker_protocol = require("../worker-protocol-DQ5DPOFD.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-BSeW3qY5.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, 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, 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-B7rIp5qQ.mjs";
|
|
2
|
+
import { i as resolveFrameViewGeometry, r as localFrameRegistry, t as attributeStall, u as getStepDefinition } from "../event-loop-stall-monitor-mvxKgrNV.mjs";
|
|
3
|
+
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-CrHJXGHV.mjs";
|
|
4
4
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
|
|
6
6
|
import { n as withDetectionIntent } from "../restream-intent-B4BXZra7.mjs";
|