@camstack/types 1.2.402 → 1.2.404

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.
Files changed (57) hide show
  1. package/dist/addon.js +2 -2
  2. package/dist/addon.mjs +2 -2
  3. package/dist/auth/credential-scope.d.ts +23 -3
  4. package/dist/auth/viewer-access.d.ts +112 -0
  5. package/dist/capabilities/capability-definition.d.ts +14 -0
  6. package/dist/capabilities/face-gallery.cap.d.ts +3 -0
  7. package/dist/capabilities/index.d.ts +3 -3
  8. package/dist/capabilities/pipeline-analytics.cap.d.ts +82 -0
  9. package/dist/capabilities/pipeline-executor.cap.d.ts +0 -64
  10. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +32 -124
  11. package/dist/capabilities/plate-gallery.cap.d.ts +3 -0
  12. package/dist/capabilities/scene-monitor.cap.d.ts +3 -0
  13. package/dist/capabilities/training.cap.d.ts +91 -71
  14. package/dist/capabilities/user-management.cap.d.ts +108 -18
  15. package/dist/client.js +9 -8
  16. package/dist/client.mjs +9 -8
  17. package/dist/clips/clip-event-labels.d.ts +96 -0
  18. package/dist/device/cap-vocabulary/entries/actuators.d.ts +5 -0
  19. package/dist/device/cap-vocabulary/entries/appliances.d.ts +5 -0
  20. package/dist/device/cap-vocabulary/entries/camera.d.ts +5 -0
  21. package/dist/device/cap-vocabulary/entries/sensors.d.ts +5 -0
  22. package/dist/device/cap-vocabulary/entries/system.d.ts +8 -0
  23. package/dist/device/cap-vocabulary/index.d.ts +9 -0
  24. package/dist/device/cap-vocabulary/l10n.d.ts +7 -0
  25. package/dist/device/cap-vocabulary/resolve.d.ts +100 -0
  26. package/dist/device/cap-vocabulary/templates.d.ts +11 -0
  27. package/dist/device/cap-vocabulary/types.d.ts +398 -0
  28. package/dist/device/cap-vocabulary/vocabulary.d.ts +5 -0
  29. package/dist/device/device-do-actions.d.ts +8 -2
  30. package/dist/enums/event-category.d.ts +2 -3
  31. package/dist/enums.js +1 -1
  32. package/dist/enums.mjs +1 -1
  33. package/dist/{event-category-7AwNbPjm.js → event-category-CXrwjC3e.js} +2 -3
  34. package/dist/{event-category-BfJwUd2S.mjs → event-category-fDPduoeC.mjs} +2 -3
  35. package/dist/generated/addon-api.d.ts +52 -56
  36. package/dist/generated/device-proxy.d.ts +1 -1
  37. package/dist/generated/method-access-map.d.ts +4 -1
  38. package/dist/generated/method-device-selectors.d.ts +2 -2
  39. package/dist/generated/system-proxy.d.ts +3 -3
  40. package/dist/index.d.ts +8 -3
  41. package/dist/index.js +7406 -2133
  42. package/dist/index.mjs +7372 -2132
  43. package/dist/interfaces/api-responses.d.ts +1 -1
  44. package/dist/interfaces/auth.d.ts +2 -2
  45. package/dist/interfaces/birth-decision-ledger.d.ts +20 -0
  46. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -8
  47. package/dist/pipeline/auto-tune/plan-schemas.d.ts +8 -80
  48. package/dist/pipeline/step-settings-layers.d.ts +7 -8
  49. package/dist/schemas/auth-records.d.ts +77 -13
  50. package/dist/schemas/device-selector.d.ts +23 -4
  51. package/dist/{sleep-DVovpDRU.js → sleep-BKS4OPMo.js} +2 -4
  52. package/dist/{sleep-CUp20JkO.mjs → sleep-CHIEEJkY.mjs} +2 -4
  53. package/dist/types/agent-pipeline-settings.d.ts +37 -70
  54. package/dist/types/camera-pipeline.d.ts +2 -2
  55. package/dist/types/detection.d.ts +19 -0
  56. package/dist/types/pipeline-step.d.ts +0 -16
  57. package/package.json +1 -1
@@ -35,10 +35,6 @@ declare const CameraPipelineConfigSchema: z.ZodObject<{
35
35
  settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
36
36
  }, z.core.$strip>>>;
37
37
  }, z.core.$strip>;
38
- declare const CameraStepOverridePatchSchema: z.ZodObject<{
39
- modelId: z.ZodOptional<z.ZodString>;
40
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
41
- }, z.core.$strip>;
42
38
  /** The three root-detector choices a camera has (D507: at most one root). */
43
39
  export declare const CameraDetectionSourceSchema: z.ZodEnum<{
44
40
  none: "none";
@@ -1081,6 +1077,7 @@ export declare const pipelineOrchestratorCapability: {
1081
1077
  "node-g": "node-g";
1082
1078
  "node-h": "node-h";
1083
1079
  }>>;
1080
+ stepSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
1084
1081
  inferenceDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1085
1082
  enabled: z.ZodBoolean;
1086
1083
  weight: z.ZodOptional<z.ZodNumber>;
@@ -1115,6 +1112,7 @@ export declare const pipelineOrchestratorCapability: {
1115
1112
  "node-g": "node-g";
1116
1113
  "node-h": "node-h";
1117
1114
  }>>;
1115
+ stepSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
1118
1116
  inferenceDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1119
1117
  enabled: z.ZodBoolean;
1120
1118
  weight: z.ZodOptional<z.ZodNumber>;
@@ -1249,6 +1247,20 @@ export declare const pipelineOrchestratorCapability: {
1249
1247
  }, z.core.$strip>, z.ZodObject<{
1250
1248
  success: z.ZodLiteral<true>;
1251
1249
  }, z.core.$strip>, "mutation">;
1250
+ /**
1251
+ * Write or clear one step's NODE-wide settings (D927) — the content that
1252
+ * holds on every accelerator of the node (`agentSettings[node].stepSettings`).
1253
+ * `settings` is the whole bag for the step; `null` or `{}` clears it.
1254
+ * REFUSES a model-scoped key (a model id, a binding, a `minConfidence*`
1255
+ * floor): those are set on the accelerator (`setAgentInferenceDevices`).
1256
+ */
1257
+ readonly setNodeStepSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1258
+ agentNodeId: z.ZodString;
1259
+ addonId: z.ZodString;
1260
+ settings: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1261
+ }, z.core.$strip>, z.ZodObject<{
1262
+ success: z.ZodLiteral<true>;
1263
+ }, z.core.$strip>, "mutation">;
1252
1264
  /**
1253
1265
  * DEVICE-AWARE merged view of ONE node's inference accelerators. Joins each
1254
1266
  * physical device the node HAS — probed live via a node-pinned
@@ -1321,23 +1333,18 @@ export declare const pipelineOrchestratorCapability: {
1321
1333
  * (a) strips every `modelId` pin from that node's
1322
1334
  * `agentSettings.addonDefaults` (cells revert to Auto — the node
1323
1335
  * resolves its own hardware-aware format default at runtime);
1324
- * (b) clears per-camera step overrides scoped to that node
1325
- * (`stepOverridesByAgent[node]` + the wholesale
1326
- * `pipelineByAgent[node]` escape hatch);
1327
- * (c) clears the executor-side per-device settings stores on that node
1328
- * (`pipelineExecutor.clearDeviceOverrides`);
1329
- * (d) hot-reloads every camera assigned to the node.
1336
+ * (b) hot-reloads every camera assigned to the node.
1337
+ * There is no per-camera model to clear (D927).
1330
1338
  *
1331
1339
  * Returns the EFFECTIVE post-reset object-detection model for the node
1332
- * (the executor's pure hardware-aware default) so the UI can report what
1333
- * will actually run — not a value that never reaches the live path.
1340
+ * (the format default of the accelerator hosting the camera root) so the
1341
+ * UI can report what will actually run.
1334
1342
  */
1335
1343
  readonly resetNodePipelineDefaults: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1336
1344
  agentNodeId: z.ZodString;
1337
1345
  }, z.core.$strip>, z.ZodObject<{
1338
1346
  success: z.ZodLiteral<true>;
1339
1347
  effectiveModelId: z.ZodNullable<z.ZodString>;
1340
- clearedCameraOverrides: z.ZodNumber;
1341
1348
  }, z.core.$strip>, "mutation">;
1342
1349
  /**
1343
1350
  * Auto tune (D745, D755) — DRY RUN. Recommends ONE detector family
@@ -1346,8 +1353,8 @@ export declare const pipelineOrchestratorCapability: {
1346
1353
  * that sustains at least `minSessionsPerDevice` parallel sessions at the
1347
1354
  * camera rate with the headroom kept free (no load input), and lists every write
1348
1355
  * the apply would make: the node model pins set, the enrichment pins and
1349
- * model-bound thresholds removed (node level and per camera), and the
1350
- * per-camera detector thresholds cleared. Writes nothing. Step
1356
+ * model-bound thresholds removed — all on the accelerators, the only
1357
+ * layer that carries a model (D927). Writes nothing. Step
1351
1358
  * enablement, device enablement, pins, recording, notifications, zones and
1352
1359
  * rules are never part of it. `planHash` names exactly this diff.
1353
1360
  */
@@ -1533,33 +1540,10 @@ export declare const pipelineOrchestratorCapability: {
1533
1540
  keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1534
1541
  }, z.core.$strip>>>;
1535
1542
  }, z.core.$strip>>>;
1536
- cameraClears: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1537
- deviceId: z.ZodNumber;
1538
- source: z.ZodEnum<{
1539
- "step-override": "step-override";
1540
- wholesale: "wholesale";
1541
- }>;
1542
- nodeId: z.ZodString;
1543
- deviceKey: z.ZodNullable<z.ZodString>;
1544
- stepId: z.ZodString;
1545
- modelIdBefore: z.ZodNullable<z.ZodString>;
1546
- keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1547
- }, z.core.$strip>>>;
1548
- detectorStoreClears: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1549
- deviceId: z.ZodNumber;
1550
- keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1551
- }, z.core.$strip>>>;
1552
1543
  warnings: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1553
- kind: z.ZodLiteral<"detector-store-cluster-wide">;
1554
- skippedNodes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1555
- }, z.core.$strip>, z.ZodObject<{
1556
- kind: z.ZodLiteral<"detector-store-unreadable">;
1557
- error: z.ZodString;
1558
- }, z.core.$strip>, z.ZodObject<{
1559
1544
  kind: z.ZodLiteral<"custom-pin-kept">;
1560
1545
  nodeId: z.ZodString;
1561
- deviceKey: z.ZodNullable<z.ZodString>;
1562
- deviceId: z.ZodNullable<z.ZodNumber>;
1546
+ deviceKey: z.ZodString;
1563
1547
  modelId: z.ZodString;
1564
1548
  }, z.core.$strip>, z.ZodObject<{
1565
1549
  kind: z.ZodLiteral<"custom-registry-unreadable">;
@@ -1581,8 +1565,6 @@ export declare const pipelineOrchestratorCapability: {
1581
1565
  planHash: z.ZodString;
1582
1566
  phases: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1583
1567
  phase: z.ZodEnum<{
1584
- "camera-overrides": "camera-overrides";
1585
- "detector-thresholds": "detector-thresholds";
1586
1568
  download: "download";
1587
1569
  "node-models": "node-models";
1588
1570
  redispatch: "redispatch";
@@ -1594,8 +1576,6 @@ export declare const pipelineOrchestratorCapability: {
1594
1576
  kind: z.ZodLiteral<"aborted">;
1595
1577
  phases: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1596
1578
  phase: z.ZodEnum<{
1597
- "camera-overrides": "camera-overrides";
1598
- "detector-thresholds": "detector-thresholds";
1599
1579
  download: "download";
1600
1580
  "node-models": "node-models";
1601
1581
  redispatch: "redispatch";
@@ -1784,33 +1764,10 @@ export declare const pipelineOrchestratorCapability: {
1784
1764
  keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1785
1765
  }, z.core.$strip>>>;
1786
1766
  }, z.core.$strip>>>;
1787
- cameraClears: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1788
- deviceId: z.ZodNumber;
1789
- source: z.ZodEnum<{
1790
- "step-override": "step-override";
1791
- wholesale: "wholesale";
1792
- }>;
1793
- nodeId: z.ZodString;
1794
- deviceKey: z.ZodNullable<z.ZodString>;
1795
- stepId: z.ZodString;
1796
- modelIdBefore: z.ZodNullable<z.ZodString>;
1797
- keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1798
- }, z.core.$strip>>>;
1799
- detectorStoreClears: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1800
- deviceId: z.ZodNumber;
1801
- keys: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1802
- }, z.core.$strip>>>;
1803
1767
  warnings: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1804
- kind: z.ZodLiteral<"detector-store-cluster-wide">;
1805
- skippedNodes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1806
- }, z.core.$strip>, z.ZodObject<{
1807
- kind: z.ZodLiteral<"detector-store-unreadable">;
1808
- error: z.ZodString;
1809
- }, z.core.$strip>, z.ZodObject<{
1810
1768
  kind: z.ZodLiteral<"custom-pin-kept">;
1811
1769
  nodeId: z.ZodString;
1812
- deviceKey: z.ZodNullable<z.ZodString>;
1813
- deviceId: z.ZodNullable<z.ZodNumber>;
1770
+ deviceKey: z.ZodString;
1814
1771
  modelId: z.ZodString;
1815
1772
  }, z.core.$strip>, z.ZodObject<{
1816
1773
  kind: z.ZodLiteral<"custom-registry-unreadable">;
@@ -2317,17 +2274,6 @@ export declare const pipelineOrchestratorCapability: {
2317
2274
  }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
2318
2275
  stepToggles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
2319
2276
  stepSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
2320
- stepOverridesByDevice: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
2321
- modelId: z.ZodOptional<z.ZodString>;
2322
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2323
- }, z.core.$strip>>>>>;
2324
- pipelineByAgent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2325
- steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>;
2326
- audio: z.ZodNullable<z.ZodObject<{
2327
- modelId: z.ZodString;
2328
- enabled: z.ZodBoolean;
2329
- }, z.core.$strip>>;
2330
- }, z.core.$strip>>>;
2331
2277
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
2332
2278
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
2333
2279
  readonly setCameraStepToggle: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
@@ -2379,38 +2325,14 @@ export declare const pipelineOrchestratorCapability: {
2379
2325
  }, z.core.$strip>, z.ZodObject<{
2380
2326
  success: z.ZodLiteral<true>;
2381
2327
  }, z.core.$strip>, "mutation">;
2382
- /** Read every per-(node,device) override map for a device. Null when device has no overrides. */
2383
- readonly getCameraStepOverrides: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2384
- deviceId: z.ZodNumber;
2385
- }, z.core.$strip>, z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
2386
- modelId: z.ZodOptional<z.ZodString>;
2387
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2388
- }, z.core.$strip>>>>>, import("./capability-definition.js").CapabilityMethodKind>;
2389
- /**
2390
- * Write or clear the per-(camera,node,device) override for one addonId.
2391
- * `patch: null` clears the entry entirely for that (node, deviceKey, addon)
2392
- * triple (empty parents are pruned). Model/settings only — enablement is
2393
- * the per-camera `stepToggles` authority.
2394
- */
2395
- readonly setCameraStepOverride: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2396
- deviceId: z.ZodNumber;
2397
- agentNodeId: z.ZodString;
2398
- deviceKey: z.ZodString;
2399
- addonId: z.ZodString;
2400
- patch: z.ZodNullable<z.ZodObject<{
2401
- modelId: z.ZodOptional<z.ZodString>;
2402
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2403
- }, z.core.$strip>>;
2404
- }, z.core.$strip>, z.ZodObject<{
2405
- success: z.ZodLiteral<true>;
2406
- }, z.core.$strip>, "mutation">;
2407
2328
  /**
2408
- * Write or clear one step's CAMERA-WIDE settings (D754) — the fields this
2409
- * camera overrides on every accelerator it runs on. `settings` is the
2410
- * whole field-level bag for that step (only the overridden keys; a
2411
- * model-bound field travels with its binding key); `null` or `{}` clears
2412
- * it. Merged at dispatch between the node base and the per-(node,device)
2413
- * override, key by key.
2329
+ * Write or clear one step's CAMERA-WIDE settings (D754) — the
2330
+ * camera-semantic fields this camera overrides on every accelerator it
2331
+ * runs on. `settings` is the whole field-level bag for that step (only the
2332
+ * overridden keys); `null` or `{}` clears it. Merged at dispatch over the
2333
+ * node base, key by key. REFUSES a model-scoped key — a model id, a model
2334
+ * binding or a `minConfidence*` floor (D927): those belong to the
2335
+ * accelerator that runs the model.
2414
2336
  */
2415
2337
  readonly setCameraStepSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2416
2338
  deviceId: z.ZodNumber;
@@ -2419,20 +2341,6 @@ export declare const pipelineOrchestratorCapability: {
2419
2341
  }, z.core.$strip>, z.ZodObject<{
2420
2342
  success: z.ZodLiteral<true>;
2421
2343
  }, z.core.$strip>, "mutation">;
2422
- /** Write or clear the wholesale per-agent pipeline override. Pass `pipeline: null` to drop the override. */
2423
- readonly setCameraPipelineForAgent: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2424
- deviceId: z.ZodNumber;
2425
- agentNodeId: z.ZodString;
2426
- pipeline: z.ZodNullable<z.ZodObject<{
2427
- steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>;
2428
- audio: z.ZodNullable<z.ZodObject<{
2429
- modelId: z.ZodString;
2430
- enabled: z.ZodBoolean;
2431
- }, z.core.$strip>>;
2432
- }, z.core.$strip>>;
2433
- }, z.core.$strip>, z.ZodObject<{
2434
- success: z.ZodLiteral<true>;
2435
- }, z.core.$strip>, "mutation">;
2436
2344
  /** Resolve the effective pipeline for `(deviceId, agentNodeId?)` — walks the full precedence chain. Read-only preview used by the UI to show what will run. */
2437
2345
  readonly resolvePipeline: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2438
2346
  deviceId: z.ZodNumber;
@@ -3163,4 +3071,4 @@ export type IngestOwner = z.infer<typeof IngestOwnerSchema>;
3163
3071
  export type NodeInferenceDevice = z.infer<typeof NodeInferenceDeviceSchema>;
3164
3072
  export type NodeInferenceDevices = z.infer<typeof NodeInferenceDevicesSchema>;
3165
3073
  export type InferenceDeviceExclusionReason = z.infer<typeof InferenceDeviceExclusionReasonSchema>;
3166
- export { AgentLoadSummarySchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMotionStatusSchema, CameraPipelineConfigSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStepOverridePatchSchema, CapabilityBindingsSchema, DiskReconcileJobSchema, GlobalMetricsSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, PipelineAssignmentSchema, };
3074
+ export { AgentLoadSummarySchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMotionStatusSchema, CameraPipelineConfigSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CapabilityBindingsSchema, DiskReconcileJobSchema, GlobalMetricsSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, PipelineAssignmentSchema, };
@@ -49,6 +49,9 @@ export type PlateInfo = z.infer<typeof PlateInfoSchema>;
49
49
  */
50
50
  export declare const plateGalleryCapability: {
51
51
  readonly name: 'plate-gallery';
52
+ readonly role: {
53
+ readonly feature: 'plate-assignment';
54
+ };
52
55
  readonly scope: 'system';
53
56
  readonly mode: 'singleton';
54
57
  readonly methods: {
@@ -484,6 +484,9 @@ export declare const SceneMonitorStatusForDeviceSchema: z.ZodObject<{
484
484
  export type SceneMonitorStatusForDevice = z.infer<typeof SceneMonitorStatusForDeviceSchema>;
485
485
  export declare const sceneMonitorCapability: {
486
486
  readonly name: 'scene-monitor';
487
+ readonly role: {
488
+ readonly feature: 'scenes';
489
+ };
487
490
  readonly scope: 'device';
488
491
  readonly mode: 'singleton';
489
492
  readonly kind: 'wrapper';
@@ -9,7 +9,7 @@ import { type InferProvider } from './capability-definition.js';
9
9
  * - **Jobs.** A persisted state machine, a reconcile loop against the
10
10
  * provider, a cost guard, a daily orphan sweep and the retention rules.
11
11
  * - **The return flow.** Verified artefacts → Model Studio
12
- * (`custom-model-registry.importModelBundle`) → canary on cameras →
12
+ * (`custom-model-registry.importModelBundle`) → canary on accelerators →
13
13
  * rollback. Nothing is ever registered automatically.
14
14
  *
15
15
  * Plan/start takes a live {@link TrainingCorpusSelection} (collections +
@@ -168,20 +168,38 @@ export declare const TrainingProgressPointSchema: z.ZodObject<{
168
168
  map50_95: z.ZodNullable<z.ZodNumber>;
169
169
  }, z.core.$strip>;
170
170
  export type TrainingProgressPoint = z.infer<typeof TrainingProgressPointSchema>;
171
+ /** One accelerator: a `(node, inference device)` that runs the root detector. */
172
+ export declare const TrainingAcceleratorRefSchema: z.ZodObject<{
173
+ nodeId: z.ZodString;
174
+ deviceKey: z.ZodString;
175
+ }, z.core.$strip>;
176
+ export type TrainingAcceleratorRef = z.infer<typeof TrainingAcceleratorRefSchema>;
177
+ /**
178
+ * A canary pins the registered model on chosen ACCELERATORS — a model is
179
+ * chosen by the accelerator that runs it (D927); every camera balanced onto
180
+ * one runs it. `previous` is the root-detector pin each one had (`null` = it
181
+ * ran its default), exactly, so rollback restores it.
182
+ */
171
183
  export declare const TrainingCanarySchema: z.ZodObject<{
172
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
184
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
185
+ nodeId: z.ZodString;
186
+ deviceKey: z.ZodString;
187
+ }, z.core.$strip>>>;
173
188
  since: z.ZodNumber;
174
189
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
175
- deviceId: z.ZodNumber;
176
190
  nodeId: z.ZodString;
177
191
  deviceKey: z.ZodString;
178
- patch: z.ZodNullable<z.ZodObject<{
179
- modelId: z.ZodOptional<z.ZodString>;
180
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
181
- }, z.core.$strip>>;
192
+ modelId: z.ZodNullable<z.ZodString>;
182
193
  }, z.core.$strip>>>;
183
194
  }, z.core.$strip>;
184
195
  export type TrainingCanary = z.infer<typeof TrainingCanarySchema>;
196
+ /** An accelerator a canary may pin: it runs the root detector, on this model now. */
197
+ export declare const TrainingCanaryTargetSchema: z.ZodObject<{
198
+ nodeId: z.ZodString;
199
+ deviceKey: z.ZodString;
200
+ pinnedModelId: z.ZodNullable<z.ZodString>;
201
+ }, z.core.$strip>;
202
+ export type TrainingCanaryTarget = z.infer<typeof TrainingCanaryTargetSchema>;
185
203
  export declare const TrainingJobSchema: z.ZodObject<{
186
204
  id: z.ZodString;
187
205
  idempotencyKey: z.ZodString;
@@ -315,16 +333,15 @@ export declare const TrainingJobSchema: z.ZodObject<{
315
333
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
316
334
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
317
335
  canary: z.ZodNullable<z.ZodObject<{
318
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
336
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
337
+ nodeId: z.ZodString;
338
+ deviceKey: z.ZodString;
339
+ }, z.core.$strip>>>;
319
340
  since: z.ZodNumber;
320
341
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
321
- deviceId: z.ZodNumber;
322
342
  nodeId: z.ZodString;
323
343
  deviceKey: z.ZodString;
324
- patch: z.ZodNullable<z.ZodObject<{
325
- modelId: z.ZodOptional<z.ZodString>;
326
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
327
- }, z.core.$strip>>;
344
+ modelId: z.ZodNullable<z.ZodString>;
328
345
  }, z.core.$strip>>>;
329
346
  }, z.core.$strip>>;
330
347
  }, z.core.$strip>;
@@ -567,16 +584,15 @@ export declare const trainingCapability: {
567
584
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
568
585
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
569
586
  canary: z.ZodNullable<z.ZodObject<{
570
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
587
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
588
+ nodeId: z.ZodString;
589
+ deviceKey: z.ZodString;
590
+ }, z.core.$strip>>>;
571
591
  since: z.ZodNumber;
572
592
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
573
- deviceId: z.ZodNumber;
574
593
  nodeId: z.ZodString;
575
594
  deviceKey: z.ZodString;
576
- patch: z.ZodNullable<z.ZodObject<{
577
- modelId: z.ZodOptional<z.ZodString>;
578
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
579
- }, z.core.$strip>>;
595
+ modelId: z.ZodNullable<z.ZodString>;
580
596
  }, z.core.$strip>>>;
581
597
  }, z.core.$strip>>;
582
598
  }, z.core.$strip>;
@@ -761,16 +777,15 @@ export declare const trainingCapability: {
761
777
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
762
778
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
763
779
  canary: z.ZodNullable<z.ZodObject<{
764
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
780
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
781
+ nodeId: z.ZodString;
782
+ deviceKey: z.ZodString;
783
+ }, z.core.$strip>>>;
765
784
  since: z.ZodNumber;
766
785
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
767
- deviceId: z.ZodNumber;
768
786
  nodeId: z.ZodString;
769
787
  deviceKey: z.ZodString;
770
- patch: z.ZodNullable<z.ZodObject<{
771
- modelId: z.ZodOptional<z.ZodString>;
772
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
773
- }, z.core.$strip>>;
788
+ modelId: z.ZodNullable<z.ZodString>;
774
789
  }, z.core.$strip>>>;
775
790
  }, z.core.$strip>>;
776
791
  }, z.core.$strip>>>;
@@ -921,16 +936,15 @@ export declare const trainingCapability: {
921
936
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
922
937
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
923
938
  canary: z.ZodNullable<z.ZodObject<{
924
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
939
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
940
+ nodeId: z.ZodString;
941
+ deviceKey: z.ZodString;
942
+ }, z.core.$strip>>>;
925
943
  since: z.ZodNumber;
926
944
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
927
- deviceId: z.ZodNumber;
928
945
  nodeId: z.ZodString;
929
946
  deviceKey: z.ZodString;
930
- patch: z.ZodNullable<z.ZodObject<{
931
- modelId: z.ZodOptional<z.ZodString>;
932
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
933
- }, z.core.$strip>>;
947
+ modelId: z.ZodNullable<z.ZodString>;
934
948
  }, z.core.$strip>>>;
935
949
  }, z.core.$strip>>;
936
950
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -1069,16 +1083,15 @@ export declare const trainingCapability: {
1069
1083
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
1070
1084
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1071
1085
  canary: z.ZodNullable<z.ZodObject<{
1072
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1086
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1087
+ nodeId: z.ZodString;
1088
+ deviceKey: z.ZodString;
1089
+ }, z.core.$strip>>>;
1073
1090
  since: z.ZodNumber;
1074
1091
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1075
- deviceId: z.ZodNumber;
1076
1092
  nodeId: z.ZodString;
1077
1093
  deviceKey: z.ZodString;
1078
- patch: z.ZodNullable<z.ZodObject<{
1079
- modelId: z.ZodOptional<z.ZodString>;
1080
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1081
- }, z.core.$strip>>;
1094
+ modelId: z.ZodNullable<z.ZodString>;
1082
1095
  }, z.core.$strip>>>;
1083
1096
  }, z.core.$strip>>;
1084
1097
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -1217,16 +1230,15 @@ export declare const trainingCapability: {
1217
1230
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
1218
1231
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1219
1232
  canary: z.ZodNullable<z.ZodObject<{
1220
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1233
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1234
+ nodeId: z.ZodString;
1235
+ deviceKey: z.ZodString;
1236
+ }, z.core.$strip>>>;
1221
1237
  since: z.ZodNumber;
1222
1238
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1223
- deviceId: z.ZodNumber;
1224
1239
  nodeId: z.ZodString;
1225
1240
  deviceKey: z.ZodString;
1226
- patch: z.ZodNullable<z.ZodObject<{
1227
- modelId: z.ZodOptional<z.ZodString>;
1228
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1229
- }, z.core.$strip>>;
1241
+ modelId: z.ZodNullable<z.ZodString>;
1230
1242
  }, z.core.$strip>>>;
1231
1243
  }, z.core.$strip>>;
1232
1244
  }, z.core.$strip>, "mutation">;
@@ -1444,10 +1456,19 @@ export declare const trainingCapability: {
1444
1456
  }, z.core.$strip>>>;
1445
1457
  licence: z.ZodString;
1446
1458
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
1459
+ /** The accelerators a canary may pin: every enabled one that runs the root detector. */
1460
+ readonly listCanaryTargets: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
1461
+ nodeId: z.ZodString;
1462
+ deviceKey: z.ZodString;
1463
+ pinnedModelId: z.ZodNullable<z.ZodString>;
1464
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
1447
1465
  /** Hand the verified bundle to Model Studio; optionally canary right after. */
1448
1466
  readonly registerResult: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1449
1467
  id: z.ZodString;
1450
- canaryDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1468
+ canaryAccelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1469
+ nodeId: z.ZodString;
1470
+ deviceKey: z.ZodString;
1471
+ }, z.core.$strip>>>;
1451
1472
  }, z.core.$strip>, z.ZodObject<{
1452
1473
  id: z.ZodString;
1453
1474
  idempotencyKey: z.ZodString;
@@ -1581,23 +1602,25 @@ export declare const trainingCapability: {
1581
1602
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
1582
1603
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1583
1604
  canary: z.ZodNullable<z.ZodObject<{
1584
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1605
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1606
+ nodeId: z.ZodString;
1607
+ deviceKey: z.ZodString;
1608
+ }, z.core.$strip>>>;
1585
1609
  since: z.ZodNumber;
1586
1610
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1587
- deviceId: z.ZodNumber;
1588
1611
  nodeId: z.ZodString;
1589
1612
  deviceKey: z.ZodString;
1590
- patch: z.ZodNullable<z.ZodObject<{
1591
- modelId: z.ZodOptional<z.ZodString>;
1592
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1593
- }, z.core.$strip>>;
1613
+ modelId: z.ZodNullable<z.ZodString>;
1594
1614
  }, z.core.$strip>>>;
1595
1615
  }, z.core.$strip>>;
1596
1616
  }, z.core.$strip>, "mutation">;
1597
- /** Pin the registered model on these cameras, remembering what it replaced. */
1617
+ /** Pin the registered model on these accelerators, remembering what it replaced. */
1598
1618
  readonly canaryResult: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1599
1619
  id: z.ZodString;
1600
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1620
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1621
+ nodeId: z.ZodString;
1622
+ deviceKey: z.ZodString;
1623
+ }, z.core.$strip>>>;
1601
1624
  }, z.core.$strip>, z.ZodObject<{
1602
1625
  id: z.ZodString;
1603
1626
  idempotencyKey: z.ZodString;
@@ -1731,20 +1754,19 @@ export declare const trainingCapability: {
1731
1754
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
1732
1755
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1733
1756
  canary: z.ZodNullable<z.ZodObject<{
1734
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1757
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1758
+ nodeId: z.ZodString;
1759
+ deviceKey: z.ZodString;
1760
+ }, z.core.$strip>>>;
1735
1761
  since: z.ZodNumber;
1736
1762
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1737
- deviceId: z.ZodNumber;
1738
1763
  nodeId: z.ZodString;
1739
1764
  deviceKey: z.ZodString;
1740
- patch: z.ZodNullable<z.ZodObject<{
1741
- modelId: z.ZodOptional<z.ZodString>;
1742
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1743
- }, z.core.$strip>>;
1765
+ modelId: z.ZodNullable<z.ZodString>;
1744
1766
  }, z.core.$strip>>>;
1745
1767
  }, z.core.$strip>>;
1746
1768
  }, z.core.$strip>, "mutation">;
1747
- /** Put every canary camera back exactly as it was. */
1769
+ /** Put every canary accelerator back exactly as it was. */
1748
1770
  readonly rollbackCanary: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1749
1771
  id: z.ZodString;
1750
1772
  }, z.core.$strip>, z.ZodObject<{
@@ -1880,16 +1902,15 @@ export declare const trainingCapability: {
1880
1902
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
1881
1903
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1882
1904
  canary: z.ZodNullable<z.ZodObject<{
1883
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
1905
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1906
+ nodeId: z.ZodString;
1907
+ deviceKey: z.ZodString;
1908
+ }, z.core.$strip>>>;
1884
1909
  since: z.ZodNumber;
1885
1910
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1886
- deviceId: z.ZodNumber;
1887
1911
  nodeId: z.ZodString;
1888
1912
  deviceKey: z.ZodString;
1889
- patch: z.ZodNullable<z.ZodObject<{
1890
- modelId: z.ZodOptional<z.ZodString>;
1891
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1892
- }, z.core.$strip>>;
1913
+ modelId: z.ZodNullable<z.ZodString>;
1893
1914
  }, z.core.$strip>>>;
1894
1915
  }, z.core.$strip>>;
1895
1916
  }, z.core.$strip>, "mutation">;
@@ -2029,16 +2050,15 @@ export declare const trainingCapability: {
2029
2050
  cloudCleanupDueAt: z.ZodNullable<z.ZodNumber>;
2030
2051
  registeredModelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2031
2052
  canary: z.ZodNullable<z.ZodObject<{
2032
- deviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
2053
+ accelerators: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2054
+ nodeId: z.ZodString;
2055
+ deviceKey: z.ZodString;
2056
+ }, z.core.$strip>>>;
2033
2057
  since: z.ZodNumber;
2034
2058
  previous: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2035
- deviceId: z.ZodNumber;
2036
2059
  nodeId: z.ZodString;
2037
2060
  deviceKey: z.ZodString;
2038
- patch: z.ZodNullable<z.ZodObject<{
2039
- modelId: z.ZodOptional<z.ZodString>;
2040
- settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2041
- }, z.core.$strip>>;
2061
+ modelId: z.ZodNullable<z.ZodString>;
2042
2062
  }, z.core.$strip>>>;
2043
2063
  }, z.core.$strip>>;
2044
2064
  }, z.core.$strip>, "mutation">;