@camstack/system 1.2.471 → 1.2.473

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 (95) hide show
  1. package/dist/addon-runner.js +202 -8
  2. package/dist/addon-runner.mjs +203 -9
  3. package/dist/addon-utils.mjs +1 -1
  4. package/dist/{agent-https-bH6bKDeK.js → agent-https-B9Q3-IKd.js} +2 -5
  5. package/dist/{agent-https-DHBvFZJS.mjs → agent-https-DOwn4pqL.mjs} +3 -6
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +4 -4
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +5 -5
  10. package/dist/builtins/alerts/alerts.addon.js +1 -1
  11. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +5 -5
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-history/device-history.addon.js +1 -1
  27. package/dist/builtins/device-history/device-history.addon.mjs +1 -1
  28. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  29. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  30. package/dist/builtins/hub-forwarder/index.js +1 -1
  31. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  32. package/dist/builtins/keychain/index.js +3 -3
  33. package/dist/builtins/keychain/index.mjs +3 -3
  34. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +9 -25
  35. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +240 -39
  36. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +237 -38
  37. package/dist/builtins/liveness-monitor/liveness-reporter.d.ts +28 -0
  38. package/dist/builtins/liveness-monitor/storage-root-access.d.ts +53 -0
  39. package/dist/builtins/local-auth/local-auth.addon.js +16 -2
  40. package/dist/builtins/local-auth/local-auth.addon.mjs +19 -5
  41. package/dist/builtins/local-auth/person-scopes.d.ts +7 -0
  42. package/dist/builtins/local-network/local-network.addon.js +2 -2
  43. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  44. package/dist/builtins/loki-logging/index.js +1 -1
  45. package/dist/builtins/loki-logging/index.mjs +1 -1
  46. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  47. package/dist/builtins/native-metrics/native-metrics.addon.mjs +10 -10
  48. package/dist/builtins/platform-probe/accelerator-facts-probe.d.ts +24 -0
  49. package/dist/builtins/platform-probe/index.js +110 -10
  50. package/dist/builtins/platform-probe/index.mjs +116 -17
  51. package/dist/builtins/platform-probe/platform-scorer.d.ts +10 -2
  52. package/dist/builtins/record-entries/index.js +1 -1
  53. package/dist/builtins/record-entries/index.mjs +1 -1
  54. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  55. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  56. package/dist/builtins/snapshot/index.js +1 -1
  57. package/dist/builtins/snapshot/index.mjs +1 -1
  58. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  59. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +20 -20
  60. package/dist/builtins/sqlite-storage/index.js +1 -1
  61. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  62. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
  63. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
  64. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  65. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  66. package/dist/builtins/system-config/system-config.addon.js +3 -3
  67. package/dist/builtins/system-config/system-config.addon.mjs +115 -115
  68. package/dist/builtins/winston-logging/index.js +1 -1
  69. package/dist/builtins/winston-logging/index.mjs +1 -1
  70. package/dist/{composition-sources-B5uJZXZ1.js → composition-sources-Dj_nInUQ.js} +1 -1
  71. package/dist/{composition-sources-DRw_vBKH.mjs → composition-sources-cwD35HB0.mjs} +1 -1
  72. package/dist/{constants-CToE4OFp.js → constants-XkWSVvgY.js} +1 -1
  73. package/dist/{constants-5lA8Z9d8.mjs → constants-p5mPM1iL.mjs} +1 -1
  74. package/dist/{coral-accelerators-BW3OcrLD.mjs → coral-accelerators-DBlgWB8k.mjs} +6 -6
  75. package/dist/{custom-action-registry-BGYDjTqY.mjs → custom-action-registry-DZSCLBuT.mjs} +37 -37
  76. package/dist/{device-ca-nOCYVFS4.js → device-ca-BXzQ1pYj.js} +1 -1
  77. package/dist/{device-ca-URrs1lxK.mjs → device-ca-DyUtcpf4.mjs} +1 -1
  78. package/dist/{dist-BjcWEfRy.js → dist-Bmah6waF.js} +209 -266
  79. package/dist/{dist-5XUG7iYJ.mjs → dist-C9lbdBL5.mjs} +204 -267
  80. package/dist/file-host-worker.js +1 -1
  81. package/dist/file-host-worker.mjs +1 -1
  82. package/dist/{hub-mdns-ciao-zD3JojB_.mjs → hub-mdns-ciao-BemeCNGe.mjs} +2 -2
  83. package/dist/{hub-mdns-ciao-vEWhJ_SD.js → hub-mdns-ciao-CUr6ewsX.js} +2 -2
  84. package/dist/index.js +236 -16
  85. package/dist/index.mjs +455 -235
  86. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +24 -4
  87. package/dist/kernel/hwaccel/vaapi-init-probe.d.ts +29 -0
  88. package/dist/kernel/moleculer/runner-process-group.d.ts +4 -0
  89. package/dist/{restore-archive-CN1pJTRn.mjs → restore-archive-C0aohmAK.mjs} +94 -94
  90. package/dist/{restore-archive-B64m2nAj.js → restore-archive-DbPmyjiM.js} +1 -1
  91. package/dist/{retired-settings-keys-C_Kjp-Bj.mjs → retired-settings-keys-CWp7ZSeA.mjs} +8 -0
  92. package/dist/{retired-settings-keys-CGUqX-Oz.js → retired-settings-keys-DorakcxV.js} +8 -0
  93. package/dist/{wal-maintenance-BNXVX-ot.js → wal-maintenance-BT8Ns0W3.js} +0 -0
  94. package/dist/{wal-maintenance-Bl2I-ZcR.mjs → wal-maintenance-BuB731DK.mjs} +0 -0
  95. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  let zod = require("zod");
2
2
  require("node:crypto");
3
- //#region ../types/dist/event-category-BfJwUd2S.mjs
3
+ //#region ../types/dist/event-category-fDPduoeC.mjs
4
4
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
5
5
  EventCategory["SystemBoot"] = "system.boot";
6
6
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -327,9 +327,8 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
327
327
  EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
328
328
  /**
329
329
  * Per-camera pipeline config was mutated by the orchestrator
330
- * (3-level settings change via `setAgentAddonDefaults` /
331
- * `setCameraStepToggle` / `setCameraPipelineForAgent` or a
332
- * pipeline-scoped `applyDeviceSettingsPatch`). Orchestrator
330
+ * (a settings change via `setAgentInferenceDevices` /
331
+ * `setCameraStepToggle` / `setCameraStepSettings`). Orchestrator
333
332
  * subscribes to its own emission to hot-reload the assigned runner
334
333
  * via `attachCamera` so the next frame executes against the new
335
334
  * engine/steps without waiting for a rebalance or the next
@@ -762,7 +761,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
762
761
  return EventCategory;
763
762
  }({});
764
763
  //#endregion
765
- //#region ../types/dist/sleep-6AqUnQIT.mjs
764
+ //#region ../types/dist/sleep-CHIEEJkY.mjs
766
765
  /**
767
766
  * The audio chunk plane's byte format, and the ONE expansion from a coded
768
767
  * window to float samples (D455).
@@ -8096,13 +8095,22 @@ var BirthDecisionRecordSchema = zod.z.object({
8096
8095
  decidedByBirthEvidence: zod.z.boolean(),
8097
8096
  /** Best class-compatible crop score, or `null` when nothing compatible was
8098
8097
  * found — deliberately not 0, which would be a measurement that never was.
8099
- * Includes a box the detector's own per-class floor refused (reason
8100
- * `below-detector-floor`, D922): that box never confirms, but it is the
8101
- * score the crop really held. */
8098
+ * Includes a box the detector's own per-class floor refused (D922): since
8099
+ * D925 the gate's bar, not that floor, decides whether it confirms. */
8102
8100
  bestScore: zod.z.number().nullable(),
8103
8101
  /** The bar this candidate actually faced (the phantom-cell hook may raise it). */
8104
8102
  appliedMinConfidence: zod.z.number().nullable(),
8105
8103
  /**
8104
+ * The detector the gate re-judged the birth WITH (D925): the session's own
8105
+ * root model, inference-device pool and node — never a node default. `null`
8106
+ * when the frame named no session detector or no gate ran, and on rows
8107
+ * written before D925. A `session-device-unavailable` row names the session
8108
+ * detector that could not be reached.
8109
+ */
8110
+ detectorModelId: zod.z.string().nullable().default(null),
8111
+ detectorDeviceKey: zod.z.string().nullable().default(null),
8112
+ detectorNodeId: zod.z.string().nullable().default(null),
8113
+ /**
8106
8114
  * The track's own `firstSeen` — the candidate's first frame, which is where
8107
8115
  * the timeline starts. `null` for a suppressed birth, which has no track.
8108
8116
  */
@@ -15535,7 +15543,7 @@ function kindOfValue(value) {
15535
15543
  function only(kind) {
15536
15544
  return new Set([kind]);
15537
15545
  }
15538
- function union(...sets) {
15546
+ function union$1(...sets) {
15539
15547
  return new Set(sets.flatMap((s) => [...s]));
15540
15548
  }
15541
15549
  function withoutNull(set) {
@@ -15563,8 +15571,8 @@ function callKinds(callee, args) {
15563
15571
  const rule = BUILTIN_RESULT_KINDS[callee];
15564
15572
  if (rule === void 0) throw new KindInferenceError(`no result-kind rule for builtin '${callee}'`);
15565
15573
  if (rule.kind === "fixed") return new Set(rule.result);
15566
- const nonNull = union(...args.map(withoutNull));
15567
- return args.every((a) => a.has("null")) ? union(nonNull, only("null")) : nonNull;
15574
+ const nonNull = union$1(...args.map(withoutNull));
15575
+ return args.every((a) => a.has("null")) ? union$1(nonNull, only("null")) : nonNull;
15568
15576
  }
15569
15577
  function kindsOf(node, bindings) {
15570
15578
  switch (node.kind) {
@@ -15577,8 +15585,8 @@ function kindsOf(node, bindings) {
15577
15585
  }
15578
15586
  case "unary": return only(node.op === "!" ? "boolean" : "number");
15579
15587
  case "binary": return binaryKinds(node.op, kindsOf(node.left, bindings), kindsOf(node.right, bindings));
15580
- case "logical": return union(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
15581
- case "conditional": return union(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
15588
+ case "logical": return union$1(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
15589
+ case "conditional": return union$1(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
15582
15590
  case "call": return callKinds(node.callee, node.args.map((a) => kindsOf(a, bindings)));
15583
15591
  }
15584
15592
  }
@@ -47926,6 +47934,18 @@ Object.freeze({
47926
47934
  reason: "camera sensor mappings not loaded"
47927
47935
  });
47928
47936
  /**
47937
+ * What the vision model must answer before a package event is emitted
47938
+ * when a packages rule has "Confirm with the LLM" on.
47939
+ *
47940
+ * `package` is the verdict. `confidence` is 0..1. `reason` is the model's
47941
+ * one-line explanation, stored on the event so a drop is not silent.
47942
+ */
47943
+ var PackageLlmVerdictSchema = zod.z.object({
47944
+ package: zod.z.boolean(),
47945
+ confidence: zod.z.number().min(0).max(1),
47946
+ reason: zod.z.string().min(1)
47947
+ });
47948
+ /**
47929
47949
  * A model choice has a SCOPE, and a scope change has a workflow.
47930
47950
  *
47931
47951
  * ## The two scopes
@@ -48870,6 +48890,21 @@ var ObjectEventSchema = zod.z.object({
48870
48890
  * pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
48871
48891
  */
48872
48892
  observedAt: zod.z.number().optional(),
48893
+ /**
48894
+ * The delivery was emitted without a vision-model yes (D931).
48895
+ *
48896
+ * Set only when the packages rule asked for an LLM confirm and the model
48897
+ * was unreachable, timed out, or answered something that did not parse.
48898
+ * A notification reads it so it can say "possible" instead of a definite
48899
+ * delivery. Absent on every other row, and on a confirm that said yes.
48900
+ */
48901
+ packagePossible: zod.z.boolean().optional(),
48902
+ /**
48903
+ * The vision model's verdict, when a packages rule asked for one and the
48904
+ * model answered the schema (D931). A "no" never becomes a row — the
48905
+ * detector drops it and logs the reason. Present on a yes.
48906
+ */
48907
+ packageLlmVerdict: PackageLlmVerdictSchema.optional(),
48873
48908
  /** The parent track's key-event importance [0,1], propagated to every object
48874
48909
  * event of the track (so an event row can be sorted by importance without a
48875
48910
  * track join). Absent on legacy rows / before the track was scored. */
@@ -51443,7 +51478,6 @@ var PipelineAddonSchemaSchema = zod.z.object({
51443
51478
  defaultModelId: zod.z.string(),
51444
51479
  defaultModelIdByFormat: zod.z.record(zod.z.string(), zod.z.string()).optional(),
51445
51480
  enabledByDefault: zod.z.boolean().optional(),
51446
- backfillIntoExistingOverrides: zod.z.boolean().optional(),
51447
51481
  defaultConfidence: zod.z.number(),
51448
51482
  group: zod.z.string().optional(),
51449
51483
  configSchema: zod.z.array(ConfigFieldBridge).readonly().optional()
@@ -51570,7 +51604,6 @@ var AudioTestResultSchema = zod.z.object({
51570
51604
  error: zod.z.string().optional(),
51571
51605
  frame: zod.z.custom().optional()
51572
51606
  });
51573
- var PipelineConfigBridge = zod.z.custom();
51574
51607
  var ConfigUISchemaBridge = zod.z.custom();
51575
51608
  var ConfigUISchemaNullableBridge = zod.z.custom();
51576
51609
  var InferenceCapabilitiesBridge = zod.z.custom();
@@ -51595,7 +51628,6 @@ var pipelineExecutorCapability = {
51595
51628
  methods: {
51596
51629
  getAvailableEngines: method(zod.z.void(), zod.z.array(PipelineEngineChoiceSchema)),
51597
51630
  getSelectedEngine: method(zod.z.void(), PipelineEngineChoiceSchema),
51598
- getDefaultSteps: method(PipelineEngineChoiceSchema, zod.z.array(PipelineDefaultStepSchema)),
51599
51631
  /**
51600
51632
  * Per-node detection-engine provisioning snapshot. Returns the live
51601
51633
  * state of the lazy runtime-provisioning machine on `nodeId`
@@ -51617,54 +51649,6 @@ var pipelineExecutorCapability = {
51617
51649
  auth: "admin"
51618
51650
  }),
51619
51651
  /**
51620
- * Clear THIS node's executor-side PER-DEVICE settings stores (the
51621
- * per-camera step overrides the object-detection root reads via
51622
- * `applyDeviceOverridesToTree`). `nodeId` is the ROUTING key — the
51623
- * generated cap-router strips it (default `nodeIdMode: 'routing'`) and
51624
- * dispatches to that node, so the provider method runs ON the target
51625
- * node and receives no `nodeId`.
51626
- *
51627
- * This is the slimmed executor leg of the orchestrator's
51628
- * `resetNodePipelineDefaults` flow (which owns the real reset: node
51629
- * addonDefaults pins + per-camera orchestrator overrides). The legacy
51630
- * `resetToDefault` — which reset a persisted global step-tree seed
51631
- * nothing in the live per-camera path read — was removed together with
51632
- * that seed.
51633
- */
51634
- clearDeviceOverrides: method(zod.z.object({ nodeId: zod.z.string() }), zod.z.object({
51635
- success: zod.z.literal(true),
51636
- clearedDevices: zod.z.number()
51637
- }), {
51638
- kind: "mutation",
51639
- auth: "admin"
51640
- }),
51641
- /**
51642
- * Auto tune (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
51643
- * the object-detection root, and their binding keys) stored in THIS node's
51644
- * per-camera detector settings — and, unless `dryRun`, remove them so the
51645
- * running model's own defaults apply. Every other key of a camera's store
51646
- * is kept. `nodeId` is the ROUTING key. `deviceIds` absent ⇒ every camera
51647
- * with a store. A camera whose store could not be read is `refused`, never
51648
- * reported as clean.
51649
- */
51650
- clearModelBoundDeviceOverrides: method(zod.z.object({
51651
- nodeId: zod.z.string(),
51652
- deviceIds: zod.z.array(zod.z.number()).readonly().optional(),
51653
- dryRun: zod.z.boolean()
51654
- }), zod.z.object({
51655
- entries: zod.z.array(zod.z.object({
51656
- deviceId: zod.z.number(),
51657
- keys: zod.z.array(zod.z.string()).readonly()
51658
- })).readonly(),
51659
- refused: zod.z.array(zod.z.object({
51660
- deviceId: zod.z.number(),
51661
- reason: zod.z.string()
51662
- })).readonly()
51663
- }), {
51664
- kind: "mutation",
51665
- auth: "admin"
51666
- }),
51667
- /**
51668
51652
  * Which of THIS node's inference devices the executor currently refuses,
51669
51653
  * and why. `nodeId` is the ROUTING key (stripped by the generated router).
51670
51654
  *
@@ -51719,8 +51703,6 @@ var pipelineExecutorCapability = {
51719
51703
  auth: "admin"
51720
51704
  }),
51721
51705
  getSchema: method(zod.z.void(), PipelineSchemaSchema),
51722
- getGlobalSteps: method(zod.z.void(), zod.z.array(PipelineDefaultStepSchema).readonly().nullable()),
51723
- getGlobalPipelineConfig: method(zod.z.void(), PipelineConfigBridge),
51724
51706
  getOrchestratorConfigSchema: method(zod.z.void(), ConfigUISchemaBridge),
51725
51707
  /**
51726
51708
  * Gate B (pre-init config-correctness gate). PURE COMPUTE against this
@@ -52079,11 +52061,18 @@ var KeptReasonSchema = zod.z.enum(["custom-pin"]);
52079
52061
  * Where a choice's latency came from (D791): this node's own benchmark
52080
52062
  * result, or the hardware-class table. Measured on the node beats the table.
52081
52063
  */
52082
- var LatencySourceSchema = zod.z.discriminatedUnion("kind", [zod.z.object({ kind: zod.z.literal("table") }), zod.z.object({
52083
- kind: zod.z.literal("node-benchmark"),
52084
- resultId: zod.z.string(),
52085
- measuredAtMs: zod.z.number()
52086
- })]);
52064
+ var LatencySourceSchema = zod.z.discriminatedUnion("kind", [
52065
+ zod.z.object({ kind: zod.z.literal("table") }),
52066
+ zod.z.object({
52067
+ kind: zod.z.literal("node-benchmark"),
52068
+ resultId: zod.z.string(),
52069
+ measuredAtMs: zod.z.number()
52070
+ }),
52071
+ zod.z.object({
52072
+ kind: zod.z.literal("estimated"),
52073
+ estimatedFrom: HardwareClassIdSchema
52074
+ })
52075
+ ]);
52087
52076
  var DeviceModelChoiceSchema = zod.z.object({
52088
52077
  modelId: zod.z.string(),
52089
52078
  p50Ms: zod.z.number(),
@@ -52091,6 +52080,11 @@ var DeviceModelChoiceSchema = zod.z.object({
52091
52080
  measured: zod.z.boolean(),
52092
52081
  /** Absent on a plan from before D791 — read as the table. */
52093
52082
  source: LatencySourceSchema.optional(),
52083
+ /**
52084
+ * The measured class this latency was scaled from (D930). Absent when the
52085
+ * cell is the table or a node benchmark.
52086
+ */
52087
+ estimatedFrom: HardwareClassIdSchema.optional(),
52094
52088
  /** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
52095
52089
  capacitySessions: zod.z.number(),
52096
52090
  personRecall: zod.z.number()
@@ -52130,40 +52124,20 @@ var NodeDeviceChangeSchema = zod.z.object({
52130
52124
  keys: zod.z.array(zod.z.string()).readonly()
52131
52125
  })).readonly()
52132
52126
  });
52133
- var CameraOverrideClearSchema = zod.z.object({
52134
- deviceId: zod.z.number(),
52135
- source: zod.z.enum(["step-override", "wholesale"]),
52127
+ /**
52128
+ * Every model and model-bound threshold lives on the accelerator that runs it
52129
+ * (D927), so the plan writes node / device entries only — there is no camera
52130
+ * layer for it to clear.
52131
+ */
52132
+ var AutoTuneWarningSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
52133
+ kind: zod.z.literal("custom-pin-kept"),
52136
52134
  nodeId: zod.z.string(),
52137
- deviceKey: zod.z.string().nullable(),
52138
- stepId: zod.z.string(),
52139
- modelIdBefore: zod.z.string().nullable(),
52140
- keys: zod.z.array(zod.z.string()).readonly()
52141
- });
52142
- var DetectorStoreClearSchema = zod.z.object({
52143
- deviceId: zod.z.number(),
52144
- keys: zod.z.array(zod.z.string()).readonly()
52145
- });
52146
- var AutoTuneWarningSchema = zod.z.discriminatedUnion("kind", [
52147
- zod.z.object({
52148
- kind: zod.z.literal("detector-store-cluster-wide"),
52149
- skippedNodes: zod.z.array(zod.z.string()).readonly()
52150
- }),
52151
- zod.z.object({
52152
- kind: zod.z.literal("detector-store-unreadable"),
52153
- error: zod.z.string()
52154
- }),
52155
- zod.z.object({
52156
- kind: zod.z.literal("custom-pin-kept"),
52157
- nodeId: zod.z.string(),
52158
- deviceKey: zod.z.string().nullable(),
52159
- deviceId: zod.z.number().nullable(),
52160
- modelId: zod.z.string()
52161
- }),
52162
- zod.z.object({
52163
- kind: zod.z.literal("custom-registry-unreadable"),
52164
- error: zod.z.string()
52165
- })
52166
- ]);
52135
+ deviceKey: zod.z.string(),
52136
+ modelId: zod.z.string()
52137
+ }), zod.z.object({
52138
+ kind: zod.z.literal("custom-registry-unreadable"),
52139
+ error: zod.z.string()
52140
+ })]);
52167
52141
  var AutoTuneOptionsSchema = zod.z.object({
52168
52142
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
52169
52143
  headroom: zod.z.number().min(.3).max(.5).default(.4),
@@ -52185,8 +52159,6 @@ var AutoTunePlanSchema = zod.z.object({
52185
52159
  generatedAt: zod.z.number(),
52186
52160
  nodes: zod.z.array(NodeRecommendationSchema).readonly(),
52187
52161
  nodeChanges: zod.z.array(NodeDeviceChangeSchema).readonly(),
52188
- cameraClears: zod.z.array(CameraOverrideClearSchema).readonly(),
52189
- detectorStoreClears: zod.z.array(DetectorStoreClearSchema).readonly(),
52190
52162
  warnings: zod.z.array(AutoTuneWarningSchema).readonly()
52191
52163
  });
52192
52164
  var AutoTuneApplyInputSchema = zod.z.object({
@@ -52197,8 +52169,6 @@ var AutoTuneApplyInputSchema = zod.z.object({
52197
52169
  var AutoTunePhaseResultSchema = zod.z.object({
52198
52170
  phase: zod.z.enum([
52199
52171
  "download",
52200
- "camera-overrides",
52201
- "detector-thresholds",
52202
52172
  "node-models",
52203
52173
  "redispatch"
52204
52174
  ]),
@@ -54165,6 +54135,12 @@ var AgentPipelineSettingsSchema = zod.z.object({
54165
54135
  /** Hub-persisted UI colour (`--color-node-*` theme tokens). */
54166
54136
  color: NodeColorIdSchema.optional(),
54167
54137
  /**
54138
+ * NODE-wide step settings (D927): `stepId → { key → value }`, applied on
54139
+ * every accelerator of the node under the device's own settings. Never a
54140
+ * model or a model-bound threshold. Written by `setNodeStepSettings`.
54141
+ */
54142
+ stepSettings: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.unknown()).readonly()).optional(),
54143
+ /**
54168
54144
  * Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
54169
54145
  * weight, steps}. Absent / all-disabled ⇒ the node's single default
54170
54146
  * accelerator (safe default); two+ enabled ⇒ the dispatcher balances
@@ -54180,17 +54156,6 @@ var AgentPipelineSettingsSchema = zod.z.object({
54180
54156
  steps: zod.z.record(zod.z.string(), DeviceStepConfigSchema).optional()
54181
54157
  })).optional()
54182
54158
  });
54183
- var CameraPipelineForAgentSchema = zod.z.object({
54184
- steps: zod.z.array(PipelineStepInputSchema).readonly(),
54185
- audio: zod.z.object({
54186
- modelId: zod.z.string(),
54187
- enabled: zod.z.boolean()
54188
- }).nullable()
54189
- });
54190
- var CameraStepOverridePatchSchema = zod.z.object({
54191
- modelId: zod.z.string().optional(),
54192
- settings: zod.z.record(zod.z.string(), zod.z.unknown()).readonly().optional()
54193
- });
54194
54159
  var CameraStepSettingsSchema = zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.unknown()).readonly());
54195
54160
  /** The three root-detector choices a camera has (D507: at most one root). */
54196
54161
  var CameraDetectionSourceSchema = zod.z.enum([
@@ -54200,9 +54165,7 @@ var CameraDetectionSourceSchema = zod.z.enum([
54200
54165
  ]);
54201
54166
  var CameraPipelineSettingsSchema = zod.z.object({
54202
54167
  stepToggles: zod.z.record(zod.z.string(), zod.z.boolean()).optional(),
54203
- stepSettings: CameraStepSettingsSchema.optional(),
54204
- stepOverridesByDevice: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema))).optional(),
54205
- pipelineByAgent: zod.z.record(zod.z.string(), CameraPipelineForAgentSchema).optional()
54168
+ stepSettings: CameraStepSettingsSchema.optional()
54206
54169
  });
54207
54170
  /**
54208
54171
  * Pipeline placement record persisted by `addon-pipeline-orchestrator` via
@@ -54973,6 +54936,21 @@ var pipelineOrchestratorCapability = {
54973
54936
  auth: "admin"
54974
54937
  }),
54975
54938
  /**
54939
+ * Write or clear one step's NODE-wide settings (D927) — the content that
54940
+ * holds on every accelerator of the node (`agentSettings[node].stepSettings`).
54941
+ * `settings` is the whole bag for the step; `null` or `{}` clears it.
54942
+ * REFUSES a model-scoped key (a model id, a binding, a `minConfidence*`
54943
+ * floor): those are set on the accelerator (`setAgentInferenceDevices`).
54944
+ */
54945
+ setNodeStepSettings: method(zod.z.object({
54946
+ agentNodeId: zod.z.string(),
54947
+ addonId: zod.z.string(),
54948
+ settings: zod.z.record(zod.z.string(), zod.z.unknown()).nullable()
54949
+ }), zod.z.object({ success: zod.z.literal(true) }), {
54950
+ kind: "mutation",
54951
+ auth: "admin"
54952
+ }),
54953
+ /**
54976
54954
  * DEVICE-AWARE merged view of ONE node's inference accelerators. Joins each
54977
54955
  * physical device the node HAS — probed live via a node-pinned
54978
54956
  * `platformProbe.getCapabilities` (the platform-probe singleton is targeted
@@ -55006,23 +54984,17 @@ var pipelineOrchestratorCapability = {
55006
54984
  * (a) strips every `modelId` pin from that node's
55007
54985
  * `agentSettings.addonDefaults` (cells revert to Auto — the node
55008
54986
  * resolves its own hardware-aware format default at runtime);
55009
- * (b) clears per-camera step overrides scoped to that node
55010
- * (`stepOverridesByAgent[node]` + the wholesale
55011
- * `pipelineByAgent[node]` escape hatch);
55012
- * (c) clears the executor-side per-device settings stores on that node
55013
- * (`pipelineExecutor.clearDeviceOverrides`);
55014
- * (d) hot-reloads every camera assigned to the node.
54987
+ * (b) hot-reloads every camera assigned to the node.
54988
+ * There is no per-camera model to clear (D927).
55015
54989
  *
55016
54990
  * Returns the EFFECTIVE post-reset object-detection model for the node
55017
- * (the executor's pure hardware-aware default) so the UI can report what
55018
- * will actually run — not a value that never reaches the live path.
54991
+ * (the format default of the accelerator hosting the camera root) so the
54992
+ * UI can report what will actually run.
55019
54993
  */
55020
54994
  resetNodePipelineDefaults: method(zod.z.object({ agentNodeId: zod.z.string() }), zod.z.object({
55021
54995
  success: zod.z.literal(true),
55022
54996
  /** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
55023
- effectiveModelId: zod.z.string().nullable(),
55024
- /** Number of cameras whose node-scoped overrides were cleared. */
55025
- clearedCameraOverrides: zod.z.number()
54997
+ effectiveModelId: zod.z.string().nullable()
55026
54998
  }), {
55027
54999
  kind: "mutation",
55028
55000
  auth: "admin"
@@ -55034,8 +55006,8 @@ var pipelineOrchestratorCapability = {
55034
55006
  * that sustains at least `minSessionsPerDevice` parallel sessions at the
55035
55007
  * camera rate with the headroom kept free (no load input), and lists every write
55036
55008
  * the apply would make: the node model pins set, the enrichment pins and
55037
- * model-bound thresholds removed (node level and per camera), and the
55038
- * per-camera detector thresholds cleared. Writes nothing. Step
55009
+ * model-bound thresholds removed — all on the accelerators, the only
55010
+ * layer that carries a model (D927). Writes nothing. Step
55039
55011
  * enablement, device enablement, pins, recording, notifications, zones and
55040
55012
  * rules are never part of it. `planHash` names exactly this diff.
55041
55013
  */
@@ -55188,31 +55160,14 @@ var pipelineOrchestratorCapability = {
55188
55160
  kind: "mutation",
55189
55161
  auth: "admin"
55190
55162
  }),
55191
- /** Read every per-(node,device) override map for a device. Null when device has no overrides. */
55192
- getCameraStepOverrides: method(zod.z.object({ deviceId: zod.z.number() }), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema))).nullable()),
55193
55163
  /**
55194
- * Write or clear the per-(camera,node,device) override for one addonId.
55195
- * `patch: null` clears the entry entirely for that (node, deviceKey, addon)
55196
- * triple (empty parents are pruned). Model/settings only — enablement is
55197
- * the per-camera `stepToggles` authority.
55198
- */
55199
- setCameraStepOverride: method(zod.z.object({
55200
- deviceId: zod.z.number(),
55201
- agentNodeId: zod.z.string(),
55202
- deviceKey: zod.z.string(),
55203
- addonId: zod.z.string(),
55204
- patch: CameraStepOverridePatchSchema.nullable()
55205
- }), zod.z.object({ success: zod.z.literal(true) }), {
55206
- kind: "mutation",
55207
- auth: "admin"
55208
- }),
55209
- /**
55210
- * Write or clear one step's CAMERA-WIDE settings (D754) — the fields this
55211
- * camera overrides on every accelerator it runs on. `settings` is the
55212
- * whole field-level bag for that step (only the overridden keys; a
55213
- * model-bound field travels with its binding key); `null` or `{}` clears
55214
- * it. Merged at dispatch between the node base and the per-(node,device)
55215
- * override, key by key.
55164
+ * Write or clear one step's CAMERA-WIDE settings (D754) — the
55165
+ * camera-semantic fields this camera overrides on every accelerator it
55166
+ * runs on. `settings` is the whole field-level bag for that step (only the
55167
+ * overridden keys); `null` or `{}` clears it. Merged at dispatch over the
55168
+ * node base, key by key. REFUSES a model-scoped key — a model id, a model
55169
+ * binding or a `minConfidence*` floor (D927): those belong to the
55170
+ * accelerator that runs the model.
55216
55171
  */
55217
55172
  setCameraStepSettings: method(zod.z.object({
55218
55173
  deviceId: zod.z.number(),
@@ -55222,15 +55177,6 @@ var pipelineOrchestratorCapability = {
55222
55177
  kind: "mutation",
55223
55178
  auth: "admin"
55224
55179
  }),
55225
- /** Write or clear the wholesale per-agent pipeline override. Pass `pipeline: null` to drop the override. */
55226
- setCameraPipelineForAgent: method(zod.z.object({
55227
- deviceId: zod.z.number(),
55228
- agentNodeId: zod.z.string(),
55229
- pipeline: CameraPipelineForAgentSchema.nullable()
55230
- }), zod.z.object({ success: zod.z.literal(true) }), {
55231
- kind: "mutation",
55232
- auth: "admin"
55233
- }),
55234
55180
  /** Resolve the effective pipeline for `(deviceId, agentNodeId?)` — walks the full precedence chain. Read-only preview used by the UI to show what will run. */
55235
55181
  resolvePipeline: method(zod.z.object({
55236
55182
  deviceId: zod.z.number(),
@@ -67044,6 +66990,36 @@ includeCrops: zod.z.boolean().optional() }).optional(), zod.z.array(VehicleSchem
67044
66990
  })
67045
66991
  }
67046
66992
  };
66993
+ var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
66994
+ var positiveOrNull = zod.z.number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
66995
+ var textOrNull = zod.z.string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
66996
+ var PrecisionGopsSchema = zod.z.object({
66997
+ int8: positiveOrNull,
66998
+ fp16: positiveOrNull
66999
+ });
67000
+ /** What one accelerator device reported. Every failed query is null. */
67001
+ var AcceleratorComputeSchema = zod.z.object({
67002
+ deviceKey: zod.z.string(),
67003
+ fullDeviceName: textOrNull,
67004
+ executionUnits: positiveOrNull,
67005
+ clockMHz: positiveOrNull,
67006
+ gops: PrecisionGopsSchema.nullable(),
67007
+ architecture: textOrNull,
67008
+ npuName: textOrNull,
67009
+ tops: positiveOrNull,
67010
+ vendor: textOrNull,
67011
+ webgpuArchitecture: textOrNull,
67012
+ webgpuDevice: textOrNull,
67013
+ computeUnits: positiveOrNull
67014
+ });
67015
+ var AcceleratorFactsPayloadSchema = zod.z.object({ accelerators: zod.z.array(AcceleratorComputeSchema).nullable() });
67016
+ 64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ;
67017
+ /** Parse a probe payload. `null` means the probe failed — not "no accelerators". */
67018
+ function parseAcceleratorFactsJson(raw) {
67019
+ const parsed = AcceleratorFactsPayloadSchema.safeParse(raw);
67020
+ if (!parsed.success || parsed.data.accelerators === null) return null;
67021
+ return parsed.data.accelerators;
67022
+ }
67047
67023
  var ModelFormatSchema = zod.z.enum(MODEL_FORMATS);
67048
67024
  var HwAccelBackendInputSchema = zod.z.enum([
67049
67025
  "videotoolbox",
@@ -67158,7 +67134,12 @@ var HardwareInfoSchema = zod.z.object({
67158
67134
  availableRAM_MB: zod.z.number(),
67159
67135
  gpu: GpuInfoSchema.nullable(),
67160
67136
  npu: NpuInfoSchema.nullable(),
67161
- coral: CoralInfoSchema.nullable().optional()
67137
+ coral: CoralInfoSchema.nullable().optional(),
67138
+ /**
67139
+ * Per-accelerator compute (D930). Omitted by a node that has not probed it.
67140
+ * `null` fields inside an entry are a failed query, never a zero.
67141
+ */
67142
+ accelerators: zod.z.array(AcceleratorComputeSchema).readonly().optional()
67162
67143
  });
67163
67144
  var PlatformScoreSchema = zod.z.object({
67164
67145
  runtime: zod.z.literal("python"),
@@ -70530,7 +70511,20 @@ var ZoneRuleSchema = zod.z.object({
70530
70511
  * Defaults to `true` so operators creating a rule via the UI
70531
70512
  * see it active immediately.
70532
70513
  */
70533
- enabled: zod.z.boolean().default(true)
70514
+ enabled: zod.z.boolean().default(true),
70515
+ /**
70516
+ * Package stage only. When true, a package candidate may open from a
70517
+ * scene difference in this rule's zone after a person leaves. The
70518
+ * package model, when it boxes something overlapping, is extra evidence
70519
+ * and is not the gate. Absent or false keeps today's model path.
70520
+ */
70521
+ detectBySceneDifference: zod.z.boolean().optional(),
70522
+ /**
70523
+ * Package stage only. When true, a promoted package is shown to the
70524
+ * `llm` cap before the delivery event is emitted. Absent or false emits
70525
+ * as today. Usable with or without `detectBySceneDifference`.
70526
+ */
70527
+ confirmWithLlm: zod.z.boolean().optional()
70534
70528
  });
70535
70529
  zod.z.array(ZoneRuleSchema).readonly();
70536
70530
  /**
@@ -73416,7 +73410,7 @@ var trainingProviderCapability = {
73416
73410
  * - **Jobs.** A persisted state machine, a reconcile loop against the
73417
73411
  * provider, a cost guard, a daily orphan sweep and the retention rules.
73418
73412
  * - **The return flow.** Verified artefacts → Model Studio
73419
- * (`custom-model-registry.importModelBundle`) → canary on cameras →
73413
+ * (`custom-model-registry.importModelBundle`) → canary on accelerators →
73420
73414
  * rollback. Nothing is ever registered automatically.
73421
73415
  *
73422
73416
  * Plan/start takes a live {@link TrainingCorpusSelection} (collections +
@@ -73553,20 +73547,24 @@ var TrainingProgressPointSchema = zod.z.object({
73553
73547
  map50: zod.z.number().nullable(),
73554
73548
  map50_95: zod.z.number().nullable()
73555
73549
  });
73550
+ /** One accelerator: a `(node, inference device)` that runs the root detector. */
73551
+ var TrainingAcceleratorRefSchema = zod.z.object({
73552
+ nodeId: zod.z.string(),
73553
+ deviceKey: zod.z.string()
73554
+ });
73555
+ /**
73556
+ * A canary pins the registered model on chosen ACCELERATORS — a model is
73557
+ * chosen by the accelerator that runs it (D927); every camera balanced onto
73558
+ * one runs it. `previous` is the root-detector pin each one had (`null` = it
73559
+ * ran its default), exactly, so rollback restores it.
73560
+ */
73556
73561
  var TrainingCanarySchema = zod.z.object({
73557
- deviceIds: zod.z.array(zod.z.number().int()).readonly(),
73562
+ accelerators: zod.z.array(TrainingAcceleratorRefSchema).readonly(),
73558
73563
  since: zod.z.number(),
73559
- /** Every override the canary replaced, exactly, so rollback restores it. */
73560
- previous: zod.z.array(zod.z.object({
73561
- deviceId: zod.z.number().int(),
73562
- nodeId: zod.z.string(),
73563
- deviceKey: zod.z.string(),
73564
- patch: zod.z.object({
73565
- modelId: zod.z.string().optional(),
73566
- settings: zod.z.record(zod.z.string(), zod.z.unknown()).readonly().optional()
73567
- }).nullable()
73568
- })).readonly()
73564
+ previous: zod.z.array(TrainingAcceleratorRefSchema.extend({ modelId: zod.z.string().nullable() })).readonly()
73569
73565
  });
73566
+ /** An accelerator a canary may pin: it runs the root detector, on this model now. */
73567
+ var TrainingCanaryTargetSchema = TrainingAcceleratorRefSchema.extend({ pinnedModelId: zod.z.string().nullable() });
73570
73568
  var TrainingJobSchema = zod.z.object({
73571
73569
  id: zod.z.string(),
73572
73570
  idempotencyKey: zod.z.string(),
@@ -73706,19 +73704,21 @@ var trainingCapability = {
73706
73704
  }),
73707
73705
  /** The verified `result.json` of a job in `ready` or later; null before. */
73708
73706
  getJobResult: method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }),
73707
+ /** The accelerators a canary may pin: every enabled one that runs the root detector. */
73708
+ listCanaryTargets: method(zod.z.void(), zod.z.array(TrainingCanaryTargetSchema).readonly(), { auth: "admin" }),
73709
73709
  /** Hand the verified bundle to Model Studio; optionally canary right after. */
73710
- registerResult: method(IdInput.extend({ canaryDeviceIds: zod.z.array(zod.z.number().int()).readonly() }), TrainingJobSchema, {
73710
+ registerResult: method(IdInput.extend({ canaryAccelerators: zod.z.array(TrainingAcceleratorRefSchema).readonly() }), TrainingJobSchema, {
73711
73711
  kind: "mutation",
73712
73712
  auth: "admin",
73713
73713
  timeoutMs: 30 * 6e4
73714
73714
  }),
73715
- /** Pin the registered model on these cameras, remembering what it replaced. */
73716
- canaryResult: method(IdInput.extend({ deviceIds: zod.z.array(zod.z.number().int()).min(1).readonly() }), TrainingJobSchema, {
73715
+ /** Pin the registered model on these accelerators, remembering what it replaced. */
73716
+ canaryResult: method(IdInput.extend({ accelerators: zod.z.array(TrainingAcceleratorRefSchema).min(1).readonly() }), TrainingJobSchema, {
73717
73717
  kind: "mutation",
73718
73718
  auth: "admin",
73719
73719
  timeoutMs: 12e4
73720
73720
  }),
73721
- /** Put every canary camera back exactly as it was. */
73721
+ /** Put every canary accelerator back exactly as it was. */
73722
73722
  rollbackCanary: method(IdInput, TrainingJobSchema, {
73723
73723
  kind: "mutation",
73724
73724
  auth: "admin",
@@ -81450,20 +81450,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
81450
81450
  access: "create",
81451
81451
  role: "admin"
81452
81452
  },
81453
- "pipelineExecutor.clearDeviceOverrides": {
81454
- capName: "pipeline-executor",
81455
- capScope: "system",
81456
- addonId: null,
81457
- access: "delete",
81458
- role: "admin"
81459
- },
81460
- "pipelineExecutor.clearModelBoundDeviceOverrides": {
81461
- capName: "pipeline-executor",
81462
- capScope: "system",
81463
- addonId: null,
81464
- access: "delete",
81465
- role: "admin"
81466
- },
81467
81453
  "pipelineExecutor.deleteModel": {
81468
81454
  capName: "pipeline-executor",
81469
81455
  capScope: "system",
@@ -81506,13 +81492,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
81506
81492
  access: "view",
81507
81493
  role: "admin"
81508
81494
  },
81509
- "pipelineExecutor.getDefaultSteps": {
81510
- capName: "pipeline-executor",
81511
- capScope: "system",
81512
- addonId: null,
81513
- access: "view",
81514
- role: "admin"
81515
- },
81516
81495
  "pipelineExecutor.getDetectionConfigSchema": {
81517
81496
  capName: "pipeline-executor",
81518
81497
  capScope: "system",
@@ -81534,20 +81513,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
81534
81513
  access: "view",
81535
81514
  role: "admin"
81536
81515
  },
81537
- "pipelineExecutor.getGlobalPipelineConfig": {
81538
- capName: "pipeline-executor",
81539
- capScope: "system",
81540
- addonId: null,
81541
- access: "view",
81542
- role: "admin"
81543
- },
81544
- "pipelineExecutor.getGlobalSteps": {
81545
- capName: "pipeline-executor",
81546
- capScope: "system",
81547
- addonId: null,
81548
- access: "view",
81549
- role: "admin"
81550
- },
81551
81516
  "pipelineExecutor.getInferenceDeviceHealth": {
81552
81517
  capName: "pipeline-executor",
81553
81518
  capScope: "system",
@@ -81807,13 +81772,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
81807
81772
  access: "view",
81808
81773
  role: "admin"
81809
81774
  },
81810
- "pipelineOrchestrator.getCameraStepOverrides": {
81811
- capName: "pipeline-orchestrator",
81812
- capScope: "system",
81813
- addonId: null,
81814
- access: "view",
81815
- role: "admin"
81816
- },
81817
81775
  "pipelineOrchestrator.getCameraSwitches": {
81818
81776
  capName: "pipeline-orchestrator",
81819
81777
  capScope: "system",
@@ -82052,13 +82010,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
82052
82010
  access: "create",
82053
82011
  role: "admin"
82054
82012
  },
82055
- "pipelineOrchestrator.setCameraPipelineForAgent": {
82056
- capName: "pipeline-orchestrator",
82057
- capScope: "system",
82058
- addonId: null,
82059
- access: "create",
82060
- role: "admin"
82061
- },
82062
82013
  "pipelineOrchestrator.setCameraSensors": {
82063
82014
  capName: "pipeline-orchestrator",
82064
82015
  capScope: "system",
@@ -82066,42 +82017,42 @@ var METHOD_ACCESS_MAP = Object.freeze({
82066
82017
  access: "create",
82067
82018
  role: "admin"
82068
82019
  },
82069
- "pipelineOrchestrator.setCameraStepOverride": {
82020
+ "pipelineOrchestrator.setCameraStepSettings": {
82070
82021
  capName: "pipeline-orchestrator",
82071
82022
  capScope: "system",
82072
82023
  addonId: null,
82073
82024
  access: "create",
82074
82025
  role: "admin"
82075
82026
  },
82076
- "pipelineOrchestrator.setCameraStepSettings": {
82027
+ "pipelineOrchestrator.setCameraStepToggle": {
82077
82028
  capName: "pipeline-orchestrator",
82078
82029
  capScope: "system",
82079
82030
  addonId: null,
82080
82031
  access: "create",
82081
82032
  role: "admin"
82082
82033
  },
82083
- "pipelineOrchestrator.setCameraStepToggle": {
82034
+ "pipelineOrchestrator.setCameraSwitch": {
82084
82035
  capName: "pipeline-orchestrator",
82085
82036
  capScope: "system",
82086
82037
  addonId: null,
82087
82038
  access: "create",
82088
82039
  role: "admin"
82089
82040
  },
82090
- "pipelineOrchestrator.setCameraSwitch": {
82041
+ "pipelineOrchestrator.setCapabilityBinding": {
82091
82042
  capName: "pipeline-orchestrator",
82092
82043
  capScope: "system",
82093
82044
  addonId: null,
82094
82045
  access: "create",
82095
82046
  role: "admin"
82096
82047
  },
82097
- "pipelineOrchestrator.setCapabilityBinding": {
82048
+ "pipelineOrchestrator.setLoadBalancingShares": {
82098
82049
  capName: "pipeline-orchestrator",
82099
82050
  capScope: "system",
82100
82051
  addonId: null,
82101
82052
  access: "create",
82102
82053
  role: "admin"
82103
82054
  },
82104
- "pipelineOrchestrator.setLoadBalancingShares": {
82055
+ "pipelineOrchestrator.setNodeStepSettings": {
82105
82056
  capName: "pipeline-orchestrator",
82106
82057
  capScope: "system",
82107
82058
  addonId: null,
@@ -84460,6 +84411,13 @@ var METHOD_ACCESS_MAP = Object.freeze({
84460
84411
  access: "view",
84461
84412
  role: "admin"
84462
84413
  },
84414
+ "training.listCanaryTargets": {
84415
+ capName: "training",
84416
+ capScope: "system",
84417
+ addonId: null,
84418
+ access: "view",
84419
+ role: "admin"
84420
+ },
84463
84421
  "training.listJobs": {
84464
84422
  capName: "training",
84465
84423
  capScope: "system",
@@ -91117,11 +91075,6 @@ Object.freeze({
91117
91075
  form: "single",
91118
91076
  optional: false
91119
91077
  }],
91120
- "pipelineExecutor.clearModelBoundDeviceOverrides": [{
91121
- name: "deviceIds",
91122
- form: "array",
91123
- optional: true
91124
- }],
91125
91078
  "pipelineExecutor.runPipeline": [{
91126
91079
  name: "deviceId",
91127
91080
  form: "single",
@@ -91177,11 +91130,6 @@ Object.freeze({
91177
91130
  form: "array",
91178
91131
  optional: true
91179
91132
  }],
91180
- "pipelineOrchestrator.getCameraStepOverrides": [{
91181
- name: "deviceId",
91182
- form: "single",
91183
- optional: false
91184
- }],
91185
91133
  "pipelineOrchestrator.getCameraSwitches": [{
91186
91134
  name: "deviceId",
91187
91135
  form: "single",
@@ -91222,21 +91170,11 @@ Object.freeze({
91222
91170
  form: "single",
91223
91171
  optional: false
91224
91172
  }],
91225
- "pipelineOrchestrator.setCameraPipelineForAgent": [{
91226
- name: "deviceId",
91227
- form: "single",
91228
- optional: false
91229
- }],
91230
91173
  "pipelineOrchestrator.setCameraSensors": [{
91231
91174
  name: "deviceId",
91232
91175
  form: "single",
91233
91176
  optional: false
91234
91177
  }],
91235
- "pipelineOrchestrator.setCameraStepOverride": [{
91236
- name: "deviceId",
91237
- form: "single",
91238
- optional: false
91239
- }],
91240
91178
  "pipelineOrchestrator.setCameraStepSettings": [{
91241
91179
  name: "deviceId",
91242
91180
  form: "single",
@@ -91914,11 +91852,6 @@ Object.freeze({
91914
91852
  form: "single",
91915
91853
  optional: false
91916
91854
  }],
91917
- "training.canaryResult": [{
91918
- name: "deviceIds",
91919
- form: "array",
91920
- optional: false
91921
- }],
91922
91855
  "update.getStatus": [{
91923
91856
  name: "deviceId",
91924
91857
  form: "single",
@@ -93999,6 +93932,10 @@ TimelapseRuleInputSchema.extend({
93999
93932
  updatedAt: zod.z.number()
94000
93933
  });
94001
93934
  MotionOnMotionChangedDataSchema.omit({ triggeredBy: true });
93935
+ Object.freeze({
93936
+ person: .8,
93937
+ vehicle: .8
93938
+ });
94002
93939
  zod.z.object({
94003
93940
  /**
94004
93941
  * Fraction of the box's own size added on EACH side before cutting.
@@ -95986,6 +95923,12 @@ Object.defineProperty(exports, "objectInputDeclaresRequiredDeviceId", {
95986
95923
  return objectInputDeclaresRequiredDeviceId;
95987
95924
  }
95988
95925
  });
95926
+ Object.defineProperty(exports, "parseAcceleratorFactsJson", {
95927
+ enumerable: true,
95928
+ get: function() {
95929
+ return parseAcceleratorFactsJson;
95930
+ }
95931
+ });
95989
95932
  Object.defineProperty(exports, "parseJsonObject", {
95990
95933
  enumerable: true,
95991
95934
  get: function() {