zephyr-agent 0.0.16 → 0.0.18

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 (56) hide show
  1. package/dist/lib/actions/ze-enable-snapshot-on-edge.d.ts +1 -1
  2. package/dist/lib/actions/ze-enable-snapshot-on-edge.js +1 -1
  3. package/dist/lib/actions/ze-enable-snapshot-on-edge.js.map +1 -1
  4. package/dist/lib/actions/ze-upload-assets.d.ts +1 -1
  5. package/dist/lib/actions/ze-upload-assets.js +38 -41
  6. package/dist/lib/actions/ze-upload-assets.js.map +1 -1
  7. package/dist/lib/actions/ze-upload-build-stats.d.ts +5 -4
  8. package/dist/lib/actions/ze-upload-build-stats.js +29 -19
  9. package/dist/lib/actions/ze-upload-build-stats.js.map +1 -1
  10. package/dist/lib/actions/ze-upload-snapshot.d.ts +1 -1
  11. package/dist/lib/actions/ze-upload-snapshot.js +6 -12
  12. package/dist/lib/actions/ze-upload-snapshot.js.map +1 -1
  13. package/dist/lib/application-configuration/get-application-configuration.d.ts +7 -0
  14. package/dist/lib/application-configuration/get-application-configuration.js +67 -35
  15. package/dist/lib/application-configuration/get-application-configuration.js.map +1 -1
  16. package/dist/lib/auth/login.d.ts +2 -12
  17. package/dist/lib/auth/login.js +82 -55
  18. package/dist/lib/auth/login.js.map +1 -1
  19. package/dist/lib/auth/websocket.d.ts +1 -2
  20. package/dist/lib/auth/websocket.js +1 -6
  21. package/dist/lib/auth/websocket.js.map +1 -1
  22. package/dist/lib/context-utils/ze-util-get-git-info.d.ts +1 -1
  23. package/dist/lib/context-utils/ze-util-get-git-info.js +3 -8
  24. package/dist/lib/context-utils/ze-util-get-git-info.js.map +1 -1
  25. package/dist/lib/dvcs/distributed-hash-control.js +6 -3
  26. package/dist/lib/dvcs/distributed-hash-control.js.map +1 -1
  27. package/dist/lib/dvcs/get-cache-key.d.ts +1 -0
  28. package/dist/lib/dvcs/get-cache-key.js +17 -0
  29. package/dist/lib/dvcs/get-cache-key.js.map +1 -0
  30. package/dist/lib/remote-logs/ze-log-event.d.ts +5 -2
  31. package/dist/lib/remote-logs/ze-log-event.js +63 -40
  32. package/dist/lib/remote-logs/ze-log-event.js.map +1 -1
  33. package/dist/lib/upload/strategies/cloudflare/upload-build-stats-and-enable-envs.d.ts +1 -3
  34. package/dist/lib/upload/strategies/cloudflare/upload.d.ts +8 -1
  35. package/dist/lib/upload/strategies/cloudflare/upload.js +4 -3
  36. package/dist/lib/upload/strategies/cloudflare/upload.js.map +1 -1
  37. package/dist/lib/upload/strategies/cloudflare.strategy.d.ts +2 -3
  38. package/dist/lib/upload/strategies/cloudflare.strategy.js +6 -26
  39. package/dist/lib/upload/strategies/cloudflare.strategy.js.map +1 -1
  40. package/dist/lib/upload/strategies/netlify.strategy.d.ts +2 -3
  41. package/dist/lib/upload/strategies/netlify.strategy.js +6 -14
  42. package/dist/lib/upload/strategies/netlify.strategy.js.map +1 -1
  43. package/dist/lib/upload/upload-file.d.ts +4 -4
  44. package/dist/lib/upload/upload-file.js +2 -6
  45. package/dist/lib/upload/upload-file.js.map +1 -1
  46. package/dist/lib/upload/upload.d.ts +2 -3
  47. package/dist/lib/upload/upload.js +18 -14
  48. package/dist/lib/upload/upload.js.map +1 -1
  49. package/dist/lib/util/promise.d.ts +22 -0
  50. package/dist/lib/util/promise.js +59 -0
  51. package/dist/lib/util/promise.js.map +1 -0
  52. package/dist/package.json +1 -1
  53. package/package.json +2 -2
  54. package/dist/lib/upload/strategies/cloudflare/upload-to-pages.d.ts +0 -1
  55. package/dist/lib/upload/strategies/cloudflare/upload-to-pages.js +0 -20
  56. package/dist/lib/upload/strategies/cloudflare/upload-to-pages.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { type ZephyrPluginOptions, type ZeUploadBuildStats } from 'zephyr-edge-contract';
1
+ import { type ZeUploadBuildStats, type ZephyrPluginOptions } from 'zephyr-edge-contract';
2
2
  interface ZeEnableSnapshotOnEdgeProps {
3
3
  pluginOptions: ZephyrPluginOptions;
4
4
  envs_jwt: ZeUploadBuildStats;
@@ -29,7 +29,7 @@ function zeEnableSnapshotOnEdge(props) {
29
29
  logEvent({
30
30
  level: 'info',
31
31
  action: 'build:deploy:done',
32
- message: `Build deployed in ${(0, zephyr_edge_contract_1.yellow)(`${Date.now() - zeStart}`)}ms`,
32
+ message: `Deployment took ${(0, zephyr_edge_contract_1.yellow)(`${Date.now() - zeStart}`)}ms`,
33
33
  }, {
34
34
  level: 'trace',
35
35
  action: 'deploy:url',
@@ -1 +1 @@
1
- {"version":3,"file":"ze-enable-snapshot-on-edge.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-enable-snapshot-on-edge.ts"],"names":[],"mappings":";;;;AAAA,+DAQ8B;AAC9B,8DAAqD;AACrD,uDAAmD;AAQnD,SAAsB,sBAAsB,CAAC,KAAkC;;QAC7E,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEnD,IAAA,6BAAM,EAAC,8BAA8B,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAU,EAAC;YAC9B,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa,CAAC,eAAe;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,sCAAsC;aAChD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI;aACvB,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,uCAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,kCAAW,EAAC,GAAG,CAAC,EAAE,CAAC;aAC1F,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,QAAQ,CACN;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,qBAAqB,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;SACpE,EACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,uBAAuB,IAAI,IAAI;SACzC,CACF,CAAC;QAEF,IAAA,6BAAM,EAAC,wCAAwC,CAAC,CAAC;IACnD,CAAC;CAAA;AAvCD,wDAuCC"}
1
+ {"version":3,"file":"ze-enable-snapshot-on-edge.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-enable-snapshot-on-edge.ts"],"names":[],"mappings":";;;;AAAA,+DAQ8B;AAC9B,8DAAqD;AACrD,uDAAmD;AAQnD,SAAsB,sBAAsB,CAAC,KAAkC;;QAC7E,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEnD,IAAA,6BAAM,EAAC,8BAA8B,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAU,EAAC;YAC9B,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa,CAAC,eAAe;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,sCAAsC;aAChD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI;aACvB,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,uCAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,kCAAW,EAAC,GAAG,CAAC,EAAE,CAAC;aAC1F,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,QAAQ,CACN;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,mBAAmB,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;SAClE,EACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,uBAAuB,IAAI,IAAI;SACzC,CACF,CAAC;QAEF,IAAA,6BAAM,EAAC,wCAAwC,CAAC,CAAC;IACnD,CAAC;CAAA;AAvCD,wDAuCC"}
@@ -1,2 +1,2 @@
1
- import { type ZephyrPluginOptions, type ZeUploadAssetsOptions } from 'zephyr-edge-contract';
1
+ import { type ZeUploadAssetsOptions, type ZephyrPluginOptions } from 'zephyr-edge-contract';
2
2
  export declare function zeUploadAssets(pluginOptions: ZephyrPluginOptions, { missingAssets, assetsMap, count }: ZeUploadAssetsOptions): Promise<boolean>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zeUploadAssets = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
6
+ const get_application_configuration_1 = require("../application-configuration/get-application-configuration");
6
7
  const ze_log_event_1 = require("../remote-logs/ze-log-event");
7
8
  const upload_file_1 = require("../upload/upload-file");
8
9
  function zeUploadAssets(pluginOptions_1, _a) {
@@ -12,62 +13,58 @@ function zeUploadAssets(pluginOptions_1, _a) {
12
13
  logEvent({
13
14
  level: 'info',
14
15
  action: 'snapshot:assets:upload:empty',
15
- message: 'No new assets to upload',
16
+ message: `No assets to upload, ${(0, zephyr_edge_contract_1.white)('skipping')}...`,
16
17
  });
17
18
  return true;
18
19
  }
19
- logEvent({
20
- level: 'info',
21
- action: 'snapshot:assets:upload:started',
22
- message: `uploading missing assets to zephyr (queued ${missingAssets === null || missingAssets === void 0 ? void 0 : missingAssets.length} out of ${count})`,
23
- });
24
- let totalTime = 0;
20
+ const start = Date.now();
25
21
  let totalSize = 0;
26
- const res = yield Promise.all(missingAssets.map((asset) => tslib_1.__awaiter(this, void 0, void 0, function* () {
27
- var _b;
28
- const start = Date.now();
29
- const assetWithBuffer = assetsMap[asset.hash];
30
- const assetSize = ((_b = assetWithBuffer === null || assetWithBuffer === void 0 ? void 0 : assetWithBuffer.buffer) === null || _b === void 0 ? void 0 : _b.length) / 1024;
31
- return yield (0, upload_file_1.uploadFile)({
32
- hash: asset.hash,
33
- asset: assetWithBuffer,
34
- application_uid: pluginOptions.application_uid,
35
- })
36
- .then(() => {
37
- const fileUploaded = Date.now() - start;
38
- totalTime += fileUploaded;
39
- totalSize += assetSize;
40
- (0, zephyr_edge_contract_1.ze_log)(`file ${asset.path} uploaded in ${fileUploaded}ms (${assetSize.toFixed(2)}kb)`);
41
- })
42
- .catch((err) => {
43
- logEvent({
44
- level: 'error',
45
- action: 'snapshot:assets:upload:file:failed',
46
- message: `failed to upload file ${asset.path} \n ${err.message.toString()}`,
47
- });
48
- throw err;
49
- });
50
- })))
51
- .then(() => {
22
+ const appConfig = yield (0, get_application_configuration_1.getApplicationConfiguration)({
23
+ application_uid: pluginOptions.application_uid,
24
+ });
25
+ try {
26
+ yield Promise.all(missingAssets.map(upload_missing_asset));
52
27
  logEvent({
53
28
  level: 'info',
54
29
  action: 'snapshot:assets:upload:done',
55
- message: `Uploaded missing assets to zephyr (${(0, zephyr_edge_contract_1.yellow)(missingAssets.length.toString())} assets in ${(0, zephyr_edge_contract_1.yellow)(totalTime.toString())}ms, ${(0, zephyr_edge_contract_1.yellow)(totalSize.toFixed(2))}kb)`,
30
+ message: (0, zephyr_edge_contract_1.white)(`(${(0, zephyr_edge_contract_1.whiteBright)(missingAssets.length.toString())}/${(0, zephyr_edge_contract_1.white)(count.toString())} assets uploaded in ${(0, zephyr_edge_contract_1.whiteBright)((Date.now() - start).toString())}ms, ${(0, zephyr_edge_contract_1.whiteBright)(totalSize.toFixed(2))}kb)`),
56
31
  });
57
32
  return true;
58
- })
59
- .catch((err) => {
33
+ }
34
+ catch (error) {
60
35
  logEvent({
61
36
  level: 'error',
62
37
  action: 'snapshot:assets:upload:failed',
63
- message: `Event: failed uploading missing assets to zephyr \n ${err.message}`,
38
+ message: `Failed uploading missing assets to zephyr\n${String(error)}`,
64
39
  });
40
+ (0, zephyr_edge_contract_1.ze_error)('ERR_FAILED_UPLOAD_ASSETS', error);
65
41
  return false;
66
- });
67
- if (!res) {
68
- (0, zephyr_edge_contract_1.ze_error)('ERR_FAILED_UPLOAD_ASSETS', res);
69
42
  }
70
- return res;
43
+ function upload_missing_asset(asset) {
44
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
+ var _a;
46
+ const start = Date.now();
47
+ const assetWithBuffer = assetsMap[asset.hash];
48
+ const assetSize = ((_a = assetWithBuffer === null || assetWithBuffer === void 0 ? void 0 : assetWithBuffer.buffer) === null || _a === void 0 ? void 0 : _a.length) / 1024;
49
+ try {
50
+ yield (0, upload_file_1.uploadFile)({
51
+ hash: asset.hash,
52
+ asset: assetWithBuffer,
53
+ }, appConfig);
54
+ const fileUploaded = Date.now() - start;
55
+ totalSize += assetSize;
56
+ (0, zephyr_edge_contract_1.ze_log)(`file ${asset.path} uploaded in ${fileUploaded}ms (${assetSize.toFixed(2)}kb)`);
57
+ }
58
+ catch (err) {
59
+ logEvent({
60
+ level: 'error',
61
+ action: 'snapshot:assets:upload:file:failed',
62
+ message: `failed to upload file ${asset.path}\n${String(err)}`,
63
+ });
64
+ throw err;
65
+ }
66
+ });
67
+ }
71
68
  });
72
69
  }
73
70
  exports.zeUploadAssets = zeUploadAssets;
@@ -1 +1 @@
1
- {"version":3,"file":"ze-upload-assets.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ze-upload-assets.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-assets.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { ZephyrBuildStats, ZeUploadBuildStats } from 'zephyr-edge-contract';
2
- export declare function zeUploadBuildStats(dashData: ZephyrBuildStats): Promise<{
3
- value: ZeUploadBuildStats;
4
- } | void>;
1
+ import { type ZephyrBuildStats } from 'zephyr-edge-contract';
2
+ /**
3
+ * Returns true if build stats are uploaded successfully, false otherwise.
4
+ */
5
+ export declare function zeUploadBuildStats(dashData: ZephyrBuildStats): Promise<boolean>;
@@ -3,31 +3,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zeUploadBuildStats = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
6
+ const ERR_FAILED_UPLOAD_BUILD_STATS_MSG = `
7
+
8
+ If you believe this is a mistake please make sure you have access to the organization for this application in Zephyr.
9
+ Could not complete deployment...
10
+
11
+ `.trim();
12
+ /**
13
+ * Returns true if build stats are uploaded successfully, false otherwise.
14
+ */
6
15
  function zeUploadBuildStats(dashData) {
7
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
17
  // Add dots here to indicate this is an async operation
9
18
  (0, zephyr_edge_contract_1.ze_log)(`${zephyr_edge_contract_1.dimmedName} Uploading build stats to Zephyr...`);
10
19
  const token = yield (0, zephyr_edge_contract_1.getToken)();
11
20
  const url = new URL(zephyr_edge_contract_1.ze_api_gateway.build_stats, (0, zephyr_edge_contract_1.ZE_API_ENDPOINT)());
12
- const res = yield (0, zephyr_edge_contract_1.request)(url, {
13
- method: 'POST',
14
- headers: {
15
- 'Content-Type': 'application/json',
16
- Authorization: 'Bearer ' + token,
17
- Accept: 'application/json',
18
- },
19
- }, JSON.stringify(dashData)).catch((err) => {
20
- (0, zephyr_edge_contract_1.ze_error)('ERR_FAILED_UPLOAD_BUILD_STATS', `
21
- If you believe this is a mistake please make sure you have access to the organization for this application in Zephyr.
22
- Error uploading build stats, deployment is not completed....
23
- `.trim(), err);
24
- });
25
- if (!res)
26
- return (0, zephyr_edge_contract_1.ze_error)('ERR_NOT_RECEIVE_ENVS_FROM_BUILD_STATS', 'Did not receive envs from build stats upload. Exiting...');
27
- if (typeof res === 'string')
28
- return (0, zephyr_edge_contract_1.ze_error)('ERR_FAILED_UPLOAD_BUILD_STATS', 'Failed to upload build stats.', res);
29
- (0, zephyr_edge_contract_1.ze_log)(`Build stats uploaded to Zephyr...`);
30
- return res;
21
+ try {
22
+ const res = yield (0, zephyr_edge_contract_1.request)(url, {
23
+ method: 'POST',
24
+ headers: {
25
+ 'Content-Type': 'application/json',
26
+ Authorization: `Bearer ${token}`,
27
+ Accept: 'application/json',
28
+ },
29
+ }, JSON.stringify(dashData));
30
+ // Check for invalid responses
31
+ if (typeof res === 'string' || res.status !== 'ok') {
32
+ throw res; // throw the error to be caught by the catch block
33
+ }
34
+ (0, zephyr_edge_contract_1.ze_log)('Build stats uploaded to Zephyr...');
35
+ return true;
36
+ }
37
+ catch (err) {
38
+ (0, zephyr_edge_contract_1.ze_error)('ERR_FAILED_UPLOAD_BUILD_STATS', ERR_FAILED_UPLOAD_BUILD_STATS_MSG, err);
39
+ return false;
40
+ }
31
41
  });
32
42
  }
33
43
  exports.zeUploadBuildStats = zeUploadBuildStats;
@@ -1 +1 @@
1
- {"version":3,"file":"ze-upload-build-stats.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-build-stats.ts"],"names":[],"mappings":";;;;AAAA,+DAU8B;AAE9B,SAAsB,kBAAkB,CAAC,QAA0B;;QACjE,uDAAuD;QACvD,IAAA,6BAAM,EAAC,GAAG,iCAAU,qCAAqC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAQ,GAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qCAAc,CAAC,WAAW,EAAE,IAAA,sCAAe,GAAE,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,MAAM,IAAA,8BAAO,EACvB,GAAG,EACH;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,SAAS,GAAG,KAAK;gBAChC,MAAM,EAAE,kBAAkB;aAC3B;SACF,EACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAA,+BAAQ,EACN,+BAA+B,EAC/B;;;OAGC,CAAC,IAAI,EAAE,EACR,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG;YAAE,OAAO,IAAA,+BAAQ,EAAC,uCAAuC,EAAE,0DAA0D,CAAC,CAAC;QAE/H,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,IAAA,+BAAQ,EAAC,+BAA+B,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;QAEpH,IAAA,6BAAM,EAAC,mCAAmC,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAjCD,gDAiCC"}
1
+ {"version":3,"file":"ze-upload-build-stats.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-build-stats.ts"],"names":[],"mappings":";;;;AAAA,+DAS8B;AAE9B,MAAM,iCAAiC,GAAG;;;;;CAKzC,CAAC,IAAI,EAAE,CAAC;AAET;;GAEG;AACH,SAAsB,kBAAkB,CAAC,QAA0B;;QACjE,uDAAuD;QACvD,IAAA,6BAAM,EAAC,GAAG,iCAAU,qCAAqC,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAQ,GAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qCAAc,CAAC,WAAW,EAAE,IAAA,sCAAe,GAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,8BAAO,EACvB,GAAG,EACH;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,MAAM,EAAE,kBAAkB;iBAC3B;aACF,EACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC;YAEF,8BAA8B;YAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACnD,MAAM,GAAG,CAAC,CAAC,kDAAkD;YAC/D,CAAC;YAED,IAAA,6BAAM,EAAC,mCAAmC,CAAC,CAAC;YAE5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,+BAAQ,EAAC,+BAA+B,EAAE,iCAAiC,EAAE,GAAG,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAAA;AAlCD,gDAkCC"}
@@ -1,4 +1,4 @@
1
- import { type Snapshot, type ZephyrPluginOptions, ZeApplicationConfig } from 'zephyr-edge-contract';
1
+ import { type Snapshot, type ZeApplicationConfig, type ZephyrPluginOptions } from 'zephyr-edge-contract';
2
2
  export declare function zeUploadSnapshot(props: {
3
3
  pluginOptions: ZephyrPluginOptions;
4
4
  snapshot: Snapshot;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zeUploadSnapshot = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
6
+ const snapshot_uploads_1 = require("../custom-errors/snapshot-uploads");
6
7
  const ze_log_event_1 = require("../remote-logs/ze-log-event");
7
8
  const upload_snapshot_1 = require("../upload/upload-snapshot");
8
- const snapshot_uploads_1 = require("../custom-errors/snapshot-uploads");
9
+ const promise_1 = require("../util/promise");
9
10
  function zeUploadSnapshot(props) {
10
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
12
  var _a;
@@ -13,13 +14,10 @@ function zeUploadSnapshot(props) {
13
14
  const { buildEnv } = pluginOptions;
14
15
  const logEvent = (0, ze_log_event_1.logger)(pluginOptions);
15
16
  const snapUploadMs = Date.now();
16
- let error;
17
- const edgeTodo = yield (0, upload_snapshot_1.uploadSnapshot)({
17
+ const [error, edgeTodo] = yield (0, promise_1.PromiseTuple)((0, upload_snapshot_1.uploadSnapshot)({
18
18
  body: snapshot,
19
19
  application_uid: pluginOptions.application_uid,
20
- }).catch((err) => {
21
- error = err;
22
- });
20
+ }));
23
21
  const versionUrl = (_a = edgeTodo === null || edgeTodo === void 0 ? void 0 : edgeTodo.urls) === null || _a === void 0 ? void 0 : _a.version;
24
22
  if (!versionUrl || error) {
25
23
  logEvent({
@@ -39,13 +37,9 @@ function zeUploadSnapshot(props) {
39
37
  action: 'snapshot:upload:done',
40
38
  message: `Uploaded ${(0, zephyr_edge_contract_1.green)(buildEnv)} snapshot in ${(0, zephyr_edge_contract_1.yellow)(`${Date.now() - snapUploadMs}`)}ms`,
41
39
  });
42
- if (!edgeTodo)
40
+ if (!edgeTodo) {
43
41
  (0, zephyr_edge_contract_1.ze_error)('ERR_SNAPSHOT_UPLOADS_NO_RESULTS', 'Snapshot upload gave no result, exiting...\n');
44
- logEvent({
45
- level: 'trace',
46
- action: 'deploy:url',
47
- message: `Deploying to edge: ${zephyr_edge_contract_1.brightBlueBgName} -> ${(0, zephyr_edge_contract_1.cyanBright)(versionUrl)}`,
48
- });
42
+ }
49
43
  return versionUrl;
50
44
  });
51
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ze-upload-snapshot.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-snapshot.ts"],"names":[],"mappings":";;;;AAAA,+DAS8B;AAC9B,8DAAqD;AACrD,+DAA2D;AAE3D,wEAA4G;AAE5G,SAAsB,gBAAgB,CAAC,KAItC;;;QACC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,IAAI,KAAK,CAAC;QACV,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAc,EAAC;YACpC,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa,CAAC,eAAe;SAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,CAAC;QAE3C,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,wBAAwB;gBAChC,OAAO,EAAE,uBAAuB,QAAQ,qBAAqB;aAC9D,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,+BAAQ,EAAC,iCAAiC,CAAC,CAAC;gBAC5C,MAAM,IAAI,8CAA2B,EAAE,CAAC;YAC1C,CAAC;YACD,IAAA,+BAAQ,EAAC,6BAA6B,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC7E,MAAM,IAAI,6CAA0B,EAAE,CAAC;QACzC,CAAC;QAED,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,YAAY,IAAA,4BAAK,EAAC,QAAQ,CAAC,gBAAgB,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,IAAI;SAC/F,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ;YAAE,IAAA,+BAAQ,EAAC,iCAAiC,EAAE,8CAA8C,CAAC,CAAC;QAE3G,QAAQ,CAAC;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,sBAAsB,uCAAgB,QAAQ,IAAA,iCAAU,EAAC,UAAU,CAAC,EAAE;SAChF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;CAAA;AAjDD,4CAiDC"}
1
+ {"version":3,"file":"ze-upload-snapshot.js","sourceRoot":"","sources":["../../../src/lib/actions/ze-upload-snapshot.ts"],"names":[],"mappings":";;;;AAAA,+DAAkI;AAClI,wEAA4G;AAC5G,8DAAqD;AACrD,+DAA2D;AAC3D,6CAA+C;AAE/C,SAAsB,gBAAgB,CAAC,KAItC;;;QACC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,sBAAY,EAC1C,IAAA,gCAAc,EAAC;YACb,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa,CAAC,eAAe;SAC/C,CAAC,CACH,CAAC;QAEF,MAAM,UAAU,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,CAAC;QAE3C,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,wBAAwB;gBAChC,OAAO,EAAE,uBAAuB,QAAQ,qBAAqB;aAC9D,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,+BAAQ,EAAC,iCAAiC,CAAC,CAAC;gBAC5C,MAAM,IAAI,8CAA2B,EAAE,CAAC;YAC1C,CAAC;YAED,IAAA,+BAAQ,EAAC,6BAA6B,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC7E,MAAM,IAAI,6CAA0B,EAAE,CAAC;QACzC,CAAC;QAED,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,YAAY,IAAA,4BAAK,EAAC,QAAQ,CAAC,gBAAgB,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,IAAI;SAC/F,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAA,+BAAQ,EAAC,iCAAiC,EAAE,8CAA8C,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CAAA;AA9CD,4CA8CC"}
@@ -2,5 +2,12 @@ import { type ZeApplicationConfig } from 'zephyr-edge-contract';
2
2
  interface GetApplicationConfigurationProps {
3
3
  application_uid: string;
4
4
  }
5
+ /**
6
+ * Gather all calls until the first returns result:
7
+ * - no parallel requests to api
8
+ * - almost all actual data
9
+ *
10
+ * Note: not the best solution, but works until we use the same application_uid during execution
11
+ */
5
12
  export declare function getApplicationConfiguration({ application_uid }: GetApplicationConfigurationProps): Promise<ZeApplicationConfig>;
6
13
  export {};
@@ -2,60 +2,92 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getApplicationConfiguration = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const jose = tslib_1.__importStar(require("jose"));
6
5
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
7
6
  const login_1 = require("../auth/login");
8
7
  const configuration_error_1 = require("../custom-errors/configuration-error");
9
8
  function loadApplicationConfiguration(_a) {
10
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ application_uid }) {
9
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ application_uid, }) {
11
10
  if (!application_uid) {
12
11
  throw new configuration_error_1.ConfigurationError('ZE10017', 'application_uid is missing...\n', 'critical');
13
12
  }
14
13
  const token = yield (0, zephyr_edge_contract_1.getToken)();
15
14
  const application_config_url = new URL(`${zephyr_edge_contract_1.ze_api_gateway.application_config}/${application_uid}`, (0, zephyr_edge_contract_1.ZE_API_ENDPOINT)());
16
- const response = yield (0, zephyr_edge_contract_1.request)(application_config_url, {
17
- headers: { Authorization: `Bearer ${token}` },
18
- }).catch((v) => (0, zephyr_edge_contract_1.ze_error)('ERR_LOAD_APP_CONFIG', 'Failed to load application configuration', v));
19
- if (!response) {
20
- return undefined;
15
+ try {
16
+ const response = yield (0, zephyr_edge_contract_1.request)(application_config_url, {
17
+ headers: { Authorization: `Bearer ${token}` },
18
+ });
19
+ if (typeof response !== 'string' && response.value) {
20
+ (0, zephyr_edge_contract_1.ze_log)('Application Configuration loaded...', response);
21
+ return Object.assign(Object.assign({}, response.value), { fetched_at: Date.now() });
22
+ }
23
+ (0, zephyr_edge_contract_1.ze_error)('ERR_LOAD_APP_CONFIG', 'Invalid application configuration.', response);
24
+ return;
21
25
  }
22
- if (typeof response === 'string') {
23
- return (0, zephyr_edge_contract_1.ze_error)('ERR_LOAD_APP_CONFIG', 'Invalid application configuration.', response);
26
+ catch (v) {
27
+ (0, zephyr_edge_contract_1.ze_error)('ERR_LOAD_APP_CONFIG', 'Failed to load application configuration', v);
28
+ return;
24
29
  }
25
- (0, zephyr_edge_contract_1.ze_log)('Application Configuration loaded...', response);
26
- return Object.assign({}, response.value, {
27
- fetched_at: Date.now(),
28
- jwt_decode: jose.decodeJwt(response.value.jwt), // Is it necessary? It seems this property unused.
29
- });
30
30
  });
31
31
  }
32
- let refetching_app_config = false;
32
+ /**
33
+ * Gather all calls until the first returns result:
34
+ * - no parallel requests to api
35
+ * - almost all actual data
36
+ *
37
+ * Note: not the best solution, but works until we use the same application_uid during execution
38
+ */
33
39
  function getApplicationConfiguration(_a) {
34
40
  return tslib_1.__awaiter(this, arguments, void 0, function* ({ application_uid }) {
35
41
  (0, zephyr_edge_contract_1.ze_log)('Getting application configuration from node-persist');
36
- const storedAppConfig = yield (0, zephyr_edge_contract_1.getAppConfig)(application_uid);
37
- if (storedAppConfig && (0, login_1.isTokenStillValid)(storedAppConfig.jwt)) {
38
- if (!refetching_app_config && (!(storedAppConfig === null || storedAppConfig === void 0 ? void 0 : storedAppConfig.fetched_at) || Date.now() - storedAppConfig.fetched_at > 60 * 1000)) {
39
- refetching_app_config = true;
40
- loadApplicationConfiguration({ application_uid }).then((reloadedAppConfig) => {
41
- refetching_app_config = false;
42
- if (!reloadedAppConfig)
43
- return;
44
- (0, zephyr_edge_contract_1.saveAppConfig)(application_uid, reloadedAppConfig);
45
- });
42
+ const promise = addToQueue();
43
+ if (callsQueue.length === 1) {
44
+ const storedAppConfig = yield (0, zephyr_edge_contract_1.getAppConfig)(application_uid);
45
+ if (!storedAppConfig ||
46
+ (storedAppConfig &&
47
+ (!(0, login_1.isTokenStillValid)(storedAppConfig.jwt) || !(storedAppConfig === null || storedAppConfig === void 0 ? void 0 : storedAppConfig.fetched_at) || Date.now() - storedAppConfig.fetched_at > 60 * 1000))) {
48
+ (0, zephyr_edge_contract_1.ze_log)('Loading Application Configuration from API...');
49
+ yield loadApplicationConfiguration({ application_uid })
50
+ .then((loadedAppConfig) => tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ if (!loadedAppConfig) {
52
+ throw new configuration_error_1.ConfigurationError(`ZE20014`, `Failed to load application configuration...`, `critical`);
53
+ }
54
+ (0, zephyr_edge_contract_1.ze_log)('Saving Application Configuration to node-persist...');
55
+ yield (0, zephyr_edge_contract_1.saveAppConfig)(application_uid, loadedAppConfig);
56
+ return loadedAppConfig;
57
+ }))
58
+ .then((result) => handleQueue(result))
59
+ .catch((error) => handleQueue(undefined, error));
60
+ }
61
+ else {
62
+ handleQueue(storedAppConfig);
46
63
  }
47
- return storedAppConfig;
48
64
  }
49
- (0, zephyr_edge_contract_1.ze_log)('Loading Application Configuration from API...');
50
- const loadedAppConfig = yield loadApplicationConfiguration({
51
- application_uid,
52
- });
53
- (0, zephyr_edge_contract_1.ze_log)('Saving Application Configuration to node-persist...');
54
- if (!loadedAppConfig)
55
- throw new configuration_error_1.ConfigurationError(`ZE20014`, `Failed to load application configuration...`, `critical`);
56
- yield (0, zephyr_edge_contract_1.saveAppConfig)(application_uid, loadedAppConfig);
57
- return loadedAppConfig;
65
+ return promise;
58
66
  });
59
67
  }
60
68
  exports.getApplicationConfiguration = getApplicationConfiguration;
69
+ const callsQueue = [];
70
+ function addToQueue() {
71
+ let resolve;
72
+ let reject;
73
+ const callback = (value, error) => {
74
+ if (value) {
75
+ resolve(value);
76
+ }
77
+ reject(error);
78
+ };
79
+ callsQueue.push(callback);
80
+ return new Promise((_resolve, _reject) => {
81
+ resolve = _resolve;
82
+ reject = _reject;
83
+ });
84
+ }
85
+ function handleQueue(result, error) {
86
+ do {
87
+ const callback = callsQueue.shift();
88
+ if (callback) {
89
+ callback(result, error);
90
+ }
91
+ } while (callsQueue.length);
92
+ }
61
93
  //# sourceMappingURL=get-application-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-application-configuration.js","sourceRoot":"","sources":["../../../src/lib/application-configuration/get-application-configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-application-configuration.js","sourceRoot":"","sources":["../../../src/lib/application-configuration/get-application-configuration.ts"],"names":[],"mappings":";;;;AAAA,+DAU8B;AAC9B,yCAAkD;AAClD,8EAA0E;AAM1E,SAAe,4BAA4B;iEAAC,EAC1C,eAAe,GACkB;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,wCAAkB,CAAC,SAAS,EAAE,iCAAiC,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAQ,GAAE,CAAC;QAC/B,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,GAAG,qCAAc,CAAC,kBAAkB,IAAI,eAAe,EAAE,EAAE,IAAA,sCAAe,GAAE,CAAC,CAAC;QAErH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAO,EAAiC,sBAAsB,EAAE;gBACrF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;aAC9C,CAAC,CAAC;YAEH,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnD,IAAA,6BAAM,EAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;gBAExD,uCACK,QAAQ,CAAC,KAAK,KACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,IACtB;YACJ,CAAC;YAED,IAAA,+BAAQ,EAAC,qBAAqB,EAAE,oCAAoC,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,+BAAQ,EAAC,qBAAqB,EAAE,0CAA0C,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;IACH,CAAC;CAAA;AAED;;;;;;GAMG;AACH,SAAsB,2BAA2B;iEAAC,EAAE,eAAe,EAAoC;QACrG,IAAA,6BAAM,EAAC,qDAAqD,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,MAAM,IAAA,mCAAY,EAAC,eAAe,CAAC,CAAC;YAC5D,IACE,CAAC,eAAe;gBAChB,CAAC,eAAe;oBACd,CAAC,CAAC,IAAA,yBAAiB,EAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAA,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EACnI,CAAC;gBACD,IAAA,6BAAM,EAAC,+CAA+C,CAAC,CAAC;gBACxD,MAAM,4BAA4B,CAAC,EAAE,eAAe,EAAE,CAAC;qBACpD,IAAI,CAAC,CAAO,eAAe,EAAE,EAAE;oBAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,IAAI,wCAAkB,CAAC,SAAS,EAAE,6CAA6C,EAAE,UAAU,CAAC,CAAC;oBACrG,CAAC;oBAED,IAAA,6BAAM,EAAC,qDAAqD,CAAC,CAAC;oBAC9D,MAAM,IAAA,oCAAa,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;oBAEtD,OAAO,eAAe,CAAC;gBACzB,CAAC,CAAA,CAAC;qBACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;qBACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AA9BD,kEA8BC;AAED,MAAM,UAAU,GAA6D,EAAE,CAAC;AAChF,SAAS,UAAU;IACjB,IAAI,OAA8C,CAAC;IACnD,IAAI,MAAgC,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,KAA2B,EAAE,KAAa,EAAE,EAAE;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1B,OAAO,IAAI,OAAO,CAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC5D,OAAO,GAAG,QAAQ,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B,EAAE,KAAa;IAC9D,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,QAAQ,UAAU,CAAC,MAAM,EAAE;AAC9B,CAAC"}
@@ -1,14 +1,3 @@
1
- export declare function generateSessionKey(): string;
2
- export interface GetPersonalAccessTokenFromWebsocketOptions {
3
- openBrowser?: boolean;
4
- }
5
- export declare function getPersonalAccessTokenFromWebsocket({ openBrowser }?: GetPersonalAccessTokenFromWebsocketOptions): Promise<string>;
6
- export interface AuthOptions {
7
- state: string;
8
- responseType?: string;
9
- scope?: string;
10
- }
11
- export declare function getAuthenticationURL(options: AuthOptions): Promise<string>;
12
1
  /**
13
2
  * Check if the user is already authenticated. If not, open a browser window to authenticate.
14
3
  * Display a message to the console.
@@ -18,6 +7,7 @@ export declare function checkAuth(): Promise<string>;
18
7
  /**
19
8
  * Decides whether the token is still valid based on its expiration time.
20
9
  * @param token The token to check.
10
+ * @param gap in seconds
21
11
  * @return boolean indicating if the token is still valid.
22
12
  */
23
- export declare function isTokenStillValid(token: string): boolean;
13
+ export declare function isTokenStillValid(token: string, gap?: number): boolean;