@alwaysai/device-agent 1.3.1-2 → 1.4.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 (50) hide show
  1. package/lib/application-control/environment-variables.d.ts.map +1 -1
  2. package/lib/application-control/environment-variables.js +9 -4
  3. package/lib/application-control/environment-variables.js.map +1 -1
  4. package/lib/application-control/environment-variables.test.js +1 -1
  5. package/lib/application-control/environment-variables.test.js.map +1 -1
  6. package/lib/application-control/install.d.ts.map +1 -1
  7. package/lib/application-control/install.js +6 -2
  8. package/lib/application-control/install.js.map +1 -1
  9. package/lib/application-control/models.d.ts.map +1 -1
  10. package/lib/application-control/models.js +4 -2
  11. package/lib/application-control/models.js.map +1 -1
  12. package/lib/application-control/status.js +4 -5
  13. package/lib/application-control/status.js.map +1 -1
  14. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  15. package/lib/cloud-connection/device-agent-cloud-connection.js +30 -23
  16. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  17. package/lib/cloud-connection/live-updates-handler.d.ts +1 -0
  18. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  19. package/lib/cloud-connection/live-updates-handler.js +22 -4
  20. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  21. package/lib/cloud-connection/messages.d.ts.map +1 -1
  22. package/lib/cloud-connection/messages.js +3 -4
  23. package/lib/cloud-connection/messages.js.map +1 -1
  24. package/lib/cloud-connection/shadow-handler.d.ts +4 -0
  25. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  26. package/lib/cloud-connection/shadow-handler.js +18 -11
  27. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  28. package/lib/device-control/device-control.d.ts +5 -12
  29. package/lib/device-control/device-control.d.ts.map +1 -1
  30. package/lib/device-control/device-control.js +37 -14
  31. package/lib/device-control/device-control.js.map +1 -1
  32. package/lib/subcommands/device/clean.d.ts.map +1 -1
  33. package/lib/subcommands/device/clean.js +3 -1
  34. package/lib/subcommands/device/clean.js.map +1 -1
  35. package/lib/subcommands/device/device.d.ts.map +1 -1
  36. package/lib/subcommands/device/device.js +14 -6
  37. package/lib/subcommands/device/device.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/application-control/environment-variables.test.ts +1 -1
  40. package/src/application-control/environment-variables.ts +9 -6
  41. package/src/application-control/install.ts +7 -3
  42. package/src/application-control/models.ts +11 -6
  43. package/src/application-control/status.ts +8 -8
  44. package/src/cloud-connection/device-agent-cloud-connection.ts +45 -26
  45. package/src/cloud-connection/live-updates-handler.ts +34 -6
  46. package/src/cloud-connection/messages.ts +3 -4
  47. package/src/cloud-connection/shadow-handler.ts +41 -10
  48. package/src/device-control/device-control.ts +43 -16
  49. package/src/subcommands/device/clean.ts +4 -1
  50. package/src/subcommands/device/device.ts +26 -10
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAEV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,OAAO,EAA8B,MAAM,wBAAwB,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAchE,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAM;IAC1C,SAAgB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBACzC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;YAoDpC,uBAAuB;YAiDvB,2BAA2B;YAgC3B,0BAA0B;IAiD3B,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,WAAW,EACZ,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqEd,sBAAsB;IAUtB,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAqB3C,uBAAuB;IAOvB,kBAAkB,CAAC,SAAS,EAAE,MAAM;CAY5C"}
1
+ {"version":3,"file":"shadow-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAEV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,OAAO,EAIR,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAchE,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAM;IAC1C,SAAgB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBACzC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;YAoDpC,uBAAuB;YAiDvB,2BAA2B;YAkC3B,0BAA0B;IAiD3B,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,WAAW,EACZ,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqEd,sBAAsB;IAUtB,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAqBrC,oBAAoB,CAAC,EAChC,SAAS,EACT,OAAO,EACR,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;KAClB;IAkBM,uBAAuB;IAOvB,kBAAkB,CAAC,SAAS,EAAE,MAAM;CAY5C"}
@@ -75,25 +75,21 @@ class ShadowHandler {
75
75
  return appCfgUpdate;
76
76
  }
77
77
  async processProjectShadowUpdates({ delta }) {
78
- const shadowUpdates = [];
78
+ const shadowUpdatesPromises = [];
79
79
  for (const [projectId, projectDelta] of Object.entries(delta)) {
80
80
  if (projectDelta) {
81
81
  const valid = (0, device_agent_schemas_1.validateProjectShadowUpdate)(projectDelta);
82
82
  if (!valid) {
83
83
  logger_1.logger.error(`Error validating shadow update: ${JSON.stringify({ projectDelta, errors: device_agent_schemas_1.validateProjectShadowUpdate.errors }, null, 2)}`);
84
+ continue;
84
85
  }
85
- else {
86
- const shadowUpdate = await this.processProjectShadowUpdate({
87
- projectId,
88
- projectDelta
89
- });
90
- if (shadowUpdate) {
91
- shadowUpdates.push(shadowUpdate);
92
- }
93
- }
86
+ shadowUpdatesPromises.push(this.processProjectShadowUpdate({
87
+ projectId,
88
+ projectDelta
89
+ }));
94
90
  }
95
91
  }
96
- return shadowUpdates;
92
+ return (await Promise.all(shadowUpdatesPromises)).filter((promise) => promise !== null);
97
93
  }
98
94
  async processProjectShadowUpdate({ projectId, projectDelta }) {
99
95
  const txId = (0, device_agent_schemas_1.generateTxId)();
@@ -192,6 +188,17 @@ class ShadowHandler {
192
188
  reported: toReport
193
189
  })));
194
190
  }
191
+ async updateProjectEnvVars({ projectId, envVars }) {
192
+ await (0, application_control_1.setEnv)({ projectId, envVars });
193
+ this.publisher.publish((0, device_agent_schemas_1.getShadowTopic)(this.clientId, 'projects', 'update'), JSON.stringify((0, device_agent_schemas_1.buildUpdateProjectShadowMessage)({
194
+ clientId: this.clientId,
195
+ reported: {
196
+ [projectId]: {
197
+ envVars
198
+ }
199
+ }
200
+ })));
201
+ }
195
202
  getProjectShadowUpdates() {
196
203
  this.publisher.publish((0, device_agent_schemas_1.getShadowTopic)(this.clientId, 'projects', 'get'), JSON.stringify((0, device_agent_schemas_1.buildBaseShadowMessage)(this.clientId)));
197
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
1
  import { SystemInformationShadowUpdate } from '@alwaysai/device-agent-schemas';
2
- export declare function getCpuDetails(): Promise<{
3
- usedPerc: number;
4
- temperature: number;
5
- }>;
6
- export declare function getDiskDetails(): Promise<{
7
- usedGb: number;
8
- freeGb: number;
9
- }>;
10
- export declare function getMemDetails(): Promise<{
11
- usedMb: number;
12
- freeMb: number;
13
- }>;
2
+ import { DeviceStatsPayload } from '@alwaysai/device-agent-schemas';
3
+ export declare function getCpuDetails(): Promise<DeviceStatsPayload['cpuDetails']>;
4
+ export declare function getDiskDetails(): Promise<DeviceStatsPayload['diskDetails']>;
5
+ export declare function getMemDetails(): Promise<DeviceStatsPayload['memDetails']>;
14
6
  export declare function getOsInfo(): Promise<{
15
7
  platform: string;
16
8
  distro: string;
@@ -54,6 +46,7 @@ export declare function getPackageVersions(): Promise<{
54
46
  agent: any;
55
47
  deviceAgentSchemas: any;
56
48
  }>;
49
+ export declare function getLastBootTime(): Promise<string | undefined>;
57
50
  export declare function getSystemInformation(): Promise<SystemInformationShadowUpdate>;
58
51
  export declare function reboot(): Promise<void>;
59
52
  //# sourceMappingURL=device-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-control.d.ts","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAU/E,wBAAsB,aAAa;;;GAOlC;AAED,wBAAsB,cAAc;;;GAQnC;AAED,wBAAsB,aAAa;;;GAMlC;AAGD,wBAAsB,SAAS;;;;;;;GAU9B;AAED,wBAAsB,UAAU;;;;;;;;;GAY/B;AAED,wBAAsB,WAAW;;;;;;;;GAWhC;AAED,wBAAsB,aAAa;;;;;;GAYlC;AAED,wBAAsB,cAAc;;;;GAWnC;AAED,wBAAsB,kBAAkB;;;GASvC;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAenF;AAED,wBAAsB,MAAM,kBAiB3B"}
1
+ {"version":3,"file":"device-control.d.ts","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAM/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKpE,wBAAsB,aAAa,IAAI,OAAO,CAC5C,kBAAkB,CAAC,YAAY,CAAC,CACjC,CAOA;AAED,wBAAsB,cAAc,IAAI,OAAO,CAC7C,kBAAkB,CAAC,aAAa,CAAC,CAClC,CAWA;AAED,wBAAsB,aAAa,IAAI,OAAO,CAC5C,kBAAkB,CAAC,YAAY,CAAC,CACjC,CAMA;AAGD,wBAAsB,SAAS;;;;;;;GAU9B;AAED,wBAAsB,UAAU;;;;;;;;;GAY/B;AAED,wBAAsB,WAAW;;;;;;;;GAWhC;AAED,wBAAsB,aAAa;;;;;;GAYlC;AAED,wBAAsB,cAAc;;;;GAWnC;AAED,wBAAsB,kBAAkB;;;GASvC;AAED,wBAAsB,eAAe,gCAcpC;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAgBnF;AAED,wBAAsB,MAAM,kBAiB3B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reboot = exports.getSystemInformation = exports.getPackageVersions = exports.getNetworkInfo = exports.getDeviceInfo = exports.getDiskInfo = exports.getCpuInfo = exports.getOsInfo = exports.getMemDetails = exports.getDiskDetails = exports.getCpuDetails = void 0;
3
+ exports.reboot = exports.getSystemInformation = exports.getLastBootTime = exports.getPackageVersions = exports.getNetworkInfo = exports.getDeviceInfo = exports.getDiskInfo = exports.getCpuInfo = exports.getOsInfo = exports.getMemDetails = exports.getDiskDetails = exports.getCpuDetails = void 0;
4
4
  const logger_1 = require("../util/logger");
5
5
  const osu = require("node-os-utils");
6
6
  const si = require("systeminformation");
@@ -11,28 +11,35 @@ const exec_promise = (0, util_1.promisify)(child_process_1.exec);
11
11
  async function getCpuDetails() {
12
12
  const cpuFree = await osu.cpu.free();
13
13
  const cpuTemp = await si.cpuTemperature();
14
- return {
15
- usedPerc: 100.0 - cpuFree,
16
- temperature: cpuTemp.main
17
- };
14
+ const cpuDetails = {};
15
+ if (cpuFree !== null)
16
+ cpuDetails.usedPerc = 100 - cpuFree;
17
+ if ((cpuTemp === null || cpuTemp === void 0 ? void 0 : cpuTemp.main) !== null)
18
+ cpuDetails.temperature = cpuTemp.main;
19
+ return cpuDetails;
18
20
  }
19
21
  exports.getCpuDetails = getCpuDetails;
20
22
  async function getDiskDetails() {
21
23
  // Types incorrectly specify diskname as required instead of optional
22
24
  // @ts-expect-error
23
25
  const driveInfo = await osu.drive.info();
24
- return {
25
- usedGb: parseFloat(driveInfo.usedGb),
26
- freeGb: parseFloat(driveInfo.freeGb)
27
- };
26
+ const diskDetails = {};
27
+ if ((driveInfo === null || driveInfo === void 0 ? void 0 : driveInfo.usedGb) !== null)
28
+ diskDetails.usedGb = parseFloat(driveInfo.usedGb);
29
+ if ((driveInfo === null || driveInfo === void 0 ? void 0 : driveInfo.freeGb) !== null) {
30
+ diskDetails.freeGb = parseFloat(driveInfo.freeGb);
31
+ }
32
+ return diskDetails;
28
33
  }
29
34
  exports.getDiskDetails = getDiskDetails;
30
35
  async function getMemDetails() {
31
36
  const memInfo = await osu.mem.info();
32
- return {
33
- usedMb: memInfo.usedMemMb,
34
- freeMb: memInfo.freeMemMb
35
- };
37
+ const memDetails = {};
38
+ if ((memInfo === null || memInfo === void 0 ? void 0 : memInfo.usedMemMb) !== null)
39
+ memDetails.usedMb = memInfo.usedMemMb;
40
+ if ((memInfo === null || memInfo === void 0 ? void 0 : memInfo.freeMemMb) !== null)
41
+ memDetails.freeMb = memInfo.freeMemMb;
42
+ return memDetails;
36
43
  }
37
44
  exports.getMemDetails = getMemDetails;
38
45
  // System information
@@ -111,6 +118,21 @@ async function getPackageVersions() {
111
118
  };
112
119
  }
113
120
  exports.getPackageVersions = getPackageVersions;
121
+ async function getLastBootTime() {
122
+ try {
123
+ const test = await exec_promise("last -x reboot | grep reboot | head -n 1 | awk '{ print $5, $6, $7, $8 }'");
124
+ if (test.stderr) {
125
+ logger_1.logger.error(`Stderr when getting last boot time: ${test.stderr}`);
126
+ return undefined;
127
+ }
128
+ return new Date(test.stdout).toString();
129
+ }
130
+ catch (e) {
131
+ logger_1.logger.error(`Issue getting last boot time: ${e.message}`);
132
+ return undefined;
133
+ }
134
+ }
135
+ exports.getLastBootTime = getLastBootTime;
114
136
  async function getSystemInformation() {
115
137
  try {
116
138
  const systemInfo = {
@@ -119,7 +141,8 @@ async function getSystemInformation() {
119
141
  disk: await getDiskInfo(),
120
142
  device: await getDeviceInfo(),
121
143
  network: await getNetworkInfo(),
122
- versions: await getPackageVersions()
144
+ versions: await getPackageVersions(),
145
+ lastBootTime: await getLastBootTime()
123
146
  };
124
147
  return systemInfo;
125
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"device-control.js","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-control.js","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,qCAAqC;AACrC,wCAAwC;AACxC,iDAAqC;AACrC,+BAAiC;AAGjC,MAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAErC,eAAe;AACR,KAAK,UAAU,aAAa;IAGjC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,IAAI,OAAO,KAAK,IAAI;QAAE,UAAU,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC;IAC1D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI;QAAE,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,OAAO,UAAU,CAAC;AACpB,CAAC;AATD,sCASC;AAEM,KAAK,UAAU,cAAc;IAGlC,qEAAqE;IACrE,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAsC,EAAE,CAAC;IAC1D,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,IAAI;QAC5B,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,IAAI,EAAE;QAC9B,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACnD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAbD,wCAaC;AAEM,KAAK,UAAU,aAAa;IAGjC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI;QAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IACvE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI;QAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC;AARD,sCAQC;AAED,qBAAqB;AACd,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;IACjC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,IAAI;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAVD,8BAUC;AAEM,KAAK,UAAU,UAAU;IAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC;AAZD,gCAYC;AAEM,KAAK,UAAU,WAAW;IAC/B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IACvC,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAXD,kCAWC;AAEM,KAAK,UAAU,aAAa;IACjC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;IACrC,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EACJ,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG;YAC5C,CAAC,CAAC,UAAU,CAAC,MAAM;YACnB,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAZD,sCAYC;AAEM,KAAK,UAAU,cAAc;IAClC,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAEvD,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC9D,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,iBAAiB,CAAC;IACtB,OAAO;QACL,WAAW,EAAE,uBAAuB,CAAC,GAAG;QACxC,WAAW,EAAE,uBAAuB,CAAC,GAAG;QACxC,UAAU,EAAE,uBAAuB,CAAC,GAAG;KACxC,CAAC;AACJ,CAAC;AAXD,wCAWC;AAEM,KAAK,UAAU,kBAAkB;IACtC,2BAA2B;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAChD,2BAA2B;IAC3B,MAAM,sBAAsB,GAAG,OAAO,CAAC,gEAAgE,CAAC,CAAC;IACzG,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,kBAAkB,EAAE,sBAAsB,CAAC,OAAO;KACnD,CAAC;AACJ,CAAC;AATD,gDASC;AAEM,KAAK,UAAU,eAAe;IACnC,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,YAAY,CAC7B,2EAA2E,CAC5E,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,eAAM,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAdD,0CAcC;AAEM,KAAK,UAAU,oBAAoB;IACxC,IAAI;QACF,MAAM,UAAU,GAAkC;YAChD,EAAE,EAAE,MAAM,SAAS,EAAE;YACrB,GAAG,EAAE,MAAM,UAAU,EAAE;YACvB,IAAI,EAAE,MAAM,WAAW,EAAE;YACzB,MAAM,EAAE,MAAM,aAAa,EAAE;YAC7B,OAAO,EAAE,MAAM,cAAc,EAAE;YAC/B,QAAQ,EAAE,MAAM,kBAAkB,EAAE;YACpC,YAAY,EAAE,MAAM,eAAe,EAAE;SACtC,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;KACrE;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAhBD,oDAgBC;AAEM,KAAK,UAAU,MAAM;IAC1B,IAAI;QACF,gFAAgF;QAChF,sCAAsC;QACtC,wEAAwE;QACxE,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,4BAA4B,EAAE;YAC9D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACnC;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,yFAAyF,IAAI,CAAC,SAAS,CACrG,GAAG,CACJ,EAAE,CACJ,CAAC;KACH;AACH,CAAC;AAjBD,wBAiBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY,yKAoCvB,CAAC"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY,yKAuCvB,CAAC"}
@@ -27,10 +27,12 @@ exports.cleanCliLeaf = (0, alwayscli_1.CliLeaf)({
27
27
  await (0, safe_rimraf_1.default)(directories_1.DEVICE_AGENT_CFG_PATH);
28
28
  logger_1.logger.debug('Checking for alwaysAI applications still running');
29
29
  const apps = await (0, agent_config_1.AgentConfigFile)().getApps();
30
+ const stopAppPromises = [];
30
31
  for (const app of apps) {
31
32
  const { projectId } = app;
32
- await (0, application_control_1.stopApp)({ projectId });
33
+ stopAppPromises.push((0, application_control_1.stopApp)({ projectId }));
33
34
  }
35
+ await Promise.all(stopAppPromises);
34
36
  await (0, safe_rimraf_1.default)(paths_1.LOCAL_CERT_AND_KEY_DIR);
35
37
  logger_1.logger.debug(`Removing ${(0, agent_config_1.AgentConfigFile)().path}`);
36
38
  (0, agent_config_1.AgentConfigFile)().remove();
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,8CAA2C;AAC3C,oEAAoE;AACpE,qDAA4D;AAC5D,wDAKgC;AAChC,oFAGoD;AACpD,mEAAoD;AACpD,8CAA4D;AAC5D,wDAAgD;AAEnC,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,+BAA+B;IAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI;YACF,IAAI,MAAM,IAAA,mDAA6B,GAAE,EAAE;gBACzC,MAAM,IAAA,2CAAqB,GAAE,CAAC;aAC/B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CACV,0GAA0G,8CAAgC,EAAE,CAC7I,CAAC;YACF,eAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;SACvE;QAED,MAAM,IAAA,qBAAU,EAAC,mCAAqB,CAAC,CAAC;QAExC,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAC1B,MAAM,IAAA,6BAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SAC9B;QACD,MAAM,IAAA,qBAAU,EAAC,8BAAsB,CAAC,CAAC;QAEzC,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,8BAAe,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,yBAAgB,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,yBAAgB,GAAE,CAAC,MAAM,EAAE,CAAC;QAE5B,MAAM,IAAA,qBAAU,EAAC,mCAAqB,CAAC,CAAC;QACxC,MAAM,IAAA,qBAAU,EAAC,sBAAQ,CAAC,CAAC;QAE3B,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,8CAA2C;AAC3C,oEAAoE;AACpE,qDAA4D;AAC5D,wDAKgC;AAChC,oFAGoD;AACpD,mEAAoD;AACpD,8CAA4D;AAC5D,wDAAgD;AAEnC,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,+BAA+B;IAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI;YACF,IAAI,MAAM,IAAA,mDAA6B,GAAE,EAAE;gBACzC,MAAM,IAAA,2CAAqB,GAAE,CAAC;aAC/B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CACV,0GAA0G,8CAAgC,EAAE,CAC7I,CAAC;YACF,eAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;SACvE;QAED,MAAM,IAAA,qBAAU,EAAC,mCAAqB,CAAC,CAAC;QAExC,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAoB,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,IAAA,6BAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;SAC9C;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEnC,MAAM,IAAA,qBAAU,EAAC,8BAAsB,CAAC,CAAC;QAEzC,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,8BAAe,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,yBAAgB,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,yBAAgB,GAAE,CAAC,MAAM,EAAE,CAAC;QAE5B,MAAM,IAAA,qBAAU,EAAC,mCAAqB,CAAC,CAAC;QACxC,MAAM,IAAA,qBAAU,EAAC,sBAAQ,CAAC,CAAC;QAE3B,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,WAAW;;;4DA6EtB,CAAC;AAEH,eAAO,MAAM,cAAc,yKA4BzB,CAAC;AAEH,eAAO,MAAM,cAAc,yKAOzB,CAAC"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,WAAW;;;4DAiFtB,CAAC;AAEH,eAAO,MAAM,cAAc,yKAwCzB,CAAC;AAEH,eAAO,MAAM,cAAc,yKAOzB,CAAC"}
@@ -61,9 +61,11 @@ exports.initCliLeaf = (0, alwayscli_1.CliLeaf)({
61
61
  const certSpawner = (0, util_1.JsSpawner)({
62
62
  path: (0, directories_1.BOOTSTRAP_CERTIFICATES_DIR_PATH)()
63
63
  });
64
+ const writeCertFilePromises = [];
64
65
  for (const key in response.claimCertificate) {
65
- await certSpawner.writeFile(key, response.claimCertificate[key]);
66
+ writeCertFilePromises.push(certSpawner.writeFile(key, response.claimCertificate[key]));
66
67
  }
68
+ await Promise.all(writeCertFilePromises);
67
69
  logger_1.logger.info(`Initialized device ${name}: UUID=${response.deviceUuid}`);
68
70
  }
69
71
  });
@@ -72,20 +74,26 @@ exports.getInfoCliLeaf = (0, alwayscli_1.CliLeaf)({
72
74
  description: 'Get device info',
73
75
  namedInputs: {},
74
76
  async action(_, opts) {
75
- var _a;
77
+ var _a, _b;
76
78
  const cpuDetails = await (0, device_control_1.getCpuDetails)();
77
79
  const diskDetails = await (0, device_control_1.getDiskDetails)();
78
80
  const memDetails = await (0, device_control_1.getMemDetails)();
79
81
  const out = {
80
- 'CPU Utilization': `Used ${cpuDetails.usedPerc.toFixed(2)}%, Temperature ${cpuDetails.temperature} °C`,
81
- 'Disk Utilization': `${diskDetails.usedGb} GB / ${diskDetails.usedGb + diskDetails.freeGb} GB`,
82
- 'Memory Utilization': `${memDetails.usedMb} MB / ${memDetails.usedMb + memDetails.freeMb} MB`
82
+ 'CPU Utilization': `${(cpuDetails === null || cpuDetails === void 0 ? void 0 : cpuDetails.usedPerc) && cpuDetails.temperature
83
+ ? `Used ${(_a = cpuDetails === null || cpuDetails === void 0 ? void 0 : cpuDetails.usedPerc) === null || _a === void 0 ? void 0 : _a.toFixed(2)}%, Temperature ${cpuDetails === null || cpuDetails === void 0 ? void 0 : cpuDetails.temperature} °C`
84
+ : 'Unavailable'}`,
85
+ 'Disk Utilization': `${(diskDetails === null || diskDetails === void 0 ? void 0 : diskDetails.usedGb) && diskDetails.freeGb
86
+ ? `${diskDetails === null || diskDetails === void 0 ? void 0 : diskDetails.usedGb} GB / ${(diskDetails === null || diskDetails === void 0 ? void 0 : diskDetails.usedGb) + (diskDetails === null || diskDetails === void 0 ? void 0 : diskDetails.freeGb)} GB`
87
+ : 'Unavailable'}`,
88
+ 'Memory Utilization': `${(memDetails === null || memDetails === void 0 ? void 0 : memDetails.usedMb) && memDetails.freeMb
89
+ ? `${memDetails.usedMb} MB / ${memDetails.usedMb + memDetails.freeMb} MB`
90
+ : 'Unavailable'}`
83
91
  };
84
92
  console.table(out);
85
93
  const systemInfo = await (0, device_control_1.getSystemInformation)();
86
94
  console.table(systemInfo.os);
87
95
  console.table(systemInfo.cpu);
88
- console.table((_a = systemInfo.disk) === null || _a === void 0 ? void 0 : _a.drives);
96
+ console.table((_b = systemInfo.disk) === null || _b === void 0 ? void 0 : _b.drives);
89
97
  console.table(systemInfo.device);
90
98
  console.table(systemInfo.network);
91
99
  console.table(systemInfo.versions);
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alwaysai/device-agent",
3
3
  "description": "The alwaysAI Device Agent",
4
- "version": "1.3.1-2",
4
+ "version": "1.4.0",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "publishConfig": {
@@ -37,7 +37,7 @@
37
37
  "@alwaysai/alwayscli": "0.3.2",
38
38
  "@alwaysai/app-configuration-schemas": "0.1.0",
39
39
  "@alwaysai/config-nodejs": "0.3.0",
40
- "@alwaysai/device-agent-schemas": "2.2.0",
40
+ "@alwaysai/device-agent-schemas": "2.3.1",
41
41
  "@carnesen/coded-error": "0.4.0",
42
42
  "ajv": "8.11.0",
43
43
  "alwaysai": "2.2.0",
@@ -190,7 +190,7 @@ describe('Test environment variable get and set', () => {
190
190
  dockerCompose: {
191
191
  services: {
192
192
  alwaysai: {
193
- environment: ['TEST1=', 'TEST2=2']
193
+ environment: ['TEST2=2']
194
194
  }
195
195
  }
196
196
  }
@@ -41,24 +41,27 @@ export async function setEnv(props: { projectId: string; envVars: EnvVars }) {
41
41
 
42
42
  const service = composeParsed['services'][s];
43
43
  const oldEnv: string[] | undefined = service['environment'];
44
+ const envVarsForService = envVars[s];
44
45
 
45
46
  const newEnvVarsObj = {};
46
47
  oldEnv?.forEach((envVarStr: string) => {
47
48
  const envVarSplit = envVarStr.split('=');
48
49
  const key = envVarSplit[0];
49
50
  const value = envVarSplit[1];
50
- newEnvVarsObj[key] = value;
51
+ if (envVarsForService[key] !== null) {
52
+ newEnvVarsObj[key] = value;
53
+ }
51
54
  });
52
55
 
53
- for (const envVar of Object.keys(envVars[s])) {
54
- newEnvVarsObj[envVar] = envVars[s][envVar];
56
+ for (const envVar of Object.keys(envVarsForService)) {
57
+ if (envVarsForService[envVar] !== null) {
58
+ newEnvVarsObj[envVar] = envVarsForService[envVar];
59
+ }
55
60
  }
56
61
 
57
62
  const envVarList: string[] = [];
58
63
  for (const envVar of Object.keys(newEnvVarsObj)) {
59
- envVarList.push(
60
- `${envVar}=${newEnvVarsObj[envVar] ? newEnvVarsObj[envVar] : ''}`
61
- );
64
+ envVarList.push(`${envVar}=${newEnvVarsObj[envVar]}`);
62
65
  }
63
66
 
64
67
  service['environment'] = envVarList;
@@ -113,12 +113,18 @@ export async function installApp(props: {
113
113
  const DACfg = await createAppCfgDeviceAgentConnection();
114
114
  await updateAppCfgFile({ projectId, newAppCfg: DACfg });
115
115
 
116
- await installAppBuildReqs({ appDir });
116
+ // Clean up original dependency files (models, virtual env)
117
+ const targetJsonFile = TargetJsonFile(appDir);
118
+ const hostSpawner = targetJsonFile.readHostSpawner();
119
+ await appCleanDocker({ targetHostSpawner: hostSpawner });
120
+
121
+ // Download model files
117
122
  await installModelsWithPresignedURLs(
118
123
  signedUrlsPayload.modelsInstallPayload,
119
124
  path.join(appDir, 'models')
120
125
  );
121
126
 
127
+ await installAppBuildReqs({ appDir });
122
128
  await buildApp({ appDir });
123
129
 
124
130
  await AgentConfigFile().setAppInstalled({
@@ -153,8 +159,6 @@ async function installAppBuildReqs(props: { appDir: string }) {
153
159
  async () => {
154
160
  const hostSpawner = targetJsonFile.readHostSpawner();
155
161
 
156
- await appCleanDocker({ targetHostSpawner: hostSpawner });
157
-
158
162
  const dockerImageId = await buildDockerImage({
159
163
  targetHostSpawner: hostSpawner,
160
164
  targetHardware: targetCfg.targetHardware,
@@ -89,14 +89,19 @@ export async function replaceModels(props: {
89
89
  ],
90
90
  appDir
91
91
  );
92
+ const modelsAddPromises: Promise<void>[] = [];
92
93
  for (const modelId of modelIds) {
93
- await appModelsAddComponent({
94
- yes: false,
95
- dir: appDir,
96
- id: modelId,
97
- addToProject: false
98
- });
94
+ modelsAddPromises.push(
95
+ appModelsAddComponent({
96
+ yes: false,
97
+ dir: appDir,
98
+ id: modelId,
99
+ addToProject: false
100
+ })
101
+ );
99
102
  }
103
+ await Promise.all(modelsAddPromises);
104
+
100
105
  await buildApp({ appDir });
101
106
  }
102
107
 
@@ -126,14 +126,14 @@ export async function getAppLogs(props: {
126
126
 
127
127
  const appDir = getAppDir(projectId);
128
128
 
129
- const serviceList = services
130
- ? services
131
- : await (async function () {
132
- const composeServices = await compose.configServices({ cwd: appDir });
133
- return composeServices.data.services;
134
- })();
135
-
136
- const argsList = args ? args : [];
129
+ const serviceList =
130
+ services ||
131
+ (await (async function () {
132
+ const composeServices = await compose.configServices({ cwd: appDir });
133
+ return composeServices.data.services;
134
+ })());
135
+
136
+ const argsList = args || [];
137
137
 
138
138
  // Use direct command with spawner in order to get a readable stream
139
139
  return await JsSpawner().runStreaming({
@@ -21,7 +21,6 @@ import { existsSync } from 'fs';
21
21
  import {
22
22
  installApp,
23
23
  restartApp,
24
- setEnv,
25
24
  startApp,
26
25
  stopApp,
27
26
  uninstallApp,
@@ -146,7 +145,7 @@ export class DeviceAgentCloudConnection {
146
145
  modelsInstallPayload
147
146
  };
148
147
  await this.atomicApplicationUpdate(async () => {
149
- await this.shadowHandler.clearProjectShadow(projectId);
148
+ this.shadowHandler.clearProjectShadow(projectId);
150
149
  await installApp({ projectId, appReleaseHash, signedUrlsPayload });
151
150
  }, projectId);
152
151
  return true;
@@ -177,8 +176,13 @@ export class DeviceAgentCloudConnection {
177
176
 
178
177
  if (envVarUpdate) {
179
178
  await this.atomicApplicationUpdate(
180
- async () => await setEnv({ projectId, envVars: envVarUpdate.envVars }),
181
- projectId
179
+ async () =>
180
+ await this.shadowHandler.updateProjectEnvVars({
181
+ projectId,
182
+ envVars: envVarUpdate.envVars
183
+ }),
184
+ projectId,
185
+ true
182
186
  );
183
187
  }
184
188
  return true;
@@ -211,7 +215,7 @@ export class DeviceAgentCloudConnection {
211
215
  private async atomicApplicationUninstall(projectId: string) {
212
216
  try {
213
217
  await uninstallApp({ projectId });
214
- await this.shadowHandler.clearProjectShadow(projectId);
218
+ this.shadowHandler.clearProjectShadow(projectId);
215
219
  } catch (e) {
216
220
  logger.error(`Failed to uninstall ${projectId}: ${e.message}`);
217
221
  throw e;
@@ -221,7 +225,8 @@ export class DeviceAgentCloudConnection {
221
225
  // eslint-disable-next-line
222
226
  private async atomicApplicationUpdate <F extends () => any>(
223
227
  func: F,
224
- projectId: string
228
+ projectId: string,
229
+ skipUpdateShadow?: boolean
225
230
  ): Promise<ReturnType<F>> {
226
231
  // First try to create a backup, so that there is one available if something goes wrong in the next try:catch.
227
232
  if (await AgentConfigFile().isAppPresent({ projectId })) {
@@ -236,7 +241,8 @@ export class DeviceAgentCloudConnection {
236
241
 
237
242
  try {
238
243
  const out: ReturnType<F> = await func();
239
- await this.shadowHandler.updateProjectShadow(projectId);
244
+ if (!skipUpdateShadow)
245
+ await this.shadowHandler.updateProjectShadow(projectId);
240
246
  return out;
241
247
  } catch (errorAppUpdate) {
242
248
  logger.error(
@@ -275,8 +281,7 @@ export class DeviceAgentCloudConnection {
275
281
  const { projectId, appCfgUpdate, envVarUpdate } = update;
276
282
 
277
283
  if (
278
- appCfgUpdate &&
279
- appCfgUpdate.updatedModels &&
284
+ appCfgUpdate?.updatedModels &&
280
285
  Object.keys(appCfgUpdate.updatedModels).length
281
286
  ) {
282
287
  // When there are model updates request signed URLs and wait to apply config changes
@@ -317,8 +322,13 @@ export class DeviceAgentCloudConnection {
317
322
 
318
323
  if (envVarUpdate) {
319
324
  await this.atomicApplicationUpdate(
320
- async () => await setEnv({ projectId, envVars: envVarUpdate.envVars }),
321
- projectId
325
+ async () =>
326
+ await this.shadowHandler.updateProjectEnvVars({
327
+ projectId,
328
+ envVars: envVarUpdate.envVars
329
+ }),
330
+ projectId,
331
+ true
322
332
  );
323
333
  }
324
334
  return true;
@@ -331,22 +341,31 @@ export class DeviceAgentCloudConnection {
331
341
  clientToken: message.clientToken
332
342
  });
333
343
  if (shadowUpdates.length) {
344
+ const shadowUpdatePromises: Promise<void>[] = [];
334
345
  for (const shadowUpdate of shadowUpdates) {
335
346
  const projectId = shadowUpdate.projectId;
336
347
  const txId = shadowUpdate.txId;
337
- try {
338
- await this.txnMgr.runTransactionStep({
339
- func: () =>
340
- this.handleProjectShadowConfigUpdate(shadowUpdate, txId),
341
- projectId,
342
- txId,
343
- start: true,
344
- stepName: topic
345
- });
346
- } catch (e) {
347
- logger.error(`Error handling shadow message: ${e.message}`);
348
- }
348
+ shadowUpdatePromises.push(
349
+ this.txnMgr
350
+ .runTransactionStep({
351
+ func: () =>
352
+ this.handleProjectShadowConfigUpdate(shadowUpdate, txId),
353
+ projectId,
354
+ txId,
355
+ start: true,
356
+ stepName: topic
357
+ })
358
+ .catch((e: Error) => {
359
+ logger.error(
360
+ `There was an issue updating project shadow config: ${JSON.stringify(
361
+ e
362
+ )}`
363
+ );
364
+ })
365
+ );
349
366
  }
367
+
368
+ await Promise.all(shadowUpdatePromises);
350
369
  }
351
370
  }
352
371
 
@@ -721,9 +740,9 @@ export class DeviceAgentCloudConnection {
721
740
  }
722
741
 
723
742
  public async stop() {
724
- // FIXME: This method is currently only used by the CLI, and shadow messages
725
- // can be lost since we aren't waiting for responses so sleep for a short
726
- // time to receive them
743
+ // This method is currently only used by the CLI, and shadow messages can be
744
+ // lost since we aren't waiting for responses so sleep for a short time to
745
+ // receive them
727
746
  await sleep(1000);
728
747
  this.device.end();
729
748
  }