amaran-light-cli 1.0.2 → 1.1.2
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/CHANGELOG.md +24 -0
- package/LICENSE +1 -1
- package/README.md +67 -14
- package/dist/__tests__/autoCct.test.js +10 -0
- package/dist/__tests__/autoCct.test.js.map +1 -1
- package/dist/__tests__/autostart.test.d.ts +2 -0
- package/dist/__tests__/autostart.test.d.ts.map +1 -0
- package/dist/__tests__/autostart.test.js +131 -0
- package/dist/__tests__/autostart.test.js.map +1 -0
- package/dist/__tests__/cctUtil.test.js +52 -39
- package/dist/__tests__/cctUtil.test.js.map +1 -1
- package/dist/__tests__/cli.smoke.test.js +4 -3
- package/dist/__tests__/cli.smoke.test.js.map +1 -1
- package/dist/__tests__/intensityApi.test.js.map +1 -1
- package/dist/__tests__/setupTests.d.ts +2 -0
- package/dist/__tests__/setupTests.d.ts.map +1 -0
- package/dist/__tests__/setupTests.js +21 -0
- package/dist/__tests__/setupTests.js.map +1 -0
- package/dist/autostart.d.ts +29 -0
- package/dist/autostart.d.ts.map +1 -0
- package/dist/autostart.js +194 -0
- package/dist/autostart.js.map +1 -0
- package/dist/cctUtil.d.ts +12 -15
- package/dist/cctUtil.d.ts.map +1 -1
- package/dist/cctUtil.js +411 -68
- package/dist/cctUtil.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +218 -23
- package/dist/cli.js.map +1 -1
- package/dist/commands/autoCct.d.ts +1 -1
- package/dist/commands/autoCct.d.ts.map +1 -1
- package/dist/commands/autoCct.js +36 -15
- package/dist/commands/autoCct.js.map +1 -1
- package/dist/commands/cct.d.ts.map +1 -1
- package/dist/commands/cct.js +12 -6
- package/dist/commands/cct.js.map +1 -1
- package/dist/commands/color.d.ts.map +1 -1
- package/dist/commands/color.js.map +1 -1
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +1 -0
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/hsi.d.ts.map +1 -1
- package/dist/commands/hsi.js.map +1 -1
- package/dist/commands/intensity.d.ts.map +1 -1
- package/dist/commands/intensity.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +2 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/power.d.ts.map +1 -1
- package/dist/commands/power.js.map +1 -1
- package/dist/commands/schedule.d.ts +1 -1
- package/dist/commands/schedule.d.ts.map +1 -1
- package/dist/commands/schedule.js +288 -60
- package/dist/commands/schedule.js.map +1 -1
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +23 -7
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/simulateSchedule.d.ts +5 -0
- package/dist/commands/simulateSchedule.d.ts.map +1 -0
- package/dist/commands/simulateSchedule.js +219 -0
- package/dist/commands/simulateSchedule.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +27 -22
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +96 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +57 -0
- package/dist/constants.js.map +1 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js.map +1 -1
- package/dist/lightControl.d.ts +4 -2
- package/dist/lightControl.d.ts.map +1 -1
- package/dist/lightControl.js +49 -26
- package/dist/lightControl.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -4
- package/scripts/test.sh +9 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface AppConfig {
|
|
2
|
+
wsUrl?: string;
|
|
3
|
+
clientId?: string;
|
|
4
|
+
debug?: boolean;
|
|
5
|
+
latitude?: number;
|
|
6
|
+
longitude?: number;
|
|
7
|
+
cctMin?: number;
|
|
8
|
+
cctMax?: number;
|
|
9
|
+
intensityMin?: number;
|
|
10
|
+
intensityMax?: number;
|
|
11
|
+
autoStartApp?: boolean;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Check if the Amaran desktop app is running by looking for processes
|
|
16
|
+
* that contain "amaran desktop" (case-insensitive)
|
|
17
|
+
*/
|
|
18
|
+
export declare function isAmaranAppRunning(debug?: boolean): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Attempt to start the Amaran desktop app
|
|
21
|
+
* This implementation tries common locations and methods for macOS
|
|
22
|
+
*/
|
|
23
|
+
export declare function startAmaranApp(debug?: boolean): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Main function to handle autostart logic
|
|
26
|
+
* Checks if app is running, and if not, attempts to start it (unless disabled)
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleAutostart(debug?: boolean): Promise<boolean>;
|
|
29
|
+
//# sourceMappingURL=autostart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAkCD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAkE7E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC9E"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.isAmaranAppRunning = isAmaranAppRunning;
|
|
40
|
+
exports.startAmaranApp = startAmaranApp;
|
|
41
|
+
exports.handleAutostart = handleAutostart;
|
|
42
|
+
const node_child_process_1 = require("node:child_process");
|
|
43
|
+
const fs = __importStar(require("node:fs"));
|
|
44
|
+
const path = __importStar(require("node:path"));
|
|
45
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
46
|
+
const configPath = path.join(process.env.HOME || '', '.amaran-cli.json');
|
|
47
|
+
function loadConfig() {
|
|
48
|
+
try {
|
|
49
|
+
if (fs.existsSync(configPath)) {
|
|
50
|
+
const configData = fs.readFileSync(configPath, 'utf8');
|
|
51
|
+
return JSON.parse(configData);
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
catch (_error) {
|
|
56
|
+
console.warn(chalk_1.default.yellow('Warning: Could not load config file'));
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function logAutostart(message, debug = false) {
|
|
61
|
+
const timestamp = new Date().toISOString();
|
|
62
|
+
const logMessage = `[${timestamp}] [AUTOSTART] ${message}`;
|
|
63
|
+
if (debug) {
|
|
64
|
+
console.log(chalk_1.default.gray(logMessage));
|
|
65
|
+
}
|
|
66
|
+
// Also log to a file for persistence
|
|
67
|
+
try {
|
|
68
|
+
const logPath = path.join(process.env.HOME || '', '.amaran-cli-autostart.log');
|
|
69
|
+
fs.appendFileSync(logPath, `${logMessage}\n`);
|
|
70
|
+
}
|
|
71
|
+
catch (_error) {
|
|
72
|
+
// Ignore logging errors
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if the Amaran desktop app is running by looking for processes
|
|
77
|
+
* that contain "amaran desktop" (case-insensitive)
|
|
78
|
+
*/
|
|
79
|
+
async function isAmaranAppRunning(debug = false) {
|
|
80
|
+
return new Promise((resolve) => {
|
|
81
|
+
(0, node_child_process_1.exec)('ps aux | grep -i "amaran desktop" | grep -v grep', (error, stdout) => {
|
|
82
|
+
if (error) {
|
|
83
|
+
if (debug) {
|
|
84
|
+
logAutostart(`Failed to check if app is running: ${error.message}`, debug);
|
|
85
|
+
}
|
|
86
|
+
resolve(false);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const isRunning = stdout.trim().length > 0;
|
|
90
|
+
if (debug) {
|
|
91
|
+
logAutostart(`App running check: ${isRunning ? 'FOUND' : 'NOT FOUND'}`, debug);
|
|
92
|
+
if (isRunning) {
|
|
93
|
+
console.log(chalk_1.default.gray(`[AUTOSTART] Found Amaran Desktop processes:\n${stdout}`));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
resolve(isRunning);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Attempt to start the Amaran desktop app
|
|
102
|
+
* This implementation tries common locations and methods for macOS
|
|
103
|
+
*/
|
|
104
|
+
async function startAmaranApp(debug = false) {
|
|
105
|
+
const config = loadConfig();
|
|
106
|
+
// Check if autostart is disabled in config
|
|
107
|
+
if (config?.autoStartApp === false) {
|
|
108
|
+
logAutostart('Autostart is disabled in configuration', debug);
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
return new Promise((resolve) => {
|
|
112
|
+
logAutostart('Attempting to start Amaran desktop app...', debug);
|
|
113
|
+
// Try different methods to start the app on macOS
|
|
114
|
+
const startMethods = [
|
|
115
|
+
'open -a "amaran Desktop" 2>/dev/null',
|
|
116
|
+
'open -a "amaran desktop" 2>/dev/null',
|
|
117
|
+
'open -a "Amaran Desktop" 2>/dev/null',
|
|
118
|
+
'open -a "AMARAN DESKTOP" 2>/dev/null',
|
|
119
|
+
'open "/Applications/amaran Desktop.app" 2>/dev/null',
|
|
120
|
+
'open "/Applications/Amaran Desktop.app" 2>/dev/null',
|
|
121
|
+
];
|
|
122
|
+
let methodIndex = 0;
|
|
123
|
+
const tryNextMethod = () => {
|
|
124
|
+
if (methodIndex >= startMethods.length) {
|
|
125
|
+
logAutostart('Failed to start app - tried all known methods', debug);
|
|
126
|
+
if (debug) {
|
|
127
|
+
console.log(chalk_1.default.yellow('[AUTOSTART] Could not find or start Amaran app. Tried:'));
|
|
128
|
+
startMethods.forEach((method) => {
|
|
129
|
+
console.log(chalk_1.default.gray(` - ${method}`));
|
|
130
|
+
});
|
|
131
|
+
console.log(chalk_1.default.yellow('Make sure the Amaran desktop app is installed in /Applications or available via "open -a"'));
|
|
132
|
+
}
|
|
133
|
+
resolve(false);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const method = startMethods[methodIndex];
|
|
137
|
+
(0, node_child_process_1.exec)(method, (error) => {
|
|
138
|
+
if (error) {
|
|
139
|
+
// Try the next method
|
|
140
|
+
methodIndex++;
|
|
141
|
+
tryNextMethod();
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
logAutostart(`Successfully started app using: ${method}`, debug);
|
|
145
|
+
if (debug) {
|
|
146
|
+
console.log(chalk_1.default.green(`[AUTOSTART] Started Amaran app using: ${method}`));
|
|
147
|
+
}
|
|
148
|
+
// Give the app a moment to start up
|
|
149
|
+
setTimeout(() => {
|
|
150
|
+
resolve(true);
|
|
151
|
+
}, 2000);
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
tryNextMethod();
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Main function to handle autostart logic
|
|
159
|
+
* Checks if app is running, and if not, attempts to start it (unless disabled)
|
|
160
|
+
*/
|
|
161
|
+
async function handleAutostart(debug = false) {
|
|
162
|
+
const config = loadConfig();
|
|
163
|
+
// Log the autostart setting
|
|
164
|
+
const autoStartEnabled = config?.autoStartApp !== false; // Default to true
|
|
165
|
+
logAutostart(`Autostart setting: ${autoStartEnabled ? 'ENABLED' : 'DISABLED'}`, debug);
|
|
166
|
+
if (!autoStartEnabled) {
|
|
167
|
+
logAutostart('Autostart is blocked by configuration setting', debug);
|
|
168
|
+
if (debug) {
|
|
169
|
+
console.log(chalk_1.default.yellow('[AUTOSTART] Autostart is disabled. Use "amaran config --auto-start-app true" to enable.'));
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
const isRunning = await isAmaranAppRunning(debug);
|
|
174
|
+
if (isRunning) {
|
|
175
|
+
logAutostart('App is already running - no action needed', debug);
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
logAutostart('App is not running - attempting to start', debug);
|
|
179
|
+
const started = await startAmaranApp(debug);
|
|
180
|
+
if (started) {
|
|
181
|
+
logAutostart('Successfully started Amaran desktop app', debug);
|
|
182
|
+
if (debug) {
|
|
183
|
+
console.log(chalk_1.default.green('[AUTOSTART] Amaran desktop app started successfully'));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
logAutostart('Failed to start Amaran desktop app', debug);
|
|
188
|
+
if (debug) {
|
|
189
|
+
console.log(chalk_1.default.red('[AUTOSTART] Failed to start Amaran desktop app'));
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return started;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=autostart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
package/dist/cctUtil.d.ts
CHANGED
|
@@ -3,24 +3,21 @@ export interface CCTResult {
|
|
|
3
3
|
intensity: number;
|
|
4
4
|
}
|
|
5
5
|
export interface CCTOptions {
|
|
6
|
-
/** Minimum CCT in Kelvin (default 2000K) */
|
|
7
6
|
cctMinK?: number;
|
|
8
|
-
/** Maximum CCT in Kelvin (default 6500K) */
|
|
9
7
|
cctMaxK?: number;
|
|
10
|
-
/** Minimum intensity in percent [0-100] (default 5%) */
|
|
11
8
|
intensityMinPct?: number;
|
|
12
|
-
/** Maximum intensity in percent [0-100] (default 100%) */
|
|
13
9
|
intensityMaxPct?: number;
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export declare function
|
|
11
|
+
export declare enum CurveType {
|
|
12
|
+
HANN = "hann",
|
|
13
|
+
WIDER_MIDDLE_SMALL = "wider-middle-small",
|
|
14
|
+
WIDER_MIDDLE_MEDIUM = "wider-middle-medium",
|
|
15
|
+
WIDER_MIDDLE_LARGE = "wider-middle-large",
|
|
16
|
+
CIE_DAYLIGHT = "cie-daylight",
|
|
17
|
+
SUN_ALTITUDE = "sun-altitude",
|
|
18
|
+
PEREZ_DAYLIGHT = "perez-daylight"
|
|
19
|
+
}
|
|
20
|
+
export declare function parseCurveType(curve: string): keyof typeof CurveType;
|
|
21
|
+
export declare function getAvailableCurves(): string[];
|
|
22
|
+
export declare function calculateCCT(lat: number, lon: number, date?: Date, opts?: CCTOptions, curveType?: CurveType): CCTResult;
|
|
26
23
|
//# sourceMappingURL=cctUtil.d.ts.map
|
package/dist/cctUtil.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cctUtil.d.ts","sourceRoot":"","sources":["../src/cctUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cctUtil.d.ts","sourceRoot":"","sources":["../src/cctUtil.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,SAAS,CAuBpE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAyZD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,SAAS,GAAE,SAA0B,GACpC,SAAS,CAgBX"}
|