@alwaysai/device-agent 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application-control/backup.d.ts.map +1 -1
- package/lib/application-control/backup.js +8 -2
- package/lib/application-control/backup.js.map +1 -1
- package/lib/application-control/config.d.ts +12 -4
- package/lib/application-control/config.d.ts.map +1 -1
- package/lib/application-control/config.js +59 -16
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/index.d.ts +4 -4
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +4 -3
- package/lib/application-control/index.js.map +1 -1
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +28 -14
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts +7 -1
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +69 -39
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts.map +1 -1
- package/lib/application-control/status.js +18 -14
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts +0 -2
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +7 -16
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/app-install-status.d.ts +16 -0
- package/lib/cloud-connection/app-install-status.d.ts.map +1 -0
- package/lib/cloud-connection/app-install-status.js +53 -0
- package/lib/cloud-connection/app-install-status.js.map +1 -0
- package/lib/cloud-connection/bootstrap-provision.d.ts +2 -0
- package/lib/cloud-connection/bootstrap-provision.d.ts.map +1 -0
- package/lib/cloud-connection/bootstrap-provision.js +34 -0
- package/lib/cloud-connection/bootstrap-provision.js.map +1 -0
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +12 -34
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +169 -385
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/device-agent.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent.js +22 -26
- package/lib/cloud-connection/device-agent.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +34 -0
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -0
- package/lib/cloud-connection/live-updates-handler.js +167 -0
- package/lib/cloud-connection/live-updates-handler.js.map +1 -0
- package/lib/cloud-connection/messages.d.ts +14 -0
- package/lib/cloud-connection/messages.d.ts.map +1 -0
- package/lib/cloud-connection/messages.js +38 -0
- package/lib/cloud-connection/messages.js.map +1 -0
- package/lib/cloud-connection/publisher.d.ts +14 -0
- package/lib/cloud-connection/publisher.d.ts.map +1 -0
- package/lib/cloud-connection/publisher.js +44 -0
- package/lib/cloud-connection/publisher.js.map +1 -0
- package/lib/cloud-connection/shadow-handler.d.ts +34 -0
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -0
- package/lib/cloud-connection/shadow-handler.js +94 -0
- package/lib/cloud-connection/shadow-handler.js.map +1 -0
- package/lib/cloud-connection/shadow.d.ts +16 -0
- package/lib/cloud-connection/shadow.d.ts.map +1 -0
- package/lib/cloud-connection/shadow.js +36 -0
- package/lib/cloud-connection/shadow.js.map +1 -0
- package/lib/device-control/device-control.d.ts.map +1 -1
- package/lib/device-control/device-control.js +1 -0
- package/lib/device-control/device-control.js.map +1 -1
- package/lib/docker/docker-cmd.js +1 -1
- package/lib/docker/docker-compose-cmd.d.ts.map +1 -1
- package/lib/docker/docker-compose-cmd.js +1 -1
- package/lib/docker/docker-compose-cmd.js.map +1 -1
- package/lib/endpoints.js +10 -10
- package/lib/endpoints.js.map +1 -1
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +4 -14
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/infrastructure/agent-config.js +22 -15
- package/lib/infrastructure/agent-config.js.map +1 -1
- package/lib/infrastructure/agent-config.test.js +26 -18
- package/lib/infrastructure/agent-config.test.js.map +1 -1
- package/lib/infrastructure/system-id.d.ts +2 -0
- package/lib/infrastructure/system-id.d.ts.map +1 -0
- package/lib/infrastructure/system-id.js +21 -0
- package/lib/infrastructure/system-id.js.map +1 -0
- package/lib/infrastructure/tokens-and-device-cfg.d.ts +4 -0
- package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -0
- package/lib/infrastructure/tokens-and-device-cfg.js +31 -0
- package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -0
- package/lib/infrastructure/urls.d.ts.map +1 -1
- package/lib/infrastructure/urls.js +3 -3
- package/lib/infrastructure/urls.js.map +1 -1
- package/lib/root.d.ts.map +1 -1
- package/lib/root.js +2 -7
- package/lib/root.js.map +1 -1
- package/lib/subcommands/app/app.d.ts.map +1 -1
- package/lib/subcommands/app/app.js +62 -60
- package/lib/subcommands/app/app.js.map +1 -1
- package/lib/subcommands/app/index.js +2 -2
- package/lib/subcommands/device/clean.d.ts +2 -0
- package/lib/subcommands/device/clean.d.ts.map +1 -0
- package/lib/subcommands/device/clean.js +29 -0
- package/lib/subcommands/device/clean.js.map +1 -0
- package/lib/subcommands/device/device.d.ts.map +1 -1
- package/lib/subcommands/device/device.js +40 -27
- package/lib/subcommands/device/device.js.map +1 -1
- package/lib/subcommands/device/index.d.ts.map +1 -1
- package/lib/subcommands/device/index.js +2 -1
- package/lib/subcommands/device/index.js.map +1 -1
- package/lib/subcommands/get-model-package.js +5 -5
- package/lib/subcommands/index.js +1 -1
- package/lib/subcommands/login.js +8 -8
- package/lib/subcommands/login.js.map +1 -1
- package/lib/util/clean-certs.d.ts +2 -0
- package/lib/util/clean-certs.d.ts.map +1 -0
- package/lib/util/clean-certs.js +16 -0
- package/lib/util/clean-certs.js.map +1 -0
- package/lib/util/directories.d.ts +16 -15
- package/lib/util/directories.d.ts.map +1 -1
- package/lib/util/directories.js +45 -26
- package/lib/util/directories.js.map +1 -1
- package/lib/util/get-device-id.d.ts +1 -1
- package/lib/util/get-device-id.d.ts.map +1 -1
- package/lib/util/get-device-id.js +14 -19
- package/lib/util/get-device-id.js.map +1 -1
- package/lib/util/http-client.d.ts +1 -1
- package/lib/util/http-client.d.ts.map +1 -1
- package/lib/util/http-client.js +10 -8
- package/lib/util/http-client.js.map +1 -1
- package/lib/util/logger.d.ts.map +1 -1
- package/lib/util/logger.js +4 -5
- package/lib/util/logger.js.map +1 -1
- package/lib/util/run-in-dir.d.ts.map +1 -1
- package/lib/util/run-in-dir.js +1 -0
- package/lib/util/run-in-dir.js.map +1 -1
- package/package.json +17 -8
- package/src/application-control/backup.ts +8 -3
- package/src/application-control/config.ts +75 -13
- package/src/application-control/environment-variables.ts +3 -3
- package/src/application-control/index.ts +19 -6
- package/src/application-control/install.ts +52 -28
- package/src/application-control/models.ts +100 -56
- package/src/application-control/status.ts +26 -21
- package/src/application-control/utils.ts +9 -20
- package/src/cloud-connection/app-install-status.ts +62 -0
- package/src/cloud-connection/bootstrap-provision.ts +40 -0
- package/src/cloud-connection/device-agent-cloud-connection.ts +257 -528
- package/src/cloud-connection/device-agent.ts +31 -38
- package/src/cloud-connection/live-updates-handler.ts +226 -0
- package/src/cloud-connection/messages.ts +39 -0
- package/src/cloud-connection/publisher.ts +65 -0
- package/src/cloud-connection/shadow-handler.ts +154 -0
- package/src/cloud-connection/shadow.ts +50 -0
- package/src/device-control/device-control.ts +1 -0
- package/src/docker/docker-cmd.ts +1 -1
- package/src/docker/docker-compose-cmd.ts +5 -2
- package/src/endpoints.ts +9 -9
- package/src/environment.ts +8 -3
- package/src/infrastructure/agent-config.test.ts +34 -23
- package/src/infrastructure/agent-config.ts +33 -20
- package/src/infrastructure/system-id.ts +18 -0
- package/src/infrastructure/tokens-and-device-cfg.ts +39 -0
- package/src/infrastructure/urls.ts +4 -2
- package/src/root.ts +2 -8
- package/src/subcommands/app/app.ts +64 -62
- package/src/subcommands/app/index.ts +3 -3
- package/src/subcommands/device/clean.ts +26 -0
- package/src/subcommands/device/device.ts +66 -50
- package/src/subcommands/device/index.ts +2 -1
- package/src/subcommands/get-model-package.ts +5 -5
- package/src/subcommands/index.ts +1 -1
- package/src/subcommands/login.ts +8 -8
- package/src/util/clean-certs.ts +12 -0
- package/src/util/directories.ts +68 -52
- package/src/util/get-device-id.ts +16 -18
- package/src/util/http-client.ts +18 -13
- package/src/util/logger.ts +6 -6
- package/src/util/run-in-dir.ts +2 -1
- package/lib/infrastructure/certificates-and-tokens.d.ts +0 -6
- package/lib/infrastructure/certificates-and-tokens.d.ts.map +0 -1
- package/lib/infrastructure/certificates-and-tokens.js +0 -43
- package/lib/infrastructure/certificates-and-tokens.js.map +0 -1
- 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
3
|
exports.updateModelsWithPresignedUrls = exports.installModelsWithPresignedURLs = exports.updateModels = exports.replaceModels = exports.removeModel = exports.addModel = exports.getAppModels = void 0;
|
|
4
|
-
const
|
|
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 }))) {
|
|
@@ -41,7 +44,7 @@ async function addModel(props) {
|
|
|
41
44
|
yes: false,
|
|
42
45
|
dir: appDir,
|
|
43
46
|
id: modelId,
|
|
44
|
-
addToProject: false
|
|
47
|
+
addToProject: false
|
|
45
48
|
});
|
|
46
49
|
await (0, utils_1.buildApp)({ appDir });
|
|
47
50
|
}
|
|
@@ -54,8 +57,8 @@ async function removeModel(props) {
|
|
|
54
57
|
{
|
|
55
58
|
id: modelId,
|
|
56
59
|
purge: true,
|
|
57
|
-
removeFromProject: false
|
|
58
|
-
}
|
|
60
|
+
removeFromProject: false
|
|
61
|
+
}
|
|
59
62
|
], appDir);
|
|
60
63
|
}
|
|
61
64
|
exports.removeModel = removeModel;
|
|
@@ -66,15 +69,15 @@ async function replaceModels(props) {
|
|
|
66
69
|
await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveAllComponent, [
|
|
67
70
|
{
|
|
68
71
|
purge: true,
|
|
69
|
-
removeFromProject: false
|
|
70
|
-
}
|
|
72
|
+
removeFromProject: false
|
|
73
|
+
}
|
|
71
74
|
], appDir);
|
|
72
75
|
for (const modelId of modelIds) {
|
|
73
76
|
await (0, app_1.appModelsAddComponent)({
|
|
74
77
|
yes: false,
|
|
75
78
|
dir: appDir,
|
|
76
79
|
id: modelId,
|
|
77
|
-
addToProject: false
|
|
80
|
+
addToProject: false
|
|
78
81
|
});
|
|
79
82
|
}
|
|
80
83
|
await (0, utils_1.buildApp)({ appDir });
|
|
@@ -86,68 +89,95 @@ async function updateModels(props) {
|
|
|
86
89
|
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
87
90
|
await (0, app_1.appModelsUpdateComponent)({
|
|
88
91
|
yes: false,
|
|
89
|
-
dir: appDir
|
|
92
|
+
dir: appDir
|
|
90
93
|
});
|
|
91
94
|
await (0, utils_1.buildApp)({ appDir });
|
|
92
95
|
}
|
|
93
96
|
exports.updateModels = updateModels;
|
|
94
97
|
async function installModelsWithPresignedURLs(modelPayloads, targetDir) {
|
|
95
98
|
const spawner = (0, util_1.JsSpawner)();
|
|
99
|
+
await spawner.mkdirp(targetDir);
|
|
96
100
|
await Promise.all(modelPayloads.map(async (payload) => {
|
|
101
|
+
logger_1.logger.info(`Installing ${payload.id}: ${payload.version}`);
|
|
102
|
+
const version = payload.version;
|
|
97
103
|
const modelDest = `${targetDir}/${payload.id}`;
|
|
98
104
|
await spawner.mkdirp(modelDest);
|
|
99
105
|
const localDest = `${modelDest}/${payload.version}.tar.gz`;
|
|
100
106
|
await (0, utils_1.downloadPackageUsingPresignedUrl)({
|
|
101
107
|
localDest,
|
|
102
|
-
presignedUrl: payload.modelSignedUrl
|
|
108
|
+
presignedUrl: payload.modelSignedUrl
|
|
103
109
|
});
|
|
104
110
|
await spawner.untar((0, fs_1.createReadStream)(localDest), (0, path_1.dirname)(modelDest));
|
|
111
|
+
await updateModelJson(modelDest, (modelJson) => (Object.assign(Object.assign({}, modelJson), { version })));
|
|
105
112
|
await spawner.rimraf(localDest);
|
|
106
113
|
}));
|
|
114
|
+
async function readModelJson(dir) {
|
|
115
|
+
const filePath = spawner.resolvePath(dir, model_1.MODEL_JSON_FILE_NAME);
|
|
116
|
+
const output = await spawner.readFile(filePath);
|
|
117
|
+
const parsed = JSON.parse(output);
|
|
118
|
+
return parsed;
|
|
119
|
+
}
|
|
120
|
+
async function updateModelJson(dir, updater) {
|
|
121
|
+
const parsed = await readModelJson(dir);
|
|
122
|
+
const updated = updater(parsed);
|
|
123
|
+
const filePath = spawner.resolvePath(dir, model_1.MODEL_JSON_FILE_NAME);
|
|
124
|
+
const serialized = JSON.stringify(updated, null, 2);
|
|
125
|
+
await spawner.writeFile(filePath, serialized);
|
|
126
|
+
}
|
|
107
127
|
}
|
|
108
128
|
exports.installModelsWithPresignedURLs = installModelsWithPresignedURLs;
|
|
109
|
-
async function updateModelsWithPresignedUrls(
|
|
110
|
-
|
|
129
|
+
async function updateModelsWithPresignedUrls(props) {
|
|
130
|
+
const { projectId, modelInstallPayloads, appReleaseHash, newAppCfg } = props;
|
|
131
|
+
logger_1.logger.info(`Installing models for ${projectId}`);
|
|
111
132
|
const spawner = (0, util_1.JsSpawner)();
|
|
112
|
-
const appDir = (0, utils_1.getAppDir)(
|
|
113
|
-
|
|
114
|
-
|
|
133
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
134
|
+
if (await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId })) {
|
|
135
|
+
if (!(await (0, agent_config_1.AgentConfigFile)().isAppReady({ projectId }))) {
|
|
136
|
+
throw new Error('Application already has installation in progress!');
|
|
137
|
+
}
|
|
138
|
+
logger_1.logger.info('Updating installed application');
|
|
139
|
+
await (0, agent_config_1.AgentConfigFile)().setAppInstalling({
|
|
140
|
+
projectId,
|
|
141
|
+
version: appReleaseHash
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
throw new Error('Application is not installed!');
|
|
146
|
+
}
|
|
147
|
+
const ogAppCfg = await (0, config_1.readAppCfgFile)({ projectId });
|
|
148
|
+
const ogDir = path.join(appDir, constants_1.APP_MODELS_DIRECTORY_NAME);
|
|
149
|
+
// Copy all current models to restore dir in case of failure
|
|
115
150
|
const restoreDir = `${ogDir}.restore`;
|
|
151
|
+
await spawner.rimraf(restoreDir);
|
|
116
152
|
await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: restoreDir });
|
|
117
|
-
|
|
153
|
+
// Create temp dir to install new models
|
|
154
|
+
const tmpDir = `${ogDir}.tmp`;
|
|
118
155
|
try {
|
|
119
|
-
|
|
120
|
-
|
|
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
|
|
156
|
+
await spawner.rimraf(tmpDir);
|
|
157
|
+
await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: tmpDir });
|
|
133
158
|
await installModelsWithPresignedURLs(modelInstallPayloads, tmpDir);
|
|
159
|
+
// TODO: Purge outdated models
|
|
134
160
|
await spawner.rimraf(ogDir);
|
|
135
161
|
await (0, copy_dir_1.copyDir)({ srcPath: tmpDir, destPath: ogDir });
|
|
136
162
|
await spawner.rimraf(tmpDir);
|
|
137
|
-
await (0,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
logger_1.logger.info(`Models installed for project ${
|
|
163
|
+
await (0, config_1.writeAppCfgFile)({ projectId, appCfg: newAppCfg });
|
|
164
|
+
await (0, utils_1.buildApp)({ appDir });
|
|
165
|
+
await (0, agent_config_1.AgentConfigFile)().setAppInstalled({
|
|
166
|
+
projectId,
|
|
167
|
+
version: appReleaseHash
|
|
168
|
+
});
|
|
169
|
+
await (0, status_1.restartApp)({ projectId });
|
|
170
|
+
logger_1.logger.info(`Models installed for project ${projectId}`);
|
|
145
171
|
}
|
|
146
172
|
catch (e) {
|
|
147
|
-
logger_1.logger.error(
|
|
148
|
-
await spawner.rimraf(tmpDir);
|
|
173
|
+
logger_1.logger.error('Error updating app models from presigned URL, restoring models.', e);
|
|
149
174
|
await spawner.rimraf(ogDir);
|
|
150
175
|
await (0, copy_dir_1.copyDir)({ srcPath: restoreDir, destPath: ogDir });
|
|
176
|
+
await (0, config_1.writeAppCfgFile)({ projectId, appCfg: ogAppCfg });
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
await spawner.rimraf(tmpDir);
|
|
180
|
+
await spawner.rimraf(restoreDir);
|
|
151
181
|
}
|
|
152
182
|
}
|
|
153
183
|
exports.updateModelsWithPresignedUrls = updateModelsWithPresignedUrls;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,CAoBzE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
|
|
@@ -31,7 +31,7 @@ async function getAppStatus(props) {
|
|
|
31
31
|
}
|
|
32
32
|
const appDetails = {
|
|
33
33
|
projectId,
|
|
34
|
-
version: await (0, agent_config_1.AgentConfigFile)().getAppVersion({ projectId })
|
|
34
|
+
version: await (0, agent_config_1.AgentConfigFile)().getAppVersion({ projectId })
|
|
35
35
|
};
|
|
36
36
|
if (!(await (0, agent_config_1.AgentConfigFile)().isAppReady({ projectId }))) {
|
|
37
37
|
// App is being installed or updated
|
|
@@ -51,7 +51,7 @@ async function getAppStatus(props) {
|
|
|
51
51
|
const containerId = await spawner.run({
|
|
52
52
|
exe: 'docker-compose',
|
|
53
53
|
cwd: appDir,
|
|
54
|
-
args: ['ps', '-q', name]
|
|
54
|
+
args: ['ps', '-q', name]
|
|
55
55
|
});
|
|
56
56
|
if (containerId === '') {
|
|
57
57
|
// The service was not yet started or failed to start
|
|
@@ -60,7 +60,7 @@ async function getAppStatus(props) {
|
|
|
60
60
|
else {
|
|
61
61
|
const slashContainerName = await spawner.run({
|
|
62
62
|
exe: 'docker',
|
|
63
|
-
args: ['inspect', '-f', '{{.Name}}', containerId]
|
|
63
|
+
args: ['inspect', '-f', '{{.Name}}', containerId]
|
|
64
64
|
});
|
|
65
65
|
const containerName = slashContainerName.substring(1);
|
|
66
66
|
let foundContainer = false;
|
|
@@ -108,7 +108,7 @@ async function getAppLogs(props) {
|
|
|
108
108
|
return await (0, util_1.JsSpawner)().runStreaming({
|
|
109
109
|
exe: 'docker-compose',
|
|
110
110
|
args: ['logs', '-f', ...argsList, ...serviceList],
|
|
111
|
-
cwd: appDir
|
|
111
|
+
cwd: appDir
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
exports.getAppLogs = getAppLogs;
|
|
@@ -118,30 +118,34 @@ async function startApp(props) {
|
|
|
118
118
|
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
119
119
|
if (dockerLoginToken !== undefined) {
|
|
120
120
|
const result = await (0, docker_cmd_1.runDockerLogin)({ token: dockerLoginToken });
|
|
121
|
-
logger_1.logger.
|
|
121
|
+
logger_1.logger.debug(`docker login: ${result}`);
|
|
122
122
|
}
|
|
123
123
|
// TODO: Check if app is running
|
|
124
124
|
// Start app
|
|
125
125
|
const upOut = await docker_compose_1.default.upAll({ cwd: appDir });
|
|
126
|
-
logger_1.logger.
|
|
126
|
+
logger_1.logger.debug(`docker-compose up: ${JSON.stringify(upOut, null, 2)}`);
|
|
127
127
|
if (upOut.exitCode !== 0) {
|
|
128
128
|
throw new Error(`Failed to start application! stdout=${upOut.out} stderr=${upOut.err}`);
|
|
129
129
|
}
|
|
130
|
-
logger_1.logger.info(
|
|
130
|
+
logger_1.logger.info(`Started ${projectId}`);
|
|
131
131
|
}
|
|
132
132
|
exports.startApp = startApp;
|
|
133
133
|
async function stopApp(props) {
|
|
134
134
|
const { projectId } = props;
|
|
135
135
|
await (0, utils_1.requireAppInstalled)({ projectId });
|
|
136
136
|
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
const appStatus = await getAppStatus({ projectId });
|
|
138
|
+
const appIsRunning = appStatus.services.length &&
|
|
139
|
+
appStatus.services[0].state !== device_agent_schemas_1.keyMirrors.appState.stopped;
|
|
140
|
+
if (appIsRunning) {
|
|
141
|
+
// Stop app
|
|
142
|
+
const output = await docker_compose_1.default.down({ cwd: appDir });
|
|
143
|
+
logger_1.logger.debug(`docker-compose down: ${JSON.stringify(output, null, 2)}`);
|
|
144
|
+
if (output.exitCode !== 0) {
|
|
145
|
+
throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
|
|
146
|
+
}
|
|
147
|
+
logger_1.logger.info(`Stopped ${projectId}`);
|
|
143
148
|
}
|
|
144
|
-
logger_1.logger.info('Stopped', projectId);
|
|
145
149
|
}
|
|
146
150
|
exports.stopApp = stopApp;
|
|
147
151
|
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,4 +1,3 @@
|
|
|
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;
|
|
@@ -10,5 +9,4 @@ export declare function downloadPackageUsingPresignedUrl(props: {
|
|
|
10
9
|
localDest: string;
|
|
11
10
|
presignedUrl: string;
|
|
12
11
|
}): Promise<void>;
|
|
13
|
-
export declare function getAppConfig(project: string): Promise<any>;
|
|
14
12
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAaA,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAaA,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.downloadPackageUsingPresignedUrl = exports.buildApp = 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");
|
|
@@ -10,11 +10,10 @@ const node_fetch_1 = require("node-fetch");
|
|
|
10
10
|
const app_1 = require("alwaysai/lib/core/app");
|
|
11
11
|
const app_2 = require("alwaysai/lib/components/app");
|
|
12
12
|
const run_in_dir_1 = require("../util/run-in-dir");
|
|
13
|
-
const util_1 = require("alwaysai/lib/util");
|
|
14
13
|
const logger_1 = require("../util/logger");
|
|
15
|
-
|
|
14
|
+
const directories_1 = require("../util/directories");
|
|
16
15
|
function getAppDir(projectId) {
|
|
17
|
-
return path.join(
|
|
16
|
+
return path.join(directories_1.APP_ROOT, projectId);
|
|
18
17
|
}
|
|
19
18
|
exports.getAppDir = getAppDir;
|
|
20
19
|
async function requireAppInstalled(props) {
|
|
@@ -43,19 +42,19 @@ async function buildApp(props) {
|
|
|
43
42
|
logs: false,
|
|
44
43
|
stop: false,
|
|
45
44
|
targetJson,
|
|
46
|
-
targetConfig
|
|
47
|
-
}
|
|
45
|
+
targetConfig
|
|
46
|
+
}
|
|
48
47
|
], appDir);
|
|
49
48
|
const buildOut = await docker_compose_1.default.buildAll({ cwd: appDir });
|
|
50
|
-
logger_1.logger.
|
|
49
|
+
logger_1.logger.debug(`docker-compose build: ${JSON.stringify(buildOut, null, 2)}`);
|
|
51
50
|
if (buildOut.exitCode !== 0) {
|
|
52
51
|
throw new Error(`Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`);
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
exports.buildApp = buildApp;
|
|
56
55
|
async function downloadPackageUsingPresignedUrl(props) {
|
|
57
|
-
logger_1.logger.info('downloading URL');
|
|
58
56
|
const { localDest, presignedUrl } = props;
|
|
57
|
+
logger_1.logger.info(`Downloading app package from ${presignedUrl}`);
|
|
59
58
|
const response = await (0, node_fetch_1.default)(presignedUrl);
|
|
60
59
|
if (response.status !== 200) {
|
|
61
60
|
// If the URL is invalid; I think we shouldn't get here with the new changes
|
|
@@ -71,12 +70,4 @@ async function downloadPackageUsingPresignedUrl(props) {
|
|
|
71
70
|
});
|
|
72
71
|
}
|
|
73
72
|
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
73
|
//# 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,
|
|
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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppInstallStatusManager = exports.AppInstallStatus = void 0;
|
|
4
|
+
class AppInstallStatus {
|
|
5
|
+
constructor(appReleaseHash, status, message) {
|
|
6
|
+
this.appReleaseHash = appReleaseHash;
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.message = message;
|
|
9
|
+
}
|
|
10
|
+
getAppReleaseHash() {
|
|
11
|
+
return this.appReleaseHash;
|
|
12
|
+
}
|
|
13
|
+
update(status, message) {
|
|
14
|
+
this.status = status;
|
|
15
|
+
this.message = message;
|
|
16
|
+
}
|
|
17
|
+
getStatusPacket() {
|
|
18
|
+
return {
|
|
19
|
+
status: this.status,
|
|
20
|
+
message: this.message,
|
|
21
|
+
appReleaseHash: this.appReleaseHash
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.AppInstallStatus = AppInstallStatus;
|
|
26
|
+
class AppInstallStatusManager {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.appList = [];
|
|
29
|
+
}
|
|
30
|
+
update(appReleaseHash, status, message) {
|
|
31
|
+
// Update status if existing
|
|
32
|
+
// TODO: Reimplement this as a map
|
|
33
|
+
for (const app of this.appList) {
|
|
34
|
+
if (app.getAppReleaseHash() === appReleaseHash) {
|
|
35
|
+
app.update(status, message);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// App was not found, so add to list
|
|
40
|
+
const appInstallStatus = new AppInstallStatus(appReleaseHash, status, message);
|
|
41
|
+
this.appList.push(appInstallStatus);
|
|
42
|
+
}
|
|
43
|
+
getStatusPacket(appReleaseHash) {
|
|
44
|
+
for (const app of this.appList) {
|
|
45
|
+
if (app.getAppReleaseHash() === appReleaseHash) {
|
|
46
|
+
return app.getStatusPacket();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`No status for ${appReleaseHash}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.AppInstallStatusManager = AppInstallStatusManager;
|
|
53
|
+
//# sourceMappingURL=app-install-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-install-status.js","sourceRoot":"","sources":["../../src/cloud-connection/app-install-status.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IAK3B,YAAY,cAAc,EAAE,MAAM,EAAE,OAAQ;QAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,MAAM,EAAE,OAAQ;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,eAAe;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;CACF;AA3BD,4CA2BC;AAED,MAAa,uBAAuB;IAApC;QACU,YAAO,GAAuB,EAAE,CAAC;IA4B3C,CAAC;IA1BQ,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,OAAQ;QAC5C,4BAA4B;QAC5B,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,CAAC,iBAAiB,EAAE,KAAK,cAAc,EAAE;gBAC9C,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5B,OAAO;aACR;SACF;QACD,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,cAAc,EACd,MAAM,EACN,OAAO,CACR,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAEM,eAAe,CAAC,cAAc;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,CAAC,iBAAiB,EAAE,KAAK,cAAc,EAAE;gBAC9C,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC;aAC9B;SACF;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AA7BD,0DA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-provision.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,SA4BjC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bootstrapProvision = void 0;
|
|
4
|
+
const util_1 = require("alwaysai/lib/util");
|
|
5
|
+
const urls_1 = require("../infrastructure/urls");
|
|
6
|
+
const clean_certs_1 = require("../util/clean-certs");
|
|
7
|
+
const directories_1 = require("../util/directories");
|
|
8
|
+
const get_device_id_1 = require("../util/get-device-id");
|
|
9
|
+
const device_agent_1 = require("./device-agent");
|
|
10
|
+
function bootstrapProvision() {
|
|
11
|
+
setTimeout(clean_certs_1.rmBootstrapCertsAndClose, 60000);
|
|
12
|
+
const clientId = (0, get_device_id_1.getDeviceUuid)();
|
|
13
|
+
const bootstrapConfig = {
|
|
14
|
+
keyPath: (0, directories_1.BOOTSTRAP_DEVICE_PRIVATE_KEY_FILE_PATH)(),
|
|
15
|
+
certPath: (0, directories_1.BOOTSTRAP_DEVICE_CERTIFICATE_FILE_PATH)(),
|
|
16
|
+
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
|
|
17
|
+
clientId,
|
|
18
|
+
host: (0, urls_1.getIoTCoreEndpointUrl)()
|
|
19
|
+
};
|
|
20
|
+
const bootstrapAgent = new device_agent_1.BootstrapAgent(bootstrapConfig);
|
|
21
|
+
bootstrapAgent.subscribeToAllTopics();
|
|
22
|
+
bootstrapAgent.publishMessage('$aws/certificates/create/json', '');
|
|
23
|
+
bootstrapAgent.device.on('connect', () => {
|
|
24
|
+
util_1.logger.info('Your device is being provisioned');
|
|
25
|
+
});
|
|
26
|
+
bootstrapAgent.device.on('message', (topic, payload) => {
|
|
27
|
+
bootstrapAgent.handleAwsCertificateTopics(topic, payload);
|
|
28
|
+
});
|
|
29
|
+
bootstrapAgent.device.on('packetsend', (packet) => {
|
|
30
|
+
util_1.logger.debug(`Sending packet: ${JSON.stringify({ packet }, null, 2)}`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
exports.bootstrapProvision = bootstrapProvision;
|
|
34
|
+
//# sourceMappingURL=bootstrap-provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-provision.js","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,iDAA+D;AAC/D,qDAA+D;AAC/D,qDAI6B;AAC7B,yDAAsD;AACtD,iDAAgD;AAEhD,SAAgB,kBAAkB;IAChC,UAAU,CAAC,sCAAwB,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,IAAA,oDAAsC,GAAE;QACjD,QAAQ,EAAE,IAAA,oDAAsC,GAAE;QAClD,MAAM,EAAE,4CAA8B;QACtC,QAAQ;QACR,IAAI,EAAE,IAAA,4BAAqB,GAAE;KAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC,eAAe,CAAC,CAAC;IAC3D,cAAc,CAAC,oBAAoB,EAAE,CAAC;IAEtC,cAAc,CAAC,cAAc,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAEnE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACvC,aAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;QACrE,cAAc,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;QACrD,aAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,gDA4BC"}
|
|
@@ -1,51 +1,29 @@
|
|
|
1
|
-
import { ClientMessage } from
|
|
1
|
+
import { ClientMessage } from '@alwaysai/device-agent-schemas';
|
|
2
2
|
export declare class DeviceAgentCloudConnection {
|
|
3
|
+
private shadowHandler;
|
|
4
|
+
private publisher;
|
|
5
|
+
private liveUpdatesHandler;
|
|
6
|
+
private appInstallStatusMgr;
|
|
7
|
+
private device;
|
|
3
8
|
private clientId;
|
|
4
9
|
private host;
|
|
5
|
-
private appInstallStatus;
|
|
6
|
-
private liveUpdatesTimeout;
|
|
7
|
-
private liveUpdatesAlive;
|
|
8
|
-
private liveUpdatesSleepIntervals;
|
|
9
|
-
private appLogStreams;
|
|
10
|
-
private readonly shadowPrefix;
|
|
11
|
-
private readonly shadowTopics;
|
|
12
|
-
private readonly toCloudTopic;
|
|
13
|
-
private readonly toClientTopic;
|
|
14
10
|
private readonly toDeviceTopic;
|
|
15
|
-
|
|
16
|
-
private handleNamedShadowUpdate;
|
|
17
|
-
private startAppLogStream;
|
|
18
|
-
private initAppInstallStatus;
|
|
19
|
-
private updateAppInstallStatus;
|
|
20
|
-
private getAppInstallStatus;
|
|
21
|
-
private buildMessagePacket;
|
|
22
|
-
private getAppStateMessage;
|
|
23
|
-
private getDeviceStatsMessage;
|
|
24
|
-
private getAppInstallStatusMessage;
|
|
25
|
-
private startPublishingLiveUpdates;
|
|
26
|
-
private continuePublishing;
|
|
27
|
-
private getLiveUpdatesInterval;
|
|
28
|
-
private setLiveUpdates;
|
|
11
|
+
private newAppCfgQueue;
|
|
29
12
|
private handleAppStateControl;
|
|
30
13
|
private handleAppVersionControl;
|
|
31
14
|
private handleDeviceCommand;
|
|
32
15
|
private handleAgentCommand;
|
|
33
|
-
private restartLiveUpdatesTimeout;
|
|
34
|
-
private liveUpdatesBroker;
|
|
35
|
-
private publishReportedState;
|
|
36
16
|
private publishCloudRequest;
|
|
37
|
-
|
|
17
|
+
private subscribe;
|
|
18
|
+
private atomicApplicationUpdate;
|
|
19
|
+
private handleAppConfigUpdates;
|
|
38
20
|
constructor();
|
|
39
21
|
getClientId(): string;
|
|
40
|
-
|
|
41
|
-
handleClientMessage({ topic, message, }: {
|
|
22
|
+
handleClientMessage({ topic, message }: {
|
|
42
23
|
topic: string;
|
|
43
24
|
message: ClientMessage;
|
|
44
25
|
}): Promise<void>;
|
|
45
|
-
|
|
46
|
-
topic: string;
|
|
47
|
-
payload: string;
|
|
48
|
-
}): Promise<void>;
|
|
26
|
+
setupHandlers(): Promise<void>;
|
|
49
27
|
}
|
|
50
28
|
export declare function runDeviceAgentCloudInterface(): Promise<void>;
|
|
51
29
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAoBxC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,kBAAkB;YAYZ,mBAAmB;IAIjC,OAAO,CAAC,SAAS;YAMH,uBAAuB;YAkDvB,sBAAsB;;IAmE7B,WAAW,IAAI,MAAM;IAIf,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB;IA2EY,aAAa;CAoE3B;AAED,wBAAsB,4BAA4B,kBAgBjD"}
|