@camstack/addon-post-analysis 1.2.623 → 1.2.625

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 (15) hide show
  1. package/dist/{clip-model-registry-C58fyELd.mjs → clip-model-registry-BmPWAiiw.mjs} +195 -124
  2. package/dist/{clip-model-registry-KKT83z9U.js → clip-model-registry-Bz5VWLtO.js} +195 -124
  3. package/dist/embedding-encoder/index.js +1 -1
  4. package/dist/embedding-encoder/index.mjs +1 -1
  5. package/dist/pipeline-analytics/_stub.js +2 -2
  6. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-_ahOxwNA.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-u9k_8R7t.mjs} +3 -3
  7. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-yap5surJ.mjs +26 -0
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Dh58k_r9.mjs +26 -0
  9. package/dist/pipeline-analytics/{hostInit-CdRVx4vF.mjs → hostInit-Bx3x53tR.mjs} +3 -3
  10. package/dist/pipeline-analytics/index.js +206 -222
  11. package/dist/pipeline-analytics/index.mjs +206 -222
  12. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  13. package/package.json +1 -1
  14. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-V5-s2hmZ.mjs +0 -26
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B1HZu0i3.mjs +0 -26
@@ -5660,7 +5660,7 @@ var ZodIssueCode = {
5660
5660
  var ZodFirstPartyTypeKind;
5661
5661
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5662
5662
  //#endregion
5663
- //#region ../types/dist/sleep-DJFUfKvA.mjs
5663
+ //#region ../types/dist/sleep-CUp20JkO.mjs
5664
5664
  /**
5665
5665
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5666
5666
  * window to float samples (D455).
@@ -8757,7 +8757,11 @@ var ContributionSectionSchema = object({
8757
8757
  literal(4)
8758
8758
  ]).optional(),
8759
8759
  tab: string().optional(),
8760
- location: _enum(["settings", "top-tab"]).optional(),
8760
+ location: _enum([
8761
+ "settings",
8762
+ "top-tab",
8763
+ "hero"
8764
+ ]).optional(),
8761
8765
  order: number().optional(),
8762
8766
  fields: array(any())
8763
8767
  });
@@ -14772,7 +14776,11 @@ var ConfigSectionWithValuesSchema = object({
14772
14776
  literal(4)
14773
14777
  ]).optional(),
14774
14778
  tab: string().optional(),
14775
- location: _enum(["settings", "top-tab"]).optional(),
14779
+ location: _enum([
14780
+ "settings",
14781
+ "top-tab",
14782
+ "hero"
14783
+ ]).optional(),
14776
14784
  order: number().optional(),
14777
14785
  fields: array(any())
14778
14786
  });
@@ -18682,6 +18690,52 @@ var TierStatusSchema = object({
18682
18690
  countedAt: number().nullable()
18683
18691
  });
18684
18692
  /** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
18693
+ /**
18694
+ * Why a series is orphan. `device-gone`: its device is absent from the
18695
+ * successful device listings (the departure clock). `undeclared`: its `cap:`
18696
+ * key is declared by no capability any more (a field a cap removed).
18697
+ */
18698
+ var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
18699
+ /** Rows held per stored tier. */
18700
+ var TierRowsSchema = object({
18701
+ raw: number().int(),
18702
+ "5m": number().int(),
18703
+ "1h": number().int(),
18704
+ "1d": number().int()
18705
+ });
18706
+ var OrphanSeriesSchema = object({
18707
+ seriesId: number().int(),
18708
+ deviceId: number().int(),
18709
+ key: string(),
18710
+ scope: string(),
18711
+ /** The metric's display name; `null` when its metric row is gone too. */
18712
+ displayName: string().nullable(),
18713
+ reason: DeviceHistoryOrphanReasonSchema,
18714
+ /** `device-gone`: since when the device has been absent; `null` otherwise. */
18715
+ missingSince: number().nullable(),
18716
+ firstTs: number(),
18717
+ lastTs: number(),
18718
+ rows: TierRowsSchema
18719
+ });
18720
+ var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
18721
+ "not-found",
18722
+ "not-orphan",
18723
+ "failed"
18724
+ ]);
18725
+ var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
18726
+ seriesId: number().int(),
18727
+ ok: literal(true),
18728
+ deleted: TierRowsSchema
18729
+ }), object({
18730
+ seriesId: number().int(),
18731
+ ok: literal(false),
18732
+ reason: DeviceHistoryOrphanDeleteRefusalSchema
18733
+ })]);
18734
+ var OrphanListSchema = object({
18735
+ series: array(OrphanSeriesSchema).readonly(),
18736
+ /** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
18737
+ truncated: boolean()
18738
+ });
18685
18739
  var DeviceHistoryStatusSchema = object({
18686
18740
  startedAt: number(),
18687
18741
  /** The store is declared, series loaded and the first reconcile has answered. */
@@ -18779,7 +18833,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
18779
18833
  }), object({ enabled: boolean() }), {
18780
18834
  kind: "mutation",
18781
18835
  auth: "admin"
18782
- }), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" });
18836
+ }), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" }), method(object({}), OrphanListSchema, { auth: "admin" }), method(object({ seriesIds: array(number().int()).min(1).max(50) }), object({ results: array(OrphanDeleteEntrySchema).readonly() }), {
18837
+ kind: "mutation",
18838
+ auth: "admin"
18839
+ });
18783
18840
  var DeviceCaStatusSchema = discriminatedUnion("state", [
18784
18841
  object({ state: literal("absent") }),
18785
18842
  object({
@@ -51432,7 +51489,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
51432
51489
  modelId: string()
51433
51490
  }),
51434
51491
  object({ kind: literal("cpu-device") }),
51435
- object({ kind: literal("coral-untouched") }),
51436
51492
  object({ kind: literal("device-disabled") }),
51437
51493
  object({ kind: literal("device-unavailable") }),
51438
51494
  object({ kind: literal("node-offline") }),
@@ -51530,11 +51586,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
51530
51586
  kind: literal("detector-store-unreadable"),
51531
51587
  error: string()
51532
51588
  }),
51533
- object({
51534
- kind: literal("coral-enabled"),
51535
- nodeId: string(),
51536
- deviceKey: string()
51537
- }),
51538
51589
  object({
51539
51590
  kind: literal("custom-pin-kept"),
51540
51591
  nodeId: string(),
@@ -58659,17 +58710,69 @@ var connectivityCapability = {
58659
58710
  volatileStateFields: ["lastChangedAt"]
58660
58711
  };
58661
58712
  /**
58662
- * Generic device-consumables capability — surfaces a device's
58663
- * maintenance items (vacuum filters/brushes, replaceable cartridges,
58664
- * descaling cycles, …) with their remaining life and an optional
58665
- * "Replaced" reset action. Device-agnostic: any provider that knows its
58666
- * device tracks consumables can register it; the cap declares no
58667
- * vocabulary of its own — the provider names each item verbatim.
58713
+ * Generic device-consumables capability — the ONE place a device reports what
58714
+ * it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
58715
+ * descaling cycles), supplies it draws from (a vacuum's clean-water tank and
58716
+ * detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
58717
+ * water tank, a dust bin). Each item carries its remaining life or fill and an
58718
+ * optional "Replaced" reset action. Device-agnostic: any provider that knows
58719
+ * its device tracks consumables registers it; the provider names each item
58720
+ * verbatim and says which `kind` it is.
58721
+ *
58722
+ * The admin UI renders it as ONE collapsible section directly under the
58723
+ * device page's hero card (`placement: 'hero'`), for every device bound to
58724
+ * this cap — never drawn by a device type's hero card itself (D915).
58668
58725
  *
58669
58726
  * Like `childLayout`, the cap is INERT until a provider sets items: no
58670
58727
  * provider populates it by guessing (no HA inference). The UI renders a
58671
58728
  * "No consumables reported" placeholder when `items` is empty.
58672
58729
  */
58730
+ /**
58731
+ * What an item IS, which decides which direction is bad:
58732
+ * - `wear` — a part that wears out (a brush, a filter); low life is bad.
58733
+ * - `supply` — something the device draws from (clean water, detergent,
58734
+ * salt, rinse aid); low or empty is bad.
58735
+ * - `waste` — something the device fills (dirty water, a dust bin); full is
58736
+ * bad.
58737
+ * Absent = `wear`.
58738
+ */
58739
+ var ConsumableKindSchema = _enum([
58740
+ "wear",
58741
+ "supply",
58742
+ "waste"
58743
+ ]);
58744
+ /**
58745
+ * What an item LOOKS like, which decides how a client draws it — independent
58746
+ * of `kind`, which decides which direction is bad:
58747
+ * - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
58748
+ * remaining time and a reset.
58749
+ * - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
58750
+ * - `product` — something bought and refilled (detergent, salt, rinse aid):
58751
+ * a stepped level and "refill".
58752
+ * - `bin` — a container that collects waste (a dust bin): a fill gauge
58753
+ * that warns when full.
58754
+ * Absent = derived from the kind ({@link consumableFormOf}).
58755
+ */
58756
+ var ConsumableFormSchema = _enum([
58757
+ "part",
58758
+ "tank",
58759
+ "product",
58760
+ "bin"
58761
+ ]);
58762
+ /** The provider's own discrete verdict on an item. */
58763
+ var ConsumableStatusSchema = _enum([
58764
+ "ok",
58765
+ "low",
58766
+ "empty",
58767
+ "full",
58768
+ "replace"
58769
+ ]);
58770
+ _enum([
58771
+ "ok",
58772
+ "low",
58773
+ "empty",
58774
+ "full"
58775
+ ]);
58673
58776
  /** Units a remaining-life counter is reported in. Closed: the panel renders
58674
58777
  * each. */
58675
58778
  var ConsumableRemainingUnitSchema = _enum([
@@ -58684,18 +58787,23 @@ var ConsumableRemainingSchema = object({
58684
58787
  unit: ConsumableRemainingUnitSchema
58685
58788
  });
58686
58789
  /** A single consumable item. Either a continuous `level` (remaining
58687
- * life %) or a discrete `status` may be known — both may be null when a
58688
- * provider only knows the item exists. `level` and `status` are not
58689
- * mutually exclusive; a provider may report both. */
58790
+ * life %, or fill % for a `supply` / `waste` item) or a discrete `status`
58791
+ * may be known — both may be null when a provider only knows the item
58792
+ * exists. `level` and `status` are not mutually exclusive; a provider may
58793
+ * report both. */
58690
58794
  var ConsumableItemSchema = object({
58691
58795
  /** Stable id, e.g. 'main-brush'. */
58692
58796
  key: string().min(1),
58693
58797
  /** Display name. */
58694
58798
  label: string().min(1),
58695
- /** Remaining life % when known (0..100). */
58799
+ /** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
58696
58800
  level: number().min(0).max(100).nullable(),
58697
- /** Discrete state when known (binary mode). */
58698
- status: _enum(["ok", "replace"]).nullable(),
58801
+ /** The provider's discrete verdict when known (binary mode). */
58802
+ status: ConsumableStatusSchema.nullable(),
58803
+ /** What the item is — decides whether low or full is bad. Absent = `wear`. */
58804
+ kind: ConsumableKindSchema.optional(),
58805
+ /** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
58806
+ form: ConsumableFormSchema.optional(),
58699
58807
  /** Ms epoch of the last replace, when known. */
58700
58808
  lastResetAt: number().nullable(),
58701
58809
  /** Whether `reset()` is meaningful for this item. */
@@ -58718,7 +58826,7 @@ var consumablesCapability = {
58718
58826
  kind: "widget",
58719
58827
  widgetId: "host/consumables-panel",
58720
58828
  tab: "consumables",
58721
- topTab: true,
58829
+ placement: "hero",
58722
58830
  label: "Consumables",
58723
58831
  order: 5
58724
58832
  } },
@@ -58779,9 +58887,37 @@ reset: method(object({
58779
58887
  */
58780
58888
  durability: "restored",
58781
58889
  /**
58782
- * History (D850): none — `items` is an array keyed by runtime ids; a history path never enters it.
58890
+ * History (D850, D917): one series per (item field, item `key`) — the item key
58891
+ * is the series scope, the item `label` names it. A vacuum tank's fill, a
58892
+ * brush's remaining life and a dishwasher's salt are each recorded the moment
58893
+ * their provider reports them; an item that appears later gets its series.
58783
58894
  */
58784
- history: "none",
58895
+ history: {
58896
+ fields: {},
58897
+ items: {
58898
+ path: "items",
58899
+ key: "key",
58900
+ label: "label",
58901
+ fields: {
58902
+ level: {
58903
+ kind: "gauge",
58904
+ unit: "%",
58905
+ deadband: 2,
58906
+ displayName: "Level"
58907
+ },
58908
+ status: {
58909
+ kind: "enum",
58910
+ displayName: "Status"
58911
+ },
58912
+ "remaining.value": {
58913
+ kind: "gauge",
58914
+ unitFrom: "remaining.unit",
58915
+ deadband: 1,
58916
+ displayName: "Remaining"
58917
+ }
58918
+ }
58919
+ }
58920
+ },
58785
58921
  /** Clocks, not content: a re-read that changed no item costs no commit. */
58786
58922
  volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
58787
58923
  };
@@ -59218,8 +59354,9 @@ onStatusChanged: { data: object({
59218
59354
  volatileStateFields: ["lastChangedAt"]
59219
59355
  };
59220
59356
  /**
59221
- * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
59222
- * consumable levels (salt, rinse aid) and common program options.
59357
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates and
59358
+ * common program options. Salt and rinse aid are NOT here: they are items of
59359
+ * the device's `consumables` cap, like every other device's (D915).
59223
59360
  *
59224
59361
  * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
59225
59362
  * by any integration that exposes the same program / option surface.
@@ -59267,11 +59404,6 @@ var DishwasherAvailabilitySchema = _enum([
59267
59404
  "offline",
59268
59405
  "description-missing"
59269
59406
  ]);
59270
- var DishwasherConsumableLevelSchema = _enum([
59271
- "ok",
59272
- "low",
59273
- "empty"
59274
- ]);
59275
59407
  var DishwasherStatusSchema = object({
59276
59408
  availability: DishwasherAvailabilitySchema,
59277
59409
  /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
@@ -59304,8 +59436,6 @@ var DishwasherStatusSchema = object({
59304
59436
  powerOn: boolean().nullable(),
59305
59437
  /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
59306
59438
  powerState: string().nullable(),
59307
- saltLevel: DishwasherConsumableLevelSchema.nullable(),
59308
- rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
59309
59439
  /**
59310
59440
  * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
59311
59441
  * combined care-and-filter reminder raised); false when every such reminder reads clear; null
@@ -68290,60 +68420,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
68290
68420
  auth: "admin",
68291
68421
  access: "delete"
68292
68422
  });
68293
- /**
68294
- * Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
68295
- * cleaning lifecycle plus a return-to-base / locate surface and an
68296
- * optional fan-speed selector.
68297
- *
68298
- * State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
68299
- * `paused` / `returning` / `docked` / `error`. `batteryLevel`
68300
- * (0..100) is nullable — some vacuums don't report a battery
68301
- * percentage. `fanSpeed` is the current speed token (provider-verbatim,
68302
- * e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
68303
- * tokens the hardware accepts so the UI renders only supported choices.
68304
- *
68305
- * The `setFanSpeed` method takes the bare `speed` token — the provider
68306
- * validates it against the vacuum's own list. `locate` triggers the
68307
- * find-me chirp; `returnToBase` sends it home.
68308
- *
68309
- * Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
68310
- * `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
68311
- * 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
68312
- * SHOULD populate whichever tanks the hardware has — leave a field `null`
68313
- * only when the device has no such tank at all, and use a `TankStatus`
68314
- * with both inner fields `null` when the tank exists but its level is
68315
- * currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
68316
- * so the HA provider leaves all four `null`.
68317
- */
68318
- var VacuumStateSchema = _enum([
68319
- "idle",
68320
- "cleaning",
68321
- "paused",
68322
- "returning",
68323
- "docked",
68324
- "drying",
68325
- "error"
68326
- ]);
68327
- /**
68328
- * One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
68329
- * detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
68330
- * a discrete `status` (binary-style hardware), or both. Both `null` means the
68331
- * level is currently unknown; the OWNING field being `null` means the
68332
- * hardware has no such tank at all.
68333
- */
68334
- var TankStatusSchema = object({
68335
- /** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
68336
- level: number().min(0).max(100).nullable(),
68337
- /** Discrete state when the hardware is binary-mode; null otherwise. */
68338
- status: _enum([
68339
- "ok",
68340
- "low",
68341
- "full"
68342
- ]).nullable()
68343
- });
68344
68423
  var VacuumControlStatusSchema = object({
68345
68424
  /** Lifecycle state of the vacuum. */
68346
- state: VacuumStateSchema,
68425
+ state: _enum([
68426
+ "idle",
68427
+ "cleaning",
68428
+ "paused",
68429
+ "returning",
68430
+ "docked",
68431
+ "drying",
68432
+ "error"
68433
+ ]),
68347
68434
  /** 0..100 battery percentage. Null when the device has no battery
68348
68435
  * reading. */
68349
68436
  batteryLevel: number().min(0).max(100).nullable(),
@@ -68352,14 +68439,6 @@ var VacuumControlStatusSchema = object({
68352
68439
  fanSpeed: string().nullable(),
68353
68440
  /** Speed tokens the hardware accepts — drives the UI selector. */
68354
68441
  availableFanSpeeds: array(string()),
68355
- /** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
68356
- cleanWater: TankStatusSchema.nullable(),
68357
- /** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
68358
- dirtyWater: TankStatusSchema.nullable(),
68359
- /** Detergent tank. Null when the hardware has no detergent tank. */
68360
- detergent: TankStatusSchema.nullable(),
68361
- /** Dust bin. Null when the hardware has no dust bin. */
68362
- dustBin: TankStatusSchema.nullable(),
68363
68442
  /** 0..100 cleaning-completion percentage of the current task, or null. */
68364
68443
  progressPercent: number().min(0).max(100).nullable(),
68365
68444
  /** Current error code (0 / null = no error). */
@@ -68421,35 +68500,14 @@ var vacuumControlCapability = {
68421
68500
  */
68422
68501
  durability: "session",
68423
68502
  /**
68424
- * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
68503
+ * History (D850): recorded series. The tanks moved to `consumables` (D915), whose
68504
+ * items are keyed by runtime ids and record no history.
68425
68505
  */
68426
- history: { fields: {
68427
- batteryLevel: {
68428
- kind: "gauge",
68429
- unit: "%",
68430
- deadband: 2
68431
- },
68432
- "cleanWater.level": {
68433
- kind: "gauge",
68434
- unit: "%",
68435
- deadband: 2
68436
- },
68437
- "dirtyWater.level": {
68438
- kind: "gauge",
68439
- unit: "%",
68440
- deadband: 2
68441
- },
68442
- "detergent.level": {
68443
- kind: "gauge",
68444
- unit: "%",
68445
- deadband: 2
68446
- },
68447
- "dustBin.level": {
68448
- kind: "gauge",
68449
- unit: "%",
68450
- deadband: 2
68451
- }
68452
- } }
68506
+ history: { fields: { batteryLevel: {
68507
+ kind: "gauge",
68508
+ unit: "%",
68509
+ deadband: 2
68510
+ } } }
68453
68511
  };
68454
68512
  var ValveStatusSchema = object({
68455
68513
  /** Lifecycle state of the valve. */
@@ -72413,6 +72471,12 @@ Object.freeze({
72413
72471
  addonId: null,
72414
72472
  access: "create"
72415
72473
  },
72474
+ "deviceHistory.deleteOrphanSeries": {
72475
+ capName: "device-history",
72476
+ capScope: "system",
72477
+ addonId: null,
72478
+ access: "delete"
72479
+ },
72416
72480
  "deviceHistory.getDeviceEnabled": {
72417
72481
  capName: "device-history",
72418
72482
  capScope: "system",
@@ -72431,6 +72495,12 @@ Object.freeze({
72431
72495
  addonId: null,
72432
72496
  access: "view"
72433
72497
  },
72498
+ "deviceHistory.listOrphanSeries": {
72499
+ capName: "device-history",
72500
+ capScope: "system",
72501
+ addonId: null,
72502
+ access: "view"
72503
+ },
72434
72504
  "deviceHistory.listSeries": {
72435
72505
  capName: "device-history",
72436
72506
  capScope: "system",
@@ -84163,17 +84233,18 @@ var NC_TEMPLATE_VARS = [
84163
84233
  {
84164
84234
  name: "item",
84165
84235
  label: "Consumable",
84236
+ description: "The device's own name for the item: a filter, a brush, the salt, a tank.",
84166
84237
  example: "Filtro",
84167
84238
  group: "system",
84168
84239
  families: ["rule"],
84169
84240
  fields: [...RULE_TEXT],
84170
84241
  kinds: ["system"],
84171
- systemEventKinds: [...CONSUMABLE]
84242
+ systemEventKinds: [...CONSUMABLE, ...TANK]
84172
84243
  },
84173
84244
  {
84174
84245
  name: "tank",
84175
84246
  label: "Tank",
84176
- description: "Which tank: clean water, dirty water, detergent or dust bin.",
84247
+ description: "Which tank, as a stable token: cleanWater, dirtyWater, detergent, dustBin, or the device key of any other supply (salt, rinse aid).",
84177
84248
  example: "clean water",
84178
84249
  group: "system",
84179
84250
  families: ["rule"],
@@ -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-KKT83z9U.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-Bz5VWLtO.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");
@@ -1,4 +1,4 @@
1
- import { Ki as BaseAddon, Xr as parseProcStatus, a as CLIP_EMBEDDING_STEP_ID, en as PoolMemoryWatchdog, fr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, ia as normalizeNodeId, l as resolveClusterModelPin, lr as embeddingEncoderCapability, n as DEFAULT_CLIP_MODEL, pr as embeddingRequirementsUnavailableError, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, ui as resolvePoolMemoryPolicy, ur as embeddingModelFailedError } from "../clip-model-registry-C58fyELd.mjs";
1
+ import { Ki as BaseAddon, Xr as parseProcStatus, a as CLIP_EMBEDDING_STEP_ID, en as PoolMemoryWatchdog, fr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, ia as normalizeNodeId, l as resolveClusterModelPin, lr as embeddingEncoderCapability, n as DEFAULT_CLIP_MODEL, pr as embeddingRequirementsUnavailableError, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, ui as resolvePoolMemoryPolicy, ur as embeddingModelFailedError } from "../clip-model-registry-BmPWAiiw.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";
@@ -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-Cx9AsA5q.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, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B1HZu0i3.mjs";
3
+ import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Dh58k_r9.mjs";
4
4
  import { n as x, t as S } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-CkwmHEi0.mjs";
5
- import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-V5-s2hmZ.mjs";
5
+ import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-yap5surJ.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var w = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), T = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), E = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), D = (e) => {
8
8
  let t = E(e);
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.148",
6
+ version: "1.2.150",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_pipeline_analytics_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.398",
21
+ version: "1.2.401",
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.315",
36
+ version: "1.2.317",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",