@felixgeelhaar/govee-api-client 1.1.0 → 2.0.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 (60) hide show
  1. package/README.md +160 -7
  2. package/dist/GoveeClient.d.ts +31 -0
  3. package/dist/GoveeClient.d.ts.map +1 -1
  4. package/dist/GoveeClient.js +33 -0
  5. package/dist/GoveeClient.js.map +1 -1
  6. package/dist/errors/ValidationError.d.ts +28 -0
  7. package/dist/errors/ValidationError.d.ts.map +1 -0
  8. package/dist/errors/ValidationError.js +44 -0
  9. package/dist/errors/ValidationError.js.map +1 -0
  10. package/dist/errors/index.d.ts +1 -0
  11. package/dist/errors/index.d.ts.map +1 -1
  12. package/dist/errors/index.js +1 -0
  13. package/dist/errors/index.js.map +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/infrastructure/GoveeDeviceRepository.js +1 -1
  19. package/dist/infrastructure/GoveeDeviceRepository.js.map +1 -1
  20. package/dist/infrastructure/SlidingWindowRateLimiter.d.ts +83 -0
  21. package/dist/infrastructure/SlidingWindowRateLimiter.d.ts.map +1 -0
  22. package/dist/infrastructure/SlidingWindowRateLimiter.js +218 -0
  23. package/dist/infrastructure/SlidingWindowRateLimiter.js.map +1 -0
  24. package/dist/infrastructure/index.d.ts +2 -0
  25. package/dist/infrastructure/index.d.ts.map +1 -1
  26. package/dist/infrastructure/index.js +2 -0
  27. package/dist/infrastructure/index.js.map +1 -1
  28. package/dist/infrastructure/response-schemas.d.ts +82 -0
  29. package/dist/infrastructure/response-schemas.d.ts.map +1 -0
  30. package/dist/infrastructure/response-schemas.js +59 -0
  31. package/dist/infrastructure/response-schemas.js.map +1 -0
  32. package/dist/infrastructure/retry/IntegrationGuide.d.ts +133 -0
  33. package/dist/infrastructure/retry/IntegrationGuide.d.ts.map +1 -0
  34. package/dist/infrastructure/retry/IntegrationGuide.js +295 -0
  35. package/dist/infrastructure/retry/IntegrationGuide.js.map +1 -0
  36. package/dist/infrastructure/retry/RetryConfigPresets.d.ts +114 -0
  37. package/dist/infrastructure/retry/RetryConfigPresets.d.ts.map +1 -0
  38. package/dist/infrastructure/retry/RetryConfigPresets.js +406 -0
  39. package/dist/infrastructure/retry/RetryConfigPresets.js.map +1 -0
  40. package/dist/infrastructure/retry/RetryPolicy.d.ts +148 -0
  41. package/dist/infrastructure/retry/RetryPolicy.d.ts.map +1 -0
  42. package/dist/infrastructure/retry/RetryPolicy.js +373 -0
  43. package/dist/infrastructure/retry/RetryPolicy.js.map +1 -0
  44. package/dist/infrastructure/retry/RetryableRepository.d.ts +75 -0
  45. package/dist/infrastructure/retry/RetryableRepository.d.ts.map +1 -0
  46. package/dist/infrastructure/retry/RetryableRepository.js +142 -0
  47. package/dist/infrastructure/retry/RetryableRepository.js.map +1 -0
  48. package/dist/infrastructure/retry/RetryableRequest.d.ts +132 -0
  49. package/dist/infrastructure/retry/RetryableRequest.d.ts.map +1 -0
  50. package/dist/infrastructure/retry/RetryableRequest.js +248 -0
  51. package/dist/infrastructure/retry/RetryableRequest.js.map +1 -0
  52. package/dist/infrastructure/retry/index.d.ts +35 -0
  53. package/dist/infrastructure/retry/index.d.ts.map +1 -0
  54. package/dist/infrastructure/retry/index.js +36 -0
  55. package/dist/infrastructure/retry/index.js.map +1 -0
  56. package/dist/services/GoveeControlService.d.ts +53 -0
  57. package/dist/services/GoveeControlService.d.ts.map +1 -1
  58. package/dist/services/GoveeControlService.js +138 -12
  59. package/dist/services/GoveeControlService.js.map +1 -1
  60. package/package.json +16 -13
@@ -1,17 +1,93 @@
1
- import pLimit from 'p-limit';
2
1
  import { CommandFactory } from '../domain/entities/Command';
2
+ import { SlidingWindowRateLimiter } from '../infrastructure';
3
+ import { RetryableRepository, RetryExecutor, RetryPolicy, RetryConfigPresets, } from '../infrastructure/retry';
3
4
  export class GoveeControlService {
4
5
  constructor(config) {
5
6
  this.validateConfig(config);
6
- this.repository = config.repository;
7
+ // Set up retry functionality if enabled
8
+ this.enableRetries = config.enableRetries ?? false;
9
+ if (this.enableRetries) {
10
+ this.repository = this.createRetryableRepository(config);
11
+ }
12
+ else {
13
+ this.repository = config.repository;
14
+ }
7
15
  this.logger = config.logger;
8
- // Default to 100 requests per minute (Govee API limit)
9
- const requestsPerMinute = config.rateLimit ?? 100;
10
- const requestsPerSecond = requestsPerMinute / 60;
11
- const intervalMs = 1000 / requestsPerSecond;
12
- // Create rate limiter with proper interval
13
- this.rateLimiter = pLimit(1); // One request at a time
14
- this.logger?.info({ requestsPerMinute, intervalMs }, 'Initialized GoveeControlService with rate limiting');
16
+ // Default to 95 requests per minute (5 request buffer under Govee API limit)
17
+ const requestsPerMinute = config.rateLimit ?? 95;
18
+ // Initialize the sliding window rate limiter
19
+ if (config.rateLimiterConfig) {
20
+ // Use custom configuration
21
+ this.rateLimiter = new SlidingWindowRateLimiter({
22
+ maxRequests: requestsPerMinute,
23
+ windowMs: 60 * 1000, // 1 minute
24
+ logger: this.logger,
25
+ ...config.rateLimiterConfig,
26
+ });
27
+ }
28
+ else if (requestsPerMinute === 95) {
29
+ // Use optimized factory for Govee API
30
+ this.rateLimiter = SlidingWindowRateLimiter.forGoveeApi(this.logger);
31
+ }
32
+ else {
33
+ // Use custom rate limit
34
+ this.rateLimiter = SlidingWindowRateLimiter.custom(requestsPerMinute, this.logger);
35
+ }
36
+ this.logger?.info({
37
+ requestsPerMinute,
38
+ rateLimiterType: 'SlidingWindow',
39
+ enableRetries: this.enableRetries,
40
+ retryPolicy: this.enableRetries ? config.retryPolicy || 'production' : 'disabled',
41
+ stats: this.rateLimiter.getStats(),
42
+ }, 'Initialized GoveeControlService with sliding window rate limiting');
43
+ }
44
+ /**
45
+ * Creates a retry-enabled repository wrapper
46
+ */
47
+ createRetryableRepository(config) {
48
+ let retryPolicy;
49
+ // Determine retry policy based on configuration
50
+ if (config.retryPolicy instanceof RetryPolicy) {
51
+ retryPolicy = config.retryPolicy;
52
+ }
53
+ else {
54
+ const policyType = config.retryPolicy || 'production';
55
+ switch (policyType) {
56
+ case 'development':
57
+ retryPolicy = new RetryPolicy(RetryConfigPresets.development(this.logger));
58
+ break;
59
+ case 'testing':
60
+ retryPolicy = new RetryPolicy(RetryConfigPresets.testing(this.logger));
61
+ break;
62
+ case 'production':
63
+ retryPolicy = new RetryPolicy(RetryConfigPresets.production(this.logger));
64
+ break;
65
+ case 'custom':
66
+ // Use Govee-optimized defaults for custom
67
+ retryPolicy = RetryPolicy.createGoveeOptimized(this.logger);
68
+ break;
69
+ default:
70
+ retryPolicy = new RetryPolicy(RetryConfigPresets.production(this.logger));
71
+ }
72
+ }
73
+ const retryExecutor = new RetryExecutor(retryPolicy, {
74
+ logger: this.logger,
75
+ enableRequestLogging: true,
76
+ enablePerformanceTracking: true,
77
+ });
78
+ const retryableRepository = new RetryableRepository({
79
+ repository: config.repository,
80
+ retryExecutor,
81
+ logger: this.logger,
82
+ enableRequestIds: true,
83
+ });
84
+ this.logger?.info({
85
+ retryPolicy: retryPolicy.getMetrics().circuitBreakerState
86
+ ? 'enabled_with_circuit_breaker'
87
+ : 'enabled',
88
+ maxAttempts: retryPolicy instanceof RetryPolicy ? 'configured' : 'default',
89
+ }, 'Created retry-enabled repository wrapper');
90
+ return retryableRepository;
15
91
  }
16
92
  validateConfig(config) {
17
93
  if (!config.repository) {
@@ -27,7 +103,7 @@ export class GoveeControlService {
27
103
  */
28
104
  async getDevices() {
29
105
  this.logger?.info('Getting all devices');
30
- return this.rateLimiter(async () => {
106
+ return this.rateLimiter.execute(async () => {
31
107
  const devices = await this.repository.findAll();
32
108
  this.logger?.info(`Retrieved ${devices.length} devices`);
33
109
  return devices;
@@ -39,7 +115,7 @@ export class GoveeControlService {
39
115
  async getDeviceState(deviceId, model) {
40
116
  this.validateDeviceParams(deviceId, model);
41
117
  this.logger?.info({ deviceId, model }, 'Getting device state');
42
- return this.rateLimiter(async () => {
118
+ return this.rateLimiter.execute(async () => {
43
119
  const state = await this.repository.findState(deviceId, model);
44
120
  this.logger?.info({ deviceId, model, online: state.online }, 'Retrieved device state');
45
121
  return state;
@@ -51,7 +127,7 @@ export class GoveeControlService {
51
127
  async sendCommand(deviceId, model, command) {
52
128
  this.validateDeviceParams(deviceId, model);
53
129
  this.logger?.info({ deviceId, model, command: command.toObject() }, 'Sending command');
54
- return this.rateLimiter(async () => {
130
+ return this.rateLimiter.execute(async () => {
55
131
  await this.repository.sendCommand(deviceId, model, command);
56
132
  this.logger?.info({ deviceId, model }, 'Command sent successfully');
57
133
  });
@@ -163,6 +239,56 @@ export class GoveeControlService {
163
239
  const devices = await this.getDevices();
164
240
  return devices.filter(device => device.model === model);
165
241
  }
242
+ /**
243
+ * Gets current rate limiter statistics for monitoring and debugging
244
+ */
245
+ getRateLimiterStats() {
246
+ return this.rateLimiter.getStats();
247
+ }
248
+ /**
249
+ * Gets retry metrics if retry functionality is enabled
250
+ */
251
+ getRetryMetrics() {
252
+ if (!this.enableRetries) {
253
+ return null;
254
+ }
255
+ if (this.repository instanceof RetryableRepository) {
256
+ return this.repository.getRetryMetrics();
257
+ }
258
+ return null;
259
+ }
260
+ /**
261
+ * Resets retry metrics if retry functionality is enabled
262
+ */
263
+ resetRetryMetrics() {
264
+ if (!this.enableRetries) {
265
+ return;
266
+ }
267
+ if (this.repository instanceof RetryableRepository) {
268
+ this.repository.resetRetryMetrics();
269
+ this.logger?.info('Retry metrics reset');
270
+ }
271
+ }
272
+ /**
273
+ * Gets comprehensive service statistics including rate limiter and retry metrics
274
+ */
275
+ getServiceStats() {
276
+ const stats = {
277
+ rateLimiter: this.getRateLimiterStats(),
278
+ retries: this.getRetryMetrics(),
279
+ configuration: {
280
+ enableRetries: this.enableRetries,
281
+ rateLimit: this.rateLimiter.getStats().maxRequests,
282
+ },
283
+ };
284
+ return stats;
285
+ }
286
+ /**
287
+ * Checks if retry functionality is enabled
288
+ */
289
+ isRetryEnabled() {
290
+ return this.enableRetries;
291
+ }
166
292
  validateDeviceParams(deviceId, model) {
167
293
  if (!deviceId || typeof deviceId !== 'string' || deviceId.trim().length === 0) {
168
294
  throw new Error('Device ID must be a non-empty string');
@@ -1 +1 @@
1
- {"version":3,"file":"GoveeControlService.js","sourceRoot":"","sources":["../../src/services/GoveeControlService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoveeControlService.js","sourceRoot":"","sources":["../../src/services/GoveeControlService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@felixgeelhaar/govee-api-client",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "Enterprise-grade TypeScript client library for the Govee Developer REST API",
5
+ "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "files": [
@@ -30,20 +31,22 @@
30
31
  "author": "Felix Geelhaar <felix@geelhaar.com>",
31
32
  "license": "MIT",
32
33
  "dependencies": {
33
- "axios": "^1.6.0",
34
- "pino": "^8.16.0",
35
- "p-limit": "^5.0.0"
34
+ "axios": "1.11.0",
35
+ "pino": "8.21.0",
36
+ "zod": "4.0.10"
36
37
  },
37
38
  "devDependencies": {
38
- "@types/node": "^20.9.0",
39
- "@vitest/coverage-v8": "^1.0.0",
40
- "@vitest/ui": "^1.0.0",
41
- "husky": "^8.0.0",
42
- "lint-staged": "^15.0.0",
43
- "msw": "^2.0.0",
44
- "prettier": "^3.0.0",
45
- "typescript": "^5.2.0",
46
- "vitest": "^1.0.0"
39
+ "@types/nock": "10.0.3",
40
+ "@types/node": "20.19.9",
41
+ "@vitest/coverage-v8": "3.2.4",
42
+ "@vitest/ui": "3.2.4",
43
+ "husky": "8.0.3",
44
+ "lint-staged": "15.5.2",
45
+ "msw": "2.10.4",
46
+ "nock": "14.0.7",
47
+ "prettier": "3.6.2",
48
+ "typescript": "5.8.3",
49
+ "vitest": "3.2.4"
47
50
  },
48
51
  "engines": {
49
52
  "node": ">=18.0.0"