@camstack/types 1.2.401 → 1.2.402
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/capabilities/index.d.ts +1 -1
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +28 -0
- package/dist/capabilities/platform-probe.cap.d.ts +74 -0
- package/dist/client.js +8 -0
- package/dist/client.mjs +8 -0
- package/dist/generated/addon-api.d.ts +14 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/index.js +80 -3
- package/dist/index.mjs +80 -3
- package/dist/pipeline/load-balancing/effective-shares.d.ts +6 -0
- package/package.json +1 -1
|
@@ -211,7 +211,7 @@ export { type IOsdProvider, type OsdOverlay, type OsdOverlayKind, OsdOverlayKind
|
|
|
211
211
|
export { type IOsdManagerProvider, type OsdNamedTemplate, OsdNamedTemplateSchema, type OsdRenderOutcome, OsdRenderOutcomeEnum, type OsdRenderResult, OsdRenderResultSchema, type OsdSlotBinding, OsdSlotBindingSchema, type OsdSlotView, OsdSlotViewSchema, type OsdSource, type OsdSourceOption, OsdSourceOptionSchema, OsdSourceSchema, type OsdSourceValueType, OsdSourceValueTypeEnum, type OsdTemplateBinding, OsdTemplateBindingSchema, type OsdTemplateFormat, OsdTemplateFormatSchema, type OsdTemplatePick, OsdTemplatePickSchema, type OsdTemplateTokenKind, OsdTemplateTokenKindSchema, osdManagerCapability, } from './osd-manager.cap.js';
|
|
212
212
|
export { type IPetFeederProvider, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, type PetFeederStatus, PetFeederStatusSchema, petFeederCapability, } from './pet-feeder.cap.js';
|
|
213
213
|
export { type IPlateGalleryProvider, type PlateInfo, plateGalleryCapability, type Vehicle, type VehicleSampleInfo, } from './plate-gallery.cap.js';
|
|
214
|
-
export { type HardwareDecodeAccels, type HardwareEncoderId, type HardwareEncoderProbe, type HardwareEncoders, type IPlatformProbeProvider, platformProbeCapability, } from './platform-probe.cap.js';
|
|
214
|
+
export { type AcceleratorRescan, type HardwareDecodeAccels, type HardwareEncoderId, type HardwareEncoderProbe, type HardwareEncoders, type IPlatformProbeProvider, platformProbeCapability, } from './platform-probe.cap.js';
|
|
215
215
|
export { type IPowerMeterProvider, type PowerMeterStatus, PowerMeterStatusSchema, powerMeterCapability, } from './power-meter.cap.js';
|
|
216
216
|
export { type GpsLocation, type IPresenceProvider, type PresenceStatus, PresenceStatusSchema, presenceCapability, } from './presence.cap.js';
|
|
217
217
|
export { type IPressureSensorProvider, type PressureSensorStatus, PressureSensorStatusSchema, pressureSensorCapability, } from './pressure-sensor.cap.js';
|
|
@@ -608,6 +608,11 @@ declare const NodeInferenceDeviceSchema: z.ZodObject<{
|
|
|
608
608
|
tflite: "tflite";
|
|
609
609
|
}>;
|
|
610
610
|
available: z.ZodBoolean;
|
|
611
|
+
presence: z.ZodOptional<z.ZodEnum<{
|
|
612
|
+
absent: "absent";
|
|
613
|
+
present: "present";
|
|
614
|
+
unknown: "unknown";
|
|
615
|
+
}>>;
|
|
611
616
|
enabled: z.ZodBoolean;
|
|
612
617
|
weight: z.ZodNumber;
|
|
613
618
|
maxSessions: z.ZodNullable<z.ZodNumber>;
|
|
@@ -665,6 +670,11 @@ declare const NodeInferenceDevicesSchema: z.ZodObject<{
|
|
|
665
670
|
tflite: "tflite";
|
|
666
671
|
}>;
|
|
667
672
|
available: z.ZodBoolean;
|
|
673
|
+
presence: z.ZodOptional<z.ZodEnum<{
|
|
674
|
+
absent: "absent";
|
|
675
|
+
present: "present";
|
|
676
|
+
unknown: "unknown";
|
|
677
|
+
}>>;
|
|
668
678
|
enabled: z.ZodBoolean;
|
|
669
679
|
weight: z.ZodNumber;
|
|
670
680
|
maxSessions: z.ZodNullable<z.ZodNumber>;
|
|
@@ -1269,6 +1279,11 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1269
1279
|
tflite: "tflite";
|
|
1270
1280
|
}>;
|
|
1271
1281
|
available: z.ZodBoolean;
|
|
1282
|
+
presence: z.ZodOptional<z.ZodEnum<{
|
|
1283
|
+
absent: "absent";
|
|
1284
|
+
present: "present";
|
|
1285
|
+
unknown: "unknown";
|
|
1286
|
+
}>>;
|
|
1272
1287
|
enabled: z.ZodBoolean;
|
|
1273
1288
|
weight: z.ZodNumber;
|
|
1274
1289
|
maxSessions: z.ZodNullable<z.ZodNumber>;
|
|
@@ -1286,6 +1301,19 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1286
1301
|
}>>;
|
|
1287
1302
|
}, z.core.$strip>>>;
|
|
1288
1303
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1304
|
+
/**
|
|
1305
|
+
* Delete ONE stored device entry of a node — the "forget" of a device the
|
|
1306
|
+
* node no longer has (D919). Refused unless the node's probe ANSWERED and
|
|
1307
|
+
* did not report the key: a present device is switched off, not forgotten,
|
|
1308
|
+
* and an unreachable node proves nothing about its hardware. The rest of
|
|
1309
|
+
* the node's map is kept as stored.
|
|
1310
|
+
*/
|
|
1311
|
+
readonly forgetInferenceDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1312
|
+
agentNodeId: z.ZodString;
|
|
1313
|
+
deviceKey: z.ZodString;
|
|
1314
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1315
|
+
success: z.ZodLiteral<true>;
|
|
1316
|
+
}, z.core.$strip>, "mutation">;
|
|
1289
1317
|
/**
|
|
1290
1318
|
* Reset one node's pipeline to its hardware-aware defaults — the HONEST
|
|
1291
1319
|
* reset (replaces the executor's legacy `resetToDefault`, which cleared a
|
|
@@ -121,6 +121,43 @@ declare const HardwareDecodeAccelsSchema: z.ZodObject<{
|
|
|
121
121
|
probedAt: z.ZodNumber;
|
|
122
122
|
}, z.core.$strip>;
|
|
123
123
|
export type HardwareDecodeAccels = z.infer<typeof HardwareDecodeAccelsSchema>;
|
|
124
|
+
/**
|
|
125
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
126
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
127
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
128
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
129
|
+
*/
|
|
130
|
+
declare const AcceleratorRescanSchema: z.ZodObject<{
|
|
131
|
+
devices: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
132
|
+
key: z.ZodString;
|
|
133
|
+
backend: z.ZodString;
|
|
134
|
+
device: z.ZodString;
|
|
135
|
+
format: z.ZodEnum<{
|
|
136
|
+
coreml: "coreml";
|
|
137
|
+
gguf: "gguf";
|
|
138
|
+
onnx: "onnx";
|
|
139
|
+
openvino: "openvino";
|
|
140
|
+
pt: "pt";
|
|
141
|
+
tflite: "tflite";
|
|
142
|
+
}>;
|
|
143
|
+
runtime: z.ZodLiteral<"python">;
|
|
144
|
+
score: z.ZodNumber;
|
|
145
|
+
available: z.ZodBoolean;
|
|
146
|
+
}, z.core.$strip>>>;
|
|
147
|
+
appeared: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
148
|
+
disappeared: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
149
|
+
usbBus: z.ZodEnum<{
|
|
150
|
+
observed: "observed";
|
|
151
|
+
unobservable: "unobservable";
|
|
152
|
+
}>;
|
|
153
|
+
decidedBy: z.ZodEnum<{
|
|
154
|
+
"delegate-fallback": "delegate-fallback";
|
|
155
|
+
none: "none";
|
|
156
|
+
pci: "pci";
|
|
157
|
+
"usb-ids": "usb-ids";
|
|
158
|
+
}>;
|
|
159
|
+
}, z.core.$strip>;
|
|
160
|
+
export type AcceleratorRescan = z.infer<typeof AcceleratorRescanSchema>;
|
|
124
161
|
export declare const platformProbeCapability: {
|
|
125
162
|
readonly name: 'platform-probe';
|
|
126
163
|
readonly scope: 'system';
|
|
@@ -336,6 +373,43 @@ export declare const platformProbeCapability: {
|
|
|
336
373
|
preferred: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
337
374
|
rationale: z.ZodString;
|
|
338
375
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
376
|
+
/**
|
|
377
|
+
* Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
|
|
378
|
+
* `/sys` and `/dev` reads, no model load) and rebuild the device list that
|
|
379
|
+
* `getCapabilities` serves. The same re-probe runs every 60 s on its own;
|
|
380
|
+
* this is the operator's "rescan inference devices". Target a node with the
|
|
381
|
+
* `{ nodeId }` routing input, like `getCapabilities`.
|
|
382
|
+
*/
|
|
383
|
+
readonly rescanAccelerators: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
|
|
384
|
+
devices: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
385
|
+
key: z.ZodString;
|
|
386
|
+
backend: z.ZodString;
|
|
387
|
+
device: z.ZodString;
|
|
388
|
+
format: z.ZodEnum<{
|
|
389
|
+
coreml: "coreml";
|
|
390
|
+
gguf: "gguf";
|
|
391
|
+
onnx: "onnx";
|
|
392
|
+
openvino: "openvino";
|
|
393
|
+
pt: "pt";
|
|
394
|
+
tflite: "tflite";
|
|
395
|
+
}>;
|
|
396
|
+
runtime: z.ZodLiteral<"python">;
|
|
397
|
+
score: z.ZodNumber;
|
|
398
|
+
available: z.ZodBoolean;
|
|
399
|
+
}, z.core.$strip>>>;
|
|
400
|
+
appeared: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
401
|
+
disappeared: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
402
|
+
usbBus: z.ZodEnum<{
|
|
403
|
+
observed: "observed";
|
|
404
|
+
unobservable: "unobservable";
|
|
405
|
+
}>;
|
|
406
|
+
decidedBy: z.ZodEnum<{
|
|
407
|
+
"delegate-fallback": "delegate-fallback";
|
|
408
|
+
none: "none";
|
|
409
|
+
pci: "pci";
|
|
410
|
+
"usb-ids": "usb-ids";
|
|
411
|
+
}>;
|
|
412
|
+
}, z.core.$strip>, "mutation">;
|
|
339
413
|
};
|
|
340
414
|
};
|
|
341
415
|
export type IPlatformProbeProvider = InferProvider<typeof platformProbeCapability>;
|
package/dist/client.js
CHANGED
|
@@ -25317,6 +25317,13 @@ var TopologyNodeSchema = zod.z.object({
|
|
|
25317
25317
|
cpuModel: zod.z.string().nullable(),
|
|
25318
25318
|
cpuCores: zod.z.number(),
|
|
25319
25319
|
memoryMB: zod.z.number(),
|
|
25320
|
+
/**
|
|
25321
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
25322
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
25323
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
25324
|
+
* after the stick leaves, D919); the live device set is
|
|
25325
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
25326
|
+
*/
|
|
25320
25327
|
engines: zod.z.array(zod.z.string()).readonly(),
|
|
25321
25328
|
isHub: zod.z.boolean(),
|
|
25322
25329
|
isOnline: zod.z.boolean(),
|
|
@@ -28169,6 +28176,7 @@ function createSystemProxy(api) {
|
|
|
28169
28176
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
28170
28177
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
28171
28178
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
28179
|
+
forgetInferenceDevice: (input) => dispatch("pipelineOrchestrator", "forgetInferenceDevice", "mutation", input),
|
|
28172
28180
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
28173
28181
|
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
28174
28182
|
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
package/dist/client.mjs
CHANGED
|
@@ -25316,6 +25316,13 @@ var TopologyNodeSchema = z.object({
|
|
|
25316
25316
|
cpuModel: z.string().nullable(),
|
|
25317
25317
|
cpuCores: z.number(),
|
|
25318
25318
|
memoryMB: z.number(),
|
|
25319
|
+
/**
|
|
25320
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
25321
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
25322
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
25323
|
+
* after the stick leaves, D919); the live device set is
|
|
25324
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
25325
|
+
*/
|
|
25319
25326
|
engines: z.array(z.string()).readonly(),
|
|
25320
25327
|
isHub: z.boolean(),
|
|
25321
25328
|
isOnline: z.boolean(),
|
|
@@ -28168,6 +28175,7 @@ function createSystemProxy(api) {
|
|
|
28168
28175
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
28169
28176
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
28170
28177
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
28178
|
+
forgetInferenceDevice: (input) => dispatch("pipelineOrchestrator", "forgetInferenceDevice", "mutation", input),
|
|
28171
28179
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
28172
28180
|
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
28173
28181
|
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
|
@@ -7272,6 +7272,13 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
7272
7272
|
output: z.infer<typeof pipelineOrchestratorCapability.methods.getNodeInferenceDevices.output>;
|
|
7273
7273
|
meta: object;
|
|
7274
7274
|
}>;
|
|
7275
|
+
forgetInferenceDevice: TRPCMutationProcedure<{
|
|
7276
|
+
input: {
|
|
7277
|
+
[x: string]: unknown;
|
|
7278
|
+
} & z.input<typeof pipelineOrchestratorCapability.methods.forgetInferenceDevice.input>;
|
|
7279
|
+
output: z.infer<typeof pipelineOrchestratorCapability.methods.forgetInferenceDevice.output>;
|
|
7280
|
+
meta: object;
|
|
7281
|
+
}>;
|
|
7275
7282
|
resetNodePipelineDefaults: TRPCMutationProcedure<{
|
|
7276
7283
|
input: {
|
|
7277
7284
|
[x: string]: unknown;
|
|
@@ -7777,6 +7784,13 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
7777
7784
|
output: z.infer<typeof platformProbeCapability.methods.resolveHwAccel.output>;
|
|
7778
7785
|
meta: object;
|
|
7779
7786
|
}>;
|
|
7787
|
+
rescanAccelerators: TRPCMutationProcedure<{
|
|
7788
|
+
input: {
|
|
7789
|
+
nodeId?: string | undefined;
|
|
7790
|
+
} | undefined;
|
|
7791
|
+
output: z.infer<typeof platformProbeCapability.methods.rescanAccelerators.output>;
|
|
7792
|
+
meta: object;
|
|
7793
|
+
}>;
|
|
7780
7794
|
}>>;
|
|
7781
7795
|
powerMeter: TRPCBuiltRouter<{
|
|
7782
7796
|
ctx: TrpcContext;
|
|
@@ -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: 1384 method paths across 179 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -98,7 +98,7 @@ export interface SystemProxy {
|
|
|
98
98
|
readonly oidcConnections: Pick<InferProvider<typeof oidcConnectionsCapability>, 'connectionFormSchema' | 'listConnections' | 'createConnection' | 'updateConnection' | 'deleteConnection'>;
|
|
99
99
|
readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration' | 'listTemplates' | 'upsertTemplate' | 'deleteTemplate'>;
|
|
100
100
|
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'clearModelBoundDeviceOverrides' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
101
|
-
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' | 'getNodeBenchmarkPreflight' | 'startNodeBenchmark' | 'getNodeBenchmarkStatus' | 'abortNodeBenchmark' | 'getNodeBenchmarkCandidates' | 'listNodeBenchmarkResults' | 'deleteNodeBenchmarkResult' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus'>;
|
|
101
|
+
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' | 'forgetInferenceDevice' | 'resetNodePipelineDefaults' | 'planAutoTune' | 'applyAutoTune' | 'setLoadBalancingShares' | 'getPlacementStats' | 'suggestShares' | 'getEffectiveShares' | 'setShareSource' | 'getNodeBenchmarkPreflight' | 'startNodeBenchmark' | 'getNodeBenchmarkStatus' | 'abortNodeBenchmark' | 'getNodeBenchmarkCandidates' | 'listNodeBenchmarkResults' | 'deleteNodeBenchmarkResult' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus'>;
|
|
102
102
|
readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep' | 'startNodeBench' | 'getNodeBenchStatus' | 'abortNodeBench'>;
|
|
103
103
|
readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
|
|
104
104
|
readonly recordEntries: Pick<InferProvider<typeof recordEntriesCapability>, 'listEntryKinds' | 'listEntries' | 'putEntry' | 'deleteEntry'>;
|
package/dist/index.js
CHANGED
|
@@ -54125,6 +54125,19 @@ var NodeInferenceDeviceSchema = zod.z.object({
|
|
|
54125
54125
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
54126
54126
|
available: zod.z.boolean(),
|
|
54127
54127
|
/**
|
|
54128
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
54129
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
54130
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
54131
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
54132
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
54133
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
54134
|
+
*/
|
|
54135
|
+
presence: zod.z.enum([
|
|
54136
|
+
"present",
|
|
54137
|
+
"absent",
|
|
54138
|
+
"unknown"
|
|
54139
|
+
]).optional(),
|
|
54140
|
+
/**
|
|
54128
54141
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
54129
54142
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
54130
54143
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -54562,6 +54575,20 @@ var pipelineOrchestratorCapability = {
|
|
|
54562
54575
|
*/
|
|
54563
54576
|
getNodeInferenceDevices: require_sleep.method(zod.z.object({ nodeId: zod.z.string() }), NodeInferenceDevicesSchema),
|
|
54564
54577
|
/**
|
|
54578
|
+
* Delete ONE stored device entry of a node — the "forget" of a device the
|
|
54579
|
+
* node no longer has (D919). Refused unless the node's probe ANSWERED and
|
|
54580
|
+
* did not report the key: a present device is switched off, not forgotten,
|
|
54581
|
+
* and an unreachable node proves nothing about its hardware. The rest of
|
|
54582
|
+
* the node's map is kept as stored.
|
|
54583
|
+
*/
|
|
54584
|
+
forgetInferenceDevice: require_sleep.method(zod.z.object({
|
|
54585
|
+
agentNodeId: zod.z.string(),
|
|
54586
|
+
deviceKey: zod.z.string()
|
|
54587
|
+
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
54588
|
+
kind: "mutation",
|
|
54589
|
+
auth: "admin"
|
|
54590
|
+
}),
|
|
54591
|
+
/**
|
|
54565
54592
|
* Reset one node's pipeline to its hardware-aware defaults — the HONEST
|
|
54566
54593
|
* reset (replaces the executor's legacy `resetToDefault`, which cleared a
|
|
54567
54594
|
* dead persisted step-tree seed nothing in the live path read):
|
|
@@ -65314,7 +65341,7 @@ var motionTriggerCapability = {
|
|
|
65314
65341
|
enabled: zod.z.boolean()
|
|
65315
65342
|
}), zod.z.void(), {
|
|
65316
65343
|
kind: "mutation",
|
|
65317
|
-
auth: "
|
|
65344
|
+
auth: "protected"
|
|
65318
65345
|
}) },
|
|
65319
65346
|
events: { onMotionTriggerChanged: { data: zod.z.object({
|
|
65320
65347
|
deviceId: zod.z.number(),
|
|
@@ -66244,6 +66271,13 @@ var TopologyNodeSchema = zod.z.object({
|
|
|
66244
66271
|
cpuModel: zod.z.string().nullable(),
|
|
66245
66272
|
cpuCores: zod.z.number(),
|
|
66246
66273
|
memoryMB: zod.z.number(),
|
|
66274
|
+
/**
|
|
66275
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
66276
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
66277
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
66278
|
+
* after the stick leaves, D919); the live device set is
|
|
66279
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
66280
|
+
*/
|
|
66247
66281
|
engines: zod.z.array(zod.z.string()).readonly(),
|
|
66248
66282
|
isHub: zod.z.boolean(),
|
|
66249
66283
|
isOnline: zod.z.boolean(),
|
|
@@ -67623,6 +67657,24 @@ var ResolvedInferenceConfigSchema = zod.z.object({
|
|
|
67623
67657
|
format: ModelFormatSchema,
|
|
67624
67658
|
reason: zod.z.string()
|
|
67625
67659
|
});
|
|
67660
|
+
/**
|
|
67661
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
67662
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
67663
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
67664
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
67665
|
+
*/
|
|
67666
|
+
var AcceleratorRescanSchema = zod.z.object({
|
|
67667
|
+
devices: zod.z.array(InferenceDeviceDescriptorSchema).readonly(),
|
|
67668
|
+
appeared: zod.z.array(zod.z.string()).readonly(),
|
|
67669
|
+
disappeared: zod.z.array(zod.z.string()).readonly(),
|
|
67670
|
+
usbBus: zod.z.enum(["observed", "unobservable"]),
|
|
67671
|
+
decidedBy: zod.z.enum([
|
|
67672
|
+
"usb-ids",
|
|
67673
|
+
"pci",
|
|
67674
|
+
"delegate-fallback",
|
|
67675
|
+
"none"
|
|
67676
|
+
])
|
|
67677
|
+
});
|
|
67626
67678
|
var platformProbeCapability = {
|
|
67627
67679
|
name: "platform-probe",
|
|
67628
67680
|
scope: "system",
|
|
@@ -67631,7 +67683,18 @@ var platformProbeCapability = {
|
|
|
67631
67683
|
getCapabilities: require_sleep.method(zod.z.void(), PlatformCapabilitiesSchema),
|
|
67632
67684
|
getHardware: require_sleep.method(zod.z.void(), HardwareInfoSchema),
|
|
67633
67685
|
resolveInferenceConfig: require_sleep.method(zod.z.object({ requirements: zod.z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
|
|
67634
|
-
resolveHwAccel: require_sleep.method(zod.z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema)
|
|
67686
|
+
resolveHwAccel: require_sleep.method(zod.z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
|
|
67687
|
+
/**
|
|
67688
|
+
* Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
|
|
67689
|
+
* `/sys` and `/dev` reads, no model load) and rebuild the device list that
|
|
67690
|
+
* `getCapabilities` serves. The same re-probe runs every 60 s on its own;
|
|
67691
|
+
* this is the operator's "rescan inference devices". Target a node with the
|
|
67692
|
+
* `{ nodeId }` routing input, like `getCapabilities`.
|
|
67693
|
+
*/
|
|
67694
|
+
rescanAccelerators: require_sleep.method(zod.z.void(), AcceleratorRescanSchema, {
|
|
67695
|
+
kind: "mutation",
|
|
67696
|
+
auth: "admin"
|
|
67697
|
+
})
|
|
67635
67698
|
}
|
|
67636
67699
|
};
|
|
67637
67700
|
//#endregion
|
|
@@ -83577,6 +83640,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
83577
83640
|
addonId: null,
|
|
83578
83641
|
access: "delete"
|
|
83579
83642
|
},
|
|
83643
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
83644
|
+
capName: "pipeline-orchestrator",
|
|
83645
|
+
capScope: "system",
|
|
83646
|
+
addonId: null,
|
|
83647
|
+
access: "delete"
|
|
83648
|
+
},
|
|
83580
83649
|
"pipelineOrchestrator.getAgentLoad": {
|
|
83581
83650
|
capName: "pipeline-orchestrator",
|
|
83582
83651
|
capScope: "system",
|
|
@@ -84153,6 +84222,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84153
84222
|
addonId: null,
|
|
84154
84223
|
access: "view"
|
|
84155
84224
|
},
|
|
84225
|
+
"platformProbe.rescanAccelerators": {
|
|
84226
|
+
capName: "platform-probe",
|
|
84227
|
+
capScope: "system",
|
|
84228
|
+
addonId: null,
|
|
84229
|
+
access: "create"
|
|
84230
|
+
},
|
|
84156
84231
|
"platformProbe.resolveHwAccel": {
|
|
84157
84232
|
capName: "platform-probe",
|
|
84158
84233
|
capScope: "system",
|
|
@@ -94502,6 +94577,7 @@ function createSystemProxy(api) {
|
|
|
94502
94577
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
94503
94578
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
94504
94579
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
94580
|
+
forgetInferenceDevice: (input) => dispatch("pipelineOrchestrator", "forgetInferenceDevice", "mutation", input),
|
|
94505
94581
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
94506
94582
|
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
94507
94583
|
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
|
@@ -101645,7 +101721,8 @@ function resolveEffectiveShares(input) {
|
|
|
101645
101721
|
const nodes = input.nodeIds.map((nodeId) => {
|
|
101646
101722
|
const eligibleKeys = new Set(input.eligibleDevices[nodeId] ?? []);
|
|
101647
101723
|
const named = weights.devices[nodeId] ?? {};
|
|
101648
|
-
const
|
|
101724
|
+
const absent = new Set(input.absentDevices?.[nodeId] ?? []);
|
|
101725
|
+
const keys = [...new Set([...Object.keys(named), ...eligibleKeys])].filter((k) => !absent.has(k)).toSorted();
|
|
101649
101726
|
const perDevice = {};
|
|
101650
101727
|
for (const key of keys) perDevice[key] = positive(named[key]);
|
|
101651
101728
|
if (keys.length > 0) deviceWeights[nodeId] = perDevice;
|
package/dist/index.mjs
CHANGED
|
@@ -54124,6 +54124,19 @@ var NodeInferenceDeviceSchema = z.object({
|
|
|
54124
54124
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
54125
54125
|
available: z.boolean(),
|
|
54126
54126
|
/**
|
|
54127
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
54128
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
54129
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
54130
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
54131
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
54132
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
54133
|
+
*/
|
|
54134
|
+
presence: z.enum([
|
|
54135
|
+
"present",
|
|
54136
|
+
"absent",
|
|
54137
|
+
"unknown"
|
|
54138
|
+
]).optional(),
|
|
54139
|
+
/**
|
|
54127
54140
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
54128
54141
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
54129
54142
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -54561,6 +54574,20 @@ var pipelineOrchestratorCapability = {
|
|
|
54561
54574
|
*/
|
|
54562
54575
|
getNodeInferenceDevices: method(z.object({ nodeId: z.string() }), NodeInferenceDevicesSchema),
|
|
54563
54576
|
/**
|
|
54577
|
+
* Delete ONE stored device entry of a node — the "forget" of a device the
|
|
54578
|
+
* node no longer has (D919). Refused unless the node's probe ANSWERED and
|
|
54579
|
+
* did not report the key: a present device is switched off, not forgotten,
|
|
54580
|
+
* and an unreachable node proves nothing about its hardware. The rest of
|
|
54581
|
+
* the node's map is kept as stored.
|
|
54582
|
+
*/
|
|
54583
|
+
forgetInferenceDevice: method(z.object({
|
|
54584
|
+
agentNodeId: z.string(),
|
|
54585
|
+
deviceKey: z.string()
|
|
54586
|
+
}), z.object({ success: z.literal(true) }), {
|
|
54587
|
+
kind: "mutation",
|
|
54588
|
+
auth: "admin"
|
|
54589
|
+
}),
|
|
54590
|
+
/**
|
|
54564
54591
|
* Reset one node's pipeline to its hardware-aware defaults — the HONEST
|
|
54565
54592
|
* reset (replaces the executor's legacy `resetToDefault`, which cleared a
|
|
54566
54593
|
* dead persisted step-tree seed nothing in the live path read):
|
|
@@ -65313,7 +65340,7 @@ var motionTriggerCapability = {
|
|
|
65313
65340
|
enabled: z.boolean()
|
|
65314
65341
|
}), z.void(), {
|
|
65315
65342
|
kind: "mutation",
|
|
65316
|
-
auth: "
|
|
65343
|
+
auth: "protected"
|
|
65317
65344
|
}) },
|
|
65318
65345
|
events: { onMotionTriggerChanged: { data: z.object({
|
|
65319
65346
|
deviceId: z.number(),
|
|
@@ -66243,6 +66270,13 @@ var TopologyNodeSchema = z.object({
|
|
|
66243
66270
|
cpuModel: z.string().nullable(),
|
|
66244
66271
|
cpuCores: z.number(),
|
|
66245
66272
|
memoryMB: z.number(),
|
|
66273
|
+
/**
|
|
66274
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
66275
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
66276
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
66277
|
+
* after the stick leaves, D919); the live device set is
|
|
66278
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
66279
|
+
*/
|
|
66246
66280
|
engines: z.array(z.string()).readonly(),
|
|
66247
66281
|
isHub: z.boolean(),
|
|
66248
66282
|
isOnline: z.boolean(),
|
|
@@ -67622,6 +67656,24 @@ var ResolvedInferenceConfigSchema = z.object({
|
|
|
67622
67656
|
format: ModelFormatSchema,
|
|
67623
67657
|
reason: z.string()
|
|
67624
67658
|
});
|
|
67659
|
+
/**
|
|
67660
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
67661
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
67662
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
67663
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
67664
|
+
*/
|
|
67665
|
+
var AcceleratorRescanSchema = z.object({
|
|
67666
|
+
devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
|
|
67667
|
+
appeared: z.array(z.string()).readonly(),
|
|
67668
|
+
disappeared: z.array(z.string()).readonly(),
|
|
67669
|
+
usbBus: z.enum(["observed", "unobservable"]),
|
|
67670
|
+
decidedBy: z.enum([
|
|
67671
|
+
"usb-ids",
|
|
67672
|
+
"pci",
|
|
67673
|
+
"delegate-fallback",
|
|
67674
|
+
"none"
|
|
67675
|
+
])
|
|
67676
|
+
});
|
|
67625
67677
|
var platformProbeCapability = {
|
|
67626
67678
|
name: "platform-probe",
|
|
67627
67679
|
scope: "system",
|
|
@@ -67630,7 +67682,18 @@ var platformProbeCapability = {
|
|
|
67630
67682
|
getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
|
|
67631
67683
|
getHardware: method(z.void(), HardwareInfoSchema),
|
|
67632
67684
|
resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
|
|
67633
|
-
resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema)
|
|
67685
|
+
resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
|
|
67686
|
+
/**
|
|
67687
|
+
* Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
|
|
67688
|
+
* `/sys` and `/dev` reads, no model load) and rebuild the device list that
|
|
67689
|
+
* `getCapabilities` serves. The same re-probe runs every 60 s on its own;
|
|
67690
|
+
* this is the operator's "rescan inference devices". Target a node with the
|
|
67691
|
+
* `{ nodeId }` routing input, like `getCapabilities`.
|
|
67692
|
+
*/
|
|
67693
|
+
rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
|
|
67694
|
+
kind: "mutation",
|
|
67695
|
+
auth: "admin"
|
|
67696
|
+
})
|
|
67634
67697
|
}
|
|
67635
67698
|
};
|
|
67636
67699
|
//#endregion
|
|
@@ -83576,6 +83639,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
83576
83639
|
addonId: null,
|
|
83577
83640
|
access: "delete"
|
|
83578
83641
|
},
|
|
83642
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
83643
|
+
capName: "pipeline-orchestrator",
|
|
83644
|
+
capScope: "system",
|
|
83645
|
+
addonId: null,
|
|
83646
|
+
access: "delete"
|
|
83647
|
+
},
|
|
83579
83648
|
"pipelineOrchestrator.getAgentLoad": {
|
|
83580
83649
|
capName: "pipeline-orchestrator",
|
|
83581
83650
|
capScope: "system",
|
|
@@ -84152,6 +84221,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84152
84221
|
addonId: null,
|
|
84153
84222
|
access: "view"
|
|
84154
84223
|
},
|
|
84224
|
+
"platformProbe.rescanAccelerators": {
|
|
84225
|
+
capName: "platform-probe",
|
|
84226
|
+
capScope: "system",
|
|
84227
|
+
addonId: null,
|
|
84228
|
+
access: "create"
|
|
84229
|
+
},
|
|
84155
84230
|
"platformProbe.resolveHwAccel": {
|
|
84156
84231
|
capName: "platform-probe",
|
|
84157
84232
|
capScope: "system",
|
|
@@ -94501,6 +94576,7 @@ function createSystemProxy(api) {
|
|
|
94501
94576
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
94502
94577
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
94503
94578
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
94579
|
+
forgetInferenceDevice: (input) => dispatch("pipelineOrchestrator", "forgetInferenceDevice", "mutation", input),
|
|
94504
94580
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
94505
94581
|
planAutoTune: (input) => dispatch("pipelineOrchestrator", "planAutoTune", "query", input),
|
|
94506
94582
|
applyAutoTune: (input) => dispatch("pipelineOrchestrator", "applyAutoTune", "mutation", input),
|
|
@@ -101644,7 +101720,8 @@ function resolveEffectiveShares(input) {
|
|
|
101644
101720
|
const nodes = input.nodeIds.map((nodeId) => {
|
|
101645
101721
|
const eligibleKeys = new Set(input.eligibleDevices[nodeId] ?? []);
|
|
101646
101722
|
const named = weights.devices[nodeId] ?? {};
|
|
101647
|
-
const
|
|
101723
|
+
const absent = new Set(input.absentDevices?.[nodeId] ?? []);
|
|
101724
|
+
const keys = [...new Set([...Object.keys(named), ...eligibleKeys])].filter((k) => !absent.has(k)).toSorted();
|
|
101648
101725
|
const perDevice = {};
|
|
101649
101726
|
for (const key of keys) perDevice[key] = positive(named[key]);
|
|
101650
101727
|
if (keys.length > 0) deviceWeights[nodeId] = perDevice;
|
|
@@ -26,6 +26,12 @@ export interface EffectiveSharesInput {
|
|
|
26
26
|
readonly eligibleNodes: readonly string[];
|
|
27
27
|
/** nodeId → device keys that can take sessions; a node absent here lists none. */
|
|
28
28
|
readonly eligibleDevices: Readonly<Record<string, readonly string[]>>;
|
|
29
|
+
/**
|
|
30
|
+
* nodeId → device keys the node's probe answered WITHOUT (D919): stored
|
|
31
|
+
* weights survive a device that left, but it takes no share — neither set
|
|
32
|
+
* nor effective — and the election's weights never name it.
|
|
33
|
+
*/
|
|
34
|
+
readonly absentDevices?: Readonly<Record<string, readonly string[]>>;
|
|
29
35
|
readonly policy?: SessionPlacementPolicy;
|
|
30
36
|
readonly computedAt?: number | null;
|
|
31
37
|
readonly trigger?: string | null;
|