@camstack/addon-pipeline 1.2.339 → 1.2.340
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-B5sCwSgr.mjs → custom-model-catalog-BOnN63HU.mjs} +5 -3
- package/dist/{custom-model-catalog-BY35vysX.js → custom-model-catalog-Cjbll1Sf.js} +5 -3
- package/dist/detection-pipeline/index.js +188 -17
- package/dist/detection-pipeline/index.mjs +213 -42
- package/dist/{dist-BUqvRc-c.js → dist-BWigCRRN.js} +320 -43
- package/dist/{dist-BylL-kRe.mjs → dist-CsA6fY6I.mjs} +303 -44
- package/dist/{model-catalogs-DygV-lXw.js → model-catalogs-BFBf8sHb.js} +1 -1
- package/dist/{model-catalogs-x1G07ScE.mjs → model-catalogs-D7JXV0_i.mjs} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-4Vnc6mbI.mjs → node-BZ29vHq2.mjs} +1 -1
- package/dist/{node-r1KgYS72.js → node-D52HHrVZ.js} +1 -1
- package/dist/pipeline-runner/index.js +3 -3
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-Dr9tFNCX.js → process-memory-C9U6dKxS.js} +1 -1
- package/dist/{process-memory-DOX7Esg9.mjs → process-memory-DOEeg2pL.mjs} +1 -1
- package/dist/recorder/index.js +6 -2
- package/dist/recorder/index.mjs +6 -2
- package/dist/{segment-demux-js-5UX_f1ey.js → segment-demux-js-CMZSmwMp.js} +1 -1
- package/dist/{segment-demux-js-Brk0ORQN.mjs → segment-demux-js-DDgwrz-e.mjs} +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-oF4bquCk.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-6JIjr_ur.mjs} +2 -2
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js--yC-aoPc.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-Bt8aa0wk.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B-hhg2sP.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-BOteWKrZ.mjs → hostInit-Ck1wQfKk.mjs} +2 -2
- 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-1Y-WK-Zy.mjs +0 -26
|
@@ -12943,6 +12943,40 @@ var ModelFormatEntrySchema = object({
|
|
|
12943
12943
|
revision: string().min(1).optional()
|
|
12944
12944
|
});
|
|
12945
12945
|
/**
|
|
12946
|
+
* What a node holds for one (model, format) (D746). `current` is a complete
|
|
12947
|
+
* copy at its catalog revision — exactly what `downloaded: true` means.
|
|
12948
|
+
* `stale` is bytes on disk that are not (yet) proven current under D743/D744:
|
|
12949
|
+
* no or a different revision record, or a missing sibling. `missing` is no
|
|
12950
|
+
* copy. `downloaded` alone folds `stale` into "not downloaded", which hid
|
|
12951
|
+
* reclaimable bytes and a copy about to be replaced.
|
|
12952
|
+
*/
|
|
12953
|
+
var ModelOnDiskStateSchema = _enum([
|
|
12954
|
+
"current",
|
|
12955
|
+
"stale",
|
|
12956
|
+
"missing"
|
|
12957
|
+
]);
|
|
12958
|
+
/**
|
|
12959
|
+
* The numeric precision of one format's BUILD (D746) — reported only when the
|
|
12960
|
+
* build states it (file-name token, an INT8 variant, an EdgeTPU compile, a
|
|
12961
|
+
* CamStack Core ML export). Absent means "not stated", never "fp32".
|
|
12962
|
+
*/
|
|
12963
|
+
var ModelFormatPrecisionSchema = _enum([
|
|
12964
|
+
"fp32",
|
|
12965
|
+
"fp16",
|
|
12966
|
+
"int8"
|
|
12967
|
+
]);
|
|
12968
|
+
/**
|
|
12969
|
+
* One format of one model as a node's `pipelineExecutor.getSchema` reports it.
|
|
12970
|
+
* `onDisk` / `precision` are optional for version skew: a runner that predates
|
|
12971
|
+
* them omits them, and a reader falls back to `downloaded`.
|
|
12972
|
+
*/
|
|
12973
|
+
var PipelineModelFormatStatusSchema = object({
|
|
12974
|
+
downloaded: boolean(),
|
|
12975
|
+
sizeMB: number(),
|
|
12976
|
+
onDisk: ModelOnDiskStateSchema.optional(),
|
|
12977
|
+
precision: ModelFormatPrecisionSchema.optional()
|
|
12978
|
+
});
|
|
12979
|
+
/**
|
|
12946
12980
|
* Extra file that must be downloaded alongside the model (e.g., labels JSON, dict.txt).
|
|
12947
12981
|
* The downloader fetches from `url` and saves to `{modelsDir}/{filename}`.
|
|
12948
12982
|
*/
|
|
@@ -26539,7 +26573,7 @@ var FrameRefSchema = object({
|
|
|
26539
26573
|
timestamp: number(),
|
|
26540
26574
|
capturedAt: number().optional()
|
|
26541
26575
|
});
|
|
26542
|
-
var ModelFormatSchema$
|
|
26576
|
+
var ModelFormatSchema$2 = _enum([
|
|
26543
26577
|
"onnx",
|
|
26544
26578
|
"coreml",
|
|
26545
26579
|
"openvino",
|
|
@@ -26557,7 +26591,7 @@ var PipelineSlotSchema = _enum([
|
|
|
26557
26591
|
var PipelineEngineChoiceSchema = object({
|
|
26558
26592
|
runtime: literal("python"),
|
|
26559
26593
|
backend: string(),
|
|
26560
|
-
format: ModelFormatSchema$
|
|
26594
|
+
format: ModelFormatSchema$2,
|
|
26561
26595
|
device: string().optional()
|
|
26562
26596
|
});
|
|
26563
26597
|
/**
|
|
@@ -26614,10 +26648,7 @@ var PipelineTemplateSchema$1 = object({
|
|
|
26614
26648
|
var PipelineModelOptionSchema = object({
|
|
26615
26649
|
id: string(),
|
|
26616
26650
|
name: string(),
|
|
26617
|
-
formats: record(string(),
|
|
26618
|
-
downloaded: boolean(),
|
|
26619
|
-
sizeMB: number()
|
|
26620
|
-
})),
|
|
26651
|
+
formats: record(string(), PipelineModelFormatStatusSchema),
|
|
26621
26652
|
group: ModelVariantGroupSchema.optional(),
|
|
26622
26653
|
legacy: boolean().optional(),
|
|
26623
26654
|
provider: ModelProviderIdSchema.optional(),
|
|
@@ -26832,6 +26863,32 @@ var pipelineExecutorCapability = {
|
|
|
26832
26863
|
auth: "admin"
|
|
26833
26864
|
}),
|
|
26834
26865
|
/**
|
|
26866
|
+
* Best settings (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
|
|
26867
|
+
* the object-detection root, and their binding keys) stored in THIS node's
|
|
26868
|
+
* per-camera detector settings — and, unless `dryRun`, remove them so the
|
|
26869
|
+
* running model's own defaults apply. Every other key of a camera's store
|
|
26870
|
+
* is kept. `nodeId` is the ROUTING key. `deviceIds` absent ⇒ every camera
|
|
26871
|
+
* with a store. A camera whose store could not be read is `refused`, never
|
|
26872
|
+
* reported as clean.
|
|
26873
|
+
*/
|
|
26874
|
+
clearModelBoundDeviceOverrides: method(object({
|
|
26875
|
+
nodeId: string(),
|
|
26876
|
+
deviceIds: array(number()).readonly().optional(),
|
|
26877
|
+
dryRun: boolean()
|
|
26878
|
+
}), object({
|
|
26879
|
+
entries: array(object({
|
|
26880
|
+
deviceId: number(),
|
|
26881
|
+
keys: array(string()).readonly()
|
|
26882
|
+
})).readonly(),
|
|
26883
|
+
refused: array(object({
|
|
26884
|
+
deviceId: number(),
|
|
26885
|
+
reason: string()
|
|
26886
|
+
})).readonly()
|
|
26887
|
+
}), {
|
|
26888
|
+
kind: "mutation",
|
|
26889
|
+
auth: "admin"
|
|
26890
|
+
}),
|
|
26891
|
+
/**
|
|
26835
26892
|
* Which of THIS node's inference devices the executor currently refuses,
|
|
26836
26893
|
* and why. `nodeId` is the ROUTING key (stripped by the generated router).
|
|
26837
26894
|
*
|
|
@@ -26926,12 +26983,12 @@ var pipelineExecutorCapability = {
|
|
|
26926
26983
|
downloadModel: method(object({
|
|
26927
26984
|
addonId: string(),
|
|
26928
26985
|
modelId: string(),
|
|
26929
|
-
format: ModelFormatSchema$
|
|
26986
|
+
format: ModelFormatSchema$2
|
|
26930
26987
|
}), DownloadModelResultSchema, { kind: "mutation" }),
|
|
26931
26988
|
deleteModel: method(object({
|
|
26932
26989
|
addonId: string(),
|
|
26933
26990
|
modelId: string(),
|
|
26934
|
-
format: ModelFormatSchema$
|
|
26991
|
+
format: ModelFormatSchema$2
|
|
26935
26992
|
}), object({ success: literal(true) }), { kind: "mutation" }),
|
|
26936
26993
|
/**
|
|
26937
26994
|
* Stateless single-frame execution. Callers (runner, benchmark) pass
|
|
@@ -27177,6 +27234,204 @@ var pipelineExecutorCapability = {
|
|
|
27177
27234
|
getDetectionConfigSchema: method(_void(), ConfigUISchemaNullableBridge)
|
|
27178
27235
|
}
|
|
27179
27236
|
};
|
|
27237
|
+
/**
|
|
27238
|
+
* The wire shapes of the Best settings plan and apply (D745), used by the
|
|
27239
|
+
* `pipeline-orchestrator` cap. The recommender's own types
|
|
27240
|
+
* (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
|
|
27241
|
+
* schemas are what crosses the cap boundary.
|
|
27242
|
+
*/
|
|
27243
|
+
var ModelFormatSchema$1 = _enum(MODEL_FORMATS);
|
|
27244
|
+
var HardwareClassIdSchema = _enum([
|
|
27245
|
+
"intel-core-ultra",
|
|
27246
|
+
"intel-n-series",
|
|
27247
|
+
"apple-m-base",
|
|
27248
|
+
"apple-m-pro",
|
|
27249
|
+
"unknown"
|
|
27250
|
+
]);
|
|
27251
|
+
var AcceleratorKindSchema = _enum([
|
|
27252
|
+
"intel-npu",
|
|
27253
|
+
"intel-igpu",
|
|
27254
|
+
"x86-cpu",
|
|
27255
|
+
"arm-cpu",
|
|
27256
|
+
"apple-ane",
|
|
27257
|
+
"coral"
|
|
27258
|
+
]);
|
|
27259
|
+
var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
27260
|
+
object({
|
|
27261
|
+
kind: literal("fits"),
|
|
27262
|
+
utilisation: number()
|
|
27263
|
+
}),
|
|
27264
|
+
object({
|
|
27265
|
+
kind: literal("tie-faster"),
|
|
27266
|
+
over: string(),
|
|
27267
|
+
recallDelta: number()
|
|
27268
|
+
}),
|
|
27269
|
+
object({
|
|
27270
|
+
kind: literal("stepped-down"),
|
|
27271
|
+
from: string(),
|
|
27272
|
+
to: string(),
|
|
27273
|
+
limitedBy: string()
|
|
27274
|
+
}),
|
|
27275
|
+
object({
|
|
27276
|
+
kind: literal("no-fit-lightest"),
|
|
27277
|
+
utilisation: number()
|
|
27278
|
+
}),
|
|
27279
|
+
object({
|
|
27280
|
+
kind: literal("derived-latency"),
|
|
27281
|
+
modelId: string()
|
|
27282
|
+
}),
|
|
27283
|
+
object({
|
|
27284
|
+
kind: literal("estimated-load"),
|
|
27285
|
+
observedForMs: number().nullable()
|
|
27286
|
+
}),
|
|
27287
|
+
object({ kind: literal("cpu-device") }),
|
|
27288
|
+
object({ kind: literal("coral-untouched") }),
|
|
27289
|
+
object({ kind: literal("device-disabled") }),
|
|
27290
|
+
object({ kind: literal("device-unavailable") }),
|
|
27291
|
+
object({ kind: literal("node-offline") }),
|
|
27292
|
+
object({ kind: literal("no-hardware-facts") }),
|
|
27293
|
+
object({
|
|
27294
|
+
kind: literal("no-measured-data"),
|
|
27295
|
+
hardwareClass: HardwareClassIdSchema
|
|
27296
|
+
}),
|
|
27297
|
+
object({
|
|
27298
|
+
kind: literal("no-family-build"),
|
|
27299
|
+
format: ModelFormatSchema$1
|
|
27300
|
+
})
|
|
27301
|
+
]);
|
|
27302
|
+
var DeviceDemandSchema = object({
|
|
27303
|
+
nodeId: string(),
|
|
27304
|
+
deviceKey: string(),
|
|
27305
|
+
demandFps: number(),
|
|
27306
|
+
maxCameraFps: number(),
|
|
27307
|
+
alwaysOnCameras: number(),
|
|
27308
|
+
onMotionSessions: number(),
|
|
27309
|
+
onMotionSource: _enum([
|
|
27310
|
+
"observed-24h",
|
|
27311
|
+
"estimate",
|
|
27312
|
+
"none"
|
|
27313
|
+
]),
|
|
27314
|
+
observedForMs: number().nullable()
|
|
27315
|
+
});
|
|
27316
|
+
var DeviceModelChoiceSchema = object({
|
|
27317
|
+
modelId: string(),
|
|
27318
|
+
p50Ms: number(),
|
|
27319
|
+
fps: number(),
|
|
27320
|
+
measured: boolean(),
|
|
27321
|
+
utilisation: number(),
|
|
27322
|
+
personRecall: number()
|
|
27323
|
+
});
|
|
27324
|
+
var DeviceRecommendationSchema = object({
|
|
27325
|
+
deviceKey: string(),
|
|
27326
|
+
accelerator: AcceleratorKindSchema.nullable(),
|
|
27327
|
+
enabled: boolean(),
|
|
27328
|
+
available: boolean(),
|
|
27329
|
+
demand: DeviceDemandSchema.nullable(),
|
|
27330
|
+
chosen: DeviceModelChoiceSchema.nullable(),
|
|
27331
|
+
reasons: array(RecommendationReasonSchema).readonly()
|
|
27332
|
+
});
|
|
27333
|
+
var NodeRecommendationSchema = object({
|
|
27334
|
+
nodeId: string(),
|
|
27335
|
+
reachable: boolean(),
|
|
27336
|
+
hardwareClass: HardwareClassIdSchema.nullable(),
|
|
27337
|
+
cpuModel: string().nullable(),
|
|
27338
|
+
skipped: boolean(),
|
|
27339
|
+
acceleratorModelId: string().nullable(),
|
|
27340
|
+
devices: array(DeviceRecommendationSchema).readonly(),
|
|
27341
|
+
reasons: array(RecommendationReasonSchema).readonly()
|
|
27342
|
+
});
|
|
27343
|
+
var ModelPinChangeSchema = object({
|
|
27344
|
+
stepId: string(),
|
|
27345
|
+
before: string().nullable(),
|
|
27346
|
+
after: string().nullable()
|
|
27347
|
+
});
|
|
27348
|
+
var NodeDeviceChangeSchema = object({
|
|
27349
|
+
nodeId: string(),
|
|
27350
|
+
deviceKey: string(),
|
|
27351
|
+
madeExplicit: boolean(),
|
|
27352
|
+
modelPins: array(ModelPinChangeSchema).readonly(),
|
|
27353
|
+
thresholds: array(object({
|
|
27354
|
+
stepId: string(),
|
|
27355
|
+
keys: array(string()).readonly()
|
|
27356
|
+
})).readonly()
|
|
27357
|
+
});
|
|
27358
|
+
var CameraOverrideClearSchema = object({
|
|
27359
|
+
deviceId: number(),
|
|
27360
|
+
source: _enum(["step-override", "wholesale"]),
|
|
27361
|
+
nodeId: string(),
|
|
27362
|
+
deviceKey: string().nullable(),
|
|
27363
|
+
stepId: string(),
|
|
27364
|
+
modelIdBefore: string().nullable(),
|
|
27365
|
+
keys: array(string()).readonly()
|
|
27366
|
+
});
|
|
27367
|
+
var DetectorStoreClearSchema = object({
|
|
27368
|
+
deviceId: number(),
|
|
27369
|
+
keys: array(string()).readonly()
|
|
27370
|
+
});
|
|
27371
|
+
var BestSettingsWarningSchema = discriminatedUnion("kind", [
|
|
27372
|
+
object({
|
|
27373
|
+
kind: literal("detector-store-cluster-wide"),
|
|
27374
|
+
skippedNodes: array(string()).readonly()
|
|
27375
|
+
}),
|
|
27376
|
+
object({
|
|
27377
|
+
kind: literal("detector-store-unreadable"),
|
|
27378
|
+
error: string()
|
|
27379
|
+
}),
|
|
27380
|
+
object({
|
|
27381
|
+
kind: literal("coral-enabled"),
|
|
27382
|
+
nodeId: string(),
|
|
27383
|
+
deviceKey: string()
|
|
27384
|
+
})
|
|
27385
|
+
]);
|
|
27386
|
+
var BestSettingsOptionsSchema = object({
|
|
27387
|
+
/** Share of each accelerator's throughput kept free (0.3–0.5). */
|
|
27388
|
+
headroom: number().min(.3).max(.5).default(.4) });
|
|
27389
|
+
var BestSettingsPlanSchema = object({
|
|
27390
|
+
/** Hash of everything the apply will write — the apply refuses a different one. */
|
|
27391
|
+
planHash: string(),
|
|
27392
|
+
family: literal("yolov9"),
|
|
27393
|
+
headroom: number(),
|
|
27394
|
+
generatedAt: number(),
|
|
27395
|
+
nodes: array(NodeRecommendationSchema).readonly(),
|
|
27396
|
+
nodeChanges: array(NodeDeviceChangeSchema).readonly(),
|
|
27397
|
+
cameraClears: array(CameraOverrideClearSchema).readonly(),
|
|
27398
|
+
detectorStoreClears: array(DetectorStoreClearSchema).readonly(),
|
|
27399
|
+
warnings: array(BestSettingsWarningSchema).readonly()
|
|
27400
|
+
});
|
|
27401
|
+
var BestSettingsApplyInputSchema = object({
|
|
27402
|
+
planHash: string(),
|
|
27403
|
+
headroom: number().min(.3).max(.5).default(.4)
|
|
27404
|
+
});
|
|
27405
|
+
var BestSettingsPhaseResultSchema = object({
|
|
27406
|
+
phase: _enum([
|
|
27407
|
+
"download",
|
|
27408
|
+
"camera-overrides",
|
|
27409
|
+
"detector-thresholds",
|
|
27410
|
+
"node-models",
|
|
27411
|
+
"redispatch"
|
|
27412
|
+
]),
|
|
27413
|
+
ok: boolean(),
|
|
27414
|
+
detail: string()
|
|
27415
|
+
});
|
|
27416
|
+
var BestSettingsApplyResultSchema = discriminatedUnion("kind", [
|
|
27417
|
+
object({
|
|
27418
|
+
kind: literal("applied"),
|
|
27419
|
+
planHash: string(),
|
|
27420
|
+
phases: array(BestSettingsPhaseResultSchema).readonly()
|
|
27421
|
+
}),
|
|
27422
|
+
object({
|
|
27423
|
+
kind: literal("aborted"),
|
|
27424
|
+
phases: array(BestSettingsPhaseResultSchema).readonly()
|
|
27425
|
+
}),
|
|
27426
|
+
object({
|
|
27427
|
+
kind: literal("stale"),
|
|
27428
|
+
plan: BestSettingsPlanSchema
|
|
27429
|
+
}),
|
|
27430
|
+
object({
|
|
27431
|
+
kind: literal("refused"),
|
|
27432
|
+
reason: _enum(["apply-in-progress"])
|
|
27433
|
+
})
|
|
27434
|
+
]);
|
|
27180
27435
|
object({
|
|
27181
27436
|
activeCameras: number(),
|
|
27182
27437
|
throttledCameras: number(),
|
|
@@ -29095,6 +29350,9 @@ method(object({
|
|
|
29095
29350
|
}), {
|
|
29096
29351
|
kind: "mutation",
|
|
29097
29352
|
auth: "admin"
|
|
29353
|
+
}), method(BestSettingsOptionsSchema, BestSettingsPlanSchema, { auth: "admin" }), method(BestSettingsApplyInputSchema, BestSettingsApplyResultSchema, {
|
|
29354
|
+
kind: "mutation",
|
|
29355
|
+
auth: "admin"
|
|
29098
29356
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
29099
29357
|
deviceId: number(),
|
|
29100
29358
|
addonId: string(),
|
|
@@ -41168,6 +41426,8 @@ Object.freeze({
|
|
|
41168
41426
|
vehicle: .65,
|
|
41169
41427
|
animal: .65
|
|
41170
41428
|
});
|
|
41429
|
+
var HF_REPO = "camstack/camstack-models";
|
|
41430
|
+
`${HF_REPO}`;
|
|
41171
41431
|
/**
|
|
41172
41432
|
* Accessory device helpers — shared across drivers.
|
|
41173
41433
|
*
|
|
@@ -45704,6 +45964,12 @@ Object.freeze({
|
|
|
45704
45964
|
addonId: null,
|
|
45705
45965
|
access: "delete"
|
|
45706
45966
|
},
|
|
45967
|
+
"pipelineExecutor.clearModelBoundDeviceOverrides": {
|
|
45968
|
+
capName: "pipeline-executor",
|
|
45969
|
+
capScope: "system",
|
|
45970
|
+
addonId: null,
|
|
45971
|
+
access: "delete"
|
|
45972
|
+
},
|
|
45707
45973
|
"pipelineExecutor.deleteModel": {
|
|
45708
45974
|
capName: "pipeline-executor",
|
|
45709
45975
|
capScope: "system",
|
|
@@ -45920,6 +46186,12 @@ Object.freeze({
|
|
|
45920
46186
|
addonId: null,
|
|
45921
46187
|
access: "view"
|
|
45922
46188
|
},
|
|
46189
|
+
"pipelineOrchestrator.applyBestSettings": {
|
|
46190
|
+
capName: "pipeline-orchestrator",
|
|
46191
|
+
capScope: "system",
|
|
46192
|
+
addonId: null,
|
|
46193
|
+
access: "create"
|
|
46194
|
+
},
|
|
45923
46195
|
"pipelineOrchestrator.applyDeviceSettingsPatch": {
|
|
45924
46196
|
capName: "pipeline-orchestrator",
|
|
45925
46197
|
capScope: "system",
|
|
@@ -46094,6 +46366,12 @@ Object.freeze({
|
|
|
46094
46366
|
addonId: null,
|
|
46095
46367
|
access: "create"
|
|
46096
46368
|
},
|
|
46369
|
+
"pipelineOrchestrator.planBestSettings": {
|
|
46370
|
+
capName: "pipeline-orchestrator",
|
|
46371
|
+
capScope: "system",
|
|
46372
|
+
addonId: null,
|
|
46373
|
+
access: "view"
|
|
46374
|
+
},
|
|
46097
46375
|
"pipelineOrchestrator.rebalance": {
|
|
46098
46376
|
capName: "pipeline-orchestrator",
|
|
46099
46377
|
capScope: "system",
|
|
@@ -51516,6 +51794,11 @@ Object.freeze({
|
|
|
51516
51794
|
form: "single",
|
|
51517
51795
|
optional: false
|
|
51518
51796
|
}],
|
|
51797
|
+
"pipelineExecutor.clearModelBoundDeviceOverrides": [{
|
|
51798
|
+
name: "deviceIds",
|
|
51799
|
+
form: "array",
|
|
51800
|
+
optional: true
|
|
51801
|
+
}],
|
|
51519
51802
|
"pipelineExecutor.runPipeline": [{
|
|
51520
51803
|
name: "deviceId",
|
|
51521
51804
|
form: "single",
|
|
@@ -53422,41 +53705,6 @@ function stepModelRunsOnFormat(models, modelId, format) {
|
|
|
53422
53705
|
}
|
|
53423
53706
|
return models.some((m) => m.legacy !== true && hasBuild(m, format));
|
|
53424
53707
|
}
|
|
53425
|
-
/**
|
|
53426
|
-
* Model-bound step settings (D738): an operator value that is only meaningful
|
|
53427
|
-
* for ONE model, stored together with that model's id.
|
|
53428
|
-
*
|
|
53429
|
-
* The per-class confidence floors are the case it exists for. A score is a
|
|
53430
|
-
* property of one detector's output scale — on this hub the median score of a
|
|
53431
|
-
* correct person was 0.78 on `yolov9m-320-int8`, 0.68 on `yolo26s-320-int8`,
|
|
53432
|
-
* 0.40 on `yolo26n-320-int8` and 0.89 on `yolo26s` (640) — so a floor tuned on
|
|
53433
|
-
* one model is wrong on the next. The DEFAULT of such a field belongs to the
|
|
53434
|
-
* model (the catalog entry); an operator OVERRIDE belongs to the model it was
|
|
53435
|
-
* made for.
|
|
53436
|
-
*
|
|
53437
|
-
* The binding is checked at READ time against the model that RUNS, never
|
|
53438
|
-
* enforced by a write on the model-change path: a model can change without any
|
|
53439
|
-
* operator write at all (an unpinned root follows the elected device's
|
|
53440
|
-
* hardware-aware default, D736), and an event-driven reset could be dropped
|
|
53441
|
-
* (events are telemetry, D8/D11). So:
|
|
53442
|
-
*
|
|
53443
|
-
* effective = override when the stored binding names the running model
|
|
53444
|
-
* | override when no binding is stored (a legacy / programmatic
|
|
53445
|
-
* value — it applies to whatever runs, as before D738)
|
|
53446
|
-
* | the running model's default, when it declares one
|
|
53447
|
-
* | the field's global default.
|
|
53448
|
-
*
|
|
53449
|
-
* Storage shape: the value stays a plain number under its own key (every
|
|
53450
|
-
* reader of the raw settings bag keeps working), and the binding is a SIBLING
|
|
53451
|
-
* key, {@link modelBindingKey}. Both are flat so the shallow per-key merges of
|
|
53452
|
-
* the settings layers (node fold, camera override) carry a value and its
|
|
53453
|
-
* binding together whenever one layer writes both — which every writer here
|
|
53454
|
-
* does.
|
|
53455
|
-
*
|
|
53456
|
-
* Lives in the bare `@camstack/types` entry, which every addon bundles, so the
|
|
53457
|
-
* runner (`addon-pipeline`) and the editors (`ui-library`, `addon-admin-ui`)
|
|
53458
|
-
* apply the same rule.
|
|
53459
|
-
*/
|
|
53460
53708
|
/** Suffix of the sibling key that names the model a stored value was made for. */
|
|
53461
53709
|
var MODEL_BINDING_SUFFIX = "ModelId";
|
|
53462
53710
|
/** `minConfidencePerson` → `minConfidencePersonModelId`. */
|
|
@@ -53516,6 +53764,17 @@ function applyModelBoundSettings(settings, boundKeys, runningModelId) {
|
|
|
53516
53764
|
}
|
|
53517
53765
|
return out;
|
|
53518
53766
|
}
|
|
53767
|
+
/**
|
|
53768
|
+
* The keys of every `bindsToModel` field of a step's config schema, groups
|
|
53769
|
+
* flattened (D738). One definition for the runner (which applies the binding)
|
|
53770
|
+
* and the orchestrator's Best settings (which clears those overrides, D745).
|
|
53771
|
+
*/
|
|
53772
|
+
function collectModelBoundKeys(fields) {
|
|
53773
|
+
return fields.flatMap((field) => {
|
|
53774
|
+
if (field.type === "group") return collectModelBoundKeys(field.fields);
|
|
53775
|
+
return "key" in field && "bindsToModel" in field && field.bindsToModel === true ? [field.key] : [];
|
|
53776
|
+
});
|
|
53777
|
+
}
|
|
53519
53778
|
/** Side of the square, as a multiple of the face box's longer side. */
|
|
53520
53779
|
var ROOT_FACE_REFINE_SCALE = 1.6;
|
|
53521
53780
|
/**
|
|
@@ -54950,6 +55209,12 @@ Object.defineProperty(exports, "G711_SCALE_CORRECTION_DB", {
|
|
|
54950
55209
|
return G711_SCALE_CORRECTION_DB;
|
|
54951
55210
|
}
|
|
54952
55211
|
});
|
|
55212
|
+
Object.defineProperty(exports, "HF_REPO", {
|
|
55213
|
+
enumerable: true,
|
|
55214
|
+
get: function() {
|
|
55215
|
+
return HF_REPO;
|
|
55216
|
+
}
|
|
55217
|
+
});
|
|
54953
55218
|
Object.defineProperty(exports, "LABEL_SUPPLY_MACRO", {
|
|
54954
55219
|
enumerable: true,
|
|
54955
55220
|
get: function() {
|
|
@@ -55154,6 +55419,12 @@ Object.defineProperty(exports, "clipExportFailureOf", {
|
|
|
55154
55419
|
return clipExportFailureOf;
|
|
55155
55420
|
}
|
|
55156
55421
|
});
|
|
55422
|
+
Object.defineProperty(exports, "collectModelBoundKeys", {
|
|
55423
|
+
enumerable: true,
|
|
55424
|
+
get: function() {
|
|
55425
|
+
return collectModelBoundKeys;
|
|
55426
|
+
}
|
|
55427
|
+
});
|
|
55157
55428
|
Object.defineProperty(exports, "containingParentIndex", {
|
|
55158
55429
|
enumerable: true,
|
|
55159
55430
|
get: function() {
|
|
@@ -55460,6 +55731,12 @@ Object.defineProperty(exports, "modeMayWrite", {
|
|
|
55460
55731
|
return modeMayWrite;
|
|
55461
55732
|
}
|
|
55462
55733
|
});
|
|
55734
|
+
Object.defineProperty(exports, "modelBindingKey", {
|
|
55735
|
+
enumerable: true,
|
|
55736
|
+
get: function() {
|
|
55737
|
+
return modelBindingKey;
|
|
55738
|
+
}
|
|
55739
|
+
});
|
|
55463
55740
|
Object.defineProperty(exports, "motionDetectionCapability", {
|
|
55464
55741
|
enumerable: true,
|
|
55465
55742
|
get: function() {
|