@alwaysai/device-agent 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application-control/config.d.ts.map +1 -1
- package/lib/application-control/config.js +10 -5
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/environment-variables.d.ts +1 -5
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js +9 -26
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/environment-variables.test.js +27 -7
- package/lib/application-control/environment-variables.test.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 +1 -4
- 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 +9 -7
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts +5 -11
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +27 -64
- 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 +10 -12
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts +0 -4
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +3 -26
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/bootstrap-provision.js +3 -2
- package/lib/cloud-connection/bootstrap-provision.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +11 -16
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +295 -246
- 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 +11 -9
- package/lib/cloud-connection/device-agent.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +18 -27
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +58 -170
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.test.js +76 -54
- package/lib/cloud-connection/live-updates-handler.test.js.map +1 -1
- package/lib/cloud-connection/passthrough-handler.d.ts +9 -4
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
- package/lib/cloud-connection/passthrough-handler.js +95 -62
- package/lib/cloud-connection/passthrough-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.d.ts +5 -1
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +63 -31
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.test.js +45 -57
- package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
- package/lib/cloud-connection/shadow.d.ts.map +1 -1
- package/lib/cloud-connection/shadow.js +2 -1
- package/lib/cloud-connection/shadow.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.d.ts +7 -2
- package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
- package/lib/cloud-connection/transaction-manager.js +29 -29
- package/lib/cloud-connection/transaction-manager.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.test.js +105 -3
- package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
- package/lib/device-control/device-control.d.ts +14 -6
- package/lib/device-control/device-control.d.ts.map +1 -1
- package/lib/device-control/device-control.js +172 -72
- package/lib/device-control/device-control.js.map +1 -1
- package/lib/docker/docker-compose.d.ts +14 -0
- package/lib/docker/docker-compose.d.ts.map +1 -0
- package/lib/docker/docker-compose.js +57 -0
- package/lib/docker/docker-compose.js.map +1 -0
- package/lib/index.js +2 -5
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +46 -14
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/infrastructure/agent-config.js +36 -21
- package/lib/infrastructure/agent-config.js.map +1 -1
- package/lib/infrastructure/agent-config.test.js +6 -1
- package/lib/infrastructure/agent-config.test.js.map +1 -1
- package/lib/infrastructure/config-check-utility.d.ts +6 -0
- package/lib/infrastructure/config-check-utility.d.ts.map +1 -0
- package/lib/infrastructure/config-check-utility.js +67 -0
- package/lib/infrastructure/config-check-utility.js.map +1 -0
- package/lib/infrastructure/config-check-utility.test.d.ts +2 -0
- package/lib/infrastructure/config-check-utility.test.d.ts.map +1 -0
- package/lib/infrastructure/config-check-utility.test.js +109 -0
- package/lib/infrastructure/config-check-utility.test.js.map +1 -0
- package/lib/infrastructure/device-certificate.d.ts +10 -0
- package/lib/infrastructure/device-certificate.d.ts.map +1 -0
- package/lib/infrastructure/device-certificate.js +47 -0
- package/lib/infrastructure/device-certificate.js.map +1 -0
- package/lib/infrastructure/device-certificate.test.d.ts +2 -0
- package/lib/infrastructure/device-certificate.test.d.ts.map +1 -0
- package/lib/infrastructure/device-certificate.test.js +24 -0
- package/lib/infrastructure/device-certificate.test.js.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts +2 -0
- package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-file.test.js +61 -0
- package/lib/infrastructure/legacy-migration/legacy-file.test.js.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-files.d.ts +75 -0
- package/lib/infrastructure/legacy-migration/legacy-files.d.ts.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-files.js +75 -0
- package/lib/infrastructure/legacy-migration/legacy-files.js.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.d.ts +6 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.js +149 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts +2 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts.map +1 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.test.js +226 -0
- package/lib/infrastructure/legacy-migration/legacy-migration.test.js.map +1 -0
- package/lib/infrastructure/require-files-present-ready.test.d.ts +2 -0
- package/lib/infrastructure/require-files-present-ready.test.d.ts.map +1 -0
- package/lib/infrastructure/require-files-present-ready.test.js +44 -0
- package/lib/infrastructure/require-files-present-ready.test.js.map +1 -0
- package/lib/infrastructure/required-config-checks.d.ts +2 -0
- package/lib/infrastructure/required-config-checks.d.ts.map +1 -0
- package/lib/infrastructure/required-config-checks.js +30 -0
- package/lib/infrastructure/required-config-checks.js.map +1 -0
- package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -1
- package/lib/infrastructure/tokens-and-device-cfg.js +11 -8
- package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -1
- package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -1
- package/lib/local-connection/rabbitmq-connection.js +21 -21
- package/lib/local-connection/rabbitmq-connection.js.map +1 -1
- package/lib/secure-tunneling/secure-tunneling.d.ts +15 -23
- package/lib/secure-tunneling/secure-tunneling.d.ts.map +1 -1
- package/lib/secure-tunneling/secure-tunneling.js +52 -47
- package/lib/secure-tunneling/secure-tunneling.js.map +1 -1
- package/lib/secure-tunneling/secure-tunneling.test.js +29 -31
- package/lib/secure-tunneling/secure-tunneling.test.js.map +1 -1
- package/lib/subcommands/app/analytics.d.ts.map +1 -1
- package/lib/subcommands/app/analytics.js +1 -2
- package/lib/subcommands/app/analytics.js.map +1 -1
- package/lib/subcommands/app/env-vars.d.ts +4 -0
- package/lib/subcommands/app/env-vars.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.js +52 -6
- package/lib/subcommands/app/env-vars.js.map +1 -1
- package/lib/subcommands/app/index.d.ts.map +1 -1
- package/lib/subcommands/app/index.js +1 -3
- package/lib/subcommands/app/index.js.map +1 -1
- package/lib/subcommands/app/models.d.ts +0 -11
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +2 -58
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/shadow.d.ts.map +1 -1
- package/lib/subcommands/app/shadow.js +6 -5
- package/lib/subcommands/app/shadow.js.map +1 -1
- package/lib/subcommands/app/version.d.ts.map +1 -1
- package/lib/subcommands/app/version.js +2 -4
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/subcommands/config.d.ts +2 -0
- package/lib/subcommands/config.d.ts.map +1 -0
- package/lib/subcommands/config.js +39 -0
- package/lib/subcommands/config.js.map +1 -0
- package/lib/subcommands/device/clean.d.ts +1 -1
- package/lib/subcommands/device/clean.d.ts.map +1 -1
- package/lib/subcommands/device/clean.js +25 -15
- package/lib/subcommands/device/clean.js.map +1 -1
- package/lib/subcommands/device/get-info.d.ts +2 -0
- package/lib/subcommands/device/get-info.d.ts.map +1 -0
- package/lib/subcommands/device/get-info.js +36 -0
- package/lib/subcommands/device/get-info.js.map +1 -0
- package/lib/subcommands/device/index.d.ts.map +1 -1
- package/lib/subcommands/device/index.js +13 -2
- package/lib/subcommands/device/index.js.map +1 -1
- package/lib/subcommands/device/init.d.ts +5 -0
- package/lib/subcommands/device/init.d.ts.map +1 -0
- package/lib/subcommands/device/{device.js → init.js} +10 -49
- package/lib/subcommands/device/init.js.map +1 -0
- package/lib/subcommands/device/migrate.d.ts +2 -0
- package/lib/subcommands/device/migrate.d.ts.map +1 -0
- package/lib/subcommands/device/migrate.js +24 -0
- package/lib/subcommands/device/migrate.js.map +1 -0
- package/lib/subcommands/device/refresh.d.ts +2 -0
- package/lib/subcommands/device/refresh.d.ts.map +1 -0
- package/lib/subcommands/device/refresh.js +25 -0
- package/lib/subcommands/device/refresh.js.map +1 -0
- package/lib/subcommands/device/restart.d.ts +2 -0
- package/lib/subcommands/device/restart.d.ts.map +1 -0
- package/lib/subcommands/device/restart.js +14 -0
- package/lib/subcommands/device/restart.js.map +1 -0
- package/lib/subcommands/index.d.ts +1 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/index.js +3 -1
- package/lib/subcommands/index.js.map +1 -1
- package/lib/subcommands/rabbitmq-connection.d.ts +1 -1
- package/lib/subcommands/rabbitmq-connection.d.ts.map +1 -1
- package/lib/util/aai-error.d.ts +12 -0
- package/lib/util/aai-error.d.ts.map +1 -0
- package/lib/util/aai-error.js +11 -0
- package/lib/util/aai-error.js.map +1 -0
- package/lib/util/aws-regions.d.ts +2 -0
- package/lib/util/aws-regions.d.ts.map +1 -0
- package/lib/util/{cloud-mode-ready.js → aws-regions.js} +2 -20
- package/lib/util/aws-regions.js.map +1 -0
- package/lib/util/check-for-updates.d.ts +3 -0
- package/lib/util/check-for-updates.d.ts.map +1 -0
- package/lib/util/check-for-updates.js +46 -0
- package/lib/util/check-for-updates.js.map +1 -0
- package/lib/util/clean-certs.d.ts.map +1 -1
- package/lib/util/clean-certs.js +5 -4
- package/lib/util/clean-certs.js.map +1 -1
- package/lib/util/directories.d.ts +4 -18
- package/lib/util/directories.d.ts.map +1 -1
- package/lib/util/directories.js +18 -32
- package/lib/util/directories.js.map +1 -1
- package/lib/util/file.d.ts +11 -0
- package/lib/util/file.d.ts.map +1 -0
- package/lib/util/file.js +127 -0
- package/lib/util/file.js.map +1 -0
- package/lib/util/file.test.d.ts +2 -0
- package/lib/util/file.test.d.ts.map +1 -0
- package/lib/util/file.test.js +87 -0
- package/lib/util/file.test.js.map +1 -0
- package/lib/util/get-device-id.d.ts.map +1 -1
- package/lib/util/get-device-id.js +7 -1
- package/lib/util/get-device-id.js.map +1 -1
- package/lib/util/http-client.js +3 -3
- package/lib/util/http-client.js.map +1 -1
- package/package.json +22 -19
- package/readme.md +15 -35
- package/src/application-control/config.ts +10 -13
- package/src/application-control/environment-variables.test.ts +28 -7
- package/src/application-control/environment-variables.ts +13 -40
- package/src/application-control/index.ts +3 -16
- package/src/application-control/install.ts +16 -10
- package/src/application-control/models.ts +40 -98
- package/src/application-control/status.ts +9 -7
- package/src/application-control/utils.ts +1 -29
- package/src/cloud-connection/bootstrap-provision.ts +7 -7
- package/src/cloud-connection/device-agent-cloud-connection.ts +647 -509
- package/src/cloud-connection/device-agent.ts +16 -7
- package/src/cloud-connection/live-updates-handler.test.ts +137 -64
- package/src/cloud-connection/live-updates-handler.ts +103 -234
- package/src/cloud-connection/passthrough-handler.ts +134 -75
- package/src/cloud-connection/shadow-handler.test.ts +45 -57
- package/src/cloud-connection/shadow-handler.ts +114 -56
- package/src/cloud-connection/shadow.ts +4 -1
- package/src/cloud-connection/transaction-manager.test.ts +127 -3
- package/src/cloud-connection/transaction-manager.ts +68 -39
- package/src/device-control/device-control.ts +179 -72
- package/src/docker/docker-compose.ts +61 -0
- package/src/index.ts +2 -6
- package/src/infrastructure/agent-config.test.ts +9 -2
- package/src/infrastructure/agent-config.ts +45 -46
- package/src/infrastructure/config-check-utility.test.ts +154 -0
- package/src/infrastructure/config-check-utility.ts +77 -0
- package/src/infrastructure/device-certificate.test.ts +40 -0
- package/src/infrastructure/device-certificate.ts +58 -0
- package/src/infrastructure/legacy-migration/legacy-file.test.ts +88 -0
- package/src/infrastructure/legacy-migration/legacy-files.ts +101 -0
- package/src/infrastructure/legacy-migration/legacy-migration.test.ts +396 -0
- package/src/infrastructure/legacy-migration/legacy-migration.ts +229 -0
- package/src/infrastructure/require-files-present-ready.test.ts +53 -0
- package/src/infrastructure/required-config-checks.ts +33 -0
- package/src/infrastructure/tokens-and-device-cfg.ts +12 -10
- package/src/local-connection/rabbitmq-connection.ts +28 -23
- package/src/secure-tunneling/secure-tunneling.test.ts +37 -39
- package/src/secure-tunneling/secure-tunneling.ts +74 -69
- package/src/subcommands/app/analytics.ts +2 -4
- package/src/subcommands/app/env-vars.ts +72 -9
- package/src/subcommands/app/index.ts +3 -11
- package/src/subcommands/app/models.ts +5 -81
- package/src/subcommands/app/shadow.ts +6 -5
- package/src/subcommands/app/version.ts +3 -4
- package/src/subcommands/config.ts +42 -0
- package/src/subcommands/device/clean.ts +32 -18
- package/src/subcommands/device/get-info.ts +49 -0
- package/src/subcommands/device/index.ts +13 -2
- package/src/subcommands/device/{device.ts → init.ts} +11 -69
- package/src/subcommands/device/migrate.ts +20 -0
- package/src/subcommands/device/refresh.ts +23 -0
- package/src/subcommands/device/restart.ts +11 -0
- package/src/subcommands/index.ts +3 -1
- package/src/util/aai-error.ts +20 -0
- package/src/util/{cloud-mode-ready.ts → aws-regions.ts} +0 -24
- package/src/util/check-for-updates.ts +53 -0
- package/src/util/clean-certs.ts +8 -4
- package/src/util/directories.ts +23 -67
- package/src/util/file.test.ts +90 -0
- package/src/util/file.ts +156 -0
- package/src/util/get-device-id.ts +7 -7
- package/src/util/http-client.ts +2 -2
- package/lib/docker/docker-compose-cmd.d.ts +0 -5
- package/lib/docker/docker-compose-cmd.d.ts.map +0 -1
- package/lib/docker/docker-compose-cmd.js +0 -16
- package/lib/docker/docker-compose-cmd.js.map +0 -1
- package/lib/subcommands/device/device.d.ts +0 -7
- package/lib/subcommands/device/device.d.ts.map +0 -1
- package/lib/subcommands/device/device.js.map +0 -1
- package/lib/util/cloud-mode-ready.d.ts +0 -3
- package/lib/util/cloud-mode-ready.d.ts.map +0 -1
- package/lib/util/cloud-mode-ready.js.map +0 -1
- package/lib/util/download-file.d.ts +0 -6
- package/lib/util/download-file.d.ts.map +0 -1
- package/lib/util/download-file.js +0 -25
- package/lib/util/download-file.js.map +0 -1
- package/lib/util/fetch-with-timeout.d.ts +0 -4
- package/lib/util/fetch-with-timeout.d.ts.map +0 -1
- package/lib/util/fetch-with-timeout.js +0 -30
- package/lib/util/fetch-with-timeout.js.map +0 -1
- package/lib/util/parsing.d.ts +0 -2
- package/lib/util/parsing.d.ts.map +0 -1
- package/lib/util/parsing.js +0 -17
- package/lib/util/parsing.js.map +0 -1
- package/lib/util/safe-rimraf.d.ts +0 -2
- package/lib/util/safe-rimraf.d.ts.map +0 -1
- package/lib/util/safe-rimraf.js +0 -16
- package/lib/util/safe-rimraf.js.map +0 -1
- package/src/docker/docker-compose-cmd.ts +0 -15
- package/src/util/download-file.ts +0 -25
- package/src/util/fetch-with-timeout.ts +0 -35
- package/src/util/parsing.ts +0 -11
- package/src/util/safe-rimraf.ts +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAKhE,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,SAAS,CAAC,CAerB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;CACnB,iBAWA;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;CAChB,iBAKA;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;CACtB,iBAmCA;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,gBAOnE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC;CACpB,iBAYA"}
|
|
@@ -5,11 +5,12 @@ const agent_config_1 = require("../infrastructure/agent-config");
|
|
|
5
5
|
const yaml_1 = require("yaml");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
7
|
const util_1 = require("alwaysai/lib/util");
|
|
8
|
-
const docker_compose_1 = require("docker-compose");
|
|
8
|
+
const docker_compose_1 = require("../docker/docker-compose");
|
|
9
9
|
const lodash_1 = require("lodash");
|
|
10
10
|
const app_1 = require("alwaysai/lib/core/app");
|
|
11
11
|
const status_1 = require("./status");
|
|
12
12
|
const logger_1 = require("../util/logger");
|
|
13
|
+
const aai_error_1 = require("../util/aai-error");
|
|
13
14
|
async function readAppCfgFile(props) {
|
|
14
15
|
const { projectId } = props;
|
|
15
16
|
await (0, utils_1.requireAppInstalled)({ projectId });
|
|
@@ -22,7 +23,9 @@ async function readAppCfgFile(props) {
|
|
|
22
23
|
return appJson.read();
|
|
23
24
|
}
|
|
24
25
|
catch (e) {
|
|
25
|
-
throw new
|
|
26
|
+
throw new aai_error_1.default(`Error reading app config for ${projectId}`, {
|
|
27
|
+
cause: appJson.getErrors()
|
|
28
|
+
});
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
exports.readAppCfgFile = readAppCfgFile;
|
|
@@ -34,7 +37,9 @@ async function writeAppCfgFile(props) {
|
|
|
34
37
|
appJson.write(appCfg);
|
|
35
38
|
}
|
|
36
39
|
catch (e) {
|
|
37
|
-
throw new
|
|
40
|
+
throw new aai_error_1.default(`Error writing app config for ${projectId}`, {
|
|
41
|
+
cause: appJson.getErrors()
|
|
42
|
+
});
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
exports.writeAppCfgFile = writeAppCfgFile;
|
|
@@ -85,10 +90,10 @@ async function writeDockerCompose(props) {
|
|
|
85
90
|
const composeOutput = (0, yaml_1.stringify)(dockerCompose);
|
|
86
91
|
// Validate new contents
|
|
87
92
|
try {
|
|
88
|
-
await docker_compose_1.
|
|
93
|
+
await docker_compose_1.compose.config({ cwd: appDir, configAsString: composeOutput });
|
|
89
94
|
}
|
|
90
95
|
catch (e) {
|
|
91
|
-
logger_1.logger.error(
|
|
96
|
+
logger_1.logger.error((0, util_1.stringifyError)(e));
|
|
92
97
|
}
|
|
93
98
|
await spawner.writeFile('docker-compose.yaml', composeOutput);
|
|
94
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,+BAAwC;AACxC,mCAKiB;AACjB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variables.d.ts","sourceRoot":"","sources":["../../src/application-control/environment-variables.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment-variables.d.ts","sourceRoot":"","sources":["../../src/application-control/environment-variables.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,wBAAsB,MAAM,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,iBA0D1E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,MAO7D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuCnB"}
|
|
@@ -7,7 +7,6 @@ const utils_1 = require("./utils");
|
|
|
7
7
|
const logger_1 = require("../util/logger");
|
|
8
8
|
const agent_config_1 = require("../infrastructure/agent-config");
|
|
9
9
|
const status_1 = require("./status");
|
|
10
|
-
const parsing_1 = require("../util/parsing");
|
|
11
10
|
async function setEnv(props) {
|
|
12
11
|
const { projectId, envVars } = props;
|
|
13
12
|
await (0, utils_1.requireAppReady)({ projectId });
|
|
@@ -23,33 +22,19 @@ async function setEnv(props) {
|
|
|
23
22
|
throw new Error(`Docker compose file for ${projectId} has no services!`);
|
|
24
23
|
}
|
|
25
24
|
const services = Object.keys(envVars);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
const composeServices = composeParsed['services'];
|
|
26
|
+
services.forEach((s) => {
|
|
27
|
+
if (!Object.keys(composeServices).includes(s)) {
|
|
28
|
+
throw new Error(`Service ${s} not found in ${JSON.stringify(composeServices, null, 2)}`);
|
|
29
29
|
}
|
|
30
|
-
const service =
|
|
31
|
-
const oldEnv = service['environment'];
|
|
30
|
+
const service = composeServices[s];
|
|
32
31
|
const envVarsForService = envVars[s];
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const key = envVarSplit[0];
|
|
37
|
-
const value = envVarSplit[1];
|
|
38
|
-
if (envVarsForService[key] !== null) {
|
|
39
|
-
newEnvVarsObj[key] = value;
|
|
40
|
-
}
|
|
32
|
+
const envVarList = Object.keys(envVarsForService).map((envVar) => {
|
|
33
|
+
const value = envVarsForService[envVar];
|
|
34
|
+
return `${envVar}=${value}`;
|
|
41
35
|
});
|
|
42
|
-
for (const envVar of Object.keys(envVarsForService)) {
|
|
43
|
-
if (envVarsForService[envVar] !== null) {
|
|
44
|
-
newEnvVarsObj[envVar] = envVarsForService[envVar];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const envVarList = [];
|
|
48
|
-
for (const envVar of Object.keys(newEnvVarsObj)) {
|
|
49
|
-
envVarList.push(`${envVar}=${newEnvVarsObj[envVar]}`);
|
|
50
|
-
}
|
|
51
36
|
service['environment'] = envVarList;
|
|
52
|
-
}
|
|
37
|
+
});
|
|
53
38
|
await (0, config_1.writeDockerCompose)({ projectId, dockerCompose: composeParsed });
|
|
54
39
|
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
55
40
|
await (0, utils_1.buildApp)({ appDir });
|
|
@@ -108,8 +93,6 @@ async function getAllEnvs(props) {
|
|
|
108
93
|
}
|
|
109
94
|
}
|
|
110
95
|
}
|
|
111
|
-
// Device shadow needs null to delete
|
|
112
|
-
(0, parsing_1.replaceFalseyWithNull)(envVars, true);
|
|
113
96
|
return envVars;
|
|
114
97
|
}
|
|
115
98
|
exports.getAllEnvs = getAllEnvs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variables.js","sourceRoot":"","sources":["../../src/application-control/environment-variables.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,qCAAiE;AACjE,mCAA+D;AAC/D,2CAAwC;AACxC,iEAAiE;AACjE,qCAAoD;
|
|
1
|
+
{"version":3,"file":"environment-variables.js","sourceRoot":"","sources":["../../src/application-control/environment-variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,23 @@ describe('Test environment variable get and set', () => {
|
|
|
81
81
|
edgeiq: { TEST3: '5', TEST4: '6' }
|
|
82
82
|
});
|
|
83
83
|
});
|
|
84
|
+
test('get all envs with one service and one cleared env', async () => {
|
|
85
|
+
const compose = {
|
|
86
|
+
services: {
|
|
87
|
+
alwaysai: {
|
|
88
|
+
environment: ['TEST=', 'TEST2=2']
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
jest.mocked(config_1.readDockerCompose).mockResolvedValue(compose);
|
|
93
|
+
const envVars = await (0, environment_variables_1.getAllEnvs)({ projectId: projectId1 });
|
|
94
|
+
expect(jest.mocked(config_1.readDockerCompose)).toBeCalledWith({
|
|
95
|
+
projectId: projectId1
|
|
96
|
+
});
|
|
97
|
+
expect(envVars).toEqual({
|
|
98
|
+
alwaysai: { TEST: '', TEST2: '2' }
|
|
99
|
+
});
|
|
100
|
+
});
|
|
84
101
|
});
|
|
85
102
|
describe('Test setEnv()', () => {
|
|
86
103
|
test('Set one env', async () => {
|
|
@@ -114,7 +131,7 @@ describe('Test environment variable get and set', () => {
|
|
|
114
131
|
}
|
|
115
132
|
};
|
|
116
133
|
jest.mocked(config_1.readDockerCompose).mockResolvedValue(compose);
|
|
117
|
-
const envVars = { alwaysai: { TEST1: '2' } };
|
|
134
|
+
const envVars = { alwaysai: { TEST1: '2', TEST2: '2' } };
|
|
118
135
|
await (0, environment_variables_1.setEnv)({ projectId: projectId1, envVars });
|
|
119
136
|
expect(jest.mocked(config_1.readDockerCompose)).toBeCalledWith({
|
|
120
137
|
projectId: projectId1
|
|
@@ -139,7 +156,10 @@ describe('Test environment variable get and set', () => {
|
|
|
139
156
|
}
|
|
140
157
|
};
|
|
141
158
|
jest.mocked(config_1.readDockerCompose).mockResolvedValue(compose);
|
|
142
|
-
const envVars = {
|
|
159
|
+
const envVars = {
|
|
160
|
+
alwaysai: { TEST1: '2', TEST2: '4' },
|
|
161
|
+
other: { OTHER_TEST: '1' }
|
|
162
|
+
};
|
|
143
163
|
await (0, environment_variables_1.setEnv)({ projectId: projectId1, envVars });
|
|
144
164
|
expect(jest.mocked(config_1.readDockerCompose)).toBeCalledWith({
|
|
145
165
|
projectId: projectId1
|
|
@@ -158,7 +178,7 @@ describe('Test environment variable get and set', () => {
|
|
|
158
178
|
}
|
|
159
179
|
});
|
|
160
180
|
});
|
|
161
|
-
test('
|
|
181
|
+
test('Unset an envvar', async () => {
|
|
162
182
|
const environment = ['TEST1=1', 'TEST2=2'];
|
|
163
183
|
const compose = {
|
|
164
184
|
services: {
|
|
@@ -166,7 +186,7 @@ describe('Test environment variable get and set', () => {
|
|
|
166
186
|
}
|
|
167
187
|
};
|
|
168
188
|
jest.mocked(config_1.readDockerCompose).mockResolvedValue(compose);
|
|
169
|
-
const envVars = { alwaysai: { TEST1:
|
|
189
|
+
const envVars = { alwaysai: { TEST1: '', TEST2: '2' } };
|
|
170
190
|
await (0, environment_variables_1.setEnv)({ projectId: projectId1, envVars });
|
|
171
191
|
expect(jest.mocked(config_1.readDockerCompose)).toBeCalledWith({
|
|
172
192
|
projectId: projectId1
|
|
@@ -176,7 +196,7 @@ describe('Test environment variable get and set', () => {
|
|
|
176
196
|
dockerCompose: {
|
|
177
197
|
services: {
|
|
178
198
|
alwaysai: {
|
|
179
|
-
environment: ['TEST2=2']
|
|
199
|
+
environment: ['TEST1=', 'TEST2=2']
|
|
180
200
|
}
|
|
181
201
|
}
|
|
182
202
|
}
|
|
@@ -185,12 +205,12 @@ describe('Test environment variable get and set', () => {
|
|
|
185
205
|
});
|
|
186
206
|
describe('Test helpers', () => {
|
|
187
207
|
test('convertStringEnvsToKeyVal', () => {
|
|
188
|
-
const stringEnvs = ['TEST1=', 'TEST2=test2', 'TEST3=
|
|
208
|
+
const stringEnvs = ['TEST1=', 'TEST2=test2', 'TEST3='];
|
|
189
209
|
const envVars = (0, environment_variables_1.convertStringEnvsToKeyVal)(stringEnvs);
|
|
190
210
|
expect(envVars).toEqual({
|
|
191
211
|
TEST1: '',
|
|
192
212
|
TEST2: 'test2',
|
|
193
|
-
TEST3: '
|
|
213
|
+
TEST3: ''
|
|
194
214
|
});
|
|
195
215
|
});
|
|
196
216
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variables.test.js","sourceRoot":"","sources":["../../src/application-control/environment-variables.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"environment-variables.test.js","sourceRoot":"","sources":["../../src/application-control/environment-variables.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { installApp, uninstallApp } from './install';
|
|
|
3
3
|
import { rollbackApp } from './backup';
|
|
4
4
|
import { getAppState, startApp, getAppLogs, stopApp, restartApp } from './status';
|
|
5
5
|
import { ModelDetails } from './types';
|
|
6
|
-
import {
|
|
7
|
-
export { readAppCfgFile, updateAppCfg, installApp, uninstallApp, rollbackApp, getAppState, startApp, getAppLogs, stopApp, restartApp, ModelDetails,
|
|
8
|
-
import { getAppModels,
|
|
9
|
-
export { getAppModels,
|
|
6
|
+
import { getAllEnvs, setEnv } from './environment-variables';
|
|
7
|
+
export { readAppCfgFile, updateAppCfg, installApp, uninstallApp, rollbackApp, getAppState, startApp, getAppLogs, stopApp, restartApp, ModelDetails, getAllEnvs, setEnv };
|
|
8
|
+
import { getAppModels, updateModelsWithPresignedUrls } from './models';
|
|
9
|
+
export { getAppModels, updateModelsWithPresignedUrls };
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,MAAM,EACP,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateModelsWithPresignedUrls = exports.
|
|
3
|
+
exports.updateModelsWithPresignedUrls = exports.getAppModels = exports.setEnv = exports.getAllEnvs = exports.restartApp = exports.stopApp = exports.getAppLogs = exports.startApp = exports.getAppState = exports.rollbackApp = exports.uninstallApp = exports.installApp = exports.updateAppCfg = exports.readAppCfgFile = void 0;
|
|
4
4
|
const config_1 = require("./config");
|
|
5
5
|
Object.defineProperty(exports, "readAppCfgFile", { enumerable: true, get: function () { return config_1.readAppCfgFile; } });
|
|
6
6
|
Object.defineProperty(exports, "updateAppCfg", { enumerable: true, get: function () { return config_1.updateAppCfg; } });
|
|
@@ -21,8 +21,5 @@ Object.defineProperty(exports, "setEnv", { enumerable: true, get: function () {
|
|
|
21
21
|
// CLI-mode only
|
|
22
22
|
const models_1 = require("./models");
|
|
23
23
|
Object.defineProperty(exports, "getAppModels", { enumerable: true, get: function () { return models_1.getAppModels; } });
|
|
24
|
-
Object.defineProperty(exports, "removeModel", { enumerable: true, get: function () { return models_1.removeModel; } });
|
|
25
|
-
Object.defineProperty(exports, "replaceModels", { enumerable: true, get: function () { return models_1.replaceModels; } });
|
|
26
|
-
Object.defineProperty(exports, "updateModels", { enumerable: true, get: function () { return models_1.updateModels; } });
|
|
27
24
|
Object.defineProperty(exports, "updateModelsWithPresignedUrls", { enumerable: true, get: function () { return models_1.updateModelsWithPresignedUrls; } });
|
|
28
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application-control/index.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AActD,+FAdO,uBAAc,OAcP;AACd,6FAfuB,qBAAY,OAevB;AAdd,uCAAqD;AAenD,2FAfO,oBAAU,OAeP;AACV,6FAhBmB,sBAAY,OAgBnB;AAfd,qCAAuC;AAgBrC,4FAhBO,oBAAW,OAgBP;AAfb,qCAMkB;AAUhB,4FAfA,oBAAW,OAeA;AACX,yFAfA,iBAAQ,OAeA;AACR,2FAfA,mBAAU,OAeA;AACV,wFAfA,gBAAO,OAeA;AACP,2FAfA,mBAAU,OAeA;AAZZ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application-control/index.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AActD,+FAdO,uBAAc,OAcP;AACd,6FAfuB,qBAAY,OAevB;AAdd,uCAAqD;AAenD,2FAfO,oBAAU,OAeP;AACV,6FAhBmB,sBAAY,OAgBnB;AAfd,qCAAuC;AAgBrC,4FAhBO,oBAAW,OAgBP;AAfb,qCAMkB;AAUhB,4FAfA,oBAAW,OAeA;AACX,yFAfA,iBAAQ,OAeA;AACR,2FAfA,mBAAU,OAeA;AACV,wFAfA,gBAAO,OAeA;AACP,2FAfA,mBAAU,OAeA;AAZZ,mEAA6D;AAc3D,2FAdO,kCAAU,OAcP;AACV,uFAfmB,8BAAM,OAenB;AAGR,gBAAgB;AAChB,qCAAuE;AAE9D,6FAFA,qBAAY,OAEA;AAAE,8GAFA,sCAA6B,OAEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA2B5D,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFhB;AAuFD,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB"}
|
|
@@ -19,6 +19,7 @@ const logger_1 = require("../util/logger");
|
|
|
19
19
|
const config_1 = require("./config");
|
|
20
20
|
const constants_2 = require("../local-connection/constants");
|
|
21
21
|
const paths_1 = require("alwaysai/lib/paths");
|
|
22
|
+
const file_1 = require("../util/file");
|
|
22
23
|
async function getInstalledApps() {
|
|
23
24
|
const apps = await (0, agent_config_1.AgentConfigFile)().getApps();
|
|
24
25
|
const appDetails = [];
|
|
@@ -45,8 +46,8 @@ async function installApp(props) {
|
|
|
45
46
|
try {
|
|
46
47
|
await (0, status_1.stopApp)({ projectId });
|
|
47
48
|
}
|
|
48
|
-
catch (
|
|
49
|
-
logger_1.logger.error(
|
|
49
|
+
catch (e) {
|
|
50
|
+
logger_1.logger.error(`Could not stop the application. Old container might still be present after installation.\n${(0, util_1.stringifyError)(e)}`);
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
await (0, agent_config_1.AgentConfigFile)().setAppInstalling({
|
|
@@ -65,9 +66,9 @@ async function installApp(props) {
|
|
|
65
66
|
// download app package
|
|
66
67
|
const localDest = path.join(appDir, `${path.basename(appReleaseHash)}.tgz`);
|
|
67
68
|
const { appSignedUrl } = signedUrlsPayload.appInstallPayload;
|
|
68
|
-
await (0,
|
|
69
|
-
localDest,
|
|
70
|
-
|
|
69
|
+
await (0, file_1.downloadToFile)({
|
|
70
|
+
path: localDest,
|
|
71
|
+
url: appSignedUrl
|
|
71
72
|
});
|
|
72
73
|
// Unpack app package and remove tar file
|
|
73
74
|
await unPackApp({ spawner, localDest, appDir });
|
|
@@ -128,7 +129,7 @@ async function installAppBuildReqs(props) {
|
|
|
128
129
|
});
|
|
129
130
|
const targetSpawner = targetJsonFile.readContainerSpawner();
|
|
130
131
|
const pythonVenvPaths = await (0, app_1.getPythonVenvPaths)({ targetCfg });
|
|
131
|
-
await (0, app_1.
|
|
132
|
+
await (0, app_1.createPythonVenv)({ targetSpawner, pythonVenvPaths, logger: logger_1.logger });
|
|
132
133
|
if (await hostSpawner.exists(paths_1.PYTHON_REQUIREMENTS_FILE_NAME)) {
|
|
133
134
|
await (0, app_1.installPythonReqs)({
|
|
134
135
|
reqFilePath: paths_1.PYTHON_REQUIREMENTS_FILE_NAME,
|
|
@@ -169,11 +170,12 @@ async function uninstallApp(props) {
|
|
|
169
170
|
logger_1.logger.info(`Application ${projectId} not installed`);
|
|
170
171
|
return;
|
|
171
172
|
}
|
|
173
|
+
await (0, agent_config_1.AgentConfigFile)().setAppUninstalling({ projectId });
|
|
172
174
|
try {
|
|
173
175
|
await (0, status_1.stopApp)({ projectId });
|
|
174
176
|
}
|
|
175
177
|
catch (e) {
|
|
176
|
-
logger_1.logger.warn(`Failed to stop ${projectId}, may be left running...\n${e
|
|
178
|
+
logger_1.logger.warn(`Failed to stop ${projectId}, may be left running...\n${(0, util_1.stringifyError)(e)}`);
|
|
177
179
|
}
|
|
178
180
|
await (0, agent_config_1.AgentConfigFile)().setAppUninstalled({ projectId });
|
|
179
181
|
// Delete application directory and backup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yBAAyB;AACzB,6BAA6B;AAC7B,qDAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yBAAyB;AACzB,6BAA6B;AAC7B,qDAA4D;AAC5D,4CAAuE;AACvE,mCAA8C;AAE9C,qCAAsC;AACtC,qCAA2D;AAC3D,iEAAiE;AACjE,uDAA4D;AAC5D,+CAQ+B;AAC/B,sDAAuE;AACvE,mDAA8C;AAC9C,qCAA0D;AAC1D,2CAAwC;AACxC,qCAA4C;AAC5C,6DAIuC;AACvC,8CAA+E;AAC/E,uCAA8C;AAavC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAiB,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;KACzC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AARD,4CAQC;AAEM,KAAK,UAAU,UAAU,CAAC,KAIhC;IACC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAC/D,eAAM,CAAC,IAAI,CAAC,cAAc,SAAS,IAAI,cAAc,EAAE,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI,MAAM,IAAA,8BAAe,GAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QACvD,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QACD,eAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAE7D,+EAA+E;QAC/E,IAAI,MAAM,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YACrC,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,IAAI;gBACF,MAAM,IAAA,gBAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,eAAM,CAAC,KAAK,CACV,6FAA6F,IAAA,qBAAc,EACzG,CAAC,CACF,EAAE,CACJ,CAAC;aACH;SACF;QAED,MAAM,IAAA,8BAAe,GAAE,CAAC,gBAAgB,CAAC;YACvC,SAAS;YACT,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC9B;SAAM;QACL,MAAM,IAAA,8BAAe,GAAE,CAAC,gBAAgB,CAAC;YACvC,SAAS;YACT,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;KACJ;IAED,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,uBAAuB;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IAC7D,MAAM,IAAA,qBAAc,EAAC;QACnB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,YAAY;KAClB,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhD,kEAAkE;IAClE,6DAA6D;IAC7D,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,MAAM,iCAAiC,EAAE,CAAC;IACxD,MAAM,IAAA,yBAAgB,EAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,2DAA2D;IAC3D,MAAM,cAAc,GAAG,IAAA,oBAAc,EAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACrD,MAAM,IAAA,oBAAc,EAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC;IAEzD,uBAAuB;IACvB,MAAM,IAAA,uCAA8B,EAClC,iBAAiB,CAAC,oBAAoB,EACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC5B,CAAC;IAEF,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3B,MAAM,IAAA,8BAAe,GAAE,CAAC,eAAe,CAAC;QACtC,SAAS;QACT,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,IAAA,iBAAQ,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9B,eAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,IAAI,cAAc,EAAE,CAAC,CAAC;AACrE,CAAC;AAtFD,gCAsFC;AAED,KAAK,UAAU,iCAAiC;IAC9C,OAAO;QACL,uBAAuB,EAAE;YACvB,IAAI,EAAE,GAAG,iCAAqB,EAAE;YAChC,IAAI,EAAE,iCAAqB;YAC3B,WAAW,EAAE,GAAG,wCAA4B,EAAE;SAC/C;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAyB;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,cAAc,GAAG,IAAA,oBAAc,EAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;IAChD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,IAAA,qBAAQ,EACZ,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;QAErD,MAAM,aAAa,GAAG,MAAM,IAAA,yBAAgB,EAAC;YAC3C,iBAAiB,EAAE,WAAW;YAC9B,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc,EAAE,SAAS,CAAC,aAAa;YACvC,aAAa,EAAE,IAAI;YACnB,MAAM,EAAN,eAAM;SACP,CAAC,CAAC;QACH,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;QACxC,0CAA0C;QAC1C,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE;gBACpC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAkB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,IAAA,sBAAgB,EAAC,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAN,eAAM,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,qCAA6B,CAAC,EAAE;YAC3D,MAAM,IAAA,uBAAiB,EAAC;gBACtB,WAAW,EAAE,qCAA6B;gBAC1C,aAAa;gBACb,eAAe;gBACf,MAAM,EAAN,eAAM;aACP,CAAC,CAAC;SACJ;IACH,CAAC,EACD,EAAE,EACF,MAAM,CACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAIxB;IACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;IAC9C,IAAI,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IAED,2CAA2C;IAC3C,IAAI,CAAC,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,oBAAoB;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAU,CAAC,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IACD,IAAA,oBAAc,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC;QAC3B,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,yCAA6B;QAC5C,cAAc,EAAE,MAAM,IAAA,2BAAqB,EAAC,EAAE,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,KAElC;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,eAAM,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAe,GAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QAC1D,eAAM,CAAC,IAAI,CAAC,eAAe,SAAS,gBAAgB,CAAC,CAAC;QACtD,OAAO;KACR;IACD,MAAM,IAAA,8BAAe,GAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,IAAI;QACF,MAAM,IAAA,gBAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,IAAI,CACT,kBAAkB,SAAS,6BAA6B,IAAA,qBAAc,EACpE,CAAC,CACF,EAAE,CACJ,CAAC;KACH;IACD,MAAM,IAAA,8BAAe,GAAE,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;IACrB,MAAM,IAAA,eAAM,EAAC,GAAG,MAAM,GAAG,mBAAU,EAAE,CAAC,CAAC;IACvC,eAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC;AAzBD,oCAyBC"}
|
|
@@ -4,21 +4,15 @@ import { AppConfig } from '@alwaysai/app-configuration-schemas';
|
|
|
4
4
|
export declare function getAppModels(props: {
|
|
5
5
|
projectId: string;
|
|
6
6
|
}): Promise<ModelDetails[]>;
|
|
7
|
-
export declare function removeModel(props: {
|
|
8
|
-
projectId: string;
|
|
9
|
-
modelId: string;
|
|
10
|
-
}): Promise<void>;
|
|
11
|
-
export declare function replaceModels(props: {
|
|
12
|
-
projectId: string;
|
|
13
|
-
modelIds: string[];
|
|
14
|
-
}): Promise<void>;
|
|
15
|
-
export declare function updateModels(props: {
|
|
16
|
-
projectId: string;
|
|
17
|
-
}): Promise<void>;
|
|
18
7
|
export declare function installModelsWithPresignedURLs(modelPayloads: ModelInstallPayload[], targetDir: string): Promise<void>;
|
|
19
8
|
export declare function updateModelsWithPresignedUrls(props: {
|
|
20
9
|
projectId: string;
|
|
21
10
|
modelInstallPayloads: ModelInstallPayload[];
|
|
22
11
|
newAppCfg: AppConfig;
|
|
23
12
|
}): Promise<void>;
|
|
13
|
+
export declare function pruneModels(props: {
|
|
14
|
+
projectId: string;
|
|
15
|
+
appCfg: AppConfig;
|
|
16
|
+
path?: string;
|
|
17
|
+
}): Promise<void>;
|
|
24
18
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQrE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,wBAAsB,YAAY,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,2BAoB9D;AAED,wBAAsB,8BAA8B,CAClD,aAAa,EAAE,mBAAmB,EAAE,EACpC,SAAS,EAAE,MAAM,iBAsClB;AAED,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC;CACtB,iBAkDA;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,iBAiBA"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const app_1 = require("alwaysai/lib/components/app");
|
|
3
|
+
exports.pruneModels = exports.updateModelsWithPresignedUrls = exports.installModelsWithPresignedURLs = exports.getAppModels = void 0;
|
|
6
4
|
const util_1 = require("alwaysai/lib/util");
|
|
7
5
|
const logger_1 = require("../util/logger");
|
|
8
6
|
const fs_1 = require("fs");
|
|
9
7
|
const path_1 = require("path");
|
|
10
8
|
const agent_config_1 = require("../infrastructure/agent-config");
|
|
11
9
|
const copy_dir_1 = require("../util/copy-dir");
|
|
12
|
-
const run_in_dir_1 = require("../util/run-in-dir");
|
|
13
10
|
const status_1 = require("./status");
|
|
14
11
|
const utils_1 = require("./utils");
|
|
15
12
|
const model_1 = require("alwaysai/lib/core/model");
|
|
16
13
|
const config_1 = require("./config");
|
|
17
14
|
const paths_1 = require("alwaysai/lib/paths");
|
|
15
|
+
const file_1 = require("../util/file");
|
|
18
16
|
async function getAppModels(props) {
|
|
19
17
|
const { projectId } = props;
|
|
20
18
|
if (!(await (0, agent_config_1.AgentConfigFile)().isAppPresent({ projectId }))) {
|
|
@@ -36,65 +34,18 @@ async function getAppModels(props) {
|
|
|
36
34
|
return modelDetails;
|
|
37
35
|
}
|
|
38
36
|
exports.getAppModels = getAppModels;
|
|
39
|
-
async function removeModel(props) {
|
|
40
|
-
const { projectId, modelId } = props;
|
|
41
|
-
await (0, utils_1.requireAppReady)({ projectId });
|
|
42
|
-
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
43
|
-
await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveComponent, [
|
|
44
|
-
{
|
|
45
|
-
id: modelId,
|
|
46
|
-
purge: true,
|
|
47
|
-
removeFromProject: false
|
|
48
|
-
}
|
|
49
|
-
], appDir);
|
|
50
|
-
}
|
|
51
|
-
exports.removeModel = removeModel;
|
|
52
|
-
async function replaceModels(props) {
|
|
53
|
-
const { projectId, modelIds } = props;
|
|
54
|
-
await (0, utils_1.requireAppReady)({ projectId });
|
|
55
|
-
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
56
|
-
await (0, run_in_dir_1.runInDir)(app_1.appModelsRemoveAllComponent, [
|
|
57
|
-
{
|
|
58
|
-
purge: true,
|
|
59
|
-
removeFromProject: false
|
|
60
|
-
}
|
|
61
|
-
], appDir);
|
|
62
|
-
const modelsAddPromises = [];
|
|
63
|
-
for (const modelId of modelIds) {
|
|
64
|
-
modelsAddPromises.push((0, app_1.appModelsAddComponent)({
|
|
65
|
-
yes: false,
|
|
66
|
-
dir: appDir,
|
|
67
|
-
id: modelId,
|
|
68
|
-
addToProject: false
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
await Promise.all(modelsAddPromises);
|
|
72
|
-
await (0, utils_1.buildApp)({ appDir });
|
|
73
|
-
}
|
|
74
|
-
exports.replaceModels = replaceModels;
|
|
75
|
-
async function updateModels(props) {
|
|
76
|
-
const { projectId } = props;
|
|
77
|
-
await (0, utils_1.requireAppReady)({ projectId });
|
|
78
|
-
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
79
|
-
await (0, app_1.appModelsUpdateComponent)({
|
|
80
|
-
yes: false,
|
|
81
|
-
dir: appDir
|
|
82
|
-
});
|
|
83
|
-
await (0, utils_1.buildApp)({ appDir });
|
|
84
|
-
}
|
|
85
|
-
exports.updateModels = updateModels;
|
|
86
37
|
async function installModelsWithPresignedURLs(modelPayloads, targetDir) {
|
|
87
38
|
const spawner = (0, util_1.JsSpawner)();
|
|
88
39
|
await spawner.mkdirp(targetDir);
|
|
89
40
|
await Promise.all(modelPayloads.map(async (payload) => {
|
|
90
41
|
logger_1.logger.info(`Installing ${payload.id}: ${payload.version}`);
|
|
91
42
|
const version = payload.version;
|
|
92
|
-
const modelDest =
|
|
43
|
+
const modelDest = (0, path_1.join)(targetDir, payload.id);
|
|
93
44
|
await spawner.mkdirp(modelDest);
|
|
94
|
-
const localDest =
|
|
95
|
-
await (0,
|
|
96
|
-
localDest,
|
|
97
|
-
|
|
45
|
+
const localDest = (0, path_1.join)(modelDest, `${payload.version}.tar.gz`);
|
|
46
|
+
await (0, file_1.downloadToFile)({
|
|
47
|
+
path: localDest,
|
|
48
|
+
url: payload.modelSignedUrl
|
|
98
49
|
});
|
|
99
50
|
await spawner.untar((0, fs_1.createReadStream)(localDest), (0, path_1.dirname)(modelDest));
|
|
100
51
|
await updateModelJson(modelDest, (modelJson) => (Object.assign(Object.assign({}, modelJson), { version })));
|
|
@@ -128,18 +79,17 @@ async function updateModelsWithPresignedUrls(props) {
|
|
|
128
79
|
projectId,
|
|
129
80
|
version: appReleaseHash
|
|
130
81
|
});
|
|
131
|
-
const ogDir =
|
|
132
|
-
// Copy all current models to restore dir in case of failure
|
|
133
|
-
const restoreDir = `${ogDir}.restore`;
|
|
134
|
-
await spawner.rimraf(restoreDir);
|
|
135
|
-
await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: restoreDir });
|
|
136
|
-
// Create temp dir to install new models
|
|
82
|
+
const ogDir = (0, path_1.join)(appDir, paths_1.APP_MODELS_DIRECTORY_NAME);
|
|
137
83
|
const tmpDir = `${ogDir}.tmp`;
|
|
138
84
|
try {
|
|
139
85
|
await spawner.rimraf(tmpDir);
|
|
140
86
|
await (0, copy_dir_1.copyDir)({ srcPath: ogDir, destPath: tmpDir });
|
|
87
|
+
await pruneModels({
|
|
88
|
+
projectId,
|
|
89
|
+
appCfg: newAppCfg,
|
|
90
|
+
path: tmpDir
|
|
91
|
+
});
|
|
141
92
|
await installModelsWithPresignedURLs(modelInstallPayloads, tmpDir);
|
|
142
|
-
// TODO: Purge outdated models
|
|
143
93
|
await spawner.rimraf(ogDir);
|
|
144
94
|
await (0, copy_dir_1.copyDir)({ srcPath: tmpDir, destPath: ogDir });
|
|
145
95
|
await spawner.rimraf(tmpDir);
|
|
@@ -156,8 +106,21 @@ async function updateModelsWithPresignedUrls(props) {
|
|
|
156
106
|
}
|
|
157
107
|
finally {
|
|
158
108
|
await spawner.rimraf(tmpDir);
|
|
159
|
-
await spawner.rimraf(restoreDir);
|
|
160
109
|
}
|
|
161
110
|
}
|
|
162
111
|
exports.updateModelsWithPresignedUrls = updateModelsWithPresignedUrls;
|
|
112
|
+
async function pruneModels(props) {
|
|
113
|
+
const { projectId, appCfg, path } = props;
|
|
114
|
+
const modelsPath = path !== null && path !== void 0 ? path : (0, path_1.join)((0, utils_1.getAppDir)(projectId), 'models');
|
|
115
|
+
if (!(0, fs_1.existsSync)(modelsPath)) {
|
|
116
|
+
logger_1.logger.error(`Attempted to prune models from ${modelsPath} for project app ${projectId} that does not exist or has no models dir.`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
await (0, file_1.pruneDir)({
|
|
120
|
+
path: modelsPath,
|
|
121
|
+
exclude: Object.keys(appCfg.models),
|
|
122
|
+
recurse: true
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
exports.pruneModels = pruneModels;
|
|
163
126
|
//# sourceMappingURL=models.js.map
|