amaran-light-cli 1.10.0 → 1.11.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 (132) hide show
  1. package/README.md +46 -3
  2. package/dist/__tests__/autoCct.test.js +8 -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__/cctUtil.test.js +2 -1
  9. package/dist/__tests__/cctUtil.test.js.map +1 -1
  10. package/dist/__tests__/cli.config.test.d.ts +2 -0
  11. package/dist/__tests__/cli.config.test.d.ts.map +1 -0
  12. package/dist/__tests__/cli.config.test.js +65 -0
  13. package/dist/__tests__/cli.config.test.js.map +1 -0
  14. package/dist/__tests__/cli.smoke.test.js +36 -17
  15. package/dist/__tests__/cli.smoke.test.js.map +1 -1
  16. package/dist/__tests__/lightControl.test.js +2 -2
  17. package/dist/__tests__/lightControl.test.js.map +1 -1
  18. package/dist/__tests__/maxLuxInterpolation.test.js +4 -2
  19. package/dist/__tests__/maxLuxInterpolation.test.js.map +1 -1
  20. package/dist/__tests__/packageExports.test.d.ts +2 -0
  21. package/dist/__tests__/packageExports.test.d.ts.map +1 -0
  22. package/dist/__tests__/packageExports.test.js +33 -0
  23. package/dist/__tests__/packageExports.test.js.map +1 -0
  24. package/dist/__tests__/simulateSchedule.test.js +7 -3
  25. package/dist/__tests__/simulateSchedule.test.js.map +1 -1
  26. package/dist/circadian.d.ts +16 -0
  27. package/dist/circadian.d.ts.map +1 -0
  28. package/dist/circadian.js +11 -0
  29. package/dist/circadian.js.map +1 -0
  30. package/dist/cli.d.ts +2 -1
  31. package/dist/cli.d.ts.map +1 -1
  32. package/dist/cli.js +35 -28
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/__tests__/integration.test.js +28 -0
  35. package/dist/commands/__tests__/integration.test.js.map +1 -1
  36. package/dist/commands/cmdUtils.d.ts +4 -1
  37. package/dist/commands/cmdUtils.d.ts.map +1 -1
  38. package/dist/commands/cmdUtils.js +19 -0
  39. package/dist/commands/cmdUtils.js.map +1 -1
  40. package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
  41. package/dist/commands/daylightSimulation/autoCct.js +64 -32
  42. package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
  43. package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -1
  44. package/dist/commands/daylightSimulation/graphSchedule.js +2 -0
  45. package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
  46. package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -1
  47. package/dist/commands/daylightSimulation/printSchedule.js +2 -0
  48. package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
  49. package/dist/commands/daylightSimulation/service.d.ts.map +1 -1
  50. package/dist/commands/daylightSimulation/service.js +15 -7
  51. package/dist/commands/daylightSimulation/service.js.map +1 -1
  52. package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
  53. package/dist/commands/daylightSimulation/simulateSchedule.js +26 -9
  54. package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
  55. package/dist/commands/daylightSimulation/weather.d.ts.map +1 -1
  56. package/dist/commands/daylightSimulation/weather.js +19 -4
  57. package/dist/commands/daylightSimulation/weather.js.map +1 -1
  58. package/dist/commands/deviceControl/cct.d.ts.map +1 -1
  59. package/dist/commands/deviceControl/cct.js +10 -12
  60. package/dist/commands/deviceControl/cct.js.map +1 -1
  61. package/dist/commands/deviceControl/color.d.ts.map +1 -1
  62. package/dist/commands/deviceControl/color.js +3 -9
  63. package/dist/commands/deviceControl/color.js.map +1 -1
  64. package/dist/commands/deviceControl/config.d.ts.map +1 -1
  65. package/dist/commands/deviceControl/config.js +68 -55
  66. package/dist/commands/deviceControl/config.js.map +1 -1
  67. package/dist/commands/deviceControl/hsi.d.ts.map +1 -1
  68. package/dist/commands/deviceControl/hsi.js +3 -9
  69. package/dist/commands/deviceControl/hsi.js.map +1 -1
  70. package/dist/commands/deviceControl/intensity.d.ts.map +1 -1
  71. package/dist/commands/deviceControl/intensity.js +10 -12
  72. package/dist/commands/deviceControl/intensity.js.map +1 -1
  73. package/dist/commands/deviceControl/list.d.ts.map +1 -1
  74. package/dist/commands/deviceControl/list.js +18 -13
  75. package/dist/commands/deviceControl/list.js.map +1 -1
  76. package/dist/commands/deviceControl/power.d.ts.map +1 -1
  77. package/dist/commands/deviceControl/power.js +10 -25
  78. package/dist/commands/deviceControl/power.js.map +1 -1
  79. package/dist/commands/deviceControl/status.d.ts.map +1 -1
  80. package/dist/commands/deviceControl/status.js +3 -3
  81. package/dist/commands/deviceControl/status.js.map +1 -1
  82. package/dist/commands/parseUtils.d.ts +6 -0
  83. package/dist/commands/parseUtils.d.ts.map +1 -0
  84. package/dist/commands/parseUtils.js +42 -0
  85. package/dist/commands/parseUtils.js.map +1 -0
  86. package/dist/commands-api.d.ts +28 -0
  87. package/dist/commands-api.d.ts.map +1 -0
  88. package/dist/commands-api.js +27 -0
  89. package/dist/commands-api.js.map +1 -0
  90. package/dist/config.d.ts +83 -0
  91. package/dist/config.d.ts.map +1 -0
  92. package/dist/config.js +114 -0
  93. package/dist/config.js.map +1 -0
  94. package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
  95. package/dist/daylightSimulation/cctUtil.js +21 -20
  96. package/dist/daylightSimulation/cctUtil.js.map +1 -1
  97. package/dist/daylightSimulation/curves/realistic.d.ts +6 -6
  98. package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -1
  99. package/dist/daylightSimulation/curves/realistic.js +36 -6
  100. package/dist/daylightSimulation/curves/realistic.js.map +1 -1
  101. package/dist/daylightSimulation/mathUtil.d.ts.map +1 -1
  102. package/dist/daylightSimulation/mathUtil.js +6 -2
  103. package/dist/daylightSimulation/mathUtil.js.map +1 -1
  104. package/dist/daylightSimulation/scheduleMaker.d.ts +6 -2
  105. package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -1
  106. package/dist/daylightSimulation/scheduleMaker.js +4 -6
  107. package/dist/daylightSimulation/scheduleMaker.js.map +1 -1
  108. package/dist/daylightSimulation/types.d.ts +2 -0
  109. package/dist/daylightSimulation/types.d.ts.map +1 -1
  110. package/dist/daylightSimulation/types.js.map +1 -1
  111. package/dist/daylightSimulation/weatherUtil.d.ts.map +1 -1
  112. package/dist/daylightSimulation/weatherUtil.js +31 -0
  113. package/dist/daylightSimulation/weatherUtil.js.map +1 -1
  114. package/dist/device-control.d.ts +7 -0
  115. package/dist/device-control.d.ts.map +1 -0
  116. package/dist/device-control.js +7 -0
  117. package/dist/device-control.js.map +1 -0
  118. package/dist/deviceControl/autostart.d.ts.map +1 -1
  119. package/dist/deviceControl/autostart.js +15 -16
  120. package/dist/deviceControl/autostart.js.map +1 -1
  121. package/dist/deviceControl/lightControl.d.ts +1 -0
  122. package/dist/deviceControl/lightControl.d.ts.map +1 -1
  123. package/dist/deviceControl/lightControl.js +20 -10
  124. package/dist/deviceControl/lightControl.js.map +1 -1
  125. package/dist/deviceControl/types.d.ts +8 -0
  126. package/dist/deviceControl/types.d.ts.map +1 -1
  127. package/dist/index.d.ts +11 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +7 -0
  130. package/dist/index.js.map +1 -0
  131. package/docs/CHANGELOG.md +134 -0
  132. package/package.json +33 -6
@@ -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 registerIntensity(program, deps) {
4
4
  const { asyncCommand } = deps;
5
5
  addStandardOptions(program
@@ -11,17 +11,21 @@ export function registerIntensity(program, deps) {
11
11
  function handleIntensity(deps) {
12
12
  return async (intensityStr, deviceQuery, options) => {
13
13
  if (options.get) {
14
+ const targetDevice = deviceQuery ?? intensityStr;
14
15
  return runDeviceAction({
15
16
  deps,
16
17
  options,
17
- deviceQuery,
18
+ deviceQuery: targetDevice,
18
19
  actionName: 'get intensity',
19
20
  }, async (device, controller) => {
20
21
  return new Promise((resolve) => {
21
22
  controller.getIntensity(device.node_id, (success, message, data) => {
22
- if (!success)
23
- throw new Error(message);
24
23
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
24
+ if (!success) {
25
+ console.error(chalk.red(`✗ ${displayName}: Failed to get intensity: ${message}`));
26
+ resolve();
27
+ return;
28
+ }
25
29
  // Handle potential nesting: { data: { data: 500 } }
26
30
  let state = data;
27
31
  if (state && typeof state === 'object' && 'data' in state) {
@@ -51,7 +55,7 @@ function handleIntensity(deps) {
51
55
  return;
52
56
  }
53
57
  // Filter for light devices only, skipping groups like 'ALL'
54
- const lightDevices = devices.filter((d) => d.node_id?.includes('-') && d.node_id !== '00000000000000000000000000000000');
58
+ const lightDevices = getLightDevices(devices);
55
59
  if (lightDevices.length === 0) {
56
60
  console.log(chalk.yellow('No light devices found'));
57
61
  return;
@@ -106,13 +110,7 @@ function handleIntensity(deps) {
106
110
  actionName: 'set intensity',
107
111
  onSuccess: (device) => `✓ ${device.device_name || device.name || device.id || device.node_id || 'Unknown'} intensity set to ${intensity}%`,
108
112
  }, (device, controller) => {
109
- return new Promise((resolve) => {
110
- controller.setIntensity(device.node_id, apiIntensity, (success, message) => {
111
- if (!success)
112
- throw new Error(message);
113
- resolve();
114
- });
115
- });
113
+ return commandCallbackPromise((callback) => controller.setIntensity(device.node_id, apiIntensity, callback));
116
114
  }, async (controller) => {
117
115
  await controller.setIntensityForAllLights(apiIntensity, (success, message) => {
118
116
  if (!success)
@@ -1 +1 @@
1
- {"version":3,"file":"intensity.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/intensity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intensity.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/intensity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,8BAA8B,CAAC;AAEhF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAa/D;AA2BD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,8BAA8B,CAAC;AAGhF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAa/D;AA6BD,eAAe,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import chalk from 'chalk';
2
+ import { getLightDevices } from '../cmdUtils.js';
2
3
  export function registerList(program, deps) {
3
4
  const { asyncCommand } = deps;
4
5
  program
@@ -16,20 +17,24 @@ function handleList(deps) {
16
17
  const { createController } = deps;
17
18
  return async (options) => {
18
19
  const controller = await createController(options.url, options.clientId, options.debug);
19
- const devices = controller.getDevices();
20
- if (devices.length === 0) {
21
- console.log(chalk.yellow('No devices found'));
22
- return;
23
- }
24
- console.log(chalk.blue('Available lights:'));
25
- devices.forEach((device, index) => {
26
- const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
27
- console.log(`${index + 1}. ${chalk.green(displayName)} (${chalk.gray(device.node_id || device.id || '?')})`);
28
- if (device.device_type) {
29
- console.log(` Type: ${device.device_type}`);
20
+ try {
21
+ const devices = getLightDevices(controller.getDevices());
22
+ if (devices.length === 0) {
23
+ console.log(chalk.yellow('No light devices found'));
24
+ return;
30
25
  }
31
- });
32
- await controller.disconnect();
26
+ console.log(chalk.blue('Available lights:'));
27
+ devices.forEach((device, index) => {
28
+ const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
29
+ console.log(`${index + 1}. ${chalk.green(displayName)} (${chalk.gray(device.node_id || device.id || '?')})`);
30
+ if (device.device_type) {
31
+ console.log(` Type: ${device.device_type}`);
32
+ }
33
+ });
34
+ }
35
+ finally {
36
+ await controller.disconnect();
37
+ }
33
38
  };
34
39
  }
35
40
  export default registerList;
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAiB;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,WAAW,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO,KAAK,EAAE,OAAuB,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAExF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7G,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAiB;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,WAAW,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO,KAAK,EAAE,OAAuB,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAExF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE;gBACxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;gBAClG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7G,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/power.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,QAqBhE;AAsLD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/power.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,QAqBhE;AAyKD,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 registerPower(program, deps) {
4
4
  const { asyncCommand } = deps;
5
5
  // on
@@ -22,9 +22,12 @@ async function getPowerStatus(deps, deviceQuery, options, _actionName) {
22
22
  }, async (device, controller) => {
23
23
  return new Promise((resolve) => {
24
24
  controller.getLightSleepStatus(device.node_id, (success, message, data) => {
25
- if (!success)
26
- throw new Error(message);
27
25
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
26
+ if (!success) {
27
+ console.error(chalk.red(`✗ ${displayName}: Failed to get status: ${message}`));
28
+ resolve();
29
+ return;
30
+ }
28
31
  // Handle potential nesting: { data: { data: false } } or { data: { sleep: false } }
29
32
  let state = data;
30
33
  if (state && typeof state === 'object' && 'data' in state) {
@@ -52,7 +55,7 @@ async function getPowerStatus(deps, deviceQuery, options, _actionName) {
52
55
  return;
53
56
  }
54
57
  // Filter for light devices only, skipping groups like 'ALL'
55
- const lightDevices = devices.filter((d) => d.node_id?.includes('-') && d.node_id !== '00000000000000000000000000000000');
58
+ const lightDevices = getLightDevices(devices);
56
59
  if (lightDevices.length === 0) {
57
60
  console.log(chalk.yellow('No light devices found'));
58
61
  return;
@@ -101,13 +104,7 @@ function handleOn(deps) {
101
104
  actionName: 'turn on light',
102
105
  onSuccess: (device) => `✓ ${device.device_name || device.name || device.id || device.node_id || 'Unknown'} turned on`,
103
106
  }, (device, controller) => {
104
- return new Promise((resolve) => {
105
- controller.turnLightOn(device.node_id, (success, message) => {
106
- if (!success)
107
- throw new Error(message);
108
- resolve();
109
- });
110
- });
107
+ return commandCallbackPromise((callback) => controller.turnLightOn(device.node_id, callback));
111
108
  }, async (controller) => {
112
109
  await controller.turnOnAllLights((success, message) => {
113
110
  if (!success)
@@ -128,13 +125,7 @@ function handleOff(deps) {
128
125
  actionName: 'turn off light',
129
126
  onSuccess: (device) => `✓ ${device.device_name || device.name || device.id || device.node_id || 'Unknown'} turned off`,
130
127
  }, (device, controller) => {
131
- return new Promise((resolve) => {
132
- controller.turnLightOff(device.node_id, (success, message) => {
133
- if (!success)
134
- throw new Error(message);
135
- resolve();
136
- });
137
- });
128
+ return commandCallbackPromise((callback) => controller.turnLightOff(device.node_id, callback));
138
129
  }, async (controller) => {
139
130
  await controller.turnOffAllLights((success, message) => {
140
131
  if (!success)
@@ -151,13 +142,7 @@ function handleToggle(deps) {
151
142
  actionName: 'toggle light',
152
143
  onSuccess: (device) => `✓ ${device.device_name || device.name || device.id || device.node_id || 'Unknown'} toggled`,
153
144
  }, (device, controller) => {
154
- return new Promise((resolve) => {
155
- controller.toggleLight(device.node_id, (success, message) => {
156
- if (!success)
157
- throw new Error(message);
158
- resolve();
159
- });
160
- });
145
+ return commandCallbackPromise((callback) => controller.toggleLight(device.node_id, callback));
161
146
  }, async (controller) => {
162
147
  await controller.toggleAllLights((success, message) => {
163
148
  if (!success)
@@ -1 +1 @@
1
- {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/power.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/power.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,8BAA8B,CAAC;AAGpG,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAMjE;AAmPD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,8BAA8B,CAAC;AAGpG,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAMjE;AAkPD,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { addStandardOptions, runDeviceAction } from '../cmdUtils.js';
2
+ import { addStandardOptions, getLightDevices, runDeviceAction } from '../cmdUtils.js';
3
3
  export function registerStatus(program, deps) {
4
4
  const { asyncCommand } = deps;
5
5
  addStandardOptions(program.command('status [device]').description('Get the current status of light(s). Omit device to show all.')).action(asyncCommand(handleStatus(deps)));
@@ -137,13 +137,13 @@ function handleStatus(deps) {
137
137
  console.log(chalk.yellow('No devices found.'));
138
138
  return;
139
139
  }
140
- console.log(chalk.bold(`Fetching status for ${devices.length} device(s)...`));
141
140
  // Filter for valid devices
142
- const lightDevices = devices.filter((d) => d.node_id?.includes('-') && d.node_id !== '00000000000000000000000000000000');
141
+ const lightDevices = getLightDevices(devices);
143
142
  if (lightDevices.length === 0) {
144
143
  console.log(chalk.yellow('No light devices found.'));
145
144
  return;
146
145
  }
146
+ console.log(chalk.bold(`Fetching status for ${lightDevices.length} light(s)...`));
147
147
  for (const device of lightDevices) {
148
148
  const nodeId = device.node_id;
149
149
  if (!nodeId)
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/deviceControl/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function parseStrictNumber(value: string, label: string): number;
2
+ export declare function parseStrictInteger(value: string, label: string): number;
3
+ export declare function parseBooleanString(value: string, label: string): boolean;
4
+ export declare function parseCloudCover(value: string | number | undefined): number | undefined;
5
+ export declare function escapeXmlText(value: string): string;
6
+ //# sourceMappingURL=parseUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUtils.d.ts","sourceRoot":"","sources":["../../src/commands/parseUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKxE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAStF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD"}
@@ -0,0 +1,42 @@
1
+ export function parseStrictNumber(value, label) {
2
+ const trimmed = value.trim();
3
+ if (!/^-?(?:\d+|\d*\.\d+)$/.test(trimmed)) {
4
+ throw new Error(`${label} must be a number`);
5
+ }
6
+ return Number(trimmed);
7
+ }
8
+ export function parseStrictInteger(value, label) {
9
+ const trimmed = value.trim();
10
+ if (!/^-?\d+$/.test(trimmed)) {
11
+ throw new Error(`${label} must be an integer`);
12
+ }
13
+ return Number(trimmed);
14
+ }
15
+ export function parseBooleanString(value, label) {
16
+ const normalized = value.toLowerCase().trim();
17
+ if (normalized === 'true' || normalized === '1' || normalized === 'yes' || normalized === 'on')
18
+ return true;
19
+ if (normalized === 'false' || normalized === '0' || normalized === 'no' || normalized === 'off')
20
+ return false;
21
+ throw new Error(`${label} must be true or false`);
22
+ }
23
+ export function parseCloudCover(value) {
24
+ if (value === undefined)
25
+ return undefined;
26
+ if (typeof value === 'number')
27
+ return value;
28
+ const trimmed = value.trim();
29
+ if (trimmed.endsWith('%')) {
30
+ return parseStrictNumber(trimmed.slice(0, -1), 'cloud-cover') / 100;
31
+ }
32
+ return parseStrictNumber(trimmed, 'cloud-cover');
33
+ }
34
+ export function escapeXmlText(value) {
35
+ return value
36
+ .replace(/&/g, '&')
37
+ .replace(/</g, '&lt;')
38
+ .replace(/>/g, '&gt;')
39
+ .replace(/"/g, '&quot;')
40
+ .replace(/'/g, '&apos;');
41
+ }
42
+ //# sourceMappingURL=parseUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUtils.js","sourceRoot":"","sources":["../../src/commands/parseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAa;IAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAa;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAa;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5G,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9G,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkC;IAChE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,28 @@
1
+ export { addStandardOptions, commandCallbackPromise, getLightDevices, isLightDevice, runDeviceAction, } from './commands/cmdUtils.js';
2
+ export { registerAutoCct } from './commands/daylightSimulation/autoCct.js';
3
+ export { registerGraphSchedule } from './commands/daylightSimulation/graphSchedule.js';
4
+ export { registerPrintSchedule } from './commands/daylightSimulation/printSchedule.js';
5
+ export { registerSchedule } from './commands/daylightSimulation/schedule.js';
6
+ export { registerService } from './commands/daylightSimulation/service.js';
7
+ export { registerSimulateSchedule } from './commands/daylightSimulation/simulateSchedule.js';
8
+ export { registerWeather } from './commands/daylightSimulation/weather.js';
9
+ export { registerCct } from './commands/deviceControl/cct.js';
10
+ export { registerColor } from './commands/deviceControl/color.js';
11
+ export { default as registerConfig } from './commands/deviceControl/config.js';
12
+ export { registerDiscover } from './commands/deviceControl/discover.js';
13
+ export { registerEffect } from './commands/deviceControl/effect.js';
14
+ export { registerFan } from './commands/deviceControl/fan.js';
15
+ export { registerGroup } from './commands/deviceControl/group.js';
16
+ export { registerHsi } from './commands/deviceControl/hsi.js';
17
+ export { registerInfo } from './commands/deviceControl/info.js';
18
+ export { registerIntensity } from './commands/deviceControl/intensity.js';
19
+ export { registerList } from './commands/deviceControl/list.js';
20
+ export { registerPower } from './commands/deviceControl/power.js';
21
+ export { registerPreset } from './commands/deviceControl/preset.js';
22
+ export { registerQuickshot } from './commands/deviceControl/quickshot.js';
23
+ export { registerScene } from './commands/deviceControl/scene.js';
24
+ export { registerStatus } from './commands/deviceControl/status.js';
25
+ export { escapeXmlText, parseBooleanString, parseCloudCover, parseStrictInteger, parseStrictNumber, } from './commands/parseUtils.js';
26
+ export { registerCommands } from './commands.js';
27
+ export type { CommandDeps, CommandOptions } from './deviceControl/types.js';
28
+ //# sourceMappingURL=commands-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-api.d.ts","sourceRoot":"","sources":["../src/commands-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,27 @@
1
+ export { addStandardOptions, commandCallbackPromise, getLightDevices, isLightDevice, runDeviceAction, } from './commands/cmdUtils.js';
2
+ export { registerAutoCct } from './commands/daylightSimulation/autoCct.js';
3
+ export { registerGraphSchedule } from './commands/daylightSimulation/graphSchedule.js';
4
+ export { registerPrintSchedule } from './commands/daylightSimulation/printSchedule.js';
5
+ export { registerSchedule } from './commands/daylightSimulation/schedule.js';
6
+ export { registerService } from './commands/daylightSimulation/service.js';
7
+ export { registerSimulateSchedule } from './commands/daylightSimulation/simulateSchedule.js';
8
+ export { registerWeather } from './commands/daylightSimulation/weather.js';
9
+ export { registerCct } from './commands/deviceControl/cct.js';
10
+ export { registerColor } from './commands/deviceControl/color.js';
11
+ export { default as registerConfig } from './commands/deviceControl/config.js';
12
+ export { registerDiscover } from './commands/deviceControl/discover.js';
13
+ export { registerEffect } from './commands/deviceControl/effect.js';
14
+ export { registerFan } from './commands/deviceControl/fan.js';
15
+ export { registerGroup } from './commands/deviceControl/group.js';
16
+ export { registerHsi } from './commands/deviceControl/hsi.js';
17
+ export { registerInfo } from './commands/deviceControl/info.js';
18
+ export { registerIntensity } from './commands/deviceControl/intensity.js';
19
+ export { registerList } from './commands/deviceControl/list.js';
20
+ export { registerPower } from './commands/deviceControl/power.js';
21
+ export { registerPreset } from './commands/deviceControl/preset.js';
22
+ export { registerQuickshot } from './commands/deviceControl/quickshot.js';
23
+ export { registerScene } from './commands/deviceControl/scene.js';
24
+ export { registerStatus } from './commands/deviceControl/status.js';
25
+ export { escapeXmlText, parseBooleanString, parseCloudCover, parseStrictInteger, parseStrictNumber, } from './commands/parseUtils.js';
26
+ export { registerCommands } from './commands.js';
27
+ //# sourceMappingURL=commands-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-api.js","sourceRoot":"","sources":["../src/commands-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { z } from 'zod';
2
+ export declare const CONFIG_DIR_ENV = "AMARAN_CLI_CONFIG_DIR";
3
+ export declare const APP_NAME = "amaran-cli";
4
+ export declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
5
+ wsUrl: z.ZodOptional<z.ZodString>;
6
+ clientId: z.ZodOptional<z.ZodString>;
7
+ debug: z.ZodOptional<z.ZodBoolean>;
8
+ latitude: z.ZodOptional<z.ZodNumber>;
9
+ longitude: z.ZodOptional<z.ZodNumber>;
10
+ defaultCurve: z.ZodOptional<z.ZodString>;
11
+ cctMin: z.ZodOptional<z.ZodNumber>;
12
+ cctMax: z.ZodOptional<z.ZodNumber>;
13
+ intensityMin: z.ZodOptional<z.ZodNumber>;
14
+ intensityMax: z.ZodOptional<z.ZodNumber>;
15
+ autoStartApp: z.ZodOptional<z.ZodBoolean>;
16
+ maxLux: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>>;
17
+ weather: z.ZodOptional<z.ZodBoolean>;
18
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
19
+ wsUrl: z.ZodOptional<z.ZodString>;
20
+ clientId: z.ZodOptional<z.ZodString>;
21
+ debug: z.ZodOptional<z.ZodBoolean>;
22
+ latitude: z.ZodOptional<z.ZodNumber>;
23
+ longitude: z.ZodOptional<z.ZodNumber>;
24
+ defaultCurve: z.ZodOptional<z.ZodString>;
25
+ cctMin: z.ZodOptional<z.ZodNumber>;
26
+ cctMax: z.ZodOptional<z.ZodNumber>;
27
+ intensityMin: z.ZodOptional<z.ZodNumber>;
28
+ intensityMax: z.ZodOptional<z.ZodNumber>;
29
+ autoStartApp: z.ZodOptional<z.ZodBoolean>;
30
+ maxLux: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>>;
31
+ weather: z.ZodOptional<z.ZodBoolean>;
32
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
33
+ wsUrl: z.ZodOptional<z.ZodString>;
34
+ clientId: z.ZodOptional<z.ZodString>;
35
+ debug: z.ZodOptional<z.ZodBoolean>;
36
+ latitude: z.ZodOptional<z.ZodNumber>;
37
+ longitude: z.ZodOptional<z.ZodNumber>;
38
+ defaultCurve: z.ZodOptional<z.ZodString>;
39
+ cctMin: z.ZodOptional<z.ZodNumber>;
40
+ cctMax: z.ZodOptional<z.ZodNumber>;
41
+ intensityMin: z.ZodOptional<z.ZodNumber>;
42
+ intensityMax: z.ZodOptional<z.ZodNumber>;
43
+ autoStartApp: z.ZodOptional<z.ZodBoolean>;
44
+ maxLux: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>>;
45
+ weather: z.ZodOptional<z.ZodBoolean>;
46
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
47
+ wsUrl: z.ZodOptional<z.ZodString>;
48
+ clientId: z.ZodOptional<z.ZodString>;
49
+ debug: z.ZodOptional<z.ZodBoolean>;
50
+ latitude: z.ZodOptional<z.ZodNumber>;
51
+ longitude: z.ZodOptional<z.ZodNumber>;
52
+ defaultCurve: z.ZodOptional<z.ZodString>;
53
+ cctMin: z.ZodOptional<z.ZodNumber>;
54
+ cctMax: z.ZodOptional<z.ZodNumber>;
55
+ intensityMin: z.ZodOptional<z.ZodNumber>;
56
+ intensityMax: z.ZodOptional<z.ZodNumber>;
57
+ autoStartApp: z.ZodOptional<z.ZodBoolean>;
58
+ maxLux: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>>;
59
+ weather: z.ZodOptional<z.ZodBoolean>;
60
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
61
+ wsUrl: z.ZodOptional<z.ZodString>;
62
+ clientId: z.ZodOptional<z.ZodString>;
63
+ debug: z.ZodOptional<z.ZodBoolean>;
64
+ latitude: z.ZodOptional<z.ZodNumber>;
65
+ longitude: z.ZodOptional<z.ZodNumber>;
66
+ defaultCurve: z.ZodOptional<z.ZodString>;
67
+ cctMin: z.ZodOptional<z.ZodNumber>;
68
+ cctMax: z.ZodOptional<z.ZodNumber>;
69
+ intensityMin: z.ZodOptional<z.ZodNumber>;
70
+ intensityMax: z.ZodOptional<z.ZodNumber>;
71
+ autoStartApp: z.ZodOptional<z.ZodBoolean>;
72
+ maxLux: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>>;
73
+ weather: z.ZodOptional<z.ZodBoolean>;
74
+ }, z.ZodTypeAny, "passthrough">>;
75
+ export type Config = z.infer<typeof ConfigSchema>;
76
+ export declare function normalizeConfig(config: Config): Config;
77
+ export declare function getConfigDir(): string;
78
+ export declare function getConfigPath(): string;
79
+ export declare function getLegacyConfigPath(): string;
80
+ export declare function getConfigReadPath(): string | null;
81
+ export declare function loadConfig(): Config | null;
82
+ export declare function saveConfig(config: Config): void;
83
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,QAAQ,eAAe,CAAC;AAmBrC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAgCrB,CAAC;AAEL,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAOrC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAW1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAc/C"}