@alwaysai/device-agent 0.0.7 → 0.0.9

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 (77) hide show
  1. package/lib/application-control/backup.d.ts.map +1 -1
  2. package/lib/application-control/backup.js +2 -0
  3. package/lib/application-control/backup.js.map +1 -1
  4. package/lib/application-control/config.d.ts +17 -0
  5. package/lib/application-control/config.d.ts.map +1 -0
  6. package/lib/application-control/config.js +62 -0
  7. package/lib/application-control/config.js.map +1 -0
  8. package/lib/application-control/environment-variables.d.ts.map +1 -1
  9. package/lib/application-control/environment-variables.js +6 -14
  10. package/lib/application-control/environment-variables.js.map +1 -1
  11. package/lib/application-control/index.d.ts +2 -1
  12. package/lib/application-control/index.d.ts.map +1 -1
  13. package/lib/application-control/index.js +6 -1
  14. package/lib/application-control/index.js.map +1 -1
  15. package/lib/application-control/install.d.ts +16 -10
  16. package/lib/application-control/install.d.ts.map +1 -1
  17. package/lib/application-control/install.js +95 -57
  18. package/lib/application-control/install.js.map +1 -1
  19. package/lib/application-control/models.d.ts +3 -0
  20. package/lib/application-control/models.d.ts.map +1 -1
  21. package/lib/application-control/models.js +96 -20
  22. package/lib/application-control/models.js.map +1 -1
  23. package/lib/application-control/status.d.ts +3 -2
  24. package/lib/application-control/status.d.ts.map +1 -1
  25. package/lib/application-control/status.js +8 -6
  26. package/lib/application-control/status.js.map +1 -1
  27. package/lib/application-control/utils.d.ts +5 -0
  28. package/lib/application-control/utils.d.ts.map +1 -1
  29. package/lib/application-control/utils.js +47 -13
  30. package/lib/application-control/utils.js.map +1 -1
  31. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +42 -15
  32. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  33. package/lib/cloud-connection/device-agent-cloud-connection.js +357 -195
  34. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  35. package/lib/infrastructure/agent-config.d.ts.map +1 -1
  36. package/lib/infrastructure/agent-config.js +7 -18
  37. package/lib/infrastructure/agent-config.js.map +1 -1
  38. package/lib/infrastructure/agent-config.test.js +47 -0
  39. package/lib/infrastructure/agent-config.test.js.map +1 -1
  40. package/lib/subcommands/app/app.js +1 -1
  41. package/lib/subcommands/app/app.js.map +1 -1
  42. package/lib/subcommands/login.d.ts.map +1 -1
  43. package/lib/subcommands/login.js +4 -3
  44. package/lib/subcommands/login.js.map +1 -1
  45. package/lib/util/copy-dir.d.ts.map +1 -1
  46. package/lib/util/copy-dir.js +3 -1
  47. package/lib/util/copy-dir.js.map +1 -1
  48. package/lib/util/run-in-dir.d.ts +2 -0
  49. package/lib/util/run-in-dir.d.ts.map +1 -0
  50. package/lib/util/run-in-dir.js +17 -0
  51. package/lib/util/run-in-dir.js.map +1 -0
  52. package/lib/util/sleep.d.ts +2 -0
  53. package/lib/util/sleep.d.ts.map +1 -0
  54. package/lib/util/sleep.js +9 -0
  55. package/lib/util/sleep.js.map +1 -0
  56. package/package.json +4 -3
  57. package/src/application-control/backup.ts +3 -0
  58. package/src/application-control/config.ts +61 -0
  59. package/src/application-control/environment-variables.ts +6 -12
  60. package/src/application-control/index.ts +5 -0
  61. package/src/application-control/install.ts +147 -68
  62. package/src/application-control/models.ts +136 -23
  63. package/src/application-control/status.ts +19 -9
  64. package/src/application-control/utils.ts +58 -13
  65. package/src/cloud-connection/device-agent-cloud-connection.ts +459 -216
  66. package/src/infrastructure/agent-config.test.ts +56 -0
  67. package/src/infrastructure/agent-config.ts +10 -19
  68. package/src/subcommands/app/app.ts +1 -1
  69. package/src/subcommands/login.ts +6 -4
  70. package/src/util/copy-dir.ts +3 -1
  71. package/src/util/run-in-dir.ts +15 -0
  72. package/src/util/sleep.ts +5 -0
  73. package/lib/util/run-cli-cmd.d.ts +0 -5
  74. package/lib/util/run-cli-cmd.d.ts.map +0 -1
  75. package/lib/util/run-cli-cmd.js +0 -24
  76. package/lib/util/run-cli-cmd.js.map +0 -1
  77. package/src/util/run-cli-cmd.ts +0 -18
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateModels = exports.replaceModels = exports.removeModel = exports.addModel = exports.getAppModels = void 0;
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");
5
+ const app_1 = require("alwaysai/lib/components/app");
4
6
  const util_1 = require("alwaysai/lib/util");
5
7
  const fs_1 = require("fs");
6
8
  const path_1 = require("path");
7
- const run_cli_cmd_1 = require("../util/run-cli-cmd");
9
+ const agent_config_1 = require("../infrastructure/agent-config");
10
+ const copy_dir_1 = require("../util/copy-dir");
11
+ const run_in_dir_1 = require("../util/run-in-dir");
12
+ const status_1 = require("./status");
8
13
  const utils_1 = require("./utils");
9
14
  async function getAppModels(props) {
10
15
  const { projectId } = props;
11
- await (0, utils_1.requireAppInstalled)({ projectId });
16
+ if (!(await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId }))) {
17
+ throw new Error('Application is not installed');
18
+ }
12
19
  const appDir = (0, utils_1.getAppDir)(projectId);
13
20
  const appCfgPath = (0, path_1.join)(appDir, 'alwaysai.app.json');
14
21
  if (!(0, fs_1.existsSync)(appCfgPath)) {
@@ -29,9 +36,11 @@ async function addModel(props) {
29
36
  const { projectId, modelId } = props;
30
37
  await (0, utils_1.requireAppInstalled)({ projectId });
31
38
  const appDir = (0, utils_1.getAppDir)(projectId);
32
- await (0, run_cli_cmd_1.runCliCmd)({
33
- cmd: ['app', 'models', 'add', modelId],
34
- cwd: appDir,
39
+ await (0, app_1.appModelsAddComponent)({
40
+ yes: false,
41
+ dir: appDir,
42
+ id: modelId,
43
+ addToProject: false,
35
44
  });
36
45
  await (0, utils_1.buildApp)({ appDir });
37
46
  }
@@ -40,24 +49,31 @@ async function removeModel(props) {
40
49
  const { projectId, modelId } = props;
41
50
  await (0, utils_1.requireAppInstalled)({ projectId });
42
51
  const appDir = (0, utils_1.getAppDir)(projectId);
43
- await (0, run_cli_cmd_1.runCliCmd)({
44
- cmd: ['app', 'models', 'remove', modelId, '--purge'],
45
- cwd: appDir,
46
- });
52
+ await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveComponent, [
53
+ {
54
+ id: modelId,
55
+ purge: true,
56
+ removeFromProject: false,
57
+ },
58
+ ], appDir);
47
59
  }
48
60
  exports.removeModel = removeModel;
49
61
  async function replaceModels(props) {
50
62
  const { projectId, modelIds } = props;
51
63
  await (0, utils_1.requireAppInstalled)({ projectId });
52
64
  const appDir = (0, utils_1.getAppDir)(projectId);
53
- await (0, run_cli_cmd_1.runCliCmd)({
54
- cmd: ['app', 'models', 'remove-all', '--purge'],
55
- cwd: appDir,
56
- });
65
+ await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveAllComponent, [
66
+ {
67
+ purge: true,
68
+ removeFromProject: false,
69
+ },
70
+ ], appDir);
57
71
  for (const modelId of modelIds) {
58
- await (0, run_cli_cmd_1.runCliCmd)({
59
- cmd: ['app', 'models', 'add', modelId],
60
- cwd: appDir,
72
+ await (0, app_1.appModelsAddComponent)({
73
+ yes: false,
74
+ dir: appDir,
75
+ id: modelId,
76
+ addToProject: false,
61
77
  });
62
78
  }
63
79
  await (0, utils_1.buildApp)({ appDir });
@@ -67,11 +83,71 @@ async function updateModels(props) {
67
83
  const { projectId } = props;
68
84
  await (0, utils_1.requireAppInstalled)({ projectId });
69
85
  const appDir = (0, utils_1.getAppDir)(projectId);
70
- await (0, run_cli_cmd_1.runCliCmd)({
71
- cmd: ['app', 'models', 'update'],
72
- cwd: appDir,
86
+ await (0, app_1.appModelsUpdateComponent)({
87
+ yes: false,
88
+ dir: appDir,
73
89
  });
74
90
  await (0, utils_1.buildApp)({ appDir });
75
91
  }
76
92
  exports.updateModels = updateModels;
93
+ async function installModelsWithPresignedURLs(modelPayloads, targetDir) {
94
+ const spawner = (0, util_1.JsSpawner)();
95
+ await Promise.all(modelPayloads.map(async (payload) => {
96
+ const modelDest = `${targetDir}/${payload.id}`;
97
+ await spawner.mkdirp(modelDest);
98
+ const localDest = `${modelDest}/${payload.version}.tar.gz`;
99
+ await (0, utils_1.downloadPackageUsingPresignedUrl)({
100
+ localDest,
101
+ presignedUrl: payload.modelSignedUrl,
102
+ });
103
+ await spawner.untar((0, fs_1.createReadStream)(localDest), (0, path_1.dirname)(modelDest));
104
+ await spawner.rimraf(localDest);
105
+ }));
106
+ }
107
+ exports.installModelsWithPresignedURLs = installModelsWithPresignedURLs;
108
+ async function updateModelsWithPresignedUrls(project, modelInstallPayloads) {
109
+ // create temp dir with all untouched models
110
+ const spawner = (0, util_1.JsSpawner)();
111
+ const appDir = (0, utils_1.getAppDir)(project);
112
+ const ogDir = `${appDir}/models`;
113
+ const tmpDir = `${ogDir}.tmp`;
114
+ const restoreDir = `${ogDir}.restore`;
115
+ await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: restoreDir });
116
+ await spawner.rimraf(tmpDir);
117
+ try {
118
+ // Move unchanged models
119
+ const existingModels = await getAppModels({ projectId: project });
120
+ for (const model of existingModels) {
121
+ if (!modelInstallPayloads
122
+ .map((newModel) => newModel.id)
123
+ .includes(model.modelId)) {
124
+ // model does not need to be updated
125
+ await (0, copy_dir_1.copyDir)({
126
+ srcPath: `${ogDir}/${model.modelId}`,
127
+ destPath: `${tmpDir}/${model.modelId}`,
128
+ });
129
+ }
130
+ }
131
+ // install model packages
132
+ await installModelsWithPresignedURLs(modelInstallPayloads, tmpDir);
133
+ await spawner.rimraf(ogDir);
134
+ await (0, copy_dir_1.copyDir)({ srcPath: tmpDir, destPath: ogDir });
135
+ await spawner.rimraf(tmpDir);
136
+ await (0, utils_1.buildApp)({ appDir: (0, utils_1.getAppDir)(project) });
137
+ const appStatus = await (0, status_1.getAppStatus)({ projectId: project });
138
+ const appIsRunning = appStatus.services.length &&
139
+ appStatus.services[0].state !== device_agent_schemas_1.keyMirrors.appState.stopped;
140
+ if (appIsRunning) {
141
+ (0, status_1.restartApp)({ projectId: project });
142
+ }
143
+ console.log(`Models installed for project ${project}`);
144
+ }
145
+ catch (e) {
146
+ console.error(e, 'Error updating app models from presigned URL, restoring models.');
147
+ await spawner.rimraf(tmpDir);
148
+ await spawner.rimraf(ogDir);
149
+ await (0, copy_dir_1.copyDir)({ srcPath: restoreDir, destPath: ogDir });
150
+ }
151
+ }
152
+ exports.updateModelsWithPresignedUrls = updateModelsWithPresignedUrls;
77
153
  //# sourceMappingURL=models.js.map
@@ -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":";;;AAAA,yEAAiF;AAEjF,qDAKqC;AACrC,4CAAsD;AACtD,2BAAkD;AAClD,+BAAqC;AACrC,iEAAiE;AACjE,+CAA2C;AAC3C,mDAA8C;AAC9C,qCAAoD;AAGpD,mCAKiB;AAEV,KAAK,UAAU,YAAY,CAAC,KAA4B;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IAED,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,gBAAS,GAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;QACzB,OAAO,YAAY,CAAC;KACrB;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;QACpC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACzE;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AApBD,oCAoBC;AAEM,KAAK,UAAU,QAAQ,CAAC,KAA6C;IAC1E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAA,2BAAqB,EAAC;QAC1B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,MAAM;QACX,EAAE,EAAE,OAAO;QACX,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAZD,4BAYC;AAEM,KAAK,UAAU,WAAW,CAAC,KAA6C;IAC7E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IAEpC,MAAM,IAAA,qBAAQ,EACZ,8BAAwB,EACxB;QACE;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,IAAI;YACX,iBAAiB,EAAE,KAAK;SACzB;KACF,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAjBD,kCAiBC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAgD;IAClF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IAEpC,MAAM,IAAA,qBAAQ,EACZ,iCAA2B,EAC3B;QACE;YACE,KAAK,EAAE,IAAI;YACX,iBAAiB,EAAE,KAAK;SACzB;KACF,EACD,MAAM,CACP,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,IAAA,2BAAqB,EAAC;YAC1B,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,MAAM;YACX,EAAE,EAAE,OAAO;YACX,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;KACJ;IACD,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAzBD,sCAyBC;AAEM,KAAK,UAAU,YAAY,CAAC,KAA4B;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAA,8BAAwB,EAAC;QAC7B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IACH,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAVD,oCAUC;AAEM,KAAK,UAAU,8BAA8B,CAClD,aAAoC,EACpC,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC;QAC3D,MAAM,IAAA,wCAAgC,EAAC;YACrC,SAAS;YACT,YAAY,EAAE,OAAO,CAAC,cAAc;SACrC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,IAAA,qBAAgB,EAAC,SAAS,CAAC,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC,CAAC,CAAC;QACrE,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAlBD,wEAkBC;AAEM,KAAK,UAAU,6BAA6B,CACjD,OAAe,EACf,oBAA2C;IAE3C,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,MAAM,SAAS,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,KAAK,UAAU,CAAC;IACtC,MAAM,IAAA,kBAAO,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI;QACF,wBAAwB;QACxB,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;YAClC,IACE,CAAC,oBAAoB;iBAClB,GAAG,CAAC,CAAC,QAA6B,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACnD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAC1B;gBACA,oCAAoC;gBACpC,MAAM,IAAA,kBAAO,EAAC;oBACZ,OAAO,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;oBACpC,QAAQ,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;iBACvC,CAAC,CAAC;aACJ;SACF;QAED,yBAAyB;QACzB,MAAM,8BAA8B,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAA,kBAAO,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,YAAY,GAChB,SAAS,CAAC,QAAQ,CAAC,MAAM;YACzB,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,iCAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAE9D,IAAI,YAAY,EAAE;YAChB,IAAA,mBAAU,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;SACpC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;KACxD;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iEAAiE,CAAC,CAAC;QACpF,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAA,kBAAO,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KACzD;AACH,CAAC;AAtDD,sEAsDC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { AppState } from '@alwaysai/device-agent-schemas';
2
+ import { AppStatePacket } from '@alwaysai/device-agent-schemas';
3
3
  export declare function listAppReleases(props: {
4
4
  projectId: string;
5
5
  }): Promise<import("alwaysai/lib/infrastructure").ReleaseHistoryArray>;
@@ -8,10 +8,11 @@ export declare function listAppLatestRelease(props: {
8
8
  }): Promise<string | undefined>;
9
9
  export declare function getAppStatus(props: {
10
10
  projectId: string;
11
- }): Promise<AppState>;
11
+ }): Promise<AppStatePacket>;
12
12
  export declare function getAppLogs(props: {
13
13
  projectId: string;
14
14
  services?: string[];
15
+ args?: string[];
15
16
  }): Promise<NodeJS.ReadableStream>;
16
17
  export declare function startApp(props: {
17
18
  projectId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":";AAMA,OAAO,EAAgC,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGxF,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;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+ElF;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAmBjC;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":";AAMA,OAAO,EAEL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAGxC,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"}
@@ -6,6 +6,7 @@ const infrastructure_1 = require("alwaysai/lib/infrastructure");
6
6
  const util_1 = require("alwaysai/lib/util");
7
7
  const docker_cmd_1 = require("../docker/docker-cmd");
8
8
  const utils_1 = require("./utils");
9
+ const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
9
10
  const agent_config_1 = require("../infrastructure/agent-config");
10
11
  async function listAppReleases(props) {
11
12
  const { projectId } = props;
@@ -53,7 +54,7 @@ async function getAppStatus(props) {
53
54
  });
54
55
  if (containerId === '') {
55
56
  // The service was not yet started or failed to start
56
- services.push({ name, state: 'Stopped' });
57
+ services.push({ name, state: device_agent_schemas_1.keyMirrors.appState.stopped });
57
58
  }
58
59
  else {
59
60
  const slashContainerName = await spawner.run({
@@ -68,14 +69,14 @@ async function getAppStatus(props) {
68
69
  }
69
70
  let state;
70
71
  if (container.state.includes('Up')) {
71
- state = 'Up';
72
+ state = device_agent_schemas_1.keyMirrors.appState.up;
72
73
  }
73
74
  else if (container.state.includes('Stopped') ||
74
75
  container.state.includes('Exit')) {
75
- state = 'Stopped';
76
+ state = device_agent_schemas_1.keyMirrors.appState.stopped;
76
77
  }
77
78
  else if (container.state.includes('Restarting')) {
78
- state = 'Restarting';
79
+ state = device_agent_schemas_1.keyMirrors.appState.restarting;
79
80
  }
80
81
  else {
81
82
  throw new Error(`Unknown state for service! (${container.state})`);
@@ -92,7 +93,7 @@ async function getAppStatus(props) {
92
93
  }
93
94
  exports.getAppStatus = getAppStatus;
94
95
  async function getAppLogs(props) {
95
- const { projectId, services } = props;
96
+ const { projectId, services, args } = props;
96
97
  await (0, utils_1.requireAppInstalled)({ projectId });
97
98
  const appDir = (0, utils_1.getAppDir)(projectId);
98
99
  const serviceList = services
@@ -101,10 +102,11 @@ async function getAppLogs(props) {
101
102
  const composeServices = await docker_compose_1.default.configServices({ cwd: appDir });
102
103
  return composeServices.data.services;
103
104
  })();
105
+ const argsList = args ? args : [];
104
106
  // Use direct command with spawner in order to get a readable stream
105
107
  return await (0, util_1.JsSpawner)().runStreaming({
106
108
  exe: 'docker-compose',
107
- args: ['logs', '-f', ...serviceList],
109
+ args: ['logs', '-f', ...argsList, ...serviceList],
108
110
  cwd: appDir,
109
111
  });
110
112
  }
@@ -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":";;;AAAA,mDAAqC;AACrC,gEAAqE;AACrE,4CAA8C;AAE9C,qDAAsD;AACtD,mCAAyD;AACzD,yEAKwC;AACxC,iEAAiE;AAE1D,KAAK,UAAU,eAAe,CAAC,KAA4B;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,cAAc,CAAC;AACxB,CAAC;AAJD,0CAIC;AAEM,KAAK,UAAU,oBAAoB,CAAC,KAA4B;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;QAC9B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KACzC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oDAOC;AAEM,KAAK,UAAU,YAAY,CAAC,KAElC;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IAED,MAAM,UAAU,GAAG;QACjB,SAAS;QACT,OAAO,EAAE,MAAM,IAAA,8BAAe,GAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;KAC9D,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QACxD,oCAAoC;QACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;KACrC;IAED,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,wBAAO,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,0BAA0B;IAC1B,MAAM,MAAM,GAAG,MAAM,wBAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,GAAG,EAAE,CAC9E,CAAC;KACH;IAED,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE;QAChD,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpC,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,EAAE,EAAE;YACtB,qDAAqD;YACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,iCAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;SAC7D;aAAM;YACL,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC3C,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEtD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE;oBACpC,SAAS;iBACV;gBACD,IAAI,KAAoB,CAAC;gBACzB,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAClC,KAAK,GAAG,iCAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAChC;qBAAM,IACL,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACnC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAChC;oBACA,KAAK,GAAG,iCAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACrC;qBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBACjD,KAAK,GAAG,iCAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;iBACxC;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;iBACpE;gBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/B,cAAc,GAAG,IAAI,CAAC;aACvB;YACD,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,OAAO,IAAI,CAAC,SAAS,CACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,EACpB,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;aACH;SACF;KACF;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAjFD,oCAiFC;AAEM,KAAK,UAAU,UAAU,CAAC,KAIhC;IACC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,CAAC,KAAK;YACV,MAAM,eAAe,GAAG,MAAM,wBAAO,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC,oEAAoE;IACpE,OAAO,MAAM,IAAA,gBAAS,GAAE,CAAC,YAAY,CAAC;QACpC,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC;QACjD,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;AACL,CAAC;AAzBD,gCAyBC;AAEM,KAAK,UAAU,QAAQ,CAAC,KAG9B;IACC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAc,EAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,gCAAgC;IAChC,YAAY;IACZ,MAAM,KAAK,GAAG,MAAM,wBAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,EAAE,CACvE,CAAC;KACH;IACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAvBD,4BAuBC;AAEM,KAAK,UAAU,OAAO,CAAC,KAA4B;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,gCAAgC;IAChC,WAAW;IACX,MAAM,MAAM,GAAG,MAAM,wBAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,GAAG,EAAE,CACxE,CAAC;KACH;IACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAfD,0BAeC;AAEM,KAAK,UAAU,UAAU,CAAC,KAA4B;IAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7B,MAAM,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAChC,CAAC;AAJD,gCAIC"}
@@ -6,4 +6,9 @@ export declare function requireAppInstalled(props: {
6
6
  export declare function buildApp(props: {
7
7
  appDir: string;
8
8
  }): Promise<void>;
9
+ export declare function downloadPackageUsingPresignedUrl(props: {
10
+ localDest: string;
11
+ presignedUrl: string;
12
+ }): Promise<void>;
13
+ export declare function getAppConfig(project: string): Promise<any>;
9
14
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ,QAAqC,CAAC;AAG3D,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,iBAsBvD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAYA,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,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildApp = exports.requireAppInstalled = exports.getAppDir = exports.APP_ROOT = void 0;
3
+ exports.getAppConfig = exports.downloadPackageUsingPresignedUrl = exports.buildApp = exports.requireAppInstalled = exports.getAppDir = exports.APP_ROOT = 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
- const run_cli_cmd_1 = require("../util/run-cli-cmd");
9
8
  const agent_config_1 = require("../infrastructure/agent-config");
9
+ const node_fetch_1 = require("node-fetch");
10
+ const app_1 = require("alwaysai/lib/core/app");
11
+ const app_2 = require("alwaysai/lib/components/app");
12
+ const run_in_dir_1 = require("../util/run-in-dir");
13
+ const util_1 = require("alwaysai/lib/util");
10
14
  exports.APP_ROOT = path.join(constants_1.AAI_DIR, 'applications');
11
- const DOCKER_COMPOSE_FILENAME = 'docker-compose.yaml';
12
15
  function getAppDir(projectId) {
13
16
  return path.join(exports.APP_ROOT, projectId);
14
17
  }
@@ -26,22 +29,53 @@ async function requireAppInstalled(props) {
26
29
  exports.requireAppInstalled = requireAppInstalled;
27
30
  async function buildApp(props) {
28
31
  const { appDir } = props;
29
- await (0, run_cli_cmd_1.runCliCmd)({
30
- cmd: ['app', 'configure', '--yes', '--protocol', 'docker:', '--skip-model-sync'],
31
- cwd: appDir,
32
- });
33
- await (0, run_cli_cmd_1.runCliCmd)({ cmd: ['app', 'install', '--yes', '--clean', '--pull'], cwd: appDir });
34
32
  // Build standalone image and docker-compose
35
- if (!fs.existsSync(path.join(appDir, DOCKER_COMPOSE_FILENAME))) {
36
- await (0, run_cli_cmd_1.runCliCmd)({
37
- cmd: ['app', 'deploy', '--yes', '--generateDockerCompose'],
38
- cwd: appDir,
39
- });
33
+ const targetJson = (0, app_1.TargetJsonFile)(appDir);
34
+ const targetConfig = targetJson.read();
35
+ if (targetConfig.targetProtocol !== 'docker:') {
36
+ throw new Error(`${constants_1.TARGET_JSON_FILE_NAME} is not properly configured!`);
40
37
  }
38
+ await (0, run_in_dir_1.runInDir)(app_2.appDeployLinuxAndRemoteDevice, [
39
+ {
40
+ yes: true,
41
+ generateDockerCompose: true,
42
+ logs: false,
43
+ stop: false,
44
+ targetJson,
45
+ targetConfig,
46
+ },
47
+ ], appDir);
41
48
  const buildOut = await docker_compose_1.default.buildAll({ cwd: appDir });
49
+ console.log(buildOut);
42
50
  if (buildOut.exitCode !== 0) {
43
51
  throw new Error(`Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`);
44
52
  }
45
53
  }
46
54
  exports.buildApp = buildApp;
55
+ async function downloadPackageUsingPresignedUrl(props) {
56
+ console.log('downloading URL');
57
+ const { localDest, presignedUrl } = props;
58
+ const response = await (0, node_fetch_1.default)(presignedUrl);
59
+ if (response.status !== 200) {
60
+ // If the URL is invalid; I think we shouldn't get here with the new changes
61
+ throw new Error(`Status Code: ${response.status}, ${response.statusText}. Response: ${response.body}`);
62
+ }
63
+ /**
64
+ * Write the app package to the hash directory
65
+ */
66
+ const stream = response.body.pipe(fs.createWriteStream(localDest));
67
+ await new Promise((resolve, reject) => {
68
+ stream.on('finish', resolve);
69
+ stream.on('error', reject);
70
+ });
71
+ }
72
+ exports.downloadPackageUsingPresignedUrl = downloadPackageUsingPresignedUrl;
73
+ async function getAppConfig(project) {
74
+ const appCfgPath = path.join(getAppDir(project), 'alwaysai.app.json');
75
+ if (!fs.existsSync(appCfgPath)) {
76
+ throw new Error(`Application config not found for project ${project}`);
77
+ }
78
+ return JSON.parse(await (0, util_1.JsSpawner)().readFile(appCfgPath));
79
+ }
80
+ exports.getAppConfig = getAppConfig;
47
81
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":";;;AAAA,mDAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AACzB,sDAAiD;AAEjD,qDAAgD;AAChD,iEAAiE;AAEpD,QAAA,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAO,EAAE,cAAc,CAAC,CAAC;AAC3D,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAEtD,SAAgB,SAAS,CAAC,SAAiB;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAQ,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,mBAAmB,CAAC,KAA4B;IACpE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,mEAAmE;IACnE,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;AACH,CAAC;AATD,kDASC;AAEM,KAAK,UAAU,QAAQ,CAAC,KAAyB;IACtD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,IAAA,uBAAS,EAAC;QACd,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,CAAC;QAChF,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IACH,MAAM,IAAA,uBAAS,EAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAExF,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,EAAE;QAC9D,MAAM,IAAA,uBAAS,EAAC;YACd,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,CAAC;YAC1D,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;KACJ;IAED,MAAM,QAAQ,GAAG,MAAM,wBAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,GAAG,WAAW,QAAQ,CAAC,GAAG,EAAE,CAC7E,CAAC;KACH;AACH,CAAC;AAtBD,4BAsBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,52 @@
1
- import { InstallationStatus } from '@alwaysai/device-agent-schemas';
1
+ import { ClientMessage } from '@alwaysai/device-agent-schemas';
2
2
  export declare class DeviceAgentCloudConnection {
3
3
  private clientId;
4
4
  private host;
5
- private publishable;
6
- private readonly publishInterval;
7
- private readonly installationStatusInterval;
8
- private installationStatus;
9
- private publishableTimeout;
5
+ private appInstallStatus;
6
+ private liveUpdatesTimeout;
7
+ private liveUpdatesAlive;
8
+ private liveUpdatesSleepIntervals;
9
+ private appLogStreams;
10
+ private deviceType;
11
+ private readonly shadowPrefix;
12
+ private readonly shadowTopics;
13
+ private readonly toCloudTopic;
14
+ private readonly toClientTopic;
15
+ private readonly toDeviceTopic;
16
+ getShadowPrefix(): string;
17
+ private handleNamedShadowUpdate;
18
+ private startAppLogStream;
19
+ private initAppInstallStatus;
20
+ private updateAppInstallStatus;
21
+ private getAppInstallStatus;
22
+ private buildMessagePacket;
23
+ private getAppStateMessage;
24
+ private getDeviceStatsMessage;
25
+ private getAppInstallStatusMessage;
26
+ private startPublishingLiveUpdates;
27
+ private continuePublishing;
28
+ private getLiveUpdatesInterval;
29
+ private setLiveUpdates;
30
+ private handleAppStateControl;
31
+ private handleAppVersionControl;
32
+ private handleDeviceCommand;
33
+ private handleAgentCommand;
34
+ private restartLiveUpdatesTimeout;
35
+ private liveUpdatesBroker;
36
+ private publishReportedState;
37
+ private publishCloudRequest;
10
38
  device: any;
11
- agentTopicPrefix: string;
12
- cloudTopicPrefix: string;
13
39
  constructor();
14
- setInstallationStatus(installationStatus: InstallationStatus): void;
15
- getInstallationStatus(): InstallationStatus;
16
- getPublishable(): boolean;
17
- setPublishable(enabled: boolean): void;
18
- restartPublishableTimeout(): void;
19
- getPublishInterval(): number;
20
- getInstallationStatusInterval(): number;
21
40
  getClientId(): string;
22
41
  publishMessage(topic: string, message: string): void;
42
+ handleClientMessage({ topic, message, }: {
43
+ topic: string;
44
+ message: ClientMessage;
45
+ }): Promise<void>;
46
+ handleShadowTopic({ topic, payload }: {
47
+ topic: string;
48
+ payload: string;
49
+ }): Promise<void>;
23
50
  }
24
51
  export declare function runDeviceAgentCloudInterface(): void;
25
52
  //# sourceMappingURL=device-agent-cloud-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAgBA,OAAO,EASL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAC;AAIxC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAgC;IAEnD,MAAM,MAAiB;IACvB,gBAAgB,SAAsD;IACtE,gBAAgB,SAAsD;;IAetE,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB;IAI5D,qBAAqB,IAAI,kBAAkB;IAI3C,cAAc,IAAI,OAAO;IAIzB,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/B,yBAAyB;IAOzB,kBAAkB;IAIlB,6BAA6B;IAI7B,WAAW,IAAI,MAAM;IAIrB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED,wBAAgB,4BAA4B,SAkO3C"}
1
+ {"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAoBA,OAAO,EAiBL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AASxC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,gBAAgB,CAItB;IACF,OAAO,CAAC,yBAAyB,CAK/B;IACF,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+C;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAK3B;IACF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwD;IACrF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyD;IACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyD;IAIhF,eAAe;YAIR,uBAAuB;YAsCvB,iBAAiB;IAwC/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;YAcZ,kBAAkB;YAelB,qBAAqB;IAiBnC,OAAO,CAAC,0BAA0B,CAOhC;YAEY,0BAA0B;IAsBxC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,yBAAyB;YAYnB,iBAAiB;YA4CjB,oBAAoB;YAYpB,mBAAmB;IAY1B,MAAM,MAAiB;;IAgBvB,WAAW,IAAI,MAAM;IAIrB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKvC,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,GACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB;IAgFY,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAetF;AAED,wBAAgB,4BAA4B,SAmC3C"}