@alwaysai/device-agent 2.0.0 → 2.0.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/lib/application-control/environment-variables.d.ts +4 -0
  2. package/lib/application-control/environment-variables.d.ts.map +1 -1
  3. package/lib/application-control/environment-variables.js +17 -13
  4. package/lib/application-control/environment-variables.js.map +1 -1
  5. package/lib/application-control/install.d.ts +4 -1
  6. package/lib/application-control/install.d.ts.map +1 -1
  7. package/lib/application-control/install.js +16 -1
  8. package/lib/application-control/install.js.map +1 -1
  9. package/lib/application-control/utils.d.ts.map +1 -1
  10. package/lib/application-control/utils.js +13 -0
  11. package/lib/application-control/utils.js.map +1 -1
  12. package/lib/cloud-connection/base-message-handler.d.ts +27 -0
  13. package/lib/cloud-connection/base-message-handler.d.ts.map +1 -0
  14. package/lib/cloud-connection/base-message-handler.js +72 -0
  15. package/lib/cloud-connection/base-message-handler.js.map +1 -0
  16. package/lib/cloud-connection/connection-manager.d.ts +20 -0
  17. package/lib/cloud-connection/connection-manager.d.ts.map +1 -0
  18. package/lib/cloud-connection/connection-manager.js +164 -0
  19. package/lib/cloud-connection/connection-manager.js.map +1 -0
  20. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +7 -23
  21. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  22. package/lib/cloud-connection/device-agent-cloud-connection.js +49 -517
  23. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  24. package/lib/cloud-connection/device-agent-message-handler.d.ts +22 -0
  25. package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -0
  26. package/lib/cloud-connection/device-agent-message-handler.js +357 -0
  27. package/lib/cloud-connection/device-agent-message-handler.js.map +1 -0
  28. package/lib/cloud-connection/live-updates-handler.d.ts +1 -0
  29. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  30. package/lib/cloud-connection/live-updates-handler.js +13 -10
  31. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  32. package/lib/cloud-connection/message-dispatcher.d.ts +10 -0
  33. package/lib/cloud-connection/message-dispatcher.d.ts.map +1 -0
  34. package/lib/cloud-connection/message-dispatcher.js +27 -0
  35. package/lib/cloud-connection/message-dispatcher.js.map +1 -0
  36. package/lib/cloud-connection/publisher.d.ts +3 -2
  37. package/lib/cloud-connection/publisher.d.ts.map +1 -1
  38. package/lib/cloud-connection/publisher.js +8 -4
  39. package/lib/cloud-connection/publisher.js.map +1 -1
  40. package/lib/cloud-connection/shadow-handler.d.ts +7 -0
  41. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  42. package/lib/cloud-connection/shadow-handler.js +77 -1
  43. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  44. package/lib/cloud-connection/shadow-handler.test.js +5 -2
  45. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  46. package/lib/cloud-connection/transaction-manager.d.ts +9 -4
  47. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  48. package/lib/cloud-connection/transaction-manager.js +22 -11
  49. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  50. package/lib/cloud-connection/transaction-manager.test.js +43 -14
  51. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  52. package/lib/jobs/job-handler.d.ts +23 -0
  53. package/lib/jobs/job-handler.d.ts.map +1 -0
  54. package/lib/jobs/job-handler.js +131 -0
  55. package/lib/jobs/job-handler.js.map +1 -0
  56. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts +8 -0
  57. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts.map +1 -0
  58. package/lib/secure-tunneling/secure-tunnel-message-handler.js +42 -0
  59. package/lib/secure-tunneling/secure-tunnel-message-handler.js.map +1 -0
  60. package/lib/subcommands/app/version.d.ts +2 -0
  61. package/lib/subcommands/app/version.d.ts.map +1 -1
  62. package/lib/subcommands/app/version.js +14 -2
  63. package/lib/subcommands/app/version.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/application-control/environment-variables.ts +31 -21
  66. package/src/application-control/install.ts +24 -3
  67. package/src/application-control/utils.ts +13 -0
  68. package/src/cloud-connection/base-message-handler.ts +118 -0
  69. package/src/cloud-connection/connection-manager.ts +196 -0
  70. package/src/cloud-connection/device-agent-cloud-connection.ts +104 -817
  71. package/src/cloud-connection/device-agent-message-handler.ts +642 -0
  72. package/src/cloud-connection/live-updates-handler.ts +26 -18
  73. package/src/cloud-connection/message-dispatcher.ts +33 -0
  74. package/src/cloud-connection/publisher.ts +28 -23
  75. package/src/cloud-connection/shadow-handler.test.ts +6 -2
  76. package/src/cloud-connection/shadow-handler.ts +129 -1
  77. package/src/cloud-connection/transaction-manager.test.ts +55 -24
  78. package/src/cloud-connection/transaction-manager.ts +42 -31
  79. package/src/jobs/job-handler.ts +146 -0
  80. package/src/secure-tunneling/secure-tunnel-message-handler.ts +56 -0
  81. package/src/subcommands/app/version.ts +20 -2
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-manager.test.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction-manager.test.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { MessageHandler } from '../cloud-connection/message-dispatcher';
2
+ import { BaseHandler, HandlerContext } from '../cloud-connection/base-message-handler';
3
+ export declare class JobHandler extends BaseHandler implements MessageHandler {
4
+ private readonly msgHandler;
5
+ constructor(handlerContext: HandlerContext);
6
+ private readonly state;
7
+ private jobId;
8
+ handle(message: any, topic: string): Promise<void>;
9
+ getJobTopic(): {
10
+ NOTIFY_NEXT: string;
11
+ START_NEXT: string;
12
+ START_NEXT_ACCEPTED: string;
13
+ UPDATE: string;
14
+ };
15
+ private notifyNext;
16
+ private startNextAccepted;
17
+ private processJobExecution;
18
+ private handleError;
19
+ private updateJobStatus;
20
+ private readonly handleJobSuccess;
21
+ private readonly handleJobError;
22
+ }
23
+ //# sourceMappingURL=job-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-handler.d.ts","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EACL,WAAW,EACX,cAAc,EACf,MAAM,0CAA0C,CAAC;AAkBlD,qBAAa,UAAW,SAAQ,WAAY,YAAW,cAAc;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;gBAE3C,cAAc,EAAE,cAAc;IAQ1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,KAAK,CAAM;IAEN,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/D,WAAW;;;;;;YAUG,UAAU;IAOxB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;CACH"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobHandler = void 0;
4
+ const logger_1 = require("../util/logger");
5
+ const base_message_handler_1 = require("../cloud-connection/base-message-handler");
6
+ const device_agent_message_handler_1 = require("../cloud-connection/device-agent-message-handler");
7
+ class JobState {
8
+ // Singleton pattern
9
+ constructor() {
10
+ this.jobInProgress = false;
11
+ } // eslint-disable-line
12
+ static getInstance() {
13
+ if (!JobState.instance) {
14
+ JobState.instance = new JobState();
15
+ }
16
+ return JobState.instance;
17
+ }
18
+ }
19
+ class JobHandler extends base_message_handler_1.BaseHandler {
20
+ constructor(handlerContext) {
21
+ super(handlerContext);
22
+ this.state = JobState.getInstance();
23
+ this.jobId = '';
24
+ this.handleJobSuccess = (txId) => {
25
+ this.updateJobStatus('SUCCEEDED');
26
+ };
27
+ this.handleJobError = (_txId, msg) => {
28
+ logger_1.logger.error(`Unexpected error type: ${msg}`);
29
+ this.updateJobStatus('FAILED', `Unexpected error: ${msg}`);
30
+ };
31
+ this.msgHandler = new device_agent_message_handler_1.DeviceAgentMessageHandler(handlerContext, this.handleJobError, this.handleJobSuccess);
32
+ }
33
+ async handle(message, topic) {
34
+ const TOPICS = this.getJobTopic();
35
+ try {
36
+ switch (topic) {
37
+ case TOPICS.NOTIFY_NEXT:
38
+ await this.notifyNext(message);
39
+ break;
40
+ case TOPICS.START_NEXT_ACCEPTED:
41
+ this.startNextAccepted(message);
42
+ break;
43
+ default:
44
+ logger_1.logger.info(`No handler for topic: ${topic}`);
45
+ }
46
+ }
47
+ catch (error) {
48
+ logger_1.logger.error(`Error handling job for topic: ${topic}`, error);
49
+ }
50
+ }
51
+ getJobTopic() {
52
+ const TOPICS = {
53
+ NOTIFY_NEXT: `$aws/things/${this.clientId}/jobs/notify-next`,
54
+ START_NEXT: `$aws/things/${this.clientId}/jobs/start-next`,
55
+ START_NEXT_ACCEPTED: `$aws/things/${this.clientId}/jobs/start-next/accepted`,
56
+ UPDATE: `$aws/things/${this.clientId}/jobs/${this.jobId}/update`
57
+ };
58
+ return TOPICS;
59
+ }
60
+ async notifyNext(message) {
61
+ // Triggers when a job is completed and we need to notify the next job
62
+ logger_1.logger.info('Invoking NOTIFY_NEXT handler');
63
+ const TOPICS = this.getJobTopic();
64
+ this.publisher.publish(TOPICS.START_NEXT, JSON.stringify({}));
65
+ }
66
+ startNextAccepted(message) {
67
+ if (this.state.jobInProgress) {
68
+ logger_1.logger.info('Job already in progress');
69
+ return;
70
+ }
71
+ this.state.jobInProgress = true;
72
+ try {
73
+ if (message.execution) {
74
+ this.processJobExecution(message.execution);
75
+ }
76
+ else {
77
+ this.state.jobInProgress = false;
78
+ }
79
+ }
80
+ catch (error) {
81
+ this.handleError(error);
82
+ }
83
+ this.state.jobInProgress = false;
84
+ }
85
+ processJobExecution(execution) {
86
+ logger_1.logger.info('Job in progress...');
87
+ const { jobDocument, jobId } = execution;
88
+ this.jobId = jobId;
89
+ this.msgHandler.handle(jobDocument);
90
+ }
91
+ handleError(error) {
92
+ if (error instanceof Error) {
93
+ logger_1.logger.error(`Error starting next job`, error);
94
+ this.handleJobError('', error.message);
95
+ }
96
+ else {
97
+ let errorMessage;
98
+ if (typeof error === 'string') {
99
+ errorMessage = error;
100
+ }
101
+ else if (typeof error === 'object' && error !== null) {
102
+ try {
103
+ errorMessage = JSON.stringify(error);
104
+ }
105
+ catch (jsonError) {
106
+ errorMessage = 'Unknown error (failed to stringify)';
107
+ }
108
+ }
109
+ else {
110
+ errorMessage = 'Unknown error';
111
+ }
112
+ logger_1.logger.error(`Unexpected error: ${errorMessage}`);
113
+ this.handleJobError('', errorMessage);
114
+ }
115
+ }
116
+ updateJobStatus(status, message) {
117
+ const { UPDATE } = this.getJobTopic();
118
+ const payload = {
119
+ status,
120
+ statusDetails: {
121
+ message
122
+ }
123
+ };
124
+ this.publisher.publish(UPDATE, JSON.stringify(payload));
125
+ logger_1.logger.info(`Marked job ${this.jobId} as ${status}`);
126
+ // Reset the job state
127
+ this.state.jobInProgress = false;
128
+ }
129
+ }
130
+ exports.JobHandler = JobHandler;
131
+ //# sourceMappingURL=job-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-handler.js","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MessageHandler } from '../cloud-connection/message-dispatcher';
2
+ import { BaseHandler } from '../cloud-connection/base-message-handler';
3
+ export declare class SecureTunnelMessageHandler extends BaseHandler implements MessageHandler<any> {
4
+ getNotifyTopic(): string;
5
+ handle(message: any, topic: string): Promise<void>;
6
+ handleSecureTunnelMessage(payload: any): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=secure-tunnel-message-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-tunnel-message-handler.d.ts","sourceRoot":"","sources":["../../src/secure-tunneling/secure-tunnel-message-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,qBAAa,0BACX,SAAQ,WACR,YAAW,cAAc,CAAC,GAAG,CAAC;IAEvB,cAAc,IAAI,MAAM;IAIlB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlD,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBpE"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecureTunnelMessageHandler = void 0;
4
+ const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
5
+ const logger_1 = require("../util/logger");
6
+ const base_message_handler_1 = require("../cloud-connection/base-message-handler");
7
+ class SecureTunnelMessageHandler extends base_message_handler_1.BaseHandler {
8
+ getNotifyTopic() {
9
+ return `$aws/things/${this.clientId}/tunnels/notify`;
10
+ }
11
+ async handle(message, topic) {
12
+ const secureTunnelNotifyTopic = this.getNotifyTopic();
13
+ if (topic === secureTunnelNotifyTopic) {
14
+ await this.secureTunnelHandler.secureTunnelNotifyHandler(message);
15
+ }
16
+ else if (topic === this.shadowHandler.shadowTopics.secureTunnel.updateDelta) {
17
+ logger_1.logger.info(`Received secure tunnel update: ${JSON.stringify(message)}`);
18
+ await this.handleSecureTunnelMessage(message);
19
+ }
20
+ else if (topic === this.shadowHandler.shadowTopics.secureTunnel.deleteAccepted) {
21
+ logger_1.logger.info(`Received secure tunnel deleteAccepted: ${message}`);
22
+ await this.secureTunnelHandler.destroy();
23
+ }
24
+ }
25
+ async handleSecureTunnelMessage(payload) {
26
+ logger_1.logger.info(`Received secure tunnel update: ${JSON.stringify(payload)}`);
27
+ const state = (0, device_agent_schemas_1.getUpdateDeltaStateFromMessage)(payload);
28
+ if (!state) {
29
+ logger_1.logger.debug(`No state found in message: ${JSON.stringify(payload)}`);
30
+ return;
31
+ }
32
+ const valid = (0, device_agent_schemas_1.validateSecureTunnelShadowUpdate)(state);
33
+ if (!valid) {
34
+ logger_1.logger.error(`Error validating message: ${JSON.stringify({ payload, errors: device_agent_schemas_1.validateSecureTunnelShadowUpdate.errors }, null, 2)}`);
35
+ return;
36
+ }
37
+ const secureTunnelUpdate = await this.secureTunnelHandler.syncShadowToDeviceState(payload);
38
+ await this.shadowHandler.updateSecureTunnelShadow(secureTunnelUpdate);
39
+ }
40
+ }
41
+ exports.SecureTunnelMessageHandler = SecureTunnelMessageHandler;
42
+ //# sourceMappingURL=secure-tunnel-message-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-tunnel-message-handler.js","sourceRoot":"","sources":["../../src/secure-tunneling/secure-tunnel-message-handler.ts"],"names":[],"mappings":";;;AAAA,yEAGwC;AAExC,2CAAwC;AACxC,mFAAuE;AAEvE,MAAa,0BACX,SAAQ,kCAAW;IAGZ,cAAc;QACnB,OAAO,eAAe,IAAI,CAAC,QAAQ,iBAAiB,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAY,EAAE,KAAa;QAC7C,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,uBAAuB,EAAE;YACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;SACnE;aAAM,IACL,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAClE;YACA,eAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;SAC/C;aAAM,IACL,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EACrE;YACA,eAAM,CAAC,IAAI,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;SAC1C;IACH,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,OAAY;QACjD,eAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAA,qDAA8B,EAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAA,uDAAgC,EAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE;YACV,eAAM,CAAC,KAAK,CACV,6BAA6B,IAAI,CAAC,SAAS,CACzC,EAAE,OAAO,EAAE,MAAM,EAAE,uDAAgC,CAAC,MAAM,EAAE,EAC5D,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;YACF,OAAO;SACR;QACD,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;CACF;AA/CD,gEA+CC"}
@@ -3,6 +3,8 @@ export declare const installAppCliLeaf: import("@alwaysai/alwayscli/lib/types").
3
3
  project: import("@alwaysai/alwayscli").CliInput<string, true>;
4
4
  'release-hash': import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
5
5
  releaseHash: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
6
+ appCfg: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
7
+ envVars: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
6
8
  }, import("@alwaysai/alwayscli").CliInput<undefined, false>>;
7
9
  export declare const uninstallAppCliLeaf: import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<undefined, false>, {
8
10
  project: import("@alwaysai/alwayscli").CliInput<string, true>;
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/version.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,yKAQ1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;4DAgD5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;4DA6B9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;4DAc7B,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/version.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,yKAQ1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;4DAkE5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;4DA6B9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;4DAc7B,CAAC"}
@@ -33,10 +33,20 @@ exports.installAppCliLeaf = (0, alwayscli_1.CliLeaf)({
33
33
  description: 'Release Hash',
34
34
  required: false,
35
35
  hidden: true
36
+ }),
37
+ appCfg: (0, alwayscli_1.CliStringInput)({
38
+ description: 'Application Configuration',
39
+ required: false,
40
+ hidden: true
41
+ }),
42
+ envVars: (0, alwayscli_1.CliStringInput)({
43
+ description: 'Environment Variables configuration',
44
+ hidden: true,
45
+ required: false
36
46
  })
37
47
  },
38
48
  async action(_, opts) {
39
- const { project, releaseHash, 'release-hash': releaseHashNew } = opts;
49
+ const { project, releaseHash, 'release-hash': releaseHashNew, appCfg, envVars } = opts;
40
50
  if (releaseHash) {
41
51
  logger_1.logger.warn(`--releaseHash is deprecated and will be removed in a future release. Please switch to --release-hash`);
42
52
  }
@@ -54,7 +64,9 @@ exports.installAppCliLeaf = (0, alwayscli_1.CliLeaf)({
54
64
  payload: {
55
65
  baseCommand: device_agent_schemas_1.keyMirrors.appVersionControl.install,
56
66
  projectId: project,
57
- appReleaseHash: releaseHashResolved
67
+ appReleaseHash: releaseHashResolved,
68
+ appCfg,
69
+ envVars
58
70
  }
59
71
  };
60
72
  await deviceAgent.handleMessage(topic, message);
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/subcommands/app/version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/subcommands/app/version.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alwaysai/device-agent",
3
3
  "description": "The alwaysAI Device Agent",
4
- "version": "2.0.0",
4
+ "version": "2.0.2-0",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "publishConfig": {
@@ -37,7 +37,7 @@
37
37
  "@alwaysai/alwayscli": "0.3.3",
38
38
  "@alwaysai/app-configuration-schemas": "0.2.0",
39
39
  "@alwaysai/config-nodejs": "0.3.3",
40
- "@alwaysai/device-agent-schemas": "3.1.0",
40
+ "@alwaysai/device-agent-schemas": "3.3.0",
41
41
  "@carnesen/coded-error": "0.4.0",
42
42
  "ajv": "8.11.0",
43
43
  "alwaysai": "2.6.1",
@@ -6,9 +6,11 @@ import { AgentConfigFile } from '../infrastructure/agent-config';
6
6
  import { isAppStarted, restartApp } from './status';
7
7
  import { EnvVars } from '@alwaysai/device-agent-schemas';
8
8
 
9
- export async function setEnv(props: { projectId: string; envVars: EnvVars }) {
9
+ export async function setEnv(props: {
10
+ projectId: string;
11
+ envVars: EnvVars;
12
+ }): Promise<void> {
10
13
  const { projectId, envVars } = props;
11
- await requireAppReady({ projectId });
12
14
  const appReleaseHash = await AgentConfigFile().getAppVersion({
13
15
  projectId
14
16
  });
@@ -16,6 +18,33 @@ export async function setEnv(props: { projectId: string; envVars: EnvVars }) {
16
18
  projectId,
17
19
  version: appReleaseHash
18
20
  });
21
+ await setEnvInternal({ projectId, envVars });
22
+
23
+ const appDir = getAppDir(projectId);
24
+ await buildApp({ appDir });
25
+
26
+ await AgentConfigFile().setAppInstalled({
27
+ projectId,
28
+ version: appReleaseHash
29
+ });
30
+
31
+ if (await isAppStarted({ projectId })) {
32
+ await restartApp({ projectId });
33
+ }
34
+ logger.info(
35
+ `Updated environment variables for ${projectId}: ${JSON.stringify(
36
+ envVars,
37
+ null,
38
+ 2
39
+ )}`
40
+ );
41
+ }
42
+
43
+ export async function setEnvInternal(props: {
44
+ projectId: string;
45
+ envVars: EnvVars;
46
+ }): Promise<void> {
47
+ const { projectId, envVars } = props;
19
48
 
20
49
  const composeParsed = await readDockerCompose({ projectId });
21
50
  if (!('services' in composeParsed)) {
@@ -45,25 +74,6 @@ export async function setEnv(props: { projectId: string; envVars: EnvVars }) {
45
74
  });
46
75
 
47
76
  await writeDockerCompose({ projectId, dockerCompose: composeParsed });
48
-
49
- const appDir = getAppDir(projectId);
50
- await buildApp({ appDir });
51
-
52
- await AgentConfigFile().setAppInstalled({
53
- projectId,
54
- version: appReleaseHash
55
- });
56
-
57
- if (await isAppStarted({ projectId })) {
58
- await restartApp({ projectId });
59
- }
60
- logger.info(
61
- `Updated environment variables for ${projectId}: ${JSON.stringify(
62
- envVars,
63
- null,
64
- 2
65
- )}`
66
- );
67
77
  }
68
78
 
69
79
  export function convertStringEnvsToKeyVal(stringEnvs: string[]) {
@@ -4,7 +4,7 @@ import * as path from 'path';
4
4
  import { buildDockerImage } from 'alwaysai/lib/util/docker';
5
5
  import { JsSpawner, Spawner, stringifyError } from 'alwaysai/lib/util';
6
6
  import { getAppDir, buildApp } from './utils';
7
- import { AppDetails } from '@alwaysai/device-agent-schemas';
7
+ import { AppDetails, EnvVars } from '@alwaysai/device-agent-schemas';
8
8
  import { BACKUP_EXT } from './backup';
9
9
  import { startApp, stopApp, isAppStarted } from './status';
10
10
  import { AgentConfigFile } from '../infrastructure/agent-config';
@@ -22,7 +22,7 @@ import { DOCKER_IMAGE_ID_INITIAL_VALUE } from 'alwaysai/lib/constants';
22
22
  import { runInDir } from '../util/run-in-dir';
23
23
  import { installModelsWithPresignedURLs } from './models';
24
24
  import { logger } from '../util/logger';
25
- import { updateAppCfgFile } from './config';
25
+ import { updateAppCfgFile, writeAppCfgFile } from './config';
26
26
  import {
27
27
  LOCAL_CONNECTION_HOST,
28
28
  LOCAL_CONNECTION_PORT,
@@ -30,6 +30,8 @@ import {
30
30
  } from '../local-connection/constants';
31
31
  import { DOCKERFILE, PYTHON_REQUIREMENTS_FILE_NAME } from 'alwaysai/lib/paths';
32
32
  import { downloadToFile } from '../util/file';
33
+ import { setEnvInternal } from './environment-variables';
34
+ import { AppConfig } from '@alwaysai/app-configuration-schemas';
33
35
 
34
36
  type SignedUrlPayloadType = {
35
37
  appInstallPayload: {
@@ -56,8 +58,11 @@ export async function installApp(props: {
56
58
  projectId: string;
57
59
  appReleaseHash: string;
58
60
  signedUrlsPayload: SignedUrlPayloadType;
61
+ appCfg?: AppConfig;
62
+ envVars?: EnvVars;
59
63
  }): Promise<void> {
60
- const { projectId, appReleaseHash, signedUrlsPayload } = props;
64
+ const { projectId, appReleaseHash, signedUrlsPayload, appCfg, envVars } =
65
+ props;
61
66
  logger.info(`Installing ${projectId}:${appReleaseHash}`);
62
67
 
63
68
  const appDir = getAppDir(projectId);
@@ -127,6 +132,22 @@ export async function installApp(props: {
127
132
  path.join(appDir, 'models')
128
133
  );
129
134
 
135
+ // See if there's appCfg or envVars in the transaction, and if so, apply it
136
+
137
+ if (appCfg) {
138
+ logger.debug(`applying appCfg: ${JSON.stringify(appCfg)}`);
139
+ await writeAppCfgFile({ projectId, appCfg });
140
+ }
141
+
142
+ if (envVars) {
143
+ logger.debug(`applying envVarUpdate: ${JSON.stringify(envVars)}`);
144
+ try {
145
+ await setEnvInternal({ projectId, envVars });
146
+ } catch (error) {
147
+ logger.error(`error is : ${error}`);
148
+ }
149
+ }
150
+
130
151
  await installAppBuildReqs({ appDir });
131
152
  await buildApp({ appDir });
132
153
 
@@ -74,4 +74,17 @@ export async function buildApp(props: { appDir: string }) {
74
74
  `Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`
75
75
  );
76
76
  }
77
+
78
+ // Prune unused Docker resources after a successful build
79
+ logger.debug('Pruning docker system');
80
+ try {
81
+ const spawner = JsSpawner();
82
+ const pruneOut = await spawner.run({
83
+ exe: 'docker',
84
+ args: ['system', 'prune', '-f']
85
+ });
86
+ logger.debug(pruneOut);
87
+ } catch (error) {
88
+ logger.error(`Stderr occurred when pruning docker system: ${error}`);
89
+ }
77
90
  }
@@ -0,0 +1,118 @@
1
+ import { logger, stringifyError } from 'alwaysai/lib/util';
2
+ import { uninstallApp, rollbackApp } from '../application-control';
3
+ import { createAppBackup } from '../application-control/backup';
4
+ import { AgentConfigFile } from '../infrastructure/agent-config';
5
+ import { SecureTunnelHandlerSingleton } from '../secure-tunneling/secure-tunneling';
6
+ import AaiError from '../util/aai-error';
7
+ import { LiveUpdatesHandler } from './live-updates-handler';
8
+ import { Publisher } from './publisher';
9
+ import { ShadowHandler } from './shadow-handler';
10
+ import {
11
+ TransactionManager,
12
+ ErrorFunction,
13
+ SuccessFunction
14
+ } from './transaction-manager';
15
+
16
+ export interface HandlerContext {
17
+ clientId: string;
18
+ txnMgr: TransactionManager;
19
+ publisher: Publisher;
20
+ shadowHandler: ShadowHandler;
21
+ liveUpdatesHandler: LiveUpdatesHandler;
22
+ secureTunnelHandler: SecureTunnelHandlerSingleton;
23
+ }
24
+
25
+ export abstract class BaseHandler {
26
+ protected clientId: string;
27
+ protected txnMgr: TransactionManager;
28
+ protected publisher: Publisher;
29
+ protected shadowHandler: ShadowHandler;
30
+ protected liveUpdatesHandler: LiveUpdatesHandler;
31
+ protected secureTunnelHandler: SecureTunnelHandlerSingleton;
32
+ protected readonly errorFn?: ErrorFunction;
33
+ protected readonly successFn?: SuccessFunction;
34
+
35
+ constructor(
36
+ context: HandlerContext,
37
+ errorFn?: ErrorFunction,
38
+ successFn?: SuccessFunction
39
+ ) {
40
+ this.clientId = context.clientId;
41
+ this.txnMgr = context.txnMgr;
42
+ this.publisher = context.publisher;
43
+ this.shadowHandler = context.shadowHandler;
44
+ this.liveUpdatesHandler = context.liveUpdatesHandler;
45
+ this.secureTunnelHandler = context.secureTunnelHandler;
46
+ this.errorFn = errorFn;
47
+ this.successFn = successFn;
48
+ }
49
+
50
+ protected async atomicApplicationUninstall(projectId: string) {
51
+ try {
52
+ await uninstallApp({ projectId });
53
+ this.shadowHandler.clearProjectShadow(projectId);
54
+ } catch (e) {
55
+ logger.error(`Failed to uninstall ${projectId}!\n${stringifyError(e)}`);
56
+ throw e;
57
+ }
58
+ }
59
+
60
+ protected async atomicApplicationUpdate<F extends () => any>(
61
+ func: F,
62
+ projectId: string,
63
+ skipUpdateShadow?: boolean
64
+ ): Promise<ReturnType<F>> {
65
+ if (await AgentConfigFile().isAppPresent({ projectId })) {
66
+ // Reject the application update if app is present but not ready
67
+ if (!(await AgentConfigFile().isAppReady({ projectId }))) {
68
+ throw new Error('Application already has installation in progress!');
69
+ }
70
+
71
+ // Try to create a backup, so that there is one available if something goes wrong in the next try:catch.
72
+ try {
73
+ await createAppBackup({ projectId });
74
+ } catch (e) {
75
+ logger.error(
76
+ `Could not create a backup for the project: ${projectId}!\n${stringifyError(
77
+ e
78
+ )}`
79
+ );
80
+ }
81
+ }
82
+
83
+ try {
84
+ const out: ReturnType<F> = await func();
85
+ if (!skipUpdateShadow)
86
+ await this.shadowHandler.updateProjectShadow(projectId);
87
+ return out;
88
+ } catch (errorAppUpdate) {
89
+ logger.error(
90
+ `Failed to update ${projectId}!\n${stringifyError(errorAppUpdate)}`
91
+ );
92
+ // If something goes wrong, first try to rollback
93
+ try {
94
+ await rollbackApp({ projectId });
95
+ } catch (errorRollbackApp) {
96
+ logger.error(
97
+ `Application rollback failed for ${projectId}!\n${stringifyError(
98
+ errorRollbackApp
99
+ )}`
100
+ );
101
+ // and if that fails, uninstall the app as a last resort.
102
+ try {
103
+ await this.atomicApplicationUninstall(projectId);
104
+ } catch {
105
+ // atomicApplicationUninstall logs failure, so there's nothing to do here.
106
+ }
107
+ throw new AaiError(
108
+ 'Application update and rollback failed, uninstalled the application!',
109
+ { cause: errorAppUpdate }
110
+ );
111
+ }
112
+ throw new AaiError(
113
+ 'Application update failed, rolled the application back!',
114
+ { cause: errorAppUpdate }
115
+ );
116
+ }
117
+ }
118
+ }