amaran-light-cli 1.1.4 → 1.4.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 (116) hide show
  1. package/CHANGELOG.md +44 -9
  2. package/README.md +32 -5
  3. package/dist/__tests__/autoCct.test.js +89 -20
  4. package/dist/__tests__/autoCct.test.js.map +1 -1
  5. package/dist/__tests__/autostart.test.js +87 -41
  6. package/dist/__tests__/autostart.test.js.map +1 -1
  7. package/dist/__tests__/cctUtil.test.js +26 -27
  8. package/dist/__tests__/cctUtil.test.js.map +1 -1
  9. package/dist/__tests__/cli.smoke.test.js +18 -13
  10. package/dist/__tests__/cli.smoke.test.js.map +1 -1
  11. package/dist/__tests__/intensityApi.test.js +4 -9
  12. package/dist/__tests__/intensityApi.test.js.map +1 -1
  13. package/dist/__tests__/lightControl.test.js +79 -68
  14. package/dist/__tests__/lightControl.test.js.map +1 -1
  15. package/dist/__tests__/setupTests.js +9 -8
  16. package/dist/__tests__/setupTests.js.map +1 -1
  17. package/dist/__tests__/simulateSchedule.test.d.ts +2 -0
  18. package/dist/__tests__/simulateSchedule.test.d.ts.map +1 -0
  19. package/dist/__tests__/simulateSchedule.test.js +87 -0
  20. package/dist/__tests__/simulateSchedule.test.js.map +1 -0
  21. package/dist/autostart.js +19 -60
  22. package/dist/autostart.js.map +1 -1
  23. package/dist/cctUtil.d.ts.map +1 -1
  24. package/dist/cctUtil.js +106 -107
  25. package/dist/cctUtil.js.map +1 -1
  26. package/dist/cli.d.ts +2 -2
  27. package/dist/cli.d.ts.map +1 -1
  28. package/dist/cli.js +52 -247
  29. package/dist/cli.js.map +1 -1
  30. package/dist/commands/__tests__/integration.test.d.ts +2 -0
  31. package/dist/commands/__tests__/integration.test.d.ts.map +1 -0
  32. package/dist/commands/__tests__/integration.test.js +279 -0
  33. package/dist/commands/__tests__/integration.test.js.map +1 -0
  34. package/dist/commands/autoCct.d.ts +1 -1
  35. package/dist/commands/autoCct.d.ts.map +1 -1
  36. package/dist/commands/autoCct.js +74 -76
  37. package/dist/commands/autoCct.js.map +1 -1
  38. package/dist/commands/cct.d.ts +1 -1
  39. package/dist/commands/cct.d.ts.map +1 -1
  40. package/dist/commands/cct.js +17 -23
  41. package/dist/commands/cct.js.map +1 -1
  42. package/dist/commands/color.d.ts +1 -1
  43. package/dist/commands/color.d.ts.map +1 -1
  44. package/dist/commands/color.js +9 -15
  45. package/dist/commands/color.js.map +1 -1
  46. package/dist/commands/config.d.ts +1 -1
  47. package/dist/commands/config.d.ts.map +1 -1
  48. package/dist/commands/config.js +64 -66
  49. package/dist/commands/config.js.map +1 -1
  50. package/dist/commands/discover.d.ts +1 -1
  51. package/dist/commands/discover.d.ts.map +1 -1
  52. package/dist/commands/discover.js +8 -14
  53. package/dist/commands/discover.js.map +1 -1
  54. package/dist/commands/graphSchedule.d.ts +5 -0
  55. package/dist/commands/graphSchedule.d.ts.map +1 -0
  56. package/dist/commands/graphSchedule.js +293 -0
  57. package/dist/commands/graphSchedule.js.map +1 -0
  58. package/dist/commands/hsi.d.ts +1 -1
  59. package/dist/commands/hsi.d.ts.map +1 -1
  60. package/dist/commands/hsi.js +11 -17
  61. package/dist/commands/hsi.js.map +1 -1
  62. package/dist/commands/intensity.d.ts +1 -1
  63. package/dist/commands/intensity.d.ts.map +1 -1
  64. package/dist/commands/intensity.js +9 -15
  65. package/dist/commands/intensity.js.map +1 -1
  66. package/dist/commands/list.d.ts +1 -1
  67. package/dist/commands/list.d.ts.map +1 -1
  68. package/dist/commands/list.js +6 -12
  69. package/dist/commands/list.js.map +1 -1
  70. package/dist/commands/power.d.ts +1 -1
  71. package/dist/commands/power.d.ts.map +1 -1
  72. package/dist/commands/power.js +18 -24
  73. package/dist/commands/power.js.map +1 -1
  74. package/dist/commands/printSchedule.d.ts +5 -0
  75. package/dist/commands/printSchedule.d.ts.map +1 -0
  76. package/dist/commands/{schedule.js → printSchedule.js} +113 -116
  77. package/dist/commands/printSchedule.js.map +1 -0
  78. package/dist/commands/service.d.ts +1 -1
  79. package/dist/commands/service.d.ts.map +1 -1
  80. package/dist/commands/service.js +54 -88
  81. package/dist/commands/service.js.map +1 -1
  82. package/dist/commands/simulateSchedule.d.ts +1 -1
  83. package/dist/commands/simulateSchedule.d.ts.map +1 -1
  84. package/dist/commands/simulateSchedule.js +50 -70
  85. package/dist/commands/simulateSchedule.js.map +1 -1
  86. package/dist/commands/status.d.ts +1 -1
  87. package/dist/commands/status.d.ts.map +1 -1
  88. package/dist/commands/status.js +8 -14
  89. package/dist/commands/status.js.map +1 -1
  90. package/dist/commands.d.ts +1 -1
  91. package/dist/commands.d.ts.map +1 -1
  92. package/dist/commands.js +52 -54
  93. package/dist/commands.js.map +1 -1
  94. package/dist/constants.d.ts +13 -14
  95. package/dist/constants.d.ts.map +1 -1
  96. package/dist/constants.js +21 -27
  97. package/dist/constants.js.map +1 -1
  98. package/dist/discovery.js +8 -15
  99. package/dist/discovery.js.map +1 -1
  100. package/dist/geoipUtil.js +3 -9
  101. package/dist/geoipUtil.js.map +1 -1
  102. package/dist/lightControl.js +18 -20
  103. package/dist/lightControl.js.map +1 -1
  104. package/dist/test/MockLightServer.d.ts +13 -0
  105. package/dist/test/MockLightServer.d.ts.map +1 -0
  106. package/dist/test/MockLightServer.js +140 -0
  107. package/dist/test/MockLightServer.js.map +1 -0
  108. package/dist/types.d.ts +2 -1
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/types.js +1 -2
  111. package/package.json +17 -15
  112. package/scripts/release.js +8 -4
  113. package/scripts/test.sh +2 -2
  114. package/dist/commands/schedule.d.ts +0 -5
  115. package/dist/commands/schedule.d.ts.map +0 -1
  116. package/dist/commands/schedule.js.map +0 -1
@@ -0,0 +1,279 @@
1
+ import { Command } from 'commander';
2
+ import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import registerCommands from '../../commands.js';
4
+ import LightController from '../../lightControl.js';
5
+ import { MockLightServer } from '../../test/MockLightServer.js';
6
+ const TEST_PORT = 8090;
7
+ const WS_URL = `ws://localhost:${TEST_PORT}`;
8
+ describe('CLI Integration Tests', () => {
9
+ let server;
10
+ beforeAll(async () => {
11
+ server = new MockLightServer(TEST_PORT);
12
+ await new Promise((resolve) => setTimeout(resolve, 500));
13
+ });
14
+ afterAll(async () => {
15
+ await new Promise((resolve) => {
16
+ server.close(() => resolve());
17
+ });
18
+ await new Promise((resolve) => setTimeout(resolve, 100));
19
+ });
20
+ beforeEach(() => {
21
+ server.resetState();
22
+ });
23
+ const createDeps = () => {
24
+ const controller = new LightController(WS_URL, 'test-cli', undefined, false);
25
+ // Mock the disconnect to not actually close the socket immediately if needed,
26
+ // or arguably we DO want it to close to test the CLI behavior.
27
+ // The CLI calls disconnect() at the end.
28
+ // If we want to check state after, we should ensure the COMMAND has finished,
29
+ // and the server state should persist even if client disconnects.
30
+ return {
31
+ createController: async () => {
32
+ // Wait for connection and device list
33
+ await new Promise((resolve, reject) => {
34
+ const ws = controller.getWebSocket();
35
+ // If already open, just fetch list
36
+ const fetchDevices = () => {
37
+ controller.getDeviceList((success) => {
38
+ if (success)
39
+ resolve();
40
+ else
41
+ reject(new Error('Failed to fetch devices'));
42
+ });
43
+ };
44
+ if (ws.readyState === 1) {
45
+ fetchDevices();
46
+ }
47
+ else {
48
+ ws.once('open', () => {
49
+ // small delay to let onConnectionOpen trigger if needed, or just manual fetch
50
+ setTimeout(fetchDevices, 50);
51
+ });
52
+ ws.once('error', reject);
53
+ setTimeout(() => reject(new Error('Timeout connecting to mock server')), 2000);
54
+ }
55
+ });
56
+ return controller;
57
+ },
58
+ findDevice: (ctrl, deviceQuery) => {
59
+ const devices = ctrl.getDevices();
60
+ let device = devices.find((d) => d.node_id === deviceQuery || d.id === deviceQuery);
61
+ if (!device) {
62
+ const q = deviceQuery.toLowerCase();
63
+ device = devices.find((d) => {
64
+ const nm = (d.device_name || d.name || '').toLowerCase();
65
+ return nm.includes(q);
66
+ });
67
+ }
68
+ return device || null;
69
+ },
70
+ asyncCommand: (fn) => (...args) => fn(...args),
71
+ // We throw instead of process.exit for tests?
72
+ // Real asyncCommand does process.exit(1) on failure.
73
+ // We probably want to keep that or mock it.
74
+ // If we want to capture errors, we might mock process.exit.
75
+ loadConfig: () => ({}),
76
+ saveWsUrl: vi.fn(),
77
+ saveConfig: vi.fn(),
78
+ };
79
+ };
80
+ it('should turn on a light via power command', async () => {
81
+ const program = new Command();
82
+ program.exitOverride(); // Throw instead of exit
83
+ const deps = createDeps();
84
+ registerCommands(program, deps);
85
+ // Capture console output
86
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
87
+ /* no-op */
88
+ });
89
+ await program.parseAsync(['node', 'test', 'on', '400J5-F2C008']);
90
+ // Wait for async command to complete (single device commands in CLI are not awaited)
91
+ await new Promise((resolve) => setTimeout(resolve, 100));
92
+ const state = server.getDeviceState('400J5-F2C008');
93
+ expect(state?.sleep).toBe(false); // On = sleep false
94
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('turned on'));
95
+ consoleSpy.mockRestore();
96
+ });
97
+ it('should turn off a light via power command', async () => {
98
+ const program = new Command();
99
+ program.exitOverride();
100
+ const deps = createDeps();
101
+ registerCommands(program, deps);
102
+ // Set initial state to ON (sleep false)
103
+ // Actually default is On (sleep false) in our mock server?
104
+ // Wait, MockLightServer: sleep: false by default.
105
+ // So "Off" should make sleep: true.
106
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
107
+ /* no-op */
108
+ });
109
+ await program.parseAsync(['node', 'test', 'off', '400J5-F2C008']);
110
+ await new Promise((resolve) => setTimeout(resolve, 100));
111
+ const state = server.getDeviceState('400J5-F2C008');
112
+ expect(state?.sleep).toBe(true);
113
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('turned off'));
114
+ consoleSpy.mockRestore();
115
+ });
116
+ it('should set intensity via intensity command', async () => {
117
+ const program = new Command();
118
+ program.exitOverride();
119
+ const deps = createDeps();
120
+ registerCommands(program, deps);
121
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
122
+ /* no-op */
123
+ });
124
+ await program.parseAsync(['node', 'test', 'intensity', '50', '400J5-F2C008']);
125
+ await new Promise((resolve) => setTimeout(resolve, 100));
126
+ const state = server.getDeviceState('400J5-F2C008');
127
+ // CLI takes 0-100, converts to 0-1000?
128
+ // Let's check src/commands/intensity.ts.
129
+ // Usually invalid args might fail, assuming 50 means 50% = 500
130
+ expect(state?.intensity).toBe(500);
131
+ consoleSpy.mockRestore();
132
+ });
133
+ it('should set CCT via cct command', async () => {
134
+ const program = new Command();
135
+ program.exitOverride();
136
+ const deps = createDeps();
137
+ registerCommands(program, deps);
138
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
139
+ /* no-op */
140
+ });
141
+ await program.parseAsync(['node', 'test', 'cct', '5600', '400J5-F2C008']);
142
+ await new Promise((resolve) => setTimeout(resolve, 100));
143
+ const state = server.getDeviceState('400J5-F2C008');
144
+ expect(state?.cct).toBe(5600);
145
+ expect(state?.work_mode).toBe('CCT');
146
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('set to 5600K'));
147
+ consoleSpy.mockRestore();
148
+ });
149
+ it('should set CCT and intensity via cct command', async () => {
150
+ const program = new Command();
151
+ program.exitOverride();
152
+ const deps = createDeps();
153
+ registerCommands(program, deps);
154
+ await program.parseAsync(['node', 'test', 'cct', '3200', '-i', '80', '400J5-F2C008']);
155
+ await new Promise((resolve) => setTimeout(resolve, 100));
156
+ const state = server.getDeviceState('400J5-F2C008');
157
+ expect(state?.cct).toBe(3200);
158
+ expect(state?.intensity).toBe(800); // 80% = 800
159
+ expect(state?.work_mode).toBe('CCT');
160
+ });
161
+ it('should set HSI via hsi command', async () => {
162
+ const program = new Command();
163
+ program.exitOverride();
164
+ const deps = createDeps();
165
+ registerCommands(program, deps);
166
+ await program.parseAsync(['node', 'test', 'hsi', '240', '100', '50', '400J5-F2C008']);
167
+ await new Promise((resolve) => setTimeout(resolve, 100));
168
+ const state = server.getDeviceState('400J5-F2C008');
169
+ expect(state?.hue).toBe(240);
170
+ expect(state?.sat).toBe(100);
171
+ expect(state?.intensity).toBe(500); // 50% = 500
172
+ expect(state?.work_mode).toBe('HSI');
173
+ });
174
+ it('should send Set Color command via color command', async () => {
175
+ const program = new Command();
176
+ program.exitOverride();
177
+ const deps = createDeps();
178
+ registerCommands(program, deps);
179
+ // The CLI converts color name to something?
180
+ // Actually src/commands/color.ts simply calls controller.setColor
181
+ // which mock server just logs/acks but doesn't change state much unless we parse it.
182
+ // The MockLightServer currently doesn't update specific state for setColor,
183
+ // but the command logic should proceed and succeed.
184
+ // Check if color command throws
185
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
186
+ /* no-op */
187
+ });
188
+ await program.parseAsync(['node', 'test', 'color', 'red', '400J5-F2C008']);
189
+ await new Promise((resolve) => setTimeout(resolve, 100));
190
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('color set to red'));
191
+ consoleSpy.mockRestore();
192
+ });
193
+ it('should list all devices via list command', async () => {
194
+ const program = new Command();
195
+ program.exitOverride();
196
+ const deps = createDeps();
197
+ registerCommands(program, deps);
198
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
199
+ /* no-op */
200
+ });
201
+ await program.parseAsync(['node', 'test', 'list']);
202
+ // No async wait needed as list doesn't have an async device operation after the initial fetch which createController handles?
203
+ // Wait, list does createController -> getDevices (sync on client side) -> log -> disconnect.
204
+ // createController does async fetch.
205
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Test Light 1'));
206
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Test Light 2'));
207
+ consoleSpy.mockRestore();
208
+ });
209
+ it('should show status for a device via status command', async () => {
210
+ const program = new Command();
211
+ program.exitOverride();
212
+ const deps = createDeps();
213
+ registerCommands(program, deps);
214
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
215
+ /* no-op */
216
+ });
217
+ // Ensure some known state
218
+ server.resetState();
219
+ // Default: sleep false (On), 0 intensity, 3200K
220
+ await program.parseAsync(['node', 'test', 'status', '400J5-F2C008']);
221
+ await new Promise((resolve) => setTimeout(resolve, 100)); // status fetches sleep status async
222
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Status for Test Light 1'));
223
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('State: On'));
224
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Intensity: 0%'));
225
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Temperature: 3200K')); // Default in mock
226
+ consoleSpy.mockRestore();
227
+ });
228
+ it('should run auto-cct command and update lights', async () => {
229
+ const program = new Command();
230
+ program.exitOverride();
231
+ const deps = createDeps();
232
+ registerCommands(program, deps);
233
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
234
+ /* no-op */
235
+ });
236
+ // Ensure we have devices via reset
237
+ server.resetState();
238
+ // Run auto-cct with explicit location/time to avoid external factors
239
+ // Use Summer Solstice noon to ensure high CCT (Winter noon is lower due to solar altitude)
240
+ await program.parseAsync([
241
+ 'node',
242
+ 'test',
243
+ 'auto-cct',
244
+ '--lat',
245
+ '40.7128',
246
+ '--lon',
247
+ '-74.0060',
248
+ '--time',
249
+ '2025-06-21T12:00:00-04:00',
250
+ ]);
251
+ await new Promise((resolve) => setTimeout(resolve, 100));
252
+ // At noon it should be cool (6500K)
253
+ const state = server.getDeviceState('400J5-F2C008');
254
+ // Expect CCT to be changed.
255
+ expect(state?.cct).toBeGreaterThan(5000);
256
+ expect(state?.intensity).toBeGreaterThan(0);
257
+ consoleSpy.mockRestore();
258
+ });
259
+ it('should save and list config via config command', async () => {
260
+ const program = new Command();
261
+ program.exitOverride();
262
+ const deps = createDeps();
263
+ // Spy on saveConfig
264
+ const saveConfigSpy = vi.fn();
265
+ deps.saveConfig = saveConfigSpy;
266
+ registerCommands(program, deps);
267
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
268
+ /* no-op */
269
+ });
270
+ // Set config
271
+ await program.parseAsync(['node', 'test', 'config', '--cct-min', '2500']);
272
+ expect(saveConfigSpy).toHaveBeenCalledWith(expect.objectContaining({ cctMin: 2500 }), expect.anything());
273
+ // Show config
274
+ await program.parseAsync(['node', 'test', 'config', '--show']);
275
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Current configuration:'));
276
+ consoleSpy.mockRestore();
277
+ });
278
+ });
279
+ //# sourceMappingURL=integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,MAAM,MAAM,GAAG,kBAAkB,SAAS,EAAE,CAAC;AAE7C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,MAAuB,CAAC;IAE5B,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7E,8EAA8E;QAC9E,+DAA+D;QAC/D,yCAAyC;QACzC,8EAA8E;QAC9E,kEAAkE;QAElE,OAAO;YACL,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC3B,sCAAsC;gBACtC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;oBAErC,mCAAmC;oBACnC,MAAM,YAAY,GAAG,GAAG,EAAE;wBACxB,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;4BACnC,IAAI,OAAO;gCAAE,OAAO,EAAE,CAAC;;gCAClB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;wBACpD,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBAEF,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;wBACxB,YAAY,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;4BACnB,8EAA8E;4BAC9E,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBACH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACjF,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,UAAU,EAAE,CAAC,IAAyB,EAAE,WAAmB,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE;wBAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACzD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,IAAI,IAAI,CAAC;YACxB,CAAC;YACD,YAAY,EACV,CAAsB,EAAiC,EAAE,EAAE,CAC3D,CAAC,GAAG,IAAO,EAAE,EAAE,CACb,EAAE,CAAC,GAAG,IAAI,CAAC;YACf,8CAA8C;YAC9C,qDAAqD;YACrD,4CAA4C;YAC5C,4DAA4D;YAC5D,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,wBAAwB;QAChD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,yBAAyB;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACjE,qFAAqF;QACrF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB;QACrD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QAE9E,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,wCAAwC;QACxC,2DAA2D;QAC3D,kDAAkD;QAClD,oCAAoC;QAEpC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE/E,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,uCAAuC;QACvC,yCAAyC;QACzC,+DAA+D;QAC/D,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnC,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAEjF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACtF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAChD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACtF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAChD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,4CAA4C;QAC5C,kEAAkE;QAClE,qFAAqF;QACrF,4EAA4E;QAC5E,oDAAoD;QAEpD,gCAAgC;QAChC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,8HAA8H;QAC9H,6FAA6F;QAC7F,qCAAqC;QAErC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACjF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,gDAAgD;QAEhD,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAE9F,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC5F,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAE1G,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,qEAAqE;QACrE,2FAA2F;QAC3F,MAAM,OAAO,CAAC,UAAU,CAAC;YACvB,MAAM;YACN,MAAM;YACN,UAAU;YACV,OAAO;YACP,SAAS;YACT,OAAO;YACP,UAAU;YACV,QAAQ;YACR,2BAA2B;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,oCAAoC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,4BAA4B;QAC5B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAE5C,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,oBAAoB;QACpB,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;QAEhC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzG,cAAc;QACd,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAE3F,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from 'commander';
2
- import type { CommandDeps } from '../types';
2
+ import type { CommandDeps } from '../types.js';
3
3
  declare function registerAutoCct(program: Command, deps: CommandDeps): void;
4
4
  export default registerAutoCct;
5
5
  //# sourceMappingURL=autoCct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoCct.d.ts","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA2U3D;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"autoCct.d.ts","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAuX3D;AAED,eAAe,eAAe,CAAC"}
@@ -1,49 +1,11 @@
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
- const chalk_1 = __importDefault(require("chalk"));
40
- const constants_1 = require("../constants");
1
+ import chalk from 'chalk';
2
+ import { CCT_DEFAULTS, DEVICE_DEFAULTS, VALIDATION_RANGES } from '../constants.js';
41
3
  function registerAutoCct(program, deps) {
42
- const { createController, asyncCommand, loadConfig } = deps;
4
+ const { createController, asyncCommand, loadConfig, findDevice } = deps;
43
5
  program
44
- .command('auto-cct')
45
- .usage('[options]')
46
- .description('Set CCT for all lights based on current location and time (geoip)')
6
+ .command('auto-cct [device]')
7
+ .usage('[device] [options]')
8
+ .description('Set CCT for lights (or specific device) based on current location and time (geoip)')
47
9
  .option('-u, --url <url>', 'WebSocket URL')
48
10
  .option('-c, --client-id <id>', 'Client ID')
49
11
  .option('-d, --debug', 'Enable debug mode')
@@ -52,10 +14,15 @@ function registerAutoCct(program, deps) {
52
14
  .option('-x, --lon <longitude>', 'Manual longitude (-180 to 180)')
53
15
  .option('-t, --time <time>', 'Manual time (ISO 8601 format, e.g., 2025-10-26T14:30:00)')
54
16
  .option('-C, --curve <curve>', 'Curve type for CCT calculation (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight, default: hann)', 'hann')
55
- .action(asyncCommand(async (...args) => {
56
- const optionsRaw = (args[0] ?? {});
57
- const { getLocationFromIP } = await Promise.resolve().then(() => __importStar(require('../geoipUtil')));
58
- const { calculateCCT, CurveType, parseCurveType } = await Promise.resolve().then(() => __importStar(require('../cctUtil')));
17
+ .action(asyncCommand(async (deviceQuery, optionsRaw) => {
18
+ // If the first arg is an object, it means no device was passed (commander behavior depends on exact signature match,
19
+ // but with optional [device], if omitted, first arg might be options? No, usually it's undefined for the arg.
20
+ // Let's verify standard commander behavior: action(arg, options, command)
21
+ // Actually, let's look at power.ts: async (deviceQuery: string | undefined, options: CommandOptions)
22
+ // If I change .command('auto-cct [device]'), then action receives (device, options).
23
+ // Since I'm typing optionsRaw explicitly, I should just use the second arg as options.
24
+ const { getLocationFromIP } = await import('../geoipUtil.js');
25
+ const { calculateCCT, CurveType, parseCurveType } = await import('../cctUtil.js');
59
26
  const options = optionsRaw;
60
27
  const controller = await createController(options.url, options.clientId, options.debug);
61
28
  let lat;
@@ -65,7 +32,7 @@ function registerAutoCct(program, deps) {
65
32
  if (options.time) {
66
33
  time = new Date(options.time);
67
34
  if (Number.isNaN(time.getTime())) {
68
- console.error(chalk_1.default.red('Invalid time format. Use ISO 8601 format (e.g., 2025-10-26T14:30:00)'));
35
+ console.error(chalk.red('Invalid time format. Use ISO 8601 format (e.g., 2025-10-26T14:30:00)'));
69
36
  process.exit(1);
70
37
  }
71
38
  }
@@ -76,7 +43,7 @@ function registerAutoCct(program, deps) {
76
43
  curveType = parseCurveType(options.curve);
77
44
  }
78
45
  catch (error) {
79
- console.error(chalk_1.default.red(error.message));
46
+ console.error(chalk.red(error.message));
80
47
  process.exit(1);
81
48
  }
82
49
  }
@@ -88,7 +55,7 @@ function registerAutoCct(program, deps) {
88
55
  curveType = parseCurveType(config.defaultCurve);
89
56
  }
90
57
  catch (_) {
91
- console.warn(chalk_1.default.yellow(`Warning: Invalid default curve in config: ${config.defaultCurve}. Using 'hann' as fallback.`));
58
+ console.warn(chalk.yellow(`Warning: Invalid default curve in config: ${config.defaultCurve}. Using 'hann' as fallback.`));
92
59
  curveType = 'HANN';
93
60
  }
94
61
  }
@@ -103,11 +70,11 @@ function registerAutoCct(program, deps) {
103
70
  lat = parseFloat(options.lat);
104
71
  lon = parseFloat(options.lon);
105
72
  if (Number.isNaN(lat) || lat < -90 || lat > 90) {
106
- console.error(chalk_1.default.red('Latitude must be between -90 and 90'));
73
+ console.error(chalk.red('Latitude must be between -90 and 90'));
107
74
  process.exit(1);
108
75
  }
109
76
  if (Number.isNaN(lon) || lon < -180 || lon > 180) {
110
- console.error(chalk_1.default.red('Longitude must be between -180 and 180'));
77
+ console.error(chalk.red('Longitude must be between -180 and 180'));
111
78
  process.exit(1);
112
79
  }
113
80
  source = 'manual';
@@ -138,7 +105,7 @@ function registerAutoCct(program, deps) {
138
105
  }
139
106
  const location = getLocationFromIP(ip);
140
107
  if (!location || !location.ll) {
141
- console.error(chalk_1.default.red('Could not determine location from IP. Use --lat and --lon to specify manually, or set defaults with: amaran config --lat <lat> --lon <lon>'));
108
+ console.error(chalk.red('Could not determine location from IP. Use --lat and --lon to specify manually, or set defaults with: amaran config --lat <lat> --lon <lon>'));
142
109
  process.exit(1);
143
110
  }
144
111
  [lat, lon] = location.ll;
@@ -149,21 +116,22 @@ function registerAutoCct(program, deps) {
149
116
  const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
150
117
  const minKRaw = cfg.cctMin;
151
118
  const maxKRaw = cfg.cctMax;
119
+ const intensityMultMap = cfg.intensityMultiplier;
152
120
  const minKCfg = typeof minKRaw === 'number' ? minKRaw : undefined;
153
121
  const maxKCfg = typeof maxKRaw === 'number' ? maxKRaw : undefined;
154
122
  const loK = minKCfg !== undefined
155
- ? clamp(minKCfg, constants_1.VALIDATION_RANGES.cct.min, constants_1.VALIDATION_RANGES.cct.max)
156
- : constants_1.CCT_DEFAULTS.cctMinK;
123
+ ? clamp(minKCfg, VALIDATION_RANGES.cct.min, VALIDATION_RANGES.cct.max)
124
+ : CCT_DEFAULTS.cctMinK;
157
125
  const hiK = maxKCfg !== undefined
158
- ? clamp(maxKCfg, constants_1.VALIDATION_RANGES.cct.min, constants_1.VALIDATION_RANGES.cct.max)
159
- : constants_1.CCT_DEFAULTS.cctMaxK;
126
+ ? clamp(maxKCfg, VALIDATION_RANGES.cct.min, VALIDATION_RANGES.cct.max)
127
+ : CCT_DEFAULTS.cctMaxK;
160
128
  // For auto-cct defaults: use CCT defaults if not configured
161
129
  const minPctRaw = cfg.intensityMin;
162
130
  const maxPctRaw = cfg.intensityMax;
163
- const minPctCfg = typeof minPctRaw === 'number' ? minPctRaw : constants_1.CCT_DEFAULTS.intensityMinPct;
164
- const maxPctCfg = typeof maxPctRaw === 'number' ? maxPctRaw : constants_1.CCT_DEFAULTS.intensityMaxPct;
165
- const loPct = clamp(Math.min(minPctCfg, maxPctCfg), constants_1.VALIDATION_RANGES.intensity.min, constants_1.VALIDATION_RANGES.intensity.max);
166
- const hiPct = clamp(Math.max(minPctCfg, maxPctCfg), constants_1.VALIDATION_RANGES.intensity.min, constants_1.VALIDATION_RANGES.intensity.max);
131
+ const minPctCfg = typeof minPctRaw === 'number' ? minPctRaw : CCT_DEFAULTS.intensityMinPct;
132
+ const maxPctCfg = typeof maxPctRaw === 'number' ? maxPctRaw : CCT_DEFAULTS.intensityMaxPct;
133
+ const loPct = clamp(Math.min(minPctCfg, maxPctCfg), VALIDATION_RANGES.intensity.min, VALIDATION_RANGES.intensity.max);
134
+ const hiPct = clamp(Math.max(minPctCfg, maxPctCfg), VALIDATION_RANGES.intensity.min, VALIDATION_RANGES.intensity.max);
167
135
  const result = calculateCCT(lat, lon, time, {
168
136
  cctMinK: Math.min(loK, hiK),
169
137
  cctMaxK: Math.max(loK, hiK),
@@ -171,13 +139,25 @@ function registerAutoCct(program, deps) {
171
139
  intensityMaxPct: hiPct,
172
140
  }, CurveType[curveType]);
173
141
  const percent = Math.round((result.intensity / 10) * 10) / 10;
174
- console.log(chalk_1.default.blue(`Setting CCT to ${result.cct}K at ${percent}% for active lights`));
175
- console.log(chalk_1.default.gray(` Location: ${lat.toFixed(4)}, ${lon.toFixed(4)} (${source})`));
176
- console.log(chalk_1.default.gray(` Time: ${time.toISOString()}`));
177
- console.log(chalk_1.default.gray(` Curve: ${curveType.toLowerCase()}`));
178
- const devices = controller.getDevices?.() ?? [];
142
+ console.log(chalk.blue(`Setting CCT to ${result.cct}K at ${percent}% for active lights`));
143
+ console.log(chalk.gray(` Location: ${lat.toFixed(4)}, ${lon.toFixed(4)} (${source})`));
144
+ console.log(chalk.gray(` Time: ${time.toISOString()}`));
145
+ console.log(chalk.gray(` Curve: ${curveType.toLowerCase()}`));
146
+ let candidateDevices = [];
147
+ if (deviceQuery && deviceQuery.toLowerCase() !== 'all') {
148
+ const device = findDevice(controller, deviceQuery);
149
+ if (!device) {
150
+ console.error(chalk.red(`Device "${deviceQuery}" not found`));
151
+ await controller.disconnect();
152
+ process.exit(1);
153
+ }
154
+ candidateDevices = [device];
155
+ }
156
+ else {
157
+ candidateDevices = controller.getDevices?.() ?? [];
158
+ }
179
159
  const lightPattern = /^[A-Z0-9]+-[A-Z0-9]+$/i;
180
- const lightDevices = devices.filter((device) => {
160
+ const lightDevices = candidateDevices.filter((device) => {
181
161
  if (!device || typeof device !== 'object') {
182
162
  return false;
183
163
  }
@@ -185,11 +165,11 @@ function registerAutoCct(program, deps) {
185
165
  return typeof candidate.node_id === 'string' && lightPattern.test(candidate.node_id);
186
166
  });
187
167
  if (lightDevices.length === 0) {
188
- console.log(chalk_1.default.yellow('No light devices found; skipping auto CCT update.'));
168
+ console.log(chalk.yellow('No light devices found; skipping auto CCT update.'));
189
169
  await controller.disconnect();
190
170
  return;
191
171
  }
192
- const waitMs = constants_1.DEVICE_DEFAULTS.statusCheckDelay;
172
+ const waitMs = DEVICE_DEFAULTS.statusCheckDelay;
193
173
  const offDevices = [];
194
174
  const activeDevices = [];
195
175
  const hasSleep = (o) => typeof o === 'object' && o !== null && 'sleep' in o;
@@ -277,14 +257,14 @@ function registerAutoCct(program, deps) {
277
257
  }
278
258
  }
279
259
  if (activeDevices.length === 0) {
280
- console.log(chalk_1.default.yellow('All discovered lights are off; nothing to update.'));
260
+ console.log(chalk.yellow('All discovered lights are off; nothing to update.'));
281
261
  if (offDevices.length > 0) {
282
- console.log(chalk_1.default.gray(` Skipped ${offDevices.length} light(s) to avoid turning them on.`));
262
+ console.log(chalk.gray(` Skipped ${offDevices.length} light(s) to avoid turning them on.`));
283
263
  }
284
264
  await controller.disconnect();
285
265
  return;
286
266
  }
287
- console.log(chalk_1.default.gray(` Updating ${activeDevices.length} light(s)${offDevices.length ? `, skipped ${offDevices.length} off light(s)` : ''}`));
267
+ console.log(chalk.gray(` Updating ${activeDevices.length} light(s)${offDevices.length ? `, skipped ${offDevices.length} off light(s)` : ''}`));
288
268
  for (let i = 0; i < activeDevices.length; i++) {
289
269
  const device = activeDevices[i];
290
270
  const displayName = typeof device.device_name === 'string'
@@ -294,8 +274,26 @@ function registerAutoCct(program, deps) {
294
274
  : typeof device.id === 'string'
295
275
  ? device.id
296
276
  : device.node_id;
297
- console.log(` Setting ${displayName} (${device.node_id}) to ${result.cct}K at ${percent}%`);
298
- controller.setCCT(device.node_id, result.cct, result.intensity);
277
+ let targetIntensity = percent;
278
+ let multiplierApplied = false;
279
+ // Check for intensity multiplier
280
+ if (intensityMultMap) {
281
+ // Check by ID and node_id
282
+ const mult = intensityMultMap[device.node_id] ?? (device.id ? intensityMultMap[device.id] : undefined);
283
+ if (mult !== undefined && typeof mult === 'number') {
284
+ targetIntensity = Math.round(percent * mult);
285
+ // Clamp to safe range [0, 100] just in case
286
+ targetIntensity = Math.max(0, Math.min(100, targetIntensity));
287
+ multiplierApplied = true;
288
+ }
289
+ }
290
+ if (multiplierApplied) {
291
+ console.log(` Setting ${displayName} (${device.node_id}) to ${result.cct}K at ${targetIntensity}% (multiplied)`);
292
+ }
293
+ else {
294
+ console.log(` Setting ${displayName} (${device.node_id}) to ${result.cct}K at ${targetIntensity}%`);
295
+ }
296
+ controller.setCCT(device.node_id, result.cct, result.intensity * (targetIntensity / percent));
299
297
  if (i < activeDevices.length - 1) {
300
298
  await new Promise((resolve) => setTimeout(resolve, waitMs));
301
299
  }
@@ -303,5 +301,5 @@ function registerAutoCct(program, deps) {
303
301
  await controller.disconnect();
304
302
  }));
305
303
  }
306
- exports.default = registerAutoCct;
304
+ export default registerAutoCct;
307
305
  //# sourceMappingURL=autoCct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoCct.js","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoCct.js","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from 'commander';
2
- import type { CommandDeps } from '../types';
2
+ import type { CommandDeps } from '../types.js';
3
3
  export declare function registerCct(program: Command, deps: CommandDeps): void;
4
4
  export default registerCct;
5
5
  //# sourceMappingURL=cct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cct.d.ts","sourceRoot":"","sources":["../../src/commands/cct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AAE5D,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA0F9D;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"cct.d.ts","sourceRoot":"","sources":["../../src/commands/cct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA0F9D;AAED,eAAe,WAAW,CAAC"}