@camstack/addon-admin-ui 1.2.457 → 1.2.459

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 (135) hide show
  1. package/dist/assets/{AddonAssetIcon-BOcwQMt3.js → AddonAssetIcon-BJEJ1k08.js} +1 -1
  2. package/dist/assets/Addons-DHanUVT2.js +4 -0
  3. package/dist/assets/{AdminPage-0E8EpSO9.js → AdminPage-COkr2pSl.js} +1 -1
  4. package/dist/assets/{AdminSectionedPage-CxodN1sn.js → AdminSectionedPage-DacqZ038.js} +1 -1
  5. package/dist/assets/AiProfiles-00eup-gf.js +3 -0
  6. package/dist/assets/{BrokerForm-Dbs6DDhN.js → BrokerForm-BZXEvLK0.js} +1 -1
  7. package/dist/assets/Build-C-5lgbq3.js +40 -0
  8. package/dist/assets/{Calendars-DwIn1aCE.js → Calendars-BkpP1D2U.js} +1 -1
  9. package/dist/assets/{Cluster-FzZaIb80.js → Cluster-9x8btsN4.js} +1 -1
  10. package/dist/assets/CompositionEditor-r0DF2l8O.js +1 -0
  11. package/dist/assets/{CompositionEditorPage-I6-ghm-F.js → CompositionEditorPage-ZgZUzIco.js} +1 -1
  12. package/dist/assets/Data-CRUK3PE2.js +2 -0
  13. package/dist/assets/DeviceDetail-B-WDYuF4.js +2 -0
  14. package/dist/assets/{DeviceDoActionFields-XK5u9sG-.js → DeviceDoActionFields-B6h8uYuA.js} +1 -1
  15. package/dist/assets/{Devices-CPoElWdX.js → Devices--JO66DyO.js} +1 -1
  16. package/dist/assets/{EmbedPlayerPage-CwqeH_Vp.js → EmbedPlayerPage-yV8Ghwca.js} +1 -1
  17. package/dist/assets/{History-146ywVRO.js → History-BwlSzH55.js} +1 -1
  18. package/dist/assets/Identity-BWhaEMdv.js +1 -0
  19. package/dist/assets/IntegrationDetail-CQTl55bJ.js +1 -0
  20. package/dist/assets/IntegrationHub-1t9XtENg.js +1 -0
  21. package/dist/assets/Integrations-BsHioywX.js +1 -0
  22. package/dist/assets/Integrations-DAZG8yCP.js +1 -0
  23. package/dist/assets/{Library-BMJeDfUP.js → Library-I8I-H4B0.js} +1 -1
  24. package/dist/assets/Locations-DpID1z6R.js +3 -0
  25. package/dist/assets/{Logs-ClfIrCg_.js → Logs--6yOXDdG.js} +1 -1
  26. package/dist/assets/{MaskShapeCanvas-BACSOVPv.js → MaskShapeCanvas-BFRANocL.js} +1 -1
  27. package/dist/assets/{MotionZonesSettings-C-BWiqKl.js → MotionZonesSettings-DAR1lGRc.js} +1 -1
  28. package/dist/assets/MyAccess-BlPaAQNJ.js +2 -0
  29. package/dist/assets/{Network-CCpscaUS.js → Network-68PrEWb3.js} +1 -1
  30. package/dist/assets/{NodeAddonsSettingsPanel-J8GvbAOS.js → NodeAddonsSettingsPanel-BU9D0unj.js} +1 -1
  31. package/dist/assets/Notifications-BHMdjbhb.js +1 -0
  32. package/dist/assets/Pipeline-BntRM_Gg.js +1 -0
  33. package/dist/assets/{PrivacyMaskSettings-_hgbaRHe.js → PrivacyMaskSettings-CFjaiNPa.js} +1 -1
  34. package/dist/assets/Recordings-B0PFCiE6.js +1 -0
  35. package/dist/assets/{ScanNetworkModal-CHpDtEMN.js → ScanNetworkModal-KVlo34E_.js} +1 -1
  36. package/dist/assets/{SceneMonitorEditor-DNX5LjxD.js → SceneMonitorEditor-CtObZ92A.js} +1 -1
  37. package/dist/assets/SessionsList-BqQzJQzH.js +2 -0
  38. package/dist/assets/{Showroom-C1Cx5rmM.js → Showroom-BpbWCBms.js} +1 -1
  39. package/dist/assets/System-Bi2UJjp7.js +1 -0
  40. package/dist/assets/{Terminal-D-QqW5OC.js → Terminal-CfhgVSfX.js} +5 -5
  41. package/dist/assets/{Viewer-DEkhIs_o.js → Viewer-DOy7SpD5.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-FGBBI8DM.js} +1 -1
  43. package/dist/assets/{addon-icons-context-r4-8qNuL.js → addon-icons-context-zSgVMYOT.js} +1 -1
  44. package/dist/assets/{archive-CHNksUXE.js → archive-CCdQLR92.js} +1 -1
  45. package/dist/assets/{authed-media-CLfNNAcR.js → authed-media-BnRlGkoA.js} +1 -1
  46. package/dist/assets/{bell-off-BQUuLgGa.js → bell-off-CqtliYfE.js} +1 -1
  47. package/dist/assets/{board-model-CCKjMnih.js → board-model-DcXa88Au.js} +1 -1
  48. package/dist/assets/{boxes-OM3WXXCF.js → boxes-DQn7OALq.js} +1 -1
  49. package/dist/assets/circle-slash-BqXxDfpK.js +1 -0
  50. package/dist/assets/client-DUabg_ow.js +358 -0
  51. package/dist/assets/{cloud-upload-DnQzN7Zu.js → cloud-upload-Ds0DBFF4.js} +1 -1
  52. package/dist/assets/crop-Cfvx74Ee.js +1 -0
  53. package/dist/assets/{device-integration-icon-T6DuiFIe.js → device-integration-icon-Bb8AOXEF.js} +1 -1
  54. package/dist/assets/device-picker-model-BtgtDdnV.js +1 -0
  55. package/dist/assets/dist-BgJn1_Ws.js +358 -0
  56. package/dist/assets/{dist-DWpE4F9Y.js → dist-DGtsAF0e.js} +1 -1
  57. package/dist/assets/{eraser-2zvTICay.js → eraser-CBhjXP5B.js} +1 -1
  58. package/dist/assets/{hard-drive-download-BuPae4i9.js → hard-drive-download-Bbqt0BU7.js} +1 -1
  59. package/dist/assets/{hostInit-B0H8YgMs.js → hostInit-DYH0aGPp.js} +1 -1
  60. package/dist/assets/i18n-aZ2iCAl5.js +1 -0
  61. package/dist/assets/{icons-Bf1g4TTU.js → icons-CIAj8beD.js} +1 -1
  62. package/dist/assets/index-DKfAHLRf.js +4 -0
  63. package/dist/assets/{index-BGRimCPP.css → index-I9On1g0c.css} +1 -1
  64. package/dist/assets/{key-y1dQIrgn.js → key-BrmsyfQ2.js} +1 -1
  65. package/dist/assets/{key-round-PVl1EIeU.js → key-round-DupHhW0i.js} +1 -1
  66. package/dist/assets/{layers-BvTBL45e.js → layers-jV4_DPMS.js} +1 -1
  67. package/dist/assets/{linked-devices-model-NEAloVak.js → linked-devices-model-Wflvd004.js} +1 -1
  68. package/dist/assets/{list-ordered-Cy6LNkX7.js → list-ordered-DOEvj-y0.js} +1 -1
  69. package/dist/assets/{location-owned-usage-COJFqP2Z.js → location-owned-usage-D3Zl9d5o.js} +1 -1
  70. package/dist/assets/{log-in-C8bG6uHT.js → log-in-CcPfrqgr.js} +1 -1
  71. package/dist/assets/{memory-stick-DgCbrom_.js → memory-stick-q_w6rp-t.js} +1 -1
  72. package/dist/assets/{message-square-plus-T2Q-JaNP.js → message-square-plus-9n6eNHhb.js} +1 -1
  73. package/dist/assets/{mf-entry-bootstrap-0-fa03047b.js → mf-entry-bootstrap-0-44ebd2c3.js} +2 -2
  74. package/dist/assets/{mic-off-CQXTB132.js → mic-off-D8Z3zvJC.js} +1 -1
  75. package/dist/assets/{monitor-off-CvP-Xwqs.js → monitor-off-ChiwdYm2.js} +1 -1
  76. package/dist/assets/{monitor-smartphone-DgPyh0bq.js → monitor-smartphone-5A2YPeJg.js} +1 -1
  77. package/dist/assets/mount-BtgtDdnV.js +1 -0
  78. package/dist/assets/notification-schedule-field-BGziM8ff.js +1 -0
  79. package/dist/assets/{player-overlays-DTcu3p6k.js → player-overlays-B2uKzPiF.js} +1 -1
  80. package/dist/assets/{recycle-BgfATMDb.js → recycle-lkNup4GK.js} +1 -1
  81. package/dist/assets/remoteEntry-DwoMnkvg.js +1 -0
  82. package/dist/assets/{scan-eye-Cw7uLDDg.js → scan-eye-CJpdZenM.js} +1 -1
  83. package/dist/assets/{scissors-GZwoMkJz.js → scissors-v8FUfmH0.js} +1 -1
  84. package/dist/assets/{search-x-mGDaYxQw.js → search-x-CJx173bU.js} +1 -1
  85. package/dist/assets/{send-B4zTG8IX.js → send-XYAWcADm.js} +1 -1
  86. package/dist/assets/{settings-2-7MkaO5_9.js → settings-2-Bgu4fxha.js} +1 -1
  87. package/dist/assets/{speaker-iZgcW4qe.js → speaker-ofUzLdUT.js} +1 -1
  88. package/dist/assets/src-N0x0aMoc.js +67 -0
  89. package/dist/assets/step-inspector-model-C7JCmVfz.js +1 -0
  90. package/dist/assets/{timer-reset-CZOKA6Qu.js → timer-reset-D-5iU9l-.js} +1 -1
  91. package/dist/assets/{ungroup-CmTgkman.js → ungroup-DD3pb37b.js} +1 -1
  92. package/dist/assets/{unlink-DgTv7GBL.js → unlink-xgj0DHXA.js} +1 -1
  93. package/dist/assets/{usb-CDpFB3qV.js → usb-COQJ7FVk.js} +1 -1
  94. package/dist/assets/{use-scenes-feed-Xf26vjq3.js → use-scenes-feed-Cr8WJGCC.js} +1 -1
  95. package/dist/assets/{use-stationary-objects-piZ9a4go.js → use-stationary-objects-kiH5Q2gT.js} +1 -1
  96. package/dist/assets/useEventInvalidation-BtgtDdnV.js +1 -0
  97. package/dist/assets/{useNodeUrlSelection-Bmr7pzZ8.js → useNodeUrlSelection-DpqDFKVD.js} +1 -1
  98. package/dist/assets/user-round-Dy1LJO0f.js +1 -0
  99. package/dist/assets/{user-x-DG-dacDQ.js → user-x-CBuwxTd8.js} +1 -1
  100. package/dist/assets/{video-DSWn6X4v.js → video-CCbgIO_h.js} +1 -1
  101. 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_-CxTajz7L.js} +2 -2
  102. package/dist/index.html +11 -11
  103. package/dist/server/addon.js +170 -206
  104. package/package.json +1 -1
  105. package/dist/assets/Addons-BrsHM2rE.js +0 -4
  106. package/dist/assets/AiProfiles-EJziTK6H.js +0 -3
  107. package/dist/assets/Build-G3WNIoIu.js +0 -40
  108. package/dist/assets/ClusterStepModel-BKwbYUSr.js +0 -1
  109. package/dist/assets/CompositionEditor-Du0918m6.js +0 -1
  110. package/dist/assets/Data-CWXYjuUH.js +0 -2
  111. package/dist/assets/DeviceDetail-DEN9C3es.js +0 -2
  112. package/dist/assets/Identity-NsWnwCVn.js +0 -1
  113. package/dist/assets/IntegrationDetail-CUffTwqo.js +0 -1
  114. package/dist/assets/IntegrationHub-DAndpOVJ.js +0 -1
  115. package/dist/assets/Integrations-DaNoA1oi.js +0 -1
  116. package/dist/assets/Integrations-DrSNiPXr.js +0 -1
  117. package/dist/assets/Locations-DpWQPPRR.js +0 -3
  118. package/dist/assets/MyAccess-B2mddc8z.js +0 -2
  119. package/dist/assets/Notifications-CJvDmENV.js +0 -1
  120. package/dist/assets/Recordings-CmuOayrH.js +0 -1
  121. package/dist/assets/SessionsList-CO2JCtUA.js +0 -2
  122. package/dist/assets/System-8QdXWXlv.js +0 -1
  123. package/dist/assets/circle-slash-B-qX3Tzf.js +0 -1
  124. package/dist/assets/client-Tf7DwHzR.js +0 -358
  125. package/dist/assets/crop-BXCCBrRT.js +0 -1
  126. package/dist/assets/device-picker-model-CJDjbyFR.js +0 -1
  127. package/dist/assets/dist-COc-M7x5.js +0 -358
  128. package/dist/assets/i18n-dPXh_JKN.js +0 -1
  129. package/dist/assets/index-k7RW-84l.js +0 -4
  130. package/dist/assets/mount-CJDjbyFR.js +0 -1
  131. package/dist/assets/notification-schedule-field-DXLce27m.js +0 -1
  132. package/dist/assets/remoteEntry-T1NwEQgU.js +0 -1
  133. package/dist/assets/src-CxF5mieK.js +0 -67
  134. package/dist/assets/useEventInvalidation-CJDjbyFR.js +0 -1
  135. 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
  */
@@ -44565,6 +44573,18 @@ Object.freeze({
44565
44573
  reason: "camera sensor mappings not loaded"
44566
44574
  });
44567
44575
  /**
44576
+ * What the vision model must answer before a package event is emitted
44577
+ * when a packages rule has "Confirm with the LLM" on.
44578
+ *
44579
+ * `package` is the verdict. `confidence` is 0..1. `reason` is the model's
44580
+ * one-line explanation, stored on the event so a drop is not silent.
44581
+ */
44582
+ var PackageLlmVerdictSchema = object({
44583
+ package: boolean(),
44584
+ confidence: number().min(0).max(1),
44585
+ reason: string().min(1)
44586
+ });
44587
+ /**
44568
44588
  * A model choice has a SCOPE, and a scope change has a workflow.
44569
44589
  *
44570
44590
  * ## The two scopes
@@ -45501,6 +45521,21 @@ var ObjectEventSchema = object({
45501
45521
  * pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
45502
45522
  */
45503
45523
  observedAt: number().optional(),
45524
+ /**
45525
+ * The delivery was emitted without a vision-model yes (D931).
45526
+ *
45527
+ * Set only when the packages rule asked for an LLM confirm and the model
45528
+ * was unreachable, timed out, or answered something that did not parse.
45529
+ * A notification reads it so it can say "possible" instead of a definite
45530
+ * delivery. Absent on every other row, and on a confirm that said yes.
45531
+ */
45532
+ packagePossible: boolean().optional(),
45533
+ /**
45534
+ * The vision model's verdict, when a packages rule asked for one and the
45535
+ * model answered the schema (D931). A "no" never becomes a row — the
45536
+ * detector drops it and logs the reason. Present on a yes.
45537
+ */
45538
+ packageLlmVerdict: PackageLlmVerdictSchema.optional(),
45504
45539
  /** The parent track's key-event importance [0,1], propagated to every object
45505
45540
  * event of the track (so an event row can be sorted by importance without a
45506
45541
  * track join). Absent on legacy rows / before the track was scored. */
@@ -47298,7 +47333,6 @@ var PipelineAddonSchemaSchema = object({
47298
47333
  defaultModelId: string(),
47299
47334
  defaultModelIdByFormat: record(string(), string()).optional(),
47300
47335
  enabledByDefault: boolean().optional(),
47301
- backfillIntoExistingOverrides: boolean().optional(),
47302
47336
  defaultConfidence: number(),
47303
47337
  group: string().optional(),
47304
47338
  configSchema: array(ConfigFieldBridge).readonly().optional()
@@ -47425,13 +47459,12 @@ var AudioTestResultSchema = object({
47425
47459
  error: string().optional(),
47426
47460
  frame: custom().optional()
47427
47461
  });
47428
- var PipelineConfigBridge = custom();
47429
47462
  var ConfigUISchemaBridge = custom();
47430
47463
  var ConfigUISchemaNullableBridge = custom();
47431
47464
  var InferenceCapabilitiesBridge = custom();
47432
47465
  var ModelAvailabilityListBridge = custom();
47433
47466
  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({
47467
+ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
47435
47468
  modelId: string(),
47436
47469
  settings: record(string(), unknown()).readonly()
47437
47470
  }))), method(object({ steps: record(string(), object({
@@ -47440,28 +47473,6 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
47440
47473
  })) }), object({ success: literal(true) }), {
47441
47474
  kind: "mutation",
47442
47475
  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
47476
  }), method(object({ nodeId: string() }), object({ unhealthy: array(object({
47466
47477
  /** `<backend>:<device>`, e.g. `openvino:gpu`. */
47467
47478
  deviceKey: string(),
@@ -47484,7 +47495,7 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
47484
47495
  }), object({ rearmed: boolean() }), {
47485
47496
  kind: "mutation",
47486
47497
  auth: "admin"
47487
- }), method(_void(), PipelineSchemaSchema), method(_void(), array(PipelineDefaultStepSchema).readonly().nullable()), method(_void(), PipelineConfigBridge), method(_void(), ConfigUISchemaBridge), method(object({
47498
+ }), method(_void(), PipelineSchemaSchema), method(_void(), ConfigUISchemaBridge), method(object({
47488
47499
  steps: array(PipelineStepInputSchema),
47489
47500
  deviceKey: string().optional()
47490
47501
  }), PipelineValidationResultSchema), method(_void(), InferenceCapabilitiesBridge), method(object({ addonId: string() }), ModelAvailabilityListBridge), method(object({
@@ -47732,11 +47743,18 @@ var KeptReasonSchema = _enum(["custom-pin"]);
47732
47743
  * Where a choice's latency came from (D791): this node's own benchmark
47733
47744
  * result, or the hardware-class table. Measured on the node beats the table.
47734
47745
  */
47735
- var LatencySourceSchema = discriminatedUnion("kind", [object({ kind: literal("table") }), object({
47736
- kind: literal("node-benchmark"),
47737
- resultId: string(),
47738
- measuredAtMs: number()
47739
- })]);
47746
+ var LatencySourceSchema = discriminatedUnion("kind", [
47747
+ object({ kind: literal("table") }),
47748
+ object({
47749
+ kind: literal("node-benchmark"),
47750
+ resultId: string(),
47751
+ measuredAtMs: number()
47752
+ }),
47753
+ object({
47754
+ kind: literal("estimated"),
47755
+ estimatedFrom: HardwareClassIdSchema
47756
+ })
47757
+ ]);
47740
47758
  var DeviceModelChoiceSchema = object({
47741
47759
  modelId: string(),
47742
47760
  p50Ms: number(),
@@ -47744,6 +47762,11 @@ var DeviceModelChoiceSchema = object({
47744
47762
  measured: boolean(),
47745
47763
  /** Absent on a plan from before D791 — read as the table. */
47746
47764
  source: LatencySourceSchema.optional(),
47765
+ /**
47766
+ * The measured class this latency was scaled from (D930). Absent when the
47767
+ * cell is the table or a node benchmark.
47768
+ */
47769
+ estimatedFrom: HardwareClassIdSchema.optional(),
47747
47770
  /** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
47748
47771
  capacitySessions: number(),
47749
47772
  personRecall: number()
@@ -47783,40 +47806,20 @@ var NodeDeviceChangeSchema = object({
47783
47806
  keys: array(string()).readonly()
47784
47807
  })).readonly()
47785
47808
  });
47786
- var CameraOverrideClearSchema = object({
47787
- deviceId: number(),
47788
- source: _enum(["step-override", "wholesale"]),
47809
+ /**
47810
+ * Every model and model-bound threshold lives on the accelerator that runs it
47811
+ * (D927), so the plan writes node / device entries only — there is no camera
47812
+ * layer for it to clear.
47813
+ */
47814
+ var AutoTuneWarningSchema = discriminatedUnion("kind", [object({
47815
+ kind: literal("custom-pin-kept"),
47789
47816
  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
- ]);
47817
+ deviceKey: string(),
47818
+ modelId: string()
47819
+ }), object({
47820
+ kind: literal("custom-registry-unreadable"),
47821
+ error: string()
47822
+ })]);
47820
47823
  var AutoTuneOptionsSchema = object({
47821
47824
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
47822
47825
  headroom: number().min(.3).max(.5).default(.4),
@@ -47838,8 +47841,6 @@ var AutoTunePlanSchema = object({
47838
47841
  generatedAt: number(),
47839
47842
  nodes: array(NodeRecommendationSchema).readonly(),
47840
47843
  nodeChanges: array(NodeDeviceChangeSchema).readonly(),
47841
- cameraClears: array(CameraOverrideClearSchema).readonly(),
47842
- detectorStoreClears: array(DetectorStoreClearSchema).readonly(),
47843
47844
  warnings: array(AutoTuneWarningSchema).readonly()
47844
47845
  });
47845
47846
  var AutoTuneApplyInputSchema = object({
@@ -47850,8 +47851,6 @@ var AutoTuneApplyInputSchema = object({
47850
47851
  var AutoTunePhaseResultSchema = object({
47851
47852
  phase: _enum([
47852
47853
  "download",
47853
- "camera-overrides",
47854
- "detector-thresholds",
47855
47854
  "node-models",
47856
47855
  "redispatch"
47857
47856
  ]),
@@ -49562,6 +49561,12 @@ var AgentPipelineSettingsSchema = object({
49562
49561
  /** Hub-persisted UI colour (`--color-node-*` theme tokens). */
49563
49562
  color: NodeColorIdSchema.optional(),
49564
49563
  /**
49564
+ * NODE-wide step settings (D927): `stepId → { key → value }`, applied on
49565
+ * every accelerator of the node under the device's own settings. Never a
49566
+ * model or a model-bound threshold. Written by `setNodeStepSettings`.
49567
+ */
49568
+ stepSettings: record(string(), record(string(), unknown()).readonly()).optional(),
49569
+ /**
49565
49570
  * Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
49566
49571
  * weight, steps}. Absent / all-disabled ⇒ the node's single default
49567
49572
  * accelerator (safe default); two+ enabled ⇒ the dispatcher balances
@@ -49577,17 +49582,6 @@ var AgentPipelineSettingsSchema = object({
49577
49582
  steps: record(string(), DeviceStepConfigSchema).optional()
49578
49583
  })).optional()
49579
49584
  });
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
49585
  var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
49592
49586
  /** The three root-detector choices a camera has (D507: at most one root). */
49593
49587
  var CameraDetectionSourceSchema = _enum([
@@ -49597,9 +49591,7 @@ var CameraDetectionSourceSchema = _enum([
49597
49591
  ]);
49598
49592
  var CameraPipelineSettingsSchema = object({
49599
49593
  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()
49594
+ stepSettings: CameraStepSettingsSchema.optional()
49603
49595
  });
49604
49596
  /**
49605
49597
  * Pipeline placement record persisted by `addon-pipeline-orchestrator` via
@@ -50145,6 +50137,13 @@ method(object({
50145
50137
  }), object({ success: literal(true) }), {
50146
50138
  kind: "mutation",
50147
50139
  auth: "admin"
50140
+ }), method(object({
50141
+ agentNodeId: string(),
50142
+ addonId: string(),
50143
+ settings: record(string(), unknown()).nullable()
50144
+ }), object({ success: literal(true) }), {
50145
+ kind: "mutation",
50146
+ auth: "admin"
50148
50147
  }), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
50149
50148
  agentNodeId: string(),
50150
50149
  deviceKey: string()
@@ -50154,9 +50153,7 @@ method(object({
50154
50153
  }), method(object({ agentNodeId: string() }), object({
50155
50154
  success: literal(true),
50156
50155
  /** 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()
50156
+ effectiveModelId: string().nullable()
50160
50157
  }), {
50161
50158
  kind: "mutation",
50162
50159
  auth: "admin"
@@ -50211,15 +50208,6 @@ method(object({
50211
50208
  }), object({ success: literal(true) }), {
50212
50209
  kind: "mutation",
50213
50210
  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
50211
  }), method(object({
50224
50212
  deviceId: number(),
50225
50213
  addonId: string(),
@@ -50227,13 +50215,6 @@ method(object({
50227
50215
  }), object({ success: literal(true) }), {
50228
50216
  kind: "mutation",
50229
50217
  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
50218
  }), method(object({
50238
50219
  deviceId: number(),
50239
50220
  agentNodeId: string().optional()
@@ -58015,6 +57996,30 @@ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly(
58015
57996
  kind: "mutation",
58016
57997
  auth: "admin"
58017
57998
  });
57999
+ var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
58000
+ var positiveOrNull = number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
58001
+ var textOrNull = string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
58002
+ var PrecisionGopsSchema = object({
58003
+ int8: positiveOrNull,
58004
+ fp16: positiveOrNull
58005
+ });
58006
+ /** What one accelerator device reported. Every failed query is null. */
58007
+ var AcceleratorComputeSchema = object({
58008
+ deviceKey: string(),
58009
+ fullDeviceName: textOrNull,
58010
+ executionUnits: positiveOrNull,
58011
+ clockMHz: positiveOrNull,
58012
+ gops: PrecisionGopsSchema.nullable(),
58013
+ architecture: textOrNull,
58014
+ npuName: textOrNull,
58015
+ tops: positiveOrNull,
58016
+ vendor: textOrNull,
58017
+ webgpuArchitecture: textOrNull,
58018
+ webgpuDevice: textOrNull,
58019
+ computeUnits: positiveOrNull
58020
+ });
58021
+ object({ accelerators: array(AcceleratorComputeSchema).nullable() });
58022
+ 64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ;
58018
58023
  var ModelFormatSchema = _enum(MODEL_FORMATS);
58019
58024
  var HwAccelBackendInputSchema = _enum([
58020
58025
  "videotoolbox",
@@ -58128,7 +58133,12 @@ var HardwareInfoSchema = object({
58128
58133
  availableRAM_MB: number(),
58129
58134
  gpu: GpuInfoSchema.nullable(),
58130
58135
  npu: NpuInfoSchema.nullable(),
58131
- coral: CoralInfoSchema.nullable().optional()
58136
+ coral: CoralInfoSchema.nullable().optional(),
58137
+ /**
58138
+ * Per-accelerator compute (D930). Omitted by a node that has not probed it.
58139
+ * `null` fields inside an entry are a failed query, never a zero.
58140
+ */
58141
+ accelerators: array(AcceleratorComputeSchema).readonly().optional()
58132
58142
  });
58133
58143
  var PlatformScoreSchema = object({
58134
58144
  runtime: literal("python"),
@@ -60500,7 +60510,20 @@ var ZoneRuleSchema = object({
60500
60510
  * Defaults to `true` so operators creating a rule via the UI
60501
60511
  * see it active immediately.
60502
60512
  */
60503
- enabled: boolean().default(true)
60513
+ enabled: boolean().default(true),
60514
+ /**
60515
+ * Package stage only. When true, a package candidate may open from a
60516
+ * scene difference in this rule's zone after a person leaves. The
60517
+ * package model, when it boxes something overlapping, is extra evidence
60518
+ * and is not the gate. Absent or false keeps today's model path.
60519
+ */
60520
+ detectBySceneDifference: boolean().optional(),
60521
+ /**
60522
+ * Package stage only. When true, a promoted package is shown to the
60523
+ * `llm` cap before the delivery event is emitted. Absent or false emits
60524
+ * as today. Usable with or without `detectBySceneDifference`.
60525
+ */
60526
+ confirmWithLlm: boolean().optional()
60504
60527
  });
60505
60528
  array(ZoneRuleSchema).readonly();
60506
60529
  object({
@@ -62110,7 +62133,7 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
62110
62133
  * - **Jobs.** A persisted state machine, a reconcile loop against the
62111
62134
  * provider, a cost guard, a daily orphan sweep and the retention rules.
62112
62135
  * - **The return flow.** Verified artefacts → Model Studio
62113
- * (`custom-model-registry.importModelBundle`) → canary on cameras →
62136
+ * (`custom-model-registry.importModelBundle`) → canary on accelerators →
62114
62137
  * rollback. Nothing is ever registered automatically.
62115
62138
  *
62116
62139
  * Plan/start takes a live {@link TrainingCorpusSelection} (collections +
@@ -62247,20 +62270,24 @@ var TrainingProgressPointSchema = object({
62247
62270
  map50: number().nullable(),
62248
62271
  map50_95: number().nullable()
62249
62272
  });
62273
+ /** One accelerator: a `(node, inference device)` that runs the root detector. */
62274
+ var TrainingAcceleratorRefSchema = object({
62275
+ nodeId: string(),
62276
+ deviceKey: string()
62277
+ });
62278
+ /**
62279
+ * A canary pins the registered model on chosen ACCELERATORS — a model is
62280
+ * chosen by the accelerator that runs it (D927); every camera balanced onto
62281
+ * one runs it. `previous` is the root-detector pin each one had (`null` = it
62282
+ * ran its default), exactly, so rollback restores it.
62283
+ */
62250
62284
  var TrainingCanarySchema = object({
62251
- deviceIds: array(number().int()).readonly(),
62285
+ accelerators: array(TrainingAcceleratorRefSchema).readonly(),
62252
62286
  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()
62287
+ previous: array(TrainingAcceleratorRefSchema.extend({ modelId: string().nullable() })).readonly()
62263
62288
  });
62289
+ /** An accelerator a canary may pin: it runs the root detector, on this model now. */
62290
+ var TrainingCanaryTargetSchema = TrainingAcceleratorRefSchema.extend({ pinnedModelId: string().nullable() });
62264
62291
  var TrainingJobSchema = object({
62265
62292
  id: string(),
62266
62293
  idempotencyKey: string(),
@@ -62372,11 +62399,11 @@ method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" })
62372
62399
  kind: "mutation",
62373
62400
  auth: "admin",
62374
62401
  timeoutMs: 12e4
62375
- }), method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }), method(IdInput.extend({ canaryDeviceIds: array(number().int()).readonly() }), TrainingJobSchema, {
62402
+ }), method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }), method(_void(), array(TrainingCanaryTargetSchema).readonly(), { auth: "admin" }), method(IdInput.extend({ canaryAccelerators: array(TrainingAcceleratorRefSchema).readonly() }), TrainingJobSchema, {
62376
62403
  kind: "mutation",
62377
62404
  auth: "admin",
62378
62405
  timeoutMs: 30 * 6e4
62379
- }), method(IdInput.extend({ deviceIds: array(number().int()).min(1).readonly() }), TrainingJobSchema, {
62406
+ }), method(IdInput.extend({ accelerators: array(TrainingAcceleratorRefSchema).min(1).readonly() }), TrainingJobSchema, {
62380
62407
  kind: "mutation",
62381
62408
  auth: "admin",
62382
62409
  timeoutMs: 12e4
@@ -68307,20 +68334,6 @@ Object.freeze({
68307
68334
  access: "create",
68308
68335
  role: "admin"
68309
68336
  },
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
68337
  "pipelineExecutor.deleteModel": {
68325
68338
  capName: "pipeline-executor",
68326
68339
  capScope: "system",
@@ -68363,13 +68376,6 @@ Object.freeze({
68363
68376
  access: "view",
68364
68377
  role: "admin"
68365
68378
  },
68366
- "pipelineExecutor.getDefaultSteps": {
68367
- capName: "pipeline-executor",
68368
- capScope: "system",
68369
- addonId: null,
68370
- access: "view",
68371
- role: "admin"
68372
- },
68373
68379
  "pipelineExecutor.getDetectionConfigSchema": {
68374
68380
  capName: "pipeline-executor",
68375
68381
  capScope: "system",
@@ -68391,20 +68397,6 @@ Object.freeze({
68391
68397
  access: "view",
68392
68398
  role: "admin"
68393
68399
  },
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
68400
  "pipelineExecutor.getInferenceDeviceHealth": {
68409
68401
  capName: "pipeline-executor",
68410
68402
  capScope: "system",
@@ -68664,13 +68656,6 @@ Object.freeze({
68664
68656
  access: "view",
68665
68657
  role: "admin"
68666
68658
  },
68667
- "pipelineOrchestrator.getCameraStepOverrides": {
68668
- capName: "pipeline-orchestrator",
68669
- capScope: "system",
68670
- addonId: null,
68671
- access: "view",
68672
- role: "admin"
68673
- },
68674
68659
  "pipelineOrchestrator.getCameraSwitches": {
68675
68660
  capName: "pipeline-orchestrator",
68676
68661
  capScope: "system",
@@ -68909,13 +68894,6 @@ Object.freeze({
68909
68894
  access: "create",
68910
68895
  role: "admin"
68911
68896
  },
68912
- "pipelineOrchestrator.setCameraPipelineForAgent": {
68913
- capName: "pipeline-orchestrator",
68914
- capScope: "system",
68915
- addonId: null,
68916
- access: "create",
68917
- role: "admin"
68918
- },
68919
68897
  "pipelineOrchestrator.setCameraSensors": {
68920
68898
  capName: "pipeline-orchestrator",
68921
68899
  capScope: "system",
@@ -68923,42 +68901,42 @@ Object.freeze({
68923
68901
  access: "create",
68924
68902
  role: "admin"
68925
68903
  },
68926
- "pipelineOrchestrator.setCameraStepOverride": {
68904
+ "pipelineOrchestrator.setCameraStepSettings": {
68927
68905
  capName: "pipeline-orchestrator",
68928
68906
  capScope: "system",
68929
68907
  addonId: null,
68930
68908
  access: "create",
68931
68909
  role: "admin"
68932
68910
  },
68933
- "pipelineOrchestrator.setCameraStepSettings": {
68911
+ "pipelineOrchestrator.setCameraStepToggle": {
68934
68912
  capName: "pipeline-orchestrator",
68935
68913
  capScope: "system",
68936
68914
  addonId: null,
68937
68915
  access: "create",
68938
68916
  role: "admin"
68939
68917
  },
68940
- "pipelineOrchestrator.setCameraStepToggle": {
68918
+ "pipelineOrchestrator.setCameraSwitch": {
68941
68919
  capName: "pipeline-orchestrator",
68942
68920
  capScope: "system",
68943
68921
  addonId: null,
68944
68922
  access: "create",
68945
68923
  role: "admin"
68946
68924
  },
68947
- "pipelineOrchestrator.setCameraSwitch": {
68925
+ "pipelineOrchestrator.setCapabilityBinding": {
68948
68926
  capName: "pipeline-orchestrator",
68949
68927
  capScope: "system",
68950
68928
  addonId: null,
68951
68929
  access: "create",
68952
68930
  role: "admin"
68953
68931
  },
68954
- "pipelineOrchestrator.setCapabilityBinding": {
68932
+ "pipelineOrchestrator.setLoadBalancingShares": {
68955
68933
  capName: "pipeline-orchestrator",
68956
68934
  capScope: "system",
68957
68935
  addonId: null,
68958
68936
  access: "create",
68959
68937
  role: "admin"
68960
68938
  },
68961
- "pipelineOrchestrator.setLoadBalancingShares": {
68939
+ "pipelineOrchestrator.setNodeStepSettings": {
68962
68940
  capName: "pipeline-orchestrator",
68963
68941
  capScope: "system",
68964
68942
  addonId: null,
@@ -71317,6 +71295,13 @@ Object.freeze({
71317
71295
  access: "view",
71318
71296
  role: "admin"
71319
71297
  },
71298
+ "training.listCanaryTargets": {
71299
+ capName: "training",
71300
+ capScope: "system",
71301
+ addonId: null,
71302
+ access: "view",
71303
+ role: "admin"
71304
+ },
71320
71305
  "training.listJobs": {
71321
71306
  capName: "training",
71322
71307
  capScope: "system",
@@ -77703,11 +77688,6 @@ Object.freeze({
77703
77688
  form: "single",
77704
77689
  optional: false
77705
77690
  }],
77706
- "pipelineExecutor.clearModelBoundDeviceOverrides": [{
77707
- name: "deviceIds",
77708
- form: "array",
77709
- optional: true
77710
- }],
77711
77691
  "pipelineExecutor.runPipeline": [{
77712
77692
  name: "deviceId",
77713
77693
  form: "single",
@@ -77763,11 +77743,6 @@ Object.freeze({
77763
77743
  form: "array",
77764
77744
  optional: true
77765
77745
  }],
77766
- "pipelineOrchestrator.getCameraStepOverrides": [{
77767
- name: "deviceId",
77768
- form: "single",
77769
- optional: false
77770
- }],
77771
77746
  "pipelineOrchestrator.getCameraSwitches": [{
77772
77747
  name: "deviceId",
77773
77748
  form: "single",
@@ -77808,21 +77783,11 @@ Object.freeze({
77808
77783
  form: "single",
77809
77784
  optional: false
77810
77785
  }],
77811
- "pipelineOrchestrator.setCameraPipelineForAgent": [{
77812
- name: "deviceId",
77813
- form: "single",
77814
- optional: false
77815
- }],
77816
77786
  "pipelineOrchestrator.setCameraSensors": [{
77817
77787
  name: "deviceId",
77818
77788
  form: "single",
77819
77789
  optional: false
77820
77790
  }],
77821
- "pipelineOrchestrator.setCameraStepOverride": [{
77822
- name: "deviceId",
77823
- form: "single",
77824
- optional: false
77825
- }],
77826
77791
  "pipelineOrchestrator.setCameraStepSettings": [{
77827
77792
  name: "deviceId",
77828
77793
  form: "single",
@@ -78500,11 +78465,6 @@ Object.freeze({
78500
78465
  form: "single",
78501
78466
  optional: false
78502
78467
  }],
78503
- "training.canaryResult": [{
78504
- name: "deviceIds",
78505
- form: "array",
78506
- optional: false
78507
- }],
78508
78468
  "update.getStatus": [{
78509
78469
  name: "deviceId",
78510
78470
  form: "single",
@@ -79832,6 +79792,10 @@ TimelapseRuleInputSchema.extend({
79832
79792
  updatedAt: number()
79833
79793
  });
79834
79794
  MotionOnMotionChangedDataSchema.omit({ triggeredBy: true });
79795
+ Object.freeze({
79796
+ person: .8,
79797
+ vehicle: .8
79798
+ });
79835
79799
  object({
79836
79800
  /**
79837
79801
  * Fraction of the box's own size added on EACH side before cutting.
@@ -80033,7 +79997,7 @@ var AdminUIAddon = class extends BaseAddon {
80033
79997
  capability: adminUiCapability,
80034
79998
  provider: {
80035
79999
  getStaticDir: async () => ({ staticDir: resolveAdminUiDistDir() }),
80036
- getVersion: async () => ({ version: "1.2.457" })
80000
+ getVersion: async () => ({ version: "1.2.459" })
80037
80001
  }
80038
80002
  }];
80039
80003
  }