@camstack/addon-post-analysis 1.2.335 → 1.2.337

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 (16) hide show
  1. package/THIRD_PARTY_MODELS.md +2 -2
  2. package/dist/{clip-model-registry-D7e1kEqc.mjs → clip-model-registry-CD0UYoAb.mjs} +249 -92
  3. package/dist/{clip-model-registry-BxUHFGUg.js → clip-model-registry-CML1YOOa.js} +259 -90
  4. package/dist/embedding-encoder/index.js +2 -2
  5. package/dist/embedding-encoder/index.mjs +2 -2
  6. package/dist/pipeline-analytics/_stub.js +2 -2
  7. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-NmXf2bwM.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DGaCYQ8R.mjs} +2 -2
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D7NMYqUM.mjs +26 -0
  9. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-bIOxWlPv.mjs +26 -0
  10. package/dist/pipeline-analytics/{hostInit-DM07J5TU.mjs → hostInit-Dlhtn22B.mjs} +2 -2
  11. package/dist/pipeline-analytics/index.js +148 -61
  12. package/dist/pipeline-analytics/index.mjs +148 -61
  13. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  14. package/package.json +2 -2
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BMP6Hyub.mjs +0 -26
  16. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DxUsRAkr.mjs +0 -26
@@ -11560,89 +11560,51 @@ function resolveClipSearchMinScore(meta, request) {
11560
11560
  const factor = CLIP_STRICTNESS_FACTOR[request.strictness ?? "loose"];
11561
11561
  return Math.min(1, Math.round(meta.searchMinScore * factor * 1e3) / 1e3);
11562
11562
  }
11563
- /**
11564
- * The class names a per-class COUNT can ever be keyed on — the macro ids, and
11565
- * only those.
11566
- *
11567
- * `preserveOriginal: false` below is the whole reason this set exists: the
11568
- * executor maps each raw COCO label onto its macro and DROPS everything else,
11569
- * so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
11570
- * Any surface that indexes counts by class name — the ZoneAnalytics occupancy
11571
- * snapshot's `byClass`, and therefore every occupancy rule — can match nothing
11572
- * else. Derived from the catalog, never hand-listed, so a new macro joins it by
11573
- * being declared once.
11574
- *
11575
- * Cost of not having it, 2026-08-12: the notification rule editor offered the
11576
- * full taxonomy for an occupancy class (occupancy is the one condition that
11577
- * does not go through the engine's macro-expanding `expandClassSelector`), two
11578
- * live rules were authored on `car`, and both counters read 0 forever.
11579
- */
11580
- var DETECTION_MACRO_CLASSES = new Set([
11581
- {
11582
- id: "person",
11583
- name: "Person"
11584
- },
11585
- {
11586
- id: "vehicle",
11587
- name: "Vehicle"
11588
- },
11589
- {
11590
- id: "animal",
11591
- name: "Animal"
11592
- },
11593
- {
11594
- id: "package",
11595
- name: "Package"
11596
- }
11597
- ].map((l) => l.id));
11598
- /** True when `className` is a macro the detector can actually emit (and hence a
11599
- * class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
11600
- function isDetectionMacroClass(className) {
11601
- return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
11602
- }
11603
- var COCO_TO_MACRO = {
11604
- mapping: {
11605
- person: "person",
11606
- bicycle: "vehicle",
11607
- car: "vehicle",
11608
- motorcycle: "vehicle",
11609
- airplane: "vehicle",
11610
- bus: "vehicle",
11611
- train: "vehicle",
11612
- truck: "vehicle",
11613
- boat: "vehicle",
11614
- bird: "animal",
11615
- cat: "animal",
11616
- dog: "animal",
11617
- horse: "animal",
11618
- sheep: "animal",
11619
- cow: "animal",
11620
- elephant: "animal",
11621
- bear: "animal",
11622
- zebra: "animal",
11623
- giraffe: "animal",
11624
- suitcase: "package",
11625
- backpack: "package",
11626
- handbag: "package"
11627
- },
11628
- preserveOriginal: false
11629
- };
11630
- /** Steps a root detector may declare it fills. */
11631
- var FILLABLE_STEP_IDS = [
11563
+ /** Steps whose effect a root label can BE. */
11564
+ var LABEL_SUPPLY_STEP_IDS = [
11632
11565
  "animal-classifier",
11633
11566
  "vehicle-classifier",
11634
11567
  "package-detection"
11635
11568
  ];
11636
- /** Narrow a step id to a fillable one — type guard, not a cast. */
11637
- function isFillableStepId(value) {
11638
- return FILLABLE_STEP_IDS.some((id) => id === value);
11569
+ /** Steps whose box a root detection can BE. */
11570
+ var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
11571
+ /** Every step a root model can supply. */
11572
+ var ROOT_SUPPLIABLE_STEP_IDS = [...LABEL_SUPPLY_STEP_IDS, ...CROP_SUPPLY_STEP_IDS];
11573
+ /** Narrow a step id to a suppliable one — type guard, not a cast. */
11574
+ function isRootSuppliableStepId(value) {
11575
+ return ROOT_SUPPLIABLE_STEP_IDS.some((id) => id === value);
11576
+ }
11577
+ /** Narrow a step id to a label-kind one. */
11578
+ function isLabelSupplyStepId(value) {
11579
+ return LABEL_SUPPLY_STEP_IDS.some((id) => id === value);
11639
11580
  }
11581
+ var CROP_SUPPLY_SOURCES = {
11582
+ "plate-detection": {
11583
+ rootLabels: ["license_plate"],
11584
+ parentMacro: "vehicle",
11585
+ childClass: "plate",
11586
+ servedChildSteps: ["plate-ocr"],
11587
+ use: "as-output"
11588
+ },
11589
+ "face-detection": {
11590
+ rootLabels: ["face"],
11591
+ parentMacro: "person",
11592
+ childClass: "face",
11593
+ servedChildSteps: ["face-embedding"],
11594
+ use: "refine",
11595
+ minRootInputPx: 640
11596
+ }
11597
+ };
11640
11598
  /** The step a linked label stands in for, or `undefined` for any other attribution. */
11641
11599
  function linkedStepOf(attributionStepId) {
11642
11600
  if (attributionStepId === void 0) return void 0;
11643
11601
  if (!attributionStepId.startsWith("detector-link:")) return void 0;
11644
11602
  const stepId = attributionStepId.slice(14);
11645
- return isFillableStepId(stepId) ? stepId : void 0;
11603
+ return isLabelSupplyStepId(stepId) ? stepId : void 0;
11604
+ }
11605
+ /** The child steps of a crop-kind step that still run on the root's box. */
11606
+ function rootSupplyServes(stepId) {
11607
+ return CROP_SUPPLY_SOURCES[stepId].servedChildSteps;
11646
11608
  }
11647
11609
  var MODEL_FORMATS = [
11648
11610
  "onnx",
@@ -11776,12 +11738,35 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
11776
11738
  /** True when the weights or their data forbid commercial use. */
11777
11739
  nonCommercial: boolean().optional()
11778
11740
  }));
11779
- /** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
11780
- var FillsClassifierEffectSchema = object({
11781
- stepId: _enum(FILLABLE_STEP_IDS),
11741
+ /**
11742
+ * One step a ROOT detector can supply from its own output (D730) — see
11743
+ * `ModelCatalogEntry.suppliesSteps`.
11744
+ *
11745
+ * - `label`: the root's raw class IS the step's answer. `labelToEffect` maps
11746
+ * the root's label to the step's vocabulary; `uncovered` is the vocabulary
11747
+ * the root cannot produce (shown as unavailable, never a blocker).
11748
+ * - `crop`: the root draws the box the step would have found (`license_plate`
11749
+ * for plate-detection, `face` for face-detection). The box becomes a detail
11750
+ * child of the `parentMacro` detection that contains it — never a track.
11751
+ */
11752
+ var RootStepSupplySchema = discriminatedUnion("kind", [object({
11753
+ kind: literal("label"),
11754
+ stepId: _enum(LABEL_SUPPLY_STEP_IDS),
11782
11755
  labelToEffect: record(string(), string()),
11783
11756
  uncovered: array(string()).readonly()
11784
- });
11757
+ }), object({
11758
+ kind: literal("crop"),
11759
+ stepId: _enum(CROP_SUPPLY_STEP_IDS),
11760
+ rootLabels: array(string()).readonly(),
11761
+ parentMacro: _enum(["vehicle", "person"]),
11762
+ childClass: _enum(["plate", "face"]),
11763
+ /**
11764
+ * The root's smaller input side, stamped on read by `rootSuppliesOf` from
11765
+ * the model entry — what a step's `minRootInputPx` gate judges. Never
11766
+ * stored by an import.
11767
+ */
11768
+ rootInputPx: number().int().positive().optional()
11769
+ })]);
11785
11770
  var ModelCatalogEntrySchema = object({
11786
11771
  id: string(),
11787
11772
  name: string(),
@@ -11908,15 +11893,15 @@ var ModelCatalogEntrySchema = object({
11908
11893
  */
11909
11894
  classMap: DetectionCatalogClassMapSchema.optional(),
11910
11895
  /**
11911
- * The pipeline steps this ROOT detector already does the work of (D715):
11912
- * its labels name the effect the step exists to produce (`deer` for
11913
- * `animal-classifier`, `package` for `package-detection`). Derived from the
11914
- * labelmap by `deriveClassifierFills`, never hand-written; a COCO model
11915
- * declares none. Whether a declaration is honoured is the step's own
11916
- * `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
11917
- * `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
11896
+ * The pipeline steps this ROOT detector can supply from its own output
11897
+ * (D730): its labels name a step's effect (`deer` for `animal-classifier`)
11898
+ * or draw a step's box (`license_plate` for `plate-detection`). Computed at
11899
+ * import from THIS model's labelmap by `deriveRootSupplies`, never written
11900
+ * by hand and never assumed per family; a row without it is derived on read
11901
+ * (`rootSuppliesOf`). Whether a camera uses it is the step's own
11902
+ * `useRootModel` flag (`resolveRootSupply`).
11918
11903
  */
11919
- fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
11904
+ suppliesSteps: array(RootStepSupplySchema).readonly().optional(),
11920
11905
  /**
11921
11906
  * The model's CLIP feature-space contract (text encoder, dimension, vector
11922
11907
  * index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
@@ -21560,6 +21545,73 @@ var notificationOutputCapability = {
21560
21545
  })
21561
21546
  }
21562
21547
  };
21548
+ /**
21549
+ * The class names a per-class COUNT can ever be keyed on — the macro ids, and
21550
+ * only those.
21551
+ *
21552
+ * `preserveOriginal: false` below is the whole reason this set exists: the
21553
+ * executor maps each raw COCO label onto its macro and DROPS everything else,
21554
+ * so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
21555
+ * Any surface that indexes counts by class name — the ZoneAnalytics occupancy
21556
+ * snapshot's `byClass`, and therefore every occupancy rule — can match nothing
21557
+ * else. Derived from the catalog, never hand-listed, so a new macro joins it by
21558
+ * being declared once.
21559
+ *
21560
+ * Cost of not having it, 2026-08-12: the notification rule editor offered the
21561
+ * full taxonomy for an occupancy class (occupancy is the one condition that
21562
+ * does not go through the engine's macro-expanding `expandClassSelector`), two
21563
+ * live rules were authored on `car`, and both counters read 0 forever.
21564
+ */
21565
+ var DETECTION_MACRO_CLASSES = new Set([
21566
+ {
21567
+ id: "person",
21568
+ name: "Person"
21569
+ },
21570
+ {
21571
+ id: "vehicle",
21572
+ name: "Vehicle"
21573
+ },
21574
+ {
21575
+ id: "animal",
21576
+ name: "Animal"
21577
+ },
21578
+ {
21579
+ id: "package",
21580
+ name: "Package"
21581
+ }
21582
+ ].map((l) => l.id));
21583
+ /** True when `className` is a macro the detector can actually emit (and hence a
21584
+ * class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
21585
+ function isDetectionMacroClass(className) {
21586
+ return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
21587
+ }
21588
+ var COCO_TO_MACRO = {
21589
+ mapping: {
21590
+ person: "person",
21591
+ bicycle: "vehicle",
21592
+ car: "vehicle",
21593
+ motorcycle: "vehicle",
21594
+ airplane: "vehicle",
21595
+ bus: "vehicle",
21596
+ train: "vehicle",
21597
+ truck: "vehicle",
21598
+ boat: "vehicle",
21599
+ bird: "animal",
21600
+ cat: "animal",
21601
+ dog: "animal",
21602
+ horse: "animal",
21603
+ sheep: "animal",
21604
+ cow: "animal",
21605
+ elephant: "animal",
21606
+ bear: "animal",
21607
+ zebra: "animal",
21608
+ giraffe: "animal",
21609
+ suitcase: "package",
21610
+ backpack: "package",
21611
+ handbag: "package"
21612
+ },
21613
+ preserveOriginal: false
21614
+ };
21563
21615
  var AUDIO_MACRO_LABELS = [
21564
21616
  {
21565
21617
  id: "speech",
@@ -24109,7 +24161,7 @@ var NC_CONDITION_CATALOG = [
24109
24161
  operator: "in",
24110
24162
  appliesTo: ["immediate", "track-end"],
24111
24163
  phase: "P1",
24112
- description: "Only recognised people. Selecting NOBODY means every identity in the face gallery; selecting some narrows to those. Matched on the gallery id, so renaming a person does not break the rule. On Immediate delivery the name must already be known when an event is written — choose Immediate, grouped to wait for it (D692)."
24164
+ description: "Only recognised people. Selecting NOBODY means every identity in the face gallery; selecting some narrows to those. Matched on the gallery id, so renaming a person does not break the rule. On Immediate delivery the name must already be known when an event is written — choose Immediate, grouped to wait for it."
24113
24165
  },
24114
24166
  {
24115
24167
  id: "plates",
@@ -28530,6 +28582,34 @@ var pipelineAnalyticsCapability = {
28530
28582
  }
28531
28583
  };
28532
28584
  /**
28585
+ * A root model's boxes standing in for one crop-kind step's own inference
28586
+ * (D730) — see `runPipeline.suppliedRoot`.
28587
+ */
28588
+ var SuppliedRootOutputSchema = object({
28589
+ stepId: string(),
28590
+ /** The root model that drew the boxes — stamped on the result. */
28591
+ modelId: string(),
28592
+ detections: array(object({
28593
+ /** `[x1, y1, x2, y2]` in the pixels of the call's image. */
28594
+ bbox: tuple([
28595
+ number(),
28596
+ number(),
28597
+ number(),
28598
+ number()
28599
+ ]),
28600
+ score: number(),
28601
+ /**
28602
+ * Five facial landmarks in the same pixels — a face the step's own
28603
+ * detector already re-found inside a root face box (D730), so its
28604
+ * embedder child aligns it exactly as it aligns any detected face.
28605
+ */
28606
+ landmarks: array(object({
28607
+ x: number(),
28608
+ y: number()
28609
+ })).optional()
28610
+ })).min(1)
28611
+ });
28612
+ /**
28533
28613
  * Reference to the frame's retained NATIVE surface + the parent crop's placement
28534
28614
  * within the frame, so the executor can re-cut a leaf child ROI at native
28535
28615
  * resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
@@ -28660,7 +28740,7 @@ var PipelineModelOptionSchema = object({
28660
28740
  legacy: boolean().optional(),
28661
28741
  provider: ModelProviderIdSchema.optional(),
28662
28742
  defaultConfidence: number().optional(),
28663
- fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
28743
+ suppliesSteps: array(RootStepSupplySchema).readonly().optional()
28664
28744
  });
28665
28745
  var ConfigFieldBridge = custom();
28666
28746
  var PipelineAddonSchemaSchema = object({
@@ -29064,7 +29144,16 @@ var pipelineExecutorCapability = {
29064
29144
  * `device-not-servable`), and nothing reaches the camera's live
29065
29145
  * trace stream. Absent ⇒ unchanged behaviour.
29066
29146
  */
29067
- replay: literal(true).optional()
29147
+ replay: literal(true).optional(),
29148
+ /**
29149
+ * Root-supplied detections for the tree's ROOT step (D730). Set by
29150
+ * `runDetailSubtree` when the camera's root model supplies a crop-kind
29151
+ * step (a Frigate+ `license_plate` for `plate-detection`): the step is
29152
+ * NOT inferred, these boxes are its output, and its children (the plate
29153
+ * reader) run on them through their own crop policy. Boxes are in the
29154
+ * PIXELS of the image this call carries. Absent ⇒ the root step runs.
29155
+ */
29156
+ suppliedRoot: SuppliedRootOutputSchema.optional()
29068
29157
  }), PipelineRunResultBridge, { kind: "mutation" }),
29069
29158
  /**
29070
29159
  * Batched run — N raw frames packed into one cap call. The provider
@@ -30377,7 +30466,22 @@ var pipelineRunnerCapability = {
30377
30466
  */
30378
30467
  cropJpeg: string().optional(),
30379
30468
  parent: DetailParentSchema,
30380
- steps: array(string()).optional()
30469
+ steps: array(string()).optional(),
30470
+ /**
30471
+ * The camera's root model already drew this step's boxes (D730): a
30472
+ * `license_plate` inside the parent vehicle. The named step is NOT
30473
+ * inferred — these FRAME-space boxes are its output — and its
30474
+ * requested children (the plate reader) run on them. Absent ⇒ every
30475
+ * requested step infers as before.
30476
+ */
30477
+ supplied: object({
30478
+ stepId: string(),
30479
+ modelId: string(),
30480
+ boxes: array(object({
30481
+ bbox: NativeCropBboxSchema,
30482
+ score: number()
30483
+ })).min(1)
30484
+ }).optional()
30381
30485
  }), object({ details: array(DetailResultSchema) }).nullable(), { kind: "mutation" }),
30382
30486
  /**
30383
30487
  * Run ONE enrichment step against caller-supplied pixels, with NO camera
@@ -39375,6 +39479,27 @@ var ViewerEndpointsSchema = object({
39375
39479
  /** What the ranking currently resolves to (may be empty if nothing is up). */
39376
39480
  resolved: array(string()).readonly()
39377
39481
  });
39482
+ /**
39483
+ * One audience's hub address (see `hub-address.ts`): the operator's stored
39484
+ * override, the address in use, and where it came from.
39485
+ */
39486
+ var HubAddressSnapshotSchema = object({
39487
+ /** The operator's override, or null for automatic. */
39488
+ override: string().nullable(),
39489
+ /** The address in use, or null when nothing qualifies (never loopback). */
39490
+ resolved: string().nullable(),
39491
+ source: _enum([
39492
+ "override",
39493
+ "auto",
39494
+ "none"
39495
+ ])
39496
+ });
39497
+ var HubAddressesSchema = object({
39498
+ /** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
39499
+ cluster: HubAddressSnapshotSchema,
39500
+ /** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
39501
+ browser: HubAddressSnapshotSchema
39502
+ });
39378
39503
  var AllowedAddressesSchema = object({
39379
39504
  /**
39380
39505
  * Allowlist of interface addresses operators have explicitly opted
@@ -39507,6 +39632,26 @@ var localNetworkCapability = {
39507
39632
  */
39508
39633
  setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
39509
39634
  /**
39635
+ * The hub's address for each audience — agents (`cluster`) and sign-in
39636
+ * links (`browser`) — as every consumer must read it: the operator's
39637
+ * override when set, else the automatic pick from this cap's palette,
39638
+ * never loopback. The ONE answer to "at which address is this hub
39639
+ * reached?"; there is no environment variable for it.
39640
+ */
39641
+ getHubAddresses: method(_void(), HubAddressesSchema),
39642
+ /**
39643
+ * Set or clear (`baseUrl: null`) one audience's override. Validated: an
39644
+ * http(s) origin with a host, no credentials, no path, never loopback —
39645
+ * an invalid value is refused with the reason, nothing is stored.
39646
+ */
39647
+ setHubAddress: method(object({
39648
+ audience: _enum(["cluster", "browser"]),
39649
+ baseUrl: string().nullable()
39650
+ }), HubAddressesSchema, {
39651
+ kind: "mutation",
39652
+ auth: "admin"
39653
+ }),
39654
+ /**
39510
39655
  * Read the operator's allowlist. Empty = "auto" (no filter). Used
39511
39656
  * by the admin UI's address selector to seed its checkbox state.
39512
39657
  */
@@ -51537,6 +51682,12 @@ Object.freeze({
51537
51682
  addonId: null,
51538
51683
  access: "view"
51539
51684
  },
51685
+ "localNetwork.getHubAddresses": {
51686
+ capName: "local-network",
51687
+ capScope: "system",
51688
+ addonId: null,
51689
+ access: "view"
51690
+ },
51540
51691
  "localNetwork.getNotificationEndpoint": {
51541
51692
  capName: "local-network",
51542
51693
  capScope: "system",
@@ -51591,6 +51742,12 @@ Object.freeze({
51591
51742
  addonId: null,
51592
51743
  access: "create"
51593
51744
  },
51745
+ "localNetwork.setHubAddress": {
51746
+ capName: "local-network",
51747
+ capScope: "system",
51748
+ addonId: null,
51749
+ access: "create"
51750
+ },
51594
51751
  "localNetwork.setNotificationEndpoint": {
51595
51752
  capName: "local-network",
51596
51753
  capScope: "system",
@@ -61321,7 +61478,7 @@ var STATE_SUMMARY_VARS = [
61321
61478
  {
61322
61479
  name: "summarySection",
61323
61480
  label: "Summary: this section",
61324
- description: "The section a per-section summary row is about (D698); on a summary sent as one message, every section it reports, comma-separated.",
61481
+ description: "The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.",
61325
61482
  example: "Batterie scariche",
61326
61483
  group: "system",
61327
61484
  families: ["rule"],
@@ -65019,6 +65176,12 @@ Object.defineProperty(exports, "isRetiredClearKey", {
65019
65176
  return isRetiredClearKey;
65020
65177
  }
65021
65178
  });
65179
+ Object.defineProperty(exports, "isRootSuppliableStepId", {
65180
+ enumerable: true,
65181
+ get: function() {
65182
+ return isRootSuppliableStepId;
65183
+ }
65184
+ });
65022
65185
  Object.defineProperty(exports, "isScheduleActive", {
65023
65186
  enumerable: true,
65024
65187
  get: function() {
@@ -65217,6 +65380,12 @@ Object.defineProperty(exports, "resolvePoolMemoryPolicy", {
65217
65380
  return resolvePoolMemoryPolicy;
65218
65381
  }
65219
65382
  });
65383
+ Object.defineProperty(exports, "rootSupplyServes", {
65384
+ enumerable: true,
65385
+ get: function() {
65386
+ return rootSupplyServes;
65387
+ }
65388
+ });
65220
65389
  Object.defineProperty(exports, "ruleAutoTriggersAlarm", {
65221
65390
  enumerable: true,
65222
65391
  get: function() {
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_clip_model_registry = require("../clip-model-registry-BxUHFGUg.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-CML1YOOa.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_clip_model_registry.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1261,7 +1261,7 @@ var EmbeddingEncoderAddon = class extends require_clip_model_registry.BaseAddon
1261
1261
  type: "text",
1262
1262
  key: "modelId",
1263
1263
  label: "Fallback model ID",
1264
- description: "Used only until the cluster \"Semantic search model\" row has been read once. The encoder follows that row (D649).",
1264
+ description: "Used only until the cluster \"Semantic search model\" row has been read once. The encoder follows that row.",
1265
1265
  default: require_clip_model_registry.DEFAULT_CLIP_MODEL
1266
1266
  }]
1267
1267
  }] });
@@ -1,4 +1,4 @@
1
- import { Dr as parseProcStatus, Jn as embeddingEncoderCapability, Qn as embeddingRequirementsUnavailableError, Rr as resolvePoolMemoryPolicy, Yn as embeddingModelFailedError, Zn as embeddingRequirementsFailedError, Zt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, pi as BaseAddon, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, xi as normalizeNodeId } from "../clip-model-registry-D7e1kEqc.mjs";
1
+ import { Ci as normalizeNodeId, Jn as embeddingEncoderCapability, Or as parseProcStatus, Qn as embeddingRequirementsUnavailableError, Yn as embeddingModelFailedError, Zn as embeddingRequirementsFailedError, Zt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, hi as BaseAddon, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, zr as resolvePoolMemoryPolicy } from "../clip-model-registry-CD0UYoAb.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1269,7 +1269,7 @@ var EmbeddingEncoderAddon = class extends BaseAddon {
1269
1269
  type: "text",
1270
1270
  key: "modelId",
1271
1271
  label: "Fallback model ID",
1272
- description: "Used only until the cluster \"Semantic search model\" row has been read once. The encoder follows that row (D649).",
1272
+ description: "Used only until the cluster \"Semantic search model\" row has been read once. The encoder follows that row.",
1273
1273
  default: DEFAULT_CLIP_MODEL
1274
1274
  }]
1275
1275
  }] });
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
2
2
  import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
3
- import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DxUsRAkr.mjs";
3
+ import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-bIOxWlPv.mjs";
4
4
  import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
5
- import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BMP6Hyub.mjs";
5
+ import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D7NMYqUM.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
8
8
  let t = b(e);
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.307",
21
+ version: "1.2.309",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.233",
36
+ version: "1.2.235",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",