@alwaysai/device-agent 0.1.0 → 0.1.1
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/lib/application-control/config.d.ts +0 -1
- package/lib/application-control/config.d.ts.map +1 -1
- package/lib/application-control/config.js +15 -29
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/environment-variables.d.ts +7 -3
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js +71 -35
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/environment-variables.test.d.ts +2 -0
- package/lib/application-control/environment-variables.test.d.ts.map +1 -0
- package/lib/application-control/environment-variables.test.js +163 -0
- package/lib/application-control/environment-variables.test.js.map +1 -0
- package/lib/application-control/index.d.ts +3 -3
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +1 -3
- package/lib/application-control/index.js.map +1 -1
- package/lib/application-control/models.d.ts +0 -1
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +12 -26
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts +3 -0
- package/lib/application-control/status.d.ts.map +1 -1
- package/lib/application-control/status.js +19 -1
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +2 -2
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +6 -3
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +201 -151
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +3 -0
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +23 -7
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.test.d.ts +2 -0
- package/lib/cloud-connection/live-updates-handler.test.d.ts.map +1 -0
- package/lib/cloud-connection/live-updates-handler.test.js +57 -0
- package/lib/cloud-connection/live-updates-handler.test.js.map +1 -0
- package/lib/cloud-connection/shadow-handler.d.ts +11 -3
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +22 -7
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.test.js +313 -228
- package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
- package/lib/cloud-connection/shadow.js +1 -1
- package/lib/cloud-connection/shadow.js.map +1 -1
- package/lib/environment.d.ts +1 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +2 -1
- package/lib/environment.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +3 -1
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.d.ts +1 -1
- package/lib/subcommands/app/env-vars.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.js +32 -5
- package/lib/subcommands/app/env-vars.js.map +1 -1
- package/lib/subcommands/app/index.d.ts.map +1 -1
- package/lib/subcommands/app/index.js +4 -1
- package/lib/subcommands/app/index.js.map +1 -1
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +6 -1
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/shadow.d.ts +7 -0
- package/lib/subcommands/app/shadow.d.ts.map +1 -0
- package/lib/subcommands/app/shadow.js +48 -0
- package/lib/subcommands/app/shadow.js.map +1 -0
- package/lib/subcommands/app/version.js +2 -2
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/util/cloud-mode-ready.d.ts +2 -0
- package/lib/util/cloud-mode-ready.d.ts.map +1 -0
- package/lib/util/cloud-mode-ready.js +22 -0
- package/lib/util/cloud-mode-ready.js.map +1 -0
- package/package.json +1 -1
- package/readme.md +2 -2
- package/src/application-control/config.ts +30 -31
- package/src/application-control/environment-variables.test.ts +171 -0
- package/src/application-control/environment-variables.ts +102 -43
- package/src/application-control/index.ts +3 -9
- package/src/application-control/models.ts +14 -29
- package/src/application-control/status.ts +20 -0
- package/src/application-control/utils.ts +4 -2
- package/src/cloud-connection/device-agent-cloud-connection.ts +220 -155
- package/src/cloud-connection/live-updates-handler.test.ts +68 -0
- package/src/cloud-connection/live-updates-handler.ts +30 -7
- package/src/cloud-connection/shadow-handler.test.ts +329 -239
- package/src/cloud-connection/shadow-handler.ts +38 -12
- package/src/cloud-connection/shadow.ts +1 -1
- package/src/environment.ts +2 -0
- package/src/infrastructure/agent-config.ts +1 -1
- package/src/subcommands/app/env-vars.ts +38 -8
- package/src/subcommands/app/index.ts +4 -1
- package/src/subcommands/app/models.ts +10 -1
- package/src/subcommands/app/shadow.ts +48 -0
- package/src/subcommands/app/version.ts +2 -2
- package/src/util/cloud-mode-ready.ts +23 -0
|
@@ -14,6 +14,11 @@ import {
|
|
|
14
14
|
getDeviceStatsMessage
|
|
15
15
|
} from './messages';
|
|
16
16
|
import { AgentMessageTypeValue } from '@alwaysai/device-agent-schemas/lib/constants';
|
|
17
|
+
import { ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS } from '../environment';
|
|
18
|
+
|
|
19
|
+
const LIVE_UPDATES_TIMEOUT = ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS
|
|
20
|
+
? parseInt(ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS)
|
|
21
|
+
: 60000;
|
|
17
22
|
|
|
18
23
|
export class LiveUpdatesHandler {
|
|
19
24
|
private publisher: Publisher;
|
|
@@ -101,10 +106,10 @@ export class LiveUpdatesHandler {
|
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
private setLiveUpdates(toggles: LiveUpdatesToggles) {
|
|
104
|
-
if (toggles.deviceStats) {
|
|
109
|
+
if (toggles.deviceStats !== undefined) {
|
|
105
110
|
this.liveUpdatesAlive.device_stats = toggles.deviceStats;
|
|
106
111
|
}
|
|
107
|
-
if (toggles.appState) {
|
|
112
|
+
if (toggles.appState !== undefined) {
|
|
108
113
|
this.liveUpdatesAlive.app_state = toggles.appState;
|
|
109
114
|
}
|
|
110
115
|
}
|
|
@@ -117,8 +122,7 @@ export class LiveUpdatesHandler {
|
|
|
117
122
|
appState: false
|
|
118
123
|
});
|
|
119
124
|
this.appLogStreams.clear();
|
|
120
|
-
|
|
121
|
-
}, 600000); // 10 min
|
|
125
|
+
}, LIVE_UPDATES_TIMEOUT);
|
|
122
126
|
}
|
|
123
127
|
|
|
124
128
|
private async startPublishingLiveUpdates<T extends any[]>(
|
|
@@ -152,6 +156,21 @@ export class LiveUpdatesHandler {
|
|
|
152
156
|
|
|
153
157
|
constructor(publisher: Publisher) {
|
|
154
158
|
this.publisher = publisher;
|
|
159
|
+
logger.debug(
|
|
160
|
+
`Toggle live updates timeout set to ${LIVE_UPDATES_TIMEOUT} ms`
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
public getDeviceStatsLiveUpdates() {
|
|
165
|
+
return this.liveUpdatesAlive.device_stats;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
public getAppStateLiveUpdates() {
|
|
169
|
+
return this.liveUpdatesAlive.app_state;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public getAppLogsLiveUpdates() {
|
|
173
|
+
return this.liveUpdatesAlive.app_logs;
|
|
155
174
|
}
|
|
156
175
|
|
|
157
176
|
public async enableAppInstallStatus(props: {
|
|
@@ -184,9 +203,11 @@ export class LiveUpdatesHandler {
|
|
|
184
203
|
public async handleToggles(toggles: LiveUpdatesToggles) {
|
|
185
204
|
const { deviceStats, appState, appLogs } = toggles;
|
|
186
205
|
this.restartLiveUpdatesTimeout();
|
|
206
|
+
|
|
207
|
+
const currentDeviceStats = this.getDeviceStatsLiveUpdates();
|
|
187
208
|
if (deviceStats !== undefined) {
|
|
188
209
|
this.liveUpdatesAlive.device_stats = deviceStats;
|
|
189
|
-
if (deviceStats) {
|
|
210
|
+
if (deviceStats && currentDeviceStats !== true) {
|
|
190
211
|
// Don't wait for this call to finish since it loops until disabled
|
|
191
212
|
void this.startPublishingLiveUpdates(
|
|
192
213
|
keyMirrors.agentMessageType.device_stats,
|
|
@@ -196,9 +217,10 @@ export class LiveUpdatesHandler {
|
|
|
196
217
|
}
|
|
197
218
|
}
|
|
198
219
|
|
|
220
|
+
const currentAppState = this.getAppStateLiveUpdates();
|
|
199
221
|
if (appState !== undefined) {
|
|
200
222
|
this.liveUpdatesAlive.app_state = appState;
|
|
201
|
-
if (appState) {
|
|
223
|
+
if (appState && currentAppState !== true) {
|
|
202
224
|
// Don't wait for this call to finish since it loops until disabled
|
|
203
225
|
void this.startPublishingLiveUpdates(
|
|
204
226
|
keyMirrors.agentMessageType.app_state,
|
|
@@ -208,8 +230,9 @@ export class LiveUpdatesHandler {
|
|
|
208
230
|
}
|
|
209
231
|
}
|
|
210
232
|
|
|
233
|
+
const currentAppLogs = this.getAppLogsLiveUpdates();
|
|
211
234
|
if (appLogs !== undefined) {
|
|
212
|
-
if (appLogs.toggle) {
|
|
235
|
+
if (appLogs.toggle && currentAppLogs !== true) {
|
|
213
236
|
// Don't wait for this call to finish since it loops until disabled
|
|
214
237
|
void this.startAppLogStream(appLogs.projectId);
|
|
215
238
|
} else {
|