@homebridge-plugins/homebridge-august 3.1.3 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connectivity-manager.d.ts +89 -0
- package/dist/connectivity-manager.d.ts.map +1 -0
- package/dist/connectivity-manager.js +264 -0
- package/dist/connectivity-manager.js.map +1 -0
- package/dist/devices/device.d.ts +0 -9
- package/dist/devices/device.d.ts.map +1 -1
- package/dist/devices/device.js +0 -32
- package/dist/devices/device.js.map +1 -1
- package/dist/devices/lock.d.ts +20 -1
- package/dist/devices/lock.d.ts.map +1 -1
- package/dist/devices/lock.js +133 -103
- package/dist/devices/lock.js.map +1 -1
- package/dist/package.json +2 -2
- package/dist/platform.d.ts +26 -19
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +101 -52
- package/dist/platform.js.map +1 -1
- package/dist/platform.matter.d.ts +6 -9
- package/dist/platform.matter.d.ts.map +1 -1
- package/dist/platform.matter.js +25 -31
- package/dist/platform.matter.js.map +1 -1
- package/docs/variables/default.html +1 -1
- package/package.json +2 -2
- package/test/connectivity-manager.test.ts +380 -0
- package/test/platform.matter.test.ts +36 -44
- package/test/platform.polling.test.ts +313 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Logging } from 'homebridge';
|
|
2
|
+
import type { credentials } from './settings.js';
|
|
3
|
+
import August from 'august-yale';
|
|
4
|
+
export type ConnectivityState = 'healthy' | 'degraded' | 'offline' | 'recovering';
|
|
5
|
+
interface ExecuteOptions {
|
|
6
|
+
/**
|
|
7
|
+
* When true, OfflineError is thrown instead of returning undefined when
|
|
8
|
+
* the manager is offline. Used for user-initiated calls (lock/unlock)
|
|
9
|
+
* where HomeKit needs to see a real failure rather than a silent no-op.
|
|
10
|
+
*/
|
|
11
|
+
throwOnOffline?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class OfflineError extends Error {
|
|
14
|
+
constructor(label: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class ConnectivityManager {
|
|
17
|
+
private readonly log;
|
|
18
|
+
private readonly credentialsFactory;
|
|
19
|
+
/**
|
|
20
|
+
* Called whenever the manager builds or rebuilds the August client.
|
|
21
|
+
* The platform uses this to keep its public `augustConfig` field in
|
|
22
|
+
* sync, so existing call sites that read `platform.augustConfig`
|
|
23
|
+
* continue to see the current client without going through the
|
|
24
|
+
* manager's accessor.
|
|
25
|
+
*/
|
|
26
|
+
private readonly onClientChanged;
|
|
27
|
+
private state;
|
|
28
|
+
private client?;
|
|
29
|
+
private probeTimer?;
|
|
30
|
+
private backoffIndex;
|
|
31
|
+
private rebuildInFlight?;
|
|
32
|
+
private listeners;
|
|
33
|
+
constructor(log: Logging, credentialsFactory: () => Promise<credentials>,
|
|
34
|
+
/**
|
|
35
|
+
* Called whenever the manager builds or rebuilds the August client.
|
|
36
|
+
* The platform uses this to keep its public `augustConfig` field in
|
|
37
|
+
* sync, so existing call sites that read `platform.augustConfig`
|
|
38
|
+
* continue to see the current client without going through the
|
|
39
|
+
* manager's accessor.
|
|
40
|
+
*/
|
|
41
|
+
onClientChanged?: (client: August | undefined) => void);
|
|
42
|
+
init(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Single entry point for every August API call. Wraps the call,
|
|
45
|
+
* classifies any error, and updates connectivity state.
|
|
46
|
+
*
|
|
47
|
+
* Default behavior: returns undefined when state is 'offline' or when
|
|
48
|
+
* the call fails with a network/auth error. The platform-level poller
|
|
49
|
+
* treats undefined as 'skip this cycle'. Set throwOnOffline:true for
|
|
50
|
+
* user-initiated calls (lock/unlock) where HomeKit needs to see a
|
|
51
|
+
* real failure.
|
|
52
|
+
*
|
|
53
|
+
* Transient errors (4xx other than 401) are always rethrown — they're
|
|
54
|
+
* not connectivity issues and the caller needs to handle them.
|
|
55
|
+
*/
|
|
56
|
+
execute<T>(label: string, fn: (client: August) => Promise<T>, opts?: ExecuteOptions): Promise<T | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* External signal: PubNub WebSocket reported a (re)connection. PubNub
|
|
59
|
+
* recovers from a network blip seconds before HTTP polling would notice,
|
|
60
|
+
* so this is the fastest path back to healthy. Triggers an immediate
|
|
61
|
+
* probe that bypasses the current backoff delay.
|
|
62
|
+
*/
|
|
63
|
+
onPubNubReconnect(): void;
|
|
64
|
+
getState(): ConnectivityState;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the current August client. Used by code paths that need
|
|
67
|
+
* direct access (e.g. addSimpleProps, which is a pure utility) and
|
|
68
|
+
* during the transition period while not all callers are routed
|
|
69
|
+
* through execute(). New code should prefer execute().
|
|
70
|
+
*/
|
|
71
|
+
getClient(): August | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Subscribe to connectivity state changes. Used by the platform-level
|
|
74
|
+
* poller to pause polling when offline and resume when healthy.
|
|
75
|
+
* Returns an unsubscribe function.
|
|
76
|
+
*/
|
|
77
|
+
onStateChange(l: (next: ConnectivityState, prev: ConnectivityState) => void): () => void;
|
|
78
|
+
shutdown(): void;
|
|
79
|
+
private reportSuccess;
|
|
80
|
+
private reportFailure;
|
|
81
|
+
private scheduleProbe;
|
|
82
|
+
private runProbe;
|
|
83
|
+
private rebuildClient;
|
|
84
|
+
private classify;
|
|
85
|
+
private transitionTo;
|
|
86
|
+
private clearProbeTimer;
|
|
87
|
+
}
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=connectivity-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectivity-manager.d.ts","sourceRoot":"","sources":["../src/connectivity-manager.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,MAAwB,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAA;AAyBjF,UAAU,cAAc;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,mBAAmB;IAS5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe;IAjBlC,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,SAAS,CAAwE;gBAGtE,GAAG,EAAE,OAAO,EACZ,kBAAkB,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC;IAC/D;;;;;;OAMG;IACc,eAAe,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAe;IAG7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,CAAC,EACb,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgCzB;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IASzB,QAAQ,IAAI,iBAAiB;IAI7B;;;;;OAKG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKxF,QAAQ,IAAI,IAAI;IAUhB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;YAQP,QAAQ;YA8BR,aAAa;IAkB3B,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import August, { TimeoutError } from 'august-yale';
|
|
2
|
+
/**
|
|
3
|
+
* Backoff schedule for probes after the network is detected as broken.
|
|
4
|
+
* Capped at 5 minutes; ±10% jitter is applied at use to avoid synchronized
|
|
5
|
+
* probes across instances during ISP-level events.
|
|
6
|
+
*/
|
|
7
|
+
const BACKOFF_SCHEDULE_MS = [5_000, 10_000, 20_000, 40_000, 80_000, 160_000, 300_000];
|
|
8
|
+
/** Probe timeout — short on purpose. A healthy August API responds in <1s. */
|
|
9
|
+
const PROBE_TIMEOUT_MS = 8_000;
|
|
10
|
+
/** Network error codes that classify() treats as connectivity failures. */
|
|
11
|
+
const NETWORK_ERROR_CODES = new Set([
|
|
12
|
+
'ECONNRESET',
|
|
13
|
+
'ENETUNREACH',
|
|
14
|
+
'EHOSTUNREACH',
|
|
15
|
+
'ENOTFOUND',
|
|
16
|
+
'ECONNREFUSED',
|
|
17
|
+
'EAI_AGAIN',
|
|
18
|
+
'ETIMEDOUT',
|
|
19
|
+
]);
|
|
20
|
+
export class OfflineError extends Error {
|
|
21
|
+
constructor(label) {
|
|
22
|
+
super(`Operation skipped — connectivity is offline: ${label}`);
|
|
23
|
+
this.name = 'OfflineError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class ConnectivityManager {
|
|
27
|
+
log;
|
|
28
|
+
credentialsFactory;
|
|
29
|
+
onClientChanged;
|
|
30
|
+
state = 'healthy';
|
|
31
|
+
client;
|
|
32
|
+
probeTimer;
|
|
33
|
+
backoffIndex = 0;
|
|
34
|
+
rebuildInFlight;
|
|
35
|
+
listeners = new Set();
|
|
36
|
+
constructor(log, credentialsFactory,
|
|
37
|
+
/**
|
|
38
|
+
* Called whenever the manager builds or rebuilds the August client.
|
|
39
|
+
* The platform uses this to keep its public `augustConfig` field in
|
|
40
|
+
* sync, so existing call sites that read `platform.augustConfig`
|
|
41
|
+
* continue to see the current client without going through the
|
|
42
|
+
* manager's accessor.
|
|
43
|
+
*/
|
|
44
|
+
onClientChanged = () => { }) {
|
|
45
|
+
this.log = log;
|
|
46
|
+
this.credentialsFactory = credentialsFactory;
|
|
47
|
+
this.onClientChanged = onClientChanged;
|
|
48
|
+
}
|
|
49
|
+
async init() {
|
|
50
|
+
if (this.client) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.client = new August(await this.credentialsFactory());
|
|
54
|
+
this.onClientChanged(this.client);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Single entry point for every August API call. Wraps the call,
|
|
58
|
+
* classifies any error, and updates connectivity state.
|
|
59
|
+
*
|
|
60
|
+
* Default behavior: returns undefined when state is 'offline' or when
|
|
61
|
+
* the call fails with a network/auth error. The platform-level poller
|
|
62
|
+
* treats undefined as 'skip this cycle'. Set throwOnOffline:true for
|
|
63
|
+
* user-initiated calls (lock/unlock) where HomeKit needs to see a
|
|
64
|
+
* real failure.
|
|
65
|
+
*
|
|
66
|
+
* Transient errors (4xx other than 401) are always rethrown — they're
|
|
67
|
+
* not connectivity issues and the caller needs to handle them.
|
|
68
|
+
*/
|
|
69
|
+
async execute(label, fn, opts = {}) {
|
|
70
|
+
if (this.state === 'offline') {
|
|
71
|
+
if (opts.throwOnOffline) {
|
|
72
|
+
throw new OfflineError(label);
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
if (!this.client) {
|
|
77
|
+
if (opts.throwOnOffline) {
|
|
78
|
+
throw new OfflineError(label);
|
|
79
|
+
}
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const result = await fn(this.client);
|
|
84
|
+
this.reportSuccess();
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
const kind = this.classify(e);
|
|
89
|
+
this.reportFailure(label, kind);
|
|
90
|
+
if (kind === 'transient') {
|
|
91
|
+
// Not a connectivity issue — let the caller see the real error.
|
|
92
|
+
throw e;
|
|
93
|
+
}
|
|
94
|
+
if (opts.throwOnOffline) {
|
|
95
|
+
throw e;
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* External signal: PubNub WebSocket reported a (re)connection. PubNub
|
|
102
|
+
* recovers from a network blip seconds before HTTP polling would notice,
|
|
103
|
+
* so this is the fastest path back to healthy. Triggers an immediate
|
|
104
|
+
* probe that bypasses the current backoff delay.
|
|
105
|
+
*/
|
|
106
|
+
onPubNubReconnect() {
|
|
107
|
+
if (this.state === 'healthy') {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.log.info('Connectivity: PubNub reconnect signal received — probing immediately');
|
|
111
|
+
this.clearProbeTimer();
|
|
112
|
+
void this.runProbe();
|
|
113
|
+
}
|
|
114
|
+
getState() {
|
|
115
|
+
return this.state;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns the current August client. Used by code paths that need
|
|
119
|
+
* direct access (e.g. addSimpleProps, which is a pure utility) and
|
|
120
|
+
* during the transition period while not all callers are routed
|
|
121
|
+
* through execute(). New code should prefer execute().
|
|
122
|
+
*/
|
|
123
|
+
getClient() {
|
|
124
|
+
return this.client;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Subscribe to connectivity state changes. Used by the platform-level
|
|
128
|
+
* poller to pause polling when offline and resume when healthy.
|
|
129
|
+
* Returns an unsubscribe function.
|
|
130
|
+
*/
|
|
131
|
+
onStateChange(l) {
|
|
132
|
+
this.listeners.add(l);
|
|
133
|
+
return () => this.listeners.delete(l);
|
|
134
|
+
}
|
|
135
|
+
shutdown() {
|
|
136
|
+
this.clearProbeTimer();
|
|
137
|
+
this.client?.destroy();
|
|
138
|
+
this.client = undefined;
|
|
139
|
+
this.onClientChanged(undefined);
|
|
140
|
+
this.listeners.clear();
|
|
141
|
+
}
|
|
142
|
+
// --- internals ---
|
|
143
|
+
reportSuccess() {
|
|
144
|
+
if (this.state !== 'healthy') {
|
|
145
|
+
this.transitionTo('healthy');
|
|
146
|
+
}
|
|
147
|
+
this.backoffIndex = 0;
|
|
148
|
+
}
|
|
149
|
+
reportFailure(label, kind) {
|
|
150
|
+
if (kind === 'auth') {
|
|
151
|
+
// Session expired. Rebuild the client; do not change connectivity state.
|
|
152
|
+
this.log.info(`Connectivity: auth expiry on "${label}" — rebuilding client`);
|
|
153
|
+
void this.rebuildClient('auth expiry');
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (kind === 'transient') {
|
|
157
|
+
// 4xx/422/429/etc. — caller's responsibility, not a network issue.
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
// kind === 'network'
|
|
161
|
+
if (this.state === 'healthy') {
|
|
162
|
+
this.log.warn(`Connectivity: network error on "${label}" — entering degraded state`);
|
|
163
|
+
this.transitionTo('degraded');
|
|
164
|
+
this.backoffIndex = 0;
|
|
165
|
+
this.scheduleProbe();
|
|
166
|
+
}
|
|
167
|
+
// If already degraded/offline, the probe timer is already running.
|
|
168
|
+
}
|
|
169
|
+
scheduleProbe() {
|
|
170
|
+
this.clearProbeTimer();
|
|
171
|
+
const idx = Math.min(this.backoffIndex, BACKOFF_SCHEDULE_MS.length - 1);
|
|
172
|
+
const base = BACKOFF_SCHEDULE_MS[idx];
|
|
173
|
+
const jittered = base * (0.9 + Math.random() * 0.2);
|
|
174
|
+
this.probeTimer = setTimeout(() => void this.runProbe(), jittered);
|
|
175
|
+
}
|
|
176
|
+
async runProbe() {
|
|
177
|
+
if (!this.client) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
try {
|
|
181
|
+
// Cheap authenticated call against the EXISTING client. .locks()
|
|
182
|
+
// returns a small map and is the lightest endpoint. Race against a
|
|
183
|
+
// short timeout — the goal is "is the network working", not
|
|
184
|
+
// "is everything healthy".
|
|
185
|
+
await Promise.race([
|
|
186
|
+
this.client.locks(),
|
|
187
|
+
new Promise((_resolve, reject) => setTimeout(() => reject(new TimeoutError('probe timed out')), PROBE_TIMEOUT_MS)),
|
|
188
|
+
]);
|
|
189
|
+
// Network is back. Rebuild the client to shed any half-open sockets
|
|
190
|
+
// accumulated before the outage, then mark healthy.
|
|
191
|
+
await this.rebuildClient('probe succeeded');
|
|
192
|
+
this.transitionTo('healthy');
|
|
193
|
+
this.backoffIndex = 0;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
if (this.state !== 'offline') {
|
|
197
|
+
this.log.warn('Connectivity: probe failed — entering offline state');
|
|
198
|
+
this.transitionTo('offline');
|
|
199
|
+
}
|
|
200
|
+
this.backoffIndex = Math.min(this.backoffIndex + 1, BACKOFF_SCHEDULE_MS.length - 1);
|
|
201
|
+
this.scheduleProbe();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
async rebuildClient(reason) {
|
|
205
|
+
if (this.rebuildInFlight) {
|
|
206
|
+
return this.rebuildInFlight;
|
|
207
|
+
}
|
|
208
|
+
this.rebuildInFlight = (async () => {
|
|
209
|
+
this.log.info(`Connectivity: rebuilding August client (${reason})`);
|
|
210
|
+
const old = this.client;
|
|
211
|
+
this.client = new August(await this.credentialsFactory());
|
|
212
|
+
this.onClientChanged(this.client);
|
|
213
|
+
old?.destroy();
|
|
214
|
+
})();
|
|
215
|
+
try {
|
|
216
|
+
await this.rebuildInFlight;
|
|
217
|
+
}
|
|
218
|
+
finally {
|
|
219
|
+
this.rebuildInFlight = undefined;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
classify(e) {
|
|
223
|
+
const err = e;
|
|
224
|
+
if (err?.name === 'TimeoutError') {
|
|
225
|
+
return 'network';
|
|
226
|
+
}
|
|
227
|
+
if (err?.code && NETWORK_ERROR_CODES.has(err.code)) {
|
|
228
|
+
return 'network';
|
|
229
|
+
}
|
|
230
|
+
if (err?.message && /ETIMEDOUT|ECONNRESET|ENOTFOUND|ENETUNREACH/i.test(err.message)) {
|
|
231
|
+
return 'network';
|
|
232
|
+
}
|
|
233
|
+
if (err?.statusCode === 502 || err?.statusCode === 503 || err?.statusCode === 504) {
|
|
234
|
+
return 'network';
|
|
235
|
+
}
|
|
236
|
+
if (err?.statusCode === 401) {
|
|
237
|
+
return 'auth';
|
|
238
|
+
}
|
|
239
|
+
return 'transient';
|
|
240
|
+
}
|
|
241
|
+
transitionTo(next) {
|
|
242
|
+
const prev = this.state;
|
|
243
|
+
if (prev === next) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
this.state = next;
|
|
247
|
+
this.log.info(`Connectivity: ${prev} -> ${next}`);
|
|
248
|
+
for (const l of this.listeners) {
|
|
249
|
+
try {
|
|
250
|
+
l(next, prev);
|
|
251
|
+
}
|
|
252
|
+
catch (e) {
|
|
253
|
+
this.log.error(`Connectivity listener threw: ${e?.message ?? e}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
clearProbeTimer() {
|
|
258
|
+
if (this.probeTimer) {
|
|
259
|
+
clearTimeout(this.probeTimer);
|
|
260
|
+
this.probeTimer = undefined;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=connectivity-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectivity-manager.js","sourceRoot":"","sources":["../src/connectivity-manager.ts"],"names":[],"mappings":"AA+CA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAIlD;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAErF,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAE9B,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY;IACZ,aAAa;IACb,cAAc;IACd,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;CACZ,CAAC,CAAA;AAaF,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,KAAa;QACvB,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IASX;IACA;IAQA;IAjBX,KAAK,GAAsB,SAAS,CAAA;IACpC,MAAM,CAAS;IACf,UAAU,CAAiB;IAC3B,YAAY,GAAG,CAAC,CAAA;IAChB,eAAe,CAAgB;IAC/B,SAAS,GAAG,IAAI,GAAG,EAA8D,CAAA;IAEzF,YACmB,GAAY,EACZ,kBAA8C;IAC/D;;;;;;OAMG;IACc,kBAAwD,GAAG,EAAE,GAAE,CAAC;QAThE,QAAG,GAAH,GAAG,CAAS;QACZ,uBAAkB,GAAlB,kBAAkB,CAA4B;QAQ9C,oBAAe,GAAf,eAAe,CAAiD;IAChF,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,CACX,KAAa,EACb,EAAkC,EAClC,OAAuB,EAAE;QAEzB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC/B,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,gEAAgE;gBAChE,MAAM,CAAC,CAAA;YACT,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,CAAA;YACT,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;QACrF,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAA;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,CAA6D;QACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACrB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,oBAAoB;IAEZ,aAAa;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IACvB,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,IAAe;QAClD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,yEAAyE;YACzE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,KAAK,uBAAuB,CAAC,CAAA;YAC5E,KAAK,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,mEAAmE;YACnE,OAAM;QACR,CAAC;QACD,qBAAqB;QACrB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,KAAK,6BAA6B,CAAC,CAAA;YACpF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;QACD,mEAAmE;IACrE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACpE,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,iEAAiE;YACjE,mEAAmE;YACnE,4DAA4D;YAC5D,2BAA2B;YAC3B,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACnB,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAChF;aACF,CAAC,CAAA;YACF,oEAAoE;YACpE,oDAAoD;YACpD,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;YAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBACpE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACnF,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,MAAM,GAAG,CAAC,CAAA;YACnE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;YACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACjC,GAAG,EAAE,OAAO,EAAE,CAAA;QAChB,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAA;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,CAAU;QACzB,MAAM,GAAG,GAAG,CAA4E,CAAA;QACxF,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,GAAG,EAAE,OAAO,IAAI,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,GAAG,EAAE,UAAU,KAAK,GAAG,IAAI,GAAG,EAAE,UAAU,KAAK,GAAG,IAAI,GAAG,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;YAClF,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,GAAG,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAEO,YAAY,CAAC,IAAuB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO,IAAI,EAAE,CAAC,CAAA;QACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACf,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;CACF"}
|
package/dist/devices/device.d.ts
CHANGED
|
@@ -39,15 +39,6 @@ export declare abstract class deviceBase {
|
|
|
39
39
|
statusCode(action: string, error: {
|
|
40
40
|
message: string;
|
|
41
41
|
}): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Check if error is a network timeout or session expiration that requires session refresh
|
|
44
|
-
* Handles 502 Bad Gateway, 401 Unauthorized, 503 Service Unavailable, and network timeouts
|
|
45
|
-
*/
|
|
46
|
-
isTimeoutError(error: {
|
|
47
|
-
message: string;
|
|
48
|
-
name?: string;
|
|
49
|
-
statusCode?: number;
|
|
50
|
-
}): boolean;
|
|
51
42
|
/**
|
|
52
43
|
* Logging for Device
|
|
53
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEjF,8BAAsB,UAAU;IAc5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc;IAC3C,SAAS,CAAC,SAAS,EAAE,iBAAiB;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAf1C,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,SAAgB,GAAG,EAAE,OAAO,CAAA;IAC5B,SAAgB,MAAM,EAAG,oBAAoB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAG3B,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,MAAM,CAAA;IACpC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,cAAc,EAAG,MAAM,CAAA;IACjC,SAAS,CAAC,qBAAqB,EAAG,MAAM,CAAA;gBAGnB,QAAQ,EAAE,cAAc,EACjC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IA2BpC,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3D,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1F;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,CACxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,GAAG,EACnB,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,MAAM,EAC1B,KAAK,CAAC,EAAE,mBAAmB,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC;IAqBV,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB3E
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEjF,8BAAsB,UAAU;IAc5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc;IAC3C,SAAS,CAAC,SAAS,EAAE,iBAAiB;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAf1C,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,SAAgB,GAAG,EAAE,OAAO,CAAA;IAC5B,SAAgB,MAAM,EAAG,oBAAoB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAG3B,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,MAAM,CAAA;IACpC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,cAAc,EAAG,MAAM,CAAA;IACjC,SAAS,CAAC,qBAAqB,EAAG,MAAM,CAAA;gBAGnB,QAAQ,EAAE,cAAc,EACjC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IA2BpC,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3D,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1F;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,CACxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,GAAG,EACnB,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,MAAM,EAC1B,KAAK,CAAC,EAAE,mBAAmB,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC;IAqBV,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB3E;;OAEG;IACG,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,eAAe,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,YAAY,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,aAAa,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;CAGhD"}
|
package/dist/devices/device.js
CHANGED
|
@@ -160,38 +160,6 @@ export class deviceBase {
|
|
|
160
160
|
await this.debugErrorLog(`failed ${action}, Error: ${error}`);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Check if error is a network timeout or session expiration that requires session refresh
|
|
165
|
-
* Handles 502 Bad Gateway, 401 Unauthorized, 503 Service Unavailable, and network timeouts
|
|
166
|
-
*/
|
|
167
|
-
isTimeoutError(error) {
|
|
168
|
-
// Check for august-yale TimeoutError by name (stable contract — works regardless
|
|
169
|
-
// of message format changes) and Node.js network timeouts by message
|
|
170
|
-
if (error.name === 'TimeoutError' || error.message?.includes('ETIMEDOUT')) {
|
|
171
|
-
return true;
|
|
172
|
-
}
|
|
173
|
-
// Check for status codes that indicate session expiration or temporary server issues
|
|
174
|
-
// 502 Bad Gateway - typically indicates session has expired or server issues
|
|
175
|
-
// 503 Service Unavailable - temporary server issues
|
|
176
|
-
// 401 Unauthorized - session has expired
|
|
177
|
-
if (error.statusCode && (error.statusCode === 502 || error.statusCode === 503 || error.statusCode === 401)) {
|
|
178
|
-
return true;
|
|
179
|
-
}
|
|
180
|
-
// Check for error messages containing these status codes (from tiny-json-http error format)
|
|
181
|
-
// Format: "POST failed with: 502" or "GET failed with: 401"
|
|
182
|
-
if (error.message) {
|
|
183
|
-
const sessionErrorPatterns = [
|
|
184
|
-
/failed with: 502/i,
|
|
185
|
-
/failed with: 503/i,
|
|
186
|
-
/failed with: 401/i,
|
|
187
|
-
/Bad Gateway/i,
|
|
188
|
-
/Service Unavailable/i,
|
|
189
|
-
/Unauthorized/i,
|
|
190
|
-
];
|
|
191
|
-
return sessionErrorPatterns.some(pattern => pattern.test(error.message));
|
|
192
|
-
}
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
163
|
/**
|
|
196
164
|
* Logging for Device
|
|
197
165
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"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"}
|
package/dist/devices/lock.d.ts
CHANGED
|
@@ -28,9 +28,26 @@ export declare class LockMechanism extends deviceBase {
|
|
|
28
28
|
*/
|
|
29
29
|
parseEventStatus(): Promise<void>;
|
|
30
30
|
/**
|
|
31
|
-
* Asks the August Home API for the latest device information
|
|
31
|
+
* Asks the August Home API for the latest device information.
|
|
32
|
+
*
|
|
33
|
+
* Used for the initial fetch in the constructor. Periodic polling is
|
|
34
|
+
* driven by AugustPlatform.startPolling(), which calls applyRefresh()
|
|
35
|
+
* directly with details fetched serially across all registered locks.
|
|
36
|
+
*
|
|
37
|
+
* On failure: returns silently. The ConnectivityManager has already
|
|
38
|
+
* classified the error and (if it's a network error) put itself into
|
|
39
|
+
* 'degraded' state — a probe is scheduled and the next poll cycle
|
|
40
|
+
* will skip until the probe confirms recovery.
|
|
32
41
|
*/
|
|
33
42
|
refreshStatus(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Apply a freshly-fetched lockDetails payload to HomeKit characteristics.
|
|
45
|
+
*
|
|
46
|
+
* Public so AugustPlatform.startPolling() can hand-off the result of
|
|
47
|
+
* its serial details() call without going through refreshStatus()
|
|
48
|
+
* (which would re-fetch).
|
|
49
|
+
*/
|
|
50
|
+
applyRefresh(lockDetails: lockDetails): Promise<void>;
|
|
34
51
|
/**
|
|
35
52
|
* Pushes the requested changes to the August API
|
|
36
53
|
*/
|
|
@@ -40,6 +57,8 @@ export declare class LockMechanism extends deviceBase {
|
|
|
40
57
|
*/
|
|
41
58
|
updateHomeKitCharacteristics(): Promise<void>;
|
|
42
59
|
setLockTargetState(value: CharacteristicValue): Promise<void>;
|
|
60
|
+
private pubnubStatusUnsubscribe?;
|
|
61
|
+
private pubnubAugust?;
|
|
43
62
|
subscribeAugust(): Promise<void>;
|
|
44
63
|
/**
|
|
45
64
|
* Tear down the PubNub subscription for this lock. Safe to call multiple
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/devices/lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAU/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAsCzC,QAAQ,CAAC,QAAQ,EAAE,cAAc;IApCnC,OAAO,CAAC,aAAa,CAAC,CAKrB;IAED,OAAO,CAAC,OAAO,CAMd;IAED,OAAO,CAAC,aAAa,CAAC,CAIrB;IAGD,SAAS,EAAG,SAAS,CAAA;IACrB,UAAU,EAAG,UAAU,CAAA;IACvB,WAAW,EAAG,WAAW,CAAA;IAGzB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IAKjB,OAAO,CAAC,iBAAiB,CAAC,CAAY;gBAG3B,QAAQ,EAAE,cAAc,EACjC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/devices/lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAU/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAsCzC,QAAQ,CAAC,QAAQ,EAAE,cAAc;IApCnC,OAAO,CAAC,aAAa,CAAC,CAKrB;IAED,OAAO,CAAC,OAAO,CAMd;IAED,OAAO,CAAC,aAAa,CAAC,CAIrB;IAGD,SAAS,EAAG,SAAS,CAAA;IACrB,UAAU,EAAG,UAAU,CAAA;IACvB,WAAW,EAAG,WAAW,CAAA;IAGzB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IAKjB,OAAO,CAAC,iBAAiB,CAAC,CAAY;gBAG3B,QAAQ,EAAE,cAAc,EACjC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAiIhC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqElC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkDvC;;;;;;;;;;;OAWG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBpC;;;;;;OAMG;IACG,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDlC;;OAEG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7C,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnE,OAAO,CAAC,uBAAuB,CAAC,CAAY;IAI5C,OAAO,CAAC,YAAY,CAAC,CAAQ;IAEvB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CtC;;;;OAIG;IACH,0BAA0B,IAAI,IAAI;CA0BnC"}
|