homebridge-myleviton 3.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 (72) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +112 -0
  3. package/config.schema.json +136 -0
  4. package/dist/api/cache.d.ts +108 -0
  5. package/dist/api/cache.d.ts.map +1 -0
  6. package/dist/api/cache.js +206 -0
  7. package/dist/api/cache.js.map +1 -0
  8. package/dist/api/circuit-breaker.d.ts +118 -0
  9. package/dist/api/circuit-breaker.d.ts.map +1 -0
  10. package/dist/api/circuit-breaker.js +223 -0
  11. package/dist/api/circuit-breaker.js.map +1 -0
  12. package/dist/api/client.d.ts +116 -0
  13. package/dist/api/client.d.ts.map +1 -0
  14. package/dist/api/client.js +358 -0
  15. package/dist/api/client.js.map +1 -0
  16. package/dist/api/index.d.ts +23 -0
  17. package/dist/api/index.d.ts.map +1 -0
  18. package/dist/api/index.js +47 -0
  19. package/dist/api/index.js.map +1 -0
  20. package/dist/api/persistence.d.ts +107 -0
  21. package/dist/api/persistence.d.ts.map +1 -0
  22. package/dist/api/persistence.js +285 -0
  23. package/dist/api/persistence.js.map +1 -0
  24. package/dist/api/rate-limiter.d.ts +102 -0
  25. package/dist/api/rate-limiter.d.ts.map +1 -0
  26. package/dist/api/rate-limiter.js +173 -0
  27. package/dist/api/rate-limiter.js.map +1 -0
  28. package/dist/api/request-queue.d.ts +104 -0
  29. package/dist/api/request-queue.d.ts.map +1 -0
  30. package/dist/api/request-queue.js +223 -0
  31. package/dist/api/request-queue.js.map +1 -0
  32. package/dist/api/websocket.d.ts +116 -0
  33. package/dist/api/websocket.d.ts.map +1 -0
  34. package/dist/api/websocket.js +319 -0
  35. package/dist/api/websocket.js.map +1 -0
  36. package/dist/errors/index.d.ts +182 -0
  37. package/dist/errors/index.d.ts.map +1 -0
  38. package/dist/errors/index.js +273 -0
  39. package/dist/errors/index.js.map +1 -0
  40. package/dist/index.d.ts +16 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +42 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/platform.d.ts +139 -0
  45. package/dist/platform.d.ts.map +1 -0
  46. package/dist/platform.js +664 -0
  47. package/dist/platform.js.map +1 -0
  48. package/dist/types/index.d.ts +225 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/index.js +34 -0
  51. package/dist/types/index.js.map +1 -0
  52. package/dist/utils/index.d.ts +15 -0
  53. package/dist/utils/index.d.ts.map +1 -0
  54. package/dist/utils/index.js +52 -0
  55. package/dist/utils/index.js.map +1 -0
  56. package/dist/utils/logger.d.ts +103 -0
  57. package/dist/utils/logger.d.ts.map +1 -0
  58. package/dist/utils/logger.js +184 -0
  59. package/dist/utils/logger.js.map +1 -0
  60. package/dist/utils/retry.d.ts +56 -0
  61. package/dist/utils/retry.d.ts.map +1 -0
  62. package/dist/utils/retry.js +141 -0
  63. package/dist/utils/retry.js.map +1 -0
  64. package/dist/utils/sanitizers.d.ts +37 -0
  65. package/dist/utils/sanitizers.d.ts.map +1 -0
  66. package/dist/utils/sanitizers.js +128 -0
  67. package/dist/utils/sanitizers.js.map +1 -0
  68. package/dist/utils/validators.d.ts +51 -0
  69. package/dist/utils/validators.d.ts.map +1 -0
  70. package/dist/utils/validators.js +243 -0
  71. package/dist/utils/validators.js.map +1 -0
  72. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Copyright (c) 2026 tbaur
3
+ *
4
+ * Licensed under the Apache License, Version 2.0
5
+ * See LICENSE file for full license text
6
+ */
7
+ /**
8
+ * Logger interface compatible with Homebridge
9
+ */
10
+ export interface Logger {
11
+ info(message: string, ...parameters: unknown[]): void;
12
+ warn(message: string, ...parameters: unknown[]): void;
13
+ error(message: string, ...parameters: unknown[]): void;
14
+ debug(message: string, ...parameters: unknown[]): void;
15
+ }
16
+ /**
17
+ * Platform config interface
18
+ */
19
+ export interface PlatformConfig {
20
+ platform: string;
21
+ name?: string;
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Plugin configuration interface
26
+ */
27
+ export interface LevitonConfig extends PlatformConfig {
28
+ email: string;
29
+ password: string;
30
+ loglevel?: LogLevel;
31
+ excludedModels?: string[];
32
+ excludedSerials?: string[];
33
+ structuredLogs?: boolean;
34
+ pollingInterval?: number;
35
+ connectionTimeout?: number;
36
+ }
37
+ /**
38
+ * Log levels
39
+ */
40
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
41
+ /**
42
+ * Power states
43
+ */
44
+ export type PowerState = 'ON' | 'OFF';
45
+ /**
46
+ * Device model identifiers
47
+ */
48
+ export declare enum DeviceModel {
49
+ FAN = "DW4SF",
50
+ DIMMER_VOICE = "DWVAA",
51
+ DIMMER_1000W = "DW1KD",
52
+ DIMMER_600W = "DW6HD",
53
+ DIMMER_600W_GEN2 = "D26HD",
54
+ DIMMER_PLUGIN_GEN2 = "D23LP",
55
+ DIMMER_PLUGIN = "DW3HL",
56
+ DIMMER_MOTION = "D2MSD",
57
+ OUTLET_TAMPER = "DW15R",
58
+ OUTLET_PLUGIN_HP = "DW15A",
59
+ OUTLET_PLUGIN = "DW15P",
60
+ SWITCH_15A = "DW15S",
61
+ SWITCH_15A_GEN2 = "D215S"
62
+ }
63
+ /**
64
+ * Device types for HomeKit service mapping
65
+ */
66
+ export type DeviceType = 'fan' | 'dimmer' | 'motionDimmer' | 'outlet' | 'switch';
67
+ /**
68
+ * Device information from Leviton API
69
+ */
70
+ export interface DeviceInfo {
71
+ id: string;
72
+ name: string;
73
+ serial: string;
74
+ model: string;
75
+ manufacturer?: string;
76
+ version?: string;
77
+ }
78
+ /**
79
+ * Device status from Leviton API
80
+ */
81
+ export interface DeviceStatus {
82
+ id?: string;
83
+ power: PowerState;
84
+ brightness?: number;
85
+ minLevel?: number;
86
+ maxLevel?: number;
87
+ occupancy?: boolean;
88
+ motion?: boolean;
89
+ }
90
+ /**
91
+ * Login response from Leviton API
92
+ */
93
+ export interface LoginResponse {
94
+ id: string;
95
+ userId: string;
96
+ ttl?: number;
97
+ }
98
+ /**
99
+ * Residential permission from Leviton API
100
+ */
101
+ export interface ResidentialPermission {
102
+ residentialAccountId: string;
103
+ [key: string]: unknown;
104
+ }
105
+ /**
106
+ * Residential account from Leviton API
107
+ */
108
+ export interface ResidentialAccount {
109
+ id: string;
110
+ primaryResidenceId: string;
111
+ [key: string]: unknown;
112
+ }
113
+ /**
114
+ * Residence from Leviton API v2
115
+ */
116
+ export interface Residence {
117
+ id: string;
118
+ [key: string]: unknown;
119
+ }
120
+ /**
121
+ * WebSocket message payload
122
+ */
123
+ export interface WebSocketPayload {
124
+ id: string;
125
+ power?: PowerState;
126
+ brightness?: number;
127
+ occupancy?: boolean;
128
+ motion?: boolean;
129
+ }
130
+ /**
131
+ * Cache entry structure
132
+ */
133
+ export interface CacheEntry<T> {
134
+ data: T;
135
+ timestamp: number;
136
+ }
137
+ /**
138
+ * Persisted device state
139
+ */
140
+ export interface PersistedDeviceState {
141
+ id: string;
142
+ name?: string;
143
+ model?: string;
144
+ power?: PowerState;
145
+ brightness?: number;
146
+ _cached?: boolean;
147
+ _cachedAt?: number;
148
+ _updatedAt?: number;
149
+ }
150
+ /**
151
+ * Persistence file structure
152
+ */
153
+ export interface PersistenceFile {
154
+ version: number;
155
+ timestamp: number;
156
+ devices: Record<string, PersistedDeviceState>;
157
+ }
158
+ /**
159
+ * Retry policy configuration
160
+ */
161
+ export interface RetryPolicy {
162
+ maxAttempts: number;
163
+ baseDelay: number;
164
+ maxDelay: number;
165
+ backoffMultiplier: number;
166
+ retryableErrors: string[];
167
+ onRetry?: (attempt: number, error: Error) => void;
168
+ }
169
+ /**
170
+ * Request queue item
171
+ */
172
+ export interface QueuedRequest<T = unknown> {
173
+ id: string;
174
+ priority: 'high' | 'normal' | 'low';
175
+ execute: () => Promise<T>;
176
+ timestamp: number;
177
+ resolve: (value: T) => void;
178
+ reject: (error: Error) => void;
179
+ }
180
+ /**
181
+ * Metrics data
182
+ */
183
+ export interface Metrics {
184
+ apiRequestsTotal: number;
185
+ apiRequestErrors: number;
186
+ cacheHits: number;
187
+ cacheMisses: number;
188
+ websocketReconnects: number;
189
+ circuitBreakerTrips: number;
190
+ }
191
+ /**
192
+ * Structured log entry
193
+ */
194
+ export interface LogEntry {
195
+ timestamp: string;
196
+ level: LogLevel;
197
+ correlationId?: string;
198
+ deviceId?: string;
199
+ operation?: string;
200
+ duration?: number;
201
+ message: string;
202
+ error?: {
203
+ code: string;
204
+ message: string;
205
+ stack?: string;
206
+ };
207
+ }
208
+ /**
209
+ * API request options
210
+ */
211
+ export interface ApiRequestOptions {
212
+ useCache?: boolean;
213
+ cacheKey?: string;
214
+ bypassCircuitBreaker?: boolean;
215
+ debugLog?: (msg: string) => void;
216
+ priority?: 'high' | 'normal' | 'low';
217
+ }
218
+ /**
219
+ * Accessory context stored in Homebridge
220
+ */
221
+ export interface AccessoryContext {
222
+ device: DeviceInfo;
223
+ token: string;
224
+ }
225
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACrD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACtD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAA;AAErC;;GAEG;AACH,oBAAY,WAAW;IAErB,GAAG,UAAU;IAGb,YAAY,UAAU;IACtB,YAAY,UAAU;IACtB,WAAW,UAAU;IACrB,gBAAgB,UAAU;IAC1B,kBAAkB,UAAU;IAC5B,aAAa,UAAU;IAGvB,aAAa,UAAU;IAGvB,aAAa,UAAU;IACvB,gBAAgB,UAAU;IAC1B,aAAa,UAAU;IAGvB,UAAU,UAAU;IACpB,eAAe,UAAU;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB,EAAE,MAAM,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAA;IACP,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,QAAQ,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2026 tbaur
4
+ *
5
+ * Licensed under the Apache License, Version 2.0
6
+ * See LICENSE file for full license text
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DeviceModel = void 0;
10
+ /**
11
+ * Device model identifiers
12
+ */
13
+ var DeviceModel;
14
+ (function (DeviceModel) {
15
+ // Fan Controllers
16
+ DeviceModel["FAN"] = "DW4SF";
17
+ // Dimmers
18
+ DeviceModel["DIMMER_VOICE"] = "DWVAA";
19
+ DeviceModel["DIMMER_1000W"] = "DW1KD";
20
+ DeviceModel["DIMMER_600W"] = "DW6HD";
21
+ DeviceModel["DIMMER_600W_GEN2"] = "D26HD";
22
+ DeviceModel["DIMMER_PLUGIN_GEN2"] = "D23LP";
23
+ DeviceModel["DIMMER_PLUGIN"] = "DW3HL";
24
+ // Motion Sensor Dimmers
25
+ DeviceModel["DIMMER_MOTION"] = "D2MSD";
26
+ // Outlets
27
+ DeviceModel["OUTLET_TAMPER"] = "DW15R";
28
+ DeviceModel["OUTLET_PLUGIN_HP"] = "DW15A";
29
+ DeviceModel["OUTLET_PLUGIN"] = "DW15P";
30
+ // Switches
31
+ DeviceModel["SWITCH_15A"] = "DW15S";
32
+ DeviceModel["SWITCH_15A_GEN2"] = "D215S";
33
+ })(DeviceModel || (exports.DeviceModel = DeviceModel = {}));
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgDH;;GAEG;AACH,IAAY,WAuBX;AAvBD,WAAY,WAAW;IACrB,kBAAkB;IAClB,4BAAa,CAAA;IAEb,UAAU;IACV,qCAAsB,CAAA;IACtB,qCAAsB,CAAA;IACtB,oCAAqB,CAAA;IACrB,yCAA0B,CAAA;IAC1B,2CAA4B,CAAA;IAC5B,sCAAuB,CAAA;IAEvB,wBAAwB;IACxB,sCAAuB,CAAA;IAEvB,UAAU;IACV,sCAAuB,CAAA;IACvB,yCAA0B,CAAA;IAC1B,sCAAuB,CAAA;IAEvB,WAAW;IACX,mCAAoB,CAAA;IACpB,wCAAyB,CAAA;AAC3B,CAAC,EAvBW,WAAW,2BAAX,WAAW,QAuBtB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) 2026 tbaur
3
+ *
4
+ * Licensed under the Apache License, Version 2.0
5
+ * See LICENSE file for full license text
6
+ *
7
+ * @fileoverview Utility exports
8
+ */
9
+ export { validateEmail, validatePassword, validateDeviceId, validateSerial, validateToken, validatePowerState, validateBrightness, validateConfig, assertDefined, validateNonEmptyArray, } from './validators';
10
+ export { sanitizeError, sanitizeString, sanitizeObject, truncate, maskToken, createResponsePreview, sanitizeStackTrace, } from './sanitizers';
11
+ export { withRetry, makeRetryable, withRetryAndTimeout, withRetryContext, sleep, calculateBackoffDelay, DEFAULT_RETRY_POLICY, AGGRESSIVE_RETRY_POLICY, CONSERVATIVE_RETRY_POLICY, } from './retry';
12
+ export type { RetryContext } from './retry';
13
+ export { LeveledLogger, StructuredLogger, createLogger, createStructuredLogger, LOG_LEVELS, DEFAULT_LOG_LEVEL, } from './logger';
14
+ export type { StructuredLoggerConfig } from './logger';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2026 tbaur
4
+ *
5
+ * Licensed under the Apache License, Version 2.0
6
+ * See LICENSE file for full license text
7
+ *
8
+ * @fileoverview Utility exports
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.DEFAULT_LOG_LEVEL = exports.LOG_LEVELS = exports.createStructuredLogger = exports.createLogger = exports.StructuredLogger = exports.LeveledLogger = exports.CONSERVATIVE_RETRY_POLICY = exports.AGGRESSIVE_RETRY_POLICY = exports.DEFAULT_RETRY_POLICY = exports.calculateBackoffDelay = exports.sleep = exports.withRetryContext = exports.withRetryAndTimeout = exports.makeRetryable = exports.withRetry = exports.sanitizeStackTrace = exports.createResponsePreview = exports.maskToken = exports.truncate = exports.sanitizeObject = exports.sanitizeString = exports.sanitizeError = exports.validateNonEmptyArray = exports.assertDefined = exports.validateConfig = exports.validateBrightness = exports.validatePowerState = exports.validateToken = exports.validateSerial = exports.validateDeviceId = exports.validatePassword = exports.validateEmail = void 0;
12
+ // Validators
13
+ var validators_1 = require("./validators");
14
+ Object.defineProperty(exports, "validateEmail", { enumerable: true, get: function () { return validators_1.validateEmail; } });
15
+ Object.defineProperty(exports, "validatePassword", { enumerable: true, get: function () { return validators_1.validatePassword; } });
16
+ Object.defineProperty(exports, "validateDeviceId", { enumerable: true, get: function () { return validators_1.validateDeviceId; } });
17
+ Object.defineProperty(exports, "validateSerial", { enumerable: true, get: function () { return validators_1.validateSerial; } });
18
+ Object.defineProperty(exports, "validateToken", { enumerable: true, get: function () { return validators_1.validateToken; } });
19
+ Object.defineProperty(exports, "validatePowerState", { enumerable: true, get: function () { return validators_1.validatePowerState; } });
20
+ Object.defineProperty(exports, "validateBrightness", { enumerable: true, get: function () { return validators_1.validateBrightness; } });
21
+ Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return validators_1.validateConfig; } });
22
+ Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return validators_1.assertDefined; } });
23
+ Object.defineProperty(exports, "validateNonEmptyArray", { enumerable: true, get: function () { return validators_1.validateNonEmptyArray; } });
24
+ // Sanitizers
25
+ var sanitizers_1 = require("./sanitizers");
26
+ Object.defineProperty(exports, "sanitizeError", { enumerable: true, get: function () { return sanitizers_1.sanitizeError; } });
27
+ Object.defineProperty(exports, "sanitizeString", { enumerable: true, get: function () { return sanitizers_1.sanitizeString; } });
28
+ Object.defineProperty(exports, "sanitizeObject", { enumerable: true, get: function () { return sanitizers_1.sanitizeObject; } });
29
+ Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return sanitizers_1.truncate; } });
30
+ Object.defineProperty(exports, "maskToken", { enumerable: true, get: function () { return sanitizers_1.maskToken; } });
31
+ Object.defineProperty(exports, "createResponsePreview", { enumerable: true, get: function () { return sanitizers_1.createResponsePreview; } });
32
+ Object.defineProperty(exports, "sanitizeStackTrace", { enumerable: true, get: function () { return sanitizers_1.sanitizeStackTrace; } });
33
+ // Retry
34
+ var retry_1 = require("./retry");
35
+ Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return retry_1.withRetry; } });
36
+ Object.defineProperty(exports, "makeRetryable", { enumerable: true, get: function () { return retry_1.makeRetryable; } });
37
+ Object.defineProperty(exports, "withRetryAndTimeout", { enumerable: true, get: function () { return retry_1.withRetryAndTimeout; } });
38
+ Object.defineProperty(exports, "withRetryContext", { enumerable: true, get: function () { return retry_1.withRetryContext; } });
39
+ Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return retry_1.sleep; } });
40
+ Object.defineProperty(exports, "calculateBackoffDelay", { enumerable: true, get: function () { return retry_1.calculateBackoffDelay; } });
41
+ Object.defineProperty(exports, "DEFAULT_RETRY_POLICY", { enumerable: true, get: function () { return retry_1.DEFAULT_RETRY_POLICY; } });
42
+ Object.defineProperty(exports, "AGGRESSIVE_RETRY_POLICY", { enumerable: true, get: function () { return retry_1.AGGRESSIVE_RETRY_POLICY; } });
43
+ Object.defineProperty(exports, "CONSERVATIVE_RETRY_POLICY", { enumerable: true, get: function () { return retry_1.CONSERVATIVE_RETRY_POLICY; } });
44
+ // Logger
45
+ var logger_1 = require("./logger");
46
+ Object.defineProperty(exports, "LeveledLogger", { enumerable: true, get: function () { return logger_1.LeveledLogger; } });
47
+ Object.defineProperty(exports, "StructuredLogger", { enumerable: true, get: function () { return logger_1.StructuredLogger; } });
48
+ Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
49
+ Object.defineProperty(exports, "createStructuredLogger", { enumerable: true, get: function () { return logger_1.createStructuredLogger; } });
50
+ Object.defineProperty(exports, "LOG_LEVELS", { enumerable: true, get: function () { return logger_1.LOG_LEVELS; } });
51
+ Object.defineProperty(exports, "DEFAULT_LOG_LEVEL", { enumerable: true, get: function () { return logger_1.DEFAULT_LOG_LEVEL; } });
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,aAAa;AACb,2CAWqB;AAVnB,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAChB,4GAAA,cAAc,OAAA;AACd,2GAAA,aAAa,OAAA;AACb,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,4GAAA,cAAc,OAAA;AACd,2GAAA,aAAa,OAAA;AACb,mHAAA,qBAAqB,OAAA;AAGvB,aAAa;AACb,2CAQqB;AAPnB,2GAAA,aAAa,OAAA;AACb,4GAAA,cAAc,OAAA;AACd,4GAAA,cAAc,OAAA;AACd,sGAAA,QAAQ,OAAA;AACR,uGAAA,SAAS,OAAA;AACT,mHAAA,qBAAqB,OAAA;AACrB,gHAAA,kBAAkB,OAAA;AAGpB,QAAQ;AACR,iCAUgB;AATd,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA;AAChB,8FAAA,KAAK,OAAA;AACL,8GAAA,qBAAqB,OAAA;AACrB,6GAAA,oBAAoB,OAAA;AACpB,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AAI3B,SAAS;AACT,mCAOiB;AANf,uGAAA,aAAa,OAAA;AACb,0GAAA,gBAAgB,OAAA;AAChB,sGAAA,YAAY,OAAA;AACZ,gHAAA,sBAAsB,OAAA;AACtB,oGAAA,UAAU,OAAA;AACV,2GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Copyright (c) 2026 tbaur
3
+ *
4
+ * Licensed under the Apache License, Version 2.0
5
+ * See LICENSE file for full license text
6
+ *
7
+ * @fileoverview Structured logging utilities
8
+ */
9
+ import type { LogLevel, Logger } from '../types';
10
+ /**
11
+ * Log levels in order of severity
12
+ */
13
+ export declare const LOG_LEVELS: LogLevel[];
14
+ /**
15
+ * Default log level
16
+ */
17
+ export declare const DEFAULT_LOG_LEVEL: LogLevel;
18
+ /**
19
+ * Structured logger configuration
20
+ */
21
+ export interface StructuredLoggerConfig {
22
+ /** Enable structured JSON output */
23
+ structured: boolean;
24
+ /** Include correlation ID in logs */
25
+ includeCorrelationId: boolean;
26
+ /** Include timestamps */
27
+ includeTimestamp: boolean;
28
+ }
29
+ /**
30
+ * Default structured logger configuration
31
+ */
32
+ export declare const DEFAULT_STRUCTURED_LOGGER_CONFIG: StructuredLoggerConfig;
33
+ /**
34
+ * Logger wrapper that supports level filtering and structured output
35
+ */
36
+ export declare class LeveledLogger {
37
+ private readonly baseLog;
38
+ private readonly minLevel;
39
+ debug: (message: string) => void;
40
+ info: (message: string) => void;
41
+ warn: (message: string) => void;
42
+ error: (message: string) => void;
43
+ constructor(log: Logger | ((message: string) => void), level?: LogLevel);
44
+ private createLevelMethod;
45
+ }
46
+ /**
47
+ * Structured logger with correlation ID support
48
+ */
49
+ export declare class StructuredLogger {
50
+ private readonly log;
51
+ private readonly config;
52
+ private correlationId;
53
+ constructor(log: Logger | ((message: string) => void), config?: Partial<StructuredLoggerConfig>);
54
+ /**
55
+ * Set correlation ID for request tracing
56
+ */
57
+ setCorrelationId(id: string): void;
58
+ /**
59
+ * Generate a new correlation ID
60
+ */
61
+ generateCorrelationId(): string;
62
+ /**
63
+ * Clear correlation ID
64
+ */
65
+ clearCorrelationId(): void;
66
+ /**
67
+ * Format a log entry
68
+ */
69
+ private format;
70
+ /**
71
+ * Log debug message
72
+ */
73
+ debug(message: string | object, context?: object): void;
74
+ /**
75
+ * Log info message
76
+ */
77
+ info(message: string | object, context?: object): void;
78
+ /**
79
+ * Log warning message
80
+ */
81
+ warn(message: string | object, context?: object): void;
82
+ /**
83
+ * Log error message
84
+ */
85
+ error(message: string | object, context?: object): void;
86
+ /**
87
+ * Log an error with stack trace
88
+ */
89
+ logError(message: string, error: unknown, context?: object): void;
90
+ /**
91
+ * Create a child logger with additional context
92
+ */
93
+ child(context: object): StructuredLogger;
94
+ }
95
+ /**
96
+ * Create a leveled logger from Homebridge logger
97
+ */
98
+ export declare function createLogger(log: Logger | ((message: string) => void), level?: LogLevel): LeveledLogger;
99
+ /**
100
+ * Create a structured logger
101
+ */
102
+ export declare function createStructuredLogger(log: Logger | ((message: string) => void), config?: Partial<StructuredLoggerConfig>): StructuredLogger;
103
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,EAAE,MAAM,UAAU,CAAA;AAG1D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,EAAuC,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAiB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAA;IACnB,qCAAqC;IACrC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,yBAAyB;IACzB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,sBAI9C,CAAA;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;gBAEpB,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,KAAK,GAAE,QAA4B;IAW1F,OAAO,CAAC,iBAAiB;CAQ1B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,aAAa,CAAsB;gBAGzC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,EACzC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAM9C;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAK/B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,OAAO,CAAC,MAAM;IAqCd;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAItD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAItD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASjE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;CAWzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,EACzC,KAAK,GAAE,QAA4B,GAClC,aAAa,CAEf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,EACzC,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACvC,gBAAgB,CAElB"}