@camstack/addon-export-hap 1.2.117 → 1.2.118

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.
@@ -14099,6 +14099,43 @@ var deviceExportCapability = {
14099
14099
  unexposeDevice: method(UnexposeInputSchema, _void(), { kind: "mutation" })
14100
14100
  }
14101
14101
  };
14102
+ /** Wire/storage schema for one icon id. */
14103
+ var LocationIconIdSchema = _enum([
14104
+ "map-pin",
14105
+ "house",
14106
+ "door-open",
14107
+ "sofa",
14108
+ "utensils",
14109
+ "bed-double",
14110
+ "bath",
14111
+ "briefcase",
14112
+ "car",
14113
+ "circle-parking",
14114
+ "route",
14115
+ "trees",
14116
+ "umbrella",
14117
+ "waves-ladder",
14118
+ "fence",
14119
+ "package",
14120
+ "warehouse",
14121
+ "store",
14122
+ "sun",
14123
+ "radar"
14124
+ ]);
14125
+ /**
14126
+ * One (location, icon) assignment as it travels.
14127
+ *
14128
+ * `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
14129
+ * operator's casing. The registry matches labels trimmed + case-insensitively
14130
+ * everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
14131
+ * case-only rename (`cucina` → `Cucina`) is a real edit this repo supports; a
14132
+ * map keyed on the displayed casing would orphan its entry on exactly that
14133
+ * edit. Consumers join by keying their own label through `locationIconKey`.
14134
+ */
14135
+ var LocationIconAssignmentSchema = object({
14136
+ locationKey: string(),
14137
+ icon: LocationIconIdSchema
14138
+ });
14102
14139
  var ProviderStatusSchema = object({
14103
14140
  connected: boolean(),
14104
14141
  deviceCount: number(),
@@ -14610,6 +14647,12 @@ method(object({
14610
14647
  }), object({ moved: number() }), {
14611
14648
  kind: "mutation",
14612
14649
  auth: "admin"
14650
+ }), method(_void(), array(LocationIconAssignmentSchema)), method(object({
14651
+ location: string(),
14652
+ icon: LocationIconIdSchema.nullable()
14653
+ }), _void(), {
14654
+ kind: "mutation",
14655
+ auth: "admin"
14613
14656
  }), method(object({
14614
14657
  deviceId: number(),
14615
14658
  disabled: boolean()
@@ -33494,6 +33537,12 @@ Object.freeze({
33494
33537
  addonId: null,
33495
33538
  access: "view"
33496
33539
  },
33540
+ "deviceManager.listLocationIcons": {
33541
+ capName: "device-manager",
33542
+ capScope: "system",
33543
+ addonId: null,
33544
+ access: "view"
33545
+ },
33497
33546
  "deviceManager.listLocations": {
33498
33547
  capName: "device-manager",
33499
33548
  capScope: "system",
@@ -33638,6 +33687,12 @@ Object.freeze({
33638
33687
  addonId: null,
33639
33688
  access: "create"
33640
33689
  },
33690
+ "deviceManager.setLocationIcon": {
33691
+ capName: "device-manager",
33692
+ capScope: "system",
33693
+ addonId: null,
33694
+ access: "create"
33695
+ },
33641
33696
  "deviceManager.setMetadata": {
33642
33697
  capName: "device-manager",
33643
33698
  capScope: "system",
@@ -14087,6 +14087,43 @@ var deviceExportCapability = {
14087
14087
  unexposeDevice: method(UnexposeInputSchema, _void(), { kind: "mutation" })
14088
14088
  }
14089
14089
  };
14090
+ /** Wire/storage schema for one icon id. */
14091
+ var LocationIconIdSchema = _enum([
14092
+ "map-pin",
14093
+ "house",
14094
+ "door-open",
14095
+ "sofa",
14096
+ "utensils",
14097
+ "bed-double",
14098
+ "bath",
14099
+ "briefcase",
14100
+ "car",
14101
+ "circle-parking",
14102
+ "route",
14103
+ "trees",
14104
+ "umbrella",
14105
+ "waves-ladder",
14106
+ "fence",
14107
+ "package",
14108
+ "warehouse",
14109
+ "store",
14110
+ "sun",
14111
+ "radar"
14112
+ ]);
14113
+ /**
14114
+ * One (location, icon) assignment as it travels.
14115
+ *
14116
+ * `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
14117
+ * operator's casing. The registry matches labels trimmed + case-insensitively
14118
+ * everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
14119
+ * case-only rename (`cucina` → `Cucina`) is a real edit this repo supports; a
14120
+ * map keyed on the displayed casing would orphan its entry on exactly that
14121
+ * edit. Consumers join by keying their own label through `locationIconKey`.
14122
+ */
14123
+ var LocationIconAssignmentSchema = object({
14124
+ locationKey: string(),
14125
+ icon: LocationIconIdSchema
14126
+ });
14090
14127
  var ProviderStatusSchema = object({
14091
14128
  connected: boolean(),
14092
14129
  deviceCount: number(),
@@ -14598,6 +14635,12 @@ method(object({
14598
14635
  }), object({ moved: number() }), {
14599
14636
  kind: "mutation",
14600
14637
  auth: "admin"
14638
+ }), method(_void(), array(LocationIconAssignmentSchema)), method(object({
14639
+ location: string(),
14640
+ icon: LocationIconIdSchema.nullable()
14641
+ }), _void(), {
14642
+ kind: "mutation",
14643
+ auth: "admin"
14601
14644
  }), method(object({
14602
14645
  deviceId: number(),
14603
14646
  disabled: boolean()
@@ -33482,6 +33525,12 @@ Object.freeze({
33482
33525
  addonId: null,
33483
33526
  access: "view"
33484
33527
  },
33528
+ "deviceManager.listLocationIcons": {
33529
+ capName: "device-manager",
33530
+ capScope: "system",
33531
+ addonId: null,
33532
+ access: "view"
33533
+ },
33485
33534
  "deviceManager.listLocations": {
33486
33535
  capName: "device-manager",
33487
33536
  capScope: "system",
@@ -33626,6 +33675,12 @@ Object.freeze({
33626
33675
  addonId: null,
33627
33676
  access: "create"
33628
33677
  },
33678
+ "deviceManager.setLocationIcon": {
33679
+ capName: "device-manager",
33680
+ capScope: "system",
33681
+ addonId: null,
33682
+ access: "create"
33683
+ },
33629
33684
  "deviceManager.setMetadata": {
33630
33685
  capName: "device-manager",
33631
33686
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.117",
3
+ "version": "1.2.118",
4
4
  "description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
5
5
  "keywords": [
6
6
  "camstack",