@digital-alchemy/hass 25.10.26 → 25.10.27-beta.1

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 (53) hide show
  1. package/dist/dev/mappings.d.mts +28 -0
  2. package/dist/hass.module.d.mts +6 -1
  3. package/dist/hass.module.mjs +6 -1
  4. package/dist/hass.module.mjs.map +1 -1
  5. package/dist/helpers/addon.d.mts +20 -0
  6. package/dist/helpers/addon.mjs +2 -0
  7. package/dist/helpers/addon.mjs.map +1 -0
  8. package/dist/helpers/countries.d.mts +2 -0
  9. package/dist/helpers/countries.mjs +254 -0
  10. package/dist/helpers/countries.mjs.map +1 -0
  11. package/dist/helpers/frontend.d.mts +19 -0
  12. package/dist/helpers/frontend.mjs +2 -0
  13. package/dist/helpers/frontend.mjs.map +1 -0
  14. package/dist/helpers/index.d.mts +4 -0
  15. package/dist/helpers/index.mjs +4 -0
  16. package/dist/helpers/index.mjs.map +1 -1
  17. package/dist/helpers/interfaces.d.mts +8 -1
  18. package/dist/helpers/interfaces.mjs.map +1 -1
  19. package/dist/helpers/languages.d.mts +2 -0
  20. package/dist/helpers/languages.mjs +67 -0
  21. package/dist/helpers/languages.mjs.map +1 -0
  22. package/dist/mock_assistant/mock-assistant.module.d.mts +4 -0
  23. package/dist/services/addon.service.d.mts +3 -0
  24. package/dist/services/addon.service.mjs +15 -0
  25. package/dist/services/addon.service.mjs.map +1 -0
  26. package/dist/services/frontend.service.d.mts +3 -0
  27. package/dist/services/frontend.service.mjs +13 -0
  28. package/dist/services/frontend.service.mjs.map +1 -0
  29. package/dist/services/index.d.mts +2 -0
  30. package/dist/services/index.mjs +2 -0
  31. package/dist/services/index.mjs.map +1 -1
  32. package/dist/testing/addon.spec.d.mts +1 -0
  33. package/dist/testing/addon.spec.mjs +59 -0
  34. package/dist/testing/addon.spec.mjs.map +1 -0
  35. package/dist/testing/frontend.spec.d.mts +1 -0
  36. package/dist/testing/frontend.spec.mjs +60 -0
  37. package/dist/testing/frontend.spec.mjs.map +1 -0
  38. package/dist/user.d.mts +2 -0
  39. package/package.json +1 -1
  40. package/src/dev/mappings.mts +29 -0
  41. package/src/hass.module.mts +9 -0
  42. package/src/helpers/addon.mts +20 -0
  43. package/src/helpers/countries.mts +255 -0
  44. package/src/helpers/frontend.mts +19 -0
  45. package/src/helpers/index.mts +4 -0
  46. package/src/helpers/interfaces.mts +10 -0
  47. package/src/helpers/languages.mts +67 -0
  48. package/src/services/addon.service.mts +19 -0
  49. package/src/services/frontend.service.mts +20 -0
  50. package/src/services/index.mts +2 -0
  51. package/src/testing/addon.spec.mts +65 -0
  52. package/src/testing/frontend.spec.mts +66 -0
  53. package/src/user.mts +4 -0
@@ -86,5 +86,33 @@ declare module "../user.mts" {
86
86
  _downstairs: "switch.kitchen_cabinets" | "switch.living_room_mood_lights";
87
87
  _upstairs: "switch.bedroom_lamp";
88
88
  }
89
+ interface HassThemeMapping {
90
+ "(DO NOT USE/MODIFY)=== LCARS variables": true;
91
+ "(DO NOT USE/MODIFY)=== Base customizations": true;
92
+ "(DO NOT USE/MODIFY)=== card-mod CSS": true;
93
+ "LCARS Default": true;
94
+ "LCARS Classic": true;
95
+ "LCARS Nemesis Blue": true;
96
+ "LCARS Lower Decks I": true;
97
+ "LCARS Lower Decks II": true;
98
+ "LCARS Romulus": true;
99
+ "LCARS Kronos": true;
100
+ "LCARS Cardassia": true;
101
+ "LCARS Zeldaar": true;
102
+ "LCARS Modern": true;
103
+ "LCARS Picard I": true;
104
+ "LCARS Picard II": true;
105
+ "LCARS Red Alert": true;
106
+ "LCARS TNG": true;
107
+ "LCARS TNGbuttons": true;
108
+ "LCARS Transporter": true;
109
+ "LCARS Navigation": true;
110
+ "LCARS 25C": true;
111
+ "LCARS 25C (Red Alert)": true;
112
+ "LCARS 25C (Yellow Alert)": true;
113
+ "LCARS 25C (Blue Alert)": true;
114
+ "LCARS Breen": true;
115
+ "Minimal Ninja": "light" | "dark";
116
+ }
89
117
  }
90
118
  export {};
@@ -1,5 +1,6 @@
1
- import { Area, Backup, CallProxy, Configure, Device, EntityManager, EventsService, FetchAPI, FetchInternals, Floor, HassDiagnosticsService, HassFeatureService, IDByExtension, Label, ReferenceService, Registry, WebsocketAPI, Zone } from "./services/index.mts";
1
+ import { AddonService, Area, Backup, CallProxy, Configure, Device, EntityManager, EventsService, FetchAPI, FetchInternals, Floor, FrontendService, HassDiagnosticsService, HassFeatureService, IDByExtension, Label, ReferenceService, Registry, WebsocketAPI, Zone } from "./services/index.mts";
2
2
  export declare const LIB_HASS: import("@digital-alchemy/core").LibraryDefinition<{
3
+ addon: typeof AddonService;
3
4
  /**
4
5
  * home assistant areas
5
6
  */
@@ -44,6 +45,10 @@ export declare const LIB_HASS: import("@digital-alchemy/core").LibraryDefinition
44
45
  * floors, like groups of areas
45
46
  */
46
47
  floor: typeof Floor;
48
+ /**
49
+ * frontend interactions
50
+ */
51
+ frontend: typeof FrontendService;
47
52
  /**
48
53
  * search for entity ids in a type safe way
49
54
  */
@@ -1,5 +1,5 @@
1
1
  import { CreateLibrary } from "@digital-alchemy/core";
2
- import { Area, Backup, CallProxy, Configure, Device, EntityManager, EventsService, FetchAPI, FetchInternals, Floor, HassDiagnosticsService, HassFeatureService, IDByExtension, Label, ReferenceService, Registry, WebsocketAPI, Zone, } from "./services/index.mjs";
2
+ import { AddonService, Area, Backup, CallProxy, Configure, Device, EntityManager, EventsService, FetchAPI, FetchInternals, Floor, FrontendService, HassDiagnosticsService, HassFeatureService, IDByExtension, Label, ReferenceService, Registry, WebsocketAPI, Zone, } from "./services/index.mjs";
3
3
  export const LIB_HASS = CreateLibrary({
4
4
  configuration: {
5
5
  /**
@@ -115,6 +115,7 @@ export const LIB_HASS = CreateLibrary({
115
115
  // no internal dependency ones first
116
116
  priorityInit: ["internals", "fetch", "socket"],
117
117
  services: {
118
+ addon: AddonService,
118
119
  /**
119
120
  * home assistant areas
120
121
  */
@@ -159,6 +160,10 @@ export const LIB_HASS = CreateLibrary({
159
160
  * floors, like groups of areas
160
161
  */
161
162
  floor: Floor,
163
+ /**
164
+ * frontend interactions
165
+ */
166
+ frontend: FrontendService,
162
167
  /**
163
168
  * search for entity ids in a type safe way
164
169
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hass.module.mjs","sourceRoot":"","sources":["../src/hass.module.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hass.module.mjs","sourceRoot":"","sources":["../src/hass.module.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface AddonDetails {
2
+ name: string;
3
+ slug: string;
4
+ description: string;
5
+ advanced: boolean;
6
+ stage: string;
7
+ version: string;
8
+ version_latest: string;
9
+ update_available: boolean;
10
+ available: boolean;
11
+ detached: boolean;
12
+ homeassistant: string;
13
+ state: "started" | "stopped" | "error";
14
+ repository: string;
15
+ build: boolean;
16
+ url: string;
17
+ icon: boolean;
18
+ logo: boolean;
19
+ system_managed: boolean;
20
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=addon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.mjs","sourceRoot":"","sources":["../../src/helpers/addon.mts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const SUPPORTED_COUNTRIES: readonly ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"];
2
+ export type SupportedCountries = (typeof SUPPORTED_COUNTRIES)[number];
@@ -0,0 +1,254 @@
1
+ // This is duplicated from a generated file from home assistant core
2
+ // Will only modify this list to match what HA supports
3
+ export const SUPPORTED_COUNTRIES = [
4
+ "AD",
5
+ "AE",
6
+ "AF",
7
+ "AG",
8
+ "AI",
9
+ "AL",
10
+ "AM",
11
+ "AO",
12
+ "AQ",
13
+ "AR",
14
+ "AS",
15
+ "AT",
16
+ "AU",
17
+ "AW",
18
+ "AX",
19
+ "AZ",
20
+ "BA",
21
+ "BB",
22
+ "BD",
23
+ "BE",
24
+ "BF",
25
+ "BG",
26
+ "BH",
27
+ "BI",
28
+ "BJ",
29
+ "BL",
30
+ "BM",
31
+ "BN",
32
+ "BO",
33
+ "BQ",
34
+ "BR",
35
+ "BS",
36
+ "BT",
37
+ "BV",
38
+ "BW",
39
+ "BY",
40
+ "BZ",
41
+ "CA",
42
+ "CC",
43
+ "CD",
44
+ "CF",
45
+ "CG",
46
+ "CH",
47
+ "CI",
48
+ "CK",
49
+ "CL",
50
+ "CM",
51
+ "CN",
52
+ "CO",
53
+ "CR",
54
+ "CU",
55
+ "CV",
56
+ "CW",
57
+ "CX",
58
+ "CY",
59
+ "CZ",
60
+ "DE",
61
+ "DJ",
62
+ "DK",
63
+ "DM",
64
+ "DO",
65
+ "DZ",
66
+ "EC",
67
+ "EE",
68
+ "EG",
69
+ "EH",
70
+ "ER",
71
+ "ES",
72
+ "ET",
73
+ "FI",
74
+ "FJ",
75
+ "FK",
76
+ "FM",
77
+ "FO",
78
+ "FR",
79
+ "GA",
80
+ "GB",
81
+ "GD",
82
+ "GE",
83
+ "GF",
84
+ "GG",
85
+ "GH",
86
+ "GI",
87
+ "GL",
88
+ "GM",
89
+ "GN",
90
+ "GP",
91
+ "GQ",
92
+ "GR",
93
+ "GS",
94
+ "GT",
95
+ "GU",
96
+ "GW",
97
+ "GY",
98
+ "HK",
99
+ "HM",
100
+ "HN",
101
+ "HR",
102
+ "HT",
103
+ "HU",
104
+ "ID",
105
+ "IE",
106
+ "IL",
107
+ "IM",
108
+ "IN",
109
+ "IO",
110
+ "IQ",
111
+ "IR",
112
+ "IS",
113
+ "IT",
114
+ "JE",
115
+ "JM",
116
+ "JO",
117
+ "JP",
118
+ "KE",
119
+ "KG",
120
+ "KH",
121
+ "KI",
122
+ "KM",
123
+ "KN",
124
+ "KP",
125
+ "KR",
126
+ "KW",
127
+ "KY",
128
+ "KZ",
129
+ "LA",
130
+ "LB",
131
+ "LC",
132
+ "LI",
133
+ "LK",
134
+ "LR",
135
+ "LS",
136
+ "LT",
137
+ "LU",
138
+ "LV",
139
+ "LY",
140
+ "MA",
141
+ "MC",
142
+ "MD",
143
+ "ME",
144
+ "MF",
145
+ "MG",
146
+ "MH",
147
+ "MK",
148
+ "ML",
149
+ "MM",
150
+ "MN",
151
+ "MO",
152
+ "MP",
153
+ "MQ",
154
+ "MR",
155
+ "MS",
156
+ "MT",
157
+ "MU",
158
+ "MV",
159
+ "MW",
160
+ "MX",
161
+ "MY",
162
+ "MZ",
163
+ "NA",
164
+ "NC",
165
+ "NE",
166
+ "NF",
167
+ "NG",
168
+ "NI",
169
+ "NL",
170
+ "NO",
171
+ "NP",
172
+ "NR",
173
+ "NU",
174
+ "NZ",
175
+ "OM",
176
+ "PA",
177
+ "PE",
178
+ "PF",
179
+ "PG",
180
+ "PH",
181
+ "PK",
182
+ "PL",
183
+ "PM",
184
+ "PN",
185
+ "PR",
186
+ "PS",
187
+ "PT",
188
+ "PW",
189
+ "PY",
190
+ "QA",
191
+ "RE",
192
+ "RO",
193
+ "RS",
194
+ "RU",
195
+ "RW",
196
+ "SA",
197
+ "SB",
198
+ "SC",
199
+ "SD",
200
+ "SE",
201
+ "SG",
202
+ "SH",
203
+ "SI",
204
+ "SJ",
205
+ "SK",
206
+ "SL",
207
+ "SM",
208
+ "SN",
209
+ "SO",
210
+ "SR",
211
+ "SS",
212
+ "ST",
213
+ "SV",
214
+ "SX",
215
+ "SY",
216
+ "SZ",
217
+ "TC",
218
+ "TD",
219
+ "TF",
220
+ "TG",
221
+ "TH",
222
+ "TJ",
223
+ "TK",
224
+ "TL",
225
+ "TM",
226
+ "TN",
227
+ "TO",
228
+ "TR",
229
+ "TT",
230
+ "TV",
231
+ "TW",
232
+ "TZ",
233
+ "UA",
234
+ "UG",
235
+ "UM",
236
+ "US",
237
+ "UY",
238
+ "UZ",
239
+ "VA",
240
+ "VC",
241
+ "VE",
242
+ "VG",
243
+ "VI",
244
+ "VN",
245
+ "VU",
246
+ "WF",
247
+ "WS",
248
+ "YE",
249
+ "YT",
250
+ "ZA",
251
+ "ZM",
252
+ "ZW",
253
+ ];
254
+ //# sourceMappingURL=countries.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countries.mjs","sourceRoot":"","sources":["../../src/helpers/countries.mts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,uDAAuD;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface ThemeDefinition {
2
+ "accent-color"?: string;
3
+ "app-header-background-color"?: string;
4
+ "app-header-edit-background-color"?: string;
5
+ "app-header-text-color"?: string;
6
+ "card-mod-root-yaml"?: string;
7
+ "divider-color"?: string;
8
+ "ha-card-border-radius"?: string;
9
+ "ha-card-border-width"?: string;
10
+ "paper-listbox-background-color"?: string;
11
+ "primary-color"?: string;
12
+ "sidebar-background-color"?: string;
13
+ "sidebar-menu-button-background-color"?: string;
14
+ modes?: {
15
+ light?: Record<string, unknown>;
16
+ dark?: Record<string, unknown>;
17
+ };
18
+ [key: string]: unknown;
19
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=frontend.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.mjs","sourceRoot":"","sources":["../../src/helpers/frontend.mts"],"names":[],"mappings":""}
@@ -1,12 +1,16 @@
1
+ export * from "./addon.mts";
1
2
  export * from "./backup.mts";
2
3
  export * from "./constants.mts";
4
+ export * from "./countries.mts";
3
5
  export * from "./device.mts";
4
6
  export * from "./entity-state.mts";
5
7
  export * from "./features.mts";
6
8
  export * from "./fetch.mts";
7
9
  export * from "./fetch/index.mts";
10
+ export * from "./frontend.mts";
8
11
  export * from "./id-by.mts";
9
12
  export * from "./interfaces.mts";
13
+ export * from "./languages.mts";
10
14
  export * from "./notify.mts";
11
15
  export * from "./registry.mts";
12
16
  export * from "./supported-features.mts";
@@ -1,12 +1,16 @@
1
+ export * from "./addon.mjs";
1
2
  export * from "./backup.mjs";
2
3
  export * from "./constants.mjs";
4
+ export * from "./countries.mjs";
3
5
  export * from "./device.mjs";
4
6
  export * from "./entity-state.mjs";
5
7
  export * from "./features.mjs";
6
8
  export * from "./fetch.mjs";
7
9
  export * from "./fetch/index.mjs";
10
+ export * from "./frontend.mjs";
8
11
  export * from "./id-by.mjs";
9
12
  export * from "./interfaces.mjs";
13
+ export * from "./languages.mjs";
10
14
  export * from "./notify.mjs";
11
15
  export * from "./registry.mjs";
12
16
  export * from "./supported-features.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/helpers/index.mts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/helpers/index.mts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -2,7 +2,8 @@ import type { RemoveCallback, TBlackHole } from "@digital-alchemy/core";
2
2
  import type EventEmitter from "events";
3
3
  import type { EmptyObject } from "type-fest";
4
4
  import type WS from "ws";
5
- import type { ALL_DOMAINS, ANY_ENTITY, HassUniqueIdMapping, iCallService, PICK_ENTITY, PICK_FROM_AREA, PICK_FROM_DEVICE, PICK_FROM_FLOOR, PICK_FROM_LABEL, PICK_FROM_PLATFORM, TAreaId, TDeviceId, TFloorId, TLabelId, TPlatformId, TRawDomains, TRawEntityIds, TUniqueId } from "../user.mts";
5
+ import type { AddonDetails, ThemeDefinition } from "../index.mts";
6
+ import type { ALL_DOMAINS, ANY_ENTITY, HassThemeMapping, HassUniqueIdMapping, iCallService, PICK_ENTITY, PICK_FROM_AREA, PICK_FROM_DEVICE, PICK_FROM_FLOOR, PICK_FROM_LABEL, PICK_FROM_PLATFORM, TAreaId, TDeviceId, TFloorId, TLabelId, TPlatformId, TRawDomains, TRawEntityIds, TUniqueId } from "../user.mts";
6
7
  import type { BackupResponse, HomeAssistantBackup } from "./backup.mts";
7
8
  import type { DeviceDetails } from "./device.mts";
8
9
  import type { ByIdProxy } from "./entity-state.mts";
@@ -10,6 +11,12 @@ import type { AreaCreate, AreaDetails, ConfigEntry, HassConfig, HassServiceDTO }
10
11
  import type { EditAliasOptions, EditLabelOptions, EntityRegistryItem, FloorCreate, FloorDetails, LabelDefinition, LabelOptions, ManifestItem, ToggleExpose, UpdateCoreOptions, ZoneDetails, ZoneOptions } from "./registry.mts";
11
12
  import type { ALL_SERVICE_DOMAINS, ENTITY_STATE } from "./utility.mts";
12
13
  import type { EntityHistoryDTO, EntityHistoryResult, OnHassEventOptions, SocketSubscribeOptions } from "./websocket.mts";
14
+ export type HassAddonService = {
15
+ list: () => Promise<AddonDetails[]>;
16
+ };
17
+ export type HassFrontendService = {
18
+ getThemes: () => Promise<Record<keyof HassThemeMapping, ThemeDefinition>>;
19
+ };
13
20
  export type HassAreaService = {
14
21
  apply: (area: TAreaId, entities: ANY_ENTITY[]) => Promise<{
15
22
  updated: ANY_ENTITY[];
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.mjs","sourceRoot":"","sources":["../../src/helpers/interfaces.mts"],"names":[],"mappings":"AAmMA,wDAAwD;AACxD,MAAM,CAAN,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6EAAW,CAAA;IACX,mFAAc,CAAA;IACd,iFAAa,CAAA;IACb,6EAAW,CAAA;IACX,6EAAW,CAAA;AACb,CAAC,EANW,wBAAwB,KAAxB,wBAAwB,QAMnC"}
1
+ {"version":3,"file":"interfaces.mjs","sourceRoot":"","sources":["../../src/helpers/interfaces.mts"],"names":[],"mappings":"AA6MA,wDAAwD;AACxD,MAAM,CAAN,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6EAAW,CAAA;IACX,mFAAc,CAAA;IACd,iFAAa,CAAA;IACb,6EAAW,CAAA;IACX,6EAAW,CAAA;AACb,CAAC,EANW,wBAAwB,KAAxB,wBAAwB,QAMnC"}
@@ -0,0 +1,2 @@
1
+ export declare const SUPPORTED_LANGUAGES: string[];
2
+ export type SupportedLanguages = (typeof SUPPORTED_LANGUAGES)[number];
@@ -0,0 +1,67 @@
1
+ export const SUPPORTED_LANGUAGES = [
2
+ "af",
3
+ "ar",
4
+ "bg",
5
+ "bn",
6
+ "bs",
7
+ "ca",
8
+ "cs",
9
+ "cy",
10
+ "da",
11
+ "de",
12
+ "el",
13
+ "en",
14
+ "en-GB",
15
+ "eo",
16
+ "es",
17
+ "es-419",
18
+ "et",
19
+ "eu",
20
+ "fa",
21
+ "fi",
22
+ "fr",
23
+ "fy",
24
+ "ga",
25
+ "gl",
26
+ "gsw",
27
+ "he",
28
+ "hi",
29
+ "hr",
30
+ "hu",
31
+ "hy",
32
+ "id",
33
+ "is",
34
+ "it",
35
+ "ja",
36
+ "ka",
37
+ "ko",
38
+ "lb",
39
+ "lt",
40
+ "lv",
41
+ "mk",
42
+ "ml",
43
+ "nb",
44
+ "nl",
45
+ "nn",
46
+ "pl",
47
+ "pt",
48
+ "pt-BR",
49
+ "ro",
50
+ "ru",
51
+ "sk",
52
+ "sl",
53
+ "sq",
54
+ "sr",
55
+ "sr-Latn",
56
+ "sv",
57
+ "ta",
58
+ "te",
59
+ "th",
60
+ "tr",
61
+ "uk",
62
+ "ur",
63
+ "vi",
64
+ "zh-Hans",
65
+ "zh-Hant",
66
+ ];
67
+ //# sourceMappingURL=languages.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.mjs","sourceRoot":"","sources":["../../src/helpers/languages.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,SAAS;CACV,CAAC"}
@@ -40,6 +40,7 @@ declare module "@digital-alchemy/core" {
40
40
  * Make your own
41
41
  */
42
42
  export declare const createTestRunner: () => import("@digital-alchemy/core").iTestRunner<{
43
+ addon: typeof import("../index.mts").AddonService;
43
44
  area: typeof import("../index.mts").Area;
44
45
  backup: typeof import("../index.mts").Backup;
45
46
  call: typeof import("../index.mts").CallProxy;
@@ -51,6 +52,7 @@ export declare const createTestRunner: () => import("@digital-alchemy/core").iTe
51
52
  feature: typeof import("../index.mts").HassFeatureService;
52
53
  fetch: typeof import("../index.mts").FetchAPI;
53
54
  floor: typeof import("../index.mts").Floor;
55
+ frontend: typeof import("../index.mts").FrontendService;
54
56
  idBy: typeof import("../index.mts").IDByExtension;
55
57
  internals: typeof import("../index.mts").FetchInternals;
56
58
  label: typeof import("../index.mts").Label;
@@ -116,6 +118,7 @@ export declare const createTestRunner: () => import("@digital-alchemy/core").iTe
116
118
  };
117
119
  }>;
118
120
  export declare const hassTestRunner: import("@digital-alchemy/core").iTestRunner<{
121
+ addon: typeof import("../index.mts").AddonService;
119
122
  area: typeof import("../index.mts").Area;
120
123
  backup: typeof import("../index.mts").Backup;
121
124
  call: typeof import("../index.mts").CallProxy;
@@ -127,6 +130,7 @@ export declare const hassTestRunner: import("@digital-alchemy/core").iTestRunner
127
130
  feature: typeof import("../index.mts").HassFeatureService;
128
131
  fetch: typeof import("../index.mts").FetchAPI;
129
132
  floor: typeof import("../index.mts").Floor;
133
+ frontend: typeof import("../index.mts").FrontendService;
130
134
  idBy: typeof import("../index.mts").IDByExtension;
131
135
  internals: typeof import("../index.mts").FetchInternals;
132
136
  label: typeof import("../index.mts").Label;
@@ -0,0 +1,3 @@
1
+ import type { TServiceParams } from "@digital-alchemy/core";
2
+ import type { HassAddonService } from "../index.mts";
3
+ export declare function AddonService({ hass, logger }: TServiceParams): HassAddonService;
@@ -0,0 +1,15 @@
1
+ export function AddonService({ hass, logger }) {
2
+ async function list() {
3
+ logger.trace({ name: "list" }, "fetching addon list");
4
+ const { addons } = await hass.socket.sendMessage({
5
+ endpoint: "/addons",
6
+ method: "get",
7
+ type: "supervisor/api",
8
+ });
9
+ return addons;
10
+ }
11
+ return {
12
+ list,
13
+ };
14
+ }
15
+ //# sourceMappingURL=addon.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.service.mjs","sourceRoot":"","sources":["../../src/services/addon.service.mts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB;IAC3D,KAAK,UAAU,IAAI;QACjB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAA6B;YAC3E,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TServiceParams } from "@digital-alchemy/core";
2
+ import type { HassFrontendService } from "../index.mts";
3
+ export declare function FrontendService({ hass, logger }: TServiceParams): HassFrontendService;
@@ -0,0 +1,13 @@
1
+ export function FrontendService({ hass, logger }) {
2
+ async function getThemes() {
3
+ logger.trace({ name: "getThemes" }, "fetching themes");
4
+ const result = await hass.socket.sendMessage({
5
+ type: "frontend/get_themes",
6
+ });
7
+ return result.themes;
8
+ }
9
+ return {
10
+ getThemes,
11
+ };
12
+ }
13
+ //# sourceMappingURL=frontend.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.service.mjs","sourceRoot":"","sources":["../../src/services/frontend.service.mts"],"names":[],"mappings":"AAKA,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB;IAC9D,KAAK,UAAU,SAAS;QACtB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAEzC;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./addon.service.mts";
1
2
  export * from "./area.service.mts";
2
3
  export * from "./backup.service.mts";
3
4
  export * from "./call-proxy.service.mts";
@@ -9,6 +10,7 @@ export * from "./events.service.mts";
9
10
  export * from "./feature.service.mts";
10
11
  export * from "./fetch-api.service.mts";
11
12
  export * from "./floor.service.mts";
13
+ export * from "./frontend.service.mts";
12
14
  export * from "./id-by.service.mts";
13
15
  export * from "./internal.service.mts";
14
16
  export * from "./label.service.mts";