@alwaysai/device-agent 1.3.0 → 1.3.1-2

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 (123) hide show
  1. package/lib/application-control/environment-variables.d.ts +1 -0
  2. package/lib/application-control/environment-variables.d.ts.map +1 -1
  3. package/lib/application-control/environment-variables.js +22 -20
  4. package/lib/application-control/environment-variables.js.map +1 -1
  5. package/lib/application-control/environment-variables.test.js +37 -2
  6. package/lib/application-control/environment-variables.test.js.map +1 -1
  7. package/lib/application-control/install.js +1 -1
  8. package/lib/application-control/install.js.map +1 -1
  9. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +5 -5
  10. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  11. package/lib/cloud-connection/device-agent-cloud-connection.js +203 -178
  12. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  13. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  14. package/lib/cloud-connection/live-updates-handler.js +30 -25
  15. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  16. package/lib/cloud-connection/live-updates-handler.test.js +15 -0
  17. package/lib/cloud-connection/live-updates-handler.test.js.map +1 -1
  18. package/lib/cloud-connection/messages.d.ts +1 -3
  19. package/lib/cloud-connection/messages.d.ts.map +1 -1
  20. package/lib/cloud-connection/messages.js +1 -9
  21. package/lib/cloud-connection/messages.js.map +1 -1
  22. package/lib/cloud-connection/publisher.d.ts +1 -0
  23. package/lib/cloud-connection/publisher.d.ts.map +1 -1
  24. package/lib/cloud-connection/publisher.js +3 -0
  25. package/lib/cloud-connection/publisher.js.map +1 -1
  26. package/lib/cloud-connection/shadow-handler.d.ts +10 -21
  27. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  28. package/lib/cloud-connection/shadow-handler.js +154 -100
  29. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  30. package/lib/cloud-connection/shadow-handler.test.js +140 -72
  31. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  32. package/lib/cloud-connection/transaction-manager.d.ts +26 -6
  33. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  34. package/lib/cloud-connection/transaction-manager.js +103 -22
  35. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  36. package/lib/cloud-connection/transaction-manager.test.js +179 -13
  37. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  38. package/lib/device-control/device-control.d.ts +2 -2
  39. package/lib/device-control/device-control.d.ts.map +1 -1
  40. package/lib/device-control/device-control.js.map +1 -1
  41. package/lib/secure-tunneling/secure-tunneling.d.ts +105 -0
  42. package/lib/secure-tunneling/secure-tunneling.d.ts.map +1 -0
  43. package/lib/secure-tunneling/secure-tunneling.js +435 -0
  44. package/lib/secure-tunneling/secure-tunneling.js.map +1 -0
  45. package/lib/secure-tunneling/secure-tunneling.test.d.ts +2 -0
  46. package/lib/secure-tunneling/secure-tunneling.test.d.ts.map +1 -0
  47. package/lib/secure-tunneling/secure-tunneling.test.js +1070 -0
  48. package/lib/secure-tunneling/secure-tunneling.test.js.map +1 -0
  49. package/lib/secure-tunneling/spawner-detached.d.ts +6 -0
  50. package/lib/secure-tunneling/spawner-detached.d.ts.map +1 -0
  51. package/lib/secure-tunneling/spawner-detached.js +107 -0
  52. package/lib/secure-tunneling/spawner-detached.js.map +1 -0
  53. package/lib/subcommands/app/analytics.d.ts +10 -0
  54. package/lib/subcommands/app/analytics.d.ts.map +1 -0
  55. package/lib/subcommands/app/analytics.js +79 -0
  56. package/lib/subcommands/app/analytics.js.map +1 -0
  57. package/lib/subcommands/app/env-vars.d.ts.map +1 -1
  58. package/lib/subcommands/app/env-vars.js +11 -16
  59. package/lib/subcommands/app/env-vars.js.map +1 -1
  60. package/lib/subcommands/app/index.d.ts.map +1 -1
  61. package/lib/subcommands/app/index.js +3 -1
  62. package/lib/subcommands/app/index.js.map +1 -1
  63. package/lib/subcommands/app/models.d.ts +0 -5
  64. package/lib/subcommands/app/models.d.ts.map +1 -1
  65. package/lib/subcommands/app/models.js +16 -56
  66. package/lib/subcommands/app/models.js.map +1 -1
  67. package/lib/subcommands/app/status.d.ts +1 -0
  68. package/lib/subcommands/app/status.d.ts.map +1 -1
  69. package/lib/subcommands/app/status.js +14 -3
  70. package/lib/subcommands/app/status.js.map +1 -1
  71. package/lib/subcommands/app/version.d.ts +2 -1
  72. package/lib/subcommands/app/version.d.ts.map +1 -1
  73. package/lib/subcommands/app/version.js +16 -3
  74. package/lib/subcommands/app/version.js.map +1 -1
  75. package/lib/util/cloud-mode-ready.d.ts +1 -0
  76. package/lib/util/cloud-mode-ready.d.ts.map +1 -1
  77. package/lib/util/cloud-mode-ready.js +36 -1
  78. package/lib/util/cloud-mode-ready.js.map +1 -1
  79. package/lib/util/parsing.d.ts +2 -0
  80. package/lib/util/parsing.d.ts.map +1 -0
  81. package/lib/util/parsing.js +17 -0
  82. package/lib/util/parsing.js.map +1 -0
  83. package/package.json +4 -6
  84. package/readme.md +146 -92
  85. package/src/application-control/environment-variables.test.ts +43 -3
  86. package/src/application-control/environment-variables.ts +29 -19
  87. package/src/application-control/install.ts +1 -1
  88. package/src/cloud-connection/device-agent-cloud-connection.ts +272 -247
  89. package/src/cloud-connection/live-updates-handler.test.ts +20 -0
  90. package/src/cloud-connection/live-updates-handler.ts +45 -52
  91. package/src/cloud-connection/messages.ts +1 -14
  92. package/src/cloud-connection/publisher.ts +4 -0
  93. package/src/cloud-connection/shadow-handler.test.ts +150 -73
  94. package/src/cloud-connection/shadow-handler.ts +247 -126
  95. package/src/cloud-connection/transaction-manager.test.ts +193 -18
  96. package/src/cloud-connection/transaction-manager.ts +174 -26
  97. package/src/device-control/device-control.ts +3 -3
  98. package/src/secure-tunneling/secure-tunneling.test.ts +1239 -0
  99. package/src/secure-tunneling/secure-tunneling.ts +606 -0
  100. package/src/secure-tunneling/spawner-detached.ts +123 -0
  101. package/src/subcommands/app/analytics.ts +102 -0
  102. package/src/subcommands/app/env-vars.ts +18 -16
  103. package/src/subcommands/app/index.ts +4 -3
  104. package/src/subcommands/app/models.ts +25 -57
  105. package/src/subcommands/app/status.ts +20 -3
  106. package/src/subcommands/app/version.ts +19 -4
  107. package/src/util/cloud-mode-ready.ts +36 -0
  108. package/src/util/parsing.ts +11 -0
  109. package/lib/cloud-connection/cmd-status.d.ts +0 -8
  110. package/lib/cloud-connection/cmd-status.d.ts.map +0 -1
  111. package/lib/cloud-connection/cmd-status.js +0 -62
  112. package/lib/cloud-connection/cmd-status.js.map +0 -1
  113. package/lib/cloud-connection/message-builder.d.ts +0 -7
  114. package/lib/cloud-connection/message-builder.d.ts.map +0 -1
  115. package/lib/cloud-connection/message-builder.js +0 -63
  116. package/lib/cloud-connection/message-builder.js.map +0 -1
  117. package/lib/secure-tunneling/index.d.ts +0 -5
  118. package/lib/secure-tunneling/index.d.ts.map +0 -1
  119. package/lib/secure-tunneling/index.js +0 -64
  120. package/lib/secure-tunneling/index.js.map +0 -1
  121. package/src/cloud-connection/cmd-status.ts +0 -71
  122. package/src/cloud-connection/message-builder.ts +0 -117
  123. package/src/secure-tunneling/index.ts +0 -74
@@ -3,61 +3,227 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
4
4
  const transaction_manager_1 = require("./transaction-manager");
5
5
  const uuid_1 = require("uuid");
6
+ const publisher_1 = require("./publisher");
7
+ const mockClient = {
8
+ publish: jest.fn()
9
+ };
10
+ const clientId = 'test-client';
11
+ const mockLiveUpdatesHandler = {
12
+ enableTransactionStatus: jest.fn(),
13
+ disableTransactionStatus: jest.fn()
14
+ };
6
15
  describe('Test Transaction Manager', () => {
7
16
  let txnMgr;
17
+ let publisher;
18
+ const func_complete = jest
19
+ .fn()
20
+ .mockResolvedValue(true);
21
+ const func_incomplete = jest
22
+ .fn()
23
+ .mockResolvedValue(false);
8
24
  beforeEach(() => {
9
- txnMgr = new transaction_manager_1.TransactionManager();
25
+ publisher = new publisher_1.Publisher(mockClient, clientId);
26
+ txnMgr = new transaction_manager_1.TransactionManager(publisher, mockLiveUpdatesHandler);
10
27
  jest.clearAllMocks();
11
28
  });
12
29
  function generateRandomProjectId() {
13
30
  return (0, uuid_1.v4)();
14
31
  }
15
- test('Add a new transaction', async () => {
32
+ test('Start a new transaction', async () => {
16
33
  const txId = (0, device_agent_schemas_1.generateTxId)();
17
34
  const projectId = generateRandomProjectId();
18
- txnMgr.addTransaction(txId, projectId);
35
+ await txnMgr.runTransactionStep({
36
+ func: func_incomplete,
37
+ projectId,
38
+ txId,
39
+ start: true
40
+ });
19
41
  expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
20
42
  expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
43
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(true);
44
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(true);
45
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(true);
46
+ });
47
+ test('Start a new transaction which completes in one step', async () => {
48
+ const txId = (0, device_agent_schemas_1.generateTxId)();
49
+ const projectId = generateRandomProjectId();
50
+ await txnMgr.runTransactionStep({
51
+ func: func_complete,
52
+ projectId,
53
+ txId,
54
+ start: true
55
+ });
56
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
57
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
58
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
59
+ const msg = JSON.parse(mockClient.publish.mock.calls[0][1]);
60
+ expect(msg.payload.status).toBe(device_agent_schemas_1.keyMirrors.statusResponse.success);
61
+ });
62
+ test('Start a new transaction and complete in second step', async () => {
63
+ const txId = (0, device_agent_schemas_1.generateTxId)();
64
+ const projectId = generateRandomProjectId();
65
+ await txnMgr.runTransactionStep({
66
+ func: func_incomplete,
67
+ projectId,
68
+ txId,
69
+ start: true,
70
+ stepName: 'step1'
71
+ });
72
+ await txnMgr.runTransactionStep({
73
+ func: func_complete,
74
+ projectId,
75
+ txId,
76
+ start: false,
77
+ stepName: 'step2'
78
+ });
79
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
80
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
81
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
21
82
  });
22
- test('Add multiple transactions to different projects', async () => {
83
+ test('Start multiple transactions for different projects', async () => {
23
84
  const numTransactions = 3;
24
85
  const projectTxIdList = [];
25
86
  for (let i = 0; i < numTransactions; i++) {
26
87
  const txId = (0, device_agent_schemas_1.generateTxId)();
27
88
  const projectId = generateRandomProjectId();
28
- txnMgr.addTransaction(txId, projectId);
89
+ await txnMgr.runTransactionStep({
90
+ func: func_incomplete,
91
+ projectId,
92
+ txId,
93
+ start: true
94
+ });
29
95
  projectTxIdList.push({ projectId, txId });
30
96
  }
31
97
  projectTxIdList.forEach(({ txId, projectId }) => {
32
98
  expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
33
99
  expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
100
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(true);
101
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(true);
102
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(true);
34
103
  });
35
104
  });
36
- test('Attempt to add existing transaction to a project, results in failure', async () => {
105
+ test('Attempt to start an ongoing transaction, results in failure', async () => {
37
106
  const txId = (0, device_agent_schemas_1.generateTxId)();
38
107
  const projectId = generateRandomProjectId();
39
- txnMgr.addTransaction(txId, projectId);
40
- expect(() => txnMgr.addTransaction(txId, projectId)).toThrow(`Transaction ID ${txId} already exists for this projectId ${projectId}!`);
108
+ await txnMgr.runTransactionStep({
109
+ func: func_incomplete,
110
+ projectId,
111
+ txId,
112
+ start: true,
113
+ stepName: 'step1'
114
+ });
115
+ try {
116
+ await txnMgr.runTransactionStep({
117
+ func: func_incomplete,
118
+ projectId,
119
+ txId,
120
+ start: true,
121
+ stepName: 'step2'
122
+ });
123
+ throw new Error('Expected starting transaction to fail!');
124
+ }
125
+ catch (e) {
126
+ console.log(e);
127
+ expect(e.code).toBe(txnMgr.Errors.TRANSACTION_ONGOING);
128
+ }
41
129
  expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
42
130
  expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
43
131
  });
44
- test('Attempt to add a transaction to a project with an ongoing transaction, results in failure', async () => {
132
+ test('Attempt to continue a transaction that is not ongoing', async () => {
133
+ const txId = (0, device_agent_schemas_1.generateTxId)();
134
+ const projectId = generateRandomProjectId();
135
+ try {
136
+ await txnMgr.runTransactionStep({
137
+ func: func_incomplete,
138
+ projectId,
139
+ txId,
140
+ start: false,
141
+ stepName: 'step1'
142
+ });
143
+ throw new Error('Expected continue transaction to fail!');
144
+ }
145
+ catch (e) {
146
+ console.log(e);
147
+ expect(e.code).toBe(txnMgr.Errors.TRANSACTION_NOT_ONGOING);
148
+ }
149
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
150
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
151
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
152
+ });
153
+ test('Attempt to start a transaction for a project with an ongoing transaction, results in failure', async () => {
45
154
  const txId = (0, device_agent_schemas_1.generateTxId)();
46
155
  const txId2 = (0, device_agent_schemas_1.generateTxId)();
47
156
  const projectId = generateRandomProjectId();
48
- txnMgr.addTransaction(txId, projectId);
49
- expect(() => txnMgr.addTransaction(txId2, projectId)).toThrow(`This Project ID ${projectId} already has an ongoing transaction!`);
157
+ await txnMgr.runTransactionStep({
158
+ func: func_incomplete,
159
+ projectId,
160
+ txId,
161
+ start: true,
162
+ stepName: 'step1'
163
+ });
164
+ try {
165
+ await txnMgr.runTransactionStep({
166
+ func: func_incomplete,
167
+ projectId,
168
+ txId: txId2,
169
+ start: true,
170
+ stepName: 'step2'
171
+ });
172
+ throw new Error('Expected start transaction to fail!');
173
+ }
174
+ catch (e) {
175
+ console.log(e);
176
+ expect(e.code).toBe(txnMgr.Errors.PROJECT_ONGOING);
177
+ }
50
178
  expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
51
179
  expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
52
180
  expect(txnMgr.getProjectFromTransaction(txId2)).toBeUndefined();
53
181
  });
54
- test('Test remove transaction from queue', async () => {
182
+ test('Handle error in step function', async () => {
55
183
  const txId = (0, device_agent_schemas_1.generateTxId)();
56
184
  const projectId = generateRandomProjectId();
57
- txnMgr.addTransaction(txId, projectId);
185
+ await txnMgr.runTransactionStep({
186
+ func: jest.fn().mockImplementation(() => {
187
+ throw new Error('Test error!');
188
+ }),
189
+ projectId,
190
+ txId,
191
+ start: true,
192
+ stepName: 'step1'
193
+ });
194
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
195
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
196
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
197
+ const msg = JSON.parse(mockClient.publish.mock.calls[0][1]);
198
+ expect(msg.payload.status).toBe(device_agent_schemas_1.keyMirrors.statusResponse.failure);
199
+ });
200
+ test('Complete ongoing transaction', async () => {
201
+ const txId = (0, device_agent_schemas_1.generateTxId)();
202
+ const projectId = generateRandomProjectId();
203
+ await txnMgr.runTransactionStep({
204
+ func: func_incomplete,
205
+ projectId,
206
+ txId,
207
+ start: true,
208
+ stepName: 'step1'
209
+ });
58
210
  txnMgr.completeTransaction(txId);
59
211
  expect(txnMgr.getTransactionFromProject(projectId)).toBeUndefined();
60
212
  expect(txnMgr.getProjectFromTransaction(txId)).toBeUndefined();
213
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
214
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
215
+ });
216
+ test('Test remove non-existing transaction from queue', async () => {
217
+ const txId = (0, device_agent_schemas_1.generateTxId)();
218
+ try {
219
+ txnMgr.completeTransaction(txId);
220
+ throw new Error('Expected completTransaction to fail!');
221
+ }
222
+ catch (e) {
223
+ console.log(e);
224
+ expect(e.code).toBe(txnMgr.Errors.TRANSACTION_NOT_ONGOING);
225
+ }
226
+ expect(txnMgr.getProjectFromTransaction(txId)).toBeUndefined();
61
227
  });
62
228
  });
63
229
  //# sourceMappingURL=transaction-manager.test.js.map
@@ -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":";;AAAA,yEAIwC;AACxC,+DAA2D;AAC3D,+BAAoC;AACpC,2CAAwC;AAGxC,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,MAAM,sBAAsB,GAAG;IAC7B,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;IAClC,wBAAwB,EAAE,IAAI,CAAC,EAAE,EAAE;CACP,CAAC;AAE/B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,MAA0B,CAAC;IAC/B,IAAI,SAAoB,CAAC;IACzB,MAAM,aAAa,GAA2B,IAAI;SAC/C,EAAE,EAAE;SACJ,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,eAAe,GAA2B,IAAI;SACjD,EAAE,EAAE;SACJ,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5B,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG,IAAI,qBAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,GAAG,IAAI,wCAAkB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,uBAAuB;QAC9B,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,GAAkC,IAAI,CAAC,KAAK,CACnD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,eAAe,GAAG,CAAC,CAAC;QAC1B,MAAM,eAAe,GAAQ,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;YAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC3C;QACD,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACxD;QACD,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SAC5D;QACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,GAAkC,IAAI,CAAC,KAAK,CACnD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,IAAI;YACF,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SAC5D;QAED,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SystemInformationPayload } from '@alwaysai/device-agent-schemas';
1
+ import { SystemInformationShadowUpdate } from '@alwaysai/device-agent-schemas';
2
2
  export declare function getCpuDetails(): Promise<{
3
3
  usedPerc: number;
4
4
  temperature: number;
@@ -54,6 +54,6 @@ export declare function getPackageVersions(): Promise<{
54
54
  agent: any;
55
55
  deviceAgentSchemas: any;
56
56
  }>;
57
- export declare function getSystemInformation(): Promise<SystemInformationPayload>;
57
+ export declare function getSystemInformation(): Promise<SystemInformationShadowUpdate>;
58
58
  export declare function reboot(): Promise<void>;
59
59
  //# sourceMappingURL=device-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-control.d.ts","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAU1E,wBAAsB,aAAa;;;GAOlC;AAED,wBAAsB,cAAc;;;GAQnC;AAED,wBAAsB,aAAa;;;GAMlC;AAGD,wBAAsB,SAAS;;;;;;;GAU9B;AAED,wBAAsB,UAAU;;;;;;;;;GAY/B;AAED,wBAAsB,WAAW;;;;;;;;GAWhC;AAED,wBAAsB,aAAa;;;;;;GAYlC;AAED,wBAAsB,cAAc;;;;GAWnC;AAED,wBAAsB,kBAAkB;;;GASvC;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAe9E;AAED,wBAAsB,MAAM,kBAiB3B"}
1
+ {"version":3,"file":"device-control.d.ts","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAU/E,wBAAsB,aAAa;;;GAOlC;AAED,wBAAsB,cAAc;;;GAQnC;AAED,wBAAsB,aAAa;;;GAMlC;AAGD,wBAAsB,SAAS;;;;;;;GAU9B;AAED,wBAAsB,UAAU;;;;;;;;;GAY/B;AAED,wBAAsB,WAAW;;;;;;;;GAWhC;AAED,wBAAsB,aAAa;;;;;;GAYlC;AAED,wBAAsB,cAAc;;;;GAWnC;AAED,wBAAsB,kBAAkB;;;GASvC;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAenF;AAED,wBAAsB,MAAM,kBAiB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-control.js","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-control.js","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ export declare type SecureTunnelPortInfo = {
2
+ enabled: boolean;
3
+ type: string;
4
+ ip: string;
5
+ port: number;
6
+ };
7
+ export declare type SecureTunnelShadowDesRep = {
8
+ st_ports: SecureTunnelPortInfo[];
9
+ };
10
+ export declare type SecureTunnelShadowState = {
11
+ reported?: SecureTunnelShadowDesRep;
12
+ desired?: SecureTunnelShadowDesRep;
13
+ };
14
+ export declare type SecureTunnelShadowUpdateDelta = {
15
+ version: number;
16
+ timestamp: number;
17
+ state: SecureTunnelShadowDesRep;
18
+ metadata?: any;
19
+ };
20
+ export declare type SecureTunnelShadowUpdate = {
21
+ version: number;
22
+ state: SecureTunnelShadowState;
23
+ };
24
+ declare type SecureTunnelNotificationType = {
25
+ clientAccessToken: string;
26
+ region: string;
27
+ services: string[];
28
+ };
29
+ /**
30
+ * Handles Secure Tunnel Shadow State
31
+ */
32
+ export declare class SecureTunnelHandlerSingleton {
33
+ private static instance;
34
+ private reported;
35
+ private httpProxyMap;
36
+ private localproxyInfo;
37
+ /**
38
+ * Initializes private variables of SecureTunnel handler.
39
+ * private constructor to prevent instantiation from outside
40
+ */
41
+ private constructor();
42
+ /**
43
+ * Implements the Singleton of the SecureTunnel
44
+ */
45
+ static getInstance(): SecureTunnelHandlerSingleton;
46
+ /**
47
+ * Stops all proxies started before
48
+ */
49
+ destroy(): Promise<void>;
50
+ /**
51
+ * Returns current state of SecureTunnel shadow
52
+ * @returns {SecureTunnelShadowDesRep} - reported state of the SecureTunnel shadow
53
+ */
54
+ getSecureTunnelShadow(): SecureTunnelShadowDesRep;
55
+ /**
56
+ * Updates current state of SecureTunnel shadow
57
+ * @param {SecureTunnelShadowUpdateDelta} deltaMsg - delta message, which includes desired state of the SecureTunnel shadow
58
+ * @return {SecureTunnelShadowDesRep} update reported message to send back to AWS IoT device shadow
59
+ */
60
+ syncShadowToDeviceState(deltaMsg: SecureTunnelShadowUpdateDelta): Promise<SecureTunnelShadowDesRep>;
61
+ /**
62
+ * Starts SecureTunnel
63
+ * @param {SecureTunnelNotificationType} message - AWS notification received
64
+ */
65
+ secureTunnelNotifyHandler(message: SecureTunnelNotificationType): Promise<void>;
66
+ /**
67
+ * Removes reported ports which are do not exist in desired
68
+ * @param {SecureTunnelPortInfo[]} desiredPorts - desired port config
69
+ */
70
+ private CleanupReportedPorts;
71
+ /**
72
+ * Starts port proxy mapping process
73
+ * @param {SecureTunnelPortInfo} portInfo - port info to start the port mapping process for
74
+ */
75
+ private startProxyMapping;
76
+ /**
77
+ * Stops port proxy mapping process
78
+ * @param {SecureTunnelPortInfo} portInfo - port info to stop the port mapping process for
79
+ */
80
+ private stopProxyMapping;
81
+ /**
82
+ * Starts SecureTunnel localproxy process
83
+ */
84
+ private startLocalproxy;
85
+ /**
86
+ * Stops SecureTunnel localproxy process
87
+ */
88
+ private stopLocalproxy;
89
+ /**
90
+ * processes and validate notify message
91
+ * @param {string[]} message - message, which contains: clientAccessToken, region, services
92
+ */
93
+ private processNotifyMessage;
94
+ /**
95
+ * Downloads SecureTunnel localproxy, if it was not downloaded before
96
+ */
97
+ private downloadSecureTunnel;
98
+ /**
99
+ * Gets next available localhost port
100
+ */
101
+ private getNextAvailablePort;
102
+ private sortPorts;
103
+ }
104
+ export {};
105
+ //# sourceMappingURL=secure-tunneling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-tunneling.d.ts","sourceRoot":"","sources":["../../src/secure-tunneling/secure-tunneling.ts"],"names":[],"mappings":"AAsBA,oBAAY,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,wBAAwB,GAAG;IACrC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,wBAAwB,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,oBAAY,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAsBF,aAAK,4BAA4B,GAAG;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAMF;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,cAAc,CAA6B;IAEnD;;;OAGG;IACH,OAAO;IAqBP;;OAEG;WACW,WAAW,IAAI,4BAA4B;IAUzD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrC;;;OAGG;IACI,qBAAqB,IAAI,wBAAwB;IAOxD;;;;OAIG;IACU,uBAAuB,CAClC,QAAQ,EAAE,6BAA6B,GACtC,OAAO,CAAC,wBAAwB,CAAC;IA0DpC;;;OAGG;IACU,yBAAyB,CACpC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;OAGG;YACW,oBAAoB;IAkClC;;;OAGG;YACW,iBAAiB;IA+C/B;;;OAGG;YACW,gBAAgB;IA2C9B;;OAEG;YACW,eAAe;IAuB7B;;OAEG;YACW,cAAc;IA4B5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmF5B;;OAEG;YACW,oBAAoB;IA8BlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,SAAS;CAmBlB"}