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.
- package/README.md +46 -3
- package/dist/__tests__/autoCct.test.js +8 -4
- package/dist/__tests__/autoCct.test.js.map +1 -1
- package/dist/__tests__/autoCctMaxLux.test.js +11 -9
- package/dist/__tests__/autoCctMaxLux.test.js.map +1 -1
- package/dist/__tests__/autostart.test.js +18 -0
- package/dist/__tests__/autostart.test.js.map +1 -1
- package/dist/__tests__/cctUtil.test.js +2 -1
- package/dist/__tests__/cctUtil.test.js.map +1 -1
- package/dist/__tests__/cli.config.test.d.ts +2 -0
- package/dist/__tests__/cli.config.test.d.ts.map +1 -0
- package/dist/__tests__/cli.config.test.js +65 -0
- package/dist/__tests__/cli.config.test.js.map +1 -0
- package/dist/__tests__/cli.smoke.test.js +36 -17
- package/dist/__tests__/cli.smoke.test.js.map +1 -1
- package/dist/__tests__/lightControl.test.js +2 -2
- package/dist/__tests__/lightControl.test.js.map +1 -1
- package/dist/__tests__/maxLuxInterpolation.test.js +4 -2
- package/dist/__tests__/maxLuxInterpolation.test.js.map +1 -1
- package/dist/__tests__/packageExports.test.d.ts +2 -0
- package/dist/__tests__/packageExports.test.d.ts.map +1 -0
- package/dist/__tests__/packageExports.test.js +33 -0
- package/dist/__tests__/packageExports.test.js.map +1 -0
- package/dist/__tests__/simulateSchedule.test.js +7 -3
- package/dist/__tests__/simulateSchedule.test.js.map +1 -1
- package/dist/circadian.d.ts +16 -0
- package/dist/circadian.d.ts.map +1 -0
- package/dist/circadian.js +11 -0
- package/dist/circadian.js.map +1 -0
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +35 -28
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/integration.test.js +28 -0
- package/dist/commands/__tests__/integration.test.js.map +1 -1
- package/dist/commands/cmdUtils.d.ts +4 -1
- package/dist/commands/cmdUtils.d.ts.map +1 -1
- package/dist/commands/cmdUtils.js +19 -0
- package/dist/commands/cmdUtils.js.map +1 -1
- package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/autoCct.js +64 -32
- package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
- package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/graphSchedule.js +2 -0
- package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/printSchedule.js +2 -0
- package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/service.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/service.js +15 -7
- package/dist/commands/daylightSimulation/service.js.map +1 -1
- package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/simulateSchedule.js +26 -9
- package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/weather.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/weather.js +19 -4
- package/dist/commands/daylightSimulation/weather.js.map +1 -1
- package/dist/commands/deviceControl/cct.d.ts.map +1 -1
- package/dist/commands/deviceControl/cct.js +10 -12
- package/dist/commands/deviceControl/cct.js.map +1 -1
- package/dist/commands/deviceControl/color.d.ts.map +1 -1
- package/dist/commands/deviceControl/color.js +3 -9
- package/dist/commands/deviceControl/color.js.map +1 -1
- package/dist/commands/deviceControl/config.d.ts.map +1 -1
- package/dist/commands/deviceControl/config.js +68 -55
- package/dist/commands/deviceControl/config.js.map +1 -1
- package/dist/commands/deviceControl/hsi.d.ts.map +1 -1
- package/dist/commands/deviceControl/hsi.js +3 -9
- package/dist/commands/deviceControl/hsi.js.map +1 -1
- package/dist/commands/deviceControl/intensity.d.ts.map +1 -1
- package/dist/commands/deviceControl/intensity.js +10 -12
- package/dist/commands/deviceControl/intensity.js.map +1 -1
- package/dist/commands/deviceControl/list.d.ts.map +1 -1
- package/dist/commands/deviceControl/list.js +18 -13
- package/dist/commands/deviceControl/list.js.map +1 -1
- package/dist/commands/deviceControl/power.d.ts.map +1 -1
- package/dist/commands/deviceControl/power.js +10 -25
- package/dist/commands/deviceControl/power.js.map +1 -1
- package/dist/commands/deviceControl/status.d.ts.map +1 -1
- package/dist/commands/deviceControl/status.js +3 -3
- package/dist/commands/deviceControl/status.js.map +1 -1
- package/dist/commands/parseUtils.d.ts +6 -0
- package/dist/commands/parseUtils.d.ts.map +1 -0
- package/dist/commands/parseUtils.js +42 -0
- package/dist/commands/parseUtils.js.map +1 -0
- package/dist/commands-api.d.ts +28 -0
- package/dist/commands-api.d.ts.map +1 -0
- package/dist/commands-api.js +27 -0
- package/dist/commands-api.js.map +1 -0
- package/dist/config.d.ts +83 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +114 -0
- package/dist/config.js.map +1 -0
- package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
- package/dist/daylightSimulation/cctUtil.js +21 -20
- package/dist/daylightSimulation/cctUtil.js.map +1 -1
- package/dist/daylightSimulation/curves/realistic.d.ts +6 -6
- package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -1
- package/dist/daylightSimulation/curves/realistic.js +36 -6
- package/dist/daylightSimulation/curves/realistic.js.map +1 -1
- package/dist/daylightSimulation/mathUtil.d.ts.map +1 -1
- package/dist/daylightSimulation/mathUtil.js +6 -2
- package/dist/daylightSimulation/mathUtil.js.map +1 -1
- package/dist/daylightSimulation/scheduleMaker.d.ts +6 -2
- package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -1
- package/dist/daylightSimulation/scheduleMaker.js +4 -6
- package/dist/daylightSimulation/scheduleMaker.js.map +1 -1
- package/dist/daylightSimulation/types.d.ts +2 -0
- package/dist/daylightSimulation/types.d.ts.map +1 -1
- package/dist/daylightSimulation/types.js.map +1 -1
- package/dist/daylightSimulation/weatherUtil.d.ts.map +1 -1
- package/dist/daylightSimulation/weatherUtil.js +31 -0
- package/dist/daylightSimulation/weatherUtil.js.map +1 -1
- package/dist/device-control.d.ts +7 -0
- package/dist/device-control.d.ts.map +1 -0
- package/dist/device-control.js +7 -0
- package/dist/device-control.js.map +1 -0
- package/dist/deviceControl/autostart.d.ts.map +1 -1
- package/dist/deviceControl/autostart.js +15 -16
- package/dist/deviceControl/autostart.js.map +1 -1
- package/dist/deviceControl/lightControl.d.ts +1 -0
- package/dist/deviceControl/lightControl.d.ts.map +1 -1
- package/dist/deviceControl/lightControl.js +20 -10
- package/dist/deviceControl/lightControl.js.map +1 -1
- package/dist/deviceControl/types.d.ts +8 -0
- package/dist/deviceControl/types.d.ts.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/docs/CHANGELOG.md +134 -0
- 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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
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;
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
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;
|
|
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
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
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, '<')
|
|
38
|
+
.replace(/>/g, '>')
|
|
39
|
+
.replace(/"/g, '"')
|
|
40
|
+
.replace(/'/g, ''');
|
|
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"}
|
package/dist/config.d.ts
ADDED
|
@@ -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"}
|