@camstack/addon-pipeline 1.2.341 → 1.2.342
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 +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-DNSmyZTT.mjs → custom-model-catalog-BjPZrWX3.mjs} +2 -2
- package/dist/{custom-model-catalog-CoJEC8nz.js → custom-model-catalog-DPBG06HE.js} +2 -2
- package/dist/detection-pipeline/index.js +4 -118
- package/dist/detection-pipeline/index.mjs +4 -118
- package/dist/{dist-B8oPeJDI.mjs → dist-BWzBHFEB.mjs} +225 -308
- package/dist/{dist-PiNPe8uQ.js → dist-w_gA9z8W.js} +224 -313
- package/dist/{model-catalogs-RM3pkuZm.mjs → model-catalogs-Dseq1bmN.mjs} +1 -1
- package/dist/{model-catalogs-CEphd9Va.js → model-catalogs-ll-ggTUb.js} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-DFUmMJ_f.mjs → node-B7gAWBnv.mjs} +1 -1
- package/dist/{node-CMTBIa3-.js → node-BTsWSPyQ.js} +1 -1
- package/dist/pipeline-runner/index.js +3 -3
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-C4v8DBKn.mjs → process-memory-BYs3sxnT.mjs} +1 -1
- package/dist/{process-memory-CzAfDP9P.js → process-memory-Nq3qwp-q.js} +1 -1
- package/dist/recorder/index.js +14 -5
- package/dist/recorder/index.mjs +14 -5
- package/dist/{segment-demux-js-CIpCdbx4.mjs → segment-demux-js-C7Bk1l_R.mjs} +1 -1
- package/dist/{segment-demux-js-C-n_ZsMK.js → segment-demux-js-D4kTUDck.js} +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CIDS0Tr9.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-By8a97Br.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B204qFeL.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-Czhfk3hD.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-CW_cmeNQ.mjs → hostInit-BU65uPCY.mjs} +3 -3
- package/dist/stream-broker/index.js +3 -3
- package/dist/stream-broker/index.mjs +3 -3
- package/dist/stream-broker/remoteEntry.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_types__loadShare__.js-BvfT5BVP.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-LU_e-xJm.mjs +0 -26
|
@@ -5379,7 +5379,7 @@ var ZodIssueCode = {
|
|
|
5379
5379
|
var ZodFirstPartyTypeKind;
|
|
5380
5380
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5381
5381
|
//#endregion
|
|
5382
|
-
//#region ../types/dist/sleep-
|
|
5382
|
+
//#region ../types/dist/sleep-DAJ9Er57.mjs
|
|
5383
5383
|
/**
|
|
5384
5384
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5385
5385
|
* window to float samples (D455).
|
|
@@ -7356,26 +7356,6 @@ var BOOT_RECOVERY_BACKOFF_MS = [
|
|
|
7356
7356
|
90 * 6e4
|
|
7357
7357
|
];
|
|
7358
7358
|
/**
|
|
7359
|
-
* Type-safe JSON parsing helpers.
|
|
7360
|
-
*
|
|
7361
|
-
* `JSON.parse` is typed as `any` in lib.es5.d.ts, which triggers
|
|
7362
|
-
* `no-unsafe-*` ESLint rules and destroys downstream inference. These
|
|
7363
|
-
* wrappers return `unknown` — callers narrow structurally via type
|
|
7364
|
-
* guards, `typeof` checks, or helpers like `asRecord`/`asString`.
|
|
7365
|
-
*/
|
|
7366
|
-
/**
|
|
7367
|
-
* Parse JSON and return it as `unknown` — the only entry point for untrusted JSON.
|
|
7368
|
-
*
|
|
7369
|
-
* The optional generic overload `parseJsonUnknown<T>(text)` returns `T` for
|
|
7370
|
-
* call sites that know the shape at parse time (e.g. MQTT payloads with a
|
|
7371
|
-
* known protocol schema). This is a **type-level bridge only** — no runtime
|
|
7372
|
-
* validation is performed. Callers that need runtime validation should parse
|
|
7373
|
-
* as `unknown` and narrow via Zod or structural guards.
|
|
7374
|
-
*/
|
|
7375
|
-
function parseJsonUnknown(text) {
|
|
7376
|
-
return JSON.parse(text);
|
|
7377
|
-
}
|
|
7378
|
-
/**
|
|
7379
7359
|
* Promise-based timer helpers — used everywhere the codebase needs to
|
|
7380
7360
|
* wait, back off, or schedule a retry. Before these helpers landed, each
|
|
7381
7361
|
* call site re-implemented `new Promise(r => setTimeout(r, ms))` inline,
|
|
@@ -26630,21 +26610,6 @@ var PipelineDefaultStepSchema = lazy(() => object({
|
|
|
26630
26610
|
group: string().optional(),
|
|
26631
26611
|
settings: record(string(), unknown()).optional()
|
|
26632
26612
|
}));
|
|
26633
|
-
var PipelineTemplateStepSchema = lazy(() => object({
|
|
26634
|
-
addonId: string(),
|
|
26635
|
-
enabled: boolean(),
|
|
26636
|
-
modelId: string(),
|
|
26637
|
-
children: array(PipelineTemplateStepSchema).readonly(),
|
|
26638
|
-
settings: record(string(), unknown()).optional()
|
|
26639
|
-
}));
|
|
26640
|
-
var PipelineTemplateSchema$1 = object({
|
|
26641
|
-
id: string(),
|
|
26642
|
-
name: string(),
|
|
26643
|
-
createdAt: string(),
|
|
26644
|
-
updatedAt: string(),
|
|
26645
|
-
engine: PipelineEngineChoiceSchema,
|
|
26646
|
-
steps: array(PipelineTemplateStepSchema).readonly()
|
|
26647
|
-
});
|
|
26648
26613
|
var PipelineModelOptionSchema = object({
|
|
26649
26614
|
id: string(),
|
|
26650
26615
|
name: string(),
|
|
@@ -26966,18 +26931,6 @@ var pipelineExecutorCapability = {
|
|
|
26966
26931
|
steps: array(PipelineStepInputSchema),
|
|
26967
26932
|
deviceKey: string().optional()
|
|
26968
26933
|
}), PipelineValidationResultSchema),
|
|
26969
|
-
listTemplates: method(_void(), array(PipelineTemplateSchema$1).readonly()),
|
|
26970
|
-
saveTemplate: method(object({
|
|
26971
|
-
name: string(),
|
|
26972
|
-
steps: array(PipelineTemplateStepSchema).readonly(),
|
|
26973
|
-
engine: PipelineEngineChoiceSchema
|
|
26974
|
-
}), PipelineTemplateSchema$1, { kind: "mutation" }),
|
|
26975
|
-
updateTemplate: method(object({
|
|
26976
|
-
id: string(),
|
|
26977
|
-
name: string().optional(),
|
|
26978
|
-
steps: array(PipelineTemplateStepSchema).readonly().optional()
|
|
26979
|
-
}), PipelineTemplateSchema$1, { kind: "mutation" }),
|
|
26980
|
-
deleteTemplate: method(object({ id: string() }), _void(), { kind: "mutation" }),
|
|
26981
26934
|
getCapabilities: method(_void(), InferenceCapabilitiesBridge),
|
|
26982
26935
|
getAddonModels: method(object({ addonId: string() }), ModelAvailabilityListBridge),
|
|
26983
26936
|
downloadModel: method(object({
|
|
@@ -27235,148 +27188,17 @@ var pipelineExecutorCapability = {
|
|
|
27235
27188
|
}
|
|
27236
27189
|
};
|
|
27237
27190
|
/**
|
|
27238
|
-
* Wire shapes of the Load balancing surface (D748): the session placement
|
|
27239
|
-
* policy, the atomic share write, the observed placement statistics, the
|
|
27240
|
-
* hardware share suggestion and the stale device pins.
|
|
27241
|
-
*/
|
|
27242
|
-
/**
|
|
27243
|
-
* How a new detection session picks its node and device.
|
|
27244
|
-
* - `least-loaded` — the historical rule: lowest `attached / weight`, a
|
|
27245
|
-
* constant node order at a tie (D37). An idle node always ties at 0, so a
|
|
27246
|
-
* weight only bites once a node already holds a session.
|
|
27247
|
-
* - `share` — the share of PARALLEL sessions is held to the weights, and a
|
|
27248
|
-
* full or drowning node yields to a free one (D748).
|
|
27249
|
-
*/
|
|
27250
|
-
var SessionPlacementPolicySchema = _enum(["least-loaded", "share"]);
|
|
27251
|
-
var LoadBalancingSharesInputSchema = object({
|
|
27252
|
-
/** nodeId → share (> 0). A node left out keeps its weight. */
|
|
27253
|
-
nodes: record(string(), number().positive()).default({}),
|
|
27254
|
-
/** nodeId → deviceKey → share (> 0). A device left out keeps its weight. */
|
|
27255
|
-
devices: record(string(), record(string(), number().positive())).default({})
|
|
27256
|
-
});
|
|
27257
|
-
var PlacementStatsInputSchema = object({
|
|
27258
|
-
/** Window the observed shares are averaged over (default 1 h, max 24 h). */
|
|
27259
|
-
windowMs: number().int().min(6e4).max(1440 * 60 * 1e3).default(3600 * 1e3) });
|
|
27260
|
-
var PlacementDeviceStatsSchema = object({
|
|
27261
|
-
deviceKey: string(),
|
|
27262
|
-
/** Sessions running on this device now. */
|
|
27263
|
-
sessionsNow: number(),
|
|
27264
|
-
/** Sessions started on this device inside the window. */
|
|
27265
|
-
sessionsStarted: number(),
|
|
27266
|
-
/** Time-weighted share of the node's parallel sessions over the window (0–1); null = no session ran. */
|
|
27267
|
-
observedShare: number().nullable()
|
|
27268
|
-
});
|
|
27269
|
-
var PlacementNodeStatsSchema = object({
|
|
27270
|
-
nodeId: string(),
|
|
27271
|
-
sessionsNow: number(),
|
|
27272
|
-
sessionsStarted: number(),
|
|
27273
|
-
/** Time-weighted share of the cluster's parallel sessions over the window (0–1); null = none ran. */
|
|
27274
|
-
observedShare: number().nullable(),
|
|
27275
|
-
/** Most sessions this node ran at once inside the window. */
|
|
27276
|
-
peakSessions: number(),
|
|
27277
|
-
/** Sessions a share election handed elsewhere because this node was full or drowning. */
|
|
27278
|
-
yieldsAway: number(),
|
|
27279
|
-
devices: array(PlacementDeviceStatsSchema).readonly()
|
|
27280
|
-
});
|
|
27281
|
-
/** A camera's device pin that the session path cannot honour. */
|
|
27282
|
-
var StaleDevicePinSchema = object({
|
|
27283
|
-
deviceId: number(),
|
|
27284
|
-
deviceKey: string(),
|
|
27285
|
-
/** `disabled` — the key exists on some node but is not enabled anywhere; `absent` — no node has it. */
|
|
27286
|
-
reason: _enum(["disabled", "absent"])
|
|
27287
|
-
});
|
|
27288
|
-
var PlacementStatsSchema = object({
|
|
27289
|
-
policy: SessionPlacementPolicySchema,
|
|
27290
|
-
windowMs: number(),
|
|
27291
|
-
/** How much of the window was actually observed (the hub keeps it in memory). */
|
|
27292
|
-
observedForMs: number(),
|
|
27293
|
-
sessionsNow: number(),
|
|
27294
|
-
/** Most parallel sessions across the cluster inside the window. */
|
|
27295
|
-
clusterPeakSessions: number(),
|
|
27296
|
-
nodes: array(PlacementNodeStatsSchema).readonly(),
|
|
27297
|
-
stalePins: array(StaleDevicePinSchema).readonly()
|
|
27298
|
-
});
|
|
27299
|
-
var SuggestSharesInputSchema = object({ headroom: number().min(.3).max(.5).default(.4) });
|
|
27300
|
-
var SuggestedDeviceShareSchema = object({
|
|
27301
|
-
deviceKey: string(),
|
|
27302
|
-
/** Share of the node (0–100, rounded). */
|
|
27303
|
-
share: number(),
|
|
27304
|
-
modelId: string().nullable(),
|
|
27305
|
-
/** Inferences per second at that model, from the measured table. */
|
|
27306
|
-
fps: number().nullable(),
|
|
27307
|
-
measured: boolean(),
|
|
27308
|
-
/** Advisory session cap: ⌊fps × (1 − headroom) / camera fps⌋. Never enforced. */
|
|
27309
|
-
suggestedMaxSessions: number().nullable()
|
|
27310
|
-
});
|
|
27311
|
-
var SuggestedNodeShareSchema = object({
|
|
27312
|
-
nodeId: string(),
|
|
27313
|
-
/** Share of the cluster (0–100, rounded); null = node skipped (offline, unknown hardware). */
|
|
27314
|
-
share: number().nullable(),
|
|
27315
|
-
/** Parallel sessions the node sustains at the suggested models with the headroom kept free. */
|
|
27316
|
-
capacitySessions: number(),
|
|
27317
|
-
devices: array(SuggestedDeviceShareSchema).readonly(),
|
|
27318
|
-
skippedReason: string().nullable()
|
|
27319
|
-
});
|
|
27320
|
-
var SuggestSharesResultSchema = object({
|
|
27321
|
-
headroom: number(),
|
|
27322
|
-
/** Camera detection rate the capacity is counted in (the fastest camera's fps). */
|
|
27323
|
-
cameraFps: number(),
|
|
27324
|
-
/** How many share → model → capacity rounds ran before the shares stopped moving (≤ 3). */
|
|
27325
|
-
iterations: number(),
|
|
27326
|
-
nodes: array(SuggestedNodeShareSchema).readonly()
|
|
27327
|
-
});
|
|
27328
|
-
/**
|
|
27329
|
-
* Where the node and device shares come from (D750).
|
|
27330
|
-
* - `auto` — computed by the system from the cluster's measured capacity at
|
|
27331
|
-
* the Auto tune models, and recomputed whenever a node or device joins,
|
|
27332
|
-
* leaves, is switched on or off, or changes model.
|
|
27333
|
-
* - `manual` — the operator's stored sliders. A node or device that cannot
|
|
27334
|
-
* take sessions gives its share to the others in proportion; the stored
|
|
27335
|
-
* values are never rewritten for that.
|
|
27336
|
-
*/
|
|
27337
|
-
var ShareSourceSchema = _enum(["auto", "manual"]);
|
|
27338
|
-
var SetShareSourceInputSchema = object({ source: ShareSourceSchema });
|
|
27339
|
-
object({
|
|
27340
|
-
nodes: record(string(), number()),
|
|
27341
|
-
devices: record(string(), record(string(), number()))
|
|
27342
|
-
});
|
|
27343
|
-
var EffectiveDeviceShareSchema = object({
|
|
27344
|
-
deviceKey: string(),
|
|
27345
|
-
/** Can take sessions now (enabled, available, can run the root). */
|
|
27346
|
-
eligible: boolean(),
|
|
27347
|
-
/** The share the source assigns, as a percentage of the node's devices. */
|
|
27348
|
-
configuredPct: number(),
|
|
27349
|
-
/** The share actually used, after an ineligible device's share went to the others. */
|
|
27350
|
-
effectivePct: number()
|
|
27351
|
-
});
|
|
27352
|
-
var EffectiveNodeShareSchema = object({
|
|
27353
|
-
nodeId: string(),
|
|
27354
|
-
eligible: boolean(),
|
|
27355
|
-
configuredPct: number(),
|
|
27356
|
-
effectivePct: number(),
|
|
27357
|
-
devices: array(EffectiveDeviceShareSchema).readonly()
|
|
27358
|
-
});
|
|
27359
|
-
var EffectiveSharesSchema = object({
|
|
27360
|
-
source: ShareSourceSchema,
|
|
27361
|
-
policy: SessionPlacementPolicySchema,
|
|
27362
|
-
/** `auto` with no computed answer yet: the stored sliders are used meanwhile. */
|
|
27363
|
-
autoPending: boolean(),
|
|
27364
|
-
/** When the automatic shares were last computed (ms epoch); null = never. */
|
|
27365
|
-
computedAt: number().nullable(),
|
|
27366
|
-
/** What made the system recompute them last. */
|
|
27367
|
-
trigger: string().nullable(),
|
|
27368
|
-
nodes: array(EffectiveNodeShareSchema).readonly(),
|
|
27369
|
-
/** The relative weights the election reads (before eligibility). */
|
|
27370
|
-
nodeWeights: record(string(), number()),
|
|
27371
|
-
deviceWeights: record(string(), record(string(), number()))
|
|
27372
|
-
});
|
|
27373
|
-
/**
|
|
27374
27191
|
* The wire shapes of the Auto tune plan and apply (D745), used by the
|
|
27375
27192
|
* `pipeline-orchestrator` cap. The recommender's own types
|
|
27376
|
-
* (`recommend.ts
|
|
27193
|
+
* (`recommend.ts`) are the TS face of the same data; these
|
|
27377
27194
|
* schemas are what crosses the cap boundary.
|
|
27378
27195
|
*/
|
|
27379
27196
|
var ModelFormatSchema$1 = _enum(MODEL_FORMATS);
|
|
27197
|
+
/** The operator's range for it. */
|
|
27198
|
+
var MIN_SESSIONS_PER_DEVICE_RANGE = {
|
|
27199
|
+
min: 1,
|
|
27200
|
+
max: 8
|
|
27201
|
+
};
|
|
27380
27202
|
var HardwareClassIdSchema = _enum([
|
|
27381
27203
|
"intel-core-ultra",
|
|
27382
27204
|
"intel-n-series",
|
|
@@ -27394,8 +27216,9 @@ var AcceleratorKindSchema = _enum([
|
|
|
27394
27216
|
]);
|
|
27395
27217
|
var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
27396
27218
|
object({
|
|
27397
|
-
kind: literal("
|
|
27398
|
-
|
|
27219
|
+
kind: literal("capacity"),
|
|
27220
|
+
sessions: number(),
|
|
27221
|
+
minSessions: number()
|
|
27399
27222
|
}),
|
|
27400
27223
|
object({
|
|
27401
27224
|
kind: literal("tie-faster"),
|
|
@@ -27410,16 +27233,13 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
27410
27233
|
}),
|
|
27411
27234
|
object({
|
|
27412
27235
|
kind: literal("no-fit-lightest"),
|
|
27413
|
-
|
|
27236
|
+
sessions: number(),
|
|
27237
|
+
minSessions: number()
|
|
27414
27238
|
}),
|
|
27415
27239
|
object({
|
|
27416
27240
|
kind: literal("derived-latency"),
|
|
27417
27241
|
modelId: string()
|
|
27418
27242
|
}),
|
|
27419
|
-
object({
|
|
27420
|
-
kind: literal("estimated-load"),
|
|
27421
|
-
observedForMs: number().nullable()
|
|
27422
|
-
}),
|
|
27423
27243
|
object({ kind: literal("cpu-device") }),
|
|
27424
27244
|
object({ kind: literal("coral-untouched") }),
|
|
27425
27245
|
object({ kind: literal("device-disabled") }),
|
|
@@ -27435,28 +27255,13 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
27435
27255
|
format: ModelFormatSchema$1
|
|
27436
27256
|
})
|
|
27437
27257
|
]);
|
|
27438
|
-
var DeviceDemandSchema = object({
|
|
27439
|
-
nodeId: string(),
|
|
27440
|
-
deviceKey: string(),
|
|
27441
|
-
demandFps: number(),
|
|
27442
|
-
maxCameraFps: number(),
|
|
27443
|
-
alwaysOnCameras: number(),
|
|
27444
|
-
onMotionSessions: number(),
|
|
27445
|
-
onMotionSource: _enum([
|
|
27446
|
-
"observed-24h",
|
|
27447
|
-
"estimate",
|
|
27448
|
-
"none"
|
|
27449
|
-
]),
|
|
27450
|
-
observedForMs: number().nullable(),
|
|
27451
|
-
/** How on-motion sessions were charged: per-device observation, or split by share (D748). */
|
|
27452
|
-
placement: SessionPlacementPolicySchema
|
|
27453
|
-
});
|
|
27454
27258
|
var DeviceModelChoiceSchema = object({
|
|
27455
27259
|
modelId: string(),
|
|
27456
27260
|
p50Ms: number(),
|
|
27457
27261
|
fps: number(),
|
|
27458
27262
|
measured: boolean(),
|
|
27459
|
-
|
|
27263
|
+
/** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
|
|
27264
|
+
capacitySessions: number(),
|
|
27460
27265
|
personRecall: number()
|
|
27461
27266
|
});
|
|
27462
27267
|
var DeviceRecommendationSchema = object({
|
|
@@ -27464,7 +27269,6 @@ var DeviceRecommendationSchema = object({
|
|
|
27464
27269
|
accelerator: AcceleratorKindSchema.nullable(),
|
|
27465
27270
|
enabled: boolean(),
|
|
27466
27271
|
available: boolean(),
|
|
27467
|
-
demand: DeviceDemandSchema.nullable(),
|
|
27468
27272
|
chosen: DeviceModelChoiceSchema.nullable(),
|
|
27469
27273
|
reasons: array(RecommendationReasonSchema).readonly()
|
|
27470
27274
|
});
|
|
@@ -27525,20 +27329,20 @@ var AutoTuneOptionsSchema = object({
|
|
|
27525
27329
|
/** Share of each accelerator's throughput kept free (0.3–0.5). */
|
|
27526
27330
|
headroom: number().min(.3).max(.5).default(.4),
|
|
27527
27331
|
/**
|
|
27528
|
-
*
|
|
27529
|
-
*
|
|
27530
|
-
*
|
|
27531
|
-
* is stored.
|
|
27332
|
+
* The least number of parallel sessions every device must sustain at the
|
|
27333
|
+
* camera rate with the headroom kept free (D755). The most accurate model
|
|
27334
|
+
* that reaches it wins.
|
|
27532
27335
|
*/
|
|
27533
|
-
|
|
27336
|
+
minSessionsPerDevice: number().int().min(MIN_SESSIONS_PER_DEVICE_RANGE.min).max(MIN_SESSIONS_PER_DEVICE_RANGE.max).default(2)
|
|
27534
27337
|
});
|
|
27535
27338
|
var AutoTunePlanSchema = object({
|
|
27536
27339
|
/** Hash of everything the apply will write — the apply refuses a different one. */
|
|
27537
27340
|
planHash: string(),
|
|
27538
27341
|
family: literal("yolov9"),
|
|
27539
27342
|
headroom: number(),
|
|
27540
|
-
|
|
27541
|
-
|
|
27343
|
+
minSessionsPerDevice: number(),
|
|
27344
|
+
/** The detection rate a session is counted at (the fastest camera running the pipeline root). */
|
|
27345
|
+
cameraFps: number(),
|
|
27542
27346
|
generatedAt: number(),
|
|
27543
27347
|
nodes: array(NodeRecommendationSchema).readonly(),
|
|
27544
27348
|
nodeChanges: array(NodeDeviceChangeSchema).readonly(),
|
|
@@ -27548,7 +27352,8 @@ var AutoTunePlanSchema = object({
|
|
|
27548
27352
|
});
|
|
27549
27353
|
var AutoTuneApplyInputSchema = object({
|
|
27550
27354
|
planHash: string(),
|
|
27551
|
-
headroom: number().min(.3).max(.5).default(.4)
|
|
27355
|
+
headroom: number().min(.3).max(.5).default(.4),
|
|
27356
|
+
minSessionsPerDevice: number().int().min(MIN_SESSIONS_PER_DEVICE_RANGE.min).max(MIN_SESSIONS_PER_DEVICE_RANGE.max).default(2)
|
|
27552
27357
|
});
|
|
27553
27358
|
var AutoTunePhaseResultSchema = object({
|
|
27554
27359
|
phase: _enum([
|
|
@@ -27580,6 +27385,177 @@ var AutoTuneApplyResultSchema = discriminatedUnion("kind", [
|
|
|
27580
27385
|
reason: _enum(["apply-in-progress"])
|
|
27581
27386
|
})
|
|
27582
27387
|
]);
|
|
27388
|
+
/**
|
|
27389
|
+
* Wire shapes of the Load balancing surface (D748): the session placement
|
|
27390
|
+
* policy, the atomic share write, the observed placement statistics, the
|
|
27391
|
+
* hardware share suggestion and the stale device pins.
|
|
27392
|
+
*/
|
|
27393
|
+
/**
|
|
27394
|
+
* How a new detection session picks its node and device.
|
|
27395
|
+
* - `least-loaded` — the historical rule: lowest `attached / weight`, a
|
|
27396
|
+
* constant node order at a tie (D37). An idle node always ties at 0, so a
|
|
27397
|
+
* weight only bites once a node already holds a session.
|
|
27398
|
+
* - `share` — the share of PARALLEL sessions is held to the weights, and a
|
|
27399
|
+
* full or drowning node yields to a free one (D748).
|
|
27400
|
+
*/
|
|
27401
|
+
var SessionPlacementPolicySchema = _enum(["least-loaded", "share"]);
|
|
27402
|
+
var LoadBalancingSharesInputSchema = object({
|
|
27403
|
+
/** nodeId → share (> 0). A node left out keeps its weight. */
|
|
27404
|
+
nodes: record(string(), number().positive()).default({}),
|
|
27405
|
+
/** nodeId → deviceKey → share (> 0). A device left out keeps its weight. */
|
|
27406
|
+
devices: record(string(), record(string(), number().positive())).default({})
|
|
27407
|
+
});
|
|
27408
|
+
var PlacementStatsInputSchema = object({
|
|
27409
|
+
/** Window the observed shares are averaged over (default 1 h, max 24 h). */
|
|
27410
|
+
windowMs: number().int().min(6e4).max(1440 * 60 * 1e3).default(3600 * 1e3) });
|
|
27411
|
+
var PlacementDeviceStatsSchema = object({
|
|
27412
|
+
deviceKey: string(),
|
|
27413
|
+
/** Sessions running on this device now. */
|
|
27414
|
+
sessionsNow: number(),
|
|
27415
|
+
/** Sessions started on this device inside the window. */
|
|
27416
|
+
sessionsStarted: number(),
|
|
27417
|
+
/** Time-weighted share of the node's parallel sessions over the window (0–1); null = no session ran. */
|
|
27418
|
+
observedShare: number().nullable()
|
|
27419
|
+
});
|
|
27420
|
+
var PlacementNodeStatsSchema = object({
|
|
27421
|
+
nodeId: string(),
|
|
27422
|
+
sessionsNow: number(),
|
|
27423
|
+
sessionsStarted: number(),
|
|
27424
|
+
/** Time-weighted share of the cluster's parallel sessions over the window (0–1); null = none ran. */
|
|
27425
|
+
observedShare: number().nullable(),
|
|
27426
|
+
/** Most sessions this node ran at once inside the window. */
|
|
27427
|
+
peakSessions: number(),
|
|
27428
|
+
/** Sessions a share election handed elsewhere because this node was full or drowning. */
|
|
27429
|
+
yieldsAway: number(),
|
|
27430
|
+
devices: array(PlacementDeviceStatsSchema).readonly()
|
|
27431
|
+
});
|
|
27432
|
+
/** A camera's device pin that the session path cannot honour. */
|
|
27433
|
+
var StaleDevicePinSchema = object({
|
|
27434
|
+
deviceId: number(),
|
|
27435
|
+
deviceKey: string(),
|
|
27436
|
+
/** `disabled` — the key exists on some node but is not enabled anywhere; `absent` — no node has it. */
|
|
27437
|
+
reason: _enum(["disabled", "absent"])
|
|
27438
|
+
});
|
|
27439
|
+
var PlacementStatsSchema = object({
|
|
27440
|
+
policy: SessionPlacementPolicySchema,
|
|
27441
|
+
windowMs: number(),
|
|
27442
|
+
/** How much of the window was actually observed (the hub keeps it in memory). */
|
|
27443
|
+
observedForMs: number(),
|
|
27444
|
+
sessionsNow: number(),
|
|
27445
|
+
/** Most parallel sessions across the cluster inside the window. */
|
|
27446
|
+
clusterPeakSessions: number(),
|
|
27447
|
+
nodes: array(PlacementNodeStatsSchema).readonly(),
|
|
27448
|
+
stalePins: array(StaleDevicePinSchema).readonly()
|
|
27449
|
+
});
|
|
27450
|
+
/**
|
|
27451
|
+
* Where an automatic share's capacity comes from (D755).
|
|
27452
|
+
* - `hardware` — the static capacity of each device at its Auto tune model:
|
|
27453
|
+
* the measured latency table for the node's hardware class.
|
|
27454
|
+
* - `benchmark` — the node's own measured capacity (node benchmark results).
|
|
27455
|
+
* A node with no results falls back to `hardware`, and says so.
|
|
27456
|
+
*/
|
|
27457
|
+
var CapacitySourceSchema = _enum(["hardware", "benchmark"]);
|
|
27458
|
+
/** Why a node under the `benchmark` source was sized from hardware instead. */
|
|
27459
|
+
var CapacityFallbackSchema = _enum(["no-benchmark-results", "partial-benchmark-results"]);
|
|
27460
|
+
var SuggestSharesInputSchema = object({
|
|
27461
|
+
headroom: number().min(.3).max(.5).default(.4),
|
|
27462
|
+
/** Default `hardware`. */
|
|
27463
|
+
source: CapacitySourceSchema.default("hardware")
|
|
27464
|
+
});
|
|
27465
|
+
var SuggestedDeviceShareSchema = object({
|
|
27466
|
+
deviceKey: string(),
|
|
27467
|
+
/** Share of the node (0–100, rounded). */
|
|
27468
|
+
share: number(),
|
|
27469
|
+
modelId: string().nullable(),
|
|
27470
|
+
/** Inferences per second at that model, from the measured table; null when sized by a benchmark. */
|
|
27471
|
+
fps: number().nullable(),
|
|
27472
|
+
/** False for a table cell derived from another chip; true for a measured cell or a benchmark. */
|
|
27473
|
+
measured: boolean(),
|
|
27474
|
+
/**
|
|
27475
|
+
* Advisory session cap: ⌊fps × (1 − headroom) / camera fps⌋ from the table,
|
|
27476
|
+
* or the benchmark's measured max sessions. Never enforced.
|
|
27477
|
+
*/
|
|
27478
|
+
suggestedMaxSessions: number().nullable()
|
|
27479
|
+
});
|
|
27480
|
+
var SuggestedNodeShareSchema = object({
|
|
27481
|
+
nodeId: string(),
|
|
27482
|
+
/** Share of the cluster (0–100, rounded); null = node skipped (offline, unknown hardware). */
|
|
27483
|
+
share: number().nullable(),
|
|
27484
|
+
/** Parallel sessions the node sustains at the suggested models with the headroom kept free. */
|
|
27485
|
+
capacitySessions: number(),
|
|
27486
|
+
devices: array(SuggestedDeviceShareSchema).readonly(),
|
|
27487
|
+
skippedReason: string().nullable(),
|
|
27488
|
+
/** What this node's capacity was read from; null when the node is skipped. */
|
|
27489
|
+
capacitySource: CapacitySourceSchema.nullable(),
|
|
27490
|
+
/** Set when the `benchmark` source was asked for and this node used `hardware`. */
|
|
27491
|
+
capacityFallback: CapacityFallbackSchema.nullable()
|
|
27492
|
+
});
|
|
27493
|
+
var SuggestSharesResultSchema = object({
|
|
27494
|
+
headroom: number(),
|
|
27495
|
+
/** The source asked for; each node says what it actually used. */
|
|
27496
|
+
source: CapacitySourceSchema,
|
|
27497
|
+
/** Camera detection rate the capacity is counted in (the fastest camera's fps). */
|
|
27498
|
+
cameraFps: number(),
|
|
27499
|
+
/** The Auto tune capacity floor the models were picked at. */
|
|
27500
|
+
minSessionsPerDevice: number(),
|
|
27501
|
+
nodes: array(SuggestedNodeShareSchema).readonly()
|
|
27502
|
+
});
|
|
27503
|
+
/**
|
|
27504
|
+
* Where the node and device shares come from (D750, D755).
|
|
27505
|
+
* - `hardware` (default) — computed by the system from each node's static
|
|
27506
|
+
* capacity (its accelerators at their Auto tune models, from the measured
|
|
27507
|
+
* latency table), recomputed whenever a node or device joins, leaves, is
|
|
27508
|
+
* switched on or off, or changes model. No load input.
|
|
27509
|
+
* - `benchmark` — the same, from each node's measured capacity (node
|
|
27510
|
+
* benchmark results); a node without results falls back to `hardware`.
|
|
27511
|
+
* - `manual` — the operator's stored sliders.
|
|
27512
|
+
* Either way a node or device that cannot take sessions gives its share to
|
|
27513
|
+
* the others in proportion; the stored values are never rewritten for that.
|
|
27514
|
+
*/
|
|
27515
|
+
var ShareSourceSchema = _enum([
|
|
27516
|
+
"hardware",
|
|
27517
|
+
"benchmark",
|
|
27518
|
+
"manual"
|
|
27519
|
+
]);
|
|
27520
|
+
var SetShareSourceInputSchema = object({ source: ShareSourceSchema });
|
|
27521
|
+
object({
|
|
27522
|
+
nodes: record(string(), number()),
|
|
27523
|
+
devices: record(string(), record(string(), number()))
|
|
27524
|
+
});
|
|
27525
|
+
var EffectiveDeviceShareSchema = object({
|
|
27526
|
+
deviceKey: string(),
|
|
27527
|
+
/** Can take sessions now (enabled, available, can run the root). */
|
|
27528
|
+
eligible: boolean(),
|
|
27529
|
+
/** The share the source assigns, as a percentage of the node's devices. */
|
|
27530
|
+
configuredPct: number(),
|
|
27531
|
+
/** The share actually used, after an ineligible device's share went to the others. */
|
|
27532
|
+
effectivePct: number()
|
|
27533
|
+
});
|
|
27534
|
+
var EffectiveNodeShareSchema = object({
|
|
27535
|
+
nodeId: string(),
|
|
27536
|
+
eligible: boolean(),
|
|
27537
|
+
configuredPct: number(),
|
|
27538
|
+
effectivePct: number(),
|
|
27539
|
+
/** Automatic sources: what this node's share was computed from; null under `manual` or before the first answer. */
|
|
27540
|
+
capacitySource: CapacitySourceSchema.nullable(),
|
|
27541
|
+
/** Automatic `benchmark`: why this node used `hardware` instead. */
|
|
27542
|
+
capacityFallback: CapacityFallbackSchema.nullable(),
|
|
27543
|
+
devices: array(EffectiveDeviceShareSchema).readonly()
|
|
27544
|
+
});
|
|
27545
|
+
var EffectiveSharesSchema = object({
|
|
27546
|
+
source: ShareSourceSchema,
|
|
27547
|
+
policy: SessionPlacementPolicySchema,
|
|
27548
|
+
/** An automatic source with no computed answer yet: the stored sliders are used meanwhile. */
|
|
27549
|
+
autoPending: boolean(),
|
|
27550
|
+
/** When the automatic shares were last computed (ms epoch); null = never. */
|
|
27551
|
+
computedAt: number().nullable(),
|
|
27552
|
+
/** What made the system recompute them last. */
|
|
27553
|
+
trigger: string().nullable(),
|
|
27554
|
+
nodes: array(EffectiveNodeShareSchema).readonly(),
|
|
27555
|
+
/** The relative weights the election reads (before eligibility). */
|
|
27556
|
+
nodeWeights: record(string(), number()),
|
|
27557
|
+
deviceWeights: record(string(), record(string(), number()))
|
|
27558
|
+
});
|
|
27583
27559
|
object({
|
|
27584
27560
|
activeCameras: number(),
|
|
27585
27561
|
throttledCameras: number(),
|
|
@@ -28870,14 +28846,6 @@ var CameraPipelineConfigSchema = object({
|
|
|
28870
28846
|
settings: record(string(), unknown()).readonly().optional()
|
|
28871
28847
|
}).nullable().optional()
|
|
28872
28848
|
});
|
|
28873
|
-
var PipelineTemplateSchema = object({
|
|
28874
|
-
id: string(),
|
|
28875
|
-
name: string(),
|
|
28876
|
-
description: string().optional(),
|
|
28877
|
-
config: CameraPipelineConfigSchema,
|
|
28878
|
-
createdAt: string(),
|
|
28879
|
-
updatedAt: string()
|
|
28880
|
-
});
|
|
28881
28849
|
var DeviceStepConfigSchema = object({
|
|
28882
28850
|
modelId: string().optional(),
|
|
28883
28851
|
settings: record(string(), unknown()).optional(),
|
|
@@ -28951,8 +28919,10 @@ var CameraStepOverridePatchSchema = object({
|
|
|
28951
28919
|
modelId: string().optional(),
|
|
28952
28920
|
settings: record(string(), unknown()).readonly().optional()
|
|
28953
28921
|
});
|
|
28922
|
+
var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
|
|
28954
28923
|
var CameraPipelineSettingsSchema = object({
|
|
28955
28924
|
stepToggles: record(string(), boolean()).optional(),
|
|
28925
|
+
stepSettings: CameraStepSettingsSchema.optional(),
|
|
28956
28926
|
stepOverridesByDevice: record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).optional(),
|
|
28957
28927
|
pipelineByAgent: record(string(), CameraPipelineForAgentSchema).optional()
|
|
28958
28928
|
});
|
|
@@ -29080,20 +29050,15 @@ var CameraBrokerStatusSchema = object({
|
|
|
29080
29050
|
webrtcSessions: number(),
|
|
29081
29051
|
rtspRestream: boolean()
|
|
29082
29052
|
});
|
|
29083
|
-
/**
|
|
29084
|
-
|
|
29085
|
-
|
|
29086
|
-
|
|
29087
|
-
|
|
29088
|
-
|
|
29089
|
-
|
|
29090
|
-
|
|
29091
|
-
var CameraDecoderStatusSchema = object({
|
|
29092
|
-
nodeId: string(),
|
|
29093
|
-
formats: array(string()).readonly(),
|
|
29094
|
-
sessionCount: number(),
|
|
29095
|
-
shm: CameraDecoderShmSchema
|
|
29096
|
-
});
|
|
29053
|
+
/**
|
|
29054
|
+
* Decoder block — WHERE decode runs (co-located with the detection node by
|
|
29055
|
+
* construction); null when the camera has no detection node. It carries no
|
|
29056
|
+
* frame counter: the shared-memory plane whose counters it used to serve is
|
|
29057
|
+
* gone, and those fields read 0 forever. Whether frames actually flow is read
|
|
29058
|
+
* from `detection.actualFps` (frames delivered to and processed by the
|
|
29059
|
+
* detector), never from a counter nothing feeds.
|
|
29060
|
+
*/
|
|
29061
|
+
var CameraDecoderStatusSchema = object({ nodeId: string() });
|
|
29097
29062
|
/** Motion block — null when motion detection is not active for this device. */
|
|
29098
29063
|
var CameraMotionStatusSchema = object({
|
|
29099
29064
|
enabled: boolean(),
|
|
@@ -29516,6 +29481,13 @@ method(object({
|
|
|
29516
29481
|
}), object({ success: literal(true) }), {
|
|
29517
29482
|
kind: "mutation",
|
|
29518
29483
|
auth: "admin"
|
|
29484
|
+
}), method(object({
|
|
29485
|
+
deviceId: number(),
|
|
29486
|
+
addonId: string(),
|
|
29487
|
+
settings: record(string(), unknown()).nullable()
|
|
29488
|
+
}), object({ success: literal(true) }), {
|
|
29489
|
+
kind: "mutation",
|
|
29490
|
+
auth: "admin"
|
|
29519
29491
|
}), method(object({
|
|
29520
29492
|
deviceId: number(),
|
|
29521
29493
|
agentNodeId: string(),
|
|
@@ -29539,25 +29511,7 @@ method(object({
|
|
|
29539
29511
|
}), method(_void(), DiskReconcileJobSchema, {
|
|
29540
29512
|
kind: "mutation",
|
|
29541
29513
|
auth: "admin"
|
|
29542
|
-
}), method(_void(), DiskReconcileJobSchema, { auth: "admin" })
|
|
29543
|
-
name: string(),
|
|
29544
|
-
description: string().optional(),
|
|
29545
|
-
config: CameraPipelineConfigSchema
|
|
29546
|
-
}), PipelineTemplateSchema, {
|
|
29547
|
-
kind: "mutation",
|
|
29548
|
-
auth: "admin"
|
|
29549
|
-
}), method(object({
|
|
29550
|
-
id: string(),
|
|
29551
|
-
name: string().optional(),
|
|
29552
|
-
description: string().optional(),
|
|
29553
|
-
config: CameraPipelineConfigSchema.optional()
|
|
29554
|
-
}), PipelineTemplateSchema, {
|
|
29555
|
-
kind: "mutation",
|
|
29556
|
-
auth: "admin"
|
|
29557
|
-
}), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
29558
|
-
kind: "mutation",
|
|
29559
|
-
auth: "admin"
|
|
29560
|
-
});
|
|
29514
|
+
}), method(_void(), DiskReconcileJobSchema, { auth: "admin" });
|
|
29561
29515
|
/**
|
|
29562
29516
|
* Cap → event-kind mapping for the SENSOR / CONTROL cap families — the table
|
|
29563
29517
|
* `pipeline-analytics.listEventKinds` uses to turn a linked device's bound
|
|
@@ -46123,12 +46077,6 @@ Object.freeze({
|
|
|
46123
46077
|
addonId: null,
|
|
46124
46078
|
access: "delete"
|
|
46125
46079
|
},
|
|
46126
|
-
"pipelineExecutor.deleteTemplate": {
|
|
46127
|
-
capName: "pipeline-executor",
|
|
46128
|
-
capScope: "system",
|
|
46129
|
-
addonId: null,
|
|
46130
|
-
access: "delete"
|
|
46131
|
-
},
|
|
46132
46080
|
"pipelineExecutor.downloadModel": {
|
|
46133
46081
|
capName: "pipeline-executor",
|
|
46134
46082
|
capScope: "system",
|
|
@@ -46267,12 +46215,6 @@ Object.freeze({
|
|
|
46267
46215
|
addonId: null,
|
|
46268
46216
|
access: "view"
|
|
46269
46217
|
},
|
|
46270
|
-
"pipelineExecutor.listTemplates": {
|
|
46271
|
-
capName: "pipeline-executor",
|
|
46272
|
-
capScope: "system",
|
|
46273
|
-
addonId: null,
|
|
46274
|
-
access: "view"
|
|
46275
|
-
},
|
|
46276
46218
|
"pipelineExecutor.rearmInferenceDevice": {
|
|
46277
46219
|
capName: "pipeline-executor",
|
|
46278
46220
|
capScope: "system",
|
|
@@ -46297,12 +46239,6 @@ Object.freeze({
|
|
|
46297
46239
|
addonId: null,
|
|
46298
46240
|
access: "create"
|
|
46299
46241
|
},
|
|
46300
|
-
"pipelineExecutor.saveTemplate": {
|
|
46301
|
-
capName: "pipeline-executor",
|
|
46302
|
-
capScope: "system",
|
|
46303
|
-
addonId: null,
|
|
46304
|
-
access: "create"
|
|
46305
|
-
},
|
|
46306
46242
|
"pipelineExecutor.setVideoPipelineSteps": {
|
|
46307
46243
|
capName: "pipeline-executor",
|
|
46308
46244
|
capScope: "system",
|
|
@@ -46321,12 +46257,6 @@ Object.freeze({
|
|
|
46321
46257
|
addonId: null,
|
|
46322
46258
|
access: "create"
|
|
46323
46259
|
},
|
|
46324
|
-
"pipelineExecutor.updateTemplate": {
|
|
46325
|
-
capName: "pipeline-executor",
|
|
46326
|
-
capScope: "system",
|
|
46327
|
-
addonId: null,
|
|
46328
|
-
access: "create"
|
|
46329
|
-
},
|
|
46330
46260
|
"pipelineExecutor.validatePipeline": {
|
|
46331
46261
|
capName: "pipeline-executor",
|
|
46332
46262
|
capScope: "system",
|
|
@@ -46357,12 +46287,6 @@ Object.freeze({
|
|
|
46357
46287
|
addonId: null,
|
|
46358
46288
|
access: "create"
|
|
46359
46289
|
},
|
|
46360
|
-
"pipelineOrchestrator.deleteTemplate": {
|
|
46361
|
-
capName: "pipeline-orchestrator",
|
|
46362
|
-
capScope: "system",
|
|
46363
|
-
addonId: null,
|
|
46364
|
-
access: "delete"
|
|
46365
|
-
},
|
|
46366
46290
|
"pipelineOrchestrator.getAgentLoad": {
|
|
46367
46291
|
capName: "pipeline-orchestrator",
|
|
46368
46292
|
capScope: "system",
|
|
@@ -46513,12 +46437,6 @@ Object.freeze({
|
|
|
46513
46437
|
addonId: null,
|
|
46514
46438
|
access: "view"
|
|
46515
46439
|
},
|
|
46516
|
-
"pipelineOrchestrator.listTemplates": {
|
|
46517
|
-
capName: "pipeline-orchestrator",
|
|
46518
|
-
capScope: "system",
|
|
46519
|
-
addonId: null,
|
|
46520
|
-
access: "view"
|
|
46521
|
-
},
|
|
46522
46440
|
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
46523
46441
|
capName: "pipeline-orchestrator",
|
|
46524
46442
|
capScope: "system",
|
|
@@ -46573,12 +46491,6 @@ Object.freeze({
|
|
|
46573
46491
|
addonId: null,
|
|
46574
46492
|
access: "create"
|
|
46575
46493
|
},
|
|
46576
|
-
"pipelineOrchestrator.saveTemplate": {
|
|
46577
|
-
capName: "pipeline-orchestrator",
|
|
46578
|
-
capScope: "system",
|
|
46579
|
-
addonId: null,
|
|
46580
|
-
access: "create"
|
|
46581
|
-
},
|
|
46582
46494
|
"pipelineOrchestrator.setAgentCapabilities": {
|
|
46583
46495
|
capName: "pipeline-orchestrator",
|
|
46584
46496
|
capScope: "system",
|
|
@@ -46627,6 +46539,12 @@ Object.freeze({
|
|
|
46627
46539
|
addonId: null,
|
|
46628
46540
|
access: "create"
|
|
46629
46541
|
},
|
|
46542
|
+
"pipelineOrchestrator.setCameraStepSettings": {
|
|
46543
|
+
capName: "pipeline-orchestrator",
|
|
46544
|
+
capScope: "system",
|
|
46545
|
+
addonId: null,
|
|
46546
|
+
access: "create"
|
|
46547
|
+
},
|
|
46630
46548
|
"pipelineOrchestrator.setCameraStepToggle": {
|
|
46631
46549
|
capName: "pipeline-orchestrator",
|
|
46632
46550
|
capScope: "system",
|
|
@@ -46681,12 +46599,6 @@ Object.freeze({
|
|
|
46681
46599
|
addonId: null,
|
|
46682
46600
|
access: "create"
|
|
46683
46601
|
},
|
|
46684
|
-
"pipelineOrchestrator.updateTemplate": {
|
|
46685
|
-
capName: "pipeline-orchestrator",
|
|
46686
|
-
capScope: "system",
|
|
46687
|
-
addonId: null,
|
|
46688
|
-
access: "create"
|
|
46689
|
-
},
|
|
46690
46602
|
"pipelineRunner.attachCamera": {
|
|
46691
46603
|
capName: "pipeline-runner",
|
|
46692
46604
|
capScope: "system",
|
|
@@ -52075,6 +51987,11 @@ Object.freeze({
|
|
|
52075
51987
|
form: "single",
|
|
52076
51988
|
optional: false
|
|
52077
51989
|
}],
|
|
51990
|
+
"pipelineOrchestrator.setCameraStepSettings": [{
|
|
51991
|
+
name: "deviceId",
|
|
51992
|
+
form: "single",
|
|
51993
|
+
optional: false
|
|
51994
|
+
}],
|
|
52078
51995
|
"pipelineOrchestrator.setCameraStepToggle": [{
|
|
52079
51996
|
name: "deviceId",
|
|
52080
51997
|
form: "single",
|
|
@@ -55938,12 +55855,6 @@ Object.defineProperty(exports, "overlayClusterStepSettings", {
|
|
|
55938
55855
|
return overlayClusterStepSettings;
|
|
55939
55856
|
}
|
|
55940
55857
|
});
|
|
55941
|
-
Object.defineProperty(exports, "parseJsonUnknown", {
|
|
55942
|
-
enumerable: true,
|
|
55943
|
-
get: function() {
|
|
55944
|
-
return parseJsonUnknown;
|
|
55945
|
-
}
|
|
55946
|
-
});
|
|
55947
55858
|
Object.defineProperty(exports, "parseProcStatus", {
|
|
55948
55859
|
enumerable: true,
|
|
55949
55860
|
get: function() {
|