homebridge-tsvesync 1.1.2 → 1.3.3

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.
@@ -16,6 +16,10 @@ export declare class TSVESyncPlatform implements DynamicPlatformPlugin {
16
16
  private readonly aqSensorAccessories;
17
17
  private client;
18
18
  private deviceUpdateInterval?;
19
+ private refreshTimer?;
20
+ private refreshInProgress;
21
+ private scheduledExpMs;
22
+ private refreshRemainingMs;
19
23
  private readonly updateInterval;
20
24
  private readonly debug;
21
25
  private lastLoginAttempt;
@@ -24,6 +28,7 @@ export declare class TSVESyncPlatform implements DynamicPlatformPlugin {
24
28
  private initializationResolver;
25
29
  private isInitialized;
26
30
  private readonly logger;
31
+ private readonly sessionStore;
27
32
  private readonly TOKEN_EXPIRY;
28
33
  private lastTokenRefresh;
29
34
  constructor(log: Logger, config: TSVESyncPlatformConfig, api: API);
@@ -55,6 +60,19 @@ export declare class TSVESyncPlatform implements DynamicPlatformPlugin {
55
60
  * Update device states periodically
56
61
  */
57
62
  private updateDeviceStates;
63
+ /**
64
+ * Handle token updates from the library
65
+ */
66
+ private onTokenChange;
67
+ /**
68
+ * Backward-compatible session hydration when using older tsvesync versions
69
+ */
70
+ private hydrateSessionCompat;
71
+ /**
72
+ * Schedule a proactive token refresh before JWT expiry
73
+ */
74
+ private scheduleProactiveRefreshFromToken;
75
+ private chainRefreshTimer;
58
76
  /**
59
77
  * Check if a device should be excluded based on configuration
60
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5G,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,qBAAqB;aA0B1C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,sBAAsB;aAC9B,GAAG,EAAE,GAAG;IA3B1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAE3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6C;IAEjF,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAGvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,gBAAgB,CAAqB;gBAG3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,GAAG;IA+E1B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAK/C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;YACW,WAAW;IAwDzB;;OAEG;YACW,kBAAkB;IAIhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACG,eAAe;IAgMrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAgB5B"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5G,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGhF;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,qBAAqB;aA+B1C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,sBAAsB;aAC9B,GAAG,EAAE,GAAG;IAhC1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAE3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6C;IAEjF,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IAGjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,gBAAgB,CAAqB;gBAG3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,GAAG;IAgH1B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;OAEG;YACW,kBAAkB;IAsChC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAK/C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;YACW,WAAW;IA4EzB;;OAEG;YACW,kBAAkB;IAIhC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAgFzC,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACG,eAAe;IA6LrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAgB5B"}
package/dist/platform.js CHANGED
@@ -5,6 +5,7 @@ const settings_1 = require("./settings");
5
5
  const device_factory_1 = require("./utils/device-factory");
6
6
  const logger_1 = require("./utils/logger");
7
7
  const api_proxy_1 = require("./utils/api-proxy");
8
+ const session_store_1 = require("./utils/session-store");
8
9
  /**
9
10
  * HomebridgePlatform
10
11
  * This class is the main constructor for your plugin, this is where you should
@@ -22,6 +23,9 @@ class TSVESyncPlatform {
22
23
  this.deviceAccessories = new Map();
23
24
  // Track AQ sensor accessories separately
24
25
  this.aqSensorAccessories = new Map();
26
+ this.refreshInProgress = false;
27
+ this.scheduledExpMs = null;
28
+ this.refreshRemainingMs = null;
25
29
  this.lastLoginAttempt = new Date(0);
26
30
  this.loginBackoffTime = 10000; // Start with 10 seconds
27
31
  this.isInitialized = false;
@@ -43,11 +47,16 @@ class TSVESyncPlatform {
43
47
  this.logger.error('Missing required configuration. Please check your config.json');
44
48
  return;
45
49
  }
50
+ // Prepare session store
51
+ this.sessionStore = new session_store_1.FileSessionStore(this.api.user.storagePath(), this.logger);
46
52
  // Initialize VeSync client with all configuration
47
53
  this.client = (0, api_proxy_1.createRateLimitedVeSync)(config.username, config.password, Intl.DateTimeFormat().resolvedOptions().timeZone, this.debug, true, // redact sensitive info
48
54
  config.apiUrl, this.logger, config.exclude, {
49
55
  countryCode: config.countryCode,
50
56
  quotaManagement: config.quotaManagement || { enabled: true }
57
+ }, {
58
+ store: this.sessionStore,
59
+ onTokenChange: (s) => this.onTokenChange(s)
51
60
  });
52
61
  this.logger.debug('Initialized platform with config:', {
53
62
  name: config.name,
@@ -61,6 +70,31 @@ class TSVESyncPlatform {
61
70
  this.api.on('didFinishLaunching', async () => {
62
71
  this.logger.debug('Executed didFinishLaunching callback');
63
72
  try {
73
+ // Try to hydrate session from disk before any login
74
+ const session = await this.sessionStore.load();
75
+ if (session) {
76
+ try {
77
+ if (session.username && session.username !== this.config.username) {
78
+ this.logger.info('Found persisted session for a different account; ignoring persisted session.');
79
+ }
80
+ else {
81
+ this.hydrateSessionCompat(session);
82
+ const ts = (0, session_store_1.decodeJwtTimestampsLocal)(session.token);
83
+ // Use actual token issuance time if available to avoid overextending lifetime
84
+ this.lastTokenRefresh = (ts === null || ts === void 0 ? void 0 : ts.iat) ? new Date(ts.iat * 1000) : new Date();
85
+ const expStr = (ts === null || ts === void 0 ? void 0 : ts.exp) ? new Date(ts.exp * 1000).toISOString() : 'unknown';
86
+ this.logger.info(`Reusing persisted VeSync session. Token exp: ${expStr}`);
87
+ // Schedule a proactive refresh before expiry
88
+ this.scheduleProactiveRefreshFromToken(session.token);
89
+ }
90
+ }
91
+ catch (e) {
92
+ this.logger.debug(`Failed to hydrate persisted session, will login fresh: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
93
+ }
94
+ }
95
+ else {
96
+ this.logger.debug('No persisted VeSync session available; will authenticate.');
97
+ }
64
98
  // Initialize platform
65
99
  await this.initializePlatform();
66
100
  // Set up device update interval - default is 30 seconds, but we'll increase it to reduce API calls
@@ -84,6 +118,9 @@ class TSVESyncPlatform {
84
118
  if (this.deviceUpdateInterval) {
85
119
  clearInterval(this.deviceUpdateInterval);
86
120
  }
121
+ if (this.refreshTimer) {
122
+ clearTimeout(this.refreshTimer);
123
+ }
87
124
  });
88
125
  }
89
126
  /**
@@ -112,11 +149,14 @@ class TSVESyncPlatform {
112
149
  */
113
150
  async initializePlatform() {
114
151
  try {
115
- // Try to login first
116
- if (!await this.ensureLogin()) {
117
- throw new Error('Failed to login to VeSync API');
152
+ // If we don't have a token/account yet, perform a login once. Otherwise,
153
+ // trust the persisted token and let the library re-login only if the API rejects it.
154
+ if (!this.client.token || !this.client.accountId) {
155
+ if (!await this.ensureLogin()) {
156
+ throw new Error('Failed to login to VeSync API');
157
+ }
118
158
  }
119
- // Get devices from API
159
+ // Get devices from API (will re-login on 401/419 only)
120
160
  await this.client.update();
121
161
  // Discover devices
122
162
  await this.discoverDevices();
@@ -182,7 +222,7 @@ class TSVESyncPlatform {
182
222
  * Ensure client is logged in, but avoid unnecessary logins
183
223
  */
184
224
  async ensureLogin(forceLogin = false) {
185
- var _a;
225
+ var _a, _b, _c;
186
226
  // Check if token needs refresh
187
227
  const timeSinceLastRefresh = Date.now() - this.lastTokenRefresh.getTime();
188
228
  if (!forceLogin && timeSinceLastRefresh < this.TOKEN_EXPIRY) {
@@ -210,13 +250,34 @@ class TSVESyncPlatform {
210
250
  // Reset backoff and update token refresh time on successful login
211
251
  this.loginBackoffTime = 10000;
212
252
  this.lastTokenRefresh = new Date();
253
+ // Best-effort: persist the fresh session immediately in case callbacks fail
254
+ try {
255
+ const token = this.client.token;
256
+ const accountId = this.client.accountId;
257
+ const region = this.client.region;
258
+ const apiBaseUrl = this.client.apiBaseUrl;
259
+ if (token && accountId && region && apiBaseUrl) {
260
+ const ts = (0, session_store_1.decodeJwtTimestampsLocal)(token);
261
+ await this.sessionStore.save({
262
+ token,
263
+ accountId,
264
+ region,
265
+ apiBaseUrl,
266
+ issuedAt: (_a = ts === null || ts === void 0 ? void 0 : ts.iat) !== null && _a !== void 0 ? _a : null,
267
+ expiresAt: (_b = ts === null || ts === void 0 ? void 0 : ts.exp) !== null && _b !== void 0 ? _b : null,
268
+ lastValidatedAt: Date.now(),
269
+ username: this.config.username,
270
+ });
271
+ }
272
+ }
273
+ catch ( /* ignore */_d) { /* ignore */ }
213
274
  isLoggedIn = true;
214
275
  return true;
215
276
  }
216
277
  catch (error) {
217
278
  // Handle specific errors
218
279
  const errorObj = error;
219
- const errorMsg = ((_a = errorObj === null || errorObj === void 0 ? void 0 : errorObj.error) === null || _a === void 0 ? void 0 : _a.msg) || (errorObj === null || errorObj === void 0 ? void 0 : errorObj.msg) || String(error);
280
+ const errorMsg = ((_c = errorObj === null || errorObj === void 0 ? void 0 : errorObj.error) === null || _c === void 0 ? void 0 : _c.msg) || (errorObj === null || errorObj === void 0 ? void 0 : errorObj.msg) || String(error);
220
281
  if (errorMsg.includes('Not logged in')) {
221
282
  this.logger.debug('Session expired, forcing new login');
222
283
  this.loginBackoffTime = Math.min(this.loginBackoffTime, 5000);
@@ -236,6 +297,143 @@ class TSVESyncPlatform {
236
297
  async updateDeviceStates() {
237
298
  await this.discoverDevices();
238
299
  }
300
+ /**
301
+ * Handle token updates from the library
302
+ */
303
+ onTokenChange(session) {
304
+ if (!(session === null || session === void 0 ? void 0 : session.token))
305
+ return;
306
+ this.scheduleProactiveRefreshFromToken(session.token);
307
+ // Persist with username to ensure correct account reuse
308
+ try {
309
+ void this.sessionStore.save({ ...session, username: this.config.username });
310
+ }
311
+ catch ( /* noop */_a) { /* noop */ }
312
+ }
313
+ /**
314
+ * Backward-compatible session hydration when using older tsvesync versions
315
+ */
316
+ hydrateSessionCompat(session) {
317
+ var _a;
318
+ const client = this.client;
319
+ if (typeof client.hydrateSession === 'function') {
320
+ client.hydrateSession(session);
321
+ return;
322
+ }
323
+ // Fallback: set core fields directly
324
+ client.token = session.token;
325
+ client.accountId = session.accountId;
326
+ client.countryCode = (_a = session.countryCode) !== null && _a !== void 0 ? _a : null;
327
+ if (session.apiBaseUrl) {
328
+ client.apiBaseUrl = session.apiBaseUrl;
329
+ }
330
+ if (session.region) {
331
+ try {
332
+ client.region = session.region;
333
+ }
334
+ catch ( /* ignore */_b) { /* ignore */ }
335
+ }
336
+ client.enabled = true;
337
+ }
338
+ /**
339
+ * Schedule a proactive token refresh before JWT expiry
340
+ */
341
+ scheduleProactiveRefreshFromToken(token) {
342
+ try {
343
+ const ts = (0, session_store_1.decodeJwtTimestampsLocal)(token);
344
+ if (!(ts === null || ts === void 0 ? void 0 : ts.exp)) {
345
+ return; // Cannot schedule without exp
346
+ }
347
+ const now = Date.now();
348
+ const expMs = ts.exp * 1000;
349
+ const msToExpiry = expMs - now;
350
+ // If we already have a timer for this exact token expiration, skip
351
+ if (this.scheduledExpMs === expMs && this.refreshTimer) {
352
+ return;
353
+ }
354
+ if (msToExpiry <= 0) {
355
+ // Already expired; trigger immediate login in background
356
+ void this.ensureLogin(true);
357
+ return;
358
+ }
359
+ // Schedule policy to prevent thrash and avoid frequent logins:
360
+ // - If >7d left: refresh 5d before expiry
361
+ // - If 1–7d left: refresh 12h before expiry
362
+ // - If 1–24h left: refresh 1h before expiry
363
+ // - If <1h left: do not proactively refresh; rely on library's 401-triggered re-login
364
+ const ONE_HOUR = 60 * 60 * 1000;
365
+ const TWELVE_HOURS = 12 * ONE_HOUR;
366
+ const FIVE_DAYS = 5 * 24 * ONE_HOUR;
367
+ const SEVEN_DAYS = 7 * 24 * ONE_HOUR;
368
+ let refreshIn;
369
+ if (msToExpiry > SEVEN_DAYS) {
370
+ refreshIn = msToExpiry - FIVE_DAYS;
371
+ }
372
+ else if (msToExpiry > 24 * ONE_HOUR) {
373
+ refreshIn = msToExpiry - TWELVE_HOURS;
374
+ }
375
+ else if (msToExpiry > ONE_HOUR) {
376
+ refreshIn = msToExpiry - ONE_HOUR;
377
+ }
378
+ else {
379
+ // Too close to expiry; avoid hammering login — let 401 path handle it
380
+ this.logger.debug('Token near expiry (<1h). Skipping proactive refresh; relying on auto re-login.');
381
+ return;
382
+ }
383
+ // Safety floor: never schedule earlier than 30 minutes from now
384
+ refreshIn = Math.max(refreshIn, 30 * 60 * 1000);
385
+ if (this.refreshTimer) {
386
+ clearTimeout(this.refreshTimer);
387
+ }
388
+ this.scheduledExpMs = expMs;
389
+ // Handle Node.js setTimeout max delay (~24.8 days). Chain timers when needed.
390
+ const MAX_DELAY = 0x7fffffff; // 2,147,483,647 ms
391
+ if (refreshIn > MAX_DELAY) {
392
+ this.refreshRemainingMs = refreshIn - MAX_DELAY;
393
+ this.logger.debug('Proactive refresh scheduled beyond setTimeout max; chaining timers.');
394
+ this.refreshTimer = setTimeout(() => this.chainRefreshTimer(), MAX_DELAY);
395
+ }
396
+ else {
397
+ this.refreshRemainingMs = 0;
398
+ this.refreshTimer = setTimeout(async () => {
399
+ if (this.refreshInProgress) {
400
+ this.logger.debug('Proactive refresh already in progress; skipping.');
401
+ return;
402
+ }
403
+ this.refreshInProgress = true;
404
+ this.logger.debug('Proactively refreshing VeSync session before token expiry');
405
+ try {
406
+ await this.ensureLogin(true);
407
+ }
408
+ finally {
409
+ this.refreshInProgress = false;
410
+ }
411
+ }, refreshIn);
412
+ }
413
+ const hours = Math.round(refreshIn / (60 * 60 * 1000));
414
+ this.logger.debug(`Scheduled proactive token refresh in ~${hours}h`);
415
+ }
416
+ catch (e) {
417
+ // Best-effort scheduling; ignore errors
418
+ }
419
+ }
420
+ chainRefreshTimer() {
421
+ if (!this.refreshRemainingMs || this.refreshRemainingMs <= 0) {
422
+ // Final hop: trigger refresh now
423
+ if (this.refreshInProgress) {
424
+ this.logger.debug('Proactive refresh already in progress; skipping.');
425
+ return;
426
+ }
427
+ this.refreshInProgress = true;
428
+ this.logger.debug('Proactively refreshing VeSync session before token expiry');
429
+ void this.ensureLogin(true).finally(() => { this.refreshInProgress = false; });
430
+ return;
431
+ }
432
+ const MAX_DELAY = 0x7fffffff;
433
+ const hop = Math.min(this.refreshRemainingMs, MAX_DELAY);
434
+ this.refreshRemainingMs -= hop;
435
+ this.refreshTimer = setTimeout(() => this.chainRefreshTimer(), hop);
436
+ }
239
437
  /**
240
438
  * Check if a device should be excluded based on configuration
241
439
  */
@@ -288,10 +486,7 @@ class TSVESyncPlatform {
288
486
  async discoverDevices() {
289
487
  this.logger.debug('Discovering devices');
290
488
  try {
291
- // Try to login first
292
- if (!await this.ensureLogin()) {
293
- return;
294
- }
489
+ // Do not force login; rely on library to re-login only if needed
295
490
  let retryCount = 0;
296
491
  let success = false;
297
492
  // Keep retrying API calls
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,8 @@ export declare const createRateLimitedVeSync: (username: string, password: strin
8
8
  bufferPercentage?: number;
9
9
  priorityMethods?: string[];
10
10
  };
11
- }) => VeSync;
11
+ }, session?: {
12
+ store?: any;
13
+ onTokenChange?: ((s: any) => void) | undefined;
14
+ } | undefined) => VeSync;
12
15
  //# sourceMappingURL=api-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkPxD,eAAO,MAAM,uBAAuB,aACxB,MAAM,YACN,MAAM,YACN,MAAM,UACR,OAAO,WACN,OAAO,WACP,MAAM,iBACA,YAAY,eACd,eAAe,WACnB;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAA;CACF,KACA,MA6BF,CAAC"}
1
+ {"version":3,"file":"api-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkPxD,eAAO,MAAM,uBAAuB,aACxB,MAAM,YACN,MAAM,YACN,MAAM,UACR,OAAO,WACN,OAAO,WACP,MAAM,iBACA,YAAY,eACd,eAAe,WACnB;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAA;CACF;YAES,GAAG;yBACS,GAAG,KAAK,IAAI;kBAEjC,MA+BF,CAAC"}
@@ -160,7 +160,7 @@ const createRateLimitedProxy = (target, rateLimiter, deviceId) => {
160
160
  // Methods that bypass all rate limiting and debouncing
161
161
  const bypassMethods = [
162
162
  // Getters and internal methods
163
- 'get', 'getService', 'getCharacteristic',
163
+ 'get', 'getService', 'getCharacteristic', 'hydrateSession',
164
164
  // State accessors
165
165
  'deviceStatus', 'speed', 'brightness', 'colorTemp',
166
166
  'mode', 'filterLife', 'airQuality', 'airQualityValue', 'screenStatus',
@@ -196,7 +196,7 @@ const createRateLimitedProxy = (target, rateLimiter, deviceId) => {
196
196
  });
197
197
  };
198
198
  // Export a factory function that creates rate-limited VeSync instances
199
- const createRateLimitedVeSync = (username, password, timeZone, debug, redact, apiUrl, customLogger, exclusions, config) => {
199
+ const createRateLimitedVeSync = (username, password, timeZone, debug, redact, apiUrl, customLogger, exclusions, config, session) => {
200
200
  var _a;
201
201
  // Use the new options object pattern for VeSync constructor
202
202
  const client = new tsvesync_1.VeSync(username, password, timeZone, {
@@ -205,7 +205,9 @@ const createRateLimitedVeSync = (username, password, timeZone, debug, redact, ap
205
205
  apiUrl: apiUrl,
206
206
  customLogger: customLogger,
207
207
  excludeConfig: exclusions,
208
- countryCode: (config === null || config === void 0 ? void 0 : config.countryCode) || 'US' // Default to US
208
+ countryCode: (config === null || config === void 0 ? void 0 : config.countryCode) || 'US',
209
+ sessionStore: session === null || session === void 0 ? void 0 : session.store,
210
+ onTokenChange: session === null || session === void 0 ? void 0 : session.onTokenChange
209
211
  });
210
212
  const logger = customLogger || new logger_1.PluginLogger(console, debug || false);
211
213
  // Create rate limiter with quota management if enabled
@@ -1 +1 @@
1
- {"version":3,"file":"api-proxy.js","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-proxy.js","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { PluginLogger } from './logger';
2
+ export interface PluginSession {
3
+ token: string;
4
+ accountId: string;
5
+ countryCode?: string | null;
6
+ region: string;
7
+ apiBaseUrl: string;
8
+ authFlowUsed?: 'legacy' | 'new';
9
+ issuedAt?: number | null;
10
+ expiresAt?: number | null;
11
+ lastValidatedAt?: number | null;
12
+ libraryVersion?: string;
13
+ username?: string;
14
+ }
15
+ export declare class FileSessionStore {
16
+ private readonly logger;
17
+ private readonly dir;
18
+ private readonly file;
19
+ constructor(basePath: string, logger: PluginLogger);
20
+ load(): Promise<PluginSession | null>;
21
+ save(session: PluginSession): Promise<void>;
22
+ clear(): Promise<void>;
23
+ }
24
+ export declare function decodeJwtTimestampsLocal(token: string): {
25
+ iat?: number;
26
+ exp?: number;
27
+ } | null;
28
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/utils/session-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAIG,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,QAAQ,EAAE,MAAM,EAAmB,MAAM,EAAE,YAAY;IAK7D,IAAI,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsBrC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa7F"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decodeJwtTimestampsLocal = exports.FileSessionStore = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ class FileSessionStore {
10
+ constructor(basePath, logger) {
11
+ this.logger = logger;
12
+ this.dir = path_1.default.join(basePath, 'tsvesync');
13
+ this.file = path_1.default.join(this.dir, 'session.json');
14
+ }
15
+ async load() {
16
+ try {
17
+ await fs_1.default.promises.mkdir(this.dir, { recursive: true });
18
+ const data = await fs_1.default.promises.readFile(this.file, 'utf8');
19
+ const session = JSON.parse(data);
20
+ if (!session || !session.token || !session.accountId)
21
+ return null;
22
+ try {
23
+ const expSec = session.expiresAt && session.expiresAt > 1e11 ? Math.floor(session.expiresAt / 1000) : session.expiresAt;
24
+ const exp = expSec ? new Date(expSec * 1000).toISOString() : 'unknown';
25
+ this.logger.debug(`Loaded persisted session from ${this.file} (exp: ${exp})`);
26
+ }
27
+ catch (_a) { }
28
+ return session;
29
+ }
30
+ catch (e) {
31
+ if ((e === null || e === void 0 ? void 0 : e.code) === 'ENOENT') {
32
+ this.logger.debug(`No persisted session found at ${this.file}`);
33
+ }
34
+ else {
35
+ this.logger.debug(`Session load error: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
36
+ }
37
+ return null;
38
+ }
39
+ }
40
+ async save(session) {
41
+ try {
42
+ await fs_1.default.promises.mkdir(this.dir, { recursive: true });
43
+ const tmp = this.file + '.tmp';
44
+ await fs_1.default.promises.writeFile(tmp, JSON.stringify(session), { encoding: 'utf8', mode: 0o600 });
45
+ await fs_1.default.promises.rename(tmp, this.file);
46
+ try {
47
+ await fs_1.default.promises.chmod(this.file, 0o600);
48
+ }
49
+ catch ( /* best effort */_a) { /* best effort */ }
50
+ try {
51
+ const expSec = session.expiresAt && session.expiresAt > 1e11 ? Math.floor(session.expiresAt / 1000) : session.expiresAt;
52
+ const exp = expSec ? new Date(expSec * 1000).toISOString() : 'unknown';
53
+ this.logger.debug(`Persisted session to ${this.file} (exp: ${exp})`);
54
+ }
55
+ catch (_b) { }
56
+ }
57
+ catch (e) {
58
+ this.logger.debug(`Session save error: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
59
+ }
60
+ }
61
+ async clear() {
62
+ try {
63
+ await fs_1.default.promises.unlink(this.file);
64
+ }
65
+ catch (e) {
66
+ if ((e === null || e === void 0 ? void 0 : e.code) !== 'ENOENT') {
67
+ this.logger.debug(`Session clear error: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ exports.FileSessionStore = FileSessionStore;
73
+ function decodeJwtTimestampsLocal(token) {
74
+ try {
75
+ const parts = token.split('.');
76
+ if (parts.length !== 3)
77
+ return null;
78
+ const payload = JSON.parse(Buffer.from(parts[1].replace(/-/g, '+').replace(/_/g, '/'), 'base64').toString('utf8'));
79
+ let iat = typeof payload.iat === 'number' ? payload.iat : undefined;
80
+ let exp = typeof payload.exp === 'number' ? payload.exp : undefined;
81
+ if (iat && iat > 1e11)
82
+ iat = Math.floor(iat / 1000);
83
+ if (exp && exp > 1e11)
84
+ exp = Math.floor(exp / 1000);
85
+ return { iat, exp };
86
+ }
87
+ catch (_a) {
88
+ return null;
89
+ }
90
+ }
91
+ exports.decodeJwtTimestampsLocal = decodeJwtTimestampsLocal;
92
+ //# sourceMappingURL=session-store.js.map