@camstack/addon-provider-tuya 0.2.105 → 0.2.106

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/addon.js CHANGED
@@ -14316,6 +14316,43 @@ var ExposeInputSchema = object({
14316
14316
  });
14317
14317
  var UnexposeInputSchema = object({ deviceId: string() });
14318
14318
  method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), { kind: "mutation" }), method(UnexposeInputSchema, _void(), { kind: "mutation" });
14319
+ /** Wire/storage schema for one icon id. */
14320
+ var LocationIconIdSchema = _enum([
14321
+ "map-pin",
14322
+ "house",
14323
+ "door-open",
14324
+ "sofa",
14325
+ "utensils",
14326
+ "bed-double",
14327
+ "bath",
14328
+ "briefcase",
14329
+ "car",
14330
+ "circle-parking",
14331
+ "route",
14332
+ "trees",
14333
+ "umbrella",
14334
+ "waves-ladder",
14335
+ "fence",
14336
+ "package",
14337
+ "warehouse",
14338
+ "store",
14339
+ "sun",
14340
+ "radar"
14341
+ ]);
14342
+ /**
14343
+ * One (location, icon) assignment as it travels.
14344
+ *
14345
+ * `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
14346
+ * operator's casing. The registry matches labels trimmed + case-insensitively
14347
+ * everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
14348
+ * case-only rename (`cucina` → `Cucina`) is a real edit this repo supports; a
14349
+ * map keyed on the displayed casing would orphan its entry on exactly that
14350
+ * edit. Consumers join by keying their own label through `locationIconKey`.
14351
+ */
14352
+ var LocationIconAssignmentSchema = object({
14353
+ locationKey: string(),
14354
+ icon: LocationIconIdSchema
14355
+ });
14319
14356
  var ProviderStatusSchema = object({
14320
14357
  connected: boolean(),
14321
14358
  deviceCount: number(),
@@ -14908,6 +14945,12 @@ method(object({
14908
14945
  }), object({ moved: number() }), {
14909
14946
  kind: "mutation",
14910
14947
  auth: "admin"
14948
+ }), method(_void(), array(LocationIconAssignmentSchema)), method(object({
14949
+ location: string(),
14950
+ icon: LocationIconIdSchema.nullable()
14951
+ }), _void(), {
14952
+ kind: "mutation",
14953
+ auth: "admin"
14911
14954
  }), method(object({
14912
14955
  deviceId: number(),
14913
14956
  disabled: boolean()
@@ -37826,6 +37869,12 @@ Object.freeze({
37826
37869
  addonId: null,
37827
37870
  access: "view"
37828
37871
  },
37872
+ "deviceManager.listLocationIcons": {
37873
+ capName: "device-manager",
37874
+ capScope: "system",
37875
+ addonId: null,
37876
+ access: "view"
37877
+ },
37829
37878
  "deviceManager.listLocations": {
37830
37879
  capName: "device-manager",
37831
37880
  capScope: "system",
@@ -37970,6 +38019,12 @@ Object.freeze({
37970
38019
  addonId: null,
37971
38020
  access: "create"
37972
38021
  },
38022
+ "deviceManager.setLocationIcon": {
38023
+ capName: "device-manager",
38024
+ capScope: "system",
38025
+ addonId: null,
38026
+ access: "create"
38027
+ },
37973
38028
  "deviceManager.setMetadata": {
37974
38029
  capName: "device-manager",
37975
38030
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -14315,6 +14315,43 @@ var ExposeInputSchema = object({
14315
14315
  });
14316
14316
  var UnexposeInputSchema = object({ deviceId: string() });
14317
14317
  method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), { kind: "mutation" }), method(UnexposeInputSchema, _void(), { kind: "mutation" });
14318
+ /** Wire/storage schema for one icon id. */
14319
+ var LocationIconIdSchema = _enum([
14320
+ "map-pin",
14321
+ "house",
14322
+ "door-open",
14323
+ "sofa",
14324
+ "utensils",
14325
+ "bed-double",
14326
+ "bath",
14327
+ "briefcase",
14328
+ "car",
14329
+ "circle-parking",
14330
+ "route",
14331
+ "trees",
14332
+ "umbrella",
14333
+ "waves-ladder",
14334
+ "fence",
14335
+ "package",
14336
+ "warehouse",
14337
+ "store",
14338
+ "sun",
14339
+ "radar"
14340
+ ]);
14341
+ /**
14342
+ * One (location, icon) assignment as it travels.
14343
+ *
14344
+ * `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
14345
+ * operator's casing. The registry matches labels trimmed + case-insensitively
14346
+ * everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
14347
+ * case-only rename (`cucina` → `Cucina`) is a real edit this repo supports; a
14348
+ * map keyed on the displayed casing would orphan its entry on exactly that
14349
+ * edit. Consumers join by keying their own label through `locationIconKey`.
14350
+ */
14351
+ var LocationIconAssignmentSchema = object({
14352
+ locationKey: string(),
14353
+ icon: LocationIconIdSchema
14354
+ });
14318
14355
  var ProviderStatusSchema = object({
14319
14356
  connected: boolean(),
14320
14357
  deviceCount: number(),
@@ -14907,6 +14944,12 @@ method(object({
14907
14944
  }), object({ moved: number() }), {
14908
14945
  kind: "mutation",
14909
14946
  auth: "admin"
14947
+ }), method(_void(), array(LocationIconAssignmentSchema)), method(object({
14948
+ location: string(),
14949
+ icon: LocationIconIdSchema.nullable()
14950
+ }), _void(), {
14951
+ kind: "mutation",
14952
+ auth: "admin"
14910
14953
  }), method(object({
14911
14954
  deviceId: number(),
14912
14955
  disabled: boolean()
@@ -37825,6 +37868,12 @@ Object.freeze({
37825
37868
  addonId: null,
37826
37869
  access: "view"
37827
37870
  },
37871
+ "deviceManager.listLocationIcons": {
37872
+ capName: "device-manager",
37873
+ capScope: "system",
37874
+ addonId: null,
37875
+ access: "view"
37876
+ },
37828
37877
  "deviceManager.listLocations": {
37829
37878
  capName: "device-manager",
37830
37879
  capScope: "system",
@@ -37969,6 +38018,12 @@ Object.freeze({
37969
38018
  addonId: null,
37970
38019
  access: "create"
37971
38020
  },
38021
+ "deviceManager.setLocationIcon": {
38022
+ capName: "device-manager",
38023
+ capScope: "system",
38024
+ addonId: null,
38025
+ access: "create"
38026
+ },
37972
38027
  "deviceManager.setMetadata": {
37973
38028
  capName: "device-manager",
37974
38029
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-tuya",
3
- "version": "0.2.105",
3
+ "version": "0.2.106",
4
4
  "description": "Tuya / Smart Life device-provider addon for CamStack — account-onboarded (Tuya IoT cloud fetch of device localKeys) + LOCAL DP control via the @apocaliss92/nodetuya encrypted-LAN client, exposing switch / water-heater-family kettle entities",
5
5
  "keywords": [
6
6
  "camstack",