@camstack/addon-admin-ui 1.2.457 → 1.2.458

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 (121) hide show
  1. package/dist/assets/{AddonAssetIcon-BOcwQMt3.js → AddonAssetIcon-arpH1jD8.js} +1 -1
  2. package/dist/assets/{Addons-BrsHM2rE.js → Addons-HbtgQft-.js} +1 -1
  3. package/dist/assets/{AdminPage-0E8EpSO9.js → AdminPage-BjrFg6FM.js} +1 -1
  4. package/dist/assets/{AdminSectionedPage-CxodN1sn.js → AdminSectionedPage-DxQ2pH4Y.js} +1 -1
  5. package/dist/assets/{AiProfiles-EJziTK6H.js → AiProfiles-BdzPXclT.js} +1 -1
  6. package/dist/assets/{BrokerForm-Dbs6DDhN.js → BrokerForm-DEL7JPI4.js} +1 -1
  7. package/dist/assets/Build-DNm-26dy.js +40 -0
  8. package/dist/assets/{Calendars-DwIn1aCE.js → Calendars-Cw-Q6N0f.js} +1 -1
  9. package/dist/assets/{Cluster-FzZaIb80.js → Cluster-CUox6xE3.js} +1 -1
  10. package/dist/assets/ClusterStepModel-BSI39thg.js +1 -0
  11. package/dist/assets/CompositionEditor-B3e76JM9.js +1 -0
  12. package/dist/assets/{CompositionEditorPage-I6-ghm-F.js → CompositionEditorPage-DnCUuqEl.js} +1 -1
  13. package/dist/assets/{Data-CWXYjuUH.js → Data-IEAE-8BN.js} +1 -1
  14. package/dist/assets/DeviceDetail-MmjrNM7o.js +2 -0
  15. package/dist/assets/{DeviceDoActionFields-XK5u9sG-.js → DeviceDoActionFields-BRZweXYw.js} +1 -1
  16. package/dist/assets/{Devices-CPoElWdX.js → Devices-BtjFXXD8.js} +1 -1
  17. package/dist/assets/{EmbedPlayerPage-CwqeH_Vp.js → EmbedPlayerPage-DmA2dyRs.js} +1 -1
  18. package/dist/assets/{History-146ywVRO.js → History-Csgt6RnT.js} +1 -1
  19. package/dist/assets/Identity-DmdFLJiQ.js +1 -0
  20. package/dist/assets/{IntegrationDetail-CUffTwqo.js → IntegrationDetail-DsIRBJ-F.js} +1 -1
  21. package/dist/assets/{IntegrationHub-DAndpOVJ.js → IntegrationHub-DTFQyFFN.js} +1 -1
  22. package/dist/assets/{Integrations-DaNoA1oi.js → Integrations-3Dm1BWSC.js} +1 -1
  23. package/dist/assets/{Integrations-DrSNiPXr.js → Integrations-CPsVHs77.js} +1 -1
  24. package/dist/assets/{Library-BMJeDfUP.js → Library-CsCzamEb.js} +1 -1
  25. package/dist/assets/{Locations-DpWQPPRR.js → Locations-BmYKJdte.js} +2 -2
  26. package/dist/assets/{Logs-ClfIrCg_.js → Logs-BfeyENDk.js} +1 -1
  27. package/dist/assets/{MaskShapeCanvas-BACSOVPv.js → MaskShapeCanvas-tNwtlAOM.js} +1 -1
  28. package/dist/assets/{MotionZonesSettings-C-BWiqKl.js → MotionZonesSettings-C8j_gawX.js} +1 -1
  29. package/dist/assets/{MyAccess-B2mddc8z.js → MyAccess-CQtGUeMl.js} +1 -1
  30. package/dist/assets/{Network-CCpscaUS.js → Network-C_cYS-fR.js} +1 -1
  31. package/dist/assets/{NodeAddonsSettingsPanel-J8GvbAOS.js → NodeAddonsSettingsPanel-BgUAqnzo.js} +1 -1
  32. package/dist/assets/Notifications-Bp7cRi1y.js +1 -0
  33. package/dist/assets/{PrivacyMaskSettings-_hgbaRHe.js → PrivacyMaskSettings-Dpr5kjzL.js} +1 -1
  34. package/dist/assets/{Recordings-CmuOayrH.js → Recordings-DEsoK17t.js} +1 -1
  35. package/dist/assets/{ScanNetworkModal-CHpDtEMN.js → ScanNetworkModal-CHmBk64D.js} +1 -1
  36. package/dist/assets/{SceneMonitorEditor-DNX5LjxD.js → SceneMonitorEditor-_NtH_gGA.js} +1 -1
  37. package/dist/assets/{SessionsList-CO2JCtUA.js → SessionsList-CRE59_h3.js} +1 -1
  38. package/dist/assets/{Showroom-C1Cx5rmM.js → Showroom-CpcQ_noP.js} +1 -1
  39. package/dist/assets/{System-8QdXWXlv.js → System-Cmlqjd1R.js} +1 -1
  40. package/dist/assets/{Terminal-D-QqW5OC.js → Terminal-B2_h39vc.js} +1 -1
  41. package/dist/assets/{Viewer-DEkhIs_o.js → Viewer-BY7zR9zQ.js} +1 -1
  42. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DXRH_g5-.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BByWRJ1W.js} +1 -1
  43. package/dist/assets/{addon-icons-context-r4-8qNuL.js → addon-icons-context-C4CUqZFb.js} +1 -1
  44. package/dist/assets/{archive-CHNksUXE.js → archive-D-IttKbd.js} +1 -1
  45. package/dist/assets/{authed-media-CLfNNAcR.js → authed-media-BH09w7mx.js} +1 -1
  46. package/dist/assets/{bell-off-BQUuLgGa.js → bell-off-esSw14-4.js} +1 -1
  47. package/dist/assets/{board-model-CCKjMnih.js → board-model-CzpY9jow.js} +1 -1
  48. package/dist/assets/{boxes-OM3WXXCF.js → boxes-DLm9pV7A.js} +1 -1
  49. package/dist/assets/circle-slash-DUiMT2dc.js +1 -0
  50. package/dist/assets/client-BI85kkig.js +358 -0
  51. package/dist/assets/{cloud-upload-DnQzN7Zu.js → cloud-upload-CmlXZ47L.js} +1 -1
  52. package/dist/assets/crop-DFOEm7GN.js +1 -0
  53. package/dist/assets/{device-integration-icon-T6DuiFIe.js → device-integration-icon-BBk1BbPA.js} +1 -1
  54. package/dist/assets/device-picker-model-B-2vVHUA.js +1 -0
  55. package/dist/assets/dist-DmOQydcE.js +358 -0
  56. package/dist/assets/{dist-DWpE4F9Y.js → dist-DyazYmMR.js} +1 -1
  57. package/dist/assets/{eraser-2zvTICay.js → eraser-plwpovOj.js} +1 -1
  58. package/dist/assets/{hard-drive-download-BuPae4i9.js → hard-drive-download-B8wIgrJR.js} +1 -1
  59. package/dist/assets/{hostInit-B0H8YgMs.js → hostInit-u9GmPoX9.js} +1 -1
  60. package/dist/assets/i18n-DCSomJiP.js +1 -0
  61. package/dist/assets/{icons-Bf1g4TTU.js → icons-Dkn5asvl.js} +1 -1
  62. package/dist/assets/index-DPvkuJxO.js +4 -0
  63. package/dist/assets/{key-y1dQIrgn.js → key-CA18pL-8.js} +1 -1
  64. package/dist/assets/{key-round-PVl1EIeU.js → key-round-C7R-scbw.js} +1 -1
  65. package/dist/assets/{layers-BvTBL45e.js → layers-BxsydRGi.js} +1 -1
  66. package/dist/assets/{linked-devices-model-NEAloVak.js → linked-devices-model-BLcQ9yAI.js} +1 -1
  67. package/dist/assets/{list-ordered-Cy6LNkX7.js → list-ordered-DnwKxGIw.js} +1 -1
  68. package/dist/assets/{location-owned-usage-COJFqP2Z.js → location-owned-usage-CuK_nCoP.js} +1 -1
  69. package/dist/assets/{log-in-C8bG6uHT.js → log-in-Bf5RUTf4.js} +1 -1
  70. package/dist/assets/{memory-stick-DgCbrom_.js → memory-stick-B59QUWgK.js} +1 -1
  71. package/dist/assets/{message-square-plus-T2Q-JaNP.js → message-square-plus-Ckmg1y08.js} +1 -1
  72. package/dist/assets/{mf-entry-bootstrap-0-fa03047b.js → mf-entry-bootstrap-0-547cfa14.js} +2 -2
  73. package/dist/assets/{mic-off-CQXTB132.js → mic-off-CsCgSoDy.js} +1 -1
  74. package/dist/assets/{monitor-off-CvP-Xwqs.js → monitor-off-BwsLAWve.js} +1 -1
  75. package/dist/assets/{monitor-smartphone-DgPyh0bq.js → monitor-smartphone-G--2aBuy.js} +1 -1
  76. package/dist/assets/mount-B-2vVHUA.js +1 -0
  77. package/dist/assets/notification-schedule-field-C6qs47JN.js +1 -0
  78. package/dist/assets/{player-overlays-DTcu3p6k.js → player-overlays-BTnXgs6l.js} +1 -1
  79. package/dist/assets/{recycle-BgfATMDb.js → recycle-f9jOE7g7.js} +1 -1
  80. package/dist/assets/remoteEntry-BA9oATqv.js +1 -0
  81. package/dist/assets/{scan-eye-Cw7uLDDg.js → scan-eye-CC4mTfUp.js} +1 -1
  82. package/dist/assets/{scissors-GZwoMkJz.js → scissors-BNEM1Ztl.js} +1 -1
  83. package/dist/assets/{search-x-mGDaYxQw.js → search-x-3m2MRtEu.js} +1 -1
  84. package/dist/assets/{send-B4zTG8IX.js → send-D6irwubo.js} +1 -1
  85. package/dist/assets/{settings-2-7MkaO5_9.js → settings-2-B_7_TLiY.js} +1 -1
  86. package/dist/assets/{speaker-iZgcW4qe.js → speaker-CBOD08Ii.js} +1 -1
  87. package/dist/assets/src-B_ik3sNc.js +67 -0
  88. package/dist/assets/{timer-reset-CZOKA6Qu.js → timer-reset-BmRk3MOl.js} +1 -1
  89. package/dist/assets/{ungroup-CmTgkman.js → ungroup-CtlTayH1.js} +1 -1
  90. package/dist/assets/{unlink-DgTv7GBL.js → unlink-8-ZUzI25.js} +1 -1
  91. package/dist/assets/{usb-CDpFB3qV.js → usb-DRY8JHaQ.js} +1 -1
  92. package/dist/assets/{use-scenes-feed-Xf26vjq3.js → use-scenes-feed-Bnlc0umC.js} +1 -1
  93. package/dist/assets/{use-stationary-objects-piZ9a4go.js → use-stationary-objects-CSaIphB2.js} +1 -1
  94. package/dist/assets/useEventInvalidation-B-2vVHUA.js +1 -0
  95. package/dist/assets/{useNodeUrlSelection-Bmr7pzZ8.js → useNodeUrlSelection-UerjxtpH.js} +1 -1
  96. package/dist/assets/user-round-D65mcWwX.js +1 -0
  97. package/dist/assets/{user-x-DG-dacDQ.js → user-x-DWSR4aIw.js} +1 -1
  98. package/dist/assets/{video-DSWn6X4v.js → video-BRH0aO3l.js} +1 -1
  99. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-9bgJ3bqj.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-VnpYmyAv.js} +2 -2
  100. package/dist/index.html +10 -10
  101. package/dist/server/addon.js +78 -199
  102. package/package.json +1 -1
  103. package/dist/assets/Build-G3WNIoIu.js +0 -40
  104. package/dist/assets/ClusterStepModel-BKwbYUSr.js +0 -1
  105. package/dist/assets/CompositionEditor-Du0918m6.js +0 -1
  106. package/dist/assets/DeviceDetail-DEN9C3es.js +0 -2
  107. package/dist/assets/Identity-NsWnwCVn.js +0 -1
  108. package/dist/assets/Notifications-CJvDmENV.js +0 -1
  109. package/dist/assets/circle-slash-B-qX3Tzf.js +0 -1
  110. package/dist/assets/client-Tf7DwHzR.js +0 -358
  111. package/dist/assets/crop-BXCCBrRT.js +0 -1
  112. package/dist/assets/device-picker-model-CJDjbyFR.js +0 -1
  113. package/dist/assets/dist-COc-M7x5.js +0 -358
  114. package/dist/assets/i18n-dPXh_JKN.js +0 -1
  115. package/dist/assets/index-k7RW-84l.js +0 -4
  116. package/dist/assets/mount-CJDjbyFR.js +0 -1
  117. package/dist/assets/notification-schedule-field-DXLce27m.js +0 -1
  118. package/dist/assets/remoteEntry-T1NwEQgU.js +0 -1
  119. package/dist/assets/src-CxF5mieK.js +0 -67
  120. package/dist/assets/useEventInvalidation-CJDjbyFR.js +0 -1
  121. package/dist/assets/user-round-XpdQk1Uf.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { fileURLToPath } from "node:url";
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
@@ -5432,7 +5431,7 @@ var ZodIssueCode = {
5432
5431
  var ZodFirstPartyTypeKind;
5433
5432
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5434
5433
  //#endregion
5435
- //#region ../types/dist/sleep-6AqUnQIT.mjs
5434
+ //#region ../types/dist/sleep-CHIEEJkY.mjs
5436
5435
  /**
5437
5436
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5438
5437
  * window to float samples (D455).
@@ -10470,13 +10469,22 @@ var BirthDecisionRecordSchema = object({
10470
10469
  decidedByBirthEvidence: boolean(),
10471
10470
  /** Best class-compatible crop score, or `null` when nothing compatible was
10472
10471
  * found — deliberately not 0, which would be a measurement that never was.
10473
- * Includes a box the detector's own per-class floor refused (reason
10474
- * `below-detector-floor`, D922): that box never confirms, but it is the
10475
- * score the crop really held. */
10472
+ * Includes a box the detector's own per-class floor refused (D922): since
10473
+ * D925 the gate's bar, not that floor, decides whether it confirms. */
10476
10474
  bestScore: number().nullable(),
10477
10475
  /** The bar this candidate actually faced (the phantom-cell hook may raise it). */
10478
10476
  appliedMinConfidence: number().nullable(),
10479
10477
  /**
10478
+ * The detector the gate re-judged the birth WITH (D925): the session's own
10479
+ * root model, inference-device pool and node — never a node default. `null`
10480
+ * when the frame named no session detector or no gate ran, and on rows
10481
+ * written before D925. A `session-device-unavailable` row names the session
10482
+ * detector that could not be reached.
10483
+ */
10484
+ detectorModelId: string().nullable().default(null),
10485
+ detectorDeviceKey: string().nullable().default(null),
10486
+ detectorNodeId: string().nullable().default(null),
10487
+ /**
10480
10488
  * The track's own `firstSeen` — the candidate's first frame, which is where
10481
10489
  * the timeline starts. `null` for a suppressed birth, which has no track.
10482
10490
  */
@@ -47298,7 +47306,6 @@ var PipelineAddonSchemaSchema = object({
47298
47306
  defaultModelId: string(),
47299
47307
  defaultModelIdByFormat: record(string(), string()).optional(),
47300
47308
  enabledByDefault: boolean().optional(),
47301
- backfillIntoExistingOverrides: boolean().optional(),
47302
47309
  defaultConfidence: number(),
47303
47310
  group: string().optional(),
47304
47311
  configSchema: array(ConfigFieldBridge).readonly().optional()
@@ -47425,13 +47432,12 @@ var AudioTestResultSchema = object({
47425
47432
  error: string().optional(),
47426
47433
  frame: custom().optional()
47427
47434
  });
47428
- var PipelineConfigBridge = custom();
47429
47435
  var ConfigUISchemaBridge = custom();
47430
47436
  var ConfigUISchemaNullableBridge = custom();
47431
47437
  var InferenceCapabilitiesBridge = custom();
47432
47438
  var ModelAvailabilityListBridge = custom();
47433
47439
  var PipelineRunResultBridge = custom();
47434
- method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
47440
+ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
47435
47441
  modelId: string(),
47436
47442
  settings: record(string(), unknown()).readonly()
47437
47443
  }))), method(object({ steps: record(string(), object({
@@ -47440,28 +47446,6 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
47440
47446
  })) }), object({ success: literal(true) }), {
47441
47447
  kind: "mutation",
47442
47448
  auth: "admin"
47443
- }), method(object({ nodeId: string() }), object({
47444
- success: literal(true),
47445
- clearedDevices: number()
47446
- }), {
47447
- kind: "mutation",
47448
- auth: "admin"
47449
- }), method(object({
47450
- nodeId: string(),
47451
- deviceIds: array(number()).readonly().optional(),
47452
- dryRun: boolean()
47453
- }), object({
47454
- entries: array(object({
47455
- deviceId: number(),
47456
- keys: array(string()).readonly()
47457
- })).readonly(),
47458
- refused: array(object({
47459
- deviceId: number(),
47460
- reason: string()
47461
- })).readonly()
47462
- }), {
47463
- kind: "mutation",
47464
- auth: "admin"
47465
47449
  }), method(object({ nodeId: string() }), object({ unhealthy: array(object({
47466
47450
  /** `<backend>:<device>`, e.g. `openvino:gpu`. */
47467
47451
  deviceKey: string(),
@@ -47484,7 +47468,7 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
47484
47468
  }), object({ rearmed: boolean() }), {
47485
47469
  kind: "mutation",
47486
47470
  auth: "admin"
47487
- }), method(_void(), PipelineSchemaSchema), method(_void(), array(PipelineDefaultStepSchema).readonly().nullable()), method(_void(), PipelineConfigBridge), method(_void(), ConfigUISchemaBridge), method(object({
47471
+ }), method(_void(), PipelineSchemaSchema), method(_void(), ConfigUISchemaBridge), method(object({
47488
47472
  steps: array(PipelineStepInputSchema),
47489
47473
  deviceKey: string().optional()
47490
47474
  }), PipelineValidationResultSchema), method(_void(), InferenceCapabilitiesBridge), method(object({ addonId: string() }), ModelAvailabilityListBridge), method(object({
@@ -47783,40 +47767,20 @@ var NodeDeviceChangeSchema = object({
47783
47767
  keys: array(string()).readonly()
47784
47768
  })).readonly()
47785
47769
  });
47786
- var CameraOverrideClearSchema = object({
47787
- deviceId: number(),
47788
- source: _enum(["step-override", "wholesale"]),
47770
+ /**
47771
+ * Every model and model-bound threshold lives on the accelerator that runs it
47772
+ * (D927), so the plan writes node / device entries only — there is no camera
47773
+ * layer for it to clear.
47774
+ */
47775
+ var AutoTuneWarningSchema = discriminatedUnion("kind", [object({
47776
+ kind: literal("custom-pin-kept"),
47789
47777
  nodeId: string(),
47790
- deviceKey: string().nullable(),
47791
- stepId: string(),
47792
- modelIdBefore: string().nullable(),
47793
- keys: array(string()).readonly()
47794
- });
47795
- var DetectorStoreClearSchema = object({
47796
- deviceId: number(),
47797
- keys: array(string()).readonly()
47798
- });
47799
- var AutoTuneWarningSchema = discriminatedUnion("kind", [
47800
- object({
47801
- kind: literal("detector-store-cluster-wide"),
47802
- skippedNodes: array(string()).readonly()
47803
- }),
47804
- object({
47805
- kind: literal("detector-store-unreadable"),
47806
- error: string()
47807
- }),
47808
- object({
47809
- kind: literal("custom-pin-kept"),
47810
- nodeId: string(),
47811
- deviceKey: string().nullable(),
47812
- deviceId: number().nullable(),
47813
- modelId: string()
47814
- }),
47815
- object({
47816
- kind: literal("custom-registry-unreadable"),
47817
- error: string()
47818
- })
47819
- ]);
47778
+ deviceKey: string(),
47779
+ modelId: string()
47780
+ }), object({
47781
+ kind: literal("custom-registry-unreadable"),
47782
+ error: string()
47783
+ })]);
47820
47784
  var AutoTuneOptionsSchema = object({
47821
47785
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
47822
47786
  headroom: number().min(.3).max(.5).default(.4),
@@ -47838,8 +47802,6 @@ var AutoTunePlanSchema = object({
47838
47802
  generatedAt: number(),
47839
47803
  nodes: array(NodeRecommendationSchema).readonly(),
47840
47804
  nodeChanges: array(NodeDeviceChangeSchema).readonly(),
47841
- cameraClears: array(CameraOverrideClearSchema).readonly(),
47842
- detectorStoreClears: array(DetectorStoreClearSchema).readonly(),
47843
47805
  warnings: array(AutoTuneWarningSchema).readonly()
47844
47806
  });
47845
47807
  var AutoTuneApplyInputSchema = object({
@@ -47850,8 +47812,6 @@ var AutoTuneApplyInputSchema = object({
47850
47812
  var AutoTunePhaseResultSchema = object({
47851
47813
  phase: _enum([
47852
47814
  "download",
47853
- "camera-overrides",
47854
- "detector-thresholds",
47855
47815
  "node-models",
47856
47816
  "redispatch"
47857
47817
  ]),
@@ -49562,6 +49522,12 @@ var AgentPipelineSettingsSchema = object({
49562
49522
  /** Hub-persisted UI colour (`--color-node-*` theme tokens). */
49563
49523
  color: NodeColorIdSchema.optional(),
49564
49524
  /**
49525
+ * NODE-wide step settings (D927): `stepId → { key → value }`, applied on
49526
+ * every accelerator of the node under the device's own settings. Never a
49527
+ * model or a model-bound threshold. Written by `setNodeStepSettings`.
49528
+ */
49529
+ stepSettings: record(string(), record(string(), unknown()).readonly()).optional(),
49530
+ /**
49565
49531
  * Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
49566
49532
  * weight, steps}. Absent / all-disabled ⇒ the node's single default
49567
49533
  * accelerator (safe default); two+ enabled ⇒ the dispatcher balances
@@ -49577,17 +49543,6 @@ var AgentPipelineSettingsSchema = object({
49577
49543
  steps: record(string(), DeviceStepConfigSchema).optional()
49578
49544
  })).optional()
49579
49545
  });
49580
- var CameraPipelineForAgentSchema = object({
49581
- steps: array(PipelineStepInputSchema).readonly(),
49582
- audio: object({
49583
- modelId: string(),
49584
- enabled: boolean()
49585
- }).nullable()
49586
- });
49587
- var CameraStepOverridePatchSchema = object({
49588
- modelId: string().optional(),
49589
- settings: record(string(), unknown()).readonly().optional()
49590
- });
49591
49546
  var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
49592
49547
  /** The three root-detector choices a camera has (D507: at most one root). */
49593
49548
  var CameraDetectionSourceSchema = _enum([
@@ -49597,9 +49552,7 @@ var CameraDetectionSourceSchema = _enum([
49597
49552
  ]);
49598
49553
  var CameraPipelineSettingsSchema = object({
49599
49554
  stepToggles: record(string(), boolean()).optional(),
49600
- stepSettings: CameraStepSettingsSchema.optional(),
49601
- stepOverridesByDevice: record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).optional(),
49602
- pipelineByAgent: record(string(), CameraPipelineForAgentSchema).optional()
49555
+ stepSettings: CameraStepSettingsSchema.optional()
49603
49556
  });
49604
49557
  /**
49605
49558
  * Pipeline placement record persisted by `addon-pipeline-orchestrator` via
@@ -50145,6 +50098,13 @@ method(object({
50145
50098
  }), object({ success: literal(true) }), {
50146
50099
  kind: "mutation",
50147
50100
  auth: "admin"
50101
+ }), method(object({
50102
+ agentNodeId: string(),
50103
+ addonId: string(),
50104
+ settings: record(string(), unknown()).nullable()
50105
+ }), object({ success: literal(true) }), {
50106
+ kind: "mutation",
50107
+ auth: "admin"
50148
50108
  }), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
50149
50109
  agentNodeId: string(),
50150
50110
  deviceKey: string()
@@ -50154,9 +50114,7 @@ method(object({
50154
50114
  }), method(object({ agentNodeId: string() }), object({
50155
50115
  success: literal(true),
50156
50116
  /** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
50157
- effectiveModelId: string().nullable(),
50158
- /** Number of cameras whose node-scoped overrides were cleared. */
50159
- clearedCameraOverrides: number()
50117
+ effectiveModelId: string().nullable()
50160
50118
  }), {
50161
50119
  kind: "mutation",
50162
50120
  auth: "admin"
@@ -50211,15 +50169,6 @@ method(object({
50211
50169
  }), object({ success: literal(true) }), {
50212
50170
  kind: "mutation",
50213
50171
  auth: "admin"
50214
- }), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
50215
- deviceId: number(),
50216
- agentNodeId: string(),
50217
- deviceKey: string(),
50218
- addonId: string(),
50219
- patch: CameraStepOverridePatchSchema.nullable()
50220
- }), object({ success: literal(true) }), {
50221
- kind: "mutation",
50222
- auth: "admin"
50223
50172
  }), method(object({
50224
50173
  deviceId: number(),
50225
50174
  addonId: string(),
@@ -50227,13 +50176,6 @@ method(object({
50227
50176
  }), object({ success: literal(true) }), {
50228
50177
  kind: "mutation",
50229
50178
  auth: "admin"
50230
- }), method(object({
50231
- deviceId: number(),
50232
- agentNodeId: string(),
50233
- pipeline: CameraPipelineForAgentSchema.nullable()
50234
- }), object({ success: literal(true) }), {
50235
- kind: "mutation",
50236
- auth: "admin"
50237
50179
  }), method(object({
50238
50180
  deviceId: number(),
50239
50181
  agentNodeId: string().optional()
@@ -62110,7 +62052,7 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
62110
62052
  * - **Jobs.** A persisted state machine, a reconcile loop against the
62111
62053
  * provider, a cost guard, a daily orphan sweep and the retention rules.
62112
62054
  * - **The return flow.** Verified artefacts → Model Studio
62113
- * (`custom-model-registry.importModelBundle`) → canary on cameras →
62055
+ * (`custom-model-registry.importModelBundle`) → canary on accelerators →
62114
62056
  * rollback. Nothing is ever registered automatically.
62115
62057
  *
62116
62058
  * Plan/start takes a live {@link TrainingCorpusSelection} (collections +
@@ -62247,20 +62189,24 @@ var TrainingProgressPointSchema = object({
62247
62189
  map50: number().nullable(),
62248
62190
  map50_95: number().nullable()
62249
62191
  });
62192
+ /** One accelerator: a `(node, inference device)` that runs the root detector. */
62193
+ var TrainingAcceleratorRefSchema = object({
62194
+ nodeId: string(),
62195
+ deviceKey: string()
62196
+ });
62197
+ /**
62198
+ * A canary pins the registered model on chosen ACCELERATORS — a model is
62199
+ * chosen by the accelerator that runs it (D927); every camera balanced onto
62200
+ * one runs it. `previous` is the root-detector pin each one had (`null` = it
62201
+ * ran its default), exactly, so rollback restores it.
62202
+ */
62250
62203
  var TrainingCanarySchema = object({
62251
- deviceIds: array(number().int()).readonly(),
62204
+ accelerators: array(TrainingAcceleratorRefSchema).readonly(),
62252
62205
  since: number(),
62253
- /** Every override the canary replaced, exactly, so rollback restores it. */
62254
- previous: array(object({
62255
- deviceId: number().int(),
62256
- nodeId: string(),
62257
- deviceKey: string(),
62258
- patch: object({
62259
- modelId: string().optional(),
62260
- settings: record(string(), unknown()).readonly().optional()
62261
- }).nullable()
62262
- })).readonly()
62206
+ previous: array(TrainingAcceleratorRefSchema.extend({ modelId: string().nullable() })).readonly()
62263
62207
  });
62208
+ /** An accelerator a canary may pin: it runs the root detector, on this model now. */
62209
+ var TrainingCanaryTargetSchema = TrainingAcceleratorRefSchema.extend({ pinnedModelId: string().nullable() });
62264
62210
  var TrainingJobSchema = object({
62265
62211
  id: string(),
62266
62212
  idempotencyKey: string(),
@@ -62372,11 +62318,11 @@ method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" })
62372
62318
  kind: "mutation",
62373
62319
  auth: "admin",
62374
62320
  timeoutMs: 12e4
62375
- }), method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }), method(IdInput.extend({ canaryDeviceIds: array(number().int()).readonly() }), TrainingJobSchema, {
62321
+ }), method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }), method(_void(), array(TrainingCanaryTargetSchema).readonly(), { auth: "admin" }), method(IdInput.extend({ canaryAccelerators: array(TrainingAcceleratorRefSchema).readonly() }), TrainingJobSchema, {
62376
62322
  kind: "mutation",
62377
62323
  auth: "admin",
62378
62324
  timeoutMs: 30 * 6e4
62379
- }), method(IdInput.extend({ deviceIds: array(number().int()).min(1).readonly() }), TrainingJobSchema, {
62325
+ }), method(IdInput.extend({ accelerators: array(TrainingAcceleratorRefSchema).min(1).readonly() }), TrainingJobSchema, {
62380
62326
  kind: "mutation",
62381
62327
  auth: "admin",
62382
62328
  timeoutMs: 12e4
@@ -68307,20 +68253,6 @@ Object.freeze({
68307
68253
  access: "create",
68308
68254
  role: "admin"
68309
68255
  },
68310
- "pipelineExecutor.clearDeviceOverrides": {
68311
- capName: "pipeline-executor",
68312
- capScope: "system",
68313
- addonId: null,
68314
- access: "delete",
68315
- role: "admin"
68316
- },
68317
- "pipelineExecutor.clearModelBoundDeviceOverrides": {
68318
- capName: "pipeline-executor",
68319
- capScope: "system",
68320
- addonId: null,
68321
- access: "delete",
68322
- role: "admin"
68323
- },
68324
68256
  "pipelineExecutor.deleteModel": {
68325
68257
  capName: "pipeline-executor",
68326
68258
  capScope: "system",
@@ -68363,13 +68295,6 @@ Object.freeze({
68363
68295
  access: "view",
68364
68296
  role: "admin"
68365
68297
  },
68366
- "pipelineExecutor.getDefaultSteps": {
68367
- capName: "pipeline-executor",
68368
- capScope: "system",
68369
- addonId: null,
68370
- access: "view",
68371
- role: "admin"
68372
- },
68373
68298
  "pipelineExecutor.getDetectionConfigSchema": {
68374
68299
  capName: "pipeline-executor",
68375
68300
  capScope: "system",
@@ -68391,20 +68316,6 @@ Object.freeze({
68391
68316
  access: "view",
68392
68317
  role: "admin"
68393
68318
  },
68394
- "pipelineExecutor.getGlobalPipelineConfig": {
68395
- capName: "pipeline-executor",
68396
- capScope: "system",
68397
- addonId: null,
68398
- access: "view",
68399
- role: "admin"
68400
- },
68401
- "pipelineExecutor.getGlobalSteps": {
68402
- capName: "pipeline-executor",
68403
- capScope: "system",
68404
- addonId: null,
68405
- access: "view",
68406
- role: "admin"
68407
- },
68408
68319
  "pipelineExecutor.getInferenceDeviceHealth": {
68409
68320
  capName: "pipeline-executor",
68410
68321
  capScope: "system",
@@ -68664,13 +68575,6 @@ Object.freeze({
68664
68575
  access: "view",
68665
68576
  role: "admin"
68666
68577
  },
68667
- "pipelineOrchestrator.getCameraStepOverrides": {
68668
- capName: "pipeline-orchestrator",
68669
- capScope: "system",
68670
- addonId: null,
68671
- access: "view",
68672
- role: "admin"
68673
- },
68674
68578
  "pipelineOrchestrator.getCameraSwitches": {
68675
68579
  capName: "pipeline-orchestrator",
68676
68580
  capScope: "system",
@@ -68909,13 +68813,6 @@ Object.freeze({
68909
68813
  access: "create",
68910
68814
  role: "admin"
68911
68815
  },
68912
- "pipelineOrchestrator.setCameraPipelineForAgent": {
68913
- capName: "pipeline-orchestrator",
68914
- capScope: "system",
68915
- addonId: null,
68916
- access: "create",
68917
- role: "admin"
68918
- },
68919
68816
  "pipelineOrchestrator.setCameraSensors": {
68920
68817
  capName: "pipeline-orchestrator",
68921
68818
  capScope: "system",
@@ -68923,42 +68820,42 @@ Object.freeze({
68923
68820
  access: "create",
68924
68821
  role: "admin"
68925
68822
  },
68926
- "pipelineOrchestrator.setCameraStepOverride": {
68823
+ "pipelineOrchestrator.setCameraStepSettings": {
68927
68824
  capName: "pipeline-orchestrator",
68928
68825
  capScope: "system",
68929
68826
  addonId: null,
68930
68827
  access: "create",
68931
68828
  role: "admin"
68932
68829
  },
68933
- "pipelineOrchestrator.setCameraStepSettings": {
68830
+ "pipelineOrchestrator.setCameraStepToggle": {
68934
68831
  capName: "pipeline-orchestrator",
68935
68832
  capScope: "system",
68936
68833
  addonId: null,
68937
68834
  access: "create",
68938
68835
  role: "admin"
68939
68836
  },
68940
- "pipelineOrchestrator.setCameraStepToggle": {
68837
+ "pipelineOrchestrator.setCameraSwitch": {
68941
68838
  capName: "pipeline-orchestrator",
68942
68839
  capScope: "system",
68943
68840
  addonId: null,
68944
68841
  access: "create",
68945
68842
  role: "admin"
68946
68843
  },
68947
- "pipelineOrchestrator.setCameraSwitch": {
68844
+ "pipelineOrchestrator.setCapabilityBinding": {
68948
68845
  capName: "pipeline-orchestrator",
68949
68846
  capScope: "system",
68950
68847
  addonId: null,
68951
68848
  access: "create",
68952
68849
  role: "admin"
68953
68850
  },
68954
- "pipelineOrchestrator.setCapabilityBinding": {
68851
+ "pipelineOrchestrator.setLoadBalancingShares": {
68955
68852
  capName: "pipeline-orchestrator",
68956
68853
  capScope: "system",
68957
68854
  addonId: null,
68958
68855
  access: "create",
68959
68856
  role: "admin"
68960
68857
  },
68961
- "pipelineOrchestrator.setLoadBalancingShares": {
68858
+ "pipelineOrchestrator.setNodeStepSettings": {
68962
68859
  capName: "pipeline-orchestrator",
68963
68860
  capScope: "system",
68964
68861
  addonId: null,
@@ -71317,6 +71214,13 @@ Object.freeze({
71317
71214
  access: "view",
71318
71215
  role: "admin"
71319
71216
  },
71217
+ "training.listCanaryTargets": {
71218
+ capName: "training",
71219
+ capScope: "system",
71220
+ addonId: null,
71221
+ access: "view",
71222
+ role: "admin"
71223
+ },
71320
71224
  "training.listJobs": {
71321
71225
  capName: "training",
71322
71226
  capScope: "system",
@@ -77703,11 +77607,6 @@ Object.freeze({
77703
77607
  form: "single",
77704
77608
  optional: false
77705
77609
  }],
77706
- "pipelineExecutor.clearModelBoundDeviceOverrides": [{
77707
- name: "deviceIds",
77708
- form: "array",
77709
- optional: true
77710
- }],
77711
77610
  "pipelineExecutor.runPipeline": [{
77712
77611
  name: "deviceId",
77713
77612
  form: "single",
@@ -77763,11 +77662,6 @@ Object.freeze({
77763
77662
  form: "array",
77764
77663
  optional: true
77765
77664
  }],
77766
- "pipelineOrchestrator.getCameraStepOverrides": [{
77767
- name: "deviceId",
77768
- form: "single",
77769
- optional: false
77770
- }],
77771
77665
  "pipelineOrchestrator.getCameraSwitches": [{
77772
77666
  name: "deviceId",
77773
77667
  form: "single",
@@ -77808,21 +77702,11 @@ Object.freeze({
77808
77702
  form: "single",
77809
77703
  optional: false
77810
77704
  }],
77811
- "pipelineOrchestrator.setCameraPipelineForAgent": [{
77812
- name: "deviceId",
77813
- form: "single",
77814
- optional: false
77815
- }],
77816
77705
  "pipelineOrchestrator.setCameraSensors": [{
77817
77706
  name: "deviceId",
77818
77707
  form: "single",
77819
77708
  optional: false
77820
77709
  }],
77821
- "pipelineOrchestrator.setCameraStepOverride": [{
77822
- name: "deviceId",
77823
- form: "single",
77824
- optional: false
77825
- }],
77826
77710
  "pipelineOrchestrator.setCameraStepSettings": [{
77827
77711
  name: "deviceId",
77828
77712
  form: "single",
@@ -78500,11 +78384,6 @@ Object.freeze({
78500
78384
  form: "single",
78501
78385
  optional: false
78502
78386
  }],
78503
- "training.canaryResult": [{
78504
- name: "deviceIds",
78505
- form: "array",
78506
- optional: false
78507
- }],
78508
78387
  "update.getStatus": [{
78509
78388
  name: "deviceId",
78510
78389
  form: "single",
@@ -80033,7 +79912,7 @@ var AdminUIAddon = class extends BaseAddon {
80033
79912
  capability: adminUiCapability,
80034
79913
  provider: {
80035
79914
  getStaticDir: async () => ({ staticDir: resolveAdminUiDistDir() }),
80036
- getVersion: async () => ({ version: "1.2.457" })
79915
+ getVersion: async () => ({ version: "1.2.458" })
80037
79916
  }
80038
79917
  }];
80039
79918
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-admin-ui",
3
- "version": "1.2.457",
3
+ "version": "1.2.458",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Admin UI — Vite frontend build and server-side addon",