@alwaysai/device-agent 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/lib/application-control/config.d.ts.map +1 -1
  2. package/lib/application-control/config.js +10 -5
  3. package/lib/application-control/config.js.map +1 -1
  4. package/lib/application-control/environment-variables.d.ts +1 -5
  5. package/lib/application-control/environment-variables.d.ts.map +1 -1
  6. package/lib/application-control/environment-variables.js +9 -26
  7. package/lib/application-control/environment-variables.js.map +1 -1
  8. package/lib/application-control/environment-variables.test.js +27 -7
  9. package/lib/application-control/environment-variables.test.js.map +1 -1
  10. package/lib/application-control/index.d.ts +4 -4
  11. package/lib/application-control/index.d.ts.map +1 -1
  12. package/lib/application-control/index.js +1 -4
  13. package/lib/application-control/index.js.map +1 -1
  14. package/lib/application-control/install.d.ts.map +1 -1
  15. package/lib/application-control/install.js +9 -7
  16. package/lib/application-control/install.js.map +1 -1
  17. package/lib/application-control/models.d.ts +5 -11
  18. package/lib/application-control/models.d.ts.map +1 -1
  19. package/lib/application-control/models.js +27 -64
  20. package/lib/application-control/models.js.map +1 -1
  21. package/lib/application-control/status.d.ts.map +1 -1
  22. package/lib/application-control/status.js +10 -12
  23. package/lib/application-control/status.js.map +1 -1
  24. package/lib/application-control/utils.d.ts +0 -4
  25. package/lib/application-control/utils.d.ts.map +1 -1
  26. package/lib/application-control/utils.js +3 -26
  27. package/lib/application-control/utils.js.map +1 -1
  28. package/lib/cloud-connection/bootstrap-provision.js +3 -2
  29. package/lib/cloud-connection/bootstrap-provision.js.map +1 -1
  30. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +11 -16
  31. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  32. package/lib/cloud-connection/device-agent-cloud-connection.js +295 -246
  33. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  34. package/lib/cloud-connection/device-agent.d.ts.map +1 -1
  35. package/lib/cloud-connection/device-agent.js +11 -9
  36. package/lib/cloud-connection/device-agent.js.map +1 -1
  37. package/lib/cloud-connection/live-updates-handler.d.ts +18 -27
  38. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  39. package/lib/cloud-connection/live-updates-handler.js +58 -170
  40. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  41. package/lib/cloud-connection/live-updates-handler.test.js +76 -54
  42. package/lib/cloud-connection/live-updates-handler.test.js.map +1 -1
  43. package/lib/cloud-connection/passthrough-handler.d.ts +9 -4
  44. package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
  45. package/lib/cloud-connection/passthrough-handler.js +95 -62
  46. package/lib/cloud-connection/passthrough-handler.js.map +1 -1
  47. package/lib/cloud-connection/shadow-handler.d.ts +5 -1
  48. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  49. package/lib/cloud-connection/shadow-handler.js +63 -31
  50. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  51. package/lib/cloud-connection/shadow-handler.test.js +45 -57
  52. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  53. package/lib/cloud-connection/shadow.d.ts.map +1 -1
  54. package/lib/cloud-connection/shadow.js +2 -1
  55. package/lib/cloud-connection/shadow.js.map +1 -1
  56. package/lib/cloud-connection/transaction-manager.d.ts +7 -2
  57. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  58. package/lib/cloud-connection/transaction-manager.js +29 -29
  59. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  60. package/lib/cloud-connection/transaction-manager.test.js +105 -3
  61. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  62. package/lib/device-control/device-control.d.ts +14 -6
  63. package/lib/device-control/device-control.d.ts.map +1 -1
  64. package/lib/device-control/device-control.js +172 -72
  65. package/lib/device-control/device-control.js.map +1 -1
  66. package/lib/docker/docker-compose.d.ts +14 -0
  67. package/lib/docker/docker-compose.d.ts.map +1 -0
  68. package/lib/docker/docker-compose.js +57 -0
  69. package/lib/docker/docker-compose.js.map +1 -0
  70. package/lib/index.js +2 -5
  71. package/lib/index.js.map +1 -1
  72. package/lib/infrastructure/agent-config.d.ts +46 -14
  73. package/lib/infrastructure/agent-config.d.ts.map +1 -1
  74. package/lib/infrastructure/agent-config.js +36 -21
  75. package/lib/infrastructure/agent-config.js.map +1 -1
  76. package/lib/infrastructure/agent-config.test.js +6 -1
  77. package/lib/infrastructure/agent-config.test.js.map +1 -1
  78. package/lib/infrastructure/config-check-utility.d.ts +6 -0
  79. package/lib/infrastructure/config-check-utility.d.ts.map +1 -0
  80. package/lib/infrastructure/config-check-utility.js +67 -0
  81. package/lib/infrastructure/config-check-utility.js.map +1 -0
  82. package/lib/infrastructure/config-check-utility.test.d.ts +2 -0
  83. package/lib/infrastructure/config-check-utility.test.d.ts.map +1 -0
  84. package/lib/infrastructure/config-check-utility.test.js +109 -0
  85. package/lib/infrastructure/config-check-utility.test.js.map +1 -0
  86. package/lib/infrastructure/device-certificate.d.ts +10 -0
  87. package/lib/infrastructure/device-certificate.d.ts.map +1 -0
  88. package/lib/infrastructure/device-certificate.js +47 -0
  89. package/lib/infrastructure/device-certificate.js.map +1 -0
  90. package/lib/infrastructure/device-certificate.test.d.ts +2 -0
  91. package/lib/infrastructure/device-certificate.test.d.ts.map +1 -0
  92. package/lib/infrastructure/device-certificate.test.js +24 -0
  93. package/lib/infrastructure/device-certificate.test.js.map +1 -0
  94. package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts +2 -0
  95. package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts.map +1 -0
  96. package/lib/infrastructure/legacy-migration/legacy-file.test.js +61 -0
  97. package/lib/infrastructure/legacy-migration/legacy-file.test.js.map +1 -0
  98. package/lib/infrastructure/legacy-migration/legacy-files.d.ts +75 -0
  99. package/lib/infrastructure/legacy-migration/legacy-files.d.ts.map +1 -0
  100. package/lib/infrastructure/legacy-migration/legacy-files.js +75 -0
  101. package/lib/infrastructure/legacy-migration/legacy-files.js.map +1 -0
  102. package/lib/infrastructure/legacy-migration/legacy-migration.d.ts +6 -0
  103. package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -0
  104. package/lib/infrastructure/legacy-migration/legacy-migration.js +149 -0
  105. package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -0
  106. package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts +2 -0
  107. package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts.map +1 -0
  108. package/lib/infrastructure/legacy-migration/legacy-migration.test.js +226 -0
  109. package/lib/infrastructure/legacy-migration/legacy-migration.test.js.map +1 -0
  110. package/lib/infrastructure/require-files-present-ready.test.d.ts +2 -0
  111. package/lib/infrastructure/require-files-present-ready.test.d.ts.map +1 -0
  112. package/lib/infrastructure/require-files-present-ready.test.js +44 -0
  113. package/lib/infrastructure/require-files-present-ready.test.js.map +1 -0
  114. package/lib/infrastructure/required-config-checks.d.ts +2 -0
  115. package/lib/infrastructure/required-config-checks.d.ts.map +1 -0
  116. package/lib/infrastructure/required-config-checks.js +30 -0
  117. package/lib/infrastructure/required-config-checks.js.map +1 -0
  118. package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -1
  119. package/lib/infrastructure/tokens-and-device-cfg.js +11 -8
  120. package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -1
  121. package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -1
  122. package/lib/local-connection/rabbitmq-connection.js +21 -21
  123. package/lib/local-connection/rabbitmq-connection.js.map +1 -1
  124. package/lib/secure-tunneling/secure-tunneling.d.ts +15 -23
  125. package/lib/secure-tunneling/secure-tunneling.d.ts.map +1 -1
  126. package/lib/secure-tunneling/secure-tunneling.js +52 -47
  127. package/lib/secure-tunneling/secure-tunneling.js.map +1 -1
  128. package/lib/secure-tunneling/secure-tunneling.test.js +29 -31
  129. package/lib/secure-tunneling/secure-tunneling.test.js.map +1 -1
  130. package/lib/subcommands/app/analytics.d.ts.map +1 -1
  131. package/lib/subcommands/app/analytics.js +1 -2
  132. package/lib/subcommands/app/analytics.js.map +1 -1
  133. package/lib/subcommands/app/env-vars.d.ts +4 -0
  134. package/lib/subcommands/app/env-vars.d.ts.map +1 -1
  135. package/lib/subcommands/app/env-vars.js +52 -6
  136. package/lib/subcommands/app/env-vars.js.map +1 -1
  137. package/lib/subcommands/app/index.d.ts.map +1 -1
  138. package/lib/subcommands/app/index.js +1 -3
  139. package/lib/subcommands/app/index.js.map +1 -1
  140. package/lib/subcommands/app/models.d.ts +0 -11
  141. package/lib/subcommands/app/models.d.ts.map +1 -1
  142. package/lib/subcommands/app/models.js +2 -58
  143. package/lib/subcommands/app/models.js.map +1 -1
  144. package/lib/subcommands/app/shadow.d.ts.map +1 -1
  145. package/lib/subcommands/app/shadow.js +6 -5
  146. package/lib/subcommands/app/shadow.js.map +1 -1
  147. package/lib/subcommands/app/version.d.ts.map +1 -1
  148. package/lib/subcommands/app/version.js +2 -4
  149. package/lib/subcommands/app/version.js.map +1 -1
  150. package/lib/subcommands/config.d.ts +2 -0
  151. package/lib/subcommands/config.d.ts.map +1 -0
  152. package/lib/subcommands/config.js +39 -0
  153. package/lib/subcommands/config.js.map +1 -0
  154. package/lib/subcommands/device/clean.d.ts +1 -1
  155. package/lib/subcommands/device/clean.d.ts.map +1 -1
  156. package/lib/subcommands/device/clean.js +25 -15
  157. package/lib/subcommands/device/clean.js.map +1 -1
  158. package/lib/subcommands/device/get-info.d.ts +2 -0
  159. package/lib/subcommands/device/get-info.d.ts.map +1 -0
  160. package/lib/subcommands/device/get-info.js +36 -0
  161. package/lib/subcommands/device/get-info.js.map +1 -0
  162. package/lib/subcommands/device/index.d.ts.map +1 -1
  163. package/lib/subcommands/device/index.js +13 -2
  164. package/lib/subcommands/device/index.js.map +1 -1
  165. package/lib/subcommands/device/init.d.ts +5 -0
  166. package/lib/subcommands/device/init.d.ts.map +1 -0
  167. package/lib/subcommands/device/{device.js → init.js} +10 -49
  168. package/lib/subcommands/device/init.js.map +1 -0
  169. package/lib/subcommands/device/migrate.d.ts +2 -0
  170. package/lib/subcommands/device/migrate.d.ts.map +1 -0
  171. package/lib/subcommands/device/migrate.js +24 -0
  172. package/lib/subcommands/device/migrate.js.map +1 -0
  173. package/lib/subcommands/device/refresh.d.ts +2 -0
  174. package/lib/subcommands/device/refresh.d.ts.map +1 -0
  175. package/lib/subcommands/device/refresh.js +25 -0
  176. package/lib/subcommands/device/refresh.js.map +1 -0
  177. package/lib/subcommands/device/restart.d.ts +2 -0
  178. package/lib/subcommands/device/restart.d.ts.map +1 -0
  179. package/lib/subcommands/device/restart.js +14 -0
  180. package/lib/subcommands/device/restart.js.map +1 -0
  181. package/lib/subcommands/index.d.ts +1 -1
  182. package/lib/subcommands/index.d.ts.map +1 -1
  183. package/lib/subcommands/index.js +3 -1
  184. package/lib/subcommands/index.js.map +1 -1
  185. package/lib/subcommands/rabbitmq-connection.d.ts +1 -1
  186. package/lib/subcommands/rabbitmq-connection.d.ts.map +1 -1
  187. package/lib/util/aai-error.d.ts +12 -0
  188. package/lib/util/aai-error.d.ts.map +1 -0
  189. package/lib/util/aai-error.js +11 -0
  190. package/lib/util/aai-error.js.map +1 -0
  191. package/lib/util/aws-regions.d.ts +2 -0
  192. package/lib/util/aws-regions.d.ts.map +1 -0
  193. package/lib/util/{cloud-mode-ready.js → aws-regions.js} +2 -20
  194. package/lib/util/aws-regions.js.map +1 -0
  195. package/lib/util/check-for-updates.d.ts +3 -0
  196. package/lib/util/check-for-updates.d.ts.map +1 -0
  197. package/lib/util/check-for-updates.js +46 -0
  198. package/lib/util/check-for-updates.js.map +1 -0
  199. package/lib/util/clean-certs.d.ts.map +1 -1
  200. package/lib/util/clean-certs.js +5 -4
  201. package/lib/util/clean-certs.js.map +1 -1
  202. package/lib/util/directories.d.ts +4 -18
  203. package/lib/util/directories.d.ts.map +1 -1
  204. package/lib/util/directories.js +18 -32
  205. package/lib/util/directories.js.map +1 -1
  206. package/lib/util/file.d.ts +11 -0
  207. package/lib/util/file.d.ts.map +1 -0
  208. package/lib/util/file.js +127 -0
  209. package/lib/util/file.js.map +1 -0
  210. package/lib/util/file.test.d.ts +2 -0
  211. package/lib/util/file.test.d.ts.map +1 -0
  212. package/lib/util/file.test.js +87 -0
  213. package/lib/util/file.test.js.map +1 -0
  214. package/lib/util/get-device-id.d.ts.map +1 -1
  215. package/lib/util/get-device-id.js +7 -1
  216. package/lib/util/get-device-id.js.map +1 -1
  217. package/lib/util/http-client.js +3 -3
  218. package/lib/util/http-client.js.map +1 -1
  219. package/package.json +22 -19
  220. package/readme.md +15 -35
  221. package/src/application-control/config.ts +10 -13
  222. package/src/application-control/environment-variables.test.ts +28 -7
  223. package/src/application-control/environment-variables.ts +13 -40
  224. package/src/application-control/index.ts +3 -16
  225. package/src/application-control/install.ts +16 -10
  226. package/src/application-control/models.ts +40 -98
  227. package/src/application-control/status.ts +9 -7
  228. package/src/application-control/utils.ts +1 -29
  229. package/src/cloud-connection/bootstrap-provision.ts +7 -7
  230. package/src/cloud-connection/device-agent-cloud-connection.ts +647 -509
  231. package/src/cloud-connection/device-agent.ts +16 -7
  232. package/src/cloud-connection/live-updates-handler.test.ts +137 -64
  233. package/src/cloud-connection/live-updates-handler.ts +103 -234
  234. package/src/cloud-connection/passthrough-handler.ts +134 -75
  235. package/src/cloud-connection/shadow-handler.test.ts +45 -57
  236. package/src/cloud-connection/shadow-handler.ts +114 -56
  237. package/src/cloud-connection/shadow.ts +4 -1
  238. package/src/cloud-connection/transaction-manager.test.ts +127 -3
  239. package/src/cloud-connection/transaction-manager.ts +68 -39
  240. package/src/device-control/device-control.ts +179 -72
  241. package/src/docker/docker-compose.ts +61 -0
  242. package/src/index.ts +2 -6
  243. package/src/infrastructure/agent-config.test.ts +9 -2
  244. package/src/infrastructure/agent-config.ts +45 -46
  245. package/src/infrastructure/config-check-utility.test.ts +154 -0
  246. package/src/infrastructure/config-check-utility.ts +77 -0
  247. package/src/infrastructure/device-certificate.test.ts +40 -0
  248. package/src/infrastructure/device-certificate.ts +58 -0
  249. package/src/infrastructure/legacy-migration/legacy-file.test.ts +88 -0
  250. package/src/infrastructure/legacy-migration/legacy-files.ts +101 -0
  251. package/src/infrastructure/legacy-migration/legacy-migration.test.ts +396 -0
  252. package/src/infrastructure/legacy-migration/legacy-migration.ts +229 -0
  253. package/src/infrastructure/require-files-present-ready.test.ts +53 -0
  254. package/src/infrastructure/required-config-checks.ts +33 -0
  255. package/src/infrastructure/tokens-and-device-cfg.ts +12 -10
  256. package/src/local-connection/rabbitmq-connection.ts +28 -23
  257. package/src/secure-tunneling/secure-tunneling.test.ts +37 -39
  258. package/src/secure-tunneling/secure-tunneling.ts +74 -69
  259. package/src/subcommands/app/analytics.ts +2 -4
  260. package/src/subcommands/app/env-vars.ts +72 -9
  261. package/src/subcommands/app/index.ts +3 -11
  262. package/src/subcommands/app/models.ts +5 -81
  263. package/src/subcommands/app/shadow.ts +6 -5
  264. package/src/subcommands/app/version.ts +3 -4
  265. package/src/subcommands/config.ts +42 -0
  266. package/src/subcommands/device/clean.ts +32 -18
  267. package/src/subcommands/device/get-info.ts +49 -0
  268. package/src/subcommands/device/index.ts +13 -2
  269. package/src/subcommands/device/{device.ts → init.ts} +11 -69
  270. package/src/subcommands/device/migrate.ts +20 -0
  271. package/src/subcommands/device/refresh.ts +23 -0
  272. package/src/subcommands/device/restart.ts +11 -0
  273. package/src/subcommands/index.ts +3 -1
  274. package/src/util/aai-error.ts +20 -0
  275. package/src/util/{cloud-mode-ready.ts → aws-regions.ts} +0 -24
  276. package/src/util/check-for-updates.ts +53 -0
  277. package/src/util/clean-certs.ts +8 -4
  278. package/src/util/directories.ts +23 -67
  279. package/src/util/file.test.ts +90 -0
  280. package/src/util/file.ts +156 -0
  281. package/src/util/get-device-id.ts +7 -7
  282. package/src/util/http-client.ts +2 -2
  283. package/lib/docker/docker-compose-cmd.d.ts +0 -5
  284. package/lib/docker/docker-compose-cmd.d.ts.map +0 -1
  285. package/lib/docker/docker-compose-cmd.js +0 -16
  286. package/lib/docker/docker-compose-cmd.js.map +0 -1
  287. package/lib/subcommands/device/device.d.ts +0 -7
  288. package/lib/subcommands/device/device.d.ts.map +0 -1
  289. package/lib/subcommands/device/device.js.map +0 -1
  290. package/lib/util/cloud-mode-ready.d.ts +0 -3
  291. package/lib/util/cloud-mode-ready.d.ts.map +0 -1
  292. package/lib/util/cloud-mode-ready.js.map +0 -1
  293. package/lib/util/download-file.d.ts +0 -6
  294. package/lib/util/download-file.d.ts.map +0 -1
  295. package/lib/util/download-file.js +0 -25
  296. package/lib/util/download-file.js.map +0 -1
  297. package/lib/util/fetch-with-timeout.d.ts +0 -4
  298. package/lib/util/fetch-with-timeout.d.ts.map +0 -1
  299. package/lib/util/fetch-with-timeout.js +0 -30
  300. package/lib/util/fetch-with-timeout.js.map +0 -1
  301. package/lib/util/parsing.d.ts +0 -2
  302. package/lib/util/parsing.d.ts.map +0 -1
  303. package/lib/util/parsing.js +0 -17
  304. package/lib/util/parsing.js.map +0 -1
  305. package/lib/util/safe-rimraf.d.ts +0 -2
  306. package/lib/util/safe-rimraf.d.ts.map +0 -1
  307. package/lib/util/safe-rimraf.js +0 -16
  308. package/lib/util/safe-rimraf.js.map +0 -1
  309. package/src/docker/docker-compose-cmd.ts +0 -15
  310. package/src/util/download-file.ts +0 -25
  311. package/src/util/fetch-with-timeout.ts +0 -35
  312. package/src/util/parsing.ts +0 -11
  313. package/src/util/safe-rimraf.ts +0 -14
@@ -1,71 +1,90 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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;
3
+ exports.reboot = exports.getSystemInformation = exports.getLastBootTime = exports.getPackageVersions = exports.getNodeVersion = exports.getNpmVersion = exports.getDockerComposeVersion = exports.getDockerVersion = 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");
7
7
  const child_process_1 = require("child_process");
8
8
  const util_1 = require("util");
9
+ const util_2 = require("alwaysai/lib/util");
10
+ const check_for_updates_1 = require("../util/check-for-updates");
11
+ const aai_error_1 = require("../util/aai-error");
9
12
  const exec_promise = (0, util_1.promisify)(child_process_1.exec);
10
13
  // Device Stats
11
14
  async function getCpuDetails() {
12
- const cpuFree = await osu.cpu.free();
13
- const cpuTemp = await si.cpuTemperature();
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;
15
+ let cpuFree, cpuTemp;
16
+ try {
17
+ [cpuFree, cpuTemp] = await Promise.all([
18
+ osu.cpu.free(),
19
+ si.cpuTemperature()
20
+ ]);
21
+ }
22
+ catch (error) {
23
+ logger_1.logger.error('Error fetching CPU details:', error);
24
+ return {};
25
+ }
26
+ return {
27
+ usedPerc: cpuFree !== null ? 100 - cpuFree : undefined,
28
+ temperature: (cpuTemp === null || cpuTemp === void 0 ? void 0 : cpuTemp.main) !== null ? cpuTemp.main : undefined
29
+ };
20
30
  }
21
31
  exports.getCpuDetails = getCpuDetails;
22
32
  async function getDiskDetails() {
23
- // Types incorrectly specify diskname as required instead of optional
24
- // @ts-expect-error
25
- const driveInfo = await osu.drive.info();
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);
33
+ let driveInfo;
34
+ try {
35
+ // Types incorrectly specify diskname as required instead of optional
36
+ // @ts-expect-error
37
+ driveInfo = await osu.drive.info();
38
+ }
39
+ catch (error) {
40
+ logger_1.logger.error('Error fetching disk details:', error);
41
+ return {};
31
42
  }
32
- return diskDetails;
43
+ return {
44
+ usedGb: (driveInfo === null || driveInfo === void 0 ? void 0 : driveInfo.usedGb) !== null ? parseFloat(driveInfo.usedGb) : undefined,
45
+ freeGb: (driveInfo === null || driveInfo === void 0 ? void 0 : driveInfo.freeGb) !== null ? parseFloat(driveInfo.freeGb) : undefined
46
+ };
33
47
  }
34
48
  exports.getDiskDetails = getDiskDetails;
35
49
  async function getMemDetails() {
36
- const memInfo = await osu.mem.info();
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;
50
+ let memInfo;
51
+ try {
52
+ memInfo = await osu.mem.info();
53
+ }
54
+ catch (error) {
55
+ logger_1.logger.error('Error fetching memory details:', error);
56
+ return {};
57
+ }
58
+ return {
59
+ usedMb: (memInfo === null || memInfo === void 0 ? void 0 : memInfo.usedMemMb) !== null ? memInfo.usedMemMb : undefined,
60
+ freeMb: (memInfo === null || memInfo === void 0 ? void 0 : memInfo.freeMemMb) !== null ? memInfo.freeMemMb : undefined
61
+ };
43
62
  }
44
63
  exports.getMemDetails = getMemDetails;
45
- // System information
64
+ // System information casted to a string
46
65
  async function getOsInfo() {
47
66
  const osInfo = await si.osInfo();
48
67
  return {
49
- platform: osInfo.platform,
50
- distro: osInfo.distro,
51
- release: osInfo.release,
52
- kernel: osInfo.kernel,
53
- architecture: osInfo.arch,
54
- hostname: osInfo.hostname
68
+ platform: String(osInfo.platform),
69
+ distro: String(osInfo.distro),
70
+ release: String(osInfo.release),
71
+ kernel: String(osInfo.kernel),
72
+ architecture: String(osInfo.arch),
73
+ hostname: String(osInfo.hostname)
55
74
  };
56
75
  }
57
76
  exports.getOsInfo = getOsInfo;
58
77
  async function getCpuInfo() {
59
78
  const cpuInfo = await si.cpu();
60
79
  return {
61
- manufacturer: cpuInfo.manufacturer,
62
- brand: cpuInfo.brand,
63
- vendor: cpuInfo.vendor,
64
- model: cpuInfo.model,
65
- cores: cpuInfo.cores,
66
- physicalCores: cpuInfo.physicalCores,
67
- efficiencyCores: cpuInfo.efficiencyCores,
68
- processors: cpuInfo.processors
80
+ manufacturer: String(cpuInfo.manufacturer),
81
+ brand: String(cpuInfo.brand),
82
+ vendor: String(cpuInfo.vendor),
83
+ model: String(cpuInfo.model),
84
+ cores: String(cpuInfo.cores),
85
+ physicalCores: String(cpuInfo.physicalCores),
86
+ efficiencyCores: String(cpuInfo.efficiencyCores),
87
+ processors: String(cpuInfo.processors)
69
88
  };
70
89
  }
71
90
  exports.getCpuInfo = getCpuInfo;
@@ -73,11 +92,11 @@ async function getDiskInfo() {
73
92
  const diskInfo = await si.diskLayout();
74
93
  return {
75
94
  drives: diskInfo.map((drive) => ({
76
- device: drive.device,
77
- type: drive.type,
78
- name: drive.name,
79
- vendor: drive.vendor,
80
- size: drive.size
95
+ device: String(drive.device),
96
+ type: String(drive.type),
97
+ name: String(drive.name),
98
+ vendor: String(drive.vendor),
99
+ size: String(drive.size)
81
100
  }))
82
101
  };
83
102
  }
@@ -85,13 +104,13 @@ exports.getDiskInfo = getDiskInfo;
85
104
  async function getDeviceInfo() {
86
105
  const deviceInfo = await si.system();
87
106
  return {
88
- manufacturer: deviceInfo.manufacturer,
89
- model: deviceInfo.model,
90
- version: deviceInfo.version,
107
+ manufacturer: String(deviceInfo.manufacturer),
108
+ model: String(deviceInfo.model),
109
+ version: String(deviceInfo.version),
91
110
  serial: deviceInfo.serial && deviceInfo.serial !== '-'
92
- ? deviceInfo.serial
111
+ ? String(deviceInfo.serial)
93
112
  : undefined,
94
- virtual: deviceInfo.virtual
113
+ virtual: deviceInfo.virtual // this should be a boolean
95
114
  };
96
115
  }
97
116
  exports.getDeviceInfo = getDeviceInfo;
@@ -101,53 +120,134 @@ async function getNetworkInfo() {
101
120
  ? networkInterfaces.filter((iface) => iface.ip4 !== '127.0.0.1')[0]
102
121
  : networkInterfaces;
103
122
  return {
104
- ipv4Address: defaultNetworkInterface.ip4,
105
- ipv6Address: defaultNetworkInterface.ip6,
106
- macAddress: defaultNetworkInterface.mac
123
+ ipv4Address: String(defaultNetworkInterface.ip4),
124
+ ipv6Address: String(defaultNetworkInterface.ip6),
125
+ macAddress: String(defaultNetworkInterface.mac)
107
126
  };
108
127
  }
109
128
  exports.getNetworkInfo = getNetworkInfo;
129
+ async function getDockerVersion() {
130
+ try {
131
+ const spawner = (0, util_2.JsSpawner)();
132
+ const result = JSON.parse(await spawner.run({
133
+ exe: 'docker',
134
+ args: ['info', '--format', 'json']
135
+ }));
136
+ return String(result.ClientInfo.Version);
137
+ }
138
+ catch (e) {
139
+ logger_1.logger.warn(`Cannot get Docker version!\n${(0, util_2.stringifyError)(e)}`);
140
+ return 'Not found';
141
+ }
142
+ }
143
+ exports.getDockerVersion = getDockerVersion;
144
+ async function getDockerComposeVersion() {
145
+ try {
146
+ const spawner = (0, util_2.JsSpawner)();
147
+ return await spawner.run({
148
+ exe: 'docker',
149
+ args: ['compose', 'version']
150
+ });
151
+ }
152
+ catch (e) {
153
+ logger_1.logger.warn(`Cannot get Docker Compose version!\n${(0, util_2.stringifyError)(e)}`);
154
+ return 'Not found';
155
+ }
156
+ }
157
+ exports.getDockerComposeVersion = getDockerComposeVersion;
158
+ async function getNpmVersion() {
159
+ try {
160
+ const spawner = (0, util_2.JsSpawner)();
161
+ return await spawner.run({
162
+ exe: 'npm',
163
+ args: ['--version']
164
+ });
165
+ }
166
+ catch (e) {
167
+ logger_1.logger.warn(`Cannot get npm version!\n${(0, util_2.stringifyError)(e)}`);
168
+ return 'Not found';
169
+ }
170
+ }
171
+ exports.getNpmVersion = getNpmVersion;
172
+ async function getNodeVersion() {
173
+ try {
174
+ const spawner = (0, util_2.JsSpawner)();
175
+ return await spawner.run({
176
+ exe: 'node',
177
+ args: ['-v']
178
+ });
179
+ }
180
+ catch (e) {
181
+ logger_1.logger.warn(`Cannot get Node version!\n${(0, util_2.stringifyError)(e)}`);
182
+ return 'Not found';
183
+ }
184
+ }
185
+ exports.getNodeVersion = getNodeVersion;
110
186
  async function getPackageVersions() {
111
- // eslint-disable-next-line
112
- const agentJson = require('../../package.json');
187
+ const agentVersion = await (0, check_for_updates_1.getDeviceAgentVersion)();
113
188
  // eslint-disable-next-line
114
189
  const deviceAgentSchemasJson = require('../../node_modules/@alwaysai/device-agent-schemas/package.json');
190
+ const [dockerVersion, dockerComposeVersion, nodeVersion, npmVersion] = await Promise.all([
191
+ getDockerVersion(),
192
+ getDockerComposeVersion(),
193
+ getNodeVersion(),
194
+ getNpmVersion()
195
+ ]);
115
196
  return {
116
- agent: agentJson.version,
117
- deviceAgentSchemas: deviceAgentSchemasJson.version
197
+ agent: agentVersion,
198
+ deviceAgentSchemas: deviceAgentSchemasJson.version,
199
+ docker: dockerVersion,
200
+ dockerCompose: dockerComposeVersion,
201
+ node: nodeVersion,
202
+ npm: npmVersion
118
203
  };
119
204
  }
120
205
  exports.getPackageVersions = getPackageVersions;
121
206
  async function getLastBootTime() {
207
+ var _a;
122
208
  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}`);
209
+ const out = await exec_promise('journalctl --list-boots');
210
+ if (!out || out.stderr) {
211
+ logger_1.logger.error(`Stderr when getting last boot time: ${out.stderr}`);
126
212
  return undefined;
127
213
  }
128
- return new Date(test.stdout).toString();
214
+ const bootTimes = out.stdout.split('\n');
215
+ const latestBootStdout = (_a = (bootTimes.pop() || bootTimes.pop())) === null || _a === void 0 ? void 0 : _a.trim(); // possible last \n causes '' at end of array
216
+ if (!latestBootStdout)
217
+ return undefined;
218
+ const tokens = latestBootStdout.trim().split(' ');
219
+ return String(new Date(`${tokens[2]} ${tokens[3]} ${tokens[4]}`));
129
220
  }
130
221
  catch (e) {
131
- logger_1.logger.error(`Issue getting last boot time: ${e.message}`);
222
+ logger_1.logger.error(`Issue getting last boot time!\n${(0, util_2.stringifyError)(e)}`);
132
223
  return undefined;
133
224
  }
134
225
  }
135
226
  exports.getLastBootTime = getLastBootTime;
136
227
  async function getSystemInformation() {
137
228
  try {
229
+ const [os, cpu, disk, device, network, versions, lastBootTime] = await Promise.all([
230
+ getOsInfo(),
231
+ getCpuInfo(),
232
+ getDiskInfo(),
233
+ getDeviceInfo(),
234
+ getNetworkInfo(),
235
+ getPackageVersions(),
236
+ getLastBootTime()
237
+ ]);
138
238
  const systemInfo = {
139
- os: await getOsInfo(),
140
- cpu: await getCpuInfo(),
141
- disk: await getDiskInfo(),
142
- device: await getDeviceInfo(),
143
- network: await getNetworkInfo(),
144
- versions: await getPackageVersions(),
145
- lastBootTime: await getLastBootTime()
239
+ os,
240
+ cpu,
241
+ disk,
242
+ device,
243
+ network,
244
+ versions,
245
+ lastBootTime
146
246
  };
147
247
  return systemInfo;
148
248
  }
149
249
  catch (e) {
150
- logger_1.logger.error('There was a problem getting system information: ', e);
250
+ logger_1.logger.error(`There was a problem getting system information!\n${(0, util_2.stringifyError)(e)}`);
151
251
  }
152
252
  return {};
153
253
  }
@@ -163,8 +263,8 @@ async function reboot() {
163
263
  });
164
264
  logger_1.logger.info(result.stdout.trim());
165
265
  }
166
- catch (err) {
167
- throw new Error(`Could not reboot device. You may need to add passwordless access to '/sbin/shutdown'. ${JSON.stringify(err)}`);
266
+ catch (e) {
267
+ throw new aai_error_1.default("Could not reboot device. You may need to add passwordless access to '/sbin/shutdown'.", { cause: e });
168
268
  }
169
269
  }
170
270
  exports.reboot = reboot;
@@ -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":"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"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ import * as DockerComposeV1 from 'docker-compose';
3
+ import { v2 as DockerComposeV2 } from 'docker-compose';
4
+ export declare function importDockerCompose(): typeof DockerComposeV1 | typeof DockerComposeV2;
5
+ export declare const compose: typeof DockerComposeV1 | typeof DockerComposeV1.v2;
6
+ export declare function runDockerComposeCmd(props: {
7
+ args: string[];
8
+ dir: string;
9
+ }): Promise<string>;
10
+ export declare function runStreamingDockerComposeCmd(props: {
11
+ args: string[];
12
+ dir: string;
13
+ }): Promise<NodeJS.ReadableStream>;
14
+ //# sourceMappingURL=docker-compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-compose.d.ts","sourceRoot":"","sources":["../../src/docker/docker-compose.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,eAAe,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOvD,wBAAgB,mBAAmB,IAC/B,OAAO,eAAe,GACtB,OAAO,eAAe,CAgBzB;AAED,eAAO,MAAM,OAAO,oDAAwB,CAAC;AAE7C,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,mBAYA;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,kCAUA"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runStreamingDockerComposeCmd = exports.runDockerComposeCmd = exports.compose = exports.importDockerCompose = void 0;
4
+ const DockerComposeV1 = require("docker-compose");
5
+ const docker_compose_1 = require("docker-compose");
6
+ const child_process_1 = require("child_process");
7
+ const logger_1 = require("../util/logger");
8
+ const util_1 = require("alwaysai/lib/util");
9
+ let dockerCmd = 'docker';
10
+ function importDockerCompose() {
11
+ try {
12
+ (0, child_process_1.execSync)('docker compose version').toString();
13
+ logger_1.logger.debug('Using Docker Compose V2.');
14
+ return docker_compose_1.v2;
15
+ }
16
+ catch (e) {
17
+ // TODO: Log this error as well
18
+ try {
19
+ (0, child_process_1.execSync)('docker-compose -v').toString();
20
+ logger_1.logger.warn('Using docker-compose V1. Please consider updating to V2.');
21
+ }
22
+ catch (e) {
23
+ logger_1.logger.warn(`Could not determine compose!\n${(0, util_1.stringifyError)(e)}`);
24
+ }
25
+ }
26
+ dockerCmd = 'docker-compose';
27
+ return DockerComposeV1;
28
+ }
29
+ exports.importDockerCompose = importDockerCompose;
30
+ exports.compose = importDockerCompose();
31
+ async function runDockerComposeCmd(props) {
32
+ const { args, dir } = props;
33
+ const spawner = (0, util_1.JsSpawner)();
34
+ if (dockerCmd === 'docker') {
35
+ args.unshift('compose');
36
+ }
37
+ const output = await spawner.run({
38
+ exe: dockerCmd,
39
+ args,
40
+ cwd: dir
41
+ });
42
+ return output;
43
+ }
44
+ exports.runDockerComposeCmd = runDockerComposeCmd;
45
+ async function runStreamingDockerComposeCmd(props) {
46
+ const { args, dir } = props;
47
+ if (dockerCmd === 'docker') {
48
+ args.unshift('compose');
49
+ }
50
+ return await (0, util_1.JsSpawner)().runStreaming({
51
+ exe: dockerCmd,
52
+ args,
53
+ cwd: dir
54
+ });
55
+ }
56
+ exports.runStreamingDockerComposeCmd = runStreamingDockerComposeCmd;
57
+ //# sourceMappingURL=docker-compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-compose.js","sourceRoot":"","sources":["../../src/docker/docker-compose.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mDAAuD;AACvD,iDAAyC;AACzC,2CAAwC;AACxC,4CAA8D;AAE9D,IAAI,SAAS,GAAG,QAAQ,CAAC;AAEzB,SAAgB,mBAAmB;IAGjC,IAAI;QACF,IAAA,wBAAQ,EAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9C,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,mBAAe,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,+BAA+B;QAC/B,IAAI;YACF,IAAA,wBAAQ,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,eAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,IAAI,CAAC,iCAAiC,IAAA,qBAAc,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACnE;KACF;IACD,SAAS,GAAG,gBAAgB,CAAC;IAC7B,OAAO,eAAe,CAAC;AACzB,CAAC;AAlBD,kDAkBC;AAEY,QAAA,OAAO,GAAG,mBAAmB,EAAE,CAAC;AAEtC,KAAK,UAAU,mBAAmB,CAAC,KAGzC;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACzB;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,EAAE,SAAS;QACd,IAAI;QACJ,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kDAeC;AAEM,KAAK,UAAU,4BAA4B,CAAC,KAGlD;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACzB;IACD,OAAO,MAAM,IAAA,gBAAS,GAAE,CAAC,YAAY,CAAC;QACpC,GAAG,EAAE,SAAS;QACd,IAAI;QACJ,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;AACL,CAAC;AAbD,oEAaC"}
package/lib/index.js CHANGED
@@ -10,11 +10,8 @@ const root_1 = require("./root");
10
10
  const device_agent_cloud_connection_1 = require("./cloud-connection/device-agent-cloud-connection");
11
11
  const agent_config_1 = require("./infrastructure/agent-config");
12
12
  const environment_1 = require("./environment");
13
- const logger_1 = require("./util/logger");
14
- // eslint-disable-next-line @typescript-eslint/no-var-requires
15
- const { version } = require('../package.json');
13
+ const check_for_updates_1 = require("./util/check-for-updates");
16
14
  if (module === require.main) {
17
- logger_1.logger.info(`Starting alwaysAI Device Agent v${version}`);
18
15
  if (!(0, agent_config_1.AgentConfigFile)().exists()) {
19
16
  (0, agent_config_1.AgentConfigFile)().initialize();
20
17
  }
@@ -22,7 +19,7 @@ if (module === require.main) {
22
19
  void (0, device_agent_cloud_connection_1.runDeviceAgentCloudInterface)();
23
20
  }
24
21
  else {
25
- void (0, alwayscli_1.runCliAndExit)(root_1.root, {});
22
+ void (0, alwayscli_1.runCliAndExit)(root_1.root, { postRun: check_for_updates_1.checkForUpdatesAndPrompt });
26
23
  }
27
24
  }
28
25
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;EAGE;;AAEF,mDAAoD;AACpD,iCAA8B;AAC9B,oGAAgG;AAChG,gEAAgE;AAChE,+CAA2D;AAC3D,0CAAuC;AAEvC,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE;IAC3B,eAAM,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAA,8BAAe,GAAE,CAAC,UAAU,EAAE,CAAC;KAChC;IAED,IAAI,wCAA0B,KAAK,OAAO,EAAE;QAC1C,KAAK,IAAA,4DAA4B,GAAE,CAAC;KACrC;SAAM;QACL,KAAK,IAAA,yBAAa,EAAC,WAAI,EAAE,EAAE,CAAC,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;EAGE;;AAEF,mDAAoD;AACpD,iCAA8B;AAC9B,oGAAgG;AAChG,gEAAgE;AAChE,+CAA2D;AAC3D,gEAAoE;AAEpE,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE;IAC3B,IAAI,CAAC,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAA,8BAAe,GAAE,CAAC,UAAU,EAAE,CAAC;KAChC;IAED,IAAI,wCAA0B,KAAK,OAAO,EAAE;QAC1C,KAAK,IAAA,4DAA4B,GAAE,CAAC;KACrC;SAAM;QACL,KAAK,IAAA,yBAAa,EAAC,WAAI,EAAE,EAAE,OAAO,EAAE,4CAAwB,EAAE,CAAC,CAAC;KACjE;CACF"}
@@ -1,4 +1,3 @@
1
- import { ConfigFileSchemaReturnType } from '@alwaysai/config-nodejs';
2
1
  export interface AppBackupConfig {
3
2
  version: string;
4
3
  }
@@ -11,22 +10,55 @@ export interface InstalledAppConfig {
11
10
  export interface AgentConfig {
12
11
  applications: InstalledAppConfig[];
13
12
  }
14
- export interface AgentJsonFileReturnType extends ConfigFileSchemaReturnType<AgentConfig> {
13
+ export declare const AGENT_CONFIG_FILE_NAME = "alwaysai.agent.json";
14
+ export declare function AgentConfigFile(filePath?: string): {
15
15
  name: string;
16
16
  getApps: () => Promise<InstalledAppConfig[]>;
17
- getReadyApps: any;
18
- getApp: any;
19
- isAppPresent: any;
20
- isAppReady: any;
21
- removeApp: any;
22
- setAppInstalling: any;
23
- setAppInstalled: any;
24
- setAppUninstalled: any;
17
+ getReadyApps: () => Promise<InstalledAppConfig[]>;
18
+ getApp: (props: {
19
+ projectId: string;
20
+ }) => Promise<InstalledAppConfig | null>;
21
+ isAppPresent: (props: {
22
+ projectId: string;
23
+ }) => Promise<boolean>;
24
+ isAppReady: (props: {
25
+ projectId: string;
26
+ }) => Promise<boolean>;
27
+ setAppInstalling: (props: {
28
+ projectId: string;
29
+ version: string;
30
+ }) => Promise<void>;
31
+ setAppInstalled: (props: {
32
+ projectId: string;
33
+ version: string;
34
+ }) => Promise<void>;
35
+ setAppUninstalling: (props: {
36
+ projectId: string;
37
+ }) => Promise<void>;
38
+ setAppUninstalled: (props: {
39
+ projectId: string;
40
+ }) => Promise<void>;
25
41
  getAppVersion: (props: {
26
42
  projectId: string;
27
43
  }) => Promise<string>;
28
- setAppBackup: any;
29
- getAppBackup: any;
30
- }
31
- export declare function AgentConfigFile(dir?: string): AgentJsonFileReturnType;
44
+ setAppBackup: (props: {
45
+ projectId: string;
46
+ }) => Promise<void>;
47
+ getAppBackup: (props: {
48
+ projectId: string;
49
+ }) => Promise<AppBackupConfig | null>;
50
+ path: string;
51
+ read: () => AgentConfig;
52
+ readIfExists: () => AgentConfig | undefined;
53
+ readRaw: () => string;
54
+ readParsed: () => any;
55
+ write: (config: AgentConfig) => import("@alwaysai/config-nodejs/lib/config-file-schema").SerializedInfoType;
56
+ writeRaw: (serialized: string) => import("@alwaysai/config-nodejs/lib/config-file-schema").InfoType;
57
+ remove: () => import("@alwaysai/config-nodejs/lib/config-file-schema").InfoType;
58
+ update: (updater: (config: AgentConfig) => void) => import("@alwaysai/config-nodejs/lib/config-file-schema").InfoType;
59
+ exists: () => boolean;
60
+ initialize: () => void;
61
+ validate: import("ajv").ValidateFunction<AgentConfig>;
62
+ getErrors: () => import("ajv").ErrorObject<string, Record<string, any>, unknown>[] | null | undefined;
63
+ };
32
64
  //# sourceMappingURL=agent-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/infrastructure/agent-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAuCD,MAAM,WAAW,uBACf,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7C,YAAY,MAAC;IACb,MAAM,MAAC;IACP,YAAY,MAAC;IACb,UAAU,MAAC;IACX,SAAS,MAAC;IACV,gBAAgB,MAAC;IACjB,eAAe,MAAC;IAChB,iBAAiB,MAAC;IAClB,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,YAAY,MAAC;IACb,YAAY,MAAC;CACd;AAED,wBAAgB,eAAe,CAC7B,GAAG,SAAsB,GACxB,uBAAuB,CAmKzB"}
1
+ {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/infrastructure/agent-config.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAmCD,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM;;;;oBA2BlB;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;0BAWf;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAG,QAAQ,OAAO,CAAC;wBAS1C;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAG,QAAQ,OAAO,CAAC;8BAqBlC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;6BAsBqC;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;gCAiBwC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;+BAiBtB;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;2BAKzB;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;0BAStB;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;0BAarB;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;EAyBzD"}