@camstack/types 1.2.317 → 1.2.318

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 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, 60 methods with defaults.
19
+ * Coverage: 25 caps, 63 methods with defaults.
20
20
  */
21
21
  var CAP_INPUT_DEFAULTS = Object.freeze({
22
22
  "addons": { "getLogs": { "limit": 100 } },
@@ -157,7 +157,13 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
157
157
  },
158
158
  "pipeline-orchestrator": {
159
159
  "applyBestSettings": { "headroom": .4 },
160
- "planBestSettings": { "headroom": .4 }
160
+ "getPlacementStats": { "windowMs": 36e5 },
161
+ "planBestSettings": { "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, 60 methods with defaults.
18
+ * Coverage: 25 caps, 63 methods with defaults.
19
19
  */
20
20
  var CAP_INPUT_DEFAULTS = Object.freeze({
21
21
  "addons": { "getLogs": { "limit": 100 } },
@@ -156,7 +156,13 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
156
156
  },
157
157
  "pipeline-orchestrator": {
158
158
  "applyBestSettings": { "headroom": .4 },
159
- "planBestSettings": { "headroom": .4 }
159
+ "getPlacementStats": { "windowMs": 36e5 },
160
+ "planBestSettings": { "headroom": .4 },
161
+ "setLoadBalancingShares": {
162
+ "nodes": {},
163
+ "devices": {}
164
+ },
165
+ "suggestShares": { "headroom": .4 }
160
166
  },
161
167
  "pipeline-runner": {
162
168
  "attachCamera": {
@@ -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`,
@@ -1348,10 +1337,15 @@ export declare const pipelineOrchestratorCapability: {
1348
1337
  */
1349
1338
  readonly planBestSettings: 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;
@@ -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,92 @@ 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 Best settings 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>;
1799
1884
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
1800
1885
  readonly getCameraSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1801
1886
  deviceId: z.ZodNumber;
1802
1887
  }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
1803
- pinnedAgentNodeId: z.ZodOptional<z.ZodString>;
1804
1888
  stepToggles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1805
1889
  stepOverridesByDevice: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
1806
1890
  modelId: z.ZodOptional<z.ZodString>;
package/dist/client.js CHANGED
@@ -7493,7 +7493,6 @@ 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),
@@ -7502,6 +7501,9 @@ function createSystemProxy(api) {
7502
7501
  resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
7503
7502
  planBestSettings: (input) => dispatch("pipelineOrchestrator", "planBestSettings", "query", input),
7504
7503
  applyBestSettings: (input) => dispatch("pipelineOrchestrator", "applyBestSettings", "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),
7505
7507
  getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
7506
7508
  setCameraSensors: (input) => dispatch("pipelineOrchestrator", "setCameraSensors", "mutation", input),
7507
7509
  reconcileFromDisk: (input) => dispatch("pipelineOrchestrator", "reconcileFromDisk", "mutation", input),
package/dist/client.mjs CHANGED
@@ -7492,7 +7492,6 @@ 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),
@@ -7501,6 +7500,9 @@ function createSystemProxy(api) {
7501
7500
  resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
7502
7501
  planBestSettings: (input) => dispatch("pipelineOrchestrator", "planBestSettings", "query", input),
7503
7502
  applyBestSettings: (input) => dispatch("pipelineOrchestrator", "applyBestSettings", "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),
7504
7506
  getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
7505
7507
  setCameraSensors: (input) => dispatch("pipelineOrchestrator", "setCameraSensors", "mutation", input),
7506
7508
  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;
@@ -6616,6 +6609,27 @@ export type AppRouter = TrpcCoreRouter<{
6616
6609
  output: z.infer<typeof pipelineOrchestratorCapability.methods.applyBestSettings.output>;
6617
6610
  meta: object;
6618
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
+ }>;
6619
6633
  getCameraSettings: TRPCQueryProcedure<{
6620
6634
  input: {
6621
6635
  [x: string]: unknown;
@@ -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, 60 methods with defaults.
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: 1230 method paths across 165 capabilities.
9
+ * Coverage: 1232 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' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'planBestSettings' | 'applyBestSettings' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
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' | 'planBestSettings' | 'applyBestSettings' | 'setLoadBalancingShares' | 'getPlacementStats' | 'suggestShares' | '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
@@ -269,6 +269,7 @@ export { type FormatRunnableModel, stepModelRunsOnFormat, } from './pipeline/ste
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
271
  export * from './pipeline/best-settings/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';