@camstack/types 1.2.384 → 1.2.386

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.
package/dist/client.js CHANGED
@@ -558,6 +558,105 @@ zod.z.object({
558
558
  codec: zod.z.string().optional(),
559
559
  resolution: CamStreamResolutionSchema.optional()
560
560
  });
561
+ //#endregion
562
+ //#region src/device/device-type.ts
563
+ var DeviceType = /* @__PURE__ */ function(DeviceType) {
564
+ DeviceType["Camera"] = "camera";
565
+ DeviceType["Hub"] = "hub";
566
+ DeviceType["Light"] = "light";
567
+ DeviceType["Siren"] = "siren";
568
+ DeviceType["Switch"] = "switch";
569
+ DeviceType["Sensor"] = "sensor";
570
+ DeviceType["Thermostat"] = "thermostat";
571
+ /** Air-conditioner / heat-pump climate device (HVAC) — shares the
572
+ * `climate-control` cap surface with `Thermostat` but renders a
573
+ * dedicated AC-appropriate control UI (mode chips, fan speed,
574
+ * independent vertical/horizontal swing). Sources: native Gree, and
575
+ * reusable by other AC integrations. */
576
+ DeviceType["Climate"] = "climate";
577
+ DeviceType["Button"] = "button";
578
+ /** Generic stateless event emitter — carries a device's EXACT declared
579
+ * event vocabulary verbatim (no normalization). Installed with the
580
+ * `event-emitter` cap. Sources: HA `event.*` entities (structured) and
581
+ * HA bus events (e.g. `zha_event`, generic). */
582
+ DeviceType["EventEmitter"] = "event-emitter";
583
+ /** Firmware/software update entity — current vs available version,
584
+ * updatable flag, update state, and an install action. Installed with
585
+ * the `update` cap. Sources: Homematic firmware-update channels (and
586
+ * reusable by other providers, e.g. HA `update.*` entities). */
587
+ DeviceType["Update"] = "update";
588
+ DeviceType["Generic"] = "generic";
589
+ /** Generic notification delivery target (HA `notify.<service>`, future
590
+ * Telegram / Discord / ntfy / SMTP, …). One device per delivery
591
+ * endpoint; the `notifier` cap defines the send surface. */
592
+ DeviceType["Notifier"] = "notifier";
593
+ /** Pre-recorded action sequence with optional parameters
594
+ * (HA `script.*`). Runnable via `script-runner` cap. */
595
+ DeviceType["Script"] = "script";
596
+ /** Automation rule (HA `automation.*`) — enable/disable + manual
597
+ * trigger surface exposed via `automation-control` cap. */
598
+ DeviceType["Automation"] = "automation";
599
+ /** Door / smart lock device (HA `lock.*`). `lock-control` cap. */
600
+ DeviceType["Lock"] = "lock";
601
+ /** Window covering, blinds, garage door, valve, etc. (HA `cover.*`,
602
+ * `valve.*`). `cover` cap with sub-roles for variant. */
603
+ DeviceType["Cover"] = "cover";
604
+ /** Pipe / water / gas valve with open/close/stop and optional
605
+ * position (HA `valve.*`). `valve` cap — a cover-sibling actuator
606
+ * modelled on the same open/closed lifecycle. */
607
+ DeviceType["Valve"] = "valve";
608
+ /** Humidifier / dehumidifier with on/off + target humidity + mode
609
+ * (HA `humidifier.*`). `humidifier` cap — a climate-family actuator
610
+ * modelled on the same target / mode lifecycle. */
611
+ DeviceType["Humidifier"] = "humidifier";
612
+ /** Water heater / boiler with target temperature + operation mode +
613
+ * away mode (HA `water_heater.*`). `water-heater` cap — a
614
+ * climate-family actuator. */
615
+ DeviceType["WaterHeater"] = "water-heater";
616
+ /** Ceiling / standing / exhaust fan (HA `fan.*`). `fan-control` cap. */
617
+ DeviceType["Fan"] = "fan";
618
+ /** Audio / video playback endpoint (HA `media_player.*`). Disjoint from
619
+ * the camera surface — those use `Camera`. `media-player` cap. */
620
+ DeviceType["MediaPlayer"] = "media-player";
621
+ /** Security panel / alarm system (HA `alarm_control_panel.*`).
622
+ * `alarm-panel` cap. */
623
+ DeviceType["AlarmPanel"] = "alarm-panel";
624
+ /** Generic user-settable input (HA `number` / `input_number` / `select`
625
+ * / `input_select` / `text` / `input_text` / `input_datetime`).
626
+ * Sub-type via `DeviceRole`: NumericControl / SelectControl /
627
+ * TextControl / DateTimeControl. */
628
+ DeviceType["Control"] = "control";
629
+ /** Person / device-tracker presence (HA `person.*`, `device_tracker.*`).
630
+ * `presence` cap. */
631
+ DeviceType["Presence"] = "presence";
632
+ /** Weather provider (HA `weather.*`). Tier-3, low MVP priority.
633
+ * `weather` cap. */
634
+ DeviceType["Weather"] = "weather";
635
+ /** Robot vacuum (HA `vacuum.*`). Tier-3. `vacuum-control` cap. */
636
+ DeviceType["Vacuum"] = "vacuum";
637
+ /** Robotic lawn mower (HA `lawn_mower.*`). Tier-3.
638
+ * `lawn-mower-control` cap. */
639
+ DeviceType["LawnMower"] = "lawn-mower";
640
+ /** Physical HA device group — parent container for entity-children
641
+ * adopted from a single HA device entry. Not renderable as a
642
+ * standalone device; exists only to anchor child entities. */
643
+ DeviceType["Container"] = "container";
644
+ /** Single still-image entity (HA `image.*`). Read-only display of an
645
+ * `entity_picture` signed URL the browser loads directly. `image` cap. */
646
+ DeviceType["Image"] = "image";
647
+ /** Smart pet feeder — cloud-connected food dispenser with a bowl food
648
+ * level, battery, desiccant life, feeding state and manual-feed /
649
+ * call-pet / maintenance actions. Installed with the `pet-feeder` cap;
650
+ * dual-hopper models (D4S/D4SH) expose per-hopper portions. Sources:
651
+ * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
652
+ * integrations sharing the same food/desiccant/hopper surface. */
653
+ DeviceType["PetFeeder"] = "pet-feeder";
654
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
655
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
656
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
657
+ DeviceType["Dishwasher"] = "dishwasher";
658
+ return DeviceType;
659
+ }({});
561
660
  zod.z.enum(["new-session", "step-up"]);
562
661
  zod.z.enum(["en", "it"]);
563
662
  /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
@@ -911,105 +1010,6 @@ function optionalMethod(input, output, options) {
911
1010
  };
912
1011
  }
913
1012
  //#endregion
914
- //#region src/device/device-type.ts
915
- var DeviceType = /* @__PURE__ */ function(DeviceType) {
916
- DeviceType["Camera"] = "camera";
917
- DeviceType["Hub"] = "hub";
918
- DeviceType["Light"] = "light";
919
- DeviceType["Siren"] = "siren";
920
- DeviceType["Switch"] = "switch";
921
- DeviceType["Sensor"] = "sensor";
922
- DeviceType["Thermostat"] = "thermostat";
923
- /** Air-conditioner / heat-pump climate device (HVAC) — shares the
924
- * `climate-control` cap surface with `Thermostat` but renders a
925
- * dedicated AC-appropriate control UI (mode chips, fan speed,
926
- * independent vertical/horizontal swing). Sources: native Gree, and
927
- * reusable by other AC integrations. */
928
- DeviceType["Climate"] = "climate";
929
- DeviceType["Button"] = "button";
930
- /** Generic stateless event emitter — carries a device's EXACT declared
931
- * event vocabulary verbatim (no normalization). Installed with the
932
- * `event-emitter` cap. Sources: HA `event.*` entities (structured) and
933
- * HA bus events (e.g. `zha_event`, generic). */
934
- DeviceType["EventEmitter"] = "event-emitter";
935
- /** Firmware/software update entity — current vs available version,
936
- * updatable flag, update state, and an install action. Installed with
937
- * the `update` cap. Sources: Homematic firmware-update channels (and
938
- * reusable by other providers, e.g. HA `update.*` entities). */
939
- DeviceType["Update"] = "update";
940
- DeviceType["Generic"] = "generic";
941
- /** Generic notification delivery target (HA `notify.<service>`, future
942
- * Telegram / Discord / ntfy / SMTP, …). One device per delivery
943
- * endpoint; the `notifier` cap defines the send surface. */
944
- DeviceType["Notifier"] = "notifier";
945
- /** Pre-recorded action sequence with optional parameters
946
- * (HA `script.*`). Runnable via `script-runner` cap. */
947
- DeviceType["Script"] = "script";
948
- /** Automation rule (HA `automation.*`) — enable/disable + manual
949
- * trigger surface exposed via `automation-control` cap. */
950
- DeviceType["Automation"] = "automation";
951
- /** Door / smart lock device (HA `lock.*`). `lock-control` cap. */
952
- DeviceType["Lock"] = "lock";
953
- /** Window covering, blinds, garage door, valve, etc. (HA `cover.*`,
954
- * `valve.*`). `cover` cap with sub-roles for variant. */
955
- DeviceType["Cover"] = "cover";
956
- /** Pipe / water / gas valve with open/close/stop and optional
957
- * position (HA `valve.*`). `valve` cap — a cover-sibling actuator
958
- * modelled on the same open/closed lifecycle. */
959
- DeviceType["Valve"] = "valve";
960
- /** Humidifier / dehumidifier with on/off + target humidity + mode
961
- * (HA `humidifier.*`). `humidifier` cap — a climate-family actuator
962
- * modelled on the same target / mode lifecycle. */
963
- DeviceType["Humidifier"] = "humidifier";
964
- /** Water heater / boiler with target temperature + operation mode +
965
- * away mode (HA `water_heater.*`). `water-heater` cap — a
966
- * climate-family actuator. */
967
- DeviceType["WaterHeater"] = "water-heater";
968
- /** Ceiling / standing / exhaust fan (HA `fan.*`). `fan-control` cap. */
969
- DeviceType["Fan"] = "fan";
970
- /** Audio / video playback endpoint (HA `media_player.*`). Disjoint from
971
- * the camera surface — those use `Camera`. `media-player` cap. */
972
- DeviceType["MediaPlayer"] = "media-player";
973
- /** Security panel / alarm system (HA `alarm_control_panel.*`).
974
- * `alarm-panel` cap. */
975
- DeviceType["AlarmPanel"] = "alarm-panel";
976
- /** Generic user-settable input (HA `number` / `input_number` / `select`
977
- * / `input_select` / `text` / `input_text` / `input_datetime`).
978
- * Sub-type via `DeviceRole`: NumericControl / SelectControl /
979
- * TextControl / DateTimeControl. */
980
- DeviceType["Control"] = "control";
981
- /** Person / device-tracker presence (HA `person.*`, `device_tracker.*`).
982
- * `presence` cap. */
983
- DeviceType["Presence"] = "presence";
984
- /** Weather provider (HA `weather.*`). Tier-3, low MVP priority.
985
- * `weather` cap. */
986
- DeviceType["Weather"] = "weather";
987
- /** Robot vacuum (HA `vacuum.*`). Tier-3. `vacuum-control` cap. */
988
- DeviceType["Vacuum"] = "vacuum";
989
- /** Robotic lawn mower (HA `lawn_mower.*`). Tier-3.
990
- * `lawn-mower-control` cap. */
991
- DeviceType["LawnMower"] = "lawn-mower";
992
- /** Physical HA device group — parent container for entity-children
993
- * adopted from a single HA device entry. Not renderable as a
994
- * standalone device; exists only to anchor child entities. */
995
- DeviceType["Container"] = "container";
996
- /** Single still-image entity (HA `image.*`). Read-only display of an
997
- * `entity_picture` signed URL the browser loads directly. `image` cap. */
998
- DeviceType["Image"] = "image";
999
- /** Smart pet feeder — cloud-connected food dispenser with a bowl food
1000
- * level, battery, desiccant life, feeding state and manual-feed /
1001
- * call-pet / maintenance actions. Installed with the `pet-feeder` cap;
1002
- * dual-hopper models (D4S/D4SH) expose per-hopper portions. Sources:
1003
- * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
1004
- * integrations sharing the same food/desiccant/hopper surface. */
1005
- DeviceType["PetFeeder"] = "pet-feeder";
1006
- /** Built-in dishwasher — program lifecycle, door / remote-start gates,
1007
- * salt and rinse-aid levels. Installed with the `dishwasher` cap.
1008
- * Sources: native Bosch Home Connect, reusable by similar integrations. */
1009
- DeviceType["Dishwasher"] = "dishwasher";
1010
- return DeviceType;
1011
- }({});
1012
- //#endregion
1013
1013
  //#region src/device/icon-catalog.generated.ts
1014
1014
  /** Lucide category ids, alphabetical. `ICON_META` indexes into this. */
1015
1015
  var ICON_CATEGORY_IDS = [
@@ -22288,6 +22288,9 @@ var NcSystemEventKindSchema = zod.z.enum([
22288
22288
  "server-updated",
22289
22289
  "export-completed",
22290
22290
  "backup-completed",
22291
+ "alert-critical",
22292
+ "alert-error",
22293
+ "alert-critical-resolved",
22291
22294
  "camera-online",
22292
22295
  "camera-offline",
22293
22296
  "camera-disabled",
@@ -26137,6 +26140,7 @@ function createDeviceProxy(api, binding, opts) {
26137
26140
  const dishwasherInterface = {
26138
26141
  start: (input) => dispatch("dishwasher", "dishwasher", "start", "mutation", input),
26139
26142
  pause: (input) => dispatch("dishwasher", "dishwasher", "pause", "mutation", input),
26143
+ resume: (input) => dispatch("dishwasher", "dishwasher", "resume", "mutation", input),
26140
26144
  stop: (input) => dispatch("dishwasher", "dishwasher", "stop", "mutation", input),
26141
26145
  setProgram: (input) => dispatch("dishwasher", "dishwasher", "setProgram", "mutation", input),
26142
26146
  setPower: (input) => dispatch("dishwasher", "dishwasher", "setPower", "mutation", input),
@@ -26147,6 +26151,7 @@ function createDeviceProxy(api, binding, opts) {
26147
26151
  setVarioSpeedPlus: (input) => dispatch("dishwasher", "dishwasher", "setVarioSpeedPlus", "mutation", input),
26148
26152
  setChildLock: (input) => dispatch("dishwasher", "dishwasher", "setChildLock", "mutation", input),
26149
26153
  setOption: (input) => dispatch("dishwasher", "dishwasher", "setOption", "mutation", input),
26154
+ getOptions: (input) => dispatch("dishwasher", "dishwasher", "getOptions", "query", input),
26150
26155
  getStatus: (input) => dispatch("dishwasher", "dishwasher", "getStatus", "query", input)
26151
26156
  };
26152
26157
  const doorbellInterface = { getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input) };
@@ -28215,6 +28220,7 @@ function createSystemProxy(api) {
28215
28220
  status: (input) => dispatch("storageMigration", "status", "query", input),
28216
28221
  cancel: (input) => dispatch("storageMigration", "cancel", "mutation", input),
28217
28222
  movers: (input) => dispatch("storageMigration", "movers", "query", input),
28223
+ moverClearance: (input) => dispatch("storageMigration", "moverClearance", "query", input),
28218
28224
  residue: (input) => dispatch("storageMigration", "residue", "query", input),
28219
28225
  drain: (input) => dispatch("storageMigration", "drain", "mutation", input),
28220
28226
  cleanupStart: (input) => dispatch("storageMigration", "cleanupStart", "mutation", input),
@@ -28663,7 +28669,7 @@ function systemEventFilterApplies(kind, filter) {
28663
28669
  switch (filter) {
28664
28670
  case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
28665
28671
  case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
28666
- case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-");
28672
+ case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-") || kind.startsWith("alert-");
28667
28673
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
28668
28674
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
28669
28675
  }
@@ -28736,6 +28742,9 @@ var FAMILY_BY_NAME = new Map(Object.entries({
28736
28742
  "wrapper-update-available": "system",
28737
28743
  "backup-completed": "system",
28738
28744
  "export-completed": "system",
28745
+ "alert-critical": "system",
28746
+ "alert-error": "system",
28747
+ "alert-critical-resolved": "system",
28739
28748
  "storage-location-low": "system",
28740
28749
  "storage-location-critical": "system",
28741
28750
  "storage-location-ok": "system",
@@ -28876,6 +28885,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
28876
28885
  "storage-location-ok"
28877
28886
  ]
28878
28887
  },
28888
+ {
28889
+ id: "alerts",
28890
+ family: "system",
28891
+ label: "Alerts",
28892
+ kinds: [
28893
+ "alert-critical",
28894
+ "alert-error",
28895
+ "alert-critical-resolved"
28896
+ ]
28897
+ },
28879
28898
  {
28880
28899
  id: "alarm",
28881
28900
  family: "alarm",
@@ -29584,6 +29603,11 @@ var TANK = [
29584
29603
  "device-tank-full",
29585
29604
  "device-tank-normal"
29586
29605
  ];
29606
+ var ALERT_EPISODE = [
29607
+ "alert-critical",
29608
+ "alert-error",
29609
+ "alert-critical-resolved"
29610
+ ];
29587
29611
  var UPDATES = [
29588
29612
  "addon-update-available",
29589
29613
  "server-update-available",
@@ -30108,7 +30132,8 @@ var NC_TEMPLATE_VARS = [
30108
30132
  "server-updated",
30109
30133
  "storage-location-low",
30110
30134
  "storage-location-critical",
30111
- "storage-location-ok"
30135
+ "storage-location-ok",
30136
+ ...ALERT_EPISODE
30112
30137
  ]
30113
30138
  },
30114
30139
  {
@@ -30130,7 +30155,8 @@ var NC_TEMPLATE_VARS = [
30130
30155
  "server-updated",
30131
30156
  "storage-location-low",
30132
30157
  "storage-location-critical",
30133
- "storage-location-ok"
30158
+ "storage-location-ok",
30159
+ ...ALERT_EPISODE
30134
30160
  ]
30135
30161
  },
30136
30162
  {
@@ -30197,7 +30223,7 @@ var NC_TEMPLATE_VARS = [
30197
30223
  families: ["rule"],
30198
30224
  fields: [...RULE_TEXT],
30199
30225
  kinds: ["system"],
30200
- systemEventKinds: ["recording-degraded"]
30226
+ systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
30201
30227
  },
30202
30228
  {
30203
30229
  name: "locationName",
@@ -30394,13 +30420,53 @@ var NC_TEMPLATE_VARS = [
30394
30420
  },
30395
30421
  {
30396
30422
  name: "title",
30397
- label: "Export title",
30423
+ label: "Export or alert title",
30398
30424
  example: "Ingresso 08:00",
30399
30425
  group: "system",
30400
30426
  families: ["rule"],
30401
30427
  fields: [...RULE_TEXT],
30402
30428
  kinds: ["system"],
30403
- systemEventKinds: ["export-completed"]
30429
+ systemEventKinds: ["export-completed", ...ALERT_EPISODE]
30430
+ },
30431
+ {
30432
+ name: "severity",
30433
+ label: "Alert severity",
30434
+ example: "critical",
30435
+ group: "system",
30436
+ families: ["rule"],
30437
+ fields: [...RULE_TEXT],
30438
+ kinds: ["system"],
30439
+ systemEventKinds: [...ALERT_EPISODE]
30440
+ },
30441
+ {
30442
+ name: "category",
30443
+ label: "Alert category",
30444
+ example: "addon.runner-failed",
30445
+ group: "system",
30446
+ families: ["rule"],
30447
+ fields: [...RULE_TEXT],
30448
+ kinds: ["system"],
30449
+ systemEventKinds: [...ALERT_EPISODE]
30450
+ },
30451
+ {
30452
+ name: "source",
30453
+ label: "Alert source (addon, node or runner)",
30454
+ example: "recorder",
30455
+ group: "system",
30456
+ families: ["rule"],
30457
+ fields: [...RULE_TEXT],
30458
+ kinds: ["system"],
30459
+ systemEventKinds: [...ALERT_EPISODE]
30460
+ },
30461
+ {
30462
+ name: "actionUrl",
30463
+ label: "Alert action link",
30464
+ example: "/system/addons",
30465
+ group: "system",
30466
+ families: ["rule"],
30467
+ fields: [...RULE_TEXT],
30468
+ kinds: ["system"],
30469
+ systemEventKinds: [...ALERT_EPISODE]
30404
30470
  },
30405
30471
  {
30406
30472
  name: "exportId",
@@ -30611,7 +30677,10 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
30611
30677
  "device-tank-full",
30612
30678
  "device-tank-normal",
30613
30679
  "node-restarting",
30614
- "node-updating"
30680
+ "node-updating",
30681
+ "alert-critical",
30682
+ "alert-error",
30683
+ "alert-critical-resolved"
30615
30684
  ];
30616
30685
  /**
30617
30686
  * Is this descriptor held back from the SERVED catalog as a whole (D647)?