matterbridge-lg-thinq-plugin 0.1.0 → 0.1.1-rc01

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 (458) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +101 -0
  3. package/dist/cli/commands/devices.d.ts +4 -0
  4. package/dist/cli/commands/devices.d.ts.map +1 -0
  5. package/dist/cli/commands/devices.js +1 -0
  6. package/dist/cli/commands/devices.js.map +1 -0
  7. package/dist/cli/commands/energy.d.ts +12 -0
  8. package/dist/cli/commands/energy.d.ts.map +1 -0
  9. package/dist/cli/commands/energy.js +2 -0
  10. package/dist/cli/commands/energy.js.map +1 -0
  11. package/dist/cli/commands/login.d.ts +4 -0
  12. package/dist/cli/commands/login.d.ts.map +1 -0
  13. package/dist/cli/commands/login.js +2 -0
  14. package/dist/cli/commands/login.js.map +1 -0
  15. package/dist/cli/help.d.ts +2 -0
  16. package/dist/cli/help.d.ts.map +1 -0
  17. package/dist/cli/help.js +7 -6
  18. package/dist/cli/help.js.map +1 -0
  19. package/dist/cli/main.d.ts +2 -0
  20. package/dist/cli/main.d.ts.map +1 -0
  21. package/dist/cli/main.js +2 -1
  22. package/dist/cli/main.js.map +1 -0
  23. package/dist/cli/session.d.ts +4 -0
  24. package/dist/cli/session.d.ts.map +1 -0
  25. package/dist/cli/session.js +1 -0
  26. package/dist/cli/session.js.map +1 -0
  27. package/dist/cli/types.d.ts +9 -0
  28. package/dist/cli/types.d.ts.map +1 -0
  29. package/dist/cli/types.js +1 -0
  30. package/dist/cli/types.js.map +1 -0
  31. package/dist/cli/utils.d.ts +4 -0
  32. package/dist/cli/utils.d.ts.map +1 -0
  33. package/dist/cli/utils.js +1 -0
  34. package/dist/cli/utils.js.map +1 -0
  35. package/dist/cli.d.ts +2 -0
  36. package/dist/cli.d.ts.map +1 -0
  37. package/dist/cli.js +1 -0
  38. package/dist/cli.js.map +1 -0
  39. package/dist/constants/index.d.ts +8 -0
  40. package/dist/constants/index.d.ts.map +1 -0
  41. package/dist/constants/index.js +7 -0
  42. package/dist/constants/index.js.map +1 -0
  43. package/dist/core/domain/entities/ThinqDevice.d.ts +27 -0
  44. package/dist/core/domain/entities/ThinqDevice.d.ts.map +1 -0
  45. package/dist/core/domain/entities/ThinqDevice.js +3 -0
  46. package/dist/core/domain/entities/ThinqDevice.js.map +1 -0
  47. package/dist/core/domain/entities/ThinqDevice.test.d.ts +2 -0
  48. package/dist/core/domain/entities/ThinqDevice.test.d.ts.map +1 -0
  49. package/dist/core/domain/entities/ThinqDevice.test.js +176 -0
  50. package/dist/core/domain/entities/ThinqDevice.test.js.map +1 -0
  51. package/dist/core/domain/value-objects/AirConditionerCapabilities.d.ts +19 -0
  52. package/dist/core/domain/value-objects/AirConditionerCapabilities.d.ts.map +1 -0
  53. package/dist/core/domain/value-objects/AirConditionerCapabilities.js +6 -0
  54. package/dist/core/domain/value-objects/AirConditionerCapabilities.js.map +1 -0
  55. package/dist/core/domain/value-objects/ThinqFilterState.d.ts +21 -0
  56. package/dist/core/domain/value-objects/ThinqFilterState.d.ts.map +1 -0
  57. package/dist/core/domain/value-objects/ThinqFilterState.js +11 -0
  58. package/dist/core/domain/value-objects/ThinqFilterState.js.map +1 -0
  59. package/dist/core/domain/value-objects/ThinqSnapshot.d.ts +38 -0
  60. package/dist/core/domain/value-objects/ThinqSnapshot.d.ts.map +1 -0
  61. package/dist/core/domain/value-objects/ThinqSnapshot.js +9 -0
  62. package/dist/core/domain/value-objects/ThinqSnapshot.js.map +1 -0
  63. package/dist/errors/AuthenticationError.d.ts +18 -0
  64. package/dist/errors/AuthenticationError.d.ts.map +1 -0
  65. package/dist/errors/AuthenticationError.js +5 -0
  66. package/dist/errors/AuthenticationError.js.map +1 -0
  67. package/dist/errors/BaseError.d.ts +23 -0
  68. package/dist/errors/BaseError.d.ts.map +1 -0
  69. package/dist/errors/BaseError.js +16 -0
  70. package/dist/errors/BaseError.js.map +1 -0
  71. package/dist/errors/index.d.ts +16 -0
  72. package/dist/errors/index.d.ts.map +1 -0
  73. package/dist/errors/index.js +16 -0
  74. package/dist/errors/index.js.map +1 -0
  75. package/dist/model/LgThinqPluginPlatformConfig.d.ts +59 -0
  76. package/dist/model/LgThinqPluginPlatformConfig.d.ts.map +1 -0
  77. package/dist/model/LgThinqPluginPlatformConfig.js +1 -0
  78. package/dist/model/LgThinqPluginPlatformConfig.js.map +1 -0
  79. package/dist/module.d.ts +35 -0
  80. package/dist/module.d.ts.map +1 -0
  81. package/dist/module.js +16 -1
  82. package/dist/module.js.map +1 -0
  83. package/dist/platform/deviceRegistry.d.ts +37 -0
  84. package/dist/platform/deviceRegistry.d.ts.map +1 -0
  85. package/dist/platform/deviceRegistry.js +27 -0
  86. package/dist/platform/deviceRegistry.js.map +1 -0
  87. package/dist/platform/platformConfigManager.d.ts +41 -0
  88. package/dist/platform/platformConfigManager.d.ts.map +1 -0
  89. package/dist/platform/platformConfigManager.js +11 -1
  90. package/dist/platform/platformConfigManager.js.map +1 -0
  91. package/dist/platform/platformState.d.ts +11 -0
  92. package/dist/platform/platformState.d.ts.map +1 -0
  93. package/dist/platform/platformState.js +6 -0
  94. package/dist/platform/platformState.js.map +1 -0
  95. package/dist/platform/thinq/thinqAirConditionerCommandHandlers.d.ts +16 -0
  96. package/dist/platform/thinq/thinqAirConditionerCommandHandlers.d.ts.map +1 -0
  97. package/dist/platform/thinq/thinqAirConditionerCommandHandlers.js +14 -0
  98. package/dist/platform/thinq/thinqAirConditionerCommandHandlers.js.map +1 -0
  99. package/dist/platform/thinq/thinqAirConditionerEndpointFactory.d.ts +27 -0
  100. package/dist/platform/thinq/thinqAirConditionerEndpointFactory.d.ts.map +1 -0
  101. package/dist/platform/thinq/thinqAirConditionerEndpointFactory.js +7 -0
  102. package/dist/platform/thinq/thinqAirConditionerEndpointFactory.js.map +1 -0
  103. package/dist/platform/thinq/thinqAirConditionerFilterResetCommandHandler.d.ts +23 -0
  104. package/dist/platform/thinq/thinqAirConditionerFilterResetCommandHandler.d.ts.map +1 -0
  105. package/dist/platform/thinq/thinqAirConditionerFilterResetCommandHandler.js +14 -0
  106. package/dist/platform/thinq/thinqAirConditionerFilterResetCommandHandler.js.map +1 -0
  107. package/dist/platform/thinq/thinqAirConditionerFilterStateSync.d.ts +13 -0
  108. package/dist/platform/thinq/thinqAirConditionerFilterStateSync.d.ts.map +1 -0
  109. package/dist/platform/thinq/thinqAirConditionerFilterStateSync.js +7 -0
  110. package/dist/platform/thinq/thinqAirConditionerFilterStateSync.js.map +1 -0
  111. package/dist/platform/thinq/thinqAirConditionerStateSync.d.ts +19 -0
  112. package/dist/platform/thinq/thinqAirConditionerStateSync.d.ts.map +1 -0
  113. package/dist/platform/thinq/thinqAirConditionerStateSync.js +23 -0
  114. package/dist/platform/thinq/thinqAirConditionerStateSync.js.map +1 -0
  115. package/dist/platform/thinq/thinqDeviceConfigReconciler.d.ts +12 -0
  116. package/dist/platform/thinq/thinqDeviceConfigReconciler.d.ts.map +1 -0
  117. package/dist/platform/thinq/thinqDeviceConfigReconciler.js +13 -1
  118. package/dist/platform/thinq/thinqDeviceConfigReconciler.js.map +1 -0
  119. package/dist/platform/thinq/thinqDeviceConfigurator.d.ts +41 -0
  120. package/dist/platform/thinq/thinqDeviceConfigurator.d.ts.map +1 -0
  121. package/dist/platform/thinq/thinqDeviceConfigurator.js +56 -2
  122. package/dist/platform/thinq/thinqDeviceConfigurator.js.map +1 -0
  123. package/dist/platform/thinq/thinqDeviceConfigurator.test.d.ts +2 -0
  124. package/dist/platform/thinq/thinqDeviceConfigurator.test.d.ts.map +1 -0
  125. package/dist/platform/thinq/thinqDeviceConfigurator.test.js +75 -0
  126. package/dist/platform/thinq/thinqDeviceConfigurator.test.js.map +1 -0
  127. package/dist/platform/thinq/thinqDeviceDiscovery.d.ts +17 -0
  128. package/dist/platform/thinq/thinqDeviceDiscovery.d.ts.map +1 -0
  129. package/dist/platform/thinq/thinqDeviceDiscovery.js +7 -0
  130. package/dist/platform/thinq/thinqDeviceDiscovery.js.map +1 -0
  131. package/dist/platform/thinq/thinqDeviceDiscovery.test.d.ts +2 -0
  132. package/dist/platform/thinq/thinqDeviceDiscovery.test.d.ts.map +1 -0
  133. package/dist/platform/thinq/thinqDeviceDiscovery.test.js +139 -0
  134. package/dist/platform/thinq/thinqDeviceDiscovery.test.js.map +1 -0
  135. package/dist/platform/thinq/thinqWasherCommandHandlers.d.ts +15 -0
  136. package/dist/platform/thinq/thinqWasherCommandHandlers.d.ts.map +1 -0
  137. package/dist/platform/thinq/thinqWasherCommandHandlers.js +103 -21
  138. package/dist/platform/thinq/thinqWasherCommandHandlers.js.map +1 -0
  139. package/dist/platform/thinq/thinqWasherEndpointFactory.d.ts +25 -0
  140. package/dist/platform/thinq/thinqWasherEndpointFactory.d.ts.map +1 -0
  141. package/dist/platform/thinq/thinqWasherEndpointFactory.js +18 -0
  142. package/dist/platform/thinq/thinqWasherEndpointFactory.js.map +1 -0
  143. package/dist/platform/thinq/thinqWasherStartCommandResolver.d.ts +13 -0
  144. package/dist/platform/thinq/thinqWasherStartCommandResolver.d.ts.map +1 -0
  145. package/dist/platform/thinq/thinqWasherStartCommandResolver.js +76 -0
  146. package/dist/platform/thinq/thinqWasherStartCommandResolver.js.map +1 -0
  147. package/dist/platform/thinq/thinqWasherStateSync.d.ts +12 -0
  148. package/dist/platform/thinq/thinqWasherStateSync.d.ts.map +1 -0
  149. package/dist/platform/thinq/thinqWasherStateSync.js +11 -0
  150. package/dist/platform/thinq/thinqWasherStateSync.js.map +1 -0
  151. package/dist/platform/thinq/thinqWasherStopCommandResolver.d.ts +13 -0
  152. package/dist/platform/thinq/thinqWasherStopCommandResolver.d.ts.map +1 -0
  153. package/dist/platform/thinq/thinqWasherStopCommandResolver.js +6 -0
  154. package/dist/platform/thinq/thinqWasherStopCommandResolver.js.map +1 -0
  155. package/dist/services/authentication/AccountAuthStrategy.d.ts +17 -0
  156. package/dist/services/authentication/AccountAuthStrategy.d.ts.map +1 -0
  157. package/dist/services/authentication/AccountAuthStrategy.js +7 -0
  158. package/dist/services/authentication/AccountAuthStrategy.js.map +1 -0
  159. package/dist/services/authentication/AccountAuthStrategy.test.d.ts +2 -0
  160. package/dist/services/authentication/AccountAuthStrategy.test.d.ts.map +1 -0
  161. package/dist/services/authentication/AccountAuthStrategy.test.js +279 -0
  162. package/dist/services/authentication/AccountAuthStrategy.test.js.map +1 -0
  163. package/dist/services/authentication/AuthContext.d.ts +19 -0
  164. package/dist/services/authentication/AuthContext.d.ts.map +1 -0
  165. package/dist/services/authentication/AuthContext.js +1 -0
  166. package/dist/services/authentication/AuthContext.js.map +1 -0
  167. package/dist/services/authentication/AuthenticationCoordinator.d.ts +27 -0
  168. package/dist/services/authentication/AuthenticationCoordinator.d.ts.map +1 -0
  169. package/dist/services/authentication/AuthenticationCoordinator.js +14 -0
  170. package/dist/services/authentication/AuthenticationCoordinator.js.map +1 -0
  171. package/dist/services/authentication/AuthenticationCoordinator.test.d.ts +2 -0
  172. package/dist/services/authentication/AuthenticationCoordinator.test.d.ts.map +1 -0
  173. package/dist/services/authentication/AuthenticationCoordinator.test.js +166 -0
  174. package/dist/services/authentication/AuthenticationCoordinator.test.js.map +1 -0
  175. package/dist/services/authentication/IAuthStrategy.d.ts +10 -0
  176. package/dist/services/authentication/IAuthStrategy.d.ts.map +1 -0
  177. package/dist/services/authentication/IAuthStrategy.js +1 -0
  178. package/dist/services/authentication/IAuthStrategy.js.map +1 -0
  179. package/dist/services/authentication/TokenAuthStrategy.d.ts +15 -0
  180. package/dist/services/authentication/TokenAuthStrategy.d.ts.map +1 -0
  181. package/dist/services/authentication/TokenAuthStrategy.js +5 -0
  182. package/dist/services/authentication/TokenAuthStrategy.js.map +1 -0
  183. package/dist/services/authentication/TokenAuthStrategy.test.d.ts +2 -0
  184. package/dist/services/authentication/TokenAuthStrategy.test.d.ts.map +1 -0
  185. package/dist/services/authentication/TokenAuthStrategy.test.js +112 -0
  186. package/dist/services/authentication/TokenAuthStrategy.test.js.map +1 -0
  187. package/dist/services/authentication/UserDataRepository.d.ts +18 -0
  188. package/dist/services/authentication/UserDataRepository.d.ts.map +1 -0
  189. package/dist/services/authentication/UserDataRepository.js +5 -0
  190. package/dist/services/authentication/UserDataRepository.js.map +1 -0
  191. package/dist/services/authentication/UserDataRepository.test.d.ts +2 -0
  192. package/dist/services/authentication/UserDataRepository.test.d.ts.map +1 -0
  193. package/dist/services/authentication/UserDataRepository.test.js +113 -0
  194. package/dist/services/authentication/UserDataRepository.test.js.map +1 -0
  195. package/dist/services/thinq/gateway.d.ts +32 -0
  196. package/dist/services/thinq/gateway.d.ts.map +1 -0
  197. package/dist/services/thinq/gateway.js +6 -0
  198. package/dist/services/thinq/gateway.js.map +1 -0
  199. package/dist/services/thinq/mqtt/mqttCertificate.d.ts +32 -0
  200. package/dist/services/thinq/mqtt/mqttCertificate.d.ts.map +1 -0
  201. package/dist/services/thinq/mqtt/mqttCertificate.js +7 -0
  202. package/dist/services/thinq/mqtt/mqttCertificate.js.map +1 -0
  203. package/dist/services/thinq/mqtt/mqttCertificate.test.d.ts +2 -0
  204. package/dist/services/thinq/mqtt/mqttCertificate.test.d.ts.map +1 -0
  205. package/dist/services/thinq/mqtt/mqttCertificate.test.js +260 -0
  206. package/dist/services/thinq/mqtt/mqttCertificate.test.js.map +1 -0
  207. package/dist/services/thinq/mqtt/mqttConnectionEvents.d.ts +25 -0
  208. package/dist/services/thinq/mqtt/mqttConnectionEvents.d.ts.map +1 -0
  209. package/dist/services/thinq/mqtt/mqttConnectionEvents.js +2 -0
  210. package/dist/services/thinq/mqtt/mqttConnectionEvents.js.map +1 -0
  211. package/dist/services/thinq/mqtt/mqttConnectionEvents.test.d.ts +2 -0
  212. package/dist/services/thinq/mqtt/mqttConnectionEvents.test.d.ts.map +1 -0
  213. package/dist/services/thinq/mqtt/mqttConnectionEvents.test.js +222 -0
  214. package/dist/services/thinq/mqtt/mqttConnectionEvents.test.js.map +1 -0
  215. package/dist/services/thinq/mqtt/mqttKeyRepository.d.ts +14 -0
  216. package/dist/services/thinq/mqtt/mqttKeyRepository.d.ts.map +1 -0
  217. package/dist/services/thinq/mqtt/mqttKeyRepository.js +4 -0
  218. package/dist/services/thinq/mqtt/mqttKeyRepository.js.map +1 -0
  219. package/dist/services/thinq/mqtt/mqttKeyRepository.test.d.ts +2 -0
  220. package/dist/services/thinq/mqtt/mqttKeyRepository.test.d.ts.map +1 -0
  221. package/dist/services/thinq/mqtt/mqttKeyRepository.test.js +121 -0
  222. package/dist/services/thinq/mqtt/mqttKeyRepository.test.js.map +1 -0
  223. package/dist/services/thinq/mqtt/mqttRetry.d.ts +13 -0
  224. package/dist/services/thinq/mqtt/mqttRetry.d.ts.map +1 -0
  225. package/dist/services/thinq/mqtt/mqttRetry.js +2 -0
  226. package/dist/services/thinq/mqtt/mqttRetry.js.map +1 -0
  227. package/dist/services/thinq/mqtt/mqttRetry.test.d.ts +2 -0
  228. package/dist/services/thinq/mqtt/mqttRetry.test.d.ts.map +1 -0
  229. package/dist/services/thinq/mqtt/mqttRetry.test.js +189 -0
  230. package/dist/services/thinq/mqtt/mqttRetry.test.js.map +1 -0
  231. package/dist/services/thinq/mqtt/thinqMqttListener.d.ts +24 -0
  232. package/dist/services/thinq/mqtt/thinqMqttListener.d.ts.map +1 -0
  233. package/dist/services/thinq/mqtt/thinqMqttListener.js +6 -0
  234. package/dist/services/thinq/mqtt/thinqMqttListener.js.map +1 -0
  235. package/dist/services/thinq/mqtt/thinqMqttListener.test.d.ts +2 -0
  236. package/dist/services/thinq/mqtt/thinqMqttListener.test.d.ts.map +1 -0
  237. package/dist/services/thinq/mqtt/thinqMqttListener.test.js +251 -0
  238. package/dist/services/thinq/mqtt/thinqMqttListener.test.js.map +1 -0
  239. package/dist/services/thinq/serviceContainer.d.ts +38 -0
  240. package/dist/services/thinq/serviceContainer.d.ts.map +1 -0
  241. package/dist/services/thinq/serviceContainer.js +2 -0
  242. package/dist/services/thinq/serviceContainer.js.map +1 -0
  243. package/dist/services/thinq/serviceContainer.test.d.ts +2 -0
  244. package/dist/services/thinq/serviceContainer.test.d.ts.map +1 -0
  245. package/dist/services/thinq/serviceContainer.test.js +151 -0
  246. package/dist/services/thinq/serviceContainer.test.js.map +1 -0
  247. package/dist/services/thinq/session.d.ts +26 -0
  248. package/dist/services/thinq/session.d.ts.map +1 -0
  249. package/dist/services/thinq/session.js +3 -0
  250. package/dist/services/thinq/session.js.map +1 -0
  251. package/dist/services/thinq/session.test.d.ts +2 -0
  252. package/dist/services/thinq/session.test.d.ts.map +1 -0
  253. package/dist/services/thinq/session.test.js +211 -0
  254. package/dist/services/thinq/session.test.js.map +1 -0
  255. package/dist/services/thinq/thinqApiClient.d.ts +124 -0
  256. package/dist/services/thinq/thinqApiClient.d.ts.map +1 -0
  257. package/dist/services/thinq/thinqApiClient.js +53 -0
  258. package/dist/services/thinq/thinqApiClient.js.map +1 -0
  259. package/dist/services/thinq/thinqApiClient.test.d.ts +2 -0
  260. package/dist/services/thinq/thinqApiClient.test.d.ts.map +1 -0
  261. package/dist/services/thinq/thinqApiClient.test.js +550 -0
  262. package/dist/services/thinq/thinqApiClient.test.js.map +1 -0
  263. package/dist/services/thinq/thinqDeviceService.d.ts +29 -0
  264. package/dist/services/thinq/thinqDeviceService.d.ts.map +1 -0
  265. package/dist/services/thinq/thinqDeviceService.js +7 -0
  266. package/dist/services/thinq/thinqDeviceService.js.map +1 -0
  267. package/dist/services/thinq/thinqDeviceService.test.d.ts +2 -0
  268. package/dist/services/thinq/thinqDeviceService.test.d.ts.map +1 -0
  269. package/dist/services/thinq/thinqDeviceService.test.js +322 -0
  270. package/dist/services/thinq/thinqDeviceService.test.js.map +1 -0
  271. package/dist/services/thinq/thinqFilterMonitoringService.d.ts +19 -0
  272. package/dist/services/thinq/thinqFilterMonitoringService.d.ts.map +1 -0
  273. package/dist/services/thinq/thinqFilterMonitoringService.js +5 -0
  274. package/dist/services/thinq/thinqFilterMonitoringService.js.map +1 -0
  275. package/dist/services/thinq/thinqFilterMonitoringService.test.d.ts +2 -0
  276. package/dist/services/thinq/thinqFilterMonitoringService.test.d.ts.map +1 -0
  277. package/dist/services/thinq/thinqFilterMonitoringService.test.js +202 -0
  278. package/dist/services/thinq/thinqFilterMonitoringService.test.js.map +1 -0
  279. package/dist/settings.d.ts +5 -0
  280. package/dist/settings.d.ts.map +1 -0
  281. package/dist/settings.js +1 -0
  282. package/dist/settings.js.map +1 -0
  283. package/dist/tests/cli/commands/devices.test.d.ts +2 -0
  284. package/dist/tests/cli/commands/devices.test.d.ts.map +1 -0
  285. package/dist/tests/cli/commands/devices.test.js +258 -0
  286. package/dist/tests/cli/commands/devices.test.js.map +1 -0
  287. package/dist/tests/cli/commands/login.test.d.ts +2 -0
  288. package/dist/tests/cli/commands/login.test.d.ts.map +1 -0
  289. package/dist/tests/cli/commands/login.test.js +200 -0
  290. package/dist/tests/cli/commands/login.test.js.map +1 -0
  291. package/dist/tests/cli/help.test.d.ts +2 -0
  292. package/dist/tests/cli/help.test.d.ts.map +1 -0
  293. package/dist/tests/cli/help.test.js +38 -0
  294. package/dist/tests/cli/help.test.js.map +1 -0
  295. package/dist/tests/cli/main.test.d.ts +2 -0
  296. package/dist/tests/cli/main.test.d.ts.map +1 -0
  297. package/dist/tests/cli/main.test.js +174 -0
  298. package/dist/tests/cli/main.test.js.map +1 -0
  299. package/dist/tests/cli/session.test.d.ts +2 -0
  300. package/dist/tests/cli/session.test.d.ts.map +1 -0
  301. package/dist/tests/cli/session.test.js +167 -0
  302. package/dist/tests/cli/session.test.js.map +1 -0
  303. package/dist/tests/cli/utils.test.d.ts +2 -0
  304. package/dist/tests/cli/utils.test.d.ts.map +1 -0
  305. package/dist/tests/cli/utils.test.js +158 -0
  306. package/dist/tests/cli/utils.test.js.map +1 -0
  307. package/dist/tests/core/domain/value-objects/AirConditionerCapabilities.test.d.ts +2 -0
  308. package/dist/tests/core/domain/value-objects/AirConditionerCapabilities.test.d.ts.map +1 -0
  309. package/dist/tests/core/domain/value-objects/AirConditionerCapabilities.test.js +576 -0
  310. package/dist/tests/core/domain/value-objects/AirConditionerCapabilities.test.js.map +1 -0
  311. package/dist/tests/core/domain/value-objects/ThinqFilterState.test.d.ts +2 -0
  312. package/dist/tests/core/domain/value-objects/ThinqFilterState.test.d.ts.map +1 -0
  313. package/dist/tests/core/domain/value-objects/ThinqFilterState.test.js +157 -0
  314. package/dist/tests/core/domain/value-objects/ThinqFilterState.test.js.map +1 -0
  315. package/dist/tests/core/domain/value-objects/ThinqSnapshot.test.d.ts +2 -0
  316. package/dist/tests/core/domain/value-objects/ThinqSnapshot.test.d.ts.map +1 -0
  317. package/dist/tests/core/domain/value-objects/ThinqSnapshot.test.js +801 -0
  318. package/dist/tests/core/domain/value-objects/ThinqSnapshot.test.js.map +1 -0
  319. package/dist/tests/helpers/testUtils.d.ts +38 -0
  320. package/dist/tests/helpers/testUtils.d.ts.map +1 -0
  321. package/dist/tests/helpers/testUtils.js +22 -0
  322. package/dist/tests/helpers/testUtils.js.map +1 -0
  323. package/dist/tests/model/LgThinqPluginPlatformConfig.test.d.ts +2 -0
  324. package/dist/tests/model/LgThinqPluginPlatformConfig.test.d.ts.map +1 -0
  325. package/dist/tests/model/LgThinqPluginPlatformConfig.test.js +69 -0
  326. package/dist/tests/model/LgThinqPluginPlatformConfig.test.js.map +1 -0
  327. package/dist/tests/platform/deviceRegistry.test.d.ts +2 -0
  328. package/dist/tests/platform/deviceRegistry.test.d.ts.map +1 -0
  329. package/dist/tests/platform/deviceRegistry.test.js +141 -0
  330. package/dist/tests/platform/deviceRegistry.test.js.map +1 -0
  331. package/dist/tests/platform/platformConfigManager.test.d.ts +2 -0
  332. package/dist/tests/platform/platformConfigManager.test.d.ts.map +1 -0
  333. package/dist/tests/platform/platformConfigManager.test.js +689 -0
  334. package/dist/tests/platform/platformConfigManager.test.js.map +1 -0
  335. package/dist/tests/platform/platformState.test.d.ts +2 -0
  336. package/dist/tests/platform/platformState.test.d.ts.map +1 -0
  337. package/dist/tests/platform/platformState.test.js +34 -0
  338. package/dist/tests/platform/platformState.test.js.map +1 -0
  339. package/dist/tests/platform/thinq/thinqAirConditionerCommandHandlers.test.d.ts +2 -0
  340. package/dist/tests/platform/thinq/thinqAirConditionerCommandHandlers.test.d.ts.map +1 -0
  341. package/dist/tests/platform/thinq/thinqAirConditionerCommandHandlers.test.js +714 -0
  342. package/dist/tests/platform/thinq/thinqAirConditionerCommandHandlers.test.js.map +1 -0
  343. package/dist/tests/platform/thinq/thinqAirConditionerEndpointFactory.test.d.ts +2 -0
  344. package/dist/tests/platform/thinq/thinqAirConditionerEndpointFactory.test.d.ts.map +1 -0
  345. package/dist/tests/platform/thinq/thinqAirConditionerEndpointFactory.test.js +741 -0
  346. package/dist/tests/platform/thinq/thinqAirConditionerEndpointFactory.test.js.map +1 -0
  347. package/dist/tests/platform/thinq/thinqAirConditionerFilterResetCommandHandler.test.d.ts +2 -0
  348. package/dist/tests/platform/thinq/thinqAirConditionerFilterResetCommandHandler.test.d.ts.map +1 -0
  349. package/dist/tests/platform/thinq/thinqAirConditionerFilterResetCommandHandler.test.js +424 -0
  350. package/dist/tests/platform/thinq/thinqAirConditionerFilterResetCommandHandler.test.js.map +1 -0
  351. package/dist/tests/platform/thinq/thinqAirConditionerFilterStateSync.test.d.ts +2 -0
  352. package/dist/tests/platform/thinq/thinqAirConditionerFilterStateSync.test.d.ts.map +1 -0
  353. package/dist/tests/platform/thinq/thinqAirConditionerFilterStateSync.test.js +148 -0
  354. package/dist/tests/platform/thinq/thinqAirConditionerFilterStateSync.test.js.map +1 -0
  355. package/dist/tests/platform/thinq/thinqAirConditionerStateSync.test.d.ts +2 -0
  356. package/dist/tests/platform/thinq/thinqAirConditionerStateSync.test.d.ts.map +1 -0
  357. package/dist/tests/platform/thinq/thinqAirConditionerStateSync.test.js +1195 -0
  358. package/dist/tests/platform/thinq/thinqAirConditionerStateSync.test.js.map +1 -0
  359. package/dist/tests/platform/thinq/thinqDeviceConfigReconciler.test.d.ts +2 -0
  360. package/dist/tests/platform/thinq/thinqDeviceConfigReconciler.test.d.ts.map +1 -0
  361. package/dist/tests/platform/thinq/thinqDeviceConfigReconciler.test.js +237 -0
  362. package/dist/tests/platform/thinq/thinqDeviceConfigReconciler.test.js.map +1 -0
  363. package/dist/tests/platform/thinq/thinqDeviceConfigurator.test.d.ts +2 -0
  364. package/dist/tests/platform/thinq/thinqDeviceConfigurator.test.d.ts.map +1 -0
  365. package/dist/tests/platform/thinq/thinqDeviceConfigurator.test.js +455 -0
  366. package/dist/tests/platform/thinq/thinqDeviceConfigurator.test.js.map +1 -0
  367. package/dist/tests/platform/thinq/thinqWasherCommandHandlers.test.d.ts +2 -0
  368. package/dist/tests/platform/thinq/thinqWasherCommandHandlers.test.d.ts.map +1 -0
  369. package/dist/tests/platform/thinq/thinqWasherCommandHandlers.test.js +585 -0
  370. package/dist/tests/platform/thinq/thinqWasherCommandHandlers.test.js.map +1 -0
  371. package/dist/tests/platform/thinq/thinqWasherEndpointFactory.test.d.ts +2 -0
  372. package/dist/tests/platform/thinq/thinqWasherEndpointFactory.test.d.ts.map +1 -0
  373. package/dist/tests/platform/thinq/thinqWasherEndpointFactory.test.js +98 -0
  374. package/dist/tests/platform/thinq/thinqWasherEndpointFactory.test.js.map +1 -0
  375. package/dist/tests/platform/thinq/thinqWasherStartCommandResolver.test.d.ts +2 -0
  376. package/dist/tests/platform/thinq/thinqWasherStartCommandResolver.test.d.ts.map +1 -0
  377. package/dist/tests/platform/thinq/thinqWasherStartCommandResolver.test.js +934 -0
  378. package/dist/tests/platform/thinq/thinqWasherStartCommandResolver.test.js.map +1 -0
  379. package/dist/tests/platform/thinq/thinqWasherStateSync.test.d.ts +2 -0
  380. package/dist/tests/platform/thinq/thinqWasherStateSync.test.d.ts.map +1 -0
  381. package/dist/tests/platform/thinq/thinqWasherStateSync.test.js +386 -0
  382. package/dist/tests/platform/thinq/thinqWasherStateSync.test.js.map +1 -0
  383. package/dist/tests/platform/thinq/thinqWasherStopCommandResolver.test.d.ts +2 -0
  384. package/dist/tests/platform/thinq/thinqWasherStopCommandResolver.test.d.ts.map +1 -0
  385. package/dist/tests/platform/thinq/thinqWasherStopCommandResolver.test.js +329 -0
  386. package/dist/tests/platform/thinq/thinqWasherStopCommandResolver.test.js.map +1 -0
  387. package/dist/tests/settings.test.d.ts +2 -0
  388. package/dist/tests/settings.test.d.ts.map +1 -0
  389. package/dist/tests/settings.test.js +28 -0
  390. package/dist/tests/settings.test.js.map +1 -0
  391. package/dist/utils/mask.d.ts +9 -0
  392. package/dist/utils/mask.d.ts.map +1 -0
  393. package/dist/utils/mask.js +8 -0
  394. package/dist/utils/mask.js.map +1 -0
  395. package/matterbridge-lg-thinq-plugin.config.json +1 -4
  396. package/matterbridge-lg-thinq-plugin.schema.json +8 -16
  397. package/package.json +1 -1
  398. package/src/model/LgThinqPluginPlatformConfig.ts +1 -5
  399. package/src/platform/platformConfigManager.ts +0 -1
  400. package/src/platform/thinq/thinqDeviceConfigurator.ts +60 -2
  401. package/src/platform/thinq/thinqWasherCommandHandlers.ts +123 -33
  402. package/src/platform/thinq/thinqWasherEndpointFactory.ts +14 -1
  403. package/src/platform/thinq/thinqWasherStartCommandResolver.ts +95 -0
  404. package/src/platform/thinq/thinqWasherStateSync.ts +6 -0
  405. package/src/tests/platform/platformConfigManager.test.ts +1 -3
  406. package/src/tests/platform/thinq/thinqDeviceConfigurator.test.ts +99 -2
  407. package/src/tests/platform/thinq/thinqWasherCommandHandlers.test.ts +379 -23
  408. package/src/tests/platform/thinq/thinqWasherEndpointFactory.test.ts +40 -1
  409. package/src/tests/platform/thinq/thinqWasherStartCommandResolver.test.ts +1037 -0
  410. package/src/tests/platform/thinq/thinqWasherStateSync.test.ts +129 -0
  411. package/.claude/CLAUDE.md +0 -43
  412. package/.claude/agents/compiler.md +0 -91
  413. package/.claude/agents/direct-executor.md +0 -98
  414. package/.claude/agents/documenter.md +0 -78
  415. package/.claude/agents/finalizer.md +0 -233
  416. package/.claude/agents/implementer.md +0 -112
  417. package/.claude/agents/investigator.md +0 -100
  418. package/.claude/agents/release-manager.md +0 -203
  419. package/.claude/agents/reviewer.md +0 -131
  420. package/.claude/agents/technical-architect.md +0 -403
  421. package/.claude/agents/test-writer.md +0 -159
  422. package/.claude/agents/wiki-manager.md +0 -147
  423. package/.claude/instructions/agent-prompts.md +0 -90
  424. package/.claude/instructions/shared-rules.md +0 -11
  425. package/.claude/instructions/team-orchestrator-policy.md +0 -165
  426. package/.claude/memory.md +0 -186
  427. package/.claude/output-styles/engineer-manager.md +0 -38
  428. package/.claude/settings.json +0 -40
  429. package/.claude/settings.local.json +0 -30
  430. package/.claude/skills/load-policy/SKILL.md +0 -13
  431. package/.claude/skills/ref-idea/SKILL.md +0 -44
  432. package/.claude/skills/status-of/SKILL.md +0 -38
  433. package/.claude/skills/workspace-console/SKILL.md +0 -49
  434. package/.claude/statusline-command.sh +0 -130
  435. package/.claude/statusline.md +0 -53
  436. package/.claude/templates/approval-packet.template.html +0 -171
  437. package/.claude/templates/reference-workspaces.md +0 -16
  438. package/.claude/tools/cli-runner-server.cjs +0 -220
  439. package/.claude/tools/discord-send-server.cjs +0 -188
  440. package/.claude/tools/github-release-server.cjs +0 -181
  441. package/.claude/tools/glob-grep-server.cjs +0 -267
  442. package/.claude/tools/read-log-server.cjs +0 -175
  443. package/.github/codeql/codeql-config.yml +0 -14
  444. package/.github/workflows/build.yml +0 -54
  445. package/.github/workflows/codeql.yml +0 -59
  446. package/.github/workflows/coverage.yml +0 -70
  447. package/.github/workflows/publish.yml +0 -103
  448. package/.mcp.json +0 -34
  449. package/dist/model/LgThinkqPluginPlatformConfig.js +0 -23
  450. package/docs/README_CLI.md +0 -166
  451. package/scripts/parse-junit-failures.mjs +0 -45
  452. package/scripts/parse-tsc-failures.mjs +0 -48
  453. package/scripts/run-build-local-summary.mjs +0 -29
  454. package/scripts/run-format-summary.mjs +0 -36
  455. package/scripts/run-lint-fix-summary.mjs +0 -38
  456. package/scripts/run-precommit-summary.mjs +0 -94
  457. package/wiki/memory-archive.md +0 -12
  458. package/wiki/reference-workspaces.md +0 -23
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.1-rc01] - 2026-09-25
4
+
5
+ ### Added
6
+
7
+ - **Washer remote Start/Stop switch** — an opt-in child on/off switch endpoint on the washer, the only Apple-Home-visible control surface for Start/Stop since the native LaundryWasher device type renders no UI in Apple Home; ON sends a real Start command built from the device's own model-declared default course, OFF reuses the existing Stop path, and switch state syncs from real washer running status on every poll tick. Gated by `allowRemoteStart` (new) and `allowRemoteStop` (existing), both off by default (PR #3).
8
+
9
+ ### Changed
10
+
11
+ - **BREAKING: webOS TV config section removed** — the never-built webOS placeholder (config UI section, schema property, config model type) has been removed entirely; any existing config with a `webos` property will have it dropped, since Apple Home does not support Matter TV/video-player device types at all, and LG's own native AirPlay 2/HomeKit integration on webOS TVs already covers this (PR #3).
12
+
13
+ <a href="https://www.buymeacoffee.com/rinnvspktr" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
14
+
15
+ ---
16
+
3
17
  ## [0.1.0-rc13] - 2026-09-24
4
18
 
5
19
  ### Added
package/README.md ADDED
@@ -0,0 +1,101 @@
1
+ <h1 align="center">Matterbridge LG ThinQ Plugin</h1>
2
+
3
+ <p align="center">
4
+ <a href="https://www.npmjs.com/package/matterbridge-lg-thinq-plugin">
5
+ <img src="https://img.shields.io/npm/v/matterbridge-lg-thinq-plugin/latest.svg" alt="npm version" />
6
+ </a>
7
+ <a href="https://www.npmjs.com/package/matterbridge-lg-thinq-plugin?activeTab=versions">
8
+ <img src="https://img.shields.io/npm/v/matterbridge-lg-thinq-plugin/dev.svg" alt="npm dev version" />
9
+ </a>
10
+ <a href="https://www.typescriptlang.org/">
11
+ <img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white" alt="typescript" />
12
+ </a>
13
+ <a href="https://nodejs.org/api/esm.html">
14
+ <img src="https://img.shields.io/badge/ESM-Node.js-339933?logo=node.js&logoColor=white" alt="esm" />
15
+ </a>
16
+ <a href="https://www.npmjs.com/package/matterbridge-lg-thinq-plugin">
17
+ <img src="https://img.shields.io/npm/dt/matterbridge-lg-thinq-plugin.svg" alt="npm downloads" />
18
+ </a>
19
+ <a href="https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/actions/workflows/publish.yml">
20
+ <img src="https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/actions/workflows/publish.yml/badge.svg" alt="nodejs ci" />
21
+ </a>
22
+ <a href="https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/actions/workflows/codeql.yml">
23
+ <img src="https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/actions/workflows/codeql.yml/badge.svg" alt="codeql" />
24
+ </a>
25
+ <a href="https://codecov.io/gh/RinDevJunior/matterbridge-lg-thinq-plugin">
26
+ <img src="https://codecov.io/gh/RinDevJunior/matterbridge-lg-thinq-plugin/branch/main/graph/badge.svg" alt="Codecov" />
27
+ </a>
28
+ <a href="https://www.npmjs.com/package/matterbridge">
29
+ <img src="https://img.shields.io/badge/powered%20by-matterbridge-blue" alt="powered by Matterbridge" />
30
+ </a>
31
+ <a href="https://github.com/prettier/prettier">
32
+ <img src="https://img.shields.io/badge/styled_with-Prettier-f8bc45.svg?logo=prettier" alt="styled with prettier" />
33
+ </a>
34
+ <a href="https://github.com/eslint/eslint">
35
+ <img src="https://img.shields.io/badge/linted_with-ES_Lint-4B32C3.svg?logo=eslint" alt="linted with eslint" />
36
+ </a>
37
+ <a href="https://www.npmjs.com/package/node-ansi-logger">
38
+ <img src="https://img.shields.io/badge/powered%20by-node--ansi--logger-blue" alt="powered by node-ansi-logger" />
39
+ </a>
40
+ </p>
41
+
42
+ ---
43
+
44
+ **Matterbridge LG ThinQ Plugin** is a dynamic platform plugin for [Matterbridge](https://www.npmjs.com/package/matterbridge) that exposes LG ThinQ cloud-connected appliances to Apple Home and other Matter-compatible apps.
45
+
46
+ > ⭐ If you find this project useful, please consider starring the repository on GitHub:
47
+ > [https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin](https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin)
48
+
49
+ ---
50
+
51
+ ### ⚠️ Important Notes
52
+
53
+ Requires matterbridge@3.10.10
54
+
55
+ - Each device (air conditioner or washer) pairs to Apple Home as its **own standalone Matter node** (`server` mode) with its own pairing code — not bridged, not user-configurable.
56
+ - Authenticate with your ThinQ account (username/password) or a pre-issued refresh token.
57
+ - Per-device settings in the config UI are automatically scoped to that device's actual type (AC vs. washer) — the plugin detects and writes this in for you at startup.
58
+
59
+ ---
60
+
61
+ ### 🧊 Supported Devices
62
+
63
+ **Air Conditioner** — full control:
64
+
65
+ - Power, mode, temperature, fan speed, swing/vane control
66
+ - Humidity and air-quality (AQI/PM2.5/PM10) sensors
67
+ - Live energy/power consumption monitoring
68
+ - Filter life monitoring, plus an opt-in filter-reset command
69
+
70
+ **Washer** — read-only status, plus an opt-in remote Stop/Cancel command (resolved from the device's own model data).
71
+
72
+ ---
73
+
74
+ ### 🚧 Project Status
75
+
76
+ - **Under active development**
77
+ - Requires **`matterbridge@3.10.10`**
78
+
79
+ ---
80
+
81
+ ### 📦 Prerequisites
82
+
83
+ - A working installation of [Matterbridge](https://github.com/Luligu/matterbridge)
84
+ - An LG ThinQ account with at least one supported air conditioner or washer
85
+
86
+ **Developers:** see [README_CLI.md](./docs/README_CLI.md) for CLI diagnostics (device listing, snapshot dumps, filter/energy probes).
87
+
88
+ ---
89
+
90
+ ### 💬 Need Help?
91
+
92
+ 🛠️ **Reporting an Issue**
93
+ Open an issue on GitHub with as much detail as you can (Matterbridge version, plugin version, relevant log lines):
94
+ 👉 [https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/issues](https://github.com/RinDevJunior/matterbridge-lg-thinq-plugin/issues)
95
+
96
+ ---
97
+
98
+ ### 🧱 Built With
99
+
100
+ This plugin is built on top of the official dynamic platform example:
101
+ 🔗 [matterbridge-example-dynamic-platform](https://github.com/Luligu/matterbridge-example-dynamic-platform)
@@ -0,0 +1,4 @@
1
+ import { AnsiLogger } from 'matterbridge/logger';
2
+ import type { CliSession } from '../types.js';
3
+ export declare function cmdDevices(session: CliSession, logger: AnsiLogger, dumpSnapshotDeviceId?: string, probeFilterDeviceId?: string): Promise<void>;
4
+ //# sourceMappingURL=devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAsB,UAAU,CAC/B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,EAClB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,mBAAmB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -50,3 +50,4 @@ export async function cmdDevices(session, logger, dumpSnapshotDeviceId, probeFil
50
50
  console.log('');
51
51
  });
52
52
  }
53
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../src/cli/commands/devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,OAAmB,EACnB,MAAkB,EAClB,oBAA6B,EAC7B,mBAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEhD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACnH,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9E,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,yBAAyB,CAAC,mBAAmB,EAAE;YAC/E,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE;gBACZ,iCAAiC;gBACjC,oCAAoC;gBACpC,iCAAiC;gBACjC,oCAAoC;gBACpC,8BAA8B;aAC9B;SACD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACR,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,oBAAoB,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;IACpD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AnsiLogger } from 'matterbridge/logger';
2
+ import type { CliSession } from '../types.js';
3
+ export interface EnergyOptions {
4
+ readonly deviceId: string | undefined;
5
+ readonly samples: number;
6
+ readonly intervalSeconds: number;
7
+ readonly keepAlive: boolean;
8
+ }
9
+ /** Builds `EnergyOptions` from the flat `parseArgs` record. Throws on invalid numeric values. */
10
+ export declare function parseEnergyOptions(args: Record<string, string>): EnergyOptions;
11
+ export declare function cmdEnergy(session: CliSession, options: EnergyOptions, logger: AnsiLogger): Promise<void>;
12
+ //# sourceMappingURL=energy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/energy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5B;AAaD,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAQ9E;AA6DD,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D9G"}
@@ -14,6 +14,7 @@ function parsePositiveNumber(name, raw, fallback, integer) {
14
14
  }
15
15
  return value;
16
16
  }
17
+ /** Builds `EnergyOptions` from the flat `parseArgs` record. Throws on invalid numeric values. */
17
18
  export function parseEnergyOptions(args) {
18
19
  const deviceArg = args['device'];
19
20
  return {
@@ -120,3 +121,4 @@ export async function cmdEnergy(session, options, logger) {
120
121
  printSample(current, i, options.samples);
121
122
  }
122
123
  }
124
+ //# sourceMappingURL=energy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energy.js","sourceRoot":"","sources":["../../../src/cli/commands/energy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { AnsiLogger } from 'matterbridge/logger';
2
+ export type CliLoginType = 'account' | 'token';
3
+ export declare function cmdLogin(type: CliLoginType, country: string, language: string, logger: AnsiLogger): Promise<void>;
4
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYjD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAuB/C,wBAAsB,QAAQ,CAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -15,6 +15,7 @@ async function buildAuthContext(type, country, language) {
15
15
  language,
16
16
  };
17
17
  }
18
+ // type === 'account'
18
19
  const username = await prompt('Username (email): ');
19
20
  const password = await prompt('Password: ');
20
21
  return {
@@ -52,3 +53,4 @@ export async function cmdLogin(type, country, language, logger) {
52
53
  console.log(` Refresh Token: ${maskSecret(session.userData.refreshToken)}`);
53
54
  console.log(` Expires At: ${new Date(session.userData.expiresAtEpochSeconds * 1000).toISOString()}`);
54
55
  }
56
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const HELP_TEXT: string;
2
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,SAAS,QAqCrB,CAAC"}
package/dist/cli/help.js CHANGED
@@ -1,9 +1,9 @@
1
- const b = '\x1b[1m';
2
- const c = '\x1b[36m';
3
- const y = '\x1b[33m';
4
- const g = '\x1b[32m';
5
- const d = '\x1b[2m';
6
- const r = '\x1b[0m';
1
+ const b = '\x1b[1m'; // bold
2
+ const c = '\x1b[36m'; // cyan
3
+ const y = '\x1b[33m'; // yellow
4
+ const g = '\x1b[32m'; // green
5
+ const d = '\x1b[2m'; // dim
6
+ const r = '\x1b[0m'; // reset
7
7
  const NAME_WIDTH = 12;
8
8
  function row(name, args, desc) {
9
9
  const paddedName = name.padEnd(NAME_WIDTH);
@@ -48,3 +48,4 @@ ${b}Examples:${r}
48
48
  npm run cli -- --command ${g}energy${r}
49
49
  npm run cli -- --command ${g}energy${r} --samples 5 --interval 10 --keep-alive
50
50
  `;
51
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO;AAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,OAAO;AAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,SAAS;AAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ;AAC9B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM;AAC3B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ;AAE7B,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;EACvB,CAAC,SAAS,CAAC;6BACgB,CAAC,YAAY,CAAC;;EAEzC,CAAC,WAAW,CAAC;IACX,CAAC,SAAS,CAAC;IACX,CAAC,YAAY,CAAC;IACd,CAAC,aAAa,CAAC;IACf,CAAC,SAAS,CAAC;IACX,CAAC,UAAU,CAAC;;EAEd,CAAC,mBAAmB,CAAC;IACnB,CAAC,kBAAkB,CAAC;IACpB,CAAC,iBAAiB,CAAC;;EAErB,CAAC,kBAAkB,CAAC;IAClB,CAAC,WAAW,CAAC;IACb,CAAC,YAAY,CAAC;IACd,CAAC,aAAa,CAAC;IACf,CAAC,eAAe,CAAC;;EAEnB,CAAC,YAAY,CAAC;EACd,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,4BAA4B,CAAC;EAC9C,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,4DAA4D,CAAC;EAChF,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,oEAAoE,CAAC;EACvG,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,wBAAwB,CAAC;;EAEzC,CAAC,YAAY,CAAC;mBACG,CAAC,SAAS,CAAC;6BACD,CAAC,QAAQ,CAAC;6BACV,CAAC,QAAQ,CAAC;6BACV,CAAC,QAAQ,CAAC;6BACV,CAAC,UAAU,CAAC;6BACZ,CAAC,UAAU,CAAC;6BACZ,CAAC,UAAU,CAAC;6BACZ,CAAC,SAAS,CAAC;6BACX,CAAC,SAAS,CAAC;CACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function main(): Promise<void>;
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AASA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD1C"}
package/dist/cli/main.js CHANGED
@@ -14,7 +14,7 @@ export async function main() {
14
14
  process.exit(command || help ? 0 : 1);
15
15
  }
16
16
  const debug = args['debug'] === 'true';
17
- const logger = AnsiLogger.create({ logName: 'CLI', logLevel: debug ? "debug" : "warn" });
17
+ const logger = AnsiLogger.create({ logName: 'CLI', logLevel: debug ? "debug" /* LogLevel.DEBUG */ : "warn" /* LogLevel.WARN */ });
18
18
  try {
19
19
  if (command === 'login') {
20
20
  const type = (args['type'] || 'account');
@@ -54,3 +54,4 @@ export async function main() {
54
54
  process.exit(1);
55
55
  }
56
56
  }
57
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CliSession } from './types.js';
2
+ export declare function saveSession(session: CliSession): void;
3
+ export declare function loadSession(): CliSession | null;
4
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAEtD,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAErD;AAED,wBAAgB,WAAW,IAAI,UAAU,GAAG,IAAI,CAM/C"}
@@ -11,3 +11,4 @@ export function loadSession() {
11
11
  return null;
12
12
  }
13
13
  }
14
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,UAAU,WAAW,CAAC,OAAmB;IAC9C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAe,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ThinqUserData } from '../services/authentication/AuthContext.js';
2
+ export interface CliSession {
3
+ readonly loginType: 'account' | 'token';
4
+ readonly country: string;
5
+ readonly language: string;
6
+ readonly userData: ThinqUserData;
7
+ }
8
+ export declare const SESSION_FILE = ".cli-session.json";
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CACjC;AAED,eAAO,MAAM,YAAY,sBAAsB,CAAC"}
package/dist/cli/types.js CHANGED
@@ -1 +1,2 @@
1
1
  export const SESSION_FILE = '.cli-session.json';
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { maskSecret } from '../utils/mask.js';
2
+ export declare function parseArgs(args: string[]): Record<string, string>;
3
+ export declare function prompt(question: string): Promise<string>;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehE;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ9D"}
package/dist/cli/utils.js CHANGED
@@ -27,3 +27,4 @@ export async function prompt(question) {
27
27
  });
28
28
  });
29
29
  }
30
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,UAAU,SAAS,CAAC,IAAc;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpB,CAAC,EAAE,CAAC;QACL,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAChC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js CHANGED
@@ -1,2 +1,3 @@
1
1
  import { main } from './cli/main.js';
2
2
  main();
3
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Centralized constants for the LG ThinQ plugin (webOS lands in a later phase).
3
+ * Import from this module to access all constants.
4
+ *
5
+ * @module constants
6
+ */
7
+ export declare const UNREGISTER_DEVICES_DELAY_MS = 500;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,2BAA2B,MAAM,CAAC"}
@@ -1 +1,8 @@
1
+ /**
2
+ * Centralized constants for the LG ThinQ plugin (webOS lands in a later phase).
3
+ * Import from this module to access all constants.
4
+ *
5
+ * @module constants
6
+ */
1
7
  export const UNREGISTER_DEVICES_DELAY_MS = 500;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ThinqDeviceData } from '../../../services/thinq/thinqApiClient.js';
2
+ import { ThinqSnapshot } from '../value-objects/ThinqSnapshot.js';
3
+ /** Generic ThinQ device entity, common to every device type/generation. */
4
+ export interface ThinqDevice {
5
+ readonly id: string;
6
+ readonly name: string;
7
+ readonly type: string;
8
+ readonly modelName: string;
9
+ readonly platformType: string | undefined;
10
+ readonly online: boolean;
11
+ readonly snapshot: ThinqSnapshot;
12
+ readonly modelJsonUri?: string;
13
+ }
14
+ /** ThinQ device narrowed to the AirConditioner type (`deviceType === 401`, `type === 'AC'`). */
15
+ export interface ThinqAirConditionerDevice extends ThinqDevice {
16
+ readonly type: 'AC';
17
+ }
18
+ /** ThinQ device narrowed to the Washer type (`deviceType === 201`, `type === 'WASHER'`). */
19
+ export interface ThinqWasherDevice extends ThinqDevice {
20
+ readonly type: 'WASHER';
21
+ }
22
+ export declare function isValidThinqDeviceId(id: unknown): id is string;
23
+ export declare function isAirConditionerDevice(device: ThinqDevice): device is ThinqAirConditionerDevice;
24
+ export declare function isWasherDevice(device: ThinqDevice): device is ThinqWasherDevice;
25
+ /** Maps a raw `ThinqDeviceData` REST response into the generic `ThinqDevice` domain entity. */
26
+ export declare function toThinqDevice(data: ThinqDeviceData): ThinqDevice;
27
+ //# sourceMappingURL=ThinqDevice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThinqDevice.d.ts","sourceRoot":"","sources":["../../../../src/core/domain/entities/ThinqDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA0BlE,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,gGAAgG;AAChG,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACpB;AAED,4FAA4F;AAC5F,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACrD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAE9D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,yBAAyB,CAE/F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,iBAAiB,CAE/E;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAWhE"}
@@ -1,5 +1,6 @@
1
1
  import { ThinqSnapshot } from '../value-objects/ThinqSnapshot.js';
2
2
  const DEVICE_ID_PATTERN = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
3
+ /** Numeric `deviceType` → ThinQ type-name mapping (`homebridge-lg-thinq/src/lib/constants.ts`). Phase 1 subset. */
3
4
  const DEVICE_TYPE_NAMES = {
4
5
  101: 'REFRIGERATOR',
5
6
  102: 'KIMCHI_REFRIGERATOR',
@@ -29,6 +30,7 @@ export function isAirConditionerDevice(device) {
29
30
  export function isWasherDevice(device) {
30
31
  return device.type === 'WASHER';
31
32
  }
33
+ /** Maps a raw `ThinqDeviceData` REST response into the generic `ThinqDevice` domain entity. */
32
34
  export function toThinqDevice(data) {
33
35
  return {
34
36
  id: data.deviceId,
@@ -41,3 +43,4 @@ export function toThinqDevice(data) {
41
43
  modelJsonUri: data.modelJsonUri,
42
44
  };
43
45
  }
46
+ //# sourceMappingURL=ThinqDevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThinqDevice.js","sourceRoot":"","sources":["../../../../src/core/domain/entities/ThinqDevice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,iBAAiB,GAAG,+EAA+E,CAAC;AAE1G,mHAAmH;AACnH,MAAM,iBAAiB,GAA2B;IACjD,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,YAAY;CACjB,CAAC;AAwBF,MAAM,UAAU,oBAAoB,CAAC,EAAW;IAC/C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACzD,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,aAAa,CAAC,IAAqB;IAClD,OAAO;QACN,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,gBAAgB,IAAI,EAAE;QAClG,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK;QACpD,QAAQ,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,YAAY;KAC/B,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ThinqDevice.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThinqDevice.test.d.ts","sourceRoot":"","sources":["../../../../src/core/domain/entities/ThinqDevice.test.ts"],"names":[],"mappings":""}