@camstack/system 1.2.365 → 1.2.366
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-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-C0m_Q3S1.js → child-cap-dispatch-D9uoEW2A.js} +1 -1
- package/dist/{child-cap-dispatch-DVawueyL.mjs → child-cap-dispatch-tHbRfy_7.mjs} +1 -1
- package/dist/{composition-sources-BYZglxTf.js → composition-sources-AHfMboGi.js} +1 -1
- package/dist/{composition-sources-BMsVkvaT.mjs → composition-sources-GjJ1QxMC.mjs} +1 -1
- package/dist/{dist-BIGk6VLF.mjs → dist-BUfYKaXx.mjs} +307 -8
- package/dist/{dist-B22ObVxi.js → dist-ub3muPSW.js} +307 -8
- package/dist/{event-loop-stall-monitor-DxiaIssh.mjs → event-loop-stall-monitor-CPI1xIcd.mjs} +1 -1
- package/dist/{event-loop-stall-monitor-B687EIFo.js → event-loop-stall-monitor-j0DRBkuI.js} +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +3 -3
- package/dist/{retired-settings-keys-C8F8g0Oz.js → retired-settings-keys-DNCxYHe1.js} +1 -1
- package/dist/{retired-settings-keys-C149_dvi.mjs → retired-settings-keys-Du41eTrH.mjs} +1 -1
- package/package.json +1 -1
|
@@ -7930,6 +7930,40 @@ var ModelFormatEntrySchema = z.object({
|
|
|
7930
7930
|
revision: z.string().min(1).optional()
|
|
7931
7931
|
});
|
|
7932
7932
|
/**
|
|
7933
|
+
* What a node holds for one (model, format) (D746). `current` is a complete
|
|
7934
|
+
* copy at its catalog revision — exactly what `downloaded: true` means.
|
|
7935
|
+
* `stale` is bytes on disk that are not (yet) proven current under D743/D744:
|
|
7936
|
+
* no or a different revision record, or a missing sibling. `missing` is no
|
|
7937
|
+
* copy. `downloaded` alone folds `stale` into "not downloaded", which hid
|
|
7938
|
+
* reclaimable bytes and a copy about to be replaced.
|
|
7939
|
+
*/
|
|
7940
|
+
var ModelOnDiskStateSchema = z.enum([
|
|
7941
|
+
"current",
|
|
7942
|
+
"stale",
|
|
7943
|
+
"missing"
|
|
7944
|
+
]);
|
|
7945
|
+
/**
|
|
7946
|
+
* The numeric precision of one format's BUILD (D746) — reported only when the
|
|
7947
|
+
* build states it (file-name token, an INT8 variant, an EdgeTPU compile, a
|
|
7948
|
+
* CamStack Core ML export). Absent means "not stated", never "fp32".
|
|
7949
|
+
*/
|
|
7950
|
+
var ModelFormatPrecisionSchema = z.enum([
|
|
7951
|
+
"fp32",
|
|
7952
|
+
"fp16",
|
|
7953
|
+
"int8"
|
|
7954
|
+
]);
|
|
7955
|
+
/**
|
|
7956
|
+
* One format of one model as a node's `pipelineExecutor.getSchema` reports it.
|
|
7957
|
+
* `onDisk` / `precision` are optional for version skew: a runner that predates
|
|
7958
|
+
* them omits them, and a reader falls back to `downloaded`.
|
|
7959
|
+
*/
|
|
7960
|
+
var PipelineModelFormatStatusSchema = z.object({
|
|
7961
|
+
downloaded: z.boolean(),
|
|
7962
|
+
sizeMB: z.number(),
|
|
7963
|
+
onDisk: ModelOnDiskStateSchema.optional(),
|
|
7964
|
+
precision: ModelFormatPrecisionSchema.optional()
|
|
7965
|
+
});
|
|
7966
|
+
/**
|
|
7933
7967
|
* Extra file that must be downloaded alongside the model (e.g., labels JSON, dict.txt).
|
|
7934
7968
|
* The downloader fetches from `url` and saves to `{modelsDir}/{filename}`.
|
|
7935
7969
|
*/
|
|
@@ -25969,7 +26003,7 @@ var FrameRefSchema = z.object({
|
|
|
25969
26003
|
timestamp: z.number(),
|
|
25970
26004
|
capturedAt: z.number().optional()
|
|
25971
26005
|
});
|
|
25972
|
-
var ModelFormatSchema$
|
|
26006
|
+
var ModelFormatSchema$2 = z.enum([
|
|
25973
26007
|
"onnx",
|
|
25974
26008
|
"coreml",
|
|
25975
26009
|
"openvino",
|
|
@@ -25987,7 +26021,7 @@ var PipelineSlotSchema = z.enum([
|
|
|
25987
26021
|
var PipelineEngineChoiceSchema = z.object({
|
|
25988
26022
|
runtime: z.literal("python"),
|
|
25989
26023
|
backend: z.string(),
|
|
25990
|
-
format: ModelFormatSchema$
|
|
26024
|
+
format: ModelFormatSchema$2,
|
|
25991
26025
|
device: z.string().optional()
|
|
25992
26026
|
});
|
|
25993
26027
|
/**
|
|
@@ -26045,10 +26079,7 @@ var PipelineTemplateSchema$1 = z.object({
|
|
|
26045
26079
|
var PipelineModelOptionSchema = z.object({
|
|
26046
26080
|
id: z.string(),
|
|
26047
26081
|
name: z.string(),
|
|
26048
|
-
formats: z.record(z.string(),
|
|
26049
|
-
downloaded: z.boolean(),
|
|
26050
|
-
sizeMB: z.number()
|
|
26051
|
-
})),
|
|
26082
|
+
formats: z.record(z.string(), PipelineModelFormatStatusSchema),
|
|
26052
26083
|
group: ModelVariantGroupSchema.optional(),
|
|
26053
26084
|
legacy: z.boolean().optional(),
|
|
26054
26085
|
provider: ModelProviderIdSchema.optional(),
|
|
@@ -26263,6 +26294,32 @@ var pipelineExecutorCapability = {
|
|
|
26263
26294
|
auth: "admin"
|
|
26264
26295
|
}),
|
|
26265
26296
|
/**
|
|
26297
|
+
* Best settings (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
|
|
26298
|
+
* the object-detection root, and their binding keys) stored in THIS node's
|
|
26299
|
+
* per-camera detector settings — and, unless `dryRun`, remove them so the
|
|
26300
|
+
* running model's own defaults apply. Every other key of a camera's store
|
|
26301
|
+
* is kept. `nodeId` is the ROUTING key. `deviceIds` absent ⇒ every camera
|
|
26302
|
+
* with a store. A camera whose store could not be read is `refused`, never
|
|
26303
|
+
* reported as clean.
|
|
26304
|
+
*/
|
|
26305
|
+
clearModelBoundDeviceOverrides: method(z.object({
|
|
26306
|
+
nodeId: z.string(),
|
|
26307
|
+
deviceIds: z.array(z.number()).readonly().optional(),
|
|
26308
|
+
dryRun: z.boolean()
|
|
26309
|
+
}), z.object({
|
|
26310
|
+
entries: z.array(z.object({
|
|
26311
|
+
deviceId: z.number(),
|
|
26312
|
+
keys: z.array(z.string()).readonly()
|
|
26313
|
+
})).readonly(),
|
|
26314
|
+
refused: z.array(z.object({
|
|
26315
|
+
deviceId: z.number(),
|
|
26316
|
+
reason: z.string()
|
|
26317
|
+
})).readonly()
|
|
26318
|
+
}), {
|
|
26319
|
+
kind: "mutation",
|
|
26320
|
+
auth: "admin"
|
|
26321
|
+
}),
|
|
26322
|
+
/**
|
|
26266
26323
|
* Which of THIS node's inference devices the executor currently refuses,
|
|
26267
26324
|
* and why. `nodeId` is the ROUTING key (stripped by the generated router).
|
|
26268
26325
|
*
|
|
@@ -26357,12 +26414,12 @@ var pipelineExecutorCapability = {
|
|
|
26357
26414
|
downloadModel: method(z.object({
|
|
26358
26415
|
addonId: z.string(),
|
|
26359
26416
|
modelId: z.string(),
|
|
26360
|
-
format: ModelFormatSchema$
|
|
26417
|
+
format: ModelFormatSchema$2
|
|
26361
26418
|
}), DownloadModelResultSchema, { kind: "mutation" }),
|
|
26362
26419
|
deleteModel: method(z.object({
|
|
26363
26420
|
addonId: z.string(),
|
|
26364
26421
|
modelId: z.string(),
|
|
26365
|
-
format: ModelFormatSchema$
|
|
26422
|
+
format: ModelFormatSchema$2
|
|
26366
26423
|
}), z.object({ success: z.literal(true) }), { kind: "mutation" }),
|
|
26367
26424
|
/**
|
|
26368
26425
|
* Stateless single-frame execution. Callers (runner, benchmark) pass
|
|
@@ -26608,6 +26665,204 @@ var pipelineExecutorCapability = {
|
|
|
26608
26665
|
getDetectionConfigSchema: method(z.void(), ConfigUISchemaNullableBridge)
|
|
26609
26666
|
}
|
|
26610
26667
|
};
|
|
26668
|
+
/**
|
|
26669
|
+
* The wire shapes of the Best settings plan and apply (D745), used by the
|
|
26670
|
+
* `pipeline-orchestrator` cap. The recommender's own types
|
|
26671
|
+
* (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
|
|
26672
|
+
* schemas are what crosses the cap boundary.
|
|
26673
|
+
*/
|
|
26674
|
+
var ModelFormatSchema$1 = z.enum(MODEL_FORMATS);
|
|
26675
|
+
var HardwareClassIdSchema = z.enum([
|
|
26676
|
+
"intel-core-ultra",
|
|
26677
|
+
"intel-n-series",
|
|
26678
|
+
"apple-m-base",
|
|
26679
|
+
"apple-m-pro",
|
|
26680
|
+
"unknown"
|
|
26681
|
+
]);
|
|
26682
|
+
var AcceleratorKindSchema = z.enum([
|
|
26683
|
+
"intel-npu",
|
|
26684
|
+
"intel-igpu",
|
|
26685
|
+
"x86-cpu",
|
|
26686
|
+
"arm-cpu",
|
|
26687
|
+
"apple-ane",
|
|
26688
|
+
"coral"
|
|
26689
|
+
]);
|
|
26690
|
+
var RecommendationReasonSchema = z.discriminatedUnion("kind", [
|
|
26691
|
+
z.object({
|
|
26692
|
+
kind: z.literal("fits"),
|
|
26693
|
+
utilisation: z.number()
|
|
26694
|
+
}),
|
|
26695
|
+
z.object({
|
|
26696
|
+
kind: z.literal("tie-faster"),
|
|
26697
|
+
over: z.string(),
|
|
26698
|
+
recallDelta: z.number()
|
|
26699
|
+
}),
|
|
26700
|
+
z.object({
|
|
26701
|
+
kind: z.literal("stepped-down"),
|
|
26702
|
+
from: z.string(),
|
|
26703
|
+
to: z.string(),
|
|
26704
|
+
limitedBy: z.string()
|
|
26705
|
+
}),
|
|
26706
|
+
z.object({
|
|
26707
|
+
kind: z.literal("no-fit-lightest"),
|
|
26708
|
+
utilisation: z.number()
|
|
26709
|
+
}),
|
|
26710
|
+
z.object({
|
|
26711
|
+
kind: z.literal("derived-latency"),
|
|
26712
|
+
modelId: z.string()
|
|
26713
|
+
}),
|
|
26714
|
+
z.object({
|
|
26715
|
+
kind: z.literal("estimated-load"),
|
|
26716
|
+
observedForMs: z.number().nullable()
|
|
26717
|
+
}),
|
|
26718
|
+
z.object({ kind: z.literal("cpu-device") }),
|
|
26719
|
+
z.object({ kind: z.literal("coral-untouched") }),
|
|
26720
|
+
z.object({ kind: z.literal("device-disabled") }),
|
|
26721
|
+
z.object({ kind: z.literal("device-unavailable") }),
|
|
26722
|
+
z.object({ kind: z.literal("node-offline") }),
|
|
26723
|
+
z.object({ kind: z.literal("no-hardware-facts") }),
|
|
26724
|
+
z.object({
|
|
26725
|
+
kind: z.literal("no-measured-data"),
|
|
26726
|
+
hardwareClass: HardwareClassIdSchema
|
|
26727
|
+
}),
|
|
26728
|
+
z.object({
|
|
26729
|
+
kind: z.literal("no-family-build"),
|
|
26730
|
+
format: ModelFormatSchema$1
|
|
26731
|
+
})
|
|
26732
|
+
]);
|
|
26733
|
+
var DeviceDemandSchema = z.object({
|
|
26734
|
+
nodeId: z.string(),
|
|
26735
|
+
deviceKey: z.string(),
|
|
26736
|
+
demandFps: z.number(),
|
|
26737
|
+
maxCameraFps: z.number(),
|
|
26738
|
+
alwaysOnCameras: z.number(),
|
|
26739
|
+
onMotionSessions: z.number(),
|
|
26740
|
+
onMotionSource: z.enum([
|
|
26741
|
+
"observed-24h",
|
|
26742
|
+
"estimate",
|
|
26743
|
+
"none"
|
|
26744
|
+
]),
|
|
26745
|
+
observedForMs: z.number().nullable()
|
|
26746
|
+
});
|
|
26747
|
+
var DeviceModelChoiceSchema = z.object({
|
|
26748
|
+
modelId: z.string(),
|
|
26749
|
+
p50Ms: z.number(),
|
|
26750
|
+
fps: z.number(),
|
|
26751
|
+
measured: z.boolean(),
|
|
26752
|
+
utilisation: z.number(),
|
|
26753
|
+
personRecall: z.number()
|
|
26754
|
+
});
|
|
26755
|
+
var DeviceRecommendationSchema = z.object({
|
|
26756
|
+
deviceKey: z.string(),
|
|
26757
|
+
accelerator: AcceleratorKindSchema.nullable(),
|
|
26758
|
+
enabled: z.boolean(),
|
|
26759
|
+
available: z.boolean(),
|
|
26760
|
+
demand: DeviceDemandSchema.nullable(),
|
|
26761
|
+
chosen: DeviceModelChoiceSchema.nullable(),
|
|
26762
|
+
reasons: z.array(RecommendationReasonSchema).readonly()
|
|
26763
|
+
});
|
|
26764
|
+
var NodeRecommendationSchema = z.object({
|
|
26765
|
+
nodeId: z.string(),
|
|
26766
|
+
reachable: z.boolean(),
|
|
26767
|
+
hardwareClass: HardwareClassIdSchema.nullable(),
|
|
26768
|
+
cpuModel: z.string().nullable(),
|
|
26769
|
+
skipped: z.boolean(),
|
|
26770
|
+
acceleratorModelId: z.string().nullable(),
|
|
26771
|
+
devices: z.array(DeviceRecommendationSchema).readonly(),
|
|
26772
|
+
reasons: z.array(RecommendationReasonSchema).readonly()
|
|
26773
|
+
});
|
|
26774
|
+
var ModelPinChangeSchema = z.object({
|
|
26775
|
+
stepId: z.string(),
|
|
26776
|
+
before: z.string().nullable(),
|
|
26777
|
+
after: z.string().nullable()
|
|
26778
|
+
});
|
|
26779
|
+
var NodeDeviceChangeSchema = z.object({
|
|
26780
|
+
nodeId: z.string(),
|
|
26781
|
+
deviceKey: z.string(),
|
|
26782
|
+
madeExplicit: z.boolean(),
|
|
26783
|
+
modelPins: z.array(ModelPinChangeSchema).readonly(),
|
|
26784
|
+
thresholds: z.array(z.object({
|
|
26785
|
+
stepId: z.string(),
|
|
26786
|
+
keys: z.array(z.string()).readonly()
|
|
26787
|
+
})).readonly()
|
|
26788
|
+
});
|
|
26789
|
+
var CameraOverrideClearSchema = z.object({
|
|
26790
|
+
deviceId: z.number(),
|
|
26791
|
+
source: z.enum(["step-override", "wholesale"]),
|
|
26792
|
+
nodeId: z.string(),
|
|
26793
|
+
deviceKey: z.string().nullable(),
|
|
26794
|
+
stepId: z.string(),
|
|
26795
|
+
modelIdBefore: z.string().nullable(),
|
|
26796
|
+
keys: z.array(z.string()).readonly()
|
|
26797
|
+
});
|
|
26798
|
+
var DetectorStoreClearSchema = z.object({
|
|
26799
|
+
deviceId: z.number(),
|
|
26800
|
+
keys: z.array(z.string()).readonly()
|
|
26801
|
+
});
|
|
26802
|
+
var BestSettingsWarningSchema = z.discriminatedUnion("kind", [
|
|
26803
|
+
z.object({
|
|
26804
|
+
kind: z.literal("detector-store-cluster-wide"),
|
|
26805
|
+
skippedNodes: z.array(z.string()).readonly()
|
|
26806
|
+
}),
|
|
26807
|
+
z.object({
|
|
26808
|
+
kind: z.literal("detector-store-unreadable"),
|
|
26809
|
+
error: z.string()
|
|
26810
|
+
}),
|
|
26811
|
+
z.object({
|
|
26812
|
+
kind: z.literal("coral-enabled"),
|
|
26813
|
+
nodeId: z.string(),
|
|
26814
|
+
deviceKey: z.string()
|
|
26815
|
+
})
|
|
26816
|
+
]);
|
|
26817
|
+
var BestSettingsOptionsSchema = z.object({
|
|
26818
|
+
/** Share of each accelerator's throughput kept free (0.3–0.5). */
|
|
26819
|
+
headroom: z.number().min(.3).max(.5).default(.4) });
|
|
26820
|
+
var BestSettingsPlanSchema = z.object({
|
|
26821
|
+
/** Hash of everything the apply will write — the apply refuses a different one. */
|
|
26822
|
+
planHash: z.string(),
|
|
26823
|
+
family: z.literal("yolov9"),
|
|
26824
|
+
headroom: z.number(),
|
|
26825
|
+
generatedAt: z.number(),
|
|
26826
|
+
nodes: z.array(NodeRecommendationSchema).readonly(),
|
|
26827
|
+
nodeChanges: z.array(NodeDeviceChangeSchema).readonly(),
|
|
26828
|
+
cameraClears: z.array(CameraOverrideClearSchema).readonly(),
|
|
26829
|
+
detectorStoreClears: z.array(DetectorStoreClearSchema).readonly(),
|
|
26830
|
+
warnings: z.array(BestSettingsWarningSchema).readonly()
|
|
26831
|
+
});
|
|
26832
|
+
var BestSettingsApplyInputSchema = z.object({
|
|
26833
|
+
planHash: z.string(),
|
|
26834
|
+
headroom: z.number().min(.3).max(.5).default(.4)
|
|
26835
|
+
});
|
|
26836
|
+
var BestSettingsPhaseResultSchema = z.object({
|
|
26837
|
+
phase: z.enum([
|
|
26838
|
+
"download",
|
|
26839
|
+
"camera-overrides",
|
|
26840
|
+
"detector-thresholds",
|
|
26841
|
+
"node-models",
|
|
26842
|
+
"redispatch"
|
|
26843
|
+
]),
|
|
26844
|
+
ok: z.boolean(),
|
|
26845
|
+
detail: z.string()
|
|
26846
|
+
});
|
|
26847
|
+
var BestSettingsApplyResultSchema = z.discriminatedUnion("kind", [
|
|
26848
|
+
z.object({
|
|
26849
|
+
kind: z.literal("applied"),
|
|
26850
|
+
planHash: z.string(),
|
|
26851
|
+
phases: z.array(BestSettingsPhaseResultSchema).readonly()
|
|
26852
|
+
}),
|
|
26853
|
+
z.object({
|
|
26854
|
+
kind: z.literal("aborted"),
|
|
26855
|
+
phases: z.array(BestSettingsPhaseResultSchema).readonly()
|
|
26856
|
+
}),
|
|
26857
|
+
z.object({
|
|
26858
|
+
kind: z.literal("stale"),
|
|
26859
|
+
plan: BestSettingsPlanSchema
|
|
26860
|
+
}),
|
|
26861
|
+
z.object({
|
|
26862
|
+
kind: z.literal("refused"),
|
|
26863
|
+
reason: z.enum(["apply-in-progress"])
|
|
26864
|
+
})
|
|
26865
|
+
]);
|
|
26611
26866
|
z.object({
|
|
26612
26867
|
activeCameras: z.number(),
|
|
26613
26868
|
throttledCameras: z.number(),
|
|
@@ -28828,6 +29083,27 @@ var pipelineOrchestratorCapability = {
|
|
|
28828
29083
|
kind: "mutation",
|
|
28829
29084
|
auth: "admin"
|
|
28830
29085
|
}),
|
|
29086
|
+
/**
|
|
29087
|
+
* Best settings (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
|
|
29088
|
+
* for the whole cluster from each node's static hardware class, the
|
|
29089
|
+
* measured latency table and the detection demand, and lists every write
|
|
29090
|
+
* the apply would make: the node model pins set, the enrichment pins and
|
|
29091
|
+
* model-bound thresholds removed (node level and per camera), and the
|
|
29092
|
+
* per-camera detector thresholds cleared. Writes nothing. Step
|
|
29093
|
+
* enablement, device enablement, pins, recording, notifications, zones and
|
|
29094
|
+
* rules are never part of it. `planHash` names exactly this diff.
|
|
29095
|
+
*/
|
|
29096
|
+
planBestSettings: method(BestSettingsOptionsSchema, BestSettingsPlanSchema, { auth: "admin" }),
|
|
29097
|
+
/**
|
|
29098
|
+
* Best settings (D745) — APPLY the plan the operator confirmed. Recomputes
|
|
29099
|
+
* the plan and refuses (`stale`, with the fresh plan) when its hash is not
|
|
29100
|
+
* `planHash`, so what is written is exactly the confirmed diff. Offline
|
|
29101
|
+
* nodes are skipped; there is no undo.
|
|
29102
|
+
*/
|
|
29103
|
+
applyBestSettings: method(BestSettingsApplyInputSchema, BestSettingsApplyResultSchema, {
|
|
29104
|
+
kind: "mutation",
|
|
29105
|
+
auth: "admin"
|
|
29106
|
+
}),
|
|
28831
29107
|
/** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
|
|
28832
29108
|
getCameraSettings: method(z.object({ deviceId: z.number() }), CameraPipelineSettingsSchema.nullable()),
|
|
28833
29109
|
/** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
|
|
@@ -51788,6 +52064,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
51788
52064
|
addonId: null,
|
|
51789
52065
|
access: "delete"
|
|
51790
52066
|
},
|
|
52067
|
+
"pipelineExecutor.clearModelBoundDeviceOverrides": {
|
|
52068
|
+
capName: "pipeline-executor",
|
|
52069
|
+
capScope: "system",
|
|
52070
|
+
addonId: null,
|
|
52071
|
+
access: "delete"
|
|
52072
|
+
},
|
|
51791
52073
|
"pipelineExecutor.deleteModel": {
|
|
51792
52074
|
capName: "pipeline-executor",
|
|
51793
52075
|
capScope: "system",
|
|
@@ -52004,6 +52286,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
52004
52286
|
addonId: null,
|
|
52005
52287
|
access: "view"
|
|
52006
52288
|
},
|
|
52289
|
+
"pipelineOrchestrator.applyBestSettings": {
|
|
52290
|
+
capName: "pipeline-orchestrator",
|
|
52291
|
+
capScope: "system",
|
|
52292
|
+
addonId: null,
|
|
52293
|
+
access: "create"
|
|
52294
|
+
},
|
|
52007
52295
|
"pipelineOrchestrator.applyDeviceSettingsPatch": {
|
|
52008
52296
|
capName: "pipeline-orchestrator",
|
|
52009
52297
|
capScope: "system",
|
|
@@ -52178,6 +52466,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
52178
52466
|
addonId: null,
|
|
52179
52467
|
access: "create"
|
|
52180
52468
|
},
|
|
52469
|
+
"pipelineOrchestrator.planBestSettings": {
|
|
52470
|
+
capName: "pipeline-orchestrator",
|
|
52471
|
+
capScope: "system",
|
|
52472
|
+
addonId: null,
|
|
52473
|
+
access: "view"
|
|
52474
|
+
},
|
|
52181
52475
|
"pipelineOrchestrator.rebalance": {
|
|
52182
52476
|
capName: "pipeline-orchestrator",
|
|
52183
52477
|
capScope: "system",
|
|
@@ -57855,6 +58149,11 @@ Object.freeze({
|
|
|
57855
58149
|
form: "single",
|
|
57856
58150
|
optional: false
|
|
57857
58151
|
}],
|
|
58152
|
+
"pipelineExecutor.clearModelBoundDeviceOverrides": [{
|
|
58153
|
+
name: "deviceIds",
|
|
58154
|
+
form: "array",
|
|
58155
|
+
optional: true
|
|
58156
|
+
}],
|
|
57858
58157
|
"pipelineExecutor.runPipeline": [{
|
|
57859
58158
|
name: "deviceId",
|
|
57860
58159
|
form: "single",
|