@camstack/types 1.2.317 → 1.2.319
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 +9 -3
- package/dist/addon.mjs +9 -3
- package/dist/capabilities/pipeline-executor.cap.d.ts +1 -1
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +146 -16
- package/dist/client.js +7 -3
- package/dist/client.mjs +7 -3
- package/dist/generated/addon-api.d.ts +41 -13
- package/dist/generated/cap-input-defaults.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +438 -65
- package/dist/index.mjs +406 -59
- package/dist/pipeline/{best-settings → auto-tune}/demand.d.ts +27 -30
- package/dist/pipeline/{best-settings → auto-tune}/hardware-class.d.ts +1 -1
- package/dist/pipeline/{best-settings → auto-tune}/index.d.ts +1 -1
- package/dist/pipeline/{best-settings → auto-tune}/plan-schemas.d.ts +41 -15
- package/dist/pipeline/{best-settings → auto-tune}/recommend.d.ts +6 -6
- package/dist/pipeline/load-balancing/effective-shares.d.ts +28 -0
- package/dist/pipeline/load-balancing/index.d.ts +8 -0
- package/dist/pipeline/load-balancing/schemas.d.ts +232 -0
- package/dist/pipeline/load-balancing/share-election.d.ts +54 -0
- package/dist/pipeline/model-bound-settings.d.ts +1 -1
- package/dist/types/agent-pipeline-settings.d.ts +0 -1
- package/package.json +1 -1
- /package/dist/pipeline/{best-settings → auto-tune}/detector-performance.d.ts +0 -0
package/dist/addon.js
CHANGED
|
@@ -16,7 +16,7 @@ const require_err_msg = require("./err-msg-Dx2Kor0g.js");
|
|
|
16
16
|
* Plain data, zero Zod: a forked runner must not import the schema barrel
|
|
17
17
|
* (~144MB RSS per runner — D28).
|
|
18
18
|
*
|
|
19
|
-
* Coverage: 25 caps,
|
|
19
|
+
* Coverage: 25 caps, 63 methods with defaults.
|
|
20
20
|
*/
|
|
21
21
|
var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
22
22
|
"addons": { "getLogs": { "limit": 100 } },
|
|
@@ -156,8 +156,14 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
156
156
|
"searchObjectEvents": { "limit": 50 }
|
|
157
157
|
},
|
|
158
158
|
"pipeline-orchestrator": {
|
|
159
|
-
"
|
|
160
|
-
"
|
|
159
|
+
"applyAutoTune": { "headroom": .4 },
|
|
160
|
+
"getPlacementStats": { "windowMs": 36e5 },
|
|
161
|
+
"planAutoTune": { "headroom": .4 },
|
|
162
|
+
"setLoadBalancingShares": {
|
|
163
|
+
"nodes": {},
|
|
164
|
+
"devices": {}
|
|
165
|
+
},
|
|
166
|
+
"suggestShares": { "headroom": .4 }
|
|
161
167
|
},
|
|
162
168
|
"pipeline-runner": {
|
|
163
169
|
"attachCamera": {
|
package/dist/addon.mjs
CHANGED
|
@@ -15,7 +15,7 @@ import { a as DeviceType, t as errMsg } from "./err-msg-DX6i_MY4.mjs";
|
|
|
15
15
|
* Plain data, zero Zod: a forked runner must not import the schema barrel
|
|
16
16
|
* (~144MB RSS per runner — D28).
|
|
17
17
|
*
|
|
18
|
-
* Coverage: 25 caps,
|
|
18
|
+
* Coverage: 25 caps, 63 methods with defaults.
|
|
19
19
|
*/
|
|
20
20
|
var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
21
21
|
"addons": { "getLogs": { "limit": 100 } },
|
|
@@ -155,8 +155,14 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
155
155
|
"searchObjectEvents": { "limit": 50 }
|
|
156
156
|
},
|
|
157
157
|
"pipeline-orchestrator": {
|
|
158
|
-
"
|
|
159
|
-
"
|
|
158
|
+
"applyAutoTune": { "headroom": .4 },
|
|
159
|
+
"getPlacementStats": { "windowMs": 36e5 },
|
|
160
|
+
"planAutoTune": { "headroom": .4 },
|
|
161
|
+
"setLoadBalancingShares": {
|
|
162
|
+
"nodes": {},
|
|
163
|
+
"devices": {}
|
|
164
|
+
},
|
|
165
|
+
"suggestShares": { "headroom": .4 }
|
|
160
166
|
},
|
|
161
167
|
"pipeline-runner": {
|
|
162
168
|
"attachCamera": {
|
|
@@ -822,7 +822,7 @@ export declare const pipelineExecutorCapability: {
|
|
|
822
822
|
clearedDevices: z.ZodNumber;
|
|
823
823
|
}, z.core.$strip>, "mutation">;
|
|
824
824
|
/**
|
|
825
|
-
*
|
|
825
|
+
* Auto tune (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
|
|
826
826
|
* the object-detection root, and their binding keys) stored in THIS node's
|
|
827
827
|
* per-camera detector settings — and, unless `dryRun`, remove them so the
|
|
828
828
|
* running model's own defaults apply. Every other key of a camera's store
|
|
@@ -1175,17 +1175,6 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1175
1175
|
}, z.core.$strip>, z.ZodObject<{
|
|
1176
1176
|
success: z.ZodLiteral<true>;
|
|
1177
1177
|
}, z.core.$strip>, "mutation">;
|
|
1178
|
-
/**
|
|
1179
|
-
* Set a node's detection WEIGHT (relative share for the quota balancer).
|
|
1180
|
-
* `null` clears it (back to the implicit weight 1). Unpinned cameras
|
|
1181
|
-
* distribute proportionally to weight; `maxCameras` still clamps on top.
|
|
1182
|
-
*/
|
|
1183
|
-
readonly setAgentDetectWeight: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1184
|
-
agentNodeId: z.ZodString;
|
|
1185
|
-
detectWeight: z.ZodNullable<z.ZodNumber>;
|
|
1186
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
1187
|
-
success: z.ZodLiteral<true>;
|
|
1188
|
-
}, z.core.$strip>, "mutation">;
|
|
1189
1178
|
/**
|
|
1190
1179
|
* Set one node's placement CAPABILITIES — the per-node record that
|
|
1191
1180
|
* replaced the four flat orchestrator lists (`enabledNodes`,
|
|
@@ -1337,7 +1326,7 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1337
1326
|
clearedCameraOverrides: z.ZodNumber;
|
|
1338
1327
|
}, z.core.$strip>, "mutation">;
|
|
1339
1328
|
/**
|
|
1340
|
-
*
|
|
1329
|
+
* Auto tune (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
|
|
1341
1330
|
* for the whole cluster from each node's static hardware class, the
|
|
1342
1331
|
* measured latency table and the detection demand, and lists every write
|
|
1343
1332
|
* the apply would make: the node model pins set, the enrichment pins and
|
|
@@ -1346,12 +1335,17 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1346
1335
|
* enablement, device enablement, pins, recording, notifications, zones and
|
|
1347
1336
|
* rules are never part of it. `planHash` names exactly this diff.
|
|
1348
1337
|
*/
|
|
1349
|
-
readonly
|
|
1338
|
+
readonly planAutoTune: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1350
1339
|
headroom: z.ZodDefault<z.ZodNumber>;
|
|
1340
|
+
shares: z.ZodOptional<z.ZodObject<{
|
|
1341
|
+
nodes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1342
|
+
devices: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
1343
|
+
}, z.core.$strip>>;
|
|
1351
1344
|
}, z.core.$strip>, z.ZodObject<{
|
|
1352
1345
|
planHash: z.ZodString;
|
|
1353
1346
|
family: z.ZodLiteral<"yolov9">;
|
|
1354
1347
|
headroom: z.ZodNumber;
|
|
1348
|
+
whatIf: z.ZodBoolean;
|
|
1355
1349
|
generatedAt: z.ZodNumber;
|
|
1356
1350
|
nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1357
1351
|
nodeId: z.ZodString;
|
|
@@ -1391,6 +1385,10 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1391
1385
|
estimate: "estimate";
|
|
1392
1386
|
}>;
|
|
1393
1387
|
observedForMs: z.ZodNullable<z.ZodNumber>;
|
|
1388
|
+
placement: z.ZodEnum<{
|
|
1389
|
+
"least-loaded": "least-loaded";
|
|
1390
|
+
share: "share";
|
|
1391
|
+
}>;
|
|
1394
1392
|
}, z.core.$strip>>;
|
|
1395
1393
|
chosen: z.ZodNullable<z.ZodObject<{
|
|
1396
1394
|
modelId: z.ZodString;
|
|
@@ -1551,12 +1549,12 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1551
1549
|
}, z.core.$strip>], "kind">>>;
|
|
1552
1550
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1553
1551
|
/**
|
|
1554
|
-
*
|
|
1552
|
+
* Auto tune (D745) — APPLY the plan the operator confirmed. Recomputes
|
|
1555
1553
|
* the plan and refuses (`stale`, with the fresh plan) when its hash is not
|
|
1556
1554
|
* `planHash`, so what is written is exactly the confirmed diff. Offline
|
|
1557
1555
|
* nodes are skipped; there is no undo.
|
|
1558
1556
|
*/
|
|
1559
|
-
readonly
|
|
1557
|
+
readonly applyAutoTune: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1560
1558
|
planHash: z.ZodString;
|
|
1561
1559
|
headroom: z.ZodDefault<z.ZodNumber>;
|
|
1562
1560
|
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -1592,6 +1590,7 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1592
1590
|
planHash: z.ZodString;
|
|
1593
1591
|
family: z.ZodLiteral<"yolov9">;
|
|
1594
1592
|
headroom: z.ZodNumber;
|
|
1593
|
+
whatIf: z.ZodBoolean;
|
|
1595
1594
|
generatedAt: z.ZodNumber;
|
|
1596
1595
|
nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1597
1596
|
nodeId: z.ZodString;
|
|
@@ -1631,6 +1630,10 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1631
1630
|
estimate: "estimate";
|
|
1632
1631
|
}>;
|
|
1633
1632
|
observedForMs: z.ZodNullable<z.ZodNumber>;
|
|
1633
|
+
placement: z.ZodEnum<{
|
|
1634
|
+
"least-loaded": "least-loaded";
|
|
1635
|
+
share: "share";
|
|
1636
|
+
}>;
|
|
1634
1637
|
}, z.core.$strip>>;
|
|
1635
1638
|
chosen: z.ZodNullable<z.ZodObject<{
|
|
1636
1639
|
modelId: z.ZodString;
|
|
@@ -1796,11 +1799,138 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1796
1799
|
"apply-in-progress": "apply-in-progress";
|
|
1797
1800
|
}>;
|
|
1798
1801
|
}, z.core.$strip>], "kind">, "mutation">;
|
|
1802
|
+
/**
|
|
1803
|
+
* Load balancing (D748) — write node shares (`detectWeight`) and per-node
|
|
1804
|
+
* device shares (inference-device `weight`) in ONE atomic read-modify-write
|
|
1805
|
+
* of the agent settings — the only writer of node shares (the per-node
|
|
1806
|
+
* `setAgentDetectWeight` it replaced raced its siblings, one RMW each).
|
|
1807
|
+
* A node or device left out keeps its weight. Never changes the
|
|
1808
|
+
* `sessionPlacement` policy.
|
|
1809
|
+
*/
|
|
1810
|
+
readonly setLoadBalancingShares: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1811
|
+
nodes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1812
|
+
devices: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
1813
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1814
|
+
success: z.ZodLiteral<true>;
|
|
1815
|
+
}, z.core.$strip>, "mutation">;
|
|
1816
|
+
/**
|
|
1817
|
+
* Load balancing (D748) — what placement actually did: per node and
|
|
1818
|
+
* device, sessions now, sessions started and the time-weighted share of
|
|
1819
|
+
* PARALLEL sessions over `windowMs`; the cluster's parallel peak; yields
|
|
1820
|
+
* a share election made; and every device pin the session path cannot
|
|
1821
|
+
* honour. In memory on the hub — a restart starts a new window.
|
|
1822
|
+
*/
|
|
1823
|
+
readonly getPlacementStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1824
|
+
windowMs: z.ZodDefault<z.ZodNumber>;
|
|
1825
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1826
|
+
policy: z.ZodEnum<{
|
|
1827
|
+
"least-loaded": "least-loaded";
|
|
1828
|
+
share: "share";
|
|
1829
|
+
}>;
|
|
1830
|
+
windowMs: z.ZodNumber;
|
|
1831
|
+
observedForMs: z.ZodNumber;
|
|
1832
|
+
sessionsNow: z.ZodNumber;
|
|
1833
|
+
clusterPeakSessions: z.ZodNumber;
|
|
1834
|
+
nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1835
|
+
nodeId: z.ZodString;
|
|
1836
|
+
sessionsNow: z.ZodNumber;
|
|
1837
|
+
sessionsStarted: z.ZodNumber;
|
|
1838
|
+
observedShare: z.ZodNullable<z.ZodNumber>;
|
|
1839
|
+
peakSessions: z.ZodNumber;
|
|
1840
|
+
yieldsAway: z.ZodNumber;
|
|
1841
|
+
devices: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1842
|
+
deviceKey: z.ZodString;
|
|
1843
|
+
sessionsNow: z.ZodNumber;
|
|
1844
|
+
sessionsStarted: z.ZodNumber;
|
|
1845
|
+
observedShare: z.ZodNullable<z.ZodNumber>;
|
|
1846
|
+
}, z.core.$strip>>>;
|
|
1847
|
+
}, z.core.$strip>>>;
|
|
1848
|
+
stalePins: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1849
|
+
deviceId: z.ZodNumber;
|
|
1850
|
+
deviceKey: z.ZodString;
|
|
1851
|
+
reason: z.ZodEnum<{
|
|
1852
|
+
absent: "absent";
|
|
1853
|
+
disabled: "disabled";
|
|
1854
|
+
}>;
|
|
1855
|
+
}, z.core.$strip>>>;
|
|
1856
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1857
|
+
/**
|
|
1858
|
+
* Load balancing (D748) — shares proportional to each node's measured
|
|
1859
|
+
* capacity at the models Auto tune would pick, iterated (≤ 3 rounds)
|
|
1860
|
+
* until the shares stop moving; per device, an ADVISORY session cap.
|
|
1861
|
+
* Writes nothing.
|
|
1862
|
+
*/
|
|
1863
|
+
readonly suggestShares: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1864
|
+
headroom: z.ZodDefault<z.ZodNumber>;
|
|
1865
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1866
|
+
headroom: z.ZodNumber;
|
|
1867
|
+
cameraFps: z.ZodNumber;
|
|
1868
|
+
iterations: z.ZodNumber;
|
|
1869
|
+
nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1870
|
+
nodeId: z.ZodString;
|
|
1871
|
+
share: z.ZodNullable<z.ZodNumber>;
|
|
1872
|
+
capacitySessions: z.ZodNumber;
|
|
1873
|
+
devices: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1874
|
+
deviceKey: z.ZodString;
|
|
1875
|
+
share: z.ZodNumber;
|
|
1876
|
+
modelId: z.ZodNullable<z.ZodString>;
|
|
1877
|
+
fps: z.ZodNullable<z.ZodNumber>;
|
|
1878
|
+
measured: z.ZodBoolean;
|
|
1879
|
+
suggestedMaxSessions: z.ZodNullable<z.ZodNumber>;
|
|
1880
|
+
}, z.core.$strip>>>;
|
|
1881
|
+
skippedReason: z.ZodNullable<z.ZodString>;
|
|
1882
|
+
}, z.core.$strip>>>;
|
|
1883
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1884
|
+
/**
|
|
1885
|
+
* Load balancing (D750) — the shares placement reads now: the source
|
|
1886
|
+
* (automatic capacity shares or the operator's sliders), each node's and
|
|
1887
|
+
* device's configured share, and the effective share after a node or
|
|
1888
|
+
* device that cannot take sessions gave its share to the others.
|
|
1889
|
+
*/
|
|
1890
|
+
readonly getEffectiveShares: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
|
|
1891
|
+
source: z.ZodEnum<{
|
|
1892
|
+
manual: "manual";
|
|
1893
|
+
auto: "auto";
|
|
1894
|
+
}>;
|
|
1895
|
+
policy: z.ZodEnum<{
|
|
1896
|
+
"least-loaded": "least-loaded";
|
|
1897
|
+
share: "share";
|
|
1898
|
+
}>;
|
|
1899
|
+
autoPending: z.ZodBoolean;
|
|
1900
|
+
computedAt: z.ZodNullable<z.ZodNumber>;
|
|
1901
|
+
trigger: z.ZodNullable<z.ZodString>;
|
|
1902
|
+
nodes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1903
|
+
nodeId: z.ZodString;
|
|
1904
|
+
eligible: z.ZodBoolean;
|
|
1905
|
+
configuredPct: z.ZodNumber;
|
|
1906
|
+
effectivePct: z.ZodNumber;
|
|
1907
|
+
devices: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1908
|
+
deviceKey: z.ZodString;
|
|
1909
|
+
eligible: z.ZodBoolean;
|
|
1910
|
+
configuredPct: z.ZodNumber;
|
|
1911
|
+
effectivePct: z.ZodNumber;
|
|
1912
|
+
}, z.core.$strip>>>;
|
|
1913
|
+
}, z.core.$strip>>>;
|
|
1914
|
+
nodeWeights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
1915
|
+
deviceWeights: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1916
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1917
|
+
/**
|
|
1918
|
+
* Load balancing (D750) — switch between automatic and manual shares.
|
|
1919
|
+
* Going manual seeds the sliders with the current automatic shares (one
|
|
1920
|
+
* atomic write), so nothing jumps; going automatic recomputes at once.
|
|
1921
|
+
*/
|
|
1922
|
+
readonly setShareSource: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1923
|
+
source: z.ZodEnum<{
|
|
1924
|
+
manual: "manual";
|
|
1925
|
+
auto: "auto";
|
|
1926
|
+
}>;
|
|
1927
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1928
|
+
success: z.ZodLiteral<true>;
|
|
1929
|
+
}, z.core.$strip>, "mutation">;
|
|
1799
1930
|
/** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
|
|
1800
1931
|
readonly getCameraSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1801
1932
|
deviceId: z.ZodNumber;
|
|
1802
1933
|
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
1803
|
-
pinnedAgentNodeId: z.ZodOptional<z.ZodString>;
|
|
1804
1934
|
stepToggles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
1805
1935
|
stepOverridesByDevice: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1806
1936
|
modelId: z.ZodOptional<z.ZodString>;
|
package/dist/client.js
CHANGED
|
@@ -7493,15 +7493,19 @@ function createSystemProxy(api) {
|
|
|
7493
7493
|
listAgentSettings: (input) => dispatch("pipelineOrchestrator", "listAgentSettings", "query", input),
|
|
7494
7494
|
removeAgentSettings: (input) => dispatch("pipelineOrchestrator", "removeAgentSettings", "mutation", input),
|
|
7495
7495
|
setAgentMaxCameras: (input) => dispatch("pipelineOrchestrator", "setAgentMaxCameras", "mutation", input),
|
|
7496
|
-
setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
|
|
7497
7496
|
setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
|
|
7498
7497
|
setAgentDecodeLimits: (input) => dispatch("pipelineOrchestrator", "setAgentDecodeLimits", "mutation", input),
|
|
7499
7498
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
7500
7499
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
7501
7500
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
7502
7501
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
7503
|
-
|
|
7504
|
-
|
|
7502
|
+
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
7503
|
+
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
|
7504
|
+
setLoadBalancingShares: (input) => dispatch("pipelineOrchestrator", "setLoadBalancingShares", "mutation", input),
|
|
7505
|
+
getPlacementStats: (input) => dispatch("pipelineOrchestrator", "getPlacementStats", "query", input),
|
|
7506
|
+
suggestShares: (input) => dispatch("pipelineOrchestrator", "suggestShares", "query", input),
|
|
7507
|
+
getEffectiveShares: (input) => dispatch("pipelineOrchestrator", "getEffectiveShares", "query", input),
|
|
7508
|
+
setShareSource: (input) => dispatch("pipelineOrchestrator", "setShareSource", "mutation", input),
|
|
7505
7509
|
getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
|
|
7506
7510
|
setCameraSensors: (input) => dispatch("pipelineOrchestrator", "setCameraSensors", "mutation", input),
|
|
7507
7511
|
reconcileFromDisk: (input) => dispatch("pipelineOrchestrator", "reconcileFromDisk", "mutation", input),
|
package/dist/client.mjs
CHANGED
|
@@ -7492,15 +7492,19 @@ function createSystemProxy(api) {
|
|
|
7492
7492
|
listAgentSettings: (input) => dispatch("pipelineOrchestrator", "listAgentSettings", "query", input),
|
|
7493
7493
|
removeAgentSettings: (input) => dispatch("pipelineOrchestrator", "removeAgentSettings", "mutation", input),
|
|
7494
7494
|
setAgentMaxCameras: (input) => dispatch("pipelineOrchestrator", "setAgentMaxCameras", "mutation", input),
|
|
7495
|
-
setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
|
|
7496
7495
|
setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
|
|
7497
7496
|
setAgentDecodeLimits: (input) => dispatch("pipelineOrchestrator", "setAgentDecodeLimits", "mutation", input),
|
|
7498
7497
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
7499
7498
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
7500
7499
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
7501
7500
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
7502
|
-
|
|
7503
|
-
|
|
7501
|
+
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
7502
|
+
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
|
7503
|
+
setLoadBalancingShares: (input) => dispatch("pipelineOrchestrator", "setLoadBalancingShares", "mutation", input),
|
|
7504
|
+
getPlacementStats: (input) => dispatch("pipelineOrchestrator", "getPlacementStats", "query", input),
|
|
7505
|
+
suggestShares: (input) => dispatch("pipelineOrchestrator", "suggestShares", "query", input),
|
|
7506
|
+
getEffectiveShares: (input) => dispatch("pipelineOrchestrator", "getEffectiveShares", "query", input),
|
|
7507
|
+
setShareSource: (input) => dispatch("pipelineOrchestrator", "setShareSource", "mutation", input),
|
|
7504
7508
|
getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
|
|
7505
7509
|
setCameraSensors: (input) => dispatch("pipelineOrchestrator", "setCameraSensors", "mutation", input),
|
|
7506
7510
|
reconcileFromDisk: (input) => dispatch("pipelineOrchestrator", "reconcileFromDisk", "mutation", input),
|
|
@@ -6553,13 +6553,6 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6553
6553
|
output: z.infer<typeof pipelineOrchestratorCapability.methods.setAgentMaxCameras.output>;
|
|
6554
6554
|
meta: object;
|
|
6555
6555
|
}>;
|
|
6556
|
-
setAgentDetectWeight: TRPCMutationProcedure<{
|
|
6557
|
-
input: {
|
|
6558
|
-
[x: string]: unknown;
|
|
6559
|
-
} & z.input<typeof pipelineOrchestratorCapability.methods.setAgentDetectWeight.input>;
|
|
6560
|
-
output: z.infer<typeof pipelineOrchestratorCapability.methods.setAgentDetectWeight.output>;
|
|
6561
|
-
meta: object;
|
|
6562
|
-
}>;
|
|
6563
6556
|
setAgentCapabilities: TRPCMutationProcedure<{
|
|
6564
6557
|
input: {
|
|
6565
6558
|
[x: string]: unknown;
|
|
@@ -6602,18 +6595,53 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6602
6595
|
output: z.infer<typeof pipelineOrchestratorCapability.methods.resetNodePipelineDefaults.output>;
|
|
6603
6596
|
meta: object;
|
|
6604
6597
|
}>;
|
|
6605
|
-
|
|
6598
|
+
planAutoTune: TRPCQueryProcedure<{
|
|
6606
6599
|
input: {
|
|
6607
6600
|
[x: string]: unknown;
|
|
6608
|
-
} & z.input<typeof pipelineOrchestratorCapability.methods.
|
|
6609
|
-
output: z.infer<typeof pipelineOrchestratorCapability.methods.
|
|
6601
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.planAutoTune.input>;
|
|
6602
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.planAutoTune.output>;
|
|
6603
|
+
meta: object;
|
|
6604
|
+
}>;
|
|
6605
|
+
applyAutoTune: TRPCMutationProcedure<{
|
|
6606
|
+
input: {
|
|
6607
|
+
[x: string]: unknown;
|
|
6608
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.applyAutoTune.input>;
|
|
6609
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.applyAutoTune.output>;
|
|
6610
|
+
meta: object;
|
|
6611
|
+
}>;
|
|
6612
|
+
setLoadBalancingShares: TRPCMutationProcedure<{
|
|
6613
|
+
input: {
|
|
6614
|
+
[x: string]: unknown;
|
|
6615
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.setLoadBalancingShares.input>;
|
|
6616
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.setLoadBalancingShares.output>;
|
|
6617
|
+
meta: object;
|
|
6618
|
+
}>;
|
|
6619
|
+
getPlacementStats: TRPCQueryProcedure<{
|
|
6620
|
+
input: {
|
|
6621
|
+
[x: string]: unknown;
|
|
6622
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.getPlacementStats.input>;
|
|
6623
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.getPlacementStats.output>;
|
|
6624
|
+
meta: object;
|
|
6625
|
+
}>;
|
|
6626
|
+
suggestShares: TRPCQueryProcedure<{
|
|
6627
|
+
input: {
|
|
6628
|
+
[x: string]: unknown;
|
|
6629
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.suggestShares.input>;
|
|
6630
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.suggestShares.output>;
|
|
6631
|
+
meta: object;
|
|
6632
|
+
}>;
|
|
6633
|
+
getEffectiveShares: TRPCQueryProcedure<{
|
|
6634
|
+
input: {
|
|
6635
|
+
nodeId?: string | undefined;
|
|
6636
|
+
} | undefined;
|
|
6637
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.getEffectiveShares.output>;
|
|
6610
6638
|
meta: object;
|
|
6611
6639
|
}>;
|
|
6612
|
-
|
|
6640
|
+
setShareSource: TRPCMutationProcedure<{
|
|
6613
6641
|
input: {
|
|
6614
6642
|
[x: string]: unknown;
|
|
6615
|
-
} & z.input<typeof pipelineOrchestratorCapability.methods.
|
|
6616
|
-
output: z.infer<typeof pipelineOrchestratorCapability.methods.
|
|
6643
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.setShareSource.input>;
|
|
6644
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.setShareSource.output>;
|
|
6617
6645
|
meta: object;
|
|
6618
6646
|
}>;
|
|
6619
6647
|
getCameraSettings: TRPCQueryProcedure<{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Plain data, zero Zod: a forked runner must not import the schema barrel
|
|
12
12
|
* (~144MB RSS per runner — D28).
|
|
13
13
|
*
|
|
14
|
-
* Coverage: 25 caps,
|
|
14
|
+
* Coverage: 25 caps, 63 methods with defaults.
|
|
15
15
|
*/
|
|
16
16
|
export declare const CAP_INPUT_DEFAULTS: Readonly<Record<string, Readonly<Record<string, Readonly<Record<string, unknown>>>>>>;
|
|
17
17
|
/**
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1234 method paths across 165 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -88,7 +88,7 @@ export interface SystemProxy {
|
|
|
88
88
|
readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'listSequences' | 'getSequence' | 'createSequence' | 'updateSequence' | 'deleteSequence' | 'getClipRetentionAsks' | 'listDeviceMutes' | 'testRule' | 'previewStateSummary' | 'getConditionCatalog' | 'getTemplateCatalog' | 'previewTemplate' | 'getHistory' | 'getRuleLastRuns' | 'resolveArtifactUrl' | 'listSnoozes' | 'createSnooze' | 'cancelSnooze' | 'getAlarmConfig' | 'setAlarmConfig' | 'createAlarmProfile' | 'renameAlarmProfile' | 'deleteAlarmProfile' | 'activateAlarmProfile' | 'getAlarmSensors'>;
|
|
89
89
|
readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration' | 'listTemplates' | 'upsertTemplate' | 'deleteTemplate'>;
|
|
90
90
|
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'clearModelBoundDeviceOverrides' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
91
|
-
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | '
|
|
91
|
+
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'planAutoTune' | 'applyAutoTune' | 'setLoadBalancingShares' | 'getPlacementStats' | 'suggestShares' | 'getEffectiveShares' | 'setShareSource' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
92
92
|
readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
|
|
93
93
|
readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
|
|
94
94
|
readonly recordingArchive: Pick<InferProvider<typeof recordingArchiveCapability>, 'getAvailabilityBatch' | 'getDaysWithRecordingsBatch' | 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
|
package/dist/index.d.ts
CHANGED
|
@@ -268,7 +268,8 @@ export { type ProviderMotionData, ProviderMotionDataSchema, providerMotionEvent,
|
|
|
268
268
|
export { type FormatRunnableModel, stepModelRunsOnFormat, } from './pipeline/step-format-runnable.js';
|
|
269
269
|
export { isRemovedModelId, REMOVED_MODEL_IDS } from './pipeline/removed-model-ids.js';
|
|
270
270
|
export { applyModelBoundSettings, clearModelBoundOverrides, clearModelBoundSetting, collectModelBoundKeys, hasModelBoundOverrides, type InapplicableModelBoundOverride, modelBindingKey, type ModelBoundSettingsBag, type ModelBoundSettingSource, type ModelBoundSettingState, resolveModelBoundSetting, writeModelBoundSetting, } from './pipeline/model-bound-settings.js';
|
|
271
|
-
export * from './pipeline/
|
|
271
|
+
export * from './pipeline/auto-tune/index.js';
|
|
272
|
+
export * from './pipeline/load-balancing/index.js';
|
|
272
273
|
export { deriveRootFaceRefineRect, ROOT_FACE_REFINE_INPUT_PX, ROOT_FACE_REFINE_SCALE, } from './pipeline/root-face-crop.js';
|
|
273
274
|
export { DEFAULT_DETAIL_CROP_CONVENTION, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, type DetailCropConvention, DetailCropConventionSchema, type DetailCropRect, deriveDetailCropRect, FULL_IMAGE_BBOX, type HydratedSettingsSection, type HydratedSettingsView, pickDetailCropConvention, readDetailCropConvention, } from './pipeline/detail-crop.js';
|
|
274
275
|
export { DEFAULT_NATIVE_LEASE_SETTINGS, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, type NativeLeaseAdmission, NativeLeaseAdmissionSchema, type NativeLeaseKnob, type NativeLeaseNumberKnob, type NativeLeaseSettings, type NativeLeaseSettingsOverride, NativeLeaseSettingsSchema, pickNativeLeaseOverride, readNativeLeaseOverride, } from './pipeline/native-lease.js';
|