@camstack/types 1.1.56 → 1.1.58
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.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +0 -26
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +182 -32
- package/dist/capabilities/pipeline-runner.cap.d.ts +12 -0
- package/dist/generated/addon-api.d.ts +186 -88
- package/dist/generated/device-proxy.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +191 -49
- package/dist/index.mjs +190 -50
- package/dist/interfaces/pipeline-runner-capability.d.ts +22 -0
- package/dist/interfaces/platform.d.ts +2 -0
- package/dist/{sleep-D8ZkNoYz.mjs → sleep-BQ60XlE9.mjs} +2 -0
- package/dist/{sleep-CF-UWPp0.js → sleep-eVjOy4ev.js} +2 -0
- package/dist/types/agent-pipeline-settings.d.ts +41 -21
- package/dist/utils/runtime-mapping.d.ts +17 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-eVjOy4ev.js");
|
|
3
3
|
const require_event_category = require("./event-category-CGj9fI4L.js");
|
|
4
4
|
const require_enums = require("./enums.js");
|
|
5
5
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
@@ -1867,6 +1867,31 @@ var BACKEND_TO_FORMAT = {
|
|
|
1867
1867
|
openvino: "openvino"
|
|
1868
1868
|
};
|
|
1869
1869
|
/**
|
|
1870
|
+
* DEVICE-POOL backend → model format — the SSOT for the multi-device inference
|
|
1871
|
+
* DESCRIPTOR path (Python per-device pools), distinct from {@link BACKEND_TO_FORMAT}
|
|
1872
|
+
* above which is the legacy NODE runtime map (where `coreml → onnx` because
|
|
1873
|
+
* onnxruntime-node's CoreML EP loads `.onnx`). Here a device pool runs the
|
|
1874
|
+
* backend NATIVELY, so `coreml → coreml` and `edgetpu → tflite`. Consumed by
|
|
1875
|
+
* `resolveDeviceEngine` (addon-pipeline) and the orchestrator's
|
|
1876
|
+
* `parseDeviceKey`/`getNodeInferenceDevices` — the previously-duplicated
|
|
1877
|
+
* `BACKEND_FORMAT` maps (R3/node-F2). `cpu`/`cuda` floor to onnx.
|
|
1878
|
+
*/
|
|
1879
|
+
var DEVICE_BACKEND_TO_FORMAT = {
|
|
1880
|
+
openvino: "openvino",
|
|
1881
|
+
edgetpu: "tflite",
|
|
1882
|
+
coreml: "coreml",
|
|
1883
|
+
onnx: "onnx",
|
|
1884
|
+
cpu: "onnx",
|
|
1885
|
+
cuda: "onnx"
|
|
1886
|
+
};
|
|
1887
|
+
/**
|
|
1888
|
+
* Resolve a DEVICE-POOL backend to its model format via {@link DEVICE_BACKEND_TO_FORMAT},
|
|
1889
|
+
* flooring unknown backends to `onnx`. The single entry point both addons call.
|
|
1890
|
+
*/
|
|
1891
|
+
function deviceBackendToFormat(backend) {
|
|
1892
|
+
return DEVICE_BACKEND_TO_FORMAT[backend] ?? "onnx";
|
|
1893
|
+
}
|
|
1894
|
+
/**
|
|
1870
1895
|
* Map DetectionRuntime to ModelFormat.
|
|
1871
1896
|
* Used when the addon receives an explicit runtime (not 'auto').
|
|
1872
1897
|
*/
|
|
@@ -8072,20 +8097,6 @@ var pipelineExecutorCapability = {
|
|
|
8072
8097
|
getSelectedEngine: require_sleep.method(zod.z.void(), PipelineEngineChoiceSchema),
|
|
8073
8098
|
getDefaultSteps: require_sleep.method(PipelineEngineChoiceSchema, zod.z.array(PipelineDefaultStepSchema)),
|
|
8074
8099
|
/**
|
|
8075
|
-
* Re-run the platform probe for the inference engine and write the
|
|
8076
|
-
* detected runtime / backend / device back into the addon's own
|
|
8077
|
-
* global settings store. Returns the engine that was picked so the
|
|
8078
|
-
* UI can confirm without a second round-trip. Triggers the standard
|
|
8079
|
-
* `requiresRestart` auto-restart flow because all three fields are
|
|
8080
|
-
* marked restart-required. Replaces the legacy per-agent
|
|
8081
|
-
* `pipeline-orchestrator.reprobeAgentHwAccel` surface for the
|
|
8082
|
-
* engine dimension — each addon now owns its own probe.
|
|
8083
|
-
*/
|
|
8084
|
-
reprobeEngine: require_sleep.method(zod.z.void(), PipelineEngineChoiceSchema, {
|
|
8085
|
-
kind: "mutation",
|
|
8086
|
-
auth: "admin"
|
|
8087
|
-
}),
|
|
8088
|
-
/**
|
|
8089
8100
|
* Per-node detection-engine provisioning snapshot. Returns the live
|
|
8090
8101
|
* state of the lazy runtime-provisioning machine on `nodeId`
|
|
8091
8102
|
* (idle / installing / verifying / ready / failed). The UI pairs this
|
|
@@ -8877,6 +8888,19 @@ var RunnerLocalLoadSchema = zod.z.object({
|
|
|
8877
8888
|
avgInferenceTimeMs: zod.z.number(),
|
|
8878
8889
|
/** Total queue depth across motion + detection queues. */
|
|
8879
8890
|
queueDepthTotal: zod.z.number(),
|
|
8891
|
+
/**
|
|
8892
|
+
* Per-inference-device live load (multi-device C4). One entry per deviceKey
|
|
8893
|
+
* this runner currently has attached cameras on, so the orchestrator's second
|
|
8894
|
+
* `balance()` pass (over a node's devices) weights on real per-pool session
|
|
8895
|
+
* counts. Empty on single-device / pre-multi-device runners. `queueDepthTotal`
|
|
8896
|
+
* per device is 0 until the pool backlog gets a public accessor (follow-up).
|
|
8897
|
+
*/
|
|
8898
|
+
devices: zod.z.array(zod.z.object({
|
|
8899
|
+
deviceKey: zod.z.string(),
|
|
8900
|
+
backend: zod.z.string(),
|
|
8901
|
+
attachedCameras: zod.z.number(),
|
|
8902
|
+
queueDepthTotal: zod.z.number()
|
|
8903
|
+
})).default([]),
|
|
8880
8904
|
/** Hardware capability flags reported by this node. */
|
|
8881
8905
|
hardware: zod.z.object({
|
|
8882
8906
|
hasGpu: zod.z.boolean(),
|
|
@@ -13416,7 +13440,6 @@ function createSystemProxy(api) {
|
|
|
13416
13440
|
getAvailableEngines: (input) => dispatch("pipelineExecutor", "getAvailableEngines", "query", input),
|
|
13417
13441
|
getSelectedEngine: (input) => dispatch("pipelineExecutor", "getSelectedEngine", "query", input),
|
|
13418
13442
|
getDefaultSteps: (input) => dispatch("pipelineExecutor", "getDefaultSteps", "query", input),
|
|
13419
|
-
reprobeEngine: (input) => dispatch("pipelineExecutor", "reprobeEngine", "mutation", input),
|
|
13420
13443
|
getEngineProvisioning: (input) => dispatch("pipelineExecutor", "getEngineProvisioning", "query", input),
|
|
13421
13444
|
getVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "getVideoPipelineSteps", "query", input),
|
|
13422
13445
|
setVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "setVideoPipelineSteps", "mutation", input),
|
|
@@ -13460,12 +13483,13 @@ function createSystemProxy(api) {
|
|
|
13460
13483
|
getAudioNodeLoad: (input) => dispatch("pipelineOrchestrator", "getAudioNodeLoad", "query", input),
|
|
13461
13484
|
getAgentSettings: (input) => dispatch("pipelineOrchestrator", "getAgentSettings", "query", input),
|
|
13462
13485
|
listAgentSettings: (input) => dispatch("pipelineOrchestrator", "listAgentSettings", "query", input),
|
|
13463
|
-
setAgentAddonDefaults: (input) => dispatch("pipelineOrchestrator", "setAgentAddonDefaults", "mutation", input),
|
|
13464
13486
|
removeAgentSettings: (input) => dispatch("pipelineOrchestrator", "removeAgentSettings", "mutation", input),
|
|
13465
13487
|
setAgentMaxCameras: (input) => dispatch("pipelineOrchestrator", "setAgentMaxCameras", "mutation", input),
|
|
13466
13488
|
setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
|
|
13467
13489
|
setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
|
|
13468
13490
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
13491
|
+
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
13492
|
+
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
13469
13493
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
13470
13494
|
getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
|
|
13471
13495
|
listTemplates: (input) => dispatch("pipelineOrchestrator", "listTemplates", "query", input),
|
|
@@ -19543,13 +19567,11 @@ var PipelineTemplateSchema = zod.z.object({
|
|
|
19543
19567
|
createdAt: zod.z.string(),
|
|
19544
19568
|
updatedAt: zod.z.string()
|
|
19545
19569
|
});
|
|
19546
|
-
var
|
|
19547
|
-
enabled: zod.z.boolean(),
|
|
19570
|
+
var DeviceStepConfigSchema = zod.z.object({
|
|
19548
19571
|
modelId: zod.z.string().optional(),
|
|
19549
|
-
settings: zod.z.record(zod.z.string(), zod.z.unknown()).
|
|
19572
|
+
settings: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
19550
19573
|
});
|
|
19551
19574
|
var AgentPipelineSettingsSchema = zod.z.object({
|
|
19552
|
-
addonDefaults: zod.z.record(zod.z.string(), AgentAddonConfigSchema).readonly(),
|
|
19553
19575
|
maxCameras: zod.z.number().int().nonnegative().nullable().default(null),
|
|
19554
19576
|
/** Per-node detection weight (relative share for the quota balancer). */
|
|
19555
19577
|
detectWeight: zod.z.number().positive().optional(),
|
|
@@ -19576,13 +19598,18 @@ var AgentPipelineSettingsSchema = zod.z.object({
|
|
|
19576
19598
|
reachableHost: zod.z.string().optional(),
|
|
19577
19599
|
/**
|
|
19578
19600
|
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
19579
|
-
* weight}. Absent / all-disabled ⇒ the node's single default
|
|
19580
|
-
* (safe default); two+ enabled ⇒ the dispatcher balances
|
|
19581
|
-
* across them so they run CONCURRENTLY.
|
|
19601
|
+
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
19602
|
+
* accelerator (safe default); two+ enabled ⇒ the dispatcher balances
|
|
19603
|
+
* detection sessions across them so they run CONCURRENTLY. `steps` is the
|
|
19604
|
+
* per-(node,device) BASE provisioning (`stepId → {modelId?, settings?}`) —
|
|
19605
|
+
* the default model/settings for every camera landing on that accelerator;
|
|
19606
|
+
* a stepId absent ⇒ the step uses that device's format default.
|
|
19582
19607
|
*/
|
|
19583
19608
|
inferenceDevices: zod.z.record(zod.z.string(), zod.z.object({
|
|
19584
19609
|
enabled: zod.z.boolean(),
|
|
19585
|
-
weight: zod.z.number().positive().optional()
|
|
19610
|
+
weight: zod.z.number().positive().optional(),
|
|
19611
|
+
maxSessions: zod.z.number().int().positive().optional(),
|
|
19612
|
+
steps: zod.z.record(zod.z.string(), DeviceStepConfigSchema).optional()
|
|
19586
19613
|
})).optional()
|
|
19587
19614
|
});
|
|
19588
19615
|
var CameraPipelineForAgentSchema = zod.z.object({
|
|
@@ -19593,14 +19620,13 @@ var CameraPipelineForAgentSchema = zod.z.object({
|
|
|
19593
19620
|
}).nullable()
|
|
19594
19621
|
});
|
|
19595
19622
|
var CameraStepOverridePatchSchema = zod.z.object({
|
|
19596
|
-
enabled: zod.z.boolean().optional(),
|
|
19597
19623
|
modelId: zod.z.string().optional(),
|
|
19598
19624
|
settings: zod.z.record(zod.z.string(), zod.z.unknown()).readonly().optional()
|
|
19599
19625
|
});
|
|
19600
19626
|
var CameraPipelineSettingsSchema = zod.z.object({
|
|
19601
19627
|
pinnedAgentNodeId: zod.z.string().optional(),
|
|
19602
19628
|
stepToggles: zod.z.record(zod.z.string(), zod.z.boolean()).optional(),
|
|
19603
|
-
|
|
19629
|
+
stepOverridesByDevice: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema))).optional(),
|
|
19604
19630
|
pipelineByAgent: zod.z.record(zod.z.string(), CameraPipelineForAgentSchema).optional()
|
|
19605
19631
|
});
|
|
19606
19632
|
/**
|
|
@@ -19822,6 +19848,44 @@ var CameraStatusSchema = zod.z.object({
|
|
|
19822
19848
|
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
19823
19849
|
fetchedAt: zod.z.number()
|
|
19824
19850
|
});
|
|
19851
|
+
var NodeInferenceDeviceSchema = zod.z.object({
|
|
19852
|
+
/** Stable per-node device key, e.g. `openvino:npu`, `edgetpu:usb`, `cpu`. */
|
|
19853
|
+
key: zod.z.string(),
|
|
19854
|
+
backend: zod.z.string(),
|
|
19855
|
+
device: zod.z.string(),
|
|
19856
|
+
format: zod.z.enum(MODEL_FORMATS),
|
|
19857
|
+
/** Whether the node's live probe reports the device as usable right now. */
|
|
19858
|
+
available: zod.z.boolean(),
|
|
19859
|
+
/**
|
|
19860
|
+
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
19861
|
+
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
19862
|
+
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
19863
|
+
* not a balanced target). An explicit stored value always wins; a stored-only
|
|
19864
|
+
* (unavailable) key keeps its stored value.
|
|
19865
|
+
*/
|
|
19866
|
+
enabled: zod.z.boolean(),
|
|
19867
|
+
/** Relative balancer weight for the enabled device (default 1). */
|
|
19868
|
+
weight: zod.z.number(),
|
|
19869
|
+
/** Per-device concurrent-session cap; null = unlimited (multi-device C4). */
|
|
19870
|
+
maxSessions: zod.z.number().nullable(),
|
|
19871
|
+
/** Object-detection model the executor defaults to for this deviceKey. */
|
|
19872
|
+
defaultModelId: zod.z.string(),
|
|
19873
|
+
/**
|
|
19874
|
+
* Per-(node,device) BASE provisioning (C7.2/C7.4) — the RAW stored
|
|
19875
|
+
* `stepId → {modelId?, settings?}` map from `inferenceDevices[key].steps`.
|
|
19876
|
+
* Absent/empty ⇒ no base (every step uses its device format default). The
|
|
19877
|
+
* UI cross-references `pipelineExecutor.getSchema` for the models actually
|
|
19878
|
+
* available per format; this is the stored selection that becomes the
|
|
19879
|
+
* default for EVERY camera landing on this accelerator.
|
|
19880
|
+
*/
|
|
19881
|
+
steps: zod.z.record(zod.z.string(), DeviceStepConfigSchema).optional()
|
|
19882
|
+
});
|
|
19883
|
+
var NodeInferenceDevicesSchema = zod.z.object({
|
|
19884
|
+
nodeId: zod.z.string(),
|
|
19885
|
+
/** False when the node's platform-probe was unreachable (no live device set). */
|
|
19886
|
+
reachable: zod.z.boolean(),
|
|
19887
|
+
devices: zod.z.array(NodeInferenceDeviceSchema).readonly()
|
|
19888
|
+
});
|
|
19825
19889
|
/**
|
|
19826
19890
|
* Pipeline Orchestrator capability — global load balancer + camera dispatcher.
|
|
19827
19891
|
*
|
|
@@ -19871,6 +19935,34 @@ var pipelineOrchestratorCapability = {
|
|
|
19871
19935
|
auth: "admin"
|
|
19872
19936
|
}),
|
|
19873
19937
|
/**
|
|
19938
|
+
* Pin a camera's detection to a specific INFERENCE DEVICE (accelerator)
|
|
19939
|
+
* within its node — a SOFT L1 device affinity honoured by the per-session
|
|
19940
|
+
* device `balance()` pass (sibling of the node-level `pipelineNodeId` pin;
|
|
19941
|
+
* persisted as `pipelineDeviceKey` in the device store, read by
|
|
19942
|
+
* `readPipelineDevicePin`). `deviceKey` is a concrete key
|
|
19943
|
+
* (`openvino:npu` / `edgetpu:usb` / `cpu`), or the `'auto'` sentinel /
|
|
19944
|
+
* empty string to CLEAR the pin and let the balancer pick the device.
|
|
19945
|
+
*
|
|
19946
|
+
* Applies promptly: the device is chosen per-session at dispatch, so any
|
|
19947
|
+
* running detection session is closed and re-dispatched onto the new pin
|
|
19948
|
+
* (the camera stays on the SAME node — a device pin never moves the camera).
|
|
19949
|
+
* Cameras with no active session pick it up on their next dispatch.
|
|
19950
|
+
*/
|
|
19951
|
+
setPipelineDevicePin: require_sleep.method(zod.z.object({
|
|
19952
|
+
deviceId: zod.z.number(),
|
|
19953
|
+
deviceKey: zod.z.string()
|
|
19954
|
+
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
19955
|
+
kind: "mutation",
|
|
19956
|
+
auth: "admin"
|
|
19957
|
+
}),
|
|
19958
|
+
/**
|
|
19959
|
+
* Read a camera's persisted inference-device pin (`pipelineDeviceKey`).
|
|
19960
|
+
* Returns the concrete device key, or `null` when unpinned (auto). Lets the
|
|
19961
|
+
* UI show the current pin alongside the node pin (parity with the node-pin
|
|
19962
|
+
* value carried on the assignment record).
|
|
19963
|
+
*/
|
|
19964
|
+
getPipelineDevicePin: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.object({ deviceKey: zod.z.string().nullable() })),
|
|
19965
|
+
/**
|
|
19874
19966
|
* Trigger a full rebalance pass. Iterates over all assigned cameras,
|
|
19875
19967
|
* recomputes the optimal agent for each one based on current load +
|
|
19876
19968
|
* hardware affinity, and migrates cameras whose current agent is no
|
|
@@ -19955,14 +20047,6 @@ var pipelineOrchestratorCapability = {
|
|
|
19955
20047
|
nodeId: zod.z.string(),
|
|
19956
20048
|
settings: AgentPipelineSettingsSchema
|
|
19957
20049
|
})).readonly()),
|
|
19958
|
-
/** Bulk-replace ALL addon configs on one agent. Used by the agent-level PipelineEditor which emits the full map per edit. Merges on top of existing entries — omitted addonIds are left alone. */
|
|
19959
|
-
setAgentAddonDefaults: require_sleep.method(zod.z.object({
|
|
19960
|
-
agentNodeId: zod.z.string(),
|
|
19961
|
-
defaults: zod.z.record(zod.z.string(), AgentAddonConfigSchema)
|
|
19962
|
-
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
19963
|
-
kind: "mutation",
|
|
19964
|
-
auth: "admin"
|
|
19965
|
-
}),
|
|
19966
20050
|
/**
|
|
19967
20051
|
* Drop a single agent's persisted settings. Used by the cluster
|
|
19968
20052
|
* "Offline agents" panel to evict stale entries left behind when an
|
|
@@ -20049,6 +20133,46 @@ var pipelineOrchestratorCapability = {
|
|
|
20049
20133
|
auth: "admin"
|
|
20050
20134
|
}),
|
|
20051
20135
|
/**
|
|
20136
|
+
* Set one node's multi-device inference opt-in (Phase 4 multi-device) — the
|
|
20137
|
+
* per-node `deviceKey → { enabled, weight }` map that decides which
|
|
20138
|
+
* accelerators the dispatcher may balance detection sessions across.
|
|
20139
|
+
* The map REPLACES the node's stored `inferenceDevices` wholesale (pass the
|
|
20140
|
+
* complete desired set; an empty map clears the opt-in → the node reverts to
|
|
20141
|
+
* its single DEFAULT accelerator). `weight` is optional and defaults to 1.
|
|
20142
|
+
* `models` is the optional per-device model override (`stepId → modelId`,
|
|
20143
|
+
* C7.2/C7.4) — a stepId absent ⇒ the step uses that device's default model.
|
|
20144
|
+
* Creates the node's settings entry if absent. Changes take effect on the
|
|
20145
|
+
* next dispatch/rebalance cycle — the dispatcher reads the enabled set via
|
|
20146
|
+
* `PipelineSettingsStore.buildNodeInferenceDevices` when placing sessions
|
|
20147
|
+
* and the per-(node,device) base provisioning via
|
|
20148
|
+
* `buildNodeInferenceDeviceSteps`.
|
|
20149
|
+
*/
|
|
20150
|
+
setAgentInferenceDevices: require_sleep.method(zod.z.object({
|
|
20151
|
+
agentNodeId: zod.z.string(),
|
|
20152
|
+
inferenceDevices: zod.z.record(zod.z.string(), zod.z.object({
|
|
20153
|
+
enabled: zod.z.boolean(),
|
|
20154
|
+
weight: zod.z.number().positive().optional(),
|
|
20155
|
+
maxSessions: zod.z.number().int().positive().optional(),
|
|
20156
|
+
steps: zod.z.record(zod.z.string(), DeviceStepConfigSchema).optional()
|
|
20157
|
+
}))
|
|
20158
|
+
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
20159
|
+
kind: "mutation",
|
|
20160
|
+
auth: "admin"
|
|
20161
|
+
}),
|
|
20162
|
+
/**
|
|
20163
|
+
* DEVICE-AWARE merged view of ONE node's inference accelerators. Joins each
|
|
20164
|
+
* physical device the node HAS — probed live via a node-pinned
|
|
20165
|
+
* `platformProbe.getCapabilities` (the platform-probe singleton is targeted
|
|
20166
|
+
* by the `nodeId` cap INPUT, since a `nodePin` context is ignored by a
|
|
20167
|
+
* singleton mount) — with its stored opt-in (`enabled`/`weight`) and the
|
|
20168
|
+
* object-detection `defaultModelId` the executor would run for that
|
|
20169
|
+
* deviceKey. Disabled-but-configured keys still appear. An unreachable node
|
|
20170
|
+
* returns `reachable:false` + best-effort stored-only devices (never
|
|
20171
|
+
* throws). Read surface for the cluster/agent multi-device UI — hence a
|
|
20172
|
+
* default (read-level) auth, matching the other `getAgent*` reads.
|
|
20173
|
+
*/
|
|
20174
|
+
getNodeInferenceDevices: require_sleep.method(zod.z.object({ nodeId: zod.z.string() }), NodeInferenceDevicesSchema),
|
|
20175
|
+
/**
|
|
20052
20176
|
* Reset one node's pipeline to its hardware-aware defaults — the HONEST
|
|
20053
20177
|
* reset (replaces the executor's legacy `resetToDefault`, which cleared a
|
|
20054
20178
|
* dead persisted step-tree seed nothing in the live path read):
|
|
@@ -20087,15 +20211,18 @@ var pipelineOrchestratorCapability = {
|
|
|
20087
20211
|
kind: "mutation",
|
|
20088
20212
|
auth: "admin"
|
|
20089
20213
|
}),
|
|
20090
|
-
/** Read every
|
|
20091
|
-
getCameraStepOverrides: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema)).nullable()),
|
|
20214
|
+
/** Read every per-(node,device) override map for a device. Null when device has no overrides. */
|
|
20215
|
+
getCameraStepOverrides: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema))).nullable()),
|
|
20092
20216
|
/**
|
|
20093
|
-
* Write or clear the
|
|
20094
|
-
* `patch: null` clears the entry entirely for that (
|
|
20217
|
+
* Write or clear the per-(camera,node,device) override for one addonId.
|
|
20218
|
+
* `patch: null` clears the entry entirely for that (node, deviceKey, addon)
|
|
20219
|
+
* triple (empty parents are pruned). Model/settings only — enablement is
|
|
20220
|
+
* the per-camera `stepToggles` authority.
|
|
20095
20221
|
*/
|
|
20096
20222
|
setCameraStepOverride: require_sleep.method(zod.z.object({
|
|
20097
20223
|
deviceId: zod.z.number(),
|
|
20098
20224
|
agentNodeId: zod.z.string(),
|
|
20225
|
+
deviceKey: zod.z.string(),
|
|
20099
20226
|
addonId: zod.z.string(),
|
|
20100
20227
|
patch: CameraStepOverridePatchSchema.nullable()
|
|
20101
20228
|
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
@@ -20293,7 +20420,8 @@ var serverManagementCapability = {
|
|
|
20293
20420
|
/** Explicit target version; omitted = latest from the registry. */
|
|
20294
20421
|
version: zod.z.string().optional() }), ServerUpdateActionResultSchema, {
|
|
20295
20422
|
kind: "mutation",
|
|
20296
|
-
auth: "admin"
|
|
20423
|
+
auth: "admin",
|
|
20424
|
+
timeoutMs: 16 * 6e4
|
|
20297
20425
|
}),
|
|
20298
20426
|
rollbackServerUpdate: require_sleep.method(zod.z.void(), ServerUpdateActionResultSchema, {
|
|
20299
20427
|
kind: "mutation",
|
|
@@ -28927,12 +29055,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
28927
29055
|
addonId: null,
|
|
28928
29056
|
access: "view"
|
|
28929
29057
|
},
|
|
28930
|
-
"pipelineExecutor.reprobeEngine": {
|
|
28931
|
-
capName: "pipeline-executor",
|
|
28932
|
-
capScope: "system",
|
|
28933
|
-
addonId: null,
|
|
28934
|
-
access: "create"
|
|
28935
|
-
},
|
|
28936
29058
|
"pipelineExecutor.runAudioTest": {
|
|
28937
29059
|
capName: "pipeline-executor",
|
|
28938
29060
|
capScope: "system",
|
|
@@ -29083,6 +29205,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
29083
29205
|
addonId: null,
|
|
29084
29206
|
access: "view"
|
|
29085
29207
|
},
|
|
29208
|
+
"pipelineOrchestrator.getNodeInferenceDevices": {
|
|
29209
|
+
capName: "pipeline-orchestrator",
|
|
29210
|
+
capScope: "system",
|
|
29211
|
+
addonId: null,
|
|
29212
|
+
access: "view"
|
|
29213
|
+
},
|
|
29086
29214
|
"pipelineOrchestrator.getPipelineAssignment": {
|
|
29087
29215
|
capName: "pipeline-orchestrator",
|
|
29088
29216
|
capScope: "system",
|
|
@@ -29095,6 +29223,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
29095
29223
|
addonId: null,
|
|
29096
29224
|
access: "view"
|
|
29097
29225
|
},
|
|
29226
|
+
"pipelineOrchestrator.getPipelineDevicePin": {
|
|
29227
|
+
capName: "pipeline-orchestrator",
|
|
29228
|
+
capScope: "system",
|
|
29229
|
+
addonId: null,
|
|
29230
|
+
access: "view"
|
|
29231
|
+
},
|
|
29098
29232
|
"pipelineOrchestrator.listAgentSettings": {
|
|
29099
29233
|
capName: "pipeline-orchestrator",
|
|
29100
29234
|
capScope: "system",
|
|
@@ -29137,19 +29271,19 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
29137
29271
|
addonId: null,
|
|
29138
29272
|
access: "create"
|
|
29139
29273
|
},
|
|
29140
|
-
"pipelineOrchestrator.
|
|
29274
|
+
"pipelineOrchestrator.setAgentCapabilities": {
|
|
29141
29275
|
capName: "pipeline-orchestrator",
|
|
29142
29276
|
capScope: "system",
|
|
29143
29277
|
addonId: null,
|
|
29144
29278
|
access: "create"
|
|
29145
29279
|
},
|
|
29146
|
-
"pipelineOrchestrator.
|
|
29280
|
+
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
29147
29281
|
capName: "pipeline-orchestrator",
|
|
29148
29282
|
capScope: "system",
|
|
29149
29283
|
addonId: null,
|
|
29150
29284
|
access: "create"
|
|
29151
29285
|
},
|
|
29152
|
-
"pipelineOrchestrator.
|
|
29286
|
+
"pipelineOrchestrator.setAgentInferenceDevices": {
|
|
29153
29287
|
capName: "pipeline-orchestrator",
|
|
29154
29288
|
capScope: "system",
|
|
29155
29289
|
addonId: null,
|
|
@@ -29191,6 +29325,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
29191
29325
|
addonId: null,
|
|
29192
29326
|
access: "create"
|
|
29193
29327
|
},
|
|
29328
|
+
"pipelineOrchestrator.setPipelineDevicePin": {
|
|
29329
|
+
capName: "pipeline-orchestrator",
|
|
29330
|
+
capScope: "system",
|
|
29331
|
+
addonId: null,
|
|
29332
|
+
access: "create"
|
|
29333
|
+
},
|
|
29194
29334
|
"pipelineOrchestrator.unassignAudio": {
|
|
29195
29335
|
capName: "pipeline-orchestrator",
|
|
29196
29336
|
capScope: "system",
|
|
@@ -31739,6 +31879,7 @@ exports.DEFAULT_EVENT_COLOR = DEFAULT_EVENT_COLOR;
|
|
|
31739
31879
|
exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
|
|
31740
31880
|
exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
|
|
31741
31881
|
exports.DEFAULT_SCRUB_THUMBNAIL_PRESET = DEFAULT_SCRUB_THUMBNAIL_PRESET;
|
|
31882
|
+
exports.DEVICE_BACKEND_TO_FORMAT = DEVICE_BACKEND_TO_FORMAT;
|
|
31742
31883
|
exports.DEVICE_CAP_NAMES = DEVICE_CAP_NAMES;
|
|
31743
31884
|
exports.DEVICE_PROFILES = DEVICE_PROFILES;
|
|
31744
31885
|
exports.DEVICE_SETTINGS_CONTRIBUTION_METHODS = require_sleep.DEVICE_SETTINGS_CONTRIBUTION_METHODS;
|
|
@@ -32265,6 +32406,7 @@ exports.defineCustomActions = defineCustomActions;
|
|
|
32265
32406
|
exports.describeModelVariant = describeModelVariant;
|
|
32266
32407
|
exports.detectionPipelineCapability = detectionPipelineCapability;
|
|
32267
32408
|
exports.deviceAdoptionCapability = deviceAdoptionCapability;
|
|
32409
|
+
exports.deviceBackendToFormat = deviceBackendToFormat;
|
|
32268
32410
|
exports.deviceCustomAction = deviceCustomAction;
|
|
32269
32411
|
exports.deviceDiscoveryCapability = deviceDiscoveryCapability;
|
|
32270
32412
|
exports.deviceExportCapability = deviceExportCapability;
|