amaran-light-cli 1.10.0 → 1.12.0

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 (397) hide show
  1. package/README.md +154 -17
  2. package/dist/__tests__/autoCct.test.js +35 -4
  3. package/dist/__tests__/autoCct.test.js.map +1 -1
  4. package/dist/__tests__/autoCctMaxLux.test.js +11 -9
  5. package/dist/__tests__/autoCctMaxLux.test.js.map +1 -1
  6. package/dist/__tests__/autostart.test.js +18 -0
  7. package/dist/__tests__/autostart.test.js.map +1 -1
  8. package/dist/__tests__/bleHttpControl.test.d.ts +2 -0
  9. package/dist/__tests__/bleHttpControl.test.d.ts.map +1 -0
  10. package/dist/__tests__/bleHttpControl.test.js +230 -0
  11. package/dist/__tests__/bleHttpControl.test.js.map +1 -0
  12. package/dist/__tests__/bleStack.test.d.ts +2 -0
  13. package/dist/__tests__/bleStack.test.d.ts.map +1 -0
  14. package/dist/__tests__/bleStack.test.js +1239 -0
  15. package/dist/__tests__/bleStack.test.js.map +1 -0
  16. package/dist/__tests__/cctUtil.test.js +11 -5
  17. package/dist/__tests__/cctUtil.test.js.map +1 -1
  18. package/dist/__tests__/circadianDashboardSettings.test.d.ts +2 -0
  19. package/dist/__tests__/circadianDashboardSettings.test.d.ts.map +1 -0
  20. package/dist/__tests__/circadianDashboardSettings.test.js +82 -0
  21. package/dist/__tests__/circadianDashboardSettings.test.js.map +1 -0
  22. package/dist/__tests__/circadianIsolation.test.d.ts +2 -0
  23. package/dist/__tests__/circadianIsolation.test.d.ts.map +1 -0
  24. package/dist/__tests__/circadianIsolation.test.js +30 -0
  25. package/dist/__tests__/circadianIsolation.test.js.map +1 -0
  26. package/dist/__tests__/cli.config.test.d.ts +2 -0
  27. package/dist/__tests__/cli.config.test.d.ts.map +1 -0
  28. package/dist/__tests__/cli.config.test.js +114 -0
  29. package/dist/__tests__/cli.config.test.js.map +1 -0
  30. package/dist/__tests__/cli.smoke.test.js +70 -17
  31. package/dist/__tests__/cli.smoke.test.js.map +1 -1
  32. package/dist/__tests__/currentCct.test.d.ts +2 -0
  33. package/dist/__tests__/currentCct.test.d.ts.map +1 -0
  34. package/dist/__tests__/currentCct.test.js +29 -0
  35. package/dist/__tests__/currentCct.test.js.map +1 -0
  36. package/dist/__tests__/dashboard.test.d.ts +2 -0
  37. package/dist/__tests__/dashboard.test.d.ts.map +1 -0
  38. package/dist/__tests__/dashboard.test.js +126 -0
  39. package/dist/__tests__/dashboard.test.js.map +1 -0
  40. package/dist/__tests__/daylightSimulationParseUtils.test.d.ts +2 -0
  41. package/dist/__tests__/daylightSimulationParseUtils.test.d.ts.map +1 -0
  42. package/dist/__tests__/daylightSimulationParseUtils.test.js +16 -0
  43. package/dist/__tests__/daylightSimulationParseUtils.test.js.map +1 -0
  44. package/dist/__tests__/desktopImport.test.d.ts +2 -0
  45. package/dist/__tests__/desktopImport.test.d.ts.map +1 -0
  46. package/dist/__tests__/desktopImport.test.js +234 -0
  47. package/dist/__tests__/desktopImport.test.js.map +1 -0
  48. package/dist/__tests__/lightControl.basic.test.d.ts +2 -0
  49. package/dist/__tests__/lightControl.basic.test.d.ts.map +1 -0
  50. package/dist/__tests__/lightControl.basic.test.js +119 -0
  51. package/dist/__tests__/lightControl.basic.test.js.map +1 -0
  52. package/dist/__tests__/lightControl.colorEffects.test.d.ts +2 -0
  53. package/dist/__tests__/lightControl.colorEffects.test.d.ts.map +1 -0
  54. package/dist/__tests__/lightControl.colorEffects.test.js +170 -0
  55. package/dist/__tests__/lightControl.colorEffects.test.js.map +1 -0
  56. package/dist/__tests__/lightControl.management.test.d.ts +2 -0
  57. package/dist/__tests__/lightControl.management.test.d.ts.map +1 -0
  58. package/dist/__tests__/lightControl.management.test.js +90 -0
  59. package/dist/__tests__/lightControl.management.test.js.map +1 -0
  60. package/dist/__tests__/lightControlTestUtils.d.ts +10 -0
  61. package/dist/__tests__/lightControlTestUtils.d.ts.map +1 -0
  62. package/dist/__tests__/lightControlTestUtils.js +57 -0
  63. package/dist/__tests__/lightControlTestUtils.js.map +1 -0
  64. package/dist/__tests__/maxLuxInterpolation.test.js +4 -2
  65. package/dist/__tests__/maxLuxInterpolation.test.js.map +1 -1
  66. package/dist/__tests__/meshConfiguration.test.d.ts +2 -0
  67. package/dist/__tests__/meshConfiguration.test.d.ts.map +1 -0
  68. package/dist/__tests__/meshConfiguration.test.js +78 -0
  69. package/dist/__tests__/meshConfiguration.test.js.map +1 -0
  70. package/dist/__tests__/nativeGroups.test.d.ts +2 -0
  71. package/dist/__tests__/nativeGroups.test.d.ts.map +1 -0
  72. package/dist/__tests__/nativeGroups.test.js +104 -0
  73. package/dist/__tests__/nativeGroups.test.js.map +1 -0
  74. package/dist/__tests__/packageExports.test.d.ts +2 -0
  75. package/dist/__tests__/packageExports.test.d.ts.map +1 -0
  76. package/dist/__tests__/packageExports.test.js +33 -0
  77. package/dist/__tests__/packageExports.test.js.map +1 -0
  78. package/dist/__tests__/programApi.test.d.ts +2 -0
  79. package/dist/__tests__/programApi.test.d.ts.map +1 -0
  80. package/dist/__tests__/programApi.test.js +73 -0
  81. package/dist/__tests__/programApi.test.js.map +1 -0
  82. package/dist/__tests__/programs.test.d.ts +2 -0
  83. package/dist/__tests__/programs.test.d.ts.map +1 -0
  84. package/dist/__tests__/programs.test.js +176 -0
  85. package/dist/__tests__/programs.test.js.map +1 -0
  86. package/dist/__tests__/scheduleMaker.test.d.ts +2 -0
  87. package/dist/__tests__/scheduleMaker.test.d.ts.map +1 -0
  88. package/dist/__tests__/scheduleMaker.test.js +25 -0
  89. package/dist/__tests__/scheduleMaker.test.js.map +1 -0
  90. package/dist/__tests__/simulateSchedule.test.js +7 -3
  91. package/dist/__tests__/simulateSchedule.test.js.map +1 -1
  92. package/dist/ble/async.d.ts +2 -0
  93. package/dist/ble/async.d.ts.map +1 -0
  94. package/dist/ble/async.js +15 -0
  95. package/dist/ble/async.js.map +1 -0
  96. package/dist/ble/colors.d.ts +5 -0
  97. package/dist/ble/colors.d.ts.map +1 -0
  98. package/dist/ble/colors.js +44 -0
  99. package/dist/ble/colors.js.map +1 -0
  100. package/dist/ble/configuration.d.ts +22 -0
  101. package/dist/ble/configuration.d.ts.map +1 -0
  102. package/dist/ble/configuration.js +122 -0
  103. package/dist/ble/configuration.js.map +1 -0
  104. package/dist/ble/controller.d.ts +118 -0
  105. package/dist/ble/controller.d.ts.map +1 -0
  106. package/dist/ble/controller.js +931 -0
  107. package/dist/ble/controller.js.map +1 -0
  108. package/dist/ble/crypto.d.ts +34 -0
  109. package/dist/ble/crypto.d.ts.map +1 -0
  110. package/dist/ble/crypto.js +178 -0
  111. package/dist/ble/crypto.js.map +1 -0
  112. package/dist/ble/daemon.d.ts +2 -0
  113. package/dist/ble/daemon.d.ts.map +1 -0
  114. package/dist/ble/daemon.js +76 -0
  115. package/dist/ble/daemon.js.map +1 -0
  116. package/dist/ble/dashboard.d.ts +331 -0
  117. package/dist/ble/dashboard.d.ts.map +1 -0
  118. package/dist/ble/dashboard.js +280 -0
  119. package/dist/ble/dashboard.js.map +1 -0
  120. package/dist/ble/desktop.d.ts +4 -0
  121. package/dist/ble/desktop.d.ts.map +1 -0
  122. package/dist/ble/desktop.js +33 -0
  123. package/dist/ble/desktop.js.map +1 -0
  124. package/dist/ble/desktopLibrary.d.ts +12 -0
  125. package/dist/ble/desktopLibrary.d.ts.map +1 -0
  126. package/dist/ble/desktopLibrary.js +346 -0
  127. package/dist/ble/desktopLibrary.js.map +1 -0
  128. package/dist/ble/effects.d.ts +34 -0
  129. package/dist/ble/effects.d.ts.map +1 -0
  130. package/dist/ble/effects.js +138 -0
  131. package/dist/ble/effects.js.map +1 -0
  132. package/dist/ble/fan.d.ts +244 -0
  133. package/dist/ble/fan.d.ts.map +1 -0
  134. package/dist/ble/fan.js +46 -0
  135. package/dist/ble/fan.js.map +1 -0
  136. package/dist/ble/library.d.ts +341 -0
  137. package/dist/ble/library.d.ts.map +1 -0
  138. package/dist/ble/library.js +201 -0
  139. package/dist/ble/library.js.map +1 -0
  140. package/dist/ble/media.d.ts +133 -0
  141. package/dist/ble/media.d.ts.map +1 -0
  142. package/dist/ble/media.js +186 -0
  143. package/dist/ble/media.js.map +1 -0
  144. package/dist/ble/nativeGroups.d.ts +22 -0
  145. package/dist/ble/nativeGroups.d.ts.map +1 -0
  146. package/dist/ble/nativeGroups.js +114 -0
  147. package/dist/ble/nativeGroups.js.map +1 -0
  148. package/dist/ble/packets.d.ts +3 -0
  149. package/dist/ble/packets.d.ts.map +1 -0
  150. package/dist/ble/packets.js +15 -0
  151. package/dist/ble/packets.js.map +1 -0
  152. package/dist/ble/programs.d.ts +318 -0
  153. package/dist/ble/programs.d.ts.map +1 -0
  154. package/dist/ble/programs.js +329 -0
  155. package/dist/ble/programs.js.map +1 -0
  156. package/dist/ble/provisioning.d.ts +13 -0
  157. package/dist/ble/provisioning.d.ts.map +1 -0
  158. package/dist/ble/provisioning.js +39 -0
  159. package/dist/ble/provisioning.js.map +1 -0
  160. package/dist/ble/server.d.ts +18 -0
  161. package/dist/ble/server.d.ts.map +1 -0
  162. package/dist/ble/server.js +548 -0
  163. package/dist/ble/server.js.map +1 -0
  164. package/dist/ble/service.d.ts +2 -0
  165. package/dist/ble/service.d.ts.map +1 -0
  166. package/dist/ble/service.js +77 -0
  167. package/dist/ble/service.js.map +1 -0
  168. package/dist/ble/settings.d.ts +18 -0
  169. package/dist/ble/settings.d.ts.map +1 -0
  170. package/dist/ble/settings.js +25 -0
  171. package/dist/ble/settings.js.map +1 -0
  172. package/dist/ble/setup.d.ts +2 -0
  173. package/dist/ble/setup.d.ts.map +1 -0
  174. package/dist/ble/setup.js +31 -0
  175. package/dist/ble/setup.js.map +1 -0
  176. package/dist/ble/storage.d.ts +94 -0
  177. package/dist/ble/storage.d.ts.map +1 -0
  178. package/dist/ble/storage.js +132 -0
  179. package/dist/ble/storage.js.map +1 -0
  180. package/dist/ble/telink.d.ts +63 -0
  181. package/dist/ble/telink.d.ts.map +1 -0
  182. package/dist/ble/telink.js +108 -0
  183. package/dist/ble/telink.js.map +1 -0
  184. package/dist/ble/transitions.d.ts +3 -0
  185. package/dist/ble/transitions.d.ts.map +1 -0
  186. package/dist/ble/transitions.js +28 -0
  187. package/dist/ble/transitions.js.map +1 -0
  188. package/dist/ble/transport.d.ts +48 -0
  189. package/dist/ble/transport.d.ts.map +1 -0
  190. package/dist/ble/transport.js +370 -0
  191. package/dist/ble/transport.js.map +1 -0
  192. package/dist/circadian.d.ts +19 -0
  193. package/dist/circadian.d.ts.map +1 -0
  194. package/dist/circadian.js +13 -0
  195. package/dist/circadian.js.map +1 -0
  196. package/dist/cli.d.ts +5 -3
  197. package/dist/cli.d.ts.map +1 -1
  198. package/dist/cli.js +159 -33
  199. package/dist/cli.js.map +1 -1
  200. package/dist/commands/__tests__/integration.test.js +28 -0
  201. package/dist/commands/__tests__/integration.test.js.map +1 -1
  202. package/dist/commands/__tests__/newCommands.test.js +3 -4
  203. package/dist/commands/__tests__/newCommands.test.js.map +1 -1
  204. package/dist/commands/cmdUtils.d.ts +8 -2
  205. package/dist/commands/cmdUtils.d.ts.map +1 -1
  206. package/dist/commands/cmdUtils.js +40 -2
  207. package/dist/commands/cmdUtils.js.map +1 -1
  208. package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
  209. package/dist/commands/daylightSimulation/autoCct.js +74 -172
  210. package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
  211. package/dist/commands/daylightSimulation/graphSchedule.d.ts +1 -1
  212. package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -1
  213. package/dist/commands/daylightSimulation/graphSchedule.js +2 -0
  214. package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
  215. package/dist/commands/daylightSimulation/printSchedule.d.ts +1 -1
  216. package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -1
  217. package/dist/commands/daylightSimulation/printSchedule.js +4 -2
  218. package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
  219. package/dist/commands/daylightSimulation/service.d.ts +1 -1
  220. package/dist/commands/daylightSimulation/service.d.ts.map +1 -1
  221. package/dist/commands/daylightSimulation/service.js +20 -10
  222. package/dist/commands/daylightSimulation/service.js.map +1 -1
  223. package/dist/commands/daylightSimulation/simulateSchedule.d.ts +1 -1
  224. package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
  225. package/dist/commands/daylightSimulation/simulateSchedule.js +31 -13
  226. package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
  227. package/dist/commands/daylightSimulation/weather.d.ts.map +1 -1
  228. package/dist/commands/daylightSimulation/weather.js +19 -4
  229. package/dist/commands/daylightSimulation/weather.js.map +1 -1
  230. package/dist/commands/deviceControl/ble.d.ts +4 -0
  231. package/dist/commands/deviceControl/ble.d.ts.map +1 -0
  232. package/dist/commands/deviceControl/ble.js +214 -0
  233. package/dist/commands/deviceControl/ble.js.map +1 -0
  234. package/dist/commands/deviceControl/cct.d.ts.map +1 -1
  235. package/dist/commands/deviceControl/cct.js +47 -19
  236. package/dist/commands/deviceControl/cct.js.map +1 -1
  237. package/dist/commands/deviceControl/color.d.ts.map +1 -1
  238. package/dist/commands/deviceControl/color.js +16 -12
  239. package/dist/commands/deviceControl/color.js.map +1 -1
  240. package/dist/commands/deviceControl/config.d.ts.map +1 -1
  241. package/dist/commands/deviceControl/config.js +94 -58
  242. package/dist/commands/deviceControl/config.js.map +1 -1
  243. package/dist/commands/deviceControl/{discover.d.ts → desktop.d.ts} +3 -2
  244. package/dist/commands/deviceControl/desktop.d.ts.map +1 -0
  245. package/dist/commands/deviceControl/desktop.js +66 -0
  246. package/dist/commands/deviceControl/desktop.js.map +1 -0
  247. package/dist/commands/deviceControl/effect.d.ts.map +1 -1
  248. package/dist/commands/deviceControl/effect.js +90 -159
  249. package/dist/commands/deviceControl/effect.js.map +1 -1
  250. package/dist/commands/deviceControl/fan.d.ts.map +1 -1
  251. package/dist/commands/deviceControl/fan.js +77 -95
  252. package/dist/commands/deviceControl/fan.js.map +1 -1
  253. package/dist/commands/deviceControl/group.d.ts.map +1 -1
  254. package/dist/commands/deviceControl/group.js +43 -6
  255. package/dist/commands/deviceControl/group.js.map +1 -1
  256. package/dist/commands/deviceControl/hsi.d.ts.map +1 -1
  257. package/dist/commands/deviceControl/hsi.js +6 -10
  258. package/dist/commands/deviceControl/hsi.js.map +1 -1
  259. package/dist/commands/deviceControl/info.d.ts.map +1 -1
  260. package/dist/commands/deviceControl/info.js +0 -50
  261. package/dist/commands/deviceControl/info.js.map +1 -1
  262. package/dist/commands/deviceControl/intensity.d.ts.map +1 -1
  263. package/dist/commands/deviceControl/intensity.js +38 -16
  264. package/dist/commands/deviceControl/intensity.js.map +1 -1
  265. package/dist/commands/deviceControl/list.d.ts.map +1 -1
  266. package/dist/commands/deviceControl/list.js +21 -15
  267. package/dist/commands/deviceControl/list.js.map +1 -1
  268. package/dist/commands/deviceControl/power.d.ts.map +1 -1
  269. package/dist/commands/deviceControl/power.js +19 -28
  270. package/dist/commands/deviceControl/power.js.map +1 -1
  271. package/dist/commands/deviceControl/preset.d.ts.map +1 -1
  272. package/dist/commands/deviceControl/preset.js +56 -19
  273. package/dist/commands/deviceControl/preset.js.map +1 -1
  274. package/dist/commands/deviceControl/program.d.ts +4 -0
  275. package/dist/commands/deviceControl/program.d.ts.map +1 -0
  276. package/dist/commands/deviceControl/program.js +199 -0
  277. package/dist/commands/deviceControl/program.js.map +1 -0
  278. package/dist/commands/deviceControl/quickshot.d.ts.map +1 -1
  279. package/dist/commands/deviceControl/quickshot.js +75 -13
  280. package/dist/commands/deviceControl/quickshot.js.map +1 -1
  281. package/dist/commands/deviceControl/scene.d.ts.map +1 -1
  282. package/dist/commands/deviceControl/scene.js +72 -9
  283. package/dist/commands/deviceControl/scene.js.map +1 -1
  284. package/dist/commands/deviceControl/status.d.ts.map +1 -1
  285. package/dist/commands/deviceControl/status.js +29 -6
  286. package/dist/commands/deviceControl/status.js.map +1 -1
  287. package/dist/commands/parseUtils.d.ts +6 -0
  288. package/dist/commands/parseUtils.d.ts.map +1 -0
  289. package/dist/commands/parseUtils.js +32 -0
  290. package/dist/commands/parseUtils.js.map +1 -0
  291. package/dist/commands-api.d.ts +28 -0
  292. package/dist/commands-api.d.ts.map +1 -0
  293. package/dist/commands-api.js +27 -0
  294. package/dist/commands-api.js.map +1 -0
  295. package/dist/commands.d.ts.map +1 -1
  296. package/dist/commands.js +4 -2
  297. package/dist/commands.js.map +1 -1
  298. package/dist/config.d.ts +165 -0
  299. package/dist/config.d.ts.map +1 -0
  300. package/dist/config.js +125 -0
  301. package/dist/config.js.map +1 -0
  302. package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
  303. package/dist/daylightSimulation/cctUtil.js +23 -22
  304. package/dist/daylightSimulation/cctUtil.js.map +1 -1
  305. package/dist/daylightSimulation/constants.d.ts +10 -0
  306. package/dist/daylightSimulation/constants.d.ts.map +1 -1
  307. package/dist/daylightSimulation/constants.js +4 -0
  308. package/dist/daylightSimulation/constants.js.map +1 -1
  309. package/dist/daylightSimulation/currentCct.d.ts +42 -0
  310. package/dist/daylightSimulation/currentCct.d.ts.map +1 -0
  311. package/dist/daylightSimulation/currentCct.js +217 -0
  312. package/dist/daylightSimulation/currentCct.js.map +1 -0
  313. package/dist/daylightSimulation/curves/realistic.d.ts +6 -6
  314. package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -1
  315. package/dist/daylightSimulation/curves/realistic.js +36 -6
  316. package/dist/daylightSimulation/curves/realistic.js.map +1 -1
  317. package/dist/daylightSimulation/dashboardSettings.d.ts +47 -0
  318. package/dist/daylightSimulation/dashboardSettings.d.ts.map +1 -0
  319. package/dist/daylightSimulation/dashboardSettings.js +95 -0
  320. package/dist/daylightSimulation/dashboardSettings.js.map +1 -0
  321. package/dist/daylightSimulation/dashboardStatus.d.ts +72 -0
  322. package/dist/daylightSimulation/dashboardStatus.d.ts.map +1 -0
  323. package/dist/daylightSimulation/dashboardStatus.js +191 -0
  324. package/dist/daylightSimulation/dashboardStatus.js.map +1 -0
  325. package/dist/daylightSimulation/mathUtil.d.ts.map +1 -1
  326. package/dist/daylightSimulation/mathUtil.js +6 -2
  327. package/dist/daylightSimulation/mathUtil.js.map +1 -1
  328. package/dist/daylightSimulation/parseUtils.d.ts +3 -0
  329. package/dist/daylightSimulation/parseUtils.d.ts.map +1 -0
  330. package/dist/daylightSimulation/parseUtils.js +25 -0
  331. package/dist/daylightSimulation/parseUtils.js.map +1 -0
  332. package/dist/daylightSimulation/scheduleMaker.d.ts +6 -2
  333. package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -1
  334. package/dist/daylightSimulation/scheduleMaker.js +9 -11
  335. package/dist/daylightSimulation/scheduleMaker.js.map +1 -1
  336. package/dist/daylightSimulation/types.d.ts +15 -2
  337. package/dist/daylightSimulation/types.d.ts.map +1 -1
  338. package/dist/daylightSimulation/types.js +0 -2
  339. package/dist/daylightSimulation/types.js.map +1 -1
  340. package/dist/daylightSimulation/weatherUtil.d.ts.map +1 -1
  341. package/dist/daylightSimulation/weatherUtil.js +31 -0
  342. package/dist/daylightSimulation/weatherUtil.js.map +1 -1
  343. package/dist/device-control.d.ts +8 -0
  344. package/dist/device-control.d.ts.map +1 -0
  345. package/dist/device-control.js +8 -0
  346. package/dist/device-control.js.map +1 -0
  347. package/dist/deviceControl/autostart.d.ts.map +1 -1
  348. package/dist/deviceControl/autostart.js +15 -16
  349. package/dist/deviceControl/autostart.js.map +1 -1
  350. package/dist/deviceControl/bleHttpControl.d.ts +129 -0
  351. package/dist/deviceControl/bleHttpControl.d.ts.map +1 -0
  352. package/dist/deviceControl/bleHttpControl.js +753 -0
  353. package/dist/deviceControl/bleHttpControl.js.map +1 -0
  354. package/dist/deviceControl/lightControl.d.ts +9 -68
  355. package/dist/deviceControl/lightControl.d.ts.map +1 -1
  356. package/dist/deviceControl/lightControl.js +25 -255
  357. package/dist/deviceControl/lightControl.js.map +1 -1
  358. package/dist/deviceControl/lightControlCommands.d.ts +68 -0
  359. package/dist/deviceControl/lightControlCommands.d.ts.map +1 -0
  360. package/dist/deviceControl/lightControlCommands.js +244 -0
  361. package/dist/deviceControl/lightControlCommands.js.map +1 -0
  362. package/dist/deviceControl/types.d.ts +83 -4
  363. package/dist/deviceControl/types.d.ts.map +1 -1
  364. package/dist/deviceControl/types.js +1 -0
  365. package/dist/deviceControl/types.js.map +1 -1
  366. package/dist/index.d.ts +12 -0
  367. package/dist/index.d.ts.map +1 -0
  368. package/dist/index.js +8 -0
  369. package/dist/index.js.map +1 -0
  370. package/dist/test/MockLightServer.d.ts +1 -0
  371. package/dist/test/MockLightServer.d.ts.map +1 -1
  372. package/dist/test/MockLightServer.js +5 -0
  373. package/dist/test/MockLightServer.js.map +1 -1
  374. package/docs/CHANGELOG.md +171 -0
  375. package/docs/DIRECT_BLE.md +359 -0
  376. package/package.json +39 -8
  377. package/scripts/ble-cli-check.ts +129 -0
  378. package/scripts/ble-config-probe.ts +109 -0
  379. package/scripts/ble-effects-check.ts +82 -0
  380. package/scripts/ble-extended-probe.ts +44 -0
  381. package/scripts/ble-fan-check.ts +129 -0
  382. package/scripts/ble-feature-probe.ts +37 -0
  383. package/scripts/ble-followup-check.ts +165 -0
  384. package/scripts/ble-hardware-check.ts +99 -0
  385. package/scripts/ble-live-extended-check.ts +205 -0
  386. package/scripts/ble-non-ota-check.ts +193 -0
  387. package/scripts/ble-probe.ts +45 -0
  388. package/scripts/calibrate-webcam.ts +152 -0
  389. package/scripts/desktop-reference.ts +85 -0
  390. package/scripts/webcam.ts +129 -0
  391. package/dist/__tests__/lightControl.test.d.ts +0 -2
  392. package/dist/__tests__/lightControl.test.d.ts.map +0 -1
  393. package/dist/__tests__/lightControl.test.js +0 -424
  394. package/dist/__tests__/lightControl.test.js.map +0 -1
  395. package/dist/commands/deviceControl/discover.d.ts.map +0 -1
  396. package/dist/commands/deviceControl/discover.js +0 -29
  397. package/dist/commands/deviceControl/discover.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { VALIDATION_RANGES } from '../../deviceControl/constants.js';
3
- import { addStandardOptions, runDeviceAction } from '../cmdUtils.js';
3
+ import { addStandardOptions, commandCallbackPromise, getAppliedNumber, getLightDevices, runDeviceAction, } from '../cmdUtils.js';
4
4
  export function registerCct(program, deps) {
5
5
  const { asyncCommand } = deps;
6
6
  addStandardOptions(program
@@ -9,22 +9,27 @@ export function registerCct(program, deps) {
9
9
  .description(`Set or get color temperature in Kelvin (${VALIDATION_RANGES.cct.min}-${VALIDATION_RANGES.cct.max}). Omit device or use "all" for all lights.`))
10
10
  .option('-i, --intensity <value>', `Also set intensity (${VALIDATION_RANGES.intensity.min}-${VALIDATION_RANGES.intensity.max})`)
11
11
  .option('-g, --get', 'Get current CCT and intensity instead of setting')
12
+ .option('--relative', 'Apply a signed Kelvin change within each fixture range (requires CCT mode)')
12
13
  .action(asyncCommand(handleCct(deps)));
13
14
  }
14
15
  function handleCct(deps) {
15
16
  return async (tempStr, deviceQuery, options) => {
16
17
  if (options.get) {
18
+ const targetDevice = deviceQuery ?? tempStr;
17
19
  return runDeviceAction({
18
20
  deps,
19
21
  options,
20
- deviceQuery,
22
+ deviceQuery: targetDevice,
21
23
  actionName: 'get temperature',
22
24
  }, async (device, controller) => {
23
25
  return new Promise((resolve) => {
24
26
  controller.getCCT(device.node_id, (success, message, data) => {
25
- if (!success)
26
- throw new Error(message);
27
27
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
28
+ if (!success) {
29
+ console.error(chalk.red(`✗ ${displayName}: Failed to get CCT: ${message}`));
30
+ resolve();
31
+ return;
32
+ }
28
33
  // Handle potential nesting: { data: { data: 1700 } } or { data: { cct: 1700 } }
29
34
  let state = data;
30
35
  if (state && typeof state === 'object' && 'data' in state) {
@@ -56,7 +61,7 @@ function handleCct(deps) {
56
61
  return;
57
62
  }
58
63
  // Filter for light devices only, skipping groups like 'ALL'
59
- const lightDevices = devices.filter((d) => d.node_id?.includes('-') && d.node_id !== '00000000000000000000000000000000');
64
+ const lightDevices = getLightDevices(devices);
60
65
  if (lightDevices.length === 0) {
61
66
  console.log(chalk.yellow('No light devices found'));
62
67
  return;
@@ -100,11 +105,13 @@ function handleCct(deps) {
100
105
  console.error(chalk.red('Error: temperature is required unless using --get'));
101
106
  process.exit(1);
102
107
  }
103
- const temperature = parseInt(tempStr, 10);
104
- if (Number.isNaN(temperature) ||
105
- temperature < VALIDATION_RANGES.cct.min ||
106
- temperature > VALIDATION_RANGES.cct.max) {
107
- console.error(chalk.red(`Temperature must be between ${VALIDATION_RANGES.cct.min}K and ${VALIDATION_RANGES.cct.max}K`));
108
+ const temperature = Number(tempStr);
109
+ if (!Number.isFinite(temperature) ||
110
+ temperature < (options.relative ? -7500 : VALIDATION_RANGES.cct.min) ||
111
+ temperature > (options.relative ? 7500 : VALIDATION_RANGES.cct.max)) {
112
+ console.error(chalk.red(options.relative
113
+ ? 'Relative CCT must be between -7500K and 7500K'
114
+ : `Temperature must be between ${VALIDATION_RANGES.cct.min}K and ${VALIDATION_RANGES.cct.max}K`));
108
115
  process.exit(1);
109
116
  }
110
117
  let intensity;
@@ -118,6 +125,9 @@ function handleCct(deps) {
118
125
  }
119
126
  intensity = intensity * 10;
120
127
  }
128
+ let appliedTemperature = temperature;
129
+ let appliedIntensity = intensity;
130
+ let observedTemperature = false;
121
131
  return runDeviceAction({
122
132
  deps,
123
133
  options,
@@ -125,24 +135,42 @@ function handleCct(deps) {
125
135
  actionName: 'set temperature',
126
136
  onSuccess: (device) => {
127
137
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
128
- let msg = `✓ ${displayName} temperature set to ${temperature}K`;
138
+ let msg = options.relative
139
+ ? `✓ ${displayName} temperature adjusted${observedTemperature ? ` to ${appliedTemperature}K` : ''} (relative request ${temperature}K)`
140
+ : `✓ ${displayName} temperature set to ${appliedTemperature}K`;
141
+ if (!options.relative && appliedTemperature !== temperature)
142
+ msg += ` (rounded from ${temperature}K)`;
129
143
  if (intensity !== undefined) {
130
- msg += ` at ${intensity / 10}% intensity`;
144
+ msg += ` at ${(appliedIntensity ?? intensity) / 10}% intensity`;
131
145
  }
132
146
  return msg;
133
147
  },
134
148
  }, (device, controller) => {
135
- return new Promise((resolve) => {
136
- controller.setCCT(device.node_id, temperature, intensity, (success, message) => {
137
- if (!success)
138
- throw new Error(message);
139
- resolve();
149
+ return commandCallbackPromise((callback) => {
150
+ const apply = options.relative
151
+ ? controller.incrementCCT.bind(controller)
152
+ : controller.setCCT.bind(controller);
153
+ apply(device.node_id, temperature, intensity, (success, message, data) => {
154
+ if (success && device.backend === 'ble' && data && typeof data === 'object') {
155
+ const cct = getAppliedNumber(data, 'cct');
156
+ if (cct !== undefined) {
157
+ appliedTemperature = cct;
158
+ observedTemperature = true;
159
+ }
160
+ appliedIntensity = getAppliedNumber(data, 'intensity') ?? appliedIntensity;
161
+ }
162
+ callback(success, message, data);
140
163
  });
141
164
  });
142
165
  }, async (controller) => {
143
- await controller.setCCTAndIntensityForAllLights(temperature, intensity, (success, message) => {
144
- if (!success)
166
+ const apply = options.relative
167
+ ? controller.incrementCCTForAllLights.bind(controller)
168
+ : controller.setCCTAndIntensityForAllLights.bind(controller);
169
+ await apply(temperature, intensity, (success, message) => {
170
+ if (!success) {
171
+ process.exitCode = 1;
145
172
  console.error(`✗ Failed to set temperature: ${message}`);
173
+ }
146
174
  });
147
175
  });
148
176
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cct.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/cct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cct.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/cct.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/color.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,8BAA8B,CAAC;AAGxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAahE;AAoPD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/color.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,8BAA8B,CAAC;AAGxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAahE;AA0PD,eAAe,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { addStandardOptions, runDeviceAction } from '../cmdUtils.js';
2
+ import { addStandardOptions, commandCallbackPromise, getLightDevices, runDeviceAction } from '../cmdUtils.js';
3
3
  export function registerColor(program, deps) {
4
4
  const { asyncCommand } = deps;
5
5
  addStandardOptions(program
@@ -30,8 +30,12 @@ function handleColor(deps) {
30
30
  actionName: 'get color',
31
31
  }, async (device, controller) => {
32
32
  // We use getNodeConfig initially
33
- return new Promise((resolve) => {
33
+ return new Promise((resolve, reject) => {
34
34
  controller.getNodeConfig(device.node_id, async (_success, _messagee, data) => {
35
+ if (!_success && device.backend === 'ble') {
36
+ reject(new Error(_messagee));
37
+ return;
38
+ }
35
39
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
36
40
  const config = data?.data ||
37
41
  data ||
@@ -103,15 +107,19 @@ function handleColor(deps) {
103
107
  return;
104
108
  }
105
109
  // Filter for light devices only
106
- const lightDevices = devices.filter((d) => d.node_id?.includes('-') && d.node_id !== '00000000000000000000000000000000');
110
+ const lightDevices = getLightDevices(devices);
107
111
  if (lightDevices.length === 0) {
108
112
  console.log(chalk.yellow('No light devices found'));
109
113
  return;
110
114
  }
111
115
  for (const device of lightDevices) {
112
116
  if (device.node_id) {
113
- await new Promise((resolve) => {
117
+ await new Promise((resolve, reject) => {
114
118
  controller.getNodeConfig(device.node_id, async (_success, _messagee, data) => {
119
+ if (!_success && device.backend === 'ble') {
120
+ reject(new Error(_messagee));
121
+ return;
122
+ }
115
123
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
116
124
  const config = data?.data ||
117
125
  data ||
@@ -201,17 +209,13 @@ function handleColor(deps) {
201
209
  return msg;
202
210
  },
203
211
  }, (device, controller) => {
204
- return new Promise((resolve) => {
205
- controller.setColor(device.node_id, color, intensity, (success, message) => {
206
- if (!success)
207
- throw new Error(message);
208
- resolve();
209
- });
210
- });
212
+ return commandCallbackPromise((callback) => controller.setColor(device.node_id, color, intensity, callback));
211
213
  }, async (controller) => {
212
214
  await controller.setColorForAllLights(color, intensity, (success, message) => {
213
- if (!success)
215
+ if (!success) {
216
+ process.exitCode = 1;
214
217
  console.error(`✗ Failed to set color: ${message}`);
218
+ }
215
219
  });
216
220
  });
217
221
  };
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/color.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/color.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,8BAA8B,CAAC;AAoBxE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAyBzE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,8BAA8B,CAAC;AAwBxE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA4BzE"}
@@ -1,14 +1,17 @@
1
- import * as fs from 'node:fs';
2
- import * as path from 'node:path';
3
1
  import chalk from 'chalk';
2
+ import { getConfigPath, getConfigReadPath } from '../../config.js';
4
3
  import { CURVE_HELP_TEXT } from '../../daylightSimulation/constants.js';
5
4
  import { formatCoordinate } from '../../daylightSimulation/privacyUtil.js';
5
+ import { parseBooleanString, parseStrictInteger, parseStrictNumber } from '../parseUtils.js';
6
6
  export default function registerConfig(program, deps) {
7
7
  const { asyncCommand } = deps;
8
8
  program
9
9
  .command('config')
10
- .description('Configure WebSocket URL and other settings')
10
+ .description('Configure light backend and other settings')
11
+ .option('-b, --backend <backend>', 'Default backend: ble or desktop; websocket is a desktop alias')
11
12
  .option('-u, --url <url>', 'WebSocket URL (default: ws://localhost:60124)')
13
+ .option('--ble-url <url>', 'BLE HTTP daemon URL (default: http://localhost:2708)')
14
+ .option('--ble-api-key <key>', 'BLE HTTP daemon API key')
12
15
  .option('-c, --client-id <id>', 'Client ID (default: amaran-cli)')
13
16
  .option('-d, --debug <boolean>', 'Enable debug mode')
14
17
  .option('--lat <latitude>', 'Default latitude for auto-cct (overrides geoip)')
@@ -19,7 +22,7 @@ export default function registerConfig(program, deps) {
19
22
  .option('--intensity-max <percent>', 'Maximum intensity for auto-cct in percent (default: 100)')
20
23
  .option('--default-curve <curve>', CURVE_HELP_TEXT)
21
24
  .option('--auto-start-app <boolean>', 'Automatically start Amaran desktop app on connection failure (default: true)')
22
- .option('--max-lux <number>', 'Maximum lux output of the setup (for auto-cct scaling)')
25
+ .option('--max-lux <value>', 'Maximum lux number or Kelvin map, e.g. 2700:8000,5600:10000')
23
26
  .option('--weather <boolean>', 'Enable automatic weather fetching for auto-cct (default: false)')
24
27
  .option('--privacy-off', 'Show full coordinates and sensitive data', false)
25
28
  .option('--show', 'Show current configuration')
@@ -31,7 +34,10 @@ function handleConfig(deps) {
31
34
  throw new Error('loadConfig dependency is required');
32
35
  }
33
36
  return async (options) => {
34
- const hasSetOptions = options.url !== undefined ||
37
+ const hasSetOptions = options.backend !== undefined ||
38
+ options.url !== undefined ||
39
+ options.bleUrl !== undefined ||
40
+ options.bleApiKey !== undefined ||
35
41
  options.clientId !== undefined ||
36
42
  options.debug !== undefined ||
37
43
  options.lat !== undefined ||
@@ -47,7 +53,12 @@ function handleConfig(deps) {
47
53
  if (options.show || !hasSetOptions) {
48
54
  const config = loadConfig() || {};
49
55
  const privacyOff = options.privacyOff === true;
56
+ const readPath = getConfigReadPath();
50
57
  console.log(chalk.blue('Current configuration:'));
58
+ console.log(chalk.gray(`Config path: ${readPath ?? getConfigPath()}`));
59
+ if (readPath && readPath !== getConfigPath() && Object.keys(config).length > 0) {
60
+ console.log(chalk.gray(`Run any config update to migrate this file to ${getConfigPath()}.`));
61
+ }
51
62
  const displayConfig = { ...config };
52
63
  if (typeof displayConfig.latitude === 'number') {
53
64
  displayConfig.latitude = formatCoordinate(displayConfig.latitude, privacyOff);
@@ -60,10 +71,27 @@ function handleConfig(deps) {
60
71
  }
61
72
  const config = loadConfig() || {};
62
73
  const changes = [];
74
+ if (options.backend !== undefined) {
75
+ const backend = options.backend.trim().toLowerCase();
76
+ if (backend !== 'ble' && backend !== 'desktop' && backend !== 'websocket') {
77
+ console.error(chalk.red('Backend must be "ble" or "desktop" ("websocket" remains an alias)'));
78
+ process.exit(1);
79
+ }
80
+ config.backend = backend;
81
+ changes.push(`Backend: ${backend}`);
82
+ }
63
83
  if (options.url) {
64
84
  config.wsUrl = options.url;
65
85
  changes.push(`WebSocket URL: ${options.url}`);
66
86
  }
87
+ if (options.bleUrl) {
88
+ config.bleUrl = options.bleUrl;
89
+ changes.push(`BLE HTTP URL: ${options.bleUrl}`);
90
+ }
91
+ if (options.bleApiKey !== undefined) {
92
+ config.bleApiKey = options.bleApiKey;
93
+ changes.push('BLE HTTP API key: configured');
94
+ }
67
95
  if (options.clientId) {
68
96
  config.clientId = options.clientId;
69
97
  changes.push(`Client ID: ${options.clientId}`);
@@ -74,22 +102,25 @@ function handleConfig(deps) {
74
102
  config.debug = value;
75
103
  }
76
104
  else {
77
- const lowerValue = value.toLowerCase().trim();
78
- if (lowerValue === 'true' || lowerValue === '1' || lowerValue === 'yes' || lowerValue === 'on') {
79
- config.debug = true;
105
+ try {
106
+ config.debug = parseBooleanString(value, 'debug');
80
107
  }
81
- else if (lowerValue === 'false' || lowerValue === '0' || lowerValue === 'no' || lowerValue === 'off') {
82
- config.debug = false;
83
- }
84
- else {
85
- console.error(chalk.red('debug must be true or false'));
108
+ catch (error) {
109
+ console.error(chalk.red(error.message));
86
110
  process.exit(1);
87
111
  }
88
112
  }
89
113
  changes.push(`Debug mode: ${config.debug ? 'enabled' : 'disabled'}`);
90
114
  }
91
115
  if (options.lat !== undefined) {
92
- const lat = parseFloat(options.lat);
116
+ let lat;
117
+ try {
118
+ lat = parseStrictNumber(options.lat, 'Latitude');
119
+ }
120
+ catch (error) {
121
+ console.error(chalk.red(error.message));
122
+ process.exit(1);
123
+ }
93
124
  if (Number.isNaN(lat) || lat < -90 || lat > 90) {
94
125
  console.error(chalk.red('Latitude must be between -90 and 90'));
95
126
  process.exit(1);
@@ -98,7 +129,14 @@ function handleConfig(deps) {
98
129
  changes.push(`Latitude: ${lat}`);
99
130
  }
100
131
  if (options.lon !== undefined) {
101
- const lon = parseFloat(options.lon);
132
+ let lon;
133
+ try {
134
+ lon = parseStrictNumber(options.lon, 'Longitude');
135
+ }
136
+ catch (error) {
137
+ console.error(chalk.red(error.message));
138
+ process.exit(1);
139
+ }
102
140
  if (Number.isNaN(lon) || lon < -180 || lon > 180) {
103
141
  console.error(chalk.red('Longitude must be between -180 and 180'));
104
142
  process.exit(1);
@@ -109,36 +147,48 @@ function handleConfig(deps) {
109
147
  // Bounds validation helpers
110
148
  const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
111
149
  if (options.cctMin !== undefined) {
112
- const k = parseInt(options.cctMin, 10);
113
- if (Number.isNaN(k)) {
114
- console.error(chalk.red('cct-min must be a number (Kelvin)'));
150
+ let k;
151
+ try {
152
+ k = parseStrictInteger(options.cctMin, 'cct-min');
153
+ }
154
+ catch (error) {
155
+ console.error(chalk.red(error.message));
115
156
  process.exit(1);
116
157
  }
117
158
  config.cctMin = clamp(k, 1000, 20000);
118
159
  changes.push(`CCT minimum: ${config.cctMin}K`);
119
160
  }
120
161
  if (options.cctMax !== undefined) {
121
- const k = parseInt(options.cctMax, 10);
122
- if (Number.isNaN(k)) {
123
- console.error(chalk.red('cct-max must be a number (Kelvin)'));
162
+ let k;
163
+ try {
164
+ k = parseStrictInteger(options.cctMax, 'cct-max');
165
+ }
166
+ catch (error) {
167
+ console.error(chalk.red(error.message));
124
168
  process.exit(1);
125
169
  }
126
170
  config.cctMax = clamp(k, 1000, 20000);
127
171
  changes.push(`CCT maximum: ${config.cctMax}K`);
128
172
  }
129
173
  if (options.intensityMin !== undefined) {
130
- const p = parseFloat(options.intensityMin);
131
- if (Number.isNaN(p)) {
132
- console.error(chalk.red('intensity-min must be a number (percent)'));
174
+ let p;
175
+ try {
176
+ p = parseStrictNumber(options.intensityMin, 'intensity-min');
177
+ }
178
+ catch (error) {
179
+ console.error(chalk.red(error.message));
133
180
  process.exit(1);
134
181
  }
135
182
  config.intensityMin = clamp(p, 0, 100);
136
183
  changes.push(`Intensity minimum: ${config.intensityMin}%`);
137
184
  }
138
185
  if (options.intensityMax !== undefined) {
139
- const p = parseFloat(options.intensityMax);
140
- if (Number.isNaN(p)) {
141
- console.error(chalk.red('intensity-max must be a number (percent)'));
186
+ let p;
187
+ try {
188
+ p = parseStrictNumber(options.intensityMax, 'intensity-max');
189
+ }
190
+ catch (error) {
191
+ console.error(chalk.red(error.message));
142
192
  process.exit(1);
143
193
  }
144
194
  config.intensityMax = clamp(p, 0, 100);
@@ -165,15 +215,11 @@ function handleConfig(deps) {
165
215
  config.autoStartApp = value;
166
216
  }
167
217
  else {
168
- const lowerValue = value.toLowerCase().trim();
169
- if (lowerValue === 'true' || lowerValue === '1' || lowerValue === 'yes' || lowerValue === 'on') {
170
- config.autoStartApp = true;
171
- }
172
- else if (lowerValue === 'false' || lowerValue === '0' || lowerValue === 'no' || lowerValue === 'off') {
173
- config.autoStartApp = false;
218
+ try {
219
+ config.autoStartApp = parseBooleanString(value, 'auto-start-app');
174
220
  }
175
- else {
176
- console.error(chalk.red('auto-start-app must be true or false'));
221
+ catch (error) {
222
+ console.error(chalk.red(error.message));
177
223
  process.exit(1);
178
224
  }
179
225
  }
@@ -184,7 +230,13 @@ function handleConfig(deps) {
184
230
  let valid = false;
185
231
  const luxVal = options.maxLux;
186
232
  // Try as simple number
187
- const luxNum = parseFloat(luxVal);
233
+ let luxNum;
234
+ try {
235
+ luxNum = parseStrictNumber(luxVal, 'max-lux');
236
+ }
237
+ catch (_error) {
238
+ luxNum = Number.NaN;
239
+ }
188
240
  if (!Number.isNaN(luxNum) && luxNum > 0 && !luxVal.includes(':')) {
189
241
  config.maxLux = luxNum;
190
242
  changes.push(`Max Lux: ${luxNum}`);
@@ -209,18 +261,14 @@ function handleConfig(deps) {
209
261
  if (options.weather !== undefined) {
210
262
  const value = options.weather;
211
263
  if (typeof value === 'boolean') {
212
- config.weather = value.toString() === 'true'; // Commander might pass boolean if it was a flag, but we defined it with <boolean>
264
+ config.weather = value;
213
265
  }
214
266
  else {
215
- const lowerValue = value.toLowerCase().trim();
216
- if (lowerValue === 'true' || lowerValue === '1' || lowerValue === 'yes' || lowerValue === 'on') {
217
- config.weather = true;
218
- }
219
- else if (lowerValue === 'false' || lowerValue === '0' || lowerValue === 'no' || lowerValue === 'off') {
220
- config.weather = false;
267
+ try {
268
+ config.weather = parseBooleanString(value, 'weather');
221
269
  }
222
- else {
223
- console.error(chalk.red('weather must be true or false'));
270
+ catch (error) {
271
+ console.error(chalk.red(error.message));
224
272
  process.exit(1);
225
273
  }
226
274
  }
@@ -243,23 +291,11 @@ function handleConfig(deps) {
243
291
  console.error(chalk.red('intensity-min must be <= intensity-max'));
244
292
  process.exit(1);
245
293
  }
246
- // Save the config using provided deps if available, otherwise fallback to local write
247
294
  if (typeof saveConfig === 'function') {
248
295
  saveConfig(config, changes);
249
296
  }
250
297
  else {
251
- // Filesystem and Path imports are handled at top level
252
- const configPath = path.join(process.env.HOME || '', '.amaran-cli.json');
253
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
254
- if (changes && changes.length > 0) {
255
- console.log(chalk.green('Configuration saved successfully:'));
256
- changes.forEach((change) => {
257
- console.log(chalk.green(` • ${change}`));
258
- });
259
- }
260
- else {
261
- console.log(chalk.green('Configuration saved successfully'));
262
- }
298
+ throw new Error('saveConfig dependency is required');
263
299
  }
264
300
  };
265
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Command } from 'commander';
2
2
  import type { CommandDeps } from '../../deviceControl/types.js';
3
+ export declare function registerDesktop(program: Command, deps: CommandDeps): void;
3
4
  export declare function registerDiscover(program: Command, deps: CommandDeps): void;
4
- export default registerDiscover;
5
- //# sourceMappingURL=discover.d.ts.map
5
+ export default registerDesktop;
6
+ //# sourceMappingURL=desktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/desktop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,8BAA8B,CAAC;AAGxF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAclE;AAUD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAEnE;AA4CD,eAAe,eAAe,CAAC"}