@alwaysai/device-agent 0.0.12 → 0.0.14

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 (227) hide show
  1. package/lib/application-control/backup.d.ts.map +1 -1
  2. package/lib/application-control/backup.js +11 -5
  3. package/lib/application-control/backup.js.map +1 -1
  4. package/lib/application-control/config.d.ts +12 -4
  5. package/lib/application-control/config.d.ts.map +1 -1
  6. package/lib/application-control/config.js +59 -16
  7. package/lib/application-control/config.js.map +1 -1
  8. package/lib/application-control/environment-variables.d.ts.map +1 -1
  9. package/lib/application-control/environment-variables.js.map +1 -1
  10. package/lib/application-control/index.d.ts +5 -5
  11. package/lib/application-control/index.d.ts.map +1 -1
  12. package/lib/application-control/index.js +4 -6
  13. package/lib/application-control/index.js.map +1 -1
  14. package/lib/application-control/install.d.ts +1 -1
  15. package/lib/application-control/install.d.ts.map +1 -1
  16. package/lib/application-control/install.js +58 -57
  17. package/lib/application-control/install.js.map +1 -1
  18. package/lib/application-control/models.d.ts +7 -5
  19. package/lib/application-control/models.d.ts.map +1 -1
  20. package/lib/application-control/models.js +78 -57
  21. package/lib/application-control/models.js.map +1 -1
  22. package/lib/application-control/status.d.ts +0 -6
  23. package/lib/application-control/status.d.ts.map +1 -1
  24. package/lib/application-control/status.js +21 -33
  25. package/lib/application-control/status.js.map +1 -1
  26. package/lib/application-control/utils.d.ts +3 -2
  27. package/lib/application-control/utils.d.ts.map +1 -1
  28. package/lib/application-control/utils.js +54 -34
  29. package/lib/application-control/utils.js.map +1 -1
  30. package/lib/cloud-connection/app-install-status.d.ts +16 -0
  31. package/lib/cloud-connection/app-install-status.d.ts.map +1 -0
  32. package/lib/cloud-connection/app-install-status.js +53 -0
  33. package/lib/cloud-connection/app-install-status.js.map +1 -0
  34. package/lib/cloud-connection/bootstrap-provision.d.ts +2 -0
  35. package/lib/cloud-connection/bootstrap-provision.d.ts.map +1 -0
  36. package/lib/cloud-connection/bootstrap-provision.js +34 -0
  37. package/lib/cloud-connection/bootstrap-provision.js.map +1 -0
  38. package/lib/cloud-connection/cmd-status.d.ts +16 -0
  39. package/lib/cloud-connection/cmd-status.d.ts.map +1 -0
  40. package/lib/cloud-connection/cmd-status.js +49 -0
  41. package/lib/cloud-connection/cmd-status.js.map +1 -0
  42. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +21 -34
  43. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  44. package/lib/cloud-connection/device-agent-cloud-connection.js +211 -387
  45. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  46. package/lib/cloud-connection/device-agent.d.ts.map +1 -1
  47. package/lib/cloud-connection/device-agent.js +22 -26
  48. package/lib/cloud-connection/device-agent.js.map +1 -1
  49. package/lib/cloud-connection/live-updates-handler.d.ts +34 -0
  50. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -0
  51. package/lib/cloud-connection/live-updates-handler.js +167 -0
  52. package/lib/cloud-connection/live-updates-handler.js.map +1 -0
  53. package/lib/cloud-connection/messages.d.ts +14 -0
  54. package/lib/cloud-connection/messages.d.ts.map +1 -0
  55. package/lib/cloud-connection/messages.js +38 -0
  56. package/lib/cloud-connection/messages.js.map +1 -0
  57. package/lib/cloud-connection/passthrough-handler.d.ts +11 -0
  58. package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -0
  59. package/lib/cloud-connection/passthrough-handler.js +59 -0
  60. package/lib/cloud-connection/passthrough-handler.js.map +1 -0
  61. package/lib/cloud-connection/publisher.d.ts +15 -0
  62. package/lib/cloud-connection/publisher.d.ts.map +1 -0
  63. package/lib/cloud-connection/publisher.js +58 -0
  64. package/lib/cloud-connection/publisher.js.map +1 -0
  65. package/lib/cloud-connection/shadow-handler.d.ts +33 -0
  66. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -0
  67. package/lib/cloud-connection/shadow-handler.js +108 -0
  68. package/lib/cloud-connection/shadow-handler.js.map +1 -0
  69. package/lib/cloud-connection/shadow-handler.test.d.ts +2 -0
  70. package/lib/cloud-connection/shadow-handler.test.d.ts.map +1 -0
  71. package/lib/cloud-connection/shadow-handler.test.js +321 -0
  72. package/lib/cloud-connection/shadow-handler.test.js.map +1 -0
  73. package/lib/cloud-connection/shadow.d.ts +16 -0
  74. package/lib/cloud-connection/shadow.d.ts.map +1 -0
  75. package/lib/cloud-connection/shadow.js +36 -0
  76. package/lib/cloud-connection/shadow.js.map +1 -0
  77. package/lib/device-control/device-control.d.ts.map +1 -1
  78. package/lib/device-control/device-control.js +1 -0
  79. package/lib/device-control/device-control.js.map +1 -1
  80. package/lib/docker/docker-cmd.js +1 -1
  81. package/lib/docker/docker-compose-cmd.d.ts.map +1 -1
  82. package/lib/docker/docker-compose-cmd.js +1 -1
  83. package/lib/docker/docker-compose-cmd.js.map +1 -1
  84. package/lib/endpoints.js +10 -10
  85. package/lib/endpoints.js.map +1 -1
  86. package/lib/environment.d.ts +1 -0
  87. package/lib/environment.d.ts.map +1 -1
  88. package/lib/environment.js +2 -1
  89. package/lib/environment.js.map +1 -1
  90. package/lib/infrastructure/agent-config.d.ts +15 -58
  91. package/lib/infrastructure/agent-config.d.ts.map +1 -1
  92. package/lib/infrastructure/agent-config.js +22 -15
  93. package/lib/infrastructure/agent-config.js.map +1 -1
  94. package/lib/infrastructure/agent-config.test.js +25 -23
  95. package/lib/infrastructure/agent-config.test.js.map +1 -1
  96. package/lib/infrastructure/system-id.d.ts +2 -0
  97. package/lib/infrastructure/system-id.d.ts.map +1 -0
  98. package/lib/infrastructure/system-id.js +21 -0
  99. package/lib/infrastructure/system-id.js.map +1 -0
  100. package/lib/infrastructure/tokens-and-device-cfg.d.ts +4 -0
  101. package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -0
  102. package/lib/infrastructure/tokens-and-device-cfg.js +27 -0
  103. package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -0
  104. package/lib/infrastructure/urls.d.ts.map +1 -1
  105. package/lib/infrastructure/urls.js +3 -3
  106. package/lib/infrastructure/urls.js.map +1 -1
  107. package/lib/local-connection/rabbitmq-connection.d.ts +4 -0
  108. package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -0
  109. package/lib/local-connection/rabbitmq-connection.js +58 -0
  110. package/lib/local-connection/rabbitmq-connection.js.map +1 -0
  111. package/lib/root.d.ts.map +1 -1
  112. package/lib/root.js +2 -7
  113. package/lib/root.js.map +1 -1
  114. package/lib/subcommands/app/app.d.ts +2 -1
  115. package/lib/subcommands/app/app.d.ts.map +1 -1
  116. package/lib/subcommands/app/app.js +112 -77
  117. package/lib/subcommands/app/app.js.map +1 -1
  118. package/lib/subcommands/app/index.js +2 -2
  119. package/lib/subcommands/device/clean.d.ts +2 -0
  120. package/lib/subcommands/device/clean.d.ts.map +1 -0
  121. package/lib/subcommands/device/clean.js +29 -0
  122. package/lib/subcommands/device/clean.js.map +1 -0
  123. package/lib/subcommands/device/device.d.ts +1 -1
  124. package/lib/subcommands/device/device.d.ts.map +1 -1
  125. package/lib/subcommands/device/device.js +44 -33
  126. package/lib/subcommands/device/device.js.map +1 -1
  127. package/lib/subcommands/device/index.d.ts.map +1 -1
  128. package/lib/subcommands/device/index.js +2 -1
  129. package/lib/subcommands/device/index.js.map +1 -1
  130. package/lib/subcommands/get-model-package.js +5 -5
  131. package/lib/subcommands/index.d.ts +0 -1
  132. package/lib/subcommands/index.d.ts.map +1 -1
  133. package/lib/subcommands/index.js +1 -1
  134. package/lib/subcommands/login.d.ts +0 -1
  135. package/lib/subcommands/login.d.ts.map +1 -1
  136. package/lib/subcommands/login.js +6 -14
  137. package/lib/subcommands/login.js.map +1 -1
  138. package/lib/util/clean-certs.d.ts +2 -0
  139. package/lib/util/clean-certs.d.ts.map +1 -0
  140. package/lib/util/clean-certs.js +16 -0
  141. package/lib/util/clean-certs.js.map +1 -0
  142. package/lib/util/directories.d.ts +16 -15
  143. package/lib/util/directories.d.ts.map +1 -1
  144. package/lib/util/directories.js +45 -26
  145. package/lib/util/directories.js.map +1 -1
  146. package/lib/util/fetch-with-timeout.d.ts +4 -0
  147. package/lib/util/fetch-with-timeout.d.ts.map +1 -0
  148. package/lib/util/fetch-with-timeout.js +15 -0
  149. package/lib/util/fetch-with-timeout.js.map +1 -0
  150. package/lib/util/get-device-id.d.ts +1 -1
  151. package/lib/util/get-device-id.d.ts.map +1 -1
  152. package/lib/util/get-device-id.js +14 -19
  153. package/lib/util/get-device-id.js.map +1 -1
  154. package/lib/util/http-client.d.ts +1 -1
  155. package/lib/util/http-client.d.ts.map +1 -1
  156. package/lib/util/http-client.js +10 -8
  157. package/lib/util/http-client.js.map +1 -1
  158. package/lib/util/logger.d.ts.map +1 -1
  159. package/lib/util/logger.js +4 -5
  160. package/lib/util/logger.js.map +1 -1
  161. package/lib/util/require-logged-in-and-paid-plan.d.ts +2 -0
  162. package/lib/util/require-logged-in-and-paid-plan.d.ts.map +1 -0
  163. package/lib/util/require-logged-in-and-paid-plan.js +18 -0
  164. package/lib/util/require-logged-in-and-paid-plan.js.map +1 -0
  165. package/lib/util/run-in-dir.d.ts.map +1 -1
  166. package/lib/util/run-in-dir.js +1 -0
  167. package/lib/util/run-in-dir.js.map +1 -1
  168. package/lib/util/timer.d.ts +2 -0
  169. package/lib/util/timer.d.ts.map +1 -0
  170. package/lib/util/timer.js +6 -0
  171. package/lib/util/timer.js.map +1 -0
  172. package/package.json +32 -35
  173. package/readme.md +100 -89
  174. package/src/application-control/backup.ts +11 -6
  175. package/src/application-control/config.ts +75 -13
  176. package/src/application-control/environment-variables.ts +3 -3
  177. package/src/application-control/index.ts +18 -11
  178. package/src/application-control/install.ts +82 -78
  179. package/src/application-control/models.ts +104 -72
  180. package/src/application-control/status.ts +29 -40
  181. package/src/application-control/utils.ts +66 -38
  182. package/src/cloud-connection/app-install-status.ts +62 -0
  183. package/src/cloud-connection/bootstrap-provision.ts +40 -0
  184. package/src/cloud-connection/cmd-status.ts +52 -0
  185. package/src/cloud-connection/device-agent-cloud-connection.ts +302 -526
  186. package/src/cloud-connection/device-agent.ts +31 -38
  187. package/src/cloud-connection/live-updates-handler.ts +226 -0
  188. package/src/cloud-connection/messages.ts +39 -0
  189. package/src/cloud-connection/passthrough-handler.ts +67 -0
  190. package/src/cloud-connection/publisher.ts +86 -0
  191. package/src/cloud-connection/shadow-handler.test.ts +361 -0
  192. package/src/cloud-connection/shadow-handler.ts +175 -0
  193. package/src/cloud-connection/shadow.ts +50 -0
  194. package/src/device-control/device-control.ts +1 -0
  195. package/src/docker/docker-cmd.ts +1 -1
  196. package/src/docker/docker-compose-cmd.ts +5 -2
  197. package/src/endpoints.ts +9 -9
  198. package/src/environment.ts +11 -3
  199. package/src/infrastructure/agent-config.test.ts +33 -29
  200. package/src/infrastructure/agent-config.ts +57 -22
  201. package/src/infrastructure/system-id.ts +18 -0
  202. package/src/infrastructure/tokens-and-device-cfg.ts +34 -0
  203. package/src/infrastructure/urls.ts +4 -2
  204. package/src/local-connection/rabbitmq-connection.ts +53 -0
  205. package/src/root.ts +2 -8
  206. package/src/subcommands/app/app.ts +119 -83
  207. package/src/subcommands/app/index.ts +3 -3
  208. package/src/subcommands/device/clean.ts +26 -0
  209. package/src/subcommands/device/device.ts +67 -54
  210. package/src/subcommands/device/index.ts +2 -1
  211. package/src/subcommands/get-model-package.ts +5 -5
  212. package/src/subcommands/index.ts +1 -1
  213. package/src/subcommands/login.ts +6 -14
  214. package/src/util/clean-certs.ts +12 -0
  215. package/src/util/directories.ts +68 -52
  216. package/src/util/fetch-with-timeout.ts +18 -0
  217. package/src/util/get-device-id.ts +16 -18
  218. package/src/util/http-client.ts +18 -13
  219. package/src/util/logger.ts +6 -6
  220. package/src/util/require-logged-in-and-paid-plan.ts +16 -0
  221. package/src/util/run-in-dir.ts +2 -1
  222. package/src/util/timer.ts +1 -0
  223. package/lib/infrastructure/certificates-and-tokens.d.ts +0 -6
  224. package/lib/infrastructure/certificates-and-tokens.d.ts.map +0 -1
  225. package/lib/infrastructure/certificates-and-tokens.js +0 -43
  226. package/lib/infrastructure/certificates-and-tokens.js.map +0 -1
  227. package/src/infrastructure/certificates-and-tokens.ts +0 -53
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateModelsWithPresignedUrls = exports.installModelsWithPresignedURLs = exports.updateModels = exports.replaceModels = exports.removeModel = exports.addModel = exports.getAppModels = void 0;
4
- const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
3
+ exports.updateModelsWithPresignedUrls = exports.installModelsWithPresignedURLs = exports.updateModels = exports.replaceModels = exports.removeModel = exports.getAppModels = void 0;
4
+ const path = require("path");
5
5
  const app_1 = require("alwaysai/lib/components/app");
6
6
  const util_1 = require("alwaysai/lib/util");
7
7
  const logger_1 = require("../util/logger");
@@ -12,6 +12,9 @@ const copy_dir_1 = require("../util/copy-dir");
12
12
  const run_in_dir_1 = require("../util/run-in-dir");
13
13
  const status_1 = require("./status");
14
14
  const utils_1 = require("./utils");
15
+ const model_1 = require("alwaysai/lib/core/model");
16
+ const constants_1 = require("alwaysai/lib/constants");
17
+ const config_1 = require("./config");
15
18
  async function getAppModels(props) {
16
19
  const { projectId } = props;
17
20
  if (!(await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId }))) {
@@ -33,48 +36,35 @@ async function getAppModels(props) {
33
36
  return modelDetails;
34
37
  }
35
38
  exports.getAppModels = getAppModels;
36
- async function addModel(props) {
37
- const { projectId, modelId } = props;
38
- await (0, utils_1.requireAppInstalled)({ projectId });
39
- const appDir = (0, utils_1.getAppDir)(projectId);
40
- await (0, app_1.appModelsAddComponent)({
41
- yes: false,
42
- dir: appDir,
43
- id: modelId,
44
- addToProject: false,
45
- });
46
- await (0, utils_1.buildApp)({ appDir });
47
- }
48
- exports.addModel = addModel;
49
39
  async function removeModel(props) {
50
40
  const { projectId, modelId } = props;
51
- await (0, utils_1.requireAppInstalled)({ projectId });
41
+ await (0, utils_1.requireAppReady)({ projectId });
52
42
  const appDir = (0, utils_1.getAppDir)(projectId);
53
43
  await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveComponent, [
54
44
  {
55
45
  id: modelId,
56
46
  purge: true,
57
- removeFromProject: false,
58
- },
47
+ removeFromProject: false
48
+ }
59
49
  ], appDir);
60
50
  }
61
51
  exports.removeModel = removeModel;
62
52
  async function replaceModels(props) {
63
53
  const { projectId, modelIds } = props;
64
- await (0, utils_1.requireAppInstalled)({ projectId });
54
+ await (0, utils_1.requireAppReady)({ projectId });
65
55
  const appDir = (0, utils_1.getAppDir)(projectId);
66
56
  await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveAllComponent, [
67
57
  {
68
58
  purge: true,
69
- removeFromProject: false,
70
- },
59
+ removeFromProject: false
60
+ }
71
61
  ], appDir);
72
62
  for (const modelId of modelIds) {
73
63
  await (0, app_1.appModelsAddComponent)({
74
64
  yes: false,
75
65
  dir: appDir,
76
66
  id: modelId,
77
- addToProject: false,
67
+ addToProject: false
78
68
  });
79
69
  }
80
70
  await (0, utils_1.buildApp)({ appDir });
@@ -82,72 +72,103 @@ async function replaceModels(props) {
82
72
  exports.replaceModels = replaceModels;
83
73
  async function updateModels(props) {
84
74
  const { projectId } = props;
85
- await (0, utils_1.requireAppInstalled)({ projectId });
75
+ await (0, utils_1.requireAppReady)({ projectId });
86
76
  const appDir = (0, utils_1.getAppDir)(projectId);
87
77
  await (0, app_1.appModelsUpdateComponent)({
88
78
  yes: false,
89
- dir: appDir,
79
+ dir: appDir
90
80
  });
91
81
  await (0, utils_1.buildApp)({ appDir });
92
82
  }
93
83
  exports.updateModels = updateModels;
94
84
  async function installModelsWithPresignedURLs(modelPayloads, targetDir) {
95
85
  const spawner = (0, util_1.JsSpawner)();
86
+ await spawner.mkdirp(targetDir);
96
87
  await Promise.all(modelPayloads.map(async (payload) => {
88
+ logger_1.logger.info(`Installing ${payload.id}: ${payload.version}`);
89
+ const version = payload.version;
97
90
  const modelDest = `${targetDir}/${payload.id}`;
98
91
  await spawner.mkdirp(modelDest);
99
92
  const localDest = `${modelDest}/${payload.version}.tar.gz`;
100
93
  await (0, utils_1.downloadPackageUsingPresignedUrl)({
101
94
  localDest,
102
- presignedUrl: payload.modelSignedUrl,
95
+ presignedUrl: payload.modelSignedUrl
103
96
  });
104
97
  await spawner.untar((0, fs_1.createReadStream)(localDest), (0, path_1.dirname)(modelDest));
98
+ await updateModelJson(modelDest, (modelJson) => (Object.assign(Object.assign({}, modelJson), { version })));
105
99
  await spawner.rimraf(localDest);
106
100
  }));
101
+ async function readModelJson(dir) {
102
+ const filePath = spawner.resolvePath(dir, model_1.MODEL_JSON_FILE_NAME);
103
+ const output = await spawner.readFile(filePath);
104
+ const parsed = JSON.parse(output);
105
+ return parsed;
106
+ }
107
+ async function updateModelJson(dir, updater) {
108
+ const parsed = await readModelJson(dir);
109
+ const updated = updater(parsed);
110
+ const filePath = spawner.resolvePath(dir, model_1.MODEL_JSON_FILE_NAME);
111
+ const serialized = JSON.stringify(updated, null, 2);
112
+ await spawner.writeFile(filePath, serialized);
113
+ }
107
114
  }
108
115
  exports.installModelsWithPresignedURLs = installModelsWithPresignedURLs;
109
- async function updateModelsWithPresignedUrls(project, modelInstallPayloads) {
110
- // create temp dir with all untouched models
116
+ async function updateModelsWithPresignedUrls(props) {
117
+ const { projectId, modelInstallPayloads, appReleaseHash, newAppCfg } = props;
118
+ logger_1.logger.info(`Installing models for ${projectId}`);
111
119
  const spawner = (0, util_1.JsSpawner)();
112
- const appDir = (0, utils_1.getAppDir)(project);
113
- const ogDir = `${appDir}/models`;
114
- const tmpDir = `${ogDir}.tmp`;
120
+ const appDir = (0, utils_1.getAppDir)(projectId);
121
+ if (await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId })) {
122
+ if (!(await (0, agent_config_1.AgentConfigFile)().isAppReady({ projectId }))) {
123
+ throw new Error('Application already has installation in progress!');
124
+ }
125
+ logger_1.logger.info('Updating installed application');
126
+ await (0, agent_config_1.AgentConfigFile)().setAppInstalling({
127
+ projectId,
128
+ version: appReleaseHash
129
+ });
130
+ }
131
+ else {
132
+ throw new Error('Application is not installed!');
133
+ }
134
+ const ogAppCfg = await (0, config_1.readAppCfgFile)({ projectId });
135
+ const ogDir = path.join(appDir, constants_1.APP_MODELS_DIRECTORY_NAME);
136
+ // Copy all current models to restore dir in case of failure
115
137
  const restoreDir = `${ogDir}.restore`;
138
+ await spawner.rimraf(restoreDir);
116
139
  await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: restoreDir });
117
- await spawner.rimraf(tmpDir);
140
+ // Create temp dir to install new models
141
+ const tmpDir = `${ogDir}.tmp`;
118
142
  try {
119
- // Move unchanged models
120
- const existingModels = await getAppModels({ projectId: project });
121
- for (const model of existingModels) {
122
- if (!modelInstallPayloads
123
- .map((newModel) => newModel.id)
124
- .includes(model.modelId)) {
125
- // model does not need to be updated
126
- await (0, copy_dir_1.copyDir)({
127
- srcPath: `${ogDir}/${model.modelId}`,
128
- destPath: `${tmpDir}/${model.modelId}`,
129
- });
130
- }
131
- }
132
- // install model packages
143
+ await spawner.rimraf(tmpDir);
144
+ await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: tmpDir });
133
145
  await installModelsWithPresignedURLs(modelInstallPayloads, tmpDir);
146
+ // TODO: Purge outdated models
134
147
  await spawner.rimraf(ogDir);
135
148
  await (0, copy_dir_1.copyDir)({ srcPath: tmpDir, destPath: ogDir });
136
149
  await spawner.rimraf(tmpDir);
137
- await (0, utils_1.buildApp)({ appDir: (0, utils_1.getAppDir)(project) });
138
- const appStatus = await (0, status_1.getAppStatus)({ projectId: project });
139
- const appIsRunning = appStatus.services.length &&
140
- appStatus.services[0].state !== device_agent_schemas_1.keyMirrors.appState.stopped;
141
- if (appIsRunning) {
142
- (0, status_1.restartApp)({ projectId: project });
143
- }
144
- logger_1.logger.info(`Models installed for project ${project}`);
150
+ await (0, config_1.writeAppCfgFile)({ projectId, appCfg: newAppCfg });
151
+ await (0, utils_1.buildApp)({ appDir });
152
+ await (0, agent_config_1.AgentConfigFile)().setAppInstalled({
153
+ projectId,
154
+ version: appReleaseHash
155
+ });
156
+ await (0, status_1.restartApp)({ projectId });
157
+ logger_1.logger.info(`Models installed for project ${projectId}`);
158
+ /* Leave error handling to higher level so errors are sent to cloud
159
+ } catch (e) {
160
+ logger.error(
161
+ 'Error updating app models from presigned URL, restoring models.',
162
+ e
163
+ );
164
+ await spawner.rimraf(ogDir);
165
+ await copyDir({ srcPath: restoreDir, destPath: ogDir });
166
+ await writeAppCfgFile({ projectId, appCfg: ogAppCfg });
167
+ */
145
168
  }
146
- catch (e) {
147
- logger_1.logger.error(e, 'Error updating app models from presigned URL, restoring models.');
169
+ finally {
148
170
  await spawner.rimraf(tmpDir);
149
- await spawner.rimraf(ogDir);
150
- await (0, copy_dir_1.copyDir)({ srcPath: restoreDir, destPath: ogDir });
171
+ await spawner.rimraf(restoreDir);
151
172
  }
152
173
  }
153
174
  exports.updateModelsWithPresignedUrls = updateModelsWithPresignedUrls;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
1
  /// <reference types="node" />
2
2
  import { AppStatePacket } from '@alwaysai/device-agent-schemas';
3
- export declare function listAppReleases(props: {
4
- projectId: string;
5
- }): Promise<import("alwaysai/lib/infrastructure").ReleaseHistoryArray>;
6
- export declare function listAppLatestRelease(props: {
7
- projectId: string;
8
- }): Promise<string | undefined>;
9
3
  export declare function getAppStatus(props: {
10
4
  projectId: string;
11
5
  }): Promise<AppStatePacket>;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":";AAMA,OAAO,EAEL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAIxC,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,sEAIjE;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,+BAOtE;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+E1B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAqBjC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":";AAKA,OAAO,EAEL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAIxC,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+E1B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAqBjC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBzE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
@@ -1,29 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.restartApp = exports.stopApp = exports.startApp = exports.getAppLogs = exports.getAppStatus = exports.listAppLatestRelease = exports.listAppReleases = void 0;
3
+ exports.restartApp = exports.stopApp = exports.startApp = exports.getAppLogs = exports.getAppStatus = void 0;
4
4
  const docker_compose_1 = require("docker-compose");
5
- const infrastructure_1 = require("alwaysai/lib/infrastructure");
6
5
  const util_1 = require("alwaysai/lib/util");
7
6
  const docker_cmd_1 = require("../docker/docker-cmd");
8
7
  const utils_1 = require("./utils");
9
8
  const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
10
9
  const agent_config_1 = require("../infrastructure/agent-config");
11
10
  const logger_1 = require("../util/logger");
12
- async function listAppReleases(props) {
13
- const { projectId } = props;
14
- const releaseHistory = await (0, infrastructure_1.fetchAppReleaseHistory)(projectId);
15
- return releaseHistory;
16
- }
17
- exports.listAppReleases = listAppReleases;
18
- async function listAppLatestRelease(props) {
19
- const { projectId } = props;
20
- const releaseHistory = await (0, infrastructure_1.fetchAppReleaseHistory)(projectId);
21
- if (releaseHistory.length >= 1) {
22
- return releaseHistory[0]['releaseHash'];
23
- }
24
- return undefined;
25
- }
26
- exports.listAppLatestRelease = listAppLatestRelease;
27
11
  async function getAppStatus(props) {
28
12
  const { projectId } = props;
29
13
  if (!(await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId }))) {
@@ -31,7 +15,7 @@ async function getAppStatus(props) {
31
15
  }
32
16
  const appDetails = {
33
17
  projectId,
34
- version: await (0, agent_config_1.AgentConfigFile)().getAppVersion({ projectId }),
18
+ version: await (0, agent_config_1.AgentConfigFile)().getAppVersion({ projectId })
35
19
  };
36
20
  if (!(await (0, agent_config_1.AgentConfigFile)().isAppReady({ projectId }))) {
37
21
  // App is being installed or updated
@@ -51,7 +35,7 @@ async function getAppStatus(props) {
51
35
  const containerId = await spawner.run({
52
36
  exe: 'docker-compose',
53
37
  cwd: appDir,
54
- args: ['ps', '-q', name],
38
+ args: ['ps', '-q', name]
55
39
  });
56
40
  if (containerId === '') {
57
41
  // The service was not yet started or failed to start
@@ -60,7 +44,7 @@ async function getAppStatus(props) {
60
44
  else {
61
45
  const slashContainerName = await spawner.run({
62
46
  exe: 'docker',
63
- args: ['inspect', '-f', '{{.Name}}', containerId],
47
+ args: ['inspect', '-f', '{{.Name}}', containerId]
64
48
  });
65
49
  const containerName = slashContainerName.substring(1);
66
50
  let foundContainer = false;
@@ -95,7 +79,7 @@ async function getAppStatus(props) {
95
79
  exports.getAppStatus = getAppStatus;
96
80
  async function getAppLogs(props) {
97
81
  const { projectId, services, args } = props;
98
- await (0, utils_1.requireAppInstalled)({ projectId });
82
+ await (0, utils_1.requireAppReady)({ projectId });
99
83
  const appDir = (0, utils_1.getAppDir)(projectId);
100
84
  const serviceList = services
101
85
  ? services
@@ -108,40 +92,44 @@ async function getAppLogs(props) {
108
92
  return await (0, util_1.JsSpawner)().runStreaming({
109
93
  exe: 'docker-compose',
110
94
  args: ['logs', '-f', ...argsList, ...serviceList],
111
- cwd: appDir,
95
+ cwd: appDir
112
96
  });
113
97
  }
114
98
  exports.getAppLogs = getAppLogs;
115
99
  async function startApp(props) {
116
100
  const { projectId, dockerLoginToken } = props;
117
- await (0, utils_1.requireAppInstalled)({ projectId });
101
+ await (0, utils_1.requireAppReady)({ projectId });
118
102
  const appDir = (0, utils_1.getAppDir)(projectId);
119
103
  if (dockerLoginToken !== undefined) {
120
104
  const result = await (0, docker_cmd_1.runDockerLogin)({ token: dockerLoginToken });
121
- logger_1.logger.info(result);
105
+ logger_1.logger.debug(`docker login: ${result}`);
122
106
  }
123
107
  // TODO: Check if app is running
124
108
  // Start app
125
109
  const upOut = await docker_compose_1.default.upAll({ cwd: appDir });
126
- logger_1.logger.info(upOut);
110
+ logger_1.logger.debug(`docker-compose up: ${JSON.stringify(upOut, null, 2)}`);
127
111
  if (upOut.exitCode !== 0) {
128
112
  throw new Error(`Failed to start application! stdout=${upOut.out} stderr=${upOut.err}`);
129
113
  }
130
- logger_1.logger.info('Started', projectId);
114
+ logger_1.logger.info(`Started ${projectId}`);
131
115
  }
132
116
  exports.startApp = startApp;
133
117
  async function stopApp(props) {
134
118
  const { projectId } = props;
135
119
  await (0, utils_1.requireAppInstalled)({ projectId });
136
120
  const appDir = (0, utils_1.getAppDir)(projectId);
137
- // TODO: Check if app is running
138
- // Stop app
139
- const output = await docker_compose_1.default.down({ cwd: appDir });
140
- logger_1.logger.info(output);
141
- if (output.exitCode !== 0) {
142
- throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
121
+ const appStatus = await getAppStatus({ projectId });
122
+ const appIsRunning = appStatus.services.length &&
123
+ appStatus.services[0].state !== device_agent_schemas_1.keyMirrors.appState.stopped;
124
+ if (appIsRunning) {
125
+ // Stop app
126
+ const output = await docker_compose_1.default.down({ cwd: appDir });
127
+ logger_1.logger.debug(`docker-compose down: ${JSON.stringify(output, null, 2)}`);
128
+ if (output.exitCode !== 0) {
129
+ throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
130
+ }
131
+ logger_1.logger.info(`Stopped ${projectId}`);
143
132
  }
144
- logger_1.logger.info('Stopped', projectId);
145
133
  }
146
134
  exports.stopApp = stopApp;
147
135
  async function restartApp(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- export declare const APP_ROOT: string;
2
1
  export declare function getAppDir(projectId: string): string;
3
2
  export declare function requireAppInstalled(props: {
4
3
  projectId: string;
5
4
  }): Promise<void>;
5
+ export declare function requireAppReady(props: {
6
+ projectId: string;
7
+ }): Promise<void>;
6
8
  export declare function buildApp(props: {
7
9
  appDir: string;
8
10
  }): Promise<void>;
@@ -10,5 +12,4 @@ export declare function downloadPackageUsingPresignedUrl(props: {
10
12
  localDest: string;
11
13
  presignedUrl: string;
12
14
  }): Promise<void>;
13
- export declare function getAppConfig(project: string): Promise<any>;
14
15
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,QAAqC,CAAC;AAE3D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBASrE;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,iBA+BvD;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,gBAOjD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAsBA,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBAMrE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBAMjE;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,iBAoCvD;AAmBD,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB"}
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAppConfig = exports.downloadPackageUsingPresignedUrl = exports.buildApp = exports.requireAppInstalled = exports.getAppDir = exports.APP_ROOT = void 0;
3
+ exports.downloadPackageUsingPresignedUrl = exports.buildApp = exports.requireAppReady = exports.requireAppInstalled = exports.getAppDir = void 0;
4
4
  const docker_compose_1 = require("docker-compose");
5
5
  const path = require("path");
6
6
  const fs = require("fs");
7
7
  const constants_1 = require("alwaysai/lib/constants");
8
8
  const agent_config_1 = require("../infrastructure/agent-config");
9
- const node_fetch_1 = require("node-fetch");
9
+ const fetch_with_timeout_1 = require("../util/fetch-with-timeout");
10
10
  const app_1 = require("alwaysai/lib/core/app");
11
- const app_2 = require("alwaysai/lib/components/app");
12
11
  const run_in_dir_1 = require("../util/run-in-dir");
13
- const util_1 = require("alwaysai/lib/util");
14
12
  const logger_1 = require("../util/logger");
15
- exports.APP_ROOT = path.join(constants_1.AAI_DIR, 'applications');
13
+ const directories_1 = require("../util/directories");
14
+ const spawner_1 = require("alwaysai/lib/util/spawner");
16
15
  function getAppDir(projectId) {
17
- return path.join(exports.APP_ROOT, projectId);
16
+ return path.join(directories_1.APP_ROOT, projectId);
18
17
  }
19
18
  exports.getAppDir = getAppDir;
20
19
  async function requireAppInstalled(props) {
@@ -23,43 +22,72 @@ async function requireAppInstalled(props) {
23
22
  if (!(await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId }))) {
24
23
  throw new Error('Application is not installed');
25
24
  }
25
+ }
26
+ exports.requireAppInstalled = requireAppInstalled;
27
+ async function requireAppReady(props) {
28
+ const { projectId } = props;
29
+ await requireAppInstalled({ projectId });
26
30
  if (!(await (0, agent_config_1.AgentConfigFile)().isAppReady({ projectId }))) {
27
31
  throw new Error('Application is not done installing or updating');
28
32
  }
29
33
  }
30
- exports.requireAppInstalled = requireAppInstalled;
34
+ exports.requireAppReady = requireAppReady;
31
35
  async function buildApp(props) {
32
36
  const { appDir } = props;
33
37
  // Build standalone image and docker-compose
34
- const targetJson = (0, app_1.TargetJsonFile)(appDir);
35
- const targetConfig = targetJson.read();
36
- if (targetConfig.targetProtocol !== 'docker:') {
38
+ const targetJsonFile = (0, app_1.TargetJsonFile)(appDir);
39
+ const targetCfg = targetJsonFile.read();
40
+ if (targetCfg.targetProtocol !== 'docker:') {
37
41
  throw new Error(`${constants_1.TARGET_JSON_FILE_NAME} is not properly configured!`);
38
42
  }
39
- await (0, run_in_dir_1.runInDir)(app_2.appDeployLinuxAndRemoteDevice, [
40
- {
41
- yes: true,
42
- generateDockerCompose: true,
43
- logs: false,
44
- stop: false,
45
- targetJson,
46
- targetConfig,
47
- },
48
- ], appDir);
43
+ await (0, run_in_dir_1.runInDir)(async () => {
44
+ await (0, app_1.writeStandaloneDockerfile)();
45
+ const spawner = (0, spawner_1.JsSpawner)();
46
+ const targetHardware = targetCfg.targetHardware;
47
+ if (await spawner.exists(constants_1.DOCKER_COMPOSE_FILE)) {
48
+ await (0, app_1.updateDockerComposeTargetHw)({
49
+ targetHardware
50
+ });
51
+ }
52
+ else {
53
+ await (0, app_1.writeDockerComposeFile)({
54
+ spawner: (0, spawner_1.JsSpawner)(),
55
+ cmd: await (0, app_1.getDockerComposeCmdForApp)({ targetHardware })
56
+ });
57
+ }
58
+ }, [], appDir);
49
59
  const buildOut = await docker_compose_1.default.buildAll({ cwd: appDir });
50
- logger_1.logger.info(buildOut);
60
+ logger_1.logger.debug(`docker-compose build: ${JSON.stringify(buildOut, null, 2)}`);
51
61
  if (buildOut.exitCode !== 0) {
52
62
  throw new Error(`Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`);
53
63
  }
54
64
  }
55
65
  exports.buildApp = buildApp;
66
+ class HTTPResponseError extends Error {
67
+ constructor(response) {
68
+ super(`HTTP Error Response: ${response.status} ${response.statusText}`);
69
+ this.response = response;
70
+ }
71
+ }
72
+ const checkStatus = (response) => {
73
+ if (response.ok) {
74
+ // response.status >= 200 && response.status < 300
75
+ return response;
76
+ }
77
+ else {
78
+ throw new HTTPResponseError(response);
79
+ }
80
+ };
56
81
  async function downloadPackageUsingPresignedUrl(props) {
57
- logger_1.logger.info('downloading URL');
58
82
  const { localDest, presignedUrl } = props;
59
- const response = await (0, node_fetch_1.default)(presignedUrl);
60
- if (response.status !== 200) {
61
- // If the URL is invalid; I think we shouldn't get here with the new changes
62
- throw new Error(`Status Code: ${response.status}, ${response.statusText}. Response: ${response.body}`);
83
+ logger_1.logger.debug(`Downloading package from ${presignedUrl}`);
84
+ let response;
85
+ try {
86
+ response = await (0, fetch_with_timeout_1.fetchWithTimeout)(presignedUrl);
87
+ }
88
+ catch (error) {
89
+ const errorBody = error.type === 'aborted' ? error : await error.response.text();
90
+ throw new Error(`downloadPackageUsingPresignedUrl: Error=${error}\n${errorBody}`);
63
91
  }
64
92
  /**
65
93
  * Write the app package to the hash directory
@@ -71,12 +99,4 @@ async function downloadPackageUsingPresignedUrl(props) {
71
99
  });
72
100
  }
73
101
  exports.downloadPackageUsingPresignedUrl = downloadPackageUsingPresignedUrl;
74
- async function getAppConfig(project) {
75
- const appCfgPath = path.join(getAppDir(project), 'alwaysai.app.json');
76
- if (!fs.existsSync(appCfgPath)) {
77
- throw new Error(`Application config not found for project ${project}`);
78
- }
79
- return JSON.parse(await (0, util_1.JsSpawner)().readFile(appCfgPath));
80
- }
81
- exports.getAppConfig = getAppConfig;
82
102
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { AppInstallStatusPacket } from '@alwaysai/device-agent-schemas';
2
+ export declare class AppInstallStatus {
3
+ private appReleaseHash;
4
+ private status;
5
+ private message?;
6
+ constructor(appReleaseHash: any, status: any, message?: any);
7
+ getAppReleaseHash(): string;
8
+ update(status: any, message?: any): void;
9
+ getStatusPacket(): AppInstallStatusPacket;
10
+ }
11
+ export declare class AppInstallStatusManager {
12
+ private appList;
13
+ update(appReleaseHash: any, status: any, message?: any): void;
14
+ getStatusPacket(appReleaseHash: any): AppInstallStatusPacket;
15
+ }
16
+ //# sourceMappingURL=app-install-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-install-status.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/app-install-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,cAAc,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,CAAC,KAAA;IAMrC,iBAAiB;IAIjB,MAAM,CAAC,MAAM,KAAA,EAAE,OAAO,CAAC,KAAA;IAKvB,eAAe,IAAI,sBAAsB;CAOjD;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAA0B;IAElC,MAAM,CAAC,cAAc,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,CAAC,KAAA;IAkBvC,eAAe,CAAC,cAAc,KAAA;CAQtC"}