zephyr-agent 0.0.57 → 0.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/deployment/aws-upload.strategy.d.ts +3 -0
- package/dist/lib/deployment/aws-upload.strategy.js +61 -0
- package/dist/lib/deployment/aws-upload.strategy.js.map +1 -0
- package/dist/lib/deployment/get-upload-strategy.js +3 -0
- package/dist/lib/deployment/get-upload-strategy.js.map +1 -1
- package/dist/lib/deployment/index.d.ts +1 -0
- package/dist/lib/deployment/index.js +3 -1
- package/dist/lib/deployment/index.js.map +1 -1
- package/dist/lib/errors/codes.d.ts +5 -0
- package/dist/lib/errors/codes.js +5 -0
- package/dist/lib/errors/codes.js.map +1 -1
- package/dist/lib/http/fetch-with-retries.js +31 -14
- package/dist/lib/http/fetch-with-retries.js.map +1 -1
- package/dist/package.json +2 -2
- package/package.json +3 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UploadOptions, ZephyrEngine } from '../../zephyr-engine';
|
|
2
|
+
export declare function awsUploadStrategy(zephyr_engine: ZephyrEngine, { snapshot, getDashData, assets: { assetsMap, missingAssets } }: UploadOptions): Promise<string>;
|
|
3
|
+
export declare function createBucket(application_uid: string): Promise<void>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.awsUploadStrategy = awsUploadStrategy;
|
|
4
|
+
exports.createBucket = createBucket;
|
|
5
|
+
const logging_1 = require("../logging");
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
const get_application_configuration_1 = require("../edge-requests/get-application-configuration");
|
|
8
|
+
const http_request_1 = require("../http/http-request");
|
|
9
|
+
const edge_actions_1 = require("../edge-actions");
|
|
10
|
+
const upload_base_1 = require("./upload-base");
|
|
11
|
+
const EDGE_LAMBDA_MAX_BODY_SIZE = 788403; // floor(1024 * 1024 / 1.33), where 1.33 is size overhead of base64 encoding
|
|
12
|
+
async function awsUploadStrategy(zephyr_engine, { snapshot, getDashData, assets: { assetsMap, missingAssets } }) {
|
|
13
|
+
const snapshotSize = Buffer.byteLength(JSON.stringify(snapshot), 'utf8');
|
|
14
|
+
if (snapshotSize > EDGE_LAMBDA_MAX_BODY_SIZE) {
|
|
15
|
+
const opts = {
|
|
16
|
+
entity_name: 'snapshot',
|
|
17
|
+
entity_size: snapshotSize,
|
|
18
|
+
max_allowed_size: EDGE_LAMBDA_MAX_BODY_SIZE,
|
|
19
|
+
};
|
|
20
|
+
throw new errors_1.ZephyrError(errors_1.ZeErrors.ERR_MAX_PAYLOAD_SIZE_EXCEEDED, opts);
|
|
21
|
+
}
|
|
22
|
+
for (const missingAsset of missingAssets) {
|
|
23
|
+
if (missingAsset.size > EDGE_LAMBDA_MAX_BODY_SIZE) {
|
|
24
|
+
const opts = {
|
|
25
|
+
entity_name: missingAsset.path,
|
|
26
|
+
entity_size: missingAsset.size,
|
|
27
|
+
max_allowed_size: EDGE_LAMBDA_MAX_BODY_SIZE,
|
|
28
|
+
};
|
|
29
|
+
throw new errors_1.ZephyrError(errors_1.ZeErrors.ERR_MAX_PAYLOAD_SIZE_EXCEEDED, opts);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
await createBucket(zephyr_engine.application_uid);
|
|
33
|
+
await (0, upload_base_1.uploadAssets)(zephyr_engine, { assetsMap, missingAssets });
|
|
34
|
+
const versionUrl = await (0, edge_actions_1.zeUploadSnapshot)(zephyr_engine, { snapshot });
|
|
35
|
+
// Waits for the reply to check upload problems, but the reply is a simply
|
|
36
|
+
// 200 OK sent before any processing
|
|
37
|
+
await (0, upload_base_1.uploadBuildStatsAndEnableEnvs)(zephyr_engine, { getDashData, versionUrl });
|
|
38
|
+
return versionUrl;
|
|
39
|
+
}
|
|
40
|
+
async function createBucket(application_uid) {
|
|
41
|
+
const { EDGE_URL, jwt } = await (0, get_application_configuration_1.getApplicationConfiguration)({
|
|
42
|
+
application_uid,
|
|
43
|
+
});
|
|
44
|
+
const options = {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: {
|
|
47
|
+
can_write_jwt: jwt,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
const url = new URL('/upload', EDGE_URL);
|
|
51
|
+
url.searchParams.append('type', 'bucket');
|
|
52
|
+
const [ok, cause] = await (0, http_request_1.makeRequest)(url, options);
|
|
53
|
+
if (!ok) {
|
|
54
|
+
throw new errors_1.ZephyrError(errors_1.ZeErrors.ERR_FAILED_UPLOAD, {
|
|
55
|
+
type: 'bucket',
|
|
56
|
+
cause,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
logging_1.ze_log.snapshot('Done: bucket initialized...');
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=aws-upload.strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-upload.strategy.js","sourceRoot":"","sources":["../../../src/lib/deployment/aws-upload.strategy.ts"],"names":[],"mappings":";;AAUA,8CAkCC;AAED,oCAyBC;AAvED,wCAAoC;AAEpC,sCAAkD;AAClD,kGAA6F;AAC7F,uDAAmD;AACnD,kDAAmD;AACnD,+CAA4E;AAE5E,MAAM,yBAAyB,GAAG,MAAM,CAAC,CAAC,4EAA4E;AAE/G,KAAK,UAAU,iBAAiB,CACrC,aAA2B,EAC3B,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAiB;IAE9E,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,IAAI,YAAY,GAAG,yBAAyB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,YAAY;YACzB,gBAAgB,EAAE,yBAAyB;SAC5C,CAAC;QACF,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,IAAI,GAAG,yBAAyB,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,YAAY,CAAC,IAAI;gBAC9B,WAAW,EAAE,YAAY,CAAC,IAAI;gBAC9B,gBAAgB,EAAE,yBAAyB;aAC5C,CAAC;YACF,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,IAAA,0BAAY,EAAC,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAgB,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEvE,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,IAAA,2CAA6B,EAAC,aAAa,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAEhF,OAAO,UAAU,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,eAAuB;IACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,2DAA2B,EAAC;QAC1D,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,GAAG;SACnB;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,0BAAW,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,iBAAiB,EAAE;YAChD,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,gBAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.getUploadStrategy = getUploadStrategy;
|
|
|
4
4
|
const errors_1 = require("../errors");
|
|
5
5
|
const upload_provider_options_1 = require("../node-persist/upload-provider-options");
|
|
6
6
|
const common_upload_strategy_1 = require("./common-upload.strategy");
|
|
7
|
+
const aws_upload_strategy_1 = require("./aws-upload.strategy");
|
|
7
8
|
function getUploadStrategy(platform) {
|
|
8
9
|
switch (platform) {
|
|
9
10
|
case upload_provider_options_1.UploadProviderType.CLOUDFLARE:
|
|
@@ -11,6 +12,8 @@ function getUploadStrategy(platform) {
|
|
|
11
12
|
case upload_provider_options_1.UploadProviderType.FASTLY:
|
|
12
13
|
case upload_provider_options_1.UploadProviderType.AKAMAI:
|
|
13
14
|
return common_upload_strategy_1.commonUploadStrategy;
|
|
15
|
+
case upload_provider_options_1.UploadProviderType.AWS:
|
|
16
|
+
return aws_upload_strategy_1.awsUploadStrategy;
|
|
14
17
|
default:
|
|
15
18
|
throw new errors_1.ZephyrError(errors_1.ZeErrors.ERR_UNKNOWN, {
|
|
16
19
|
message: 'Unsupported upload provider.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-upload-strategy.js","sourceRoot":"","sources":["../../../src/lib/deployment/get-upload-strategy.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"get-upload-strategy.js","sourceRoot":"","sources":["../../../src/lib/deployment/get-upload-strategy.ts"],"names":[],"mappings":";;AAWA,8CAiBC;AA3BD,sCAAkD;AAClD,qFAA6E;AAC7E,qEAAgE;AAChE,+DAA0D;AAO1D,SAAgB,iBAAiB,CAAC,QAA4B;IAC5D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,4CAAkB,CAAC,UAAU,CAAC;QACnC,KAAK,4CAAkB,CAAC,OAAO,CAAC;QAChC,KAAK,4CAAkB,CAAC,MAAM,CAAC;QAC/B,KAAK,4CAAkB,CAAC,MAAM;YAC5B,OAAO,6CAAoB,CAAC;QAC9B,KAAK,4CAAkB,CAAC,GAAG;YACzB,OAAO,uCAAiB,CAAC;QAC3B;YACE,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,WAAW,EAAE;gBAC1C,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE;oBACJ,QAAQ;iBACT;aACF,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUploadStrategy = exports.commonUploadStrategy = void 0;
|
|
3
|
+
exports.getUploadStrategy = exports.commonUploadStrategy = exports.awsUploadStrategy = void 0;
|
|
4
|
+
var aws_upload_strategy_1 = require("./aws-upload.strategy");
|
|
5
|
+
Object.defineProperty(exports, "awsUploadStrategy", { enumerable: true, get: function () { return aws_upload_strategy_1.awsUploadStrategy; } });
|
|
4
6
|
var common_upload_strategy_1 = require("./common-upload.strategy");
|
|
5
7
|
Object.defineProperty(exports, "commonUploadStrategy", { enumerable: true, get: function () { return common_upload_strategy_1.commonUploadStrategy; } });
|
|
6
8
|
var get_upload_strategy_1 = require("./get-upload-strategy");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/deployment/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/deployment/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA"}
|
|
@@ -300,6 +300,11 @@ export declare const ZeErrors: {
|
|
|
300
300
|
readonly message: "Missing platform target (ios, android or others) from compiler options. Please open an issue on https://github.com/ZephyrCloudIO/zephyr-packages/issues";
|
|
301
301
|
readonly kind: "config";
|
|
302
302
|
};
|
|
303
|
+
readonly ERR_MAX_PAYLOAD_SIZE_EXCEEDED: {
|
|
304
|
+
readonly id: "037";
|
|
305
|
+
readonly message: "The \"{{entity_name}}\" is too large. It is {{entity_size}} bytes, but the maximum allowed size is {{max_allowed_size}} bytes.";
|
|
306
|
+
readonly kind: "deploy";
|
|
307
|
+
};
|
|
303
308
|
};
|
|
304
309
|
/** Error object for Zephyr errors. */
|
|
305
310
|
export type ZeErrors = typeof ZeErrors;
|
package/dist/lib/errors/codes.js
CHANGED
|
@@ -450,6 +450,11 @@ Were the required packages in Module federation plugin installed and included in
|
|
|
450
450
|
message: 'Missing platform target (ios, android or others) from compiler options. Please open an issue on https://github.com/ZephyrCloudIO/zephyr-packages/issues',
|
|
451
451
|
kind: 'config',
|
|
452
452
|
},
|
|
453
|
+
ERR_MAX_PAYLOAD_SIZE_EXCEEDED: {
|
|
454
|
+
id: '037',
|
|
455
|
+
message: `The "{{entity_name}}" is too large. It is {{entity_size}} bytes, but the maximum allowed size is {{max_allowed_size}} bytes.`,
|
|
456
|
+
kind: 'deploy',
|
|
457
|
+
},
|
|
453
458
|
};
|
|
454
459
|
/** Ensures `a` and `b` are the same error type. */
|
|
455
460
|
function isZeErrorEqual(a, b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../../src/lib/errors/codes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../../src/lib/errors/codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,28 +2,45 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchWithRetries = fetchWithRetries;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const axios_1 = require("axios");
|
|
7
|
-
const axios_2 = tslib_1.__importDefault(require("axios"));
|
|
5
|
+
const axios_1 = tslib_1.__importStar(require("axios"));
|
|
8
6
|
const axios_retry_1 = tslib_1.__importDefault(require("axios-retry"));
|
|
7
|
+
const is_ci_1 = tslib_1.__importDefault(require("is-ci"));
|
|
8
|
+
const errors_1 = require("../errors");
|
|
9
|
+
const IPV4_FAMILY = 4;
|
|
10
|
+
const RETRY_ERROR_CODES = [
|
|
11
|
+
'ETIMEDOUT',
|
|
12
|
+
'ENETUNREACH',
|
|
13
|
+
'ECONNRESET',
|
|
14
|
+
'ECONNREFUSED',
|
|
15
|
+
'EPIPE',
|
|
16
|
+
];
|
|
17
|
+
function shouldRetry(error) {
|
|
18
|
+
// Retry on network errors (no response received)
|
|
19
|
+
if (!error.response) {
|
|
20
|
+
const code = error.code;
|
|
21
|
+
const message = error.message || '';
|
|
22
|
+
return ((code && RETRY_ERROR_CODES.includes(code)) ||
|
|
23
|
+
message.includes('network') ||
|
|
24
|
+
message.includes('timeout'));
|
|
25
|
+
}
|
|
26
|
+
// Retry on server errors (5xx)
|
|
27
|
+
return error.response.status >= 500;
|
|
28
|
+
}
|
|
9
29
|
async function fetchWithRetries(url, options = {}, retries = 3) {
|
|
10
30
|
var _a, _b, _c, _d, _e;
|
|
11
31
|
try {
|
|
12
|
-
// Create a custom axios instance for this request
|
|
13
|
-
const axiosInstance =
|
|
32
|
+
// Create a custom axios instance for this request with CI-friendly settings
|
|
33
|
+
const axiosInstance = axios_1.default.create({
|
|
34
|
+
// Force IPv4 in CI environments to avoid IPv6 connectivity issues
|
|
35
|
+
// References: https://github.com/actions/runner/issues/3138
|
|
36
|
+
// https://x.com/matteocollina/status/1640384245834055680
|
|
37
|
+
family: is_ci_1.default ? IPV4_FAMILY : undefined,
|
|
38
|
+
});
|
|
14
39
|
// Configure axios-retry
|
|
15
40
|
(0, axios_retry_1.default)(axiosInstance, {
|
|
16
41
|
retries,
|
|
17
42
|
retryDelay: axios_retry_1.default.exponentialDelay,
|
|
18
|
-
retryCondition:
|
|
19
|
-
// Retry on network errors
|
|
20
|
-
if (!error.response) {
|
|
21
|
-
const networkError = error.code || error.message || '';
|
|
22
|
-
return networkError === 'EPIPE' || networkError.includes('network');
|
|
23
|
-
}
|
|
24
|
-
// Retry on server errors (5xx)
|
|
25
|
-
return error.response.status >= 500;
|
|
26
|
-
},
|
|
43
|
+
retryCondition: shouldRetry,
|
|
27
44
|
});
|
|
28
45
|
// Convert fetch options to axios options
|
|
29
46
|
const axiosConfig = Object.assign({ method: (_a = options.method) !== null && _a !== void 0 ? _a : 'GET', data: options.body }, (options.signal ? { signal: options.signal } : {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-with-retries.js","sourceRoot":"","sources":["../../../src/lib/http/fetch-with-retries.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetch-with-retries.js","sourceRoot":"","sources":["../../../src/lib/http/fetch-with-retries.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zephyr-agent",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.59",
|
|
4
4
|
"description": "Zephyr plugin agent",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test": "nx test zephyr-agent"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"axios": "^1.
|
|
36
|
+
"axios": "^1.12.0",
|
|
37
37
|
"axios-retry": "^4.5.0",
|
|
38
38
|
"cloudflare": "^3.4.0",
|
|
39
39
|
"debug": "^4.3.4",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zephyr-agent",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.59",
|
|
4
4
|
"description": "Zephyr plugin agent",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"main": "dist/index.js",
|
|
29
29
|
"types": "dist/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"axios": "^1.
|
|
31
|
+
"axios": "^1.12.0",
|
|
32
32
|
"axios-retry": "^4.5.0",
|
|
33
33
|
"cloudflare": "^3.4.0",
|
|
34
34
|
"debug": "^4.3.4",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"socket.io-client": "^4.7.5",
|
|
42
42
|
"tslib": "^2.8.1",
|
|
43
43
|
"uuid": "^8.3.2",
|
|
44
|
-
"zephyr-edge-contract": "0.0.
|
|
44
|
+
"zephyr-edge-contract": "0.0.59"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@jest/globals": "^29.7.0",
|